From: Dmitry Baranovskiy Date: Mon, 14 Dec 2009 21:42:16 +0000 (+1100) Subject: Fixed events and focus point in radial gradients in Safari. X-Git-Tag: semver~8 X-Git-Url: http://git.roojs.org/?p=raphael;a=commitdiff_plain;h=b169bb51497be06a2211a87caf8ebb159371b2c2 Fixed events and focus point in radial gradients in Safari. --- diff --git a/raphael-min.js b/raphael-min.js index 2104ad4..a6a12fc 100644 --- a/raphael-min.js +++ b/raphael-min.js @@ -1,7 +1,7 @@ /* - * Raphael 1.2.6 - JavaScript Vector Library + * Raphael 1.2.7dev - 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,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");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];aPaS){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];bl1000000000000&&(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);aS3){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];E0.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];aSaR.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];aS1&&(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](/"));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');};}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":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(aQ255?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");i.close();aS=i.body;}catch(aU){aS=createPopup().document.body;}var S=aS.createTextRange();try{aS.style.color=aR;var aT=S.queryCommandValue("ForeColor");aT=((aT&255)<<16)|(aT&65280)|((aT&16711680)>>>16);return"#"+("000000"+aT[aq](16)).slice(-6);}catch(aU){return"none";}});}else{var R=D.createElement("i");R.className="Rapha\xebl Colour Picker";R.style.cssText="display:none";D.body[aD](R);au=ab(function(i){R.style.color=i;return D.defaultView.getComputedStyle(R,ak).getPropertyValue("color");});}return au(E);};ag.hsb2rgb=ab(function(aV,aT,aZ){if(ag.is(aV,"object")&&"h" in aV&&"s" in aV&&"b" in aV){aZ=aV.b;aT=aV.s;aV=aV.h;}var S,aR,a0;if(aZ==0){return{r:0,g:0,b:0,hex:"#000"};}if(aV>1||aT>1||aZ>1){aV/=255;aT/=255;aZ/=255;}var aS=~~(aV*6),aW=(aV*6)-aS,R=aZ*(1-aT),E=aZ*(1-(aT*aW)),a1=aZ*(1-(aT*(1-aW)));S=[aZ,E,R,R,a1,aZ,aZ][aS];aR=[a1,aZ,aZ,E,R,R,a1][aS];a0=[R,R,a1,aZ,aZ,E,R][aS];S*=255;aR*=255;a0*=255;var aX={r:S,g:aR,b:a0},e=(~~S)[aq](16),aU=(~~aR)[aq](16),aY=(~~a0)[aq](16);e=e[aH](aL,"0");aU=aU[aH](aL,"0");aY=aY[aH](aL,"0");aX.hex="#"+e+aU+aY;return aX;},ag);ag.rgb2hsb=ab(function(e,i,aT){if(ag.is(e,"object")&&"r" in e&&"g" in e&&"b" in e){aT=e.b;i=e.g;e=e.r;}if(ag.is(e,"string")){var aV=ag.getRGB(e);e=aV.r;i=aV.g;aT=aV.b;}if(e>1||i>1||aT>1){e/=255;i/=255;aT/=255;}var aS=f(e,i,aT),E=aA(e,i,aT),S,R,aR=aS;if(E==aS){return{h:0,s:0,b:aS};}else{var aU=(aS-E);R=aU/aS;if(e==aS){S=(i-aT)/aU;}else{if(i==aS){S=2+((aT-e)/aU);}else{S=4+((e-i)/aU);}}S/=6;S<0&&S++;S>1&&S--;}return{h:S,s:R,b:aR};},ag);var aw=/,?([achlmqrstvxz]),?/gi;ag._path2string=function(){return this.join(",")[aH](aw,"$1");};function ab(R,i,e){function E(){var S=Array[aP].slice.call(arguments,0),aS=S[ap]("\u25ba"),aR=E.cache=E.cache||{},aT=E.count=E.count||[];if(aR[J](aS)){return e?e(aR[aS]):aR[aS];}aT[l]>=1000&&delete aR[aT.shift()];aT[d](aS);aR[aS]=R[aN](i,S);return e?e(aR[aS]):aR[aS];}return E;}ag.getRGB=ab(function(e){if(!e||!!((e+ak).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1};}e=e+ak;if(e=="none"){return{r:-1,g:-1,b:-1,hex:"none"};}!({hs:1,rg:1})[J](e.substring(0,2))&&(e=au(e));var aR,E,R,aU,aS=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(aS){if(aS[2]){aU=z(aS[2].substring(5),16);R=z(aS[2].substring(3,5),16);E=z(aS[2].substring(1,3),16);}if(aS[3]){aU=z(aS[3].substring(3)+aS[3].substring(3),16);R=z(aS[3].substring(2,3)+aS[3].substring(2,3),16);E=z(aS[3].substring(1,2)+aS[3].substring(1,2),16);}if(aS[4]){aS=aS[4][u](/\s*,\s*/);E=N(aS[0]);R=N(aS[1]);aU=N(aS[2]);}if(aS[5]){aS=aS[5][u](/\s*,\s*/);E=N(aS[0])*2.55;R=N(aS[1])*2.55;aU=N(aS[2])*2.55;}if(aS[6]){aS=aS[6][u](/\s*,\s*/);E=N(aS[0]);R=N(aS[1]);aU=N(aS[2]);return ag.hsb2rgb(E,R,aU);}if(aS[7]){aS=aS[7][u](/\s*,\s*/);E=N(aS[0])*2.55;R=N(aS[1])*2.55;aU=N(aS[2])*2.55;return ag.hsb2rgb(E,R,aU);}aS={r:E,g:R,b:aU};var i=(~~E)[aq](16),S=(~~R)[aq](16),aT=(~~aU)[aq](16);i=i[aH](aL,"0");S=S[aH](aL,"0");aT=aT[aH](aL,"0");aS.hex="#"+i+S+aT;return aS;}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=am(e);}if(!i[l]){(e+ak)[aH](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(S,R,aT){var aS=[],aR=aQ.call(R);aT[aH](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(aV,aU){aU&&aS[d](+aU);});while(aS[l]>=E[aR]){i[d]([R][aK](aS.splice(0,E[aR])));if(!E[aR]){break;}}});}i[aq]=ag._path2string;return i;});var L=ab(function(aX){if(!aX){return{x:0,y:0,width:0,height:0};}aX=A(aX);var aU=0,aT=0,S=[],E=[],R;for(var aR=0,aW=aX[l];aRaU){aV=aV-S*2;}if(!aR&&aU>aV){aU=aU-S*2;}}else{aV=a3[0];aU=a3[1];a5=a3[2];a4=a3[3];}var aZ=aU-aV;if(U.abs(aZ)>a7){var a6=aU,a9=a0,aX=bu;aU=aV+a7*(aR&&aU>aV?1:-1);a0=a5+ba*U.cos(aU);bu=a4+a8*U.sin(aU);be=C(a0,bu,ba,a8,a2,0,aR,a9,aX,[aU,a6,a5,a4]);}aZ=aU-aV;var aT=U.cos(aV),bt=U.sin(aV),aS=U.cos(aU),bs=U.sin(aU),bh=U.tan(aZ/4),bk=4/3*ba*bh,bi=4/3*a8*bh,bq=[a1,bv],bp=[a1+bk*bt,bv-bi*aT],bo=[a0+bk*bs,bu-bi*aS],bm=[a0,bu];bp[0]=2*bq[0]-bp[0];bp[1]=2*bq[1]-bp[1];if(a3){return[bp,bo,bm][aK](be);}else{be=[bp,bo,bm][aK](be)[ap](",")[u](",");var bc=[];for(var bn=0,bd=be[l];bn1000000000000&&(aS=0.5);U.abs(aR)>1000000000000&&(aR=0.5);if(aS>0&&aS<1){i=F(E,e,S,R,a1,a0,aX,aU,aS);aY[d](i.x);aV[d](i.y);}if(aR>0&&aR<1){i=F(E,e,S,R,a1,a0,aX,aU,aR);aY[d](i.x);aV[d](i.y);}aZ=(a0-2*R+e)-(aU-2*a0+R);aW=2*(R-e)-2*(a0-R);aT=e-R;aS=(-aW+U.sqrt(aW*aW-4*aZ*aT))/2/aZ;aR=(-aW-U.sqrt(aW*aW-4*aZ*aT))/2/aZ;U.abs(aS)>1000000000000&&(aS=0.5);U.abs(aR)>1000000000000&&(aR=0.5);if(aS>0&&aS<1){i=F(E,e,S,R,a1,a0,aX,aU,aS);aY[d](i.x);aV[d](i.y);}if(aR>0&&aR<1){i=F(E,e,S,R,a1,a0,aX,aU,aR);aY[d](i.x);aV[d](i.y);}return{min:{x:aA[aN](0,aY),y:aA[aN](0,aV)},max:{x:f[aN](0,aY),y:f[aN](0,aV)}};}),A=ab(function(a1,aW){var S=p(a1),aX=aW&&p(aW),aY={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},aS=function(a2,a3){var i,a4;if(!a2){return["C",a3.x,a3.y,a3.x,a3.y,a3.x,a3.y];}!(a2[0] in {T:1,Q:1})&&(a3.qx=a3.qy=null);switch(a2[0]){case"M":a3.X=a2[1];a3.Y=a2[2];break;case"A":a2=["C"][aK](C[aN](0,[a3.x,a3.y][aK](a2.slice(1))));break;case"S":i=a3.x+(a3.x-(a3.bx||a3.x));a4=a3.y+(a3.y-(a3.by||a3.y));a2=["C",i,a4][aK](a2.slice(1));break;case"T":a3.qx=a3.x+(a3.x-(a3.qx||a3.x));a3.qy=a3.y+(a3.y-(a3.qy||a3.y));a2=["C"][aK](aC(a3.x,a3.y,a3.qx,a3.qy,a2[1],a2[2]));break;case"Q":a3.qx=a2[1];a3.qy=a2[2];a2=["C"][aK](aC(a3.x,a3.y,a2[1],a2[2],a2[3],a2[4]));break;case"L":a2=["C"][aK](aO(a3.x,a3.y,a2[1],a2[2]));break;case"H":a2=["C"][aK](aO(a3.x,a3.y,a2[1],a3.y));break;case"V":a2=["C"][aK](aO(a3.x,a3.y,a3.x,a2[1]));break;case"Z":a2=["C"][aK](aO(a3.x,a3.y,a3.X,a3.Y));break;}return a2;},E=function(a2,a3){if(a2[a3][l]>7){a2[a3].shift();var a4=a2[a3];while(a4[l]){a2.splice(a3++,0,["C"][aK](a4.splice(0,6)));}a2.splice(a3,1);aZ=f(S[l],aX&&aX[l]||0);}},R=function(a7,a6,a4,a3,a5){if(a7&&a6&&a7[a5][0]=="M"&&a6[a5][0]!="M"){a6.splice(a5,0,["M",a3.x,a3.y]);a4.bx=0;a4.by=0;a4.x=a7[a5][1];a4.y=a7[a5][2];aZ=f(S[l],aX&&aX[l]||0);}};for(var aU=0,aZ=f(S[l],aX&&aX[l]||0);aU3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]};}}},ay=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[aN](i,arguments);};})(E[R]);break;case"object":e[R]=e[R]||{};ay.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;},aj=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;if(ag.svg){aI.svgns="http://www.w3.org/2000/svg";aI.xlink="http://www.w3.org/1999/xlink";var H=function(e){return +e+(~~e===e)*0.5;},M=function(aR){for(var E=0,R=aR[l];E0.5)*2-1);aE(aT-0.5,2)+aE(aR-0.5,2)>0.25&&(aR=U.sqrt(0.25-aE(aT-0.5,2))*a2+0.5)&&aR!=0.5&&(aR=aR.toFixed(5)-0.00001*a2);}return ak;});aZ=aZ[u](/\s*\-\s*/);if(aW=="linear"){var aS=aZ.shift();aS=-N(aS);if(isNaN(aS)){return null;}var S=[0,0,U.cos(aS*U.PI/180),U.sin(aS*U.PI/180)],aY=1/(f(U.abs(S[2]),U.abs(S[3]))||1);S[2]*=aY;S[3]*=aY;if(S[2]<0){S[0]=-S[2];S[2]=0;}if(S[3]<0){S[1]=-S[3];S[3]=0;}}var aV=n(aZ);if(!aV){return null;}var E=aB(aW+"Gradient");E.id="r"+(ag._id++)[aq](36);aB(E,aW=="radial"?{fx:aT,fy:aR}:{x1:S[0],y1:S[1],x2:S[2],y2:S[3]});e.defs[aD](E);for(var aU=0,a0=aV[l];aUaT.height)&&(aT.height=aS.y+aS.height-aT.y);(aS.x+aS.width-aT.x>aT.width)&&(aT.width=aS.x+aS.width-aT.x);}}R&&this.hide();return aT;};ao[aP].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 aR={};aR[arguments[0]]=arguments[1];T(this,aR);}else{if(arguments[l]==1&&ag.is(arguments[0],"object")){T(this,arguments[0]);}}return this;};ao[aP].toFront=function(){if(this.removed){return this;}this.node.parentNode[aD](this.node);var e=this.paper;e.top!=this&&P(this,e);return this;};ao[aP].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;};ao[aP].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[aD](this.node);}v(this,i,this.paper);return this;};ao[aP].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,aR,S){e=H(e);aR=H(aR);var R=aB("circle");i.canvas&&i.canvas[aD](R);var E=new ao(R,i);E.attrs={cx:e,cy:aR,r:S,fill:"none",stroke:"#000"};E.type="circle";aB(R,E.attrs);return E;};var ax=function(E,e,aT,i,aR,aS){e=H(e);aT=H(aT);var S=aB("rect");E.canvas&&E.canvas[aD](S);var R=new ao(S,E);R.attrs={x:e,y:aT,width:i,height:aR,r:aS||0,rx:aS||0,ry:aS||0,fill:"none",stroke:"#000"};R.type="rect";aB(S,R.attrs);return R;};var aa=function(i,e,aS,aR,S){e=H(e);aS=H(aS);var R=aB("ellipse");i.canvas&&i.canvas[aD](R);var E=new ao(R,i);E.attrs={cx:e,cy:aS,rx:aR,ry:S,fill:"none",stroke:"#000"};E.type="ellipse";aB(R,E.attrs);return E;};var m=function(E,aS,e,aT,i,aR){var S=aB("image");aB(S,{x:e,y:aT,width:i,height:aR,preserveAspectRatio:"none"});S.setAttributeNS(E.xlink,"href",aS);E.canvas&&E.canvas[aD](S);var R=new ao(S,E);R.attrs={x:e,y:aT,width:i,height:aR,src:aS};R.type="image";return R;};var O=function(i,e,aR,S){var R=aB("text");aB(R,{x:e,y:aR,"text-anchor":"middle"});i.canvas&&i.canvas[aD](R);var E=new ao(R,i);E.attrs={x:e,y:aR,"text-anchor":"middle",text:S,font:h.font,stroke:"none",fill:"#000"};E.type="text";T(E,E.attrs);return E;};var aM=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[aN](null,arguments),E=R&&R.container,i=R.x,aT=R.y,S=R.width,e=R.height;if(!E){throw new Error("SVG container not found.");}aI.canvas=aB("svg");var aS=aI.canvas;aI.width=S||512;aI.height=e||342;aB(aS,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:aI.width,height:aI.height});if(E==1){aS.style.cssText="position:absolute;left:"+i+"px;top:"+aT+"px";D.body[aD](aS);}else{if(E.firstChild){E.insertBefore(aS,E.firstChild);}else{E[aD](aS);}}E={canvas:aS};for(var aR in aI){if(aI[J](aR)){E[aR]=aI[aR];}}E.bottom=E.top=null;ay.call(E,E,ag.fn);E.clear();E.raphael=ag;return E;};aI.clear=function(){var e=this.canvas;while(e.firstChild){e.removeChild(e.firstChild);}this.bottom=this.top=null;(this.desc=aB("desc"))[aD](D.createTextNode("Created with Rapha\xebl"));e[aD](this.desc);e[aD](this.defs=aB("defs"));};aI.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var e in this){delete this[e];}};}if(ag.vml){var az=function(a0){var aX=/[ahqtv]/ig,aS=p;(a0+ak).match(aX)&&(aS=A);aX=/[clmz]/g;if(aS==p&&!(a0+ak).match(aX)){var E={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},S=/([clmz]),?([^clmz]*)/gi,aR=/-?[^,\s-]+/g;var aW=(a0+ak)[aH](S,function(a1,a3,i){var a2=[];i[aH](aR,function(a4){a2[d](H(a4));});return E[a3]+a2;});return aW;}var aY=aS(a0),R,aW=[],e;for(var aU=0,aZ=aY[l];aU1&&(i=1);aZ.opacity=i;}a0.fill&&(aZ.on=true);if(aZ.on==null||a0.fill=="none"){aZ.on=false;}if(aZ.on&&a0.fill){var E=a0.fill.match(c);if(E){aZ.src=E[1];aZ.type="tile";}else{aZ.color=ag.getRGB(a0.fill).hex;aZ.src=ak;aZ.type="solid";if(ag.getRGB(a0.fill).error&&(a5.type in {circle:1,ellipse:1}||(a0.fill+ak).charAt()!="r")&&b(a5,a0.fill)){a1.fill="none";a1.gradient=a0.fill;}}}a2&&aY[aD](aZ);var S=(aY.getElementsByTagName("stroke")&&aY.getElementsByTagName("stroke")[0]),a3=false;!S&&(a3=S=Z("stroke"));if((a0.stroke&&a0.stroke!="none")||a0["stroke-width"]||a0["stroke-opacity"]!=null||a0["stroke-dasharray"]||a0["stroke-miterlimit"]||a0["stroke-linejoin"]||a0["stroke-linecap"]){S.on=true;}(a0.stroke=="none"||S.on==null||a0.stroke==0||a0["stroke-width"]==0)&&(S.on=false);S.on&&a0.stroke&&(S.color=ag.getRGB(a0.stroke).hex);var i=((+a1["stroke-opacity"]+1||2)-1)*((+a1.opacity+1||2)-1),aW=(N(a0["stroke-width"])||1)*0.75;i<0&&(i=0);i>1&&(i=1);a0["stroke-width"]==null&&(aW=a1["stroke-width"]);a0["stroke-width"]&&(S.weight=aW);aW&&aW<1&&(i*=aW)&&(S.weight=1);S.opacity=i;a0["stroke-linejoin"]&&(S.joinstyle=a0["stroke-linejoin"]||"miter");S.miterlimit=a0["stroke-miterlimit"]||8;a0["stroke-linecap"]&&(S.endcap=a0["stroke-linecap"]=="butt"?"flat":a0["stroke-linecap"]=="square"?"square":"round");if(a0["stroke-dasharray"]){var aX={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};S.dashstyle=aX[J](a0["stroke-dasharray"])?aX[a0["stroke-dasharray"]]:ak;}a3&&aY[aD](S);}if(a5.type=="text"){var aS=a5.paper.span.style;a1.font&&(aS.font=a1.font);a1["font-family"]&&(aS.fontFamily=a1["font-family"]);a1["font-size"]&&(aS.fontSize=a1["font-size"]);a1["font-weight"]&&(aS.fontWeight=a1["font-weight"]);a1["font-style"]&&(aS.fontStyle=a1["font-style"]);a5.node.string&&(a5.paper.span.innerHTML=(a5.node.string+ak)[aH](/"));a5.W=a1.w=a5.paper.span.offsetWidth;a5.H=a1.h=a5.paper.span.offsetHeight;a5.X=a1.x;a5.Y=a1.y+H(a5.H/2);switch(a1["text-anchor"]){case"start":a5.node.style["v-text-align"]="left";a5.bbx=H(a5.W/2);break;case"end":a5.node.style["v-text-align"]="right";a5.bbx=-H(a5.W/2);break;default:a5.node.style["v-text-align"]="center";break;}}};var b=function(e,aT){e.attrs=e.attrs||{};var aU=e.attrs,aW=e.node.getElementsByTagName("fill"),aR="linear",aS=".5 .5";e.attrs.gradient=aT;aT=(aT+ak)[aH](aj,function(aY,aZ,i){aR="radial";if(aZ&&i){aZ=N(aZ);i=N(i);aE(aZ-0.5,2)+aE(i-0.5,2)>0.25&&(i=U.sqrt(0.25-aE(aZ-0.5,2))*((i>0.5)*2-1)+0.5);aS=aZ+af+i;}return ak;});aT=aT[u](/\s*\-\s*/);if(aR=="linear"){var E=aT.shift();E=-N(E);if(isNaN(E)){return null;}}var S=n(aT);if(!S){return null;}e=e.shape||e.node;aW=aW[0]||Z("fill");if(S[l]){aW.on=true;aW.method="none";aW.type=(aR=="radial")?"gradientradial":"gradient";aW.color=S[0].color;aW.color2=S[S[l]-1].color;var aX=[];for(var R=0,aV=S[l];R');};}catch(Y){var Z=function(e){return D.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');};}var s=function(){var R=ah[aN](null,arguments),i=R.container,aV=R.height,aW,E=R.width,aU=R.x,aT=R.y;if(!i){throw new Error("VML container not found.");}var aR={},aS=aR.canvas=D.createElement("div"),S=aS.style;E=E||512;aV=aV||342;E==+E&&(E+="px");aV==+aV&&(aV+="px");aR.width=1000;aR.height=1000;aR.coordsize="1000 1000";aR.coordorigin="0 0";aR.span=D.createElement("span");aR.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";aS[aD](aR.span);S.cssText=ag.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden",E,aV);if(i==1){D.body[aD](aS);S.left=aU+"px";S.top=aT+"px";i={style:{width:E,height:aV}};}else{i.style.width=E;i.style.height=aV;if(i.firstChild){i.insertBefore(aS,i.firstChild);}else{i[aD](aS);}}for(var e in aI){if(aI[J](e)){aR[e]=aI[e];}}ay.call(aR,aR,ag.fn);aR.top=aR.bottom=null;aR.raphael=ag;return aR;};aI.clear=function(){this.canvas.innerHTML=ak;this.bottom=this.top=null;};aI.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)){aI.safari=function(){var e=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){e.remove();});};}else{aI.safari=function(){};}var X=(function(){if(D.addEventListener){return function(S,E,i,e){var R=function(aR){return i.call(e,aR);};S.addEventListener(E,R,false);return function(){S.removeEventListener(E,R,false);return true;};};}else{if(D.attachEvent){return function(aR,R,E,i){var S=function(aS){return E.call(i,aS||al.event);};aR.attachEvent("on"+R,S);var e=function(){aR.detachEvent("on"+R,S);return true;};return e;};}}})();for(var V=y[l];V--;){(function(e){ao[aP][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;};ao[aP]["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]);}ao[aP].hover=function(i,e){return this.mouseover(i).mouseout(e);};ao[aP].unhover=function(i,e){return this.unmouseover(i).unmouseout(e);};aI.circle=function(e,E,i){return I(this,e||0,E||0,i||0);};aI.rect=function(e,S,i,E,R){return ax(this,e||0,S||0,i||0,E||0,R||0);};aI.ellipse=function(e,R,E,i){return aa(this,e||0,R||0,E||0,i||0);};aI.path=function(e){e&&!ag.is(e,"string")&&!ag.is(e[0],"array")&&(e+=ak);return o(ag.format[aN](ag,arguments),this);};aI.image=function(R,e,S,i,E){return m(this,R||"about:blank",e||0,S||0,i||0,E||0);};aI.text=function(e,E,i){return O(this,e||0,E||0,i||ak);};aI.set=function(e){arguments[l]>1&&(e=Array[aP].splice.call(arguments,0,arguments[l]));return new K(e);};aI.setSize=aM;function av(){return this.x+af+this.y;}ao[aP].scale=function(a1,a0,R,E){if(a1==null&&a0==null){return{x:this._.sx,y:this._.sy,toString:av};}a0=a0||a1;!+a0&&(a0=a1);var a5,a3,a4,a2,bh=this.attrs;if(a1!=0){var aY=this.getBBox(),aV=aY.x+aY.width/2,aR=aY.y+aY.height/2,bg=a1/this._.sx,bf=a0/this._.sy;R=(+R||R==0)?R:aV;E=(+E||E==0)?E:aR;var aX=~~(a1/U.abs(a1)),aU=~~(a0/U.abs(a0)),a8=this.node.style,bj=R+(aV-R)*bg,bi=E+(aR-E)*bf;switch(this.type){case"rect":case"image":var aW=bh.width*aX*bg,a7=bh.height*aU*bf,aZ=bh.r*aA(bg,bf),aT=bj-aW/2,S=bi-a7/2;this.attr({height:a7,r:aZ,width:aW,x:aT,y:S});break;case"circle":case"ellipse":this.attr({rx:bh.rx*aX*bg,ry:bh.ry*aU*bf,r:bh.r*aA(aX*bg,aU*bf),cx:bj,cy:bi});break;case"path":var ba=W(bh.path),bc=true;for(var be=0,a6=ba[l];be":function(e){return aE(e-1,3)+1;},"<>":function(e){e=e*2;if(e<1){return aE(e,3)/2;}e-=2;return(aE(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 aE(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},aJ=function(){var aU=+new Date;for(var a5 in B){if(a5!="length"&&B[J](a5)){var ba=B[a5];if(ba.stop){delete B[a5];B[l]--;continue;}var aS=aU-ba.start,a3=ba.ms,a2=ba.easing,a6=ba.from,aZ=ba.diff,R=ba.to,aY=ba.t,a1=ba.prev||0,aT=ba.el,S=ba.callback,a0={},E;if(aS255?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;};ao[aP].animateWith=function(i,E,e,S,R){B[i.id]&&(E.start=B[i.id].start);return this.animate(E,e,S,R);};ao[aP].onAnimation=function(e){this._run=e||null;return this;};ao[aP].animate=function(R,e,aW,a2){if(ag.is(aW,"function")||!aW){a2=aW||null;}var aX={},aY={},aZ={};for(var aV in R){if(R[J](aV)){if(Q[J](aV)){aX[aV]=this.attr(aV);(aX[aV]==null)&&(aX[aV]=h[aV]);aY[aV]=R[aV];switch(Q[aV]){case"number":aZ[aV]=(aY[aV]-aX[aV])/e;break;case"colour":aX[aV]=ag.getRGB(aX[aV]);var aT=ag.getRGB(aY[aV]);aZ[aV]={r:(aT.r-aX[aV].r)/e,g:(aT.g-aX[aV].g)/e,b:(aT.b-aX[aV].b)/e};break;case"path":var E=A(aX[aV],aY[aV]);aX[aV]=E[0];aY[aV]=E[1];aZ[aV]=[];for(var aS=0,a1=aX[aV][l];aS .25) { - fy = math.sqrt(.25 - pow(fx - .5, 2)) + .5; - } + var dir = ((fy > .5) * 2 - 1); + pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && + (fy = math.sqrt(.25 - pow(fx - .5, 2)) * dir + .5) && + fy != .5 && + (fy = fy.toFixed(5) - 1e-5 * dir); } return E; }); @@ -972,7 +976,7 @@ window.Raphael = (function () { } var el = $(type + "Gradient"); el.id = "r" + (R._id++)[toString](36); - type == "radial" ? $(el, {fx: fx, fy: fy}) : $(el, {x1: vector[0], y1: vector[1], x2: vector[2], y2: vector[3]}); + $(el, type == "radial" ? {fx: fx, fy: fy} : {x1: vector[0], y1: vector[1], x2: vector[2], y2: vector[3]}); SVG.defs[appendChild](el); for (var i = 0, ii = dots[length]; i < ii; i++) { var stop = $("stop"); @@ -1841,14 +1845,12 @@ window.Raphael = (function () { type = "linear", fxfy = ".5 .5"; o.attrs.gradient = gradient; - gradient = (gradient + E)[rp](/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/, function (all, fx, fy) { + gradient = (gradient + E)[rp](radial_gradient, function (all, fx, fy) { type = "radial"; if (fx && fy) { 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; - } + pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && (fy = math.sqrt(.25 - pow(fx - .5, 2)) * ((fy > .5) * 2 - 1) + .5); fxfy = fx + S + fy; } return E; @@ -2044,7 +2046,7 @@ window.Raphael = (function () { var o = createNode("roundrect"), a = {}, i = 0, - ii = this.events[length]; + ii = this.events && this.events[length]; o.arcsize = arcsize; o.raphael = this; this.Group[appendChild](o);