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 04B854B30E for ; Sun, 20 Jul 2025 18:24:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 3D29B68D40A; Sun, 20 Jul 2025 21:24:52 +0300 (EEST) Received: from smtp-8faa.mail.infomaniak.ch (smtp-8faa.mail.infomaniak.ch [83.166.143.170]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 6D60A68D3F8 for ; Sun, 20 Jul 2025 21:24:45 +0300 (EEST) Received: from smtp-3-0000.mail.infomaniak.ch (smtp-3-0000.mail.infomaniak.ch [10.4.36.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4blX4X3GJKzlyl for ; Sun, 20 Jul 2025 20:24:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=regaud-chapuy.fr; s=20201206; t=1753035884; bh=g4t2gPR5kH7dBJMfT9DqgCjD2GisU8kpsxTVsGyPfeg=; h=Date:From:Subject:Reply-To:References:To:In-Reply-To:From; b=C9JKq+VJajZ6V31FzM9Mytyjo9/nwRffMugjShy+x5HnLHkKmU1tJPBvvLCfsA3Df 8RSelLwNufnliLTzhwjUtmCc/UzfBXjep27dguYRvbdU4Jy1DU/CYJ+Gi1wHlR8SfD gWgOGRzsfsXqiL6EDEkE+YSnE4XlNj9I0ZRSxQ9E= Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4blX4W4mv3z3qR for ; Sun, 20 Jul 2025 20:24:43 +0200 (CEST) Message-ID: <3544695d-8899-46da-a407-ce9ca31bec16@regaud-chapuy.fr> Date: Sun, 20 Jul 2025 20:24:42 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: =?UTF-8?B?VGltb3Row6ll?= References: <20250718103055.1172733-1-timothee.informatique@regaud-chapuy.fr> <20250718154852.GC29660@pb2> Content-Language: fr, en-US To: ffmpeg-devel@ffmpeg.org In-Reply-To: <20250718154852.GC29660@pb2> 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: T24gMTgvMDcvMjAyNSAxNzo0OCwgTWljaGFlbCBOaWVkZXJtYXllciB3cm90ZSA6Cj4gSGkKPgo+ IE9uIEZyaSwgSnVsIDE4LCAyMDI1IGF0IDEyOjMwOjUyUE0gKzAyMDAsIFRpbW90aMOpZSBSZWdh dWQgd3JvdGU6Cj4+IEZyb206IFRpbW90aGVlIFJlZ2F1ZDx0aW1vdGhlZS5pbmZvcm1hdGlxdWVA cmVnYXVkLWNoYXB1eS5mcj4KPj4KPj4gQWRkcyB0aGUgZ2VuZXJpYyBkYXRhIHN0cnVjdHVyZXMg dG8gbGliYXZ1dGlsLiBUaGUgZGVzaWduIGlzIHJlY3Vyc2l2ZSB0byBzdXBwb3J0IG90aGVyIGNv ZGVjcywgZXZlbiB0aG91Z2ggdGhlIGltcGxlbWVudGF0aW9uIGlzIG9ubHkgZm9yIEguMjY0IGZv ciBub3cuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFRpbW90aGVlIFJlZ2F1ZDx0aW1vdGhlZS5pbmZv cm1hdGlxdWVAcmVnYXVkLWNoYXB1eS5mcj4KPj4gLS0tCj4+ICAgbGliYXZ1dGlsL01ha2VmaWxl ICAgICAgICAgICAgfCAgIDEgKwo+PiAgIGxpYmF2dXRpbC9mcmFtZS5oICAgICAgICAgICAgIHwg ICA3ICsrCj4+ICAgbGliYXZ1dGlsL3NpZGVfZGF0YS5jICAgICAgICAgfCAgIDEgKwo+PiAgIGxp YmF2dXRpbC92aWRlb19jb2RpbmdfaW5mby5oIHwgMTYzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPj4gICA0IGZpbGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCspCj4+ICAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2dXRpbC92aWRlb19jb2RpbmdfaW5mby5oCj4+Cj4+IGRp ZmYgLS1naXQgYS9saWJhdnV0aWwvTWFrZWZpbGUgYi9saWJhdnV0aWwvTWFrZWZpbGUKPj4gaW5k ZXggOTRhNTZiYjcyZi4uNDRlNTFhYjdhZSAxMDA2NDQKPj4gLS0tIGEvbGliYXZ1dGlsL01ha2Vm aWxlCj4+ICsrKyBiL2xpYmF2dXRpbC9NYWtlZmlsZQo+PiBAQCAtOTMsNiArOTMsNyBAQCBIRUFE RVJTID0gYWRsZXIzMi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCj4+ICAgICAgICAgICAgIHRyZWUuaCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+PiAgICAgICAgICAgICB0d29maXNo LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK Pj4gICAgICAgICAgICAgdXVpZC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCj4+ICsgICAgICAgICAgdmlkZW9fY29kaW5nX2luZm8uaCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4+ICAgICAgICAgICAg IHZlcnNpb24uaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAo+PiAgICAgICAgICAgICB2aWRlb19lbmNfcGFyYW1zLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPj4gICAgICAgICAgICAgeHRlYS5oICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4+IGRp ZmYgLS1naXQgYS9saWJhdnV0aWwvZnJhbWUuaCBiL2xpYmF2dXRpbC9mcmFtZS5oCj4+IGluZGV4 IGM1MGNkMjYzZDkuLmY0NDA0NDcyYTAgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2dXRpbC9mcmFtZS5o Cj4+ICsrKyBiL2xpYmF2dXRpbC9mcmFtZS5oCj4+IEBAIC0yNTQsNiArMjU0LDEzIEBAIGVudW0g QVZGcmFtZVNpZGVEYXRhVHlwZSB7Cj4+ICAgICAgICAqIGxpYmF2dXRpbC90ZHJkaS5oLgo+PiAg ICAgICAgKi8KPj4gICAgICAgQVZfRlJBTUVfREFUQV8zRF9SRUZFUkVOQ0VfRElTUExBWVMsCj4+ ICsKPj4gKyAgICAvKioKPj4gKyAgICAgKiBEZXRhaWxlZCBibG9jay1sZXZlbCBjb2RpbmcgaW5m b3JtYXRpb24uIFRoZSBkYXRhIGlzIGFuIEFWVmlkZW9Db2RpbmdJbmZvCj4+ICsgICAgICogc3Ry dWN0dXJlLiBUaGlzIGlzIGV4cG9ydGVkIGJ5IHZpZGVvIGRlY29kZXJzIGFuZCBjYW4gYmUgdXNl ZCBieSBmaWx0ZXJzCj4+ICsgICAgICogZm9yIGFuYWx5c2lzIGFuZCB2aXN1YWxpemF0aW9uLgo+ PiArICAgICAqLwo+PiArICAgIEFWX0ZSQU1FX0RBVEFfVklERU9fQ09ESU5HX0lORk8sCj4+ICAg fTsKPj4gICAKPj4gICBlbnVtIEFWQWN0aXZlRm9ybWF0RGVzY3JpcHRpb24gewo+PiBkaWZmIC0t Z2l0IGEvbGliYXZ1dGlsL3NpZGVfZGF0YS5jIGIvbGliYXZ1dGlsL3NpZGVfZGF0YS5jCj4+IGlu ZGV4IGZhMmEyYzJhMTMuLmI5MzhlZjZmNTIgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2dXRpbC9zaWRl X2RhdGEuYwo+PiArKysgYi9saWJhdnV0aWwvc2lkZV9kYXRhLmMKPj4gQEAgLTU2LDYgKzU2LDcg QEAgc3RhdGljIGNvbnN0IEFWU2lkZURhdGFEZXNjcmlwdG9yIHNkX3Byb3BzW10gPSB7Cj4+ICAg ICAgIFtBVl9GUkFNRV9EQVRBX1NFSV9VTlJFR0lTVEVSRURdICAgICAgICAgICAgPSB7ICJILjI2 WzQ1XSBVc2VyIERhdGEgVW5yZWdpc3RlcmVkIFNFSSBtZXNzYWdlIiwgIEFWX1NJREVfREFUQV9Q Uk9QX01VTFRJIH0sCj4+ICAgICAgIFtBVl9GUkFNRV9EQVRBX1ZJREVPX0hJTlRdICAgICAgICAg ICAgICAgICAgPSB7ICJFbmNvZGluZyB2aWRlbyBoaW50IiwgICAgICAgICAgICAgICAgICAgICAg ICAgIEFWX1NJREVfREFUQV9QUk9QX1NJWkVfREVQRU5ERU5UIH0sCj4+ICAgICAgIFtBVl9GUkFN RV9EQVRBXzNEX1JFRkVSRU5DRV9ESVNQTEFZU10gICAgICAgPSB7ICIzRCBSZWZlcmVuY2UgRGlz cGxheXMgSW5mb3JtYXRpb24iLCAgICAgICAgICAgIEFWX1NJREVfREFUQV9QUk9QX0dMT0JBTCB9 LAo+PiArICAgIFtBVl9GUkFNRV9EQVRBX1ZJREVPX0NPRElOR19JTkZPXSAgICAgICAgICAgPSB7 ICJWaWRlbyBDb2RpbmcgSW5mbyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWX1NJREVf REFUQV9QUk9QX1NJWkVfREVQRU5ERU5UIH0sCj4+ICAgfTsKPj4gICAKPj4gICBjb25zdCBBVlNp ZGVEYXRhRGVzY3JpcHRvciAqYXZfZnJhbWVfc2lkZV9kYXRhX2Rlc2MoZW51bSBBVkZyYW1lU2lk ZURhdGFUeXBlIHR5cGUpCj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvdmlkZW9fY29kaW5nX2lu Zm8uaCBiL2xpYmF2dXRpbC92aWRlb19jb2RpbmdfaW5mby5oCj4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAuLjE3ZTkzNDU4OTIKPj4gLS0tIC9kZXYvbnVsbAo+PiAr KysgYi9saWJhdnV0aWwvdmlkZW9fY29kaW5nX2luZm8uaAo+PiBAQCAtMCwwICsxLDE2MyBAQAo+ PiArLyoKPj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KPj4gKyAqCj4+ICsgKiBG Rm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4+ ICsgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg UHVibGljCj4+ICsgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIKPj4gKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+PiArICoKPj4gKyAqIEZGbXBlZyBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+PiArICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUgR05VCj4+ICsgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+PiArICoKPj4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKPj4gKyAqIExpY2Vuc2Ug YWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKPj4g KyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJv c3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKPj4gKyAqLwo+PiArCj4+ICsjaWZuZGVmIEFWVVRJTF9W SURFT19DT0RJTkdfSU5GT19ICj4+ICsjZGVmaW5lIEFWVVRJTF9WSURFT19DT0RJTkdfSU5GT19I Cj4+ICsKPj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPj4gKyNpbmNsdWRlIDxzdGRkZWYuaD4KPj4g Kwo+PiArLyoqCj4+ICsgKiBAZmlsZQo+PiArICogQGluZ3JvdXAgbGF2dV9mcmFtZQo+PiArICog U3RydWN0dXJlcyBmb3IgZGVzY3JpYmluZyBibG9jay1sZXZlbCB2aWRlbyBjb2RpbmcgaW5mb3Jt YXRpb24uCj4+ICsgKi8KPj4gKwo+PiArLyoqCj4+ICsgKiBAZGVmZ3JvdXAgbGF2dV92aWRlb19j b2RpbmdfaW5mbyBWaWRlbyBDb2RpbmcgSW5mbwo+PiArICogQGluZ3JvdXAgbGF2dV9mcmFtZQo+ PiArICoKPj4gKyAqIEB7Cj4+ICsgKiBTdHJ1Y3R1cmVzIGZvciBkZXNjcmliaW5nIGJsb2NrLWxl dmVsIHZpZGVvIGNvZGluZyBpbmZvcm1hdGlvbiwgdG8gYmUKPj4gKyAqIGF0dGFjaGVkIHRvIGFu IEFWRnJhbWUgYXMgc2lkZSBkYXRhLgo+PiArICoKPj4gKyAqIEFsbCBwb2ludGVyLWxpa2UgbWVt YmVycyBpbiB0aGVzZSBzdHJ1Y3R1cmVzIGFyZSBvZmZzZXRzIHJlbGF0aXZlIHRvIHRoZQo+PiAr ICogc3RhcnQgb2YgdGhlIEFWVmlkZW9Db2RpbmdJbmZvIHN0cnVjdCB0byBlbnN1cmUgdGhlIHNp ZGUgZGF0YSBpcwo+PiArICogc2VsZi1jb250YWluZWQgYW5kIHJlbG9jYXRhYmxlLiBUaGlzIGlz IGNyaXRpY2FsIGFzIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlcgo+PiArICogbWF5IGJlIG1vdmVkIGlu IG1lbW9yeS4KPj4gKyAqLwo+PiArCj4+ICsvKioKPj4gKyAqIFN0cnVjdHVyZSB0byBob2xkIGlu dGVyLXByZWRpY3Rpb24gaW5mb3JtYXRpb24gZm9yIGEgYmxvY2suCj4+ICsgKi8KPj4gK3R5cGVk ZWYgc3RydWN0IEFWQmxvY2tJbnRlckluZm8gewo+PiArICAgIC8qKgo+PiArICAgICAqIE9mZnNl dHMgdG8gbW90aW9uIHZlY3RvcnMgZm9yIGxpc3QgMCBhbmQgbGlzdCAxLCByZWxhdGl2ZSB0byB0 aGUKPj4gKyAgICAgKiBzdGFydCBvZiB0aGUgQVZWaWRlb0NvZGluZ0luZm8gc3RydWN0Lgo+PiAr ICAgICAqIFRoZSBkYXRhIGZvciBlYWNoIGxpc3QgaXMgYW4gYXJyYXkgb2YgW3gsIHldIHBhaXJz IG9mIGludDE2X3QuCj4+ICsgICAgICogVGhlIG51bWJlciBvZiB2ZWN0b3JzIGlzIGdpdmVuIGJ5 IG51bV9tdi4KPj4gKyAgICAgKiBBbiBvZmZzZXQgb2YgMCBpbmRpY2F0ZXMgdGhpcyBkYXRhIGlz IG5vdCBwcmVzZW50Lgo+PiArICAgICAqLwo+PiArICAgIHNpemVfdCBtdl9vZmZzZXRbMl07Cj4g aW50MTYgaXMgbm90IGVub3VnaCwgd2l0aCBncm93aW5nIHBpY3R1cmUgc2l6ZXMgYW5kIGdyb3dp bmcgcHJlY2lzc2lvbiBvZgo+IG1vdGlvbiB2ZWN0b3JzCllvdSBhcmUgcmlnaHQuIEkgZGlkbid0 IGFudGljaXBhdGUgaGlnaCByZXNvbHV0aW9uIHZpZGVvcy4gSSB3aWxsIGNoYW5nZSAKaXQgdG8g aW50MzIgaW4gdGhlIHYyIHBhdGNoLgo+IGFsc28gdGhlIE1WIHByZWNzc2lvbiBpcyBuZWVkZWQg c29tZXdoZXJlIHNvbWVob3cgb3IgdGhleSBjb3VsZCBub3QgYmUKPiB2aXNzdWFsaXplZCBieSBn ZW5lcmljIGNvZGUKClRoYXQncyB0cnVlLiBJIHdpbGwgYWRkIHNvbWV0aGluZyBsaWtlIGB1aW50 OF90IG12X3ByZWNpc2lvbl9sb2cyO2AKCj4+ICsKPj4gKyAgICAvKioKPj4gKyAgICAgKiBPZmZz ZXRzIHRvIHJlZmVyZW5jZSBpbmRpY2VzIGZvciBsaXN0IDAgYW5kIGxpc3QgMSwgcmVsYXRpdmUg dG8gdGhlCj4+ICsgICAgICogc3RhcnQgb2YgdGhlIEFWVmlkZW9Db2RpbmdJbmZvIHN0cnVjdC4K Pj4gKyAgICAgKiBUaGUgZGF0YSBpcyBhbiBhcnJheSBvZiBpbnQ4X3QuIEEgdmFsdWUgb2YgLTEg aW5kaWNhdGVzIHRoZSByZWZlcmVuY2UKPj4gKyAgICAgKiBpcyBub3QgdXNlZCBmb3IgYSBzcGVj aWZpYyBwYXJ0aXRpb24uCj4+ICsgICAgICogQW4gb2Zmc2V0IG9mIDAgaW5kaWNhdGVzIHRoaXMg ZGF0YSBpcyBub3QgcHJlc2VudC4KPj4gKyAgICAgKi8KPj4gKyAgICBzaXplX3QgcmVmX2lkeF9v ZmZzZXRbMl07Cj4+ICsgICAgLyoqCj4+ICsgICAgICogTnVtYmVyIG9mIG1vdGlvbiB2ZWN0b3Jz IGZvciBsaXN0IDAgYW5kIGxpc3QgMS4KPj4gKyAgICAgKi8KPj4gKyAgICB1aW50OF90IG51bV9t dlsyXTsKPj4gK30gQVZCbG9ja0ludGVySW5mbzsKPiB3ZWlnaHRlZCBiaSBwcmVkIG5lZWRzIHRo ZSB3ZWlnaHRzIHRvbwo+Cj4gYW5kIGZvciBtb3JlIHRoYW4gMSBNViwgdGhlIHF1ZXN0aW9uIGJl Y29tZXMgd2hhdCB0aGUgb3RoZXIgdmVjdG9ycwo+IGFyZSwgYmlwcmVkID8sIGFmZmluZSBNQyA/ LCAuLi4KSXQgd2FzIGludGVuZGVkIGZvciBMMCBhbmQgTDEgdmVjdG9ycyBhcyB1c2VkIGluIEgu MjY0LCBidXQgSSBzZWUgbm93IAp0aGF0IHRoaXMgZG9lc24ndCBhcHBseSB0byBldmVyeSBjb2Rl Yy4KPiBBbHNvIGlmIHlvdSB3YW50IHRvIGJlIHJlYWxseSBnZW5lcmljIHlvdSBuZWVkIHRvIGFs bG93IGJsb2Nrcwo+IHRoYXQgZG9udCBzcGFuIGFjY3Jvc3MgdGhlIGx1bWEgYW5kIGNocm9tYSBw bGFuZXMgYnV0IGFsbG93Cj4gZGlmZmVyZW50IGJsb2NrIHN0cnVjdHVyZXMgKGFuZCBtb3Rpb24g dmVjdG9ycykgcGVyIHBsYW5lCj4KPiBJYW0gbm90IHN1cmUgaG93IGdlbmVyaWMgd2Ugd2FudCB0 byBiZSBhbmQgaG93IHVzZWZ1bCB0aGF0IGlzLgo+Cj4gQnV0IGl0IHNlZW1lcyB5b3Ugd2FudCB5 b3VyIHBhdGNoIHRvIGJlIHF1aXRlIGdlbmVyaWMgPwo+Cj4gSSB0aGluayBpdHMgbW9yZSBpbXBv cnRhbnQgdG8gYWxsb3cgdGhpcyB0byBiZSBleHRlbnNpYmxlCj4gdGhhbiBzdXBvcnRpbmcgZXZl cnl0aGluZyB3ZSBjYW4gdGhpbmsgb2YuCj4KPiBUaGF0IGlzIG1heWJlIHN0b3JlIHRoZSBzaXpl IG9mIHRoZSBzdHJ1Y3QgYWxzbyBzb21ld2hlcmUgc28KPiB0aGF0IGVsZW1lbnRzIGNhbiBiZSBh ZGRlZCB0byB0aGVpciBlbmQgd2l0aG91dCBicmVha2luZwo+IGFueXRoaW5nLiBBdCBsZWFzdCBm b3IgdGhlIG1haW4gYmxvY2sgc3RydWN0dXJlCkkgd2lsbCBhZGQgYSBzaXplIGZpZWxkIHRvIHRo ZSBtYWluIGJsb2NrIHN0cnVjdHVyZS4KPiBJIG1lYW4gYSBmdXR1cmUgY29kZWMgbWlnaHQgYWxs b3cgbm9uIHJlY3Rhbmd1bGFyIGJsb2NrcyBidXQgd2UKPiBkb250IHdhbnQgdG8gdGhpbmsgYWJv dXQgdGhhdCB0b2RheS4KPgo+IE1heWJlIGl0cyBiZXN0IHRvIGtlZXAgdGhpcyBhcyBzaW1wbGUg YXMgcG9zc2libGUgYnV0IGV4dGVuc2libGUKClllcywgbXkgZ29hbCBpcyBmb3IgdGhlIHBhdGNo IHRvIGJlIGFzIGdlbmVyaWMgYXMgcG9zc2libGUsIGJ1dCBpdCBpcyAKY2hhbGxlbmdpbmcgc2lu Y2UgSSBoYXZlIG1vc3RseSB3b3JrZWQgb24gSC4yNjQgYW5kIGRvIG5vdCBrbm93IGV2ZXJ5IApj b2RlYy4gQXBwYXJlbnRseSwgSSd2ZSBtaXNzZWQgYSBmZXcgZGV0YWlscy4KCkkgd2lsbCBhZGQg dGhlIGZvbGxvd2luZyBmb3Igd2VpZ2h0ZWQgcHJlZGljdGlvbjoKCnx0eXBlZGVmIHN0cnVjdCBB VkJsb2NrV2VpZ2h0SW5mbyB7IGludDE2X3QgbHVtYV93ZWlnaHRbMl07IC8vIEZvciBMMCAKYW5k IEwxIGludDE2X3QgbHVtYV9vZmZzZXRbMl07IC8vIEZvciBMMCBhbmQgTDEgaW50MTZfdCAKY2hy b21hX3dlaWdodFsyXVsyXTsgLy8gRm9yIEwwL0wxIGFuZCBDYi9DciBpbnQxNl90IGNocm9tYV9v ZmZzZXRbMl1bMl07IAp9IEFWQmxvY2tXZWlnaHRJbmZvOyB8Cgp8QW5kIGFkZCBgc2l6ZV90IHdl aWdodF9pbmZvX29mZnNldDtgIHRvIEFWQmxvY2tJbnRlckluZm8ufAoKVGhpcyBkb2VzIG5vdCBh cHBseSBmb3IgZXZlcnkgY29kZWMgYnV0IGl0IHdpbGwgd29yayBmb3Igc29tZSwgbGlrZSAKSC4y NjQuIFdlIGNhbiBhbHdheXMgZXh0ZW5kIGl0IGluIHRoZSBmdXR1cmUgaWYgb3RoZXIgY29kZWNz IG5lZWQgbW9yZSAKcGFyYW1ldGVycywgd2hpY2ggdGhlIG5ldyBzaXplIGZpZWxkIHdpbGwgYWxs b3cuCgo+PiArCj4+ICsvKioKPj4gKyAqIFN0cnVjdHVyZSB0byBob2xkIGludHJhLXByZWRpY3Rp b24gaW5mb3JtYXRpb24gZm9yIGEgYmxvY2suCj4+ICsgKi8KPj4gK3R5cGVkZWYgc3RydWN0IEFW QmxvY2tJbnRyYUluZm8gewo+PiArICAgIC8qKgo+PiArICAgICAqIE9mZnNldCB0byBhbiBhcnJh eSBvZiBpbnRyYSBwcmVkaWN0aW9uIG1vZGVzLCByZWxhdGl2ZSB0byB0aGUKPj4gKyAgICAgKiBz dGFydCBvZiB0aGUgQVZWaWRlb0NvZGluZ0luZm8gc3RydWN0Lgo+PiArICAgICAqIFRoZSBudW1i ZXIgb2YgbW9kZXMgaXMgZ2l2ZW4gYnkgbnVtX3ByZWRfbW9kZXMuCj4+ICsgICAgICovCj4+ICsg ICAgc2l6ZV90IHByZWRfbW9kZV9vZmZzZXQ7Cj4+ICsKPj4gKyAgICAvKioKPj4gKyAgICAgKiBO dW1iZXIgb2YgaW50cmEgcHJlZGljdGlvbiBtb2Rlcy4KPj4gKyAgICAgKi8KPj4gKyAgICB1aW50 OF90IG51bV9wcmVkX21vZGVzOwo+PiArCj4+ICsgICAgLyoqCj4+ICsgICAgICogQ2hyb21hIGlu dHJhIHByZWRpY3Rpb24gbW9kZS4KPj4gKyAgICAgKi8KPj4gKyAgICB1aW50OF90IGNocm9tYV9w cmVkX21vZGU7Cj4+ICt9IEFWQmxvY2tJbnRyYUluZm87Cj4gY2xhc3NpZnlpbmcgdGhlIHByZWRp dGlvbiBpbiBkaXJlY3Rpb25hbCwgREMsIGFuZCBub24gZGlyZWN0aW9uYWwgYW5kCj4gZm9yIGRp cmVjdGlvbmFsIHRoZSBkaXJlY3Rpb24uIENvdWxkIGJlIHVzZWZ1bGwuCkkgd2lsbCBsb29rIGlu dG8gdGhhdCBmb3IgdjIuCj4gT3RoZXJ3aXNlIHRoZSBwcmVkaWN0aW9uIG1vZGUgbnVtYmVyIHJl cXVpcmVzIGNvZGVjIHNwZWNpZmljIGtub3dsZWRnZQo+IHRvIGludGVycHJldAoKWWVzLCB0aGF0 J3Mgd2h5IEkgYWRkZWQgYHVpbnQzMl90IGNvZGVjX3NwZWNpZmljX3R5cGVgIGluIApBVlZpZGVv Q29kaW5nSW5mb0Jsb2NrLgoKVGhhbmtzLAoKVGltb3Row6llCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZt cGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwK ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4K