3 lines
236 KiB
JavaScript
3 lines
236 KiB
JavaScript
/*! For license information please see 463.61167f99e64c02fb46d6.js.LICENSE.txt */
|
||
(self.webpackChunktelegram_t=self.webpackChunktelegram_t||[]).push([[463],{7811:(e,t)=>{"use strict";var a=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,r=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,i=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,n=/\\([\u000b\u0020-\u00ff])/g,s=/([\\"])/g,o=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function c(e){var t=String(e);if(i.test(t))return t;if(t.length>0&&!r.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(s,"\\$1")+'"'}function l(e){this.parameters=Object.create(null),this.type=e}t.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,a=e.type;if(!a||!o.test(a))throw new TypeError("invalid type");var r=a;if(t&&"object"==typeof t)for(var n,s=Object.keys(t).sort(),l=0;l<s.length;l++){if(n=s[l],!i.test(n))throw new TypeError("invalid parameter name");r+="; "+n+"="+c(t[n])}return r},t.parse=function(e){if(!e)throw new TypeError("argument string is required");var t="object"==typeof e?function(e){var t;if("function"==typeof e.getHeader?t=e.getHeader("content-type"):"object"==typeof e.headers&&(t=e.headers&&e.headers["content-type"]),"string"!=typeof t)throw new TypeError("content-type header is missing from object");return t}(e):e;if("string"!=typeof t)throw new TypeError("argument string is required to be a string");var r=t.indexOf(";"),i=-1!==r?t.substr(0,r).trim():t.trim();if(!o.test(i))throw new TypeError("invalid media type");var s=new l(i.toLowerCase());if(-1!==r){var c,u,d;for(a.lastIndex=r;u=a.exec(t);){if(u.index!==r)throw new TypeError("invalid parameter format");r+=u[0].length,c=u[1].toLowerCase(),'"'===(d=u[2])[0]&&(d=d.substr(1,d.length-2).replace(n,"$1")),s.parameters[c]=d}if(r!==t.length)throw new TypeError("invalid parameter format")}return s}},1227:(e,t,a)=>{var r=a(4155);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const a="color: "+this.color;t.splice(1,0,a,"color: inherit");let r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(i=r))})),t.splice(i,0,a)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=r.env.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=a(2447)(t);const{formatters:i}=e.exports;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},2447:(e,t,a)=>{e.exports=function(e){function t(e){let a,i,n,s=null;function o(...e){if(!o.enabled)return;const r=o,i=Number(new Date),n=i-(a||i);r.diff=n,r.prev=a,r.curr=i,a=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((a,i)=>{if("%%"===a)return"%";s++;const n=t.formatters[i];if("function"==typeof n){const t=e[s];a=n.call(r,t),e.splice(s,1),s--}return a})),t.formatArgs.call(r,e),(r.log||t.log).apply(r,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=r,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(i!==t.namespaces&&(i=t.namespaces,n=t.enabled(e)),n),set:e=>{s=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,a){const r=t(this.namespace+(void 0===a?":":a)+e);return r.log=this.log,r}function i(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(i),...t.skips.map(i).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let a;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),i=r.length;for(a=0;a<i;a++)r[a]&&("-"===(e=r[a].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let a,r;for(a=0,r=t.skips.length;a<r;a++)if(t.skips[a].test(e))return!1;for(a=0,r=t.names.length;a<r;a++)if(t.names[a].test(e))return!0;return!1},t.humanize=a(7824),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((a=>{t[a]=e[a]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let a=0;for(let t=0;t<e.length;t++)a=(a<<5)-a+e.charCodeAt(t),a|=0;return t.colors[Math.abs(a)%t.colors.length]},t.enable(t.load()),t}},7187:e=>{"use strict";var t,a="object"==typeof Reflect?Reflect:null,r=a&&"function"==typeof a.apply?a.apply:function(e,t,a){return Function.prototype.apply.call(e,t,a)};t=a&&"function"==typeof a.ownKeys?a.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}e.exports=n,e.exports.once=function(e,t){return new Promise((function(a,r){function i(a){e.removeListener(t,n),r(a)}function n(){"function"==typeof e.removeListener&&e.removeListener("error",i),a([].slice.call(arguments))}h(e,t,n,{once:!0}),"error"!==t&&function(e,t,a){"function"==typeof e.on&&h(e,"error",t,{once:!0})}(e,i)}))},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var s=10;function o(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function l(e,t,a,r){var i,n,s,l;if(o(a),void 0===(n=e._events)?(n=e._events=Object.create(null),e._eventsCount=0):(void 0!==n.newListener&&(e.emit("newListener",t,a.listener?a.listener:a),n=e._events),s=n[t]),void 0===s)s=n[t]=a,++e._eventsCount;else if("function"==typeof s?s=n[t]=r?[a,s]:[s,a]:r?s.unshift(a):s.push(a),(i=c(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,a){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:a},i=u.bind(r);return i.listener=a,r.wrapFn=i,i}function m(e,t,a){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?a?[i.listener||i]:[i]:a?function(e){for(var t=new Array(e.length),a=0;a<t.length;++a)t[a]=e[a].listener||e[a];return t}(i):f(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var a=t[e];if("function"==typeof a)return 1;if(void 0!==a)return a.length}return 0}function f(e,t){for(var a=new Array(t),r=0;r<t;++r)a[r]=e[r];return a}function h(e,t,a,r){if("function"==typeof e.on)r.once?e.once(t,a):e.on(t,a);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(n){r.once&&e.removeEventListener(t,i),a(n)}))}}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),n.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return c(this)},n.prototype.emit=function(e){for(var t=[],a=1;a<arguments.length;a++)t.push(arguments[a]);var i="error"===e,n=this._events;if(void 0!==n)i=i&&void 0===n.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var c=n[e];if(void 0===c)return!1;if("function"==typeof c)r(c,this,t);else{var l=c.length,u=f(c,l);for(a=0;a<l;++a)r(u[a],this,t)}return!0},n.prototype.addListener=function(e,t){return l(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return l(this,e,t,!0)},n.prototype.once=function(e,t){return o(t),this.on(e,d(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return o(t),this.prependListener(e,d(this,e,t)),this},n.prototype.removeListener=function(e,t){var a,r,i,n,s;if(o(t),void 0===(r=this._events))return this;if(void 0===(a=r[e]))return this;if(a===t||a.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,a.listener||t));else if("function"!=typeof a){for(i=-1,n=a.length-1;n>=0;n--)if(a[n]===t||a[n].listener===t){s=a[n].listener,i=n;break}if(i<0)return this;0===i?a.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(a,i),1===a.length&&(r[e]=a[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,a,r;if(void 0===(a=this._events))return this;if(void 0===a.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==a[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete a[e]),this;if(0===arguments.length){var i,n=Object.keys(a);for(r=0;r<n.length;++r)"removeListener"!==(i=n[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=a[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},n.prototype.listeners=function(e){return m(this,e,!0)},n.prototype.rawListeners=function(e){return m(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},n.prototype.listenerCount=p,n.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},1:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var Buffer=__webpack_require__(8764).Buffer;const Token=__webpack_require__(3416),strtok3=__webpack_require__(5849),{stringToBytes,tarHeaderChecksumMatches,uint32SyncSafeToken}=__webpack_require__(6188),supported=__webpack_require__(9898),minimumBytes=4100;async function fromStream(e){const t=await strtok3.fromStream(e);try{return await fromTokenizer(t)}finally{await t.close()}}async function fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer||Buffer.isBuffer(e)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof e}\``);const t=e instanceof Buffer?e:Buffer.from(e);if(t&&t.length>1)return fromTokenizer(strtok3.fromBuffer(t))}function _check(e,t,a){a={offset:0,...a};for(const[r,i]of t.entries())if(a.mask){if(i!==(a.mask[r]&e[r+a.offset]))return!1}else if(i!==e[r+a.offset])return!1;return!0}async function fromTokenizer(e){try{return _fromTokenizer(e)}catch(e){if(!(e instanceof strtok3.EndOfStreamError))throw e}}async function _fromTokenizer(e){let t=Buffer.alloc(minimumBytes);const a=(e,a)=>_check(t,e,a),r=(e,t)=>a(stringToBytes(e),t);if(e.fileInfo.size||(e.fileInfo.size=Number.MAX_SAFE_INTEGER),await e.peekBuffer(t,{length:12,mayBeLess:!0}),a([66,77]))return{ext:"bmp",mime:"image/bmp"};if(a([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(a([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(a([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(a([37,33]))return await e.peekBuffer(t,{length:24,mayBeLess:!0}),r("PS-Adobe-",{offset:2})&&r(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(a([31,160])||a([31,157]))return{ext:"Z",mime:"application/x-compress"};if(a([255,216,255]))return{ext:"jpg",mime:"image/jpeg"};if(a([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(a([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(a([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(r("ID3")){await e.ignore(6);const t=await e.readToken(uint32SyncSafeToken);return e.position+t>e.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await e.ignore(t),fromTokenizer(e))}if(r("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((67===t[0]||70===t[0])&&a([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(a([71,73,70]))return{ext:"gif",mime:"image/gif"};if(r("FLIF"))return{ext:"flif",mime:"image/flif"};if(r("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(r("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(r("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(r("FORM"))return{ext:"aif",mime:"audio/aiff"};if(r("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(a([80,75,3,4])){try{for(;e.position+30<e.fileInfo.size;){await e.readBuffer(t,{length:30});const a={compressedSize:t.readUInt32LE(18),uncompressedSize:t.readUInt32LE(22),filenameLength:t.readUInt16LE(26),extraFieldLength:t.readUInt16LE(28)};if(a.filename=await e.readToken(new Token.StringType(a.filenameLength,"utf-8")),await e.ignore(a.extraFieldLength),"META-INF/mozilla.rsa"===a.filename)return{ext:"xpi",mime:"application/x-xpinstall"};if(a.filename.endsWith(".rels")||a.filename.endsWith(".xml"))switch(a.filename.split("/")[0]){case"_rels":default:break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}}if(a.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(a.filename.startsWith("3D/")&&a.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if("mimetype"===a.filename&&a.compressedSize===a.uncompressedSize)switch(await e.readToken(new Token.StringType(a.compressedSize,"utf-8"))){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"}}if(0===a.compressedSize){let a=-1;for(;a<0&&e.position<e.fileInfo.size;)await e.peekBuffer(t,{mayBeLess:!0}),a=t.indexOf("504B0304",0,"hex"),await e.ignore(a>=0?a:t.length)}else await e.ignore(a.compressedSize)}}catch(e){if(!(e instanceof strtok3.EndOfStreamError))throw e}return{ext:"zip",mime:"application/zip"}}if(r("OggS")){await e.ignore(28);const t=Buffer.alloc(8);return await e.readBuffer(t),_check(t,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:_check(t,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:_check(t,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:_check(t,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:_check(t,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:_check(t,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(a([80,75])&&(3===t[2]||5===t[2]||7===t[2])&&(4===t[3]||6===t[3]||8===t[3]))return{ext:"zip",mime:"application/zip"};if(r("ftyp",{offset:4})&&0!=(96&t[8])){const e=t.toString("binary",8,12).replace("\0"," ").trim();switch(e){case"avif":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return e.startsWith("3g")?e.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(r("MThd"))return{ext:"mid",mime:"audio/midi"};if(r("wOFF")&&(a([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(r("wOF2")&&(a([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(a([212,195,178,161])||a([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(r("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(r("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(r("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(a([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(r("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(r("%PDF")){await e.ignore(1350);const t=10485760,a=Buffer.alloc(Math.min(t,e.fileInfo.size));return await e.readBuffer(a,{mayBeLess:!0}),a.includes(Buffer.from("AIPrivateData"))?{ext:"ai",mime:"application/postscript"}:{ext:"pdf",mime:"application/pdf"}}if(a([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(a([73,73,42,0]))return r("CR",{offset:8})?{ext:"cr2",mime:"image/x-canon-cr2"}:a([28,0,254,0],{offset:8})||a([31,0,11,0],{offset:8})?{ext:"nef",mime:"image/x-nikon-nef"}:a([8,0,0,0],{offset:4})&&(a([45,0,254,0],{offset:8})||a([39,0,254,0],{offset:8}))?{ext:"dng",mime:"image/x-adobe-dng"}:(t=Buffer.alloc(24),await e.peekBuffer(t),(a([16,251,134,1],{offset:4})||a([8,0,0,0],{offset:4}))&&a([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9})?{ext:"arw",mime:"image/x-sony-arw"}:{ext:"tif",mime:"image/tiff"});if(a([77,77,0,42]))return{ext:"tif",mime:"image/tiff"};if(r("MAC "))return{ext:"ape",mime:"audio/ape"};if(a([26,69,223,163])){async function t(){const t=await e.peekNumber(Token.UINT8);let a=128,r=0;for(;0==(t&a);)++r,a>>=1;const i=Buffer.alloc(r+1);return await e.readBuffer(i),i}async function a(){const e=await t(),a=await t();a[0]^=128>>a.length-1;const r=Math.min(6,a.length);return{id:e.readUIntBE(0,e.length),len:a.readUIntBE(a.length-r,r)}}async function r(t,r){for(;r>0;){const t=await a();if(17026===t.id)return e.readToken(new Token.StringType(t.len,"utf-8"));await e.ignore(t.len),--r}}const i=await a();switch(await r(0,i.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(a([82,73,70,70])){if(a([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(a([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(a([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(r("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(a([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(r("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(r("MSCF")||r("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(a([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(a([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(a([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(a([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(r("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(r("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(a([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(r("IMPM"))return{ext:"it",mime:"audio/x-it"};if(r("-lh0-",{offset:2})||r("-lh1-",{offset:2})||r("-lh2-",{offset:2})||r("-lh3-",{offset:2})||r("-lh4-",{offset:2})||r("-lh5-",{offset:2})||r("-lh6-",{offset:2})||r("-lh7-",{offset:2})||r("-lzs-",{offset:2})||r("-lz4-",{offset:2})||r("-lz5-",{offset:2})||r("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(a([0,0,1,186])){if(a([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(a([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(r("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(a([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(r("<?xml "))return{ext:"xml",mime:"application/xml"};if(a([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(a([82,97,114,33,26,7])&&(0===t[6]||1===t[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(r("solid "))return{ext:"stl",mime:"model/stl"};if(r("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(r("!<arch>"))return await e.ignore(8),"debian-binary"===await e.readToken(new Token.StringType(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(a([137,80,78,71,13,10,26,10])){async function t(){return{length:await e.readToken(Token.INT32_BE),type:await e.readToken(new Token.StringType(4,"binary"))}}await e.ignore(8);do{const a=await t();if(a.length<0)return;switch(a.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await e.ignore(a.length+4)}}while(e.position+8<e.fileInfo.size);return{ext:"png",mime:"image/png"}}if(a([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(a([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(a([102,114,101,101],{offset:4})||a([109,100,97,116],{offset:4})||a([109,111,111,118],{offset:4})||a([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(a([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(r("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(a([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(a([48,38,178,117,142,102,207,17,166,217])){async function t(){const t=Buffer.alloc(16);return await e.readBuffer(t),{id:t,size:Number(await e.readToken(Token.UINT64_LE))}}for(await e.ignore(30);e.position+24<e.fileInfo.size;){const a=await t();let r=a.size-24;if(_check(a.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){const t=Buffer.alloc(16);if(r-=await e.readBuffer(t),_check(t,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(_check(t,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await e.ignore(r)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(a([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((a([126,16,4])||a([126,24,4]))&&a([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(a([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(a([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await e.ignore(20),await e.readToken(new Token.StringType(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(a([255,10])||a([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(a([0,0,1,186])||a([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(a([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(a([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(a([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(a([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(t,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),r("BEGIN:")){if(r("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(r("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(r("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(r("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(r("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(a([4,0,0,0])&&t.length>=16){const e=t.readUInt32LE(12);if(e>12&&t.length>=e+16)try{const a=t.slice(16,e+16).toString();if(JSON.parse(a).files)return{ext:"asar",mime:"application/x-asar"}}catch(e){}}if(a([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(r("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(a([71],{offset:4})&&(a([71],{offset:192})||a([71],{offset:196})))return{ext:"mts",mime:"video/mp2t"};if(a([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(a([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(a([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(a([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(a([76,80],{offset:34})&&(a([0,0,1],{offset:8})||a([1,0,2],{offset:8})||a([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(a([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await e.peekBuffer(t,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),tarHeaderChecksumMatches(t))return{ext:"tar",mime:"application/x-tar"};if(a([255,254,255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0]))return{ext:"skp",mime:"application/vnd.sketchup.skp"};if(r("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(t.length>=2&&a([255,224],{offset:0,mask:[255,224]})){if(a([16],{offset:1,mask:[22]}))return a([8],{offset:1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(a([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(a([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(a([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}const stream=readableStream=>new Promise(((resolve,reject)=>{const stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",(async()=>{const e=new stream.PassThrough;let t;t=stream.pipeline?stream.pipeline(readableStream,e,(()=>{})):readableStream.pipe(e);const a=readableStream.read(minimumBytes)||readableStream.read()||Buffer.alloc(0);try{const t=await fromBuffer(a);e.fileType=t}catch(e){reject(e)}resolve(t)}))})),fileType={fromStream,fromTokenizer,fromBuffer,stream};Object.defineProperty(fileType,"extensions",{get:()=>new Set(supported.extensions)}),Object.defineProperty(fileType,"mimeTypes",{get:()=>new Set(supported.mimeTypes)}),module.exports=fileType},9898:e=>{"use strict";e.exports={extensions:["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd"]}},6188:(e,t)=>{"use strict";t.stringToBytes=e=>[...e].map((e=>e.charCodeAt(0))),t.tarHeaderChecksumMatches=(e,t=0)=>{const a=parseInt(e.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(a))return!1;let r=256;for(let a=t;a<t+148;a++)r+=e[a];for(let a=t+156;a<t+512;a++)r+=e[a];return a===r},t.uint32SyncSafeToken={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4}},5717:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var a=function(){};a.prototype=t.prototype,e.prototype=new a,e.prototype.constructor=e}}},7824:e=>{var t=1e3,a=60*t,r=60*a,i=24*r;function n(e,t,a,r){var i=t>=1.5*a;return Math.round(e/a)+" "+r+(i?"s":"")}e.exports=function(e,s){s=s||{};var o,c,l=typeof e;if("string"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var n=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(n){var s=parseFloat(n[1]);switch((n[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return 6048e5*s;case"days":case"day":case"d":return s*i;case"hours":case"hour":case"hrs":case"hr":case"h":return s*r;case"minutes":case"minute":case"mins":case"min":case"m":return s*a;case"seconds":case"second":case"secs":case"sec":case"s":return s*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(e);if("number"===l&&isFinite(e))return s.long?(o=e,(c=Math.abs(o))>=i?n(o,c,i,"day"):c>=r?n(o,c,r,"hour"):c>=a?n(o,c,a,"minute"):c>=t?n(o,c,t,"second"):o+" ms"):function(e){var n=Math.abs(e);return n>=i?Math.round(e/i)+"d":n>=r?Math.round(e/r)+"h":n>=a?Math.round(e/a)+"m":n>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},2463:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fetchFromUrl=t.parseBlob=t.parseReadableStream=t.parseNodeStream=t.selectCover=t.ratingToStars=t.orderTags=t.parseFromTokenizer=t.parseBuffer=void 0;const r=a(1227),i=a(523),n=a(8090),s=r("music-metadata-browser:main");var o=a(523);async function c(e,a,r){const i=new n.ReadableWebToNodeStream(e),s=await(0,t.parseNodeStream)(i,"string"==typeof a?{mimeType:a}:a,r);return await i.close(),s}async function l(e,t){const a={mimeType:e.type,size:e.size};return e instanceof File&&(a.path=e.name),c(e.stream?e.stream():function(e){const t=new FileReader;return new ReadableStream({start(a){t.onloadend=e=>{let t=e.target.result;t instanceof ArrayBuffer&&(t=new Uint8Array(t)),a.enqueue(t),a.close()},t.onerror=e=>{a.close()},t.onabort=e=>{a.close()},t.readAsArrayBuffer(e)}})}(e),{mimeType:e.type,size:e.size},t)}Object.defineProperty(t,"parseBuffer",{enumerable:!0,get:function(){return o.parseBuffer}}),Object.defineProperty(t,"parseFromTokenizer",{enumerable:!0,get:function(){return o.parseFromTokenizer}}),Object.defineProperty(t,"orderTags",{enumerable:!0,get:function(){return o.orderTags}}),Object.defineProperty(t,"ratingToStars",{enumerable:!0,get:function(){return o.ratingToStars}}),Object.defineProperty(t,"selectCover",{enumerable:!0,get:function(){return o.selectCover}}),t.parseNodeStream=i.parseStream,t.parseReadableStream=c,t.parseBlob=l,t.fetchFromUrl=async function(e,t){const a=await fetch(e),r={size:parseInt(a.headers.get("Content-Length"),10),mimeType:a.headers.get("Content-Type")};if(a.ok){if(a.body){const e=await c(a.body,r,t);return s("Closing HTTP-readable-stream..."),a.body.locked||await a.body.cancel(),s("HTTP-readable-stream closed."),e}return l(await a.blob(),t)}throw new Error(`HTTP error status=${a.status}: ${a.statusText}`)}},3275:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.ParserFactory=t.parseHttpContentType=void 0;const i=a(1),n=a(7811),s=a(5762),o=a(1227),c=a(7584),l=a(5410),u=a(6742),d=a(1004),m=a(498),p=a(8841),f=a(60),h=a(9606),g=a(2152),T=a(2682),b=a(5870),y=a(1533),k=a(6789),v=a(78),w=(0,o.default)("music-metadata:parser:factory");function I(e){const t=n.parse(e),a=s.parse(t.type);return{type:a.type,subtype:a.subtype,suffix:a.suffix,parameters:t.parameters}}t.parseHttpContentType=I;class S{static async parseOnContentType(e,t){const{mimeType:a,path:r,url:i}=await e.fileInfo,n=S.getParserIdForMimeType(a)||S.getParserIdForExtension(r)||S.getParserIdForExtension(i);return n||w("No parser found for MIME-type / extension: "+a),this.parse(e,n,t)}static async parse(e,t,a){if(!t){w("Guess parser on content...");const a=r.alloc(4100);if(await e.peekBuffer(a,{mayBeLess:!0}),e.fileInfo.path&&(t=this.getParserIdForExtension(e.fileInfo.path)),!t){const e=await i.fromBuffer(a);if(!e)throw new Error("Failed to determine audio format");if(w(`Guessed file type is mime=${e.mime}, extension=${e.ext}`),!(t=S.getParserIdForMimeType(e.mime)))throw new Error("Guessed MIME-type not supported: "+e.mime)}}return async function(e,t,a={}){const r=await S.loadParser(t),i=new c.MetadataCollector(a);return await r.init(i,e,a).parse(),i.toCommonMetadata()}(e,t,a)}static getParserIdForExtension(e){if(e)switch(this.getExtension(e).toLocaleLowerCase()||e){case".mp2":case".mp3":case".m2a":case".aac":return"mpeg";case".ape":return"apev2";case".mp4":case".m4a":case".m4b":case".m4pa":case".m4v":case".m4r":case".3gp":return"mp4";case".wma":case".wmv":case".asf":return"asf";case".flac":return"flac";case".ogg":case".ogv":case".oga":case".ogm":case".ogx":case".opus":case".spx":return"ogg";case".aif":case".aiff":case".aifc":return"aiff";case".wav":case".bwf":return"riff";case".wv":case".wvp":return"wavpack";case".mpc":return"musepack";case".dsf":return"dsf";case".dff":return"dsdiff";case".mka":case".mkv":case".mk3d":case".mks":case".webm":return"matroska"}}static async loadParser(e){switch(e){case"aiff":return new l.AIFFParser;case"adts":case"mpeg":return new f.MpegParser;case"apev2":return new u.APEv2Parser;case"asf":return new d.AsfParser;case"dsf":return new y.DsfParser;case"dsdiff":return new k.DsdiffParser;case"flac":return new m.FlacParser;case"mp4":return new p.MP4Parser;case"musepack":return new h.default;case"ogg":return new g.OggParser;case"riff":return new T.WaveParser;case"wavpack":return new b.WavPackParser;case"matroska":return new v.MatroskaParser;default:throw new Error(`Unknown parser type: ${e}`)}}static getExtension(e){const t=e.lastIndexOf(".");return-1===t?"":e.slice(t)}static getParserIdForMimeType(e){let t;try{t=I(e)}catch(t){return void w(`Invalid HTTP Content-Type header value: ${e}`)}const a=0===t.subtype.indexOf("x-")?t.subtype.substring(2):t.subtype;switch(t.type){case"audio":switch(a){case"mp3":case"mpeg":return"mpeg";case"aac":case"aacp":return"adts";case"flac":return"flac";case"ape":case"monkeys-audio":return"apev2";case"mp4":case"m4a":return"mp4";case"ogg":case"opus":case"speex":return"ogg";case"ms-wma":case"ms-wmv":case"ms-asf":return"asf";case"aiff":case"aif":case"aifc":return"aiff";case"vnd.wave":case"wav":case"wave":return"riff";case"wavpack":return"wavpack";case"musepack":return"musepack";case"matroska":case"webm":return"matroska";case"dsf":return"dsf"}break;case"video":switch(a){case"ms-asf":case"ms-wmv":return"asf";case"m4v":case"mp4":return"mp4";case"ogg":return"ogg";case"matroska":case"webm":return"matroska"}break;case"application":switch(a){case"vnd.ms-asf":return"asf";case"ogg":return"ogg"}}}}t.ParserFactory=S},5410:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIFFParser=void 0;const r=a(3416),i=a(1227),n=a(5849),s=a(8928),o=a(8049),c=a(7805),l=a(1162),u=a(4633),d=(0,i.default)("music-metadata:parser:aiff");class m extends c.BasicParser{async parse(){if("FORM"!==(await this.tokenizer.readToken(u.Header)).chunkID)throw new Error("Invalid Chunk-ID, expected 'FORM'");const e=await this.tokenizer.readToken(o.FourCcToken);switch(e){case"AIFF":this.metadata.setFormat("container",e),this.isCompressed=!1;break;case"AIFC":this.metadata.setFormat("container","AIFF-C"),this.isCompressed=!0;break;default:throw Error("Unsupported AIFF type: "+e)}this.metadata.setFormat("lossless",!this.isCompressed);try{for(;!this.tokenizer.fileInfo.size||this.tokenizer.fileInfo.size-this.tokenizer.position>=u.Header.len;){d("Reading AIFF chunk at offset="+this.tokenizer.position);const e=await this.tokenizer.readToken(u.Header);d(`Chunk id=${e.chunkID}`);const t=2*Math.round(e.chunkSize/2),a=await this.readData(e);await this.tokenizer.ignore(t-a)}}catch(e){if(!(e instanceof n.EndOfStreamError))throw e;d("End-of-stream")}}async readData(e){switch(e.chunkID){case"COMM":const t=await this.tokenizer.readToken(new l.Common(e,this.isCompressed));return this.metadata.setFormat("bitsPerSample",t.sampleSize),this.metadata.setFormat("sampleRate",t.sampleRate),this.metadata.setFormat("numberOfChannels",t.numChannels),this.metadata.setFormat("numberOfSamples",t.numSampleFrames),this.metadata.setFormat("duration",t.numSampleFrames/t.sampleRate),this.metadata.setFormat("codec",t.compressionName),e.chunkSize;case"ID3 ":const a=await this.tokenizer.readToken(new r.Uint8ArrayType(e.chunkSize)),i=n.fromBuffer(a);return await(new s.ID3v2Parser).parse(this.metadata,i,this.options),e.chunkSize;case"SSND":return this.metadata.format.duration&&this.metadata.setFormat("bitrate",8*e.chunkSize/this.metadata.format.duration),0;default:return 0}}}t.AIFFParser=m},1162:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Common=void 0;const r=a(3416),i=a(8049);t.Common=class{constructor(e,t){this.isAifc=t;const a=t?22:18;if(e.chunkSize<a)throw new Error(`COMMON CHUNK size should always be at least ${a}`);this.len=e.chunkSize}get(e,t){const a=e.readUInt16BE(t+8)-16398,n=e.readUInt16BE(t+8+2),s={numChannels:e.readUInt16BE(t),numSampleFrames:e.readUInt32BE(t+2),sampleSize:e.readUInt16BE(t+6),sampleRate:a<0?n>>Math.abs(a):n<<a};if(this.isAifc){if(s.compressionType=i.FourCcToken.get(e,t+18),this.len>22){const a=e.readInt8(t+22);if(23+a+(a+1)%2!==this.len)throw new Error("Illegal pstring length");s.compressionName=new r.StringType(a,"binary").get(e,t+23)}}else s.compressionName="PCM";return s}}},6742:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.APEv2Parser=void 0;const i=a(1227),n=a(5849),s=a(3416),o=a(3769),c=a(7805),l=a(876),u=(0,i.default)("music-metadata:parser:APEv2"),d="APEv2",m="APETAGEX";class p extends c.BasicParser{constructor(){super(...arguments),this.ape={}}static tryParseApeHeader(e,t,a){const r=new p;return r.init(e,t,a),r.tryParseApeHeader()}static calculateDuration(e){let t=e.totalFrames>1?e.blocksPerFrame*(e.totalFrames-1):0;return t+=e.finalFrameBlocks,t/e.sampleRate}static async findApeFooterOffset(e,t){const a=r.alloc(l.TagFooter.len);await e.randomRead(a,0,l.TagFooter.len,t-l.TagFooter.len);const i=l.TagFooter.get(a,0);if("APETAGEX"===i.ID)return u(`APE footer header at offset=${t}`),{footer:i,offset:t-i.size}}static parseTagFooter(e,t,a){const r=l.TagFooter.get(t,t.length-l.TagFooter.len);if(r.ID!==m)throw new Error("Unexpected APEv2 Footer ID preamble value.");n.fromBuffer(t);const i=new p;return i.init(e,n.fromBuffer(t),a),i.parseTags(r)}async tryParseApeHeader(){if(this.tokenizer.fileInfo.size&&this.tokenizer.fileInfo.size-this.tokenizer.position<l.TagFooter.len)return void u("No APEv2 header found, end-of-file reached");const e=await this.tokenizer.peekToken(l.TagFooter);if(e.ID===m)return await this.tokenizer.ignore(l.TagFooter.len),this.parseTags(e);if(u(`APEv2 header not found at offset=${this.tokenizer.position}`),this.tokenizer.fileInfo.size){const e=this.tokenizer.fileInfo.size-this.tokenizer.position,t=r.alloc(e);return await this.tokenizer.readBuffer(t),p.parseTagFooter(this.metadata,t,this.options)}}async parse(){const e=await this.tokenizer.readToken(l.DescriptorParser);if("MAC "!==e.ID)throw new Error("Unexpected descriptor ID");this.ape.descriptor=e;const t=e.descriptorBytes-l.DescriptorParser.len,a=await(t>0?this.parseDescriptorExpansion(t):this.parseHeader());return await this.tokenizer.ignore(a.forwardBytes),this.tryParseApeHeader()}async parseTags(e){const t=r.alloc(256);let a=e.size-l.TagFooter.len;u(`Parse APE tags at offset=${this.tokenizer.position}, size=${a}`);for(let i=0;i<e.fields;i++){if(a<l.TagItemHeader.len){this.metadata.addWarning(`APEv2 Tag-header: ${e.fields-i} items remaining, but no more tag data to read.`);break}const n=await this.tokenizer.readToken(l.TagItemHeader);a-=l.TagItemHeader.len+n.size,await this.tokenizer.peekBuffer(t,{length:Math.min(t.length,a)});let c=o.findZero(t,0,t.length);const m=await this.tokenizer.readToken(new s.StringType(c,"ascii"));switch(await this.tokenizer.ignore(1),a-=m.length+1,n.flags.dataType){case l.DataType.text_utf8:{const e=(await this.tokenizer.readToken(new s.StringType(n.size,"utf8"))).split(/\x00/g);for(const t of e)this.metadata.addTag(d,m,t);break}case l.DataType.binary:if(this.options.skipCovers)await this.tokenizer.ignore(n.size);else{const e=r.alloc(n.size);await this.tokenizer.readBuffer(e),c=o.findZero(e,0,e.length);const t=e.toString("utf8",0,c),a=r.from(e.slice(c+1));this.metadata.addTag(d,m,{description:t,data:a})}break;case l.DataType.external_info:u(`Ignore external info ${m}`),await this.tokenizer.ignore(n.size);break;case l.DataType.reserved:u(`Ignore external info ${m}`),this.metadata.addWarning(`APEv2 header declares a reserved datatype for "${m}"`),await this.tokenizer.ignore(n.size)}}}async parseDescriptorExpansion(e){return await this.tokenizer.ignore(e),this.parseHeader()}async parseHeader(){const e=await this.tokenizer.readToken(l.Header);return this.metadata.setFormat("lossless",!0),this.metadata.setFormat("container","Monkey's Audio"),this.metadata.setFormat("bitsPerSample",e.bitsPerSample),this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("numberOfChannels",e.channel),this.metadata.setFormat("duration",p.calculateDuration(e)),{forwardBytes:this.ape.descriptor.seekTableBytes+this.ape.descriptor.headerDataBytes+this.ape.descriptor.apeFrameDataBytes+this.ape.descriptor.terminatingDataBytes}}}t.APEv2Parser=p},8414:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.APEv2TagMapper=void 0;const r=a(4132),i={Title:"title",Artist:"artist",Artists:"artists","Album Artist":"albumartist",Album:"album",Year:"date",Originalyear:"originalyear",Originaldate:"originaldate",Comment:"comment",Track:"track",Disc:"disk",DISCNUMBER:"disk",Genre:"genre","Cover Art (Front)":"picture","Cover Art (Back)":"picture",Composer:"composer",Lyrics:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",Lyricist:"lyricist",Writer:"writer",Conductor:"conductor",MixArtist:"remixer",Arranger:"arranger",Engineer:"engineer",Producer:"producer",DJMixer:"djmixer",Mixer:"mixer",Label:"label",Grouping:"grouping",Subtitle:"subtitle",DiscSubtitle:"discsubtitle",Compilation:"compilation",BPM:"bpm",Mood:"mood",Media:"media",CatalogNumber:"catalognumber",MUSICBRAINZ_ALBUMSTATUS:"releasestatus",MUSICBRAINZ_ALBUMTYPE:"releasetype",RELEASECOUNTRY:"releasecountry",Script:"script",Language:"language",Copyright:"copyright",LICENSE:"license",EncodedBy:"encodedby",EncoderSettings:"encodersettings",Barcode:"barcode",ISRC:"isrc",ASIN:"asin",musicbrainz_trackid:"musicbrainz_recordingid",musicbrainz_releasetrackid:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",Acoustid_Id:"acoustid_id",ACOUSTID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",Weblink:"website",REPLAYGAIN_TRACK_GAIN:"replaygain_track_gain",REPLAYGAIN_TRACK_PEAK:"replaygain_track_peak",MP3GAIN_MINMAX:"replaygain_track_minmax",MP3GAIN_UNDO:"replaygain_undo"};class n extends r.CaseInsensitiveTagMap{constructor(){super(["APEv2"],i)}}t.APEv2TagMapper=n},876:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isBitSet=t.parseTagFlags=t.TagField=t.TagItemHeader=t.TagFooter=t.Header=t.DescriptorParser=t.DataType=void 0;const r=a(3416),i=a(8049);var n;function s(e){return{containsHeader:o(e,31),containsFooter:o(e,30),isHeader:o(e,31),readOnly:o(e,0),dataType:(6&e)>>1}}function o(e,t){return 0!=(e&1<<t)}(n=t.DataType||(t.DataType={}))[n.text_utf8=0]="text_utf8",n[n.binary=1]="binary",n[n.external_info=2]="external_info",n[n.reserved=3]="reserved",t.DescriptorParser={len:52,get:(e,t)=>({ID:i.FourCcToken.get(e,t),version:r.UINT32_LE.get(e,t+4)/1e3,descriptorBytes:r.UINT32_LE.get(e,t+8),headerBytes:r.UINT32_LE.get(e,t+12),seekTableBytes:r.UINT32_LE.get(e,t+16),headerDataBytes:r.UINT32_LE.get(e,t+20),apeFrameDataBytes:r.UINT32_LE.get(e,t+24),apeFrameDataBytesHigh:r.UINT32_LE.get(e,t+28),terminatingDataBytes:r.UINT32_LE.get(e,t+32),fileMD5:new r.Uint8ArrayType(16).get(e,t+36)})},t.Header={len:24,get:(e,t)=>({compressionLevel:r.UINT16_LE.get(e,t),formatFlags:r.UINT16_LE.get(e,t+2),blocksPerFrame:r.UINT32_LE.get(e,t+4),finalFrameBlocks:r.UINT32_LE.get(e,t+8),totalFrames:r.UINT32_LE.get(e,t+12),bitsPerSample:r.UINT16_LE.get(e,t+16),channel:r.UINT16_LE.get(e,t+18),sampleRate:r.UINT32_LE.get(e,t+20)})},t.TagFooter={len:32,get:(e,t)=>({ID:new r.StringType(8,"ascii").get(e,t),version:r.UINT32_LE.get(e,t+8),size:r.UINT32_LE.get(e,t+12),fields:r.UINT32_LE.get(e,t+16),flags:s(r.UINT32_LE.get(e,t+20))})},t.TagItemHeader={len:8,get:(e,t)=>({size:r.UINT32_LE.get(e,t),flags:s(r.UINT32_LE.get(e,t+4))})},t.TagField=e=>new r.Uint8ArrayType(e.size-t.TagFooter.len),t.parseTagFlags=s,t.isBitSet=o},5174:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.WmPictureToken=t.MetadataLibraryObjectState=t.MetadataObjectState=t.ExtendedStreamPropertiesObjectState=t.ExtendedContentDescriptionObjectState=t.ContentDescriptionObjectState=t.readCodecEntries=t.HeaderExtensionObject=t.StreamPropertiesObject=t.FilePropertiesObject=t.IgnoreObjectState=t.State=t.HeaderObjectToken=t.TopLevelHeaderObjectToken=t.DataType=void 0;const i=a(3769),n=a(3416),s=a(8054),o=a(2252),c=a(8281);var l;(l=t.DataType||(t.DataType={}))[l.UnicodeString=0]="UnicodeString",l[l.ByteArray=1]="ByteArray",l[l.Bool=2]="Bool",l[l.DWord=3]="DWord",l[l.QWord=4]="QWord",l[l.Word=5]="Word",t.TopLevelHeaderObjectToken={len:30,get:(e,t)=>({objectId:s.default.fromBin(new n.BufferType(16).get(e,t)),objectSize:Number(n.UINT64_LE.get(e,t+16)),numberOfHeaderObjects:n.UINT32_LE.get(e,t+24)})},t.HeaderObjectToken={len:24,get:(e,t)=>({objectId:s.default.fromBin(new n.BufferType(16).get(e,t)),objectSize:Number(n.UINT64_LE.get(e,t+16))})};class u{constructor(e){this.len=Number(e.objectSize)-t.HeaderObjectToken.len}postProcessTag(e,t,a,r){if("WM/Picture"===t)e.push({id:t,value:I.fromBuffer(r)});else{const i=o.AsfUtil.getParserForAttr(a);if(!i)throw new Error("unexpected value headerType: "+a);e.push({id:t,value:i(r)})}}}t.State=u,t.IgnoreObjectState=class extends u{constructor(e){super(e)}get(e,t){return null}};class d extends u{constructor(e){super(e)}get(e,t){return{fileId:s.default.fromBin(e,t),fileSize:n.UINT64_LE.get(e,t+16),creationDate:n.UINT64_LE.get(e,t+24),dataPacketsCount:n.UINT64_LE.get(e,t+32),playDuration:n.UINT64_LE.get(e,t+40),sendDuration:n.UINT64_LE.get(e,t+48),preroll:n.UINT64_LE.get(e,t+56),flags:{broadcast:i.getBit(e,t+64,24),seekable:i.getBit(e,t+64,25)},minimumDataPacketSize:n.UINT32_LE.get(e,t+68),maximumDataPacketSize:n.UINT32_LE.get(e,t+72),maximumBitrate:n.UINT32_LE.get(e,t+76)}}}t.FilePropertiesObject=d,d.guid=s.default.FilePropertiesObject;class m extends u{constructor(e){super(e)}get(e,t){return{streamType:s.default.decodeMediaType(s.default.fromBin(e,t)),errorCorrectionType:s.default.fromBin(e,t+8)}}}t.StreamPropertiesObject=m,m.guid=s.default.StreamPropertiesObject;class p{constructor(){this.len=22}get(e,t){return{reserved1:s.default.fromBin(e,t),reserved2:e.readUInt16LE(t+16),extensionDataSize:e.readUInt32LE(t+18)}}}t.HeaderExtensionObject=p,p.guid=s.default.HeaderExtensionObject;const f={len:20,get:(e,t)=>({entryCount:e.readUInt16LE(t+16)})};async function h(e){const t=await e.readNumber(n.UINT16_LE);return(await e.readToken(new n.StringType(2*t,"utf16le"))).replace("\0","")}async function g(e){const t=await e.readNumber(n.UINT16_LE),a=r.alloc(t);return await e.readBuffer(a),a}async function T(e){const t=await e.readNumber(n.UINT16_LE);return{type:{videoCodec:1==(1&t),audioCodec:2==(2&t)},codecName:await h(e),description:await h(e),information:await g(e)}}t.readCodecEntries=async function(e){const t=await e.readToken(f),a=[];for(let r=0;r<t.entryCount;++r)a.push(await T(e));return a};class b extends u{constructor(e){super(e)}get(e,t){const a=[];let r=t+10;for(let i=0;i<b.contentDescTags.length;++i){const n=e.readUInt16LE(t+2*i);if(n>0){const t=b.contentDescTags[i],s=r+n;a.push({id:t,value:o.AsfUtil.parseUnicodeAttr(e.slice(r,s))}),r=s}}return a}}t.ContentDescriptionObjectState=b,b.guid=s.default.ContentDescriptionObject,b.contentDescTags=["Title","Author","Copyright","Description","Rating"];class y extends u{constructor(e){super(e)}get(e,t){const a=[],r=e.readUInt16LE(t);let i=t+2;for(let t=0;t<r;t+=1){const t=e.readUInt16LE(i);i+=2;const r=o.AsfUtil.parseUnicodeAttr(e.slice(i,i+t));i+=t;const n=e.readUInt16LE(i);i+=2;const s=e.readUInt16LE(i);i+=2;const c=e.slice(i,i+s);i+=s,this.postProcessTag(a,r,n,c)}return a}}t.ExtendedContentDescriptionObjectState=y,y.guid=s.default.ExtendedContentDescriptionObject;class k extends u{constructor(e){super(e)}get(e,t){return{startTime:n.UINT64_LE.get(e,t),endTime:n.UINT64_LE.get(e,t+8),dataBitrate:e.readInt32LE(t+12),bufferSize:e.readInt32LE(t+16),initialBufferFullness:e.readInt32LE(t+20),alternateDataBitrate:e.readInt32LE(t+24),alternateBufferSize:e.readInt32LE(t+28),alternateInitialBufferFullness:e.readInt32LE(t+32),maximumObjectSize:e.readInt32LE(t+36),flags:{reliableFlag:i.getBit(e,t+40,0),seekableFlag:i.getBit(e,t+40,1),resendLiveCleanpointsFlag:i.getBit(e,t+40,2)},streamNumber:e.readInt16LE(t+42),streamLanguageId:e.readInt16LE(t+44),averageTimePerFrame:e.readInt32LE(t+52),streamNameCount:e.readInt32LE(t+54),payloadExtensionSystems:e.readInt32LE(t+56),streamNames:[],streamPropertiesObject:null}}}t.ExtendedStreamPropertiesObjectState=k,k.guid=s.default.ExtendedStreamPropertiesObject;class v extends u{constructor(e){super(e)}get(e,t){const a=[],i=r.from(e),n=i.readUInt16LE(t);let s=t+2;for(let e=0;e<n;e+=1){s+=4;const e=i.readUInt16LE(s);s+=2;const t=i.readUInt16LE(s);s+=2;const r=i.readUInt32LE(s);s+=4;const n=o.AsfUtil.parseUnicodeAttr(i.slice(s,s+e));s+=e;const c=i.slice(s,s+r);s+=r,this.postProcessTag(a,n,t,c)}return a}}t.MetadataObjectState=v,v.guid=s.default.MetadataObject;class w extends v{constructor(e){super(e)}}t.MetadataLibraryObjectState=w,w.guid=s.default.MetadataLibraryObject;class I{constructor(e){this.len=e}static fromBase64(e){return this.fromBuffer(r.from(e,"base64"))}static fromBuffer(e){return new I(e.length).get(e,0)}get(e,t){const a=e.readUInt8(t++),r=e.readInt32LE(t);let i=5;for(;0!==e.readUInt16BE(i);)i+=2;const n=e.slice(5,i).toString("utf16le");for(;0!==e.readUInt16BE(i);)i+=2;const s=e.slice(5,i).toString("utf16le");return{type:c.AttachedPictureType[a],format:n,description:s,size:r,data:e.slice(i+4)}}}t.WmPictureToken=I},1004:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AsfParser=void 0;const r=a(1227),i=a(6032),n=a(8054),s=a(5174),o=a(7805),c=(0,r.default)("music-metadata:parser:ASF");class l extends o.BasicParser{async parse(){const e=await this.tokenizer.readToken(s.TopLevelHeaderObjectToken);if(!e.objectId.equals(n.default.HeaderObject))throw new Error("expected asf header; but was not found; got: "+e.objectId.str);try{await this.parseObjectHeader(e.numberOfHeaderObjects)}catch(e){c("Error while parsing ASF: %s",e)}}async parseObjectHeader(e){let t;do{const e=await this.tokenizer.readToken(s.HeaderObjectToken);switch(c("header GUID=%s",e.objectId.str),e.objectId.str){case s.FilePropertiesObject.guid.str:const a=await this.tokenizer.readToken(new s.FilePropertiesObject(e));this.metadata.setFormat("duration",Number(a.playDuration/BigInt(1e3))/1e4-Number(a.preroll)/1e3),this.metadata.setFormat("bitrate",a.maximumBitrate);break;case s.StreamPropertiesObject.guid.str:const r=await this.tokenizer.readToken(new s.StreamPropertiesObject(e));this.metadata.setFormat("container","ASF/"+r.streamType);break;case s.HeaderExtensionObject.guid.str:const o=await this.tokenizer.readToken(new s.HeaderExtensionObject);await this.parseExtensionObject(o.extensionDataSize);break;case s.ContentDescriptionObjectState.guid.str:t=await this.tokenizer.readToken(new s.ContentDescriptionObjectState(e)),this.addTags(t);break;case s.ExtendedContentDescriptionObjectState.guid.str:t=await this.tokenizer.readToken(new s.ExtendedContentDescriptionObjectState(e)),this.addTags(t);break;case n.default.CodecListObject.str:const l=await s.readCodecEntries(this.tokenizer);l.forEach((e=>{this.metadata.addStreamInfo({type:e.type.videoCodec?i.TrackType.video:i.TrackType.audio,codecName:e.codecName})}));const u=l.filter((e=>e.type.audioCodec)).map((e=>e.codecName)).join("/");this.metadata.setFormat("codec",u);break;case n.default.StreamBitratePropertiesObject.str:await this.tokenizer.ignore(e.objectSize-s.HeaderObjectToken.len);break;case n.default.PaddingObject.str:c("Padding: %s bytes",e.objectSize-s.HeaderObjectToken.len),await this.tokenizer.ignore(e.objectSize-s.HeaderObjectToken.len);break;default:this.metadata.addWarning("Ignore ASF-Object-GUID: "+e.objectId.str),c("Ignore ASF-Object-GUID: %s",e.objectId.str),await this.tokenizer.readToken(new s.IgnoreObjectState(e))}}while(--e)}addTags(e){e.forEach((e=>{this.metadata.addTag("asf",e.id,e.value)}))}async parseExtensionObject(e){do{const t=await this.tokenizer.readToken(s.HeaderObjectToken),a=t.objectSize-s.HeaderObjectToken.len;switch(t.objectId.str){case s.ExtendedStreamPropertiesObjectState.guid.str:await this.tokenizer.readToken(new s.ExtendedStreamPropertiesObjectState(t));break;case s.MetadataObjectState.guid.str:const e=await this.tokenizer.readToken(new s.MetadataObjectState(t));this.addTags(e);break;case s.MetadataLibraryObjectState.guid.str:const r=await this.tokenizer.readToken(new s.MetadataLibraryObjectState(t));this.addTags(r);break;case n.default.PaddingObject.str:await this.tokenizer.ignore(a);break;case n.default.CompatibilityObject.str:this.tokenizer.ignore(a);break;case n.default.ASF_Index_Placeholder_Object.str:await this.tokenizer.ignore(a);break;default:this.metadata.addWarning("Ignore ASF-Object-GUID: "+t.objectId.str),await this.tokenizer.readToken(new s.IgnoreObjectState(t))}e-=t.objectSize}while(e>0)}}t.AsfParser=l},9004:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AsfTagMapper=void 0;const r=a(9918),i={Title:"title",Author:"artist","WM/AlbumArtist":"albumartist","WM/AlbumTitle":"album","WM/Year":"date","WM/OriginalReleaseTime":"originaldate","WM/OriginalReleaseYear":"originalyear",Description:"comment","WM/TrackNumber":"track","WM/PartOfSet":"disk","WM/Genre":"genre","WM/Composer":"composer","WM/Lyrics":"lyrics","WM/AlbumSortOrder":"albumsort","WM/TitleSortOrder":"titlesort","WM/ArtistSortOrder":"artistsort","WM/AlbumArtistSortOrder":"albumartistsort","WM/ComposerSortOrder":"composersort","WM/Writer":"lyricist","WM/Conductor":"conductor","WM/ModifiedBy":"remixer","WM/Engineer":"engineer","WM/Producer":"producer","WM/DJMixer":"djmixer","WM/Mixer":"mixer","WM/Publisher":"label","WM/ContentGroupDescription":"grouping","WM/SubTitle":"subtitle","WM/SetSubTitle":"discsubtitle","WM/IsCompilation":"compilation","WM/SharedUserRating":"rating","WM/BeatsPerMinute":"bpm","WM/Mood":"mood","WM/Media":"media","WM/CatalogNo":"catalognumber","MusicBrainz/Album Status":"releasestatus","MusicBrainz/Album Type":"releasetype","MusicBrainz/Album Release Country":"releasecountry","WM/Script":"script","WM/Language":"language",Copyright:"copyright",LICENSE:"license","WM/EncodedBy":"encodedby","WM/EncodingSettings":"encodersettings","WM/Barcode":"barcode","WM/ISRC":"isrc","MusicBrainz/Track Id":"musicbrainz_recordingid","MusicBrainz/Release Track Id":"musicbrainz_trackid","MusicBrainz/Album Id":"musicbrainz_albumid","MusicBrainz/Artist Id":"musicbrainz_artistid","MusicBrainz/Album Artist Id":"musicbrainz_albumartistid","MusicBrainz/Release Group Id":"musicbrainz_releasegroupid","MusicBrainz/Work Id":"musicbrainz_workid","MusicBrainz/TRM Id":"musicbrainz_trmid","MusicBrainz/Disc Id":"musicbrainz_discid","Acoustid/Id":"acoustid_id","Acoustid/Fingerprint":"acoustid_fingerprint","MusicIP/PUID":"musicip_puid","WM/ARTISTS":"artists","WM/InitialKey":"key",ASIN:"asin","WM/Work":"work","WM/AuthorURL":"website","WM/Picture":"picture"};class n extends r.CommonTagMapper{static toRating(e){return{rating:parseFloat(e+1)/5}}constructor(){super(["asf"],i)}postMap(e){if("WM/SharedUserRating"===e.id){const t=e.id.split(":");e.value=n.toRating(e.value),e.id=t[0]}}}t.AsfTagMapper=n},2252:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.AsfUtil=void 0;const i=a(3416),n=a(3769);class s{static getParserForAttr(e){return s.attributeParsers[e]}static parseUnicodeAttr(e){return n.stripNulls(n.decodeString(e,"utf16le"))}static parseByteArrayAttr(e){return r.from(e)}static parseBoolAttr(e,t=0){return 1===s.parseWordAttr(e,t)}static parseDWordAttr(e,t=0){return e.readUInt32LE(t)}static parseQWordAttr(e,t=0){return i.UINT64_LE.get(e,t)}static parseWordAttr(e,t=0){return e.readUInt16LE(t)}}t.AsfUtil=s,s.attributeParsers=[s.parseUnicodeAttr,s.parseByteArrayAttr,s.parseBoolAttr,s.parseDWordAttr,s.parseQWordAttr,s.parseWordAttr,s.parseByteArrayAttr]},8054:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e){this.str=e}static fromBin(e,t=0){return new i(this.decode(e,t))}static decode(e,t=0){return(e.readUInt32LE(t).toString(16)+"-"+e.readUInt16LE(t+4).toString(16)+"-"+e.readUInt16LE(t+6).toString(16)+"-"+e.readUInt16BE(t+8).toString(16)+"-"+e.slice(t+10,t+16).toString("hex")).toUpperCase()}static decodeMediaType(e){switch(e.str){case i.AudioMedia.str:return"audio";case i.VideoMedia.str:return"video";case i.CommandMedia.str:return"command";case i.Degradable_JPEG_Media.str:return"degradable-jpeg";case i.FileTransferMedia.str:return"file-transfer";case i.BinaryMedia.str:return"binary"}}static encode(e){const t=r.alloc(16);return t.writeUInt32LE(parseInt(e.slice(0,8),16),0),t.writeUInt16LE(parseInt(e.slice(9,13),16),4),t.writeUInt16LE(parseInt(e.slice(14,18),16),6),r.from(e.slice(19,23),"hex").copy(t,8),r.from(e.slice(24),"hex").copy(t,10),t}equals(e){return this.str===e.str}toBin(){return i.encode(this.str)}}t.default=i,i.HeaderObject=new i("75B22630-668E-11CF-A6D9-00AA0062CE6C"),i.DataObject=new i("75B22636-668E-11CF-A6D9-00AA0062CE6C"),i.SimpleIndexObject=new i("33000890-E5B1-11CF-89F4-00A0C90349CB"),i.IndexObject=new i("D6E229D3-35DA-11D1-9034-00A0C90349BE"),i.MediaObjectIndexObject=new i("FEB103F8-12AD-4C64-840F-2A1D2F7AD48C"),i.TimecodeIndexObject=new i("3CB73FD0-0C4A-4803-953D-EDF7B6228F0C"),i.FilePropertiesObject=new i("8CABDCA1-A947-11CF-8EE4-00C00C205365"),i.StreamPropertiesObject=new i("B7DC0791-A9B7-11CF-8EE6-00C00C205365"),i.HeaderExtensionObject=new i("5FBF03B5-A92E-11CF-8EE3-00C00C205365"),i.CodecListObject=new i("86D15240-311D-11D0-A3A4-00A0C90348F6"),i.ScriptCommandObject=new i("1EFB1A30-0B62-11D0-A39B-00A0C90348F6"),i.MarkerObject=new i("F487CD01-A951-11CF-8EE6-00C00C205365"),i.BitrateMutualExclusionObject=new i("D6E229DC-35DA-11D1-9034-00A0C90349BE"),i.ErrorCorrectionObject=new i("75B22635-668E-11CF-A6D9-00AA0062CE6C"),i.ContentDescriptionObject=new i("75B22633-668E-11CF-A6D9-00AA0062CE6C"),i.ExtendedContentDescriptionObject=new i("D2D0A440-E307-11D2-97F0-00A0C95EA850"),i.ContentBrandingObject=new i("2211B3FA-BD23-11D2-B4B7-00A0C955FC6E"),i.StreamBitratePropertiesObject=new i("7BF875CE-468D-11D1-8D82-006097C9A2B2"),i.ContentEncryptionObject=new i("2211B3FB-BD23-11D2-B4B7-00A0C955FC6E"),i.ExtendedContentEncryptionObject=new i("298AE614-2622-4C17-B935-DAE07EE9289C"),i.DigitalSignatureObject=new i("2211B3FC-BD23-11D2-B4B7-00A0C955FC6E"),i.PaddingObject=new i("1806D474-CADF-4509-A4BA-9AABCB96AAE8"),i.ExtendedStreamPropertiesObject=new i("14E6A5CB-C672-4332-8399-A96952065B5A"),i.AdvancedMutualExclusionObject=new i("A08649CF-4775-4670-8A16-6E35357566CD"),i.GroupMutualExclusionObject=new i("D1465A40-5A79-4338-B71B-E36B8FD6C249"),i.StreamPrioritizationObject=new i("D4FED15B-88D3-454F-81F0-ED5C45999E24"),i.BandwidthSharingObject=new i("A69609E6-517B-11D2-B6AF-00C04FD908E9"),i.LanguageListObject=new i("7C4346A9-EFE0-4BFC-B229-393EDE415C85"),i.MetadataObject=new i("C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA"),i.MetadataLibraryObject=new i("44231C94-9498-49D1-A141-1D134E457054"),i.IndexParametersObject=new i("D6E229DF-35DA-11D1-9034-00A0C90349BE"),i.MediaObjectIndexParametersObject=new i("6B203BAD-3F11-48E4-ACA8-D7613DE2CFA7"),i.TimecodeIndexParametersObject=new i("F55E496D-9797-4B5D-8C8B-604DFE9BFB24"),i.CompatibilityObject=new i("26F18B5D-4584-47EC-9F5F-0E651F0452C9"),i.AdvancedContentEncryptionObject=new i("43058533-6981-49E6-9B74-AD12CB86D58C"),i.AudioMedia=new i("F8699E40-5B4D-11CF-A8FD-00805F5C442B"),i.VideoMedia=new i("BC19EFC0-5B4D-11CF-A8FD-00805F5C442B"),i.CommandMedia=new i("59DACFC0-59E6-11D0-A3AC-00A0C90348F6"),i.JFIF_Media=new i("B61BE100-5B4E-11CF-A8FD-00805F5C442B"),i.Degradable_JPEG_Media=new i("35907DE0-E415-11CF-A917-00805F5C442B"),i.FileTransferMedia=new i("91BD222C-F21C-497A-8B6D-5AA86BFC0185"),i.BinaryMedia=new i("3AFB65E2-47EF-40F2-AC2C-70A90D71D343"),i.ASF_Index_Placeholder_Object=new i("D9AADE20-7C17-4F9C-BC28-8555DD98E2A2")},7805:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BasicParser=void 0,t.BasicParser=class{init(e,t,a){return this.metadata=e,this.tokenizer=t,this.options=a,this}}},4132:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CaseInsensitiveTagMap=void 0;const r=a(9918);class i extends r.CommonTagMapper{constructor(e,t){const a={};for(const e of Object.keys(t))a[e.toUpperCase()]=t[e];super(e,a)}getCommonName(e){return this.tagMap[e.toUpperCase()]}}t.CaseInsensitiveTagMap=i},6592:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CombinedTagMapper=void 0;const r=a(2939),i=a(4005),n=a(9004),s=a(7183),o=a(8414),c=a(7852),l=a(9860),u=a(5756),d=a(5481);t.CombinedTagMapper=class{constructor(){this.tagMappers={},[new r.ID3v1TagMapper,new s.ID3v22TagMapper,new i.ID3v24TagMapper,new c.MP4TagMapper,new c.MP4TagMapper,new l.VorbisTagMapper,new o.APEv2TagMapper,new n.AsfTagMapper,new u.RiffInfoTagMapper,new d.MatroskaTagMapper].forEach((e=>{this.registerTagMapper(e)}))}mapTag(e,t,a){if(this.tagMappers[e])return this.tagMappers[e].mapGenericTag(t,a);throw new Error("No generic tag mapper defined for tag-format: "+e)}registerTagMapper(e){for(const t of e.tagTypes)this.tagMappers[t]=e}}},8049:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.FourCcToken=void 0;const i=a(3769),n=/^[\x21-\x7e©][\x20-\x7e\x00()]{3}/;t.FourCcToken={len:4,get:(e,a)=>{const r=e.toString("binary",a,a+t.FourCcToken.len);if(!r.match(n))throw new Error(`FourCC contains invalid characters: ${i.a2hex(r)} "${r}"`);return r},put:(e,t,a)=>{const i=r.from(a,"binary");if(4!==i.length)throw new Error("Invalid length");return i.copy(e,t)}}},9918:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommonTagMapper=void 0;class a{constructor(e,t){this.tagTypes=e,this.tagMap=t}static toIntOrNull(e){const t=parseInt(e,10);return isNaN(t)?null:t}static normalizeTrack(e){const t=e.toString().split("/");return{no:parseInt(t[0],10)||null,of:parseInt(t[1],10)||null}}mapGenericTag(e,t){e={id:e.id,value:e.value},this.postMap(e,t);const a=this.getCommonName(e.id);return a?{id:a,value:e.value}:null}getCommonName(e){return this.tagMap[e]}postMap(e,t){}}t.CommonTagMapper=a,a.maxRatingScore=1},103:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isUnique=t.isSingleton=t.commonTags=void 0,t.commonTags={year:{multiple:!1},track:{multiple:!1},disk:{multiple:!1},title:{multiple:!1},artist:{multiple:!1},artists:{multiple:!0,unique:!0},albumartist:{multiple:!1},album:{multiple:!1},date:{multiple:!1},originaldate:{multiple:!1},originalyear:{multiple:!1},comment:{multiple:!0,unique:!1},genre:{multiple:!0,unique:!0},picture:{multiple:!0,unique:!0},composer:{multiple:!0,unique:!0},lyrics:{multiple:!0,unique:!1},albumsort:{multiple:!1,unique:!0},titlesort:{multiple:!1,unique:!0},work:{multiple:!1,unique:!0},artistsort:{multiple:!1,unique:!0},albumartistsort:{multiple:!1,unique:!0},composersort:{multiple:!1,unique:!0},lyricist:{multiple:!0,unique:!0},writer:{multiple:!0,unique:!0},conductor:{multiple:!0,unique:!0},remixer:{multiple:!0,unique:!0},arranger:{multiple:!0,unique:!0},engineer:{multiple:!0,unique:!0},producer:{multiple:!0,unique:!0},technician:{multiple:!0,unique:!0},djmixer:{multiple:!0,unique:!0},mixer:{multiple:!0,unique:!0},label:{multiple:!0,unique:!0},grouping:{multiple:!1},subtitle:{multiple:!0},discsubtitle:{multiple:!1},totaltracks:{multiple:!1},totaldiscs:{multiple:!1},compilation:{multiple:!1},rating:{multiple:!0},bpm:{multiple:!1},mood:{multiple:!1},media:{multiple:!1},catalognumber:{multiple:!0,unique:!0},tvShow:{multiple:!1},tvShowSort:{multiple:!1},tvSeason:{multiple:!1},tvEpisode:{multiple:!1},tvEpisodeId:{multiple:!1},tvNetwork:{multiple:!1},podcast:{multiple:!1},podcasturl:{multiple:!1},releasestatus:{multiple:!1},releasetype:{multiple:!0},releasecountry:{multiple:!1},script:{multiple:!1},language:{multiple:!1},copyright:{multiple:!1},license:{multiple:!1},encodedby:{multiple:!1},encodersettings:{multiple:!1},gapless:{multiple:!1},barcode:{multiple:!1},isrc:{multiple:!0},asin:{multiple:!1},musicbrainz_recordingid:{multiple:!1},musicbrainz_trackid:{multiple:!1},musicbrainz_albumid:{multiple:!1},musicbrainz_artistid:{multiple:!0},musicbrainz_albumartistid:{multiple:!0},musicbrainz_releasegroupid:{multiple:!1},musicbrainz_workid:{multiple:!1},musicbrainz_trmid:{multiple:!1},musicbrainz_discid:{multiple:!1},acoustid_id:{multiple:!1},acoustid_fingerprint:{multiple:!1},musicip_puid:{multiple:!1},musicip_fingerprint:{multiple:!1},website:{multiple:!1},"performer:instrument":{multiple:!0,unique:!0},averageLevel:{multiple:!1},peakLevel:{multiple:!1},notes:{multiple:!0,unique:!1},key:{multiple:!1},originalalbum:{multiple:!1},originalartist:{multiple:!1},discogs_artist_id:{multiple:!0,unique:!0},discogs_release_id:{multiple:!1},discogs_label_id:{multiple:!1},discogs_master_release_id:{multiple:!1},discogs_votes:{multiple:!1},discogs_rating:{multiple:!1},replaygain_track_peak:{multiple:!1},replaygain_track_gain:{multiple:!1},replaygain_album_peak:{multiple:!1},replaygain_album_gain:{multiple:!1},replaygain_track_minmax:{multiple:!1},replaygain_album_minmax:{multiple:!1},replaygain_undo:{multiple:!1},description:{multiple:!0},longDescription:{multiple:!1},category:{multiple:!0},hdVideo:{multiple:!1},keywords:{multiple:!0},movement:{multiple:!1},movementIndex:{multiple:!1},movementTotal:{multiple:!1},podcastId:{multiple:!1},showMovement:{multiple:!1},stik:{multiple:!1}},t.isSingleton=function(e){return t.commonTags.hasOwnProperty(e)&&!t.commonTags[e].multiple},t.isUnique=function(e){return!t.commonTags[e].multiple||t.commonTags[e].unique}},7584:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.joinArtists=t.MetadataCollector=void 0;const r=a(6032),i=a(1227),n=a(103),s=a(6592),o=a(9918),c=a(3769),l=a(1),u=(0,i.default)("music-metadata:collector"),d=["matroska","APEv2","vorbis","ID3v2.4","ID3v2.3","ID3v2.2","exif","asf","iTunes","ID3v1"];function m(e){return e.length>2?e.slice(0,e.length-1).join(", ")+" & "+e[e.length-1]:e.join(" & ")}t.MetadataCollector=class{constructor(e){this.opts=e,this.format={tagTypes:[],trackInfo:[]},this.native={},this.common={track:{no:null,of:null},disk:{no:null,of:null},movementIndex:{}},this.quality={warnings:[]},this.commonOrigin={},this.originPriority={},this.tagMapper=new s.CombinedTagMapper;let t=1;for(const e of d)this.originPriority[e]=t++;this.originPriority.artificial=500,this.originPriority.id3v1=600}hasAny(){return Object.keys(this.native).length>0}addStreamInfo(e){u(`streamInfo: type=${r.TrackType[e.type]}, codec=${e.codecName}`),this.format.trackInfo.push(e)}setFormat(e,t){u(`format: ${e} = ${t}`),this.format[e]=t,this.opts.observer&&this.opts.observer({metadata:this,tag:{type:"format",id:e,value:t}})}addTag(e,t,a){u(`tag ${e}.${t} = ${a}`),this.native[e]||(this.format.tagTypes.push(e),this.native[e]=[]),this.native[e].push({id:t,value:a}),this.toCommon(e,t,a)}addWarning(e){this.quality.warnings.push({message:e})}postMap(e,t){switch(t.id){case"artist":if(this.commonOrigin.artist===this.originPriority[e])return this.postMap("artificial",{id:"artists",value:t.value});this.common.artists||this.setGenericTag("artificial",{id:"artists",value:t.value});break;case"artists":if(!(this.common.artist&&this.commonOrigin.artist!==this.originPriority.artificial||this.common.artists&&-1!==this.common.artists.indexOf(t.value))){const e={id:"artist",value:m((this.common.artists||[]).concat([t.value]))};this.setGenericTag("artificial",e)}break;case"picture":return void this.postFixPicture(t.value).then((a=>{null!==a&&(t.value=a,this.setGenericTag(e,t))}));case"totaltracks":return void(this.common.track.of=o.CommonTagMapper.toIntOrNull(t.value));case"totaldiscs":return void(this.common.disk.of=o.CommonTagMapper.toIntOrNull(t.value));case"movementTotal":return void(this.common.movementIndex.of=o.CommonTagMapper.toIntOrNull(t.value));case"track":case"disk":case"movementIndex":const a=this.common[t.id].of;return this.common[t.id]=o.CommonTagMapper.normalizeTrack(t.value),void(this.common[t.id].of=null!=a?a:this.common[t.id].of);case"bpm":case"year":case"originalyear":t.value=parseInt(t.value,10);break;case"date":const r=parseInt(t.value.substr(0,4),10);isNaN(r)||(this.common.year=r);break;case"discogs_label_id":case"discogs_release_id":case"discogs_master_release_id":case"discogs_artist_id":case"discogs_votes":t.value="string"==typeof t.value?parseInt(t.value,10):t.value;break;case"replaygain_track_gain":case"replaygain_track_peak":case"replaygain_album_gain":case"replaygain_album_peak":t.value=(0,c.toRatio)(t.value);break;case"replaygain_track_minmax":t.value=t.value.split(",").map((e=>parseInt(e,10)));break;case"replaygain_undo":const i=t.value.split(",").map((e=>parseInt(e,10)));t.value={leftChannel:i[0],rightChannel:i[1]};break;case"gapless":case"compilation":case"podcast":case"showMovement":t.value="1"===t.value||1===t.value;break;case"isrc":if(this.common[t.id]&&-1!==this.common[t.id].indexOf(t.value))return}null!==t.value&&this.setGenericTag(e,t)}toCommonMetadata(){return{format:this.format,native:this.native,quality:this.quality,common:this.common}}async postFixPicture(e){if(e.data&&e.data.length>0){if(!e.format){const t=await l.fromBuffer(e.data);if(!t)return null;e.format=t.mime}return e.format=e.format.toLocaleLowerCase(),"image/jpg"===e.format&&(e.format="image/jpeg"),e}return this.addWarning("Empty picture tag found"),null}toCommon(e,t,a){const r={id:t,value:a},i=this.tagMapper.mapTag(e,r,this);i&&this.postMap(e,i)}setGenericTag(e,t){u(`common.${t.id} = ${t.value}`);const a=this.commonOrigin[t.id]||1e3,r=this.originPriority[e];if((0,n.isSingleton)(t.id)){if(!(r<=a))return u(`Ignore native tag (singleton): ${e}.${t.id} = ${t.value}`);this.common[t.id]=t.value,this.commonOrigin[t.id]=r}else if(r===a)(0,n.isUnique)(t.id)&&-1!==this.common[t.id].indexOf(t.value)?u(`Ignore duplicate value: ${e}.${t.id} = ${t.value}`):this.common[t.id].push(t.value);else{if(!(r<a))return u(`Ignore native tag (list): ${e}.${t.id} = ${t.value}`);this.common[t.id]=[t.value],this.commonOrigin[t.id]=r}this.opts.observer&&this.opts.observer({metadata:this,tag:{type:"common",id:t.id,value:t.value}})}},t.joinArtists=m},9461:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RandomUint8ArrayReader=void 0,t.RandomUint8ArrayReader=class{constructor(e){this.uint8Array=e,this.fileSize=e.length}async randomRead(e,t,a,r){return e.set(this.uint8Array.subarray(r,r+a),t),a}}},3769:(e,t,a)=>{"use strict";var r=a(8764).Buffer;function i(e,t,a,r){const n=a%8;let s=e[t+~~(a/8)];s&=255>>n;const o=8-n,c=r-o;return c<0?s>>=8-n-r:c>0&&(s<<=c,s|=i(e,t,a+o,c)),s}function n(e){return 10*Math.log10(e)}function s(e){return Math.pow(10,e/10)}Object.defineProperty(t,"__esModule",{value:!0}),t.toRatio=t.dbToRatio=t.ratioToDb=t.a2hex=t.isBitSet=t.getBitAllignedNumber=t.stripNulls=t.decodeString=t.trimRightNull=t.findZero=t.getBit=void 0,t.getBit=function(e,t,a){return 0!=(e[t]&1<<a)},t.findZero=function(e,t,a,r){let i=t;if("utf16le"===r){for(;0!==e[i]||0!==e[i+1];){if(i>=a)return a;i+=2}return i}for(;0!==e[i];){if(i>=a)return a;i++}return i},t.trimRightNull=function(e){const t=e.indexOf("\0");return-1===t?e:e.substr(0,t)},t.decodeString=function e(t,a){if(255===t[0]&&254===t[1])return e(t.subarray(2),a);if("utf16le"===a&&254===t[0]&&255===t[1]){if(0!=(1&t.length))throw new Error("Expected even number of octets for 16-bit unicode string");return e(function(e){const t=e.length;if(0!=(1&t))throw new Error("Buffer length must be even");for(let a=0;a<t;a+=2){const t=e[a];e[a]=e[a+1],e[a+1]=t}return e}(t),a)}return r.from(t).toString(a)},t.stripNulls=function(e){return(e=e.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")},t.getBitAllignedNumber=i,t.isBitSet=function(e,t,a){return 1===i(e,t,a,1)},t.a2hex=function(e){const t=[];for(let a=0,r=e.length;a<r;a++){const r=Number(e.charCodeAt(a)).toString(16);t.push(1===r.length?"0"+r:r)}return t.join(" ")},t.ratioToDb=n,t.dbToRatio=s,t.toRatio=function(e){const t=e.split(" ").map((e=>e.trim().toLowerCase()));if(t.length>=1){const e=parseFloat(t[0]);return 2===t.length&&"db"===t[1]?{dB:e,ratio:s(e)}:{dB:n(e),ratio:e}}}},523:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.scanAppendingHeaders=t.selectCover=t.ratingToStars=t.orderTags=t.parseFromTokenizer=t.parseBuffer=t.parseStream=void 0;const r=a(5849),i=a(3275),n=a(9461),s=a(6742),o=a(2282),c=a(9941);function l(e,t){return i.ParserFactory.parseOnContentType(e,t)}async function u(e,t={}){let a=e.fileSize;await(0,o.hasID3v1Header)(e)&&(a-=128,a-=await(0,c.getLyricsHeaderLength)(e)),t.apeHeader=await s.APEv2Parser.findApeFooterOffset(e,a)}t.parseStream=function(e,t,a={}){return l(r.fromStream(e,"string"==typeof t?{mimeType:t}:t),a)},t.parseBuffer=async function(e,t,a={}){const i=new n.RandomUint8ArrayReader(e);return await u(i,a),l(r.fromBuffer(e,"string"==typeof t?{mimeType:t}:t),a)},t.parseFromTokenizer=l,t.orderTags=function(e){const t={};for(const a of e)(t[a.id]=t[a.id]||[]).push(a.value);return t},t.ratingToStars=function(e){return void 0===e?0:1+Math.round(4*e)},t.selectCover=function(e){return e?e.reduce(((e,t)=>t.name&&t.name.toLowerCase()in["front","cover","cover (front)"]?t:e)):null},t.scanAppendingHeaders=u},6789:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DsdiffParser=void 0;const r=a(3416),i=a(1227),n=a(5849),s=a(8049),o=a(7805),c=a(8928),l=a(6678),u=(0,i.default)("music-metadata:parser:aiff");class d extends o.BasicParser{async parse(){const e=await this.tokenizer.readToken(l.ChunkHeader64);if("FRM8"!==e.chunkID)throw new Error("Unexpected chunk-ID");const t=(await this.tokenizer.readToken(s.FourCcToken)).trim();if("DSD"===t)return this.metadata.setFormat("container",`DSDIFF/${t}`),this.metadata.setFormat("lossless",!0),this.readFmt8Chunks(e.chunkSize-BigInt(s.FourCcToken.len));throw Error(`Unsupported DSDIFF type: ${t}`)}async readFmt8Chunks(e){for(;e>=l.ChunkHeader64.len;){const t=await this.tokenizer.readToken(l.ChunkHeader64);u(`Chunk id=${t.chunkID}`),await this.readData(t),e-=BigInt(l.ChunkHeader64.len)+t.chunkSize}}async readData(e){u(`Reading data of chunk[ID=${e.chunkID}, size=${e.chunkSize}]`);const t=this.tokenizer.position;switch(e.chunkID.trim()){case"FVER":const t=await this.tokenizer.readToken(r.UINT32_LE);u(`DSDIFF version=${t}`);break;case"PROP":if("SND "!==await this.tokenizer.readToken(s.FourCcToken))throw new Error("Unexpected PROP-chunk ID");await this.handleSoundPropertyChunks(e.chunkSize-BigInt(s.FourCcToken.len));break;case"ID3":const a=await this.tokenizer.readToken(new r.Uint8ArrayType(Number(e.chunkSize))),i=n.fromBuffer(a);await(new c.ID3v2Parser).parse(this.metadata,i,this.options);break;default:u(`Ignore chunk[ID=${e.chunkID}, size=${e.chunkSize}]`);break;case"DSD":this.metadata.setFormat("numberOfSamples",Number(e.chunkSize*BigInt(8)/BigInt(this.metadata.format.numberOfChannels))),this.metadata.setFormat("duration",this.metadata.format.numberOfSamples/this.metadata.format.sampleRate)}const a=e.chunkSize-BigInt(this.tokenizer.position-t);a>0&&(u(`After Parsing chunk, remaining ${a} bytes`),await this.tokenizer.ignore(Number(a)))}async handleSoundPropertyChunks(e){for(u(`Parsing sound-property-chunks, remainingSize=${e}`);e>0;){const t=await this.tokenizer.readToken(l.ChunkHeader64);u(`Sound-property-chunk[ID=${t.chunkID}, size=${t.chunkSize}]`);const a=this.tokenizer.position;switch(t.chunkID.trim()){case"FS":const e=await this.tokenizer.readToken(r.UINT32_BE);this.metadata.setFormat("sampleRate",e);break;case"CHNL":const a=await this.tokenizer.readToken(r.UINT16_BE);this.metadata.setFormat("numberOfChannels",a),await this.handleChannelChunks(t.chunkSize-BigInt(r.UINT16_BE.len));break;case"CMPR":const i=(await this.tokenizer.readToken(s.FourCcToken)).trim(),n=await this.tokenizer.readToken(r.UINT8),o=await this.tokenizer.readToken(new r.StringType(n,"ascii"));"DSD"===i&&(this.metadata.setFormat("lossless",!0),this.metadata.setFormat("bitsPerSample",1)),this.metadata.setFormat("codec",`${i} (${o})`);break;case"ABSS":const c=await this.tokenizer.readToken(r.UINT16_BE),l=await this.tokenizer.readToken(r.UINT8),d=await this.tokenizer.readToken(r.UINT8),m=await this.tokenizer.readToken(r.UINT32_BE);u(`ABSS ${c}:${l}:${d}.${m}`);break;case"LSCO":const p=await this.tokenizer.readToken(r.UINT16_BE);u(`LSCO lsConfig=${p}`);break;default:u(`Unknown sound-property-chunk[ID=${t.chunkID}, size=${t.chunkSize}]`),await this.tokenizer.ignore(Number(t.chunkSize))}const i=t.chunkSize-BigInt(this.tokenizer.position-a);i>0&&(u(`After Parsing sound-property-chunk ${t.chunkSize}, remaining ${i} bytes`),await this.tokenizer.ignore(Number(i))),e-=BigInt(l.ChunkHeader64.len)+t.chunkSize,u(`Parsing sound-property-chunks, remainingSize=${e}`)}if(this.metadata.format.lossless&&this.metadata.format.sampleRate&&this.metadata.format.numberOfChannels&&this.metadata.format.bitsPerSample){const e=this.metadata.format.sampleRate*this.metadata.format.numberOfChannels*this.metadata.format.bitsPerSample;this.metadata.setFormat("bitrate",e)}}async handleChannelChunks(e){u(`Parsing channel-chunks, remainingSize=${e}`);const t=[];for(;e>=s.FourCcToken.len;){const a=await this.tokenizer.readToken(s.FourCcToken);u(`Channel[ID=${a}]`),t.push(a),e-=BigInt(s.FourCcToken.len)}return u(`Channels: ${t.join(", ")}`),t}}t.DsdiffParser=d},6678:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChunkHeader64=void 0;const r=a(3416),i=a(8049);t.ChunkHeader64={len:12,get:(e,t)=>({chunkID:i.FourCcToken.get(e,t),chunkSize:r.INT64_BE.get(e,t+4)})}},4101:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FormatChunk=t.ChannelType=t.DsdChunk=t.ChunkHeader=void 0;const r=a(3416),i=a(8049);var n;t.ChunkHeader={len:12,get:(e,t)=>({id:i.FourCcToken.get(e,t),size:r.UINT64_LE.get(e,t+4)})},t.DsdChunk={len:16,get:(e,t)=>({fileSize:r.INT64_LE.get(e,t),metadataPointer:r.INT64_LE.get(e,t+8)})},(n=t.ChannelType||(t.ChannelType={}))[n.mono=1]="mono",n[n.stereo=2]="stereo",n[n.channels=3]="channels",n[n.quad=4]="quad",n[n["4 channels"]=5]="4 channels",n[n["5 channels"]=6]="5 channels",n[n["5.1 channels"]=7]="5.1 channels",t.FormatChunk={len:40,get:(e,t)=>({formatVersion:r.INT32_LE.get(e,t),formatID:r.INT32_LE.get(e,t+4),channelType:r.INT32_LE.get(e,t+8),channelNum:r.INT32_LE.get(e,t+12),samplingFrequency:r.INT32_LE.get(e,t+16),bitsPerSample:r.INT32_LE.get(e,t+20),sampleCount:r.INT64_LE.get(e,t+24),blockSizePerChannel:r.INT32_LE.get(e,t+32)})}},1533:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DsfParser=void 0;const r=a(1227),i=a(5159),n=a(4101),s=a(8928),o=(0,r.default)("music-metadata:parser:DSF");class c extends i.AbstractID3Parser{async postId3v2Parse(){const e=this.tokenizer.position,t=await this.tokenizer.readToken(n.ChunkHeader);if("DSD "!==t.id)throw new Error("Invalid chunk signature");this.metadata.setFormat("container","DSF"),this.metadata.setFormat("lossless",!0);const a=await this.tokenizer.readToken(n.DsdChunk);if(a.metadataPointer!==BigInt(0))return o(`expect ID3v2 at offset=${a.metadataPointer}`),await this.parseChunks(a.fileSize-t.size),await this.tokenizer.ignore(Number(a.metadataPointer)-this.tokenizer.position-e),(new s.ID3v2Parser).parse(this.metadata,this.tokenizer,this.options);o("No ID3v2 tag present")}async parseChunks(e){for(;e>=n.ChunkHeader.len;){const t=await this.tokenizer.readToken(n.ChunkHeader);if(o(`Parsing chunk name=${t.id} size=${t.size}`),"fmt "===t.id){const e=await this.tokenizer.readToken(n.FormatChunk);this.metadata.setFormat("numberOfChannels",e.channelNum),this.metadata.setFormat("sampleRate",e.samplingFrequency),this.metadata.setFormat("bitsPerSample",e.bitsPerSample),this.metadata.setFormat("numberOfSamples",e.sampleCount),this.metadata.setFormat("duration",Number(e.sampleCount)/e.samplingFrequency);const t=e.bitsPerSample*e.samplingFrequency*e.channelNum;return void this.metadata.setFormat("bitrate",t)}this.tokenizer.ignore(Number(t.size)-n.ChunkHeader.len),e-=t.size}}}t.DsfParser=c},498:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FlacParser=void 0;const r=a(3416),i=a(1227),n=a(3769),s=a(2127),o=a(5159),c=a(8049),l=a(4210),u=a(441),d=(0,i.default)("music-metadata:parser:FLAC");var m;!function(e){e[e.STREAMINFO=0]="STREAMINFO",e[e.PADDING=1]="PADDING",e[e.APPLICATION=2]="APPLICATION",e[e.SEEKTABLE=3]="SEEKTABLE",e[e.VORBIS_COMMENT=4]="VORBIS_COMMENT",e[e.CUESHEET=5]="CUESHEET",e[e.PICTURE=6]="PICTURE"}(m||(m={}));class p extends o.AbstractID3Parser{constructor(){super(...arguments),this.padding=0}init(e,t,a){return super.init(e,t,a),this.vorbisParser=new l.VorbisParser(e,a),this}async postId3v2Parse(){if("fLaC"!==(await this.tokenizer.readToken(c.FourCcToken)).toString())throw new Error("Invalid FLAC preamble");let e;do{e=await this.tokenizer.readToken(f.BlockHeader),await this.parseDataBlock(e)}while(!e.lastBlock);if(this.tokenizer.fileInfo.size&&this.metadata.format.duration){const e=this.tokenizer.fileInfo.size-this.tokenizer.position;this.metadata.setFormat("bitrate",8*e/this.metadata.format.duration)}}parseDataBlock(e){switch(d(`blockHeader type=${e.type}, length=${e.length}`),e.type){case m.STREAMINFO:return this.parseBlockStreamInfo(e.length);case m.PADDING:this.padding+=e.length;break;case m.APPLICATION:case m.SEEKTABLE:break;case m.VORBIS_COMMENT:return this.parseComment(e.length);case m.CUESHEET:break;case m.PICTURE:return this.parsePicture(e.length).then();default:this.metadata.addWarning("Unknown block type: "+e.type)}return this.tokenizer.ignore(e.length).then()}async parseBlockStreamInfo(e){if(e!==f.BlockStreamInfo.len)throw new Error("Unexpected block-stream-info length");const t=await this.tokenizer.readToken(f.BlockStreamInfo);this.metadata.setFormat("container","FLAC"),this.metadata.setFormat("codec","FLAC"),this.metadata.setFormat("lossless",!0),this.metadata.setFormat("numberOfChannels",t.channels),this.metadata.setFormat("bitsPerSample",t.bitsPerSample),this.metadata.setFormat("sampleRate",t.sampleRate),t.totalSamples>0&&this.metadata.setFormat("duration",t.totalSamples/t.sampleRate)}async parseComment(e){const t=await this.tokenizer.readToken(new r.Uint8ArrayType(e)),a=new u.VorbisDecoder(t,0);a.readStringUtf8();const i=a.readInt32();for(let e=0;e<i;e++){const e=a.parseUserComment();this.vorbisParser.addTag(e.key,e.value)}}async parsePicture(e){if(this.options.skipCovers)return this.tokenizer.ignore(e);{const t=await this.tokenizer.readToken(new s.VorbisPictureToken(e));this.vorbisParser.addTag("METADATA_BLOCK_PICTURE",t)}}}t.FlacParser=p;class f{}f.BlockHeader={len:4,get:(e,t)=>({lastBlock:n.getBit(e,t,7),type:n.getBitAllignedNumber(e,t,1,7),length:r.UINT24_BE.get(e,t+1)})},f.BlockStreamInfo={len:34,get:(e,t)=>({minimumBlockSize:r.UINT16_BE.get(e,t),maximumBlockSize:r.UINT16_BE.get(e,t+2)/1e3,minimumFrameSize:r.UINT24_BE.get(e,t+4),maximumFrameSize:r.UINT24_BE.get(e,t+7),sampleRate:r.UINT24_BE.get(e,t+10)>>4,channels:n.getBitAllignedNumber(e,t+12,4,3)+1,bitsPerSample:n.getBitAllignedNumber(e,t+12,7,5)+1,totalSamples:n.getBitAllignedNumber(e,t+13,4,36),fileMD5:new r.Uint8ArrayType(16).get(e,t+18)})}},2282:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.hasID3v1Header=t.ID3v1Parser=t.Genres=void 0;const i=a(1227),n=a(3416),s=a(3769),o=a(7805),c=a(6742),l=(0,i.default)("music-metadata:parser:ID3v1");t.Genres=["Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge","Hip-Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B","Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska","Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient","Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical","Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise","Alt. Rock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta Rap","Top 40","Christian Rap","Pop/Funk","Jungle","Native American","Cabaret","New Wave","Psychedelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk","Folk/Rock","National Folk","Swing","Fast-Fusion","Bebob","Latin","Revival","Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove","Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Power Ballad","Rhythmic Soul","Freestyle","Duet","Punk Rock","Drum Solo","A Cappella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House","Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta Rap","Heavy Metal","Black Metal","Crossover","Contemporary Christian","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","Synthpop","Abstract","Art Rock","Baroque","Bhangra","Big Beat","Breakbeat","Chillout","Downtempo","Dub","EBM","Eclectic","Electro","Electroclash","Emo","Experimental","Garage","Global","IDM","Illbient","Industro-Goth","Jam Band","Krautrock","Leftfield","Lounge","Math Rock","New Romantic","Nu-Breakz","Post-Punk","Post-Rock","Psytrance","Shoegaze","Space Rock","Trop Rock","World Music","Neoclassical","Audiobook","Audio Theatre","Neue Deutsche Welle","Podcast","Indie Rock","G-Funk","Dubstep","Garage Rock","Psybient"];const u={len:128,get:(e,t)=>{const a=new d(3).get(e,t);return"TAG"===a?{header:a,title:new d(30).get(e,t+3),artist:new d(30).get(e,t+33),album:new d(30).get(e,t+63),year:new d(4).get(e,t+93),comment:new d(28).get(e,t+97),zeroByte:n.UINT8.get(e,t+127),track:n.UINT8.get(e,t+126),genre:n.UINT8.get(e,t+127)}:null}};class d extends n.StringType{constructor(e){super(e,"binary")}get(e,t){let a=super.get(e,t);return a=s.trimRightNull(a),a=a.trim(),a.length>0?a:void 0}}class m extends o.BasicParser{static getGenre(e){if(e<t.Genres.length)return t.Genres[e]}async parse(){if(!this.tokenizer.fileInfo.size)return void l("Skip checking for ID3v1 because the file-size is unknown");if(this.options.apeHeader){this.tokenizer.ignore(this.options.apeHeader.offset-this.tokenizer.position);const e=new c.APEv2Parser;e.init(this.metadata,this.tokenizer,this.options),await e.parseTags(this.options.apeHeader.footer)}const e=this.tokenizer.fileInfo.size-u.len;if(this.tokenizer.position>e)return void l("Already consumed the last 128 bytes");const t=await this.tokenizer.readToken(u,e);if(t){l("ID3v1 header found at: pos=%s",this.tokenizer.fileInfo.size-u.len);for(const e of["title","artist","album","comment","track","year"])t[e]&&""!==t[e]&&this.addTag(e,t[e]);const e=m.getGenre(t.genre);e&&this.addTag("genre",e)}else l("ID3v1 header not found at: pos=%s",this.tokenizer.fileInfo.size-u.len)}addTag(e,t){this.metadata.addTag("ID3v1",e,t)}}t.ID3v1Parser=m,t.hasID3v1Header=async function(e){if(e.fileSize>=128){const t=r.alloc(3);return await e.randomRead(t,0,t.length,e.fileSize-128),"TAG"===t.toString("binary")}return!1}},2939:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ID3v1TagMapper=void 0;const r=a(9918),i={title:"title",artist:"artist",album:"album",year:"year",comment:"comment",track:"track",genre:"genre"};class n extends r.CommonTagMapper{constructor(){super(["ID3v1"],i)}}t.ID3v1TagMapper=n},5159:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractID3Parser=void 0;const r=a(5849),i=a(1227),n=a(8281),s=a(8928),o=a(2282),c=a(7805),l=(0,i.default)("music-metadata:parser:ID3");class u extends c.BasicParser{constructor(){super(...arguments),this.id3parser=new s.ID3v2Parser}static async startsWithID3v2Header(e){return"ID3"===(await e.peekToken(n.ID3v2Header)).fileIdentifier}async parse(){try{await this.parseID3v2()}catch(e){if(!(e instanceof r.EndOfStreamError))throw e;l("End-of-stream")}}finalize(){}async parseID3v2(){if(await this.tryReadId3v2Headers(),l("End of ID3v2 header, go to MPEG-parser: pos=%s",this.tokenizer.position),await this.postId3v2Parse(),this.options.skipPostHeaders&&this.metadata.hasAny())this.finalize();else{const e=new o.ID3v1Parser;await e.init(this.metadata,this.tokenizer,this.options).parse(),this.finalize()}}async tryReadId3v2Headers(){if("ID3"===(await this.tokenizer.peekToken(n.ID3v2Header)).fileIdentifier)return l("Found ID3v2 header, pos=%s",this.tokenizer.position),await this.id3parser.parse(this.metadata,this.tokenizer,this.options),this.tryReadId3v2Headers()}}t.AbstractID3Parser=u},907:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.FrameParser=t.parseGenre=void 0;const i=a(1227),n=a(3416),s=a(3769),o=a(8281),c=a(2282),l=(0,i.default)("music-metadata:id3v2:frame-parser"),u="latin1";function d(e){const t=[];let a,r="";for(const i of e)if("string"==typeof a)if("("===i&&""===a)r+="(",a=void 0;else if(")"===i){""!==r&&(t.push(r),r="");const e=m(a);e&&t.push(e),a=void 0}else a+=i;else"("===i?a="":r+=i;return r&&(0===t.length&&r.match(/^\d*$/)&&(r=c.Genres[r]),t.push(r)),t}function m(e){return"RX"===e?"Remix":"CR"===e?"Cover":e.match(/^\d*$/)?c.Genres[e]:void 0}t.parseGenre=d;class p{constructor(e,t){this.major=e,this.warningCollector=t}readData(e,t,a){if(0===e.length)return void this.warningCollector.addWarning(`id3v2.${this.major} header has empty tag type=${t}`);const{encoding:i,bom:c}=o.TextEncodingToken.get(e,0),m=e.length;let f=0,h=[];const g=p.getNullTerminatorLength(i);let T;const b={};switch(l(`Parsing tag type=${t}, encoding=${i}, bom=${c}`),"TXXX"!==t&&"T"===t[0]?"T*":t){case"T*":case"IPLS":case"MVIN":case"MVNM":case"PCS":case"PCST":let c;try{c=s.decodeString(e.slice(1),i).replace(/\x00+$/,"")}catch(e){this.warningCollector.addWarning(`id3v2.${this.major} type=${t} header has invalid string value: ${e.message}`)}switch(t){case"TMCL":case"TIPL":case"IPLS":h=this.splitValue(t,c),h=p.functionList(h);break;case"TRK":case"TRCK":case"TPOS":h=c;break;case"TCOM":case"TEXT":case"TOLY":case"TOPE":case"TPE1":case"TSRC":h=this.splitValue(t,c);break;case"TCO":case"TCON":h=this.splitValue(t,c).map((e=>d(e))).reduce(((e,t)=>e.concat(t)),[]);break;case"PCS":case"PCST":h=this.major>=4?this.splitValue(t,c):[c],h=Array.isArray(h)&&""===h[0]?1:0;break;default:h=this.major>=4?this.splitValue(t,c):[c]}break;case"TXXX":h=p.readIdentifierAndData(e,f+1,m,i),h={description:h.id,text:this.splitValue(t,s.decodeString(h.data,i).replace(/\x00+$/,""))};break;case"PIC":case"APIC":if(a){const t={};switch(f+=1,this.major){case 2:t.format=s.decodeString(e.slice(f,f+3),"latin1"),f+=3;break;case 3:case 4:T=s.findZero(e,f,m,u),t.format=s.decodeString(e.slice(f,T),u),f=T+1;break;default:throw new Error("Warning: unexpected major versionIndex: "+this.major)}t.format=p.fixPictureMimeType(t.format),t.type=o.AttachedPictureType[e[f]],f+=1,T=s.findZero(e,f,m,i),t.description=s.decodeString(e.slice(f,T),i),f=T+g,t.data=r.from(e.slice(f,m)),h=t}break;case"CNT":case"PCNT":h=n.UINT32_BE.get(e,0);break;case"SYLT":for(f+=7,h=[];f<m;){const t=e.slice(f,f=s.findZero(e,f,m,i));f+=5,h.push(s.decodeString(t,i))}break;case"ULT":case"USLT":case"COM":case"COMM":f+=1,b.language=s.decodeString(e.slice(f,f+3),u),f+=3,T=s.findZero(e,f,m,i),b.description=s.decodeString(e.slice(f,T),i),f=T+g,b.text=s.decodeString(e.slice(f,m),i).replace(/\x00+$/,""),h=[b];break;case"UFID":h=p.readIdentifierAndData(e,f,m,u),h={owner_identifier:h.id,identifier:h.data};break;case"PRIV":h=p.readIdentifierAndData(e,f,m,u),h={owner_identifier:h.id,data:h.data};break;case"POPM":T=s.findZero(e,f,m,u);const y=s.decodeString(e.slice(f,T),u);f=T+1;const k=m-f;h={email:y,rating:n.UINT8.get(e,f),counter:k>=5?n.UINT32_BE.get(e,f+1):void 0};break;case"GEOB":{T=s.findZero(e,f+1,m,i);const t=s.decodeString(e.slice(f+1,T),u);f=T+1,T=s.findZero(e,f,m-f,i);const a=s.decodeString(e.slice(f,T),u);f=T+1,T=s.findZero(e,f,m-f,i),h={type:t,filename:a,description:s.decodeString(e.slice(f,T),u),data:e.slice(f+1,m)};break}case"WCOM":case"WCOP":case"WOAF":case"WOAR":case"WOAS":case"WORS":case"WPAY":case"WPUB":h=s.decodeString(e.slice(f,T),u);break;case"WXXX":{T=s.findZero(e,f+1,m,i);const t=s.decodeString(e.slice(f+1,T),i);f=T+("utf16le"===i?2:1),h={description:t,url:s.decodeString(e.slice(f,m),u)};break}case"WFD":case"WFED":h=s.decodeString(e.slice(f+1,s.findZero(e,f+1,m,i)),i);break;case"MCDI":h=e.slice(0,m);break;default:l("Warning: unsupported id3v2-tag-type: "+t)}return h}static fixPictureMimeType(e){switch(e=e.toLocaleLowerCase()){case"jpg":return"image/jpeg";case"png":return"image/png"}return e}static functionList(e){const t={};for(let a=0;a+1<e.length;a+=2){const r=e[a+1].split(",");t[e[a]]=t.hasOwnProperty(e[a])?t[e[a]].concat(r):r}return t}splitValue(e,t){let a;return this.major<4?(a=t.split(/\x00/g),a.length>1?this.warningCollector.addWarning(`ID3v2.${this.major} ${e} uses non standard null-separator.`):a=t.split(/\//g)):a=t.split(/\x00/g),p.trimArray(a)}static trimArray(e){return e.map((e=>e.replace(/\x00+$/,"").trim()))}static readIdentifierAndData(e,t,a,r){const i=s.findZero(e,t,a,r),n=s.decodeString(e.slice(t,i),r);return t=i+p.getNullTerminatorLength(r),{id:n,data:e.slice(t,a)}}static getNullTerminatorLength(e){return"utf16le"===e?2:1}}t.FrameParser=p},7183:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ID3v22TagMapper=t.id3v22TagMap=void 0;const r=a(4132);t.id3v22TagMap={TT2:"title",TP1:"artist",TP2:"albumartist",TAL:"album",TYE:"year",COM:"comment",TRK:"track",TPA:"disk",TCO:"genre",PIC:"picture",TCM:"composer",TOR:"originaldate",TOT:"originalalbum",TXT:"lyricist",TP3:"conductor",TPB:"label",TT1:"grouping",TT3:"subtitle",TLA:"language",TCR:"copyright",WCP:"license",TEN:"encodedby",TSS:"encodersettings",WAR:"website","COM:iTunPGAP":"gapless",PCS:"podcast",TCP:"compilation",TDR:"date",TS2:"albumartistsort",TSA:"albumsort",TSC:"composersort",TSP:"artistsort",TST:"titlesort",WFD:"podcasturl",TBP:"bpm"};class i extends r.CaseInsensitiveTagMap{constructor(){super(["ID3v2.2"],t.id3v22TagMap)}}t.ID3v22TagMapper=i},4005:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ID3v24TagMapper=void 0;const r=a(9918),i=a(4132),n=a(3769),s={TIT2:"title",TPE1:"artist","TXXX:Artists":"artists",TPE2:"albumartist",TALB:"album",TDRV:"date",TORY:"originalyear",TPOS:"disk",TCON:"genre",APIC:"picture",TCOM:"composer","USLT:description":"lyrics",TSOA:"albumsort",TSOT:"titlesort",TOAL:"originalalbum",TSOP:"artistsort",TSO2:"albumartistsort",TSOC:"composersort",TEXT:"lyricist","TXXX:Writer":"writer",TPE3:"conductor",TPE4:"remixer","IPLS:arranger":"arranger","IPLS:engineer":"engineer","IPLS:producer":"producer","IPLS:DJ-mix":"djmixer","IPLS:mix":"mixer",TPUB:"label",TIT1:"grouping",TIT3:"subtitle",TRCK:"track",TCMP:"compilation",POPM:"rating",TBPM:"bpm",TMED:"media","TXXX:CATALOGNUMBER":"catalognumber","TXXX:MusicBrainz Album Status":"releasestatus","TXXX:MusicBrainz Album Type":"releasetype","TXXX:MusicBrainz Album Release Country":"releasecountry","TXXX:RELEASECOUNTRY":"releasecountry","TXXX:SCRIPT":"script",TLAN:"language",TCOP:"copyright",WCOP:"license",TENC:"encodedby",TSSE:"encodersettings","TXXX:BARCODE":"barcode","TXXX:ISRC":"isrc",TSRC:"isrc","TXXX:ASIN":"asin","TXXX:originalyear":"originalyear","UFID:http://musicbrainz.org":"musicbrainz_recordingid","TXXX:MusicBrainz Release Track Id":"musicbrainz_trackid","TXXX:MusicBrainz Album Id":"musicbrainz_albumid","TXXX:MusicBrainz Artist Id":"musicbrainz_artistid","TXXX:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","TXXX:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","TXXX:MusicBrainz Work Id":"musicbrainz_workid","TXXX:MusicBrainz TRM Id":"musicbrainz_trmid","TXXX:MusicBrainz Disc Id":"musicbrainz_discid","TXXX:ACOUSTID_ID":"acoustid_id","TXXX:Acoustid Id":"acoustid_id","TXXX:Acoustid Fingerprint":"acoustid_fingerprint","TXXX:MusicIP PUID":"musicip_puid","TXXX:MusicMagic Fingerprint":"musicip_fingerprint",WOAR:"website",TDRC:"date",TYER:"year",TDOR:"originaldate","TIPL:arranger":"arranger","TIPL:engineer":"engineer","TIPL:producer":"producer","TIPL:DJ-mix":"djmixer","TIPL:mix":"mixer",TMOO:"mood",SYLT:"lyrics",TSST:"discsubtitle",TKEY:"key",COMM:"comment",TOPE:"originalartist","PRIV:AverageLevel":"averageLevel","PRIV:PeakLevel":"peakLevel","TXXX:DISCOGS_ARTIST_ID":"discogs_artist_id","TXXX:DISCOGS_ARTISTS":"artists","TXXX:DISCOGS_ARTIST_NAME":"artists","TXXX:DISCOGS_ALBUM_ARTISTS":"albumartist","TXXX:DISCOGS_CATALOG":"catalognumber","TXXX:DISCOGS_COUNTRY":"releasecountry","TXXX:DISCOGS_DATE":"originaldate","TXXX:DISCOGS_LABEL":"label","TXXX:DISCOGS_LABEL_ID":"discogs_label_id","TXXX:DISCOGS_MASTER_RELEASE_ID":"discogs_master_release_id","TXXX:DISCOGS_RATING":"discogs_rating","TXXX:DISCOGS_RELEASED":"date","TXXX:DISCOGS_RELEASE_ID":"discogs_release_id","TXXX:DISCOGS_VOTES":"discogs_votes","TXXX:CATALOGID":"catalognumber","TXXX:STYLE":"genre","TXXX:REPLAYGAIN_TRACK_PEAK":"replaygain_track_peak","TXXX:REPLAYGAIN_TRACK_GAIN":"replaygain_track_gain","TXXX:REPLAYGAIN_ALBUM_PEAK":"replaygain_album_peak","TXXX:REPLAYGAIN_ALBUM_GAIN":"replaygain_album_gain","TXXX:MP3GAIN_MINMAX":"replaygain_track_minmax","TXXX:MP3GAIN_ALBUM_MINMAX":"replaygain_album_minmax","TXXX:MP3GAIN_UNDO":"replaygain_undo",MVNM:"movement",MVIN:"movementIndex",PCST:"podcast",TCAT:"category",TDES:"description",TDRL:"date",TGID:"podcastId",TKWD:"keywords",WFED:"podcasturl"};class o extends i.CaseInsensitiveTagMap{static toRating(e){return{source:e.email,rating:e.rating>0?(e.rating-1)/254*r.CommonTagMapper.maxRatingScore:void 0}}constructor(){super(["ID3v2.3","ID3v2.4"],s)}postMap(e,t){switch(e.id){case"UFID":"http://musicbrainz.org"===e.value.owner_identifier&&(e.id+=":"+e.value.owner_identifier,e.value=n.decodeString(e.value.identifier,"latin1"));break;case"PRIV":switch(e.value.owner_identifier){case"AverageLevel":case"PeakValue":e.id+=":"+e.value.owner_identifier,e.value=4===e.value.data.length?e.value.data.readUInt32LE(0):null,null===e.value&&t.addWarning("Failed to parse PRIV:PeakValue");break;default:t.addWarning(`Unknown PRIV owner-identifier: ${e.value.owner_identifier}`)}break;case"COMM":e.value=e.value?e.value.text:null;break;case"POPM":e.value=o.toRating(e.value)}}}t.ID3v24TagMapper=o},8928:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.ID3v2Parser=void 0;const i=a(3416),n=a(3769),s=a(907),o=a(8281);class c{static removeUnsyncBytes(e){let t=0,a=0;for(;t<e.length-1;)t!==a&&(e[a]=e[t]),t+=255===e[t]&&0===e[t+1]?2:1,a++;return t<e.length&&(e[a++]=e[t]),e.slice(0,a)}static getFrameHeaderLength(e){switch(e){case 2:return 6;case 3:case 4:return 10;default:throw new Error("header versionIndex is incorrect")}}static readFrameFlags(e){return{status:{tag_alter_preservation:n.getBit(e,0,6),file_alter_preservation:n.getBit(e,0,5),read_only:n.getBit(e,0,4)},format:{grouping_identity:n.getBit(e,1,7),compression:n.getBit(e,1,3),encryption:n.getBit(e,1,2),unsynchronisation:n.getBit(e,1,1),data_length_indicator:n.getBit(e,1,0)}}}static readFrameData(e,t,a,r,i){const n=new s.FrameParser(a,i);switch(a){case 2:return n.readData(e,t.id,r);case 3:case 4:return t.flags.format.unsynchronisation&&(e=c.removeUnsyncBytes(e)),t.flags.format.data_length_indicator&&(e=e.slice(4,e.length)),n.readData(e,t.id,r);default:throw new Error("Unexpected majorVer: "+a)}}static makeDescriptionTagName(e,t){return e+(t?":"+t:"")}async parse(e,t,a){this.tokenizer=t,this.metadata=e,this.options=a;const r=await this.tokenizer.readToken(o.ID3v2Header);if("ID3"!==r.fileIdentifier)throw new Error("expected ID3-header file-identifier 'ID3' was not found");return this.id3Header=r,this.headerType="ID3v2."+r.version.major,r.flags.isExtendedHeader?this.parseExtendedHeader():this.parseId3Data(r.size)}async parseExtendedHeader(){const e=await this.tokenizer.readToken(o.ExtendedHeader),t=e.size-o.ExtendedHeader.len;return t>0?this.parseExtendedHeaderData(t,e.size):this.parseId3Data(this.id3Header.size-e.size)}async parseExtendedHeaderData(e,t){return await this.tokenizer.ignore(e),this.parseId3Data(this.id3Header.size-t)}async parseId3Data(e){const t=await this.tokenizer.readToken(new i.Uint8ArrayType(e));for(const e of this.parseMetadata(t))if("TXXX"===e.id){if(e.value)for(const t of e.value.text)this.addTag(c.makeDescriptionTagName(e.id,e.value.description),t)}else if("COM"===e.id)for(const t of e.value)this.addTag(c.makeDescriptionTagName(e.id,t.description),t.text);else if("COMM"===e.id)for(const t of e.value)this.addTag(c.makeDescriptionTagName(e.id,t.description),t);else if(Array.isArray(e.value))for(const t of e.value)this.addTag(e.id,t);else this.addTag(e.id,e.value)}addTag(e,t){this.metadata.addTag(this.headerType,e,t)}parseMetadata(e){let t=0;const a=[];for(;t!==e.length;){const r=c.getFrameHeaderLength(this.id3Header.version.major);if(t+r>e.length){this.metadata.addWarning("Illegal ID3v2 tag length");break}const i=e.slice(t,t+=r),n=this.readFrameHeader(i,this.id3Header.version.major),s=e.slice(t,t+=n.length),o=c.readFrameData(s,n,this.id3Header.version.major,!this.options.skipCovers,this.metadata);o&&a.push({id:n.id,value:o})}return a}readFrameHeader(e,t){let a;switch(t){case 2:a={id:r.from(e.slice(0,3)).toString("ascii"),length:i.UINT24_BE.get(e,3)},a.id.match(/[A-Z0-9]{3}/g)||this.metadata.addWarning(`Invalid ID3v2.${this.id3Header.version.major} frame-header-ID: ${a.id}`);break;case 3:case 4:a={id:r.from(e.slice(0,4)).toString("ascii"),length:(4===t?o.UINT32SYNCSAFE:i.UINT32_BE).get(e,4),flags:c.readFrameFlags(e.slice(8,10))},a.id.match(/[A-Z0-9]{4}/g)||this.metadata.addWarning(`Invalid ID3v2.${this.id3Header.version.major} frame-header-ID: ${a.id}`);break;default:throw new Error("Unexpected majorVer: "+t)}return a}}t.ID3v2Parser=c},8281:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextEncodingToken=t.ExtendedHeader=t.ID3v2Header=t.UINT32SYNCSAFE=t.AttachedPictureType=void 0;const r=a(3416),i=a(3769);var n;(n=t.AttachedPictureType||(t.AttachedPictureType={}))[n.Other=0]="Other",n[n["32x32 pixels 'file icon' (PNG only)"]=1]="32x32 pixels 'file icon' (PNG only)",n[n["Other file icon"]=2]="Other file icon",n[n["Cover (front)"]=3]="Cover (front)",n[n["Cover (back)"]=4]="Cover (back)",n[n["Leaflet page"]=5]="Leaflet page",n[n["Media (e.g. label side of CD)"]=6]="Media (e.g. label side of CD)",n[n["Lead artist/lead performer/soloist"]=7]="Lead artist/lead performer/soloist",n[n["Artist/performer"]=8]="Artist/performer",n[n.Conductor=9]="Conductor",n[n["Band/Orchestra"]=10]="Band/Orchestra",n[n.Composer=11]="Composer",n[n["Lyricist/text writer"]=12]="Lyricist/text writer",n[n["Recording Location"]=13]="Recording Location",n[n["During recording"]=14]="During recording",n[n["During performance"]=15]="During performance",n[n["Movie/video screen capture"]=16]="Movie/video screen capture",n[n["A bright coloured fish"]=17]="A bright coloured fish",n[n.Illustration=18]="Illustration",n[n["Band/artist logotype"]=19]="Band/artist logotype",n[n["Publisher/Studio logotype"]=20]="Publisher/Studio logotype",t.UINT32SYNCSAFE={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},t.ID3v2Header={len:10,get:(e,a)=>({fileIdentifier:new r.StringType(3,"ascii").get(e,a),version:{major:r.INT8.get(e,a+3),revision:r.INT8.get(e,a+4)},flags:{unsynchronisation:i.getBit(e,a+5,7),isExtendedHeader:i.getBit(e,a+5,6),expIndicator:i.getBit(e,a+5,5),footer:i.getBit(e,a+5,4)},size:t.UINT32SYNCSAFE.get(e,a+6)})},t.ExtendedHeader={len:10,get:(e,t)=>({size:r.UINT32_BE.get(e,t),extendedFlags:r.UINT16_BE.get(e,t+4),sizeOfPadding:r.UINT32_BE.get(e,t+6),crcDataPresent:i.getBit(e,t+4,31)})},t.TextEncodingToken={len:1,get:(e,t)=>{switch(e.readUInt8(t)){case 0:return{encoding:"latin1"};case 1:return{encoding:"utf16le",bom:!0};case 2:return{encoding:"utf16le",bom:!1};default:return{encoding:"utf8",bom:!1}}}}},4633:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Header=void 0;const r=a(3416),i=a(8049);t.Header={len:8,get:(e,t)=>({chunkID:i.FourCcToken.get(e,t),chunkSize:Number(BigInt(r.UINT32_BE.get(e,t+4)))})}},9941:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.getLyricsHeaderLength=t.endTag2=void 0,t.endTag2="LYRICS200",t.getLyricsHeaderLength=async function(e){if(e.fileSize>=143){const a=r.alloc(15);await e.randomRead(a,0,a.length,e.fileSize-143);const i=a.toString("binary");if(i.substr(6)===t.endTag2)return parseInt(i.substr(0,6),10)+15}return 0}},3121:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.elements=void 0;const r=a(8591);t.elements={440786851:{name:"ebml",container:{17030:{name:"ebmlVersion",value:r.DataType.uint},17143:{name:"ebmlReadVersion",value:r.DataType.uint},17138:{name:"ebmlMaxIDWidth",value:r.DataType.uint},17139:{name:"ebmlMaxSizeWidth",value:r.DataType.uint},17026:{name:"docType",value:r.DataType.string},17031:{name:"docTypeVersion",value:r.DataType.uint},17029:{name:"docTypeReadVersion",value:r.DataType.uint}}},408125543:{name:"segment",container:{290298740:{name:"seekHead",container:{19899:{name:"seek",container:{21419:{name:"seekId",value:r.DataType.binary},21420:{name:"seekPosition",value:r.DataType.uint}}}}},357149030:{name:"info",container:{29604:{name:"uid",value:r.DataType.uid},29572:{name:"filename",value:r.DataType.string},3979555:{name:"prevUID",value:r.DataType.uid},3965867:{name:"prevFilename",value:r.DataType.string},4110627:{name:"nextUID",value:r.DataType.uid},4096955:{name:"nextFilename",value:r.DataType.string},2807729:{name:"timecodeScale",value:r.DataType.uint},17545:{name:"duration",value:r.DataType.float},17505:{name:"dateUTC",value:r.DataType.uint},31657:{name:"title",value:r.DataType.string},19840:{name:"muxingApp",value:r.DataType.string},22337:{name:"writingApp",value:r.DataType.string}}},524531317:{name:"cluster",multiple:!0,container:{231:{name:"timecode",value:r.DataType.uid},163:{name:"unknown",value:r.DataType.binary},167:{name:"position",value:r.DataType.uid},171:{name:"prevSize",value:r.DataType.uid}}},374648427:{name:"tracks",container:{174:{name:"entries",multiple:!0,container:{215:{name:"trackNumber",value:r.DataType.uint},29637:{name:"uid",value:r.DataType.uid},131:{name:"trackType",value:r.DataType.uint},185:{name:"flagEnabled",value:r.DataType.bool},136:{name:"flagDefault",value:r.DataType.bool},21930:{name:"flagForced",value:r.DataType.bool},156:{name:"flagLacing",value:r.DataType.bool},28135:{name:"minCache",value:r.DataType.uint},28136:{name:"maxCache",value:r.DataType.uint},2352003:{name:"defaultDuration",value:r.DataType.uint},2306383:{name:"timecodeScale",value:r.DataType.float},21358:{name:"name",value:r.DataType.string},2274716:{name:"language",value:r.DataType.string},134:{name:"codecID",value:r.DataType.string},25506:{name:"codecPrivate",value:r.DataType.binary},2459272:{name:"codecName",value:r.DataType.string},3839639:{name:"codecSettings",value:r.DataType.string},3883072:{name:"codecInfoUrl",value:r.DataType.string},2536e3:{name:"codecDownloadUrl",value:r.DataType.string},170:{name:"codecDecodeAll",value:r.DataType.bool},28587:{name:"trackOverlay",value:r.DataType.uint},224:{name:"video",container:{154:{name:"flagInterlaced",value:r.DataType.bool},21432:{name:"stereoMode",value:r.DataType.uint},176:{name:"pixelWidth",value:r.DataType.uint},186:{name:"pixelHeight",value:r.DataType.uint},21680:{name:"displayWidth",value:r.DataType.uint},21690:{name:"displayHeight",value:r.DataType.uint},21683:{name:"aspectRatioType",value:r.DataType.uint},3061028:{name:"colourSpace",value:r.DataType.uint},3126563:{name:"gammaValue",value:r.DataType.float}}},225:{name:"audio",container:{181:{name:"samplingFrequency",value:r.DataType.float},30901:{name:"outputSamplingFrequency",value:r.DataType.float},159:{name:"channels",value:r.DataType.uint},148:{name:"channels",value:r.DataType.uint},32123:{name:"channelPositions",value:r.DataType.binary},25188:{name:"bitDepth",value:r.DataType.uint}}},28032:{name:"contentEncodings",container:{25152:{name:"contentEncoding",container:{20529:{name:"order",value:r.DataType.uint},20530:{name:"scope",value:r.DataType.bool},20531:{name:"type",value:r.DataType.uint},20532:{name:"contentEncoding",container:{16980:{name:"contentCompAlgo",value:r.DataType.uint},16981:{name:"contentCompSettings",value:r.DataType.binary}}},20533:{name:"contentEncoding",container:{18401:{name:"contentEncAlgo",value:r.DataType.uint},18402:{name:"contentEncKeyID",value:r.DataType.binary},18403:{name:"contentSignature ",value:r.DataType.binary},18404:{name:"ContentSigKeyID ",value:r.DataType.binary},18405:{name:"contentSigAlgo ",value:r.DataType.uint},18406:{name:"contentSigHashAlgo ",value:r.DataType.uint}}},25188:{name:"bitDepth",value:r.DataType.uint}}}}}}}}},475249515:{name:"cues",container:{187:{name:"cuePoint",container:{179:{name:"cueTime",value:r.DataType.uid},183:{name:"positions",container:{247:{name:"track",value:r.DataType.uint},241:{name:"clusterPosition",value:r.DataType.uint},21368:{name:"blockNumber",value:r.DataType.uint},234:{name:"codecState",value:r.DataType.uint},219:{name:"reference",container:{150:{name:"time",value:r.DataType.uint},151:{name:"cluster",value:r.DataType.uint},21343:{name:"number",value:r.DataType.uint},235:{name:"codecState",value:r.DataType.uint}}},240:{name:"relativePosition",value:r.DataType.uint}}}}}}},423732329:{name:"attachments",container:{24999:{name:"attachedFiles",multiple:!0,container:{18046:{name:"description",value:r.DataType.string},18030:{name:"name",value:r.DataType.string},18016:{name:"mimeType",value:r.DataType.string},18012:{name:"data",value:r.DataType.binary},18094:{name:"uid",value:r.DataType.uid}}}}},272869232:{name:"chapters",container:{17849:{name:"editionEntry",container:{182:{name:"chapterAtom",container:{29636:{name:"uid",value:r.DataType.uid},145:{name:"timeStart",value:r.DataType.uint},146:{name:"timeEnd",value:r.DataType.uid},152:{name:"hidden",value:r.DataType.bool},17816:{name:"enabled",value:r.DataType.uid},143:{name:"track",container:{137:{name:"trackNumber",value:r.DataType.uid},128:{name:"display",container:{133:{name:"string",value:r.DataType.string},17276:{name:"language ",value:r.DataType.string},17278:{name:"country ",value:r.DataType.string}}}}}}}}}}},307544935:{name:"tags",container:{29555:{name:"tag",multiple:!0,container:{25536:{name:"target",container:{25541:{name:"tagTrackUID",value:r.DataType.uid},25540:{name:"tagChapterUID",value:r.DataType.uint},25542:{name:"tagAttachmentUID",value:r.DataType.uid},25546:{name:"targetType",value:r.DataType.string},26826:{name:"targetTypeValue",value:r.DataType.uint},25545:{name:"tagEditionUID",value:r.DataType.uid}}},26568:{name:"simpleTags",multiple:!0,container:{17827:{name:"name",value:r.DataType.string},17543:{name:"string",value:r.DataType.string},17541:{name:"binary",value:r.DataType.binary},17530:{name:"language",value:r.DataType.string},17531:{name:"languageIETF",value:r.DataType.string},17540:{name:"default",value:r.DataType.bool}}}}}}}}}}},78:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.MatroskaParser=void 0;const i=a(3416),n=a(1227),s=a(7805),o=a(8591),c=a(3121),l=(0,n.default)("music-metadata:parser:matroska");class u extends s.BasicParser{constructor(){super(),this.padding=0,this.parserMap=new Map,this.ebmlMaxIDLength=4,this.ebmlMaxSizeLength=8,this.parserMap.set(o.DataType.uint,(e=>this.readUint(e))),this.parserMap.set(o.DataType.string,(e=>this.readString(e))),this.parserMap.set(o.DataType.binary,(e=>this.readBuffer(e))),this.parserMap.set(o.DataType.uid,(async e=>1===await this.readUint(e))),this.parserMap.set(o.DataType.bool,(e=>this.readFlag(e))),this.parserMap.set(o.DataType.float,(e=>this.readFloat(e)))}init(e,t,a){return super.init(e,t,a),this}async parse(){const e=await this.parseContainer(c.elements,this.tokenizer.fileInfo.size,[]);if(this.metadata.setFormat("container",`EBML/${e.ebml.docType}`),e.segment){const t=e.segment.info;if(t){const e=t.timecodeScale?t.timecodeScale:1e6,a=t.duration*e/1e9;this.addTag("segment:title",t.title),this.metadata.setFormat("duration",a)}const a=e.segment.tracks;if(a&&a.entries){a.entries.forEach((e=>{const t={codecName:e.codecID.replace("A_","").replace("V_",""),codecSettings:e.codecSettings,flagDefault:e.flagDefault,flagLacing:e.flagLacing,flagEnabled:e.flagEnabled,language:e.language,name:e.name,type:e.trackType,audio:e.audio,video:e.video};this.metadata.addStreamInfo(t)}));const t=a.entries.filter((e=>e.trackType===o.TrackType.audio.valueOf())).reduce(((e,t)=>e?!e.flagDefault&&t.flagDefault||t.trackNumber&&t.trackNumber<e.trackNumber?t:e:t),null);t&&(this.metadata.setFormat("codec",t.codecID.replace("A_","")),this.metadata.setFormat("sampleRate",t.audio.samplingFrequency),this.metadata.setFormat("numberOfChannels",t.audio.channels)),e.segment.tags&&e.segment.tags.tag.forEach((e=>{const t=e.target,a=(null==t?void 0:t.targetTypeValue)?o.TargetType[t.targetTypeValue]:(null==t?void 0:t.targetType)?t.targetType:"track";e.simpleTags.forEach((e=>{const t=e.string?e.string:e.binary;this.addTag(`${a}:${e.name}`,t)}))})),e.segment.attachments&&e.segment.attachments.attachedFiles.filter((e=>e.mimeType.startsWith("image/"))).map((e=>({data:e.data,format:e.mimeType,description:e.description,name:e.name}))).forEach((e=>{this.addTag("picture",e)}))}}}async parseContainer(e,t,a){const r={};for(;this.tokenizer.position<t;){let t;try{t=await this.readElement()}catch(e){if("End-Of-Stream"===e.message)break;throw e}const i=e[t.id];if(i)if(l(`Element: name=${i.name}, container=${!!i.container}`),i.container){const e=await this.parseContainer(i.container,t.len>=0?this.tokenizer.position+t.len:-1,a.concat([i.name]));i.multiple?(r[i.name]||(r[i.name]=[]),r[i.name].push(e)):r[i.name]=e}else r[i.name]=await this.parserMap.get(i.value)(t);else 236===t.id?(this.padding+=t.len,await this.tokenizer.ignore(t.len)):(l(`parseEbml: path=${a.join("/")}, unknown element: id=${t.id.toString(16)}`),this.padding+=t.len,await this.tokenizer.ignore(t.len))}return r}async readVintData(e){const t=await this.tokenizer.peekNumber(i.UINT8);let a=128,n=1;for(;0==(t&a);){if(n>e)throw new Error("VINT value exceeding maximum size");++n,a>>=1}const s=r.alloc(n);return await this.tokenizer.readBuffer(s),s}async readElement(){const e=await this.readVintData(this.ebmlMaxIDLength),t=await this.readVintData(this.ebmlMaxSizeLength);t[0]^=128>>t.length-1;const a=Math.min(6,t.length);return{id:e.readUIntBE(0,e.length),len:t.readUIntBE(t.length-a,a)}}isMaxValue(e){if(e.length===this.ebmlMaxSizeLength){for(let t=1;t<this.ebmlMaxSizeLength;++t)if(255!==e[t])return!1;return!0}return!1}async readFloat(e){switch(e.len){case 0:return 0;case 4:return this.tokenizer.readNumber(i.Float32_BE);case 8:case 10:return this.tokenizer.readNumber(i.Float64_BE);default:throw new Error(`Invalid IEEE-754 float length: ${e.len}`)}}async readFlag(e){return 1===await this.readUint(e)}async readUint(e){const t=await this.readBuffer(e),a=Math.min(6,e.len);return t.readUIntBE(e.len-a,a)}async readString(e){return(await this.tokenizer.readToken(new i.StringType(e.len,"utf-8"))).replace(/\00.*$/g,"")}async readBuffer(e){const t=r.alloc(e.len);return await this.tokenizer.readBuffer(t),t}addTag(e,t){this.metadata.addTag("matroska",e,t)}}t.MatroskaParser=u},5481:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MatroskaTagMapper=void 0;const r=a(4132),i={"segment:title":"title","album:ARTIST":"albumartist","album:ARTISTSORT":"albumartistsort","album:TITLE":"album","album:DATE_RECORDED":"originaldate","album:PART_NUMBER":"disk","album:TOTAL_PARTS":"totaltracks","track:ARTIST":"artist","track:ARTISTSORT":"artistsort","track:TITLE":"title","track:PART_NUMBER":"track","track:MUSICBRAINZ_TRACKID":"musicbrainz_recordingid","track:MUSICBRAINZ_ALBUMID":"musicbrainz_albumid","track:MUSICBRAINZ_ARTISTID":"musicbrainz_artistid","track:PUBLISHER":"label","track:GENRE":"genre","track:ENCODER":"encodedby","track:ENCODER_OPTIONS":"encodersettings","edition:TOTAL_PARTS":"totaldiscs",picture:"picture"};class n extends r.CaseInsensitiveTagMap{constructor(){super(["matroska"],i)}}t.MatroskaTagMapper=n},8591:(e,t)=>{"use strict";var a,r,i;Object.defineProperty(t,"__esModule",{value:!0}),t.TrackType=t.TargetType=t.DataType=void 0,(i=t.DataType||(t.DataType={}))[i.string=0]="string",i[i.uint=1]="uint",i[i.uid=2]="uid",i[i.bool=3]="bool",i[i.binary=4]="binary",i[i.float=5]="float",(r=t.TargetType||(t.TargetType={}))[r.shot=10]="shot",r[r.scene=20]="scene",r[r.track=30]="track",r[r.part=40]="part",r[r.album=50]="album",r[r.edition=60]="edition",r[r.collection=70]="collection",(a=t.TrackType||(t.TrackType={}))[a.video=1]="video",a[a.audio=2]="audio",a[a.complex=3]="complex",a[a.logo=4]="logo",a[a.subtitle=17]="subtitle",a[a.button=18]="button",a[a.control=32]="control"},9134:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Atom=void 0;const r=a(1227),i=a(1060),n=(0,r.default)("music-metadata:parser:MP4:Atom");class s{constructor(e,t,a){this.header=e,this.extended=t,this.parent=a,this.children=[],this.atomPath=(this.parent?this.parent.atomPath+".":"")+this.header.name}static async readAtom(e,t,a,r){const o=e.position,c=await e.readToken(i.Header);c.length===BigInt(1)&&(c.length=await e.readToken(i.ExtendedSize));const l=new s(c,c.length===BigInt(1),a),u=l.getPayloadLength(r);return n(`parse atom name=${l.atomPath}, extended=${l.extended}, offset=${o}, len=${l.header.length}`),await l.readData(e,t,u),l}getHeaderLength(){return this.extended?16:8}getPayloadLength(e){return(this.header.length===BigInt(0)?e:Number(this.header.length))-this.getHeaderLength()}async readAtoms(e,t,a){for(;a>0;){const r=await s.readAtom(e,t,this,a);this.children.push(r),a-=r.header.length===BigInt(0)?a:Number(r.header.length)}}async readData(e,t,a){switch(this.header.name){case"moov":case"udta":case"trak":case"mdia":case"minf":case"stbl":case"<id>":case"ilst":case"tref":return this.readAtoms(e,t,this.getPayloadLength(a));case"meta":return await e.ignore(4),this.readAtoms(e,t,this.getPayloadLength(a)-4);default:return t(this,a)}}}t.Atom=s},1060:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.ChapterText=t.StcoAtom=t.StszAtom=t.StscAtom=t.SampleToChunkToken=t.SttsAtom=t.TimeToSampleToken=t.SoundSampleDescriptionV0=t.SoundSampleDescriptionVersion=t.StsdAtom=t.TrackHeaderAtom=t.NameAtom=t.DataAtom=t.MvhdAtom=t.MdhdAtom=t.FixedLengthAtom=t.mhdr=t.tkhd=t.ftyp=t.ExtendedSize=t.Header=void 0;const i=a(3416),n=a(1227),s=a(8049),o=(0,n.default)("music-metadata:parser:MP4:atom");t.Header={len:8,get:(e,t)=>{const a=i.UINT32_BE.get(e,t);if(a<0)throw new Error("Invalid atom header length");return{length:BigInt(a),name:new i.StringType(4,"binary").get(e,t+4)}},put:(e,t,a)=>(i.UINT32_BE.put(e,t,Number(a.length)),s.FourCcToken.put(e,t+4,a.name))},t.ExtendedSize=i.UINT64_BE,t.ftyp={len:4,get:(e,t)=>({type:new i.StringType(4,"ascii").get(e,t)})},t.tkhd={len:4,get:(e,t)=>({type:new i.StringType(4,"ascii").get(e,t)})},t.mhdr={len:8,get:(e,t)=>({version:i.UINT8.get(e,t),flags:i.UINT24_BE.get(e,t+1),nextItemID:i.UINT32_BE.get(e,t+4)})};class c{constructor(e,t,a){if(this.len=e,e<t)throw new Error(`Atom ${a} expected to be ${t}, but specifies ${e} bytes long.`);e>t&&o(`Warning: atom ${a} expected to be ${t}, but was actually ${e} bytes long.`)}}t.FixedLengthAtom=c;const l=(e,t)=>{const a=i.UINT32_BE.get(e,t)-2082844800;return new Date(1e3*a)};t.MdhdAtom=class extends c{constructor(e){super(e,24,"mdhd"),this.len=e}get(e,t){return{version:i.UINT8.get(e,t+0),flags:i.UINT24_BE.get(e,t+1),creationTime:l(e,t+4),modificationTime:l(e,t+8),timeScale:i.UINT32_BE.get(e,t+12),duration:i.UINT32_BE.get(e,t+16),language:i.UINT16_BE.get(e,t+20),quality:i.UINT16_BE.get(e,t+22)}}},t.MvhdAtom=class extends c{constructor(e){super(e,100,"mvhd"),this.len=e}get(e,t){return{version:i.UINT8.get(e,t),flags:i.UINT24_BE.get(e,t+1),creationTime:l(e,t+4),modificationTime:l(e,t+8),timeScale:i.UINT32_BE.get(e,t+12),duration:i.UINT32_BE.get(e,t+16),preferredRate:i.UINT32_BE.get(e,t+20),preferredVolume:i.UINT16_BE.get(e,t+24),previewTime:i.UINT32_BE.get(e,t+72),previewDuration:i.UINT32_BE.get(e,t+76),posterTime:i.UINT32_BE.get(e,t+80),selectionTime:i.UINT32_BE.get(e,t+84),selectionDuration:i.UINT32_BE.get(e,t+88),currentTime:i.UINT32_BE.get(e,t+92),nextTrackID:i.UINT32_BE.get(e,t+96)}}},t.DataAtom=class{constructor(e){this.len=e}get(e,t){return{type:{set:i.UINT8.get(e,t+0),type:i.UINT24_BE.get(e,t+1)},locale:i.UINT24_BE.get(e,t+4),value:r.from(new i.Uint8ArrayType(this.len-8).get(e,t+8))}}},t.NameAtom=class{constructor(e){this.len=e}get(e,t){return{version:i.UINT8.get(e,t),flags:i.UINT24_BE.get(e,t+1),name:new i.StringType(this.len-4,"utf-8").get(e,t+4)}}},t.TrackHeaderAtom=class{constructor(e){this.len=e}get(e,t){return{version:i.UINT8.get(e,t),flags:i.UINT24_BE.get(e,t+1),creationTime:l(e,t+4),modificationTime:l(e,t+8),trackId:i.UINT32_BE.get(e,t+12),duration:i.UINT32_BE.get(e,t+20),layer:i.UINT16_BE.get(e,t+24),alternateGroup:i.UINT16_BE.get(e,t+26),volume:i.UINT16_BE.get(e,t+28)}}};class u{constructor(e){this.len=e}get(e,t){return{dataFormat:s.FourCcToken.get(e,t),dataReferenceIndex:i.UINT16_BE.get(e,t+10),description:new i.Uint8ArrayType(this.len-12).get(e,t+12)}}}t.StsdAtom=class{constructor(e){this.len=e}get(e,t){const a=((e,t)=>({version:i.UINT8.get(e,t),flags:i.UINT24_BE.get(e,t+1),numberOfEntries:i.UINT32_BE.get(e,t+4)}))(e,t);t+=8;const r=[];for(let n=0;n<a.numberOfEntries;++n){const a=i.UINT32_BE.get(e,t);t+=i.UINT32_BE.len,r.push(new u(a).get(e,t)),t+=a}return{header:a,table:r}}},t.SoundSampleDescriptionVersion={len:8,get:(e,t)=>({version:i.INT16_BE.get(e,t),revision:i.INT16_BE.get(e,t+2),vendor:i.INT32_BE.get(e,t+4)})},t.SoundSampleDescriptionV0={len:12,get:(e,t)=>({numAudioChannels:i.INT16_BE.get(e,t+0),sampleSize:i.INT16_BE.get(e,t+2),compressionId:i.INT16_BE.get(e,t+4),packetSize:i.INT16_BE.get(e,t+6),sampleRate:i.UINT16_BE.get(e,t+8)+i.UINT16_BE.get(e,t+10)/1e4})};class d{constructor(e,t){this.len=e,this.token=t}get(e,t){const a=i.INT32_BE.get(e,t+4);return{version:i.INT8.get(e,t+0),flags:i.INT24_BE.get(e,t+1),numberOfEntries:a,entries:m(e,this.token,t+8,this.len-8,a)}}}function m(e,t,a,r,i){if(o(`remainingLen=${r}, numberOfEntries=${i} * token-len=${t.len}`),0===r)return[];if(r!==i*t.len)throw new Error("mismatch number-of-entries with remaining atom-length");const n=[];for(let r=0;r<i;++r)n.push(t.get(e,a)),a+=t.len;return n}t.TimeToSampleToken={len:8,get:(e,t)=>({count:i.INT32_BE.get(e,t+0),duration:i.INT32_BE.get(e,t+4)})},t.SttsAtom=class extends d{constructor(e){super(e,t.TimeToSampleToken),this.len=e}},t.SampleToChunkToken={len:12,get:(e,t)=>({firstChunk:i.INT32_BE.get(e,t),samplesPerChunk:i.INT32_BE.get(e,t+4),sampleDescriptionId:i.INT32_BE.get(e,t+8)})},t.StscAtom=class extends d{constructor(e){super(e,t.SampleToChunkToken),this.len=e}},t.StszAtom=class{constructor(e){this.len=e}get(e,t){const a=i.INT32_BE.get(e,t+8);return{version:i.INT8.get(e,t),flags:i.INT24_BE.get(e,t+1),sampleSize:i.INT32_BE.get(e,t+4),numberOfEntries:a,entries:m(e,i.INT32_BE,t+12,this.len-12,a)}}},t.StcoAtom=class extends d{constructor(e){super(e,i.INT32_BE),this.len=e}},t.ChapterText=class{constructor(e){this.len=e}get(e,t){const a=i.INT16_BE.get(e,t+0);return new i.StringType(a,"utf-8").get(e,t+2)}}},8841:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.MP4Parser=void 0;const i=a(1227),n=a(3416),s=a(7805),o=a(2282),c=a(6032),l=a(9134),u=a(1060),d=(0,i.default)("music-metadata:parser:MP4"),m={raw:{lossy:!1,format:"raw"},MAC3:{lossy:!0,format:"MACE 3:1"},MAC6:{lossy:!0,format:"MACE 6:1"},ima4:{lossy:!0,format:"IMA 4:1"},ulaw:{lossy:!0,format:"uLaw 2:1"},alaw:{lossy:!0,format:"uLaw 2:1"},Qclp:{lossy:!0,format:"QUALCOMM PureVoice"},".mp3":{lossy:!0,format:"MPEG-1 layer 3"},alac:{lossy:!1,format:"ALAC"},"ac-3":{lossy:!0,format:"AC-3"},mp4a:{lossy:!0,format:"MPEG-4/AAC"},mp4s:{lossy:!0,format:"MP4S"},c608:{lossy:!0,format:"CEA-608"},c708:{lossy:!0,format:"CEA-708"}};function p(e,t,a){return a.indexOf(e)===t}class f extends s.BasicParser{constructor(){super(...arguments),this.atomParsers={mvhd:async e=>{const t=await this.tokenizer.readToken(new u.MvhdAtom(e));this.metadata.setFormat("creationTime",t.creationTime),this.metadata.setFormat("modificationTime",t.modificationTime)},mdhd:async e=>{const t=await this.tokenizer.readToken(new u.MdhdAtom(e)),a=this.getTrackDescription();a.creationTime=t.creationTime,a.modificationTime=t.modificationTime,a.timeScale=t.timeScale,a.duration=t.duration},chap:async e=>{const t=this.getTrackDescription(),a=[];for(;e>=n.UINT32_BE.len;)a.push(await this.tokenizer.readNumber(n.UINT32_BE)),e-=n.UINT32_BE.len;t.chapterList=a},tkhd:async e=>{const t=await this.tokenizer.readToken(new u.TrackHeaderAtom(e));this.tracks.push(t)},mdat:async e=>{if(this.audioLengthInBytes=e,this.calculateBitRate(),this.options.includeChapters){const t=this.tracks.filter((e=>e.chapterList));if(1===t.length){const a=t[0].chapterList,r=this.tracks.filter((e=>-1!==a.indexOf(e.trackId)));if(1===r.length)return this.parseChapterTrack(r[0],t[0],e)}}await this.tokenizer.ignore(e)},ftyp:async e=>{const t=[];for(;e>0;){const a=await this.tokenizer.readToken(u.ftyp);e-=u.ftyp.len;const r=a.type.replace(/\W/g,"");r.length>0&&t.push(r)}d(`ftyp: ${t.join("/")}`);const a=t.filter(p).join("/");this.metadata.setFormat("container",a)},stsd:async e=>{const t=await this.tokenizer.readToken(new u.StsdAtom(e));this.getTrackDescription().soundSampleDescription=t.table.map((e=>this.parseSoundSampleDescription(e)))},stsc:async e=>{const t=await this.tokenizer.readToken(new u.StscAtom(e));this.getTrackDescription().sampleToChunkTable=t.entries},stts:async e=>{const t=await this.tokenizer.readToken(new u.SttsAtom(e));this.getTrackDescription().timeToSampleTable=t.entries},stsz:async e=>{const t=await this.tokenizer.readToken(new u.StszAtom(e)),a=this.getTrackDescription();a.sampleSize=t.sampleSize,a.sampleSizeTable=t.entries},stco:async e=>{const t=await this.tokenizer.readToken(new u.StcoAtom(e));this.getTrackDescription().chunkOffsetTable=t.entries},date:async e=>{const t=await this.tokenizer.readToken(new n.StringType(e,"utf-8"));this.addTag("date",t)}}}static read_BE_Integer(e,t){const a=(t?"INT":"UINT")+8*e.length+(e.length>1?"_BE":""),r=n[a];if(!r)throw new Error('Token for integer type not found: "'+a+'"');return Number(r.get(e,0))}async parse(){this.tracks=[];let e=this.tokenizer.fileInfo.size;for(;!this.tokenizer.fileInfo.size||e>0;){try{if("\0\0\0\0"===(await this.tokenizer.peekToken(u.Header)).name){const e=`Error at offset=${this.tokenizer.position}: box.id=0`;d(e),this.addWarning(e);break}}catch(e){const t=`Error at offset=${this.tokenizer.position}: ${e.message}`;d(t),this.addWarning(t);break}const t=await l.Atom.readAtom(this.tokenizer,((e,t)=>this.handleAtom(e,t)),null,e);e-=t.header.length===BigInt(0)?e:Number(t.header.length)}const t=[];this.tracks.forEach((e=>{const a=[];e.soundSampleDescription.forEach((e=>{const t={},r=m[e.dataFormat];if(r?(a.push(r.format),t.codecName=r.format):t.codecName=`<${e.dataFormat}>`,e.description){const{description:a}=e;a.sampleRate>0&&(t.type=c.TrackType.audio,t.audio={samplingFrequency:a.sampleRate,bitDepth:a.sampleSize,channels:a.numAudioChannels})}this.metadata.addStreamInfo(t)})),a.length>=1&&t.push(a.join("/"))})),t.length>0&&this.metadata.setFormat("codec",t.filter(p).join("+"));const a=this.tracks.filter((e=>e.soundSampleDescription.length>=1&&e.soundSampleDescription[0].description&&e.soundSampleDescription[0].description.numAudioChannels>0));if(a.length>=1){const e=a[0],t=e.duration/e.timeScale;this.metadata.setFormat("duration",t);const r=e.soundSampleDescription[0];r.description&&(this.metadata.setFormat("sampleRate",r.description.sampleRate),this.metadata.setFormat("bitsPerSample",r.description.sampleSize),this.metadata.setFormat("numberOfChannels",r.description.numAudioChannels));const i=m[r.dataFormat];i&&this.metadata.setFormat("lossless",!i.lossy),this.calculateBitRate()}}async handleAtom(e,t){if(e.parent)switch(e.parent.header.name){case"ilst":case"<id>":return this.parseMetadataItemData(e)}if(this.atomParsers[e.header.name])return this.atomParsers[e.header.name](t);d(`No parser for atom path=${e.atomPath}, payload-len=${t}, ignoring atom`),await this.tokenizer.ignore(t)}getTrackDescription(){return this.tracks[this.tracks.length-1]}calculateBitRate(){this.audioLengthInBytes&&this.metadata.format.duration&&this.metadata.setFormat("bitrate",8*this.audioLengthInBytes/this.metadata.format.duration)}addTag(e,t){this.metadata.addTag("iTunes",e,t)}addWarning(e){d("Warning: "+e),this.metadata.addWarning(e)}parseMetadataItemData(e){let t=e.header.name;return e.readAtoms(this.tokenizer,(async(e,a)=>{const r=e.getPayloadLength(a);switch(e.header.name){case"data":return this.parseValueAtom(t,e);case"name":const a=await this.tokenizer.readToken(new u.NameAtom(r));t+=":"+a.name;break;case"mean":const i=await this.tokenizer.readToken(new u.NameAtom(r));t+=":"+i.name;break;default:const s=await this.tokenizer.readToken(new n.BufferType(r));this.addWarning("Unsupported meta-item: "+t+"["+e.header.name+"] => value="+s.toString("hex")+" ascii="+s.toString("ascii"))}}),e.getPayloadLength(0))}async parseValueAtom(e,t){const a=await this.tokenizer.readToken(new u.DataAtom(Number(t.header.length)-u.Header.len));if(0!==a.type.set)throw new Error("Unsupported type-set != 0: "+a.type.set);switch(a.type.type){case 0:switch(e){case"trkn":case"disk":const t=n.UINT8.get(a.value,3),r=n.UINT8.get(a.value,5);this.addTag(e,t+"/"+r);break;case"gnre":const i=n.UINT8.get(a.value,1),s=o.Genres[i-1];this.addTag(e,s)}break;case 1:case 18:this.addTag(e,a.value.toString("utf-8"));break;case 13:if(this.options.skipCovers)break;this.addTag(e,{format:"image/jpeg",data:r.from(a.value)});break;case 14:if(this.options.skipCovers)break;this.addTag(e,{format:"image/png",data:r.from(a.value)});break;case 21:this.addTag(e,f.read_BE_Integer(a.value,!0));break;case 22:this.addTag(e,f.read_BE_Integer(a.value,!1));break;case 65:this.addTag(e,a.value.readInt8(0));break;case 66:this.addTag(e,a.value.readInt16BE(0));break;case 67:this.addTag(e,a.value.readInt32BE(0));break;default:this.addWarning(`atom key=${e}, has unknown well-known-type (data-type): ${a.type.type}`)}}parseSoundSampleDescription(e){const t={dataFormat:e.dataFormat,dataReferenceIndex:e.dataReferenceIndex};let a=0;const r=u.SoundSampleDescriptionVersion.get(e.description,a);return a+=u.SoundSampleDescriptionVersion.len,0===r.version||1===r.version?t.description=u.SoundSampleDescriptionV0.get(e.description,a):d(`Warning: sound-sample-description ${r} not implemented`),t}async parseChapterTrack(e,t,a){if(!e.sampleSize&&e.chunkOffsetTable.length!==e.sampleSizeTable.length)throw new Error("Expected equal chunk-offset-table & sample-size-table length.");const r=[];for(let i=0;i<e.chunkOffsetTable.length&&a>0;++i){const n=e.chunkOffsetTable[i]-this.tokenizer.position,s=e.sampleSize>0?e.sampleSize:e.sampleSizeTable[i];if((a-=n+s)<0)throw new Error("Chapter chunk exceeding token length");await this.tokenizer.ignore(n);const o=await this.tokenizer.readToken(new u.ChapterText(s));d(`Chapter ${i+1}: ${o}`);const c={title:o,sampleOffset:this.findSampleOffset(t,this.tokenizer.position)};d(`Chapter title=${c.title}, offset=${c.sampleOffset}/${this.tracks[0].duration}`),r.push(c)}this.metadata.setFormat("chapters",r),await this.tokenizer.ignore(a)}findSampleOffset(e,t){let a=0;e.timeToSampleTable.forEach((e=>{a+=e.count*e.duration})),d(`Total duration=${a}`);let r=0;for(;r<e.chunkOffsetTable.length&&e.chunkOffsetTable[r]<t;)++r;return this.getChunkDuration(r+1,e)}getChunkDuration(e,t){let a=0,r=t.timeToSampleTable[a].count,i=t.timeToSampleTable[a].duration,n=1,s=this.getSamplesPerChunk(n,t.sampleToChunkTable),o=0;for(;n<e;){const e=Math.min(r,s);o+=e*i,r-=e,s-=e,0===s?(++n,s=this.getSamplesPerChunk(n,t.sampleToChunkTable)):(++a,r=t.timeToSampleTable[a].count,i=t.timeToSampleTable[a].duration)}return o}getSamplesPerChunk(e,t){for(let a=0;a<t.length-1;++a)if(e>=t[a].firstChunk&&e<t[a+1].firstChunk)return t[a].samplesPerChunk;return t[t.length-1].samplesPerChunk}}t.MP4Parser=f},7852:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MP4TagMapper=t.tagType=void 0;const r=a(4132),i={"©nam":"title","©ART":"artist",aART:"albumartist","----:com.apple.iTunes:Band":"albumartist","©alb":"album","©day":"date","©cmt":"comment","©com":"comment",trkn:"track",disk:"disk","©gen":"genre",covr:"picture","©wrt":"composer","©lyr":"lyrics",soal:"albumsort",sonm:"titlesort",soar:"artistsort",soaa:"albumartistsort",soco:"composersort","----:com.apple.iTunes:LYRICIST":"lyricist","----:com.apple.iTunes:CONDUCTOR":"conductor","----:com.apple.iTunes:REMIXER":"remixer","----:com.apple.iTunes:ENGINEER":"engineer","----:com.apple.iTunes:PRODUCER":"producer","----:com.apple.iTunes:DJMIXER":"djmixer","----:com.apple.iTunes:MIXER":"mixer","----:com.apple.iTunes:LABEL":"label","©grp":"grouping","----:com.apple.iTunes:SUBTITLE":"subtitle","----:com.apple.iTunes:DISCSUBTITLE":"discsubtitle",cpil:"compilation",tmpo:"bpm","----:com.apple.iTunes:MOOD":"mood","----:com.apple.iTunes:MEDIA":"media","----:com.apple.iTunes:CATALOGNUMBER":"catalognumber",tvsh:"tvShow",tvsn:"tvSeason",tves:"tvEpisode",sosn:"tvShowSort",tven:"tvEpisodeId",tvnn:"tvNetwork",pcst:"podcast",purl:"podcasturl","----:com.apple.iTunes:MusicBrainz Album Status":"releasestatus","----:com.apple.iTunes:MusicBrainz Album Type":"releasetype","----:com.apple.iTunes:MusicBrainz Album Release Country":"releasecountry","----:com.apple.iTunes:SCRIPT":"script","----:com.apple.iTunes:LANGUAGE":"language",cprt:"copyright","©cpy":"copyright","----:com.apple.iTunes:LICENSE":"license","©too":"encodedby",pgap:"gapless","----:com.apple.iTunes:BARCODE":"barcode","----:com.apple.iTunes:ISRC":"isrc","----:com.apple.iTunes:ASIN":"asin","----:com.apple.iTunes:NOTES":"comment","----:com.apple.iTunes:MusicBrainz Track Id":"musicbrainz_recordingid","----:com.apple.iTunes:MusicBrainz Release Track Id":"musicbrainz_trackid","----:com.apple.iTunes:MusicBrainz Album Id":"musicbrainz_albumid","----:com.apple.iTunes:MusicBrainz Artist Id":"musicbrainz_artistid","----:com.apple.iTunes:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","----:com.apple.iTunes:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","----:com.apple.iTunes:MusicBrainz Work Id":"musicbrainz_workid","----:com.apple.iTunes:MusicBrainz TRM Id":"musicbrainz_trmid","----:com.apple.iTunes:MusicBrainz Disc Id":"musicbrainz_discid","----:com.apple.iTunes:Acoustid Id":"acoustid_id","----:com.apple.iTunes:Acoustid Fingerprint":"acoustid_fingerprint","----:com.apple.iTunes:MusicIP PUID":"musicip_puid","----:com.apple.iTunes:fingerprint":"musicip_fingerprint","----:com.apple.iTunes:replaygain_track_gain":"replaygain_track_gain","----:com.apple.iTunes:replaygain_track_peak":"replaygain_track_peak","----:com.apple.iTunes:replaygain_album_gain":"replaygain_album_gain","----:com.apple.iTunes:replaygain_album_peak":"replaygain_album_peak","----:com.apple.iTunes:replaygain_track_minmax":"replaygain_track_minmax","----:com.apple.iTunes:replaygain_album_minmax":"replaygain_album_minmax","----:com.apple.iTunes:replaygain_undo":"replaygain_undo",gnre:"genre","----:com.apple.iTunes:ALBUMARTISTSORT":"albumartistsort","----:com.apple.iTunes:ARTISTS":"artists","----:com.apple.iTunes:ORIGINALDATE":"originaldate","----:com.apple.iTunes:ORIGINALYEAR":"originalyear",desc:"description",ldes:"longDescription","©mvn":"movement","©mvi":"movementIndex","©mvc":"movementTotal","©wrk":"work",catg:"category",egid:"podcastId",hdvd:"hdVideo",keyw:"keywords",shwm:"showMovement",stik:"stik"};t.tagType="iTunes";class n extends r.CaseInsensitiveTagMap{constructor(){super([t.tagType],i)}}t.MP4TagMapper=n},5261:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedLameHeader=void 0;const r=a(3416),i=a(3769),n=a(6118);t.ExtendedLameHeader={len:27,get:(e,t)=>{const a=r.UINT32_BE.get(e,t+2);return{revision:i.getBitAllignedNumber(e,t,0,4),vbr_method:i.getBitAllignedNumber(e,t,4,4),lowpass_filter:100*r.UINT8.get(e,t+1),track_peak:0===a?void 0:a/Math.pow(2,23),track_gain:n.ReplayGain.get(e,6),album_gain:n.ReplayGain.get(e,8),music_length:r.UINT32_BE.get(e,t+20),music_crc:r.UINT8.get(e,t+24),header_crc:r.UINT16_BE.get(e,t+24)}}}},60:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.MpegParser=void 0;const i=a(3416),n=a(5849),s=a(1227),o=a(3769),c=a(5159),l=a(3566),u=(0,s.default)("music-metadata:parser:mpeg"),d={AudioObjectTypes:["AAC Main","AAC LC","AAC SSR","AAC LTP"],SamplingFrequencies:[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,void 0,void 0,-1]},m=[void 0,["front-center"],["front-left","front-right"],["front-center","front-left","front-right"],["front-center","front-left","front-right","back-center"],["front-center","front-left","front-right","back-left","back-right"],["front-center","front-left","front-right","back-left","back-right","LFE-channel"],["front-center","front-left","front-right","side-left","side-right","back-left","back-right","LFE-channel"]];class p{constructor(e,t){this.versionIndex=o.getBitAllignedNumber(e,t+1,3,2),this.layer=p.LayerDescription[o.getBitAllignedNumber(e,t+1,5,2)],this.versionIndex>1&&0===this.layer?this.parseAdtsHeader(e,t):this.parseMpegHeader(e,t),this.isProtectedByCRC=!o.isBitSet(e,t+1,7)}calcDuration(e){return e*this.calcSamplesPerFrame()/this.samplingRate}calcSamplesPerFrame(){return p.samplesInFrameTable[1===this.version?0:1][this.layer]}calculateSideInfoLength(){if(3!==this.layer)return 2;if(3===this.channelModeIndex){if(1===this.version)return 17;if(2===this.version||2.5===this.version)return 9}else{if(1===this.version)return 32;if(2===this.version||2.5===this.version)return 17}}calcSlotSize(){return[null,4,1,1][this.layer]}parseMpegHeader(e,t){this.container="MPEG",this.bitrateIndex=o.getBitAllignedNumber(e,t+2,0,4),this.sampRateFreqIndex=o.getBitAllignedNumber(e,t+2,4,2),this.padding=o.isBitSet(e,t+2,6),this.privateBit=o.isBitSet(e,t+2,7),this.channelModeIndex=o.getBitAllignedNumber(e,t+3,0,2),this.modeExtension=o.getBitAllignedNumber(e,t+3,2,2),this.isCopyrighted=o.isBitSet(e,t+3,4),this.isOriginalMedia=o.isBitSet(e,t+3,5),this.emphasis=o.getBitAllignedNumber(e,t+3,7,2),this.version=p.VersionID[this.versionIndex],this.channelMode=p.ChannelMode[this.channelModeIndex],this.codec=`MPEG ${this.version} Layer ${this.layer}`;const a=this.calcBitrate();if(!a)throw new Error("Cannot determine bit-rate");if(this.bitrate=1e3*a,this.samplingRate=this.calcSamplingRate(),null==this.samplingRate)throw new Error("Cannot determine sampling-rate")}parseAdtsHeader(e,t){u("layer=0 => ADTS"),this.version=2===this.versionIndex?4:2,this.container="ADTS/MPEG-"+this.version;const a=o.getBitAllignedNumber(e,t+2,0,2);this.codec="AAC",this.codecProfile=d.AudioObjectTypes[a],u(`MPEG-4 audio-codec=${this.codec}`);const r=o.getBitAllignedNumber(e,t+2,2,4);this.samplingRate=d.SamplingFrequencies[r],u(`sampling-rate=${this.samplingRate}`);const i=o.getBitAllignedNumber(e,t+2,7,3);this.mp4ChannelConfig=m[i],u(`channel-config=${this.mp4ChannelConfig.join("+")}`),this.frameLength=o.getBitAllignedNumber(e,t+3,6,2)<<11}calcBitrate(){if(0===this.bitrateIndex||15===this.bitrateIndex)return;const e=`${Math.floor(this.version)}${this.layer}`;return p.bitrate_index[this.bitrateIndex][e]}calcSamplingRate(){return 3===this.sampRateFreqIndex?null:p.sampling_rate_freq_index[this.version][this.sampRateFreqIndex]}}p.SyncByte1=255,p.SyncByte2=224,p.VersionID=[2.5,null,2,1],p.LayerDescription=[0,3,2,1],p.ChannelMode=["stereo","joint_stereo","dual_channel","mono"],p.bitrate_index={1:{11:32,12:32,13:32,21:32,22:8,23:8},2:{11:64,12:48,13:40,21:48,22:16,23:16},3:{11:96,12:56,13:48,21:56,22:24,23:24},4:{11:128,12:64,13:56,21:64,22:32,23:32},5:{11:160,12:80,13:64,21:80,22:40,23:40},6:{11:192,12:96,13:80,21:96,22:48,23:48},7:{11:224,12:112,13:96,21:112,22:56,23:56},8:{11:256,12:128,13:112,21:128,22:64,23:64},9:{11:288,12:160,13:128,21:144,22:80,23:80},10:{11:320,12:192,13:160,21:160,22:96,23:96},11:{11:352,12:224,13:192,21:176,22:112,23:112},12:{11:384,12:256,13:224,21:192,22:128,23:128},13:{11:416,12:320,13:256,21:224,22:144,23:144},14:{11:448,12:384,13:320,21:256,22:160,23:160}},p.sampling_rate_freq_index={1:{0:44100,1:48e3,2:32e3},2:{0:22050,1:24e3,2:16e3},2.5:{0:11025,1:12e3,2:8e3}},p.samplesInFrameTable=[[0,384,1152,1152],[0,384,1152,576]];class f extends c.AbstractID3Parser{constructor(){super(...arguments),this.frameCount=0,this.syncFrameCount=-1,this.countSkipFrameData=0,this.totalDataLength=0,this.bitrates=[],this.calculateEofDuration=!1,this.buf_frame_header=r.alloc(4),this.syncPeek={buf:r.alloc(1024),len:0}}async postId3v2Parse(){this.metadata.setFormat("lossless",!1);try{let e=!1;for(;!e;)await this.sync(),e=await this.parseCommonMpegHeader()}catch(e){if(!(e instanceof n.EndOfStreamError))throw e;if(u("End-of-stream"),this.calculateEofDuration){const e=this.frameCount*this.samplesPerFrame;this.metadata.setFormat("numberOfSamples",e);const t=e/this.metadata.format.sampleRate;u(`Calculate duration at EOF: ${t} sec.`,t),this.metadata.setFormat("duration",t)}}}finalize(){const e=this.metadata.format,t=this.metadata.native.hasOwnProperty("ID3v1");if(e.duration&&this.tokenizer.fileInfo.size){const a=this.tokenizer.fileInfo.size-this.mpegOffset-(t?128:0);e.codecProfile&&"V"===e.codecProfile[0]&&this.metadata.setFormat("bitrate",8*a/e.duration)}else if(this.tokenizer.fileInfo.size&&"CBR"===e.codecProfile){const a=this.tokenizer.fileInfo.size-this.mpegOffset-(t?128:0),r=Math.round(a/this.frame_size)*this.samplesPerFrame;this.metadata.setFormat("numberOfSamples",r);const i=r/e.sampleRate;u("Calculate CBR duration based on file size: %s",i),this.metadata.setFormat("duration",i)}}async sync(){let e=!1;for(;;){let t=0;if(this.syncPeek.len=await this.tokenizer.peekBuffer(this.syncPeek.buf,{length:1024,mayBeLess:!0}),this.syncPeek.len<=163)throw new n.EndOfStreamError;for(;;){if(e&&224==(224&this.syncPeek.buf[t]))return this.buf_frame_header[0]=p.SyncByte1,this.buf_frame_header[1]=this.syncPeek.buf[t],await this.tokenizer.ignore(t),u(`Sync at offset=${this.tokenizer.position-1}, frameCount=${this.frameCount}`),this.syncFrameCount===this.frameCount&&(u(`Re-synced MPEG stream, frameCount=${this.frameCount}`),this.frameCount=0,this.frame_size=0),void(this.syncFrameCount=this.frameCount);if(e=!1,t=this.syncPeek.buf.indexOf(p.SyncByte1,t),-1===t){if(this.syncPeek.len<this.syncPeek.buf.length)throw new n.EndOfStreamError;await this.tokenizer.ignore(this.syncPeek.len);break}++t,e=!0}}}async parseCommonMpegHeader(){let e;0===this.frameCount&&(this.mpegOffset=this.tokenizer.position-1),await this.tokenizer.peekBuffer(this.buf_frame_header,{offset:1,length:3});try{t=this.buf_frame_header,e=new p(t,0)}catch(e){return await this.tokenizer.ignore(1),this.metadata.addWarning("Parse error: "+e.message),!1}var t;return await this.tokenizer.ignore(3),this.metadata.setFormat("container",e.container),this.metadata.setFormat("codec",e.codec),this.metadata.setFormat("lossless",!1),this.metadata.setFormat("sampleRate",e.samplingRate),this.frameCount++,e.version>=2&&0===e.layer?this.parseAdts(e):this.parseAudioFrameHeader(e)}async parseAudioFrameHeader(e){this.metadata.setFormat("numberOfChannels","mono"===e.channelMode?1:2),this.metadata.setFormat("bitrate",e.bitrate),this.frameCount<2e5&&u("offset=%s MP%s bitrate=%s sample-rate=%s",this.tokenizer.position-4,e.layer,e.bitrate,e.samplingRate);const t=e.calcSlotSize();if(null===t)throw new Error("invalid slot_size");const a=e.calcSamplesPerFrame();u(`samples_per_frame=${a}`);const r=a/8*e.bitrate/e.samplingRate+(e.padding?t:0);if(this.frame_size=Math.floor(r),this.audioFrameHeader=e,this.bitrates.push(e.bitrate),1===this.frameCount)return this.offset=4,await this.skipSideInformation(),!1;if(3===this.frameCount){if(this.areAllSame(this.bitrates)){if(this.samplesPerFrame=a,this.metadata.setFormat("codecProfile","CBR"),this.tokenizer.fileInfo.size)return!0}else if(this.metadata.format.duration)return!0;if(!this.options.duration)return!0}return this.options.duration&&4===this.frameCount&&(this.samplesPerFrame=a,this.calculateEofDuration=!0),this.offset=4,e.isProtectedByCRC?(await this.parseCrc(),!1):(await this.skipSideInformation(),!1)}async parseAdts(e){const t=r.alloc(3);await this.tokenizer.readBuffer(t),e.frameLength+=o.getBitAllignedNumber(t,0,0,11),this.totalDataLength+=e.frameLength,this.samplesPerFrame=1024;const a=e.samplingRate/this.samplesPerFrame,i=8*(0===this.frameCount?0:this.totalDataLength/this.frameCount)*a+.5;if(this.metadata.setFormat("bitrate",i),u(`frame-count=${this.frameCount}, size=${e.frameLength} bytes, bit-rate=${i}`),await this.tokenizer.ignore(e.frameLength>7?e.frameLength-7:1),3===this.frameCount){if(this.metadata.setFormat("codecProfile",e.codecProfile),e.mp4ChannelConfig&&this.metadata.setFormat("numberOfChannels",e.mp4ChannelConfig.length),!this.options.duration)return!0;this.calculateEofDuration=!0}return!1}async parseCrc(){return this.crc=await this.tokenizer.readNumber(i.INT16_BE),this.offset+=2,this.skipSideInformation()}async skipSideInformation(){const e=this.audioFrameHeader.calculateSideInfoLength();await this.tokenizer.readToken(new i.Uint8ArrayType(e)),this.offset+=e,await this.readXtraInfoHeader()}async readXtraInfoHeader(){const e=await this.tokenizer.readToken(l.InfoTagHeaderTag);switch(this.offset+=l.InfoTagHeaderTag.len,e){case"Info":return this.metadata.setFormat("codecProfile","CBR"),this.readXingInfoHeader();case"Xing":const e=(t=(await this.readXingInfoHeader()).vbrScale,"V"+Math.floor((100-t)/10));return this.metadata.setFormat("codecProfile",e),null;case"Xtra":break;case"LAME":const a=await this.tokenizer.readToken(l.LameEncoderVersion);if(this.frame_size>=this.offset+l.LameEncoderVersion.len)return this.offset+=l.LameEncoderVersion.len,this.metadata.setFormat("tool","LAME "+a),await this.skipFrameData(this.frame_size-this.offset),null;this.metadata.addWarning("Corrupt LAME header")}var t;const a=this.frame_size-this.offset;return a<0?this.metadata.addWarning("Frame "+this.frameCount+"corrupt: negative frameDataLeft"):await this.skipFrameData(a),null}async readXingInfoHeader(){const e=this.tokenizer.position,t=await(0,l.readXingHeader)(this.tokenizer);if(this.offset+=this.tokenizer.position-e,t.lame&&(this.metadata.setFormat("tool","LAME "+o.stripNulls(t.lame.version)),t.lame.extended&&(this.metadata.setFormat("trackPeakLevel",t.lame.extended.track_peak),t.lame.extended.track_gain&&this.metadata.setFormat("trackGain",t.lame.extended.track_gain.adjustment),t.lame.extended.album_gain&&this.metadata.setFormat("albumGain",t.lame.extended.album_gain.adjustment),this.metadata.setFormat("duration",t.lame.extended.music_length/1e3))),t.streamSize){const e=this.audioFrameHeader.calcDuration(t.numFrames);return this.metadata.setFormat("duration",e),u("Get duration from Xing header: %s",this.metadata.format.duration),t}const a=this.frame_size-this.offset;return await this.skipFrameData(a),t}async skipFrameData(e){if(e<0)throw new Error("frame-data-left cannot be negative");await this.tokenizer.ignore(e),this.countSkipFrameData+=e}areAllSame(e){const t=e[0];return e.every((e=>e===t))}}t.MpegParser=f},6118:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReplayGain=void 0;const r=a(3769);var i,n;!function(e){e[e.not_set=0]="not_set",e[e.radio=1]="radio",e[e.audiophile=2]="audiophile"}(i||(i={})),function(e){e[e.unspecified=0]="unspecified",e[e.engineer=1]="engineer",e[e.user=2]="user",e[e.automatic=3]="automatic",e[e.rms_average=4]="rms_average"}(n||(n={})),t.ReplayGain={len:2,get:(e,t)=>{const a=r.getBitAllignedNumber(e,t,0,3),i=r.getBitAllignedNumber(e,t,6,1),n=r.getBitAllignedNumber(e,t,7,9)/10;if(a>0)return{type:r.getBitAllignedNumber(e,t,0,3),origin:r.getBitAllignedNumber(e,t,3,3),adjustment:i?-n:n}}}},3566:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.readXingHeader=t.XingHeaderFlags=t.LameEncoderVersion=t.InfoTagHeaderTag=void 0;const i=a(3416),n=a(3769),s=a(5261);t.InfoTagHeaderTag=new i.StringType(4,"ascii"),t.LameEncoderVersion=new i.StringType(6,"ascii"),t.XingHeaderFlags={len:4,get:(e,t)=>({frames:n.isBitSet(e,t,31),bytes:n.isBitSet(e,t,30),toc:n.isBitSet(e,t,29),vbrScale:n.isBitSet(e,t,28)})},t.readXingHeader=async function(e){const a=await e.readToken(t.XingHeaderFlags),n={};if(a.frames&&(n.numFrames=await e.readToken(i.UINT32_BE)),a.bytes&&(n.streamSize=await e.readToken(i.UINT32_BE)),a.toc&&(n.toc=r.alloc(100),await e.readBuffer(n.toc)),a.vbrScale&&(n.vbrScale=await e.readToken(i.UINT32_BE)),"LAME"===await e.peekToken(new i.StringType(4,"ascii"))&&(await e.ignore(4),n.lame={version:await e.readToken(new i.StringType(5,"ascii"))},n.lame.version.match(/\d+.\d+/g))){const t=n.lame.version.match(/\d+.\d+/g)[0].split(".").map((e=>parseInt(e,10)));t[0]>=3&&t[1]>=90&&(n.lame.extended=await e.readToken(s.ExtendedLameHeader))}return n}},9606:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=a(1227),i=a(3416),n=a(5159),s=a(5170),o=a(3928),c=(0,r.default)("music-metadata:parser:musepack");class l extends n.AbstractID3Parser{async postId3v2Parse(){let e;switch(await this.tokenizer.peekToken(new i.StringType(3,"binary"))){case"MP+":c("Musepack stream-version 7"),e=new o.MpcSv7Parser;break;case"MPC":c("Musepack stream-version 8"),e=new s.MpcSv8Parser;break;default:throw new Error("Invalid Musepack signature prefix")}return e.init(this.metadata,this.tokenizer,this.options),e.parse()}}t.default=l},2812:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BitReader=void 0;const r=a(3416);t.BitReader=class{constructor(e){this.tokenizer=e,this.pos=0,this.dword=void 0}async read(e){for(;void 0===this.dword;)this.dword=await this.tokenizer.readToken(r.UINT32_LE);let t=this.dword;return this.pos+=e,this.pos<32?(t>>>=32-this.pos,t&(1<<e)-1):(this.pos-=32,0===this.pos?(this.dword=void 0,t&(1<<e)-1):(this.dword=await this.tokenizer.readToken(r.UINT32_LE),this.pos&&(t<<=this.pos,t|=this.dword>>>32-this.pos),t&(1<<e)-1))}async ignore(e){if(this.pos>0){const t=32-this.pos;this.dword=void 0,e-=t,this.pos=0}const t=e%32,a=(e-t)/32;return await this.tokenizer.ignore(4*a),this.read(t)}}},3928:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MpcSv7Parser=void 0;const r=a(1227),i=a(7805),n=a(6742),s=a(2812),o=a(8153),c=(0,r.default)("music-metadata:parser:musepack");class l extends i.BasicParser{constructor(){super(...arguments),this.audioLength=0}async parse(){const e=await this.tokenizer.readToken(o.Header);if("MP+"!==e.signature)throw new Error("Unexpected magic number");c(`stream-version=${e.streamMajorVersion}.${e.streamMinorVersion}`),this.metadata.setFormat("container","Musepack, SV7"),this.metadata.setFormat("sampleRate",e.sampleFrequency);const t=1152*(e.frameCount-1)+e.lastFrameLength;this.metadata.setFormat("numberOfSamples",t),this.duration=t/e.sampleFrequency,this.metadata.setFormat("duration",this.duration),this.bitreader=new s.BitReader(this.tokenizer),this.metadata.setFormat("numberOfChannels",e.midSideStereo||e.intensityStereo?2:1);const a=await this.bitreader.read(8);return this.metadata.setFormat("codec",(a/100).toFixed(2)),await this.skipAudioData(e.frameCount),c(`End of audio stream, switching to APEv2, offset=${this.tokenizer.position}`),n.APEv2Parser.tryParseApeHeader(this.metadata,this.tokenizer,this.options)}async skipAudioData(e){for(;e-- >0;){const e=await this.bitreader.read(20);this.audioLength+=20+e,await this.bitreader.ignore(e)}const t=await this.bitreader.read(11);this.audioLength+=t,this.metadata.setFormat("bitrate",this.audioLength/this.duration)}}t.MpcSv7Parser=l},8153:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.Header=void 0;const i=a(3416),n=a(3769);t.Header={len:24,get:(e,t)=>{const a={signature:r.from(e).toString("latin1",t,t+3),streamMinorVersion:n.getBitAllignedNumber(e,t+3,0,4),streamMajorVersion:n.getBitAllignedNumber(e,t+3,4,4),frameCount:i.UINT32_LE.get(e,t+4),maxLevel:i.UINT16_LE.get(e,t+8),sampleFrequency:[44100,48e3,37800,32e3][n.getBitAllignedNumber(e,t+10,0,2)],link:n.getBitAllignedNumber(e,t+10,2,2),profile:n.getBitAllignedNumber(e,t+10,4,4),maxBand:n.getBitAllignedNumber(e,t+11,0,6),intensityStereo:n.isBitSet(e,t+11,6),midSideStereo:n.isBitSet(e,t+11,7),titlePeak:i.UINT16_LE.get(e,t+12),titleGain:i.UINT16_LE.get(e,t+14),albumPeak:i.UINT16_LE.get(e,t+16),albumGain:i.UINT16_LE.get(e,t+18),lastFrameLength:i.UINT32_LE.get(e,t+20)>>>20&2047,trueGapless:n.isBitSet(e,t+23,0)};return a.lastFrameLength=a.trueGapless?i.UINT32_LE.get(e,20)>>>20&2047:0,a}}},5170:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MpcSv8Parser=void 0;const r=a(1227),i=a(7805),n=a(6742),s=a(8049),o=a(8850),c=(0,r.default)("music-metadata:parser:musepack");class l extends i.BasicParser{constructor(){super(...arguments),this.audioLength=0}async parse(){if("MPCK"!==await this.tokenizer.readToken(s.FourCcToken))throw new Error("Invalid Magic number");return this.metadata.setFormat("container","Musepack, SV8"),this.parsePacket()}async parsePacket(){const e=new o.StreamReader(this.tokenizer);for(;;){const t=await e.readPacketHeader();switch(c(`packet-header key=${t.key}, payloadLength=${t.payloadLength}`),t.key){case"SH":const a=await e.readStreamHeader(t.payloadLength);this.metadata.setFormat("numberOfSamples",a.sampleCount),this.metadata.setFormat("sampleRate",a.sampleFrequency),this.metadata.setFormat("duration",a.sampleCount/a.sampleFrequency),this.metadata.setFormat("numberOfChannels",a.channelCount);break;case"AP":this.audioLength+=t.payloadLength,await this.tokenizer.ignore(t.payloadLength);break;case"RG":case"EI":case"SO":case"ST":case"CT":await this.tokenizer.ignore(t.payloadLength);break;case"SE":return this.metadata.setFormat("bitrate",8*this.audioLength/this.metadata.format.duration),n.APEv2Parser.tryParseApeHeader(this.metadata,this.tokenizer,this.options);default:throw new Error(`Unexpected header: ${t.key}`)}}}}t.MpcSv8Parser=l},8850:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamReader=void 0;const r=a(3416),i=a(1227),n=a(3769),s=(0,i.default)("music-metadata:parser:musepack:sv8"),o=new r.StringType(2,"binary"),c={len:5,get:(e,t)=>({crc:r.UINT32_LE.get(e,t),streamVersion:r.UINT8.get(e,t+4)})},l={len:2,get:(e,t)=>({sampleFrequency:[44100,48e3,37800,32e3][n.getBitAllignedNumber(e,t,0,3)],maxUsedBands:n.getBitAllignedNumber(e,t,3,5),channelCount:n.getBitAllignedNumber(e,t+1,0,4)+1,msUsed:n.isBitSet(e,t+1,4),audioBlockFrames:n.getBitAllignedNumber(e,t+1,5,3)})};t.StreamReader=class{constructor(e){this.tokenizer=e}async readPacketHeader(){const e=await this.tokenizer.readToken(o),t=await this.readVariableSizeField();return{key:e,payloadLength:t.value-2-t.len}}async readStreamHeader(e){const t={};s(`Reading SH at offset=${this.tokenizer.position}`);const a=await this.tokenizer.readToken(c);e-=c.len,Object.assign(t,a),s(`SH.streamVersion = ${a.streamVersion}`);const r=await this.readVariableSizeField();e-=r.len,t.sampleCount=r.value;const i=await this.readVariableSizeField();e-=i.len,t.beginningOfSilence=i.value;const n=await this.tokenizer.readToken(l);return e-=l.len,Object.assign(t,n),await this.tokenizer.ignore(e),t}async readVariableSizeField(e=1,t=0){let a=await this.tokenizer.readNumber(r.UINT8);return 0==(128&a)?{len:e,value:t+a}:(a&=127,a+=t,this.readVariableSizeField(e+1,a<<7))}}},2152:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.OggParser=t.SegmentTable=void 0;const i=a(3416),n=a(5849),s=a(1227),o=a(3769),c=a(8049),l=a(7805),u=a(4210),d=a(1272),m=a(573),p=a(2630),f=(0,s.default)("music-metadata:parser:ogg");class h{constructor(e){this.len=e.page_segments}static sum(e,t,a){let r=0;for(let i=t;i<t+a;++i)r+=e[i];return r}get(e,t){return{totalPageSize:h.sum(e,t,this.len)}}}t.SegmentTable=h;class g extends l.BasicParser{async parse(){f("pos=%s, parsePage()",this.tokenizer.position);try{let e;do{if(e=await this.tokenizer.readToken(g.Header),"OggS"!==e.capturePattern)throw new Error("Invalid Ogg capture pattern");this.metadata.setFormat("container","Ogg"),this.header=e,this.pageNumber=e.pageSequenceNo,f("page#=%s, Ogg.id=%s",e.pageSequenceNo,e.capturePattern);const t=await this.tokenizer.readToken(new h(e));f("totalPageSize=%s",t.totalPageSize);const a=await this.tokenizer.readToken(new i.Uint8ArrayType(t.totalPageSize));if(f("firstPage=%s, lastPage=%s, continued=%s",e.headerType.firstPage,e.headerType.lastPage,e.headerType.continued),e.headerType.firstPage){const e=new i.StringType(7,"ascii").get(r.from(a),0);switch(e){case"vorbis":f("Set page consumer to Ogg/Vorbis"),this.pageConsumer=new u.VorbisParser(this.metadata,this.options);break;case"OpusHea":f("Set page consumer to Ogg/Opus"),this.pageConsumer=new d.OpusParser(this.metadata,this.options,this.tokenizer);break;case"Speex ":f("Set page consumer to Ogg/Speex"),this.pageConsumer=new m.SpeexParser(this.metadata,this.options,this.tokenizer);break;case"fishead":case"\0theora":f("Set page consumer to Ogg/Theora"),this.pageConsumer=new p.TheoraParser(this.metadata,this.options,this.tokenizer);break;default:throw new Error("gg audio-codec not recognized (id="+e+")")}}this.pageConsumer.parsePage(e,a)}while(!e.headerType.lastPage)}catch(e){if(e instanceof n.EndOfStreamError)this.metadata.addWarning("Last OGG-page is not marked with last-page flag"),f("End-of-stream"),this.metadata.addWarning("Last OGG-page is not marked with last-page flag"),this.header&&this.pageConsumer.calculateDuration(this.header);else{if(!e.message.startsWith("FourCC"))throw e;this.pageNumber>0&&(this.metadata.addWarning("Invalid FourCC ID, maybe last OGG-page is not marked with last-page flag"),this.pageConsumer.flush())}}}}t.OggParser=g,g.Header={len:27,get:(e,t)=>({capturePattern:c.FourCcToken.get(e,t),version:i.UINT8.get(e,t+4),headerType:{continued:o.getBit(e,t+5,0),firstPage:o.getBit(e,t+5,1),lastPage:o.getBit(e,t+5,2)},absoluteGranulePosition:Number(i.UINT64_LE.get(e,t+6)),streamSerialNumber:i.UINT32_LE.get(e,t+14),pageSequenceNo:i.UINT32_LE.get(e,t+18),pageChecksum:i.UINT32_LE.get(e,t+22),page_segments:i.UINT8.get(e,t+26)})}},5044:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IdHeader=void 0;const r=a(3416);t.IdHeader=class{constructor(e){if(this.len=e,e<19)throw new Error("ID-header-page 0 should be at least 19 bytes long")}get(e,t){return{magicSignature:new r.StringType(8,"ascii").get(e,t+0),version:e.readUInt8(t+8),channelCount:e.readUInt8(t+9),preSkip:e.readInt16LE(t+10),inputSampleRate:e.readInt32LE(t+12),outputGain:e.readInt16LE(t+16),channelMapping:e.readUInt8(t+18)}}}},1272:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpusParser=void 0;const r=a(3416),i=a(4210),n=a(5044);class s extends i.VorbisParser{constructor(e,t,a){super(e,t),this.tokenizer=a,this.lastPos=-1}parseFirstPage(e,t){if(this.metadata.setFormat("codec","Opus"),this.idHeader=new n.IdHeader(t.length).get(t,0),"OpusHead"!==this.idHeader.magicSignature)throw new Error("Illegal ogg/Opus magic-signature");this.metadata.setFormat("sampleRate",this.idHeader.inputSampleRate),this.metadata.setFormat("numberOfChannels",this.idHeader.channelCount)}parseFullPage(e){"OpusTags"===new r.StringType(8,"ascii").get(e,0)&&(this.parseUserCommentList(e,8),this.lastPos=this.tokenizer.position-e.length)}calculateDuration(e){if(this.metadata.format.sampleRate&&e.absoluteGranulePosition>=0){const t=e.absoluteGranulePosition-this.idHeader.preSkip;if(this.metadata.setFormat("numberOfSamples",t),this.metadata.setFormat("duration",t/48e3),-1!==this.lastPos&&this.tokenizer.fileInfo.size&&this.metadata.format.duration){const e=this.tokenizer.fileInfo.size-this.lastPos;this.metadata.setFormat("bitrate",8*e/this.metadata.format.duration)}}}}t.OpusParser=s},6666:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Header=void 0;const r=a(3416),i=a(3769);t.Header={len:80,get:(e,t)=>({speex:new r.StringType(8,"ascii").get(e,t+0),version:i.trimRightNull(new r.StringType(20,"ascii").get(e,t+8)),version_id:e.readInt32LE(t+28),header_size:e.readInt32LE(t+32),rate:e.readInt32LE(t+36),mode:e.readInt32LE(t+40),mode_bitstream_version:e.readInt32LE(t+44),nb_channels:e.readInt32LE(t+48),bitrate:e.readInt32LE(t+52),frame_size:e.readInt32LE(t+56),vbr:e.readInt32LE(t+60),frames_per_packet:e.readInt32LE(t+64),extra_headers:e.readInt32LE(t+68),reserved1:e.readInt32LE(t+72),reserved2:e.readInt32LE(t+76)})}},573:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SpeexParser=void 0;const r=a(1227),i=a(4210),n=a(6666),s=(0,r.default)("music-metadata:parser:ogg:speex");class o extends i.VorbisParser{constructor(e,t,a){super(e,t),this.tokenizer=a}parseFirstPage(e,t){s("First Ogg/Speex page");const a=n.Header.get(t,0);this.metadata.setFormat("codec",`Speex ${a.version}`),this.metadata.setFormat("numberOfChannels",a.nb_channels),this.metadata.setFormat("sampleRate",a.rate),-1!==a.bitrate&&this.metadata.setFormat("bitrate",a.bitrate)}}t.SpeexParser=o},5177:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IdentificationHeader=void 0;const r=a(3416);t.IdentificationHeader={len:42,get:(e,t)=>({id:new r.StringType(7,"ascii").get(e,t),vmaj:e.readUInt8(t+7),vmin:e.readUInt8(t+8),vrev:e.readUInt8(t+9),vmbw:e.readUInt16BE(t+10),vmbh:e.readUInt16BE(t+17),nombr:r.UINT24_BE.get(e,t+37),nqual:e.readUInt8(t+40)})}},2630:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TheoraParser=void 0;const r=a(1227),i=a(5177),n=(0,r.default)("music-metadata:parser:ogg:theora");t.TheoraParser=class{constructor(e,t,a){this.metadata=e,this.tokenizer=a}parsePage(e,t){e.headerType.firstPage&&this.parseFirstPage(e,t)}flush(){n("flush")}calculateDuration(e){n("duration calculation not implemented")}parseFirstPage(e,t){n("First Ogg/Theora page"),this.metadata.setFormat("codec","Theora");const a=i.IdentificationHeader.get(t,0);this.metadata.setFormat("bitrate",a.nombr)}}},2127:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.IdentificationHeader=t.CommonHeader=t.VorbisPictureToken=void 0;const i=a(3416),n=a(8281);class s{constructor(e){this.len=e}static fromBase64(e){return this.fromBuffer(r.from(e,"base64"))}static fromBuffer(e){return new s(e.length).get(e,0)}get(e,t){const a=n.AttachedPictureType[i.UINT32_BE.get(e,t)],s=i.UINT32_BE.get(e,t+=4),o=e.toString("utf-8",t+=4,t+s),c=i.UINT32_BE.get(e,t+=s),l=e.toString("utf-8",t+=4,t+c),u=i.UINT32_BE.get(e,t+=c),d=i.UINT32_BE.get(e,t+=4),m=i.UINT32_BE.get(e,t+=4),p=i.UINT32_BE.get(e,t+=4),f=i.UINT32_BE.get(e,t+=4);return{type:a,format:o,description:l,width:u,height:d,colour_depth:m,indexed_color:p,data:r.from(e.slice(t+=4,t+f))}}}t.VorbisPictureToken=s,t.CommonHeader={len:7,get:(e,t)=>({packetType:e.readUInt8(t),vorbis:new i.StringType(6,"ascii").get(e,t+1)})},t.IdentificationHeader={len:23,get:(e,t)=>{const a=new DataView(e.buffer,e.byteOffset);return{version:a.getUint32(t+0,!0),channelMode:a.getUint8(t+4),sampleRate:a.getUint32(t+5,!0),bitrateMax:a.getUint32(t+9,!0),bitrateNominal:a.getUint32(t+13,!0),bitrateMin:a.getUint32(t+17,!0)}}}},441:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.VorbisDecoder=void 0;const i=a(3416);t.VorbisDecoder=class{constructor(e,t){this.data=e,this.offset=t}readInt32(){const e=i.UINT32_LE.get(this.data,this.offset);return this.offset+=4,e}readStringUtf8(){const e=this.readInt32(),t=r.from(this.data).toString("utf-8",this.offset,this.offset+e);return this.offset+=e,t}parseUserComment(){const e=this.offset,t=this.readStringUtf8(),a=t.indexOf("=");return{key:t.slice(0,a).toUpperCase(),value:t.slice(a+1),len:this.offset-e}}}},4210:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.VorbisParser=void 0;const i=a(3416),n=a(1227),s=a(441),o=a(2127),c=(0,n.default)("music-metadata:parser:ogg:vorbis1");t.VorbisParser=class{constructor(e,t){this.metadata=e,this.options=t,this.pageSegments=[]}parsePage(e,t){if(e.headerType.firstPage)this.parseFirstPage(e,t);else{if(e.headerType.continued){if(0===this.pageSegments.length)throw new Error("Cannot continue on previous page");this.pageSegments.push(t)}if(e.headerType.lastPage||!e.headerType.continued){if(this.pageSegments.length>0){const e=r.concat(this.pageSegments);this.parseFullPage(e)}this.pageSegments=e.headerType.lastPage?[]:[t]}}e.headerType.lastPage&&this.calculateDuration(e)}flush(){this.parseFullPage(r.concat(this.pageSegments))}parseUserComment(e,t){const a=new s.VorbisDecoder(e,t).parseUserComment();return this.addTag(a.key,a.value),a.len}addTag(e,t){if("METADATA_BLOCK_PICTURE"===e&&"string"==typeof t){if(this.options.skipCovers)return void c("Ignore picture");t=o.VorbisPictureToken.fromBase64(t),c(`Push picture: id=${e}, format=${t.format}`)}else c(`Push tag: id=${e}, value=${t}`);this.metadata.addTag("vorbis",e,t)}calculateDuration(e){this.metadata.format.sampleRate&&e.absoluteGranulePosition>=0&&(this.metadata.setFormat("numberOfSamples",e.absoluteGranulePosition),this.metadata.setFormat("duration",this.metadata.format.numberOfSamples/this.metadata.format.sampleRate))}parseFirstPage(e,t){this.metadata.setFormat("codec","Vorbis I"),c("Parse first page");const a=o.CommonHeader.get(t,0);if("vorbis"!==a.vorbis)throw new Error("Metadata does not look like Vorbis");if(1!==a.packetType)throw new Error("First Ogg page should be type 1: the identification header");{const e=o.IdentificationHeader.get(t,o.CommonHeader.len);this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("bitrate",e.bitrateNominal),this.metadata.setFormat("numberOfChannels",e.channelMode),c("sample-rate=%s[hz], bitrate=%s[b/s], channel-mode=%s",e.sampleRate,e.bitrateNominal,e.channelMode)}}parseFullPage(e){const t=o.CommonHeader.get(e,0);if(c("Parse full page: type=%s, byteLength=%s",t.packetType,e.byteLength),3===t.packetType)return this.parseUserCommentList(e,o.CommonHeader.len)}parseUserCommentList(e,t){const a=i.UINT32_LE.get(e,t);t+=4,t+=a;let r=i.UINT32_LE.get(e,t);for(t+=4;r-- >0;)t+=this.parseUserComment(e,t)}}},9860:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VorbisTagMapper=void 0;const r=a(9918),i={TITLE:"title",ARTIST:"artist",ARTISTS:"artists",ALBUMARTIST:"albumartist","ALBUM ARTIST":"albumartist",ALBUM:"album",DATE:"date",ORIGINALDATE:"originaldate",ORIGINALYEAR:"originalyear",COMMENT:"comment",TRACKNUMBER:"track",DISCNUMBER:"disk",GENRE:"genre",METADATA_BLOCK_PICTURE:"picture",COMPOSER:"composer",LYRICS:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",LYRICIST:"lyricist",WRITER:"writer",CONDUCTOR:"conductor",REMIXER:"remixer",ARRANGER:"arranger",ENGINEER:"engineer",PRODUCER:"producer",DJMIXER:"djmixer",MIXER:"mixer",LABEL:"label",GROUPING:"grouping",SUBTITLE:"subtitle",DISCSUBTITLE:"discsubtitle",TRACKTOTAL:"totaltracks",DISCTOTAL:"totaldiscs",COMPILATION:"compilation",RATING:"rating",BPM:"bpm",KEY:"key",MOOD:"mood",MEDIA:"media",CATALOGNUMBER:"catalognumber",RELEASESTATUS:"releasestatus",RELEASETYPE:"releasetype",RELEASECOUNTRY:"releasecountry",SCRIPT:"script",LANGUAGE:"language",COPYRIGHT:"copyright",LICENSE:"license",ENCODEDBY:"encodedby",ENCODERSETTINGS:"encodersettings",BARCODE:"barcode",ISRC:"isrc",ASIN:"asin",MUSICBRAINZ_TRACKID:"musicbrainz_recordingid",MUSICBRAINZ_RELEASETRACKID:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",ACOUSTID_ID:"acoustid_id",ACOUSTID_ID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",WEBSITE:"website",NOTES:"notes",TOTALTRACKS:"totaltracks",TOTALDISCS:"totaldiscs",DISCOGS_ARTIST_ID:"discogs_artist_id",DISCOGS_ARTISTS:"artists",DISCOGS_ARTIST_NAME:"artists",DISCOGS_ALBUM_ARTISTS:"albumartist",DISCOGS_CATALOG:"catalognumber",DISCOGS_COUNTRY:"releasecountry",DISCOGS_DATE:"originaldate",DISCOGS_LABEL:"label",DISCOGS_LABEL_ID:"discogs_label_id",DISCOGS_MASTER_RELEASE_ID:"discogs_master_release_id",DISCOGS_RATING:"discogs_rating",DISCOGS_RELEASED:"date",DISCOGS_RELEASE_ID:"discogs_release_id",DISCOGS_VOTES:"discogs_votes",CATALOGID:"catalognumber",STYLE:"genre",REPLAYGAIN_TRACK_GAIN:"replaygain_track_gain",REPLAYGAIN_TRACK_PEAK:"replaygain_track_peak",REPLAYGAIN_ALBUM_GAIN:"replaygain_album_gain",REPLAYGAIN_ALBUM_PEAK:"replaygain_album_peak",REPLAYGAIN_MINMAX:"replaygain_track_minmax",REPLAYGAIN_ALBUM_MINMAX:"replaygain_album_minmax",REPLAYGAIN_UNDO:"replaygain_undo"};class n extends r.CommonTagMapper{static toRating(e,t){return{source:e?e.toLowerCase():e,rating:parseFloat(t)*r.CommonTagMapper.maxRatingScore}}constructor(){super(["vorbis"],i)}postMap(e){if(0===e.id.indexOf("RATING:")){const t=e.id.split(":");e.value=n.toRating(t[1],e.value),e.id=t[0]}}}t.VorbisTagMapper=n},3211:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ListInfoTagValue=t.Header=void 0;const r=a(3416);t.Header={len:8,get:(e,t)=>({chunkID:e.toString("binary",t,t+4),chunkSize:r.UINT32_LE.get(e,4)})},t.ListInfoTagValue=class{constructor(e){this.tagHeader=e,this.len=e.chunkSize,this.len+=1&this.len}get(e,t){return new r.StringType(this.tagHeader.chunkSize,"ascii").get(e,t)}}},5756:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RiffInfoTagMapper=t.riffInfoTagMap=void 0;const r=a(9918);t.riffInfoTagMap={IART:"artist",ICRD:"date",INAM:"title",TITL:"title",IPRD:"album",ITRK:"track",COMM:"comment",ICMT:"comment",ICNT:"releasecountry",GNRE:"genre",IWRI:"writer",RATE:"rating",YEAR:"year",ISFT:"encodedby",CODE:"encodedby",TURL:"website",IGNR:"genre",IENG:"engineer",ITCH:"technician",IMED:"media",IRPD:"album"};class i extends r.CommonTagMapper{constructor(){super(["exif"],t.riffInfoTagMap)}}t.RiffInfoTagMapper=i},6032:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TrackType=void 0;var r=a(8591);Object.defineProperty(t,"TrackType",{enumerable:!0,get:function(){return r.TrackType}})},8053:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BroadcastAudioExtensionChunk=void 0;const r=a(3416);t.BroadcastAudioExtensionChunk={len:420,get:(e,t)=>({description:new r.StringType(256,"ascii").get(e,t).trim(),originator:new r.StringType(32,"ascii").get(e,t+256).trim(),originatorReference:new r.StringType(32,"ascii").get(e,t+288).trim(),originationDate:new r.StringType(10,"ascii").get(e,t+320).trim(),originationTime:new r.StringType(8,"ascii").get(e,t+330).trim(),timeReferenceLow:r.UINT32_LE.get(e,t+338),timeReferenceHigh:r.UINT32_LE.get(e,t+342),version:r.UINT16_LE.get(e,t+346),umid:new r.Uint8ArrayType(64).get(e,t+348),loudnessValue:r.UINT16_LE.get(e,t+412),maxTruePeakLevel:r.UINT16_LE.get(e,t+414),maxMomentaryLoudness:r.UINT16_LE.get(e,t+416),maxShortTermLoudness:r.UINT16_LE.get(e,t+418)})}},9975:(e,t)=>{"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.FactChunk=t.Format=t.WaveFormat=void 0,(a=t.WaveFormat||(t.WaveFormat={}))[a.PCM=1]="PCM",a[a.ADPCM=2]="ADPCM",a[a.IEEE_FLOAT=3]="IEEE_FLOAT",a[a.MPEG_ADTS_AAC=5632]="MPEG_ADTS_AAC",a[a.MPEG_LOAS=5634]="MPEG_LOAS",a[a.RAW_AAC1=255]="RAW_AAC1",a[a.DOLBY_AC3_SPDIF=146]="DOLBY_AC3_SPDIF",a[a.DVM=8192]="DVM",a[a.RAW_SPORT=576]="RAW_SPORT",a[a.ESST_AC3=577]="ESST_AC3",a[a.DRM=9]="DRM",a[a.DTS2=8193]="DTS2",a[a.MPEG=80]="MPEG",t.Format=class{constructor(e){if(e.chunkSize<16)throw new Error("Invalid chunk size");this.len=e.chunkSize}get(e,t){return{wFormatTag:e.readUInt16LE(t),nChannels:e.readUInt16LE(t+2),nSamplesPerSec:e.readUInt32LE(t+4),nAvgBytesPerSec:e.readUInt32LE(t+8),nBlockAlign:e.readUInt16LE(t+12),wBitsPerSample:e.readUInt16LE(t+14)}}},t.FactChunk=class{constructor(e){if(e.chunkSize<4)throw new Error("Invalid fact chunk size.");this.len=e.chunkSize}get(e,t){return{dwSampleLength:e.readUInt32LE(t)}}}},2682:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WaveParser=void 0;const r=a(5849),i=a(3416),n=a(1227),s=a(3211),o=a(9975),c=a(8928),l=a(3769),u=a(8049),d=a(7805),m=a(8053),p=(0,n.default)("music-metadata:parser:RIFF");class f extends d.BasicParser{async parse(){const e=await this.tokenizer.readToken(s.Header);if(p(`pos=${this.tokenizer.position}, parse: chunkID=${e.chunkID}`),"RIFF"===e.chunkID)return this.parseRiffChunk(e.chunkSize).catch((e=>{if(!(e instanceof r.EndOfStreamError))throw e}))}async parseRiffChunk(e){const t=await this.tokenizer.readToken(u.FourCcToken);if(this.metadata.setFormat("container",t),"WAVE"===t)return this.readWaveChunk(e-u.FourCcToken.len);throw new Error(`Unsupported RIFF format: RIFF/${t}`)}async readWaveChunk(e){for(;e>=s.Header.len;){const t=await this.tokenizer.readToken(s.Header);switch(e-=s.Header.len+t.chunkSize,t.chunkSize>e&&this.metadata.addWarning("Data chunk size exceeds file size"),this.header=t,p(`pos=${this.tokenizer.position}, readChunk: chunkID=RIFF/WAVE/${t.chunkID}`),t.chunkID){case"LIST":await this.parseListTag(t);break;case"fact":this.metadata.setFormat("lossless",!1),this.fact=await this.tokenizer.readToken(new o.FactChunk(t));break;case"fmt ":const e=await this.tokenizer.readToken(new o.Format(t));let a=o.WaveFormat[e.wFormatTag];a||(p("WAVE/non-PCM format="+e.wFormatTag),a="non-PCM ("+e.wFormatTag+")"),this.metadata.setFormat("codec",a),this.metadata.setFormat("bitsPerSample",e.wBitsPerSample),this.metadata.setFormat("sampleRate",e.nSamplesPerSec),this.metadata.setFormat("numberOfChannels",e.nChannels),this.metadata.setFormat("bitrate",e.nBlockAlign*e.nSamplesPerSec*8),this.blockAlign=e.nBlockAlign;break;case"id3 ":case"ID3 ":const n=await this.tokenizer.readToken(new i.Uint8ArrayType(t.chunkSize)),s=r.fromBuffer(n);await(new c.ID3v2Parser).parse(this.metadata,s,this.options);break;case"data":!1!==this.metadata.format.lossless&&this.metadata.setFormat("lossless",!0);let l=t.chunkSize;if(this.tokenizer.fileInfo.size){const e=this.tokenizer.fileInfo.size-this.tokenizer.position;e<l&&(this.metadata.addWarning("data chunk length exceeding file length"),l=e)}const u=this.fact?this.fact.dwSampleLength:4294967295===l?void 0:l/this.blockAlign;u&&(this.metadata.setFormat("numberOfSamples",u),this.metadata.setFormat("duration",u/this.metadata.format.sampleRate)),this.metadata.setFormat("bitrate",this.metadata.format.numberOfChannels*this.blockAlign*this.metadata.format.sampleRate),await this.tokenizer.ignore(t.chunkSize);break;case"bext":const d=await this.tokenizer.readToken(m.BroadcastAudioExtensionChunk);Object.keys(d).forEach((e=>{this.metadata.addTag("exif","bext."+e,d[e])}));break;case"\0\0\0\0":p(`Ignore padding chunk: RIFF/${t.chunkID} of ${t.chunkSize} bytes`),this.metadata.addWarning("Ignore chunk: RIFF/"+t.chunkID),await this.tokenizer.ignore(t.chunkSize);break;default:p(`Ignore chunk: RIFF/${t.chunkID} of ${t.chunkSize} bytes`),this.metadata.addWarning("Ignore chunk: RIFF/"+t.chunkID),await this.tokenizer.ignore(t.chunkSize)}this.header.chunkSize%2==1&&(p("Read odd padding byte"),await this.tokenizer.ignore(1))}}async parseListTag(e){const t=await this.tokenizer.readToken(new i.StringType(4,"binary"));return p("pos=%s, parseListTag: chunkID=RIFF/WAVE/LIST/%s",this.tokenizer.position,t),"INFO"===t?this.parseRiffInfoTags(e.chunkSize-4):(this.metadata.addWarning("Ignore chunk: RIFF/WAVE/LIST/"+t),p("Ignoring chunkID=RIFF/WAVE/LIST/"+t),this.tokenizer.ignore(e.chunkSize-4).then())}async parseRiffInfoTags(e){for(;e>=8;){const t=await this.tokenizer.readToken(s.Header),a=new s.ListInfoTagValue(t),r=await this.tokenizer.readToken(a);this.addTag(t.chunkID,l.stripNulls(r)),e-=8+a.len}if(0!==e)throw Error("Illegal remaining size: "+e)}addTag(e,t){this.metadata.addTag("exif",e,t)}}t.WaveParser=f},5870:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.WavPackParser=void 0;const i=a(3416),n=a(6742),s=a(8049),o=a(7805),c=a(2989),l=(0,a(1227).default)("music-metadata:parser:WavPack");class u extends o.BasicParser{async parse(){return this.audioDataSize=0,await this.parseWavPackBlocks(),n.APEv2Parser.tryParseApeHeader(this.metadata,this.tokenizer,this.options)}async parseWavPackBlocks(){do{if("wvpk"!==await this.tokenizer.peekToken(s.FourCcToken))break;const e=await this.tokenizer.readToken(c.WavPack.BlockHeaderToken);if("wvpk"!==e.BlockID)throw new Error("Invalid WavPack Block-ID");l(`WavPack header blockIndex=${e.blockIndex}, len=${c.WavPack.BlockHeaderToken.len}`),0!==e.blockIndex||this.metadata.format.container||(this.metadata.setFormat("container","WavPack"),this.metadata.setFormat("lossless",!e.flags.isHybrid),this.metadata.setFormat("bitsPerSample",e.flags.bitsPerSample),e.flags.isDSD||(this.metadata.setFormat("sampleRate",e.flags.samplingRate),this.metadata.setFormat("duration",e.totalSamples/e.flags.samplingRate)),this.metadata.setFormat("numberOfChannels",e.flags.isMono?1:2),this.metadata.setFormat("numberOfSamples",e.totalSamples),this.metadata.setFormat("codec",e.flags.isDSD?"DSD":"PCM"));const t=e.blockSize-(c.WavPack.BlockHeaderToken.len-8);await(0===e.blockIndex?this.parseMetadataSubBlock(e,t):this.tokenizer.ignore(t)),e.blockSamples>0&&(this.audioDataSize+=e.blockSize)}while(!this.tokenizer.fileInfo.size||this.tokenizer.fileInfo.size-this.tokenizer.position>=c.WavPack.BlockHeaderToken.len);this.metadata.setFormat("bitrate",8*this.audioDataSize/this.metadata.format.duration)}async parseMetadataSubBlock(e,t){for(;t>c.WavPack.MetadataIdToken.len;){const a=await this.tokenizer.readToken(c.WavPack.MetadataIdToken),n=await this.tokenizer.readNumber(a.largeBlock?i.UINT24_LE:i.UINT8),s=r.alloc(2*n-(a.isOddSize?1:0));switch(await this.tokenizer.readBuffer(s),l(`Metadata Sub-Blocks functionId=0x${a.functionId.toString(16)}, id.largeBlock=${a.largeBlock},data-size=${s.length}`),a.functionId){case 0:break;case 14:l("ID_DSD_BLOCK");const t=1<<s.readUInt8(0),r=e.flags.samplingRate*t*8;if(!e.flags.isDSD)throw new Error("Only expect DSD block if DSD-flag is set");this.metadata.setFormat("sampleRate",r),this.metadata.setFormat("duration",e.totalSamples/r);break;case 36:l("ID_ALT_TRAILER: trailer for non-wav files");break;case 38:this.metadata.setFormat("audioMD5",s);break;case 47:l(`ID_BLOCK_CHECKSUM: checksum=${s.toString("hex")}`);break;default:l(`Ignore unsupported meta-sub-block-id functionId=0x${a.functionId.toString(16)}`)}t-=c.WavPack.MetadataIdToken.len+(a.largeBlock?i.UINT24_LE.len:i.UINT8.len)+2*n,l(`remainingLength=${t}`),a.isOddSize&&this.tokenizer.ignore(1)}if(0!==t)throw new Error("metadata-sub-block should fit it remaining length")}}t.WavPackParser=u},2989:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WavPack=void 0;const r=a(3416),i=a(8049),n=[6e3,8e3,9600,11025,12e3,16e3,22050,24e3,32e3,44100,48e3,64e3,88200,96e3,192e3,-1];class s{static isBitSet(e,t){return 1===s.getBitAllignedNumber(e,t,1)}static getBitAllignedNumber(e,t,a){return e>>>t&4294967295>>>32-a}}t.WavPack=s,s.BlockHeaderToken={len:32,get:(e,t)=>{const a=r.UINT32_LE.get(e,t+24),o={BlockID:i.FourCcToken.get(e,t),blockSize:r.UINT32_LE.get(e,t+4),version:r.UINT16_LE.get(e,t+8),totalSamples:r.UINT32_LE.get(e,t+12),blockIndex:r.UINT32_LE.get(e,t+16),blockSamples:r.UINT32_LE.get(e,t+20),flags:{bitsPerSample:8*(1+s.getBitAllignedNumber(a,0,2)),isMono:s.isBitSet(a,2),isHybrid:s.isBitSet(a,3),isJointStereo:s.isBitSet(a,4),crossChannel:s.isBitSet(a,5),hybridNoiseShaping:s.isBitSet(a,6),floatingPoint:s.isBitSet(a,7),samplingRate:n[s.getBitAllignedNumber(a,23,4)],isDSD:s.isBitSet(a,31)},crc:new r.Uint8ArrayType(4).get(e,t+28)};return o.flags.isDSD&&(o.totalSamples*=8),o}},s.MetadataIdToken={len:1,get:(e,t)=>({functionId:s.getBitAllignedNumber(e[t],0,6),isOptional:s.isBitSet(e[t],5),isOddSize:s.isBitSet(e[t],6),largeBlock:s.isBitSet(e[t],7)})}},5762:(e,t)=>{"use strict";var a=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,r=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,i=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;function n(e,t,a){this.type=e,this.subtype=t,this.suffix=a}t.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.subtype,i=e.suffix,n=e.type;if(!n||!r.test(n))throw new TypeError("invalid type");if(!t||!a.test(t))throw new TypeError("invalid subtype");var s=n+"/"+t;if(i){if(!r.test(i))throw new TypeError("invalid suffix");s+="+"+i}return s},t.parse=function(e){if(!e)throw new TypeError("argument string is required");if("string"!=typeof e)throw new TypeError("argument string is required to be a string");var t=i.exec(e.toLowerCase());if(!t)throw new TypeError("invalid media type");var a,r=t[1],s=t[2],o=s.lastIndexOf("+");return-1!==o&&(a=s.substr(o+1),s=s.substr(0,o)),new n(r,s,a)},t.test=function(e){if(!e)throw new TypeError("argument string is required");if("string"!=typeof e)throw new TypeError("argument string is required to be a string");return i.test(e.toLowerCase())}},8985:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Deferred=void 0,t.Deferred=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise(((e,t)=>{this.reject=t,this.resolve=e}))}}},7279:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EndOfStreamError=t.defaultMessages=void 0,t.defaultMessages="End-Of-Stream";class a extends Error{constructor(){super(t.defaultMessages)}}t.EndOfStreamError=a},6654:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamReader=t.EndOfStreamError=void 0;const r=a(7279),i=a(8985);var n=a(7279);Object.defineProperty(t,"EndOfStreamError",{enumerable:!0,get:function(){return n.EndOfStreamError}}),t.StreamReader=class{constructor(e){if(this.s=e,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!e.read||!e.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",(()=>this.reject(new r.EndOfStreamError))),this.s.once("error",(e=>this.reject(e))),this.s.once("close",(()=>this.reject(new Error("Stream closed"))))}async peek(e,t,a){const r=await this.read(e,t,a);return this.peekQueue.push(e.subarray(t,t+r)),r}async read(e,t,a){if(0===a)return 0;if(0===this.peekQueue.length&&this.endOfStream)throw new r.EndOfStreamError;let i=a,n=0;for(;this.peekQueue.length>0&&i>0;){const a=this.peekQueue.pop();if(!a)throw new Error("peekData should be defined");const r=Math.min(a.length,i);e.set(a.subarray(0,r),t+n),n+=r,i-=r,r<a.length&&this.peekQueue.push(a.subarray(r))}for(;i>0&&!this.endOfStream;){const a=Math.min(i,1048576),r=await this.readFromStream(e,t+n,a);if(n+=r,r<a)break;i-=r}return n}async readFromStream(e,t,a){const r=this.s.read(a);if(r)return e.set(r,t),r.length;{const r={buffer:e,offset:t,length:a,deferred:new i.Deferred};return this.deferred=r.deferred,this.s.once("readable",(()=>{this.readDeferred(r)})),r.deferred.promise}}readDeferred(e){const t=this.s.read(e.length);t?(e.buffer.set(t,e.offset),e.deferred.resolve(t.length),this.deferred=null):this.s.once("readable",(()=>{this.readDeferred(e)}))}reject(e){this.endOfStream=!0,this.deferred&&(this.deferred.reject(e),this.deferred=null)}}},5167:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamReader=t.EndOfStreamError=void 0;var r=a(7279);Object.defineProperty(t,"EndOfStreamError",{enumerable:!0,get:function(){return r.EndOfStreamError}});var i=a(6654);Object.defineProperty(t,"StreamReader",{enumerable:!0,get:function(){return i.StreamReader}})},4155:e=>{var t,a,r=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(a){try{return t.call(null,e,0)}catch(a){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{a="function"==typeof clearTimeout?clearTimeout:n}catch(e){a=n}}();var o,c=[],l=!1,u=-1;function d(){l&&o&&(l=!1,o.length?c=o.concat(c):u=-1,c.length&&m())}function m(){if(!l){var e=s(d);l=!0;for(var t=c.length;t;){for(o=c,c=[];++u<t;)o&&o[u].run();u=-1,t=c.length}o=null,l=!1,function(e){if(a===clearTimeout)return clearTimeout(e);if((a===n||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(e);try{a(e)}catch(t){try{return a.call(null,e)}catch(t){return a.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function f(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var a=1;a<arguments.length;a++)t[a-1]=arguments[a];c.push(new p(e,t)),1!==c.length||l||s(m)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=f,r.addListener=f,r.once=f,r.off=f,r.removeListener=f,r.removeAllListeners=f,r.emit=f,r.prependListener=f,r.prependOnceListener=f,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},4281:e=>{"use strict";var t={};function a(e,a,r){r||(r=Error);var i=function(e){var t,r;function i(t,r,i){return e.call(this,function(e,t,r){return"string"==typeof a?a:a(e,t,r)}(t,r,i))||this}return r=e,(t=i).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,i}(r);i.prototype.name=r.name,i.prototype.code=e,t[e]=i}function r(e,t){if(Array.isArray(e)){var a=e.length;return e=e.map((function(e){return String(e)})),a>2?"one of ".concat(t," ").concat(e.slice(0,a-1).join(", "),", or ")+e[a-1]:2===a?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}a("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),a("ERR_INVALID_ARG_TYPE",(function(e,t,a){var i,n,s,o,c;if("string"==typeof t&&(n="not ",t.substr(0,n.length)===n)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,a){return(void 0===a||a>e.length)&&(a=e.length),e.substring(a-t.length,a)===t}(e," argument"))s="The ".concat(e," ").concat(i," ").concat(r(t,"type"));else{var l=("number"!=typeof c&&(c=0),c+".".length>(o=e).length||-1===o.indexOf(".",c)?"argument":"property");s='The "'.concat(e,'" ').concat(l," ").concat(i," ").concat(r(t,"type"))}return s+". Received type ".concat(typeof a)}),TypeError),a("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),a("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),a("ERR_STREAM_PREMATURE_CLOSE","Premature close"),a("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),a("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),a("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),a("ERR_STREAM_WRITE_AFTER_END","write after end"),a("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),a("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),a("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},6753:(e,t,a)=>{"use strict";var r=a(4155),i=Object.keys||function(e){var t=[];for(var a in e)t.push(a);return t};e.exports=u;var n=a(9481),s=a(4229);a(5717)(u,n);for(var o=i(s.prototype),c=0;c<o.length;c++){var l=o[c];u.prototype[l]||(u.prototype[l]=s.prototype[l])}function u(e){if(!(this instanceof u))return new u(e);n.call(this,e),s.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",d)))}function d(){this._writableState.ended||r.nextTick(m,this)}function m(e){e.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(u.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(u.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})},2725:(e,t,a)=>{"use strict";e.exports=i;var r=a(2303);function i(e){if(!(this instanceof i))return new i(e);r.call(this,e)}a(5717)(i,r),i.prototype._transform=function(e,t,a){a(null,e)}},9481:(e,t,a)=>{"use strict";var r,i=a(4155);e.exports=_,_.ReadableState=S,a(7187).EventEmitter;var n,s=function(e,t){return e.listeners(t).length},o=a(2503),c=a(8764).Buffer,l=a.g.Uint8Array||function(){},u=a(4616);n=u&&u.debuglog?u.debuglog("stream"):function(){};var d,m,p,f=a(7327),h=a(1195),g=a(2457).getHighWaterMark,T=a(4281).q,b=T.ERR_INVALID_ARG_TYPE,y=T.ERR_STREAM_PUSH_AFTER_EOF,k=T.ERR_METHOD_NOT_IMPLEMENTED,v=T.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;a(5717)(_,o);var w=h.errorOrDestroy,I=["error","close","destroy","pause","resume"];function S(e,t,i){r=r||a(6753),e=e||{},"boolean"!=typeof i&&(i=t instanceof r),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,"readableHighWaterMark",i),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=a(2553).s),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function _(e){if(r=r||a(6753),!(this instanceof _))return new _(e);var t=this instanceof r;this._readableState=new S(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function E(e,t,a,r,i){n("readableAddChunk",t);var s,o=e._readableState;if(null===t)o.reading=!1,function(e,t){if(n("onEofChunk"),!t.ended){if(t.decoder){var a=t.decoder.end();a&&a.length&&(t.buffer.push(a),t.length+=t.objectMode?1:a.length)}t.ended=!0,t.sync?x(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,B(e)))}}(e,o);else if(i||(s=function(e,t){var a,r;return r=t,c.isBuffer(r)||r instanceof l||"string"==typeof t||void 0===t||e.objectMode||(a=new b("chunk",["string","Buffer","Uint8Array"],t)),a}(o,t)),s)w(e,s);else if(o.objectMode||t&&t.length>0)if("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),r)o.endEmitted?w(e,new v):C(e,o,t,!0);else if(o.ended)w(e,new y);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!a?(t=o.decoder.write(t),o.objectMode||0!==t.length?C(e,o,t,!1):P(e,o)):C(e,o,t,!1)}else r||(o.reading=!1,P(e,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function C(e,t,a,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",a)):(t.length+=t.objectMode?1:a.length,r?t.buffer.unshift(a):t.buffer.push(a),t.needReadable&&x(e)),P(e,t)}Object.defineProperty(_.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),_.prototype.destroy=h.destroy,_.prototype._undestroy=h.undestroy,_.prototype._destroy=function(e,t){t(e)},_.prototype.push=function(e,t){var a,r=this._readableState;return r.objectMode?a=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=c.from(e,t),t=""),a=!0),E(this,e,t,!1,a)},_.prototype.unshift=function(e){return E(this,e,null,!0,!1)},_.prototype.isPaused=function(){return!1===this._readableState.flowing},_.prototype.setEncoding=function(e){d||(d=a(2553).s);var t=new d(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,i="";null!==r;)i+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var A=1073741824;function D(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=A?e=A:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;n("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(n("emitReadable",t.flowing),t.emittedReadable=!0,i.nextTick(B,e))}function B(e){var t=e._readableState;n("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,z(e)}function P(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(M,e,t))}function M(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var a=t.length;if(n("maybeReadMore read 0"),e.read(0),a===t.length)break}t.readingMore=!1}function F(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function O(e){n("readable nexttick read 0"),e.read(0)}function R(e,t){n("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),z(e),t.flowing&&!t.reading&&e.read(0)}function z(e){var t=e._readableState;for(n("flow",t.flowing);t.flowing&&null!==e.read(););}function N(e,t){return 0===t.length?null:(t.objectMode?a=t.buffer.shift():!e||e>=t.length?(a=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):a=t.buffer.consume(e,t.decoder),a);var a}function L(e){var t=e._readableState;n("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,i.nextTick(U,t,e))}function U(e,t){if(n("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var a=t._writableState;(!a||a.autoDestroy&&a.finished)&&t.destroy()}}function j(e,t){for(var a=0,r=e.length;a<r;a++)if(e[a]===t)return a;return-1}_.prototype.read=function(e){n("read",e),e=parseInt(e,10);var t=this._readableState,a=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return n("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):x(this),null;if(0===(e=D(e,t))&&t.ended)return 0===t.length&&L(this),null;var r,i=t.needReadable;return n("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&n("length less than watermark",i=!0),t.ended||t.reading?n("reading or ended",i=!1):i&&(n("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=D(a,t))),null===(r=e>0?N(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),a!==e&&t.ended&&L(this)),null!==r&&this.emit("data",r),r},_.prototype._read=function(e){w(this,new k("_read()"))},_.prototype.pipe=function(e,t){var a=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,n("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end||e===i.stdout||e===i.stderr?h:c;function c(){n("onend"),e.end()}r.endEmitted?i.nextTick(o):a.once("end",o),e.on("unpipe",(function t(i,s){n("onunpipe"),i===a&&s&&!1===s.hasUnpiped&&(s.hasUnpiped=!0,n("cleanup"),e.removeListener("close",p),e.removeListener("finish",f),e.removeListener("drain",l),e.removeListener("error",m),e.removeListener("unpipe",t),a.removeListener("end",c),a.removeListener("end",h),a.removeListener("data",d),u=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}));var l=function(e){return function(){var t=e._readableState;n("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,z(e))}}(a);e.on("drain",l);var u=!1;function d(t){n("ondata");var i=e.write(t);n("dest.write",i),!1===i&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==j(r.pipes,e))&&!u&&(n("false write response, pause",r.awaitDrain),r.awaitDrain++),a.pause())}function m(t){n("onerror",t),h(),e.removeListener("error",m),0===s(e,"error")&&w(e,t)}function p(){e.removeListener("finish",f),h()}function f(){n("onfinish"),e.removeListener("close",p),h()}function h(){n("unpipe"),a.unpipe(e)}return a.on("data",d),function(e,t,a){if("function"==typeof e.prependListener)return e.prependListener(t,a);e._events&&e._events.error?Array.isArray(e._events.error)?e._events.error.unshift(a):e._events.error=[a,e._events.error]:e.on(t,a)}(e,"error",m),e.once("close",p),e.once("finish",f),e.emit("pipe",a),r.flowing||(n("pipe resume"),a.resume()),e},_.prototype.unpipe=function(e){var t=this._readableState,a={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,a)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n<i;n++)r[n].emit("unpipe",this,{hasUnpiped:!1});return this}var s=j(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,a)),this},_.prototype.on=function(e,t){var a=o.prototype.on.call(this,e,t),r=this._readableState;return"data"===e?(r.readableListening=this.listenerCount("readable")>0,!1!==r.flowing&&this.resume()):"readable"===e&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,n("on readable",r.length,r.reading),r.length?x(this):r.reading||i.nextTick(O,this))),a},_.prototype.addListener=_.prototype.on,_.prototype.removeListener=function(e,t){var a=o.prototype.removeListener.call(this,e,t);return"readable"===e&&i.nextTick(F,this),a},_.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||i.nextTick(F,this),t},_.prototype.resume=function(){var e=this._readableState;return e.flowing||(n("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(R,e,t))}(this,e)),e.paused=!1,this},_.prototype.pause=function(){return n("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(n("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},_.prototype.wrap=function(e){var t=this,a=this._readableState,r=!1;for(var i in e.on("end",(function(){if(n("wrapped end"),a.decoder&&!a.ended){var e=a.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){n("wrapped data"),a.decoder&&(i=a.decoder.write(i)),a.objectMode&&null==i||(a.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var s=0;s<I.length;s++)e.on(I[s],this.emit.bind(this,I[s]));return this._read=function(t){n("wrapped _read",t),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(_.prototype[Symbol.asyncIterator]=function(){return void 0===m&&(m=a(5850)),m(this)}),Object.defineProperty(_.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(_.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(_.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),_._fromList=N,Object.defineProperty(_.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(_.from=function(e,t){return void 0===p&&(p=a(889)),p(_,e,t)})},2303:(e,t,a)=>{"use strict";e.exports=u;var r=a(4281).q,i=r.ERR_METHOD_NOT_IMPLEMENTED,n=r.ERR_MULTIPLE_CALLBACK,s=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=r.ERR_TRANSFORM_WITH_LENGTH_0,c=a(6753);function l(e,t){var a=this._transformState;a.transforming=!1;var r=a.writecb;if(null===r)return this.emit("error",new n);a.writechunk=null,a.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function u(e){if(!(this instanceof u))return new u(e);c.call(this,e),this._transformState={afterTransform:l.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",d)}function d(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?m(this,null,null):this._flush((function(t,a){m(e,t,a)}))}function m(e,t,a){if(t)return e.emit("error",t);if(null!=a&&e.push(a),e._writableState.length)throw new o;if(e._transformState.transforming)throw new s;return e.push(null)}a(5717)(u,c),u.prototype.push=function(e,t){return this._transformState.needTransform=!1,c.prototype.push.call(this,e,t)},u.prototype._transform=function(e,t,a){a(new i("_transform()"))},u.prototype._write=function(e,t,a){var r=this._transformState;if(r.writecb=a,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},u.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},u.prototype._destroy=function(e,t){c.prototype._destroy.call(this,e,(function(e){t(e)}))}},4229:(e,t,a)=>{"use strict";var r,i=a(4155);function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,a){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(undefined),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}e.exports=_,_.WritableState=S;var s,o={deprecate:a(4927)},c=a(2503),l=a(8764).Buffer,u=a.g.Uint8Array||function(){},d=a(1195),m=a(2457).getHighWaterMark,p=a(4281).q,f=p.ERR_INVALID_ARG_TYPE,h=p.ERR_METHOD_NOT_IMPLEMENTED,g=p.ERR_MULTIPLE_CALLBACK,T=p.ERR_STREAM_CANNOT_PIPE,b=p.ERR_STREAM_DESTROYED,y=p.ERR_STREAM_NULL_VALUES,k=p.ERR_STREAM_WRITE_AFTER_END,v=p.ERR_UNKNOWN_ENCODING,w=d.errorOrDestroy;function I(){}function S(e,t,s){r=r||a(6753),e=e||{},"boolean"!=typeof s&&(s=t instanceof r),this.objectMode=!!e.objectMode,s&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=m(this,e,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var a=e._writableState,r=a.sync,n=a.writecb;if("function"!=typeof n)throw new g;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(a),t)!function(e,t,a,r,n){--t.pendingcb,a?(i.nextTick(n,r),i.nextTick(B,e,t),e._writableState.errorEmitted=!0,w(e,r)):(n(r),e._writableState.errorEmitted=!0,w(e,r),B(e,t))}(e,a,r,t,n);else{var s=D(a)||e.destroyed;s||a.corked||a.bufferProcessing||!a.bufferedRequest||A(e,a),r?i.nextTick(C,e,a,s,n):C(e,a,s,n)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function _(e){var t=this instanceof(r=r||a(6753));if(!t&&!s.call(_,this))return new _(e);this._writableState=new S(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),c.call(this)}function E(e,t,a,r,i,n,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new b("write")):a?e._writev(i,t.onwrite):e._write(i,n,t.onwrite),t.sync=!1}function C(e,t,a,r){a||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),B(e,t)}function A(e,t){t.bufferProcessing=!0;var a=t.bufferedRequest;if(e._writev&&a&&a.next){var r=t.bufferedRequestCount,i=new Array(r),s=t.corkedRequestsFree;s.entry=a;for(var o=0,c=!0;a;)i[o]=a,a.isBuf||(c=!1),a=a.next,o+=1;i.allBuffers=c,E(e,t,!0,t.length,i,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new n(t),t.bufferedRequestCount=0}else{for(;a;){var l=a.chunk,u=a.encoding,d=a.callback;if(E(e,t,!1,t.objectMode?1:l.length,l,u,d),a=a.next,t.bufferedRequestCount--,t.writing)break}null===a&&(t.lastBufferedRequest=null)}t.bufferedRequest=a,t.bufferProcessing=!1}function D(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function x(e,t){e._final((function(a){t.pendingcb--,a&&w(e,a),t.prefinished=!0,e.emit("prefinish"),B(e,t)}))}function B(e,t){var a=D(t);if(a&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(x,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return a}a(5717)(_,c),S.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(S.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(_,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===_&&e&&e._writableState instanceof S}})):s=function(e){return e instanceof this},_.prototype.pipe=function(){w(this,new T)},_.prototype.write=function(e,t,a){var r,n=this._writableState,s=!1,o=!n.objectMode&&(r=e,l.isBuffer(r)||r instanceof u);return o&&!l.isBuffer(e)&&(e=function(e){return l.from(e)}(e)),"function"==typeof t&&(a=t,t=null),o?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof a&&(a=I),n.ending?function(e,t){var a=new k;w(e,a),i.nextTick(t,a)}(this,a):(o||function(e,t,a,r){var n;return null===a?n=new y:"string"==typeof a||t.objectMode||(n=new f("chunk",["string","Buffer"],a)),!n||(w(e,n),i.nextTick(r,n),!1)}(this,n,e,a))&&(n.pendingcb++,s=function(e,t,a,r,i,n){if(!a){var s=function(e,t,a){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=l.from(t,a)),t}(t,r,i);r!==s&&(a=!0,i="buffer",r=s)}var o=t.objectMode?1:r.length;t.length+=o;var c=t.length<t.highWaterMark;if(c||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:a,callback:n,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else E(e,t,!1,o,r,i,n);return c}(this,n,o,e,t,a)),s},_.prototype.cork=function(){this._writableState.corked++},_.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||A(this,e))},_.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new v(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(_.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(_.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),_.prototype._write=function(e,t,a){a(new h("_write()"))},_.prototype._writev=null,_.prototype.end=function(e,t,a){var r=this._writableState;return"function"==typeof e?(a=e,e=null,t=null):"function"==typeof t&&(a=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,a){t.ending=!0,B(e,t),a&&(t.finished?i.nextTick(a):e.once("finish",a)),t.ended=!0,e.writable=!1}(this,r,a),this},Object.defineProperty(_.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(_.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),_.prototype.destroy=d.destroy,_.prototype._undestroy=d.undestroy,_.prototype._destroy=function(e,t){t(e)}},5850:(e,t,a)=>{"use strict";var r,i=a(4155);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var s=a(8610),o=Symbol("lastResolve"),c=Symbol("lastReject"),l=Symbol("error"),u=Symbol("ended"),d=Symbol("lastPromise"),m=Symbol("handlePromise"),p=Symbol("stream");function f(e,t){return{value:e,done:t}}function h(e){var t=e[o];if(null!==t){var a=e[p].read();null!==a&&(e[d]=null,e[o]=null,e[c]=null,t(f(a,!1)))}}function g(e){i.nextTick(h,e)}var T=Object.getPrototypeOf((function(){})),b=Object.setPrototypeOf((n(r={get stream(){return this[p]},next:function(){var e=this,t=this[l];if(null!==t)return Promise.reject(t);if(this[u])return Promise.resolve(f(void 0,!0));if(this[p].destroyed)return new Promise((function(t,a){i.nextTick((function(){e[l]?a(e[l]):t(f(void 0,!0))}))}));var a,r=this[d];if(r)a=new Promise(function(e,t){return function(a,r){e.then((function(){t[u]?a(f(void 0,!0)):t[m](a,r)}),r)}}(r,this));else{var n=this[p].read();if(null!==n)return Promise.resolve(f(n,!1));a=new Promise(this[m])}return this[d]=a,a}},Symbol.asyncIterator,(function(){return this})),n(r,"return",(function(){var e=this;return new Promise((function(t,a){e[p].destroy(null,(function(e){e?a(e):t(f(void 0,!0))}))}))})),r),T);e.exports=function(e){var t,a=Object.create(b,(n(t={},p,{value:e,writable:!0}),n(t,o,{value:null,writable:!0}),n(t,c,{value:null,writable:!0}),n(t,l,{value:null,writable:!0}),n(t,u,{value:e._readableState.endEmitted,writable:!0}),n(t,m,{value:function(e,t){var r=a[p].read();r?(a[d]=null,a[o]=null,a[c]=null,e(f(r,!1))):(a[o]=e,a[c]=t)},writable:!0}),t));return a[d]=null,s(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=a[c];return null!==t&&(a[d]=null,a[o]=null,a[c]=null,t(e)),void(a[l]=e)}var r=a[o];null!==r&&(a[d]=null,a[o]=null,a[c]=null,r(f(void 0,!0))),a[u]=!0})),e.on("readable",g.bind(null,a)),a}},7327:(e,t,a)=>{"use strict";function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=a(8764).Buffer,o=a(2361).inspect,c=o&&o.custom||"inspect";e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var t,a;return t=e,a=[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,a=""+t.data;t=t.next;)a+=e+t.data;return a}},{key:"concat",value:function(e){if(0===this.length)return s.alloc(0);for(var t,a,r,i=s.allocUnsafe(e>>>0),n=this.head,o=0;n;)t=n.data,a=i,r=o,s.prototype.copy.call(t,a,r),o+=n.data.length,n=n.next;return i}},{key:"consume",value:function(e,t){var a;return e<this.head.data.length?(a=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):a=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,a=1,r=t.data;for(e-=r.length;t=t.next;){var i=t.data,n=e>i.length?i.length:e;if(n===i.length?r+=i:r+=i.slice(0,e),0==(e-=n)){n===i.length?(++a,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(n));break}++a}return this.length-=a,r}},{key:"_getBuffer",value:function(e){var t=s.allocUnsafe(e),a=this.head,r=1;for(a.data.copy(t),e-=a.data.length;a=a.next;){var i=a.data,n=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,n),0==(e-=n)){n===i.length?(++r,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=i.slice(n));break}++r}return this.length-=r,t}},{key:c,value:function(e,t){return o(this,function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}({},t,{depth:0,customInspect:!1}))}}],a&&n(t.prototype,a),e}()},1195:(e,t,a)=>{"use strict";var r=a(4155);function i(e,t){s(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function s(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var a=this,o=this._readableState&&this._readableState.destroyed,c=this._writableState&&this._writableState.destroyed;return o||c?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,r.nextTick(s,this,e)):r.nextTick(s,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?a._writableState?a._writableState.errorEmitted?r.nextTick(n,a):(a._writableState.errorEmitted=!0,r.nextTick(i,a,e)):r.nextTick(i,a,e):t?(r.nextTick(n,a),t(e)):r.nextTick(n,a)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var a=e._readableState,r=e._writableState;a&&a.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit("error",t)}}},8610:(e,t,a)=>{"use strict";var r=a(4281).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,a,n){if("function"==typeof a)return e(t,null,a);a||(a={}),n=function(e){var t=!1;return function(){if(!t){t=!0;for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];e.apply(this,r)}}}(n||i);var s=a.readable||!1!==a.readable&&t.readable,o=a.writable||!1!==a.writable&&t.writable,c=function(){t.writable||u()},l=t._writableState&&t._writableState.finished,u=function(){o=!1,l=!0,s||n.call(t)},d=t._readableState&&t._readableState.endEmitted,m=function(){s=!1,d=!0,o||n.call(t)},p=function(e){n.call(t,e)},f=function(){var e;return s&&!d?(t._readableState&&t._readableState.ended||(e=new r),n.call(t,e)):o&&!l?(t._writableState&&t._writableState.ended||(e=new r),n.call(t,e)):void 0},h=function(){t.req.on("finish",u)};return function(e){return e.setHeader&&"function"==typeof e.abort}(t)?(t.on("complete",u),t.on("abort",f),t.req?h():t.on("request",h)):o&&!t._writableState&&(t.on("end",c),t.on("close",c)),t.on("end",m),t.on("finish",u),!1!==a.error&&t.on("error",p),t.on("close",f),function(){t.removeListener("complete",u),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",u),t.removeListener("end",c),t.removeListener("close",c),t.removeListener("finish",u),t.removeListener("end",m),t.removeListener("error",p),t.removeListener("close",f)}}},889:e=>{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},9946:(e,t,a)=>{"use strict";var r,i=a(4281).q,n=i.ERR_MISSING_ARGS,s=i.ERR_STREAM_DESTROYED;function o(e){if(e)throw e}function c(e,t,i,n){n=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(n);var o=!1;e.on("close",(function(){o=!0})),void 0===r&&(r=a(8610)),r(e,{readable:t,writable:i},(function(e){if(e)return n(e);o=!0,n()}));var c=!1;return function(t){if(!o&&!c)return c=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void n(t||new s("pipe"))}}function l(e){e()}function u(e,t){return e.pipe(t)}function d(e){return e.length?"function"!=typeof e[e.length-1]?o:e.pop():o}e.exports=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var r,i=d(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new n("streams");var s=t.map((function(e,a){var n=a<t.length-1;return c(e,n,a>0,(function(e){r||(r=e),e&&s.forEach(l),n||(s.forEach(l),i(r))}))}));return t.reduce(u)}},2457:(e,t,a)=>{"use strict";var r=a(4281).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,a,i){var n=function(e,t,a){return null!=e.highWaterMark?e.highWaterMark:t?e[a]:null}(t,i,a);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new r(i?a:"highWaterMark",n);return Math.floor(n)}return e.objectMode?16:16384}}},2503:(e,t,a)=>{e.exports=a(7187).EventEmitter},8473:(e,t,a)=>{(t=e.exports=a(9481)).Stream=t,t.Readable=t,t.Writable=a(4229),t.Duplex=a(6753),t.Transform=a(2303),t.PassThrough=a(2725),t.finished=a(8610),t.pipeline=a(9946)},8090:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableWebToNodeStream=void 0;const r=a(8473);class i extends r.Readable{constructor(e){super(),this.bytesRead=0,this.released=!1,this.reader=e.getReader()}async _read(){if(this.released)return void this.push(null);this.pendingRead=this.reader.read();const e=await this.pendingRead;delete this.pendingRead,e.done||this.released?this.push(null):(this.bytesRead+=e.value.length,this.push(e.value))}async waitForReadToComplete(){this.pendingRead&&await this.pendingRead}async close(){await this.syncAndRelease()}async syncAndRelease(){this.released=!0,await this.waitForReadToComplete(),await this.reader.releaseLock()}}t.ReadableWebToNodeStream=i},2553:(e,t,a)=>{"use strict";var r=a(3167).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function n(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=l,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=u,this.end=d,t=3;break;default:return this.write=m,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,a=function(e,t,a){if(128!=(192&t[0]))return e.lastNeed=0,"<22>";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"<22>";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"<22>"}}(this,e);return void 0!==a?a:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var a=e.toString("utf16le",t);if(a){var r=a.charCodeAt(a.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],a.slice(0,-1)}return a}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var a=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,a)}return t}function u(e,t){var a=(e.length-t)%3;return 0===a?e.toString("base64",t):(this.lastNeed=3-a,this.lastTotal=3,1===a?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-a))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function m(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}t.s=n,n.prototype.write=function(e){if(0===e.length)return"";var t,a;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";a=this.lastNeed,this.lastNeed=0}else a=0;return a<e.length?t?t+this.text(e,a):this.text(e,a):t||""},n.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"<22>":t},n.prototype.text=function(e,t){var a=function(e,t,a){var r=t.length-1;if(r<a)return 0;var i=s(t[r]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--r<a||-2===i?0:(i=s(t[r]))>=0?(i>0&&(e.lastNeed=i-2),i):--r<a||-2===i?0:(i=s(t[r]))>=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=a;var r=e.length-(a-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},n.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},3167:(e,t,a)=>{var r=a(8764),i=r.Buffer;function n(e,t){for(var a in e)t[a]=e[a]}function s(e,t,a){return i(e,t,a)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(n(r,t),t.Buffer=s),s.prototype=Object.create(i.prototype),n(i,s),s.from=function(e,t,a){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,a)},s.alloc=function(e,t,a){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof a?r.fill(t,a):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},842:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractTokenizer=void 0;const i=a(5167);t.AbstractTokenizer=class{constructor(e){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=e||{}}async readToken(e,t=this.position){const a=r.alloc(e.len);if(await this.readBuffer(a,{position:t})<e.len)throw new i.EndOfStreamError;return e.get(a,0)}async peekToken(e,t=this.position){const a=r.alloc(e.len);if(await this.peekBuffer(a,{position:t})<e.len)throw new i.EndOfStreamError;return e.get(a,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new i.EndOfStreamError;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new i.EndOfStreamError;return e.get(this.numBuffer,0)}async ignore(e){if(void 0!==this.fileInfo.size){const t=this.fileInfo.size-this.position;if(e>t)return this.position+=t,t}return this.position+=e,e}async close(){}normalizeOptions(e,t){if(t&&void 0!==t.position&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return t?{mayBeLess:!0===t.mayBeLess,offset:t.offset?t.offset:0,length:t.length?t.length:e.length-(t.offset?t.offset:0),position:t.position?t.position:this.position}:{mayBeLess:!1,offset:0,length:e.length,position:this.position}}}},778:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferTokenizer=void 0;const r=a(5167),i=a(842);class n extends i.AbstractTokenizer{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:e.length}async readBuffer(e,t){if(t&&t.position){if(t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=t.position}const a=await this.peekBuffer(e,t);return this.position+=a,a}async peekBuffer(e,t){const a=this.normalizeOptions(e,t),i=Math.min(this.uint8Array.length-a.position,a.length);if(!a.mayBeLess&&i<a.length)throw new r.EndOfStreamError;return e.set(this.uint8Array.subarray(a.position,a.position+i),a.offset),i}async close(){}}t.BufferTokenizer=n},599:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadStreamTokenizer=void 0;const r=a(842),i=a(5167);class n extends r.AbstractTokenizer{constructor(e,t){super(t),this.streamReader=new i.StreamReader(e)}async getFileInfo(){return this.fileInfo}async readBuffer(e,t){const a=this.normalizeOptions(e,t),r=a.position-this.position;if(r>0)return await this.ignore(r),this.readBuffer(e,t);if(r<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===a.length)return 0;const n=await this.streamReader.read(e,a.offset,a.length);if(this.position+=n,(!t||!t.mayBeLess)&&n<a.length)throw new i.EndOfStreamError;return n}async peekBuffer(e,t){const a=this.normalizeOptions(e,t);let r=0;if(a.position){const t=a.position-this.position;if(t>0){const i=new Uint8Array(a.length+t);return r=await this.peekBuffer(i,{mayBeLess:a.mayBeLess}),e.set(i.subarray(t),a.offset),r-t}if(t<0)throw new Error("Cannot peek from a negative offset in a stream")}if(a.length>0){try{r=await this.streamReader.peek(e,a.offset,a.length)}catch(e){if(t&&t.mayBeLess&&e instanceof i.EndOfStreamError)return 0;throw e}if(!a.mayBeLess&&r<a.length)throw new i.EndOfStreamError}return r}async ignore(e){const t=Math.min(256e3,e),a=new Uint8Array(t);let r=0;for(;r<e;){const i=e-r,n=await this.readBuffer(a,{length:Math.min(t,i)});if(n<0)return n;r+=n}return r}}t.ReadStreamTokenizer=n},5849:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromBuffer=t.fromStream=t.EndOfStreamError=void 0;const r=a(599),i=a(778);var n=a(5167);Object.defineProperty(t,"EndOfStreamError",{enumerable:!0,get:function(){return n.EndOfStreamError}}),t.fromStream=function(e,t){return t=t||{},new r.ReadStreamTokenizer(e,t)},t.fromBuffer=function(e,t){return new i.BufferTokenizer(e,t)}},3416:(e,t,a)=>{"use strict";var r=a(8764).Buffer;Object.defineProperty(t,"__esModule",{value:!0}),t.AnsiStringType=t.StringType=t.BufferType=t.Uint8ArrayType=t.IgnoreType=t.Float80_LE=t.Float80_BE=t.Float64_LE=t.Float64_BE=t.Float32_LE=t.Float32_BE=t.Float16_LE=t.Float16_BE=t.INT64_BE=t.UINT64_BE=t.INT64_LE=t.UINT64_LE=t.INT32_LE=t.INT32_BE=t.INT24_BE=t.INT24_LE=t.INT16_LE=t.INT16_BE=t.INT8=t.UINT32_BE=t.UINT32_LE=t.UINT24_BE=t.UINT24_LE=t.UINT16_BE=t.UINT16_LE=t.UINT8=void 0;const i=a(645);function n(e){return new DataView(e.buffer,e.byteOffset)}t.UINT8={len:1,get:(e,t)=>n(e).getUint8(t),put:(e,t,a)=>(n(e).setUint8(t,a),t+1)},t.UINT16_LE={len:2,get:(e,t)=>n(e).getUint16(t,!0),put:(e,t,a)=>(n(e).setUint16(t,a,!0),t+2)},t.UINT16_BE={len:2,get:(e,t)=>n(e).getUint16(t),put:(e,t,a)=>(n(e).setUint16(t,a),t+2)},t.UINT24_LE={len:3,get(e,t){const a=n(e);return a.getUint8(t)+(a.getUint16(t+1,!0)<<8)},put(e,t,a){const r=n(e);return r.setUint8(t,255&a),r.setUint16(t+1,a>>8,!0),t+3}},t.UINT24_BE={len:3,get(e,t){const a=n(e);return(a.getUint16(t)<<8)+a.getUint8(t+2)},put(e,t,a){const r=n(e);return r.setUint16(t,a>>8),r.setUint8(t+2,255&a),t+3}},t.UINT32_LE={len:4,get:(e,t)=>n(e).getUint32(t,!0),put:(e,t,a)=>(n(e).setUint32(t,a,!0),t+4)},t.UINT32_BE={len:4,get:(e,t)=>n(e).getUint32(t),put:(e,t,a)=>(n(e).setUint32(t,a),t+4)},t.INT8={len:1,get:(e,t)=>n(e).getInt8(t),put:(e,t,a)=>(n(e).setInt8(t,a),t+2)},t.INT16_BE={len:2,get:(e,t)=>n(e).getInt16(t),put:(e,t,a)=>(n(e).setInt16(t,a),t+2)},t.INT16_LE={len:2,get:(e,t)=>n(e).getInt16(t,!0),put:(e,t,a)=>(n(e).setInt16(t,a,!0),t+2)},t.INT24_LE={len:3,get(e,a){const r=t.UINT24_LE.get(e,a);return r>8388607?r-16777216:r},put(e,t,a){const r=n(e);return r.setUint8(t,255&a),r.setUint16(t+1,a>>8,!0),t+3}},t.INT24_BE={len:3,get(e,a){const r=t.UINT24_BE.get(e,a);return r>8388607?r-16777216:r},put(e,t,a){const r=n(e);return r.setUint16(t,a>>8),r.setUint8(t+2,255&a),t+3}},t.INT32_BE={len:4,get:(e,t)=>n(e).getInt32(t),put:(e,t,a)=>(n(e).setInt32(t,a),t+4)},t.INT32_LE={len:4,get:(e,t)=>n(e).getInt32(t,!0),put:(e,t,a)=>(n(e).setInt32(t,a,!0),t+4)},t.UINT64_LE={len:8,get:(e,t)=>n(e).getBigUint64(t,!0),put:(e,t,a)=>(n(e).setBigUint64(t,a,!0),t+8)},t.INT64_LE={len:8,get:(e,t)=>n(e).getBigInt64(t,!0),put:(e,t,a)=>(n(e).setBigInt64(t,a,!0),t+8)},t.UINT64_BE={len:8,get:(e,t)=>n(e).getBigUint64(t),put:(e,t,a)=>(n(e).setBigUint64(t,a),t+8)},t.INT64_BE={len:8,get:(e,t)=>n(e).getBigInt64(t),put:(e,t,a)=>(n(e).setBigInt64(t,a),t+8)},t.Float16_BE={len:2,get(e,t){return i.read(e,t,!1,10,this.len)},put(e,t,a){return i.write(e,a,t,!1,10,this.len),t+this.len}},t.Float16_LE={len:2,get(e,t){return i.read(e,t,!0,10,this.len)},put(e,t,a){return i.write(e,a,t,!0,10,this.len),t+this.len}},t.Float32_BE={len:4,get:(e,t)=>n(e).getFloat32(t),put:(e,t,a)=>(n(e).setFloat32(t,a),t+4)},t.Float32_LE={len:4,get:(e,t)=>n(e).getFloat32(t,!0),put:(e,t,a)=>(n(e).setFloat32(t,a,!0),t+4)},t.Float64_BE={len:8,get:(e,t)=>n(e).getFloat64(t),put:(e,t,a)=>(n(e).setFloat64(t,a),t+8)},t.Float64_LE={len:8,get:(e,t)=>n(e).getFloat64(t,!0),put:(e,t,a)=>(n(e).setFloat64(t,a,!0),t+8)},t.Float80_BE={len:10,get(e,t){return i.read(e,t,!1,63,this.len)},put(e,t,a){return i.write(e,a,t,!1,63,this.len),t+this.len}},t.Float80_LE={len:10,get(e,t){return i.read(e,t,!0,63,this.len)},put(e,t,a){return i.write(e,a,t,!0,63,this.len),t+this.len}},t.IgnoreType=class{constructor(e){this.len=e}get(e,t){}},t.Uint8ArrayType=class{constructor(e){this.len=e}get(e,t){return e.subarray(t,t+this.len)}},t.BufferType=class{constructor(e){this.len=e}get(e,t){return r.from(e.subarray(t,t+this.len))}},t.StringType=class{constructor(e,t){this.len=e,this.encoding=t}get(e,t){return r.from(e).toString(this.encoding,t,t+this.len)}};class s{constructor(e){this.len=e}static decode(e,t,a){let r="";for(let i=t;i<a;++i)r+=s.codePointToString(s.singleByteDecoder(e[i]));return r}static inRange(e,t,a){return t<=e&&e<=a}static codePointToString(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}static singleByteDecoder(e){if(s.inRange(e,0,127))return e;const t=s.windows1252[e-128];if(null===t)throw Error("invaliding encoding");return t}get(e,t=0){return s.decode(e,t,t+this.len)}}t.AnsiStringType=s,s.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]},4927:(e,t,a)=>{function r(e){try{if(!a.g.localStorage)return!1}catch(e){return!1}var t=a.g.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,t){if(r("noDeprecation"))return e;var a=!1;return function(){if(!a){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),a=!0}return e.apply(this,arguments)}}}}]);
|
||
//# sourceMappingURL=463.61167f99e64c02fb46d6.js.map
|