server-json/node_modules/exifreader/dist/exif-reader.js
2024-11-01 08:00:42 +00:00

2 lines
No EOL
86 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ExifReader=t():e.ExifReader=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,n){for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:1,get:n[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:1})}},t={};function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return e+""}(e);return"symbol"==n(t)?t:t+""}e.r(t),e.d(t,{default:function(){return wi},errors:function(){return Ti},load:function(){return xi},loadView:function(){return Mi}});var i=function(){return e=function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e){return"object"!==n(e)||void 0===e.length||void 0===e.readUInt8||void 0===e.readUInt16LE||void 0===e.readUInt16BE||void 0===e.readUInt32LE||void 0===e.readUInt32BE||void 0===e.readInt32LE||void 0===e.readInt32BE}(t))throw Error("DataView: Passed buffer type is unsupported.");this.buffer=t,this.byteLength=this.buffer.length},(t=[{key:"getUint8",value:function(e){return this.buffer.readUInt8(e)}},{key:"getUint16",value:function(e,t){return t?this.buffer.readUInt16LE(e):this.buffer.readUInt16BE(e)}},{key:"getUint32",value:function(e,t){return t?this.buffer.readUInt32LE(e):this.buffer.readUInt32BE(e)}},{key:"getInt32",value:function(e,t){return t?this.buffer.readInt32LE(e):this.buffer.readInt32BE(e)}}])&&function(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||0,i.configurable=1,"value"in i&&(i.writable=1),Object.defineProperty(e,r(i.key),i)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:0}),e;var e,t}();function o(e,t,n){try{return new DataView(e,t,n)}catch(r){return new i(e,t,n)}}function a(e,t,n){for(var r=[],i=0;i<n&&t+i<e.byteLength;i++)r.push(e.getUint8(t+i));return s(r)}function u(e,t){for(var n=[],r=0;t+r<e.byteLength;){var i=e.getUint8(t+r);if(0===i)break;n.push(i),r++}return s(n)}function c(e,t,n){for(var r=[],i=0;i<n&&t+i<e.byteLength;i+=2)r.push(e.getUint16(t+i));return 0===r[r.length-1]&&r.pop(),s(r)}function f(e,t){var n=e.getUint8(t);return[n,a(e,t+1,n)]}function s(e){return e.map((function(e){return String.fromCharCode(e)})).join("")}function l(){for(var e=1;e<arguments.length;e++)for(var t in arguments[e])arguments[0][t]=arguments[e][t];return arguments[0]}function d(e,t,n){var r=0;Object.defineProperty(e,t,{get:function(){return r||(r=1,Object.defineProperty(e,t,{configurable:1,enumerable:1,value:n.apply(e),writable:1})),e[t]},configurable:1,enumerable:1})}function p(e){return"undefined"!=typeof btoa?"string"==typeof e?btoa(e):btoa(Array.prototype.reduce.call(new Uint8Array(e),(function(e,t){return e+String.fromCharCode(t)}),"")):"undefined"!=typeof Buffer?"undefined"!=typeof Buffer.from?Buffer.from(e).toString("base64"):new Buffer(e).toString("base64"):void 0}function m(e,t){return Array(t+1).join(e)}var g=void 0,h=0;function v(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"string";if(t===h&&"function"==typeof DecompressionStream){var i=new DecompressionStream("deflate"),o=new Blob([e]).stream().pipeThrough(i);return"dataview"===r?new Response(o).arrayBuffer().then((function(e){return new DataView(e)})):new Response(o).arrayBuffer().then((function(e){return new TextDecoder(n).decode(e)}))}return void 0!==t?Promise.reject("Unknown compression method ".concat(t,".")):e}var y={USE_FILE:1,USE_JFIF:1,USE_PNG_FILE:1,USE_EXIF:1,USE_IPTC:1,USE_XMP:1,USE_ICC:1,USE_MPF:1,USE_PHOTOSHOP:1,USE_THUMBNAIL:1,USE_TIFF:1,USE_JPEG:1,USE_PNG:1,USE_HEIC:1,USE_AVIF:1,USE_WEBP:1,USE_GIF:1};function S(e){return e.map((function(e){return String.fromCharCode(e)})).join("")}function b(e){if(e.length>=8){var t=S(e.slice(0,8));if("ASCII\0\0\0"===t)return S(e.slice(8));if("JIS\0\0\0\0\0"===t)return"[JIS encoded text]";if("UNICODE\0"===t)return"[Unicode encoded text]";if("\0\0\0\0\0\0\0\0"===t)return"[Undefined encoding]"}return"Undefined"}function I(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}var C=18761,U=19789,A={BIG_ENDIAN:U,LITTLE_ENDIAN:C,getByteOrder:function(e,t){if(e.getUint16(t)===C)return C;if(e.getUint16(t)===U)return U;throw Error("Illegal byte order value. Faulty image.")}},P=2,E=65496,w=2,T=4,x=2,F=2,M=10,O=18,D=33,L=79,N=18,k=8,R="ICC_PROFILE\0",B=T+R.length,G=B+1,_="MPF\0",j=65472,z=65474,V=65476,H=65499,W=65501,X=65498,J=65504,Y=65505,q=65506,K=65517,$=65519,Z=65534,Q=65535,ee="JFIF",te="Exif",ne="http://ns.adobe.com/xap/1.0/\0",re="http://ns.adobe.com/xmp/extension/\0",ie="Photoshop 3.0";function oe(e,t){return e.getUint16(t)===j}function ae(e,t){return e.getUint16(t)===z}function ue(e,t){var n=R.length;return e.getUint16(t)===q&&a(e,t+T,n)===R}function ce(e,t){var n=_.length;return e.getUint16(t)===q&&a(e,t+T,n)===_}function fe(e,t){var n=ee.length;return e.getUint16(t)===J&&a(e,t+T,n)===ee&&0===e.getUint8(t+T+n)}function se(e,t){var n=te.length;return e.getUint16(t)===Y&&a(e,t+T,n)===te&&0===e.getUint8(t+T+n)}function le(e,t){return e.getUint16(t)===Y&&function(e,t){var n=ne.length;return a(e,t+T,n)===ne}(e,t)}function de(e,t){return e.getUint16(t)===Y&&function(e,t){var n=re.length;return a(e,t+T,n)===re}(e,t)}function pe(e,t){return{dataOffset:e+D,length:t-(D-x)}}function me(e,t){return{dataOffset:e+L,length:t-(L-x)}}function ge(e,t){var n=ie.length;return e.getUint16(t)===K&&a(e,t+T,n)===ie&&0===e.getUint8(t+T+n)}function he(e,t){var n=e.getUint16(t);return n>=J&&n<=$||n===Z||n===j||n===z||n===V||n===H||n===W||n===X}function ve(e,t){return e.getUint16(t)===Q}var ye="‰PNG\r\n\n",Se=4,be=4,Ie=0,Ce=Se,Ue=Se+be,Ae="XML:com.adobe.xmp\0",Pe="tEXt",Ee="iTXt",we="zTXt",Te="pHYs",xe="tIME",Fe="eXIf",Me="iCCP";function Oe(e,t){return"IHDR"===a(e,t+Ce,be)}function De(e,t){return a(e,t+Ce,be)===Ee&&a(e,t+Ue,Ae.length)===Ae}function Le(e,t,n){var r=a(e,t+Ce,be);return r===Pe||r===Ee||r===we&&n}function Ne(e,t){return a(e,t+Ce,be)===Fe}function ke(e,t){return a(e,t+Ce,be)===Me}function Re(e,t){var n=[Te,xe],r=a(e,t+Ce,be);return n.includes(r)}function Be(e,t){t+=Ue+Ae.length+1+1;for(var n=0;n<2&&t<e.byteLength;)0===e.getUint8(t)&&n++,t++;if(!(n<2))return t}function Ge(e,t){var n=u(e,t);return t+=n.length+1,{profileName:n,compressionMethod:e.getUint8(t),compressedProfileOffset:t+=1}}function _e(e,t,n,r,i,o,a,u){if(void 0===u)return[];for(var c=[],f=n.items,s=0;s<u;s++){var l={extents:[]};l.itemId=je(e,f,t),f+=r.item.itemId,l.constructionMethod=1===t||2===t?15&e.getUint16(f):void 0,f+=r.item.constructionMethod,l.dataReferenceIndex=e.getUint16(f),f+=r.item.dataReferenceIndex,l.baseOffset=Ve(e,f,r.item.baseOffset),f+=r.item.baseOffset,l.extentCount=e.getUint16(f),f+=r.item.extentCount;for(var d=0;d<l.extentCount;d++){var p={};p.extentIndex=ze(e,t,f,a),f+=r.item.extent.extentIndex,p.extentOffset=Ve(e,f,i),f+=r.item.extent.extentOffset,p.extentLength=Ve(e,f,o),f+=r.item.extent.extentLength,l.extents.push(p)}c.push(l)}return c}function je(e,t,n){return n<2?e.getUint16(t):2===n?e.getUint32(t):void 0}function ze(e,t,n,r){if((1===t||2===t)&&r>0)return Ve(e,n,r)}function Ve(e,t,n){return 4===n?e.getUint32(t):8===n?(console.warn("This file uses an 8-bit offset which is currently not supported by ExifReader. Contact the maintainer to get it fixed."),function(e,t){return e.getUint32(t+4)}(e,t)):0}var He=1718909296,We=1768977008,Xe=1835365473,Je=1768714083,Ye=1768517222,qe=1768842853,Ke=1768973167,$e=1668246642,Ze=1165519206,Qe=1835625829,et=1970432288;function tt(e,t){var n=function(e,t){var n=e.getUint32(t);return function(e){return 0===e}(n)?{length:e.byteLength-t,contentOffset:t+4+4}:function(e){return 1===e}(n)&&function(e,t){return 0===e.getUint32(t+8)}(e,t)?{length:e.getUint32(t+12),contentOffset:t+4+4+8}:{length:n,contentOffset:t+4+4}}(e,t),r=n.length,i=n.contentOffset;if(!(r<8)){var o=e.getUint32(t+4);if(o===He)return function(e,t,n){return{type:"ftyp",majorBrand:a(e,t,4),length:n}}(e,i,r);if(o===We)return function(e,t,n,r){return{type:"iprp",subBoxes:ot(e,n,r-(n-t)),length:r}}(e,t,i,r);if(o===Ke)return function(e,t,n,r){return{type:"ipco",properties:ot(e,n,r-(n-t)),length:r}}(e,t,i,r);if(o===$e)return function(e,t,n){return{type:"colr",icc:it(e,t),length:n}}(e,i,r);var c=e.getUint8(i);return o===Xe?function(e,t,n,r){return{type:"meta",subBoxes:ot(e,n+3,r-(n+3-t)),length:r}}(e,t,i+1,r):o===Je?function(e,t,n,r){var i=function(e,t){var n={item:{dataReferenceIndex:2,extentCount:2,extent:{}}};e<2?(n.itemCount=2,n.item.itemId=2):2===e&&(n.itemCount=4,n.item.itemId=4),n.item.constructionMethod=1===e||2===e?2:0;var r={offsetSize:t,lengthSize:t,baseOffsetSize:t+1,indexSize:t+1};return r.itemCount=t+2,r.items=r.itemCount+n.itemCount,r.item={itemId:0},r.item.constructionMethod=r.item.itemId+n.item.itemId,r.item.dataReferenceIndex=r.item.constructionMethod+n.item.constructionMethod,{offsets:r,sizes:n}}(t,n+3),o=i.offsets,a=i.sizes,u=e.getUint8(o.offsetSize)>>4;a.item.extent.extentOffset=u;var c=15&e.getUint8(o.lengthSize);a.item.extent.extentLength=c;var f=e.getUint8(o.baseOffsetSize)>>4;a.item.baseOffset=f;var s=function(e,t,n){if(1===n||2===n)return 15&e.getUint8(t)}(e,o.indexSize,t);a.item.extent.extentIndex=void 0!==s?s:0;var l=function(e,t,n){return n<2?e.getUint16(t):2===n?e.getUint32(t):void 0}(e,o.itemCount,t);return{type:"iloc",items:_e(e,t,o,a,u,c,s,l),length:r}}(e,c,i+1,r):o===Ye?function(e,t,n,r,i){var o=function(e,t){var n={entryCount:t+3},r={};return r.entryCount=0===e?2:4,n.itemInfos=n.entryCount+r.entryCount,{offsets:n}}(n,r),a=o.offsets;return{type:"iinf",itemInfos:ot(e,a.itemInfos,i-(a.itemInfos-t)),length:i}}(e,t,c,i+1,r):o===qe?function(e,t,n,r,i){r+=3;var o={type:"infe",length:i};return 0!==n&&1!==n||(o.itemId=e.getUint16(r),r+=2,o.itemProtectionIndex=e.getUint16(r),r+=2,o.itemName=u(e,r),r+=o.itemName.length+1),n>=2&&(2===n?(o.itemId=e.getUint16(r),r+=2):3===n&&(o.itemId=e.getUint32(r),r+=4),o.itemProtectionIndex=e.getUint16(r),r+=2,o.itemType=e.getUint32(r),r+=4,o.itemName=u(e,r),r+=o.itemName.length+1,o.itemType===Qe?(o.contentType=u(e,r),t+i>(r+=o.contentType.length+1)&&(o.contentEncoding=u(e,r),r+=o.contentEncoding.length+1)):o.itemType===et&&(o.itemUri=u(e,r),r+=o.itemUri.length+1)),o}(e,t,c,i+1,r):{type:void 0,length:r}}}function nt(e){if(y.USE_EXIF||y.USE_XMP||y.USE_ICC){var t={},n=function(e){for(var t=0;t+4+4<=e.byteLength;){var n=tt(e,t);if(void 0===n)break;if("meta"===n.type)return n;t+=n.length}}(e);return n?(y.USE_EXIF&&(t.tiffHeaderOffset=function(e,t){try{var n=function(e){return e.subBoxes.find((function(e){return"iinf"===e.type})).itemInfos.find((function(e){return e.itemType===Ze}))}(t).itemId,r=rt(t,n);return function(e,t){return t+4+e.getUint32(t)}(e,r.baseOffset+r.extents[0].extentOffset)}catch(e){return}}(e,n)),y.USE_XMP&&(t.xmpChunks=function(e){try{var t=function(e){return e.subBoxes.find((function(e){return"iinf"===e.type})).itemInfos.find((function(e){return e.itemType===Qe&&"application/rdf+xml"===e.contentType}))}(e).itemId,n=rt(e,t),r=rt(e,t).extents[0];return[{dataOffset:n.baseOffset+r.extentOffset,length:r.extentLength}]}catch(e){return}}(n)),y.USE_ICC&&(t.iccChunks=function(e){try{var t=e.subBoxes.find((function(e){return"iprp"===e.type})).subBoxes.find((function(e){return"ipco"===e.type})).properties.find((function(e){return"colr"===e.type})).icc;if(t)return[t]}catch(e){}}(n)),t.hasAppMarkers=void 0!==t.tiffHeaderOffset||void 0!==t.xmpChunks||void 0!==t.iccChunks,t):{hasAppMarkers:0}}return{}}function rt(e,t){return e.subBoxes.find((function(e){return"iloc"===e.type})).items.find((function(e){return e.itemId===t}))}function it(e,t){var n=a(e,t,4);if("prof"===n||"rICC"===n)return{offset:t+4,length:e.getUint32(t+4),chunkNumber:1,chunksTotal:1}}function ot(e,t,n){for(var r=[Ze,Qe],i=[],o=t;o<t+n;){var a=tt(e,o);if(void 0===a)break;void 0===a.type||void 0!==a.itemType&&-1===r.indexOf(a.itemType)||i.push(a),o+=a.length}return i}var at=6,ut=["GIF87a","GIF89a"],ct=0,ft="<?xpacket begin",st={parseAppMarkers:function(e,t){if(y.USE_TIFF&&function(e){return!!e&&e.byteLength>=4&&function(e){var t=e.getUint16(0)===A.LITTLE_ENDIAN;return 42===e.getUint16(2,t)}(e)}(e))return lt(y.USE_EXIF?{hasAppMarkers:1,tiffHeaderOffset:0}:{},"tiff","TIFF");if(y.USE_JPEG&&function(e){return!!e&&e.byteLength>=P&&e.getUint16(0)===E}(e))return lt(function(e){for(var t,n,r,i,o,a,u,c,f,s=w;s+T+5<=e.byteLength;){if(y.USE_FILE&&oe(e,s))t=e.getUint16(s+x),n=s+x;else if(y.USE_FILE&&ae(e,s))t=e.getUint16(s+x),r=s+x;else if(y.USE_JFIF&&fe(e,s))t=e.getUint16(s+x),i=s+F;else if(y.USE_EXIF&&se(e,s))t=e.getUint16(s+x),o=s+M;else if(y.USE_XMP&&le(e,s))u||(u=[]),t=e.getUint16(s+x),u.push(pe(s,t));else if(y.USE_XMP&&de(e,s))u||(u=[]),t=e.getUint16(s+x),u.push(me(s,t));else if(y.USE_IPTC&&ge(e,s))t=e.getUint16(s+x),a=s+O;else if(y.USE_ICC&&ue(e,s)){t=e.getUint16(s+x);var l=s+N,d=t-(N-x),p=e.getUint8(s+B),m=e.getUint8(s+G);c||(c=[]),c.push({offset:l,length:d,chunkNumber:p,chunksTotal:m})}else if(y.USE_MPF&&ce(e,s))t=e.getUint16(s+x),f=s+k;else{if(!he(e,s)){if(ve(e,s)){s++;continue}break}t=e.getUint16(s+x)}s+=x+t}return{hasAppMarkers:s>w,fileDataOffset:n||r,jfifDataOffset:i,tiffHeaderOffset:o,iptcDataOffset:a,xmpChunks:u,iccChunks:c,mpfDataOffset:f}}(e),"jpeg","JPEG");if(y.USE_PNG&&function(e){return!!e&&a(e,0,ye.length)===ye}(e))return lt(function(e,t){for(var n={hasAppMarkers:0},r=ye.length;r+Se+be<=e.byteLength;){if(y.USE_PNG_FILE&&Oe(e,r))n.hasAppMarkers=1,n.pngHeaderOffset=r+Ue;else if(y.USE_XMP&&De(e,r)){var i=Be(e,r);void 0!==i&&(n.hasAppMarkers=1,n.xmpChunks=[{dataOffset:i,length:e.getUint32(r+Ie)-(i-(r+Ue))}])}else if(Le(e,r,t)){n.hasAppMarkers=1;var o=a(e,r+Ce,be);n.pngTextChunks||(n.pngTextChunks=[]),n.pngTextChunks.push({length:e.getUint32(r+Ie),type:o,offset:r+Ue})}else if(Ne(e,r))n.hasAppMarkers=1,n.tiffHeaderOffset=r+Ue;else if(y.USE_ICC&&t&&ke(e,r)){n.hasAppMarkers=1;var u=e.getUint32(r+Ie),c=r+Ue,f=Ge(e,c),s=f.profileName,l=f.compressionMethod,d=f.compressedProfileOffset;n.iccChunks||(n.iccChunks=[]),n.iccChunks.push({offset:d,length:u-(d-c),chunkNumber:1,chunksTotal:1,profileName:s,compressionMethod:l})}else Re(e,r)&&(n.hasAppMarkers=1,n.pngChunkOffsets||(n.pngChunkOffsets=[]),n.pngChunkOffsets.push(r+Ie));r+=e.getUint32(r+Ie)+Se+be+4}return n}(e,t),"png","PNG");if(y.USE_HEIC&&function(e){if(!e)return 0;try{var t=tt(e,0);return t&&-1!==["heic","heix","hevc","hevx","heim","heis","hevm","hevs","mif1"].indexOf(t.majorBrand)}catch(e){return 0}}(e))return lt(function(e){return nt(e)}(e),"heic","HEIC");if(y.USE_AVIF&&function(e){if(!e)return 0;try{var t=tt(e,0);return t&&"avif"===t.majorBrand}catch(e){return 0}}(e))return lt(function(e){return nt(e)}(e),"avif","AVIF");if(y.USE_WEBP&&function(e){return!!e&&"RIFF"===a(e,0,4)&&"WEBP"===a(e,8,4)}(e))return lt(function(e){for(var t,n,r,i,o=12,u=0;o+8<e.byteLength;){var c=a(e,o,4),f=e.getUint32(o+4,1);y.USE_EXIF&&"EXIF"===c?(u=1,t="Exif\0\0"===a(e,o+8,6)?o+8+6:o+8):y.USE_XMP&&"XMP "===c?(u=1,n=[{dataOffset:o+8,length:f}]):y.USE_ICC&&"ICCP"===c?(u=1,r=[{offset:o+8,length:f,chunkNumber:1,chunksTotal:1}]):"VP8X"===c&&(u=1,i=o+8),o+=8+(f%2==0?f:f+1)}return{hasAppMarkers:u,tiffHeaderOffset:t,xmpChunks:n,iccChunks:r,vp8xChunkOffset:i}}(e),"webp","WebP");if(y.USE_GIF&&function(e){return!!e&&ut.includes(a(e,0,at))}(e))return lt({gifHeaderOffset:0},"gif","GIF");if(y.USE_XMP&&function(e){return!!e&&a(e,ct,ft.length)===ft}(e))return lt(function(e){var t=[];return t.push({dataOffset:ct,length:e.byteLength}),{xmpChunks:t}}(e),"xml","XML");throw Error("Invalid image format")}};function lt(e,t,n){return l({},e,{fileType:{value:t,description:n}})}var dt={ApertureValue:function(e){return Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)},ColorSpace:function(e){return 1===e?"sRGB":65535===e?"Uncalibrated":"Unknown"},ComponentsConfiguration:function(e){return e.map((function(e){return 49===e?"Y":50===e?"Cb":51===e?"Cr":52===e?"R":53===e?"G":54===e?"B":void 0})).join("")},Contrast:function(e){return 0===e?"Normal":1===e?"Soft":2===e?"Hard":"Unknown"},CustomRendered:function(e){return 0===e?"Normal process":1===e?"Custom process":"Unknown"},ExposureMode:function(e){return 0===e?"Auto exposure":1===e?"Manual exposure":2===e?"Auto bracket":"Unknown"},ExposureProgram:function(e){return 0===e?"Undefined":1===e?"Manual":2===e?"Normal program":3===e?"Aperture priority":4===e?"Shutter priority":5===e?"Creative program":6===e?"Action program":7===e?"Portrait mode":8===e?"Landscape mode":9===e?"Bulb":"Unknown"},ExposureTime:function(e){if(e[0]/e[1]>.25){var t=e[0]/e[1];return Number.isInteger(t)?""+t:t.toFixed(1)}return 0!==e[0]?"1/".concat(Math.round(e[1]/e[0])):"0/".concat(e[1])},FNumber:function(e){return"f/".concat(e[0]/e[1])},FocalLength:function(e){return e[0]/e[1]+" mm"},FocalPlaneResolutionUnit:function(e){return 2===e?"inches":3===e?"centimeters":"Unknown"},LightSource:function(e){return 1===e?"Daylight":2===e?"Fluorescent":3===e?"Tungsten (incandescent light)":4===e?"Flash":9===e?"Fine weather":10===e?"Cloudy weather":11===e?"Shade":12===e?"Daylight fluorescent (D 5700 7100K)":13===e?"Day white fluorescent (N 4600 5400K)":14===e?"Cool white fluorescent (W 3900 4500K)":15===e?"White fluorescent (WW 3200 3700K)":17===e?"Standard light A":18===e?"Standard light B":19===e?"Standard light C":20===e?"D55":21===e?"D65":22===e?"D75":23===e?"D50":24===e?"ISO studio tungsten":255===e?"Other light source":"Unknown"},MeteringMode:function(e){return 1===e?"Average":2===e?"CenterWeightedAverage":3===e?"Spot":4===e?"MultiSpot":5===e?"Pattern":6===e?"Partial":255===e?"Other":"Unknown"},ResolutionUnit:function(e){return 2===e?"inches":3===e?"centimeters":"Unknown"},Saturation:function(e){return 0===e?"Normal":1===e?"Low saturation":2===e?"High saturation":"Unknown"},SceneCaptureType:function(e){return 0===e?"Standard":1===e?"Landscape":2===e?"Portrait":3===e?"Night scene":"Unknown"},Sharpness:function(e){return 0===e?"Normal":1===e?"Soft":2===e?"Hard":"Unknown"},ShutterSpeedValue:function(e){var t=Math.pow(2,e[0]/e[1]);return t<=1?"".concat(Math.round(1/t)):"1/".concat(Math.round(t))},WhiteBalance:function(e){return 0===e?"Auto white balance":1===e?"Manual white balance":"Unknown"},XResolution:function(e){return""+Math.round(e[0]/e[1])},YResolution:function(e){return""+Math.round(e[0]/e[1])}},pt={11:"ProcessingSoftware",254:{name:"SubfileType",description:function(e){return{0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image",3:"Single page of multi-page reduced-resolution image",4:"Transparency mask",5:"Transparency mask of reduced-resolution image",6:"Transparency mask of multi-page image",7:"Transparency mask of reduced-resolution multi-page image",65537:"Alternate reduced-resolution image",4294967295:"Invalid"}[e]||"Unknown"}},255:{name:"OldSubfileType",description:function(e){return{0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image"}[e]||"Unknown"}},256:"ImageWidth",257:"ImageLength",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",263:{name:"Thresholding",description:function(e){return{1:"No dithering or halftoning",2:"Ordered dither or halfton",3:"Randomized dither"}[e]||"Unknown"}},264:"CellWidth",265:"CellLength",266:{name:"FillOrder",description:function(e){return{1:"Normal",2:"Reversed"}[e]||"Unknown"}},269:"DocumentName",270:"ImageDescription",271:"Make",272:"Model",273:"StripOffsets",274:{name:"Orientation",description:function(e){return 1===e?"top-left":2===e?"top-right":3===e?"bottom-right":4===e?"bottom-left":5===e?"left-top":6===e?"right-top":7===e?"right-bottom":8===e?"left-bottom":"Undefined"}},277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",280:"MinSampleValue",281:"MaxSampleValue",282:{name:"XResolution",description:dt.XResolution},283:{name:"YResolution",description:dt.YResolution},284:"PlanarConfiguration",285:"PageName",286:{name:"XPosition",description:function(e){return""+Math.round(e[0]/e[1])}},287:{name:"YPosition",description:function(e){return""+Math.round(e[0]/e[1])}},290:{name:"GrayResponseUnit",description:function(e){return{1:"0.1",2:"0.001",3:"0.0001",4:"1e-05",5:"1e-06"}[e]||"Unknown"}},296:{name:"ResolutionUnit",description:dt.ResolutionUnit},297:"PageNumber",301:"TransferFunction",305:"Software",306:"DateTime",315:"Artist",316:"HostComputer",317:"Predictor",318:{name:"WhitePoint",description:function(e){return e.map((function(e){return"".concat(e[0],"/").concat(e[1])})).join(", ")}},319:{name:"PrimaryChromaticities",description:function(e){return e.map((function(e){return"".concat(e[0],"/").concat(e[1])})).join(", ")}},321:"HalftoneHints",322:"TileWidth",323:"TileLength",330:"A100DataOffset",332:{name:"InkSet",description:function(e){return{1:"CMYK",2:"Not CMYK"}[e]||"Unknown"}},337:"TargetPrinter",338:{name:"ExtraSamples",description:function(e){return{0:"Unspecified",1:"Associated Alpha",2:"Unassociated Alpha"}[e]||"Unknown"}},339:{name:"SampleFormat",description:function(e){var t={1:"Unsigned",2:"Signed",3:"Float",4:"Undefined",5:"Complex int",6:"Complex float"};return Array.isArray(e)?e.map((function(e){return t[e]||"Unknown"})).join(", "):"Unknown"}},513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",529:{name:"YCbCrCoefficients",description:function(e){return e.map((function(e){return""+e[0]/e[1]})).join("/")}},530:"YCbCrSubSampling",531:{name:"YCbCrPositioning",description:function(e){return 1===e?"centered":2===e?"co-sited":"undefined "+e}},532:{name:"ReferenceBlackWhite",description:function(e){return e.map((function(e){return""+e[0]/e[1]})).join(", ")}},700:"ApplicationNotes",18246:"Rating",18249:"RatingPercent",33432:{name:"Copyright",description:function(e){return e.join("; ")}},33550:"PixelScale",33723:"IPTC-NAA",33920:"IntergraphMatrix",33922:"ModelTiePoint",34118:"SEMInfo",34264:"ModelTransform",34377:"PhotoshopSettings",34665:"Exif IFD Pointer",34675:"ICC_Profile",34735:"GeoTiffDirectory",34736:"GeoTiffDoubleParams",34737:"GeoTiffAsciiParams",34853:"GPS Info IFD Pointer",40091:"XPTitle",40092:"XPComment",40093:"XPAuthor",40094:"XPKeywords",40095:"XPSubject",42112:"GDALMetadata",42113:"GDALNoData",50341:"PrintIM",50707:"DNGBackwardVersion",50708:"UniqueCameraModel",50709:"LocalizedCameraModel",50721:"ColorMatrix1",50722:"ColorMatrix2",50723:"CameraCalibration1",50724:"CameraCalibration2",50725:"ReductionMatrix1",50726:"ReductionMatrix2",50727:"AnalogBalance",50728:"AsShotNeutral",50729:"AsShotWhiteXY",50730:"BaselineExposure",50731:"BaselineNoise",50732:"BaselineSharpness",50734:"LinearResponseLimit",50735:"CameraSerialNumber",50736:"DNGLensInfo",50739:"ShadowScale",50741:{name:"MakerNoteSafety",description:function(e){return{0:"Unsafe",1:"Safe"}[e]||"Unknown"}},50778:{name:"CalibrationIlluminant1",description:dt.LightSource},50779:{name:"CalibrationIlluminant2",description:dt.LightSource},50781:"RawDataUniqueID",50827:"OriginalRawFileName",50828:"OriginalRawFileData",50831:"AsShotICCProfile",50832:"AsShotPreProfileMatrix",50833:"CurrentICCProfile",50834:"CurrentPreProfileMatrix",50879:"ColorimetricReference",50885:"SRawType",50898:"PanasonicTitle",50899:"PanasonicTitle2",50931:"CameraCalibrationSig",50932:"ProfileCalibrationSig",50933:"ProfileIFD",50934:"AsShotProfileName",50936:"ProfileName",50937:"ProfileHueSatMapDims",50938:"ProfileHueSatMapData1",50939:"ProfileHueSatMapData2",50940:"ProfileToneCurve",50941:{name:"ProfileEmbedPolicy",description:function(e){return{0:"Allow Copying",1:"Embed if Used",2:"Never Embed",3:"No Restrictions"}[e]||"Unknown"}},50942:"ProfileCopyright",50964:"ForwardMatrix1",50965:"ForwardMatrix2",50966:"PreviewApplicationName",50967:"PreviewApplicationVersion",50968:"PreviewSettingsName",50969:"PreviewSettingsDigest",50970:{name:"PreviewColorSpace",description:function(e){return{1:"Gray Gamma 2.2",2:"sRGB",3:"Adobe RGB",4:"ProPhoto RGB"}[e]||"Unknown"}},50971:"PreviewDateTime",50972:"RawImageDigest",50973:"OriginalRawFileDigest",50981:"ProfileLookTableDims",50982:"ProfileLookTableData",51043:"TimeCodes",51044:"FrameRate",51058:"TStop",51081:"ReelName",51089:"OriginalDefaultFinalSize",51090:"OriginalBestQualitySize",51091:"OriginalDefaultCropSize",51105:"CameraLabel",51107:{name:"ProfileHueSatMapEncoding",description:function(e){return{0:"Linear",1:"sRGB"}[e]||"Unknown"}},51108:{name:"ProfileLookTableEncoding",description:function(e){return{0:"Linear",1:"sRGB"}[e]||"Unknown"}},51109:"BaselineExposureOffset",51110:{name:"DefaultBlackRender",description:function(e){return{0:"Auto",1:"None"}[e]||"Unknown"}},51111:"NewRawImageDigest",51112:"RawToPreviewGain"};function mt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var ht={0:{name:"GPSVersionID",description:function(e){return 2===e[0]&&2===e[1]&&0===e[2]&&0===e[3]?"Version 2.2":"Unknown"}},1:{name:"GPSLatitudeRef",description:function(e){var t=e.join("");return"N"===t?"North latitude":"S"===t?"South latitude":"Unknown"}},2:{name:"GPSLatitude",description:I},3:{name:"GPSLongitudeRef",description:function(e){var t=e.join("");return"E"===t?"East longitude":"W"===t?"West longitude":"Unknown"}},4:{name:"GPSLongitude",description:I},5:{name:"GPSAltitudeRef",description:function(e){return 0===e?"Sea level":1===e?"Sea level reference (negative value)":"Unknown"}},6:{name:"GPSAltitude",description:function(e){return e[0]/e[1]+" m"}},7:{name:"GPSTimeStamp",description:function(e){return e.map((function(e){var t,n=(2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],c=1,f=0;try{for(o=(n=n.call(e)).next,!2;!(c=(r=o.call(n)).done)&&(u.push(r.value),2!==u.length);c=1);}catch(e){f=1,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw i}}return u}}(t)||function(e,t){if(e){if("string"==typeof e)return gt(e,2);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gt(e,2):void 0}}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=n[0]/n[1];return/^\d(\.|$)/.test("".concat(r))?"0".concat(r):r})).join(":")}},8:"GPSSatellites",9:{name:"GPSStatus",description:function(e){var t=e.join("");return"A"===t?"Measurement in progress":"V"===t?"Measurement Interoperability":"Unknown"}},10:{name:"GPSMeasureMode",description:function(e){var t=e.join("");return"2"===t?"2-dimensional measurement":"3"===t?"3-dimensional measurement":"Unknown"}},11:"GPSDOP",12:{name:"GPSSpeedRef",description:function(e){var t=e.join("");return"K"===t?"Kilometers per hour":"M"===t?"Miles per hour":"N"===t?"Knots":"Unknown"}},13:"GPSSpeed",14:{name:"GPSTrackRef",description:function(e){var t=e.join("");return"T"===t?"True direction":"M"===t?"Magnetic direction":"Unknown"}},15:"GPSTrack",16:{name:"GPSImgDirectionRef",description:function(e){var t=e.join("");return"T"===t?"True direction":"M"===t?"Magnetic direction":"Unknown"}},17:"GPSImgDirection",18:"GPSMapDatum",19:{name:"GPSDestLatitudeRef",description:function(e){var t=e.join("");return"N"===t?"North latitude":"S"===t?"South latitude":"Unknown"}},20:{name:"GPSDestLatitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},21:{name:"GPSDestLongitudeRef",description:function(e){var t=e.join("");return"E"===t?"East longitude":"W"===t?"West longitude":"Unknown"}},22:{name:"GPSDestLongitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},23:{name:"GPSDestBearingRef",description:function(e){var t=e.join("");return"T"===t?"True direction":"M"===t?"Magnetic direction":"Unknown"}},24:"GPSDestBearing",25:{name:"GPSDestDistanceRef",description:function(e){var t=e.join("");return"K"===t?"Kilometers":"M"===t?"Miles":"N"===t?"Knots":"Unknown"}},26:"GPSDestDistance",27:{name:"GPSProcessingMethod",description:b},28:{name:"GPSAreaInformation",description:b},29:"GPSDateStamp",30:{name:"GPSDifferential",description:function(e){return 0===e?"Measurement without differential correction":1===e?"Differential correction applied":"Unknown"}},31:"GPSHPositioningError"},vt={1:"InteroperabilityIndex",2:{name:"InteroperabilityVersion",description:function(e){return S(e)}},4096:"RelatedImageFileFormat",4097:"RelatedImageWidth",4098:"RelatedImageHeight"},yt={45056:{name:"MPFVersion",description:function(e){return S(e)}},45057:"NumberOfImages",45058:"MPEntry",45059:"ImageUIDList",45060:"TotalFrames"};function St(e){return St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},St(e)}function bt(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=St(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=St(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return e+""}(e);return"symbol"==St(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:1,configurable:1,writable:1}):e[t]=n,e}var It=l({},pt,{33434:{name:"ExposureTime",description:dt.ExposureTime},33437:{name:"FNumber",description:dt.FNumber},34850:{name:"ExposureProgram",description:dt.ExposureProgram},34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:{name:"OECF",description:function(){return"[Raw OECF table data]"}},34858:"TimeZoneOffset",34859:"SelfTimerMode",34864:{name:"SensitivityType",description:function(e){return{1:"Standard Output Sensitivity",2:"Recommended Exposure Index",3:"ISO Speed",4:"Standard Output Sensitivity and Recommended Exposure Index",5:"Standard Output Sensitivity and ISO Speed",6:"Recommended Exposure Index and ISO Speed",7:"Standard Output Sensitivity, Recommended Exposure Index and ISO Speed"}[e]||"Unknown"}},34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",36864:{name:"ExifVersion",description:function(e){return S(e)}},36867:"DateTimeOriginal",36868:"DateTimeDigitized",36873:"GooglePlusUploadCode",36880:"OffsetTime",36881:"OffsetTimeOriginal",36882:"OffsetTimeDigitized",37121:{name:"ComponentsConfiguration",description:dt.ComponentsConfiguration},37122:"CompressedBitsPerPixel",37377:{name:"ShutterSpeedValue",description:dt.ShutterSpeedValue},37378:{name:"ApertureValue",description:dt.ApertureValue},37379:"BrightnessValue",37380:"ExposureBiasValue",37381:{name:"MaxApertureValue",description:function(e){return Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)}},37382:{name:"SubjectDistance",description:function(e){return e[0]/e[1]+" m"}},37383:{name:"MeteringMode",description:dt.MeteringMode},37384:{name:"LightSource",description:dt.LightSource},37385:{name:"Flash",description:function(e){return 0===e?"Flash did not fire":1===e?"Flash fired":5===e?"Strobe return light not detected":7===e?"Strobe return light detected":9===e?"Flash fired, compulsory flash mode":13===e?"Flash fired, compulsory flash mode, return light not detected":15===e?"Flash fired, compulsory flash mode, return light detected":16===e?"Flash did not fire, compulsory flash mode":24===e?"Flash did not fire, auto mode":25===e?"Flash fired, auto mode":29===e?"Flash fired, auto mode, return light not detected":31===e?"Flash fired, auto mode, return light detected":32===e?"No flash function":65===e?"Flash fired, red-eye reduction mode":69===e?"Flash fired, red-eye reduction mode, return light not detected":71===e?"Flash fired, red-eye reduction mode, return light detected":73===e?"Flash fired, compulsory flash mode, red-eye reduction mode":77===e?"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected":79===e?"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected":89===e?"Flash fired, auto mode, red-eye reduction mode":93===e?"Flash fired, auto mode, return light not detected, red-eye reduction mode":95===e?"Flash fired, auto mode, return light detected, red-eye reduction mode":"Unknown"}},37386:{name:"FocalLength",description:dt.FocalLength},37393:"ImageNumber",37394:{name:"SecurityClassification",description:function(e){return{C:"Confidential",R:"Restricted",S:"Secret",T:"Top Secret",U:"Unclassified"}[e]||"Unknown"}},37395:"ImageHistory",37396:{name:"SubjectArea",description:function(e){return 2===e.length?"Location; X: ".concat(e[0],", Y: ").concat(e[1]):3===e.length?"Circle; X: ".concat(e[0],", Y: ").concat(e[1],", diameter: ").concat(e[2]):4===e.length?"Rectangle; X: ".concat(e[0],", Y: ").concat(e[1],", width: ").concat(e[2],", height: ").concat(e[3]):"Unknown"}},37500:{name:"MakerNote",description:function(){return"[Raw maker note data]"}},37510:{name:"UserComment",description:b},37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",37724:"ImageSourceData",37888:{name:"AmbientTemperature",description:function(e){return e[0]/e[1]+" °C"}},37889:{name:"Humidity",description:function(e){return e[0]/e[1]+" %"}},37890:{name:"Pressure",description:function(e){return e[0]/e[1]+" hPa"}},37891:{name:"WaterDepth",description:function(e){return e[0]/e[1]+" m"}},37892:{name:"Acceleration",description:function(e){return e[0]/e[1]+" mGal"}},37893:{name:"CameraElevationAngle",description:function(e){return e[0]/e[1]+" °"}},40960:{name:"FlashpixVersion",description:function(e){return e.map((function(e){return String.fromCharCode(e)})).join("")}},40961:{name:"ColorSpace",description:dt.ColorSpace},40962:"PixelXDimension",40963:"PixelYDimension",40964:"RelatedSoundFile",40965:"Interoperability IFD Pointer",41483:"FlashEnergy",41484:{name:"SpatialFrequencyResponse",description:function(){return"[Raw SFR table data]"}},41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:{name:"FocalPlaneResolutionUnit",description:dt.FocalPlaneResolutionUnit},41492:{name:"SubjectLocation",description:function(e){var t,n=(2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],c=1,f=0;try{for(o=(n=n.call(e)).next,!2;!(c=(r=o.call(n)).done)&&(u.push(r.value),2!==u.length);c=1);}catch(e){f=1,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw i}}return u}}(t)||function(e,t){if(e){if("string"==typeof e)return mt(e,2);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mt(e,2):void 0}}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=n[0],i=n[1];return"X: ".concat(r,", Y: ").concat(i)}},41493:"ExposureIndex",41495:{name:"SensingMethod",description:function(e){return 1===e?"Undefined":2===e?"One-chip color area sensor":3===e?"Two-chip color area sensor":4===e?"Three-chip color area sensor":5===e?"Color sequential area sensor":7===e?"Trilinear sensor":8===e?"Color sequential linear sensor":"Unknown"}},41728:{name:"FileSource",description:function(e){return 3===e?"DSC":"Unknown"}},41729:{name:"SceneType",description:function(e){return 1===e?"A directly photographed image":"Unknown"}},41730:{name:"CFAPattern",description:function(){return"[Raw CFA pattern table data]"}},41985:{name:"CustomRendered",description:dt.CustomRendered},41986:{name:"ExposureMode",description:dt.ExposureMode},41987:{name:"WhiteBalance",description:dt.WhiteBalance},41988:{name:"DigitalZoomRatio",description:function(e){return 0===e[0]?"Digital zoom was not used":""+e[0]/e[1]}},41989:{name:"FocalLengthIn35mmFilm",description:function(e){return 0===e?"Unknown":e}},41990:{name:"SceneCaptureType",description:dt.SceneCaptureType},41991:{name:"GainControl",description:function(e){return 0===e?"None":1===e?"Low gain up":2===e?"High gain up":3===e?"Low gain down":4===e?"High gain down":"Unknown"}},41992:{name:"Contrast",description:dt.Contrast},41993:{name:"Saturation",description:dt.Saturation},41994:{name:"Sharpness",description:dt.Sharpness},41995:{name:"DeviceSettingDescription",description:function(){return"[Raw device settings table data]"}},41996:{name:"SubjectDistanceRange",description:function(e){return 1===e?"Macro":2===e?"Close view":3===e?"Distant view":"Unknown"}},42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:{name:"LensSpecification",description:function(e){var t=parseFloat((e[0][0]/e[0][1]).toFixed(5)),n=parseFloat((e[1][0]/e[1][1]).toFixed(5)),r="".concat(t,"-").concat(n," mm");if(0===e[3][1])return"".concat(r," f/?");var i=1/(e[2][1]/e[2][1]/(e[3][0]/e[3][1]));return"".concat(r," f/").concat(parseFloat(i.toFixed(5)))}},42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",42080:{name:"CompositeImage",description:function(e){return{1:"Not a Composite Image",2:"General Composite Image",3:"Composite Image Captured While Shooting"}[e]||"Unknown"}},42081:"SourceImageNumberOfCompositeImage",42082:"SourceExposureTimesOfCompositeImage",42240:"Gamma",59932:"Padding",59933:"OffsetSchema",65e3:"OwnerName",65001:"SerialNumber",65002:"Lens",65100:"RawFile",65101:"Converter",65102:"WhiteBalance",65105:"Exposure",65106:"Shadows",65107:"Brightness",65108:"Contrast",65109:"Saturation",65110:"Sharpness",65111:"Smoothness",65112:"MoireFilter"}),Ct="0th",Ut="exif",At="interoperability",Pt=bt(bt(bt(bt(bt(bt({},Ct,It),"1st",pt),Ut,It),"gps",ht),At,vt),"mpf",y.USE_MPF?yt:{}),Et={1:1,2:1,3:2,4:4,5:8,7:1,9:4,10:8,13:4},wt={BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,UNDEFINED:7,SLONG:9,SRATIONAL:10,IFD:13},Tt={getAsciiValue:function(e){return e.map((function(e){return String.fromCharCode(e)}))},getByteAt:xt,getAsciiAt:function(e,t){return e.getUint8(t)},getShortAt:function(e,t,n){return e.getUint16(t,n===A.LITTLE_ENDIAN)},getLongAt:Ft,getRationalAt:function(e,t,n){return[Ft(e,t,n),Ft(e,t+4,n)]},getUndefinedAt:function(e,t){return xt(e,t)},getSlongAt:Mt,getSrationalAt:function(e,t,n){return[Mt(e,t,n),Mt(e,t+4,n)]},getIfdPointerAt:function(e,t,n){return Ft(e,t,n)},typeSizes:Et,tagTypes:wt,getTypeSize:function(e){if(void 0===wt[e])throw Error("No such type found.");return Et[wt[e]]}};function xt(e,t){return e.getUint8(t)}function Ft(e,t,n){return e.getUint32(t,n===A.LITTLE_ENDIAN)}function Mt(e,t,n){return e.getInt32(t,n===A.LITTLE_ENDIAN)}var Ot={1:Tt.getByteAt,2:Tt.getAsciiAt,3:Tt.getShortAt,4:Tt.getLongAt,5:Tt.getRationalAt,7:Tt.getUndefinedAt,9:Tt.getSlongAt,10:Tt.getSrationalAt,13:Tt.getIfdPointerAt};function Dt(e,t,n){return t+Tt.getLongAt(e,t+4,n)}function Lt(e,t,n,r,i,o){var a=Tt.getTypeSize("SHORT"),u={},c=function(e,t,n){return t+Tt.getTypeSize("SHORT")<=e.byteLength?Tt.getShortAt(e,t,n):0}(e,r,i);r+=a;for(var f=0;f<c&&!(r+12>e.byteLength);f++){var s=Nt(e,t,n,r,i,o);void 0!==s&&(u[s.name]={id:s.id,value:s.value,description:s.description}),r+=12}if(y.USE_THUMBNAIL&&r<e.byteLength-Tt.getTypeSize("LONG")){var l=Tt.getLongAt(e,r,i);0!==l&&t===Ct&&(u.Thumbnail=Lt(e,"1st",n,n+l,i,1))}return u}function Nt(e,t,n,r,i,o){var a,u=Tt.getTypeSize("SHORT"),c=u+Tt.getTypeSize("SHORT"),f=c+Tt.getTypeSize("LONG"),s=Tt.getShortAt(e,r,i),l=Tt.getShortAt(e,r+u,i),d=Tt.getLongAt(e,r+c,i);if(void 0!==Tt.typeSizes[l]&&(o||void 0!==Pt[t][s])){if(function(e,t){return Tt.typeSizes[e]*t<=Tt.getTypeSize("LONG")}(l,d))a=kt(e,r+f,l,d,i);else{var p=Tt.getLongAt(e,r+f,i);a=function(e,t,n,r,i){return t+n+Tt.typeSizes[r]*i<=e.byteLength}(e,n,p,l,d)?kt(e,n+p,l,d,i,33723===s):"<faulty value>"}l===Tt.tagTypes.ASCII&&(a=function(e){try{return e.map((function(e){return decodeURIComponent(escape(e))}))}catch(t){return e}}(a=function(e){for(var t=[],n=0,r=0;r<e.length;r++)"\0"!==e[r]?(void 0===t[n]&&(t[n]=""),t[n]+=e[r]):n++;return t}(a)));var m="undefined-".concat(s),g=a;if(void 0!==Pt[t][s])if(void 0!==Pt[t][s].name&&void 0!==Pt[t][s].description){m=Pt[t][s].name;try{g=Pt[t][s].description(a)}catch(e){g=Rt(a)}}else l===Tt.tagTypes.RATIONAL||l===Tt.tagTypes.SRATIONAL?(m=Pt[t][s],g=""+a[0]/a[1]):(m=Pt[t][s],g=Rt(a));return{id:s,name:m,value:a,description:g}}}function kt(e,t,n,r,i){var o=[];arguments.length>5&&void 0!==arguments[5]&&arguments[5]&&(r*=Tt.typeSizes[n],n=Tt.tagTypes.BYTE);for(var a=0;a<r;a++)o.push(Ot[n](e,t,i)),t+=Tt.typeSizes[n];return n===Tt.tagTypes.ASCII?o=Tt.getAsciiValue(o):1===o.length&&(o=o[0]),o}function Rt(e){return e instanceof Array?e.join(", "):e}var Bt="Exif IFD Pointer",Gt="GPS Info IFD Pointer",_t="Interoperability IFD Pointer",jt={read:function(e,t,n){var r=A.getByteOrder(e,t),i=function(e,t,n,r){return Lt(e,Ct,t,Dt(e,t,n),n,r)}(e,t,r,n);return function(e,t,n,r,i){return void 0!==e[_t]?l(e,Lt(t,At,n,n+e[_t].value,r,i)):e}(i=function(e,t,n,r,i){return void 0!==e[Gt]?l(e,Lt(t,"gps",n,n+e[Gt].value,r,i)):e}(i=function(e,t,n,r,i){return void 0!==e[Bt]?l(e,Lt(t,Ut,n,n+e[Bt].value,r,i)):e}(i,e,t,r,n),e,t,r,n),e,t,r,n)}},zt={read:function(e,t,n){var r=A.getByteOrder(e,t);return function(e,t,n,r){if(!n.MPEntry)return n;for(var i=[],o=0;o<Math.ceil(n.MPEntry.value.length/Vt);o++){i[o]={};var a=Ht(n.MPEntry.value,o*Vt,Tt.getTypeSize("LONG"),r);i[o].ImageFlags=Wt(a),i[o].ImageFormat=Xt(a),i[o].ImageType=Jt(a);var u=Ht(n.MPEntry.value,o*Vt+4,Tt.getTypeSize("LONG"),r);i[o].ImageSize={value:u,description:""+u};var c=Yt(o,n.MPEntry,r,t);i[o].ImageOffset={value:c,description:""+c};var f=Ht(n.MPEntry.value,o*Vt+12,Tt.getTypeSize("SHORT"),r);i[o].DependentImage1EntryNumber={value:f,description:""+f};var s=Ht(n.MPEntry.value,o*Vt+14,Tt.getTypeSize("SHORT"),r);i[o].DependentImage2EntryNumber={value:s,description:""+s},i[o].image=e.buffer.slice(c,c+u),d(i[o],"base64",(function(){return p(this.image)}))}return n.Images=i,n}(e,t,Lt(e,"mpf",t,Dt(e,t,r),r,n),r)}},Vt=16;function Ht(e,t,n,r){if(r===A.LITTLE_ENDIAN){for(var i=0,o=0;o<n;o++)i+=e[t+o]<<8*o;return i}for(var a=0,u=0;u<n;u++)a+=e[t+u]<<8*(n-1-u);return a}function Wt(e){var t=[e>>31&1,e>>30&1,e>>29&1],n=[];return t[0]&&n.push("Dependent Parent Image"),t[1]&&n.push("Dependent Child Image"),t[2]&&n.push("Representative Image"),{value:t,description:n.join(", ")||"None"}}function Xt(e){var t=e>>24&7;return{value:t,description:0===t?"JPEG":"Unknown"}}function Jt(e){var t=16777215&e;return{value:t,description:{196608:"Baseline MP Primary Image",65537:"Large Thumbnail (VGA equivalent)",65538:"Large Thumbnail (Full HD equivalent)",131073:"Multi-Frame Image (Panorama)",131074:"Multi-Frame Image (Disparity)",131075:"Multi-Frame Image (Multi-Angle)",0:"Undefined"}[t]||"Unknown"}}function Yt(e,t,n,r){return function(e){return 0===e}(e)?0:Ht(t.value,e*Vt+8,Tt.getTypeSize("LONG"),n)+r}var qt={read:function(e,t){var n=function(e,t){return Tt.getShortAt(e,t)}(e,t),r=function(e,t,n){if(!(8>n)){var r=Tt.getByteAt(e,t+7);return{value:r,description:""+r}}}(e,t,n);return{"Bits Per Sample":Kt(e,t,n),"Image Height":$t(e,t,n),"Image Width":Zt(e,t,n),"Color Components":r,Subsampling:r&&Qt(e,t,r.value,n)}}};function Kt(e,t,n){if(!(3>n)){var r=Tt.getByteAt(e,t+2);return{value:r,description:""+r}}}function $t(e,t,n){if(!(5>n)){var r=Tt.getShortAt(e,t+3);return{value:r,description:"".concat(r,"px")}}}function Zt(e,t,n){if(!(7>n)){var r=Tt.getShortAt(e,t+5);return{value:r,description:"".concat(r,"px")}}}function Qt(e,t,n,r){if(!(8+3*n>r)){for(var i=[],o=0;o<n;o++){var a=t+8+3*o;i.push([Tt.getByteAt(e,a),Tt.getByteAt(e,a+1),Tt.getByteAt(e,a+2)])}return{value:i,description:i.length>1?en(i)+tn(i):""}}}function en(e){var t={1:"Y",2:"Cb",3:"Cr",4:"I",5:"Q"};return e.map((function(e){return t[e[0]]})).join("")}function tn(e){var t={17:"4:4:4 (1 1)",18:"4:4:0 (1 2)",20:"4:4:1 (1 4)",33:"4:2:2 (2 1)",34:"4:2:0 (2 2)",36:"4:2:1 (2 4)",65:"4:1:1 (4 1)",66:"4:1:0 (4 2)"};return 0===e.length||void 0===e[0][1]||void 0===t[e[0][1]]?"":t[e[0][1]]}var nn={read:function(e,t){var n=function(e,t){return Tt.getShortAt(e,t)}(e,t),r=function(e,t,n){if(!(15>n)){var r=Tt.getByteAt(e,t+14);return{value:r,description:"".concat(r,"px")}}}(e,t,n),i=function(e,t,n){if(!(16>n)){var r=Tt.getByteAt(e,t+15);return{value:r,description:"".concat(r,"px")}}}(e,t,n),o={"JFIF Version":rn(e,t,n),"Resolution Unit":on(e,t,n),XResolution:un(e,t,n),YResolution:cn(e,t,n),"JFIF Thumbnail Width":r,"JFIF Thumbnail Height":i};if(void 0!==r&&void 0!==i){var a=function(e,t,n,r){if(!(0===n||16+n>r))return{value:e.buffer.slice(t+16,t+16+n),description:"<24-bit RGB pixel data>"}}(e,t,3*r.value*i.value,n);a&&(o["JFIF Thumbnail"]=a)}for(var u in o)void 0===o[u]&&delete o[u];return o}};function rn(e,t,n){if(!(9>n)){var r=Tt.getByteAt(e,t+7),i=Tt.getByteAt(e,t+7+1);return{value:256*r+i,description:r+"."+i}}}function on(e,t,n){if(!(10>n)){var r=Tt.getByteAt(e,t+9);return{value:r,description:an(r)}}}function an(e){return 0===e?"None":1===e?"inches":2===e?"cm":"Unknown"}function un(e,t,n){if(!(12>n)){var r=Tt.getShortAt(e,t+10);return{value:r,description:""+r}}}function cn(e,t,n){if(!(14>n)){var r=Tt.getShortAt(e,t+12);return{value:r,description:""+r}}}var fn={iptc:{256:{name:"Model Version",description:function(e){return""+((e[0]<<8)+e[1])}},261:{name:"Destination",repeatable:1},276:{name:"File Format",description:function(e){return""+((e[0]<<8)+e[1])}},278:{name:"File Format Version",description:function(e){return""+((e[0]<<8)+e[1])}},286:"Service Identifier",296:"Envelope Number",306:"Product ID",316:"Envelope Priority",326:{name:"Date Sent",description:sn},336:{name:"Time Sent",description:ln},346:{name:"Coded Character Set",description:dn,encoding_name:dn},356:"UNO",376:{name:"ARM Identifier",description:function(e){return""+((e[0]<<8)+e[1])}},378:{name:"ARM Version",description:function(e){return""+((e[0]<<8)+e[1])}},512:{name:"Record Version",description:function(e){return""+((e[0]<<8)+e[1])}},515:"Object Type Reference",516:"Object Attribute Reference",517:"Object Name",519:"Edit Status",520:{name:"Editorial Update",description:function(e){return"01"===S(e)?"Additional Language":"Unknown"}},522:"Urgency",524:{name:"Subject Reference",repeatable:1,description:function(e){var t=S(e).split(":");return t[2]+(t[3]?"/"+t[3]:"")+(t[4]?"/"+t[4]:"")}},527:"Category",532:{name:"Supplemental Category",repeatable:1},534:"Fixture Identifier",537:{name:"Keywords",repeatable:1},538:{name:"Content Location Code",repeatable:1},539:{name:"Content Location Name",repeatable:1},542:"Release Date",547:"Release Time",549:"Expiration Date",550:"Expiration Time",552:"Special Instructions",554:{name:"Action Advised",description:function(e){var t=S(e);return"01"===t?"Object Kill":"02"===t?"Object Replace":"03"===t?"Object Append":"04"===t?"Object Reference":"Unknown"}},557:{name:"Reference Service",repeatable:1},559:{name:"Reference Date",repeatable:1},562:{name:"Reference Number",repeatable:1},567:{name:"Date Created",description:sn},572:{name:"Time Created",description:ln},574:{name:"Digital Creation Date",description:sn},575:{name:"Digital Creation Time",description:ln},577:"Originating Program",582:"Program Version",587:{name:"Object Cycle",description:function(e){var t=S(e);return"a"===t?"morning":"p"===t?"evening":"b"===t?"both":"Unknown"}},592:{name:"By-line",repeatable:1},597:{name:"By-line Title",repeatable:1},602:"City",604:"Sub-location",607:"Province/State",612:"Country/Primary Location Code",613:"Country/Primary Location Name",615:"Original Transmission Reference",617:"Headline",622:"Credit",627:"Source",628:"Copyright Notice",630:{name:"Contact",repeatable:1},632:"Caption/Abstract",634:{name:"Writer/Editor",repeatable:1},637:{name:"Rasterized Caption",description:function(e){return e}},642:"Image Type",643:{name:"Image Orientation",description:function(e){var t=S(e);return"P"===t?"Portrait":"L"===t?"Landscape":"S"===t?"Square":"Unknown"}},647:"Language Identifier",662:{name:"Audio Type",description:function(e){var t=S(e),n=t.charAt(0),r=t.charAt(1),i="";return"1"===n?i+="Mono":"2"===n&&(i+="Stereo"),"A"===r?i+=", actuality":"C"===r?i+=", question and answer session":"M"===r?i+=", music, transmitted by itself":"Q"===r?i+=", response to a question":"R"===r?i+=", raw sound":"S"===r?i+=", scener":"V"===r?i+=", voicer":"W"===r&&(i+=", wrap"),""!==i?i:t}},663:{name:"Audio Sampling Rate",description:function(e){return parseInt(S(e),10)+" Hz"}},664:{name:"Audio Sampling Resolution",description:function(e){var t=parseInt(S(e),10);return t+(1===t?" bit":" bits")}},665:{name:"Audio Duration",description:function(e){var t=S(e);return t.length>=6?t.substr(0,2)+":"+t.substr(2,2)+":"+t.substr(4,2):t}},666:"Audio Outcue",698:"Short Document ID",699:"Unique Document ID",700:"Owner ID",712:{name:function(e){return 2===e.length?"ObjectData Preview File Format":"Record 2 destination"},description:function(e){if(2===e.length){var t=(e[0]<<8)+e[1];return 0===t?"No ObjectData":1===t?"IPTC-NAA Digital Newsphoto Parameter Record":2===t?"IPTC7901 Recommended Message Format":3===t?"Tagged Image File Format (Adobe/Aldus Image data)":4===t?"Illustrator (Adobe Graphics data)":5===t?"AppleSingle (Apple Computer Inc)":6===t?"NAA 89-3 (ANPA 1312)":7===t?"MacBinary II":8===t?"IPTC Unstructured Character Oriented File Format (UCOFF)":9===t?"United Press International ANPA 1312 variant":10===t?"United Press International Down-Load Message":11===t?"JPEG File Interchange (JFIF)":12===t?"Photo-CD Image-Pac (Eastman Kodak)":13===t?"Microsoft Bit Mapped Graphics File [*.BMP]":14===t?"Digital Audio File [*.WAV] (Microsoft & Creative Labs)":15===t?"Audio plus Moving Video [*.AVI] (Microsoft)":16===t?"PC DOS/Windows Executable Files [*.COM][*.EXE]":17===t?"Compressed Binary File [*.ZIP] (PKWare Inc)":18===t?"Audio Interchange File Format AIFF (Apple Computer Inc)":19===t?"RIFF Wave (Microsoft Corporation)":20===t?"Freehand (Macromedia/Aldus)":21===t?'Hypertext Markup Language "HTML" (The Internet Society)':22===t?"MPEG 2 Audio Layer 2 (Musicom), ISO/IEC":23===t?"MPEG 2 Audio Layer 3, ISO/IEC":24===t?"Portable Document File (*.PDF) Adobe":25===t?"News Industry Text Format (NITF)":26===t?"Tape Archive (*.TAR)":27===t?"Tidningarnas Telegrambyrå NITF version (TTNITF DTD)":28===t?"Ritzaus Bureau NITF version (RBNITF DTD)":29===t?"Corel Draw [*.CDR]":"Unknown format ".concat(t)}return S(e)}},713:{name:"ObjectData Preview File Format Version",description:function(e,t){var n={"00":{"00":"1"},"01":{"01":"1","02":"2","03":"3","04":"4"},"02":{"04":"4"},"03":{"01":"5.0","02":"6.0"},"04":{"01":"1.40"},"05":{"01":"2"},"06":{"01":"1"},11:{"01":"1.02"},20:{"01":"3.1","02":"4.0","03":"5.0","04":"5.5"},21:{"02":"2.0"}},r=S(e);if(t["ObjectData Preview File Format"]){var i=S(t["ObjectData Preview File Format"].value);if(n[i]&&n[i][r])return n[i][r]}return r}},714:"ObjectData Preview Data",1802:{name:"Size Mode",description:function(e){return e[0].toString()}},1812:{name:"Max Subfile Size",description:function(e){for(var t=0,n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}},1882:{name:"ObjectData Size Announced",description:function(e){for(var t=0,n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}},1887:{name:"Maximum ObjectData Size",description:function(e){for(var t=0,n=0;n<e.length;n++)t=(t<<8)+e[n];return t.toString()}}}};function sn(e){var t=S(e);return t.length>=8?t.substr(0,4)+"-"+t.substr(4,2)+"-"+t.substr(6,2):t}function ln(e){var t=S(e),n=t;return t.length>=6&&(n=t.substr(0,2)+":"+t.substr(2,2)+":"+t.substr(4,2),11===t.length&&(n+=t.substr(6,1)+t.substr(7,2)+":"+t.substr(9,2))),n}function dn(e){var t=S(e);return"%G"===t?"UTF-8":"%5"===t?"Windows-1252":"%/G"===t?"UTF-8 Level 1":"%/H"===t?"UTF-8 Level 2":"%/I"===t?"UTF-8 Level 3":"/A"===t?"ISO-8859-1":"/B"===t?"ISO-8859-2":"/C"===t?"ISO-8859-3":"/D"===t?"ISO-8859-4":"/@"===t?"ISO-8859-5":"/G"===t?"ISO-8859-6":"/F"===t?"ISO-8859-7":"/H"===t?"ISO-8859-8":"Unknown"}var pn={decode:function(e,t){var n=function(){if("undefined"!=typeof TextDecoder)return TextDecoder}();if("undefined"!=typeof n&&void 0!==e)try{return new n(e).decode(t instanceof DataView?t.buffer:Uint8Array.from(t))}catch(e){}return function(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}(t.map((function(e){return String.fromCharCode(e)})).join(""))},TAG_HEADER_SIZE:5},mn=5,gn={read:function(e,t,n){try{if(Array.isArray(e))return Sn(new DataView(Uint8Array.from(e).buffer),{size:e.length},0,n);var r=function(e,t){for(;t+12<=e.byteLength;){var n=hn(e,t);if(vn(n))return{naaBlock:n,dataOffset:t+12};t+=12+n.size+yn(n)}throw Error("No IPTC NAA resource block.")}(e,t);return Sn(e,r.naaBlock,r.dataOffset,n)}catch(e){return{}}}};function hn(e,t){if(943868237!==e.getUint32(t,0))throw Error("Not an IPTC resource block.");return{type:e.getUint16(t+4),size:e.getUint16(t+10)}}function vn(e){return 1028===e.type}function yn(e){return e.size%2!=0?1:0}function Sn(e,t,n,r){for(var i={},o=void 0,a=n+t.size;n<a&&n<e.byteLength;){var u=bn(e,n,i,o,r),c=u.tag,f=u.tagSize;if(null===c)break;c&&("encoding"in c&&(o=c.encoding),void 0===i[c.name]||void 0===c.repeatable?i[c.name]={id:c.id,value:c.value,description:c.description}:(i[c.name]instanceof Array||(i[c.name]=[{id:i[c.name].id,value:i[c.name].value,description:i[c.name].description}]),i[c.name].push({id:c.id,value:c.value,description:c.description}))),n+=mn+f}return i}function bn(e,t,n,r,i){if(function(e,t){return 28!==e.getUint8(t)}(e,t))return{tag:null,tagSize:0};var o=e.getUint16(t+1),a=e.getUint16(t+3);if(!i&&!fn.iptc[o])return{tag:void 0,tagSize:a};var u=function(e,t,n){for(var r=[],i=0;i<n;i++)r.push(e.getUint8(t+i));return r}(e,t+mn,a),c={id:o,name:In(fn.iptc[o],o,u),value:u,description:Cn(fn.iptc[o],u,n,r)};return function(e){return fn.iptc[e]&&fn.iptc[e].repeatable}(o)&&(c.repeatable=1),function(e){return fn.iptc[e]&&void 0!==fn.iptc[e].encoding_name}(o)&&(c.encoding=fn.iptc[o].encoding_name(u)),{tag:c,tagSize:a}}function In(e,t,n){return e?function(e){return"string"==typeof e}(e)?e:function(e){return"function"==typeof e.name}(e)?e.name(n):e.name:"undefined-".concat(t)}function Cn(e,t,n,r){if(function(e){return e&&void 0!==e.description}(e))try{return e.description(t,n)}catch(e){}return function(e,t){return e&&t instanceof Array}(e,t)?pn.decode(r,t):t}function Un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var An={"tiff:Orientation":function(e){return"1"===e?"Horizontal (normal)":"2"===e?"Mirror horizontal":"3"===e?"Rotate 180":"4"===e?"Mirror vertical":"5"===e?"Mirror horizontal and rotate 270 CW":"6"===e?"Rotate 90 CW":"7"===e?"Mirror horizontal and rotate 90 CW":"8"===e?"Rotate 270 CW":e},"tiff:ResolutionUnit":function(e){return dt.ResolutionUnit(parseInt(e,10))},"tiff:XResolution":function(e){return Pn(dt.XResolution,e)},"tiff:YResolution":function(e){return Pn(dt.YResolution,e)},"exif:ApertureValue":function(e){return Pn(dt.ApertureValue,e)},"exif:GPSLatitude":wn,"exif:GPSLongitude":wn,"exif:FNumber":function(e){return Pn(dt.FNumber,e)},"exif:FocalLength":function(e){return Pn(dt.FocalLength,e)},"exif:FocalPlaneResolutionUnit":function(e){return dt.FocalPlaneResolutionUnit(parseInt(e,10))},"exif:ColorSpace":function(e){return dt.ColorSpace(function(e){return"0x"===e.substring(0,2)?parseInt(e.substring(2),16):parseInt(e,10)}(e))},"exif:ComponentsConfiguration":function(e,t){if(/^\d, \d, \d, \d$/.test(t)){var n=t.split(", ").map((function(e){return e.charCodeAt(0)}));return dt.ComponentsConfiguration(n)}return t},"exif:Contrast":function(e){return dt.Contrast(parseInt(e,10))},"exif:CustomRendered":function(e){return dt.CustomRendered(parseInt(e,10))},"exif:ExposureMode":function(e){return dt.ExposureMode(parseInt(e,10))},"exif:ExposureProgram":function(e){return dt.ExposureProgram(parseInt(e,10))},"exif:ExposureTime":function(e){return En(e)?dt.ExposureTime(e.split("/").map((function(e){return parseInt(e,10)}))):e},"exif:MeteringMode":function(e){return dt.MeteringMode(parseInt(e,10))},"exif:Saturation":function(e){return dt.Saturation(parseInt(e,10))},"exif:SceneCaptureType":function(e){return dt.SceneCaptureType(parseInt(e,10))},"exif:Sharpness":function(e){return dt.Sharpness(parseInt(e,10))},"exif:ShutterSpeedValue":function(e){return Pn(dt.ShutterSpeedValue,e)},"exif:WhiteBalance":function(e){return dt.WhiteBalance(parseInt(e,10))}};function Pn(e,t){return En(t)?e(t.split("/")):t}function En(e){return/^-?\d+\/-?\d+$/.test(e)}function wn(e){var t,n=(2,function(e){if(Array.isArray(e))return e}(t=e.split(","))||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],c=1,f=0;try{for(o=(n=n.call(e)).next,!2;!(c=(r=o.call(n)).done)&&(u.push(r.value),2!==u.length);c=1);}catch(e){f=1,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw i}}return u}}(t)||function(e,t){if(e){if("string"==typeof e)return Un(e,2);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Un(e,2):void 0}}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=n[0],i=n[1];if(void 0!==r&&void 0!==i){var o=parseFloat(r),a=parseFloat(i),u=i.charAt(i.length-1);if(!Number.isNaN(o)&&!Number.isNaN(a))return""+(o+a/60)+u}return e}function Tn(e){return Tn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tn(e)}function xn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Fn={read:function(e,t){var n={};if("string"==typeof e)return On(n,e),n;var r,i=(r=function(e,t){if(0===t.length)return[];var n=[Mn(e,t.slice(0,1))];return t.length>1&&n.push(Mn(e,t.slice(1))),n}(e,t),2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],c=1,f=0;try{for(o=(n=n.call(e)).next,!2;!(c=(r=o.call(n)).done)&&(u.push(r.value),2!==u.length);c=1);}catch(e){f=1,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw i}}return u}}(r)||function(e,t){if(e){if("string"==typeof e)return xn(e,2);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xn(e,2):void 0}}(r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=i[0],a=i[1],u=On(n,o);if(a){var c=On(n,a);u||c||(delete n._raw,On(n,Mn(e,t)))}return n}};function Mn(e,t){for(var n=t.reduce((function(e,t){return e+t.length}),0),r=new Uint8Array(n),i=0,o=0;o<t.length;o++){var a=t[o],u=e.buffer.slice(a.dataOffset,a.dataOffset+a.length);r.set(new Uint8Array(u),i),i+=a.length}return new DataView(r.buffer)}function On(e,t){try{var n=function(e){var t=function(){if("undefined"!=typeof DOMParser)return new DOMParser;try{return new(require("@xmldom/xmldom").DOMParser)({errorHandler:{error:function(){throw Error("Faulty XML")}}})}catch(e){return}}();if(!t)throw console.warn("Warning: DOMParser is not available. It is needed to be able to parse XMP tags."),Error();var n="string"==typeof e?e:a(e,0,e.byteLength),r=t.parseFromString(n.replace(/^.+(<\?xpacket begin)/,"$1").replace(/(<\?xpacket end=".*"\?>).+$/,"$1"),"application/xml");if("parsererror"===r.documentElement.nodeName)throw Error(r.documentElement.textContent);return{doc:r,raw:n}}(t),r=n.doc,i=n.raw;return e._raw=(e._raw||"")+i,l(e,kn(Ln(Dn(r),1))),1}catch(e){return 0}}function Dn(e){for(var t=0;t<e.childNodes.length;t++){if("x:xmpmeta"===e.childNodes[t].tagName)return Dn(e.childNodes[t]);if("rdf:RDF"===e.childNodes[t].tagName)return e.childNodes[t]}throw Error()}function Ln(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=function(e){for(var t=[],n=0;n<e.childNodes.length;n++)t.push(e.childNodes[n]);return t}(e);return 1===(t=r).length&&"#text"===t[0].nodeName?n?{}:function(e){return e.nodeValue}(r[0]):function(e){var t={};return e.forEach((function(e){if(function(e){return e.nodeName&&"#text"!==e.nodeName}(e)){var n=function(e){return{attributes:Nn(e),value:Ln(e)}}(e);void 0!==t[e.nodeName]?(Array.isArray(t[e.nodeName])||(t[e.nodeName]=[t[e.nodeName]]),t[e.nodeName].push(n)):t[e.nodeName]=n}})),t}(r)}function Nn(e){for(var t={},n=0;n<e.attributes.length;n++)t[e.attributes[n].nodeName]=decodeURIComponent(escape(e.attributes[n].value));return t}function kn(e){var t={};if("string"==typeof e)return e;for(var n in e){var r=e[n];Array.isArray(r)||(r=[r]),r.forEach((function(e){l(t,Rn(e.attributes)),"object"===Tn(e.value)&&l(t,Vn(e.value))}))}return t}function Rn(e){var t={};for(var n in e)try{Bn(n)&&(t[_n(n)]={value:e[n],attributes:{},description:jn(e[n],n)})}catch(e){}return t}function Bn(e){return"rdf:parseType"!==e&&!Gn(e)}function Gn(e){return"xmlns"===e.split(":")[0]}function _n(e){return/^MicrosoftPhoto(_\d+_)?:Rating$/i.test(e)?"RatingPercent":e.split(":")[1]}function jn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(Array.isArray(e)){var n=function(e){return e.map((function(e){return void 0!==e.value?jn(e.value):jn(e)})).join(", ")}(e);return t&&"function"==typeof An[t]?An[t](e,n):n}if("object"===Tn(e))return function(e){var t=[];for(var n in e)t.push("".concat(zn(n),": ").concat(jn(e[n].value)));return t.join("; ")}(e);try{return t&&"function"==typeof An[t]?An[t](e):decodeURIComponent(escape(e))}catch(t){return e}}function zn(e){return"CiAdrCity"===e?"CreatorCity":"CiAdrCtry"===e?"CreatorCountry":"CiAdrExtadr"===e?"CreatorAddress":"CiAdrPcode"===e?"CreatorPostalCode":"CiAdrRegion"===e?"CreatorRegion":"CiEmailWork"===e?"CreatorWorkEmail":"CiTelWork"===e?"CreatorWorkPhone":"CiUrlWork"===e?"CreatorWorkUrl":e}function Vn(e){var t={};for(var n in e)try{Gn(n)||(t[_n(n)]=Hn(e[n],n))}catch(e){}return t}function Hn(e,t){return function(e){return Array.isArray(e)}(e)?function(e,t){return Qn(e[e.length-1],t)}(e,t):function(e){return"Resource"===e.attributes["rdf:parseType"]&&"string"==typeof e.value&&""===e.value.trim()}(e)?{value:"",attributes:{},description:""}:Wn(e)?Xn(e,t):Yn(e)?qn(e,t):Kn(e)?$n(e,t):function(e){return void 0!==Zn(e.value)}(e)?function(e,t){var n=Zn(e.value).value["rdf:li"],r=Jn(e),i=[];return void 0===n?n=[]:Array.isArray(n)||(n=[n]),n.forEach((function(e){i.push(function(e){return Wn(e)?Xn(e):Yn(e)?qn(e).value:Kn(e)?$n(e).value:Qn(e)}(e))})),{value:i,attributes:r,description:jn(i,t)}}(e,t):Qn(e,t)}function Wn(e){return"Resource"===e.attributes["rdf:parseType"]&&void 0!==e.value["rdf:value"]||void 0!==e.value["rdf:Description"]&&void 0!==e.value["rdf:Description"].value["rdf:value"]}function Xn(e,t){var n=Jn(e);void 0!==e.value["rdf:Description"]&&(e=e.value["rdf:Description"]),l(n,Jn(e),function(e){var t={};for(var n in e.value)"rdf:value"===n||Gn(n)||(t[_n(n)]=e.value[n].value);return t}(e));var r=function(e){return er(e.value["rdf:value"])||e.value["rdf:value"].value}(e);return{value:r,attributes:n,description:jn(r,t)}}function Jn(e){var t={};for(var n in e.attributes)"rdf:parseType"===n||"rdf:resource"===n||Gn(n)||(t[_n(n)]=e.attributes[n]);return t}function Yn(e){return"Resource"===e.attributes["rdf:parseType"]||void 0!==e.value["rdf:Description"]&&void 0===e.value["rdf:Description"].value["rdf:value"]}function qn(e,t){var n={value:{},attributes:{}};return void 0!==e.value["rdf:Description"]&&(l(n.value,Rn(e.value["rdf:Description"].attributes)),l(n.attributes,Jn(e)),e=e.value["rdf:Description"]),l(n.value,Vn(e.value)),n.description=jn(n.value,t),n}function Kn(e){return 0===Object.keys(e.value).length&&void 0===e.attributes["xml:lang"]&&void 0===e.attributes["rdf:resource"]}function $n(e,t){var n=Rn(e.attributes);return{value:n,attributes:{},description:jn(n,t)}}function Zn(e){return e["rdf:Bag"]||e["rdf:Seq"]||e["rdf:Alt"]}function Qn(e,t){var n=er(e)||kn(e.value);return{value:n,attributes:Jn(e),description:jn(n,t)}}function er(e){return e.attributes&&e.attributes["rdf:resource"]}function tr(e){return tr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tr(e)}function nr(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=tr(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=tr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return e+""}(e);return"symbol"==tr(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:1,configurable:1,writable:1}):e[t]=n,e}function rr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var ir={2e3:{name:"PathInformation",description:function(e){for(var t={},n=[],r=0;r<e.byteLength;r+=26){var i=Tt.getShortAt(e,r);or[i]&&(t[i]||(t[i]=or[i].description),n.push({type:i,path:or[i].path(e,r+2)}))}return JSON.stringify({types:t,paths:n})}},2999:{name:"ClippingPathName",description:function(e){return(t=f(e,0),2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],c=1,f=0;try{for(o=(n=n.call(e)).next,!2;!(c=(r=o.call(n)).done)&&(u.push(r.value),2!==u.length);c=1);}catch(e){f=1,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw i}}return u}}(t)||function(e,t){if(e){if("string"==typeof e)return rr(e,2);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rr(e,2):void 0}}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1];var t}}},or=nr(nr(nr(nr(nr(nr(nr(nr(nr({},0,{description:"Closed subpath length",path:function(e,t){return[Tt.getShortAt(e,t)]}}),1,{description:"Closed subpath Bezier knot, linked",path:ar}),2,{description:"Closed subpath Bezier knot, unlinked",path:ar}),3,{description:"Open subpath length",path:function(e,t){return[Tt.getShortAt(e,t)]}}),4,{description:"Open subpath Bezier knot, linked",path:ar}),5,{description:"Open subpath Bezier knot, unlinked",path:ar}),6,{description:"Path fill rule",path:function(){return[]}}),8,{description:"Initial fill rule",path:function(e,t){return[Tt.getShortAt(e,t)]}}),7,{description:"Clipboard",path:function(e,t){return[[cr(e,t,8),cr(e,t+4,8),cr(e,t+8,8),cr(e,t+12,8)],cr(e,t+16,8)]}});function ar(e,t){for(var n=[],r=0;r<24;r+=8)n.push(ur(e,t+r));return n}function ur(e,t){var n=cr(e,t,8);return[cr(e,t+4,8),n]}function cr(e,t,n){var r,i=Tt.getLongAt(e,t),o=i>>>31==0?1:-1,a=(2130706432&i)>>>32-n,u=i&parseInt(m("1",32-n),2);return o*function(e,t){return parseInt(e.replace(".",""),2)/Math.pow(2,(e.split(".")[1]||"").length)}(a.toString(2)+"."+(m("0",32-n-(r=u.toString(2)).length)+r))}function fr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var sr={read:function(e,t){for(var n=o(new Uint8Array(e).buffer),r={},i=0;i<e.length;){var u=a(n,i,mr);i+=mr;var c=Tt.getShortAt(n,i),f=gr(n,i+=dr),s=f.tagName;i+=f.tagNameSize;var l=Tt.getLongAt(n,i);if(i+=pr,u===lr){var d=o(n.buffer,i,l),p={id:c,value:a(d,0,l)};if(ir[c]){try{p.description=ir[c].description(d)}catch(e){p.description="<no description formatter>"}r[s||ir[c].name]=p}else t&&(r["undefined-".concat(c)]=p)}i+=l+l%2}return r}},lr="8BIM",dr=2,pr=4,mr=lr.length;function gr(e,t){var n,r=(2,function(e){if(Array.isArray(e))return e}(n=f(e,t))||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],c=1,f=0;try{for(o=(n=n.call(e)).next,!2;!(c=(r=o.call(n)).done)&&(u.push(r.value),2!==u.length);c=1);}catch(e){f=1,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw i}}return u}}(n)||function(e,t){if(e){if("string"==typeof e)return fr(e,2);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fr(e,2):void 0}}(n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=r[0];return{tagName:r[1],tagNameSize:1+i+(i%2==0?1:0)}}var hr={desc:{name:"ICC Description"},cprt:{name:"ICC Copyright"},dmdd:{name:"ICC Device Model Description"},vued:{name:"ICC Viewing Conditions Description"},dmnd:{name:"ICC Device Manufacturer for Display"},tech:{name:"Technology"}},vr={4:{name:"Preferred CMM type",value:function(e,t){return a(e,t,4)},description:function(e){return null!==e?yr(e):""}},8:{name:"Profile Version",value:function(e,t){return e.getUint8(t).toString(10)+"."+(e.getUint8(t+1)>>4).toString(10)+"."+(e.getUint8(t+1)%16).toString(10)}},12:{name:"Profile/Device class",value:function(e,t){return a(e,t,4)},description:function(e){switch(e.toLowerCase()){case"scnr":return"Input Device profile";case"mntr":return"Display Device profile";case"prtr":return"Output Device profile";case"link":return"DeviceLink profile";case"abst":return"Abstract profile";case"spac":return"ColorSpace profile";case"nmcl":return"NamedColor profile";case"cenc":return"ColorEncodingSpace profile";case"mid ":return"MultiplexIdentification profile";case"mlnk":return"MultiplexLink profile";case"mvis":return"MultiplexVisualization profile";default:return e}}},16:{name:"Color Space",value:function(e,t){return a(e,t,4)}},20:{name:"Connection Space",value:function(e,t){return a(e,t,4)}},24:{name:"ICC Profile Date",value:function(e,t){return function(e,t){var n=e.getUint16(t),r=e.getUint16(t+2)-1,i=e.getUint16(t+4),o=e.getUint16(t+6),a=e.getUint16(t+8),u=e.getUint16(t+10);return new Date(Date.UTC(n,r,i,o,a,u))}(e,t).toISOString()}},36:{name:"ICC Signature",value:function(e,t){return n=e.buffer.slice(t,t+4),String.fromCharCode.apply(null,new Uint8Array(n));var n}},40:{name:"Primary Platform",value:function(e,t){return a(e,t,4)},description:function(e){return yr(e)}},48:{name:"Device Manufacturer",value:function(e,t){return a(e,t,4)},description:function(e){return yr(e)}},52:{name:"Device Model Number",value:function(e,t){return a(e,t,4)}},64:{name:"Rendering Intent",value:function(e,t){return e.getUint32(t)},description:function(e){switch(e){case 0:return"Perceptual";case 1:return"Relative Colorimetric";case 2:return"Saturation";case 3:return"Absolute Colorimetric";default:return e}}},80:{name:"Profile Creator",value:function(e,t){return a(e,t,4)}}};function yr(e){switch(e.toLowerCase()){case"appl":return"Apple";case"adbe":return"Adobe";case"msft":return"Microsoft";case"sunw":return"Sun Microsystems";case"sgi":return"Silicon Graphics";case"tgnt":return"Taligent";default:return e}}var Sr={read:function(e,t,n){return n&&t[0].compressionMethod!==g?function(e,t){return t[0].compressionMethod!==h?{}:v(new DataView(e.buffer.slice(t[0].offset,t[0].offset+t[0].length)),t[0].compressionMethod,"utf-8","dataview").then(xr).catch((function(){return{}}))}(e,t):function(e,t){try{for(var n=t.reduce((function(e,t){return e+t.length}),0),r=new Uint8Array(n),i=0,o=function(e){return Array.isArray(e)?new DataView(Uint8Array.from(e).buffer).buffer:e.buffer}(e),a=function(e){var n=t.find((function(t){return t.chunkNumber===e}));if(!n)throw Error("ICC chunk ".concat(e," not found"));var a=o.slice(n.offset,n.offset+n.length),u=new Uint8Array(a);r.set(u,i),i+=u.length},u=1;u<=t.length;u++)a(u);return xr(new DataView(r.buffer))}catch(e){return{}}}(e,t)}},br=84,Ir=128,Cr="acsp",Ur="desc",Ar="mluc",Pr="text",Er="sig ",wr=12;function Tr(e,t){return e.length<t+wr}function xr(e){var t=e.buffer,n=e.getUint32();if(e.byteLength!==n)throw Error("ICC profile length not matching");if(e.length<br)throw Error("ICC profile too short");for(var r={},i=Object.keys(vr),o=0;o<i.length;o++){var u=i[o],f=vr[u],s=f.value(e,parseInt(u,10)),l=s;f.description&&(l=f.description(s)),r[f.name]={value:s,description:l}}if(Fr(t.slice(36,40))!==Cr)throw Error("ICC profile: missing signature");if(function(e){return e.length<Ir+4}(t))return r;for(var d=e.getUint32(128),p=132,m=0;m<d;m++){if(Tr(t,p))return r;var g=a(e,p,4),h=e.getUint32(p+4),v=e.getUint32(p+8);if(h>t.length)return r;var y=a(e,h,4);if(y===Ur){var S=e.getUint32(h+8);if(S>v)return r;Mr(r,g,Fr(t.slice(h+12,h+S+11)))}else if(y===Ar){for(var b=e.getUint32(h+8),I=e.getUint32(h+12),C=h+16,U=[],A=0;A<b;A++){var P=a(e,C+0,2),E=a(e,C+2,2),w=e.getUint32(C+4),T=e.getUint32(C+8),x=c(e,h+T,w);U.push({languageCode:P,countryCode:E,text:x}),C+=I}if(1===b)Mr(r,g,U[0].text);else{for(var F={},M=0;M<U.length;M++)F["".concat(U[M].languageCode,"-").concat(U[M].countryCode)]=U[M].text;Mr(r,g,F)}}else y===Pr?Mr(r,g,Fr(t.slice(h+8,h+v-7))):y===Er&&Mr(r,g,Fr(t.slice(h+8,h+12)));p+=12}return r}function Fr(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function Mr(e,t,n){hr[t]?e[hr[t].name]={value:n,description:n}:e[t]={value:n,description:n}}var Or={read:function(e,t){return{"Image Width":Dr(e,t),"Image Height":Lr(e,t),"Bit Depth":Nr(e,t),"Color Type":kr(e,t),Compression:Rr(e,t),Filter:Br(e,t),Interlace:Gr(e,t)}}};function Dr(e,t){if(!(t+0+4>e.byteLength)){var n=Tt.getLongAt(e,t);return{value:n,description:"".concat(n,"px")}}}function Lr(e,t){if(!(t+4+4>e.byteLength)){var n=Tt.getLongAt(e,t+4);return{value:n,description:"".concat(n,"px")}}}function Nr(e,t){if(!(t+8+1>e.byteLength)){var n=Tt.getByteAt(e,t+8);return{value:n,description:"".concat(n)}}}function kr(e,t){if(!(t+9+1>e.byteLength)){var n=Tt.getByteAt(e,t+9);return{value:n,description:{0:"Grayscale",2:"RGB",3:"Palette",4:"Grayscale with Alpha",6:"RGB with Alpha"}[n]||"Unknown"}}}function Rr(e,t){if(!(t+10+1>e.byteLength)){var n=Tt.getByteAt(e,t+10);return{value:n,description:0===n?"Deflate/Inflate":"Unknown"}}}function Br(e,t){if(!(t+11+1>e.byteLength)){var n=Tt.getByteAt(e,t+11);return{value:n,description:0===n?"Adaptive":"Unknown"}}}function Gr(e,t){if(!(t+12+1>e.byteLength)){var n=Tt.getByteAt(e,t+12);return{value:n,description:{0:"Noninterlaced",1:"Adam7 Interlace"}[n]||"Unknown"}}}function _r(e){return _r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_r(e)}var jr={read:function(e,t,n,r){for(var i={},o=[],a=0;a<t.length;a++){var u=t[a],c=Kr(e,u.offset,u.length,u.type,n);if(c instanceof Promise)o.push(c.then((function(e){var t,n,i,o=e.name,a=e.value,u=e.description;try{if(y.USE_EXIF&&ni(o,a))return{__exif:jt.read(ii(a),qr,r)};if(y.USE_IPTC&&ri(o,a))return{__iptc:gn.read(ii(a),0,r)};if(o)return t={},i={value:a,description:u},(n=function(e){var t=function(e,t){if("object"!=_r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=_r(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return e+""}(e);return"symbol"==_r(t)?t:t+""}(n=o))in t?Object.defineProperty(t,n,{value:i,enumerable:1,configurable:1,writable:1}):t[n]=i,t}catch(e){}return{}})));else{var f=c.name,s=c.value,l=c.description;f&&(i[f]={value:s,description:l})}}return{readTags:i,readTagsPromise:o.length>0?Promise.all(o):void 0}}},zr="STATE_KEYWORD",Vr="STATE_COMPRESSION",Hr="STATE_LANG",Wr="STATE_TRANSLATED_KEYWORD",Xr="STATE_TEXT",Jr=1,Yr=1,qr=6;function Kr(e,t,n,r,i){for(var o,a=[],u=[],c=[],f=zr,s=g,l=0;l<n&&t+l<e.byteLength;l++)if(f!==Vr){if(f===Xr){o=new DataView(e.buffer.slice(t+l,t+n));break}var d=e.getUint8(t+l);0===d?f=Zr(r,f):f===zr?a.push(d):f===Hr?u.push(d):f===Wr&&c.push(d)}else s=$r({type:r,dataView:e,offset:t+l}),r===Ee&&(l+=Jr),f=Zr(r,f);if(s!==g&&!i)return{};var p=v(o,s,function(e){return e===Pe||e===we?"latin1":"utf-8"}(r));return p instanceof Promise?p.then((function(e){return Qr(e,r,u,a)})).catch((function(){return Qr("<text using unknown compression>".split(""),r,u,a)})):Qr(p,r,u,a)}function $r(e){var t=e.type,n=e.dataView,r=e.offset;if(t===Ee){if(n.getUint8(r)===Yr)return n.getUint8(r+1)}else if(t===we)return n.getUint8(r);return g}function Zr(e,t){return t===zr&&[Ee,we].includes(e)?Vr:t===Vr?e===Ee?Hr:Xr:t===Hr?Wr:Xr}function Qr(e,t,n,r){var i=function(e){return e instanceof DataView?a(e,0,e.byteLength):e}(e);return{name:ei(t,n,r),value:i,description:t===Ee?ti(e):i}}function ei(e,t,n){var r=s(n);if(e===Pe||0===t.length)return r;var i=s(t);return"".concat(r," (").concat(i,")")}function ti(e){return pn.decode("UTF-8",e)}function ni(e,t){return"raw profile type exif"===e.toLowerCase()&&"exif"===t.substring(1,5)}function ri(e,t){return"raw profile type iptc"===e.toLowerCase()&&"iptc"===t.substring(1,5)}function ii(e){return function(e){for(var t=new DataView(new ArrayBuffer(e.length/2)),n=0;n<e.length;n+=2)t.setUint8(n/2,parseInt(e.substring(n,n+2),16));return t}(e.match(/\n(exif|iptc)\n\s*\d+\n([\s\S]*)$/)[2].replace(/\n/g,""))}var oi={read:function(e,t){for(var n={},r=0;r<t.length;r++){var i=Tt.getLongAt(e,t[r]+Ie),o=a(e,t[r]+Ce,be);o===Te?(n["Pixels Per Unit X"]=ai(e,t[r],i),n["Pixels Per Unit Y"]=ui(e,t[r],i),n["Pixel Units"]=ci(e,t[r],i)):o===xe&&(n["Modify Date"]=fi(e,t[r],i))}return n}};function ai(e,t,n){if(si(e,t,n,0,4)){var r=Tt.getLongAt(e,t+Ue+0);return{value:r,description:""+r}}}function ui(e,t,n){if(si(e,t,n,4,4)){var r=Tt.getLongAt(e,t+Ue+4);return{value:r,description:""+r}}}function ci(e,t,n){if(si(e,t,n,8,1)){var r=Tt.getByteAt(e,t+Ue+8);return{value:r,description:1===r?"meters":"Unknown"}}}function fi(e,t,n){if(si(e,t,n,0,7)){var r=Tt.getShortAt(e,t+Ue),i=Tt.getByteAt(e,t+Ue+2),o=Tt.getByteAt(e,t+Ue+3),a=Tt.getByteAt(e,t+Ue+4),u=Tt.getByteAt(e,t+Ue+5),c=Tt.getByteAt(e,t+Ue+6);return{value:[r,i,o,a,u,c],description:"".concat(li(r,4),"-").concat(li(i,2),"-").concat(li(o,2)," ").concat(li(a,2),":").concat(li(u,2),":").concat(li(c,2))}}}function si(e,t,n,r,i){return r+i<=n&&t+Ue+r+i<=e.byteLength}function li(e,t){return"".concat("0".repeat(t-(""+e).length)).concat(e)}var di={read:function(e,t){var n={},r=Tt.getByteAt(e,t);return n.Alpha=function(e){var t=16&e;return{value:t?1:0,description:t?"Yes":"No"}}(r),n.Animation=function(e){var t=2&e;return{value:t?1:0,description:t?"Yes":"No"}}(r),n.ImageWidth=gi(e,t+pi),n.ImageHeight=gi(e,t+mi),n}},pi=4,mi=7;function gi(e,t){var n=Tt.getByteAt(e,t)+256*Tt.getByteAt(e,t+1)+65536*Tt.getByteAt(e,t+2)+1;return{value:n,description:n+"px"}}var hi={read:function(e){return{"GIF Version":vi(e),"Image Width":yi(e),"Image Height":Si(e),"Global Color Map":bi(e),"Bits Per Pixel":Ci(e),"Color Resolution Depth":Ii(e)}}};function vi(e){if(!(6>e.byteLength)){var t=a(e,3,3);return{value:t,description:t}}}function yi(e){if(!(8>e.byteLength)){var t=e.getUint16(6,1);return{value:t,description:"".concat(t,"px")}}}function Si(e){if(!(10>e.byteLength)){var t=e.getUint16(8,1);return{value:t,description:"".concat(t,"px")}}}function bi(e){if(!(11>e.byteLength)){var t=(128&e.getUint8(10))>>>7;return{value:t,description:1===t?"Yes":"No"}}}function Ii(e){if(!(11>e.byteLength)){var t=1+((112&e.getUint8(10))>>>4);return{value:t,description:"".concat(t," ").concat(1===t?"bit":"bits")}}}function Ci(e){if(!(11>e.byteLength)){var t=1+(7&e.getUint8(10));return{value:t,description:"".concat(t," ").concat(1===t?"bit":"bits")}}}var Ui=[6,7,99],Ai={get:function(e,t,n){if((i=t)&&(void 0===i.Compression||Ui.includes(i.Compression.value))&&i.JPEGInterchangeFormat&&i.JPEGInterchangeFormat.value&&i.JPEGInterchangeFormatLength&&i.JPEGInterchangeFormatLength.value){t.type="image/jpeg";var r=n+t.JPEGInterchangeFormat.value;t.image=e.buffer.slice(r,r+t.JPEGInterchangeFormatLength.value),d(t,"base64",(function(){return p(this.image)}))}var i;return t}};function Pi(e){this.name="MetadataMissingError",this.message=e||"No Exif data",this.stack=Error().stack}Pi.prototype=Error();var Ei={MetadataMissingError:Pi},wi={load:xi,loadView:Mi,errors:Ei},Ti=Ei;function xi(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(e){return"string"==typeof e}(e)?(n.async=1,function(e,t){return/^\w+:\/\//.test(e)?"undefined"!=typeof fetch?function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).length,n={method:"GET"};return Number.isInteger(t)&&t>=0&&(n.headers={range:"bytes=0-".concat(t-1)}),fetch(e,n).then((function(e){return e.arrayBuffer()}))}(e,t):function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).length;return new Promise((function(n,r){var i={};Number.isInteger(t)&&t>=0&&(i.headers={range:"bytes=0-".concat(t-1)});var o=function(e){return/^https:\/\//.test(e)?require("https").get:require("http").get}(e);o(e,i,(function(e){if(e.statusCode>=200&&e.statusCode<=299){var t=[];e.on("data",(function(e){return t.push(Buffer.from(e))})),e.on("error",(function(e){return r(e)})),e.on("end",(function(){return n(Buffer.concat(t))}))}else r("Could not fetch file: ".concat(e.statusCode," ").concat(e.statusMessage)),e.resume()})).on("error",(function(e){return r(e)}))}))}(e,t):function(e){return/^data:[^;,]*(;base64)?,/.test(e)}(e)?Promise.resolve(function(e){var t=e.substring(e.indexOf(",")+1);if(-1!==e.indexOf(";base64")){if("undefined"!=typeof atob)return Uint8Array.from(atob(t),(function(e){return e.charCodeAt(0)})).buffer;if("undefined"==typeof Buffer)return;return"undefined"!=typeof Buffer.from?Buffer.from(t,"base64"):new Buffer(t,"base64")}var n=decodeURIComponent(t);return"undefined"!=typeof Buffer?"undefined"!=typeof Buffer.from?Buffer.from(n):new Buffer(n):Uint8Array.from(n,(function(e){return e.charCodeAt(0)})).buffer}(e)):function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).length;return new Promise((function(n,r){var i=function(){try{return require("fs")}catch(e){return}}();i.open(e,(function(o,a){o?r(o):i.stat(e,(function(o,u){if(o)r(o);else{var c=Math.min(u.size,void 0!==t?t:u.size),f=Buffer.alloc(c),s={buffer:f,length:c};i.read(a,s,(function(t){t?r(t):i.close(a,(function(t){t&&console.warn("Could not close file ".concat(e,":"),t),n(f)}))}))}}))}))}))}(e,t)}(e,n).then((function(e){return Fi(e,n)}))):function(e){return"undefined"!=typeof window&&"undefined"!=typeof File&&e instanceof File}(e)?(n.async=1,(t=e,new Promise((function(e,n){var r=new FileReader;r.onload=function(t){return e(t.target.result)},r.onerror=function(){return n(r.error)},r.readAsArrayBuffer(t)}))).then((function(e){return Fi(e,n)}))):Fi(e,n)}function Fi(e,t){return function(e){try{return Buffer.isBuffer(e)}catch(e){return 0}}(e)&&(e=new Uint8Array(e).buffer),Mi(function(e){try{return new DataView(e)}catch(t){return new i(e)}}(e),t)}function Mi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expanded:0,async:0,includeUnknown:0},n=t.expanded,r=void 0===n?0:n,i=t.async,o=void 0===i?0:i,a=t.includeUnknown,u=void 0===a?0:a,c=0,f={},d=[],p=st.parseAppMarkers(e,o),m=p.fileType,g=p.fileDataOffset,h=p.jfifDataOffset,v=p.tiffHeaderOffset,S=p.iptcDataOffset,b=p.xmpChunks,C=p.iccChunks,U=p.mpfDataOffset,A=p.pngHeaderOffset,P=p.pngTextChunks,E=p.pngChunkOffsets,w=p.vp8xChunkOffset,T=p.gifHeaderOffset;if(y.USE_JPEG&&y.USE_FILE&&function(e){return void 0!==e}(g)){c=1;var x=qt.read(e,g);r?f.file=x:f=l({},f,x)}if(y.USE_JPEG&&y.USE_JFIF&&function(e){return void 0!==e}(h)){c=1;var F=nn.read(e,h);r?f.jfif=F:f=l({},f,F)}if(y.USE_EXIF&&function(e){return void 0!==e}(v)){c=1;var M=jt.read(e,v,u);if(M.Thumbnail&&(f.Thumbnail=M.Thumbnail,delete M.Thumbnail),r?(f.exif=M,function(e){if(e.exif){if(e.exif.GPSLatitude&&e.exif.GPSLatitudeRef)try{e.gps=e.gps||{},e.gps.Latitude=I(e.exif.GPSLatitude.value),"S"===e.exif.GPSLatitudeRef.value.join("")&&(e.gps.Latitude=-e.gps.Latitude)}catch(e){}if(e.exif.GPSLongitude&&e.exif.GPSLongitudeRef)try{e.gps=e.gps||{},e.gps.Longitude=I(e.exif.GPSLongitude.value),"W"===e.exif.GPSLongitudeRef.value.join("")&&(e.gps.Longitude=-e.gps.Longitude)}catch(e){}if(e.exif.GPSAltitude&&e.exif.GPSAltitudeRef)try{e.gps=e.gps||{},e.gps.Altitude=e.exif.GPSAltitude.value[0]/e.exif.GPSAltitude.value[1],1===e.exif.GPSAltitudeRef.value&&(e.gps.Altitude=-e.gps.Altitude)}catch(e){}}}(f)):f=l({},f,M),y.USE_TIFF&&y.USE_IPTC&&M["IPTC-NAA"]&&!Oi(S)){var O=gn.read(M["IPTC-NAA"].value,0,u);r?f.iptc=O:f=l({},f,O)}if(y.USE_TIFF&&y.USE_XMP&&M.ApplicationNotes&&!Di(b)){var D=Fn.read(s(M.ApplicationNotes.value));r?f.xmp=D:(delete D._raw,f=l({},f,D))}if(y.USE_PHOTOSHOP&&M.ImageSourceData){var L=sr.read(M.PhotoshopSettings.value,u);r?f.photoshop=L:f=l({},f,L)}if(y.USE_TIFF&&y.USE_ICC&&M.ICC_Profile&&!Li(C)){var N=Sr.read(M.ICC_Profile.value,[{offset:0,length:M.ICC_Profile.value.length,chunkNumber:1,chunksTotal:1}]);r?f.icc=N:f=l({},f,N)}}if(y.USE_JPEG&&y.USE_IPTC&&Oi(S)){c=1;var k=gn.read(e,S,u);r?f.iptc=k:f=l({},f,k)}if(y.USE_XMP&&Di(b)){c=1;var R=Fn.read(e,b);r?f.xmp=R:(delete R._raw,f=l({},f,R))}if((y.USE_JPEG||y.USE_WEBP)&&y.USE_ICC&&Li(C)){c=1;var B=Sr.read(e,C,o);B instanceof Promise?d.push(B.then(Y)):Y(B)}if(y.USE_MPF&&function(e){return void 0!==e}(U)){c=1;var G=zt.read(e,U,u);r?f.mpf=G:f=l({},f,G)}if(y.USE_PNG&&y.USE_PNG_FILE&&void 0!==A){c=1;var _=Or.read(e,A);r?(f.png=f.png?l({},f.png,_):_,f.pngFile=_):f=l({},f,_)}if(y.USE_PNG&&function(e){return void 0!==e}(P)){c=1;var j=jr.read(e,P,o,u),z=j.readTags,V=j.readTagsPromise;q(z),V&&d.push(V.then((function(e){return e.forEach(q)})))}if(y.USE_PNG&&function(e){return void 0!==e}(E)){c=1;var H=oi.read(e,E);r?f.png=f.png?l({},f.png,H):H:f=l({},f,H)}if(y.USE_WEBP&&function(e){return void 0!==e}(w)){c=1;var W=di.read(e,w);r?f.riff=f.riff?l({},f.riff,W):W:f=l({},f,W)}if(y.USE_GIF&&function(e){return void 0!==e}(T)){c=1;var X=hi.read(e,T);r?f.gif=f.gif?l({},f.gif,X):X:f=l({},f,X)}var J=(y.USE_JPEG||y.USE_WEBP)&&y.USE_EXIF&&y.USE_THUMBNAIL&&Ai.get(e,f.Thumbnail,v);if(J?(c=1,f.Thumbnail=J):delete f.Thumbnail,m&&(r?(f.file||(f.file={}),f.file.FileType=m):f.FileType=m,c=1),!c)throw new Ei.MetadataMissingError;return o?Promise.all(d).then((function(){return f})):f;function Y(e){r?f.icc=e:f=l({},f,e)}function q(e){if(r){for(var t=0,n=["exif","iptc"];t<n.length;t++){var i=n[t],o="__".concat(i);e[o]&&(f[i]=f[i]?l({},f.exif,e[o]):e[o],delete e[o])}f.png=f.png?l({},f.png,e):e,f.pngText=f.pngText?l({},f.png,e):e}else delete(f=l({},f,e.__exif?e.__exif:{},e.__iptc?e.__iptc:{},e)).__exif,delete f.__iptc}}function Oi(e){return void 0!==e}function Di(e){return Array.isArray(e)&&e.length>0}function Li(e){return Array.isArray(e)&&e.length>0}return t}()}));
//# sourceMappingURL=exif-reader.js.map