version 0.5.3:
authorDmitry Baranovskiy <dbaranovskiy@Fresh-Air.sydney.atlassian.com>
Tue, 16 Sep 2008 00:09:01 +0000 (10:09 +1000)
committerDmitry Baranovskiy <dbaranovskiy@Fresh-Air.sydney.atlassian.com>
Tue, 16 Sep 2008 00:09:01 +0000 (10:09 +1000)
attr("name") returns current value for attribute
scale(x, y) scales object horizontally and vertically, use negative values to reflect
some bug fix.

raphael-packed.js
raphael.js

index fa276b2..eced8e2 100644 (file)
@@ -1 +1 @@
-eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('G 1S(){J(G(r,m){r.49="0.5.2";9 C={};G 2l(a,b,c,d,e,f){7.m=[[a||1,b||0,0],[c||0,d||1,0],[e||0,f||0,1],]}C.1b=C.1c=C.1v=C.1y=G(x){J x};K(r.2x){2l.3k.31=G(){J"4a:4b.4c.2l(4d="+7.m[0][0]+", 4e="+7.m[1][0]+", 4f="+7.m[0][1]+", 4g="+7.m[1][1]+", 4h="+7.m[2][0]+", 4i="+7.m[2][1]+", 4j=\'4k 4l\', 4m=\'4n\')"};9 n=G(f,h,j){9 g=13.1p("1j:1G"),1l=g.O;1l.1H="1I";1l.1m=0;1l.1n=0;1l.T=j.T+"16";1l.U=j.U+"16";9 k=13.1p("1j:27"),1s=k.O;1s.T=j.T+"16";1s.U=j.U+"16";k.I="";K(f["3l"]){k.4o=f["3l"]}k.1B=7.1B;k.1C=7.1C;g.14(k);j.17.14(g);9 p=1u u(k,g,j);q(p,f);K(f.1J){t(p,f.1J)}p.W=1Z;p.1a="I";p.I=[];p.18={x:0,y:0,2c:0,2d:0,W:1Z};p.2e="";p.1D=G(){7.W=1Z;J 7};p.1E=G(){7.W=32;J 7};p.3m=G(){7.2e="";9 a=7.I;7.I=[];1w(9 i=0,1g=a.1h;i<1g;i++){K(a[i].1a!="33"){7[a[i].1a+"3n"].2f(7,a[i].1T)}1z{7.28()}}};p.1U=G(x,y){9 d=7.W?"m":"t";9 a=7.W?j.1b:j.1v;9 b=7.W?j.1c:j.1y;d+=12.19(a(11(x,10)))+" "+12.19(b(11(y,10)));7[0].I=7.2e+=d;7.18.x=12.19(a(11(x,10)));7.18.y=12.19(b(11(y,10)));7.18.W=7.W;7.I.1O({1a:"3o",1T:[].2K.2L(N,0),2a:7.W});J 7};p.1k=G(x,y){9 d=7.W?"l":"r";9 a=7.W?j.1b:j.1v;9 b=7.W?j.1c:j.1y;d+=12.19(a(11(x,10)))+" "+12.19(b(11(y,10)));7[0].I=7.2e+=d;7.18.x=12.19(a(11(x,10)));7.18.y=12.19(b(11(y,10)));7.18.W=7.W;7.I.1O({1a:"3p",1T:[].2K.2L(N,0),2a:7.W});J 7};p.3q=G(a,b,c){K(!c){J 7.1k(a,b)}1z{9 p={};p.1b=7.W?j.1b:j.1v;p.1c=7.W?j.1c:j.1y;9 x=12.19(p.1b(12.19(11(a,10)*1d)/1d));9 y=12.19(p.1c(12.19(11(b,10)*1d)/1d));9 w=12.19(j.1v(12.19(11(c,10)*1d)/1d));9 d=7.W?"c":"v";9 e=[7.18.x+w,7.18.y,x-w,y,x,y];d+=e.34(" ")+" ";7.18.x=e[4];7.18.y=e[5];7.18.2c=e[2];7.18.2d=e[3];7[0].I=7.2e+=d;7.I.1O({1a:"3r",1T:[].2K.2L(N,0),2a:7.W});J 7}};p.1o=G(){9 d=7.W?"c":"v";9 a=7.W?j.1b:j.1v;9 b=7.W?j.1c:j.1y;K(N.1h==6){7.18.x=12.19(a(11(N[4],10)));7.18.y=12.19(b(11(N[5],10)));7.18.2c=12.19(a(11(N[2],10)));7.18.2d=12.19(b(11(N[3],10)));d+=12.19(a(11(N[0],10)))+" "+12.19(b(11(N[1],10)))+" "+12.19(a(11(N[2],10)))+" "+12.19(b(11(N[3],10)))+" "+12.19(a(11(N[4],10)))+" "+12.19(b(11(N[5],10)))+" ";7.18.W=7.W}7[0].I=7.2e+=d;7.I.1O({1a:"3s",1T:[].2K.2L(N,0),2a:7.W});J 7};p.2m=G(r,a){9 R=.3t*r,1V=7.W,o=7;K(1V){7.1E();1V=G(){o.1D()}}1z{1V=G(){}}9 b={l:G(){J{u:G(){o.1o(-R,0,-r,-(r-R),-r,-r)},d:G(){o.1o(-R,0,-r,r-R,-r,r)}}},r:G(){J{u:G(){o.1o(R,0,r,-(r-R),r,-r)},d:G(){o.1o(R,0,r,r-R,r,r)}}},u:G(){J{r:G(){o.1o(0,-R,-(R-r),-r,r,-r)},l:G(){o.1o(0,-R,R-r,-r,-r,-r)}}},d:G(){J{r:G(){o.1o(0,R,-(R-r),r,r,r)},l:G(){o.1o(0,R,R-r,r,-r,r)}}}};b[a.35(0)]()[a.35(1)]();1V();J o};p.28=G(){7[0].I=(7.2e+="x e");J 7};K(1t h=="2y"){h=h.20(/([3u])/2M,",$1,").20(/([^,])\\-/2M,"$1,-");I=h.36(",");9 i=1,1g=I.1h;37(i<1g){2N(I[i]){P"M":p.1D().1U(I[++i],I[++i]);15;P"m":p.1E().1U(I[++i],I[++i]);15;P"C":p.1D().1o(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);15;P"c":p.1E().1o(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);15;P"L":p.1D().1k(I[++i],I[++i]);15;P"l":p.1E().1k(I[++i],I[++i]);15;P"H":p.1D().1k(I[++i],0);15;P"h":p.1E().1k(I[++i],0);15;P"V":p.1D().1k(0,I[++i]);15;P"v":p.1E().1k(0,I[++i]);15;P"Z":P"z":p.28();15}i++}}J p};9 q=G(o,a){a["1K-38"]&&(o[0].O.4p=a["1K-38"]);a["1K-39"]&&(o[0].O.4q=a["1K-39"]);a["1K"]&&(o[0].O.1K=a["1K"]);a["1K-2z"]&&(o[0].O.4r=a["1K-2z"]);K(1t a.1q!="21"||1t a["1e-T"]!="21"||1t a.1x!="21"||1t a.1e!="21"){o=o.27||o[0];9 b=(o.2A("1x")&&o.2A("1x")[0])||13.1p("1j:1x");K("1x-1q"2b a||"1q"2b a){b.1q=((a["1x-1q"]+1||2)-1)*((a.1q+1||2)-1)}a.1x&&(b.2n=1Z);K(b.2n){b.1W=a.1x}o.14(b);9 c=(o.2A("1e")&&o.2A("1e")[0])||13.1p("1j:1e");c.2n=!!(a.1e||a["1e-T"]||a["1e-1q"]||a["1e-2o"]);K(c.2n){c.1W=a.1e}c.1q=((a["1e-1q"]+1||2)-1)*((a.1q+1||2)-1);c.3v=a["1e-4s"]||"3w";c.3x=a["1e-3x"]||8;c.4t={4u:"4v",3y:"3y",19:"19"}[a["1e-4w"]||"3w"];c.2z=11(a["1e-T"],10)+"16"||"3z";K(a["1e-2o"]){9 d=a["1e-2o"].20(" ",",").36(","),3a=[],3A=11(c.2z,10);1w(9 i=0,1g=d.1h;i<1g;i++){9 e=d[i]/3A;K(!4x(e)){3a.1O(e)}};c.4y=3a.34(" ")}o.14(c)}};9 t=G(o,a){o=o.27||o[0];9 b=o.2A("1x");K(b.1h){b=b[0]}1z{b=13.1p("1j:1x")}K(a.1r.1h){b.2n=1Z;b.1a=(a.1a.3b()=="4z")?"1J":"4A";K(1t a.1r[0].1W!="21"){b.1W=a.1r[0].1W||"#1P"}K(1t a.1r[0].1q!="21"){b.1q=a.1r[0].1q}K(1t a.1r[a.1r.1h-1].1q!="21"){b.4B=a.1r[a.1r.1h-1].1q}K(1t a.1r[a.1r.1h-1].1W!="21"){b.4C=a.1r[a.1r.1h-1].1W||"#1P"}9 c="";1w(9 i=1,1g=a.1r.1h-1;i<1g;i++){c+=a.1r[i].2O+" "+a.1r[i].1W;K(i!=1g-1){c+=","}};K(c){b.4D=c}K(a.1Q){9 d=12.19(12.3B((2g(a.1Q[3],10)-2g(a.1Q[1],10))/(2g(a.1Q[2],10)-2g(a.1Q[0],10)))*57.29)+3C;b.4E=d+4F}K(a.1a.3b()=="4G"){b.4H="0.5, 0.5";b.4I="0, 0";b.4J="2B"}}};9 u=G(h,j,k){9 X=0,Y=0,1i=0,2P=0,2Q=0,1F=1;7[0]=h;N.3D.4K="4L";7.1A=j;7.2p=G(a,x,y){1i+=a;9 b=1i*12.4M/3C,c=12.3E(b),s=12.3F(b);7.1A.O.1m=0;7.1A.O.1n=0;7.1A.O.3G=0;9 d=k.T/2,1M=k.U/2,2C=7.22(),2D=d-(2C.x+2C.T/2),2E=1M-(2C.y+2C.U/2),3c=12.3B(2E/2D),g=12.4N(2D*2D+2E*2E);2P=-12.19(2D-g*12.3E(b+3c));2Q=-12.19(2E-g*12.3F(b+3c));7.1A.O.1m=X+2P;7.1A.O.1n=Y+2Q;7.1A.O.3G=1i;J 7};7.2h=G(x,y){X+=x;Y+=y;7.1A.O.1m=X+2P;7.1A.O.1n=Y+2Q;J 7};7.3d=G(a,b,c,d,e,f){1L=1u 2l(a,b,c,d,e,f);7[0].O.4O=1L;J 7};7.2i=G(a){1F*=a;K(1F!=1){7[0].O.T=2g(7[0].O.T,10)*1F;7[0].O.U=2g(7[0].O.U,10)*1F}J 7};7.22=G(){J{x:7.1A.4P,y:7.1A.4Q,T:7.1A.4R,U:7.1A.4S}};7.3e=G(){7[0].2j.2q(7[0]);7.1A.2j.2q(7.1A);7.27&&7.27.2j.2q(7.27)};7.2F=G(){K(7[0].4T.3b()=="1G"){9 a=7[0].2R;1w(9 i=0,1g=a.1h;i<1g;i++){7.2F.2f(1u 4U(a[i],7[0],k),N)}}1z{K(N.1h==2){9 b=N[0],1f=N[1];2N(b){P"r":7[0].O.T=7[0].O.U=1f*2+"16";7[0].O.1m=k.1b(7.1X)-1f+"16";7[0].O.1n=k.1c(7.1M)-1f+"16";7.r=1f;15;P"23":7[0].O.T=1f*2+"16";7[0].O.1m=k.1b(7.1X)-1f+"16";7.23=1f;15;P"24":7[0].O.U=1f*2+"16";7[0].O.1n=k.1c(7.1M)-1f+"16";7.24=1f;15;P"1X":K(7.r||7.23){7[0].O.1m=k.1b(1f)-(7.r||k.1v(7.23))+"16";7.1X=1f}15;P"x":7[0].O.1m=k.1b(1f)+"16";15;P"1M":K(7.r||7.24){7[0].O.1n=k.1c(1f)-(7.r||k.1y(7.24))+"16";7.1M=1f}15;P"y":7[0].O.1n=k.1c(1f)+"16";15;P"1x":P"1x-1q":P"3v":P"1q":P"1e":P"1e-2o":P"1e-1q":P"1e-T":9 c={};c[b]=1f;q(7,c);15;P"1K":P"1K-38":P"1K-39":P"1K-2z":P"U":P"T":7[0].O[b]=1f;15;P"2k":7[0].2k=1f;15;P"1J":t(7,1f)}}K(N.1h==1&&1t N[0]=="2S"){9 c=N[0];q(7,c);K(c.1J){t(7,c.1J)}K(c.2k){7[0].2k=c.2k}}}J 7};7.3H=G(){7.1A.2j.14(7.1A)}};9 v=G(a,x,y,r){9 g=13.1p("1j:1G"),1l=g.O;1l.1H="1I";1l.1m=0;1l.1n=0;1l.T=a.T;1l.U=a.U;9 o=13.1p("1j:3I"),1s=o.O;1s.T=1s.U=r*2+"16";1s.1n=a.1c(y)-r+"16";1s.1m=a.1b(x)-r+"16";g.14(o);a.17.14(g);9 b=1u u(o,g,a);q(b,{1e:"#1P"});b.1X=x;b.1M=y;b.r=r;b.1a="2T";J b};9 z=G(a,x,y,w,h,r){9 g=13.1p("1j:1G"),1l=g.O;1l.1H="1I";1l.1m=0;1l.1n=0;1l.T=a.T;1l.U=a.U;9 o=13.1p(r?"1j:4V":"1j:25"),1s=o.O;1s.U=a.1y(h)+"16";1s.T=a.1v(w)+"16";1s.1n=a.1c(y)+"16";1s.1m=a.1b(x)+"16";K(r){o.4W=r/(12.4X(w,h))}g.14(o);a.17.14(g);9 b=1u u(o,g,a);q(b,{1e:"#1P"});b.1X=x;b.1M=y;b.r=r;b.1a="25";J b};9 A=G(a,x,y,b,c){9 g=13.1p("1j:1G"),1l=g.O;1l.1H="1I";1l.1m=0;1l.1n=0;1l.T=a.T;1l.U=a.U;9 o=13.1p("1j:3I"),1s=o.O;1s.T=b*2+"16";1s.U=c*2+"16";1s.1n=y-c+"16";1s.1m=x-b+"16";g.14(o);a.17.14(g);9 d=1u u(o,g,a);q(d,{1e:"#1P"});d.1X=x;d.1M=y;d.23=b;d.24=c;d.1a="2U";J d};9 B=G(a,b,x,y,w,h){9 g=13.1p("1j:1G");g.O.1H="1I";g.O.1m=0;g.O.1n=0;g.O.T=a.T;g.O.U=a.U;g.1B=a.1B;g.1C=a.1C;9 o=13.1p("1j:2G");o.4Y=b;o.O.1H="1I";o.O.T=w+"16";o.O.U=h+"16";o.O.1n=y+"16";o.O.1m=x+"16";o.1B=a.1B;o.1C=a.1C;g.14(o);a.17.14(g);9 c=1u u(o,g,a);c.1a="2G";J c};9 D=G(a,x,y,b){9 g=13.1p("1j:1G"),2r=g.O;9 c=13.1p("1j:27"),1s=c.O;9 d=13.1p("1j:I"),2V=d.O;d.v=["m",x,", ",y,"l",x+1,", ",y].34("");d.4Z=1Z;2V.1H="1I";2V.1n=0;2V.1m=0;1s.T=a.T+"16";1s.U=a.U+"16";2r.1H="1I";2r.1m=0;2r.1n=0;2r.T=a.T;2r.U=a.U;g.1B=a.1B;g.1C=a.1C;9 o=13.1p("1j:50");o.2y=b;o.2n=1Z;o.1B=a.1B;o.1C=a.1C;c.14(o);c.14(d);g.14(c);a.17.14(g);9 e=1u u(o,g,a);e.27=c;e.1a="2s";J e};9 E=G(a,x,y,b){9 g=13.1p("1j:1G");g.O.1H="1I";g.O.1m=0;g.O.1n=0;g.O.T=a.T;g.O.U=a.U;g.1B=a.1B;g.1C=a.1C;9 o=13.1p("1j:51");o.O.1H="1I";o.O.1n=y+"16";o.O.1m=x+"16";o.52="<3f>"+b+"</3f>";o.1B=a.1B;o.1C=a.1C;g.14(o);a.17.14(g);9 c=1u u(o,g,a);c.1a="2s";J c};9 F=G(a){9 b=13.1p("1j:1G"),2t=b.O;2t.1H="1I";2t.1m=0;2t.1n=0;2t.T=a.T;2t.U=a.U;K(a.17){a.17.14(b)}9 c=1u u(b,b,a);1w(9 f 2b a){K(f.35(0)!="3J"&&1t a[f]=="G"){c[f]=(G(f){J G(){9 e=a[f].2f(a,N);b.14(e[0].2j);J e}})(f)}}c.1a="1G";J c};r.2W=G(){K(1t N[0]=="2y"){9 d=13.3K(N[0]);9 e=N[1];9 f=N[2]}K(1t N[0]=="2S"){9 d=N[0];9 e=N[1];9 f=N[2]}K(1t N[0]=="3L"){9 d=1,x=N[0],y=N[1],e=N[2],f=N[3]}K(!d){3M 1u 3N("3g 3O 3P 3Q.");}13.53.54("1j","55:56-58-59:2x");13.5a().5b("1j\\\\:*","5c:3R(#3S#3g)");9 c=13.1p("3f"),r=C.17=13.1p("1j:1G"),1Y=c.O,2H=r.O;C.T=e;C.U=f;e=e||"5d";f=f||"5e";1Y.5f="25(0 "+e+" "+f+" 0)";1Y.1H="1I";2H.T=e;2H.U=f;r.1B=(e=="1d%"?e:11(e))+" "+(f=="1d%"?f:11(f));r.1C="0 0";9 b=13.1p("1j:25"),2I=b.O;2I.1m=2I.1n=0;2I.T=2H.T;2I.U=2H.U;b.5g=b.5h="f";r.14(b);c.14(r);K(d==1){13.3T.14(c);1Y.1H="1I";1Y.1m=x+"16";1Y.1n=y+"16";1Y.T=e;1Y.U=f;d={O:{T:e,U:f}}}1z{1Y.T=d.O.T=e;1Y.U=d.O.U=f;K(d.2u){d.3U(c,d.2u)}1z{d.14(c)}}1w(9 g 2b C){d[g]=C[g]}d.3h=G(){9 a=[];1w(9 i=0,1g=r.2R.1h;i<1g;i++){K(r.2R[i]!=b){a.1O(r.2R[i])}}1w(i=0,1g=a.1h;i<1g;i++){r.2q(a[i])}};J d}}K(r.2v){2l.3k.31=G(){J"3d("+7.m[0][0]+", "+7.m[1][0]+", "+7.m[0][1]+", "+7.m[1][1]+", "+7.m[2][0]+", "+7.m[2][1]+")"};9 n=G(g,h,j){9 k=13.1R(j.1N,"I");k.Q("1x","2B");K(g){1w(9 l 2b g){K(g.1J){t(k,g.1J,j)}1z{k.Q(l,g[l])}}}K(j.17){j.17.14(k)}9 p=1u u(k,j);p.W=1Z;p.I=[];p.18={x:0,y:0,2c:0,2d:0};p.1D=G(){7.W=1Z;J 7};p.1E=G(){7.W=32;J 7};p.3m=G(){7[0].Q("d","5i 0");9 a=7.I;7.I=[];1w(9 i=0,1g=a.1h;i<1g;i++){K(a[i].1a!="33"){7[a[i].1a+"3n"].2f(7,a[i].1T)}1z{7.28()}}};p.1U=G(x,y){9 d=7.W?"M":"m";9 a=7.W?j.1b:j.1v;9 b=7.W?j.1c:j.1y;d+=a(11(x,10))+" "+b(11(y,10))+" ";9 c=7[0].2J("d")||"";7[0].Q("d",c+d);7.18.x=j.1b(11(x,10));7.18.y=j.1c(11(y,10));7.I.1O({1a:"3o",1T:N,2a:7.W});J 7};p.1k=G(x,y){9 d=7.W?"L":"l";9 a=7.W?j.1b:j.1v;9 b=7.W?j.1c:j.1y;d+=a(11(x,10))+" "+b(11(y,10))+" ";9 c=7[0].2J("d")||"";7[0].Q("d",c+d);7.18.x=j.1b(11(x,10));7.18.y=j.1c(11(y,10));7.I.1O({1a:"3p",1T:N,2a:7.W});J 7};p.3q=G(a,b,c){K(!c){J 7.1k(a,b)}1z{9 p={};p.1b=7.W?j.1b:j.1v;p.1c=7.W?j.1c:j.1y;9 x=p.1b(12.19(11(a,10)*1d)/1d);9 y=p.1c(12.19(11(b,10)*1d)/1d);9 w=j.1v(12.19(11(c,10)*1d)/1d);9 d=7.W?"C":"c";9 e=[7.18.x+w,7.18.y,x-w,y,x,y];1w(9 i=0,1g=e.1h;i<1g;i++){d+=e[i]+" "}7.18.x=e[4];7.18.y=e[5];7.18.2c=e[2];7.18.2d=e[3];9 f=7[0].2J("d")||"";7[0].Q("d",f+d);7.I.1O({1a:"3r",1T:N,2a:7.W});J 7}};p.1o=G(){9 p={};p.1b=7.W?j.1b:j.1v;p.1c=7.W?j.1c:j.1y;K(N.1h==6){9 d=7.W?"C":"c";1w(9 i=0,1g=N.1h;i<1g;i++){d+=p[(i%2==0)?"1b":"1c"](12.19(11(N[i],10)*1d)/1d)+" "}7.18.x=p.1b((11(N[4],10)*1d)/1d);7.18.y=p.1c((11(N[5],10)*1d)/1d);7.18.2c=p.1b((11(N[2],10)*1d)/1d);7.18.2d=p.1c((11(N[3],10)*1d)/1d)}1z{K(N.1h==4){9 d=7.W?"S":"s";1w(9 i=0,1g=N.1h;i<1g;i++){d+=p[i%2==0?"1b":"1c"]((11(N[i],10)*1d)/1d)+" "}}7.18.x=p.1b((11(N[2],10)*1d)/1d);7.18.y=p.1c((11(N[3],10)*1d)/1d);7.18.2c=p.1b((11(N[0],10)*1d)/1d);7.18.2d=p.1c((11(N[1],10)*1d)/1d)}9 a=7[0].2J("d")||"";7[0].Q("d",a+d);7.I.1O({1a:"3s",1T:N,2a:7.W});J 7};p.2m=G(r,a){9 R=.3t*r,1V=7.W,o=7;K(1V){7.1E();1V=G(){o.1D()}}1z{1V=G(){}}9 b={l:G(){J{u:G(){o.1o(-R,0,-r,-(r-R),-r,-r)},d:G(){o.1o(-R,0,-r,r-R,-r,r)}}},r:G(){J{u:G(){o.1o(R,0,r,-(r-R),r,-r)},d:G(){o.1o(R,0,r,r-R,r,r)}}},u:G(){J{r:G(){o.1o(0,-R,-(R-r),-r,r,-r)},l:G(){o.1o(0,-R,R-r,-r,-r,-r)}}},d:G(){J{r:G(){o.1o(0,R,-(R-r),r,r,r)},l:G(){o.1o(0,R,R-r,r,-r,r)}}}};b[a[0]]()[a[1]]();1V();J o};p.28=G(){9 a=7[0].2J("d")||"";7[0].Q("d",a+"Z ");7.I.1O({1a:"33"});J 7};K(1t h=="2y"){h=h.20(/([3u])/2M,",$1,").20(/([^,])\\-/2M,"$1,-");I=h.36(",");3V.3W(g.1x);3V.3W(I);9 i=1,1g=I.1h;37(i<1g){2N(I[i]){P"M":p.1D().1U(I[++i],I[++i]);15;P"m":p.1E().1U(I[++i],I[++i]);15;P"C":p.1D().1o(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);15;P"c":p.1E().1o(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);15;P"s":p.1E().1o(I[++i],I[++i],I[++i],I[++i]);15;P"S":p.1D().1o(I[++i],I[++i],I[++i],I[++i]);15;P"L":p.1D().1k(I[++i],I[++i]);15;P"l":p.1E().1k(I[++i],I[++i]);15;P"H":p.1D().1k(I[++i],0);15;P"h":p.1E().1k(I[++i],0);15;P"V":p.1D().1k(0,I[++i]);15;P"v":p.1E().1k(0,I[++i]);15;P"z":p.28();15}i++}}J p};9 t=G(o,a,b){9 c=13.1R(b.1N,a.1a+"5j");c.2k="5k-1J-"+b.3X++;K(a.1Q&&a.1Q.1h){c.Q("5l",a.1Q[0]);c.Q("5m",a.1Q[1]);c.Q("5n",a.1Q[2]);c.Q("5o",a.1Q[3])}b.2X.14(c);1w(9 i=0,1g=a.1r.1h;i<1g;i++){9 d=13.1R(b.1N,"3i");d.Q("2O",a.1r[i].2O?a.1r[i].2O:(i==0)?"0%":"1d%");d.Q("3i-1W",a.1r[i].1W||"#5p");K(1t a.1r[i].1q!="21"){d.Q("3i-1q",a.1r[i].1q)}c.14(d)};o.Q("1x","3R(#"+c.2k+")")};9 u=G(h,i){9 X=0,Y=0,1i={26:0,x:0,y:0},1F=1,1L=3Y;7[0]=h;7.2p=G(a){9 b=((X||Y)?"2h("+X+","+Y+")":"")+((1F-1)?" 2i("+1F+")":"")+(1L?" "+1L:"");9 c=7.22();1i.x=(c.x+c.T/2);1i.y=(c.y+c.U/2);1i.26+=a;7[0].Q("2Y",b+" 2p("+1i.26+" "+1i.x+" "+1i.y+")");J 7};7.2h=G(x,y){X+=x;Y+=y;9 a=((1F-1)?" 2i("+1F+")":"")+(1L?" "+1L:"")+(1i.26?" 2p("+1i.26+" "+(X+1i.x)+" "+(Y+1i.y)+")":"");7[0].Q("2Y",a+" 2h("+X+","+Y+")");1i.x+=X;1i.y+=Y;J 7};7.2i=G(a){9 b=((X||Y)?"2h("+X+","+Y+")":"")+(1L?" "+1L:"");1F*=a;7[0].Q("2Y",b+" 2i("+1F+")");1i.x=(7.22().x+7.22().T/2);1i.y=(7.22().y+7.22().U/2);9 b=((X||Y)?"2h("+X+","+Y+")":"")+" 2i("+1F+")"+(1L?" "+1L:"")+(1i.26?" 2p("+1i.26+" "+1i.x+" "+1i.y+")":"");J 7};7.3d=G(a,b,c,d,e,f){9 g=((X||Y)?"2h("+X+","+Y+")":"")+((1F-1)?" 2i("+1F+")":"")+(1i.26?" 2p("+1i.26+" "+1i.x+" "+1i.y+")":"");1L=1u 2l(a,b,c,d,e,f);7[0].Q("2Y",g+" "+1L);J 7};7.3e=G(){7[0].2j.2q(7[0])};7.22=G(){J 7[0].22()};7.2F=G(){K(N.1h==2){9 a=N[0],1f=N[1];7[a]=1f;2N(a){P"23":P"1X":P"x":7[0].Q(a,i.1b(1f));15;P"24":P"1M":P"y":7[0].Q(a,i.1c(1f));15;P"T":P"23":7[0].Q(a,i.1v(1f));15;P"U":P"24":7[0].Q(a,i.1y(1f));15;P"1J":t(7[0],c.1J,i);15;P"1e-2o":7[0].Q(a,1f.20(" ",","));15;3S:9 b=a.20(/(\\-.)/g,G(w){J w.3Z(1).40()});7[0].O[b]=1f;7[0].Q(a,1f)}}1z K(N.1h=1&&1t N[0]=="2S"){9 c=N[0];K(c){1w(9 d 2b c){K(d=="1e-2o"){7[0].Q(d,c[d].20(" ",","))}1z{9 b=d.20(/(\\-.)/g,G(w){J w.3Z(1).40()});7[0].O[b]=c[d];7[0].Q(d,c[d])}}}K(c.1J){t(7[0],c.1J,i)}}J 7};7.3H=G(){7[0].2j.14(7[0])}};9 v=G(a,x,y,r){9 b=13.1R(a.1N,"2T");b.Q("1X",a.1b(x));b.Q("1M",a.1c(y));b.Q("r",r);b.Q("1x","2B");b.Q("1e","#1P");K(a.17){a.17.14(b)}9 c=1u u(b,a);c.1a="2T";J c};9 z=G(a,x,y,w,h,r){9 b=13.1R(a.1N,"25");b.Q("x",a.1b(x));b.Q("y",a.1c(y));b.Q("T",a.1v(w));b.Q("U",a.1y(h));K(r){b.Q("23",r);b.Q("24",r)}b.Q("1x","2B");b.Q("1e","#1P");K(a.17){a.17.14(b)}9 c=1u u(b,a);c.1a="25";J c};9 A=G(a,x,y,b,c){9 d=13.1R(a.1N,"2U");d.Q("1X",a.1b(x));d.Q("1M",a.1c(y));d.Q("23",a.1v(b));d.Q("24",a.1y(c));d.Q("1x","2B");d.Q("1e","#1P");K(a.17){a.17.14(d)}9 e=1u u(d,a);e.1a="2U";J e};9 B=G(a,b,x,y,w,h){9 c=13.1R(a.1N,"2G");c.Q("x",a.1b(x));c.Q("y",a.1c(y));c.Q("T",a.1v(w));c.Q("U",a.1y(h));c.5q(a.3j,"5r",b);K(a.17){a.17.14(c)}9 d=1u u(c,a);d.1a="2G";J d};9 D=G(a,x,y,b){9 c=13.1R(a.1N,"2s");c.Q("x",x);c.Q("y",y);c.Q("2s-5s","5t");c.14(13.5u(b));K(a.17){a.17.14(c)}9 d=1u u(c,a);d.1a="2s";J d};9 F=G(a){9 b=13.1R(a.1N,"g");K(a.17){a.17.14(b)}9 i=1u u(b,a);1w(9 f 2b a){K(f[0]!="3J"&&1t a[f]=="G"){i[f]=(G(f){J G(){9 e=a[f].2f(a,N);b.14(e[0]);J e}})(f)}}i.1a="1G";J i};r.2W=G(){K(1t N[0]=="2y"){9 a=13.3K(N[0]);9 b=N[1];9 c=N[2]}K(1t N[0]=="2S"){9 a=N[0];9 b=N[1];9 c=N[2]}K(1t N[0]=="3L"){9 a=1,x=N[0],y=N[1],b=N[2],c=N[3]}K(!a){3M 1u 3N("2Z 3O 3P 3Q.");}C.17=13.1R(C.1N,"2v");C.17.Q("T",b||41);C.T=b||41;C.17.Q("U",c||42);C.U=c||42;K(a==1){13.3T.14(C.17);C.17.O.1H="1I";C.17.O.1m=x+"16";C.17.O.1n=y+"16"}1z{K(a.2u){a.3U(C.17,a.2u)}1z{a.14(C.17)}}a={17:C.17,3h:G(){37(7.17.2u){7.17.2q(7.17.2u)}7.2X=13.1R(C.1N,"2X");7.3X=0;7.17.14(7.2X)}};1w(9 d 2b C){K(d!="5v"){a[d]=C[d]}}a.3h();J a};C.1N="43://44.45.46/5w/2v";C.3j="43://44.45.46/5x/3j"}K(r.2x||r.2v){C.2T=G(x,y,r){J v(7,x,y,r)};C.25=G(x,y,w,h,r){J z(7,x,y,w,h,r)};C.2U=G(x,y,a,b){J A(7,x,y,a,b)};C.I=G(a,b){J n(a,b,7)};C.2G=G(a,x,y,w,h){J B(7,a,x,y,w,h)};C.2s=G(x,y,a){J D(7,x,y,a)};C.1G=G(){J F(7)};C.5y=G(x,y,w,h,r){K(r&&2g(r,10)){J 7.I({1e:"#1P"}).1U(x+r,y).1k(x+w-r,y).2m(r,"5z").1k(x+w,y+h-r).2m(r,"5A").1k(x+r,y+h).2m(r,"5B").1k(x,y+r).2m(r,"5C").28()}J 7.I({1e:"#1P"}).1U(x,y).1k(x+w,y).1k(x+w,y+h).1k(x,y+h).28()};C.5D=G(x,y,w,h,a,b,c){c=c||"#1P";9 d=7.1G();9 e={1e:c,"1e-T":"3z","1e-1q":.3};d.25(x,y,w,h).2F(e);1w(9 i=1;i<b;i++){9 p=d.I(e);p.1U(x,y+i*12.19(h/b)).1k(x+w,y+i*12.19(h/b))}1w(9 i=1;i<a;i++){d.I(e).1U(x+i*12.19(w/a),y).1k(x+i*12.19(w/a),y+h)}J d};C.5E=G(a,b,c,d,w,h){9 e=(c-a)/w;9 f=(d-b)/h;7.1b=G(x){J a+x*e};7.1c=G(y){J b+y*f};7.1v=G(w){J w*e};7.1y=G(h){J h*f}};C.5F=G(){7.1b=7.1c=7.1v=7.1y=G(x){J x}};C.5G=G(){K(7.1a=="2Z"){9 a=C.25(0,0,C.T,C.U).2F("1e-T",0);5H(G(){a.3e()},0)}};1S=G(){J r.2W.2f(r,N)};J r.2W.2f(r,m)}1z{J 3Y}})(N.3D,N)}1S.1a=(!(2w.30&&2w.30.47==2)&&!(2w.48))?"3g":"2Z";1S.2x=!(1S.2v=(1S.1a=="2Z"));K(!(2w.30&&2w.30.47==2)&&2w.48){1S.1a="5I 5J";1S.2x=1S.2v=32}1S.31=G(){J"5K 5L 5M "+7.1a};',62,359,'|||||||this||var|||||||||||||||||||||||||||||||||function||path|return|if|||arguments|style|case|setAttribute|||width|height||isAbsolute|||||parseFloat|Math|document|appendChild|break|px|canvas|last|round|type|_getX|_getY|100|stroke|value|ii|length|Rotation|rvml|lineTo|gl|left|top|curveTo|createElement|opacity|dots|ol|typeof|new|_getW|for|fill|_getH|else|Group|coordsize|coordorigin|absolutely|relatively|Scale|group|position|absolute|gradient|font|tMatrix|cy|svgns|push|000|vector|createElementNS|Raphael|arg|moveTo|rollback|color|cx|cs|true|replace|undefined|getBBox|rx|ry|rect|deg|shape|andClose||pos|in|bx|by|Path|apply|parseInt|translate|scale|parentNode|id|Matrix|addRoundedCorner|on|dasharray|rotate|removeChild|gs|text|els|firstChild|svg|window|vml|string|weight|getElementsByTagName|none|bbox|dx|dy|attr|image|rs|bs|getAttribute|slice|call|ig|switch|offset|RotX|RotY|childNodes|object|circle|ellipse|ps|_create|defs|transform|SVG|SVGPreserveAspectRatio|toString|false|end|join|charAt|split|while|family|size|dashesn|toLowerCase|phi|matrix|remove|div|VML|clear|stop|xlink|prototype|class|redraw|To|move|line|cplineTo|cpline|curve|5522|mzlhvcsqta|joinstyle|miter|miterlimit|square|1px|str|atan|180|callee|cos|sin|rotation|toFront|oval|_|getElementById|number|throw|Error|container|not|found|url|default|body|insertBefore|console|log|gradients|null|substring|toUpperCase|320|200|http|www|w3|org|SVG_PRESERVEASPECTRATIO_XMINYMIN|CanvasRenderingContext2D|version|progid|DXImageTransform|Microsoft|M11|M12|M21|M22|Dx|Dy|sizingmethod|auto|expand|filtertype|bilinear|className|fontFamily|fontSize|fontWeight|linejoin|endcap|butt|flat|linecap|isNaN|dashstyle|linear|gradientradial|opacity2|color2|colors|angle|90|radial|focusposition|focussize|method|name|Element|PI|sqrt|filter|offsetLeft|offsetTop|offsetWidth|offsetHeight|tagName|item|roundrect|arcsize|min|src|textpathok|textpath|textbox|innerHTML|namespaces|add|urn|schemas||microsoft|com|createStyleSheet|addRule|behavior|320px|200px|clip|filled|stroked|M0|Gradient|raphael|x1|y1|x2|y2|fff|setAttributeNS|href|anchor|middle|createTextNode|create|2000|1999|linerect|rd|dl|lu|ur|drawGrid|setGrid|clearGrid|safari|setTimeout|Canvas|only|You|browser|supports'.split('|'),0,{}))
\ No newline at end of file
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('F 1N(){K(F(r,m){r.44="0.5.3";9 C={};F 24(a,b,c,d,e,f){7.m=[[a||1,b||0,0],[c||0,d||1,0],[e||0,f||0,1],]}C.1e=C.1f=C.1v=C.1x=F(x){K x};J(r.2v){24.3f.2W=F(){K"45:46.47.24(48="+7.m[0][0]+", 49="+7.m[1][0]+", 4a="+7.m[0][1]+", 4b="+7.m[1][1]+", 4c="+7.m[2][0]+", 4d="+7.m[2][1]+", 4e=\'4f 4g\', 4h=\'4i\')"};9 n=F(f,h,j){9 g=13.1q("1m:1E"),2l=g.Q;2l.1W="1X";2l.1y=0;2l.1s=0;2l.11=j.11+"1g";2l.15=j.15+"1g";9 k=13.1q("1m:25"),2m=k.Q;2m.11=j.11+"1g";2m.15=j.15+"1g";k.I="";J(f["3g"]){k.4j=f["3g"]}k.2b=7.2b;k.2c=7.2c;g.16(k);j.17.16(g);9 p=1r u(k,g,j);q(p,f);J(f.1z){s(p,f.1z)}p.T=1Y;p.1b="I";p.I=[];p.19={x:0,y:0,2d:0,2e:0,T:1Y};p.2f="";p.1B=F(){7.T=1Y;K 7};p.1C=F(){7.T=2G;K 7};p.3h=F(){7.2f="";9 a=7.I;7.I=[];1n(9 i=0,1i=a.1d;i<1i;i++){J(a[i].1b!="2X"){7[a[i].1b+"3i"].2g(7,a[i].1O)}1w{7.26()}}};p.1P=F(x,y){9 d=7.T?"m":"t";9 a=7.T?j.1e:j.1v;9 b=7.T?j.1f:j.1x;d+=14.1a(a(U(x,10)))+" "+14.1a(b(U(y,10)));7[0].I=7.2f+=d;7.19.x=14.1a(a(U(x,10)));7.19.y=14.1a(b(U(y,10)));7.19.T=7.T;7.I.1D({1b:"3j",1O:[].2H.2I(G,0),27:7.T});K 7};p.1j=F(x,y){9 d=7.T?"l":"r";9 a=7.T?j.1e:j.1v;9 b=7.T?j.1f:j.1x;d+=14.1a(a(U(x,10)))+" "+14.1a(b(U(y,10)));7[0].I=7.2f+=d;7.19.x=14.1a(a(U(x,10)));7.19.y=14.1a(b(U(y,10)));7.19.T=7.T;7.I.1D({1b:"3k",1O:[].2H.2I(G,0),27:7.T});K 7};p.3l=F(a,b,c){J(!c){K 7.1j(a,b)}1w{9 p={};p.1e=7.T?j.1e:j.1v;p.1f=7.T?j.1f:j.1x;9 x=14.1a(p.1e(14.1a(U(a,10)*1c)/1c));9 y=14.1a(p.1f(14.1a(U(b,10)*1c)/1c));9 w=14.1a(j.1v(14.1a(U(c,10)*1c)/1c));9 d=7.T?"c":"v";9 e=[7.19.x+w,7.19.y,x-w,y,x,y];d+=e.2h(" ")+" ";7.19.x=e[4];7.19.y=e[5];7.19.2d=e[2];7.19.2e=e[3];7[0].I=7.2f+=d;7.I.1D({1b:"3m",1O:[].2H.2I(G,0),27:7.T});K 7}};p.1k=F(){9 d=7.T?"c":"v";9 a=7.T?j.1e:j.1v;9 b=7.T?j.1f:j.1x;J(G.1d==6){7.19.x=14.1a(a(U(G[4],10)));7.19.y=14.1a(b(U(G[5],10)));7.19.2d=14.1a(a(U(G[2],10)));7.19.2e=14.1a(b(U(G[3],10)));d+=14.1a(a(U(G[0],10)))+" "+14.1a(b(U(G[1],10)))+" "+14.1a(a(U(G[2],10)))+" "+14.1a(b(U(G[3],10)))+" "+14.1a(a(U(G[4],10)))+" "+14.1a(b(U(G[5],10)))+" ";7.19.T=7.T}7[0].I=7.2f+=d;7.I.1D({1b:"3n",1O:[].2H.2I(G,0),27:7.T});K 7};p.2n=F(r,a){9 R=.3o*r,1Q=7.T,o=7;J(1Q){7.1C();1Q=F(){o.1B()}}1w{1Q=F(){}}9 b={l:F(){K{u:F(){o.1k(-R,0,-r,-(r-R),-r,-r)},d:F(){o.1k(-R,0,-r,r-R,-r,r)}}},r:F(){K{u:F(){o.1k(R,0,r,-(r-R),r,-r)},d:F(){o.1k(R,0,r,r-R,r,r)}}},u:F(){K{r:F(){o.1k(0,-R,-(R-r),-r,r,-r)},l:F(){o.1k(0,-R,R-r,-r,-r,-r)}}},d:F(){K{r:F(){o.1k(0,R,-(R-r),r,r,r)},l:F(){o.1k(0,R,R-r,r,-r,r)}}}};b[a.2Y(0)]()[a.2Y(1)]();1Q();K o};p.26=F(){7[0].I=(7.2f+="x e");K 7};J(1l h=="2i"){h=h.1Z(/([3p])/2J,",$1,").1Z(/([^,])\\-/2J,"$1,-");I=h.2Z(",");9 i=1,1i=I.1d;30(i<1i){2K(I[i]){O"M":p.1B().1P(I[++i],I[++i]);12;O"m":p.1C().1P(I[++i],I[++i]);12;O"C":p.1B().1k(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);12;O"c":p.1C().1k(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);12;O"L":p.1B().1j(I[++i],I[++i]);12;O"l":p.1C().1j(I[++i],I[++i]);12;O"H":p.1B().1j(I[++i],0);12;O"h":p.1C().1j(I[++i],0);12;O"V":p.1B().1j(0,I[++i]);12;O"v":p.1C().1j(0,I[++i]);12;O"Z":O"z":p.26();12}i++}}K p};9 q=F(o,a){o[0].N=o[0].N||{};1n(9 b 1I a){o[0].N[b]=a[b]}a["1F-31"]&&(o[0].Q.4k=a["1F-31"]);a["1F-32"]&&(o[0].Q.4l=a["1F-32"]);a["1F"]&&(o[0].Q.1F=a["1F"]);a["1F-2w"]&&(o[0].Q.4m=a["1F-2w"]);J(1l a.1o!="20"||1l a["18-11"]!="20"||1l a.1t!="20"||1l a.18!="20"){o=o.25||o[0];9 c=(o.2x("1t")&&o.2x("1t")[0])||13.1q("1m:1t");J("1t-1o"1I a||"1o"1I a){c.1o=((a["1t-1o"]+1||2)-1)*((a.1o+1||2)-1)}a.1t&&(c.2j=1Y);J(c.2j){c.1R=a.1t}J(a.1t=="2o"){c.2j=2G}o.16(c);9 d=(o.2x("18")&&o.2x("18")[0])||13.1q("1m:18");d.2j=!!(a.18||a["18-11"]||a["18-1o"]||a["18-2p"]);J(d.2j){d.1R=a.18}d.1o=((a["18-1o"]+1||2)-1)*((a.1o+1||2)-1);d.3q=a["18-4n"]||"3r";d.3s=a["18-3s"]||8;d.4o={4p:"4q",3t:"3t",1a:"1a"}[a["18-4r"]||"3r"];d.2w=U(a["18-11"],10)+"1g"||"3u";J(a["18-2p"]){9 e=a["18-2p"].1Z(" ",",").2Z(","),33=[],3v=U(d.2w,10);1n(9 i=0,1i=e.1d;i<1i;i++){9 f=e[i]/3v;J(!4s(f)){33.1D(f)}};d.4t=33.2h(" ")}o.16(d)}};9 s=F(o,a){o[0].N=o[0].N||{};o[0].N.1z=a;o=o.25||o[0];9 b=o.2x("1t");J(b.1d){b=b[0]}1w{b=13.1q("1m:1t")}J(a.1p.1d){b.2j=1Y;b.1b=(a.1b.34()=="4u")?"1z":"4v";J(1l a.1p[0].1R!="20"){b.1R=a.1p[0].1R||"#1A"}J(1l a.1p[0].1o!="20"){b.1o=a.1p[0].1o}J(1l a.1p[a.1p.1d-1].1o!="20"){b.4w=a.1p[a.1p.1d-1].1o}J(1l a.1p[a.1p.1d-1].1R!="20"){b.4x=a.1p[a.1p.1d-1].1R||"#1A"}9 c="";1n(9 i=1,1i=a.1p.1d-1;i<1i;i++){c+=a.1p[i].2L+" "+a.1p[i].1R;J(i!=1i-1){c+=","}};J(c){b.4y=c}J(a.1J){9 d=14.1a(14.4z((21(a.1J[3],10)-21(a.1J[1],10))/(21(a.1J[2],10)-21(a.1J[0],10)))*57.29)+4A;b.4B=d+4C}J(a.1b.34()=="4D"){b.4E="0.5, 0.5";b.4F="0, 0";b.4G="2o"}}};9 t=F(a,o,x,y,w,h){o.28=o.28||{x:x,y:y,w:w,h:h};9 b=a.11/2-o.28.w/2,1s=a.15/2-o.28.h/2,1G=o.1u.Q,2q=o[0].Q;1G.1W="1X";1G.1y=o.28.x-b+"1g";1G.1s=o.28.y-1s+"1g";o.X=o.28.x-b;o.Y=o.28.y-1s;o.W=w;o.H=h;1G.11=a.11+"1g";1G.15=a.15+"1g";2q.1W="1X";2q.1s=1s+"1g";2q.1y=b+"1g";2q.11=w+"1g";2q.15=h+"1g"};9 u=F(g,h,k){9 l=0,4H=0,4I=0,3w=1;7[0]=g;7.X=0;7.Y=0;G.3x.4J="4K";7[0].N={};7.1u=h;7.35=F(a){l+=a;7.1u.Q.4L=l;K 7};7.36=F(x,y){7.X+=x;7.Y+=y;7.1u.Q.1y=7.X+"1g";7.1u.Q.1s=7.Y+"1g";K 7};7.37=F(a,b,c,d,e,f){38=1r 24(a,b,c,d,e,f);7.1u.Q.3y=38;K 7};7.3z=F(x,y){y=y||x;J(x!=0&&!(x==1&&y==1)){9 a=14.1a(x/14.3A(x)),2M=14.1a(y/14.3A(y));J(a!=1||2M!=1){7[0].Q.3y=1r 24(a,0,0,2M,0,0)}9 b=21(7[0].Q.11,10)*x*a;9 c=21(7[0].Q.15,10)*y*2M;9 d=21(7[0].Q.1y,10);9 e=21(7[0].Q.1s,10);7[0].Q.1y=7.X=d+7.W/2-b/2;7[0].Q.1s=7.Y=e+7.H/2-c/2;7[0].Q.11=7.W=b;7[0].Q.15=7.H=c}K 7};7.2y=F(){K{x:7.1u.4M,y:7.1u.4N,11:7.1u.4O,15:7.1u.4P}};7.39=F(){7[0].1S.2r(7[0]);7.1u.1S.2r(7.1u);7.25&&7.25.1S.2r(7.25)};7.2z=F(){J(G.1d==1&&1l G[0]=="2i"){K 7[0].N[G[0]]}J(7[0].N&&G.1d==1&&G[0]3B 3C){9 a={};1n(9 i=0,1i=G[0].1d;i<1i;i++){a[G[0][i]]=7[0].N[G[0][i]]};K a}J(7[0].4Q.34()=="1E"){9 b=7[0].2N;7[0].N=7[0].N||{};J(G.1d==2){7[0].N[G[0]]=G[1]}1w J(G.1d=1||1l G[0]=="2A"){1n(9 j 1I G[0]){7[0].N[j]=G[0][j]}}1n(9 i=0,1i=b.1d;i<1i;i++){7.2z.2g(1r 4R(b[i],7[0],k),G)}}1w{J(G.1d==2){9 c=G[0],1h=G[1];2K(c){O"r":7[0].Q.11=7[0].Q.15=1h*2+"1g";7[0].Q.1y=k.1e(7.1K)-1h+"1g";7[0].Q.1s=k.1f(7.1L)-1h+"1g";7.r=1h;12;O"1T":7[0].Q.11=1h*2+"1g";7[0].Q.1y=k.1e(7.1K)-1h+"1g";7.1T=1h;12;O"1U":7[0].Q.15=1h*2+"1g";7[0].Q.1s=k.1f(7.1L)-1h+"1g";7.1U=1h;12;O"1K":J(7.r||7.1T){7[0].Q.1y=k.1e(1h)-(7.r||k.1v(7.1T))+"1g";7.1K=1h}12;O"x":7[0].Q.1y=k.1e(1h)+"1g";12;O"1L":J(7.r||7.1U){7[0].Q.1s=k.1f(1h)-(7.r||k.1x(7.1U))+"1g";7.1L=1h}12;O"y":7[0].Q.1s=k.1f(1h)+"1g";12;O"1t":O"1t-1o":O"3q":O"1o":O"18":O"18-2p":O"18-1o":O"18-11":9 d={};d[c]=1h;q(7,d);12;O"1F":O"1F-31":O"1F-32":O"1F-2w":O"15":O"11":7[0].Q[c]=1h;12;O"2k":7[0].2k=1h;12;O"1z":s(7,1h)}}J(G.1d==1&&1l G[0]=="2A"){9 d=G[0];q(7,d);J(d.1z){s(7,d.1z)}J(d.2k){7[0].2k=d.2k}}}K 7};7.3D=F(){7.1u.1S.16(7.1u)};7.4S=F(){J(7.1u.1S.2a!=7.1u){7.1u.1S.3a(7.1u,7.1u.1S.2a)}}};9 v=F(a,x,y,r){9 g=13.1q("1m:1E");9 o=13.1q("1m:3E");g.16(o);a.17.16(g);9 b=1r u(o,g,a);q(b,{18:"#1A"});t(a,b,x-r,y-r,r*2,r*2);o.N.1K=x;o.N.1L=y;o.N.r=r;b.1b="2O";K b};9 z=F(a,x,y,w,h,r){9 g=13.1q("1m:1E");9 o=13.1q(r?"1m:4T":"1m:22");J(r){o.4U=r/(14.4V(w,h))}g.16(o);a.17.16(g);9 b=1r u(o,g,a);q(b,{18:"#1A"});t(a,b,x,y,w,h);o.N.x=x;o.N.y=y;o.N.w=w;o.N.h=h;o.N.r=r;b.1b="22";K b};9 A=F(a,x,y,b,c){9 g=13.1q("1m:1E");9 o=13.1q("1m:3E");g.16(o);a.17.16(g);9 d=1r u(o,g,a);q(d,{18:"#1A"});t(a,d,x-b,y-c,b*2,c*2);o.N.1K=x;o.N.1L=y;o.N.1T=b;o.N.1U=c;d.1b="2P";K d};9 B=F(a,b,x,y,w,h){9 g=13.1q("1m:1E");9 o=13.1q("1m:2B");o.4W=b;g.16(o);a.17.16(g);9 c=1r u(o,g,a);t(a,c,x,y,w,h);c.1b="2B";K c};9 D=F(a,x,y,b){9 g=13.1q("1m:1E"),1G=g.Q;9 c=13.1q("1m:25"),2m=c.Q;9 d=13.1q("1m:I"),2Q=d.Q;d.v=["m",x,", ",y,"l",x+1,", ",y].2h("");d.4X=1Y;2Q.1W="1X";2Q.1s=0;2Q.1y=0;2m.11=a.11+"1g";2m.15=a.15+"1g";1G.1W="1X";1G.1y=0;1G.1s=0;1G.11=a.11;1G.15=a.15;g.2b=a.2b;g.2c=a.2c;9 o=13.1q("1m:4Y");o.2i=b;o.2j=1Y;o.2b=a.2b;o.2c=a.2c;c.16(o);c.16(d);g.16(c);a.17.16(g);9 e=1r u(o,g,a);e.25=c;e.1b="2C";K e};9 E=F(a){9 b=13.1q("1m:1E"),2s=b.Q;2s.1W="1X";2s.1y=0;2s.1s=0;2s.11=a.11;2s.15=a.15;J(a.17){a.17.16(b)}9 c=1r u(b,b,a);1n(9 f 1I a){J(f.2Y(0)!="3F"&&1l a[f]=="F"){c[f]=(F(f){K F(){9 e=a[f].2g(a,G);b.16(e[0].1S);K e}})(f)}}c.1b="1E";K c};r.2R=F(){J(1l G[0]=="2i"){9 d=13.3G(G[0]);9 e=G[1];9 f=G[2]}J(1l G[0]=="2A"){9 d=G[0];9 e=G[1];9 f=G[2]}J(1l G[0]=="3H"){9 d=1,x=G[0],y=G[1],e=G[2],f=G[3]}J(!d){3I 1r 3J("3b 3K 3L 3M.");}13.4Z.50("1m","51:52-53-54:2v");13.55().56("1m\\\\:*","58:3N(#3O#3b)");9 c=13.1q("59"),r=C.17=13.1q("1m:1E"),1V=c.Q,2D=r.Q;C.11=e;C.15=f;e=e||"5a";f=f||"5b";1V.5c="22(0 "+e+" "+f+" 0)";1V.1W="1X";2D.11=e;2D.15=f;r.2b=(e=="1c%"?e:U(e))+" "+(f=="1c%"?f:U(f));r.2c="0 0";9 b=13.1q("1m:22"),2E=b.Q;2E.1y=2E.1s=0;2E.11=2D.11;2E.15=2D.15;b.5d=b.5e="f";r.16(b);c.16(r);J(d==1){13.3P.16(c);1V.1W="1X";1V.1y=x+"1g";1V.1s=y+"1g";1V.11=e;1V.15=f;d={Q:{11:e,15:f}}}1w{1V.11=d.Q.11=e;1V.15=d.Q.15=f;J(d.2a){d.3a(c,d.2a)}1w{d.16(c)}}1n(9 g 1I C){d[g]=C[g]}d.3c=F(){9 a=[];1n(9 i=0,1i=r.2N.1d;i<1i;i++){J(r.2N[i]!=b){a.1D(r.2N[i])}}1n(i=0,1i=a.1d;i<1i;i++){r.2r(a[i])}};K d}}J(r.2t){24.3f.2W=F(){K"37("+7.m[0][0]+", "+7.m[1][0]+", "+7.m[0][1]+", "+7.m[1][1]+", "+7.m[2][0]+", "+7.m[2][1]+")"};9 n=F(g,h,j){9 k=13.1M(j.1H,"I");k.P("1t","2o");J(g){1n(9 l 1I g){J(g.1z){s(k,g.1z,j)}1w{k.P(l,g[l])}}}J(j.17){j.17.16(k)}9 p=1r u(k,j);p.T=1Y;p.I=[];p.19={x:0,y:0,2d:0,2e:0};p.1B=F(){7.T=1Y;K 7};p.1C=F(){7.T=2G;K 7};p.3h=F(){7[0].P("d","5f 0");9 a=7.I;7.I=[];1n(9 i=0,1i=a.1d;i<1i;i++){J(a[i].1b!="2X"){7[a[i].1b+"3i"].2g(7,a[i].1O)}1w{7.26()}}};p.1P=F(x,y){9 d=7.T?"M":"m";9 a=7.T?j.1e:j.1v;9 b=7.T?j.1f:j.1x;d+=a(U(x,10))+" "+b(U(y,10))+" ";9 c=7[0].2F("d")||"";7[0].P("d",c+d);7.19.x=j.1e(U(x,10));7.19.y=j.1f(U(y,10));7.I.1D({1b:"3j",1O:G,27:7.T});K 7};p.1j=F(x,y){9 d=7.T?"L":"l";9 a=7.T?j.1e:j.1v;9 b=7.T?j.1f:j.1x;d+=a(U(x,10))+" "+b(U(y,10))+" ";9 c=7[0].2F("d")||"";7[0].P("d",c+d);7.19.x=j.1e(U(x,10));7.19.y=j.1f(U(y,10));7.I.1D({1b:"3k",1O:G,27:7.T});K 7};p.3l=F(a,b,c){J(!c){K 7.1j(a,b)}1w{9 p={};p.1e=7.T?j.1e:j.1v;p.1f=7.T?j.1f:j.1x;9 x=p.1e(14.1a(U(a,10)*1c)/1c);9 y=p.1f(14.1a(U(b,10)*1c)/1c);9 w=j.1v(14.1a(U(c,10)*1c)/1c);9 d=7.T?"C":"c";9 e=[7.19.x+w,7.19.y,x-w,y,x,y];1n(9 i=0,1i=e.1d;i<1i;i++){d+=e[i]+" "}7.19.x=e[4];7.19.y=e[5];7.19.2d=e[2];7.19.2e=e[3];9 f=7[0].2F("d")||"";7[0].P("d",f+d);7.I.1D({1b:"3m",1O:G,27:7.T});K 7}};p.1k=F(){9 p={};p.1e=7.T?j.1e:j.1v;p.1f=7.T?j.1f:j.1x;J(G.1d==6){9 d=7.T?"C":"c";1n(9 i=0,1i=G.1d;i<1i;i++){d+=p[(i%2==0)?"1e":"1f"](14.1a(U(G[i],10)*1c)/1c)+" "}7.19.x=p.1e((U(G[4],10)*1c)/1c);7.19.y=p.1f((U(G[5],10)*1c)/1c);7.19.2d=p.1e((U(G[2],10)*1c)/1c);7.19.2e=p.1f((U(G[3],10)*1c)/1c)}1w{J(G.1d==4){9 d=7.T?"S":"s";1n(9 i=0,1i=G.1d;i<1i;i++){d+=p[i%2==0?"1e":"1f"]((U(G[i],10)*1c)/1c)+" "}}7.19.x=p.1e((U(G[2],10)*1c)/1c);7.19.y=p.1f((U(G[3],10)*1c)/1c);7.19.2d=p.1e((U(G[0],10)*1c)/1c);7.19.2e=p.1f((U(G[1],10)*1c)/1c)}9 a=7[0].2F("d")||"";7[0].P("d",a+d);7.I.1D({1b:"3n",1O:G,27:7.T});K 7};p.2n=F(r,a){9 R=.3o*r,1Q=7.T,o=7;J(1Q){7.1C();1Q=F(){o.1B()}}1w{1Q=F(){}}9 b={l:F(){K{u:F(){o.1k(-R,0,-r,-(r-R),-r,-r)},d:F(){o.1k(-R,0,-r,r-R,-r,r)}}},r:F(){K{u:F(){o.1k(R,0,r,-(r-R),r,-r)},d:F(){o.1k(R,0,r,r-R,r,r)}}},u:F(){K{r:F(){o.1k(0,-R,-(R-r),-r,r,-r)},l:F(){o.1k(0,-R,R-r,-r,-r,-r)}}},d:F(){K{r:F(){o.1k(0,R,-(R-r),r,r,r)},l:F(){o.1k(0,R,R-r,r,-r,r)}}}};b[a[0]]()[a[1]]();1Q();K o};p.26=F(){9 a=7[0].2F("d")||"";7[0].P("d",a+"Z ");7.I.1D({1b:"2X"});K 7};J(1l h=="2i"){h=h.1Z(/([3p])/2J,",$1,").1Z(/([^,])\\-/2J,"$1,-");I=h.2Z(",");9 i=1,1i=I.1d;30(i<1i){2K(I[i]){O"M":p.1B().1P(I[++i],I[++i]);12;O"m":p.1C().1P(I[++i],I[++i]);12;O"C":p.1B().1k(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);12;O"c":p.1C().1k(I[++i],I[++i],I[++i],I[++i],I[++i],I[++i]);12;O"s":p.1C().1k(I[++i],I[++i],I[++i],I[++i]);12;O"S":p.1B().1k(I[++i],I[++i],I[++i],I[++i]);12;O"L":p.1B().1j(I[++i],I[++i]);12;O"l":p.1C().1j(I[++i],I[++i]);12;O"H":p.1B().1j(I[++i],0);12;O"h":p.1C().1j(I[++i],0);12;O"V":p.1B().1j(0,I[++i]);12;O"v":p.1C().1j(0,I[++i]);12;O"z":p.26();12}i++}}K p};9 s=F(o,a,b){9 c=13.1M(b.1H,a.1b+"5g");c.2k="5h-1z-"+b.3Q++;J(a.1J&&a.1J.1d){c.P("5i",a.1J[0]);c.P("5j",a.1J[1]);c.P("5k",a.1J[2]);c.P("5l",a.1J[3])}b.2S.16(c);1n(9 i=0,1i=a.1p.1d;i<1i;i++){9 d=13.1M(b.1H,"3d");d.P("2L",a.1p[i].2L?a.1p[i].2L:(i==0)?"0%":"1c%");d.P("3d-1R",a.1p[i].1R||"#5m");J(1l a.1p[i].1o!="20"){d.P("3d-1o",a.1p[i].1o)}c.16(d)};o.P("1t","3N(#"+c.2k+")")};9 u=F(g,h){9 X=0,Y=0,5n={5o:0,x:0,y:0},3w=1,38=3R;7[0]=g;7[0].N=7[0].N||{};7.23=[];7.35=F(a){9 b=7.2y();7.23.1D("35("+a+" "+(b.x+b.11/2)+" "+(b.y+b.15/2)+")");7[0].P("2T",7.23.2h(" "));K 7};7.36=F(x,y){7.23.1D("36("+x+","+y+")");7[0].P("2T",7.23.2h(" "));K 7};7.3z=F(x,y){y=y||x;J(x!=0&&!(x==1&&y==1)){9 a=7.2y(),3S=a.x*(1-x)+(a.11/2-a.11*x/2),3T=a.y*(1-y)+(a.15/2-a.15*y/2);7.23.1D(1r 24(x,0,0,y,3S,3T));7[0].P("2T",7.23.2h(" "))}K 7};7.37=F(a,b,c,d,e,f){7.23.1D(1r 24(a,b,c,d,e,f));7[0].P("2T",7.23.2h(" "));K 7};7.39=F(){7[0].1S.2r(7[0])};7.2y=F(){K 7[0].2y()};7.2z=F(){J(G.1d==1&&1l G[0]=="2i"){K 7[0].N[G[0]]}J(G.1d==1&&G[0]3B 3C){9 a={};1n(9 j 1I G[0]){a[G[0][j]]=7[0].N[G[0][j]]}K a}J(G.1d==2){9 b=G[0],1h=G[1];7[b]=1h;7[0].N[b]=1h;2K(b){O"1T":O"1K":O"x":7[0].P(b,h.1e(1h));12;O"1U":O"1L":O"y":7[0].P(b,h.1f(1h));12;O"11":7[0].P(b,h.1v(1h));12;O"15":7[0].P(b,h.1x(1h));12;O"1z":s(7[0],d.1z,h);12;O"18-2p":7[0].P(b,1h.1Z(" ",","));12;3O:9 c=b.1Z(/(\\-.)/g,F(w){K w.3U(1).3V()});7[0].Q[c]=1h;7[0].P(b,1h)}}1w J(G.1d=1&&1l G[0]=="2A"){9 d=G[0];J(d){1n(9 e 1I d){7[0].N[e]=d[e];J(e=="18-2p"){7[0].P(e,d[e].1Z(" ",","))}1w{9 c=e.1Z(/(\\-.)/g,F(w){K w.3U(1).3V()});7[0].Q[c]=d[e];7[0].P(e,d[e])}}}J(d.1z){7[0].N.1z=d.1z;s(7[0],d.1z,h)}}K 7};7.3D=F(){7[0].1S.16(7[0])}};9 v=F(a,x,y,r){9 b=13.1M(a.1H,"2O");b.P("1K",a.1e(x));b.P("1L",a.1f(y));b.P("r",r);b.P("1t","2o");b.P("18","#1A");b.N=b.N||{};b.N.1K=x;b.N.1L=y;b.N.r=r;b.N.18="#1A";J(a.17){a.17.16(b)}9 c=1r u(b,a);c.1b="2O";K c};9 z=F(a,x,y,w,h,r){9 b=13.1M(a.1H,"22");b.P("x",a.1e(x));b.P("y",a.1f(y));b.P("11",a.1v(w));b.P("15",a.1x(h));b.N=b.N||{};b.N.x=x;b.N.y=y;b.N.11=w;b.N.15=h;J(r){b.P("1T",r);b.P("1U",r);b.N.1T=b.N.1U=r}b.P("1t","2o");b.P("18","#1A");b.N.18="#1A";J(a.17){a.17.16(b)}9 c=1r u(b,a);c.1b="22";K c};9 A=F(a,x,y,b,c){9 d=13.1M(a.1H,"2P");d.P("1K",a.1e(x));d.P("1L",a.1f(y));d.P("1T",a.1v(b));d.P("1U",a.1x(c));d.P("1t","2o");d.P("18","#1A");d.N=d.N||{};d.N.1K=x;d.N.1L=y;d.N.1T=b;d.N.1U=c;d.N.18="#1A";J(a.17){a.17.16(d)}9 e=1r u(d,a);e.1b="2P";K e};9 B=F(a,b,x,y,w,h){9 c=13.1M(a.1H,"2B");c.P("x",a.1e(x));c.P("y",a.1f(y));c.P("11",a.1v(w));c.P("15",a.1x(h));c.5p(a.3e,"5q",b);J(a.17){a.17.16(c)}9 d=1r u(c,a);d.1b="2B";K d};9 D=F(a,x,y,b){9 c=13.1M(a.1H,"2C");c.P("x",x);c.P("y",y);c.P("2C-5r","5s");c.P("1t","#1A");c.N=c.N||{};c.N.x=x;c.N.y=y;c.N.1t="#1A";J(b){c.16(13.5t(b))}J(a.17){a.17.16(c)}9 d=1r u(c,a);d.1b="2C";K d};9 E=F(a){9 b=13.1M(a.1H,"g");J(a.17){a.17.16(b)}9 i=1r u(b,a);1n(9 f 1I a){J(f[0]!="3F"&&1l a[f]=="F"){i[f]=(F(f){K F(){9 e=a[f].2g(a,G);b.16(e[0]);K e}})(f)}}i.1b="1E";K i};r.2R=F(){J(1l G[0]=="2i"){9 a=13.3G(G[0]);9 b=G[1];9 c=G[2]}J(1l G[0]=="2A"){9 a=G[0];9 b=G[1];9 c=G[2]}J(1l G[0]=="3H"){9 a=1,x=G[0],y=G[1],b=G[2],c=G[3]}J(!a){3I 1r 3J("2U 3K 3L 3M.");}C.17=13.1M(C.1H,"2t");C.17.P("11",b||3W);C.11=b||3W;C.17.P("15",c||3X);C.15=c||3X;J(a==1){13.3P.16(C.17);C.17.Q.1W="1X";C.17.Q.1y=x+"1g";C.17.Q.1s=y+"1g"}1w{J(a.2a){a.3a(C.17,a.2a)}1w{a.16(C.17)}}a={17:C.17,3c:F(){30(7.17.2a){7.17.2r(7.17.2a)}7.2S=13.1M(C.1H,"2S");7.3Q=0;7.17.16(7.2S)}};1n(9 d 1I C){J(d!="5u"){a[d]=C[d]}}a.3c();K a};C.1H="3Y://3Z.40.41/5v/2t";C.3e="3Y://3Z.40.41/5w/3e"}J(r.2v||r.2t){C.2O=F(x,y,r){K v(7,x,y,r)};C.22=F(x,y,w,h,r){K z(7,x,y,w,h,r)};C.2P=F(x,y,a,b){K A(7,x,y,a,b)};C.I=F(a,b){K n(a,b,7)};C.2B=F(a,x,y,w,h){K B(7,a,x,y,w,h)};C.2C=F(x,y,a){K D(7,x,y,a)};C.1E=F(){K E(7)};C.5x=F(x,y,w,h,r){J(r&&21(r,10)){K 7.I({18:"#1A"}).1P(x+r,y).1j(x+w-r,y).2n(r,"5y").1j(x+w,y+h-r).2n(r,"5z").1j(x+r,y+h).2n(r,"5A").1j(x,y+r).2n(r,"5B").26()}K 7.I({18:"#1A"}).1P(x,y).1j(x+w,y).1j(x+w,y+h).1j(x,y+h).26()};C.5C=F(x,y,w,h,a,b,c){c=c||"#1A";9 d=7.1E();9 e={18:c,"18-11":"3u","18-1o":.3};d.22(x,y,w,h).2z(e);1n(9 i=1;i<b;i++){9 p=d.I(e);p.1P(x,y+i*14.1a(h/b)).1j(x+w,y+i*14.1a(h/b))}1n(9 i=1;i<a;i++){d.I(e).1P(x+i*14.1a(w/a),y).1j(x+i*14.1a(w/a),y+h)}K d};C.5D=F(a,b,c,d,w,h){9 e=(c-a)/w;9 f=(d-b)/h;7.1e=F(x){K a+x*e};7.1f=F(y){K b+y*f};7.1v=F(w){K w*e};7.1x=F(h){K h*f}};C.5E=F(){7.1e=7.1f=7.1v=7.1x=F(x){K x}};C.5F=F(){J(7.1b=="2U"){9 a=C.22(0,0,C.11,C.15).2z("18-11",0);5G(F(){a.39()},0)}};1N=F(){K r.2R.2g(r,G)};K r.2R.2g(r,m)}1w{K 3R}})(G.3x,G)}1N.1b=(!(2u.2V&&2u.2V.42==2)&&!(2u.43))?"3b":"2U";1N.2v=!(1N.2t=(1N.1b=="2U"));J(!(2u.2V&&2u.2V.42==2)&&2u.43){1N.1b="5H 5I";1N.2v=1N.2t=2G}1N.2W=F(){K"5J 5K 5L "+7.1b};',62,358,'|||||||this||var||||||||||||||||||||||||||||||||function|arguments||path|if|return|||attrs|case|setAttribute|style|||isAbsolute|parseFloat|||||||width|break|document|Math|height|appendChild|canvas|stroke|last|round|type|100|length|_getX|_getY|px|value|ii|lineTo|curveTo|typeof|rvml|for|opacity|dots|createElement|new|top|fill|Group|_getW|else|_getH|left|gradient|000|absolutely|relatively|push|group|font|gs|svgns|in|vector|cx|cy|createElementNS|Raphael|arg|moveTo|rollback|color|parentNode|rx|ry|cs|position|absolute|true|replace|undefined|parseInt|rect|transformations|Matrix|shape|andClose|pos|origin||firstChild|coordsize|coordorigin|bx|by|Path|apply|join|string|on|id|gl|ol|addRoundedCorner|none|dasharray|os|removeChild|els|svg|window|vml|weight|getElementsByTagName|getBBox|attr|object|image|text|rs|bs|getAttribute|false|slice|call|ig|switch|offset|diry|childNodes|circle|ellipse|ps|_create|defs|transform|SVG|SVGPreserveAspectRatio|toString|end|charAt|split|while|family|size|dashesn|toLowerCase|rotate|translate|matrix|tMatrix|remove|insertBefore|VML|clear|stop|xlink|prototype|class|redraw|To|move|line|cplineTo|cpline|curve|5522|mzlhvcsqta|joinstyle|miter|miterlimit|square|1px|str|Scale|callee|filter|scale|abs|instanceof|Array|toFront|oval|_|getElementById|number|throw|Error|container|not|found|url|default|body|gradients|null|dx|dy|substring|toUpperCase|320|200|http|www|w3|org|SVG_PRESERVEASPECTRATIO_XMINYMIN|CanvasRenderingContext2D|version|progid|DXImageTransform|Microsoft|M11|M12|M21|M22|Dx|Dy|sizingmethod|auto|expand|filtertype|bilinear|className|fontFamily|fontSize|fontWeight|linejoin|endcap|butt|flat|linecap|isNaN|dashstyle|linear|gradientradial|opacity2|color2|colors|atan|180|angle|90|radial|focusposition|focussize|method|RotX|RotY|name|Element|rotation|offsetLeft|offsetTop|offsetWidth|offsetHeight|tagName|item|toBack|roundrect|arcsize|min|src|textpathok|textpath|namespaces|add|urn|schemas|microsoft|com|createStyleSheet|addRule||behavior|div|320px|200px|clip|filled|stroked|M0|Gradient|raphael|x1|y1|x2|y2|fff|Rotation|deg|setAttributeNS|href|anchor|middle|createTextNode|create|2000|1999|linerect|rd|dl|lu|ur|drawGrid|setGrid|clearGrid|safari|setTimeout|Canvas|only|You|browser|supports'.split('|'),0,{}))
\ No newline at end of file
index 519ddb9..e466988 100755 (executable)
@@ -1,6 +1,6 @@
 function Raphael() {
     return (function (r, args) {
-        r.version = "0.5.2";
+        r.version = "0.5.3";
         var C = {};
         function Matrix(m11, m12, m21, m22, dx, dy) {
             this.m = [
@@ -237,6 +237,10 @@ function Raphael() {
                 return p;
             };
             var setFillAndStroke = function (o, params) {
+                o[0].attrs = o[0].attrs || {};
+                for (var par in params) {
+                    o[0].attrs[par] = params[par];
+                }
                 params["font-family"] && (o[0].style.fontFamily = params["font-family"]);
                 params["font-size"] && (o[0].style.fontSize = params["font-size"]);
                 params["font"] && (o[0].style.font = params["font"]);
@@ -251,6 +255,9 @@ function Raphael() {
                     if (fill.on) {
                         fill.color = params.fill;
                     }
+                    if (params.fill == "none") {
+                        fill.on = false;
+                    }
                     o.appendChild(fill);
                     var stroke = (o.getElementsByTagName("stroke") && o.getElementsByTagName("stroke")[0]) || document.createElement("rvml:stroke");
                     stroke.on = !!(params.stroke || params["stroke-width"] || params["stroke-opacity"] || params["stroke-dasharray"]);
@@ -278,6 +285,8 @@ function Raphael() {
                 }
             };
             var addGrdientFill = function (o, gradient) {
+                o[0].attrs = o[0].attrs || {};
+                o[0].attrs.gradient = gradient;
                 o = o.shape || o[0];
                 var fill = o.getElementsByTagName("fill");
                 if (fill.length) {
@@ -321,55 +330,72 @@ function Raphael() {
                     }
                 }
             };
+            var setTheBox = function (vml, o, x, y, w, h) {
+                o.origin = o.origin || {x: x, y: y, w: w, h: h};
+                var left = vml.width / 2 - o.origin.w / 2,
+                    top = vml.height / 2 - o.origin.h / 2,
+                    gs = o.Group.style,
+                    os = o[0].style;
+                gs.position = "absolute";
+                gs.left = o.origin.x - left + "px";
+                gs.top = o.origin.y - top + "px";
+                o.X = o.origin.x - left;
+                o.Y = o.origin.y - top;
+                o.W = w;
+                o.H = h;
+                gs.width = vml.width + "px";
+                gs.height = vml.height + "px";
+                os.position = "absolute";
+                os.top = top + "px";
+                os.left = left + "px";
+                os.width = w + "px";
+                os.height = h + "px";
+            };
             var Element = function (node, group, vml) {
-                var X = 0,
-                    Y = 0,
-                    Rotation = 0,
+                var Rotation = 0,
                     RotX = 0,
                     RotY = 0,
                     Scale = 1;
                 this[0] = node;
+                this.X = 0;
+                this.Y = 0;
                 arguments.callee.name = "Element";
+                this[0].attrs = {};
                 this.Group = group;
-                this.rotate = function (deg, x, y) {
+                this.rotate = function (deg) {
                     Rotation += deg;
-                    var alpha = Rotation * Math.PI / 180,
-                        c = Math.cos(alpha),
-                        s = Math.sin(alpha);
-                    this.Group.style.left = 0;
-                    this.Group.style.top = 0;
-                    this.Group.style.rotation = 0;
-                    var cx = vml.width / 2,
-                        cy = vml.height / 2,
-                        bbox = this.getBBox(),
-                        dx = cx - (bbox.x + bbox.width / 2),
-                        dy = cy - (bbox.y + bbox.height / 2),
-                        phi = Math.atan(dy / dx),
-                        g = Math.sqrt(dx * dx + dy * dy);
-                        RotX = -Math.round(dx - g * Math.cos(alpha + phi));
-                        RotY = -Math.round(dy - g * Math.sin(alpha + phi));
-                    this.Group.style.left = X + RotX;
-                    this.Group.style.top = Y + RotY;
                     this.Group.style.rotation = Rotation;
                     return this;
                 };
                 this.translate = function (x, y) {
-                    X += x;
-                    Y += y;
-                    this.Group.style.left = X + RotX;
-                    this.Group.style.top = Y + RotY;
+                    this.X += x;
+                    this.Y += y;
+                    this.Group.style.left = this.X + "px";
+                    this.Group.style.top = this.Y + "px";
                     return this;
                 };
+                // depricated
                 this.matrix = function (xx, xy, yx, yy, dx, dy) {
                     tMatrix = new Matrix(xx, xy, yx, yy, dx, dy);
-                    this[0].style.filter = tMatrix;
+                    this.Group.style.filter = tMatrix;
                     return this;
                 };
-                this.scale = function (times) {
-                    Scale *= times;
-                    if (Scale != 1) {
-                        this[0].style.width = parseInt(this[0].style.width, 10) * Scale;
-                        this[0].style.height = parseInt(this[0].style.height, 10) * Scale;
+                this.scale = function (x, y) {
+                    y = y || x;
+                    if (x != 0 && !(x == 1 && y == 1)) {
+                        var dirx = Math.round(x / Math.abs(x)),
+                            diry = Math.round(y / Math.abs(y));
+                        if (dirx != 1 || diry != 1) {
+                            this[0].style.filter = new Matrix(dirx, 0, 0, diry, 0, 0);
+                        }
+                        var width = parseInt(this[0].style.width, 10) * x * dirx;
+                        var height = parseInt(this[0].style.height, 10) * y * diry;
+                        var left = parseInt(this[0].style.left, 10);
+                        var top = parseInt(this[0].style.top, 10);
+                        this[0].style.left = this.X = left + this.W / 2 - width / 2;
+                        this[0].style.top = this.Y = top + this.H / 2 - height / 2;
+                        this[0].style.width = this.W = width;
+                        this[0].style.height = this.H = height;
                     }
                     return this;
                 };
@@ -387,8 +413,26 @@ function Raphael() {
                     this.shape && this.shape.parentNode.removeChild(this.shape);
                 };
                 this.attr = function () {
+                    if (arguments.length == 1 && typeof arguments[0] == "string") {
+                        return this[0].attrs[arguments[0]];
+                    }
+                    if (this[0].attrs && arguments.length == 1 && arguments[0] instanceof Array) {
+                        var values = {};
+                        for (var i = 0, ii = arguments[0].length; i < ii; i++) {
+                            values[arguments[0][i]] = this[0].attrs[arguments[0][i]];
+                        };
+                        return values;
+                    }
                     if (this[0].tagName.toLowerCase() == "group") {
                         var children = this[0].childNodes;
+                        this[0].attrs = this[0].attrs || {};
+                        if (arguments.length == 2) {
+                            this[0].attrs[arguments[0]] = arguments[1];
+                        } else if (arguments.length = 1 || typeof arguments[0] == "object") {
+                            for (var j in arguments[0]) {
+                                this[0].attrs[j] = arguments[0][j];
+                            }
+                        }
                         for (var i = 0, ii = children.length; i < ii; i++) {
                             this.attr.apply(new item(children[i], this[0], vml), arguments);
                         };
@@ -474,40 +518,29 @@ function Raphael() {
                 this.toFront = function () {
                     this.Group.parentNode.appendChild(this.Group);
                 };
+                this.toBack = function () {
+                    if (this.Group.parentNode.firstChild != this.Group) {
+                        this.Group.parentNode.insertBefore(this.Group, this.Group.parentNode.firstChild);
+                    }
+                };
             };
             var theCircle = function (vml, x, y, r) {
-                var g = document.createElement("rvml:group"), gl = g.style;
-                gl.position = "absolute";
-                gl.left = 0;
-                gl.top = 0;
-                gl.width = vml.width;
-                gl.height = vml.height;
-                var o = document.createElement("rvml:oval"), ol = o.style;
-                ol.width = ol.height = r * 2 + "px";
-                ol.top = vml._getY(y) - r + "px";
-                ol.left = vml._getX(x) - r + "px";
+                var g = document.createElement("rvml:group");
+                var o = document.createElement("rvml:oval");
                 g.appendChild(o);
                 vml.canvas.appendChild(g);
                 var res = new Element(o, g, vml);
                 setFillAndStroke(res, {stroke: "#000"});
-                res.cx = x;
-                res.cy = y;
-                res.r = r;
+                setTheBox(vml, res, x - r, y - r, r * 2, r * 2);
+                o.attrs.cx = x;
+                o.attrs.cy = y;
+                o.attrs.r = r;
                 res.type = "circle";
                 return res;
             };
             var theRect = function (vml, x, y, w, h, r) {
-                var g = document.createElement("rvml:group"), gl = g.style;
-                gl.position = "absolute";
-                gl.left = 0;
-                gl.top = 0;
-                gl.width = vml.width;
-                gl.height = vml.height;
-                var o = document.createElement(r ? "rvml:roundrect" : "rvml:rect"), ol = o.style;
-                ol.height = vml._getH(h) + "px";
-                ol.width = vml._getW(w) + "px";
-                ol.top = vml._getY(y) + "px";
-                ol.left = vml._getX(x) + "px";
+                var g = document.createElement("rvml:group");
+                var o = document.createElement(r ? "rvml:roundrect" : "rvml:rect");
                 if (r) {
                     o.arcsize = r / (Math.min(w, h));
                 }
@@ -515,60 +548,43 @@ function Raphael() {
                 vml.canvas.appendChild(g);
                 var res = new Element(o, g, vml);
                 setFillAndStroke(res, {stroke: "#000"});
-                res.cx = x;
-                res.cy = y;
-                res.r = r;
+                setTheBox(vml, res, x, y, w, h);
+                o.attrs.x = x;
+                o.attrs.y = y;
+                o.attrs.w = w;
+                o.attrs.h = h;
+                o.attrs.r = r;
                 res.type = "rect";
                 return res;
             };
             var theEllipse = function (vml, x, y, rx, ry) {
-                var g = document.createElement("rvml:group"), gl = g.style;
-                gl.position = "absolute";
-                gl.left = 0;
-                gl.top = 0;
-                gl.width = vml.width;
-                gl.height = vml.height;
-                var o = document.createElement("rvml:oval"), ol = o.style;
-                ol.width = rx * 2 + "px";
-                ol.height = ry * 2 + "px";
-                ol.top = y - ry + "px";
-                ol.left = x - rx + "px";
+                var g = document.createElement("rvml:group");
+                var o = document.createElement("rvml:oval");
                 g.appendChild(o);
                 vml.canvas.appendChild(g);
                 var res = new Element(o, g, vml);
                 setFillAndStroke(res, {stroke: "#000"});
-                res.cx = x;
-                res.cy = y;
-                res.rx = rx;
-                res.ry = ry;
+                setTheBox(vml, res, x - rx, y - ry, rx * 2, ry * 2);
+                o.attrs.cx = x;
+                o.attrs.cy = y;
+                o.attrs.rx = rx;
+                o.attrs.ry = ry;
                 res.type = "ellipse";
                 return res;
             };
             var theImage = function (vml, src, x, y, w, h) {
                 var g = document.createElement("rvml:group");
-                g.style.position = "absolute";
-                g.style.left = 0;
-                g.style.top = 0;
-                g.style.width = vml.width;
-                g.style.height = vml.height;
-                g.coordsize = vml.coordsize;
-                g.coordorigin = vml.coordorigin;
                 var o = document.createElement("rvml:image");
                 o.src = src;
-                o.style.position = "absolute";
-                o.style.width = w + "px";
-                o.style.height = h + "px";
-                o.style.top = y + "px";
-                o.style.left = x + "px";
-                o.coordsize = vml.coordsize;
-                o.coordorigin = vml.coordorigin;
                 g.appendChild(o);
                 vml.canvas.appendChild(g);
                 var res = new Element(o, g, vml);
+                setTheBox(vml, res, x, y, w, h);
                 res.type = "image";
                 return res;
             };
             var theText = function (vml, x, y, text) {
+                // @TODO: setTheBox
                 var g = document.createElement("rvml:group"), gs = g.style;
                 var el = document.createElement("rvml:shape"), ol = el.style;
                 var path = document.createElement("rvml:path"), ps = path.style;
@@ -600,28 +616,6 @@ function Raphael() {
                 res.type = "text";
                 return res;
             };
-            var theText2 = function (vml, x, y, text) {
-                var g = document.createElement("rvml:group");
-                g.style.position = "absolute";
-                g.style.left = 0;
-                g.style.top = 0;
-                g.style.width = vml.width;
-                g.style.height = vml.height;
-                g.coordsize = vml.coordsize;
-                g.coordorigin = vml.coordorigin;
-                var o = document.createElement("rvml:textbox");
-                o.style.position = "absolute";
-                o.style.top = y  + "px";
-                o.style.left = x + "px";
-                o.innerHTML = "<div>" + text + "</div>";
-                o.coordsize = vml.coordsize;
-                o.coordorigin = vml.coordorigin;
-                g.appendChild(o);
-                vml.canvas.appendChild(g);
-                var res = new Element(o, g, vml);
-                res.type = "text";
-                return res;
-            };
             var theGroup = function (vml) {
                 var el = document.createElement("rvml:group"), els = el.style;
                 els.position = "absolute";
@@ -922,8 +916,6 @@ function Raphael() {
                 if (typeof pathString == "string") {
                     pathString = pathString.replace(/([mzlhvcsqta])/ig, ",$1,").replace(/([^,])\-/ig, "$1,-");
                     path = pathString.split(",");
-                    console.log(params.fill);
-                    console.log(path);
                     var i = 1, ii = path.length;
                     while (i < ii) {
                         switch (path[i]) {
@@ -1000,46 +992,33 @@ function Raphael() {
                     Scale = 1,
                     tMatrix = null;
                 this[0] = node;
+                this[0].attrs = this[0].attrs || {};
+                this.transformations = [];
                 this.rotate = function (deg) {
-                    var tr =    ((X || Y) ? "translate(" + X + "," + Y + ")" : "") +
-                                ((Scale - 1) ? " scale(" + Scale + ")" : "") +
-                                (tMatrix ? " " + tMatrix : "");
                     var bbox = this.getBBox();
-                    Rotation.x = (bbox.x + bbox.width / 2);
-                    Rotation.y = (bbox.y + bbox.height / 2);
-                    Rotation.deg += deg;
-                    this[0].setAttribute("transform", tr + " rotate(" + Rotation.deg + " " + Rotation.x + " " + Rotation.y + ")");
+                    this.transformations.push("rotate(" + deg + " " + (bbox.x + bbox.width / 2) + " " + (bbox.y + bbox.height / 2) + ")");
+                    this[0].setAttribute("transform", this.transformations.join(" "));
                     return this;
                 };
                 this.translate = function (x, y) {
-                    X += x;
-                    Y += y;
-                    var tr =    ((Scale - 1) ? " scale(" + Scale + ")" : "") +
-                                (tMatrix ? " " + tMatrix : "") +
-                                (Rotation.deg ? " rotate(" + Rotation.deg + " " + (X + Rotation.x) + " " + (Y + Rotation.y) + ")" : "");
-                    this[0].setAttribute("transform", tr + " translate(" + X + "," + Y + ")");
-                    Rotation.x += X;
-                    Rotation.y += Y;
+                    this.transformations.push("translate(" + x + "," + y + ")");
+                    this[0].setAttribute("transform", this.transformations.join(" "));
                     return this;
                 };
-                this.scale = function (times) {
-                    var tr =    ((X || Y) ? "translate(" + X + "," + Y + ")" : "") +
-                                (tMatrix ? " " + tMatrix : "");
-                    Scale *= times;
-                    this[0].setAttribute("transform", tr + " scale(" + Scale + ")");
-                    Rotation.x = (this.getBBox().x + this.getBBox().width / 2);
-                    Rotation.y = (this.getBBox().y + this.getBBox().height / 2);
-                    var tr =    ((X || Y) ? "translate(" + X + "," + Y + ")" : "") + " scale(" + Scale + ")" +
-                                (tMatrix ? " " + tMatrix : "") +
-                                (Rotation.deg ? " rotate(" + Rotation.deg + " " + Rotation.x + " " + Rotation.y + ")" : "");
+                this.scale = function (x, y) {
+                    y = y || x;
+                    if (x != 0 && !(x == 1 && y == 1)) {
+                        var bbox = this.getBBox(),
+                            dx = bbox.x * (1 - x) + (bbox.width / 2 - bbox.width * x / 2),
+                            dy = bbox.y * (1 - y) + (bbox.height / 2 - bbox.height * y / 2);
+                        this.transformations.push(new Matrix(x, 0, 0, y, dx, dy));
+                        this[0].setAttribute("transform", this.transformations.join(" "));
+                    }
                     return this;
                 };
                 this.matrix = function (xx, xy, yx, yy, dx, dy) {
-                    var tr =    ((X || Y) ? "translate(" + X + "," + Y + ")" : "") +
-                                ((Scale - 1) ? " scale(" + Scale + ")" : "") +
-                                (Rotation.deg ? " rotate(" + Rotation.deg + " " + Rotation.x + " " + Rotation.y + ")" : "");
-                    tMatrix = new Matrix(xx, xy, yx, yy, dx, dy);
-                    this[0].setAttribute("transform", tr + " " + tMatrix);
+                    this.transformations.push(new Matrix(xx, xy, yx, yy, dx, dy));
+                    this[0].setAttribute("transform", this.transformations.join(" "));
                     return this;
                 };
                 this.remove = function () {
@@ -1049,10 +1028,21 @@ function Raphael() {
                     return this[0].getBBox();
                 };
                 this.attr = function () {
+                    if (arguments.length == 1 && typeof arguments[0] == "string") {
+                        return this[0].attrs[arguments[0]];
+                    }
+                    if (arguments.length == 1 && arguments[0] instanceof Array) {
+                        var values = {};
+                        for (var j in arguments[0]) {
+                            values[arguments[0][j]] = this[0].attrs[arguments[0][j]];
+                        }
+                        return values;
+                    }
                     if (arguments.length == 2) {
                         var att = arguments[0],
                             value = arguments[1];
                         this[att] = value;
+                        this[0].attrs[att] = value;
                         switch (att) {
                             case "rx":
                             case "cx":
@@ -1065,11 +1055,9 @@ function Raphael() {
                                 this[0].setAttribute(att, svg._getY(value));
                                 break;
                             case "width":
-                            case "rx":
                                 this[0].setAttribute(att, svg._getW(value));
                                 break;
                             case "height":
-                            case "ry":
                                 this[0].setAttribute(att, svg._getH(value));
                                 break;
                             case "gradient":
@@ -1090,6 +1078,7 @@ function Raphael() {
                         var params = arguments[0];
                         if (params) {
                             for (var attr in params) {
+                                this[0].attrs[attr] = params[attr];
                                 if (attr == "stroke-dasharray") {
                                     this[0].setAttribute(attr, params[attr].replace(" ", ","));
                                 } else {
@@ -1103,6 +1092,7 @@ function Raphael() {
                             }
                         }
                         if (params.gradient) {
+                            this[0].attrs.gradient = params.gradient;
                             addGrdientFill(this[0], params.gradient, svg);
                         }
                     }
@@ -1119,6 +1109,11 @@ function Raphael() {
                 el.setAttribute("r", r);
                 el.setAttribute("fill", "none");
                 el.setAttribute("stroke", "#000");
+                el.attrs = el.attrs || {};
+                el.attrs.cx = x;
+                el.attrs.cy = y;
+                el.attrs.r = r;
+                el.attrs.stroke = "#000";
                 if (svg.canvas) {
                     svg.canvas.appendChild(el);
                 }
@@ -1132,12 +1127,19 @@ function Raphael() {
                 el.setAttribute("y", svg._getY(y));
                 el.setAttribute("width", svg._getW(w));
                 el.setAttribute("height", svg._getH(h));
+                el.attrs = el.attrs || {};
+                el.attrs.x = x;
+                el.attrs.y = y;
+                el.attrs.width = w;
+                el.attrs.height = h;
                 if (r) {
                     el.setAttribute("rx", r);
                     el.setAttribute("ry", r);
+                    el.attrs.rx = el.attrs.ry = r;
                 }
                 el.setAttribute("fill", "none");
                 el.setAttribute("stroke", "#000");
+                el.attrs.stroke = "#000";
                 if (svg.canvas) {
                     svg.canvas.appendChild(el);
                 }
@@ -1153,6 +1155,12 @@ function Raphael() {
                 el.setAttribute("ry", svg._getH(ry));
                 el.setAttribute("fill", "none");
                 el.setAttribute("stroke", "#000");
+                el.attrs = el.attrs || {};
+                el.attrs.cx = x;
+                el.attrs.cy = y;
+                el.attrs.rx = rx;
+                el.attrs.ry = ry;
+                el.attrs.stroke = "#000";
                 if (svg.canvas) {
                     svg.canvas.appendChild(el);
                 }
@@ -1179,7 +1187,14 @@ function Raphael() {
                 el.setAttribute("x", x);
                 el.setAttribute("y", y);
                 el.setAttribute("text-anchor", "middle");
-                el.appendChild(document.createTextNode(text));
+                el.setAttribute("fill", "#000");
+                el.attrs = el.attrs || {};
+                el.attrs.x = x;
+                el.attrs.y = y;
+                el.attrs.fill = "#000";
+                if (text) {
+                    el.appendChild(document.createTextNode(text));
+                }
                 if (svg.canvas) {
                     svg.canvas.appendChild(el);
                 }
@@ -1355,4 +1370,4 @@ if (!(window.SVGPreserveAspectRatio && window.SVGPreserveAspectRatio.SVG_PRESERV
 }
 Raphael.toString = function () {
     return "You browser supports " + this.type;
-};
+};
\ No newline at end of file