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 11F38CCA470 for ; Tue, 7 Oct 2025 13:27:14 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v67ha-0000H2-5r; Tue, 07 Oct 2025 09:26:02 -0400 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 1v67hW-0000Gh-Gk for grub-devel@gnu.org; Tue, 07 Oct 2025 09:25:58 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v67hO-0004jh-Ry for grub-devel@gnu.org; Tue, 07 Oct 2025 09:25:58 -0400 Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59775q1g007914; Tue, 7 Oct 2025 13:25:44 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=dB5tUI V/nHbSdjAv9loexQut81BQV556hnunnDOzMdE=; b=DRhlN8VqpeYlAxV/3ApQs8 m8QUsBpsot6S1PdR7so6XaXYU7u/D6IpStoWnrl3UC6PKzYA1e0BQ8yqbu3R7rkt rICoEqG5G701dH9G+5v6amOjrXazGdnc23S+68ghIZ6RBCmv4zMc+pDtyM9r61yI jvk/XKHXf45JkTCXvKYl1RkPJq9hQnrnZ7Fu/A+qdflJzCZvCz6g4hxOGSQjKg95 EYgYI9Da4F5La1uqzgYI4wJnNQFMkLnUPZjQ96qso+ikznHRWbEc/35zOY2ku/B4 G6N3Bg5xMlOid+hKeKeqt7MLtwRFVn1GJ/cTWMP9pF65aWQAO3nAfxxucB62PYTw == Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 49jt0pewbq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Oct 2025 13:25:43 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 597Ao7dj013317; Tue, 7 Oct 2025 13:25:42 GMT Received: from smtprelay03.wdc07v.mail.ibm.com ([172.16.1.70]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 49kg4jk887-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Oct 2025 13:25:42 +0000 Received: from smtpav02.dal12v.mail.ibm.com (smtpav02.dal12v.mail.ibm.com [10.241.53.101]) by smtprelay03.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 597DPUYB12059274 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 7 Oct 2025 13:25:30 GMT Received: from smtpav02.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D219F58060; Tue, 7 Oct 2025 13:25:41 +0000 (GMT) Received: from smtpav02.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 926D85805A; Tue, 7 Oct 2025 13:25:41 +0000 (GMT) Received: from ltc.linux.ibm.com (unknown [9.5.196.140]) by smtpav02.dal12v.mail.ibm.com (Postfix) with ESMTP; Tue, 7 Oct 2025 13:25:41 +0000 (GMT) MIME-Version: 1.0 Date: Tue, 07 Oct 2025 18:55:41 +0530 From: Avnish Chouhan To: Leo Sandoval Cc: grub-devel@gnu.org, Daniel Kiper Subject: Re: [PATCH] memtools: add lsmemregions command In-Reply-To: References: Message-ID: X-Sender: avnish@linux.ibm.com X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=XvT3+FF9 c=1 sm=1 tr=0 ts=68e514d7 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=RpNjiQI2AAAA:8 a=VnNF1IyMAAAA:8 a=mDV3o1hIAAAA:8 a=20KFwNOVAAAA:8 a=svpvSEtA8Q9Yc5SlBW4A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-ORIG-GUID: ki8e7diPztupT7LjU3KKCxDcLseOSc-Y X-Proofpoint-GUID: ki8e7diPztupT7LjU3KKCxDcLseOSc-Y X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDA0MDAwOSBTYWx0ZWRfXydx99XClnD+1 godHmF0gz/wJxwLTnkK96MYrhWybMi31cfngFZvX+PiqghIH3tWSAa455UtC2HDyOx0qa/oQ5gk x4xDDnMRzznPs6xcZNU/WnS1U6fmhl/+5xsWRGYNkQ6apJUkVL4LVtvThEYREGPLycX587dfHpj bcth4vIaXVl49bLKW3xVMoTreKXJm9VsL0VrFpCPdrCqySZVV+ls8slaWV2SnoOz6IoCy2azbYN ENEu6SW0El9cM1VO9L6Qq3bMWoSyvBi9Ul8sRSpEyJe2hy9hT3ct2wBN9M3S0a9ZLItPfErG99B vievx5QwbA5Fyn1iVZIEF1/u2DBSUt+l9khxfB/RHukh7fSeamMkOaAhHK1hk0u19oLAfY7dACR Ci0LP56KhNdKBs99SsVOoqfmg17zwQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-07_01,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2510040009 Received-SPF: pass client-ip=148.163.158.5; envelope-from=avnish@linux.ibm.com; helo=mx0b-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_H4=0.001, RCVD_IN_MSPIKE_WL=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 T24gMjAyNS0xMC0wMyAyMjo0NCwgTGVvIFNhbmRvdmFsIHdyb3RlOgo+IFRoYW5rcyBBdm5pc2gs IEkgd2lsbCByZXNlbmQgdGhlIHBhdGNoIGJhc2VkIG9uIHlvdXIgY2hhbmdlcyBhbmQgc29tZQo+ IG1vcmUuCgpXZWxjb21lISBZb3UgY2FuIGFkZCBteSAiUmV2aWV3ZWQtYnkiIGFmdGVyIHRoZSBj aGFuZ2VzLgpUaGFuayB5b3UhCgpSZXZpZXdlZC1ieTrCoEF2bmlzaMKgQ2hvdWhhbsKgPGF2bmlz aEBsaW51eC5pYm0uY29tPgoKPiBPbiBUdWUsIFNlcCAzMCwgMjAyNSBhdCAzOuKAijAyIEFNIEF2 bmlzaCBDaG91aGFuCj4gPGF2bmlzaEDigIpsaW51eC7igIppYm0u4oCKY29tPiB3cm90ZTogT24g MjAyNS0wOS0yNyAyMTrigIozMCwKPiBncnViLWRldmVsLXJlcXVlc3RA4oCKZ251LuKAim9yZyB3 cm90ZTogPiBNZXNzYWdlOiAxID4gRGF0ZTrigIoKPiAKPiBUaGFua3MgQXZuaXNoLCBJIHdpbGwg cmVzZW5kIHRoZSBwYXRjaCBiYXNlZCBvbiB5b3VyIGNoYW5nZXMgYW5kIHNvbWUKPiBtb3JlLgo+ IAo+IE9uIFR1ZSwgU2VwIDMwLCAyMDI1IGF0IDM6MDLigK9BTSBBdm5pc2ggQ2hvdWhhbgo+IDxh dm5pc2hAbGludXguaWJtLmNvbT4gd3JvdGU6Cj4gCj4+IE9uIDIwMjUtMDktMjcgMjE6MzAsIGdy dWItZGV2ZWwtcmVxdWVzdEBnbnUub3JnIHdyb3RlOgo+Pj4gTWVzc2FnZTogMQo+Pj4gRGF0ZTog RnJpLCAyNiBTZXAgMjAyNSAxNzowNDo0OCAtMDYwMAo+Pj4gRnJvbTogTGVvIFNhbmRvdmFsIDxs c2FuZG92YUByZWRoYXQuY29tPgo+Pj4gVG86IGdydWItZGV2ZWxAZ251Lm9yZwo+Pj4gU3ViamVj dDogW1BBVENIXSBtZW10b29sczogYWRkIGxzbWVtcmVnaW9ucyBjb21tYW5kCj4+PiBNZXNzYWdl LUlEOiA8MjAyNTA5MjYyMzA0NDguNTcyNjI5LTEtbHNhbmRvdmFAcmVkaGF0LmNvbT4KPj4+IENv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVMtQVNDSUkiOyB4LWRlZmF1bHQ9dHJ1 ZQo+Pj4gCj4+PiBQcmludHMgbWVtb3J5IHJlZ2lvbnMgZ2VuZXJhbCBpbmZvcm1hdGlvbiBpbmNs dWRpbmcgc2l6ZSwgbnVtYmVyCj4+IG9mCj4+PiBibG9ja3MsIHRvdGFsIGZyZWUgYW5kIHRvdGFs IGFsbG9jYXRlZCBtZW1vcnkgcGVyIHJlZ2lvbi4gVGhlCj4+IHJlYXNvbgo+Pj4gYmVoaW5kIGlz IHRvIGhhdmUgYSB0b29sIHRoYXQgc2hvd3MgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dAo+PiBy ZWdpb25zCj4+PiBhbmQgaG93IGZyYWdtZW50ZWQgdGhlIG1lbW9yeSBpcyBhdCBzb21lIHBhcnRp Y3VsYXIgdGltZS4KPj4+IAo+Pj4gQmVsb3cgaXMgYW4gZXhhbXBsZSBzaG93aW5nIGhvdyB0aGlz IHRvb2wgYmVmb3JlIGFuZCBhZnRlciBtZW1vcnkKPj4+IHN0cmVzcy4KPj4+IAo+Pj4gZ3J1Yj4g bHNtZW1yZWdpb25zCj4+PiAKPj4+IFJlZ2lvbiAweDc4ZjZlMDAwIChzaXplIDMzNTU0MzY4IGJs b2NrcyAxMDQ4NTc0IGZyZWUgMjczMjU0NzIKPj4gYWxsb2MKPj4+IDYyMzI3NjgpCj4+PiAKPj4+ PiBzdHJlc3NfYmlnX2FsbG9jYXRpb25zCj4+PiAuLi4KPj4+IAo+Pj4gZ3J1Yj4gbHNtZW1yZWdp b25zCj4+PiAKPj4+IFJlZ2lvbiAweDdhZjhlMDAwIChzaXplIDQwMzIgYmxvY2tzIDEyNiBmcmVl IDI3MjAgYWxsb2MgMTMxMikKPj4+IFJlZ2lvbiAweDgwYzAwMCAoc2l6ZSA4MTg1NiBibG9ja3Mg MjU1OCBmcmVlIDgxODU2IGFsbG9jIDApCj4+PiBSZWdpb24gMHg3ZDE2NTAwMCAoc2l6ZSAxNjc4 NzIgYmxvY2tzIDUyNDYgZnJlZSAxNjc4NzIgYWxsb2MKPj4gMCkKPj4+IFJlZ2lvbiAweDdkMGJm MDAwIChzaXplIDY1NTI5NiBibG9ja3MgMjA0NzggZnJlZSA2NTUyOTYgYWxsb2MKPj4gMCkKPj4+ IFJlZ2lvbiAweDdlZTAwMDAwIChzaXplIDEzMzExMzYgYmxvY2tzIDQxNTk4IGZyZWUgMTMzMTEz Ngo+PiBhbGxvYyAwKQo+Pj4gUmVnaW9uIDB4MTAwMDAwIChzaXplIDczODUwMjQgYmxvY2tzIDIz MDc4MiBmcmVlIDczODUwMjQgYWxsb2MKPj4gMCkKPj4+IFJlZ2lvbiAweDdhZjk1MDAwIChzaXpl IDI1MzgyODQ4IGJsb2NrcyA3OTMyMTQgZnJlZSAyNTM4Mjg0OAo+PiBhbGxvYwo+Pj4gMCkKPj4+ IFJlZ2lvbiAweDE3ODAwMDAgKHNpemUgMjAzODM1Nzk1MiBibG9ja3MgNjM2OTg2ODYgZnJlZQo+ PiAyMDc3NTE3NTM2Cj4+PiBhbGxvYyA1NDQ1NTY4KQo+Pj4gCj4+PiBTaWduZWQtb2ZmLWJ5OiBM ZW8gU2FuZG92YWwgPGxzYW5kb3ZhQHJlZGhhdC5jb20+Cj4+PiAtLS0KPj4+IGdydWItY29yZS9j b21tYW5kcy9tZW10b29scy5jIHwgMTcgKysrKysrKysrKysrKysrLQo+Pj4gZ3J1Yi1jb3JlL2tl cm4vbW0uYyAgICAgICAgICAgfCAzNwo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+Pj4gaW5jbHVkZS9ncnViL21tLmggICAgICAgICAgICAgfCAgMSArCj4+PiAzIGZpbGVz IGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4+IAo+Pj4gZGlmZiAt LWdpdCBhL2dydWItY29yZS9jb21tYW5kcy9tZW10b29scy5jCj4+PiBiL2dydWItY29yZS9jb21t YW5kcy9tZW10b29scy5jCj4+PiBpbmRleCBhZTBhOWJlYzM1Li4wODI5OTQ5ZGJjIDEwMDY0NAo+ Pj4gLS0tIGEvZ3J1Yi1jb3JlL2NvbW1hbmRzL21lbXRvb2xzLmMKPj4+ICsrKyBiL2dydWItY29y ZS9jb21tYW5kcy9tZW10b29scy5jCj4+PiBAQCAtNTMsNiArNTMsMTggQEAgZ3J1Yl9jbWRfbHNm cmVlbWVtIChncnViX2NvbW1hbmRfdCBjbWQKPj4+IF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwK Pj4+IHJldHVybiAwOwo+Pj4gfQo+Pj4gCj4+PiArc3RhdGljIGdydWJfZXJyX3QKPj4+ICtncnVi X2NtZF9sc21lbXJlZ2lvbnMgKGdydWJfY29tbWFuZF90IGNtZCBfX2F0dHJpYnV0ZV9fCj4+ICgo dW51c2VkKSksCj4+PiArICAgICAgICAgICAgICBpbnQgYXJnYyBfX2F0dHJpYnV0ZV9fICgodW51 c2VkKSksCj4+PiArICAgICAgICAgICAgICBjaGFyICoqYXJncyBfX2F0dHJpYnV0ZV9fICgodW51 c2VkKSkpCj4+PiArCj4+IAo+PiBIaSBMZW8sCj4+IAo+PiBJbmRlbnRhdGlvbiBzZWVtcyBsaXR0 bGUgb2ZmIGluIGFib3ZlIHR3byBsaW5lcy4gQ291bGQgeW91IHBsZWFzZQo+PiByZWNoZWNrIQo+ PiAKPj4+ICt7Cj4+PiArI2lmbmRlZiBHUlVCX01BQ0hJTkVfRU1VCj4+PiArICBncnViX21tX2R1 bXBfcmVnaW9ucyAoKTsKPj4+ICsjZW5kaWYKPj4+ICsKPj4+ICsgIHJldHVybiAwOwo+Pj4gK30K Pj4+IAo+Pj4gc3RhdGljIGdydWJfZXJyX3QKPj4+IGdydWJfY21kX3N0cmVzc19iaWdfYWxsb2Nz IChncnViX2NvbW1hbmRfdCBjbWQgX19hdHRyaWJ1dGVfXwo+Pj4gKCh1bnVzZWQpKSwKPj4+IEBA IC0xMzIsNyArMTQ0LDcgQEAgZ3J1Yl9jbWRfc3RyZXNzX2JpZ19hbGxvY3MgKGdydWJfY29tbWFu ZF90IGNtZAo+Pj4gX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAo+Pj4gcmV0dXJuIEdSVUJfRVJS X05PTkU7Cj4+PiB9Cj4+PiAKPj4+IC1zdGF0aWMgZ3J1Yl9jb21tYW5kX3QgY21kX2xzbWVtLCBj bWRfbHNmcmVlbWVtLCBjbWRfc2JhOwo+Pj4gK3N0YXRpYyBncnViX2NvbW1hbmRfdCBjbWRfbHNt ZW0sIGNtZF9sc2ZyZWVtZW0sIGNtZF9sc21lbXJlZ2lvbnMsCj4+IAo+Pj4gY21kX3NiYTsKPj4+ IAo+Pj4gR1JVQl9NT0RfSU5JVCAobWVtdG9vbHMpCj4+PiB7Cj4+PiBAQCAtMTQwLDYgKzE1Miw4 IEBAIEdSVUJfTU9EX0lOSVQgKG1lbXRvb2xzKQo+Pj4gMCwgTl8oIkxpc3QgZnJlZSBhbmQgYWxs b2NhdGVkCj4+IG1lbW9yeSBibG9ja3MuIikpOwo+Pj4gY21kX2xzZnJlZW1lbSA9IGdydWJfcmVn aXN0ZXJfY29tbWFuZCAoImxzZnJlZW1lbSIsCj4+PiBncnViX2NtZF9sc2ZyZWVtZW0sCj4+PiAw LCBOXygiTGlzdCBmcmVlIG1lbW9yeQo+PiBibG9ja3MuIikpOwo+Pj4gKyAgY21kX2xzbWVtcmVn aW9ucyA9IGdydWJfcmVnaXN0ZXJfY29tbWFuZCAoImxzbWVtcmVnaW9ucyIsCj4+PiBncnViX2Nt ZF9sc21lbXJlZ2lvbnMsCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwLCBOXygiTGlzdCBtZW1vcnkKPj4gcmVnaW9ucy4iKSk7Cj4+IAo+PiBDb3VsZCB5b3UgcGxl YXNlIHJlY2hlY2sgdGhlIGluZGVudGF0aW9uIGhlcmUhCj4+IAo+Pj4gY21kX3NiYSA9IGdydWJf cmVnaXN0ZXJfY29tbWFuZCAoInN0cmVzc19iaWdfYWxsb2NzIiwKPj4+IGdydWJfY21kX3N0cmVz c19iaWdfYWxsb2NzLAo+Pj4gMCwgTl8oIlN0cmVzcyB0ZXN0IGxhcmdlCj4+IGFsbG9jYXRpb25z LiIpKTsKPj4+IH0KPj4+IEBAIC0xNDgsNSArMTYyLDYgQEAgR1JVQl9NT0RfRklOSSAobWVtdG9v bHMpCj4+PiB7Cj4+PiBncnViX3VucmVnaXN0ZXJfY29tbWFuZCAoY21kX2xzbWVtKTsKPj4+IGdy dWJfdW5yZWdpc3Rlcl9jb21tYW5kIChjbWRfbHNmcmVlbWVtKTsKPj4+ICsgIGdydWJfdW5yZWdp c3Rlcl9jb21tYW5kIChjbWRfbHNtZW1yZWdpb25zKTsKPj4+IGdydWJfdW5yZWdpc3Rlcl9jb21t YW5kIChjbWRfc2JhKTsKPj4+IH0KPj4+IGRpZmYgLS1naXQgYS9ncnViLWNvcmUva2Vybi9tbS5j IGIvZ3J1Yi1jb3JlL2tlcm4vbW0uYwo+Pj4gaW5kZXggMDI3YTI1Y2QxZi4uODExMmFmNWE2OSAx MDA2NDQKPj4+IC0tLSBhL2dydWItY29yZS9rZXJuL21tLmMKPj4+ICsrKyBiL2dydWItY29yZS9r ZXJuL21tLmMKPj4+IEBAIC03ODYsNiArNzg2LDQzIEBAIGdydWJfbW1fZHVtcCAodW5zaWduZWQg bGluZW5vKQo+Pj4gZ3J1Yl9wcmludGYgKCJcbiIpOwo+Pj4gfQo+Pj4gCj4+PiArdm9pZAo+Pj4g K2dydWJfbW1fZHVtcF9yZWdpb25zICh2b2lkKQo+Pj4gK3sKPj4+ICsgIGdydWJfbW1fcmVnaW9u X3QgcjsKPj4+ICsgIGdydWJfbW1faGVhZGVyX3QgcDsKPj4+ICsgIGdydWJfc2l6ZV90IG51bV9i bG9ja3MsIHN1bV9mcmVlLCBzdW1fYWxsb2M7Cj4+PiArCj4+PiArICBmb3IgKHIgPSBncnViX21t X2Jhc2U7IHI7IHIgPSByLT5uZXh0KQo+Pj4gKyAgICB7Cj4+PiArICAgICAgbnVtX2Jsb2NrcyA9 IDA7Cj4+PiArICAgICAgc3VtX2ZyZWUgPSAwOwo+Pj4gKyAgICAgIHN1bV9hbGxvYyA9IDA7Cj4+ PiArCj4+PiArICAgICAgZm9yIChwID0gKGdydWJfbW1faGVhZGVyX3QpIEFMSUdOX1VQICgoZ3J1 Yl9hZGRyX3QpIChyICsKPj4gMSksCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHUlVCX01NX0FMSUdOKTsKPj4+ICsgICAgICAgIChncnViX2FkZHJfdCkgcCA8 IChncnViX2FkZHJfdCkgKHIrMSkgKyByLT5zaXplOwo+Pj4gKyAgICAgICAgcCsrLCBudW1fYmxv Y2tzKyspCj4+IAo+PiBUaGlzICJmb3IiIGxvb2tzIGEgbGl0dGxlIG1lc3N5LCBpZiB3ZSBjYW4g bWFkZSBpdCBhIGxpdHRsZSBiZXR0ZXIKPj4gdmlzdWFsbHkgd291bGQgYmUgZ3JlYXQgZm9yIGNv ZGUgdW5kZXJzdGFuZGluZy4gU29tZXRoaW5nIGxpa2UgdGhpcwo+PiBiZWxvdyBvciBhbnkgb3Ro ZXIgd2F5IHRvbyB3b3VsZCBiZSBncmVhdC4KPj4gCj4+IGluaXRfcCA9IChncnViX21tX2hlYWRl cl90KSBBTElHTl9VUCAoKGdydWJfYWRkcl90KSAociArCj4+IDEpLEdSVUJfTU1fQUxJR04pOwo+ PiAKPj4gZm9yIChwID0gaW5pdF9wIDsgKGdydWJfYWRkcl90KSBwIDwgKGdydWJfYWRkcl90KSAo cisxKSArIHItPnNpemU7Cj4+IHArKywKPj4gbnVtX2Jsb2NrcysrKQo+PiAKPj4+ICsgICAgIHsK Pj4+ICsgICAgICAgc3dpdGNoIChwLT5tYWdpYykKPj4+ICsgICAgICAgICB7Cj4+PiArICAgICAg ICAgY2FzZSBHUlVCX01NX0ZSRUVfTUFHSUM6Cj4+PiArICAgICAgICAgICBzdW1fZnJlZSArPSBw LT5zaXplOwo+Pj4gKyAgICAgICAgICAgYnJlYWs7Cj4+PiArICAgICAgICAgY2FzZSBHUlVCX01N X0FMTE9DX01BR0lDOgo+Pj4gKyAgICAgICAgICAgc3VtX2FsbG9jICs9IHAtPnNpemU7Cj4+PiAr ICAgICAgICAgICBicmVhazsKPj4+ICsgICAgICAgICB9Cj4+PiArICAgICB9Cj4+PiArCj4+PiAr ICAgICAgZ3J1Yl9wcmludGYgKCJSZWdpb24gJXAgKHNpemUgJSIgUFJJdUdSVUJfU0laRSAiIGJs b2NrcyAlIgo+Pj4gUFJJdUdSVUJfU0laRSAiIGZyZWUgJSIgUFJJdUdSVUJfU0laRSAiIGFsbG9j ICUiIFBSSXVHUlVCX1NJWkUKPj4+ICIpXG5cbiIsCj4+PiArICAgICAgICAgICAgICAgIHIsIHIt PnNpemUsIG51bV9ibG9ja3MsIHN1bV9mcmVlIDw8Cj4+IEdSVUJfTU1fQUxJR05fTE9HMiwKPj4+ IHN1bV9hbGxvYyA8PCBHUlVCX01NX0FMSUdOX0xPRzIpOwo+PiAKPj4gUGxlYXNlIHJlY2hlY2sg dGhlIEluZGVudGF0aW9uIGhlcmUuCj4+IAo+PiBUaGFuayB5b3UhCj4+IAo+PiBSZWdhcmRzLAo+ PiBBdm5pc2ggQ2hvdWhhbgo+PiAKPj4+ICsKPj4+ICsgICAgfQo+Pj4gKwo+Pj4gKyAgZ3J1Yl9w cmludGYgKCJcbiIpOwo+Pj4gK30KPj4+ICsKPj4+IHZvaWQgKgo+Pj4gZ3J1Yl9kZWJ1Z19jYWxs b2MgKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBncnViX3NpemVfdCBubWVtYiwKPj4+IGdy dWJfc2l6ZV90IHNpemUpCj4+PiB7Cj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ncnViL21tLmgg Yi9pbmNsdWRlL2dydWIvbW0uaAo+Pj4gaW5kZXggNTFlYzBiOGY5Yi4uMDY5NTY0ODRjNiAxMDA2 NDQKPj4+IC0tLSBhL2luY2x1ZGUvZ3J1Yi9tbS5oCj4+PiArKysgYi9pbmNsdWRlL2dydWIvbW0u aAo+Pj4gQEAgLTEwMCw2ICsxMDAsNyBAQCBleHRlcm4gaW50IEVYUE9SVF9WQVIoZ3J1Yl9tbV9k ZWJ1Zyk7Cj4+PiAKPj4+IHZvaWQgRVhQT1JUX0ZVTkMoZ3J1Yl9tbV9kdW1wX2ZyZWUpICh2b2lk KTsKPj4+IHZvaWQgRVhQT1JUX0ZVTkMoZ3J1Yl9tbV9kdW1wKSAodW5zaWduZWQgbGluZW5vKTsK Pj4+ICt2b2lkIEVYUE9SVF9GVU5DKGdydWJfbW1fZHVtcF9yZWdpb25zKSAodm9pZCk7Cj4+PiAK Pj4+ICNkZWZpbmUgZ3J1Yl9jYWxsb2Mobm1lbWIsIHNpemUpICAgICBcCj4+PiBncnViX2RlYnVn X2NhbGxvYyAoR1JVQl9GSUxFLCBfX0xJTkVfXywgbm1lbWIsIHNpemUpCj4+PiAtLQo+Pj4gMi41 MC4xCj4gCj4gCj4gTGlua3M6Cj4gLS0tLS0tCj4gWzFdIAo+IGh0dHBzOi8vdXMtcGhpc2hhbGFy bS1ld3QucHJvb2Zwb2ludC5jb20vRVdUL3YxL0FkaFMxUmQtIS1YRlZISGhja3VDM2Z2aFd4UTRB bl8yYjNRejQwcUduVzBzMUNUYVJ0czdFRFJPU1liZUZhU19Eb1FNYTFHR3Q4MFVQNjlxdFdEeDRG aWxiaXQwWGlqRGpzWXhqNWxZMV9xZDdZVGtfTHlGeHBsYnFnSHprclJmcGdma2ckCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpHcnViLWRldmVsIG1haWxp bmcgbGlzdApHcnViLWRldmVsQGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4v bGlzdGluZm8vZ3J1Yi1kZXZlbAo=