/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/@minga/downscale@1.0.5/dist/downscale.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&module.exports?module.exports=t():e.downscale=t()}(this,(function(){function e(e,t,n,r,a,i,o,u){(e=document.createElement("canvas")).width=n,e.height=r;var c=e.getContext("2d");return c.mozImageSmoothingEnabled=!0,c.imageSmoothingQuality="high",c.webkitImageSmoothingEnabled=!0,c.msImageSmoothingEnabled=!0,c.imageSmoothingEnabled=!0,c.drawImage(t,a,i,o,u,0,0,n,r),e}function t(e){return e+.5|0}function n(e,n,r,a,i,o,u){for(var c=new ImageData(n,r),s=new Int32Array(e.data.buffer),d=e.width,m=new Int32Array(c.data.buffer),h=c.width,g=n/o,f=r/u,l=t(1/g),E=t(1/f),v=l*E,w=0;w<c.height;w++)for(var b=0;b<h;b++){for(var H=a+t(b/g)+(i+t(w/f))*d,L=0,p=0,T=0,k=0,A=0;A<E;A++)for(var I=0;I<l;I++){var y=s[H+I+A*d];L+=y<<24>>>24,p+=y<<16>>>24,T+=y<<8>>>24,k+=y>>>24}L=t(L/v),p=t(p/v),T=t(T/v),k=t(k/v),m[b+w*h]=k<<24|T<<16|p<<8|L}return c}function r(e,t){return e.width=t.width,e.height=t.height,e.getContext("2d").putImageData(t,0,0),e}function a(e,t,n,r,a,i){var o=a,u=i,c=a/i;0===e&&(e=t*c|0),0===t&&(t=e/c|0);var s=e/t;return s>c?i=a/s|0:a=i*s|0,{destWidth:e,destHeight:t,sourceX:n=n||(o-a)/2|0,sourceY:r=r||(u-i)/2|0,sourceWidth:a,sourceHeight:i}}function i(e,t,n){t.returnCanvas?n(e):t.returnBlob?e.toBlob(n,"image/"+(t.imageType||"jpeg"),t.quality||.85):n(e.toDataURL("image/"+(t.imageType||"jpeg"),t.quality||.85))}function o(e,t){e.complete?t():e.addEventListener("load",t)}function u(e){return e instanceof Blob?"File":e instanceof HTMLImageElement?"HTMLImageElement":e instanceof HTMLVideoElement?"HTMLVideoElement":"string"==typeof e?"URL":void 0}return function t(c,s,d,m){var h,g,f=function(e,t,n,r){var a=new Date,i={},o=a,u="01";return{mark:e?function(e){i[e=u+". "+(e||"...")]={"time (ms)":new Date-o},o=new Date,u=("0"+(1+(0|u))).substr(-2)}:new Function,finish:e?function(){i[u+" TOTAL"]={"time (ms)":new Date-a},console.log("IMAGE SOURCE:",t),console.log("DOWNSCALE TO:",n+"x"+r),console.table(i)}:new Function}}(m&&m.debug||!1,c,s,d),l=(h=arguments).length<3?new TypeError("3 arguments required, but only "+h.length+" present."):u(h[0])?"number"!=typeof h[1]?new TypeError("Second argument should be a number"):"number"!=typeof h[2]?new TypeError("Third argument should be a number"):void 0:new TypeError("First argument should be HTMLImageElement, HTMLVideoElement, File of String");if(l instanceof TypeError)return Promise.reject(l);m=m||{};var E,v,w,b,H=new Promise((function(e,t){g=e}));t.canvas=t.canvas||document.createElement("canvas"),t.cache=t.cache||(E=[],v=[],w=[],b=new Object,{createSetter:function(e){if(!this.get(e)){var t=E.push(e)-1;return v.push(b),w.push([]),function(e){v[t]=e,w[t]=w[t].reduce((function(t,n){n(e)}),[])}}},get:function(e,t){var n=E.indexOf(e);~n&&(v[n]!==b?t(v[n]):w[n].push(t))},has:function(e){return!!~E.indexOf(e)}});var L=t.canvas,p=t.cache;if(p.has(c))return f.mark(),p.get(c,(function(t){f.mark("PENDING CACHE");var o=t[0],u=t[1],c=a(s,d,m.sourceX,m.sourceY,u.width,u.height);if(c.sourceWidth/c.destWidth>=2&&c.sourceHeight/c.destHeight>=2){f.mark();var h=n(u,c.destWidth,c.destHeight,c.sourceX,c.sourceY,c.sourceWidth,c.sourceHeight);f.mark("DOWNSCALE"),L=r(L,h)}else L=e(L,o,c.destWidth,c.destHeight,c.sourceX,c.sourceY,c.sourceWidth,c.sourceHeight),f.mark("RESIZE WITH CANVAS");i(L,m,(function(e){f.mark("PRODUCE RESULT"),g(e),f.finish()}))})),H;if("HTMLVideoElement"!==u(c))var T=p.createSetter(c);var k,A,I=function(t,o,u){var c=a(s,d,m.sourceX,m.sourceY,o,u);if(c.sourceWidth/c.destWidth>=2&&c.sourceHeight/c.destHeight>=2){f.mark();var h=function(e,t,n,r){e.width=n,e.height=r;var a=e.getContext("2d");return a.drawImage(t,0,0),a.getImageData(0,0,n,r)}(L,t,o,u);f.mark("GET IMAGE DATA");var l=n(h,c.destWidth,c.destHeight,c.sourceX,c.sourceY,c.sourceWidth,c.sourceHeight);f.mark("DOWNSCALE"),L=r(L,l),T&&T([t,h])}else L=e(L,t,c.destWidth,c.destHeight,c.sourceX,c.sourceY,c.sourceWidth,c.sourceHeight),f.mark("RESIZE WITH CANVAS");i(L,m,(function(e){f.mark("PRODUCE RESULT"),g(e),f.finish()}))},y=window.URL||window.webkitURL;switch(u(c)){case"File":var W=document.createElement("img");f.mark(),W.src=y.createObjectURL(c),f.mark("READ FILE"),o(W,(function(){f.mark("LOAD IMAGE"),I(W,W.naturalWidth,W.naturalHeight)}));break;case"HTMLImageElement":f.mark(),o(c,(function(){f.mark("LOAD IMAGE"),I(c,c.naturalWidth,c.naturalHeight)}));break;case"HTMLVideoElement":A=function(){I(c,c.videoWidth,c.videoHeight)},(k=c).readyState>1?A():k.addEventListener("loadeddata",A);break;case"URL":f.mark(),setTimeout((function(){!function(e,t){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="arraybuffer",n.addEventListener("load",(function(){t(this.response)})),n.send()}(c,(function(e){f.mark("LOAD ARRAY BUFFER");var t=new Uint8Array(e),n=new Blob([t],{type:"image/jpeg"}),r=document.createElement("img");r.src=y.createObjectURL(n),f.mark(),o(r,(function(){f.mark("LOAD IMAGE"),I(r,r.naturalWidth,r.naturalHeight)}))}))}))}return H}}));
//# sourceMappingURL=/sm/6767c698c7d3af06128f8b5eb462df3509f4edec11e148af8044bf9fe778ed5c.map