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 X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 699D1C3A59D for ; Fri, 16 Aug 2019 13:01:00 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3EC4C2133F for ; Fri, 16 Aug 2019 13:01:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="WcGB+9g0" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3EC4C2133F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hybqZ-00071K-O8; Fri, 16 Aug 2019 13:00:47 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hybqX-000706-P4 for xen-devel@lists.xenproject.org; Fri, 16 Aug 2019 13:00:45 +0000 X-Inumbo-ID: dbc19862-c025-11e9-813a-bc764e2007e4 Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id dbc19862-c025-11e9-813a-bc764e2007e4; Fri, 16 Aug 2019 13:00:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=6T2bIq6UFYJmeZ97WTx/gfyH1ZZrxlJ6ERHLefhwaXQ=; b=WcGB+9g0nH6xsYXHf0S0Ob5X68 g0HKp0cJ1ZXnldOw4TjrNrTOzHdlm7mOEnnetHeh51Y5GME02Zwr26s7OugylZG+ZUQ3kKlftdrRd RjIE3xh7oZCtGlEEHec9kOZqLNDcgfkbYZ1lRoZ/qvdA1app8N3Vb0NQ3FP26Nkk0n4BdgumkZaLU 3PVncaIsoNxfYsqfsLaAGBT3KLAlHRp1OTyMFNFWQyqgMWwoJidktGRcHxuUmEa/z9yCbUJbvv4qY 3liY84h8fUYj2YwE2y9/S/3+IwSLsfVtLziL/vVAc4UDnkTI7RlE0S/xMjjxbGgD+LlRs8XawYZZt y/n3MfXA==; Received: from [91.112.187.46] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hybqT-0006Wg-Ci; Fri, 16 Aug 2019 13:00:42 +0000 From: Christoph Hellwig To: Stefano Stabellini , Konrad Rzeszutek Wilk Date: Fri, 16 Aug 2019 15:00:09 +0200 Message-Id: <20190816130013.31154-8-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190816130013.31154-1-hch@lst.de> References: <20190816130013.31154-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Subject: [Xen-devel] [PATCH 07/11] swiotlb-xen: provide a single page-coherent.h header X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: xen-devel@lists.xenproject.org, iommu@lists.linux-foundation.org, x86@kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" TWVyZ2UgdGhlIHZhcmlvdXMgcGFnZS1jb2hlcmVudC5oIGZpbGVzIGludG8gYSBzaW5nbGUgb25l IHRoYXQgZWl0aGVyCnByb3ZpZGVzIHByb3RvdHlwZXMgb3Igc3R1YnMgZGVwZW5kaW5nIG9uIHRo ZSBuZWVkIGZvciBjYWNoZQptYWludGFpbmFuY2UuCgpGb3IgZXh0cmEgYmVuZWZpdHMgYWxvIGlu Y2x1ZGUgPHhlbi9wYWdlLWNvaGVyZW50Lmg+IGluIHRoZSBmaWxlCmFjdHVhbGx5IGltcGxlbWVu dGluZyB0aGUgaW50ZXJmYWNlcyBwcm92aWRlZC4KClNpZ25lZC1vZmYtYnk6IENocmlzdG9waCBI ZWxsd2lnIDxoY2hAbHN0LmRlPgotLS0KIGFyY2gvYXJtL2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNv aGVyZW50LmggICB8ICAyIC0tCiBhcmNoL2FybS94ZW4vbW0uYyAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMSArCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVyZW50Lmgg fCAgMiAtLQogYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaCAgIHwgMjIg LS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL3hlbi9zd2lvdGxiLXhlbi5jICAgICAgICAgICAg ICAgICAgfCAgNCArLS0tCiBpbmNsdWRlL0tidWlsZCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogaW5jbHVkZS94ZW4ve2FybSA9PiB9L3BhZ2UtY29oZXJlbnQuaCAgICAgIHwg MjcgKysrKysrKysrKysrKysrKysrKy0tLQogNyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25z KCspLCAzMyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9pbmNsdWRl L2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9p bmNsdWRlL2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC94 ODYvaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaAogcmVuYW1lIGluY2x1ZGUveGVuL3th cm0gPT4gfS9wYWdlLWNvaGVyZW50LmggKDc2JSkKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9pbmNs dWRlL2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20veGVuL3Bh Z2UtY29oZXJlbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdlOTg0OTc3NDAy Li4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJl bnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLyogU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAgKi8KLSNpbmNsdWRlIDx4ZW4vYXJtL3BhZ2UtY29oZXJlbnQuaD4KZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL3hlbi9tbS5jIGIvYXJjaC9hcm0veGVuL21tLmMKaW5kZXggYTU5 OTgwZjFhYTU0Li44NTQ4MmNkZGExZTUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3hlbi9tbS5jCisr KyBiL2FyY2gvYXJtL3hlbi9tbS5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8eGVuL2lu dGVyZmFjZS9ncmFudF90YWJsZS5oPgogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvbWVtb3J5Lmg+ CiAjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KKyNpbmNsdWRlIDx4ZW4vcGFnZS1jb2hlcmVudC5oPgog I2luY2x1ZGUgPHhlbi9zd2lvdGxiLXhlbi5oPgogCiAjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2gu aD4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQu aCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMjdlOTg0OTc3NDAyLi4wMDAwMDAwMDAwMDAKLS0tIGEvYXJj aC9hcm02NC9pbmNsdWRlL2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oCisrKyAvZGV2L251bGwKQEAg LTEsMiArMCwwIEBACi0vKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLwotI2lu Y2x1ZGUgPHhlbi9hcm0vcGFnZS1jb2hlcmVudC5oPgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5j bHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9w YWdlLWNvaGVyZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlZTMzYzVlZGRl ZC4uMDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVy ZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vKiBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMCAqLwotI2lmbmRlZiBfQVNNX1g4Nl9YRU5fUEFHRV9DT0hFUkVOVF9I Ci0jZGVmaW5lIF9BU01fWDg2X1hFTl9QQUdFX0NPSEVSRU5UX0gKLQotI2luY2x1ZGUgPGFzbS9w YWdlLmg+Ci0jaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KLQotc3RhdGljIGlubGluZSB2 b2lkIHhlbl9kbWFfbWFwX3BhZ2Uoc3RydWN0IGRldmljZSAqaHdkZXYsIHN0cnVjdCBwYWdlICpw YWdlLAotCSAgICAgZG1hX2FkZHJfdCBkZXZfYWRkciwgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNp emVfdCBzaXplLAotCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLCB1bnNpZ25lZCBs b25nIGF0dHJzKSB7IH0KLQotc3RhdGljIGlubGluZSB2b2lkIHhlbl9kbWFfdW5tYXBfcGFnZShz dHJ1Y3QgZGV2aWNlICpod2RldiwgZG1hX2FkZHJfdCBoYW5kbGUsCi0JCXNpemVfdCBzaXplLCBl bnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsCi0JCXVuc2lnbmVkIGxvbmcgYXR0cnMpIHsgfQot Ci1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KHN0cnVjdCBk ZXZpY2UgKmh3ZGV2LAotCQlkbWFfYWRkcl90IGhhbmRsZSwgc2l6ZV90IHNpemUsIGVudW0gZG1h X2RhdGFfZGlyZWN0aW9uIGRpcikgeyB9Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZG1hX3N5 bmNfc2luZ2xlX2Zvcl9kZXZpY2Uoc3RydWN0IGRldmljZSAqaHdkZXYsCi0JCWRtYV9hZGRyX3Qg aGFuZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKSB7IH0KLQot I2VuZGlmIC8qIF9BU01fWDg2X1hFTl9QQUdFX0NPSEVSRU5UX0ggKi8KZGlmZiAtLWdpdCBhL2Ry aXZlcnMveGVuL3N3aW90bGIteGVuLmMgYi9kcml2ZXJzL3hlbi9zd2lvdGxiLXhlbi5jCmluZGV4 IGY5ZGQ0Y2I2ZTRiMy4uN2IyMzkyOTg1NGU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9zd2lv dGxiLXhlbi5jCisrKyBiL2RyaXZlcnMveGVuL3N3aW90bGIteGVuLmMKQEAgLTMxLDEyICszMSwx MCBAQAogI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgogI2luY2x1ZGUgPHhlbi9zd2lvdGxiLXhl bi5oPgogI2luY2x1ZGUgPHhlbi9wYWdlLmg+CisjaW5jbHVkZSA8eGVuL3BhZ2UtY29oZXJlbnQu aD4KICNpbmNsdWRlIDx4ZW4veGVuLW9wcy5oPgogI2luY2x1ZGUgPHhlbi9odmMtY29uc29sZS5o PgogCi0jaW5jbHVkZSA8YXNtL2RtYS1tYXBwaW5nLmg+Ci0jaW5jbHVkZSA8YXNtL3hlbi9wYWdl LWNvaGVyZW50Lmg+Ci0KICNpbmNsdWRlIDx0cmFjZS9ldmVudHMvc3dpb3RsYi5oPgogLyoKICAq IFVzZWQgdG8gZG8gYSBxdWljayByYW5nZSBjaGVjayBpbiBzd2lvdGxiX3RibF91bm1hcF9zaW5n bGUgYW5kCmRpZmYgLS1naXQgYS9pbmNsdWRlL0tidWlsZCBiL2luY2x1ZGUvS2J1aWxkCmluZGV4 IGMzOGYwZDQ2YjI2Ny4uZTJhZTUyZWY5ZTFlIDEwMDY0NAotLS0gYS9pbmNsdWRlL0tidWlsZAor KysgYi9pbmNsdWRlL0tidWlsZApAQCAtMTE4OSw3ICsxMTg5LDYgQEAgaGVhZGVyLXRlc3QtCQkJ Kz0gdmlkZW8vdmdhLmgKIGhlYWRlci10ZXN0LQkJCSs9IHZpZGVvL3cxMDBmYi5oCiBoZWFkZXIt dGVzdC0JCQkrPSB4ZW4vYWNwaS5oCiBoZWFkZXItdGVzdC0JCQkrPSB4ZW4vYXJtL2h5cGVyY2Fs bC5oCi1oZWFkZXItdGVzdC0JCQkrPSB4ZW4vYXJtL3BhZ2UtY29oZXJlbnQuaAogaGVhZGVyLXRl c3QtCQkJKz0geGVuL2FybS9wYWdlLmgKIGhlYWRlci10ZXN0LQkJCSs9IHhlbi9iYWxsb29uLmgK IGhlYWRlci10ZXN0LQkJCSs9IHhlbi9ldmVudHMuaApAQCAtMTIzMSw2ICsxMjMwLDcgQEAgaGVh ZGVyLXRlc3QtCQkJKz0geGVuL2ludGVyZmFjZS94ZW4uaAogaGVhZGVyLXRlc3QtCQkJKz0geGVu L2ludGVyZmFjZS94ZW5wbXUuaAogaGVhZGVyLXRlc3QtCQkJKz0geGVuL21lbS1yZXNlcnZhdGlv bi5oCiBoZWFkZXItdGVzdC0JCQkrPSB4ZW4vcGFnZS5oCitoZWFkZXItdGVzdC0JCQkrPSB4ZW4v cGFnZS1jb2hlcmVudC5oCiBoZWFkZXItdGVzdC0JCQkrPSB4ZW4vcGxhdGZvcm1fcGNpLmgKIGhl YWRlci10ZXN0LQkJCSs9IHhlbi9zd2lvdGxiLXhlbi5oCiBoZWFkZXItdGVzdC0JCQkrPSB4ZW4v eGVuLWZyb250LXBnZGlyLXNoYnVmLmgKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2FybS9wYWdl LWNvaGVyZW50LmggYi9pbmNsdWRlL3hlbi9wYWdlLWNvaGVyZW50LmgKc2ltaWxhcml0eSBpbmRl eCA3NiUKcmVuYW1lIGZyb20gaW5jbHVkZS94ZW4vYXJtL3BhZ2UtY29oZXJlbnQuaApyZW5hbWUg dG8gaW5jbHVkZS94ZW4vcGFnZS1jb2hlcmVudC5oCmluZGV4IDQyOTRhMzEzMDVjYS4uN2MzMjk0 NGRlMDUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9hcm0vcGFnZS1jb2hlcmVudC5oCisrKyBi L2luY2x1ZGUveGVuL3BhZ2UtY29oZXJlbnQuaApAQCAtMSwxMCArMSwxMiBAQAogLyogU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KLSNpZm5kZWYgX1hFTl9BUk1fUEFHRV9DT0hF UkVOVF9ICi0jZGVmaW5lIF9YRU5fQVJNX1BBR0VfQ09IRVJFTlRfSAorI2lmbmRlZiBfWEVOX1BB R0VfQ09IRVJFTlRfSAorI2RlZmluZSBfWEVOX1BBR0VfQ09IRVJFTlRfSAogCiAjaW5jbHVkZSA8 bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgogCisjaWYgZGVmaW5l ZChDT05GSUdfQVJDSF9IQVNfU1lOQ19ETUFfRk9SX0RFVklDRSkgfHwgXAorICAgIGRlZmluZWQo Q09ORklHX0FSQ0hfSEFTX1NZTkNfRE1BX0ZPUl9DUFUpCiB2b2lkIF9feGVuX2RtYV9tYXBfcGFn ZShzdHJ1Y3QgZGV2aWNlICpod2Rldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCiAJICAgICBkbWFfYWRk cl90IGRldl9hZGRyLCB1bnNpZ25lZCBsb25nIG9mZnNldCwgc2l6ZV90IHNpemUsCiAJICAgICBl bnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsIHVuc2lnbmVkIGxvbmcgYXR0cnMpOwpAQCAtNzEs NSArNzMsMjQgQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl9kbWFfdW5tYXBfcGFnZShzdHJ1Y3Qg ZGV2aWNlICpod2RldiwgZG1hX2FkZHJfdCBoYW5kbGUsCiAJZWxzZQogCQlfX3hlbl9kbWFfdW5t YXBfcGFnZShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIsIGF0dHJzKTsKIH0KKyNlbHNlCitzdGF0 aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2Rldiwgc3Ry dWN0IHBhZ2UgKnBhZ2UsCisJICAgICBkbWFfYWRkcl90IGRldl9hZGRyLCB1bnNpZ25lZCBsb25n IG9mZnNldCwgc2l6ZV90IHNpemUsCisJICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIs IHVuc2lnbmVkIGxvbmcgYXR0cnMpCit7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV91 bm1hcF9wYWdlKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBkbWFfYWRkcl90IGhhbmRsZSwKKwkJc2l6 ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpciwgdW5zaWduZWQgbG9uZyBhdHRy cykKK3sKK30KK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUo c3RydWN0IGRldmljZSAqaHdkZXYsCisJCWRtYV9hZGRyX3QgaGFuZGxlLCBzaXplX3Qgc2l6ZSwg ZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQoreworfQorc3RhdGljIGlubGluZSB2b2lkIHhl bl9kbWFfc3luY19zaW5nbGVfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpod2RldiwKKwkJZG1h X2FkZHJfdCBoYW5kbGUsIHNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIp Cit7Cit9CisjZW5kaWYKIAotI2VuZGlmIC8qIF9YRU5fQVJNX1BBR0VfQ09IRVJFTlRfSCAqLwor I2VuZGlmIC8qIF9YRU5fUEFHRV9DT0hFUkVOVF9IICovCi0tIAoyLjIwLjEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs