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 EFFA9CD128A for ; Wed, 10 Apr 2024 21:17:46 +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:References:In-reply-to:Message-id:Date: Subject:Cc:To:From:MIME-version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Iv5FzDrK1Uc0u+bnePz43n9uvGC/Rb79mjWjBlQD+kc=; b=KIBwxUWrRzMU6G Qr+6IbvfpPTuMSOgYCwY6EltCgMRFXorHft8DZWFxaMnUtr5JoC9dDJdt3/rt99wU5uFl/isMbe+y uVO74epCWzdARqYNY+xBwP9ZNMODZYroBBFQvWuqjCDMQ0oX3PaBZOwgve6+iPwpWRQB+c97mUR9H Ppu8VVNhGcZnBFyeEuVu40zI68URnA4Lf78lMnhfG/58Fr4g+ileYL7aVcMeTHkNhx/8x++tfauIQ zJzm987HWlY8fDLLMtNqOlmdh/hAlYYAEIFqVsxik3sQMPLVBrDEQf1EluCs6tfc0ecqM4Cf2NAxw jyIJLfkr6hpP7T8OznCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rufK2-00000008zFg-3e0T; Wed, 10 Apr 2024 21:17:34 +0000 Received: from ma-mailsvcp-mx-lapp03.apple.com ([17.32.222.24]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rufJy-00000008zDc-3h1D for linux-arm-kernel@lists.infradead.org; Wed, 10 Apr 2024 21:17:33 +0000 Received: from rn-mailsvcp-mta-lapp02.rno.apple.com (rn-mailsvcp-mta-lapp02.rno.apple.com [10.225.203.150]) by ma-mailsvcp-mx-lapp03.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0SBQ0098JWH2QO30@ma-mailsvcp-mx-lapp03.apple.com> for linux-arm-kernel@lists.infradead.org; Wed, 10 Apr 2024 14:17:29 -0700 (PDT) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-10_06,2024-04-09_01,2023-05-22_02 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=mime-version : content-transfer-encoding : content-type : from : to : cc : subject : date : message-id : in-reply-to : references; s=20180706; bh=G9jQUdD7//iJtAa3FmKyScYKKpXXABg16KVWFOcjrN0=; b=PA2t/VkVuuJbRIW4HpVcWdkgWHEOa4HpktwV8eCahKb3A/mn7EsjTY3YJezYxeLJG6rE ppml5OXRrObtimYIImR1DXf6SyyBUr2T39y5s/rkLJ1jqguJVTM9bt9725GJv80TW3OW 35oIeHPVgal2Si2wPboCxpk9jYguwU13XBB7DZP+E6CLjvXFPAiSwi+9/fCaq82IcLjG /z/sz4cM8rE9zkR/pDvUiim3w3x8ZT5GpJ4h0NCkucqeubhKYF8//zoDjf/ZuqVc1c2+ cWaia9dsD0GJpht7quuNtjk4mh2X+S+DVWIHIjWOuPke+RGAD4BwsT9ZIs8FeGx7k0Pg kw== Received: from rn-mailsvcp-mmp-lapp03.rno.apple.com (rn-mailsvcp-mmp-lapp03.rno.apple.com [17.179.253.16]) by rn-mailsvcp-mta-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0SBQ010GJWH10WF0@rn-mailsvcp-mta-lapp02.rno.apple.com>; Wed, 10 Apr 2024 14:17:26 -0700 (PDT) Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp03.rno.apple.com by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) id <0SBQ00E00WFDM000@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Wed, 10 Apr 2024 14:17:25 -0700 (PDT) X-Va-A: X-Va-T-CD: 062083411fbdfe5b9668648d0dddd4c2 X-Va-E-CD: 80e10fab8d6a64bd923ac65d9b1dcb25 X-Va-R-CD: e95ffb981bb941f6bb1ef4b98a1da371 X-Va-ID: 05cd24ae-872c-43b5-88c5-32a38de55b14 X-Va-CD: 0 X-V-A: X-V-T-CD: 062083411fbdfe5b9668648d0dddd4c2 X-V-E-CD: 80e10fab8d6a64bd923ac65d9b1dcb25 X-V-R-CD: e95ffb981bb941f6bb1ef4b98a1da371 X-V-ID: afe264df-f93d-4142-ba4f-102893a7e028 X-V-CD: 0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-10_06,2024-04-09_01,2023-05-22_02 MIME-version: 1.0 Received: from mr41p01nt-relayp01.apple.com ([17.115.0.54]) by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPSA id <0SBQ00HCRWGK4E00@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Wed, 10 Apr 2024 14:17:21 -0700 (PDT) From: Zayd Qumsieh To: zayd_qumsieh@apple.com Cc: Catalin Marinas , Will Deacon , Mark Brown , Ard Biesheuvel , Mark Rutland , Mateusz Guzik , Anshuman Khandual , Marc Zyngier , Oliver Upton , Miguel Luis , Joey Gouly , Christoph Paasch , Kees Cook , Sami Tolvanen , Baoquan He , Lecopzer Chen , Joel Granados , Dawei Li , Andrew Morton , Florent Revest , David Hildenbrand , Stefan Roesch , Andy Chiu , Josh Triplett , Oleg Nesterov , Helge Deller , Zev Weiss , Ondrej Mosnacek , Miguel Ojeda , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Luis Chamberlain Subject: [PATCH 1/3] tso: aarch64: allow linux kernel to read/write ACTLR.TSOEN Date: Wed, 10 Apr 2024 14:16:39 -0700 Message-id: <20240410211652.16640-2-zayd_qumsieh@apple.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-reply-to: <20240410211652.16640-1-zayd_qumsieh@apple.com> References: <20240410211652.16640-1-zayd_qumsieh@apple.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240410_141731_161067_EDF3995F X-CRM114-Status: GOOD ( 22.61 ) 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 Q3JlYXRlIGEgY291cGxlIHNpbXBsaXN0aWMgZnVuY3Rpb25zIHRoYXQgY2FuIHJlYWQgLyBtb2Rp ZnkgdGhlCkFDVExSLlRTT0VOIGJpdCBvbiBBcHBsZSBTaWxpY29uLiBTZXR0aW5nIHRoaXMgYml0 IHRvIDEgd2lsbCBjaGFuZ2UKdGhlIENQVSdzIG1lbW9yeSBtb2RlbCB0byB4ODYtNjQncyBUU08g bWVtb3J5IG1vZGVsLiBDbGVhcmluZyBpdCB3aWxsCnNldCB0aGUgQ1BVJ3MgbWVtb3J5IG1vZGVs IHRvIHRoZSBzdGFuZGFyZCBBUk02NCBtZW1vcnkgbW9kZWwuCgpTaWduZWQtb2ZmLWJ5OiBaYXlk IFF1bXNpZWggPHpheWRfcXVtc2llaEBhcHBsZS5jb20+Ci0tLQogYXJjaC9hcm02NC9LY29uZmln ICAgICAgICAgICAgICB8IDEzICsrKysrKysrKwogYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9zeXNy ZWcuaCB8ICA3ICsrKysrCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3Rzby5oICAgIHwgMTcgKysr KysrKysrKysKIGFyY2gvYXJtNjQva2VybmVsL01ha2VmaWxlICAgICAgfCAgMiArLQogYXJjaC9h cm02NC9rZXJuZWwvdHNvLmMgICAgICAgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS90c28uaAogY3JlYXRl IG1vZGUgMTAwNjQ0IGFyY2gvYXJtNjQva2VybmVsL3Rzby5jCgpkaWZmIC0tZ2l0IGEvYXJjaC9h cm02NC9LY29uZmlnIGIvYXJjaC9hcm02NC9LY29uZmlnCmluZGV4IDdiMTFjOThiM2U4NC4uMzUx NjJlNWEwNzA1IDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L0tjb25maWcKKysrIGIvYXJjaC9hcm02 NC9LY29uZmlnCkBAIC0xLDQgKzEsNSBAQAogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5CisjIENvcHlyaWdodCDCqSAyMDI0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl cnZlZC4KIGNvbmZpZyBBUk02NAogCWRlZl9ib29sIHkKIAlzZWxlY3QgQUNQSV9BUE1UIGlmIEFD UEkKQEAgLTIwNzksNiArMjA4MCwxOCBAQCBjb25maWcgQVJNNjRfTVRFCiAKIAkgIERvY3VtZW50 YXRpb24vYXJjaC9hcm02NC9tZW1vcnktdGFnZ2luZy1leHRlbnNpb24ucnN0LgogCitjb25maWcg QVJNNjRfVFNPCisJYm9vbCAiQVJNNjQgQXBwbGUgU2lsaWNvbiBUU08gc3VwcG9ydCIKKwlkZWZh dWx0IHkKKwloZWxwCisJICBBcHBsZSBTaWxpY29uIFRTTyBtb2RlIGFsbG93cyB0aGUgQ1BVJ3Mg bWVtb3J5IG1vZGVsIHRvIGJlCisJICBkeW5hbWljYWxseSBzd2l0Y2hlZCBiZXR3ZWVuIHRoZSBk ZWZhdWx0IEFSTTY0IG1lbW9yeSBtb2RlbAorCSAgYW5kIHg4Nl82NCdzIG1lbW9yeSBtb2RlbCAo VFNPKS4KKworCSAgU2VsZWN0aW5nIHRoaXMgb3B0aW9uIGFsbG93cyB0aGUgZmVhdHVyZSB0byBi ZSBkZXRlY3RlZCBhdAorCSAgcnVudGltZS4gSWYgdGhlIENQVSBkb2Vzbid0IGltcGxlbWVudCBU U08gbW9kZSwgdGhlbiB0aGlzCisJICBmZWF0dXJlIHdpbGwgYmUgZGlzYWJsZWQuCisKIGVuZG1l bnUgIyAiQVJNdjguNSBhcmNoaXRlY3R1cmFsIGZlYXR1cmVzIgogCiBtZW51ICJBUk12OC43IGFy Y2hpdGVjdHVyYWwgZmVhdHVyZXMiCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNt L3N5c3JlZy5oIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9zeXNyZWcuaAppbmRleCA5ZTg5OTk1 OTJmM2EuLjU0NjQyMTdjNmJmZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9z eXNyZWcuaAorKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3N5c3JlZy5oCkBAIC00LDYgKzQs OCBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAxNCBBUk0gTHRkLgogICogQXV0aG9yOiBDYXRh bGluIE1hcmluYXMgPGNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tPgorICoKKyAqIENvcHlyaWdodCDC qSAyMDI0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqLwogCiAjaWZuZGVmIF9f QVNNX1NZU1JFR19ICkBAIC0yNzcsNiArMjc5LDkgQEAKICNkZWZpbmUgU1lTX1JFVklEUl9FTDEJ CQlzeXNfcmVnKDMsIDAsIDAsIDAsIDYpCiAKICNkZWZpbmUgU1lTX0FDVExSX0VMMQkJCXN5c19y ZWcoMywgMCwgMSwgMCwgMSkKKyNkZWZpbmUgU1lTX0FDVExSX0VMMV9UU09FTl9TSElGVCAgICAg ICAxCisjZGVmaW5lIFNZU19BQ1RMUl9FTDFfVFNPRU5fTUFTSyAgICAgICAgKDEgPDwgU1lTX0FD VExSX0VMMV9UU09FTl9TSElGVCkKKwogI2RlZmluZSBTWVNfUkdTUl9FTDEJCQlzeXNfcmVnKDMs IDAsIDEsIDAsIDUpCiAjZGVmaW5lIFNZU19HQ1JfRUwxCQkJc3lzX3JlZygzLCAwLCAxLCAwLCA2 KQogCkBAIC0zOTQsNiArMzk5LDggQEAKICNkZWZpbmUgU1lTX0NOVEtDVExfRUwxCQkJc3lzX3Jl ZygzLCAwLCAxNCwgMSwgMCkKIAogI2RlZmluZSBTWVNfQUlEUl9FTDEJCQlzeXNfcmVnKDMsIDEs IDAsIDAsIDcpCisjZGVmaW5lIFNZU19BSURSX0VMMV9UU09fU0hJRlQgICAgICAgICAgOQorI2Rl ZmluZSBTWVNfQUlEUl9FTDFfVFNPX01BU0sgICAgICAgICAgICgxIDw8IFNZU19BSURSX0VMMV9U U09fU0hJRlQpCiAKICNkZWZpbmUgU1lTX1JORFJfRUwwCQkJc3lzX3JlZygzLCAzLCAyLCA0LCAw KQogI2RlZmluZSBTWVNfUk5EUlJTX0VMMAkJCXN5c19yZWcoMywgMywgMiwgNCwgMSkKZGlmZiAt LWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vdHNvLmggYi9hcmNoL2FybTY0L2luY2x1ZGUv YXNtL3Rzby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDllMWE3 NjAyYzQ0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS90c28uaApA QCAtMCwwICsxLDE3IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5 ICovCisvKgorICogQ29weXJpZ2h0IMKpIDIwMjQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLgorICovCisKKyNpZm5kZWYgX19BU01fVFNPX0gKKyNkZWZpbmUgX19BU01fVFNPX0gKKwor I2lmZGVmIENPTkZJR19BUk02NF9UU08KKworI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5j bHVkZSA8bGludXgvdHlwZXMuaD4KKworaW50IG1vZGlmeV90c29fZW5hYmxlKGJvb2wgdHNvX2Vu YWJsZSk7CisKKyNlbmRpZiAvKiBDT05GSUdfQVJNNjRfVFNPICovCisjZW5kaWYgLyogX19BU01f VFNPX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva2VybmVsL01ha2VmaWxlIGIvYXJjaC9h cm02NC9rZXJuZWwvTWFrZWZpbGUKaW5kZXggNzYzODI0OTYzZWQxLi5hMmE3Yzc0ZmIwMGQgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtNjQva2VybmVsL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtNjQva2Vy bmVsL01ha2VmaWxlCkBAIC0zMyw3ICszMyw3IEBAIG9iai15CQkJOj0gZGVidWctbW9uaXRvcnMu byBlbnRyeS5vIGlycS5vIGZwc2ltZC5vCQlcCiAJCQkgICByZXR1cm5fYWRkcmVzcy5vIGNwdWlu Zm8ubyBjcHVfZXJyYXRhLm8JCVwKIAkJCSAgIGNwdWZlYXR1cmUubyBhbHRlcm5hdGl2ZS5vIGNh Y2hlaW5mby5vCQlcCiAJCQkgICBzbXAubyBzbXBfc3Bpbl90YWJsZS5vIHRvcG9sb2d5Lm8gc21j Y2MtY2FsbC5vCVwKLQkJCSAgIHN5c2NhbGwubyBwcm90b24tcGFjay5vIGlkbGUubyBwYXRjaGlu Zy5vIHBpLworCQkJICAgc3lzY2FsbC5vIHByb3Rvbi1wYWNrLm8gaWRsZS5vIHBhdGNoaW5nLm8g dHNvLm8gcGkvIFwKIAogb2JqLSQoQ09ORklHX0NPTVBBVCkJCQkrPSBzeXMzMi5vIHNpZ25hbDMy Lm8JCQlcCiAJCQkJCSAgIHN5c19jb21wYXQubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJu ZWwvdHNvLmMgYi9hcmNoL2FybTY0L2tlcm5lbC90c28uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmIzOTY0ZGI3YWE2NgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gv YXJtNjQva2VybmVsL3Rzby5jCkBAIC0wLDAgKzEsNTIgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAyNCBBcHBsZSBJbmMu IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisK KyNpbmNsdWRlIDxhc20vY3B1dHlwZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNp bmNsdWRlIDxhc20vc3lzcmVnLmg+CisjaW5jbHVkZSA8YXNtL3Rzby5oPgorCisjaWZkZWYgQ09O RklHX0FSTTY0X1RTTworCitzdGF0aWMgYm9vbCB0c29fc3VwcG9ydGVkKHZvaWQpCit7CisJdW5z aWduZWQgaW50IGNwdWlkX2ltcGxlbWVudG9yID0gcmVhZF9jcHVpZF9pbXBsZW1lbnRvcigpOwor CXU2NCBhaWRyID0gcmVhZF9zeXNyZWcoYWlkcl9lbDEpOworCisJcmV0dXJuIChjcHVpZF9pbXBs ZW1lbnRvciA9PSBBUk1fQ1BVX0lNUF9BUFBMRSkgJiYKKwkJKGFpZHIgJiBTWVNfQUlEUl9FTDFf VFNPX01BU0spOworfQorCitzdGF0aWMgaW50IHRzb19lbmFibGVkKHZvaWQpCit7CisJaWYgKCF0 c29fc3VwcG9ydGVkKCkpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKworCXU2NCBhY3Rscl9lbDEg PSByZWFkX3N5c3JlZyhhY3Rscl9lbDEpOworCisJcmV0dXJuICEhKGFjdGxyX2VsMSAmIFNZU19B Q1RMUl9FTDFfVFNPRU5fTUFTSyk7Cit9CisKK2ludCBtb2RpZnlfdHNvX2VuYWJsZShib29sIHRz b19lbmFibGUpCit7CisJaWYgKCF0c29fc3VwcG9ydGVkKCkpCisJCXJldHVybiAtRU9QTk9UU1VQ UDsKKworCXU2NCBhY3Rscl9lbDFfb2xkID0gcmVhZF9zeXNyZWcoYWN0bHJfZWwxKTsKKwl1NjQg YWN0bHJfZWwxX25ldyA9CisJCShhY3Rscl9lbDFfb2xkICYgflNZU19BQ1RMUl9FTDFfVFNPRU5f TUFTSykgfAorCQkodHNvX2VuYWJsZSA8PCBTWVNfQUNUTFJfRUwxX1RTT0VOX1NISUZUKTsKKwor CXdyaXRlX3N5c3JlZyhhY3Rscl9lbDFfbmV3LCBhY3Rscl9lbDEpOworCisJaWYgKHRzb19lbmFi bGVkKCkgIT0gdHNvX2VuYWJsZSkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCisJcmV0dXJuIDA7 Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfQVJNNjRfVFNPICovCi0tIAoyLjM5LjMgKEFwcGxlIEdp dC0xNDYpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=