1.2.6
authorDmitry Baranovskiy <dbaranovskiy@Fresh-Air.sydney.atlassian.com>
Thu, 10 Dec 2009 05:00:38 +0000 (16:00 +1100)
committerDmitry Baranovskiy <dbaranovskiy@Fresh-Air.sydney.atlassian.com>
Thu, 10 Dec 2009 05:00:38 +0000 (16:00 +1100)
• Improved events handling
• Fix rounded rect in IE
• Added xmlns & version (bug 96)

raphael-min.js
raphael.js

index 16a511d..2104ad4 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * Raphael 1.2.5 - JavaScript Vector Library
+ * Raphael 1.2.6 - JavaScript Vector Library
  *
  * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
  * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
  */
-window.Raphael=(function(){var a=/[, ]+/,D=document,aj=window,k={was:"Raphael" in aj,is:aj.Raphael},af=function(){if(af.is(arguments[0],"array")){var e=arguments[0],E=s[aJ](af,e.splice(0,3+af.is(e[0],ad))),aN=E.set();for(var S=0,aO=e[l];S<aO;S++){var R=e[S]||{};({circle:1,rect:1,path:1,ellipse:1,text:1,image:1})[J](R.type)&&aN[d](E[R.type]().attr(R));}return aN;}return s[aJ](af,arguments);},aA="appendChild",aJ="apply",aG="concat",ai="",y=["click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup"],J="hasOwnProperty",ab=/^\[object\s+|\]$/gi,an="join",l="length",aL="prototype",aM=String[aL].toLowerCase,f=Math.max,ax=Math.min,ad="number",ao="toString",al=Object[aL][ao],aE={},aB=Math.pow,d="push",aH=/^(?=[\da-f]$)/,c=/^url\(['"]?([^\)]+)['"]?\)$/i,H=Math.round,ae=" ",r="setAttribute",u="split",N=parseFloat,z=parseInt,aC=String[aL].toUpperCase,h={"clip-rect":"0 0 10e9 10e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},Q={"clip-rect":"csv",cx:ad,cy:ad,fill:"colour","fill-opacity":ad,"font-size":ad,height:ad,opacity:ad,path:"path",r:ad,rotation:"csv",rx:ad,ry:ad,scale:"csv",stroke:"colour","stroke-opacity":ad,"stroke-width":ad,translation:"csv",width:ad,x:ad,y:ad},aD="replace";af.version="1.2.5";af.type=(aj.SVGAngle||D.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML");af.svg=!(af.vml=af.type=="VML");af._id=0;af._oid=0;af.fn={};af.is=function(i,e){e=aM.call(e);return((e=="object"||e=="undefined")&&typeof i==e)||(i==null&&e=="null")||aM.call(al.call(i)[aD](ab,ai))==e;};af.setWindow=function(e){aj=e;D=aj.document;};var ar=function(E){if(af.vml){var e=/^\s+|\s+$/g;ar=aa(function(aN){var aO;aN=(aN+ai).replace(e,ai);try{var i=new ActiveXObject("htmlfile");i.write("<body>");i.close();aO=i.body;}catch(aQ){aO=createPopup().document.body;}var S=aO.createTextRange();try{aO.style.color=aN;var aP=S.queryCommandValue("ForeColor");aP=((aP&255)<<16)|(aP&65280)|((aP&16711680)>>>16);return"#"+("000000"+aP[ao](16)).slice(-6);}catch(aQ){return"none";}});}else{var R=D.createElement("i");R.className="Rapha\xebl Colour Picker";R.style.cssText="display:none";D.body[aA](R);ar=aa(function(i){R.style.color=i;return D.defaultView.getComputedStyle(R,ai).getPropertyValue("color");});}return ar(E);};af.hsb2rgb=aa(function(aR,aP,aV){if(af.is(aR,"object")&&"h" in aR&&"s" in aR&&"b" in aR){aV=aR.b;aP=aR.s;aR=aR.h;}var S,aN,aW;if(aV==0){return{r:0,g:0,b:0,hex:"#000"};}if(aR>1||aP>1||aV>1){aR/=255;aP/=255;aV/=255;}var aO=~~(aR*6),aS=(aR*6)-aO,R=aV*(1-aP),E=aV*(1-(aP*aS)),aX=aV*(1-(aP*(1-aS)));S=[aV,E,R,R,aX,aV,aV][aO];aN=[aX,aV,aV,E,R,R,aX][aO];aW=[R,R,aX,aV,aV,E,R][aO];S*=255;aN*=255;aW*=255;var aT={r:S,g:aN,b:aW},e=(~~S)[ao](16),aQ=(~~aN)[ao](16),aU=(~~aW)[ao](16);e=e[aD](aH,"0");aQ=aQ[aD](aH,"0");aU=aU[aD](aH,"0");aT.hex="#"+e+aQ+aU;return aT;},af);af.rgb2hsb=aa(function(e,i,aP){if(af.is(e,"object")&&"r" in e&&"g" in e&&"b" in e){aP=e.b;i=e.g;e=e.r;}if(af.is(e,"string")){var aR=af.getRGB(e);e=aR.r;i=aR.g;aP=aR.b;}if(e>1||i>1||aP>1){e/=255;i/=255;aP/=255;}var aO=f(e,i,aP),E=ax(e,i,aP),S,R,aN=aO;if(E==aO){return{h:0,s:0,b:aO};}else{var aQ=(aO-E);R=aQ/aO;if(e==aO){S=(i-aP)/aQ;}else{if(i==aO){S=2+((aP-e)/aQ);}else{S=4+((e-i)/aQ);}}S/=6;S<0&&S++;S>1&&S--;}return{h:S,s:R,b:aN};},af);var at=/,?([achlmqrstvxz]),?/gi;af._path2string=function(){return this.join(",")[aD](at,"$1");};function aa(R,i,e){function E(){var S=Array[aL].slice.call(arguments,0),aO=S[an]("\u25ba"),aN=E.cache=E.cache||{},aP=E.count=E.count||[];if(aN[J](aO)){return e?e(aN[aO]):aN[aO];}aP[l]>=1000&&delete aN[aP.shift()];aP[d](aO);aN[aO]=R[aJ](i,S);return e?e(aN[aO]):aN[aO];}return E;}af.getRGB=aa(function(e){if(!e||!!((e+ai).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}e=e+ai;if(e=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!({hs:1,rg:1})[J](e.substring(0,2))&&(e=ar(e));var aN,E,R,aQ,aO=e.match(/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i);if(aO){if(aO[2]){aQ=z(aO[2].substring(5),16);R=z(aO[2].substring(3,5),16);E=z(aO[2].substring(1,3),16);}if(aO[3]){aQ=z(aO[3].substring(3)+aO[3].substring(3),16);R=z(aO[3].substring(2,3)+aO[3].substring(2,3),16);E=z(aO[3].substring(1,2)+aO[3].substring(1,2),16);}if(aO[4]){aO=aO[4][u](/\s*,\s*/);E=N(aO[0]);R=N(aO[1]);aQ=N(aO[2]);}if(aO[5]){aO=aO[5][u](/\s*,\s*/);E=N(aO[0])*2.55;R=N(aO[1])*2.55;aQ=N(aO[2])*2.55;}if(aO[6]){aO=aO[6][u](/\s*,\s*/);E=N(aO[0]);R=N(aO[1]);aQ=N(aO[2]);return af.hsb2rgb(E,R,aQ);}if(aO[7]){aO=aO[7][u](/\s*,\s*/);E=N(aO[0])*2.55;R=N(aO[1])*2.55;aQ=N(aO[2])*2.55;return af.hsb2rgb(E,R,aQ);}aO={r:E,g:R,b:aQ};var i=(~~E)[ao](16),S=(~~R)[ao](16),aP=(~~aQ)[ao](16);i=i[aD](aH,"0");S=S[aD](aH,"0");aP=aP[aD](aH,"0");aO.hex="#"+i+S+aP;return aO;}return{r:-1,g:-1,b:-1,hex:"none",error:1};},af);af.getColor=function(i){var E=this.getColor.start=this.getColor.start||{h:0,s:1,b:i||0.75},e=this.hsb2rgb(E.h,E.s,E.b);E.h+=0.075;if(E.h>1){E.h=0;E.s-=0.2;E.s<=0&&(this.getColor.start={h:0,s:1,b:E.b});}return e.hex;};af.getColor.reset=function(){delete this.start;};af.parsePathString=aa(function(e){if(!e){return null;}var E={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=[];if(af.is(e,"array")&&af.is(e[0],"array")){i=ak(e);}if(!i[l]){(e+ai)[aD](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(S,R,aP){var aO=[],aN=aM.call(R);aP[aD](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aR,aQ){aQ&&aO[d](+aQ);});while(aO[l]>=E[aN]){i[d]([R][aG](aO.splice(0,E[aN])));if(!E[aN]){break;}}});}i[ao]=af._path2string;return i;});var L=aa(function(aT){if(!aT){return{x:0,y:0,width:0,height:0};}aT=A(aT);var aQ=0,aP=0,S=[],E=[],R;for(var aN=0,aS=aT[l];aN<aS;aN++){R=aT[aN];if(R[0]=="M"){aQ=R[1];aP=R[2];S[d](aQ);E[d](aP);}else{var aO=ap(aQ,aP,R[1],R[2],R[3],R[4],R[5],R[6]);S=S[aG](aO.min.x,aO.max.x);E=E[aG](aO.min.y,aO.max.y);aQ=R[5];aP=R[6];}}var e=ax[aJ](0,S),aR=ax[aJ](0,E);return{x:e,y:aR,width:f[aJ](0,S)-e,height:f[aJ](0,E)-aR};}),ak=function(aO){var R=[];if(!af.is(aO,"array")||!af.is(aO&&aO[0],"array")){aO=af.parsePathString(aO);}for(var E=0,S=aO[l];E<S;E++){R[E]=[];for(var e=0,aN=aO[E][l];e<aN;e++){R[E][e]=aO[E][e];}}R[ao]=af._path2string;return R;},V=aa(function(S){if(!af.is(S,"array")||!af.is(S&&S[0],"array")){S=af.parsePathString(S);}var aS=[],aU=0,aT=0,aX=0,aW=0,R=0;if(S[0][0]=="M"){aU=S[0][1];aT=S[0][2];aX=aU;aW=aT;R++;aS[d](["M",aU,aT]);}for(var aP=R,aY=S[l];aP<aY;aP++){var e=aS[aP]=[],aV=S[aP];if(aV[0]!=aM.call(aV[0])){e[0]=aM.call(aV[0]);switch(e[0]){case"a":e[1]=aV[1];e[2]=aV[2];e[3]=aV[3];e[4]=aV[4];e[5]=aV[5];e[6]=+(aV[6]-aU).toFixed(3);e[7]=+(aV[7]-aT).toFixed(3);break;case"v":e[1]=+(aV[1]-aT).toFixed(3);break;case"m":aX=aV[1];aW=aV[2];default:for(var aO=1,aQ=aV[l];aO<aQ;aO++){e[aO]=+(aV[aO]-((aO%2)?aU:aT)).toFixed(3);}}}else{e=aS[aP]=[];if(aV[0]=="m"){aX=aV[1]+aU;aW=aV[2]+aT;}for(var aN=0,E=aV[l];aN<E;aN++){aS[aP][aN]=aV[aN];}}var aR=aS[aP][l];switch(aS[aP][0]){case"z":aU=aX;aT=aW;break;case"h":aU+=+aS[aP][aR-1];break;case"v":aT+=+aS[aP][aR-1];break;default:aU+=+aS[aP][aR-2];aT+=+aS[aP][aR-1];}}aS[ao]=af._path2string;return aS;},0,ak),p=aa(function(S){if(!af.is(S,"array")||!af.is(S&&S[0],"array")){S=af.parsePathString(S);}var aR=[],aT=0,aS=0,aW=0,aV=0,R=0;if(S[0][0]=="M"){aT=+S[0][1];aS=+S[0][2];aW=aT;aV=aS;R++;aR[0]=["M",aT,aS];}for(var aP=R,aX=S[l];aP<aX;aP++){var e=aR[aP]=[],aU=S[aP];if(aU[0]!=aC.call(aU[0])){e[0]=aC.call(aU[0]);switch(e[0]){case"A":e[1]=aU[1];e[2]=aU[2];e[3]=aU[3];e[4]=aU[4];e[5]=aU[5];e[6]=+(aU[6]+aT);e[7]=+(aU[7]+aS);break;case"V":e[1]=+aU[1]+aS;break;case"H":e[1]=+aU[1]+aT;break;case"M":aW=+aU[1]+aT;aV=+aU[2]+aS;default:for(var aO=1,aQ=aU[l];aO<aQ;aO++){e[aO]=+aU[aO]+((aO%2)?aT:aS);}}}else{for(var aN=0,E=aU[l];aN<E;aN++){aR[aP][aN]=aU[aN];}}switch(e[0]){case"Z":aT=aW;aS=aV;break;case"H":aT=e[1];break;case"V":aS=e[1];break;default:aT=aR[aP][aR[aP][l]-2];aS=aR[aP][aR[aP][l]-1];}}aR[ao]=af._path2string;return aR;},null,ak),aK=function(i,R,e,E){return[i,R,e,E,e,E];},az=function(i,R,aO,S,e,E){var aN=1/3,aP=2/3;return[aN*i+aP*aO,aN*R+aP*S,aN*e+aP*aO,aN*E+aP*S,e,E];},C=function(aX,br,a6,a4,aY,aS,aN,aW,bq,aZ){var S=Math.PI,a3=S*120/180,e=S/180*(+aY||0),ba=[],a7,bn=aa(function(bs,bv,i){var bu=bs*Math.cos(i)-bv*Math.sin(i),bt=bs*Math.sin(i)+bv*Math.cos(i);return{x:bu,y:bt};});if(!aZ){a7=bn(aX,br,-e);aX=a7.x;br=a7.y;a7=bn(aW,bq,-e);aW=a7.x;bq=a7.y;var E=Math.cos(S/180*aY),aU=Math.sin(S/180*aY),bc=(aX-aW)/2,bb=(br-bq)/2;a6=f(a6,Math.abs(bc));a4=f(a4,Math.abs(bb));var R=a6*a6,bf=a4*a4,bh=(aS==aN?-1:1)*Math.sqrt(Math.abs((R*bf-R*bb*bb-bf*bc*bc)/(R*bb*bb+bf*bc*bc))),a1=bh*a6*bb/a4+(aX+aW)/2,a0=bh*-a4*bc/a6+(br+bq)/2,aR=Math.asin((br-a0)/a4),aQ=Math.asin((bq-a0)/a4);aR=aX<a1?S-aR:aR;aQ=aW<a1?S-aQ:aQ;aR<0&&(aR=S*2+aR);aQ<0&&(aQ=S*2+aQ);if(aN&&aR>aQ){aR=aR-S*2;}if(!aN&&aQ>aR){aQ=aQ-S*2;}}else{aR=aZ[0];aQ=aZ[1];a1=aZ[2];a0=aZ[3];}var aV=aQ-aR;if(Math.abs(aV)>a3){var a2=aQ,a5=aW,aT=bq;aQ=aR+a3*(aN&&aQ>aR?1:-1);aW=a1+a6*Math.cos(aQ);bq=a0+a4*Math.sin(aQ);ba=C(aW,bq,a6,a4,aY,0,aN,a5,aT,[aQ,a2,a1,a0]);}aV=aQ-aR;var aP=Math.cos(aR),bp=Math.sin(aR),aO=Math.cos(aQ),bo=Math.sin(aQ),bd=Math.tan(aV/4),bg=4/3*a6*bd,be=4/3*a4*bd,bm=[aX,br],bl=[aX+bg*bp,br-be*aP],bk=[aW+bg*bo,bq-be*aO],bi=[aW,bq];bl[0]=2*bm[0]-bl[0];bl[1]=2*bm[1]-bl[1];if(aZ){return[bl,bk,bi][aG](ba);}else{ba=[bl,bk,bi][aG](ba)[an](",")[u](",");var a8=[];for(var bj=0,a9=ba[l];bj<a9;bj++){a8[bj]=bj%2?bn(ba[bj-1],ba[bj],e).y:bn(ba[bj],ba[bj+1],e).x;}return a8;}},F=aa(function(i,e,R,E,aQ,aP,aO,aN,aR){var S=1-aR;return{x:aB(S,3)*i+aB(S,2)*3*aR*R+S*3*aR*aR*aQ+aB(aR,3)*aO,y:aB(S,3)*e+aB(S,2)*3*aR*E+S*3*aR*aR*aP+aB(aR,3)*aN};}),aq=aa(function(i,e,a1,aZ,aN,S,aP,aO,aV){var aT=1-aV,aS=aB(aT,3)*i+aB(aT,2)*3*aV*a1+aT*3*aV*aV*aN+aB(aV,3)*aP,aQ=aB(aT,3)*e+aB(aT,2)*3*aV*aZ+aT*3*aV*aV*S+aB(aV,3)*aO,aX=i+2*aV*(a1-i)+aV*aV*(aN-2*a1+i),aW=e+2*aV*(aZ-e)+aV*aV*(S-2*aZ+e),a0=a1+2*aV*(aN-a1)+aV*aV*(aP-2*aN+a1),aY=aZ+2*aV*(S-aZ)+aV*aV*(aO-2*S+aZ),aU=(1-aV)*i+aV*a1,aR=(1-aV)*e+aV*aZ,R=(1-aV)*aN+aV*aP,E=(1-aV)*S+aV*aO;return{x:aS,y:aQ,m:{x:aX,y:aW},n:{x:a0,y:aY},start:{x:aU,y:aR},end:{x:R,y:E}};}),ap=aa(function(E,e,S,R,aX,aW,aT,aQ){var aV=(aX-2*S+E)-(aT-2*aX+S),aS=2*(S-E)-2*(aX-S),aP=E-S,aO=(-aS+Math.sqrt(aS*aS-4*aV*aP))/2/aV,aN=(-aS-Math.sqrt(aS*aS-4*aV*aP))/2/aV,aR=[e,aQ],aU=[E,aT],i;!isFinite(aO)&&(aO=0.5);!isFinite(aN)&&(aN=0.5);if(aO>0&&aO<1){i=F(E,e,S,R,aX,aW,aT,aQ,aO);aU[d](i.x);aR[d](i.y);}if(aN>0&&aN<1){i=F(E,e,S,R,aX,aW,aT,aQ,aN);aU[d](i.x);aR[d](i.y);}aV=(aW-2*R+e)-(aQ-2*aW+R);aS=2*(R-e)-2*(aW-R);aP=e-R;aO=(-aS+Math.sqrt(aS*aS-4*aV*aP))/2/aV;aN=(-aS-Math.sqrt(aS*aS-4*aV*aP))/2/aV;!isFinite(aO)&&(aO=0.5);!isFinite(aN)&&(aN=0.5);if(aO>0&&aO<1){i=F(E,e,S,R,aX,aW,aT,aQ,aO);aU[d](i.x);aR[d](i.y);}if(aN>0&&aN<1){i=F(E,e,S,R,aX,aW,aT,aQ,aN);aU[d](i.x);aR[d](i.y);}return{min:{x:ax[aJ](0,aU),y:ax[aJ](0,aR)},max:{x:f[aJ](0,aU),y:f[aJ](0,aR)}};}),A=aa(function(aX,aS){var S=p(aX),aT=aS&&p(aS),aU={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},aO=function(aY,aZ){var i,a0;if(!aY){return["C",aZ.x,aZ.y,aZ.x,aZ.y,aZ.x,aZ.y];}!(aY[0] in {T:1,Q:1})&&(aZ.qx=aZ.qy=null);switch(aY[0]){case"M":aZ.X=aY[1];aZ.Y=aY[2];break;case"A":aY=["C"][aG](C[aJ](0,[aZ.x,aZ.y][aG](aY.slice(1))));break;case"S":i=aZ.x+(aZ.x-(aZ.bx||aZ.x));a0=aZ.y+(aZ.y-(aZ.by||aZ.y));aY=["C",i,a0][aG](aY.slice(1));break;case"T":aZ.qx=aZ.x+(aZ.x-(aZ.qx||aZ.x));aZ.qy=aZ.y+(aZ.y-(aZ.qy||aZ.y));aY=["C"][aG](az(aZ.x,aZ.y,aZ.qx,aZ.qy,aY[1],aY[2]));break;case"Q":aZ.qx=aY[1];aZ.qy=aY[2];aY=["C"][aG](az(aZ.x,aZ.y,aY[1],aY[2],aY[3],aY[4]));break;case"L":aY=["C"][aG](aK(aZ.x,aZ.y,aY[1],aY[2]));break;case"H":aY=["C"][aG](aK(aZ.x,aZ.y,aY[1],aZ.y));break;case"V":aY=["C"][aG](aK(aZ.x,aZ.y,aZ.x,aY[1]));break;case"Z":aY=["C"][aG](aK(aZ.x,aZ.y,aZ.X,aZ.Y));break;}return aY;},E=function(aY,aZ){if(aY[aZ][l]>7){aY[aZ].shift();var a0=aY[aZ];while(a0[l]){aY.splice(aZ++,0,["C"][aG](a0.splice(0,6)));}aY.splice(aZ,1);aV=f(S[l],aT&&aT[l]||0);}},R=function(a4,a3,aZ,aY,a0){if(a4&&a3&&a4[a0][0]=="M"&&a3[a0][0]!="M"){a3.splice(a0,0,["M",aY.x,aY.y]);aZ.bx=0;aZ.by=0;aZ.x=a4[a0][1];aZ.y=a4[a0][2];aV=f(S[l],aT&&aT[l]||0);}};for(var aQ=0,aV=f(S[l],aT&&aT[l]||0);aQ<aV;aQ++){S[aQ]=aO(S[aQ],aU);E(S,aQ);aT&&(aT[aQ]=aO(aT[aQ],e));aT&&E(aT,aQ);R(S,aT,aU,e,aQ);R(aT,S,e,aU,aQ);var aP=S[aQ],aW=aT&&aT[aQ],aN=aP[l],aR=aT&&aW[l];aU.x=aP[aN-2];aU.y=aP[aN-1];aU.bx=N(aP[aN-4])||aU.x;aU.by=N(aP[aN-3])||aU.y;e.bx=aT&&(N(aW[aR-4])||e.x);e.by=aT&&(N(aW[aR-3])||e.y);e.x=aT&&aW[aR-2];e.y=aT&&aW[aR-1];}return aT?[S,aT]:S;},null,ak),n=aa(function(aR){var aQ=[];for(var aN=0,aS=aR[l];aN<aS;aN++){var e={},aP=aR[aN].match(/^([^:]*):?([\d\.]*)/);e.color=af.getRGB(aP[1]);if(e.color.error){return null;}e.color=e.color.hex;aP[2]&&(e.offset=aP[2]+"%");aQ[d](e);}for(var aN=1,aS=aQ[l]-1;aN<aS;aN++){if(!aQ[aN].offset){var E=N(aQ[aN-1].offset||0),R=0;for(var S=aN+1;S<aS;S++){if(aQ[S].offset){R=aQ[S].offset;break;}}if(!R){R=100;S=aS;}R=N(R);var aO=(R-E)/(S-aN+1);for(;aN<S;aN++){E+=aO;aQ[aN].offset=E+"%";}}}return aQ;}),ag=function(){var E,i,S,R,e;if(af.is(arguments[0],"string")||af.is(arguments[0],"object")){if(af.is(arguments[0],"string")){E=D.getElementById(arguments[0]);}else{E=arguments[0];}if(E.tagName){if(arguments[1]==null){return{container:E,width:E.style.pixelWidth||E.offsetWidth,height:E.style.pixelHeight||E.offsetHeight};}else{return{container:E,width:arguments[1],height:arguments[2]};}}}else{if(af.is(arguments[0],ad)&&arguments[l]>3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},av=function(e,E){var i=this;for(var R in E){if(E[J](R)&&!(R in e)){switch(typeof E[R]){case"function":(function(S){e[R]=e===i?S:function(){return S[aJ](i,arguments);};})(E[R]);break;case"object":e[R]=e[R]||{};av.call(this,e[R],E[R]);break;default:e[R]=E[R];break;}}}},ac=function(e,i){e==i.top&&(i.top=e.prev);e==i.bottom&&(i.bottom=e.next);e.next&&(e.next.prev=e.prev);e.prev&&(e.prev.next=e.next);},P=function(e,i){if(i.top===e){return;}ac(e,i);e.next=null;e.prev=i.top;i.top.next=e;i.top=e;},j=function(e,i){if(i.bottom===e){return;}ac(e,i);e.next=i.bottom;e.prev=null;i.bottom.prev=e;i.bottom=e;},v=function(i,e,E){ac(i,E);e==E.top&&(E.top=i);e.next&&(e.next.prev=i);i.next=e.next;i.prev=e;e.next=i;},ah=function(i,e,E){ac(i,E);e==E.bottom&&(E.bottom=i);e.prev&&(e.prev.next=i);i.prev=e.prev;e.prev=i;i.next=e;};if(af.svg){aE.svgns="http://www.w3.org/2000/svg";aE.xlink="http://www.w3.org/1999/xlink";var H=function(e){return +e+(~~e===e)*0.5;},M=function(aN){for(var E=0,R=aN[l];E<R;E++){if(aM.call(aN[E][0])!="a"){for(var e=1,S=aN[E][l];e<S;e++){aN[E][e]=H(aN[E][e]);}}else{aN[E][6]=H(aN[E][6]);aN[E][7]=H(aN[E][7]);}}return aN;},ay=function(E,e){if(e){for(var i in e){if(e[J](i)){E[r](i,e[i]);}}}else{return D.createElementNS(aE.svgns,E);}};af[ao]=function(){return"Your browser supports SVG.\nYou are running Rapha\xebl "+this.version;};var o=function(e,R){var i=ay("path");R.canvas&&R.canvas[aA](i);var E=new am(i,R);E.type="path";T(E,{fill:"none",stroke:"#000",path:e});return E;};var b=function(R,aV,e){var aS="linear",aP=0.5,aN=0.5,aX=R.style;aV=(aV+ai)[aD](/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(aY,i,aZ){aS="radial";if(i&&aZ){aP=N(i);aN=N(aZ);if(aB(aP-0.5,2)+aB(aN-0.5,2)>0.25){aN=Math.sqrt(0.25-aB(aP-0.5,2))+0.5;}}return ai;});aV=aV[u](/\s*\-\s*/);if(aS=="linear"){var aO=aV.shift();aO=-N(aO);if(isNaN(aO)){return null;}var S=[0,0,Math.cos(aO*Math.PI/180),Math.sin(aO*Math.PI/180)],aU=1/(f(Math.abs(S[2]),Math.abs(S[3]))||1);S[2]*=aU;S[3]*=aU;if(S[2]<0){S[0]=-S[2];S[2]=0;}if(S[3]<0){S[1]=-S[3];S[3]=0;}}var aR=n(aV);if(!aR){return null;}var E=ay(aS+"Gradient");E.id="r"+(af._id++)[ao](36);aS=="radial"?ay(E,{fx:aP,fy:aN}):ay(E,{x1:S[0],y1:S[1],x2:S[2],y2:S[3]});e.defs[aA](E);for(var aQ=0,aW=aR[l];aQ<aW;aQ++){var aT=ay("stop");ay(aT,{offset:aR[aQ].offset?aR[aQ].offset:!aQ?"0%":"100%","stop-color":aR[aQ].color||"#fff"});E[aA](aT);}ay(R,{fill:"url(#"+E.id+")",opacity:1,"fill-opacity":1});aX.fill=ai;aX.opacity=1;aX.fillOpacity=1;return 1;};var G=function(i){var e=i.getBBox();ay(i.pattern,{patternTransform:af.format("translate({0},{1})",e.x,e.y)});};var T=function(aU,a3){var aX={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},aZ=aU.node,aV=aU.attrs,aR=aU.rotate(),aN=function(ba,a9){a9=aX[aM.call(a9)];if(a9){var a7=ba.attrs["stroke-width"]||"1",a5={round:a7,square:a7,butt:0}[ba.attrs["stroke-linecap"]||a3["stroke-linecap"]]||0,a8=[];var a6=a9[l];while(a6--){a8[a6]=a9[a6]*a7+((a6%2)?1:-1)*a5;}ay(aZ,{"stroke-dasharray":a8[an](",")});}};a3[J]("rotation")&&(aR=a3.rotation);var aQ=(aR+ai)[u](a);if(!(aQ.length-1)){aQ=null;}else{aQ[1]=+aQ[1];aQ[2]=+aQ[2];}N(aR)&&aU.rotate(0,true);for(var aY in a3){if(a3[J](aY)){if(!h[J](aY)){continue;}var aW=a3[aY];aV[aY]=aW;switch(aY){case"rotation":aU.rotate(aW,true);break;case"href":case"title":case"target":var a1=aZ.parentNode;if(aM.call(a1.tagName)!="a"){var R=ay("a");a1.insertBefore(R,aZ);R[aA](aZ);a1=R;}a1.setAttributeNS(aU.paper.xlink,aY,aW);break;case"cursor":aZ.style.cursor=aW;break;case"clip-rect":var i=(aW+ai)[u](a);if(i[l]==4){aU.clip&&aU.clip.parentNode.parentNode.removeChild(aU.clip.parentNode);var E=ay("clipPath"),a0=ay("rect");E.id="r"+(af._id++)[ao](36);ay(a0,{x:i[0],y:i[1],width:i[2],height:i[3]});E[aA](a0);aU.paper.defs[aA](E);ay(aZ,{"clip-path":"url(#"+E.id+")"});aU.clip=a0;}if(!aW){var a2=D.getElementById(aZ.getAttribute("clip-path")[aD](/(^url\(#|\)$)/g,ai));a2&&a2.parentNode.removeChild(a2);ay(aZ,{"clip-path":ai});delete aU.clip;}break;case"path":if(aW&&aU.type=="path"){aV.path=M(p(aW));ay(aZ,{d:aV.path});}break;case"width":aZ[r](aY,aW);if(aV.fx){aY="x";aW=aV.x;}else{break;}case"x":if(aV.fx){aW=-aV.x-(aV.width||0);}case"rx":if(aY=="rx"&&aU.type=="rect"){break;}case"cx":aQ&&(aY=="x"||aY=="cx")&&(aQ[1]+=aW-aV[aY]);aZ[r](aY,H(aW));aU.pattern&&G(aU);break;case"height":aZ[r](aY,aW);if(aV.fy){aY="y";aW=aV.y;}else{break;}case"y":if(aV.fy){aW=-aV.y-(aV.height||0);}case"ry":if(aY=="ry"&&aU.type=="rect"){break;}case"cy":aQ&&(aY=="y"||aY=="cy")&&(aQ[2]+=aW-aV[aY]);aZ[r](aY,H(aW));aU.pattern&&G(aU);break;case"r":if(aU.type=="rect"){ay(aZ,{rx:aW,ry:aW});}else{aZ[r](aY,aW);}break;case"src":if(aU.type=="image"){aZ.setAttributeNS(aU.paper.xlink,"href",aW);}break;case"stroke-width":aZ.style.strokeWidth=aW;aZ[r](aY,aW);if(aV["stroke-dasharray"]){aN(aU,aV["stroke-dasharray"]);}break;case"stroke-dasharray":aN(aU,aW);break;case"translation":var aO=(aW+ai)[u](a);aO[0]=+aO[0]||0;aO[1]=+aO[1]||0;if(aQ){aQ[1]+=aO[0];aQ[2]+=aO[1];}q.call(aU,aO[0],aO[1]);break;case"scale":var aO=(aW+ai)[u](a);aU.scale(+aO[0]||1,+aO[1]||+aO[0]||1,+aO[2]||null,+aO[3]||null);break;case"fill":var S=(aW+ai).match(c);if(S){var E=ay("pattern"),aT=ay("image");E.id="r"+(af._id++)[ao](36);ay(E,{x:0,y:0,patternUnits:"userSpaceOnUse"});ay(aT,{x:0,y:0});aT.setAttributeNS(aU.paper.xlink,"href",S[1]);E[aA](aT);var a4=D.createElement("img");a4.style.cssText="position:absolute;left:-9999em;top-9999em";a4.onload=function(){ay(E,{width:this.offsetWidth,height:this.offsetHeight});ay(aT,{width:this.offsetWidth,height:this.offsetHeight});D.body.removeChild(this);aE.safari();};D.body[aA](a4);a4.src=S[1];aU.paper.defs[aA](E);aZ.style.fill="url(#"+E.id+")";ay(aZ,{fill:"url(#"+E.id+")"});aU.pattern=E;aU.pattern&&G(aU);break;}if(!af.getRGB(aW).error){delete a3.gradient;delete aV.gradient;!af.is(aV.opacity,"undefined")&&af.is(a3.opacity,"undefined")&&ay(aZ,{opacity:aV.opacity});!af.is(aV["fill-opacity"],"undefined")&&af.is(a3["fill-opacity"],"undefined")&&ay(aZ,{"fill-opacity":aV["fill-opacity"]});}else{if((({circle:1,ellipse:1})[J](aU.type)||(aW+ai).charAt()!="r")&&b(aZ,aW,aU.paper)){aV.gradient=aW;aV.fill="none";break;}}case"stroke":aZ[r](aY,af.getRGB(aW).hex);break;case"gradient":(({circle:1,ellipse:1})[J](aU.type)||(aW+ai).charAt()!="r")&&b(aZ,aW,aU.paper);break;case"opacity":case"fill-opacity":if(aV.gradient){var e=D.getElementById(aZ.getAttribute("fill")[aD](/^url\(#|\)$/g,ai));if(e){var aP=e.getElementsByTagName("stop");aP[aP[l]-1][r]("stop-opacity",aW);}break;}default:aY=="font-size"&&(aW=z(aW,10)+"px");var aS=aY[aD](/(\-.)/g,function(a5){return aC.call(a5.substring(1));});aZ.style[aS]=aW;aZ[r](aY,aW);break;}}}x(aU,a3);if(aQ){aU.rotate(aQ.join(ae));}else{N(aR)&&aU.rotate(aR,true);}};var g=1.2;var x=function(e,S){if(e.type!="text"||!(S[J]("text")||S[J]("font")||S[J]("font-size")||S[J]("x")||S[J]("y"))){return;}var aR=e.attrs,E=e.node,aT=E.firstChild?z(D.defaultView.getComputedStyle(E.firstChild,ai).getPropertyValue("font-size"),10):10;if(S[J]("text")){aR.text=S.text;while(E.firstChild){E.removeChild(E.firstChild);}var R=(S.text+ai)[u]("\n");for(var aN=0,aS=R[l];aN<aS;aN++){if(R[aN]){var aP=ay("tspan");aN&&ay(aP,{dy:aT*g,x:aR.x});aP[aA](D.createTextNode(R[aN]));E[aA](aP);}}}else{var R=E.getElementsByTagName("tspan");for(var aN=0,aS=R[l];aN<aS;aN++){aN&&ay(R[aN],{dy:aT*g,x:aR.x});}}ay(E,{y:aR.y});var aO=e.getBBox(),aQ=aR.y-(aO.y+aO.height/2);aQ&&isFinite(aQ)&&ay(E,{y:aR.y+aQ});};var am=function(i,e){var R=0,E=0;this[0]=i;this.id=af._oid++;this.node=i;i.raphael=this;this.paper=e;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!e.bottom&&(e.bottom=this);this.prev=e.top;e.top&&(e.top.next=this);e.top=this;this.next=null;};am[aL].rotate=function(i,e,R){if(this.removed){return this;}if(i==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][an](ae);}return this._.rt.deg;}var E=this.getBBox();i=(i+ai)[u](a);if(i[l]-1){e=N(i[1]);R=N(i[2]);}i=N(i[0]);if(e!=null){this._.rt.deg=i;}else{this._.rt.deg+=i;}(R==null)&&(e=null);this._.rt.cx=e;this._.rt.cy=R;e=e==null?E.x+E.width/2:e;R=R==null?E.y+E.height/2:R;if(this._.rt.deg){this.transformations[0]=af.format("rotate({0} {1} {2})",this._.rt.deg,e,R);this.clip&&ay(this.clip,{transform:af.format("rotate({0} {1} {2})",-this._.rt.deg,e,R)});}else{this.transformations[0]=ai;this.clip&&ay(this.clip,{transform:ai});}ay(this.node,{transform:this.transformations[an](ae)});return this;};am[aL].hide=function(){!this.removed&&(this.node.style.display="none");return this;};am[aL].show=function(){!this.removed&&(this.node.style.display="");return this;};am[aL].remove=function(){if(this.removed){return;}ac(this,this.paper);this.node.parentNode.removeChild(this.node);for(var e in this){delete this[e];}this.removed=true;};am[aL].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return L(this.attrs.path);}if(this.node.style.display=="none"){this.show();var R=true;}var aP={};try{aP=this.node.getBBox();}catch(aN){}finally{aP=aP||{};}if(this.type=="text"){aP={x:aP.x,y:Infinity,width:0,height:0};for(var E=0,S=this.node.getNumberOfChars();E<S;E++){var aO=this.node.getExtentOfChar(E);(aO.y<aP.y)&&(aP.y=aO.y);(aO.y+aO.height-aP.y>aP.height)&&(aP.height=aO.y+aO.height-aP.y);(aO.x+aO.width-aP.x>aP.width)&&(aP.width=aO.x+aO.width-aP.x);}}R&&this.hide();return aP;};am[aL].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var S={};for(var R in this.attrs){if(this.attrs[J](R)){S[R]=this.attrs[R];}}return S;}if(arguments[l]==1&&af.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(arguments[l]==1&&af.is(arguments[0],"array")){var e={};for(var E in arguments[0]){if(arguments[0][J](E)){e[arguments[0][E]]=this.attrs[arguments[0][E]];}}return e;}if(arguments[l]==2){var aN={};aN[arguments[0]]=arguments[1];T(this,aN);}else{if(arguments[l]==1&&af.is(arguments[0],"object")){T(this,arguments[0]);}}return this;};am[aL].toFront=function(){if(this.removed){return this;}this.node.parentNode[aA](this.node);var e=this.paper;e.top!=this&&P(this,e);return this;};am[aL].toBack=function(){if(this.removed){return this;}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);j(this,this.paper);var e=this.paper;}return this;};am[aL].insertAfter=function(i){if(this.removed){return this;}var e=this.paper,E=i.node;if(E.nextSibling){E.parentNode.insertBefore(this.node,E.nextSibling);}else{E.parentNode[aA](this.node);}v(this,i,this.paper);return this;};am[aL].insertBefore=function(e){if(this.removed){return this;}var i=e.node;i.parentNode.insertBefore(this.node,i);ah(this,e,this.paper);return this;};var I=function(i,e,aN,S){e=H(e);aN=H(aN);var R=ay("circle");i.canvas&&i.canvas[aA](R);var E=new am(R,i);E.attrs={cx:e,cy:aN,r:S,fill:"none",stroke:"#000"};E.type="circle";ay(R,E.attrs);return E;};var au=function(E,e,aP,i,aN,aO){e=H(e);aP=H(aP);var S=ay("rect");E.canvas&&E.canvas[aA](S);var R=new am(S,E);R.attrs={x:e,y:aP,width:i,height:aN,r:aO||0,rx:aO||0,ry:aO||0,fill:"none",stroke:"#000"};R.type="rect";ay(S,R.attrs);return R;};var Z=function(i,e,aO,aN,S){e=H(e);aO=H(aO);var R=ay("ellipse");i.canvas&&i.canvas[aA](R);var E=new am(R,i);E.attrs={cx:e,cy:aO,rx:aN,ry:S,fill:"none",stroke:"#000"};E.type="ellipse";ay(R,E.attrs);return E;};var m=function(E,aO,e,aP,i,aN){var S=ay("image");ay(S,{x:e,y:aP,width:i,height:aN,preserveAspectRatio:"none"});S.setAttributeNS(E.xlink,"href",aO);E.canvas&&E.canvas[aA](S);var R=new am(S,E);R.attrs={x:e,y:aP,width:i,height:aN,src:aO};R.type="image";return R;};var O=function(i,e,aN,S){var R=ay("text");ay(R,{x:e,y:aN,"text-anchor":"middle"});i.canvas&&i.canvas[aA](R);var E=new am(R,i);E.attrs={x:e,y:aN,"text-anchor":"middle",text:S,font:h.font,stroke:"none",fill:"#000"};E.type="text";T(E,E.attrs);return E;};var aI=function(i,e){this.width=i||this.width;this.height=e||this.height;this.canvas[r]("width",this.width);this.canvas[r]("height",this.height);return this;};var s=function(){var R=ag[aJ](null,arguments),E=R&&R.container,i=R.x,aP=R.y,S=R.width,e=R.height;if(!E){throw new Error("SVG container not found.");}aE.canvas=ay("svg");var aO=aE.canvas;aE.width=S||512;aE.height=e||342;aO[r]("width",aE.width);aO[r]("height",aE.height);if(E==1){aO.style.cssText="position:absolute;left:"+i+"px;top:"+aP+"px";D.body[aA](aO);}else{if(E.firstChild){E.insertBefore(aO,E.firstChild);}else{E[aA](aO);}}E={canvas:aO};for(var aN in aE){if(aE[J](aN)){E[aN]=aE[aN];}}E.bottom=E.top=null;av.call(E,E,af.fn);E.clear();E.raphael=af;return E;};aE.clear=function(){var e=this.canvas;while(e.firstChild){e.removeChild(e.firstChild);}this.bottom=this.top=null;(this.desc=ay("desc"))[aA](D.createTextNode("Created with Rapha\xebl"));e[aA](this.desc);e[aA](this.defs=ay("defs"));};aE.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if(af.vml){var aw=function(aW){var aT=/[ahqtv]/ig,aO=p;(aW+ai).match(aT)&&(aO=A);aT=/[clmz]/g;if(aO==p&&!(aW+ai).match(aT)){var E={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},S=/([clmz]),?([^clmz]*)/gi,aN=/-?[^,\s-]+/g;var aS=(aW+ai)[aD](S,function(aX,aZ,i){var aY=[];i[aD](aN,function(a0){aY[d](H(a0));});return E[aZ]+aY;});return aS;}var aU=aO(aW),R,aS=[],e;for(var aQ=0,aV=aU[l];aQ<aV;aQ++){R=aU[aQ];e=aM.call(aU[aQ][0]);e=="z"&&(e="x");for(var aP=1,aR=R[l];aP<aR;aP++){e+=H(R[aP])+(aP!=aR-1?",":ai);}aS[d](e);}return aS[an](ae);};af[ao]=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl "+this.version;};var o=function(e,aN){var R=Y("group");R.style.cssText="position:absolute;left:0;top:0;width:"+aN.width+"px;height:"+aN.height+"px";R.coordsize=aN.coordsize;R.coordorigin=aN.coordorigin;var E=Y("shape"),i=E.style;i.width=aN.width+"px";i.height=aN.height+"px";E.coordsize=this.coordsize;E.coordorigin=this.coordorigin;R[aA](E);var S=new am(E,R,aN);S.isAbsolute=true;S.type="path";S.path=[];S.Path=ai;e&&T(S,{fill:"none",stroke:"#000",path:e});aN.canvas[aA](R);return S;};var T=function(aR,aW){aR.attrs=aR.attrs||{};var aU=aR.node,aX=aR.attrs,aO=aU.style,R,a1=aR;for(var aP in aW){if(aW[J](aP)){aX[aP]=aW[aP];}}aW.href&&(aU.href=aW.href);aW.title&&(aU.title=aW.title);aW.target&&(aU.target=aW.target);aW.cursor&&(aO.cursor=aW.cursor);if(aW.path&&aR.type=="path"){aX.path=aW.path;aU.path=aw(aX.path);}if(aW.rotation!=null){aR.rotate(aW.rotation,true);}if(aW.translation){R=(aW.translation+ai)[u](a);q.call(aR,R[0],R[1]);if(aR._.rt.cx!=null){aR._.rt.cx+=+R[0];aR._.rt.cy+=+R[1];aR.setBox(aR.attrs,R[0],R[1]);}}if(aW.scale){R=(aW.scale+ai)[u](a);aR.scale(+R[0]||1,+R[1]||+R[0]||1,+R[2]||null,+R[3]||null);}if("clip-rect" in aW){var e=(aW["clip-rect"]+ai)[u](a);if(e[l]==4){e[2]=+e[2]+(+e[0]);e[3]=+e[3]+(+e[1]);var aQ=aU.clipRect||D.createElement("div"),a0=aQ.style,aN=aU.parentNode;a0.clip=af.format("rect({1}px {2}px {3}px {0}px)",e);if(!aU.clipRect){a0.position="absolute";a0.top=0;a0.left=0;a0.width=aR.paper.width+"px";a0.height=aR.paper.height+"px";aN.parentNode.insertBefore(aQ,aN);aQ[aA](aN);aU.clipRect=aQ;}}if(!aW["clip-rect"]){aU.clipRect&&(aU.clipRect.style.clip=ai);}}if(aR.type=="image"&&aW.src){aU.src=aW.src;}if(aR.type=="image"&&aW.opacity){aU.filterOpacity=" progid:DXImageTransform.Microsoft.Alpha(opacity="+(aW.opacity*100)+")";aO.filter=(aU.filterMatrix||ai)+(aU.filterOpacity||ai);}aW.font&&(aO.font=aW.font);aW["font-family"]&&(aO.fontFamily='"'+aW["font-family"][u](",")[0][aD](/^['"]+|['"]+$/g,ai)+'"');aW["font-size"]&&(aO.fontSize=aW["font-size"]);aW["font-weight"]&&(aO.fontWeight=aW["font-weight"]);aW["font-style"]&&(aO.fontStyle=aW["font-style"]);if(aW.opacity!=null||aW["stroke-width"]!=null||aW.fill!=null||aW.stroke!=null||aW["stroke-width"]!=null||aW["stroke-opacity"]!=null||aW["fill-opacity"]!=null||aW["stroke-dasharray"]!=null||aW["stroke-miterlimit"]!=null||aW["stroke-linejoin"]!=null||aW["stroke-linecap"]!=null){aU=aR.shape||aU;var aV=(aU.getElementsByTagName("fill")&&aU.getElementsByTagName("fill")[0]),aY=false;!aV&&(aY=aV=Y("fill"));if("fill-opacity" in aW||"opacity" in aW){var i=((+aX["fill-opacity"]+1||2)-1)*((+aX.opacity+1||2)-1);i<0&&(i=0);i>1&&(i=1);aV.opacity=i;}aW.fill&&(aV.on=true);if(aV.on==null||aW.fill=="none"){aV.on=false;}if(aV.on&&aW.fill){var E=aW.fill.match(c);if(E){aV.src=E[1];aV.type="tile";}else{aV.color=af.getRGB(aW.fill).hex;aV.src=ai;aV.type="solid";if(af.getRGB(aW.fill).error&&(a1.type in {circle:1,ellipse:1}||(aW.fill+ai).charAt()!="r")&&b(a1,aW.fill)){aX.fill="none";aX.gradient=aW.fill;}}}aY&&aU[aA](aV);var S=(aU.getElementsByTagName("stroke")&&aU.getElementsByTagName("stroke")[0]),aZ=false;!S&&(aZ=S=Y("stroke"));if((aW.stroke&&aW.stroke!="none")||aW["stroke-width"]||aW["stroke-opacity"]!=null||aW["stroke-dasharray"]||aW["stroke-miterlimit"]||aW["stroke-linejoin"]||aW["stroke-linecap"]){S.on=true;}(aW.stroke=="none"||S.on==null||aW.stroke==0||aW["stroke-width"]==0)&&(S.on=false);S.on&&aW.stroke&&(S.color=af.getRGB(aW.stroke).hex);var i=((+aX["stroke-opacity"]+1||2)-1)*((+aX.opacity+1||2)-1),aS=(N(aW["stroke-width"])||1)*0.75;i<0&&(i=0);i>1&&(i=1);aW["stroke-width"]==null&&(aS=aX["stroke-width"]);aW["stroke-width"]&&(S.weight=aS);aS&&aS<1&&(i*=aS)&&(S.weight=1);S.opacity=i;aW["stroke-linejoin"]&&(S.joinstyle=aW["stroke-linejoin"]||"miter");S.miterlimit=aW["stroke-miterlimit"]||8;aW["stroke-linecap"]&&(S.endcap=aW["stroke-linecap"]=="butt"?"flat":aW["stroke-linecap"]=="square"?"square":"round");if(aW["stroke-dasharray"]){var aT={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};S.dashstyle=aT[J](aW["stroke-dasharray"])?aT[aW["stroke-dasharray"]]:ai;}aZ&&aU[aA](S);}if(a1.type=="text"){var aO=a1.paper.span.style;aX.font&&(aO.font=aX.font);aX["font-family"]&&(aO.fontFamily=aX["font-family"]);aX["font-size"]&&(aO.fontSize=aX["font-size"]);aX["font-weight"]&&(aO.fontWeight=aX["font-weight"]);aX["font-style"]&&(aO.fontStyle=aX["font-style"]);a1.node.string&&(a1.paper.span.innerHTML=(a1.node.string+ai)[aD](/</g,"&#60;")[aD](/&/g,"&#38;")[aD](/\n/g,"<br>"));a1.W=aX.w=a1.paper.span.offsetWidth;a1.H=aX.h=a1.paper.span.offsetHeight;a1.X=aX.x;a1.Y=aX.y+H(a1.H/2);switch(aX["text-anchor"]){case"start":a1.node.style["v-text-align"]="left";a1.bbx=H(a1.W/2);break;case"end":a1.node.style["v-text-align"]="right";a1.bbx=-H(a1.W/2);break;default:a1.node.style["v-text-align"]="center";break;}}};var b=function(e,aP){e.attrs=e.attrs||{};var aQ=e.attrs,aS=e.node.getElementsByTagName("fill"),aN="linear",aO=".5 .5";e.attrs.gradient=aP;aP=(aP+ai)[aD](/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(aU,aV,i){aN="radial";if(aV&&i){aV=N(aV);i=N(i);if(aB(aV-0.5,2)+aB(i-0.5,2)>0.25){i=Math.sqrt(0.25-aB(aV-0.5,2))+0.5;}aO=aV+ae+i;}return ai;});aP=aP[u](/\s*\-\s*/);if(aN=="linear"){var E=aP.shift();E=-N(E);if(isNaN(E)){return null;}}var S=n(aP);if(!S){return null;}e=e.shape||e.node;aS=aS[0]||Y("fill");if(S[l]){aS.on=true;aS.method="none";aS.type=(aN=="radial")?"gradientradial":"gradient";aS.color=S[0].color;aS.color2=S[S[l]-1].color;var aT=[];for(var R=0,aR=S[l];R<aR;R++){S[R].offset&&aT[d](S[R].offset+ae+S[R].color);}aS.colors.value=aT[l]?aT[an](","):"0% "+aS.color;if(aN=="radial"){aS.focus="100%";aS.focussize=aO;aS.focusposition=aO;}else{aS.angle=(270-E)%360;}}return 1;};var am=function(S,aO,e){var aN=0,E=0,i=0,R=1;this[0]=S;this.id=af._oid++;this.node=S;S.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=aO;this.paper=e;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!e.bottom&&(e.bottom=this);this.prev=e.top;e.top&&(e.top.next=this);e.top=this;this.next=null;};am[aL].rotate=function(i,e,E){if(this.removed){return this;}if(i==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][an](ae);}return this._.rt.deg;}i=(i+ai)[u](a);if(i[l]-1){e=N(i[1]);E=N(i[2]);}i=N(i[0]);if(e!=null){this._.rt.deg=i;}else{this._.rt.deg+=i;}E==null&&(e=null);this._.rt.cx=e;this._.rt.cy=E;this.setBox(this.attrs,e,E);this.Group.style.rotation=this._.rt.deg;return this;};am[aL].setBox=function(aN,aO,S){if(this.removed){return this;}var E=this.Group.style,aP=(this.shape&&this.shape.style)||this.node.style;aN=aN||{};for(var aQ in aN){if(aN[J](aQ)){this.attrs[aQ]=aN[aQ];}}aO=aO||this._.rt.cx;S=S||this._.rt.cy;var aT=this.attrs,aW,aV,aX,aS;switch(this.type){case"circle":aW=aT.cx-aT.r;aV=aT.cy-aT.r;aX=aS=aT.r*2;break;case"ellipse":aW=aT.cx-aT.rx;aV=aT.cy-aT.ry;aX=aT.rx*2;aS=aT.ry*2;break;case"rect":case"image":aW=+aT.x;aV=+aT.y;aX=aT.width||0;aS=aT.height||0;break;case"text":this.textpath.v=["m",H(aT.x),", ",H(aT.y-2),"l",H(aT.x)+1,", ",H(aT.y-2)][an](ai);aW=aT.x-H(this.W/2);aV=aT.y-this.H/2;aX=this.W;aS=this.H;break;case"path":if(!this.attrs.path){aW=0;aV=0;aX=this.paper.width;aS=this.paper.height;}else{var aR=L(this.attrs.path);aW=aR.x;aV=aR.y;aX=aR.width;aS=aR.height;}break;default:aW=0;aV=0;aX=this.paper.width;aS=this.paper.height;break;}aO=(aO==null)?aW+aX/2:aO;S=(S==null)?aV+aS/2:S;var R=aO-this.paper.width/2,aU=S-this.paper.height/2;if(this.type=="path"||this.type=="text"){(E.left!=R+"px")&&(E.left=R+"px");(E.top!=aU+"px")&&(E.top=aU+"px");this.X=this.type=="text"?aW:-R;this.Y=this.type=="text"?aV:-aU;this.W=aX;this.H=aS;(aP.left!=-R+"px")&&(aP.left=-R+"px");(aP.top!=-aU+"px")&&(aP.top=-aU+"px");}else{(E.left!=R+"px")&&(E.left=R+"px");(E.top!=aU+"px")&&(E.top=aU+"px");this.X=aW;this.Y=aV;this.W=aX;this.H=aS;(E.width!=this.paper.width+"px")&&(E.width=this.paper.width+"px");(E.height!=this.paper.height+"px")&&(E.height=this.paper.height+"px");(aP.left!=aW-R+"px")&&(aP.left=aW-R+"px");(aP.top!=aV-aU+"px")&&(aP.top=aV-aU+"px");(aP.width!=aX+"px")&&(aP.width=aX+"px");(aP.height!=aS+"px")&&(aP.height=aS+"px");var aY=(+aN.r||0)/ax(aX,aS);if(this.type=="rect"&&this.arcsize!=aY&&(aY||this.arcsize)){var e=Y(aY?"roundrect":"rect");e.arcsize=aY;this.Group[aA](e);this.node.parentNode.removeChild(this.node);this.node=e;this.arcsize=aY;this.attr(this.attrs);}}};am[aL].hide=function(){!this.removed&&(this.Group.style.display="none");return this;};am[aL].show=function(){!this.removed&&(this.Group.style.display="block");return this;};am[aL].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return L(this.attrs.path);}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H};};am[aL].remove=function(){if(this.removed){return;}ac(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var e in this){delete this[e];}this.removed=true;};am[aL].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var R={};for(var E in this.attrs){if(this.attrs[J](E)){R[E]=this.attrs[E];}}return R;}if(arguments[l]==1&&af.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}return this.attrs[arguments[0]];}if(this.attrs&&arguments[l]==1&&af.is(arguments[0],"array")){var e={};for(var E=0,S=arguments[0][l];E<S;E++){e[arguments[0][E]]=this.attrs[arguments[0][E]];}return e;}var aN;if(arguments[l]==2){aN={};aN[arguments[0]]=arguments[1];}arguments[l]==1&&af.is(arguments[0],"object")&&(aN=arguments[0]);if(aN){if(aN.text&&this.type=="text"){this.node.string=aN.text;}T(this,aN);if(aN.gradient&&(({circle:1,ellipse:1})[J](this.type)||(aN.gradient+ai).charAt()!="r")){b(this,aN.gradient);}(this.type!="path"||this._.rt.deg)&&this.setBox(this.attrs);}return this;};am[aL].toFront=function(){!this.removed&&this.Group.parentNode[aA](this.Group);this.paper.top!=this&&P(this,this.paper);return this;};am[aL].toBack=function(){if(this.removed){return this;}if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);j(this,this.paper);}return this;};am[aL].insertAfter=function(e){if(this.removed){return this;}if(e.Group.nextSibling){e.Group.parentNode.insertBefore(this.Group,e.Group.nextSibling);}else{e.Group.parentNode[aA](this.Group);}v(this,e,this.paper);return this;};am[aL].insertBefore=function(e){if(this.removed){return this;}e.Group.parentNode.insertBefore(this.Group,e.Group);ah(this,e,this.paper);return this;};var I=function(i,e,aP,aN){var S=Y("group"),aO=Y("oval"),E=aO.style;S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;S[aA](aO);var R=new am(aO,S,i);R.type="circle";T(R,{stroke:"#000",fill:"none"});R.attrs.cx=e;R.attrs.cy=aP;R.attrs.r=aN;R.setBox({x:e-aN,y:aP-aN,width:aN*2,height:aN*2});i.canvas[aA](S);return R;};var au=function(i,aP,aO,aQ,R,e){var S=Y("group"),E=Y("roundrect"),aR=(+e||0)/(ax(aQ,R));S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;S[aA](E);E.arcsize=aR;var aN=new am(E,S,i);aN.type="rect";T(aN,{stroke:"#000"});aN.arcsize=aR;aN.setBox({x:aP,y:aO,width:aQ,height:R,r:e});i.canvas[aA](S);return aN;};var Z=function(e,aQ,aP,E,i){var S=Y("group"),R=Y("oval"),aO=R.style;S.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";S.coordsize=e.coordsize;S.coordorigin=e.coordorigin;S[aA](R);var aN=new am(R,S,e);aN.type="ellipse";T(aN,{stroke:"#000"});aN.attrs.cx=aQ;aN.attrs.cy=aP;aN.attrs.rx=E;aN.attrs.ry=i;aN.setBox({x:aQ-E,y:aP-i,width:E*2,height:i*2});e.canvas[aA](S);return aN;};var m=function(i,e,aQ,aP,aR,R){var S=Y("group"),E=Y("image"),aO=E.style;S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;E.src=e;S[aA](E);var aN=new am(E,S,i);aN.type="image";aN.attrs.src=e;aN.attrs.x=aQ;aN.attrs.y=aP;aN.attrs.w=aR;aN.attrs.h=R;aN.setBox({x:aQ,y:aP,width:aR,height:R});i.canvas[aA](S);return aN;};var O=function(i,aQ,aP,aR){var S=Y("group"),R=Y("shape"),aO=R.style,aS=Y("path"),e=aS.style,E=Y("textpath");S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;aS.v=af.format("m{0},{1}l{2},{1}",H(aQ),H(aP),H(aQ)+1);aS.textpathok=true;aO.width=i.width;aO.height=i.height;E.string=aR+ai;E.on=true;R[aA](E);R[aA](aS);S[aA](R);var aN=new am(E,S,i);aN.shape=R;aN.textpath=aS;aN.type="text";aN.attrs.text=aR;aN.attrs.x=aQ;aN.attrs.y=aP;aN.attrs.w=1;aN.attrs.h=1;T(aN,{font:h.font,stroke:"none",fill:"#000"});aN.setBox();i.canvas[aA](S);return aN;};var aI=function(E,e){var i=this.canvas.style;E==+E&&(E+="px");e==+e&&(e+="px");i.width=E;i.height=e;i.clip="rect(0 "+E+" "+e+" 0)";return this;};D.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!D.namespaces.rvml&&D.namespaces.add("rvml","urn:schemas-microsoft-com:vml");var Y=function(e){return D.createElement("<rvml:"+e+' class="rvml">');};}catch(X){var Y=function(e){return D.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var s=function(){var R=ag[aJ](null,arguments),i=R.container,aR=R.height,aS,E=R.width,aQ=R.x,aP=R.y;if(!i){throw new Error("VML container not found.");}var aN={},aO=aN.canvas=D.createElement("div"),S=aO.style;E=E||512;aR=aR||342;E==+E&&(E+="px");aR==+aR&&(aR+="px");aN.width=1000;aN.height=1000;aN.coordsize="1000 1000";aN.coordorigin="0 0";aN.span=D.createElement("span");aN.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";aO[aA](aN.span);S.cssText=af.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",E,aR);if(i==1){D.body[aA](aO);S.left=aQ+"px";S.top=aP+"px";i={style:{width:E,height:aR}};}else{i.style.width=E;i.style.height=aR;if(i.firstChild){i.insertBefore(aO,i.firstChild);}else{i[aA](aO);}}for(var e in aE){if(aE[J](e)){aN[e]=aE[e];}}av.call(aN,aN,af.fn);aN.top=aN.bottom=null;aN.raphael=af;return aN;};aE.clear=function(){this.canvas.innerHTML=ai;this.bottom=this.top=null;};aE.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if({"Apple Computer, Inc.":1,"Google Inc.":1}[navigator.vendor]&&!(navigator.userAgent.indexOf("Version/4.0")+1)){aE.safari=function(){var e=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){e.remove();});};}else{aE.safari=function(){};}var W=(function(){if(D.addEventListener){return function(S,E,i,e){var R=function(aN){return i.call(e,aN);};S.addEventListener(E,R,false);return function(){S.removeEventListener(E,R,false);return true;};};}else{if(D.attachEvent){return function(aN,R,E,i){var S=function(aO){return E.call(i,aO||aj.event);};aN.attachEvent("on"+R,S);var e=function(){aN.detachEvent("on"+R,S);return true;};if(R=="mouseover"){aN.attachEvent("onmouseenter",S);return function(){aN.detachEvent("onmouseenter",S);return e();};}else{if(R=="mouseout"){aN.attachEvent("onmouseleave",S);return function(){aN.detachEvent("onmouseleave",S);return e();};}}return e;};}}})();for(var U=y[l];U--;){(function(e){am[aL][e]=function(i){if(af.is(i,"function")){this.events=this.events||{};this.events[e]=this.events[e]||{};this.events[e][i]=this.events[e][i]||[];this.events[e][i][d](W(this.shape||this.node,e,i,this));}return this;};am[aL]["un"+e]=function(i){var E=this.events;E&&E[e]&&E[e][i]&&E[e][i][l]&&E[e][i].shift()()&&!E[e][i][l]&&delete E[e][i];return this;};})(y[U]);}am[aL].hover=function(i,e){return this.mouseover(i).mouseout(e);};aE.circle=function(e,E,i){return I(this,e||0,E||0,i||0);};aE.rect=function(e,S,i,E,R){return au(this,e||0,S||0,i||0,E||0,R||0);};aE.ellipse=function(e,R,E,i){return Z(this,e||0,R||0,E||0,i||0);};aE.path=function(e){e&&!af.is(e,"string")&&!af.is(e[0],"array")&&(e+=ai);return o(af.format[aJ](af,arguments),this);};aE.image=function(R,e,S,i,E){return m(this,R||"about:blank",e||0,S||0,i||0,E||0);};aE.text=function(e,E,i){return O(this,e||0,E||0,i||ai);};aE.set=function(e){arguments[l]>1&&(e=Array[aL].splice.call(arguments,0,arguments[l]));return new K(e);};aE.setSize=aI;am[aL].scale=function(aX,aW,R,E){if(aX==null&&aW==null){return{x:this._.sx,y:this._.sy,toString:function(){return this.x+ae+this.y;}};}aW=aW||aX;!+aW&&(aW=aX);var a1,aZ,a0,aY,bd=this.attrs;if(aX!=0){var aU=this.getBBox(),aR=aU.x+aU.width/2,aN=aU.y+aU.height/2,bc=aX/this._.sx,ba=aW/this._.sy;R=(+R||R==0)?R:aR;E=(+E||E==0)?E:aN;var aT=~~(aX/Math.abs(aX)),aQ=~~(aW/Math.abs(aW)),a4=this.node.style,bf=R+(aR-R)*bc,be=E+(aN-E)*ba;switch(this.type){case"rect":case"image":var aS=bd.width*aT*bc,a3=bd.height*aQ*ba,aV=bd.r*ax(bc,ba),aP=bf-aS/2,S=be-a3/2;this.attr({width:aS,height:a3,x:aP,y:S,r:aV});break;case"circle":case"ellipse":this.attr({rx:bd.rx*aT*bc,ry:bd.ry*aQ*ba,r:bd.r*ax(aT*bc,aQ*ba),cx:bf,cy:be});break;case"path":var a6=V(bd.path),a7=true;for(var a9=0,a2=a6[l];a9<a2;a9++){var a5=a6[a9],a8,aO=aC.call(a5[0]);if(aO=="M"&&a7){continue;}else{a7=false;}if(aO=="A"){a5[a6[a9][l]-2]*=bc;a5[a6[a9][l]-1]*=ba;a5[1]*=aT*bc;a5[2]*=aQ*ba;a5[5]=+(aT+aQ?!!+a5[5]:!+a5[5]);}else{if(aO=="H"){for(a8=1,jj=a5[l];a8<jj;a8++){a5[a8]*=bc;}}else{if(aO=="V"){for(a8=1,jj=a5[l];a8<jj;a8++){a5[a8]*=ba;}}else{for(a8=1,jj=a5[l];a8<jj;a8++){a5[a8]*=(a8%2)?bc:ba;}}}}}var e=L(a6),a1=bf-e.x-e.width/2,aZ=be-e.y-e.height/2;a6[0][1]+=a1;a6[0][2]+=aZ;this.attr({path:a6});break;}if(this.type in {text:1,image:1}&&(aT!=1||aQ!=1)){if(this.transformations){this.transformations[2]="scale("[aG](aT,",",aQ,")");this.node[r]("transform",this.transformations[an](ae));a1=(aT==-1)?-bd.x-(aS||0):bd.x;aZ=(aQ==-1)?-bd.y-(a3||0):bd.y;this.attr({x:a1,y:aZ});bd.fx=aT-1;bd.fy=aQ-1;}else{this.node.filterMatrix=" progid:DXImageTransform.Microsoft.Matrix(M11="[aG](aT,", M12=0, M21=0, M22=",aQ,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");a4.filter=(this.node.filterMatrix||ai)+(this.node.filterOpacity||ai);}}else{if(this.transformations){this.transformations[2]=ai;this.node[r]("transform",this.transformations[an](ae));bd.fx=0;bd.fy=0;}else{this.node.filterMatrix=ai;a4.filter=(this.node.filterMatrix||ai)+(this.node.filterOpacity||ai);}}bd.scale=[aX,aW,R,E][an](ae);this._.sx=aX;this._.sy=aW;}return this;};af.easing_formulas={linear:function(e){return e;},"<":function(e){return aB(e,3);},">":function(e){return aB(e-1,3)+1;},"<>":function(e){e=e*2;if(e<1){return aB(e,3)/2;}e-=2;return(aB(e,3)+2)/2;},backIn:function(i){var e=1.70158;return i*i*((e+1)*i-e);},backOut:function(i){i=i-1;var e=1.70158;return i*i*((e+1)*i+e)+1;},elastic:function(E){if(E==0||E==1){return E;}var i=0.3,e=i/4;return aB(2,-10*E)*Math.sin((E-e)*(2*Math.PI)/i)+1;},bounce:function(R){var i=7.5625,E=2.75,e;if(R<(1/E)){e=i*R*R;}else{if(R<(2/E)){R-=(1.5/E);e=i*R*R+0.75;}else{if(R<(2.5/E)){R-=(2.25/E);e=i*R*R+0.9375;}else{R-=(2.625/E);e=i*R*R+0.984375;}}}return e;}};var B={length:0},aF=function(){var aQ=+new Date;for(var a1 in B){if(a1!="length"&&B[J](a1)){var a6=B[a1];if(a6.stop){delete B[a1];B[l]--;continue;}var aO=aQ-a6.start,aZ=a6.ms,aY=a6.easing,a2=a6.from,aV=a6.diff,R=a6.to,aU=a6.t,aX=a6.prev||0,aP=a6.el,S=a6.callback,aW={},E;if(aO<aZ){var aN=af.easing_formulas[aY]?af.easing_formulas[aY](aO/aZ):aO/aZ;for(var a0 in a2){if(a2[J](a0)){switch(Q[a0]){case"number":E=+a2[a0]+aN*aZ*aV[a0];break;case"colour":E="rgb("+[w(H(a2[a0].r+aN*aZ*aV[a0].r)),w(H(a2[a0].g+aN*aZ*aV[a0].g)),w(H(a2[a0].b+aN*aZ*aV[a0].b))][an](",")+")";break;case"path":E=[];for(var a4=0,aT=a2[a0][l];a4<aT;a4++){E[a4]=[a2[a0][a4][0]];for(var a3=1,a5=a2[a0][a4][l];a3<a5;a3++){E[a4][a3]=+a2[a0][a4][a3]+aN*aZ*aV[a0][a4][a3];}E[a4]=E[a4][an](ae);}E=E[an](ae);break;case"csv":switch(a0){case"translation":var aS=aV[a0][0]*(aO-aX),aR=aV[a0][1]*(aO-aX);aU.x+=aS;aU.y+=aR;E=aS+ae+aR;break;case"rotation":E=+a2[a0][0]+aN*aZ*aV[a0][0];a2[a0][1]&&(E+=","+a2[a0][1]+","+a2[a0][2]);break;case"scale":E=[+a2[a0][0]+aN*aZ*aV[a0][0],+a2[a0][1]+aN*aZ*aV[a0][1],(2 in R[a0]?R[a0][2]:ai),(3 in R[a0]?R[a0][3]:ai)][an](ae);break;case"clip-rect":E=[];var a4=4;while(a4--){E[a4]=+a2[a0][a4]+aN*aZ*aV[a0][a4];}break;}break;}aW[a0]=E;}}aP.attr(aW);aP._run&&aP._run.call(aP);}else{(aU.x||aU.y)&&aP.translate(-aU.x,-aU.y);R.scale&&(R.scale=R.scale+ai);aP.attr(R);delete B[a1];B[l]--;aP.in_animation=null;af.is(S,"function")&&S.call(aP);}a6.prev=aO;}}af.svg&&aE.safari();B[l]&&setTimeout(aF);},w=function(e){return e>255?255:(e<0?0:e);},q=function(e,E){if(e==null){return{x:this._.tx,y:this._.ty};}this._.tx+=+e;this._.ty+=+E;switch(this.type){case"circle":case"ellipse":this.attr({cx:+e+this.attrs.cx,cy:+E+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+e+this.attrs.x,y:+E+this.attrs.y});break;case"path":var i=V(this.attrs.path);i[0][1]+=+e;i[0][2]+=+E;this.attr({path:i});break;}return this;};am[aL].animateWith=function(i,E,e,S,R){B[i.id]&&(E.start=B[i.id].start);return this.animate(E,e,S,R);};am[aL].onAnimation=function(e){this._run=e||null;return this;};am[aL].animate=function(R,e,aS,aY){if(af.is(aS,"function")||!aS){aY=aS||null;}var aT={},aU={},aV={};for(var aR in R){if(R[J](aR)){if(Q[J](aR)){aT[aR]=this.attr(aR);(aT[aR]==null)&&(aT[aR]=h[aR]);aU[aR]=R[aR];switch(Q[aR]){case"number":aV[aR]=(aU[aR]-aT[aR])/e;break;case"colour":aT[aR]=af.getRGB(aT[aR]);var aP=af.getRGB(aU[aR]);aV[aR]={r:(aP.r-aT[aR].r)/e,g:(aP.g-aT[aR].g)/e,b:(aP.b-aT[aR].b)/e};break;case"path":var E=A(aT[aR],aU[aR]);aT[aR]=E[0];aU[aR]=E[1];aV[aR]=[];for(var aO=0,aX=aT[aR][l];aO<aX;aO++){aV[aR][aO]=[0];for(var S=1,aQ=aT[aR][aO][l];S<aQ;S++){aV[aR][aO][S]=(aU[aR][aO][S]-aT[aR][aO][S])/e;}}break;case"csv":var aW=(R[aR]+ai)[u](a),aN=(aT[aR]+ai)[u](a);switch(aR){case"translation":aT[aR]=[0,0];aV[aR]=[aW[0]/e,aW[1]/e];break;case"rotation":aT[aR]=(aN[1]==aW[1]&&aN[2]==aW[2])?aN:[0,aW[1],aW[2]];aV[aR]=[(aW[0]-aT[aR][0])/e,0,0];break;case"scale":R[aR]=aW;aT[aR]=(aT[aR]+ai)[u](a);aV[aR]=[(aW[0]-aT[aR][0])/e,(aW[1]-aT[aR][1])/e,0,0];break;case"clip-rect":aT[aR]=(aT[aR]+ai)[u](a);aV[aR]=[];var aO=4;while(aO--){aV[aR][aO]=(aW[aO]-aT[aR][aO])/e;}break;}aU[aR]=aW;}}}}this.stop();this.in_animation=1;B[this.id]={start:R.start||+new Date,ms:e,easing:aS,from:aT,diff:aV,to:aU,el:this,callback:aY,t:{x:0,y:0}};++B[l]==1&&aF();return this;};am[aL].stop=function(){B[this.id]&&B[l]--;delete B[this.id];return this;};am[aL].translate=function(e,i){return this.attr({translation:e+" "+i});};am[aL][ao]=function(){return"Rapha\xebl\u2019s object";};af.ae=B;var K=function(e){this.items=[];this[l]=0;if(e){for(var E=0,R=e[l];E<R;E++){if(e[E]&&(e[E].constructor==am||e[E].constructor==K)){this[this.items[l]]=this.items[this.items[l]]=e[E];this[l]++;}}}};K[aL][d]=function(){var S,e;for(var E=0,R=arguments[l];E<R;E++){S=arguments[E];if(S&&(S.constructor==am||S.constructor==K)){e=this.items[l];this[e]=this.items[e]=S;this[l]++;}}return this;};K[aL].pop=function(){delete this[this[l]--];return this.items.pop();};for(var t in am[aL]){if(am[aL][J](t)){K[aL][t]=(function(e){return function(){for(var E=0,R=this.items[l];E<R;E++){this.items[E][e][aJ](this.items[E],arguments);}return this;};})(t);}}K[aL].attr=function(E,aO){if(E&&af.is(E,"array")&&af.is(E[0],"object")){for(var e=0,aN=E[l];e<aN;e++){this.items[e].attr(E[e]);}}else{for(var R=0,S=this.items[l];R<S;R++){this.items[R].attr[aJ](this.items[R],arguments);}}return this;};K[aL].animate=function(aN,E,aQ,aP){(af.is(aQ,"function")||!aQ)&&(aP=aQ||null);var e=this.items[l],R=e,aO=this,S;aP&&(S=function(){!--e&&aP.call(aO);});this.items[--R].animate(aN,E,aQ||S,S);while(R--){this.items[R].animateWith(this.items[e-1],aN,E,aQ||S,S);}return this;};K[aL].insertAfter=function(E){var e=this.items[l];while(e--){this.items[e].insertAfter(E);}};K[aL].getBBox=function(){var e=[],aO=[],E=[],S=[];for(var R=this.items[l];R--;){var aN=this.items[R].getBBox();e[d](aN.x);aO[d](aN.y);E[d](aN.x+aN.width);S[d](aN.y+aN.height);}e=ax[aJ](0,e);aO=ax[aJ](0,aO);return{x:e,y:aO,width:f[aJ](0,E)-e,height:f[aJ](0,S)-aO};};af.registerFont=function(i){if(!i.face){return i;}this.fonts=this.fonts||{};var R={w:i.w,face:{},glyphs:{}},E=i.face["font-family"];for(var aO in i.face){if(i.face[J](aO)){R.face[aO]=i.face[aO];}}if(this.fonts[E]){this.fonts[E][d](R);}else{this.fonts[E]=[R];}if(!i.svg){R.face["units-per-em"]=z(i.face["units-per-em"],10);for(var S in i.glyphs){if(i.glyphs[J](S)){var aN=i.glyphs[S];R.glyphs[S]={w:aN.w,k:{},d:aN.d&&"M"+aN.d[aD](/[mlcxtrv]/g,function(aP){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[aP]||"M";})+"z"};if(aN.k){for(var e in aN.k){if(aN[J](e)){R.glyphs[S].k[e]=aN.k[e];}}}}}}return i;};aE.getFont=function(aQ,aR,E,S){S=S||"normal";E=E||"normal";aR=+aR||{normal:400,bold:700,lighter:300,bolder:800}[aR]||400;var aN=af.fonts[aQ];if(!aN){var R=new RegExp("(^|\\s)"+aQ[aD](/[^\w\d\s+!~.:_-]/g,ai)+"(\\s|$)","i");for(var e in af.fonts){if(af.fonts[J](e)){if(R.test(e)){aN=af.fonts[e];break;}}}}var aO;if(aN){for(var aP=0,aS=aN[l];aP<aS;aP++){aO=aN[aP];if(aO.face["font-weight"]==aR&&(aO.face["font-style"]==E||!aO.face["font-style"])&&aO.face["font-stretch"]==S){break;}}}return aO;};aE.print=function(S,R,e,aP,aQ,aZ){aZ=aZ||"middle";var aV=this.set(),aY=(e+ai)[u](ai),aW=0,aS=ai,a0;af.is(aP,"string")&&(aP=this.getFont(aP));if(aP){a0=(aQ||16)/aP.face["units-per-em"];var E=aP.face.bbox.split(a),aO=+E[0],aR=+E[1]+(aZ=="baseline"?E[3]-E[1]+(+aP.face.descent):(E[3]-E[1])/2);for(var aU=0,aN=aY[l];aU<aN;aU++){var aT=aU&&aP.glyphs[aY[aU-1]]||{},aX=aP.glyphs[aY[aU]];aW+=aU?(aT.w||aP.w)+(aT.k&&aT.k[aY[aU]]||0):0;aX&&aX.d&&aV[d](this.path(aX.d).attr({fill:"#000",stroke:"none",translation:[aW,0]}));}aV.scale(a0,a0,aO,aR).translate(S-aO,R-aR);}return aV;};af.format=function(E){var i=af.is(arguments[1],"array")?[0][aG](arguments[1]):arguments,e=/\{(\d+)\}/g;E&&af.is(E,"string")&&i[l]-1&&(E=E[aD](e,function(S,R){return i[++R]==null?ai:i[R];}));return E||ai;};af.ninja=function(){var E=aj.Raphael,i;if(k.was){aj.Raphael=k.is;}else{try{delete aj.Raphael;}catch(R){aj.Raphael=i;}}return E;};af.el=am[aL];return af;})();
\ No newline at end of file
+window.Raphael=(function(){var a=/[, ]+/,D=document,ak=window,k={was:"Raphael" in ak,is:ak.Raphael},ag=function(){if(ag.is(arguments[0],"array")){var e=arguments[0],E=s[aL](ag,e.splice(0,3+ag.is(e[0],ae))),aP=E.set();for(var S=0,aQ=e[l];S<aQ;S++){var R=e[S]||{};({circle:1,rect:1,path:1,ellipse:1,text:1,image:1})[J](R.type)&&aP[d](E[R.type]().attr(R));}return aP;}return s[aL](ag,arguments);},aC="appendChild",aL="apply",aI="concat",aj="",af=" ",y="click dblclick mousedown mousemove mouseout mouseover mouseup".split(af),J="hasOwnProperty",ac=/^\[object\s+|\]$/gi,ao="join",l="length",aN="prototype",aO=String[aN].toLowerCase,U=Math,f=U.max,az=U.min,ae="number",ap="toString",am=Object[aN][ap],aG={},aD=U.pow,d="push",aJ=/^(?=[\da-f]$)/,c=/^url\(['"]?([^\)]+)['"]?\)$/i,H=U.round,r="setAttribute",u="split",N=parseFloat,z=parseInt,aE=String[aN].toUpperCase,h={"clip-rect":"0 0 10e9 10e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},Q={"clip-rect":"csv",cx:ae,cy:ae,fill:"colour","fill-opacity":ae,"font-size":ae,height:ae,opacity:ae,path:"path",r:ae,rotation:"csv",rx:ae,ry:ae,scale:"csv",stroke:"colour","stroke-opacity":ae,"stroke-width":ae,translation:"csv",width:ae,x:ae,y:ae},aF="replace";ag.version="1.2.6";ag.type=(ak.SVGAngle||D.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML");ag.svg=!(ag.vml=ag.type=="VML");ag._id=0;ag._oid=0;ag.fn={};ag.is=function(i,e){e=aO.call(e);return((e=="object"||e=="undefined")&&typeof i==e)||(i==null&&e=="null")||aO.call(am.call(i)[aF](ac,aj))==e;};ag.setWindow=function(e){ak=e;D=ak.document;};var at=function(E){if(ag.vml){var e=/^\s+|\s+$/g;at=ab(function(aP){var aQ;aP=(aP+aj).replace(e,aj);try{var i=new ActiveXObject("htmlfile");i.write("<body>");i.close();aQ=i.body;}catch(aS){aQ=createPopup().document.body;}var S=aQ.createTextRange();try{aQ.style.color=aP;var aR=S.queryCommandValue("ForeColor");aR=((aR&255)<<16)|(aR&65280)|((aR&16711680)>>>16);return"#"+("000000"+aR[ap](16)).slice(-6);}catch(aS){return"none";}});}else{var R=D.createElement("i");R.className="Rapha\xebl Colour Picker";R.style.cssText="display:none";D.body[aC](R);at=ab(function(i){R.style.color=i;return D.defaultView.getComputedStyle(R,aj).getPropertyValue("color");});}return at(E);};ag.hsb2rgb=ab(function(aT,aR,aX){if(ag.is(aT,"object")&&"h" in aT&&"s" in aT&&"b" in aT){aX=aT.b;aR=aT.s;aT=aT.h;}var S,aP,aY;if(aX==0){return{r:0,g:0,b:0,hex:"#000"};}if(aT>1||aR>1||aX>1){aT/=255;aR/=255;aX/=255;}var aQ=~~(aT*6),aU=(aT*6)-aQ,R=aX*(1-aR),E=aX*(1-(aR*aU)),aZ=aX*(1-(aR*(1-aU)));S=[aX,E,R,R,aZ,aX,aX][aQ];aP=[aZ,aX,aX,E,R,R,aZ][aQ];aY=[R,R,aZ,aX,aX,E,R][aQ];S*=255;aP*=255;aY*=255;var aV={r:S,g:aP,b:aY},e=(~~S)[ap](16),aS=(~~aP)[ap](16),aW=(~~aY)[ap](16);e=e[aF](aJ,"0");aS=aS[aF](aJ,"0");aW=aW[aF](aJ,"0");aV.hex="#"+e+aS+aW;return aV;},ag);ag.rgb2hsb=ab(function(e,i,aR){if(ag.is(e,"object")&&"r" in e&&"g" in e&&"b" in e){aR=e.b;i=e.g;e=e.r;}if(ag.is(e,"string")){var aT=ag.getRGB(e);e=aT.r;i=aT.g;aR=aT.b;}if(e>1||i>1||aR>1){e/=255;i/=255;aR/=255;}var aQ=f(e,i,aR),E=az(e,i,aR),S,R,aP=aQ;if(E==aQ){return{h:0,s:0,b:aQ};}else{var aS=(aQ-E);R=aS/aQ;if(e==aQ){S=(i-aR)/aS;}else{if(i==aQ){S=2+((aR-e)/aS);}else{S=4+((e-i)/aS);}}S/=6;S<0&&S++;S>1&&S--;}return{h:S,s:R,b:aP};},ag);var av=/,?([achlmqrstvxz]),?/gi;ag._path2string=function(){return this.join(",")[aF](av,"$1");};function ab(R,i,e){function E(){var S=Array[aN].slice.call(arguments,0),aQ=S[ao]("\u25ba"),aP=E.cache=E.cache||{},aR=E.count=E.count||[];if(aP[J](aQ)){return e?e(aP[aQ]):aP[aQ];}aR[l]>=1000&&delete aP[aR.shift()];aR[d](aQ);aP[aQ]=R[aL](i,S);return e?e(aP[aQ]):aP[aQ];}return E;}ag.getRGB=ab(function(e){if(!e||!!((e+aj).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}e=e+aj;if(e=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!({hs:1,rg:1})[J](e.substring(0,2))&&(e=at(e));var aP,E,R,aS,aQ=e.match(/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i);if(aQ){if(aQ[2]){aS=z(aQ[2].substring(5),16);R=z(aQ[2].substring(3,5),16);E=z(aQ[2].substring(1,3),16);}if(aQ[3]){aS=z(aQ[3].substring(3)+aQ[3].substring(3),16);R=z(aQ[3].substring(2,3)+aQ[3].substring(2,3),16);E=z(aQ[3].substring(1,2)+aQ[3].substring(1,2),16);}if(aQ[4]){aQ=aQ[4][u](/\s*,\s*/);E=N(aQ[0]);R=N(aQ[1]);aS=N(aQ[2]);}if(aQ[5]){aQ=aQ[5][u](/\s*,\s*/);E=N(aQ[0])*2.55;R=N(aQ[1])*2.55;aS=N(aQ[2])*2.55;}if(aQ[6]){aQ=aQ[6][u](/\s*,\s*/);E=N(aQ[0]);R=N(aQ[1]);aS=N(aQ[2]);return ag.hsb2rgb(E,R,aS);}if(aQ[7]){aQ=aQ[7][u](/\s*,\s*/);E=N(aQ[0])*2.55;R=N(aQ[1])*2.55;aS=N(aQ[2])*2.55;return ag.hsb2rgb(E,R,aS);}aQ={r:E,g:R,b:aS};var i=(~~E)[ap](16),S=(~~R)[ap](16),aR=(~~aS)[ap](16);i=i[aF](aJ,"0");S=S[aF](aJ,"0");aR=aR[aF](aJ,"0");aQ.hex="#"+i+S+aR;return aQ;}return{r:-1,g:-1,b:-1,hex:"none",error:1};},ag);ag.getColor=function(i){var E=this.getColor.start=this.getColor.start||{h:0,s:1,b:i||0.75},e=this.hsb2rgb(E.h,E.s,E.b);E.h+=0.075;if(E.h>1){E.h=0;E.s-=0.2;E.s<=0&&(this.getColor.start={h:0,s:1,b:E.b});}return e.hex;};ag.getColor.reset=function(){delete this.start;};ag.parsePathString=ab(function(e){if(!e){return null;}var E={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=[];if(ag.is(e,"array")&&ag.is(e[0],"array")){i=al(e);}if(!i[l]){(e+aj)[aF](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(S,R,aR){var aQ=[],aP=aO.call(R);aR[aF](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aT,aS){aS&&aQ[d](+aS);});while(aQ[l]>=E[aP]){i[d]([R][aI](aQ.splice(0,E[aP])));if(!E[aP]){break;}}});}i[ap]=ag._path2string;return i;});var L=ab(function(aV){if(!aV){return{x:0,y:0,width:0,height:0};}aV=A(aV);var aS=0,aR=0,S=[],E=[],R;for(var aP=0,aU=aV[l];aP<aU;aP++){R=aV[aP];if(R[0]=="M"){aS=R[1];aR=R[2];S[d](aS);E[d](aR);}else{var aQ=aq(aS,aR,R[1],R[2],R[3],R[4],R[5],R[6]);S=S[aI](aQ.min.x,aQ.max.x);E=E[aI](aQ.min.y,aQ.max.y);aS=R[5];aR=R[6];}}var e=az[aL](0,S),aT=az[aL](0,E);return{x:e,y:aT,width:f[aL](0,S)-e,height:f[aL](0,E)-aT};}),al=function(aQ){var R=[];if(!ag.is(aQ,"array")||!ag.is(aQ&&aQ[0],"array")){aQ=ag.parsePathString(aQ);}for(var E=0,S=aQ[l];E<S;E++){R[E]=[];for(var e=0,aP=aQ[E][l];e<aP;e++){R[E][e]=aQ[E][e];}}R[ap]=ag._path2string;return R;},W=ab(function(S){if(!ag.is(S,"array")||!ag.is(S&&S[0],"array")){S=ag.parsePathString(S);}var aU=[],aW=0,aV=0,aZ=0,aY=0,R=0;if(S[0][0]=="M"){aW=S[0][1];aV=S[0][2];aZ=aW;aY=aV;R++;aU[d](["M",aW,aV]);}for(var aR=R,a0=S[l];aR<a0;aR++){var e=aU[aR]=[],aX=S[aR];if(aX[0]!=aO.call(aX[0])){e[0]=aO.call(aX[0]);switch(e[0]){case"a":e[1]=aX[1];e[2]=aX[2];e[3]=aX[3];e[4]=aX[4];e[5]=aX[5];e[6]=+(aX[6]-aW).toFixed(3);e[7]=+(aX[7]-aV).toFixed(3);break;case"v":e[1]=+(aX[1]-aV).toFixed(3);break;case"m":aZ=aX[1];aY=aX[2];default:for(var aQ=1,aS=aX[l];aQ<aS;aQ++){e[aQ]=+(aX[aQ]-((aQ%2)?aW:aV)).toFixed(3);}}}else{e=aU[aR]=[];if(aX[0]=="m"){aZ=aX[1]+aW;aY=aX[2]+aV;}for(var aP=0,E=aX[l];aP<E;aP++){aU[aR][aP]=aX[aP];}}var aT=aU[aR][l];switch(aU[aR][0]){case"z":aW=aZ;aV=aY;break;case"h":aW+=+aU[aR][aT-1];break;case"v":aV+=+aU[aR][aT-1];break;default:aW+=+aU[aR][aT-2];aV+=+aU[aR][aT-1];}}aU[ap]=ag._path2string;return aU;},0,al),p=ab(function(S){if(!ag.is(S,"array")||!ag.is(S&&S[0],"array")){S=ag.parsePathString(S);}var aT=[],aV=0,aU=0,aY=0,aX=0,R=0;if(S[0][0]=="M"){aV=+S[0][1];aU=+S[0][2];aY=aV;aX=aU;R++;aT[0]=["M",aV,aU];}for(var aR=R,aZ=S[l];aR<aZ;aR++){var e=aT[aR]=[],aW=S[aR];if(aW[0]!=aE.call(aW[0])){e[0]=aE.call(aW[0]);switch(e[0]){case"A":e[1]=aW[1];e[2]=aW[2];e[3]=aW[3];e[4]=aW[4];e[5]=aW[5];e[6]=+(aW[6]+aV);e[7]=+(aW[7]+aU);break;case"V":e[1]=+aW[1]+aU;break;case"H":e[1]=+aW[1]+aV;break;case"M":aY=+aW[1]+aV;aX=+aW[2]+aU;default:for(var aQ=1,aS=aW[l];aQ<aS;aQ++){e[aQ]=+aW[aQ]+((aQ%2)?aV:aU);}}}else{for(var aP=0,E=aW[l];aP<E;aP++){aT[aR][aP]=aW[aP];}}switch(e[0]){case"Z":aV=aY;aU=aX;break;case"H":aV=e[1];break;case"V":aU=e[1];break;default:aV=aT[aR][aT[aR][l]-2];aU=aT[aR][aT[aR][l]-1];}}aT[ap]=ag._path2string;return aT;},null,al),aM=function(i,R,e,E){return[i,R,e,E,e,E];},aB=function(i,R,aQ,S,e,E){var aP=1/3,aR=2/3;return[aP*i+aR*aQ,aP*R+aR*S,aP*e+aR*aQ,aP*E+aR*S,e,E];},C=function(aZ,bt,a8,a6,a0,aU,aP,aY,bs,a1){var S=U.PI,a5=S*120/180,e=S/180*(+a0||0),bc=[],a9,bp=ab(function(bu,bx,i){var bw=bu*U.cos(i)-bx*U.sin(i),bv=bu*U.sin(i)+bx*U.cos(i);return{x:bw,y:bv};});if(!a1){a9=bp(aZ,bt,-e);aZ=a9.x;bt=a9.y;a9=bp(aY,bs,-e);aY=a9.x;bs=a9.y;var E=U.cos(S/180*a0),aW=U.sin(S/180*a0),be=(aZ-aY)/2,bd=(bt-bs)/2;a8=f(a8,U.abs(be));a6=f(a6,U.abs(bd));var R=a8*a8,bh=a6*a6,bj=(aU==aP?-1:1)*U.sqrt(U.abs((R*bh-R*bd*bd-bh*be*be)/(R*bd*bd+bh*be*be))),a3=bj*a8*bd/a6+(aZ+aY)/2,a2=bj*-a6*be/a8+(bt+bs)/2,aT=U.asin((bt-a2)/a6),aS=U.asin((bs-a2)/a6);aT=aZ<a3?S-aT:aT;aS=aY<a3?S-aS:aS;aT<0&&(aT=S*2+aT);aS<0&&(aS=S*2+aS);if(aP&&aT>aS){aT=aT-S*2;}if(!aP&&aS>aT){aS=aS-S*2;}}else{aT=a1[0];aS=a1[1];a3=a1[2];a2=a1[3];}var aX=aS-aT;if(U.abs(aX)>a5){var a4=aS,a7=aY,aV=bs;aS=aT+a5*(aP&&aS>aT?1:-1);aY=a3+a8*U.cos(aS);bs=a2+a6*U.sin(aS);bc=C(aY,bs,a8,a6,a0,0,aP,a7,aV,[aS,a4,a3,a2]);}aX=aS-aT;var aR=U.cos(aT),br=U.sin(aT),aQ=U.cos(aS),bq=U.sin(aS),bf=U.tan(aX/4),bi=4/3*a8*bf,bg=4/3*a6*bf,bo=[aZ,bt],bn=[aZ+bi*br,bt-bg*aR],bm=[aY+bi*bq,bs-bg*aQ],bk=[aY,bs];bn[0]=2*bo[0]-bn[0];bn[1]=2*bo[1]-bn[1];if(a1){return[bn,bm,bk][aI](bc);}else{bc=[bn,bm,bk][aI](bc)[ao](",")[u](",");var ba=[];for(var bl=0,bb=bc[l];bl<bb;bl++){ba[bl]=bl%2?bp(bc[bl-1],bc[bl],e).y:bp(bc[bl],bc[bl+1],e).x;}return ba;}},F=ab(function(i,e,R,E,aS,aR,aQ,aP,aT){var S=1-aT;return{x:aD(S,3)*i+aD(S,2)*3*aT*R+S*3*aT*aT*aS+aD(aT,3)*aQ,y:aD(S,3)*e+aD(S,2)*3*aT*E+S*3*aT*aT*aR+aD(aT,3)*aP};}),ar=ab(function(i,e,a3,a1,aP,S,aR,aQ,aX){var aV=1-aX,aU=aD(aV,3)*i+aD(aV,2)*3*aX*a3+aV*3*aX*aX*aP+aD(aX,3)*aR,aS=aD(aV,3)*e+aD(aV,2)*3*aX*a1+aV*3*aX*aX*S+aD(aX,3)*aQ,aZ=i+2*aX*(a3-i)+aX*aX*(aP-2*a3+i),aY=e+2*aX*(a1-e)+aX*aX*(S-2*a1+e),a2=a3+2*aX*(aP-a3)+aX*aX*(aR-2*aP+a3),a0=a1+2*aX*(S-a1)+aX*aX*(aQ-2*S+a1),aW=(1-aX)*i+aX*a3,aT=(1-aX)*e+aX*a1,R=(1-aX)*aP+aX*aR,E=(1-aX)*S+aX*aQ;return{x:aU,y:aS,m:{x:aZ,y:aY},n:{x:a2,y:a0},start:{x:aW,y:aT},end:{x:R,y:E}};}),aq=ab(function(E,e,S,R,aZ,aY,aV,aS){var aX=(aZ-2*S+E)-(aV-2*aZ+S),aU=2*(S-E)-2*(aZ-S),aR=E-S,aQ=(-aU+U.sqrt(aU*aU-4*aX*aR))/2/aX,aP=(-aU-U.sqrt(aU*aU-4*aX*aR))/2/aX,aT=[e,aS],aW=[E,aV],i;U.abs(aQ)>1000000000000&&(aQ=0.5);U.abs(aP)>1000000000000&&(aP=0.5);if(aQ>0&&aQ<1){i=F(E,e,S,R,aZ,aY,aV,aS,aQ);aW[d](i.x);aT[d](i.y);}if(aP>0&&aP<1){i=F(E,e,S,R,aZ,aY,aV,aS,aP);aW[d](i.x);aT[d](i.y);}aX=(aY-2*R+e)-(aS-2*aY+R);aU=2*(R-e)-2*(aY-R);aR=e-R;aQ=(-aU+U.sqrt(aU*aU-4*aX*aR))/2/aX;aP=(-aU-U.sqrt(aU*aU-4*aX*aR))/2/aX;U.abs(aQ)>1000000000000&&(aQ=0.5);U.abs(aP)>1000000000000&&(aP=0.5);if(aQ>0&&aQ<1){i=F(E,e,S,R,aZ,aY,aV,aS,aQ);aW[d](i.x);aT[d](i.y);}if(aP>0&&aP<1){i=F(E,e,S,R,aZ,aY,aV,aS,aP);aW[d](i.x);aT[d](i.y);}return{min:{x:az[aL](0,aW),y:az[aL](0,aT)},max:{x:f[aL](0,aW),y:f[aL](0,aT)}};}),A=ab(function(aZ,aU){var S=p(aZ),aV=aU&&p(aU),aW={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},aQ=function(a0,a1){var i,a2;if(!a0){return["C",a1.x,a1.y,a1.x,a1.y,a1.x,a1.y];}!(a0[0] in {T:1,Q:1})&&(a1.qx=a1.qy=null);switch(a0[0]){case"M":a1.X=a0[1];a1.Y=a0[2];break;case"A":a0=["C"][aI](C[aL](0,[a1.x,a1.y][aI](a0.slice(1))));break;case"S":i=a1.x+(a1.x-(a1.bx||a1.x));a2=a1.y+(a1.y-(a1.by||a1.y));a0=["C",i,a2][aI](a0.slice(1));break;case"T":a1.qx=a1.x+(a1.x-(a1.qx||a1.x));a1.qy=a1.y+(a1.y-(a1.qy||a1.y));a0=["C"][aI](aB(a1.x,a1.y,a1.qx,a1.qy,a0[1],a0[2]));break;case"Q":a1.qx=a0[1];a1.qy=a0[2];a0=["C"][aI](aB(a1.x,a1.y,a0[1],a0[2],a0[3],a0[4]));break;case"L":a0=["C"][aI](aM(a1.x,a1.y,a0[1],a0[2]));break;case"H":a0=["C"][aI](aM(a1.x,a1.y,a0[1],a1.y));break;case"V":a0=["C"][aI](aM(a1.x,a1.y,a1.x,a0[1]));break;case"Z":a0=["C"][aI](aM(a1.x,a1.y,a1.X,a1.Y));break;}return a0;},E=function(a0,a1){if(a0[a1][l]>7){a0[a1].shift();var a2=a0[a1];while(a2[l]){a0.splice(a1++,0,["C"][aI](a2.splice(0,6)));}a0.splice(a1,1);aX=f(S[l],aV&&aV[l]||0);}},R=function(a6,a5,a3,a0,a4){if(a6&&a5&&a6[a4][0]=="M"&&a5[a4][0]!="M"){a5.splice(a4,0,["M",a0.x,a0.y]);a3.bx=0;a3.by=0;a3.x=a6[a4][1];a3.y=a6[a4][2];aX=f(S[l],aV&&aV[l]||0);}};for(var aS=0,aX=f(S[l],aV&&aV[l]||0);aS<aX;aS++){S[aS]=aQ(S[aS],aW);E(S,aS);aV&&(aV[aS]=aQ(aV[aS],e));aV&&E(aV,aS);R(S,aV,aW,e,aS);R(aV,S,e,aW,aS);var aR=S[aS],aY=aV&&aV[aS],aP=aR[l],aT=aV&&aY[l];aW.x=aR[aP-2];aW.y=aR[aP-1];aW.bx=N(aR[aP-4])||aW.x;aW.by=N(aR[aP-3])||aW.y;e.bx=aV&&(N(aY[aT-4])||e.x);e.by=aV&&(N(aY[aT-3])||e.y);e.x=aV&&aY[aT-2];e.y=aV&&aY[aT-1];}return aV?[S,aV]:S;},null,al),n=ab(function(aT){var aS=[];for(var aP=0,aU=aT[l];aP<aU;aP++){var e={},aR=aT[aP].match(/^([^:]*):?([\d\.]*)/);e.color=ag.getRGB(aR[1]);if(e.color.error){return null;}e.color=e.color.hex;aR[2]&&(e.offset=aR[2]+"%");aS[d](e);}for(var aP=1,aU=aS[l]-1;aP<aU;aP++){if(!aS[aP].offset){var E=N(aS[aP-1].offset||0),R=0;for(var S=aP+1;S<aU;S++){if(aS[S].offset){R=aS[S].offset;break;}}if(!R){R=100;S=aU;}R=N(R);var aQ=(R-E)/(S-aP+1);for(;aP<S;aP++){E+=aQ;aS[aP].offset=E+"%";}}}return aS;}),ah=function(){var E,i,S,R,e;if(ag.is(arguments[0],"string")||ag.is(arguments[0],"object")){if(ag.is(arguments[0],"string")){E=D.getElementById(arguments[0]);}else{E=arguments[0];}if(E.tagName){if(arguments[1]==null){return{container:E,width:E.style.pixelWidth||E.offsetWidth,height:E.style.pixelHeight||E.offsetHeight};}else{return{container:E,width:arguments[1],height:arguments[2]};}}}else{if(ag.is(arguments[0],ae)&&arguments[l]>3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},ax=function(e,E){var i=this;for(var R in E){if(E[J](R)&&!(R in e)){switch(typeof E[R]){case"function":(function(S){e[R]=e===i?S:function(){return S[aL](i,arguments);};})(E[R]);break;case"object":e[R]=e[R]||{};ax.call(this,e[R],E[R]);break;default:e[R]=E[R];break;}}}},ad=function(e,i){e==i.top&&(i.top=e.prev);e==i.bottom&&(i.bottom=e.next);e.next&&(e.next.prev=e.prev);e.prev&&(e.prev.next=e.next);},P=function(e,i){if(i.top===e){return;}ad(e,i);e.next=null;e.prev=i.top;i.top.next=e;i.top=e;},j=function(e,i){if(i.bottom===e){return;}ad(e,i);e.next=i.bottom;e.prev=null;i.bottom.prev=e;i.bottom=e;},v=function(i,e,E){ad(i,E);e==E.top&&(E.top=i);e.next&&(e.next.prev=i);i.next=e.next;i.prev=e;e.next=i;},ai=function(i,e,E){ad(i,E);e==E.bottom&&(E.bottom=i);e.prev&&(e.prev.next=i);i.prev=e.prev;e.prev=i;i.next=e;};if(ag.svg){aG.svgns="http://www.w3.org/2000/svg";aG.xlink="http://www.w3.org/1999/xlink";var H=function(e){return +e+(~~e===e)*0.5;},M=function(aP){for(var E=0,R=aP[l];E<R;E++){if(aO.call(aP[E][0])!="a"){for(var e=1,S=aP[E][l];e<S;e++){aP[E][e]=H(aP[E][e]);}}else{aP[E][6]=H(aP[E][6]);aP[E][7]=H(aP[E][7]);}}return aP;},aA=function(E,e){if(e){for(var i in e){if(e[J](i)){E[r](i,e[i]);}}}else{return D.createElementNS(aG.svgns,E);}};ag[ap]=function(){return"Your browser supports SVG.\nYou are running Rapha\xebl "+this.version;};var o=function(e,R){var i=aA("path");R.canvas&&R.canvas[aC](i);var E=new an(i,R);E.type="path";T(E,{fill:"none",stroke:"#000",path:e});return E;};var b=function(R,aX,e){var aU="linear",aR=0.5,aP=0.5,aZ=R.style;aX=(aX+aj)[aF](/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(a0,i,a1){aU="radial";if(i&&a1){aR=N(i);aP=N(a1);if(aD(aR-0.5,2)+aD(aP-0.5,2)>0.25){aP=U.sqrt(0.25-aD(aR-0.5,2))+0.5;}}return aj;});aX=aX[u](/\s*\-\s*/);if(aU=="linear"){var aQ=aX.shift();aQ=-N(aQ);if(isNaN(aQ)){return null;}var S=[0,0,U.cos(aQ*U.PI/180),U.sin(aQ*U.PI/180)],aW=1/(f(U.abs(S[2]),U.abs(S[3]))||1);S[2]*=aW;S[3]*=aW;if(S[2]<0){S[0]=-S[2];S[2]=0;}if(S[3]<0){S[1]=-S[3];S[3]=0;}}var aT=n(aX);if(!aT){return null;}var E=aA(aU+"Gradient");E.id="r"+(ag._id++)[ap](36);aU=="radial"?aA(E,{fx:aR,fy:aP}):aA(E,{x1:S[0],y1:S[1],x2:S[2],y2:S[3]});e.defs[aC](E);for(var aS=0,aY=aT[l];aS<aY;aS++){var aV=aA("stop");aA(aV,{offset:aT[aS].offset?aT[aS].offset:!aS?"0%":"100%","stop-color":aT[aS].color||"#fff"});E[aC](aV);}aA(R,{fill:"url(#"+E.id+")",opacity:1,"fill-opacity":1});aZ.fill=aj;aZ.opacity=1;aZ.fillOpacity=1;return 1;};var G=function(i){var e=i.getBBox();aA(i.pattern,{patternTransform:ag.format("translate({0},{1})",e.x,e.y)});};var T=function(aW,a5){var aZ={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},a1=aW.node,aX=aW.attrs,aT=aW.rotate(),aP=function(bc,bb){bb=aZ[aO.call(bb)];if(bb){var a9=bc.attrs["stroke-width"]||"1",a7={round:a9,square:a9,butt:0}[bc.attrs["stroke-linecap"]||a5["stroke-linecap"]]||0,ba=[];var a8=bb[l];while(a8--){ba[a8]=bb[a8]*a9+((a8%2)?1:-1)*a7;}aA(a1,{"stroke-dasharray":ba[ao](",")});}};a5[J]("rotation")&&(aT=a5.rotation);var aS=(aT+aj)[u](a);if(!(aS.length-1)){aS=null;}else{aS[1]=+aS[1];aS[2]=+aS[2];}N(aT)&&aW.rotate(0,true);for(var a0 in a5){if(a5[J](a0)){if(!h[J](a0)){continue;}var aY=a5[a0];aX[a0]=aY;switch(a0){case"rotation":aW.rotate(aY,true);break;case"href":case"title":case"target":var a3=a1.parentNode;if(aO.call(a3.tagName)!="a"){var R=aA("a");a3.insertBefore(R,a1);R[aC](a1);a3=R;}a3.setAttributeNS(aW.paper.xlink,a0,aY);break;case"cursor":a1.style.cursor=aY;break;case"clip-rect":var i=(aY+aj)[u](a);if(i[l]==4){aW.clip&&aW.clip.parentNode.parentNode.removeChild(aW.clip.parentNode);var E=aA("clipPath"),a2=aA("rect");E.id="r"+(ag._id++)[ap](36);aA(a2,{x:i[0],y:i[1],width:i[2],height:i[3]});E[aC](a2);aW.paper.defs[aC](E);aA(a1,{"clip-path":"url(#"+E.id+")"});aW.clip=a2;}if(!aY){var a4=D.getElementById(a1.getAttribute("clip-path")[aF](/(^url\(#|\)$)/g,aj));a4&&a4.parentNode.removeChild(a4);aA(a1,{"clip-path":aj});delete aW.clip;}break;case"path":if(aY&&aW.type=="path"){aX.path=M(p(aY));aA(a1,{d:aX.path});}break;case"width":a1[r](a0,aY);if(aX.fx){a0="x";aY=aX.x;}else{break;}case"x":if(aX.fx){aY=-aX.x-(aX.width||0);}case"rx":if(a0=="rx"&&aW.type=="rect"){break;}case"cx":aS&&(a0=="x"||a0=="cx")&&(aS[1]+=aY-aX[a0]);a1[r](a0,H(aY));aW.pattern&&G(aW);break;case"height":a1[r](a0,aY);if(aX.fy){a0="y";aY=aX.y;}else{break;}case"y":if(aX.fy){aY=-aX.y-(aX.height||0);}case"ry":if(a0=="ry"&&aW.type=="rect"){break;}case"cy":aS&&(a0=="y"||a0=="cy")&&(aS[2]+=aY-aX[a0]);a1[r](a0,H(aY));aW.pattern&&G(aW);break;case"r":if(aW.type=="rect"){aA(a1,{rx:aY,ry:aY});}else{a1[r](a0,aY);}break;case"src":if(aW.type=="image"){a1.setAttributeNS(aW.paper.xlink,"href",aY);}break;case"stroke-width":a1.style.strokeWidth=aY;a1[r](a0,aY);if(aX["stroke-dasharray"]){aP(aW,aX["stroke-dasharray"]);}break;case"stroke-dasharray":aP(aW,aY);break;case"translation":var aQ=(aY+aj)[u](a);aQ[0]=+aQ[0]||0;aQ[1]=+aQ[1]||0;if(aS){aS[1]+=aQ[0];aS[2]+=aQ[1];}q.call(aW,aQ[0],aQ[1]);break;case"scale":var aQ=(aY+aj)[u](a);aW.scale(+aQ[0]||1,+aQ[1]||+aQ[0]||1,+aQ[2]||null,+aQ[3]||null);break;case"fill":var S=(aY+aj).match(c);if(S){var E=aA("pattern"),aV=aA("image");E.id="r"+(ag._id++)[ap](36);aA(E,{x:0,y:0,patternUnits:"userSpaceOnUse"});aA(aV,{x:0,y:0});aV.setAttributeNS(aW.paper.xlink,"href",S[1]);E[aC](aV);var a6=D.createElement("img");a6.style.cssText="position:absolute;left:-9999em;top-9999em";a6.onload=function(){aA(E,{width:this.offsetWidth,height:this.offsetHeight});aA(aV,{width:this.offsetWidth,height:this.offsetHeight});D.body.removeChild(this);aG.safari();};D.body[aC](a6);a6.src=S[1];aW.paper.defs[aC](E);a1.style.fill="url(#"+E.id+")";aA(a1,{fill:"url(#"+E.id+")"});aW.pattern=E;aW.pattern&&G(aW);break;}if(!ag.getRGB(aY).error){delete a5.gradient;delete aX.gradient;!ag.is(aX.opacity,"undefined")&&ag.is(a5.opacity,"undefined")&&aA(a1,{opacity:aX.opacity});!ag.is(aX["fill-opacity"],"undefined")&&ag.is(a5["fill-opacity"],"undefined")&&aA(a1,{"fill-opacity":aX["fill-opacity"]});}else{if((({circle:1,ellipse:1})[J](aW.type)||(aY+aj).charAt()!="r")&&b(a1,aY,aW.paper)){aX.gradient=aY;aX.fill="none";break;}}case"stroke":a1[r](a0,ag.getRGB(aY).hex);break;case"gradient":(({circle:1,ellipse:1})[J](aW.type)||(aY+aj).charAt()!="r")&&b(a1,aY,aW.paper);break;case"opacity":case"fill-opacity":if(aX.gradient){var e=D.getElementById(a1.getAttribute("fill")[aF](/^url\(#|\)$/g,aj));if(e){var aR=e.getElementsByTagName("stop");aR[aR[l]-1][r]("stop-opacity",aY);}break;}default:a0=="font-size"&&(aY=z(aY,10)+"px");var aU=a0[aF](/(\-.)/g,function(a7){return aE.call(a7.substring(1));});a1.style[aU]=aY;a1[r](a0,aY);break;}}}x(aW,a5);if(aS){aW.rotate(aS.join(af));}else{N(aT)&&aW.rotate(aT,true);}};var g=1.2;var x=function(e,S){if(e.type!="text"||!(S[J]("text")||S[J]("font")||S[J]("font-size")||S[J]("x")||S[J]("y"))){return;}var aT=e.attrs,E=e.node,aV=E.firstChild?z(D.defaultView.getComputedStyle(E.firstChild,aj).getPropertyValue("font-size"),10):10;if(S[J]("text")){aT.text=S.text;while(E.firstChild){E.removeChild(E.firstChild);}var R=(S.text+aj)[u]("\n");for(var aP=0,aU=R[l];aP<aU;aP++){if(R[aP]){var aR=aA("tspan");aP&&aA(aR,{dy:aV*g,x:aT.x});aR[aC](D.createTextNode(R[aP]));E[aC](aR);}}}else{var R=E.getElementsByTagName("tspan");for(var aP=0,aU=R[l];aP<aU;aP++){aP&&aA(R[aP],{dy:aV*g,x:aT.x});}}aA(E,{y:aT.y});var aQ=e.getBBox(),aS=aT.y-(aQ.y+aQ.height/2);aS&&isFinite(aS)&&aA(E,{y:aT.y+aS});};var an=function(i,e){var R=0,E=0;this[0]=i;this.id=ag._oid++;this.node=i;i.raphael=this;this.paper=e;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!e.bottom&&(e.bottom=this);this.prev=e.top;e.top&&(e.top.next=this);e.top=this;this.next=null;};an[aN].rotate=function(i,e,R){if(this.removed){return this;}if(i==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][ao](af);}return this._.rt.deg;}var E=this.getBBox();i=(i+aj)[u](a);if(i[l]-1){e=N(i[1]);R=N(i[2]);}i=N(i[0]);if(e!=null){this._.rt.deg=i;}else{this._.rt.deg+=i;}(R==null)&&(e=null);this._.rt.cx=e;this._.rt.cy=R;e=e==null?E.x+E.width/2:e;R=R==null?E.y+E.height/2:R;if(this._.rt.deg){this.transformations[0]=ag.format("rotate({0} {1} {2})",this._.rt.deg,e,R);this.clip&&aA(this.clip,{transform:ag.format("rotate({0} {1} {2})",-this._.rt.deg,e,R)});}else{this.transformations[0]=aj;this.clip&&aA(this.clip,{transform:aj});}aA(this.node,{transform:this.transformations[ao](af)});return this;};an[aN].hide=function(){!this.removed&&(this.node.style.display="none");return this;};an[aN].show=function(){!this.removed&&(this.node.style.display="");return this;};an[aN].remove=function(){if(this.removed){return;}ad(this,this.paper);this.node.parentNode.removeChild(this.node);for(var e in this){delete this[e];}this.removed=true;};an[aN].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return L(this.attrs.path);}if(this.node.style.display=="none"){this.show();var R=true;}var aR={};try{aR=this.node.getBBox();}catch(aP){}finally{aR=aR||{};}if(this.type=="text"){aR={x:aR.x,y:Infinity,width:0,height:0};for(var E=0,S=this.node.getNumberOfChars();E<S;E++){var aQ=this.node.getExtentOfChar(E);(aQ.y<aR.y)&&(aR.y=aQ.y);(aQ.y+aQ.height-aR.y>aR.height)&&(aR.height=aQ.y+aQ.height-aR.y);(aQ.x+aQ.width-aR.x>aR.width)&&(aR.width=aQ.x+aQ.width-aR.x);}}R&&this.hide();return aR;};an[aN].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var S={};for(var R in this.attrs){if(this.attrs[J](R)){S[R]=this.attrs[R];}}return S;}if(arguments[l]==1&&ag.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(arguments[l]==1&&ag.is(arguments[0],"array")){var e={};for(var E in arguments[0]){if(arguments[0][J](E)){e[arguments[0][E]]=this.attrs[arguments[0][E]];}}return e;}if(arguments[l]==2){var aP={};aP[arguments[0]]=arguments[1];T(this,aP);}else{if(arguments[l]==1&&ag.is(arguments[0],"object")){T(this,arguments[0]);}}return this;};an[aN].toFront=function(){if(this.removed){return this;}this.node.parentNode[aC](this.node);var e=this.paper;e.top!=this&&P(this,e);return this;};an[aN].toBack=function(){if(this.removed){return this;}if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);j(this,this.paper);var e=this.paper;}return this;};an[aN].insertAfter=function(i){if(this.removed){return this;}var e=this.paper,E=i.node;if(E.nextSibling){E.parentNode.insertBefore(this.node,E.nextSibling);}else{E.parentNode[aC](this.node);}v(this,i,this.paper);return this;};an[aN].insertBefore=function(e){if(this.removed){return this;}var i=e.node;i.parentNode.insertBefore(this.node,i);ai(this,e,this.paper);return this;};var I=function(i,e,aP,S){e=H(e);aP=H(aP);var R=aA("circle");i.canvas&&i.canvas[aC](R);var E=new an(R,i);E.attrs={cx:e,cy:aP,r:S,fill:"none",stroke:"#000"};E.type="circle";aA(R,E.attrs);return E;};var aw=function(E,e,aR,i,aP,aQ){e=H(e);aR=H(aR);var S=aA("rect");E.canvas&&E.canvas[aC](S);var R=new an(S,E);R.attrs={x:e,y:aR,width:i,height:aP,r:aQ||0,rx:aQ||0,ry:aQ||0,fill:"none",stroke:"#000"};R.type="rect";aA(S,R.attrs);return R;};var aa=function(i,e,aQ,aP,S){e=H(e);aQ=H(aQ);var R=aA("ellipse");i.canvas&&i.canvas[aC](R);var E=new an(R,i);E.attrs={cx:e,cy:aQ,rx:aP,ry:S,fill:"none",stroke:"#000"};E.type="ellipse";aA(R,E.attrs);return E;};var m=function(E,aQ,e,aR,i,aP){var S=aA("image");aA(S,{x:e,y:aR,width:i,height:aP,preserveAspectRatio:"none"});S.setAttributeNS(E.xlink,"href",aQ);E.canvas&&E.canvas[aC](S);var R=new an(S,E);R.attrs={x:e,y:aR,width:i,height:aP,src:aQ};R.type="image";return R;};var O=function(i,e,aP,S){var R=aA("text");aA(R,{x:e,y:aP,"text-anchor":"middle"});i.canvas&&i.canvas[aC](R);var E=new an(R,i);E.attrs={x:e,y:aP,"text-anchor":"middle",text:S,font:h.font,stroke:"none",fill:"#000"};E.type="text";T(E,E.attrs);return E;};var aK=function(i,e){this.width=i||this.width;this.height=e||this.height;this.canvas[r]("width",this.width);this.canvas[r]("height",this.height);return this;};var s=function(){var R=ah[aL](null,arguments),E=R&&R.container,i=R.x,aR=R.y,S=R.width,e=R.height;if(!E){throw new Error("SVG container not found.");}aG.canvas=aA("svg");var aQ=aG.canvas;aG.width=S||512;aG.height=e||342;aA(aQ,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:aG.width,height:aG.height});if(E==1){aQ.style.cssText="position:absolute;left:"+i+"px;top:"+aR+"px";D.body[aC](aQ);}else{if(E.firstChild){E.insertBefore(aQ,E.firstChild);}else{E[aC](aQ);}}E={canvas:aQ};for(var aP in aG){if(aG[J](aP)){E[aP]=aG[aP];}}E.bottom=E.top=null;ax.call(E,E,ag.fn);E.clear();E.raphael=ag;return E;};aG.clear=function(){var e=this.canvas;while(e.firstChild){e.removeChild(e.firstChild);}this.bottom=this.top=null;(this.desc=aA("desc"))[aC](D.createTextNode("Created with Rapha\xebl"));e[aC](this.desc);e[aC](this.defs=aA("defs"));};aG.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if(ag.vml){var ay=function(aY){var aV=/[ahqtv]/ig,aQ=p;(aY+aj).match(aV)&&(aQ=A);aV=/[clmz]/g;if(aQ==p&&!(aY+aj).match(aV)){var E={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},S=/([clmz]),?([^clmz]*)/gi,aP=/-?[^,\s-]+/g;var aU=(aY+aj)[aF](S,function(aZ,a1,i){var a0=[];i[aF](aP,function(a2){a0[d](H(a2));});return E[a1]+a0;});return aU;}var aW=aQ(aY),R,aU=[],e;for(var aS=0,aX=aW[l];aS<aX;aS++){R=aW[aS];e=aO.call(aW[aS][0]);e=="z"&&(e="x");for(var aR=1,aT=R[l];aR<aT;aR++){e+=H(R[aR])+(aR!=aT-1?",":aj);}aU[d](e);}return aU[ao](af);};ag[ap]=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl "+this.version;};var o=function(e,aP){var R=Z("group");R.style.cssText="position:absolute;left:0;top:0;width:"+aP.width+"px;height:"+aP.height+"px";R.coordsize=aP.coordsize;R.coordorigin=aP.coordorigin;var E=Z("shape"),i=E.style;i.width=aP.width+"px";i.height=aP.height+"px";E.coordsize=this.coordsize;E.coordorigin=this.coordorigin;R[aC](E);var S=new an(E,R,aP);S.isAbsolute=true;S.type="path";S.path=[];S.Path=aj;e&&T(S,{fill:"none",stroke:"#000",path:e});aP.canvas[aC](R);return S;};var T=function(aT,aY){aT.attrs=aT.attrs||{};var aW=aT.node,aZ=aT.attrs,aQ=aW.style,R,a3=aT;for(var aR in aY){if(aY[J](aR)){aZ[aR]=aY[aR];}}aY.href&&(aW.href=aY.href);aY.title&&(aW.title=aY.title);aY.target&&(aW.target=aY.target);aY.cursor&&(aQ.cursor=aY.cursor);if(aY.path&&aT.type=="path"){aZ.path=aY.path;aW.path=ay(aZ.path);}if(aY.rotation!=null){aT.rotate(aY.rotation,true);}if(aY.translation){R=(aY.translation+aj)[u](a);q.call(aT,R[0],R[1]);if(aT._.rt.cx!=null){aT._.rt.cx+=+R[0];aT._.rt.cy+=+R[1];aT.setBox(aT.attrs,R[0],R[1]);}}if(aY.scale){R=(aY.scale+aj)[u](a);aT.scale(+R[0]||1,+R[1]||+R[0]||1,+R[2]||null,+R[3]||null);}if("clip-rect" in aY){var e=(aY["clip-rect"]+aj)[u](a);if(e[l]==4){e[2]=+e[2]+(+e[0]);e[3]=+e[3]+(+e[1]);var aS=aW.clipRect||D.createElement("div"),a2=aS.style,aP=aW.parentNode;a2.clip=ag.format("rect({1}px {2}px {3}px {0}px)",e);if(!aW.clipRect){a2.position="absolute";a2.top=0;a2.left=0;a2.width=aT.paper.width+"px";a2.height=aT.paper.height+"px";aP.parentNode.insertBefore(aS,aP);aS[aC](aP);aW.clipRect=aS;}}if(!aY["clip-rect"]){aW.clipRect&&(aW.clipRect.style.clip=aj);}}if(aT.type=="image"&&aY.src){aW.src=aY.src;}if(aT.type=="image"&&aY.opacity){aW.filterOpacity=" progid:DXImageTransform.Microsoft.Alpha(opacity="+(aY.opacity*100)+")";aQ.filter=(aW.filterMatrix||aj)+(aW.filterOpacity||aj);}aY.font&&(aQ.font=aY.font);aY["font-family"]&&(aQ.fontFamily='"'+aY["font-family"][u](",")[0][aF](/^['"]+|['"]+$/g,aj)+'"');aY["font-size"]&&(aQ.fontSize=aY["font-size"]);aY["font-weight"]&&(aQ.fontWeight=aY["font-weight"]);aY["font-style"]&&(aQ.fontStyle=aY["font-style"]);if(aY.opacity!=null||aY["stroke-width"]!=null||aY.fill!=null||aY.stroke!=null||aY["stroke-width"]!=null||aY["stroke-opacity"]!=null||aY["fill-opacity"]!=null||aY["stroke-dasharray"]!=null||aY["stroke-miterlimit"]!=null||aY["stroke-linejoin"]!=null||aY["stroke-linecap"]!=null){aW=aT.shape||aW;var aX=(aW.getElementsByTagName("fill")&&aW.getElementsByTagName("fill")[0]),a0=false;!aX&&(a0=aX=Z("fill"));if("fill-opacity" in aY||"opacity" in aY){var i=((+aZ["fill-opacity"]+1||2)-1)*((+aZ.opacity+1||2)-1);i<0&&(i=0);i>1&&(i=1);aX.opacity=i;}aY.fill&&(aX.on=true);if(aX.on==null||aY.fill=="none"){aX.on=false;}if(aX.on&&aY.fill){var E=aY.fill.match(c);if(E){aX.src=E[1];aX.type="tile";}else{aX.color=ag.getRGB(aY.fill).hex;aX.src=aj;aX.type="solid";if(ag.getRGB(aY.fill).error&&(a3.type in {circle:1,ellipse:1}||(aY.fill+aj).charAt()!="r")&&b(a3,aY.fill)){aZ.fill="none";aZ.gradient=aY.fill;}}}a0&&aW[aC](aX);var S=(aW.getElementsByTagName("stroke")&&aW.getElementsByTagName("stroke")[0]),a1=false;!S&&(a1=S=Z("stroke"));if((aY.stroke&&aY.stroke!="none")||aY["stroke-width"]||aY["stroke-opacity"]!=null||aY["stroke-dasharray"]||aY["stroke-miterlimit"]||aY["stroke-linejoin"]||aY["stroke-linecap"]){S.on=true;}(aY.stroke=="none"||S.on==null||aY.stroke==0||aY["stroke-width"]==0)&&(S.on=false);S.on&&aY.stroke&&(S.color=ag.getRGB(aY.stroke).hex);var i=((+aZ["stroke-opacity"]+1||2)-1)*((+aZ.opacity+1||2)-1),aU=(N(aY["stroke-width"])||1)*0.75;i<0&&(i=0);i>1&&(i=1);aY["stroke-width"]==null&&(aU=aZ["stroke-width"]);aY["stroke-width"]&&(S.weight=aU);aU&&aU<1&&(i*=aU)&&(S.weight=1);S.opacity=i;aY["stroke-linejoin"]&&(S.joinstyle=aY["stroke-linejoin"]||"miter");S.miterlimit=aY["stroke-miterlimit"]||8;aY["stroke-linecap"]&&(S.endcap=aY["stroke-linecap"]=="butt"?"flat":aY["stroke-linecap"]=="square"?"square":"round");if(aY["stroke-dasharray"]){var aV={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};S.dashstyle=aV[J](aY["stroke-dasharray"])?aV[aY["stroke-dasharray"]]:aj;}a1&&aW[aC](S);}if(a3.type=="text"){var aQ=a3.paper.span.style;aZ.font&&(aQ.font=aZ.font);aZ["font-family"]&&(aQ.fontFamily=aZ["font-family"]);aZ["font-size"]&&(aQ.fontSize=aZ["font-size"]);aZ["font-weight"]&&(aQ.fontWeight=aZ["font-weight"]);aZ["font-style"]&&(aQ.fontStyle=aZ["font-style"]);a3.node.string&&(a3.paper.span.innerHTML=(a3.node.string+aj)[aF](/</g,"&#60;")[aF](/&/g,"&#38;")[aF](/\n/g,"<br>"));a3.W=aZ.w=a3.paper.span.offsetWidth;a3.H=aZ.h=a3.paper.span.offsetHeight;a3.X=aZ.x;a3.Y=aZ.y+H(a3.H/2);switch(aZ["text-anchor"]){case"start":a3.node.style["v-text-align"]="left";a3.bbx=H(a3.W/2);break;case"end":a3.node.style["v-text-align"]="right";a3.bbx=-H(a3.W/2);break;default:a3.node.style["v-text-align"]="center";break;}}};var b=function(e,aR){e.attrs=e.attrs||{};var aS=e.attrs,aU=e.node.getElementsByTagName("fill"),aP="linear",aQ=".5 .5";e.attrs.gradient=aR;aR=(aR+aj)[aF](/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(aW,aX,i){aP="radial";if(aX&&i){aX=N(aX);i=N(i);if(aD(aX-0.5,2)+aD(i-0.5,2)>0.25){i=U.sqrt(0.25-aD(aX-0.5,2))+0.5;}aQ=aX+af+i;}return aj;});aR=aR[u](/\s*\-\s*/);if(aP=="linear"){var E=aR.shift();E=-N(E);if(isNaN(E)){return null;}}var S=n(aR);if(!S){return null;}e=e.shape||e.node;aU=aU[0]||Z("fill");if(S[l]){aU.on=true;aU.method="none";aU.type=(aP=="radial")?"gradientradial":"gradient";aU.color=S[0].color;aU.color2=S[S[l]-1].color;var aV=[];for(var R=0,aT=S[l];R<aT;R++){S[R].offset&&aV[d](S[R].offset+af+S[R].color);}aU.colors.value=aV[l]?aV[ao](","):"0% "+aU.color;if(aP=="radial"){aU.focus="100%";aU.focussize=aQ;aU.focusposition=aQ;}else{aU.angle=(270-E)%360;}}return 1;};var an=function(S,aQ,e){var aP=0,E=0,i=0,R=1;this[0]=S;this.id=ag._oid++;this.node=S;S.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=aQ;this.paper=e;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!e.bottom&&(e.bottom=this);this.prev=e.top;e.top&&(e.top.next=this);e.top=this;this.next=null;};an[aN].rotate=function(i,e,E){if(this.removed){return this;}if(i==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy][ao](af);}return this._.rt.deg;}i=(i+aj)[u](a);if(i[l]-1){e=N(i[1]);E=N(i[2]);}i=N(i[0]);if(e!=null){this._.rt.deg=i;}else{this._.rt.deg+=i;}E==null&&(e=null);this._.rt.cx=e;this._.rt.cy=E;this.setBox(this.attrs,e,E);this.Group.style.rotation=this._.rt.deg;return this;};an[aN].setBox=function(a1,E,e){if(this.removed){return this;}var aV=this.Group.style,S=(this.shape&&this.shape.style)||this.node.style;a1=a1||{};for(var aZ in a1){if(a1[J](aZ)){this.attrs[aZ]=a1[aZ];}}E=E||this._.rt.cx;e=e||this._.rt.cy;var aX=this.attrs,aR,aQ,aS,a0;switch(this.type){case"circle":aR=aX.cx-aX.r;aQ=aX.cy-aX.r;aS=a0=aX.r*2;break;case"ellipse":aR=aX.cx-aX.rx;aQ=aX.cy-aX.ry;aS=aX.rx*2;a0=aX.ry*2;break;case"rect":case"image":aR=+aX.x;aQ=+aX.y;aS=aX.width||0;a0=aX.height||0;break;case"text":this.textpath.v=["m",H(aX.x),", ",H(aX.y-2),"l",H(aX.x)+1,", ",H(aX.y-2)][ao](aj);aR=aX.x-H(this.W/2);aQ=aX.y-this.H/2;aS=this.W;a0=this.H;break;case"path":if(!this.attrs.path){aR=0;aQ=0;aS=this.paper.width;a0=this.paper.height;}else{var aY=L(this.attrs.path);aR=aY.x;aQ=aY.y;aS=aY.width;a0=aY.height;}break;default:aR=0;aQ=0;aS=this.paper.width;a0=this.paper.height;break;}E=(E==null)?aR+aS/2:E;e=(e==null)?aQ+a0/2:e;var R=E-this.paper.width/2,aU=e-this.paper.height/2;if(this.type=="path"||this.type=="text"){(aV.left!=R+"px")&&(aV.left=R+"px");(aV.top!=aU+"px")&&(aV.top=aU+"px");this.X=this.type=="text"?aR:-R;this.Y=this.type=="text"?aQ:-aU;this.W=aS;this.H=a0;(S.left!=-R+"px")&&(S.left=-R+"px");(S.top!=-aU+"px")&&(S.top=-aU+"px");}else{(aV.left!=R+"px")&&(aV.left=R+"px");(aV.top!=aU+"px")&&(aV.top=aU+"px");this.X=aR;this.Y=aQ;this.W=aS;this.H=a0;(aV.width!=this.paper.width+"px")&&(aV.width=this.paper.width+"px");(aV.height!=this.paper.height+"px")&&(aV.height=this.paper.height+"px");(S.left!=aR-R+"px")&&(S.left=aR-R+"px");(S.top!=aQ-aU+"px")&&(S.top=aQ-aU+"px");(S.width!=aS+"px")&&(S.width=aS+"px");(S.height!=a0+"px")&&(S.height=a0+"px");var aP=(+a1.r||0)/az(aS,a0);if(this.type=="rect"&&this.arcsize.toFixed(4)!=aP.toFixed(4)&&(aP||this.arcsize)){var aW=Z("roundrect"),a2={},aZ=0,aT=this.events[l];aW.arcsize=aP;aW.raphael=this;this.Group[aC](aW);this.Group.removeChild(this.node);this[0]=this.node=aW;this.arcsize=aP;for(var aZ in aX){a2[aZ]=aX[aZ];}delete a2.scale;this.attr(a2);if(this.events){for(;aZ<aT;aZ++){this.events[aZ].unbind=X(this.node,this.events[aZ].name,this.events[aZ].f,this);}}}}};an[aN].hide=function(){!this.removed&&(this.Group.style.display="none");return this;};an[aN].show=function(){!this.removed&&(this.Group.style.display="block");return this;};an[aN].getBBox=function(){if(this.removed){return this;}if(this.type=="path"){return L(this.attrs.path);}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H};};an[aN].remove=function(){if(this.removed){return;}ad(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var e in this){delete this[e];}this.removed=true;};an[aN].attr=function(){if(this.removed){return this;}if(arguments[l]==0){var R={};for(var E in this.attrs){if(this.attrs[J](E)){R[E]=this.attrs[E];}}return R;}if(arguments[l]==1&&ag.is(arguments[0],"string")){if(arguments[0]=="translation"){return q.call(this);}if(arguments[0]=="rotation"){return this.rotate();}if(arguments[0]=="scale"){return this.scale();}if(arguments[0]=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient;}return this.attrs[arguments[0]];}if(this.attrs&&arguments[l]==1&&ag.is(arguments[0],"array")){var e={};for(var E=0,S=arguments[0][l];E<S;E++){e[arguments[0][E]]=this.attrs[arguments[0][E]];}return e;}var aP;if(arguments[l]==2){aP={};aP[arguments[0]]=arguments[1];}arguments[l]==1&&ag.is(arguments[0],"object")&&(aP=arguments[0]);if(aP){if(aP.text&&this.type=="text"){this.node.string=aP.text;}T(this,aP);if(aP.gradient&&(({circle:1,ellipse:1})[J](this.type)||(aP.gradient+aj).charAt()!="r")){b(this,aP.gradient);}(this.type!="path"||this._.rt.deg)&&this.setBox(this.attrs);}return this;};an[aN].toFront=function(){!this.removed&&this.Group.parentNode[aC](this.Group);this.paper.top!=this&&P(this,this.paper);return this;};an[aN].toBack=function(){if(this.removed){return this;}if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);j(this,this.paper);}return this;};an[aN].insertAfter=function(e){if(this.removed){return this;}if(e.Group.nextSibling){e.Group.parentNode.insertBefore(this.Group,e.Group.nextSibling);}else{e.Group.parentNode[aC](this.Group);}v(this,e,this.paper);return this;};an[aN].insertBefore=function(e){if(this.removed){return this;}e.Group.parentNode.insertBefore(this.Group,e.Group);ai(this,e,this.paper);return this;};var I=function(i,e,aR,aP){var S=Z("group"),aQ=Z("oval"),E=aQ.style;S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;S[aC](aQ);var R=new an(aQ,S,i);R.type="circle";T(R,{stroke:"#000",fill:"none"});R.attrs.cx=e;R.attrs.cy=aR;R.attrs.r=aP;R.setBox({x:e-aP,y:aR-aP,width:aP*2,height:aP*2});i.canvas[aC](S);return R;};var aw=function(i,aR,aQ,aS,R,e){var S=Z("group"),E=Z("roundrect"),aT=(+e||0)/(az(aS,R));S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;S[aC](E);E.arcsize=aT;var aP=new an(E,S,i);aP.type="rect";T(aP,{stroke:"#000"});aP.arcsize=aT;aP.setBox({x:aR,y:aQ,width:aS,height:R,r:e});i.canvas[aC](S);return aP;};var aa=function(e,aS,aR,E,i){var S=Z("group"),R=Z("oval"),aQ=R.style;S.style.cssText="position:absolute;left:0;top:0;width:"+e.width+"px;height:"+e.height+"px";S.coordsize=e.coordsize;S.coordorigin=e.coordorigin;S[aC](R);var aP=new an(R,S,e);aP.type="ellipse";T(aP,{stroke:"#000"});aP.attrs.cx=aS;aP.attrs.cy=aR;aP.attrs.rx=E;aP.attrs.ry=i;aP.setBox({x:aS-E,y:aR-i,width:E*2,height:i*2});e.canvas[aC](S);return aP;};var m=function(i,e,aS,aR,aT,R){var S=Z("group"),E=Z("image"),aQ=E.style;S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;E.src=e;S[aC](E);var aP=new an(E,S,i);aP.type="image";aP.attrs.src=e;aP.attrs.x=aS;aP.attrs.y=aR;aP.attrs.w=aT;aP.attrs.h=R;aP.setBox({x:aS,y:aR,width:aT,height:R});i.canvas[aC](S);return aP;};var O=function(i,aS,aR,aT){var S=Z("group"),R=Z("shape"),aQ=R.style,aU=Z("path"),e=aU.style,E=Z("textpath");S.style.cssText="position:absolute;left:0;top:0;width:"+i.width+"px;height:"+i.height+"px";S.coordsize=i.coordsize;S.coordorigin=i.coordorigin;aU.v=ag.format("m{0},{1}l{2},{1}",H(aS),H(aR),H(aS)+1);aU.textpathok=true;aQ.width=i.width;aQ.height=i.height;E.string=aT+aj;E.on=true;R[aC](E);R[aC](aU);S[aC](R);var aP=new an(E,S,i);aP.shape=R;aP.textpath=aU;aP.type="text";aP.attrs.text=aT;aP.attrs.x=aS;aP.attrs.y=aR;aP.attrs.w=1;aP.attrs.h=1;T(aP,{font:h.font,stroke:"none",fill:"#000"});aP.setBox();i.canvas[aC](S);return aP;};var aK=function(E,e){var i=this.canvas.style;E==+E&&(E+="px");e==+e&&(e+="px");i.width=E;i.height=e;i.clip="rect(0 "+E+" "+e+" 0)";return this;};D.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!D.namespaces.rvml&&D.namespaces.add("rvml","urn:schemas-microsoft-com:vml");var Z=function(e){return D.createElement("<rvml:"+e+' class="rvml">');};}catch(Y){var Z=function(e){return D.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var s=function(){var R=ah[aL](null,arguments),i=R.container,aT=R.height,aU,E=R.width,aS=R.x,aR=R.y;if(!i){throw new Error("VML container not found.");}var aP={},aQ=aP.canvas=D.createElement("div"),S=aQ.style;E=E||512;aT=aT||342;E==+E&&(E+="px");aT==+aT&&(aT+="px");aP.width=1000;aP.height=1000;aP.coordsize="1000 1000";aP.coordorigin="0 0";aP.span=D.createElement("span");aP.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";aQ[aC](aP.span);S.cssText=ag.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",E,aT);if(i==1){D.body[aC](aQ);S.left=aS+"px";S.top=aR+"px";i={style:{width:E,height:aT}};}else{i.style.width=E;i.style.height=aT;if(i.firstChild){i.insertBefore(aQ,i.firstChild);}else{i[aC](aQ);}}for(var e in aG){if(aG[J](e)){aP[e]=aG[e];}}ax.call(aP,aP,ag.fn);aP.top=aP.bottom=null;aP.raphael=ag;return aP;};aG.clear=function(){this.canvas.innerHTML=aj;this.bottom=this.top=null;};aG.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if((/^Apple|^Google/).test(navigator.vendor)&&!(navigator.userAgent.indexOf("Version/4.0")+1)){aG.safari=function(){var e=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){e.remove();});};}else{aG.safari=function(){};}var X=(function(){if(D.addEventListener){return function(S,E,i,e){var R=function(aP){return i.call(e,aP);};S.addEventListener(E,R,false);return function(){S.removeEventListener(E,R,false);return true;};};}else{if(D.attachEvent){return function(aP,R,E,i){var S=function(aQ){return E.call(i,aQ||ak.event);};aP.attachEvent("on"+R,S);var e=function(){aP.detachEvent("on"+R,S);return true;};return e;};}}})();for(var V=y[l];V--;){(function(e){an[aN][e]=function(i){if(ag.is(i,"function")){this.events=this.events||[];this.events.push({name:e,f:i,unbind:X(this.shape||this.node,e,i,this)});}return this;};an[aN]["un"+e]=function(R){var E=this.events,i=E[l];while(i--){if(E[i].name==e&&E[i].f==R){E[i].unbind();E.splice(i,1);!E.length&&delete this.events;return this;}}return this;};})(y[V]);}an[aN].hover=function(i,e){return this.mouseover(i).mouseout(e);};an[aN].unhover=function(i,e){return this.unmouseover(i).unmouseout(e);};aG.circle=function(e,E,i){return I(this,e||0,E||0,i||0);};aG.rect=function(e,S,i,E,R){return aw(this,e||0,S||0,i||0,E||0,R||0);};aG.ellipse=function(e,R,E,i){return aa(this,e||0,R||0,E||0,i||0);};aG.path=function(e){e&&!ag.is(e,"string")&&!ag.is(e[0],"array")&&(e+=aj);return o(ag.format[aL](ag,arguments),this);};aG.image=function(R,e,S,i,E){return m(this,R||"about:blank",e||0,S||0,i||0,E||0);};aG.text=function(e,E,i){return O(this,e||0,E||0,i||aj);};aG.set=function(e){arguments[l]>1&&(e=Array[aN].splice.call(arguments,0,arguments[l]));return new K(e);};aG.setSize=aK;function au(){return this.x+af+this.y;}an[aN].scale=function(aZ,aY,R,E){if(aZ==null&&aY==null){return{x:this._.sx,y:this._.sy,toString:au};}aY=aY||aZ;!+aY&&(aY=aZ);var a3,a1,a2,a0,bf=this.attrs;if(aZ!=0){var aW=this.getBBox(),aT=aW.x+aW.width/2,aP=aW.y+aW.height/2,be=aZ/this._.sx,bd=aY/this._.sy;R=(+R||R==0)?R:aT;E=(+E||E==0)?E:aP;var aV=~~(aZ/U.abs(aZ)),aS=~~(aY/U.abs(aY)),a6=this.node.style,bh=R+(aT-R)*be,bg=E+(aP-E)*bd;switch(this.type){case"rect":case"image":var aU=bf.width*aV*be,a5=bf.height*aS*bd,aX=bf.r*az(be,bd),aR=bh-aU/2,S=bg-a5/2;this.attr({height:a5,r:aX,width:aU,x:aR,y:S});break;case"circle":case"ellipse":this.attr({rx:bf.rx*aV*be,ry:bf.ry*aS*bd,r:bf.r*az(aV*be,aS*bd),cx:bh,cy:bg});break;case"path":var a8=W(bf.path),a9=true;for(var bc=0,a4=a8[l];bc<a4;bc++){var a7=a8[bc],ba,aQ=aE.call(a7[0]);if(aQ=="M"&&a9){continue;}else{a9=false;}if(aQ=="A"){a7[a8[bc][l]-2]*=be;a7[a8[bc][l]-1]*=bd;a7[1]*=aV*be;a7[2]*=aS*bd;a7[5]=+(aV+aS?!!+a7[5]:!+a7[5]);}else{if(aQ=="H"){for(ba=1,jj=a7[l];ba<jj;ba++){a7[ba]*=be;}}else{if(aQ=="V"){for(ba=1,jj=a7[l];ba<jj;ba++){a7[ba]*=bd;}}else{for(ba=1,jj=a7[l];ba<jj;ba++){a7[ba]*=(ba%2)?be:bd;}}}}}var e=L(a8),a3=bh-e.x-e.width/2,a1=bg-e.y-e.height/2;a8[0][1]+=a3;a8[0][2]+=a1;this.attr({path:a8});break;}if(this.type in {text:1,image:1}&&(aV!=1||aS!=1)){if(this.transformations){this.transformations[2]="scale("[aI](aV,",",aS,")");this.node[r]("transform",this.transformations[ao](af));a3=(aV==-1)?-bf.x-(aU||0):bf.x;a1=(aS==-1)?-bf.y-(a5||0):bf.y;this.attr({x:a3,y:a1});bf.fx=aV-1;bf.fy=aS-1;}else{this.node.filterMatrix=" progid:DXImageTransform.Microsoft.Matrix(M11="[aI](aV,", M12=0, M21=0, M22=",aS,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");a6.filter=(this.node.filterMatrix||aj)+(this.node.filterOpacity||aj);}}else{if(this.transformations){this.transformations[2]=aj;this.node[r]("transform",this.transformations[ao](af));bf.fx=0;bf.fy=0;}else{this.node.filterMatrix=aj;a6.filter=(this.node.filterMatrix||aj)+(this.node.filterOpacity||aj);}}bf.scale=[aZ,aY,R,E][ao](af);this._.sx=aZ;this._.sy=aY;}return this;};ag.easing_formulas={linear:function(e){return e;},"<":function(e){return aD(e,3);},">":function(e){return aD(e-1,3)+1;},"<>":function(e){e=e*2;if(e<1){return aD(e,3)/2;}e-=2;return(aD(e,3)+2)/2;},backIn:function(i){var e=1.70158;return i*i*((e+1)*i-e);},backOut:function(i){i=i-1;var e=1.70158;return i*i*((e+1)*i+e)+1;},elastic:function(E){if(E==0||E==1){return E;}var i=0.3,e=i/4;return aD(2,-10*E)*U.sin((E-e)*(2*U.PI)/i)+1;},bounce:function(R){var i=7.5625,E=2.75,e;if(R<(1/E)){e=i*R*R;}else{if(R<(2/E)){R-=(1.5/E);e=i*R*R+0.75;}else{if(R<(2.5/E)){R-=(2.25/E);e=i*R*R+0.9375;}else{R-=(2.625/E);e=i*R*R+0.984375;}}}return e;}};var B={length:0},aH=function(){var aS=+new Date;for(var a3 in B){if(a3!="length"&&B[J](a3)){var a8=B[a3];if(a8.stop){delete B[a3];B[l]--;continue;}var aQ=aS-a8.start,a1=a8.ms,a0=a8.easing,a4=a8.from,aX=a8.diff,R=a8.to,aW=a8.t,aZ=a8.prev||0,aR=a8.el,S=a8.callback,aY={},E;if(aQ<a1){var aP=ag.easing_formulas[a0]?ag.easing_formulas[a0](aQ/a1):aQ/a1;for(var a2 in a4){if(a4[J](a2)){switch(Q[a2]){case"number":E=+a4[a2]+aP*a1*aX[a2];break;case"colour":E="rgb("+[w(H(a4[a2].r+aP*a1*aX[a2].r)),w(H(a4[a2].g+aP*a1*aX[a2].g)),w(H(a4[a2].b+aP*a1*aX[a2].b))][ao](",")+")";break;case"path":E=[];for(var a6=0,aV=a4[a2][l];a6<aV;a6++){E[a6]=[a4[a2][a6][0]];for(var a5=1,a7=a4[a2][a6][l];a5<a7;a5++){E[a6][a5]=+a4[a2][a6][a5]+aP*a1*aX[a2][a6][a5];}E[a6]=E[a6][ao](af);}E=E[ao](af);break;case"csv":switch(a2){case"translation":var aU=aX[a2][0]*(aQ-aZ),aT=aX[a2][1]*(aQ-aZ);aW.x+=aU;aW.y+=aT;E=aU+af+aT;break;case"rotation":E=+a4[a2][0]+aP*a1*aX[a2][0];a4[a2][1]&&(E+=","+a4[a2][1]+","+a4[a2][2]);break;case"scale":E=[+a4[a2][0]+aP*a1*aX[a2][0],+a4[a2][1]+aP*a1*aX[a2][1],(2 in R[a2]?R[a2][2]:aj),(3 in R[a2]?R[a2][3]:aj)][ao](af);break;case"clip-rect":E=[];var a6=4;while(a6--){E[a6]=+a4[a2][a6]+aP*a1*aX[a2][a6];}break;}break;}aY[a2]=E;}}aR.attr(aY);aR._run&&aR._run.call(aR);}else{(aW.x||aW.y)&&aR.translate(-aW.x,-aW.y);R.scale&&(R.scale=R.scale+aj);aR.attr(R);delete B[a3];B[l]--;aR.in_animation=null;ag.is(S,"function")&&S.call(aR);}a8.prev=aQ;}}ag.svg&&aG.safari();B[l]&&setTimeout(aH);},w=function(e){return e>255?255:(e<0?0:e);},q=function(e,E){if(e==null){return{x:this._.tx,y:this._.ty};}this._.tx+=+e;this._.ty+=+E;switch(this.type){case"circle":case"ellipse":this.attr({cx:+e+this.attrs.cx,cy:+E+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+e+this.attrs.x,y:+E+this.attrs.y});break;case"path":var i=W(this.attrs.path);i[0][1]+=+e;i[0][2]+=+E;this.attr({path:i});break;}return this;};an[aN].animateWith=function(i,E,e,S,R){B[i.id]&&(E.start=B[i.id].start);return this.animate(E,e,S,R);};an[aN].onAnimation=function(e){this._run=e||null;return this;};an[aN].animate=function(R,e,aU,a0){if(ag.is(aU,"function")||!aU){a0=aU||null;}var aV={},aW={},aX={};for(var aT in R){if(R[J](aT)){if(Q[J](aT)){aV[aT]=this.attr(aT);(aV[aT]==null)&&(aV[aT]=h[aT]);aW[aT]=R[aT];switch(Q[aT]){case"number":aX[aT]=(aW[aT]-aV[aT])/e;break;case"colour":aV[aT]=ag.getRGB(aV[aT]);var aR=ag.getRGB(aW[aT]);aX[aT]={r:(aR.r-aV[aT].r)/e,g:(aR.g-aV[aT].g)/e,b:(aR.b-aV[aT].b)/e};break;case"path":var E=A(aV[aT],aW[aT]);aV[aT]=E[0];aW[aT]=E[1];aX[aT]=[];for(var aQ=0,aZ=aV[aT][l];aQ<aZ;aQ++){aX[aT][aQ]=[0];for(var S=1,aS=aV[aT][aQ][l];S<aS;S++){aX[aT][aQ][S]=(aW[aT][aQ][S]-aV[aT][aQ][S])/e;}}break;case"csv":var aY=(R[aT]+aj)[u](a),aP=(aV[aT]+aj)[u](a);switch(aT){case"translation":aV[aT]=[0,0];aX[aT]=[aY[0]/e,aY[1]/e];break;case"rotation":aV[aT]=(aP[1]==aY[1]&&aP[2]==aY[2])?aP:[0,aY[1],aY[2]];aX[aT]=[(aY[0]-aV[aT][0])/e,0,0];break;case"scale":R[aT]=aY;aV[aT]=(aV[aT]+aj)[u](a);aX[aT]=[(aY[0]-aV[aT][0])/e,(aY[1]-aV[aT][1])/e,0,0];break;case"clip-rect":aV[aT]=(aV[aT]+aj)[u](a);aX[aT]=[];var aQ=4;while(aQ--){aX[aT][aQ]=(aY[aQ]-aV[aT][aQ])/e;}break;}aW[aT]=aY;}}}}this.stop();this.in_animation=1;B[this.id]={start:R.start||+new Date,ms:e,easing:aU,from:aV,diff:aX,to:aW,el:this,callback:a0,t:{x:0,y:0}};++B[l]==1&&aH();return this;};an[aN].stop=function(){B[this.id]&&B[l]--;delete B[this.id];return this;};an[aN].translate=function(e,i){return this.attr({translation:e+" "+i});};an[aN][ap]=function(){return"Rapha\xebl\u2019s object";};ag.ae=B;var K=function(e){this.items=[];this[l]=0;if(e){for(var E=0,R=e[l];E<R;E++){if(e[E]&&(e[E].constructor==an||e[E].constructor==K)){this[this.items[l]]=this.items[this.items[l]]=e[E];this[l]++;}}}};K[aN][d]=function(){var S,e;for(var E=0,R=arguments[l];E<R;E++){S=arguments[E];if(S&&(S.constructor==an||S.constructor==K)){e=this.items[l];this[e]=this.items[e]=S;this[l]++;}}return this;};K[aN].pop=function(){delete this[this[l]--];return this.items.pop();};for(var t in an[aN]){if(an[aN][J](t)){K[aN][t]=(function(e){return function(){for(var E=0,R=this.items[l];E<R;E++){this.items[E][e][aL](this.items[E],arguments);}return this;};})(t);}}K[aN].attr=function(E,aQ){if(E&&ag.is(E,"array")&&ag.is(E[0],"object")){for(var e=0,aP=E[l];e<aP;e++){this.items[e].attr(E[e]);}}else{for(var R=0,S=this.items[l];R<S;R++){this.items[R].attr[aL](this.items[R],arguments);}}return this;};K[aN].animate=function(aP,E,aS,aR){(ag.is(aS,"function")||!aS)&&(aR=aS||null);var e=this.items[l],R=e,aQ=this,S;aR&&(S=function(){!--e&&aR.call(aQ);});this.items[--R].animate(aP,E,aS||S,S);while(R--){this.items[R].animateWith(this.items[e-1],aP,E,aS||S,S);}return this;};K[aN].insertAfter=function(E){var e=this.items[l];while(e--){this.items[e].insertAfter(E);}return this;};K[aN].getBBox=function(){var e=[],aQ=[],E=[],S=[];for(var R=this.items[l];R--;){var aP=this.items[R].getBBox();e[d](aP.x);aQ[d](aP.y);E[d](aP.x+aP.width);S[d](aP.y+aP.height);}e=az[aL](0,e);aQ=az[aL](0,aQ);return{x:e,y:aQ,width:f[aL](0,E)-e,height:f[aL](0,S)-aQ};};ag.registerFont=function(i){if(!i.face){return i;}this.fonts=this.fonts||{};var R={w:i.w,face:{},glyphs:{}},E=i.face["font-family"];for(var aQ in i.face){if(i.face[J](aQ)){R.face[aQ]=i.face[aQ];}}if(this.fonts[E]){this.fonts[E][d](R);}else{this.fonts[E]=[R];}if(!i.svg){R.face["units-per-em"]=z(i.face["units-per-em"],10);for(var S in i.glyphs){if(i.glyphs[J](S)){var aP=i.glyphs[S];R.glyphs[S]={w:aP.w,k:{},d:aP.d&&"M"+aP.d[aF](/[mlcxtrv]/g,function(aR){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[aR]||"M";})+"z"};if(aP.k){for(var e in aP.k){if(aP[J](e)){R.glyphs[S].k[e]=aP.k[e];}}}}}}return i;};aG.getFont=function(aS,aT,E,S){S=S||"normal";E=E||"normal";aT=+aT||{normal:400,bold:700,lighter:300,bolder:800}[aT]||400;var aP=ag.fonts[aS];if(!aP){var R=new RegExp("(^|\\s)"+aS[aF](/[^\w\d\s+!~.:_-]/g,aj)+"(\\s|$)","i");for(var e in ag.fonts){if(ag.fonts[J](e)){if(R.test(e)){aP=ag.fonts[e];break;}}}}var aQ;if(aP){for(var aR=0,aU=aP[l];aR<aU;aR++){aQ=aP[aR];if(aQ.face["font-weight"]==aT&&(aQ.face["font-style"]==E||!aQ.face["font-style"])&&aQ.face["font-stretch"]==S){break;}}}return aQ;};aG.print=function(S,R,e,aR,aS,a1){a1=a1||"middle";var aX=this.set(),a0=(e+aj)[u](aj),aY=0,aU=aj,a2;ag.is(aR,"string")&&(aR=this.getFont(aR));if(aR){a2=(aS||16)/aR.face["units-per-em"];var E=aR.face.bbox.split(a),aQ=+E[0],aT=+E[1]+(a1=="baseline"?E[3]-E[1]+(+aR.face.descent):(E[3]-E[1])/2);for(var aW=0,aP=a0[l];aW<aP;aW++){var aV=aW&&aR.glyphs[a0[aW-1]]||{},aZ=aR.glyphs[a0[aW]];aY+=aW?(aV.w||aR.w)+(aV.k&&aV.k[a0[aW]]||0):0;aZ&&aZ.d&&aX[d](this.path(aZ.d).attr({fill:"#000",stroke:"none",translation:[aY,0]}));}aX.scale(a2,a2,aQ,aT).translate(S-aQ,R-aT);}return aX;};ag.format=function(E){var i=ag.is(arguments[1],"array")?[0][aI](arguments[1]):arguments,e=/\{(\d+)\}/g;E&&ag.is(E,"string")&&i[l]-1&&(E=E[aF](e,function(S,R){return i[++R]==null?aj:i[R];}));return E||aj;};ag.ninja=function(){var E=ak.Raphael,i;if(k.was){ak.Raphael=k.is;}else{try{delete ak.Raphael;}catch(R){ak.Raphael=i;}}return E;};ag.el=an[aN];return ag;})();
\ No newline at end of file
index a0de1c6..7d56fad 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * Raphael 1.2.5 - JavaScript Vector Library
+ * Raphael 1.2.6 - JavaScript Vector Library
  *
  * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
  * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
@@ -31,25 +31,26 @@ window.Raphael = (function () {
         apply = "apply",
         concat = "concat",
         E = "",
-        events = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup"],
+        S = " ",
+        events = "click dblclick mousedown mousemove mouseout mouseover mouseup".split(S),
         has = "hasOwnProperty",
         isit = /^\[object\s+|\]$/gi,
         join = "join",
         length = "length",
         proto = "prototype",
         lowerCase = String[proto].toLowerCase,
-        mmax = Math.max,
-        mmin = Math.min,
+        math = Math,
+        mmax = math.max,
+        mmin = math.min,
         nu = "number",
         toString = "toString",
         objectToString = Object[proto][toString],
         paper = {},
-        pow = Math.pow,
+        pow = math.pow,
         push = "push",
         rg = /^(?=[\da-f]$)/,
         ISURL = /^url\(['"]?([^\)]+)['"]?\)$/i,
-        round = Math.round,
-        S = " ",
+        round = math.round,
         setAttribute = "setAttribute",
         split = "split",
         toFloat = parseFloat,
@@ -58,7 +59,7 @@ window.Raphael = (function () {
         availableAttrs = {"clip-rect": "0 0 10e9 10e9", cursor: "default", cx: 0, cy: 0, fill: "#fff", "fill-opacity": 1, font: '10px "Arial"', "font-family": '"Arial"', "font-size": "10", "font-style": "normal", "font-weight": 400, gradient: 0, height: 0, href: "http://raphaeljs.com/", opacity: 1, path: "M0,0", r: 0, rotation: 0, rx: 0, ry: 0, scale: "1 1", src: "", stroke: "#000", "stroke-dasharray": "", "stroke-linecap": "butt", "stroke-linejoin": "butt", "stroke-miterlimit": 0, "stroke-opacity": 1, "stroke-width": 1, target: "_blank", "text-anchor": "middle", title: "Raphael", translation: "0 0", width: 0, x: 0, y: 0},
         availableAnimAttrs = {"clip-rect": "csv", cx: nu, cy: nu, fill: "colour", "fill-opacity": nu, "font-size": nu, height: nu, opacity: nu, path: "path", r: nu, rotation: "csv", rx: nu, ry: nu, scale: "csv", stroke: "colour", "stroke-opacity": nu, "stroke-width": nu, translation: "csv", width: nu, x: nu, y: nu},
         rp = "replace";
-    R.version = "1.2.5";
+    R.version = "1.2.6";
     R.type = (win.SVGAngle || doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML");
     R.svg = !(R.vml = R.type == "VML");
     R._id = 0;
@@ -525,14 +526,14 @@ window.Raphael = (function () {
         a2c = function (x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {
             // for more information of where this math came from visit:
             // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
-            var PI = Math.PI,
+            var PI = math.PI,
                 _120 = PI * 120 / 180,
                 rad = PI / 180 * (+angle || 0),
                 res = [],
                 xy,
                 rotate = cacher(function (x, y, rad) {
-                    var X = x * Math.cos(rad) - y * Math.sin(rad),
-                        Y = x * Math.sin(rad) + y * Math.cos(rad);
+                    var X = x * math.cos(rad) - y * math.sin(rad),
+                        Y = x * math.sin(rad) + y * math.cos(rad);
                     return {x: X, y: Y};
                 });
             if (!recursive) {
@@ -542,20 +543,20 @@ window.Raphael = (function () {
                 xy = rotate(x2, y2, -rad);
                 x2 = xy.x;
                 y2 = xy.y;
-                var cos = Math.cos(PI / 180 * angle),
-                    sin = Math.sin(PI / 180 * angle),
+                var cos = math.cos(PI / 180 * angle),
+                    sin = math.sin(PI / 180 * angle),
                     x = (x1 - x2) / 2,
                     y = (y1 - y2) / 2;
-                rx = mmax(rx, Math.abs(x));
-                ry = mmax(ry, Math.abs(y));
+                rx = mmax(rx, math.abs(x));
+                ry = mmax(ry, math.abs(y));
                 var rx2 = rx * rx,
                     ry2 = ry * ry,
                     k = (large_arc_flag == sweep_flag ? -1 : 1) *
-                        Math.sqrt(Math.abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),
+                        math.sqrt(math.abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),
                     cx = k * rx * y / ry + (x1 + x2) / 2,
                     cy = k * -ry * x / rx + (y1 + y2) / 2,
-                    f1 = Math.asin((y1 - cy) / ry),
-                    f2 = Math.asin((y2 - cy) / ry);
+                    f1 = math.asin((y1 - cy) / ry),
+                    f2 = math.asin((y2 - cy) / ry);
 
                 f1 = x1 < cx ? PI - f1 : f1;
                 f2 = x2 < cx ? PI - f2 : f2;
@@ -574,21 +575,21 @@ window.Raphael = (function () {
                 cy = recursive[3];
             }
             var df = f2 - f1;
-            if (Math.abs(df) > _120) {
+            if (math.abs(df) > _120) {
                 var f2old = f2,
                     x2old = x2,
                     y2old = y2;
                 f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);
-                x2 = cx + rx * Math.cos(f2);
-                y2 = cy + ry * Math.sin(f2);
+                x2 = cx + rx * math.cos(f2);
+                y2 = cy + ry * math.sin(f2);
                 res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);
             }
             df = f2 - f1;
-            var c1 = Math.cos(f1),
-                s1 = Math.sin(f1),
-                c2 = Math.cos(f2),
-                s2 = Math.sin(f2),
-                t = Math.tan(df / 4),
+            var c1 = math.cos(f1),
+                s1 = math.sin(f1),
+                c2 = math.cos(f2),
+                s2 = math.sin(f2),
+                t = math.tan(df / 4),
                 hx = 4 / 3 * rx * t,
                 hy = 4 / 3 * ry * t,
                 m1 = [x1, y1],
@@ -633,13 +634,13 @@ window.Raphael = (function () {
             var a = (c2x - 2 * c1x + p1x) - (p2x - 2 * c2x + c1x),
                 b = 2 * (c1x - p1x) - 2 * (c2x - c1x),
                 c = p1x - c1x,
-                t1 = (-b + Math.sqrt(b * b - 4 * a * c)) / 2 / a,
-                t2 = (-b - Math.sqrt(b * b - 4 * a * c)) / 2 / a,
+                t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a,
+                t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a,
                 y = [p1y, p2y],
                 x = [p1x, p2x],
                 dot;
-            !isFinite(t1) && (t1 = .5);
-            !isFinite(t2) && (t2 = .5);
+            math.abs(t1) > 1e12 && (t1 = .5);
+            math.abs(t2) > 1e12 && (t2 = .5);
             if (t1 > 0 && t1 < 1) {
                 dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
                 x[push](dot.x);
@@ -653,10 +654,10 @@ window.Raphael = (function () {
             a = (c2y - 2 * c1y + p1y) - (p2y - 2 * c2y + c1y);
             b = 2 * (c1y - p1y) - 2 * (c2y - c1y);
             c = p1y - c1y;
-            t1 = (-b + Math.sqrt(b * b - 4 * a * c)) / 2 / a;
-            t2 = (-b - Math.sqrt(b * b - 4 * a * c)) / 2 / a;
-            !isFinite(t1) && (t1 = .5);
-            !isFinite(t2) && (t2 = .5);
+            t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a;
+            t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a;
+            math.abs(t1) > 1e12 && (t1 = .5);
+            math.abs(t2) > 1e12 && (t2 = .5);
             if (t1 > 0 && t1 < 1) {
                 dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
                 x[push](dot.x);
@@ -940,7 +941,7 @@ window.Raphael = (function () {
                     fx = toFloat(_fx);
                     fy = toFloat(_fy);
                     if (pow(fx - .5, 2) + pow(fy - .5, 2) > .25) {
-                        fy = Math.sqrt(.25 - pow(fx - .5, 2)) + .5;
+                        fy = math.sqrt(.25 - pow(fx - .5, 2)) + .5;
                     }
                 }
                 return E;
@@ -952,8 +953,8 @@ window.Raphael = (function () {
                 if (isNaN(angle)) {
                     return null;
                 }
-                var vector = [0, 0, Math.cos(angle * Math.PI / 180), Math.sin(angle * Math.PI / 180)],
-                    max = 1 / (mmax(Math.abs(vector[2]), Math.abs(vector[3])) || 1);
+                var vector = [0, 0, math.cos(angle * math.PI / 180), math.sin(angle * math.PI / 180)],
+                    max = 1 / (mmax(math.abs(vector[2]), math.abs(vector[3])) || 1);
                 vector[2] *= max;
                 vector[3] *= max;
                 if (vector[2] < 0) {
@@ -1550,8 +1551,12 @@ window.Raphael = (function () {
             var cnvs = paper.canvas;
             paper.width = width || 512;
             paper.height = height || 342;
-            cnvs[setAttribute]("width", paper.width);
-            cnvs[setAttribute]("height", paper.height);
+            $(cnvs, {
+                xmlns: "http://www.w3.org/2000/svg",
+                version: 1.1,
+                width: paper.width,
+                height: paper.height
+            });
             if (container == 1) {
                 cnvs.style.cssText = "position:absolute;left:" + x + "px;top:" + y + "px";
                 doc.body[appendChild](cnvs);
@@ -1842,7 +1847,7 @@ window.Raphael = (function () {
                     fx = toFloat(fx);
                     fy = toFloat(fy);
                     if (pow(fx - .5, 2) + pow(fy - .5, 2) > .25) {
-                        fy = Math.sqrt(.25 - pow(fx - .5, 2)) + .5;
+                        fy = math.sqrt(.25 - pow(fx - .5, 2)) + .5;
                     }
                     fxfy = fx + S + fy;
                 }
@@ -2034,15 +2039,26 @@ window.Raphael = (function () {
                 (os.width != w + "px") && (os.width = w + "px");
                 (os.height != h + "px") && (os.height = h + "px");
                 var arcsize = (+params.r || 0) / mmin(w, h);
-                if (this.type == "rect" && this.arcsize != arcsize && (arcsize || this.arcsize)) {
+                if (this.type == "rect" && this.arcsize.toFixed(4) != arcsize.toFixed(4) && (arcsize || this.arcsize)) {
                     // We should replace element with the new one
-                    var o = createNode(arcsize ? "roundrect" : "rect");
+                    var o = createNode("roundrect"),
+                        a = {},
+                        i = 0,
+                        ii = this.events[length];
                     o.arcsize = arcsize;
+                    o.raphael = this;
                     this.Group[appendChild](o);
-                    this.node.parentNode.removeChild(this.node);
-                    this.node = o;
+                    this.Group.removeChild(this.node);
+                    this[0] = this.node = o;
                     this.arcsize = arcsize;
-                    this.attr(this.attrs);
+                    for (var i in attr) {
+                        a[i] = attr[i];
+                    }
+                    delete a.scale;
+                    this.attr(a);
+                    if (this.events) for (; i < ii; i++) {
+                        this.events[i].unbind = addEvent(this.node, this.events[i].name, this.events[i].f, this);
+                    }
                 }
             }
         };
@@ -2362,7 +2378,7 @@ window.Raphael = (function () {
 
     // rest
     // Safari or Chrome (WebKit) rendering bug workaround method
-    if ({"Apple Computer, Inc.": 1, "Google Inc.": 1}[navigator.vendor] && !(navigator.userAgent.indexOf("Version/4.0") + 1)) {
+    if ((/^Apple|^Google/).test(navigator.vendor) && !(navigator.userAgent.indexOf("Version/4.0") + 1)) {
         paper.safari = function () {
             var rect = this.rect(-99, -99, this.width + 99, this.height + 99);
             setTimeout(function () {rect.remove();});
@@ -2394,19 +2410,6 @@ window.Raphael = (function () {
                     obj.detachEvent("on" + type, f);
                     return true;
                 };
-                if (type == "mouseover") {
-                    obj.attachEvent("onmouseenter", f);
-                    return function () {
-                        obj.detachEvent("onmouseenter", f);
-                        return detacher();
-                    };
-                } else if (type == "mouseout") {
-                    obj.attachEvent("onmouseleave", f);
-                    return function () {
-                        obj.detachEvent("onmouseleave", f);
-                        return detacher();
-                    };
-                }
                 return detacher;
             };
         }
@@ -2415,30 +2418,30 @@ window.Raphael = (function () {
         (function (eventName) {
             Element[proto][eventName] = function (fn) {
                 if (R.is(fn, "function")) {
-                    this.events = this.events || {};
-                    this.events[eventName] = this.events[eventName] || {};
-                    this.events[eventName][fn] = this.events[eventName][fn] || [];
-                    this.events[eventName][fn][push](addEvent(this.shape || this.node, eventName, fn, this));
+                    this.events = this.events || [];
+                    this.events.push({name: eventName, f: fn, unbind: addEvent(this.shape || this.node, eventName, fn, this)});
                 }
                 return this;
             };
             Element[proto]["un" + eventName] = function (fn) {
-                var e = this.events;
-                e &&
-                e[eventName] &&
-                e[eventName][fn] &&
-                e[eventName][fn][length] &&
-                e[eventName][fn].shift()() &&
-                !e[eventName][fn][length] &&
-                delete e[eventName][fn];
+                var events = this.events,
+                    l = events[length];
+                while (l--) if (events[l].name == eventName && events[l].f == fn) {
+                    events[l].unbind();
+                    events.splice(l, 1);
+                    !events.length && delete this.events;
+                    return this;
+                }
                 return this;
             };
-
         })(events[i]);
     }
     Element[proto].hover = function (f_in, f_out) {
         return this.mouseover(f_in).mouseout(f_out);
     };
+    Element[proto].unhover = function (f_in, f_out) {
+        return this.unmouseover(f_in).unmouseout(f_out);
+    };
     paper.circle = function (x, y, r) {
         return theCircle(this, x || 0, y || 0, r || 0);
     };
@@ -2463,9 +2466,16 @@ window.Raphael = (function () {
         return new Set(itemsArray);
     };
     paper.setSize = setSize;
+    function scaleToString() {
+        return this.x + S + this.y;
+    };
     Element[proto].scale = function (x, y, cx, cy) {
         if (x == null && y == null) {
-            return {x: this._.sx, y: this._.sy, toString: function () { return this.x + S + this.y; }};
+            return {
+                x: this._.sx,
+                y: this._.sy,
+                toString: scaleToString
+            };
         }
         y = y || x;
         !+y && (y = x);
@@ -2482,8 +2492,8 @@ window.Raphael = (function () {
                 ky = y / this._.sy;
             cx = (+cx || cx == 0) ? cx : rcx;
             cy = (+cy || cy == 0) ? cy : rcy;
-            var dirx = ~~(x / Math.abs(x)),
-                diry = ~~(y / Math.abs(y)),
+            var dirx = ~~(x / math.abs(x)),
+                diry = ~~(y / math.abs(y)),
                 s = this.node.style,
                 ncx = cx + (rcx - cx) * kx,
                 ncy = cy + (rcy - cy) * ky;
@@ -2496,11 +2506,11 @@ window.Raphael = (function () {
                         newx = ncx - neww / 2,
                         newy = ncy - newh / 2;
                     this.attr({
-                        width: neww,
                         height: newh,
+                        r: newr,
+                        width: neww,
                         x: newx,
-                        y: newy,
-                        r: newr
+                        y: newy
                     });
                     break;
                 case "circle":
@@ -2621,7 +2631,7 @@ window.Raphael = (function () {
             }
             var p = .3,
                 s = p / 4;
-            return pow(2, -10 * n) * Math.sin((n - s) * (2 * Math.PI) / p) + 1;
+            return pow(2, -10 * n) * math.sin((n - s) * (2 * math.PI) / p) + 1;
         },
         bounce: function (n) {
             var s = 7.5625,
@@ -2942,6 +2952,7 @@ window.Raphael = (function () {
         while (i--) {
             this.items[i].insertAfter(el);
         }
+        return this;
     };
     Set[proto].getBBox = function () {
         var x = [],