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 3808FC67861 for ; Tue, 9 Apr 2024 23:31:31 +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:To:References:Message-Id:Cc:Date: In-Reply-To:From:Subject:Mime-Version:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LXpr6kYKCyicjNHXAojWvhoi9nXC50cgmg59QN3TEo0=; b=vubzqqTlWmejXf RJgNPSZxAap3YXooqdjXWd/4h851l7/taIEBJalKBRWsXgajTEYuG/8OfJJ/Q6FpSgsvb19HcBpBm ymzEhI8Gx2RGRWdKDfFXt981rvir/Pv7Ph6t+6VCm/3Fw9YlFQfJv3i1PrIiXU39ONyhWRnJkG2DQ QQYaDgW2EpSD6yp4FvGV3W+lE0+cYkpMkDtdK1IoxpAlsuXijNI7Maenw8HLziISmluYjihzD/20Z ZDaIjblAhfGgwlnihM5wF4VGt+GaJIueVjDMrmAr6E5TowOclKX1F+tZ1Un7+boixuyc5tvijNyal N31uyGux3MzyM7quRPDA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ruKvv-00000004CzA-385T; Tue, 09 Apr 2024 23:31:19 +0000 Received: from out-180.mta1.migadu.com ([95.215.58.180]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1ruKvp-00000004Cx8-3x4Z for linux-arm-kernel@lists.infradead.org; Tue, 09 Apr 2024 23:31:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1712705465; 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=iLe0Ge+h5210FpthFDM6maZCxUBDEJyCsCSH7nsHMBU=; b=FbNoYfX/uAEQuz43an1IOwQobDohYZMmmsVZlr46pOaDFhZwSz+8Xn/NY9lh5pTryIY+Bm u+jJx7iadj3TP7AwiI0necWO6VVL4xqMLYDqQnCHCfH/ihyxOZzLvpQyziNQFYVgUY4NfA IDjBFYHz2vudamjs2lNZJ9jpPHHWbBg= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\)) Subject: Re: [PATCH v2 0/4] Speed up boot with faster linear map creation X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Itaru Kitayama In-Reply-To: <156cf812-a2de-4480-80dc-31c38ca0eb57@redhat.com> Date: Wed, 10 Apr 2024 08:30:41 +0900 Cc: Ryan Roberts , Catalin Marinas , Will Deacon , Mark Rutland , Ard Biesheuvel , Donald Dutile , Eric Chanudet , Linux ARM , "linux-kernel@vger.kernel.org" Message-Id: <8AA82C6E-F7E7-40A3-952D-392735E1405A@linux.dev> References: <20240404143308.2224141-1-ryan.roberts@arm.com> <533adb77-8c2b-40db-84cb-88de77ab92bb@arm.com> <1d5abb48-08a8-4d83-a681-6915bc7b6907@arm.com> <268FBD1C-B102-4726-A7F4-1125123BDA7A@linux.dev> <5e4dc2fe-2945-4fc5-a533-c8b2d04668a0@redhat.com> <156cf812-a2de-4480-80dc-31c38ca0eb57@redhat.com> To: David Hildenbrand X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240409_163114_972614_37FB8A85 X-CRM114-Status: GOOD ( 33.98 ) 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 SGkgRGF2aWQsCgo+IE9uIEFwciA5LCAyMDI0LCBhdCAyMzo0NSwgRGF2aWQgSGlsZGVuYnJhbmQg PGRhdmlkQHJlZGhhdC5jb20+IHdyb3RlOgo+IAo+IE9uIDA5LjA0LjI0IDE2OjM5LCBSeWFuIFJv YmVydHMgd3JvdGU6Cj4+IE9uIDA5LzA0LzIwMjQgMTU6MjksIERhdmlkIEhpbGRlbmJyYW5kIHdy b3RlOgo+Pj4gT24gMDkuMDQuMjQgMTY6MTMsIFJ5YW4gUm9iZXJ0cyB3cm90ZToKPj4+PiBPbiAw OS8wNC8yMDI0IDEyOjUxLCBEYXZpZCBIaWxkZW5icmFuZCB3cm90ZToKPj4+Pj4gT24gMDkuMDQu MjQgMTM6MjksIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+Pj4+Pj4gT24gMDkuMDQuMjQgMTM6 MjIsIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+Pj4+Pj4+IE9uIDA5LjA0LjI0IDEyOjEzLCBJ dGFydSBLaXRheWFtYSB3cm90ZToKPj4+Pj4+Pj4gCj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4gT24gQXBy IDksIDIwMjQsIGF0IDE5OjA0LCBSeWFuIFJvYmVydHMgPHJ5YW4ucm9iZXJ0c0Bhcm0uY29tPiB3 cm90ZToKPj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4gT24gMDkvMDQvMjAyNCAwMToxMCwgSXRhcnUgS2l0 YXlhbWEgd3JvdGU6Cj4+Pj4+Pj4+Pj4gSGkgUnlhbiwKPj4+Pj4+Pj4+PiAKPj4+Pj4+Pj4+Pj4g T24gQXByIDgsIDIwMjQsIGF0IDE2OjMwLCBSeWFuIFJvYmVydHMgPHJ5YW4ucm9iZXJ0c0Bhcm0u Y29tPiB3cm90ZToKPj4+Pj4+Pj4+Pj4gCj4+Pj4+Pj4+Pj4+IE9uIDA2LzA0LzIwMjQgMTE6MzEs IEl0YXJ1IEtpdGF5YW1hIHdyb3RlOgo+Pj4+Pj4+Pj4+Pj4gSGkgUnlhbiwKPj4+Pj4+Pj4+Pj4+ IAo+Pj4+Pj4+Pj4+Pj4gT24gU2F0LCBBcHIgMDYsIDIwMjQgYXQgMDk6MzI6MzRBTSArMDEwMCwg UnlhbiBSb2JlcnRzIHdyb3RlOgo+Pj4+Pj4+Pj4+Pj4+IEhpIEl0YXJ1LAo+Pj4+Pj4+Pj4+Pj4+ IAo+Pj4+Pj4+Pj4+Pj4+IE9uIDA1LzA0LzIwMjQgMDg6MzksIEl0YXJ1IEtpdGF5YW1hIHdyb3Rl Ogo+Pj4+Pj4+Pj4+Pj4+PiBPbiBUaHUsIEFwciAwNCwgMjAyNCBhdCAwMzozMzowNFBNICswMTAw LCBSeWFuIFJvYmVydHMgd3JvdGU6Cj4+Pj4+Pj4+Pj4+Pj4+PiBIaSBBbGwsCj4+Pj4+Pj4+Pj4+ Pj4+PiAKPj4+Pj4+Pj4+Pj4+Pj4+IEl0IHR1cm5zIG91dCB0aGF0IGNyZWF0aW5nIHRoZSBsaW5l YXIgbWFwIGNhbiB0YWtlIGEgc2lnbmlmaWNhbnQKPj4+Pj4+Pj4+Pj4+Pj4+IHByb3BvcnRpb24g b2YKPj4+Pj4+Pj4+Pj4+Pj4+IHRoZSB0b3RhbCBib290IHRpbWUsIGVzcGVjaWFsbHkgd2hlbiBy b2RhdGE9ZnVsbC4gQW5kIG1vc3Qgb2YgdGhlCj4+Pj4+Pj4+Pj4+Pj4+PiB0aW1lIGlzIHNwZW50 Cj4+Pj4+Pj4+Pj4+Pj4+PiB3YWl0aW5nIG9uIHN1cGVyZmx1b3VzIHRsYiBpbnZhbGlkYXRpb24g YW5kIG1lbW9yeSBiYXJyaWVycy4gVGhpcwo+Pj4+Pj4+Pj4+Pj4+Pj4gc2VyaWVzIHJld29ya3MK Pj4+Pj4+Pj4+Pj4+Pj4+IHRoZSBrZXJuZWwgcGd0YWJsZSBnZW5lcmF0aW9uIGNvZGUgdG8gc2ln bmlmaWNhbnRseSByZWR1Y2UgdGhlIG51bWJlcgo+Pj4+Pj4+Pj4+Pj4+Pj4gb2YgdGhvc2UKPj4+ Pj4+Pj4+Pj4+Pj4+IFRMQklzLCBJU0JzIGFuZCBEU0JzLiBTZWUgZWFjaCBwYXRjaCBmb3IgZGV0 YWlscy4KPj4+Pj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+Pj4gVGhlIGJlbG93IHNob3dzIHRo ZSBleGVjdXRpb24gdGltZSBvZiBtYXBfbWVtKCkgYWNyb3NzIGEgY291cGxlIG9mCj4+Pj4+Pj4+ Pj4+Pj4+PiBkaWZmZXJlbnQKPj4+Pj4+Pj4+Pj4+Pj4+IHN5c3RlbXMgd2l0aCBkaWZmZXJlbnQg UkFNIGNvbmZpZ3VyYXRpb25zLiBXZSBtZWFzdXJlIGFmdGVyIGFwcGx5aW5nCj4+Pj4+Pj4+Pj4+ Pj4+PiBlYWNoIHBhdGNoCj4+Pj4+Pj4+Pj4+Pj4+PiBhbmQgc2hvdyB0aGUgaW1wcm92ZW1lbnQg cmVsYXRpdmUgdG8gYmFzZSAodjYuOS1yYzIpOgo+Pj4+Pj4+Pj4+Pj4+Pj4gCj4+Pj4+Pj4+Pj4+ Pj4+PiAgICAgICAgICAgICAgICAgICAgfCBBcHBsZSBNMiBWTSB8IEFtcGVyZSBBbHRyYXwgQW1w ZXJlIEFsdHJhfCBBbXBlcmUKPj4+Pj4+Pj4+Pj4+Pj4+IEFsdHJhCj4+Pj4+Pj4+Pj4+Pj4+PiAg ICAgICAgICAgICAgICAgICAgfCBWTSwgMTZHICAgICB8IFZNLCA2NEcgICAgIHwgVk0sIDI1Nkcg ICAgfCBNZXRhbCwKPj4+Pj4+Pj4+Pj4+Pj4+IDUxMkcKPj4+Pj4+Pj4+Pj4+Pj4+IC0tLS0tLS0t LS0tLS0tLXwtLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwtLS0tLS0t LS0tLS0tCj4+Pj4+Pj4+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgfCAgIG1zICAgICglKSB8 ICAgbXMgICAgKCUpIHwgICBtcyAgICAoJSkgfAo+Pj4+Pj4+Pj4+Pj4+Pj4gbXMgICAgKCUpCj4+ Pj4+Pj4+Pj4+Pj4+PiAtLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t fC0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLQo+Pj4+Pj4+Pj4+Pj4+Pj4gYmFzZSAgICAgICAg ICAgfCAgMTUzICAgKDAlKSB8IDIyMjcgICAoMCUpIHwgODc5OCAgICgwJSkgfCAxNzQ0Mgo+Pj4+ Pj4+Pj4+Pj4+Pj4gKDAlKQo+Pj4+Pj4+Pj4+Pj4+Pj4gbm8tY29udC1yZW1hcCAgfCAgIDc3ICgt NDklKSB8ICA0MzEgKC04MSUpIHwgMTcyNyAoLTgwJSkgfCAgMzc5Ngo+Pj4+Pj4+Pj4+Pj4+Pj4g KC03OCUpCj4+Pj4+Pj4+Pj4+Pj4+PiBiYXRjaC1iYXJyaWVycyB8ICAgMTMgKC05MiUpIHwgIDE2 MiAoLTkzJSkgfCAgNjU1ICgtOTMlKSB8ICAxNjU2Cj4+Pj4+Pj4+Pj4+Pj4+PiAoLTkxJSkKPj4+ Pj4+Pj4+Pj4+Pj4+IG5vLWFsbG9jLXJlbWFwIHwgICAxMSAoLTkzJSkgfCAgMTA5ICgtOTUlKSB8 ICA0NDkgKC05NSUpIHwgIDEyNTcKPj4+Pj4+Pj4+Pj4+Pj4+ICgtOTMlKQo+Pj4+Pj4+Pj4+Pj4+ Pj4gbGF6eS11bm1hcCAgICAgfCAgICA2ICgtOTYlKSB8ICAgNjEgKC05NyUpIHwgIDI1NyAoLTk3 JSkgfCAgIDgzOAo+Pj4+Pj4+Pj4+Pj4+Pj4gKC05NSUpCj4+Pj4+Pj4+Pj4+Pj4+PiAKPj4+Pj4+ Pj4+Pj4+Pj4+IFRoaXMgc2VyaWVzIGFwcGxpZXMgb24gdG9wIG9mIHY2LjktcmMyLiBBbGwgbW0g c2VsZnRlc3RzIHBhc3MuIEkndmUKPj4+Pj4+Pj4+Pj4+Pj4+IGNvbXBpbGUgYW5kCj4+Pj4+Pj4+ Pj4+Pj4+PiBib290IHRlc3RlZCB2YXJpb3VzIFBBR0VfU0laRSBhbmQgVkEgc2l6ZSBjb25maWdz Lgo+Pj4+Pj4+Pj4+Pj4+Pj4gCj4+Pj4+Pj4+Pj4+Pj4+PiAtLS0KPj4+Pj4+Pj4+Pj4+Pj4+IAo+ Pj4+Pj4+Pj4+Pj4+Pj4gQ2hhbmdlcyBzaW5jZSB2MSBbMV0KPj4+Pj4+Pj4+Pj4+Pj4+ID09PT09 PT09PT09PT09PT09PT09Cj4+Pj4+Pj4+Pj4+Pj4+PiAKPj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgIC0g QWRkZWQgVGVzdGVkLWJ5IHRhZ3MgKHRoYW5rcyB0byBFcmljIGFuZCBJdGFydSkKPj4+Pj4+Pj4+ Pj4+Pj4+ICAgICAgIC0gUmVuYW1lZCBfX19zZXRfcHRlKCkgLT4gX19zZXRfcHRlX25vc3luYygp IChwZXIgQXJkKQo+Pj4+Pj4+Pj4+Pj4+Pj4gICAgICAgLSBSZW9yZGVyZWQgcGF0Y2hlcyAoYmln Z2VzdCBpbXBhY3QgJiBsZWFzdCBjb250cm92ZXJzaWFsIGZpcnN0KQo+Pj4+Pj4+Pj4+Pj4+Pj4g ICAgICAgLSBSZW9yZGVyZWQgYWxsb2MvbWFwL3VubWFwIGZ1bmN0aW9ucyBpbiBtbXUuYyB0byBh aWQgcmVhZGVyCj4+Pj4+Pj4+Pj4+Pj4+PiAgICAgICAtIHB0ZV9jbGVhcigpIC0+IF9fcHRlX2Ns ZWFyKCkgaW4gY2xlYXJfZml4bWFwX25vc3luYygpCj4+Pj4+Pj4+Pj4+Pj4+PiAgICAgICAtIFJl dmVydGVkIGdlbmVyaWMgcDRkX2luZGV4KCkgd2hpY2ggY2F1c2VkIHg4NiBidWlsZCBlcnJvci4K Pj4+Pj4+Pj4+Pj4+Pj4+IFJlcGxhY2VkIHdpdGgKPj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgICAgdW5j b25kaXRpb25hbCBwNGRfaW5kZXgoKSBkZWZpbmUgdW5kZXIgYXJtNjQuCj4+Pj4+Pj4+Pj4+Pj4+ PiAKPj4+Pj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+Pj4gWzFdCj4+Pj4+Pj4+Pj4+Pj4+PiBo dHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hcm0ta2VybmVsLzIwMjQwMzI2MTAxNDQ4LjM0 NTM2MjYtMS1yeWFuLnJvYmVydHNAYXJtLmNvbS88aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGlu dXgtYXJtLWtlcm5lbC8yMDI0MDMyNjEwMTQ0OC4zNDUzNjI2LTEtcnlhbi5yb2JlcnRzQGFybS5j b20vPgo+Pj4+Pj4+Pj4+Pj4+Pj4gCj4+Pj4+Pj4+Pj4+Pj4+PiBUaGFua3MsCj4+Pj4+Pj4+Pj4+ Pj4+PiBSeWFuCj4+Pj4+Pj4+Pj4+Pj4+PiAKPj4+Pj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+ Pj4gUnlhbiBSb2JlcnRzICg0KToKPj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgIGFybTY0OiBtbTogRG9u J3QgcmVtYXAgcGd0YWJsZXMgcGVyLWNvbnQocHRlfHBtZCkgYmxvY2sKPj4+Pj4+Pj4+Pj4+Pj4+ ICAgICAgIGFybTY0OiBtbTogQmF0Y2ggZHNiIGFuZCBpc2Igd2hlbiBwb3B1bGF0aW5nIHBndGFi bGVzCj4+Pj4+Pj4+Pj4+Pj4+PiAgICAgICBhcm02NDogbW06IERvbid0IHJlbWFwIHBndGFibGVz IGZvciBhbGxvY2F0ZSB2cyBwb3B1bGF0ZQo+Pj4+Pj4+Pj4+Pj4+Pj4gICAgICAgYXJtNjQ6IG1t OiBMYXppbHkgY2xlYXIgcHRlIHRhYmxlIG1hcHBpbmdzIGZyb20gZml4bWFwCj4+Pj4+Pj4+Pj4+ Pj4+PiAKPj4+Pj4+Pj4+Pj4+Pj4+IGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vZml4bWFwLmggIHwg ICA1ICstCj4+Pj4+Pj4+Pj4+Pj4+PiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL21tdS5oICAgICB8 ICAgOCArCj4+Pj4+Pj4+Pj4+Pj4+PiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCB8 ICAxMyArLQo+Pj4+Pj4+Pj4+Pj4+Pj4gYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jICAg fCAgMTAgKy0KPj4+Pj4+Pj4+Pj4+Pj4+IGFyY2gvYXJtNjQvbW0vZml4bWFwLmMgICAgICAgICAg IHwgIDExICsKPj4+Pj4+Pj4+Pj4+Pj4+IGFyY2gvYXJtNjQvbW0vbW11LmMgICAgICAgICAgICAg IHwgMzc3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPj4+Pj4+Pj4+Pj4+Pj4+IDYg ZmlsZXMgY2hhbmdlZCwgMzE5IGluc2VydGlvbnMoKyksIDEwNSBkZWxldGlvbnMoLSkKPj4+Pj4+ Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+Pj4gLS0gCj4+Pj4+Pj4+Pj4+Pj4+PiAyLjI1LjEKPj4+ Pj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+PiAKPj4+Pj4+Pj4+Pj4+Pj4gSSd2ZSBidWlsZCBh bmQgYm9vdCB0ZXN0ZWQgdGhlIHYyIG9uIEZWUCwgYmFzZSBpcyB0YWtlbiBmcm9tIHlvdXIKPj4+ Pj4+Pj4+Pj4+Pj4gbGludXgtcnIgcmVwby4gUnVubmluZyBydW5fdm10ZXN0cy5zaCBvbiB2MiBs ZWZ0IHNvbWUgZ3VwIGxvbmd0ZXJtIG5vdAo+Pj4+Pj4+Pj4+Pj4+PiBva3MsIHdvdWxkIHlvdSB0 YWtlIGEgbG9vayBhdCBpdD8gVGhlIG1tIGtzZWZsdGVzdHMgdXNlZCBpcyBmcm9tIHlvdXIKPj4+ Pj4+Pj4+Pj4+Pj4gbGludXgtcnIgcmVwbyB0b28uCj4+Pj4+Pj4+Pj4+Pj4gCj4+Pj4+Pj4+Pj4+ Pj4gVGhhbmtzIGZvciB0YWtpbmcgYSBsb29rIGF0IHRoaXMuCj4+Pj4+Pj4+Pj4+Pj4gCj4+Pj4+ Pj4+Pj4+Pj4gSSBjYW4ndCByZXByb2R1Y2UgeW91ciBpc3N1ZSB1bmZvcnR1bmF0ZWx5OyBzdGVw cyBhcyBmb2xsb3dzIG9uIEFwcGxlCj4+Pj4+Pj4+Pj4+Pj4gTTIgVk06Cj4+Pj4+Pj4+Pj4+Pj4g Cj4+Pj4+Pj4+Pj4+Pj4gQ29uZmlnOiBhcm02NCBkZWZjb25maWcgKyB0aGUgZm9sbG93aW5nOgo+ Pj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+ICMgU3F1YXNoZnMgZm9yIHNuYXBzLCB4ZnMgZm9y IGxhcmdlIGZpbGUgZm9saW9zLgo+Pj4+Pj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcgLS1lbmFi bGUgQ09ORklHX1NRVUFTSEZTX0xaNAo+Pj4+Pj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcgLS1l bmFibGUgQ09ORklHX1NRVUFTSEZTX0xaTwo+Pj4+Pj4+Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcg LS1lbmFibGUgQ09ORklHX1NRVUFTSEZTX1haCj4+Pj4+Pj4+Pj4+Pj4gLi9zY3JpcHRzL2NvbmZp ZyAtLWVuYWJsZSBDT05GSUdfU1FVQVNIRlNfWlNURAo+Pj4+Pj4+Pj4+Pj4+IC4vc2NyaXB0cy9j b25maWcgLS1lbmFibGUgQ09ORklHX1hGU19GUwo+Pj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+ ICMgRm9yIGdlbmVyYWwgbW0gZGVidWcuCj4+Pj4+Pj4+Pj4+Pj4gLi9zY3JpcHRzL2NvbmZpZyAt LWVuYWJsZSBDT05GSUdfREVCVUdfVk0KPj4+Pj4+Pj4+Pj4+PiAuL3NjcmlwdHMvY29uZmlnIC0t ZW5hYmxlIENPTkZJR19ERUJVR19WTV9NQVBMRV9UUkVFCj4+Pj4+Pj4+Pj4+Pj4gLi9zY3JpcHRz L2NvbmZpZyAtLWVuYWJsZSBDT05GSUdfREVCVUdfVk1fUkIKPj4+Pj4+Pj4+Pj4+PiAuL3Njcmlw dHMvY29uZmlnIC0tZW5hYmxlIENPTkZJR19ERUJVR19WTV9QR0ZMQUdTCj4+Pj4+Pj4+Pj4+Pj4g Li9zY3JpcHRzL2NvbmZpZyAtLWVuYWJsZSBDT05GSUdfREVCVUdfVk1fUEdUQUJMRQo+Pj4+Pj4+ Pj4+Pj4+IC4vc2NyaXB0cy9jb25maWcgLS1lbmFibGUgQ09ORklHX1BBR0VfVEFCTEVfQ0hFQ0sK Pj4+Pj4+Pj4+Pj4+PiAKPj4+Pj4+Pj4+Pj4+PiAjIEZvciBtbSBzZWxmdGVzdHMuCj4+Pj4+Pj4+ Pj4+Pj4gLi9zY3JpcHRzL2NvbmZpZyAtLWVuYWJsZSBDT05GSUdfVVNFUkZBVUxURkQKPj4+Pj4+ Pj4+Pj4+PiAuL3NjcmlwdHMvY29uZmlnIC0tZW5hYmxlIENPTkZJR19URVNUX1ZNQUxMT0MKPj4+ Pj4+Pj4+Pj4+PiAuL3NjcmlwdHMvY29uZmlnIC0tZW5hYmxlIENPTkZJR19HVVBfVEVTVAo+Pj4+ Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+IFJ1bm5pbmcgb24gVk0gd2l0aCAxMkcgbWVtb3J5LCBz cGxpdCBhY3Jvc3MgMiAoZW11bGF0ZWQpIE5VTUEgbm9kZXMKPj4+Pj4+Pj4+Pj4+PiAobmVlZGVk IGJ5Cj4+Pj4+Pj4+Pj4+Pj4gc29tZSBtbSBzZWxmdGVzdHMpLCB3aXRoIGtlcm5lbCBjb21tYW5k IGxpbmUgdG8gcmVzZXJ2ZSBodWdldGxicyBhbmQKPj4+Pj4+Pj4+Pj4+PiBvdGhlcgo+Pj4+Pj4+ Pj4+Pj4+IGZlYXR1cmVzIHJlcXVpcmVkIGJ5IHNvbWUgbW0gc2VsZnRlc3RzOgo+Pj4+Pj4+Pj4+ Pj4+IAo+Pj4+Pj4+Pj4+Pj4+ICIKPj4+Pj4+Pj4+Pj4+PiB0cmFuc3BhcmVudF9odWdlcGFnZT1t YWR2aXNlIGVhcmx5Y29uIHJvb3Q9L2Rldi92ZGEyIHNlY3JldG1lbS5lbmFibGUKPj4+Pj4+Pj4+ Pj4+PiBodWdlcGFnZXN6PTFHIGh1Z2VwYWdlcz0wOjIsMToyIGh1Z2VwYWdlc3o9MzJNIGh1Z2Vw YWdlcz0wOjIsMToyCj4+Pj4+Pj4+Pj4+Pj4gZGVmYXVsdF9odWdlcGFnZXN6PTJNIGh1Z2VwYWdl cz0wOjY0LDE6NjQgaHVnZXBhZ2Vzej02NEsKPj4+Pj4+Pj4+Pj4+PiBodWdlcGFnZXM9MDoyLDE6 Mgo+Pj4+Pj4+Pj4+Pj4+ICIKPj4+Pj4+Pj4+Pj4+PiAKPj4+Pj4+Pj4+Pj4+PiBVYnVudHUgdXNl cnNwYWNlIHJ1bm5pbmcgb2ZmIFhGUyByb290ZnMuIEJ1aWxkIGFuZCBydW4gbW0gc2VsZnRlc3Rz Cj4+Pj4+Pj4+Pj4+Pj4gZnJvbSBzYW1lCj4+Pj4+Pj4+Pj4+Pj4gZ2l0IHRyZWUuCj4+Pj4+Pj4+ Pj4+Pj4gCj4+Pj4+Pj4+Pj4+Pj4gCj4+Pj4+Pj4+Pj4+Pj4gQWx0aG91Z2ggSSBkb24ndCB0aGlu ayBhbnkgb2YgdGhpcyBjb25maWcgc2hvdWxkIG1ha2UgYSBkaWZmZXJlbmNlIHRvCj4+Pj4+Pj4+ Pj4+Pj4gZ3VwX2xvbmd0ZXJtLgo+Pj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4+IExvb2tzIGxp a2UgeW91ciBlcnJvcnMgYXJlIGFsbCAiZnRydW5jYXRlKCkgZmFpbGVkIi4gSSd2ZSBzZWVuIHRo aXMKPj4+Pj4+Pj4+Pj4+PiBwcm9ibGVtIG9uCj4+Pj4+Pj4+Pj4+Pj4gb3VyIENJIHN5c3RlbS4g VGhlcmUgaXQgaXMgZHVlIHRvIHJ1bm5pbmcgdGhlIHRlc3RzIGZyb20gTkZTIGZpbGUKPj4+Pj4+ Pj4+Pj4+PiBzeXN0ZW0uIFdoYXQKPj4+Pj4+Pj4+Pj4+PiBmaWxlc3lzdGVtIGFyZSB5b3UgdXNp bmc/IFBlcmhhcHMgeW91IGFyZSBzaGFyaW5nIGludG8gdGhlIEZWUCB1c2luZwo+Pj4+Pj4+Pj4+ Pj4+IDlwPyBUaGF0Cj4+Pj4+Pj4+Pj4+Pj4gbWlnaHQgYWxzbyBiZSBwcm9ibGVtYXRpYy4KPj4+ Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+Pj4gVGhhdCB3YXMgaXQuIFRoaXMgdGltZSBJIGJvb3RlZCB1 cCB0aGUga2VybmVsIGluY2x1ZGluZyB5b3VyIHNlcmllcyBvbgo+Pj4+Pj4+Pj4+Pj4gUUVNVSBv biBteSBNMSBhbmQgZXhlY3V0ZWQgdGhlIGd1cF9sb25ndGVybSBwcm9ncmFtIHdpdGhvdXQgdGhl IGZ0cnVuY2F0ZQo+Pj4+Pj4+Pj4+Pj4gZmFpbHVyZXMuIFdoZW4gdGVzdGluZyB5b3VyIGtlcm5l bCBvbiBGVlAsIEkgd2FzIGV4ZWN1dGluZyB0aGUgc2NyaXB0Cj4+Pj4+Pj4+Pj4+PiBmcm9tIHRo ZSBGVlAncyBob3N0IGZpbGVzeXN0ZW0gdXNpbmcgOXAuCj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+ PiBJJ20gbm90IHN1cmUgZXhhY3RseSB3aGF0IHRoZSByb290IGNhdXNlIGlzLiBQZXJoYXBzIHRo ZXJlIGlzbid0IGVub3VnaAo+Pj4+Pj4+Pj4+PiBzcGFjZSBvbgo+Pj4+Pj4+Pj4+PiB0aGUgZGlz az8gSXQgbWlnaHQgYmUgd29ydGggZW5oYW5jaW5nIHRoZSBlcnJvciBsb2cgdG8gcHJvdmlkZSB0 aGUKPj4+Pj4+Pj4+Pj4gZXJybm8gaW4KPj4+Pj4+Pj4+Pj4gdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvbW0vZ3VwX2xvbmd0ZXJtLmMuCj4+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+IAo+Pj4+Pj4+Pj4+ IEF0dGFjaGVkIGlzIHRoZSBzdHJhY2XigJlkIGd1cF9sb25ndGVybSBleGVjdXRpb25nIGxvZyBv biB5b3VyCj4+Pj4+Pj4+Pj4gcGd0YWJsZS1ib290LXNwZWVkdXAtdjIga2VybmVsLgo+Pj4+Pj4+ Pj4gCj4+Pj4+Pj4+PiBTb3JyeSBhcmUgeW91IHNheWluZyB0aGF0IGl0IG9ubHkgZmFpbHMgd2l0 aCB0aGUgcGd0YWJsZS1ib290LXNwZWVkdXAtdjIKPj4+Pj4+Pj4+IHBhdGNoCj4+Pj4+Pj4+PiBz ZXQgYXBwbGllZD8gSSB0aG91Z2h0IHdlIHByZXZpb3VzbHkgY29uY2x1ZGVkIHRoYXQgaXQgd2Fz IGluZGVwZW5kZW50IG9mCj4+Pj4+Pj4+PiB0aGF0Pwo+Pj4+Pj4+Pj4gSSB3YXMgdW5kZXIgdGhl IGltcHJlc3Npb24gdGhhdCBpdCB3YXMgZmlsZXN5c3RlbSByZWxhdGVkIGFuZCBub3Qgc29tZXRo aW5nCj4+Pj4+Pj4+PiB0aGF0Cj4+Pj4+Pj4+PiBJIHdhcyBwbGFubmluZyB0byBpbnZlc3RpZ2F0 ZS4KPj4+Pj4+Pj4gCj4+Pj4+Pj4+IE5vLCBpcnJlc3BlY3RpdmUgb2YgdGhlIGtlcm5lbCwgaWYg dXNpbmcgOXAgb24gRlZQIHRoZSB0ZXN0IHByb2dyYW0gZmFpbHMuCj4+Pj4+Pj4+IEl0IGlzIGlu ZGVlZCA5cCBmaWxlc3lzdGVtIHJlbGF0ZWQsIGFzIEkgc3dpdGNoZWQgdG8gdXNpbmcgTkZTIGFs bCB0aGUKPj4+Pj4+Pj4gaXNzdWVzIGFyZSBnb25lLgo+Pj4+Pj4+IAo+Pj4+Pj4+IERpZCBpdCBu ZXZlciB3b3JrIG9uIDlwPyBJZiBzbywgd2UgbWlnaHQgaGF2ZSB0byBTS0lQIHRoYXQgdGVzdC4K Pj4+Pj4+PiAKPj4+Pj4+PiBvcGVuYXQoQVRfRkRDV0QsICJndXBfbG9uZ3Rlcm0uY190bXBmaWxl X0JMYm9PdCIsIE9fUkRXUnxPX0NSRUFUfE9fRVhDTCwKPj4+Pj4+PiAwNjAwKSA9IDMKPj4+Pj4+ PiB1bmxpbmthdChBVF9GRENXRCwgImd1cF9sb25ndGVybS5jX3RtcGZpbGVfQkxib090IiwgMCkg PSAwCj4+Pj4+Pj4gZnN0YXRmcygzLCAweGZmZmZlNTA1YTg0MCkgICAgICAgICAgICAgID0gLTEg RU9QTk9UU1VQUCAoT3BlcmF0aW9uIG5vdAo+Pj4+Pj4+IHN1cHBvcnRlZCkKPj4+Pj4+PiBmdHJ1 bmNhdGUoMywgNDA5NikgICAgICAgICAgICAgICAgICAgICAgPSAtMSBFTk9FTlQgKE5vIHN1Y2gg ZmlsZSBvcgo+Pj4+Pj4+IGRpcmVjdG9yeSkKPj4+Pj4+IAo+Pj4+Pj4gTm90ZTogSSdtIHdvbmRl cmluZyBpZiB0aGUgdW5saW5rYXQgaGVyZSBpcyB0aGUgcHJvYmxlbSB0aGF0IG1ha2VzCj4+Pj4+ PiBmdHJ1bmNhdGUoKSB3aXRoIDlwIHJlc3VsdCBpbiB3ZWlyZCBlcnJvcnMgKGUuZy4sIHRoZSBo eXBlcnZpc29yCj4+Pj4+PiB1bmxpbmtlZCB0aGUgZmlsZSBhbmQgY2Fubm90IHJlb3BlbiBpdCBm b3IgdGhlIGZzdGF0ZnMvZnRydW5jYXRlLiAuLi4KPj4+Pj4+IHdoaWNoIGdpdmVzIHVzIHdlaXJk IGVycm9ycyBoZXJlKS4KPj4+Pj4+IAo+Pj4+Pj4gVGhlbiwgd2Ugc2hvdWxkIGxvb2t1cCB0aGUg ZnMgdHlwZSBpbiBydW5fd2l0aF9sb2NhbF90bXBmaWxlKCkgYmVmb3JlCj4+Pj4+PiB0aGUgdW5s aW5rKCkgYW5kIHNpbXBseSBza2lwIHRoZSB0ZXN0IGlmIGl0IGlzIDlwLgo+Pj4+PiAKPj4+Pj4g VGhlIHVubGluayB3aXRoIDlwIG1vc3QgY2VydGFpbmx5IHdhcyBhIGtub3duIGlzc3VlIGluIHRo ZSBwYXN0Ogo+Pj4+PiAKPj4+Pj4gaHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJvamVjdC9xZW11 Ly0vaXNzdWVzLzEwMwo+Pj4+PiAKPj4+Pj4gTWF5YmUgaXQncyBzdGlsbCBhbiBpc3N1ZSB3aXRo IG9sZGVyIGh5cGVydmlzb3JzIChRRU1VPyk/IE9yIGl0IHdhcyBuZXZlcgo+Pj4+PiBjb21wbGV0 ZWx5IHJlc29sdmVkPwo+Pj4+IAo+Pj4+IEkgYmVsaWV2ZSBJdGFydSBpcyBydW5uaW5nIG9uIEZW UCAoRml4ZWQgVmlydHVhbCBQbGF0Zm9ybSAtICJmYXN0IG1vZGVsIiAtCj4+Pj4gQXJtJ3MgYXJj aGl0ZWN0dXJlIGVtdWxhdG9yKS4gU28gUUVNVSB3b24ndCBiZSBpbnZvbHZlZCBoZXJlLiBUaGUg RlZQIGVtdWxhdGVzCj4+Pj4gYSA5cCBkZXZpY2UsIHNvIHBlcmhhcHMgdGhlIGJ1ZyBpcyBpbiB0 aGVyZS4KPj4+IAo+Pj4gVmVyeSBsaWtlbHkuCj4+PiAKPj4+PiAKPj4+PiBOb3RlIHRoYXQgSSBz ZWUgbG90cyBvZiAiZmFsbG9jYXRlKCkgZmFpbGVkIiBmYWlsdXJlcyBpbiBndXBfbG9uZ3Rlcm0g d2hlbgo+Pj4+IHJ1bm5pbmcgb24gb3VyIENJIHN5c3RlbS4gVGhpcyBpcyBhIGNvbXBsZXRlbHkg ZGlmZmVyZW50IHNldHVwOyBSZWFsIEhXIHdpdGgKPj4+PiBMaW51eCBydW5uaW5nIGJhcmUgbWV0 YWwgdXNpbmcgYW4gTkZTIHJvb3Rmcy4gSSdtIG5vdCBzdXJlIGlmIHRoaXMgaXMgcmVsYXRlZC4K Pj4+PiBMb2dzIHNob3cgaXQgZmFpbGluZyBjb25zaXN0ZW50bHkgZm9yIHRoZSAidG1wZmlsZSIg YW5kICJsb2NhbCB0bXBmaWxlIiB0ZXN0Cj4+Pj4gY29uZmlncy4gSSBhbHNvIHNlZSBhIGNvdXBs ZSBvZiB0aGVzZSBmYWlscyBpbiB0aGUgY293IHRlc3RzLgo+Pj4gCj4+PiBXaGF0IGlzIHRoZSBm YWxsb2NhdGUoKSBlcnJubyB5b3UgYXJlIGdldHRpbmc/IHN0cmFjZSBsb2cgd291bGQgaGVscCAo dG8gc2VlIGlmCj4+PiBzdGF0ZnMgYWxzbyBmYWlscyBhbHJlYWR5KSEgTGlrZWx5IGEgc2ltaWxh ciBORlMgaXNzdWUuCj4+IFVuZm9ydHVuYXRlbHkgdGhpcyBpcyBhIHN5c3RlbSBJIGRvbid0IGhh dmUgYWNjZXNzIHRvLiBJJ3ZlIHJlcXVlc3RlZCBzb21lIG9mCj4+IHRoaXMgdHJpYWdlIHRvIGJl IGRvbmUsIGJ1dCBpdHMgZmFpcmx5IGxvdyBwcmlvcml0eSB1bmZvcnR1bmF0ZWx5Lgo+IAo+IFRv IHdvcmsgYXJvdW5kIHRoZXNlIEJVR3MgKD8pIGVsc2V3aGVyZSwgd2UgY291bGQgc2ltcGx5IHNr aXAgdGhlIHRlc3QgaWYgZ2V0X2ZzX3R5cGUoKSBpcyBub3QgYWJsZSB0byBkZXRlY3QgdGhlIEZT IHR5cGUuIExpa2VseSB0aGF0J3MgYW4gZWFybHkgaW5kaWNhdG9yIHRoYXQgdGhlIHVubGluaygp IG1lc3NlZCBzb21ldGhpbmcgdXAuCj4gCj4gLi4uIGRvZXNuJ3QgZmVlbCByaWdodCwgdGhvdWdo LgoKSSB0aGluayBpdOKAmXMgYSBnb29kIGlkZWEgc28gdGhhdCB0aGUgbW0ga3NlbGZ0ZXN0cyBy ZXN1bHRzIGxvb2sgcmVhc29uYWJsZS4gU2luY2UgeW914oCZcmUgYW4gZXhwZXJ0IG9uIEdVUC1m YXN0IChvciBmYXN0LUdVUD8pLCB3aGVuIHlvdSB1cGRhdGUgdGhlIGNvZGUsIGNvdWxkIHlvdSBw cmludCBvdXQgZXJybm8gYXMgd2VsbCBsaWtlIHRoZSBzcGxpdF9odWdlX3BhZ2VfdGVzdC5jIGRv ZXM/CgpUaGFua3MsCkl0YXJ1LgoKPiAKPiAtLSAKPiBDaGVlcnMsCj4gCj4gRGF2aWQgLyBkaGls ZGVuYgo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK