From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id CB9AF44ACE for ; Sun, 20 Jul 2025 18:25:07 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id A687768D480; Sun, 20 Jul 2025 21:24:54 +0300 (EEST) Received: from smtp-42aa.mail.infomaniak.ch (smtp-42aa.mail.infomaniak.ch [84.16.66.170]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id B56A468D43F for ; Sun, 20 Jul 2025 21:24:47 +0300 (EEST) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4blX4b15dbzynw for ; Sun, 20 Jul 2025 20:24:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=regaud-chapuy.fr; s=20201206; t=1753035887; bh=viqGnCYOuptxOMFrcT8LMkAwfDe/DtaCG5iyKWTv1pg=; h=Date:Reply-To:Subject:References:From:To:In-Reply-To:From; b=hxqEe4F05cKGxBY+CMWAvyVi3QF6K5Lq4oAHj5F9dJklPHYa55BqchO/bQIG11BLa clwyDZY5SxvXglv54YZhtTHA3s8jYqJqlmgllGBo5D9HZzmyNRy3pGM4i4ikzDAKDS dN4r7Qnuxaax/cpHxy6r9FI4eKvVLAdIoO8lMZ7A= Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4blX4Z3jYvz368 for ; Sun, 20 Jul 2025 20:24:46 +0200 (CEST) Message-ID: Date: Sun, 20 Jul 2025 20:24:46 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <20250718103055.1172733-1-timothee.informatique@regaud-chapuy.fr> <81146431-8734-4dd1-a46d-f45ad40dd484@lynne.ee> Content-Language: fr, en-US From: =?UTF-8?B?VGltb3Row6ll?= To: ffmpeg-devel@ffmpeg.org In-Reply-To: <81146431-8734-4dd1-a46d-f45ad40dd484@lynne.ee> X-Infomaniak-Routing: alpha X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH 1/4] avutil: add generic side data for video coding info X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gMTgvMDcvMjAyNSAxOTo0MiwgTHlubmUgYSB3cm90ZSA6Cj4gT24gMTgvMDcvMjAyNSAxOToz MCwgVGltb3Row6llIFJlZ2F1ZCB3cm90ZToKPj4gRnJvbTogVGltb3RoZWUgUmVnYXVkIDx0aW1v dGhlZS5pbmZvcm1hdGlxdWVAcmVnYXVkLWNoYXB1eS5mcj4KPj4KPj4gQWRkcyB0aGUgZ2VuZXJp YyBkYXRhIHN0cnVjdHVyZXMgdG8gbGliYXZ1dGlsLiBUaGUgZGVzaWduIGlzIAo+PiByZWN1cnNp dmUgdG8gc3VwcG9ydCBvdGhlciBjb2RlY3MsIGV2ZW4gdGhvdWdoIHRoZSBpbXBsZW1lbnRhdGlv biBpcyAKPj4gb25seSBmb3IgSC4yNjQgZm9yIG5vdy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogVGlt b3RoZWUgUmVnYXVkIDx0aW1vdGhlZS5pbmZvcm1hdGlxdWVAcmVnYXVkLWNoYXB1eS5mcj4KPj4g LS0tCj4+IMKgIGxpYmF2dXRpbC9NYWtlZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAg MSArCj4+IMKgIGxpYmF2dXRpbC9mcmFtZS5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg IDcgKysKPj4gwqAgbGliYXZ1dGlsL3NpZGVfZGF0YS5jwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAx ICsKPj4gwqAgbGliYXZ1dGlsL3ZpZGVvX2NvZGluZ19pbmZvLmggfCAxNjMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+PiDCoCA0IGZpbGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRp b25zKCspCj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdnV0aWwvdmlkZW9fY29kaW5nX2lu Zm8uaAo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL01ha2VmaWxlIGIvbGliYXZ1dGlsL01h a2VmaWxlCj4+IGluZGV4IDk0YTU2YmI3MmYuLjQ0ZTUxYWI3YWUgMTAwNjQ0Cj4+IC0tLSBhL2xp YmF2dXRpbC9NYWtlZmlsZQo+PiArKysgYi9saWJhdnV0aWwvTWFrZWZpbGUKPj4gQEAgLTkzLDYg KzkzLDcgQEAgSEVBREVSUyA9IAo+PiBhZGxlcjMyLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IHRyZWUuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gdHdvZmlzaC5owqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiB1dWlkLmjCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+ICsgdmlkZW9f Y29kaW5nX2luZm8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IHZlcnNpb24uaMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gdmlkZW9f ZW5jX3BhcmFtcy5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiB4dGVhLmjCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IGRp ZmYgLS1naXQgYS9saWJhdnV0aWwvZnJhbWUuaCBiL2xpYmF2dXRpbC9mcmFtZS5oCj4+IGluZGV4 IGM1MGNkMjYzZDkuLmY0NDA0NDcyYTAgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2dXRpbC9mcmFtZS5o Cj4+ICsrKyBiL2xpYmF2dXRpbC9mcmFtZS5oCj4+IEBAIC0yNTQsNiArMjU0LDEzIEBAIGVudW0g QVZGcmFtZVNpZGVEYXRhVHlwZSB7Cj4+IMKgwqDCoMKgwqDCoCAqIGxpYmF2dXRpbC90ZHJkaS5o Lgo+PiDCoMKgwqDCoMKgwqAgKi8KPj4gwqDCoMKgwqDCoCBBVl9GUkFNRV9EQVRBXzNEX1JFRkVS RU5DRV9ESVNQTEFZUywKPj4gKwo+PiArwqDCoMKgIC8qKgo+PiArwqDCoMKgwqAgKiBEZXRhaWxl ZCBibG9jay1sZXZlbCBjb2RpbmcgaW5mb3JtYXRpb24uIFRoZSBkYXRhIGlzIGFuIAo+PiBBVlZp ZGVvQ29kaW5nSW5mbwo+PiArwqDCoMKgwqAgKiBzdHJ1Y3R1cmUuIFRoaXMgaXMgZXhwb3J0ZWQg YnkgdmlkZW8gZGVjb2RlcnMgYW5kIGNhbiBiZSB1c2VkIAo+PiBieSBmaWx0ZXJzCj4+ICvCoMKg wqDCoCAqIGZvciBhbmFseXNpcyBhbmQgdmlzdWFsaXphdGlvbi4KPj4gK8KgwqDCoMKgICovCj4+ ICvCoMKgwqAgQVZfRlJBTUVfREFUQV9WSURFT19DT0RJTkdfSU5GTywKPj4gwqAgfTsKPj4gwqAg wqAgZW51bSBBVkFjdGl2ZUZvcm1hdERlc2NyaXB0aW9uIHsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2 dXRpbC9zaWRlX2RhdGEuYyBiL2xpYmF2dXRpbC9zaWRlX2RhdGEuYwo+PiBpbmRleCBmYTJhMmMy YTEzLi5iOTM4ZWY2ZjUyIDEwMDY0NAo+PiAtLS0gYS9saWJhdnV0aWwvc2lkZV9kYXRhLmMKPj4g KysrIGIvbGliYXZ1dGlsL3NpZGVfZGF0YS5jCj4+IEBAIC01Niw2ICs1Niw3IEBAIHN0YXRpYyBj b25zdCBBVlNpZGVEYXRhRGVzY3JpcHRvciBzZF9wcm9wc1tdID0gewo+PiDCoMKgwqDCoMKgIFtB Vl9GUkFNRV9EQVRBX1NFSV9VTlJFR0lTVEVSRURdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA9IHsg IkguMjZbNDVdIFVzZXIgCj4+IERhdGEgVW5yZWdpc3RlcmVkIFNFSSBtZXNzYWdlIizCoCBBVl9T SURFX0RBVEFfUFJPUF9NVUxUSSB9LAo+PiDCoMKgwqDCoMKgIFtBVl9GUkFNRV9EQVRBX1ZJREVP X0hJTlRdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA9IHsgIkVuY29kaW5nIHZp ZGVvIAo+PiBoaW50IiwgQVZfU0lERV9EQVRBX1BST1BfU0laRV9ERVBFTkRFTlQgfSwKPj4gwqDC oMKgwqDCoCBbQVZfRlJBTUVfREFUQV8zRF9SRUZFUkVOQ0VfRElTUExBWVNdwqDCoMKgwqDCoMKg ID0geyAiM0QgUmVmZXJlbmNlIAo+PiBEaXNwbGF5cyBJbmZvcm1hdGlvbiIsIEFWX1NJREVfREFU QV9QUk9QX0dMT0JBTCB9LAo+PiArwqDCoMKgIFtBVl9GUkFNRV9EQVRBX1ZJREVPX0NPRElOR19J TkZPXcKgwqDCoMKgwqDCoMKgwqDCoMKgID0geyAiVmlkZW8gQ29kaW5nIAo+PiBJbmZvIiwgQVZf U0lERV9EQVRBX1BST1BfU0laRV9ERVBFTkRFTlQgfSwKPj4gwqAgfTsKPj4gwqAgwqAgY29uc3Qg QVZTaWRlRGF0YURlc2NyaXB0b3IgKmF2X2ZyYW1lX3NpZGVfZGF0YV9kZXNjKGVudW0gCj4+IEFW RnJhbWVTaWRlRGF0YVR5cGUgdHlwZSkKPj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC92aWRlb19j b2RpbmdfaW5mby5oIAo+PiBiL2xpYmF2dXRpbC92aWRlb19jb2RpbmdfaW5mby5oCj4+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAuLjE3ZTkzNDU4OTIKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9saWJhdnV0aWwvdmlkZW9fY29kaW5nX2luZm8uaAo+PiBAQCAtMCww ICsxLDE2MyBAQAo+PiArLyoKPj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KPj4g KyAqCj4+ICsgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCj4+ICsgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz c2VyIEdlbmVyYWwgUHVibGljCj4+ICsgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKPj4gKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+PiArICoKPj4g KyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+PiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKPj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS7CoCBTZWUgdGhlIEdOVQo+PiArICogTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPj4gKyAqCj4+ICsgKiBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCj4+ ICsgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl IFNvZnR3YXJlCj4+ICsgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp ZnRoIEZsb29yLCBCb3N0b24sIE1BIAo+PiAwMjExMC0xMzAxIFVTQQo+PiArICovCj4+ICsKPj4g KyNpZm5kZWYgQVZVVElMX1ZJREVPX0NPRElOR19JTkZPX0gKPj4gKyNkZWZpbmUgQVZVVElMX1ZJ REVPX0NPRElOR19JTkZPX0gKPj4gKwo+PiArI2luY2x1ZGUgPHN0ZGludC5oPgo+PiArI2luY2x1 ZGUgPHN0ZGRlZi5oPgo+PiArCj4+ICsvKioKPj4gKyAqIEBmaWxlCj4+ICsgKiBAaW5ncm91cCBs YXZ1X2ZyYW1lCj4+ICsgKiBTdHJ1Y3R1cmVzIGZvciBkZXNjcmliaW5nIGJsb2NrLWxldmVsIHZp ZGVvIGNvZGluZyBpbmZvcm1hdGlvbi4KPj4gKyAqLwo+PiArCj4+ICsvKioKPj4gKyAqIEBkZWZn cm91cCBsYXZ1X3ZpZGVvX2NvZGluZ19pbmZvIFZpZGVvIENvZGluZyBJbmZvCj4+ICsgKiBAaW5n cm91cCBsYXZ1X2ZyYW1lCj4+ICsgKgo+PiArICogQHsKPj4gKyAqIFN0cnVjdHVyZXMgZm9yIGRl c2NyaWJpbmcgYmxvY2stbGV2ZWwgdmlkZW8gY29kaW5nIGluZm9ybWF0aW9uLCAKPj4gdG8gYmUK Pj4gKyAqIGF0dGFjaGVkIHRvIGFuIEFWRnJhbWUgYXMgc2lkZSBkYXRhLgo+PiArICoKPj4gKyAq IEFsbCBwb2ludGVyLWxpa2UgbWVtYmVycyBpbiB0aGVzZSBzdHJ1Y3R1cmVzIGFyZSBvZmZzZXRz IHJlbGF0aXZlIAo+PiB0byB0aGUKPj4gKyAqIHN0YXJ0IG9mIHRoZSBBVlZpZGVvQ29kaW5nSW5m byBzdHJ1Y3QgdG8gZW5zdXJlIHRoZSBzaWRlIGRhdGEgaXMKPj4gKyAqIHNlbGYtY29udGFpbmVk IGFuZCByZWxvY2F0YWJsZS4gVGhpcyBpcyBjcml0aWNhbCBhcyB0aGUgCj4+IHVuZGVybHlpbmcg YnVmZmVyCj4+ICsgKiBtYXkgYmUgbW92ZWQgaW4gbWVtb3J5Lgo+PiArICovCj4+ICsKPj4gKy8q Kgo+PiArICogU3RydWN0dXJlIHRvIGhvbGQgaW50ZXItcHJlZGljdGlvbiBpbmZvcm1hdGlvbiBm b3IgYSBibG9jay4KPj4gKyAqLwo+PiArdHlwZWRlZiBzdHJ1Y3QgQVZCbG9ja0ludGVySW5mbyB7 Cj4+ICvCoMKgwqAgLyoqCj4+ICvCoMKgwqDCoCAqIE9mZnNldHMgdG8gbW90aW9uIHZlY3RvcnMg Zm9yIGxpc3QgMCBhbmQgbGlzdCAxLCByZWxhdGl2ZSB0byB0aGUKPj4gK8KgwqDCoMKgICogc3Rh cnQgb2YgdGhlIEFWVmlkZW9Db2RpbmdJbmZvIHN0cnVjdC4KPj4gK8KgwqDCoMKgICogVGhlIGRh dGEgZm9yIGVhY2ggbGlzdCBpcyBhbiBhcnJheSBvZiBbeCwgeV0gcGFpcnMgb2YgaW50MTZfdC4K Pj4gK8KgwqDCoMKgICogVGhlIG51bWJlciBvZiB2ZWN0b3JzIGlzIGdpdmVuIGJ5IG51bV9tdi4K Pj4gK8KgwqDCoMKgICogQW4gb2Zmc2V0IG9mIDAgaW5kaWNhdGVzIHRoaXMgZGF0YSBpcyBub3Qg cHJlc2VudC4KPj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAgc2l6ZV90IG12X29mZnNldFsyXTsK Pj4gKwo+PiArwqDCoMKgIC8qKgo+PiArwqDCoMKgwqAgKiBPZmZzZXRzIHRvIHJlZmVyZW5jZSBp bmRpY2VzIGZvciBsaXN0IDAgYW5kIGxpc3QgMSwgcmVsYXRpdmUgCj4+IHRvIHRoZQo+PiArwqDC oMKgwqAgKiBzdGFydCBvZiB0aGUgQVZWaWRlb0NvZGluZ0luZm8gc3RydWN0Lgo+PiArwqDCoMKg wqAgKiBUaGUgZGF0YSBpcyBhbiBhcnJheSBvZiBpbnQ4X3QuIEEgdmFsdWUgb2YgLTEgaW5kaWNh dGVzIHRoZSAKPj4gcmVmZXJlbmNlCj4+ICvCoMKgwqDCoCAqIGlzIG5vdCB1c2VkIGZvciBhIHNw ZWNpZmljIHBhcnRpdGlvbi4KPj4gK8KgwqDCoMKgICogQW4gb2Zmc2V0IG9mIDAgaW5kaWNhdGVz IHRoaXMgZGF0YSBpcyBub3QgcHJlc2VudC4KPj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAgc2l6 ZV90IHJlZl9pZHhfb2Zmc2V0WzJdOwo+PiArwqDCoMKgIC8qKgo+PiArwqDCoMKgwqAgKiBOdW1i ZXIgb2YgbW90aW9uIHZlY3RvcnMgZm9yIGxpc3QgMCBhbmQgbGlzdCAxLgo+PiArwqDCoMKgwqAg Ki8KPj4gK8KgwqDCoCB1aW50OF90IG51bV9tdlsyXTsKPj4gK30gQVZCbG9ja0ludGVySW5mbzsK Pj4gKwo+PiArLyoqCj4+ICsgKiBTdHJ1Y3R1cmUgdG8gaG9sZCBpbnRyYS1wcmVkaWN0aW9uIGlu Zm9ybWF0aW9uIGZvciBhIGJsb2NrLgo+PiArICovCj4+ICt0eXBlZGVmIHN0cnVjdCBBVkJsb2Nr SW50cmFJbmZvIHsKPj4gK8KgwqDCoCAvKioKPj4gK8KgwqDCoMKgICogT2Zmc2V0IHRvIGFuIGFy cmF5IG9mIGludHJhIHByZWRpY3Rpb24gbW9kZXMsIHJlbGF0aXZlIHRvIHRoZQo+PiArwqDCoMKg wqAgKiBzdGFydCBvZiB0aGUgQVZWaWRlb0NvZGluZ0luZm8gc3RydWN0Lgo+PiArwqDCoMKgwqAg KiBUaGUgbnVtYmVyIG9mIG1vZGVzIGlzIGdpdmVuIGJ5IG51bV9wcmVkX21vZGVzLgo+PiArwqDC oMKgwqAgKi8KPj4gK8KgwqDCoCBzaXplX3QgcHJlZF9tb2RlX29mZnNldDsKPj4gKwo+PiArwqDC oMKgIC8qKgo+PiArwqDCoMKgwqAgKiBOdW1iZXIgb2YgaW50cmEgcHJlZGljdGlvbiBtb2Rlcy4K Pj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAgdWludDhfdCBudW1fcHJlZF9tb2RlczsKPj4gKwo+ PiArwqDCoMKgIC8qKgo+PiArwqDCoMKgwqAgKiBDaHJvbWEgaW50cmEgcHJlZGljdGlvbiBtb2Rl Lgo+PiArwqDCoMKgwqAgKi8KPj4gK8KgwqDCoCB1aW50OF90IGNocm9tYV9wcmVkX21vZGU7Cj4+ ICt9IEFWQmxvY2tJbnRyYUluZm87Cj4+ICsKPj4gKy8qKgo+PiArICogTWFpbiBzdHJ1Y3R1cmUg Zm9yIGEgc2luZ2xlIGNvZGluZyBibG9jay4KPj4gKyAqIFRoaXMgc3RydWN0dXJlIGNhbiBiZSBy ZWN1cnNpdmUgZm9yIGNvZGVjcyB0aGF0IHVzZSB0cmVlLWJhc2VkIAo+PiBwYXJ0aXRpb25pbmcu Cj4+ICsgKi8KPj4gK3R5cGVkZWYgc3RydWN0IEFWVmlkZW9Db2RpbmdJbmZvQmxvY2sgewo+PiAr wqDCoMKgIC8qKgo+PiArwqDCoMKgwqAgKiBQb3NpdGlvbiAoeCwgeSkgYW5kIHNpemUgKHcsIGgp IG9mIHRoZSBibG9jaywgaW4gcGl4ZWxzLAo+PiArwqDCoMKgwqAgKiByZWxhdGl2ZSB0byB0aGUg dG9wLWxlZnQgY29ybmVyIG9mIHRoZSBmcmFtZS4KPj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAg aW50MTZfdCB4LCB5Owo+PiArwqDCoMKgIHVpbnQ4X3QgdywgaDsKPj4gKwo+PiArwqDCoMKgIC8q Kgo+PiArwqDCoMKgwqAgKiBGbGFnIGluZGljYXRpbmcgaWYgdGhlIGJsb2NrIGlzIGludHJhLWNv ZGVkLgo+PiArwqDCoMKgwqAgKiAxIGlmIGludHJhLCAwIGlmIGludGVyLgo+PiArwqDCoMKgwqAg Ki8KPj4gK8KgwqDCoCB1aW50OF90IGlzX2ludHJhOwo+PiArCj4+ICvCoMKgwqAgLyoqCj4+ICvC oMKgwqDCoCAqIFRoZSBvcmlnaW5hbCwgY29kZWMtc3BlY2lmaWMgdHlwZSBvZiB0aGlzIGJsb2Nr IG9yIG1hY3JvYmxvY2suCj4+ICvCoMKgwqDCoCAqIFRoaXMgYWxsb3dzIGEgZmlsdGVyIHRvIGhh dmUgY29kZWMtc3BlY2lmaWMgbG9naWMgZm9yIAo+PiBpbnRlcnByZXRpbmcKPj4gK8KgwqDCoMKg ICogdGhlIGdlbmVyaWMgcHJlZGljdGlvbiBpbmZvcm1hdGlvbiBiYXNlZCBvbiB0aGUgc291cmNl IGNvZGVjLgo+PiArwqDCoMKgwqAgKiBGb3IgZXhhbXBsZSwgZm9yIEguMjY0LCB0aGlzIHdvdWxk IHN0b3JlIHRoZSBNQiB0eXBlIGZsYWdzIAo+PiAoTUJfVFlQRV8qKS4KPj4gK8KgwqDCoMKgICov Cj4+ICvCoMKgwqAgdWludDMyX3QgY29kZWNfc3BlY2lmaWNfdHlwZTsKPj4gKwo+PiArwqDCoMKg IHVuaW9uIHsKPj4gK8KgwqDCoMKgwqDCoMKgIEFWQmxvY2tJbnRyYUluZm8gaW50cmE7Cj4+ICvC oMKgwqDCoMKgwqDCoCBBVkJsb2NrSW50ZXJJbmZvIGludGVyOwo+PiArwqDCoMKgIH07Cj4+ICsK Pj4gK8KgwqDCoCAvKioKPj4gK8KgwqDCoMKgICogTnVtYmVyIG9mIGNoaWxkIGJsb2NrcyB0aGlz IGJsb2NrIGlzIHBhcnRpdGlvbmVkIGludG8uCj4+ICvCoMKgwqDCoCAqIElmIDAsIHRoaXMgaXMg YSBsZWFmIG5vZGUgaW4gdGhlIHBhcnRpdGlvbiB0cmVlLgo+PiArwqDCoMKgwqAgKi8KPj4gK8Kg wqDCoCB1aW50OF90IG51bV9jaGlsZHJlbjsKPj4gKwo+PiArwqDCoMKgIC8qKgo+PiArwqDCoMKg wqAgKiBPZmZzZXQgdG8gYW4gYXJyYXkgb2YgY2hpbGQgQVZWaWRlb0NvZGluZ0luZm9CbG9jayAK Pj4gc3RydWN0dXJlcywgcmVsYXRpdmUKPj4gK8KgwqDCoMKgICogdG8gdGhlIHN0YXJ0IG9mIHRo ZSBBVlZpZGVvQ29kaW5nSW5mbyBzdHJ1Y3QuCj4+ICvCoMKgwqDCoCAqIFRoaXMgYWxsb3dzIGZv ciByZWN1cnNpdmUgcmVwcmVzZW50YXRpb24gb2YgY29kaW5nIHN0cnVjdHVyZXMuCj4+ICvCoMKg wqDCoCAqIEFuIG9mZnNldCBvZiAwIGluZGljYXRlcyB0aGVyZSBhcmUgbm8gY2hpbGRyZW4uCj4+ ICvCoMKgwqDCoCAqLwo+PiArwqDCoMKgIHNpemVfdCBjaGlsZHJlbl9vZmZzZXQ7Cj4+ICt9IEFW VmlkZW9Db2RpbmdJbmZvQmxvY2s7Cj4+ICsKPj4gKy8qKgo+PiArICogVG9wLWxldmVsIHN0cnVj dHVyZSB0byBiZSBhdHRhY2hlZCB0byBhbiBBVkZyYW1lIGFzIHNpZGUgZGF0YS4KPj4gKyAqIEl0 IGNvbnRhaW5zIGFuIGFycmF5IG9mIHRoZSBoaWdoZXN0LWxldmVsIGNvZGluZyBibG9ja3MgKGUu Zy4sIAo+PiBDVFVzIG9yIE1CcykuCj4+ICsgKi8KPj4gK3R5cGVkZWYgc3RydWN0IEFWVmlkZW9D b2RpbmdJbmZvIHsKPj4gK8KgwqDCoCAvKioKPj4gK8KgwqDCoMKgICogTnVtYmVyIG9mIHRvcC1s ZXZlbCBibG9ja3MgaW4gdGhlIGZyYW1lLgo+PiArwqDCoMKgwqAgKi8KPj4gK8KgwqDCoCB1aW50 MzJfdCBuYl9ibG9ja3M7Cj4+ICsKPj4gK8KgwqDCoCAvKioKPj4gK8KgwqDCoMKgICogT2Zmc2V0 IHRvIGFuIGFycmF5IG9mIHRvcC1sZXZlbCBibG9ja3MsIHJlbGF0aXZlIHRvIHRoZSBzdGFydCAK Pj4gb2YgdGhlCj4+ICvCoMKgwqDCoCAqIEFWVmlkZW9Db2RpbmdJbmZvIHN0cnVjdC4KPj4gK8Kg wqDCoMKgICogVGhlIGFjdHVhbCBkYXRhIGZvciB0aGVzZSBibG9ja3MsIGFuZCBhbnkgY2hpbGQg YmxvY2tzIG9yIAo+PiBzdWItZGF0YSwKPj4gK8KgwqDCoMKgICogaXMgc3RvcmVkIGNvbnRpZ3Vv dXNseSBpbiB0aGUgQVZCdWZmZXJSZWYgYXR0YWNoZWQgdG8gdGhlIAo+PiBzaWRlIGRhdGEuCj4+ ICvCoMKgwqDCoCAqLwo+PiArwqDCoMKgIHNpemVfdCBibG9ja3Nfb2Zmc2V0Owo+PiArfSBBVlZp ZGVvQ29kaW5nSW5mbzsKPj4gKwo+PiArLyoqCj4+ICsgKiBAfQo+PiArICovCj4+ICsKPj4gKyNl bmRpZiAvKiBBVlVUSUxfVklERU9fQ09ESU5HX0lORk9fSCAqLwo+Cj4gQWJzb2x1dGVseSBub3Qu Cj4gVXNlIGFuZCBleHRlbmQgbGliYXZ1dGlsL3ZpZGVvX2VuY19wYXJhbXMuaCBpbnN0ZWFkLgpB ZGRpbmcgaXQgdG8gYGxpYmF2dXRpbC92aWRlb19lbmNfcGFyYW1zLmhgIHNlZW1lZCBjb3VudGVy LWludHVpdGl2ZSB0byAKbWUsIGFzIHRoYXQgaGVhZGVyIGlzIGZvciBlbmNvZGVyLWNlbnRyaWMg cGFyYW1ldGVycywgd2hpbGUgbXkgc3RydWN0cyAKZGVzY3JpYmUgZGVjb2RlZCBkYXRhLiBIb3dl dmVyLCBJIGFncmVlIGl0IGlzIGJldHRlciBmb3IgQVBJIApjb25zaXN0ZW5jeSwgc28gSSB3aWxs IG1vdmUgdGhlbSBpbiB2Mi4KPiDCoEFuZCBpZiBhdCBhbGwgcG9zc2libGUsIGRvbid0IGltcGxl bWVudCBhbiBpbnNwZWN0aW9uIHRvb2wgaW4gZmZtcGVnIAo+ICpqdXN0IGJlY2F1c2UgeW91IHdh bnQgdG8qLiBQYXJzaW5nIGEgYml0c3RyZWFtIGFuZCBkaXNwbGF5aW5nIGl0IGlzIAo+IG5vdCBh IHZlcnkgY29tcGxpY2F0ZWQgdGhpbmcsIGJ1dCBleHBvc2luZyBhbiBBUEkgdmVyeSBtdWNoIGlz IGEgdmVyeSAKPiBjb21wbGljYXRlZCB0aGluZy4KCkkgY29tcGxldGVseSB1bmRlcnN0YW5kIHlv dXIgY29uY2VybiBhYm91dCBleHBvc2luZyBhIG5ldyBBUEkganVzdCBmb3IgYSAKc2luZ2xlIGlu c3BlY3Rpb24gdG9vbC4gTXkgaW1wbGVtZW50YXRpb24gaW4gdmZfY29kZWN2aWV3IGlzIGludGVu ZGVkIGFzIAphIHByb29mLW9mLWNvbmNlcHQgdG8gZGVtb25zdHJhdGUgdGhlIHV0aWxpdHkgb2Yg dGhpcyBleHBvcnRlZCBkYXRhLiAKVGhpcyBkYXRhIGhhcyBtYW55IHBvdGVudGlhbCB1c2VzLCBz dWNoIGFzIGFuYWx5c2lzLCBkZWJ1Z2dpbmcgbmV3IApjb2RlY3MsIGFjYWRlbWljIHJlc2VhcmNo LCBhbmQgbW9yZS4gQnV0IEkgY2FuIGFncmVlIHRoYXQgbXkgCmltcGxlbWVudGF0aW9uIGluIGNv ZGVjdmlldyBpc24ndCB0aGF0IHVzZWZ1bC4gVGhlcmVmb3JlLCBpdCB3b3VsZCBiZSAKYmV0dGVy IHRvIGhhdmUgYSBuZXcgZmxhZywgc2ltaWxhciB0byB0aGUgZXhpc3RpbmcgLWZsYWdzMiArZXhw b3J0X212cy5JIAp3aWxsIGFkZCBhIG5ldyBmbGFnLCAtZmxhZ3MyICtleHBvcnRfY29kaW5nX2lu Zm8sIHNvIHRoZSBkYXRhIGNhbiBiZSAKdXNlZCBieSBvdGhlciB0b29scy4KClRoYW5rcywKClRp bW90aMOpZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=