(function(b){var a;a=(function(){var m,j,f,k,g,l,i,c;d.load=function(n,e,q){var o,p=this;if(typeof e==="function"){q=e}o=new XMLHttpRequest;o.open("GET",n,true);o.responseType="arraybuffer";o.onload=function(){var r,s;r=new Uint8Array(o.response||o.mozResponseArrayBuffer);s=new d(r);if(typeof(e!=null?e.getContext:void 0)==="function"){s.render(e)}return typeof q==="function"?q(s):void 0};return o.send(null)};k=0;f=1;g=2;j=0;m=1;function d(t){var o,e,q,A,v,n,u,w,z,y,x,B,r,p,s;this.data=t;this.pos=8;this.palette=[];this.imgData=[];this.transparency={};this.animation=null;this.text={};n=null;while(true){o=this.readUInt32();y=((function(){var D,C;C=[];for(u=D=0;D<4;u=++D){C.push(String.fromCharCode(this.data[this.pos++]))}return C}).call(this)).join("");switch(y){case"IHDR":this.width=this.readUInt32();this.height=this.readUInt32();this.bits=this.data[this.pos++];this.colorType=this.data[this.pos++];this.compressionMethod=this.data[this.pos++];this.filterMethod=this.data[this.pos++];this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||Infinity,frames:[]};break;case"PLTE":this.palette=this.read(o);break;case"fcTL":if(n){this.animation.frames.push(n)}this.pos+=4;n={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()};v=this.readUInt16();A=this.readUInt16()||100;n.delay=1000*v/A;n.disposeOp=this.data[this.pos++];n.blendOp=this.data[this.pos++];n.data=[];break;case"IDAT":case"fdAT":if(y==="fdAT"){this.pos+=4;o-=4}t=(n!=null?n.data:void 0)||this.imgData;for(u=r=0;0<=o?ro;u=0<=o?++r:--r){t.push(this.data[this.pos++])}break;case"tRNS":this.transparency={};switch(this.colorType){case 3:q=this.palette.length/3;this.transparency.indexed=this.read(o);if(this.transparency.indexed.length>q){throw new Error("More transparent colors than palette size")}x=q-this.transparency.indexed.length;if(x>0){for(u=p=0;0<=x?px;u=0<=x?++p:--p){this.transparency.indexed.push(255)}}break;case 0:this.transparency.grayscale=this.read(o)[0];break;case 2:this.transparency.rgb=this.read(o)}break;case"tEXt":B=this.read(o);w=B.indexOf(0);z=String.fromCharCode.apply(String,B.slice(0,w));this.text[z]=String.fromCharCode.apply(String,B.slice(w+1));break;case"IEND":if(n){this.animation.frames.push(n)}this.colors=(function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}).call(this);this.hasAlphaChannel=(s=this.colorType)===4||s===6;e=this.colors+(this.hasAlphaChannel?1:0);this.pixelBitlength=this.bits*e;this.colorSpace=(function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}).call(this);this.imgData=new Uint8Array(this.imgData);return;default:this.pos+=o}this.pos+=4;if(this.pos>this.data.length){throw new Error("Incomplete or corrupt PNG file")}}return}d.prototype.read=function(n){var o,p,e;e=[];for(o=p=0;0<=n?pn;o=0<=n?++p:--p){e.push(this.data[this.pos++])}return e};d.prototype.readUInt32=function(){var p,o,n,e;p=this.data[this.pos++]<<24;o=this.data[this.pos++]<<16;n=this.data[this.pos++]<<8;e=this.data[this.pos++];return p|o|n|e};d.prototype.readUInt16=function(){var n,e;n=this.data[this.pos++]<<8;e=this.data[this.pos++];return n|e};d.prototype.decodePixels=function(K){var F,J,y,G,x,w,D,s,E,q,n,B,C,z,A,I,H,u,v,t,r,o,e;if(K==null){K=this.imgData}if(K.length===0){return new Uint8Array(0)}K=new FlateStream(K);K=K.getBytes();B=this.pixelBitlength/8;I=B*this.width;C=new Uint8Array(I*this.height);w=K.length;A=0;z=0;J=0;while(z1&&s/q