From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v4] altp2m: Allow the hostp2m entries to be of type p2m_ram_shared Date: Tue, 19 Jul 2016 18:11:51 +0100 Message-ID: References: <1464234910-7321-1-git-send-email-tamas@tklengyel.com> <5746D27F.5050705@citrix.com> <2009d6f1-c5dc-3fda-b943-e911ea5afc1a@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bPYZY-0000M5-Gm for xen-devel@lists.xenproject.org; Tue, 19 Jul 2016 17:12:44 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Tamas K Lengyel Cc: Andrew Cooper , Ian Jackson , Jan Beulich , Xen-devel List-Id: xen-devel@lists.xenproject.org T24gMTgvMDcvMTYgMTg6MDYsIFRhbWFzIEsgTGVuZ3llbCB3cm90ZToKPj4gSW5jcmVtZW50YWwg aW1wcm92ZW1lbnRzIGFyZSB3ZWxjb21lOyBidXQgdGhleSBtdXN0IG5vdCBjYXVzZQo+PiByZWdy ZXNzaW9ucyBpbiBleGlzdGluZyBmdW5jdGlvbmFsaXR5Lgo+IAo+IEV4aXN0aW5nIGZ1bmN0aW9u YWxpdHkgZG9lcyBub3QgZ2V0IGltcGFpcmVkIGJ5IHRoaXMgYXMgd2hhdCBoYXBwZW5zCj4gcmln aHQgbm93IGlzIGEgaHlwZXJ2aXNvciBjcmFzaC4gSSBkb24ndCBzZWUgaG93IHRoaW5ncyBjYW4g Z2V0IGFueQo+IHdvcnN0IHRoYW4gdGhhdC4KCkFsc28gZnJvbSBhbm90aGVyIHRocmVhZDoKPiBJ ZiBhbnlvbmUgZWxzZSB3b3VsZCBoYXZlIGJlZW4gaW50ZXJlc3RlZCBpbiBnZXR0aW5nIHRoZSB0 d28gc3lzdGVtcwo+IHdvcmtpbmcgdG9nZXRoZXIgb3RoZW4gdGhlbiBtZSB0aGV5IHByb2JhYmx5 IHdvdWxkIGhhdmUgY29tcGxhaW5lZAo+IGFscmVhZHkgdGhhdCBoZXkgdGhpcyBjcmFzaGVzIHRo ZSBoeXBlcnZpc29yLiBNeSBwb2ludCBiZWluZyB0aGF0IGF0Cj4gdGhpcyBwb2ludCB0aGUgaW1w YWN0IG9mIHRoaXMgcGF0Y2ggaXMgbGlrZWx5IHJlYWxseSBsb3cuCgpGcm9tIGEgdXNlciBwZXJz cGVjdGl2ZSwgImZhaWxpbmcgaW50ZXJtaXR0ZW50bHkgaW4gc29tZSBzdHJhbmdlIGFuZAp1bnBy ZWRpY3RhYmxlIHdheSIgaXMgZGVmaW5pdGVseSB3b3JzZSB0aGFuIGEgaHlwZXJ2aXNvciBjcmFz aC4gOi0pCgpNeSBjb25jZXJuIGlzIHRoYXQgc29tZW9uZSB3aWxsIHN0YXJ0IHVzaW5nIGd1ZXN0 cyB3aGljaCB1c2UgdGhlIGFsdHAybQppbnRlcmZhY2UgaW50ZXJuYWxseSwgYW5kIHRoYXQgd2ls bCBhbGwgd29yazsgYW5kIHRoZW4gbWF5YmUgc2VwYXJhdGVseQp0aGV5IHdpbGwgc3RhcnQgZG9p bmcgc29tZSBzb3J0IG9mIG1lbW9yeSBzaGFyaW5nIGJldHdlZW4gZ3Vlc3RzLCBhbmQKdGhhdCB3 aWxsIGFsbCB3b3JrOyBhbmQgdGhlbiBhdCBzb21lIHBvaW50IHRoZXknbGwgZG8gbWVtb3J5IHNo YXJpbmcgb24KYSBndWVzdCB1c2luZyB0aGUgYWx0cDJtIGZ1bmN0aW9uYWxpdHkgaW50ZXJuYWxs eSwgYW5kIHN1ZGRlbmx5IHRoZXknbGwKZ2V0IHN0cmFuZ2UgaW50ZXJtaXR0ZW50IGVycm9ycyB3 aGVyZSB0aGluZ3MgZG9uJ3QgYmVoYXZlIHRoZSB3YXkgdGhleQpleHBlY3QgYW5kIHRoZXkgZG9u J3Qga25vdyB3aHkuICBBIGh5cGVydmlzb3IgY3Jhc2ggdGhhdCB0ZWxscyB0aGVtCmV4YWN0bHkg d2hhdCBjb2RlIGhhcyB0aGUgcHJvYmxlbSBpcyBkZWZpbml0ZWx5IHByZWZlcmFibGUuCgo+PiBU aGUgY29kZSBhcyBpdCBpcyBpbiB0aGUgdHJlZSByaWdodCBub3cgd2FzIGludGVuZGVkIHRvIGFs bG93IGJvdGgKPj4gc2hhcmluZyBhbmQgYWx0cDJtIHRvIGJlIGVuYWJsZWQgb24gdGhlIHNhbWUg ZG9tYWluLCBqdXN0IG5vdCBvdmVyIHRoZQo+PiBzYW1lIGdmbiByYW5nZS4gIEFuZCBpdCB3YXMg aW50ZW5kZWQgdG8gYmUgcm9idXN0IC0tIHRoYXQgaXMsIHRoZQo+PiBzaGFyaW5nIGNvZGUgYW5k IHRoZSBhbHRwMm0gY29kZSBkb24ndCBuZWVkIHRvIGJlIGF3YXJlIG9mIGVhY2ggb3RoZXIKPj4g YW5kIHRyeSBub3QgdG8gc3RlcCBvbiBlYWNoIG90aGVyJ3MgdG9lczsgZWFjaCBjYW4ganVzdCBk byBpdHMgb3duIHRoaW5nCj4+IGFuZCBYZW4gd2lsbCBtYWtlIHN1cmUgdGhhdCBub3RoaW5nIGJh ZCBoYXBwZW5zIChieSBwcmV2ZW50aW5nIHBhZ2VzCj4+IHdpdGggYW4gYWx0cDJtIGVudHJ5IGZy b20gYmVpbmcgc2hhcmVkLCBhbmQgdW5zaGFyaW5nIHBhZ2VzIGZvciB3aGljaCBhbgo+PiBhbHRw Mm0gZW50cnkgaXMgY3JlYXRlZCkuCj4+Cj4+IEl0IHNvdW5kcyBsaWtlIHRoYXQncyBicm9rZW4g cmlnaHQgbm93OyBpdCBzaG91bGQgdGhlcmVmb3JlIGJlIGZpeGVkLgo+PiBXaGVuIGl0IGlzIGZp eGVkLCB5b3UnbGwgYmUgYWJsZSB0byB1c2UgYm90aCBhbHRwMm0gYW5kIHNoYXJpbmcgb24gdGhl Cj4+IHNhbWUgZG9tYWluOyBYZW4gd2lsbCBzaW1wbHkgcHJldmVudCBzaGFyaW5nIGZyb20gaGFw cGVuaW5nIG9uIGdmbgo+PiByYW5nZXMgd2l0aCBhbHRwMm0gZW50cmllcy4KPiAKPiBObywgdGhh dCdzIGluY29ycmVjdCwgaXQncyB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gSWYgeW91IHdlcmUgdG8g dHJ5IHRvCj4gc2hhcmUgcGFnZXMgZm9yIHdoaWNoIHlvdSBoYXZlIGFsdHAybSBlbnRyaWVzIGl0 IHdpbGwgaGFwcGlseSBvYmxpZ2UuCj4gSXQgd2lsbCBqdXN0IGZhaWwgdG8gZG8gdGhlIGFsdHAy bSBhY3Rpb25zIGZvciBlbnRyaWVzIG9mIHNoYXJlZAo+IGVudHJpZXMgKGNvcHlpbmcgdGhlIG1h cHBpbmcgdG8gdGhlIGFsdHAybSB2aWV3LCBtZW1fYWNjZXNzLCBldGMpLgoKSXQncyBxdWl0ZSBw b3NzaWJsZSBJIG1pc3NlZCBzb21ldGhpbmcsIGJ1dCB0aGF0J3Mgbm90IGhvdyBJIHJlYWQgdGhl CmNvZGUuICBCZWZvcmUgc2hhcmluZyBhIHBhZ2UgeW91IGhhdmUgdG8gaGF2ZSB0byBjYWxsCm1l bV9zaGFyaW5nX25vbWluYXRlX3BhZ2UoKSwgd2hpY2ggY2FsbHMgcGFnZV9tYWtlX3NoYXJhYmxl KCkuCnBhZ2VfbWFrZV9zaGFyYWJsZSgpIHdpbGwgbWFrZSBzdXJlIHRoYXQgaXQgaGFzIGV4YWN0 bHkgdGhlIGV4cGVjdGVkCm51bWJlciBvZiByZWZlcmVuY2VzOyB3aGljaCBmb3IgZ2ZucyBpcyAy IGFuZCBmb3IgZ3JhbnQgcmVmZXJlbmNlcyBpcyA0LgoKV2hlbiB5b3UgbWFwIGFuIG1mbiBpbnRv IGFuIGFsdHAybSBvZiBhIGRpZmZlcmVudCBnZm4sIHlvdSdsbCBpbmNyZWFzZQp0aGUgcmVmZXJl bmNlIGNvdW50LiAgU28gaXQgYXBwZWFycyB0byBtZSB0aGF0IGlmIHlvdSBhdHRlbXB0IHRvIHNo YXJlIGEKcGFnZSB3aGljaCBpcyBtYXBwZWQgaW4gYW4gYWx0cDJtLCB0aGVuIHRoZSBub21pbmF0 ZSBvcGVyYXRpb24gd2lsbCBmYWlsCih3aXRoIC1FMkJJRywgb2YgYWxsIHRoaW5ncykuCgpBbSBJ IG1pc3Rha2VuIGFib3V0IHRoYXQ/CgooQlRCIHRoaXMgd291bGQgcHJvYmFibHkgc3RpbGwgYmUg dGhlIGNhc2UgZXZlbiBhZnRlciB5b3VyIHBhdGNoLikKCkFsc28sIGFzIGZhciBhcyBJIGNhbiB0 ZWxsLCAiSXQgd2lsbCBqdXN0IGZhaWwgdG8gZG8gdGhlIGFsdHAybSBhY3Rpb25zCmZvciBlbnRy aWVzIG9mIHNoYXJlZCBlbnRyaWVzIiBpcyBub3QgdHJ1ZTsgaW5zdGVhZCwgdGhlIHBhZ2Ugd2ls bCBiZQp1bi1zaGFyZWQgYW5kIHRoZSBhbHRwMm0gYWN0aW9uIHdpbGwgdGhlbiB0YWtlIHBsYWNl LiAgSXMgdGhpcyBub3QgdGhlIGNhc2U/Cgo+PiBBbiBldmVuIGJpZ2dlciBpbXByb3ZlbWVudCB3 b3VsZCBiZSB0byBhbGxvdyB0aGUgc2FtZSBnZm5zIHRvIGJlIHN1YmplY3QKPj4gYm90aCB0byBh bHRwMm0gYW5kIHNoYXJpbmcgYXQgdGhlIHNhbWUgdGltZS4gIEJ1dCB0aGlzIHJlcXVpcmVzIHRo aW5raW5nCj4+IGNhcmVmdWxseSBhYm91dCBhbGwgdGhlIGNvcm5lciBjYXNlcyBhbmQgbWFraW5n IHN1cmUgdGhhdCB0aGV5IGFsbCB3b3JrCj4+IGNvcnJlY3RseS4KPiAKPiBBbmQgdGhpcyBpcyBl eGFjdGx5IHdoYXQgdGhpcyBwYXRjaCBhbGxvd3MgeW91IHRvIGRvLiBBbiBlbnRyeSBjYW4gbm93 Cj4gYmUgYm90aCBzaGFyZWQsIGdldCBwcm9wZXJseSBjb3BpZWQgdG8gYWx0cDJtIHZpZXdzLCBh bGxvdyBzZXR0aW5nCj4gbWVtX2FjY2VzcyBpbiBhbHRwMm0gdmlld3MsIGV0Yy4gVGhlIG9ubHkg c2l0dWF0aW9uIHlvdSBoYXZlIHRvIHRha2UKPiBjb3JlIG9mIGlzIHdoZW4gdGhlIHR5cGUgb2Yg dGhlIGVudHJ5IGNoYW5nZXMgZnJvbSBzaGFyZWQgdG8gdW5zaGFyZWQKPiBhcyB0aGF0IHJlc2V0 cyB0aGUgYWx0cDJtIHZpZXdzLgoKSSBkZXNjcmliZWQgYW5vdGhlciBzaXR1YXRpb24geW91IGhh dmUgdG8gYmUgY2FyZWZ1bCBvZiBpbiBhbiBlYXJsaWVyCmUtbWFpbDoKLSBob3N0IGdmbiBBIGlz IG1hcmtlZCAic2hhcmVkIgotIGFsdHAybSBnZm4gTyBpcyBtYXBwZWQgdG8gZ2ZuIEEgKHRodXMg YWxzbyBtYXJrZWQgYXMgJ3NoYXJlZCcpCi0gR3Vlc3Qgd3JpdGVzIHRvIGdmbiBPLCBYZW4gYXR0 ZW1wdHMgdG8gdW5zaGFyZSB0aGUgcGFnZS4KCkluIHRoaXMgY2lyY3Vtc3RhbmNlLCB0aGUgZmF1 bHQgd2lsbCBlbmRzIHVwIGluCl9fbWVtX3NoYXJpbmdfdW5zaGFyZV9wYWdlKCksIHdoaWNoIHdp bGwgY2FsbHMgcm1hcF9yZXRyaWV2ZShkLCBPLCBtQSkuClRoaXMgcmV0dXJucyBOVUxMIGJlY2F1 c2UgZ2ZuIE8gd2FzIG5ldmVyIHB1dCBpbiB0aGUgcmV2ZXJzZSBtYXAsIGFuZAp5b3UgQlVHKCku CgpBZ2FpbiwgYW0gSSBtaXNyZWFkaW5nIHdoYXQgd291bGQgaGFwcGVuPwoKSSdtIHByZXR0eSBz dXJlIGlmIEkgd2VudCBsb29raW5nIEkgY291bGQgZmluZCBzb21lIG1vcmUgc2l0dWF0aW9ucyB5 b3UKbmVlZCB0byBhdm9pZCB0byBwcmV2ZW50IHByb2JsZW1zLgoKU28gdGhlIG5leHQgYmlnIG1p c3NpbmcgcGllY2Ugb2YgaW5mb3JtYXRpb24gaW4gdGhpcyBkaXNjdXNzaW9uIGlzCmV4YWN0bHkg d2hhdCB5b3UgZG8gbmVlZCBmcm9tIHRoaXMgc3lzdGVtLiAgWW91J3JlIHVzaW5nIGFsdHAybSBh bmQKbWVtX3NoYXJpbmcgKGFuZCBtZW1fYWNjZXNzKSBvbiB0aGUgc2FtZSBkb21haW4sIHRoYXQn cyBvYnZpb3VzLiAgV2hpY2gKZmVhdHVyZXMgb2YgYWx0cDJtIGFyZSB5b3UgdXNpbmcgLS0gYXJl IHlvdSBtYWlubHkgdXNpbmcgdGhlIG1lbV9hY2Nlc3MKY2hhbmdlcywgb3IgYXJlIHlvdSBhbHNv IHVzaW5nIHRoZSBnZm4gbWFwcGluZyBmdW5jdGlvbmFsaXR5PwoKQWxzbywgaG93IGltcG9ydGFu dCBpcyBpdCB0aGF0IHBhZ2VzIHVzaW5nIGFsdHAybSBmdW5jdGlvbmFsaXR5IG5vdCBiZQp1bi1z aGFyZWQgLS0gaS5lLiwgd2hhdCBwcm9wb3J0aW9uIG9mIGEgZ3Vlc3QncyBwYWdlcyBkbyB5b3Ug ZXhwZWN0IHRvCmJlIHNoYXJlZCwgYW5kIHdoYXQgcHJvcG9ydGlvbiBkbyB5b3UgbmVlZCB0byBw ZXJmb3JtIGFsdHAybSBvcGVyYXRpb25zIG9uPwoKU28gdGhlcmUgYXJlIHNldmVyYWwgdGhpbmdz IHdlIGNvdWxkIGRvIGhlcmU6CgoxLiBBbGxvdyBtZW1fc2hhcmluZyBhbmQgYWx0cDJtIGZ1bmN0 aW9uYWxpdHkgY28tZXhpc3RpbmcgYnkgYXZvaWRpbmcKZWFjaCBvdGhlcjogdGhlIHNhbWUgZG9t YWluIGNhbiB1c2UgYm90aCwgYnV0IHRoZSBzYW1lIGdmbiBjYW5ub3QgYmUKYm90aCBzaGFyZWQg YW5kIGhhdmUgYWx0cDJtIGVudHJpZXMuICBUaGlzIGlzIGVzc2VudGlhbGx5IGZpeGluZyB0aGUg YnVnCmluIHRoZSBjdXJyZW50IGNvZGU6IEFkZGluZyBhbiBhbHRwMm0gdG8gYSBnZm4gdW5zaGFy ZXMgaXQ7IGFuZCBnZm5zCndoaWNoIGhhdmUgYWx0cDJtIGVudHJpZXMgY2Fubm90IGJlIHNoYXJl ZC4KClRoaXMgc2hvdWxkLCBJICp0aGluayosIGJlIGZhaXJseSBzdHJhaWdodGZvcndhcmQ7IGl0 IG1pZ2h0IGV2ZW4gb25seQpyZXF1aXJlIHRoZSBsb2NrLXJlb3JkZXJpbmcgcGFydCBvZiB5b3Vy IHBhdGNoLgoKSWYgeW91ciB1c2UtY2FzZSBvbmx5IHVzZXMgYWx0cDJtIGZ1bmN0aW9uYWxpdHkg b24gYSBzbWFsbCBudW1iZXIgb2YKcGFnZXMsIHRoZW4gdGhpcyBtaWdodCBiZSBhIG5vdC10b28t ZGlmZmljdWx0IG9wdGlvbiB0aGF0IHdvdWxkIHNvbHZlCnlvdXIgcHJvYmxlbSB3aGlsZSBub3Qg aW50cm9kdWNpbmcgYW55IHBpdGZhbGxzIGZvciBmdXR1cmUgdXNlcnMgdG8gYWxsCmludG8uICBJ ZiB5b3VyIHVzZSBjYXNlIHJlcXVpcmVzIGxhcmdlIGFtb3VudHMgb2Ygc2hhcmluZyAqYW5kKiBs YXJnZQphbW91bnRzIG9mIGFsdHAybSBlbnRyaWVzLCB0aGlzIGlzIHByb2JhYmx5IG5vdCBnb2lu ZyB0byB3b3JrIGZvciB5b3UuCgoyLiBBbGxvdyBtZW1fc2hhcmluZyBvbiBhbHRwMm0gZW50cmll cyB3aXRoIGxpbWl0ZWQgZnVuY3Rpb25hbGl0eS4KU3BlY2lmaWNhbGx5OiBEbyBub3QgdW5zaGFy ZSBpZiBhbiBhbHRwMm0gZW50cnkgb25seSBoYXMgbWVtX2FjY2VzcwpyZXN0cmljdGlvbnMgc2V0 OyBvbmx5IHVuc2hhcmUgaXQgaWYgdGhlIGdmbiBpcyByZW1hcHBlZC4KClRoaXMgd291bGQgcmVx dWlyZSBzb21lIHZlcnkgY2FyZWZ1bCB0aGlua2luZyBhYm91dCB0aGUgZGlmZmVyZW50IGNvcm5l cgpjYXNlcyB0aGF0IG1pZ2h0IGhhcHBlbiwgYnV0IEkgZG9uJ3QgdGhpbmsgaXQgd291bGQgYmUg cXVpdGUgdGhlIG1vcmFzcwp0aGF0IGZ1bGwgYWx0cDJtIHN1cHBvcnQgKHdpdGggZ2ZuIHJlbWFw cGluZykgd291bGQgaW52b2x2ZS4KCklmIHlvdXIgdXNlLWNhc2Ugb25seSB1c2VzIHRoZSBtZW1f YWNjZXNzIGFsdHAybSBmdW5jdGlvbmFsaXR5LCB0aGlzCm1pZ2h0IGJlIGEgc29sdXRpb24gdGhh dCdzIGEgcmVhc29uYWJsZSBhbW91bnQgb2Ygd29yay4KCjMuIEFsbG93IG1lbV9zaGFyaW5nIG9u IGFsdHAybSBlbnRyaWVzIHdpdGggZnVsbCBmdW5jdGlvbmFsaXR5IGluIGEKcm9idXN0IG1hbm5l ciwgbWFraW5nIHN1cmUgYWxsIHRoZSBjb3JuZXIgY2FzZXMgYXJlIGhhbmRsZWQgY29ycmVjdGx5 LgoKVGhpcyB3b3VsZCBvYnZpb3VzbHkgYmUgcXVpdGUgYSBiaXQgbW9yZSB3b3JrLiAgSSBkb24n dCB0aGluayBpdCB3b3VsZAphY3R1YWxseSBiZSB3YXN0ZWQsIHNpbmNlIGl0IHNob3VsZCBhbGxv dyB5b3UgdG8gaGF2ZSBmdWxsIHNoYXJpbmcgYW5kCmZ1bGwgYWx0cDJtIGFjY2VzcyB3aXRob3V0 IHlvdXIgZG9tMCBjb2RlIGhhdmluZyB0byB3b3JyeSBhYm91dCBhbGwgdGhlCmNvcm5lciBjYXNl cyBhbmQgaW50ZXJhY3Rpb25zLiAgQnV0IEkgY2FuIGNlcnRhaW5seSBzZWUgd2h5IHlvdSdyZSBu b3QKa2VlbiBvbiB0aGUgcHJvc3BlY3Qgb2YgZG9pbmcgc28uCgo0LiBBbGxvdyBtZW1fc2hhcmlu ZyBvbiBhbHRwMm0gZW50cmllcyB3aXRoIGZ1bGwgZnVuY3Rpb25hbGl0eSwgYnV0IHdpdGgKY29y bmVyIGNhc2VzIHRoZSB1c2VyIG9mIHRob3NlIGludGVyZmFjZXMgbXVzdCBhdm9pZCBvciBtaXRp Z2F0ZTsgYW5kIG5vCnJlc3RyaWN0aW9ucy4KClRoaXMgaXMgd2hhdCB5b3VyIGN1cnJlbnQgcGF0 Y2ggZG9lczsgYW5kIGFzIEkndmUgc2FpZCwgSSBkb24ndCB0aGluawp0aGlzIGlzIHN1aXRhYmxl IGJlY2F1c2UgaXQgbGF5cyBhIHRyYXAgZm9yIGZ1dHVyZSBwZW9wbGUgdG8gZmFsbCBpbnRvCmlm IHRoZXkgZW5kIHVwIGVuYWJsaW5nIGJvdGguCgpCdXQgYWZ0ZXIgYSBkaXNjdXNzaW9uIHdpdGgg SWFuSiwgSSd2ZSBnb3QgYSBjb3VwbGUgb2YgdmFyaWF0aW9ucyBvZgp0aGlzIG9uZS4gIFRoZSB2 YXJpYXRpb25zIGFsbCBpbnZvbHZlIGRpZmZlcmVudCB3YXlzIG9mIG1ha2luZyBzdXJlIHRoYXQK dGhlICJmdWxsIGZ1bmN0aW9uYWxpdHkiIGlzIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGhlcmUgaXMg YSBjYWxsZXIgdGhhdAprbm93cyBhYm91dCB0aGUgcmlza3MgYW5kIHdpbGwgYWN0aXZlbHkgdHJ5 IHRvIGF2b2lkIHRoZW0uCgo0YS4gQWRkIGEgcGVyLWRvbWFpbiBmbGFnIHRvIGRlY2lkZSB3aGV0 aGVyIHRvIGFsbG93ICJ1bnNhZmUiIGFsdHAybSAvCm1lbV9zaGFyaW5nIGludGVyYWN0aW9ucy4g IElmIGl0J3MgY2xlYXIsIHRoZW4gb25seSAic2FmZSIgb3BlcmF0aW9ucwphcmUgYWxsb3dlZCAo aS5lLiwgaXQgd291bGQgc3RhcnQgd2l0aCAjMSwgYnV0IGlmIHNvbWVvbmUgd2FudGVkIHRoZXkK Y291bGQgaW1wbGVtZW50ICMyIG9yICMzKS4gIElmIGl0J3Mgc2V0LCB0aGVuIHRoaW5ncyBiZWhh dmUgYXMgaW4gIzQuCihXZSBwcm9iYWJseSBzaG91bGQgdHJ5IHRvIHByZXZlbnQgaHlwZXJ2aXNv ciBjcmFzaGVzIGR1ZSB0byB1bnNoYXJpbmcKZXZlbnRzLCBob3dldmVyLikKCjRiLiBJbiB0aGUg YWx0cDJtIGNvZGUsIGFzICM0OyBidXQgYWRkIGNvZGUgc29tZXdoZXJlIGVsc2UgdG8gcHJldmVu dAp0aGUgZW50aXJlIGZlYXR1cmVzIGZyb20gYmVpbmcgdHVybmVkIG9uIGluIGEgZG9tYWluIHVu bGVzcyB0aGUgInVuc2FmZSIKb3B0aW9uIGlzIHJlcXVlc3RlZC4gIFRoYXQgaXMsIGJ5IGRlZmF1 bHQgYSBndWVzdCB3aXRoIG1lbV9zaGFyaW5nCmVuYWJsZWQgd291bGQgbm90IGJlIGFibGUgdG8g dXNlIGFsdHAybSBhdCBhbGw7IGFuZCBhIGd1ZXN0IHdpdGggYWx0cDJtCmVuYWJsZWQgd291bGQg bm90IGJlIGFibGUgdG8gdXNlIG1lbV9zaGFyaW5nIGF0IGFsbC4gIE9ubHkgd2l0aCB0aGUKInVu c2FmZSIgZmxhZyBzZXQgd291bGQgYmUgYWxsb3dlZCB0byBoYXZlIGJvdGggYWx0cDJtIGFuZCBt ZW1fc2hhcmluZwplbmFibGVkIGF0IHRoZSBzYW1lIHRpbWUuCgpCb3RoIDRhIGFuZCA0YiBzZWVt IGxpa2UgdGhleSB3b3VsZCBiZSByZWxhdGl2ZWx5IHN0cmFpZ2h0Zm9yd2FyZCB0bwppbXBsZW1l bnQ7IGxpa2UgdGhleSB3b3VsZCBmaXQgeW91ciB1c2UgY2FzZSwgYnV0IGF2b2lkIGxheWluZyBh IHRyYXAKZm9yIHBlb3BsZSBpbiB0aGUgZnV0dXJlLgoKV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQg dGhvc2Ugb3B0aW9ucz8KCklmICMxIGlzIGFjY2VwdGFibGUgdG8geW91LCBJIGNvbnRpbnVlIHRv IHRoaW5rIHRoYXQncyBwcm9iYWJseSB0aGUKY29tYmluYXRpb24gb2YgbW9zdCByb2J1c3QgYW5k IHNpbXBsZXN0IHRvIGFjaGlldmUuICBJIHdvdWxkIHJlY29tbWVuZCAyCmFib3ZlIDRhIGFuZCA0 YiBpZiBmZWFzaWJsZTsgYW5kIGlmIG5vdCwgSSB3b3VsZCBwcm9iYWJseSBjaG9vc2UgNGEgb3Zl cgo0YiBiZWNhdXNlIGl0IGFsbG93cyBmb3IgaW5jcmVtZW50YWwgaW1wcm92ZW1lbnQuICBCdXQg YW55IG9mIHsxLCAyLCA0YSwKNGJ9IHdvdWxkIHdvcmsgZm9yIG1lLgoKIC1HZW9yZ2UKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=