S=function(s){a.globalCompositeOperation=s};W=c.width=1260;I=c.height=700;M=Math;P=M.PI/180;R=M.random;G=M.cos;H=M.sin;j="rgba(";V=function(o,t){if(t)delete O[o];else{w=-1;while(O[++w]);O[w]=o}};O=[];D=function(){S("source-over");a.fillStyle=j+"0,0,0,.4)";a.fillRect(0,0,W,I)};C=function(x,y,r,f){a.beginPath();a.arc(x,y,r,0,M.PI*2);a.fillStyle=f;a.fill()};X="255,0,0;255,255,0;0,0,255;0,255,0".split(";");F=function(k,x,y,g){t=this;t.k=k;t.x=k?x:(R()*W-400)+200;t.y=k?y:I;t.t=+new Date;t.j=k?1300:2000;t.a=k?R()*360:235+R()*70;t.s=R()*3+3;t.g=g;t.m=function(){t=this;if(t.k){f=P*t.a;t.x+=G(f)*t.s;t.y+=H(f)*t.s;S("lighter");g=a.createRadialGradient(t.x,t.y,1,t.x,t.y,6);g.addColorStop(0,j+"255,255,255,.5)");g.addColorStop(1,j+t.g+",.03)");C(t.x,t.y,20,g)}else{f=P*t.a;t.x+=G(f)*5;t.y+=H(f)*5;C(t.x,t.y,2,"rgb(0,0,99)")}}};setInterval(function(){D();for(q in O){_=O[q];_.m();if(+new Date-_.t>_.j){if(!_.k){h=R()*X.length|0;for(c=0;c++<16;)V(new F(1,_.x,_.y,X[h]))}V(q,1)}}var c=R()*100;if(c>80)V(new F)},1);
Uz1mdW5jdGlvbihzKXthLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj1zfTtXPWMud2lkdGg9MTI2MDtJPWMuaGVpZ2h0PTcwMDtNPU1hdGg7UD1NLlBJLzE4MDtSPU0ucmFuZG9tO0c9TS5jb3M7SD1NLnNpbjtqPSJyZ2JhKCI7Vj1mdW5jdGlvbihvLHQpe2lmKHQpZGVsZXRlIE9bb107ZWxzZXt3PS0xO3doaWxlKE9bKyt3XSk7T1t3XT1vfX07Tz1bXTtEPWZ1bmN0aW9uKCl7Uygic291cmNlLW92ZXIiKTthLmZpbGxTdHlsZT1qKyIwLDAsMCwuNCkiO2EuZmlsbFJlY3QoMCwwLFcsSSl9O0M9ZnVuY3Rpb24oeCx5LHIsZil7YS5iZWdpblBhdGgoKTthLmFyYyh4LHksciwwLE0uUEkqMik7YS5maWxsU3R5bGU9ZjthLmZpbGwoKX07WD0iMjU1LDAsMDsyNTUsMjU1LDA7MCwwLDI1NTswLDI1NSwwIi5zcGxpdCgiOyIpO0Y9ZnVuY3Rpb24oayx4LHksZyl7dD10aGlzO3Quaz1rO3QueD1rP3g6KFIoKSpXLTQwMCkrMjAwO3QueT1rP3k6STt0LnQ9K25ldyBEYXRlO3Quaj1rPzEzMDA6MjAwMDt0LmE9az9SKCkqMzYwOjIzNStSKCkqNzA7dC5zPVIoKSozKzM7dC5nPWc7dC5tPWZ1bmN0aW9uKCl7dD10aGlzO2lmKHQuayl7Zj1QKnQuYTt0LngrPUcoZikqdC5zO3QueSs9SChmKSp0LnM7UygibGlnaHRlciIpO2c9YS5jcmVhdGVSYWRpYWxHcmFkaWVudCh0LngsdC55LDEsdC54LHQueSw2KTtnLmFkZENvbG9yU3RvcCgwLGorIjI1NSwyNTUsMjU1LC41KSIpO2cuYWRkQ29sb3JTdG9wKDEsait0LmcrIiwuMDMpIik7Qyh0LngsdC55LDIwLGcpfWVsc2V7Zj1QKnQuYTt0LngrPUcoZikqNTt0LnkrPUgoZikqNTtDKHQueCx0LnksMiwicmdiKDAsMCw5OSkiKX19fTtzZXRJbnRlcnZhbChmdW5jdGlvbigpe0QoKTtmb3IocSBpbiBPKXtfPU9bcV07Xy5tKCk7aWYoK25ldyBEYXRlLV8udD5fLmope2lmKCFfLmspe2g9UigpKlgubGVuZ3RofDA7Zm9yKGM9MDtjKys8MTY7KVYobmV3IEYoMSxfLngsXy55LFhbaF0pKX1WKHEsMSl9fXZhciBjPVIoKSoxMDA7aWYoYz44MClWKG5ldyBGKX0sMSk7
Original source not submitted