From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhongze Liu Subject: Re: [RFC] DOMCTL_memattrs_op : a new DOMCTL to play with stage-2 page attributes Date: Sat, 1 Jul 2017 17:22:54 +0800 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dREcE-0004fE-4P for xen-devel@lists.xenproject.org; Sat, 01 Jul 2017 09:22:58 +0000 Received: by mail-lf0-f44.google.com with SMTP id b207so81207942lfg.2 for ; Sat, 01 Jul 2017 02:22:56 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: Wei Liu , Andrew Cooper , Ian Jackson , xen-devel@lists.xen.org, Julien Grall , Jan Beulich , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org MjAxNy0wNy0wMSAxNzoxNiBHTVQrMDg6MDAgWmhvbmd6ZSBMaXUgPGJsYWNrc2t5Z2dAZ21haWwu Y29tPjoKPiBIaSBTdGVmYW5vLAo+Cj4gQWRkZWQgSnVsaWVuIGFuZCByZW1vdmVkIHRob3NlIHdo byBhcmUgbWlzdGFrZW5seSBDYydlZCAgICA6LSkKPiB3aWxsIG5ldmVyIHRyeSB0byBkcmFmdCBl bWFpbHMgaGFsZiBhc2xlZXAgYWdhaW4uCj4KPiAyMDE3LTA3LTAxIDU6NDggR01UKzA4OjAwIFN0 ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz46Cj4+IE9uIFNhdCwgMSBK dWwgMjAxNywgWmhvbmd6ZSBMaXUgd3JvdGU6Cj4+PiAqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+ Pj4gICAgRE9NQ1RMX21lbWF0dHJzX29wIDogYSBuZXcgRE9NQ1RMIHRvIHBsYXkgd2l0aCBzdGFn ZS0yIHBhZ2UgYXR0cmlidXRlcwo+Pj4KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBaaG9uZ3plIExpdSA8YmxhY2tza3lnZ0BnbWFpbC5jb20+Cj4+Pgo+ Pj4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKPj4+ICAgTW90aXZhdGlvbiBhbmQgRGVzY3JpcHRp b24KPj4+ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPj4+Cj4+PiBEdXJpbmcgdGhlIGRp Y3Vzc2lvbiBhYm91dCB0aGUgcHJvcG9zYWwgImFsbG93IHNldHRpbmcgdXAgc2hhcmVkIG1lbW9y eSBhcmVhcwo+Pj4gYmV0d2VlbiBWTXMgZnJvbSB4bCBjb25maWcgZmlsZSIgKHNlZSBbMV0pLCBp dCdzIGdldHRpbmcgY2xlYXIgdGhhdCB3aGVuIHdlCj4+PiBzZXR1cCBzaGFyZWQgbWVtb3J5IGFy ZWFzIGZvciBWTSBjb21tdW5pY2F0aW9ucyBmcm9tIHhsIGNvbmZpZyBmaWxlLCB3ZSB3b3VsZAo+ Pj4gYXBwcmVjaWF0ZSB0aGUgYWJpbGl0eSB0byBjb250cm9sIHRoZSBwZXJtaXNzaW9ucyBhbmQg c29tZSBhdHRyaWJ1dGVzIG9mIHRoZQo+Pj4gc2hhcmVkIG1lbW9yeSBwYWdlczogaW4gdGhlIHNp bXBsZXN0IHRoZSBjYXNlcywgcmVndWxhciBjYWNoZWFibGUgUkFNIHdpdGggcmVhZAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gb2YKPj4KPj4+IHdyaXRlIHBlcm1p c3Npb25zIHdpbGwgYmUgZW5vdWdoIChGb3IgQVJNLCBpdCB3b3VsZCBiZSBwMm1fcmFtX3J3IGFu ZCBNQVRUUl9NRU0sCj4+PiBMUEFFX1NIX0lOTkVSKS4gQnV0IHRoZXJlIGFyZSBhbHNvIGNvbXBs aWNhdGVkIGNhc2VzIHdoZXJlIHdlIG1pZ2h0IG5lZWQgZGVlcGVyCj4+PiBjb250cm9sIG92ZXIg dGhlIHBlcm1pc3Npb25zLCBjYWNoZWFiaWxpdHkgYW5kIHNoYXJlYWJpbGl0eSBvZiB0aGUgc2hh cmVkIFJBTQo+Pj4gcGFnZXMgdG8gbWVldCBzb21lIGV4dHJhIHJlcXVpcmVtZW50cyAoc2VlIFsy XSkuIEFuZCB0aGlzIGNvdWxkIGJlIGRvbmUgdmlhCj4+PiBwbGF5aW5nIHdpdGggdGhlIHN0YWdl LTIgcGFnZSB0YWJsZXMsIG9uIGJvdGggeDg2IGFuZCBBUk0uCj4+Pgo+Pj4gU28gdGhlcmUgY29t ZXMgdG8gdGhlIG5lZWQgZm9yIGEgRE9NQ1RMIHRoYXQgY2FuIHNldCB0aGUgcGVybWlzc2lvbnMg YW5kCj4+PiBhdHRyaWJ1dGVzIChjdXJyZW50bHksIG9ubHkgY2FjaGVhYmlsaXR5IGFuZCBzaGFy ZWFiaWxpdHkgaXMgaW4gdGhlIHBsYW4pIG9mIGEKPj4+IGdpdmVuIFJBTSBwYWdlIGluIHRoZSBz dGFnZS0yIHBhZ2UgdGFsYmVzLiBUaGUgb25seSByZWxhdGVkIHdvcmsgY2FuIGJlIHNlZW4gc28K Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIHRhYmxlcwo+Pgo+Cj4g U29ycnkgZm9yIGFsbCB0aGUgdHlwb3MgaW4gdGhpcyBwcm9wb3NhbC4gSSdsbCBmaXggdGhlbSBs YXRlci4KPgo+Pgo+Pj4gZmFyIGlzIERPTUNUTF9waW5fbWVtX2NhY2hlYXR0ciAoc2VlIFszXSks IHdoaWNoIGlzIGZvciBjb250cm9sbGluZyB0aGUKPj4+IGNhY2hlYWJpbGl0eSBvZiBwYWdlcyBh bmQgaXMgeDg2IEhWTSBvbmx5LiBUaGVyZSBzZWVtcyB0byBiZSBubyBhcmNoLW5ldXRyYWwKPj4+ IERPTUNUTCBpbnRlcmZhY2VzIHRoYXQgY2FuIG1lZXQgb3VyIHJlcXVpcmVtZW50cy4KPj4+Cj4+ PiBUaGF0J3Mgd2h5IHdlIG5lZWQgYSBuZXcgYXJjaC1uZXV0cmFsIERPTUNUTCwgd2hpY2ggaXMg dGVudGF0aXZlbHkgY2FsbGVkCj4+PiBET01DVExfbWVtX2F0dHJzX29wIGluIHRoaXMgcHJvcG9z YWwgYW5kIHdvdWxkIGVuYWJsZSB1cyB0byBjb250cm9sIHRoZSBhY2Nlc3MKPj4+IHBlcm1pc3Np b25zLCBjYWNoZWFiaWxpdHkgYW5kIHNoYXJlYWJpbGl0eSAoQVJNIG9ubHkpIGF0dHJpYnV0ZXMg b2YgUkFNIHBhZ2VzLgo+Pj4KPj4+ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4+PiAgIEludGVy ZmFjZSBTcGVjaWZpY2F0aW9uCj4+PiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj4+Pgo+Pj4g QSBjdXJyZW50IGRyYWZ0IG9mIHRoZSBpbnRlcmZhY2UgbG9va3MgbGlrZSB0aGlzOgo+Pj4KPj4+ IC8qCj4+PiAgKiBTZXQgYWNjZXNzIHBlcm1pc3Npb25zLCBjYWNoZWFiaWxpdHkgYW5kIHNoYXJl YWJpbGl0eSAoQVJNIG9ubHkpIG9mIGEKPj4+ICAqIGNvbnRpbnVvcyByYW5nZSBvZiBub3JtYWwg bWVtb3J5IChSQU0pIGluIHRoZSBzdGFnZS0yIHBhZ2UgdGFibGUuCj4+PiAgKi8KPj4+IC8qIFhF Tl9ET01DVExfbWVtYXR0cnNfb3AgKi8KPj4+Cj4+PiAvKiBzZXQgY2hhY2hlYWJpbGl0eSBhbmQg c2hhcmVhYmlsaXR5ICovCj4+ICAgICAgICAgICAgIF4gY2FjaGVhYmlsaXR5Cj4+Cj4+Cj4+PiAj ZGVmaW5lIFhFTl9ET01DVExfTUVNQVRUUlNfT1BfU0VUX0NBQ0hFQVRUUlMgIDEKPj4+IC8qIHNl dCBhY2Nlc3MgcGVybWlzc2lvbnMgKi8KPj4+ICNkZWZpbmUgWEVOX0RPTUNUTF9NRU1BVFRSU19P UF9TRVRfUEVSTUlTU0lPTlMgMgo+Pj4gLyogZ2V0IGNoYWNoZWFiaWxpdHkgYW5kIHNoYXJlYWJp bGl0eSAqLwo+PiAgICAgICAgICAgICBeIGNhY2hlYWJpbGl0eQo+Pgo+Pj4gI2RlZmluZSBYRU5f RE9NQ1RMX01FTUFUVFJTX09QX0dFVF9DQUNIRUFUVFJTICAxCj4+PiAvKiBnZXQgYWNjZXNzIHBl cm1pc3Npb25zICovCj4+PiAjZGVmaW5lIFhFTl9ET01DVExfTUVNQVRUUlNfT1BfR0VUX1BFUk1J U1NJT05TIDIKPj4+Cj4+PiAvKiBmbGFncyBmb3IgWEVOX0RPTUNUTF9NRU1BVFRSU19PUF9TRVRf Q0FDSEVBVFRSUyAqLwo+Pj4gLyogY2hhY2hlYWJpbGl0eSBmbGFncywgdGhlIHZhbHVlcyBoYXBw ZW4gdG8gYmUgdGhlIHNhbWUgd2l0aCB0aG9zZSBpbgo+PiAgICAgICAgIF4gY2FjaGVhYmlsaXR5 Cj4+Cj4+PiAgKiB4ODYgUEFULiAgKFNlZSBbNF0pCj4+PiAgKi8KPj4+IC8qIHVuY2FjaGVhYmxl ICovCj4+PiAjZGVmaW5lIFhFTl9ET01DVExfTUVNQVRUUlNfVUMgICAgICAgICAweDAwVQo+Pj4g Lyogd3JpdGUgY29tYmluZSwgeDg2IG9ubHkgKi8KPj4+ICNkZWZpbmUgWEVOX0RPTUNUTF9NRU1B VFRSU19DQUNIRV9XQyAgIDB4MDFVCj4+PiAvKiB3cml0ZSB0aHJvdWdoICovCj4+PiAjZGVmaW5l IFhFTl9ET01DVExfTUVNQVRUUlNfQ0FDSEVfV1QgICAweDA0VQo+Pj4gLyogd3JpdGUgcHJvdGVj dCwgeDg2IG9ubHkgKi8KPj4+ICNkZWZpbmUgWEVOX0RPTUNUTF9NRU1BVFRSU19DQUNIRV9XUCAg IDB4MDVVCj4+PiAvKiB3cml0ZSBiYWNrICovCj4+PiAjZGVmaW5lIFhFTl9ET01DVExfTUVNQVRU UlNfQ0FDSEVfV0IgICAweDA2VQo+Pj4gLyogc3Ryb25nIHVuY2FjaGVhYmxlLCB4ODYgb25seSov Cj4+PiAjZGVmaW5lIFhFTl9ET01DVExfTUVNQVRUUlNfU1VDICAgICAgICAweDA3VQo+Pgo+PiBP biB0aGUgQVJNIHNpZGUsIHdlIGFyZSBtaXNzaW5nIEJVRkZFUkFCTEUgYW5kIFdSSVRFQUxMT0Mu IEkgZG9uJ3Qga25vdwo+PiBob3cgdGhleSBtYXAgdG8gdGhlc2UgdGFncywgd2hpY2ggY29tZXMg ZnJvbSB0aGUgeDg2IHdvcmxkLiBNYXliZSB3ZQo+PiBzaG91bGQganVzdCBhZGQgdGhlbSBzZXBh cmF0ZWx5IGFzIEFSTSBvbmx5LCBsaWtlOgo+Pgo+PiAgIC8qIGJ1ZmZlcmFibGUsIEFSTSBvbmx5 ICovCj4+ICAgI2RlZmluZSBYRU5fRE9NQ1RMX01FTUFUVFJTX0JVRkZFUkFCTEUgMHgwOFUKPj4g ICAvKiB3cml0ZSBhbGxvYywgQVJNIG9ubHkgKi8KPj4gICAjZGVmaW5lIFhFTl9ET01DVExfTUVN QVRUUlNfQ0FDSEVfV0EgICAweDA5VQo+Pgo+PiBUaGVvcmV0aWNhbGx5LCB3ZSBjb3VsZCBzYXkg WEVOX0RPTUNUTF9NRU1BVFRSU19VQyBtZWFucyAiQlVGRkVSQUJMRSIgb24KPj4gQVJNIGFuZCBY RU5fRE9NQ1RMX01FTUFUVFJTX1NVQyBtZWFucyAiVU5DQUNIRUQiLCBiZWNhdXNlIHRoYXQncwo+ PiBhY3R1YWxseSB3aGF0IHRoZXkgY29ycmVzcG9uZCB0byBJIHRoaW5rLiBIb3dldmVyIHVzaW5n IHg4NiBuYW1lcyBmb3IKPj4gQVJNIGNhY2hpbmcgYXR0cmlidXRlcyBpcyB2ZXJ5IGNvbmZ1c2lu ZyBhbmQgZXJyb3IgcHJvbmUuIFNvIEkgd291bGQKPj4gcHJlZmVyIGludHJvZHVjaW5nIHNlcGFy YXRlIHRhZ3MgZm9yIEFSTSBhbmQgeDg2LiBIb3dldmVyLCByZXVzaW5nCj4+IFhFTl9ET01DVExf TUVNQVRUUlNfVUMsIFhFTl9ET01DVExfTUVNQVRUUlNfQ0FDSEVfV1QgYW5kCj4+IFhFTl9ET01D VExfTUVNQVRUUlNfQ0FDSEVfV0IgYXMgWmhvbmd6ZSBkaWQgaW4gdGhpcyBwcm9wb3NhbCB3b3Vs ZCBiZSBPSwo+PiBmb3IgbWUuCj4+Cj4+IEp1bGllbiwgd2hhdCBkbyB5b3UgdGhpbms/Cj4+Cj4K PiBzb3JyeSBmb3IgbWlzc2luZyB0aGUgJ3dyaXRlLWFsbG9jYXRlJyBmbGFnIGZvciBBUk0uIEkg YWdyZWUgd2l0aCB5b3UKPiBpbiBhZGRpbmcgc29tZQo+IEFSTS1vbmx5IGZsYWdzLCBjb3ogdXNp bmcgeDg2IHRlcm1pbm9sb2dpZXMgZG9lcyBsb29rIGNvbmZ1c2luZy4gQnV0Cj4gbGV0J3MgaGVh ciB3aGF0IG90aGVyCj4gbWFpbnRhaW5lcnMgc2F5Lgo+Cj4+Cj4+PiAvKiBzaGFyZWFiaWxpdHkg ZmxhZ3MgKFNlZSBbNV0pLCBhcm0gb25seSwgdGhlIHZhbHVlIGlzIHRha2VuIGZyb20KPj4+ICAq IGFzbS1hcm0vcGFnZS5oLCBidXQgbGl2ZSBpbiB0aGUgc2Vjb25kIDgtYml0Lgo+Pj4gICovCj4+ PiAjZGVmaW5lIFhFTl9ET01DVExfTUVNQVRUUlNfU0hBUkVBQklMSVRZX1NISUZUIDgKPj4+ICNk ZWZpbmUgWEVOX0RPTUNUTF9NRU1BVFRSU19TSF9OT05fU0hBUkVBQkxFIChMUEFFX1NIX05PTl9T SEFSRUFCTEU8PDgpCj4+PiAjZGVmaW5lIFhFTl9ET01DVExfTUVNQVRUUlNfU0hfVU5QUkVESUNU QUxFICAoTFBBRV9TSF9VTlBSRURJQ1RBTEU8PDgpCj4+Cj4+IFdlIGRvbid0IG5lZWQgVU5QUkVE SUNUQUxFIGFzIGEgcG9zc2libGUgdmFsdWUgOi0pCj4+Cj4KPiBXaWxsIHJlbW92ZSB0aGlzLgo+ Cj4+Cj4+PiAjZGVmaW5lIFhFTl9ET01DVExfTUVNQVRUUlNfU0hfT1VURVIgICAgICAgICAoTFBB RV9TSF9PVVRFUjw8OCkKPj4+ICNkZWZpbmUgWEVOX0RPTUNUTF9NRU1BVFRSU19TSF9JTk5FUiAg ICAgICAgIChMUEFFX1NIX0lOTkVSPDw4KQo+Pj4KPj4+IC8qIGZsYWdzIGZvciBYRU5fRE9NQ1RM X01FTUFUVFJTX09QX1NFVF9QRVJNSVNTSU9OUyAqLwo+Pj4gI2RlZmluZSBYRU5fRE9NQ1RMX01F TUFUVFJTX0FDQ0VTU19OICAgICAgICAgMHgwMFUKPj4+ICNkZWZpbmUgWEVOX0RPTUNUTF9NRU1B VFRSU19BQ0NFU1NfUiAgICAgICAgICgweDAxVTw8MCkKPj4+ICNkZWZpbmUgWEVOX0RPTUNUTF9N RU1BVFRSU19BQ0NFU1NfVyAgICAgICAgICgweDAxVTw8MSkKPj4+ICNkZWZpbmUgWEVOX0RPTUNU TF9NRU1BVFRSU19BQ0NFU1NfWCAgICAgICAgICgweDAxVTw8MikKPj4+ICNkZWZpbmUgWEVOX0RP TUNUTF9NRU1BVFRSU19BQ0NFU1NfUlcgICAgICAgIFwKPj4+IChYRU5fRE9NQ1RMX01FTUFUVFJT X0FDQ0VTU19SfFhFTl9ET01DVExfTUVNQVRUUlNfQUNDRVNTX1cpCj4+PiAjZGVmaW5lIFhFTl9E T01DVExfTUVNQVRUUlNfQUNDRVNTX1JYICAgICAgICBcCj4+PiAoWEVOX0RPTUNUTF9NRU1BVFRS U19BQ0NFU1NfUnxYRU5fRE9NQ1RMX01FTUFUVFJTX0FDQ0VTU19YKQo+Pj4gI2RlZmluZSBYRU5f RE9NQ1RMX01FTUFUVFJTX0FDQ0VTU19XWCAgICAgICAgXAo+Pj4gKFhFTl9ET01DVExfTUVNQVRU UlNfQUNDRVNTX1d8WEVOX0RPTUNUTF9NRU1BVFRSU19BQ0NFU1NfWCkKPj4+ICNkZWZpbmUgWEVO X0RPTUNUTF9NRU1BVFRSU19BQ0NFU1NfUldYICAgICAgICBcCj4+PiAoWEVOX0RPTUNUTF9NRU1B VFRSU19BQ0NFU1NfUld8WEVOX0RPTUNUTF9NRU1BVFRSU19BQ0NFU1NfWCkKPj4+Cj4+PiBzdHJ1 Y3QgeGVuX2RvbWN0bF9tZW1hdHRyc19vcCB7Cj4+PiAgIGludCBvcDsgICAgICAgICAgICAgICAg IC8qIElOIFhFTl9ET01DVExfTUVNQVRUUlNfT1BfKiAqLwo+Pgo+PiB1aW50MzJfdDogd2Ugb25s eSB1c2UgZXhwbGljaXRseSBzaXplZCBpbnRlZ2VycyBpbiBoeXBlcmNhbGxzCj4+Cj4KPiBPaywg SSdsbCBtYWtlIGl0IGFuIHVpbnQzMl90Lgo+Cj4+Cj4+PiAgIHhlbl9wZm5fdCBmaXJzdF9nZm47 ICAgIC8qIElOIGZpcnN0IHBhZ2UgaW4gcmFuZ2UgKi8KPj4+ICAgdWludDMyX3QgbnJfZ2Zuczsg ICAgICAgLyogSU4gbnVtYmVyIG9mIHBhZ2VzIGluIHJhbmdlICovCj4+Pgo+Pj4gICBYRU5fR1VF U1RfSEFORExFKHVpbnQzMl90KSBhdHRyczsgIC8qIElOL09VVCBwZXItcGFnZSBhdHRycyAqLwo+ Pgo+PiBYRU5fR1VFU1RfSEFORExFIGlzIHVzZWQgZm9yIHBvaW50ZXJzIGluIHN0cnVjdCAodHlw aWNhbGx5IGZvciBhcnJheXMpLgo+PiBJbiB0aGlzIGNhc2UsIEkgZG9uJ3QgdGhpbmsgd2UgbmVl ZCBhIHBvaW50ZXIsIHdlIGNvdWxkIGp1c3QgaGF2ZSBhCj4+IHNpbmdsZSB1aW50MzJfdCB0byBz cGVjaWZ5IHRoZSBwZXJtaXNzaW9ucyBhbmQgYXR0cmlidXRlcyBmb3IgYWxsIHRoZQo+PiBwYWdl cyBpbiB0aGUgcmFuZ2UuCj4+Cj4KPiBJJ20gbm90IHN1cmUgYWJvdXQgdGhpcy4KPiBJIHRoaW5r IHVzaW5nIGFuIGFycmF5IGhlcmUgYW5kIGJlbG93IHdpbGwgbWFrZSB0aGUgaHlwZXJjYWxsIG1v cmUgZmxleGlibGUgLS0KPiBzaW1pbGFyIHRvIFhFTk1FTV9hZGRfdG9fcGh5c21hcF9iYXRjaC4K PiBCdXQgYWNjb3JkaW5nIHRvIG91ciBuZWVkcywgdXNpbmcgb25lIGF0dHIgcGFyYW1ldGVyIGZv ciB0aGUgd2hvbGUgcmFuZ2UKPiBhY3R1YWxseSBtYWtlcyB0aGUgd2hvbGUgdGhpbmcgbW9yZSBo YW5keS4KCkJ1dCBnaXZlbiB0aGF0IHRoZSBoeXBlcmNhbGwgYWxzbyBzdXBwb3J0cyB0aGUgKl9H RVRfKiBvcGVyYXRpb25zLAp1c2luZyBhbiBhcnJheSBoZXJlIHNlZW1zIHRvIGJlIG1vcmUgcmVh c29uYWJsZS4KCgpDaGVlcnMsCgpaaG9uZ3plIExpdQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==