New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ssim.js

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ssim.js - npm Package Compare versions

Comparing version 2.1.2 to 2.1.3

2

dist/ssim.js

@@ -1,2 +0,2 @@

!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(require("canvas"),require("fs"),require("https")):"function"==typeof define&&define.amd?define(["canvas","fs","https"],i):"object"==typeof exports?exports.main=i(require("canvas"),require("fs"),require("https")):t.main=i(t.canvas,t.fs,t.https)}(this,function(t,i,e){return function(t){function i(r){if(e[r])return e[r].exports;var a=e[r]={i:r,l:!1,exports:{}};return t[r].call(a.exports,a,a.exports,i),a.l=!0,a.exports}var e={};return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,i,e){Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:e})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=30)}([function(t,i){"use strict";function e(t){return r(t)/t.length}function r(t){for(var i=0,e=0;e<t.length;e++)i+=t[e];return i}function a(t){for(var i=new Array(t.length),e=0;e<t.length;e++)i[e]=Math.floor(t[e]);return i}function n(t){for(var i=t.data,e=0,r=0;r<i.length;r++)e+=i[r];return e}function h(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<a;o++)for(var s=o*r,d=0;d<r;d++)h[s+d]=e[s+d]+n[s+d];return{data:h,width:r,height:a}}function o(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]+i;return{data:n,width:r,height:a}}function s(t,i){return"number"==typeof i?o(t,i):h(t,i)}function d(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]/i;return{data:n,width:r,height:a}}function f(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<e.length;o++)h[o]=e[o]/n[o];return{data:h,width:r,height:a}}function u(t,i){return"number"==typeof i?d(t,i):f(t,i)}function p(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]*i;return{data:n,width:r,height:a}}function c(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<e.length;o++)h[o]=e[o]*n[o];return{data:h,width:r,height:a}}function m(t,i){return"number"==typeof i?p(t,i):c(t,i)}function l(t){return m(t,t)}function v(t){return n(t)/t.data.length}t.exports={add2d:s,average:e,divide2d:u,floor:a,mean2d:v,multiply2d:m,square2d:l,sum:r,sum2d:n}},function(t,i,e){"use strict";var r=e(3),a=r.conv2,n=e(4),h=n.filter2,o=e(20),s=o.fspecial,d=e(21),f=d.imfilter,u=e(22),p=u.normpdf,c=e(7),m=c.ones,l=e(8),v=l.padarray,w=e(23),g=w.rgb2gray,x=e(24),b=x.skip2d,y=e(26),I=y.transpose,M=e(2),U=M.zeros;t.exports={conv2:a,filter2:h,fspecial:s,imfilter:f,normpdf:p,ones:m,padarray:v,rgb2gray:g,skip2d:b,transpose:I,zeros:U}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return n(t,i,0)}var a=e(5),n=a.numbers;t.exports={zeros:r}},function(t,i,e){"use strict";function r(t,i){for(var e=t.data,r=t.width,a=t.height,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full",h=r+i.width-1,s=a+i.height-1,d=p(s,h),f=d.data,u=0;u<i.height;u++)for(var c=0;c<i.width;c++){var m=i.data[u*i.width+c];if(m)for(var l=0;l<a;l++)for(var v=0;v<r;v++)f[(l+u)*h+v+c]+=e[l*r+v]*m}var w={data:f,width:h,height:s};return o(w,n,a,i.height,r,i.width)}function a(t,i){var e=i.data,r=i.width,a=i.height,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full",o=m(a,1),s=m(1,r),d=h(t,o,s,n);return v(d,e[0])}function n(t){for(var i=t.data,e=i[0],r=1;r<i.length;r++)if(i[r]!==e)return!1;return!0}function h(t,i,e){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",n=Math.max(i.height,i.width),h=Math.max(e.height,e.width),s=r(t,i,"full"),d=r(s,e,"full");return o(d,a,t.height,n,t.width,h)}function o(t,i,e,r,a,n){if("full"===i)return t;if("same"===i){var h=Math.ceil((t.height-e)/2),o=Math.ceil((t.width-a)/2);return f(t,h,e,o,a)}return f(t,r-1,e-r+1,n-1,a-n+1)}function s(){for(var t=arguments.length,i=Array(t),e=0;e<t;e++)i[e]=arguments[e];return i[2]&&i[2].data?h.apply(void 0,i):n(i[1])?a.apply(void 0,i):r.apply(void 0,i)}var d=e(25),f=d.sub,u=e(2),p=u.zeros,c=e(7),m=c.ones,l=e(0),v=l.multiply2d;t.exports={conv2:s}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[(r-1-n)*e+e-1-h];return{data:a,width:e,height:r}}function a(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"same";return h(i,r(t),e)}var n=e(3),h=n.conv2;t.exports={filter2:a}},function(t,i){"use strict";function e(t,i,e){for(var r=i*t,a=new Array(r),n=0;n<r;n++)a[n]=e;return{data:a,width:i,height:t}}t.exports={numbers:e}},function(t,i){"use strict";function e(t,i){return t-i*Math.floor(t/i)}t.exports={mod:e}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return n(t,i,1)}var a=e(5),n=a.numbers;t.exports={ones:r}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[n*e+e-1-h];return{data:a,width:e,height:r}}function a(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[(r-1-n)*e+h];return{data:a,width:e,height:r}}function n(t,i){for(var e=t.width+i.width,r=new Array(t.height*e),a=0;a<t.height;a++){for(var n=0;n<t.width;n++)r[a*e+n]=t.data[a*t.width+n];for(var h=0;h<i.width;h++)r[a*e+h+t.width]=i.data[a*i.width+h]}return{data:r,width:e,height:t.height}}function h(t,i){return{data:t.data.concat(i.data),height:t.height+i.height,width:t.width}}function o(t,i){for(var e=t.width+2*i,a=new Array(e*t.height),h=n(t,r(t)),o=0;o<t.height;o++)for(var s=-i;s<t.width+i;s++)a[o*e+s+i]=h.data[o*h.width+c(s,h.width)];return{data:a,width:e,height:t.height}}function s(t,i){for(var e=h(t,a(t)),r=t.height+2*i,n=new Array(t.width*r),o=-i;o<t.height+i;o++)for(var s=0;s<t.width;s++)n[(o+i)*t.width+s]=e.data[c(o,e.height)*t.width+s];return{data:n,width:t.width,height:r}}function d(t,i){for(var e=u(i,2),r=e[0],a=e[1],n=t.width+2*a,h=t.height+2*r,o=new Array(n*h),s=-r;s<0;s++){for(var d=-a;d<0;d++)o[(s+r)*n+d+a]=t.data[(Math.abs(s)-1)*t.width+Math.abs(d)-1];for(var f=0;f<t.width;f++)o[(s+r)*n+f+a]=t.data[(Math.abs(s)-1)*t.width+f];for(var p=t.width;p<t.width+a;p++)o[(s+r)*n+p+a]=t.data[(Math.abs(s)-1)*t.width+2*t.width-p-1]}for(var c=0;c<t.height;c++){for(var m=-a;m<0;m++)o[(c+r)*n+m+a]=t.data[c*t.width+Math.abs(m)-1];for(var l=0;l<t.width;l++)o[(c+r)*n+l+a]=t.data[c*t.width+l];for(var v=t.width;v<t.width+a;v++)o[(c+r)*n+v+a]=t.data[c*t.width+2*t.width-v-1]}for(var w=t.height;w<t.height+r;w++){for(var g=-a;g<0;g++)o[(w+r)*n+g+a]=t.data[(2*t.height-w-1)*t.width+Math.abs(g)-1];for(var x=0;x<t.width;x++)o[(w+r)*n+x+a]=t.data[(2*t.height-w-1)*t.width+x];for(var b=t.width;b<t.width+a;b++)o[(w+r)*n+b+a]=t.data[(2*t.height-w-1)*t.width+2*t.width-b-1]}return{data:o,width:n,height:h}}function f(t,i){var e=u(i,2),r=e[0],a=e[1];return t.height>=r&&t.width>=a?d(t,[r,a]):s(o(t,a),r)}var u=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),p=e(6),c=p.mod;t.exports={padarray:f}},function(t,i,e){"use strict";function r(t,i,e){var r=p("gaussian",e.windowSize,1.5),a=Math.pow(2,e.bitDepth)-1,f=Math.pow(e.k1*a,2),v=Math.pow(e.k2*a,2);if(r=h(r,d(r)),"original"===e.downsample){var w=Math.min(t.width,t.height)/e.maxSize,g=Math.round(w),x=Math.max(1,g);if(x>1){var b=m(x);b=h(b,d(b)),t=c(t,b,"symmetric","same"),i=c(i,b,"symmetric","same"),t=l(t,[0,x,t.height],[0,x,t.width]),i=l(i,[0,x,i.height],[0,x,i.width])}}var y=u(r,t,"valid"),I=u(r,i,"valid"),M=s(y),U=s(I),E=o(y,I),z=s(t),A=s(i),S=o(M,-1),L=o(U,-1),k=o(E,-1),P=n(u(r,z,"valid"),S),j=n(u(r,A,"valid"),L),q=n(u(r,o(t,i),"valid"),k);if(f>0&&v>0){var B=n(o(E,2),f),O=n(o(q,2),v),D=n(n(M,U),f),T=n(n(P,j),v);return h(o(B,O),o(D,T))}var _=o(E,2),C=o(q,2),F=n(M,U),G=n(P,j);return h(o(_,C),o(F,G))}var a=e(0),n=a.add2d,h=a.divide2d,o=a.multiply2d,s=a.square2d,d=a.sum2d,f=e(1),u=f.filter2,p=f.fspecial,c=f.imfilter,m=f.ones,l=f.skip2d;t.exports={originalSsim:r}},function(t,i,e){"use strict";function r(t,i,e){if(e&&t>=e&&i>=e){var r=t/i;return r>1?{height:e,width:Math.round(e/r)}:{height:Math.round(e*r),width:e}}return{width:t,height:i}}function a(t,i){var e=u(t),a=e.ext,n=void 0;if("bmp"===a)n=p.decode(t);else{var h=new f.Image;h.src=t;var o=r(h.width,h.height,i),s=o.width,d=o.height,c=new f(s,d),m=c.getContext("2d");m.drawImage(h,0,0,h.width,h.height,0,0,s,d),n=m.getImageData(0,0,s,d)}return new Promise(function(t){t(n)})}function n(t){return new Promise(function(i,e){d.get(t).on("response",function(t){var e=[];t.on("data",function(t){return e.push(t)}),t.on("end",function(){return i(Buffer.concat(e))})}).on("error",e)})}function h(t){return new Promise(function(i,e){s.readFile(t,function(t,r){return t?void e(t):void i(r)})})}function o(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,e=void 0;return e=Buffer.isBuffer(t)?Promise.resolve(t):0===t.indexOf("http://")||0===t.indexOf("https://")?n(t):h(t),e.then(function(t){return a(t,i)})}var s=e(28),d=e(29),f=e(27),u=e(19),p=e(15);t.exports={readpixels:o}},function(t,i,e){"use strict";function r(t,i,e){var r=x(a(e.windowSize),0,1.5),s=Math.pow(2,e.bitDepth)-1,f=Math.pow(e.k1*s,2),v=Math.pow(e.k2*s,2);r=p(r,l(r));var g=I(r);if("original"===e.downsample){var b=o(t,i,e.maxSize),y=d(b,2);t=y[0],i=y[1]}var M=w(t,r,g,"valid"),U=w(i,r,g,"valid"),E=m(M),z=m(U),A=c(M,U),S=m(t),L=m(i),k=c(E,-1),P=c(z,-1),j=c(A,-1),q=u(w(S,r,g,"valid"),k),B=u(w(L,r,g,"valid"),P),O=u(w(c(t,i),r,g,"valid"),j);return f>0&&v>0?n(A,O,E,z,q,B,f,v):h(A,O,E,z,q,B)}function a(t){for(var i=Math.floor(t/2),e=new Array(2*i+1),r=-i;r<=i;r++)e[r+i]=Math.abs(r);return{data:e,width:e.length,height:1}}function n(t,i,e,r,a,n,h,o){var s=u(c(t,2),h),d=u(c(i,2),o),f=u(u(e,r),h),m=u(u(a,n),o);return p(c(s,d),c(f,m))}function h(t,i,e,r,a,n){var h=c(t,2),o=c(i,2),s=u(e,r),d=u(a,n);return p(c(h,o),c(s,d))}function o(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:256,r=Math.min(t.width,i.height)/e,a=Math.round(r);if(a>1){var n=b(a);n=p(n,l(n)),t=s(t,n,a),i=s(i,n,a)}return[t,i]}function s(t,i,e){var r=g(t,i,"symmetric","same");return y(r,[0,e,r.height],[0,e,r.width])}var d=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),f=e(0),u=f.add2d,p=f.divide2d,c=f.multiply2d,m=f.square2d,l=f.sum2d,v=e(1),w=v.conv2,g=v.imfilter,x=v.normpdf,b=v.ones,y=v.skip2d,I=v.transpose;t.exports={ssim:r}},function(t,i){"use strict";function e(t){throw new Error("Missing "+t+" parameter")}t.exports={force:e}},function(t,i){"use strict";t.exports={type:"deploy",version:"2.1.2"}},function(t,i){t.exports={windowSize:11,k1:.01,k2:.03,bitDepth:8,downsample:"original",ssim:"fast",maxSize:256}},function(t,i,e){"use strict";var r=e(17),a=e(16);t.exports={encode:r,decode:a}},function(t,i){"use strict";function e(t,i){if(this.pos=0,this.buffer=t,this.is_with_alpha=!!i,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),"BM"!=this.flag)throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}e.prototype.parseHeader=function(){if(this.fileSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.reserved=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.offset=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.headerSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.width=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.height=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compress=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.rawSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.hr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.vr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.colors=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.importantColors=this.buffer.readUInt32LE(this.pos),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var i=0;i<t;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=this.buffer.readUInt8(this.pos++);this.palette[i]={red:a,green:r,blue:e,quad:n}}}},e.prototype.parseBGR=function(){this.pos=this.offset;try{var t="bit"+this.bitPP,i=this.width*this.height*4;this.data=new Buffer(i),this[t]()}catch(t){console.log("bit decode error:"+t)}},e.prototype.bit1=function(){for(var t=Math.ceil(this.width/8),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++)for(var a=this.buffer.readUInt8(this.pos++),n=e*this.width*4+8*r*4,h=0;h<8&&8*r+h<this.width;h++){var o=this.palette[a>>7-h&1];this.data[n+4*h]=o.blue,this.data[n+4*h+1]=o.green,this.data[n+4*h+2]=o.red,this.data[n+4*h+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++){var a=this.buffer.readUInt8(this.pos++),n=e*this.width*4+2*r*4,h=a>>4,o=15&a,s=this.palette[h];if(this.data[n]=s.blue,this.data[n+1]=s.green,this.data[n+2]=s.red,this.data[n+3]=255,2*r+1>=this.width)break;s=this.palette[o],this.data[n+4]=s.blue,this.data[n+4+1]=s.green,this.data[n+4+2]=s.red,this.data[n+4+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit8=function(){for(var t=this.width%4,i=this.height-1;i>=0;i--){for(var e=0;e<this.width;e++){var r=this.buffer.readUInt8(this.pos++),a=i*this.width*4+4*e;if(r<this.palette.length){var n=this.palette[r];this.data[a]=n.blue,this.data[a+1]=n.green,this.data[a+2]=n.red,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!=t&&(this.pos+=4-t)}},e.prototype.bit15=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var n=this.buffer.readUInt16LE(this.pos);this.pos+=2;var h=(n&e)/e*255|0,o=(n>>5&e)/e*255|0,s=(n>>10&e)/e*255|0,d=n>>15?255:0,f=r*this.width*4+4*a;this.data[f]=s,this.data[f+1]=o,this.data[f+2]=h,this.data[f+3]=d}this.pos+=t}},e.prototype.bit16=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=parseInt("111111",2),a=r,n=this.height-1;n>=0;n--){for(var h=0;h<this.width;h++){var o=this.buffer.readUInt16LE(this.pos);this.pos+=2;var s=255,d=(o&e)/e*255|0,f=(o>>5&a)/a*255|0,u=(o>>11)/e*255|0,p=n*this.width*4+4*h;this.data[p]=u,this.data[p+1]=f,this.data[p+2]=d,this.data[p+3]=s}this.pos+=t}},e.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=t*this.width*4+4*i;this.data[n]=a,this.data[n+1]=r,this.data[n+2]=e,this.data[n+3]=255}this.pos+=this.width%4}},e.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=this.buffer.readUInt8(this.pos++),h=t*this.width*4+4*i;this.data[h]=a,this.data[h+1]=r,this.data[h+2]=e,this.data[h+3]=n}this.pos+=this.width%4}},e.prototype.getData=function(){return this.data},t.exports=function(t){var i=new e(t);return{data:i.getData(),width:i.width,height:i.height}}},function(t,i){"use strict";function e(t){this.buffer=t.data,this.width=t.width,this.height=t.height,this.extraBytes=this.width%4,this.rgbSize=this.height*(3*this.width+this.extraBytes),this.headerInfoSize=40,this.data=[],this.flag="BM",this.reserved=0,this.offset=54,this.fileSize=this.rgbSize+this.offset,this.planes=1,this.bitPP=24,this.compress=0,this.hr=0,this.vr=0,this.colors=0,this.importantColors=0}e.prototype.encode=function(){var t=new Buffer(this.offset+this.rgbSize);this.pos=0,t.write(this.flag,this.pos,2),this.pos+=2,t.writeUInt32LE(this.fileSize,this.pos),this.pos+=4,t.writeUInt32LE(this.reserved,this.pos),this.pos+=4,t.writeUInt32LE(this.offset,this.pos),this.pos+=4,t.writeUInt32LE(this.headerInfoSize,this.pos),this.pos+=4,t.writeUInt32LE(this.width,this.pos),this.pos+=4,t.writeUInt32LE(this.height,this.pos),this.pos+=4,t.writeUInt16LE(this.planes,this.pos),this.pos+=2,t.writeUInt16LE(this.bitPP,this.pos),this.pos+=2,t.writeUInt32LE(this.compress,this.pos),this.pos+=4,t.writeUInt32LE(this.rgbSize,this.pos),this.pos+=4,t.writeUInt32LE(this.hr,this.pos),this.pos+=4,t.writeUInt32LE(this.vr,this.pos),this.pos+=4,t.writeUInt32LE(this.colors,this.pos),this.pos+=4,t.writeUInt32LE(this.importantColors,this.pos),this.pos+=4;for(var i=0,e=3*this.width+this.extraBytes,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var n=this.pos+r*e+3*a;t[n+2]=this.buffer[i++],t[n+1]=this.buffer[i++],t[n]=this.buffer[i++],i++}if(this.extraBytes>0){var h=this.pos+r*e+3*this.width;t.fill(0,h,h+this.extraBytes)}}return t},t.exports=function(t,i){"undefined"==typeof i&&(i=100);var r=new e(t),a=r.encode();return{data:a,width:t.width,height:t.height}}},function(t,i){"use strict";t.exports=function(t){return t&&t.length>1?255===t[0]&&216===t[1]&&255===t[2]?{ext:"jpg",mime:"image/jpeg"}:137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]?{ext:"png",mime:"image/png"}:71===t[0]&&73===t[1]&&70===t[2]?{ext:"gif",mime:"image/gif"}:87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?{ext:"webp",mime:"image/webp"}:70===t[0]&&76===t[1]&&73===t[2]&&70===t[3]?{ext:"flif",mime:"image/flif"}:(73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3])&&67===t[8]&&82===t[9]?{ext:"cr2",mime:"image/x-canon-cr2"}:73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3]?{ext:"tif",mime:"image/tiff"}:66===t[0]&&77===t[1]?{ext:"bmp",mime:"image/bmp"}:73===t[0]&&73===t[1]&&188===t[2]?{ext:"jxr",mime:"image/vnd.ms-photo"}:56===t[0]&&66===t[1]&&80===t[2]&&83===t[3]?{ext:"psd",mime:"image/vnd.adobe.photoshop"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&109===t[30]&&105===t[31]&&109===t[32]&&101===t[33]&&116===t[34]&&121===t[35]&&112===t[36]&&101===t[37]&&97===t[38]&&112===t[39]&&112===t[40]&&108===t[41]&&105===t[42]&&99===t[43]&&97===t[44]&&116===t[45]&&105===t[46]&&111===t[47]&&110===t[48]&&47===t[49]&&101===t[50]&&112===t[51]&&117===t[52]&&98===t[53]&&43===t[54]&&122===t[55]&&105===t[56]&&112===t[57]?{ext:"epub",mime:"application/epub+zip"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&77===t[30]&&69===t[31]&&84===t[32]&&65===t[33]&&45===t[34]&&73===t[35]&&78===t[36]&&70===t[37]&&47===t[38]&&109===t[39]&&111===t[40]&&122===t[41]&&105===t[42]&&108===t[43]&&108===t[44]&&97===t[45]&&46===t[46]&&114===t[47]&&115===t[48]&&97===t[49]?{ext:"xpi",mime:"application/x-xpinstall"}:80!==t[0]||75!==t[1]||3!==t[2]&&5!==t[2]&&7!==t[2]||4!==t[3]&&6!==t[3]&&8!==t[3]?117===t[257]&&115===t[258]&&116===t[259]&&97===t[260]&&114===t[261]?{ext:"tar",mime:"application/x-tar"}:82!==t[0]||97!==t[1]||114!==t[2]||33!==t[3]||26!==t[4]||7!==t[5]||0!==t[6]&&1!==t[6]?31===t[0]&&139===t[1]&&8===t[2]?{ext:"gz",mime:"application/gzip"}:66===t[0]&&90===t[1]&&104===t[2]?{ext:"bz2",mime:"application/x-bzip2"}:55===t[0]&&122===t[1]&&188===t[2]&&175===t[3]&&39===t[4]&&28===t[5]?{ext:"7z",mime:"application/x-7z-compressed"}:120===t[0]&&1===t[1]?{ext:"dmg",mime:"application/x-apple-diskimage"}:0===t[0]&&0===t[1]&&0===t[2]&&(24===t[3]||32===t[3])&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]||51===t[0]&&103===t[1]&&112===t[2]&&53===t[3]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&109===t[16]&&112===t[17]&&52===t[18]&&49===t[19]&&109===t[20]&&112===t[21]&&52===t[22]&&50===t[23]&&105===t[24]&&115===t[25]&&111===t[26]&&109===t[27]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&105===t[8]&&115===t[9]&&111===t[10]&&109===t[11]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&0===t[15]?{ext:"mp4",mime:"video/mp4"}:0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&86===t[10]?{ext:"m4v",mime:"video/x-m4v"}:77===t[0]&&84===t[1]&&104===t[2]&&100===t[3]?{ext:"mid",mime:"audio/midi"}:109===t[31]&&97===t[32]&&116===t[33]&&114===t[34]&&111===t[35]&&115===t[36]&&107===t[37]&&97===t[38]?{ext:"mkv",mime:"video/x-matroska"}:26===t[0]&&69===t[1]&&223===t[2]&&163===t[3]?{ext:"webm",mime:"video/webm"}:0===t[0]&&0===t[1]&&0===t[2]&&20===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]?{ext:"mov",mime:"video/quicktime"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&65===t[8]&&86===t[9]&&73===t[10]?{ext:"avi",mime:"video/x-msvideo"}:48===t[0]&&38===t[1]&&178===t[2]&&117===t[3]&&142===t[4]&&102===t[5]&&207===t[6]&&17===t[7]&&166===t[8]&&217===t[9]?{ext:"wmv",mime:"video/x-ms-wmv"}:0===t[0]&&0===t[1]&&1===t[2]&&"b"===t[3].toString(16)[0]?{ext:"mpg",mime:"video/mpeg"}:73===t[0]&&68===t[1]&&51===t[2]||255===t[0]&&251===t[1]?{ext:"mp3",mime:"audio/mpeg"}:102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&65===t[10]||77===t[0]&&52===t[1]&&65===t[2]&&32===t[3]?{ext:"m4a",mime:"audio/m4a"}:79===t[28]&&112===t[29]&&117===t[30]&&115===t[31]&&72===t[32]&&101===t[33]&&97===t[34]&&100===t[35]?{ext:"opus",mime:"audio/opus"}:79===t[0]&&103===t[1]&&103===t[2]&&83===t[3]?{ext:"ogg",mime:"audio/ogg"}:102===t[0]&&76===t[1]&&97===t[2]&&67===t[3]?{ext:"flac",mime:"audio/x-flac"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&65===t[9]&&86===t[10]&&69===t[11]?{ext:"wav",mime:"audio/x-wav"}:35===t[0]&&33===t[1]&&65===t[2]&&77===t[3]&&82===t[4]&&10===t[5]?{ext:"amr",mime:"audio/amr"}:37===t[0]&&80===t[1]&&68===t[2]&&70===t[3]?{ext:"pdf",mime:"application/pdf"}:77===t[0]&&90===t[1]?{ext:"exe",mime:"application/x-msdownload"}:67!==t[0]&&70!==t[0]||87!==t[1]||83!==t[2]?123===t[0]&&92===t[1]&&114===t[2]&&116===t[3]&&102===t[4]?{ext:"rtf",mime:"application/rtf"}:119===t[0]&&79===t[1]&&70===t[2]&&70===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff",mime:"application/font-woff"}:119===t[0]&&79===t[1]&&70===t[2]&&50===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff2",mime:"application/font-woff"}:76===t[34]&&80===t[35]&&(0===t[8]&&0===t[9]&&1===t[10]||1===t[8]&&0===t[9]&&2===t[10]||2===t[8]&&0===t[9]&&2===t[10])?{ext:"eot",mime:"application/octet-stream"}:0===t[0]&&1===t[1]&&0===t[2]&&0===t[3]&&0===t[4]?{ext:"ttf",mime:"application/font-sfnt"}:79===t[0]&&84===t[1]&&84===t[2]&&79===t[3]&&0===t[4]?{ext:"otf",mime:"application/font-sfnt"}:0===t[0]&&0===t[1]&&1===t[2]&&0===t[3]?{ext:"ico",mime:"image/x-icon"}:70===t[0]&&76===t[1]&&86===t[2]&&1===t[3]?{ext:"flv",mime:"video/x-flv"}:37===t[0]&&33===t[1]?{ext:"ps",mime:"application/postscript"}:253===t[0]&&55===t[1]&&122===t[2]&&88===t[3]&&90===t[4]&&0===t[5]?{ext:"xz",mime:"application/x-xz"}:83===t[0]&&81===t[1]&&76===t[2]&&105===t[3]?{ext:"sqlite",mime:"application/x-sqlite3"}:78===t[0]&&69===t[1]&&83===t[2]&&26===t[3]?{ext:"nes",mime:"application/x-nintendo-nes-rom"}:67===t[0]&&114===t[1]&&50===t[2]&&52===t[3]?{ext:"crx",mime:"application/x-google-chrome-extension"}:77===t[0]&&83===t[1]&&67===t[2]&&70===t[3]||73===t[0]&&83===t[1]&&99===t[2]&&40===t[3]?{ext:"cab",mime:"application/vnd.ms-cab-compressed"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]&&10===t[7]&&100===t[8]&&101===t[9]&&98===t[10]&&105===t[11]&&97===t[12]&&110===t[13]&&45===t[14]&&98===t[15]&&105===t[16]&&110===t[17]&&97===t[18]&&114===t[19]&&121===t[20]?{ext:"deb",mime:"application/x-deb"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]?{ext:"ar",mime:"application/x-unix-archive"}:237===t[0]&&171===t[1]&&238===t[2]&&219===t[3]?{ext:"rpm",mime:"application/x-rpm"}:31===t[0]&&160===t[1]||31===t[0]&&157===t[1]?{ext:"Z",mime:"application/x-compress"}:76===t[0]&&90===t[1]&&73===t[2]&&80===t[3]?{ext:"lz",mime:"application/x-lzip"}:208===t[0]&&207===t[1]&&17===t[2]&&224===t[3]&&161===t[4]&&177===t[5]&&26===t[6]&&225===t[7]?{ext:"msi",mime:"application/x-msi"}:null:{ext:"swf",mime:"application/x-shockwave-flash"}:{ext:"rar",mime:"application/x-rar-compressed"}:{ext:"zip",mime:"application/zip"}:null}},function(t,i,e){"use strict";var r=e(18);t.exports=function(t){var i=["jpg","png","gif","webp","tif","bmp","jxr","psd"],e=r(t);return i.indexOf(e&&e.ext)!==-1?e:null}},function(t,i,e){"use strict";function r(t){for(var i=2*t+1,e=new Array(Math.pow(i,2)),r=0;r<i;r++)for(var a=0;a<i;a++)e[r*i+a]=Math.pow(r-t,2)+Math.pow(a-t,2);return{data:e,width:i,height:i}}function a(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=Math.exp(-e[h]/(2*Math.pow(i,2)));return{data:n,width:r,height:a}}function n(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"gaussian",arguments.length>1&&void 0!==arguments[1]?arguments[1]:3),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.5;t=(t-1)/2;var e=r(t),n=a(e,i),h=o(n);return s(n,h)}var h=e(0),o=h.sum2d,s=h.divide2d;t.exports={fspecial:n}},function(t,i,e){"use strict";function r(t,i,e,r){if(t=d(t,u([i/2,e/2]),r),0===o(i,2)&&(t.data=t.data.slice(0,-t.width),t.height--),0===o(e,2)){for(var a=[],n=0;n<t.data.length;n++)(n+1)%t.width!==0&&a.push(t.data[n]);t.data=a,t.width--}return t}function a(t){return"same"===t&&(t="valid"),t}function n(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"symmetric",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"same";return t=r(t,i.width,i.height,e),n=a(n),c(i,t,n)}var h=e(6),o=h.mod,s=e(8),d=s.padarray,f=e(0),u=f.floor,p=e(4),c=p.filter2;t.exports={imfilter:n}},function(t,i){"use strict";function e(t){for(var i=t.data,e=t.width,r=t.height,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,h=2.5066282746310007,o=new Array(i.length),s=0;s<i.length;s++){var d=(i[s]-a)/n;o[s]=Math.exp(-Math.pow(d,2)/2)/(n*h)}return{data:o,width:e,height:r}}t.exports={normpdf:e}},function(t,i){"use strict";function e(t){var i=a(t,3),e=i[0],r=i[1],n=i[2];return Math.round(.29894*e+.58704*r+.11402*n)}function r(t){for(var i=t.data,r=t.width,a=t.height,n=new Array(r*a),h=0;h<r;h++)for(var o=0;o<a;o++){var s=h+o*r,d=4*s;n[s]=e([i[d],i[d+1],i[d+2],i[d+3]])}return{data:n,width:r,height:a}}var a=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={rgb2gray:r}},function(t,i){"use strict";function e(t,i,e){for(var a=r(i,3),n=a[0],h=a[1],o=a[2],s=r(e,3),d=s[0],f=s[1],u=s[2],p=Math.ceil((u-d)/f),c=Math.ceil((o-n)/h),m=new Array(p*c),l=0;l<c;l++)for(var v=0;v<p;v++){var w=n+l*h,g=d+v*f;m[l*p+v]=t.data[w*t.width+g]}return{data:m,width:p,height:c}}var r=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={skip2d:e}},function(t,i){"use strict";function e(t,i,e,r,a){for(var n=t.data,h=t.width,o=new Array(a*e),s=0;s<e;s++)for(var d=0;d<a;d++)o[s*a+d]=n[(r+s)*h+i+d];return{data:o,width:a,height:e}}t.exports={sub:e}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=n(e,r),h=a.data,o=0;o<r;o++)for(var s=0;s<e;s++)h[s*r+o]=i[o*e+s];return{data:h,height:e,width:r}}var a=e(2),n=a.zeros;t.exports={transpose:r}},function(i,e){i.exports=t},function(t,i){t.exports=require("fs")},function(t,i){t.exports=require("https")},function(t,i,e){"use strict";function r(t){if(Object.keys(t).forEach(function(t){if(!(t in I))throw new Error('"'+t+'" is not a valid option')}),"k1"in t&&("number"!=typeof t.k1||t.k1<0))throw new Error("Invalid k1 value. Default is "+I.k1);if("k2"in t&&("number"!=typeof t.k2||t.k2<0))throw new Error("Invalid k2 value. Default is "+I.k2)}function a(t){return r(t),Object.assign({},I,t)}function n(t){var i=d(t,2),e=i[0],r=i[1];if(e.width!==r.width||e.height!==r.height)throw new Error("Image dimensions do not match");return[e,r]}function h(t){var i=d(t,2),e=i[0],r=i[1];return e=c(e),r=c(r),[e,r]}function o(t,i){return"fast"===i.downsample?u(t,i.maxSize):u(t)}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y("image1"),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y("image2"),e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(new Date).getTime();e=a(e);var s="fast"===e.ssim?w:x;return Promise.all([o(t,e),o(i,e)]).then(n).then(h).then(function(t){var i=d(t,2),r=i[0],a=i[1];return s(r,a,e)}).then(function(t){return{ssim_map:t,mssim:l(t),performance:(new Date).getTime()-r}})}var d=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),f=e(10),u=f.readpixels,p=e(1),c=p.rgb2gray,m=e(0),l=m.mean2d,v=e(11),w=v.ssim,g=e(9),x=g.originalSsim,b=e(12),y=b.force,I=e(14),M=e(13),U=M.version;s.ssim=w,s.version=U,t.exports=s}])});
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(require("canvas"),require("fs"),require("https")):"function"==typeof define&&define.amd?define(["canvas","fs","https"],i):"object"==typeof exports?exports.main=i(require("canvas"),require("fs"),require("https")):t.main=i(t.canvas,t.fs,t.https)}(this,function(t,i,e){return function(t){function i(r){if(e[r])return e[r].exports;var a=e[r]={i:r,l:!1,exports:{}};return t[r].call(a.exports,a,a.exports,i),a.l=!0,a.exports}var e={};return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,i,e){Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:e})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=30)}([function(t,i){"use strict";function e(t){return r(t)/t.length}function r(t){for(var i=0,e=0;e<t.length;e++)i+=t[e];return i}function a(t){for(var i=new Array(t.length),e=0;e<t.length;e++)i[e]=Math.floor(t[e]);return i}function n(t){for(var i=t.data,e=0,r=0;r<i.length;r++)e+=i[r];return e}function h(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<a;o++)for(var s=o*r,d=0;d<r;d++)h[s+d]=e[s+d]+n[s+d];return{data:h,width:r,height:a}}function o(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]+i;return{data:n,width:r,height:a}}function s(t,i){return"number"==typeof i?o(t,i):h(t,i)}function d(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]/i;return{data:n,width:r,height:a}}function f(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<e.length;o++)h[o]=e[o]/n[o];return{data:h,width:r,height:a}}function u(t,i){return"number"==typeof i?d(t,i):f(t,i)}function p(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]*i;return{data:n,width:r,height:a}}function c(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<e.length;o++)h[o]=e[o]*n[o];return{data:h,width:r,height:a}}function m(t,i){return"number"==typeof i?p(t,i):c(t,i)}function l(t){return m(t,t)}function v(t){return n(t)/t.data.length}t.exports={add2d:s,average:e,divide2d:u,floor:a,mean2d:v,multiply2d:m,square2d:l,sum:r,sum2d:n}},function(t,i,e){"use strict";var r=e(2),a=r.conv2,n=e(3),h=n.filter2,o=e(20),s=o.fspecial,d=e(21),f=d.imfilter,u=e(22),p=u.normpdf,c=e(6),m=c.ones,l=e(7),v=l.padarray,w=e(23),g=w.rgb2gray,x=e(24),b=x.skip2d,y=e(26),I=y.transpose,M=e(8),U=M.zeros;t.exports={conv2:a,filter2:h,fspecial:s,imfilter:f,normpdf:p,ones:m,padarray:v,rgb2gray:g,skip2d:b,transpose:I,zeros:U}},function(t,i,e){"use strict";function r(t,i){for(var e=t.data,r=t.width,a=t.height,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full",h=r+i.width-1,s=a+i.height-1,d=p(s,h),f=d.data,u=0;u<i.height;u++)for(var c=0;c<i.width;c++){var m=i.data[u*i.width+c];if(m)for(var l=0;l<a;l++)for(var v=0;v<r;v++)f[(l+u)*h+v+c]+=e[l*r+v]*m}var w={data:f,width:h,height:s};return o(w,n,a,i.height,r,i.width)}function a(t,i){var e=i.data,r=i.width,a=i.height,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full",o=m(a,1),s=m(1,r),d=h(t,o,s,n);return v(d,e[0])}function n(t){for(var i=t.data,e=i[0],r=1;r<i.length;r++)if(i[r]!==e)return!1;return!0}function h(t,i,e){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",n=Math.max(i.height,i.width),h=Math.max(e.height,e.width),s=r(t,i,"full"),d=r(s,e,"full");return o(d,a,t.height,n,t.width,h)}function o(t,i,e,r,a,n){if("full"===i)return t;if("same"===i){var h=Math.ceil((t.height-e)/2),o=Math.ceil((t.width-a)/2);return f(t,h,e,o,a)}return f(t,r-1,e-r+1,n-1,a-n+1)}function s(){for(var t=arguments.length,i=Array(t),e=0;e<t;e++)i[e]=arguments[e];return i[2]&&i[2].data?h.apply(void 0,i):n(i[1])?a.apply(void 0,i):r.apply(void 0,i)}var d=e(25),f=d.sub,u=e(8),p=u.zeros,c=e(6),m=c.ones,l=e(0),v=l.multiply2d;t.exports={conv2:s}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[(r-1-n)*e+e-1-h];return{data:a,width:e,height:r}}function a(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"same";return h(i,r(t),e)}var n=e(2),h=n.conv2;t.exports={filter2:a}},function(t,i){"use strict";function e(t,i,e){for(var r=i*t,a=new Array(r),n=0;n<r;n++)a[n]=e;return{data:a,width:i,height:t}}t.exports={numbers:e}},function(t,i){"use strict";function e(t,i){return t-i*Math.floor(t/i)}t.exports={mod:e}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return n(t,i,1)}var a=e(4),n=a.numbers;t.exports={ones:r}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[n*e+e-1-h];return{data:a,width:e,height:r}}function a(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[(r-1-n)*e+h];return{data:a,width:e,height:r}}function n(t,i){for(var e=t.width+i.width,r=new Array(t.height*e),a=0;a<t.height;a++){for(var n=0;n<t.width;n++)r[a*e+n]=t.data[a*t.width+n];for(var h=0;h<i.width;h++)r[a*e+h+t.width]=i.data[a*i.width+h]}return{data:r,width:e,height:t.height}}function h(t,i){return{data:t.data.concat(i.data),height:t.height+i.height,width:t.width}}function o(t,i){for(var e=t.width+2*i,a=new Array(e*t.height),h=n(t,r(t)),o=0;o<t.height;o++)for(var s=-i;s<t.width+i;s++)a[o*e+s+i]=h.data[o*h.width+c(s,h.width)];return{data:a,width:e,height:t.height}}function s(t,i){for(var e=h(t,a(t)),r=t.height+2*i,n=new Array(t.width*r),o=-i;o<t.height+i;o++)for(var s=0;s<t.width;s++)n[(o+i)*t.width+s]=e.data[c(o,e.height)*t.width+s];return{data:n,width:t.width,height:r}}function d(t,i){for(var e=u(i,2),r=e[0],a=e[1],n=t.width+2*a,h=t.height+2*r,o=new Array(n*h),s=-r;s<0;s++){for(var d=-a;d<0;d++)o[(s+r)*n+d+a]=t.data[(Math.abs(s)-1)*t.width+Math.abs(d)-1];for(var f=0;f<t.width;f++)o[(s+r)*n+f+a]=t.data[(Math.abs(s)-1)*t.width+f];for(var p=t.width;p<t.width+a;p++)o[(s+r)*n+p+a]=t.data[(Math.abs(s)-1)*t.width+2*t.width-p-1]}for(var c=0;c<t.height;c++){for(var m=-a;m<0;m++)o[(c+r)*n+m+a]=t.data[c*t.width+Math.abs(m)-1];for(var l=0;l<t.width;l++)o[(c+r)*n+l+a]=t.data[c*t.width+l];for(var v=t.width;v<t.width+a;v++)o[(c+r)*n+v+a]=t.data[c*t.width+2*t.width-v-1]}for(var w=t.height;w<t.height+r;w++){for(var g=-a;g<0;g++)o[(w+r)*n+g+a]=t.data[(2*t.height-w-1)*t.width+Math.abs(g)-1];for(var x=0;x<t.width;x++)o[(w+r)*n+x+a]=t.data[(2*t.height-w-1)*t.width+x];for(var b=t.width;b<t.width+a;b++)o[(w+r)*n+b+a]=t.data[(2*t.height-w-1)*t.width+2*t.width-b-1]}return{data:o,width:n,height:h}}function f(t,i){var e=u(i,2),r=e[0],a=e[1];return t.height>=r&&t.width>=a?d(t,[r,a]):s(o(t,a),r)}var u=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),p=e(5),c=p.mod;t.exports={padarray:f}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return n(t,i,0)}var a=e(4),n=a.numbers;t.exports={zeros:r}},function(t,i,e){"use strict";function r(t,i,e){var r=p("gaussian",e.windowSize,1.5),a=Math.pow(2,e.bitDepth)-1,f=Math.pow(e.k1*a,2),v=Math.pow(e.k2*a,2);if(r=h(r,d(r)),"original"===e.downsample){var w=Math.min(t.width,t.height)/e.maxSize,g=Math.round(w),x=Math.max(1,g);if(x>1){var b=m(x);b=h(b,d(b)),t=c(t,b,"symmetric","same"),i=c(i,b,"symmetric","same"),t=l(t,[0,x,t.height],[0,x,t.width]),i=l(i,[0,x,i.height],[0,x,i.width])}}var y=u(r,t,"valid"),I=u(r,i,"valid"),M=s(y),U=s(I),E=o(y,I),z=s(t),A=s(i),S=o(M,-1),L=o(U,-1),k=o(E,-1),P=n(u(r,z,"valid"),S),j=n(u(r,A,"valid"),L),q=n(u(r,o(t,i),"valid"),k);if(f>0&&v>0){var B=n(o(E,2),f),O=n(o(q,2),v),D=n(n(M,U),f),T=n(n(P,j),v);return h(o(B,O),o(D,T))}var _=o(E,2),C=o(q,2),F=n(M,U),G=n(P,j);return h(o(_,C),o(F,G))}var a=e(0),n=a.add2d,h=a.divide2d,o=a.multiply2d,s=a.square2d,d=a.sum2d,f=e(1),u=f.filter2,p=f.fspecial,c=f.imfilter,m=f.ones,l=f.skip2d;t.exports={originalSsim:r}},function(t,i,e){"use strict";function r(t,i,e){if(e&&t>=e&&i>=e){var r=t/i;return r>1?{height:e,width:Math.round(e/r)}:{height:Math.round(e*r),width:e}}return{width:t,height:i}}function a(t,i){var e=u(t),a=e.ext,n=void 0;if("bmp"===a)n=p.decode(t);else{var h=new f.Image;h.src=t;var o=r(h.width,h.height,i),s=o.width,d=o.height,c=new f(s,d),m=c.getContext("2d");m.drawImage(h,0,0,h.width,h.height,0,0,s,d),n=m.getImageData(0,0,s,d)}return new Promise(function(t){t(n)})}function n(t){return new Promise(function(i,e){d.get(t).on("response",function(t){var e=[];t.on("data",function(t){return e.push(t)}),t.on("end",function(){return i(Buffer.concat(e))})}).on("error",e)})}function h(t){return new Promise(function(i,e){s.readFile(t,function(t,r){return t?void e(t):void i(r)})})}function o(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,e=void 0;return e=Buffer.isBuffer(t)?Promise.resolve(t):0===t.indexOf("http://")||0===t.indexOf("https://")?n(t):h(t),e.then(function(t){return a(t,i)})}var s=e(28),d=e(29),f=e(27),u=e(19),p=e(15);t.exports={readpixels:o}},function(t,i,e){"use strict";function r(t,i,e){var r=x(a(e.windowSize),0,1.5),s=Math.pow(2,e.bitDepth)-1,f=Math.pow(e.k1*s,2),v=Math.pow(e.k2*s,2);r=p(r,l(r));var g=I(r);if("original"===e.downsample){var b=o(t,i,e.maxSize),y=d(b,2);t=y[0],i=y[1]}var M=w(t,r,g,"valid"),U=w(i,r,g,"valid"),E=m(M),z=m(U),A=c(M,U),S=m(t),L=m(i),k=c(E,-1),P=c(z,-1),j=c(A,-1),q=u(w(S,r,g,"valid"),k),B=u(w(L,r,g,"valid"),P),O=u(w(c(t,i),r,g,"valid"),j);return f>0&&v>0?n(A,O,E,z,q,B,f,v):h(A,O,E,z,q,B)}function a(t){for(var i=Math.floor(t/2),e=new Array(2*i+1),r=-i;r<=i;r++)e[r+i]=Math.abs(r);return{data:e,width:e.length,height:1}}function n(t,i,e,r,a,n,h,o){var s=u(c(t,2),h),d=u(c(i,2),o),f=u(u(e,r),h),m=u(u(a,n),o);return p(c(s,d),c(f,m))}function h(t,i,e,r,a,n){var h=c(t,2),o=c(i,2),s=u(e,r),d=u(a,n);return p(c(h,o),c(s,d))}function o(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:256,r=Math.min(t.width,i.height)/e,a=Math.round(r);if(a>1){var n=b(a);n=p(n,l(n)),t=s(t,n,a),i=s(i,n,a)}return[t,i]}function s(t,i,e){var r=g(t,i,"symmetric","same");return y(r,[0,e,r.height],[0,e,r.width])}var d=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),f=e(0),u=f.add2d,p=f.divide2d,c=f.multiply2d,m=f.square2d,l=f.sum2d,v=e(1),w=v.conv2,g=v.imfilter,x=v.normpdf,b=v.ones,y=v.skip2d,I=v.transpose;t.exports={ssim:r}},function(t,i){"use strict";function e(t){throw new Error("Missing "+t+" parameter")}t.exports={force:e}},function(t,i){"use strict";t.exports={type:"deploy",version:"2.1.3"}},function(t,i){t.exports={windowSize:11,k1:.01,k2:.03,bitDepth:8,downsample:"original",ssim:"fast",maxSize:256}},function(t,i,e){"use strict";var r=e(17),a=e(16);t.exports={encode:r,decode:a}},function(t,i){"use strict";function e(t,i){if(this.pos=0,this.buffer=t,this.is_with_alpha=!!i,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),"BM"!=this.flag)throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}e.prototype.parseHeader=function(){if(this.fileSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.reserved=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.offset=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.headerSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.width=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.height=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compress=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.rawSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.hr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.vr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.colors=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.importantColors=this.buffer.readUInt32LE(this.pos),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var i=0;i<t;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=this.buffer.readUInt8(this.pos++);this.palette[i]={red:a,green:r,blue:e,quad:n}}}},e.prototype.parseBGR=function(){this.pos=this.offset;try{var t="bit"+this.bitPP,i=this.width*this.height*4;this.data=new Buffer(i),this[t]()}catch(t){console.log("bit decode error:"+t)}},e.prototype.bit1=function(){for(var t=Math.ceil(this.width/8),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++)for(var a=this.buffer.readUInt8(this.pos++),n=e*this.width*4+8*r*4,h=0;h<8&&8*r+h<this.width;h++){var o=this.palette[a>>7-h&1];this.data[n+4*h]=o.blue,this.data[n+4*h+1]=o.green,this.data[n+4*h+2]=o.red,this.data[n+4*h+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++){var a=this.buffer.readUInt8(this.pos++),n=e*this.width*4+2*r*4,h=a>>4,o=15&a,s=this.palette[h];if(this.data[n]=s.blue,this.data[n+1]=s.green,this.data[n+2]=s.red,this.data[n+3]=255,2*r+1>=this.width)break;s=this.palette[o],this.data[n+4]=s.blue,this.data[n+4+1]=s.green,this.data[n+4+2]=s.red,this.data[n+4+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit8=function(){for(var t=this.width%4,i=this.height-1;i>=0;i--){for(var e=0;e<this.width;e++){var r=this.buffer.readUInt8(this.pos++),a=i*this.width*4+4*e;if(r<this.palette.length){var n=this.palette[r];this.data[a]=n.blue,this.data[a+1]=n.green,this.data[a+2]=n.red,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!=t&&(this.pos+=4-t)}},e.prototype.bit15=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var n=this.buffer.readUInt16LE(this.pos);this.pos+=2;var h=(n&e)/e*255|0,o=(n>>5&e)/e*255|0,s=(n>>10&e)/e*255|0,d=n>>15?255:0,f=r*this.width*4+4*a;this.data[f]=s,this.data[f+1]=o,this.data[f+2]=h,this.data[f+3]=d}this.pos+=t}},e.prototype.bit16=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=parseInt("111111",2),a=r,n=this.height-1;n>=0;n--){for(var h=0;h<this.width;h++){var o=this.buffer.readUInt16LE(this.pos);this.pos+=2;var s=255,d=(o&e)/e*255|0,f=(o>>5&a)/a*255|0,u=(o>>11)/e*255|0,p=n*this.width*4+4*h;this.data[p]=u,this.data[p+1]=f,this.data[p+2]=d,this.data[p+3]=s}this.pos+=t}},e.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=t*this.width*4+4*i;this.data[n]=a,this.data[n+1]=r,this.data[n+2]=e,this.data[n+3]=255}this.pos+=this.width%4}},e.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=this.buffer.readUInt8(this.pos++),h=t*this.width*4+4*i;this.data[h]=a,this.data[h+1]=r,this.data[h+2]=e,this.data[h+3]=n}this.pos+=this.width%4}},e.prototype.getData=function(){return this.data},t.exports=function(t){var i=new e(t);return{data:i.getData(),width:i.width,height:i.height}}},function(t,i){"use strict";function e(t){this.buffer=t.data,this.width=t.width,this.height=t.height,this.extraBytes=this.width%4,this.rgbSize=this.height*(3*this.width+this.extraBytes),this.headerInfoSize=40,this.data=[],this.flag="BM",this.reserved=0,this.offset=54,this.fileSize=this.rgbSize+this.offset,this.planes=1,this.bitPP=24,this.compress=0,this.hr=0,this.vr=0,this.colors=0,this.importantColors=0}e.prototype.encode=function(){var t=new Buffer(this.offset+this.rgbSize);this.pos=0,t.write(this.flag,this.pos,2),this.pos+=2,t.writeUInt32LE(this.fileSize,this.pos),this.pos+=4,t.writeUInt32LE(this.reserved,this.pos),this.pos+=4,t.writeUInt32LE(this.offset,this.pos),this.pos+=4,t.writeUInt32LE(this.headerInfoSize,this.pos),this.pos+=4,t.writeUInt32LE(this.width,this.pos),this.pos+=4,t.writeUInt32LE(this.height,this.pos),this.pos+=4,t.writeUInt16LE(this.planes,this.pos),this.pos+=2,t.writeUInt16LE(this.bitPP,this.pos),this.pos+=2,t.writeUInt32LE(this.compress,this.pos),this.pos+=4,t.writeUInt32LE(this.rgbSize,this.pos),this.pos+=4,t.writeUInt32LE(this.hr,this.pos),this.pos+=4,t.writeUInt32LE(this.vr,this.pos),this.pos+=4,t.writeUInt32LE(this.colors,this.pos),this.pos+=4,t.writeUInt32LE(this.importantColors,this.pos),this.pos+=4;for(var i=0,e=3*this.width+this.extraBytes,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var n=this.pos+r*e+3*a;t[n+2]=this.buffer[i++],t[n+1]=this.buffer[i++],t[n]=this.buffer[i++],i++}if(this.extraBytes>0){var h=this.pos+r*e+3*this.width;t.fill(0,h,h+this.extraBytes)}}return t},t.exports=function(t,i){"undefined"==typeof i&&(i=100);var r=new e(t),a=r.encode();return{data:a,width:t.width,height:t.height}}},function(t,i){"use strict";t.exports=function(t){return t&&t.length>1?255===t[0]&&216===t[1]&&255===t[2]?{ext:"jpg",mime:"image/jpeg"}:137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]?{ext:"png",mime:"image/png"}:71===t[0]&&73===t[1]&&70===t[2]?{ext:"gif",mime:"image/gif"}:87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?{ext:"webp",mime:"image/webp"}:70===t[0]&&76===t[1]&&73===t[2]&&70===t[3]?{ext:"flif",mime:"image/flif"}:(73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3])&&67===t[8]&&82===t[9]?{ext:"cr2",mime:"image/x-canon-cr2"}:73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3]?{ext:"tif",mime:"image/tiff"}:66===t[0]&&77===t[1]?{ext:"bmp",mime:"image/bmp"}:73===t[0]&&73===t[1]&&188===t[2]?{ext:"jxr",mime:"image/vnd.ms-photo"}:56===t[0]&&66===t[1]&&80===t[2]&&83===t[3]?{ext:"psd",mime:"image/vnd.adobe.photoshop"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&109===t[30]&&105===t[31]&&109===t[32]&&101===t[33]&&116===t[34]&&121===t[35]&&112===t[36]&&101===t[37]&&97===t[38]&&112===t[39]&&112===t[40]&&108===t[41]&&105===t[42]&&99===t[43]&&97===t[44]&&116===t[45]&&105===t[46]&&111===t[47]&&110===t[48]&&47===t[49]&&101===t[50]&&112===t[51]&&117===t[52]&&98===t[53]&&43===t[54]&&122===t[55]&&105===t[56]&&112===t[57]?{ext:"epub",mime:"application/epub+zip"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&77===t[30]&&69===t[31]&&84===t[32]&&65===t[33]&&45===t[34]&&73===t[35]&&78===t[36]&&70===t[37]&&47===t[38]&&109===t[39]&&111===t[40]&&122===t[41]&&105===t[42]&&108===t[43]&&108===t[44]&&97===t[45]&&46===t[46]&&114===t[47]&&115===t[48]&&97===t[49]?{ext:"xpi",mime:"application/x-xpinstall"}:80!==t[0]||75!==t[1]||3!==t[2]&&5!==t[2]&&7!==t[2]||4!==t[3]&&6!==t[3]&&8!==t[3]?117===t[257]&&115===t[258]&&116===t[259]&&97===t[260]&&114===t[261]?{ext:"tar",mime:"application/x-tar"}:82!==t[0]||97!==t[1]||114!==t[2]||33!==t[3]||26!==t[4]||7!==t[5]||0!==t[6]&&1!==t[6]?31===t[0]&&139===t[1]&&8===t[2]?{ext:"gz",mime:"application/gzip"}:66===t[0]&&90===t[1]&&104===t[2]?{ext:"bz2",mime:"application/x-bzip2"}:55===t[0]&&122===t[1]&&188===t[2]&&175===t[3]&&39===t[4]&&28===t[5]?{ext:"7z",mime:"application/x-7z-compressed"}:120===t[0]&&1===t[1]?{ext:"dmg",mime:"application/x-apple-diskimage"}:0===t[0]&&0===t[1]&&0===t[2]&&(24===t[3]||32===t[3])&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]||51===t[0]&&103===t[1]&&112===t[2]&&53===t[3]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&109===t[16]&&112===t[17]&&52===t[18]&&49===t[19]&&109===t[20]&&112===t[21]&&52===t[22]&&50===t[23]&&105===t[24]&&115===t[25]&&111===t[26]&&109===t[27]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&105===t[8]&&115===t[9]&&111===t[10]&&109===t[11]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&0===t[15]?{ext:"mp4",mime:"video/mp4"}:0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&86===t[10]?{ext:"m4v",mime:"video/x-m4v"}:77===t[0]&&84===t[1]&&104===t[2]&&100===t[3]?{ext:"mid",mime:"audio/midi"}:109===t[31]&&97===t[32]&&116===t[33]&&114===t[34]&&111===t[35]&&115===t[36]&&107===t[37]&&97===t[38]?{ext:"mkv",mime:"video/x-matroska"}:26===t[0]&&69===t[1]&&223===t[2]&&163===t[3]?{ext:"webm",mime:"video/webm"}:0===t[0]&&0===t[1]&&0===t[2]&&20===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]?{ext:"mov",mime:"video/quicktime"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&65===t[8]&&86===t[9]&&73===t[10]?{ext:"avi",mime:"video/x-msvideo"}:48===t[0]&&38===t[1]&&178===t[2]&&117===t[3]&&142===t[4]&&102===t[5]&&207===t[6]&&17===t[7]&&166===t[8]&&217===t[9]?{ext:"wmv",mime:"video/x-ms-wmv"}:0===t[0]&&0===t[1]&&1===t[2]&&"b"===t[3].toString(16)[0]?{ext:"mpg",mime:"video/mpeg"}:73===t[0]&&68===t[1]&&51===t[2]||255===t[0]&&251===t[1]?{ext:"mp3",mime:"audio/mpeg"}:102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&65===t[10]||77===t[0]&&52===t[1]&&65===t[2]&&32===t[3]?{ext:"m4a",mime:"audio/m4a"}:79===t[28]&&112===t[29]&&117===t[30]&&115===t[31]&&72===t[32]&&101===t[33]&&97===t[34]&&100===t[35]?{ext:"opus",mime:"audio/opus"}:79===t[0]&&103===t[1]&&103===t[2]&&83===t[3]?{ext:"ogg",mime:"audio/ogg"}:102===t[0]&&76===t[1]&&97===t[2]&&67===t[3]?{ext:"flac",mime:"audio/x-flac"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&65===t[9]&&86===t[10]&&69===t[11]?{ext:"wav",mime:"audio/x-wav"}:35===t[0]&&33===t[1]&&65===t[2]&&77===t[3]&&82===t[4]&&10===t[5]?{ext:"amr",mime:"audio/amr"}:37===t[0]&&80===t[1]&&68===t[2]&&70===t[3]?{ext:"pdf",mime:"application/pdf"}:77===t[0]&&90===t[1]?{ext:"exe",mime:"application/x-msdownload"}:67!==t[0]&&70!==t[0]||87!==t[1]||83!==t[2]?123===t[0]&&92===t[1]&&114===t[2]&&116===t[3]&&102===t[4]?{ext:"rtf",mime:"application/rtf"}:119===t[0]&&79===t[1]&&70===t[2]&&70===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff",mime:"application/font-woff"}:119===t[0]&&79===t[1]&&70===t[2]&&50===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff2",mime:"application/font-woff"}:76===t[34]&&80===t[35]&&(0===t[8]&&0===t[9]&&1===t[10]||1===t[8]&&0===t[9]&&2===t[10]||2===t[8]&&0===t[9]&&2===t[10])?{ext:"eot",mime:"application/octet-stream"}:0===t[0]&&1===t[1]&&0===t[2]&&0===t[3]&&0===t[4]?{ext:"ttf",mime:"application/font-sfnt"}:79===t[0]&&84===t[1]&&84===t[2]&&79===t[3]&&0===t[4]?{ext:"otf",mime:"application/font-sfnt"}:0===t[0]&&0===t[1]&&1===t[2]&&0===t[3]?{ext:"ico",mime:"image/x-icon"}:70===t[0]&&76===t[1]&&86===t[2]&&1===t[3]?{ext:"flv",mime:"video/x-flv"}:37===t[0]&&33===t[1]?{ext:"ps",mime:"application/postscript"}:253===t[0]&&55===t[1]&&122===t[2]&&88===t[3]&&90===t[4]&&0===t[5]?{ext:"xz",mime:"application/x-xz"}:83===t[0]&&81===t[1]&&76===t[2]&&105===t[3]?{ext:"sqlite",mime:"application/x-sqlite3"}:78===t[0]&&69===t[1]&&83===t[2]&&26===t[3]?{ext:"nes",mime:"application/x-nintendo-nes-rom"}:67===t[0]&&114===t[1]&&50===t[2]&&52===t[3]?{ext:"crx",mime:"application/x-google-chrome-extension"}:77===t[0]&&83===t[1]&&67===t[2]&&70===t[3]||73===t[0]&&83===t[1]&&99===t[2]&&40===t[3]?{ext:"cab",mime:"application/vnd.ms-cab-compressed"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]&&10===t[7]&&100===t[8]&&101===t[9]&&98===t[10]&&105===t[11]&&97===t[12]&&110===t[13]&&45===t[14]&&98===t[15]&&105===t[16]&&110===t[17]&&97===t[18]&&114===t[19]&&121===t[20]?{ext:"deb",mime:"application/x-deb"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]?{ext:"ar",mime:"application/x-unix-archive"}:237===t[0]&&171===t[1]&&238===t[2]&&219===t[3]?{ext:"rpm",mime:"application/x-rpm"}:31===t[0]&&160===t[1]||31===t[0]&&157===t[1]?{ext:"Z",mime:"application/x-compress"}:76===t[0]&&90===t[1]&&73===t[2]&&80===t[3]?{ext:"lz",mime:"application/x-lzip"}:208===t[0]&&207===t[1]&&17===t[2]&&224===t[3]&&161===t[4]&&177===t[5]&&26===t[6]&&225===t[7]?{ext:"msi",mime:"application/x-msi"}:null:{ext:"swf",mime:"application/x-shockwave-flash"}:{ext:"rar",mime:"application/x-rar-compressed"}:{ext:"zip",mime:"application/zip"}:null}},function(t,i,e){"use strict";var r=e(18);t.exports=function(t){var i=["jpg","png","gif","webp","tif","bmp","jxr","psd"],e=r(t);return i.indexOf(e&&e.ext)!==-1?e:null}},function(t,i,e){"use strict";function r(t){for(var i=2*t+1,e=new Array(Math.pow(i,2)),r=0;r<i;r++)for(var a=0;a<i;a++)e[r*i+a]=Math.pow(r-t,2)+Math.pow(a-t,2);return{data:e,width:i,height:i}}function a(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=Math.exp(-e[h]/(2*Math.pow(i,2)));return{data:n,width:r,height:a}}function n(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"gaussian",arguments.length>1&&void 0!==arguments[1]?arguments[1]:3),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.5;t=(t-1)/2;var e=r(t),n=a(e,i),h=o(n);return s(n,h)}var h=e(0),o=h.sum2d,s=h.divide2d;t.exports={fspecial:n}},function(t,i,e){"use strict";function r(t,i,e,r){if(t=d(t,u([i/2,e/2]),r),0===o(i,2)&&(t.data=t.data.slice(0,-t.width),t.height--),0===o(e,2)){for(var a=[],n=0;n<t.data.length;n++)(n+1)%t.width!==0&&a.push(t.data[n]);t.data=a,t.width--}return t}function a(t){return"same"===t&&(t="valid"),t}function n(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"symmetric",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"same";return t=r(t,i.width,i.height,e),n=a(n),c(i,t,n)}var h=e(5),o=h.mod,s=e(7),d=s.padarray,f=e(0),u=f.floor,p=e(3),c=p.filter2;t.exports={imfilter:n}},function(t,i){"use strict";function e(t){for(var i=t.data,e=t.width,r=t.height,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,h=2.5066282746310007,o=new Array(i.length),s=0;s<i.length;s++){var d=(i[s]-a)/n;o[s]=Math.exp(-Math.pow(d,2)/2)/(n*h)}return{data:o,width:e,height:r}}t.exports={normpdf:e}},function(t,i){"use strict";function e(t){var i=a(t,3),e=i[0],r=i[1],n=i[2];return Math.round(.29894*e+.58704*r+.11402*n)}function r(t){for(var i=t.data,r=t.width,a=t.height,n=new Array(r*a),h=0;h<r;h++)for(var o=0;o<a;o++){var s=h+o*r,d=4*s;n[s]=e([i[d],i[d+1],i[d+2],i[d+3]])}return{data:n,width:r,height:a}}var a=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={rgb2gray:r}},function(t,i){"use strict";function e(t,i,e){for(var a=r(i,3),n=a[0],h=a[1],o=a[2],s=r(e,3),d=s[0],f=s[1],u=s[2],p=Math.ceil((u-d)/f),c=Math.ceil((o-n)/h),m=new Array(p*c),l=0;l<c;l++)for(var v=0;v<p;v++){var w=n+l*h,g=d+v*f;m[l*p+v]=t.data[w*t.width+g]}return{data:m,width:p,height:c}}var r=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={skip2d:e}},function(t,i){"use strict";function e(t,i,e,r,a){for(var n=t.data,h=t.width,o=new Array(a*e),s=0;s<e;s++)for(var d=0;d<a;d++)o[s*a+d]=n[(r+s)*h+i+d];return{data:o,width:a,height:e}}t.exports={sub:e}},function(t,i){"use strict";function e(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(e*r),n=0;n<r;n++)for(var h=0;h<e;h++)a[h*r+n]=i[n*e+h];return{data:a,height:e,width:r}}t.exports={transpose:e}},function(i,e){i.exports=t},function(t,i){t.exports=require("fs")},function(t,i){t.exports=require("https")},function(t,i,e){"use strict";function r(t){if(Object.keys(t).forEach(function(t){if(!(t in I))throw new Error('"'+t+'" is not a valid option')}),"k1"in t&&("number"!=typeof t.k1||t.k1<0))throw new Error("Invalid k1 value. Default is "+I.k1);if("k2"in t&&("number"!=typeof t.k2||t.k2<0))throw new Error("Invalid k2 value. Default is "+I.k2)}function a(t){return r(t),Object.assign({},I,t)}function n(t){var i=d(t,2),e=i[0],r=i[1];if(e.width!==r.width||e.height!==r.height)throw new Error("Image dimensions do not match");return[e,r]}function h(t){var i=d(t,2),e=i[0],r=i[1];return e=c(e),r=c(r),[e,r]}function o(t,i){return"fast"===i.downsample?u(t,i.maxSize):u(t)}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y("image1"),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y("image2"),e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(new Date).getTime();e=a(e);var s="fast"===e.ssim?w:x;return Promise.all([o(t,e),o(i,e)]).then(n).then(h).then(function(t){var i=d(t,2),r=i[0],a=i[1];return s(r,a,e)}).then(function(t){return{ssim_map:t,mssim:l(t),performance:(new Date).getTime()-r}})}var d=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),f=e(10),u=f.readpixels,p=e(1),c=p.rgb2gray,m=e(0),l=m.mean2d,v=e(11),w=v.ssim,g=e(9),x=g.originalSsim,b=e(12),y=b.force,I=e(14),M=e(13),U=M.version;s.ssim=w,s.version=U,t.exports=s}])});
//# sourceMappingURL=ssim.js.map

@@ -5,3 +5,3 @@ {

"main": "dist/ssim.js",
"version": "2.1.2",
"version": "2.1.3",
"scripts": {

@@ -12,2 +12,3 @@ "commit": "git-cz",

"test": "blue-tape spec/unit/{*,**/*}.spec.js | tap-dot",
"test:perf": "blue-tape spec/perf/{*,**/*}.spec.js | tap-dot",
"e2e": "npm-run-all --parallel e2e:*",

@@ -14,0 +15,0 @@ "e2e:live": "blue-tape spec/e2e_dist/live.spec.js | tap-dot",

@@ -73,3 +73,3 @@ [![CircleCI](https://circleci.com/gh/obartra/ssim/tree/master.svg?style=shield)](https://circleci.com/gh/obartra/ssim/tree/master) [![Test Coverage](https://codeclimate.com/github/obartra/ssim/badges/coverage.svg)](https://codeclimate.com/github/obartra/ssim/coverage) [![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://opensource.org/licenses/MIT)

| Dependencies | [![Known Vulnerabilities](https://snyk.io/test/github/obartra/ssim/badge.svg)](https://snyk.io/test/github/obartra/ssim) [![DavidDM](https://david-dm.org/obartra/ssim.svg)](https://david-dm.org/obartra/ssim) |
| Environments | ![](https://img.shields.io/badge/node-0.12-brightgreen.svg) ![](https://img.shields.io/badge/node-7.0-brightgreen.svg) |
| Environments | ![](https://img.shields.io/badge/node-0.12-brightgreen.svg) ![](https://img.shields.io/badge/node-7.1-brightgreen.svg) |
| Documentation | [![InchCI](https://inch-ci.org/github/obartra/ssim.svg?branch=master)](https://inch-ci.org/github/obartra/ssim) |

@@ -1,3 +0,1 @@

const { zeros } = require('./zeros');
/**

@@ -20,3 +18,3 @@ * Transposes a vector or a matrix

function transpose({ data: ref, width, height }) {
const { data } = zeros(width, height);
const data = new Array(width * height);

@@ -23,0 +21,0 @@ for (let i = 0; i < height; i++) {

@@ -1,1 +0,1 @@

module.exports = { type: 'deploy', "version": "2.1.2"};
module.exports = { type: 'deploy', "version": "2.1.3"};

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc