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.0 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 3A675C433DB for ; Fri, 26 Mar 2021 09:29:06 +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 898D461A27 for ; Fri, 26 Mar 2021 09:29:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 898D461A27 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=semihalf.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:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=CmAMk+/+em2YzLCN1TkDiPtb2ZRPLlGIYoMACt+PTWE=; b=Znth4pfs0FfUoarzJDN6BWIZX Kq4mFuciYFNEbPsU0NcJKGSqH57uQFFvyKNrHOz/V14jC1tfUmhwBllsYwZ7CX9vl5pvz6jR34gsp 2ENPFF87QiMwpvK1HGygJv1q5lDWd4bDShIl3IwyYdMlsdx4JwI3hvVtjz6TBXJiF69Fieen6kmFT WQIzT4UgZgS6Uj1pdEiLnh7UT8ZA7O6Um0KM0TWsMKfxNKRYXSH+bP8fVRkAebddyMKpVH4m9hOSA w3d0YmGuYQEbSCdbfzLxzroY6QsaoVOJSjf9IO4elgOjdjaMiHo39G4/RTJpbUStnA7hGYiASzUX+ HkVsRXZ3w==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lPikb-0039IG-BH; Fri, 26 Mar 2021 09:27:29 +0000 Received: from mail-qv1-xf2c.google.com ([2607:f8b0:4864:20::f2c]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lPikX-0039Hb-FV for linux-arm-kernel@lists.infradead.org; Fri, 26 Mar 2021 09:27:27 +0000 Received: by mail-qv1-xf2c.google.com with SMTP id q9so2584220qvm.6 for ; Fri, 26 Mar 2021 02:27:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NNlOJhf9wbzaVcR7TW78N7o1F0EzxSL4BjJh/DQlfYE=; b=iuEym6MLuDUoRCdXw+/mgPFlpgawcXXbRJlthqpVyRHECu1gzzqdarIJbU4Co8O8dm +F6JRXYS3/ctJqC5omZqQNsdVch6GyvCnKToQSgsH+OAynvgOhhUjyywtjYqByLYctXy sW1HO+lu7oh5ubZnpP/AJvTG6NzhfYi1cPA8LtXDkhIV+5x5g3dm04MOBOSnX29jUG7V Gwy0EyBk5uo5HMpGy6Z1xUoRTgQz8Nj1N69kLR0Ytcj1pyuWlIaM4vXWxh2j6eCOQl5t TxQd6WTePAV5za8r4pTMUaijNfM9smmpPoghiSL3/ks4xDSrit1yUcrs/JuYGNyTyPO9 4flA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=NNlOJhf9wbzaVcR7TW78N7o1F0EzxSL4BjJh/DQlfYE=; b=Ll6YSEK+9m1MGcwe0MaEUXWWs0HaYgRoYqwu6QTWmyjSOdIktp7g7ImrRgyvUAkeUG i98met4I40AZNKJIqDOlm8raSnm0VpA+5hDvts/rRWUX4ZXfh3AKpNCNpuhoorii2PER WFpNZJIt8boJg3gre+L2IQtARKtdRBUQoLlVQKZBBWdEerU+A7YmkLWEk+G4a6k7N7DF mdGso9w+p5i0RqOhbgqQ9Kkt3E+hpZ5b9inbhPgi4zUxL+wyZqaTKYrBIPPUb0EXmFvc Yrr1Wo3GjZ+tE+YSvmbknLDAylHu3RLO5aginapiEO8cVxbAwTPWtQ07W7ulWbGoDose fUyQ== X-Gm-Message-State: AOAM533Qo3X3r6isBoE6xqN1RgK5dfaxwLMTALQs3gHV3PjWMVkkQXxk Aw96gQ/zzbMF7Snad1OGJNwRW6t5YkhK49hhUM0zRA== X-Google-Smtp-Source: ABdhPJzNOGFXKcQdtf0HjgZhGgGlGQJazS0heiA3DfCudK3yVva/yDmZQ8oe2tSV5f8pbJyGUh6xfXuwioOUoQwGcpg= X-Received: by 2002:a0c:aa04:: with SMTP id d4mr12165321qvb.16.1616750843999; Fri, 26 Mar 2021 02:27:23 -0700 (PDT) MIME-Version: 1.0 References: <20210105045735.1709825-1-jeremy.linton@arm.com> <20210107181416.GA3536@willie-the-truck> <56375cd8-8e11-aba6-9e11-1e0ec546e423@jonmasters.org> <20210108103216.GA17931@e121166-lin.cambridge.arm.com> <20210122194829.GE25471@willie-the-truck> <20210126225351.GA30941@willie-the-truck> <20210325131231.GA18590@e121166-lin.cambridge.arm.com> In-Reply-To: From: Marcin Wojtas Date: Fri, 26 Mar 2021 10:27:12 +0100 Message-ID: Subject: Re: [PATCH] arm64: PCI: Enable SMC conduit To: Jon Masters Cc: Lorenzo Pieralisi , Will Deacon , Vikram Sethi , vidyas@nvidia.com, Thierry Reding , Jon Masters , Jeremy Linton , Mark Rutland , linux-pci@vger.kernel.org, Sudeep Holla , Linux Kernel Mailing List , Catalin Marinas , Bjorn Helgaas , linux-arm-kernel@lists.infradead.org, Eric Brower , Grzegorz Jaszczyk , Tomasz Nowicki , Samer El-Haj-Mahmoud X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210326_092725_774796_C87D49F6 X-CRM114-Status: GOOD ( 49.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 SGkgSm9uLAoKVGhhbmsgeW91IGZvciB5b3VyIGFuc3dlci4KCmN6dy4sIDI1IG1hciAyMDIxIG8g MjI6MTIgSm9uIE1hc3RlcnMgPGpjbUByZWRoYXQuY29tPiBuYXBpc2HFgihhKToKPgo+IEhpIE1h cmNpbiwKPgo+IE1hbnkgdGhhbmtzIGZvciB5b3VyIHRob3VnaHRmdWwsIGhlYXJ0ZmVsdCByZXNw b25zZSwgYW5kIEkgZG9uJ3QKPiBkaXNhZ3JlZSB3aXRoIHlvdXIgc2VudGltZW50cy4KPgo+IFRo ZSB0cnV0aCBpcyB0aGF0IHdlIGhhdmUgYSBtZXNzeSBzaXR1YXRpb24uIEFzIGEgY29sbGVjdGl2 ZSBjb21tdW5pdHkKPiBvZiBwZW9wbGUgd2hvIGFyZSBwYXNzaW9uYXRlIGFib3V0IHRoZSBzdWNj ZXNzIG9mIEFybSBpbiBnZW5lcmFsCj4gcHVycG9zZSBzeXN0ZW1zLCBJIGtub3cgbWFueSB3aG8g d291bGQgc2hhcmUgbXkgcGVyc29uYWwgZmVlbGluZyB0aGF0Cj4gdGhpcyBpcyBhbGwgYmV5b25k IHZlcnkgdW5mb3J0dW5hdGUuIFRoYXQgb3RoZXIgYXJjaGl0ZWN0dXJlIGhhcwo+IHdvcmtpbmcs IHJvYnVzdCwgUENJIElQIHRoYXQgYWRoZXJlcyB0byBzdGFuZGFyZHMgKG1vcmUgb3IgbGVzcykK PiBjb3JyZWN0bHkuIFRoZXJlIGlzIG5vIHJlYXNvbiB3ZSBjYW4ndCBlaXRoZXIuIEJ1dCBpdCB0 YWtlcyBhCj4gY29sbGVjdGl2ZSBpbmR1c3RyeSB3aWRlIGVmZm9ydCwgYWxvbmdzaWRlIGxlYWRl cnNoaXAgZnJvbSBBcm0gKGFuZAo+IG90aGVycykgdG8gcHVzaCB0aGluZ3MgZm9yd2FyZC4gSSdt IHZlcnkgaW1wcmVzc2VkIHdpdGggd2hlcmUKPiBTeXN0ZW1SZWFkeSBpcyBoZWFkZWQgYW5kIHRo ZXJlIGFyZSBncmVhdCBwZW9wbGUgYmVoaW5kIG1ha2luZyB0aGF0Cj4gaGFwcGVuLiBTbyBJIGhh dmUgZmFpdGggdGhhdCB0aGluZ3Mgd2lsbCBpbXByb3ZlLiBOb3cgaXMgYSBnb29kIHRpbWUKPiB0 byB1bml0ZSBhcyBhbiBpbmR1c3RyeSBiZWhpbmQgaW1wcm92aW5nIGJvdGggdGhlIHN0YXR1cyBx dW8gKHF1aXJrcykKPiBhbmQgZnV0dXJlIElQIHNvIHRoYXQgaXQgaXMgcHJvcGVybHkgY29tcGxp YW50LiBNeSBvcGluaW9uIGlzIHRoYXQgbm93Cj4gaXMgbm90IGEgZ29vZCBtb21lbnQgdG8gcmV3 b3JrIGVudGlyZWx5IGhvdyB3ZSBkbyBQQ0kgZW51bWVyYXRpb24gdG8KPiB1c2UgYW4gYWx0ZXJu YXRpdmUgc2NoZW1lLgo+Cj4gUGxlYXNlIHNlZSB0aGUgYmVsb3cgZm9yIG1vcmUuCj4KPiBPbiBU aHUsIE1hciAyNSwgMjAyMSBhdCA0OjQ1IFBNIE1hcmNpbiBXb2p0YXMgPG13QHNlbWloYWxmLmNv bT4gd3JvdGU6Cj4KPiA+IFNvIHdoYXQgd2UgaGF2ZSBhZnRlciA0IHllYXJzOgo+ID4gKiBEaXJl Y3QgY29udmluY2luZyBvZiBJUCB2ZW5kb3JzIHN0aWxsIGJlaW5nIGEgcGxhbi4KPgo+IFRoaW5n cyBuZWVkIHRvIGltcHJvdmUgaGVyZS4gSSd2ZSAqZXhwcmVzc2VkKiBhcyBtdWNoIHRvIGNlcnRh aW4gZm9sa3MKPiBhcm91bmQgdGhlIGluZHVzdHJ5LiBJJ20gbm90IGFmcmFpZCB0byBnZXQgbW9y ZSB2b2NhbC4gVGhlcmUgaXMgdG9vCj4gbXVjaCBJUCBvdXQgdGhlcmUgZXZlbiBub3cgdGhhdCBp cyBkb2luZyBpbmV4Y3VzYWJseSBub24tY29tcGxpYW50Cj4gdGhpbmdzLiBXaGVuIEkgd291bGQg dGFsayB0byB0aGVzZSB2ZW5kb3JzIHRoZXkgZGlkbid0IHNlZW0gdG8gdGFrZQo+IHN0YW5kYXJk cyBjb21wbGlhbmNlIHNlcmlvdXNseSAodG8gYW55IHN0YW5kYXJkKSBiZWNhdXNlIHRoZXkncmUg dXNlZAo+IHRvIG1ha2luZyBzb21lIEJTUCBmb3Igc29tZSBwbGF0Zm9ybSBhbmQgbm9ib2R5IGhh cyBzdG9vZCB0aG9yb3VnaGx5Cj4gb3ZlciB0aGVtIHRvIHRoZSBwb2ludCBvZiBleHRyZW1lIGRp c2NvbWZvcnQgc28gdGhhdCB0aGV5IGNoYW5nZSB0aGVpcgo+IGFwcHJvYWNoLiBJdCBpcyBub3cg cGFzdCB0aW1lIHRoYXQgd2Ugc3RhbmQgb3ZlciB0aGVzZSBmb2xrcyBhbmQgZ2V0Cj4gdGhlbSB0 byBjaGFuZ2UuIEkgYW0gbm90IGFmcmFpZCB0byBnZXQgbXVjaCBtb3JlIGludGVuc2UgaGVyZSBp biBteQo+IGFwcHJvYWNoIGFuZCBJIHdvdWxkIGhvcGUgdGhhdCBvdGhlcnMgd2hvIGZlZWwgc2lt aWxhcmx5IGFib3V0Cj4gc3RhbmRhcmRpemF0aW9uIHdvdWxkIGFsc28gY2hvb3NlIHRvIGVuZ2Fn ZSB3aXRoIGV4dHJlbWUgdmlnb3IuCj4gRXh0cmVtZSB2aWdvci4gSXQgbXVzdCBiZWNvbWUgYW4g ZXh0cmVtZSBlbWJhcnJhc3NtZW50IGZvciBhbnkgb2YgdGhlbQo+IHRvIGNvbnRpbnVlIHRvIGhh dmUgYW55IElQIHRoYXQgY2xhaW1zIHRvIGJlICJQQ0kiIHdoaWNoIGlzLi4uLm5vdAo+IFBDSS4K Pgo+ID4gKiBSZXZlcnRpbmcgdGhlIG9yaWdpbmFsIGFwcHJvYWNoIHRvd2FyZHMgTUNGRyBxdWly a3MuCj4gPiAqIERvdWJsZS1zdGFuZGFyZHMgaW4gYWN0aW9uIGFzIGRpc3BsYXllZCBieSAyIGNh c2VzIGFib3ZlLgo+Cj4gVGhlIHRydXRoIGlzIHdlJ3ZlIGhhZCBhbiBpbmNvbnNpc3RlbnQgYXBw cm9hY2guIEJ1dCBhbiB1bmRlcnN0YW5kYWJsZQo+IG9uZS4gSXQncyBwYWluZnVsIHRvIHRha2Ug cXVpcmtzLiBJIGFtIGdyYXRlZnVsIHRoYXQgdGhlIG1haW50YWluZXJzCj4gYXJlIHdpbGxpbmcg dG8gY29uc2lkZXIgdGhpcyBhcHByb2FjaCBub3cgaW4gb3JkZXIgdG8gZ2V0IHRvIHdoZXJlIHdl Cj4gd2FudCB0byBiZSwgYnV0IEkgY29tcGxldGVseSB1bmRlcnN0YW5kIHRoZSBoZXNpdGFuY2Ug aW4gdGhlIHBhc3QuCj4gQWxvbmcgd2l0aCB0aGUgYWJvdmUsIHdlIGFsbCBuZWVkIHRvIGRvIGFs bCB3ZSBjYW4gdG8gZW5zdXJlIHRoYXQKPiBxdWlya3MgYXJlIGFuIGFic29sdXRlIGxhc3QgcmVz b3J0LiBJdCdzIG9uZSB0aGluZyB0byBoYXZlIGEgY29ybmVyCj4gY2FzZSBpc3N1ZSB0aGF0IGNv dWxkbid0IGJlIHRlc3RlZCBwcmUtc2lsaWNvbiwgYnV0IHRoZXJlIGlzICpubwo+IGV4Y3VzZSog aW4gMjAyMSB0byBldmVyIHRhcGUgb3V0IGFub3RoZXIgY2hpcCB0aGF0IGhhc24ndCBoYWQgYXQg bGVhc3QKPiBhIGJhc2ljIGxldmVsIG9mIEVDQU0gdGVzdGluZyAoYW5kIG9idmlvdXNseSBpdCBz aG91bGQgYmUgbXVjaCBtb3JlKS4KPiBFbXVsYXRpb24gdGltZSBzaG91bGQgY2F0Y2ggdGhlIHZh c3QgbWFqb3JpdHkgb2YgYnVncyBhcyByZWFsIFBDSWUKPiBkZXZpY2VzIGFyZSB1c2VkIGFnYWlu c3QgYSBkZXNpZ24gdXNpbmcgc3BlZWQgYnJpZGdlcyBhbmQgdGhlIGxpa2UuCj4gVGhlcmUncyBu byBleGN1c2Ugbm90IHRvIHRlc3QuIEFuZCBmcmFua2x5IGl0IGJvZ2dsZXMgbXkgbWluZCB0aGF0 Cj4gYW55b25lIHdvdWxkIHRoaW5rIHRoYXQgd2FzIGEgcHJ1ZGVudCB3YXkgdG8gZG8gYnVzaW5l c3MuIFlvdSBjYW4gaGF2ZQo+IGV2ZXJ5IGRpc3RybyAianVzdCB3b3JrIiBieSBkb2luZyBpdCBy aWdodCwgb3IgeW91IGNhbiBoYXZlIHllYXJzIG9mCj4gcGFpbiBieSBkb2luZyBpdCB3cm9uZy4g QW5kIHRvbyBtYW55IHN0aWxsIHRoaW5rIHRoZSBCU1AgaGFjayBpdCB1cAo+IG1vZGVsIGlzIHRo ZSB3YXkgdG8gZ28uIFdlIG91Z2h0IHRvIGJlIGRlYWxpbmcgcHJlZG9taW5hbnRseSB3aXRoIHRo ZQo+IGxvbmcgdGFpbCBvZiBzdHVmZiB0aGF0IGlzIHVzaW5nIG9idmlvdXNseSBidXN0ZWQgSVAg dGhhdCB3YXMgYWxyZWFkeQo+IGJha2VkLiBXZSBjYW4gdXNlIHF1aXJrcyBmb3IgdGhhdC4gQnV0 IHRoZW4gdGhleSBuZWVkIHRvIGdvIGF3YXkgYW5kCj4gYmUgcmVwbGFjZWQgd2l0aCByZWFsIEVD QU0gdGhhdCB3b3JrcyBvbiBmdXR1cmUgcGxhdGZvcm1zLgo+Cj4gPiBJJ20gc29ycnkgZm9yIG15 IGJpdHRlciB0b25lLCBidXQgSSB0aGluayB0aGlzIHRpbWUgY291bGQgYW5kIHNob3VsZAo+ID4g aGF2ZSBiZWVuIHNwZW50IGJldHRlciAtIEkgZG91YnQgaXQgbWFuYWdlZCB0byBwdXNoIHVzIGlu IGFueQo+ID4gc2lnbmlmaWNhbnQgd2F5IHRvd2FyZHMgd2lkZSBmdWxseS1zdGFuZGFyZCBjb21w bGlhbnQgUENJRSBJUAo+ID4gYWRvcHRpb24uCj4KPiBUcnV0aGZ1bGx5IHRoZXJlIHdpbGwgYmUg c29tZSBwYXJ0cyBvZiB0aGUgQXJtIHN0b3J5IHRoYXQgd2lsbCBiZQo+IHVucGxlYXNhbnQgZm9v dG5vdGVzIGluIHRoZSBoaXN0b3JpY2FsIHRlbGxpbmcuIEhvdyB3ZSBoYXZlbid0IG1vdmVkCj4g dGhlIHRoaXJkIHBhcnR5IElQIHZlbmRvcnMgZmFzdGVyIGlzIGEgc2lnbmlmaWNhbnQgb25lLiBJ IHRoaW5rIHdlCj4gaGF2ZSBhIGNoYW5jZSB0byBmaW5hbGx5IGNoYW5nZSB0aGF0IG5vdyB0aGF0 IEFybSBpcyBnYWluaW5nIHRyYWN0aW9uLgo+IEkgYW0gdmVyeSBzYWQgdGhhdCBzb21lIG9mIHRo ZSBlYXJseSBjb21lcnMgd2hvIHRyaWVkIHRvIGRvIHRoZSByaWdodAo+IHRoaW5nIGhhZCB0byBk ZWFsIHdpdGggdGhlIHN0YXRlIG9mIHRoaXJkIHBhcnR5IElQIGF0IHRoZSB0aW1lLgo+CgpUaGVy ZSB3aWxsIGJlIGZvciBzdXJlIGEgdGltZSBmb3IgYSBwb3N0LW1vcnRlbSBhbmFseXNpcyBvbgph cHByb3ByaWF0ZSBsZXZlbHMuIElNTyBtYWluIHByb2JsZW1zIHdlcmUgaW5jb25zaXN0ZW50IGFw cHJvYWNoIChlLmcuCm1lbnRpb25lZCBxdWlyayBleGNlcHRpb25zKSBhbmQgbGFjayBvZiBjb29y ZGluYXRlZCBlZmZvcnRzIHdpdGgKc3VmZmljaWVudCBwdXNoaW5nIHRoZSB2ZW5kb3JzLiBZb3Ug YXJlIHBlcmZlY3RseSBhd2FyZSBhYm91dCB0aGUgZGFyawplbWJlZGRlZC9ldmVyeXRoaW5nLWN1 c3RvbS1pbi1CU1AgdGltZXMgb2YgYXJtdjcuIEFuZCB0aGlzIG1lbnRhbGl0eQp3YXMgaW5pdGlh bGx5IGluaGVyaXRlZCB3aGVuIHN3aXRjaGluZyB0byA2NC1iaXRzLCB3aG9zZSByZW1haW5zIHdl CmNhbiBzb21ldGltZXMgc3RpbGwgb2JzZXJ2ZSBpbiBEVC13b3JsZC4gVGhpcyBoYXMgc2lnbmlm aWNhbnRseQpjaGFuZ2VkIGR1cmluZyB0aGUgNSB5ZWFycywgd2l0aCBhIGh1Z2UgZHJpdmUgZnJv bSBjb21tdW5pdHkgLSBpdCBpcwptb3JlIGFuZCBtb3JlIGNvbW1vbiB0byB1c2UgYSBib2FyZCB3 aXRoIGEgZml4ZWQgZmlybXdhcmUgdmVyc2lvbiBhbmQKaW5zdGFsbCB2YXJpb3VzIGRpc3Ryb3Mv QlNEJ3MvRVNYSSBvciBldmVuIFdpbmRvd3MxMCBpbiBhIGNpdmlsaXplZAp3YXkuIFN5c3RlbVJl YWR5IGNhbiBhY2NlbGxlcmF0ZSB0aGF0LCBhbmQgdGhpcyBpcyB3aGF0IEkgcmVhbGx5IGNvdW50 Cm9uLgoKSSBvbmx5IHdhbnRlZCB0byBzdHJlc3Mgb3V0LCB0aGF0IHRoZXJlIHNob3VsZCBiZSBz b21lIGJyaWRnZSBiZXR3ZWVuCndoYXQgd2Ugd2FudCBhbmQgd2hhdCBpcyBwb3NzaWJsZSwgd2l0 aCB0aGUgdXNlcnMgYWxzbyBpbiBtaW5kLCB3aG8Kc2hvdWxkIG5vdCBiZSBibGFtZWQgZm9yIHZl bmRvcnMnIGRlY2lzaW9ucy4gSW4gMjAxNyB0aGUgYmFyIHdhcwpyYWlzZWQgdG8gdGhlIHNlcnZl ci1ncmFkZSBsZXZlbHMgZm9yIGFsbCBkZXZpY2VzLCBob3dldmVyIHRoZXJlIHdhcwpubyBleGlz dGluZyBhcm02NCBzeXN0ZW0gKGV2ZW4gc2VydmVyKSB0aGF0IHdvdWxkIGZ1bGx5IGNvbXBseSB0 byBpdC4KSU1PIGluIGRheTAgKGFuZCBsYXRlcikgdGhlIHNsYXNoIHdhcyB0b28gaGFyZCBmb3Ig ZW1iZWRkZWQgc3lzdGVtcyAtCmluIGEgcGVyZmVjdCB3b3JsZCBBUk0gKHBvc3NpYmx5IHdpdGgg c29tZSBwYXJ0bmVyKSBzaG91bGQgaGF2ZQpjcmVhdGVkIGEgcmVmZXJlbmNlIGRlc2lnbiB3aXRo IHB1cmUgRUNBTSwgR0lDdjMsIFNNTVUsIGV0Yy4gYW5kIHNheQonbG9vayB1cCB0byB0aGlzIGdv bGRlbiBzdGFuZGFyZCwgd2l0aGluIFggeWVhcnMgeW91IGVpdGhlciBhbGlnbiB0bwppdCwgb3Ig eW91IHdpbGwgYmUgbGVmdCB3aXRob3V0IG1haW5saW5lIExpbnV4IHN1cHBvcnQnLiBVbmZvcnR1 bmF0ZWx5CnRoZSB0aW1lIHBhc3NlZCBhbmQgd2UgYXJlIGluIGEgc2ltaWxhciBwbGFjZSBpbiB0 ZXJtcyBvZiBIVy4KCkZvcnR1bmF0ZWx5IHRoZXJlJ3MgYmVlbiBhbiBpbXByZXNzaXZlIGxlYXAg Zm9yd2FyZCBpbiB0aGUgc29mdHdhcmUKc3VwcG9ydCAtIEknZCBsaWtlIHRvIGV4cHJlc3MgaHVn ZSB0aGFua3MgdG8gYWxsIHBlb3BsZSBtYWtpbmcgaHVnZSwKb2Z0ZW4gdm9sdW50YXJ5LCBlZmZv cnQgYW5kIGNvbnRyaWJ1dGlvbiB0byBoYXZlIHN1Y2ggYSBncmVhdCwgbW9yZQphbmQgbW9yZSBk ZXZlbG9wZWQgYXJtNjQgZWNvc3lzdGVtLiBMZXQncyBoZWxwIHRoZW0gYW5kIGFsbCBwb3RlbnRp YWwKdXNlcnMgdG8gZW5qb3kgdGhlIHBsYXRmb3JtcyB0aGF0IGNhbiBhbHJlYWR5ICdqdXN0IHdv cmsnIGFuZApwdXNoL2JsYW1lL3B1bmlzaCB0aGUgdmVuZG9ycyBpbnN0ZWFkLgoKQmVzdCByZWdh cmRzLApNYXJjaW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK