var d=document,C=d.getElementById('c'),K=[],M=Math,w=500,c=C.getContext('2d'),t,V=0,a,H=w,O,P,A,B,J=['#8cf','#c8f','#aaa'],li,v=20,z=100,T=8,G=v,E=0,r=120,n=50,R='random',F='globalAlpha',s=250,S;C.width=C.height=750;d.onkeydown=d.onkeyup=Y;d.onmousemove=L;c.translate(z,z);Z(0);window.setInterval(l,15);function Z(q){E+=q;O=P=s;a=M[R]()*6;A=M.cos(a)*3;B=M.sin(a)*3;t=30}function l(){c.translate(s,s);c.rotate(1/w);c.translate(-s,-s);c[F]=.3;T>5&&f(v,v,w-40,w-40,J[2]);f(s,v,E,w-40,J[E>0?1:0]),f(-n,-n,w+z,w+z,'#fff');c[F]=1;V+=K[90]?2:K[65]?-2:0;G+=V;G<v?(G=v,V=0):G>w-r?(G=w-r,V=0):0;V*=.8;f(0,G,v,z,J[0]);f(G,0,z,v,J[0]);H=H<v?v:H>w-r?w-r:H;f(w-v,H,v,z,J[1]);f(H,w-v,z,v,J[1]);t<0?(O+=A,P+=B):t--;O<v||P<v?Z(v):O>w-v||P>w-v?Z(-v):0;S=M[R]()*.2;O<30&&M.abs(P-(G+n))<n||O>w-30&&M.abs(P-(H+n))<n?(A*=-1-S,T=0):P<30&&M.abs(O-(G+n))<n||P>w-30&&M.abs(O-(H+n))<n?(B*=-1-S,T=0):T++;f(O-10,P-10,v,v,J[2])}function f(y,u,i,o,x){c.fillStyle=x;c.fillRect(y,u,i,o)}function Y(e){K[e.keyCode]=e.type!='keyup'}function L(e){H=e.pageY-n}
dmFyIGQ9ZG9jdW1lbnQsQz1kLmdldEVsZW1lbnRCeUlkKCdjJyksSz1bXSxNPU1hdGgsdz01MDAsYz1DLmdldENvbnRleHQoJzJkJyksdCxWPTAsYSxIPXcsTyxQLEEsQixKPVsnIzhjZicsJyNjOGYnLCcjYWFhJ10sbGksdj0yMCx6PTEwMCxUPTgsRz12LEU9MCxyPTEyMCxuPTUwLFI9J3JhbmRvbScsRj0nZ2xvYmFsQWxwaGEnLHM9MjUwLFM7Qy53aWR0aD1DLmhlaWdodD03NTA7ZC5vbmtleWRvd249ZC5vbmtleXVwPVk7ZC5vbm1vdXNlbW92ZT1MO2MudHJhbnNsYXRlKHoseik7WigwKTt3aW5kb3cuc2V0SW50ZXJ2YWwobCwxNSk7ZnVuY3Rpb24gWihxKXtFKz1xO089UD1zO2E9TVtSXSgpKjY7QT1NLmNvcyhhKSozO0I9TS5zaW4oYSkqMzt0PTMwfWZ1bmN0aW9uIGwoKXtjLnRyYW5zbGF0ZShzLHMpO2Mucm90YXRlKDEvdyk7Yy50cmFuc2xhdGUoLXMsLXMpO2NbRl09LjM7VD41JiZmKHYsdix3LTQwLHctNDAsSlsyXSk7ZihzLHYsRSx3LTQwLEpbRT4wPzE6MF0pLGYoLW4sLW4sdyt6LHcreiwnI2ZmZicpO2NbRl09MTtWKz1LWzkwXT8yOktbNjVdPy0yOjA7Rys9VjtHPHY/KEc9dixWPTApOkc+dy1yPyhHPXctcixWPTApOjA7Vio9Ljg7ZigwLEcsdix6LEpbMF0pO2YoRywwLHosdixKWzBdKTtIPUg8dj92Okg+dy1yP3ctcjpIO2Yody12LEgsdix6LEpbMV0pO2YoSCx3LXYseix2LEpbMV0pO3Q8MD8oTys9QSxQKz1CKTp0LS07Tzx2fHxQPHY/Wih2KTpPPnctdnx8UD53LXY/Wigtdik6MDtTPU1bUl0oKSouMjtPPDMwJiZNLmFicyhQLShHK24pKTxufHxPPnctMzAmJk0uYWJzKFAtKEgrbikpPG4/KEEqPS0xLVMsVD0wKTpQPDMwJiZNLmFicyhPLShHK24pKTxufHxQPnctMzAmJk0uYWJzKE8tKEgrbikpPG4/KEIqPS0xLVMsVD0wKTpUKys7ZihPLTEwLFAtMTAsdix2LEpbMl0pfWZ1bmN0aW9uIGYoeSx1LGksbyx4KXtjLmZpbGxTdHlsZT14O2MuZmlsbFJlY3QoeSx1LGksbyl9ZnVuY3Rpb24gWShlKXtLW2Uua2V5Q29kZV09ZS50eXBlIT0na2V5dXAnfWZ1bmN0aW9uIEwoZSl7SD1lLnBhZ2VZLW59
Original source not submitted