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 X-Spam-Level: X-Spam-Status: No, score=-4.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41423C433ED for ; Fri, 7 May 2021 09:43:24 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8F967613C9 for ; Fri, 7 May 2021 09:43:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8F967613C9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: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=M2tRams2WXlU/mLO+NpWvM3pAxd5V0fNUMFt7TZYEJw=; b=LMNe5qOoG0ZjoYWTq9jogDdxg ZqlfvuhdRnJjju3T+NhGfuboJ5kquSHPLIEWg/MPf9eoG8X8DFYUFHBaWFteugyJYApoky4lRv2Pe qOWYSc7USCTn6f48BPl/6AsprioQfNqcDNErV4a8ywkoXT7wV5awbbWtSiJPXWuTSIxPfhiI8IBCI TCNhLuTwTregLHdM4hkYUN9PJzD4ZGmHf08gyMzL2srwcXQLf5JIRcmaqWa1FNyfPbD0sr9XjsUq4 dlo3XKpR0Grp3HqN16Y9jtR8V9YSlYuk/UkUgnNKdlGUL6LnkTt8fuTgFpwTkB3ZnfZcErkkKAW9O aQy8bERlg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lewzI-006hPv-Sq; Fri, 07 May 2021 09:41:37 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lewzF-006hP9-Gc for linux-arm-kernel@desiato.infradead.org; Fri, 07 May 2021 09:41:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=BBNvh3r5sV+6jO7FM3iKcT7fl2GUkEh2d2SB8GlpzPg=; b=qgee5hpDMP8HsAruhHdjAV+frZ MVwhdnPblWOexFV/t2rcpTdxBIJmOhHggLdWU3THIOcJNu1GwYHpOV+ywRDzCHVR+D32SAoqrBMwj UuGbshDwc+E1N6kYpxfXeR+L7DUBoX8/RLVrU+QuOAvJJiRUVEgFO2+Ev3RUGcRJN799QclefaJDE whf6S0ESdiG9x3yJKHttvieqEMDGjKIaCwCpdsYJPQSQm25T0tXe3k3K5J+Wvyw1hrunziOnDD8+h NcJA5ZdrCDPBHgQL5Wuftvmzzpy+QHsXTr3BkhvEVYt5tZeO2KHKDRp+l5giXjsCc1Pwpwq3zxz+O oxLq0Kng==; Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lewzC-006kLb-JJ for linux-arm-kernel@lists.infradead.org; Fri, 07 May 2021 09:41:32 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 768CE106F; Fri, 7 May 2021 02:41:26 -0700 (PDT) Received: from C02TD0UTHF1T.local (unknown [10.57.29.54]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 35F413F718; Fri, 7 May 2021 02:41:24 -0700 (PDT) Date: Fri, 7 May 2021 10:41:13 +0100 From: Mark Rutland To: He Ying Cc: catalin.marinas@arm.com, dvyukov@google.com, elver@google.com, james.morse@arm.com, linux-arm-kernel@lists.infradead.org, paulmck@kernel.org, peterz@infradead.org, will@kernel.org Subject: Re: [PATCHv2 06/11] arm64: entry: move el1 irq/nmi logic to C Message-ID: <20210507094113.GA52849@C02TD0UTHF1T.local> References: <20201130115950.22492-7-mark.rutland@arm.com> <20210506091637.GC12883@C02TD0UTHF1T.local> <20210506105832.GB32366@C02TD0UTHF1T.local> <2fbcbef1-523d-da73-9426-205dbfb1877b@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <2fbcbef1-523d-da73-9426-205dbfb1877b@huawei.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210507_024130_755839_54369FA9 X-CRM114-Status: GOOD ( 40.68 ) 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 T24gRnJpLCBNYXkgMDcsIDIwMjEgYXQgMTE6MjU6MzFBTSArMDgwMCwgSGUgWWluZyB3cm90ZToK PiDlnKggMjAyMS81LzYgMTg6NTgsIE1hcmsgUnV0bGFuZCDlhpnpgZM6Cj4gPiBPbiBUaHUsIE1h eSAwNiwgMjAyMSBhdCAwNjoyNTo0MFBNICswODAwLCBIZSBZaW5nIHdyb3RlOgo+ID4gPiDlnKgg MjAyMS81LzYgMTc6MTYsIE1hcmsgUnV0bGFuZCDlhpnpgZM6Cj4gPiA+ID4gT24gVGh1LCBNYXkg MDYsIDIwMjEgYXQgMDQ6Mjg6MDlQTSArMDgwMCwgSGUgWWluZyB3cm90ZToKPiA+ID4gPiA+IEhp IE1hcmssCj4gPiA+ID4gSGksCj4gPiA+ID4gCj4gPiA+ID4gPiBJIGhhdmUgZmFjZWQgYSBwZXJm b3JtYW5jZSByZWdyZXNzaW9uIGZvciBoYW5kbGluZyBJUElzIHNpbmNlIHRoaXMgY29tbWl0Lgo+ ID4gPiA+ID4gCj4gPiA+ID4gPiBJIGNhY3VsYXRlIHRoZSBjeWNsZXMgZnJvbSB0aGUgZW50cnkg b2YgZWwxX2lycSB0byB0aGUgZW50cnkgb2YKPiA+ID4gPiA+IGdpY19oYW5kbGVfaXJxLgo+ID4g PiA+ID4gCj4gPiA+ID4gPiAgIEZyb20gbXkgdGVzdCwgdGhpcyBjb21taXQgbWF5IG92ZXJoZWFk IGFuIGF2ZXJhZ2Ugb2YgMjAwIGN5Y2xlcy4gRG8geW91Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IGhh dmUgYW55IGlkZWFzIGFib3V0IHRoaXM/IExvb2tpbmcgZm9yd2FyZCB0byB5b3VyIHJlcGx5Lgo+ ID4gPiA+IE9uIHRoYXQgcGF0aCwgdGhlIG9ubHkgbWVhbmluZ2Z1bGwgZGlmZmVyZW5jZSBpcyB0 aGUgY2FsbCB0bwo+ID4gPiA+IGVudGVyX2VsMV9pcnFfb3Jfbm1pKCksIHNpbmNlIHRoYXQncyBu b3cgdW5jb25kaXRpb25hbCwgYW5kIGl0J3MgYW4KPiA+ID4gPiBleHRyYSBsYXllciBpbiB0aGUg Y2FsbGNoYWluLgo+ID4gPiA+IAo+ID4gPiA+IFdoZW4gZWl0aGVyIENPTkZJR19BUk02NF9QU0VV RE9fTk1JIG9yIENPTkZJR19UUkFDRV9JUlFGTEFHUyBhcmUKPiA+ID4gPiBzZWxlY3RlZCwgZW50 ZXJfZWwxX2lycV9vcl9ubWkoKSBpcyBhIHdyYXBwZXIgZm9yIGZ1bmN0aW9ucyB3ZSdkIGFscmVh ZHkKPiA+ID4gPiBjYWxsLCBhbmQgSSdkIGV4cGVjdHRoZSBjb3N0IG9mIHRoZSBjYWxsZWVzIHRv IGRvbWluYXRlLgo+ID4gPiA+IAo+ID4gPiA+IFdoZW4gbmVpdGhlciBDT05GSUdfQVJNNjRfUFNF VURPX05NSSBub3IgQ09ORklHX1RSQUNFX0lSUUZMQUdTIGFyZQo+ID4gPiA+IHNlbGVjdGVkLCB0 aGlzIHNob3VsZCBhZGQgYSB0cml2aWFsIGZ1bmN0aW9uIHRoYXQgaW1tZWRpYXRlbHkgcmV0dXJu cywKPiA+ID4gPiBhbmQgc28gMjAwIGN5Y2xlcyBzZWVtcyBleGNlc3NpdmUuCj4gPiA+ID4gCj4g PiA+ID4gQnVpbGRpbmcgdGhhdCBjb21taXQgd2l0aCBkZWZjb25maWcsIEkgc2VlIHRoYXQgR0ND IDEwLjEuMCBnZW5lcmF0ZXM6Cj4gPiA+ID4gCj4gPiA+ID4gfCBmZmZmODAwMDEwZGZjODY0IDxl bnRlcl9lbDFfaXJxX29yX25taT46Cj4gPiA+ID4gfCBmZmZmODAwMDEwZGZjODY0OiAgICAgICBk NTAzMjMzZiAgICAgICAgcGFjaWFzcAo+ID4gPiA+IHwgZmZmZjgwMDAxMGRmYzg2ODogICAgICAg ZDUwMzIzYmYgICAgICAgIGF1dGlhc3AKPiA+ID4gPiB8IGZmZmY4MDAwMTBkZmM4NmM6ICAgICAg IGQ2NWYwM2MwICAgICAgICByZXQKPiA+ID4gQ09ORklHX0FSTTY0X1BTRVVET19OTUkgaXMgbm90 IHNldCBpbiBteSB0ZXN0LiBBbmQgSSBnZW5lcmF0ZSBhIGRpZmZlcmVudAo+ID4gPiBvYmplY3QK PiA+ID4gCj4gPiA+IGZyb20geW91cnM6Cj4gPiA+IAo+ID4gPiAwMDAwMDAwMDAwMDAwMmI4IDxl bnRlcl9lbDFfaXJxX29yX25taT46Cj4gPiA+IAo+ID4gPiAgwqAyYjg6wqDCoMKgwqDCoMKgwqAg ZDUwMzIzM2bCoMKgwqDCoMKgwqDCoMKgIHBhY2lhc3AKPiA+ID4gIMKgMmJjOsKgwqDCoMKgwqDC oMKgIGE5YmY3YmZkwqDCoMKgwqDCoMKgwqDCoMKgIHN0cMKgIHgyOSwgeDMwLCBbc3AsICMtMTZd IQo+ID4gPiAgwqAyYzA6wqDCoMKgwqDCoMKgwqAgOTEwNTIwMDDCoMKgwqDCoMKgwqDCoMKgIGFk ZCB4MCwgeDAsICMweDE0OAo+ID4gPiAgwqAyYzQ6wqDCoMKgwqDCoMKgwqAgOTEwMDAzZmTCoMKg wqDCoMKgwqDCoMKgwqAgbW92IHgyOSwgc3AKPiA+ID4gIMKgMmM4OsKgwqDCoMKgwqDCoMKgIDk3 ZmZmZjU3wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJsIDI0IDxlbnRlcl9mcm9tX2tlcm5lbF9t b2RlLmlzcmEuNj4KPiA+ID4gIMKgMmNjOsKgwqDCoMKgwqDCoMKgIGE4YzE3YmZkwqDCoMKgwqDC oMKgwqDCoMKgwqAgbGRwIHgyOSwgeDMwLCBbc3BdLCAjMTYKPiA+ID4gIMKgMmQwOsKgwqDCoMKg wqDCoCBkNTAzMjNiZsKgwqDCoMKgwqDCoMKgwqDCoMKgIGF1dGlhc3AKPiA+ID4gIMKgMmQ0OsKg wqDCoMKgwqDCoCBkNjVmMDNjMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0Cj4gPiBXaGljaCBj b21taXQgYXJlIHlvdSB0ZXN0aW5nIHdpdGg/Cj4gPiAKPiA+IFRoZSBjYWxsIHRvIGVudGVyX2Zy b21fa2VybmVsX21vZGUoKSB3YXMgaW50cm9kdWNlZCBsYXRlciBpbiBjb21taXQ6Cj4gPiAKPiA+ ICAgIDdjZDFlYTEwMTBhY2JlZGUgKCJybTY0OiBlbnRyeTogZml4IG5vbi1OTUkga2VybmVsPC0+ a2VybmVsIHRyYW5zaXRpb25zIikKPiA+IAo+ID4gLi4uIGFuZCBkb2Vzbid0IGV4aXN0IGluIGNv bW1pdDoKPiA+IAo+ID4gICAgMTA1ZmMzMzUyMDc3YmJhNSAoImFybTY0OiBlbnRyeTogbW92ZSBl bDEgaXJxL25taSBsb2dpYyB0byBDIikKPiA+IAo+ID4gRG8geW91IHNlZSB0aGUgMjAwIGN5Y2xl IHBlbmFsdHkgd2l0aCAxMDVmYzMzNTIwNzdiYmE1IGFsb25lPyAuLi4gb3IKPiA+IG9ubHkgb25s eSBhZnRlciB0aGUgd2hvbGUgc2VyaWVzIGlzIGFwcGxpZWQ/Cj4gU29ycnkgSSBkaWRuJ3QgcG9p bnQgaXQgb3V0LiBUaGUgdHJ1dGggaXMgYWZ0ZXIgdGhlIHdob2xlIHNlcmllcyBpcyBhcHBsaWVk LgoKT2suIEluIGZ1dHVyZSBpdCB3b3VsZCBiZSB2ZXJ5IGhlbHBmdWwgdG8gYmUgbW9yZSBwcmVj aXNlLCBhcyBvdGhlcndpc2UKcGVvcGxlIGNhbiBlbmQgdXAgd2FzdGluZyB0aW1lIGludmVzdGln YXRpbmcgd2l0aCB0aGUgd3JvbmcgaW5mb3JtYXRpb24uCgpXaGF0IHlvdSBpbml0aWFsbHkgc2Fp ZDoKCnwgSSBoYXZlIGZhY2VkIGEgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBmb3IgaGFuZGxpbmcg SVBJcyBzaW5jZSB0aGlzCnwgY29tbWl0LgoKLi4uIGlzIHNvbWV3aGF0IG1pc2xlYWRpbmcuCgo+ ID4gSWYgZW50ZXJfZnJvbV9rZXJuZWxfbW9kZSgpIGlzIHdoYXQncyB0YWtpbmcgdGhlIGJ1bGsg b2YgdGhlIGN5Y2xlcywKPiA+IHRoZW4gdGhpcyBpcyBsaWtlbHkgdW5hdm9pZGFibGUgd29yayB0 aGF0IHByZXZpb3VzbHkgKGVycm9uZW91c2x5KQo+ID4gb21pdHRlZC4KPiBVbmF2b2lkZWQgd29y az8gTm8sIHBsZWFzZS4uLgo+ID4gCj4gPiA+ID4gLi4uIHNvIHBlcmhhcHMgdGhlIFBBQ0lBU1Ag YW5kIEFVVElBU1AgaGF2ZSBhbiBpbXBhY3Q/Cj4gPiA+IEknbSBub3Qgc3VyZS4uLgo+ID4gPiA+ IEkgaGF2ZSBhIGZldyBxdWVzdGlvbnM6Cj4gPiA+ID4gCj4gPiA+ID4gKiBXaGljaCBDUFUgZG8g eW91IHNlZSB0aGlzIG9uPwo+ID4gPiBIaXNpbGljb24gaGlwMDUtZDAyLgo+ID4gPiA+ICogRG9l cyB0aGF0IENQVSBpbXBsZW1lbnQgcG9pbnRlciBhdXRoZW50aWNhdGlvbj8KPiA+ID4gSSdtIG5v dCBzdXJlLiBIb3cgdG8gY2hlY2s/Cj4gPiBEb2VzIHRoZSBkbWVzZyBjb250YWluICJBZGRyZXNz IGF1dGhlbnRpY2F0aW9uIiBhbnl3aGVyZT8KPiAKPiBJIGRvbid0IGZpbmQgIkFkZHJlc3MgYXV0 aGVudGljYXRpb24iIGluIGRtZXNnLiBCdXQgSSBmaW5kCj4gQ09ORklHX0FSTTY0X1BUUl9BVVRI IGlzIHNldCB0byB5IGluIG91ciBjb25maWcuCj4gCj4gRG9lcyB0aGUgY29uZmlnIENPTkZJR19B Uk02NF9QVFJfQVVUSCBpbXBhY3QgdGhlIHBlcmZvcm1hbmNlPwoKSWYgeW91ciBIVyBpbXBsZW1l bnRzIHBvaW50ZXIgYXV0aGVudGljYXRpb24sIHRoZW4gdGhlcmUgd2lsbCBiZSBzb21lCihzbWFs bCkgaW1wYWN0LiBJZiB5b3VyIEhXIGRvZXMgbm90LCB0aGVuIHRoZSBjb3N0IHNob3VsZCBqdXN0 IGJlIGEgZmV3Ck5PUHMsIGFuZCBpcyBub3QgZXhwZWVjdGVkIHRvIGJlIG1lYXN1cmVhYmxlLgoK PiA+ID4gPiAqIFdoYXQga2VybmVsIGNvbmZpZyBhcmUgeW91IHVzaW5nPyBlLmcuIGlzIHRoaXMg c2VlbiB3aXRoIGRlZmNvbmZpZz8KPiA+ID4gT3VyIG93bi4gQnV0IENPTkZJR19BUk02NF9QU0VV RE9fTk1JIGlzIG5vdCBzZXQuCj4gPiA+IAo+ID4gPiBTaG91bGQgSSBwcm92aWRlIGl0IGFzIGFu IGF0dGFjaG1lbnQ/Cj4gPiA+RnJvbSB5b3VyIGF0dGFjaG1lbnQgSSBzZWUgdGhhdCBUUkFDRV9J UlFGTEFHUyBhbmQgTE9DS0RFUCBhcmVuJ3QKPiA+IHNlbGVjdGVkIGVpdGhlciwgc28gSUlVQyB0 aGUgb25seSBub24tdHJpdmlhbCBiaXRzIGluCj4gPiBlbnRlcl9mcm9tX2tlcm5lbF9tb2RlKCkg d2lsbCBiZSB0aGUgUkNVIGFjY291bnRpbmcuCj4gCj4gRnJvbSBteSBvdGhlciB0ZXN0cywgdGhl IGZvbGxvd2luZyBjb2RlIGNvbnRyaXV0ZXMgbW9zdCB0byB0aGUgb3ZlcmhlYWQuCj4gCj4gCj4g c3RhdGljIHZvaWQgbm9pbnN0ciBlbnRlcl9mcm9tX2tlcm5lbF9tb2RlKHN0cnVjdCBwdF9yZWdz ICpyZWdzKQo+IAo+IHsKPiAKPiDCoCByZWdzLT5leGl0X3JjdSA9IGZhbHNlOwo+IAo+IMKgIC4u Lgo+IAo+IH0KClRoZSBsb2dpYyBtYW5pcHVsdGluZyByZWdzLT5leGl0X3JjdSBhbmQgY2FsbGlu ZyByY3VfaXJxX2VudGVyKCkgaXMKbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBoYW5kbGUgdGFraW5n IGludGVycnVwdHMgKG9yIG90aGVyIGV4Y2VwdGlvbnMpCmZyb20gaWRsZSBzZXF1ZW5jZXMuIFdp dGhvdXQgdGhpcywgUkNVIGlzbid0IGd1YXJhbnRlZWQgdG8gYmUgd2F0Y2hpbmcsCmFuZCBpcyB1 bnNhZmUgdG8gdXNlLgoKU28gdGhpcyBpc24ndCBzb21ldGhpbmcgdGhhdCBjYW4gYmUgZWFzaWx5 IHJlbW92ZWQuCgo+ID4gPiA+ICogV2hhdCdzIHRoZSB0b3RhbCBjeWNsZSBjb3VudCBmcm9tIGVs MV9pcnEgdG8gZ2ljX2hhbmRsZV9pcnE/Cj4gPiA+IEFwcGx5aW5nIHRoZSBwYXRjaHNldDrCoMKg IDI0OSBjeWNsZXMuCj4gPiA+IAo+ID4gPiBSZXZlcnRpbmcgdGhlIHBhdGNoc2V0OsKgIDc3IGN5 Y2xlcy4KPiA+ID4gCj4gPiA+IE1heWJlIDE3MCBjeWNsZXMgaXMgbW9yZSBjb3JyZWN0Lgo+ID4g PiAKPiA+ID4gPiAqIERvZXMgdGhpcyBtZWFzdXJhYmx5IGltcGFjdCBhIHJlYWwgd29ya2xvYWQ/ Cj4gPiA+IEhhdmUgc29tZSBpbXBhY3QgdG8gc2NoZWR1bGluZyBwZXJmIHRlc3QuCj4gPiBEb2Vz IGl0IGFmZmVjdCBhIHJlYWwgd29ya2xvYWQ/IGkuZS4gbm90IGEgbWljcm9iZW5jaG1hcms/Cj4g V2UganVzdCBydW4gc29tZSBiZW5jaG1hcmtzLiBJJ20gbm90IHN1cmUgaG93IGl0IGFmZmVjdHMg YSByZWFsIHdvcmtsb2FkLgoKSSBhcHByZWNpYXRlIHRoYXQgeW91IGNhbiBtZWFzdXJlIHRoaXMg d2l0aCBhIG1pY3JvYmVuY2htYXJrLCBidXQgdW5sZXNzCnRoaXMgYWZmZWN0cyBhIHJlYWwgd29y a2xvYWQgaW4gYSBtZWFzdXJlYWJsZSB3YXkgSSBkb24ndCB0aGluayB0aGF0IHdlCnNob3VsZCBt YWtlIGFueSBjaGFuZ2VzIGhlcmUuCgpUaGFua3MKTWFyay4KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK