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 879554AD12 for ; Fri, 18 Jul 2025 17:42:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id E14D068DDA0; Fri, 18 Jul 2025 20:42:32 +0300 (EEST) Received: from vidala.pars.ee (vidala.pars.ee [116.203.72.101]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id B1ABF68DC25 for ; Fri, 18 Jul 2025 20:42:25 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; s=202405r; d=lynne.ee; c=relaxed/relaxed; h=From:To:Subject:Date:Message-ID; t=1752860545; bh=12WJ658FrlJsjSghAt++Xev hT58yskgfqh2f1o/nI/k=; b=AY1Txo2niFb0L80Tb99gxaRQ/XM7j2Zk7hKjq4bOONNZKRFXk/ BdhrUkCmZDUu8WAEvKvgfoYGNB5b4ibaHVhptrhqvSOByPBKl05aZ053yY8dxP7yHYm7bSB94U8 M/r5ZpoVBcEktHxHJFkxXj+n0m/oipEW0k29rmcFQVRPuYHalHE9aMqb14x+2acg2nyAnt0SggZ LBExd2dUxkYebFP0DfF3XAwaFEd2G+7gfTrVTplpjgl08HQe0C4LZ3+HLWr2vqGdlGqbwn/1jdh S4r0gUhvkl3iAjyT4A1ZGG9shwXeFXt5jMbxi+cO0Af8c0JkOqGzY9NH0bUNBmAf70A==; DKIM-Signature: v=1; a=ed25519-sha256; s=202405e; d=lynne.ee; c=relaxed/relaxed; h=From:To:Subject:Date:Message-ID; t=1752860545; bh=12WJ658FrlJsjSghAt++Xev hT58yskgfqh2f1o/nI/k=; b=8od1lNWYIIQkMDcAp853aucQIjxTX7pj3LETf+r8nvtg/7Zkct IscVbaPk6vcb4NLVF3CjNIA3tvdl7NA1MsCg==; Message-ID: <81146431-8734-4dd1-a46d-f45ad40dd484@lynne.ee> Date: Sat, 19 Jul 2025 02:42:17 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250718103055.1172733-1-timothee.informatique@regaud-chapuy.fr> Content-Language: en-US From: Lynne In-Reply-To: <20250718103055.1172733-1-timothee.informatique@regaud-chapuy.fr> 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: T24gMTgvMDcvMjAyNSAxOTozMCwgVGltb3Row6llIFJlZ2F1ZCB3cm90ZToKPiBGcm9tOiBUaW1v dGhlZSBSZWdhdWQgPHRpbW90aGVlLmluZm9ybWF0aXF1ZUByZWdhdWQtY2hhcHV5LmZyPgo+IAo+ IEFkZHMgdGhlIGdlbmVyaWMgZGF0YSBzdHJ1Y3R1cmVzIHRvIGxpYmF2dXRpbC4gVGhlIGRlc2ln biBpcyByZWN1cnNpdmUgdG8gc3VwcG9ydCBvdGhlciBjb2RlY3MsIGV2ZW4gdGhvdWdoIHRoZSBp bXBsZW1lbnRhdGlvbiBpcyBvbmx5IGZvciBILjI2NCBmb3Igbm93Lgo+IAo+IFNpZ25lZC1vZmYt Ynk6IFRpbW90aGVlIFJlZ2F1ZCA8dGltb3RoZWUuaW5mb3JtYXRpcXVlQHJlZ2F1ZC1jaGFwdXku ZnI+Cj4gLS0tCj4gICBsaWJhdnV0aWwvTWFrZWZpbGUgICAgICAgICAgICB8ICAgMSArCj4gICBs aWJhdnV0aWwvZnJhbWUuaCAgICAgICAgICAgICB8ICAgNyArKwo+ICAgbGliYXZ1dGlsL3NpZGVf ZGF0YS5jICAgICAgICAgfCAgIDEgKwo+ICAgbGliYXZ1dGlsL3ZpZGVvX2NvZGluZ19pbmZvLmgg fCAxNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgNCBmaWxlcyBjaGFu Z2VkLCAxNzIgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2dXRpbC92 aWRlb19jb2RpbmdfaW5mby5oCj4gCj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9NYWtlZmlsZSBi L2xpYmF2dXRpbC9NYWtlZmlsZQo+IGluZGV4IDk0YTU2YmI3MmYuLjQ0ZTUxYWI3YWUgMTAwNjQ0 Cj4gLS0tIGEvbGliYXZ1dGlsL01ha2VmaWxlCj4gKysrIGIvbGliYXZ1dGlsL01ha2VmaWxlCj4g QEAgLTkzLDYgKzkzLDcgQEAgSEVBREVSUyA9IGFkbGVyMzIuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgICAgIHRyZWUuaCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ ICAgICAgICAgICAgIHR3b2Zpc2guaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgICAgIHV1aWQuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgICAgdmlk ZW9fY29kaW5nX2luZm8uaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gICAgICAgICAgICAgdmVyc2lvbi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gICAgICAgICAgICAgdmlkZW9fZW5jX3BhcmFtcy5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gICAgICAgICAg ICAgeHRlYS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9mcmFtZS5oIGIvbGliYXZ1dGlsL2Zy YW1lLmgKPiBpbmRleCBjNTBjZDI2M2Q5Li5mNDQwNDQ3MmEwIDEwMDY0NAo+IC0tLSBhL2xpYmF2 dXRpbC9mcmFtZS5oCj4gKysrIGIvbGliYXZ1dGlsL2ZyYW1lLmgKPiBAQCAtMjU0LDYgKzI1NCwx MyBAQCBlbnVtIEFWRnJhbWVTaWRlRGF0YVR5cGUgewo+ICAgICAgICAqIGxpYmF2dXRpbC90ZHJk aS5oLgo+ICAgICAgICAqLwo+ICAgICAgIEFWX0ZSQU1FX0RBVEFfM0RfUkVGRVJFTkNFX0RJU1BM QVlTLAo+ICsKPiArICAgIC8qKgo+ICsgICAgICogRGV0YWlsZWQgYmxvY2stbGV2ZWwgY29kaW5n IGluZm9ybWF0aW9uLiBUaGUgZGF0YSBpcyBhbiBBVlZpZGVvQ29kaW5nSW5mbwo+ICsgICAgICog c3RydWN0dXJlLiBUaGlzIGlzIGV4cG9ydGVkIGJ5IHZpZGVvIGRlY29kZXJzIGFuZCBjYW4gYmUg dXNlZCBieSBmaWx0ZXJzCj4gKyAgICAgKiBmb3IgYW5hbHlzaXMgYW5kIHZpc3VhbGl6YXRpb24u Cj4gKyAgICAgKi8KPiArICAgIEFWX0ZSQU1FX0RBVEFfVklERU9fQ09ESU5HX0lORk8sCj4gICB9 Owo+ICAgCj4gICBlbnVtIEFWQWN0aXZlRm9ybWF0RGVzY3JpcHRpb24gewo+IGRpZmYgLS1naXQg YS9saWJhdnV0aWwvc2lkZV9kYXRhLmMgYi9saWJhdnV0aWwvc2lkZV9kYXRhLmMKPiBpbmRleCBm YTJhMmMyYTEzLi5iOTM4ZWY2ZjUyIDEwMDY0NAo+IC0tLSBhL2xpYmF2dXRpbC9zaWRlX2RhdGEu Ywo+ICsrKyBiL2xpYmF2dXRpbC9zaWRlX2RhdGEuYwo+IEBAIC01Niw2ICs1Niw3IEBAIHN0YXRp YyBjb25zdCBBVlNpZGVEYXRhRGVzY3JpcHRvciBzZF9wcm9wc1tdID0gewo+ICAgICAgIFtBVl9G UkFNRV9EQVRBX1NFSV9VTlJFR0lTVEVSRURdICAgICAgICAgICAgPSB7ICJILjI2WzQ1XSBVc2Vy IERhdGEgVW5yZWdpc3RlcmVkIFNFSSBtZXNzYWdlIiwgIEFWX1NJREVfREFUQV9QUk9QX01VTFRJ IH0sCj4gICAgICAgW0FWX0ZSQU1FX0RBVEFfVklERU9fSElOVF0gICAgICAgICAgICAgICAgICA9 IHsgIkVuY29kaW5nIHZpZGVvIGhpbnQiLCAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfU0lE RV9EQVRBX1BST1BfU0laRV9ERVBFTkRFTlQgfSwKPiAgICAgICBbQVZfRlJBTUVfREFUQV8zRF9S RUZFUkVOQ0VfRElTUExBWVNdICAgICAgID0geyAiM0QgUmVmZXJlbmNlIERpc3BsYXlzIEluZm9y bWF0aW9uIiwgICAgICAgICAgICBBVl9TSURFX0RBVEFfUFJPUF9HTE9CQUwgfSwKPiArICAgIFtB Vl9GUkFNRV9EQVRBX1ZJREVPX0NPRElOR19JTkZPXSAgICAgICAgICAgPSB7ICJWaWRlbyBDb2Rp bmcgSW5mbyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWX1NJREVfREFUQV9QUk9QX1NJ WkVfREVQRU5ERU5UIH0sCj4gICB9Owo+ICAgCj4gICBjb25zdCBBVlNpZGVEYXRhRGVzY3JpcHRv ciAqYXZfZnJhbWVfc2lkZV9kYXRhX2Rlc2MoZW51bSBBVkZyYW1lU2lkZURhdGFUeXBlIHR5cGUp Cj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC92aWRlb19jb2RpbmdfaW5mby5oIGIvbGliYXZ1dGls L3ZpZGVvX2NvZGluZ19pbmZvLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw MDAwMDAuLjE3ZTkzNDU4OTIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliYXZ1dGlsL3ZpZGVv X2NvZGluZ19pbmZvLmgKPiBAQCAtMCwwICsxLDE2MyBAQAo+ICsvKgo+ICsgKiBUaGlzIGZpbGUg aXMgcGFydCBvZiBGRm1wZWcuCj4gKyAqCj4gKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiArICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwo+ICsgKiBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKPiArICogdmVy c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCj4gKyAqCj4gKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQo+ICsgKiBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKgo+ICsgKiBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg UHVibGljCj4gKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8g dGhlIEZyZWUgU29mdHdhcmUKPiArICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQo+ICsgKi8KPiArCj4g KyNpZm5kZWYgQVZVVElMX1ZJREVPX0NPRElOR19JTkZPX0gKPiArI2RlZmluZSBBVlVUSUxfVklE RU9fQ09ESU5HX0lORk9fSAo+ICsKPiArI2luY2x1ZGUgPHN0ZGludC5oPgo+ICsjaW5jbHVkZSA8 c3RkZGVmLmg+Cj4gKwo+ICsvKioKPiArICogQGZpbGUKPiArICogQGluZ3JvdXAgbGF2dV9mcmFt ZQo+ICsgKiBTdHJ1Y3R1cmVzIGZvciBkZXNjcmliaW5nIGJsb2NrLWxldmVsIHZpZGVvIGNvZGlu ZyBpbmZvcm1hdGlvbi4KPiArICovCj4gKwo+ICsvKioKPiArICogQGRlZmdyb3VwIGxhdnVfdmlk ZW9fY29kaW5nX2luZm8gVmlkZW8gQ29kaW5nIEluZm8KPiArICogQGluZ3JvdXAgbGF2dV9mcmFt ZQo+ICsgKgo+ICsgKiBAewo+ICsgKiBTdHJ1Y3R1cmVzIGZvciBkZXNjcmliaW5nIGJsb2NrLWxl dmVsIHZpZGVvIGNvZGluZyBpbmZvcm1hdGlvbiwgdG8gYmUKPiArICogYXR0YWNoZWQgdG8gYW4g QVZGcmFtZSBhcyBzaWRlIGRhdGEuCj4gKyAqCj4gKyAqIEFsbCBwb2ludGVyLWxpa2UgbWVtYmVy cyBpbiB0aGVzZSBzdHJ1Y3R1cmVzIGFyZSBvZmZzZXRzIHJlbGF0aXZlIHRvIHRoZQo+ICsgKiBz dGFydCBvZiB0aGUgQVZWaWRlb0NvZGluZ0luZm8gc3RydWN0IHRvIGVuc3VyZSB0aGUgc2lkZSBk YXRhIGlzCj4gKyAqIHNlbGYtY29udGFpbmVkIGFuZCByZWxvY2F0YWJsZS4gVGhpcyBpcyBjcml0 aWNhbCBhcyB0aGUgdW5kZXJseWluZyBidWZmZXIKPiArICogbWF5IGJlIG1vdmVkIGluIG1lbW9y eS4KPiArICovCj4gKwo+ICsvKioKPiArICogU3RydWN0dXJlIHRvIGhvbGQgaW50ZXItcHJlZGlj dGlvbiBpbmZvcm1hdGlvbiBmb3IgYSBibG9jay4KPiArICovCj4gK3R5cGVkZWYgc3RydWN0IEFW QmxvY2tJbnRlckluZm8gewo+ICsgICAgLyoqCj4gKyAgICAgKiBPZmZzZXRzIHRvIG1vdGlvbiB2 ZWN0b3JzIGZvciBsaXN0IDAgYW5kIGxpc3QgMSwgcmVsYXRpdmUgdG8gdGhlCj4gKyAgICAgKiBz dGFydCBvZiB0aGUgQVZWaWRlb0NvZGluZ0luZm8gc3RydWN0Lgo+ICsgICAgICogVGhlIGRhdGEg Zm9yIGVhY2ggbGlzdCBpcyBhbiBhcnJheSBvZiBbeCwgeV0gcGFpcnMgb2YgaW50MTZfdC4KPiAr ICAgICAqIFRoZSBudW1iZXIgb2YgdmVjdG9ycyBpcyBnaXZlbiBieSBudW1fbXYuCj4gKyAgICAg KiBBbiBvZmZzZXQgb2YgMCBpbmRpY2F0ZXMgdGhpcyBkYXRhIGlzIG5vdCBwcmVzZW50Lgo+ICsg ICAgICovCj4gKyAgICBzaXplX3QgbXZfb2Zmc2V0WzJdOwo+ICsKPiArICAgIC8qKgo+ICsgICAg ICogT2Zmc2V0cyB0byByZWZlcmVuY2UgaW5kaWNlcyBmb3IgbGlzdCAwIGFuZCBsaXN0IDEsIHJl bGF0aXZlIHRvIHRoZQo+ICsgICAgICogc3RhcnQgb2YgdGhlIEFWVmlkZW9Db2RpbmdJbmZvIHN0 cnVjdC4KPiArICAgICAqIFRoZSBkYXRhIGlzIGFuIGFycmF5IG9mIGludDhfdC4gQSB2YWx1ZSBv ZiAtMSBpbmRpY2F0ZXMgdGhlIHJlZmVyZW5jZQo+ICsgICAgICogaXMgbm90IHVzZWQgZm9yIGEg c3BlY2lmaWMgcGFydGl0aW9uLgo+ICsgICAgICogQW4gb2Zmc2V0IG9mIDAgaW5kaWNhdGVzIHRo aXMgZGF0YSBpcyBub3QgcHJlc2VudC4KPiArICAgICAqLwo+ICsgICAgc2l6ZV90IHJlZl9pZHhf b2Zmc2V0WzJdOwo+ICsgICAgLyoqCj4gKyAgICAgKiBOdW1iZXIgb2YgbW90aW9uIHZlY3RvcnMg Zm9yIGxpc3QgMCBhbmQgbGlzdCAxLgo+ICsgICAgICovCj4gKyAgICB1aW50OF90IG51bV9tdlsy XTsKPiArfSBBVkJsb2NrSW50ZXJJbmZvOwo+ICsKPiArLyoqCj4gKyAqIFN0cnVjdHVyZSB0byBo b2xkIGludHJhLXByZWRpY3Rpb24gaW5mb3JtYXRpb24gZm9yIGEgYmxvY2suCj4gKyAqLwo+ICt0 eXBlZGVmIHN0cnVjdCBBVkJsb2NrSW50cmFJbmZvIHsKPiArICAgIC8qKgo+ICsgICAgICogT2Zm c2V0IHRvIGFuIGFycmF5IG9mIGludHJhIHByZWRpY3Rpb24gbW9kZXMsIHJlbGF0aXZlIHRvIHRo ZQo+ICsgICAgICogc3RhcnQgb2YgdGhlIEFWVmlkZW9Db2RpbmdJbmZvIHN0cnVjdC4KPiArICAg ICAqIFRoZSBudW1iZXIgb2YgbW9kZXMgaXMgZ2l2ZW4gYnkgbnVtX3ByZWRfbW9kZXMuCj4gKyAg ICAgKi8KPiArICAgIHNpemVfdCBwcmVkX21vZGVfb2Zmc2V0Owo+ICsKPiArICAgIC8qKgo+ICsg ICAgICogTnVtYmVyIG9mIGludHJhIHByZWRpY3Rpb24gbW9kZXMuCj4gKyAgICAgKi8KPiArICAg IHVpbnQ4X3QgbnVtX3ByZWRfbW9kZXM7Cj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBDaHJvbWEg aW50cmEgcHJlZGljdGlvbiBtb2RlLgo+ICsgICAgICovCj4gKyAgICB1aW50OF90IGNocm9tYV9w cmVkX21vZGU7Cj4gK30gQVZCbG9ja0ludHJhSW5mbzsKPiArCj4gKy8qKgo+ICsgKiBNYWluIHN0 cnVjdHVyZSBmb3IgYSBzaW5nbGUgY29kaW5nIGJsb2NrLgo+ICsgKiBUaGlzIHN0cnVjdHVyZSBj YW4gYmUgcmVjdXJzaXZlIGZvciBjb2RlY3MgdGhhdCB1c2UgdHJlZS1iYXNlZCBwYXJ0aXRpb25p bmcuCj4gKyAqLwo+ICt0eXBlZGVmIHN0cnVjdCBBVlZpZGVvQ29kaW5nSW5mb0Jsb2NrIHsKPiAr ICAgIC8qKgo+ICsgICAgICogUG9zaXRpb24gKHgsIHkpIGFuZCBzaXplICh3LCBoKSBvZiB0aGUg YmxvY2ssIGluIHBpeGVscywKPiArICAgICAqIHJlbGF0aXZlIHRvIHRoZSB0b3AtbGVmdCBjb3Ju ZXIgb2YgdGhlIGZyYW1lLgo+ICsgICAgICovCj4gKyAgICBpbnQxNl90IHgsIHk7Cj4gKyAgICB1 aW50OF90IHcsIGg7Cj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBGbGFnIGluZGljYXRpbmcgaWYg dGhlIGJsb2NrIGlzIGludHJhLWNvZGVkLgo+ICsgICAgICogMSBpZiBpbnRyYSwgMCBpZiBpbnRl ci4KPiArICAgICAqLwo+ICsgICAgdWludDhfdCBpc19pbnRyYTsKPiArCj4gKyAgICAvKioKPiAr ICAgICAqIFRoZSBvcmlnaW5hbCwgY29kZWMtc3BlY2lmaWMgdHlwZSBvZiB0aGlzIGJsb2NrIG9y IG1hY3JvYmxvY2suCj4gKyAgICAgKiBUaGlzIGFsbG93cyBhIGZpbHRlciB0byBoYXZlIGNvZGVj LXNwZWNpZmljIGxvZ2ljIGZvciBpbnRlcnByZXRpbmcKPiArICAgICAqIHRoZSBnZW5lcmljIHBy ZWRpY3Rpb24gaW5mb3JtYXRpb24gYmFzZWQgb24gdGhlIHNvdXJjZSBjb2RlYy4KPiArICAgICAq IEZvciBleGFtcGxlLCBmb3IgSC4yNjQsIHRoaXMgd291bGQgc3RvcmUgdGhlIE1CIHR5cGUgZmxh Z3MgKE1CX1RZUEVfKikuCj4gKyAgICAgKi8KPiArICAgIHVpbnQzMl90IGNvZGVjX3NwZWNpZmlj X3R5cGU7Cj4gKwo+ICsgICAgdW5pb24gewo+ICsgICAgICAgIEFWQmxvY2tJbnRyYUluZm8gaW50 cmE7Cj4gKyAgICAgICAgQVZCbG9ja0ludGVySW5mbyBpbnRlcjsKPiArICAgIH07Cj4gKwo+ICsg ICAgLyoqCj4gKyAgICAgKiBOdW1iZXIgb2YgY2hpbGQgYmxvY2tzIHRoaXMgYmxvY2sgaXMgcGFy dGl0aW9uZWQgaW50by4KPiArICAgICAqIElmIDAsIHRoaXMgaXMgYSBsZWFmIG5vZGUgaW4gdGhl IHBhcnRpdGlvbiB0cmVlLgo+ICsgICAgICovCj4gKyAgICB1aW50OF90IG51bV9jaGlsZHJlbjsK PiArCj4gKyAgICAvKioKPiArICAgICAqIE9mZnNldCB0byBhbiBhcnJheSBvZiBjaGlsZCBBVlZp ZGVvQ29kaW5nSW5mb0Jsb2NrIHN0cnVjdHVyZXMsIHJlbGF0aXZlCj4gKyAgICAgKiB0byB0aGUg c3RhcnQgb2YgdGhlIEFWVmlkZW9Db2RpbmdJbmZvIHN0cnVjdC4KPiArICAgICAqIFRoaXMgYWxs b3dzIGZvciByZWN1cnNpdmUgcmVwcmVzZW50YXRpb24gb2YgY29kaW5nIHN0cnVjdHVyZXMuCj4g KyAgICAgKiBBbiBvZmZzZXQgb2YgMCBpbmRpY2F0ZXMgdGhlcmUgYXJlIG5vIGNoaWxkcmVuLgo+ ICsgICAgICovCj4gKyAgICBzaXplX3QgY2hpbGRyZW5fb2Zmc2V0Owo+ICt9IEFWVmlkZW9Db2Rp bmdJbmZvQmxvY2s7Cj4gKwo+ICsvKioKPiArICogVG9wLWxldmVsIHN0cnVjdHVyZSB0byBiZSBh dHRhY2hlZCB0byBhbiBBVkZyYW1lIGFzIHNpZGUgZGF0YS4KPiArICogSXQgY29udGFpbnMgYW4g YXJyYXkgb2YgdGhlIGhpZ2hlc3QtbGV2ZWwgY29kaW5nIGJsb2NrcyAoZS5nLiwgQ1RVcyBvciBN QnMpLgo+ICsgKi8KPiArdHlwZWRlZiBzdHJ1Y3QgQVZWaWRlb0NvZGluZ0luZm8gewo+ICsgICAg LyoqCj4gKyAgICAgKiBOdW1iZXIgb2YgdG9wLWxldmVsIGJsb2NrcyBpbiB0aGUgZnJhbWUuCj4g KyAgICAgKi8KPiArICAgIHVpbnQzMl90IG5iX2Jsb2NrczsKPiArCj4gKyAgICAvKioKPiArICAg ICAqIE9mZnNldCB0byBhbiBhcnJheSBvZiB0b3AtbGV2ZWwgYmxvY2tzLCByZWxhdGl2ZSB0byB0 aGUgc3RhcnQgb2YgdGhlCj4gKyAgICAgKiBBVlZpZGVvQ29kaW5nSW5mbyBzdHJ1Y3QuCj4gKyAg ICAgKiBUaGUgYWN0dWFsIGRhdGEgZm9yIHRoZXNlIGJsb2NrcywgYW5kIGFueSBjaGlsZCBibG9j a3Mgb3Igc3ViLWRhdGEsCj4gKyAgICAgKiBpcyBzdG9yZWQgY29udGlndW91c2x5IGluIHRoZSBB VkJ1ZmZlclJlZiBhdHRhY2hlZCB0byB0aGUgc2lkZSBkYXRhLgo+ICsgICAgICovCj4gKyAgICBz aXplX3QgYmxvY2tzX29mZnNldDsKPiArfSBBVlZpZGVvQ29kaW5nSW5mbzsKPiArCj4gKy8qKgo+ ICsgKiBAfQo+ICsgKi8KPiArCj4gKyNlbmRpZiAvKiBBVlVUSUxfVklERU9fQ09ESU5HX0lORk9f SCAqLwoKQWJzb2x1dGVseSBub3QuClVzZSBhbmQgZXh0ZW5kIGxpYmF2dXRpbC92aWRlb19lbmNf cGFyYW1zLmggaW5zdGVhZC4KQW5kIGlmIGF0IGFsbCBwb3NzaWJsZSwgZG9uJ3QgaW1wbGVtZW50 IGFuIGluc3BlY3Rpb24gdG9vbCBpbiBmZm1wZWcgCipqdXN0IGJlY2F1c2UgeW91IHdhbnQgdG8q LiBQYXJzaW5nIGEgYml0c3RyZWFtIGFuZCBkaXNwbGF5aW5nIGl0IGlzIG5vdCAKYSB2ZXJ5IGNv bXBsaWNhdGVkIHRoaW5nLCBidXQgZXhwb3NpbmcgYW4gQVBJIHZlcnkgbXVjaCBpcyBhIHZlcnkg CmNvbXBsaWNhdGVkIHRoaW5nLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1 ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==