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 777A7C433F5 for ; Sat, 7 May 2022 09:22:25 +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: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=EeRKa49B5dl62XW5/RWm83qrVHWOAx/Qg+Oj7en76P8=; b=B21JM9XLxPgZEM 8LtjnX13avWBDiJvA0duBjp93+sSG7pkCujnRwnGwB9jtIcSv7O8dAH6v/wv2XKwncpW62rUG6OeY s15lhpz0pzuGCbjN+FuRNKk9llmjbkM9VOlQ3xPTOLaWIdOMQYChooA3ILfAT7EDez2OuWYcnI9It ommLr8Ia7nmc7EySnmh+HdARjHD51fMSd9N/iPHR1L93C52FuiZrLvW5z+D9qE8qEmlIveZJFIEyo EBUj7wpR7dqAlAYIh0jNWxV9cCY/qGF7h3pyS7nXo4AtNICOO20eB6bJm3ScGWDHECXSMYt+KLP1s p4uaUxsmNngOyNGpDvcw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nnGcY-006bbs-LF; Sat, 07 May 2022 09:21:02 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nnGcU-006bbH-QE for linux-arm-kernel@lists.infradead.org; Sat, 07 May 2022 09:21:00 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0CBCD60A6F; Sat, 7 May 2022 09:20:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16FE1C385A9; Sat, 7 May 2022 09:20:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1651915257; bh=r8f1G85CwWBXhZRvyRIEzk2UJ38tU9254k0pQ4QCqV8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tEvVqi5VyHya5cqMihERtNcpG0SZ4OLmqDFv+T4BdyPyUlc+B7/EuzwP0xrZqo/nd CA0/Lv/jQ9sfZiSf2IipXTg/w2xVuDQi65A9dyyWcRnDRns2Tczw7MlRfqOY6QkRH+ RTaK/omywVK+PYvH21xH8nyZNOERkWGVfFeTW1SvyeCdCwOBBHAOdPBBXhWkjhpjQv BktH9fVXs7/ItVAWISU5UksNCZQYpsRDBCYbGptSAj4mcGz/HtdP+Ir99/Z2N4Ktqr IbS4Yrl1jVpYSPM2dthu+1hsbauwnwScGl+vlSnRLHP/k1Vp1RvjCYJppn36bpucBJ kaIVJlQj5InJA== Received: by pali.im (Postfix) id 21F06947; Sat, 7 May 2022 11:20:54 +0200 (CEST) Date: Sat, 7 May 2022 11:20:54 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Marc Zyngier Cc: Thomas Gleixner , Rob Herring , Bjorn Helgaas , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Thomas Petazzoni , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Marek =?utf-8?B?QmVow7pu?= , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 2/6] irqchip/armada-370-xp: Implement SoC Error interrupts Message-ID: <20220507092054.b7yu23nj667l6xhy@pali> References: <20220506134029.21470-1-pali@kernel.org> <20220506134029.21470-3-pali@kernel.org> <87mtfu7ccd.wl-maz@kernel.org> <20220506183051.wimo7p4nuqfnl2aj@pali> <8735hmijlu.wl-maz@kernel.org> <20220506185546.n5rl3chyyauy4bjt@pali> <87levd7m2n.wl-maz@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <87levd7m2n.wl-maz@kernel.org> User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220507_022058_973941_6CB31C32 X-CRM114-Status: GOOD ( 51.90 ) 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 T24gU2F0dXJkYXkgMDcgTWF5IDIwMjIgMTA6MDE6NTIgTWFyYyBaeW5naWVyIHdyb3RlOgo+IE9u IEZyaSwgMDYgTWF5IDIwMjIgMTk6NTU6NDYgKzAxMDAsCj4gUGFsaSBSb2jDoXIgPHBhbGlAa2Vy bmVsLm9yZz4gd3JvdGU6Cj4gPiAKPiA+IE9uIEZyaWRheSAwNiBNYXkgMjAyMiAxOTo0NzoyNSBN YXJjIFp5bmdpZXIgd3JvdGU6Cj4gPiA+IE9uIEZyaSwgMDYgTWF5IDIwMjIgMTk6MzA6NTEgKzAx MDAsCj4gPiA+IFBhbGkgUm9ow6FyIDxwYWxpQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4gPiA+IAo+ ID4gPiA+IE9uIEZyaWRheSAwNiBNYXkgMjAyMiAxOToxOTo0NiBNYXJjIFp5bmdpZXIgd3JvdGU6 Cj4gPiA+ID4gPiBPbiBGcmksIDA2IE1heSAyMDIyIDE0OjQwOjI1ICswMTAwLAo+ID4gPiA+ID4g UGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4gd3JvdGU6Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ ID4gPiArc3RhdGljIHZvaWQgYXJtYWRhXzM3MF94cF9zb2NfZXJyX2lycV91bm1hc2soc3RydWN0 IGlycV9kYXRhICpkKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAgc3RhdGljIGlubGluZSBi b29sIGlzX3BlcmNwdV9pcnEoaXJxX2h3X251bWJlcl90IGlycSkKPiA+ID4gPiA+ID4gIHsKPiA+ ID4gPiA+ID4gIAlpZiAoaXJxIDw9IEFSTUFEQV8zNzBfWFBfTUFYX1BFUl9DUFVfSVJRUykKPiA+ ID4gPiA+ID4gQEAgLTUwOSw2ICs1MTcsMjcgQEAgc3RhdGljIHZvaWQgYXJtYWRhX3hwX21waWNf cmVlbmFibGVfcGVyY3B1KHZvaWQpCj4gPiA+ID4gPiA+ICAJCWFybWFkYV8zNzBfeHBfaXJxX3Vu bWFzayhkYXRhKTsKPiA+ID4gPiA+ID4gIAl9Cj4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gKwkv KiBSZS1lbmFibGUgcGVyLUNQVSBTb0MgRXJyb3IgaW50ZXJydXB0cyB0aGF0IHdlcmUgZW5hYmxl ZCBiZWZvcmUgc3VzcGVuZCAqLwo+ID4gPiA+ID4gPiArCWZvciAoaXJxID0gMDsgaXJxIDwgc29j X2Vycl9pcnFfbnVtX3JlZ3MgKiAzMjsgaXJxKyspIHsKPiA+ID4gPiA+ID4gKwkJc3RydWN0IGly cV9kYXRhICpkYXRhOwo+ID4gPiA+ID4gPiArCQlpbnQgdmlycTsKPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiArCQl2aXJxID0gaXJxX2xpbmVhcl9yZXZtYXAoYXJtYWRhXzM3MF94cF9zb2NfZXJy X2RvbWFpbiwgaXJxKTsKPiA+ID4gPiA+ID4gKwkJaWYgKHZpcnEgPT0gMCkKPiA+ID4gPiA+ID4g KwkJCWNvbnRpbnVlOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJCWRhdGEgPSBpcnFfZ2V0 X2lycV9kYXRhKHZpcnEpOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsJCWlmICghaXJxX3Bl cmNwdV9pc19lbmFibGVkKHZpcnEpKQo+ID4gPiA+ID4gPiArCQkJY29udGludWU7Cj4gPiA+ID4g PiA+ICsKPiA+ID4gPiA+ID4gKwkJYXJtYWRhXzM3MF94cF9zb2NfZXJyX2lycV91bm1hc2soZGF0 YSk7Cj4gPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gCj4gPiA+ID4gPiBTbyB5b3UgZG8gdGhpcyBs b29wIGFuZCBhbGwgdGhlc2UgbG9va3VwcywgYm90aCBoZXJlIGFuZCBpbiB0aGUgcmVzdW1lCj4g PiA+ID4gPiBmdW5jdGlvbiAoZHVwbGljYXRlZCBjb2RlISkganVzdCB0byBiZSBhYmxlIHRvIGNh bGwgdGhlIHVubWFzawo+ID4gPiA+ID4gZnVuY3Rpb24/ICBUaGlzIHdvdWxkIGJlIGJldHRlciBz ZXJ2ZWQgYnkgdHdvIHN0cmFpZ2h0IHdyaXRlcyBvZiB0aGUKPiA+ID4gPiA+IG1hc2sgcmVnaXN0 ZXIsIHdoaWNoIHlvdSdkIGNvbnZlbmllbnRseSBzYXZlIG9uIHN1c3BlbmQuCj4gPiA+ID4gPiAK PiA+ID4gPiA+IFllcywgeW91IGhhdmUgb25seSBkdXBsaWNhdGVkIHRoZSBleGlzdGluZyBsb2dp Yy4gQnV0IHN1cmVseSB0aGVyZSBpcwo+ID4gPiA+ID4gc29tZXRoaW5nIGJldHRlciB0byBkby4K PiA+ID4gPiAKPiA+ID4gPiBZZXMsIEkganVzdCB1c2VkIGV4aXN0aW5nIGxvZ2ljLgo+ID4gPiA+ IAo+ID4gPiA+IEknbSBub3QgcmV3cml0aW5nIGRyaXZlciBvciBkb2luZyBiaWcgcmVmYWN0b3Ig b2YgaXQsIGFzIHRoaXMgaXMgbm90IGluCj4gPiA+ID4gdGhlIHNjb3BlIG9mIHRoZSBQQ0llIEFF UiBpbnRlcnJ1cHQgc3VwcG9ydC4KPiA+ID4gCj4gPiA+IEZhaXIgZW5vdWdoLiBCeSB0aGUgc2Ft ZSBsb2dpYywgSSdtIG5vdCB0YWtpbmcgYW55IGNoYW5nZSB0byB0aGUKPiA+ID4gZHJpdmVyIHVu dGlsIGl0IGlzIHB1dCBpbiBhIGJldHRlciBzaGFwZS4gWW91ciBjYWxsLgo+ID4gCj4gPiBJZiB5 b3UgYXJlIG1haW50YWluZXIgb2YgdGhpcyBjb2RlIHRoZW4gaXQgaXMgZXhwZWN0ZWQgZnJvbSBf eW91XyB0bwo+ID4gbW92ZSB0aGUgY3VycmVudCBjb2RlIGludG8gX2JldHRlciBzaGFwZV8gYXMg eW91IHdyb3RlIGFuZCBleHBlY3QuIEFuZAo+ID4gdGhlbiBzaG93IHVzIGV4YWN0bHksIGhvdyBu ZXcgY2hhbmdlcyBpbiB0aGlzIGRyaXZlciBzaG91bGQgbG9vayBsaWtlLAo+ID4gaW4gZXhhbXBs ZXMuCj4gCj4gU29ycnksIGJ1dCB0aGF0J3Mgbm90IGhvdyB0aGlzIHdvcmtzLiBZb3UgYXJlIHRo ZSBvbmUgd2lsbGluZyB0bwo+IGNoYW5nZSBhIHN1Yi1wYXIgcGllY2Ugb2YgY29kZSwgeW91IGdl dCB0byBtYWtlIGl0IGJldHRlci4gWW91Cj4gb2J2aW91c2x5IGhhdmUgdGhlIG1lYW5zICh0aGUg SFcpIGFuZCB0aGUgaW5jZW50aXZlICh0aGVzZSBwYXRjaGVzKS4KPiBCdXQgeW91IGRvbid0IGdl dCB0byBtYWtlIHNvbWV0aGluZyBldmVuIG1vcmUgdW5tYWludGFpbmFibGUgYmVjYXVzZQo+IHlv dSdyZSB1bndpbGxpbmcgdG8gZG8gc29tZSBleHRyYSB3b3JrLgo+IAo+IElmIHlvdSdyZSB1bmhh cHB5IHdpdGggbXkgcG9zaXRpb24sIHRoYXQncyBmaW5lLiBJIHN1Z2dlc3QgeW91IHRha2UgaXQK PiB3aXRoIFRob21hcywgYW5kIG1heWJlIGV2ZW4gTGludXMuIEFzIEkgc3VnZ2VzdGVkIGJlZm9y ZSwgeW91IGNhbiBhbHNvCj4gcG9zdCBhIHBhdGNoIHJlbW92aW5nIG1lIGFzIHRoZSBpcnFjaGlw IG1haW50YWluZXIuIEknbSBzdXJlIHRoYXQgd2lsbAo+IHNwYXJrIGFuIGludGVyZXN0aW5nIGRp c2N1c3Npb24uCgpZb3UgaGF2ZSBhbHJlYWR5IHN1Z2dlc3RlZCBpdCBpbiBlbWFpbCBbMV0gYnV0 IGFwcGFyZW50bHkgeW91IGFyZSBfbm90XwptYWludGFpbmVyIG9mIG12ZWJ1IHBjaSBjb250cm9s bGVyLiBnZXRfbWFpbnRhaW5lci5wbCBmb3IgcGFydCBhYm91dAp3aGljaCB5b3UgaGF2ZSB0YWxr ZWQgaW4gWzFdIHNheXM6CgokIC4vc2NyaXB0cy9nZXRfbWFpbnRhaW5lci5wbCAtZiBkcml2ZXJz L3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jClRob21hcyBQZXRhenpvbmkgPHRob21hcy5w ZXRhenpvbmlAYm9vdGxpbi5jb20+IChtYWludGFpbmVyOlBDSSBEUklWRVIgRk9SIEFBUkRWQVJL IChNYXJ2ZWxsIEFybWFkYSAzNzAwKSkKIlBhbGkgUm9ow6FyIiA8cGFsaUBrZXJuZWwub3JnPiAo bWFpbnRhaW5lcjpQQ0kgRFJJVkVSIEZPUiBBQVJEVkFSSyAoTWFydmVsbCBBcm1hZGEgMzcwMCkp CkxvcmVuem8gUGllcmFsaXNpIDxsb3JlbnpvLnBpZXJhbGlzaUBhcm0uY29tPiAoc3VwcG9ydGVy OlBDSSBOQVRJVkUgSE9TVCBCUklER0UgQU5EIEVORFBPSU5UIERSSVZFUlMpClJvYiBIZXJyaW5n IDxyb2JoQGtlcm5lbC5vcmc+IChyZXZpZXdlcjpQQ0kgTkFUSVZFIEhPU1QgQlJJREdFIEFORCBF TkRQT0lOVCBEUklWRVJTKQoiS3J6eXN6dG9mIFdpbGN6ecWEc2tpIiA8a3dAbGludXguY29tPiAo cmV2aWV3ZXI6UENJIE5BVElWRSBIT1NUIEJSSURHRSBBTkQgRU5EUE9JTlQgRFJJVkVSUykKQmpv cm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4gKHN1cHBvcnRlcjpQQ0kgU1VCU1lTVEVN KQpsaW51eC1wY2lAdmdlci5rZXJuZWwub3JnIChvcGVuIGxpc3Q6UENJIERSSVZFUiBGT1IgQUFS RFZBUksgKE1hcnZlbGwgQXJtYWRhIDM3MDApKQpsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcgKG1vZGVyYXRlZCBsaXN0OlBDSSBEUklWRVIgRk9SIEFBUkRWQVJLIChNYXJ2ZWxs IEFybWFkYSAzNzAwKSkKbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZyAob3BlbiBsaXN0KQoK U28gSSBkbyBub3QgaGF2ZSB0byByZW1vdmUgYW55dGhpbmcsIHlvdSBhcmUgX25vdF8gb24gdGhh dCBsaXN0LgpPbiB0aGUgb3RoZXIgaGFuZCwgVGhvbWFzIFBldGF6em9uaSBpcyBvbiB0aGlzIGxp c3QuLi4KCj4gPiA+ID4gPiA+ICtzdGF0aWMgaW50IGFybWFkYV94cF9zb2NfZXJyX2lycV9zZXRf YWZmaW5pdHkoc3RydWN0IGlycV9kYXRhICpkLAo+ID4gPiA+ID4gPiArCQkJCQkgICAgICBjb25z dCBzdHJ1Y3QgY3B1bWFzayAqbWFzaywKPiA+ID4gPiA+ID4gKwkJCQkJICAgICAgYm9vbCBmb3Jj ZSkKPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gKwl1bnNpZ25lZCBpbnQgY3B1Owo+ID4gPiA+ ID4gPiArCj4gPiA+ID4gPiA+ICsJY3B1c19yZWFkX2xvY2soKTsKPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiArCS8qIEZpcnN0IGRpc2FibGUgSVJRIG9uIGFsbCBjb3JlcyAqLwo+ID4gPiA+ID4g PiArCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQo+ID4gPiA+ID4gPiArCQlzbXBfY2FsbF9vbl9j cHUoY3B1LCBhcm1hZGFfMzcwX3hwX3NvY19lcnJfaXJxX21hc2tfb25fY3B1LCBkLCB0cnVlKTsK PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCS8qIFNlbGVjdCBhIHNpbmdsZSBjb3JlIGZyb20g dGhlIGFmZmluaXR5IG1hc2sgd2hpY2ggaXMgb25saW5lICovCj4gPiA+ID4gPiA+ICsJY3B1ID0g Y3B1bWFza19hbnlfYW5kKG1hc2ssIGNwdV9vbmxpbmVfbWFzayk7Cj4gPiA+ID4gPiA+ICsJc21w X2NhbGxfb25fY3B1KGNwdSwgYXJtYWRhXzM3MF94cF9zb2NfZXJyX2lycV91bm1hc2tfb25fY3B1 LCBkLCB0cnVlKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCWNwdXNfcmVhZF91bmxvY2so KTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCWlycV9kYXRhX3VwZGF0ZV9lZmZlY3RpdmVf YWZmaW5pdHkoZCwgY3B1bWFza19vZihjcHUpKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAr CXJldHVybiBJUlFfU0VUX01BU0tfT0s7Cj4gPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiAKPiA+ID4g PiA+IEFyZW4ndCB0aGVzZSBwZXItQ1BVIGludGVycnVwdHMgYW55d2F5PyBXaGF0IGRvZXMgaXQg bWVhbiB0byBzZXQgdGhlaXIKPiA+ID4gPiA+IGFmZmluaXR5PyAvbWUgcm9sbHMgZXllcy4uLgo+ ID4gPiA+IAo+ID4gPiA+IFllcywgdGhleSBhcmUgcGVyLUNQVSBpbnRlcnJ1cHRzLiBCdXQgdG8g bWFzayBvciB1bm1hc2sgcGFydGljdWxhcgo+ID4gPiA+IGludGVycnVwdCBmb3Igc3BlY2lmaWMg Q1BVIGlzIHBvc3NpYmxlIG9ubHkgZnJvbSB0aGF0IENQVS4gQ1BVIDAganVzdAo+ID4gPiA+IGNh bm5vdCBtb3ZlIGludGVycnVwdCBmcm9tIENQVSAwIHRvIENQVSAxLiBDUFUgMCBjYW4gb25seSBt YXNrIHRoYXQKPiA+ID4gPiBpbnRlcnJ1cHQgYW5kIENQVSAxIGhhcyB0byB1bm1hc2sgaXQuCj4g PiA+IAo+ID4gPiBBbmQgdGhhdCdzIG5vIGRpZmZlcmVudCBmb3JtIG90aGVyIHBlci1DUFUgaW50 ZXJydXB0cyB0aGF0IGhhdmUgdGhlCj4gPiA+IGV4YWN0IHNhbWUgcmVxdWlyZW1lbnRzLiBOQUsg dG8gdGhpcyBzb3J0IG9mIGhhY2tzLgo+ID4gCj4gPiBZb3UgZm9yZ290IHRvIG1lbnRpb24gaW4g eW91ciBwcmV2aW91cyBlbWFpbCBob3cgdG8gZG8gaXQsIHJpZ2h0PyBTbyB3ZQo+ID4gYXJlIHdh aXRpbmcuLi4KPiAKPiBJIGRpZG4ndCBmb3JnZXQuIEkgZXhwbGFpbmVkIHRoYXQgaXQgc2hvdWxk IGJlIGhhbmRsZWQganVzdCBsaWtlIGFueQo+IG90aGVyIHBlci1DUFUgaW50ZXJydXB0LiBUaGVy ZSBpcyBwbGVudHkgb2YgZXhhbXBsZSBvZiBob3cgdG8gZG8gdGhhdAo+IGluIHRoZSB0cmVlICh0 aW1lcnMsIGZvciBleGFtcGxlKSwgYW5kIGlmIHlvdSBoYWQgZXZlbiBsb29rZWQgYXQgaXQsCj4g eW91J2QgaGF2ZSBzZWVuIHRoYXQgeW91ciBhcHByb2FjaCBtb3N0IHByb2JhYmx5IHJlc3VsdHMg aW4gYW4KPiBhcmJpdHJhcnkgcG9pbnRlciBkZXJlZmVyZW5jZSBvbiBhbnl0aGluZyBidXQgQ1BV MCBiZWNhdXNlIHRoZQo+IHJlcXVlc3RpbmcgZHJpdmVyIGtub3dzIG5vdGhpbmcgYWJvdXQgcGVy LUNQVSBpbnRlcnJ1cHRzLgo+IAo+IEJ1dCB5b3UncmUgb2J2aW91c2x5IHRyeWluZyB0byBtYWtl IGEgdmVyeSBkaWZmZXJlbnQgcG9pbnQgaGVyZS4gSSdsbAo+IGxldCB5b3UgcGxheSB0aGF0IGdh bWUgZm9yIGFzIGxvbmcgYXMgeW91IHdhbnQsIG5vIHNraW4gb2ZmIG15IG5vc2UuCj4gTWF5YmUg aW4gdGhlIGZ1dHVyZSwgeW91J2xsIGJlIG1vcmUgaW50ZXJlc3RlZCBpbiBhY3RpdmVseQo+IGNv bGxhYm9yYXRpbmcgb24gdGhlIGtlcm5lbCBjb2RlIGluc3RlYWQgb2YgdGhyb3dpbmcgeW91ciB0 b3lzIG91dCBvZgo+IHRoZSBwcmFtLgo+IAo+IFRoYW5rcywKClRoZSBvbmx5IF90b3lfIGhlcmUg aXMgeW91ciBicm9rZW4gbXZlYnUgYm9hcmQgd2hpY2ggeW91ciBlZ28gd2FzIHVuYWJsZQp0byBm aXgsIGFuZCB5b3UgaGF2ZSBwdXQgaXQgaW50byByZWN5Y2xpbmcgcGlsZSBbMl0gYW5kIHNpbmNl IHRoYW4gZm9yCm1vbnRocyB5b3UgYXJlIHRyeWluZyB0byByZWplY3QgZXZlcnkgY2hhbmdlIG9y IGltcHJvdmVtZW50IGluIG12ZWJ1CmRyaXZlcnMgYW5kIHRyeWluZyB0byBmaW5kIG91dCBhIHdh eSBob3cgdG8gcmVtb3ZlIGFsbCBtdmVidSBjb2RlLCBsaWtlCmlmIHlvdSB3ZXJlIG5vdCBhYmxl IHRvIGZpeCB5b3VyIHRveSwgdGhlbiBicm9rZSBpdCBhbHNvIHRvIGFsbCBvdGhlcgpwZW9wbGUu IFlvdSBoYXZlIGFscmVhZHkgZXhwcmVzc2VkIHRoaXMsIGJ1dCBJJ20gbm90IGdvaW5nIHRvIHNl YXJjaAplbWFpbHMgbW9yZSBhbmQgZmluZCB0aGVzZSB5b3VyIHN0YXRlbWVudHMuCgpTb3JyeSwg SSdtIHN0b3BwaW5nIGhlcmUuIFRoaXMgaXMganVzdCBhIHByb3ZlIHRoYXQgeW91IGFyZSBub3QK cXVhbGlmaWVkIGluIHJldmlld2luZyBtdmVidSBjb2RlLgoKWzFdIC0gaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvbGludXgtcGNpLzg3bXRrM3R6dW0ud2wtbWF6QGtlcm5lbC5vcmcvClsyXSAtIGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LXBjaS84N3BteDF6amp0LndsLW1hekBrZXJuZWwu b3JnLwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=