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=-6.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,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 C9C76C432BE for ; Wed, 1 Sep 2021 16:49:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B613261053 for ; Wed, 1 Sep 2021 16:49:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245422AbhIAQuy (ORCPT ); Wed, 1 Sep 2021 12:50:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:37666 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231419AbhIAQuv (ORCPT ); Wed, 1 Sep 2021 12:50:51 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A132260525; Wed, 1 Sep 2021 16:49:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1630514994; bh=qfbWT7+qcpIOR2ilM3lTfkuFQnLJW5YbueLjEBSnZyY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=oR3FDJQStaL1ofpT2swCRp2pWYRhoVGq3++Hbqjrbole3eG6IIu6rrAoWSLL6CmSr Z2sGMTQjhKVdidwUSA0dFIlekvqxO26VE45ToS0LQV2x6eMCqklNwRgwzMh8pMmwqn YNZ/3OOMrAIFpxgOAo9D9a3xyRTepCk2AvHjG/lWW/X39mlcH7v2Vqa/UplBi0LfZC BSOD//t5YdnM5ze3j2ANGQHKzxvYjzsEKEdVN5U4RNkijseE2YxoiZA5RP8VSl2JX+ WsaSHT287Z2F4RrCG69LIaeH+IEGgAMVaU8oN2DdKXdvN4xr1WQ+ULND4hjF1l2ZQI qp6kcQ4CknSOA== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 666A34007E; Wed, 1 Sep 2021 13:49:51 -0300 (-03) Date: Wed, 1 Sep 2021 13:49:51 -0300 From: Arnaldo Carvalho de Melo To: Leo Yan Cc: James Clark , mathieu.poirier@linaro.org, coresight@lists.linaro.org, linux-perf-users@vger.kernel.org, mike.leach@linaro.org, suzuki.poulose@arm.com, John Garry , Will Deacon , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 9/9] perf cs-etm: Show a warning for an unknown magic number Message-ID: References: <20210806134109.1182235-1-james.clark@arm.com> <20210806134109.1182235-10-james.clark@arm.com> <20210824083615.GF204566@leoy-ThinkPad-X240s> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Url: http://acmel.wordpress.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Wed, Sep 01, 2021 at 01:25:37PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Wed, Sep 01, 2021 at 01:16:56PM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Wed, Sep 01, 2021 at 01:07:41PM -0300, Arnaldo Carvalho de Melo escreveu: > > > Em Wed, Sep 01, 2021 at 12:54:34PM -0300, Arnaldo Carvalho de Melo escreveu: > > > > Applies cleanly to my tree, test building it now, holler if there is > > > > something that prevents it from being merged. > > > I´m now trying to fix this up, I applied it using 'b4', so no patch > > > should have gone missing... > > So its probably related to: > > ⬢[acme@toolbox perf]$ rpm -qa | grep opencsd > > opencsd-1.0.0-1.fc34.x86_64 > > opencsd-devel-1.0.0-1.fc34.x86_64 > > ⬢[acme@toolbox perf]$ > > In which case the usual mechanism is to test if we have what is needed > > via tools/build/feature/test-_____.c, lemme check... > There is a test and it fails, of course: > ⬢[acme@toolbox perf]$ cat /tmp/build/perf/feature/test-libopencsd.make.output > test-libopencsd.c:9:2: error: #error "OpenCSD >= 1.1.1 is required" > 9 | #error "OpenCSD >= 1.1.1 is required" > | ^~~~~ > ⬢[acme@toolbox perf]$ > But the fact that I ask for CORESIGHT=1 should have the build fail then, > i.e. if one explicitely asks for a feature and it can't be built, fail > the whole build. So after uninstalling the libopencsd that comes with fedora 34 and cloning the upstream OpenCSD git repo, building it and installing in /usr/local/ it seems to work as expected: ⬢[acme@toolbox perf]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; ⬢[acme@toolbox perf]$ make O=/tmp/build/perf VF=1 CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin |& grep -i opencsd ... libopencsd: [ on ] ⬢[acme@toolbox perf]$ cat /tmp/build/perf/feature/test-libopencsd.make.output ⬢[acme@toolbox perf]$ ⬢[acme@toolbox perf]$ ⬢[acme@toolbox perf]$ ldd ~/bin/perf | grep opencsd libopencsd_c_api.so.1 => not found ⬢[acme@toolbox perf]$ export LD_LIBRARY_PATH=/usr/local/lib ⬢[acme@toolbox perf]$ ldd ~/bin/perf | grep opencsd libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007f839e8b2000) libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007f839da3c000) ⬢[acme@toolbox perf]$ ⬢[acme@toolbox perf]$ ⬢[acme@toolbox perf]$ ⬢[acme@toolbox perf]$ ldd /tmp/build/perf/feature/test-libopencsd.bin linux-vdso.so.1 (0x00007ffd669b3000) libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007fe608b8c000) libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007fe608af5000) libc.so.6 => /lib64/libc.so.6 (0x00007fe60891e000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fe6086ff000) libm.so.6 => /lib64/libm.so.6 (0x00007fe6085bb000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe6085a0000) /lib64/ld-linux-x86-64.so.2 (0x00007fe608ba2000) ⬢[acme@toolbox perf]$ ls -la /usr/local/lib/libopencsd* -rw-r--r--. 1 root root 1641364 Sep 1 13:41 /usr/local/lib/libopencsd.a -rw-r--r--. 1 root root 168022 Sep 1 13:41 /usr/local/lib/libopencsd_c_api.a lrwxrwxrwx. 1 root root 21 Sep 1 13:41 /usr/local/lib/libopencsd_c_api.so -> libopencsd_c_api.so.1 lrwxrwxrwx. 1 root root 25 Sep 1 13:41 /usr/local/lib/libopencsd_c_api.so.1 -> libopencsd_c_api.so.1.1.1 -rw-r--r--. 1 root root 104968 Sep 1 13:41 /usr/local/lib/libopencsd_c_api.so.1.1.1 lrwxrwxrwx. 1 root root 15 Sep 1 13:41 /usr/local/lib/libopencsd.so -> libopencsd.so.1 lrwxrwxrwx. 1 root root 19 Sep 1 13:41 /usr/local/lib/libopencsd.so.1 -> libopencsd.so.1.1.1 -rw-r--r--. 1 root root 762432 Sep 1 13:41 /usr/local/lib/libopencsd.so.1.1.1 ⬢[acme@toolbox perf]$ This doesn't explain that 'make -C tools/perf build-test' error, perhaps it is reusing the feature dump (feature detection), done without CORESIGHT=1, when building with CORESIGHT=1 :-\ Anyway, please consider making the build fail when CORESIGHT=1 is passed explicitely and that tools/build/feature-libopencsd.c feature test fails instead of silently building the tool _without_ the explicitely asked for feature. Thanks, - Arnaldo 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,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 EDD72C4320A for ; Wed, 1 Sep 2021 16:53:01 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id B36BF6109E for ; Wed, 1 Sep 2021 16:53:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B36BF6109E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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=XoLYdPTHvsmS2/TckABGZY4ZU1ZEPmUTY/T9L1aBeXs=; b=pqM5VfJsjLSSQ3 4s7nQ3NkQ2ZkiM++ukjUK7A6K5jYgvmve6I2Z/Gbrlt34PLsBmZyEp4dqDjix4jDukLKyDniUOjHD ZUmwd8L6yx83zPgOPA0kE8E3JzVp76T8u/pmHHp9bjM+ZG7ol4QobRDl+F4atzAJGjjWNf/ZtQqRw 4DgaW6ocawgabP6TydP9FzrHKnYnjGmoc2dEHOruTAIiDItXN2HG2rc8Keak6VV3ZQsxQg9iQNtzU b5tdO0UrogduaLrZqhRNohhR1A9L1QUALNGob0qhJHrZgGUDAw/KX1nx4b+TrfyE/MQ9/8pZdKgw/ oVEnDKYRrYcjdn91LtmQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mLTRt-006cHD-Ds; Wed, 01 Sep 2021 16:50:53 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mLTRo-006cFw-31 for linux-arm-kernel@bombadil.infradead.org; Wed, 01 Sep 2021 16:50:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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=aA1hO2sfZeWFJo2a3Myl6kzdZ8qOH/wkizBpj6zlHkY=; b=AxXOYaCvjkQwHI35Si7nHqZO3K 7PhC6p7V7RLqtQzhM6jUnJVAafdKKNCl2SjXTy1qbqnV/RL8gAMAknuFegW+Rv2IwsMLi4ZTlxc2w XLLkNaRKEu6opY05qiZq7MNqOYUhEWtQDdD5Di1LEwL5ea5jYauYVhoU9akj6DQbWkISqOt5s+wUT vog+tLfKHoFBPD01eEzO+OcEaqnXZIFzM16X+hyvtNpUChhSkSHr9N930U4QJCQnNainky5nyHRNJ qe7C4s8wtKtn6Jx0YWYl9jMA3wLw2DSMq3rylNaMIuf3ea50/YRYCxLCfKEHleiqkyOqVNIvPJ5Gs nHWdn0fg==; Received: from [179.97.37.151] (helo=quaco.ghostprotocols.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1mLTQy-002Z7M-66 for linux-arm-kernel@lists.infradead.org; Wed, 01 Sep 2021 16:50:01 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 666A34007E; Wed, 1 Sep 2021 13:49:51 -0300 (-03) Date: Wed, 1 Sep 2021 13:49:51 -0300 From: Arnaldo Carvalho de Melo To: Leo Yan Cc: James Clark , mathieu.poirier@linaro.org, coresight@lists.linaro.org, linux-perf-users@vger.kernel.org, mike.leach@linaro.org, suzuki.poulose@arm.com, John Garry , Will Deacon , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 9/9] perf cs-etm: Show a warning for an unknown magic number Message-ID: References: <20210806134109.1182235-1-james.clark@arm.com> <20210806134109.1182235-10-james.clark@arm.com> <20210824083615.GF204566@leoy-ThinkPad-X240s> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Url: http://acmel.wordpress.com 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 RW0gV2VkLCBTZXAgMDEsIDIwMjEgYXQgMDE6MjU6MzdQTSAtMDMwMCwgQXJuYWxkbyBDYXJ2YWxo byBkZSBNZWxvIGVzY3JldmV1Ogo+IEVtIFdlZCwgU2VwIDAxLCAyMDIxIGF0IDAxOjE2OjU2UE0g LTAzMDAsIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyBlc2NyZXZldToKPiA+IEVtIFdlZCwgU2Vw IDAxLCAyMDIxIGF0IDAxOjA3OjQxUE0gLTAzMDAsIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyBl c2NyZXZldToKPiA+ID4gRW0gV2VkLCBTZXAgMDEsIDIwMjEgYXQgMTI6NTQ6MzRQTSAtMDMwMCwg QXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIGVzY3JldmV1Ogo+ID4gPiA+IEFwcGxpZXMgY2xlYW5s eSB0byBteSB0cmVlLCB0ZXN0IGJ1aWxkaW5nIGl0IG5vdywgaG9sbGVyIGlmIHRoZXJlIGlzCj4g PiA+ID4gc29tZXRoaW5nIHRoYXQgcHJldmVudHMgaXQgZnJvbSBiZWluZyBtZXJnZWQuCgo+ID4g PiBJwrRtIG5vdyB0cnlpbmcgdG8gZml4IHRoaXMgdXAsIEkgYXBwbGllZCBpdCB1c2luZyAnYjQn LCBzbyBubyBwYXRjaAo+ID4gPiBzaG91bGQgaGF2ZSBnb25lIG1pc3NpbmcuLi4KCj4gPiBTbyBp dHMgcHJvYmFibHkgcmVsYXRlZCB0bzoKCj4gPiDirKJbYWNtZUB0b29sYm94IHBlcmZdJCBycG0g LXFhIHwgZ3JlcCBvcGVuY3NkCj4gPiBvcGVuY3NkLTEuMC4wLTEuZmMzNC54ODZfNjQKPiA+IG9w ZW5jc2QtZGV2ZWwtMS4wLjAtMS5mYzM0Lng4Nl82NAo+ID4g4qyiW2FjbWVAdG9vbGJveCBwZXJm XSQKCj4gPiBJbiB3aGljaCBjYXNlIHRoZSB1c3VhbCBtZWNoYW5pc20gaXMgdG8gdGVzdCBpZiB3 ZSBoYXZlIHdoYXQgaXMgbmVlZGVkCj4gPiB2aWEgdG9vbHMvYnVpbGQvZmVhdHVyZS90ZXN0LV9f X19fLmMsIGxlbW1lIGNoZWNrLi4uCgo+IFRoZXJlIGlzIGEgdGVzdCBhbmQgaXQgZmFpbHMsIG9m IGNvdXJzZToKCj4g4qyiW2FjbWVAdG9vbGJveCBwZXJmXSQgY2F0IC90bXAvYnVpbGQvcGVyZi9m ZWF0dXJlL3Rlc3QtbGlib3BlbmNzZC5tYWtlLm91dHB1dAo+IHRlc3QtbGlib3BlbmNzZC5jOjk6 MjogZXJyb3I6ICNlcnJvciAiT3BlbkNTRCA+PSAxLjEuMSBpcyByZXF1aXJlZCIKPiAgICAgOSB8 ICNlcnJvciAiT3BlbkNTRCA+PSAxLjEuMSBpcyByZXF1aXJlZCIKPiAgICAgICB8ICBefn5+fgo+ IOKsolthY21lQHRvb2xib3ggcGVyZl0kCgo+IEJ1dCB0aGUgZmFjdCB0aGF0IEkgYXNrIGZvciBD T1JFU0lHSFQ9MSBzaG91bGQgaGF2ZSB0aGUgYnVpbGQgZmFpbCB0aGVuLAo+IGkuZS4gaWYgb25l IGV4cGxpY2l0ZWx5IGFza3MgZm9yIGEgZmVhdHVyZSBhbmQgaXQgY2FuJ3QgYmUgYnVpbHQsIGZh aWwKPiB0aGUgd2hvbGUgYnVpbGQuCgpTbyBhZnRlciB1bmluc3RhbGxpbmcgdGhlIGxpYm9wZW5j c2QgdGhhdCBjb21lcyB3aXRoIGZlZG9yYSAzNCBhbmQKY2xvbmluZyB0aGUgdXBzdHJlYW0gT3Bl bkNTRCBnaXQgcmVwbywgYnVpbGRpbmcgaXQgYW5kIGluc3RhbGxpbmcgaW4KL3Vzci9sb2NhbC8g aXQgc2VlbXMgdG8gd29yayBhcyBleHBlY3RlZDoKCuKsolthY21lQHRvb2xib3ggcGVyZl0kIHJt IC1yZiAvdG1wL2J1aWxkL3BlcmYgOyBta2RpciAtcCAvdG1wL2J1aWxkL3BlcmYgOwrirKJbYWNt ZUB0b29sYm94IHBlcmZdJCBtYWtlIE89L3RtcC9idWlsZC9wZXJmIFZGPTEgQ09SRVNJR0hUPTEg Tz0vdG1wL2J1aWxkL3BlcmYgLUMgdG9vbHMvcGVyZiBpbnN0YWxsLWJpbiB8JiBncmVwIC1pIG9w ZW5jc2QKLi4uICAgICAgICAgICAgICAgICAgICBsaWJvcGVuY3NkOiBbIG9uICBdCuKsolthY21l QHRvb2xib3ggcGVyZl0kIGNhdCAvdG1wL2J1aWxkL3BlcmYvZmVhdHVyZS90ZXN0LWxpYm9wZW5j c2QubWFrZS5vdXRwdXQK4qyiW2FjbWVAdG9vbGJveCBwZXJmXSQK4qyiW2FjbWVAdG9vbGJveCBw ZXJmXSQK4qyiW2FjbWVAdG9vbGJveCBwZXJmXSQgbGRkIH4vYmluL3BlcmYgfCBncmVwIG9wZW5j c2QKCWxpYm9wZW5jc2RfY19hcGkuc28uMSA9PiBub3QgZm91bmQK4qyiW2FjbWVAdG9vbGJveCBw ZXJmXSQgZXhwb3J0IExEX0xJQlJBUllfUEFUSD0vdXNyL2xvY2FsL2xpYgrirKJbYWNtZUB0b29s Ym94IHBlcmZdJCBsZGQgfi9iaW4vcGVyZiB8IGdyZXAgb3BlbmNzZAoJbGlib3BlbmNzZF9jX2Fw aS5zby4xID0+IC91c3IvbG9jYWwvbGliL2xpYm9wZW5jc2RfY19hcGkuc28uMSAoMHgwMDAwN2Y4 MzllOGIyMDAwKQoJbGlib3BlbmNzZC5zby4xID0+IC91c3IvbG9jYWwvbGliL2xpYm9wZW5jc2Qu c28uMSAoMHgwMDAwN2Y4MzlkYTNjMDAwKQrirKJbYWNtZUB0b29sYm94IHBlcmZdJArirKJbYWNt ZUB0b29sYm94IHBlcmZdJArirKJbYWNtZUB0b29sYm94IHBlcmZdJArirKJbYWNtZUB0b29sYm94 IHBlcmZdJCBsZGQgL3RtcC9idWlsZC9wZXJmL2ZlYXR1cmUvdGVzdC1saWJvcGVuY3NkLmJpbgoJ bGludXgtdmRzby5zby4xICgweDAwMDA3ZmZkNjY5YjMwMDApCglsaWJvcGVuY3NkX2NfYXBpLnNv LjEgPT4gL3Vzci9sb2NhbC9saWIvbGlib3BlbmNzZF9jX2FwaS5zby4xICgweDAwMDA3ZmU2MDhi OGMwMDApCglsaWJvcGVuY3NkLnNvLjEgPT4gL3Vzci9sb2NhbC9saWIvbGlib3BlbmNzZC5zby4x ICgweDAwMDA3ZmU2MDhhZjUwMDApCglsaWJjLnNvLjYgPT4gL2xpYjY0L2xpYmMuc28uNiAoMHgw MDAwN2ZlNjA4OTFlMDAwKQoJbGlic3RkYysrLnNvLjYgPT4gL2xpYjY0L2xpYnN0ZGMrKy5zby42 ICgweDAwMDA3ZmU2MDg2ZmYwMDApCglsaWJtLnNvLjYgPT4gL2xpYjY0L2xpYm0uc28uNiAoMHgw MDAwN2ZlNjA4NWJiMDAwKQoJbGliZ2NjX3Muc28uMSA9PiAvbGliNjQvbGliZ2NjX3Muc28uMSAo MHgwMDAwN2ZlNjA4NWEwMDAwKQoJL2xpYjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yICgweDAwMDA3 ZmU2MDhiYTIwMDApCuKsolthY21lQHRvb2xib3ggcGVyZl0kIGxzIC1sYSAvdXNyL2xvY2FsL2xp Yi9saWJvcGVuY3NkKgotcnctci0tci0tLiAxIHJvb3Qgcm9vdCAxNjQxMzY0IFNlcCAgMSAxMzo0 MSAvdXNyL2xvY2FsL2xpYi9saWJvcGVuY3NkLmEKLXJ3LXItLXItLS4gMSByb290IHJvb3QgIDE2 ODAyMiBTZXAgIDEgMTM6NDEgL3Vzci9sb2NhbC9saWIvbGlib3BlbmNzZF9jX2FwaS5hCmxyd3hy d3hyd3guIDEgcm9vdCByb290ICAgICAgMjEgU2VwICAxIDEzOjQxIC91c3IvbG9jYWwvbGliL2xp Ym9wZW5jc2RfY19hcGkuc28gLT4gbGlib3BlbmNzZF9jX2FwaS5zby4xCmxyd3hyd3hyd3guIDEg cm9vdCByb290ICAgICAgMjUgU2VwICAxIDEzOjQxIC91c3IvbG9jYWwvbGliL2xpYm9wZW5jc2Rf Y19hcGkuc28uMSAtPiBsaWJvcGVuY3NkX2NfYXBpLnNvLjEuMS4xCi1ydy1yLS1yLS0uIDEgcm9v dCByb290ICAxMDQ5NjggU2VwICAxIDEzOjQxIC91c3IvbG9jYWwvbGliL2xpYm9wZW5jc2RfY19h cGkuc28uMS4xLjEKbHJ3eHJ3eHJ3eC4gMSByb290IHJvb3QgICAgICAxNSBTZXAgIDEgMTM6NDEg L3Vzci9sb2NhbC9saWIvbGlib3BlbmNzZC5zbyAtPiBsaWJvcGVuY3NkLnNvLjEKbHJ3eHJ3eHJ3 eC4gMSByb290IHJvb3QgICAgICAxOSBTZXAgIDEgMTM6NDEgL3Vzci9sb2NhbC9saWIvbGlib3Bl bmNzZC5zby4xIC0+IGxpYm9wZW5jc2Quc28uMS4xLjEKLXJ3LXItLXItLS4gMSByb290IHJvb3Qg IDc2MjQzMiBTZXAgIDEgMTM6NDEgL3Vzci9sb2NhbC9saWIvbGlib3BlbmNzZC5zby4xLjEuMQri rKJbYWNtZUB0b29sYm94IHBlcmZdJAoKVGhpcyBkb2Vzbid0IGV4cGxhaW4gdGhhdCAnbWFrZSAt QyB0b29scy9wZXJmIGJ1aWxkLXRlc3QnIGVycm9yLCBwZXJoYXBzCml0IGlzIHJldXNpbmcgdGhl IGZlYXR1cmUgZHVtcCAoZmVhdHVyZSBkZXRlY3Rpb24pLCBkb25lIHdpdGhvdXQKQ09SRVNJR0hU PTEsIHdoZW4gYnVpbGRpbmcgd2l0aCBDT1JFU0lHSFQ9MSA6LVwKCkFueXdheSwgcGxlYXNlIGNv bnNpZGVyIG1ha2luZyB0aGUgYnVpbGQgZmFpbCB3aGVuIENPUkVTSUdIVD0xIGlzIHBhc3NlZApl eHBsaWNpdGVseSBhbmQgdGhhdCB0b29scy9idWlsZC9mZWF0dXJlLWxpYm9wZW5jc2QuYyBmZWF0 dXJlIHRlc3QgZmFpbHMKaW5zdGVhZCBvZiBzaWxlbnRseSBidWlsZGluZyB0aGUgdG9vbCBfd2l0 aG91dF8gdGhlIGV4cGxpY2l0ZWx5IGFza2VkCmZvciBmZWF0dXJlLgoKVGhhbmtzLAoKLSBBcm5h bGRvCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==