From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Envelope-to: publicinbox@libre-riscv.org Delivery-date: Tue, 28 Jul 2020 21:23:52 +0100 Received: from localhost ([::1] helo=libre-riscv.org) by libre-soc.org with esmtp (Exim 4.92) (envelope-from ) id 1k0Vzz-0001Dm-AY; Tue, 28 Jul 2020 21:14:55 +0100 Received: from kernel.crashing.org ([76.164.61.194]) by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jyPTb-0001D8-3p for libre-riscv-dev@lists.libre-riscv.org; Thu, 23 Jul 2020 01:52:47 +0100 Received: from localhost (gate.crashing.org [63.228.1.57]) (authenticated bits=0) by kernel.crashing.org (8.14.7/8.14.7) with ESMTP id 06N0qahc029210 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 22 Jul 2020 19:52:42 -0500 Message-ID: From: Benjamin Herrenschmidt To: Luke Kenneth Casson Leighton , Libre-RISCV General Development Date: Thu, 23 Jul 2020 10:52:35 +1000 In-Reply-To: References: <20200722224713.GA213782@thinks.paulus.ozlabs.org> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 Mime-Version: 1.0 X-Mailman-Approved-At: Tue, 28 Jul 2020 21:14:53 +0100 Subject: Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] system call (sc) LEV "reserved field" X-BeenThere: libre-riscv-dev@lists.libre-riscv.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Libre-RISCV General Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Libre-RISCV General Development Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org Sender: "libre-riscv-dev" Archived-At: List-Archive: T24gVGh1LCAyMDIwLTA3LTIzIGF0IDAwOjQxICswMTAwLCBMdWtlIEtlbm5ldGggQ2Fzc29uIExl aWdodG9uIHdyb3RlOgo+IAo+IGJlY2F1c2UgaSBkaWQgbm90IGV4cGVjdCB0aGF0IGJlaGF2aW91 ciwgYmVjYXVzZSBkb2luZyBzbyAoaWdub3JpbmcKPiB0aGVtKSBtYWtlcyBpdCBpbXBvc3NpYmxl IHRvIHRyYXAgYW5kIGVtdWxhdGUuICAoaXQgYmVjb21lcyBuZWNlc3NhcnkKPiB0byB1c2UgSklU IGFuYWx5c2lzKQo+IAo+IHNvLCB3aGVuIHNvbWUgYml0IGlzIGFkZGVkIGluIHRoZSBmdXR1cmUs IGFuIG9sZGVyIHByb2Nlc3NvciAoYW5kIHRoZQo+IGRldmljZSBpdCBpcyBpbikgYmFzaWNhbGx5 IGhhcyB0byBiZSB0aHJvd24gaW50byBsYW5kZmlsbC4KCkRlcGVuZHMsIGl0IGdvZXMgYm90aCB3 YXlzLiBGb3IgZXhhbXBsZSwgdGhpcyBpcyB3aGF0IGFsbG93ZWQgdGhlCmFkZGl0aW9uIG9mIGx3 c3luYyB3aXRob3V0IHRocm93aW5nIG9sZGVyIHByb2Nlc3NvcnMgaW50byB0aGUgbGFuZGZpbGwK YmVjYXVzZSBpdCB3b3VsZCBhdXRvbWF0aWNhbGx5ICJlc2NhbGF0ZSIgdG8gYSBmdWxsIHN5bmMg b24gcHJvY2Vzc29ycwp0aGF0IGRpZG4ndCBpbXBsZW1lbnQgaXQgKG9yIHNob3VsZCBoYXZlLi4u IEZTTCBkaWQgc2NyZXcgdGhhdCB1cCBvbgpzb21lIGNvcmVzKS4KIAo+IGlmIGhvd2V2ZXIgcmVz ZXJ2ZWQgYml0cyBiZWluZyBzZXQgY2F1c2UgYW4gZXhjZXB0aW9uLCB0aGUgIm9sZCIKPiBwcm9j ZXNzb3Igc3RhbmRzIGEgY2hhbmNlIG9mIGVtdWxhdGluZyB0aGUgbmV3IGJlaGF2aW91ciAoaW4K PiBzb2Z0d2FyZSwgZXZlbiBpZiB0aGF0J3Mgc2xvdyksIGdpdmluZyBpdCBhIGNoYW5jZSBvZiBr ZWVwaW5nIG91dCBvZgo+IGxhbmRmaWxsIGZvciBzbGlnaHRseSBsb25nZXIuCgpXaGljaCBpcyB3 aHkgcG93ZXJwYyB0ZW5kcyBub3QgdG8gImFkZCBiaXRzIiB0byBpbnN0cnVjdGlvbnMgdW5sZXNz Cmlnbm9yaW5nIHRoZW0gaXMgYSBzYWZlIGZhbGxiYWNrLgoKPiBob3dldmVyIGl0IGlzIG5vdCBh cHByb3ByaWF0ZSBmb3IgYWxsIHN5c3RlbXMgdG8gcmFpc2UgZXhjZXB0aW9ucyBvbgo+IHJlc2Vy dmVkIGJpdHM6IHRoZSBjb3N0IG9mIGhhdmluZyB0aGUgZGV0ZWN0aW9uIGhhcmR3YXJlIChhIGZ1 bGwKPiBQT1dFUjkgZGVjb2RlciBhbmQgYWxzbyBpbGxlZ2FsL3Vuc3VwcG9ydGVkL3Jlc2VydmVk IFNQUiBkZXRlY3Rpb24pCj4gY2FuIGJlIHZlcnkgaGlnaCBlc3BlY2lhbGx5IGZvciByZXNvdXJj ZSBhbmQgcG93ZXIgY29uc3RyYWluZWQKPiBzaWxpY29uIG9yIEZQR0FzLgo+IAo+IChleGFtcGxl OiBpIGtub3cgc29tZW9uZSAtIHllYSwgeW91IFNhbSAtIHdobyBpbXBsZW1lbnRlZCBSVjY0IHRv Cj4gY29tcGx5IHdpdGggdGhlIFVOSVggUklTQ1Ygc3BlYyByYXRoZXIgdGhhbiB0aGUgRW1iZWRk ZWQgUklTQ1Ygc3BlYzoKPiB0aGUgIkNTUiBkZXRlY3Rpb24iIGp1c3QgdG8gc3VwcG9ydCBhbGwg dGhlIHplcm9zIGFuZCBpbGxlZ2FsIENTUnMKPiB0b29rIGEgd2hvcHBpbmcgMTUlIG9mIGFuIElD RTQwIEZQR0EhKQo+IAo+IGluIFJJU0MtViB0aGV5IGdldCB0aGlzIHJpZ2h0LCBieSBoYXZpbmcg dHdvIHNlcGFyYXRlIFBsYXRmb3JtczoKPiAKPiAqIEVtYmVkZGVkIHdoaWNoIGlzIHBlcm1pdHRl ZCB0byBpZ25vcmUgcmVzZXJ2ZWQgYml0cyBlbnRpcmVseQo+IAo+ICogVU5JWCwgd2hpY2ggZGVm aW5pdGVseSBpcyBub3QuCj4gCj4gZm9yIEVtYmVkZGVkLCB0aGUgdmVuZG9yIGN1c3RvbWlzZXMg dGhlIGZpcm13YXJlIGVudGlyZWx5LCBhbmQgYmluYXJ5Cj4gaW50ZXJvcGVyYWJpbGl0eSBhcyB3 ZWxsIGFzIGxlZ2FjeSBzb2Z0d2FyZSBzdXBwb3J0IGlzIGNvbXBsZXRlbHkKPiB1bmltcG9ydGFu dC4KPiAKPiBmb3IgVU5JWGVuLCBpbnRlcm9wZXJhYmlsaXR5IGFuZCBsb25ndGVybSBzdGFiaWxp dHkgd2Uga25vdyB2ZXJ5IHdlbGwKPiBpcyBjcml0aWNhbC4KPiAKPiBib3R0b20gbGluZSBpZiBp dCBpcyBjb3JyZWN0IHRoYXQgb24gdGhlIFBvd2VySVNBIFVOSVggUGxhdGZvcm0KPiByZXNlcnZl ZCBiaXRzIGNhbiBiZSBpZ25vcmVkIHRoYXQgaXMgY2F1c2UgZm9yIHNvbWUgY29uY2Vybiwgd2hl cmUKPiBmb3IgRW1iZWRkZWQgaXQgd291bGQgYmUgdGhlIG90aGVyIHdheSByb3VuZDogY2F1c2Ug Zm9yIGNvbmNlcm4gaWYKPiB0aGUgcmVzZXJ2ZWQgYml0cyBjb3VsZCAqbm90KiBiZSBpZ25vcmVk LgoKRG8geW91IGhhdmUgbW9yZSBzcGVjaWZpYyBjb25jZXJucyBoZXJlID8gSUUuIEFjdHVhbCBl eGFtcGxlcyB3aGVyZQp0aGlzIGhhcyBiZWVuIGNhdXNlIG9mIGJyZWFrYWdlIGluIHRoZSBwYXN0 ID8KCj4gPiA+IGhvd2V2ZXIgdGhpcyBpcyBzbyB1bmNsZWFyIChiZWNhdXNlIG9mIHRoZSByZWZl cnJhbCBmcm9tIG9uZQo+ID4gc2VjdGlvbgo+ID4gPiB0byBhbm90aGVyKSB0aGF0IGkgYW0gc2Vl a2luZyBjb25maXJtYXRpb24uICBzaG91bGQgd2UgcmFpc2UgYW4KPiA+ID4gImlsbGVnYWwgaW5z dHJ1Y3Rpb24iIHdoZW4gIkxFViA+IDEiIG9uIHNjPwo+ID4gCj4gPiBTZWN0aW9uIDEuOC4yIChC b29rIEkpIHNheXMgImFueSBhdHRlbXB0IHRvIGV4ZWN1dGUgYW4gaW52YWxpZCBmb3JtCj4gPiBv Zgo+ID4gYW4gaW5zdHJ1Y3Rpb24gd2lsbCBlaXRoZXIgY2F1c2UgdGhlIHN5c3RlbSBpbGxlZ2Fs IGluc3RydWN0aW9uCj4gPiBoYW5kbGVyIHRvIGJlIGludm9rZWQgb3IgeWllbGQgYm91bmRlZGx5 IHVuZGVmaW5lZCByZXN1bHRzIi4gCj4gPiBQdXR0aW5nCj4gPiBMRVY9MSBpbiBzYyB3b3VsZCBi ZSBhbiBleGFtcGxlIG9mIGFuIGludmFsaWQgZm9ybSAob24gYW4KPiA+IGltcGxlbWVudGF0aW9u IHdpdGhvdXQgaHlwZXJ2aXNvciBtb2RlKS4KPiAKPiBvayB0aGF0IGhlbHBzIGNsYXJpZnkgd2hh dCB0aGF0IG1lYW5zLCB0aGFuayB5b3UuCj4gIAo+ID4gICBBIGJvdW5kZWRseSB1bmRlZmluZWQg cmVzdWx0Cj4gPiBpcyBvbmUgd2hpY2ggY291bGQgYmUgb2J0YWluZWQgYnkgYSBzZXF1ZW5jZSBv ZiB2YWxpZCBpbnN0cnVjdGlvbnMsCj4gPiBzbyBpbiB0aGUgY2FzZSBvZiBzYyAxLCBtYWtpbmcg aXQgZG8gd2hhdCBzYyAwIGRvZXMgbWVldHMgdGhlCj4gPiBib3VuZGVkbHkgdW5kZWZpbmVkIHJl c3VsdHMgcmVxdWlyZW1lbnQuCj4gCj4gb2sgc28gdGhhdC4uLiBpZiBpIGFtIHVuZGVyc3RhbmRp bmcgY29ycmVjdGx5LCBtZWFucywgInlvdSBjYW4gaW4KPiBmYWN0IGRvIHNvbWV0aGluZyBkaWZm ZXJlbnQgYW5kIE9TIHNvZnR3YXJlIGhhcyB0byBkZXRlY3QgaXQgYW5kIHNvcnQKPiBpdCBvdXQg dG8geWllbGQgZXhwZWN0ZWQgYmVoYXZpb3VyIgo+ICAKPiB3aGljaCwgaWYgaSBhbSBiZWluZyBo b25lc3QsIG1ha2VzIG1lIG5lcnZvdXMgOikKPiAKPiA+ID4gc2Vjb25kbHksIHdlIG5vdGUgdGhh dCAiTEVWPTEiIGlzIGZvciBpbnZvY2F0aW9uIG9mIHRoZQo+ID4gaHlwZXJ2aXNvci4KPiA+ID4g d2hhdCdzIG5vdCBjbGVhciB0byB1cyBpcyAtIGdpdmVuIHRoYXQgd2UgYXJlIG5vdCBpbXBsZW1l bnRpbmcKPiA+ID4gaHlwZXJ2aXNvciAtIHNob3VsZCB0aGlzIGJlICphbHNvKiB0cmVhdGVkIGFz IGFuIGlsbGVnYWwKPiA+IGluc3RydWN0aW9uPwo+ID4gPiBvciwgc2hvdWxkIHdlIGp1c3QgbGVh dmUgaXQgdG8gZmFsbCB0aHJvdWdoIHRvIHRyYXAgQCBhZGRyCj4gPiAweDBjMDAsIGFuZAo+ID4g PiBleHBlY3QgdGhlIHRyYXAgKnRoZXJlKiB0byBub3RpY2UgYW5kIGRlYWwgd2l0aCB0aGUgc2l0 dWF0aW9uPwo+ID4gCj4gPiBUaGF0IGlzIHdoYXQgSSB3b3VsZCBkby4KPiAKPiBvay4gIHdlIGNh biBkbyB0aGF0Lgo+ICAKPiA+IFRoZXJlIGlzIG9uZSBvZiB0aGUgdmFyaWFudHMgb2YgS1ZNIG9u IFBQQywgY2FsbGVkIEtWTS1QUiwgd2hpY2gKPiA+IHJ1bnMKPiA+IHRoZSBndWVzdCBlbnRpcmVs eSBpbiB1c2VyIG1vZGUgYW5kIHRyYXBzIGFuZCBlbXVsYXRlcyBhbGwKPiA+IHByaXZpbGVnZWQK PiA+IGluc3RydWN0aW9ucyAodGh1cyBpdCBkb2Vzbid0IG5lZWQgaHlwZXJ2aXNvciBtb2RlIGFu ZCBjYW4gcnVuCj4gPiBpbnNpZGUKPiA+IGEgZ3Vlc3Qgb2YgYW5vdGhlciBoeXBlcnZpc29yKS4g IElmIHlvdSBhcmUgcnVubmluZyBhIEtWTSBndWVzdAo+ID4gaW5zaWRlCj4gPiB0aGF0IGVudmly b25tZW50IGFuZCB0aGUgZ3Vlc3QgZG9lcyBzYyAxLCBLVk0tUFIgZXhwZWN0cyB0aGF0IHRvCj4g PiBlbmQKPiA+IHVwIGF0IHRoZSBrZXJuZWwncyAweGMwMCBoYW5kbGVyLiAgU28gdGhhdCBpcyBv bmUgcmVhc29uIHRvIHRyZWF0Cj4gPiBzYyAxCj4gPiBhcyBzYyAwLgo+IAo+IGFoaC4gIGkgZGlk IHdvbmRlciA6KQo+ICAKPiA+ID4gYWxzbzogaWYgd2Ugc2V0IHRoZSBIViBiaXQgaW4gTVNSICh3 aGVuIExFVj0xKSBzZWN0aW9uIDYuNS4xNAo+ID4gcDEwNzcKPiA+ID4gd2hpY2ggcmVmZXJzIHVz IGJhY2sgdG8gZmlndXJlIDY1IG9uIHAxMDY0LCB3aWxsIHRoaXMgImJyZWFrIgo+ID4gdGhpbmdz Pwo+ID4gCj4gPiBQcm9iYWJseSBub3QuICBMaW51eCBkb2VzIGNoZWNrIHdoZXRoZXIgSFY9MSBh dCBib290IHRpbWUsIGJ1dCBJJ20KPiA+IHByZXR0eSBzdXJlIHRoYXQncyBvbmx5IG9uIGNlcnRh aW4gcHJvY2Vzc29ycyB3aGljaCBpdCBrbm93cyB0byBiZQo+ID4gSFYtY2FwYWJsZSAoZWl0aGVy IGJ5IGxvb2tpbmcgYXQgUFZSIG9yIHRoZSBkZXZpY2UgdHJlZSkuCj4gCj4gb2suICB0aGFuayB5 b3UuCj4gIAo+ID4gPiBhbHNvOiBpbiBtaWNyb3dhdHQsIGknbSBub3Qgc2VlaW5nIHRoZSByZW1h aW5pbmcgYml0cyB3aGljaAo+ID4gYXBwZWFyIFt0bwo+ID4gPiBuZWVkIHRvXSBiZSBzZXQuCj4g PiA+IAo+ID4gPiAKPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnRvbmJsYW5jaGFyZC9taWNyb3dh dHQvYmxvYi9tYXN0ZXIvZXhlY3V0ZTEudmhkbCNMNDc5Cj4gPiA+ICAgICAgICAgICAgIGN0cmxf dG1wLm1zcihNU1JfU0YpIDw9ICcxJzsKPiA+ID4gICAgICAgICAgICAgY3RybF90bXAubXNyKE1T Ul9FRSkgPD0gJzAnOwo+ID4gPiAgICAgICAgICAgICBjdHJsX3RtcC5tc3IoTVNSX1BSKSA8PSAn MCc7Cj4gPiA+ICAgICAgICAgICAgIGN0cmxfdG1wLm1zcihNU1JfSVIpIDw9ICcwJzsKPiA+ID4g ICAgICAgICAgICAgY3RybF90bXAubXNyKE1TUl9EUikgPD0gJzAnOwo+ID4gPiAgICAgICAgICAg ICBjdHJsX3RtcC5tc3IoTVNSX1JJKSA8PSAnMCc7Cj4gPiA+ICAgICAgICAgICAgIGN0cmxfdG1w Lm1zcihNU1JfTEUpIDw9ICcxJzsKPiA+ID4gCj4gPiA+IHRoZXNlIGFwcGVhciB0byBiZSBjb3Jy ZWN0IGFzIGRlZmluZWQgYWNjb3JkaW5nIHRvIGZpZ3VyZSA2NQo+ID4gKHAxMDYzKQo+ID4gPiAK PiA+ID4gaG93ZXZlciB0aGUgcmVtYWluaW5nIGFjdGlvbnMgZG8gbm90IHNlZW0gdG8gYmUgaW1w bGVtZW50ZWQKPiA+IChwMTA2NCk6Cj4gPiA+IAo+ID4gPiAgICAgIEJpdHMgYml0IDUsIFRNLCBW RUMsIFZTWCwgUFIsIEZQLCBhbmQgUE1NIGFyZSBzZXQgdG8gMC4KPiA+ID4gICAgICBUaGUgVEUg ZmllbGQgaXMgc2V0IHRvIDBiMDAuCj4gPiA+ICAgICAgVE0sIEZQLCBWRUMsIFZTWCwgYW5kIGJp dCA1IGFyZSBzZXQgdG8gMC4KPiA+IAo+ID4gUmlnaHQuICBXZSBoYXZlIGEgdG8tZG8gbGlzdCBm b3IgYXJjaGl0ZWN0dXJlIGNvbXBsaWFuY2UuICAoV2UKPiA+IGhhdmVuJ3QKPiA+IGltcGxlbWVu dGVkIDMyLWJpdCBtb2RlIG9yIEJFIG1vZGUsIGZvciBpbnN0YW5jZS4pCj4gCj4geWVhaGggYWx0 aG91Z2ggd2UgaGF2ZSAzMiBiaXQgb3AgbW9kZXMgKHVzaW5nIG1pY3Jvd2F0dCAKPiBkZWNvZGUx LnZoZGwsIHR1cm5lZCBpbnRvIENTVikgd2UgaGF2ZSB5ZXQgdG8gc3VwcG9ydCB0aGUgTVNSIDMy Yml0Cj4gZ2xvYmFsIG1vZGUuCj4gCj4gTEUvQkUgYW1hemluZ2x5IHNlZW1zIHRvIHdvcmsgb24g TGlicmVTT0MsIGl0IHdhcyBxdWl0ZSBmdW5ueSBoYXZpbmcKPiB0aGUgdHJhcCBqdW1wIGludG8g MHg3MDAgd2hlbiB0ZXN0aW5nIGFnYWluc3QgcWVtdSAocnVubmluZwo+IHNpbmdsZXN0ZXAgdW5k ZXIgZ2RiKSwgb25seSB0byBmaW5kIHRoYXQgcWVtdSB0cmFwcyBjaGFuZ2UgdGhlIExFIGJpdAo+ IGFuZCBvZiBjb3Vyc2UgaW4gcWVtdSBvbmNlIHRoYXQncyBjaGFuZ2VkIGdkYiBjYW4ndCByZWFk IHJlZ2lzdGVycwo+IGNvcnJlY3RseS4gc2lnaC4KCkl0IGNhbiBpZiB5b3UgbWFudWFsbHkgY2hh bmdlIGVuZGlhbiBpbiBnZGIgbm8gPwoKPiA+ID4gcXVlc3Rpb246IHdoYXQgZWZmZWN0IHdvdWxk IGl0IGhhdmUgLSBiZWFyIGluIG1pbmQgdGhhdCB3ZSBhcmUKPiA+ID4gZm9sbG93aW5nIG1pY3Jv d2F0dCAtIGlmIHdlIGltcGxlbWVudGVkIHRoZXNlIGNoYW5nZXMgdG8gTVNSPyAKPiA+IGJlYXIg aW4KPiA+ID4gbWluZCB0aGF0IHdlIGlnbm9yZSBtb3N0IG9mIHRoZW0gYXQgdGhlIG1vbWVudCAo TVNSLkxFIGJlaW5nIG9uZQo+ID4gPiBub3RhYmxlIGV4Y2VwdGlvbiksIHNvIHRoZSBxdWVzdGlv biBpcywgaW4gZWZmZWN0OiBkb2VzIHRoZSBMaW51eAo+ID4gPiBrZXJuZWwgKmFsc28qIGlnbm9y ZSB0aGVtPwo+ID4gCj4gPiBUaGUgTGludXgga2VybmVsIGNsZWFybHkgbmVlZHMgUFIgdG8gYmUg c2V0IHRvIHplcm8gYW5kIGl0IGFsc28KPiA+IGV4cGVjdHMgRlAsIFZFQywgVlNYLCBUTSB0byBi ZSBjbGVhcmVkLiAgU2V0dGluZyBURSB0byAwIGlzCj4gPiBuZWNlc3NhcnkKPiA+IG9uY2UgeW91 IGltcGxlbWVudCB0aGUgdHJhY2UgaW50ZXJydXB0LCBvdGhlcndpc2UgeW91IGNvdWxkIGdldCBh Cj4gPiB0cmFjZSBpbnRlcnJ1cHQgaW5zaWRlIHlvdXIgZmlyc3QtbGV2ZWwgaW50ZXJydXB0IGhh bmRsZXJzLCB3aGljaAo+ID4gd291bGQgYmUgYmFkLgo+IAo+IGFoIDopCj4gIAo+ID4gIFNpbWls YXJseSBpZiB5b3UgaGF2ZSBmbG9hdGluZy1wb2ludCBhbmQgeW91IGRvbid0IHNldAo+ID4gRkUw IGFuZCBGRTEgdG8gMCBvbiBhbiBpbnRlcnJ1cHQsIHRoZXJlIGlzIHRoZSBjaGFuY2Ugb2YgdGFr aW5nIGEKPiA+IGZsb2F0aW5nLXBvaW50IHByb2dyYW0gaW50ZXJydXB0IGluc2lkZSBhIGZpcnN0 LWxldmVsIGhhbmRsZXIuCj4gCj4gd2hvb3BzLiAgb2sgYXBwcmVjaWF0ZSB0aGUgd2FybmluZy4K PiAgCj4gPiBJJ20gbm90IHN1cmUgdGhhdCBhbGwgdGhpcyBjb3VudHMgYXMgdGhlIExpbnV4IGtl cm5lbCAiaWdub3JpbmciCj4gPiB0aGUKPiA+IGJpdHMsIGJ1dCBpbiBnZW5lcmFsIGlmIHlvdSBk byB3aGF0IHRoZSBhcmNoaXRlY3R1cmUgc2F5cywgdGhlCj4gPiBrZXJuZWwKPiA+IHdpbGwgYmUg aGFwcGllciB0aGFuIGlmIHlvdSBkb24ndC4KPiAKPiBoYSwgdGhhdCBtYWtlcyBzZW5zZS4KPiAK PiBpIGdlbmVyYWxseSBmb3VuZCB0aGlzIG91dCB3aGVuIG5ldHdvcmsgcmV2ZXJzZS1lbmdpbmVl cmluZywgZGVzcGl0ZQo+IG5vdCB1bmRlcnN0YW5kaW5nIGF0IGFsbCB3aGF0IGkgd2FzIHNlbmRp bmcgdG8gdGhlIGNsaWVudCBvciBzZXJ2ZXIKPiA6KQo+IAo+IHRoYW5rIHlvdSBQYXVsCj4gCj4g bC4KPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IE9wZW5QT1dFUi1IREwtQ29yZXMgbWFpbGluZyBsaXN0Cj4gT3BlblBPV0VSLUhETC1D b3Jlc0BtYWlsaW5nbGlzdC5vcGVucG93ZXJmb3VuZGF0aW9uLm9yZwo+IApodHRwOi8vbGlzdHMu bWFpbGluZ2xpc3Qub3BlbnBvd2VyZm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9vcGVu cG93ZXItaGRsLWNvcmVzCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGlicmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlz dHMubGlicmUtcmlzY3Yub3JnCmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9s aXN0aW5mby9saWJyZS1yaXNjdi1kZXYK