TelegramPWA/dist/3186.7d098bd7a1f25a5bac63.js
Alexander Zinchuk d901b387d4 [Build]
2026-02-23 00:11:36 +01:00

3 lines
101 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

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

/*! For license information please see 3186.7d098bd7a1f25a5bac63.js.LICENSE.txt */
(self.webpackChunktelegram_t=self.webpackChunktelegram_t||[]).push([[3186],{251(e,t){t.read=function(e,t,i,r,a){var n,s,o=8*a-r-1,c=(1<<o)-1,l=c>>1,m=-7,u=i?a-1:0,p=i?-1:1,d=e[t+u];for(u+=p,n=d&(1<<-m)-1,d>>=-m,m+=o;m>0;n=256*n+e[t+u],u+=p,m-=8);for(s=n&(1<<-m)-1,n>>=-m,m+=r;m>0;s=256*s+e[t+u],u+=p,m-=8);if(0===n)n=1-l;else{if(n===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),n-=l}return(d?-1:1)*s*Math.pow(2,n-r)},t.write=function(e,t,i,r,a,n){var s,o,c,l=8*n-a-1,m=(1<<l)-1,u=m>>1,p=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:n-1,f=r?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=m):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+u>=1?p/c:p*Math.pow(2,1-u))*c>=2&&(s++,c/=2),s+u>=m?(o=0,s=m):s+u>=1?(o=(t*c-1)*Math.pow(2,a),s+=u):(o=t*Math.pow(2,u-1)*Math.pow(2,a),s=0));a>=8;e[i+d]=255&o,d+=f,o/=256,a-=8);for(s=s<<a|o,l+=a;l>0;e[i+d]=255&s,d+=f,s/=256,l-=8);e[i+d-f]|=128*h}},4017(e,t,i){"use strict";i.r(t),i.d(t,{AnsiStringType:()=>B,Float16_BE:()=>v,Float16_LE:()=>S,Float32_BE:()=>A,Float32_LE:()=>E,Float64_BE:()=>_,Float64_LE:()=>C,Float80_BE:()=>M,Float80_LE:()=>R,INT16_BE:()=>f,INT16_LE:()=>h,INT24_BE:()=>T,INT24_LE:()=>g,INT32_BE:()=>k,INT32_LE:()=>y,INT64_BE:()=>I,INT64_LE:()=>b,INT8:()=>d,IgnoreType:()=>z,StringType:()=>L,UINT16_BE:()=>c,UINT16_LE:()=>o,UINT24_BE:()=>m,UINT24_LE:()=>l,UINT32_BE:()=>p,UINT32_LE:()=>u,UINT64_BE:()=>w,UINT64_LE:()=>x,UINT8:()=>s,Uint8ArrayType:()=>N});var r=i(251),a=i(12971);function n(e){return new DataView(e.buffer,e.byteOffset)}const s={len:1,get:(e,t)=>n(e).getUint8(t),put:(e,t,i)=>(n(e).setUint8(t,i),t+1)},o={len:2,get:(e,t)=>n(e).getUint16(t,!0),put:(e,t,i)=>(n(e).setUint16(t,i,!0),t+2)},c={len:2,get:(e,t)=>n(e).getUint16(t),put:(e,t,i)=>(n(e).setUint16(t,i),t+2)},l={len:3,get(e,t){const i=n(e);return i.getUint8(t)+(i.getUint16(t+1,!0)<<8)},put(e,t,i){const r=n(e);return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},m={len:3,get(e,t){const i=n(e);return(i.getUint16(t)<<8)+i.getUint8(t+2)},put(e,t,i){const r=n(e);return r.setUint16(t,i>>8),r.setUint8(t+2,255&i),t+3}},u={len:4,get:(e,t)=>n(e).getUint32(t,!0),put:(e,t,i)=>(n(e).setUint32(t,i,!0),t+4)},p={len:4,get:(e,t)=>n(e).getUint32(t),put:(e,t,i)=>(n(e).setUint32(t,i),t+4)},d={len:1,get:(e,t)=>n(e).getInt8(t),put:(e,t,i)=>(n(e).setInt8(t,i),t+1)},f={len:2,get:(e,t)=>n(e).getInt16(t),put:(e,t,i)=>(n(e).setInt16(t,i),t+2)},h={len:2,get:(e,t)=>n(e).getInt16(t,!0),put:(e,t,i)=>(n(e).setInt16(t,i,!0),t+2)},g={len:3,get(e,t){const i=l.get(e,t);return i>8388607?i-16777216:i},put(e,t,i){const r=n(e);return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},T={len:3,get(e,t){const i=m.get(e,t);return i>8388607?i-16777216:i},put(e,t,i){const r=n(e);return r.setUint16(t,i>>8),r.setUint8(t+2,255&i),t+3}},k={len:4,get:(e,t)=>n(e).getInt32(t),put:(e,t,i)=>(n(e).setInt32(t,i),t+4)},y={len:4,get:(e,t)=>n(e).getInt32(t,!0),put:(e,t,i)=>(n(e).setInt32(t,i,!0),t+4)},x={len:8,get:(e,t)=>n(e).getBigUint64(t,!0),put:(e,t,i)=>(n(e).setBigUint64(t,i,!0),t+8)},b={len:8,get:(e,t)=>n(e).getBigInt64(t,!0),put:(e,t,i)=>(n(e).setBigInt64(t,i,!0),t+8)},w={len:8,get:(e,t)=>n(e).getBigUint64(t),put:(e,t,i)=>(n(e).setBigUint64(t,i),t+8)},I={len:8,get:(e,t)=>n(e).getBigInt64(t),put:(e,t,i)=>(n(e).setBigInt64(t,i),t+8)},v={len:2,get(e,t){return r.read(e,t,!1,10,this.len)},put(e,t,i){return r.write(e,i,t,!1,10,this.len),t+this.len}},S={len:2,get(e,t){return r.read(e,t,!0,10,this.len)},put(e,t,i){return r.write(e,i,t,!0,10,this.len),t+this.len}},A={len:4,get:(e,t)=>n(e).getFloat32(t),put:(e,t,i)=>(n(e).setFloat32(t,i),t+4)},E={len:4,get:(e,t)=>n(e).getFloat32(t,!0),put:(e,t,i)=>(n(e).setFloat32(t,i,!0),t+4)},_={len:8,get:(e,t)=>n(e).getFloat64(t),put:(e,t,i)=>(n(e).setFloat64(t,i),t+8)},C={len:8,get:(e,t)=>n(e).getFloat64(t,!0),put:(e,t,i)=>(n(e).setFloat64(t,i,!0),t+8)},M={len:10,get(e,t){return r.read(e,t,!1,63,this.len)},put(e,t,i){return r.write(e,i,t,!1,63,this.len),t+this.len}},R={len:10,get(e,t){return r.read(e,t,!0,63,this.len)},put(e,t,i){return r.write(e,i,t,!0,63,this.len),t+this.len}};class z{constructor(e){this.len=e}get(e,t){}}class N{constructor(e){this.len=e}get(e,t){return e.subarray(t,t+this.len)}}class L{constructor(e,t){this.len=e,this.encoding=t}get(e,t=0){const i=e.subarray(t,t+this.len);return(0,a.c)(i,this.encoding)}}class B extends L{constructor(e){super(e,"windows-1252")}}},5031(e,t,i){"use strict";i.d(t,{e:()=>o});var r=i(12971),a=i(56185),n=i(63324);const s=/^[\x21-\x7e©][\x20-\x7e\x00()]{3}/,o={len:4,get:(e,t)=>{const i=(0,r.c)(e.subarray(t,t+o.len),"latin1");if(!i.match(s))throw new n.gP(`FourCC contains invalid characters: ${a.DY(i)} "${i}"`);return i},put:(e,t,i)=>{const a=(0,r.I)(i,"latin1");if(4!==a.length)throw new n.nK("Invalid length");return e.set(a,t),t+4}}},6585(e){var t=1e3,i=60*t,r=60*i,a=24*r,n=7*a;function s(e,t,i,r){var a=t>=1.5*i;return Math.round(e/i)+" "+r+(a?"s":"")}e.exports=function(e,o){o=o||{};var c,l,m=typeof e;if("string"===m&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\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(s){var o=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"weeks":case"week":case"w":return o*n;case"days":case"day":case"d":return o*a;case"hours":case"hour":case"hrs":case"hr":case"h":return o*r;case"minutes":case"minute":case"mins":case"min":case"m":return o*i;case"seconds":case"second":case"secs":case"sec":case"s":return o*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===m&&isFinite(e))return o.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=r?s(c,l,r,"hour"):l>=i?s(c,l,i,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var n=Math.abs(e);return n>=a?Math.round(e/a)+"d":n>=r?Math.round(e/r)+"h":n>=i?Math.round(e/i)+"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))}},10283(e,t,i){"use strict";i.r(t),i.d(t,{APEv2Parser:()=>w,ApeContentError:()=>x,tryParseApeHeader:()=>b});var r=i(17833),a=i(10718),n=i(4017),s=i(56185),o=i(74604),c=i(5031);const l={len:52,get:(e,t)=>({ID:c.e.get(e,t),version:n.UINT32_LE.get(e,t+4)/1e3,descriptorBytes:n.UINT32_LE.get(e,t+8),headerBytes:n.UINT32_LE.get(e,t+12),seekTableBytes:n.UINT32_LE.get(e,t+16),headerDataBytes:n.UINT32_LE.get(e,t+20),apeFrameDataBytes:n.UINT32_LE.get(e,t+24),apeFrameDataBytesHigh:n.UINT32_LE.get(e,t+28),terminatingDataBytes:n.UINT32_LE.get(e,t+32),fileMD5:new n.Uint8ArrayType(16).get(e,t+36)})},m={len:24,get:(e,t)=>({compressionLevel:n.UINT16_LE.get(e,t),formatFlags:n.UINT16_LE.get(e,t+2),blocksPerFrame:n.UINT32_LE.get(e,t+4),finalFrameBlocks:n.UINT32_LE.get(e,t+8),totalFrames:n.UINT32_LE.get(e,t+12),bitsPerSample:n.UINT16_LE.get(e,t+16),channel:n.UINT16_LE.get(e,t+18),sampleRate:n.UINT32_LE.get(e,t+20)})},u={len:32,get:(e,t)=>({ID:new n.StringType(8,"ascii").get(e,t),version:n.UINT32_LE.get(e,t+8),size:n.UINT32_LE.get(e,t+12),fields:n.UINT32_LE.get(e,t+16),flags:d(n.UINT32_LE.get(e,t+20))})},p={len:8,get:(e,t)=>({size:n.UINT32_LE.get(e,t),flags:d(n.UINT32_LE.get(e,t+4))})};function d(e){return{containsHeader:f(e,31),containsFooter:f(e,30),isHeader:f(e,29),readOnly:f(e,0),dataType:(6&e)>>1}}function f(e,t){return!!(e&1<<t)}var h=i(63324),g=i(12971);const T=r("music-metadata:parser:APEv2"),k="APEv2",y="APETAGEX";class x extends((0,h.fO)("APEv2")){}function b(e,t,i){return new w(e,t,i).tryParseApeHeader()}class w extends o.s{constructor(){super(...arguments),this.ape={}}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 i=new Uint8Array(u.len),r=e.position;if(t<=u.len)T(`Offset is too small to read APE footer: offset=${t}`);else if(t>u.len){await e.readBuffer(i,{position:t-u.len}),e.setPosition(r);const a=u.get(i,0);if("APETAGEX"===a.ID)return a.flags.isHeader?T("APE Header found at offset="+(t-u.len)):(T("APE Footer found at offset="+(t-u.len)),t-=a.size),{footer:a,offset:t}}}static parseTagFooter(e,t,i){const r=u.get(t,t.length-u.len);if(r.ID!==y)throw new x("Unexpected APEv2 Footer ID preamble value");return a.vY(t),new w(e,a.vY(t),i).parseTags(r)}async tryParseApeHeader(){if(this.tokenizer.fileInfo.size&&this.tokenizer.fileInfo.size-this.tokenizer.position<u.len)return void T("No APEv2 header found, end-of-file reached");const e=await this.tokenizer.peekToken(u);if(e.ID===y)return await this.tokenizer.ignore(u.len),this.parseTags(e);if(T(`APEv2 header not found at offset=${this.tokenizer.position}`),this.tokenizer.fileInfo.size){const e=this.tokenizer.fileInfo.size-this.tokenizer.position,t=new Uint8Array(e);return await this.tokenizer.readBuffer(t),w.parseTagFooter(this.metadata,t,this.options)}}async parse(){const e=await this.tokenizer.readToken(l);if("MAC "!==e.ID)throw new x("Unexpected descriptor ID");this.ape.descriptor=e;const t=e.descriptorBytes-l.len,i=await(t>0?this.parseDescriptorExpansion(t):this.parseHeader());return this.metadata.setAudioOnly(),await this.tokenizer.ignore(i.forwardBytes),this.tryParseApeHeader()}async parseTags(e){const t=new Uint8Array(256);let i=e.size-u.len;T(`Parse APE tags at offset=${this.tokenizer.position}, size=${i}`);for(let r=0;r<e.fields;r++){if(i<p.len){this.metadata.addWarning(`APEv2 Tag-header: ${e.fields-r} items remaining, but no more tag data to read.`);break}const a=await this.tokenizer.readToken(p);i-=p.len+a.size,await this.tokenizer.peekBuffer(t,{length:Math.min(t.length,i)});let o=s.sX(t);const c=await this.tokenizer.readToken(new n.StringType(o,"ascii"));switch(await this.tokenizer.ignore(1),i-=c.length+1,a.flags.dataType){case 0:{const e=(await this.tokenizer.readToken(new n.StringType(a.size,"utf8"))).split(/\x00/g);await Promise.all(e.map(e=>this.metadata.addTag(k,c,e)));break}case 1:if(this.options.skipCovers)await this.tokenizer.ignore(a.size);else{const e=new Uint8Array(a.size);await this.tokenizer.readBuffer(e),o=s.sX(e);const t=(0,g.c)(e.subarray(0,o),"utf-8"),i=e.subarray(o+1);await this.metadata.addTag(k,c,{description:t,data:i})}break;case 2:T(`Ignore external info ${c}`),await this.tokenizer.ignore(a.size);break;case 3:T(`Ignore external info ${c}`),this.metadata.addWarning(`APEv2 header declares a reserved datatype for "${c}"`),await this.tokenizer.ignore(a.size)}}}async parseDescriptorExpansion(e){return await this.tokenizer.ignore(e),this.parseHeader()}async parseHeader(){const e=await this.tokenizer.readToken(m);if(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",w.calculateDuration(e)),!this.ape.descriptor)throw new x("Missing APE descriptor");return{forwardBytes:this.ape.descriptor.seekTableBytes+this.ape.descriptor.headerDataBytes+this.ape.descriptor.apeFrameDataBytes+this.ape.descriptor.terminatingDataBytes}}}},10718(e,t,i){"use strict";i.d(t,{d1:()=>r,_F:()=>h,vY:()=>f,Xx:()=>d});class r extends Error{constructor(){super("End-Of-Stream"),this.name="EndOfStreamError"}}class a extends Error{constructor(e="The operation was aborted"){super(e),this.name="AbortError"}}class n{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(e,t=!1){const i=await this.read(e,t);return this.peekQueue.push(e.subarray(0,i)),i}async read(e,t=!1){if(0===e.length)return 0;let i=this.readFromPeekBuffer(e);if(this.endOfStream||(i+=await this.readRemainderFromStream(e.subarray(i),t)),0===i&&!t)throw new r;return i}readFromPeekBuffer(e){let t=e.length,i=0;for(;this.peekQueue.length>0&&t>0;){const r=this.peekQueue.pop();if(!r)throw new Error("peekData should be defined");const a=Math.min(r.length,t);e.set(r.subarray(0,a),i),i+=a,t-=a,a<r.length&&this.peekQueue.push(r.subarray(a))}return i}async readRemainderFromStream(e,t){let i=0;for(;i<e.length&&!this.endOfStream;){if(this.interrupted)throw new a;const r=await this.readFromStream(e.subarray(i),t);if(0===r)break;i+=r}if(!t&&i<e.length)throw new r;return i}}class s extends n{constructor(e){super(),this.reader=e}async abort(){return this.close()}async close(){this.reader.releaseLock()}}class o extends s{async readFromStream(e,t){if(0===e.length)return 0;const i=await this.reader.read(new Uint8Array(e.length),{min:t?void 0:e.length});return i.done&&(this.endOfStream=i.done),i.value?(e.set(i.value),i.value.length):0}}class c extends n{constructor(e){super(),this.reader=e,this.buffer=null}writeChunk(e,t){const i=Math.min(t.length,e.length);return e.set(t.subarray(0,i)),i<t.length?this.buffer=t.subarray(i):this.buffer=null,i}async readFromStream(e,t){if(0===e.length)return 0;let i=0;for(this.buffer&&(i+=this.writeChunk(e,this.buffer));i<e.length&&!this.endOfStream;){const t=await this.reader.read();if(t.done){this.endOfStream=!0;break}t.value&&(i+=this.writeChunk(e.subarray(i),t.value))}if(!t&&0===i&&this.endOfStream)throw new r;return i}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}}class l{constructor(e){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=e?.onClose,e?.abortSignal&&e.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(e,t=this.position){const i=new Uint8Array(e.len);if(await this.readBuffer(i,{position:t})<e.len)throw new r;return e.get(i,0)}async peekToken(e,t=this.position){const i=new Uint8Array(e.len);if(await this.peekBuffer(i,{position:t})<e.len)throw new r;return e.get(i,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new r;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new r;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(){await this.abort(),await(this.onClose?.())}normalizeOptions(e,t){if(!this.supportsRandomAccess()&&t&&void 0!==t.position&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:e.length,position:this.position,...t}}abort(){return Promise.resolve()}}class m extends l{constructor(e,t){super(t),this.streamReader=e,this.fileInfo=t?.fileInfo??{}}async readBuffer(e,t){const i=this.normalizeOptions(e,t),a=i.position-this.position;if(a>0)return await this.ignore(a),this.readBuffer(e,t);if(a<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===i.length)return 0;const n=await this.streamReader.read(e.subarray(0,i.length),i.mayBeLess);if(this.position+=n,(!t||!t.mayBeLess)&&n<i.length)throw new r;return n}async peekBuffer(e,t){const i=this.normalizeOptions(e,t);let a=0;if(i.position){const t=i.position-this.position;if(t>0){const r=new Uint8Array(i.length+t);return a=await this.peekBuffer(r,{mayBeLess:i.mayBeLess}),e.set(r.subarray(t)),a-t}if(t<0)throw new Error("Cannot peek from a negative offset in a stream")}if(i.length>0){try{a=await this.streamReader.peek(e.subarray(0,i.length),i.mayBeLess)}catch(e){if(t?.mayBeLess&&e instanceof r)return 0;throw e}if(!i.mayBeLess&&a<i.length)throw new r}return a}async ignore(e){const t=Math.min(256e3,e),i=new Uint8Array(t);let r=0;for(;r<e;){const a=e-r,n=await this.readBuffer(i,{length:Math.min(t,a)});if(n<0)return n;r+=n}return r}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}}class u extends l{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo={...t?.fileInfo??{},size:e.length}}async readBuffer(e,t){t?.position&&(this.position=t.position);const i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){const i=this.normalizeOptions(e,t),a=Math.min(this.uint8Array.length-i.position,i.length);if(!i.mayBeLess&&a<i.length)throw new r;return e.set(this.uint8Array.subarray(i.position,i.position+a)),a}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}}class p extends l{constructor(e,t){super(t),this.blob=e,this.fileInfo={...t?.fileInfo??{},size:e.size,mimeType:e.type}}async readBuffer(e,t){t?.position&&(this.position=t.position);const i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){const i=this.normalizeOptions(e,t),a=Math.min(this.blob.size-i.position,i.length);if(!i.mayBeLess&&a<i.length)throw new r;const n=await this.blob.slice(i.position,i.position+a).arrayBuffer();return e.set(new Uint8Array(n)),a}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}}function d(e,t){const i=function(e){try{const t=e.getReader({mode:"byob"});return t instanceof ReadableStreamDefaultReader?new c(t):new o(t)}catch(t){if(t instanceof TypeError)return new c(e.getReader());throw t}}(e),r=t??{},a=r.onClose;return r.onClose=async()=>{if(await i.close(),a)return a()},new m(i,r)}function f(e,t){return new u(e,t)}function h(e,t){return new p(e,t)}},12971(e,t,i){"use strict";i.d(t,{I:()=>l,c:()=>c});const r={128:"€",130:"",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"",140:"Œ",142:"Ž",145:"",146:"",147:"“",148:"”",149:"•",150:"",151:"—",152:"˜",153:"™",154:"š",155:"",156:"œ",158:"ž",159:"Ÿ"},a={};for(const[e,t]of Object.entries(r))a[t]=Number.parseInt(e,10);let n,s;const o=32768;function c(e,t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":{const t=function(){if(void 0!==globalThis.TextDecoder)return null!=n?n:n=new globalThis.TextDecoder("utf-8")}();return t?t.decode(e):function(e){const t=[];let i="",r=0;for(;r<e.length;){const a=e[r++];if(a<128)i+=String.fromCharCode(a);else if(a<224){const t=63&e[r++];i+=String.fromCharCode((31&a)<<6|t)}else if(a<240){const t=63&e[r++],n=63&e[r++];i+=String.fromCharCode((15&a)<<12|t<<6|n)}else{let t=(7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++];t-=65536,i+=String.fromCharCode(55296+(t>>10&1023),56320+(1023&t))}i.length>=o&&(t.push(i),i="")}return i&&t.push(i),t.join("")}(e)}case"utf-16le":return function(e){const t=-2&e.length;if(0===t)return"";const i=[];for(let r=0;r<t;){const a=Math.min(32768,t-r>>1),n=new Array(a);for(let t=0;t<a;t++,r+=2)n[t]=e[r]|e[r+1]<<8;i.push(String.fromCharCode.apply(null,n))}return i.join("")}(e);case"us-ascii":case"ascii":return function(e){const t=[];for(let i=0;i<e.length;i+=o){const r=Math.min(e.length,i+o),a=new Array(r-i);for(let t=i,n=0;t<r;t++,n++)a[n]=127&e[t];t.push(String.fromCharCode.apply(null,a))}return t.join("")}(e);case"latin1":case"iso-8859-1":return function(e){const t=[];for(let i=0;i<e.length;i+=o){const r=Math.min(e.length,i+o),a=new Array(r-i);for(let t=i,n=0;t<r;t++,n++)a[n]=e[t];t.push(String.fromCharCode.apply(null,a))}return t.join("")}(e);case"windows-1252":return function(e){const t=[];let i="";for(let a=0;a<e.length;a++){const n=e[a],s=n>=128&&n<=159?r[n]:void 0;i+=null!=s?s:String.fromCharCode(n),i.length>=o&&(t.push(i),i="")}return i&&t.push(i),t.join("")}(e);default:throw new RangeError(`Encoding '${t}' not supported`)}}function l(e="",t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":{const t=function(){if(void 0!==globalThis.TextEncoder)return null!=s?s:s=new globalThis.TextEncoder}();return t?t.encode(e):function(e){const t=[];for(let i=0;i<e.length;i++){let r=e.charCodeAt(i);if(r>=55296&&r<=56319&&i+1<e.length){const t=e.charCodeAt(i+1);t>=56320&&t<=57343&&(r=65536+(r-55296<<10)+(t-56320),i++)}r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<65536?t.push(224|r>>12,128|r>>6&63,128|63&r):t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r)}return new Uint8Array(t)}(e)}case"utf-16le":return function(e){const t=new Uint8Array(2*e.length);for(let i=0;i<e.length;i++){const r=e.charCodeAt(i),a=2*i;t[a]=255&r,t[a+1]=r>>>8}return t}(e);case"us-ascii":case"ascii":return function(e){const t=new Uint8Array(e.length);for(let i=0;i<e.length;i++)t[i]=127&e.charCodeAt(i);return t}(e);case"latin1":case"iso-8859-1":return function(e){const t=new Uint8Array(e.length);for(let i=0;i<e.length;i++)t[i]=255&e.charCodeAt(i);return t}(e);case"windows-1252":return function(e){const t=new Uint8Array(e.length);for(let i=0;i<e.length;i++){const r=e[i],n=r.charCodeAt(0);if(n<=255){t[i]=n;continue}const s=a[r];t[i]=void 0!==s?s:63}return t}(e);default:throw new RangeError(`Encoding '${t}' not supported`)}}},17833(e,t,i){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 i="color: "+this.color;t.splice(1,0,i,"color: inherit");let r=0,a=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(r++,"%c"===e&&(a=r))}),t.splice(a,0,i)},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")||t.storage.getItem("DEBUG")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"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&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[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=i(40736)(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},40736(e,t,i){e.exports=function(e){function t(e){let i,a,n,s=null;function o(...e){if(!o.enabled)return;const r=o,a=Number(new Date),n=a-(i||a);r.diff=n,r.prev=i,r.curr=a,i=a,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,(i,a)=>{if("%%"===i)return"%";s++;const n=t.formatters[a];if("function"==typeof n){const t=e[s];i=n.call(r,t),e.splice(s,1),s--}return i}),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:(a!==t.namespaces&&(a=t.namespaces,n=t.enabled(e)),n),set:e=>{s=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,i){const r=t(this.namespace+(void 0===i?":":i)+e);return r.log=this.log,r}function a(e,t){let i=0,r=0,a=-1,n=0;for(;i<e.length;)if(r<t.length&&(t[r]===e[i]||"*"===t[r]))"*"===t[r]?(a=r,n=i,r++):(i++,r++);else{if(-1===a)return!1;r=a+1,n++,i=n}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}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,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const i=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of i)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const i of t.skips)if(a(e,i))return!1;for(const i of t.names)if(a(e,i))return!0;return!1},t.humanize=i(6585),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(i=>{t[i]=e[i]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let i=0;for(let t=0;t<e.length;t++)i=(i<<5)-i+e.charCodeAt(t),i|=0;return t.colors[Math.abs(i)%t.colors.length]},t.enable(t.load()),t}},45207(e,t,i){"use strict";i.d(t,{S:()=>a,vQ:()=>n,yK:()=>r});const r={10:"shot",20:"scene",30:"track",40:"part",50:"album",60:"edition",70:"collection"},a={video:1,audio:2,complex:3,logo:4,subtitle:17,button:18,control:32},n={[a.video]:"video",[a.audio]:"audio",[a.complex]:"complex",[a.logo]:"logo",[a.subtitle]:"subtitle",[a.button]:"button",[a.control]:"control"}},47675(e,t,i){"use strict";i.d(t,{Jp:()=>p,MW:()=>s,St:()=>c,YF:()=>u,aY:()=>d,n5:()=>n,nl:()=>m,sd:()=>o,yW:()=>l});var r=i(4017),a=i(56185);const n={0:"Other",1:"32x32 pixels 'file icon' (PNG only)",2:"Other file icon",3:"Cover (front)",4:"Cover (back)",5:"Leaflet page",6:"Media (e.g. label side of CD)",7:"Lead artist/lead performer/soloist",8:"Artist/performer",9:"Conductor",10:"Band/Orchestra",11:"Composer",12:"Lyricist/text writer",13:"Recording Location",14:"During recording",15:"During performance",16:"Movie/video screen capture",17:"A bright coloured fish",18:"Illustration",19:"Band/artist logotype",20:"Publisher/Studio logotype"},s={other:0,lyrics:1,text:2,movement_part:3,events:4,chord:5,trivia_pop:6},o={notSynchronized:0,mpegFrameNumber:1,milliseconds:2},c={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},l={len:10,get:(e,t)=>({fileIdentifier:new r.StringType(3,"ascii").get(e,t),version:{major:r.INT8.get(e,t+3),revision:r.INT8.get(e,t+4)},flags:{unsynchronisation:a.mh(e,t+5,7),isExtendedHeader:a.mh(e,t+5,6),expIndicator:a.mh(e,t+5,5),footer:a.mh(e,t+5,4)},size:c.get(e,t+6)})},m={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:a.mh(e,t+4,31)})},u={len:1,get:(e,t)=>{switch(e[t]){case 0:return{encoding:"latin1"};case 1:return{encoding:"utf-16le",bom:!0};case 2:return{encoding:"utf-16le",bom:!1};default:return{encoding:"utf8",bom:!1}}}},p={len:4,get:(e,t)=>({encoding:u.get(e,t),language:new r.StringType(3,"latin1").get(e,t+1)})},d={len:6,get:(e,t)=>{const i=p.get(e,t);return{encoding:i.encoding,language:i.language,timeStampFormat:r.UINT8.get(e,t+4),contentType:r.UINT8.get(e,t+5)}}}},50864(e,t){"use strict";var i=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;function r(e,t,i){this.type=e,this.subtype=t,this.suffix=i}t.qg=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,n=t[1],s=t[2],o=s.lastIndexOf("+");return-1!==o&&(a=s.substr(o+1),s=s.substr(0,o)),new r(n,s,a)}},53186(e,t,i){"use strict";i.d(t,{parseBlob:()=>Ee,cc:()=>Ce,selectCover:()=>_e});var r=i(10718),a=i(4017),n=i(17833);const s=67324752,o=33639248,c={get:e=>({signature:a.UINT32_LE.get(e,0),compressedSize:a.UINT32_LE.get(e,8),uncompressedSize:a.UINT32_LE.get(e,12)}),len:16},l={get(e){const t=a.UINT16_LE.get(e,6);return{signature:a.UINT32_LE.get(e,0),minVersion:a.UINT16_LE.get(e,4),dataDescriptor:!!(8&t),compressedMethod:a.UINT16_LE.get(e,8),compressedSize:a.UINT32_LE.get(e,18),uncompressedSize:a.UINT32_LE.get(e,22),filenameLength:a.UINT16_LE.get(e,26),extraFieldLength:a.UINT16_LE.get(e,28),filename:null}},len:30},m={get:e=>({signature:a.UINT32_LE.get(e,0),nrOfThisDisk:a.UINT16_LE.get(e,4),nrOfThisDiskWithTheStart:a.UINT16_LE.get(e,6),nrOfEntriesOnThisDisk:a.UINT16_LE.get(e,8),nrOfEntriesOfSize:a.UINT16_LE.get(e,10),sizeOfCd:a.UINT32_LE.get(e,12),offsetOfStartOfCd:a.UINT32_LE.get(e,16),zipFileCommentLength:a.UINT16_LE.get(e,20)}),len:22},u={get(e){const t=a.UINT16_LE.get(e,8);return{signature:a.UINT32_LE.get(e,0),minVersion:a.UINT16_LE.get(e,6),dataDescriptor:!!(8&t),compressedMethod:a.UINT16_LE.get(e,10),compressedSize:a.UINT32_LE.get(e,20),uncompressedSize:a.UINT32_LE.get(e,24),filenameLength:a.UINT16_LE.get(e,28),extraFieldLength:a.UINT16_LE.get(e,30),fileCommentLength:a.UINT16_LE.get(e,32),relativeOffsetOfLocalHeader:a.UINT32_LE.get(e,42),filename:null}},len:46};function p(e){const t=new Uint8Array(a.UINT32_LE.len);return a.UINT32_LE.put(t,0,e),t}const d=n("tokenizer:inflate"),f=262144,h=p(134695760),g=p(101010256);class T{constructor(e){this.tokenizer=e,this.syncBuffer=new Uint8Array(f)}async isZip(){return await this.peekSignature()===s}peekSignature(){return this.tokenizer.peekToken(a.UINT32_LE)}async findEndOfCentralDirectoryLocator(){const e=this.tokenizer,t=Math.min(16384,e.fileInfo.size),i=this.syncBuffer.subarray(0,t);await this.tokenizer.readBuffer(i,{position:e.fileInfo.size-t});for(let r=i.length-4;r>=0;r--)if(i[r]===g[0]&&i[r+1]===g[1]&&i[r+2]===g[2]&&i[r+3]===g[3])return e.fileInfo.size-t+r;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess())return void d("Cannot reading central-directory without random-read support");d("Reading central-directory...");const e=this.tokenizer.position,t=await this.findEndOfCentralDirectoryLocator();if(t>0){d("Central-directory 32-bit signature found");const i=await this.tokenizer.readToken(m,t),r=[];this.tokenizer.setPosition(i.offsetOfStartOfCd);for(let e=0;e<i.nrOfEntriesOfSize;++e){const t=await this.tokenizer.readToken(u);if(t.signature!==o)throw new Error("Expected Central-File-Header signature");t.filename=await this.tokenizer.readToken(new a.StringType(t.filenameLength,"utf-8")),await this.tokenizer.ignore(t.extraFieldLength),await this.tokenizer.ignore(t.fileCommentLength),r.push(t),d(`Add central-directory file-entry: n=${e+1}/${r.length}: filename=${r[e].filename}`)}return this.tokenizer.setPosition(e),r}this.tokenizer.setPosition(e)}async unzip(e){const t=await this.readCentralDirectory();if(t)return this.iterateOverCentralDirectory(t,e);let i=!1;do{const t=await this.readLocalFileHeader();if(!t)break;const r=e(t);let a;if(i=!!r.stop,await this.tokenizer.ignore(t.extraFieldLength),t.dataDescriptor&&0===t.compressedSize){const e=[];let i=f;d("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let a=-1;for(;a<0&&i===f;){i=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0}),a=k(this.syncBuffer.subarray(0,i),h);const t=a>=0?a:i;if(r.handler){const i=new Uint8Array(t);await this.tokenizer.readBuffer(i),e.push(i)}else await this.tokenizer.ignore(t)}d(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),r.handler&&await this.inflate(t,y(e),r.handler)}else r.handler?(d(`Reading compressed-file-data: ${t.compressedSize} bytes`),a=new Uint8Array(t.compressedSize),await this.tokenizer.readBuffer(a),await this.inflate(t,a,r.handler)):(d(`Ignoring compressed-file-data: ${t.compressedSize} bytes`),await this.tokenizer.ignore(t.compressedSize));if(d(`Reading data-descriptor at pos=${this.tokenizer.position}`),t.dataDescriptor&&134695760!==(await this.tokenizer.readToken(c)).signature)throw new Error("Expected data-descriptor-signature at position "+(this.tokenizer.position-c.len))}while(!i)}async iterateOverCentralDirectory(e,t){for(const i of e){const e=t(i);if(e.handler){this.tokenizer.setPosition(i.relativeOffsetOfLocalHeader);const t=await this.readLocalFileHeader();if(t){await this.tokenizer.ignore(t.extraFieldLength);const r=new Uint8Array(i.compressedSize);await this.tokenizer.readBuffer(r),await this.inflate(t,r,e.handler)}}if(e.stop)break}}async inflate(e,t,i){if(0===e.compressedMethod)return i(t);if(8!==e.compressedMethod)throw new Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);return d(`Decompress filename=${e.filename}, compressed-size=${t.length}`),i(await T.decompressDeflateRaw(t))}static async decompressDeflateRaw(e){const t=new ReadableStream({start(t){t.enqueue(e),t.close()}}),i=new DecompressionStream("deflate-raw"),r=t.pipeThrough(i);try{const e=new Response(r),t=await e.arrayBuffer();return new Uint8Array(t)}catch(e){const t=e instanceof Error?`Failed to deflate ZIP entry: ${e.message}`:"Unknown decompression error in ZIP entry";throw new TypeError(t)}}async readLocalFileHeader(){const e=await this.tokenizer.peekToken(a.UINT32_LE);if(e===s){const e=await this.tokenizer.readToken(l);return e.filename=await this.tokenizer.readToken(new a.StringType(e.filenameLength,"utf-8")),e}if(e===o)return!1;if(3759263696===e)throw new Error("Encrypted ZIP");throw new Error("Unexpected signature")}}function k(e,t){const i=e.length,r=t.length;if(r>i)return-1;for(let a=0;a<=i-r;a++){let i=!0;for(let n=0;n<r;n++)if(e[a+n]!==t[n]){i=!1;break}if(i)return a}return-1}function y(e){const t=e.reduce((e,t)=>e+t.length,0),i=new Uint8Array(t);let r=0;for(const t of e)i.set(t,r),r+=t.length;return i}class x{constructor(e){this.tokenizer=e}inflate(){const e=this.tokenizer;return new ReadableStream({async pull(t){const i=new Uint8Array(1024),r=await e.readBuffer(i,{mayBeLess:!0});0!==r?t.enqueue(i.subarray(0,r)):t.close()}}).pipeThrough(new DecompressionStream("gzip"))}}var b=i(78523);const w={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},I=4100;async function v(e,t){return new E(t).fromBuffer(e)}function S(e){switch(e=e.toLowerCase()){case"application/epub+zip":return{ext:"epub",mime:e};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:e};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:e};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:e};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:e};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:e};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:e};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:e};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:e};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:e};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:e};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:e};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:e};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:e};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:e};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:e};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"}}}function A(e,t,i){i={offset:0,...i};for(const[r,a]of t.entries())if(i.mask){if(a!==(i.mask[r]&e[r+i.offset]))return!1}else if(a!==e[r+i.offset])return!1;return!0}class E{constructor(e){this.options={mpegOffsetTolerance:0,...e},this.detectors=[...e?.customDetectors??[],{id:"core",detect:this.detectConfident},{id:"core.imprecise",detect:this.detectImprecise}],this.tokenizerOptions={abortSignal:e?.signal}}async fromTokenizer(e){const t=e.position;for(const i of this.detectors){const r=await i.detect(e);if(r)return r;if(t!==e.position)return}}async fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);const t=e instanceof Uint8Array?e:new Uint8Array(e);if(t?.length>1)return this.fromTokenizer(r.vY(t,this.tokenizerOptions))}async fromBlob(e){const t=r._F(e,this.tokenizerOptions);try{return await this.fromTokenizer(t)}finally{await t.close()}}async fromStream(e){const t=r.Xx(e,this.tokenizerOptions);try{return await this.fromTokenizer(t)}finally{await t.close()}}async toDetectionStream(e,t){const{sampleSize:i=I}=t;let a,n;const s=e.getReader({mode:"byob"});try{const{value:e,done:t}=await s.read(new Uint8Array(i));if(n=e,!t&&e)try{a=await this.fromBuffer(e.subarray(0,i))}catch(e){if(!(e instanceof r.d1))throw e;a=void 0}n=e}finally{s.releaseLock()}const o=new TransformStream({async start(e){e.enqueue(n)},transform(e,t){t.enqueue(e)}}),c=e.pipeThrough(o);return c.fileType=a,c}check(e,t){return A(this.buffer,e,t)}checkString(e,t){return this.check(function(e,t){if("utf-16le"===t){const t=[];for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);t.push(255&r,r>>8&255)}return t}if("utf-16be"===t){const t=[];for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);t.push(r>>8&255,255&r)}return t}return[...e].map(e=>e.charCodeAt(0))}(e,t?.encoding),t)}detectConfident=async e=>{if(this.buffer=new Uint8Array(I),void 0===e.fileInfo.size&&(e.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=e,await e.peekBuffer(this.buffer,{length:32,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await e.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.tokenizer.ignore(3),this.detectConfident(e);if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8])){const t=new x(e).inflate();let i=!0;try{let n;try{n=await this.fromStream(t)}catch{i=!1}if(n&&"tar"===n.ext)return{ext:"tar.gz",mime:"application/gzip"}}finally{i&&await t.cancel()}return{ext:"gz",mime:"application/gzip"}}if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await e.ignore(6);const s=await e.readToken(w);return e.position+s>e.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await e.ignore(s),this.fromTokenizer(e))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((67===this.buffer[0]||70===this.buffer[0])&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){let o;return await new T(e).unzip(e=>{switch(e.filename){case"META-INF/mozilla.rsa":return o={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return o={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":return{async handler(e){const t=new TextDecoder("utf-8").decode(e).trim();o=S(t)},stop:!0};case"[Content_Types].xml":return{async handler(e){let t=new TextDecoder("utf-8").decode(e);const i=t.indexOf('.main+xml"');if(-1===i){const e="application/vnd.ms-package.3dmanufacturing-3dmodel+xml";t.includes(`ContentType="${e}"`)&&(o=S(e))}else{t=t.slice(0,Math.max(0,i));const e=t.lastIndexOf('"'),r=t.slice(Math.max(0,e+1));o=S(r)}},stop:!0};default:return/classes\d*\.dex/.test(e.filename)?(o={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0}):{}}}).catch(e=>{if(!(e instanceof r.d1))throw e}),o??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await e.ignore(28);const c=new Uint8Array(8);return await e.readBuffer(c),A(c,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/ogg; codecs=opus"}:A(c,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:A(c,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:A(c,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:A(c,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:A(c,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(3===this.buffer[2]||5===this.buffer[2]||7===this.buffer[2])&&(4===this.buffer[3]||6===this.buffer[3]||8===this.buffer[3]))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){const l=await this.readTiffHeader(!1);if(l)return l}if(this.check([77,77])){const m=await this.readTiffHeader(!0);if(m)return m}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function u(){const t=await e.peekNumber(a.UINT8);let i=128,r=0;for(;0===(t&i)&&0!==i;)++r,i>>=1;const n=new Uint8Array(r+1);return await e.readBuffer(n),n}async function p(){const e=await u(),t=await u();t[0]^=128>>t.length-1;const i=Math.min(6,t.length),r=new DataView(e.buffer),a=new DataView(t.buffer,t.length-i,i);return{id:(0,b.AW)(r),len:(0,b.AW)(a)}}async function d(t){for(;t>0;){const i=await p();if(17026===i.id)return(await e.readToken(new a.StringType(i.len))).replaceAll(/\00.*$/g,"");await e.ignore(i.len),--t}}const f=await p();switch(await d(f.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:return}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([254,237,250,206])||this.check([254,237,250,207])||this.check([206,250,237,254])||this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.checkString("regf"))return{ext:"dat",mime:"application/x-ft-windows-registry-hive"};if(this.checkString("$FL2")||this.checkString("$FL3"))return{ext:"sav",mime:"application/x-spss-sav"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190])){const h=a.UINT32_BE.get(this.buffer,4),g=a.UINT16_BE.get(this.buffer,6);if(h>0&&h<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(g>30)return{ext:"class",mime:"application/java-vm"}}if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/vnd.google.draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(0===this.buffer[6]||1===this.buffer[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){const k=new a.StringType(4,"latin1").get(this.buffer,2);if(k.match("^d*")&&k>=1e3&&k<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>"))return await e.ignore(8),"debian-binary"===await e.readToken(new a.StringType(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("WEBVTT")&&["\n","\r","\t"," ","\0"].some(e=>this.checkString(e,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){async function y(){return{length:await e.readToken(a.INT32_BE),type:await e.readToken(new a.StringType(4,"latin1"))}}await e.ignore(8);do{const v=await y();if(v.length<0)return;switch(v.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await e.ignore(v.length+4)}}while(e.position+8<e.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&96&this.buffer[8]){const E=new a.StringType(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(E){case"avif":case"avis":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(this.checkString("REGEDIT4\r\n"))return{ext:"reg",mime:"application/x-ms-regedit"};if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function _(){const t=new Uint8Array(16);return await e.readBuffer(t),{id:t,size:Number(await e.readToken(a.UINT64_LE))}}for(await e.ignore(30);e.position+24<e.fileInfo.size;){const C=await _();let M=C.size-24;if(A(C.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){const R=new Uint8Array(16);if(M-=await e.readBuffer(R),A(R,[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(A(R,[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(M)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await e.ignore(20),await e.readToken(new a.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(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.checkString("<?xml ",{offset:2,encoding:"utf-16be"})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(this.buffer,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){const z=new DataView(this.buffer.buffer).getUint32(12,!0);if(z>12&&this.buffer.length>=z+16)try{const N=(new TextDecoder).decode(this.buffer.subarray(16,z+16));if(JSON.parse(N).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([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(this.check([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(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(this.check([255,255,0,0,7,0,0,0,4,0,0,0,1,0,1,0])||this.check([0,0,255,255,0,0,0,7,0,0,0,4,0,1,0,1]))return{ext:"jmp",mime:"application/x-jmp-data"};if(await e.peekBuffer(this.buffer,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\0",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&function(e,t=0){const i=Number.parseInt(new a.StringType(6).get(e,148).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(i))return!1;let r=256;for(let i=t;i<t+148;i++)r+=e[i];for(let i=t+156;i<t+512;i++)r+=e[i];return i===r}(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){const L="utf-16le";return this.checkString("<?xml ",{offset:2,encoding:L})?{ext:"xml",mime:"application/xml"}:this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:L})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:this.checkString("Windows Registry Editor Version 5.00\r\n",{offset:2,encoding:L})?{ext:"reg",mime:"application/x-ms-regedit"}:void 0}return this.checkString("-----BEGIN PGP MESSAGE-----")?{ext:"pgp",mime:"application/pgp-encrypted"}:void 0};detectImprecise=async e=>{if(this.buffer=new Uint8Array(I),await e.peekBuffer(this.buffer,{length:Math.min(8,e.fileInfo.size),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await e.peekBuffer(this.buffer,{length:Math.min(2+this.options.mpegOffsetTolerance,e.fileInfo.size),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let e=0;e<=this.options.mpegOffsetTolerance;++e){const t=this.scanMpeg(e);if(t)return t}};async readTiffTag(e){const t=await this.tokenizer.readToken(e?a.UINT16_BE:a.UINT16_LE);switch(this.tokenizer.ignore(10),t){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"}}}async readTiffIFD(e){const t=await this.tokenizer.readToken(e?a.UINT16_BE:a.UINT16_LE);for(let i=0;i<t;++i){const t=await this.readTiffTag(e);if(t)return t}}async readTiffHeader(e){const t=(e?a.UINT16_BE:a.UINT16_LE).get(this.buffer,2),i=(e?a.UINT32_BE:a.UINT32_LE).get(this.buffer,4);if(42===t){if(i>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(i>=8){const t=(e?a.UINT16_BE:a.UINT16_LE).get(this.buffer,8),i=(e?a.UINT16_BE:a.UINT16_LE).get(this.buffer,10);if(28===t&&254===i||31===t&&11===i)return{ext:"nef",mime:"image/x-nikon-nef"}}}return await this.tokenizer.ignore(i),await this.readTiffIFD(e)??{ext:"tif",mime:"image/tiff"}}if(43===t)return{ext:"tif",mime:"image/tiff"}}scanMpeg(e){if(this.check([255,224],{offset:e,mask:[255,224]})){if(this.check([16],{offset:e+1,mask:[22]}))return this.check([8],{offset:e+1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:e+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:e+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:e+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}}new Set(["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","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","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","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","jmp","rm","sav","ppsm","ppsx","tar.gz","reg","dat"]),new Set(["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.ms-powerpoint.slideshow.macroenabled.12","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/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","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/j2c","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","text/vtt","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","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive","application/vnd.google.draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia","application/x-spss-sav","application/x-ms-regedit","application/x-ft-windows-registry-hive","application/x-jmp-data"]);var _=i(58597),C=i(50864),M=i(45207);const R={multiple:!1},z={year:R,track:R,disk:R,title:R,artist:R,artists:{multiple:!0,unique:!0},albumartist:R,album:R,date:R,originaldate:R,originalyear:R,releasedate:R,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:R,subtitle:{multiple:!0},discsubtitle:R,totaltracks:R,totaldiscs:R,compilation:R,rating:{multiple:!0},bpm:R,mood:R,media:R,catalognumber:{multiple:!0,unique:!0},tvShow:R,tvShowSort:R,tvSeason:R,tvEpisode:R,tvEpisodeId:R,tvNetwork:R,podcast:R,podcasturl:R,releasestatus:R,releasetype:{multiple:!0},releasecountry:R,script:R,language:R,copyright:R,license:R,encodedby:R,encodersettings:R,gapless:R,barcode:R,isrc:{multiple:!0},asin:R,musicbrainz_recordingid:R,musicbrainz_trackid:R,musicbrainz_albumid:R,musicbrainz_artistid:{multiple:!0},musicbrainz_albumartistid:{multiple:!0},musicbrainz_releasegroupid:R,musicbrainz_workid:R,musicbrainz_trmid:R,musicbrainz_discid:R,acoustid_id:R,acoustid_fingerprint:R,musicip_puid:R,musicip_fingerprint:R,website:R,"performer:instrument":{multiple:!0,unique:!0},averageLevel:R,peakLevel:R,notes:{multiple:!0,unique:!1},key:R,originalalbum:R,originalartist:R,discogs_artist_id:{multiple:!0,unique:!0},discogs_release_id:R,discogs_label_id:R,discogs_master_release_id:R,discogs_votes:R,discogs_rating:R,replaygain_track_peak:R,replaygain_track_gain:R,replaygain_album_peak:R,replaygain_album_gain:R,replaygain_track_minmax:R,replaygain_album_minmax:R,replaygain_undo:R,description:{multiple:!0},longDescription:R,category:{multiple:!0},hdVideo:R,keywords:{multiple:!0},movement:R,movementIndex:R,movementTotal:R,podcastId:R,showMovement:R,stik:R,playCounter:R};class N{static toIntOrNull(e){const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t}static normalizeTrack(e){const t=e.toString().split("/");return{no:Number.parseInt(t[0],10)||null,of:Number.parseInt(t[1],10)||null}}constructor(e,t){this.tagTypes=e,this.tagMap=t}mapGenericTag(e,t){e={id:e.id,value:e.value},this.postMap(e,t);const i=this.getCommonName(e.id);return i?{id:i,value:e.value}:null}getCommonName(e){return this.tagMap[e]}postMap(e,t){}}N.maxRatingScore=1;const L={title:"title",artist:"artist",album:"album",year:"year",comment:"comment",track:"track",genre:"genre"};class B extends N{constructor(){super(["ID3v1"],L)}}class U extends N{constructor(e,t){const i={};for(const e of Object.keys(t))i[e.toUpperCase()]=t[e];super(e,i)}getCommonName(e){return this.tagMap[e.toUpperCase()]}}var P=i(56185);const O={TIT2:"title",TPE1:"artist","TXXX:Artists":"artists",TPE2:"albumartist",TALB:"album",TDRV:"date",TORY:"originalyear",TPOS:"disk",TCON:"genre",APIC:"picture",TCOM:"composer",USLT:"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:"releasedate",TGID:"podcastId",TKWD:"keywords",WFED:"podcasturl",GRP1:"grouping",PCNT:"playCounter"};class D extends U{static toRating(e){return{source:e.email,rating:e.rating>0?(e.rating-1)/254*N.maxRatingScore:void 0}}constructor(){super(["ID3v2.3","ID3v2.4"],O)}postMap(e,t){switch(e.id){case"UFID":{const t=e.value;"http://musicbrainz.org"===t.owner_identifier&&(e.id+=`:${t.owner_identifier}`,e.value=(0,P.sc)(t.identifier,"latin1"))}break;case"PRIV":{const i=e.value;switch(i.owner_identifier){case"AverageLevel":case"PeakValue":e.id+=`:${i.owner_identifier}`,e.value=4===i.data.length?a.UINT32_LE.get(i.data,0):null,null===e.value&&t.addWarning("Failed to parse PRIV:PeakValue");break;default:t.addWarning(`Unknown PRIV owner-identifier: ${i.data}`)}}break;case"POPM":e.value=D.toRating(e.value)}}}const F={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 X extends N{static toRating(e){return{rating:Number.parseFloat(e+1)/5}}constructor(){super(["asf"],F)}postMap(e){switch(e.id){case"WM/SharedUserRating":{const t=e.id.split(":");e.value=X.toRating(e.value),e.id=t[0];break}}}}const G={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",PCS:"podcast",TCP:"compilation",TDR:"date",TS2:"albumartistsort",TSA:"albumsort",TSC:"composersort",TSP:"artistsort",TST:"titlesort",WFD:"podcasturl",TBP:"bpm"};class j extends U{constructor(){super(["ID3v2.2"],G)}}const W={Title:"title",Artist:"artist",Artists:"artists","Album Artist":"albumartist",Album:"album",Year:"date",Originalyear:"originalyear",Originaldate:"originaldate",Releasedate:"releasedate",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 $ extends U{constructor(){super(["APEv2"],W)}}const q={"©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","----:com.apple.iTunes:RELEASEDATE":"releasedate",desc:"description",ldes:"longDescription","©mvn":"movement","©mvi":"movementIndex","©mvc":"movementTotal","©wrk":"work",catg:"category",egid:"podcastId",hdvd:"hdVideo",keyw:"keywords",shwm:"showMovement",stik:"stik",rate:"rating"};class Y extends U{constructor(){super(["iTunes"],q)}postMap(e,t){"rate"===e.id&&(e.value={source:void 0,rating:Number.parseFloat(e.value)/100})}}const H={TITLE:"title",ARTIST:"artist",ARTISTS:"artists",ALBUMARTIST:"albumartist","ALBUM ARTIST":"albumartist",ALBUM:"album",DATE:"date",ORIGINALDATE:"originaldate",ORIGINALYEAR:"originalyear",RELEASEDATE:"releasedate",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 Z extends N{static toRating(e,t,i){return{source:e?e.toLowerCase():void 0,rating:Number.parseFloat(t)/i*N.maxRatingScore}}constructor(){super(["vorbis"],H)}postMap(e){if("RATING"===e.id)e.value=Z.toRating(void 0,e.value,100);else if(0===e.id.indexOf("RATING:")){const t=e.id.split(":");e.value=Z.toRating(t[1],e.value,1),e.id=t[0]}}}const K={IART:"artist",ICRD:"date",INAM:"title",TITL:"title",IPRD:"album",ITRK:"track",IPRT:"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 V extends N{constructor(){super(["exif"],K)}}const J={"segment:title":"title","album:ARTIST":"albumartist","album:ARTISTSORT":"albumartistsort","album:TITLE":"album","album:DATE_RECORDED":"originaldate","album:DATE_RELEASED":"releasedate","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 Q extends U{constructor(){super(["matroska"],J)}}const ee={NAME:"title",AUTH:"artist","(c) ":"copyright",ANNO:"comment"};class te extends N{constructor(){super(["AIFF"],ee)}}var ie=i(63324);class re{constructor(){this.tagMappers={},[new B,new j,new D,new Y,new Y,new Z,new $,new X,new V,new Q,new te].forEach(e=>{this.registerTagMapper(e)})}mapTag(e,t,i){if(this.tagMappers[e])return this.tagMappers[e].mapGenericTag(t,i);throw new ie.nK(`No generic tag mapper defined for tag-format: ${e}`)}registerTagMapper(e){for(const t of e.tagTypes)this.tagMappers[t]=e}}var ae=i(47675);const ne=/\[(\d{2}):(\d{2})\.(\d{2,3})]/;const se=n("music-metadata:collector"),oe=["matroska","APEv2","vorbis","ID3v2.4","ID3v2.3","ID3v2.2","exif","asf","iTunes","AIFF","ID3v1"];class ce{constructor(e){this.format={tagTypes:[],trackInfo:[]},this.native={},this.common={track:{no:null,of:null},disk:{no:null,of:null},movementIndex:{no:null,of:null}},this.quality={warnings:[]},this.commonOrigin={},this.originPriority={},this.tagMapper=new re,this.opts=e;let t=1;for(const e of oe)this.originPriority[e]=t++;this.originPriority.artificial=500,this.originPriority.id3v1=600}hasAny(){return Object.keys(this.native).length>0}addStreamInfo(e){se(`streamInfo: type=${e.type?M.vQ[e.type]:"?"}, codec=${e.codecName}`),this.format.trackInfo.push(e)}setFormat(e,t){se(`format: ${e} = ${t}`),this.format[e]=t,this.opts?.observer&&this.opts.observer({metadata:this,tag:{type:"format",id:e,value:t}})}setAudioOnly(){this.setFormat("hasAudio",!0),this.setFormat("hasVideo",!1)}async addTag(e,t,i){se(`tag ${e}.${t} = ${i}`),this.native[e]||(this.format.tagTypes.push(e),this.native[e]=[]),this.native[e].push({id:t,value:i}),await this.toCommon(e,t,i)}addWarning(e){this.quality.warnings.push({message:e})}async 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:(a=(this.common.artists||[]).concat([t.value])).length>2?`${a.slice(0,a.length-1).join(", ")} & ${a[a.length-1]}`:a.join(" & ")};this.setGenericTag("artificial",e)}break;case"picture":return this.postFixPicture(t.value).then(i=>{null!==i&&(t.value=i,this.setGenericTag(e,t))});case"totaltracks":return void(this.common.track.of=N.toIntOrNull(t.value));case"totaldiscs":return void(this.common.disk.of=N.toIntOrNull(t.value));case"movementTotal":return void(this.common.movementIndex.of=N.toIntOrNull(t.value));case"track":case"disk":case"movementIndex":{const e=this.common[t.id].of;return this.common[t.id]=N.normalizeTrack(t.value),void(this.common[t.id].of=null!=e?e:this.common[t.id].of)}case"bpm":case"year":case"originalyear":t.value=Number.parseInt(t.value,10);break;case"date":{const e=Number.parseInt(t.value.substr(0,4),10);Number.isNaN(e)||(this.common.year=e);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?Number.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,P.th)(t.value);break;case"replaygain_track_minmax":t.value=t.value.split(",").map(e=>Number.parseInt(e,10));break;case"replaygain_undo":{const e=t.value.split(",").map(e=>Number.parseInt(e,10));t.value={leftChannel:e[0],rightChannel:e[1]};break}case"gapless":case"compilation":case"podcast":case"showMovement":t.value="1"===t.value||1===t.value;break;case"isrc":{const e=this.common[t.id];if(e&&-1!==e.indexOf(t.value))return;break}case"comment":"string"==typeof t.value&&(t.value={text:t.value}),"iTunPGAP"===t.value.descriptor&&this.setGenericTag(e,{id:"gapless",value:"1"===t.value.text});break;case"lyrics":"string"==typeof t.value&&(t.value=(i=t.value,ne.test(i)?function(e){const t=e.split("\n"),i=[];for(const e of t){const t=e.match(ne);if(t){const r=1e3*(60*Number.parseInt(t[1],10)+Number.parseInt(t[2],10))+(3===t[3].length?Number.parseInt(t[3],10):10*Number.parseInt(t[3],10)),a=e.replace(ne,"").trim();i.push({timestamp:r,text:a})}}return{contentType:ae.MW.lyrics,timeStampFormat:ae.sd.milliseconds,text:i.map(e=>e.text).join("\n"),syncText:i}}(i):(r=i,{contentType:ae.MW.lyrics,timeStampFormat:ae.sd.notSynchronized,text:r.trim(),syncText:[]})))}var i,r,a;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 v(Uint8Array.from(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}async toCommon(e,t,i){const r={id:t,value:i},a=this.tagMapper.mapTag(e,r,this);a&&await this.postMap(e,a)}setGenericTag(e,t){se(`common.${t.id} = ${t.value}`);const i=this.commonOrigin[t.id]||1e3,r=this.originPriority[e];if(a=t.id,z[a]&&!z[a].multiple){if(!(r<=i))return se(`Ignore native tag (singleton): ${e}.${t.id} = ${t.value}`);this.common[t.id]=t.value,this.commonOrigin[t.id]=r}else if(r===i)!function(e){return!z[e].multiple||z[e].unique||!1}(t.id)||-1===this.common[t.id].indexOf(t.value)?this.common[t.id].push(t.value):se(`Ignore duplicate value: ${e}.${t.id} = ${t.value}`);else{if(!(r<i))return se(`Ignore native tag (list): ${e}.${t.id} = ${t.value}`);this.common[t.id]=[t.value],this.commonOrigin[t.id]=r}var a;this.opts?.observer&&this.opts.observer({metadata:this,tag:{type:"common",id:t.id,value:t.value}})}}const le={parserType:"mpeg",extensions:[".mp2",".mp3",".m2a",".aac","aacp"],mimeTypes:["audio/mpeg","audio/mp3","audio/aacs","audio/aacp"],load:async()=>(await Promise.all([i.e(8019),i.e(8764)]).then(i.bind(i,58764))).MpegParser},me={parserType:"apev2",extensions:[".ape"],mimeTypes:["audio/ape","audio/monkeys-audio"],load:async()=>(await Promise.resolve().then(i.bind(i,10283))).APEv2Parser},ue={parserType:"asf",extensions:[".asf"],mimeTypes:["audio/ms-wma","video/ms-wmv","audio/ms-asf","video/ms-asf","application/vnd.ms-asf"],load:async()=>(await i.e(2315).then(i.bind(i,42315))).AsfParser},pe={parserType:"dsdiff",extensions:[".dff"],mimeTypes:["audio/dsf","audio/dsd"],load:async()=>(await Promise.all([i.e(8019),i.e(7408)]).then(i.bind(i,47408))).DsdiffParser},de={parserType:"aiff",extensions:[".aif","aiff","aifc"],mimeTypes:["audio/aiff","audio/aif","audio/aifc","application/aiff"],load:async()=>(await Promise.all([i.e(8019),i.e(8790)]).then(i.bind(i,78790))).AIFFParser},fe={parserType:"dsf",extensions:[".dsf"],mimeTypes:["audio/dsf"],load:async()=>(await Promise.all([i.e(8019),i.e(46)]).then(i.bind(i,60046))).DsfParser},he={parserType:"flac",extensions:[".flac"],mimeTypes:["audio/flac"],load:async()=>(await Promise.all([i.e(8019),i.e(2465)]).then(i.bind(i,62465))).FlacParser},ge={parserType:"matroska",extensions:[".mka",".mkv",".mk3d",".mks","webm"],mimeTypes:["audio/matroska","video/matroska","audio/webm","video/webm"],load:async()=>(await i.e(1930).then(i.bind(i,21930))).MatroskaParser},Te={parserType:"mp4",extensions:[".mp4",".m4a",".m4b",".m4pa","m4v","m4r","3gp",".mov",".movie",".qt"],mimeTypes:["audio/mp4","audio/m4a","video/m4v","video/mp4","video/quicktime"],load:async()=>(await i.e(3272).then(i.bind(i,53272))).MP4Parser},ke={parserType:"musepack",extensions:[".mpc"],mimeTypes:["audio/musepack"],load:async()=>(await Promise.all([i.e(8019),i.e(984)]).then(i.bind(i,60984))).MusepackParser},ye={parserType:"ogg",extensions:[".ogg",".ogv",".oga",".ogm",".ogx",".opus",".spx"],mimeTypes:["audio/ogg","audio/opus","audio/speex","video/ogg"],load:async()=>(await Promise.all([i.e(8019),i.e(8409)]).then(i.bind(i,78409))).OggParser},xe={parserType:"wavpack",extensions:[".wv",".wvp"],mimeTypes:["audio/wavpack"],load:async()=>(await i.e(5420).then(i.bind(i,35420))).WavPackParser},be={parserType:"riff",extensions:[".wav","wave",".bwf"],mimeTypes:["audio/vnd.wave","audio/wav","audio/wave"],load:async()=>(await Promise.all([i.e(8019),i.e(6438)]).then(i.bind(i,66438))).WaveParser},we=n("music-metadata:parser:factory");class Ie{constructor(){this.parsers=[],[he,le,me,Te,ge,be,ye,ue,de,xe,ke,fe,pe].forEach(e=>{this.registerParser(e)})}registerParser(e){this.parsers.push(e)}async parse(e,t,i){if(e.supportsRandomAccess()?(we("tokenizer supports random-access, scanning for appending headers"),await Ce(e,i)):we("tokenizer does not support random-access, cannot scan for appending headers"),!t){const i=new Uint8Array(4100);if(e.fileInfo.mimeType&&(t=this.findLoaderForContentType(e.fileInfo.mimeType)),!t&&e.fileInfo.path&&(t=this.findLoaderForExtension(e.fileInfo.path)),!t){we("Guess parser on content..."),await e.peekBuffer(i,{mayBeLess:!0});const r=await v(i,{mpegOffsetTolerance:10});if(!r||!r.mime)throw new ie.e6("Failed to determine audio format");if(we(`Guessed file type is mime=${r.mime}, extension=${r.ext}`),!(t=this.findLoaderForContentType(r.mime)))throw new ie.qq(`Guessed MIME-type not supported: ${r.mime}`)}}we(`Loading ${t.parserType} parser...`);const r=new ce(i),a=new(await t.load())(r,e,i??{});return we(`Parser ${t.parserType} loaded`),await a.parse(),r.format.trackInfo&&(void 0===r.format.hasAudio&&r.setFormat("hasAudio",!!r.format.trackInfo.find(e=>e.type===M.S.audio)),void 0===r.format.hasVideo&&r.setFormat("hasVideo",!!r.format.trackInfo.find(e=>e.type===M.S.video))),r.toCommonMetadata()}findLoaderForExtension(e){if(!e)return;const t=function(e){const t=e.lastIndexOf(".");return-1===t?"":e.substring(t)}(e).toLocaleLowerCase()||e;return this.parsers.find(e=>-1!==e.extensions.indexOf(t))}findLoaderForContentType(e){let t;if(!e)return;try{t=function(e){const t=_.parse(e),i=(0,C.qg)(t.type);return{type:i.type,subtype:i.subtype,suffix:i.suffix,parameters:t.parameters}}(e)}catch(t){return void we(`Invalid HTTP Content-Type header value: ${e}`)}const i=0===t.subtype.indexOf("x-")?t.subtype.substring(2):t.subtype;return this.parsers.find(e=>e.mimeTypes.find(e=>-1!==e.indexOf(`${t.type}/${i}`)))}getSupportedMimeTypes(){const e=new Set;return this.parsers.forEach(t=>{t.mimeTypes.forEach(t=>{e.add(t),e.add(t.replace("/","/x-"))})}),Array.from(e)}}var ve=i(10283),Se=i(68191),Ae=i(12971);async function Ee(e,t={}){const i=(0,r._F)(e);try{return await function(e,t){return(new Ie).parse(e,void 0,t)}(i,t)}finally{await i.close()}}function _e(e){return e?e.reduce((e,t)=>t.name&&t.name.toLowerCase()in["front","cover","cover (front)"]?t:e):null}async function Ce(e,t={}){let i=e.fileInfo.size;if(await(0,Se.zc)(e)){i-=128;const t=await async function(e){const t=e.fileInfo.size;if(t>=143){const i=new Uint8Array(15),r=e.position;await e.readBuffer(i,{position:t-143}),e.setPosition(r);const a=(0,Ae.c)(i,"latin1");if("LYRICS200"===a.substring(6))return Number.parseInt(a.substring(0,6),10)+15}return 0}(e);i-=t}t.apeHeader=await ve.APEv2Parser.findApeFooterOffset(e,i)}},56185(e,t,i){"use strict";i.d(t,{DY:()=>d,F6:()=>m,cD:()=>p,f5:()=>u,ku:()=>h,mh:()=>s,qW:()=>c,sX:()=>o,sc:()=>l,th:()=>f});var r=i(4017),a=i(63324),n=i(78523);function s(e,t,i){return!!(e[t]&1<<i)}function o(e,t){const i=e.length;if("utf-16le"===t){for(let t=0;t+1<i;t+=2)if(0===e[t]&&0===e[t+1])return t;return i}for(let t=0;t<i;t++)if(0===e[t])return t;return i}function c(e){const t=e.indexOf("\0");return-1===t?e:e.substring(0,t)}function l(e,t){if(255===e[0]&&254===e[1])return l(e.subarray(2),t);if("utf-16le"===t&&254===e[0]&&255===e[1]){if(1&e.length)throw new a.gP("Expected even number of octets for 16-bit unicode string");return l(function(e){const t=e.length;if(1&t)throw new a.gP("Buffer length must be even");for(let i=0;i<t;i+=2){const t=e[i];e[i]=e[i+1],e[i+1]=t}return e}(e),t)}return new r.StringType(e.length,t).get(e,0)}function m(e){return(e=e.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")}function u(e,t,i,r){const a=i%8;let n=e[t+~~(i/8)];n&=255>>a;const s=8-a,o=r-s;return o<0?n>>=8-a-r:o>0&&(n<<=o,n|=u(e,t,i+s,o)),n}function p(e,t,i){return 1===u(e,t,i,1)}function d(e){const t=[];for(let i=0,r=e.length;i<r;i++){const r=Number(e.charCodeAt(i)).toString(16);t.push(1===r.length?`0${r}`:r)}return t.join(" ")}function f(e){const t=e.split(" ").map(e=>e.trim().toLowerCase());if(t.length>=1){const e=Number.parseFloat(t[0]);return 2===t.length&&"db"===t[1]?{dB:e,ratio:(r=e,10**(r/10))}:{dB:(i=e,10*Math.log10(i)),ratio:e}}var i,r}function h(e){if(0===e.length)throw new Error("decodeUintBE: empty Uint8Array");const t=new DataView(e.buffer,e.byteOffset,e.byteLength);return(0,n.AW)(t)}},58597(e,t){"use strict";var i=/; *([!#$%&'*+.^_`|~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]+$/,a=/^[!#$%&'*+.^_`|~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(a.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,i=e.type;if(!i||!o.test(i))throw new TypeError("invalid type");var r=i;if(t&&"object"==typeof t)for(var n,s=Object.keys(t).sort(),l=0;l<s.length;l++){if(n=s[l],!a.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(";"),a=-1!==r?t.slice(0,r).trim():t.trim();if(!o.test(a))throw new TypeError("invalid media type");var s=new l(a.toLowerCase());if(-1!==r){var c,m,u;for(i.lastIndex=r;m=i.exec(t);){if(m.index!==r)throw new TypeError("invalid parameter format");r+=m[0].length,c=m[1].toLowerCase(),34===(u=m[2]).charCodeAt(0)&&-1!==(u=u.slice(1,-1)).indexOf("\\")&&(u=u.replace(n,"$1")),s.parameters[c]=u}if(r!==t.length)throw new TypeError("invalid parameter format")}return s}},63324(e,t,i){"use strict";i.d(t,{e6:()=>a,fO:()=>l,gP:()=>o,nK:()=>c,qq:()=>n});const r=e=>class extends Error{constructor(t){super(t),this.name=e}};class a extends(r("CouldNotDetermineFileTypeError")){}class n extends(r("UnsupportedFileTypeError")){}class s extends(r("UnexpectedFileContentError")){constructor(e,t){super(t),this.fileType=e}toString(){return`${this.name} (FileType: ${this.fileType}): ${this.message}`}}class o extends(r("FieldDecodingError")){}class c extends(r("InternalParserError")){}const l=e=>class extends s{constructor(t){super(e,t)}}},68191(e,t,i){"use strict";i.d(t,{Bn:()=>d,jR:()=>m,zc:()=>f});var r=i(17833),a=i(4017),n=i(56185),s=i(74604),o=i(10283),c=i(12971);const l=r("music-metadata:parser:ID3v1"),m=["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"],u={len:128,get:(e,t)=>{const i=new p(3).get(e,t);return"TAG"===i?{header:i,title:new p(30).get(e,t+3),artist:new p(30).get(e,t+33),album:new p(30).get(e,t+63),year:new p(4).get(e,t+93),comment:new p(28).get(e,t+97),zeroByte:a.UINT8.get(e,t+127),track:a.UINT8.get(e,t+126),genre:a.UINT8.get(e,t+127)}:null}};class p{constructor(e){this.len=e,this.stringType=new a.StringType(e,"latin1")}get(e,t){let i=this.stringType.get(e,t);return i=n.qW(i),i=i.trim(),i.length>0?i:void 0}}class d extends s.s{constructor(e,t,i){super(e,t,i),this.apeHeader=i.apeHeader}static getGenre(e){if(e<m.length)return m[e]}async parse(){if(!this.tokenizer.fileInfo.size)return void l("Skip checking for ID3v1 because the file-size is unknown");if(this.apeHeader){this.tokenizer.ignore(this.apeHeader.offset-this.tokenizer.position);const e=new o.APEv2Parser(this.metadata,this.tokenizer,this.options);await e.parseTags(this.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);const e=["title","artist","album","comment","track","year"];for(const i of e)t[i]&&""!==t[i]&&await this.addTag(i,t[i]);const i=d.getGenre(t.genre);i&&await this.addTag("genre",i)}else l("ID3v1 header not found at: pos=%s",this.tokenizer.fileInfo.size-u.len)}async addTag(e,t){await this.metadata.addTag("ID3v1",e,t)}}async function f(e){if(e.fileInfo.size>=128){const t=new Uint8Array(3),i=e.position;return await e.readBuffer(t,{position:e.fileInfo.size-128}),e.setPosition(i),"TAG"===(0,c.c)(t,"latin1")}return!1}},74604(e,t,i){"use strict";i.d(t,{s:()=>r});class r{constructor(e,t,i){this.metadata=e,this.tokenizer=t,this.options=i}}},78523(e,t,i){"use strict";i.d(t,{AW:()=>o,EY:()=>s});const r=Object.prototype.toString;function a(e){return function(e,t,i){return!!e&&(e.constructor===t||r.call(e)===i)}(e,Uint8Array,"[object Uint8Array]")}new globalThis.TextDecoder("utf8"),new globalThis.TextEncoder;const n=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function s(e){!function(e){if(!a(e))throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof e}\``)}(e);let t="";for(let i=0;i<e.length;i++)t+=n[e[i]];return t}function o(e){const{byteLength:t}=e;return 6===t?e.getUint16(0)*2**32+e.getUint32(2):5===t?e.getUint8(0)*2**32+e.getUint32(1):4===t?e.getUint32(0):3===t?65536*e.getUint8(0)+e.getUint16(1):2===t?e.getUint16(0):1===t?e.getUint8(0):void 0}}}]);
//# sourceMappingURL=3186.7d098bd7a1f25a5bac63.js.map