From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZzML9-0001f8-OL for qemu-devel@nongnu.org; Thu, 19 Nov 2015 05:21:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZzML4-00076x-Pv for qemu-devel@nongnu.org; Thu, 19 Nov 2015 05:21:19 -0500 Message-ID: <1447928465.3042.7.camel@kernel.crashing.org> From: Benjamin Herrenschmidt Date: Thu, 19 Nov 2015 21:21:05 +1100 In-Reply-To: <20151119061140.GB10667@voom.redhat.com> References: <1447201710-10229-1-git-send-email-benh@kernel.crashing.org> <1447201710-10229-8-git-send-email-benh@kernel.crashing.org> <20151119061140.GB10667@voom.redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH 07/77] ppc: Add a bunch of hypervisor SPRs to Book3s List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org T24gVGh1LCAyMDE1LTExLTE5IGF0IDE3OjExICsxMTAwLCBEYXZpZCBHaWJzb24gd3JvdGU6 DQo+IE9uIFdlZCwgTm92IDExLCAyMDE1IGF0IDExOjI3OjIwQU0gKzExMDAsIEJlbmphbWlu IEhlcnJlbnNjaG1pZHQNCj4gd3JvdGU6DQo+ID4gV2UgZG9uJ3QgZ2l2ZSB0aGVtIGEgS1ZN IHJlZyBudW1iZXIgeWV0IGFzIG5vIGN1cnJlbnQgS1ZNIHZlcnNpb24NCj4gPiBzdXBwb3J0 cyBIViBtb2RlLg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEhlcnJlbnNj aG1pZHQgPGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZz4NCj4gDQo+IExvb2tzIHNhbmUsIHRo b3VnaCBJIGhhdmVuJ3QgZXhwbGljaXRseSBjaGVja2VkIGVhY2ggb2YgdGhlDQo+IGltcGxl bWVudGF0aW9ucyBhZ2FpbnN0IHRoZSBhcmNoaXRlY3R1cmUuDQoNCkFsbW9zdCBhbGwgb2Yg dGhvc2UgYXJlIGp1c3QgInBsYWNlaG9sZGVycyIuIElFLCB3ZSBqdXN0IHJlYWQgYW5kIHdy aXRlDQp3aGF0ZXZlciBpcyBwYXNzZWQgaW50byB0aGUgU1BSIGFycmF5LiBXaGF0IG1pZ2h0 IGJlIGludGVyZXN0aW5nIGlzIHRvDQp3aGF0IGV4dGVuZCB3ZSBhY3R1YWxseSB1c2UgdGhl IHZhbHVlcyBsYXRlciBvbiwgd2hpY2ggaGFwcGVucyBieSBiaXRzDQphbmQgcGllY2VzIGlu IHNlcGFyYXRlIHBhdGNoZXMsIG9yIGluIG1hbnkgY2FzZXMsIG5vdCBhdCBhbGwuDQoNCkkg dGhpbmsgaXQgbWlnaHQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBTUFIgYXJyYXkgYSBiaXRt YXNrIG9mIHRoZQ0KaW1wbGVtZW50ZWQgYml0cyB0aG91Z2gsIHNvIHRoYXQgd2UgZm9yY2Ug dGhlIHVuaW1wbGVtZW50ZWQgb25lcyB0byAwDQpyYXRoZXIgdGhhbiBzdG9yaW5nIHRoZW0s IGFuZCBwb3NzaWJseSB3YXJuIG9uIGF0dGVtcHRzIHRvIHdyaXRlIDEgdG8NCmFuIHVuaW1w bGVtZW50ZWQgb25lLg0KDQpTb21ldGhpbmcgdG8gcHV0IG9uIHRoZSBUT0RPIGxpc3QuLi4N Cg0KQ2hlZXJzLA0KQmVuLg0KDQoNCj4gPiAtLS0NCj4gPiDCoHRhcmdldC1wcGMvdHJhbnNs YXRlX2luaXQuYyB8IDE0MA0KPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystDQo+ID4gwqAxIGZpbGUgY2hhbmdlZCwgMTM3IGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL3RhcmdldC1wcGMvdHJh bnNsYXRlX2luaXQuYyBiL3RhcmdldC0NCj4gPiBwcGMvdHJhbnNsYXRlX2luaXQuYw0KPiA+ IGluZGV4IDMwYTAzY2UuLmM3NDNlYjEgMTAwNjQ0DQo+ID4gLS0tIGEvdGFyZ2V0LXBwYy90 cmFuc2xhdGVfaW5pdC5jDQo+ID4gKysrIGIvdGFyZ2V0LXBwYy90cmFuc2xhdGVfaW5pdC5j DQo+ID4gQEAgLTExMDQsNiArMTEwNCwxMSBAQCBzdGF0aWMgdm9pZCBnZW5fc3ByX2FtciAo Q1BVUFBDU3RhdGUgKmVudikNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05PQUNDRVNTLA0KPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJnNwcl9yZWFkX2dlbmVyaWMs ICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoEtWTV9SRUdfUFBDX1VBTU9SLCAwKTsNCj4gPiArwqDCoMKgwqBz cHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfQU1PUiwgIkFNT1IiLA0KPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBTUFJfTk9BQ0NF U1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJf Tk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCZzcHJfcmVhZF9nZW5lcmljLCAmc3ByX3dyaXRlX2dlbmVyaWMs DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAwKTsNCj4g PiDCoCNlbmRpZiAvKiAhQ09ORklHX1VTRVJfT05MWSAqLw0KPiA+IMKgfQ0KPiA+IMKgI2Vu ZGlmIC8qIFRBUkdFVF9QUEM2NCAqLw0KPiA+IEBAIC03NDkwLDYgKzc0OTUsMjAgQEAgc3Rh dGljIHZvaWQgZ2VuX3Nwcl9ib29rM3NfZGJnKENQVVBQQ1N0YXRlDQo+ID4gKmVudikNCj4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoEtWTV9SRUdf UFBDX0RBQlJYLCAweDAwMDAwMDAwKTsNCj4gPiDCoH0NCj4gPiDCoA0KPiA+ICtzdGF0aWMg dm9pZCBnZW5fc3ByX2Jvb2szc18yMDdfZGJnKENQVVBQQ1N0YXRlICplbnYpDQo+ID4gK3sN Cj4gPiArwqDCoMKgwqBzcHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfREFXUiwgIkRBV1IiLA0K PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUND RVNTLCBTUFJfTk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCZzcHJfcmVhZF9nZW5lcmljLCAmc3By X3dyaXRlX2dlbmVyaWMsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAweDAwMDAwMDAwKTsNCj4gPiArwqDCoMKgwqBzcHJfcmVnaXN0ZXJfaHYoZW52 LCBTUFJfREFXUlgsICJEQVdSWCIsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05P QUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg JnNwcl9yZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICt9DQo+ ID4gKw0KPiA+IMKgc3RhdGljIHZvaWQgZ2VuX3Nwcl85NzBfZGJnKENQVVBQQ1N0YXRlICpl bnYpDQo+ID4gwqB7DQo+ID4gwqDCoMKgwqDCoC8qIEJyZWFrcG9pbnRzICovDQo+ID4gQEAg LTc2NTQsMTUgKzc2NzMsMTE2IEBAIHN0YXRpYyB2b2lkDQo+ID4gZ2VuX3Nwcl9wb3dlcjVw X2xwYXIoQ1BVUFBDU3RhdGUgKmVudikNCj4gPiDCoMKgwqDCoMKgc3ByX3JlZ2lzdGVyX2t2 bShlbnYsIFNQUl9MUENSLCAiTFBDUiIsDQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCZzcHJfcmVhZF9n ZW5lcmljLCAmc3ByX3dyaXRlX2dlbmVyaWMsDQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoEtWTV9SRUdfUFBDX0xQQ1IsIDB4MDAwMDAwMDApOw0K PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBLVk1fUkVH X1BQQ19MUENSLCBMUENSX0xQRVMwIHwgTFBDUl9MUEVTMSk7DQo+ID4gwqB9DQo+ID4gwqAN Cj4gPiArI2lmICFkZWZpbmVkKENPTkZJR19VU0VSX09OTFkpDQo+ID4gK3N0YXRpYyB2b2lk IHNwcl93cml0ZV9obWVyKERpc2FzQ29udGV4dCAqY3R4LCBpbnQgc3BybiwgaW50IGdwcm4p DQo+ID4gK3sNCj4gPiArwqDCoMKgwqBUQ0d2IGhtZXIgPSB0Y2dfdGVtcF9uZXcoKTsNCj4g PiArDQo+ID4gK8KgwqDCoMKgZ2VuX2xvYWRfc3ByKGhtZXIsIHNwcm4pOw0KPiA+ICvCoMKg wqDCoHRjZ19nZW5fYW5kX3RsKGhtZXIsIGNwdV9ncHJbZ3Bybl0sIGhtZXIpOw0KPiA+ICvC oMKgwqDCoGdlbl9zdG9yZV9zcHIoc3BybiwgaG1lcik7DQo+ID4gK8KgwqDCoMKgc3ByX3N0 b3JlX2R1bXBfc3ByKHNwcm4pOw0KPiA+ICvCoMKgwqDCoHRjZ190ZW1wX2ZyZWUoaG1lcik7 DQo+ID4gK30NCj4gPiArI2VuZGlmDQo+ID4gKw0KPiA+IMKgc3RhdGljIHZvaWQgZ2VuX3Nw cl9ib29rM3NfaWRzKENQVVBQQ1N0YXRlICplbnYpDQo+ID4gwqB7DQo+ID4gK8KgwqDCoMKg LyogRklYTUU6IFdpbGwgbmVlZCB0byBkZWFsIHdpdGggdGhyZWFkIHZzIGNvcmUgb25seSBT UFJzICovDQo+ID4gKw0KPiA+IMKgwqDCoMKgwqAvKiBQcm9jZXNzb3IgaWRlbnRpZmljYXRp b24gKi8NCj4gPiAtwqDCoMKgwqBzcHJfcmVnaXN0ZXIoZW52LCBTUFJfUElSLCAiUElSIiwN Cj4gPiArwqDCoMKgwqBzcHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfUElSLCAiUElSIiwNCj4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQ Ul9OT0FDQ0VTUywNCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCZz cHJfcmVhZF9nZW5lcmljLCAmc3ByX3dyaXRlX3BpciwNCj4gPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05PQUNDRVNTLA0KPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJnNwcl9yZWFkX2dlbmVyaWMsIE5V TEwsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDAwMDAwMDAw KTsNCj4gPiArwqDCoMKgwqBzcHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfSElEMCwgIkhJRDAi LA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNT LCBTUFJfTk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCZzcHJfcmVhZF9nZW5lcmljLCAmc3ByX3dyaXRlX2dlbmVyaWMs DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDAwMDAwMDAwKTsN Cj4gPiArwqDCoMKgwqBzcHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfVFNDUiwgIlRTQ1IiLA0K PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBT UFJfTk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBT UFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCZzcHJfcmVhZF9nZW5lcmljLCAmc3ByX3dyaXRlX2dlbmVyaWMsDQo+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDAwMDAwMDAwKTsNCj4g PiArwqDCoMKgwqBzcHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfSE1FUiwgIkhNRVIiLA0KPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBTUFJf Tk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJf Tk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCZzcHJfcmVhZF9nZW5lcmljLCAmc3ByX3dyaXRlX2htZXIsDQo+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDAwMDAwMDAwKTsNCj4gPiArwqDC oMKgwqBzcHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfSE1FRVIsICJITUVFUiIsDQo+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FD Q0VTUywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FD Q0VTUywgU1BSX05PQUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgJnNwcl9yZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICvCoMKg wqDCoHNwcl9yZWdpc3Rlcl9odihlbnYsIFNQUl9URk1SLCAiVEZNUiIsDQo+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VT UywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VT UywgU1BSX05PQUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgJnNwcl9yZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICvCoMKgwqDC oHNwcl9yZWdpc3Rlcl9odihlbnYsIFNQUl9MUElEUiwgIkxQSURSIiwNCj4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05PQUNDRVNT LA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNT LCBTUFJfTk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAmc3ByX3JlYWRfZ2VuZXJpYywgJnNwcl93cml0ZV9nZW5lcmljLA0KPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgwMDAwMDAwMCk7DQo+ID4gK8KgwqDCoMKg c3ByX3JlZ2lzdGVyX2h2KGVudiwgU1BSX0hGU0NSLCAiSEZTQ1IiLA0KPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBTUFJfTk9BQ0NFU1Ms DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1Ms IFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCZzcHJfcmVhZF9nZW5lcmljLCAmc3ByX3dyaXRlX2dlbmVyaWMsDQo+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDAwMDAwMDAwKTsNCj4gPiArwqDCoMKgwqBz cHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfTU1DUkMsICJNTUNSQyIsDQo+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywN Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywg U1BSX05PQUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg JnNwcl9yZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICvCoMKgwqDCoHNw cl9yZWdpc3Rlcl9odihlbnYsIFNQUl9NTUNSSCwgIk1NQ1JIIiwNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05PQUNDRVNTLA0K PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBT UFJfTk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAm c3ByX3JlYWRfZ2VuZXJpYywgJnNwcl93cml0ZV9nZW5lcmljLA0KPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgwMDAwMDAwMCk7DQo+ID4gK8KgwqDCoMKgc3By X3JlZ2lzdGVyX2h2KGVudiwgU1BSX0hTUFJHMCwgIkhTUFJHMCIsDQo+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywN Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywg U1BSX05PQUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg JnNwcl9yZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICvCoMKgwqDCoHNw cl9yZWdpc3Rlcl9odihlbnYsIFNQUl9IU1BSRzEsICJIU1BSRzEiLA0KPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBTUFJfTk9BQ0NFU1Ms DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1Ms IFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCZzcHJfcmVhZF9nZW5lcmljLCAmc3ByX3dyaXRlX2dlbmVyaWMsDQo+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAweDAwMDAwMDAwKTsNCj4gPiArwqDCoMKgwqBz cHJfcmVnaXN0ZXJfaHYoZW52LCBTUFJfSFNSUjAsICJIU1JSMCIsDQo+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywN Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywg U1BSX05PQUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg JnNwcl9yZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICvCoMKgwqDCoHNw cl9yZWdpc3Rlcl9odihlbnYsIFNQUl9IU1JSMSwgIkhTUlIxIiwNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05PQUNDRVNTLA0K PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBT UFJfTk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAm c3ByX3JlYWRfZ2VuZXJpYywgJnNwcl93cml0ZV9nZW5lcmljLA0KPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgwMDAwMDAwMCk7DQo+ID4gK8KgwqDCoMKgc3By X3JlZ2lzdGVyX2h2KGVudiwgU1BSX0hEQVIsICJIREFSIiwNCj4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05PQUNDRVNTLA0KPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBTUFJf Tk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAmc3By X3JlYWRfZ2VuZXJpYywgJnNwcl93cml0ZV9nZW5lcmljLA0KPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgwMDAwMDAwMCk7DQo+ID4gK8KgwqDCoMKgc3ByX3Jl Z2lzdGVyX2h2KGVudiwgU1BSX0hEU0lTUiwgIkhEU0lTUiIsDQo+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BS X05PQUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJnNw cl9yZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICvCoMKgwqDCoHNwcl9y ZWdpc3Rlcl9odihlbnYsIFNQUl9STU9SLCAiUk1PUiIsDQo+ID4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05P QUNDRVNTLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJnNwcl9y ZWFkX2dlbmVyaWMsICZzcHJfd3JpdGVfZ2VuZXJpYywNCj4gPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+ICvCoMKgwqDCoHNwcl9yZWdp c3Rlcl9odihlbnYsIFNQUl9IUk1PUiwgIkhSTU9SIiwNCj4gPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoFNQUl9OT0FDQ0VTUywgU1BSX05PQUNDRVNTLA0KPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUNDRVNTLCBTUFJfTk9B Q0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAmc3ByX3Jl YWRfZ2VuZXJpYywgJnNwcl93cml0ZV9nZW5lcmljLA0KPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoDB4MDAwMDAwMDApOw0KPiA+IMKgfQ0KPiA+IMKgDQo+ID4g QEAgLTc4NjgsNiArNzk4OCwxNyBAQCBzdGF0aWMgdm9pZCBnZW5fc3ByX3Bvd2VyOF9mc2Ny KENQVVBQQ1N0YXRlDQo+ID4gKmVudikNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoEtWTV9SRUdfUFBDX0ZTQ1IsIGluaXR2YWwpOw0KPiA+IMKg fQ0KPiA+IMKgDQo+ID4gK3N0YXRpYyB2b2lkIGdlbl9zcHJfcG93ZXI4X3JwcihDUFVQUENT dGF0ZSAqZW52KQ0KPiA+ICt7DQo+ID4gKyNpZiAhZGVmaW5lZChDT05GSUdfVVNFUl9PTkxZ KQ0KPiA+ICvCoMKgwqDCoHNwcl9yZWdpc3Rlcl9odihlbnYsIFNQUl9SUFIsICJSUFIiLA0K PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU1BSX05PQUND RVNTLCBTUFJfTk9BQ0NFU1MsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBTUFJfTk9BQ0NFU1MsIFNQUl9OT0FDQ0VTUywNCj4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCZzcHJfcmVhZF9nZW5lcmljLCAmc3By X3dyaXRlX2dlbmVyaWMsDQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAweDAwMDAwMTAzMDcwRjFGM0YpOw0KPiA+ICsjZW5kaWYNCj4gPiArfQ0KPiA+ ICsNCj4gPiDCoHN0YXRpYyB2b2lkIGluaXRfcHJvY19ib29rM3NfNjQoQ1BVUFBDU3RhdGUg KmVudiwgaW50IHZlcnNpb24pDQo+ID4gwqB7DQo+ID4gwqDCoMKgwqDCoGdlbl9zcHJfbmVf NjAxKGVudik7DQo+ID4gQEAgLTc5MTksOSArODA1MCwxMiBAQCBzdGF0aWMgdm9pZCBpbml0 X3Byb2NfYm9vazNzXzY0KENQVVBQQ1N0YXRlDQo+ID4gKmVudiwgaW50IHZlcnNpb24pDQo+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgZ2VuX3Nwcl9wb3dlcjhfcG11X3VzZXIoZW52KTsNCj4g PiDCoMKgwqDCoMKgwqDCoMKgwqBnZW5fc3ByX3Bvd2VyOF90bShlbnYpOw0KPiA+IMKgwqDC oMKgwqDCoMKgwqDCoGdlbl9zcHJfdnRiKGVudik7DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqBn ZW5fc3ByX3Bvd2VyOF9ycHIoZW52KTsNCj4gPiDCoMKgwqDCoMKgfQ0KPiA+IMKgwqDCoMKg wqBpZiAodmVyc2lvbiA8IEJPT0szU19DUFVfUE9XRVI4KSB7DQo+ID4gwqDCoMKgwqDCoMKg wqDCoMKgZ2VuX3Nwcl9ib29rM3NfZGJnKGVudik7DQo+ID4gK8KgwqDCoMKgfSBlbHNlIHsN Cj4gPiArwqDCoMKgwqDCoMKgwqDCoGdlbl9zcHJfYm9vazNzXzIwN19kYmcoZW52KTsNCj4g PiDCoMKgwqDCoMKgfQ0KPiA+IMKgI2lmICFkZWZpbmVkKENPTkZJR19VU0VSX09OTFkpDQo+ ID4gwqDCoMKgwqDCoHN3aXRjaCAodmVyc2lvbikgew0KPiANCg==