1 (
function(u){
if(
"function"===typeof define&&define.amd)define([
"JSRootCore"],u);
else if(
"object"===typeof exports&&
"undefined"!==typeof module)u(require(
"./JSRootCore.js"));
else{
if(
"undefined"==typeof JSROOT)
throw Error(
"JSROOT is not defined",
"rawinflate.js");
if(
"undefined"!==typeof JSROOT.ZIP)
throw Error(
"JSROOT.ZIP already exists",
"rawinflate.js");u(JSROOT)}})(
function(u){var x=null,n,J=null,Q,K,L,G,E,z,H,q,F,v,N,w,A,O,R,P,Z=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],
2 S=[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],T=[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],U=[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],V=[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],W=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=
function(){this.list=this.next=null},Y=
function(){this.n=this.b=this.e=0;this.t=null},I=
function(k,
3 t,g,b,a,r){this.status=0;this.root=null;this.m=0;var e=Array(17),d=Array(17),m=Array(16),f=Array(288),p=Array(17),c=
new Y,q,h,l,n,w,u,x=this.root=null;
for(h=0;16>=h;++h)e[h]=d[h]=p[h]=0;
for(h=0;16>h;++h)m[h]=null;
for(h=0;288>h;++h)f[h]=0;var z=256<t?k[256]:16;var C=k;var B=0;h=t;
do e[C[B++]]++;
while(0<--h);
if(e[0]==t)
return this.root=null,this.status=this.m=0,
this;
for(l=1;16>=l&&0==e[l];++l);var v=l;r<l&&(r=l);
for(h=16;0!=h&&0==e[h];--h);var A=h;r>h&&(r=h);
for(w=1<<l;l<h;++l,w<<=1)if(0>(w-=e[l]))
return this.status=
4 2,this.m=r,
this;
if(0>(w-=e[h]))
return this.status=2,this.m=r,
this;e[h]+=w;p[1]=l=0;C=e;B=1;
for(n=2;0<--h;)p[n++]=l+=C[B++];C=k;h=B=0;
do 0!=(l=C[B++])&&(f[p[l]++]=h);
while(++h<t);t=p[A];p[0]=h=0;C=f;B=0;f=-1;var y=d[0]=0;n=null;
for(u=0;v<=A;++v)
for(k=e[v];0<k--;){
for(;v>y+d[1+f];){y+=d[1+f++];u=(u=A-y)>r?r:u;
if((q=1<<(l=v-y))>k+1)
for(q-=k+1,n=v;++l<u&&!((q<<=1)<=e[++n]);)q-=e[n];y+l>z&&y<z&&(l=z-y);u=1<<l;d[1+f]=l;n=Array(u);
for(q=0;q<u;++q)n[q]=
new Y;x=null==x?this.root=
new X:x.next=
new X;x.next=
5 null;x.list=n;m[f]=n;
if(0<f){p[f]=h;c.b=d[f];c.e=16+l;c.t=n;l=(h&(1<<y)-1)>>y-d[f];var D=m[f-1][l];D.e=c.e;D.b=c.b;D.n=c.n;D.t=c.t}}c.b=v-y;B>=t?c.e=99:C[B]<g?(c.e=256>C[B]?16:15,c.n=C[B++]):(c.e=a[C[B]-g],c.n=b[C[B++]-g]);q=1<<v-y;
for(l=h>>y;l<u;l+=q)D=n[l],D.e=c.e,D.b=c.b,D.n=c.n,D.t=c.t;
for(l=1<<v-1;0!=(h&l);l>>=1)h^=l;
for(h^=l;(h&(1<<y)-1)!=p[f];)y-=d[f--]}this.m=d[1];this.status=0!=w&&1!=A?1:0;
return this},p=
function(k){
for(;E<k;)P<R&&(G|=O[P++]<<E),E+=8},c=
function(k){
return G&Z[k]},f=
function(k){G>>=
6 k;E-=k},M=
function(k,t,g){
if(0==g)
return 0;
for(var b,a,r=0;;){p(w);a=v.list[c(w)];
for(b=a.e;16<b;){
if(99==b)
return-1;f(a.b);b-=16;p(b);a=a.t[c(b)];b=a.e}f(a.b);
if(16==b)n&=32767,k[t+r++]=x[n++]=a.n;
else{
if(15==b)
break;p(b);q=a.n+c(b);f(b);p(A);a=N.list[c(A)];
for(b=a.e;16<b;){
if(99==b)
return-1;f(a.b);b-=16;p(b);a=a.t[c(b)];b=a.e}f(a.b);p(b);F=n-a.n-c(b);
for(f(b);0<q&&r<g;)--q,F&=32767,n&=32767,k[t+r++]=x[n++]=x[F++]}
if(r==g)
return g}z=-1;
return r},aa=
function(k,q,g){var b,a,r,e=Array(316);
for(b=0;b<
7 e.length;++b)e[b]=0;p(5);var d=257+c(5);f(5);p(5);var m=1+c(5);f(5);p(4);b=4+c(4);f(4);
if(286<d||30<m)
return-1;
for(a=0;a<b;++a)p(3),e[W[a]]=c(3),f(3);for(;19>a;++a)e[W[a]]=0;w=7;a=
new I(e,19,19,null,null,w);
if(0!=a.status)
return-1;v=a.root;w=a.m;var n=d+m;
for(b=r=0;b<n;){p(w);var t=v.list[c(w)];a=t.b;f(a);a=t.n;
if(16>a)e[b++]=r=a;
else if(16==a){p(2);a=3+c(2);f(2);
if(b+a>n)
return-1;
for(;0<a--;)e[b++]=r}
else{17==a?(p(3),a=3+c(3),f(3)):(p(7),a=11+c(7),f(7));
if(b+a>n)
return-1;
for(;0<a--;)e[b++]=0;r=0}}w=
8 9;a=
new I(e,d,257,S,T,w);0==w&&(a.status=1);
if(0!=a.status)
return-1;v=a.root;w=a.m;
for(b=0;b<m;++b)e[b]=e[b+d];A=6;a=
new I(e,m,0,U,V,A);N=a.root;A=a.m;
return 0==A&&257<d||0!=a.status?-1:M(k,q,g)},ba=
function(k,t,g){
for(var b=0,a;b<g&&(!H||-1!=z);){
if(0<q){
if(0!=z)
for(;0<q&&b<g;)--q,F&=32767,n&=32767,k[t+b++]=x[n++]=x[F++];
else{
for(;0<q&&b<g;)--q,n&=32767,p(8),k[t+b++]=x[n++]=c(8),f(8);0==q&&(z=-1)}
if(b==g)break}if(-1==z){
if(H)
break;p(1);0!=c(1)&&(H=!0);f(1);p(2);z=c(2);f(2);v=null;q=0}
switch(z){
case 0:a=
9 k;var r=t+b,e=g-b,d=E&7;f(d);p(16);d=c(16);f(16);p(16);
if(d!=(~G&65535))a=-1;
else{f(16);q=d;
for(d=0;0<q&&d<e;)--q,n&=32767,p(8),a[r+d++]=x[n++]=c(8),f(8);0==q&&(z=-1);a=d}
break;
case 1:
if(null!=v)a=M(k,t+b,g-b);
else{a=k;r=t+b;e=g-b;
if(null==J){var m=0;
for(d=Array(288);144>m;)d[m++]=8;
for(;256>m;)d[m++]=9;
for(;280>m;)d[m++]=7;
for(;288>m;)d[m++]=8;K=7;m=
new I(d,288,257,S,T,K);
if(0!=m.status)
throw Error(
"HufBuild error: "+m.status,
"rawinflate.js");J=m.root;K=m.m;
for(m=0;30>m;++m)d[m]=5;L=5;m=
new I(d,
10 30,0,U,V,L);
if(1<m.status)
throw J=null,Error(
"HufBuild error: "+m.status,
"rawinflate.js");Q=m.root;L=m.m}v=J;N=Q;w=K;A=L;a=M(a,r,e)}
break;
case 2:a=null!=v?M(k,t+b,g-b):aa(k,t+b,g-b);
break;
default:a=-1}
if(-1==a)
return H?0:-1;b+=a}
return b};u.ZIP={};u.ZIP.inflate=
function(k,c){x||(x=Array(65536));E=G=n=0;z=-1;H=!1;q=F=0;v=null;O=k;R=k.byteLength;
for(var g=P=0;0<(k=ba(c,g,Math.min(1024,c.byteLength-g)));)g+=k;O=null;
return g};u.LZ4={};u.LZ4.uncompress=
function(c,f,g,b){g=g||0;b=b||c.length-g;
for(var a=
11 0;g<b;){var k=c[g++],e=k>>4;
if(0<e){
for(var d=e+240;255===d;)d=c[g++],e+=d;
for(d=g+e;g<d;)f[a++]=c[g++];if(g===b)break}e=c[g++]|c[g++]<<8;if(0===e||e>a)
return-(g-2);k&=15;
for(d=k+240;255===d;)d=c[g++],k+=d;e=a-e;
for(d=a+k+4;a<d;)f[a++]=f[e++]}
return a};
return u});