From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vitaly Kuznetsov Subject: Re: [PATCH v3 3/7] x86/hyper-v: reenlightenment notifications support Date: Mon, 22 Jan 2018 13:06:59 +0100 Message-ID: <877esacd24.fsf@vitty.brq.redhat.com> References: <20180116182700.1042-4-vkuznets@redhat.com> <201801191841.QZ26OYif%fengguang.wu@intel.com> <87o9lqdt15.fsf@vitty.brq.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Thomas Gleixner , kbuild test robot , "kbuild-all\@01.org" , "kvm\@vger.kernel.org" , "x86\@kernel.org" , Stephen Hemminger , Radim =?utf-8?B?S3LEjW3DocWZ?= , Haiyang Zhang , "linux-kernel\@vger.kernel.org" , "devel\@linuxdriverproject.org" , Ingo Molnar , Roman Kagan , Andy Lutomirski , "H. Peter Anvin" , Paolo Bonzini , Mohammed Gamal To: "Michael Kelley \(EOSG\)" Return-path: In-Reply-To: (Michael Kelley's message of "Mon, 22 Jan 2018 01:22:21 +0000") Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org "Michael Kelley (EOSG)" writes: > On Fri, 19 Jan 2018, Thomas Gleixner wrote: > >> -----Original Message----- >> From: Thomas Gleixner [mailto:tglx@linutronix.de] >> Sent: Friday, January 19, 2018 11:48 PM >> To: Vitaly Kuznetsov >> Cc: kbuild test robot ; kbuild-all@01.org; kvm@vger.kernel.org; >> x86@kernel.org; Stephen Hemminger ; Radim Krčmář >> ; Haiyang Zhang ; linux- >> kernel@vger.kernel.org; devel@linuxdriverproject.org; Michael Kelley (EOSG) >> ; Ingo Molnar ; Roman Kagan >> ; Andy Lutomirski ; H. Peter Anvin >> ; Paolo Bonzini ; Mohammed Gamal >> >> Subject: Re: [PATCH v3 3/7] x86/hyper-v: reenlightenment notifications support >> >> On Fri, 19 Jan 2018, Vitaly Kuznetsov wrote: >> > kbuild test robot writes: >> > >> > > Hi Vitaly, >> > > >> > > Thank you for the patch! Perhaps something to improve: >> > > >> > > [auto build test WARNING on tip/auto-latest] >> > > [also build test WARNING on v4.15-rc8 next-20180118] >> > > [cannot apply to tip/x86/core kvm/linux-next] >> > > [if your patch is applied to the wrong git tree, please drop us a note to help improve the >> system] >> > > >> > > url: >> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2F0day- >> ci%2Flinux%2Fcommits%2FVitaly-Kuznetsov%2Fx86-kvm-hyperv-stable-clocksorce-for-L2- >> guests-when-running-nested-KVM-on-Hyper-V%2F20180119- >> 160814&data=02%7C01%7CMichael.H.Kelley%40microsoft.com%7Ce95c66107da6446826830 >> 8d55fda2c2b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636520313062777623&s >> data=kAXl3mLVUdJi%2BsB4Ub0fmUHQfl6NuUDjW%2FAY9%2BFLZE4%3D&reserved=0 >> > > config: x86_64-allmodconfig (attached as .config) >> > > compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 >> > > reproduce: >> > > # save the attached .config to linux build tree >> > > make ARCH=x86_64 >> > > >> > > All warnings (new ones prefixed by >>): >> > > >> > > In file included from include/linux/kasan.h:17:0, >> > > from include/linux/slab.h:129, >> > > from include/linux/irq.h:26, >> > > from arch/x86/include/asm/hardirq.h:6, >> > > from include/linux/hardirq.h:9, >> > > from include/linux/interrupt.h:13, >> > > from arch/x86/include/asm/mshyperv.h:8, >> > > from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:20, >> > > from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33: >> > > arch/x86/include/asm/pgtable.h: In function 'clone_pgd_range': >> > > arch/x86/include/asm/pgtable.h:1129:9: error: implicit declaration of function >> 'kernel_to_user_pgdp'; did you mean 'u64_to_user_ptr'? [-Werror=implicit-function- >> declaration] >> > > memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src), >> > > ^~~~~~~~~~~~~~~~~~~ >> > >> > Sorry but I'm failing to see how this (and all the rest) is related to >> > my patch ... >> >> You added '#include ' to mshyperv.h which is included in >> vclock_gettime.c and pulls in other stuff which fails to expand.... > > Is the declaration of hyperv_reenlightenment_intr() even needed in > mshyperv.h? The '#include ' is there for the __irq_entry > annotation on that declaration. There's a declaration of the parallel (and > unannotated) hyperv_vector_handler(), but that looks like a fossil that > isn't needed either. > True, the only need for the declaration in mshyperv.h is to silence "warning: no previous prototype for ‘hyperv_reenlightenment_intr’"; I'm not sure if this actually needs fixing. -- Vitaly From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1629612-1516622836-2-6669965659139492258 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.25, RCVD_IN_DNSWL_MED -2.3, SPF_PASS -0.001, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='140.211.166.137', Host='smtp4.osuosl.org', Country='US', FromHeader='com', MailFrom='org' X-Spam-charsets: cc='utf-8', plain='utf-8' X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: driverdev-devel-bounces@linuxdriverproject.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1516622835; b=B0gw0OvCm3ekK0cN5pwrSHWmVKKVrYIE7VYy60sEeFyMxeW Xwp507IVeWu7B3Ea8fSwYU3ETRBz5ZzF+z1Nn5awzfk9cpsLPEAL4l+SEDv7crtF Uq3huBeguXCbgwHaDvo+yHaAT2aRIhpfsH6CAsAYP59NkxhyZ9hjyFFMeXLmwZ+o u8d1wlDXV2+u9bRTBO4IvRTSSVNqk6RdFzEgZzr8mrnHviJ/ejo/L0gbKmj3a2ga ZqSky0jXIC92PEmW+8FOiV2EzEH5i9D6aKtsa+R9Y0mQb6Pu/YuZM39rihocsgST 90sS4lkW2blEhoV8sH0CIXgUi2lYrHSqqJawPtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:subject:references:date :in-reply-to:message-id:mime-version:list-id:list-unsubscribe :list-archive:list-post:list-help:list-subscribe:cc:content-type :content-transfer-encoding:sender; s=arctest; t=1516622835; bh=Y R4+oudHnJJxNCwefIYvsy80ti5UGdATAYWvRdlUmSU=; b=aQfusuGK3eQiL1w6L YMFlCAyvgthPpYOIQ52IPoKiuFqSPYnHBFzQMhyiI8DLk3kMiSOZ+KbH1UUCFdsW KQXBwr//p+RhbMH1QjXq7XYCn2e7a8HS13FJAWVM0e5+N8L8TImum4rCHRSvZt0H lUquQMrNYG818BMKNCBcYB7RlGuAwIDbUpRcgQSRKPTlCqM+yoak4FPAMzzRoCiI YvPimO8Qebm+nyJ32u0RXTHjg3cMPACZNdYu8HAO2pL9MeR7iwFtfBAKj0Sxr8nj ag+zWZFRYqhzuyG3A+x9kwy1tbjMqpsump8OOlA0tYk1czOL6aXiUkGMiqSFMxcl lvlkQ== ARC-Authentication-Results: i=1; mx6.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=fail (p=none,has-list-id=yes,d=none) header.from=redhat.com; iprev=pass policy.iprev=140.211.166.137 (smtp4.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=fraxinus.osuosl.org; x-aligned-from=fail; x-ptr=fail x-ptr-helo=fraxinus.osuosl.org x-ptr-lookup=smtp4.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=redhat.com header.result=pass header_is_org_domain=yes; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 Authentication-Results: mx6.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=fail (p=none,has-list-id=yes,d=none) header.from=redhat.com; iprev=pass policy.iprev=140.211.166.137 (smtp4.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=fraxinus.osuosl.org; x-aligned-from=fail; x-ptr=fail x-ptr-helo=fraxinus.osuosl.org x-ptr-lookup=smtp4.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=redhat.com header.result=pass header_is_org_domain=yes; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 X-Remote-Delivered-To: driverdev-devel@osuosl.org From: Vitaly Kuznetsov To: "Michael Kelley \(EOSG\)" Subject: Re: [PATCH v3 3/7] x86/hyper-v: reenlightenment notifications support References: <20180116182700.1042-4-vkuznets@redhat.com> <201801191841.QZ26OYif%fengguang.wu@intel.com> <87o9lqdt15.fsf@vitty.brq.redhat.com> Date: Mon, 22 Jan 2018 13:06:59 +0100 In-Reply-To: (Michael Kelley's message of "Mon, 22 Jan 2018 01:22:21 +0000") Message-ID: <877esacd24.fsf@vitty.brq.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.24 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stephen Hemminger , "kvm@vger.kernel.org" , Radim =?utf-8?B?S3LEjW3DocWZ?= , Haiyang Zhang , "x86@kernel.org" , "linux-kernel@vger.kernel.org" , Paolo Bonzini , Ingo Molnar , "kbuild-all@01.org" , Andy Lutomirski , "H. Peter Anvin" , "devel@linuxdriverproject.org" , Thomas Gleixner , Mohammed Gamal , Roman Kagan Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Ik1pY2hhZWwgS2VsbGV5IChFT1NHKSIgPE1pY2hhZWwuSC5LZWxsZXlAbWljcm9zb2Z0LmNvbT4g d3JpdGVzOgoKPiBPbiBGcmksIDE5IEphbiAyMDE4LCBUaG9tYXMgR2xlaXhuZXIgd3JvdGU6Cj4K Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogVGhvbWFzIEdsZWl4bmVyIFtt YWlsdG86dGdseEBsaW51dHJvbml4LmRlXQo+PiBTZW50OiBGcmlkYXksIEphbnVhcnkgMTksIDIw MTggMTE6NDggUE0KPj4gVG86IFZpdGFseSBLdXpuZXRzb3YgPHZrdXpuZXRzQHJlZGhhdC5jb20+ Cj4+IENjOiBrYnVpbGQgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT47IGtidWlsZC1hbGxAMDEu b3JnOyBrdm1Admdlci5rZXJuZWwub3JnOwo+PiB4ODZAa2VybmVsLm9yZzsgU3RlcGhlbiBIZW1t aW5nZXIgPHN0aGVtbWluQG1pY3Jvc29mdC5jb20+OyBSYWRpbSBLcsSNbcOhxZkKPj4gPHJrcmNt YXJAcmVkaGF0LmNvbT47IEhhaXlhbmcgWmhhbmcgPGhhaXlhbmd6QG1pY3Jvc29mdC5jb20+OyBs aW51eC0KPj4ga2VybmVsQHZnZXIua2VybmVsLm9yZzsgZGV2ZWxAbGludXhkcml2ZXJwcm9qZWN0 Lm9yZzsgTWljaGFlbCBLZWxsZXkgKEVPU0cpCj4+IDxNaWNoYWVsLkguS2VsbGV5QG1pY3Jvc29m dC5jb20+OyBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT47IFJvbWFuIEthZ2FuCj4+IDxy a2FnYW5AdmlydHVvenpvLmNvbT47IEFuZHkgTHV0b21pcnNraSA8bHV0b0BrZXJuZWwub3JnPjsg SC4gUGV0ZXIgQW52aW4KPj4gPGhwYUB6eXRvci5jb20+OyBQYW9sbyBCb256aW5pIDxwYm9uemlu aUByZWRoYXQuY29tPjsgTW9oYW1tZWQgR2FtYWwKPj4gPG1tb3JzeUByZWRoYXQuY29tPgo+PiBT dWJqZWN0OiBSZTogW1BBVENIIHYzIDMvN10geDg2L2h5cGVyLXY6IHJlZW5saWdodGVubWVudCBu b3RpZmljYXRpb25zIHN1cHBvcnQKPj4gCj4+IE9uIEZyaSwgMTkgSmFuIDIwMTgsIFZpdGFseSBL dXpuZXRzb3Ygd3JvdGU6Cj4+ID4ga2J1aWxkIHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+IHdy aXRlczoKPj4gPgo+PiA+ID4gSGkgVml0YWx5LAo+PiA+ID4KPj4gPiA+IFRoYW5rIHlvdSBmb3Ig dGhlIHBhdGNoISBQZXJoYXBzIHNvbWV0aGluZyB0byBpbXByb3ZlOgo+PiA+ID4KPj4gPiA+IFth dXRvIGJ1aWxkIHRlc3QgV0FSTklORyBvbiB0aXAvYXV0by1sYXRlc3RdCj4+ID4gPiBbYWxzbyBi dWlsZCB0ZXN0IFdBUk5JTkcgb24gdjQuMTUtcmM4IG5leHQtMjAxODAxMThdCj4+ID4gPiBbY2Fu bm90IGFwcGx5IHRvIHRpcC94ODYvY29yZSBrdm0vbGludXgtbmV4dF0KPj4gPiA+IFtpZiB5b3Vy IHBhdGNoIGlzIGFwcGxpZWQgdG8gdGhlIHdyb25nIGdpdCB0cmVlLCBwbGVhc2UgZHJvcCB1cyBh IG5vdGUgdG8gaGVscCBpbXByb3ZlIHRoZQo+PiBzeXN0ZW1dCj4+ID4gPgo+PiA+ID4gdXJsOgo+ PiBodHRwczovL25hMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRw cyUzQSUyRiUyRmdpdGh1Yi5jb20lMkYwZGF5LQo+PiBjaSUyRmxpbnV4JTJGY29tbWl0cyUyRlZp dGFseS1LdXpuZXRzb3YlMkZ4ODYta3ZtLWh5cGVydi1zdGFibGUtY2xvY2tzb3JjZS1mb3ItTDIt Cj4+IGd1ZXN0cy13aGVuLXJ1bm5pbmctbmVzdGVkLUtWTS1vbi1IeXBlci1WJTJGMjAxODAxMTkt Cj4+IDE2MDgxNCZkYXRhPTAyJTdDMDElN0NNaWNoYWVsLkguS2VsbGV5JTQwbWljcm9zb2Z0LmNv bSU3Q2U5NWM2NjEwN2RhNjQ0NjgyNjgzMAo+PiA4ZDU1ZmRhMmMyYiU3QzcyZjk4OGJmODZmMTQx YWY5MWFiMmQ3Y2QwMTFkYjQ3JTdDMSU3QzAlN0M2MzY1MjAzMTMwNjI3Nzc2MjMmcwo+PiBkYXRh PWtBWGwzbUxWVWRKaSUyQnNCNFViMGZtVUhRZmw2TnVVRGpXJTJGQVk5JTJCRkxaRTQlM0QmcmVz ZXJ2ZWQ9MAo+PiA+ID4gY29uZmlnOiB4ODZfNjQtYWxsbW9kY29uZmlnIChhdHRhY2hlZCBhcyAu Y29uZmlnKQo+PiA+ID4gY29tcGlsZXI6IGdjYy03IChEZWJpYW4gNy4yLjAtMTIpIDcuMi4xIDIw MTcxMDI1Cj4+ID4gPiByZXByb2R1Y2U6Cj4+ID4gPiAgICAgICAgICMgc2F2ZSB0aGUgYXR0YWNo ZWQgLmNvbmZpZyB0byBsaW51eCBidWlsZCB0cmVlCj4+ID4gPiAgICAgICAgIG1ha2UgQVJDSD14 ODZfNjQKPj4gPiA+Cj4+ID4gPiBBbGwgd2FybmluZ3MgKG5ldyBvbmVzIHByZWZpeGVkIGJ5ID4+ KToKPj4gPiA+Cj4+ID4gPiAgICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gaW5jbHVkZS9saW51eC9r YXNhbi5oOjE3OjAsCj4+ID4gPiAgICAgICAgICAgICAgICAgICAgIGZyb20gaW5jbHVkZS9saW51 eC9zbGFiLmg6MTI5LAo+PiA+ID4gICAgICAgICAgICAgICAgICAgICBmcm9tIGluY2x1ZGUvbGlu dXgvaXJxLmg6MjYsCj4+ID4gPiAgICAgICAgICAgICAgICAgICAgIGZyb20gYXJjaC94ODYvaW5j bHVkZS9hc20vaGFyZGlycS5oOjYsCj4+ID4gPiAgICAgICAgICAgICAgICAgICAgIGZyb20gaW5j bHVkZS9saW51eC9oYXJkaXJxLmg6OSwKPj4gPiA+ICAgICAgICAgICAgICAgICAgICAgZnJvbSBp bmNsdWRlL2xpbnV4L2ludGVycnVwdC5oOjEzLAo+PiA+ID4gICAgICAgICAgICAgICAgICAgICBm cm9tIGFyY2gveDg2L2luY2x1ZGUvYXNtL21zaHlwZXJ2Lmg6OCwKPj4gPiA+ICAgICAgICAgICAg ICAgICAgICAgZnJvbSBhcmNoL3g4Ni8vZW50cnkvdmRzby92ZHNvMzIvLi4vdmNsb2NrX2dldHRp bWUuYzoyMCwKPj4gPiA+ICAgICAgICAgICAgICAgICAgICAgZnJvbSBhcmNoL3g4Ni8vZW50cnkv dmRzby92ZHNvMzIvdmNsb2NrX2dldHRpbWUuYzozMzoKPj4gPiA+ICAgIGFyY2gveDg2L2luY2x1 ZGUvYXNtL3BndGFibGUuaDogSW4gZnVuY3Rpb24gJ2Nsb25lX3BnZF9yYW5nZSc6Cj4+ID4gPiAg ICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmg6MTEyOTo5OiBlcnJvcjogaW1wbGljaXQg ZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24KPj4gJ2tlcm5lbF90b191c2VyX3BnZHAnOyBkaWQgeW91 IG1lYW4gJ3U2NF90b191c2VyX3B0cic/IFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLQo+PiBk ZWNsYXJhdGlvbl0KPj4gPiA+ICAgICAgbWVtY3B5KGtlcm5lbF90b191c2VyX3BnZHAoZHN0KSwg a2VybmVsX3RvX3VzZXJfcGdkcChzcmMpLAo+PiA+ID4gICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fgo+PiA+Cj4+ID4gU29ycnkgYnV0IEknbSBmYWlsaW5nIHRvIHNlZSBob3cgdGhpcyAo YW5kIGFsbCB0aGUgcmVzdCkgaXMgcmVsYXRlZCB0bwo+PiA+IG15IHBhdGNoIC4uLgo+PiAKPj4g WW91IGFkZGVkICcjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+JyB0byBtc2h5cGVydi5oIHdo aWNoIGlzIGluY2x1ZGVkIGluCj4+IHZjbG9ja19nZXR0aW1lLmMgYW5kIHB1bGxzIGluIG90aGVy IHN0dWZmIHdoaWNoIGZhaWxzIHRvIGV4cGFuZC4uLi4KPgo+IElzIHRoZSBkZWNsYXJhdGlvbiBv ZiBoeXBlcnZfcmVlbmxpZ2h0ZW5tZW50X2ludHIoKSBldmVuIG5lZWRlZCBpbgo+IG1zaHlwZXJ2 Lmg/ICBUaGUgJyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4nIGlzIHRoZXJlIGZvciB0aGUg X19pcnFfZW50cnkKPiBhbm5vdGF0aW9uIG9uIHRoYXQgZGVjbGFyYXRpb24uICAgVGhlcmUncyBh IGRlY2xhcmF0aW9uIG9mIHRoZSBwYXJhbGxlbCAoYW5kCj4gdW5hbm5vdGF0ZWQpIGh5cGVydl92 ZWN0b3JfaGFuZGxlcigpLCBidXQgdGhhdCBsb29rcyBsaWtlIGEgZm9zc2lsIHRoYXQKPiBpc24n dCBuZWVkZWQgZWl0aGVyLgo+CgpUcnVlLAoKdGhlIG9ubHkgbmVlZCBmb3IgdGhlIGRlY2xhcmF0 aW9uIGluIG1zaHlwZXJ2LmggaXMgdG8gc2lsZW5jZSAid2FybmluZzoKbm8gcHJldmlvdXMgcHJv dG90eXBlIGZvciDigJhoeXBlcnZfcmVlbmxpZ2h0ZW5tZW50X2ludHLigJkiOyBJJ20gbm90IHN1 cmUKaWYgdGhpcyBhY3R1YWxseSBuZWVkcyBmaXhpbmcuCgotLSAKICBWaXRhbHkKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGV2ZWwgbWFpbGluZyBsaXN0 CmRldmVsQGxpbnV4ZHJpdmVycHJvamVjdC5vcmcKaHR0cDovL2RyaXZlcmRldi5saW51eGRyaXZl cnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vZHJpdmVyZGV2LWRldmVsCg==