From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 173154CB76 for ; Tue, 11 Feb 2025 16:51:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 877CC68BD5F; Tue, 11 Feb 2025 18:51:20 +0200 (EET) Received: from out203-205-221-236.mail.qq.com (out203-205-221-236.mail.qq.com [203.205.221.236]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DF14768BA55 for ; Tue, 11 Feb 2025 18:51:13 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1739292669; bh=mdJ5h2WF/51t7FlWfDyDuLwSEigyrRZZegvI8ho3RaM=; h=From:Subject:Date:References:To:In-Reply-To; b=dh2OzSgdOyZguBxZzGCUD6JCpnwtTCo8mhAdoMcK/JIbWMYXdrrMGMDMYb+t7nNEh DUmJ3CxYq+PXPJemAseqpJ83shTdl0l3q//UsNAfXZ1FCc11rpU7CgxNP1V6goj/iT zpRxMHKZzcDiv+dJt6N15/2tcdvDjYXVMVeiUwn0= Received: from smtpclient.apple ([240e:3b7:3277:36f0:312d:39f5:9c18:30ba]) by newxmesmtplogicsvrszb21-0.qq.com (NewEsmtp) with SMTP id CC8AD49A; Wed, 12 Feb 2025 00:51:08 +0800 X-QQ-mid: xmsmtpt1739292668tlmfdha5m Message-ID: X-QQ-XMAILINFO: NjfQ+4DTaMSlI0OrG4pJvXLnXSqcO7Nb0gzIzYNgol1MA7/LZUv61QEAlJ7Elj yVFGjIv9O6l0fPLsKJpa6T8O29L9L2aNZI5qjBAk7plrKfIngvv2BIktbLPO7RJ7TsGWjouyPdfC 3zZbiNYtCD3KHBBlZdaa4YRFvLEz1gQPjl3PRAWnY5XQLWGURl37g+fNZvn22XTt/WAdrE9towk2 nU0/wb1Zi2u/+lv5bXyZ+J/FvnTmr1kg8QzeV0JS5/zJdi7hyHeagASWbJ4/zdpPtr8HvxqygHXO asYlShfL/G3NLKHTWt45dwjzClUAGConw7XGZpMJLhIwqaUKzvT6mh1t83BuCj2Gpgl5pCJnh+P7 oL0xlgO1wTzkCYN9cg6yhezNq4ZpBhxdGKc7gcORKen3or8hxpNdHmYiHU5nJiIdXWte2xr8N+tc gmKAn1sa63lUy+dPDyZfsA7t7d6xWD7U3jJKOiZRCBaVkX0BttKtuu2lvTz8FhDFMrRSQqktP9aZ oHelphTJibI6rc/RHbx8VzQpHaURE/ZSdM8HJ4kMcqU011MKw6m6nYlHLgHshUU4+BE9vddjp496 /yTBZDbu4WAv6PXhCApUTdAHWxMVanMoiVjThmGlGzpzg003MQzo/xj2GVKcdH+IoJ+lXgkb96ra YDDYq8fI+Df7yOpc1j23ZsfRvcidCvk3CIhGLN3M2pbj4PyVZ0ckeOcjfeKEfKlkUpIB4VBtLsNe 7TFGA19oGsVCW95DQhObjlbCMBYnKshYdi9bAQPuZSM9VsmNK/Bh/wEZf7+jMTF2uFDqPgeCatNc 8Nz5piiaRqXF9c7GoVh4cTuS5GvwgW1enJQIR2OIIICiGNIoE+rVl12arnVtPy9sklnMbOc/1eLH hld9i8zonNIaBRRiqA26KrLCRRoGrUy57ergDz+/a3chF8m8nXB5/1IfXqIg56CKIc1q6iV9B70Z yhExz+fym3qy4kqJteRuGndKcP1dfm2dZp719SmXCQUMFeZ397/hZH2Kq4VYhtD7EpT2XG8MA= X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Zhao Zhili Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3818.100.11.1.3\)) Date: Wed, 12 Feb 2025 00:50:58 +0800 References: To: FFmpeg development discussions and patches In-Reply-To: X-OQ-MSGID: X-Mailer: Apple Mail (2.3818.100.11.1.3) Subject: Re: [FFmpeg-devel] [PATCH v7 3/4] avcodec/hevc: Add alpha layer support 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Cgo+IE9uIEZlYiAxMiwgMjAyNSwgYXQgMDA6MjUsIEFuZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVh cy5yaGVpbmhhcmR0QG91dGxvb2suY29tPiB3cm90ZToKPiAKPiBaaGFvIFpoaWxpOgo+PiAKPj4g Cj4+PiBPbiBGZWIgMTIsIDIwMjUsIGF0IDAwOjEwLCBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJl YXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cj4+PiAKPj4+IFpoYW8gWmhpbGk6Cj4+ Pj4gCj4+Pj4gCj4+Pj4+IE9uIEZlYiAxMSwgMjAyNSwgYXQgMjM6MzcsIEFuZHJlYXMgUmhlaW5o YXJkdCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPiB3cm90ZToKPj4+Pj4gCj4+Pj4+ IFpoYW8gWmhpbGk6Cj4+Pj4+PiBGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5j b20+Cj4+Pj4+PiAKPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFpoYW8gWmhpbGkgPHpoaWxpemhhb0B0 ZW5jZW50LmNvbT4KPj4+Pj4+IC0tLQo+Pj4+Pj4gbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYyB8 IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+Pj4+Pj4gbGliYXZj b2RlYy9oZXZjL2hldmNkZWMuaCB8ICAyICsrCj4+Pj4+PiBsaWJhdmNvZGVjL2hldmMvcmVmcy5j ICAgIHwgMzUgKysrKysrKysrKysrKysrKysrLQo+Pj4+Pj4gMyBmaWxlcyBjaGFuZ2VkLCAxMDgg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPj4+Pj4+IAo+Pj4+Pj4gZGlmZiAtLWdpdCBh L2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMgYi9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jCj4+ Pj4+PiBpbmRleCBlOWMwNDVmN2ExLi5mNzFlZGYyMTNiIDEwMDY0NAo+Pj4+Pj4gLS0tIGEvbGli YXZjb2RlYy9oZXZjL2hldmNkZWMuYwo+Pj4+Pj4gKysrIGIvbGliYXZjb2RlYy9oZXZjL2hldmNk ZWMuYwo+Pj4+Pj4gQEAgLTQ2Niw2ICs0NjYsMjUgQEAgc3RhdGljIGludCBleHBvcnRfbXVsdGls YXllcihIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1ZQUyAqdnBzKQo+Pj4+Pj4gICByZXR1cm4g MDsKPj4+Pj4+IH0KPj4+Pj4+IAo+Pj4+Pj4gK2ludCBmZl9oZXZjX2lzX2FscGhhX3ZpZGVvKGNv bnN0IEhFVkNDb250ZXh0ICpzKQo+Pj4+Pj4gK3sKPj4+Pj4+ICsgICAgY29uc3QgSEVWQ1ZQUyAq dnBzID0gcy0+dnBzOwo+Pj4+Pj4gKyAgICBpbnQgcmV0ID0gMDsKPj4+Pj4+ICsKPj4+Pj4+ICsg ICAgaWYgKHZwcy0+bmJfbGF5ZXJzICE9IDIgfHwgIXZwcy0+bGF5ZXJfaWRfaW5fbnVoWzFdKQo+ Pj4+Pj4gKyAgICAgICAgcmV0dXJuIDA7Cj4+Pj4+PiArCj4+Pj4+PiArICAgIC8qIGRlY29kZV92 cHNfZXh0KCkgZ3VhcmFudGVlcyB0aGF0IFNDQUxBQklMSVRZX0FVWElMSUFSWSB3aXRoIEF1eElk IG90aGVyCj4+Pj4+PiArICAgICAqIHRoYW4gYWxwaGEgY2Fubm90IHJlYWNoIGhlcmUuCj4+Pj4+ PiArICAgICAqLwo+Pj4+Pj4gKyAgICByZXQgPSAocy0+dnBzLT5zY2FsYWJpbGl0eV9tYXNrX2Zs YWcgJiBIRVZDX1NDQUxBQklMSVRZX0FVWElMSUFSWSk7Cj4+Pj4+PiArCj4+Pj4+PiArICAgIGF2 X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0RFQlVHLCAiTXVsdGkgbGF5ZXIgdmlkZW8sICVzIGFscGhh IHZpZGVvXG4iLAo+Pj4+Pj4gKyAgICAgICAgICAgcmV0ID8gImlzIiA6ICJub3QiKTsKPj4+Pj4+ ICsKPj4+Pj4+ICsgICAgcmV0dXJuIHJldDsKPj4+Pj4+ICt9Cj4+Pj4+PiArCj4+Pj4+PiBzdGF0 aWMgaW50IHNldHVwX211bHRpbGF5ZXIoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNWUFMgKnZw cykKPj4+Pj4+IHsKPj4+Pj4+ICAgdW5zaWduZWQgbGF5ZXJzX2FjdGl2ZV9vdXRwdXQgPSAwLCBo aWdoZXN0X2xheWVyOwo+Pj4+Pj4gQEAgLTQ3Myw2ICs0OTIsMTggQEAgc3RhdGljIGludCBzZXR1 cF9tdWx0aWxheWVyKEhFVkNDb250ZXh0ICpzLCBjb25zdCBIRVZDVlBTICp2cHMpCj4+Pj4+PiAg IHMtPmxheWVyc19hY3RpdmVfb3V0cHV0ID0gMTsKPj4+Pj4+ICAgcy0+bGF5ZXJzX2FjdGl2ZV9k ZWNvZGUgPSAxOwo+Pj4+Pj4gCj4+Pj4+PiArICAgIGlmIChmZl9oZXZjX2lzX2FscGhhX3ZpZGVv KHMpKSB7Cj4+Pj4+PiArICAgICAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlc2MgPSBh dl9waXhfZm10X2Rlc2NfZ2V0KHMtPmF2Y3R4LT5waXhfZm10KTsKPj4+Pj4+ICsKPj4+Pj4+ICsg ICAgICAgIGlmICghKGRlc2MtPmZsYWdzICYgQVZfUElYX0ZNVF9GTEFHX0FMUEhBKSkKPj4+Pj4+ ICsgICAgICAgICAgICByZXR1cm4gMDsKPj4+Pj4+ICsKPj4+Pj4+ICsgICAgICAgIHMtPmxheWVy c19hY3RpdmVfZGVjb2RlID0gKDEgPDwgdnBzLT5uYl9sYXllcnMpIC0gMTsKPj4+Pj4+ICsgICAg ICAgIHMtPmxheWVyc19hY3RpdmVfb3V0cHV0ID0gMTsKPj4+Pj4+ICsKPj4+Pj4+ICsgICAgICAg IHJldHVybiAwOwo+Pj4+Pj4gKyAgICB9Cj4+Pj4+PiArCj4+Pj4+PiAgIC8vIG5vdGhpbmcgcmVx dWVzdGVkIC0gZGVjb2RlIGJhc2UgbGF5ZXIgb25seQo+Pj4+Pj4gICBpZiAoIXMtPm5iX3ZpZXdf aWRzKQo+Pj4+Pj4gICAgICAgcmV0dXJuIDA7Cj4+Pj4+PiBAQCAtNTMwLDYgKzU2MSwzNCBAQCBz dGF0aWMgaW50IHNldHVwX211bHRpbGF5ZXIoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNWUFMg KnZwcykKPj4+Pj4+ICAgcmV0dXJuIDA7Cj4+Pj4+PiB9Cj4+Pj4+PiAKPj4+Pj4+ICtzdGF0aWMg ZW51bSBBVlBpeGVsRm9ybWF0IG1hcF90b19hbHBoYV9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsCj4+ Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0g QVZQaXhlbEZvcm1hdCBwaXhfZm10KQo+Pj4+Pj4gK3sKPj4+Pj4+ICsgICAgc3dpdGNoIChwaXhf Zm10KSB7Cj4+Pj4+PiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjBQOgo+Pj4+Pj4gKyAgICBj YXNlIEFWX1BJWF9GTVRfWVVWSjQyMFA6Cj4+Pj4+PiArICAgICAgICByZXR1cm4gQVZfUElYX0ZN VF9ZVVZBNDIwUDsKPj4+Pj4+ICsgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQyMFAxMDoKPj4+Pj4+ ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjBQMTA7Cj4+Pj4+PiArICAgIGNhc2Ug QVZfUElYX0ZNVF9ZVVY0NDRQOgo+Pj4+Pj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVW QTQ0NFA7Cj4+Pj4+PiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjJQOgo+Pj4+Pj4gKyAgICAg ICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQyMlA7Cj4+Pj4+PiArICAgIGNhc2UgQVZfUElYX0ZN VF9ZVVY0MjJQMTBMRToKPj4+Pj4+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjJQ MTBMRTsKPj4+Pj4+ICsgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQ0NFAxMDoKPj4+Pj4+ICsgICAg ICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0NDRQMTA7Cj4+Pj4+PiArICAgIGNhc2UgQVZfUElY X0ZNVF9ZVVY0NDRQMTI6Cj4+Pj4+PiArICAgICAgICByZXR1cm4gQVZfUElYX0ZNVF9ZVVZBNDQ0 UDEyOwo+Pj4+Pj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDIyUDEyOgo+Pj4+Pj4gKyAgICAg ICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQyMlAxMjsKPj4+Pj4+ICsgICAgZGVmYXVsdDoKPj4+ Pj4+ICsgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX1dBUk5JTkcsICJObyBhbHBoYSBw aXhlbCBmb3JtYXQgbWFwIGZvciAlc1xuIiwKPj4+Pj4+ICsgICAgICAgICAgICAgICBhdl9nZXRf cGl4X2ZtdF9uYW1lKHBpeF9mbXQpKTsKPj4+Pj4+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1U X05PTkU7Cj4+Pj4+PiArICAgIH0KPj4+Pj4+ICt9Cj4+Pj4+PiArCj4+Pj4+PiBzdGF0aWMgZW51 bSBBVlBpeGVsRm9ybWF0IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMg KnNwcykKPj4+Pj4+IHsKPj4+Pj4+ICNkZWZpbmUgSFdBQ0NFTF9NQVggKENPTkZJR19IRVZDX0RY VkEyX0hXQUNDRUwgKyBcCj4+Pj4+PiBAQCAtNTQwLDkgKzU5OSwxMyBAQCBzdGF0aWMgZW51bSBB VlBpeGVsRm9ybWF0IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMgKnNw cykKPj4+Pj4+ICAgICAgICAgICAgICAgICAgICBDT05GSUdfSEVWQ19WSURFT1RPT0xCT1hfSFdB Q0NFTCArIFwKPj4+Pj4+ICAgICAgICAgICAgICAgICAgICBDT05GSUdfSEVWQ19WRFBBVV9IV0FD Q0VMICsgXAo+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIENPTkZJR19IRVZDX1ZVTEtBTl9IV0FD Q0VMKQo+Pj4+Pj4gLSAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdHNbSFdBQ0NFTF9NQVgg KyAyXSwgKmZtdCA9IHBpeF9mbXRzOwo+Pj4+Pj4gKyAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgcGl4 X2ZtdHNbSFdBQ0NFTF9NQVggKyAzXSwgKmZtdCA9IHBpeF9mbXRzOwo+Pj4+Pj4gKyAgICBlbnVt IEFWUGl4ZWxGb3JtYXQgYWxwaGFfZm10ID0gQVZfUElYX0ZNVF9OT05FOwo+Pj4+Pj4gICBpbnQg cmV0Owo+Pj4+Pj4gCj4+Pj4+PiArICAgIGlmIChmZl9oZXZjX2lzX2FscGhhX3ZpZGVvKHMpKQo+ Pj4+Pj4gKyAgICAgICAgYWxwaGFfZm10ID0gbWFwX3RvX2FscGhhX2Zvcm1hdChzLCBzcHMtPnBp eF9mbXQpOwo+Pj4+Pj4gKwo+Pj4+Pj4gICBzd2l0Y2ggKHNwcy0+cGl4X2ZtdCkgewo+Pj4+Pj4g ICBjYXNlIEFWX1BJWF9GTVRfWVVWNDIwUDoKPj4+Pj4+ICAgY2FzZSBBVl9QSVhfRk1UX1lVVko0 MjBQOgo+Pj4+Pj4gQEAgLTY2NCw2ICs3MjcsOCBAQCBzdGF0aWMgZW51bSBBVlBpeGVsRm9ybWF0 IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMgKnNwcykKPj4+Pj4+ICAg ICAgIGJyZWFrOwo+Pj4+Pj4gICB9Cj4+Pj4+PiAKPj4+Pj4+ICsgICAgaWYgKGFscGhhX2ZtdCAh PSBBVl9QSVhfRk1UX05PTkUpCj4+Pj4+PiArICAgICAgICAqZm10KysgPSBhbHBoYV9mbXQ7Cj4+ Pj4+PiAgICpmbXQrKyA9IHNwcy0+cGl4X2ZtdDsKPj4+Pj4+ICAgKmZtdCA9IEFWX1BJWF9GTVRf Tk9ORTsKPj4+Pj4+IAo+Pj4+Pj4gQEAgLTMxOTQsNiArMzI1OSwxMiBAQCBzdGF0aWMgaW50IGhl dmNfZnJhbWVfc3RhcnQoSEVWQ0NvbnRleHQgKnMsIEhFVkNMYXllckNvbnRleHQgKmwsCj4+Pj4+ PiAgICAgICAgICAgICAgICFzcHMtPnZ1aS5jb21tb24udmlkZW9fc2lnbmFsX3R5cGVfcHJlc2Vu dF9mbGFnKQo+Pj4+Pj4gICAgICAgICAgICAgICBwaXhfZm10ID0gc3BzX2Jhc2UtPnBpeF9mbXQ7 Cj4+Pj4+PiAKPj4+Pj4+ICsgICAgICAgICAgICAvLyBJZ25vcmUgcmFuZ2UgbWlzbWF0Y2ggYmV0 d2VlbiBiYXNlIGxheWVyIGFuZCBhbHBoYSBsYXllcgo+Pj4+Pj4gKyAgICAgICAgICAgIGlmIChm Zl9oZXZjX2lzX2FscGhhX3ZpZGVvKHMpICYmCj4+Pj4+PiArICAgICAgICAgICAgICAgIHNwc19i YXNlLT5waXhfZm10ID09IEFWX1BJWF9GTVRfWVVWNDIwUCAmJgo+Pj4+Pj4gKyAgICAgICAgICAg ICAgICBwaXhfZm10ID09IEFWX1BJWF9GTVRfWVVWSjQyMFApCj4+Pj4+PiArICAgICAgICAgICAg ICAgIHBpeF9mbXQgPSBzcHNfYmFzZS0+cGl4X2ZtdDsKPj4+Pj4+ICsKPj4+Pj4+ICAgICAgICAg ICBpZiAocGl4X2ZtdCAgICAgIT0gc3BzX2Jhc2UtPnBpeF9mbXQgfHwKPj4+Pj4+ICAgICAgICAg ICAgICAgc3BzLT53aWR0aCAgIT0gc3BzX2Jhc2UtPndpZHRoICAgfHwKPj4+Pj4+ICAgICAgICAg ICAgICAgc3BzLT5oZWlnaHQgIT0gc3BzX2Jhc2UtPmhlaWdodCkgewo+Pj4+Pj4gZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmggYi9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5o Cj4+Pj4+PiBpbmRleCA0ZTk1MDM1Njg4Li5iMmI3MjViNWNkIDEwMDY0NAo+Pj4+Pj4gLS0tIGEv bGliYXZjb2RlYy9oZXZjL2hldmNkZWMuaAo+Pj4+Pj4gKysrIGIvbGliYXZjb2RlYy9oZXZjL2hl dmNkZWMuaAo+Pj4+Pj4gQEAgLTcxNCw2ICs3MTQsOCBAQCB2b2lkIGZmX2hldmNfaGxzX3Jlc2lk dWFsX2NvZGluZyhIRVZDTG9jYWxDb250ZXh0ICpsYywgY29uc3QgSEVWQ1BQUyAqcHBzLAo+Pj4+ Pj4gCj4+Pj4+PiB2b2lkIGZmX2hldmNfaGxzX212ZF9jb2RpbmcoSEVWQ0xvY2FsQ29udGV4dCAq bGMsIGludCB4MCwgaW50IHkwLCBpbnQgbG9nMl9jYl9zaXplKTsKPj4+Pj4+IAo+Pj4+Pj4gK2lu dCBmZl9oZXZjX2lzX2FscGhhX3ZpZGVvKGNvbnN0IEhFVkNDb250ZXh0ICpzKTsKPj4+Pj4+ICsK Pj4+Pj4+IGV4dGVybiBjb25zdCB1aW50OF90IGZmX2hldmNfcXBlbF9leHRyYV9iZWZvcmVbNF07 Cj4+Pj4+PiBleHRlcm4gY29uc3QgdWludDhfdCBmZl9oZXZjX3FwZWxfZXh0cmFfYWZ0ZXJbNF07 Cj4+Pj4+PiBleHRlcm4gY29uc3QgdWludDhfdCBmZl9oZXZjX3FwZWxfZXh0cmFbNF07Cj4+Pj4+ PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL3JlZnMuYyBiL2xpYmF2Y29kZWMvaGV2Yy9y ZWZzLmMKPj4+Pj4+IGluZGV4IGRkN2Y3Zjk1YTguLjZmMTBlZmQwYWMgMTAwNjQ0Cj4+Pj4+PiAt LS0gYS9saWJhdmNvZGVjL2hldmMvcmVmcy5jCj4+Pj4+PiArKysgYi9saWJhdmNvZGVjL2hldmMv cmVmcy5jCj4+Pj4+PiBAQCAtNzksNiArNzksMzEgQEAgdm9pZCBmZl9oZXZjX2ZsdXNoX2RwYihI RVZDQ29udGV4dCAqcykKPj4+Pj4+ICAgfQo+Pj4+Pj4gfQo+Pj4+Pj4gCj4+Pj4+PiArc3RhdGlj IGludCByZXBsYWNlX2FscGhhX3BsYW5lKEFWRnJhbWUgKmFscGhhLCBBVkZyYW1lICpiYXNlKQo+ Pj4+Pj4gK3sKPj4+Pj4+ICsgICAgQVZCdWZmZXJSZWYgKmJhc2VfYSA9IGF2X2ZyYW1lX2dldF9w bGFuZV9idWZmZXIoYmFzZSwgMyk7Cj4+Pj4+PiArICAgIHVpbnRwdHJfdCBkYXRhID0gKHVpbnRw dHJfdClhbHBoYS0+ZGF0YVswXTsKPj4+Pj4+ICsgICAgaW50IHJldDsKPj4+Pj4+ICsKPj4+Pj4+ ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBGRl9BUlJBWV9FTEVNUyhhbHBoYS0+YnVmKSAmJiBh bHBoYS0+YnVmW2ldOyBpKyspIHsKPj4+Pj4+ICsgICAgICAgIEFWQnVmZmVyUmVmICpidWYgPSBh bHBoYS0+YnVmW2ldOwo+Pj4+Pj4gKyAgICAgICAgdWludHB0cl90IGJ1Zl9iZWdpbiA9ICh1aW50 cHRyX3QpYnVmLT5kYXRhOwo+Pj4+Pj4gKwo+Pj4+Pj4gKyAgICAgICAgaWYgKGRhdGEgPj0gIGJ1 Zl9iZWdpbiAmJiBkYXRhIDwgYnVmX2JlZ2luICsgYnVmLT5zaXplKSB7Cj4+Pj4+PiArICAgICAg ICAgICAgcmV0ID0gYXZfYnVmZmVyX3JlcGxhY2UoJmFscGhhLT5idWZbaV0sIGJhc2VfYSk7Cj4+ Pj4+PiArICAgICAgICAgICAgaWYgKHJldCA8IDApCj4+Pj4+PiArICAgICAgICAgICAgICAgIHJl dHVybiByZXQ7Cj4+Pj4+PiArCj4+Pj4+PiArICAgICAgICAgICAgYWxwaGEtPmxpbmVzaXplWzBd ID0gYmFzZS0+bGluZXNpemVbM107Cj4+Pj4+PiArICAgICAgICAgICAgYWxwaGEtPmRhdGFbMF0g PSBiYXNlLT5kYXRhWzNdOwo+Pj4+Pj4gKwo+Pj4+Pj4gKyAgICAgICAgICAgIHJldHVybiAwOwo+ Pj4+Pj4gKyAgICAgICAgfQo+Pj4+Pj4gKyAgICB9Cj4+Pj4+IAo+Pj4+PiBXaHkgZG9lcyB0aGUg ZGVjb2RpbmcgcHJvY2VzcyBhY3R1YWxseSBuZWVkIG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gdGhl Cj4+Pj4+IGJ1ZmZlciBvZiB0aGUgYWxwaGEgcGxhbmU/Cj4+Pj4gCj4+Pj4gSeKAmW0gbm90IHN1 cmUgaWYgSSB1bmRlcnN0YW5kIHlvdXIgcXVlc3Rpb24gY29ycmVjdGx5Lgo+Pj4+IAo+Pj4+IDEu IEJvdGggdGhlIGJhc2UgbGF5ZXIgYW5kIHRoZSBhbHBoYSBsYXllciBhcmUgZGVjb2RlZCBhcyB5 dXY0MjBwLgo+Pj4+IDIuIFRoZSB5IHBsYW5lIG9mIGFscGhhIGxheWVyIGlzIGFjdHVhbGx5IGFs cGhhLgo+Pj4+IDMuIFRoZSBkZWNvZGVyIGZpbmFsbHkgb3V0cHV0IHl1dmEsIG5vdCB0d28geXV2 NDIwcC4KPj4+PiAKPj4+PiBTbyBoZXJlIG1ha2UgeSBwbGFuZSBvZiBhbHBoYSBmcmFtZSByZWZl cmVuY2UgdGhlIGFscGhhIHBsYW5lIG9mIGJhc2UgZnJhbWUuCj4+Pj4gV2hlbiBvdXRwdXQsIHRo ZSBiYXNlIGZyYW1lIHdpbGwgY29udGFpbiBZVVYgYW5kIGFscGhhIGZyb20gdHdvIGxheWVycy4K Pj4+PiAKPj4+IAo+Pj4gVGhlIGJhc2UgbGF5ZXIgQVZGcmFtZSBhbHJlYWR5IGNvbnRhaW5zIGEg cmVmZXJlbmNlIHRvIHRoZSBhbHBoYSBwbGFuZTsKPj4+IHNvIHdoeSBkbyB3ZSBuZWVkIGFub3Ro ZXIgb25lPyBEb2VzIHRoZSBiYXNlIEFWRnJhbWUgZ2V0IHVucmVmZXJlbmNlZAo+Pj4gYmVmb3Jl IHRoZSBhbHBoYSBwbGFuZSBpcyBmaW5pc2hlZCBkZWNvZGluZz8KPj4gCj4+IEluIHRoZSBkZWNv ZGluZyBwcm9jZXNzLCBpdOKAmXMgYWxtb3N0IHRoZSBzYW1lIGFzIE1WLUhFVkM6Cj4+IDEuIFRo ZSBiYXNlIGxheWVyIGlzIGRlY29kZWQgdG8gdGhlIFlVViBvZiBiYXNlIGZyYW1lLCB3aXRob3V0 IHRvdWNoaW5nIHRoZSBhbHBoYSBwbGFuZS4KPj4gMi4gVGhlIGFscGhhIGxheWVyIGlzIGRlY29k ZWQgdG8gWVVWIG9mIGFscGhhIGZyYW1lLgo+PiAKPj4gV2UgY2FuIG91dHB1dCB0aGUgdHdvIGZy YW1lcyBsaWtlIE1WLUhFVkMsIGJ1dCBpdOKAmXMgdXNlciBmcmllbmRseSB0byBvdXRwdXQgaW4g WVVWQSBmb3JtYXQuCj4+IFNvIEnigJltIGxldHRpbmcgdGhlIGFscGhhIGxheWVyIGRlY29kZWQg dG8gdGhlIGFscGhhIHBsYW5lIG9mIHRoZSBiYXNlIGxheWVyLiBPciBJIGNhbiBkbyB0aGUKPj4g cmV2ZXJzZS4gSXTigJlzIHRoZSBzYW1lLgo+PiAKPj4gV2UgY2FuIHNraXAgdGhlIGFscGhhIGZy YW1lIHRvdGFsbHkuIFRoZW4gdGhlIGRlY29kaW5nIHByb2Nlc3MgYW5kIERQQiBidWZmZXIgbWFu YWdlbWVudAo+PiB3aWxsIGJlIGRpZmZlcmVudC4gQ3VycmVudCBtZXRob2QgaXMgc2ltcGxlIGJ1 dCB1c2UgbW9yZSBtZW1vcnkuIEkgY2FuIHdvcmsgb24gdGhhdCBsYXRlbHkuCj4+IAo+IEl0IHNl ZW1zIGxpa2UgeW91IHN0aWxsIGRvbid0IGdldCBteSBxdWVzdGlvbi4gTGV0IG1lIGdpdmUgaXQg YW5vdGhlcgo+IHRyeTogV2hhdCB3b3VsZCBoYXBwZW4gaWYgeW91IHNpbXBseSBkaWQgbm90IHNl dCBhbHBoYS0+YnVmWzBdIChidXQKPiBzdGlsbCBkYXRhWzBdIGFuZCBsaW5lc2l6ZVswXSk/IFdv dWxkIGl0IGNyYXNoPyBPciB3b3VsZCBpdCB3b3JrIGJlY2F1c2UKPiB0aGUgYWN0dWFsIGFscGhh IHBsYW5lIGlzIGFsd2F5cyByZWZlcmVuY2VkIGJ5IHRoZSBiYXNlIGxheWVyIEFWRnJhbWU/CgpJ dCB3b3VsZCB3b3JrIGluIG5vcm1hbCBjYXNlLCBiYXNlIGxheWVyIEFWRnJhbWUgc2hvdWxkIG91 dGxpdmUgYWxwaGEgbGF5ZXIgQVZGcmFtZS4gQnV0IGl04oCZcwpzYWZlciB0byBrZWVwIGEgcmVm ZXJlbmNlLiBBbm90aGVyIGJlbmVmaXQgaXMgYXZfYnVmZmVyX3JlcGxhY2UgcmVsZWFzZWQgdGhl IG9yaWdpbmFsIGFscGhhIHBsYW5lLAp3aGljaCBjYW4gc2F2ZSBtZW1vcnkuCgo+IAo+IC0gQW5k cmVhcwo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4g aHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4gCj4gVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJl cXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5n IGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4v bGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwg b3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4K