Loading
function(e){"use strict";e.exports=function(e,t){var n,r,o,a,i,u,l,s,c,f,d,h,p,v,y,m,g,b,w,_,D,k,x,C,E;n=e.state,r=e.next_in,C=e.input,o=r+(e.avail_in-5),a=e.next_out,E=e.output,i=a-(t-e.avail_out),u=a+(e.avail_out-257),l=n.dmax,s=n.wsize,c=n.whave,f=n.wnext,d=n.window,h=n.hold,p=n.bits,v=n.lencode,y=n.distcode,m=(1<<n.lenbits)-1,g=(1<<n.distbits)-1;t:do for(p<15&&(h+=C[r++]<<p,p+=8,h+=C[r++]<<p,p+=8),b=v[h&m];;){if(h>>>=w=b>>>24,p-=w,0==(w=b>>>16&255))E[a++]=65535&b;else if(16&w)for(_=65535&b,(w&=15)&&(p<w&&(h+=C[r++]<<p,p+=8),_+=h&(1<<w)-1,h>>>=w,p-=w),p<15&&(h+=C[r++]<<p,p+=8,h+=C[r++]<<p,p+=8),b=y[h&g];;){if(h>>>=w=b>>>24,p-=w,16&(w=b>>>16&255)){if(D=65535&b,p<(w&=15)&&(h+=C[r++]<<p,(p+=8)<w&&(h+=C[r++]<<p,p+=8)),(D+=h&(1<<w)-1)>l){e.msg="invalid distance too far back",n.mode=30;break t}if(h>>>=w,p-=w,D>(w=a-i)){if((w=D-w)>c&&n.sane){e.msg="invalid distance too far back",n.mode=30;break t}if(k=0,x=d,0===f){if(k+=s-w,w<_){_-=w;do E[a++]=d[k++];while(--w);k=a-D,x=E}}else if(f<w){if(k+=s+f-w,(w-=f)<_){_-=w;do E[a++]=d[k++];while(--w);if(k=0,f<_){_-=w=f;do E[a++]=d[k++];while(--w);k=a-D,x=E}}}else if(k+=f-w,w<_){_-=w;do E[a++]=d[k++];while(--w);k=a-D,x=E}for(;_>2;)E[a++]=x[k++],E[a++]=x[k++],E[a++]=x[k++],_-=3;_&&(E[a++]=x[k++],_>1&&(E[a++]=x[k++]))}else{k=a-D;do E[a++]=E[k++],E[a++]=E[k++],E[a++]=E[k++],_-=3;while(_>2);_&&(E[a++]=E[k++],_>1&&(E[a++]=E[k++]))}}else if((64&w)==0){b=y[(65535&b)+(h&(1<<w)-1)];continue}else{e.msg="invalid distance code",n.mode=30;break t}break}else if((64&w)==0){b=v[(65535&b)+(h&(1<<w)-1)];continue}else if(32&w){n.mode=12;break t}else{e.msg="invalid literal/length code",n.mode=30;break t}break}while(r<o&&a<u);r-=_=p>>3,p-=_<<3,h&=(1<<p)-1,e.next_in=r,e.next_out=a,e.avail_in=r<o?5+(o-r):5-(r-o),e.avail_out=a<u?257+(u-a):257-(a-u),n.hold=h,n.bits=p}}