sixel
Version:
Sixel image format for node and browser.
3 lines • 32.2 kB
JavaScript
/*! For license information please see encode.umd.js.LICENSE.txt */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.sixel=t():e.sixel=t()}(self,(()=>(()=>{var e={277:e=>{var t,r,n;e.exports=UPNG={},UPNG.toRGBA8=function(e){var t=e.width,r=e.height;if(null==e.tabs.acTL)return[UPNG.toRGBA8.decodeImage(e.data,t,r,e).buffer];var n=[];null==e.frames[0].data&&(e.frames[0].data=e.data);for(var i=t*r*4,o=new Uint8Array(i),a=new Uint8Array(i),f=new Uint8Array(i),l=0;l<e.frames.length;l++){var s=e.frames[l],u=s.rect.x,c=s.rect.y,h=s.rect.width,d=s.rect.height,p=UPNG.toRGBA8.decodeImage(s.data,h,d,e);if(0!=l)for(var g=0;g<i;g++)f[g]=o[g];if(0==s.blend?UPNG._copyTile(p,h,d,o,t,r,u,c,0):1==s.blend&&UPNG._copyTile(p,h,d,o,t,r,u,c,1),n.push(o.buffer.slice(0)),0==s.dispose);else if(1==s.dispose)UPNG._copyTile(a,h,d,o,t,r,u,c,0);else if(2==s.dispose)for(g=0;g<i;g++)o[g]=f[g]}return n},UPNG.toRGBA8.decodeImage=function(e,t,r,n){var i=t*r,o=UPNG.decode._getBPP(n),a=Math.ceil(t*o/8),f=new Uint8Array(4*i),l=new Uint32Array(f.buffer),s=n.ctype,u=n.depth,c=UPNG._bin.readUshort;if(Date.now(),6==s){var h=i<<2;if(8==u)for(var d=0;d<h;d+=4)f[d]=e[d],f[d+1]=e[d+1],f[d+2]=e[d+2],f[d+3]=e[d+3];if(16==u)for(d=0;d<h;d++)f[d]=e[d<<1]}else if(2==s){var p=n.tabs.tRNS;if(null==p){if(8==u)for(d=0;d<i;d++){var g=3*d;l[d]=255<<24|e[g+2]<<16|e[g+1]<<8|e[g]}if(16==u)for(d=0;d<i;d++)g=6*d,l[d]=255<<24|e[g+4]<<16|e[g+2]<<8|e[g]}else{var U=p[0],v=p[1],b=p[2];if(8==u)for(d=0;d<i;d++){var N=d<<2;g=3*d,l[d]=255<<24|e[g+2]<<16|e[g+1]<<8|e[g],e[g]==U&&e[g+1]==v&&e[g+2]==b&&(f[N+3]=0)}if(16==u)for(d=0;d<i;d++)N=d<<2,g=6*d,l[d]=255<<24|e[g+4]<<16|e[g+2]<<8|e[g],c(e,g)==U&&c(e,g+2)==v&&c(e,g+4)==b&&(f[N+3]=0)}}else if(3==s){var P=n.tabs.PLTE,w=n.tabs.tRNS,y=w?w.length:0;if(1==u)for(var G=0;G<r;G++){var m=G*a,A=G*t;for(d=0;d<t;d++){N=A+d<<2;var _=3*(x=e[m+(d>>3)]>>7-((7&d)<<0)&1);f[N]=P[_],f[N+1]=P[_+1],f[N+2]=P[_+2],f[N+3]=x<y?w[x]:255}}if(2==u)for(G=0;G<r;G++)for(m=G*a,A=G*t,d=0;d<t;d++)N=A+d<<2,_=3*(x=e[m+(d>>2)]>>6-((3&d)<<1)&3),f[N]=P[_],f[N+1]=P[_+1],f[N+2]=P[_+2],f[N+3]=x<y?w[x]:255;if(4==u)for(G=0;G<r;G++)for(m=G*a,A=G*t,d=0;d<t;d++)N=A+d<<2,_=3*(x=e[m+(d>>1)]>>4-((1&d)<<2)&15),f[N]=P[_],f[N+1]=P[_+1],f[N+2]=P[_+2],f[N+3]=x<y?w[x]:255;if(8==u)for(d=0;d<i;d++){var x;N=d<<2,_=3*(x=e[d]),f[N]=P[_],f[N+1]=P[_+1],f[N+2]=P[_+2],f[N+3]=x<y?w[x]:255}}else if(4==s){if(8==u)for(d=0;d<i;d++){N=d<<2;var I=e[T=d<<1];f[N]=I,f[N+1]=I,f[N+2]=I,f[N+3]=e[T+1]}if(16==u)for(d=0;d<i;d++){var T;N=d<<2,I=e[T=d<<2],f[N]=I,f[N+1]=I,f[N+2]=I,f[N+3]=e[T+2]}}else if(0==s)for(U=n.tabs.tRNS?n.tabs.tRNS:-1,G=0;G<r;G++){var M=G*a,H=G*t;if(1==u)for(var R=0;R<t;R++){var q=(I=255*(e[M+(R>>>3)]>>>7-(7&R)&1))==255*U?0:255;l[H+R]=q<<24|I<<16|I<<8|I}else if(2==u)for(R=0;R<t;R++)q=(I=85*(e[M+(R>>>2)]>>>6-((3&R)<<1)&3))==85*U?0:255,l[H+R]=q<<24|I<<16|I<<8|I;else if(4==u)for(R=0;R<t;R++)q=(I=17*(e[M+(R>>>1)]>>>4-((1&R)<<2)&15))==17*U?0:255,l[H+R]=q<<24|I<<16|I<<8|I;else if(8==u)for(R=0;R<t;R++)q=(I=e[M+R])==U?0:255,l[H+R]=q<<24|I<<16|I<<8|I;else if(16==u)for(R=0;R<t;R++)I=e[M+(R<<1)],q=c(e,M+(R<<d))==U?0:255,l[H+R]=q<<24|I<<16|I<<8|I}return f},UPNG.decode=function(e){for(var t,r=new Uint8Array(e),n=8,i=UPNG._bin,o=i.readUshort,a=i.readUint,f={tabs:{},frames:[]},l=new Uint8Array(r.length),s=0,u=0,c=[137,80,78,71,13,10,26,10],h=0;h<8;h++)if(r[h]!=c[h])throw"The input is not a PNG file!";for(;n<r.length;){var d=i.readUint(r,n);n+=4;var p=i.readASCII(r,n,4);if(n+=4,"IHDR"==p)UPNG.decode._IHDR(r,n,f);else if("CgBI"==p)f.tabs[p]=r.slice(n,n+4);else if("IDAT"==p){for(h=0;h<d;h++)l[s+h]=r[n+h];s+=d}else if("acTL"==p)f.tabs[p]={num_frames:a(r,n),num_plays:a(r,n+4)},t=new Uint8Array(r.length);else if("fcTL"==p){var g;0!=u&&((g=f.frames[f.frames.length-1]).data=UPNG.decode._decompress(f,t.slice(0,u),g.rect.width,g.rect.height),u=0);var U={x:a(r,n+12),y:a(r,n+16),width:a(r,n+4),height:a(r,n+8)},v=o(r,n+22);v=o(r,n+20)/(0==v?100:v);var b={rect:U,delay:Math.round(1e3*v),dispose:r[n+24],blend:r[n+25]};f.frames.push(b)}else if("fdAT"==p){for(h=0;h<d-4;h++)t[u+h]=r[n+h+4];u+=d-4}else if("pHYs"==p)f.tabs[p]=[i.readUint(r,n),i.readUint(r,n+4),r[n+8]];else if("cHRM"==p)for(f.tabs[p]=[],h=0;h<8;h++)f.tabs[p].push(i.readUint(r,n+4*h));else if("tEXt"==p||"zTXt"==p){null==f.tabs[p]&&(f.tabs[p]={});var N=i.nextZero(r,n),P=i.readASCII(r,n,N-n),w=n+d-N-1;if("tEXt"==p)m=i.readASCII(r,N+1,w);else{var y=UPNG.decode._inflate(r.slice(N+2,N+2+w));m=i.readUTF8(y,0,y.length)}f.tabs[p][P]=m}else if("iTXt"==p){null==f.tabs[p]&&(f.tabs[p]={}),N=0;var G=n;N=i.nextZero(r,G),P=i.readASCII(r,G,N-G);var m,A=r[G=N+1];r[G+1],G+=2,N=i.nextZero(r,G),i.readASCII(r,G,N-G),G=N+1,N=i.nextZero(r,G),i.readUTF8(r,G,N-G),w=d-((G=N+1)-n),0==A?m=i.readUTF8(r,G,w):(y=UPNG.decode._inflate(r.slice(G,G+w)),m=i.readUTF8(y,0,y.length)),f.tabs[p][P]=m}else if("PLTE"==p)f.tabs[p]=i.readBytes(r,n,d);else if("hIST"==p){var _=f.tabs.PLTE.length/3;for(f.tabs[p]=[],h=0;h<_;h++)f.tabs[p].push(o(r,n+2*h))}else if("tRNS"==p)3==f.ctype?f.tabs[p]=i.readBytes(r,n,d):0==f.ctype?f.tabs[p]=o(r,n):2==f.ctype&&(f.tabs[p]=[o(r,n),o(r,n+2),o(r,n+4)]);else if("gAMA"==p)f.tabs[p]=i.readUint(r,n)/1e5;else if("sRGB"==p)f.tabs[p]=r[n];else if("bKGD"==p)0==f.ctype||4==f.ctype?f.tabs[p]=[o(r,n)]:2==f.ctype||6==f.ctype?f.tabs[p]=[o(r,n),o(r,n+2),o(r,n+4)]:3==f.ctype&&(f.tabs[p]=r[n]);else if("IEND"==p)break;n+=d,i.readUint(r,n),n+=4}return 0!=u&&((g=f.frames[f.frames.length-1]).data=UPNG.decode._decompress(f,t.slice(0,u),g.rect.width,g.rect.height),u=0),f.data=UPNG.decode._decompress(f,l,f.width,f.height),delete f.compress,delete f.interlace,delete f.filter,f},UPNG.decode._decompress=function(e,t,r,n){Date.now();var i=UPNG.decode._getBPP(e),o=Math.ceil(r*i/8),a=new Uint8Array((o+1+e.interlace)*n);return t=e.tabs.CgBI?UPNG.inflateRaw(t,a):UPNG.decode._inflate(t,a),Date.now(),0==e.interlace?t=UPNG.decode._filterZero(t,e,0,r,n):1==e.interlace&&(t=UPNG.decode._readInterlace(t,e)),t},UPNG.decode._inflate=function(e,t){return UPNG.inflateRaw(new Uint8Array(e.buffer,2,e.length-6),t)},UPNG.inflateRaw=((n={}).H={},n.H.N=function(e,t){var r,i,o=Uint8Array,a=0,f=0,l=0,s=0,u=0,c=0,h=0,d=0,p=0;if(3==e[0]&&0==e[1])return t||new o(0);var g=n.H,U=g.b,v=g.e,b=g.R,N=g.n,P=g.A,w=g.Z,y=g.m,G=null==t;for(G&&(t=new o(e.length>>>2<<3));0==a;)if(a=U(e,p,1),f=U(e,p+1,2),p+=3,0!=f){if(G&&(t=n.H.W(t,d+(1<<17))),1==f&&(r=y.J,i=y.h,c=511,h=31),2==f){l=v(e,p,5)+257,s=v(e,p+5,5)+1,u=v(e,p+10,4)+4,p+=14;for(var m=1,A=0;A<38;A+=2)y.Q[A]=0,y.Q[A+1]=0;for(A=0;A<u;A++){var _=v(e,p+3*A,3);y.Q[1+(y.X[A]<<1)]=_,_>m&&(m=_)}p+=3*u,N(y.Q,m),P(y.Q,m,y.u),r=y.w,i=y.d,p=b(y.u,(1<<m)-1,l+s,e,p,y.v);var x=g.V(y.v,0,l,y.C);c=(1<<x)-1;var I=g.V(y.v,l,s,y.D);h=(1<<I)-1,N(y.C,x),P(y.C,x,r),N(y.D,I),P(y.D,I,i)}for(;;){var T=r[w(e,p)&c];p+=15&T;var M=T>>>4;if(M>>>8==0)t[d++]=M;else{if(256==M)break;var H=d+M-254;if(M>264){var R=y.q[M-257];H=d+(R>>>3)+v(e,p,7&R),p+=7&R}var q=i[w(e,p)&h];p+=15&q;var E=q>>>4,z=y.c[E],D=(z>>>4)+U(e,p,15&z);for(p+=15&z;d<H;)t[d]=t[d++-D],t[d]=t[d++-D],t[d]=t[d++-D],t[d]=t[d++-D];d=H}}}else{0!=(7&p)&&(p+=8-(7&p));var S=4+(p>>>3),B=e[S-4]|e[S-3]<<8;G&&(t=n.H.W(t,d+B)),t.set(new o(e.buffer,e.byteOffset+S,B),d),p=S+B<<3,d+=B}return t.length==d?t:t.slice(0,d)},n.H.W=function(e,t){var r=e.length;if(t<=r)return e;var n=new Uint8Array(r<<1);return n.set(e,0),n},n.H.R=function(e,t,r,i,o,a){for(var f=n.H.e,l=n.H.Z,s=0;s<r;){var u=e[l(i,o)&t];o+=15&u;var c=u>>>4;if(c<=15)a[s]=c,s++;else{var h=0,d=0;16==c?(d=3+f(i,o,2),o+=2,h=a[s-1]):17==c?(d=3+f(i,o,3),o+=3):18==c&&(d=11+f(i,o,7),o+=7);for(var p=s+d;s<p;)a[s]=h,s++}}return o},n.H.V=function(e,t,r,n){for(var i=0,o=0,a=n.length>>>1;o<r;){var f=e[o+t];n[o<<1]=0,n[1+(o<<1)]=f,f>i&&(i=f),o++}for(;o<a;)n[o<<1]=0,n[1+(o<<1)]=0,o++;return i},n.H.n=function(e,t){for(var r,i,o,a,f=n.H.m,l=e.length,s=f.j,u=0;u<=t;u++)s[u]=0;for(u=1;u<l;u+=2)s[e[u]]++;var c=f.K;for(r=0,s[0]=0,i=1;i<=t;i++)r=r+s[i-1]<<1,c[i]=r;for(o=0;o<l;o+=2)0!=(a=e[o+1])&&(e[o]=c[a],c[a]++)},n.H.A=function(e,t,r){for(var i=e.length,o=n.H.m.r,a=0;a<i;a+=2)if(0!=e[a+1])for(var f=a>>1,l=e[a+1],s=f<<4|l,u=t-l,c=e[a]<<u,h=c+(1<<u);c!=h;)r[o[c]>>>15-t]=s,c++},n.H.l=function(e,t){for(var r=n.H.m.r,i=15-t,o=0;o<e.length;o+=2){var a=e[o]<<t-e[o+1];e[o]=r[a]>>>i}},n.H.M=function(e,t,r){r<<=7&t;var n=t>>>3;e[n]|=r,e[n+1]|=r>>>8},n.H.I=function(e,t,r){r<<=7&t;var n=t>>>3;e[n]|=r,e[n+1]|=r>>>8,e[n+2]|=r>>>16},n.H.e=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},n.H.b=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},n.H.Z=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},n.H.i=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},n.H.m=(t=Uint16Array,r=Uint32Array,{K:new t(16),j:new t(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],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,999,999,999],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,0,0,0],q:new t(32),p:[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,65535,65535],z:[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,0,0],c:new r(32),J:new t(512),_:[],h:new t(32),$:[],w:new t(32768),C:[],v:[],d:new t(32768),D:[],u:new t(512),Q:[],r:new t(32768),s:new r(286),Y:new r(30),a:new r(19),t:new r(15e3),k:new t(65536),g:new t(32768)}),function(){for(var e=n.H.m,t=0;t<32768;t++){var r=t;r=(4278255360&(r=(4042322160&(r=(3435973836&(r=(2863311530&r)>>>1|(1431655765&r)<<1))>>>2|(858993459&r)<<2))>>>4|(252645135&r)<<4))>>>8|(16711935&r)<<8,e.r[t]=(r>>>16|r<<16)>>>17}function i(e,t,r){for(;0!=t--;)e.push(0,r)}for(t=0;t<32;t++)e.q[t]=e.S[t]<<3|e.T[t],e.c[t]=e.p[t]<<4|e.z[t];i(e._,144,8),i(e._,112,9),i(e._,24,7),i(e._,8,8),n.H.n(e._,9),n.H.A(e._,9,e.J),n.H.l(e._,9),i(e.$,32,5),n.H.n(e.$,5),n.H.A(e.$,5,e.h),n.H.l(e.$,5),i(e.Q,19,0),i(e.C,286,0),i(e.D,30,0),i(e.v,320,0)}(),n.H.N),UPNG.decode._readInterlace=function(e,t){for(var r=t.width,n=t.height,i=UPNG.decode._getBPP(t),o=i>>3,a=Math.ceil(r*i/8),f=new Uint8Array(n*a),l=0,s=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],c=[8,8,8,4,4,2,2],h=[8,8,4,4,2,2,1],d=0;d<7;){for(var p=c[d],g=h[d],U=0,v=0,b=s[d];b<n;)b+=p,v++;for(var N=u[d];N<r;)N+=g,U++;var P=Math.ceil(U*i/8);UPNG.decode._filterZero(e,t,l,U,v);for(var w=0,y=s[d];y<n;){for(var G=u[d],m=l+w*P<<3;G<r;){var A;if(1==i&&(A=(A=e[m>>3])>>7-(7&m)&1,f[y*a+(G>>3)]|=A<<7-((7&G)<<0)),2==i&&(A=(A=e[m>>3])>>6-(7&m)&3,f[y*a+(G>>2)]|=A<<6-((3&G)<<1)),4==i&&(A=(A=e[m>>3])>>4-(7&m)&15,f[y*a+(G>>1)]|=A<<4-((1&G)<<2)),i>=8)for(var _=y*a+G*o,x=0;x<o;x++)f[_+x]=e[(m>>3)+x];m+=i,G+=g}w++,y+=p}U*v!=0&&(l+=v*(1+P)),d+=1}return f},UPNG.decode._getBPP=function(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth},UPNG.decode._filterZero=function(e,t,r,n,i){var o=UPNG.decode._getBPP(t),a=Math.ceil(n*o/8),f=UPNG.decode._paeth;o=Math.ceil(o/8);var l=0,s=1,u=e[r],c=0;if(u>1&&(e[r]=[0,0,1][u-2]),3==u)for(c=o;c<a;c++)e[c+1]=e[c+1]+(e[c+1-o]>>>1)&255;for(var h=0;h<i;h++)if(c=0,0==(u=e[(s=(l=r+h*a)+h+1)-1]))for(;c<a;c++)e[l+c]=e[s+c];else if(1==u){for(;c<o;c++)e[l+c]=e[s+c];for(;c<a;c++)e[l+c]=e[s+c]+e[l+c-o]}else if(2==u)for(;c<a;c++)e[l+c]=e[s+c]+e[l+c-a];else if(3==u){for(;c<o;c++)e[l+c]=e[s+c]+(e[l+c-a]>>>1);for(;c<a;c++)e[l+c]=e[s+c]+(e[l+c-a]+e[l+c-o]>>>1)}else{for(;c<o;c++)e[l+c]=e[s+c]+f(0,e[l+c-a],0);for(;c<a;c++)e[l+c]=e[s+c]+f(e[l+c-o],e[l+c-a],e[l+c-o-a])}return e},UPNG.decode._paeth=function(e,t,r){var n=e+t-r,i=n-e,o=n-t,a=n-r;return i*i<=o*o&&i*i<=a*a?e:o*o<=a*a?t:r},UPNG.decode._IHDR=function(e,t,r){var n=UPNG._bin;r.width=n.readUint(e,t),t+=4,r.height=n.readUint(e,t),t+=4,r.depth=e[t],t++,r.ctype=e[t],t++,r.compress=e[t],t++,r.filter=e[t],t++,r.interlace=e[t],t++},UPNG._bin={nextZero:function(e,t){for(;0!=e[t];)t++;return t},readUshort:function(e,t){return e[t]<<8|e[t+1]},writeUshort:function(e,t,r){e[t]=r>>8&255,e[t+1]=255&r},readUint:function(e,t){return 16777216*e[t]+(e[t+1]<<16|e[t+2]<<8|e[t+3])},writeUint:function(e,t,r){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r},readASCII:function(e,t,r){for(var n="",i=0;i<r;i++)n+=String.fromCharCode(e[t+i]);return n},writeASCII:function(e,t,r){for(var n=0;n<r.length;n++)e[t+n]=r.charCodeAt(n)},readBytes:function(e,t,r){for(var n=[],i=0;i<r;i++)n.push(e[t+i]);return n},pad:function(e){return e.length<2?"0"+e:e},readUTF8:function(e,t,r){for(var n,i="",o=0;o<r;o++)i+="%"+UPNG._bin.pad(e[t+o].toString(16));try{n=decodeURIComponent(i)}catch(n){return UPNG._bin.readASCII(e,t,r)}return n}},UPNG._copyTile=function(e,t,r,n,i,o,a,f,l){for(var s=Math.min(t,i),u=Math.min(r,o),c=0,h=0,d=0;d<u;d++)for(var p=0;p<s;p++)if(a>=0&&f>=0?(c=d*t+p<<2,h=(f+d)*i+a+p<<2):(c=(-f+d)*t-a+p<<2,h=d*i+p<<2),0==l)n[h]=e[c],n[h+1]=e[c+1],n[h+2]=e[c+2],n[h+3]=e[c+3];else if(1==l){var g=e[c+3]*(1/255),U=e[c]*g,v=e[c+1]*g,b=e[c+2]*g,N=n[h+3]*(1/255),P=n[h]*N,w=n[h+1]*N,y=n[h+2]*N,G=1-g,m=g+N*G,A=0==m?0:1/m;n[h+3]=255*m,n[h+0]=(U+P*G)*A,n[h+1]=(v+w*G)*A,n[h+2]=(b+y*G)*A}else if(2==l)g=e[c+3],U=e[c],v=e[c+1],b=e[c+2],N=n[h+3],P=n[h],w=n[h+1],y=n[h+2],g==N&&U==P&&v==w&&b==y?(n[h]=0,n[h+1]=0,n[h+2]=0,n[h+3]=0):(n[h]=U,n[h+1]=v,n[h+2]=b,n[h+3]=g);else if(3==l){if(g=e[c+3],U=e[c],v=e[c+1],b=e[c+2],N=n[h+3],P=n[h],w=n[h+1],y=n[h+2],g==N&&U==P&&v==w&&b==y)continue;if(g<220&&N>20)return!1}return!0},UPNG.encode=function(e,t,r,n,i,o,a){null==n&&(n=0),null==a&&(a=!1);var f=UPNG.encode.compress(e,t,r,n,[!1,!1,!1,0,a]);return UPNG.encode.compressPNG(f,-1),UPNG.encode._main(f,t,r,i,o)},UPNG.encodeLL=function(e,t,r,n,i,o,a,f){for(var l={ctype:0+(1==n?0:2)+(0==i?0:4),depth:o,frames:[]},s=(Date.now(),(n+i)*o),u=s*t,c=0;c<e.length;c++)l.frames.push({rect:{x:0,y:0,width:t,height:r},img:new Uint8Array(e[c]),blend:0,dispose:1,bpp:Math.ceil(s/8),bpl:Math.ceil(u/8)});return UPNG.encode.compressPNG(l,0,!0),UPNG.encode._main(l,t,r,a,f)},UPNG.encode._main=function(e,t,r,n,i){null==i&&(i={});var o=UPNG.crc.crc,a=UPNG._bin.writeUint,f=UPNG._bin.writeUshort,l=UPNG._bin.writeASCII,s=8,u=e.frames.length>1,c=!1,h=33+(u?20:0);if(null!=i.sRGB&&(h+=13),null!=i.pHYs&&(h+=21),3==e.ctype){for(var d=e.plte.length,p=0;p<d;p++)e.plte[p]>>>24!=255&&(c=!0);h+=8+3*d+4+(c?8+1*d+4:0)}for(var g=0;g<e.frames.length;g++)u&&(h+=38),h+=(m=e.frames[g]).cimg.length+12,0!=g&&(h+=4);h+=12;var U=new Uint8Array(h),v=[137,80,78,71,13,10,26,10];for(p=0;p<8;p++)U[p]=v[p];if(a(U,s,13),l(U,s+=4,"IHDR"),a(U,s+=4,t),a(U,s+=4,r),U[s+=4]=e.depth,U[++s]=e.ctype,U[++s]=0,U[++s]=0,U[++s]=0,a(U,++s,o(U,s-17,17)),s+=4,null!=i.sRGB&&(a(U,s,1),l(U,s+=4,"sRGB"),U[s+=4]=i.sRGB,a(U,++s,o(U,s-5,5)),s+=4),null!=i.pHYs&&(a(U,s,9),l(U,s+=4,"pHYs"),a(U,s+=4,i.pHYs[0]),a(U,s+=4,i.pHYs[1]),U[s+=4]=i.pHYs[2],a(U,++s,o(U,s-13,13)),s+=4),u&&(a(U,s,8),l(U,s+=4,"acTL"),a(U,s+=4,e.frames.length),a(U,s+=4,null!=i.loop?i.loop:0),a(U,s+=4,o(U,s-12,12)),s+=4),3==e.ctype){for(a(U,s,3*(d=e.plte.length)),l(U,s+=4,"PLTE"),s+=4,p=0;p<d;p++){var b=3*p,N=e.plte[p],P=255&N,w=N>>>8&255,y=N>>>16&255;U[s+b+0]=P,U[s+b+1]=w,U[s+b+2]=y}if(a(U,s+=3*d,o(U,s-3*d-4,3*d+4)),s+=4,c){for(a(U,s,d),l(U,s+=4,"tRNS"),s+=4,p=0;p<d;p++)U[s+p]=e.plte[p]>>>24&255;a(U,s+=d,o(U,s-d-4,d+4)),s+=4}}var G=0;for(g=0;g<e.frames.length;g++){var m=e.frames[g];u&&(a(U,s,26),l(U,s+=4,"fcTL"),a(U,s+=4,G++),a(U,s+=4,m.rect.width),a(U,s+=4,m.rect.height),a(U,s+=4,m.rect.x),a(U,s+=4,m.rect.y),f(U,s+=4,n[g]),f(U,s+=2,1e3),U[s+=2]=m.dispose,U[++s]=m.blend,a(U,++s,o(U,s-30,30)),s+=4);var A=m.cimg;a(U,s,(d=A.length)+(0==g?0:4));var _=s+=4;l(U,s,0==g?"IDAT":"fdAT"),s+=4,0!=g&&(a(U,s,G++),s+=4),U.set(A,s),a(U,s+=d,o(U,_,s-_)),s+=4}return a(U,s,0),l(U,s+=4,"IEND"),a(U,s+=4,o(U,s-4,4)),s+=4,U.buffer},UPNG.encode.compressPNG=function(e,t,r){for(var n=0;n<e.frames.length;n++){var i=e.frames[n],o=(i.rect.width,i.rect.height),a=new Uint8Array(o*i.bpl+o);i.cimg=UPNG.encode._filterZero(i.img,o,i.bpp,i.bpl,a,t,r)}},UPNG.encode.compress=function(e,t,r,n,i){for(var o=i[0],a=i[1],f=i[2],l=i[3],s=i[4],u=6,c=8,h=255,d=0;d<e.length;d++)for(var p=new Uint8Array(e[d]),g=p.length,U=0;U<g;U+=4)h&=p[U+3];var v=255!=h,b=UPNG.encode.framize(e,t,r,o,a,f),N={},P=[],w=[];if(0!=n){var y=[];for(U=0;U<b.length;U++)y.push(b[U].img.buffer);var G=UPNG.encode.concatRGBA(y),m=UPNG.quantize(G,n);console.log(m);var A=0,_=new Uint8Array(m.abuf);for(U=0;U<b.length;U++){var x=(O=b[U].img).length;for(w.push(new Uint8Array(m.inds.buffer,A>>2,x>>2)),d=0;d<x;d+=4)O[d]=_[A+d],O[d+1]=_[A+d+1],O[d+2]=_[A+d+2],O[d+3]=_[A+d+3];A+=x}for(U=0;U<m.plte.length;U++)P.push(m.plte[U].est.rgba)}else for(d=0;d<b.length;d++){var I=b[d],T=new Uint32Array(I.img.buffer),M=I.rect.width,H=(g=T.length,new Uint8Array(g));for(w.push(H),U=0;U<g;U++){var R=T[U];if(0!=U&&R==T[U-1])H[U]=H[U-1];else if(U>M&&R==T[U-M])H[U]=H[U-M];else{var q=N[R];if(null==q&&(N[R]=q=P.length,P.push(R),P.length>=300))break;H[U]=q}}}var E=P.length;for(E<=256&&0==s&&(c=E<=2?1:E<=4?2:E<=16?4:8,c=Math.max(c,l)),d=0;d<b.length;d++){(I=b[d]).rect.x,I.rect.y,M=I.rect.width;var z=I.rect.height,D=I.img,S=(new Uint32Array(D.buffer),4*M),B=4;if(E<=256&&0==s){S=Math.ceil(c*M/8);for(var C=new Uint8Array(S*z),L=w[d],$=0;$<z;$++){U=$*S;var j=$*M;if(8==c)for(var Z=0;Z<M;Z++)C[U+Z]=L[j+Z];else if(4==c)for(Z=0;Z<M;Z++)C[U+(Z>>1)]|=L[j+Z]<<4-4*(1&Z);else if(2==c)for(Z=0;Z<M;Z++)C[U+(Z>>2)]|=L[j+Z]<<6-2*(3&Z);else if(1==c)for(Z=0;Z<M;Z++)C[U+(Z>>3)]|=L[j+Z]<<7-1*(7&Z)}D=C,u=3,B=1}else if(0==v&&1==b.length){C=new Uint8Array(M*z*3);var F=M*z;for(U=0;U<F;U++){var O,X=4*U;C[O=3*U]=D[X],C[O+1]=D[X+1],C[O+2]=D[X+2]}D=C,u=2,B=3,S=3*M}I.img=D,I.bpl=S,I.bpp=B}return{ctype:u,depth:c,plte:P,frames:b}},UPNG.encode.framize=function(e,t,r,n,i,o){for(var a=[],f=0;f<e.length;f++){var l,s=new Uint8Array(e[f]),u=new Uint32Array(s.buffer),c=0,h=0,d=t,p=r,g=n?1:0;if(0!=f){for(var U=o||n||1==f||0!=a[f-2].dispose?1:2,v=0,b=1e9,N=0;N<U;N++){for(var P=new Uint8Array(e[f-1-N]),w=new Uint32Array(e[f-1-N]),y=t,G=r,m=-1,A=-1,_=0;_<r;_++)for(var x=0;x<t;x++)u[E=_*t+x]!=w[E]&&(x<y&&(y=x),x>m&&(m=x),_<G&&(G=_),_>A&&(A=_));-1==m&&(y=G=m=A=0),i&&(1==(1&y)&&y--,1==(1&G)&&G--);var I=(m-y+1)*(A-G+1);I<b&&(b=I,v=N,c=y,h=G,d=m-y+1,p=A-G+1)}P=new Uint8Array(e[f-1-v]),1==v&&(a[f-1].dispose=2),l=new Uint8Array(d*p*4),UPNG._copyTile(P,t,r,l,d,p,-c,-h,0),1==(g=UPNG._copyTile(s,t,r,l,d,p,-c,-h,3)?1:0)?UPNG.encode._prepareDiff(s,t,r,l,{x:c,y:h,width:d,height:p}):UPNG._copyTile(s,t,r,l,d,p,-c,-h,0)}else l=s.slice(0);a.push({rect:{x:c,y:h,width:d,height:p},img:l,blend:g,dispose:0})}if(n)for(f=0;f<a.length;f++)if(1!=(z=a[f]).blend){var T=z.rect,M=a[f-1].rect,H=Math.min(T.x,M.x),R=Math.min(T.y,M.y),q={x:H,y:R,width:Math.max(T.x+T.width,M.x+M.width)-H,height:Math.max(T.y+T.height,M.y+M.height)-R};a[f-1].dispose=1,f-1!=0&&UPNG.encode._updateFrame(e,t,r,a,f-1,q,i),UPNG.encode._updateFrame(e,t,r,a,f,q,i)}if(1!=e.length)for(var E=0;E<a.length;E++){var z;(z=a[E]).rect.width,z.rect.height}return a},UPNG.encode._updateFrame=function(e,t,r,n,i,o,a){for(var f=Uint8Array,l=Uint32Array,s=new f(e[i-1]),u=new l(e[i-1]),c=i+1<e.length?new f(e[i+1]):null,h=new f(e[i]),d=new l(h.buffer),p=t,g=r,U=-1,v=-1,b=0;b<o.height;b++)for(var N=0;N<o.width;N++){var P=o.x+N,w=o.y+b,y=w*t+P,G=d[y];0==G||0==n[i-1].dispose&&u[y]==G&&(null==c||0!=c[4*y+3])||(P<p&&(p=P),P>U&&(U=P),w<g&&(g=w),w>v&&(v=w))}-1==U&&(p=g=U=v=0),a&&(1==(1&p)&&p--,1==(1&g)&&g--),o={x:p,y:g,width:U-p+1,height:v-g+1};var m=n[i];m.rect=o,m.blend=1,m.img=new Uint8Array(o.width*o.height*4),0==n[i-1].dispose?(UPNG._copyTile(s,t,r,m.img,o.width,o.height,-o.x,-o.y,0),UPNG.encode._prepareDiff(h,t,r,m.img,o)):UPNG._copyTile(h,t,r,m.img,o.width,o.height,-o.x,-o.y,0)},UPNG.encode._prepareDiff=function(e,t,r,n,i){UPNG._copyTile(e,t,r,n,i.width,i.height,-i.x,-i.y,2)},UPNG.encode._filterZero=function(e,t,r,n,i,o,a){var f,l=[],s=[0,1,2,3,4];-1!=o?s=[o]:(t*n>5e5||1==r)&&(s=[0]),a&&(f={level:0});for(var u=i.length>1e7&&null!=UZIP?UZIP:pako,c=(Date.now(),0);c<s.length;c++){for(var h=0;h<t;h++)UPNG.encode._filterLine(i,e,h,n,r,s[c]);l.push(u.deflate(i,f))}var d,p=1e9;for(c=0;c<l.length;c++)l[c].length<p&&(d=c,p=l[c].length);return l[d]},UPNG.encode._filterLine=function(e,t,r,n,i,o){var a=r*n,f=a+r,l=UPNG.decode._paeth;if(e[f]=o,f++,0==o)if(n<500)for(var s=0;s<n;s++)e[f+s]=t[a+s];else e.set(new Uint8Array(t.buffer,a,n),f);else if(1==o){for(s=0;s<i;s++)e[f+s]=t[a+s];for(s=i;s<n;s++)e[f+s]=t[a+s]-t[a+s-i]+256&255}else if(0==r){for(s=0;s<i;s++)e[f+s]=t[a+s];if(2==o)for(s=i;s<n;s++)e[f+s]=t[a+s];if(3==o)for(s=i;s<n;s++)e[f+s]=t[a+s]-(t[a+s-i]>>1)+256&255;if(4==o)for(s=i;s<n;s++)e[f+s]=t[a+s]-l(t[a+s-i],0,0)+256&255}else{if(2==o)for(s=0;s<n;s++)e[f+s]=t[a+s]+256-t[a+s-n]&255;if(3==o){for(s=0;s<i;s++)e[f+s]=t[a+s]+256-(t[a+s-n]>>1)&255;for(s=i;s<n;s++)e[f+s]=t[a+s]+256-(t[a+s-n]+t[a+s-i]>>1)&255}if(4==o){for(s=0;s<i;s++)e[f+s]=t[a+s]+256-l(0,t[a+s-n],0)&255;for(s=i;s<n;s++)e[f+s]=t[a+s]+256-l(t[a+s-i],t[a+s-n],t[a+s-i-n])&255}}},UPNG.crc={table:function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var r=t,n=0;n<8;n++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update:function(e,t,r,n){for(var i=0;i<n;i++)e=UPNG.crc.table[255&(e^t[r+i])]^e>>>8;return e},crc:function(e,t,r){return 4294967295^UPNG.crc.update(4294967295,e,t,r)}},UPNG.quantize=function(e,t){var r,n=new Uint8Array(e),i=n.slice(0),o=new Uint32Array(i.buffer),a=UPNG.quantize.getKDtree(i,t),f=a[0],l=a[1],s=UPNG.quantize.planeDst,u=n,c=o,h=u.length,d=new Uint8Array(n.length>>2);if(n.length<2e7)for(var p=0;p<h;p+=4){var g=u[p]*(1/255),U=u[p+1]*(1/255),v=u[p+2]*(1/255),b=u[p+3]*(1/255);r=UPNG.quantize.getNearest(f,g,U,v,b),d[p>>2]=r.ind,c[p>>2]=r.est.rgba}else for(p=0;p<h;p+=4){for(g=u[p]*(1/255),U=u[p+1]*(1/255),v=u[p+2]*(1/255),b=u[p+3]*(1/255),r=f;r.left;)r=s(r.est,g,U,v,b)<=0?r.left:r.right;d[p>>2]=r.ind,c[p>>2]=r.est.rgba}return{abuf:i.buffer,inds:d,plte:l}},UPNG.quantize.getKDtree=function(e,t,r){null==r&&(r=1e-4);var n=new Uint32Array(e.buffer),i={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};i.bst=UPNG.quantize.stats(e,i.i0,i.i1),i.est=UPNG.quantize.estats(i.bst);for(var o=[i];o.length<t;){for(var a=0,f=0,l=0;l<o.length;l++)o[l].est.L>a&&(a=o[l].est.L,f=l);if(a<r)break;var s=o[f],u=UPNG.quantize.splitPixels(e,n,s.i0,s.i1,s.est.e,s.est.eMq255);if(s.i0>=u||s.i1<=u)s.est.L=0;else{var c={i0:s.i0,i1:u,bst:null,est:null,tdst:0,left:null,right:null};c.bst=UPNG.quantize.stats(e,c.i0,c.i1),c.est=UPNG.quantize.estats(c.bst);var h={i0:u,i1:s.i1,bst:null,est:null,tdst:0,left:null,right:null};for(h.bst={R:[],m:[],N:s.bst.N-c.bst.N},l=0;l<16;l++)h.bst.R[l]=s.bst.R[l]-c.bst.R[l];for(l=0;l<4;l++)h.bst.m[l]=s.bst.m[l]-c.bst.m[l];h.est=UPNG.quantize.estats(h.bst),s.left=c,s.right=h,o[f]=c,o.push(h)}}for(o.sort((function(e,t){return t.bst.N-e.bst.N})),l=0;l<o.length;l++)o[l].ind=l;return[i,o]},UPNG.quantize.getNearest=function(e,t,r,n,i){if(null==e.left)return e.tdst=UPNG.quantize.dist(e.est.q,t,r,n,i),e;var o=UPNG.quantize.planeDst(e.est,t,r,n,i),a=e.left,f=e.right;o>0&&(a=e.right,f=e.left);var l=UPNG.quantize.getNearest(a,t,r,n,i);if(l.tdst<=o*o)return l;var s=UPNG.quantize.getNearest(f,t,r,n,i);return s.tdst<l.tdst?s:l},UPNG.quantize.planeDst=function(e,t,r,n,i){var o=e.e;return o[0]*t+o[1]*r+o[2]*n+o[3]*i-e.eMq},UPNG.quantize.dist=function(e,t,r,n,i){var o=t-e[0],a=r-e[1],f=n-e[2],l=i-e[3];return o*o+a*a+f*f+l*l},UPNG.quantize.splitPixels=function(e,t,r,n,i,o){var a=UPNG.quantize.vecDot;for(n-=4;r<n;){for(;a(e,r,i)<=o;)r+=4;for(;a(e,n,i)>o;)n-=4;if(r>=n)break;var f=t[r>>2];t[r>>2]=t[n>>2],t[n>>2]=f,r+=4,n-=4}for(;a(e,r,i)>o;)r-=4;return r+4},UPNG.quantize.vecDot=function(e,t,r){return e[t]*r[0]+e[t+1]*r[1]+e[t+2]*r[2]+e[t+3]*r[3]},UPNG.quantize.stats=function(e,t,r){for(var n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=[0,0,0,0],o=r-t>>2,a=t;a<r;a+=4){var f=e[a]*(1/255),l=e[a+1]*(1/255),s=e[a+2]*(1/255),u=e[a+3]*(1/255);i[0]+=f,i[1]+=l,i[2]+=s,i[3]+=u,n[0]+=f*f,n[1]+=f*l,n[2]+=f*s,n[3]+=f*u,n[5]+=l*l,n[6]+=l*s,n[7]+=l*u,n[10]+=s*s,n[11]+=s*u,n[15]+=u*u}return n[4]=n[1],n[8]=n[2],n[9]=n[6],n[12]=n[3],n[13]=n[7],n[14]=n[11],{R:n,m:i,N:o}},UPNG.quantize.estats=function(e){var t=e.R,r=e.m,n=e.N,i=r[0],o=r[1],a=r[2],f=r[3],l=0==n?0:1/n,s=[t[0]-i*i*l,t[1]-i*o*l,t[2]-i*a*l,t[3]-i*f*l,t[4]-o*i*l,t[5]-o*o*l,t[6]-o*a*l,t[7]-o*f*l,t[8]-a*i*l,t[9]-a*o*l,t[10]-a*a*l,t[11]-a*f*l,t[12]-f*i*l,t[13]-f*o*l,t[14]-f*a*l,t[15]-f*f*l],u=s,c=UPNG.M4,h=[.5,.5,.5,.5],d=0,p=0;if(0!=n)for(var g=0;g<16&&(h=c.multVec(u,h),p=Math.sqrt(c.dot(h,h)),h=c.sml(1/p,h),!(0!=g&&Math.abs(p-d)<1e-9));g++)d=p;var U=[i*l,o*l,a*l,f*l];return{Cov:s,q:U,e:h,L:d,eMq255:c.dot(c.sml(255,U),h),eMq:c.dot(h,U),rgba:(Math.round(255*U[3])<<24|Math.round(255*U[2])<<16|Math.round(255*U[1])<<8|Math.round(255*U[0])<<0)>>>0}},UPNG.M4={multVec:function(e,t){return[e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],e[4]*t[0]+e[5]*t[1]+e[6]*t[2]+e[7]*t[3],e[8]*t[0]+e[9]*t[1]+e[10]*t[2]+e[11]*t[3],e[12]*t[0]+e[13]*t[1]+e[14]*t[2]+e[15]*t[3]]},dot:function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},sml:function(e,t){return[e*t[0],e*t[1],e*t[2],e*t[3]]}},UPNG.encode.concatRGBA=function(e){for(var t=0,r=0;r<e.length;r++)t+=e[r].byteLength;var n=new Uint8Array(t),i=0;for(r=0;r<e.length;r++){for(var o=new Uint8Array(e[r]),a=o.length,f=0;f<a;f+=4){var l=o[f],s=o[f+1],u=o[f+2],c=o[f+3];0==c&&(l=s=u=0),n[i+f]=l,n[i+f+1]=s,n[i+f+2]=u,n[i+f+3]=c}i+=a}return n.buffer}}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function e(e){return 255&e}function t(e){return e>>>8&255}function i(e){return e>>>16&255}function o(e){return e>>>24&255}function a(e,t,r,n=255){return((255&n)<<24|(255&r)<<16|(255&t)<<8|255&e)>>>0}function f(e){return[255&e,e>>8&255,e>>16&255,e>>>24]}function l(r,n){const o=e(r),a=t(r),f=i(r);let l=Number.MAX_SAFE_INTEGER,s=-1;for(let e=0;e<n.length;++e){const t=o-n[e][0],r=a-n[e][1],i=f-n[e][2],u=t*t+r*r+i*i;if(!u)return e;u<l&&(l=u,s=e)}return s}function s(e,t,r){return(4278190080|Math.round(r/100*255)<<16|Math.round(t/100*255)<<8|Math.round(e/100*255))>>>0}r.r(n),r.d(n,{FINALIZER:()=>b,PALETTE_ANSI_256:()=>h,PALETTE_VT340_COLOR:()=>u,PALETTE_VT340_GREY:()=>c,fromRGBA8888:()=>f,image2sixel:()=>G,introducer:()=>v,sixelEncode:()=>w,toRGBA8888:()=>a}),255===new Uint8Array(new Uint32Array([4278190080]).buffer)[0]&&console.warn("BE platform detected. This version of node-sixel works only on LE properly.");const u=new Uint32Array([s(0,0,0),s(20,20,80),s(80,13,13),s(20,80,20),s(80,20,80),s(20,80,80),s(80,80,20),s(53,53,53),s(26,26,26),s(33,33,60),s(60,26,26),s(33,60,33),s(60,33,60),s(33,60,60),s(60,60,33),s(80,80,80)]),c=new Uint32Array([s(0,0,0),s(13,13,13),s(26,26,26),s(40,40,40),s(6,6,6),s(20,20,20),s(33,33,33),s(46,46,46),s(0,0,0),s(13,13,13),s(26,26,26),s(40,40,40),s(6,6,6),s(20,20,20),s(33,33,33),s(46,46,46)]),h=(()=>{const e=[a(0,0,0),a(205,0,0),a(0,205,0),a(205,205,0),a(0,0,238),a(205,0,205),a(0,250,205),a(229,229,229),a(127,127,127),a(255,0,0),a(0,255,0),a(255,255,0),a(92,92,255),a(255,0,255),a(0,255,255),a(255,255,255)],t=[0,95,135,175,215,255];for(let r=0;r<6;++r)for(let n=0;n<6;++n)for(let i=0;i<6;++i)e.push(a(t[r],t[n],t[i]));for(let t=8;t<=238;t+=10)e.push(a(t,t,t));return new Uint32Array(e)})(),d=(a(0,0,0,255),a(255,255,255,255),r(277).quantize);function p(e){return e>=255?255:e<0?0:e}function g(r,n,o,a){return((65280|p(i(r)+a))<<8|p(t(r)+o))<<8|p(e(r)+n)}class U{constructor(e,t=14,r=42){this.palette=e,this._boxes={},this._boxes2={};const n=t*t*3,i=r*r*3;for(let e=0;e<4096;++e){const t=e>>8,r=e>>4&15,o=15&e;this._nearestPoints(e,8+(t<<4),8+(r<<4),8+(o<<4),n,i)}}_nearestPoints(e,t,r,n,i,o){let a=Number.MAX_SAFE_INTEGER,f=-1;const l=[],s=[];for(let e=0;e<this.palette.length;++e){const u=this.palette[e],c=this._distance(t,r,n,u[0],u[1],u[2]);c<a&&(a=c,f=e),c<i?l.push(e):c<o&&s.push(e)}0===l.length&&l.push(f),this._boxes[e]=l,this._boxes2[e]=s}_distance(e,t,r,n,i,o){const a=e-n,f=t-i,l=r-o;return a*a+f*f+l*l}nearest(r){const n=e(r),o=t(r),a=i(r),f=n>>4<<8|o>>4<<4|a>>4,l=this._boxes[f];let s=Number.MAX_SAFE_INTEGER,u=-1;for(let e=0;e<l.length;++e){const t=this.palette[l[e]],r=this._distance(n,o,a,t[0],t[1],t[2]);if(!r)return l[e];r<s&&(s=r,u=l[e])}if(this._distance(n,o,a,8+(240&n),8+(240&o),8+(240&a))>192){const e=this._boxes2[f];for(let t=0;t<e.length;++t){const r=this.palette[e[t]],i=this._distance(n,o,a,r[0],r[1],r[2]);i<s&&(s=i,u=e[t])}}return u}}function v(e=0){return`P0;${e};q`}const b="\\";function N(e,t){const r=String.fromCharCode(e+63);return t>3?"!"+t+r:3===t?r+r+r:2===t?r+r:r}function P(e,t,r,n,i,a){const f=new Int8Array(a.length+1),s=new Uint8Array(a.length+1),u=new Uint16Array(a.length+1),c=new Int16Array(a.length+1);f.fill(-1),u.fill(1),c.fill(-1);const h=[],d=[];let p=0,g=0;for(let U=0;U<n;++U){const v=t+U;let b=0;s.fill(0,0,h.length);for(let t=0;t<r;++t){const r=e[v+b];r!==p&&(p=r,g=o(r)&&i.get(r)||0,void 0===g&&(g=l(r,a)+1,i.set(r,g)),-1===c[g]&&(d.push([]),U&&(f[h.length]=0,u[h.length]=U),c[g]=h.length,h.push(g))),s[c[g]]|=1<<t,b+=n}for(let e=0;e<h.length;++e)s[e]===f[e]?u[e]++:(~f[e]&&d[e].push(N(f[e],u[e])),f[e]=s[e],u[e]=1)}for(let e=0;e<h.length;++e)f[e]&&d[e].push(N(f[e],u[e]));const U=[];for(let e=0;e<h.length;++e)h[e]&&U.push("#"+(h[e]-1)+d[e].join("")+"$");return U.join("")}function w(e,t,r,n,i=!0){if(!e.length||!t||!r)return"";if(t*r*4!==e.length)throw new Error("wrong geometry of data");if(!n||!n.length)throw new Error("palette must not be empty");const l=[0],s=[];for(let e=0;e<n.length;++e){let t=n[e];if("number"==typeof t){if(!o(t))continue;t=a(...f(t))}else t=a(...t);~l.indexOf(t)||(l.push(t),s.push(f(t).slice(0,-1)))}const u=[];i&&u.push(`"1;1;${t};${r}`);for(let[e,[t,r,n]]of s.entries())u.push(`#${e};2;${Math.round(t/255*100)};${Math.round(r/255*100)};${Math.round(n/255*100)}`);const c=new Map(l.map(((e,t)=>[e,t]))),h=[],d=new Uint32Array(e.buffer);for(let e=0;e<r;e+=6)h.push(P(d,e*t,r-e>=6?6:r-e,t,c,s));return u.push(h.join("-\n")),u.join("")}function y(e,t,r,n,i,o,a,f){i.fill(-1),o.fill(0),a.fill(1),f.fill(-1);const l=[],s=[];for(let u=0;u<n;++u){const c=t+u;let h=0;o.fill(0,0,l.length);for(let t=0;t<r;++t){const r=e[c+h]+1;-1===f[r]&&(s.push([]),u&&(i[l.length]=0,a[l.length]=u),f[r]=l.length,l.push(r)),o[f[r]]|=1<<t,h+=n}for(let e=0;e<l.length;++e)o[e]===i[e]?a[e]++:(~i[e]&&s[e].push(N(i[e],a[e])),i[e]=o[e],a[e]=1)}for(let e=0;e<l.length;++e)i[e]&&s[e].push(N(i[e],a[e]));const u=[];for(let e=0;e<l.length;++e)l[e]&&u.push("#"+(l[e]-1)+s[e].join("")+"$");return u.join("")}function G(r,n,l,s=256,u=0){const{indices:c,palette:h}=function(r,n,o){const a=new Uint32Array(r.buffer),l=d.getKDtree(r.slice(),o)[1],s=l.map((e=>f(e.est.rgba))),u=new U(s),c=new Uint16Array(a.length),h=a.length;for(let r=0;r<h;++r){const o=a[r],f=e(o),s=t(o),h=i(o),d=u.nearest(o);c[r]=d;const p=l[d].est.rgba;let U=f-e(p)>>2,v=s-t(p)>>2,b=h-i(p)>>2;a[r+1]=g(a[r+1],U,v,b),a[r+n]=g(a[r+n],U,v,b),U>>=1,v>>=1,b>>=1,a[r+n-1]=g(a[r+n-1],U,v,b),a[r+n+1]=g(a[r+n+1],U,v,b)}return{indices:c,palette:l.map((e=>e.est.rgba))}}(r,n,s),p=function(e,t,r,n,i=!0){if(!e.length||!t||!r)return"";if(t*r!==e.length)throw new Error("wrong geometry of data");if(!n||!n.length)throw new Error("palette must not be empty");const l=[0],s=[];for(let e=0;e<n.length;++e){let t=n[e];if("number"==typeof t){if(!o(t))continue;t=a(...f(t))}else t=a(...t);~l.indexOf(t)||(l.push(t),s.push(f(t).slice(0,-1)))}const u=[];i&&u.push(`"1;1;${t};${r}`);for(let[e,[t,r,n]]of s.entries())u.push(`#${e};2;${Math.round(t/255*100)};${Math.round(r/255*100)};${Math.round(n/255*100)}`);const c=new Int8Array(s.length+1),h=new Uint8Array(s.length+1),d=new Uint16Array(s.length+1),p=new Int16Array(s.length+1),g=[];for(let n=0;n<r;n+=6)g.push(y(e,n*t,r-n>=6?6:r-n,t,c,h,d,p));return u.push(g.join("-\n")),u.join("")}(c,n,l,h);return[v(u),p,b].join("")}})(),n})()));
//# sourceMappingURL=encode.umd.js.map