From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 19474C19F2E for ; Thu, 27 Feb 2025 15:29:30 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tnfoq-0007qV-Q3; Thu, 27 Feb 2025 10:29:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnfol-0007nT-1G for grub-devel@gnu.org; Thu, 27 Feb 2025 10:28:56 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnfoh-0000p6-Dw for grub-devel@gnu.org; Thu, 27 Feb 2025 10:28:54 -0500 Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51R961vs014472; Thu, 27 Feb 2025 15:28:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=8xvHBu BnKojs2iP7RGfHswBWRstwLJwlwFgA5dmaN90=; b=ec6fMeGQLR4Pzf5YCVGdXI w1o0NBYCg737ay09CInlw5ne5+0WIQYd8OYv1B5w3zzESN1xO6gWZUElqervZ+Tf AQKHlK639hMlsam7KANMOgHT8/t4oEGGNnBD07Z+wQH4yXYPJffkHXVtXZOV/DkK EBjDqBcO01sm4qgnDHs1Rtzn/7twq0YEH3SxYfrbY8sYzedn4SRGaUGVBlGJRjJ1 0ck/xYnm4XZ76rfQ6g++DuTVHE+n2SfFUYI8KPAGHI3NRyaBvl/GzbR7le81h2ob be+HAntfJg93Yo+bJqxnyy32adsdYJhqwjw8yZD3r5YKMpX2Z8OY1pW9TXr43T0A == Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 452c3a46jd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 27 Feb 2025 15:28:47 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 51RCT26s026354; Thu, 27 Feb 2025 15:28:46 GMT Received: from smtprelay06.wdc07v.mail.ibm.com ([172.16.1.73]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 44yswnsagv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 27 Feb 2025 15:28:46 +0000 Received: from smtpav03.wdc07v.mail.ibm.com (smtpav03.wdc07v.mail.ibm.com [10.39.53.230]) by smtprelay06.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 51RFSiNJ27525830 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 27 Feb 2025 15:28:45 GMT Received: from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E3C155805C; Thu, 27 Feb 2025 15:28:44 +0000 (GMT) Received: from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1755758054; Thu, 27 Feb 2025 15:28:44 +0000 (GMT) Received: from ltc.linux.ibm.com (unknown [9.5.196.140]) by smtpav03.wdc07v.mail.ibm.com (Postfix) with ESMTP; Thu, 27 Feb 2025 15:28:43 +0000 (GMT) MIME-Version: 1.0 Date: Thu, 27 Feb 2025 20:58:43 +0530 From: sudhakar To: Avnish Chouhan Cc: grub-devel@gnu.org, dja@axtens.net, jan.setjeeilers@oracle.com, julian.klode@canonical.com, mate.kukri@canonical.com, pjones@redhat.com, stefanb@linux.ibm.com, nayna@linux.ibm.com, ssrish@linux.ibm.com, daniel.kiper@oracle.com Subject: Re: [PATCH v1 05/21] pgp: factor out rsa_pad In-Reply-To: <745f83a5e64e5b367328db70d981854a@linux.ibm.com> References: <20241218145647.1390837-1-sudhakar@linux.ibm.com> <20241218145647.1390837-6-sudhakar@linux.ibm.com> <745f83a5e64e5b367328db70d981854a@linux.ibm.com> Message-ID: X-Sender: sudhakar@linux.ibm.com X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 9zEJxDHu9_L_Suo16OYTUnBs1nBAKPeX X-Proofpoint-ORIG-GUID: 9zEJxDHu9_L_Suo16OYTUnBs1nBAKPeX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-27_06,2025-02-27_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 mlxlogscore=999 clxscore=1011 adultscore=0 spamscore=0 lowpriorityscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502100000 definitions=main-2502270114 Received-SPF: pass client-ip=148.163.156.1; envelope-from=sudhakar@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org T24gMjAyNS0wMS0yNCAxNjoxMCwgQXZuaXNoIENob3VoYW4gd3JvdGU6Cj4gSW5kZW50YXRpb24g bG9va3Mgb2ZmIGluIGNvdXBsZSBvZiBwbGFjZXMuIFBsZWFzZSBmaXggaXQuCj4gCj4gUmV2aWV3 ZWQtYnk6wqBBdm5pc2jCoENob3VoYW7CoDxhdm5pc2hAbGludXguaWJtLmNvbT4KPiAKPiBPbiAy MDI0LTEyLTE4IDIwOjI2LCBTdWRoYWthciBLdXBwdXNhbXkgd3JvdGU6Cj4+IEZyb206IERhbmll bCBBeHRlbnMgPGRqYUBheHRlbnMubmV0Pgo+PiAKPj4gcnNhX3BhZCBkb2VzIHRoZSBQS0NTIzEg djEuNSBwYWRkaW5nIGZvciB0aGUgUlNBIHNpZ25hdHVyZSBzY2hlbWUuCj4+IFdlIHdhbnQgdG8g dXNlIGl0IGluIG90aGVyIFJTQSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGFwcGxpY2F0aW9ucy4K Pj4gCj4+IEkgY29uc2lkZXJlZCBhbmQgcmVqZWN0ZWQgcHV0dGluZyBpdCBpbiBsaWIvY3J5cHRv LmMuIFRoYXQgZmlsZSAKPj4gZG9lc24ndAo+PiBjdXJyZW50bHkgcmVxdWlyZSBhbnkgTVBJIGZ1 bmN0aW9ucywgYnV0IHJzYV9wYWQgZG9lcy4gVGhhdCdzIG5vdCBzbwo+PiBtdWNoIG9mIGEgcHJv YmxlbSBmb3IgdGhlIGdydWIga2VybmVsIGFuZCBtb2R1bGVzLCBidXQgY3J5cHRvLmMgYWxzbwo+ PiBnZXRzIGJ1aWx0IGludG8gYWxsIHRoZSBncnViIHV0aWxpdGllcy4gU28gLSBkZXNwaXRlIHRo ZSB1dGlscyBub3QKPj4gdXNpbmcgYW55IGFzeW1tZXRyaWMgY2lwaGVycyAtICB3ZSB3b3VsZCBu ZWVkIHRvIGJ1aWx0IHRoZSBlbnRpcmUgTVBJCj4+IGluZnJhc3RydWN0dXJlIGluIHRvIHRoZW0u Cj4+IAo+PiBBIGJldHRlciBhbmQgc2ltcGxlciBzb2x1dGlvbiBpcyBqdXN0IHRvIHNwaW4gcnNh X3BhZCBvdXQgaW50byBpdHMgb3duCj4+IFBLQ1MjMSB2MS41IG1vZHVsZS4KPj4gCj4+IFNpZ25l ZC1vZmYtYnk6IERhbmllbCBBeHRlbnMgPGRqYUBheHRlbnMubmV0Pgo+PiBTaWduZWQtb2ZmLWJ5 OiBTdWRoYWthciBLdXBwdXNhbXkgPHN1ZGhha2FyQGxpbnV4LmlibS5jb20+Cj4+IC0tLQo+PiAg Z3J1Yi1jb3JlL01ha2VmaWxlLmNvcmUuZGVmIHwgIDggKysrKysKPj4gIGdydWItY29yZS9jb21t YW5kcy9wZ3AuYyAgICB8IDI4ICsrLS0tLS0tLS0tLS0tLS0tLQo+PiAgZ3J1Yi1jb3JlL2xpYi9w a2NzMV92MTUuYyAgIHwgNTkgCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPj4gIGluY2x1ZGUvZ3J1Yi9wa2NzMV92MTUuaCAgICB8IDI3ICsrKysrKysrKysrKysrKysr Cj4+ICA0IGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQo+ PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdydWItY29yZS9saWIvcGtjczFfdjE1LmMKPj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2dydWIvcGtjczFfdjE1LmgKPj4gCj4+IGRpZmYgLS1naXQg YS9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYgYi9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5k ZWYKPj4gaW5kZXggZjcwZTAyZTY5Li42MGRiMmFkYzUgMTAwNjQ0Cj4+IC0tLSBhL2dydWItY29y ZS9NYWtlZmlsZS5jb3JlLmRlZgo+PiArKysgYi9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYK Pj4gQEAgLTI1NDAsNiArMjU0MCwxNCBAQCBtb2R1bGUgPSB7Cj4+ICAgIGNwcGZsYWdzID0gJyQo Q1BQRkxBR1NfR0NSWSknOwo+PiAgfTsKPj4gCj4+ICttb2R1bGUgPSB7Cj4+ICsgIG5hbWUgPSBw a2NzMV92MTU7Cj4+ICsgIGNvbW1vbiA9IGxpYi9wa2NzMV92MTUuYzsKPj4gKwo+PiArICBjZmxh Z3MgPSAnJChDRkxBR1NfR0NSWSkgLVduby1yZWR1bmRhbnQtZGVjbHMgLVduby1zaWduLWNvbXBh cmUnOwo+PiArICBjcHBmbGFncyA9ICckKENQUEZMQUdTX0dDUlkpJzsKPj4gK307Cj4+ICsKPj4g IG1vZHVsZSA9IHsKPj4gICAgbmFtZSA9IGFsbF92aWRlbzsKPj4gICAgY29tbW9uID0gbGliL2Zh a2VfbW9kdWxlLmM7Cj4+IGRpZmYgLS1naXQgYS9ncnViLWNvcmUvY29tbWFuZHMvcGdwLmMgYi9n cnViLWNvcmUvY29tbWFuZHMvcGdwLmMKPj4gaW5kZXggYzY3NjZmMDQ0Li5iMDg0ZGM5YTIgMTAw NjQ0Cj4+IC0tLSBhL2dydWItY29yZS9jb21tYW5kcy9wZ3AuYwo+PiArKysgYi9ncnViLWNvcmUv Y29tbWFuZHMvcGdwLmMKPj4gQEAgLTI0LDYgKzI0LDcgQEAKPj4gICNpbmNsdWRlIDxncnViL2Zp bGUuaD4KPj4gICNpbmNsdWRlIDxncnViL2NvbW1hbmQuaD4KPj4gICNpbmNsdWRlIDxncnViL2Ny eXB0by5oPgo+PiArI2luY2x1ZGUgPGdydWIvcGtjczFfdjE1Lmg+Cj4+ICAjaW5jbHVkZSA8Z3J1 Yi9pMThuLmg+Cj4+ICAjaW5jbHVkZSA8Z3J1Yi9nY3J5cHQvZ2NyeXB0Lmg+Cj4+ICAjaW5jbHVk ZSA8Z3J1Yi9wdWJrZXkuaD4KPj4gQEAgLTQxMSwzMiArNDEyLDcgQEAgc3RhdGljIGludAo+PiAg cnNhX3BhZCAoZ2NyeV9tcGlfdCAqaG1waSwgZ3J1Yl91aW50OF90ICpodmFsLAo+PiAgCSBjb25z dCBnY3J5X21kX3NwZWNfdCAqaGFzaCwgc3RydWN0IGdydWJfcHVibGljX3N1YmtleSAqc2spCj4+ ICB7Cj4+IC0gIGdydWJfc2l6ZV90IHRsZW4sIGVtbGVuLCBmZmxlbjsKPj4gLSAgZ3J1Yl91aW50 OF90ICplbSwgKmVtcHRyOwo+PiAtICB1bnNpZ25lZCBuYml0cyA9IGdjcnlfbXBpX2dldF9uYml0 cyAoc2stPm1waXNbMF0pOwo+PiAtICBpbnQgcmV0Owo+PiAtICB0bGVuID0gaGFzaC0+bWRsZW4g KyBoYXNoLT5hc25sZW47Cj4+IC0gIGVtbGVuID0gKG5iaXRzICsgNykgLyA4Owo+PiAtICBpZiAo ZW1sZW4gPCB0bGVuICsgMTEpCj4+IC0gICAgcmV0dXJuIDE7Cj4+IC0KPj4gLSAgZW0gPSBncnVi X21hbGxvYyAoZW1sZW4pOwo+PiAtICBpZiAoIWVtKQo+PiAtICAgIHJldHVybiAxOwo+PiAtCj4+ IC0gIGVtWzBdID0gMHgwMDsKPj4gLSAgZW1bMV0gPSAweDAxOwo+PiAtICBmZmxlbiA9IGVtbGVu IC0gdGxlbiAtIDM7Cj4+IC0gIGZvciAoZW1wdHIgPSBlbSArIDI7IGVtcHRyIDwgZW0gKyAyICsg ZmZsZW47IGVtcHRyKyspCj4+IC0gICAgKmVtcHRyID0gMHhmZjsKPj4gLSAgKmVtcHRyKysgPSAw eDAwOwo+PiAtICBncnViX21lbWNweSAoZW1wdHIsIGhhc2gtPmFzbm9pZCwgaGFzaC0+YXNubGVu KTsKPj4gLSAgZW1wdHIgKz0gaGFzaC0+YXNubGVuOwo+PiAtICBncnViX21lbWNweSAoZW1wdHIs IGh2YWwsIGhhc2gtPm1kbGVuKTsKPj4gLQo+PiAtICByZXQgPSBnY3J5X21waV9zY2FuIChobXBp LCBHQ1JZTVBJX0ZNVF9VU0csIGVtLCBlbWxlbiwgMCk7Cj4+IC0gIGdydWJfZnJlZSAoZW0pOwo+ PiAtICByZXR1cm4gcmV0Owo+PiArICByZXR1cm4gZ3J1Yl9jcnlwdG9fcnNhX3BhZChobXBpLCBo dmFsLCBoYXNoLCBzay0+bXBpc1swXSk7Cj4+ICB9Cj4+IAo+PiAgc3RydWN0IGdydWJfcHVia2V5 X2NvbnRleHQKPj4gZGlmZiAtLWdpdCBhL2dydWItY29yZS9saWIvcGtjczFfdjE1LmMgYi9ncnVi LWNvcmUvbGliL3BrY3MxX3YxNS5jCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAw MDAwMDAwMC4uZGJhY2Q1NjNkCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZ3J1Yi1jb3JlL2xp Yi9wa2NzMV92MTUuYwo+PiBAQCAtMCwwICsxLDU5IEBACj4+ICsvKgo+PiArICogIEdSVUIgIC0t ICBHUmFuZCBVbmlmaWVkIEJvb3Rsb2FkZXIKPj4gKyAqICBDb3B5cmlnaHQgKEMpIDIwMTMgIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgo+PiArICoKPj4gKyAqICBHUlVCIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPj4gKyAqICBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCAKPj4gYnkKPj4gKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgo+PiArICogIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4+ICsgKgo+PiArICogIEdSVUIgaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPj4gKyAqICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+PiArICogIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPj4gKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ PiArICoKPj4gKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+PiArICogIGFsb25nIHdpdGggR1JVQi4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KPj4gKyAqLwo+PiArCj4+ICsjaW5j bHVkZSA8Z3J1Yi9kbC5oPgo+PiArI2luY2x1ZGUgPGdydWIvZ2NyeXB0L2djcnlwdC5oPgo+PiAr Cj4+ICtHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7Cj4+ICsKPj4gKy8qCj4+ICsgKiBHaXZl biBhIGhhc2ggdmFsdWUgJ2h2YWwnLCBvZiBoYXNoIHNwZWNpZmljYXRpb24gJ2hhc2gnLCBwZXJm b3JtCj4+ICsgKiB0aGUgRU1TQS1QS0NTMS12MV81IHBhZGRpbmcgc3VpdGFibGUgZm9yIGEga2V5 IHdpdGggbW9kdWx1cyAnbW9kJwo+PiArICogKHNlZSBSRkMgODAxNyBzIDkuMikgYW5kIHBsYWNl IHRoZSByZXN1bHQgaW4gJ2htcGknLgo+PiArICovCj4+ICtnY3J5X2Vycl9jb2RlX3QKPj4gK2dy dWJfY3J5cHRvX3JzYV9wYWQgKGdjcnlfbXBpX3QgKiBobXBpLCBncnViX3VpbnQ4X3QgKiBodmFs LAo+PiArCQkgICAgIGNvbnN0IGdjcnlfbWRfc3BlY190ICogaGFzaCwgZ2NyeV9tcGlfdCBtb2Qp Cj4+ICt7Cj4+ICsgIGdydWJfc2l6ZV90IHRsZW4sIGVtbGVuLCBmZmxlbjsKPj4gKyAgZ3J1Yl91 aW50OF90ICplbSwgKmVtcHRyOwo+PiArICB1bnNpZ25lZCBuYml0cyA9IGdjcnlfbXBpX2dldF9u Yml0cyAobW9kKTsKPj4gKyAgaW50IHJldDsKPj4gKyAgdGxlbiA9IGhhc2gtPm1kbGVuICsgaGFz aC0+YXNubGVuOwo+PiArICBlbWxlbiA9IChuYml0cyArIDcpIC8gODsKPj4gKyAgaWYgKGVtbGVu IDwgdGxlbiArIDExKQo+PiArICAgIHJldHVybiBHUEdfRVJSX1RPT19TSE9SVDsKPj4gKwo+PiAr ICBlbSA9IGdydWJfbWFsbG9jIChlbWxlbik7Cj4+ICsgIGlmICghZW0pCj4+ICsgICAgcmV0dXJu IDE7Cj4+ICsKPj4gKyAgZW1bMF0gPSAweDAwOwo+PiArICBlbVsxXSA9IDB4MDE7Cj4+ICsgIGZm bGVuID0gZW1sZW4gLSB0bGVuIC0gMzsKPj4gKyAgZm9yIChlbXB0ciA9IGVtICsgMjsgZW1wdHIg PCBlbSArIDIgKyBmZmxlbjsgZW1wdHIrKykKPj4gKyAgICAqZW1wdHIgPSAweGZmOwo+PiArICAq ZW1wdHIrKyA9IDB4MDA7Cj4+ICsgIGdydWJfbWVtY3B5IChlbXB0ciwgaGFzaC0+YXNub2lkLCBo YXNoLT5hc25sZW4pOwo+PiArICBlbXB0ciArPSBoYXNoLT5hc25sZW47Cj4+ICsgIGdydWJfbWVt Y3B5IChlbXB0ciwgaHZhbCwgaGFzaC0+bWRsZW4pOwo+PiArCj4+ICsgIHJldCA9IGdjcnlfbXBp X3NjYW4gKGhtcGksIEdDUllNUElfRk1UX1VTRywgZW0sIGVtbGVuLCAwKTsKPj4gKyAgZ3J1Yl9m cmVlIChlbSk7Cj4+ICsgIHJldHVybiByZXQ7Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2dydWIvcGtjczFfdjE1LmggYi9pbmNsdWRlL2dydWIvcGtjczFfdjE1LmgKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwLi41YzMzOGM4NGEKPj4gLS0tIC9kZXYvbnVs bAo+PiArKysgYi9pbmNsdWRlL2dydWIvcGtjczFfdjE1LmgKPj4gQEAgLTAsMCArMSwyNyBAQAo+ PiArLyoKPj4gKyAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmllZCBCb290bG9hZGVyCj4+ICsgKiAg Q29weXJpZ2h0IChDKSAyMDEzICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KPj4gKyAq Cj4+ICsgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Cj4+ICsgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgCj4+IGJ5Cj4+ICsgKiAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKPj4g KyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+PiArICoKPj4gKyAqICBH UlVCIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4+ ICsgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPj4gKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4+ICsgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPj4gKyAqCj4+ICsgKiAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPj4gKyAqICBhbG9u ZyB3aXRoIEdSVUIuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u Cj4+ICsgKi8KPj4gKwo+PiArLyoKPj4gKyAqIEdpdmVuIGEgaGFzaCB2YWx1ZSAnaHZhbCcsIG9m IGhhc2ggc3BlY2lmaWNhdGlvbiAnaGFzaCcsIHBlcmZvcm0KPj4gKyAqIHRoZSBFTVNBLVBLQ1Mx LXYxXzUgcGFkZGluZyBzdWl0YWJsZSBmb3IgYSBrZXkgd2l0aCBtb2R1bHVzICdtb2QnCj4+ICsg KiAoU2VlIFJGQyA4MDE3IHMgOS4yKQo+PiArICovCj4+ICtnY3J5X2Vycl9jb2RlX3QKPj4gK2dy dWJfY3J5cHRvX3JzYV9wYWQgKGdjcnlfbXBpX3QgKiBobXBpLCBncnViX3VpbnQ4X3QgKiBodmFs LAo+PiArCQkgICAgIGNvbnN0IGdjcnlfbWRfc3BlY190ICogaGFzaCwgZ2NyeV9tcGlfdCBtb2Qp Owo+PiArCgoKQWRkcmVzc2VkIHRoZSBhYm92ZSBjb21tZW50cy4gdGhhbmsgeW91IEF2bmlzaCBD aG91aGFuCgpUaGFua3MsClN1ZGhha2FyIEt1cHB1c2FteQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1k ZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWIt ZGV2ZWwK