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 111B94CB53 for ; Tue, 11 Feb 2025 16:11:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83F8768B8A0; Tue, 11 Feb 2025 18:11:43 +0200 (EET) Received: from out203-205-221-242.mail.qq.com (out203-205-221-242.mail.qq.com [203.205.221.242]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D83DD68B57B for ; Tue, 11 Feb 2025 18:11:36 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1739290292; bh=kuykCTJo2Q77E9PZ6ADaOqhXhezny8A99PPltyCqlhA=; h=From:Subject:Date:References:To:In-Reply-To; b=mPz1EFXFDCJEbjxd3nXxHp6KKKA4i41s4IV1EMD2dricPIdQhayKMWERMUQbvJAAk KWOXHyoWQzTdhNGiTd32+ileQA3v2/dOspC9rD21AvpLM+o3n39AFEv1wzfdC3cx71 ftNHVtT5YkNEKdYuXi68uQh5iYAHCbuSipFmrsY0= Received: from smtpclient.apple ([240e:3b7:3277:36f0:312d:39f5:9c18:30ba]) by newxmesmtplogicsvrsza36-0.qq.com (NewEsmtp) with SMTP id 2DF9E6A6; Wed, 12 Feb 2025 00:11:31 +0800 X-QQ-mid: xmsmtpt1739290291tqs7jjs6d Message-ID: X-QQ-XMAILINFO: MAmO9v9vZGPI3wD7BGODYRIRsdeo81Wx/CAmzlsBFIGEjuXuVEKDJeVkonUq8o cE1DHzOaDQQ4hZ99+ZhDFEbHFA9ojAAvTUHNejkebtYXxcpBi66R/mJP5fzJDnFarerQCL9NutGg TZuy/d0GMA2EcUzF5y0z09Pd5nuTu7ao30xYEVTvf8Jc8K+8UrTpZ2WpXu7kK5GaPF0IAckPMuBy I1qNMRar8Ltk313n4PObfXalfrP8UqkJwJ6B/1QONvvOW/71ve6NpN5f6qqBC2wf8RC2un/F1hVp Em4eyWwdUQAcUDf+XnLYUpFP+CZhWPySuFCWcLUVNE+8xLnLtvRsDBpHz5jNqLSANZJISvI6cH1I U02AUkumjp1CR2/3QXXXPJKQp0xntCPGUOv6lENJneiprBo/bNGFSKzuqPQiKRHWNltLPh1THNEJ jV/L6Ww14E5Jv4BZk68vJXNWHz1Oanmch3wJ3Tf7Xaw80YAMGpCbjGz3HHIL2HcPIH1/5oZSGmrP v3Ody3t629fC4eyAjxhjqj61ETq1TjWin9CZwu9kAG6YpN0lxpYHpscElvDKWsT//wQPq9ygZdTV SAmTTn/MZOllCqzYkMAfQszfFawzN0YKrYvc09/nPIhOlLeyiAM3sysYYB135uDyfvtTswoyOVMA 0tEPyRTNEdbwOJlXDjDy2q4O+o52BceMPSEp9dqNoozfGKa3ch1LZlGxvV31X2RPC/gKcyFBoIWU sADC0CqVGw2n6TRKXQIkoCVbJDMvjqkDd8gEbXq6lxyKeB/LhF4zOm2vInGo+n33E62qhYEeLE7v keuIT8licZMwcQ8iMrzaDC1xkxWpj5Rv2Lj9t8aK3ZTKtP5AJxIcCufb4+h1gLJ8EetOmiLwI8VL qhQ71jjwYT1c1LxY+AuXjR/lmLknyqbvpdz1tfEs5KjLdUuj/JpLdANCZLD1O6TC8c+yeOFK5TQo I3gQLwdDFfPmwTGLmQYRtSvij4r8oa9ONiNAEhCs7vRLx2BMFDYEgtX/3/GwAV X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU= From: Zhao Zhili Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3818.100.11.1.3\)) Date: Wed, 12 Feb 2025 00:11:21 +0800 References: <28524fa6-3fbb-4a81-bf20-ca840d267bed@gmail.com> To: FFmpeg development discussions and patches In-Reply-To: <28524fa6-3fbb-4a81-bf20-ca840d267bed@gmail.com> X-OQ-MSGID: <9F19A72C-14BA-4686-BD4B-2B15C77AE3EB@foxmail.com> 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+IE9uIEZlYiAxMiwgMjAyNSwgYXQgMDA6MDIsIEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4gd3JvdGU6Cj4gCj4gT24gMi8xMS8yMDI1IDEyOjU3IFBNLCBaaGFvIFpoaWxpIHdyb3Rl Ogo+Pj4gT24gRmViIDExLCAyMDI1LCBhdCAyMzozNywgQW5kcmVhcyBSaGVpbmhhcmR0IDxhbmRy ZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+IHdyb3RlOgo+Pj4gCj4+PiBaaGFvIFpoaWxpOgo+ Pj4+IEZyb206IFpoYW8gWmhpbGkgPHpoaWxpemhhb0B0ZW5jZW50LmNvbT4KPj4+PiAKPj4+PiBT aWduZWQtb2ZmLWJ5OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+Cj4+Pj4gLS0t Cj4+Pj4gbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYyB8IDczICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQo+Pj4+IGxpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmggfCAgMiAr Kwo+Pj4+IGxpYmF2Y29kZWMvaGV2Yy9yZWZzLmMgICAgfCAzNSArKysrKysrKysrKysrKysrKyst Cj4+Pj4gMyBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK Pj4+PiAKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYyBiL2xpYmF2 Y29kZWMvaGV2Yy9oZXZjZGVjLmMKPj4+PiBpbmRleCBlOWMwNDVmN2ExLi5mNzFlZGYyMTNiIDEw MDY0NAo+Pj4+IC0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKPj4+PiArKysgYi9saWJh dmNvZGVjL2hldmMvaGV2Y2RlYy5jCj4+Pj4gQEAgLTQ2Niw2ICs0NjYsMjUgQEAgc3RhdGljIGlu dCBleHBvcnRfbXVsdGlsYXllcihIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1ZQUyAqdnBzKQo+ Pj4+ICAgICByZXR1cm4gMDsKPj4+PiB9Cj4+Pj4gCj4+Pj4gK2ludCBmZl9oZXZjX2lzX2FscGhh X3ZpZGVvKGNvbnN0IEhFVkNDb250ZXh0ICpzKQo+Pj4+ICt7Cj4+Pj4gKyAgICBjb25zdCBIRVZD VlBTICp2cHMgPSBzLT52cHM7Cj4+Pj4gKyAgICBpbnQgcmV0ID0gMDsKPj4+PiArCj4+Pj4gKyAg ICBpZiAodnBzLT5uYl9sYXllcnMgIT0gMiB8fCAhdnBzLT5sYXllcl9pZF9pbl9udWhbMV0pCj4+ Pj4gKyAgICAgICAgcmV0dXJuIDA7Cj4+Pj4gKwo+Pj4+ICsgICAgLyogZGVjb2RlX3Zwc19leHQo KSBndWFyYW50ZWVzIHRoYXQgU0NBTEFCSUxJVFlfQVVYSUxJQVJZIHdpdGggQXV4SWQgb3RoZXIK Pj4+PiArICAgICAqIHRoYW4gYWxwaGEgY2Fubm90IHJlYWNoIGhlcmUuCj4+Pj4gKyAgICAgKi8K Pj4+PiArICAgIHJldCA9IChzLT52cHMtPnNjYWxhYmlsaXR5X21hc2tfZmxhZyAmIEhFVkNfU0NB TEFCSUxJVFlfQVVYSUxJQVJZKTsKPj4+PiArCj4+Pj4gKyAgICBhdl9sb2cocy0+YXZjdHgsIEFW X0xPR19ERUJVRywgIk11bHRpIGxheWVyIHZpZGVvLCAlcyBhbHBoYSB2aWRlb1xuIiwKPj4+PiAr ICAgICAgICAgICByZXQgPyAiaXMiIDogIm5vdCIpOwo+Pj4+ICsKPj4+PiArICAgIHJldHVybiBy ZXQ7Cj4+Pj4gK30KPj4+PiArCj4+Pj4gc3RhdGljIGludCBzZXR1cF9tdWx0aWxheWVyKEhFVkND b250ZXh0ICpzLCBjb25zdCBIRVZDVlBTICp2cHMpCj4+Pj4gewo+Pj4+ICAgICB1bnNpZ25lZCBs YXllcnNfYWN0aXZlX291dHB1dCA9IDAsIGhpZ2hlc3RfbGF5ZXI7Cj4+Pj4gQEAgLTQ3Myw2ICs0 OTIsMTggQEAgc3RhdGljIGludCBzZXR1cF9tdWx0aWxheWVyKEhFVkNDb250ZXh0ICpzLCBjb25z dCBIRVZDVlBTICp2cHMpCj4+Pj4gICAgIHMtPmxheWVyc19hY3RpdmVfb3V0cHV0ID0gMTsKPj4+ PiAgICAgcy0+bGF5ZXJzX2FjdGl2ZV9kZWNvZGUgPSAxOwo+Pj4+IAo+Pj4+ICsgICAgaWYgKGZm X2hldmNfaXNfYWxwaGFfdmlkZW8ocykpIHsKPj4+PiArICAgICAgICBjb25zdCBBVlBpeEZtdERl c2NyaXB0b3IgKmRlc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KHMtPmF2Y3R4LT5waXhfZm10KTsK Pj4+PiArCj4+Pj4gKyAgICAgICAgaWYgKCEoZGVzYy0+ZmxhZ3MgJiBBVl9QSVhfRk1UX0ZMQUdf QUxQSEEpKQo+Pj4+ICsgICAgICAgICAgICByZXR1cm4gMDsKPj4+PiArCj4+Pj4gKyAgICAgICAg cy0+bGF5ZXJzX2FjdGl2ZV9kZWNvZGUgPSAoMSA8PCB2cHMtPm5iX2xheWVycykgLSAxOwo+Pj4+ ICsgICAgICAgIHMtPmxheWVyc19hY3RpdmVfb3V0cHV0ID0gMTsKPj4+PiArCj4+Pj4gKyAgICAg ICAgcmV0dXJuIDA7Cj4+Pj4gKyAgICB9Cj4+Pj4gKwo+Pj4+ICAgICAvLyBub3RoaW5nIHJlcXVl c3RlZCAtIGRlY29kZSBiYXNlIGxheWVyIG9ubHkKPj4+PiAgICAgaWYgKCFzLT5uYl92aWV3X2lk cykKPj4+PiAgICAgICAgIHJldHVybiAwOwo+Pj4+IEBAIC01MzAsNiArNTYxLDM0IEBAIHN0YXRp YyBpbnQgc2V0dXBfbXVsdGlsYXllcihIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1ZQUyAqdnBz KQo+Pj4+ICAgICByZXR1cm4gMDsKPj4+PiB9Cj4+Pj4gCj4+Pj4gK3N0YXRpYyBlbnVtIEFWUGl4 ZWxGb3JtYXQgbWFwX3RvX2FscGhhX2Zvcm1hdChIRVZDQ29udGV4dCAqcywKPj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gQVZQaXhlbEZvcm1h dCBwaXhfZm10KQo+Pj4+ICt7Cj4+Pj4gKyAgICBzd2l0Y2ggKHBpeF9mbXQpIHsKPj4+PiArICAg IGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjBQOgo+Pj4+ICsgICAgY2FzZSBBVl9QSVhfRk1UX1lVVko0 MjBQOgo+Pj4+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjBQOwo+Pj4+ICsgICAg Y2FzZSBBVl9QSVhfRk1UX1lVVjQyMFAxMDoKPj4+PiArICAgICAgICByZXR1cm4gQVZfUElYX0ZN VF9ZVVZBNDIwUDEwOwo+Pj4+ICsgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQ0NFA6Cj4+Pj4gKyAg ICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQ0NFA7Cj4+Pj4gKyAgICBjYXNlIEFWX1BJWF9G TVRfWVVWNDIyUDoKPj4+PiArICAgICAgICByZXR1cm4gQVZfUElYX0ZNVF9ZVVZBNDIyUDsKPj4+ PiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjJQMTBMRToKPj4+PiArICAgICAgICByZXR1cm4g QVZfUElYX0ZNVF9ZVVZBNDIyUDEwTEU7Cj4+Pj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDQ0 UDEwOgo+Pj4+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0NDRQMTA7Cj4+Pj4gKyAg ICBjYXNlIEFWX1BJWF9GTVRfWVVWNDQ0UDEyOgo+Pj4+ICsgICAgICAgIHJldHVybiBBVl9QSVhf Rk1UX1lVVkE0NDRQMTI7Cj4+Pj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDIyUDEyOgo+Pj4+ ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjJQMTI7Cj4+Pj4gKyAgICBkZWZhdWx0 Ogo+Pj4+ICsgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX1dBUk5JTkcsICJObyBhbHBo YSBwaXhlbCBmb3JtYXQgbWFwIGZvciAlc1xuIiwKPj4+PiArICAgICAgICAgICAgICAgYXZfZ2V0 X3BpeF9mbXRfbmFtZShwaXhfZm10KSk7Cj4+Pj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRf Tk9ORTsKPj4+PiArICAgIH0KPj4+PiArfQo+Pj4+ICsKPj4+PiBzdGF0aWMgZW51bSBBVlBpeGVs Rm9ybWF0IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMgKnNwcykKPj4+ PiB7Cj4+Pj4gI2RlZmluZSBIV0FDQ0VMX01BWCAoQ09ORklHX0hFVkNfRFhWQTJfSFdBQ0NFTCAr IFwKPj4+PiBAQCAtNTQwLDkgKzU5OSwxMyBAQCBzdGF0aWMgZW51bSBBVlBpeGVsRm9ybWF0IGdl dF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMgKnNwcykKPj4+PiAgICAgICAg ICAgICAgICAgICAgICBDT05GSUdfSEVWQ19WSURFT1RPT0xCT1hfSFdBQ0NFTCArIFwKPj4+PiAg ICAgICAgICAgICAgICAgICAgICBDT05GSUdfSEVWQ19WRFBBVV9IV0FDQ0VMICsgXAo+Pj4+ICAg ICAgICAgICAgICAgICAgICAgIENPTkZJR19IRVZDX1ZVTEtBTl9IV0FDQ0VMKQo+Pj4+IC0gICAg ZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXRzW0hXQUNDRUxfTUFYICsgMl0sICpmbXQgPSBwaXhf Zm10czsKPj4+PiArICAgIGVudW0gQVZQaXhlbEZvcm1hdCBwaXhfZm10c1tIV0FDQ0VMX01BWCAr IDNdLCAqZm10ID0gcGl4X2ZtdHM7Cj4+Pj4gKyAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgYWxwaGFf Zm10ID0gQVZfUElYX0ZNVF9OT05FOwo+Pj4+ICAgICBpbnQgcmV0Owo+Pj4+IAo+Pj4+ICsgICAg aWYgKGZmX2hldmNfaXNfYWxwaGFfdmlkZW8ocykpCj4+Pj4gKyAgICAgICAgYWxwaGFfZm10ID0g bWFwX3RvX2FscGhhX2Zvcm1hdChzLCBzcHMtPnBpeF9mbXQpOwo+Pj4+ICsKPj4+PiAgICAgc3dp dGNoIChzcHMtPnBpeF9mbXQpIHsKPj4+PiAgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQyMFA6Cj4+ Pj4gICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVZKNDIwUDoKPj4+PiBAQCAtNjY0LDYgKzcyNyw4IEBA IHN0YXRpYyBlbnVtIEFWUGl4ZWxGb3JtYXQgZ2V0X2Zvcm1hdChIRVZDQ29udGV4dCAqcywgY29u c3QgSEVWQ1NQUyAqc3BzKQo+Pj4+ICAgICAgICAgYnJlYWs7Cj4+Pj4gICAgIH0KPj4+PiAKPj4+ PiArICAgIGlmIChhbHBoYV9mbXQgIT0gQVZfUElYX0ZNVF9OT05FKQo+Pj4+ICsgICAgICAgICpm bXQrKyA9IGFscGhhX2ZtdDsKPj4+PiAgICAgKmZtdCsrID0gc3BzLT5waXhfZm10Owo+Pj4+ICAg ICAqZm10ID0gQVZfUElYX0ZNVF9OT05FOwo+Pj4+IAo+Pj4+IEBAIC0zMTk0LDYgKzMyNTksMTIg QEAgc3RhdGljIGludCBoZXZjX2ZyYW1lX3N0YXJ0KEhFVkNDb250ZXh0ICpzLCBIRVZDTGF5ZXJD b250ZXh0ICpsLAo+Pj4+ICAgICAgICAgICAgICAgICAhc3BzLT52dWkuY29tbW9uLnZpZGVvX3Np Z25hbF90eXBlX3ByZXNlbnRfZmxhZykKPj4+PiAgICAgICAgICAgICAgICAgcGl4X2ZtdCA9IHNw c19iYXNlLT5waXhfZm10Owo+Pj4+IAo+Pj4+ICsgICAgICAgICAgICAvLyBJZ25vcmUgcmFuZ2Ug bWlzbWF0Y2ggYmV0d2VlbiBiYXNlIGxheWVyIGFuZCBhbHBoYSBsYXllcgo+Pj4+ICsgICAgICAg ICAgICBpZiAoZmZfaGV2Y19pc19hbHBoYV92aWRlbyhzKSAmJgo+Pj4+ICsgICAgICAgICAgICAg ICAgc3BzX2Jhc2UtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9ZVVY0MjBQICYmCj4+Pj4gKyAgICAg ICAgICAgICAgICBwaXhfZm10ID09IEFWX1BJWF9GTVRfWVVWSjQyMFApCj4+Pj4gKyAgICAgICAg ICAgICAgICBwaXhfZm10ID0gc3BzX2Jhc2UtPnBpeF9mbXQ7Cj4+Pj4gKwo+Pj4+ICAgICAgICAg ICAgIGlmIChwaXhfZm10ICAgICAhPSBzcHNfYmFzZS0+cGl4X2ZtdCB8fAo+Pj4+ICAgICAgICAg ICAgICAgICBzcHMtPndpZHRoICAhPSBzcHNfYmFzZS0+d2lkdGggICB8fAo+Pj4+ICAgICAgICAg ICAgICAgICBzcHMtPmhlaWdodCAhPSBzcHNfYmFzZS0+aGVpZ2h0KSB7Cj4+Pj4gZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmggYi9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5o Cj4+Pj4gaW5kZXggNGU5NTAzNTY4OC4uYjJiNzI1YjVjZCAxMDA2NDQKPj4+PiAtLS0gYS9saWJh dmNvZGVjL2hldmMvaGV2Y2RlYy5oCj4+Pj4gKysrIGIvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMu aAo+Pj4+IEBAIC03MTQsNiArNzE0LDggQEAgdm9pZCBmZl9oZXZjX2hsc19yZXNpZHVhbF9jb2Rp bmcoSEVWQ0xvY2FsQ29udGV4dCAqbGMsIGNvbnN0IEhFVkNQUFMgKnBwcywKPj4+PiAKPj4+PiB2 b2lkIGZmX2hldmNfaGxzX212ZF9jb2RpbmcoSEVWQ0xvY2FsQ29udGV4dCAqbGMsIGludCB4MCwg aW50IHkwLCBpbnQgbG9nMl9jYl9zaXplKTsKPj4+PiAKPj4+PiAraW50IGZmX2hldmNfaXNfYWxw aGFfdmlkZW8oY29uc3QgSEVWQ0NvbnRleHQgKnMpOwo+Pj4+ICsKPj4+PiBleHRlcm4gY29uc3Qg dWludDhfdCBmZl9oZXZjX3FwZWxfZXh0cmFfYmVmb3JlWzRdOwo+Pj4+IGV4dGVybiBjb25zdCB1 aW50OF90IGZmX2hldmNfcXBlbF9leHRyYV9hZnRlcls0XTsKPj4+PiBleHRlcm4gY29uc3QgdWlu dDhfdCBmZl9oZXZjX3FwZWxfZXh0cmFbNF07Cj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv aGV2Yy9yZWZzLmMgYi9saWJhdmNvZGVjL2hldmMvcmVmcy5jCj4+Pj4gaW5kZXggZGQ3ZjdmOTVh OC4uNmYxMGVmZDBhYyAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmNvZGVjL2hldmMvcmVmcy5jCj4+ Pj4gKysrIGIvbGliYXZjb2RlYy9oZXZjL3JlZnMuYwo+Pj4+IEBAIC03OSw2ICs3OSwzMSBAQCB2 b2lkIGZmX2hldmNfZmx1c2hfZHBiKEhFVkNDb250ZXh0ICpzKQo+Pj4+ICAgICB9Cj4+Pj4gfQo+ Pj4+IAo+Pj4+ICtzdGF0aWMgaW50IHJlcGxhY2VfYWxwaGFfcGxhbmUoQVZGcmFtZSAqYWxwaGEs IEFWRnJhbWUgKmJhc2UpCj4+Pj4gK3sKPj4+PiArICAgIEFWQnVmZmVyUmVmICpiYXNlX2EgPSBh dl9mcmFtZV9nZXRfcGxhbmVfYnVmZmVyKGJhc2UsIDMpOwo+Pj4+ICsgICAgdWludHB0cl90IGRh dGEgPSAodWludHB0cl90KWFscGhhLT5kYXRhWzBdOwo+Pj4+ICsgICAgaW50IHJldDsKPj4+PiAr Cj4+Pj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IEZGX0FSUkFZX0VMRU1TKGFscGhhLT5idWYp ICYmIGFscGhhLT5idWZbaV07IGkrKykgewo+Pj4+ICsgICAgICAgIEFWQnVmZmVyUmVmICpidWYg PSBhbHBoYS0+YnVmW2ldOwo+Pj4+ICsgICAgICAgIHVpbnRwdHJfdCBidWZfYmVnaW4gPSAodWlu dHB0cl90KWJ1Zi0+ZGF0YTsKPj4+PiArCj4+Pj4gKyAgICAgICAgaWYgKGRhdGEgPj0gIGJ1Zl9i ZWdpbiAmJiBkYXRhIDwgYnVmX2JlZ2luICsgYnVmLT5zaXplKSB7Cj4+Pj4gKyAgICAgICAgICAg IHJldCA9IGF2X2J1ZmZlcl9yZXBsYWNlKCZhbHBoYS0+YnVmW2ldLCBiYXNlX2EpOwo+Pj4+ICsg ICAgICAgICAgICBpZiAocmV0IDwgMCkKPj4+PiArICAgICAgICAgICAgICAgIHJldHVybiByZXQ7 Cj4+Pj4gKwo+Pj4+ICsgICAgICAgICAgICBhbHBoYS0+bGluZXNpemVbMF0gPSBiYXNlLT5saW5l c2l6ZVszXTsKPj4+PiArICAgICAgICAgICAgYWxwaGEtPmRhdGFbMF0gPSBiYXNlLT5kYXRhWzNd Owo+Pj4+ICsKPj4+PiArICAgICAgICAgICAgcmV0dXJuIDA7Cj4+Pj4gKyAgICAgICAgfQo+Pj4+ ICsgICAgfQo+Pj4gCj4+PiBXaHkgZG9lcyB0aGUgZGVjb2RpbmcgcHJvY2VzcyBhY3R1YWxseSBu ZWVkIG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gdGhlCj4+PiBidWZmZXIgb2YgdGhlIGFscGhhIHBs YW5lPwo+PiBJ4oCZbSBub3Qgc3VyZSBpZiBJIHVuZGVyc3RhbmQgeW91ciBxdWVzdGlvbiBjb3Jy ZWN0bHkuCj4+IDEuIEJvdGggdGhlIGJhc2UgbGF5ZXIgYW5kIHRoZSBhbHBoYSBsYXllciBhcmUg ZGVjb2RlZCBhcyB5dXY0MjBwLgo+PiAyLiBUaGUgeSBwbGFuZSBvZiBhbHBoYSBsYXllciBpcyBh Y3R1YWxseSBhbHBoYS4KPj4gMy4gVGhlIGRlY29kZXIgZmluYWxseSBvdXRwdXQgeXV2YSwgbm90 IHR3byB5dXY0MjBwLgo+PiBTbyBoZXJlIG1ha2UgeSBwbGFuZSBvZiBhbHBoYSBmcmFtZSByZWZl cmVuY2UgdGhlIGFscGhhIHBsYW5lIG9mIGJhc2UgZnJhbWUuCj4+IFdoZW4gb3V0cHV0LCB0aGUg YmFzZSBmcmFtZSB3aWxsIGNvbnRhaW4gWVVWIGFuZCBhbHBoYSBmcm9tIHR3byBsYXllcnMuCj4g Cj4gVGhlIGxvb3AgbWFrZXMgaXQgbG9vayBsaWtlIHlvdSdyZSBwb3RlbnRpYWxseSBjcmVhdGlu ZyByZWZlcmVuY2VzIHRvIGJhc2VfYSBpbiBhbGwgYnVmW10gZW50cmllcyBmcm9tIGFscGhhLCB3 aGVuIGFsbCB5b3UgbmVlZCBpcyBvbmUgaW4gYWxwaGEtPmJ1ZlswXSwgcmlnaHQ/CgpUaGF04oCZ cyB3aGF0IEkgZGlkIGJlZm9yZSBwYXRjaCB2Ni4gQW5kcmVhcyBwb2ludGVkIG91dCB0aGF0IGFs cGhhLT5idWZbMF0gZG9lc27igJl0IG1lYW5zIHRoZSBmaXJzdCBwbGFuZS4KZnJhbWUtPmRhdGFb MF0gY2FuIHBvaW50ZWQgdG8gZnJhbWUtPmJ1ZlsyXS4gU28gSSBuZWVkIGEgbG9vcCB0byBmaW5k IG91dCB3aGljaCBidWYgZnJhbWUtPmRhdGFbMF0gcG9pbnRlZCB0by4KCj4gCj4+PiAKPj4+PiAr Cj4+Pj4gKyAgICByZXR1cm4gQVZFUlJPUl9CVUc7Cj4+Pj4gK30KPj4+PiArCj4+Pj4gc3RhdGlj IEhFVkNGcmFtZSAqYWxsb2NfZnJhbWUoSEVWQ0NvbnRleHQgKnMsIEhFVkNMYXllckNvbnRleHQg KmwpCj4+Pj4gewo+Pj4+ICAgICBjb25zdCBIRVZDVlBTICp2cHMgPSBsLT5zcHMtPnZwczsKPj4+ PiBAQCAtMTAzLDcgKzEyOCw3IEBAIHN0YXRpYyBIRVZDRnJhbWUgKmFsbG9jX2ZyYW1lKEhFVkND b250ZXh0ICpzLCBIRVZDTGF5ZXJDb250ZXh0ICpsKQo+Pj4+ICAgICAgICAgfQo+Pj4+IAo+Pj4+ ICAgICAgICAgLy8gYWRkIHZpZXcgSUQgc2lkZSBkYXRhIGlmIGl0J3Mgbm9udHJpdmlhbAo+Pj4+ IC0gICAgICAgIGlmICh2cHMtPm5iX2xheWVycyA+IDEgfHwgdmlld19pZCkgewo+Pj4+ICsgICAg ICAgIGlmICghZmZfaGV2Y19pc19hbHBoYV92aWRlbyhzKSAmJiAodnBzLT5uYl9sYXllcnMgPiAx IHx8IHZpZXdfaWQpKSB7Cj4+Pj4gICAgICAgICAgICAgSEVWQ1NFSVREUkRJICp0ZHJkaSA9ICZz LT5zZWkudGRyZGk7Cj4+Pj4gICAgICAgICAgICAgQVZGcmFtZVNpZGVEYXRhICpzZCA9IGF2X2Zy YW1lX3NpZGVfZGF0YV9uZXcoJmZyYW1lLT5mLT5zaWRlX2RhdGEsCj4+Pj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZyYW1lLT5mLT5u Yl9zaWRlX2RhdGEsCj4+Pj4gQEAgLTE2MSw3ICsxODYsMTUgQEAgc3RhdGljIEhFVkNGcmFtZSAq YWxsb2NfZnJhbWUoSEVWQ0NvbnRleHQgKnMsIEhFVkNMYXllckNvbnRleHQgKmwpCj4+Pj4gICAg ICAgICBpZiAocmV0IDwgMCkKPj4+PiAgICAgICAgICAgICBnb3RvIGZhaWw7Cj4+Pj4gCj4+Pj4g Kwo+Pj4+ICAgICAgICAgZnJhbWUtPnBwcyA9IGF2X3JlZnN0cnVjdF9yZWZfYyhzLT5wcHMpOwo+ Pj4+ICsgICAgICAgIGlmIChsICE9ICZzLT5sYXllcnNbMF0gJiYgZmZfaGV2Y19pc19hbHBoYV92 aWRlbyhzKSkgewo+Pj4+ICsgICAgICAgICAgICBBVkZyYW1lICphbHBoYSA9IGZyYW1lLT5mOwo+ Pj4+ICsgICAgICAgICAgICBBVkZyYW1lICpiYXNlID0gcy0+bGF5ZXJzWzBdLmN1cl9mcmFtZS0+ ZjsKPj4+PiArICAgICAgICAgICAgcmV0ID0gcmVwbGFjZV9hbHBoYV9wbGFuZShhbHBoYSwgYmFz ZSk7Cj4+Pj4gKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQo+Pj4+ICsgICAgICAgICAgICAgICAg Z290byBmYWlsOwo+Pj4+ICsgICAgICAgIH0KPj4+PiAKPj4+PiAgICAgICAgIHJldHVybiBmcmFt ZTsKPj4+PiBmYWlsOgo+Pj4gCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+Pj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+Pj4gZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmcKPj4+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zm bXBlZy1kZXZlbAo+Pj4gCj4+PiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3Ig ZW1haWwKPj4+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1 bnN1YnNjcmliZSIuCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gZmZtcGVnLWRldmVsQGZmbXBl Zy5vcmcKPj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs Cj4+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+PiBmZm1wZWct ZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+IAo+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVn LWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9m Zm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4gCj4gVG8gdW5zdWJzY3Jp YmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZt cGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPiAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QK ZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGlu Zm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1h aWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2Ny aWJlIi4K