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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 95975C77B6F for ; Wed, 12 Apr 2023 14:33:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TjJccjnWC8JLdLw4m5IUvZydmlE2qBrUnvXJdDZa1bQ=; b=O+72qHpxj0gtob do57fhfFBR5bJt6HhrC2JHgy7LOz/9rVfhns1XH1d8O8L6nON0Rhu/a/tkGAOghdB0AHUhsVOUK8H KbF2BZ68GHXEjOegxHjGIYOehOgzY7sVjtyWs6hDDPN0XNjh2EHGdEaAsyQ4GQpb3uke8t+xRxvUf 4jTTQBCJVjxXwBHOoQ0cqfChUHWrk5nN+gb4uCq1oS4nLUHOCeyKnMjp5yfljGbWAg34FP4Hv8Wnb xjr8OjdpvKxqrOX8JjivhokX/G6J9OidBNhqptMBK1ilSmPpP08HKJ4YqFH9feGukYMkB0lnQO5Lk 7LEMLcWdcFBNje2d31OA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pmbWN-003UeB-10; Wed, 12 Apr 2023 14:32:27 +0000 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pmbWJ-003Ubx-2L; Wed, 12 Apr 2023 14:32:26 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 90C1560010; Wed, 12 Apr 2023 14:32:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1681309938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uCd7H5EeqX9ceDa1o2Gu1VTH9DFW1VCWxDjFDqiS1qQ=; b=LKssq84Kl7yR39PBhA4l0CwJ9oc9/BCtrGaYHkESai2vuN384nsxSGkEHyADJqsH4TeLAx Sg01bTRmMbhiF0xOq3TF2CGT1fvDHT726d3d0nvJqLPHqgg6wrOxbMuE5Y7g1kC3ksnJ5d xU52cXuq5ryHiOxSMZ0QrXgrccjV05YlNsARc3+owYGJFDRQK3zBPIJEwR5AdbqaQU4UWu mJdI1mZKBCwRp9IT8jcTWdYfvvQJ7Onfil2a/Y1AXQ5mSmoAblFW5ewLra82q53mTzjlhI geYWaL+9GrYyRpl7hE7PbNLzfJf2JX/oXbR7xB2CqvHQhDUxH4KB1ywJQ0pihw== Date: Wed, 12 Apr 2023 16:32:14 +0200 From: Miquel Raynal To: Liang Yang Cc: Arseniy Krasnov , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jianxin Pan , Yixun Lan , oxffffaa@gmail.com, kernel@sberdevices.ru, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 4/5] mtd: rawnand: meson: clear OOB buffer before read Message-ID: <20230412163214.0c764bb3@xps-13> In-Reply-To: <7c996832-258f-001c-56bd-87bbdf23eeaa@amlogic.com> References: <20230412061700.1492474-1-AVKrasnov@sberdevices.ru> <20230412061700.1492474-5-AVKrasnov@sberdevices.ru> <20230412094400.3c82f631@xps-13> <20230412113654.183350d0@xps-13> <4eace0a0-f6af-7d99-a52f-7913a2139330@sberdevices.ru> <20230412141824.755b2bca@xps-13> <20230412145715.58c2be4a@xps-13> <7c996832-258f-001c-56bd-87bbdf23eeaa@amlogic.com> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230412_073224_207423_EFD35002 X-CRM114-Status: GOOD ( 37.25 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGVsbG8sCgpsaWFuZy55YW5nQGFtbG9naWMuY29tIHdyb3RlIG9uIFdlZCwgMTIgQXByIDIwMjMg MjI6MDQ6MjggKzA4MDA6Cgo+IEhpIE1pcXVlbCBhbmQgQXJzZW5peSwKPiAKPiBPbiAyMDIzLzQv MTIgMjA6NTcsIE1pcXVlbCBSYXluYWwgd3JvdGU6Cj4gPiBbIEVYVEVSTkFMIEVNQUlMIF0KPiA+ IAo+ID4gSGkgQXJzZW5peSwKPiA+IAo+ID4gYXZrcmFzbm92QHNiZXJkZXZpY2VzLnJ1IHdyb3Rl IG9uIFdlZCwgMTIgQXByIDIwMjMgMTU6MjI6MjYgKzAzMDA6Cj4gPiAgIAo+ID4+IE9uIDEyLjA0 LjIwMjMgMTU6MTgsIE1pcXVlbCBSYXluYWwgd3JvdGU6ICAKPiA+Pj4gSGkgQXJzZW5peSwKPiA+ Pj4KPiA+Pj4gYXZrcmFzbm92QHNiZXJkZXZpY2VzLnJ1IHdyb3RlIG9uIFdlZCwgMTIgQXByIDIw MjMgMTM6MTQ6NTIgKzAzMDA6ICAKPiA+Pj4gICAgPj4+PiBPbiAxMi4wNC4yMDIzIDEyOjM2LCBN aXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4+Pj4gSGkgQXJzZW5peSwKPiA+Pj4+Pgo+ID4+Pj4+ IGF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBXZWQsIDEyIEFwciAyMDIzIDEyOjIw OjU1ICswMzAwOiAgCj4gPj4+Pj4gICAgICA+Pj4+Pj4gT24gMTIuMDQuMjAyMyAxMDo0NCwgTWlx dWVsIFJheW5hbCB3cm90ZTogIAo+ID4+Pj4+Pj4gSGkgQXJzZW5peSwKPiA+Pj4+Pj4+Cj4gPj4+ Pj4+PiBBVktyYXNub3ZAc2JlcmRldmljZXMucnUgd3JvdGUgb24gV2VkLCAxMiBBcHIgMjAyMyAw OToxNjo1OCArMDMwMDogIAo+ID4+Pj4+Pj4gICAgICAgID4+Pj4+Pj4+IFRoaXMgTkFORCByZWFk cyBvbmx5IGZldyB1c2VyJ3MgYnl0ZXMgaW4gRUNDIG1vZGUgKG5vdCBmdWxsIE9PQiksIHNvICAK PiA+Pj4+Pj4+Cj4gPj4+Pj4+PiAiVGhpcyBOQU5EIHJlYWRzIiBkb2VzIG5vdCBsb29rIHJpZ2h0 LCBkbyB5b3UgbWVhbiAiU3VicGFnZSByZWFkcyBkbwo+ID4+Pj4+Pj4gbm90IHJldHJpZXZlIGFs bCB0aGUgT09CIGJ5dGVzLCI/ICAKPiA+Pj4+Pj4+ICAgICAgICA+Pj4+Pj4+PiBmaWxsIE9PQiBi dWZmZXIgd2l0aCB6ZXJvZXMgdG8gbm90IHJldHVybiBnYXJiYWdlIGZyb20gcHJldmlvdXMgcmVh ZHMgIAo+ID4+Pj4+Pj4+IHRvIHVzZXIuCj4gPj4+Pj4+Pj4gT3RoZXJ3aXNlICduYW5kZHVtcCcg dXRpbGl0eSBwcmludHMgc29tZXRoaW5nIGxpa2UgdGhpcyBmb3IganVzdCBlcmFzZWQKPiA+Pj4+ Pj4+PiBwYWdlOgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gLi4uCj4gPj4+Pj4+Pj4gMHgwMDAwMDdm MDogZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYKPiA+Pj4+ Pj4+PiAgICBPT0IgRGF0YTogZmYgZmYgZmYgZmYgMDAgMDAgZmYgZmYgODAgY2YgMjIgOTkgY2Ig YWQgZDMgYmUKPiA+Pj4+Pj4+PiAgICBPT0IgRGF0YTogNjMgMjcgYWUgMDYgMTYgMGEgMmYgZWIg YmIgZGQgNDYgNzQgNDEgOGUgODggNmUKPiA+Pj4+Pj4+PiAgICBPT0IgRGF0YTogMzggYTEgMmQg ZTYgNzcgZDQgMDUgMDYgZjIgYTUgN2UgMjUgZWIgMzQgN2MgZmYKPiA+Pj4+Pj4+PiAgICBPT0Ig RGF0YTogMzggZWEgZGUgMTQgMTAgZGUgOWIgNDAgMzMgMTYgNmEgY2MgOWQgYWEgMmYgNWUKPiA+ Pj4+Pj4+Pgo+ID4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFyc2VuaXkgS3Jhc25vdiA8QVZLcmFz bm92QHNiZXJkZXZpY2VzLnJ1Pgo+ID4+Pj4+Pj4+IC0tLQo+ID4+Pj4+Pj4+ICAgZHJpdmVycy9t dGQvbmFuZC9yYXcvbWVzb25fbmFuZC5jIHwgNSArKysrKwo+ID4+Pj4+Pj4+ICAgMSBmaWxlIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKQo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3 L21lc29uX25hbmQuYwo+ID4+Pj4+Pj4+IGluZGV4IGY4NGExMDIzOGU0ZC4uZjJmMjQ3MmNiNTEx IDEwMDY0NAo+ID4+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQu Ywo+ID4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L21lc29uX25hbmQuYwo+ID4+ Pj4+Pj4+IEBAIC04NTgsOSArODU4LDEyIEBAIHN0YXRpYyBpbnQgbWVzb25fbmZjX3JlYWRfcGFn ZV9zdWIoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwKPiA+Pj4+Pj4+PiAgIHN0YXRpYyBpbnQgbWVz b25fbmZjX3JlYWRfcGFnZV9yYXcoc3RydWN0IG5hbmRfY2hpcCAqbmFuZCwgdTggKmJ1ZiwKPiA+ Pj4+Pj4+PiAgIAkJCQkgICBpbnQgb29iX3JlcXVpcmVkLCBpbnQgcGFnZSkKPiA+Pj4+Pj4+PiAg IHsKPiA+Pj4+Pj4+PiArCXN0cnVjdCBtdGRfaW5mbyAqbXRkID0gbmFuZF90b19tdGQobmFuZCk7 Cj4gPj4+Pj4+Pj4gICAJdTggKm9vYl9idWYgPSBuYW5kLT5vb2JfcG9pOwo+ID4+Pj4+Pj4+ICAg CWludCByZXQ7ICAKPiA+Pj4+Pj4+PiAgID4+Pj4+Pj4+ICsJbWVtc2V0KG9vYl9idWYsIDAsIG10 ZC0+b29ic2l6ZSk7ICAKPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBJJ20gc3VycHJpc2VkIHJhdyByZWFk cyBkbyBub3QgcmVhZCB0aGUgZW50aXJlIE9PQj8gIAo+ID4+Pj4+Pgo+ID4+Pj4+PiBZZXMhIFNl ZW1zIGluIGNhc2Ugb2YgcmF3IGFjY2VzcyAod2hhdCBpIHNlZSBpbiB0aGlzIGRyaXZlcikgbnVt YmVyIG9mIE9PQiBieXRlcyByZWFkCj4gPj4+Pj4+IHN0aWxsIGRlcGVuZHMgb24gRUNDIHBhcmFt ZXRlcnM6IGZvciBlYWNoIHBvcnRpb24gb2YgZGF0YSBjb3ZlcmVkIHdpdGggRUNDIGNvZGUgd2Ug Y2FuCj4gPj4+Pj4+IHJlYWQgaXQncyBFQ0MgY29kZSBhbmQgInVzZXIgYnl0ZXMiIGZyb20gT09C IC0gaXQgaXMgd2hhdCBpIHNlZSBieSBkdW1waW5nIERNQSBidWZmZXIgYnkKPiA+Pj4+Pj4gcHJp bnRrKCkuIEZvciBleGFtcGxlIEknbSB3b3JraW5nIHdpdGggMksgTkFORCBwYWdlcywgZWFjaCBw YWdlIGhhcyAyIHggMUsgRUNDIGJsb2Nrcy4KPiA+Pj4+Pj4gRm9yIGVhY2ggRUNDIGJsb2NrIEkg aGF2ZSAxNiBPT0IgYnl0ZXMgd2hpY2ggSSBjYW4gYWNjZXNzIGJ5IHJlYWQvd3JpdGUuIEVhY2gg MTYgYnl0ZXMKPiA+Pj4+Pj4gY29udGFpbnMgMiBieXRlcyBvZiB1c2VyJ3MgZGF0YSBhbmQgMTQg Ynl0ZXMgRUNDIGNvZGVzLiBTbyB3aGVuIEkgcmVhZCBwYWdlIGluIHJhdyBtb2RlCj4gPj4+Pj4+ IGNvbnRyb2xsZXIgcmV0dXJucyAzMiBieXRlcyAoMiB4ICgyICsgMTQpKSBvZiBPT0IuIFdoaWxl IE9PQiBpcyByZXBvcnRlZCBhcyA2NCBieXRlcy4gIAo+ID4+Pj4+Cj4gPj4+Pj4gSW4gYWxsIG1v ZGVzLCB3aGVuIHlvdSByZWFkIE9PQiwgeW91IHNob3VsZCBnZXQgdGhlIGZ1bGwgT09CLiBUaGUg ZmFjdAo+ID4+Pj4+IHRoYXQgRUNDIGNvcnJlY3Rpb24gaXMgZW5hYmxlZCBvciBkaXNhYmxlZCBk b2VzIG5vdCBtYXR0ZXIuIElmIHRoZSBOQU5ECj4gPj4+Pj4gZmVhdHVyZXMgT09CIHNlY3Rpb25z IG9mIDY0IGJ5dGVzLCB5b3Ugc2hvdWxkIGdldCB0aGUgNjQgYnl0ZXMuCj4gPj4+Pj4KPiA+Pj4+ PiBXaGF0IGhhcHBlbnMgc29tZXRpbWVzLCBpcyB0aGF0IHNvbWUgb2YgdGhlIGJ5dGVzIGFyZSBu b3QgcHJvdGVjdGVkCj4gPj4+Pj4gYWdhaW5zdCBiaXRmbGlwcywgYnV0IHRoZSBwb2xpY3kgaXMg dG8gcmV0dXJuIHRoZSBmdWxsIGJ1ZmZlci4gIAo+ID4+Pj4KPiA+Pj4+IE9rLCBzbyB0byBjbGFy aWZ5IGNhc2UgZm9yIHRoaXMgTkFORCBjb250cm9sbGVyOgo+ID4+Pj4gMSkgSW4gYm90aCBFQ0Mg YW5kIHJhdyBtb2RlcyBpIG5lZWQgdG8gcmV0dXJuIHRoZSBzYW1lIHJhdyBPT0IgZGF0YSAoZS5n LiB1c2VyIGJ5dGVzCj4gPj4+PiAgICAgKyBFQ0MgY29kZXMpPyAgCj4gPj4+Cj4gPj4+IFdlbGws IHlvdSBuZWVkIHRvIGNvdmVyIHRoZSBzYW1lIGFtb3VudCBvZiBkYXRhLCB5ZXMuIEJ1dCBpbiB0 aGUgRUNDCj4gPj4+IGNhc2UgdGhlIGRhdGEgd29uJ3QgYmUgcmF3IChhdCBsZWFzdCBub3QgYWxs IG9mIGl0KS4gIAo+ID4+Cj4gPj4gU28gInNhbWUgYW1vdW50IG9mIGRhdGEiLCBpbiBFQ0MgbW9k ZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHJldHVybnMgb25seSB1c2VyIE9PQiBieXRlcyAoZS5n Lgo+ID4+IE9PQiBkYXRhIGV4Y2x1ZGluZyBFQ0MgY29kZXMpLCBpbiByYXcgaXQgcmV0dXJucyB1 c2VyIGJ5dGVzICsgRUNDIGNvZGVzLiBJSVVDIGNvcnJlY3QKPiA+PiBiZWhhdmlvdXIgaXMgdG8g YWx3YXlzIHJldHVybiB1c2VyIGJ5dGVzICsgRUNDIGNvZGVzIGFzIE9PQiBkYXRhIGV2ZW4gaW4g RUNDIG1vZGUgPyAgCj4gPiAKPiA+IElmIHRoZSBwYWdlIGFyZSAyays2NEIgeW91IHNob3VsZCBy ZWFkIDJrKzY0QiB3aGVuIE9PQiBhcmUgcmVxdWVzdGVkLgo+ID4gCj4gPiBJZiB0aGUgY29udHJv bGxlciBvbmx5IHJldHVybnMgMmsrMzJCLCB0aGVuIHBlcmZvcm0gYSByYW5kb20gcmVhZCB0bwo+ ID4ganVzdCBtb3ZlIHRoZSByZWFkIHBvaW50ZXIgdG8gbXRkLT5zaXplICsgbXRkLT5vb2JzaXpl IC0gMzIgYW5kCj4gPiByZXRyaWV2ZSB0aGUgbWlzc2luZyAzMiBieXRlcz8gIAo+IAo+IDEpIHJh dyByZWFkIGNhbiByZWFkIG91dCB0aGUgd2hvbGUgcGFnZSBkYXRhIDJrKzY0QiwgZGVjaWRlZCBi eSB0aGUgbGVuIGluIHRoZSBjb250cm9sbGVyIHJhdyByZWFkIGNvbW1hbmQ6Cj4gCWNtZCA9IChs ZW4gJiBHRU5NQVNLKDUsIDApKSB8IHNjcmFtYmxlciB8IERNQV9ESVIoZGlyKTsKPiBhZnRlciB0 aGF0LCB0aGUgbWlzc2luZyBvb2IgYnl0ZXMobm90IHVzZWQpIGNhbiBiZSBjb3BpZWQgZnJvbSBt ZXNvbl9jaGlwLT5kYXRhX2J1Zi4gc28gdGhlIGltcGxlbWVudGF0aW9uIG9mIG1lc29uX25mY19y ZWFkX3BhZ2VfcmF3KCkgaXMgbGlrZSB0aGlzIGlmIG5lZWQuCj4gCXsKPiAJCS4uLi4uLgo+IAkJ bWVzb25fbmZjX3JlYWRfcGFnZV9zdWIobmFuZCwgcGFnZSwgMSk7Cj4gCQltZXNvbl9uZmNfZ2V0 X2RhdGFfb29iKG5hbmQsIGJ1Ziwgb29iX2J1Zik7Cj4gCQlvb2JfbGVuID0gKG5hbmQtPmVjYy5i eXRlcyArIDIpICogbmFuZC0+ZWNjLnN0ZXBzOwo+IAkJbWVtY3B5KG9vYl9idWYgKyBvb2JfbGVu LCBtZXNvbl9jaGlwLT5kYXRhX2J1ZiArIG9vYl9sZW4sIG10ZC0+b29ic2l6ZSAtIG9vYl9sZW4p Owo+IAo+IAl9Cj4gMikgSW4gRUNDIG1vZGUsIHRoZSBjb250cm9sbGVyIGNhbid0IGJyaW5nIGJh Y2sgdGhlIG1pc3NpbmcgT09CIGJ5dGVzLiBpdCBjYW4gcmVhZCBvdXQgdGhlIHVzZXIgYnl0ZXMg YW5kIGVjYyBieXRlcyBwZXIgbWVzb25fb29ibGF5b3V0X29wcyBkZWZpbmUuCgpBbmQgdGhlbiAo aWYgb29iX3JlcXVpcmVkKSB5b3UgY2FuIGJyaW5nIHRoZSBtaXNzaW5nIGJ5dGVzIHdpdGgKc29t ZXRoaW5nIGFsb25nOgpuYW5kX2NoYW5nZV9yZWFkX2NvbHVtbl9vcChjaGlwLCBtdGQtPndyaXRl c2l6ZSArIG9vYl9sZW4sCgkJCSAgIG9vYl9idWYgKyBvb2JfbGVuLAoJCQkgICBtdGQtPm9vYnNp emUgLSBvb2JfbGVuLAoJCQkgICBmYWxzZSk7ClNob3VsZCBub3QgYmUgYSBodWdlIHBlcmZvcm1h bmNlIGhpdC4KCj4gCj4gPiAKPiA+IFRoaXMgYXBwbGllcyB0byB0aGUgdHdvIG1vZGVzLCB0aGUg b25seSBkaWZmZXJlbmNlIGlzOgo+ID4gLSB3aXRoIGNvcnJlY3Rpb24gKGNvbW1vbmx5IG5hbWVk ICJFQ0MgbW9kZSIpOiB0aGUgdXNlciBieXRlcyBhbmQgRUNDCj4gPiAgICBieXRlcyBzaG91bGQg YmUgZml4ZWQgaWYgdGhlcmUgYXJlIGFueSBiaXRmbGlwcwo+ID4gLSB3aXRob3V0IGNvcnJlY3Rp b24gKGNvbW1vbmx5IHJlZmVycmVkIGFzICJyYXcgbW9kZSIpOiBubyBjb3JyZWN0aW9uCj4gPiAg ICBhcHBsaWVzLCBpZiB0aGVyZSBhcmUgYml0ZmxpcHMsIGdpdmUgdGhlbQo+ID4gCj4gPiBQbGVh c2UgbWluZCB0aGUgcmF3IG1vZGUgY2FuIGJlIHNsb3csIGl0J3MgbWVhbnQgZm9yIGRlYnVnZ2lu ZyBhbmQKPiA+IHRlc3RpbmcsIG1haW5seS4gUGFnZSByZWFkcyBob3dldmVyIHNob3VsZCBiZSBm YXN0LCBzbyBpZiBqdXN0IG1vdmluZwo+ID4gdGhlIGNvbHVtbiBwb2ludGVyIHdvcmtzLCB0aGVu IGRvIGl0LCBvdGhlcndpc2Ugd2UnbGwgY29uc2lkZXIKPiA+IHJldHVybmluZyBGRnMuCj4gPiAK PiA+IFRoYW5rcywKPiA+IE1pcXXDqGwKPiA+ICAgCj4gCgoKVGhhbmtzLApNaXF1w6hsCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==