vendor: 4,185 bytes, lines 1-7
1/** 2 * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0. 3 * Original file: /npm/[email protected]/dist/mini.esm.mjs 4 * 5 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files 6 */ 7var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function e(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}var i=e,n=r;function s(t){if(i===setTimeout)return setTimeout(t,0);if((i===e||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(e){return i.call(this,t,0)}}}"function"==typeof t.setTimeout&&(i=setTimeout),"function"==typeof t.clearTimeout&&(n=clearTimeout);var a,o=[],h=!1,f=-1;function u(){h&&a&&(h=!1,a.length?o=a.concat(o):f=-1,o.length&&l())}function l(){if(!h){var t=s(u);h=!0;for(var e=o.length;e;){for(a=o,o=[];++f<e;)a&&a[f].run();f=-1,e=o.length}a=null,h=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===r||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function c(t,e){this.fun=t,this.array=e}c.prototype.run=function(){this.fun.apply(null,this.array)};function d(){}var p=d,g=d,y=d,w=d,m=d,b=d,v=d;var k=t.performance||{},A=k.now||k.mozNow||k.msNow||k.oNow||k.webkitNow||function(){return(new Date).getTime()};var S=new Date;var O={nextTick:function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];o.push(new c(t,e)),1!==o.length||h||s(l)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:p,addListener:g,once:y,off:w,removeListener:m,removeAllListeners:b,emit:v,binding:function(t){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(t){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(t){var e=.001*A.call(k),r=Math.floor(e),i=Math.floor(e%1*1e9);return t&&(r-=t[0],(i-=t[1])<0&&(r--,i+=1e9)),[r,i]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-S)/1e3}},E=[],U=[],T="undefined"!=typeof Uint8Array?Uint8Array:Array,P=!1;function B(){P=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0;e<64;++e)E[e]=t[e],U[t.charCodeAt(e)]=e;U["-".charCodeAt(0)]=62,U["_".charCodeAt(0)]=63}function R(t,e,r){for(var i,n,s=[],a=e;a<r;a+=3)i=(t[a]<<16)+(t[a+1]<<8)+t[a+2],s.push(E[(n=i)>>18&63]+E[n>>12&63]+E[n>>6&63]+E[63&n]);return s.join("")}function _(t){var e;P||B();for(var r=t.length,i=r%3,n="",s=[],a=16383,o=0,h=r-i;o<h;o+=a)s.push(R(t,o,o+a>h?h:o+a));return 1===i?(e=t[r-1],n+=E[e>>2],n+=E[e<<4&63],n+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],n+=E[e>>10],n+=E[e>>4&63],n+=E[e<<2&63],n+="="),s.push(n),s.join("")}function C(t,e,r,i,n){var s,a,o=8*n-i-1,h=(1<<o)-1,f=h>>1,u=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,s=d&(1<<-u)-1,d>>=-u,u+=o;u>0;s=256*s+t[e+l],l+=c,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=i;u>0;a=256*a+t[e+l],l+=c,u-=8);if(0===s)s=1-f;else{if(s===h)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,i),s-=f}return(d?-1:1)*a*Math.pow(2,s-i)}function I(t,e,r,i,n,s){var a,o,h,f=8*s-n-1,u=(1<<f)-1,l=u>>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,p=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(h=Math.pow(2,-a))<1&&(a--,h*=2),(e+=a+l>=1?c/h:c*Math.pow(2,1-l))*h>=2&&(a++,h/=2),a+l>=u?(o=0,a=u):a+l>=1?(o=(e*h-1)*Math.pow(2,n),a+=l):(o=e*Math.pow(2,l-1)*Math.pow(2,n),a=0));n>=8;t[r+d]=255&o,d+=p,o/=256,n-=8);for(a=a<<n|o,f+=n;f>0;t[r+d]=255&a,d+=p,a/=256,f-=8);t[r+d-p]|=128*g}var x={}.toString,L=Array.isArray||function(t){return"[object Array]"==x.call(t)};function V(){return M.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function D(t,e){if(V()<e)throw new RangeError("Invalid typed array length");return M.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=M.prototype:(null===t&&(t=new M(e)),t.length=e),t}function M(t,e,r){if(!(M.TYPED_ARRAY_SUPPORT||this instanceof M))return new M(t,e,r);
vendor: 18,085 bytes, line 7
7if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return Y(this,t)}return z(this,t,e,r)}function z(t,e,r,i){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,r,i){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");e=void 0===r&&void 0===i?new Uint8Array(e):void 0===i?new Uint8Array(e,r):new Uint8Array(e,r,i);M.TYPED_ARRAY_SUPPORT?(t=e).__proto__=M.prototype:t=N(t,e);return t}(t,e,r,i):"string"==typeof e?function(t,e,r){"string"==typeof r&&""!==r||(r="utf8");if(!M.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|K(e,r);t=D(t,i);var n=t.write(e,r);n!==i&&(t=t.slice(0,n));return t}(t,e,r):function(t,e){if($(e)){var r=0|j(e.length);return 0===(t=D(t,r)).length||e.copy(t,0,0,r),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(i=e.length)!=i?D(t,0):N(t,e);if("Buffer"===e.type&&L(e.data))return N(t,e.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function F(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function Y(t,e){if(F(e),t=D(t,e<0?0:0|j(e)),!M.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function N(t,e){var r=e.length<0?0:0|j(e.length);t=D(t,r);for(var i=0;i<r;i+=1)t[i]=255&e[i];return t}function j(t){if(t>=V())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+V().toString(16)+" bytes");return 0|t}function $(t){return!(null==t||!t._isBuffer)}function K(t,e){if($(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return mt(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return bt(t).length;default:if(i)return mt(t).length;e=(""+e).toLowerCase(),i=!0}}function W(t,e,r){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return ot(this,e,r);case"utf8":case"utf-8":return it(this,e,r);case"ascii":return st(this,e,r);case"latin1":case"binary":return at(this,e,r);case"base64":return rt(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ht(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function X(t,e,r){var i=t[e];t[e]=t[r],t[r]=i}function H(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=M.from(e,i)),$(e))return 0===e.length?-1:G(t,e,r,i,n);if("number"==typeof e)return e&=255,M.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):G(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function G(t,e,r,i,n){var s,a=1,o=t.length,h=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;a=2,o/=2,h/=2,r/=2}function f(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(n){var u=-1;for(s=r;s<o;s++)if(f(t,s)===f(e,-1===u?0:s-u)){if(-1===u&&(u=s),s-u+1===h)return u*a}else-1!==u&&(s-=s-u),u=-1}else for(r+h>o&&(r=o-h),s=r;s>=0;s--){for(var l=!0,c=0;c<h;c++)if(f(t,s+c)!==f(e,c)){l=!1;break}if(l)return s}return-1}function J(t,e,r,i){r=Number(r)||0;var n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;var s=e.length;if(s%2!=0)throw new TypeError("Invalid hex string");i>s/2&&(i=s/2);for(var a=0;a<i;++a){var o=parseInt(e.substr(2*a,2),16);if(isNaN(o))return a;t[r+a]=o}return a}function q(t,e,r,i){return vt(mt(e,t.length-r),t,r,i)}function Z(t,e,r,i){return vt(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function Q(t,e,r,i){return Z(t,e,r,i)}function tt(t,e,r,i){return vt(bt(e),t,r,i)}function et(t,e,r,i){return vt(function(t,e){for(var r,i,n,s=[],a=0;a<t.length&&!((e-=2)<0);++a)i=(r=t.charCodeAt(a))>>8,n=r%256,s.push(n),s.push(i);return s}(e,t.length-r),t,r,i)}function rt(t,e,r){return 0===e&&r===t.length?_(t):_(t.slice(e,r))}function it(t,e,r){r=Math.min(t.length,r);for(var i=[],n=e;n<r;){var s,a,o,h,f=t[n],u=null,l=f>239?4:f>223?3:f>191?2:1;if(n+l<=r)switch(l){case 1:f<128&&(u=f);break;case 2:128==(192&(s=t[n+1]))&&(h=(31&f)<<6|63&s)>127&&(u=h);break;case 3:s=t[n+1],a=t[n+2],128==(192&s)&&128==(192&a)&&(h=(15&f)<<12|(63&s)<<6|63&a)>2047&&(h<55296||h>57343)&&(u=h);break;case 4:s=t[n+1],a=t[n+2],o=t[n+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(h=(15&f)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&h<1114112&&(u=h)}null===u?(u=65533,l=1):u>65535&&(u-=65536,i.push(u>>>10&1023|55296),u=56320|1023&u),i.push(u),n+=l}return function(t){var e=t.length;if(e<=nt)return String.fromCharCode.apply(String,t);var r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=nt));return r}(i)}M.TYPED_ARRAY_SUPPORT=void 0===t.TYPED_ARRAY_SUPPORT||t.TYPED_ARRAY_SUPPORT,V(),M.poolSize=8192,M._augment=function(t){return t.__proto__=M.prototype,t},M.from=function(t,e,r){return z(null,t,e,r)},M.TYPED_ARRAY_SUPPORT&&(M.prototype.__proto__=Uint8Array.prototype,M.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&M[Symbol.species]),M.alloc=function(t,e,r){return function(t,e,r,i){return F(e),e<=0?D(t,e):void 0!==r?"string"==typeof i?D(t,e).fill(r,i):D(t,e).fill(r):D(t,e)}(null,t,e,r)},M.allocUnsafe=function(t){return Y(null,t)},M.allocUnsafeSlow=function(t){return Y(null,t)},M.isBuffer=function(t){return null!=t&&(!!t._isBuffer||kt(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&kt(t.slice(0,0))}(t))},M.compare=function(t,e){if(!$(t)||!$(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,i=e.length,n=0,s=Math.min(r,i);n<s;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},M.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},M.concat=function(t,e){if(!L(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return M.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var i=M.allocUnsafe(e),n=0;for(r=0;r<t.length;++r){var s=t[r];if(!$(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(i,n),n+=s.length}return i},M.byteLength=K,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)X(this,e,e+1);return this},M.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)X(this,e,e+3),X(this,e+1,e+2);return this},M.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)X(this,e,e+7),X(this,e+1,e+6),X(this,e+2,e+5),X(this,e+3,e+4);return this},M.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?it(this,0,t):W.apply(this,arguments)},M.prototype.equals=function(t){if(!$(t))throw new TypeError("Argument must be a Buffer");return this===t||0===M.compare(this,t)},M.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},M.prototype.compare=function(t,e,r,i,n){if(!$(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;for(var s=(n>>>=0)-(i>>>=0),a=(r>>>=0)-(e>>>=0),o=Math.min(s,a),h=this.slice(i,n),f=t.slice(e,r),u=0;u<o;++u)if(h[u]!==f[u]){s=h[u],a=f[u];break}return s<a?-1:a<s?1:0},M.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},M.prototype.indexOf=function(t,e,r){return H(this,t,e,r,!0)},M.prototype.lastIndexOf=function(t,e,r){return H(this,t,e,r,!1)},M.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return J(this,t,e,r);case"utf8":case"utf-8":return q(this,t,e,r);case"ascii":return Z(this,t,e,r);case"latin1":case"binary":return Q(this,t,e,r);case"base64":return tt(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return et(this,t,e,r);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var nt=4096;function st(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function at(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function ot(t,e,r){var i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);for(var n="",s=e;s<r;++s)n+=wt(t[s]);return n}function ht(t,e,r){for(var i=t.slice(e,r),n="",s=0;s<i.length;s+=2)n+=String.fromCharCode(i[s]+256*i[s+1]);return n}function ft(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function ut(t,e,r,i,n,s){if(!$(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<s)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function lt(t,e,r,i){e<0&&(e=65535+e+1);for(var n=0,s=Math.min(t.length-r,2);n<s;++n)t[r+n]=(e&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function ct(t,e,r,i){e<0&&(e=4294967295+e+1);for(var n=0,s=Math.min(t.length-r,4);n<s;++n)t[r+n]=e>>>8*(i?n:3-n)&255}function dt(t,e,r,i,n,s){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function pt(t,e,r,i,n){return n||dt(t,0,r,4),I(t,e,r,i,23,4),r+4}function gt(t,e,r,i,n){return n||dt(t,0,r,8),I(t,e,r,i,52,8),r+8}M.prototype.slice=function(t,e){var r,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t),M.TYPED_ARRAY_SUPPORT)(r=this.subarray(t,e)).__proto__=M.prototype;else{var n=e-t;r=new M(n,void 0);for(var s=0;s<n;++s)r[s]=this[s+t]}return r},M.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||ft(t,e,this.length);for(var i=this[t],n=1,s=0;++s<e&&(n*=256);)i+=this[t+s]*n;return i},M.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||ft(t,e,this.length);for(var i=this[t+--e],n=1;e>0&&(n*=256);)i+=this[t+--e]*n;return i},M.prototype.readUInt8=function(t,e){return e||ft(t,1,this.length),this[t]},M.prototype.readUInt16LE=function(t,e){return e||ft(t,2,this.length),this[t]|this[t+1]<<8},M.prototype.readUInt16BE=function(t,e){return e||ft(t,2,this.length),this[t]<<8|this[t+1]},M.prototype.readUInt32LE=function(t,e){return e||ft(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},M.prototype.readUInt32BE=function(t,e){return e||ft(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},M.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||ft(t,e,this.length);for(var i=this[t],n=1,s=0;++s<e&&(n*=256);)i+=this[t+s]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*e)),i},M.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||ft(t,e,this.length);for(var i=e,n=1,s=this[t+--i];i>0&&(n*=256);)s+=this[t+--i]*n;return s>=(n*=128)&&(s-=Math.pow(2,8*e)),s},M.prototype.readInt8=function(t,e){return e||ft(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},M.prototype.readInt16LE=function(t,e){e||ft(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},M.prototype.readInt16BE=function(t,e){e||ft(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},M.prototype.readInt32LE=function(t,e){return e||ft(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},M.prototype.readInt32BE=function(t,e){return e||ft(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},M.prototype.readFloatLE=function(t,e){return e||ft(t,4,this.length),C(this,t,!0,23,4)},M.prototype.readFloatBE=function(t,e){return e||ft(t,4,this.length),C(this,t,!1,23,4)},M.prototype.readDoubleLE=function(t,e){return e||ft(t,8,this.length),C(this,t,!0,52,8)},M.prototype.readDoubleBE=function(t,e){return e||ft(t,8,this.length),C(this,t,!1,52,8)},M.prototype.writeUIntLE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||ut(this,t,e,r,Math.pow(2,8*r)-1,0);var n=1,s=0;for(this[e]=255&t;++s<r&&(n*=256);)this[e+s]=t/n&255;return e+r},M.prototype.writeUIntBE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||ut(this,t,e,r,Math.pow(2,8*r)-1,0);var n=r-1,s=1;for(this[e+n]=255&t;--n>=0&&(s*=256);)this[e+n]=t/s&255;return e+r},M.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,1,255,0),M.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},M.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,2,65535,0),M.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):lt(this,t,e,!0),e+2},M.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,2,65535,0),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):lt(this,t,e,!1),e+2},M.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,4,4294967295,0),M.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):ct(this,t,e,!0),e+4},M.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,4,4294967295,0),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):ct(this,t,e,!1),e+4},M.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);ut(this,t,e,r,n-1,-n)}var s=0,a=1,o=0;for(this[e]=255&t;++s<r&&(a*=256);)t<0&&0===o&&0!==this[e+s-1]&&(o=1),this[e+s]=(t/a|0)-o&255;return e+r},M.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);ut(this,t,e,r,n-1,-n)}var s=r-1,a=1,o=0;for(this[e+s]=255&t;--s>=0&&(a*=256);)t<0&&0===o&&0!==this[e+s+1]&&(o=1),this[e+s]=(t/a|0)-o&255;return e+r},M.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,1,127,-128),M.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},M.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,2,32767,-32768),M.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):lt(this,t,e,!0),e+2},M.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,2,32767,-32768),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):lt(this,t,e,!1),e+2},M.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,4,2147483647,-2147483648),M.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):ct(this,t,e,!0),e+4},M.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||ut(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),M.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):ct(this,t,e,!1),e+4},M.prototype.writeFloatLE=function(t,e,r){return pt(this,t,e,!0,r)},M.prototype.writeFloatBE=function(t,e,r){return pt(this,t,e,!1,r)},M.prototype.writeDoubleLE=function(t,e,r){return gt(this,t,e,!0,r)},M.prototype.writeDoubleBE=function(t,e,r){return gt(this,t,e,!1,r)},M.prototype.copy=function(t,e,r,i){if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);var n,s=i-r;if(this===t&&r<e&&e<i)for(n=s-1;n>=0;--n)t[n+e]=this[n+r];else if(s<1e3||!M.TYPED_ARRAY_SUPPORT)for(n=0;n<s;++n)t[n+e]=this[n+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+s),e);return s},M.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!M.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var s;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(s=e;s<r;++s)this[s]=t;else{var a=$(t)?t:mt(new M(t,i).toString()),o=a.length;for(s=0;s<r-e;++s)this[s+e]=a[s%o]}return this};var yt=/[^+\/0-9A-Za-z-_]/g;function wt(t){return t<16?"0"+t.toString(16):t.toString(16)}function mt(t,e){var r;e=e||1/0;for(var i=t.length,n=null,s=[],a=0;a<i;++a){if((r=t.charCodeAt(a))>
755295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(a+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function bt(t){return function(t){var e,r,i,n,s,a;P||B();var o=t.length;if(o%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===t[o-2]?2:"="===t[o-1]?1:0,a=new T(3*o/4-s),i=s>0?o-4:o;var h=0;for(e=0,r=0;e<i;e+=4,r+=3)n=U[t.charCodeAt(e)]<<18|U[t.charCodeAt(e+1)]<<12|U[t.charCodeAt(e+2)]<<6|U[t.charCodeAt(e+3)],a[h++]=n>>16&255,a[h++]=n>>8&255,a[h++]=255&n;return 2===s?(n=U[t.charCodeAt(e)]<<2|U[t.charCodeAt(e+1)]>>4,a[h++]=255&n):1===s&&(n=U[t.charCodeAt(e)]<<10|U[t.charCodeAt(e+1)]<<4|U[t.charCodeAt(e+2)]>>2,a[h++]=n>>8&255,a[h++]=255&n),a}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(yt,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function vt(t,e,r,i){for(var n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function kt(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function At(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var St="undefined"!=typeof self?self:t;const Ot="undefined"!=typeof navigator,Et=Ot&&"undefined"==typeof HTMLImageElement,Ut=!(void 0===t||!O.versions||!O.versions.node),Tt=St.Buffer,Pt=!!Tt,Bt=t=>void 0!==t;function Rt(t){return void 0===t||(t instanceof Map?0===t.size:0===Object.values(t).filter(Bt).length)}function _t(t){let e=new Error(t);throw delete e.stack,e}function Ct(t){let e=function(t){let e=0;return t.ifd0.enabled&&(e+=1024),t.exif.enabled&&(e+=2048),t.makerNote&&(e+=2048),t.userComment&&(e+=1024),t.gps.enabled&&(e+=512),t.interop.enabled&&(e+=100),t.ifd1.enabled&&(e+=1024),e+2048}(t);return t.jfif.enabled&&(e+=50),t.xmp.enabled&&(e+=2e4),t.iptc.enabled&&(e+=14e3),t.icc.enabled&&(e+=6e3),e}const It=t=>String.fromCharCode.apply(null,t),xt="undefined"!=typeof TextDecoder?new TextDecoder("utf-8"):void 0;class Lt{static from(t,e){return t instanceof this&&t.le===e?t:new Lt(t,void 0,void 0,e)}constructor(t,e=0,r,i){if("boolean"==typeof i&&(this.le=i),Array.isArray(t)&&(t=new Uint8Array(t)),0===t)this.byteOffset=0,this.byteLength=0;else if(t instanceof ArrayBuffer){void 0===r&&(r=t.byteLength-e);let i=new DataView(t,e,r);this._swapDataView(i)}else if(t instanceof Uint8Array||t instanceof DataView||t instanceof Lt){void 0===r&&(r=t.byteLength-e),(e+=t.byteOffset)+r>t.byteOffset+t.byteLength&&_t("Creating view outside of available memory in ArrayBuffer");let i=new DataView(t.buffer,e,r);this._swapDataView(i)}else if("number"==typeof t){let e=new DataView(new ArrayBuffer(t));this._swapDataView(e)}else _t("Invalid input argument for BufferView: "+t)}_swapArrayBuffer(t){this._swapDataView(new DataView(t))}_swapBuffer(t){this._swapDataView(new DataView(t.buffer,t.byteOffset,t.byteLength))}_swapDataView(t){this.dataView=t,this.buffer=t.buffer,this.byteOffset=t.byteOffset,this.byteLength=t.byteLength}_lengthToEnd(t){return this.byteLength-t}set(t,e,r=Lt){return t instanceof DataView||t instanceof Lt?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t instanceof ArrayBuffer&&(t=new Uint8Array(t)),t instanceof Uint8Array||_t("BufferView.set(): Invalid data argument."),this.toUint8().set(t,e),new r(this,e,t.byteLength)}subarray(t,e){return e=e||this._lengthToEnd(t),new Lt(this,t,e)}toUint8(){return new Uint8Array(this.buffer,this.byteOffset,this.byteLength)}getUint8Array(t,e){return new Uint8Array(this.buffer,this.byteOffset+t,e)}getString(t=0,e=this.byteLength){return r=this.getUint8Array(t,e),xt?xt.decode(r):Pt?M.from(r).toString("utf8"):decodeURIComponent(escape(It(r)));var r}getLatin1String(t=0,e=this.byteLength){let r=this.getUint8Array(t,e);return It(r)}getUnicodeString(t=0,e=this.byteLength){const r=[];for(let i=0;i<e&&t+i<this.byteLength;i+=2)r.push(this.getUint16(t+i));return It(r)}getInt8(t){return this.dataView.getInt8(t)}getUint8(t){return this.dataView.getUint8(t)}getInt16(t,e=this.le){return this.dataView.getInt16(t,e)}getInt32(t,e=this.le){return this.dataView.getInt32(t,e)}getUint16(t,e=this.le){return this.dataView.getUint16(t,e)}getUint32(t,e=this.le){return this.dataView.getUint32(t,e)}getFloat32(t,e=this.le){return this.dataView.getFloat32(t,e)}getFloat64(t,e=this.le){return this.dataView.getFloat64(t,e)}getFloat(t,e=this.le){return this.dataView.getFloat32(t,e)}getDouble(t,e=this.le){return this.dataView.getFloat64(t,e)}getUintBytes(t,e,r){switch(e){case 1:return this.getUint8(t,r);case 2:return this.getUint16(t,r);case 4:return this.getUint32(t,r);case 8:return this.getUint64&&this.getUint64(t,r)}}getUint(t,e,r){switch(e){case 8:return this.getUint8(t,r);case 16:return this.getUint16(t,r);case 32:return this.getUint32(t,r);case 64:return this.getUint64&&this.getUint64(t,r)}}toString(t){return this.dataView.toString(t,this.constructor.name)}ensureChunk(){}}function Vt(t,e){_t(`${t} '${e}' was not loaded, try using full build of exifr.`)}class Dt extends Map{constructor(t){super(),this.kind=t}get(t,e){return this.has(t)||Vt(this.kind,t),e&&(t in e||function(t,e){_t(`Unknown ${t} '${e}'.`)}(this.kind,t),e[t].enabled||Vt(this.kind,t)),super.get(t)}keyList(){return Array.from(this.keys())}}var Mt=new Dt("file parser"),zt=new Dt("segment parser"),Ft=new Dt("file reader");let Yt=St.fetch;function Nt(t,e){return(r=t).startsWith("data:")||r.length>1e4?$t(t,e,"base64"):Ut&&t.includes("://")?jt(t,e,"url",Kt):Ut?$t(t,e,"fs"):Ot?jt(t,e,"url",Kt):void _t("Invalid input argument");var r}async function jt(t,e,r,i){return Ft.has(r)?$t(t,e,r):i?async function(t,e){let r=await e(t);return new Lt(r)}(t,i):void _t(`Parser ${r} is not loaded`)}async function $t(t,e,r){let i=new(Ft.get(r))(t,e);return await i.read(),i}const Kt=t=>Yt(t).then((t=>t.arrayBuffer())),Wt=t=>new Promise(((e,r)=>{let i=new FileReader;i.onloadend=()=>e(i.result||new ArrayBuffer),i.onerror=r,i.readAsArrayBuffer(t)}));class Xt extends Map{get tagKeys(){return this.allKeys||(this.allKeys=Array.from(this.keys())),this.allKeys}get tagValues(){return this.allValues||(this.allValues=Array.from(this.values())
vendor: 7,388 bytes, line 7
7),this.allValues}}function Ht(t,e,r){let i=new Xt;for(let[t,e]of r)i.set(t,e);if(Array.isArray(e))for(let r of e)t.set(r,i);else t.set(e,i);return i}function Gt(t,e,r){let i,n=t.get(e);for(i of r)n.set(i[0],i[1])}const Jt=new Map,qt=new Map,Zt=new Map,Qt=["chunked","firstChunkSize","firstChunkSizeNode","firstChunkSizeBrowser","chunkSize","chunkLimit"],te=["jfif","xmp","icc","iptc","ihdr"],ee=["tiff",...te],re=["ifd0","ifd1","exif","gps","interop"],ie=[...ee,...re],ne=["makerNote","userComment"],se=["translateKeys","translateValues","reviveValues","multiSegment"],ae=[...se,"sanitize","mergeOutput","silentErrors"];class oe{get translate(){return this.translateKeys||this.translateValues||this.reviveValues}}class he extends oe{get needed(){return this.enabled||this.deps.size>0}constructor(t,e,r,i){if(super(),At(this,"enabled",!1),At(this,"skip",new Set),At(this,"pick",new Set),At(this,"deps",new Set),At(this,"translateKeys",!1),At(this,"translateValues",!1),At(this,"reviveValues",!1),this.key=t,this.enabled=e,this.parse=this.enabled,this.applyInheritables(i),this.canBeFiltered=re.includes(t),this.canBeFiltered&&(this.dict=Jt.get(t)),void 0!==r)if(Array.isArray(r))this.parse=this.enabled=!0,this.canBeFiltered&&r.length>0&&this.translateTagSet(r,this.pick);else if("object"==typeof r){if(this.enabled=!0,this.parse=!1!==r.parse,this.canBeFiltered){let{pick:t,skip:e}=r;t&&t.length>0&&this.translateTagSet(t,this.pick),e&&e.length>0&&this.translateTagSet(e,this.skip)}this.applyInheritables(r)}else!0===r||!1===r?this.parse=this.enabled=r:_t(`Invalid options argument: ${r}`)}applyInheritables(t){let e,r;for(e of se)r=t[e],void 0!==r&&(this[e]=r)}translateTagSet(t,e){if(this.dict){let r,i,{tagKeys:n,tagValues:s}=this.dict;for(r of t)"string"==typeof r?(i=s.indexOf(r),-1===i&&(i=n.indexOf(Number(r))),-1!==i&&e.add(Number(n[i]))):e.add(r)}else for(let r of t)e.add(r)}finalizeFilters(){!this.enabled&&this.deps.size>0?(this.enabled=!0,pe(this.pick,this.deps)):this.enabled&&this.pick.size>0&&pe(this.pick,this.deps)}}var fe={jfif:!1,tiff:!0,xmp:!1,icc:!1,iptc:!1,ifd0:!0,ifd1:!1,exif:!0,gps:!0,interop:!1,ihdr:void 0,makerNote:!1,userComment:!1,multiSegment:!1,skip:[],pick:[],translateKeys:!0,translateValues:!0,reviveValues:!0,sanitize:!0,mergeOutput:!0,silentErrors:!0,chunked:!0,firstChunkSize:void 0,firstChunkSizeNode:512,firstChunkSizeBrowser:65536,chunkSize:65536,chunkLimit:5},ue=new Map;class le extends oe{static useCached(t){let e=ue.get(t);return void 0!==e||(e=new this(t),ue.set(t,e)),e}constructor(t){super(),!0===t?this.setupFromTrue():void 0===t?this.setupFromUndefined():Array.isArray(t)?this.setupFromArray(t):"object"==typeof t?this.setupFromObject(t):_t(`Invalid options argument ${t}`),void 0===this.firstChunkSize&&(this.firstChunkSize=Ot?this.firstChunkSizeBrowser:this.firstChunkSizeNode),this.mergeOutput&&(this.ifd1.enabled=!1),this.filterNestedSegmentTags(),this.traverseTiffDependencyTree(),this.checkLoadedPlugins()}setupFromUndefined(){let t;for(t of Qt)this[t]=fe[t];for(t of ae)this[t]=fe[t];for(t of ne)this[t]=fe[t];for(t of ie)this[t]=new he(t,fe[t],void 0,this)}setupFromTrue(){let t;for(t of Qt)this[t]=fe[t];for(t of ae)this[t]=fe[t];for(t of ne)this[t]=!0;for(t of ie)this[t]=new he(t,!0,void 0,this)}setupFromArray(t){let e;for(e of Qt)this[e]=fe[e];for(e of ae)this[e]=fe[e];for(e of ne)this[e]=fe[e];for(e of ie)this[e]=new he(e,!1,void 0,this);this.setupGlobalFilters(t,void 0,re)}setupFromObject(t){let e;for(e of(re.ifd0=re.ifd0||re.image,re.ifd1=re.ifd1||re.thumbnail,Object.assign(this,t),Qt))this[e]=de(t[e],fe[e]);for(e of ae)this[e]=de(t[e],fe[e]);for(e of ne)this[e]=de(t[e],fe[e]);for(e of ee)this[e]=new he(e,fe[e],t[e],this);for(e of re)this[e]=new he(e,fe[e],t[e],this.tiff);this.setupGlobalFilters(t.pick,t.skip,re,ie),!0===t.tiff?this.batchEnableWithBool(re,!0):!1===t.tiff?this.batchEnableWithUserValue(re,t):Array.isArray(t.tiff)?this.setupGlobalFilters(t.tiff,void 0,re):"object"==typeof t.tiff&&this.setupGlobalFilters(t.tiff.pick,t.tiff.skip,re)}batchEnableWithBool(t,e){for(let r of t)this[r].enabled=e}batchEnableWithUserValue(t,e){for(let r of t){let t=e[r];this[r].enabled=!1!==t&&void 0!==t}}setupGlobalFilters(t,e,r,i=r){if(t&&t.length){for(let t of i)this[t].enabled=!1;let e=ce(t,r);for(let[t,r]of e)pe(this[t].pick,r),this[t].enabled=!0}else if(e&&e.length){let t=ce(e,r);for(let[e,r]of t)pe(this[e].skip,r)}}filterNestedSegmentTags(){let{ifd0:t,exif:e,xmp:r,iptc:i,icc:n}=this;this.makerNote?e.deps.add(37500):e.skip.add(37500),this.userComment?e.deps.add(37510):e.skip.add(37510),r.enabled||t.skip.add(700),i.enabled||t.skip.add(33723),n.enabled||t.skip.add(34675)}traverseTiffDependencyTree(){let{ifd0:t,exif:e,gps:r,interop:i}=this;i.needed&&(e.deps.add(40965),t.deps.add(40965)),e.needed&&t.deps.add(34665),r.needed&&t.deps.add(34853),this.tiff.enabled=re.some((t=>!0===this[t].enabled))||this.makerNote||this.userComment;for(let t of re)this[t].finalizeFilters()}get onlyTiff(){return!te.map((t=>this[t].enabled)).some((t=>!0===t))&&this.tiff.enabled}checkLoadedPlugins(){for(let t of ee)this[t].enabled&&!zt.has(t)&&Vt("segment parser",t)}}function ce(t,e){let r,i,n,s,a=[];for(n of e){for(s of(r=Jt.get(n),i=[],r))(t.includes(s[0])||t.includes(s[1]))&&i.push(s[0]);i.length&&a.push([n,i])}return a}function de(t,e){return void 0!==t?t:void 0!==e?e:void 0}function pe(t,e){for(let r of e)t.add(r)}At(le,"default",fe);class ge{constructor(t){At(this,"parsers",{}),At(this,"output",{}),At(this,"errors",[]),At(this,"pushToErrors",(t=>this.errors.push(t))),this.options=le.useCached(t)}async read(t){this.file=await function(t,e){return"string"==typeof t?Nt(t,e):Ot&&!Et&&t instanceof HTMLImageElement?Nt(t.src,e):t instanceof Uint8Array||t instanceof ArrayBuffer||t instanceof DataView?new Lt(t):Ot&&t instanceof Blob?jt(t,e,"blob",Wt):void _t("Invalid input argument")}(t,this.options)}setup(){if(this.fileParser)return;let{file:t}=this,e=t.getUint16(0);for(let[r,i]of Mt)if(i.canHandle(t,e))return this.fileParser=new i(this.options,this.file,this.parsers),t[r]=!0;this.file.close&&this.file.close(),_t("Unknown file format")}async parse(){let{output:t,errors:e}=this;return this.setup(),this.options.silentErrors?(await this.executeParsers().catch(this.pushToErrors),e.push(...this.fileParser.errors)):await this.executeParsers(),this.file.close&&this.file.close(),this.options.silentErrors&&e.length>0&&(t.errors=e),Rt(r=t)?void 0:r;var r}async executeParsers(){let{output:t}=this;await this.fileParser.parse();let e=Object.values(this.parsers).map((async e=>{let r=await e.parse();e.assignToOutput(t,r)}));this.options.silentErrors&&(e=e.map((t=>t.catch(this.pushToErrors)))),await Promise.all(e)}async extractThumbnail(){this.setup();let{options:t,file:e}=this,r=zt.get("tiff",t);var i;if(e.tiff?i={start:0,type:"tiff"}:e.jpeg&&(i=await this.fileParser.getOrFindSegment("tiff")),void 0===i)return;let n=await this.fileParser.ensureSegmentChunk(i),s=this.parsers.tiff=new r(n,t,e),a=await s.extractThumbnail();return e.close&&e.close(),a}}async function ye(t,e){let r=new ge(e);return await r.read(t),r.parse()}var we=Object.freeze({__proto__:null,parse:ye,Exifr:ge,fileParsers:Mt,segmentParsers:zt,fileReaders:Ft,tagKeys:Jt,tagValues:qt,tagRevivers:Zt,createDictionary:Ht,extendDictionary:Gt,fetchUrlAsArrayBuffer:Kt,readBlobAsArrayBuffer:Wt,chunkedProps:Qt,otherSegments:te,segments:ee,t
vendor: 10,523 bytes, line 7
7iffBlocks:re,segmentsAndBlocks:ie,tiffExtractables:ne,inheritables:se,allFormatters:ae,Options:le});class me{static findPosition(t,e){let r=t.getUint16(e+2)+2,i="function"==typeof this.headerLength?this.headerLength(t,e,r):this.headerLength,n=e+i,s=r-i;return{offset:e,length:r,headerLength:i,start:n,size:s,end:n+s}}static parse(t,e={}){return new this(t,new le({[this.type]:e}),t).parse()}normalizeInput(t){return t instanceof Lt?t:new Lt(t)}constructor(t,e={},r){At(this,"errors",[]),At(this,"raw",new Map),At(this,"handleError",(t=>{if(!this.options.silentErrors)throw t;this.errors.push(t.message)})),this.chunk=this.normalizeInput(t),this.file=r,this.type=this.constructor.type,this.globalOptions=this.options=e,this.localOptions=e[this.type],this.canTranslate=this.localOptions&&this.localOptions.translate}translate(){this.canTranslate&&(this.translated=this.translateBlock(this.raw,this.type))}get output(){return this.translated?this.translated:this.raw?Object.fromEntries(this.raw):void 0}translateBlock(t,e){let r=Zt.get(e),i=qt.get(e),n=Jt.get(e),s=this.options[e],a=s.reviveValues&&!!r,o=s.translateValues&&!!i,h=s.translateKeys&&!!n,f={};for(let[e,s]of t)a&&r.has(e)?s=r.get(e)(s):o&&i.has(e)&&(s=this.translateValue(s,i.get(e))),h&&n.has(e)&&(e=n.get(e)||e),f[e]=s;return f}translateValue(t,e){return e[t]||e.DEFAULT||t}assignToOutput(t,e){this.assignObjectToOutput(t,this.constructor.type,e)}assignObjectToOutput(t,e,r){if(this.globalOptions.mergeOutput)return Object.assign(t,r);t[e]?Object.assign(t[e],r):t[e]=r}}function be(t){return 192===t||194===t||196===t||219===t||221===t||218===t||254===t}function ve(t){return t>=224&&t<=239}function ke(t,e,r){for(let[i,n]of zt)if(n.canHandle(t,e,r))return i}At(me,"headerLength",4),At(me,"type",void 0),At(me,"multiSegment",!1),At(me,"canHandle",(()=>!1));class Ae extends class{constructor(t,e,r){At(this,"errors",[]),At(this,"ensureSegmentChunk",(async t=>{let e=t.start,r=t.size||65536;if(this.file.chunked)if(this.file.available(e,r))t.chunk=this.file.subarray(e,r);else try{t.chunk=await this.file.readChunk(e,r)}catch(e){_t(`Couldn't read segment: ${JSON.stringify(t)}. ${e.message}`)}else this.file.byteLength>e+r?t.chunk=this.file.subarray(e,r):void 0===t.size?t.chunk=this.file.subarray(e):_t("Segment unreachable: "+JSON.stringify(t));return t.chunk})),this.extendOptions&&this.extendOptions(t),this.options=t,this.file=e,this.parsers=r}injectSegment(t,e){this.options[t].enabled&&this.createParser(t,e)}createParser(t,e){let r=new(zt.get(t))(e,this.options,this.file);return this.parsers[t]=r}createParsers(t){for(let e of t){let{type:t,chunk:r}=e,i=this.options[t];if(i&&i.enabled){let e=this.parsers[t];e&&e.append||e||this.createParser(t,r)}}}async readSegments(t){let e=t.map(this.ensureSegmentChunk);await Promise.all(e)}}{constructor(...t){super(...t),At(this,"appSegments",[]),At(this,"jpegSegments",[]),At(this,"unknownSegments",[])}static canHandle(t,e){return 65496===e}async parse(){await this.findAppSegments(),await this.readSegments(this.appSegments),this.mergeMultiSegments(),this.createParsers(this.mergedAppSegments||this.appSegments)}setupSegmentFinderArgs(t){!0===t?(this.findAll=!0,this.wanted=new Set(zt.keyList())):(t=void 0===t?zt.keyList().filter((t=>this.options[t].enabled)):t.filter((t=>this.options[t].enabled&&zt.has(t))),this.findAll=!1,this.remaining=new Set(t),this.wanted=new Set(t)),this.unfinishedMultiSegment=!1}async findAppSegments(t=0,e){this.setupSegmentFinderArgs(e);let{file:r,findAll:i,wanted:n,remaining:s}=this;if(!i&&this.file.chunked&&(i=Array.from(n).some((t=>{let e=zt.get(t),r=this.options[t];return e.multiSegment&&r.multiSegment})),i&&await this.file.readWhole()),t=this.findAppSegmentsInRange(t,r.byteLength),!this.options.onlyTiff&&r.chunked){let e=!1;for(;s.size>0&&!e&&(r.canReadNextChunk||this.unfinishedMultiSegment);){let{nextChunkOffset:i}=r,n=this.appSegments.some((t=>!this.file.available(t.offset||t.start,t.length||t.size)));if(e=t>i&&!n?!await r.readNextChunk(t):!await r.readNextChunk(i),void 0===(t=this.findAppSegmentsInRange(t,r.byteLength)))return}}}findAppSegmentsInRange(t,e){e-=2;let r,i,n,s,a,o,{file:h,findAll:f,wanted:u,remaining:l,options:c}=this;for(;t<e;t++)if(255===h.getUint8(t))if(r=h.getUint8(t+1),ve(r)){if(i=h.getUint16(t+2),n=ke(h,t,i),n&&u.has(n)&&(s=zt.get(n),a=s.findPosition(h,t),o=c[n],a.type=n,this.appSegments.push(a),!f&&(s.multiSegment&&o.multiSegment?(this.unfinishedMultiSegment=a.chunkNumber<a.chunkCount,this.unfinishedMultiSegment||l.delete(n)):l.delete(n),0===l.size)))break;c.recordUnknownSegments&&(a=me.findPosition(h,t),a.marker=r,this.unknownSegments.push(a)),t+=i+1}else if(be(r)){if(i=h.getUint16(t+2),218===r&&!1!==c.stopAfterSos)return;c.recordJpegSegments&&this.jpegSegments.push({offset:t,length:i,marker:r}),t+=i+1}return t}mergeMultiSegments(){if(!this.appSegments.some((t=>t.multiSegment)))return;let t=function(t){let e,r,i,n=new Map;for(let s=0;s<t.length;s++)e=t[s],r=e.type,n.has(r)?i=n.get(r):n.set(r,i=[]),i.push(e);return Array.from(n)}(this.appSegments);this.mergedAppSegments=t.map((([t,e])=>{let r=zt.get(t,this.options);return r.handleMultiSegments?{type:t,chunk:r.handleMultiSegments(e)}:e[0]}))}getSegment(t){return this.appSegments.find((e=>e.type===t))}async getOrFindSegment(t){let e=this.getSegment(t);return void 0===e&&(await this.findAppSegments(0,[t]),e=this.getSegment(t)),e}}At(Ae,"type","jpeg"),Mt.set("jpeg",Ae);const Se=[void 0,1,1,2,4,8,1,1,2,4,8,4,8,4];class Oe extends me{parseHeader(){var t=this.chunk.getUint16();18761===t?this.le=!0:19789===t&&(this.le=!1),this.chunk.le=this.le,this.headerParsed=!0}parseTags(t,e,r=new Map){let{pick:i,skip:n}=this.options[e];i=new Set(i);let s=i.size>0,a=0===n.size,o=this.chunk.getUint16(t);t+=2;for(let h=0;h<o;h++){let o=this.chunk.getUint16(t);if(s){if(i.has(o)&&(r.set(o,this.parseTag(t,o,e)),i.delete(o),0===i.size))break}else!a&&n.has(o)||r.set(o,this.parseTag(t,o,e));t+=12}return r}parseTag(t,e,r){let{chunk:i}=this,n=i.getUint16(t+2),s=i.getUint32(t+4),a=Se[n];if(a*s<=4?t+=8:t=i.getUint32(t+8),(n<1||n>13)&&_t(`Invalid TIFF value type. block: ${r.toUpperCase()}, tag: ${e.toString(16)}, type: ${n}, offset ${t}`),t>i.byteLength&&_t(`Invalid TIFF value offset. block: ${r.toUpperCase()}, tag: ${e.toString(16)}, type: ${n}, offset ${t} is outside of chunk size ${i.byteLength}`),1===n)return i.getUint8Array(t,s);if(2===n)return""===(o=function(t){for(;t.endsWith("\0");)t=t.slice(0,-1);return t}(o=i.getString(t,s)).trim())?void 0:o;var o;if(7===n)return i.getUint8Array(t,s);if(1===s)return this.parseTagValue(n,t);{let e=new(function(t){switch(t){case 1:return Uint8Array;case 3:return Uint16Array;case 4:return Uint32Array;case 5:case 10:default:return Array;case 6:return Int8Array;case 8:return Int16Array;case 9:return Int32Array;case 11:return Float32Array;case 12:return Float64Array}}(n))(s),r=a;for(let i=0;i<s;i++)e[i]=this.parseTagValue(n,t),t+=r;return e}}parseTagValue(t,e){let{chunk:r}=this;switch(t){case 1:return r.getUint8(e);case 3:return r.getUint16(e);case 4:case 13:return r.getUint32(e);case 5:return r.getUint32(e)/r.getUint32(e+4);case 6:return r.getInt8(e);case 8:return r.getInt16(e);case 9:return r.getInt32(e);case 10:return r.getInt32(e)/r.getInt32(e+4);case 11:return r.getFloat(e);case 12:return r.getDouble(e);default:_t(`Invalid tiff type ${t}`)}}}class Ee extends Oe{static canHandle(t,e){return 225===t.getUint8(e+1)&&1165519206===t.getUint32(e+4)&&0===t.getUint16(e+8)}async parse(){this.parseHeader();let{options:t}=this;return t.ifd0.enabled&&await this.parseIfd0Block(),t.exif.enabled&&await this.safeParse("parseExifBlock"),t.gps.enabled&&await this.safeParse("parseGpsBlock"),t.interop.enabled&&await this.safeParse("parseInteropBlock"),t.ifd1.enabled&&await this.safeParse("parseThumbnailBlock"),this.createOutput()}safeParse(t){let e=this[t]();return void 0!==e.catch&&(e=e.catch(this.handleError)),e}findIfd0Offset(){void 0===this.ifd0Offset&&(this.ifd0Offset=this.chunk.getUint32(4))}findIfd1Offset(){if(void 0===this.ifd1Offset){this.findIfd0Offset();let t=this.chunk.getUint16(this.ifd0Offset),e=this.ifd0Offset+2+12*t;this.ifd1Offset=this.chunk.getUint32(e)}}parseBlock(t,e){let r=new Map;return this[e]=r,this.parseTags(t,e,r),r}async parseIfd0Block(){if(this.ifd0)return;let{file:t}=this;this.findIfd0Offset(),this.ifd0Offset<8&&_t("Malformed EXIF data"),!t.chunked&&this.ifd0Offset>t.byteLength&&_t(`IFD0 offset points to outside of file.\nthis.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${t.byteLength}`),t.tiff&&await t.ensureChunk(this.ifd0Offset,Ct(this.options));let e=this.parseBlock(this.ifd0Offset,"ifd0");return 0!==e.size?(this.exifOffset=e.get(34665),this.interopOffset=e.get(40965),this.gpsOffset=e.get(34853),this.xmp=e.get(700),this.iptc=e.get(33723),this.icc=e.get(34675),this.options.sanitize&&(e.delete(34665),e.delete(40965),e.delete(34853),e.delete(700),e.delete(33723),e.delete(34675)),e):void 0}async parseExifBlock(){if(this.exif)return;if(this.ifd0||await this.parseIfd0Block(),void 0===this.exifOffset)return;this.file.tiff&&await this.file.ensureChunk(this.exifOffset,Ct(this.options));let t=this.parseBlock(this.exifOffset,"exif");return this.interopOffset||(this.interopOffset=t.get(40965)),this.makerNote=t.get(37500),this.userComment=t.get(37510),this.options.sanitize&&(t.delete(40965),t.delete(37500),t.delete(37510)),this.unpack(t,41728),this.unpack(t,41729),t}unpack(t,e){let r=t.get(e);r&&1===r.length&&t.set(e,r[0])}async parseGpsBlock(){if(this.gps)return;if(this.ifd0||await this.parseIfd0Block(),void 0===this.gpsOffset)return;let t=this.parseBlock(this.gpsOffset,"gps");return t&&t.has(2)&&t.has(4)&&(t.set("latitude",Ue(...t.get(2),t.get(1))),t.set("longitude",Ue(...t.get(4),t.get(3)))),t}async parseInteropBlock(){if(!this.interop&&(this.ifd0||await this.parseIfd0Block(),void 0!==this.interopOffset||this.exif||await this.parseExifBlock(),void 0!==this.interopOffset))return this.parseBlock(this.interopOffset,"interop")}async parseThumbnailBlock(t=!1){if(!this.ifd1&&!this.ifd1Parsed&&(!this.options.mergeOutput||t))return this.findIfd1Offset(),this.ifd1Offset>0&&(this.parseBlock(this.ifd1Offset,"ifd1"),this.ifd1Parsed=!0),this.ifd1}async extractThumbnail(){if(this.headerParsed||this.parseHeader(),this.ifd1Parsed||await this.parseThumbnailBlock(!0),void 0===this.ifd1)return;let t=this.ifd1.get(513),e=this.ifd1.get(514);return this.chunk.getUint8Array(t,e)}get image(){return this.ifd0}get thumbnail(){return this.ifd1}createOutput(){let t,e,r,i={};
vendor: 5,462 bytes, line 7
7for(e of re)if(t=this[e],!Rt(t))if(r=this.canTranslate?this.translateBlock(t,e):Object.fromEntries(t),this.options.mergeOutput){if("ifd1"===e)continue;Object.assign(i,r)}else i[e]=r;return this.makerNote&&(i.makerNote=this.makerNote),this.userComment&&(i.userComment=this.userComment),i}assignToOutput(t,e){if(this.globalOptions.mergeOutput)Object.assign(t,e);else for(let[r,i]of Object.entries(e))this.assignObjectToOutput(t,r,i)}}function Ue(t,e,r,i){var n=t+e/60+r/3600;return"S"!==i&&"W"!==i||(n*=-1),n}At(Ee,"type","tiff"),At(Ee,"headerLength",10),zt.set("tiff",Ee);var Te=Object.freeze({__proto__:null,default:we,Exifr:ge,fileParsers:Mt,segmentParsers:zt,fileReaders:Ft,tagKeys:Jt,tagValues:qt,tagRevivers:Zt,createDictionary:Ht,extendDictionary:Gt,fetchUrlAsArrayBuffer:Kt,readBlobAsArrayBuffer:Wt,chunkedProps:Qt,otherSegments:te,segments:ee,tiffBlocks:re,segmentsAndBlocks:ie,tiffExtractables:ne,inheritables:se,allFormatters:ae,Options:le,parse:ye});const Pe={ifd0:!1,ifd1:!1,exif:!1,gps:!1,interop:!1,sanitize:!1,reviveValues:!0,translateKeys:!1,translateValues:!1,mergeOutput:!1},Be=Object.assign({},Pe,{firstChunkSize:4e4,gps:[1,2,3,4]});async function Re(t){let e=new ge(Be);await e.read(t);let r=await e.parse();if(r&&r.gps){let{latitude:t,longitude:e}=r.gps;return{latitude:t,longitude:e}}}const _e=Object.assign({},Pe,{tiff:!1,ifd1:!0,mergeOutput:!1});async function Ce(t){let e=new ge(_e);await e.read(t);let r=await e.extractThumbnail();return r&&Pt?Tt.from(r):r}async function Ie(t){let e=await this.thumbnail(t);if(void 0!==e){let t=new Blob([e]);return URL.createObjectURL(t)}}const xe=Object.assign({},Pe,{firstChunkSize:4e4,ifd0:[274]});async function Le(t){let e=new ge(xe);await e.read(t);let r=await e.parse();if(r&&r.ifd0)return r.ifd0[274]}const Ve=Object.freeze({1:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:0,rad:0},2:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:0,rad:0},3:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:180,rad:180*Math.PI/180},4:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:180,rad:180*Math.PI/180},5:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:90,rad:90*Math.PI/180},6:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:90,rad:90*Math.PI/180},7:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:270,rad:270*Math.PI/180},8:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:270,rad:270*Math.PI/180}});let De=!0,Me=!0;if("object"==typeof navigator){let t=navigator.userAgent;if(t.includes("iPad")||t.includes("iPhone")){let e=t.match(/OS (\d+)_(\d+)/);if(e){let[,t,r]=e,i=Number(t)+.1*Number(r);De=i<13.4,Me=!1}}else if(t.includes("OS X 10")){let[,e]=t.match(/OS X 10[_.](\d+)/);De=Me=Number(e)<15}if(t.includes("Chrome/")){let[,e]=t.match(/Chrome\/(\d+)/);De=Me=Number(e)<81}else if(t.includes("Firefox/")){let[,e]=t.match(/Firefox\/(\d+)/);De=Me=Number(e)<77}}async function ze(t){let e=await Le(t);return Object.assign({canvas:De,css:Me},Ve[e])}class Fe extends Lt{constructor(...t){super(...t),At(this,"ranges",new Ye),0!==this.byteLength&&this.ranges.add(0,this.byteLength)}_tryExtend(t,e,r){if(0===t&&0===this.byteLength&&r){let t=new DataView(r.buffer||r,r.byteOffset,r.byteLength);this._swapDataView(t)}else{let r=t+e;if(r>this.byteLength){let{dataView:t}=this._extend(r);this._swapDataView(t)}}}_extend(t){let e;e=Pt?Tt.allocUnsafe(t):new Uint8Array(t);let r=new DataView(e.buffer,e.byteOffset,e.byteLength);return e.set(new Uint8Array(this.buffer,this.byteOffset,this.byteLength),0),{uintView:e,dataView:r}}subarray(t,e,r=!1){return e=e||this._lengthToEnd(t),r&&this._tryExtend(t,e),this.ranges.add(t,e),super.subarray(t,e)}set(t,e,r=!1){r&&this._tryExtend(e,t.byteLength,t);let i=super.set(t,e);return this.ranges.add(e,i.byteLength),i}async ensureChunk(t,e){this.chunked&&(this.ranges.available(t,e)||await this.readChunk(t,e))}available(t,e){return this.ranges.available(t,e)}}class Ye{constructor(){At(this,"list",[])}get length(){return this.list.length}add(t,e,r=0){let i=t+e,n=this.list.filter((e=>Ne(t,e.offset,i)||Ne(t,e.end,i)));if(n.length>0){t=Math.min(t,...n.map((t=>t.offset))),i=Math.max(i,...n.map((t=>t.end))),e=i-t;let r=n.shift();r.offset=t,r.length=e,r.end=i,this.list=this.list.filter((t=>!n.includes(t)))}else this.list.push({offset:t,length:e,end:i})}available(t,e){let r=t+e;return this.list.some((e=>e.offset<=t&&r<=e.end))}}function Ne(t,e,r){return t<=e&&e<=r}class je extends Fe{constructor(t,e){super(0),At(this,"chunksRead",0),this.input=t,this.options=e}async readWhole(){this.chunked=!1,await this.readChunk(this.nextChunkOffset)}async readChunked(){this.chunked=!0,await this.readChunk(0,this.options.firstChunkSize)}async readNextChunk(t=this.nextChunkOffset){if(this.fullyRead)return this.chunksRead++,!1;let e=this.options.chunkSize,r=await this.readChunk(t,e);return!!r&&r.byteLength===e}async readChunk(t,e){if(this.chunksRead++,0!==(e=this.safeWrapAddress(t,e)))return this._readChunk(t,e)}safeWrapAddress(t,e){return void 0!==this.size&&t+e>this.size?Math.max(0,this.size-t):e}get nextChunkOffset(){if(0!==this.ranges.list.length)return this.ranges.list[0].length}get canReadNextChunk(){return this.chunksRead<this.options.chunkLimit}get fullyRead(){return void 0!==this.size&&this.nextChunkOffset===this.size}read(){return this.options.chunked?this.readChunked():this.readWhole()}close(){}}Ft.set("blob",class extends je{async readWhole(){this.chunked=!1;let t=await Wt(this.input);this._swapArrayBuffer(t)}readChunked(){return this.chunked=!0,this.size=this.input.size,super.readChunked()}
7async _readChunk(t,e){let r=e?t+e:void 0,i=this.input.slice(t,r),n=await Wt(i);return this.set(n,t,!0)}});export{ge as Exifr,le as Options,ae as allFormatters,Qt as chunkedProps,Ht as createDictionary,Te as default,Gt as extendDictionary,Kt as fetchUrlAsArrayBuffer,Mt as fileParsers,Ft as fileReaders,Re as gps,Be as gpsOnlyOptions,se as inheritables,Le as orientation,xe as orientationOnlyOptions,te as otherSegments,ye as parse,Wt as readBlobAsArrayBuffer,De as rotateCanvas,Me as rotateCss,ze as rotation,Ve as rotations,zt as segmentParsers,ee as segments,ie as segmentsAndBlocks,Jt as tagKeys,Zt as tagRevivers,qt as tagValues,Ce as thumbnail,_e as thumbnailOnlyOptions,Ie as thumbnailUrl,re as tiffBlocks,ne as tiffExtractables};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.