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 C7F5BC6FD20 for ; Fri, 24 Mar 2023 13:52:48 +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=pceuVqnwhG/9d+Numi/hICffAQhwbNMFZUB88nH+Y1o=; b=D84fgXNfz1RxiM 07QlpuY0afLPT8pKDF3ckbSts10WZ/B6VOElwTjB8hCOWWMaUErm/DPrOvIEVcxpi3j0k5HPOGxdh fQK9VWRJ1uRhwfQVIzWlwmpYLSYJ+DwGYcD2gOWIOe9zYVNSRegFEDxZjqIYqY5xd0FkIcNu/3dfT 3YBBUl/zcFMaC/iwICSuwupo45ObrrSqPSf9rzR5cgKKJkXk64aOmbX8VCcGrOthr+4KL5SNgSJeC csIIeQUxvtrQ1m0OlH5fOF+XfHgQJdjZJd0iP3h+lwXq2P9rXqoiSblB61Te8up2WGkMvdcBvqJVy CDHEi0ybu+jiqWcBV6qA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pfhpj-004Xsz-1v; Fri, 24 Mar 2023 13:51:55 +0000 Received: from relay5-d.mail.gandi.net ([217.70.183.197]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pfhpf-004Xqv-24; Fri, 24 Mar 2023 13:51:54 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 0D2051C0019; Fri, 24 Mar 2023 13:51:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1679665906; 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=AaaQx35O9edDyF9dcFEIIVBDjIqxR8XFlQxNSt6ak+U=; b=Enz5Ld7qYG8pjBTWGBTuuMinu+I4vkSmerOcrIBYJJLtEHWlg0L5c6wPnT/wbIccXH4RNh mW5InjJ25ve/JHN76j+FBbWCKatJKWbKSSCfsXGkothqZFqJTDFpkXkel91RX+2rjfGaIr eQuLnQ4El0YZY4ersoygu7uYFNx/SUsMdVk/prEPHHCm58CdJkemnApuOvEUlCcn+mTM0b 76JM+tPv68ME+BDZFwfWLZ5qwUSpk3npSTzXIuF40BKBbQ6x0tPy/IR/d9mfC6RPkVeGQk D6ZJ722w4cMW+wT/3BYs46hBwzq+rTyazYw8Xb/iYbKeL8ZsQiAUay2U0oFv0g== Date: Fri, 24 Mar 2023 14:51:40 +0100 From: Miquel Raynal To: Tudor Ambarus Cc: Richard Weinberger , Vignesh Raghavendra , Pratyush Yadav , Michael Walle , linux-mtd@lists.infradead.org, Julien Su , Jaime Liao , Jaime Liao , Alvin Zhou , Thomas Petazzoni , Michal Simek , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v4 0/8] mtd: spi-nor: read while write support Message-ID: <20230324145140.58509d50@xps-13> In-Reply-To: References: <20230201113603.293758-1-miquel.raynal@bootlin.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-20230324_065151_941399_CEAE7355 X-CRM114-Status: GOOD ( 57.94 ) 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 SGkgVHVkb3IsCgp0dWRvci5hbWJhcnVzQGxpbmFyby5vcmcgd3JvdGUgb24gRnJpLCAxNyBNYXIg MjAyMyAwNDoxMzoyNyArMDAwMDoKCj4gT24gMi8xLzIzIDExOjM1LCBNaXF1ZWwgUmF5bmFsIHdy b3RlOgo+ID4gSGVsbG8gZm9sa3MsCj4gPiAKPiA+IEhlcmUgaXMgdGhlIGZvbGxvdy11cCBvZiB0 aGUgUkZDIHRyeWluZyB0byBicmluZyBhIGxpdHRsZSBiaXQgb2YKPiA+IHBhcmFsbGVsaXNtIHRv IHN1cHBvcnQgU1BJLU5PUiBSZWFkIFdoaWxlIFdyaXRlIGZlYXR1cmUgb24gcGFydHMKPiA+IHN1 cHBvcnRpbmcgaXQgYW5kIGZlYXR1cmluZyBzZXZlcmFsIGJhbmtzLgo+ID4gCj4gPiBJIGhhdmUg cmVjZWl2ZWQgc29tZSBoYXJkd2FyZSB0byBtYWtlIGl0IHdvcmssIHNvIHNpbmNlIHRoZSBSRkMs IHRoZQo+ID4gc2VyaWVzIGhhcyBiZWVuIHVwZGF0ZWQgdG8gZml4IG15IG1pc3Rha2VzLCBidXQg dGhlIG92ZXJhbGwgaWRlYSBpcyB0aGUKPiA+IHNhbWUuCj4gPiAKPiA+IFRoZXJlIGlzIG5vdGhp bmcgTWFjcm9uaXggc3BlY2lmaWMgaW4gdGhlIGltcGxlbWVudGF0aW9uLCB0aGUgb3BlcmF0aW9u cwo+ID4gYW5kIG9wY29kZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUgYXMgYmVmb3JlLiBUaGUgb25s eSBkaWZmZXJlbmNlIGJlaW5nOgo+ID4gd2UgbWF5IGNvbnNpZGVyIHRoZSBjaGlwIHVzYWJsZSB3 aGVuIGl0IGlzIGluIHRoZSBidXN5IHN0YXRlIGR1cmluZyBhCj4gPiB3cml0ZSBvciBhbiBlcmFz ZS4gQW55IGNoaXAgd2l0aCBhbiBpbnRlcm5hbCBzcGxpdCBhbGxvd2luZyB0byBwZXJmb3JtCj4g PiBwYXJhbGxlbCBvcGVyYXRpb25zIG1pZ2h0IHBvc3NpYmx5IGxldmVyYWdlIHRoZSBiZW5lZml0 cyBvZiB0aGlzCj4gPiBpbXBsZW1lbnRhdGlvbi4KPiA+IAo+ID4gVGhlIGZpcnN0IHBhdGNoZXMg YXJlIGp1c3QgcmVmYWN0b3JpbmcgYW5kIHByZXBhcmF0aW9uIHdvcmssIHRoZXJlIGlzCj4gPiBh bG1vc3Qgbm8gZnVuY3Rpb25hbCBjaGFuZ2UsIGl0J3MganVzdCBhIHdheSB0byBwcmVwYXJlIHRo ZSBpbnRyb2R1Y3Rpb24KPiA+IG9mIHRoZSBuZXcgbG9ja2luZyBtZWNoYW5pc20gYW5kIGhvcGVm dWxseSBwcm92aWRlIHRoZSBjbGVhbmVzdCBhbmQKPiA+IHNpbXBsZXN0IGRpZmYgcG9zc2libGUg Zm9yIHRoaXMgbmV3IGZlYXR1cmUuIFRoZSBhY3R1YWwgY2hhbmdlIGlzIGFsbAo+ID4gY29udGFp bmVkIGluICJtdGQ6IHNwaS1ub3I6IEVuaGFuY2UgbG9ja2luZyB0byBzdXBwb3J0IHJlYWRzIHdo aWxlCj4gPiB3cml0ZXMiLiBUaGUgbG9naWMgaXMgZGVzY3JpYmVkIGluIHRoZSBjb21taXQgbG9n IGFuZCBjb3B5L3Bhc3RlZCBoZXJlCj4gPiBmb3IgY2xhcml0eToKPiA+IAo+ID4gIgo+ID4gICAg IE9uIGRldmljZXMgZmVhdHVyaW5nIHNldmVyYWwgYmFua3MsIHRoZSBSZWFkIFdoaWxlIFdyaXRl IChSV1cpIGZlYXR1cmUKPiA+ICAgICBpcyBoZXJlIHRvIGltcHJvdmUgdGhlIG92ZXJhbGwgcGVy Zm9ybWFuY2Ugd2hlbiBwZXJmb3JtaW5nIHBhcmFsbGVsCj4gPiAgICAgcmVhZHMgYW5kIHdyaXRl cyBhdCBkaWZmZXJlbnQgbG9jYXRpb25zIChkaWZmZXJlbnQgYmFua3MpLiBUaGUKPiA+ICAgICBm b2xsb3dpbmcgY29uc3RyYWludHMgaGF2ZSB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQ6Cj4gPiAg ICAgMSM6IEEgc2luZ2xlIG9wZXJhdGlvbiBjYW4gYmUgcGVyZm9ybWVkIGluIGEgZ2l2ZW4gYmFu ay4KPiA+ICAgICAyIzogT25seSBhIHNpbmdsZSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbiBj YW4gaGFwcGVuIG9uIHRoZSBlbnRpcmUKPiA+ICAgICAgICAgY2hpcCAoY29tbW9uIGhhcmR3YXJl IGxpbWl0YXRpb24gdG8gbGltaXQgY29zdHMpCj4gPiAgICAgMyM6IFJlYWRzIG11c3QgcmVtYWlu IHNlcmlhbGl6ZWQgZXZlbiB0aG91Z2ggcmVhZHMgb24gZGlmZmVyZW50IGJhbmtzCj4gPiAgICAg ICAgIG1pZ2h0IG9jY3VyIGF0IHRoZSBzYW1lIHRpbWUuCj4gPiAgICAgNCM6IFRoZSBJL08gYnVz IGlzIHVuaXF1ZSBhbmQgdGh1cyBpcyB0aGUgbW9zdCBjb25zdHJhaW5lZCByZXNvdXJjZSwKPiA+ ICAgICAgICAgYWxsIHNwaS1ub3Igb3BlcmF0aW9ucyByZXF1aXJpbmcgYWNjZXNzIHRvIHRoZSBz cGkgYnVzICh0aHJvdWdoCj4gPiAgICAgICAgIHRoZSBzcGkgY29udHJvbGxlcikgbXVzdCBiZSBz ZXJpYWxpemVkIHVudGlsIHRoZSBidXMgZXhjaGFuZ2VzCj4gPiAgICAgICAgIGFyZSBvdmVyLiBT byB3ZSBtdXN0IGVuc3VyZSBhIHNpbmdsZSBvcGVyYXRpb24gY2FuIGJlICJzZW50IiBhdAo+ID4g ICAgICAgICBhIHRpbWUuCj4gPiAgICAgNSM6IEFueSBvdGhlciBvcGVyYXRpb24gdGhhdCB3b3Vs ZCBub3QgYmUgZWl0aGVyIGEgcmVhZCBvciBhIHdyaXRlIG9yIGFuCj4gPiAgICAgICAgIGVyYXNl IGlzIGNvbnNpZGVyZWQgcmVxdWlyaW5nIGFjY2VzcyB0byB0aGUgZnVsbCBjaGlwIGFuZCBjYW5u b3QgYmUKPiA+ICAgICAgICAgcGFyYWxsZWxpemVkLCB3ZSB0aGVuIG5lZWQgdG8gZW5zdXJlIHRo ZSBmdWxsIGNoaXAgaXMgaW4gdGhlIGlkbGUKPiA+ICAgICAgICAgc3RhdGUgd2hlbiB0aGlzIG9j Y3Vycy4KPiA+ICAgICAKPiA+ICAgICBBbGwgdGhlc2UgY29uc3RyYWludHMgY2FuIGVhc2lseSBi ZSBtYW5hZ2VkIHdpdGggYSBwcm9wZXIgbG9ja2luZyBtb2RlbDoKPiA+ICAgICAxIzogSXMgZW5m b3JjZWQgYnkgYSBiaXRmaWVsZCBvZiB0aGUgaW4tdXNlIGJhbmtzLCBzbyB0aGF0IG9ubHkgYSBz aW5nbGUKPiA+ICAgICAgICAgb3BlcmF0aW9uIGNhbiBoYXBwZW4gaW4gYSBzcGVjaWZpYyBiYW5r IGF0IGFueSB0aW1lLgo+ID4gICAgIDIjOiBJcyBoYW5kbGVkIGJ5IHRoZSBvbmdvaW5nX3BlIGJv b2xlYW4gd2hpY2ggaXMgc2V0IGJlZm9yZSBhbnkgd3JpdGUKPiA+ICAgICAgICAgb3IgZXJhc2Us IGFuZCBpcyByZWxlYXNlZCBvbmx5IGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUKPiA+ICAgICAgICAg b3BlcmF0aW9uLiBUaGlzIHdheSwgbm8gb3RoZXIgZGVzdHJ1Y3RpdmUgb3BlcmF0aW9uIG9uIHRo ZSBjaGlwIGNhbgo+ID4gICAgICAgICBzdGFydCBkdXJpbmcgdGhpcyB0aW1lIGZyYW1lLgo+ID4g ICAgIDMjOiBBbiBvbmdvaW5nX3JkIGJvb2xlYW4gYWxsb3dzIHRvIHRyYWNrIHRoZSBvbmdvaW5n IHJlYWRzLCBzbyB0aGF0Cj4gPiAgICAgICAgIG9ubHkgb25lIGNhbiBiZSBwZXJmb3JtZWQgYXQg YSB0aW1lLgo+ID4gICAgIDQjOiBBbiBvbmdvaW5nX2lvIGJvb2xlYW4gaXMgaW50cm9kdWNlZCBp biBvcmRlciB0byBjYXB0dXJlIGFuZAo+ID4gICAgICAgICBzZXJpYWxpemUgYnVzIGFjY2Vzc2Vk LiBUaGlzIGlzIHRoZSBvbmUgYmVpbmcgcmVsZWFzZWQgInNvb25lciIKPiA+ICAgICAgICAgdGhh biBiZWZvcmUsIGJlY2F1c2Ugd2Ugb25seSBuZWVkIHRvIHByb3RlY3QgdGhlIGNoaXAgYWdhaW5z dAo+ID4gICAgICAgICBvdGhlciBTUEkgYWNjZXNzZXMgZHVyaW5nIHRoZSBJL08gcGhhc2UsIHdo aWNoIGZvciB0aGUKPiA+ICAgICAgICAgZGVzdHJ1Y3RpdmUgb3BlcmF0aW9ucyBpcyB0aGUgYmVn aW5uaW5nIG9mIHRoZSBvcGVyYXRpb24gKHdoZW4KPiA+ICAgICAgICAgd2Ugc2VuZCB0aGUgY29t bWFuZCBjeWNsZXMgYW5kIHBvc3NpYmx5IHRoZSBkYXRhKSwgd2hpbGUgdGhlCj4gPiAgICAgICAg IHNlY29uZCBwYXJ0IG9mIHRoZSBvcGVyYXRpb24gKHRoZSBlcmFzZSBkZWxheSBvciB0aGUKPiA+ ICAgICAgICAgcHJvZ3JhbW1hdGlvbiBkZWxheSkgaXMgd2hlbiB3ZSBjYW4gZG8gc29tZXRoaW5n IGVsc2UgaW4gYW5vdGhlcgo+ID4gICAgICAgICBiYW5rLgo+ID4gICAgIDUjOiBJcyBoYW5kbGVk IGJ5IHRoZSB0aHJlZSBib29sZWFucyBwcmVzZW50ZWQgYWJvdmUsIGlmIGFueSBvZiB0aGVtIGlz Cj4gPiAgICAgICAgIHNldCwgdGhlIGNoaXAgaXMgbm90IHlldCByZWFkeSBmb3IgdGhlIG9wZXJh dGlvbiBhbmQgbXVzdCB3YWl0Lgo+ID4gICAgIAo+ID4gICAgIEFsbCB0aGVzZSBpbnRlcm5hbCB2 YXJpYWJsZXMgYXJlIHByb3RlY3RlZCBieSB0aGUgZXhpc3RpbmcgbG9jaywgc28gdGhhdAo+ID4g ICAgIGNoYW5nZXMgaW4gdGhpcyBzdHJ1Y3R1cmUgYXJlIGF0b21pYy4gVGhlIHNlcmlhbGl6YXRp b24gaXMgaGFuZGxlZCB3aXRoCj4gPiAgICAgYSB3YWl0IHF1ZXVlLiIKPiA+IAo+ID4gSGVyZSBp cyBub3cgYSBiZW5jaG1hcmsgd2l0aCBhIE1hY3Jvbml4IE1YMjVVVzUxMjQ1RyB3aXRoIDQgYmFu a3MgYW5kIFJXVwo+ID4gc3VwcG9ydDoKPiA+IAo+ID4gICAgICAvLyBUZXN0aW5nIHRoZSB0d28g YWNjZXNzZXMgaW4gdGhlIHNhbWUgYmFuawo+ID4gICAgICAkIGZsYXNoX3NwZWVkIC1iMCAtazAg LWMxMCAtZCAvZGV2L210ZDAKPiA+ICAgICAgWy4uLl0KPiA+ICAgICAgdGVzdGluZyByZWFkIHdo aWxlIHdyaXRlIGxhdGVuY3kKPiA+ICAgICAgcmVhZCB3aGlsZSB3cml0ZSB0b29rIDUxbXMsIHJl YWQgZW5kZWQgYWZ0ZXIgNTFtcwo+ID4gCj4gPiAgICAgIC8vIFRlc3RpbmcgdGhlIHR3byBhY2Nl c3NlcyB3aXRoaW4gZGlmZmVyZW50IGJhbmtzCj4gPiAgICAgICQgZmxhc2hfc3BlZWQgLWIwIC1r NDA5NiAtYzEwIC1kIC9kZXYvbXRkMAo+ID4gICAgICBbLi4uXQo+ID4gICAgICB0ZXN0aW5nIHJl YWQgd2hpbGUgd3JpdGUgbGF0ZW5jeQo+ID4gICAgICByZWFkIHdoaWxlIHdyaXRlIHRvb2sgNTFt cywgcmVhZCBlbmRlZCBhZnRlciAyMG1zCj4gPiAKPiA+IFBhcmFsbGVsIGFjY2Vzc2VzIGhhdmUg YmVlbiB2YWxpZGF0ZWQgd2l0aCBpb19wYXJhbC4gQSBzbGlnaHQgaW5jcmVhc2UKPiA+IG9mIHRo ZSB0aW1lIHNwZW50IG9uIHRoaXMgdGVzdCBoYXMgaG93ZXZlciBiZWVuIG5vdGljZWQuIFdpdGgg bXkgIAo+IAo+IGhvdyBkbyB0aGUgb3RoZXIgdGVzdHMgbG9vaz8gSXMgdGhlcmUgYW55IGNoYW5n ZSBpbiBwZXJmb3JtYW5jZSBmb3IKPiBmbGFzaGVzIHRoYXQgZG8gbm90IHN1cHBvcnQgUldXPwoK VGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gdGFrZXMgY2FyZSBvZiBub3QgY2hhbmdpbmcgYW55 dGhpbmcgd2l0aCB0aGUKZXhpc3RpbmcgZmxhc2hlcywgd2hlbiBJIHJlc2VuZCBJJ2xsIHByb3Zp ZGUgYWxsIHRoZSBsb2dzIHlvdSBhc2tlZApmb3IsIHBsdXMgYW5vdGhlciBxdWljayB0ZXN0IHdp dGhvdXQgdGhlIFJXVyBmZWF0dXJlIGJpdCBzZXQuCgo+IAo+ID4gY29uZmlndXJhdGlvbiwgb3Zl ciBhIGxpbWl0ZWQgbnVtYmVyIG9mIGJsb2NrcywgdGhlIG92ZXJhbGwgb3BlcmF0aW9uCj4gPiB0 b29rIDIyIG1pbiB3aXRob3V0IGFueSBSV1cgY2hhbmdlcyB1cCB0byAyNyBtaW4gd2l0aCB0aGVz ZSBjaGFuZ2VzLAo+ID4gbWF5YmUgZHVlIHRvIHRoZSBudW1iZXIgb2YgYWRkaXRpb25hbCBzY2hl ZHVsaW5nIHNpdHVhdGlvbnMgaW52b2x2ZWQpLgo+ID4gCj4gPiBIZXJlIGlzIGEgYnJhbmNoIHdp dGggdGhlIG10ZC11dGlscyBwYXRjaCBicmluZ2luZyBzdXBwb3J0IGZvciB0aGlzCj4gPiBhZGRp dGlvbmFsICItayIgcGFyYW1ldGVyIGluIGZsYXNoX3NwZWVkIChmb3IgdGhlIHNlY29uZCBibG9j ayB0byB1c2UKPiA+IGR1cmluZyBSV1cgdGVzdGluZyksIHVzZWQgdG8gZ2V0IHRoZSBhYm92ZSBy ZXN1bHRzOgo+ID4gaHR0cHM6Ly9naXRodWIuY29tL21pcXVlbHJheW5hbC9tdGQtdXRpbHMvY29t cGFyZS9tYXN0ZXIuLi5yd3cKPiA+IAo+ID4gQ2hlZXJzLAo+ID4gTWlxdcOobAo+ID4gCj4gPiBD aGFuZ2VzIGluIHY0Ogo+ID4gKiBEcm9wcGVkIHBhdGNoIDEvOSB3aGljaCBnb3QgYXBwbGllZC4K PiA+ICogcy9TUEktTk9SL1NQSSBOT1IvCj4gPiAqIFR1cm5lZCBuX2JhbmtzIGludG8gYW4gdTgg YW5kIG1vdmVkIGl0IGJlbG93IGluIHRoZSBzdHJ1Y3QgdG8gYXZvaWQKPiA+ICAgcGFkZGluZy4K PiA+ICogVXBkYXRlZCB0aGUgUzNBTl9JTkZPIG1hY3JvIHRvIHNldCBuX2JhbmtzIHRvIDEgYnkg ZGVmYXVsdC4KPiA+ICogUmVuYW1lZCB0aGUgbG9jayBhbmQgcHJlcCBoZWxwZXIgdG8gZm9sbG93 IHRoZSBvcmRlciBvZiBlYWNoCj4gPiAgIG9wZXJhdGlvbi4KPiA+ICogUmV3b3JkZWQgYSBjb21t aXQgbG9nIHRvIGZpdCB0aGUgcmVjZW50IGNoYW5nZXMgdXBzdHJlYW0uCj4gPiAKPiA+IENoYW5n ZXMgaW4gdjM6Cj4gPiAqIEZpeCB0aGUgYmFuayBvZmZzZXRzIGNhbGN1bGF0aW9ucyBieSBwcm92 aWRpbmcgdGhlIHNhbWUgdmFsdWVzIHdoZW4KPiA+ICAgbG9ja2luZyBhbmQgd2hlbiB1bmxvY2tp bmcgKG1pZ2h0IGJlIGNoYW5nZWQgYnkgdGhlIGZ1bmN0aW9ucyB0aGVtc2VsdmVzCj4gPiAgIHdp dGhvdXQgdXNlIG5vdGljaW5nKS4KPiA+ICogSSBjb21wbGV0ZWx5IGNoYW5nZWQgdGhlIHdheSB0 aGUgbG9ja2luZyB3b3JrcyBiZWNhdXNlIHRoZXJlIHdhcyBhIG5ldwo+ID4gICBjb25zdHJhaW50 OiByZWFkcyBjYW5ub3QgYmUgaW50ZXJydXB0ZWQgYW5kIHN0YXR1cyByZWFkcyBjYW5ub3QgaGFw cGVuCj4gPiAgIGR1cmluZyBhIHJlYWQuIEhlbmNlLCBhcyB0aGUgbXVsdGktbG9ja3MgZGVzaWdu IHdhcyBzdGFydGluZyB0byBiZSB0b28KPiA+ICAgbWVzc3ksIEkgY2hhbmdlZCB0aGUgaW1wbGVt ZW50YXRpb24gdG8gdXNlIGEgYnVuY2ggb2YgdmFyaWFibGVzIHRvCj4gPiAgIHRyYWNrIHRoZSBy ZWFkIHdoaWxlIHdyaXRlIHN0YXRlLCBwcm90ZWN0ZWQgYnkgdGhlIG1haW4gc3BpLW5vcgo+ID4g ICBsb2NrLiBJZiB0aGUgaW50ZXJuYWwgc3RhdGUgZG9lcyBub3QgYWxsb3cgdGhlIG9wZXJhdGlv biwgYSBzbGVlcAo+ID4gICBzdGFydHMgaW4gYSBxdWV1ZSwgdW50aWwgdGhlIHRocmVhZHMgYXJl IHdva2VuIHVwIGFmdGVyIGEgc3RhdGUKPiA+ICAgdXBkYXRlLiBJIGtub3cgaXQgaXMgdmVyeSB2 ZXJib3NlLCBJIGFtIG9wZW4gdG8gc3VnZ2VzdGlvbnMuCj4gPiAKPiA+IAo+ID4gTWlxdWVsIFJh eW5hbCAoOCk6Cj4gPiAgIG10ZDogc3BpLW5vcjogSW50cm9kdWNlIHRoZSBjb25jZXB0IG9mIGJh bmsKPiA+ICAgbXRkOiBzcGktbm9yOiBBZGQgYSBtYWNybyB0byBkZWZpbmUgbW9yZSBiYW5rcwo+ ID4gICBtdGQ6IHNwaS1ub3I6IFJlb3JkZXIgdGhlIHByZXBhcmF0aW9uIHZzIGxvY2tpbmcgc3Rl cHMKPiA+ICAgbXRkOiBzcGktbm9yOiBTZXBhcmF0ZSBwcmVwYXJhdGlvbiBhbmQgbG9ja2luZwo+ ID4gICBtdGQ6IHNwaS1ub3I6IFByZXBhcmUgdGhlIGludHJvZHVjdGlvbiBvZiBhIG5ldyBsb2Nr aW5nIG1lY2hhbmlzbQo+ID4gICBtdGQ6IHNwaS1ub3I6IEFkZCBhIFJXVyBmbGFnCj4gPiAgIG10 ZDogc3BpLW5vcjogRW5oYW5jZSBsb2NraW5nIHRvIHN1cHBvcnQgcmVhZHMgd2hpbGUgd3JpdGVz Cj4gPiAgIG10ZDogc3BpLW5vcjogbWFjcm9uaXg6IEFkZCBzdXBwb3J0IGZvciBteDI1dXc1MTI0 NWcgd2l0aCBSV1cKPiA+IAo+ID4gIGRyaXZlcnMvbXRkL3NwaS1ub3IvY29yZS5jICAgICB8IDM5 NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiA+ICBkcml2ZXJzL210ZC9zcGkt bm9yL2NvcmUuaCAgICAgfCAgMjYgKystCj4gPiAgZHJpdmVycy9tdGQvc3BpLW5vci9tYWNyb25p eC5jIHwgICAzICsKPiA+ICBkcml2ZXJzL210ZC9zcGktbm9yL3hpbGlueC5jICAgfCAgIDEgKwo+ ID4gIGluY2x1ZGUvbGludXgvbXRkL3NwaS1ub3IuaCAgICB8ICAxMyArKwo+ID4gIDUgZmlsZXMg Y2hhbmdlZCwgNDA5IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+ID4gICAKCgpUaGFu a3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK