var Pl={sP:function(e,m,l,k,d){var h=this;var f=(e+m*h.iD.width)*4;h.iD.data[f]=l;h.iD.data[f+1]=k;h.iD.data[f+2]=d;h.iD.data[f+3]=255},draw:function(){var l=this;l.tp4=l.p4;l.tp3=l.p3;for(var k=0;k<l._h;++k){l.tp1=l.p1+5;l.tp2=l.p2+3;l.tp3&=511;l.tp4&=511;for(j=0;j<l._w;++j){l.tp1&=511;l.tp2&=511;var f=l.aS[l.tp1]+l.aS[l.tp2]+l.aS[l.tp3]+l.aS[l.tp4];var n=128+(f>>4);var e=l.aS[l.tp1]-l.aS[l.tp2]+l.aS[l.tp4];var m=128+(e>>4);var h=l.aS[l.tp3]+l.aS[l.tp2]-l.aS[l.tp3]/l.aS[l.tp4];var d=128+(h>>4);l.sP(j,k,n,m,d);l.tp1+=4;l.tp2+=2}l.tp4+=3;l.tp3+=1}l.p1+=9;l.p3+=8;a.putImageData(l.iD,0,0);l.j++;l.i+=2;window.setTimeout("Pl.draw()",1000/200)},init:function(){var d=this;c.style.width="100%";c.style.height="100%";d.ctx=a;d._w=c.width;d._h=c.height;d.iD=a.createImageData(d._w,d._h);d.p1=0;d.p2=0;d.p3=0;d.p4=0;d.tp1=0;d.tp2=0;d.tp3=0;d.tp4=0;d.aS=Array();for(var b=0;b<512;b++){d.aS[b]=Math.sin(b*0.01227178125)*1024}}};window.onload=function(){Pl.init();Pl.draw()};
dmFyIFBsPXtzUDpmdW5jdGlvbihlLG0sbCxrLGQpe3ZhciBoPXRoaXM7dmFyIGY9KGUrbSpoLmlELndpZHRoKSo0O2guaUQuZGF0YVtmXT1sO2guaUQuZGF0YVtmKzFdPWs7aC5pRC5kYXRhW2YrMl09ZDtoLmlELmRhdGFbZiszXT0yNTV9LGRyYXc6ZnVuY3Rpb24oKXt2YXIgbD10aGlzO2wudHA0PWwucDQ7bC50cDM9bC5wMztmb3IodmFyIGs9MDtrPGwuX2g7KytrKXtsLnRwMT1sLnAxKzU7bC50cDI9bC5wMiszO2wudHAzJj01MTE7bC50cDQmPTUxMTtmb3Ioaj0wO2o8bC5fdzsrK2ope2wudHAxJj01MTE7bC50cDImPTUxMTt2YXIgZj1sLmFTW2wudHAxXStsLmFTW2wudHAyXStsLmFTW2wudHAzXStsLmFTW2wudHA0XTt2YXIgbj0xMjgrKGY+PjQpO3ZhciBlPWwuYVNbbC50cDFdLWwuYVNbbC50cDJdK2wuYVNbbC50cDRdO3ZhciBtPTEyOCsoZT4+NCk7dmFyIGg9bC5hU1tsLnRwM10rbC5hU1tsLnRwMl0tbC5hU1tsLnRwM10vbC5hU1tsLnRwNF07dmFyIGQ9MTI4KyhoPj40KTtsLnNQKGosayxuLG0sZCk7bC50cDErPTQ7bC50cDIrPTJ9bC50cDQrPTM7bC50cDMrPTF9bC5wMSs9OTtsLnAzKz04O2EucHV0SW1hZ2VEYXRhKGwuaUQsMCwwKTtsLmorKztsLmkrPTI7d2luZG93LnNldFRpbWVvdXQoIlBsLmRyYXcoKSIsMTAwMC8yMDApfSxpbml0OmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcztjLnN0eWxlLndpZHRoPSIxMDAlIjtjLnN0eWxlLmhlaWdodD0iMTAwJSI7ZC5jdHg9YTtkLl93PWMud2lkdGg7ZC5faD1jLmhlaWdodDtkLmlEPWEuY3JlYXRlSW1hZ2VEYXRhKGQuX3csZC5faCk7ZC5wMT0wO2QucDI9MDtkLnAzPTA7ZC5wND0wO2QudHAxPTA7ZC50cDI9MDtkLnRwMz0wO2QudHA0PTA7ZC5hUz1BcnJheSgpO2Zvcih2YXIgYj0wO2I8NTEyO2IrKyl7ZC5hU1tiXT1NYXRoLnNpbihiKjAuMDEyMjcxNzgxMjUpKjEwMjR9fX07d2luZG93Lm9ubG9hZD1mdW5jdGlvbigpe1BsLmluaXQoKTtQbC5kcmF3KCl9Ow==
Original source not submitted