From 5b45c51d40b09b16ad86e83070f119e6f8117c47 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:55:54 +0100 Subject: [PATCH 01/63] Support AVC3 in ISOBMFF (fixes #216) --- src/codec.ts | 7 +++++-- src/isobmff/isobmff-demuxer.ts | 5 ++++- src/matroska/matroska-demuxer.ts | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/codec.ts b/src/codec.ts index a396e70..b9414fd 100644 --- a/src/codec.ts +++ b/src/codec.ts @@ -337,6 +337,7 @@ export const extractVideoCodecString = (trackInfo: { codec: VideoCodec | null; codecDescription: Uint8Array | null; colorSpace: VideoColorSpaceInit | null; + avcType: 1 | 3 | null; avcCodecInfo: AvcDecoderConfigurationRecord | null; hevcCodecInfo: HevcDecoderConfigurationRecord | null; vp9CodecInfo: Vp9CodecInfo | null; @@ -345,6 +346,8 @@ export const extractVideoCodecString = (trackInfo: { const { codec, codecDescription, colorSpace, avcCodecInfo, hevcCodecInfo, vp9CodecInfo, av1CodecInfo } = trackInfo; if (codec === 'avc') { + assert(trackInfo.avcType !== null); + if (avcCodecInfo) { const bytes = new Uint8Array([ avcCodecInfo.avcProfileIndication, @@ -352,14 +355,14 @@ export const extractVideoCodecString = (trackInfo: { avcCodecInfo.avcLevelIndication, ]); - return `avc1.${bytesToHexString(bytes)}`; + return `avc${trackInfo.avcType}.${bytesToHexString(bytes)}`; } if (!codecDescription || codecDescription.byteLength < 4) { throw new TypeError('AVC decoder description is not provided or is not at least 4 bytes long.'); } - return `avc1.${bytesToHexString(codecDescription.subarray(1, 4))}`; + return `avc${trackInfo.avcType}.${bytesToHexString(codecDescription.subarray(1, 4))}`; } else if (codec === 'hevc') { let generalProfileSpace: number; let generalProfileIdc: number; diff --git a/src/isobmff/isobmff-demuxer.ts b/src/isobmff/isobmff-demuxer.ts index e1d047c..124c7b1 100644 --- a/src/isobmff/isobmff-demuxer.ts +++ b/src/isobmff/isobmff-demuxer.ts @@ -126,6 +126,7 @@ type InternalTrack = { codec: VideoCodec | null; codecDescription: Uint8Array | null; colorSpace: VideoColorSpaceInit | null; + avcType: 1 | 3 | null; avcCodecInfo: AvcDecoderConfigurationRecord | null; hevcCodecInfo: HevcDecoderConfigurationRecord | null; vp9CodecInfo: Vp9CodecInfo | null; @@ -836,6 +837,7 @@ export class IsobmffDemuxer extends Demuxer { codec: null, codecDescription: null, colorSpace: null, + avcType: null, avcCodecInfo: null, hevcCodecInfo: null, vp9CodecInfo: null, @@ -890,8 +892,9 @@ export class IsobmffDemuxer extends Demuxer { const lowercaseBoxName = sampleBoxInfo.name.toLowerCase(); if (track.info.type === 'video') { - if (lowercaseBoxName === 'avc1') { + if (lowercaseBoxName === 'avc1' || lowercaseBoxName === 'avc3') { track.info.codec = 'avc'; + track.info.avcType = lowercaseBoxName === 'avc1' ? 1 : 3; } else if (lowercaseBoxName === 'hvc1' || lowercaseBoxName === 'hev1') { track.info.codec = 'hevc'; } else if (lowercaseBoxName === 'vp08') { diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index e964bef..1992205 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -2319,6 +2319,7 @@ class MatroskaVideoTrackBacking extends MatroskaTrackBacking implements InputVid codec: this.internalTrack.info.codec, codecDescription: this.internalTrack.info.codecDescription, colorSpace: this.internalTrack.info.colorSpace, + avcType: 1, // We don't know better (or do we?) so just assume 'avc1' avcCodecInfo: this.internalTrack.info.codec === 'avc' && firstPacket ? extractAvcDecoderConfigurationRecord(firstPacket.data) : null, From 9d477dfb14d5351077b8b1a3ff2a9c90263facb9 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Tue, 11 Nov 2025 17:06:10 +0100 Subject: [PATCH 02/63] Allow muxing of avc3 into ISOBMFF (see #216) --- src/isobmff/isobmff-boxes.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/isobmff/isobmff-boxes.ts b/src/isobmff/isobmff-boxes.ts index 96900d0..d7a5a38 100644 --- a/src/isobmff/isobmff-boxes.ts +++ b/src/isobmff/isobmff-boxes.ts @@ -577,7 +577,7 @@ export const stsd = (trackData: IsobmffTrackData) => { if (trackData.type === 'video') { sampleDescription = videoSampleDescription( - VIDEO_CODEC_TO_BOX_NAME[trackData.track.source._codec], + videoCodecToBoxName(trackData.track.source._codec, trackData.info.decoderConfig.codec), trackData, ); } else if (trackData.type === 'audio') { @@ -1572,12 +1572,14 @@ const dataStringBoxLong = (value: string) => { ]); }; -const VIDEO_CODEC_TO_BOX_NAME: Record = { - avc: 'avc1', - hevc: 'hvc1', - vp8: 'vp08', - vp9: 'vp09', - av1: 'av01', +const videoCodecToBoxName = (codec: VideoCodec, fullCodecString: string) => { + switch (codec) { + case 'avc': return fullCodecString.startsWith('avc3') ? 'avc3' : 'avc1'; + case 'hevc': return 'hvc1'; + case 'vp8': return 'vp08'; + case 'vp9': return 'vp09'; + case 'av1': return 'av01'; + } }; const VIDEO_CODEC_TO_CONFIGURATION_BOX: Record Box | null> = { From f3a2d57156db95b60b0b1c4cc21b796def127ab2 Mon Sep 17 00:00:00 2001 From: Jonny Burger Date: Tue, 11 Nov 2025 16:07:49 +0000 Subject: [PATCH 03/63] Don't overlook potential packets in FLAC bitstream (#219) * Don't overlook potential packets in FLAC bitstream * Update way of going back --- src/flac/flac-demuxer.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/flac/flac-demuxer.ts b/src/flac/flac-demuxer.ts index 5248394..4303fd4 100644 --- a/src/flac/flac-demuxer.ts +++ b/src/flac/flac-demuxer.ts @@ -328,11 +328,13 @@ export class FlacDemuxer extends Demuxer { const nextByte = readU8(slice); if (nextByte === 0xff) { + const positionBeforeReading = slice.filePos; + const byteAfterNextByte = readU8(slice); const expected = this.blockingBit === 1 ? 0b1111_1001 : 0b1111_1000; if (byteAfterNextByte !== expected) { - slice.skip(-1); + slice.filePos = positionBeforeReading; continue; } @@ -345,7 +347,7 @@ export class FlacDemuxer extends Demuxer { }); if (!nextFrameHeader) { - slice.skip(-1); + slice.filePos = positionBeforeReading; continue; } @@ -355,14 +357,14 @@ export class FlacDemuxer extends Demuxer { if (this.blockingBit === 0) { // Case A: If the stream is fixed block size, this is the frame number, which increments by 1 if (nextFrameHeader.num - frameHeader.num !== 1) { - slice.skip(-1); + slice.filePos = positionBeforeReading; continue; } } else { // Case B: If the stream is variable block size, this is the sample number, which increments by // amount of samples in a frame. if (nextFrameHeader.num - frameHeader.num !== frameHeader.blockSize) { - slice.skip(-1); + slice.filePos = positionBeforeReading; continue; } } From 23f814679e715851ba30b5e0d198103f11d9c1be Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Tue, 11 Nov 2025 18:03:28 +0100 Subject: [PATCH 04/63] Modify audio encoder to fill gaps between timestamps with silence to ensure AV sync (fixes #176) --- dev/convert.html | 5 ++++- dev/demux.html | 17 ++++++++++++++++- src/media-source.ts | 31 +++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/dev/convert.html b/dev/convert.html index 79b7ae3..bb9b7a4 100644 --- a/dev/convert.html +++ b/dev/convert.html @@ -57,6 +57,7 @@ output, audio: (_, n) => ({ discard: n > 1, + codec: 'aac', //codec: 'opus', /* process: (sample) => { @@ -72,7 +73,7 @@ //numberOfChannels: 1, //sampleRate: 4000 //discard: true - //forceTranscode: true, + forceTranscode: true, }), /* video: { @@ -100,6 +101,7 @@ */ video: () => ({ //discard: true, + /* process: (sample) => { if (!ctx) { // Create a canvas for image compositing @@ -118,6 +120,7 @@ return ctx.canvas; }, + */ //width: 300, //alpha: 'keep', //width: 320, diff --git a/dev/demux.html b/dev/demux.html index 1a864a3..c423bfe 100644 --- a/dev/demux.html +++ b/dev/demux.html @@ -14,7 +14,21 @@ source: new Mediabunny.BlobSource(file), }); - const videoTrack = await input.getPrimaryAudioTrack(); + const audioTrack = await input.getPrimaryAudioTrack(); + const sink = new Mediabunny.AudioSampleSink(audioTrack); + + let lastEnd = 0; + for await (const sample of sink.samples()) { + if (sample.timestamp - lastEnd > 0) { + console.warn(sample.timestamp - lastEnd) + console.log(sample.timestamp, sample.duration, "diffie", sample.timestamp - lastEnd); + } + + lastEnd = sample.timestamp + sample.duration; + sample.close(); + } + + /* const sink = new Mediabunny.EncodedPacketSink(videoTrack); for await (const packet of sink.packets()) { @@ -22,6 +36,7 @@ if (packet.timestamp > 10) break; } + */ /* const sink = new Mediabunny.VideoSampleSink(videoTrack); diff --git a/src/media-source.ts b/src/media-source.ts index 86989a2..c2b4a6b 100644 --- a/src/media-source.ts +++ b/src/media-source.ts @@ -1294,6 +1294,8 @@ class AudioEncoderWrapper { private customEncoderCallSerializer = new CallSerializer(); private customEncoderQueueSize = 0; + private lastEndSampleIndex: number | null = null; + /** * Encoders typically throw their errors "out of band", meaning asynchronously in some other execution context. * However, we want to surface these errors to the user within the normal control flow, so they don't go uncaught. @@ -1342,6 +1344,35 @@ class AudioEncoderWrapper { } assert(this.encoderInitialized); + // Handle padding of gaps with silence to avoid audio drift over time, like in + // https://github.com/Vanilagy/mediabunny/issues/176 + // TODO An open question is how encoders deal with the first AudioData having a non-zero timestamp, and with + // AudioDatas that have an overlapping timestamp range. + { + const startSampleIndex = Math.round( + audioSample.timestamp * audioSample.sampleRate, + ); + const endSampleIndex = Math.round( + (audioSample.timestamp + audioSample.duration) * audioSample.sampleRate, + ); + + if (this.lastEndSampleIndex !== null && startSampleIndex > this.lastEndSampleIndex) { + const sampleCount = startSampleIndex - this.lastEndSampleIndex; + const fillSample = new AudioSample({ + data: new Float32Array(sampleCount * audioSample.numberOfChannels), + format: 'f32-planar', + sampleRate: audioSample.sampleRate, + numberOfChannels: audioSample.numberOfChannels, + numberOfFrames: sampleCount, + timestamp: this.lastEndSampleIndex / audioSample.sampleRate, + }); + + await this.add(fillSample, true); // Recursive call + } + + this.lastEndSampleIndex = endSampleIndex; + } + if (this.customEncoder) { this.customEncoderQueueSize++; From fa1f44cf92611a26f7c28f238a8718762980fbdc Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Tue, 11 Nov 2025 22:26:46 +0100 Subject: [PATCH 05/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 271da7e..e991436 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.24.5", + "version": "1.24.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.24.5", + "version": "1.24.6", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7749,9 +7749,9 @@ } }, "node_modules/mediabunny": { - "version": "1.24.4", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.24.4.tgz", - "integrity": "sha512-dpWYBPTtMg152yNLXZQ7xb6hsXdYbKp9EuK8qq4npS+SZ08FVc1XHlXYhrOm31T+tUVJKgm95Yaqy69wTpZP9Q==", + "version": "1.24.5", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.24.5.tgz", + "integrity": "sha512-4Sd5x8WXQiuDKZcJDAiQjyD0Lg/cg9p+dBShCM02F1pMvKdB9R6+WHZ9NFCFSqViVPX2fYSu95ZIpBUg9+TwTQ==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12242,7 +12242,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.24.5", + "version": "1.24.6", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 3b11949..acc0a8c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.24.5", + "version": "1.24.6", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index b7d133b..64bc7ab 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.24.5", + "version": "1.24.6", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From e33e9f13fe6a1fee97b456b0a7071b40b172d432 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 10:05:41 +0100 Subject: [PATCH 06/63] Fix missing VideoSample.close() calls in CanvasSink conversion path --- dev/convert.html | 11 +++++++---- src/conversion.ts | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dev/convert.html b/dev/convert.html index bb9b7a4..e548520 100644 --- a/dev/convert.html +++ b/dev/convert.html @@ -57,7 +57,7 @@ output, audio: (_, n) => ({ discard: n > 1, - codec: 'aac', + //codec: 'opus', //codec: 'opus', /* process: (sample) => { @@ -73,7 +73,7 @@ //numberOfChannels: 1, //sampleRate: 4000 //discard: true - forceTranscode: true, + //forceTranscode: true, }), /* video: { @@ -100,6 +100,9 @@ }, */ video: () => ({ + width: 720, + frameRate: 30, + bitrate: Mediabunny.QUALITY_VERY_LOW, //discard: true, /* process: (sample) => { @@ -176,8 +179,8 @@ } }, trim: { - //start: 0, - //end: 10 + start: 0, + end: 20 }, }); console.log(conversion); diff --git a/src/conversion.ts b/src/conversion.ts index 0cabe1a..2771f7c 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -1043,6 +1043,7 @@ export class Conversion { duration: 1 / frameRate, }); await this._registerVideoSample(track, trackOptions, source, sample); + sample.close(); } }; @@ -1079,12 +1080,11 @@ export class Conversion { duration: frameRate !== undefined ? 1 / frameRate : duration, }); await this._registerVideoSample(track, trackOptions, source, sample); + sample.close(); if (frameRate !== undefined) { lastCanvas = canvas; lastCanvasTimestamp = adjustedSampleTimestamp; - } else { - sample.close(); } } From 12216ae29ec505b07d3d47af4c3f898923fdafbc Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 10:49:47 +0100 Subject: [PATCH 07/63] Remove reordering Matroska blocks by references (fixes #178) --- dev/demux.html | 9 +++++ src/matroska/matroska-demuxer.ts | 66 ++------------------------------ 2 files changed, 12 insertions(+), 63 deletions(-) diff --git a/dev/demux.html b/dev/demux.html index c423bfe..8c5310b 100644 --- a/dev/demux.html +++ b/dev/demux.html @@ -14,6 +14,14 @@ source: new Mediabunny.BlobSource(file), }); + const videoTrack = await input.getPrimaryVideoTrack(); + const sink = new Mediabunny.EncodedPacketSink(videoTrack); + + for await (const packet of sink.packets()) { + console.log(packet.timestamp, packet.duration, packet.type) + } + + /* const audioTrack = await input.getPrimaryAudioTrack(); const sink = new Mediabunny.AudioSampleSink(audioTrack); @@ -27,6 +35,7 @@ lastEnd = sample.timestamp + sample.duration; sample.close(); } + */ /* const sink = new Mediabunny.EncodedPacketSink(videoTrack); diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index 1992205..e4e6c11 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -61,7 +61,6 @@ import { readElementHeader, readElementId, readFloat, - readSignedInt, readUnsignedInt, readVarInt, resync, @@ -137,7 +136,6 @@ type ClusterBlock = { timestamp: number; duration: number; isKeyFrame: boolean; - referencedTimestamps: number[]; data: Uint8Array; lacing: BlockLacing; decoded: boolean; @@ -649,21 +647,15 @@ export class MatroskaDemuxer extends Demuxer { // This must hold, as track datas only get created if a block for that track is encountered assert(trackData.blocks.length > 0); - let blockReferencesExist = false; let hasLacedBlocks = false; for (let i = 0; i < trackData.blocks.length; i++) { const block = trackData.blocks[i]!; block.timestamp += cluster.timestamp; - blockReferencesExist ||= block.referencedTimestamps.length > 0; hasLacedBlocks ||= block.lacing !== BlockLacing.None; } - if (blockReferencesExist) { - trackData.blocks = sortBlocksByReferences(trackData.blocks); - } - trackData.presentationTimestamps = trackData.blocks .map((block, i) => ({ timestamp: block.timestamp, blockIndex: i })) .sort((a, b) => a.timestamp - b.timestamp); @@ -859,7 +851,6 @@ export class MatroskaDemuxer extends Demuxer { timestamp: frameTimestamp, duration: frameDuration, isKeyFrame: originalBlock.isKeyFrame, - referencedTimestamps: originalBlock.referencedTimestamps, data: frameData, lacing: BlockLacing.None, decoded: true, @@ -1393,7 +1384,6 @@ export class MatroskaDemuxer extends Demuxer { timestamp: relativeTimestamp, // We'll add the cluster's timestamp to this later duration: 0, // Will set later isKeyFrame, - referencedTimestamps: [], data: blockData, lacing, decoded: !hasDecodingInstructions, @@ -1406,13 +1396,7 @@ export class MatroskaDemuxer extends Demuxer { this.readContiguousElements(slice.slice(dataStartPos, size)); - if (this.currentBlock) { - for (let i = 0; i < this.currentBlock.referencedTimestamps.length; i++) { - this.currentBlock.referencedTimestamps[i]! += this.currentBlock.timestamp; - } - - this.currentBlock = null; - } + this.currentBlock = null; }; break; case EBMLId.Block: { @@ -1436,7 +1420,6 @@ export class MatroskaDemuxer extends Demuxer { timestamp: relativeTimestamp, // We'll add the cluster's timestamp to this later duration: 0, // Will set later isKeyFrame: true, - referencedTimestamps: [], data: blockData, lacing, decoded: !hasDecodingInstructions, @@ -1487,11 +1470,8 @@ export class MatroskaDemuxer extends Demuxer { if (!this.currentBlock) break; this.currentBlock.isKeyFrame = false; - - const relativeTimestamp = readSignedInt(slice, size); - - // We'll offset this by the block's timestamp later - this.currentBlock.referencedTimestamps.push(relativeTimestamp); + // We ignore the actual value here, we just use the reference as an indicator for "not a key frame". + // This is in line with FFmpeg's behavior. }; break; case EBMLId.Tag: { @@ -2380,43 +2360,3 @@ class MatroskaAudioTrackBacking extends MatroskaTrackBacking implements InputAud }; } } - -/** Sorts blocks such that referenced blocks come before the blocks that reference them. */ -const sortBlocksByReferences = (blocks: ClusterBlock[]) => { - const timestampToBlock = new Map(); - - for (let i = 0; i < blocks.length; i++) { - const block = blocks[i]!; - timestampToBlock.set(block.timestamp, block); - } - - const processedBlocks = new Set(); - const result: ClusterBlock[] = []; - - const processBlock = (block: ClusterBlock) => { - if (processedBlocks.has(block)) { - return; - } - - // Marking the block as processed here already; prevents this algorithm from dying on cycles - processedBlocks.add(block); - - for (let j = 0; j < block.referencedTimestamps.length; j++) { - const timestamp = block.referencedTimestamps[j]!; - const otherBlock = timestampToBlock.get(timestamp); - if (!otherBlock) { - continue; - } - - processBlock(otherBlock); - } - - result.push(block); - }; - - for (let i = 0; i < blocks.length; i++) { - processBlock(blocks[i]!); - } - - return result; -}; From 3cb6ed82ce400963ad46efafcb0d6e63fa17914c Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 13:11:18 +0100 Subject: [PATCH 08/63] Fix globals not being treeshakable by some bundlers (fixes #172) --- src/encode.ts | 10 +++++----- src/flac/flac-muxer.ts | 2 +- src/input-format.ts | 18 +++++++++--------- src/isobmff/isobmff-boxes.ts | 6 +++--- src/matroska/ebml.ts | 2 +- src/matroska/matroska-demuxer.ts | 2 +- src/matroska/matroska-muxer.ts | 4 ++-- src/misc.ts | 12 ++++++------ src/ogg/ogg-reader.ts | 2 +- src/packet.ts | 2 +- src/source.ts | 2 +- src/writer.ts | 6 +++--- 12 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/encode.ts b/src/encode.ts index bf7834b..81b3167 100644 --- a/src/encode.ts +++ b/src/encode.ts @@ -403,31 +403,31 @@ export class Quality { * @group Encoding * @public */ -export const QUALITY_VERY_LOW = new Quality(0.3); +export const QUALITY_VERY_LOW = /* #__PURE__ */ new Quality(0.3); /** * Represents a low media quality. * @group Encoding * @public */ -export const QUALITY_LOW = new Quality(0.6); +export const QUALITY_LOW = /* #__PURE__ */ new Quality(0.6); /** * Represents a medium media quality. * @group Encoding * @public */ -export const QUALITY_MEDIUM = new Quality(1); +export const QUALITY_MEDIUM = /* #__PURE__ */ new Quality(1); /** * Represents a high media quality. * @group Encoding * @public */ -export const QUALITY_HIGH = new Quality(2); +export const QUALITY_HIGH = /* #__PURE__ */ new Quality(2); /** * Represents a very high media quality. * @group Encoding * @public */ -export const QUALITY_VERY_HIGH = new Quality(4); +export const QUALITY_VERY_HIGH = /* #__PURE__ */ new Quality(4); /** * Checks if the browser is able to encode the given codec. diff --git a/src/flac/flac-muxer.ts b/src/flac/flac-muxer.ts index fdda1d0..782234a 100644 --- a/src/flac/flac-muxer.ts +++ b/src/flac/flac-muxer.ts @@ -28,7 +28,7 @@ import { readCodedNumber, } from './flac-misc'; -const FLAC_HEADER = new Uint8Array([0x66, 0x4c, 0x61, 0x43]); // 'fLaC' +const FLAC_HEADER = /* #__PURE__ */ new Uint8Array([0x66, 0x4c, 0x61, 0x43]); // 'fLaC' const STREAMINFO_SIZE = 38; const STREAMINFO_BLOCK_SIZE = 34; diff --git a/src/input-format.ts b/src/input-format.ts index ed57825..1748f27 100644 --- a/src/input-format.ts +++ b/src/input-format.ts @@ -481,56 +481,56 @@ export class AdtsInputFormat extends InputFormat { * @group Input formats * @public */ -export const MP4 = new Mp4InputFormat(); +export const MP4 = /* #__PURE__ */ new Mp4InputFormat(); /** * QuickTime File Format input format singleton. * @group Input formats * @public */ -export const QTFF = new QuickTimeInputFormat(); +export const QTFF = /* #__PURE__ */ new QuickTimeInputFormat(); /** * Matroska input format singleton. * @group Input formats * @public */ -export const MATROSKA = new MatroskaInputFormat(); +export const MATROSKA = /* #__PURE__ */ new MatroskaInputFormat(); /** * WebM input format singleton. * @group Input formats * @public */ -export const WEBM = new WebMInputFormat(); +export const WEBM = /* #__PURE__ */ new WebMInputFormat(); /** * MP3 input format singleton. * @group Input formats * @public */ -export const MP3 = new Mp3InputFormat(); +export const MP3 = /* #__PURE__ */ new Mp3InputFormat(); /** * WAVE input format singleton. * @group Input formats * @public */ -export const WAVE = new WaveInputFormat(); +export const WAVE = /* #__PURE__ */ new WaveInputFormat(); /** * Ogg input format singleton. * @group Input formats * @public */ -export const OGG = new OggInputFormat(); +export const OGG = /* #__PURE__ */ new OggInputFormat(); /** * ADTS input format singleton. * @group Input formats * @public */ -export const ADTS = new AdtsInputFormat(); +export const ADTS = /* #__PURE__ */ new AdtsInputFormat(); /** * FLAC input format singleton. * @group Input formats * @public */ -export const FLAC = new FlacInputFormat(); +export const FLAC = /* #__PURE__ */ new FlacInputFormat(); /** * List of all input format singletons. If you don't need to support all input formats, you should specify the diff --git a/src/isobmff/isobmff-boxes.ts b/src/isobmff/isobmff-boxes.ts index d7a5a38..f2fccc4 100644 --- a/src/isobmff/isobmff-boxes.ts +++ b/src/isobmff/isobmff-boxes.ts @@ -135,8 +135,8 @@ export class IsobmffBoxWriter { } } -const bytes = new Uint8Array(8); -const view = new DataView(bytes.buffer); +const bytes = /* #__PURE__ */ new Uint8Array(8); +const view = /* #__PURE__ */ new DataView(bytes.buffer); const u8 = (value: number) => { return [(value % 0x100 + 0x100) % 0x100]; @@ -243,7 +243,7 @@ const rotationMatrix = (rotationInDegrees: number): TransformationMatrix => { 0, 0, 1, ]; }; -const IDENTITY_MATRIX = rotationMatrix(0); +const IDENTITY_MATRIX = /* #__PURE__ */ rotationMatrix(0); const matrixToBytes = (matrix: TransformationMatrix) => { return [ diff --git a/src/matroska/ebml.ts b/src/matroska/ebml.ts index 4fc70bd..5097b77 100644 --- a/src/matroska/ebml.ts +++ b/src/matroska/ebml.ts @@ -463,7 +463,7 @@ export class EBMLWriter { export const MAX_VAR_INT_SIZE = 8; export const MIN_HEADER_SIZE = 2; // 1-byte ID and 1-byte size -export const MAX_HEADER_SIZE = 2 * MAX_VAR_INT_SIZE; // 8-byte ID and 8-byte size +export const MAX_HEADER_SIZE = /* #__PURE__ */ 2 * MAX_VAR_INT_SIZE; // 8-byte ID and 8-byte size export const readVarIntSize = (slice: FileSlice) => { const firstByte = readU8(slice); diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index e4e6c11..32880d5 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -228,7 +228,7 @@ const METADATA_ELEMENTS = [ { id: EBMLId.Tracks, flag: 'tracksSeen' }, { id: EBMLId.Cues, flag: 'cuesSeen' }, ] as const; -const MAX_RESYNC_LENGTH = 10 * 2 ** 20; // 10 MiB +const MAX_RESYNC_LENGTH = /* #__PURE__ */ 10 * 2 ** 20; // 10 MiB export class MatroskaDemuxer extends Demuxer { reader: Reader; diff --git a/src/matroska/matroska-muxer.ts b/src/matroska/matroska-muxer.ts index b12b95a..deff3e0 100644 --- a/src/matroska/matroska-muxer.ts +++ b/src/matroska/matroska-muxer.ts @@ -65,8 +65,8 @@ import { EncodedPacket } from '../packet'; import { parseOpusIdentificationHeader } from '../codec-data'; import { AttachedFile } from '../tags'; -const MIN_CLUSTER_TIMESTAMP_MS = -(2 ** 15); -const MAX_CLUSTER_TIMESTAMP_MS = 2 ** 15 - 1; +const MIN_CLUSTER_TIMESTAMP_MS = /* #__PURE__ */ -(2 ** 15); +const MAX_CLUSTER_TIMESTAMP_MS = /* #__PURE__ */ 2 ** 15 - 1; const APP_NAME = 'Mediabunny'; const SEGMENT_SIZE_BYTES = 6; const CLUSTER_SIZE_BYTES = 5; diff --git a/src/misc.ts b/src/misc.ts index c6f5119..fa682cd 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -174,8 +174,8 @@ export const toDataView = (source: AllowSharedBufferSource) => { } }; -export const textDecoder = new TextDecoder(); -export const textEncoder = new TextEncoder(); +export const textDecoder = /* #__PURE__ */ new TextDecoder(); +export const textEncoder = /* #__PURE__ */ new TextEncoder(); export const isIso88591Compatible = (text: string) => { for (let i = 0; i < text.length; i++) { @@ -201,7 +201,7 @@ export const COLOR_PRIMARIES_MAP = { bt2020: 9, // ITU-R BT.202 smpte432: 12, // SMPTE EG 432-1 }; -export const COLOR_PRIMARIES_MAP_INVERSE = invertObject(COLOR_PRIMARIES_MAP); +export const COLOR_PRIMARIES_MAP_INVERSE = /* #__PURE__ */ invertObject(COLOR_PRIMARIES_MAP); export const TRANSFER_CHARACTERISTICS_MAP = { 'bt709': 1, // ITU-R BT.709 @@ -211,7 +211,7 @@ export const TRANSFER_CHARACTERISTICS_MAP = { 'pq': 16, // Rec. ITU-R BT.2100-2 perceptual quantization (PQ) system 'hlg': 18, // Rec. ITU-R BT.2100-2 hybrid loggamma (HLG) system }; -export const TRANSFER_CHARACTERISTICS_MAP_INVERSE = invertObject(TRANSFER_CHARACTERISTICS_MAP); +export const TRANSFER_CHARACTERISTICS_MAP_INVERSE = /* #__PURE__ */ invertObject(TRANSFER_CHARACTERISTICS_MAP); export const MATRIX_COEFFICIENTS_MAP = { 'rgb': 0, // Identity @@ -220,7 +220,7 @@ export const MATRIX_COEFFICIENTS_MAP = { 'smpte170m': 6, // SMPTE 170M 'bt2020-ncl': 9, // ITU-R BT.2020-2 (non-constant luminance) }; -export const MATRIX_COEFFICIENTS_MAP_INVERSE = invertObject(MATRIX_COEFFICIENTS_MAP); +export const MATRIX_COEFFICIENTS_MAP_INVERSE = /* #__PURE__ */ invertObject(MATRIX_COEFFICIENTS_MAP); export type RequiredNonNull = { [K in keyof T]-?: NonNullable; @@ -510,7 +510,7 @@ export const isIso639Dash2LanguageCode = (x: string) => { }; // Since the result will be truncated, add a bit of eps to compensate for floating point errors -export const SECOND_TO_MICROSECOND_FACTOR = 1e6 * (1 + Number.EPSILON); +export const SECOND_TO_MICROSECOND_FACTOR = /* #__PURE__ */ 1e6 * (1 + Number.EPSILON); /** * Sets all keys K of T to be required. diff --git a/src/ogg/ogg-reader.ts b/src/ogg/ogg-reader.ts index 011b126..13963cf 100644 --- a/src/ogg/ogg-reader.ts +++ b/src/ogg/ogg-reader.ts @@ -11,7 +11,7 @@ import { OGGS } from './ogg-misc'; export const MIN_PAGE_HEADER_SIZE = 27; export const MAX_PAGE_HEADER_SIZE = 27 + 255; -export const MAX_PAGE_SIZE = MAX_PAGE_HEADER_SIZE + 255 * 255; +export const MAX_PAGE_SIZE = /* #__PURE__ */ MAX_PAGE_HEADER_SIZE + 255 * 255; export type Page = { headerStartPos: number; diff --git a/src/packet.ts b/src/packet.ts index f5de60e..4f9b749 100644 --- a/src/packet.ts +++ b/src/packet.ts @@ -8,7 +8,7 @@ import { SECOND_TO_MICROSECOND_FACTOR } from './misc'; -export const PLACEHOLDER_DATA = new Uint8Array(0); +export const PLACEHOLDER_DATA = /* #__PURE__ */ new Uint8Array(0); /** * The type of a packet. Key packets can be decoded without previous packets, while delta packets depend on previous diff --git a/src/source.ts b/src/source.ts index 68ebac1..212ee6b 100644 --- a/src/source.ts +++ b/src/source.ts @@ -269,7 +269,7 @@ export class BlobSource extends Source { } } -const URL_SOURCE_MIN_LOAD_AMOUNT = 0.5 * 2 ** 20; // 0.5 MiB +const URL_SOURCE_MIN_LOAD_AMOUNT = /* #__PURE__ */ 0.5 * 2 ** 20; // 0.5 MiB const DEFAULT_RETRY_DELAY = ((previousAttempts, error, src) => { // Check if this could be a CORS error. If so, we cannot recover from it and diff --git a/src/writer.ts b/src/writer.ts index 30de003..3846dcd 100644 --- a/src/writer.ts +++ b/src/writer.ts @@ -89,8 +89,8 @@ export abstract class Writer { } } -const ARRAY_BUFFER_INITIAL_SIZE = 2 ** 16; -const ARRAY_BUFFER_MAX_SIZE = 2 ** 32; +const ARRAY_BUFFER_INITIAL_SIZE = /* #__PURE__ */ 2 ** 16; +const ARRAY_BUFFER_MAX_SIZE = /* #__PURE__ */ 2 ** 32; export class BufferTargetWriter extends Writer { private pos = 0; @@ -184,7 +184,7 @@ export class BufferTargetWriter extends Writer { } } -const DEFAULT_CHUNK_SIZE = 2 ** 24; +const DEFAULT_CHUNK_SIZE = /* #__PURE__ */ 2 ** 24; const MAX_CHUNKS_AT_ONCE = 2; interface Chunk { From 07b2e70863276a3d5c8dbe66f76868522f847ec3 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 14:29:56 +0100 Subject: [PATCH 09/63] Force software decoding in Chromium for interlaced AVC --- src/codec-data.ts | 263 +++++++++++++++++++++++++++++++++++++--------- src/media-sink.ts | 22 +++- src/misc.ts | 14 ++- 3 files changed, 246 insertions(+), 53 deletions(-) diff --git a/src/codec-data.ts b/src/codec-data.ts index 377fdea..13888f2 100644 --- a/src/codec-data.ts +++ b/src/codec-data.ts @@ -229,7 +229,7 @@ const extractNalUnitTypeForAvc = (data: Uint8Array) => { }; /** Builds an AvcDecoderConfigurationRecord from an AVC packet in Annex B format. */ -export const extractAvcDecoderConfigurationRecord = (packetData: Uint8Array) => { +export const extractAvcDecoderConfigurationRecord = (packetData: Uint8Array): AvcDecoderConfigurationRecord | null => { try { const nalUnits = findNalUnitsInAnnexB(packetData); @@ -247,60 +247,27 @@ export const extractAvcDecoderConfigurationRecord = (packetData: Uint8Array) => // Let's get the first SPS for profile and level information const spsData = spsUnits[0]!; - const bitstream = new Bitstream(removeEmulationPreventionBytes(spsData)); + const spsInfo = parseAvcSps(spsData); + assert(spsInfo !== null); - bitstream.skipBits(1); // forbidden_zero_bit - bitstream.skipBits(2); // nal_ref_idc - const nal_unit_type = bitstream.readBits(5); + const hasExtendedData = spsInfo.profileIdc === 100 + || spsInfo.profileIdc === 110 + || spsInfo.profileIdc === 122 + || spsInfo.profileIdc === 144; - if (nal_unit_type !== 7) { // SPS NAL unit type is 7 - console.error('Invalid SPS NAL unit type'); - return null; - } - - const profile_idc = bitstream.readAlignedByte(); - const constraint_flags = bitstream.readAlignedByte(); - const level_idc = bitstream.readAlignedByte(); - - const record: AvcDecoderConfigurationRecord = { + return { configurationVersion: 1, - avcProfileIndication: profile_idc, - profileCompatibility: constraint_flags, - avcLevelIndication: level_idc, + avcProfileIndication: spsInfo.profileIdc, + profileCompatibility: spsInfo.constraintFlags, + avcLevelIndication: spsInfo.levelIdc, lengthSizeMinusOne: 3, // Typically 4 bytes for length field sequenceParameterSets: spsUnits, pictureParameterSets: ppsUnits, - chromaFormat: null, - bitDepthLumaMinus8: null, - bitDepthChromaMinus8: null, - sequenceParameterSetExt: null, + chromaFormat: hasExtendedData ? spsInfo.chromaFormatIdc : null, + bitDepthLumaMinus8: hasExtendedData ? spsInfo.bitDepthLumaMinus8 : null, + bitDepthChromaMinus8: hasExtendedData ? spsInfo.bitDepthChromaMinus8 : null, + sequenceParameterSetExt: hasExtendedData ? spsExtUnits : null, }; - - if ( - profile_idc === 100 - || profile_idc === 110 - || profile_idc === 122 - || profile_idc === 144 - ) { - readExpGolomb(bitstream); // seq_parameter_set_id - - const chroma_format_idc = readExpGolomb(bitstream); - - if (chroma_format_idc === 3) { - bitstream.skipBits(1); // separate_colour_plane_flag - } - - const bit_depth_luma_minus8 = readExpGolomb(bitstream); - - const bit_depth_chroma_minus8 = readExpGolomb(bitstream); - - record.chromaFormat = chroma_format_idc; - record.bitDepthLumaMinus8 = bit_depth_luma_minus8; - record.bitDepthChromaMinus8 = bit_depth_chroma_minus8; - record.sequenceParameterSetExt = spsExtUnits; - } - - return record; } catch (error) { console.error('Error building AVC Decoder Configuration Record:', error); return null; @@ -377,6 +344,206 @@ export const serializeAvcDecoderConfigurationRecord = (record: AvcDecoderConfigu return new Uint8Array(bytes); }; +/** Deserializes an AvcDecoderConfigurationRecord from the format specified in Section 5.3.3.1 of ISO 14496-15. */ +export const deserializeAvcDecoderConfigurationRecord = (data: Uint8Array): AvcDecoderConfigurationRecord | null => { + try { + const view = toDataView(data); + let offset = 0; + + // Read header + const configurationVersion = view.getUint8(offset++); + const avcProfileIndication = view.getUint8(offset++); + const profileCompatibility = view.getUint8(offset++); + const avcLevelIndication = view.getUint8(offset++); + const lengthSizeMinusOne = view.getUint8(offset++) & 0x03; + + const numOfSequenceParameterSets = view.getUint8(offset++) & 0x1F; + + // Read SPS + const sequenceParameterSets: Uint8Array[] = []; + for (let i = 0; i < numOfSequenceParameterSets; i++) { + const length = view.getUint16(offset, false); + offset += 2; + + sequenceParameterSets.push(data.subarray(offset, offset + length)); + offset += length; + } + + const numOfPictureParameterSets = view.getUint8(offset++); + + // Read PPS + const pictureParameterSets: Uint8Array[] = []; + for (let i = 0; i < numOfPictureParameterSets; i++) { + const length = view.getUint16(offset, false); + offset += 2; + + pictureParameterSets.push(data.subarray(offset, offset + length)); + offset += length; + } + + const record: AvcDecoderConfigurationRecord = { + configurationVersion, + avcProfileIndication, + profileCompatibility, + avcLevelIndication, + lengthSizeMinusOne, + sequenceParameterSets, + pictureParameterSets, + chromaFormat: null, + bitDepthLumaMinus8: null, + bitDepthChromaMinus8: null, + sequenceParameterSetExt: null, + }; + + // Check if there are extended profile fields + if ( + ( + avcProfileIndication === 100 + || avcProfileIndication === 110 + || avcProfileIndication === 122 + || avcProfileIndication === 144 + ) + && offset + 4 <= data.length + ) { + const chromaFormat = view.getUint8(offset++) & 0x03; + const bitDepthLumaMinus8 = view.getUint8(offset++) & 0x07; + const bitDepthChromaMinus8 = view.getUint8(offset++) & 0x07; + const numOfSequenceParameterSetExt = view.getUint8(offset++); + + record.chromaFormat = chromaFormat; + record.bitDepthLumaMinus8 = bitDepthLumaMinus8; + record.bitDepthChromaMinus8 = bitDepthChromaMinus8; + + // Read SPS Ext + const sequenceParameterSetExt: Uint8Array[] = []; + for (let i = 0; i < numOfSequenceParameterSetExt; i++) { + const length = view.getUint16(offset, false); + offset += 2; + + sequenceParameterSetExt.push(data.subarray(offset, offset + length)); + offset += length; + } + + record.sequenceParameterSetExt = sequenceParameterSetExt; + } + + return record; + } catch (error) { + console.error('Error deserializing AVC Decoder Configuration Record:', error); + return null; + } +}; + +export type AvcSpsInfo = { + profileIdc: number; + constraintFlags: number; + levelIdc: number; + frameMbsOnlyFlag: number; + chromaFormatIdc: number | null; + bitDepthLumaMinus8: number | null; + bitDepthChromaMinus8: number | null; +}; + +/** Parses an AVC SPS (Sequence Parameter Set) to extract basic information. */ +export const parseAvcSps = (sps: Uint8Array): AvcSpsInfo | null => { + try { + const bitstream = new Bitstream(removeEmulationPreventionBytes(sps)); + + bitstream.skipBits(1); // forbidden_zero_bit + bitstream.skipBits(2); // nal_ref_idc + const nalUnitType = bitstream.readBits(5); + + if (nalUnitType !== 7) { // SPS NAL unit type is 7 + return null; + } + + const profileIdc = bitstream.readAlignedByte(); + const constraintFlags = bitstream.readAlignedByte(); + const levelIdc = bitstream.readAlignedByte(); + + readExpGolomb(bitstream); // seq_parameter_set_id + + let chromaFormatIdc: number | null = null; + let bitDepthLumaMinus8: number | null = null; + let bitDepthChromaMinus8: number | null = null; + + // Handle high profile chroma_format_idc + if ( + profileIdc === 100 + || profileIdc === 110 + || profileIdc === 122 + || profileIdc === 244 + || profileIdc === 44 + || profileIdc === 83 + || profileIdc === 86 + || profileIdc === 118 + || profileIdc === 128 + ) { + chromaFormatIdc = readExpGolomb(bitstream); + if (chromaFormatIdc === 3) { + bitstream.skipBits(1); // separate_colour_plane_flag + } + bitDepthLumaMinus8 = readExpGolomb(bitstream); + bitDepthChromaMinus8 = readExpGolomb(bitstream); + bitstream.skipBits(1); // qpprime_y_zero_transform_bypass_flag + const seqScalingMatrixPresentFlag = bitstream.readBits(1); + if (seqScalingMatrixPresentFlag) { + for (let i = 0; i < (chromaFormatIdc !== 3 ? 8 : 12); i++) { + const seqScalingListPresentFlag = bitstream.readBits(1); + if (seqScalingListPresentFlag) { + const sizeOfScalingList = i < 6 ? 16 : 64; + let lastScale = 8; + let nextScale = 8; + for (let j = 0; j < sizeOfScalingList; j++) { + if (nextScale !== 0) { + const deltaScale = readSignedExpGolomb(bitstream); + nextScale = (lastScale + deltaScale + 256) % 256; + } + lastScale = nextScale === 0 ? lastScale : nextScale; + } + } + } + } + } + + readExpGolomb(bitstream); // log2_max_frame_num_minus4 + + const picOrderCntType = readExpGolomb(bitstream); + if (picOrderCntType === 0) { + readExpGolomb(bitstream); // log2_max_pic_order_cnt_lsb_minus4 + } else if (picOrderCntType === 1) { + bitstream.skipBits(1); // delta_pic_order_always_zero_flag + readSignedExpGolomb(bitstream); // offset_for_non_ref_pic + readSignedExpGolomb(bitstream); // offset_for_top_to_bottom_field + const numRefFramesInPicOrderCntCycle = readExpGolomb(bitstream); + for (let i = 0; i < numRefFramesInPicOrderCntCycle; i++) { + readSignedExpGolomb(bitstream); // offset_for_ref_frame[i] + } + } + + readExpGolomb(bitstream); // max_num_ref_frames + bitstream.skipBits(1); // gaps_in_frame_num_value_allowed_flag + + readExpGolomb(bitstream); // pic_width_in_mbs_minus1 + readExpGolomb(bitstream); // pic_height_in_map_units_minus1 + + const frameMbsOnlyFlag = bitstream.readBits(1); + + return { + profileIdc, + constraintFlags, + levelIdc, + frameMbsOnlyFlag, + chromaFormatIdc, + bitDepthLumaMinus8, + bitDepthChromaMinus8, + }; + } catch (error) { + console.error('Error parsing AVC SPS:', error); + return null; + } +}; + // Data specified in ISO 14496-15 export type HevcDecoderConfigurationRecord = { configurationVersion: number; diff --git a/src/media-sink.ts b/src/media-sink.ts index 195ff2a..841d8f5 100644 --- a/src/media-sink.ts +++ b/src/media-sink.ts @@ -8,10 +8,12 @@ import { parsePcmCodec, PCM_AUDIO_CODECS, PcmAudioCodec, VideoCodec, AudioCodec } from './codec'; import { + deserializeAvcDecoderConfigurationRecord, determineVideoPacketType, extractHevcNalUnits, extractNalUnitTypeForHevc, HevcNalUnitType, + parseAvcSps, } from './codec-data'; import { CustomVideoDecoder, customVideoDecoders, CustomAudioDecoder, customAudioDecoders } from './custom-coder'; import { InputDisposedError } from './input'; @@ -24,6 +26,7 @@ import { getInt24, getUint24, insertSorted, + isChromium, isFirefox, isNumber, isWebKit, @@ -33,6 +36,7 @@ import { Rotation, toAsyncIterator, toDataView, + toUint8Array, validateAnyIterable, } from './misc'; import { EncodedPacket } from './packet'; @@ -872,6 +876,22 @@ class VideoDecoderWrapper extends DecoderWrapper { } }; + if (codec === 'avc' && this.decoderConfig.description && isChromium()) { + // Chromium has/had a bug with playing interlaced AVC (https://issues.chromium.org/issues/456919096) + // which can be worked around by requesting that software decoding be used. So, here we peek into the + // AVC description, if present, and switch to software decoding if we find interlaced content. + const record = deserializeAvcDecoderConfigurationRecord(toUint8Array(this.decoderConfig.description)); + if (record && record.sequenceParameterSets.length > 0) { + const sps = parseAvcSps(record.sequenceParameterSets[0]!); + if (sps && sps.frameMbsOnlyFlag === 0) { + this.decoderConfig = { + ...this.decoderConfig, + hardwareAcceleration: 'prefer-software', + }; + } + } + } + this.decoder = new VideoDecoder({ output: (frame) => { try { @@ -882,7 +902,7 @@ class VideoDecoderWrapper extends DecoderWrapper { }, error: onError, }); - this.decoder.configure(decoderConfig); + this.decoder.configure(this.decoderConfig); } } diff --git a/src/misc.ts b/src/misc.ts index fa682cd..2f91ed0 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -665,10 +665,7 @@ export const isWebKit = () => { } // This even returns true for WebKit-wrapping browsers such as Chrome on iOS - const result = !!(typeof navigator !== 'undefined' && navigator.vendor?.match(/apple/i)); - - isWebKitCache = result; - return result; + return isWebKitCache = !!(typeof navigator !== 'undefined' && navigator.vendor?.match(/apple/i)); }; let isFirefoxCache: boolean | null = null; @@ -680,6 +677,15 @@ export const isFirefox = () => { return isFirefoxCache = typeof navigator !== 'undefined' && navigator.userAgent?.includes('Firefox'); }; +let isChromiumCache: boolean | null = null; +export const isChromium = () => { + if (isChromiumCache !== null) { + return isChromiumCache; + } + + return isChromiumCache = !!(typeof navigator !== 'undefined' && navigator.vendor?.includes('Google Inc')); +}; + /** * T or a promise that resolves to T. * @group Miscellaneous From 327696666b7fd91e773fc5ecf5015757e12947ab Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 14:40:47 +0100 Subject: [PATCH 10/63] Expand doc blocks --- src/encode.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/encode.ts b/src/encode.ts index 81b3167..75b2a21 100644 --- a/src/encode.ts +++ b/src/encode.ts @@ -115,9 +115,15 @@ export type VideoEncodingAdditionalOptions = { * format that supports transparency (such as WebM or Matroska). */ alpha?: 'discard' | 'keep'; - /** Configures the bitrate mode. */ + /** Configures the bitrate mode; defaults to `'variable'`. */ bitrateMode?: 'constant' | 'variable'; - /** The latency mode used by the encoder; controls the performance-quality tradeoff. */ + /** + * The latency mode used by the encoder; controls the performance-quality tradeoff. + * + * - `'quality'` (default): The encoder prioritizes quality over latency, and no frames can be dropped. + * - `'realtime'`: The encoder prioritizes low latency over quality, and may drop frames if the encoder becomes + * overloaded to keep up with real-time requirements. + */ latencyMode?: 'quality' | 'realtime'; /** * The full codec string as specified in the WebCodecs Codec Registry. This string must match the codec @@ -125,7 +131,8 @@ export type VideoEncodingAdditionalOptions = { */ fullCodecString?: string; /** - * A hint that configures the hardware acceleration method of this codec. This is best left on `'no-preference'`. + * A hint that configures the hardware acceleration method of this codec. This is best left on `'no-preference'`, + * the default. */ hardwareAcceleration?: 'no-preference' | 'prefer-hardware' | 'prefer-software'; /** From 02b08e036b029012eac58d7b0e376bf802db7b3c Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 16:07:17 +0100 Subject: [PATCH 11/63] Fix Matroska files where no audio packets are key packets (fixes #192) --- dev/demux.html | 4 ++-- src/matroska/matroska-demuxer.ts | 10 +++++++++- src/muxer.ts | 22 +++++++++++----------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/dev/demux.html b/dev/demux.html index 8c5310b..c0c8346 100644 --- a/dev/demux.html +++ b/dev/demux.html @@ -14,8 +14,8 @@ source: new Mediabunny.BlobSource(file), }); - const videoTrack = await input.getPrimaryVideoTrack(); - const sink = new Mediabunny.EncodedPacketSink(videoTrack); + const audioTrack = await input.getPrimaryAudioTrack(); + const sink = new Mediabunny.EncodedPacketSink(audioTrack); for await (const packet of sink.packets()) { console.log(packet.timestamp, packet.duration, packet.type) diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index 32880d5..9af38db 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -1374,9 +1374,17 @@ export class MatroskaDemuxer extends Demuxer { const relativeTimestamp = readI16Be(slice); const flags = readU8(slice); - const isKeyFrame = !!(flags & 0x80); const lacing = (flags >> 1) & 0x3 as BlockLacing; // If the block is laced, we'll expand it later + let isKeyFrame = !!(flags & 0x80); + if (trackData.track.info?.type === 'audio' && trackData.track.info.codec) { + // Some files don't mark their audio packets as key packets (I'm looking at you, Firefox). But, we + // can fix this in most cases: if we recognize the codec of the track, then we know every packet is + // necessarily a key packet, no matter what the container says. + // https://github.com/Vanilagy/mediabunny/issues/192 + isKeyFrame = true; + } + const blockData = readBytes(slice, size - (slice.filePos - dataStartPos)); const hasDecodingInstructions = trackData.track.decodingInstructions.length > 0; diff --git a/src/muxer.ts b/src/muxer.ts index b23356f..de2a36e 100644 --- a/src/muxer.ts +++ b/src/muxer.ts @@ -46,21 +46,21 @@ export abstract class Muxer { private trackTimestampInfo = new WeakMap(); - protected validateAndNormalizeTimestamp(track: OutputTrack, timestampInSeconds: number, isKeyFrame: boolean) { + protected validateAndNormalizeTimestamp(track: OutputTrack, timestampInSeconds: number, isKeyPacket: boolean) { timestampInSeconds += track.source._timestampOffset; let timestampInfo = this.trackTimestampInfo.get(track); if (!timestampInfo) { - if (!isKeyFrame) { - throw new Error('First frame must be a key frame.'); + if (!isKeyPacket) { + throw new Error('First packet must be a key packet.'); } timestampInfo = { maxTimestamp: timestampInSeconds, - maxTimestampBeforeLastKeyFrame: timestampInSeconds, + maxTimestampBeforeLastKeyPacket: timestampInSeconds, }; this.trackTimestampInfo.set(track, timestampInfo); } @@ -69,15 +69,15 @@ export abstract class Muxer { throw new Error(`Timestamps must be non-negative (got ${timestampInSeconds}s).`); } - if (isKeyFrame) { - timestampInfo.maxTimestampBeforeLastKeyFrame = timestampInfo.maxTimestamp; + if (isKeyPacket) { + timestampInfo.maxTimestampBeforeLastKeyPacket = timestampInfo.maxTimestamp; } - if (timestampInSeconds < timestampInfo.maxTimestampBeforeLastKeyFrame) { + if (timestampInSeconds < timestampInfo.maxTimestampBeforeLastKeyPacket) { throw new Error( - `Timestamps cannot be smaller than the highest timestamp of the previous GOP (a GOP begins with a key` - + ` frame and ends right before the next key frame). Got ${timestampInSeconds}s, but highest timestamp` - + ` is ${timestampInfo.maxTimestampBeforeLastKeyFrame}s.`, + `Timestamps cannot be smaller than the largest timestamp of the previous GOP (a GOP begins with a key` + + ` packet and ends right before the next key packet). Got ${timestampInSeconds}s, but largest` + + ` timestamp is ${timestampInfo.maxTimestampBeforeLastKeyPacket}s.`, ); } From 0f030dc2a6e013f3d36aa98980af96c878c1a01c Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 19:28:43 +0100 Subject: [PATCH 12/63] Add Ponder --- README.md | 4 ++++ docs/index.md | 1 + docs/public/sponsors/ponder.png | Bin 0 -> 17813 bytes 3 files changed, 5 insertions(+) create mode 100644 docs/public/sponsors/ponder.png diff --git a/README.md b/README.md index fe4ce48..6d108d4 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,10 @@ Mediabunny is a JavaScript library for reading, writing, and converting media fi Pintura Labs +      + + Ponder + ### Bronze sponsors diff --git a/docs/index.md b/docs/index.md index 760eae2..2f75e28 100644 --- a/docs/index.md +++ b/docs/index.md @@ -98,6 +98,7 @@ const sponsors = { ], silver: [ { image: '/sponsors/pintura-labs.png', name: 'Pintura Labs', url: 'https://pqina.nl/pintura/' }, + { image: '/sponsors/ponder.png', name: 'Ponder', url: 'https://ponder.ai/' }, ], bronze: [ { image: '/sponsors/rve.png', name: 'React Video Editor', url: 'https://www.reactvideoeditor.com/' }, diff --git a/docs/public/sponsors/ponder.png b/docs/public/sponsors/ponder.png new file mode 100644 index 0000000000000000000000000000000000000000..d335a626cb6a8e7a4b0244e0fcf7424e885977ba GIT binary patch literal 17813 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 literal 0 HcmV?d00001 From 6684984e7e72d6d98b523dc2fb19b259bbc8832b Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 12 Nov 2025 21:35:18 +0100 Subject: [PATCH 13/63] Fix faulty timestamp rounding to nearest integer (fixes #207) --- src/isobmff/isobmff-demuxer.ts | 4 ++-- src/matroska/matroska-demuxer.ts | 4 ++-- src/misc.ts | 11 ++++++++--- src/ogg/ogg-demuxer.ts | 6 +++--- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/isobmff/isobmff-demuxer.ts b/src/isobmff/isobmff-demuxer.ts index 124c7b1..35e90ae 100644 --- a/src/isobmff/isobmff-demuxer.ts +++ b/src/isobmff/isobmff-demuxer.ts @@ -51,13 +51,13 @@ import { MATRIX_COEFFICIENTS_MAP_INVERSE, normalizeRotation, roundToMultiple, - roundToPrecision, Rotation, textDecoder, TransformationMatrix, TRANSFER_CHARACTERISTICS_MAP_INVERSE, UNDETERMINED_LANGUAGE, toDataView, + roundIfAlmostInteger, } from '../misc'; import { EncodedPacket, PLACEHOLDER_DATA } from '../packet'; import { buildIsobmffMimeType } from './isobmff-misc'; @@ -2388,7 +2388,7 @@ abstract class IsobmffTrackBacking implements InputTrackBacking { // Do a little rounding to catch cases where the result is very close to an integer. If it is, it's likely // that the number was originally an integer divided by the timescale. For stability, it's best // to return the integer in this case. - return roundToPrecision(timestamp * this.internalTrack.timescale, 14) + this.internalTrack.editListOffset; + return roundIfAlmostInteger(timestamp * this.internalTrack.timescale) + this.internalTrack.editListOffset; } async getPacket(timestamp: number, options: PacketRetrievalOptions) { diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index 9af38db..4c69c35 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -43,7 +43,7 @@ import { MATRIX_COEFFICIENTS_MAP_INVERSE, normalizeRotation, Rotation, - roundToPrecision, + roundIfAlmostInteger, TRANSFER_CHARACTERISTICS_MAP_INVERSE, UNDETERMINED_LANGUAGE, } from '../misc'; @@ -1874,7 +1874,7 @@ abstract class MatroskaTrackBacking implements InputTrackBacking { // Do a little rounding to catch cases where the result is very close to an integer. If it is, it's likely // that the number was originally an integer divided by the timescale. For stability, it's best // to return the integer in this case. - return roundToPrecision(timestamp * this.internalTrack.segment.timestampFactor, 14); + return roundIfAlmostInteger(timestamp * this.internalTrack.segment.timestampFactor); } async getPacket(timestamp: number, options: PacketRetrievalOptions) { diff --git a/src/misc.ts b/src/misc.ts index 2f91ed0..68cb687 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -486,9 +486,14 @@ export const clamp = (value: number, min: number, max: number) => { export const UNDETERMINED_LANGUAGE = 'und'; -export const roundToPrecision = (value: number, digits: number) => { - const factor = 10 ** digits; - return Math.round(value * factor) / factor; +export const roundIfAlmostInteger = (value: number) => { + const rounded = Math.round(value); + + if (Math.abs(value / rounded - 1) < 10 * Number.EPSILON) { + return rounded; + } else { + return value; + } }; export const roundToMultiple = (value: number, multiple: number) => { diff --git a/src/ogg/ogg-demuxer.ts b/src/ogg/ogg-demuxer.ts index 495865d..556e3af 100644 --- a/src/ogg/ogg-demuxer.ts +++ b/src/ogg/ogg-demuxer.ts @@ -19,7 +19,7 @@ import { binarySearchLessOrEqual, findLast, last, - roundToPrecision, + roundIfAlmostInteger, toDataView, UNDETERMINED_LANGUAGE, } from '../misc'; @@ -577,7 +577,7 @@ class OggAudioTrackBacking implements InputAudioTrackBacking { return this.getPacketSequential(timestamp, options); } - const timestampInSamples = roundToPrecision(timestamp * this.internalSampleRate, 14); + const timestampInSamples = roundIfAlmostInteger(timestamp * this.internalSampleRate); if (timestampInSamples === 0) { // Fast path for timestamp 0 - avoids binary search when playing back from the start return this.getFirstPacket(options); @@ -910,7 +910,7 @@ class OggAudioTrackBacking implements InputAudioTrackBacking { const release = await this.sequentialScanMutex.acquire(); // Requires exclusivity because we write to a cache try { - const timestampInSamples = roundToPrecision(timestamp * this.internalSampleRate, 14); + const timestampInSamples = roundIfAlmostInteger(timestamp * this.internalSampleRate); timestamp = timestampInSamples / this.internalSampleRate; const index = binarySearchLessOrEqual( From 89d48d1bf99235730c25f42dcdae7a3213b43579 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 13 Nov 2025 08:52:48 +0100 Subject: [PATCH 14/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e991436..d370518 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.24.6", + "version": "1.24.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.24.6", + "version": "1.24.7", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7749,9 +7749,9 @@ } }, "node_modules/mediabunny": { - "version": "1.24.5", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.24.5.tgz", - "integrity": "sha512-4Sd5x8WXQiuDKZcJDAiQjyD0Lg/cg9p+dBShCM02F1pMvKdB9R6+WHZ9NFCFSqViVPX2fYSu95ZIpBUg9+TwTQ==", + "version": "1.24.6", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.24.6.tgz", + "integrity": "sha512-GODsNvKeig2Zhj2NCABBskVgJS1IMltP0uX/I0ltFksPCHpshreZhJEMwc903YbgdsW3RT7e6uvLX6UtlmeIkQ==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12242,7 +12242,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.24.6", + "version": "1.24.7", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index acc0a8c..8c47ec5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.24.6", + "version": "1.24.7", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 64bc7ab..a6f78f2 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.24.6", + "version": "1.24.7", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From 2c96ec0f1b57b5bc3adae1cff99be9b4b99fe88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Lid=C3=A9n?= Date: Thu, 13 Nov 2025 09:34:29 +0100 Subject: [PATCH 15/63] feature(isobmff): read disabled tracks (#214) * feature(isobmff): read disabled tracks * Put enabled ISOBMFF tracks first --------- Co-authored-by: Vanilagy <1696106+Vanilagy@users.noreply.github.com> --- src/isobmff/isobmff-demuxer.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/isobmff/isobmff-demuxer.ts b/src/isobmff/isobmff-demuxer.ts index 35e90ae..aa34771 100644 --- a/src/isobmff/isobmff-demuxer.ts +++ b/src/isobmff/isobmff-demuxer.ts @@ -92,6 +92,7 @@ type InternalTrack = { id: number; demuxer: IsobmffDemuxer; inputTrack: InputTrack | null; + isDefault: boolean; timescale: number; durationInMovieTimescale: number; durationInMediaTimescale: number; @@ -315,6 +316,9 @@ export class IsobmffDemuxer extends Demuxer { this.moovSlice = moovSlice; this.readContiguousBoxes(this.moovSlice); + // Put default tracks first + this.tracks.sort((a, b) => Number(b.isDefault) - Number(a.isDefault)); + for (const track of this.tracks) { // Modify the edit list offset based on the previous segment durations. They are in different // timescales, so we first convert to seconds and then into the track timescale. @@ -651,6 +655,7 @@ export class IsobmffDemuxer extends Demuxer { id: -1, demuxer: this, inputTrack: null, + isDefault: false, info: null, timescale: -1, durationInMovieTimescale: -1, @@ -695,10 +700,10 @@ export class IsobmffDemuxer extends Demuxer { const version = readU8(slice); const flags = readU24Be(slice); - const trackEnabled = (flags & 0x1) !== 0; - if (!trackEnabled) { - break; - } + // Spec says disabled tracks are to be treated like they don't exist, but in practice, they are treated + // more like non-default tracks. + const trackEnabled = !!(flags & 0x1); + track.isDefault = trackEnabled; // Skip over creation & modification time to reach the track ID if (version === 0) { From 217b383f12ef00a5c148871878c65dbf48fffe56 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 13 Nov 2025 11:00:42 +0100 Subject: [PATCH 16/63] Add read/write support for track disposition information --- dev/demux.html | 6 ++ docs/guide/reading-media-files.md | 4 ++ docs/guide/writing-media-files.md | 1 + src/adts/adts-demuxer.ts | 7 +++ src/codec-data.ts | 2 +- src/conversion.ts | 8 ++- src/demuxer.ts | 2 +- src/flac/flac-demuxer.ts | 8 ++- src/flac/flac-muxer.ts | 2 +- src/id3.ts | 2 +- src/index.ts | 3 +- src/input-track.ts | 7 +++ src/isobmff/isobmff-boxes.ts | 9 ++- src/isobmff/isobmff-demuxer.ts | 16 ++++-- src/isobmff/isobmff-reader.ts | 2 +- src/matroska/ebml.ts | 4 ++ src/matroska/matroska-demuxer.ts | 46 ++++++++++++++-- src/matroska/matroska-muxer.ts | 20 ++++++- src/{tags.ts => metadata.ts} | 59 ++++++++++++++++++++ src/mp3/mp3-demuxer.ts | 8 ++- src/mp3/mp3-muxer.ts | 2 +- src/ogg/ogg-demuxer.ts | 8 ++- src/output.ts | 7 ++- src/wave/wave-demuxer.ts | 8 ++- src/wave/wave-muxer.ts | 2 +- test/node/disposition.test.ts | 92 +++++++++++++++++++++++++++++++ test/node/metadata-tags.test.ts | 2 +- 27 files changed, 307 insertions(+), 30 deletions(-) rename src/{tags.ts => metadata.ts} (81%) create mode 100644 test/node/disposition.test.ts diff --git a/dev/demux.html b/dev/demux.html index c0c8346..8d02ae1 100644 --- a/dev/demux.html +++ b/dev/demux.html @@ -14,12 +14,18 @@ source: new Mediabunny.BlobSource(file), }); + console.log(await input.getTracks()); + + /* + return; + const audioTrack = await input.getPrimaryAudioTrack(); const sink = new Mediabunny.EncodedPacketSink(audioTrack); for await (const packet of sink.packets()) { console.log(packet.timestamp, packet.duration, packet.type) } + */ /* const audioTrack = await input.getPrimaryAudioTrack(); diff --git a/docs/guide/reading-media-files.md b/docs/guide/reading-media-files.md index 8457088..dab7aec 100644 --- a/docs/guide/reading-media-files.md +++ b/docs/guide/reading-media-files.md @@ -106,6 +106,10 @@ track.languageCode; // => string // A user-defined name for this track. track.name; // => string + +// Information about the intended usage of the track +// (default, commentary, hearing-impaired, visually-impaired, etc.) +track.disposition; // TrackDisposition ``` #### Codec information diff --git a/docs/guide/writing-media-files.md b/docs/guide/writing-media-files.md index c9ef8ed..6882eb4 100644 --- a/docs/guide/writing-media-files.md +++ b/docs/guide/writing-media-files.md @@ -56,6 +56,7 @@ output.addVideoTrack(videoSource, { output.addAudioTrack(audioSourceEng, { language: 'eng', // ISO 639-2/T language code name: 'Developer Commentary', // Sets a user-defined track name + disposition: { commentary: true }, // Sets additional flags in the file }); output.addAudioTrack(audioSourceGer, { language: 'ger', diff --git a/src/adts/adts-demuxer.ts b/src/adts/adts-demuxer.ts index 209365e..3295a9a 100644 --- a/src/adts/adts-demuxer.ts +++ b/src/adts/adts-demuxer.ts @@ -21,6 +21,7 @@ import { } from '../misc'; import { EncodedPacket, PLACEHOLDER_DATA } from '../packet'; import { readBytes, Reader } from '../reader'; +import { DEFAULT_TRACK_DISPOSITION } from '../metadata'; import { FrameHeader, MAX_FRAME_HEADER_SIZE, MIN_FRAME_HEADER_SIZE, readFrameHeader } from './adts-reader'; const SAMPLES_PER_AAC_FRAME = 1024; @@ -188,6 +189,12 @@ class AdtsAudioTrackBacking implements InputAudioTrackBacking { return sampleRate; } + getDisposition() { + return { + ...DEFAULT_TRACK_DISPOSITION, + }; + } + async getDecoderConfig(): Promise { assert(this.demuxer.firstFrameHeader); diff --git a/src/codec-data.ts b/src/codec-data.ts index 13888f2..eef04ec 100644 --- a/src/codec-data.ts +++ b/src/codec-data.ts @@ -24,7 +24,7 @@ import { toUint8Array, } from './misc'; import { PacketType } from './packet'; -import { MetadataTags } from './tags'; +import { MetadataTags } from './metadata'; // References for AVC/HEVC code: // ISO 14496-15 diff --git a/src/conversion.ts b/src/conversion.ts index 2771f7c..33bbd4d 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -48,7 +48,7 @@ import { import { Output, TrackType } from './output'; import { Mp4OutputFormat } from './output-format'; import { AudioSample, clampCropRectangle, validateCropRectangle, VideoSample } from './sample'; -import { MetadataTags, validateMetadataTags } from './tags'; +import { MetadataTags, validateMetadataTags } from './metadata'; import { NullTarget } from './target'; /** @@ -1184,9 +1184,10 @@ export class Conversion { this.output.addVideoTrack(videoSource, { frameRate: trackOptions.frameRate, - // TEMP: This condition can be removed when all demuxers properly homogenize to BCP47 in v2 + // TODO: This condition can be removed when all demuxers properly homogenize to BCP47 in v2 languageCode: isIso639Dash2LanguageCode(track.languageCode) ? track.languageCode : undefined, name: track.name ?? undefined, + disposition: track.disposition, rotation: needsRerender ? 0 : totalRotation, // Rerendering will bake the rotation into the output }); this._addedCounts.video++; @@ -1423,9 +1424,10 @@ export class Conversion { } this.output.addAudioTrack(audioSource, { - // TEMP: This condition can be removed when all demuxers properly homogenize to BCP47 in v2 + // TODO: This condition can be removed when all demuxers properly homogenize to BCP47 in v2 languageCode: isIso639Dash2LanguageCode(track.languageCode) ? track.languageCode : undefined, name: track.name ?? undefined, + disposition: track.disposition, }); this._addedCounts.audio++; this._totalTrackCount++; diff --git a/src/demuxer.ts b/src/demuxer.ts index f654dab..5b53fb2 100644 --- a/src/demuxer.ts +++ b/src/demuxer.ts @@ -8,7 +8,7 @@ import { Input } from './input'; import { InputTrack } from './input-track'; -import { MetadataTags } from './tags'; +import { MetadataTags } from './metadata'; export abstract class Demuxer { input: Input; diff --git a/src/flac/flac-demuxer.ts b/src/flac/flac-demuxer.ts index 4303fd4..e362f44 100644 --- a/src/flac/flac-demuxer.ts +++ b/src/flac/flac-demuxer.ts @@ -28,7 +28,7 @@ import { readU32Be, readU8, } from '../reader'; -import { MetadataTags } from '../tags'; +import { DEFAULT_TRACK_DISPOSITION, MetadataTags } from '../metadata'; import { calculateCrc8, readBlockSize, @@ -565,6 +565,12 @@ class FlacAudioTrackBacking implements InputAudioTrackBacking { return this.demuxer.audioInfo.sampleRate; } + getDisposition() { + return { + ...DEFAULT_TRACK_DISPOSITION, + }; + } + async getFirstTimestamp() { return 0; } diff --git a/src/flac/flac-muxer.ts b/src/flac/flac-muxer.ts index 782234a..b444f0b 100644 --- a/src/flac/flac-muxer.ts +++ b/src/flac/flac-muxer.ts @@ -20,7 +20,7 @@ import { Output, OutputAudioTrack } from '../output'; import { FlacOutputFormat } from '../output-format'; import { EncodedPacket } from '../packet'; import { FileSlice, readBytes } from '../reader'; -import { AttachedImage, metadataTagsAreEmpty } from '../tags'; +import { AttachedImage, metadataTagsAreEmpty } from '../metadata'; import { Writer } from '../writer'; import { readBlockSize, diff --git a/src/id3.ts b/src/id3.ts index f231176..15db50b 100644 --- a/src/id3.ts +++ b/src/id3.ts @@ -7,7 +7,7 @@ */ import { decodeSynchsafe, encodeSynchsafe } from '../shared/mp3-misc'; -import { MetadataTags } from './tags'; +import { MetadataTags } from './metadata'; import { coalesceIndex, textDecoder, diff --git a/src/index.ts b/src/index.ts index e3abe7a..f5dbdf1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -202,6 +202,7 @@ export { AttachedImage, RichImageData, AttachedFile, -} from './tags'; + TrackDisposition, +} from './metadata'; // 🐡🦔 diff --git a/src/input-track.ts b/src/input-track.ts index 25b5100..8c137fc 100644 --- a/src/input-track.ts +++ b/src/input-track.ts @@ -14,6 +14,7 @@ import { EncodedPacketSink, PacketRetrievalOptions } from './media-sink'; import { assert, Rotation } from './misc'; import { TrackType } from './output'; import { EncodedPacket, PacketType } from './packet'; +import { TrackDisposition } from './metadata'; /** * Contains aggregate statistics about the encoded packets of a track. @@ -36,6 +37,7 @@ export interface InputTrackBacking { getName(): string | null; getLanguageCode(): string; getTimeResolution(): number; + getDisposition(): TrackDisposition; getFirstTimestamp(): Promise; computeDuration(): Promise; @@ -128,6 +130,11 @@ export abstract class InputTrack { return this._backing.getTimeResolution(); } + /** The track's disposition, i.e. information about its intended usage. */ + get disposition() { + return this._backing.getDisposition(); + } + /** * Returns the start timestamp of the first packet of this track, in seconds. While often near zero, this value * may be positive or even negative. A negative starting timestamp means the track's timing has been offset. Samples diff --git a/src/isobmff/isobmff-boxes.ts b/src/isobmff/isobmff-boxes.ts index f2fccc4..b69ac5e 100644 --- a/src/isobmff/isobmff-boxes.ts +++ b/src/isobmff/isobmff-boxes.ts @@ -44,7 +44,7 @@ import { Sample, } from './isobmff-muxer'; import { parseOpusIdentificationHeader } from '../codec-data'; -import { MetadataTags, RichImageData } from '../tags'; +import { MetadataTags, RichImageData } from '../metadata'; export class IsobmffBoxWriter { private helper = new Uint8Array(8); @@ -421,7 +421,12 @@ export const tkhd = ( matrix = IDENTITY_MATRIX; } - return fullBox('tkhd', +needsU64, 3, [ + let flags = 0x2; // Track in movie + if (trackData.track.metadata.disposition?.default !== false) { + flags |= 0x1; // Track enabled + } + + return fullBox('tkhd', +needsU64, flags, [ u32OrU64(creationTime), // Creation time u32OrU64(creationTime), // Modification time u32(trackData.track.id), // Track ID diff --git a/src/isobmff/isobmff-demuxer.ts b/src/isobmff/isobmff-demuxer.ts index aa34771..b76fd85 100644 --- a/src/isobmff/isobmff-demuxer.ts +++ b/src/isobmff/isobmff-demuxer.ts @@ -86,13 +86,13 @@ import { readU8, readAscii, } from '../reader'; -import { MetadataTags, RichImageData } from '../tags'; +import { DEFAULT_TRACK_DISPOSITION, MetadataTags, RichImageData, TrackDisposition } from '../metadata'; type InternalTrack = { id: number; demuxer: IsobmffDemuxer; inputTrack: InputTrack | null; - isDefault: boolean; + disposition: TrackDisposition; timescale: number; durationInMovieTimescale: number; durationInMediaTimescale: number; @@ -317,7 +317,7 @@ export class IsobmffDemuxer extends Demuxer { this.readContiguousBoxes(this.moovSlice); // Put default tracks first - this.tracks.sort((a, b) => Number(b.isDefault) - Number(a.isDefault)); + this.tracks.sort((a, b) => Number(b.disposition.default) - Number(a.disposition.default)); for (const track of this.tracks) { // Modify the edit list offset based on the previous segment durations. They are in different @@ -655,7 +655,9 @@ export class IsobmffDemuxer extends Demuxer { id: -1, demuxer: this, inputTrack: null, - isDefault: false, + disposition: { + ...DEFAULT_TRACK_DISPOSITION, + }, info: null, timescale: -1, durationInMovieTimescale: -1, @@ -703,7 +705,7 @@ export class IsobmffDemuxer extends Demuxer { // Spec says disabled tracks are to be treated like they don't exist, but in practice, they are treated // more like non-default tracks. const trackEnabled = !!(flags & 0x1); - track.isDefault = trackEnabled; + track.disposition.default = trackEnabled; // Skip over creation & modification time to reach the track ID if (version === 0) { @@ -2350,6 +2352,10 @@ abstract class IsobmffTrackBacking implements InputTrackBacking { return this.internalTrack.timescale; } + getDisposition() { + return this.internalTrack.disposition; + } + async computeDuration() { const lastPacket = await this.getPacket(Infinity, { metadataOnly: true }); return (lastPacket?.timestamp ?? 0) + (lastPacket?.duration ?? 0); diff --git a/src/isobmff/isobmff-reader.ts b/src/isobmff/isobmff-reader.ts index 67e0ab8..2579fc9 100644 --- a/src/isobmff/isobmff-reader.ts +++ b/src/isobmff/isobmff-reader.ts @@ -6,7 +6,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { RichImageData } from '../tags'; +import { RichImageData } from '../metadata'; import { textDecoder } from '../misc'; import { FileSlice, readAscii, readBytes, readI32Be, readU16Be, readU32Be, readU64Be, readU8 } from '../reader'; diff --git a/src/matroska/ebml.ts b/src/matroska/ebml.ts index 5097b77..d695405 100644 --- a/src/matroska/ebml.ts +++ b/src/matroska/ebml.ts @@ -88,6 +88,10 @@ export enum EBMLId { FlagEnabled = 0xb9, FlagDefault = 0x88, FlagForced = 0x55aa, + FlagOriginal = 0x55ae, + FlagHearingImpaired = 0x55ab, + FlagVisualImpaired = 0x55ac, + FlagCommentary = 0x55af, FlagLacing = 0x9c, Name = 0x536e, Language = 0x22b59c, diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index 4c69c35..0cf97d7 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -31,7 +31,7 @@ import { InputVideoTrack, InputVideoTrackBacking, } from '../input-track'; -import { AttachedFile, MetadataTags } from '../tags'; +import { AttachedFile, DEFAULT_TRACK_DISPOSITION, MetadataTags, TrackDisposition } from '../metadata'; import { PacketRetrievalOptions } from '../media-sink'; import { assert, @@ -188,7 +188,7 @@ type InternalTrack = { }[]; cuePoints: CuePoint[]; - isDefault: boolean; + disposition: TrackDisposition; inputTrack: InputTrack | null; codecId: string | null; codecPrivate: Uint8Array | null; @@ -537,7 +537,7 @@ export class MatroskaDemuxer extends Demuxer { } // Put default tracks first - this.currentSegment.tracks.sort((a, b) => Number(b.isDefault) - Number(a.isDefault)); + this.currentSegment.tracks.sort((a, b) => Number(b.disposition.default) - Number(a.disposition.default)); // Now, let's distribute the cue points to the tracks const idToTrack = new Map(this.currentSegment.tracks.map(x => [x.id, x])); @@ -989,7 +989,9 @@ export class MatroskaDemuxer extends Demuxer { clusterPositionCache: [], cuePoints: [], - isDefault: false, + disposition: { + ...DEFAULT_TRACK_DISPOSITION, + }, inputTrack: null, codecId: null, codecPrivate: null, @@ -1154,7 +1156,37 @@ export class MatroskaDemuxer extends Demuxer { case EBMLId.FlagDefault: { if (!this.currentTrack) break; - this.currentTrack.isDefault = !!readUnsignedInt(slice, size); + this.currentTrack.disposition.default = !!readUnsignedInt(slice, size); + }; break; + + case EBMLId.FlagForced: { + if (!this.currentTrack) break; + + this.currentTrack.disposition.forced = !!readUnsignedInt(slice, size); + }; break; + + case EBMLId.FlagOriginal: { + if (!this.currentTrack) break; + + this.currentTrack.disposition.original = !!readUnsignedInt(slice, size); + }; break; + + case EBMLId.FlagHearingImpaired: { + if (!this.currentTrack) break; + + this.currentTrack.disposition.hearingImpaired = !!readUnsignedInt(slice, size); + }; break; + + case EBMLId.FlagVisualImpaired: { + if (!this.currentTrack) break; + + this.currentTrack.disposition.visuallyImpaired = !!readUnsignedInt(slice, size); + }; break; + + case EBMLId.FlagCommentary: { + if (!this.currentTrack) break; + + this.currentTrack.disposition.commentary = !!readUnsignedInt(slice, size); }; break; case EBMLId.CodecID: { @@ -1847,6 +1879,10 @@ abstract class MatroskaTrackBacking implements InputTrackBacking { return this.internalTrack.segment.timestampFactor; } + getDisposition() { + return this.internalTrack.disposition; + } + async getFirstPacket(options: PacketRetrievalOptions) { return this.performClusterLookup( null, diff --git a/src/matroska/matroska-muxer.ts b/src/matroska/matroska-muxer.ts index deff3e0..920eab8 100644 --- a/src/matroska/matroska-muxer.ts +++ b/src/matroska/matroska-muxer.ts @@ -63,7 +63,7 @@ import { Muxer } from '../muxer'; import { Writer } from '../writer'; import { EncodedPacket } from '../packet'; import { parseOpusIdentificationHeader } from '../codec-data'; -import { AttachedFile } from '../tags'; +import { AttachedFile } from '../metadata'; const MIN_CLUSTER_TIMESTAMP_MS = /* #__PURE__ */ -(2 ** 15); const MAX_CLUSTER_TIMESTAMP_MS = /* #__PURE__ */ 2 ** 15 - 1; @@ -304,6 +304,24 @@ export class MatroskaMuxer extends Muxer { { id: EBMLId.TrackNumber, data: trackData.track.id }, { id: EBMLId.TrackUID, data: trackData.track.id }, { id: EBMLId.TrackType, data: TRACK_TYPE_MAP[trackData.type] }, + trackData.track.metadata.disposition?.default === false + ? { id: EBMLId.FlagDefault, data: 0 } + : null, + trackData.track.metadata.disposition?.forced + ? { id: EBMLId.FlagForced, data: 1 } + : null, + trackData.track.metadata.disposition?.hearingImpaired + ? { id: EBMLId.FlagHearingImpaired, data: 1 } + : null, + trackData.track.metadata.disposition?.visuallyImpaired + ? { id: EBMLId.FlagVisualImpaired, data: 1 } + : null, + trackData.track.metadata.disposition?.original + ? { id: EBMLId.FlagOriginal, data: 1 } + : null, + trackData.track.metadata.disposition?.commentary + ? { id: EBMLId.FlagCommentary, data: 1 } + : null, { id: EBMLId.FlagLacing, data: 0 }, { id: EBMLId.Language, data: trackData.track.metadata.languageCode ?? UNDETERMINED_LANGUAGE }, { id: EBMLId.CodecID, data: codecId }, diff --git a/src/tags.ts b/src/metadata.ts similarity index 81% rename from src/tags.ts rename to src/metadata.ts index 9055efc..dc1d166 100644 --- a/src/tags.ts +++ b/src/metadata.ts @@ -259,3 +259,62 @@ export const metadataTagsAreEmpty = (tags: MetadataTags) => { && tags.comment === undefined && (tags.raw === undefined || Object.keys(tags.raw).length === 0); }; + +/** + * Specifies a track's disposition, i.e. information about its intended usage. + * @public + * @group Miscellaneous + */ +export type TrackDisposition = { + /** + * Indicates that this track is eligible for automatic selection by a player; that it is the main track among other, + * non-default tracks of the same type. + */ + default: boolean; + /** + * Indicates that players should always display this track by default, even if it goes against the user's default + * preferences. For example, a subtitle track only containing translations of foreign-language audio. + */ + forced: boolean; + /** Indicates that this track is in the content's original language. */ + original: boolean; + /** Indicates that this track contains commentary. */ + commentary: boolean; + /** Indicates that this track is intended for hearing-impaired users. */ + hearingImpaired: boolean; + /** Indicates that this track is intended for visually-impaired users. */ + visuallyImpaired: boolean; +}; + +export const DEFAULT_TRACK_DISPOSITION: TrackDisposition = { + default: true, + forced: false, + original: false, + commentary: false, + hearingImpaired: false, + visuallyImpaired: false, +}; + +export const validateTrackDisposition = (disposition: Partial) => { + if (!disposition || typeof disposition !== 'object') { + throw new TypeError('disposition must be an object.'); + } + if (disposition.default !== undefined && typeof disposition.default !== 'boolean') { + throw new TypeError('disposition.default must be a boolean.'); + } + if (disposition.forced !== undefined && typeof disposition.forced !== 'boolean') { + throw new TypeError('disposition.forced must be a boolean.'); + } + if (disposition.original !== undefined && typeof disposition.original !== 'boolean') { + throw new TypeError('disposition.original must be a boolean.'); + } + if (disposition.commentary !== undefined && typeof disposition.commentary !== 'boolean') { + throw new TypeError('disposition.commentary must be a boolean.'); + } + if (disposition.hearingImpaired !== undefined && typeof disposition.hearingImpaired !== 'boolean') { + throw new TypeError('disposition.hearingImpaired must be a boolean.'); + } + if (disposition.visuallyImpaired !== undefined && typeof disposition.visuallyImpaired !== 'boolean') { + throw new TypeError('disposition.visuallyImpaired must be a boolean.'); + } +}; diff --git a/src/mp3/mp3-demuxer.ts b/src/mp3/mp3-demuxer.ts index a8333b5..fe654d8 100644 --- a/src/mp3/mp3-demuxer.ts +++ b/src/mp3/mp3-demuxer.ts @@ -10,7 +10,7 @@ import { AudioCodec } from '../codec'; import { Demuxer } from '../demuxer'; import { Input } from '../input'; import { InputAudioTrack, InputAudioTrackBacking } from '../input-track'; -import { MetadataTags } from '../tags'; +import { DEFAULT_TRACK_DISPOSITION, MetadataTags } from '../metadata'; import { PacketRetrievalOptions } from '../media-sink'; import { assert, AsyncMutex, binarySearchExact, binarySearchLessOrEqual, UNDETERMINED_LANGUAGE } from '../misc'; import { EncodedPacket, PLACEHOLDER_DATA } from '../packet'; @@ -257,6 +257,12 @@ class Mp3AudioTrackBacking implements InputAudioTrackBacking { return this.demuxer.firstFrameHeader.sampleRate; } + getDisposition() { + return { + ...DEFAULT_TRACK_DISPOSITION, + }; + } + async getDecoderConfig(): Promise { assert(this.demuxer.firstFrameHeader); diff --git a/src/mp3/mp3-muxer.ts b/src/mp3/mp3-muxer.ts index dd310da..f2c86e8 100644 --- a/src/mp3/mp3-muxer.ts +++ b/src/mp3/mp3-muxer.ts @@ -7,7 +7,7 @@ */ import { assert, toDataView } from '../misc'; -import { metadataTagsAreEmpty } from '../tags'; +import { metadataTagsAreEmpty } from '../metadata'; import { Muxer } from '../muxer'; import { Output, OutputAudioTrack } from '../output'; import { Mp3OutputFormat } from '../output-format'; diff --git a/src/ogg/ogg-demuxer.ts b/src/ogg/ogg-demuxer.ts index 556e3af..c5164b9 100644 --- a/src/ogg/ogg-demuxer.ts +++ b/src/ogg/ogg-demuxer.ts @@ -12,7 +12,7 @@ import { Demuxer } from '../demuxer'; import { Input } from '../input'; import { InputAudioTrack, InputAudioTrackBacking } from '../input-track'; import { PacketRetrievalOptions } from '../media-sink'; -import { MetadataTags } from '../tags'; +import { DEFAULT_TRACK_DISPOSITION, MetadataTags } from '../metadata'; import { assert, AsyncMutex, @@ -463,6 +463,12 @@ class OggAudioTrackBacking implements InputAudioTrackBacking { return UNDETERMINED_LANGUAGE; } + getDisposition() { + return { + ...DEFAULT_TRACK_DISPOSITION, + }; + } + async getFirstTimestamp() { return 0; } diff --git a/src/output.ts b/src/output.ts index 6379388..4046c1f 100644 --- a/src/output.ts +++ b/src/output.ts @@ -7,7 +7,7 @@ */ import { AsyncMutex, isIso639Dash2LanguageCode, Rotation } from './misc'; -import { MetadataTags, validateMetadataTags } from './tags'; +import { MetadataTags, TrackDisposition, validateMetadataTags, validateTrackDisposition } from './metadata'; import { Muxer } from './muxer'; import { OutputFormat } from './output-format'; import { AudioSource, MediaSource, SubtitleSource, VideoSource } from './media-source'; @@ -74,6 +74,8 @@ export type BaseTrackMetadata = { languageCode?: string; /** A user-defined name for this track, like "English" or "Director Commentary". */ name?: string; + /** The track's disposition, i.e. information about its intended usage. */ + disposition?: Partial; /** * The maximum amount of encoded packets that will be added to this track. Setting this field provides the muxer * with an additional signal that it can use to preallocate space in the file. @@ -129,6 +131,9 @@ const validateBaseTrackMetadata = (metadata: BaseTrackMetadata) => { if (metadata.name !== undefined && typeof metadata.name !== 'string') { throw new TypeError('metadata.name, when provided, must be a string.'); } + if (metadata.disposition !== undefined) { + validateTrackDisposition(metadata.disposition); + } if ( metadata.maximumPacketCount !== undefined && (!Number.isInteger(metadata.maximumPacketCount) || metadata.maximumPacketCount < 0) diff --git a/src/wave/wave-demuxer.ts b/src/wave/wave-demuxer.ts index c552827..56b5db5 100644 --- a/src/wave/wave-demuxer.ts +++ b/src/wave/wave-demuxer.ts @@ -11,7 +11,7 @@ import { Demuxer } from '../demuxer'; import { Input } from '../input'; import { InputAudioTrack, InputAudioTrackBacking } from '../input-track'; import { PacketRetrievalOptions } from '../media-sink'; -import { MetadataTags } from '../tags'; +import { DEFAULT_TRACK_DISPOSITION, MetadataTags } from '../metadata'; import { assert, UNDETERMINED_LANGUAGE } from '../misc'; import { EncodedPacket, PLACEHOLDER_DATA } from '../packet'; import { readAscii, readBytes, Reader, readU16, readU32, readU64 } from '../reader'; @@ -407,6 +407,12 @@ class WaveAudioTrackBacking implements InputAudioTrackBacking { return UNDETERMINED_LANGUAGE; } + getDisposition() { + return { + ...DEFAULT_TRACK_DISPOSITION, + }; + } + async getFirstTimestamp() { return 0; } diff --git a/src/wave/wave-muxer.ts b/src/wave/wave-muxer.ts index 63c8f96..74b6abf 100644 --- a/src/wave/wave-muxer.ts +++ b/src/wave/wave-muxer.ts @@ -15,7 +15,7 @@ import { Writer } from '../writer'; import { EncodedPacket } from '../packet'; import { WavOutputFormat } from '../output-format'; import { assert, assertNever, isIso88591Compatible, keyValueIterator } from '../misc'; -import { MetadataTags, metadataTagsAreEmpty } from '../tags'; +import { MetadataTags, metadataTagsAreEmpty } from '../metadata'; import { Id3V2Writer } from '../id3'; export class WaveMuxer extends Muxer { diff --git a/test/node/disposition.test.ts b/test/node/disposition.test.ts new file mode 100644 index 0000000..a949121 --- /dev/null +++ b/test/node/disposition.test.ts @@ -0,0 +1,92 @@ +import { expect, test } from 'vitest'; +import { Output } from '../../src/output.js'; +import { MkvOutputFormat } from '../../src/output-format.js'; +import { BufferTarget } from '../../src/target.js'; +import { EncodedVideoPacketSource } from '../../src/media-source.js'; +import { EncodedPacket } from '../../src/packet.js'; +import { Input } from '../../src/input.js'; +import { BufferSource } from '../../src/source.js'; +import { ALL_FORMATS } from '../../src/input-format.js'; + +test('Default track disposition', async () => { + const output = new Output({ + format: new MkvOutputFormat(), + target: new BufferTarget(), + }); + + const source = new EncodedVideoPacketSource('avc'); + output.addVideoTrack(source); + + await output.start(); + await source.add(new EncodedPacket(new Uint8Array(1024), 'key', 0, 1), { + decoderConfig: { + codec: 'avc1.123456', + codedWidth: 1920, + codedHeight: 1080, + }, + }); + + await output.finalize(); + + using input = new Input({ + source: new BufferSource(output.target.buffer!), + formats: ALL_FORMATS, + }); + + const track = (await input.getPrimaryVideoTrack())!; + + expect(track.disposition).toEqual({ + default: true, + forced: false, + original: false, + hearingImpaired: false, + visionImpaired: false, + commentary: false, + }); +}); + +test('Customized track disposition', async () => { + const output = new Output({ + format: new MkvOutputFormat(), + target: new BufferTarget(), + }); + + const source = new EncodedVideoPacketSource('avc'); + output.addVideoTrack(source, { + disposition: { + default: false, + forced: true, + original: true, + hearingImpaired: true, + visuallyImpaired: true, + commentary: true, + }, + }); + + await output.start(); + await source.add(new EncodedPacket(new Uint8Array(1024), 'key', 0, 1), { + decoderConfig: { + codec: 'avc1.123456', + codedWidth: 1920, + codedHeight: 1080, + }, + }); + + await output.finalize(); + + using input = new Input({ + source: new BufferSource(output.target.buffer!), + formats: ALL_FORMATS, + }); + + const track = (await input.getPrimaryVideoTrack())!; + + expect(track.disposition).toEqual({ + default: false, + forced: true, + original: true, + hearingImpaired: true, + visionImpaired: true, + commentary: true, + }); +}); diff --git a/test/node/metadata-tags.test.ts b/test/node/metadata-tags.test.ts index ae7ceb2..d9e50c2 100644 --- a/test/node/metadata-tags.test.ts +++ b/test/node/metadata-tags.test.ts @@ -15,7 +15,7 @@ import { EncodedPacket } from '../../src/packet.js'; import { Input } from '../../src/input.js'; import { BufferSource, FilePathSource } from '../../src/source.js'; import { ALL_FORMATS } from '../../src/input-format.js'; -import { AttachedFile, MetadataTags } from '../../src/tags.js'; +import { AttachedFile, MetadataTags } from '../../src/metadata.js'; import path from 'node:path'; import { AudioCodec, buildAudioCodecString } from '../../src/codec.js'; import { Conversion } from '../../src/conversion.js'; From abe6185ddd83c4b079cd401f6a3eba110674fae4 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 13 Nov 2025 11:02:36 +0100 Subject: [PATCH 17/63] Fix test? --- test/node/disposition.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/node/disposition.test.ts b/test/node/disposition.test.ts index a949121..18e0b2e 100644 --- a/test/node/disposition.test.ts +++ b/test/node/disposition.test.ts @@ -40,7 +40,7 @@ test('Default track disposition', async () => { forced: false, original: false, hearingImpaired: false, - visionImpaired: false, + visuallyImpaired: false, commentary: false, }); }); @@ -86,7 +86,7 @@ test('Customized track disposition', async () => { forced: true, original: true, hearingImpaired: true, - visionImpaired: true, + visuallyImpaired: true, commentary: true, }); }); From 17dfd2c68a18c7f43ffed9f2297449c0acbbe935 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 13 Nov 2025 20:18:00 +0100 Subject: [PATCH 18/63] Bump minor --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index d370518..a36d754 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.24.7", + "version": "1.25.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.24.7", + "version": "1.25.0", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7749,9 +7749,9 @@ } }, "node_modules/mediabunny": { - "version": "1.24.6", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.24.6.tgz", - "integrity": "sha512-GODsNvKeig2Zhj2NCABBskVgJS1IMltP0uX/I0ltFksPCHpshreZhJEMwc903YbgdsW3RT7e6uvLX6UtlmeIkQ==", + "version": "1.24.7", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.24.7.tgz", + "integrity": "sha512-uXGKRRWpl+KtbXaEHNYcW4XyWmTXrPQ7hqAtWwS33vn1d9uo6DPZX7a+QVTj+LljKxPCH3mM1dHoWR+2a5E9GA==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12242,7 +12242,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.24.7", + "version": "1.25.0", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 8c47ec5..af96ec4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.24.7", + "version": "1.25.0", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index a6f78f2..86be9bf 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.24.7", + "version": "1.25.0", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From 9464adf22fbe26fd0dc034a20aaec800389636e6 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Tue, 18 Nov 2025 11:36:20 +0100 Subject: [PATCH 19/63] Remove pure annotations for non-function call expressions (fixes #225) --- src/matroska/ebml.ts | 2 +- src/matroska/matroska-demuxer.ts | 2 +- src/matroska/matroska-muxer.ts | 4 ++-- src/misc.ts | 2 +- src/ogg/ogg-reader.ts | 2 +- src/source.ts | 2 +- src/writer.ts | 6 +++--- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/matroska/ebml.ts b/src/matroska/ebml.ts index d695405..eb27c40 100644 --- a/src/matroska/ebml.ts +++ b/src/matroska/ebml.ts @@ -467,7 +467,7 @@ export class EBMLWriter { export const MAX_VAR_INT_SIZE = 8; export const MIN_HEADER_SIZE = 2; // 1-byte ID and 1-byte size -export const MAX_HEADER_SIZE = /* #__PURE__ */ 2 * MAX_VAR_INT_SIZE; // 8-byte ID and 8-byte size +export const MAX_HEADER_SIZE = 2 * MAX_VAR_INT_SIZE; // 8-byte ID and 8-byte size export const readVarIntSize = (slice: FileSlice) => { const firstByte = readU8(slice); diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index 0cf97d7..db421b6 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -228,7 +228,7 @@ const METADATA_ELEMENTS = [ { id: EBMLId.Tracks, flag: 'tracksSeen' }, { id: EBMLId.Cues, flag: 'cuesSeen' }, ] as const; -const MAX_RESYNC_LENGTH = /* #__PURE__ */ 10 * 2 ** 20; // 10 MiB +const MAX_RESYNC_LENGTH = 10 * 2 ** 20; // 10 MiB export class MatroskaDemuxer extends Demuxer { reader: Reader; diff --git a/src/matroska/matroska-muxer.ts b/src/matroska/matroska-muxer.ts index 920eab8..73af407 100644 --- a/src/matroska/matroska-muxer.ts +++ b/src/matroska/matroska-muxer.ts @@ -65,8 +65,8 @@ import { EncodedPacket } from '../packet'; import { parseOpusIdentificationHeader } from '../codec-data'; import { AttachedFile } from '../metadata'; -const MIN_CLUSTER_TIMESTAMP_MS = /* #__PURE__ */ -(2 ** 15); -const MAX_CLUSTER_TIMESTAMP_MS = /* #__PURE__ */ 2 ** 15 - 1; +const MIN_CLUSTER_TIMESTAMP_MS = -(2 ** 15); +const MAX_CLUSTER_TIMESTAMP_MS = 2 ** 15 - 1; const APP_NAME = 'Mediabunny'; const SEGMENT_SIZE_BYTES = 6; const CLUSTER_SIZE_BYTES = 5; diff --git a/src/misc.ts b/src/misc.ts index 68cb687..dfbc42d 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -515,7 +515,7 @@ export const isIso639Dash2LanguageCode = (x: string) => { }; // Since the result will be truncated, add a bit of eps to compensate for floating point errors -export const SECOND_TO_MICROSECOND_FACTOR = /* #__PURE__ */ 1e6 * (1 + Number.EPSILON); +export const SECOND_TO_MICROSECOND_FACTOR = 1e6 * (1 + Number.EPSILON); /** * Sets all keys K of T to be required. diff --git a/src/ogg/ogg-reader.ts b/src/ogg/ogg-reader.ts index 13963cf..011b126 100644 --- a/src/ogg/ogg-reader.ts +++ b/src/ogg/ogg-reader.ts @@ -11,7 +11,7 @@ import { OGGS } from './ogg-misc'; export const MIN_PAGE_HEADER_SIZE = 27; export const MAX_PAGE_HEADER_SIZE = 27 + 255; -export const MAX_PAGE_SIZE = /* #__PURE__ */ MAX_PAGE_HEADER_SIZE + 255 * 255; +export const MAX_PAGE_SIZE = MAX_PAGE_HEADER_SIZE + 255 * 255; export type Page = { headerStartPos: number; diff --git a/src/source.ts b/src/source.ts index 212ee6b..68ebac1 100644 --- a/src/source.ts +++ b/src/source.ts @@ -269,7 +269,7 @@ export class BlobSource extends Source { } } -const URL_SOURCE_MIN_LOAD_AMOUNT = /* #__PURE__ */ 0.5 * 2 ** 20; // 0.5 MiB +const URL_SOURCE_MIN_LOAD_AMOUNT = 0.5 * 2 ** 20; // 0.5 MiB const DEFAULT_RETRY_DELAY = ((previousAttempts, error, src) => { // Check if this could be a CORS error. If so, we cannot recover from it and diff --git a/src/writer.ts b/src/writer.ts index 3846dcd..30de003 100644 --- a/src/writer.ts +++ b/src/writer.ts @@ -89,8 +89,8 @@ export abstract class Writer { } } -const ARRAY_BUFFER_INITIAL_SIZE = /* #__PURE__ */ 2 ** 16; -const ARRAY_BUFFER_MAX_SIZE = /* #__PURE__ */ 2 ** 32; +const ARRAY_BUFFER_INITIAL_SIZE = 2 ** 16; +const ARRAY_BUFFER_MAX_SIZE = 2 ** 32; export class BufferTargetWriter extends Writer { private pos = 0; @@ -184,7 +184,7 @@ export class BufferTargetWriter extends Writer { } } -const DEFAULT_CHUNK_SIZE = /* #__PURE__ */ 2 ** 24; +const DEFAULT_CHUNK_SIZE = 2 ** 24; const MAX_CHUNKS_AT_ONCE = 2; interface Chunk { From c5d1efc18d25ac8e99b3e40f689609c1cd305e80 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 20 Nov 2025 09:22:26 +0100 Subject: [PATCH 20/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index a36d754..d6808d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.25.0", + "version": "1.25.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.25.0", + "version": "1.25.1", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7749,9 +7749,9 @@ } }, "node_modules/mediabunny": { - "version": "1.24.7", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.24.7.tgz", - "integrity": "sha512-uXGKRRWpl+KtbXaEHNYcW4XyWmTXrPQ7hqAtWwS33vn1d9uo6DPZX7a+QVTj+LljKxPCH3mM1dHoWR+2a5E9GA==", + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.0.tgz", + "integrity": "sha512-ozaqk6zS2Vbf3+3+OoxKfnCVeZRcv5PO8DgQtBrM5vpWIbpEK+kMVV6pgfo4mC3XtMwvQEMbhj3zEf0LNklh9w==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12242,7 +12242,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.25.0", + "version": "1.25.1", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index af96ec4..235421f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.25.0", + "version": "1.25.1", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 86be9bf..0925875 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.25.0", + "version": "1.25.1", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From da159bb0632010657599f350f416447ecb841e90 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Mon, 24 Nov 2025 16:28:10 +0100 Subject: [PATCH 21/63] Stop retrying requests when the source is disposed, log warning in possible CORS detection case (see #158) --- src/misc.ts | 9 +++++++++ src/source.ts | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/misc.ts b/src/misc.ts index dfbc42d..b11c45f 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -584,6 +584,7 @@ export const retriedFetch = async ( url: string | URL | Request, requestInit: RequestInit, getRetryDelay: (previousAttempts: number, error: unknown, url: string | URL | Request) => number | null, + shouldStop: () => boolean, ) => { let attempts = 0; @@ -591,6 +592,10 @@ export const retriedFetch = async ( try { return await fetchFn(url, requestInit); } catch (error) { + if (shouldStop()) { + throw error; + } + attempts++; const retryDelayInSeconds = getRetryDelay(attempts, error, url); @@ -607,6 +612,10 @@ export const retriedFetch = async ( if (retryDelayInSeconds > 0) { await new Promise(resolve => setTimeout(resolve, 1000 * retryDelayInSeconds)); } + + if (shouldStop()) { + throw error; + } } } }; diff --git a/src/source.ts b/src/source.ts index 68ebac1..0f936a8 100644 --- a/src/source.ts +++ b/src/source.ts @@ -297,6 +297,10 @@ const DEFAULT_RETRY_DELAY = typeof navigator !== 'undefined' && typeof navigator.onLine === 'boolean' ? navigator.onLine : true; if (isOnline && originOfSrc !== null && originOfSrc !== window.location.origin) { + console.warn( + `Request will not be retried because a CORS error was suspected due to different origins. You can` + + ` modify this behavior by providing your own function for the 'getRetryDelay' option.`, + ); return null; } } @@ -425,6 +429,7 @@ export class UrlSource extends Source { signal: abortController.signal, }), this._getRetryDelay, + () => this._disposed, ); if (!response.ok) { @@ -492,6 +497,7 @@ export class UrlSource extends Source { signal: abortController.signal, }), this._getRetryDelay, + () => this._disposed, ); } @@ -539,6 +545,11 @@ export class UrlSource extends Source { try { readResult = await reader.read(); } catch (error) { + if (this._disposed) { + // No need to try to retry + throw error; + } + const retryDelayInSeconds = this._getRetryDelay(1, error, this._url); if (retryDelayInSeconds !== null) { console.error('Error while reading response stream. Attempting to resume.', error); From f62ecb0eb6fad92346a68157568b71984ebedc39 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Mon, 24 Nov 2025 16:53:53 +0100 Subject: [PATCH 22/63] Fix wrong type being used --- src/source.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/source.ts b/src/source.ts index 0f936a8..98cdc52 100644 --- a/src/source.ts +++ b/src/source.ts @@ -650,7 +650,7 @@ export class FilePathSource extends Source { _fileHandle: FileHandle | null = null; /** Creates a new {@link FilePathSource} backed by the file at the specified file path. */ - constructor(filePath: string, options: BlobSourceOptions = {}) { + constructor(filePath: string, options: FilePathSourceOptions = {}) { if (typeof filePath !== 'string') { throw new TypeError('filePath must be a string.'); } From ef7a40944ece3744a3b6138c128f67cca0fbdd3c Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Mon, 24 Nov 2025 17:18:46 +0100 Subject: [PATCH 23/63] Stronger encodability checks for Firefox (fixes #222) --- src/encode.ts | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/src/encode.ts b/src/encode.ts index 75b2a21..9f07a69 100644 --- a/src/encode.ts +++ b/src/encode.ts @@ -22,6 +22,7 @@ import { VideoCodec, } from './codec'; import { customAudioEncoders, customVideoEncoders } from './custom-coder'; +import { isFirefox } from './misc'; import { EncodedPacket } from './packet'; /** @@ -529,7 +530,45 @@ export const canEncodeVideo = async ( }); const support = await VideoEncoder.isConfigSupported(encoderConfig); - return support.supported === true; + if (!support.supported) { + return false; + } + + if (isFirefox()) { + // isConfigSupported on Firefox appears to unreliably indicate if encoding will actually succeed. Therefore, we + // just try encoding a frame to see if it actually works. + // https://github.com/Vanilagy/mediabunny/issues/222 + + // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor + return new Promise(async (resolve) => { + try { + const encoder = new VideoEncoder({ + output: () => {}, + error: () => resolve(false), + }); + encoder.configure(encoderConfig); + + const frameData = new Uint8Array(width * height * 4); + const frame = new VideoFrame(frameData, { + format: 'RGBA', + codedWidth: width, + codedHeight: height, + timestamp: 0, + }); + + encoder.encode(frame); + frame.close(); + + await encoder.flush(); + + resolve(true); + } catch { + resolve(false); + } + }); + } else { + return true; + } }; /** From 896242a5a50f3ad3192884dc9c6fb89415a6ae9e Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Mon, 24 Nov 2025 17:34:07 +0100 Subject: [PATCH 24/63] Enable sitemap generation for docs --- docs/.vitepress/config.mts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 6a1502a..7f398ba 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -14,6 +14,9 @@ export default withMermaid({ title: 'Mediabunny', description: DESCRIPTION, cleanUrls: true, + sitemap: { + hostname: 'https://mediabunny.dev', + }, head: [ ['link', { rel: 'icon', type: 'image/png', href: '/mediabunny-logo.png' }], ['link', { rel: 'icon', type: 'image/svg+xml', href: '/mediabunny-logo.svg' }], From 34b3ef0d44c8731437560c8b3f59c86b13cbe2a2 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Mon, 24 Nov 2025 17:41:41 +0100 Subject: [PATCH 25/63] Fix URLs that get redirected --- docs/.vitepress/config.mts | 2 +- docs/examples.md | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 7f398ba..a1e44e7 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -37,7 +37,7 @@ export default withMermaid({ // https://vitepress.dev/reference/default-theme-config nav: [ { text: 'Guide', link: '/guide/introduction', activeMatch: '/guide' }, - { text: 'API', link: '/api', activeMatch: '/api' }, + { text: 'API', link: '/api/', activeMatch: '/api' }, { text: 'LLMs', link: '/llms', activeMatch: '/llms' }, { text: 'Examples', link: '/examples', activeMatch: '/examples' }, { text: 'Sponsors', link: '/#sponsors', activeMatch: '/#sponsors' }, diff --git a/docs/examples.md b/docs/examples.md index 7c65313..68ce4ff 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -9,37 +9,37 @@ hero: features: - title: Metadata extraction details: Extract various metadata from an input media file. - link: /examples/metadata-extraction + link: /examples/metadata-extraction/ target: _self icon: src: /mingcute--file-info-line.svg - title: Thumbnail generation details: Generate multiple small thumbnails for a video track. - link: /examples/thumbnail-generation + link: /examples/thumbnail-generation/ target: _self icon: src: /mingcute--photo-album-line.svg - title: Media player (advanced) details: "A full video & audio media player, implemented from scratch with Mediabunny, with microsecond playback accuracy." - link: /examples/media-player + link: /examples/media-player/ target: _self icon: src: /mingcute--video-line.svg - title: File compression details: Convert an input file to a highly-compressed MP4 file. - link: /examples/file-compression + link: /examples/file-compression/ target: _self icon: src: /mingcute--file-zip-line.svg - title: Procedural video generation details: Generate a video file as fast as the hardware allows. - link: /examples/procedural-generation + link: /examples/procedural-generation/ target: _self icon: src: /mingcute--magic-3-line.svg - title: Live recording & streaming details: Record a video from live sources and stream it to a video element. - link: /examples/live-recording + link: /examples/live-recording/ target: _self icon: src: /mingcute--microphone-line.svg From cc3d48451e53f3eea1e20b6e37115b113e7f2a04 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Tue, 25 Nov 2025 17:26:12 +0100 Subject: [PATCH 26/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index d6808d6..68a6f34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.25.1", + "version": "1.25.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.25.1", + "version": "1.25.2", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7749,9 +7749,9 @@ } }, "node_modules/mediabunny": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.0.tgz", - "integrity": "sha512-ozaqk6zS2Vbf3+3+OoxKfnCVeZRcv5PO8DgQtBrM5vpWIbpEK+kMVV6pgfo4mC3XtMwvQEMbhj3zEf0LNklh9w==", + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.1.tgz", + "integrity": "sha512-0Rrd47PMCVJbTPA7IJaXPCupV5/RZ/icgr+a0qExRJAr0n5vB4fsGSo+fdHIehG0CrddXtVRvNZwFtJz709yfA==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12242,7 +12242,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.25.1", + "version": "1.25.2", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 235421f..6e96abc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.25.1", + "version": "1.25.2", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 0925875..172e319 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.25.1", + "version": "1.25.2", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From f33dd4f2cd88b5e696823c171642b59661591cd4 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 26 Nov 2025 11:26:09 +0100 Subject: [PATCH 27/63] UrlSource: Deal gracefully with servers that cap unbounded range requests (fixes #231) --- src/source.ts | 56 +++++++++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 35 deletions(-) diff --git a/src/source.ts b/src/source.ts index 98cdc52..b1caf1a 100644 --- a/src/source.ts +++ b/src/source.ts @@ -234,12 +234,7 @@ export class BlobSource extends Source { const { done, value } = await reader.read(); if (done) { this._orchestrator.forgetWorker(worker); - - if (worker.currentPos < worker.targetPos) { // I think this `if` should always hit? - throw new Error('Blob reader stopped unexpectedly before all requested data was read.'); - } - - break; + throw new Error('Blob reader stopped unexpectedly before all requested data was read.'); } if (worker.aborted) { @@ -441,7 +436,7 @@ export class UrlSource extends Source { let fileSize: number; if (response.status === 206) { - fileSize = this._getPartialLengthFromRangeResponse(response); + fileSize = this._getTotalLengthFromRangeResponse(response); worker = this._orchestrator.createWorker(0, Math.min(fileSize, URL_SOURCE_MIN_LOAD_AMOUNT)); } else { // Server probably returned a 200. @@ -515,14 +510,6 @@ export class UrlSource extends Source { ); } - const length = this._getPartialLengthFromRangeResponse(response); - const required = worker.targetPos - worker.currentPos; - if (length < required) { - throw new Error( - `HTTP response unexpectedly too short: Needed at least ${required} bytes, got only ${length}.`, - ); - } - if (!response.body) { throw new Error( 'Missing HTTP response body stream. The used fetch function must provide the response body as a' @@ -568,16 +555,17 @@ export class UrlSource extends Source { const { done, value } = readResult; if (done) { - this._orchestrator.forgetWorker(worker); - - if (worker.currentPos < worker.targetPos) { - throw new Error( - 'Response stream reader stopped unexpectedly before all requested data was read.', - ); + if (worker.currentPos >= worker.targetPos) { + // All data was delivered, we're good + this._orchestrator.forgetWorker(worker); + worker.running = false; + return; } - worker.running = false; - return; + // The response stopped early, before the target. This can happen if server decides to cap range + // requests arbitrarily, even if the request had an uncapped end. In this case, let's fetch the rest + // of the data using a new request. + break; } this.onread?.(worker.currentPos, worker.currentPos + value.length); @@ -597,25 +585,23 @@ export class UrlSource extends Source { } /** @internal */ - private _getPartialLengthFromRangeResponse(response: Response) { + private _getTotalLengthFromRangeResponse(response: Response) { const contentRange = response.headers.get('Content-Range'); if (contentRange) { const match = /\/(\d+)/.exec(contentRange); if (match) { return Number(match[1]); - } else { - throw new Error(`Invalid Content-Range header: ${contentRange}`); } + } + + const contentLength = response.headers.get('Content-Length'); + if (contentLength) { + return Number(contentLength); } else { - const contentLength = response.headers.get('Content-Length'); - if (contentLength) { - return Number(contentLength); - } else { - throw new Error( - 'Partial HTTP response (status 206) must surface either Content-Range or' - + ' Content-Length header.', - ); - } + throw new Error( + 'Partial HTTP response (status 206) must surface either Content-Range or' + + ' Content-Length header.', + ); } } From 75096edb23a7d31285cb3684f6e6a8c322754a02 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 26 Nov 2025 12:04:23 +0100 Subject: [PATCH 28/63] Update TypeScript, fix generic ArrayBufferView type errors, allow SharedArrayBuffer as input for BufferSource --- docs/guide/media-sources.md | 10 +- examples/live-recording/live-recording.ts | 2 +- .../metadata-extraction.ts | 2 +- package-lock.json | 735 +++++++----------- package.json | 6 +- src/isobmff/isobmff-boxes.ts | 2 +- src/misc.ts | 14 +- src/sample.ts | 4 +- src/source.ts | 15 +- src/target.ts | 2 +- src/writer.ts | 4 +- 11 files changed, 318 insertions(+), 478 deletions(-) diff --git a/docs/guide/media-sources.md b/docs/guide/media-sources.md index a013bf4..8c0d2bd 100644 --- a/docs/guide/media-sources.md +++ b/docs/guide/media-sources.md @@ -433,4 +433,12 @@ await textSource.add('00:00:00.000 --> 00:00:02.000\nHello there!\n\n'); await textSource.add('00:00:02.500 --> 00:00:04.000\nChunky chunks.\n\n'); ``` -The chunks have certain constraints: A cue must be fully contained within a chunk and cannot be split across multiple smaller chunks (although a chunk can contain multiple cues). Also, the WebVTT preamble must be added first and all at once. \ No newline at end of file +The chunks have certain constraints: A cue must be fully contained within a chunk and cannot be split across multiple smaller chunks (although a chunk can contain multiple cues). Also, the WebVTT preamble must be added first and all at once. + +::: info +For QuickTime to display WebVTT subtitles, it typically expects alignment information to be specified: +``` +00:00:00.000 --> 00:00:02.000 align:center +This is your last chance. +``` +::: \ No newline at end of file diff --git a/examples/live-recording/live-recording.ts b/examples/live-recording/live-recording.ts index d52f9bc..d3d97a3 100644 --- a/examples/live-recording/live-recording.ts +++ b/examples/live-recording/live-recording.ts @@ -21,7 +21,7 @@ const context = canvas.getContext('2d', { alpha: false, desynchronized: true })! const frameRate = 30; -const chunks: Uint8Array[] = []; +const chunks: Uint8Array[] = []; let recording = false; let output: Output; let videoSource: CanvasSource; diff --git a/examples/metadata-extraction/metadata-extraction.ts b/examples/metadata-extraction/metadata-extraction.ts index e5cf198..d2bc280 100644 --- a/examples/metadata-extraction/metadata-extraction.ts +++ b/examples/metadata-extraction/metadata-extraction.ts @@ -97,7 +97,7 @@ const extractMetadata = (resource: File | string) => { 'Lyrics': tags.lyrics, 'Comment': tags.comment, 'Images': tags.images?.map((image) => { - const blob = new Blob([image.data], { type: image.mimeType }); + const blob = new Blob([image.data.slice()], { type: image.mimeType }); const element = new Image(); element.src = URL.createObjectURL(blob); diff --git a/package-lock.json b/package-lock.json index 68a6f34..81249a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@eslint/js": "^9.22.0", "@fontsource-variable/rubik": "^5.2.6", "@fontsource/dm-mono": "^5.2.6", - "@microsoft/api-extractor": "^7.52.1", + "@microsoft/api-extractor": "^7.55.1", "@stylistic/eslint-plugin": "^4.2.0", "@tailwindcss/vite": "^4.1.7", "@types/markdown-it-footnote": "^3.0.4", @@ -34,8 +34,8 @@ "mermaid": "^11.6.0", "tailwindcss": "^4.1.7", "tsx": "^4.19.4", - "typescript": "^5.8.2", - "typescript-eslint": "^8.26.1", + "typescript": "^5.9.3", + "typescript-eslint": "^8.48.0", "vite": "^6.3.5", "vitepress": "^1.6.3", "vitepress-plugin-llms": "^1.5.1", @@ -923,10 +923,11 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" }, @@ -1449,21 +1450,22 @@ } }, "node_modules/@microsoft/api-extractor": { - "version": "7.52.1", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.52.1.tgz", - "integrity": "sha512-m3I5uAwE05orsu3D1AGyisX5KxsgVXB+U4bWOOaX/Z7Ftp/2Cy41qsNhO6LPvSxHBaapyser5dVorF1t5M6tig==", + "version": "7.55.1", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.55.1.tgz", + "integrity": "sha512-l8Z+8qrLkZFM3HM95Dbpqs6G39fpCa7O5p8A7AkA6hSevxkgwsOlLrEuPv0ADOyj5dI1Af5WVDiwpKG/ya5G3w==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor-model": "7.30.4", - "@microsoft/tsdoc": "~0.15.1", - "@microsoft/tsdoc-config": "~0.17.1", - "@rushstack/node-core-library": "5.12.0", - "@rushstack/rig-package": "0.5.3", - "@rushstack/terminal": "0.15.1", - "@rushstack/ts-command-line": "4.23.6", + "@microsoft/api-extractor-model": "7.32.1", + "@microsoft/tsdoc": "~0.16.0", + "@microsoft/tsdoc-config": "~0.18.0", + "@rushstack/node-core-library": "5.19.0", + "@rushstack/rig-package": "0.6.0", + "@rushstack/terminal": "0.19.4", + "@rushstack/ts-command-line": "5.1.4", + "diff": "~8.0.2", "lodash": "~4.17.15", - "minimatch": "~3.0.3", + "minimatch": "10.0.3", "resolve": "~1.22.1", "semver": "~7.5.4", "source-map": "~0.6.1", @@ -1474,75 +1476,51 @@ } }, "node_modules/@microsoft/api-extractor-model": { - "version": "7.30.4", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.30.4.tgz", - "integrity": "sha512-RobC0gyVYsd2Fao9MTKOfTdBm41P/bCMUmzS5mQ7/MoAKEqy0FOBph3JOYdq4X4BsEnMEiSHc+0NUNmdzxCpjA==", + "version": "7.32.1", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.32.1.tgz", + "integrity": "sha512-u4yJytMYiUAnhcNQcZDTh/tVtlrzKlyKrQnLOV+4Qr/5gV+cpufWzCYAB1Q23URFqD6z2RoL2UYncM9xJVGNKA==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "~0.15.1", - "@microsoft/tsdoc-config": "~0.17.1", - "@rushstack/node-core-library": "5.12.0" + "@microsoft/tsdoc": "~0.16.0", + "@microsoft/tsdoc-config": "~0.18.0", + "@rushstack/node-core-library": "5.19.0" + } + }, + "node_modules/@microsoft/api-extractor/node_modules/typescript": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, "node_modules/@microsoft/tsdoc": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.1.tgz", - "integrity": "sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.16.0.tgz", + "integrity": "sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==", "dev": true, "license": "MIT" }, "node_modules/@microsoft/tsdoc-config": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.17.1.tgz", - "integrity": "sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.0.tgz", + "integrity": "sha512-8N/vClYyfOH+l4fLkkr9+myAoR6M7akc8ntBJ4DJdWH2b09uVfr71+LTMpNyG19fNqWDg8KEDZhx5wxuqHyGjw==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "0.15.1", + "@microsoft/tsdoc": "0.16.0", "ajv": "~8.12.0", "jju": "~1.4.0", "resolve": "~1.22.2" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -1897,9 +1875,9 @@ ] }, "node_modules/@rushstack/node-core-library": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.12.0.tgz", - "integrity": "sha512-QSwwzgzWoil1SCQse+yCHwlhRxNv2dX9siPnAb9zR/UmMhac4mjMrlMZpk64BlCeOFi1kJKgXRkihSwRMbboAQ==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.19.0.tgz", + "integrity": "sha512-BxAopbeWBvNJ6VGiUL+5lbJXywTdsnMeOS8j57Cn/xY10r6sV/gbsTlfYKjzVCUBZATX2eRzJHSMCchsMTGN6A==", "dev": true, "license": "MIT", "dependencies": { @@ -1938,24 +1916,41 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@rushstack/rig-package": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.3.tgz", - "integrity": "sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==", + "node_modules/@rushstack/problem-matcher": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.1.1.tgz", + "integrity": "sha512-Fm5XtS7+G8HLcJHCWpES5VmeMyjAKaWeyZU5qPzZC+22mPlJzAsOxymHiWIfuirtPckX3aptWws+K2d0BzniJA==", "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/rig-package": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.6.0.tgz", + "integrity": "sha512-ZQmfzsLE2+Y91GF15c65L/slMRVhF6Hycq04D4TwtdGaUAbIXXg9c5pKA5KFU7M4QMaihoobp9JJYpYcaY3zOw==", + "dev": true, + "license": "MIT", "dependencies": { "resolve": "~1.22.1", "strip-json-comments": "~3.1.1" } }, "node_modules/@rushstack/terminal": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.1.tgz", - "integrity": "sha512-3vgJYwumcjoDOXU3IxZfd616lqOdmr8Ezj4OWgJZfhmiBK4Nh7eWcv8sU8N/HdzXcuHDXCRGn/6O2Q75QvaZMA==", + "version": "0.19.4", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.19.4.tgz", + "integrity": "sha512-f4XQk02CrKfrMgyOfhYd3qWI944dLC21S4I/LUhrlAP23GTMDNG6EK5effQtFkISwUKCgD9vMBrJZaPSUquxWQ==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/node-core-library": "5.12.0", + "@rushstack/node-core-library": "5.19.0", + "@rushstack/problem-matcher": "0.1.1", "supports-color": "~8.1.1" }, "peerDependencies": { @@ -1968,13 +1963,13 @@ } }, "node_modules/@rushstack/ts-command-line": { - "version": "4.23.6", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.23.6.tgz", - "integrity": "sha512-7WepygaF3YPEoToh4MAL/mmHkiIImQq3/uAkQX46kVoKTNOOlCtFGyNnze6OYuWw2o9rxsyrHVfIBKxq/am2RA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.1.4.tgz", + "integrity": "sha512-H0I6VdJ6sOUbktDFpP2VW5N29w8v4hRoNZOQz02vtEi6ZTYL1Ju8u+TcFiFawUDrUsx/5MQTUhd79uwZZVwVlA==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/terminal": "0.15.1", + "@rushstack/terminal": "0.19.4", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -2087,18 +2082,6 @@ "eslint": ">=9.0.0" } }, - "node_modules/@stylistic/eslint-plugin/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@tailwindcss/node": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.7.tgz", @@ -2902,21 +2885,21 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", - "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.0.tgz", + "integrity": "sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/type-utils": "8.26.1", - "@typescript-eslint/utils": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/scope-manager": "8.48.0", + "@typescript-eslint/type-utils": "8.48.0", + "@typescript-eslint/utils": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0", "graphemer": "^1.4.0", - "ignore": "^5.3.1", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2926,22 +2909,32 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "@typescript-eslint/parser": "^8.48.0", "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", - "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.0.tgz", + "integrity": "sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/typescript-estree": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/scope-manager": "8.48.0", + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0", "debug": "^4.3.4" }, "engines": { @@ -2953,18 +2946,40 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", - "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.0.tgz", + "integrity": "sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1" + "@typescript-eslint/tsconfig-utils": "^8.48.0", + "@typescript-eslint/types": "^8.48.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz", + "integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2974,17 +2989,35 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.0.tgz", + "integrity": "sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", - "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.48.0.tgz", + "integrity": "sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.1", - "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0", + "@typescript-eslint/utils": "8.48.0", "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2995,13 +3028,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", - "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz", + "integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==", "dev": true, "license": "MIT", "engines": { @@ -3013,20 +3046,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", - "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz", + "integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/project-service": "8.48.0", + "@typescript-eslint/tsconfig-utils": "8.48.0", + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0", "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3036,13 +3070,13 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3066,9 +3100,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", "bin": { @@ -3079,16 +3113,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", - "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.0.tgz", + "integrity": "sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/typescript-estree": "8.26.1" + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.48.0", + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3099,18 +3133,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", - "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz", + "integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", - "eslint-visitor-keys": "^4.2.0" + "@typescript-eslint/types": "8.48.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4120,19 +4154,6 @@ "concat-map": "0.0.1" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -5241,6 +5262,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/diff": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.2.tgz", + "integrity": "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", @@ -5680,10 +5711,11 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -5905,36 +5937,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -5966,16 +5968,6 @@ "fxparser": "src/cli/cli.js" } }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/fault": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", @@ -6000,6 +5992,24 @@ "pend": "~1.2.0" } }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -6036,19 +6046,6 @@ "node": ">=16.0.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/find-cache-dir": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-5.0.0.tgz", @@ -6151,9 +6148,9 @@ } }, "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", "dev": true, "license": "MIT", "dependencies": { @@ -6185,6 +6182,7 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6478,6 +6476,7 @@ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -6727,10 +6726,11 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -6782,16 +6782,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -6924,9 +6914,9 @@ "dev": true }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "license": "MIT", "dependencies": { @@ -7772,16 +7762,6 @@ "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==", "dev": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/mermaid": { "version": "11.6.0", "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.6.0.tgz", @@ -8296,20 +8276,6 @@ ], "license": "MIT" }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/millify": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/millify/-/millify-6.1.0.tgz", @@ -8336,15 +8302,19 @@ } }, "node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "dev": true, + "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minipass": { @@ -8777,7 +8747,8 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-scurry": { "version": "1.11.1", @@ -8851,13 +8822,13 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -9189,27 +9160,6 @@ "dev": true, "license": "MIT" }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -9397,18 +9347,22 @@ } }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9460,17 +9414,6 @@ "node": ">=10" } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", @@ -9543,30 +9486,6 @@ "points-on-path": "^0.2.1" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", @@ -10140,6 +10059,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10250,14 +10170,14 @@ "dev": true }, "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" @@ -10266,34 +10186,6 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/tinypool": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", @@ -10324,19 +10216,6 @@ "node": ">=14.0.0" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/tokenx": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/tokenx/-/tokenx-1.1.0.tgz", @@ -10383,9 +10262,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", - "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", "engines": { @@ -10456,9 +10335,9 @@ } }, "node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -10470,15 +10349,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.1.tgz", - "integrity": "sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.48.0.tgz", + "integrity": "sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.26.1", - "@typescript-eslint/parser": "8.26.1", - "@typescript-eslint/utils": "8.26.1" + "@typescript-eslint/eslint-plugin": "8.48.0", + "@typescript-eslint/parser": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0", + "@typescript-eslint/utils": "8.48.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10489,7 +10369,7 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/ufo": { @@ -10817,34 +10697,6 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/vite/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/vitepress": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.3.tgz", @@ -10911,22 +10763,6 @@ "url": "https://github.com/okineadev/vitepress-plugin-llms?sponsor=1" } }, - "node_modules/vitepress-plugin-llms/node_modules/minimatch": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", - "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/vitepress-plugin-mermaid": { "version": "2.0.17", "resolved": "https://registry.npmjs.org/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.17.tgz", @@ -11503,19 +11339,6 @@ } } }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/vscode-jsonrpc": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", diff --git a/package.json b/package.json index 6e96abc..9a6a387 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@eslint/js": "^9.22.0", "@fontsource-variable/rubik": "^5.2.6", "@fontsource/dm-mono": "^5.2.6", - "@microsoft/api-extractor": "^7.52.1", + "@microsoft/api-extractor": "^7.55.1", "@stylistic/eslint-plugin": "^4.2.0", "@tailwindcss/vite": "^4.1.7", "@types/markdown-it-footnote": "^3.0.4", @@ -84,8 +84,8 @@ "mermaid": "^11.6.0", "tailwindcss": "^4.1.7", "tsx": "^4.19.4", - "typescript": "^5.8.2", - "typescript-eslint": "^8.26.1", + "typescript": "^5.9.3", + "typescript-eslint": "^8.48.0", "vite": "^6.3.5", "vitepress": "^1.6.3", "vitepress-plugin-llms": "^1.5.1", diff --git a/src/isobmff/isobmff-boxes.ts b/src/isobmff/isobmff-boxes.ts index b69ac5e..0079451 100644 --- a/src/isobmff/isobmff-boxes.ts +++ b/src/isobmff/isobmff-boxes.ts @@ -850,7 +850,7 @@ export const dOps = (trackData: IsobmffAudioTrackData) => { let inputSampleRate = trackData.info.sampleRate; let outputGain = 0; let channelMappingFamily = 0; - let channelMappingTable = new Uint8Array(0); + let channelMappingTable: Uint8Array = new Uint8Array(0); // Read preskip and from codec private data from the encoder // https://www.rfc-editor.org/rfc/rfc7845#section-5 diff --git a/src/misc.ts b/src/misc.ts index b11c45f..399d62d 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -157,20 +157,20 @@ export const writeBits = (bytes: Uint8Array, start: number, end: number, value: export const toUint8Array = (source: AllowSharedBufferSource): Uint8Array => { if (source.constructor === Uint8Array) { // We want a true Uint8Array, not something that extends it like Buffer return source; - } else if (source instanceof ArrayBuffer) { - return new Uint8Array(source); - } else { + } else if (ArrayBuffer.isView(source)) { return new Uint8Array(source.buffer, source.byteOffset, source.byteLength); + } else { + return new Uint8Array(source); } }; -export const toDataView = (source: AllowSharedBufferSource) => { +export const toDataView = (source: AllowSharedBufferSource): DataView => { if (source.constructor === DataView) { return source; - } else if (source instanceof ArrayBuffer) { - return new DataView(source); - } else { + } else if (ArrayBuffer.isView(source)) { return new DataView(source.buffer, source.byteOffset, source.byteLength); + } else { + return new DataView(source); } }; diff --git a/src/sample.ts b/src/sample.ts index 35d7800..ddd4527 100644 --- a/src/sample.ts +++ b/src/sample.ts @@ -1250,7 +1250,9 @@ export class AudioSample implements Disposable { numberOfFrames: this.numberOfFrames, numberOfChannels: this.numberOfChannels, timestamp: this.microsecondTimestamp, - data: this._data, + data: this._data.buffer instanceof ArrayBuffer + ? this._data.buffer + : this._data.slice(), // In the case of SharedArrayBuffer, convert to ArrayBuffer }); } } diff --git a/src/source.ts b/src/source.ts index b1caf1a..efd4879 100644 --- a/src/source.ts +++ b/src/source.ts @@ -102,10 +102,17 @@ export class BufferSource extends Source { /** @internal */ _onreadCalled = false; - /** Creates a new {@link BufferSource} backed the specified `ArrayBuffer` or `ArrayBufferView`. */ - constructor(buffer: ArrayBuffer | ArrayBufferView) { - if (!(buffer instanceof ArrayBuffer) && !ArrayBuffer.isView(buffer)) { - throw new TypeError('buffer must be an ArrayBuffer or ArrayBufferView.'); + /** + * Creates a new {@link BufferSource} backed by the specified `ArrayBuffer`, `SharedArrayBuffer`, + * or `ArrayBufferView`. + */ + constructor(buffer: AllowSharedBufferSource) { + if ( + !(buffer instanceof ArrayBuffer) + && !(typeof SharedArrayBuffer !== 'undefined' && buffer instanceof SharedArrayBuffer) + && !ArrayBuffer.isView(buffer) + ) { + throw new TypeError('buffer must be an ArrayBuffer, SharedArrayBuffer, or ArrayBufferView.'); } super(); diff --git a/src/target.ts b/src/target.ts index 168e803..5cb78e3 100644 --- a/src/target.ts +++ b/src/target.ts @@ -62,7 +62,7 @@ export type StreamTargetChunk = { /** The operation type. */ type: 'write'; // This ensures automatic compatibility with FileSystemWritableFileStream /** The data to write. */ - data: Uint8Array; + data: Uint8Array; /** The byte offset in the output file at which to write the data. */ position: number; }; diff --git a/src/writer.ts b/src/writer.ts index 30de003..8f8aa86 100644 --- a/src/writer.ts +++ b/src/writer.ts @@ -190,7 +190,7 @@ const MAX_CHUNKS_AT_ONCE = 2; interface Chunk { start: number; written: ChunkSection[]; - data: Uint8Array; + data: Uint8Array; shouldFlush: boolean; } @@ -281,7 +281,7 @@ export class StreamTargetWriter extends Writer { const chunks: { start: number; size: number; - data?: Uint8Array; + data?: Uint8Array; }[] = []; const sorted = [...this.sections].sort((a, b) => a.start - b.start); From c0c353dbe8b3a3a4afddb55de734025df096b110 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 26 Nov 2025 23:31:29 +0100 Subject: [PATCH 29/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 81249a8..2af63f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.25.2", + "version": "1.25.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.25.2", + "version": "1.25.3", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.1.tgz", - "integrity": "sha512-0Rrd47PMCVJbTPA7IJaXPCupV5/RZ/icgr+a0qExRJAr0n5vB4fsGSo+fdHIehG0CrddXtVRvNZwFtJz709yfA==", + "version": "1.25.2", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.2.tgz", + "integrity": "sha512-bS+lFdHsvvWUGK8ARDzhHnjmzLDPLmRfwlqKiXSCk+cdlyjKpiSHdAaKmrI6+2hD9Tmeqr39OQJk67nG/kAJAQ==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.25.2", + "version": "1.25.3", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 9a6a387..6d1861b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.25.2", + "version": "1.25.3", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 172e319..a6b8f53 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.25.2", + "version": "1.25.3", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From 3620b04cafff7fe2ead1b6ec005db661a9cb1978 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 09:58:12 +0100 Subject: [PATCH 30/63] Fix incomplete AV1 sequence header OBU parsing, fix missing saample close() calls in audio resampling path, add error logging when open samples are GC'd, bump patch --- dev/demux.html | 13 +++++- package-lock.json | 12 +++--- package.json | 2 +- packages/mp3-encoder/package.json | 2 +- src/codec-data.ts | 67 +++++++++++++++++++++++++++++-- src/conversion.ts | 6 ++- src/sample.ts | 67 +++++++++++++++++++++++++++++-- 7 files changed, 152 insertions(+), 17 deletions(-) diff --git a/dev/demux.html b/dev/demux.html index 8d02ae1..8b06ec0 100644 --- a/dev/demux.html +++ b/dev/demux.html @@ -14,7 +14,18 @@ source: new Mediabunny.BlobSource(file), }); - console.log(await input.getTracks()); + const audioTrack = await input.getPrimaryAudioTrack(); + const decoderConfig = await audioTrack.getDecoderConfig(); + console.log(decoderConfig); + + /* + const videoTrack = await input.getPrimaryVideoTrack(); + const sink = new Mediabunny.EncodedPacketSink(videoTrack); + + for await (const packet of sink.packets()) { + console.log(packet); + } + */ /* return; diff --git a/package-lock.json b/package-lock.json index 2af63f6..2b55d39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.25.3", + "version": "1.25.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.25.3", + "version": "1.25.4", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.25.2", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.2.tgz", - "integrity": "sha512-bS+lFdHsvvWUGK8ARDzhHnjmzLDPLmRfwlqKiXSCk+cdlyjKpiSHdAaKmrI6+2hD9Tmeqr39OQJk67nG/kAJAQ==", + "version": "1.25.3", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.3.tgz", + "integrity": "sha512-+LDXv/kybsElRQCmMlrdbKmPNvegeIyouGeOUzW5DJ8+M56H4G6wyEL2AJ1A45UcOB+U62qJMV7tuFO9S7yA7g==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.25.3", + "version": "1.25.4", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 6d1861b..bcffe30 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.25.3", + "version": "1.25.4", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index a6b8f53..5e60596 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.25.3", + "version": "1.25.4", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", diff --git a/src/codec-data.ts b/src/codec-data.ts index eef04ec..03e1b24 100644 --- a/src/codec-data.ts +++ b/src/codec-data.ts @@ -590,9 +590,7 @@ export const extractNalUnitTypeForHevc = (data: Uint8Array) => { }; /** Builds a HevcDecoderConfigurationRecord from an HEVC packet in Annex B format. */ -export const extractHevcDecoderConfigurationRecord = ( - packetData: Uint8Array, -) => { +export const extractHevcDecoderConfigurationRecord = (packetData: Uint8Array) => { try { const nalUnits = findNalUnitsInAnnexB(packetData); @@ -1456,6 +1454,69 @@ export const extractAv1CodecInfoFromPacket = ( } } + // Frame size + const frameWidthBitsMinus1 = bitstream.readBits(4); + const frameHeightBitsMinus1 = bitstream.readBits(4); + const n1 = frameWidthBitsMinus1 + 1; + bitstream.skipBits(n1); // max_frame_width_minus_1 + const n2 = frameHeightBitsMinus1 + 1; + bitstream.skipBits(n2); // max_frame_height_minus_1 + + // Frame IDs + let frameIdNumbersPresentFlag = 0; + if (reducedStillPictureHeader) { + frameIdNumbersPresentFlag = 0; + } else { + frameIdNumbersPresentFlag = bitstream.readBits(1); + } + + if (frameIdNumbersPresentFlag) { + bitstream.skipBits(4); // delta_frame_id_length_minus_2 + bitstream.skipBits(3); // additional_frame_id_length_minus_1 + } + + bitstream.skipBits(1); // use_128x128_superblock + bitstream.skipBits(1); // enable_filter_intra + bitstream.skipBits(1); // enable_intra_edge_filter + + if (!reducedStillPictureHeader) { + bitstream.skipBits(1); // enable_interintra_compound + bitstream.skipBits(1); // enable_masked_compound + bitstream.skipBits(1); // enable_warped_motion + bitstream.skipBits(1); // enable_dual_filter + const enableOrderHint = bitstream.readBits(1); + + if (enableOrderHint) { + bitstream.skipBits(1); // enable_jnt_comp + bitstream.skipBits(1); // enable_ref_frame_mvs + } + + const seqChooseScreenContentTools = bitstream.readBits(1); + let seqForceScreenContentTools = 0; + + if (seqChooseScreenContentTools) { + seqForceScreenContentTools = 2; // SELECT_SCREEN_CONTENT_TOOLS + } else { + seqForceScreenContentTools = bitstream.readBits(1); + } + + if (seqForceScreenContentTools > 0) { + const seqChooseIntegerMv = bitstream.readBits(1); + if (!seqChooseIntegerMv) { + bitstream.skipBits(1); // seq_force_integer_mv + } + } + + if (enableOrderHint) { + bitstream.skipBits(3); // order_hint_bits_minus_1 + } + } + + bitstream.skipBits(1); // enable_superres + bitstream.skipBits(1); // enable_cdef + bitstream.skipBits(1); // enable_restoration + + // color_config() const highBitdepth = bitstream.readBits(1); let bitDepth = 8; diff --git a/src/conversion.ts b/src/conversion.ts index 33bbd4d..40ca946 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -1509,7 +1509,10 @@ export class Conversion { targetSampleRate, startTime: this._startTimestamp, endTime: this._endTimestamp, - onSample: sample => this._registerAudioSample(track, trackOptions, source, sample), + onSample: async (sample) => { + await this._registerAudioSample(track, trackOptions, source, sample); + sample.close(); + }, }); const sink = new AudioSampleSink(track); @@ -1521,6 +1524,7 @@ export class Conversion { } await resampler.add(sample); + sample.close(); } await resampler.finalize(); diff --git a/src/sample.ts b/src/sample.ts index ddd4527..3c8ba36 100644 --- a/src/sample.ts +++ b/src/sample.ts @@ -21,6 +21,54 @@ import { polyfillSymbolDispose(); +type FinalizationRegistryValue = { + type: 'video'; + data: VideoFrame | OffscreenCanvas | Uint8Array; +} | { + type: 'audio'; + data: AudioData | Uint8Array; +}; + +// Let's manually handle logging the garbage collection errors that are typically logged by the browser. This way, they +// also kick for audio samples (which is normally not the case), making sure any incorrect code is quickly caught. +let lastVideoGcErrorLog = -Infinity; +let lastAudioGcErrorLog = -Infinity; +let finalizationRegistry: FinalizationRegistry | null = null; +if (typeof FinalizationRegistry !== 'undefined') { + finalizationRegistry = new FinalizationRegistry((value) => { + const now = Date.now(); + + if (value.type === 'video') { + if (now - lastVideoGcErrorLog >= 1000) { + // This error is annoying but oh so important + console.error( + `A VideoSample was garbage collected without first being closed. For proper resource management,` + + ` make sure to call close() on all your VideoSamples as soon as you're done using them.`, + ); + + lastVideoGcErrorLog = now; + } + + if (typeof VideoFrame !== 'undefined' && value.data instanceof VideoFrame) { + value.data.close(); // Prevent the browser error since we're logging our own + } + } else { + if (now - lastAudioGcErrorLog >= 1000) { + console.error( + `An AudioSample was garbage collected without first being closed. For proper resource management,` + + ` make sure to call close() on all your AudioSamples as soon as you're done using them.`, + ); + + lastAudioGcErrorLog = now; + } + + if (typeof AudioData !== 'undefined' && value.data instanceof AudioData) { + value.data.close(); + } + } + }); +} + /** * Metadata used for VideoSample initialization. * @group Samples @@ -133,7 +181,11 @@ export class VideoSample implements Disposable { data: VideoFrame | CanvasImageSource | AllowSharedBufferSource, init?: VideoSampleInit, ) { - if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) { + if ( + data instanceof ArrayBuffer + || (typeof SharedArrayBuffer !== 'undefined' && data instanceof SharedArrayBuffer) + || ArrayBuffer.isView(data) + ) { if (!init || typeof init !== 'object') { throw new TypeError('init must be an object.'); } @@ -265,6 +317,8 @@ export class VideoSample implements Disposable { } else { throw new TypeError('Invalid data type: Must be a BufferSource or CanvasImageSource.'); } + + finalizationRegistry?.register(this, { type: 'video', data: this._data }, this); } /** Clones this video sample. */ @@ -313,6 +367,8 @@ export class VideoSample implements Disposable { return; } + finalizationRegistry?.unregister(this); + if (isVideoFrame(this._data)) { this._data.close(); } else { @@ -853,8 +909,8 @@ export type AudioSampleCopyToOptions = { */ export class AudioSample implements Disposable { /** @internal */ - _data: AudioData | Uint8Array; /** @internal */ + _data: AudioData | Uint8Array; _closed: boolean = false; /** @@ -955,6 +1011,8 @@ export class AudioSample implements Disposable { this._data = dataBuffer; } + + finalizationRegistry?.register(this, { type: 'audio', data: this._data }, this); } /** Returns the number of bytes required to hold the audio sample's data as specified by the given options. */ @@ -1116,9 +1174,8 @@ export class AudioSample implements Disposable { } } } else { - // Branch for Uint8Array data (non-AudioData) const uint8Data = this._data; - const srcView = new DataView(uint8Data.buffer, uint8Data.byteOffset, uint8Data.byteLength); + const srcView = toDataView(uint8Data); const srcFormat = this.format; const readFn = getReadFunction(srcFormat); @@ -1188,6 +1245,8 @@ export class AudioSample implements Disposable { return; } + finalizationRegistry?.unregister(this); + if (isAudioData(this._data)) { this._data.close(); } else { From e5aeff89e3ba5e349187e07fa5d5a3061ec949f8 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 10:03:09 +0100 Subject: [PATCH 31/63] Wtf --- src/sample.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sample.ts b/src/sample.ts index 3c8ba36..fae15bf 100644 --- a/src/sample.ts +++ b/src/sample.ts @@ -908,9 +908,9 @@ export type AudioSampleCopyToOptions = { * @public */ export class AudioSample implements Disposable { - /** @internal */ /** @internal */ _data: AudioData | Uint8Array; + /** @internal */ _closed: boolean = false; /** From 816bb020fbb43cad9d229f8f3d271d50cdcc6b6f Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:40:41 +0100 Subject: [PATCH 32/63] Fix incorrect conversion trim option typings, change release CI to "trusted publishing" --- .github/workflows/release.yml | 5 +---- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- src/conversion.ts | 14 ++++++++++---- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bc40201..495b27c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,6 +5,7 @@ on: types: [published] permissions: + id-token: write # Required for OIDC contents: read jobs: @@ -59,10 +60,6 @@ jobs: - name: Publish Mediabunny to npm run: npm publish --provenance --access public - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Publish workspace packages to npm run: npm publish --provenance --access public --workspaces - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/package-lock.json b/package-lock.json index 2b55d39..cb3e7fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.25.4", + "version": "1.25.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.25.4", + "version": "1.25.5", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.25.3", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.3.tgz", - "integrity": "sha512-+LDXv/kybsElRQCmMlrdbKmPNvegeIyouGeOUzW5DJ8+M56H4G6wyEL2AJ1A45UcOB+U62qJMV7tuFO9S7yA7g==", + "version": "1.25.4", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.4.tgz", + "integrity": "sha512-oEMpnAj3fwP6mel84liF7vG58fl0RMC77jS9nmy0UH45nSfZgQqPj06TRQoje1n9hLpz6Dun4+UyCg6x+EKUvw==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.25.4", + "version": "1.25.5", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index bcffe30..edce602 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.25.4", + "version": "1.25.5", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 5e60596..fa6c60d 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.25.4", + "version": "1.25.5", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", diff --git a/src/conversion.ts b/src/conversion.ts index 40ca946..59ccada 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -82,10 +82,16 @@ export type ConversionOptions = { /** Options to trim the input file. */ trim?: { - /** The time in the input file in seconds at which the output file should start. Must be less than `end`. */ - start: number; - /** The time in the input file in seconds at which the output file should end. Must be greater than `start`. */ - end: number; + /** + * The time in the input file in seconds at which the output file should start. Must be less than `end`. + * Defaults to 0 when omitted. + */ + start?: number; + /** + * The time in the input file in seconds at which the output file should end. Must be greater than `start`. + * Defaults to the duration of the input when omitted. + */ + end?: number; }; /** From 71963cbd920b65c37f9049ffc1e7f42d45bb8969 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:43:45 +0100 Subject: [PATCH 33/63] Try again --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 495b27c..d8953a0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,7 +59,7 @@ jobs: run: gh release upload ${{ github.event.release.tag_name }} dist/bundles/mediabunny.cjs dist/bundles/mediabunny.min.cjs dist/bundles/mediabunny.mjs dist/bundles/mediabunny.min.mjs dist/mediabunny.d.ts packages/mp3-encoder/dist/bundles/mediabunny-mp3-encoder.js packages/mp3-encoder/dist/bundles/mediabunny-mp3-encoder.min.js packages/mp3-encoder/dist/bundles/mediabunny-mp3-encoder.mjs packages/mp3-encoder/dist/bundles/mediabunny-mp3-encoder.min.mjs packages/mp3-encoder/dist/mediabunny-mp3-encoder.d.ts - name: Publish Mediabunny to npm - run: npm publish --provenance --access public + run: npm publish --access public - name: Publish workspace packages to npm - run: npm publish --provenance --access public --workspaces + run: npm publish --access public --workspaces From dd39b8b2caf65567338fb26e8e7bbea9c41e4105 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:48:23 +0100 Subject: [PATCH 34/63] We try again again --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d8953a0..a3ef765 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: permissions: write-all steps: - name: Checkout repository - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -28,7 +28,7 @@ jobs: git push origin release - name: Set up Node.js - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + uses: actions/setup-node@v4 with: node-version: 22 cache: 'npm' From dceb67a065f5e8dce6b96e5ab0b05f775e1bb5a7 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:54:04 +0100 Subject: [PATCH 35/63] SURELY THIS TIME --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a3ef765..b2b2155 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,6 +34,9 @@ jobs: cache: 'npm' registry-url: https://registry.npmjs.org + - name: Update npm + run: npm install -g npm@latest + - name: Get package.json version id: package-json-version run: echo "version=v$(cat package.json | jq '.version' --raw-output)" >> $GITHUB_OUTPUT From 7b3f5dad2aa85b5ba1c21e502d63da8088b6793d Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:57:55 +0100 Subject: [PATCH 36/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb3e7fd..3015df9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.25.5", + "version": "1.25.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.25.5", + "version": "1.25.6", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.25.4", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.4.tgz", - "integrity": "sha512-oEMpnAj3fwP6mel84liF7vG58fl0RMC77jS9nmy0UH45nSfZgQqPj06TRQoje1n9hLpz6Dun4+UyCg6x+EKUvw==", + "version": "1.25.5", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.5.tgz", + "integrity": "sha512-WMUEe3pOd3AEIEosc1waIFx/Y8iGd+ITouKaTyixH0kdOJoy9IulcNLA7OjLllyoqYKbRQqvlwwYkxJ10k9wpw==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.25.5", + "version": "1.25.6", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index edce602..335a8e6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.25.5", + "version": "1.25.6", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index fa6c60d..b2d3215 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.25.5", + "version": "1.25.6", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From 3dd7a9cb58788970e779ac8f9942dba7d5ca0b7c Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 4 Dec 2025 17:04:24 +0100 Subject: [PATCH 37/63] Fix unclosed samples in tests --- test/browser/flac.test.ts | 2 +- test/browser/transparency.test.ts | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/test/browser/flac.test.ts b/test/browser/flac.test.ts index 2aed0e3..ddc065b 100644 --- a/test/browser/flac.test.ts +++ b/test/browser/flac.test.ts @@ -19,7 +19,7 @@ test('can decode samples from a FLAC file', async () => { const sink = new AudioSampleSink(track); - const sample = await sink.getSample(1); + using sample = await sink.getSample(1); assert(sample); expect(sample.timestamp).toBe(0.9287981859410431); }); diff --git a/test/browser/transparency.test.ts b/test/browser/transparency.test.ts index 35527ae..394c827 100644 --- a/test/browser/transparency.test.ts +++ b/test/browser/transparency.test.ts @@ -21,7 +21,7 @@ test('Can decode transparent video', async () => { expect(await videoTrack.canBeTransparent()).toBe(true); const sink = new VideoSampleSink(videoTrack); - const sample = (await sink.getSample(0.5))!; + using sample = (await sink.getSample(0.5))!; expect(sample.format).toContain('A'); // Probably RGBA expect(sample.hasAlpha).toBe(true); @@ -47,10 +47,10 @@ test('Can decode faulty transparent video and behaves gracefully', async () => { const sink = new VideoSampleSink(videoTrack); - const startSample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; + using startSample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; expect(startSample.format).toContain('A'); - const secondSample = (await sink.getSample(secondKeyPacket.timestamp))!; + using secondSample = (await sink.getSample(secondKeyPacket.timestamp))!; expect(secondSample.format).not.toContain('A'); // There was no alpha key frame for this one expect(secondSample.hasAlpha).toBe(false); }); @@ -164,7 +164,7 @@ test('Can encode transparent video', async () => { const sink = new VideoSampleSink(videoTrack); - const firstSample = (await sink.getSample(0))!; + using firstSample = (await sink.getSample(0))!; expect(firstSample.format).toContain('A'); probeContext.clearRect(0, 0, probeCanvas.width, probeCanvas.height); @@ -201,7 +201,7 @@ test('Can encode video with alternating transparency', async () => { await output.start(); for (let i = 0; i < 64; i++) { - const sample = new VideoSample(new Uint8Array(640 * 480 * 4), { + using sample = new VideoSample(new Uint8Array(640 * 480 * 4), { format: i % 2 ? 'RGBX' : 'RGBA', codedWidth: 640, codedHeight: 480, @@ -235,7 +235,7 @@ test('Can encode video with alternating transparency', async () => { const sampleSink = new VideoSampleSink(videoTrack); i = 0; - for await (const sample of sampleSink.samples()) { + for await (using sample of sampleSink.samples()) { if (i % 2) { expect(sample.format).not.toContain('A'); } else { @@ -299,7 +299,7 @@ test('Can transmux transparent video, discards alpha by default', async () => { expect(await videoTrack.canBeTransparent()).toBe(false); const sink = new VideoSampleSink(videoTrack); - const sample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; + using sample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; expect(sample.hasAlpha).toBe(false); }); @@ -331,7 +331,7 @@ test('Can transmux transparent video, can keep alpha', async () => { expect(await videoTrack.canBeTransparent()).toBe(true); const sink = new VideoSampleSink(videoTrack); - const sample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; + using sample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; expect(sample.format).toContain('A'); expect(sample.hasAlpha).toBe(true); }); @@ -370,7 +370,7 @@ test('Can reencode transparent video, keeping alpha', async () => { expect(videoTrack.displayWidth).toBe(320); const sink = new VideoSampleSink(videoTrack); - const sample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; + using sample = (await sink.getSample(await videoTrack.getFirstTimestamp()))!; expect(sample.format).toContain('A'); expect(sample.hasAlpha).toBe(true); }); From 5b703a1c783e4e24b446d12e75877cf317c02e34 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Fri, 5 Dec 2025 12:41:36 +0100 Subject: [PATCH 38/63] Fix MP3 encoder emitting incorrect timestamps, fixed overaggressive audio sample gap filling (fixes #233) --- dev/live.html | 5 ++++- packages/mp3-encoder/src/index.ts | 9 ++++++++- src/media-source.ts | 32 ++++++++++++++++++------------- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/dev/live.html b/dev/live.html index afcb991..7178840 100644 --- a/dev/live.html +++ b/dev/live.html @@ -1,6 +1,7 @@ + From cc649ba1925788f386011afc7765555d4f61e528 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 11 Dec 2025 14:41:00 +0100 Subject: [PATCH 47/63] Add allowRotationMetadata video conversion option (see #247) --- dev/convert.html | 9 +++++---- docs/guide/converting-media-files.md | 3 +++ src/conversion.ts | 14 ++++++++++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/dev/convert.html b/dev/convert.html index e548520..36a2645 100644 --- a/dev/convert.html +++ b/dev/convert.html @@ -100,9 +100,10 @@ }, */ video: () => ({ - width: 720, - frameRate: 30, - bitrate: Mediabunny.QUALITY_VERY_LOW, + allowRotationMetadata: false, + //width: 720, + //frameRate: 30, + //bitrate: Mediabunny.QUALITY_VERY_LOW, //discard: true, /* process: (sample) => { @@ -180,7 +181,7 @@ }, trim: { start: 0, - end: 20 + end: 4 }, }); console.log(conversion); diff --git a/docs/guide/converting-media-files.md b/docs/guide/converting-media-files.md index b54c9e1..c527f12 100644 --- a/docs/guide/converting-media-files.md +++ b/docs/guide/converting-media-files.md @@ -120,6 +120,7 @@ type ConversionVideoOptions = { height?: number; fit?: 'fill' | 'contain' | 'cover'; rotate?: 0 | 90 | 180 | 270; + allowRotationMetadata?: boolean; crop?: { left: number; top: number; width: number; height: number }; frameRate?: number; codec?: VideoCodec; @@ -175,6 +176,8 @@ In the rare case that the input video changes size over time, the `fit` field ca `rotation` rotates the video by the specified number of degrees clockwise. This rotation is applied on top of any rotation metadata in the original input file and happens before cropping and resizing. +By default, Mediabunny will try to make use of rotation metadata in the output file to perform the rotation whenever possible. However, if you don't want this to happen, or you want to use Mediabunny to strip all rotation metadata from a file, you can set `allowRotationMetadata` to `false`. + ### Cropping video `crop` can be used to extract a rectangular region from the original video. The rectangle is specified using `left`, `top`, `width` and `height` and is clamped to the dimensions of the video. Cropping is applied after rotation but before resizing. diff --git a/src/conversion.ts b/src/conversion.ts index 59ccada..6ea8994 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -143,6 +143,12 @@ export type ConversionVideoOptions = { * This rotation is _in addition to_ the natural rotation of the input video as specified in input file's metadata. */ rotate?: Rotation; + /** + * Defaults to `true`. When enabaled, Mediabunny will use the rotation metadata in the output file to perform video + * rotation whenever possible. Set this field to `false` if you want to ensure the output file does not make use of + * rotation metadata and that any rotation is baked into the video frames directly. + */ + allowRotationMetadata?: boolean; /** * Specifies the rectangular region of the input video to crop to. The crop region will automatically be clamped to * the dimensions of the input video track. Cropping is performed after rotation but before resizing. @@ -304,6 +310,9 @@ const validateVideoOptions = (videoOptions: ConversionVideoOptions | undefined) if (videoOptions?.rotate !== undefined && ![0, 90, 180, 270].includes(videoOptions.rotate)) { throw new TypeError('options.video.rotate, when provided, must be 0, 90, 180 or 270.'); } + if (videoOptions?.allowRotationMetadata !== undefined && typeof videoOptions.allowRotationMetadata !== 'boolean') { + throw new TypeError('options.video.allowRotationMetadata, when provided, must be a boolean.'); + } if (videoOptions?.crop !== undefined) { validateCropRectangle(videoOptions.crop, 'options.video.'); } @@ -838,7 +847,8 @@ export class Conversion { let videoSource: VideoSource; const totalRotation = normalizeRotation(track.rotation + (trackOptions.rotate ?? 0)); - const outputSupportsRotation = this.output.format.supportsVideoRotationMetadata; + const canUseRotationMetadata = this.output.format.supportsVideoRotationMetadata + && (trackOptions.allowRotationMetadata ?? true); const [rotatedWidth, rotatedHeight] = totalRotation % 180 === 0 ? [track.codedWidth, track.codedHeight] @@ -883,7 +893,7 @@ export class Conversion { // TODO This is suboptimal: Forcing a rerender when both rotation and process are set is not // performance-optimal, but right now there's no other way because we can't change the track rotation // metadata after the output has already started. Should be possible with API changes in v2, though! - || (totalRotation !== 0 && (!outputSupportsRotation || trackOptions.process !== undefined)) + || (totalRotation !== 0 && (!canUseRotationMetadata || trackOptions.process !== undefined)) || !!crop; const alpha = trackOptions.alpha ?? 'discard'; From 1ff8abdaabf725ec5ad74a9e67b6a2c91da80aa2 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 11 Dec 2025 15:24:19 +0100 Subject: [PATCH 48/63] "Extract function" ahh --- src/media-source.ts | 91 ++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 51 deletions(-) diff --git a/src/media-source.ts b/src/media-source.ts index a5c0c55..f8b25ef 100644 --- a/src/media-source.ts +++ b/src/media-source.ts @@ -1890,38 +1890,49 @@ export class MediaStreamAudioTrackSource extends AudioSource { this._abortController = new AbortController(); + let firstAudioDataTimestamp: number | null = null; + let errored = false; + + const onAudioSample = (audioSample: AudioSample) => { + if (errored) { + audioSample.close(); + return; + } + + if (firstAudioDataTimestamp === null) { + firstAudioDataTimestamp = audioSample.timestamp; + + const muxer = this._connectedTrack!.output._muxer; + if (muxer.firstMediaStreamTimestamp === null) { + muxer.firstMediaStreamTimestamp = performance.now() / 1000; + this._timestampOffset = -firstAudioDataTimestamp; + } else { + this._timestampOffset = (performance.now() / 1000 - muxer.firstMediaStreamTimestamp) + - firstAudioDataTimestamp; + } + } + + if (this._encoder.getQueueSize() >= 4) { + // Drop data if the encoder is overloaded + audioSample.close(); + return; + } + + void this._encoder.add(audioSample, true) + .catch((error) => { + errored = true; + + this._abortController?.abort(); + this._promiseWithResolvers.reject(error); + void this._audioContext?.suspend(); + }); + }; + if (typeof MediaStreamTrackProcessor !== 'undefined') { // Great, MediaStreamTrackProcessor is supported, this is the preferred way of doing things - let firstAudioDataTimestamp: number | null = null; - const processor = new MediaStreamTrackProcessor({ track: this._track }); const consumer = new WritableStream({ - write: (audioData) => { - if (firstAudioDataTimestamp === null) { - firstAudioDataTimestamp = audioData.timestamp / 1e6; - - const muxer = this._connectedTrack!.output._muxer; - if (muxer.firstMediaStreamTimestamp === null) { - muxer.firstMediaStreamTimestamp = performance.now() / 1000; - this._timestampOffset = -firstAudioDataTimestamp; - } else { - this._timestampOffset = (performance.now() / 1000 - muxer.firstMediaStreamTimestamp) - - firstAudioDataTimestamp; - } - } - - if (this._encoder.getQueueSize() >= 4) { - // Drop data if the encoder is overloaded - audioData.close(); - return; - } - - void this._encoder.add(new AudioSample(audioData), true) - .catch((error) => { - this._abortController?.abort(); - this._promiseWithResolvers.reject(error); - }); - }, + write: audioData => onAudioSample(new AudioSample(audioData)), }); processor.readable.pipeTo(consumer, { @@ -1949,7 +1960,6 @@ export class MediaStreamAudioTrackSource extends AudioSource { sourceNode.connect(this._scriptProcessorNode); this._scriptProcessorNode.connect(this._audioContext.destination); - let audioReceived = false; let totalDuration = 0; this._scriptProcessorNode.onaudioprocess = (event) => { @@ -1957,28 +1967,7 @@ export class MediaStreamAudioTrackSource extends AudioSource { totalDuration += event.inputBuffer.duration; for (const audioSample of iterator) { - if (!audioReceived) { - audioReceived = true; - - const muxer = this._connectedTrack!.output._muxer; - if (muxer.firstMediaStreamTimestamp === null) { - muxer.firstMediaStreamTimestamp = performance.now() / 1000; - } else { - this._timestampOffset = performance.now() / 1000 - muxer.firstMediaStreamTimestamp; - } - } - - if (this._encoder.getQueueSize() >= 4) { - // Drop data if the encoder is overloaded - audioSample.close(); - continue; - } - - void this._encoder.add(audioSample, true) - .catch((error) => { - void this._audioContext!.suspend(); - this._promiseWithResolvers.reject(error); - }); + onAudioSample(audioSample); } }; } From 84dec01dfdca4065d865e6d97b93f16bacd3d750 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 11 Dec 2025 15:51:18 +0100 Subject: [PATCH 49/63] Add `pause` and `resume` methods to MediaStreamTrack sources (closes #241) --- dev/live.html | 24 ++++++--- docs/guide/media-sources.md | 20 +++++++ src/media-source.ts | 104 +++++++++++++++++++++++++++++++++++- 3 files changed, 140 insertions(+), 8 deletions(-) diff --git a/dev/live.html b/dev/live.html index 7178840..8eef45b 100644 --- a/dev/live.html +++ b/dev/live.html @@ -25,29 +25,41 @@ target: new Mediabunny.BufferTarget(), format: new Mediabunny.Mp4OutputFormat(), }); + let videoSource = null; + let audioSource = null; if (videoTrack) { - const source = new Mediabunny.MediaStreamVideoTrackSource(videoTrack, { + videoSource = new Mediabunny.MediaStreamVideoTrackSource(videoTrack, { codec: 'avc', bitrate: Mediabunny.QUALITY_MEDIUM }); - source.errorPromise.catch((d) => console.log("Hello?????", d)); + videoSource.errorPromise.catch((d) => console.log("Hello?????", d)); - output.addVideoTrack(source); + output.addVideoTrack(videoSource); } if (audioTrack) { - const source = new Mediabunny.MediaStreamAudioTrackSource(audioTrack, { + audioSource = new Mediabunny.MediaStreamAudioTrackSource(audioTrack, { codec: 'mp3', bitrate: Mediabunny.QUALITY_MEDIUM }); - source.errorPromise.catch((d) => console.log("Hello!!???", d)); + audioSource.errorPromise.catch((d) => console.log("Hello!!???", d)); - output.addAudioTrack(source); + output.addAudioTrack(audioSource); } await output.start(); + setTimeout(() => { + videoSource?.pause(); + audioSource?.pause(); + + setTimeout(() => { + videoSource?.resume(); + audioSource?.resume(); + }, 1000); + }, 1000); + await new Promise(resolve => setTimeout(resolve, 5000)); await output.finalize(); diff --git a/docs/guide/media-sources.md b/docs/guide/media-sources.md index 8c0d2bd..31caa1f 100644 --- a/docs/guide/media-sources.md +++ b/docs/guide/media-sources.md @@ -187,6 +187,16 @@ videoTrackSource.errorPromise.catch((error) => ...); This source requires no additional method calls; data will automatically be captured and piped to the output file as soon as `start()` is called on the `Output`. Make sure to `stop()` on `videoTrack` after finalizing the `Output` if you don't need the user's media anymore. +If you want to temporarily stop capturing video frames from this source, you can use the `pause()` and `resume()` methods: +```ts +videoTrackSource.pause(); + +// Later: +videoTrackSource.resume(); +``` + +While paused, video frames emitted by the stream will be ignored. When resumed, video frames are let through again, offset in timestamp such that the result plays back continuously with no gap in playback. Note that pausing does *not* stop the underlying media stream. + ::: info If this source is the only MediaStreamTrack source in the `Output`, then the first video sample added by it starts at timestamp 0. If there are multiple, then the earliest media sample across all tracks starts at timestamp 0, and all tracks will be perfectly synchronized with each other. ::: @@ -344,6 +354,16 @@ audioTrackSource.errorPromise.catch((error) => ...); This source requires no additional method calls; data will automatically be captured and piped to the output file as soon as `start()` is called on the `Output`. Make sure to `stop()` on `audioTrack` after finalizing the `Output` if you don't need the user's media anymore. +If you want to temporarily stop capturing audio data from this source, you can use the `pause()` and `resume()` methods: +```ts +audioTrackSource.pause(); + +// Later: +audioTrackSource.resume(); +``` + +While paused, audio data emitted by the stream will be ignored. When resumed, audio data are let through again, offset in timestamp such that the result plays back continuously with no gap in playback. Note that pausing does *not* stop the underlying media stream. + ::: info If this source is the only MediaStreamTrack source in the `Output`, then the first audio sample added by it starts at timestamp 0. If there are multiple, then the earliest media sample across all tracks starts at timestamp 0, and all tracks will be perfectly synchronized with each other. ::: diff --git a/src/media-source.ts b/src/media-source.ts index f8b25ef..7b5cae6 100644 --- a/src/media-source.ts +++ b/src/media-source.ts @@ -1055,6 +1055,12 @@ export class MediaStreamVideoTrackSource extends VideoSource { private _promiseWithResolvers = promiseWithResolvers(); /** @internal */ private _errorPromiseAccessed = false; + /** @internal */ + private _paused = false; + /** @internal */ + private _lastSampleTimestamp: number | null = null; + /** @internal */ + private _pauseOffset = 0; /** A promise that rejects upon any error within this source. This promise never resolves. */ get errorPromise() { @@ -1062,6 +1068,11 @@ export class MediaStreamVideoTrackSource extends VideoSource { return this._promiseWithResolvers.promise; } + /** Whether this source is currently paused as a result of calling `.pause()`. */ + get paused() { + return this._paused; + } + /** * Creates a new {@link MediaStreamVideoTrackSource} from a * [`MediaStreamVideoTrack`](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack), which will pull @@ -1103,8 +1114,29 @@ export class MediaStreamVideoTrackSource extends VideoSource { return; } + const currentTimestamp = videoFrame.timestamp / 1e6; + + if (this._paused) { + const frameSeen = firstVideoFrameTimestamp !== null; + if (frameSeen) { + if (this._lastSampleTimestamp !== null) { + // In addition to dropping this frame, let's also keep track of the time we have lost due to the + // pause. Doing it like this instead of simply keeping track of the paused time is better since + // it retains the frame rate of the underlying source. + const timeDelta = currentTimestamp - this._lastSampleTimestamp; + // We modify this field instead of _timestampOffset since we still might have data in flight + // in the encoder, with which we don't want to mess. + this._pauseOffset -= timeDelta; + } + this._lastSampleTimestamp = currentTimestamp; + } + + videoFrame.close(); + return; + } + if (firstVideoFrameTimestamp === null) { - firstVideoFrameTimestamp = videoFrame.timestamp / 1e6; + firstVideoFrameTimestamp = currentTimestamp; const muxer = this._connectedTrack!.output._muxer; if (muxer.firstMediaStreamTimestamp === null) { @@ -1116,13 +1148,19 @@ export class MediaStreamVideoTrackSource extends VideoSource { } } + this._lastSampleTimestamp = currentTimestamp; + if (this._encoder.getQueueSize() >= 4) { // Drop frames if the encoder is overloaded videoFrame.close(); return; } - void this._encoder.add(new VideoSample(videoFrame), true) + const sample = new VideoSample(videoFrame, { + timestamp: currentTimestamp + this._pauseOffset, + }); + + void this._encoder.add(sample, true) .catch((error) => { errored = true; @@ -1182,6 +1220,19 @@ export class MediaStreamVideoTrackSource extends VideoSource { } } + /** + * Pauses the capture of video frames - any video frames emitted by the underlying media stream will be ignored + * while paused. This does *not* close the underlying `MediaStreamVideoTrack`, it just ignores its output. + */ + pause() { + this._paused = true; + } + + /** Resumes the capture of video frames after being paused. */ + resume() { + this._paused = false; + } + /** @internal */ override async _flushAndClose(forceClose: boolean) { if (this._abortController) { @@ -1857,6 +1908,12 @@ export class MediaStreamAudioTrackSource extends AudioSource { private _promiseWithResolvers = promiseWithResolvers(); /** @internal */ private _errorPromiseAccessed = false; + /** @internal */ + private _paused = false; + /** @internal */ + private _lastSampleTimestamp: number | null = null; + /** @internal */ + private _pauseOffset = 0; /** A promise that rejects upon any error within this source. This promise never resolves. */ get errorPromise() { @@ -1864,6 +1921,11 @@ export class MediaStreamAudioTrackSource extends AudioSource { return this._promiseWithResolvers.promise; } + /** Whether this source is currently paused as a result of calling `.pause()`. */ + get paused() { + return this._paused; + } + /** * Creates a new {@link MediaStreamAudioTrackSource} from a `MediaStreamAudioTrack`, which will pull audio samples * from the stream in real time and encode them according to {@link AudioEncodingConfig}. @@ -1899,6 +1961,27 @@ export class MediaStreamAudioTrackSource extends AudioSource { return; } + const currentTimestamp = audioSample.timestamp; + + if (this._paused) { + const dataSeen = firstAudioDataTimestamp !== null; + if (dataSeen) { + if (this._lastSampleTimestamp !== null) { + // In addition to dropping this sample, let's also keep track of the time we have lost due to + // the pause. Doing it like this instead of simply keeping track of the paused time is better + // since it retains the sample rate of the underlying source. + const timeDelta = currentTimestamp - this._lastSampleTimestamp; + // We modify this field instead of _timestampOffset since we still might have data in flight + // in the encoder, with which we don't want to mess. + this._pauseOffset -= timeDelta; + } + this._lastSampleTimestamp = currentTimestamp; + } + + audioSample.close(); + return; + } + if (firstAudioDataTimestamp === null) { firstAudioDataTimestamp = audioSample.timestamp; @@ -1912,12 +1995,16 @@ export class MediaStreamAudioTrackSource extends AudioSource { } } + this._lastSampleTimestamp = currentTimestamp; + if (this._encoder.getQueueSize() >= 4) { // Drop data if the encoder is overloaded audioSample.close(); return; } + audioSample.setTimestamp(currentTimestamp + this._pauseOffset); + void this._encoder.add(audioSample, true) .catch((error) => { errored = true; @@ -1973,6 +2060,19 @@ export class MediaStreamAudioTrackSource extends AudioSource { } } + /** + * Pauses the capture of audio data - any audio data emitted by the underlying media stream will be ignored + * while paused. This does *not* close the underlying `MediaStreamAudioTrack`, it just ignores its output. + */ + pause() { + this._paused = true; + } + + /** Resumes the capture of audio data after being paused. */ + resume() { + this._paused = false; + } + /** @internal */ override async _flushAndClose(forceClose: boolean) { if (this._abortController) { From f9207396d7af0631e67c5fe7814dcd068a2ca1e2 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Thu, 11 Dec 2025 20:42:31 +0100 Subject: [PATCH 50/63] Bump minor --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e7c162..c35e2b0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.25.8", + "version": "1.26.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.25.8", + "version": "1.26.0", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.25.7", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.7.tgz", - "integrity": "sha512-DL0E1h29HTDaD9bYRXLSSHiAoLbDBksrdYS+4OHWA+aNhQeN+CAGEG7EU6wlhPZ8MOpwXIeC7uv06lo4ziohQQ==", + "version": "1.25.8", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.8.tgz", + "integrity": "sha512-2WCa9WtEbHOvg5rAWXQjVE+O/r01fpj65ymZdA2XhIeaWmdDQ40p32F0WY6tdBi+aeY+4ldwhAOpo0eyVrYTGg==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.25.8", + "version": "1.26.0", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index ca34054..178d998 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.25.8", + "version": "1.26.0", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index a0cc288..fe80545 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.25.8", + "version": "1.26.0", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From ea9ba96ae3b7ef7a1835187ad61039ecf0414a6b Mon Sep 17 00:00:00 2001 From: Jonny Burger Date: Fri, 12 Dec 2025 10:44:57 +0100 Subject: [PATCH 51/63] Add Dark Mode Remotion Logo in README (#249) * Add Dark Mode Remotion Logo in README * Update logo on website --- README.md | 5 ++++- docs/index.md | 2 +- docs/public/sponsors/remotion-dark.png | Bin 0 -> 13526 bytes docs/public/sponsors/remotion-light.png | Bin 0 -> 19813 bytes docs/public/sponsors/remotion.png | Bin 9622 -> 0 bytes 5 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 docs/public/sponsors/remotion-dark.png create mode 100644 docs/public/sponsors/remotion-light.png delete mode 100644 docs/public/sponsors/remotion.png diff --git a/README.md b/README.md index 6d108d4..738f4fb 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,10 @@ Mediabunny is a JavaScript library for reading, writing, and converting media fi
- Remotion + + + Remotion +      diff --git a/docs/index.md b/docs/index.md index 65a5618..2addbdb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -91,7 +91,7 @@ const bundleSizes = [ const sponsors = { gold: [ - { image: '/sponsors/remotion.png', name: 'Remotion', url: 'https://remotion.dev/' }, + { image: '/sponsors/remotion-light.png', name: 'Remotion', url: 'https://remotion.dev/' }, { image: '/sponsors/gling.svg', name: 'Gling AI', url: 'https://www.gling.ai/' }, { image: '/sponsors/diffusionstudio.png', name: 'Diffusion Studio', url: 'https://diffusion.studio/' }, { image: '/sponsors/kino.jpg', name: 'Kino', url: 'https://kino.ai/' }, diff --git a/docs/public/sponsors/remotion-dark.png b/docs/public/sponsors/remotion-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..04e6ea1c30c498ea680ec2c1d9d9c47f150366ff GIT binary patch literal 13526 zcmeHu1zTG|uqcv3kOINof){tULV)7#?%qOhD^QBNOG=AdaVZ2XQmnKoRwTGP#fm?A z?|t{a_kP1W=i6^)XJ=-2_TxJJmEl;XQ+fI=ua5x(~W{kiSkd|6Nd5%mFmB79aOge;z4^_ zfinu=zj#cZ;J-`xsr{4rPl)~z^?x*eMEl>|sN^5f{|EmkCWIQY_XMzBD;s;Gpx_Yw zYp5uB1^=uycGfe38mX&^+j_clTibcs*mL{4zy2qMBIz&wgu2^9t?B*U-8{U-{iPWH zgG2lY|3~Iwr2h{VsH+sCk-8TBOHVI*dSPx}ZeB)dYO@pw(<0VN-;A2o9Mr<|6C{3+2Ma?^6>sIvz`p(`8UGD$IZ+0-@2bfCI3;y zHNBkepJx82Uz$(yKREv{+JDU>$@6dW|6?)#Y3YAZpG=j;mgM>GZIi~Puvo=JLE$%4 zQION~M?FNkj(=XzCp$54!#NN2)I9#FGg_*}f#&{K-bQfrFrE&#D5YW*9ishm3dPyx zgp^1SP$4 z-1`ULeOfHUPN`?-?ld{9^9q6y-Xv=U+~Up?vx`vvKpyhdpodAxWS}wL6%+?fyOuw{ z@=MA;BS`-7#F;K{)dnum8|-*Nq$5Xf*`dD?VTavgPB^k4lG)Ln)a{q+PcX4vtSD)J zTL#&Vlv^?MHZ=Qsl2T?RuExMF0V zoku9vOrB>MeV{xB;S}KUMO9u_+Nw9ixk;1tNXtxCf8_Pb0P3yKmU>6O<`}Rs-*ncV zWbks+C3ZJB91+oJ;Ybwo%f5Wt)@YcXi!A>iLh&cg9g_UtqsROqDH%#C_lBG?z<+IKL-Q$Zif`% zO{_U7W7*HVH_&i4yy9{W2q!#z&*pM9N(YrlU#<{KOu9#scs0b_p6{^RakZHqGg8f( zR##R|Im!zUJK7OAy+|X@KAWKQ(T-?Oz*yO~IxDU6@ zI~x66{8Sq@tX0DfzQsqxBLeUTP9P-zz1gDd)uMpwGIP~F1?PZ`++P8NW>nW_WCAW) zviwQ`a4VovDlJ$0O56Iip{JgKu5N|q;Ar_v;mBk2zJNSSahwR1OC1S_&RtW**@ym? zVTeJblbul0X4f`EbZAYZyD7?S5$5V52;Tn#GEx9nSMH{-59czz#si!cG=F9-inh9> z+GsJb#jI+~bB?@k?dwyOaDLLc#`o4y$#Hh)^(O=4#HbaCM*6FgJo@Da#|MfDCU-L1b7850MMdrhrMTRq-!r1g!Fl8K{Oo6OI88|twlp;v5HY8D>k zmG)M0U`CJ=6c3NGBn)w$`XRS7HNETIkt)%54=K^w&>qk&Y1++UUj-wQ6+s02HpSgd z7++Vxa9li~I@#{^}0l|b)FdkrKvF4qv9-UggLi`wSV(8y zVR3+SLI$xUo2E!rw?`3^dNs$4<5N+iIKwO;E8IhNZ#5M-!I!4qa_A5)p`bhY^NWO+ z8&J=dCg0L;QxiB8!qXbzC-KXCu46De°iH6^|g`cufJJ)X#`rbaRAty`!F2V73L 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 YSkPHoKaPIs-`6@SiW&;F@>UW53)RFT<^TWy literal 0 HcmV?d00001 diff --git a/docs/public/sponsors/remotion-light.png b/docs/public/sponsors/remotion-light.png new file mode 100644 index 0000000000000000000000000000000000000000..74b359227ba6646c0933da3f767083fe9c44d2b2 GIT binary patch literal 19813 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 KHmU`CJoyhZX(V9) literal 0 HcmV?d00001 diff --git a/docs/public/sponsors/remotion.png b/docs/public/sponsors/remotion.png deleted file mode 100644 index f76b0618f9d022027fe1de5b5834060c87fefd5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9622 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 Date: Tue, 16 Dec 2025 18:47:50 +0100 Subject: [PATCH 52/63] Add VideoSampleColorSpace --- src/index.ts | 1 + src/sample.ts | 42 +++++++++++++++++++++++--- test/node/node-sample-creation.test.ts | 27 +++++++++++++++++ 3 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 test/node/node-sample-creation.test.ts diff --git a/src/index.ts b/src/index.ts index f5dbdf1..5434d1a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -168,6 +168,7 @@ export { AudioSampleCopyToOptions, VideoSample, VideoSampleInit, + VideoSampleColorSpace, CropRectangle, } from './sample'; export { diff --git a/src/sample.ts b/src/sample.ts index fae15bf..02e454c 100644 --- a/src/sample.ts +++ b/src/sample.ts @@ -125,7 +125,7 @@ export class VideoSample implements Disposable { /** The duration of the frame in seconds. */ readonly duration!: number; /** The color space of the frame. */ - readonly colorSpace!: VideoColorSpace; + readonly colorSpace!: VideoSampleColorSpace; /** The width of the frame in pixels after rotation. */ get displayWidth() { @@ -216,7 +216,7 @@ export class VideoSample implements Disposable { this.rotation = init.rotation ?? 0; this.timestamp = init.timestamp!; this.duration = init.duration ?? 0; - this.colorSpace = new VideoColorSpace(init.colorSpace); + this.colorSpace = new VideoSampleColorSpace(init.colorSpace); } else if (typeof VideoFrame !== 'undefined' && data instanceof VideoFrame) { if (init?.rotation !== undefined && ![0, 90, 180, 270].includes(init.rotation)) { throw new TypeError('init.rotation, when provided, must be 0, 90, 180, or 270.'); @@ -239,7 +239,7 @@ export class VideoSample implements Disposable { this.rotation = init?.rotation ?? 0; this.timestamp = init?.timestamp ?? data.timestamp / 1e6; this.duration = init?.duration ?? (data.duration ?? 0) / 1e6; - this.colorSpace = data.colorSpace; + this.colorSpace = new VideoSampleColorSpace(data.colorSpace); } else if ( (typeof HTMLImageElement !== 'undefined' && data instanceof HTMLImageElement) || (typeof SVGImageElement !== 'undefined' && data instanceof SVGImageElement) @@ -308,7 +308,7 @@ export class VideoSample implements Disposable { this.rotation = init.rotation ?? 0; this.timestamp = init.timestamp!; this.duration = init.duration ?? 0; - this.colorSpace = new VideoColorSpace({ + this.colorSpace = new VideoSampleColorSpace({ matrix: 'rgb', primaries: 'bt709', transfer: 'iec61966-2-1', @@ -805,6 +805,40 @@ export class VideoSample implements Disposable { } } +/** + * Describes the color space of a {@link VideoSample}. Corresponds to the WebCodecs API's VideoColorSpace. + * @group Samples + * @public + */ +export class VideoSampleColorSpace { + /** The color primaries standard used. */ + readonly primaries: VideoColorPrimaries | null; + /** The transfer characteristics used. */ + readonly transfer: VideoTransferCharacteristics | null; + /** The color matrix coefficients used. */ + readonly matrix: VideoMatrixCoefficients | null; + /** Whether the color values use the full range or limited range. */ + readonly fullRange: boolean | null; + + /** Creates a new VideoSampleColorSpace. */ + constructor(init?: VideoColorSpaceInit) { + this.primaries = init?.primaries ?? null; + this.transfer = init?.transfer ?? null; + this.matrix = init?.matrix ?? null; + this.fullRange = init?.fullRange ?? null; + } + + /** Serializes the color space to a JSON object. */ + toJSON(): VideoColorSpaceInit { + return { + primaries: this.primaries, + transfer: this.transfer, + matrix: this.matrix, + fullRange: this.fullRange, + }; + } +} + const isVideoFrame = (x: unknown): x is VideoFrame => { return typeof VideoFrame !== 'undefined' && x instanceof VideoFrame; }; diff --git a/test/node/node-sample-creation.test.ts b/test/node/node-sample-creation.test.ts new file mode 100644 index 0000000..0cf4064 --- /dev/null +++ b/test/node/node-sample-creation.test.ts @@ -0,0 +1,27 @@ +import { test } from 'vitest'; +import { AudioSample, VideoSample } from '../../src/sample.js'; + +test('VideoSample creation from bytes', async () => { + const bytes = new Uint8Array(1024); + const sample = new VideoSample(bytes, { + codedWidth: 1280, + codedHeight: 720, + format: 'RGBA', + timestamp: 0, + }); + + sample.close(); +}); + +test('AudioSample creation from bytes', async () => { + const bytes = new Uint8Array(1024); + const sample = new AudioSample({ + data: bytes, + numberOfChannels: 2, + format: 's16', + sampleRate: 48000, + timestamp: 0, + }); + + sample.close(); +}); From 4dd747a0a6dceb266a0b5fe31ee3c37d2935efe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Droz?= Date: Wed, 17 Dec 2025 07:28:29 -0300 Subject: [PATCH 53/63] `Conversion.init(hardwareAcceleration)` option (#254) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Support Conversion.init(hardwareAcceleration) option passed down to the VideoEncodingConfig. fix #253 * Few changes --------- Co-authored-by: Raphaël Droz Co-authored-by: Vanilagy <1696106+Vanilagy@users.noreply.github.com> --- docs/guide/converting-media-files.md | 6 ++++-- src/conversion.ts | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/guide/converting-media-files.md b/docs/guide/converting-media-files.md index c527f12..43d812a 100644 --- a/docs/guide/converting-media-files.md +++ b/docs/guide/converting-media-files.md @@ -126,6 +126,7 @@ type ConversionVideoOptions = { codec?: VideoCodec; bitrate?: number | Quality; alpha?: 'discard' | 'keep'; // Defaults to 'discard' + hardwareAcceleration?: 'no-preference' | 'prefer-hardware' | 'prefer-software'; keyFrameInterval?: number; forceTranscode?: boolean; process?: (sample: VideoSample) => MaybePromise< @@ -193,9 +194,10 @@ Use the `codec` property to control the codec of the output track. This should b Use the `bitrate` property to control the bitrate of the output video. For example, you can use this field to compress the video track. Accepted values are the number of bits per second or a [subjective quality](./media-sources#subjective-qualities). If this property is set, transcoding will always happen. If this property is not set but transcoding is still required, `QUALITY_HIGH` will be used as the value. Use the `keyFrameInterval` property to control the maximum interval in seconds between key frames in the output video. Setting this fields forces a transcode. - If you want to prevent direct copying of media data and force a transcoding step, use `forceTranscode: true`. +Use the `hardwareAcceleration` property to control whether hardware or software acceleration is used for video transcoding. + ### Processing video The `process` property can be used to define a custom video sample processing function, e.g. for [applying overlays](./quick-start#add-a-video-overlay), color transformations, or timestamp modifications. You are expected to perform this processing yourself, for example using the Canvas API. @@ -448,4 +450,4 @@ On the flip side, you can always query which input tracks made it into the outpu ```ts const conversion = await Conversion.init({ input, output }); conversion.utilizedTracks; // => InputTrack[] -``` \ No newline at end of file +``` diff --git a/src/conversion.ts b/src/conversion.ts index 6ea8994..862b6f0 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -186,6 +186,11 @@ export type ConversionVideoOptions = { * Setting this fields forces a transcode. */ keyFrameInterval?: number; + /** + * A hint that configures the hardware acceleration method used when transcoding. This is best left on + * `'no-preference'`, the default. + */ + hardwareAcceleration?: 'no-preference' | 'prefer-hardware' | 'prefer-software'; /** When `true`, video will always be re-encoded instead of directly copying over the encoded samples. */ forceTranscode?: boolean; /** @@ -346,6 +351,15 @@ const validateVideoOptions = (videoOptions: ConversionVideoOptions | undefined) ) { throw new TypeError('options.video.processedHeight, when provided, must be a positive integer.'); } + if ( + videoOptions?.hardwareAcceleration !== undefined + && !['no-preference', 'prefer-hardware', 'prefer-software'].includes(videoOptions.hardwareAcceleration) + ) { + throw new TypeError( + 'options.video.hardwareAcceleration, when provided, must be \'no-preference\', \'prefer-hardware\' or' + + ' \'prefer-software\'.', + ); + } }; const validateAudioOptions = (audioOptions: ConversionAudioOptions | undefined) => { @@ -984,6 +998,7 @@ export class Conversion { keyFrameInterval: trackOptions.keyFrameInterval, sizeChangeBehavior: trackOptions.fit ?? 'passThrough', alpha, + hardwareAcceleration: trackOptions.hardwareAcceleration, }; const source = new VideoSampleSource(encodingConfig); From 15bdd072e1d430847f727db926d72919a1a1874e Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 17 Dec 2025 15:10:25 +0100 Subject: [PATCH 54/63] Add options to VideoSample allocationSize and copyTo methods, add explicit error message when format is null (closes #256) --- docs/guide/packets-and-samples.md | 6 +- src/index.ts | 2 + src/sample.ts | 322 +++++++++++++++++++++++++++-- test/browser/video-samples.test.ts | 220 ++++++++++++++++++++ 4 files changed, 530 insertions(+), 20 deletions(-) create mode 100644 test/browser/video-samples.test.ts diff --git a/docs/guide/packets-and-samples.md b/docs/guide/packets-and-samples.md index 18baa04..aa5c295 100644 --- a/docs/guide/packets-and-samples.md +++ b/docs/guide/packets-and-samples.md @@ -378,13 +378,11 @@ const bytesNeeded = videoSample.allocationSize(); // => number Then, use `copyTo` to copy the pixel data into the destination buffer: ```ts const bytes = new Uint8Array(bytesNeeded); -videoSample.copyTo(bytes); +const planeLayout = await videoSample.copyTo(bytes); ``` ::: info -The data will always be in the pixel format specified in the `format` field. - -To convert the data into a different pixel format, or to extract only a section of the frame, please use the [`allocationSize`](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/allocationSize) and [`copyTo`](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/copyTo) methods on `VideoFrame` instead. Get a `VideoFrame` by running `videoSample.toVideoFrame()`. +You can pass additional options to `allocationSize` and `copyTo` to extract data in a different pixel format. ::: --- diff --git a/src/index.ts b/src/index.ts index 5434d1a..6cd723f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -168,8 +168,10 @@ export { AudioSampleCopyToOptions, VideoSample, VideoSampleInit, + VideoSamplePixelFormat, VideoSampleColorSpace, CropRectangle, + VIDEO_SAMPLE_PIXEL_FORMATS, } from './sample'; export { AudioBufferSink, diff --git a/src/sample.ts b/src/sample.ts index 02e454c..37ec910 100644 --- a/src/sample.ts +++ b/src/sample.ts @@ -17,6 +17,7 @@ import { SetRequired, isFirefox, polyfillSymbolDispose, + assertNever, } from './misc'; polyfillSymbolDispose(); @@ -69,6 +70,57 @@ if (typeof FinalizationRegistry !== 'undefined') { }); } +/** + * The list of {@link VideoSample} pixel formats. + * @group Samples + * @public + */ +export const VIDEO_SAMPLE_PIXEL_FORMATS = [ + // 4:2:0 Y, U, V + 'I420', + 'I420P10', + 'I420P12', + // 4:2:0 Y, U, V, A + 'I420A', + 'I420AP10', + 'I420AP12', + // 4:2:2 Y, U, V + 'I422', + 'I422P10', + 'I422P12', + // 4:2:2 Y, U, V, A + 'I422A', + 'I422AP10', + 'I422AP12', + // 4:4:4 Y, U, V + 'I444', + 'I444P10', + 'I444P12', + // 4:4:4 Y, U, V, A + 'I444A', + 'I444AP10', + 'I444AP12', + // 4:2:0 Y, UV + 'NV12', + // 4:4:4 RGBA + 'RGBA', + // 4:4:4 RGBX (opaque) + 'RGBX', + // 4:4:4 BGRA + 'BGRA', + // 4:4:4 BGRX (opaque) + 'BGRX', +] as const; +const VIDEO_SAMPLE_PIXEL_FORMATS_SET = new Set(VIDEO_SAMPLE_PIXEL_FORMATS); + +/** + * The internal pixel format with which a {@link VideoSample} is stored. + * [See pixel formats](https://www.w3.org/TR/webcodecs/#pixel-format) for more. + * @group Samples + * @public + */ +export type VideoSamplePixelFormat = typeof VIDEO_SAMPLE_PIXEL_FORMATS[number]; + /** * Metadata used for VideoSample initialization. * @group Samples @@ -77,9 +129,9 @@ if (typeof FinalizationRegistry !== 'undefined') { export type VideoSampleInit = { /** * The internal pixel format in which the frame is stored. - * [See pixel formats](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/format) + * [See pixel formats](https://www.w3.org/TR/webcodecs/#pixel-format) */ - format?: VideoPixelFormat; + format?: VideoSamplePixelFormat; /** The width of the frame in pixels. */ codedWidth?: number; /** The height of the frame in pixels. */ @@ -92,6 +144,8 @@ export type VideoSampleInit = { duration?: number; /** The color space of the frame. */ colorSpace?: VideoColorSpaceInit; + /** The byte layout of the planes of the frame. */ + layout?: PlaneLayout[]; }; /** @@ -103,14 +157,20 @@ export type VideoSampleInit = { export class VideoSample implements Disposable { /** @internal */ _data!: VideoFrame | OffscreenCanvas | Uint8Array | null; + /** + * Used for the ArrayBuffer-backed case. + * @internal + */ + _layout!: PlaneLayout[] | null; /** @internal */ _closed: boolean = false; /** - * The internal pixel format in which the frame is stored. - * [See pixel formats](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/format) + * The internal pixel format in which the frame is stored. Will be `null` if it's using an arbitrary internal + * format not representable by `VideoPixelFormat`. + * [See pixel formats](https://www.w3.org/TR/webcodecs/#pixel-format) */ - readonly format!: VideoPixelFormat | null; + readonly format!: VideoSamplePixelFormat | null; /** The width of the frame in pixels. */ readonly codedWidth!: number; /** The height of the frame in pixels. */ @@ -189,8 +249,8 @@ export class VideoSample implements Disposable { if (!init || typeof init !== 'object') { throw new TypeError('init must be an object.'); } - if (!('format' in init) || typeof init.format !== 'string') { - throw new TypeError('init.format must be a string.'); + if (init.format === undefined || !VIDEO_SAMPLE_PIXEL_FORMATS_SET.has(init.format)) { + throw new TypeError('init.format must be one of: ' + VIDEO_SAMPLE_PIXEL_FORMATS.join(', ')); } if (!Number.isInteger(init.codedWidth) || init.codedWidth! <= 0) { throw new TypeError('init.codedWidth must be a positive integer.'); @@ -209,6 +269,7 @@ export class VideoSample implements Disposable { } this._data = toUint8Array(data).slice(); // Copy it + this._layout = init.layout ?? createDefaultPlaneLayout(init.format, init.codedWidth!, init.codedHeight!); this.format = init.format; this.codedWidth = init.codedWidth!; @@ -229,6 +290,7 @@ export class VideoSample implements Disposable { } this._data = data; + this._layout = null; this.format = data.format; // Copying the display dimensions here, assuming no innate VideoFrame rotation @@ -301,6 +363,7 @@ export class VideoSample implements Disposable { // Draw it to a canvas context.drawImage(data, 0, 0); this._data = canvas; + this._layout = null; this.format = 'RGBX'; this.codedWidth = width; @@ -336,8 +399,11 @@ export class VideoSample implements Disposable { rotation: this.rotation, }); } else if (this._data instanceof Uint8Array) { - return new VideoSample(this._data.slice(), { + assert(this._layout); + + return new VideoSample(this._data, { format: this.format!, + layout: this._layout, codedWidth: this.codedWidth, codedHeight: this.codedHeight, timestamp: this.timestamp, @@ -378,16 +444,43 @@ export class VideoSample implements Disposable { this._closed = true; } - /** Returns the number of bytes required to hold this video sample's pixel data. */ - allocationSize() { + /** + * Returns the number of bytes required to hold this video sample's pixel data. Throws if `format` is `null`; + * specify an explicit RGB format in the options in this case. + */ + allocationSize(options: VideoFrameCopyToOptions = {}): number { + validateVideoFrameCopyToOptions(options); + if (this._closed) { throw new Error('VideoSample is closed.'); } + if ((options.format ?? this.format) === null) { + throw new Error( + 'Cannot get allocation size when format is null. Please manually provide an RGB pixel format in the' + + ' options instead.', + ); + } assert(this._data !== null); + if (!isVideoFrame(this._data)) { + if ( + options.colorSpace + || (options.format && options.format !== this.format) + || options.layout + || options.rect + ) { + // Temporarily convert to VideoFrame to get it done + const videoFrame = this.toVideoFrame(); + const size = videoFrame.allocationSize(options); + videoFrame.close(); + + return size; + } + } + if (isVideoFrame(this._data)) { - return this._data.allocationSize(); + return this._data.allocationSize(options); } else if (this._data instanceof Uint8Array) { return this._data.byteLength; } else { @@ -395,23 +488,54 @@ export class VideoSample implements Disposable { } } - /** Copies this video sample's pixel data to an ArrayBuffer or ArrayBufferView. */ - async copyTo(destination: AllowSharedBufferSource) { + /** + * Copies this video sample's pixel data to an ArrayBuffer or ArrayBufferView. Throws if `format` is `null`; + * specify an explicit RGB format in the options in this case. + * @returns The byte layout of the planes of the copied data. + */ + async copyTo(destination: AllowSharedBufferSource, options: VideoFrameCopyToOptions = {}): Promise { if (!isAllowSharedBufferSource(destination)) { throw new TypeError('destination must be an ArrayBuffer or an ArrayBuffer view.'); } + validateVideoFrameCopyToOptions(options); if (this._closed) { throw new Error('VideoSample is closed.'); } + if ((options.format ?? this.format) === null) { + throw new Error( + 'Cannot copy video sample data when format is null. Please manually provide an RGB pixel format in the' + + ' options instead.', + ); + } assert(this._data !== null); + if (!isVideoFrame(this._data)) { + if ( + options.colorSpace + || (options.format && options.format !== this.format) + || options.layout + || options.rect + ) { + // Temporarily convert to VideoFrame to get it done + const videoFrame = this.toVideoFrame(); + const layout = await videoFrame.copyTo(destination, options); + videoFrame.close(); + + return layout; + } + } + if (isVideoFrame(this._data)) { - await this._data.copyTo(destination); + return this._data.copyTo(destination, options); } else if (this._data instanceof Uint8Array) { + assert(this._layout); + const dest = toUint8Array(destination); dest.set(this._data); + + return this._layout; } else { const canvas = this._data; const context = canvas.getContext('2d'); @@ -420,6 +544,11 @@ export class VideoSample implements Disposable { const imageData = context.getImageData(0, 0, this.codedWidth, this.codedHeight); const dest = toUint8Array(destination); dest.set(imageData.data); + + return [{ + offset: 0, + stride: 4 * this.codedWidth, + }]; } } @@ -441,7 +570,7 @@ export class VideoSample implements Disposable { }); } else if (this._data instanceof Uint8Array) { return new VideoFrame(this._data, { - format: this.format!, + format: this.format! as VideoPixelFormat, codedWidth: this.codedWidth, codedHeight: this.codedHeight, timestamp: this.microsecondTimestamp, @@ -887,7 +1016,168 @@ export const validateCropRectangle = (crop: CropRectangle, prefix: string) => { } }; -const AUDIO_SAMPLE_FORMATS = new Set( +const validateVideoFrameCopyToOptions = (options: VideoFrameCopyToOptions) => { + if (!options || typeof options !== 'object') { + throw new TypeError('options must be an object.'); + } + if (options.colorSpace !== undefined && !['display-p3', 'srgb'].includes(options.colorSpace)) { + throw new TypeError('options.colorSpace, when provided, must be \'display-p3\' or \'srgb\'.'); + } + if (options.format !== undefined && typeof options.format !== 'string') { + throw new TypeError('options.format, when provided, must be a string.'); + } + if (options.layout !== undefined) { + if (!Array.isArray(options.layout)) { + throw new TypeError('options.layout, when provided, must be an array.'); + } + + for (const plane of options.layout) { + if (!plane || typeof plane !== 'object') { + throw new TypeError('Each entry in options.layout must be an object.'); + } + if (!Number.isInteger(plane.offset) || plane.offset < 0) { + throw new TypeError('plane.offset must be a non-negative integer.'); + } + if (!Number.isInteger(plane.stride) || plane.stride < 0) { + throw new TypeError('plane.stride must be a non-negative integer.'); + } + } + } + if (options.rect !== undefined) { + if (!options.rect || typeof options.rect !== 'object') { + throw new TypeError('options.rect, when provided, must be an object.'); + } + if (options.rect.x !== undefined && (!Number.isInteger(options.rect.x) || options.rect.x < 0)) { + throw new TypeError('options.rect.x, when provided, must be a non-negative integer.'); + } + if (options.rect.y !== undefined && (!Number.isInteger(options.rect.y) || options.rect.y < 0)) { + throw new TypeError('options.rect.y, when provided, must be a non-negative integer.'); + } + if (options.rect.width !== undefined && (!Number.isInteger(options.rect.width) || options.rect.width < 0)) { + throw new TypeError('options.rect.width, when provided, must be a non-negative integer.'); + } + if (options.rect.height !== undefined && (!Number.isInteger(options.rect.height) || options.rect.height < 0)) { + throw new TypeError('options.rect.height, when provided, must be a non-negative integer.'); + } + } +}; + +/** Implements logic from WebCodecs § 9.4.6 "Compute Layout and Allocation Size" */ +const createDefaultPlaneLayout = ( + format: VideoSamplePixelFormat, + codedWidth: number, + codedHeight: number, +): PlaneLayout[] => { + const planes = getPlaneConfigs(format); + const layouts: PlaneLayout[] = []; + let currentOffset = 0; + + for (const plane of planes) { + // Per § 9.8, dimensions are usually "rounded up to the nearest integer". + const planeWidth = Math.ceil(codedWidth / plane.widthDivisor); + const planeHeight = Math.ceil(codedHeight / plane.heightDivisor); + + const stride = planeWidth * plane.sampleBytes; + + // Tight packing + const planeSize = stride * planeHeight; + + layouts.push({ + offset: currentOffset, + stride: stride, + }); + + currentOffset += planeSize; + } + + return layouts; +}; + +type PlaneConfig = { + sampleBytes: number; + widthDivisor: number; // Horizontal sub-sampling factor + heightDivisor: number; // Vertical sub-sampling factor +}; + +/** Helper to retrieve plane configurations based on WebCodecs § 9.8 Pixel Format definitions. */ +const getPlaneConfigs = (format: VideoSamplePixelFormat): PlaneConfig[] => { + // Helper for standard YUV planes + const yuv = ( + yBytes: number, + uvBytes: number, + subX: number, + subY: number, + hasAlpha: boolean, + ): PlaneConfig[] => { + const configs: PlaneConfig[] = [ + { sampleBytes: yBytes, widthDivisor: 1, heightDivisor: 1 }, + { sampleBytes: uvBytes, widthDivisor: subX, heightDivisor: subY }, + { sampleBytes: uvBytes, widthDivisor: subX, heightDivisor: subY }, + ]; + + if (hasAlpha) { + // Match luma dimensions + configs.push({ sampleBytes: yBytes, widthDivisor: 1, heightDivisor: 1 }); + } + + return configs; + }; + + switch (format) { + case 'I420': + return yuv(1, 1, 2, 2, false); + case 'I420P10': + case 'I420P12': + return yuv(2, 2, 2, 2, false); + case 'I420A': + return yuv(1, 1, 2, 2, true); + case 'I420AP10': + case 'I420AP12': + return yuv(2, 2, 2, 2, true); + + case 'I422': + return yuv(1, 1, 2, 1, false); + case 'I422P10': + case 'I422P12': + return yuv(2, 2, 2, 1, false); + case 'I422A': + return yuv(1, 1, 2, 1, true); + case 'I422AP10': + case 'I422AP12': + return yuv(2, 2, 2, 1, true); + + case 'I444': + return yuv(1, 1, 1, 1, false); + case 'I444P10': + case 'I444P12': + return yuv(2, 2, 1, 1, false); + case 'I444A': + return yuv(1, 1, 1, 1, true); + case 'I444AP10': + case 'I444AP12': + return yuv(2, 2, 1, 1, true); + + case 'NV12': + return [ + { sampleBytes: 1, widthDivisor: 1, heightDivisor: 1 }, + { sampleBytes: 2, widthDivisor: 2, heightDivisor: 2 }, // Interleaved U and V + ]; + + case 'RGBA': + case 'RGBX': + case 'BGRA': + case 'BGRX': + return [ + { sampleBytes: 4, widthDivisor: 1, heightDivisor: 1 }, + ]; + + default: + assertNever(format); + assert(false); + } +}; + +const AUDIO_SAMPLE_FORMATS = new Set( ['f32', 'f32-planar', 's16', 's16-planar', 's32', 's32-planar', 'u8', 'u8-planar'], ); diff --git a/test/browser/video-samples.test.ts b/test/browser/video-samples.test.ts new file mode 100644 index 0000000..b0c12e6 --- /dev/null +++ b/test/browser/video-samples.test.ts @@ -0,0 +1,220 @@ +import { expect, test } from 'vitest'; +import { VideoSample } from '../../src/sample.js'; + +test('allocationSize', async () => { + { + const canvas = new OffscreenCanvas(1280, 720); + canvas.getContext('2d'); + + using sample = new VideoSample(canvas, { timestamp: 0 }); + + const size1 = sample.allocationSize(); + expect(size1).toBe(1280 * 720 * 4); + + const size2 = sample.allocationSize({ + layout: [{ + offset: 0, + stride: 1300 * 4, + }], + }); + expect(size2).toBe(1300 * 720 * 4); + } + + { + const data = new Uint8Array(1280 * 720 * 4); + using sample = new VideoSample(data, { + timestamp: 0, + codedWidth: 1280, + codedHeight: 720, + format: 'RGBA', + }); + + const size1 = sample.allocationSize(); + expect(size1).toBe(1280 * 720 * 4); + + const size2 = sample.allocationSize({ + layout: [{ + offset: 0, + stride: 1300 * 4, + }], + }); + expect(size2).toBe(1300 * 720 * 4); + } + + { + const data = new Uint8Array(1280 * 720 * 1.5); + using sample = new VideoSample(data, { + timestamp: 0, + codedWidth: 1280, + codedHeight: 720, + format: 'I420', + }); + + const size1 = sample.allocationSize(); + expect(size1).toBe(1280 * 720 * 1.5); + + const size2 = sample.allocationSize({ format: 'RGBA' }); + expect(size2).toBe(1280 * 720 * 4); + + const size3 = sample.allocationSize({ + format: 'RGBA', + layout: [{ + offset: 0, + stride: 1300 * 4, + }], + }); + expect(size3).toBe(1300 * 720 * 4); + } +}); + +test('copyTo and plane layouts', async () => { + const buffer = new ArrayBuffer(1e7); + + { + const canvas = new OffscreenCanvas(1280, 720); + canvas.getContext('2d'); + + using sample = new VideoSample(canvas, { timestamp: 0 }); + const layout = await sample.copyTo(buffer); + + expect(layout).toEqual([{ + offset: 0, + stride: 1280 * 4, + }]); + } + + { + const canvas = new OffscreenCanvas(1280, 720); + canvas.getContext('2d'); + + using sample = new VideoSample(canvas, { timestamp: 0 }); + const layout = await sample.copyTo(buffer, { + layout: [{ + offset: 0, + stride: 1300 * 4, + }], + }); + + expect(layout).toEqual([{ + offset: 0, + stride: 1300 * 4, + }]); + } + + { + const data = new Uint8Array(1280 * 720 * 4); + using sample = new VideoSample(data, { + timestamp: 0, + codedWidth: 1280, + codedHeight: 720, + format: 'RGBA', + }); + const layout = await sample.copyTo(buffer); + + expect(layout).toEqual([{ + offset: 0, + stride: 1280 * 4, + }]); + } + + { + const data = new Uint8Array(1280 * 720 * 4); + using sample = new VideoSample(data, { + timestamp: 0, + codedWidth: 1280, + codedHeight: 720, + format: 'RGBA', + }); + const layout = await sample.copyTo(buffer, { + layout: [{ + offset: 0, + stride: 1300 * 4, + }], + }); + + expect(layout).toEqual([{ + offset: 0, + stride: 1300 * 4, + }]); + } + + { + const data = new Uint8Array(1300 * 720 * 4); + using sample = new VideoSample(data, { + timestamp: 0, + codedWidth: 1280, + codedHeight: 720, + format: 'RGBA', + layout: [{ + offset: 0, + stride: 1300 * 4, + }], + }); + const layout = await sample.copyTo(buffer); + + expect(layout).toEqual([{ + offset: 0, + stride: 1300 * 4, + }]); + + using clone = sample.clone(); + const clonedLayout = await clone.copyTo(buffer); + + expect(clonedLayout).toEqual([{ + offset: 0, + stride: 1300 * 4, + }]); + } + + { + const data = new Uint8Array(1280 * 720 * 1.5); + using sample = new VideoSample(data, { + timestamp: 0, + codedWidth: 1280, + codedHeight: 720, + format: 'I420', + }); + const layout = await sample.copyTo(buffer); + + expect(layout).toEqual([{ + offset: 0, + stride: 1280, + }, { + offset: 1280 * 720, + stride: 1280 / 2, + }, { + offset: 1280 * 720 + (1280 / 2) * (720 / 2), + stride: 1280 / 2, + }]); + } +}); + +test('null format', async () => { + const canvas = new OffscreenCanvas(1280, 720); + canvas.getContext('2d'); + + const frame = new VideoFrame(canvas, { timestamp: 0 }); + using sample = new VideoSample(frame); + // @ts-expect-error Sybau + sample.format = null; + + expect(() => sample.allocationSize()).toThrow('when format is null'); + await expect(async () => sample.copyTo(new ArrayBuffer())).rejects.toThrow('when format is null'); + + const size = sample.allocationSize({ format: 'RGBA' }); + expect(size).toBe(1280 * 720 * 4); + const buffer = new ArrayBuffer(size); + const layout = await sample.copyTo(buffer, { format: 'RGBA' }); + + expect(layout).toEqual([{ + offset: 0, + stride: 1280 * 4, + }]); + + sample.allocationSize({ format: 'RGBX' }); + sample.allocationSize({ format: 'BGRA' }); + sample.allocationSize({ format: 'BGRX' }); + await sample.copyTo(buffer, { format: 'RGBX' }); + await sample.copyTo(buffer, { format: 'BGRA' }); + await sample.copyTo(buffer, { format: 'BGRX' }); +}); From ccbf14565cba5ff1efbaeb4ad3d19fa8b0778a07 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 17 Dec 2025 15:31:51 +0100 Subject: [PATCH 55/63] (Hopefully) improve error messages and stack traces a bit more (see #244) --- src/media-sink.ts | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/media-sink.ts b/src/media-sink.ts index b94a38f..711d0c4 100644 --- a/src/media-sink.ts +++ b/src/media-sink.ts @@ -429,7 +429,6 @@ export abstract class BaseMediaSampleSink< // The following is the "pump" process that keeps pumping packets into the decoder (async () => { - const decoderError = new Error(); const decoder = await this._createDecoder((sample) => { onQueueDequeue(); if (sample.timestamp >= endTimestamp) { @@ -467,7 +466,6 @@ export abstract class BaseMediaSampleSink< } }, (error) => { if (!outOfBandError) { - error.stack = decoderError.stack; // Provide a more useful stack trace outOfBandError = error; onQueueNotEmpty(); } @@ -613,7 +611,6 @@ export abstract class BaseMediaSampleSink< // The following is the "pump" process that keeps pumping packets into the decoder (async () => { - const decoderError = new Error(); const decoder = await this._createDecoder((sample) => { onQueueDequeue(); @@ -641,7 +638,6 @@ export abstract class BaseMediaSampleSink< } }, (error) => { if (!outOfBandError) { - error.stack = decoderError.stack; // Provide a more useful stack trace outOfBandError = error; onQueueNotEmpty(); } @@ -891,6 +887,8 @@ class VideoDecoderWrapper extends DecoderWrapper { } } + const stack = new Error('Decoding error').stack; + this.decoder = new VideoDecoder({ output: (frame) => { try { @@ -899,7 +897,10 @@ class VideoDecoderWrapper extends DecoderWrapper { this.onError(error as Error); } }, - error: onError, + error: (error) => { + error.stack = stack; // Provide a more useful stack trace, the default one sucks + this.onError(error); + }, }); this.decoder.configure(this.decoderConfig); } @@ -999,6 +1000,8 @@ class VideoDecoderWrapper extends DecoderWrapper { } }; + const stack = new Error('Decoding error').stack; + this.alphaDecoder = new VideoDecoder({ output: (frame) => { try { @@ -1007,7 +1010,10 @@ class VideoDecoderWrapper extends DecoderWrapper { this.onError(error as Error); } }, - error: this.onError, + error: (error) => { + error.stack = stack; // Provide a more useful stack trace, the default one sucks + this.onError(error); + }, }); this.alphaDecoder.configure(this.decoderConfig); } @@ -1763,6 +1769,8 @@ class AudioDecoderWrapper extends DecoderWrapper { void this.customDecoderCallSerializer.call(() => this.customDecoder!.init()); } else { + const stack = new Error('Decoding error').stack; + this.decoder = new AudioDecoder({ output: (data) => { try { @@ -1771,7 +1779,10 @@ class AudioDecoderWrapper extends DecoderWrapper { this.onError(error as Error); } }, - error: onError, + error: (error) => { + error.stack = stack; // Provide a more useful stack trace, the default one sucks + this.onError(error); + }, }); this.decoder.configure(decoderConfig); } From b730a241386de758c43d8a00e7ca7901f1afbc1a Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 17 Dec 2025 15:33:00 +0100 Subject: [PATCH 56/63] Bump minor version --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index c35e2b0..796e73f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.26.0", + "version": "1.27.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.26.0", + "version": "1.27.0", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.25.8", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.25.8.tgz", - "integrity": "sha512-2WCa9WtEbHOvg5rAWXQjVE+O/r01fpj65ymZdA2XhIeaWmdDQ40p32F0WY6tdBi+aeY+4ldwhAOpo0eyVrYTGg==", + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.26.0.tgz", + "integrity": "sha512-0duZPn/vVpx+mKjOn3PNb/tBrtKUoq4n5+uO1JwyQm3cdaKYy7tVTEvTpXJxbpQ/CdnHn5YMVRg8mwi7fIgSYA==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.26.0", + "version": "1.27.0", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 178d998..02f0c56 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.26.0", + "version": "1.27.0", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index fe80545..ae9eaeb 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.26.0", + "version": "1.27.0", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From 831e838f74424f68592d4ae5f57f82c4304efd0b Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Fri, 19 Dec 2025 13:06:11 +0100 Subject: [PATCH 57/63] Implement workaround for https://issues.chromium.org/issues/470109459 --- src/codec-data.ts | 93 ++++++++++++++++++++++++++++++++++------------- src/media-sink.ts | 20 +++++++++- 2 files changed, 86 insertions(+), 27 deletions(-) diff --git a/src/codec-data.ts b/src/codec-data.ts index 2fd8ca7..26fa41e 100644 --- a/src/codec-data.ts +++ b/src/codec-data.ts @@ -24,6 +24,7 @@ import { toUint8Array, getChromiumVersion, isChromium, + setUint24, } from './misc'; import { PacketType } from './packet'; import { MetadataTags } from './metadata'; @@ -161,38 +162,65 @@ const removeEmulationPreventionBytes = (data: Uint8Array) => { return new Uint8Array(result); }; -/** Converts an AVC packet in Annex B format to length-prefixed format. */ -export const transformAnnexBToLengthPrefixed = (packetData: Uint8Array) => { - const NAL_UNIT_LENGTH_SIZE = 4; +const ANNEX_B_START_CODE = new Uint8Array([0, 0, 0, 1]); - const nalUnits = findNalUnitsInAnnexB(packetData); - - if (nalUnits.length === 0) { - // If no NAL units were found, it's not valid Annex B data - return null; - } - - let totalSize = 0; - for (const nalUnit of nalUnits) { - totalSize += NAL_UNIT_LENGTH_SIZE + nalUnit.byteLength; - } - - const avccData = new Uint8Array(totalSize); - const dataView = new DataView(avccData.buffer); +export const concatNalUnitsInAnnexB = (nalUnits: Uint8Array[]) => { + const totalLength = nalUnits.reduce((a, b) => a + ANNEX_B_START_CODE.byteLength + b.byteLength, 0); + const result = new Uint8Array(totalLength); let offset = 0; - // Write each NAL unit with its length prefix for (const nalUnit of nalUnits) { - const length = nalUnit.byteLength; + result.set(ANNEX_B_START_CODE, offset); + offset += ANNEX_B_START_CODE.byteLength; - dataView.setUint32(offset, length, false); - offset += 4; - - avccData.set(nalUnit, offset); + result.set(nalUnit, offset); offset += nalUnit.byteLength; } - return avccData; + return result; +}; + +export const concatNalUnitsInLengthPrefixed = (nalUnits: Uint8Array[], lengthSize: 1 | 2 | 3 | 4) => { + const totalLength = nalUnits.reduce((a, b) => a + lengthSize + b.byteLength, 0); + const result = new Uint8Array(totalLength); + let offset = 0; + + for (const nalUnit of nalUnits) { + const dataView = new DataView(result.buffer, result.byteOffset, result.byteLength); + + switch (lengthSize) { + case 1: + dataView.setUint8(offset, nalUnit.byteLength); + break; + case 2: + dataView.setUint16(offset, nalUnit.byteLength, false); + break; + case 3: + setUint24(dataView, offset, nalUnit.byteLength, false); + break; + case 4: + dataView.setUint32(offset, nalUnit.byteLength, false); + break; + } + + offset += lengthSize; + + result.set(nalUnit, offset); + offset += nalUnit.byteLength; + } + + return result; +}; + +/** Converts an AVC packet in Annex B format to length-prefixed format. */ +export const transformAnnexBToLengthPrefixed = (packetData: Uint8Array) => { + const nalUnits = findNalUnitsInAnnexB(packetData); + if (nalUnits.length === 0) { + // It's not valid Annex B data + return null; + } + + return concatNalUnitsInLengthPrefixed(nalUnits, 4); }; // Data specified in ISO 14496-15 @@ -227,7 +255,22 @@ export const extractAvcNalUnits = (packetData: Uint8Array, decoderConfig: VideoD } }; -const extractNalUnitTypeForAvc = (data: Uint8Array) => { +export const concatAvcNalUnits = (nalUnits: Uint8Array[], decoderConfig: VideoDecoderConfig) => { + if (decoderConfig.description) { + // Stream is length-prefixed. Let's extract the size of the length prefix from the decoder config + + const bytes = toUint8Array(decoderConfig.description); + const lengthSizeMinusOne = bytes[4]! & 0b11; + const lengthSize = (lengthSizeMinusOne + 1) as 1 | 2 | 3 | 4; + + return concatNalUnitsInLengthPrefixed(nalUnits, lengthSize); + } else { + // Stream is in Annex B format + return concatNalUnitsInAnnexB(nalUnits); + } +}; + +export const extractNalUnitTypeForAvc = (data: Uint8Array) => { return data[0]! & 0x1F; }; diff --git a/src/media-sink.ts b/src/media-sink.ts index 711d0c4..539606e 100644 --- a/src/media-sink.ts +++ b/src/media-sink.ts @@ -8,9 +8,12 @@ import { parsePcmCodec, PCM_AUDIO_CODECS, PcmAudioCodec, VideoCodec, AudioCodec } from './codec'; import { + concatAvcNalUnits, deserializeAvcDecoderConfigurationRecord, determineVideoPacketType, + extractAvcNalUnits, extractHevcNalUnits, + extractNalUnitTypeForAvc, extractNalUnitTypeForHevc, HevcNalUnitType, parseAvcSps, @@ -928,8 +931,6 @@ class VideoDecoderWrapper extends DecoderWrapper { this.raslSkipped = true; } - this.currentPacketIndex++; - if (this.customDecoder) { this.customDecoderQueueSize++; void this.customDecoderCallSerializer @@ -942,9 +943,24 @@ class VideoDecoderWrapper extends DecoderWrapper { insertSorted(this.inputTimestamps, packet.timestamp, x => x); } + // Workaround for https://issues.chromium.org/issues/470109459 + if (isChromium() && this.currentPacketIndex === 0 && this.codec === 'avc') { + const nalUnits = extractAvcNalUnits(packet.data, this.decoderConfig); + const filteredNalUnits = nalUnits.filter((x) => { + const type = extractNalUnitTypeForAvc(x); + // These trip up Chromium's key frame detection, so let's strip them + return !(type >= 20 && type <= 31); + }); + + const newData = concatAvcNalUnits(filteredNalUnits, this.decoderConfig); + packet = new EncodedPacket(newData, packet.type, packet.timestamp, packet.duration); + } + this.decoder.decode(packet.toEncodedVideoChunk()); this.decodeAlphaData(packet); } + + this.currentPacketIndex++; } decodeAlphaData(packet: EncodedPacket) { From c86af052f560953e3c08b482e9317d5b5ed8ce00 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Fri, 19 Dec 2025 16:04:27 +0100 Subject: [PATCH 58/63] Add test for Annex B to length-prefixed conversion --- src/codec-data.ts | 11 ------ src/isobmff/isobmff-muxer.ts | 12 ++++-- test/node/annex-b-conversion.test.ts | 54 +++++++++++++++++++++++++++ test/public/annex-b-avc.mkv | Bin 0 -> 1318464 bytes 4 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 test/node/annex-b-conversion.test.ts create mode 100644 test/public/annex-b-avc.mkv diff --git a/src/codec-data.ts b/src/codec-data.ts index 26fa41e..4882752 100644 --- a/src/codec-data.ts +++ b/src/codec-data.ts @@ -212,17 +212,6 @@ export const concatNalUnitsInLengthPrefixed = (nalUnits: Uint8Array[], lengthSiz return result; }; -/** Converts an AVC packet in Annex B format to length-prefixed format. */ -export const transformAnnexBToLengthPrefixed = (packetData: Uint8Array) => { - const nalUnits = findNalUnitsInAnnexB(packetData); - if (nalUnits.length === 0) { - // It's not valid Annex B data - return null; - } - - return concatNalUnitsInLengthPrefixed(nalUnits, 4); -}; - // Data specified in ISO 14496-15 export type AvcDecoderConfigurationRecord = { configurationVersion: number; diff --git a/src/isobmff/isobmff-muxer.ts b/src/isobmff/isobmff-muxer.ts index e866f9d..fd73b50 100644 --- a/src/isobmff/isobmff-muxer.ts +++ b/src/isobmff/isobmff-muxer.ts @@ -25,11 +25,12 @@ import { import { BufferTarget } from '../target'; import { EncodedPacket, PacketType } from '../packet'; import { + concatNalUnitsInLengthPrefixed, extractAvcDecoderConfigurationRecord, extractHevcDecoderConfigurationRecord, + findNalUnitsInAnnexB, serializeAvcDecoderConfigurationRecord, serializeHevcDecoderConfigurationRecord, - transformAnnexBToLengthPrefixed, } from '../codec-data'; import { buildIsobmffMimeType } from './isobmff-misc'; import { MAX_BOX_HEADER_SIZE, MIN_BOX_HEADER_SIZE } from './isobmff-reader'; @@ -464,15 +465,18 @@ export class IsobmffMuxer extends Muxer { let packetData = packet.data; if (trackData.info.requiresAnnexBTransformation) { - const transformedData = transformAnnexBToLengthPrefixed(packetData); - if (!transformedData) { + const nalUnits = findNalUnitsInAnnexB(packetData); + if (nalUnits.length === 0) { + // It's not valid Annex B data throw new Error( 'Failed to transform packet data. Make sure all packets are provided in Annex B format, as' + ' specified in ITU-T-REC-H.264 and ITU-T-REC-H.265.', ); } - packetData = transformedData; + // We don't strip things like SPS or PPS NALUs here, mainly because they can also appear in the middle + // of a stream and potentially modify the parameters of it. So, let's just leave them in to be sure. + packetData = concatNalUnitsInLengthPrefixed(nalUnits, 4); } const timestamp = this.validateAndNormalizeTimestamp( diff --git a/test/node/annex-b-conversion.test.ts b/test/node/annex-b-conversion.test.ts new file mode 100644 index 0000000..3e86555 --- /dev/null +++ b/test/node/annex-b-conversion.test.ts @@ -0,0 +1,54 @@ +import { expect, test } from 'vitest'; +import { Input } from '../../src/input.js'; +import { BufferSource, FilePathSource } from '../../src/source.js'; +import path from 'node:path'; +import { ALL_FORMATS } from '../../src/input-format.js'; +import { Output } from '../../src/output.js'; +import { Mp4OutputFormat } from '../../src/output-format.js'; +import { BufferTarget } from '../../src/target.js'; +import { Conversion } from '../../src/conversion.js'; +import { EncodedPacketSink } from '../../src/media-sink.js'; +import { extractAvcNalUnits } from '../../src/codec-data.js'; + +const __dirname = new URL('.', import.meta.url).pathname; + +test('Annex B to length-prefixed conversion, MP4', async () => { + using originalInput = new Input({ + source: new FilePathSource(path.join(__dirname, '..', 'public/annex-b-avc.mkv')), + formats: ALL_FORMATS, + }); + const originalVideoTrack = (await originalInput.getPrimaryVideoTrack())!; + const originalDecoderConfig = (await originalVideoTrack.getDecoderConfig())!; + expect(originalDecoderConfig.description).toBeUndefined(); + expect(originalVideoTrack.codec).toBe('avc'); + + const originalSink = new EncodedPacketSink(originalVideoTrack); + const originalFirstPacket = await originalSink.getFirstPacket(); + expect([...originalFirstPacket!.data.slice(0, 4)]).toEqual([0, 0, 0, 1]); + + const originalNalUnits = extractAvcNalUnits(originalFirstPacket!.data, originalDecoderConfig); + + const output = new Output({ + format: new Mp4OutputFormat(), + target: new BufferTarget(), + }); + + const conversion = await Conversion.init({ input: originalInput, output }); + await conversion.execute(); + + using newInput = new Input({ + source: new BufferSource(output.target.buffer!), + formats: ALL_FORMATS, + }); + const newVideoTrack = (await newInput.getPrimaryVideoTrack())!; + const newDecoderConfig = (await newVideoTrack.getDecoderConfig())!; + expect(newDecoderConfig.description).toBeDefined(); + expect(newVideoTrack.codec).toBe('avc'); + + const newSink = new EncodedPacketSink(newVideoTrack); + const newFirstPacket = await newSink.getFirstPacket(); + expect([...newFirstPacket!.data.slice(0, 4)]).not.toEqual([0, 0, 0, 1]); // Successfully converted + + const newNalUnits = extractAvcNalUnits(newFirstPacket!.data, newDecoderConfig); + expect(newNalUnits).toEqual(originalNalUnits); // Content is the same though +}); diff --git a/test/public/annex-b-avc.mkv b/test/public/annex-b-avc.mkv new file mode 100644 index 0000000000000000000000000000000000000000..699dfd297d3423e20e20e0b0cf82a2af206a6a07 GIT binary patch literal 1318464 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%0AdoLftq0|=;h633I?M5wdltQTmqcoApUx6$dlMc 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 K; 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

4`CGPC^Hlgj&3 zIROT(hill5uN!MJt;{F>MGNl5;jh+IHZV^Nmb#iP_6Wz_9P0l>E@v+Q*PJ_7lSs zv_{d|OpB&^28z5nIK{cSLofX-4L~hOzfUQ!p^xz^x)tT96#D;g_7-4Kb$`3?%uquQ zFm!hcLx@OsNQ)vO(g;Y0(hS`xNC=WjC<=&l4+tnCVSz{tNC^l?4K@30o_OEqdC&iR z*Et{8Ff%)5*IMhhetF-A7HW>g$@+pc^#(bOz0_7eZCV&T>n_K{zj;ScpP}u^@ntQP zFj{7$`e`)sOG0HU3$G@tcG3&3p#pX0cXtvdE?8CcmXzm(0#k8IykWbIkLA7Po9o5pYU`;0&PhrJ-#~-={DG`Ik3C)xCfH|3ghgalqQ+e6xrIm!7j_9 zcB~TE927qM5%Mm8J-36Yk}KC?BZww%V83|sMLeOa$At6N zQN77}&D>s`>Q-wAerAfT;5)^re|?M6YwSAf=D5RCddruF*Ivx#zaQpO{AsgnnXc-+ zL_l5^%uDukT>G);?rrv)`?|yUzKPo$K=T#tBCA^Co;%t;zvjNIi2^|2 zgVP(WyX6`-#A`Q)RX#P5JZ8DI2anv0nkQNUd!8)?Z%yf|LkAw4()mx!4_cepe@gF{ zh%wh1YP7_Vsyj=QDKN^`F*B zI@pG=5X4M2NQX-Iq;OE!Z5MF_O2+r5DAOnl4&VpyAV_8|-NL

%0IL^cHdv&w=N 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%0Dg9GHUL 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�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 pzyEc|CI(u}fx)F|^ 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�HPy1iETxavwsZ%+~* z_l60c>4r_88-sAywyl*Hv*MRO@!*qko0^kGTRiMlw||9!G0U|)D70BF)H&icJ*8=a z)?ZdaJVME5AH#GTU)$p0uwbx6wt0_>Tu9SFnMi+;`a!wK$ufDbA%**sA6SsurN5im z`bCMS%=n3PSz$RRjNHg&6oz&ml6-l&7etY7Xt8-77q zKZwY3R_c3d8rvm!D%y!xB8G-e9@t3-AiQ#o_tfmkDm3qQX^sk0%)*`TBq`-0=wc)= zn9!oy+WVmW_<2k^4_dna1Pmz`FNqH1K$08&ZpQ6AXv8z!J@b1bp1;}LgJ4D$7@Y}e zR#Qk5T0BU*rmH5NQpz`SXW`b)j>E;-LvuRPZ$}HyCb@a<>?nFt0JAxKM_eDu&)w<0 z7j4i{;-P#-_^fi*gQh12#%GMrtoC;oIsh%hk2}sWKm0tBEHbunyYna+tuesoBf)uW zL*&ucKO{i&KQSgueaLbb9pEiZ&$AVNRs48CSn&Q&G8bH5-lm1`Pt&TXq@hpz-8K}U znWXCPUL`N&6NE4VQ z4MB2Roadla^6MGjMm@>p@t4v^Ynw$1&03D}HuH_!q^IxgOjj7%!)Gh(J0ktKdsf$3 zO!=T(vu0tKy9B0B`sM*?!DCC-H{rIo;fy<_FGQDAm(dsNSwG`F-rGvMSRNR_w)JIn z3g(h_l9du8S89;%cXJYjq+Qh4t{Ar$GQBkXigjstl5@zjb4Qr`J%YizIvdCIoozR* z&?h28ok+wsSX+c}IWfwm1eYWhBycGz-SG1qv?4^;_xCA;s%jo*4U}f?enj#0W_13G_qqyR6{Pqg^`~tl8ce*smNSe#GpzpHm^nSK5;SS+rmV z^5}6LB}-YDbVo_tB4%`mzucoSi?tEf8Er=QciFFN7}|gE$xz!adMQI_SZHX>MSb-7 zQ##6w(Jn>cw%{jzFkiRePLqHJ*yI78UKGO(Y)`iUm}-Xms}E9>x4T3Z;nHKb^Yg+N zHlJ5Ym{WE2$HeJDr0%QYuh-T<7)Mr4SmD!m7$j}@b}Kl6Y?z%#b~+R2zWp8xaJ7v zL)Xeu9hAe$O6ntirOyNl!-4I!O*+FhAvY#!oNlE3xD736){~uNr8V@jkw3y~Icpef zQSkknpt-Y3m-U);zt$m7zh-|~v{RIr9_jRMSFB5xCF97MUy@l~%?_(lZV+{7C zL0ZYDw>R2Y8&4dMK{l012BYV{d;8S8trBD`dK<^Um?13+J%|uu=^`x|hFiXLzyaSi z_8^q7vsjC4_<=OsX6u6Xu5d$@MxAa>4(F9${=))BS?pPu`KDYDWw%HltjF^>F!D(0Rr2AJ7N|uW=BM? zDUXKX?gdl5$|*_P52%G7AQ%A|m)2(HT~?#1#gttO_a94+89#N_lA8~axxH|zX+IRn}aTu;GuPzJO_RAZ0IrZ7xB>JN4G&$YEWvVLRYht>Q98=){`IdYOQRv()q_% ziq5I+;Z@HxO(qMv%p}$}8t@QxCdoE8S3_mN(V0z#9vs!klO%P~t+Apm zng=&FVMN{3c_YU6KEdWTxwty*>fD48J;qyZn1ZJt=x>OFUOjb6Bb{t>3hNUnp*?Wa znOjJ}s6^>+d5k@TwQCgC}l@h z{em-*?w#`bW!Yu3lxadoZ^c%QVLg|tesp2zXV6mTYbg(3+kWxQVnNEP*_oNIn+lBZ zcb1)bSC!fNKpxd=k*X7L+HW;m$cv%RC~`NmbGd$R%+OtMvJ|HxT6(647|VG@D_3^H z#kZtDH*VMS7}Si?jxf8iVV~t?ZkNs(On0a8eRke^{(4xF++#=Tgs>0)mOJHRu)%A> z-F?(HRyVIws?z1re9;i7rfFM?&iN~5F`R{(kfaT6(NBvD=cM(g!-=zk~Me z&m#u98mw%}JxllgFe{NsuT#9s>WaELwUUs@LAW~LXg`vZTh43*tz4&?-h2F%oj8)r zZN|}q^m+v{Ac+>*G+_rC#UMTLkN;EvcKey);=n*_Q>3kHQx2mY9%0|*Tmo6Uv~q5H z{GDK#+*EgFWDw>ck|6}_ot?&A0~rF^ujIfzfDii%L>BeH`8)d&iKCDDP66rtlaL{#NX>8mGmPDqeA&V%_pF`@+LH~KsuNGMrNrk7oIA@n3 zdr~2HzyU3srEh~~EI{VneZ60+f1Vp6@T$}w0j2~$=$~%6hR7QePf$D!PX3mAYe1^9 z#|>a5WtcZViaFd_#5kDh#UI=+ismF1WDSSw7{vFZw)jPF9 z71njqqbLXFU3i(@`^+)>rFi$Pu-wb|xbkC0H>CHKzvp56mr4BcGxHRM!CclcwvxwS{xmbCU4vig8eY;t>BZYV$s}j6p6W?jyb?`W2 z1=4iw5$L1#lxADK#k^r6!5Ma`sxklk{w)l5@r50iP`x;sfk#2;F3Fc!vwL3JAiz0)4OYO@~I%NF%^gLz!)r%<|(hp@hScgc>B z$7vmNNzo^yHHI^%q_%|$Ar!n z+DSY^4p&_i-*#ctq9OFINJvIVVf_ksJ`v?tpwVaKA+Oh<{1yi`EYr*2?&kpDY8}P2Mc4M#7E(49_s*t8RZ>ls-xxE=*7j^4VPGyuh{uo$c%!g=1e=cLa z&1Xu9ZL}k%UjZwUdjO+WELwytQf3XG>>BI9^zQQ->iEd2jcdNJQ zZB|%dumSaP*|uBE$FlQ`F;vxuW~W{07E%<5W^&v*gR$Qqz)y8QPNA`?iLN|y_O9_5 zc6TG@Y1i&iND$Y(a8`%yYbPISy2j}>J2te!iAfCfvG5D8J#J86fp1j3VU92j1sjox~C$$2j=7{6ogsr<{pT%gUNY?3;3b))e_DU>Pf&}S)~1Ec8G6A;{{ z1{p~&=2OxgU6MkC@5z>DHv~!BpMx2$12hOPuwcv39PcrYwKVkUHXcptrFteJ;}FB9 z8uVAP*-%UcQZzd?8R=ih-6W!a#hnIDqn#k49SjYoG=+@Vb{OemZ&C^R;H}7KRXNxK z;os7d=k0Orm*Ax~az*kXV7uA$f_8Y*OW(mDMyZIggfzPZ5*z8i1v+2GgTC2{ciH)E zm4?P6wZ(UVUP9ojYe$5UE}4j3rB1Fyy#lS9?@pS`CJ>#tuAS5GFlN8FeUrLrKpr7p!pC3 zZt6S0d?O9W&17&J;JI^~xL?fzijO@XtcNFnX6}LmA?dq8Ak>pASUnRo9Sop5RP8hFLf&NlJ>F+)?EE%=*3&{?#cdoA50#CY4STDcaM2y1g2%N=vU_Ei{N|Lh_R zW-LjBW5Z&0%N`J>=%+kWfq7$3Ja~#VA1lz9WUV-U@xvQj5=KajAJTTjwJ#FaXJAxr zhzK=$x8bek1VJ2X_dY{_U@I%oA{YIfG+&Hw7GP z;%@2*@gL)2<;F$vurIw(i2L>ape-&)&vA47J*&`mG`0~nQ)8dNb?9s2FOrO zN|Gyp*)C+GpHI7_s&o!o$lA(X)_}Mo+y>Bh72z(>bhR`P#6_Nhjl-tRkDe5_-!(s`u=fRYz{Y4nHvGH=*Z}ld zNJm;OauUuXTHt(-nFemE^&-KYEZ8#>+O`9<*@%W?c>8S8H|*Gfbd1htweq;^mxZH6 z9tEdTd^So67oK`=M09#vOwA?c?mJtu(0E^w$eSAe7GpMHZ%D}bxWP(BKUws0y2SGzy7Mj+w;RyJtFB2f(9p zpixWYLM=#DEsa)=DH1RerpQrn5OyEwCDa~oJKrlX0R`DwgzI0e@qU+1M`Ma+`!6o& z!@6Jw&^YV=R4->=LE3rFtd~8##!peE)UwmNMlSS*fs0CIQ@w~eKtKYU7uhPO33TzD z-U;dtAO|c;uX2E!{=`7fmNCSiMN~VC#LT>bX}k?{5_9`1m9e_VwaKzPH$m=5$rj-K zaTTzQ4YK{tIt!#pT@MQ>i>m;e9e{RtQ_blbUCls;2m}o<=u9X0suJ$j1y)D@3h9w# zAijXF-Yz|Zdy2@~FEZ`WHy$cDqelQXxH{OU0+igrmg@k2O{@dGBEv!HoxDsYL4YhI zI1|(y0n{8NrDMhRV0mr`vc_%^L!UVu#8|`^k_<=hP}H5%?&Bq~9d<$3WuJmX-q=T; zcTb|M=+2rblB}PN37aQ3Rz3HEPe4QZXsIW9a^9XkpX#XfZa=*2dB?Yh;<(s$VO0fs z=Ud`nL2nw{HQnj8Kq+3>4myEwAi-B<$JtKeHo$17@2&;bwxou9aK_lp42 zZ1WySi<}&%Rxphq9CXjAdn~oBol01r%i=hZX*3+MnPj? znS%KuY9dcStI6K0Q9HFn?mHZ9m;_tql?klZ;zleCjggJU7APa}1jOr_aJmpu1^`h3 z03iW19iSWt^sEHEM3s=A*f6fB(u*%SbHbvj?A%5>q7|}7VTGp7UMoa4PNDB-?KX`B z?oYr}ymkghpvUM85elReF488Hu#zmKGZPq`roa&Y{scjl_wDhBI2OYxOzhM>=9<2q z(s8Q~q#tgh_LF)Sy`)+(1x^XV$!UtKmd83gsoPmhZaFz}h^C-p{Lq$v#16IcDcsc^ znAFF6jPe1k+-7wG&xRwY;& zIr_SGe~5(-Z5m3JPXrTy0A?Hmn6Ia4I@o1Z3akuddm>~*Sm)RKxecGWJKqB1X%~Q9 zj~Up<2id)-E59|VRsg|F;L-m66##->RHw9ZAks&gzA^46{ii#T0x6%<2pmuDCMn58 zZZ~l7%kycVT3(8p|7JSu1xz)d@L)s`ad+@SHlm9K@vhZiJ1#_i6mdmK=MJwa=NRZa zusIUfR01A4c%q)5pS#WeAz(bNnSl1ih$kGg6j51r#K|uWj3UYeom&oaji+DRN8n83 z{{S3sve3qvfa8JyXWQ}956di!7Wjp(l)0h7GjTS76NOv0lrih*(~1xF`#TfNZG@K= zTD`rl7TbCfqpLLkJ@0V0aKrMV=+#>4BH8fd23ZCw^`v%Cq*~IuIN@B4BYThbhF{S> z5ouvslCCziF1#9pdGW#Be4X1-6F5~a{Km3Y6MR+eko;_0h2dre`?tnp^BnN|aQI`a zlN_zyCT839fWD`3Ls|kuk^2?w=Av%9yEU5Surt~R)tU@A%iVW(?7h!)iqz_4tUjIK z;V-6*W10)k&r~v|4Co+ zw}AW95+I0Mq(-f`0|x##m;;#a3D`0zD0Twa-Eh6-)bey!?K{XuTj7qtel{+PP7575 zM4SL#=EwtUbM~?WTv%0J)IowrK=C3d{G~De^#cHCd9cRh^sucO50Y$RO&27c4;pGm%vxMMr327^AoqS6!!jm&Bt(S zKBNfTye3>se7LHE#Zo+1BLGyl3y`%Xz6Q8Xi`1Z?ZFZwBRBvosQWSX4${<@vc=Y5lW??KTnWNyNlnfL7Ci5 zJ`lmqqMwlP&eLKOeh^Z(5LQS4yMSA2R&Uy-8A{H9!$kP}QQkD4*jVWBr@ZHZUR6#Z zk&xs*oYK+%YazkiztNB5TR|sauIu-$as-B*^Uu3zg6{X$U{lR#b3~l8Kc5{VXAZktR;H{5jf44S<-sgdBNk`f{JG!WHz4bf87?m0k zB$?#9cR%E&39wx7uEHz!kQpA&=!guQ(hp zm8KeA5$e-yfw#bKJ-BQfOMQTfxU+om_@kyDLM@MAODtdO1r4ZNQR;BL{ltG!x0*6R)I?=(8yVaO{AhNFULgVlHxq50w5 z_;p!n6D=G_{M>(zAZFtq1eO20xglSCJE;%s$;vga7+g#1fmgS>V%8Pd1UPk@8bP*c zD!hzD-#{#+$G%UUun+{dU=yvrh5wV`&3t?lky0H}ySaKC9+}=H_N%!1>fiym^j{qW z_CMhd4Q?&6P{B+n+6z!*28YV(ZpT68?(&OpoyGplO9r|AZf+gqK->D)QtM{@f9$w!8dzxHr}e<5mha?#$x8vyGB|D$s`X@ z^+4f*goWWP(!{qoQ36jQ8pA{3w6slZ+{{T^{u)rQ!k8bQe~#V>{Ut5`z_5tWWjX!qstxH;pMI3uN`)2j_G}05&3%A<^+}P+C*q_cMVEAU(N%ca`0_G8ogXoJ$^Jh z`+c%VB`x>kV~fZCKng(7@4xKSSpGx)VxsuHmXU@&`V%!hP?G@7Fu-L33#!Y0DR`dz zi4vGBftFD&_htXW2SBx9-9NJ!M^~@PhN2lU3Co2YbB{2?`31E4vtv<2l+*{ zyZjU$_Ct0E98Au$feSI81n(kr-mXR5*IyUH;Cz~t`EcSJ9v6&+S0eZ$2=a9Md2X~` zP&A8I7u`3XveXDMOY5c3b_!%}y^`a%qvRecq~aEL5z;=_e7!$M(9aP56-nw?|rR}C*{!)G=d<& zp+JEOdkm4fRA)~hKtQDA2~#*kpi$F+uJLjKvHU?yB7Z;R&WeDF6K`lU%WvcDW%k}? zdC3RFvjj<)|<7^w&TfG_ zm-!!?o06)r7<~XxtcHhDh@f}x}iyS&thhCS)#)Q zzM`p zReYab{|DGf6ZsZbg55C)b|=KX9VP7ebaswb5nH+5Z#6OHOVW8cX`s`v`Z&KXLU5z$ z2D1$RPy!O3cWhy%JmaT1y>EmH=| zF#B%!T%K6U`~T}4=UFAR&3Tz1_~Q@by{Dl#JZ3|U4uc2>f zg)8iP6Z%JZ{CbN)uM|NWL!s5Chre%H9`aU&V6z=s81w5k3P@?kFTD~xPC)SR0NI_6 z_AsL?F54$6xm9V0gp_+0V{01&Wp6lq`QEG-eM0!G;?CpFGpw%`;gL`5_15p9g(D5O&<$n`I*W zlEp;{f|6!$_Zlv!%@YC_9|Y=cRCvG2FHVM`7HWJ9;1Kt~$S)=1I%$_nZ3TlyXOX@% zog0ax9Q5fIH}#)#p75d@Vv(kb5n#ciCc0g;{`rvZLa*T1Wbe!ZUl zGj(l8OMSc*9h~1???4!j&5Cr%i->hf$p{*K7yu40EC#x#08 zSnJcrauQXW;8(c=UPd+!Qw$k(H+)}Z@mULysrgkwM^y37*wBJU6`Th<*Ox6t5?l1Ar({-h=Ar--BR>vKwfrsL*i!&OL`Xrv z@?p~AJ7;*U3S9$GnZ=lo{9vIyRP=8O?NvSBhJ3%Xmyc_5smt``Z>ee`BXz+y4`asD#mNRvYeYF|0 zlve{7DR?43pTK99tqnhiUmff`BRwBMx}YOox|yaieXMV>q`_OJQ_j@6k#YW|W+AHm z#kiZv1M=4BnmE}#Sl=;c89c}dxN3c`b#$5-o2H}ygo;S=8}*Z4%cFI*jIbCA;&Yt7 zCSU;wUw#I_h0BVG@$tFU zl47xB21*jVk{_kT9qD)ELaK(<(V!#9_0Pv97TI_>nRiiBN6VUeY~N+leUN@4p|CS2 zDF7$UZBo3`Wf2Y?Lo|ZPD*g!myFiK~a#4Z_4D5f{afTwMlk7BcP(EIA4vy*G)3@ znvATkKE6vGwDJRh$1S(C?Nr)^ibr`^9=IPDvamFS!MC;~t!<7-HBUfwdz{UGV)DZdCslhTd1!=vPwqrOlKoUjIG+_a;w+Q%e-WuD< zHWP%wEka7GTW&H=U0x6hpTko`j5wiivkrG+9|wU$8~!9SQx?I@1%yO@R!4vDVBeI; zzoLdDXcvBb*)w9OcW%xp6oU&Gk?X^5y$hef4-Rl=9Gk3I0%9xLfKH)KlllkDTsaFe zB2R8Ek0J&ytK~+rd6m4ow_v|k>F{ZoAJHA*TX%^}Ip2*{p5)jh|6Gj5^-1fE`RU1^ zezquG9IN%Hy5}`Wa71n^eT-k1+TlylN#*2#i4*Ce0&Z^0DnJh0&*SLN{NsO}08%Cj ztSAi$HUeJ7VMbe{igyjiva!xmX2Ld_-5m$2*-YM><&PXy-5%ot=qZR0i@439!RZmj zq$w9{q#qybWEgRg&Uht|sah;dA`YI|WXuo%F6Xa{+~g8YXo68jZ8)0|4Q88Qn>ecZ zU9Nr2N^ECJg_pRhCO$*LVXQ6Ghm{iw2#8M*8T^ACz4xuZR*qch33t~}gIL9rV_j9{-$}#YL~Aa8 zFuXu)&L)U7{6&iS7i1wcpz87K%gtLn+WTRay)6A*7N3CM*9^0u(dVB>8W&Gi{UTEP z<2(cEm2Q4RW$uBZ!hYEt^lv7xg#{4RTm-R~E6C)(GgH6o!InABU!-c#E4%;wBz8AZ zVEsyMSSSRO1PqV0DN)#73QvV^J8@vs5w~I14C};e;`?YtGpsvd<6-fHVULzEIa8V- zfg{VKS7<3Wx*jY4Ify?Qv5R(cAzV6=ffWTiW%n~UDgG~;>SvaajP|C7dTcJZ-33Dr zj+EQid)6bJB{hH^otH+D0s)l|+8AvYKQrvfJZblLdYu-UODU?F?@XVnNw5gVb2E&~ z2jfl_jn0x8qy`g%+c=$Ye~yJxIddAy1-?8uqZ!h0KsBotkpHB2-@BADUK@p7M__0H zjyRY+BjSIfO#FY{XkWl~B|wEkfJ&v-Ckl{Y3Ibxlx;H1X%(%>O#TKr;v*~rlY+!s~ zpjNwOL-YHCJ$tMN>&4#9UCcbKd4ImHtWyiYlyBT~HbUqK_1nEd^}}2hxN~_R457g| zc;OK7qhf!;^eQdNtwZ0|PO>z6AK7&6uJ1+e4Kl-bYGAV;Xl1^L_9T@&*F#TSSY;=_ zocFSNQ$8fqEG36aWX_6vq%2OJ)1)6>ng&nDJTW13juQ?h3q12{dYKW)D)k2ArYXMn zA6~u;76!q?g~jONGEFQimC{pJx^Rxh@O4e&WLmQ zCLWBh;DiLEKp2CEvXQn5kQZ@|g_9Q{af?|8B)_c_U(PR3cKzAV{b_>xU$3B669q1= z1gi)LR+bE`Y`wf6Cf4FhM=8=;_uK0`#<#fw>f*B>3}xCZX+>8(3OXuBc!;}>+Q3P; z_~zXJKE_BtK}yFs(c%PpVkdQUjXX-8=ZrQ%BC$OIzgYa#{9@8(i+y1|j8e}tHlYhs z7<7!kmiUWzS(%)d4@>mRH~FU#0{TqjYQDBhb%D`7W?@z0;T9BQy)}!STjgJTR`c08 zxEeh-raDGL*YN;l_1INBA862K#zf{%-stZgrfCrcDpvwZ6a*ACUG5~_%LKE!fUfKB zBt7Ja!Y*g=sxgt>mTNTZ55p`=lTT;&Y;VQ3PCxM?vyYGaU)p9Pm(g&5T~C|Y^t4gH z=|Zc!)m(0&v66u<3lCpUgG4 zZ$<*l6h176PW{ib`;sNYf1fD zFw-j&*@K3tBa)lI9i;_>*XBu@EsQG4N}gq(}8 zo>aSfaK4}Ja$jC=8+QAv2q9f8ATI!@Hg;l8=t>H9OABvQzfM&5IyXTP^Ey%3fhU>+ z*W7|KYY1+Q^)P!NNZPYh-8;J`T%X|10<=BIb2JV3{oH4jeIZIPr{iN&>` zcIwEqEO0$PN+h8}{h5~t8e`709UB7x)qpiZKKe&J0Izrd8xO#`s{U8K-*q4%fyQLW zIa2wXOzp%UokTyN2NAE*`h^7Ok)<~BEQ{1mL$zwm z>#hD($Anks5`vLR^miwVNZ)j9Dn3tSqw$V(FB#^Y(#C$ytBL}7jDtv;VJsz^A!llw zWutazo5p?^Ikr=7G>`7T@#Khr?q%N?Pa8OyhvC3Mf0KP6#q|NhQGP?DN7lW_51+#H zZZSEM8&ymtFu0&bWqpd@^6~Jqt@`eo{kz6t!9=v#N^nSoIOx?No8jmPJ1kWoYb5%H zpUb<5sIGNB%a3boQdGi5SmM#Bh{DWHTPah@$h4^oS1@Hfnim_j9yhS7IMRl1>h#tr zl(|_?RDGADSX-#+ow{h={Bl%%2;WWFT_;jQrjj4q*1ic78(MP`vIFg-wBPya!e9x^ z&^))^Vs_JsM!L8{+gP9!usxf0AdR8w`xtYIK#;f_2LC8d89z4M2$~fmT-!6LCxR*0 zbZAbqRFKE3L2xZsjoD*;IT(+_vhV*zf@q2 z*DhUzG>zr&Uhjn5IvVwm%xszgnF3$Gw#JzqUs~SN4ZXZ%)Lh95c6e^FJi+%FsDcb+ zvpv7L8dLrtPWwfL#`-SM{fqPt_f=ni70kN#FkP2DjXuyZ#Qv111$i|dCOU{WKm4;i z?Y|i_u;9`C{oMJpGwHW({`BI6if1n}h;~41TrNr%*io=Sr>}qiqE+;wODF#P0DS2J>zb|Mq*c0B zuna9zOD=V5%1~IR06!aWmEHR?vLJsFsogfxxegV2m`FcQAjWK|uhhM9pfYb^YCO-B z#wUqFFfq8m2yVn?fTjH%IahuVIg7h2{~9^(dZr{?e*wl4vYE1@P8LXDc&Hk|dIbCG^&t&6^sL8?gLh6ECZTFvF! z4NNFzQJxlZuNP6=7Z_NeTzN|;%ka_btwRrsrT6rntR`S>p1>&`B3i0%(q<2I09H5V zyg_ft>lI{Z(*I1dJMuYhP?;W8y{oo2 zhgGgJI}q`Jl3upOv?tP`O?QZe+QobOEEK_(Bm8T~I`Xt%P^1<7TkT1`5O>pcM3e+R6S- zJDD{R-MSKBG9bX%AQa^5gSyKJHtH2&3mmT!^<&2?f_x2W+1j~5>bzWEt!hYlU%7gp zpIthu6qxP7qKrLHj(^S5upI9&YJluHv)yhg-vj}S1QaOcS8{}3T0(M8EM;SN*{I538-#H5}2i zbA;&&CFYA=G@8~*JdgQk%fsQ|V9a%NmBB&5Xh;23srtyJj%Y>kV87v~VkB_!>OEvA zuYETekl(zFrJqx?zuORNHc3RUsP};Otd~1#Idh*uwvF-!g;lUyRhjEVV`!58ft20l zr7y16g&3<~4a6_g1oTXNnKIQRDd7x1lL%G({42(20jX8sTdKB=*uiWa)=7DN8Zb;r zHHoID30N_jOH1ksSpsbl^ux$ftU?z!-4v1q+T+Ax4iTJ5EMOhur#0+vwuUJaF)Kvz>@VK)&?CmLiws-cs%XMiDE}vzZV=Nq% zLr<;6%2YcsCfB}s9Wfr0Kz1g8t@6WYybUq=A`ccIN|rjyo3Y_bpi8F(Ze1^TpRPd7 z2PY3BDlNc(0O@?>C3%ksty*N-KLm!t1-1C(v85<|4sNZNRW#vhFF}>6L9F98`wgR? z47&1e)ze_Ugb3juRcHLn_4qS0^J`iApK?8Hh?o^68dsKKawwQn-u`Bd?M^;xBO|fg zYshC>JSy@_81hD`qL=4}C}EB1EPI3vKZX5t@O2f)&f8;aK566*Ix+WkV{7yg@@^vO z3<;#!WMVF3b2d1(@ic`iSgn3i{JKoKdDCc1C1!^bD)R$o;ui0@8x33lW#-%mK|A}a zw)lbAqjHC*`L9c2I85(QK-~06gZVv#K7!vtjObT4@&<#zs(CAOp{^2N6GkRt+uDy3 zSVqejw@GJf;TN#G{(8e$cb%N1#Kz>cT?_7FQ%o5@zxd0Nx&o|oW$@c49Yphbv2XWt(|CH-XnnoHdyggkys_ao7I&N2X%Q}RT zhKRX*FR~QKa<2iM$4Ej z5iu(UcjSIYPG;)+v#=mHSB7{veEh9dl7!sp7*~Vp8TP5JXsgT5VDMth976m6DqBYY zUUIfQ-ox2>gBWey?$fcJDIia~7WF2c1Fy7CD}>Z7ry6A$-QWs?9(#c?S&LL0SBjU{ z{;61&yqHDkHCY3j-mTm4sqY7jgrrQkxQ$Y3S-|>_KW?)5>1O{u$MVB&b`%k_q9!6A z`ur`y7(conEIKFhg}GiZh|0>N$1VDeLIep{Y;?whXDW~UN7%&qa5q{&gdgSDho_=> zQIF;~_#R^4SEe0b+5s|CDq8Vbfud}iM%PeG1ZHMWAU#7DC+Z$MtG;o|@WiJ0$m9IM z93E#PBR(zZJy=g>@|5mx6E1@ZmYeR@+7(-`?lhZCg9UW{EKB}Bh#S)&Vpdc=T!Wxs z1+p=ag?L!)*pvRJy859NrGoIyG`@$^i8REj_nP8!2~0V9f0o+WQ@%Rn`2+mMsz5(#JDX*Z;buWL0inRU(I37&ep0i)Pfz(_YF3emdB0N4aRY*jEygI1R^E*( zXg$n7LoE_1fhLS1Yx+r4;IhjLa&zN0yfdmCZZu{FucGyeHptYC_!c>=b=@qgC_wIV zV<~$Mfaom?F`f63u}Y!*L#f!Q3E*WhPxBWv9YK7zQMO)Hq)67=39 zr@!BwqI1e=1YW!CM5f?Sx$i{b{;;w00x_qh+;p}K6f9l@OHRx&(sVl%YS-scIC=|y zJf`>m`S{d-#1mxwbztxJJd1z!Jip{L`Sbq!SOQTZW<^CpAp{aXXInZ}Npq*{@By}W zqT>NigA0>eqm*LTO}>S9m7-+273f7e7Uo&N-FJi~4wlhHVqlcLT%n{d`6duTh2{An ziGlUO?S4&fUym~zubKG2!^Z!U5zfDbjW6yphtdXj zLtz*zh!U1<6Td$>e#w7X)+Io%9x!j=<%z>1|bu?u8gXb4I}CxgE$Lbs<#rSmXH#2IE#9f&3U07uX^SuT{Sc+piTy zdC^5s+Hd#GA$CwSp^15vPvD|}*fdIDB&q@8(iwt2$p)J&BO5f&Zm;buYw!t8U*h<< zuC<=!Ispqom!k=Dc;`=GSM4Rfic1zC22l_~5t75eDhCMdB3XM8y=BlXVuJOGT zj*bFE@XsD4`i}|q|Mgjp3{lX0C9vFC21{c9>vNYDd7~NK_kfo#n&rCId{poppam}f zr)dMz56^cBZ^ta%#Wt#&&fH7bOGpCYc#Q+_5qKlW8+z){Nk$8zZao$mMqE7m^}YA2SF;aL^;{A4Z{Q>A<1RO$4dI$(*l!KM#SY&?aZZ^Q-ml^qpc zxZ^eItQx7MDqdw@?`D z5>3UZrXGCk_B5GF;KxU=S6d9viWc{B8(|Wv4`&_We8;A2Y_7z5ww6A>TEqh1^*N;s z$lmq5WNp@<#cCsu&U8c-pR<026}n zN3WMV!H-OBl`wL#A2$hoXm1hl+$eBoTf0iwMkrijL;uu>w-W2)02g^yQ@By>LGzu` z(CHngJA;ceKFJ%Vvy4y{gba+Ur7Cd5w+P=lWxe&{G+&AwcNbaOU$JO0WND$YIX+o@ zdl6yH^mGM2x>m&PP|w8B=|)mF2=JQxxH9Qy6Z3mW{BRQ^M-;rh5+F(;eMt&WgdeRA zHJjcQ<5UMzdfQ7qLVo~AWweTFS6$0Ecp&CsWlf$J*i}Od?0c{p$=oR7m6c{v3pTOn zM}(A}L`AB&R12Hr167$p`fB#_vz!F+;n$J|b67dRkK*xtxKUCOEdouS)R&7A%T^EQVHqu(|{X| zO!x<;Q;?TvMi%mDqCopPAs#pvMS2}y>#)1nh=8dL4YR$z`li*Ps#vapJ~OO*dyZ*~ zZ0s0g8$<5J^B~i%&@$vC>~^L?DD|6jy%#6rc}cnpP=Dv9&B@X;dOI^*X=mxzD8e4E z{HMhOj~_Q8o6YhHMQ>}n=WUeRJ#vmre-e>UeT7f+#d?Cdj{)7w`!dtzHJP;)h#t;c zny=%UVh=;b3H--(j6aK$e_lJ^lPG>v{3^8K{*P)1CYhe!o%cqzbU%)Jg>CCVgehz% zCUtXt5T@$*3n1pz1Zfjo+Fipjx$cvZmmg}5NP4U_UDr0EC&L*_iqhJjaIYINZJ6?Qy7*qV%^S}`|dR?^~kaxp6>F@CoBvT0|{xD@@^e8 zIE#y?y|`)Dd(BHHT?}6k7K85@rOY#a7Ah-d-v8GV6NHIESu5eA?pGr`|0&p}CT1SIn(4S0=x7Y5b|4uKW&y&So!fa7y*`yeR$slk-)xrXE2TmBVVa zn(*6<>s$+%V9dsC{ia7&w-(Y|mEf#{W#K#=1y$L4C5u^dGUsRk^!+_%6es_)GfUCT zgSQxip82#gLWh}VX&q05Yo^Gl8ig*633fsBE0e9S*D!yc8vocw_P4ESpjuh;#e5cqIvkuBY4JsvQg};X=1j&=fH4pOx2yQ> zbZ2P~(~jrGdR`G%yvuRa#%*v((Nx|&JhZ0A;+8;3#5P+g~0RY49wWh7&Pqo?zOUpE7sx4x~)vb98 z?k$aJ8VQ&(44Y!M2xAP5To9VDrG+DuDH46@vrO!;INvmvd;R)gFPSRDiy{K7wNchOb00bTVVo|mMLiLN(TjZCt&F+mW4o7IoS*#buN&R}E`J}A zD7=h^Kkb-qf&c+I)OFR?+j5z{s&9AjmY?+My<>1=mLS*QF=}Mx#hX3);D|z!om|td zN6xA|!YSEu=a$YaC-pWs1<6%`u^8hKEG?K;>k><2K@6MTJ@`OQB%M8P{?3hxT`ycM zwlt0IcHAv>j=N^Zg)v6^5H0X?671kWGH;@U+0E;EgCBAq8_z++nZQq;6&zxVShB<( zB!Hbzm_fydW19cyy^nNp^CmI}| zHq|R27Yhv9mP40~z}bpaZ+f1_bZ{ouYK=HSOwvTwRIbx;HbQ(?5U*%CB zyXS+q7BoML>Qdok6~Dc;o5;*?WN@iL#J6o8eR~{bm}@?Y^rHNP0GP(+kIH*-rI172 z4{qY{#?-RR&+y8lQn1r&AHwy$cHPbeXVFmO-~8!_UDF1Ijs0X`!@`IhNkZa$Ovhu8 z=>GF$`3H{1{;rc{JyCeeN_ct#;YpizYrQkaovhwauIpFKIWz#9Y|DV4G4F)-q6k)v z&hZ&8OAPvje zZ;~v-FAI#z;JZ?d8;6b&7#(Wzd6%XBpM7y_~C`AKf_Xf&)ol# zobp3qDRLH-XJOzk&p^Zuzw7e%hll_`_EIM31*iOl9cX09B9-I=p#llJu?km+Lb z?u)zKslWTdgU>KU_X!&)SO;R;;&{9JJPU{i6jq!0Y<9d!ZTxVm`xxp&86e81D=BYz ziGoU;w(_2naUoE+EbiF$&v8A63x?+?7cWTj z-jGttP^7J60D7>jBpc&wFctyZiB%)oS(E`h2y^4PxiGaH4$aKFY?jOgxs0V^tsIU6 zaRWD2|DfzC%Byg!G;uVfA!lL>Zb7o0DCH)n-KLj`5fh# zm-vGPR-wYlQFQtEF~5tNVPFmPo3zelX=xok()oTLLUfI~02tAsML)oFwponv+`BF8 z`HlS#NapKb4&xbC99$R%;58>Hdh~VagJLp()F9>D;>5;p3dFO3))NH8g>i{T&KRcy z@_nYfHjC8^UeqUzmx7myoFe2m>YncxvAP%x4s&TXVQ5VSBBM<4OA=%SLp@S2a!2Xs zqM2uynbn7AZVi>_5z`T?(^{_Gk}a1F%djoHPT)L2nmf9C_oeG;9P0;Bt~bka1jT}u zn(m^c5{}<^M=d7$GliX;mNP4{j{ zcIsMSd_2h0Jr~%Rm|V=R+;r})K_FPIh0x!{z|4QGY??k58B5gFFBc*mD|erMtxT>RY5)RwKWGxpwmoc;Pp zxt0iBJ91TcR5^y>ab;L5RY%w+xmQYh0XwH{eVV4g=^VZb6vwV^tji*ce zR?YHAng9Yn2y0HsU8V8`kj+hC_A58W2WIf3NELOFSx#?Zv91L85f86jIm7L=7z!VU z@IKL@VpnhKV~g_imiycFZ@x)vw2 zwr<EwKkTeIXl+81^ok{*KAOnLzX-!xQi=f?#LOh+mf;7Zd z6U9SoA_t>MLpSvMR@Wx2OaF?nZ%7+5+ALcm_!`j+@4nspzG{ZdgtOu^Q|wwpR1mP*a>FC>CwpEs ztMW1dEs0$)ch( zXGeXppmK06f@p?&|MA2o?5VpE61Irz0z?~~H_;c*;aM;R{loGJS{b^LU8+Y~Y38ww zT2%v;I(serRrXR@hvGUPy;a_Y(C0EGDA^U=ZrI(JR(QzlWt`8DC76q6TYqd)slf5TVuX->X`S$Rz zkc5M}6Cch2aAbxp@f&nnz_s|SVLR0K^F7J0v2;k?XU{o=`g-T!$g$hAz!Wes@x>T` z!EitZ%176SN3rqPl4MZ(g_+ac1~qyM@M)i!j`;^+F)To+#k%-t=vv3ZZ%S5$Rg}2<8S2At=^`Ljtxp=KpFxRoDZ^pVfJ2IW=RK|!8k!PHK1 zA9@`<%0E`i9r?h0stQhjAcY+OP$o6wAd91<>~7w}-T3tX^1}?0o>8j+!TcR(HzuWC6d8DK;x~I+cPeq1dX@ZbHyj(fJN=cwfP)~13G7@u7zAe zR|77k?)!8Pk7ncnJiOvhhzWAmTSA#yG=U=%7fOeCkxC{o2srSMI9)c7O zN+0kLWr@*zs$2(OTmE&|Jxwn~w}>0picGTvGv5T=MxrleMg$l=Q?bSP8S7> z7ST)?cLi0BOnsw;W`>N4e&tYlrRHSZ15!c877F4?be5>-Cn|ocDahDn)MYefy2Moq zSW3&DJfJRCw5!99No<||h_D}Ss{+B`y@^5@kzga}aJV0wqV~;^sN^x12hhKA?rQv*DdR0x!+;NEKY0ul9-G-;u@!Yej$w+lb%vbbeY4T zk@D&SEt6U|{Cnj}RRV0U;1hDjgVxGbVW*q^;~P|h)_4J1AuZx9SXxqlE)wyKS(oQ8LcwmN27~Yf#tzzY>R0am&L*e^Q2J) z&ZNE3ADu%I1MgCq$~ruepWn|o`DbPNz%FFZL|L)rn3X4QRw%!fVSxk8@hRgO7Fd=7 z(nu}B4naJJx4&&Li;drOXNuhnP85KlIXU4RTrB<(pLgTCt4x?Ur<(MV4l;WagkAni ztkd8E$TA%?t+1X%w$|SF{QO^j#*X~<2Qq2Us#+Xulz{PndgH=&Q_ID<8ASw2Sj1DU zN#mAJK{{U^2%>3fAHj5S?I&gBc}r*`JWB-tHtxzd<)x`Tvk%pq;Qn%m$`)6ahTh8U zPtyNJ(*N**@$w)$`cyZtos>R(ikUcvGp(@k^7t0?i7HD{zJK_s?}n+hD#e$kG@Qo!`3;$Xu08YsFVyqmjG*^JKX6N4WEmrNxuuzFf*d-@U&Hj9_s zF8MD$B#<37+1*vy-Ssfw4?WheUntFiQ;N}{z@{8^#n=Z?1}p&iQRLDK*(R-#^IJ+e zL#lmu&+g~Gu=l(sSsY=v!2wL^_K*W4cnyR+NK`xIOF1%IFJ~=f+YEUFQ*i7eaB8b< z&YqKBv@=3Y=a(XEbi_ykXvb-F0*AN$tL>H0vQxm}h(fqlq~X$$F;Rd7n47CNeIaYD zIXJ!HpxRh5ptfr#&CWIQp+25nVJ97NuXt&G&njGi82L3k=#Bn^!o8xs4Ife8>T9Fn zhbY%NPoF>j+%J1kleKPEjE343c#jJ808oXa^};aZM8{ytOSx;Nmf>+rf(uI1TL)9R z@nA&IGj|5?5O+-MSd7XbZ(R(n@#|;@$w-I1_XE^|ecnmXwmgTg<$A|eSas4FWKWKr zQLdA^)Ar?nIjb{0%&$>W6EHMdcyoZE`nt+Kt!wd>F?j%J!0YUM5x2z7Z$aHs2nVDn zJI==40pj@WHyS9tVK$~L(co$u<1`L5nPv+aXy{B42mqTJcN&m~Q$o5d%qK$#3vu4(L_pzz2yEe0r<7A0R>TIC_EKDv5=X$$no zpH{v6=)d9}LxKa`snL)SJzZ%aJ z$GB=-N^Qxmh)@!Iqo3EdHt7Q_M3K8!Ay((Z1W3y~NS#@7XD|RYn3?5K0<2#|9dR|n zd9NH28w}%CaGMb)ndRXRb*mCMP|*thn|K`UPJy4Hfd~)JB@W?_DRQN1aog5yNgMRy zxX#x!*s9L+*$4c_(pkFE!n8b?e&+e4j-bTuv+_@Nyu9>y4(uvkOM&Sqq&27q#U`m2 zh3%3|blQ83Gx3>+OW5M3@v%8Wy>Y#hFovaLDqY&!CHe#9C1cS3Q+4{t|r3?X^_Yv?$iM>fy z5e669BPDvG&xf>A13^xHueE^A#E2mf)!D<7FlmrobqI6ft9nFs)yMnwnaU?}w>JqR zTP09c(06$EM-X(IV&0^lG$ii@Kg8=Xo$S2X?_j)8RHO@|3z-WZY z(SGFXkcccoIq#Ie@Q2SKRIor}Bx}m_YiI}fyHnto|0j?km@7emdnhw1Go1a*WM?TH zuP8+SJeC%Dl|`wh^Lvasn!{N3O54ME0`WM_@Mx6U3y$zM&=y^~9YALB$1F_iOFgeo zQlA5t@}WRgsXpFK^Lz&}H%o5@?G+56ii(|hsY&1x)D_wts2~#z)Fu0y@=oy+6+MT| zsKnJ*=1b;E*44k1sJ9<~!tQ4H>s_yi-)`D8FE@}VH6y>J;Z9qrd~9ZdsG|Rcahlt% zqFYPvUWPr4II-r)*-x+L=0TfLAq$E3-VaQ&t?dIG{2$KEfh_r0fNxv(tCt79tZS&R zS8OOchgYpVQwqNp=K_6$e%YJeL^3vM3y^R&eL_ zhvFXBzj9A2$D5YrZpMR~I|EpN9pANGZR`cV~KFZj=_(dpTbSN553)b%%j#Os^^6FhRXDIi`u z4~*)9$+Bn721_oa7M-Q7_eS2i;Tr4$1xW9QUDDRdG&i4q>}Rt+rF_h3B-!{bgmZFk^Z!# zT#g$zd>it_*Jg-g_x*~>%-&Lix`r9K2Xj4WhQ`TLecjvE zm$m_sX9qvUppMfp>R$DeJJi8pjBP$FHmcgX)ri<9i>Fp#FTB)v{Ek31o>kT>vA7T>+XzeGGh5sFa@PSP zl`mO*M^&!`6|07&0cUq;8PFSC9$rJ;EsIuISJ`q3cVjpIZ7`G%rD-U?K~_AX9H;HJ zI!Ik@Oaw506Lr5YLD$~-F-t~5{0NnC8P%d&e`iA>8lT7HCsg=O-C38_3BScvXXVl- z;ZG^gj80waFz2N(t+fBKZu~I?pSieP`HhcVFW$J6NlM*~6D@zLC9(0QIz!1A&0lur z#+fMmp?a(zO6R( z*k0W=?b8B5Q3XPu7Wg==3A%2{N-^Kw-UPe0;MlNKl`l`u$*FBqiy$A$^t@}8u7P7{aavYrpolNKMXccrJR>Ct8NU|j4p_Rv-Xl=1W5ZmrBy z+9>DkO_`vd$6o!*&LG%)>yEi8T@&VYnj`U`pi)I1b(l$L_iQ*kkqNidy3CI|_tZTn z9JZ!d1y1`w1s`K?JyrJ~L*6ymGsVC>wAk00$zB_-LC{Xfj~>q5z9xiC!`5ZGfNB!z6Ik!ie?2sYHXPj(jU?&*ugTB-kl-4HR z@pw8BK)}lD0O_`Eu7fRG4qC`#TAWSUee4iPdE}tV1M5eDfG#?gZwe&(qsun5tgj?5 zo_N&cA%#MyjSF!I7dqYM{BT`|{W|J~{Qf$dEr?f;rGd5H`*?K2VQil8c+ z?_7{%4?6AR^;f=HNmvT=vwr;L>(^`B@wDkEm5yhW1McEFIL{Vfv$7hRE*xx0)eL}N zz=5aanF0g#FTmAUpdi#%>)i(7z{L-) zX{Mrk;y{+lS0%3ds4d4^N{>3kVNN!2$22Lo^2}FT@;UhM`5g7QHiYlhvc9MAWz4@J zeXGU3B*)**qyND_^NdE>q-I>8RmE%`IK|SRly7Lfzpg5>ul+qY#|FCtt6nPkxxG<~ zB2|s8E};u&tRwg4ow?}XGNpnhGjhT`g8n;+?P+tM95^3U< zpH0^l%1x6?#$NPH%sl<=nKpjgPrU+2<>n!L%}=6luEII*5jZ)r9(M#6lb?J?{ z(*eYN*TCTGT0ZxbQ%6cJpL) zMddpMj~;?EP^Ni4n~$K!cWBkXq`>a24m%f*^Q=2kx8$=o_2Le}!o?3`aMi+_3KP}i zhA_04K_1BVf*UK~YuYLmKdgz{K`LvZm4%%sX}1@5TjSA@(DznDrl75Q%>el6%)E|u zSSTlN+;*KU^Y!C}w5{H14}v^NeLZZK#V*DkS6{I4;}h{_%>+T#;^RfUCO8I?raJd> zbiXQ>N;kw>#d*Jf23HDyKD1kM-(bU(%hLOxNR|b1;tmgXa=U%z|6%XFqng_Gh0&D) zgx(?ajv#_G0YMDCC`u8LCS3s$1q(%lgrXFwf`X!S1VyC_(h@pK7Z5}t0YQ52kYv5M z_1v@1ckUbS?)%<%zwyS{^N*~o!3t~6UvKj_WkzbARCf(3J}AE{xHw_5fspjP9^vQ# zytlpVYO+_Xne+~h4#ARWzF%C>9<1tw+C;m=ExBkZ?KzS|`CIkQqmMF7ZU@c;PZ^`g zs75#qQ2x4V``!OCO6LI<<>TV3N6YC+Ma>)O|kt=y!4!kgOo_Wk~&R#dmw2ILv4{1KIp+p!+}v5 zAFL4(Q!#V_Kgva2zT6A$ks@6=CL*(;bw%}Jj^GN^UX0HBoR!OcRSdjL?bOGj%4~js ztDXJY=e0mi5Z|2?0X3_bin#OniPQro(dhzY#vadN*RmPB_6^SpIg3?A00%XTxpkXP zTQuzm>$fLi94XupH&V*{rswf?M1ER~{Vk!}j2Ogr5CQS?|9Nx9*#0 zjja@bs|f%500XRqrPynlIWeDZcM5<4!dh{?He&O2Acmh_Y8mPteWw3(pVs*RYM^C! zBWQ*YO^HR3ox3B^2$;2`(AA@-meHgZ+#1f~otCyEX9fU&5-r#Ba;PlwJHU`H2AM~w z!;mBHCYlJ&>5FrGLMy3!sy5@G(m4&ZeNzMDL)O^prJLX|5E(${TN80~Fsa5V9NfXY zT*1)0`Ks~o%n&wg%=LYH`D;--NyzGfgF4AqYPGkznN~O_#=HXjwcR8A!QCGS4S)d? zIC8#m@+pTHC^XosWWoDlLFM)obmH3~m3wGs2DK3=z;cemN#vZA`Ww&5Vz(E23udZP zuY4l;?rsJ82>Y*MXO1&%tj5oew{`Puqrn{&fzWK}5uzopNN%IT1SKElYN?Raekvu? zOhO29LI>0dvpu1R*`wiD#ltpUl!OdtTq?I3QRzAGZH(L#JkXG8ty zu&Aj&?o1NQAqqC3)MPmU^N%KhMfKcKg_7iv`#u;5-7mJe@VqOsO`a z#9!sTJk%@El19xU4@gT6f^VL|E>gAKh37C~!Y_80o<%0@doUWFdoJEtYjQ)>W>72k zTdEnqhchxZ$)8-H&EFyBW#o##yxw%Id8sMVM z!UBM>ATNti3{w_#^{N&uFNIZynGs8Fc7Suz!q?ks#$!cuX>~(P^S)_xwhS8wDen%O z?wTAcSv(OHvv@&!X!jaJ+%x78(QPOo)GTKEAdurLcrei{qMx^;k#c&J1skh3_Tc>? zTJTciyTawt!xyciL;P11=!?lTjg$s3S?-K3fgCy4`sm*E0rG0mpIEO{fd?US_5oCK z)&)Io?f@gf-ttm(`d9Cv%Wp5P@l?GBS6?h@V5qVt8?AFYZ-(lBt^xS&->rGsiKe!p z5}~!!F?P<^?QQG%xI)d=$^$F7tub)Cl*wM{+tWGQpUHFj%~^bw1SNS`8v!$8bC>s~Ze_Pt(82s`{KrGOJ=~Q){mvMpXVd zhHWhXms22hCb}mNfbc518X}s~Z5E`pPfc}A_&MIHX4axAZ8@l{JFD-6CftaQ1T=D- zN1pGfIx$?EIEAfm#_t;1YXHK5%k9^bsTVsK^7atz;*tl`AKq zxx0I(6AX7kR;g(3O~Z$5UdK>9WL+~*^WMA(RSL$gjIrI&v8rAPp$JfcNOY|18^A=a zOB^+xnaJJLF>0VZFZk()BCyH=*K)SVnGVyCjmEQAE#;}(I7?CQP;aZ|HP^(Q)ySUY zHnvy*!IGtlU5skulaTjKw?uT*Z2(Aw!07(mypkU@OVv5Wn~Zy`I1GZ9jB!Mzz|Sj4 z<7$N6{?1NZ!q{+|=(nmh$_a`a%q5F}J{xtHx>+b45k@Oq((!3F`}GR(&I=d|f`2B* zCyiD=m9w6jfdk-AS_G;`eCio)>2?obTvE-b&8|z=JOLop%UQgWM%M!=$Hi#uVWttu zUjzq=3&{NjPMUs@6IqY&S`bN>)8(&jo4h!>Efkm`4}7$czY_-)o=l|v`q^nk_~B?T zX)j0LO;-tp0v8Ic{j7JgPMpl%Ce*|&5&(I~K~mWgC7 zMQ?EIDmDYXgFzH9xi7)5Yh3`6q9UQJ!1hv3qRw?+xpg&a=`lmC#;^!O@a+QAJ`;dw zERU60Ag8^K^1&8Udav>6=?J_a$`8a!EB9}Ev~z;h9eqv?!Rqk|_Lfst!zsXU@bj41 zd(+bp8GFCOC{m#O%39i4Ck0XSf+8Jz)i$xo@b6|lifm5-R;mhpg;%0sG=zwbkg5x3 z#6QB=^$l5d2VW7n5(R`y$CR|1eUVrFkR zQRj3xm0PcM*X6{4@22XsM->X>YlIu`TnE8K-V#G}aljWkr&@k4m~kVUz-LzGi!&D^ zZ-c}$ks(~d$6+Y+MWi8i^_Es?23v*k*&vANF*DuHl?Li7*d3l%ftRUFWYFoM%vdyj zAx+~owc`-JftRdN021Yw0gdb{{t9#_;UPdyBl+aVLb1nUt6hkA7bl=9l?Tw$n8QrI z-G$XoJFLHTf?vi`{c*hmnTvd+jJF;n(|1P(a5>Wqpbqw~>=3C{ z2$DUpF1naT2wllB`ZKK3^BKD=`n9ZM=Jgvs(ao1AN;5M|v%UZDMUXUH#I#Bcxx;~L zSZ9x{PoKSAb1pIa@K?cYXgPZ#{D|XRAy*?sf;UomJqS~KpaQD0RX(3)75scy`Q`0j z24TAf(<)Dsh8ONcno|7_Ht9y@Lq+Fsy%%ch(mGmi4iRX0eW^u96{p<14DFV(j8qwe zHD2D*3u$Y}+yy2mC$mU2a#+86sN}8IXM#ei91pAKdw3afF#~?Muhn}zQ#5Uuyyui9 ziySJOaSyGMcdjqoxztj-y(5~ii|<1bWmXpgmjG&x$;}r^o#@E|WhQkTE6V-)cPaxWVfth3 zfrcQ{k7g_mQl{`$Br#_{C5;Wmw|7#@Djs8>l5ja9Nmq_YS(kri_v}iJT+ck3QDh9g zS`g{v`O-kUj;@SRQq{?pnfbwqW=vz?#3Qup(-9iS(#ZYPt0SP zVi2@9+AcLahIe<#6$uQ~IyEd1lRyTY@mcq5`QKpKl{r?np~yct`~8=8T#TjonOV6H zkH|m7ePj#_Dhw^!ZU&u>iu|&KBG(^q6hwgB^@i zthGJtM;1Dw!5{Qxd7f(-trvHI1P0ejct_Mdsz@m&YOu>S)^`|d*Jr?FxNO`<0Dt!L zan#J3mB5^87DbzhNtN1xOYZ`73!=`CUW@DRJld6{WeK->M_w~t2^XVtUUJL(%yfk` ztNtXExWF!{gjBuem0Fdo>5fKaH7@A~_&b7=&DdwkbjyeMMXa7%@pb_^Kn8_2BiWRk zXlOYIk;y|Z3GT1P3dYgokgw6f0>p!tx6pfAB`g1+S8jG3vcD={B5y$fzSke${Dg?c62QSQTC#5IkWZwq&8Y9t%a9TdCk509jkwz0e2Nl4@pyQn6=MDt4N$zSZ7cIWhvxpOSyFpc^cO zQLBptx0*|EzctGl91^>EoP4jD7yW6E7 z+D#VF%Dx8ism^0=N=h4BISXLsh<}9f$SIwa-VlH`#)~O@j(QfE)sUp-j+tR;NzGWF zj{`1j`=?yaoc%@iuK{cS(41)q94mFMCGYYsfIu8$@Fu*)-=?@};gkWp`5yTP9mz%1BZ;e;N#DB0QeRMAo zFAYG*9(+gkH(mg7OfH9SjQ6SddO9p>KHI zPHs#XzCj_5pOaEg`9riob_wRrl?Viu=fNBGha!1MU6kgrm&-zMmwhq_y55y8-giqS z)Ie~B4*L<{5_(as9%THaz zgjwD+DL8F_B%jc?e<TCvKtyd!w~2)j8RP5wUv40?l&%{<%qcPedj!l z93|gPaGo!m2`3&>LCz9B-opxYlAyk5yR*a--S22-)HJX?`&H-aj0G!hIMi~Ywf@<` z>ggNQ?;~R$kM9nwpg@#p#7sKk%+VR}U?DOCO1vwp7PYmUW32KsEIi1u7X(!V_HDEv_tfg8V>cXk87?1V3kHXZ*6ku@+IahWtZD^!?WKF*Z8J2jmj* zmg(NR1pOQ2+Hv!GNx3JM_BO%yQ4GM|h?SEd*6*7P3rr(D<)TtY@$I0)I{_m96^oZZWRE3Cihxe^!EScN zYExeyFA-nxQ#WKgc5Idkx5Xglnak)_5Do5CUmdm|-(#)znu|3Ju4*`Y?PMmI+>ABv zk4Uk(eZ(D~a2H6NYkKl7J!i>eyaNL?F)aoA1wR8ZNfg_H*-xUlG~s)Yk-v`Q1~&6) z$@0c!rgadc79iL}2$_H@)4BLnHW91)hu>~)MzxbmM8YuDu2!9y8Pwwx7S^lXy~<#C z*!Uk2%>U9A1XpJ;u;nN~>qpz`eB^b~J2MDJB|x$XWXJJ4c}r4ZoH8`@ujlE z2EHT@eZmC${y9tI99Tyi#>JqOA=<|$eVk~Ljt-%-47gD}jGkEVm?G`+g-D%WSpnxf zFlci9V<))Q@uUgG+#Wl)`O8?+Hu`;Sad9zr5&*Pv9-IdOty0CT<^Tdri(fb@Z#Vs% zhu$<$bd^J@?cCdMJkAQ+PPPSz9Bqv*+ex{ber@JpFPO2oSJINlQLvRcLdzn6A~$tI zq^Kmt{jY17QXKnuc{=T(<*d-Jp|=h{I5sgCGypnw&O6rmYN#Dur<(^3=tm{Qg4;RCxYtp` zndFCBAj#EaJu!(f=+n8(D#rIOll5N(ba1#pAL=qhip=()!J7!-yDsQrb=c! za-`|CAr}i{Y3GN~{9T>3d*&xQ%dVRoi?PQBgWPRB{(Vd2ATlq&jwTz!UEz<%Yj5nq z&HL6zDrw7n&YV^c0UPcaTHcsjl&?}nWA(rADuhrB+e`O*(f|YmFpjoPUSbfRppM%# zw`}#Ml%XZWs-3rTe>ZfqRVnh-GY1@l$gIG-g*NrpK)f1w>eP)jm|bqschUs+yjy}(LE2`xrSQh&FJ>iu;aL%OT1SZ0~ok;h} z?7SfBTV$T+UC+>bV{4Eh$n7?G*G=rx`7yA)08CtmiJCn54#>UI z2spEoL`zCdp*{6NtHz_i;s;zfODDi@dE&a~@0>aufNX9{;bQTLW`)1Q zn^-v3C|iJsx zZfe2NaWRf?EDZ?@W_mu#(|∾CF|L##Hl-9>gK{L6At(XJ{np^T1C*prs9%cOxQ_ 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

BFHzK;0CJa?dVLRfo80Grkq$w~k! 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ʠ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%0Am+U9Jc4gnE@_n7$}|H8 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 UdRT4owAX<@3?F|}mtX(?02{q^00000 literal 0 HcmV?d00001 From 17c6bff1dcbb731f067c0ad12d66c908a4b40a05 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Fri, 19 Dec 2025 16:05:46 +0100 Subject: [PATCH 59/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 796e73f..1757614 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.27.0", + "version": "1.27.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.27.0", + "version": "1.27.1", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.26.0.tgz", - "integrity": "sha512-0duZPn/vVpx+mKjOn3PNb/tBrtKUoq4n5+uO1JwyQm3cdaKYy7tVTEvTpXJxbpQ/CdnHn5YMVRg8mwi7fIgSYA==", + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.27.0.tgz", + "integrity": "sha512-u1Xm/HRs4g+cJM8IWcraaWlDmPnAr0FvEbFNbTm46bFA1GPoNRpmBeCq3aPlj9sjyqb0c7TMbW/i/pPupjwJog==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.27.0", + "version": "1.27.1", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 02f0c56..32d7949 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.27.0", + "version": "1.27.1", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index ae9eaeb..8ad9e62 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.27.0", + "version": "1.27.1", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From 9ba63f5d954a7d59c9ad60015069f8dc331db7d2 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Tue, 23 Dec 2025 20:16:43 +0100 Subject: [PATCH 60/63] =?UTF-8?q?Add=20Roman=20R=C3=A4dle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.md b/docs/index.md index 2addbdb..6442fb2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -106,6 +106,7 @@ const sponsors = { { image: '/sponsors/jellypod.png', name: 'Jellypod', url: 'https://jellypod.ai/' }, ], individual: [ + { image: 'https://avatars.githubusercontent.com/u/489051', name: 'Roman Rädle', url: 'https://github.com/raedle' }, { image: 'https://avatars.githubusercontent.com/u/197597', name: 'Christopher Chedeau', url: 'https://github.com/vjeux' }, { image: 'https://avatars.githubusercontent.com/u/84167135', name: 'Memenome', url: 'https://github.com/memenome' }, { image: 'https://avatars.githubusercontent.com/u/5913254', name: 'Brandon McConnell', url: 'https://github.com/brandonmcconnell' }, From 736cc50fa7f11d85943d9e84f946c9c471111835 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 24 Dec 2025 14:15:31 +0100 Subject: [PATCH 61/63] Fix aborted UrlSource not aborting request --- src/source.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/source.ts b/src/source.ts index efd4879..0059189 100644 --- a/src/source.ts +++ b/src/source.ts @@ -263,6 +263,11 @@ export class BlobSource extends Source { } worker.running = false; + + if (worker.aborted) { + // MDN: "Calling this method signals a loss of interest in the stream by a consumer." + await reader?.cancel(); + } } /** @internal */ @@ -556,7 +561,7 @@ export class UrlSource extends Source { } if (worker.aborted) { - break; + continue; // Cleanup happens in next iteration } const { done, value } = readResult; @@ -578,14 +583,8 @@ export class UrlSource extends Source { this.onread?.(worker.currentPos, worker.currentPos + value.length); this._orchestrator.supplyWorkerData(worker, value); } - - if (worker.aborted) { - break; - } } - worker.running = false; - // The previous UrlSource had logic for circumventing https://issues.chromium.org/issues/436025873; I haven't // been able to observe this bug with the new UrlSource (maybe because we're using response streaming), so the // logic for that has vanished for now. Leaving a comment here if this becomes relevant again. From 05070f7c88a018f1ca2db271eb4f975ab4d149d8 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 24 Dec 2025 14:17:46 +0100 Subject: [PATCH 62/63] Bump patch --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1757614..1abaef6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.27.1", + "version": "1.27.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.27.1", + "version": "1.27.2", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7739,9 +7739,9 @@ } }, "node_modules/mediabunny": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.27.0.tgz", - "integrity": "sha512-u1Xm/HRs4g+cJM8IWcraaWlDmPnAr0FvEbFNbTm46bFA1GPoNRpmBeCq3aPlj9sjyqb0c7TMbW/i/pPupjwJog==", + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.27.1.tgz", + "integrity": "sha512-XdgXNox1hx2ynQy3jcCbzX1YsJt9en9VnZVidNXTNnQUdl6q2twSoV1GjgTb7Wlw9evCYXcKkgjE8KNU7K5trg==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12065,7 +12065,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.27.1", + "version": "1.27.2", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 32d7949..208366d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.27.1", + "version": "1.27.2", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 8ad9e62..d4f239b 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.27.1", + "version": "1.27.2", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", From 19219fc1cecd811c5190314a7519bec4d10a4f02 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Mon, 29 Dec 2025 20:28:13 +0100 Subject: [PATCH 63/63] Add Polotno sponsor --- docs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.md b/docs/index.md index 6442fb2..6bb3731 100644 --- a/docs/index.md +++ b/docs/index.md @@ -106,6 +106,7 @@ const sponsors = { { image: '/sponsors/jellypod.png', name: 'Jellypod', url: 'https://jellypod.ai/' }, ], individual: [ + { image: 'https://avatars.githubusercontent.com/u/82552321', name: 'Polotno', url: 'https://github.com/polotno-project' }, { image: 'https://avatars.githubusercontent.com/u/489051', name: 'Roman Rädle', url: 'https://github.com/raedle' }, { image: 'https://avatars.githubusercontent.com/u/197597', name: 'Christopher Chedeau', url: 'https://github.com/vjeux' }, { image: 'https://avatars.githubusercontent.com/u/84167135', name: 'Memenome', url: 'https://github.com/memenome' },

$!4O>-Rs*0&fZkq0xM7To2f0 z6IXqDbCPofQ?_XJE;hj~8_%6l?2O2wzxISd{8NVxGO^}1!Ctw_RYMR!y| z3@^MVAG@C#HGcCg!`1~UJo$5{I&a_82c&9?#1t})q9R@ppJFzt0wGG{bB+~stoQ75 z?zqxgw^)-h6*^#V@Qmy;J)dBEBd@dp}krfb+Trs zhj`0_0ZNoXGU~1DIaCBi1<#{&mgWAn63nVh>~5w_5!;nxD-CFwQ3GkuSa`vb_V~S_ zCL}eNsmN7h*#wmfdrCr6nMstrA&*kYT_3Q~4Y&qyJjgIvL>(AppOcH{d*wGkOq)d- zL9^prg4(3_i9S#HiF|0uH&K^lNXl}w7GNLC~iPlpntM6Dq94PRtAHmh)LDOKs45|odGw+c~cy^=~E9J z*}vJf4(JN&9_mJ4h#zkMm_=ZRCZ_h>&KPr$Z6%Fmi1J5ZdZM_CinPRzf_2|s4)tKG zqqJh&7a0d`j~>70dqU3@S5B%yV1NIP6Rpv7VIn;>Ynh1gr;(d_tT;>zH*Zc5HkFJ- z)sy~B>8o1k0WXL&`utL&rhj0huz`|eR;i+gW+|%^wv#a|_U7!SssP7U-37r%t1ZB$ z#?lf>oWD=<6?C7hmGX9coT!H){6M-?HDYiOc@@pk{uP)K#7KYO<9Jd%1D$)=n=yDf zcz{CVVFxAu$VdX2G=bm-=()7mdR6uQKD&K)#YZK+muBj~Fjo_?^eMe0o~R%sd9N`` z)gs;A5W7@DC+m>PClbUbKQhZWLTgUD)Yi1uPyJ;p7P&fKqUP-BI5a#mElj%QwRV-_ z%ykm(smNT|Y@4g(c^`ezg06UC=}iP|aOkx?18;srXhM1-s>SX}p4LjtN^ZzwSfQx2 zYxDrfp18qSR=MyA^qj4iflwa|L1}pVO`(IPx}R};OwO~xx9^gCrTir=2HKv(E|!yL zz5qGSw(n2~H?;Ae>gF!F6O(cEdb;sE%{z(=H8a%)=PYpAE#bKABkBd}`^AMF?jgsV zN6y1MQT=^B7eN$vG|0&lce{|F*Wf5(Go|w|YIrJ_=`x1o$^*^f+>9XIAJLII(M_j+_&Dpl z7?#OHBQ*3Iojfc5xR{_|beTS83`UWxFJ&xOA1^jt$TVrW&>3JGH|CLgGghKhI%+kM z|3Xd8fNrFqQjRN7$0k1;IFq1IDI!Ia7~uG6Qd*Gx3rO6sGZQz)+r<&~fL!&t+ID_FbB{d*xvq20oLOK}Yt~>U=d_#hCFF z@L`6~s|7^FLiYHx&RBVCNQQ+hyoBOJ3FXmA|Nc>-e&F&+lsu7U@nxsWz`o|PQL>71 z*yg#&zle5!GvofDeEWN(`$r%7*J1Ckukpu(464%Q8upJ(Z2!BV3VaA(r%a~J1rfU? zXTe1te)Q8h>*s)Vh^h&SRXXL&YPrWQ2LFtp073o_d*1=p)UxfrLk&H2P3J*X73q3DBm?_qt>b&^e%NTvbbAI=3V0LC@f@)W9(qZ z?oNNtx!3waamjVMLttjP8z+%TypNyY;fD(iZ)7%>==o78J;6A7`Phb!H_ycEzR0Pi||VY_k?g$%4)ke?n4L-aQjAUKlQHH+KlIvC2k^f|1!Ll_@|wrBZr zZ;SXNPQA;W?|`v*SS3A!?{TV)KvKHihURBuzVA3&*%As+KZV_65R3lO_>4E@^AqE@ zdRm)H;U}*}sX3DBjE849)NjqnxZ7bo1eOJ7W*B$P#@%4OXB@kc{E0A|`)Ky_LC8OJ zbC;9vLFnttvs};Vu0f8dCy0%b5>orZ^Y7Zri9rHw40a0dH|+Gpu0^%Ie&_WVevXgv zE?Lf+3HOKC?IBhs;W6;q@h72mjkABwOM8_n2LGXwh`hdgd+Phnn9qF{5z0MT6MjRspR`Igv%u)+sl`>$IQAHd!B? z!!8VRPDAEx&7|bLCovYDXL&Ssq)x*4B`DBD8^fzxUyN`mzRZ+k+lEw}S`2&!63cfe2so%Lho&lR~@e$D;UBj|Ol%nX!1twOPa+p4s@q zk!k)@-X$GdoYtvY%7dRC;Fo4xi39E$TN&OA_BCULr8g9?YDLutp zWr>D^WZqnEFW#{TbdG_5sprOur}lefHk&_fg2^0LMkgXX&m?#w>I0W9<7c>BYH(MD zveZus98BuCU(pb0cz5LAG%od>uK%jfLJcNyszH@QYDbK_P)N5UDwlHbtCZa&j!NjR zi(-`i`{(>)8VD8E#Gew07m&vz(YN0{_$Vx1^p#<*cybm@A7 zo>7~ha!jW9B5vr{9`gCnruI($hGW^n7t6Y+ZPOCV2YIf?U)ZFZk9@o6zuNpEj&mN4 z>P3=t0^W0e%6lF=Teikjrx{%rgu>L!i2Ju7wt7mcs~Y5kcMP=HM<2N5zb_gXZoX~h z@nA?|jc@SSiwU>{Ce$N09`%1Mh?EH$4CWEr?_uyJ|M-bV*vR?*{jbBwFymOo1^mKd z|5{$8_?#k}CJ)@?X!T_6R@Kn~lLwNmxjhQ@g>Ka>*AebiMw$1-utu5EBL{W~S&QNgzfybW0Tw0>@HpZSpLMF_WS)hl)E4Z>lrX!WMNS;E%zD|;uwdH< zJEN1l+M2=_(|WOLfpmUU7OKe+UWJ#%!feM&+r2U*^@tOQ+nIEG?wFzaZV(z@X?bm< zOu4edb!Lqc&}XT4GVjjgxmi-%jEwp<@7~xr$hc<6SC28-JQ!!%d8Fi7|f2gH0jNtj-6IO z+UhnJ5L$fX*kkTwxqqB7+!T13ttG%SD7$IX$QjvGq;3t&-1_0Mt>-1tK#*?Wh0yH5{o zOulRJ@}1^Ig*hJi${eY@y{e8Z(caeah?$V;uN_n;fu$HT=f;j@pKEx}xFIxS-g9XJ z8a^xJrI5VT2}z`VwQyN*?cm(wtpJbv8;kpw^3*toaPQyBEqfK$>vg(nAvfAwZB;@a zBZgYlxH`!mZMvzB;f_^AT>g3Dl{ch>ie0jED%=8i>X54mtM+tO&jE?|r%v<|rOo;8 zt=UsIglB) z2stvec<@~!#PUjbLz=8_Zj8Y9TwZdb9~>OFXDs=8DL7_#&Xa{ae|^3?%ga}lpW(?T z#@cpTk&E`~GJ5$3yl-lLe={NmVI)rvllU?#0vqVQqmI%i_dZHHkQkFjpClKgj zTj5i$vF`gPx2u%;X(+VRWi&RkuXH}{(alTeykdA zw6Hk5c$A{lHmgvgH4|cWpVc|8=q(o-->2TiVdk)ZBS!#owM(vfCiz@1$2sd(mxGE@ zEj3@|Rk~l-LgM$>%+{VUTy0iPc+BGSLBd#G$Ty6cs|uOS`^&BD&Fyn}{nV`tSt96zgptw!0?X ziB5<>3w(U?KH=_@Bir9$)!545bnT_=m07Y?O-Mb0p#{Y@S$g)vOztXJ*ZD(FSLNZv zDR@$7LnaeX>iPHVjlolzgmavmHW=)=bzv(P)cAF$Tu{K96Khk9A5SVjz09}$hI4R_ zCVJuUBTD0fDY3KRr{@&-N-7oIx}j{FiG{kEk1T~Y56wc& zn>N6YTI2U$l8EtfObQ@KhQ95QZ7Z<9kp|Z$@^Eg+HBpzjvI0|`%&&P}bJS;#(0u{X zY406pI(qDh_!3M>=Zs&9;b@L?2Kx;Gk2b;gt=T70iXTkd>Zbmtr)oo1hmp*;%Z60{ucbZ`MxlP)D{u3{Pm`Bs;X#+`@O2jK0qnxqpoQ zM!Qn|7RZ=R>`<sma38&?%2X4-ke_L@!ei@_l*k4!p@{>>BDD{AD zbAFmoc3F${gYbdVF^crX*(6qM7?GF39^@=5F3GBI#$AFK^yavGozy8_-JNDIqq6;l_-9Um^uU1_ z56dmET8tjCY+gcHrNA___t}dQ7<){_x;*aq&1?O*oBHyO(wnCTG~v}3Od&yxn=CzC z#@H2}`=0vx7O?CR59 z2bl)*jwbEj$YsfWUjRELzA|_gJ1d&E{a=rH|3O^&uZ{?e%+)7Ad1|BwI68?MZb`h! zVMrtZ#VvcJ0gK}1+T%9CZeOoPA2ra%V!~}GyUt2z-B){R*V9=`*c!$OA zfBI6I6xicWC-_`8Hr>afROFHxVcXl6`*aOO4=CTdU?veLLbnkkeJ*Dpv%9G6xzRq< z7sEIOhS5#oA}R_>=OP&LR^Oe^V0p{_d9`g%<1^2c!?n4=i91e7M<*VbDq)$ZyS!lq z*LiZpDT{8~#WRDveB_^Ww&d=uRlm3`s?>ZgxZiN_l`ECkBN7Wwk;&+-6ldJqCGJ)9 z#Uqv?;)AHrOn7N>qaBRSv4#B7rxxx>sg2bu9N8I}$I5iC!^Qqa#vN&8`ow&~S%LLpn2qd0OmsW9esXKMjwEc8&_LG&*kYbU+~_WFss z)Hb<&S4}kpG6lM%ozHT-B9%TJ_EbbuE9G&_x31FhT@5E!;&cuzJsEkop&Xu1dz0V$ z`VzUa`u5|d>;ogcNdq1^tj^dxr`;shY^c$NH5Y2sXZ3`dBv`$nMgw2=^q>rEF_uWM zFx*gh0hP>sa=fu$DxkWd>XG=HIwAWz)%=Twb)%aa{ksNKd!-9ygg(t1T2gAD*4_pVk7rzB#vtj8laQNZDl)HL8F$ElLH4D($g*jnpjw=sc+)XR zm`ywu^T-)bV89JMk-5%yDQ_wS198*GK_6Y{6`#4YzL=`RNuNIn9eIr6#zqVwC4Eo+ z&wF2SPagY{w~3v&e;6Tk>*R9?_00ZSlJLz?CRs=(h>%fwdn@>KaK2GnOt5ym}?YXeVnp?ULhfn zxGdPt6<)VBysBNBRT>60_LclIGuk#Li?(B7SBw6M&7V?r=rj-BCq7q%PUSo^!6U{O zl1H3Z*x~(URQRjGJKn0~6AKjsNB=}S|2oqA55w7iRUC4dGkCav0Y1*RziCrxo&~z5 zF>yqyH_Qi~Vf$x8_O)?fj&T!bxa`Gec&bB1W%rep8Jk$KJ97U7jeiO9e>L`<1Rkc) zGx~cER{Zj~MRIfB|0oXstvCPEnf-NX{&Nld(>MRe-Tfc+{QpEV{$wZqrENw0uAvWVE$Lp_$!9^4>11& z%s)0L{?nEJ38VQ>cja38XsVzZr=-Y*9^}E3?hJwlC*aCx-CH(hfAVQunrZI}uXS$L zfyBj3%MrOkG0xdL>^p0=yhL8k&&-2#DKgtHc_5CaaAaVo=Gk13rt!nOA~`R|Xlgy`KS!a>2eQO$4E&Y8izem=ETG_RuHSO-hlHZaGvfH>?whLdwPxRUjV z0`2=C@}R%Nv2h}e-%&iMkC|Q9*O93QL8^mVL%Q@Axgn-F5;F81GX^zs>s^bEg7#%xeWd1x6%y_Yt z|9U17p5EP5DU%)`9OyoZ2*k-ijBQZ5fsu8xx``5>TdH-kX2HdcJ7*rxLnc-XILJhw zA)1w4zD1~L{iM3dDUCvprn?ZGhP0-Xl%|F>Ohr7!sbQkWum~|SOrbKUxWjoHIwGLW zw96krJV<%9AJ@vaY|to$scMG_2;Oa-ho%o?TZ0wIaGntAaLJ{zPB1U@T67=eBV3?V zn(}F?QD=opKt6-gAtbGcJ7`7xR**EKavc(M#p2!tpJEusp&BGi^KZ(hF2k?LZNJG-RWu4qYYXn`NOj{U-#6Juchp8PK z-S9uI{zVAi>OeX2`(M_Z>YPr1Gngc1o{fWqc>ghX9NkOep<8@&z$%Agkih{9@1Wh} zx8(rW&7A)(;NPCq^&y~&yUai2z%B%qL#|-D?9j)tOBw3YE00H~?vmtudodGmK_@lA zaM#KDe-7V&;y}^3_)quA4e(%P!Ciukffg$brXuSItTOqQ zL)DLaJA>3e_Gx-n^-bBn!S&#;)N6hBdr4e0T7Pp!JQeqIF=!1{{;dgVC7~k}DIfh_ zE4NfyhUK>3s%clW-qycK{iBtCb>r_s`Ci7KZ}azM^^GjPi|z-SKncJ7@>{Wk5^A;r zeE&`AZ@zDWfLdA*$L$-kfZ zb*a|T{F_{Wa?wC8C4?-}HDah*Z;~HU1Go7Z05rM&l9LGW^I9w!l5vGP< z!wrs5@M3S@<0Xp3;b+`3=i#JW+l}wzKN6=;p$j_6&qIeF4of3bHUBk+oWstLRdnc! z|1gwwOCdt0i&j9Bof>g$T{OXe#>e_lBSw0UeRUoPSxGYk4l>=?Ua41EsJbVu}FmTdy^=Pdm3JA>+_ABwZh?vkjoSm=?A9MQa zop5S=okd2xQEVL$`22p2_{trKs=$kB_4c;?PKThexHID`x?6^35#2kz@!akDj$1$W zUqMh7R>ja+YqPFO2$7S4oy<57mrRuY)YD;(r-SE|8(ezqbVOzNZ{G8MQn6(rj6b|+ z2Pb8-ti3cn}iuk9Rp6)*iIK;8KKB!NkHe3VVA7 zhIV4NlnmiSZ1Nhg+*=U0+2Cf>&SE0su@4Nzo>&62eUqaJsKT6A_qQw}VU)fxNlTvY zP1)SsBHl`TYEj&28I7hGHEM^YeN5;gZW@7cl6$B+rEp?u*h(0sT;c$g4)qiDG==?E zFekPMeoD7%grstjn&E&Yr#RJeEy{~Ke~H8<+_3DL*2BM{z%#rq75Z8=P3dd6G-qat z7=D&7b`!)rGX!BS)`NU;sEf8UxAC1!1UxrHOCgTeq7IwF1UaiJUlZKq&8f_5U(`=RvdKXlP@LErY-xDR`O6$ghn!`#pjt~^;PbCut#DlD0PpQXNMFSVUS zPrZRf!{Om{OqNaJt&%&c*y!;{c9u$tc$<(eGJ@pia0b^IGl(5xdZK=c6Ov9zJa|PEz+ULPxLe|^lIkYc zu3#yc64VVNMXN%vfKj*L4DxiriCwqA71IN}t>E;sRciIOp`aN$=I@t^F^c)w%uXXe z)S=O};v9f=IzcJ^0VT6#*vUs#(Z=G4P-E1!w8VJQO@(-M6i zIfQ)y;X~)lwn|?}wX}<)t)2aiEBvFo=euGB@Riw4DjqU{_D@AJF&@&WEJ+QUUq+&= zu`Afb@08-40@7p!?vh1aZUYQpp81`PXu~wl)b*ucn^jxNhq8AJo!cX+-kR9rRmGZ# zu`rU$#N-FC2CDxZ0jk9Dow-Ckxl23u)e9p<-8c_cMX(MeRnop09IP`-$Ty11;&Ubl zZ+wJ@ondl4C`a!3r$%z3?IxRlX1QMq{_7T_vBWxGlJA2{KwYg_5&~cSrZhATQ>Je! zGFFRXoB1PFxU+)}(YYuQF(k!I052tpFnP$u5HSA4d{)@yL{2B$OJnNOfTI)Dbh`TD z9P_6~DIbRp!~M~tT!j^%84$~1jH(Jk;^G}nIQYfa2ji>a&kr#WUTxkue#`;3Fm<9h>RYCrq{I;mSAz&#;QKg`DQ!J&TACzETul3mFn6Il1%=h7OC%nD%xU zYR2sXD>`>_641Sa!xNm->56hp+u&(eNPC`5$RpjtUv)0z7(-{bq>jAcgQWMjjrE-q z(`_rcX6@L>DF_KpUw3q3r`|RhIPp578p(AmjFQ2X8MY*Haf~W|f+W^UR;;8T-@x zHpUzpbsjG4KZjH5x#aPx$WhJFU!qUcU`BFB_){nDpe(|3{^=)s6YjF*awT+%FSk9Q zSIXZuu!b0=ciht2kUze{`QR}`+1elbMNkyEtKE`40-8l?PjFR6I{810+&CL=yC^U8 zV2AuDLozAxn(HcV%gJ|9@Bn|*X9bE;3=6{_+5 zJz7JqGA!v{WTx*{=&1#w$rlYwdf#-I7!`cSnInL)q8!3tQBql#5>V$kg`TDkYq+CV z_Fr(Yp!I{l>vI3jtIf{YySNJKtOCG0Bjz6J8N%?uszpF@mR-vpWw(+nA!oQje6m8Y z8Cg=&-z?`Yra&J`Q^`>4C;Lwm!Caot$k(YxV6#S=5VOqb6bu@M8$;d3sR0@)#nCo zS*4}sc~0RN&4s3;O`~?>1k>&?$7q7aqq2^-L*t?2KYg(p{&Gk<^X!b{W(V<}clW3F zH8G6e!kV|b##()KfGu`vO{F@x3y@o?)%_A3-Fk&;0G})zJ_wA4u`(1`8h$krtn3S@ z0nkle8CY4@ull1z!N)t)E^9Vm)2(;`BZ*2&f!+%)@v8wT%4TS1*3g1)Pup2z;nG}8 ze+xXhdSdN5U^Xwx_q0@^56FEbVh6B3#y}>$e!%>KeSh4hrWfSV1*@I)AK(GJ4x4|e z?z<8$UjeU%SUbZ$_(a=OTX&%ni3h3sP!jt=rqs0A53MT%t=XXv$Gnew?vVlU=%y=A5rGL9f$`19xCoc!3tQuDGepU&oQ4Q$DwL@?y>(t-7T6g z&_6|y7dlt7qk1oQIwu@pvPMkvOomku)S?<-Pv&y(j_QG(yfvpOj`_!_3DZQ0pvQExvl+hh33sJPDA&Y8_HO(VtZAxt&^c6eVu0dq zmD1WcJtGATNz3!B=85};Fd0&O%c$bEzxJc%bLmPM6vifHQoB{r-ko2*3Mi+m4NR6^ zyFZX0oqOIYwd$ba%;uyZlnsw_r>T70RteR)?tBVmYY*pR+(QI3`USSlySe7H3H(3A zzx_ON>*A&8g5EwMT4UGhf$mWAXubI_S^TToGB09vzX)FOF!O=gm0;?p z%0fJ~7b|p|92e4}z*v>+#x}rD`|CHxQi;t<%}T9G)u0X_QAAA>D-3se16}N;=^_OK z(g`#s?`VfDOLOJR#i_kvA=Y;2wQ4HgL9X@U!zXCk@nI5^+yKw|fs0<74REW0h1Yhg z$P@ra>Y5}kD!HK%oE@X`8M#m)NyqM69joxDL`urq_3t*(H`SnNMM}F62qdRE*|oF) zA_j^|ZEW7Ge#Tu;;I|uoB#owl2v5wg#R@#eCt7u>{P4q|X+jYOAH}ZyN19O$G~;BN z^8`Brl|eye3uddyvo03zs_51vw+@F`GOg|$xqPG#t|^&;&(6%n_opk>JfLj4XLsP zAw!!;bjHii9wEXl6;5#?CWUSsP27)T6lUNvOtRVSqus19E4lkTYj~o~5lo&G-(^%; zTb!KHU;8mt;)e0!l|g>xs^m<&7BgkF8(0cA^}~#n!CuqrCU!UZz2&&g?>)z)XJT^G zg&#b|;be>WhWt{kTJ5V+!qot)uYqq&e;hnd+o2J0ejyB7=*H17um~DqtZW)UnFiF= zi0Xbu&d-+?udMrvT{J#jPq6~Pz8V3jd=0&R=0_Gyv@E(;t$wcx;CLkj=t>vh_i7@z z(eHbYQC(o3!}Bk*dZ~cU*B-eVV*%{c56`g9B-^mL^EC_7pxdm}m<+FhZh+Pic!N5C zM5})B{4iYF19Gncxz~{6K)Q8H7oJcCApX8}4X5od3T9`AsWc)>B`QjDEHI!PZ-6Gc zJEM{kjcMiUu|{TFgAR^`k*2S#d`1)q^Ps{ZZwc-+5ENXsW)*EW`Wd$XvV($I>H%(o zLUmQZ=dPtma4qh8FYq(TE7SHA*Wn8Kx$Xf$q)HeTRZx29yA3UX=*Jadu0*lh{t<#} zcR=?Xb;Ac1K18#ho-7LH0@znZ#5Jo6B<>NVJ#v#zn~Cp{<8 z#Z9^ro9Jg*Pt4O%lra5^hoqhlEsaw`L<>5t3BYvTt# z*M(5|ooUzU_LmKYX7K{CexP9b87uq-K+J~*ahhdJD0p=ZaUOuPK8ii`kHGnG9h{++ zr>TVCqzg8y$Ae_4hk9hivy9PcqNP1sr$ue)6a6b0UdqU0-s;&~vSjz-H0Fn% zXHa&CHx<8bjS1EgI*?%<6q5R4dhZU6Pwwvc zNxXB&CHm_y`1`96LJgt(Hx-~0NE}}nkl^*xC68uAXMrV z(B|`9G>%-u10(_G9sFQPqrsY9UzF8XdzxDS60T_h$o}3CCezORoP{pP!Uvd}s;~tb zTwk_sKTpzZZ_6?oWOV^w`%wN?1tMdT*KO%BA3PvT7`z@vvyTV)i2$V~64mPF2H}`G z+8?m9dx6ye?1msv2U?9IC9fS(^3t{OX0(wOW3k8cJh zwg-*YlRMy5PYJ-SliHwEt5%Kh^4YLKZk1HyU?3c7qc=uQh!$-%&;t@$cY7n}Q~yPem@$*1|c>2EVJ zsOU72VAkZ#%*y#meQf0?)4p7ie?m@TF^<1Rxu#{xV1(4az#?hK5`QhW9Ol@mbt#Wp zy8G=FiCU;u{hQT`Ffm|64Xpc}|1}d}-GXpODq2UB)&dK_twccGrk!2U8D_v%*X>8` zyP(LOrP$)I?s%e#Wl?1^hzy}J>2SArjTfm7pywYen@n{W5M&2#8`z;C&w`QW)~&~v zh%`w324YD0U}gNhH|qx46~LNrOen5&-_Clx zm=9H2&%2R#iovyWfxc0%6Ct*Ub!sD??#_7V{5~)5D!1icluMC6!rvWr@4uNkrG5q^ zQh|lmVgKL6q_=#j1Rz2hP~!j?dO)xNAV%VUB_dO!*!%wokpzH9tAjl10bPN?b+6JN zzn$}+vxxe@iZKekfsQY0D1cg5%CGm9nOnmkE}qsR<;?5E$g zQ(j8Yn4@wU=emYvx&N8K*uajlX-D0FST&IH2|UFYKAiZMBLTna(S;2DQape?yJhRf zK|b{?Z#NnnSfIf-s@4_wIA8~G;)*BWjIO z#X|-LYA$(r>qm78@?EJf?=svd!uJ89p@up4qQT@|_=?cjL*ji!+6+!6RV07iF@#9RFo!{+C!lb|Y)1v)66Vkqg~0 z29|9T>!tOWGCu>~P;%_iA8u2#0?YqdpNY0$aa?7#6;Qv&y4Hu_j$6RmU90e6;A`ez zD=h#f$Z>#C^@?ye*{a0b-+J&wqb4LC?lj%>%>b28`Z&tsDOC#sf#_ zd%*UG9|iPyl?_$9-pl`Xvwz)1qTRoFGwRSHRnpM>+qik$`tTN}D2hYokKo!2;OZ|` z*>A9UqH*uYFmq_%%DkiJrO#9x?rT50)+ye%i>(~uRMxYdoW1h0)8dcMybf;iD}E$M znBozXb7l-Znk&$MgiiBbt0I+sOefLH&N*KQK9GIC4EvVCyqjwqF&2aWTIfWBslb0X zOl?~1Zn~-^A1!rdl#~Tz$Tx)3aQ{CSd{T}AvE0xTW2Id*gEP;83|uFt4@iYXrPXgC zCp8dqaw0dIxpN=>Mx&^tcy275pKkfh*SF@KMz9V)_Qeum0|rOuNh2`A@C!Bp@V-Y( zf0&`5%K=ZIe2b>8`$|7=uK)eP1v}>WB1~2khshtIw3UX^gMw;Q1X#%ZnfxpXRVzv= zHkA_8Cct}PF{Pq5WRHNpjv7~_?8qW>X%vE(z^7HJpM64_5nGox?GShG6e5Pf9@lZN zyJCZPuq9P+*OSC-vF!o|eu5wJaI6>pM z2S_&qUq=4`O<&94++=x2C9<(zmpk6dYixXVqw7N_{0?Y;db7%ZcWAVo-|bdxqe9l@ zL>r#OeHWmosr$~?s~ZX*YgGX(G2gY=sxrd{fJ)n;S%#(2w6M{-S?NcE&2PNzSkSS7 zSR&0<1)=@F1r~Mv%#SQML141ic@p#c;3_yC12CkGqf&cmk*nViVdW2i2X5f5Z4Q34 zNYUaXh<^ecw*-SxCIwR!FiPu83x=X9fSUulNZ`AxAFg5phU;SQWIc#5QFB~DJg5)k zP6VEC1?mnnaFEAn;UgvI@WR1pfd2VBu$|vO72pg1$pk`|8){?#mP?8IqJU z@ZIKELTvgF*mE5Dp$g(>*V-Uqltnc65-+n5w_xu(wR~um1#&Darvy}&Kx*_0b!;uA7x`$1+g+< zb}lVN$mi0jX5XYzL@$VEu9d6h(j813StD=27mhp}p|I-dtZ9?{S zhL>?7EO9-1vx?5sZ5~CsmQ>|(3x=#U-$ZUqIZ^zMSRNHX=5;z;m|#hqqsuxc=l~`X ztra>DFi>_QNLHF<;)*|#F*ho9zE9)a;qH~`kG8BmOTkU4=gO(oThH9w5)9X>A+;%x zM2`l;jk~+mqEC%{m}ZE5?-{M!X!V-QF-<5SpWb@6cK+4l;-P8V8c*~1-${ieqBG4& z$&RnI{ZA!3IQzSus;g48+3B_I1hwnPJvF|5^%#N3*n6nyV^_YYrEBt9p6lBvvZBAF zZhn#^$>?ooo?V5n>XGrW?3VBebDLFWk zHEm;AH=c6%Eh51cM}Op)r$z3U=cIT7J00)-DANLmNz8!ANWo9r?{FAcdkV^Ix>$Vn z5t)(qlBB>wNesL6r0f-AM&l~RiggC$>dvZU3^Uj@o*&z> zP3#eO7efnu&yBwKH4At$!Yy{1?W|esEdix(Nz=45ve{D+@mCotSC=1QKAa`4VxAXO z!q3Yqc1=w$6^DDzQR}uNLm)XLjfX;Q)~{POv5_G)zAwTKEie_j5d7*2AM1H`)lSKF zF_f+_Pj$r?#Qr8$74tohB_7w+B%MhP$b5IL!nQDrU>!p*gv5F9N8Hz~n7b}}{&aRp z$<7vRZo;j@9=znyNq4v;|4p;Dd`V)n;r+_oJq_jDGNE-0Q3fvWKYDM~54;&IY{gK- z8D**YChp=HECnH{b4VgZEmJF|d()98Buqk+TFpqc=03v!*?mNcePZXsw=xzk93O2C z^t+5ceC8jt@Q6F_taCqUTL=|mIVL~E6U1`HJS0*li>uNSyPHjpfQn#g-Gmousi-&% z2wdwvPAC8enVNH&pPdRL@R}cemgy*NW63K9C7bPIhZuwoCB^Y_YTneleN8R8#k+1% zx^GkZ2^|=BY?YHtFqhBzc+P7U`MMWHmv2WO5td@BHTB^PM9-XQ6*U9cf?kc?9I;2? z0DD{hBO{0O{dSCF$l;%C$B*Awgyx{Bsn0vXwD2xaCel~SmsP6i_}Ye$=NA@E_H22i zy+S|lyU?+GHzJ+_@wA$k9}QP>ES-@yDaC(=KV;KKh$5uiWY-D|;Pmon;{`B-YUZ6R z*X6y~_KQqoKM|J(3?I+nCw6(Er#m#H@epT<5*YlkF+Ov08oJ4S(}lXL&iGQN(-rT{ z6BREIGug5#n#Vc^T45+4Q|^#WX~{YH!&mhSkXE1b;l;Wm(O#%i+E?s*{g1fZJ-pjs zncQ*Qf8{bfAY|eX?fA%!d4%+=?jSG+QV{ZiEcRV-6C9IuEHQW8=W6Kt?{3r|fslHS zzQPo`TU9sn9_+ddTpmPDcH--Xxb*)-pDa@N6LD&H-#r40H9hdU0C{ zv{ex&6dr`KLiaH^s^Y4HkH9t8Z`3U|Q<`!i!ICe&`$7=O6IZ;JsEWgSR@Ji+A=pje zgLHwS74~5GiY518P+g2-juG`vL8}@ zYvT5di6=$*ZO&4;cOtZ^{p|+?LadYEv zvKoo=h{m?;QP<9D2@U^v2+6c%WGC@6PvcTijOllyZwM zE-XV|=FVIitDLT+>+3XXVcc!ZtH$RMcu3ej{4`e{X2S)nt5b zrQza{fuk1I@M9}Z#-x{%ecoGj~!U8fjL5AIwv5Orz;3EjPue)*A$k` zVn2-pGl^Xg#TdL^oLj<9qS?})3pLjitrAHe8EPoG&m% z`<})HK@P5ft@p*AxQ{RmuxpOM`C_9TZ@+BO=Pa-1|vIp<) zLS7J`Ml)MEAx^`tdMUMT=oOBDqWpx`)SQdXODHa82?fs9S+(MTKJiM~Age3bl-%Se z8)9s5XN47CcaLm=na4UyIlnL!^yZEAiN3l$^^EL~rEbU?^W_;#57sKVRuM);Mn;>< zPiBhz)Um4H7Wpi(1bV?rT#L77AB7U&c`gc?d?Jdi^EKar{wPi~{FQV}MXK#KlVMyK zb;v6h=@g&dSi#Qf1;ar|_Ya&hCUx<(bIc8@>{oAZUxwe>ZmO&Dg2mI;z|7P z>O&tloL>p@D1(kz1;cB?<9*2f(wEA6SmCdRq3o!kyD!EzT%OYA;ZPGa3ba_O@XEd# zcVI@*-HMGt88sSkJ;uLsb85q+9~C=a{Un5iIXChN{OBu@;R>z>eBh@Ezs8abrB%dH@w1Wb2V5gD9m8G%KU z1F&mM)iTg1{a9rF-uY1c`}93A#nIQim~Rrhy|@w&S-4RN$FYcpLSZeT1B3VY0HD>7j z!r_3+*}jMiISa8SRB>{(Psx3mw_x7A5%Sl$oeLDWDh(!8wDLNHupZj|w$UIVdFxMe z)E0QE01nU1jih6uaE$xD`?|MAkL+^zQO2zfJasF;E=LySB)kGs(4*-4=CjOC>h5?9 z{hL3NM}A~TCV^p37sLb(74Wq9!fv$D>e7M~1Cp1|L%v!0x^F=SdmapPk>o$Z8A9r9 zRrm7NxOQMEvJj+ek&k90$v?9T*PdeeY)_;L$%ufYECCfdGZi`?K1{!|rN#yJK)Wk4 z<^##8OD^d9mY&CELOv12DrD{)dg`Y!rzBgRHK(cxAE%u7)kiEJAzWo98IO)>`kY`*c>N${}oh6|M5*1Fz-RNEGzTQ_d~8$T5=HFmbAySk_QLC|k} ztnUZXOYodjTsX8fS3xS_ZtNBc#Qc#j>!nz;+IW(2C1Y5v-`>RoEEo1Asp5qgY&0C; zw4P()V1B?YJjW`CHq5WY@l@?xC4%V!UW3d%c@YZSWtD5~^I1JJ91Y&*w$v1?;N)_g zSHRJE>Ac=uodL`)ha-}aYBAf_j!g1H6%Yoa(EJ&%rf55_VJkmb4#``Xk!)OJ9_V1H z_iaR?ZUTzQb?ifvbC0>X&icDPNUXh;PHJa9gg`-2Bxlcn6T#gGKkCz=~tB)r& z4Nr7b?9jyT`v6?9Av2u1(HU$V(>tcp8XqT^Iy-qvrhem3?Vk@~D4iJ*{!JTHq3t_X z-W;6X)Kz15zI*lcPW%Yeh}ATEnYc#HZ$)00jD$84_MA@q2}KdhTN34MxvM3 zO;kSEjLzZNqMl1vd`178^ibHv zBnh(-GLM=DrwFVP&8tC@=(2N#YXZl36(;0X$W~CV#7UVuQ&g^7@gW|>cR>hi_B2Dc z$J=%`W8siNNr8TW=8}p#+EehNkS&fy@TvI+%L|^~imGi%-jO&u_gy+tDaj)jD`tFftY zm=sH&WP;|0DVUUPOI%oUpPq)~5e7y_afm@a1%|89PW!}}^+ORXl5Pt^6$W`=0@F=6 zI%J$=z*bgAn?QI7LV%TLvgmj}rioX|Cz`4lpC9$4D`IaReWJiR49ha8{u#!eT?};eCY_lSRC-ZYPp9n4RmF zmabA9bEYoA<9)&;LuKJ;9nWXX|0u zDlWtY`lR8)(2<_c$M2>Fnfe-Rx}JCRUa}9fOYX9}sozSEmnD^M#m-~MT^dXP?|#lk zOcbZfgS=oGRb?@7@5^1Ft|0hCxo0+BKkuQ5t*^79Q=liR*-Axt%b_Q+$N3W%%u0(7nvYzWKiE4 zKHPFO?{!RRr23X1_!G=7JUGxbo|m3zqt3ZwoJrVo+}DJ0^v7hTt23Sa4a61+bgv0f0eKWPyntb)s?&Rv0vFv*u`BHl zmT^%hNZXIb%D<$GY=^D5DtAN7mpS5B=5;o{XgI5|1h3^MKr9;v*tRaS+oDP;OG5T> zhY|S&yWPZf*b-KEP;8vB@!TZ)1KF_4t`c?Y-o^bEIWhURClV9zA(`l6wp6s>zmjh zMps9{!aePNl!2-0wN4QXiEJhvJW7W6RQhqj+u1WkD}CQ3U%YVmyxHoDK*GJiT+x>g znZzp|VToV2s0}1Yk21*A-5rlcV_`9*3!;wOtmuKzv7%v?d6{H%)wOL{cw1)>1+rl; zv}oTvbZxq@yloTl@pxsu^n9K<)HT>>x8b0+!bStHikEYR4YnT5LJN2oR{!MI6@(Zr z^WJl|KH0BRM3`)b_@wJ&<>=PgO;0}r4^pGM6a-J*AHl}%bT5AyPGS+ih5o4;VgCM2 zg^$2%n6mTMSCC(4=fRp?RSF{Tc<88O!{xH} zkGdNkM2~rGlZLyaZu{@ntvn0s^Z9nl@oS2FT9diw@^$;$ur@!-F}l5X?pJ5`Rc@(o zToAvz)XO!k>=QTuudZAVKW=yu|1_`JP^5|ZE5bU<6pA@L`Y9fHf`n24GXQVtOMMs* zF$%Ds&xpfQp1q<%nvi*OvD+)l)oFOT2TNS`9L*Qc&%BrYCclJh==t?6;=vEks{cRs z-aD+RZ(9^yfzWH{AiekAL3&j>s5I$Sr7FE7bdWA6Aibl4pn@PZbX2+^ibw*eNJl_g zLe|SZ`~2?N=k5J|Z}0ux_wN1U&MzNxvR0CnIp!E+jxpvack8t*24F=)&aFjcV@f|t zi46DJ;(}l8FIxxCf+x_hI;!j^4p&6LO8E3;f+Euxj@JjX{D6`=QmZP&t4?)NW2~icBwI= zdICmMl1iy@%W|^Bx4Ou<35JUZ?=S#5bBQlk)8%cQdaxXLN;AmrV$_>zCk*MbZBE;vYz!1u8T zE@30#_&&Qr?`H<-5oUdE$>)IaV#ib0pXAbP{){Y&{(IISjm-A+bu(onMJ9oc{?~tysE7fJEbhnDYZ4Ttk zm=fAwkD4$?r0?MtL2AibDU{<7+0Kd`Vk4|3ZZy$7hyUsX?coXPM*!Q2C3~MkJ{RTX zEGs1|Sdu@@qt)=-_bgLAM;QPV(%K8Kzc+IIIii0G|d{H3oE7cqe*J>P%)s4|A5j}ir@-XX8Mv&gx4 zj{vIt!Za)Nk$NbpP{Ic;EF@&%1}`?3s^q@F!Q(>t#I^ZT>h=C);=-9i5}y@WCpDw~ z+N5xk6H$;{^#6L=Y)}cq~;7{rA z=~cA>UzRp`&hvdIXdur}*Cx~P4}SD-^yTW?xaMJ(FoU+^a_|tVc)&d{_)?-hVRig7 z8G)?Tb*34*oDT(P`u0m`?#l24(bz6~<`i3pHB$uM zE4w^mGKHE2Mp<)NUVqb+sN*{7YucIoviJM#AMNP!{2J;paH*^u8ldAxQ_JMyWJ&F} zCF$bvZQnL?uk>P0=jL_jOV_Z-YH9!H{5e}q1rakXr15`8PqU+$-duMVcG0{X6sm5~pXZ^c%XhUD&SK;2xt6y-=n1y{y*8p&EX^dr9DjkN! z^kCpp;11Y)IBiYvX}0xJo|=|Hs_*A_gnY3R8)j@aKL-w-FFuDSV0B6Mo|0=F7~2+# zed;Xg7@w0(e-+KSy<&1mD(D-K=c>wDDu zuAO^$^Bi~;N$@1fhn?<@H5_aedt-QSR}dBeE~I$Qk0dRCh93vJ3F1%lCvw&G9TBfS zrk=O)mc%~@0uHp4L}KiH4e5CJE_qK2 zlcjN0Jsh|HJ-v&xK%#jUGT{o}e>p02u$eSF6Vk+d1rN9^mxLBbsLySpyF`p!A%`1n z{*4%ItDKt+t<#M`TD08b$xyon)ntKy7o2YbKWDP&upQ3-{Ce3>{Mz~A3@_dg@nf(> z!7H1M-H=pJ-7gSGl^C+-(sPF0K%Ax@*>hqNxIUJ7zR|Cr)}SK)qnI&zA7}YGw?G55N7wu~ZwTZrK z%3d_|Jan63*co3cnd4Jf{P>8~!+cq)UStk2ZFbqKYpUFYGG8~%!wKS-^kt6pTdzNa zSo)ZAfi+9<4431;EmAGpPy*ahqKP{<1Kw+%DqOc3TIBorW8dOU$|&xi@`2l@5uw0{ z$X+3|wvfl#QcXujEpYo9jxoWJ5L_P^?2QaH`eF`Xr%9{pRH-ZB7f2qSx74sF^$2sL z#deXdz}aB*i`j?FINB}he$LMp6cz+aI*SQUPc|O&U3MyBHG#OS`tRM+GUX)Tz}T_h zqlnk|Ic^_i7r4r9SRw}=lO?Jl^dn0n=Ae~5>a}G2Ji6FZW*6Cv`{0p z2(2o)<4OB)y>X&}vDK{~GpI*PZi^1;OP#tlrMN#>R7`lbn#*XC;w(+B#wu1DZ1nrr z1k397Sdy3#T-L$xWr_3gbB>e{;OI#Rh^2|A-XEeMPk)dSHboGCX4x)Gb^?FDN4XH( z`Ei%O5RfD({s7___ICm3_MH?lT9z-(2!gs`gBu#hk``<_Irp!tn4{*up936<1mq_3 zVWjB|Rj&P>bn&L+Aw2uw)-ea#Ja?jzAq8}?9rp~bO4e@w0v#h}P1mE#EZ(Qfm@y2$ zOohXtxXazZqhnU|6%(qF;+pT*8oG8W#VD~qPQHMJfuy0pwu_=;C@@CV3p_>)dkkF_ z^gytsWvb9l$v(+}MX*~tG;0Di*B!16zv#o@)*vN6F7^v|FyIPD;5H!L{qS`j39>e6 zx0cQ^J|5l{1yDT@OO#`9+3%x(O`0`dAZ$`{#Gl*bvs7w)dFWzvfQubMf~UkTgME)1 zA#NWSm^)+Vt_%NG*xn9U1bzWVq;^%`D9TzFO&1)PcEur~G@I@Al8;C@5g=BYm}8%q zW>8@(C|sZZ79>XqWq)vpL$bhSnJ`2lo$~3BmG&qvw})L&ep(O*Z`lSsAM4r-NcZbSfUkgYHjG0f~+| z_Ss3E10TnAA>9GpnFC7KTI^HI|2n_A`Fm|JmBwdgMAZqTDe{}& z2$n&C-(N?>@}<2`6gfqKxa?I}BsP*YX@U3`ZR<_<*TP)jFXgaVgvX^Frox3&JCcs; z##Rc5?$@L?^An^s;P%N*TB&pU{oS-+-+zDVo_nzrVvr{w?&gft8BH3~I@5z1PW6j4xT z)dBqBO-9hr3{cGKcaZwHgTJ zX<%d&VZCH_%B3o}R1ol`GFlQ1ye}hCIJ&M2-&eM&BXQEh%gom3G-o#T%8sV z>Q|P5<|%_4<1Kp`O7j?hdCAJ3l&iE|2!h~9NW^oFk04e(ML5<~yMp(TOMG2bNFrZX zF>{dEB{b<4?ZhqjTC?}zzABM~93pTuAs)vdPh}Q_7e}R~!Z1E#N>`t>qz91R$|zeF zfAbLRexM=u%sC7m(@}+jXPbj7&MEk0urs-A)RoA@@|V6O7UrHTcXT#?f0VU)sq@_L z3FOZDh@Jr;K=7%7vPy71wH5Wf-=AH_F2uDXi1fiGxU%#KU)WcVdB`%mO1$;k^-jWp zUQ4pQvjtxz&UU;+QK5;W-QNZ@y;3=eYgJqoiAG8CuL-*!_Md8vZ_06C8EjaB)9PQc zh~N7aGX*-)?g1o=9t6T5D=|KyZGGBT3bI!s*NGiz%i5}4hPY6WY}y);r`2b2DE*oE z>kIk!DCG-ofPqMsusC7-9DjL|qqfP6_9vVCN-yGsCm5PZOf{DYtXyu%e-#pKau@`` zhA3zWPmLws$~dtX2g~4K)Zmj%!aGoyY~Ueho)>b|yY_N|-2e$_Q2>EFMs2(4J(0z! ztV6{%eSJ$rdO=9e4k>bN@O;%bguMJ@9&!FYx$Iso*fXMPS@p;uL-l?&E_}67tp_>m zF(^5OItO{MdTn%l&*;p+)H+aw?*qV_Yyc8aVapdwt(kf$MCQsDDcy%rpM{wZwA z?Cm9Aw45~Q+E*J_o0t~nm)`72w9k)&bIhGb9AU#>k}*akxz6CTaUG5$?feu0H|uOf zJvuM@D0L4(C^`D#W+C5+s8zh7iV6yB6t5-G=QljNxlQ$4)rx)FU7t6BG#lKM-j@Cg ze{--t6>u#t!^?o23=JZWxNtOs??>unCQFKO755?TuLquqEZDAyQN=dg^ku?9z{6jz z%hCsLTf)$g#YqmHpRBr}giTrOdS1`VBT>}vpC#jQ=r_VPES|}Q$N0WBtxzP?PoaZJ zLi2JC?8t_V z0n?kf)^JjC(~mCC%0WU&51G}CA@KrSdqpe+Jd@R>MnmSXK1nK+Q2GicIh~KqUtfZl zY9{vAuCf_d`j9m?l5HF@%fFHZ=&9B3@GrfGV9IeFuFC+kAtFU^OAe|Eo>HvY{gk-h z_X&_`qhN?|FUAxGbC-VzhS>)MCT%seg^u0$OFTg|lF*3s?Pc(HKo(gnr7H|Hl2qi_ zC@d+f-U$KEu&Wj@NkLm8dT_~L1>--i(0mN5MgqWlA(aTH@Wy+cCzp_le?VNTyvGO`4$pmE66s(oEZ|r`CU(BRaJ4hE92sp3NhyQx@ zi0cRu=K4v5k)p}dIV>@iKuc$WS>%JMN!a|=d$t7J_u8G%`cjc3&|-!uaEE+%Emtiq z(E&WS9QnyJ^m23Xwr#^rIA)bn4Jj;@YoL*8s(-shz1q@v?;N>g7uF*1SsjZC&;r5z zar|<#js2LWjw7W*E88?h$Gk1?9>3zr64U{)_T!>A04U;OZ$dIDo@av%Tdt@S@rfMT z7fc{HPR=L_+}t8fnnE4A^!R)bQwoWu#7pVdOJ3##Tr|y7Je7dpQ>`g-pu2VQ>z-yB zqM{)wzl!Hu+8!TQuoA@lZo5?e7paVUhjDQn=a7|NN48Cs4q{ot;%&H;Fx9&tB45G4 zIDqLh>bzfslXd>-XB5gGfiwG;nmGujr~?^*S!|sy`yS)~U<)A^{TTutdE4UHr`@(R z34F6bYw2v#j?4E5e-aBWRppf(erB{$4fAElkn_Eca`Iy(v+!1a#hA4$7_9M;p-5+R zm$C-FM=5g2I%TvJcID0jy6|pF0JtF+OU7onr+IGA%>}|+Y_Hi#-@*h_(S>@y(RdQd znu-9pDYrEdWE&8s7Lrs*GQY>cO~qU<$g_U-(Du-C%^bJaOqQcW!%s@UC2n%963~TT z3l26857d$Vo|^E1SOMC@4zx=B=(cOL$rW9xPVa|2X=1U|J_K|(GWQqH?+MO7pa}+1 z7vF@GXH9cn-yqzshsw0=6A(6x1;11N{>%|O#~$X0oZZXD_TjiV^{S@Cr^16~{j=e0 zBDAuvSgqPY;6dBhp#8Th;@DJKhNpo)B(kG^JyKPt|7<|t4ZK=R#jy?4O zOu=K?oc#9o`$I`qi!DvGUu4$zFrTSpN8LF}+P{vhE3^Uxgm2q{c$3=!8iN$HYe%(0 zj+akNB#MLCMXK4P;-k^3wOo=diP5{&pDLTsDLeAS@YB5{X*n|6i;F!1A*CzVVLqki z7o|RNi;3Ca8eOP;s1JPdk*pJ0T4|=vA9s+`D{_=yL4CDXrGkwb-D&R5@%jqbU+L-1 zr}$FqFRuz}u`~9dD59$B&yFO%lbG?%e_}~yILRqlGgj1@znLrC{>ZzVmCCvxk54?1 zfUwffQ2$0-xetBWD}{3T$8z9l4BWUN@b2CZh6sP*83)rhKLuVuPqUoB4I?$pJMo%b z;#+L&iWX1akQ&Y}?0=YP1Gna4S1&|0oJn>C%0`$8aVYTp7?&1nAR!IH=0zjd-kXs~ z5JZQ`S=jk;yaaJ*!1jP&52+}J;0&gKWO8fr12gAyWoP;$nI;XJMIaK`$txQ1c0SwMnpU$&Ifsw0irpAd5xENb`nWgU5Q1IAoa;yo#N=LPCCU-ZtM)raaJMFrj`q6VDVzuEy^b}#L@u(w<^t(K$D}`46OTEPFQ)h=01qi zV-?l{U={)lq%o>#ZqlqhIh*MRf+$Adk`A|;BiLk2ry^tVp=WRY6_1U2S~Y#>%t+@zdbeD(~O)O-jR6g%xd)A;jInXj9va5 zm#oFItgW`)1M8h}vHyNPbc4QSP~aT}s$#I45N}&_d;4IYq;tLUYG>$s@aU*cRVJrr zr8bLkIwXihdBfA*H~s#e0{M%{FtUt}`x)Ea!=A!t)`#iMzD)a*eAD>7=D0s;ss5*O zdK2?E*_zgb{_KGGX&6wlg!l31I$rqFX10wC_0u@vLHgnoi_ss6j> zMrhf|%lQ&5POE4=00SPlNu~;=XyO1q5bWT075`yr+047l|MY3w%_9l50SPT= z&u!d~kS3aYU-h5j<3LGGuduapT*Es*v}q@CJ#1ZPO2~BDyc?|m$D3)lA-yidsg*>Y zTnqcAkdj9^)6RWeh(9)?>Hh3)Z>)rwnv|W}Qmm)Ydc8yTsJ21D7D-k+65tkT0p!LX zu?xu%9R-eh*!ywk%!6BZN>nbNE??YHeo2*TeS})R75sDA#0mU)iowL>-7-p*fYX+B zIv;-e#`ap|gWoB8yUB)J@UBO(W|S&Xy!$BFzfVTghegs0dyLP%pvd!7CaF;6s#jw%GgBRh*F)C-x6Va?-rKG85obWKw zSR!{}^9l646ZwH07Cm~gMV;(*94R2Xv6AB1@`c?O1@5RD5Azu%Ug?u|2@|~~ld0&` zG?(&A5R%p`zP;H`qI=ddkB3;Ee2@KS&4U5n|B#?@U-2sXoR#oUYJGW>ZH2$RhR`C2+x?&+P zE_v@zn4-V?-iD|O=c<0@s%AiDgTEA=h*uF(=sH5s(q{Q&S6 zvY(zwh_e~~*pPetcEz>BkHv41YYgTOK-+8_nYE*L(+)VmK1<;^Wxc{V_(`ZY&u#Dc zAc94wiQI!#{i|ZQTydt|jpik$%|IQ=4^LjDD|7Bqx{tR^5v96w=_?_Gz*Q19?b|Qs z%FA6p2{p6n?(MEA%hH(aiVr_8{Ic%}n|BBR-{&T&Bbcy_nnilfr(Djxb$6?{!}dow zs5LFzDg5DF;JzCtM5UkpGWA@_ZPX6IuV%hX-)15VAK1?VAA@wVcjh#saIICCU85+j_GSQUE;uJ4|n zwP?`H{{D1o?Ol$yF0T*Yy4NZ3HHskop6BM8-R()-%m9DQC%b~l6T~Z7S$TPr!#>9# z7Ao?7@k%MIy$J#HQFw)N@$bvHN1U3E<(5G#(vi^_TwzdR+uA72Rx^3gzA||~&0IO( zMF#W3OwMwm+0+XlYk`(;9og&Mg%O}L8ev40Em(!7kDhPPr1W35A%%3@`9mX`i>fLl$7&y(OwB^U0z zgq2!}Z)HalWYHdL@cfP!WylVVUTMj8WQgr5ZTv-+=`?lR+#tK|A(EGuRY+9dwU$vi zGgqwQ5p(>#V(8+uw)1T_&8fSnT-vl|?VwX7*f-vv-lrJAg~6o~^no*xELH-{BvDsA zSEX4lx=0usko_5c8SaPa zuqlo8Ux}JWl;W6vTpSH(clCQpngXzFVaW77C#mPmVD(Z~p=N;$!YEMItpetmbvDTu zw?cJA|N28;6Afn944C7>-tBXB-yFw{1}3LmVdDAkoT4)KNFEnxej@@gi84}o*n|ei zgr1V`f?!DJi)UmMr+2NwY0?9(z+fm=(>hyTMk7ln&pN4Asm;!C-NY;HU`i1Qjd|i8 z_tOp!_OKg036?1#@Iw$w`wehaI2LVfo)&%#c{s+y_No^PxqmLGr5NZsi<1}&Pl!Qb5_gv$wCDyJopLF4f?19Ui#FFCQ`i)TPeyc(u2SC@e!~g*Qs5Wn`9w_U+(lRTa>69{ouA zY#DnDg+L!GobASHp6(KD!xZgG$#IMEd2iZmv`I0$-5-F>9v*}8o<~!54SH%5ZE`8gr8cm1+$2sVml%aPxU z9z626G|A8OWzxCtJ8{+)Jl-=4wUIX(f|o=xi;M+hVSz3yDvKmTR3t{Xxgz zpK$&|)Ruu{%0-gqg&!nU8W>MpXET1u^mJ=BM^&7)z8;AWAFJm`3gY^v+Jiyn+9fPZ z{@l9$)XC&v76|aOwTj4Di|+1|`D-Yb#$S*J3d2>Jmo^lFX9`bq9XLCN& zOCRX0{ck@(EnjZtMjVX*VB;W7b%WNu=hg8;^svXU98+I3rEMPj%Odf*XbTQfKktPf zVqot3Yz+ywpRsc(V1Ex1$XKY*S5Wg0if`Cj$gyU+cTtOOlpOEhRQeKYK>mUK2NQNP zpYR^x#19IdMzW`75j4xLunJalNdEN?efz?2{h4nJexn+BO6&Iz%T-=EmrFspK)?O3 z<_WHN{f)7Nb!c(K5Cn;#Kd0qHbLdr`?P2~yFIcVC^2;la)AnM;=zQqrodd3Z>_fYs zOWIejctZF1mw20_4pD%>oIe&TvIK$*BPIe^{$j~?*h+SgV-1X1&01Q%zOTZney>%G zyz$7J^!eR~pST@Tg%26D+)#{9SCvOU+4-xWINn?(jM$fh_no=L9n5<8W#!n+1u9yG zoG*w0A#2Vbok1sZI+Zno9Sw&UsoF*+Agw9s>=SmU7t;{rN4)TRi1P;s^?1am%wS$F zm#~8z&rolE5q~TAF&xW+Ws*ip>LEVge%0j^bpSi;oS(xGumIpGv^i1Rzxwx7R0a~F z5s@Haefi`rYI`D)${RV+<+UQq3#kq&i*z_e@+*@T?d-#zP^qRpc^=qELwd_fw6&{h z>pfZgtoI~8twZD%?{mDYH1obfM^dfvqCo&XH4W+-NX&m>Dmv;xw37*P>FxqQ>4bG-uE7lrcLCu!JUEYsnl5@xZ)Z3e2fDC&A? zEiuGUTR?k(Dn!pxWPco|8yqkqT|2tnONFUcECHSLFh2n8g)>zaCjjn`(eZQ>@OM} zndKGZ#~j-_%kjCwS8;0=`BLUwI;S#okWWll8gQNHWvYsC@z#&?I#lob%LbC{2HVt#`)PE-^-38)UQK3^M7j zzQ~OJ`o7~AazBrI?HH=(?R>hdGcDQ64Xvx&2iO`Q?bjY}%;Z+%Rdk|=gz@fcv)SFx zv$PDVM$3(DWof5rWHFA3U%pWUpI&_OZh+KWXX%LTI|m_iG`o`@$jUjRh6|PB84bfw z*ZF$jpzPD-{`xjK5PV6<+N^c|R_LNj*r!X+JDQ#0r)K2T9x^VFi2{`qXWe97zRD> zefa6HHA6;2ZG+`OCFVf_$JwhK(ayblqq&IbCLM=9@SyinTG%z8J+S}$5ne0~r53X^ zp(V61meofJ3l)f5=x#Hx(f-;$+K01)Hs#=7B2fRW20Q=HlK{T%lD}_;8!G>En~gRpl-&tl>4aW7Glhhw0;QVWM{h*D$WI50-_2pXX zPw)0IUW%8&Wg{V%EAEVSL#4PPy}YgGk5#-@9aKQD_v5@^b@mB*Bor^OWWV)E-=wQjF)>E$^{F44LV`6uPo%iY^6$;R-b1t}=8LR6NP!1|k z9cv?sR1c(xpcqtG)THM64Nx@}4(eo{OjVr?`tJ_3`xOBf0X{BHlw zr_y8;4k~>c)X1Y0pxxGJipcBNn+*4*dFCMFSv;l)ztC*i?ZNb1oOk;fhTYVka=!bY zEA>BM|Bnu1_>TU5IsWU4VZ^__E}C2T5L?2BWUFdccRs$m@aThPY3hoFVoZr%C1&9qoK~0Y)%pB-qS&u3lason_9qo?ugZwXXqb(@ z9{%NsV91S%^h={Y;?+EDqMQ`?+rnzn>S*IF(h8FT?#~fLWgz$^!|9sAL%t$}^pB9r zQ?UjeYr07D%T7dcZoGxaZS~(#*TXz5bUP_})t)V+*U;|vX#O?wJN4pEkor%-XZ8>A z`M&`8|2q0J)K|`){gb3AK^%X?PX22>SR6f@yUckTU{fA)joExZphzux19XTqW61-I zAPnRHfop|HxUR#`P?#_xNhPkTkF{_c;kVNXuWvymJN2u6RugLZg-&Blq{u1foAy&O z?QMVi3S!^>zY3P+N8n3pPyhV34u%NnqgtApUM4@Uhl_5QDeq9u6!7>G`YY9}t)jK& zBay`HS-Z{$hCUD6hn|q%klwtZ@C0L5TJF02*LC_|uo$nR7hI=kMU&q|VF?s&b2N7+ zdAO2MRlU5UQ+k3d>llr?!y|tkH*pA3&Az#dG9RhMuEVMMAi^vWl9x;`j^z>8o6uQ* zCG0;XWLT2ef`$T@V7h0|F2kbMopEypAXRUvfhMx@wdHszyCgq z5+#@_&rr*81F1yq{DSoLWd9Sm7Es|lCN@rge;r&j;O9E`)^_OPmcc-r2iXGckoJZj&sZj>Th0C%b301 z-~R-={>N|mXPEdKIQaH`>`5SDo(%2g{8|@+D`UV@%@7HEolh-j7SX0wT3Jybxpn8v zGrGI^(T(?;&z?3{zx9BV%OXMbJtT2@n7HFkpGeae zgxz)z{o32t|2$v(@9+F)xMW}z;x1zAXxJ-E!29l*-O|I-sewX3Fwc*_*jE!oLo#BZ zcLGIC9;G1(=9>_5d)@y5kGl2mCzCxj@Z+cd z{dfG2|IGKnZ4qu?BHUU_XCa9CgS7wE{-0q5joZ}xAZibOQF&BM9-W=y7%V*?P`!is zo<2~>6w|;se}6|hWipwb<-?bAl3NPT@wRhtNi@g6((7(76{OJ|@K2H3>(bAWYM3$E zTQ+j^JE|Sv&w|M+m~p*utjj}_$Ru+ao9U{~dt-8n6TxF5CY z2xx4Z7$0MNF0%MY?5bugz@v{ImbD=$S;uU*GezH67>d>b#Gz>tyVZW=`OJVVh< zRpAzK7nMz|hjX;%h^ARDa1WqNgjHtT4(7V$a?VW`VN!i}!l-RbK;13?}LPoidL{uQ1$vT_vad+fBo<5lIuoqY00o9Xl$V#NM!um7nwY zEFX{>FB{TL@F0N9u9txl`C!MW$p0fbw_8v%Kau|-rbC3kB1oR^Gf%T?EqBsRHO$d- zfWmrdieFZ&WPDeJq@gki`djTSCz7naLm7}(BfL^^CVCYH{pGq3SdkW!R|h$7>FiN! zZx;5AJS_AeTfDvWy$?xhbC4y*fd#}Z4_KpNI=qAI9*tj{WC1AaRyVB8_KInL((dZ} zTAu;B$6R3KV3k+BPO*LZ)2ntc29FOFar{;te!1DHJhm@G44Gh-jNmze=cLTXn5=+s z7Zbl2;}L?S+zq4$PoaS6W8=ijIAa2_pK|XGVz`)I-b~{7@kNI_&6oAvlimOYTOgiZ zJ->k47ZsD^%JC~HTVUO~lN zmuPuHpmejm*t3{>WgG?;%P+U?@rk0+NokJWP4h9Eo<|kYSgEO^0Obh1T3`7|{vD}L z=<;AEaXHpadv%dA6Awd~(&=C`OU=B56<&|iS?>EAqtYxoF1%39i3fQJ9mc&demNg8 zwW0wL1}^1(X9IlBK@+YgWdJ6C=+@(HjwG%__qZzp`|)(-?XBdL*Isi^UOvB=)FldE)Ju}`;zWv%B2<3**rm4>u zN%~LglaWwbGt}+)$X8Rs!*#NACe$uQ6BEi5$vkGi-hf|>u`ewV)r5aPF~`kv2-_4H zq2Gy7ooYl778fJhmQ`+k09#Y8FbY~J%ibT1l@Nr42xSabTtO$pe){Mo7RJ$sBJ5Zm zgikUlSsYn~s1TL$P8Wcnbkyws%&u_F5;XA%aNB}-JjHOdYIKT=>yS(!z zlZJfwwf0UO2W-yz$lnbvS^@<2D+KDI2u#hmw+G*!5u77M1AY>-8F?G0I24Kn?iXQz zC)YH)$C7PS^oAM|W-XLu&QIfoL3wL3fpWJdADV#Jc)@CDWK!a2VE!16Ef5lv`h%?Q zQ4mpaD?t}IHry;d=iD!7M|ya!PCCX?&o`v)O=^qYD7^`IOeom3`(;LOUSAOM%Phme zftY{Lv4ZG{trfWFq3oXhz}4`PKIVf5uku!zhB!yGV#5M0o zhdlpjhlCK0Xu1f^HYdIah41Uvo6p7v369u z{ipKe1HJBz6~MpW}HgJTbo@-x$Z*J@B{8#St>Lg^)x4stcFz5=nFnF7nk8* z&kB6a!8O-q4g}F}AdtJ$7fqL&X^}h`T$s6eCvo8UDLxIG@~_k-pI4#d9J(G!Vcsga=PzNe7(aQ15>M+PH}4v)==59wth427_nQ~?LG z&FOR}xVAwJn&uS7KR->*|9JL5rjbW3-A5lAt!;^|yrt8mF+hd&M@N|5JPUpXC|_pw zZB`Nk!n_Sq&^M6~fSE`(Z|s$?<`{@2y_1-Xe`GM77O89SK7lgu&}LY;P6A5#?J@D( zs{Q9Q$G*6p5^&_c?h?QPvE^hHFb@296@ID(*nb9ud3k^6*oEKIe*_pB2v8<2h}%)Z ze{=Y#T|A@Ozn_@bJyA+2YCE8|u~KEKQw2|>_+*BGFss03tXTpe>9b<24&BP6o<@`-3UxaGQh zgkKviBg6q8n)xLqU$69wn(i;ZS@Ef<9KNqSx0GZ{$D60usP_Sru_5$*v%5N`KACi~ z>KQv=-w6u<)_I8T5gk0;VocLXU6mcct*`uAvz5)3$78Pkp>-a=DBSADO0|~<~=3*%`DTL$M?Hdd0v1AYqbLUlB!nV@6Ex! zM-^UFN+gd&_;26kr6GMJ;I-qDKwHFHR5fOt7mCo3=jGbwyW+5LRV5JXGXt(ArNDi( z@ls8haU$Jj8ENpwI=jL;KJyq55-+3e&Rpx7^m2t+vif8CGjMOnHY^T!4P$#rm|Jap z@@5RUk_2%s`os=j&WGd#1-vLgt+AmH*G-tBqlwC-MavJ+WD`N_IPCb_FJL;7PSckQ zbDXyXKgAaUl-@fMRV(*?sF$YK`Q=w00OMjbW1@9=7ELxu+M0IMTRu^d&M!~3@U5{H zU#rAp1;i3h+zZucRUdo}pj4u!K-y!9aI%>+cV-z+pAw8cmKm>uY;55F{9EmxQAnPb zpTd92(4Yxkq)jEein(?<`j&rDp}Pd0(sS##tk`&7Vh*9EDg9Cj09v<$*I?K7YX%L> zsw^V42HZFxaLYJ##fc-wcZ3StK6KIo+G z{xXD$F+eE1tfy|dM6V)Zn;p~l`i~n#JpH<`B)%ynM6X6Y)I#Ap5!Sd~){171A%;xc zjU^c^Jqclm=f5ugu0cxV<0B zyrt_q5&!V9p#N*K28cV3i2pMxDxP1C_o;B}CvzX-eBRbWqwSE_xaqWBQ%5_;QS2`= zNiE=@*fx*O^RoVuMcEZvfyKd?E<$oyzFG|jHBFLv=ctQloIpJv)#0M1A65mT1VTYR zS+e|fE6SucYtPoVIpqPzz`_-XfSo{UfDPK!=dpZgY* z!7HcA2nPvpq`DNRMpUnt@@BdE=H{NT-Xkm;Fzu>4O_gKrV)-td{Ub_ZIJ-b+CHv9U24xwhJdP{BXsH6D zikD+xIY8iUN(y+A@uWwm#ipO`EXW^ovC2KZX+`@yC{4GM`!%1ZbdwS9r1}AR}A?+6l^ert_nrE}O;LS7D zrnhN8thlp7`>$A~3%vI^W`Y|8%SlCCW->;am|zOra&MTR-@zs6JQs@|CoZ0*4;K{! zBesb*>V!UOg5XnE`^sz)C6~MDQ~g7&<{bx^N~d;c?@0Um z=eJ(ZD&ASmU2XD0VM)5rNmf(^20c9o^8F6x^X02yZ`Ko-sg2>*XOK~Ia2#?jqo}=0 z-Eq|jjy^S}WU$}#_GPMB2m1^0y91irjqI_Bwg!b#XAOBD8X~O9od00SvRiis!~oIK zJ*$k#Js36cK2Ekn#sTmD*@c`9>V`jpD~ChhCg9-r3_S6v&c1OrL|Y1#5VUqEH?FMS z`Q5vMc&ZF>&M70gITn>@`HcDyA2bxYrj_#i$azY5TmxVbRKnEdVc6<@KP$dUB>0Vt zi%1GhOKSqLu3GT^d#hY+%;ne$smE>aZAu(@ZVsA9+(r!1V#gzBhhcQ!)H{iFUyUpRg+N(ul#Rv!!qRPUG<9lB-Buk5A87}bwqxOKl z{`|s+^upKBHOK#27EPI2C^tY#c?+pnnHO5jJj8o}%>mi~DJ;a;6MlIld5gpqz`QGy zJ88aiNLdl2cBDa=X`DZi za~0D09@$1-^nDR!(7>Soi@o;_YvOCyg(o5O7CK1pAiXz{-m4;2x>OZJL;)!Yy-Kyv zML`g$N>xfiuL4R{q@$pegkF>R^6vefbG`3w=eN)Go&WY+`D4wRb7W*+bMxb)tJ>y%d{ zVgt<&;wePY-KNtSu^b%*R3Di(1jvnhnZSm>_hj$#MjDCTP;{6*YA75B8Gomz|HLnFM(1lFe9D~bT&tN7#yIfzT zQBf(ff%j%E?z_??|KO2Pv@`Mf@oL^11fws+ddsvm+;zpDK*MO5 z7!#TWd7{VgR|9$nK3SI7bPSaIB>R4dUh?wh4(`#)oh;?Ou}U9(#ohfSlm5^Bq-m747ss`#xZ9OQ%g9Pi5l4PW?1~(rb0!ISL@aFK?fRQabi_YsryZHu!g#Niw%FnK zy7Q42fSglhZCuik6jD}-i#M^MrpDBgYTbTH``tv$drXL_VM_v}kNA$@E91y28O0l# zf!IZZI?|16;PY7#0noGaCx6UL(q`~9Kp)%LoG>qwavr%N@{{y*^AIofHXMj;>haSq z$M1r0g7DJ?NLa&`|G!=2B9{2E%L9O-S%YrQ8Q%u5n#4=LHzMYcpxKWEkUXpkJp;gR z5>H!xCUgGNOad6;UthV86;-}JB#27Xl`5OZb4wrAV65d$o_8bR9d6=+eUsna1|Lun zRXhGw}Fo_Xpyn3-C3XDW|DB7Lo`uXOKoY{*U0g~h5)$GkeXxu z)?2Db+lJXn*I~P7wM}dF6$hhsZG?!e=i0zyXQ8VMj3@6Dr3x%sJ1MW1 zneGQK>#Tlp!!vkCB0$W^iH6FB3v%k1?p))UhXn`sD*W+N@OYcu4%CQqrrzVkH^u66 zD)q`I)J`mGnwTCD=T)fj$)c5$smR9vunzZ7KV1>o{cd}FScnw1ggpER1n3T&7{^|} zQruMIS6fXJSD0JW+U6e9W|G>;-3tfJt7 zYoWc^ME617{dd3tPJHV@LiIh0d4V4QY z+PKAQV8Y~_ug#a1zw+^(K?Xa`8Uv%mP5GLNCD{e?5AzqwSeR`ddEa}s3)BbtL)K&{A6C?1}6(S9gLC{pj5{Y8L9pdl^ z9$28iE0sxR6vJ_E2BjfS?8m}~gebVn7fJ-#aPC;`PcA4lP^=;|c$rvm{d@tAglR5o zDzE}WA9A|t!!SH#YmR6(DP5S$VkngCX5Qof3(v8Cad7xY9O~a8Pk;Zjo8^DUx&CIV zf9AWarZF+Ej&Fa0>N%{Vp=>5{U-%X7Y4%hmvsiG|-(73W3sha0tDu9K_7EbSv?Jg0 zd3v{P2#1r(WKAM{eBaqDD7Tk)nk|e9X3|dR3)adh6 zKIHCOKl-0z)ky-e_UTecGS5t|xpTC)Z95wqL3YP3EmULX1N*|G-g~$ESNyN`qvx$i zO%<6BP)NyX&FIMWY_jyTAzp8F+89BwiuUysglMMlo%~r+Nj9thNyppn8IE!g^{qkM zh<=c6a&bc$2^H5QZ;|4B;iVgPj_LVfKnu=w`Z1m6i_LruZ?YFW4=Ha|z^PyPM}LF= zPWr#{xA?ma?=OP?xuuG@zXZ@|AZa2V?(KJ8a!|SA6XqICjLY#jJw|~QT&y~>tjJ*^ zWU|u;d4W8`a9v%D4@WfpFPL(Uk5gPCX|*4Mwio4w0>m&oZ3Ojux6G>1n$fdC^@0Tf z_2v^z2y2!$V1CP$#Gf^>Pf!X?C9YL_S@8euV!tZY?cyM>cVX#S*2D7P;QLa=a%$i8 ztH{3*6Fc{|)mcC$C!4`EyNhXBuc)mVhwuOK(O(OmBWP2aZz;nbx2<;otj?7Yu0*Ag zWkV1eZaC&*L&SRo~y` zN4uMT?M>iO(|>rp|APW8BxlzgzXYHM{x|pg-%R{-TmCoI@$WTG4RiG>f${%0ztey4 zj{0vU|4M)JZ$8iePpALuEC0J8;BOiKTcj z$ISm`;`3k5a{i(<|I=dsW9ENu)c@0(|7tt^Yvul@HUCd*zR%r)L|jNgdib+$LMTS> zx<>z*e|cEh_@5sA;IU>alC(cd4Dcr5nfXP_93=61KU&B~P#8_4K~D4Y8`|Ez+Z#j_ z-vqREm1NbhK_hIh7L$(qk4PY;aLE?3?IJE{T}Ks-P+rOH&+ing`rm1Q369Phlf)0Z z>!_m6s3t#Qun-HM!1d^&k1-hj-YL?)IrNfSci@sDnwEHpM6NH7v@Q{lmjZOA>y#bR zRaF^4u*W+$*OWpPQIsIRo$^ApA|HGutKpEiYlau8W^3o+Z z`Eevq8VVwLGBYy?GTb!iDpI=V>x*&kw9}5h{WvA z_jg}CT+00UlN&tgBxp~XZff1>v~klTpzDxgK1OIJTN!Rqg=AvY}kP9`M&3?UU{x$;ySaTALB+BF*f$sEQd1b_~L(29#LC2== zX*GC0zQ^ZJyYAl#q5?0V2Al1>L|5*TF*T` zGIFEFEwFt6*+^<)>OkVa7>K0xfu&s=H|l-djyn+uMQ9MN#tD7BHwL01YOaSDce?Z>8%Ec zD7bUCA1v;Uw%cx88N*{eN^hhVI>UjKei-vIn%YSu=HU^VZAS6??`5RnIiL9~DNjXB z5eW8iVgdK%j-(KO@*4>q^O0r9I}AkwvPBK(aA~t}Abx1hC=!avu4etTL`7>`7{f4U z;6H8zUL4Q&-`icJ1F2kr7*PtHf?i&lTRDp-09Vh7F;9FJx9jKz3XWNN%5nuLxg_SY zzNEO$@wYEAklM48ST(v0o?3v;SbQ(Ssb`kUp|$Y3-EyQDnMQM zHGDGw%?k;;efg~!o@X%rLi7ON9Y7FA)-g&c)qZ)rz?zWl2rjOlKm}OaW1FtP$#pGt zWA0~oJkWp4j3#^TCG5DrsX6FHs5Ui&(ZdV{v*3xr6Qo#XopC^_@YI%)kjV1Dx zc%x0{o8)l+7eLg1IXUA$;>N2{JU|PGYW1k0^gtB0Ll*Zbb*Pb|@YrMr6+!Pyp0Zs%M6Vn!g7-=OSgh}Z<iF%L!D2AYeN)6skAD-YjeC}Zk6BFL1f-LB%di(R?vMl_&MB`z`W%1& zQ+kwNv2;YaQ)9`i!>vzw0`vq~!2T{SID>P}Hddo*sr*~j3{O>=0OGv6SDJk-M&zEs zAu_l|j=SK^hfixdpU{!j{h)-FN%RV1?{NhFA0M{t$OJpPA&SAp6#=UffU*#UOUE2{ zxg7%-@WhqN85w7r#To~8+zm@#Y=hk{n@|hqo(@>~l|L${b-&W5`Z#piRH97XC-uhI z(>qOfE^f|pgICmFSaKcPf5rN@l_7Bbnpn!$ax^^hZx0A31x{L*Zv;g=?o>CmGfP># z^fhCIPB~`D#^EktiJ|`Pj!o^d7?f;bwO`dU`0|dp)&^I>O0JrETa`-jsB4_W=GrLb z;!8ZyCt1&u2O$3J9Cx$rLb_Z(f;rl$^zDO3Gpf4wfS)3%q%8v7L!G!0S_&x{1=RBi zqJ@jEQpyXQZU6y<*a;6`j^W#bC39V!Y>6Xg0v2Co?DxVtRp%wa3v%g?#L1I)y4l{f z{xA@cjUFZ$T<`{Wavq4*%H@s2y~u>wE9O#UH3GD^TD*UYz0h<8X&; z4SePg`6Qh0&Yglaw@t{HvKbZFeu0rgenIZCy>td3YVm=`h~M}d?uknN%QP8b5qcKK zk!&az+o83+_vR~i?3mijk94E z^lipO0d5S~wT~7D>Y^=coNO<)8!<8!2*kY$ti_px#{;3k9Ny$y_ph`>9;CsX4ejH% zxV*>4+7SGW7l{;h7r0G4!%l1Mslk&>@~8zmGJ^jmHznuWvAAaEw%K;2SKe>;KY9eo zI(P~fbMcQEF7PqB921+wF~10vrM40Rx9O>b`zs@6=ZwITiL#^7fx4tveUqes6{Y3 zF+Gm|O&oCs<#i*E?!MgK4x$a|;+o&?VPnX=p&PC-Gpj<1^ItoaorsOS-m$lK8K$}F zZhrYGkq*1q^R&DFI_s%Mdvk8n)ykle`$*|;I@&4*H0W5a=$JQ~iY6i@HZvfSBmTOl zmbx)c@8oXuZ)@6NR9m=<+}^LJUNTiIa~IdgKs%Jr#csP;v{wC6T^;Y)1;B|+y>ICo zvcgeHew<69^we7T$5Tl#k;JeU8miKp=b8`SEmScTzdVOQOS8DWG}KHs9sYKFt`8VE z(oe1g=gnQ|5}EMv`-Pj2W~aTT*OHKd?Z!EkD>ST%$8L2E#NNqQJB=OmEDFLFPNw5d zbT?lvec^Bk7<{ho?8++ydte&_O}Z`19;AWCvH&#w)NkC^=+p&&_^fa-Zc)cEAA@_z z9!*Fz-RJPeSx3Raxl+I5to#}+d)-6>%n@K9v9EY1$NOZ(K&U>cK|#7@ryc6Vn2h!$ z6`l7ga^gJPX?>0ZXm7Q6u;yCE9)MVS#`}7&E;M842f1+e^n%hE!*XOdZidy05Ml`% zrUsQMQfwV8;(%hsol<4B1p698g9g`_-iWo!?!R{ZWKeg`tRF39+)a$`c!6*)9>VS3 zjXbut4$R1_W-nZL2cFdB67z5%8`nBoI)~nJyxm;Y3!%{TGg}W{8okQ&9$&Rl|Fm+I zNd5dklQo0i7W~k&F?<1A<29Fg;@T`~aIcT#z!WAeu$Q==ecHDA0!!{DQm$g2`F7$O zVo^8hj&V)6gcr+BZr$BXW9fXEom)P2_q?_)?u?qzm3q~J3GZGCC3>txgtAwm9>_?F zs&Q#|b-6Mb$m{R7pSbSd1yM>2M~7Ky$E%2UxKj{V2K)Bkq-pb4DjYEvlEp_dsCzG- zo`Egw6Pgqs>Y@)zYim2G+;rL3nJ%h>QIqE=jZ^Ac4KTLv;Z8n|OK19Z+vUec6el-{ z>jwn4M7rO_nA{k5*AWs@O_cCm#H~>L;7e?2=Qm2RFQaE%qZ6+D!DHFrUo-iz3GvZx zOK5D79w62s&#WBR`B<-F8EHz3>F4iQKHS+HIErnTtmD|oZ~ z>KQz7!*dOc>dQI!Ld{EAVA^9_uGLHzkfkx3VajaTjNk5cRBas^oA285oIyGP`wzXr zdKz2K{_U|*$=8xxQmvQ+k9C+kTb#xAR{7~N6Q zg{N>q47Sm ztZ&sjr|YzKV)W$~*G@^%*?hPKst6?BQxnI0vbz-d1f`b)oh@8k*TW88vu^!eb``D?T0L zzYx_Iw#wTUI8pz2;rx-4`2NDR6XKa7H}x?@qJ*8N*gf2(4s6c{m5_ahlv^+cHkSl! zOMZLLsDw8a{8ymfz4uZ`3J6bygh4IG{Y10{q{cFJdbk-i_`^{yoHO{?7L3`%rpY@h zXIbWv1tU!ZYJwj;LT&We&jm#9JgA?S$y5po4}oGT`e|EFf-O(FoT~_tH7z)7XihtD zFlQOlgs>j-hyV(Tod<5r^@$;$j(^;)*OUFG!ZS{nW@*db5@l?UBaBPB%Bj)5U!3QD z)iYeW<(5eQ9cHT(r9!Km-pyh=V!`b+Y5P55>vKK#^-2^mZ3h{DwAok6xhKi`ZX*wp zU*1`AOp5dGw1~W*+YAMdq$#VXM$Bk2fO^L@@JKGDb`ttZX(~91Cp9p-Wxj{vdS5UI z;f1frl9%g+-OC#>^?ef0W8y>SxBy$ba*aD)vKU6?+d3U8sQjv6b}SRJBUf>9Bk*RK zFuhx{e(oZSju3!?_@b|uU;3Ad`SnI@CZttrHb*CS^M~qj@zFitT7>&P_c-Vx% zMKR_atD%%^LnU{q_YA;Ucn4E|@H&<@VfdW98%dj!Y&!IapTlqbBoj8}GvF0Y7=F4n zrFhX(I1mZPU}mj4N?6rvyXR-v2|CV4?wP(O0l``S^(f*Pcc6x8q4(`Y+z>`9r6#&1>*ty`vPz zU5DC8qu&ojS&{xNH9>g0*>~sg^Re^0pzEvv8ruzvksfTZkwQev{@Gvw&2|^BM0hP> zdGRIHAXIXv4#a&}y~$qvV1OnpW_kMPO=(Q!eb_v)W#l^TS#v!*YkQwnJQ-WRDG~1e zn(_b`MBDRV79b->k_3b1rCad<$qiXL*Zqk&)rH}<$3NcCrZCZh_vWTpeebU>E^q?nX9yIyqHLma%nCZ1Fl+v()JaW>#l%+ds#?d zW90Yml zJlAW=HI1lLcxM2$r4g~gr^IJ}FuM*4=J!reK0A4<{GYr5k7xPgQ5-1(o5xN^{Y9HC z?w2!$pZLL%~eP5hWkrB1*HZkvS^BXD&jUIQkJK?iI1d z@e)xrkG4wR;~KrB#N0>7CD^#UeC&HWc|6!mL1p*I#o^wW+VnoHqqhAb(MLS-ul!mH zn~-WH$16IY*yipQt_#zGUgy+5=>~SV(&|uN=>Wy_W0B9wG#mz27CP+{U4qM!Ekr34 zf)4kVEFaAyr~;PTQ;>zS(tKBRqLV+=127H+`O#e-gPXD9`d03#F@~4NUw!W8k%ltn z$e|(d$XChdQl=@GyPxB67NH@$(M)Zrg1WuY_oXu$!PR7|V4q(=vL7z zzA11zQTZaho&{IxrF%#f499~IY3@|2#DiGp!i7$1&m?Y9M(`U4QNVthd1@pD$LF#yl?g{tRq;H9-g29ExlTCDmxC6k1!VFTTLcS#DX$+BJvks&X@db z{gk0}Ht5p)rxo8+AkXU`R_!Cc^rZAV^{yihr}<~r*y=jR`ew+ZmlZb%3eeZW=@) zu-rsMro7ao*c_V>2Y!u|7#>onheI|uVSj$(_wD?fx2z zV8R6vU=S~~v){ZwezkM;@6Is+jp+n$c=#a*x+xIYopcv`^!ZJ@L-6Q=5TT<< z9f2b*&LG^Ze0LN4eNM{#%+*4hM^-E81A4 za-}-o=vhbMp%&8-eC{nz_jR6g??^+(qi6u;O~&gRBE8A@Gvd=0U`DM9xJ=vu{m8G& z*;q2N5PR@M$&wd&a;`i(sAEH~HC1K@|9IEop_L&YU`I>^z<^H85i$cxbqD}6>EIRf zQOyS6cYnL_Tz0|Ix)4z^OwD`08u<*~cU-l!K-0_mzF+tLRR-}tdhs6Yn}2ggbm6i} z*{4jAU)wz!o3Q;VW1acqLzF73(!IR*6JUKeJIU9Q+AuWo2CpkTvqkF4iGvOvmN@Pk zHN|-s33;u-RR9)fT(D-nOEGj5=Y+CsK)$4SP`LBPamh~L=mU-!TQ_}+~rOPA6Y|LUXzO#fULx8(I@t*GY!MsZI401?qF~#d>8joh&Ik5AOY(9T@Ckshpq+z?sj*O zT`N|T;Y}t9o>+m6fhRne;5AP~LPM-Z8VD{>wh-y1@@k)tALIt;-j0H%Izt6AF6}K5 zBl?jU?O^{qp6#!7MAStYFpAdlm@Cs#5M1E&Tli}?SdICxDU=}~DAr{&L4UvNGg1xt zWG`MC(AV|y(AD?S1qsa5X@hALtClD$+Ya!_^^}Y~O8S=c;zj84BHERH=jYizq_azW z+_VTycF7LPVD@-Ic7U{)s$)lutk=^~Ukm~6g#>@oWGZtXx&SVPE$c^_&)$OydBDlZ zB7wz#hpH`5gEpvkK3@HH!1lf8eClZ()V_wcA@tdRQ%E;o1G7EQ05fteJb)kXd|AdT zkwdKNhPcNcc3Q5c`Z`BOT#^2SB)eT1Dulwm*zfND5({E2HY@!C zzMP$N)=K-J#RG%+*bob~PUo&q>`Zoz0;9iu$v1O+2!R=AYi^bH&+O?CLUv-1sUE^v z0LkwxelA_*Jk(9yfrKxkLQ+XG=d4oI#9uU8zOp=vew^W)eIojSOgD~Dvkal3E#w;Z zhsq)hU~;Mte5YKx`AX@c3rA3HX8YW5zfy|6LGp`@14z{QGGc_rljKFt2awiA;xW0o z)=?qm@~AoW_=m|R1N3uRT_gC+tiIUg%T%t}5BdqaDVFt2T(-g8Gj0r$xAEpwUPcJu z`R8|Pri(`D3$V8C=I~u4=WE48x!?})Xw4SfJ&{;)<(ITCrDKfcw^Ixp8g(Ykd6V$u z4PomQ&6)iMg!92@)`?C>88G);mY)6@4$u<*u>VI|-3DK)kM#LDmTgjM?Hn-Sr=gLg854eojl&k zDbi4D2CI31bHZ}k3s7=p!0m8;9z?9f_kPjD9LGuni8$K>LcO9Rc`zwS;DL)VL=kEo zQHlF_$}rWX3zdU0svY3U&CE*%2-Hf6g#0ee3+-8eS1q$J=MDcyHV`ZaI7g#ghvGLQ ze&epHcd7kL0|2(eXjr{#EfqianIoPYgSJ1G7bu)I^`q7CShbr+<3-zB%KfCgh~s#f z%Iuj#u-Tx+;3EYB{8a*;DnHB6K{EtQrdk_98@$A8(U8OV_dFi7`y@QG->(cuaPkJ} z5q6?TlRTvXNS4^4O2lvYNO%tFps!5^0U~j&(>evlTHE`Z8Q1UhNb()KVM8F-+09Sw z_W0#VUh$yygM7Z{nNu6eyJKDn%&wnacv^rFKBH0uvFQ*U7bMj|+0~KPK!rZ*(-%t? z2gW?4J49s624n!QvjH@bnTiO))n3P6AbJ-mReoVRIsWMCmtmrjw3|U?kZH;NxWjJ= zuDT=90L(z+ExESRwW>{pMCkK*BIzNV7Hj*8TF=$ewO-lVywj!D@J&L0X@tV_{E-Y8 z0d#IRPbVND0Ef&se{`TG6|{jqnWh*zta(5`qqcZ_LgwhsQf~O!FY*qVM0LzFESIbM z<9yE_c_3=V6Re|lbX)v%D~O@exk<+DNgco_o%qQF4?g9<0yeC=PV)BDO5xP6uhN;m z>6jhqdngjThp!as1}Dz1D1|&(;Qw2K!{%z@0_r4o1&_m$SScnQ zF46gn6Fk-5S-ZMf3qfR`d*$-eZ!n7*Lt9s2RnK37yM=I1`QuCiJ4N?|-ZumxQiAYx zePJEd=b~CNy_Y}0lT*f&8wsAg)l)r2REY#^%Lf!PS@Ni_tm940(s} ziK!)ZE$rd6?TE%>m^1}V&+L{}s+}cOp6B}@Yu~V_=RD-R7SBL?FM}#Kp(YpHIS)nk zl4jv+6AT#2AlW}O2D+Z!Baq_KV&RdLPzBk1NgD4?zFPj~pXDL0+k$^YkDut?yN>8W zNF+#W#Lzv;Bhrw&yUEwuDWsf%&vAbkhqk1T;%T5VOnORX@}A`#aZ+lTrF>!Mi%M9K zOh(LfExWY&#%X%7fhudD^!h?skw@fd5z)Cb|q|a7m^7YW_ z@ejjj|37?;FH^v!0OwmWT}H7lB{2o8lsvJUbMDWY8NklegOl%1B2WQ>^N5LwZzogM z2H$5To~1HV?`q>Q9VFDjWQiZVJ~*28{j`p>$_;rok=`~A ze&Pni5X+I7xfGW(LzyET*1Uw1FBfcQcE9PKR?I)R@jR(Q+hs``w&lco*=)c#lQ5eJ zylpmEp`7q2bJ8G`X^=3*DgBWbR{#tgZX&{5Bwmr;xC)5fv|T)3bY*UNQBsJ@c|T-# z3wO%bbcAD5S^MK=!0|!mc>qAMIn@BrWQRuGX%Y=h3ylsS$x)|r3x5IpT$BZ~fH#~Cp* z%8I7au-#k)MG8o^zIAYu2C}VsWuaWeCBS9nTL5W(4YTEq95>YQ%hXTuu4JkN_3Is# z0h;1{>qa8)r)-z$4Atg-z)eyr#v7>~o~@^b=W5!1xk;YRNPazZ<(1sUkN_XOs{r}- zG>f$cZ@Oe9u5VGEyiI%WGkXQCxBV`k z4qbAg8K{zMJTpsl&^uBl9kL~MnoX%k{21p9vGw$jGt;c01dot^GMJzxikM&gVSi4D zmHL&AsHktf8UJB>Ndeq}EW_)Tey=E{wtrcs=hS+?_7#OeVeHCTmXrZ@R-W&k6#6QK zBjP3`HicPs;VEE)TY&PD(n3a}!&YR^PvLaUQVdpzjmz9zFLQ0}Z1Mm*gQStM z3wk6Ifz$N1%V-cxY&1SvZ{AsFFfwb}Noz{6^g8jyk4G${*%&Vs8!WU4+NAbGV!}}! zsLJ2B9AHf@$7`nz(^oZ2dC6p!?c8}>0f)ocdJaI2t({*a^YQ0s)pK)**p=QeAPuF? zjFaL1CT#Flmcoq58DM8gE|*h8V`SlUTLcA@u%Cu^x9mTHg|#>|P#u`0q?L=j@1yev z={#8M{@dR4{vX%vrMtOLmD+2@$a+LVI?{8+^FxRe3@TGH3U5bx>FtJaLMjc(QtZz8 zxiK?jUEHf)P7`+xHg_L-_?iH_DgHzOG0R~K=81?2tLm5Rcj>aD1Z3@&w%*;dt*o{3jkRUSIPf$IxB&<^Z5xP1GwBnUDww)C^1l zugw#4O)5OI0c@3EHWMKi)u3;eJ^$uu*NKrsu-47jNb{g|;^`7RHZ z?P~BO9Vm%yJ(|)4(to{Rbn|OCgl3f7=4E}20s(i9q$gd>W9&LOud z2}uFcK}(3Jh)^HE%`I?=vMb}~CmOp5ldeU#Hu~ucynbYfw|Cq9uZoOeJyh0>!BMbi z1_(LSOY-yD^&Lyf`c`IfOS%@&0+%4|w+qXi>2Q>9)NT7RUm2Pp-0nAm>t9AnC7`R( zDwx8`*7Lx*e23&8^&Km-ARFVGm45L?44#AKOsNF|YnOk*Hp><)xg*A{RawRgaEee; z0U``B(ZtbdWL)qN3V0wCnXV^x$Dkq2-5juLdPc%Oq32p$}&{Q zKSq;|dQmz}85999Hz@!{*Ii8MD|7{$^oWeghaYGLD9^|1dtE07V&$pf?Dy?2J#=xg;QBPCyUxz++St*ej6Me`?VMzb^En={*?(0L2fKhO_pwj+|K|*D;CNEjwqwI z#$UX*L|6evP2za6OrFC?bAVciT3s$YDPxHpcPS8(qtEqZZm56b%~kqyYAhvN!LyKH zp>tKRJ5iV}Kz1Z!f8q1D`mqpra=QBNOxrPj8YixTlzkwr&CJ(MGoGeOanP@+pby|z zwL^^zAUqHbo)!)dAP}VlhgH`bMf(;Lc~8a}a~|cwY6xvzZS)!{bo;^*ZU)^ zjR~7=0K$%hnUU$|2jA}38CJAC8vYTUw~a{Pr__-VCqFdxA7w%y&ikVUF^@j}>QC-a zO+lR6U}eSX)6oIIRe*wqpimAm4=@i@xZyyzH{}-p=IfZ;*NNxidKyISl_62@GK5E@ zLs=E?Sw+lE?bh9mC%1WCir%el$_bgD~x4wnaP6wgL_m3+Jbl$rUHlDhk} zFS_iddF|}{D&LyYruL`2@ag=r74hmP;GTB^6);SI%f3dLKS}`I$+RZ@a%W+>GuCGKx9joyNpwmg^XV&j0l^by($9uQKXs{P z>46H?vN{TN)(}e~WQ9H5^tu5e-;_4P>%Gk)O8)pt!WC7sVm5yRkA8JSzcn1Kb@;r| z&dp+==I{A@8Avt zzbQl4@-F=Z1Cr$W`!4lPpVnxaS%WT;c*2{{ zoeubnL+!KFdqQ7VruC37&iQKpY@&y-88|2_N|0pM98rt*G;~fWIU9(uyFygvYT1}b z<1l%BWPE1+HOM134VADzji=EKWLGik8C% z58CkCzo%vVOPe}UpS$1Re7`5mhS4S`yEN-^{TK0iw{-`Ey<*>PVYPvB%gvi+;;K$C z@7zc1_KyVrm5aLP^i8+!Ix(J^F{!<6;sYvUN`s)wJahn)j=dS;~-eeLJUI2}CqzSj!T zJ8(ucL5e@bjj*}-NNSv?Sd<$tubv=VNhP0Le+Le^)V1miG`D>S{u^M{jazs zHjOSj3;7E`s?j`tSp}mAu(W49qaP$}6vZAhsl6O6h`Nyf#5D>nBRdq{v|tV7J;ZgbUn&6xOjXI;c$8(-E> zF~%2BiWwGJG{xwu3rd7SwNszD2LAOk3u7M+%4hCW4trs4Q8`8hKi^b&AOTs*u&735 z4Ciw(zdYZ22hgr|mpXH(^bI0q`aL3ctNm8#H>O&ZSNLwh6w3!*WCR=3%!Hpo{;j2g~Q&B#eA9MJdDE#B?%PU2Jv~E7qYAE3OH% z`NEoFG+akEzFpGwxIYF-^7Ym+9p_#g%3?30D)=2&qI3p(n}EReXKwEj>(+$wvaPJ_ zK2ceIFNl9!+a+wOsanSd{o+AFvH9To>j|H@koeJ;XSowJhPir}!#Zn-7vI?iW_$da zNXSk9>bpzhXrv~5wODnHS+w(R@vRw7SOfRF`!7Uavo`7EXXj~(D?lk$b7xAu15i?W zN9~vk+u|v*$eGr62qde4o}9jP%wtCd`A3W+QG4E>5qJ*f2Mjlk6?4vNx%Ip*HK>FB zNJttYlxm4RfOan#qMHFoY8HQ}ij?cdjF+t-2H2nH3kFt>7lS+ydy${YE&O5A!7xLx?w<1^wosEmo`vg#ydcgrx;!Lnwjo1p3x@haa9DCb*V*TbrIcBU|C6X@oYg zU?N%0Y7giCV>rU{2e;no&B|5#25V4vyp{B0qQU|lm#q{zcVMBKT7~;R+z|xj3l+L5NpP$1>=$2&&7WX}+*shAI?f6J6w(BwD>*6i&S& zfhcy=S$82+zW(>UJ-e}*1z_i9e5u_ITO39I37OsHF?znQTe609x9;dpS%CPh>{I$d zlx98ZY#f=BsO$RfhP1shxB#U6YHY`Nc@eajh^4Gzs6So_lT%c>+=c+><25DHmVjME z)qa){V5qK2^r zYUrQqE&!>%a<+g7i#Z&%1SHmL8x5^_J|!Oh1uL1_>#Wj8Qh8B-9$Wk~jlO)7SoN#_ zW?y{J(_X=*#f@-^r<6&YEdtjwrnm0~$o3w=I}G8AIOA1)!8?_+`#C|3;q-xKVflL* zv$PKDxw&{o2(Nnoyvw8VHW0I)0cf)|NV0&&_Z;N_vUc-7!RPFWI1<47vJCu$w0HbRdWnXV^jU z5=qLE!(U{iNk$EZ1Jv0vukw|DyJt(6F?&LnD_jkqW@?i0Xyj{BiGSsQ2n3 zkK2*mz`Vn0ynn+kmg6(S;m%vd54TnK*H5}!iQ-g>Vo79wJrmVLVFc1qhr(HD1=tf> zHZD6r2uX3O^TPgCF1RBm4^U5CBFH$<)>(}3lTZOt{Ai*F!K};%5s*$YfJu||cqyJ; zR4{60DvZK#>3EPZ&4n}EKBRqlwYET;v-sMhzj$%13UoG%7_y+ z)P}ziB}0I-JWzBY5-}*^Av^r^3d@I;oy9_n-@Z7b~0BbaiUP>Hy7Bg&xy}DEXNqyLZfmAY9BpB7^PW4k~ zACH=Uu3)LA1ntj4n;)gU^?ib?fVqbT@s6W5kG z-_dRbei)b6xU~@C(6|JlNzHxiPlyqYSpqMPLZ@u+*dPURT>&Yh2j@!>k+-gYW9$e9 zY0(^EIdp4HnL%O}Sby#8Hk%&pMG#eihEgDAv`GzfVDB^5-ficmfF0E{;BrSXFWwv0 zm|`sULwYQUY;fvZ#v5+%Tcp5z=H2%5x^BpxR+4c94Eu&VOjNl_e^FHI@r#LOy4FEZ z0|y-$5Yjkdl&-I;2Ly;m+WpKU-MunLBhw$Zq7E+gN*`$Tw<-Kd2-l*_@{YE8{^}D& zBvs(0pK*s|JvmnbFVgB4i{QvhF|nFJ2J9)M2puOPTt7D0L|VSZlaKDHSii^zPjI5w zVoavO_9EsjT{SIcFl0$&aLPg#(O*90c>ENlY-BKK>~f&Y#O!Jn`KSM*sooOD?Yd=_ron}Tfjv>Ky(*0}NO04y<9uf~J-USyFsE6p#W zie-FYIsQkdg5f>2t4oLLx-L3@4!#sBZ3h|pJV`gZ3`P?1&#{(VZlx6Ojt!}N`nCV` zcnR8Z$5dk7j;@>6T@O~n%d2rLq&X#O$F9PB?;9H6e@Edm*K zy3i=6@p(E>U8ZX`wuNU^48FqpY>bcKL;%jEIUlj7yN2*pe;EG0Z~<_SM0!|n#D1m{ zfM-xa)w-kembjAb8VcK#ZGVuIi@ys5m;OKYz5}j_HC=yFfY3t`0!Rr+QR$!{AcTMd zqJj-kQ9=`yjtvn=LT?I+0xE~5fC>UOiXaJHMFl|xMXA!Hg&rWu{3qzyJ?E@<_uk#R z_uk#V{G4Qx%#2f>w|>w2ei)*U&zXVuaXkpxiL=2A46HTJ$3`@gdQS8{=bb?#1mUiK z-Q)~4o6@H41J->_V$9_?4kAJ7$MGSm%_r&t4>U+T6m0RNcIVDOiSd-aPma1^OUKsz zNyoc2y2qIj$1Agx{VYoQ%viVEn>9aYFnh-o7v{50Pe}+RDJUptYlW?4IIZEoC8u&j zxtkSwk?3)HvVT^%tmLS1(eshHsReLS?y+W5*RsA!TKx&A=w-8K=kb!Ht>e2dM5Z!d zWWXp174Otv2eXhwov?#>=IT?I&zMTVK>A?^5gi>Jy^7=Z6Q73e&_rt0Uu6g%4FTnp zxK$B%!Wj0qUQt??SZ~!!v_Ek}JPJo>9b#47davfe%q=N-dfV`=OaJ}#V^%Dx@$fGf zoAW0fNGAso}f#qreWRq0%*nUr7N5iD59f3~x4vYsAyA`?uQ zq2Jp*H*M%lvXg@v&V}&m_P{gNG+Ud16O?2b zsQi@IJIS!@Jhmxdla;le8vP7c$}MBC_7Fg{N(|b-9jtv>REK5{}`H9}hSE1)RdG%n*k!f#hQK053S4sY;G$=z2Y9v(CySk1qcuUjjBIC|G6JoQLX`-$~|*A=4f(W)qz=1Tl04(Y;iom5CJ7+<#K0o=bpN zE^Zh7mnSy2g!g~03~M$5tbOuGFaj@3L&NH!tsD|SawG#dQvlw>&C%LIC@t2dX&!lv)yeY|P=7Bsk z_S1ZQs=P({2rB<2x(2l663;^wRGjDDx6H^02wYGFqCWQL88iI~;Iwd&NVsX@#kW&u zP_qxU)`nDc)xD!0-LFxp0B(5A)#x=> z)KWqim@~fB7j|oc_ipM$q++#9FENAABu?YbGCeIjXx>OdSBA0Ndibm9q6-W;?mBxM zU=G9XNu*`c00G0(6+X$8@{u-UH`*f;Wt?_*Y&+7-%8=6JjVmgPE$FX3!?4S`QoZm+ zFe9u3CfRV~t`HNl!Scy2eibKpV+oI@j0S|=GWJkXI{ z8y{};gfbi>S_O;BDA*ONHD98*3&2*!B<%CjV8}{l3bSN~626w-lib0%dZ*c{O8D*U z`iHUk=>(oHvTmhm>qmOx?J^cq!OR2e0k4tOPPMKe0ah-0>L429+X&gysd3b{p6n$n11Z2APq*$-f9rjD9Dj| zj^OWy%(}J?#eCSF^=d2UR|+xKqE`2`E`1TU@dlAO-9GFow>MUDHGx6LNJ=i`pC|Tk zhz)iv+r#zzZbdhM{s3;`g?9Dna|VeEU)qvkK5ueAOfar9(O`(-5aMj%l{cl}Xh#0w zk`A1yw1;%GgAeN@3w_J^@kJ3`S8bmc6FuGc+|DkH27302_qJJ^m}^+iG@U}`MQ(Z2 zG_(CH&&X{4LX*yko~`go9AbxCr82tx65(V1-bs_M#`m8d>>-9{ki^_tu!ko#6cN_V zFNNvHvs83k>uer@AjdiNfx)PmK>l@E9N|0_B(Vd+stc_1y_1oe98!lHs}9uUD6l9Y z0t%|cTDxW>{OLR~<i4Cn(e z)pDQfHd_izI)+O-$rkdw9a`h*1wzE8Bia{B&xQHle!Y1ks?)Ox7d22XpS%ZT&|>7r zNlq!&p#J+#Nmy)9G3~ocjX4m^f{iscD`6od3C0IahMmZdh+zfbXIYOa^H=G z{J`gZ6ZKWO!)nKPit{>O+U$CzRb#R#gr$Jea>oR}GujykE_U|hh#KwA7-Hk&2!JGs zAy7?UUKTM@z(%z?!ky+3lUd%4SN9;!QK)O+PC8QO_(nTN$~rcGrg+7cEN3FMo}HDP zT{zx0t;%0~Iro>?*T&J9uiXP(AI9w%YuYca)!DHKZ+@d-6zxM+4SX*#;%T>}aTs3F7%t5zTx6I_o5>G7GGR@k>>N}CTmPw=d#=mvyAkviSEM_-7G!r z8O`zW6C0)so;=H7Sc)kc<|iM(yJ%l}vA(U=L1rq{_I(F7)U4oo4ct^8<9mkkQr~JJ zO1bqkWBmiX1>q36JNIq(eCJdJs(o`xl)9^4SNBv+y7X%jg7=-zy#QFZp`#7aC;&I} z(iU;NSU`g^sfE)E^>RPFxOsNJ63l8+Z-HSCNW;g*P+ayK#bk1XN8Tr$zmV8EV0GsT znC7X8;y8Q}{2ah*{UUgsO;sy4^#M#+{Y@kbY=K#Ceg48beU5Q{DPb90XU;FFv^v%6 z4gcEy9h^JWjN+}Vr$GgT%Q`*R;kcF-2E3-msd<(*_EvP27jbglz787Az`>k5nwp(% znbib#3ZyU>gi?{MD*i8C`~uRXHm%tnbY;?~EK!Iv-04*1d5wh|8__w6+#NlSvTCoH zuDVT6=5YsGuS!1e2U#O#Vz<*8-jzCT-Fkh-<-kMM#f& z)VeI`>*|i+)1qo>ZH@V6P zni6+WvRZrl48)~qBB0kla~XK_qJn?oe z`qplK&m!j6^Cpr{rWUqTSB6tqCe>@8&L1gL0AOklAO%`TfLt^H=U991zw}r1E5DOL z2XPNL&OI*TJk2T{vb(X>ni-Oz0rJD|E_;nzUGVa9I*pZ!sa>eP7&}Dki%?zdx{e51 z-kSxX{fZJEUcUq-Ab2;k<`ibP-0pw=!L?swifS?|InB7BdLgkBqhh5hs}Rv`d2f2O zWA|<?DK z#-itxZz}~2Pc>H7AfonAZ357;p48=aFhHk>Nl`l(h4@TIU)Px&iy=8X(x*;HLU+RDEg*b+L+AjH)*9T`aO$RBGp zZ2pTLiAj=w{;KEZ)>bm006>2*ZcXTACy68|2fdqKha1(ROZe~eRM)NNLKm#Y7yJFk ztDKx6i!eUEPr1EsWy1!1nqD3n8dRJ)c{+ZAQmg3v73V%Zon(*M#7j_J|6<4Jc9{E|}Wk1yA<2 z;mhn#Dj_s49I04Oi^67dajae9oniGX+@;9M27}6LV1oO5h$Wb<@47QUkka%y1J32k zOT64nR~e@uz;!N@$@}Q9kAQk*7Y_m>h3=n}n;qX&Q{=xO3Ijica2uxS;7rmfF5Qas z*M}CKhZi9IsEQ6zSp=h&AmJ8=PY;2+Dciv!LNI)~#6f_u`)WYz(YvW!eP<+N1zw!w zEH*6AM^$tBwv43k=Y1GEQ6to67!-DP(f8QB*;6W~*HHNbMX|L7C7tKJz&drTA8)h+ zzE2!o7V#f`2;Tw+^T1>kcmHxL?yX>dv? z(KslDE@A~fuW)1mZ`)cVH!^$UG)P*b^q?J8TxJimU_BGz;>x`l(Hk`d1%R9PHu^kC z;F(QkVJzJ8lM5Z$3)rd>;l%ZUgbAKCJ_?cp#)eHVqD4iV=q8DpzMNHqh^aw@sYYr4 z3r8xS)N)r9$z#SZk>J~{QHDV({B`~zRhV!O<%p8=N$CL`2B^!(4C}7hb~s& zd~kH-95c4O?4(=Wnd25bMGkrI%dOg99xj1ttTiMby5zgsA<4)b##b@Ckf8Kjr}xTg z`#n{-r_(c>qc^BxUymHyzSA3J?4F3;Jh^DB3|!Hf&1j@5v{!>%88m}aOT2U^_ci_p zp0B>lN=I7=3}h_Er@n;5i$??8VG`}&+yPz82t$R!N~x1~7V^yoK^t^T^p-k#Cv!(u zM(-AImbD_0Dio$J3oC+-ix3Cf=(~tajcD^adFXdmI{Vvb^O|T1)8zZXz&1#9p<~Uq z(V^Qb>Im8}4wUeRy|(<4Rp)E+6l88J>83&dl@Gcsd^=u!!u-xXF(hy5-hSe&{GdgO5%{Vf#JE!vgl3f4%x5C|V^%N%%$U95|PoS^uV(4pdr0YoSY){pz&vk(9*k#?^vj7C4jpDuUsgkcXP;R*lH5 zR-|rkK?{{zXVuT|DA&J78eWHBgm;zmfY0@9s#NbN-b(2k`EPwmE_-5iT#^3s<^Re( zC{(|E&?@Ag`{LgF;1tYpjQ?aH?A$ZThjZ2~CgNiyaDALC|Lo~uu-WlLyGC)y>RH7W zR{66E@bx}MCdovDPzC*?GM-Lei5Dz%?spqQrOmPGl+)r`WD7CtJAz^DreLiMb(xcL zpYah%eG}kKuBuRvnrX)cXVfnt#v})@=8s@gZeyE)s?}cv1o_u5!Rao;g1MApmPWBK zFotm0^!k@T7%_5@bHf|3mZL+jC3>z!M3BEWCT~#T@XR?9jMnW^G^@e4-F2P5 z1r&d?tf5ib`#{e42^@@5$1?>7hxKSfTMpkaPN)r`S~JCOWa?{vnU8zsUCVd!@x1!t z=E%jbQDD;%h4lQDpVfP4jf|TI4Y~u_kAabZxZ0xp4_NEd=i|!rJa$tzHe>o1M|1eWuh93O34N-aIva!ZHo~N}c3} zhq*kWGHje@!hH>s7)DYUBeYsFO59p5Rr#tzP>~#Ax85nY{o3h<`S}A*vx#)+4kiAG zQ0(QNt$`iBAyv05-gMRW@QK{G0#GH9JQ()}6D%i51o>>J*2Yg@m5&4fn{xfQYhFNd zET39lEzsR9x_wmyLCs%S!kV%u;z_(rb*!`J22P%oU~DDR#x4^Tk>t_xsB*&=+40OW zNxY}k-i|S%%YC{G+$TGGX`RN5h~PbZ4^5U&d|Qmup`(>24*EKr(w9_KsQz5sE`SGfgxyHTc9grPL;lUrlV6MJe>Mq?F;VmA(ZapSUCImejMOmp1Ui8>>^Ex<+z9mO@4O3iLq7tcO7h~mgzX4{#s&iHe{DHsWRKHSbe%Z>pu?U{$`{HZ6F)2TWVbhV9lb1 ztgUOKEu;8c8%|1SWiW>GKYIKZ{7~qQo7O3YIcb)N@OJumJ+@NIEsNNO-5tF*Yl}75 zlQ7>t1z&qSz>iy`RzfSSVY@rnrwy^goirl{@>4K*ieg%p)*9?{AX|jqU)z>v^Nc*2 z7RQw8rQno^-sLYS9jMAV7AYifTIGwlGJn!7N>MVmk@q z7FLE*kA4yAsPmsi#Pwe8o#pf>)*xGCS32&G{d(wY@rRuv zzc&Lf&U?`gPwL$lFUZnVU`amg^&Xk*MR5i^7}c9=9f z+ANNaNqFTW8f`mgQynXWqd;k(WEE4JXB2$=pNo zOSB=Z=YdTztqw~2m#hLFj40;N8gp_SKYBD1$3@%IDV?+-LWdr!GXygxyJ;Qt9?0tS zNW-({Kk}A2jS$N(Ozy+tlJw>D5l=#UcKPeaZ<|_f(-<#>^w||2rV#a_f04W+YI=TO(->lK967`w7j6$vvuJI+cc<6#d$h+qs!_`w0unK6-~h0(}#SZNEj@I z3<{*a3po&9_KA+{=DuI$050nXlww#$M9GUfbAP~5f?3W>+r63ULP<(!C% z@oDcjtDUN9P%o|lmx&$qE6Tw|yki$}`S_V$a~p8BHyqk!6grjsLAs*-&$?p1iv8IG zdJ-N}yiwxdirwN$7W+=VG?J z74O>-zB5~Fh-re;m(C(98KVw4Yu60bC}j`w`^&PrNScNswem3AZvHhVN}~nKmtT8b zJ`{Aqk@hME=DoJ4g$`sD*N9mkzn4o{s#}YaTm26jXABS_7aHxiZpD}yo3GWz+Fat< z9=+!aK1p755q;}f#DD2at#Gjw2(y!v(8H{j9WM;!k!=d(G^3<-s#cm-FrZ`F$1CJyBq*v#*2aP{}qTUh{QO8KHZp-1~nRFgtm1=oPeJ8 zhqI;7ad&Lig@DNF`ffTNaEgPEP9Au*x*a+xa3=)E`A!zwlzoOikIV`OL*mi7)Ufv1 zyy$Kruv2}$Pe`*y1L_3B-cp2jM?^>Xc4szrI@C?JH}UmkApb`w#F%EgJ zw+5%@#dTP5WUdbG`yukP8hIbjt!JG3swy1H5vAfiMadm;Jz<$f$N0Jfk5D>}bmQk? z(wZ8(Np{D2!hG+x{x4v22l;(m`M{A-}pPr{iE(=EDf zwxNkv96P1rQnDaDj(#koK$Hc)ymv+r^S*k*9A6v{|~osb^y^nvvAZ&fw~t>usv9Sb3G$*yj_ zEu_twp04Pl-o)pSfmc7mG2b^F%faoc1*u_(f>k^M z0Tx49#QOmRJFeOdYBGNOnj=%)EMA&0ptUNJ8E)&q?IasssnC~Wok{ZGduew{<80^1 zsNfBXF_*o%sHDHKbz|}83{>Hy>?u5`*I=SK*I1#}dPyAyDq@ESO z1_kUaIP`@Nq}~r8c)^dG3ZRG<0y&t+4i&sWwi@(eD}V@MB=GhIZ#oab4KVmlLl zs8lC$sEHPPOYVr=nlZeRmN@ibi8!VbLkA*G9w{}M1hY`=cp%FE4cq+ZX8iGjR-zsD z&0MiI2cdKE_=x`=Ua^%nbX^}Acu2l|I-DSb#Rxn&5;)?s!46B1!Q8}OBLkB^!l{4} z&}&Ph_WE+{65b|Lo4lr2u&r0KnyXeYVyxYxj1>lCAbD|4Da$~rc;>MQO7SvBi@s{T z82SVWBz7|diudZTTNheSQPp0Si>E!z8Mm5PHMFUC)m$9dP54OSk-|ibqKgG=|8Adl z#TDiQ@QJ48`d8N^w>kXX?(Co8nOeiU_wx5pAG(i!)u%-$p%2Nj4cJQ5cAW@qZ_^e5 zsR(d`Y?PjcK5eQ%=E3446{IgR16~K`C?qVDs+~uLcJ)E1_j68V<0nOs@wtj*OUV1v;?OuSXt(SNpGwOpF9X==0jULX+G*W zyyCU8H7_$l$OJ$adb}TEg0on*QnZBzRlZ5+ub27j1%20?D}Lw{uPNj)pSS$}+jnnw z8S)Y29*-~cvF%iX^mwQ+<2F zBfk%sA1ypns*w7-B7CJTqB8^VGgeLyYh|}wKg~KD3gC}*A9t^hSjDO8fk<44~raEK-1{Zo>b4!Pc)ankJ0Llmp$j_wu0~e*aj! zwE|Gc!tS;{UickEV5mvwVWg-@^5UNpN4FHEpkONp1cUJ;HVtepSgMP`>252KlaCzT0|eybp35{=YKw%t*FOH|7+k6eiE? za~6a3lGs`kru!pg3PZ@$#BoRP_9}=>ksQ)dFwR}rmS;g9J%dV~m#MCsNarv-wOV3Y zBqq5zH0{2L*u023iMG0z_K|A-Y!&h5wEz{T;5xK%~;soN4dN%9~2CdV+nuG zTA*_9$K&T9_d?~bQda(ErjrxETFPaw-gcP{r++Aj`WAyZaolAm7TEd?!WzwD*&{PF zYWmYw`}|d&NW+?2xAHDNFFEH?b zEob#D4G+N-vQ#V-=yeKh%Q`f)%K2V+jZ|`>gLC2)Pv^Ac0M6}lB_=CufZqgBJl}$- zl~jTCO5_8@O24ype?8QP0;Wp#!gj;v`^3Uxw-LeZU%zuGAT8}hftVaC@%>81X(gdG z{w<*eS?iHQ=zDl5lv1B(yS90`X}`u+P=-eg2gU6xLnv%xKEgKUokYl%gPjFX_+%Vv z!;ZIz_Vt@&YGUyw%Whqt@Jg615RJ|b+Oo#!cyR?fCVtC`53tN59|B+<+V3?lgTr{X zdH$Y<9?658TZccIgq0hxVl~7z z0_n-TaR5>KB8itz=TuTZ?n;0E^YaxFBa#rl!U_57+_GhaZ~6 zRWKQx)YRvaZ96AHsD6gig+D6en!Z-!lRjASvbKWjr%(Zp<{ONG`BkLM)F;OxmPSFA zV9dOpkN)@^Y{A#?I>i2N+17(p^r$c)LNx{F&+CVD4%P(K_gCDwY<&o+n*0r z3x#U&{%hwWehSh*U66Fhu(Tfu5(W~aH4IXPrW|hya`~v)k-bk1rZXSU_rdMC`o;B` z&Fk0AzD-#TF+KC9n`q2{_8~w5Es-oHfdKP~j6-9pIt|px+D(XqOa#pV_agEzwy!}d zDDB=fpAk@LCO;Y7a~7TZEW(%LwvXU3(N}S+sPJk`zxnFfzDOaFWgI!tdbIH}XWxAg zq_?I6k%vFwnvVI-KD4pVsKlFY0WMzdN z3$6^YKp6|>dgoQQp`0{iI@npo**3_@TS-#0Q`^rVEAr-*yY9)uP@aux0BzpsvkV1^ z%PV=e7OQ#4eEE!G@)SCDSz55OCeh}#C<-{d4%)I~yV^!^XCbX<_E2jZ=wxm~MXtX- zR}K=HDCml_fAw`B+Tx#b9KW-GL7A&}U+QYrA#3 z^|`x{S3;xSG`mEGQGO&fl14zSQSFSSFbD)F(+>Cg;cWdC>)(_n&S%^^KoZBAj#@O1 z9g~eDY&fAK-o0nTV$azxvmCuBno1y0d{L5MAYm@pd)y{;kKrM5cVav?OY11%wrwtT1OksBxJe%)2)DjaGKQSBg%gN16Us_Clsj3a~ARH5{KI)yLBgUKc4H>=0Vs5*plgkVp*pu@cHAWxPX0;X|DSq~f$Mt$3_H_sS)EAnFM}PHXh|tED zBAPkV7M{uI0}gV?BRCDot-Lx8at|+NqV^r-IPW82ysqga|A)Yw;f^vmNk#g@@M@#> zB(Rqcu1es;aD-ofS#!xhg0FpZb7JW-3dA~_^E~bcH;{Gv)~v6f?6G{ zMwcGA+r00Hln+cK2-qsQR1r+Y+*tN8nYty)$+shMgC=e#SJFjGYQVzf+uU{4{Sje; zQT-bR#j1KFEJ;VnR7{V=>xKvsGn=eTL#n*i16zN6nY7apq0vL=RFXn*gJlME&yY z%By#C)BN{Vr@Njf7}T*|YKO?4XNb1A2|xGq^sB(}IK|v}w(Zoni19rURb*?5Z@ek> zdD1v_Fk}|SFa&r3me|p+dm!b^)m=xX)=s2f&Uh>^q1lYTP;%U3(`@g@?TGYH#mAyA zx+GjZj0AaMa&NBP-@E_Si(WdmaXr*0p4kc& za@Q&xNO@v7n&7T?Nv0Dj^S)}TsWDmvvs9sgiz>MD`5Cqc3tyhrJA zL0|mO6dC=8YVUt*%o}*%Yn3UE38noUe);DPznGbl;fNpUJsHRsQ8{Kw*xuOka0jTg zEJ;#PwR~s{>*4Zr+51Y+_^3fuykkzaaC0==o&=MG)9sY%cike$rwbmr@zNt3{%@g#cH)79eV{8b6@B z=fDopc5p=ZMutr#o{4%ZkcdO*>eGQ;iLwgOw_a_xn5GGbJe+`Uq!@>P0)%(yUiZ>< z2S4bB$zRd7Tw}s8-Wg^}5IEf-IiNA;0j9iJ(OTRaFMB;o^5}WdG?oe5UL$`p;j5P5 z8tdqSl5pv)_rkUCI&ITyU-J!FH+!SLa0bam+`zCp31`VJ@wn zRd#3nV@!f7Z02rJHfiI!yxO(-G(#GNwO=`hs@~)uG8U8_d-b+$GrM!W=0h0 zWF+B=;|XEm-+e0UU8#ydL8DmiH6pP7<OnMRjO^CtaUcrZrAGUZOu`eOQqucu`Es?Ane0$NI8?LqoT8$T{qW)G%^U(ma| z*Q$|&Z;Y4ERtr~;5ana=^3m$G%tZNY>k+E~Es}tgb1jEIiBJ zDphS3e%nGaR)vr(BdyPa$#jcUSsniF!$i1iW0!QSlz>4PIqoPu#i>qp-D7ZG0-F|T z=^nRa1tlX*ene6YYNn#Z9^!XY4iZj>YigtL9e+Px@h9cr-l5@HsX1#EJv*$UFgnP6Y?5f z{!+?B1`W15D_jv_rM8ALqlDf1k?v{X>}W%7mFGr&5uNjo9Y#y1%e#NPou*pCmk8fH z2%d3oTcR9!A~y6I+dRyLDA>wrin9I>eYU?|PyTJUpRw$}Grk{?;U|8C?=>s|+ zvBPIqL0gU~iQVA6k4mkBN=v{IusB<}2fpf6;3ts63YUjCV87-!uM_`xLBH}j*kgn& z>@n!%ijJeckJ^1NNr9;0;bKoIPEd&oWopDDXEdksoqYr;fN&Gv0L=*ZBhV^Apmk{M zIA>DLO+FWf;+u?4a4ft~$T2JOT;{}sf_`B}$f0`D_{$+#hQYNCF?|y=6$3C$u;__+ zZwfA=>rl}MUHU>V4h*e>?TuJo`6 zUTcQh#tBtn5(l^AFFZyR?Bt40&(x0Yq zw`6$HkASSg2C{xojU>43t#~aDRbOPB#K;BSru$%JAKx3JpH7*M^E}x-PHs=#`eC3y z38pEGz)6!Xat)i*+AgbhJbbx+ju9Z8mAKcenaHONbDtvuVv-pA){iA!oy5f?p7pnq zFFVquorH`P>Zs$Wn7!pDF{l{H+P*|CX#~H*ekvFL=S;MJ@XOqnS;8pSxi2o4US*Vv zf4sWJ`r5A6aaeB~u>} zc5#Fm`eu=Eg|)GGbt(0<0}|z1jC{RD#bv*&7Qo=8caoH6lAfE?Rx`ve;~bHgr{fi` zx5R&bdOC2Jt5gAuaM$Zm=GAs`Jg^W>JW5xVk?@`#t#U7_v?jO1&q9-u6t~m}li6@z zOhVuE!j1Az6YJbI0{$Pc^@7U_bm^YFx@t1;X|s!=_u^|Xb(PawC8rb8cRY&+@GbBlK4h?!^@iXw=G^q5JoYaR&3Knw2xV4;xEw*+3md zZq78%>X^KIz;eHML>jSKdiMaI?B#wz%JY76k~xmVEq8epN$L2soku#S&dBsUI3&z{ z`IPtbIA55r3;KRZ?sj~cbomYvBEFYjyG2b=57j3dhN#=Fy={K-@oTV1R$k#b&d9vS z6&>-{8i)PO`0#&*h1spoCSjsKJ@)Sx4ZjJM9z3M}gz(>4(Dt8)a6K6z_9F3VKyNg28W5;fxF*5Q_NtpN7?rlHbs=HZVqbDGS`s`mKB>Z7f@y`N`e|7djz7>r>n@S6sKlqaWO`d(d<#D`-~3$`<+fA+P$sj%ngk~E zy*KQmy0OR1`D7Le^_(hNrm+YNkZCVr;2Pyc>k|t!g(kKY<^>1MTfHF)2PGmxU|E&Z z#MJa+m5Nq-ox`@2Cf?I4BTquttM-P}olhsh zeoGb2(>(@@gqoV$)%{%tbkx&SS&6CI>P%R&@-c(Oo)(}<0BA(GwB^xv2lQk%6YRBc z&MU*@o5(Jzm`v#W_-vg?jR2=EBC@0S^pdpT@F^4Nq_Kj`)8Xd)qFex+0N`Z8+(}We z4=Mnfqe#zHU0_RCJ!WHcK-Pwd<9$o%EVu&ma8DxU<7S&MR1G;Vj4D#+K+xJ;ew*~* zlW*-HC_Ah-DFb^H)nu@dZMhbIB*C}Z0vS&CdLr#KBA84+cs*K?y zj=~CATB2w!#O-iJ$n5?D-8}xMM#sDrR97l;bFZI3?-q_*_JVS;Za)dC|9pb#MlvG! zM>41j$)KnBlp9&^4!C*$l1bb=?6nD^B3$#%K-7H?Q?R%HBx$3-9#2`qswG%=lN4u> z$}{O9-b;-(qgl76GK(}1@fFAi1s>Js^&aR6_+s1W9i&ra45+H;M?}cVB_8DF0GD2+xj29#cKIR}ZvpoLJiFb3cGTd0FK zMsZv+PnwHT0XRT{RVU;kaS8f6&R-8`=XMNq<=V9w>~45)G*uQf;<%8wZCPV`Q>)3@ zPG%5Se*?>0IPHGlLyX7WJ(@cMp~595BFCxZMkSpg{5o?&A~ce z-1nLhno~uihuwa?q_I7r>oZ#7`Q5C<0Y0ruT)qM~%hUTe1lr5Id;LHSZ;r7%I1igD zHp_kxW4F5mq;E#Lpf2XA#9rCI(A_GYGQ={Lqrggj#&5qX4)|F>|C<7OGafRc=120N z56OeG%RG0DzNa0B>F`Xb>#3st;~43>dIp9EPL6+Wvjp^KIuFaewWyn%IJ=}_=umJ9 zk`3N`d^Zqu29wp)9zU`V>GVWC`*kY3sIKrZWhYlark&}@BQ}loynNB&O((s5M#mtY zRH7+2kMZmZxfyN8zv9N(Ff2(u7cT^CY4n&;;);qv%i4|ckw^p?0LhnTo6tT*FSw4F^aL*)qB+ZH@%h&Cm$A0B!VmiNQaP-U=;E7`R<}Ma z1^03g-XTL70(D^BYixk>ZbO@1c%ufQwyu_E8DTLHb@xkk^W`G{bbl?)&*b93B4L@? z>Hz-xKZ|O9TbcZ`x6ki-`(%@mTt7m*5kxMJMu!@yACV*ix9i@%4kopy;-;fz*XxT= zC#!`M$dQBRd%f$lOh4=-yswx>@d=Cyz%@-T#tblYGi1W-&jE*ZQpuF2VNcy+SsTs-79CiwgZ`29u~4sAGccI3)Bv13qMj?Rpj82 z9wm)+OZjD`6~wf6y}cXunDf49tc#*fRBL*w2=PsEb#NM2O?N?Ue&oUYw9GWa-e})kV4UfRF)j&&0h`N9+~eA=zxFFc~k$Ctfze#2;14b zFvi1m%>LN%`VJl$$~xwi4!0AD;w@jiZ)!Le1~LHK4pZJgxYa+~RsDu@@v~jk@7h(R zl966NLM|Ta6A`UY8@kM;(W0_+G?OCisS}4?Vg|yf<9ys&H1p57`1&C68}3)P15?Ce zq7M!u9n*UWD0YlY2^H*qsqzZzmDA8mjQ0I_L^*OHECA~H8!9Xs{H=aWu0Rr+G@9fe z{kdmr*YRZ` z3#C#zoh7+aIiU8FC@j{ZE6J*ScDaV9`YtyI{a>T2+D|^ue_w;@|1_V+T#1Z)@FS3J zg+Q8U*3d{5mpdKm)G)8XA4`=r+n^>nLTgK)Yfx4AEC`fH+j9)9He%G#BcZrbzP8PX ziM!0-)jk4U4bljjSW~A5az9pyPIgbX+9(Y7ab;{zyPomu0G=UR`id_)Gi?vOB}-4 z^R0vU2`Z0J$wDNcfrNII*DQi224ZLzzK6H{WK+di&Z%7i|wlI_4dO? zoFvWz&Ycl=a*g!->LB^Iqb4c98@>@|W~ zBe44+;QT8-76YvTLNH7C{uqK5&J8-Bc!*8`7>v1_3Dmc!bondu-zU_!on7v3RxD1I zCAVJ?wQCV$H&$qLY;;U`yUXNUbR~b`lK@ph*cw52yQ5#?g{xD=w3YyYn%a8kaP002 zvsO5_C$?^v!_<0+wN`I-tFD09Q6sL zzZN@HS!)ma$qHbP&4+vnz?1=5h3^}q(Dx4>AISqR8us1Z=f^vbji8R#@GOSDI%d-A zU7r=q6yWkMsFLy&ECgW>u-re3z<#A*|11LgT@hFj89DzW_-^~P;W9pqL%@hv;zEbG zYQkebSyzSbP|hu@*W&b6V>bvO6Z-v!L!{2X%swo8xQB#}Lc8VM-Kg0I5@=53x9O_( z84>4_nr(iN4-{N>?KoRoE1hDdt+S+VD>9=k5ws(6ucIT|2 z{EPGv{aGyV-#K;2f7&yHrdi;?{0Onz*^QWKYeY3dZPrfiR}KYC6EnjNWH&ybMHHPi zJ95~`;Muy3CnbBII%fK5e`pcaj|+$T9zJ?VoS<;zqh796z*%(d((IMr3IaNBXIG1p zyQ4ptZsi-wT&NKYH#-bfDn`~oJOJ9nim!!IyKFzSbH#6b2 z7)2{%U2d!J?Mb`8;t3%`bP0nXV%P7|M0c7P!On9Zm_+VU+N+a(&cDesw#P0vT#r}Wc zEq1-^NLtK4L#{0qxf>fJi!x@?*QK-8Us}9DdN7*-Sr(RS{5pOmYUV0+AE-K@Rx^Uo zF*F}=j=(SeneMwEcp*GCE~H0rS=NcRiKz$$hG=T^YCpMZ*pjFXaH=Bp8dBp=E6?te zsn+!{GmU_>As_rZ`@jVJtF6tj2wQ}7JbS_VVKjgCguCDEc*?7LeEk%X^;adR|F%kI zqx4On^2m?bGGv+$)5q9Z?m}#*H(Yx(!Z}*;zk6-`AKz;O<>nemoBz+?xlf}3+4XPk z0D#wUbg0N)K+6Z6qKOYxmNgqex1o|l*eRq>h20mNU+uOrQ9EGv0g&top!!scQVF8sFKC1gZ&LCNk zE=oh&wo=FhL98|kZp*;LJA$*$yfBjr(AA5$ z_(MXt?03;oCfb-9`s(g$er|dRIaakV?fNj_sZE|QLrS$2$k9U>8;EG&<6;wxvAA=+LH8;#bx7)464&9LgPJv@ntjzlx2M9<`vL4-QaLHO@HvfTYd zjCuQ$ilBh`nY0%P{I&CVL=5m;U$Ej+Ey0<_#)#vIOk&Tcs2Ydccf6({vQ3Wk%wKl8 z?xK7q8LSS1<@VJca8(Ae429?wkz!ObxQbQHhn|=}#;v4R4nQrMGK}}Fsj$WY%x(0S zOgq_Rng+p1rhSJmgl3N(1HseHS?amFvmYKrzuh4c<~IdbXV4d*)wtep$Mbf&a6c4U zVpaRVe!}Bp#FCOSXG6z*z4PhXs|gSp=*PL8vISD0+>_|1hva9E3ck~y!{F)Ax;=n9 z&Fh8|R?f~m;U&tQ&}(TQR2&|bqIg(_)GBwZB3xSVNFXZf7KGud?gt-huCo#<9fu;H z7}~|CejLC5GKOV&&`XVFj>N`%Cg7n_c#aANAKW`~=6HB?W zT`Sj23mOtjiTU=3jEp_8U(i?uX>sZ-xk>JkhI0IAYyg&z*KG+TvHtMTRR!!rrxVW z?4d2W&XVOb4t^u)qz25B*dp#$VUOhU_P9;(7TJkZ;duB43HsvJZkAub0UerK5l%LHHwx?3G)@@*u6xOu?oXn$AFO!SD&3aVYuv6VGR)Y~E9b04pxWe6m{Bv^%?a zPupdN@2^Q86U{WF4=7(Xvb2IMguz0+X_>^GR`EW2FEKtFIYWFIZ*srua+!nf_iAlt zVHl@N3Ov*$xs>g6rV~L{NZBT}_&R278J`A_;3n79l?z%*?$MwK0|U#2;a#8{Ecp}W zRErkLpr_lIkwE()4#n{4cJ5c8e&RDg&o)iNcJhYPi=swXp4A=&&Gw)ey-cZSY&B;g z(?!1rsRo!n+W5KC>}^a0mI%2FvG-`7PA%y6hQ#eo2G=^uMnLfe2l5vsj57a4=qA=+Z`4H zMM3ftt5fdi6EzN1qx;>Q7U(MCT@ub2%ru`8bQ(F8=3zEvIcNh+=+!*dy(boonWASE zERGo#b@C(7LQ3>)ubsbaF5!Rjp85mQ1Yr|T5Znef=$R_pC73j6?T<4dG_J~ua|&7 zf$6%WPAj2#TCaQmklBd`xGG2wThqm>joR9)1ap0_f_>d$I0}8BY~N!FXr6E7P%1y( ziGJ(!(wj@+9B;#m#xXsdJ>0{gZU+V=z~$HcFxA@GWD7=Qyt7}LGuMleeKctdL@e)u z4uH=ul(tNGT>wCY6y1yw4cYcxm-Ehlwn$;G_})hbxLY}VyJpq7z`-_20bnLE-Zi-Y z6IS6_tPEw5)tNRDa2H7c#B>F}-Dm5Gx24O4C|)q1Ee?_ks|6uQfxWlOxfTptK@fTW zyj)sPlkn~}0u-Y2&{5udr2mjZuVKAYqhr^F;=QJvPZcq}J#OFcV8vA{n_d=z#NNZY zU5*kQKnMb^6QDT!8Fh3Qsk%Y_>x#NRm&v`dw*FU{=5l$y0!E$7(F@Qs^m(aeH1s_; zPg-?2L2B$yJTI)G)b|Z4csVX6=H$xBICu6Cs1e2P_!4z+w= z56}dB(%IFNHt@}lOlidF2;{M!73({b??m7-a#kzBOJ%X&+wwfgn6lOOSuET(J@U9R zBDzh7-_IesCd%ALdvPq0E1jvGOz~Sg&B#(8M$E8PyfTpkBQfb;%i5j}?UwEpx6162hit8YKDEn|_LD28>t z@%|JOue5FJvz6h=P#xyr-kzf8M~~XDSGBt4`%!ALf|uH*(7bP?-+d^T;~Qa{)txQ!;$yS~ z5K;Yx3iF0^Bt3WS!}sr8^njetzm>31zPE6AM!iiU+{YP(mlt!z^5(*&A?Jau#OZt% zSRZ;z?^~O~hGCX#ek*1#DFRnCcN{ip$#W)jA>6G7OuQatf3$fm1qyLgv z2S1Km>JQ*f9|r5TQPc}nK(;tRJl(0CR-hcYgpF;rjjsH)$cO4!{evXy_vrn#%&AXP7OX zuvWx`g2cuAgLnYN4e)$MbFIY$_~R8zA3J>ov9t-}ZYpF(*K2-DF49AX^4?c{T_io8 z^+@|bd<8}gpHRm?L}*m4%?2jxuG zieEOqicDsk(Mq%>W`n1{Hr7C}M`O|QH8Dd(&lN%6%cIg}k6LT751K|H^gJuaW6S)& zsu2CE=6V6cY}~7+Vy{pG0aSm+hpBZ@%e* zcdj9|T|b6BOlmT)n`ta05W+4+11tSAiqHU!P1sj zWWhq}ULI)DUVgp@`JuWeU|Zuj*`y(Q2%rN8Z=J@_5+mv(g$ijsf~6`LNuXfCF>^D$+FJ>h`1A zK1) zIAiuSy+~?d{&?;4^k|2}V8;ad?B1j6(pf4ajx$4_CAK2=$M28yhajM#rNB1jQ<6H}9Xx2?du|eI@3D=Vord$p*C^2`&a-;^Qp|tAP%O&8#ricEUVd6w7y(E;_f*zQFO!-yx*=HA7M%>8*O%lP3jq8mr^BE z3|p*gJ+K6*TZ++mGAy8j&L-?-D>G33rn~?ylv()a747A{e)>2u+A(@|z@d!R{JD!# zSKP{8ARv?;2kwn`!BPYNOs{=ksrzd zcwKk+%d6FTPo(N({4e%(tSz4r?9x}#);=V62kdB$4>7nAQxL2)h=sadYs_8IeM&36 zqri&KS*=MyV!Y<*Egi148=v_KSD>!~2KK5@CIN0ig2@vd7vBb(LVBI2G!BVx4#HF9 z2UoBVkx`x%Q*Y5JWvqq5Z9HV6{W;>f&HglF{?E!Vn8y{Ln_@av!``(NOEB`g%b+u= zg2to0Ka5Hk;*y1g*pr+1i_HWS^#o`)V_GK=P)oS`@~lp8^X;=`Ga1*^O@d8*Mg7QE zMO^xUJreV$P!G+}yunA=+8R#x1#8*IEsG>ay(kx8yJo)v@b2ql)_St9$|at?X_t{~ zvGZ&5Yf|?6)h~wX=#q?dkop_0Lr!kPiwqAlvnT_MvPYqe5eqH5Ug0QX8e=>@fpDuB z42V@oGO2%yfUpu!0f@Wa+a?6V3y$`jZPDQsqa4%1vzRuB>P%9O9Lw_$_^=IFT@G#< z{KD1JSjOqWS8(!fZTBS%NOwn65rXI!V`o(dI~gMDkR491=pViVS1V8eI{KN@kyA=J zBrBA>aZGLCA>3nAIUU}s7^gZvB$7kZ+pl1dtcoT=0@yk;uJA;Yl7s+ms?Mt9)&;~< zunFn-Qoe0(1nu}=ef{>OaiM>3CB?T9C$<|VAuGpfI88#Kp29~yKEFL@93H!q&o6$B z5}7|k!x&-Pa^B$8oWDc#Q+AcJU*ghc5?-~w^;;_PWl{&ySKh5)vE!-+^w`UM0X|@* zr<7s1t{5Zu*r<=gYfoA%9bvy}fS;EZnY}-<#AQU{ah>vN2iWmEPi?G$!+d!Tv)Ii- zia$vW9uG;k9xjk*Fv2W4)87^Lok(F<`$Dz5b!th50Go4f1o~|tnQa=Q@K1 zbRo}eg@MB$B&j7|^rD}5l06FP1bO;-MNN})5ON`f>+n3zvOyvOhw00Vka#LgCg*?k zTkDo|8Gu1+2rkoY_9Gv}z{-{zPnV%VAh8pe$b8co^-3D=@(B-}aoBMfKtqtoeOa#^ahXLeR45#y zGnbP91_-!U$L8oYgHalY8wMyhyiAJfm`f)P_G? z(S{3BM%^6s#4dcbJ%z31!dBnDES`g#gj!fRF205xl%K5q%>UN)%T*PP{4ZCs!MKoM zEbJ;`_5;=du7T;%k>hf*>G`I%G9_{&=8%OQQAgV9pmB9uGeA!m%w(q=U6Z6bsU+o0 z1M_LWVZXI7YG@d6*Q@|4tY!x;AQ|Izm^%~|V0^eR{H5ZaF9Ig-yK{MH-lLQ6B<;F* zQwkg#dUz!0?5NRD=^X{lg@I+Y>J>|H@B+)4u@U=TkN4#{5t<~Zej$TrpYMe#rL&>{ z4MM%@d+$OJ1!@pfo=u@Gw{Th-cq`bMSVJ5id!Sy^8(nh;q%duTAVdt_B=!*RgJU$zW_|H;Rnw>aQrrP`2!a8wQOR8xphhzBMpGm63gYnFG$f5y&3UWJO zo1{YdDD6zsz+RTl*y#suv)TRnX}#a`Z_o5!4(626aRM*!lMHxP+pasA+7mVCdi|ie_N?K%OuH?a9=RguoY;uC$M6hWk;mO!a-B&M1s!YWzwPU} zG6?o>SHE;g_SI3&(CW3%VB<$Cabi@d?e!z$~kAf@v^VDLy;i)!?MD$q%X5Z$gN`M!ruO-H8B`4-=S(j#xa4{=J1HZ_-s zj;oyT5GI4mGacDXX1Zn=2XZ?sfh7lY@x)$+USd~Yym|+KLL8lus`o$X(maMv?3ZyM z+S9*=G1hoa#7S!sd!`z75TZ&}gN&C6@0g~tU8Rq>4uX_0HiN^Rd@7117{bw1UPoal zTFO=PoA`S3q7!YduSq_##~#zMmnA*&?cm&0 zw3KXC#D{0J({875{zm0)THJF}z->_&=ME;pDEB=TbnLYxXBh$EZ5*Qk5;FF{l$Jd-HFY+q+!gd>w{rI=rM<;-LZd z7l`Zc4>JoSiDV%CqmrYz&)RWj&Lm~?g)NRRYvz9W4sz>Ju{yWSk`E+ng-{Yk=Y}Q; z6zbtLmb0RHzP&k~k(W+IXS1>FJflyWwHD_tJvi{R<5=_Fp=-I9weQgx&R1#sWmc?s zMV$rn86v7y8=?ds-k!5;tS&1=8 z?yqX_y5uvQ33ZrjiD8pW8IgS_=T?EYfMOccd4^Ujso~x3l#=w}?bv6OVL-yB?xY;= zts)h0@~-JPU(RF~XF_7kJJnR&8q-ssPDpVWw1Xdde*jjPha}S%jm?UsG^!CyV)Lw(FR##zDe& zZBKA1T#52nr%?*ytQCXZfvrBccr(9CHiiFKg(N3%kQeJT=&i`ydH8!+{OQ#hM0e^~ zf)!G4<|^28*7{q|EL`g@08||+C#u1B`xS$Iki>-9 z5Ix${htnO|%l6)@wSOW0AbU;5M8OBiSa|n!)LTi6UDr(k1K-@t;r28>`JFmWYTx3Y zF5My(33pmAh z_Q#XtnL85eMZ3g}r%trZ@;dBSS?Y;Sh&`K|J^%!-Nb}uh9IRFtM_NwXz0n+`09h%N zZFaRwvRd|;(v6ELH^!AMR-)@b3vUBC^ zBGjZA8J?yudaaB7cW&SL@G&RJkJ(YVWoQ!J9W}_TLIz{hxBdIaY!7{$?#X}n6 z9@<NVFdVJ_vRz!d zFqjZ|V`}v}X4nD%?-{QtkUI--6c*(IG%%B8#*p8v5F$qG6=j4zx_mIoTl+x5BLF_M z2z_G;QwK?|Gm3kChR!P*VXE04(3&&W-_#7jgvhut32nd0FJPvdKDzrcWm!nCqOlbd zr*t9(M~pKPyh17@*RwgJ!Q?DA<&NAVi;SHMS-B`{tX|(&+Af(#LGsBujWD5%%4X#W#lR1}TpwXTlI)I`?K!O8$_|9PNIixjvzkcMxv*dB{m8y|A`^WR_ zroQ!EW9iHD;B`jV1v>f4S1l_TDJ&mAV-I-fFry)v_+2QtHt;U~4i+E_D)}3paOULT zTm##vGgR!P@WbHBH1GSvjALF(CX#EEFBd-Qm@5troRA3*fq8Ql%Ox*I-tnfn{H)AC zoVXZGE^gQ;ci#6k+7|rc;t*2v` z>rDm1UYq+Y&*@mexxpo}7(DN5tE5)Fx!E?s@v!bw&jG%W=Mlkk<%NxL=c`t5Civ=IUg4iyc>o(5MNEySzmUfCbWs(oO-oFX#^96ic;bfaMWtK5~8Fw;QSWd4Z=DOq^v|pGSpd zlqJXTqva8Bse2dK7MEQ2G4viBxZn6){vZi;L{vS zns#+4v)kUuZ6Mdw^lBRWYWyG_|eO z#h${)+nHPkFBLiD*An6GY=QD0D0~X*TQfTc~lo0)JW z(C(Fz1M{I~b8Vu(;dy^H>U`(}ntH5AWai@jPp25q6m1XvSaG&Den-UO%*Su;f@w45 zMY#{ukF1(w6qQ_zK>iPC&ht`2m!Ow$^LVB`_j*)s&fe4xf$Pq;T z&IzXbR}X40K$T938mmu%U@5OFmyP+k5N30+rPJXpT?0=jCJZmFUzf8B93_J#kYoJA zZZBSFj@M&nDzy$+I4VTa`SoNuI2=cGLo<)jv{eiz9W3IC!$Wcb6mYdduerH2h~4-M z-9j@ZCk`qEUjM2A*Za=#5{7BT@&X(4*RhFe1{p^3@zPD?(W z1Ui)8?3D}hm}4dYUcb2@$kfT~wazG3$ag1Doc{VPi;c(2z})4wZGY#<9ojlr zEgsNYxU;Fp&2T5U7&RJQ67PxLtA2V0^=6Vm#i_e`Oq*gjq29|EsCgWIWMP;Hwr*3N zt6kb(8Xw`eoZ$qf%)+YZyzdY6JQV=R!UYz*Eb_hWN$h>wm^A>zGF0P6w`;~49;W1} z4ROSw9enRX*^9u1Xc}ml)nl7BZg5tl2hflWBg&zUQu$`jl75|i?Y2-qDKi}e<#2Jnb%B&EZ zKK&6`R^+kSaORHsmrBitxl5g*KUpDk=VLTNCq37O0KfhGJ!GS4v2#Pve0@pntDFOz zAO)c%6PVh1`uaC7hu4UYj_PRYl-Zqaw5XHU7B5^ra@L2xm{wfhrb;De0_~RuRGy42 zqQr@hfcO*2^4D2vwq=#~me-e|Pjm&Bw`e2ctS9C4DSjyllG<72R9F6~FZb7KiPko|=A z3%G=g)TqRI+|auXlkEqX9)F5FfuoyTioj4$fT3L|+9}*Pw;TL=o7p6uuyF0ulAQ$_o!$HRDC~l|NhfpA-W{oxwMj?5& zN6?9cIbZx_=JA!Tg>Rc(LOJ6;mBVf+dq~|;`p>{G2h9&Jo;$?x?F7Z|3&`IHa6bnk z&5Ion($B_}yqsK9oyouxhzt;sKk6`jH;ez8rIzOSfpag5%yvD%HPLu@;dc93gRMSC znHN(Po;3zd^Fc_+L9GnY`;)k8R$askv1*I4DX<2Xcez!h=Rol88clBj5uN?qksrjv z!Acw9$%cX`%$eb7sk$4hsqtV0H2&mdEd`G_1PRXa)AMY`!n$ZPkzL8F`uvq|Z(|Ny z99VoR%X`jIeBZbDi9Y?wyK@KE_)Th>956MCO;&53&g$CE=#S>`mUqfsA0l3f$G&~p ze=h?7IsgS7>RONnfd7%$lNZ{5Jq2VsU~TjilgMB5X({%VMYr`R2@$CyGBxU=`&3H6 zARuApovfj>&}iQMsr%sab6`>$wTS7>HDG^({CwHR@Gf!wN{xE-E6wura|TsLi~UwD zUXK_v?^1>|ASoI5q$7{W*@0WC?hO3Y`Qvsk*h&dPyC%)TYCt8GM>i<~+79Ec?hViAtQKT0dbM(n>CNoUCkY(y_+U@aCTUFE z=E93aBLuc0Y!^(BnFH6S^J4k_<#WqUE3qW0aV;D)LI~KfGQf|;GqFTCQh0Zb^!W;1 zuohG$d_Dpq_#T2pin|UM2-^Chn4mFw-kz5XT6As9GXh~{(V#zkwffsQJF4PtYrnmf zqV-GE*rbcU~S9S6I*sk`%3#OTa`M@D*-GH z9EEaz=8?cBzMYM>(Cuq~|E>J~Ls7J1f~Yx>f=JvyoO`u3>c(O|8@A zvPwT+haMv5-=BzX;5ZB}X&*&bi`dbBWRElF)Nmmbm#+BDFc8k(Q4<00Q2fS0Q0JRH zu=gWIbpIQ3l7N)6`bP4X^7q*ZS;0=Mgyxa^vHQCnEP;L7%FL-(8((}+-f2o87O4V5@PhcbuG8sKgU(J zpHU?TGa_S@S&yi)bg|XhBh(w1BJZ#yVE1f}YEbz zs~O&>z6)e-b0(p7+9$6R>_-_!GVLEDD%Y`}!1r?TXKNDySN`1? z@Bzpj5j_Q{zc2daHK+DY7#yYdga-x7s{4quRJ#1e;4W~d5fiI-Zy!S-IG&DI!jSn0#H!B6v zAHI8qJ|puCJ^{h6+43X7nB}}%n8`%~(D6pa+V-4LLZvX8?@S=2(7K+P{Z(-JqZZ&Z z>J8N48|XBzioczH@SX^5?JYBZJ-+2P$QNnTy{YqI9W(BlPZ%br!P?9Y=TDDY+7 ziMMJkZ1{%oFDj2Dr7|CB$w}&lbiil1MNW5L$!4)${cZ~FnRz^iY>Fyeq#Ovr+?X6( z#$|$v9HL(Jd_rAp9+hrOEleTC6&z9%aCR@OLJ*e4Xk154UR77_mf*?~00V?xmF>S% zx=e#vA(y3Rlt$=5D+IeR1&l`I-TIv~4=1H*VZLE_L9C5oP@h-Q?v_%%u~^S-sqoi( zl}T=cJ6{8VsN3vZj~6Z*KwWlb8$MU8EaJ6{b>;Fyl<=R_k$lQ$1u!pYqTt?E&i7!N ztbh`p$Y@A?uy+~MIeO5PnFyt>p0Nyl)m9iwdL&LuSI0=I>g?S z=G4%<{FQrb;%xQcsx`wLIHTQ?y;Jxx*{o_173TnyZ-w z*+iO&`0~t>bmAPvy;3M=wm+=Xo879jSKA4LkW6|Zh(0imSyD*@WK8!#S)X}bgFt-C zQ1;L<77}d*gDhU`?&lF2NnKOXJ3ECM;8$r{3}};RoQR7UEl=k_+$3&v{&EB+>vE)h z>Jcyt=z9-R_zrRsAi`0>QD%7q&?z^_K3iiMzar2x5=MK%ByiR6*#HC=b%vpG{1k3p zcW$Fo&TfA4vW=BA%da^aKNW|t)+d{*xFpEk_{1C15dB#x)+CDi#Lk*3E26W_=$?Uy zPzukN!DqEmFPkn3-^8?UcLl%&5D(~bSo?IvMT&pvtUl8TEy4@)Z#O}VeXG&kZDew$ zFmGQHFKzUNuDqvTgfv2;%vwY=>1$7<@Uqu0J(Ez?7?!|+6M(d_SwrnmN}e&{1ah{D z?yDD1r4Xj-@E|7kL!*xqqtnod5?|v*m+o@ej@XXntV?!HPPR0`2>C#`cn``Q9c)Z`aVZs=T-5Y(c8JjpQJ{~$ zMd51H937Nt4OT8oQav2;d5jGjq z)E8Ib8pqPyn({=qiF=qcO1^&6SF=b?GY=&{XX+a4!ezxrv4SrI8*3#<2hPi{E^&X3 zv{aL+XCDNY(6k9v5Q{@5Ft>CM?X98t9X zzhrSX&pl&_1`yQa7ijFXbl65ak;w<;=A3U{c;U?j_QK=8v4{nsrT_>Qa2+N9d<3|h zTtM5DL*(h8!=ImJJUP9b39c-0MT=A%QPo!V#mr(+k-m~=hoF1TpE=YP`V}AK48`v^ zZ#R2-mQrd02vnl=X3yU77Y)2jcig7l=+TXcv5?54hGwDti=;56Xg8+g>IzkrGqc}U zNp&$5_DM)h>oI42Kp3R4V|M4wdsw@3a6qACyAFgu^)=IenXXu$n-nm7hck9E8E>bC z^M%?X@q764v(-O<*RTNARD;P}!jSH zxJM*as4#eZiFf?%r^r=lb5^hhe2~k@R;2@dk3by1QN+}V5cJLATVj132YX9XwPbbI zY+D9?NBEqj`>_l6008TGv_~rvG=Xd495TGgRHMBItMKuy3XSYI00H!g06+~MtDg|y zA=I}+ZpbJv$4^TN1icF#`5rQogBE$ljv2aNiKmG`Fz9}`fWoQ5M30AlnPKhZoqr_U zSa;zjH62WC0xQtZVOBU7>_GYP$(K=0+ za*ZB0!<^O(=`GcHc;pa>0#K&Pyn!GVWq;LXZ;d}Bmj!8Id(QH1rDz~_|04!Yx9#1& zM%@cGmTCUy#gStlXk}C0Y%F@c5k8jmW6kTMRu*yXDqCa;Jbyu8RCRbKOkQtKb&N2$ z+=IQpNA)m+D0%T5ui(+I02KN@{q;%g4U^;1xo`OhOD})~LLSG=`A`Ig6mgjON^F!F z+nphdhzv3F527rX; zVYDiX0H$43**#mXcO$qS-fODsnbf}xl><>VO1Zwu1p;?@nep27S?KX2sRJ$(I-}`! z6T$3nZi}6O@4iLnzpq8RED)zvcTvWn*iUe|kKk#1|6I6Fm%>NQ^LAs-21cjBrQB!m z_iNI0d+&k(1Y(8my*Ismw)Hzf5G_ULl%afKG>rZt`dQgwGT=N!A|M5CqZ>LT*|o(He=-y)nJX;Vm!X{Yg1Eeuk=wT-%?(k!<^ZkrfIGe&>z zgU*KN($%a8m9B!3nS<37;_{1{>mY7n+b0YT%zA%66(l8}790^f9Pu*n8mi%XpIb-_ zJD1c9eI9;q4SCG@j_pWdLS-vtpSiMV2?iXdKhE;zU~TcKUDR0KBnvIz^zbULM5QtT zN#__PdgvJXE!NRzqAp+$yRWLR9Q-P{qHXv9Q_TW;^>xJco};T2bOI^3kJcO^e|D96 zb8(xCy3o!4IeCn_+&zMEJ?A%NolK;zf2-VSp)@TGEDiPy_H5;>uZy>=xt_C5UQ3+C zmH&Q`TxH?sin*V8^7PO3bN%35S59+V1Z~TFMpR_K5pZq4jCo7aF(nzd zey94+tMdSqmdkO6A86ka2rsOeH^-pBepZY0}%lxBTiV=`2haKIn1@VRbc{j4i?9Bi;;ETi?0jJ zud<9!%7+q_T<-I>GKsaJEDmz8x1chew0b<)B)tvYKC9*-s^94z!Lr5PKk`J<);Oav zO+oAulWbF#XiPrTdKO#;HN#^)!U=6A^}WKWc%u(FU=Fbs=>w{MaOW)i(2IMw%Ch`z zcX69vG+g{JR7Xb{5~LXsLqWV_t&`jm@o#dasMKwWn2Hf90H|14Y@uv?7O5%lm$xOT zIQoO2*YUIk)|SQJUHqlwpc6${1*LNs(SJxR_qr6=NrICB6J+Vds{n#`5;t-W1N!Me zMZM9NmY=9C)>AO~dMbA?7~ALl02``JF8?HFCDeQOaGXYev%27Mj4GW{cTeuQ+P8lEX zJ0qjb&jAG5-m1AZ_mI4)Tfbxc=DR4rY2CVBQnm8z@VdVKj?X{D@(VxL3vNkf;5P~U zQs{R@{@tW%i4<4UaP^jL*lL;|+$89yJ)vHz)NOQ!+WapzVZ-A5p8oZsn}%fl{ubo^ zP-v4Qn=Ng1@Ly3s`=N!qjaMwNY@B zmUXFY<@}|j9{}EB;e~$3hXXF4MsrfjnJi(lttxXvxDvxWO++<9lqKq1i5ul?3<^L1 zfIT}k*l>pAN{CoU_L(xgdDsbuqlImp9$iXc(UA*te+>5cGP|5z!SpXSj1zD6y>lb- zh9;&2Q^%4!ZjK#)$Lg!HyD!vhkYmHHQw8;#{HXjMByV==XAbqUcEbs*>+%*OH=q4u z$A4jA?O%Go>Nhy&sNBi15>QBgqWpb7?QH^U&ZM;krt3!4jyfcJyfg|hLWucjICI_i zSnU(+TtqSYcD8-$+T)%d5p=J0`f1(^C(Lx+xlf;nW$nu4r+eo6UhS|B?e;<*5mhywIR7U;AKdJ@&&1(M0q4F)6xS>l_ z?Ehji|H$NZHf$-~#szT`f`4TG?;Z8OqdEhJcbz-922UpFJa|(OAz#(56g^Tr3nZG1 zA?QtPun@kPfPzbz3PNkN49$n zE?r%B6+g6XOZ`>AO)>tahkie-85JGB7=b^sVO__6F?)W0lfF?|Gw{O>tn-zM*ex>r zD4T5inX^%J9rWwk{tGd`%H)Sc)(dXQwy1}V+6Y~Fr>7|A?KO7`g zw!evd-PvuKuAezSq9AHv{=q-GvtMzsF7RIzdb5d5yZReMeutKSFS!x2Q!z;e+W&m( zvd*auZTO*KTRceyw_=hl-J^~g)&~((4gbZ|{c-fMuAN(^W#i&!6aT5@`zP%F8H4-OzG@fClIxvl2jLx^``($|90;dTD1F8vJH{#r~}gb-3$_!pmf|Nn?X|Ad>H&iOC; ze|zaTXH$6y&3`Dee<0{@F+JFXE~aw=OWR37gz@^0=o~sN7V4!M$&C zE{TxrsFzGR*vKEA<3B~)Z>0YWbbp3Ve>#@d#zvBms)G-xF*pgSMMHykcEeCV>!a-7 zG-f2C8mSlorTdFf^`=Gpi!o{*HON(&mtR5%{dw+f0C>|1{DruVOh*?P%}n{9!kX9( zO$hr9C4W*;{~mA+1!2hJFi8N$hqk;x+(~m>H(!d#OPxl^g>xz6Ljay7jpmZkb6U?W zK{A77a7hPsEUQWXKfwGEc55*5Iu1a{)y{)>2nUnZfZoAZ$IQF|M60cTqQPGWvLxgw@mMJ0@zKRAH1)7gni3kvc?hnLxgE|m zIX?LUf=$jWXMw~MMv7(UOcD(9ZENq(lZB!6uf_6F&tz|8j;)#qy%8|a>KP?v9!D9YRr(Ql9aIj8!65%VPUUv(K< z60@=9_}6Ls#~S|IwDKRD-t6HYHQ>LP zxcXbhb5v*Zlb8*&wiTWK`Pq@J3V-d=e~*{{TNq0?d_P!Z9)8RPRMtk3*t zBIB7~Vm|^JJXqe2ZQeo+D4??j!g>flp(|j`Mk`;8D_%dfg4YNl)-6Qg>R&c=yuAN) zdl|S&pDFX@Mi@)#pM0C#Q&_&z|-9rB-301oMUO%g_}{^O$x)-8sAsBQgn4D6WVCIQNxF(udJOL2&glS{!rDE`p^5TPSGG~jAwe7}Pr zHYg0{)C+ab4Lt^6Z%-CnIw=K$SY$oQB=^2_(h5jP{k4g?b^0Ccl5hT#?rijIs2^ar zRK9jnnYyb33w|eUK5_cus0}7USG%zq5K~kXRT32w)20C0I^uyTQC2%X5Q+6-FPFi_ zYA9#6DNY*%=yX>acB(nmCJdz-?0EDw@dnxZNWh!Z{94pS|E=t8HHxC#I-aYyP(3`HRX8F_Mfrt4V14QN&ob*7o8_0D=lv`;{6jISsX0GN{=BhS zafG6H)_IStJ90;VuRjsLSEo0~V__nQzmE`NM!^Jz3I1O!;v z@lYj0{j>hPt~#`l7B!A@oEuMWWMS4t7hvHyw|+$}PW{uoQRD9_+d$5ij5jkJsdbax z9e;<0A5~Cq{_fsJt<*2;7M=BG>^PjMgl|;1PS$L?1(ld}Lf32iaeuubYKjKfY-qi< zb=s-re-OT2(9tl`;vx0%&F3~N-KcY`t{)9ipWCEqvyqJqZ9X2(rkerI>%3HKulf1Z zZ2Cq+TaT_cW|u9TxxhgHt|k<;7rH7mePVrqv^?&l?)Xj)pz8m zN$Ss14>k1%pq%$v;i0nOr+RFX@{`|9=@8Cl#aW9j_E5XL#et2o>#Y7Eg&&>XB6G8I zKN+}AFJroD0D?wc`@gWE)H>Je-y}nuk6j0l`aFDfX%oU5)DPJIL^rixTY#>a`m=%T zUl|rO%oy=GgkQ-dCN>9b#-Kk3Mby_z&Zt~Cu^FfGf2WR8*2j&T{%4C-8yp=2_pZ@7 z!;jH+h6jVswOG2|4CavO@c6d~_6LZp10jdlu1i5O=%AiRV{lB_?Z=@6(&?rcihx(g z2;w)fI&2EKPyqu*RRhH7$F*mPOFGZ04K5l}B+vPI@&_u+DJTgmaVWHS#&jk$h%piW z%>mROW}XJg5sa4Di8h*-o_dxiA760oS54XGfm>yCL0>FwcW-fJZ<0!Il+Fa_xkdD! zc&{HlE-Re_t}t*qQ5qIF_3UG2>0LS2k29bjW?#?L3;8d~tRKv=aRSjRE{e9UEARm+ z9AqLMJTYHqA7h*5#@(|Q1Ll^mS16HSjjZ0QMGb^NYWn9>>&)Lqdo{$QCq!zJC+A5$jDgdlKE|9bxb)uwfI6E^}5@Kn(s5q7{>!v z%}H)_h|1oDvV06Ut#<+Za?G@sSNPjJ3pDkTbLf-Zj9jmdauMR|GHVWMo`NoEJ1U&3fD3JN6gh&Y zSh$Gw({(Mj$Qngh0Ldj3?L{)?#ne#(qV6bmE)?YWH~(dETgm7s`I2L zfmi@kb(GBBD7wU!L4~Ec4E$)BSfL5oTHL7#h)5-T` zhD_cX2Jb`a0%WYS@d)DgfYsHygNrn+GI++9xIB=#2Kw%`#K{Pn#+#3DkfDylPFS7^ z>3dPS-r_veeb)c;&lp<+9sDvXpWR#+Rmsi>ZlIY#3_}qNI3-}r^W)~Q;zz%e)CgUc zft-(qDH3lDJjt=a$vZr;VcV6$n!56Nk)}`uP(E1Fq@4<}Y@WNQCOev9CW4+h^qWfP z`m7vll8E6bos#6#qiUm6f;sZ$k8CRVzEHN5b6rQ*6)a<2ZFrE?>*#-Hy^&g~x_*i7 zdio2!#0=^-CQS0+!Za1hj|Q70VmUz2ce9EBM(W+drFB*Roks4A<)rG>Ywxj#*VKxr zO;8{CQb@HAJPcCc7xE@a)LzPQIyJQI%m#;7;q_BI&8u{|#uA^$#RJVR%w2qKK1>e1 z6)M9ZDfkjIt{mj>O5ptuDt~Egon-R5`C&|Oy5JaktM!`bPph#`lz&wBV``2gRa><; zx?0A{bjzSSl6L%`X^OoD4cIR4g7*yc)?n>dQ-w_S@OUmK=3;m{!zqD}%d|;DyH8Is z=95};Lydjb0P;Zc|Hs~YKsB{)`{FBv5_&IE1VIIr5(EXMgYjmNwHeeOH^-nY+iI9y|~ zR#u1VQUq^ zjs|BBp9$wlAwi=y>DyJ+Zj$89@nsL=$Ey%j3q&n5vyP2XeStA5xPfbX>Grqfutf ztrsy^(K9Kd;c*|2HoITqkU5_vSV_|1LvW0sK8IwtT$0EZ#-C$;@=Pu16#ZJ=m{q3R*DWon+Q_mGa|`(xKCy*q)(j^avNx~)+EDjh{}|;A zWva#H7E4lf=42sd;`dcQ_-?QpM=0vTvkqGLz(Wt#)a4Gk+0=(TGV+Cm8$6H+#;z-V zGySdYkOQ`V%Z^pgI;8UMEg?Psizxl=4_2*dql3VbHl_j_OST&k#ZB-Cnui^qsbT?Fw0=k4hW0}61w=oc(eJ>H@tSu^Ve?$c6EV+YT+F=FcyVYYEc0PnCeXY4{$rVg1y1wV&@ngG9F2+DzH zySup?hVp@-#xkQm1FRWyzzMUsY9p}Zi&q0YG|e7j>5$=}I#IYg@H1F)x|ROd)3pX$ zAHM-~UzPE6n_mDdvCeJB$yJ=n3NCuRsY(UiN~Mi@MTrsK|FOco9@`+ng{ygVO1ej3 zt`4~SsB}R>CrmGpB{5AJx38Mt)xw&sBJBjt(2T1G(z6;iF+Bxb0!3{Csb@H10cwJ6&TN^@|cmz{YCs z%6Pn~_C$GOMF30VIj7B;wqKTkG~!?=<6{SFZa&Q$gk0I^zYwaG3v{1Gt$(_ahT+Xl7-HKl`fw*m6r{ zVR}JL$XY=SM-4EQc~G7kA@trs@M6R-Rc2)0F3Tx%a_#9)@ir&tY5cN-7pdOr5ps!eXfzF?6ne|*zM)q}gz-tJvx1pl@pU;_`+2CG}9WbO)ZJTS?1 zu_Hin$4y-jba$tqQJvPdkQ_Cxumj!o&&>xD>qatxnLKt{s1#2 zjd~M_U zk=k|2@LZCI4?tvrHxoR&-%OH+S1dfMP}}i(m&FZ-8&isD$CaGMxX=6C{rRCc$G9q! z@bZ{xHRw|usV;deJBGVATYDa3j?T4JzzeQj3R8#8p=Z1FrTBY^y+KHkFMH25-Kz`_ zrfWw1z=ZW;`IGYp*3NJy!)xQVi74y%hRPJJ6sX?bRPuVKo_e?v&wO;Vi9NA>^(qC+Wy~ERh_hO@+^TZWP&47YZvC_S@^bm}gGm zQt%#18O{Nv-7vVX*-Cta#P>&VioL{irP=$sD!oI2i#r#&D2LGM8td5`yZjiuAp968 znb*e*3Un?3M>SR&yCB*Mqplg z`Kd+&QY}1727iH1<>jyE%6&1c3vNRfh5|R-;C@ii6={9*7l3(UTfIi~;&N?u@PfOS z0){&Ph9ke1Mz1IT#skxH6yYvS&o^!6`UC4kyvGgi3ZGGrqGh60p52`rc){tGd~x9M z&Iyx|Ieho!$v9#%(S#A#*E;l#rQspbi2LqTwtCF5rHz9dJ`;1LuABej{^!xB*;(X_ zXxwAJ;dwd!_h->-0_&dQEX@&T4JAp6od_mO zW5KD@FD)sj>qckh1=Yn8q_e&s+3(PFfz67L_{fiGM<{OGmD@#6$dkrnShfzROE)No2_n306XDaZ)x8wwk<&djC0I_8;bhOX!kg6n^D;Wq^+BBGFuT z16X(GL?5M6bS{=6N82TrQQD1va$t zOu}q;f)faa1OYbWUj;pD{S zwncoz$ro~{)qgW3MI!AwkFcYF6v`L!Y$3Z6@F8+-Vn8(&2KQC`ZP9(?0&}ys7XOm?{*VWaE;iT) z3`Q)e*eezsJu&2WfB1goM_@!2e0AgYUXBI?o8tsxGBz`K!K+Il#Cs7Tdz?uT{G;OZ z=Ym!7bA(RsdlH#Kw4HlB52bDs%a7lYHFNmkvF01@$~PGf1NpD@4=~SANAVq(+#mPbQ?)aN z9n)|1g?#!Ua7<| z@eH7<4pu%~vfjpBFYV^8=a2a)H2y)l1Kw~B*D0UoI`KR<^v}8L;Lt!Wp<-L!EccXFHi_u`|8?|f@)LN10SIS+}8K?=^y3nfWHAu0GlVp^UWkcfn|>h<2@s*G#|-j`=B?a4 zv)K)REfoT*V0MFx7#@2AX8~-D>j}9NM8`)rC_Qg9C<0EDi(w@2CW;q$bP8loPStUB z#Mk#7_8s=;3&5GDTMvrm%L@XBkVRaslxwSq7ksvq+#lu2y{T(&l$81MiS{bwyw!xi zAyGjiefNOxG28mw_3`OYg+r(T*Jmihlhrg9bbO3NIEod-04X8>!1+X z#|>j7BU()LnkMV}7mr!q9dCYU{IrT1?u&7WW~h%tw8`7`&KZ_P(c5A;jf}It$A8QB z>@0K`}Pl<lz*GNR`?09mfeQdk z2Ny;qJ>83@gzLR`b4|!lJ`mPvUJxykYe9yl!QZ?Pc>tMV5>!5@rC)=BomuLB)5`xmaXObs`;bAQdPm@V)(i16a9;K>dC?<@ibFZf|8WE|%rqaj(* zdVO3JTqoCBUHb?zcXU-~#%5amFG9qS(hHm(Qdw&KY73_2-jS_>ZtrZNTW7Z((x1#1 z-?D)&{v~OOGK|A_MhJlD*Y)CCJ<0q0mG_+}yjXhW+jp8$MHcfj7Cv+93Mw#0RPyye z--=s%sqznhB^Q}fUwv)B*->JIHLl6y&PBibBBCBuZ(|0Nr0a) zU1fl`-OVrc^k3|4L(Tl)t7Ac4$GfvpuNe)Zf$Su(v~mFJz~cq$oUC#X2L5Bx+xNRh z10FQc?L6V;vY+4OmKV1C1I{`)VtOH*dqtr6N~qibG@FY;9!7q5*@?A)QNV5frewIg zP@e_NNeLkOAex)}?00$R@g=WVKNw6r=yH3}^|mP%S?9qF05|5xi!{T5TobhznF4Se zJ&yz$_fHC2)eA_2I4nR~rw6#G*F~O@0J%S4Qh3hzf++C;*9>w3yh7z&!P9reD3H5& z+>;xR=EgOqtN8!3Xw-)|@cMzddz}9G#?(Pz(1wUlmhE24HTsKzCkedZ{89k$qbrtm{A8t4X_H+Q^6Pk(SeWTsW!tC@zh;SMnRtSYO&P!A>=mteH8}~t%rS>oSfCIuenh~G%X43xM*`FL=fUAx67fU^8PcGd?dBltjWbR-p0U~6 zxVM09;_Fi_ce&8oYV@q3!5yeyJI_K9{&pDRebf0KKUaA&0=lJl-xBe$$iBsaE9FGWnHUxA>n8?f#<+;jdB5<6=PF zc`m~d;zL@1cKY8EAV3yD0t77E<_r_LLDc^|VZjxzlFv5rA@8_8=mIxf$>9>Bf8ah7 z+&zCJg#wgjmLuWqD1vnBf+`5(7|*D^v7;7 zISiOnI+4I+I&9_TLE=NeM6^KaN25Si1n8~WPB#))OE9L3-_N}7@zdpMHwD`@4b~ue z1?vdK<=Tqlg_M^9#3=v>Cl@&h1*BPwl$KRRKGwJLf;R4UXmmy24+=$&WQko<+hi?L z7QRayI6^fkOp z0%~$2F=@C^VVaIB`5Zpjxa`nQJU@En>iW$Jp<5nkDsB;{tT(IvG!TAnu=Bt-3&SRy z2&~P4N}zqmLDeXj<7Pwh)d8J&M_Aw*p$TzLp96Z9%c zu_QW2FO7zmxF|rZFe_q zHn@@X^u#z8TNV}5&=(Hnwi0f|EoS@wOR2-(F{Ogi+r!O50z2+1=&6zY`6*C&xeASj zr@2Nte}ubS;I7XCt`C$GyV;u?8Tuo+J>KUBN|SR7uqK%6O#eexk5@|eMDQ zR|Gn;gblbKJj%^c{zIILEyyJooZBGz&iQgajB6o4Aq+?Y$^~RE`WuS|Mr@r2o6Pmq zdHl;;{sC~#LE;baE}r|t1iX%k<)zL!K%)I#s)FDeP|^R9S%?3gR|hu)O6L+>B$S-{ zJz(N3pwwA;dlqUz_M+7lco~aXicL2Zz3eoBso|#GFY)5B^h~_QNe z0+zq?kf_U&*}ex{viu#QQ*v#-7Q zA@R*68LpHVQ?9psc_uEt&VxRwQG%U4C0QGW{PlBqgvuaEf}QwCjJ|xcpa>hu()$XX z&$b;~K%uhU)abX+!Y+wjUtzw9EqvNRXy099g+8RxiPrU@0krlL>=($nFUa%OkGb;0CavPtF7D{;MZho3!k|Ja>DezXV zMUh#D;1kDS$wy{dgUo6$m@A40D+}q993e6LlADSVP|v0By_8j7tl{~FX;g$Ig&h#d za#TmQ=$vR5NUXty9hSb#2>sz5*ks0W^a(|^Qc9sa<8_n#X5V+z5zcpB530Ju7XGov zSHE-FEN%!j`sUDX>iF=*D4&y&W2-1~Q?UWM@7=mGefgNM&tm5z3T>O`yK@XgZ zsn)0NuY8*7bsH|GO4gbO)JS(bxak}!!gG+Hgf(sEbPIGR?s@3U-FfzHV}>8H((}Fg z1(o!ANwJ$o*XK<-oQH?E1ycAjviWs?<{kcx^A2nN9D)CV7kasrz@G&I9|IF)FG+|} zRF9`wwOHa(rYZCq(-V@){8gSdRMg3$i&mcP*{X`VN91+J#aI27!*OlhHgj|sPmP_) z=WKL$Q}7tDZguN4UoQ*lMcyKV%v`T*Ms^R=!tnllTa_ux1PEhq127l!T#p~V3pKwV zfZwt{2BtGkcO1%Xe9ZOo$i0nkRv`4cIgnffYQ^!N z$%B8-1%lzwm1GLAK)mE{SH-g%|p}RDd6E7M^+LJ-i?%!7|88oZmitJZZ(st?^q5CsP@RMlg>#FYlxG z8+FWX4_%)BHnyFhq8i~%4>G$xVQp?KT+0wK8E?eRRhU>bgeqqeF5= z`eM?z&B|kuSRcwL;Y^Lw!k67i1tnGgV(IuKChWc^zv1nvW(@-L5i+I+>MM3)lo zaC4|Gbx^{y*Hg^j$I&g}Bw2JG z^P}JMX7z`YAc#__*9b`{eMD3EUp{=2K!0wvm0Uy_bEIQXHZ>&cWX?Ae?JUCjkDO-f z-5dJ~q@US#$*-ftW>qR3-V43qUtZ-b#^??}7!O93UaBeW2#LbtdxWFE9S?&QV4Q#~ z0kz|2P;+shMC-p3-c}2kKz~G7tLxX5An($ul@q6h zLLz&Kk5Ps$idzste9PQ=Hg1N*G+(5)z7}o$bo*D#R>qNdxAUt8jQLUflj1umTf@WW zRSjfuY0-qBF@htE{}N9qJ1(hB(|Sp2$%KVr*EN-U3Om-{)0b-|1T~4 z|9M1z4+uH3A8-rccqLc7F-0IcYX4uUs0P&(3)nPdU9Js40I2i--^cDma1oGF(=0LQ z{?eUqb$X%G)qM)2d>8+40g+~53zvO81V^F;CdIu6#;tCO1k@&!;MH#cIp(0hx12=@ zLmvy^b9@^~R^#^~*maV2>s9SaHR)MrEpexcF6=~LR`+jvvE1X*h;*FV#B3qHvxh$s z7DyF3;q5f#>k$7b+;fj)rblqCtR`P0znATLd%B)-0q(={_nLE|86xve-4cw#G`_jLO_%`^gcmqYWYdqqEnN6 z^e)i!D4>J?T-hTZxN`TLcFWt%HuPycWwdTNYA(rpw;R;KwBlD@X+k&gWJjRp@YC<1 zhGBS=5>4+LbCS5!nuVZmRjTV zxw+N3aqgHrJE^CQh@P_?sG))ZYn(U?Gg9ni&=<411n5vs(7$NZ+Ru>!|8I^I5OD&D zx_^1<)`pHpr7b1uI3VhYQX+NHj9_U|cA_}nwFJto(n3xTWu)$%#sf47xo70)m2O7vjhz=_%?^s@BwDkY0jcjFM&q%}q69;+AkBaP zLnl9#T7~BwAMcLwpVcNvKmkb-2?MQC$B#maXn})ixiueRvoIfG-RWK!0gCD^ziBeG z)6{wL_M-*4yJDE8H)%AxJ<};nGVPp6&SjYRjwoW}U^+Mc!y;j`4~$_+-H1)KUMHu4 zSXPkSMe)63C1KwM3BL~eHsMiQ*(X5EHZvxhPV*BQDZy(6{i>pnj_h87cE()(@oGpT zJ*^UwdhK;^`}=)wPb#;XV?eEs7X)>LfQ6XoAN!1>_9+yeQz%9 zMB<#(SpAFkw+6r7LG+*yC?8V|DL=)t{CuYz@M`Wp2i~uHvNe8x;k0RI`8Apo$ftoIt;c~4acOS#eV9Pu0I`J#+Xc;24AQ<)8MAdM@06qKp}PD&)o z^8`QI44d|@sIAYNg<98YMyrK%zx^Ci@VCquaplqqpAWEEvT!vKN!g?>mu#(#GwW zdD=zoz49Jo(_!?i2@T1!6HPe7^g|RSk0$%<)MXkkHdbp(^T$JI17|`G3%a6{>m?8y zu2z=v3)~S?c%s*Rpx@I;Mc?T0)%(3war%3<$VVdQ>Lgp0I>TQS-A7rEW5lSX-~znbePH#@Dvw#uDS63R`MyE4`ORfnqtk> z>l+wQg~m^A2HJOk;+pBdC^zc@LnJudG5$kQ+C0vm)aAu%tkp zHyyEyeCf_@n6t2-(c&4}C*Wt#iKTLu#m@C@zIa3M6wzXSuJ?BB2OPZK9v+eJM%-Ta z=BvtqBQpb<&d}8_oSv^|pvE6tawLz1p^+bI5qybtS8fO;U^H}HAoMRY(^G6lZ_sdd zB=VVt6i)Q%&x&g>TIe(gSvvkqPW+L92eNo!%cYQU8MrR1VPm@VdRW zU0six72N|k;i7dpSR(>B5f|OjOY~K7F)Bjf<(?1#o!2G{7RwAZyz4+hzD*ZX( zS{hz>$*SojfQpqYTm@P~G@ZYHe1*o{6%81p&;eA|qk#;kSmDNEnkM3F?q$heLxdx$ zep5CGI1yV}IQv22Fhl0NO3d$!$tsfXYc z&LUmlae`EL?Qx+&O~*~x6G*ZYNz_vvQ9QmAGiZNYZqJM{rj~k`g4*Gwh&(U{!(-%6-c!qk!0%1ADVeRlBjz>FWqgf z5L4bL9_=ZquX1^rap%;`Q%pqvzNRK7lkx>rUI^dVqoha^!_}+pQJ|Y$Z{+*9u67P_ z5osj#TN5Teei9m{r?abg{hJFv)>X*0Si1^QW#Pkvx$Ao@QMT4y1HOjQG!xQB9J>xB$*hI>V?O zzm2u)Fr;%=YVXgX_J8ThI^kG4cR-96n%BZ+vBOs_w+G&9z-<2I%_VGw@WL;ag1|K{ z1Xg&Kha=K--d?(Ksnl*Q6mu-T^hkJXXAx$@fyaIRj`b=dCN-A`zoKeyk1f0$%nOb~ z)EV^qn@&DOp8tV^;>q@n z&Ij{O9MOGF8=6sVgH2@F!8PK&?fYGX5>Tp;4)G_8|6Bi-zi4N!{}C4d2`{{4?Q|NK z;^@0?l$`M%Jhz@xg*dxef}m^0x3_2b@?H5aDm2T4TVk{G218%i>ujTrTTyP8k_>T@ zcOe^p$4FJg8}jlw7*F+z%GfF*dH#@1Htm}8gR9!`>edBhHscoR>C8=|JjuBq>viqg}(cZMs9pOb{%Ec{<(2_fl%kJ9#?Oj<0fl*qjoxn@%*NlL=efrmTMnmti9&!*hOb-m5~u z^T8`mjy_3CS2jpB*pPnk?++db`n+jsT=`JH7|K%!qbU znTIot`aL>QcAawQRHLuds@}M#8Nv-hdo_M$gMVg&|A|J6HXraJPD=sd768KGgW0g9R@TE@-!uCwHm>OxkHQDjCR<-Dr(b$(-6gc7fFqvGNZITq4F`zlw}ybnM` zsTG|yQ-?T>7>NxNVGDAWafyUx>5YOz19+s7FcW{vJvTsL*< z2GwUPj4Y}Yv!Wk_q&F3P+tSmlt)$u0!jZD0`0(>#r2P4>?j`xr1^1JJG;7BDkSp%m zcUxFxQ6UlH&u)pJciYbp&L8d=Z7YKp`DH1=zspnT7ey#nOnOkR-ZCWSysr?3lF&?X zUFUeRFGZ(fSLyoxLOs7tb-~x?K5`g`h@y_xBUOkp*$r<4DREtyJwki2?0kuEL{ZXa z8^zTwsW#QOmc?zuKX_WBlcZ6;0~OZJFEFYrT?Khws2oL2oO;dB=}{vo1|1_x4hx;< z|E%20BsJ559wD-K1ynXaCcM44pY{6lozdzEKE7uUqF}+3w%=Fe`WjA@WHD+L25>je z&1E$tpHMo4Z}%^fm&*FtLHFOGgD$r*HVL#!~!TDNlxcX$Ooiq<>-jJT%F zFkYm5DNqo(plFEq+-c0LknPXD6rIG*C7k=FPC0=8Vz8!R(4aseMGRwd-Tc&}CWsbr z#5MO$$+=-7Lm?b3Ch@?PSVnrsKwV)-Vht0q-(cZ*(ol6yO7HQSPZIpwa1yHvP;NDE zwyO=D8-JIM4uN8O|enJFJe7wZXURrOm{jn^Mcld8{+4` z_;nD*6_QJ90~wG@=g;&kXlnacE?fKWPS1AWMY@)f_8gwH-)OA;!0^W7CO${DVRaRk ziH$i}eUNRd!fp)#{S52l`YkWAR()%Kjztz|b=paJxo-L5YWSnuQ?qLAm#w&bN%lBg zTZCs{JTQZ{&Cu!?v2+wp6pN{~A=nT|qK172W;*_KVg2@Zqbtq{UhZz#d;8j#AL^9) zK_Wv|`FIHNy!eZsLj7;hlkk6}7E>25!d^~#$%Qg&sXvcUsUfN^Dgw-+)O!{q6d2 zbPD_9ZO8Fh6`JDE9dk`FKh#0%@$av`a`<&u-S^sZQ|Ne0;rXi-Rn;4n2;S$$A(5`1 zjZ%L40;2FApFIYob44|lf=eD3F6dc-D@r5-{f=+o_~fyU%{|KXgbdN)`c)u?eV^z>?tH*vkpDmeYYH?7#Y0ua$53%Jp+GHj zrPJMgQ{UNwi0k`5@94NBiN0`kDqOAC$<218fiwShnW5%_#SY8faoB@~WkG8%{7mQm zOy~a7^U2t}!i(B0g@gwH3I2)&2R&tyPZe^GyT5NPs}|5ua-4-I#HiWvi{8 zW!c$kKfgCYER<5JGezsSOvuS+K9iWrj2-kvNNjM#8+>G1(GYuEe>Uy>i;rad?{3;T zhZjA%lq~-SWclyyYJHQ?{#Lt>+U=vnB-HZlxsFR#^*KfnXY&n+oJi#0`NZ*@sh#Bv zHCp8k)gwlooaKiSYbD&z)Q(8xO9s{+=~SQZ&sRCrJ1YboU^4CsvxMx&><@eud)0cL zGFGM~pA$W*Wgc+Ge)YI^Q3b!R=ONl|xR>cGQcRkhpsV!Dx^399k%4$Qqi2Yp>+K#k zhpv47P!@FQ8s)|FQ4rR=`;*H2)v3&XJ_*d9lC`y&#EZr)CHVzF@`I$zdEIJ7aS{j6 z8_M3y{+2g1YjD_XXSkpVnqSE zO|{%4E(z#k5BJnvw#=PUrOj71EEh6E2>5EF?FG@#?_Wp({-#9xW%5eP+^s)9jr8>E1}j~ z*13{lOuP0#k>8=>h zoG$5(!q%>|li~~cg*1;FJ;YJ2a{5Vg{^B&}f1+W7O($OT^-{u50>U5d z)1VvB2KQ*!6gJZAQa&I?w1B>C<=!q=7LdZtNyV>vmB^95C_U;MU{j@;;<+CzF` zBS(F{y0G?hc*U?wgSdyC*4GL{qb??BVH?aBMenW``hxx0#rEG|TD$+=Dol`*5*=Ae zw4Zn-%ssF3-b7-NdeBq^O-yC)U>9yG9J zBKnUD-yY5NfYZWiJFW3AR%}#i6ogi9y`HPltF^!h-mdnF1KN_fZbYFyE(M+587{zQ zRE&Le{Irgz&V=|09umU+xPR4C4 zEPGKs4BwYh!J*A>dd|`K4G&}_MpMRXtP(^bG*5&%YrYJtr49;2Bf9Z7cc)=7QPODa zEtsZuMJNOtM*s=e1e2}S6hXsPh0Tr_gyRdP*3a_9GYi{SC6*NIpkDI`vMD&Kwpl|9 zJu#`?7bJr!&drG*^6psdW$Pm3IKqEWNx<~eGxO>^IH&_Rh)@jXV|Zh8e#!dT;qV`4 z=vv^-5zXFM2WEeMJ~U7&K&h@@H{k4({nHj}sIJr2}R{c7soMJGw zt@sFE1qQdx!c~|{FsM@Ouu9k--DMAuxIbxONchG;tcnBPlhiu)YuxU6yc(l zb{cxZ`o2~61A1t$#cA&>9Re*AX_M!XJn7(jgM-()+dS0MM_T^E!cgPDXf4+Sh ze8FPj?T%L)>r*&WkU*J$@srCjUzMH=K7u4(ZP7DJu`zvfrkQ`-e+3MGSa5hXa@m9v zO`jdPDg1e0oBV0P=ccVbIQ7w>t|Wp^$6Hi|%!3Hz8Gcp%oeXgn3`6p3cHUFI(QXRS zjL+!obdeRDd9&QX`fX<+YLx@ZU9`q5{Zhm`iqrC4G5g0adKi`oshm^mf76brei3yK zhIXL&$zmA!tY}wXouTc?;U?Q(=-59E-W|x9KGys;)Kbu zo#|cIv6ha;ee``CuRSKTVt64AN*&3_2p-oe!9>Pq#E#GWGF4-QO;R2d!$P8}xtjLz zwy)ExrW0v;A~9dJntDV>LXFo$G`J8J%R2&H7<<_Vn z_GnJT1U%l~TqhL=&p$jA`L^Y|#+_X8lRYfyz032%`UT$E3(XMJWWT2CBK%1LEn*?( zjnZW=!U!iwB}4GrsW#zNcG!h2wA-DYsWkndl#s)|^#uj`-(*r*QH&kx?>Lf_`#Gy} zq%R!|c4SB`+cIjeAx0f&s5YK3JIF-2@@@BA?NtWN+}ayLT?leOtK;5eM!poN+2+4$ zyOpB5T{T_G-loz+x@8$7{j7ohQEZ7u|DDVaMvpbfc7qhZIw^_kv_Q1lZjyV7hnV!QUuHAdUKY_yKiN}TitqwlKsD1~zxe6hP8A#Qf2AVh>#Rh>Bsm7hPy5YOzJ7{urPBihIyNEvIYMzzvMl7>tq=pxl%REQs&?DLPP%gzd{`!=U)RqVj?XPjrbtY&m04AUZYNUw>3Cp`-Jx?B3>bRDi>i>xw+IQPcqdz?4TP}T7c&OOfFM?8MW z$9~^$4Xb(e?=wrka$WGZlKDRU2~5AwF7;^k{+zuFm#`CGY9D%ixyT2#jkj>*X}h;J z45UZGGxQiW(ULN9%K~-F(XI_I-~kTWR642!Zh`OSIX|Y(F*l6AolKe6D;&6X>dIsa zYaQKeYtoT|5_lYE{zhAN_19>LO6hfH)L}9UTLLdAoW*^Mxj>MPRnV~zs{r3RBzBd8IE!6b#2CI`8k}d zVs4m;C;EMCLPot>u(iPcBsc#C7Zb* zju+dv6vHVqmn_f{Z@3|2KKD+W2?Z?EeV4Geg>~c1LRozx_RLhvn;S)SL-ZGG@{C0v zSL4Ia6nk`O1lFkx9>Eq_Uf@u6i3febUEnkz<5v+l%3cY6SeL4-Q77zkA=ZG4P;0B` z;cre0yVb3)W!=%^8?Fw`p3bzSVC(k(z@rzIBhxb+q2t~5a~&~uiE=V%_r?@HS46+3 zq4mi7H7w-43W4TBz3$_DyPwCT85Mg)bM@-=O1xBlb{#Gp zpu#YFjtNs;S4~SGb2An~&d3s#j0V z;jL=@V+KfCs5ap%L5pC-XCx35v#jZK(ie}roP|0h+KO>(ZlhL%PAo|QAAggIDm#v@ z+dKe^%!q4na2B2(G=v@PUlXQ{@>0WV5M=jV>+<7HRj42kC2S!o0{o!KiB>Z~~Z7$jkj+hNgx^PTWCq+=G7=Dfb?d>ViD zV;hAZ#C{ZZAt@$Y;(CEyC5r{>ap9@&=22LJMd83z^Yc?e8bQh!)jgX$gSUTAJVpXb ze1p~vy&Dv7(sD`5D|X7gv$RQvvRS*&`x!3lCgp!<9opbj5I6LkR1p%h!wNn;v}Zgh ze*O2h)6IbCSbv68b~O`x^FyR5Haf+r<)*dv zVXt$fP!H81h36Y(rJ=JS4up}q?%%^nA`%pOX>2(6h?`fAZMYm0kp z8dj5|P`Fg7!b?ZhZ-(2)htaoBaw4egaMCy;sCW&~i>gC2HeGQoL!@XEV|`o_M}QEvT7(xZ7-B>~s!uxm2izdwNJajJw(#RV-9+Xdotun(u_v)=l-TLM& zDmn946BcxaGy;U7AkC;(f_nq$=o>q(r#JP&l3;Zq=5KelqXYqqiX9A>l2J`p7 zOW))^*EAqC&u@esm=$$bdfTLBWWm@<^{7qQ9(iN+^^lV$FmK{c-pnXo!;&mZ45B6U zS3fej1GysGftu3)Z5KtxJmAW4y+`AY7-`L8V_J&Q=vQi$?>*bEf@t8uj>m3VuIW1M zFX1`L*+zjI`Mq81Wj?lO>ApBWGt-3dueeUp#Vw<~qv#TsrHbkZ9`#Qp>{_R~T4UJf zHoaZ2eKbvf4g6kf<^!xe_tKm)D!Jt_g(d~HZ}r=Yr;?;b$4=}`Uh86XY$cY3v`8`5 z_qD)vfF-g*O6R_DaIMUqmX?kfw-uXU^nE3M>{lNOgpm?l>0gp2q=>{zBWd2NO zvfM^<0v@-qxkMK_6xR&Z!V}*MTR@P?DP8a{ZrWb z^_vi6)`oh4kq_3ZPaojaEE6KEd*U_o?UK~H=7U0tx|yw!Q{p=>l>2NKd8HNpdKdh$ z;2K3gdgUCe>&0u@`!8b_XQ+PfuKOX|zjsRX3$9nz@4<4ce;G@5KR0u|V;jtj9y5>3 zI)m0|c)?K~86%$9fSG35KylVBO^{c5aheB}Gp%6PXicxo{qgIzmyj6W?iTU`2$B-{ zb_z8hzHf^WO=Hj(`ox5;*r-qNE94Dq4}G$pt<9e3=+N){aMk0jDbuoFw4e?aKkAOU zw*P|lOJVk=gQzVm3dYn*X@L5D)rNNMWih9-_Z>$R?~Qxu_6dcZpDn9E5aInZB`9Ol z%jYIUlA`FiLx!T+$amE4!h+&ULQc2!o62Lma0Z-cCwUj77^8eov04{fN#k{<(POI# z4y>|pRjloBB$0aMXw>{Yn*&w-2aj8mbVhC7U(t%Ctct2h-oWf>^Y_~pcXhqpoW#pK z#<8PQww!^P)%#p6U-Uy|0&s8P;4}V2GbKfYvM^Als^9v~t!<0Po$40ZD>Od;_^YqE zldaBNPgEl2>Ittz%IK=~PNy1l%EyOyFGoD|-=wEb?*9<~x}Bt=J4`i?`9u#8v0e8# zFokdzW&dRCIA3t#_eX{aubn3$F<~PP=ixnCYu=jFnTsJSV-#MwOop*yCLlp`fj;HE z8B%8}nqMfvKKVkgvggyoMc-YGDYDzynr1necPw{%$3SC&Cre4*SrT@^jt6M?-*trV z**?!iu3}!0>$JFI^)*5|6z_%0Z*G5|y0TA0>Bmbuqrp(k&n7o7=AWV+lL_hyzTJ$H zRv}xr&7g9f8HXj=K#uJLBQ>0FL zQZ!!uvKO;jlp{q39qw~55q^xBX}Ap+vh`JZ@`_)K)dOE6yAKlj6r z_H)eH58pje0)(wU3Sdu21NF@WiG`W(1mErM{TN{4-kb7WZkyLyjZ6dh#na9yoBrrd z@iR94IMaTOg96^U&p)IciAs|iyIj^WWyP|EFon;a2&~X=CM_ojl$foJ855+iKBDtsctklpW!irZ>;LiBH13qR|iZR?oI%Anb{;t%8^Fr7{Ci6+~G!`ZIaF<#_sS{57J>N zIbN&}JkW?M_ z%R!qXP;q@AaToIOg-%hrYGv(tpI&KKl;g#zx*gjLUL)pGC+gi(rUz8R%##zncXAZ- zn4?%)DDk+?(%ZQ2zBO|eC&|6J2`9;K@8910?0pVq**cQHSVJQF3(4Cn#f!1vdDcV9YkM1v#Z07cGAQPF}Y}~*= z$Kbge7J9q$U%#KU&zAI+hAAR<1X)SCgChDk|E`-?JJ_8vB@z`Umu!Q_xQ$}JzArhc z;!Zlgt^=K1$ME$P^J!eC_6SV&-}fEAjRysPCJ%~oV6DF>^6d^X7i&_xp2QfLD)x7J zIDTgH9WnG#---<}PSd99g#YOj^(yM=Q)iMs2(n4I>lEjMSiBY6J6Dlg^>{0nH z^{~91j(U7DpBgh)rq=E49M$tBb*;-McQb<{ZnX%iP*JGYuBasOVw#US^)(|-%rGTX zGxc>lJoMbU`5>jl<2^{3jSQzs^+xj+bLQnmZvRJr&k^(XS+bleRbqrT%|1XXTP$-L9C7z%Y1*ZYNSH=S_A9qQ-nZdcU({N)Y! z*OMSsX&sG5i7xFT8^7I8H?X{T9f2WLojah8mrO@}OjQEMsFw_RCm)p~9vsaN{Bzy$ zU$G{YaY{T(;XhLzZF=l4Oic4Rf&xn!%Pb!3BDq!Yx%{!a4{h8O+?h2vq4s=ehA=Pb zq38F8d6AH?Q@#;~-hxj~yo|AX1!La!aBQ8NA0RgG(4~4#N4gf-%!i>B;Etv=O59ux z=h~v<&I(JZTH2MueT}c)5@vY5oe+B%I9bp7l4UfBs5;v*s(1dE+yRluZ%G(%7yR}* zaEMq??SiAs>mNLRP63RyC5Za*6SU%V4~6Hs;xM%gH71`rFDBe=gGyX>hK_kvmqJVy zB+l#92LO!_TGa){0KS{w9%1QU5d&Yu`mJho>CmIgXa(vaxew)^e-s)-AZBZ4Q;Er` zJFHirl?!4bXBRw^TTI>!iKuj*tzUE23QS_FA1NPKIMMHH{&jFG?tau=^WtU}h7Y*g z6QD<+(C_uD`c+dIe5rxBr_yW3UjyTEcRH_l1Fv zS~XU;LzR-fzt&_%!CRYJUd zUZ-v`y-J;-n+}}ZBYX$JH-AZE_0g$~y~+QJR(bv}W^z45rLkE&%RenA?$Bd@4BDIK z0~6n@L759%p$P@t>qTY1@Mj6vuR^YMQZr0wPT&+jygQ)n;Nn5kpL0)pEv%3xb9hW~ zC;qnIVvtgVo5^(rjYlg?N=om(^;ZD*w15}nJtId>SVpqLOE&kg2romrfipXc`v!&b z4-FO;E(AsC`nw&Hq5KjryE#=bnApBcCvwE_hqp7(oR4v&RL5KAfx+faYVeD~&e$vD zpnh!!-j_qdm(AOvQ^VRJ%fI0X#!0j~me?HY3_VSK^nD$7M(2bqXU6rLF?2?8guZdX zD}^%KA<)atyKW#afgnXI%icBU=W#*qT8di_JiPur29zpMgB{v~2O<9OSt|dice#QpX0xCpEk1?HnDc2!?><9|n z)YQkKZm$R&A5pne2K9cMt#)f|4U12>lbA!~?1G-69gMm9=+YtXhp%7a{_V#u_<1C} zTVW5)`7}ZNr`Se3Z^IgramN*P?m;wVqLYugaU%&;2Z4RQ%AN=ngcy|zB?%vI;e|T5 zHU*&DR0kacYDes;KV|;uvJI3^!%y0HLNAo#a~L=l_OMWF@D^$E(}{Ns*h_5zLe^|E z$A7cq&s=C?Jzg)iuF};p_G*MyF=*)g6Qy4??ygpD*ShvVjsz?(t_-OM$d~>bYTHgz zjiJjR&C7g|Yk!-3_I}M&L>)FxH;z-SH3KTxC^-L?_iR7X+dQX_tgZx=R(AG+&oV{sca<9@>`iYUhZMDDA zox)Q`!F5nU@7Z{i{lPR&MfpbabTUsJxJng0avOCZn7^Gn>HwOS{-5&vsC;2G9?t^) zGnjWB!Tb{XGa4|Q(zIoFWXPOQ95Pr?1UPT&Lb7?EB^3hPt%Q(U8wwh8pqRr>9@0+= z(2*TI;E&xgAltOxG9YegLvnvqW}gBq^8{(Tx+G$`#am77g4YB>iIV zR2wyf+%LH9%Q%kq(^{y1k2R$cPX#N6ptI^R@nnIj$9G;;`(vnjw)ITw8KVrU@pPm* z_og##H!o4uH`VGHJ44Hh8T&^J;~$`2Cn`R_HK zLll*}(oDM2FyKF;6t)#|3n%CEE8Iv(J3jEgV!F?W7|$y4&tTp2m-Y^WU7|tWFcRx) z3*%gO=Y56xZo*8U*S~fJ90#170UuR&I*}nuit7No z(k663z>o2k8KB|4{B)4MBxijh{QMBh;Q}ft>R57;$Z8ZJKejx%GB+)$kYfya7K*hoyHTYPXFP9dn8{6 zoAFfF{BL8%sEO)}ANo^0kL%!(0R;w9^>`qmg6gD$R0Y2gNs}(}=`tuv4dX?GKS_;p zdV~A>$)llA%^SM%2Byw#CcRJK4wnnn+sXUr=4i)t6m5|F?|FI4YSgeok~KB9M>z`Z z)fc)XGfBpAJ!HHl1NP8y9L4RZ^z(mgp>%3p0;|bCgMP0bd)uWe?)%8QU8mI^0tg16 z=@mRlV9M1#5rBA{K*rV4e4e7kB~%8e%o}{^$PpDr#zPUw2Q(h?Ko~w(3-r}IG^VIv z8MIvc?|{z$iQ5>8c#aDo*r&&u#7(SJ87y}rl$qMY5olUdMR7n{_*DyyI@f7FEkL*$ z;rmOtJ&l?7^H|h=$?I+s+m=MIOME7`UixymO7~%ntXm?&r!uh$t-&FNRjsRnYGDsV z%5X986w%wPA&HI_d+jI>B)&)94@Jpm4Ls}&;aFi|pFakrYk#f0MV)KjrOpr&{xvhi zH^iGPl&V^eKuiXix&P+AFLYF z*<5>YzV|LMj=2nre;?CDqg`5#Hb@f3f4?-^t?ne!xOFQN#?$4&!f8N^k#vYx{-cY< z_Z+8j>}TsD!V_83Q^;WK0lvxo2%4PN1bC$L$DEBS)6NGoWl7le9MeuVhu3`P5&qvl z_5Tgck~36O^*_6dz4GCT7pU5n8jz_f{(s+B{6AaqE@u2D6axO;mJ_@aE5+YM#RCAE z3Q`Co{OH!l2q}NRMHIOGCx`<8XaLC3jozI{-A8LYLwtwysMkUQuxNI1>b-XwnjZv7 z9KyB$To0iS7X!Ul+Snwv28~Y`ipjZa8@UisIP)Y|!|P z02cDctKlKSwkiueOnxGOFk_oRf&M}J2aiGYtwJDdie9T!T&Ub!ZnNhb`&lqJ zAuUKJ#cT)XL3IgLH@aImzJ9v9cFbCW-MQWbM|d`$`=*7Hu1rE-yOeg*R0Q8;m)@rg z5~|j97iyHzPD$Azcze(h%3cwCd*f&D+S;)UV5yu}bP)h@3WW=2@l$jvlV9dJ?Gg*W zTHKJDcj{p?E`;##i#)}E+ZBDIbPh=VP1k4bW3t<5ffH+W(T5W+jM%X(hX+GbEG8Uu z{jVAA!dO_ZIteu(Q<%NMKkZ3f8!A>F{qYWgW2{P<^J%Spn?1Zn=HJ-LO0~lna(M&J z!Be@blbT=E)djGX zW-HMJl06Uc_{eeY1_$i}>Gr*3f@q47>YZ$HH3k~tyB7DQZ_-ASlhyY{6low?C8jH! zDW{=XA)(`L@2MH@oPO!pHJ*qrovBxE7q#CT>_5MJ_@Hc1y!2+xb({V9^uo^%a78-2 z^(aRP-|Q@BF#Us%$Lx#SXR_$z&&fTAe7e2pR>={fEprGw8+I4@PCExvW-DZMQ3hn z?AD<`!1Sb<;d7;|T6!jsvM8E)Y&N8pn7x0CVYQD*Nnu+I><(b5>%&0Vz%?DBK9&x% zQimVj$^h75L4ZlG*G++0x=5xt36jQW*xEDHA+As~p3TpDnhyfw*~)@W=~iYf<*x5Z>HUr6<|N+MiAt%tfd+C7zh@h2DKUcUbpmc%I12y5ZoOg zZ)+GJBk{ThM8>X>iiBNl?VV`KH?C(g)7i=r?Nrnaf}CvtEr6A13$R1H`H*-CH_3%= zYAS{siH=x=gPV%XohSk!gRN7F8RBK6W#oVYDKR4e3`kiT0N{)^-^I(gp43S>8Z3x7 zUwN<8cJA@#tO0uGn&zy0 z?&kw<&CesN5F_ttrqU?#HVS`^aruvD?e{3*CKXVxKdTMUQLOdMi?`tUF^q-Qn!QN; zBf7=wW*FsH-}(xp!O-iT*EmpOoFPPl^x78rSr+GOKMD(lCP^6QCxYL$?lL|$9GUR* z@$bw{7z~wRSpHeGVIyWwP4|Ee0SqPaX$~H&ykCjHrW;y@&G5KRP>bY-!lDx|kRau^Gt(-l6rfyprKH=tx)1KVZ)^7Ch=lBVGW3fDZu z@QMIj^~!2mT^YSFWFW=dUW7%5w};*aj)efdq~+G#;h{+bBH$>DQ{#vr4wH3dz3{n^wihoM+tz=JST>;C-foKFHOw~r(De&dy zQ(Bu+Hl@kQaImxJd}=^?+BSG-d(D<(QO4==?>FE)*>71RLNFCHfK(F0R49TA?lZJc zMiTh1Wos7E*629f4~p+b@A~9@xBc>oyDm|{HHdb5TJRU~%Lz)|!CB1Yz*}%dvr+9X zA1izC$=92Ed(@=B(|fU(jqI;@B@*;@zq`&$10K|mkekHNj~Uecxy%*#dR-h z2qf`;yO;KnM5iniO~J&GRKChDRqA$B>7&Qh)JkJo&`mHD?}dg-OA%3Q!ZlEBhvP4N zR45AxH`Bh&5ILBd7Qk2ksCU`BL#=mdPzL7@LE?3+m%g}J5wEew10$$X9}hBod_*U4`}-M7&HdE;=(UeRxa|fz(nRGddUP8_&AYn|%MtDwKdu1kX^F$t zbza#F79w{16V|UG4GZuXazcs|Qq9zE`czaqr79dWcVqVt3&()-*L0~Iof?YTTmZY> z7}L_&epXz9|LLHW77l4pJm1~>?6;(Np)OCFc;rKaYi1scdFN|qUvfbv<-{+*?$4!E z2>5bHK0Ri!Lx`=FA?+>VSjKP!E|;aa$g>sZFDpE>oWK>+g+0-Q;zQwF)o;!VdtXBMlf!ew8fJvw~k*14ST5H z=o7ZQ!kav-B^|WJO5z-nHM6o&?ch~)BMA4gjX8$rbK>*O^0{I+Uk!#Ypx4bEY=-s^ zHTIVy%?};cLDG)&qgl7nLlj|>z$T!`la?}0ym~Bc*T$LN>B%epDDmh#u7MYe8pD+9 z{L1e?GJSehf?MY17tpoQ{R0w)Ug3#-G;$F-V&OwX5-lrHXkzxo%!7bf0=6|=?s6H5 z6hi$Og_MZP;4Vl+ji9a-EwN`udJTX07q@T!@qSyK)E(=wG+zPn#d{XgcjIpFxmsd}`KF9U(HHL&Z zeUf@9=c21W^{=UEp`wn=^rIfQ=O(xEV@qI@TJ`pDWbpe|Ylpt8g;&$vIq#nrtu873 zboHTpA^wj(j6M>o?wN17AqL7FI_^Ta!Wa%IYPu@#24NwdQ#6rzsN=2+=-g%I*WBE``nBqM%f&pXM>i znc>c~A2j!1{TY{ZHK$t~0`}Oe85FA@I0dNj21pOObv$OTFhG&6YdfHG*W$bhQq#wP zrL0HV71JND$P-c9hqMo`s<;Y^zFo=2k%n(}BY?ux{-J8-pBiDchwo72l*xJnu*PmB zQdnyUC~xMlj^$b}Y=un+DK+5Ut0FSTfz*!qO7^H&g@H+28kyse z9VDC;u#N-x6j_ZnY`~%s-w?m%k0l+z{JA8H zrj(L%;-ZM_s6X-j6#_RL58|euUzK{5Rsg#Hbhqu1Bblrtc6 z_cQ-kSiOm-PRiIH@8DLXikG2o58`LE3rON(I;3D~<3s^EKwdtx9?&hySPWk!AMv0N}m-t?@{=G z|A&P09UR3V1=U!HgQfotDC#itlu{UaEWqfbHrW9l>?TJ5vR-Q1rYi8QCmQ&tm3A4= zZe1WZdIn{l36`=5o{{znlW{o?&Vl6UZatWHBI5L0y?bf0lLD}2V{Vg|Q#7oOGil1t z=Pnv-YQygoC$a}OR<}r z_x>=twP{H@iFxzNu}k3w2)I%V!;Si60qohYs9%shMsZ+Uq8{g((jD2N`s5S{Hp1s2 zQZa@;1`_Gtx!-WtF?p&)f3MgmmLULLvI!PLOHy@6zR@AMg*cCTX>0OnU4rzOn`X!E zlNKE*?c*X}#im8sWE;a8EaZq~QlzcKxW}-T3zx!Z;oBUZk8RXkW>_p5cg5a)Q)xz= zNw&^vedh`qtdbK>U(r=M;WOr!!S*RY>l6h9lc?jkEhOl4Z01Reqqel;dA!QfepWtk z%Z`~kzyK~Eot!Le?eT;ii%b4ssmmVj9Zj0E7^7DJSqy+Cw;|Y;J?Rm z1ytlqN8T*^#J7{k?%n;sLvrs=VcVrxAgLffHi$|Ai=8ZhR)WHcU#a{E4KYoW_F4!8)f!P~7A%*l0)L}Dg=9cFA+}F((vfFakx`P>lvgnR zqkfFFZ+5fN+Ie+^8Tx&S?HtTiUr84t+tY3CGqwPFwjmlol#*C0;|}XrRnP{Vb^|;xG7F9B)5lveY#N;7t;W zEfs^je03-WGcy4#l1!KC9mKWFr-`^_3XQwcWzw&VtG9q(khT!4*_Fy+Y9B^=I<3k5LqYCPG1( z$o=rOZ|Qtg>d%m@3fR`T?m-tgH!=nz*IAmq3H1V&k8x*bJtIxdT$EuS+Y zi6@#tyzMbHOXq0AUxVW@BwA(LFRDKc(s3E$ES@V8QPp=XAA&8klCkx2I(K_`9B^ye zX?*j-N?QZQGKqpq0^y0|NThRs(MQfDAt`-dTAl3Qd`S@1-iSl&4YNhwYZHC^h>9(n&yNpJhOxyr;3hHmyNd3VN>JT52xXn81ovsWEYEq8zb z{win&wa@%fs<{_N`e{`QvcVS2!`?K=0ppD^0Ik|8fI2XD*e<$hS3j-H7@Uj3K}4c?x@3rUbUoY`2+ch$eHnTAyaoONI21E?17) zsAl<0YN-Obid8~;H;(2l!6Uv(<0|Bvwsk?)XN2FmPY4JT%*i)vk^J4jSI+M4_TfHSgT^Gr5kZMMgUZJsutTBIWQ8 zb@cz|epuJw`Ie)|=!@8DkOZ=}r6KCqGyLa?uTK~uGxP2zH=ds1Z(@=-zHw;rJi_D$ zbKrjUtjxtp(g$NaNseY_;Iy;xgjSK4?D*_j*NlidJbeXFe z5PE)FT4&9B?$!;cc-?O8aV9=*movq)#)VtKBFeufmJ(_;9Qy;3bMo zoo!w*NEBx^<~4mwO1zgl@tN|iE8~(1=5pSW%(*1Lj=fgoht;R2qc?T4u*UBPmqD-? z7(VT``FkVnO?n0A^Y!2sMYqexLwM==(~DkzCpK9z_}<)PdJFEmoU$GhbAuRt=d>P; z3yOZ)!tu>gaZX^3_y#PX?2@=0FN1`AHF{O6?>(qf_&D4r@DQ~|+Tq5&(Re|>G&I6d zAsBWO-H&@6WuJ0i2hlbOhPjG^@Xo_u2|0RqFUm6QDOUxkYqC_V;}}}C?e)4Ci!U$m zeFKy)78Q=2x<2gXA1{Wh0}Y9jQ6r&Bzp?qAj+N1lIV=qj&w|4u(NL(c6 zSumSm2*E0@DUtuPV^$l5re$TbkZKD-fgAq++7?DJ7>WMR|M2Lz4kU@c14LE;WUJhaxyhVUfjef@LbZ*ytt#Lkh(XX?2xG8&VWPYJ8iGaQzI5@q0vtpq!uBA{ zwSc0$9N$+hbh`cZo3+S5+F?dXv|@j#7}CpjG4+Wbsc%d9Ps_(EY4V~=HNH&;K9Q@LoijupheZm_F_y7WbwgXR<6 zn3>E$TI=PT96RWC5p2;xjTI5B0i*{k!a{9cua{f!83VUQ`G*pmj{ribW%dJsmfBaJMFDsuUv;&w7PB{M0w3D8myr`lNto%Nj?xU z$~j%dOdBrio-9MRApAt}!P}_j36KHm&L_e!YwQlye@KLCow-r$f749RKE&(i;_9r# zJ-Al%DoBEgETCzCb=u?K{unPQ7w@M&UFz zDuE5%dqQB0-H0yIA4DMnj=AfkkkC=C*0}91K z^8B&rdFWSR8+x-yqTa-LJLix-cGU;QQ=YyXd=Lq=gfk94a+@+{I{~0+x!?1{&VOWk?iBI-t3pTA zIP1q_r4qe3eOG6g2ubD7kZ~JH>RofgYqQugkUW^`?rRxlz(b$rOR$b`2fp%uVetz7 z{6ub?(Hwggjv0A)5tjgekzQHz^E+c!HmWdrqAw+969Yc)#$X``{Vw6pI2d)&Xanhl ze8VS}Y4>IcTwchjm+t!Mb`GlZ{QOlSlL-SNlOWBkV>lYkM7W@3cWz($v1OxohuHpM ze8naWbKJS!bdx~>=YUQ6L4r9Scy)=oSiuX8t1n%CSDJ&VVIuQ2{1Ts}-zX|bF2_>0 z3Z?~+h|RwHYL9=3L)y$v@;&x(=ghrhn_`sl>s%znNe6;3(#pPP5B^->TVFqKx)a{) zrJ^G5TR`@JF|%PW4#egd)pv8VYEjVQdMbT_qaiLAH}0obzq~A)kli|}NwfSGAAcIU z?Fw1XlO>{?4!YHv$XqMM-~uB?52G72ttb$4w3z9Pjl?0|O3O`}!3 zrnZyiXb!g0FtXh1PwX>oou|t-IsWF??FSA}!eT4hx4t@w zJ!k+az|A7~jqQcohr5V=PcYgc^|=o)X&77vkxwiapA5NSpCTPsOk+2`Y@xO}CY+WZ z3YXFnv+nnprM373?lC6mqPctf18lX)G4y?-1+9q}fg7uT}bVi1H4KJH3VKrU0xO=NwY`?cOKf4Z| z(j233vEI;Smy~Sf83~OON|f@U*@LyC(F}zCiHbSX6Ci~c)NkjfKlFohFG*#QL(6m1 zq6_sk$p4vct!2SQNw)`w14e6LJi%~|$ycD;@u8`FNh9<{Bf!EYc`M231xUeV6o^8s z@)fp=1gPO8J{|$jt9#R-m!22InE7v_ND8fN^AKO{`it_vXXfofU!v(3%9Nko#C7Hy zo;JDwzw78HhyOK|*eXs-y9s5F3#-<=vV>xVv6;BQ!+n#|ock|zaTpSm!2`F*d>zTf z{F;${zj}#|@ajbF9i7z1x0z@?S_qu~e9c?;tWTcdJsXF9Z269skoL~@JFAGzO8cyp zh~&@b-+|z|uKy`D=cmq8C;wpsZ|z=I*I<6TtdEV_nu%3BCkFO%5>f?v-C8L-TS zw)S!cKzS+c+IhbZG)$xe7^I^C9i(@ z5ZGzi{n@fJ-qqlA`~H{x!7c9iFuI}Nf+nqX}JZXj(&m4(n@aQCdp$WwN7ms@+o4Po?yM0;i9^+$rJL-NXf0sx~!)BUlgM|lW4 zBWN$|t&yEcfTFps0A~I&_ZX_1(VXcE+mkv6Ofn`zF@>6Ck+AJCM^|XLGfbg4wS$m5 zEsU?x+t7-7q){!a(U^&4RCNa}M?g>b`M{VN$)K-ZRMMQ!4&JdWK!KsZy4xUV*JOlB zThapl>VZf=-jclKo4$5*ZO;;fneX5lT|HHU6AYcc&u2*vVg`F&_(YnRH>KY>=3?}h zK^Q#L-9{gj^^L$T%Yu(gN)Iyr@N1l){$&#{tETF_8v*GpHB5Vx`Bp%1bmGvLleOE; z=9deHSVLVk1<j z=8d;s=luux1Fz|S4OS+%_g7N1cGy8Ck}iNux~0H!Uc`_9r)^$20}q9k$nwfNz_-6_ zL=CW9m-*P`(B7oSrx@C&nid3PFnqg&gd}UXD`fu05uXmyWYyE2{W?wTv`b8b4hGNJ zf!%NG@dV&T=Jhl$`Hm;DwAsCsvpGDK<$N+yUmr=^e!@^cm&@{Ylvv_{r^DSy z3JX($*X(ivp|yz?ccyp~yT1=3<`J$D-ZmOoB~^}vOG~b^1Up4zzeTB&!_qTdOFY?K zPiMegVmO+n;Z-4RM8~IdN{J})qbvrr*`omb0nPvl7Hig|A3lOg$dhGf1aPMyLEG*~($T1j+l1Tv5!g zyisp&3p0)8zTg;dD4qNKU1Bf#ELg|PMpmN0rsjE5&*HHO@{cG@QNco%hxaMdK_;Im zs06n<>Xf^WVX8Zj+m`hF)lPrMOqX3`P%@FFex+ML(f`MJX(ZcCH98yKk!P|L!j62Up?*qBop^K-AD11 z$J4WJg`x{=et}7{P`xuP99pMV^IW{HF0RzLpeR8exDN!lu&VdDhCBneLzAHaE~EGn zsaOiY;P=@5MyKmfw!mN}$rG@Yhi1h%$^>H;wILMJM#L7N`e* z^vWkb?XtRVu>WH!{1VFmiR}9hT;3B|;0)u;d7_R(Lp_VT%MT3S(aWnmwh@>=*`q46 z-1e>#$wPkdL!kQLZ`iK^ydv|yZ;^&7AGx;_1UhIg-5zzI&s4!3pdk`VdUYHI_~kyC|{;Wfni-JlOaAZuI=^lSz+n z7OgWXxf7Fb+TYy_uD=UUq^V|`e zZBqA>)*3fs8d!fD3(?*4)Rxj{*Z~kv8wF!;KE2k<$iUg7X{PwXeaNa<&hdh78Kr@l zjR3rQKQB%#*|=g(=LP~N)1H2cMt*(&7!bX&3PIR~di0_~fDnFx+Om3qQn?oRw7+AC zo1%q{0eIL|_Zv-@wu&|yRfB3d`9g;kDI~uDar&xZa|#iB%r_N|9a2AiXdhiC3sMBC z3e);&j|XKs>VcrM`1QZY_r?xLSx*C4#5X4=FR(0=xYC$M7nGgz>ozv6a_D8L-nc@_GuJ3 zaw>f3DmLj!a_4G$2Q4ihawa;GyTdoI{-*DzSc6?GvK8HZ`lI8P@gYu&u2A=pRCq@r zHQOz7Cf48}Wxl(fQS6054U8=$30cT!Sa7lZ(9H9e!#F3Rk^Jt&NXg0Zq#(`t3);bf zKBq{WGx0Ay7G;_{G!Cf?koG@1`Lm15>JLacSeS!_Hv*146`7&$jGU!?z%ZaVcW*Oo zK}z%?bH46kVUH~&pSfU>RZgW-baI=z>S}6SzAfNkqhfhQZ<0bIaL2?{dhWNXJK8XY zZmnSDhlYI&y|VDN<_~ctNtWa|ut}L@b<5z-AJa)N^h05IJW!_%(=W0Tj(UvRD;#U4 zAWOl+9Y9BB=a%?uO9X#7l2N!;&ZRo!M_S-r{wc*0j!uCm*+g2T`U?%_gH1BV=ymGwJj27Z(m=(LY(_7GIF~O zzx=aSx9w|U8wTu5jo|fQ7&AEhi31(HtA1BVp={A9y(1v4SgKMw&}V01j4yrKoBw(6|WVWd88u&czO z;x+of1$}zGa-$#@BE2P&`{H$OL>2}g{gzR-aOc?Ql^uTD_lu@=6Q6@wnGE%f%YvM% zh++OWc@1@~fhuD(akqwT9K=K2lM~@`X^r$BZBSgYI9$SgQQ?=GIAYYdlLm40xOATA zL-4>!Tnw!9E`-3@ydtb?w(~o=uU#>SE!zxOTU)~u(Ewb&;tL83SG2A{%xME73@}NB zQ?ldVI8GvuP17-{=B+i;J6gvU@;>d7&#~F&ZOJH|ZOB7ygUhX_Zm25IDUf~kpe77w z!TQ%oONhm7k?El^YBrfvCNw8Bx<))~-i7Ijm0mKsbROB-8<6IiI7`kN&;SyoG`0w* zSP?@X-bf}-_=Di`BW}}n$o-IG%M|v6PYUQjG(3MQc0$31ojfunOqneEal=4i*7q^t zxTNMX_&CP^bR5%rEN$$%lefIl9dONS^x8u;I)3!yoNfvES8bg)e?LfWxTW~6{<{&A zp;xyRGvYbN`y`qhH-EeP#lhP=&Yyj?UNXk&S)hVLz2AEMU`H4A5KKYS;=sFx{GBq* zFK0Roxo_#cQ8Kzw%5`q241<4U_eJg(84nG=Zmg!axzyv&AS5X}oB&X*^=|f{i zZNth~?hC4yQL_nBi)=g>iZ+^@x2zX_RrA%;z@ixZ-)&_zxP}iIe7;-ShMZXWMFjoI z)j_bD13+}WNZoG7L&bk9)Hn$HU3`VwSXrfI53BZho|ePUP+NXoIpSC@l6y>zU0i}Y z7=%8{<1tUVo}wV=Cg|>GcH9KH_s$zXoYimToo~=B`c(vl6M*g94@YgSf=hbn{(G_! zSmtM0b6l}YMkwze&~s07l#3O{-^Rnl9;T`CQdpiBoi*53V1$2hy_^1!9&!p=O6K@L5j{mjumR-_ClXAJW?xYT zX=GO!P8<_j?m2ftQ?WDvlnRlKC%>sT~9g#kgx4##K4Qpwp&^I%o9 zPLTmrdZ2-p@bs)WgYkg4McPxcmrT-Ex=~_ssD02U@#F-!s)q`qv7}~6@IZ6woa7(M zHJP>LZjT$+I!+~=PFMQQ(B0PFB$yi#hT2q z+Ra{dFUk>s9)~=MoKK}Lapfgvk{QZRuwICXoA2R0iJRQa`0=$A$8d(K~>=lV$^R|>CmKv&T!fd`{WP@nn}`{3%Kray5VM0lN6`& zBzkK3?u)(|ueqx=M$(NDZV-KAi62%1y^Msa!HU~xM6zz;-t&!GVj6%)SnP+;Bx&bU z5T9!cz&S<>bHQf?wXFJcXT6Nfd@cAdo5}nng9ZZtEwAX-qnW1}bo5RY7q$V#i;!)f zJ5ZhRAPM?p`tBh~+l5`!D?Cm%3oBaiBZA%LIDcx0F=VyR+xEn=VCM>X!?s?U9I!BjE&IloA z2@qwhp&M@**_RwRifiFClTTbv5a7-~559$5N$s-S@~-5UA^M$ZbRRX6SbAjuwn*tW zorr4BI&;NTD%TYie8>D`-HoZ&qs|%L5(KMi;Q4Wh8rU-oh{FeC-qMpKO~eZtD&KRo z&flVj)j*p2yDPu2gLyal<{y7i5Cx&Jqf<44tOFY70x7O-vOc&j7K;YP-!0!s0RgUWNcy(0Gs)g(zpdNER0rUn*T?y}E3?3WIuMQuWuuh;N7KKnX=aoc3c zR5Oay@wf*oE10@5#lm*Kw!%^YM4hc*R+n}SPctY(yUc{ryOjOP_Y8JYe_3cs5%BUT z6=G+)3wi&J(;}dA;%Dxk9ncLr)gJ$8Lp`{ojEDloVK?RLsaVjMhsp>8;!H(37apv+ zOO|NE_i|B1xL7{ww(T_B$NO%(r~oF0k@$;=ACRJ{{s*`1dFmpx95`$I?{nV!fN#EN zcK*lCu=v#Vpf8*spWJT{o04}dPcG4nzZUMwyb&St>JS&w_TSih�!hu5EZHgx--Z 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