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=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham 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 5F482C433ED for ; Wed, 21 Apr 2021 09:16:47 +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 B005A61040 for ; Wed, 21 Apr 2021 09:16:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B005A61040 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:References: CC:To:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=rgb1RrcEramQReROqcAvnNY/vHWTvubS7GFPAXWTekc=; b=nS2FRwpMXaS4z8FEwdfilg8yE lowqv9cQf4drU/3836JP4+ghv9BcLiacga6NxK1CIaT9shO4xE3En/51HUZHtSKrTnIptvSrWeMdZ UXzb2eHUS9BisPyatGvpVD3wDENLof29bC6AQjYLKvJj5mwfOmZw5hlS5d0w6YQHWrFRc+ofoRcNJ TDrogli22TYp24ygSoc2zhSba/C3CPWeHlcMoD2qI3j0osHbtFQcZMPQzfxg31Ywp8yXy1OtMwwpf P3ibgr6XXEnwFe9sAaL0MoStckZw2T7hArnVqdRlbxFujQj2Oog+UEXuWUAPX/PCWGeCroIjrOJrg HVrrzULOA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lZ8wY-00E6GH-05; Wed, 21 Apr 2021 09:14:46 +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 1lZ8vr-00E5xO-1z for linux-arm-kernel@desiato.infradead.org; Wed, 21 Apr 2021 09:14:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:References:CC:To:From: Subject:Sender:Reply-To:Content-ID:Content-Description; bh=u782JeDn6LzQ/KMt1qhCR8eVcxhYP9hhSND86TG1flg=; b=Kxqn53jJggxmKFXxB6g7LhYK2t /Dn4bE76UhSkJRekh0j3lAS6NaZoy/rh2GQmIbr1a6pMx5/HkNBMFa2kNTJ5FWw79td51ekNMi3Pp fu3xhrj8faAPEQYWK2ZTRImNFW8q9sJ+QwhznbLn/HAuR7INaG105x/XHfk9dvXqkLqxopJghHHOb pzNY+aaB0e5Art57iG/TzMxCSbcxegPS6iZunFELqhlB7W2aIH2J3+Nvr5cjQiN/5ismBTrYP/mmj qJK+gZh2oLhQ97cN1y+1J9nGbcA5GnOYYDiOtkS+7cWdyovF0xThaVdf8yyoTtlVfTzgOw5uEKE6c PBoyb5sw==; Received: from szxga04-in.huawei.com ([45.249.212.190]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lZ8vl-00CkEf-Bl for linux-arm-kernel@lists.infradead.org; Wed, 21 Apr 2021 09:14:01 +0000 Received: from DGGEMS402-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4FQFC644tNzpYlJ; Wed, 21 Apr 2021 17:10:42 +0800 (CST) Received: from [10.67.110.136] (10.67.110.136) by DGGEMS402-HUB.china.huawei.com (10.3.19.202) with Microsoft SMTP Server id 14.3.498.0; Wed, 21 Apr 2021 17:13:39 +0800 Subject: Re: [RFC PATCH] irqchip/gic-v3: Do not enable irqs when handling spurious interrups From: He Ying To: Marc Zyngier CC: , , , , , Mark Rutland References: <20210416062217.25157-1-heying24@huawei.com> <87y2dis4d7.wl-maz@kernel.org> Message-ID: <0bdfe2c8-1ebe-1f6c-3522-da821398d820@huawei.com> Date: Wed, 21 Apr 2021 17:13:40 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: X-Originating-IP: [10.67.110.136] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210421_021357_762310_3D65D40C X-CRM114-Status: GOOD ( 44.15 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGVsbG8gTWFyYywKCgpBbnkgaWRlYXM/CgoKVGhhbmtzLgoKCuWcqCAyMDIxLzQvMTcgMTA6MDEs IEhlIFlpbmcg5YaZ6YGTOgo+IEhlbGxvIE1hcmMsCj4KPgo+IOWcqCAyMDIxLzQvMTYgMjI6MTUs IE1hcmMgWnluZ2llciDlhpnpgZM6Cj4+IFsrIE1hcmtdCj4+Cj4+IE9uIEZyaSwgMTYgQXByIDIw MjEgMDc6MjI6MTcgKzAxMDAsCj4+IEhlIFlpbmcgPGhleWluZzI0QGh1YXdlaS5jb20+IHdyb3Rl Ogo+Pj4gV2UgZm91bmQgdGhpcyBwcm9ibGVtIGluIG91ciBrZXJuZWwgc3JjIHRyZWU6Cj4+Pgo+ Pj4gW8KgwqAgMTQuODE2MjMxXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0K Pj4+IFvCoMKgIDE0LjgxNjIzMV0ga2VybmVsIEJVRyBhdCBpcnEuYzo5OSEKPj4+IFvCoMKgIDE0 LjgxNjIzMl0gSW50ZXJuYWwgZXJyb3I6IE9vcHMgLSBCVUc6IDAgWyMxXSBTTVAKPj4+IFvCoMKg IDE0LjgxNjIzMl0gUHJvY2VzcyBzd2FwcGVyLzAgKHBpZDogMCwgc3RhY2sgbGltaXQgPSAKPj4+ IDB4KF9fX19wdHJ2YWxfX19fKSkKPj4+IFvCoMKgIDE0LjgxNjIzM10gQ1BVOiAwIFBJRDogMCBD b21tOiBzd2FwcGVyLzAgVGFpbnRlZDogR8KgwqDCoMKgwqDCoMKgwqDCoMKgIAo+Pj4gT8KgwqDC oMKgwqAgNC4xOS45NS0xLmgxLkFPUzIuMC5hYXJjaDY0ICMxNAo+Pj4gW8KgwqAgMTQuODE2MjMz XSBIYXJkd2FyZSBuYW1lOiBldmIgKERUKQo+Pj4gW8KgwqAgMTQuODE2MjM0XSBwc3RhdGU6IDgw NDAwMDg1IChOemN2IGRhSWYgK1BBTiAtVUFPKQo+Pj4gW8KgwqAgMTQuODE2MjM0XSBwYyA6IGFz bV9ubWlfZW50ZXIrMHg5NC8weDk4Cj4+PiBbwqDCoCAxNC44MTYyMzVdIGxyIDogYXNtX25taV9l bnRlcisweDE4LzB4OTgKPj4+IFvCoMKgIDE0LjgxNjIzNV0gc3AgOiBmZmZmMDAwMDA4MDAzYzUw Cj4+PiBbwqDCoCAxNC44MTYyMzVdIHBtcl9zYXZlOiAwMDAwMDA3MAo+Pj4gW8KgwqAgMTQuODE2 MjM3XSB4Mjk6IGZmZmYwMDAwMDgwMDNjNTAgeDI4OiBmZmZmMDAwMDA5NWY1NmMwCj4+PiBbwqDC oCAxNC44MTYyMzhdIHgyNzogMDAwMDAwMDAwMDAwMDAwMCB4MjY6IGZmZmYwMDAwMDgwMDQwMDAK Pj4+IFvCoMKgIDE0LjgxNjIzOV0geDI1OiAwMDAwMDAwMDAxNWUwMDAwIHgyNDogZmZmZjgwMDhm YjkxNjAwMAo+Pj4gW8KgwqAgMTQuODE2MjQwXSB4MjM6IDAwMDAwMDAwMjA0MDAwMDUgeDIyOiBm ZmZmMDAwMDA4MDgxN2NjCj4+PiBbwqDCoCAxNC44MTYyNDFdIHgyMTogZmZmZjAwMDAwODAwM2Rh MCB4MjA6IDAwMDAwMDAwMDAwMDAwNjAKPj4+IFvCoMKgIDE0LjgxNjI0Ml0geDE5OiAwMDAwMDAw MDAwMDAwM2ZmIHgxODogZmZmZmZmZmZmZmZmZmZmZgo+Pj4gW8KgwqAgMTQuODE2MjQzXSB4MTc6 IDAwMDAwMDAwMDAwMDAwMDggeDE2OiAwMDNkMDkwMDAwMDAwMDAwCj4+PiBbwqDCoCAxNC44MTYy NDRdIHgxNTogZmZmZjAwMDAwOTVlYTZjOCB4MTQ6IGZmZmY4MDA4ZmZmNWFiNDAKPj4+IFvCoMKg IDE0LjgxNjI0NF0geDEzOiBmZmZmODAwOGZmZjU4YjlkIHgxMjogMDAwMDAwMDAwMDAwMDAwMAo+ Pj4gW8KgwqAgMTQuODE2MjQ1XSB4MTE6IGZmZmYwMDAwMDhjOGEyMDAgeDEwOiAwMDAwMDAwMDhl MzFmY2E1Cj4+PiBbwqDCoCAxNC44MTYyNDZdIHg5IDogZmZmZjAwMDAwOGM4YTIwOCB4OCA6IDAw MDAwMDAwMDAwMDAwMGYKPj4+IFvCoMKgIDE0LjgxNjI0N10geDcgOiAwMDAwMDAwMDAwMDAwMDA0 IHg2IDogZmZmZjgwMDhmZmY1OGI5ZQo+Pj4gW8KgwqAgMTQuODE2MjQ4XSB4NSA6IDAwMDAwMDAw MDAwMDAwMDAgeDQgOiAwMDAwMDAwMDgwMDAwMDAwCj4+PiBbwqDCoCAxNC44MTYyNDldIHgzIDog MDAwMDAwMDAwMDAwMDAwMCB4MiA6IDAwMDAwMDAwODAwMDAwMDAKPj4+IFvCoMKgIDE0LjgxNjI1 MF0geDEgOiAwMDAwMDAwMDAwMTIwMDAwIHgwIDogZmZmZjAwMDAwOTVmNTZjMAo+Pj4gW8KgwqAg MTQuODE2MjUxXSBDYWxsIHRyYWNlOgo+Pj4gW8KgwqAgMTQuODE2MjUxXcKgIGFzbV9ubWlfZW50 ZXIrMHg5NC8weDk4Cj4+PiBbwqDCoCAxNC44MTYyNTFdwqAgZWwxX2lycSsweDhjLzB4MTgwCj4+ PiBbwqDCoCAxNC44MTYyNTJdwqAgZ2ljX2hhbmRsZV9pcnErMHhiYy8weDJlNAo+Pj4gW8KgwqAg MTQuODE2MjUyXcKgIGVsMV9pcnErMHhjYy8weDE4MAo+Pj4gW8KgwqAgMTQuODE2MjUzXcKgIGFy Y2hfdGltZXJfaGFuZGxlcl92aXJ0KzB4MzgvMHg1OAo+Pj4gW8KgwqAgMTQuODE2MjUzXcKgIGhh bmRsZV9wZXJjcHVfZGV2aWRfaXJxKzB4OTAvMHgyNDAKPj4+IFvCoMKgIDE0LjgxNjI1M13CoCBn ZW5lcmljX2hhbmRsZV9pcnErMHgzNC8weDUwCj4+PiBbwqDCoCAxNC44MTYyNTRdwqAgX19oYW5k bGVfZG9tYWluX2lycSsweDY4LzB4YzAKPj4+IFvCoMKgIDE0LjgxNjI1NF3CoCBnaWNfaGFuZGxl X2lycSsweGY4LzB4MmU0Cj4+PiBbwqDCoCAxNC44MTYyNTVdwqAgZWwxX2lycSsweGNjLzB4MTgw Cj4+PiBbwqDCoCAxNC44MTYyNTVdwqAgYXJjaF9jcHVfaWRsZSsweDM0LzB4MWM4Cj4+PiBbwqDC oCAxNC44MTYyNTVdwqAgZGVmYXVsdF9pZGxlX2NhbGwrMHgyNC8weDQ0Cj4+PiBbwqDCoCAxNC44 MTYyNTZdwqAgZG9faWRsZSsweDFkMC8weDJjOAo+Pj4gW8KgwqAgMTQuODE2MjU2XcKgIGNwdV9z dGFydHVwX2VudHJ5KzB4MjgvMHgzMAo+Pj4gW8KgwqAgMTQuODE2MjU2XcKgIHJlc3RfaW5pdCsw eGI4LzB4YzgKPj4+IFvCoMKgIDE0LjgxNjI1N13CoCBzdGFydF9rZXJuZWwrMHg0YzgvMHg0ZjQK Pj4+IFvCoMKgIDE0LjgxNjI1N10gQ29kZTogOTQwNTg3ZjEgZDUzODQxMDAgYjk0MDEwMDEgMzZh N2ZkMDEgKGQ0MjEwMDAwKQo+Pj4gW8KgwqAgMTQuODE2MjU4XSBNb2R1bGVzIGxpbmtlZCBpbjog c3RhcnRfZHAoTykgc21ldGgoTykKPj4+IFvCoMKgIDE1LjEwMzA5Ml0gLS0tWyBlbmQgdHJhY2Ug NzAxNzUzOTU2Y2IxNGFhOCBdLS0tCj4+PiBbwqDCoCAxNS4xMDMwOTNdIEtlcm5lbCBwYW5pYyAt IG5vdCBzeW5jaW5nOiBGYXRhbCBleGNlcHRpb24gaW4gaW50ZXJydXB0Cj4+PiBbwqDCoCAxNS4x MDMwOTldIFNNUDogc3RvcHBpbmcgc2Vjb25kYXJ5IENQVXMKPj4+IFvCoMKgIDE1LjEwMzEwMF0g S2VybmVsIE9mZnNldDogZGlzYWJsZWQKPj4+IFvCoMKgIDE1LjEwMzEwMF0gQ1BVIGZlYXR1cmVz OiAweDM2LGEyNDAwMjE4Cj4+PiBbwqDCoCAxNS4xMDMxMDBdIE1lbW9yeSBMaW1pdDogbm9uZQo+ PiBVcmdoLi4uCj4+Cj4+PiBPdXIga2VybmVsIHNyYyB0cmVlIGlzIGJhc2VkIG9uIDQuMTkuOTUg YW5kIGJhY2twb3J0cyBhcm02NCBwc2V1ZG8tTk1JCj4+PiBwYXRjaGVzIGJ1dCBkb2Vzbid0IHN1 cHBvcnQgbmVzdGVkIE5NSS4gSXRzIHRvcCByZWxhdGl2ZSBjb21taXQgaXMKPj4+IGNvbW1pdCAx N2NlMzAyZjMxMTcgKCJhcm02NDogRml4IGludGVycnVwdCB0cmFjaW5nIGluIHRoZSBwcmVzZW5j ZSAKPj4+IG9mIE5NSXMiKS4KPj4gQ2FuIHlvdSBwbGVhc2UgcmVwcm9kdWNlIGl0IHdpdGggbWFp bmxpbmUgYW5kIHdpdGhvdXQgYW55IGJhY2twb3J0Pwo+PiBJdCBpcyBoYXJkIHRvIHJlYXNvbiBh Ym91dCBzb21ldGhpbmcgdGhhdCBpc24ndCBhIHZhbmlsbGEga2VybmVsLgo+Cj4gSSB0aGluayBv dXIga2VybmVsIGlzIHF1aXRlIGxpa2UgdjUuMyBtYWlubGluZS4gUmVwcm9kdWNpbmcgaXQgaW4g djUuMyAKPiBtYWlubGluZSBtYXkKPgo+IGJlIGEgbGl0dGxlIGRpZmZpY3VsdCBmb3IgdXMgYmVj YXVzZSBvdXIgcHJvZHVjdCBuZWVkcyBzb21lIG1vcmUgc2VsZiAKPiBkZXZlbG9wZWQKPgo+IHBh dGNoZXMgdG8gd29yay4KPgo+Pgo+Pj4gSSBsb29rIGludG8gdGhpcyBpc3N1ZSBhbmQgZmluZCB0 aGF0IGl0J3MgY2F1c2VkIGJ5ICdCVUdfT04oaW5fbm1pKCkpJwo+Pj4gaW4gbm1pX2VudGVyKCku IEZyb20gdGhlIGNhbGwgdHJhY2UsIHdlIGZpbmQgdHdvICdlbDFfaXJxcycgd2hpY2gKPj4+IG1l YW5zIGFuIGludGVycnVwdCBwcmVlbXB0cyB0aGUgb3RoZXIgb25lIGFuZCB0aGUgbmV3IG9uZSBp cyBhbiBOTUkuCj4+PiBGdXJ0aGVybW9yZSwgYnkgYWRkaW5nIHNvbWUgcHJpbnRzLCB3ZSBmaW5k IHRoZSBmaXJzdCBpcnEgYWxzbyBjYWxscwo+Pj4gbm1pX2VudGVyKCksIGJ1dCBpdHMgcHJpb3Jp dHkgaXMgbm90IEdJQ0RfSU5UX05NSV9QUkkgYW5kIGl0cyBpcnEgCj4+PiBudW1iZXIKPj4+IGlz IDEwMjMuIEl0IGVuYWJsZXMgaXJxIGJ5IGNhbGxpbmcgZ2ljX2FyY2hfZW5hYmxlX2lycXMoKSBp bgo+Pj4gZ2ljX2hhbmRsZV9pcnEoKS4gQXQgdGhpcyBtb21lbnQsIHRoZSBzZWNvbmQgaXJxIHBy ZWVtcHRzIHRoZSBmaXJzdCBpcnEKPj4+IGFuZCBpdCdzIGFuIE5NSSBidXQgY3VycmVudCBjb250 ZXh0IGlzIGFscmVhZHkgaW4gbm1pLiBTbyB0aGF0IG1heSBiZQo+Pj4gdGhlIHByb2JsZW0uCj4+ IEknbSBub3Qgc3VyZSBJIGdldCBpdC4gRnJvbSB0aGUgc3RhY2sgdHJhY2UsIEkgc2VlIHRoaXM6 Cj4+Cj4+IFvCoMKgIDE0LjgxNjI1MV3CoCBhc21fbm1pX2VudGVyKzB4OTQvMHg5OAo+PiBbwqDC oCAxNC44MTYyNTFdwqAgZWwxX2lycSsweDhjLzB4MTgwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo QykKPj4gW8KgwqAgMTQuODE2MjUyXcKgIGdpY19oYW5kbGVfaXJxKzB4YmMvMHgyZTQKPj4gW8Kg wqAgMTQuODE2MjUyXcKgIGVsMV9pcnErMHhjYy8weDE4MMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg KEIpCj4+IFvCoMKgIDE0LjgxNjI1M13CoCBhcmNoX3RpbWVyX2hhbmRsZXJfdmlydCsweDM4LzB4 NTgKPj4gW8KgwqAgMTQuODE2MjUzXcKgIGhhbmRsZV9wZXJjcHVfZGV2aWRfaXJxKzB4OTAvMHgy NDAKPj4gW8KgwqAgMTQuODE2MjUzXcKgIGdlbmVyaWNfaGFuZGxlX2lycSsweDM0LzB4NTAKPj4g W8KgwqAgMTQuODE2MjU0XcKgIF9faGFuZGxlX2RvbWFpbl9pcnErMHg2OC8weGMwCj4+IFvCoMKg IDE0LjgxNjI1NF3CoCBnaWNfaGFuZGxlX2lycSsweGY4LzB4MmU0Cj4+IFvCoMKgIDE0LjgxNjI1 NV3CoCBlbDFfaXJxKzB4Y2MvMHgxODDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChBKQo+Pgo+PiB3 aGljaCBpbmRpY2F0ZXMgdGhhdCB3ZSBwcmVlbXB0ZWQgYSB0aW1lciBpbnRlcnJ1cHQgKEEpIHdp dGggYW5vdGhlcgo+PiBJUlEgKEIpLCBpdHNlbGYgaW1tZWRpYXRlbHkgcHJlZW1wdGVkIGJ5IGFu b3RoZXIgSVJRIChDKT8gVGhhdCdzCj4+IGluZGVlZCBhdCBsZWFzdCBvbmUgdG9vIG1hbnkuCj4+ Cj4+IENhbiB5b3UgcGxlYXNlIGRlc2NyaWJlIGZvciBlYWNoIG9mIChBKSwgKEIpIGFuZCAoQykg d2hldGhlciB0aGV5IGFyZQo+PiBzcHVyaW91cyBvciBub3QsIHdoYXQgdGhlaXIgcHJpb3JpdGll cyBhcmUgaWYgdGhleSBhcmVuJ3Qgc3B1cmlvdXM/Cj4KPiBZZXMuIEkgaWdub3JlZCBpbnRlcnJ1 cHQgKEEpLiAoQikgaXMgc3B1cmlvdXMgYW5kIGl0cyBwcmlvcml0eSBpcyAweGEwIAo+IGFuZCBQ TVIgaXMgMHg3MC4KPgo+IChDKSBpcyBhbiBOTUkgYW5kIGl0cyBwcmlvcml0eSBpcyAweDIwLiBO b3RlIHRoYXQgR0lDX1BSSU9fSVJRT04gaXMgMHhlMCwKPgo+IEdJQ19QUklPX0lSUU9GRiBpcyAw eDYwLCBHSUNEX0lOVF9ERUZfUFJJIGlzIDB4YTAgYW5kIEdJQ0RfSU5UX05NSV9QUkkgaXMKPgo+ IDB4MjAgaW4gb3VyIGtlcm5lbC4KPgo+Pj4gSW4gbXkgb3Bpbmlvbiwgd2hlbiBoYW5kbGluZyBz cHVyaW91cyBpbnRlcnJ1cHRzLCB3ZSBzaG91bGRuJ3QgCj4+PiBlbmFibGUgaXJxcy4KPj4+IE15 IHJlYXNvbiBpcyB0aGF0IGZvciBzcHVyaW91cyBpbnRlcnJ1cHRzIHdlIG1heSBlbnRlciBubWkg Y29udGV4dCBpbgo+Pj4gZWwxX2lycSgpIGJlY2F1c2UgY3VycmVudCBQTVIgbWF5IGJlIEdJQ19Q UklPX0lSUU9GRi4gSWYgd2UgZW5hYmxlIGlycXMKPj4+IGF0IHRoaXMgdGltZSwgYW5vdGhlciBO TUkgbWF5IGhhcHBlbiBhbmQgcHJlZW1wdCB0aGlzIHNwdXJpb3VzIAo+Pj4gaW50ZXJydXB0Cj4+ PiBidXQgdGhlIGNvbnRleHQgaXMgYWxyZWFkeSBpbiBubWkuIFRoYXQgY2F1c2VzIGEgYnVnIG9u IGlmIG5lc3RlZCAKPj4+IE5NSSBpcwo+Pj4gbm90IHN1cHBvcnRlZC4gRXZlbiBmb3IgbmVzdGVk IG5taSwgSSB0aGluayBpdCdzIG5vdCBhIG5vcm1hbCBzY2VuYXJpby4KPj4gSSB3b3VsZCB0ZW5k IHRvIGFncmVlIHRoYXQgdGhpcyBpc24ndCBncmVhdC4gQWN0dWFsbHksIEknZCBwcm9iYWJseQo+ PiBtb3ZlIHRoZSBjaGVjayBmb3IgYSBzcHVyaW91cyBpbnRlcnJ1cHQgcmlnaHQgYWZ0ZXIgdGhl IHJlYWQgb2YKPj4gSUNDX0lBUjFfRUwxLCBiZWNhdXNlIHRoZXJlIGlzIG5vIHJlYWwgbmVlZCB0 byBkbyBhbnl0aGluZyBlbHNlIGF0Cj4+IHRoYXQgcG9pbnQuCj4KPiBTbywgd2UgZG9uJ3QgbmVl ZCB0byBjaGVjayBOTUkgZm9yIHNwdXJpb3VzIGludGVycnVwdHM/IERvIHlvdSBtZWFuIAo+IHRo YXQgc3B1cmlvdXMKPgo+IGludGVycnVwdHMnIGNhbid0IGJlIE5NSXM/IE9yIGV2ZW4gc3B1cmlv dXMgaW50ZXJydXBzIGFyZSBOTUlzLCB3ZSAKPiBzaG91bGRuJ3QgZG8KPgo+IGFueXRoaW5nIGZv ciB0aGVtPyBJZiBzbywgSSB3aWxsIG1vdmUgdGhlIGNoZWNrIGFmdGVyIHRoZSByZWFkIG9mIAo+ IElDQ19JQVIxX0VMMSBhbmQKPgo+IHNlbmQgYSBWMi4KPgo+Pgo+PiBIb3dldmVyLCB1cHN0cmVh bSBpcyBxdWl0ZSBkaWZmZXJlbnQgZnJvbSA0LjE5IGluIHRoYXQgcmVzcGVjdCwgYW5kCj4+IEkn bSBub3Qgc3VyZSBpZiB3aGF0IEkgYW0gbG9va2luZyBhdCBpcyB3aGF0IHlvdSBhcmUgc2VlaW5n IHdpdGggeW91cgo+PiBvbGRlciBrZXJuZWwuCj4KPiBJIGtub3cgdGhhdC4gQW5kIEkgbG9vayBp bnRvIGFsbCBwYXRjaGVzIGFib3V0IGFybTY0IHBzZXVkbyBOTUlzLiBBcyBJIAo+IHNhaWQgYmVm b3JlLAo+Cj4gb3VyIGtlcm5lbCBpcyB2ZXJ5IHF1aXRlIGxpa2UgdjUuMyBtYWlubGluZS4gSSB0 aGluayB3ZSBhcmUgdGFsa2luZyAKPiBhYm91dCB0aGUgc2FtZSB0aGluZy4KPgo+Cj4gSW4gbXkg b3Bpbmlvbiwgc2luY2UgY29tbWl0IDE3Y2UzMDJmMzExNyAoImFybTY0OiBGaXggaW50ZXJydXB0 IAo+IHRyYWNpbmcgaW4gdGhlIHByZXNlbmNlIG9mIE5NSXMiKSwKPgo+IHNwdXJpb3VzIGludGVy cnVwcyBjYW4gZW50ZXIgbm1pIGNvbnRleHQgaW4gaW50ZXJydXB0IGVudHJ5IGJlY2F1c2UgCj4g UE1SIGNhbiBiZSBHSUNfUFJJT19JUlFPRkYKPgo+IGZvciBzcHVyaW91cyBpbnRlcnJ1cHRzLiBU aGF0IG1lYW5zIHRlc3RfaXJxc191bm1hc2tlZCBpcyBub3QgMCBhbmQgCj4gYXNtX25taV9lbnRl ciBpcyBjYWxsZWQuCj4KPiDCoMKgIChzb21lIGVsMV9pcnEgZW50cnkgY29kZSBmcm9tIHY1LjMp Cj4KPiDCoMKgIHRlc3RfaXJxc191bm1hc2tlZMKgIHJlcz14MCwgcG1yPXgyMAo+Cj4gwqDCoCBj YnogeDAsIDFmCj4KPiDCoMKgIGJsIGFzbV9ubWlfZW50ZXIKPgo+Cj4gQW5kIGl0IHRoZW4gY2Fs bHMgZ2ljX2hhbmRsZV9pcnEoKS4gSXQgZG9lc24ndCBjYWxsIGdpY19oYW5kbGVfbm1pKCkgCj4g YmVjYXVzZSBpdHMgcHJpb3JpdHkgaXMgbm90IEdJQ0RfSU5UX05NSV9QUkkuCj4KPiBUaGVuIGl0 IGVuYWJsZXMgaXJxcy4gSWYgYXQgdGhhdCBwb2ludCBhbm90aGVyIE5NSSBjb21lcyBhbmQgcHJl ZW1wdHMgCj4gaXQsIHdoaWNoIG1lYW5zIE5NSSBvY2N1cnMgaW4gbm1pCj4KPiBjb250ZXh0LiBU aGF0IG1heSBjYXVzZSBhIGJ1ZyBvbiBpZiBuZXN0ZWQgTk1JIGlzIG5vdCBzdXBwb3J0ZWQuCj4K PiDCoMKgIChzb21lIGdpY19oYW5kbGVfaXJxIGNvZGUgZnJvbSB2NS4zKQo+Cj4gwqDCoCBpcnFu ciA9IGdpY19yZWFkX2lhcigpOwo+Cj4gwqDCoCBpZiAoZ2ljX3N1cHBvcnRzX25taSgpICYmCj4g wqAgwqAgwqDCoCB1bmxpa2VseShnaWNfcmVhZF9ycHIoKSA9PSBHSUNEX0lOVF9OTUlfUFJJKSkg ewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdpY19oYW5kbGVfbm1pKGlycW5yLCAKPiByZWdzKTvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAoQykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gwqDCoCB9Cj4K PiDCoMKgIGlmIChnaWNfcHJpb19tYXNraW5nX2VuYWJsZWQoKSkgewo+IMKgwqDCoMKgwqDCoMKg wqAgZ2ljX3Btcl9tYXNrX2lycXMoKTsKPiBnaWNfYXJjaF9lbmFibGVfaXJxcygpOyAoRCkKPiDC oMKgIH0KPgo+Pgo+PiBUaGFua3MsCj4+Cj4+IMKgwqDCoMKgTS4KPj4KPj4+IEZpeGVzOiAxN2Nl MzAyZjMxMTcgKCJhcm02NDogRml4IGludGVycnVwdCB0cmFjaW5nIGluIHRoZSBwcmVzZW5jZSAK Pj4+IG9mIE5NSXMiKQo+Pj4gU2lnbmVkLW9mZi1ieTogSGUgWWluZyA8aGV5aW5nMjRAaHVhd2Vp LmNvbT4KPj4+IC0tLQo+Pj4gwqAgZHJpdmVycy9pcnFjaGlwL2lycS1naWMtdjMuYyB8IDggKysr Ky0tLS0KPj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXJxY2hpcC9pcnEtZ2ljLXYzLmMgCj4+ PiBiL2RyaXZlcnMvaXJxY2hpcC9pcnEtZ2ljLXYzLmMKPj4+IGluZGV4IDk0Yjg5MjU4ZDA0NS4u ZDNiNTI3MzRhMmM1IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9pcnFjaGlwL2lycS1naWMtdjMu Ywo+Pj4gKysrIGIvZHJpdmVycy9pcnFjaGlwL2lycS1naWMtdjMuYwo+Pj4gQEAgLTY1NCwxNSAr NjU0LDE1IEBAIHN0YXRpYyBhc21saW5rYWdlIHZvaWQgX19leGNlcHRpb25faXJxX2VudHJ5IAo+ Pj4gZ2ljX2hhbmRsZV9pcnEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MKPj4+IMKgwqDCoMKgwqDCoMKg wqDCoCByZXR1cm47Cj4+PiDCoMKgwqDCoMKgIH0KPj4+IMKgICvCoMKgwqAgLyogQ2hlY2sgZm9y IHNwZWNpYWwgSURzIGZpcnN0ICovCj4+PiArwqDCoMKgIGlmICgoaXJxbnIgPj0gMTAyMCAmJiBp cnFuciA8PSAxMDIzKSkKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4+PiArCj4+PiDCoMKg wqDCoMKgIGlmIChnaWNfcHJpb19tYXNraW5nX2VuYWJsZWQoKSkgewo+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgIGdpY19wbXJfbWFza19pcnFzKCk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ2ljX2Fy Y2hfZW5hYmxlX2lycXMoKTsKPj4+IMKgwqDCoMKgwqAgfQo+Pj4gwqAgLcKgwqDCoCAvKiBDaGVj ayBmb3Igc3BlY2lhbCBJRHMgZmlyc3QgKi8KPj4+IC3CoMKgwqAgaWYgKChpcnFuciA+PSAxMDIw ICYmIGlycW5yIDw9IDEwMjMpKQo+Pj4gLcKgwqDCoMKgwqDCoMKgIHJldHVybjsKPj4+IC0KPj4+ IMKgwqDCoMKgwqAgaWYgKHN0YXRpY19icmFuY2hfbGlrZWx5KCZzdXBwb3J0c19kZWFjdGl2YXRl X2tleSkpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ2ljX3dyaXRlX2VvaXIoaXJxbnIpOwo+Pj4g wqDCoMKgwqDCoCBlbHNlCj4+PiAtLSAKPj4+IDIuMTcuMQo+Pj4KPj4+Cj4KPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0Cj4gbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg==