/* @preserve * $Id: rawdeflate.js,v 0.3 2009/03/01 19:05:05 dankogai Exp dankogai $ * * Original: * http://www.onicos.com/staff/iz/amuse/javascript/expert/deflate.txt */ /* @preserve * Copyright (C) 1999 Masanao Izumo * Version: 1.0.1 * LastModified: Dec 25 1999 */ /** * @preserve This code contains an altered version of the original source and is not meant to misrepresent the original software. */ function base64(r){if("undefined"!=typeof btoa)return btoa(r);for(var t,e,n,f,o,i,a,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u=[],s=0;r.length>s;)t=r.charCodeAt(s++),e=r.charCodeAt(s++),n=r.charCodeAt(s++),f=t>>2,o=(3&t)<<4|e>>4,i=(15&e)<<2|n>>6,a=63&n,isNaN(e)?i=a=64:isNaN(n)&&(a=64),u.push(l.charAt(f)+l.charAt(o)+l.charAt(i)+l.charAt(a));return u.join("")}function lzw_encode(r){for(var t,e={},n=(r+"").split(""),f=[],o=n[0],i=256,a=n.length,l=1;a>l;l++)t=n[l],null!=e[o+t]?o+=t:(f.push(o.length>1?e[o]:o.charCodeAt(0)),e[o+t]=i,i++,o=t);f.push(o.length>1?e[o]:o.charCodeAt(0));for(var u=f.length,l=0;u>l;l++)f[l]=String.fromCharCode(f[l]);return f.join("")}(function(r){var t=32768,e=0,n=1,f=2,o=6,i=!0,a=32768,l=64,u=8192,s=2*t,c=3,h=258,d=16,A=8192,_=13;A>a&&postMessage("error: zip_INBUFSIZ is too small"),t<<1>1<d-1&&postMessage("error: zip_HASH_BITS is too large"),(8>_||258!=h)&&postMessage("error: Code too clever");var v,y,w,m,g,x,b,p,M,C,B,z,I,R,X,D,j,k,N,S,H,U,Z,E,F,T,W,q,G,J,K,L,O,P,Q,V,Y,$,rt,tt,et,nt,ft,ot,it,at,lt,ut,st,ct,ht,dt,At,_t,vt,yt,wt=A,mt=1<<_,gt=mt-1,xt=t-1,bt=0,pt=4096,Mt=h+c+1,Ct=t-Mt,Bt=1,zt=15,It=7,Rt=29,Xt=256,Dt=256,jt=Xt+1+Rt,kt=30,Nt=19,St=16,Ht=17,Ut=18,Zt=2*jt+1,Et=parseInt((_+c-1)/c),Ft=null,Tt=function(){this.fc=0,this.dl=0},Wt=function(){this.dyn_tree=null,this.static_tree=null,this.extra_bits=null,this.extra_base=0,this.elems=0,this.max_length=0,this.max_code=0},qt=function(r,t,e,n){this.good_length=r,this.max_lazy=t,this.nice_length=e,this.max_chain=n},Gt=function(){this.next=null,this.len=0,this.ptr=Array(u),this.off=0},Jt=Array(0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0),Kt=Array(0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13),Lt=Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7),Ot=Array(16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15),Pt=Array(new qt(0,0,0,0),new qt(4,4,8,4),new qt(4,5,16,8),new qt(4,6,32,32),new qt(4,4,16,16),new qt(8,16,32,32),new qt(8,16,128,128),new qt(8,32,128,256),new qt(32,128,258,1024),new qt(32,258,258,4096)),Qt=function(r){var t;if(r?1>r?r=1:r>9&&(r=9):r=o,W=r,m=!1,Z=!1,null==Ft){for(v=y=w=null,Ft=Array(u),p=Array(s),M=Array(wt),C=Array(a+l),B=Array(1<t;t++)J[t]=new Tt;for(K=Array(2*kt+1),t=0;2*kt+1>t;t++)K[t]=new Tt;for(L=Array(jt+2),t=0;jt+2>t;t++)L[t]=new Tt;for(O=Array(kt),t=0;kt>t;t++)O[t]=new Tt;for(P=Array(2*Nt+1),t=0;2*Nt+1>t;t++)P[t]=new Tt;Q=new Wt,V=new Wt,Y=new Wt,$=Array(zt+1),rt=Array(2*jt+1),nt=Array(2*jt+1),ft=Array(h-c+1),ot=Array(512),it=Array(Rt),at=Array(kt),lt=Array(parseInt(A/8))}},Vt=function(r){r.next=v,v=r},Yt=function(){var r;return null!=v?(r=v,v=v.next):r=new Gt,r.next=null,r.len=r.off=0,r},$t=function(r){return B[t+r]},re=function(r,e){return B[t+r]=e},te=function(r){Ft[x+g++]=r,x+g==u&&ke()},ee=function(r){r&=65535,u-2>x+g?(Ft[x+g++]=255&r,Ft[x+g++]=r>>>8):(te(255&r),te(r>>>8))},ne=function(){X=(X<r?ot[r]:ot[256+(r>>7)])},ie=function(r,t,e){return r[e].fc>r[t].fc||r[t].fc==r[e].fc&&nt[e]>=nt[t]},ae=function(r,t,e){var n;for(n=0;e>n&&vt.length>yt;n++)r[t+n]=255&vt.charCodeAt(yt++);return n},le=function(){var r;for(r=0;mt>r;r++)B[t+r]=0;if(T=Pt[W].max_lazy,q=Pt[W].good_length,i||(G=Pt[W].nice_length),F=Pt[W].max_chain,H=0,R=0,E=ae(p,0,2*t),0>=E)return Z=!0,E=0,void 0;for(Z=!1;Mt>E&&!Z;)se();for(X=0,r=0;c-1>r;r++)X=(X<Ct?H-Ct:bt,l=H+h,u=p[f+o-1],s=p[f+o];S>=q&&(n>>=2);do if(t=r,p[t+o]==s&&p[t+o-1]==u&&p[t]==p[f]&&p[++t]==p[f+1]){f+=2,t++;do;while(p[++f]==p[++t]&&p[++f]==p[++t]&&p[++f]==p[++t]&&p[++f]==p[++t]&&p[++f]==p[++t]&&p[++f]==p[++t]&&p[++f]==p[++t]&&p[++f]==p[++t]&&l>f);if(e=h-(l-f),f=l-h,e>o){if(U=r,o=e,i){if(e>=h)break}else if(e>=G)break;u=p[f+o-1],s=p[f+o]}}while((r=B[r&xt])>a&&0!=--n);return o},se=function(){var r,e,n=s-E-H;if(-1==n)n--;else if(H>=t+Ct){for(r=0;t>r;r++)p[r]=p[r+t];for(U-=t,H-=t,R-=t,r=0;mt>r;r++)e=$t(r),re(r,e>=t?e-t:bt);for(r=0;t>r;r++)e=B[r],B[r]=e>=t?e-t:bt;n+=t}Z||(r=ae(p,H+E,n),0>=r?Z=!0:E+=r)},ce=function(){for(;0!=E&&null==y;){var r;if(ne(),D!=bt&&Ct>=H-D&&(N=ue(D),N>E&&(N=E)),N>=c)if(r=ze(H-U,N-c),E-=N,T>=N){N--;do H++,ne();while(0!=--N);H++}else H+=N,N=0,X=255&p[H],X=(X<E&&!Z;)se()}},he=function(){for(;0!=E&&null==y;){if(ne(),S=N,j=U,N=c-1,D!=bt&&T>S&&Ct>=H-D&&(N=ue(D),N>E&&(N=E),N==c&&H-U>pt&&N--),S>=c&&S>=N){var r;r=ze(H-1-j,S-c),E-=S-1,S-=2;do H++,ne();while(0!=--S);k=0,N=c-1,H++,r&&(Be(0),R=H)}else 0!=k?(ze(0,255&p[H-1])&&(Be(0),R=H),H++,E--):(k=1,H++,E--);for(;Mt>E&&!Z;)se()}},de=function(){Z||(z=0,I=0,ve(),le(),y=null,g=0,x=0,k=0,3>=W?(S=c-1,N=0):(N=c-1,k=0,k=0),b=!1)},Ae=function(r,t,e){var n;return m||(de(),m=!0,0!=E)?(n=_e(r,t,e))==e?e:b?n:(3>=W?ce():he(),0==E&&(0!=k&&ze(0,255&p[H-1]),Be(1),b=!0),n+_e(r,n+t,e-n)):(b=!0,0)},_e=function(r,t,e){var n,f,o;for(n=0;null!=y&&e>n;){for(f=e-n,f>y.len&&(f=y.len),o=0;f>o;o++)r[t+n+o]=y.ptr[y.off+o];if(y.off+=f,y.len-=f,n+=f,0==y.len){var i;i=y,y=y.next,Vt(i)}}if(n==e)return n;if(g>x){for(f=e-n,f>g-x&&(f=g-x),o=0;f>o;o++)r[t+n+o]=Ft[x+o];x+=f,n+=f,g==x&&(g=x=0)}return n},ve=function(){var r,t,e,n,f;if(0==O[0].dl){for(Q.dyn_tree=J,Q.static_tree=L,Q.extra_bits=Jt,Q.extra_base=Xt+1,Q.elems=jt,Q.max_length=zt,Q.max_code=0,V.dyn_tree=K,V.static_tree=O,V.extra_bits=Kt,V.extra_base=0,V.elems=kt,V.max_length=zt,V.max_code=0,Y.dyn_tree=P,Y.static_tree=null,Y.extra_bits=Lt,Y.extra_base=0,Y.elems=Nt,Y.max_length=It,Y.max_code=0,e=0,n=0;Rt-1>n;n++)for(it[n]=e,r=0;1<r;r++)ft[e++]=n;for(ft[e-1]=n,f=0,n=0;16>n;n++)for(at[n]=f,r=0;1<r;r++)ot[f++]=n;for(f>>=7;kt>n;n++)for(at[n]=f<<7,r=0;1<r;r++)ot[256+f++]=n;for(t=0;zt>=t;t++)$[t]=0;for(r=0;143>=r;)L[r++].dl=8,$[8]++;for(;255>=r;)L[r++].dl=9,$[9]++;for(;279>=r;)L[r++].dl=7,$[7]++;for(;287>=r;)L[r++].dl=8,$[8]++;for(ge(L,jt+1),r=0;kt>r;r++)O[r].dl=5,O[r].fc=De(r,5);ye()}},ye=function(){var r;for(r=0;jt>r;r++)J[r].fc=0;for(r=0;kt>r;r++)K[r].fc=0;for(r=0;Nt>r;r++)P[r].fc=0;J[Dt].fc=1,At=_t=0,ut=st=ct=0,ht=0,dt=1},we=function(r,t){for(var e=rt[t],n=t<<1;tt>=n&&(tt>n&&ie(r,rt[n+1],rt[n])&&n++,!ie(r,e,rt[n]));)rt[t]=rt[n],t=n,n<<=1;rt[t]=e},me=function(r){var t,e,n,f,o,i,a=r.dyn_tree,l=r.extra_bits,u=r.extra_base,s=r.max_code,c=r.max_length,h=r.static_tree,d=0;for(f=0;zt>=f;f++)$[f]=0;for(a[rt[et]].dl=0,t=et+1;Zt>t;t++)e=rt[t],f=a[a[e].dl].dl+1,f>c&&(f=c,d++),a[e].dl=f,e>s||($[f]++,o=0,e>=u&&(o=l[e-u]),i=a[e].fc,At+=i*(f+o),null!=h&&(_t+=i*(h[e].dl+o)));if(0!=d){do{for(f=c-1;0==$[f];)f--;$[f]--,$[f+1]+=2,$[c]--,d-=2}while(d>0);for(f=c;0!=f;f--)for(e=$[f];0!=e;)n=rt[--t],n>s||(a[n].dl!=f&&(At+=(f-a[n].dl)*a[n].fc,a[n].fc=f),e--)}},ge=function(r,t){var e,n,f=Array(zt+1),o=0;for(e=1;zt>=e;e++)o=o+$[e-1]<<1,f[e]=o;for(n=0;t>=n;n++){var i=r[n].dl;0!=i&&(r[n].fc=De(f[i]++,i))}},xe=function(r){var t,e,n=r.dyn_tree,f=r.static_tree,o=r.elems,i=-1,a=o;for(tt=0,et=Zt,t=0;o>t;t++)0!=n[t].fc?(rt[++tt]=i=t,nt[t]=0):n[t].dl=0;for(;2>tt;){var l=rt[++tt]=2>i?++i:0;n[l].fc=1,nt[l]=0,At--,null!=f&&(_t-=f[l].dl)}for(r.max_code=i,t=tt>>1;t>=1;t--)we(n,t);do t=rt[Bt],rt[Bt]=rt[tt--],we(n,Bt),e=rt[Bt],rt[--et]=t,rt[--et]=e,n[a].fc=n[t].fc+n[e].fc,nt[a]=nt[t]>nt[e]+1?nt[t]:nt[e]+1,n[t].dl=n[e].dl=a,rt[Bt]=a++,we(n,Bt);while(tt>=2);rt[--et]=rt[Bt],me(r),ge(n,i)},be=function(r,t){var e,n,f=-1,o=r[0].dl,i=0,a=7,l=4;for(0==o&&(a=138,l=3),r[t+1].dl=65535,e=0;t>=e;e++)n=o,o=r[e+1].dl,a>++i&&n==o||(l>i?P[n].fc+=i:0!=n?(n!=f&&P[n].fc++,P[St].fc++):10>=i?P[Ht].fc++:P[Ut].fc++,i=0,f=n,0==o?(a=138,l=3):n==o?(a=6,l=3):(a=7,l=4))},pe=function(r,t){var e,n,f=-1,o=r[0].dl,i=0,a=7,l=4;for(0==o&&(a=138,l=3),e=0;t>=e;e++)if(n=o,o=r[e+1].dl,!(a>++i&&n==o)){if(l>i){do fe(n,P);while(0!=--i)}else 0!=n?(n!=f&&(fe(n,P),i--),fe(St,P),Xe(i-3,2)):10>=i?(fe(Ht,P),Xe(i-3,3)):(fe(Ut,P),Xe(i-11,7));i=0,f=n,0==o?(a=138,l=3):n==o?(a=6,l=3):(a=7,l=4)}},Me=function(){var r;for(be(J,Q.max_code),be(K,V.max_code),xe(Y),r=Nt-1;r>=3&&0==P[Ot[r]].dl;r--);return At+=3*(r+1)+5+5+4,r},Ce=function(r,t,e){var n;for(Xe(r-257,5),Xe(t-1,5),Xe(e-4,4),n=0;e>n;n++)Xe(P[Ot[n]].dl,3);pe(J,r-1),pe(K,t-1)},Be=function(r){var t,o,i,a;if(a=H-R,lt[ct]=ht,xe(Q),xe(V),i=Me(),t=At+3+7>>3,o=_t+3+7>>3,t>=o&&(t=o),t>=a+4&&R>=0){var l;for(Xe((e<<1)+r,3),je(),ee(a),ee(~a),l=0;a>l;l++)te(p[R+l])}else o==t?(Xe((n<<1)+r,3),Ie(L,O)):(Xe((f<<1)+r,3),Ce(Q.max_code+1,V.max_code+1,i+1),Ie(J,K));ye(),0!=r&&je()},ze=function(r,t){if(C[ut++]=t,0==r?J[t].fc++:(r--,J[ft[t]+Xt+1].fc++,K[oe(r)].fc++,M[st++]=r,ht|=dt),dt<<=1,0==(7&ut)&&(lt[ct++]=ht,ht=0,dt=1),W>2&&0==(4095&ut)){var e,n=8*ut,f=H-R;for(e=0;kt>e;e++)n+=K[e].fc*(5+Kt[e]);if(n>>=3,parseInt(ut/2)>st&&parseInt(f/2)>n)return!0}return ut==A-1||st==wt},Ie=function(r,t){var e,n,f,o,i=0,a=0,l=0,u=0;if(0!=ut)do 0==(7&i)&&(u=lt[l++]),n=255&C[i++],0==(1&u)?fe(n,r):(f=ft[n],fe(f+Xt+1,r),o=Jt[f],0!=o&&(n-=it[f],Xe(n,o)),e=M[a++],f=oe(e),fe(f,t),o=Kt[f],0!=o&&(e-=at[f],Xe(e,o))),u>>=1;while(ut>i);fe(Dt,r)},Re=16,Xe=function(r,t){I>Re-t?(z|=r<>Re-I,I+=t-Re):(z|=r<>=1,e<<=1;while(--t>0);return e>>1},je=function(){I>8?ee(z):I>0&&te(z),z=0,I=0},ke=function(){if(0!=g){var r,t;for(r=Yt(),null==y?y=w=r:w=w.next=r,r.len=g-x,t=0;r.len>t;t++)r.ptr[t]=Ft[x+t];g=x=0}},Ne=function(r,t){var e,n;vt=r,yt=0,t===void 0&&(t=o),Qt(t);for(var f=Array(1024),i=[];(e=Ae(f,0,f.length))>0;){var a=Array(e);for(n=0;e>n;n++)a[n]=String.fromCharCode(f[n]);i[i.length]=a.join("")}return vt=null,i.join("")};r.RawDeflate||(r.RawDeflate={}),r.RawDeflate.deflate=Ne})(self),function(r){var t,e,n,f,o,i,a,l,u,s,c,h,d,A,_,v,y=32768,w=0,m=9,g=6,x=null,b=Array(0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535),p=Array(3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0),M=Array(0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99),C=Array(1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577),B=Array(0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13),z=Array(16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15),I=function(){this.next=null,this.list=null},R=function(){this.e=0,this.b=0,this.n=0,this.t=null},X=function(r,t,e,n,f,o){this.BMAX=16,this.N_MAX=288,this.status=0,this.root=null,this.m=0;var i,a,l,u,s,c,h,d,A,_,v,y,w,m,g,x,b,p=Array(this.BMAX+1),M=Array(this.BMAX+1),C=new R,B=Array(this.BMAX),z=Array(this.N_MAX),X=Array(this.BMAX+1);for(b=this.root=null,c=0;p.length>c;c++)p[c]=0;for(c=0;M.length>c;c++)M[c]=0;for(c=0;B.length>c;c++)B[c]=null;for(c=0;z.length>c;c++)z[c]=0;for(c=0;X.length>c;c++)X[c]=0;a=t>256?r[256]:this.BMAX,A=r,_=0,c=t;do p[A[_]]++,_++;while(--c>0);if(p[0]==t)return this.root=null,this.m=0,this.status=0,void 0;for(h=1;this.BMAX>=h&&0==p[h];h++);for(d=h,h>o&&(o=h),c=this.BMAX;0!=c&&0==p[c];c--);for(u=c,o>c&&(o=c),m=1<h;h++,m<<=1)if(0>(m-=p[h]))return this.status=2,this.m=o,void 0;if(0>(m-=p[c]))return this.status=2,this.m=o,void 0;for(p[c]+=m,X[1]=h=0,A=p,_=1,w=2;--c>0;)X[w++]=h+=A[_++];A=r,_=0,c=0;do 0!=(h=A[_++])&&(z[X[h]++]=c);while(t>++c);for(t=X[u],X[0]=c=0,A=z,_=0,s=-1,y=M[0]=0,v=null,g=0;u>=d;d++)for(i=p[d];i-->0;){for(;d>y+M[1+s];){if(y+=M[1+s],s++,g=(g=u-y)>o?o:g,(l=1<<(h=d-y))>i+1)for(l-=i+1,w=d;g>++h&&!(p[++w]>=(l<<=1));)l-=p[w];for(y+h>a&&a>y&&(h=a-y),g=1<x;x++)v[x]=new R;b=null==b?this.root=new I:b.next=new I,b.next=null,b.list=v,B[s]=v,s>0&&(X[s]=c,C.b=M[s],C.e=16+h,C.t=v,h=(c&(1<>y-M[s],B[s-1][h].e=C.e,B[s-1][h].b=C.b,B[s-1][h].n=C.n,B[s-1][h].t=C.t)}for(C.b=d-y,_>=t?C.e=99:e>A[_]?(C.e=256>A[_]?16:15,C.n=A[_++]):(C.e=f[A[_]-e],C.n=n[A[_++]-e]),l=1<>y;g>h;h+=l)v[h].e=C.e,v[h].b=C.b,v[h].n=C.n,v[h].t=C.t;for(h=1<>=1)c^=h;for(c^=h;(c&(1<i;)o|=D()<>=r,i-=r},S=function(r,n,f){var o,i,l;if(0==f)return 0;for(l=0;;){for(j(d),i=c.list[k(d)],o=i.e;o>16;){if(99==o)return-1;N(i.b),o-=16,j(o),i=i.t[k(o)],o=i.e}if(N(i.b),16!=o){if(15==o)break;for(j(o),u=i.n+k(o),N(o),j(A),i=h.list[k(A)],o=i.e;o>16;){if(99==o)return-1;N(i.b),o-=16,j(o),i=i.t[k(o)],o=i.e}for(N(i.b),j(o),s=e-i.n-k(o),N(o);u>0&&f>l;)u--,s&=y-1,e&=y-1,r[n+l++]=t[e++]=t[s++];if(l==f)return f}else if(e&=y-1,r[n+l++]=t[e++]=i.n,l==f)return f}return a=-1,l},H=function(r,n,f){var l;if(l=7&i,N(l),j(16),l=k(16),N(16),j(16),l!=(65535&~o))return-1;for(N(16),u=l,l=0;u>0&&f>l;)u--,e&=y-1,j(8),r[n+l++]=t[e++]=k(8),N(8);return 0==u&&(a=-1),l},U=function(r,t,e){if(null==x){var o,i,a=Array(288);for(o=0;144>o;o++)a[o]=8;for(;256>o;o++)a[o]=9;for(;280>o;o++)a[o]=7;for(;288>o;o++)a[o]=8;if(f=7,i=new X(a,288,257,p,M,f),0!=i.status)return alert("HufBuild error: "+i.status),-1;for(x=i.root,f=i.m,o=0;30>o;o++)a[o]=5;if(zip_fixed_bd=5,i=new X(a,30,0,C,B,zip_fixed_bd),i.status>1)return x=null,alert("HufBuild error: "+i.status),-1;n=i.root,zip_fixed_bd=i.m}return c=x,h=n,d=f,A=zip_fixed_bd,S(r,t,e)},Z=function(r,t,e){var n,f,o,i,a,l,u,s,_,v=Array(316);for(n=0;v.length>n;n++)v[n]=0;if(j(5),u=257+k(5),N(5),j(5),s=1+k(5),N(5),j(4),l=4+k(4),N(4),u>286||s>30)return-1;for(f=0;l>f;f++)j(3),v[z[f]]=k(3),N(3);for(;19>f;f++)v[z[f]]=0;if(d=7,_=new X(v,19,19,null,null,d),0!=_.status)return-1;for(c=_.root,d=_.m,i=u+s,n=o=0;i>n;)if(j(d),a=c.list[k(d)],f=a.b,N(f),f=a.n,16>f)v[n++]=o=f;else if(16==f){if(j(2),f=3+k(2),N(2),n+f>i)return-1;for(;f-->0;)v[n++]=o}else if(17==f){if(j(3),f=3+k(3),N(3),n+f>i)return-1;for(;f-->0;)v[n++]=0;o=0}else{if(j(7),f=11+k(7),N(7),n+f>i)return-1;for(;f-->0;)v[n++]=0;o=0}if(d=m,_=new X(v,u,257,p,M,d),0==d&&(_.status=1),0!=_.status)return 1==_.status,-1;for(c=_.root,d=_.m,n=0;s>n;n++)v[n]=v[n+u];return A=g,_=new X(v,s,0,C,B,A),h=_.root,A=_.m,0==A&&u>257?-1:(1==_.status,0!=_.status?-1:S(r,t,e))},E=function(){null==t&&(t=Array(2*y)),e=0,o=0,i=0,a=-1,l=!1,u=s=0,c=null},F=function(r,n,f){var o,i;for(o=0;f>o;){if(l&&-1==a)return o;if(u>0){if(a!=w)for(;u>0&&f>o;)u--,s&=y-1,e&=y-1,r[n+o++]=t[e++]=t[s++];else{for(;u>0&&f>o;)u--,e&=y-1,j(8),r[n+o++]=t[e++]=k(8),N(8);0==u&&(a=-1)}if(o==f)return o}if(-1==a){if(l)break;j(1),0!=k(1)&&(l=!0),N(1),j(2),a=k(2),N(2),c=null,u=0}switch(a){case 0:i=H(r,n+o,f-o);break;case 1:i=null!=c?S(r,n+o,f-o):U(r,n+o,f-o);break;case 2:i=null!=c?S(r,n+o,f-o):Z(r,n+o,f-o);break;default:i=-1}if(-1==i)return l?0:-1;o+=i}return o},T=function(r){var t,e;E(),_=r,v=0;for(var n=Array(1024),f=[];(t=F(n,0,n.length))>0;){var o=Array(t);for(e=0;t>e;e++)o[e]=String.fromCharCode(n[e]);f[f.length]=o.join("")}return _=null,f.join("")};r.RawDeflate||(r.RawDeflate={}),r.RawDeflate.inflate=T}(self),self.onmessage=function(r){var t=r.data.json,e=r.data.type;if(3===e){var n=RawDeflate.deflate(unescape(encodeURIComponent(t)));if(!n)return postMessage("Compress fail"),void 0;var f=RawDeflate.inflate(n);if(!f)return postMessage("Decompress fail"),void 0;postMessage(base64(n))}else 2===e&&postMessage(""+base64(unescape(encodeURIComponent(""+lzw_encode(t)))))};