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 C6923C00140 for ; Wed, 10 Aug 2022 21:56:34 +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=THOe3RRo7JNgBIkHMiMcFASbEAkwAl6Q8ZHSmU1CyzI=; b=bpxKsE/RqhbAMr lPp+2AuIdqAVSLwavd+sCTsCy642ajwrb8STZM9fVnaGq32S38y7CAO8PSvDIs5Fm161KDB7j75Bx DzKQMI7Vhd6cPNKgxV1+pxIn/Z3vtVC+GtddQO5SuI3u3ZiuTFID0nxzzuHhpWIgk5BheVezqN1SG kki3JTrlqJzieEtk49I/hHzJqJQQ1q2dRyFXupBbrDf9lEDK46UV/ZjD6JBrIj6jzkbM0cCpIz1mY lwh9VYMARUwitk3i/02TLXvx5MV76e0KHbbAqfGhtcOP/tctJGHydw7XXstPAlpAFu152mFHnatO5 lWMMJMPSO2joC3qgeSEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oLtff-00FU0s-Oe; Wed, 10 Aug 2022 21:55:23 +0000 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oLtfc-00FTxT-5w for linux-arm-kernel@lists.infradead.org; Wed, 10 Aug 2022 21:55:22 +0000 Received: by mail-oi1-x22c.google.com with SMTP id q184so19290783oif.1 for ; Wed, 10 Aug 2022 14:55:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc; bh=BzsgySgNos3OORO2ZeHRW1YfFHHmZorYT7Lbyu8z2o4=; b=Sq7mo/xV3CVU0BM3n8CRWTNGJwjq5SZx24STkgihs8lBjzxfLLM5tXwvfoGBaafeUe H4fLOnEM3sMevG7Jk3Nv/DdkG7XPXn/NM1UJZN6Re467UyU8ojDwCVxZOLmdrKxv5dqj ckuPPcGtG9qECwxQcW6yUp8mmncBryBF8Q/zf35KEPNTg6UiSJvemc3t3xmc22IVJxl6 c3+/w2sFpEHcN+FE5F3mWqaaKiDOylfkBYCXM1wKWq/V88URh2RozkKTSGwpDYIMC0s3 t2Tm0GbMnRXssWRJq5VY6zWBPx/yxgEy7PI8HvcTFFonlRHz0LGxdBtnN3pzhKpupe3z gl/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc; bh=BzsgySgNos3OORO2ZeHRW1YfFHHmZorYT7Lbyu8z2o4=; b=WmwAI0zI7/mXSvB5UoX4HITrWzZKoByitZGEZD77Cuz1alWGPhUDsbu14H/eE/is/9 f6yy8BBXPNNNu8Gkbr5vHfC2uAFijHh9sjGWpqh7+4wAaMwbMqqTB9HCKh1Yq07FusaR DXfr8PI1Xknjgl6imRZ7ungRxcpGpWBoVxTfJSQ7ulIe3L8iNnqmjqtJk7sMqwRGrAiV zKOVX1fU8z6D5b/3LxXowKazodPcTHtfyum7WEEbVN5vOtaHgf3b1gVqzFR2VIHmzdeK 1AVp7jRAbnnYCQAhQeubQAJejko8571vVky7OZEpsUOH8dJD3SlO2fEej1fILRuAUDLL yjQg== X-Gm-Message-State: ACgBeo3RRqXWc1Ph9kBdsyIacc0Ii3QkRLduMJQYdvUeIoBY5dv+rgR1 s+H379qy0AZGJJ+khkOkziohQzbS7Ev9zw== X-Google-Smtp-Source: AA6agR4BwNvdqbySv2xBzGTGwFVENV9mkrbnUGpS+DzuFxdVuwqt2mi7PKg8B6+uYkf9cRTOg0crwg== X-Received: by 2002:a17:90a:e7cc:b0:1f7:26c9:ee9f with SMTP id kb12-20020a17090ae7cc00b001f726c9ee9fmr5613200pjb.75.1660168507148; Wed, 10 Aug 2022 14:55:07 -0700 (PDT) Received: from google.com (220.181.82.34.bc.googleusercontent.com. [34.82.181.220]) by smtp.gmail.com with ESMTPSA id w16-20020a1709026f1000b001712c008f99sm3309460plk.11.2022.08.10.14.55.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Aug 2022 14:55:06 -0700 (PDT) Date: Wed, 10 Aug 2022 14:55:03 -0700 From: Ricardo Koller To: Oliver Upton Cc: Marc Zyngier , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, James Morse , Suzuki K Poulose , Alexandru Elisei , kernel-team@android.com Subject: Re: [PATCH 0/9] KVM: arm64: PMU: Fixing chained events, and PMUv3p5 support Message-ID: References: <20220805135813.2102034-1-maz@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220810_145520_285346_5A3656B2 X-CRM114-Status: GOOD ( 31.50 ) 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 T24gV2VkLCBBdWcgMTAsIDIwMjIgYXQgMDI6MzM6NTNQTSAtMDUwMCwgT2xpdmVyIFVwdG9uIHdy b3RlOgo+IEhpIFJpY2FyZG8sCj4gCj4gT24gV2VkLCBBdWcgMTAsIDIwMjIgYXQgMTE6NDY6MjJB TSAtMDcwMCwgUmljYXJkbyBLb2xsZXIgd3JvdGU6Cj4gPiBPbiBGcmksIEF1ZyAwNSwgMjAyMiBh dCAwMjo1ODowNFBNICswMTAwLCBNYXJjIFp5bmdpZXIgd3JvdGU6Cj4gPiA+IFJpY2FyZG8gcmVj ZW50bHkgcmVwb3J0ZWRbMV0gdGhhdCBvdXIgUE1VIGVtdWxhdGlvbiB3YXMgYnVzdGVkIHdoZW4g aXQKPiA+ID4gY29tZXMgdG8gY2hhaW5lZCBldmVudHMsIGFzIHdlIGNhbm5vdCBleHBvc2UgdGhl IG92ZXJmbG93IG9uIGEgMzJiaXQKPiA+ID4gYm91bmRhcnkgKHdoaWNoIHRoZSBhcmNoaXRlY3R1 cmUgcmVxdWlyZXMpLgo+ID4gPiAKPiA+ID4gVGhpcyBzZXJpZXMgYWltcyBhdCBmaXhpbmcgdGhp cyAoYnkgZGVsZXRpbmcgYSBsb3Qgb2YgY29kZSksIGFuZCBhcyBhCj4gPiA+IGJvbnVzIGFkZHMg c3VwcG9ydCBmb3IgUE1VdjNwNSwgYXMgdGhpcyByZXF1aXJlcyB1cyB0byBmaXggYSBmZXcgbW9y ZQo+ID4gPiB0aGluZ3MuCj4gPiA+IAo+ID4gPiBUZXN0ZWQgb24gQTUzIChQTVV2MykgYW5kIEZW UCAoUE1VdjNwNSkuCj4gPiA+IAo+ID4gPiBbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8y MDIyMDgwNTAwNDEzOS45OTA1MzEtMS1yaWNhcmtvbEBnb29nbGUuY29tCj4gPiA+IAo+ID4gPiBN YXJjIFp5bmdpZXIgKDkpOgo+ID4gPiAgIEtWTTogYXJtNjQ6IFBNVTogQWxpZ24gY2hhaW5lZCBj b3VudGVyIGltcGxlbWVudGF0aW9uIHdpdGgKPiA+ID4gICAgIGFyY2hpdGVjdHVyZSBwc2V1ZG9j b2RlCj4gPiA+ICAgS1ZNOiBhcm02NDogUE1VOiBEaXN0aW5ndWlzaCBiZXR3ZWVuIDY0Yml0IGNv dW50ZXIgYW5kIDY0Yml0IG92ZXJmbG93Cj4gPiA+ICAgS1ZNOiBhcm02NDogUE1VOiBPbmx5IG5h cnJvdyBjb3VudGVycyB0aGF0IGFyZSBub3QgNjRiaXQgd2lkZQo+ID4gPiAgIEtWTTogYXJtNjQ6 IFBNVTogQWRkIGNvdW50ZXJfaW5kZXhfdG9fKnJlZygpIGhlbHBlcnMKPiA+ID4gICBLVk06IGFy bTY0OiBQTVU6IFNpbXBsaWZ5IHNldHRpbmcgYSBjb3VudGVyIHRvIGEgc3BlY2lmaWMgdmFsdWUK PiA+ID4gICBLVk06IGFybTY0OiBQTVU6IE1vdmUgdGhlIElEX0FBNjRERlIwX0VMMS5QTVV2ZXIg bGltaXQgdG8gVk0gY3JlYXRpb24KPiA+ID4gICBLVk06IGFybTY0OiBQTVU6IEFsZXZlbiBJRF9B QTY0REZSMF9FTDEuUE1VdmVyIHRvIGJlIHNldCBmcm9tIHVzZXJzcGFjZQo+ID4gPiAgIEtWTTog YXJtNjQ6IFBNVTogSW1wbGVtZW50IFBNVXYzcDUgbG9uZyBjb3VudGVyIHN1cHBvcnQKPiA+ID4g ICBLVk06IGFybTY0OiBQTVU6IEFsZXZlbiBQTVV2M3A1IHRvIGJlIGV4cG9zZWQgdG8gdGhlIGd1 ZXN0Cj4gPiA+IAo+ID4gPiAgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oIHwgICAx ICsKPiA+ID4gIGFyY2gvYXJtNjQva3ZtL2FybS5jICAgICAgICAgICAgICB8ICAgNiArCj4gPiA+ ICBhcmNoL2FybTY0L2t2bS9wbXUtZW11bC5jICAgICAgICAgfCAzNzIgKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gPiA+ICBhcmNoL2FybTY0L2t2bS9zeXNfcmVncy5jICAgICAgICAg fCAgNjUgKysrKystCj4gPiA+ICBpbmNsdWRlL2t2bS9hcm1fcG11LmggICAgICAgICAgICAgfCAg MTYgKy0KPiA+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMjA4IGluc2VydGlvbnMoKyksIDI1MiBkZWxl dGlvbnMoLSkKPiA+ID4gCj4gPiA+IC0tIAo+ID4gPiAyLjM0LjEKPiA+ID4gCj4gPiAKPiA+IEhp IE1hcmMsCj4gPiAKPiA+IFRoZXJlIGlzIG9uZSBleHRyYSBwb3RlbnRpYWwgaXNzdWUgd2l0aCBl eHBvc2luZyBQTVV2M3A1LiBJIHNlZSB0aGlzCj4gPiB3ZWlyZCBiZWhhdmlvciB3aGVuIGRvaW5n IHBhc3N0aHJvdWdoICgiYmFyZSBtZXRhbCIpIG9uIHRoZSBmYXN0LW1vZGVsCj4gPiBjb25maWd1 cmVkIHRvIGVtdWxhdGUgUE1VdjNwNTogdGhlIFs2MzozMl0gaGFsZiBvZiB0aGUgY291bnRlcnMK PiA+IG92ZXJmbG93aW5nIGF0IDMyLWJpdHMgaXMgc3RpbGwgaW5jcmVtZW50ZWQuCj4gPiAKPiA+ ICAgRmFzdCBtb2RlbCAtIEFSTXY4LjU6Cj4gPiAgICAKPiA+IAlBc3N1bWluZyB0aGUgaW5pdGlh bCBzdGF0ZSBpcyBldmVuPTB4RkZGRkZGRkYgYW5kIG9kZD0weDAsCj4gPiAJaW5jcmVtZW50aW5n IHRoZSBldmVuIGNvdW50ZXIgbGVhZHMgdG86Cj4gPiAKPiA+IAkweDAwMDAwMDAxXzAwMDAwMDAw CTB4MDAwMDAwMDBfMDAwMDAwMDEJCTB4MQo+ID4gCWV2ZW4gY291bnRlcgkJb2RkIGNvdW50ZXIJ CQlQTU9WU0VUCj4gPiAKPiA+IAlBc3N1bWluZyB0aGUgaW5pdGlhbCBzdGF0ZSBpcyBldmVuPTB4 RkZGRkZGRkYgYW5kIG9kZD0weEZGRkZGRkZGLAo+ID4gCWluY3JlbWVudGluZyB0aGUgZXZlbiBj b3VudGVyIGxlYWRzIHRvOgo+ID4gCj4gPiAJMHgwMDAwMDAwMV8wMDAwMDAwMAkweDAwMDAwMDAx XzAwMDAwMDAwCQkweDMKPiA+IAlldmVuIGNvdW50ZXIJCW9kZCBjb3VudGVyCQkJUE1PVlNFVAo+ IAo+IFRoaXMgaXMgdG8gYmUgZXhwZWN0ZWQsIGFjdHVhbGx5LiBQTVV2OHA1IGNvdW50ZXJzIGFy ZSBhbHdheXMgNjQgYml0LAo+IHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbmZpZ3VyZWQgb3ZlcmZsb3cu Cj4gCj4gRERJIDA0ODdIIEQ4LjMgQmVoYXZpb3Igb24gb3ZlcmZsb3cKPiAKPiAgIElmIEZFQVRf UE1VdjNwNSBpcyBpbXBsZW1lbnRlZCwgNjQtYml0IGV2ZW50IGNvdW50ZXJzIGFyZSBpbXBsZW1l bnRlZCwKPiAgIEhEQ1IuSFBNTiBpcyBub3QgMCwgYW5kIGVpdGhlciBuIGlzIGluIHRoZSByYW5n ZSBbMCAuLiAoSERDUi5IUE1OLTEpXQo+ICAgb3IgRUwyIGlzIG5vdCBpbXBsZW1lbnRlZCwgdGhl biBldmVudCBjb3VudGVyIG92ZXJmbG93IGlzIGNvbmZpZ3VyZWQKPiAgIGJ5IFBNQ1IuTFA6Cj4g Cj4gICDigJQgV2hlbiBQTUNSLkxQIGlzIHNldCB0byAwLCBpZiBpbmNyZW1lbnRpbmcgUE1FVkNO VFI8bj4gY2F1c2VzIGFuIHVuc2lnbmVkCj4gICAgIG92ZXJmbG93IG9mIGJpdHMgWzMxOjBdIG9m IHRoZSBldmVudCBjb3VudGVyLCB0aGUgUEUgc2V0cyBQTU9WU0NMUltuXSB0byAxLgo+ICAg4oCU IFdoZW4gUE1DUi5MUCBpcyBzZXQgdG8gMSwgaWYgaW5jcmVtZW50aW5nIFBNRVZDTlRSPG4+IGNh dXNlcyBhbiB1bnNpZ25lZAo+ICAgICBvdmVyZmxvdyBvZiBiaXRzIFs2MzowXSBvZiB0aGUgZXZl bnQgY291bnRlciwgdGhlIFBFIHNldHMgUE1PVlNDTFJbbl0gdG8gMS4KPiAKPiAgIFsuLi5dCj4g Cj4gICBGb3IgYWxsIDY0LWJpdCBjb3VudGVycywgaW5jcmVtZW50aW5nIHRoZSBjb3VudGVyIGlz IHRoZSBzYW1lIHdoZXRoZXIgYW4KPiAgIHVuc2lnbmVkIG92ZXJmbG93IG9jY3VycyBhdCBbMzE6 MF0gb3IgWzYzOjBdLiBJZiB0aGUgY291bnRlciBpbmNyZW1lbnRzCj4gICBmb3IgYW4gZXZlbnQs IGJpdHMgWzYzOjBdIGFyZSBhbHdheXMgaW5jcmVtZW50ZWQuCj4gCj4gRG8geW91IHNlZSB0aGlz IHNhbWUgKGV4cGVjdGVkKSBmYWlsdXJlIHcvIE1hcmMncyBzZXJpZXM/CgpJIGRvbid0IGtub3cs IEknbSBoaXR0aW5nIGFub3RoZXIgYnVnIGl0IHNlZW1zLgoKSnVzdCByZWFsaXplZCB0aGF0IEtW TSBkb2VzIG5vdCBvZmZlciBQTVV2M3A1ICh3aXRoIHRoaXMgc2VyaWVzIGFwcGxpZWQpCndoZW4g dGhlIHJlYWwgaGFyZHdhcmUgaXMgb25seSBBcm12OC4yICh0aGUgc2V0dXAgSSBvcmlnaW5hbGx5 IHRyaWVkKS4KU28sIHRyaWVkIHRoZXNlIG90aGVyIHR3byBzZXR1cHMgb24gdGhlIGZhc3QgbW9k ZWw6CgpoYXNfYXJtX3Y4LTU9MQoKCSMgLi9sa3ZtLXN0YXRpYyBydW4gLS1ub2RlZmF1bHRzIC0t cG11IHBtdS5mbGF0IC1wIHBtdS1jaGFpbmVkLXN3LWluY3IKCSMgbGt2bSBydW4gLWsgcG11LmZs YXQgLW0gNzA0IC1jIDggLS1uYW1lIGd1ZXN0LTEzNQoKCUlORk86IFBNVSB2ZXJzaW9uOiAweDYK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eCiAgICAgICAgICAgICAgICAgICAgICAgICAg IFBNVXYzIGZvciBBcm12OC41CglJTkZPOiBQTVUgaW1wbGVtZW50ZXIvSUQgY29kZTogMHg0MSgi QSIpLzAKCUlORk86IEltcGxlbWVudHMgOCBldmVudCBjb3VudGVycwoJRkFJTDogcG11OiBwbXUt Y2hhaW5lZC1zdy1pbmNyOiBvdmVyZmxvdyBhbmQgY2hhaW4gY291bnRlciBpbmNyZW1lbnRlZCBh ZnRlciAxMDAgU1dfSU5DUi9DSEFJTgoJSU5GTzogcG11OiBwbXUtY2hhaW5lZC1zdy1pbmNyOiBv dmVyZmxvdz0weDAsICMwPTQyOTQ5NjczODAgIzE9MAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXl5eCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBubyBvdmVyZmxvd3MKCUZBSUw6IHBtdTogcG11LWNoYWluZWQt c3ctaW5jcjogZXhwZWN0ZWQgb3ZlcmZsb3dzIGFuZCB2YWx1ZXMgYWZ0ZXIgMTAwIFNXX0lOQ1Iv Q0hBSU4KCUlORk86IHBtdTogcG11LWNoYWluZWQtc3ctaW5jcjogb3ZlcmZsb3c9MHgwLCAjMD04 NCAjMT0tMQoJSU5GTzogcG11OiBwbXUtY2hhaW5lZC1zdy1pbmNyOiBvdmVyZmxvdz0weDAsICMw PTQyOTQ5NjczODAgIzE9NDI5NDk2NzI5NQoJU1VNTUFSWTogMiB0ZXN0cywgMiB1bmV4cGVjdGVk IGZhaWx1cmVzCgpoYXNfYXJtX3Y4LTI9MQoKCSMgLi9sa3ZtLXN0YXRpYyBydW4gLS1ub2RlZmF1 bHRzIC0tcG11IHBtdS5mbGF0IC1wIHBtdS1jaGFpbmVkLXN3LWluY3IKCSMgbGt2bSBydW4gLWsg cG11LmZsYXQgLW0gNzA0IC1jIDggLS1uYW1lIGd1ZXN0LTEzNAoKCUlORk86IFBNVSB2ZXJzaW9u OiAweDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBNVXYzIGZvciBBcm12OC4xCglJTkZPOiBQTVUgaW1wbGVtZW50ZXIvSUQgY29kZTog MHg0MSgiQSIpLzAKCUlORk86IEltcGxlbWVudHMgOCBldmVudCBjb3VudGVycwoJUEFTUzogcG11 OiBwbXUtY2hhaW5lZC1zdy1pbmNyOiBvdmVyZmxvdyBhbmQgY2hhaW4gY291bnRlciBpbmNyZW1l bnRlZCBhZnRlciAxMDAgU1dfSU5DUi9DSEFJTgoJSU5GTzogcG11OiBwbXUtY2hhaW5lZC1zdy1p bmNyOiBvdmVyZmxvdz0weDEsICMwPTg0ICMxPTEKCVBBU1M6IHBtdTogcG11LWNoYWluZWQtc3ct aW5jcjogZXhwZWN0ZWQgb3ZlcmZsb3dzIGFuZCB2YWx1ZXMgYWZ0ZXIgMTAwIFNXX0lOQ1IvQ0hB SU4KCUlORk86IHBtdTogcG11LWNoYWluZWQtc3ctaW5jcjogb3ZlcmZsb3c9MHgzLCAjMD04NCAj MT0wCglTVU1NQVJZOiAyIHRlc3RzCgpUaGUgQXJtdjguMiBjYXNlIGlzIHdvcmtpbmcgYXMgZXhw ZWN0ZWQsIGJ1dCB0aGUgQXJtdjguNSBvbmUgaXMgbm90LgoKPiAKPiAtLQo+IFRoYW5rcywKPiBP bGl2ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK