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 ESMTP id A4ED046A1A for ; Sun, 2 Jul 2023 01:07:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E403968C1E7; Sun, 2 Jul 2023 04:07:01 +0300 (EEST) Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C489068BE02 for ; Sun, 2 Jul 2023 04:06:55 +0300 (EEST) Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-4fba8f2197bso1855988e87.3 for ; Sat, 01 Jul 2023 18:06:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688260014; x=1690852014; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=XI8CNFbrOVjKhdW8pGwb/MbG1MDDpFjotsK35PiSuM0=; b=Mh8nmLic6kgoMfoThsqc7aM09JaF3OgmbqyxMPCDvuWIgojDxQ2rwsgS3BChp7gLhu oGuqNRgDE2eEHRzOAaqe31+aDtRIqIAYxIhC04VXPU/QYk8G/K07CxgKT4RsQQaSf6rp 0OdxHSuRWb1TWaogDBHJJopqfKOZAV/mAmcZxH7paeDXrxHneDpCoLo8ZDCua/+r3u47 TLcUIln+0rJFUbkvf8oXoS5D3qbz9uqth2in5Vw2R7dzZ+WgtNWaR9xPQQvCKO+vwDjM bTlWGVpcTgdGMeKjmYWwQViyvXg6d7dv1OhBxu8xYFzHEMo06czzPRKkZDRzJM7qaxSg dEVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688260014; x=1690852014; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XI8CNFbrOVjKhdW8pGwb/MbG1MDDpFjotsK35PiSuM0=; b=IKFWI1+0D8TY4gtVsSKvyehtZ/xo+YVnc0nvRJRHSCSxQlChd9qIRtGbDVpXV6FDvE kqhyL5ans4SUObW/VOj3AQDhabkGzwJXkrrPUjDSognvtgL4h95dm0f2OYebpth+VrdG Qb/w3UwHWD25p1nOLsNFGdlgeswIVZWvQt+11xqB6sw1ZcMalIA4tfm70XeF7o3C1wyd AHpEtnCMqLSdNmimUZUUJ6/YF99i+dVxsFEcNYqTWSE+AuUnoQHM5AFuuan1pHzZFWxH zHg4Jsa6cGXIgbNsTcJU4ju7jfpnGhG+jCQtJawGiv1tsxCBn2smewEmBKQW7z4JKFy5 9Cmg== X-Gm-Message-State: ABy/qLbTELNWW1CSuwt3DdCnsrwjpR1dGL1StqGL7QdmfrfImHv/nIuD hKqL5XmOjuKh+cCUMPfORsT49+CESQxe9CQRrCFRvGb4upR+BJyJ X-Google-Smtp-Source: APBJJlF/p22wJRotItWEODcY39n6vwaNI8HEa8Afv2lr5c7HkQH/ictq9jHVtkBGqHKdb2VfE1wODIEAPylGcenDPfk= X-Received: by 2002:a05:6512:33c9:b0:4f8:7325:bcd4 with SMTP id d9-20020a05651233c900b004f87325bcd4mr5638274lfg.0.1688260014223; Sat, 01 Jul 2023 18:06:54 -0700 (PDT) MIME-Version: 1.0 References: <20230629224510.10393-1-jamrial@gmail.com> In-Reply-To: From: Nuo Mi Date: Sun, 2 Jul 2023 09:06:42 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v2 1/2] avcodec/cbs_h2645: fix parsing and storing Picture Header references in the context 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: T24gU3VuLCBKdWwgMiwgMjAyMyBhdCA3OjMy4oCvQU0gSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21h aWwuY29tPiB3cm90ZToKCj4gT24gNy8xLzIwMjMgODo1MSBBTSwgTnVvIE1pIHdyb3RlOgo+ID4g T24gRnJpLCBKdW4gMzAsIDIwMjMgYXQgNjo0NeKAr0FNIEphbWVzIEFsbWVyPGphbXJpYWxAZ21h aWwuY29tPiAgd3JvdGU6Cj4gPgo+ID4+IFNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyPGphbXJp YWxAZ21haWwuY29tPgo+ID4+IC0tLQo+ID4+ICAgbGliYXZjb2RlYy9jYnNfaDI2NDUuYyAgICAg ICAgICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+ID4+ICAgbGliYXZj b2RlYy9jYnNfaDI2Ni5oICAgICAgICAgICAgICAgICB8IDE3ICsrKysrKystLS0tLS0KPiA+PiAg IGxpYmF2Y29kZWMvY2JzX2gyNjZfc3ludGF4X3RlbXBsYXRlLmMgfCAxNyArKysrKystLS0tLS0t Cj4gPj4gICBsaWJhdmNvZGVjL2gyNjZfbWV0YWRhdGFfYnNmLmMgICAgICAgIHwgMTMgKysrKyst LS0tLQo+ID4+ICAgbGliYXZjb2RlYy92dmNfcGFyc2VyLmMgICAgICAgICAgICAgICB8IDEwICsr KystLS0tCj4gPj4gICA1IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQyIGRlbGV0 aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2JzX2gyNjQ1LmMgYi9s aWJhdmNvZGVjL2Nic19oMjY0NS5jCj4gPj4gaW5kZXggY2RkNzkwMTUxOC4uNjhjY2Y2YTdlYiAx MDA2NDQKPiA+PiAtLS0gYS9saWJhdmNvZGVjL2Nic19oMjY0NS5jCj4gPj4gKysrIGIvbGliYXZj b2RlYy9jYnNfaDI2NDUuYwo+ID4+IEBAIC01MjUsMTIgKzUyNSw2IEBAIHN0YXRpYyBpbnQKPiA+ PiBjYnNfaDI2NDVfc3BsaXRfZnJhZ21lbnQoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsCj4g Pj4gICAgICAgaWYgKGZyYWctPmRhdGFfc2l6ZSA9PSAwKQo+ID4+ICAgICAgICAgICByZXR1cm4g MDsKPiA+Pgo+ID4+IC0gICAgaWYgKGNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZWQykgewo+ID4+ IC0gICAgICAgIC8vd2UgZGVhY3RpdmUgcGljdHVyZSBoZWFkZXIgaGVyZSB0byBhdm9pZCByZXVz ZSBwcmV2aW91cyBhdSdzCj4gcGguCj4gPj4gLSAgICAgICAgQ29kZWRCaXRzdHJlYW1IMjY2Q29u dGV4dCAqaDI2NiA9IGN0eC0+cHJpdl9kYXRhOwo+ID4+IC0gICAgICAgIGgyNjYtPnByaXYucGgg PSBOVUxMOwo+ID4+IC0gICAgfQo+ID4+IC0KPiA+PiAgICAgICBpZiAoaGVhZGVyICYmIGZyYWct PmRhdGFbMF0gJiYgY29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCkgewo+ID4+ICAgICAgICAg ICAvLyBBVkNDIGhlYWRlci4KPiA+PiAgICAgICAgICAgc2l6ZV90IHNpemUsIHN0YXJ0LCBlbmQ7 Cj4gPj4gQEAgLTc5MywxOSArNzg3LDIwIEBAIGNic19oMjY2X3JlcGxhY2VfcHMoNiwgU1BTLCBz cHMsCj4gPj4gc3BzX3NlcV9wYXJhbWV0ZXJfc2V0X2lkKQo+ID4+ICAgY2JzX2gyNjZfcmVwbGFj ZV9wcyg2LCBQUFMsIHBwcywgcHBzX3BpY19wYXJhbWV0ZXJfc2V0X2lkKQo+ID4+Cj4gPj4gICBz dGF0aWMgaW50IGNic19oMjY2X3JlcGxhY2VfcGgoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgs Cj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb2RlZEJpdHN0cmVhbVVuaXQg KnVuaXQpCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb2RlZEJpdHN0cmVh bVVuaXQgKnVuaXQsCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIMjY2UmF3 UGljdHVyZUhlYWRlciAqcGgpCj4gPj4gICB7Cj4gPj4gICAgICAgQ29kZWRCaXRzdHJlYW1IMjY2 Q29udGV4dCAqaDI2NiA9IGN0eC0+cHJpdl9kYXRhOwo+ID4+ICAgICAgIGludCBlcnI7Cj4gPj4K PiA+PiAtICAgIGgyNjYtPnByaXYucGggPSBOVUxMOwo+ID4+ICAgICAgIGVyciA9IGZmX2Nic19t YWtlX3VuaXRfcmVmY291bnRlZChjdHgsIHVuaXQpOwo+ID4+ICAgICAgIGlmIChlcnIgPCAwKQo+ ID4+ICAgICAgICAgICByZXR1cm4gZXJyOwo+ID4+IC0gICAgZXJyID0gYXZfYnVmZmVyX3JlcGxh Y2UoJmgyNjYtPnByaXYucGhfcmVmLCB1bml0LT5jb250ZW50X3JlZik7Cj4gPj4gKyAgICBhdl9h c3NlcnQwKHVuaXQtPmNvbnRlbnRfcmVmKTsKPiA+PiArICAgIGVyciA9IGF2X2J1ZmZlcl9yZXBs YWNlKCZoMjY2LT5waF9yZWYsIHVuaXQtPmNvbnRlbnRfcmVmKTsKPiA+PiAgICAgICBpZiAoZXJy IDwgMCkKPiA+PiAgICAgICAgICAgcmV0dXJuIGVycjsKPiA+PiAtICAgIGgyNjYtPnByaXYucGgg PSAoSDI2NlJhd1BIKiloMjY2LT5wcml2LnBoX3JlZi0+ZGF0YTsKPiA+PiArICAgIGgyNjYtPnBo ID0gcGg7Cj4gPj4gICAgICAgcmV0dXJuIDA7Cj4gPj4gICB9Cj4gPj4KPiA+PiBAQCAtMTExMSw3 ICsxMTA2LDcgQEAgc3RhdGljIGludAo+ID4+IGNic19oMjY2X3JlYWRfbmFsX3VuaXQoQ29kZWRC aXRzdHJlYW1Db250ZXh0ICpjdHgsCj4gPj4gICAgICAgICAgICAgICBlcnIgPSBjYnNfaDI2Nl9y ZWFkX3BoKGN0eCwgJmdiYywgcGgpOwo+ID4+ICAgICAgICAgICAgICAgaWYgKGVyciA8IDApCj4g Pj4gICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPiA+PiAtICAgICAgICAgICAgZXJyID0g Y2JzX2gyNjZfcmVwbGFjZV9waChjdHgsIHVuaXQpOwo+ID4+ICsgICAgICAgICAgICBlcnIgPSBj YnNfaDI2Nl9yZXBsYWNlX3BoKGN0eCwgdW5pdCwKPiAmcGgtPnBoX3BpY3R1cmVfaGVhZGVyKTsK PiA+PiAgICAgICAgICAgICAgIGlmIChlcnIgPCAwKQo+ID4+ICAgICAgICAgICAgICAgICAgIHJl dHVybiBlcnI7Cj4gPj4gICAgICAgICAgIH0KPiA+PiBAQCAtMTEzOSw2ICsxMTM0LDEyIEBAIHN0 YXRpYyBpbnQKPiA+PiBjYnNfaDI2Nl9yZWFkX25hbF91bml0KENvZGVkQml0c3RyZWFtQ29udGV4 dCAqY3R4LAo+ID4+ICAgICAgICAgICAgICAgcG9zID0gZ2V0X2JpdHNfY291bnQoJmdiYyk7Cj4g Pj4gICAgICAgICAgICAgICBsZW4gPSB1bml0LT5kYXRhX3NpemU7Cj4gPj4KPiA+PiArICAgICAg ICAgICAgaWYgKHNsaWNlLT5oZWFkZXIuc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2VfaGVhZGVy X2ZsYWcpIHsKPiA+PiArICAgICAgICAgICAgICAgIGVyciA9IGNic19oMjY2X3JlcGxhY2VfcGgo Y3R4LCB1bml0LAo+ID4+ICZzbGljZS0+aGVhZGVyLnNoX3BpY3R1cmVfaGVhZGVyKTsKPiA+PiAr ICAgICAgICAgICAgICAgIGlmIChlcnIgPCAwKQo+ID4+ICsgICAgICAgICAgICAgICAgICAgIHJl dHVybiBlcnI7Cj4gPj4gKyAgICAgICAgICAgIH0KPiA+PiArCj4gPj4gICAgICAgICAgICAgICBz bGljZS0+ZGF0YV9zaXplID0gbGVuIC0gcG9zIC8gODsKPiA+PiAgICAgICAgICAgICAgIHNsaWNl LT5kYXRhX3JlZiAgPSBhdl9idWZmZXJfcmVmKHVuaXQtPmRhdGFfcmVmKTsKPiA+PiAgICAgICAg ICAgICAgIGlmICghc2xpY2UtPmRhdGFfcmVmKQo+ID4+IEBAIC0xNjQwLDcgKzE2NDEsNyBAQCBz dGF0aWMgaW50Cj4gPj4gY2JzX2gyNjZfd3JpdGVfbmFsX3VuaXQoQ29kZWRCaXRzdHJlYW1Db250 ZXh0ICpjdHgsCj4gPj4gICAgICAgICAgICAgICBpZiAoZXJyIDwgMCkKPiA+PiAgICAgICAgICAg ICAgICAgICByZXR1cm4gZXJyOwo+ID4+Cj4gPj4gLSAgICAgICAgICAgIGVyciA9IGNic19oMjY2 X3JlcGxhY2VfcGgoY3R4LCB1bml0KTsKPiA+PiArICAgICAgICAgICAgZXJyID0gY2JzX2gyNjZf cmVwbGFjZV9waChjdHgsIHVuaXQsCj4gJnBoLT5waF9waWN0dXJlX2hlYWRlcik7Cj4gPj4gICAg ICAgICAgICAgICBpZiAoZXJyIDwgMCkKPiA+PiAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJy Owo+ID4+ICAgICAgICAgICB9Cj4gPj4gQEAgLTE2NjEsNiArMTY2MiwxMiBAQCBzdGF0aWMgaW50 Cj4gPj4gY2JzX2gyNjZfd3JpdGVfbmFsX3VuaXQoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgs Cj4gPj4gICAgICAgICAgICAgICBpZiAoZXJyIDwgMCkKPiA+PiAgICAgICAgICAgICAgICAgICBy ZXR1cm4gZXJyOwo+ID4+Cj4gPj4gKyAgICAgICAgICAgIGlmIChzbGljZS0+aGVhZGVyLnNoX3Bp Y3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFnKSB7Cj4gPj4gKyAgICAgICAgICAgICAg ICBlcnIgPSBjYnNfaDI2Nl9yZXBsYWNlX3BoKGN0eCwgdW5pdCwKPiA+PiAmc2xpY2UtPmhlYWRl ci5zaF9waWN0dXJlX2hlYWRlcik7Cj4gPj4gKyAgICAgICAgICAgICAgICBpZiAoZXJyIDwgMCkK PiA+PiArICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyOwo+ID4+ICsgICAgICAgICAgICB9 Cj4gPj4gKwo+ID4+ICAgICAgICAgICAgICAgaWYgKHNsaWNlLT5kYXRhKSB7Cj4gPj4gICAgICAg ICAgICAgICAgICAgZXJyID0gY2JzX2gyNjQ1X3dyaXRlX3NsaWNlX2RhdGEoY3R4LCBwYmMsCj4g c2xpY2UtPmRhdGEsCj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2xpY2UtPmRhdGFfc2l6ZSwKPiA+PiBAQCAtMTg4NCw4ICsxODkxLDggQEAg c3RhdGljIHZvaWQgY2JzX2gyNjZfZmx1c2goQ29kZWRCaXRzdHJlYW1Db250ZXh0Cj4gPj4gKmN0 eCkKPiA+PiAgICAgICAgICAgYXZfYnVmZmVyX3VucmVmKCZoMjY2LT5wcHNfcmVmW2ldKTsKPiA+ PiAgICAgICAgICAgaDI2Ni0+cHBzW2ldID0gTlVMTDsKPiA+PiAgICAgICB9Cj4gPj4gLSAgICBh dl9idWZmZXJfdW5yZWYoJmgyNjYtPnByaXYucGhfcmVmKTsKPiA+PiAtICAgIGgyNjYtPnByaXYu cGggPSBOVUxMOwo+ID4+ICsgICAgYXZfYnVmZmVyX3VucmVmKCZoMjY2LT5waF9yZWYpOwo+ID4+ ICsgICAgaDI2Ni0+cGggPSBOVUxMOwo+ID4+ICAgfQo+ID4+Cj4gPj4gICBzdGF0aWMgdm9pZCBj YnNfaDI2Nl9jbG9zZShDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCkKPiA+PiBkaWZmIC0tZ2l0 IGEvbGliYXZjb2RlYy9jYnNfaDI2Ni5oIGIvbGliYXZjb2RlYy9jYnNfaDI2Ni5oCj4gPj4gaW5k ZXggMDNkZmQ0YTk1NC4uNTQ1OTA3NDhjMyAxMDA2NDQKPiA+PiAtLS0gYS9saWJhdmNvZGVjL2Ni c19oMjY2LmgKPiA+PiArKysgYi9saWJhdmNvZGVjL2Nic19oMjY2LmgKPiA+PiBAQCAtNTgxLDgg KzU4MSw3IEBAIHR5cGVkZWYgc3RydWN0IEgyNjZSYXdQcmVkV2VpZ2h0VGFibGUgewo+ID4+ICAg ICAgIGludDE2X3QgIGRlbHRhX2Nocm9tYV9vZmZzZXRfbDFbMTVdWzJdOwo+ID4+ICAgfSBIMjY2 UmF3UHJlZFdlaWdodFRhYmxlOwo+ID4+Cj4gPj4gLXR5cGVkZWYgc3RydWN0ICBIMjY2UmF3UEgg ewo+ID4+IC0gICAgSDI2NlJhd05BTFVuaXRIZWFkZXIgbmFsX3VuaXRfaGVhZGVyOwo+ID4+ICt0 eXBlZGVmIHN0cnVjdCAgSDI2NlJhd1BpY3R1cmVIZWFkZXIgewo+ID4+ICAgICAgIHVpbnQ4X3Qg IHBoX2dkcl9vcl9pcmFwX3BpY19mbGFnOwo+ID4+ICAgICAgIHVpbnQ4X3QgIHBoX25vbl9yZWZf cGljX2ZsYWc7Cj4gPj4gICAgICAgdWludDhfdCAgcGhfZ2RyX3BpY19mbGFnOwo+ID4+IEBAIC02 NzAsMTIgKzY2OSwxNyBAQCB0eXBlZGVmIHN0cnVjdCAgSDI2NlJhd1BIIHsKPiA+Pgo+ID4+ICAg ICAgIHVpbnQ4X3QgIHBoX2V4dGVuc2lvbl9sZW5ndGg7Cj4gPj4gICAgICAgdWludDhfdCAgcGhf ZXh0ZW5zaW9uX2RhdGFfYnl0ZVsyNTZdOwo+ID4+ICt9IEgyNjZSYXdQaWN0dXJlSGVhZGVyOwo+ ID4+ICsKPiA+PiArdHlwZWRlZiBzdHJ1Y3QgSDI2NlJhd1BIIHsKPiA+PiArICAgIEgyNjZSYXdO QUxVbml0SGVhZGVyIG5hbF91bml0X2hlYWRlcjsKPiA+PiArICAgIEgyNjZSYXdQaWN0dXJlSGVh ZGVyIHBoX3BpY3R1cmVfaGVhZGVyOwo+ID4+ICAgfSBIMjY2UmF3UEg7Cj4gPj4KPiA+PiAgIHR5 cGVkZWYgc3RydWN0ICBIMjY2UmF3U2xpY2VIZWFkZXIgewo+ID4+ICAgICAgIEgyNjZSYXdOQUxV bml0SGVhZGVyIG5hbF91bml0X2hlYWRlcjsKPiA+PiAgICAgICB1aW50OF90ICBzaF9waWN0dXJl X2hlYWRlcl9pbl9zbGljZV9oZWFkZXJfZmxhZzsKPiA+PiAtICAgIEgyNjZSYXdQSCBzaF9waWN0 dXJlX2hlYWRlcjsKPiA+PiArICAgIEgyNjZSYXdQaWN0dXJlSGVhZGVyIHNoX3BpY3R1cmVfaGVh ZGVyOwo+ID4+Cj4gPj4gICAgICAgdWludDE2X3Qgc2hfc3VicGljX2lkOwo+ID4+ICAgICAgIHVp bnQxNl90IHNoX3NsaWNlX2FkZHJlc3M7Cj4gPj4gQEAgLTc3MCwxNCArNzc0LDExIEBAIHR5cGVk ZWYgc3RydWN0IENvZGVkQml0c3RyZWFtSDI2NkNvbnRleHQgewo+ID4+ICAgICAgIEFWQnVmZmVy UmVmICp2cHNfcmVmW1ZWQ19NQVhfVlBTX0NPVU5UXTsKPiA+PiAgICAgICBBVkJ1ZmZlclJlZiAq c3BzX3JlZltWVkNfTUFYX1NQU19DT1VOVF07Cj4gPj4gICAgICAgQVZCdWZmZXJSZWYgKnBwc19y ZWZbVlZDX01BWF9QUFNfQ09VTlRdOwo+ID4+ICsgICAgQVZCdWZmZXJSZWYgKnBoX3JlZjsKPiA+ PiAgICAgICBIMjY2UmF3VlBTICAqdnBzW1ZWQ19NQVhfU1BTX0NPVU5UXTsKPiA+PiAgICAgICBI MjY2UmF3U1BTICAqc3BzW1ZWQ19NQVhfU1BTX0NPVU5UXTsKPiA+PiAgICAgICBIMjY2UmF3UFBT ICAqcHBzW1ZWQ19NQVhfUFBTX0NPVU5UXTsKPiA+PiAtCj4gPj4gLSAgICBzdHJ1Y3Qgewo+ID4+ IC0gICAgICAgIEFWQnVmZmVyUmVmICpwaF9yZWY7Cj4gPj4gLSAgICAgICAgSDI2NlJhd1BIICAg KnBoOwo+ID4+IC0gICAgfSBwcml2Owo+ID4+ICsgICAgSDI2NlJhd1BpY3R1cmVIZWFkZXIgKnBo Owo+ID4+ICAgfSBDb2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0Owo+ID4+Cj4gPj4gICAjZW5kaWYg LyogQVZDT0RFQ19DQlNfSDI2Nl9IICovCj4gPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2Jz X2gyNjZfc3ludGF4X3RlbXBsYXRlLmMKPiA+PiBiL2xpYmF2Y29kZWMvY2JzX2gyNjZfc3ludGF4 X3RlbXBsYXRlLmMKPiA+PiBpbmRleCAwNmY5ZjI5ZTA4Li42ZDgyNmViYTQ5IDEwMDY0NAo+ID4+ IC0tLSBhL2xpYmF2Y29kZWMvY2JzX2gyNjZfc3ludGF4X3RlbXBsYXRlLmMKPiA+PiArKysgYi9s aWJhdmNvZGVjL2Nic19oMjY2X3N5bnRheF90ZW1wbGF0ZS5jCj4gPj4gQEAgLTIyMzEsOCArMjIz MSw4IEBAIHN0YXRpYyBpbnQgRlVOQyhwcmVkX3dlaWdodF90YWJsZSkKPiA+PiAoQ29kZWRCaXRz dHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4gPj4gICAgICAgcmV0dXJuIDA7Cj4g Pj4gICB9Cj4gPj4KPiA+PiAtc3RhdGljIGludCBGVU5DKHBpY3R1cmVfaGVhZGVyKSAoQ29kZWRC aXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dAo+ID4+ICpydywKPiA+PiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSDI2NlJhd1BIICpjdXJyZW50KXsKPiA+PiArc3RhdGlj IGludCBGVU5DKHBpY3R1cmVfaGVhZGVyX3N0cnVjdHVyZSkoQ29kZWRCaXRzdHJlYW1Db250ZXh0 ICpjdHgsCj4gPj4gUldDb250ZXh0ICpydywKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSDI2NlJhd1BpY3R1cmVIZWFkZXIKPiAqY3VycmVudCkgewo+ID4+ ICAgICAgIENvZGVkQml0c3RyZWFtSDI2NkNvbnRleHQgKmgyNjYgPSBjdHgtPnByaXZfZGF0YTsK PiA+PiAgICAgICBjb25zdCBIMjY2UmF3VlBTICp2cHM7Cj4gPj4gICAgICAgY29uc3QgSDI2NlJh d1NQUyAqc3BzOwo+ID4+IEBAIC0yNjUxLDcgKzI2NTEsNyBAQCBzdGF0aWMgaW50IEZVTkMocGgp IChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKPiA+PiBSV0NvbnRleHQgKnJ3LAo+ID4+ICAg ICAgIEhFQURFUigiUGljdHVyZSBIZWFkZXIiKTsKPiA+Pgo+ID4+ICAgICAgIENIRUNLKEZVTkMo bmFsX3VuaXRfaGVhZGVyKSAoY3R4LCBydywgJmN1cnJlbnQtPm5hbF91bml0X2hlYWRlciwKPiA+ PiBWVkNfUEhfTlVUKSk7Cj4gPj4gLSAgICBDSEVDSyhGVU5DKHBpY3R1cmVfaGVhZGVyKSAoY3R4 LCBydywgY3VycmVudCkpOwo+ID4+ICsgICAgQ0hFQ0soRlVOQyhwaWN0dXJlX2hlYWRlcl9zdHJ1 Y3R1cmUpIChjdHgsIHJ3LAo+ID4+ICZjdXJyZW50LT5waF9waWN0dXJlX2hlYWRlcikpOwo+ID4+ ICAgICAgIENIRUNLKEZVTkMocmJzcF90cmFpbGluZ19iaXRzKSAoY3R4LCBydykpOwo+ID4+ICAg ICAgIHJldHVybiAwOwo+ID4+ICAgfQo+ID4+IEBAIC0yNjYyLDcgKzI2NjIsNyBAQCBzdGF0aWMg aW50IEZVTkMoc2xpY2VfaGVhZGVyKQo+IChDb2RlZEJpdHN0cmVhbUNvbnRleHQKPiA+PiAqY3R4 LCBSV0NvbnRleHQgKnJ3LAo+ID4+ICAgICAgIENvZGVkQml0c3RyZWFtSDI2NkNvbnRleHQgKmgy NjYgPSBjdHgtPnByaXZfZGF0YTsKPiA+PiAgICAgICBjb25zdCBIMjY2UmF3U1BTICpzcHM7Cj4g Pj4gICAgICAgY29uc3QgSDI2NlJhd1BQUyAqcHBzOwo+ID4+IC0gICAgY29uc3QgSDI2NlJhd1BI ICpwaDsKPiA+PiArICAgIGNvbnN0IEgyNjZSYXdQaWN0dXJlSGVhZGVyICpwaDsKPiA+PiAgICAg ICBjb25zdCBIMjY2UmVmUGljTGlzdHMgKnJlZl9waWNfbGlzdHM7Cj4gPj4gICAgICAgaW50IGVy ciwgaTsKPiA+PiAgICAgICB1aW50OF90IG5hbF91bml0X3R5cGUsIHFwX2JkX29mZnNldDsKPiA+ PiBAQCAtMjY3NSwxMiArMjY3NSwxMSBAQCBzdGF0aWMgaW50IEZVTkMoc2xpY2VfaGVhZGVyKQo+ ID4+IChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwgUldDb250ZXh0ICpydywKPiA+Pgo+ID4+ ICAgICAgIGZsYWcoc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2VfaGVhZGVyX2ZsYWcpOwo+ID4+ ICAgICAgIGlmIChjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRlcl9pbl9zbGljZV9oZWFkZXJfZmxh Zykgewo+ID4+IC0gICAgICAgIENIRUNLKEZVTkMocGljdHVyZV9oZWFkZXIpIChjdHgsIHJ3LAo+ ID4+ICZjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRlcikpOwo+ID4+ICsgICAgICAgIC8vNy40Ljgg aWYgc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2VfaGVhZGVyX2ZsYWcgaXMgdHJ1ZSwgd2UKPiBk bwo+ID4+IG5vdCBoYXZlIGEgUEggTkFMIHVuaXQKPiA+PiArICAgICAgICBDSEVDSyhGVU5DKHBp Y3R1cmVfaGVhZGVyX3N0cnVjdHVyZSkgKGN0eCwgcncsCj4gPj4gJmN1cnJlbnQtPnNoX3BpY3R1 cmVfaGVhZGVyKSk7Cj4gPj4gICAgICAgICAgIHBoID0gJmN1cnJlbnQtPnNoX3BpY3R1cmVfaGVh ZGVyOwo+ID4+IC0gICAgICAgIC8vNy40LjggaWYgc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2Vf aGVhZGVyX2ZsYWcgaXMgdHJ1ZSwgd2UKPiBkbwo+ID4+IG5vdCBoYXZlIFBIIE5BTCB1bml0Cj4g Pj4gLSAgICAgICAgaDI2Ni0+cHJpdi5waCA9IE5VTEw7Cj4gPj4gICAgICAgfSBlbHNlIHsKPiA+ PiAtICAgICAgICBwaCA9IGgyNjYtPnByaXYucGg7Cj4gPj4gKyAgICAgICAgcGggPSBoMjY2LT5w aDsKPiA+Pgo+ID4gQmFzZWQgb24gdGhlIGZvbGxvd2luZyBpdGVtcyBpbiB0aGUgc3BlYywgYWxs IHNsaWNlcyB3aWxsIGhhdmUgdGhlIHNhbWUKPiA+IHBpY3R1cmUgaGVhZGVyLiAgTWF5YmUgd2Ug Y2FuIHJlbW92ZSBzaF9waWN0dXJlX2hlYWRlciBhbmQganVzdCBrZWVwCj4gPiBoMjY2LT5waC4K PiA+Cj4gPiAxLiBUaGUgUEggc3ludGF4IHN0cnVjdHVyZSBjb250YWlucyBpbmZvcm1hdGlvbiB0 aGF0IGlzIGNvbW1vbiBmb3IgYWxsCj4gPiBzbGljZXMgb2YgdGhlIGN1cnJlbnQgcGljdHVyZS4K PiA+IDIuIEl0IGlzIGEgcmVxdWlyZW1lbnQgb2YgYml0c3RyZWFtIGNvbmZvcm1hbmNlIHRoYXQg dGhlIHZhbHVlIG9mCj4gPiBzaF9waWN0dXJlX2hlYWRlcl9pbl9zbGljZV9oZWFkZXJfZmxhZyBz aGFsbCBiZSB0aGUgc2FtZSBpbiBhbGwgY29kZWQKPiA+IHNsaWNlcyBpbiBhIENMVlMuCj4gPiAz LiBXaGVuIHNoX3BpY3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFnIGlzIGVxdWFsIHRv IDEgZm9yIGEgY29kZWQKPiA+IHNsaWNlLCBpdCBpcyBhIHJlcXVpcmVtZW50IG9mIGJpdHN0cmVh bSBjb25mb3JtYW5jZSB0aGF0IG5vIE5BTCB1bml0IHdpdGgKPiA+IG5hbF91bml0X3R5cGUgZXF1 YWwgdG8gUEhfTlVUIHNoYWxsIGJlIHByZXNlbnQgaW4gdGhlIENMVlMuCj4KPiBDb2RlZEJpdHN0 cmVhbUgyNjZDb250ZXh0IGhvbGRzIHRoZSBzdGF0ZSBvZiBhbiBoeXBvdGhldGljYWwgZGVjb2Rl cgo+IGFmdGVyIHRoZSBsYXN0IHVuaXQgZmVkIHRvIENCUyB3YXMgcGFyc2VkLiBJZiB5b3Ugd2Vy ZSB0byBmZWVkIGl0IHR3bwo+IFBVcyBpbiBhIHJvdywgaDI2Ni0+cGggd2lsbCBiZSBhIHBvaW50 ZXIgdG8gdGhlIEgyNjZSYXdQaWN0dXJlSGVhZGVyCj4gcmVsZXZhbnQgdG8gdGhlIHNlY29uZCBQ VSAoRWl0aGVyIHBpY3R1cmVfaGVhZGVyIGZyb20gdGhlIGxhc3QgUEggTkFMVSwKPiBvciBwaWN0 dXJlX2hlYWRlciBmcm9tIHRoZSBsYXN0IFNsaWNlIE5BTFUpLgo+Cj4gV2UgY2FuJ3Qgc3RvcmUg dmFsdWVzIHJlYWQgZnJvbSB0aGUgYml0c3RyZWFtIHRoZXJlLCBzaW5jZSBpZiB0aGV5IGFyZQo+ IG92ZXJ3cml0dGVuLCB0aGVuIHRoZXkgd2lsbCBiZSB1bmF2YWlsYWJsZSB0byBjYWxsZXJzLiBJ dCdzIG9ubHkgbWVhbnQKPiB0byBzdG9yZSBwb2ludGVycyBhbmQgcmVmZXJlbmNlcyB0byB2YWx1 ZXMgYW5kIHN0cnVjdHMgc3RvcmVkIGluIHVuaXRzCj4gd2l0aGluIHRoZSBmcmFnbWVudCwgb3Ig ZGVyaXZlZCB2YWx1ZXMuCj4KQWxsIHNsaWNlcyBpbiBvbmUgcGljdHVyZSB3aWxsIGhhdmUgdGhl IHNhbWUgcGljdHVyZSBoZWFkZXIgY29udGVudC4KaWYgc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xp Y2VfaGVhZGVyX2ZsYWcgID09IDAsIHdlIG9ubHkgaGF2ZSBvbmUgUEggTkFMLgpzbyB3ZSB3aWxs IG5vdCBvdmVyd3JpdGUuCmlmIHNoX3BpY3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFn ICA9PSAxLCB3ZSBvbmx5IG5lZWQgdG8gcGFyc2UgdGhlClBIIGluIHRoZSBmaXJzdCBzbGljZSwg dGhlbiB1c2UgbWVtY3B5IHRvIGRvIGEgc2FuaXR5IGNoZWNrIGZvciBsYXRlcgpzbGljZXMuCgpC VFcsIGRvIHdlIG5lZWQgY29uc3RpZnkgdGhlIHJhdyB2cHMsIHNwcywgcHBzIGFuZCBwaAppbiBD b2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2 ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBl Zy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4g ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZt cGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZp c2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcg d2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==