/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.25/esri/copyright.txt for details. */ var e,n,r,o={exports:{}};e=o,n=function(){var e=function(){function e(e){this.message="JPEG error: "+e}return e.prototype=new Error,e.prototype.name="JpegError",e.constructor=e,e}();return function(){if(!self||!self.Uint8ClampedArray)return null;var n=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,o=799,a=3406,t=2276,i=1567,s=3784,c=5793,f=2896;function l(){this.decodeTransform=null,this.colorTransform=-1}function u(e,n){for(var r,o,a=0,t=[],i=16;i>0&&!e[i-1];)i--;t.push({children:[],index:0});var s,c=t[0];for(r=0;r0;)c=t.pop();for(c.index++,t.push(c);t.length<=r;)t.push(s={children:[],index:0}),c.children[c.index]=s.children,c=s;a++}r+10)return p--,d>>p&1;if(255===(d=r[o++])){var n=r[o++];if(n)throw new e("unexpected marker "+(d<<8|n).toString(16))}return p=7,d>>>7}function g(n){for(var r=n;;){if("number"==typeof(r=r[k()]))return r;if("object"!=typeof r)throw new e("invalid huffman sequence")}}function C(e){for(var n=0;e>0;)n=n<<1|k(),e--;return n}function w(e){if(1===e)return 1===k()?1:-1;var n=C(e);return n>=1<>4;if(0!==s){var f=n[t+=c];e.blockData[r+f]=w(s),t++}else{if(c<15)break;t+=16}}}function y(e,n){var r=g(e.huffmanTableDC),o=0===r?0:w(r)<0)T--;else for(var o=s,a=c;o<=a;){var t=g(e.huffmanTableAC),i=15&t,f=t>>4;if(0!==i){var u=n[o+=f];e.blockData[r+u]=w(i)*(1<>4,0==(a=15&t))u<15?(T=C(u)+(1<=65488&&G<=65495))break;o+=2}return(E=b(r,o))&&E.invalid&&(console.log("decodeScan - unexpected Scan data, next marker is: "+E.invalid),o=E.offset),o-m}function m(n,l,u){var h,v,m,d,b,p,k,g,C,w,x,y,D,T,P,L,A,_=n.quantizationTable,U=n.blockData;if(!_)throw new e("missing required Quantization Table.");for(var z=0;z<64;z+=8)C=U[l+z],w=U[l+z+1],x=U[l+z+2],y=U[l+z+3],D=U[l+z+4],T=U[l+z+5],P=U[l+z+6],L=U[l+z+7],C*=_[z],0!=(w|x|y|D|T|P|L)?(w*=_[z+1],x*=_[z+2],y*=_[z+3],D*=_[z+4],T*=_[z+5],P*=_[z+6],L*=_[z+7],v=(h=(h=c*C+128>>8)+(v=c*D+128>>8)+1>>1)-v,A=(m=x)*s+(d=P)*i+128>>8,m=m*i-d*s+128>>8,k=(b=(b=f*(w-L)+128>>8)+(k=T<<4)+1>>1)-k,p=(g=(g=f*(w+L)+128>>8)+(p=y<<4)+1>>1)-p,d=(h=h+(d=A)+1>>1)-d,m=(v=v+m+1>>1)-m,A=b*t+g*a+2048>>12,b=b*a-g*t+2048>>12,g=A,A=p*o+k*r+2048>>12,p=p*r-k*o+2048>>12,k=A,u[z]=h+g,u[z+7]=h-g,u[z+1]=v+k,u[z+6]=v-k,u[z+2]=m+p,u[z+5]=m-p,u[z+3]=d+b,u[z+4]=d-b):(A=c*C+512>>10,u[z]=A,u[z+1]=A,u[z+2]=A,u[z+3]=A,u[z+4]=A,u[z+5]=A,u[z+6]=A,u[z+7]=A);for(var I=0;I<8;++I)C=u[I],0!=((w=u[I+8])|(x=u[I+16])|(y=u[I+24])|(D=u[I+32])|(T=u[I+40])|(P=u[I+48])|(L=u[I+56]))?(v=(h=4112+((h=c*C+2048>>12)+(v=c*D+2048>>12)+1>>1))-v,A=(m=x)*s+(d=P)*i+2048>>12,m=m*i-d*s+2048>>12,d=A,k=(b=(b=f*(w-L)+2048>>12)+(k=T)+1>>1)-k,p=(g=(g=f*(w+L)+2048>>12)+(p=y)+1>>1)-p,A=b*t+g*a+2048>>12,b=b*a-g*t+2048>>12,g=A,A=p*o+k*r+2048>>12,p=p*r-k*o+2048>>12,C=(C=(h=h+d+1>>1)+g)<16?0:C>=4080?255:C>>4,w=(w=(v=v+m+1>>1)+(k=A))<16?0:w>=4080?255:w>>4,x=(x=(m=v-m)+p)<16?0:x>=4080?255:x>>4,y=(y=(d=h-d)+b)<16?0:y>=4080?255:y>>4,D=(D=d-b)<16?0:D>=4080?255:D>>4,T=(T=m-p)<16?0:T>=4080?255:T>>4,P=(P=v-k)<16?0:P>=4080?255:P>>4,L=(L=h-g)<16?0:L>=4080?255:L>>4,U[l+I]=C,U[l+I+8]=w,U[l+I+16]=x,U[l+I+24]=y,U[l+I+32]=D,U[l+I+40]=T,U[l+I+48]=P,U[l+I+56]=L):(A=(A=c*C+8192>>14)<-2040?0:A>=2024?255:A+2056>>4,U[l+I]=A,U[l+I+8]=A,U[l+I+16]=A,U[l+I+24]=A,U[l+I+32]=A,U[l+I+40]=A,U[l+I+48]=A,U[l+I+56]=A)}function d(e,n){for(var r=n.blocksPerLine,o=n.blocksPerColumn,a=new Int16Array(64),t=0;t=a)return null;var i=o(n);if(i>=65472&&i<=65534)return{invalid:null,marker:i,offset:n};for(var s=o(t);!(s>=65472&&s<=65534);){if(++t>=a)return null;s=o(t)}return{invalid:i.toString(16),marker:s,offset:t}}return l.prototype={parse:function(r){function o(){var e=r[c]<<8|r[c+1];return c+=2,e}function a(){var e=o(),n=c+e-2,a=b(r,n,c);a&&a.invalid&&(console.log("readDataBlock - incorrect length, next marker is: "+a.invalid),n=a.offset);var t=r.subarray(c,n);return c+=t.length,t}function t(e){for(var n=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),o=0;o>4==0)for(C=0;C<64;C++)T[n[C]]=r[c++];else{if(D>>4!=1)throw new e("DQT - invalid table spec");for(C=0;C<64;C++)T[n[C]]=o()}h[15&D]=T}break;case 65472:case 65473:case 65474:if(i)throw new e("Only single frame JPEGs supported");o(),(i={}).extended=65473===k,i.progressive=65474===k,i.precision=r[c++],i.scanLines=o(),i.samplesPerLine=o(),i.components=[],i.componentIds={};var P,L=r[c++],A=0,_=0;for(g=0;g>4,z=15&r[c+1];A>4==0?p:m)[15&Y]=u(q,R)}break;case 65501:o(),s=o();break;case 65498:o();var H,E=r[c++],J=[];for(g=0;g>4],H.huffmanTableAC=m[15&j],J.push(H)}var B=r[c++],N=r[c++],G=r[c++],O=v(r,c,i,J,s,B,N,G>>4,15&G);c+=O;break;case 65535:255!==r[c]&&c--;break;default:if(255===r[c-3]&&r[c-2]>=192&&r[c-2]<=254){c-=3;break}throw new e("unknown marker "+k.toString(16))}k=o()}for(this.width=i.samplesPerLine,this.height=i.scanLines,this.jfif=f,this.eof=c,this.adobe=l,this.components=[],g=0;g>8)+w[l+1];return k},_isColorConversionNeeded:function(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this.colorTransform:1===this.colorTransform},_convertYccToRgb:function(e){for(var n,r,o,a=0,t=e.length;a4)throw new e("Unsupported color mode");var a=this._getLinearizedBlockData(n,r);if(1===this.numComponents&&o){for(var t=a.length,i=new Uint8ClampedArray(3*t),s=0,c=0;c