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 933B0EB64DD for ; Thu, 6 Jul 2023 20:04:41 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=JZwZ62G4aafhRZ9eYW+IesFXUZLQRZ7jroe0y2qMTrM=; b=unyzqD4IWeMhxa kZFwpANAXG2osGGXs1PHQGZv2coCiBi12oaPYhlLF9TcyESjPI6eAi1uWX9kFnCycMnZdWUzcIMlM IXXGJ35A1WfJaBsVKuoNtVlWC9spbKhpmKCrmtN3CZRsUEslqYbtj6QkLdM56DflhwWXWUEiQNYmh ivDTI85g6Sq/XaC1GQsHREI918scwOBNRgkZoJOay7XX5qr1uOQ6GM6nE1nVczd76mzmS1jh+TCM9 A65NV/kszhTFmzkn5qYgich9i6p7wpbXVN9SBGBsckP/XCk5csFyxUP3diiBeQAlQR6izVEFlyGFF PnkWNHMk1uhvgccrmJGA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qHVDQ-002ZN5-06; Thu, 06 Jul 2023 20:04:36 +0000 Received: from 11.mo584.mail-out.ovh.net ([46.105.34.195]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qHVDM-002ZLu-0b for linux-riscv@lists.infradead.org; Thu, 06 Jul 2023 20:04:34 +0000 Received: from director7.ghost.mail-out.ovh.net (unknown [10.109.143.79]) by mo584.mail-out.ovh.net (Postfix) with ESMTP id 4CDDF260ED for ; Thu, 6 Jul 2023 20:04:27 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-l97cm (unknown [10.110.115.90]) by director7.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 8A2BD1FE3B; Thu, 6 Jul 2023 20:04:27 +0000 (UTC) Received: from courmont.net ([37.59.142.99]) by ghost-submission-6684bf9d7b-l97cm with ESMTPSA id 1ESKGksep2Qf+hYAF5dwpg (envelope-from ); Thu, 06 Jul 2023 20:04:27 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-99G0032ad47103-f634-44c3-a9b0-9ab391bf6689, 8891399453053EE55EDFED6858B7B4D362CEA829) smtp.auth=postmaster@courmont.net X-OVh-ClientIp: 87.92.194.88 From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: linux-riscv@lists.infradead.org Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/3] RISC-V: Framework for vendor extensions Date: Thu, 06 Jul 2023 23:04:24 +0300 Message-ID: <2887841.e9J7NaK4W3@basile.remlab.net> Organization: Remlab In-Reply-To: References: <20230705-thead_vendor_extensions-v1-0-ad6915349c4d@rivosinc.com> <5947209.lOV4Wx5bFT@basile.remlab.net> MIME-Version: 1.0 X-Ovh-Tracer-Id: 2182838448518666715 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedrudelgddugeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkfhojghfggfgtgesthhqredttddtjeenucfhrhhomheptformhhiucffvghnihhsqdevohhurhhmohhnthcuoehrvghmihesrhgvmhhlrggsrdhnvghtqeenucggtffrrghtthgvrhhnpeeuhfegfeefvdefueetleefffduuedvjeefheduueekieeltdetueetueeugfevffenucffohhmrghinheprhgvmhhlrggsrdhnvghtnecukfhppeduvdejrddtrddtrddupdekjedrledvrdduleegrdekkedpfeejrdehledrudegvddrleelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeorhgvmhhisehrvghmlhgrsgdrnhgvtheqpdhnsggprhgtphhtthhopedupdhrtghpthhtoheplhhinhhugidqrhhishgtvheslhhishhtshdrihhnfhhrrgguvggrugdrohhrghdpoffvtefjohhsthepmhhoheekgedpmhhouggvpehsmhhtphhouhht X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230706_130432_525198_ACEB99EF X-CRM114-Status: GOOD ( 28.17 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org TGUgdG9yc3RhaW5hIDYuIGhlaW7DpGt1dXRhIDIwMjMsIDIyLjQ0LjA3IEVFU1QgQ2hhcmxpZSBK ZW5raW5zIGEgw6ljcml0IDoKPiBPbiBUaHUsIEp1bCAwNiwgMjAyMyBhdCAwNzoyOTozN1BNICsw MzAwLCBSw6ltaSBEZW5pcy1Db3VybW9udCB3cm90ZToKPiA+IExlIHRvcnN0YWluYSA2LiBoZWlu w6RrdXV0YSAyMDIzLCA2LjMwLjE3IEVFU1QgQ2hhcmxpZSBKZW5raW5zIGEgw6ljcml0IDoKPiA+ ID4gQ3JlYXRlIEtjb25maWcgZmlsZXMsIE1ha2VmaWxlcywgYW5kIGZ1bmN0aW9ucyB0byBlbmFi bGUgdmVuZG9ycyB0bwo+ID4gPiBwcm92aWRlIGluZm9ybWF0aW9uIHZpYSB0aGUgcmlzY3ZfaHdw cm9iZSBzeXNjYWxsIGFib3V0IHdoaWNoIHZlbmRvcgo+ID4gPiBleHRlbnNpb25zIGFyZSBhdmFp bGFibGUuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBDaGFybGllIEplbmtpbnMgPGNoYXJs aWVAcml2b3NpbmMuY29tPgo+ID4gPiAtLS0KPiA+ID4gCj4gPiA+ICBhcmNoL3Jpc2N2L0tidWls ZCAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwo+ID4gPiAgYXJjaC9yaXNjdi9LY29uZmlnICAg ICAgICAgICAgICAgICAgICB8ICAxICsKPiA+ID4gIGFyY2gvcmlzY3YvS2NvbmZpZy52ZW5kb3Ig ICAgICAgICAgICAgfCAgMyArKysKPiA+ID4gIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vaHdwcm9i ZS5oICAgICAgfCAgMSArCj4gPiA+ICBhcmNoL3Jpc2N2L2tlcm5lbC9zeXNfcmlzY3YuYyAgICAg ICAgIHwgNDAKPiA+ID4gCj4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t Cj4gPiA+IGFyY2gvcmlzY3YvdmVuZG9yX2V4dGVuc2lvbnMvTWFrZWZpbGUgfAo+ID4gPiAKPiA+ ID4gIDMgKysrCj4gPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9LYnVpbGQgYi9h cmNoL3Jpc2N2L0tidWlsZAo+ID4gPiBpbmRleCBhZmE4M2UzMDdhMmUuLmJlYTM4MDEwZDlkYiAx MDA2NDQKPiA+ID4gLS0tIGEvYXJjaC9yaXNjdi9LYnVpbGQKPiA+ID4gKysrIGIvYXJjaC9yaXNj di9LYnVpbGQKPiA+ID4gQEAgLTMsNiArMyw3IEBACj4gPiA+IAo+ID4gPiAgb2JqLXkgKz0ga2Vy bmVsLyBtbS8gbmV0Lwo+ID4gPiAgb2JqLSQoQ09ORklHX0JVSUxUSU5fRFRCKSArPSBib290L2R0 cy8KPiA+ID4gIG9iai15ICs9IGVycmF0YS8KPiA+ID4gCj4gPiA+ICtvYmoteSArPSB2ZW5kb3Jf ZXh0ZW5zaW9ucy8KPiA+ID4gCj4gPiA+ICBvYmotJChDT05GSUdfS1ZNKSArPSBrdm0vCj4gPiA+ ICAKPiA+ID4gIG9iai0kKENPTkZJR19BUkNIX0hBU19LRVhFQ19QVVJHQVRPUlkpICs9IHB1cmdh dG9yeS8KPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L0tjb25maWcgYi9hcmNo L3Jpc2N2L0tjb25maWcKPiA+ID4gaW5kZXggYzE1MDVjNzcyOWVjLi4xOTQwNGVkZTBlZTMgMTAw NjQ0Cj4gPiA+IC0tLSBhL2FyY2gvcmlzY3YvS2NvbmZpZwo+ID4gPiArKysgYi9hcmNoL3Jpc2N2 L0tjb25maWcKPiA+ID4gQEAgLTI3Niw2ICsyNzYsNyBAQCBjb25maWcgQVNfSEFTX09QVElPTl9B UkNICj4gPiA+IAo+ID4gPiAgc291cmNlICJhcmNoL3Jpc2N2L0tjb25maWcuc29jcyIKPiA+ID4g IHNvdXJjZSAiYXJjaC9yaXNjdi9LY29uZmlnLmVycmF0YSIKPiA+ID4gCj4gPiA+ICtzb3VyY2Ug ImFyY2gvcmlzY3YvS2NvbmZpZy52ZW5kb3IiCj4gPiA+IAo+ID4gPiAgbWVudSAiUGxhdGZvcm0g dHlwZSIKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L0tjb25maWcudmVuZG9y IGIvYXJjaC9yaXNjdi9LY29uZmlnLnZlbmRvcgo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjIxM2FjM2U2ZmVkNQo+ID4gPiAtLS0gL2Rldi9udWxs Cj4gPiA+ICsrKyBiL2FyY2gvcmlzY3YvS2NvbmZpZy52ZW5kb3IKPiA+ID4gQEAgLTAsMCArMSwz IEBACj4gPiA+ICttZW51ICJWZW5kb3IgZXh0ZW5zaW9ucyBzZWxlY3Rpb24iCj4gPiA+ICsKPiA+ ID4gK2VuZG1lbnUgIyAiVmVuZG9yIGV4dGVuc2lvbnMgc2VsZWN0aW9uIgo+ID4gPiBkaWZmIC0t Z2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9od3Byb2JlLmgKPiA+ID4gYi9hcmNoL3Jpc2N2 L2luY2x1ZGUvYXNtL2h3cHJvYmUuaCBpbmRleCA3ODkzNmY0ZmY1MTMuLmZhZGIzOGI4MzI0Mwo+ ID4gPiAxMDA2NDQKPiA+ID4gLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9od3Byb2JlLmgK PiA+ID4gKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9od3Byb2JlLmgKPiA+ID4gQEAgLTks NSArOSw2IEBACj4gPiA+IAo+ID4gPiAgI2luY2x1ZGUgPHVhcGkvYXNtL2h3cHJvYmUuaD4KPiA+ ID4gIAo+ID4gPiAgI2RlZmluZSBSSVNDVl9IV1BST0JFX01BWF9LRVkgNQo+ID4gPiAKPiA+ID4g KyNkZWZpbmUgUklTQ1ZfSFdQUk9CRV9WRU5ET1JfRVhURU5TSU9OX1NQQUNFIChVTCgxKTw8NjMp Cj4gPiAKPiA+IElzbid0IHRoaXMgVUIgb24gMzItYml0IFJJU0MtViA/Cj4gCj4gSG1tLCB5ZWFo IGl0IHdvdWxkIGJlLCBidXQgdGhlIGh3cHJvYmUgc3lzY2FsbCBpcyBiYXNlZCBvbiBhIDY0IGJp dCBrZXkKPiB1c2luZyB0aGUgX19zNjQgdHlwZS4gVGhlcmUgY291bGQgYmUgYW4gYWx0ZXJuYXRp dmUgdmVuZG9yIHNwYWNlIGF0IHRoZQo+IHRvcCBvZiAzMi1iaXRzIGZvciB0aG9zZSBtYWNoaW5l cy4KCktleSB2YWx1ZXMgaW5zaWRlIHRoZSBzdHJ1Y3QgYXJlIDY0LWJpdCBldmVuIG9uIFJWMzIs IGJ1dCB5b3VyIGtleSBkZWZpbml0aW9uIApoZXJlIGlzIDMyLWJpdC4gVGhhdCBjYW4ndCB3b3Jr LgoKUGx1cyB0aGlzIG5lZWRzIHRvIGJlIGRlZmluZWQgdW5kZXIgdWFwaS8gYXMgdGhlIHJlc3Qg b2YgdGhlIGh3cHJvYmUgY29uc3RhbnRzLgoKQW5kIHRoZW4sIGV2ZW4gb24gUlY2NCwgMVVMIDw8 IDYzIGlzIG5vdCBhIHZhbGlkIHNpZ25lZCBjb25zdGFudC4gS2VybmVsIGNvZGUgCm1pZ2h0IHRv bGVyYXRlIGl0LCBidXQgdGhhdCB3aWxsIG1vc3QgbGlrZWx5IGNhdXNlIHdhcm5pbmdzIG9yIGVy cm9ycyBpbiB0aGUgCnBvdGVudGlhbGx5IHN0cmljdGVyIGNvbXBpbGF0aW9uIGVudmlyb25tZW50 cyBvZiB1c2VyLXNwYWNlIGNvZGUuCgo+ID4gPiAgI2VuZGlmCj4gPiA+IAo+ID4gPiBkaWZmIC0t Z2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvc3lzX3Jpc2N2LmMKPiA+ID4gYi9hcmNoL3Jpc2N2L2tl cm5lbC9zeXNfcmlzY3YuYwo+ID4gPiBpbmRleCAyNmVmNTUyNmJmYjQuLjIzNTFhNWY3YjhiMSAx MDA2NDQKPiA+ID4gLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvc3lzX3Jpc2N2LmMKPiA+ID4gKysr IGIvYXJjaC9yaXNjdi9rZXJuZWwvc3lzX3Jpc2N2LmMKPiA+ID4gQEAgLTE4OCw5ICsxODgsMzUg QEAgc3RhdGljIHU2NCBod3Byb2JlX21pc2FsaWduZWQoY29uc3Qgc3RydWN0IGNwdW1hc2sKPiA+ ID4gKmNwdXMpIHJldHVybiBwZXJmOwo+ID4gPiAKPiA+ID4gIH0KPiA+ID4gCj4gPiA+ICtzdGF0 aWMgaW50IGh3cHJvYmVfdmVuZG9yKF9fdTY0IG12ZW5kb3JpZCwgc3RydWN0IHJpc2N2X2h3cHJv YmUgKnBhaXIsCj4gPiA+ICsJCQkgY29uc3Qgc3RydWN0IGNwdW1hc2sgKmNwdXMpCj4gPiA+ICt7 Cj4gPiA+ICsJc3dpdGNoIChtdmVuZG9yaWQpIHsKPiA+ID4gKwlkZWZhdWx0Ogo+ID4gPiArCQly ZXR1cm4gLTE7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIDA7Cj4gPiA+ICt9Cj4g PiA+ICsKPiA+ID4gCj4gPiA+ICBzdGF0aWMgdm9pZCBod3Byb2JlX29uZV9wYWlyKHN0cnVjdCBy aXNjdl9od3Byb2JlICpwYWlyLAo+ID4gPiAgCj4gPiA+ICAJCQkgICAgIGNvbnN0IHN0cnVjdCBj cHVtYXNrICpjcHVzKQo+ID4gPiAgCj4gPiA+ICB7Cj4gPiA+IAo+ID4gPiArCWludCBlcnI7Cj4g PiA+ICsKPiA+ID4gKwlpZiAoKCh1bnNpZ25lZCBsb25nKSBwYWlyLT5rZXkpID49Cj4gPiAKPiA+ IFJJU0NWX0hXUFJPQkVfVkVORE9SX0VYVEVOU0lPTl9TUEFDRSkgewo+ID4gCj4gPiA+ICsJCXN0 cnVjdCByaXNjdl9od3Byb2JlIG12ZW5kb3JpZCA9IHsKPiA+ID4gKwkJCS5rZXkgPSBSSVNDVl9I V1BST0JFX0tFWV9NVkVORE9SSUQsCj4gPiA+ICsJCQkudmFsdWUgPSAwCj4gPiA+ICsJCX07Cj4g PiA+ICsKPiA+ID4gKwkJaHdwcm9iZV9hcmNoX2lkKCZtdmVuZG9yaWQsIGNwdXMpOwo+ID4gPiAr CQlpZiAobXZlbmRvcmlkLnZhbHVlICE9IC0xVUxMKQo+ID4gPiArCQkJZXJyID0gaHdwcm9iZV92 ZW5kb3IobXZlbmRvcmlkLnZhbHVlLCBwYWlyLAo+ID4gCj4gPiBjcHVzKTsKPiA+IAo+ID4gPiAr CQllbHNlCj4gPiA+ICsJCQllcnIgPSAtMTsKPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gCj4gPiA+ ICAJc3dpdGNoIChwYWlyLT5rZXkpIHsKPiA+ID4gIAljYXNlIFJJU0NWX0hXUFJPQkVfS0VZX01W RU5ET1JJRDoKPiA+ID4gCj4gPiA+ICAJY2FzZSBSSVNDVl9IV1BST0JFX0tFWV9NQVJDSElEOgo+ ID4gPiBAQCAtMjE3LDEzICsyNDMsMjEgQEAgc3RhdGljIHZvaWQgaHdwcm9iZV9vbmVfcGFpcihz dHJ1Y3QgcmlzY3ZfaHdwcm9iZQo+ID4gPiAqcGFpciwKPiA+ID4gCj4gPiA+ICAJLyoKPiA+ID4g IAkKPiA+ID4gIAkgKiBGb3IgZm9yd2FyZCBjb21wYXRpYmlsaXR5LCB1bmtub3duIGtleXMgZG9u J3QgZmFpbCB0aGUgd2hvbGUKPiA+ID4gCj4gPiA+IC0JICogY2FsbCwgYnV0IGdldCB0aGVpciBl bGVtZW50IGtleSBzZXQgdG8gLTEgYW5kIHZhbHVlIHNldCB0byAwCj4gPiA+IC0JICogaW5kaWNh dGluZyB0aGV5J3JlIHVucmVjb2duaXplZC4KPiA+ID4gKwkgKiBjYWxsLCBpbnN0ZWFkIGFuIGVy cm9yIGlzIHJhaXNlZCB0byBpbmRpY2F0ZSB0aGUgZWxlbWVudCBrZXkKPiA+ID4gKwkgKiBpcyB1 bnJlY29nbml6ZWQuCj4gPiA+IAo+ID4gPiAgCSAqLwo+ID4gPiAgCQo+ID4gPiAgCWRlZmF1bHQ6 Cj4gPiA+ICsJCWVyciA9IC0xOwo+ID4gPiArCQlicmVhazsKPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ ID4gKwkvKgo+ID4gPiArCSAqIFNldHRpbmcgdGhlIGVsZW1lbnQga2V5IHRvIC0xIGFuZCB2YWx1 ZSB0byAwIGluZGljYXRlcyB0aGF0Cj4gPiA+ICsJICogaHdwcm9iZSB3YXMgdW5hYmxlIHRvIGZp bmQgdGhlIHJlcXVlc3RlZCBrZXkuCj4gPiA+ICsJICovCj4gPiA+ICsJaWYgKGVyciAhPSAwKSB7 Cj4gPiA+IAo+ID4gPiAgCQlwYWlyLT5rZXkgPSAtMTsKPiA+ID4gIAkJcGFpci0+dmFsdWUgPSAw Owo+ID4gPiAKPiA+ID4gLQkJYnJlYWs7Cj4gPiA+IAo+ID4gPiAgCX0KPiA+ID4gIAo+ID4gPiAg fQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvdmVuZG9yX2V4dGVuc2lvbnMv TWFrZWZpbGUKPiA+ID4gYi9hcmNoL3Jpc2N2L3ZlbmRvcl9leHRlbnNpb25zL01ha2VmaWxlIG5l dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTgxNTg5NWU5Mzcy Cj4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gKysrIGIvYXJjaC9yaXNjdi92ZW5kb3JfZXh0ZW5z aW9ucy9NYWtlZmlsZQo+ID4gPiBAQCAtMCwwICsxLDMgQEAKPiA+ID4gK2lmZGVmIENPTkZJR19S RUxPQ0FUQUJMRQo+ID4gPiArS0JVSUxEX0NGTEFHUyArPSAtZm5vLXBpZQo+ID4gPiArZW5kaWYK CgotLSAK6Zu357Gz4oCn5b635bC8LeW6k+WwlOiSmQpodHRwOi8vd3d3LnJlbWxhYi5uZXQvCgoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1y aXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==