


    eval(function(p,a,c,k,e,d){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--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[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}('o 9X={ac:\'1.11\'};h $5y(U){k(U!=7s)};h $C(U){m(!$5y(U))k V;m(U.3W)k\'L\';o C=5N U;m(C==\'2p\'&&U.a1){1T(U.6n){12 1:k\'L\';12 3:k(/\\S/).2s(U.7O)?\'a7\':\'a8\'}}m(C==\'2p\'||C==\'h\'){1T(U.7r){12 23:k\'1h\';12 6u:k\'4M\';12 1i:k\'3M\'}m(5N U.Y==\'4H\'){m(U.2F)k\'9T\';m(U.89)k\'18\'}}k C};h $2J(){o 4D={};I(o i=0;i<18.Y;i++){I(o F 1a 18[i]){o ap=18[i][F];o 5I=4D[F];m(5I&&$C(ap)==\'2p\'&&$C(5I)==\'2p\')4D[F]=$2J(5I,ap);17 4D[F]=ap}}k 4D};o $P=h(){o 1b=18;m(!1b[1])1b=[c,1b[0]];I(o F 1a 1b[1])1b[0][F]=1b[1][F];k 1b[0]};o $3R=h(){I(o i=0,l=18.Y;i<l;i++){18[i].P=h(1A){I(o 1C 1a 1A){m(!c.1w[1C])c.1w[1C]=1A[1C];m(!c[1C])c[1C]=$3R.5g(1C)}}}};$3R.5g=h(1C){k h(W){k c.1w[1C].3U(W,23.1w.8c.1W(18,1))}};$3R(5V,23,5h,82);h $42(U){k!!(U||U===0)};h $4i(U,7x){k $5y(U)?U:7x};h $6a(3C,2q){k 1j.9G(1j.6a()*(2q-3C+1)+3C)};h $2W(){k N 93().8O()};h $3F(1p){9M(1p);9L(1p);k 1f};o 35=h(U){U=U||{};U.P=$P;k U};o ai=N 35(K);o aZ=N 35(O);O.7t=O.2x(\'7t\')[0];K.3i=!!(O.4W);m(K.8V)K.2e=K[K.5v?\'aS\':\'7k\']=1e;17 m(O.7P&&!O.aU&&!b6.b5)K.3x=K[K.3i?\'b9\':\'5q\']=1e;17 m(O.aP!=1f)K.6h=1e;K.aO=K.3x;6N.P=$P;m(5N 4I==\'7s\'){o 4I=h(){};m(K.3x)O.83("au");4I.1w=(K.3x)?K["[[ax.1w]]"]:{}}4I.1w.3W=h(){};m(K.7k)3Q{O.aM("aN",V,1e)}3P(e){};o 1i=h(2E){o 4L=h(){k(18[0]!==1f&&c.1s&&$C(c.1s)==\'h\')?c.1s.3U(c,18):c};$P(4L,c);4L.1w=2E;4L.7r=1i;k 4L};1i.1O=h(){};1i.1w={P:h(2E){o 5D=N c(1f);I(o F 1a 2E){o 7v=5D[F];5D[F]=1i.8q(7v,2E[F])}k N 1i(5D)},4Q:h(){I(o i=0,l=18.Y;i<l;i++)$P(c.1w,18[i])}};1i.8q=h(36,1S){m(36&&36!=1S){o C=$C(1S);m(C!=$C(36))k 1S;1T(C){12\'h\':o 5S=h(){c.1n=18.89.1n;k 1S.3U(c,18)};5S.1n=36;k 5S;12\'2p\':k $2J(36,1S)}}k 1S};o 6A=N 1i({aD:h(M){c.3z=c.3z||[];c.3z.1d(M);k c},6I:h(){m(c.3z&&c.3z.Y)c.3z.8k().1N(10,c)},aG:h(){c.3z=[]}});o 2c=N 1i({1I:h(C,M){m(M!=1i.1O){c.$14=c.$14||{};c.$14[C]=c.$14[C]||[];c.$14[C].6k(M)}k c},1K:h(C,1b,1N){m(c.$14&&c.$14[C]){c.$14[C].1F(h(M){M.2v({\'W\':c,\'1N\':1N,\'18\':1b})()},c)}k c},58:h(C,M){m(c.$14&&c.$14[C])c.$14[C].3a(M);k c}});o 4q=N 1i({3o:h(){c.B=$2J.3U(1f,[c.B].P(18));m(c.1I){I(o 2S 1a c.B){m($C(c.B[2S]==\'h\')&&(/^7b[A-Z]/).2s(2S))c.1I(2S,c.B[2S])}}k c}});23.P({5F:h(M,W){I(o i=0,j=c.Y;i<j;i++)M.1W(W,c[i],i,c)},2H:h(M,W){o 4e=[];I(o i=0,j=c.Y;i<j;i++){m(M.1W(W,c[i],i,c))4e.1d(c[i])}k 4e},2n:h(M,W){o 4e=[];I(o i=0,j=c.Y;i<j;i++)4e[i]=M.1W(W,c[i],i,c);k 4e},5z:h(M,W){I(o i=0,j=c.Y;i<j;i++){m(!M.1W(W,c[i],i,c))k V}k 1e},aW:h(M,W){I(o i=0,j=c.Y;i<j;i++){m(M.1W(W,c[i],i,c))k 1e}k V},3Y:h(2F,R){o 3Z=c.Y;I(o i=(R<0)?1j.2q(0,3Z+R):R||0;i<3Z;i++){m(c[i]===2F)k i}k-1},8b:h(1x,Y){1x=1x||0;m(1x<0)1x=c.Y+1x;Y=Y||(c.Y-1x);o 6m=[];I(o i=0;i<Y;i++)6m[i]=c[1x++];k 6m},3a:h(2F){o i=0;o 3Z=c.Y;5M(i<3Z){m(c[i]===2F){c.5e(i,1);3Z--}17{i++}}k c},1c:h(2F,R){k c.3Y(2F,R)!=-1},aE:h(1G){o U={},Y=1j.3C(c.Y,1G.Y);I(o i=0;i<Y;i++)U[1G[i]]=c[i];k U},P:h(1h){I(o i=0,j=1h.Y;i<j;i++)c.1d(1h[i]);k c},2J:h(1h){I(o i=0,l=1h.Y;i<l;i++)c.6k(1h[i]);k c},6k:h(2F){m(!c.1c(2F))c.1d(2F);k c},aC:h(){k c[$6a(0,c.Y-1)]||1f},7Q:h(){k c[c.Y-1]||1f}});23.1w.1F=23.1w.5F;23.1F=23.5F;h $A(1h){k 23.8b(1h)};h $1F(3l,M,W){m(3l&&5N 3l.Y==\'4H\'&&$C(3l)!=\'2p\'){23.5F(3l,M,W)}17{I(o 1q 1a 3l)M.1W(W||3l,3l[1q],1q)}};23.1w.2s=23.1w.1c;5h.P({2s:h(54,2o){k(($C(54)==\'1V\')?N 6u(54,2o):54).2s(c)},3b:h(){k 4u(c,10)},7y:h(){k 4l(c)},7j:h(){k c.2D(/-\\D/g,h(2A){k 2A.63(1).6H()})},7N:h(){k c.2D(/\\w[A-Z]/g,h(2A){k(2A.63(0)+\'-\'+2A.63(1).4k())})},7z:h(){k c.2D(/\\b[a-z]/g,h(2A){k 2A.6H()})},4C:h(){k c.2D(/^\\s+|\\s+$/g,\'\')},6p:h(){k c.2D(/\\s{2,}/g,\' \').4C()},5C:h(1h){o 2g=c.2A(/\\d{1,3}/g);k(2g)?2g.5C(1h):V},5t:h(1h){o 3B=c.2A(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);k(3B)?3B.8c(1).5t(1h):V},1c:h(1V,s){k(s)?(s+c+s).3Y(s+1V+s)>-1:c.3Y(1V)>-1},9a:h(){k c.2D(/([.*+?^${}()|[\\]\\/\\\\])/g,\'\\\\$1\')}});23.P({5C:h(1h){m(c.Y<3)k V;m(c.Y==4&&c[3]==0&&!1h)k\'aL\';o 3B=[];I(o i=0;i<3;i++){o 3N=(c[i]-0).3I(16);3B.1d((3N.Y==1)?\'0\'+3N:3N)}k 1h?3B:\'#\'+3B.1J(\'\')},5t:h(1h){m(c.Y!=3)k V;o 2g=[];I(o i=0;i<3;i++){2g.1d(4u((c[i].Y==1)?c[i]+c[i]:c[i],16))}k 1h?2g:\'2g(\'+2g.1J(\',\')+\')\'}});5V.P({2v:h(B){o M=c;B=$2J({\'W\':M,\'G\':V,\'18\':1f,\'1N\':V,\'3f\':V,\'4X\':V},B);m($42(B.18)&&$C(B.18)!=\'1h\')B.18=[B.18];k h(G){o 1b;m(B.G){G=G||K.G;1b=[(B.G===1e)?G:N B.G(G)];m(B.18)1b.P(B.18)}17 1b=B.18||18;o 2P=h(){k M.3U($4i(B.W,M),1b)};m(B.1N)k 94(2P,B.1N);m(B.3f)k aJ(2P,B.3f);m(B.4X)3Q{k 2P()}3P(aK){k V};k 2P()}},aA:h(1b,W){k c.2v({\'18\':1b,\'W\':W})},4X:h(1b,W){k c.2v({\'18\':1b,\'W\':W,\'4X\':1e})()},W:h(W,1b){k c.2v({\'W\':W,\'18\':1b})},az:h(W,1b){k c.2v({\'W\':W,\'G\':1e,\'18\':1b})},1N:h(1N,W,1b){k c.2v({\'1N\':1N,\'W\':W,\'18\':1b})()},3f:h(86,W,1b){k c.2v({\'3f\':86,\'W\':W,\'18\':1b})()}});82.P({3b:h(){k 4u(c)},7y:h(){k 4l(c)},8u:h(3C,2q){k 1j.3C(2q,1j.2q(3C,c))},4d:h(4J){4J=1j.3r(10,4J||0);k 1j.4d(c*4J)/4J},al:h(M){I(o i=0;i<c;i++)M(i)}});o J=N 1i({1s:h(q,1A){m($C(q)==\'1V\'){m(K.2e&&1A&&(1A.1q||1A.C)){o 1q=(1A.1q)?\' 1q="\'+1A.1q+\'"\':\'\';o C=(1A.C)?\' C="\'+1A.C+\'"\':\'\';6Z 1A.1q;6Z 1A.C;q=\'<\'+q+1q+C+\'>\'}q=O.83(q)}q=$(q);k(!1A||!q)?q:q.29(1A)}});o 1M=N 1i({1s:h(T){k(T)?$P(T,c):c}});1M.P=h(1A){I(o 1C 1a 1A){c.1w[1C]=1A[1C];c[1C]=$3R.5g(1C)}};h $(q){m(!q)k 1f;m(q.3W)k 22.4a(q);m([K,O].1c(q))k q;o C=$C(q);m(C==\'1V\'){q=O.5x(q);C=(q)?\'L\':V}m(C!=\'L\')k 1f;m(q.3W)k 22.4a(q);m([\'2p\',\'as\'].1c(q.4Y.4k()))k q;$P(q,J.1w);q.3W=h(){};k 22.4a(q)};O.5A=O.2x;h $$(){o T=[];I(o i=0,j=18.Y;i<j;i++){o 1y=18[i];1T($C(1y)){12\'L\':T.1d(1y);12\'at\':1v;12 V:1v;12\'1V\':1y=O.5A(1y,1e);6U:T.P(1y)}}k $$.4h(T)};$$.4h=h(1h){o T=[];I(o i=0,l=1h.Y;i<l;i++){m(1h[i].$5m)8j;o L=$(1h[i]);m(L&&!L.$5m){L.$5m=1e;T.1d(L)}}I(o n=0,d=T.Y;n<d;n++)T[n].$5m=1f;k N 1M(T)};1M.5E=h(F){k h(){o 1b=18;o 1g=[];o T=1e;I(o i=0,j=c.Y,2P;i<j;i++){2P=c[i][F].3U(c[i],1b);m($C(2P)!=\'L\')T=V;1g.1d(2P)};k(T)?$$.4h(1g):1g}};J.P=h(2E){I(o F 1a 2E){4I.1w[F]=2E[F];J.1w[F]=2E[F];J[F]=$3R.5g(F);o 84=(23.1w[F])?F+\'1M\':F;1M.1w[84]=1M.5E(F)}};J.P({29:h(1A){I(o 1C 1a 1A){o 3s=1A[1C];1T(1C){12\'61\':c.5T(3s);1v;12\'14\':m(c.5R)c.5R(3s);1v;12\'2E\':c.7T(3s);1v;6U:c.5L(1C,3s)}}k c},2b:h(q,85){q=$(q);1T(85){12\'8m\':q.2B.74(c,q);1v;12\'8f\':o 4f=q.7R();m(!4f)q.2B.6w(c);17 q.2B.74(c,4f);1v;12\'28\':o 6S=q.6E;m(6S){q.74(c,6S);1v}6U:q.6w(c)}k c},bb:h(q){k c.2b(q,\'8m\')},8x:h(q){k c.2b(q,\'8f\')},bg:h(q){k c.2b(q,\'6t\')},bf:h(q){k c.2b(q,\'28\')},8B:h(){o T=[];$1F(18,h(8h){T=T.6O(8h)});$$(T).2b(c);k c},3a:h(){k c.2B.7Y(c)},be:h(8i){o q=$(c.bc(8i!==V));m(!q.$14)k q;q.$14={};I(o C 1a c.$14)q.$14[C]={\'1G\':$A(c.$14[C].1G),\'1D\':$A(c.$14[C].1D)};k q.5n()},b4:h(q){q=$(q);c.2B.b3(q,c);k q},7X:h(1t){c.6w(O.aV(1t));k c},6r:h(1k){k c.1k.1c(1k,\' \')},7C:h(1k){m(!c.6r(1k))c.1k=(c.1k+\' \'+1k).6p();k c},7B:h(1k){c.1k=c.1k.2D(N 6u(\'(^|\\\\s)\'+1k+\'(?:\\\\s|$)\'),\'$1\').6p();k c},aQ:h(1k){k c.6r(1k)?c.7B(1k):c.7C(1k)},2t:h(F,H){1T(F){12\'1Z\':k c.7L(4l(H));12\'ak\':F=(K.2e)?\'aX\':\'b2\'}F=F.7j();1T($C(H)){12\'4H\':m(![\'b1\',\'7V\'].1c(F))H+=\'4m\';1v;12\'1h\':H=\'2g(\'+H.1J(\',\')+\')\'}c.1r[F]=H;k c},5T:h(2y){1T($C(2y)){12\'2p\':J.5o(c,\'2t\',2y);1v;12\'1V\':c.1r.6G=2y}k c},7L:h(1Z){m(1Z==0){m(c.1r.3q!="41")c.1r.3q="41"}17{m(c.1r.3q!="6d")c.1r.3q="6d"}m(!c.5G||!c.5G.aY)c.1r.7V=1;m(K.2e)c.1r.2H=(1Z==1)?\'\':"bh(1Z="+1Z*68+")";c.1r.1Z=c.$1B.1Z=1Z;k c},2l:h(F){F=F.7j();o 1u=c.1r[F];m(!$42(1u)){m(F==\'1Z\')k c.$1B.1Z;1u=[];I(o 1r 1a J.3g){m(F==1r){J.3g[1r].1F(h(s){o 1r=c.2l(s);1u.1d(4u(1r)?1r:\'7E\')},c);m(F==\'34\'){o 5z=1u.5z(h(3N){k(3N==1u[0])});k(5z)?1u[0]:V}k 1u.1J(\' \')}}m(F.1c(\'34\')){m(J.3g.34.1c(F)){k[\'7A\',\'6e\',\'5P\'].2n(h(p){k c.2l(F+p)},c).1J(\' \')}17 m(J.7H.1c(F)){k[\'7F\',\'7K\',\'7J\',\'7I\'].2n(h(p){k c.2l(\'34\'+p+F.2D(\'34\',\'\'))},c).1J(\' \')}}m(O.7S)1u=O.7S.9H(c,1f).9I(F.7N());17 m(c.5G)1u=c.5G[F]}m(K.2e)1u=J.7D(F,1u,c);m(1u&&F.2s(/5K/i)&&1u.1c(\'2g\')){k 1u.4B(\'2g\').5e(1,4).2n(h(5K){k 5K.5C()}).1J(\' \')}k 1u},8w:h(){k J.6y(c,\'2l\',18)},4g:h(57,1x){57+=\'9Q\';o q=(1x)?c[1x]:c[57];5M(q&&$C(q)!=\'L\')q=q[57];k $(q)},9O:h(){k c.4g(\'36\')},7R:h(){k c.4g(\'4f\')},9F:h(){k c.4g(\'4f\',\'6E\')},7Q:h(){k c.4g(\'36\',\'9x\')},9D:h(){k $(c.2B)},9E:h(){k $$(c.7P)},6f:h(q){k!!$A(c.2x(\'*\')).1c(q)},4F:h(F){o 2X=J.51[F];m(2X)k c[2X];o 7a=J.7Z[F]||0;m(!K.2e||7a)k c.9z(F,7a);o 6L=c.9S[F];k(6L)?6L.7O:1f},ab:h(F){o 2X=J.51[F];m(2X)c[2X]=\'\';17 c.9p(F);k c},aa:h(){k J.6y(c,\'4F\',18)},5L:h(F,H){o 2X=J.51[F];m(2X)c[2X]=H;17 c.a9(F,H);k c},7T:h(2y){k J.5o(c,\'5L\',2y)},4O:h(){c.7U=$A(18).1J(\'\');k c},ae:h(1t){o 2K=c.3y();m([\'1r\',\'2k\'].1c(2K)){m(K.2e){m(2K==\'1r\')c.7W.6G=1t;17 m(2K==\'2k\')c.5L(\'1t\',1t);k c}17{c.7Y(c.6E);k c.7X(1t)}}c[$5y(c.6D)?\'6D\':\'7M\']=1t;k c},9Y:h(){o 2K=c.3y();m([\'1r\',\'2k\'].1c(2K)){m(K.2e){m(2K==\'1r\')k c.7W.6G;17 m(2K==\'2k\')k c.4F(\'1t\')}17{k c.7U}}k($4i(c.6D,c.7M))},3y:h(){k c.4Y.4k()},1O:h(){22.4P(c.2x(\'*\'));k c.4O(\'\')}});J.7D=h(F,1u,L){m($42(4u(1u)))k 1u;m([\'5b\',\'49\'].1c(F)){o 1D=(F==\'49\')?[\'2h\',\'6s\']:[\'28\',\'6t\'];o 2M=0;1D.1F(h(H){2M+=L.2l(\'34-\'+H+\'-49\').3b()+L.2l(\'6C-\'+H).3b()});k L[\'2N\'+F.7z()]-2M+\'4m\'}17 m(F.2s(/34(.+)7A|2r|6C/)){k\'7E\'}k 1u};J.3g={\'34\':[],\'6C\':[],\'2r\':[]};[\'7F\',\'7K\',\'7J\',\'7I\'].1F(h(7G){I(o 1r 1a J.3g)J.3g[1r].1d(1r+7G)});J.7H=[\'aj\',\'9B\',\'9y\'];J.6y=h(q,1P,1G){o 1u={};$1F(1G,h(1E){1u[1E]=q[1P](1E)});k 1u};J.5o=h(q,1P,6x){I(o 1E 1a 6x)q[1P](1E,6x[1E]);k q};J.51=N 35({\'3M\':\'1k\',\'I\':\'di\',\'db\':\'cX\',\'d7\':\'df\',\'dd\':\'d9\',\'da\':\'d5\',\'cU\':\'cA\',\'cz\':\'cy\',\'cx\':\'cu\',\'H\':\'H\',\'6F\':\'6F\',\'79\':\'79\',\'78\':\'78\',\'72\':\'72\'});J.7Z={\'6g\':2,\'4U\':2};J.2w={4Z:{3h:h(C,M){m(c.71)c.71(C,M,V);17 c.cR(\'7b\'+C,M);k c},6j:h(C,M){m(c.80)c.80(C,M,V);17 c.cN(\'7b\'+C,M);k c}}};K.P(J.2w.4Z);O.P(J.2w.4Z);J.P(J.2w.4Z);o 22={T:[],4a:h(q){m(!q.$1B){22.T.1d(q);q.$1B={\'1Z\':1}}k q},4P:h(T){I(o i=0,j=T.Y,q;i<j;i++){m(!(q=T[i])||!q.$1B)8j;m(q.$14)q.1K(\'4P\').5n();I(o p 1a q.$1B)q.$1B[p]=1f;I(o d 1a J.1w)q[d]=1f;22.T[22.T.3Y(q)]=1f;q.3W=q.$1B=q=1f}22.T.3a(1f)},1O:h(){22.4a(K);22.4a(O);22.4P(22.T)}};K.3h(\'88\',h(){K.3h(\'6c\',22.1O);m(K.2e)K.3h(\'6c\',cM)});o 2m=N 1i({1s:h(G){m(G&&G.$8g)k G;c.$8g=1e;G=G||K.G;c.G=G;c.C=G.C;c.2U=G.2U||G.cJ;m(c.2U.6n==3)c.2U=c.2U.2B;c.8k=G.cI;c.cO=G.cT;c.cS=G.cP;c.cQ=G.cG;m([\'6b\',\'43\'].1c(c.C)){c.cF=(G.8l)?G.8l/cw:-(G.ct||0)/3}17 m(c.C.1c(\'1E\')){c.4V=G.8n||G.cr;I(o 1q 1a 2m.1G){m(2m.1G[1q]==c.4V){c.1E=1q;1v}}m(c.C==\'8a\'){o 4S=c.4V-cs;m(4S>0&&4S<13)c.1E=\'f\'+4S}c.1E=c.1E||5h.cD(c.4V).4k()}17 m(c.C.2s(/(87|cC|cV)/)){c.2I={\'x\':G.7h||G.8p+O.2f.4w,\'y\':G.7g||G.8o+O.2f.4j};c.8K={\'x\':G.7h?G.7h-K.9f:G.8p,\'y\':G.7g?G.7g-K.9s:G.8o};c.de=(G.8n==3)||(G.cZ==2);1T(c.C){12\'64\':c.1Q=G.1Q||G.cW;1v;12\'65\':c.1Q=G.1Q||G.8s}c.8e()}k c},2C:h(){k c.5r().5a()},5r:h(){m(c.G.5r)c.G.5r();17 c.G.d3=1e;k c},5a:h(){m(c.G.5a)c.G.5a();17 c.G.cY=V;k c}});2m.5j={1Q:h(){m(c.1Q&&c.1Q.6n==3)c.1Q=c.1Q.2B},8d:h(){3Q{2m.5j.1Q.1W(c)}3P(e){c.1Q=c.2U}}};2m.1w.8e=(K.6h)?2m.5j.8d:2m.5j.1Q;2m.1G=N 35({\'bH\':13,\'bF\':38,\'bE\':40,\'2h\':37,\'6s\':39,\'bB\':27,\'bC\':32,\'bD\':8,\'cq\':9,\'6Z\':46});J.2w.2c={1I:h(C,M){c.$14=c.$14||{};c.$14[C]=c.$14[C]||{\'1G\':[],\'1D\':[]};m(c.$14[C].1G.1c(M))k c;c.$14[C].1G.1d(M);o 5f=C;o 1U=J.2c[C];m(1U){m(1U.6q)1U.6q.1W(c,M);m(1U.2n)M=1U.2n;m(1U.C)5f=1U.C}m(!c.71)M=M.2v({\'W\':c,\'G\':1e});c.$14[C].1D.1d(M);k(J.6l.1c(5f))?c.3h(5f,M):c},58:h(C,M){m(!c.$14||!c.$14[C])k c;o 1o=c.$14[C].1G.3Y(M);m(1o==-1)k c;o 1E=c.$14[C].1G.5e(1o,1)[0];o H=c.$14[C].1D.5e(1o,1)[0];o 1U=J.2c[C];m(1U){m(1U.3a)1U.3a.1W(c,M);m(1U.C)C=1U.C}k(J.6l.1c(C))?c.6j(C,H):c},5R:h(2y){k J.5o(c,\'1I\',2y)},5n:h(C){m(!c.$14)k c;m(!C){I(o 5k 1a c.$14)c.5n(5k);c.$14=1f}17 m(c.$14[C]){c.$14[C].1G.1F(h(M){c.58(C,M)},c);c.$14[C]=1f}k c},1K:h(C,1b,1N){m(c.$14&&c.$14[C]){c.$14[C].1G.1F(h(M){M.2v({\'W\':c,\'1N\':1N,\'18\':1b})()},c)}k c},81:h(R,C){m(!R.$14)k c;m(!C){I(o 5k 1a R.$14)c.81(R,5k)}17 m(R.$14[C]){R.$14[C].1G.1F(h(M){c.1I(C,M)},c)}k c}};K.P(J.2w.2c);O.P(J.2w.2c);J.P(J.2w.2c);J.2c=N 35({\'5Q\':{C:\'64\',2n:h(G){G=N 2m(G);m(G.1Q!=c&&!c.6f(G.1Q))c.1K(\'5Q\',G)}},\'5U\':{C:\'65\',2n:h(G){G=N 2m(G);m(G.1Q!=c&&!c.6f(G.1Q))c.1K(\'5U\',G)}},\'43\':{C:(K.6h)?\'6b\':\'43\'}});J.6l=[\'87\',\'bo\',\'bp\',\'bn\',\'43\',\'6b\',\'64\',\'65\',\'5w\',\'8a\',\'bj\',\'bk\',\'9m\',\'6c\',\'88\',\'br\',\'bx\',\'by\',\'bw\',\'31\',\'bv\',\'bs\',\'3j\',\'bt\',\'8Y\',\'bu\',\'1Y\'];5V.P({67:h(W,1b){k c.2v({\'W\':W,\'18\':1b,\'G\':2m})}});1M.P({bR:h(2K){k N 1M(c.2H(h(q){k(J.3y(q)==2K)}))},7n:h(1k,21){o T=c.2H(h(q){k(q.1k&&q.1k.1c(1k,\' \'))});k(21)?T:N 1M(T)},7q:h(3v,21){o T=c.2H(h(q){k(q.3v==3v)});k(21)?T:N 1M(T)},7w:h(1q,6W,H,21){o T=c.2H(h(q){o 1S=J.4F(q,1q);m(!1S)k V;m(!6W)k 1e;1T(6W){12\'=\':k(1S==H);12\'*=\':k(1S.1c(H));12\'^=\':k(1S.5X(0,H.Y)==H);12\'$=\':k(1S.5X(1S.Y-H.Y)==H);12\'!=\':k(1S!=H);12\'~=\':k 1S.1c(H,\' \')}k V});k(21)?T:N 1M(T)}});h $E(1y,2H){k($(2H)||O).7u(1y)};h $cg(1y,2H){k($(2H)||O).5A(1y)};$$.2Q={\'4M\':/^(\\w*|\\*)(?:#([\\w-]+)|\\.([\\w-]+))?(?:\\[(\\w+)(?:([!*^$]?=)["\']?([^"\'\\]]*)["\']?)?])?$/,\'3i\':{6R:h(1g,2z,15,i){o 25=[2z.ce?\'6Y:\':\'\',15[1]];m(15[2])25.1d(\'[@3v="\',15[2],\'"]\');m(15[3])25.1d(\'[1c(6O(" ", @3M, " "), " \',15[3],\' ")]\');m(15[4]){m(15[5]&&15[6]){1T(15[5]){12\'*=\':25.1d(\'[1c(@\',15[4],\', "\',15[6],\'")]\');1v;12\'^=\':25.1d(\'[cd-ca(@\',15[4],\', "\',15[6],\'")]\');1v;12\'$=\':25.1d(\'[cb(@\',15[4],\', 1V-Y(@\',15[4],\') - \',15[6].Y,\' + 1) = "\',15[6],\'"]\');1v;12\'=\':25.1d(\'[@\',15[4],\'="\',15[6],\'"]\');1v;12\'!=\':25.1d(\'[@\',15[4],\'!="\',15[6],\'"]\')}}17{25.1d(\'[@\',15[4],\']\')}}1g.1d(25.1J(\'\'));k 1g},6M:h(1g,2z,21){o T=[];o 3i=O.4W(\'.//\'+1g.1J(\'//\'),2z,$$.2Q.7p,cc.ch,1f);I(o i=0,j=3i.ci;i<j;i++)T.1d(3i.cn(i));k(21)?T:N 1M(T.2n($))}},\'7l\':{6R:h(1g,2z,15,i){m(i==0){m(15[2]){o q=2z.5x(15[2]);m(!q||((15[1]!=\'*\')&&(J.3y(q)!=15[1])))k V;1g=[q]}17{1g=$A(2z.2x(15[1]))}}17{1g=$$.2Q.2x(1g,15[1]);m(15[2])1g=1M.7q(1g,15[2],1e)}m(15[3])1g=1M.7n(1g,15[3],1e);m(15[4])1g=1M.7w(1g,15[4],15[5],15[6],1e);k 1g},6M:h(1g,2z,21){k(21)?1g:$$.4h(1g)}},7p:h(7o){k(7o==\'6Y\')?\'8G://8X.cm.cl/cj/6Y\':V},2x:h(2z,4Y){o 7i=[];I(o i=0,j=2z.Y;i<j;i++)7i.P(2z[i].2x(4Y));k 7i}};$$.2Q.1P=(K.3i)?\'3i\':\'7l\';J.2w.6P={5J:h(1y,21){o 1g=[];1y=1y.4C().4B(\' \');I(o i=0,j=1y.Y;i<j;i++){o 7m=1y[i];o 15=7m.2A($$.2Q.4M);m(!15)1v;15[1]=15[1]||\'*\';o 25=$$.2Q[$$.2Q.1P].6R(1g,c,15,i);m(!25)1v;1g=25}k $$.2Q[$$.2Q.1P].6M(1g,c,21)},7u:h(1y){k $(c.5J(1y,1e)[0]||V)},5A:h(1y,21){o T=[];1y=1y.4B(\',\');I(o i=0,j=1y.Y;i<j;i++)T=T.6O(c.5J(1y[i],1e));k(21)?T:$$.4h(T)}};J.P({5x:h(3v){o q=O.5x(3v);m(!q)k V;I(o 1n=q.2B;1n!=c;1n=1n.2B){m(!1n)k V}k q},c1:h(1k){k c.5J(\'.\'+1k)}});O.P(J.2w.6P);J.P(J.2w.6P);J.P({3c:h(){1T(c.3y()){12\'3j\':o 1D=[];$1F(c.B,h(2S){m(2S.72)1D.1d($4i(2S.H,2S.1t))});k(c.78)?1D:1D[0];12\'9b\':m(!(c.79&&[\'9R\',\'c3\'].1c(c.C))&&![\'41\',\'1t\',\'c2\'].1c(c.C))1v;12\'9c\':k c.H}k V},9g:h(){k $$(c.2x(\'9b\'),c.2x(\'3j\'),c.2x(\'9c\'))},4N:h(){o 3S=[];c.9g().1F(h(q){o 1q=q.1q;o H=q.3c();m(H===V||!1q||q.6F)k;o 6J=h(3s){3S.1d(1q+\'=\'+53(3s))};m($C(H)==\'1h\')H.1F(6J);17 6J(H)});k 3S.1J(\'&\')}});J.P({2Y:h(x,y){c.4w=x;c.4j=y},59:h(){k{\'1Y\':{\'x\':c.4w,\'y\':c.4j},\'2M\':{\'x\':c.47,\'y\':c.3O},\'52\':{\'x\':c.5l,\'y\':c.4T}}},2O:h(26){26=26||[];o q=c,2h=0,28=0;c4{2h+=q.c5||0;28+=q.c7||0;q=q.c6}5M(q);26.1F(h(L){2h-=L.4w||0;28-=L.4j||0});k{\'x\':2h,\'y\':28}},c0:h(26){k c.2O(26).y},bZ:h(26){k c.2O(26).x},bU:h(26){o 3V=c.2O(26);o U={\'49\':c.47,\'5b\':c.3O,\'2h\':3V.x,\'28\':3V.y};U.6s=U.2h+U.49;U.6t=U.28+U.5b;k U}});J.2c.75={6q:h(M){m(K.5H){M.1W(c);k}o 4v=h(){m(K.5H)k;K.5H=1e;K.1p=$3F(K.1p);c.1K(\'75\')}.W(c);m(O.4t&&K.3x){K.1p=h(){m([\'5H\',\'9l\'].1c(O.4t))4v()}.3f(50)}17 m(O.4t&&K.2e){m(!$(\'7c\')){o 4U=(K.bT.bS==\'bV:\')?\'://0\':\'8Z:bW(0)\';O.bY(\'<2k 3v="7c" bX 4U="\'+4U+\'"><\\/2k>\');$(\'7c\').56=h(){m(c.4t==\'9l\')4v()}}}17{K.3h("9m",4v);O.3h("c8",4v)}}};K.c9=h(M){k c.1I(\'75\',M)};K.P({76:h(){m(c.5q)k c.ck;m(c.9d)k O.3X.9o;k O.2f.9o},7e:h(){m(c.5q)k c.co;m(c.9d)k O.3X.9e;k O.2f.9e},99:h(){m(c.2e)k 1j.2q(O.2f.47,O.2f.5l);m(c.3x)k O.3X.5l;k O.2f.5l},8H:h(){m(c.2e)k 1j.2q(O.2f.3O,O.2f.4T);m(c.3x)k O.3X.4T;k O.2f.4T},7d:h(){k c.9f||O.2f.4w},77:h(){k c.9s||O.2f.4j},59:h(){k{\'2M\':{\'x\':c.76(),\'y\':c.7e()},\'52\':{\'x\':c.99(),\'y\':c.8H()},\'1Y\':{\'x\':c.7d(),\'y\':c.77()}}},2O:h(){k{\'x\':0,\'y\':0}}});o 19={};19.3A=N 1i({B:{5Z:1i.1O,2j:1i.1O,6v:1i.1O,1H:h(p){k-(1j.8T(1j.6Q*p)-1)/2},33:cf,2d:\'4m\',44:1e,8E:50},1s:h(B){c.L=c.L||1f;c.3o(B);m(c.B.1s)c.B.1s.1W(c)},8r:h(){o 2W=$2W();m(2W<c.2W+c.B.33){c.8F=c.B.1H((2W-c.2W)/c.B.33);c.3E();c.3p()}17{c.2C(1e);c.29(c.Q);c.1K(\'2j\',c.L,10);c.6I()}},29:h(Q){c.1l=Q;c.3p();k c},3E:h(){c.1l=c.3w(c.R,c.Q)},3w:h(R,Q){k(Q-R)*c.8F+R},1x:h(R,Q){m(!c.B.44)c.2C();17 m(c.1p)k c;c.R=R;c.Q=Q;c.31=c.Q-c.R;c.2W=$2W();c.1p=c.8r.3f(1j.4d(8N/c.B.8E),c);c.1K(\'5Z\',c.L);k c},2C:h(2T){m(!c.1p)k c;c.1p=$3F(c.1p);m(!2T)c.1K(\'6v\',c.L);k c},1U:h(R,Q){k c.1x(R,Q)},bQ:h(2T){k c.2C(2T)}});19.3A.4Q(N 6A,N 2c,N 4q);19.2L={3j:h(F,Q){m(F.2s(/5K/i))k c.5P;o C=$C(Q);m((C==\'1h\')||(C==\'1V\'&&Q.1c(\' \')))k c.5E;k c.8J},2i:h(q,F,3T){m(!3T.1d)3T=[3T];o R=3T[0],Q=3T[1];m(!$42(Q)){Q=R;R=q.2l(F)}o 1m=c.3j(F,Q);k{\'R\':1m.2i(R),\'Q\':1m.2i(Q),\'1m\':1m}}};19.2L.8J={2i:h(H){k 4l(H)},45:h(R,Q,48){k 48.3w(R,Q)},3c:h(H,2d,F){m(2d==\'4m\'&&F!=\'1Z\')H=1j.4d(H);k H+2d}};19.2L.5E={2i:h(H){k H.1d?H:H.4B(\' \').2n(h(v){k 4l(v)})},45:h(R,Q,48){o 1l=[];I(o i=0;i<R.Y;i++)1l[i]=48.3w(R[i],Q[i]);k 1l},3c:h(H,2d,F){m(2d==\'4m\'&&F!=\'1Z\')H=H.2n(1j.4d);k H.1J(2d+\' \')+2d}};19.2L.5P={2i:h(H){k H.1d?H:H.5t(1e)},45:h(R,Q,48){o 1l=[];I(o i=0;i<R.Y;i++)1l[i]=1j.4d(48.3w(R[i],Q[i]));k 1l},3c:h(H){k\'2g(\'+H.1J(\',\')+\')\'}};19.6e=19.3A.P({1s:h(q,F,B){c.L=$(q);c.F=F;c.1n(B)},4E:h(){k c.29(0)},3E:h(){c.1l=c.1m.45(c.R,c.Q,c)},29:h(Q){c.1m=19.2L.3j(c.F,Q);k c.1n(c.1m.2i(Q))},1x:h(R,Q){m(c.1p&&c.B.44)k c;o 1L=19.2L.2i(c.L,c.F,[R,Q]);c.1m=1L.1m;k c.1n(1L.R,1L.Q)},3p:h(){c.L.2t(c.F,c.1m.3c(c.1l,c.B.2d,c.F))}});J.P({bq:h(F,B){k N 19.6e(c,F,B)}});19.3g=19.3A.P({1s:h(q,B){c.L=$(q);c.1n(B)},3E:h(){I(o p 1a c.R)c.1l[p]=c.1m[p].45(c.R[p],c.Q[p],c)},29:h(Q){o 1L={};c.1m={};I(o p 1a Q){c.1m[p]=19.2L.3j(p,Q[p]);1L[p]=c.1m[p].2i(Q[p])}k c.1n(1L)},1x:h(U){m(c.1p&&c.B.44)k c;c.1l={};c.1m={};o R={},Q={};I(o p 1a U){o 1L=19.2L.2i(c.L,p,U[p]);R[p]=1L.R;Q[p]=1L.Q;c.1m[p]=1L.1m}k c.1n(R,Q)},3p:h(){I(o p 1a c.1l)c.L.2t(p,c.1m[p].3c(c.1l[p],c.B.2d,p))}});J.P({bl:h(B){k N 19.3g(c,B)}});19.1M=19.3A.P({1s:h(T,B){c.T=$$(T);c.1n(B)},3E:h(){I(o i 1a c.R){o 4o=c.R[i],3d=c.Q[i],2Z=c.1m[i],4p=c.1l[i]={};I(o p 1a 4o)4p[p]=2Z[p].45(4o[p],3d[p],c)}},29:h(Q){o 1L={};c.1m={};I(o i 1a Q){o 3d=Q[i],2Z=c.1m[i]={},8C=1L[i]={};I(o p 1a 3d){2Z[p]=19.2L.3j(p,3d[p]);8C[p]=2Z[p].2i(3d[p])}}k c.1n(1L)},1x:h(U){m(c.1p&&c.B.44)k c;c.1l={};c.1m={};o R={},Q={};I(o i 1a U){o 69=U[i],4o=R[i]={},3d=Q[i]={},2Z=c.1m[i]={};I(o p 1a 69){o 1L=19.2L.2i(c.T[i],p,69[p]);4o[p]=1L.R;3d[p]=1L.Q;2Z[p]=1L.1m}}k c.1n(R,Q)},3p:h(){I(o i 1a c.1l){o 4p=c.1l[i],2Z=c.1m[i];I(o p 1a 4p)c.T[i].2t(p,2Z[p].3c(4p[p],c.B.2d,p))}}});19.bm=19.3A.P({B:{26:[],2N:{\'x\':0,\'y\':0},8v:1e},1s:h(L,B){c.1l=[];c.L=$(L);c.62={\'2C\':c.2C.W(c,V)};c.1n(B);m(c.B.8v){c.1I(\'5Z\',h(){O.1I(\'43\',c.62.2C)}.W(c));c.1I(\'2j\',h(){O.58(\'43\',c.62.2C)}.W(c))}},3E:h(){I(o i=0;i<2;i++)c.1l[i]=c.3w(c.R[i],c.Q[i])},2Y:h(x,y){m(c.1p&&c.B.44)k c;o q=c.L.59();o 1D={\'x\':x,\'y\':y};I(o z 1a q.2M){o 2q=q.52[z]-q.2M[z];m($42(1D[z]))1D[z]=($C(1D[z])==\'4H\')?1D[z].8u(0,2q):2q;17 1D[z]=q.1Y[z];1D[z]+=c.B.2N[z]}k c.1x([q.1Y.x,q.1Y.y],[1D.x,1D.y])},bz:h(){k c.2Y(V,0)},bA:h(){k c.2Y(V,\'8t\')},bL:h(){k c.2Y(0,V)},bK:h(){k c.2Y(\'8t\',V)},8s:h(q){o 1n=c.L.2O(c.B.26);o 2U=$(q).2O(c.B.26);k c.2Y(2U.x-1n.x,2U.y-1n.y)},3p:h(){c.L.2Y(c.1l[0],c.1l[1])}});19.bM=19.3A.P({B:{1R:\'8A\'},1s:h(q,B){c.L=$(q);c.2u=N J(\'4R\',{\'61\':$P(c.L.8w(\'2r\'),{\'bN\':\'41\'})}).8x(c.L).8B(c.L);c.L.2t(\'2r\',0);c.3o(B);c.1l=[];c.1n(c.B);c.3H=1e;c.1I(\'2j\',h(){c.3H=(c.1l[0]===0)});m(K.5q)c.1I(\'2j\',h(){m(c.3H)c.L.3a().2b(c.2u)})},3E:h(){I(o i=0;i<2;i++)c.1l[i]=c.3w(c.R[i],c.Q[i])},8A:h(){c.2r=\'2r-28\';c.4n=\'5b\';c.2N=c.L.3O},bP:h(){c.2r=\'2r-2h\';c.4n=\'49\';c.2N=c.L.47},8z:h(1R){c[1R||c.B.1R]();k c.1x([c.L.2l(c.2r).3b(),c.2u.2l(c.4n).3b()],[0,c.2N])},8y:h(1R){c[1R||c.B.1R]();k c.1x([c.L.2l(c.2r).3b(),c.2u.2l(c.4n).3b()],[-c.2N,0])},4E:h(1R){c[1R||c.B.1R]();c.3H=V;k c.29([-c.2N,0])},6K:h(1R){c[1R||c.B.1R]();c.3H=1e;k c.29([0,c.2N])},bO:h(1R){m(c.2u.3O==0||c.2u.47==0)k c.8z(1R);k c.8y(1R)},3p:h(){c.L.2t(c.2r,c.1l[0]+c.B.2d);c.2u.2t(c.4n,c.1l[1]+c.B.2d)}});19.6z=h(1H,2o){2o=2o||[];m($C(2o)!=\'1h\')2o=[2o];k $P(1H,{bJ:h(1o){k 1H(1o,2o)},bG:h(1o){k 1-1H(1-1o,2o)},cp:h(1o){k(1o<=0.5)?1H(2*1o,2o)/2:(2-1H(2*(1-1o),2o))/2}})};19.2G=N 35({d4:h(p){k p}});19.2G.P=h(6X){I(o 1H 1a 6X){19.2G[1H]=N 19.6z(6X[1H]);19.2G.6o(1H)}};19.2G.6o=h(1H){[\'d2\',\'d8\',\'d1\'].1F(h(7f){19.2G[1H.4k()+7f]=19.2G[1H][\'d6\'+7f]})};19.2G.P({dg:h(p,x){k 1j.3r(p,x[0]||6)},dh:h(p){k 1j.3r(2,8*(p-1))},dc:h(p){k 1-1j.97(1j.cB(p))},cE:h(p){k 1-1j.97((1-p)*1j.6Q/2)},cv:h(p,x){x=x[0]||1.cH;k 1j.3r(p,2)*((x+1)*p-x)},cK:h(p){o H;I(o a=0,b=1;1;a+=b,b/=2){m(p>=(7-4*a)/11){H=-1j.3r((11-6*a-11*p)/4,2)+b*b;1v}}k H},cL:h(p,x){k 1j.3r(2,10*--p)*1j.8T(20*p*1j.6Q*(x[0]||1)/3)}});[\'d0\',\'bI\',\'b8\',\'bi\'].1F(h(1H,i){19.2G[1H]=N 19.6z(h(p){k 1j.3r(p,[i+2])});19.2G.6o(1H)});o 5i=N 1i({B:{1P:\'3G\',8P:1e,8R:1i.1O,3J:1i.1O,5B:1i.1O,8W:1e,4s:\'a6-8\',8U:V,3t:{}},6B:h(){c.1X=(K.5v)?N 5v():(K.2e?N 8V(\'9W.9V\'):V);k c},1s:h(B){c.6B().3o(B);c.B.4x=c.B.4x||c.4x;c.3t={};m(c.B.8W&&c.B.1P==\'3G\'){o 4s=(c.B.4s)?\'; a2=\'+c.B.4s:\'\';c.3L(\'98-C\',\'96/x-8X-a3-a4\'+4s)}m(c.B.1s)c.B.1s.1W(c)},8Q:h(){m(c.1X.4t!=4||!c.4b)k;c.4b=V;o 3u=0;3Q{3u=c.1X.3u}3P(e){};m(c.B.4x.1W(c,3u))c.3J();17 c.5B();c.1X.56=1i.1O},4x:h(3u){k((3u>=a5)&&(3u<a0))},3J:h(){c.2V={\'1t\':c.1X.9Z,\'4y\':c.1X.9U};c.1K(\'3J\',[c.2V.1t,c.2V.4y]);c.6I()},5B:h(){c.1K(\'5B\',c.1X)},3L:h(1q,H){c.3t[1q]=H;k c},4K:h(2a,1z){m(c.B.8U)c.8S();17 m(c.4b)k c;c.4b=1e;m(1z&&c.B.1P==\'73\'){2a=2a+(2a.1c(\'?\')?\'&\':\'?\')+1z;1z=1f}c.1X.3H(c.B.1P.6H(),2a,c.B.8P);c.1X.56=c.8Q.W(c);m((c.B.1P==\'3G\')&&c.1X.af)c.3L(\'ag\',\'ah\');$P(c.3t,c.B.3t);I(o C 1a c.3t)3Q{c.1X.ad(C,c.3t[C])}3P(e){};c.1K(\'8R\');c.1X.4K($4i(1z,1f));k c},8S:h(){m(!c.4b)k c;c.4b=V;c.1X.8Y();c.1X.56=1i.1O;c.6B();c.1K(\'6v\');k c}});5i.4Q(N 6A,N 2c,N 4q);o 91=5i.P({B:{1z:1f,6V:1f,2j:1i.1O,5p:V,70:V},1s:h(2a,B){c.1I(\'3J\',c.2j);c.3o(B);c.B.1z=c.B.1z||c.B.9A;m(![\'3G\',\'73\'].1c(c.B.1P)){c.4r=\'4r=\'+c.B.1P;c.B.1P=\'3G\'}c.1n();c.3L(\'X-9C-9u\',\'5v\');c.3L(\'9v\',\'1t/8Z, 1t/9w, 96/4y, 1t/4y, */*\');c.2a=2a},2j:h(){m(c.B.6V)$(c.B.6V).1O().4O(c.2V.1t);m(c.B.5p||c.B.70)c.5p();c.1K(\'2j\',[c.2V.1t,c.2V.4y],20)},92:h(1z){1z=1z||c.B.1z;1T($C(1z)){12\'L\':1z=$(1z).4N();1v;12\'2p\':1z=6N.4N(1z)}m(c.4r)1z=(1z)?[c.4r,1z].1J(\'&\'):c.4r;k c.4K(c.2a,1z)},5p:h(){o 2k,2R;m(c.B.70||(/(9P|9N)2k/).2s(c.90(\'98-C\')))2R=c.2V.1t;17{2R=[];o 4M=/<2k[^>]*>([\\s\\S]*?)<\\/2k>/9J;5M((2k=4M.9K(c.2V.1t)))2R.1d(2k[1]);2R=2R.1J(\'\\n\')}m(2R)(K.95)?K.95(2R):K.94(2R,0)},90:h(1q){3Q{k c.1X.b0(1q)}3P(e){};k 1f}});6N.4N=h(2y){o 3S=[];I(o F 1a 2y)3S.1d(53(F)+\'=\'+53(2y[F]));k 3S.1J(\'&\')};J.P({4K:h(B){k N 91(c.4F(\'aR\'),$2J({1z:c.4N()},B,{1P:\'3G\'})).92()}});o aT=N 35({B:{55:V,5s:V,33:V,4c:V},29:h(1E,H,B){B=$2J(c.B,B);H=53(H);m(B.55)H+=\'; 55=\'+B.55;m(B.5s)H+=\'; 5s=\'+B.5s;m(B.33){o 5d=N 93();5d.bd(5d.8O()+B.33*24*60*60*8N);H+=\'; ba=\'+5d.b7()}m(B.4c)H+=\'; 4c\';O.3n=1E+\'=\'+H;k $P(B,{\'1E\':1E,\'H\':H})},73:h(1E){o H=O.3n.2A(\'(?:^|;)\\\\s*\'+1E.9a()+\'=([^;]*)\');k H?av(H[1]):V},3a:h(3n,B){m($C(3n)==\'2p\')c.29(3n.1E,\'\',$2J(3n,{33:-1}));17 c.29(3n,\'\',$2J(B,{33:-1}))}});o 3D={3I:h(U){1T($C(U)){12\'1V\':k\'"\'+U.2D(/(["\\\\])/g,\'\\\\$1\')+\'"\';12\'1h\':k\'[\'+U.2n(3D.3I).1J(\',\')+\']\';12\'2p\':o 1V=[];I(o F 1a U)1V.1d(3D.3I(F)+\':\'+3D.3I(U[F]));k\'{\'+1V.1J(\',\')+\'}\';12\'4H\':m(aw(U))1v;12 V:k\'1f\'}k 5h(U)},4W:h(5c,4c){k(($C(5c)!=\'1V\')||(4c&&!5c.2s(/^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+ay-u \\n\\r\\t])+?$/)))?1f:am(\'(\'+5c+\')\')}};3D.an=5i.P({1s:h(2a,B){c.2a=2a;c.1I(\'3J\',c.2j);c.1n(B);c.3L(\'X-ao\',\'ar\')},4K:h(U){k c.1n(c.2a,\'aq=\'+3D.3I(U))},2j:h(){c.1K(\'2j\',[3D.4W(c.2V.1t,c.B.4c)])}});o 8M=N 1i({B:{4G:20,66:1,8L:h(x,y){c.L.2Y(x,y)}},1s:h(L,B){c.3o(B);c.L=$(L);c.5Y=([K,O].1c(L))?$(O.3X):c.L},1x:h(){c.6i=c.8D.67(c);c.5Y.3h(\'5w\',c.6i)},2C:h(){c.5Y.6j(\'5w\',c.6i);c.1p=$3F(c.1p)},8D:h(G){c.2I=(c.L==K)?G.8K:G.2I;m(!c.1p)c.1p=c.1Y.3f(50,c)},1Y:h(){o q=c.L.59();o 1o=c.L.2O();o 31={\'x\':0,\'y\':0};I(o z 1a c.2I){m(c.2I[z]<(c.B.4G+1o[z])&&q.1Y[z]!=0)31[z]=(c.2I[z]-c.B.4G-1o[z])*c.B.66;17 m(c.2I[z]+c.B.4G>(q.2M[z]+1o[z])&&q.1Y[z]+q.2M[z]!=q.52[z])31[z]=(c.2I[z]-q.2M[z]+c.B.4G-1o[z])*c.B.66}m(31.y||31.x)c.1K(\'8L\',[q.1Y.x+31.x,q.1Y.y+31.y])}});8M.4Q(N 2c,N 4q);o 9h=N 1i({B:{9i:h(3m){3m.2t(\'3q\',\'6d\')},9k:h(3m){3m.2t(\'3q\',\'41\')},5W:30,9q:68,9r:68,1k:\'aI\',4A:{\'x\':16,\'y\':16},5O:V},1s:h(T,B){c.3o(B);c.3k=N J(\'4R\',{\'3M\':c.B.1k+\'-3m\',\'61\':{\'3V\':\'aH\',\'28\':\'0\',\'2h\':\'0\',\'3q\':\'41\'}}).2b(O.3X);c.2u=N J(\'4R\').2b(c.3k);$$(T).1F(c.8I,c);m(c.B.1s)c.B.1s.1W(c)},8I:h(q){q.$1B.3e=(q.6g&&q.3y()==\'a\')?q.6g.2D(\'8G://\',\'\'):(q.aF||V);m(q.3K){o 5u=q.3K.4B(\'::\');m(5u.Y>1){q.$1B.3e=5u[0].4C();q.$1B.4z=5u[1].4C()}17{q.$1B.4z=q.3K}q.9p(\'3K\')}17{q.$1B.4z=V}m(q.$1B.3e&&q.$1B.3e.Y>c.B.5W)q.$1B.3e=q.$1B.3e.5X(0,c.B.5W-1)+"&aB;";q.1I(\'5Q\',h(G){c.1x(q);m(!c.B.5O)c.6T(G);17 c.3V(q)}.W(c));m(!c.B.5O)q.1I(\'5w\',c.6T.67(c));o 2T=c.2T.W(c);q.1I(\'5U\',2T);q.1I(\'4P\',2T)},1x:h(q){c.2u.1O();m(q.$1B.3e){c.3K=N J(\'9t\').2b(N J(\'4R\',{\'3M\':c.B.1k+\'-3K\'}).2b(c.2u)).4O(q.$1B.3e)}m(q.$1B.4z){c.1t=N J(\'9t\').2b(N J(\'4R\',{\'3M\':c.B.1k+\'-1t\'}).2b(c.2u)).4O(q.$1B.4z)}$3F(c.1p);c.1p=c.6K.1N(c.B.9q,c)},2T:h(G){$3F(c.1p);c.1p=c.4E.1N(c.B.9r,c)},3V:h(L){o 1o=L.2O();c.3k.5T({\'2h\':1o.x+c.B.4A.x,\'28\':1o.y+c.B.4A.y})},6T:h(G){o 9n={\'x\':K.76(),\'y\':K.7e()};o 1Y={\'x\':K.7d(),\'y\':K.77()};o 3m={\'x\':c.3k.47,\'y\':c.3k.3O};o 1C={\'x\':\'2h\',\'y\':\'28\'};I(o z 1a 1C){o 1o=G.2I[z]+c.B.4A[z];m((1o+3m[z]-1Y[z])>9n[z])1o=G.2I[z]-c.B.4A[z]-3m[z];c.3k.2t(1C[z],1o)}},6K:h(){m(c.B.9j)c.1p=c.4E.1N(c.B.9j,c);c.1K(\'9i\',[c.3k])},4E:h(){c.1K(\'9k\',[c.3k])}});9h.4Q(N 2c,N 4q);',62,825,'||||||||||||this|||||function|||return||if||var||el|||||||||||options|type|||property|event|value|for|Element|window|element|fn|new|document|extend|to|from||elements|obj|false|bind||length||||case||events|param||else|arguments|Fx|in|args|contains|push|true|null|items|array|Class|Math|className|now|css|parent|pos|timer|name|style|initialize|text|result|break|prototype|start|selector|data|props|tmp|prop|values|key|each|keys|transition|addEvent|join|fireEvent|parsed|Elements|delay|empty|method|relatedTarget|mode|current|switch|custom|string|call|transport|scroll|opacity||nocash|Garbage|Array||temp|overflown||top|set|url|inject|Events|unit|ie|documentElement|rgb|left|parse|onComplete|script|getStyle|Event|map|params|object|max|margin|test|setStyle|wrapper|create|Methods|getElementsByTagName|source|context|match|parentNode|stop|replace|properties|item|Transitions|filter|page|merge|tag|CSS|size|offset|getPosition|returns|shared|scripts|option|end|target|response|time|index|scrollTo|iCss||change||duration|border|Abstract|previous||||remove|toInt|getValue|iTo|myTitle|periodical|Styles|addListener|xpath|select|toolTip|iterable|tip|cookie|setOptions|increase|visibility|pow|val|headers|status|id|compute|webkit|getTag|chains|Base|hex|min|Json|setNow|clear|post|open|toString|onSuccess|title|setHeader|class|bit|offsetHeight|catch|try|native|queryString|fromTo|apply|position|htmlElement|body|indexOf|len||hidden|chk|mousewheel|wait|getNow||offsetWidth|fx|width|collect|running|secure|round|results|next|walk|unique|pick|scrollTop|toLowerCase|parseFloat|px|layout|iFrom|iNow|Options|_method|encoding|readyState|parseInt|domReady|scrollLeft|isSuccess|xml|myText|offsets|split|trim|mix|hide|getProperty|area|number|HTMLElement|precision|send|klass|regexp|toQueryString|setHTML|trash|implement|div|fKey|scrollHeight|src|code|evaluate|attempt|tagName|Listeners||Properties|scrollSize|encodeURIComponent|regex|domain|onreadystatechange|brother|removeEvent|getSize|preventDefault|height|str|date|splice|realType|generic|String|XHR|fix|evType|scrollWidth|included|removeEvents|setMany|evalScripts|webkit419|stopPropagation|path|hexToRgb|dual|XMLHttpRequest|mousemove|getElementById|defined|every|getElementsBySelector|onFailure|rgbToHex|proto|Multi|forEach|currentStyle|loaded|mp|getElements|color|setProperty|while|typeof|fixed|Color|mouseenter|addEvents|merged|setStyles|mouseleave|Function|maxTitleChars|substr|mousemover|onStart||styles|bound|charAt|mouseover|mouseout|velocity|bindWithEvent|100|iProps|random|DOMMouseScroll|unload|visible|Style|hasChild|href|gecko|coord|removeListener|include|NativeEvents|newArray|nodeType|compat|clean|add|hasClass|right|bottom|RegExp|onCancel|appendChild|pairs|getMany|Transition|Chain|setTransport|padding|innerText|firstChild|disabled|cssText|toUpperCase|callChain|qs|show|node|getItems|Object|concat|Dom|PI|getParam|first|locate|default|update|operator|transitions|xhtml|delete|evalResponse|addEventListener|selected|get|insertBefore|domready|getWidth|getScrollTop|multiple|checked|flag|on|ie_ready|getScrollLeft|getHeight|easeType|pageY|pageX|found|camelCase|ie6|normal|sel|filterByClass|prefix|resolver|filterById|constructor|undefined|head|getElement|pp|filterByAttribute|picked|toFloat|capitalize|Width|removeClass|addClass|fixStyle|0px|Top|direction|borderShort|Left|Bottom|Right|setOpacity|textContent|hyphenate|nodeValue|childNodes|getLast|getNext|defaultView|setProperties|innerHTML|zoom|styleSheet|appendText|removeChild|PropertiesIFlag|removeEventListener|cloneEvents|Number|createElement|elementsProperty|where|interval|click|beforeunload|callee|keydown|copy|slice|relatedTargetGecko|fixRelatedTarget|after|extended|argument|contents|continue|shift|wheelDelta|before|which|clientY|clientX|Merge|step|toElement|full|limit|wheelStops|getStyles|injectAfter|slideOut|slideIn|vertical|adopt|iParsed|getCoords|fps|delta|http|getScrollHeight|build|Single|client|onChange|Scroller|1000|getTime|async|onStateChange|onRequest|cancel|cos|autoCancel|ActiveXObject|urlEncoded|www|abort|javascript|getHeader|Ajax|request|Date|setTimeout|execScript|application|sin|Content|getScrollWidth|escapeRegExp|input|textarea|opera|clientHeight|pageXOffset|getFormElements|Tips|onShow|timeout|onHide|complete|load|win|clientWidth|removeAttribute|showDelay|hideDelay|pageYOffset|span|With|Accept|html|lastChild|borderColor|getAttribute|postBody|borderStyle|Requested|getParent|getChildren|getFirst|floor|getComputedStyle|getPropertyValue|gi|exec|clearInterval|clearTimeout|java|getPrevious|ecma|Sibling|checkbox|attributes|collection|responseXML|XMLHTTP|Microsoft|MooTools|getText|responseText|300|nodeName|charset|form|urlencoded|200|utf|textnode|whitespace|setAttribute|getProperties|removeProperty|version|setRequestHeader|setText|overrideMimeType|Connection|close|Window|borderWidth|float|times|eval|Remote|Request||json|JSON|embed|boolean|iframe|decodeURIComponent|isFinite|DOMElement|Eaeflnr|bindAsEventListener|pass|hellip|getRandom|chain|associate|rel|clearChain|absolute|tool|setInterval|err|transparent|execCommand|BackgroundImageCache|khtml|getBoxObjectFor|toggleClass|action|ie7|Cookie|all|createTextNode|some|styleFloat|hasLayout|Document|getResponseHeader|zIndex|cssFloat|replaceChild|replaceWith|taintEnabled|navigator|toGMTString|Quart|webkit420|expires|injectBefore|cloneNode|setTime|clone|injectTop|injectInside|alpha|Quint|keypress|keyup|effects|Scroll|mousedown|dblclick|mouseup|effect|resize|reset|error|contextmenu|submit|blur|move|focus|toTop|toBottom|esc|space|backspace|down|up|easeOut|enter|Cubic|easeIn|toRight|toLeft|Slide|overflow|toggle|horizontal|clearTimer|filterByTag|protocol|location|getCoordinates|https|void|defer|write|getLeft|getTop|getElementsByClassName|password|radio|do|offsetLeft|offsetParent|offsetTop|DOMContentLoaded|onDomReady|with|substring|XPathResult|starts|namespaceURI|500|ES|UNORDERED_NODE_SNAPSHOT_TYPE|snapshotLength|1999|innerWidth|org|w3|snapshotItem|innerHeight|easeInOut|tab|keyCode|111|detail|frameBorder|Back|120|frameborder|readOnly|readonly|maxLength|acos|mouse|fromCharCode|Sine|wheel|metaKey|618|shiftKey|srcElement|Bounce|Elastic|CollectGarbage|detachEvent|control|altKey|meta|attachEvent|alt|ctrlKey|maxlength|menu|fromElement|colSpan|returnValue|button|Quad|InOut|In|cancelBubble|linear|tabIndex|ease|rowspan|Out|accessKey|tabindex|colspan|Circ|accesskey|rightClick|rowSpan|Pow|Expo|htmlFor'.split('|'),0,{}));
    var BookwormControl = new Class({
    initialize: function(baseUrl, mediaUrl) {
        this.profileID;
        this.postScriptID = 1;
        this.postScript;
        this.baseUrl = baseUrl;
        this.mediaUrl = mediaUrl;
        this.innerDivs;
        this.showBookwormMenu = true;
        this.menuBorder = '1px solid gray';
        this.menuSepBorder = '1px solid silver';
        this.leftMargin = 0;
        this.topMargin = 0;
        this.engines = [];
        this.state = [];
        this.containerDivWidth, this.containerDivHeight;
        this.imgZoomSize;
        this.imgSmallSizeWidth, this.imgSmallSizeHeight;
        this.diff;
        this.autoSize = true;
        this.showSmallIconControlBorder = true;

        // image paths
        this.controlImagePath = mediaUrl + 'images/control/';
        this.engineImagePath = mediaUrl + 'images/engines/';
        this.upArrowPath = this.controlImagePath + 'arrow_up.gif';
        this.downArrowPath = this.controlImagePath + 'arrow_down.gif';
        this.leftArrowPath = this.controlImagePath + 'arrow_left.gif';
        this.rightArrowPath = this.controlImagePath + 'arrow_right.gif';
        this.loaderImagePath = this.controlImagePath + 'ajax-loader.gif';
        this.textLoaderImagePath = this.controlImagePath + 'dots-white.gif';
        this.overlayImagePath = this.controlImagePath + 'yellow_overlay.png';
        this.blankImagePath = this.controlImagePath + 'blank_medium_transparent.png';

        // variables for opacity control
        this.fadeInactiveItems = window.webkit419 ? false : true;
        this.showOpac = 1;
        this.hideOpac = 0.5;
        this.disabledOpac = 0.25;
        
        // arrow divs
        this.leftArrowDiv, this.rightArrowDiv, this.upArrowDiv, this.downArrowDiv;
        this.useArrows = false;

        // variables for arrow size 
        this.arrowDivSize = 16;
        this.arrow_size = 16;

        // variables for image sizes in 3 different sizes
        this.small_imgSize = 13;
        this.small_space = 4;

        this.medium_imgSize = 26;
        this.medium_space = 6;

        this.large_imgSize = 52;
        this.large_space = 8;

        // variables for animation speed
        this.opacAnimSpeed = 300;
        this.fadeAnimSpeed = 100;
        this.scrollAnimSpeed = 100;
        this.mouseLeaveAnimSpeed = 200;

        // engines
        this.imgSize = 'medium';
        this.anim_type = 'full';
        this.rows = 1;
        this.cols = 5;
        this.backColor = '';
        this.iconSpace;
        this.iconSize;

        // text_only mode settings
        this.textOnlyFont = 'Arial';
        this.textOnlyFontSize = 10;
        this.textOnlyColor = 'black';
        this.textOnlyHoverColor = 'red';
        this.textOnlyDisabledColor = 'gray';
    },
    initBookworm: function() {
        var me = this;

        if (this.imgSize == 'text_only') {
            this.anim_type = 'none';
            space = this.medium_space;
        }

        $$('.__bookworm-control').each(function(element, index) {
            var title = element.getElement('input[id=title]').value;
            var url = element.getElement('input[id=url]').value;
            var description = element.getElement('input[id=description]').value;

            me.addControlToDiv(element, index, title, url, description);
        });
    },
    addPost: function(title, url, description, image, engine, overlay, imageSize) {
        var head = document.getElementsByTagName('head').item(0);
        this.postScript = document.createElement('script');

        var src;
        src = '?i=' + this.postScriptID;
        src += '&h=' + this.profileID;
        src += '&p=' + engine[1];
        src += '&e=' + engine[3];
        src += '&u=' + escape(url);
        src += '&t=' + escape(title);
        src += '&d=' + escape(description);

        if (this.postScriptID == Number.MAX_VALUE) this.postScriptID = 1;

        this.postScript.setAttribute('id', '__BookwormPostScript' + this.postScriptID++);
        this.postScript.setAttribute('type', 'text/javascript');
        
        if (engine[4]) {
            src = this.baseUrl + 'rpc/control/post/' + src;
        } else {
            src = this.baseUrl + 'rpc/control/click/' + src;
            
            var postUrl = this.buildPostUrl(engine[5], engine[3], url, title, description);

            this.openWindow(postUrl, engine[6], engine[7]);
        }
        
        this.postScript.setAttribute('src', src);
        head.appendChild(this.postScript);
    },
    disableIcon: function(image, engine, overlay, imageSize) {
        if (this.imgSize != 'text_only') {
            image.src = engine[0];
            image.setStyle('height', imageSize);
            image.setStyle('width', imageSize);
            image.setStyle('margin', 0);
            image.setStyle('opacity', this.disabledOpac);
        }
    },
    openWindow: function(url, width, height) {
        if (navigator.appVersion.indexOf("MSIE") == -1) {
            var left = window.screenX + ((window.getWidth() - width) / 2);
            var top = window.screenY + ((window.getHeight() - height) / 2);
        } else {
            var left = window.screenLeft + ((window.getWidth() - width) / 2);
            var top = window.screenTop + ((window.getHeight() - height) / 2);
        }

        var windowProperties = 'toolbar=no, menubar=no, scrollbars=yes, resizable=yes, stausbar=no, height=' + 
            height + ', width=' + width + ', left=' + left + ', top=' + top;

        var bwWin = window.open(url, 'bookwormWindow', windowProperties);

        bwWin.focus();
    },
    buildPostUrl: function(url, engineID, postUrl, postTitle, postDescription) {
        url = url.replace('{engine}', escape(engineID));
        url = url.replace('{url}', escape(postUrl));
        url = url.replace('{title}', escape(postTitle));
        url = url.replace('{description}', escape(postDescription));

        return url;
    },
    setInactiveOpacity: function(elements, activeIndex, opacity) {
        elements.each(function(element, i) {
            if (i != activeIndex && !element['disabled']) {
                element.fadeFx.start(opacity);
            }
        });
    },
    getRight: function(d) {
        return d.getStyle('left').toInt() + d.getStyle('width').toInt();
    },
    getTextSize: function(text) {
        var td = new Element('div', {
            'styles': {
                'position': 'absolute',
                'font-family': this.textOnlyFont,
                'font-size': this.textOnlyFontSize
            }
        });
        
        document.body.appendChild(td);
        td.setHTML(text);
        var w = td.getStyle('width').toInt();
        var h = td.getStyle('height').toInt();
        document.body.removeChild(td);
        
        return {
            width: w,
            height: h
        };
    },
    setupArrows: function() {
        var me = this;
        
        if ((me.rows * me.cols) < me.engines.length) {
            me.useArrows = true;
            
            me.upArrowDiv.setStyle('display', 'none');
            me.downArrowDiv.setStyle('display', 'none');
            me.leftArrowDiv.setStyle('display', 'none');
            me.rightArrowDiv.setStyle('display', 'none');
            
            me.topMargin = (me.imgSize == 'small') ? 1 : 0;
        
            if (me.rows > me.cols) {
                var leftMargin = me.containerDivWidth / 2 - me.arrow_size / 2;
            
                me.upArrowDiv.getFirst().setStyle('margin-left', leftMargin);
            
                me.upArrowDiv.setStyle('width', me.containerDivWidth);
            
                me.downArrowDiv.getFirst().setStyle('margin-left', leftMargin);
            
                me.downArrowDiv.setStyles({
                    'display': '',
                    'width': me.containerDivWidth
                });
            } else {
                var topMargin = (me.containerDivHeight / 2 - me.arrow_size / 2);
                
                if (me.imgSize == 'small' && !me.showSmallIconControlBorder)
                     topMargin += 2;
            
                me.leftArrowDiv.getFirst().setStyle('margin-top', topMargin);
            
                me.downArrowDiv.setStyle('width', me.containerDivWidth);
            
                me.rightArrowDiv.getFirst().setStyle('margin-top', topMargin);
            
                me.rightArrowDiv.setStyles({
                    'display': '',
                    'height': me.containerDivHeight
                });
            }
        } else {
            if (me.imgSize == 'small')
                me.topMargin = 0;
                
            me.upArrowDiv.setStyle('display', 'none');
            me.downArrowDiv.setStyle('display', 'none');
            me.leftArrowDiv.setStyle('display', 'none');
            me.rightArrowDiv.setStyle('display', 'none');
        }
    },
    engineClick: function(event, image, i, innerDivs, state, engine, overlay, imgSmallSizeHeight, 
        imgSmallSizeWidth, imgSmallSize, title, url, description) {

        var me = this;

        if (state[i][2] != 1) {
            if (engine[4]) {
                innerDivs.each(function(innerDiv, k) {
                    var o = {
                        height: imgSmallSizeHeight,
                        width: imgSmallSizeWidth,
                        left: state[k][0],
                        top: state[k][1]
                    };
                        
                    innerDiv.setStyles(o);
                });
                
                if (this.imgSize != 'text_only') {
                    image.src = this.loaderImagePath;
                    image.setStyle('height', 16);
                    image.setStyle('width', 16);
                    image.setStyle('margin', imgSmallSize / 2 - 8);
                } else {
                    // add image loader image to parent
                    var loader = new Element('img', {
                        'src': this.textLoaderImagePath,
                        'styles': {
                            'margin-top': imgSmallSizeHeight / 2
                        }
                    });
                    
                    innerDivs[i].setHTML('');
                    innerDivs[i].appendChild(loader);
                }
        
                if (this.imgSize != 'small' && this.imgSize != 'text_only') {
                    overlay.getFirst().src = this.blankImagePath;
                    overlay.setStyle('display', '');
                }
        
                innerDivs[i]['disabled'] = true;

                setTimeout(function() {
                    innerDivs[i].setStyle('background-color', '');
                    me.disableIcon(image, engine, overlay, imgSmallSize);
                },
                2000);
            }

            this.addPost(title, url, description, image, engine, overlay, imgSmallSize);

            this.fireEvent('onEngineClick');
        }
    },
    addControlToDiv: function(toDiv, index, title, url, description) {
        var me = this;
        var engines = me.engines;

        var keepRightClicking = false;
        var keepLeftClicking = false;
        var keepUpClicking = false;
        var keepDownClicking = false;

        var menuIcon,
        menuSep,
        menuIconDiv,
        menuTopBorder,
        menu,
        about,
        logo;
        
        var menuPadding = me.showBookwormMenu ? (me.imgSize == 'small' ? 3 : 1) : 0;

        me.state = [];
        // state = [ left, top, isSelected ]
        //calculate image sizes
        // default: imgSize = small
        var imgSmallSize = me.small_imgSize;
        var space = me.small_space;

        if (me.imgSize == 'large') {
            imgSmallSize = me.large_imgSize;
            space = me.large_space;
        } else if (me.imgSize == 'medium') {
            imgSmallSize = me.medium_imgSize;
            space = me.medium_space;
        }
        
        me.iconSpace = space;
        me.iconSize = imgSmallSize;
        
        var diff = me.diff = space - 2;
        me.imgZoomSize = imgSmallSize + 2 * diff;

        var imgSmallSizeWidth = me.imgSmallSizeWidth = imgSmallSize;
        var imgSmallSizeHeight = me.imgSmallSizeHeight = imgSmallSize;

        //calculating div sizes
        var mainDivWidth;
        var mainDivHeight;

        var middleDiv;

        containerDivSize = getContainerDivSize();
        me.containerDivWidth = containerDivSize['width'];
        me.containerDivHeight = containerDivSize['height'];

        var container = new Element('div', {
            'styles': {
                'overflow': 'hidden',
                'position': 'relative',
                'height': me.containerDivHeight,
                'width': me.containerDivWidth,
                'float': 'left'
            }
        });

        middleDiv = new Element('div', {
            'styles': {
                'height': '100%',
                'width': '100%',
                'position': 'relative'
            }
        });

        var finalCols = me.cols;
        var finalRows = me.rows;

        // check if we need to enlarge
        if ((me.rows * me.cols) < engines.length) {
            // icons to put in the control is more than currently set so enlarge
            if (me.rows > me.cols) {
                // enlarge to Up/Down
                finalRows = Math.ceil(engines.length / me.cols);

                mainDivWidth = me.containerDivWidth;
                mainDivHeight = me.containerDivHeight + 2 * me.arrowDivSize;

                container.setStyles({
                    'top': me.arrowDivSize + 1
                });
            } else {
                // enlarge to Left/Right
                finalCols = Math.ceil(engines.length / me.rows);

                mainDivWidth = me.containerDivWidth + 2 * me.arrowDivSize;
                mainDivHeight = me.containerDivHeight;

                container.setStyles({
                    'left': me.arrowDivSize
                });
            }

        } else {
            // no need to enlarge
            mainDivWidth = me.containerDivWidth;
            mainDivHeight = me.containerDivHeight;

            container.setStyles({
                'top': 1,
                'left': 0
            });
        }

        toDiv.setStyles({
            'width': mainDivWidth,
            'height': mainDivHeight,
            'background-color': me.backColor
        });
        
        //TODO: fix vertical padding
        if (me.imgSize == 'small') {
            if (me.showSmallIconControlBorder)
                toDiv.setStyle('border', '1px solid #cccccc');

            if (me.rows > me.cols) {
                if ((me.rows * me.cols) >= engines.length) {
                    // toDiv.setStyle('padding-top', 4);
                    // toDiv.setStyle('padding-bottom', 4);   
                }
            } else {
                toDiv.setStyle('padding-left', 4);
                toDiv.setStyle('padding-right', 4);
                
                if (me.showBookwormMenu && (me.rows * me.cols) >= engines.length) {
                    container.setStyle('width', me.containerDivWidth + 1);
                    toDiv.setStyle('padding-left', 5);
                }
            }
        }

        innerDivSize = getInnerDivSize();
        var innerWidth = innerDivSize['width'];
        var innerHeight = innerDivSize['height'];

        var inner = new Element('div', {
            'styles': {
                'overflow': 'hidden',
                'position': 'relative',
                'height': innerHeight,
                'width': innerWidth
            }
        });

        container.appendChild(inner);
        middleDiv.appendChild(container);
        toDiv.appendChild(middleDiv);

        // generating up+down arrow images and divs 
        var upArrow = new Element('img', {
            'src': me.upArrowPath,
            'styles': {
                'height': me.arrow_size,
                'margin-left': me.containerDivWidth / 2 - me.arrow_size / 2,
                'cursor': 'pointer'
            }
        });
        
        var downArrow = new Element('img', {
            'src': me.downArrowPath,
            'styles': {
                'height': me.arrow_size,
                'margin-left': me.containerDivWidth / 2 - me.arrow_size / 2,
                'margin-top': me.arrowDivSize - me.arrow_size,
                'cursor': 'pointer'
            }
        });
        
        me.upArrowDiv = new Element('div', {
            'styles': {
                'position': 'absolute',
                'top': 0,
                'left': 0,
                'z-index': 10,
                'width': me.containerDivWidth,
                'height': me.arrowDivSize,
                'align': 'center',
                'display': 'none',
                'background-color': me.backColor
            }
        });
        
        var upArrowDiv = me.upArrowDiv;
        
        me.downArrowDiv = new Element('div', {
            'styles': {
                'position': 'absolute',
                'bottom': 0,
                'left': 0,
                'z-index': 10,
                'width': me.containerDivWidth,
                'height': me.arrowDivSize + 2,
                'align': 'center',
                'display': 'none',
                'background-color': me.backColor
            }
        });
        
        var downArrowDiv = me.downArrowDiv;

        upArrowDiv.appendChild(upArrow);
        downArrowDiv.appendChild(downArrow);

        middleDiv.appendChild(upArrowDiv);
        middleDiv.appendChild(downArrowDiv);

        // create scroll efffect to use to scroll
        var vScroll = new Fx.Scroll(container, {
            wait: false,
            duration: me.scrollAnimSpeed,
            transition: Fx.Transitions.Quad.easeInOut,
            onComplete: function() {
                if (container.scrollTop + me.containerDivHeight >= inner.getStyle('height').toInt()) {
                    downArrowDiv.setStyle('display', 'none');
                
                    if (me.showBookwormMenu) {
                        menuSep.setStyle('display', 'none');
                    }
                
                    keepDownClicking = false;
                
                } else {
                    downArrowDiv.setStyle('display', '');
                
                    if (me.showBookwormMenu) {
                        menuSep.setStyle('display', '');
                    }
                }
                
                if (container.scrollTop == 0) {
                    upArrowDiv.setStyle('display', 'none');
                    keepUpClicking = false;
                } else {
                    upArrowDiv.setStyle('display', '');
                }
                
                if (keepDownClicking) {
                    vScroll.scrollTo(0, container.scrollTop + me.iconSize + me.iconSpace);
                }
                
                if (keepUpClicking) {
                    vScroll.scrollTo(0, container.scrollTop - me.iconSize - me.iconSpace);
                }
            }
        });

        // add event so mouse click right button starts scrolling right
        downArrow.addEvent('mousedown', function(event) {
            event = new Event(event).stop();
            keepDownClicking = true;

            if (container.scrollTop == 0)
                vScroll.scrollTo(0, container.scrollTop + me.iconSize + me.iconSpace + menuPadding);
            else
                vScroll.scrollTo(0, container.scrollTop + me.iconSize + me.iconSpace);
        });

        downArrow.addEvent('mouseup', function(event) {
            keepDownClicking = false;
        });

        // add event so mouse click left button starts scrolling left
        upArrow.addEvent('mousedown', function(event) {
            event = new Event(event).stop();
            keepUpClicking = true;

            if (container.scrollTop == me.iconSize + me.iconSpace + menuPadding)
                vScroll.scrollTo(0, 0);
            else
                vScroll.scrollTo(0, container.scrollTop - me.iconSize - me.iconSpace);
        });

        upArrow.addEvent('mouseup', function(event) {
            keepUpClicking = false;
        });

        // generating left+right arrow images and divs 
        var leftArrow = new Element('img', {
            'src': me.leftArrowPath,
            'styles': {
                'width': me.arrow_size,
                'margin-top': mainDivHeight / 2 - me.arrow_size / 2,
                'cursor': 'pointer'
            }
        });
        
        var rightArrow = new Element('img', {
            'src': me.rightArrowPath,
            'styles': {
                'width': me.arrow_size,
                'margin-top': mainDivHeight / 2 - me.arrow_size / 2,
                'float': 'right',
                'cursor': 'pointer'
            }
        });
        
        me.leftArrowDiv = new Element('div', {
            'styles': {
                'position': 'absolute',
                'left': 0,
                'top': 0,
                'z-index': 10,
                'width': me.arrowDivSize,
                'height': me.containerDivHeight,
                'align': 'center',
                'display': 'none',
                'background-color': me.backColor
            }
        });
        
        var leftArrowDiv = me.leftArrowDiv;
        
        me.rightArrowDiv = new Element('div', {
            'styles': {
                'position': 'absolute',
                'right': 0,
                'top': 0,
                'z-index': 10,
                'width': me.arrowDivSize,
                'height': me.containerDivHeight,
                'align': 'center',
                'float': 'right',
                'display': 'none',
                'background-color': me.backColor
            }
        });
        
        var rightArrowDiv = me.rightArrowDiv;

        leftArrowDiv.appendChild(leftArrow);
        rightArrowDiv.appendChild(rightArrow);

        middleDiv.appendChild(leftArrowDiv);
        middleDiv.appendChild(rightArrowDiv);

        // create scroll efffect to use to scroll
        var hScroll = new Fx.Scroll(container, {
            wait: false,
            duration: me.scrollAnimSpeed,
            transition: Fx.Transitions.Quad.easeInOut,
            onComplete: function() {
                if (container.scrollLeft + me.containerDivWidth >= inner.getStyle('width').toInt()) {
                    rightArrowDiv.setStyle('display', 'none');

                    if (me.showBookwormMenu) {
                        menuSep.setStyle('display', 'none');
                    }

                    keepRightClicking = false;
                } else {
                    rightArrowDiv.setStyle('display', '');

                    if (me.showBookwormMenu) {
                        menuSep.setStyle('display', '');
                    }
                }

                if (container.scrollLeft == 0) {
                    leftArrowDiv.setStyle('display', 'none');
                    keepLeftClicking = false;
                } else {
                    leftArrowDiv.setStyle('display', '');
                }

                if (keepRightClicking) {
                    hScroll.scrollTo(container.scrollLeft + me.iconSize + me.iconSpace, 0);
                }

                if (keepLeftClicking) {
                    hScroll.scrollTo(container.scrollLeft - me.iconSize - me.iconSpace, 0);
                }
            }
        });

        // add event so mouse click right button starts scrolling right
        rightArrow.addEvent('mousedown', function(event) {
            event = new Event(event).stop();
            keepRightClicking = true;

            if (container.scrollLeft == 0)
                hScroll.scrollTo(container.scrollLeft + me.iconSize + me.iconSpace + menuPadding, 0);
            else
                hScroll.scrollTo(container.scrollLeft + me.iconSize + me.iconSpace, 0);
        });

        rightArrow.addEvent('mouseup', function(event) {
            keepRightClicking = false;
        });

        // add event so mouse click left button starts scrolling left
        leftArrow.addEvent('mousedown', function(event) {
            event = new Event(event).stop();
            keepLeftClicking = true;

            if (container.scrollLeft == me.iconSize + me.iconSpace + menuPadding)
                hScroll.scrollTo(0, 0);
            else
                hScroll.scrollTo(container.scrollLeft - me.iconSize - me.iconSpace, 0);
        });

        leftArrow.addEvent('mouseup', function(event) {
            keepLeftClicking = false;
        });
        
        me.setupArrows();

        if (me.showBookwormMenu) {
            var orientation;

            if (me.cols > me.rows) {
                orientation = 'horizontal';
                me.leftMargin = imgSmallSizeWidth + me.medium_space + 1;

            } else if (me.rows > me.cols) {
                orientation = 'vertical';
                me.topMargin = imgSmallSizeHeight + me.medium_space + 1;
            }

            addBookwormMenu(inner, orientation);
        }

        //prepare inner div
        var overlays = [];
        me.innerDivs = [];

        engines.each(function(setting, i) {
            // calculate left and top according to rows/cols 
            //create a div element
            var calculatedLeft = 0;
            var calculatedTop = 0;
            var d;

            calculatedLeft = (space * ((i % finalCols) + 1)) + (imgSmallSizeWidth * (i % finalCols)) + me.leftMargin;
            calculatedTop = diff + (space * Math.floor(i / finalCols)) + 
                (imgSmallSizeHeight * Math.floor(i / finalCols)) + 1 + me.topMargin;
                
            if (me.imgSize == 'medium') calculatedTop++;

            d = new Element('div', {
                'styles': {
                    'position': 'absolute',
                    'left': calculatedLeft,
                    'top': calculatedTop,
                    'width': imgSmallSizeWidth,
                    'height': imgSmallSizeHeight,
                    'background-color': 'white',
                    'cursor': 'pointer'
                },
                'class': '__imgDivSelector',
                'id': engines[i][1]
            });

            me.innerDivs[i] = d;
            inner.appendChild(d);

            me.state[i] = [calculatedLeft, calculatedTop, 0];

            // // setting overlay div
            var overlay = d.clone();
            overlay.setStyle('display', 'none');
            overlay.setStyle('z-index', 2);
            overlay.setProperty('class', '__overlaySelector');
            overlay.setStyle('background-color', '');
            
            overlays[i] = overlay;
            inner.appendChild(overlay);

            var elem;
            var overlayElem;
            
            elem = new Element('img', {
                'styles': {
                    'width': '100%',
                    'height': '100%',
                    'opacity': 1
                },
                'src': engines[i][0],
                'alt': engines[i][2],
                'title': engines[i][2]
            });

            // setting overlay image
            overlayElem = elem.clone();
            overlayElem.src = me.overlayImagePath;

            overlay.appendChild(overlayElem);
            d.appendChild(elem);
        });

        var innerDivs = me.innerDivs;

        innerDivs.each(function(innerDiv, i) {
            var zoomFx = new Fx.Styles(innerDiv, {
                wait: false,
                duration: me.fadeAnimSpeed,
                transition: Fx.Transitions.Quad.easeInOut
            });
            
            var fadeFx = innerDiv.effect('opacity', {
                wait: false,
                duration: me.opacAnimSpeed,
                transition: Fx.Transitions.Quad.easeInOut
            });
            
            innerDiv.fadeFx = fadeFx;

            var image = innerDiv.getFirst();
            image.startTop = innerDiv.getStyle('top').toInt();
            image.startLeft = innerDiv.getStyle('left').toInt();

            image.addEvent("mouseenter", function(event) {
                if (me.state[i][2] != 1 && !(me.anim_type == 'none' || me.anim_type == 'text_only')) {
                    if (me.anim_type == 'full') {
                        zoomFx.start({
                            'width': me.imgZoomSize,
                            'height': me.imgZoomSize,
                            'top': me.state[i][1] - me.diff,
                            'left': me.state[i][0] - me.diff
                        });
                    }

                    if (me.anim_type != 'none' && me.fadeInactiveItems) {
                        me.setInactiveOpacity(innerDivs, i, me.hideOpac);
                    }
                }
            });

            image.addEvent('mouseleave', function(event) {
                if (! (me.anim_type == 'none' || me.anim_type == 'text_only')) {
                    if (me.anim_type == 'full') {
                        zoomFx.start({
                            'width': me.imgSmallSizeWidth,
                            'height': me.imgSmallSizeHeight,
                            'top': image.startTop,
                            'left': image.startLeft
                        });
                    }

                    if (me.anim_type != 'none' && me.fadeInactiveItems) {
                        me.setInactiveOpacity(innerDivs, i, me.showOpac);
                    }
                }
            });

            image.addEvent('click', function(event) {
                me.engineClick(event, image, i, innerDivs, me.state, engines[i], overlays[i], imgSmallSizeHeight, 
                    imgSmallSizeWidth, imgSmallSize, title, url, description);
            });
        });

        function addBookwormMenu(element, orientation) {
            var isMedium = (me.imgSize == 'medium');
            
            var menuItems = [
                { 'text': 'Login/Register...', 'action': login },
                { 'text': 'Send to A Friend...', 'action': sendToFriend }
            ];

            menuIcon = new Element('img', {
                'src': me.controlImagePath + 'bookworm_' + me.imgSize + '.gif',
                'styles': {
                    'position': 'absolute',
                    'cursor': 'pointer',
                    'z-index': 5,
                    'background-color': 'white'
                }
            });

            menuSep = new Element('div', {
                'styles': {
                    'position': 'absolute'
                }
            });

            menuIconDiv = new Element('div', {
                'styles': {
                    'position': 'absolute',
                    'top': 0,
                    'left': 0
                }
            });
            
            if (isMedium) {
                menuTopBorder = new Element('div', {
                    'styles': {
                        'position': 'absolute',
                        'width': 167,
                        'height': 0,
                        'border-top': '1px solid gray',
                        'display': 'none'
                    }
                });
            } else {
                menuTopBorder = new Element('div', {
                    'styles': {
                        'position': 'absolute',
                        'top': 15,
                        'left': 0,
                        'width': 193,
                        'height': 6,
                        'background-image': 'url(' + me.controlImagePath + 'arrow-border.gif)',
                        'display': 'none'
                    }
                });
            }

            menu = new Element('div', {
                'styles': {
                    'position': 'absolute',
                    'width': 191,
                    'height': 101,
                    'border-top': 'none',
                    'border-left': me.menuBorder,
                    'border-right': me.menuBorder,
                    'border-bottom': me.menuBorder,
                    'background-color': 'white',
                    'opacity': 0.95,
                    'z-index': 15,
                    'display': 'none'
                }
            });

            about = new Element('div', {
                'styles': {
                    'position': 'absolute',
                    'top': 49,
                    'left': 0,
                    'width': 191,
                    'height': 52,
                    'background-image': 'url(' + me.controlImagePath + 'banner-bg.gif)',
                    'cursor': 'pointer'
                }
            })

            var text = new Element('div', {
                'styles': {
                    'position': 'absolute',
                    'top': 60,
                    'left': 8,
                    'width': 100,
                    'font': '13px Trebuchet MS',
                    'font-weight': 'bold',
                    'color': 'white',
                    'cursor': 'pointer'
                }
            });

            text.setHTML('Customize your Bookworm now!');

            logo = new Element('img', {
                'src': me.controlImagePath + 'banner-logo.gif',
                'styles': {
                    'position': 'absolute',
                    'top': 39,
                    'left': 86,
                    'cursor': 'pointer'
                }
            })
            
            if (isMedium) {
                menuIcon.setStyles({
                    'padding':
                    '4px 4px 4px 4px',
                    'border': '1px solid #cccccc'
                });
            }

            switch (orientation) {
                case 'horizontal':
                    menuIconDiv.setStyle('padding-top', space);
                    menuSep.setStyles({
                        'border-right': me.menuSepBorder,
                        'width': space,
                        'height': imgSmallSize,
                        'left': imgSmallSize + (isMedium ? 0 : 1),
                        'top': space
                    });
                    
                    if (isMedium) {
                        menu.setStyles({
                            'left': me.useArrows ? me.arrowDivSize : 0,
                            'top': imgSmallSize + (space * 2)
                        });
                        menuTopBorder.setStyles({
                            'left': me.useArrows ? me.arrowDivSize + imgSmallSize : imgSmallSize,
                            'top': imgSmallSize + (space * 2) - 1
                        });
                    } else {
                        menu.setStyles({
                            'left': me.useArrows ? me.arrowDivSize : 0,
                            'top': imgSmallSize + (space * 2) + 8
                        });
                        menuTopBorder.setStyles({
                            'left': me.useArrows ? me.arrowDivSize : 0,
                            'top': imgSmallSize + (space * 2) + 2
                        });
                    }
                    
                    break;
                case 'vertical':
                    menuIconDiv.setStyle('padding-left', space);
                    menuSep.setStyles({
                        'border-bottom': me.menuSepBorder,
                        'width': imgSmallSize,
                        'height': space,
                        'left': space,
                        'top': imgSmallSize
                    });
                    
                    if (isMedium) {
                        menu.setStyles({
                            'left': space,
                            'top': imgSmallSize + space + (me.useArrows ? me.arrowDivSize : 0)
                        });
                        menuTopBorder.setStyles({
                            'left': imgSmallSize + space,
                            'top': imgSmallSize + space + (me.useArrows ? me.arrowDivSize : 0) - 1
                        });
                    } else {
                        menu.setStyles({
                            'left': 3,
                            'top': imgSmallSize + (space * 2) + (me.useArrows ? me.arrowDivSize : 0) + 4
                        });
                        menuTopBorder.setStyles({
                            'left': 3,
                            'top': imgSmallSize + (space * 2) + (me.useArrows ? me.arrowDivSize : 0) - 2
                        });
                    }
                    
                    break;
            }

            menuIcon.addEvent('mouseenter', showMenu);
            menuIcon.addEvent('mouseleave', hideMenu);
            menu.addEvent('mouseenter', showMenu);
            menu.addEvent('mouseleave', hideMenu);

            menuIconDiv.appendChild(menuIcon);

            element.appendChild(menuIconDiv);
            element.appendChild(menuSep);

            menu.appendChild(about);
            menu.appendChild(logo);
            menu.appendChild(text);

            middleDiv.appendChild(menuTopBorder);
            middleDiv.appendChild(menu);

            addMenuItems(menuItems);

            function addMenuItems(items) {
                var menuItems = new Element('div', {
                    'styles': {
                        'padding': 0,
                        'font': '13px Verdana',
                        'height': 88,
                        'border-bottom': 'none'
                    }
                });

                for (var i = 0; i < items.length; i++) {
                    var menuItem = new Element('div', {
                        'styles': {
                            'padding-left': 8,
                            'padding-right': 8,
                            'padding-top': 4,
                            'padding-bottom': 4,
                            'border-bottom': '1px solid #c8cdc4',
                            'cursor': 'pointer'
                        }
                    })

                    menuItem.addEvent('mouseenter', function(event) {
                        event = new Event(event);

                        event.target.setStyle('background-color', '#d8fab3');
                    });

                    menuItem.addEvent('mouseleave', function(event) {
                        event = new Event(event);

                        event.target.setStyle('background-color', '');
                    });

                    menuItem.addEvent('click', items[i]['action']);
                    menuItem.setHTML(items[i]['text']);

                    menuItems.appendChild(menuItem);
                }

                menu.appendChild(menuItems);

                about.addEvent('click', customize);
                text.addEvent('click', customize);
                logo.addEvent('click', customize);
            }

            function showMenu() {
                if (isMedium) {
                    menuIcon.setStyles({
                        'padding': '4px 4px 10px 4px',
                        'border-top': me.menuBorder,
                        'border-bottom': '1px solid #ffffff',
                        'border-left': me.menuBorder,
                        'border-right': me.menuBorder
                    });
                } else {
                    if (orientation == 'vertical')
                        menuSep.setStyle('display', 'none');
                }

                menu.setStyle('display', '');
                menuTopBorder.setStyle('display', '');

                element.parentNode.parentNode.setStyle('z-index', 15);
            }

            function hideMenu(event) {
                event = new Event(event);
                
                if (event.target == menuIcon && !isMedium) {
                    iconPos = menuIcon.getPosition();

                    if (event.page.y >= (iconPos.y) &&
                        event.page.x >= (iconPos.x) &&
                        event.page.x <= (iconPos.x + 12)) {
                            return false;
                        }
                }
                
                menuIcon.setStyles({
                    'padding': (isMedium ? '4px 4px 4px 4px' : 'none'),
                    'border': (isMedium ? '1px solid #cccccc' : 'none')
                });

                menu.setStyle('display', 'none');
                menuTopBorder.setStyle('display', 'none');
                menuSep.setStyle('display', '');

                element.parentNode.parentNode.setStyle('z-index', 0);
            }

            function login() {
                window.open(me.baseUrl);
            }

            function customize() {
                window.open(me.baseUrl + 'mybookworm/');
            }

            function sendToFriend() {
                me.openWindow(me.baseUrl + 'sendtoafriend/?u=' + escape(url) + '&d=' + escape(description), 580, 290);
            }
        }

        function getContainerDivSize() {
            var dimensions = {};
            var finalRows = Math.ceil(me.engines.length / me.cols);
            
            var columns = me.autoSize ? ((me.engines.length < me.cols) ? me.engines.length : me.cols) : me.cols;
            var rows = me.autoSize ? ((finalRows < me.rows) ? finalRows : me.rows) : me.rows;

            dimensions['width'] = columns * imgSmallSizeWidth + (columns + 1) * space;
            dimensions['height'] = rows * imgSmallSizeHeight + (rows + 1) * space;

            if (me.showBookwormMenu) {
                if (me.rows > me.cols)
                    dimensions['height'] += (imgSmallSize + space);
                else
                    dimensions['width'] += (imgSmallSize + space);
            }

            return dimensions;
        }

        function getInnerDivSize() {
            var dimensions = {};
            var padding = me.imgSize == 'small' ? 3 : 1;

            dimensions['width'] = (space * (finalCols + 1)) + (imgSmallSizeWidth * (finalCols));
            dimensions['height'] = (space * (finalRows + 1)) + (imgSmallSizeHeight * (finalRows));

            if (me.showBookwormMenu) {
                if (me.rows > me.cols)
                    dimensions['height'] += (imgSmallSize + space) + padding;
                else
                    dimensions['width'] += (imgSmallSize + space) + padding;
            }

            return dimensions;
        }
    }
});

BookwormControl.implement(new Events);




window.addEvent('domready', function() {
    
    var bc = new BookwormControl('http://www.bookworm.nu/', 'http://static.bookworm.nu/');
    bc.imgSize = 'medium';
    bc.anim_type = 'full';
    bc.rows = 1;
    bc.cols = 5;
    
    
    bc.profileID = 'd057a9f45e144092cc2fc50e4d36afb8'

    bc.showBookwormMenu = false;
    
    
        
        bc.engines.push([bc.engineImagePath + 'del.icio.us_medium.gif', 1537, 'del.icio.us', 2, false, 'http://del.icio.us/post?url={url}&amp;title={title}', 640, 480]);
        
        bc.engines.push([bc.engineImagePath + 'digg_medium.gif', 1538, 'Digg this!', 3, false, 'http://digg.com/submit?phase=2&amp;url={url}&amp;title={title}', 640, 480]);
        
        bc.engines.push([bc.engineImagePath + 'technorati_medium.gif', 1539, 'Technorati', 11, false, 'http://www.technorati.com/faves?add={url}', 640, 480]);
        
        bc.engines.push([bc.engineImagePath + 'furl_medium.gif', 1540, 'Furl', 4, false, 'http://furl.net/storeIt.jsp?u={url}&amp;t={title}', 640, 480]);
        
        bc.engines.push([bc.engineImagePath + 'yahoobookmarks_medium.gif', 1541, 'Yahoo! Bookmarks', 19, false, 'http://bookmarks.yahoo.com/toolbar/savebm?u={url}&amp;t={title}&amp;opener=bm&amp;ei=UTF-8', 640, 480]);
        
    
    
    bc.initBookworm();
});