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 9093CC47422 for ; Mon, 22 Jan 2024 00:23:31 +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: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:In-Reply-To:References: List-Owner; bh=N+xcVPG9zzmwo9pwd9AlgIOLGuYtmj9djGqwLGavrHo=; b=KBFuSChscPOtYK ncCe9Cv7HweGiWIx3rxnVS3NAYrNv18g0auK6X/uMjMSkb8rISzPy9u/C9Yt0hq1u6yHqI2P6S4s4 Ex354kB4Tpnef1RdKhtnvqfLuZ6YHWIgitT/82kkey5IrXuisG+YnJy//0N1KTBek3M9ghLttWT/S OCZ3xtlCJ39mTJyDXx8B/xvFFAW9DEvynr3/efoW1gvWrr1GqI02N+VkGFB1dLNyTuF+FdRusKaSP UbrhjAYmtQmOKrdei7QVOljMiJE+ydEVQfs1x4TD9eUdeivCzWPwQLCdLYMrKS3IzZ0NL2mA9krfk O2MZL8JesdnYBvmmAPqg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rRi5m-00AFpO-2B; Mon, 22 Jan 2024 00:23:10 +0000 Received: from sin.source.kernel.org ([145.40.73.55]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rRi5g-00AFn8-2B for linux-riscv@lists.infradead.org; Mon, 22 Jan 2024 00:23:08 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 45CD2CE28B6; Mon, 22 Jan 2024 00:22:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03362C433F1; Mon, 22 Jan 2024 00:22:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1705882977; bh=/98FyMHfNpcE20uREuwvTI8aEaiGp4Wx3e7AXQcREB8=; h=From:To:Cc:Subject:Date:From; b=cSiMXi3dT5GpQICa7Om7LNG5CODXq/A5eLQLot62CARYuv48uTEsKFbCUsiN/aK2v s9uZxu7P3fbDu+6LfqSxjftwQ/QcWy37EZwTnoHtMjuasPfcu1t9F4/OALHYoVQQqZ dOy0OsVn3VSEk2ucP4CrE2u5gasKrgU04YMIK19Ww/xIJHxRd99H+NTqZHejdVXXB8 laEOtzT7btvQ0yYcJOMpqmZPLwbrnbQ2graMl+UTIi4gjQF8l1dtaM63DO9NUPVWXw hi/A8A1kiJovyJZkATF/D05ea2yE+fUWWRdtJBn4z3NmGyIvM69hmD5JdZTMBv+nts AJ+QYb+emR7jg== From: Eric Biggers To: linux-crypto@vger.kernel.org, linux-riscv@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Albert Ou , Andy Chiu , Ard Biesheuvel , =?UTF-8?q?Christoph=20M=C3=BCllner?= , Heiko Stuebner , Jerry Shih , Palmer Dabbelt , Paul Walmsley , Phoebe Chen , hongrong.hsu@sifive.com Subject: [PATCH v3 00/10] RISC-V crypto with reworked asm files Date: Sun, 21 Jan 2024 16:19:11 -0800 Message-ID: <20240122002024.27477-1-ebiggers@kernel.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240121_162305_052747_EF4ADD98 X-CRM114-Status: GOOD ( 14.95 ) 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 VGhpcyBwYXRjaHNldCwgd2hpY2ggYXBwbGllcyB0byB2Ni44LXJjMSwgYWRkcyBjcnlwdG9ncmFw aGljIGFsZ29yaXRobQppbXBsZW1lbnRhdGlvbnMgYWNjZWxlcmF0ZWQgdXNpbmcgdGhlIFJJU0Mt ViB2ZWN0b3IgY3J5cHRvIGV4dGVuc2lvbnMKKGh0dHBzOi8vZ2l0aHViLmNvbS9yaXNjdi9yaXNj di1jcnlwdG8vcmVsZWFzZXMvZG93bmxvYWQvdjEuMC4wL3Jpc2N2LWNyeXB0by1zcGVjLXZlY3Rv ci5wZGYpCmFuZCBSSVNDLVYgdmVjdG9yIGV4dGVuc2lvbgooaHR0cHM6Ly9naXRodWIuY29tL3Jp c2N2L3Jpc2N2LXYtc3BlYy9yZWxlYXNlcy9kb3dubG9hZC92MS4wL3Jpc2N2LXYtc3BlYy0xLjAu cGRmKS4KVGhlIGZvbGxvd2luZyBhbGdvcml0aG1zIGFyZSBpbmNsdWRlZDogQUVTIGluIEVDQiwg Q0JDLCBDVFIsIGFuZCBYVFMgbW9kZXM7CkNoYUNoYTIwOyBHSEFTSDsgU0hBLTI7IFNNMzsgYW5k IFNNNC4KCkluIGdlbmVyYWwsIHRoZSBhc3NlbWJseSBjb2RlIHJlcXVpcmVzIGEgNjQtYml0IFJJ U0MtViBDUFUgd2l0aCBWTEVOID49IDEyOCwKbGl0dGxlIGVuZGlhbiBieXRlIG9yZGVyLCBhbmQg dmVjdG9yIHVuYWxpZ25lZCBhY2Nlc3Mgc3VwcG9ydC4gIFRoZSBFQ0IsIENUUiwKWFRTLCBhbmQg Q2hhQ2hhMjAgY29kZSBpcyBkZXNpZ25lZCB0byBuYXR1cmFsbHkgc2NhbGUgdXAgdG8gbGFyZ2Vy IFZMRU4gdmFsdWVzLgpCdWlsZGluZyB0aGUgYXNzZW1ibHkgY29kZSByZXF1aXJlcyB0aXAtb2Yt dHJlZSBiaW51dGlscyAoZnV0dXJlIDIuNDIpIG9yCnRpcC1vZi10cmVlIGNsYW5nIChmdXR1cmUg MTgueCkuICBBbGwgYWxnb3JpdGhtcyBwYXNzIHRlc3RpbmcgaW4gUUVNVSwgdXNpbmcKQ09ORklH X0NSWVBUT19NQU5BR0VSX0VYVFJBX1RFU1RTPXkuICBNdWNoIG9mIHRoZSBhc3NlbWJseSBjb2Rl IGlzIGRlcml2ZWQgZnJvbQpPcGVuU1NMIGNvZGUgdGhhdCB3YXMgYWRkZWQgYnkgaHR0cHM6Ly9n aXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9wdWxsLzIxOTIzLgpJdCdzIGJlZW4gY2xlYW5lZCB1 cCBmb3IgaW50ZWdyYXRpb24gd2l0aCB0aGUga2VybmVsLCBlLmcuIHJlZHVjaW5nIGNvZGUKZHVw bGljYXRpb24sIGVsaW1pbmF0aW5nIHVzZSBvZiAuaW5zdCBhbmQgcGVybGFzbSwgYW5kIGZpeGlu ZyBhIGZldyBidWdzLgoKVGhpcyBwYXRjaHNldCBpbmNvcnBvcmF0ZXMgdGhlIHdvcmsgb2YgbXVs dGlwbGUgcGVvcGxlLCBpbmNsdWRpbmcgSmVycnkgU2hpaCwKSGVpa28gU3R1ZWJuZXIsIENocmlz dG9waCBNw7xsbG5lciwgUGhvZWJlIENoZW4sIENoYXJhbGFtcG9zIE1pdHJvZGltYXMsIGFuZApt eXNlbGYuICBUaGlzIHBhdGNoc2V0IHdlbnQgdGhyb3VnaCBzZXZlcmFsIHZlcnNpb25zIGZyb20g SGVpa28gKGxhc3QgdmVyc2lvbgpodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1jcnlwdG8v MjAyMzA3MTExNTM3NDMuMTk3MDYyNS0xLWhlaWtvQHNudGVjaC5kZSksCnRoZW4gc2V2ZXJhbCB2 ZXJzaW9ucyBmcm9tIEplcnJ5IChsYXN0IHZlcnNpb246Cmh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L2xpbnV4LWNyeXB0by8yMDIzMTIzMTE1Mjc0My42MzA0LTEtamVycnkuc2hpaEBzaWZpdmUuY29t KSwKdGhlbiBmaW5hbGx5IHNldmVyYWwgdmVyc2lvbnMgZnJvbSBtZS4gIFRoYW5rcyB0byBldmVy eW9uZSB3aG8gaGFzIGNvbnRyaWJ1dGVkCnRvIHRoaXMgcGF0Y2hzZXQgb3IgaXRzIHByZXJlcXVp c2l0ZXMuICBTaW5jZSB2Ni44LXJjMSwgYWxsIHByZXJlcXVpc2l0ZSBrZXJuZWwKcGF0Y2hlcyBh cmUgdXBzdHJlYW0uICBJIHRoaW5rIHRoaXMgaXMgbm93IHJlYWR5LCBhbmQgSSdkIGxpa2UgZm9y IGl0IHRvIGJlCmFwcGxpZWQgZm9yIDYuOSwgZWl0aGVyIHRvIHRoZSBjcnlwdG8gb3IgcmlzY3Yg dHJlZSAoYXQgbWFpbnRhaW5lcnMnIGNob2ljZSkuCgpCZWxvdyBpcyB0aGUgY2hhbmdlbG9nIGZv ciBteSB2ZXJzaW9ucyBvZiB0aGUgcGF0Y2hzZXQuICBGb3IgdGhlIGNoYW5nZWxvZyBvZgp0aGUg b2xkZXIgdmVyc2lvbnMsIHNlZSB0aGUgYWJvdmUgbGlua3MuCgpDaGFuZ2VkIGluIHYzOgogIC0g Rml4ZWQgYSBidWcgaW4gdGhlIEFFUy1YVFMgaW1wbGVtZW50YXRpb24gd2hlcmUgaXQgYXNzdW1l ZCB0aGUgQ1BVCiAgICBhbHdheXMgc2V0IHZsIHRvIHRoZSBtYXhpbXVtIHBvc3NpYmxlIHZhbHVl LiAgVGhpcyB3YXMgb2theSBmb3IKICAgIFFFTVUsIGJ1dCB0aGUgdmVjdG9yIHNwZWMgYWxsb3dz IENQVXMgdG8gaGF2ZSBkaWZmZXJlbnQgYmVoYXZpb3IuCiAgLSBJbmNyZWFzZWQgdGhlIExNVUwg Zm9yIEFFUy1FQ0IgdG8gOCwgYXMgdGhlIHJlZ2lzdGVycyBhcmUgYXZhaWxhYmxlLgogIC0gRml4 ZWQgc29tZSBsaWNlbnNlIHRleHQgdGhhdCBJIGhhZCBtaXN0YWtlbmx5IGNoYW5nZWQgd2hlbiBk b2luZyBhCiAgICBmaW5kLWFuZC1yZXBsYWNlIG9mIGNvZGUuCiAgLSBBZGRyZXNzZWQgYSBjaGVj a3BhdGNoIHdhcm5pbmcgYnkgbm90IGluY2x1ZGluZyBmaWxlbmFtZSBpbiBmaWxlLgogIC0gUmVu YW1lIHNvbWUgbGFiZWxzLgogIC0gQ29uc3RpZnkgYSB2YXJpYWJsZS4KCkNoYW5nZWQgaW4gdjI6 CiAgLSBNZXJnZWQgdGhlIEFFUyBtb2R1bGVzIHRvZ2V0aGVyIHRvIHByZXZlbnQgYSBidWlsZCBl cnJvci4KICAtIE9ubHkgdW5yZWdpc3RlciBBRVMgYWxnb3JpdGhtcyB0aGF0IHdlcmUgcmVnaXN0 ZXJlZC4KICAtIENvcnJlY3RlZCB3YWxrc2l6ZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSBMTVVM IHVzZWQgYnkgYXNtIGNvZGUuCiAgLSBTaW1wbGlmaWVkIHRoZSBDVFIgYW5kIFhUUyBnbHVlIGNv ZGUgc2xpZ2h0bHkuCiAgLSBNaW5vciBjbGVhbnVwcy4KCkNoYW5nZWQgaW4gdjE6CiAgLSBSZWZl ciB0byBteSBjb3ZlciBsZXR0ZXIKICAgIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWNy eXB0by8yMDI0MDEwMjA2NDc0My4yMjA0OTAtMS1lYmlnZ2Vyc0BrZXJuZWwub3JnLwoKRXJpYyBC aWdnZXJzICgxKToKICBSSVNDLVY6IGFkZCBUT09MQ0hBSU5fSEFTX1ZFQ1RPUl9DUllQVE8KCkhl aWtvIFN0dWVibmVyICgyKToKICBSSVNDLVY6IGFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gcmVhZCB0 aGUgdmVjdG9yIFZMRU4KICBSSVNDLVY6IGhvb2sgbmV3IGNyeXB0byBzdWJkaXIgaW50byBidWls ZC1zeXN0ZW0KCkplcnJ5IFNoaWggKDcpOgogIGNyeXB0bzogcmlzY3YgLSBhZGQgdmVjdG9yIGNy eXB0byBhY2NlbGVyYXRlZCBBRVMte0VDQixDQkMsQ1RSLFhUU30KICBjcnlwdG86IHJpc2N2IC0g YWRkIHZlY3RvciBjcnlwdG8gYWNjZWxlcmF0ZWQgQ2hhQ2hhMjAKICBjcnlwdG86IHJpc2N2IC0g YWRkIHZlY3RvciBjcnlwdG8gYWNjZWxlcmF0ZWQgR0hBU0gKICBjcnlwdG86IHJpc2N2IC0gYWRk IHZlY3RvciBjcnlwdG8gYWNjZWxlcmF0ZWQgU0hBLXsyNTYsMjI0fQogIGNyeXB0bzogcmlzY3Yg LSBhZGQgdmVjdG9yIGNyeXB0byBhY2NlbGVyYXRlZCBTSEEtezUxMiwzODR9CiAgY3J5cHRvOiBy aXNjdiAtIGFkZCB2ZWN0b3IgY3J5cHRvIGFjY2VsZXJhdGVkIFNNMwogIGNyeXB0bzogcmlzY3Yg LSBhZGQgdmVjdG9yIGNyeXB0byBhY2NlbGVyYXRlZCBTTTQKCiBhcmNoL3Jpc2N2L0tidWlsZCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogYXJjaC9yaXNjdi9LY29uZmlnICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsKIGFyY2gvcmlzY3YvY3J5cHRvL0tjb25m aWcgICAgICAgICAgICAgICAgICAgICB8ICA5MyArKysKIGFyY2gvcmlzY3YvY3J5cHRvL01ha2Vm aWxlICAgICAgICAgICAgICAgICAgICB8ICAyMyArCiBhcmNoL3Jpc2N2L2NyeXB0by9hZXMtbWFj cm9zLlMgICAgICAgICAgICAgICAgfCAxNTYgKysrKysKIGFyY2gvcmlzY3YvY3J5cHRvL2Flcy1y aXNjdjY0LWdsdWUuYyAgICAgICAgICB8IDU1MCArKysrKysrKysrKysrKysrKysKIC4uLi9jcnlw dG8vYWVzLXJpc2N2NjQtenZrbmVkLXp2YmItenZrZy5TICAgICB8IDMxMiArKysrKysrKysrCiBh cmNoL3Jpc2N2L2NyeXB0by9hZXMtcmlzY3Y2NC16dmtuZWQtenZrYi5TICAgfCAxNDYgKysrKysK IGFyY2gvcmlzY3YvY3J5cHRvL2Flcy1yaXNjdjY0LXp2a25lZC5TICAgICAgICB8IDE4MCArKysr KysKIGFyY2gvcmlzY3YvY3J5cHRvL2NoYWNoYS1yaXNjdjY0LWdsdWUuYyAgICAgICB8IDEwMSAr KysrCiBhcmNoL3Jpc2N2L2NyeXB0by9jaGFjaGEtcmlzY3Y2NC16dmtiLlMgICAgICAgfCAyOTQg KysrKysrKysrKwogYXJjaC9yaXNjdi9jcnlwdG8vZ2hhc2gtcmlzY3Y2NC1nbHVlLmMgICAgICAg IHwgMTY4ICsrKysrKwogYXJjaC9yaXNjdi9jcnlwdG8vZ2hhc2gtcmlzY3Y2NC16dmtnLlMgICAg ICAgIHwgIDcyICsrKwogYXJjaC9yaXNjdi9jcnlwdG8vc2hhMjU2LXJpc2N2NjQtZ2x1ZS5jICAg ICAgIHwgMTM3ICsrKysrCiAuLi4vc2hhMjU2LXJpc2N2NjQtenZrbmhhX29yX3p2a25oYi16dmti LlMgICAgfCAyMjUgKysrKysrKwogYXJjaC9yaXNjdi9jcnlwdG8vc2hhNTEyLXJpc2N2NjQtZ2x1 ZS5jICAgICAgIHwgMTMzICsrKysrCiAuLi4vcmlzY3YvY3J5cHRvL3NoYTUxMi1yaXNjdjY0LXp2 a25oYi16dmtiLlMgfCAyMDMgKysrKysrKwogYXJjaC9yaXNjdi9jcnlwdG8vc20zLXJpc2N2NjQt Z2x1ZS5jICAgICAgICAgIHwgMTEyICsrKysKIGFyY2gvcmlzY3YvY3J5cHRvL3NtMy1yaXNjdjY0 LXp2a3NoLXp2a2IuUyAgICB8IDEyMyArKysrCiBhcmNoL3Jpc2N2L2NyeXB0by9zbTQtcmlzY3Y2 NC1nbHVlLmMgICAgICAgICAgfCAxMDcgKysrKwogYXJjaC9yaXNjdi9jcnlwdG8vc200LXJpc2N2 NjQtenZrc2VkLXp2a2IuUyAgIHwgMTE3ICsrKysKIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vdmVj dG9yLmggICAgICAgICAgICAgICB8ICAxMSArCiBjcnlwdG8vS2NvbmZpZyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDMgKwogMjMgZmlsZXMgY2hhbmdlZCwgMzI3NCBpbnNlcnRp b25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9jcnlwdG8vS2NvbmZpZwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAx MDA2NDQgYXJjaC9yaXNjdi9jcnlwdG8vYWVzLW1hY3Jvcy5TCiBjcmVhdGUgbW9kZSAxMDA2NDQg YXJjaC9yaXNjdi9jcnlwdG8vYWVzLXJpc2N2NjQtZ2x1ZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg YXJjaC9yaXNjdi9jcnlwdG8vYWVzLXJpc2N2NjQtenZrbmVkLXp2YmItenZrZy5TCiBjcmVhdGUg bW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9jcnlwdG8vYWVzLXJpc2N2NjQtenZrbmVkLXp2a2IuUwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL2Flcy1yaXNjdjY0LXp2a25lZC5T CiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9jcnlwdG8vY2hhY2hhLXJpc2N2NjQtZ2x1 ZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9jcnlwdG8vY2hhY2hhLXJpc2N2NjQt enZrYi5TCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9jcnlwdG8vZ2hhc2gtcmlzY3Y2 NC1nbHVlLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2NyeXB0by9naGFzaC1yaXNj djY0LXp2a2cuUwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL3NoYTI1Ni1y aXNjdjY0LWdsdWUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL3NoYTI1 Ni1yaXNjdjY0LXp2a25oYV9vcl96dmtuaGItenZrYi5TCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJj aC9yaXNjdi9jcnlwdG8vc2hhNTEyLXJpc2N2NjQtZ2x1ZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg YXJjaC9yaXNjdi9jcnlwdG8vc2hhNTEyLXJpc2N2NjQtenZrbmhiLXp2a2IuUwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL3NtMy1yaXNjdjY0LWdsdWUuYwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL3NtMy1yaXNjdjY0LXp2a3NoLXp2a2IuUwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL3NtNC1yaXNjdjY0LWdsdWUuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvY3J5cHRvL3NtNC1yaXNjdjY0LXp2a3NlZC16dmti LlMKCgpiYXNlLWNvbW1pdDogNjYxMzQ3NmUyMjVlMDkwY2M5YWFkNDliZTdmYTUwNGUyOTBkZDMz ZAotLSAKMi40My4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1y aXNjdgo=