From mboxrd@z Thu Jan 1 00:00:00 1970 From: Petre Ovidiu PIRCALABU Subject: Re: [PATCH v9 1/2] x86emul: New return code for unimplemented instruction Date: Mon, 4 Sep 2017 17:20:35 +0000 Message-ID: <1504545630.2940.66.camel@bitdefender.com> References: <1504119449-7324-1-git-send-email-ppircalabu@bitdefender.com> <1504119449-7324-2-git-send-email-ppircalabu@bitdefender.com> <59A9539F0200007800176779@prv-mh.provo.novell.com> 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 1dov3A-0005FV-Lt for xen-devel@lists.xenproject.org; Mon, 04 Sep 2017 17:20:40 +0000 Received: from smtp02.buh.bitdefender.net (smtp.bitdefender.biz [10.17.80.76]) by mx-sr.buh.bitdefender.com (Postfix) with ESMTP id 4BC857FCAF for ; Mon, 4 Sep 2017 20:20:37 +0300 (EEST) In-Reply-To: <59A9539F0200007800176779@prv-mh.provo.novell.com> Content-Language: en-US Content-ID: <326C365FDE73CA479F8FE8353BFF4253@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "JBeulich@suse.com" Cc: "kevin.tian@intel.com" , "sstabellini@kernel.org" , "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "George.Dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "ian.jackson@eu.citrix.com" , "tim@xen.org" , "paul.durrant@citrix.com" , "tamas@tklengyel.com" , "jun.nakajima@intel.com" , "xen-devel@lists.xenproject.org" List-Id: xen-devel@lists.xenproject.org T24gVmksIDIwMTctMDktMDEgYXQgMDQ6MzMgLTA2MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiA+ DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBPbiAzMC4wOC4xNyBhdCAyMDo1NywgPHBwaXJjYWxh YnVAYml0ZGVmZW5kZXIuY29tPiB3cm90ZToNCj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2Vt dWxhdGUuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jDQo+ID4gQEAgLTIw NDQsNiArMjA0NCw3IEBAIGludCBodm1fZW11bGF0ZV9vbmVfbW1pbyh1bnNpZ25lZCBsb25nIG1m biwNCj4gPiB1bnNpZ25lZCBsb25nIGdsYSkNCj4gV2F5IGVhcmxpZXIgaW4gdGhpcyBmaWxlIHRo ZXJlIGFyZSBjb25zdW1lcnMgb2YgWDg2RU1VTF9VTkhBTkRMRUFCTEUNCj4gaW4gaHZtZW11bF9k b19pbygpIGFuZCBodm1lbXVsX2RvX2lvX2J1ZmZlcigpLiBJJ20gc3VyZSBJIGRpZA0KPiBwb2lu dCB0aGlzIG91dCBiZWZvcmUsIGFuZCBJIGNhbm5vdCBzZWUgd2h5IHlvdSBkb24ndCBhZGp1c3Qg dGhvc2UgYXMNCj4gd2VsbCwgYW5kIHlvdSBhbHNvIGRvbid0IHNheSBhbnl0aGluZyBpbiB0aGlz IHJlZ2FyZCBpbiB0aGUNCj4gZGVzY3JpcHRpb24uDQo+IFNpbWlsYXJseSB0aGVyZSdzIGEgY29u c3VtZXIgaW4gaHZtX3Byb2Nlc3NfaW9faW50ZXJjZXB0KCkgKGluIGEgZmlsZQ0KPiB5b3UgZG9u J3QgdG91Y2ggYXQgYWxsKS4gVGhlIHVzZSBpbiBodm1fYnJvYWRjYXN0X2lvcmVxKCkgaXMgbGlr ZWx5DQo+IGZpbmUsIGJ1dCBJJ2Qgc3RpbGwgbGlrZSB5b3UgdG8gcmVhc29uIGFib3V0IHRoYXQg aW4gdGhlIGRlc2NyaXB0aW9uLg0KDQpNeSBtaXN0YWtlLiBJIGhhdmUgYWRkZWQgbXkgY29tbWVu dHMgaW4gdGhlIGNvdmVyIGxldHRlciBhcyBJIHRob3VnaHQNCnRoZXkgd2lsbCBiZSBlYXNpZXIg dG8gcmVhZC4gSSB3aWxsIGFkZCB0aGVtIHRoZSB0aGUgcGF0Y2ggZGVzY3JpcHRpb24NCmZvciB0 aGUgbmV4dCBpdGVyYXRpb24uDQoNCkluIG15IG9waW5pb24sIGh2bV9wcm9jZXNzX2lvX2ludGVy Y2VwdCBjYW5ub3QgcmV0dXJuDQpYODZFTVVMX1VOSU1QTEVNRU5URUQuIFRoZSByZXR1cm4gdmFs dWUgb2YgdGhpcyBmdW5jdGlvbiBkZXBlbmRzIG9uDQplaXRoZXIgdGhlIHJldHVybiBjb2RlIG9m IG9uZSBvZiB0aGUgaHZtX2lvX29wcyBoYW5kbGVycyAocmVhZC93cml0ZSkNCm9yIHRoZSB2YWx1 ZSByZXR1cm5lZCBieSBodm1fY29weV9ndWVzdF9mcm9tX3BoeXMvDQpodm1fY29weV90b19ndWVz dF9waHlzLg0KSW4gY2FzZSBvZiB0aGUgbGF0dGVyLCB0aGUgZnVuY3Rpb24gY3Jhc2hlcyB0aGUg ZG9tYWluIGFuZA0KcmV0dXJucyBYODZFTVVMX1VOSEFORExFQUJMRSBpZiB0aGUgcmVzdWx0IGlz IG5laXRoZXIgSFZNQ09QWV9va2F5DQpub3IgSFZNQ09QWV9iYWRfZ2ZuX3RvX21mbi4NCmh2bV9v cF9vcHMgc2hvdWxkIG5vdCByZXR1cm4gWDg2RU1VTF9VTklNUExFTUVOVEVEIGFzIHRoaXMgcmV0 dXJuDQpjb2RlJ3MgdXNhZ2Ugc2hvdWxkIHN0cmljdGx5IGJlIGxpbWl0ZWQgdG8gdGhlIGNvcmUg ZW11bGF0b3IgYW5kIG9ubHkNCndoZW4gYW4gaW5zdHJ1Y3Rpb24gb3Bjb2RlIGlzIGludmFsaWQu DQoNCmh2bWVtdWxfZG9faW8gLSBYODZFTVVMX1VOSEFORExFQUJMRSBpcyB0ZXN0ZWQgYWdhaW5z dCB0aGUgcmV0dXJuIGNvZGUNCm9mIGh2bV9pb19pbnRlcmNlcHQgd2hpY2ggY2FuIHJldHVybiBY ODZFTVVMX1VOSEFORExFQUJMRSBvbmx5IGlmIHRoZQ0KSU8gaGFuZGxlciB3YXMgbm90IGZvdW5k IG9yIGl0IHdhcyByZXR1cm5lZCBieSBodm1fcHJvY2Vzc19pb19pbnRlcmNlcHQNCihjYW5ub3Qg cmV0dXJuIFg4NkVNVUxfVU5JTVBMRU1FTlRFRCkuDQpJbiB0aGlzIGNhc2UgSSB0aGluayBhZGRp bmcgdGhlIFg4NkVNVUxfVU5JTVBMRU1FTlRFRCBjaGVjayB3b3VsZCBtYXNrDQphIHBvc3NpYmxl IG1pc3VzZSBvZiB0aGlzIHJldHVybiBjb2RlIGluc3RlYWQgb2YganVzdCB0cmlnZ2VyaW5nIEJV RygpDQppbiB0aGUgZWFybHkgc3RhZ2VzIG9mIGRldmVsb3BtZW50Lg0KDQpodm1fc2VuZF9idWZm ZXJlZF9pb3JlcSAtIGN1cnJlbnRseSByZXR1cm5zIFg4NkVNVUxfVU5IQU5ETEVBQkxFIGlmOg0K LSB0aGUgYnVmZmVyZWQgaW9wYWdlIGlzIE5VTEwuDQotIHRoZSBpb3JlcSBzaXplIGlmIGludmFs aWQNCi0gdGhlIHF1ZXVlIGlzIGZ1bGwuDQpJbiBub25lIG9mIHRoZXNlIGNhc2VzIHRoZSBmdW5j dGlvbiBjYW5ub3QgcmV0dXJuIFg4NkVNVUxfVU5JTVBMRU1FTlRFRA0KYmVjYXVzZSB0aGV5IGFy ZSBub3QgcmVsYXRlZCB0byB0aGUgaW5zdHJ1Y3Rpb24gb3Bjb2RlIGRlY29kaW5nLCBzbw0KdGhp cyBmdW5jdGlvbiBjYW5ub3QgcmV0dXJuIFg4NkVNVUxfVU5JTVBMRU1FTlRFRC4NCg0KaHZtX3Nl bmRfaW9yZXEgLSBjYW4gcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFIG9ubHkgaWYgdGhlIGN1 cnJlbnQNCnZjcHUgaW4gbm90IHRoZSBodm1faW9yZWNfc2VydmVyJ3MgbGlzdCBvciB0aGUgdmFs dWUgaWYgcmV0dXJuZWQgZnJvbQ0KaHZtX3NlbmRfYnVmZmVyZWRfaW9yZXEsIGhlbmNlIHRoaXMg ZnVuY3Rpb24gYWxzbyBjYW5ub3QgcmV0dXJuDQpYODZFTVVMX1VOSU1QTEVNRU5URUQuDQoNCmh2 bV9icm9hZGNhc3RfaW9yZXEgLSBjYWxscyBodm1fc2VuZF9pb3JlcSBhbmQgY2h2ZW11bF9kb19p b2hlY2tzIHRoZQ0KcmV0dXJuIGNvZGUgYWdhaW5zdCBYODZFTVVMX1VOSEFORExFQUJMRS4gVGhl cmUgaXMgbm8gbmVlZCB0byBleHRlbmQNCnRoZSBjaGVjayB0byBoYW5kbGUgWDg2RU1VTF9VTklN UExFTUVOVEVEIGJlY2F1c2UgdGhpcyB2YWx1ZSBjYW5ub3QgYmUNCnJldHVybmVkIGJ5IGh2bV9z ZW5kX2lvcmVxLg0KDQpodm1lbXVsX2RvX2lvX2J1ZmZlciAtIGNhbGxzIGh2bWVtdWxfZG9faW8g YW5kLCBpZiB0aGUgcmV0dXJuIGNvZGUgaXMNClg4NkVNVUxfVU5IQU5ETEVBQkxFIGFuZCBkaXIg aXMgSU9SRVFfUkVBRCwgc2V0cyB0aGUgcmV0dXJuIGJ1ZmZlciB0bw0KMHhGRi4NClRoZSByZXR1 cm4gdmFsdWUgb2YgaHZlbXVsX2RvX2lvIGNhbiBiZToNCi0gcmV0dXJuIHZhbHVlIG9mIGh2bV9p b19pbnRlcmNlcHQgKGNhbm5vdCBiZSBYODZFTVVMX1VOSU1QTEVNRU5URUQpLA0KLSByZXR1cm4g dmFsdWUgb2YgaHZtX3Byb2Nlc3NfaW9faW50ZXJjZXB0IChjYW5ub3QgYmUNClg4NkVNVUxfVU5J TVBMRU1FTlRFRCkNCi0gcmV0dXJuIHZhbHVlIG9mIGh2bV9zZW5kX2lvcmVxKGNhbm5vdCBiZSBY ODZFTVVMX1VOSU1QTEVNRU5URUQpDQotIFg4NkVNVUxfUkVUUlkgLyBYODZFTVVMX09LQVkgKGRl cGVuZGluZyBvbiBzdGF0ZSkNClRoZSBjb25kaXRpb24gYWxzbyBzaG91bGQgbm90IGJlIGV4dGVu ZGVkIHRvIHRha2UgaW50byBhY2NvdW50DQpYODZFTVVMX1VOSU1QTEVNRU5URUQgYmVjYXVzZSB0 aGlzIHZhbHVlIGNhbm5vdCBiZSByZXR1cm5lZCBieQ0KaHZlbXVsX2RvX2lvLg0KDQo+ID4NCj4g PiBAQCAtNTE3Nyw3ICs1MTc3LDcgQEAgeDg2X2VtdWxhdGUoDQo+ID4gICAgICAgICAgICAgICAg ICBnb3RvIGRvbmU7DQo+ID4gICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICAgICAgICAgIGRlZmF1 bHQ6DQo+ID4gLSAgICAgICAgICAgIGdvdG8gY2Fubm90X2VtdWxhdGU7DQo+ID4gKyAgICAgICAg ICAgIGdvdG8gdW5pbXBsZW1lbnRlZF9pbnNuOw0KPiBXaGlsZSBJIGNhbiBzZWUgd2h5IHlvdSBk byB0aGlzIGNoYW5nZSwgZm9yIG1hbnkvYWxsIG9mIHRoZSBvbmVzDQo+IEknbGwgbGVhdmUgaW4g Y29udGV4dCBiZWxvdyBJIHRoaW5rIHlvdSByYXRoZXIgd2FudCB0byBzd2l0Y2ggdG8NCj4gZ2Vu ZXJhdGVfZXhjZXB0aW9uKEVYQ19VRCkuDQpTb21lIG9mIHRoZSBvcGNvZGVzIGFyZSB2YWxpZCBi dXQgbm90IHN1cHBvcnRlZCBieSB0aGUgZW11bGF0b3IuIEluDQp0aGlzIGNhc2UgWDg2RU1VTF9V TklNUExFTUVOVEVEIHNob3VsZCBiZSByZXR1cm5lZCB0byBhbGxvdyB0aGUgbW9uaXRvcg0KYXBw IHRvIGhhbmRsZSB0aGlzIGNhc2UuIEFsc28sIGluIHRoZSB3b3JzdCBjYXNlIHNjZW5hcmlvLCB3 aGVuIHRoZQ0Kb3Bjb2RlIGRvZXNuJ3QgY29ycmVzcG9uZCB0byBhIHZhbGlkIHg4NigtNjQpIGlu c3RydWN0aW9uLCBpZiB0aGUNCm1vbml0b3IgYXBwIGZvciBleGFtcGxlIHRyaWVzIHRvIHNpbmds ZS1zdGVwIGl0IG9uIHRoZSByZWFsIGhhcmR3YXJlIGFuDQpVRCBleGNlcHRpb24gd2lsbCBhbHNv IGJlIHJlcG9ydGVkLg0KPg0KPiA+DQo+ID4gQEAgLTYxNzYsNyArNjE3Niw3IEBAIHg4Nl9lbXVs YXRlKA0KPiA+ICAgICAgICAgICAgICAgICAgLyogdnBzbGx7dyxkfSAkaW1tOCx7eCx5fW1tLHt4 LHl9bW0gKi8NCj4gPiAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gICAgICAgICAgZGVmYXVsdDoN Cj4gPiAtICAgICAgICAgICAgZ290byBjYW5ub3RfZW11bGF0ZTsNCj4gPiArICAgICAgICAgICAg Z290byB1bmltcGxlbWVudGVkX2luc247DQo+ID4gICAgICAgICAgfQ0KPiA+DQo+ID4gPiA+ICAg ICAgc2ltZF8wZl9zaGlmdF9pbW06DQo+ID4gICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lm KGVhLnR5cGUgIT0gT1BfUkVHLCBFWENfVUQpOw0KPiA+IEBAIC02MjI0LDcgKzYyMjQsNyBAQCB4 ODZfZW11bGF0ZSgNCj4gPiAgICAgICAgICBjYXNlIDY6IC8qIHBzbGxxICRpbW04LG1tICovDQo+ ID4gICAgICAgICAgICAgIGdvdG8gc2ltZF8wZl9zaGlmdF9pbW07DQo+ID4gICAgICAgICAgfQ0K PiA+IC0gICAgICAgIGdvdG8gY2Fubm90X2VtdWxhdGU7DQo+ID4gKyAgICAgICAgZ290byB1bmlt cGxlbWVudGVkX2luc247DQo+ID4NCj4gPiAgICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZiwg MHg3Myk6DQo+ID4gICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmLCAweDczKToNCj4g PiBAQCAtNjI0MCw3ICs2MjQwLDcgQEAgeDg2X2VtdWxhdGUoDQo+ID4gICAgICAgICAgICAgICAg ICAvKiB2cHNsbGRxICRpbW04LHt4LHl9bW0se3gseX1tbSAqLw0KPiA+ICAgICAgICAgICAgICBn b3RvIHNpbWRfMGZfc2hpZnRfaW1tOw0KPiA+ICAgICAgICAgIH0NCj4gPiAtICAgICAgICBnb3Rv IGNhbm5vdF9lbXVsYXRlOw0KPiA+ICsgICAgICAgIGdvdG8gdW5pbXBsZW1lbnRlZF9pbnNuOw0K PiA+DQo+ID4gICAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4NzcpOiAgICAgICAgLyogZW1t cyAqLw0KPiA+ICAgICAgY2FzZSBYODZFTVVMX09QQ19WRVgoMHgwZiwgMHg3Nyk6ICAgIC8qIHZ6 ZXJve2FsbCx1cHBlcn0gKi8NCj4gPiBAQCAtNjMwNCw3ICs2MzA0LDcgQEAgeDg2X2VtdWxhdGUo DQo+ID4gICAgICAgICAgY2FzZSAwOiAvKiBleHRycSAkaW1tOCwkaW1tOCx4bW0gKi8NCj4gPiAg ICAgICAgICAgICAgYnJlYWs7DQo+ID4gICAgICAgICAgZGVmYXVsdDoNCj4gPiAtICAgICAgICAg ICAgZ290byBjYW5ub3RfZW11bGF0ZTsNCj4gPiArICAgICAgICAgICAgZ290byB1bmltcGxlbWVu dGVkX2luc247DQo+ID4gICAgICAgICAgfQ0KPiA+ICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAq Lw0KPiA+ICAgICAgY2FzZSBYODZFTVVMX09QQ19GMigweDBmLCAweDc4KTogICAgIC8qIGluc2Vy dHENCj4gPiAkaW1tOCwkaW1tOCx4bW0seG1tICovDQo+ID4gQEAgLTY1MTUsNyArNjUxNSw3IEBA IHg4Nl9lbXVsYXRlKA0KPiBBIGZldyBsaW5lcyB1cCBmcm9tIGhlcmUgaXMgYW5vdGhlciBpbnN0 YW5jZSB5b3UgYXBwZWFyIHRvIGhhdmUNCj4gbWlzc2VkLg0KPg0KPiA+DQo+ID4gQEAgLTczNDEs NyArNzM0MSw3IEBAIHg4Nl9lbXVsYXRlKA0KPiA+ICAgICAgICAgICAgICBob3N0X2FuZF92Y3B1 X211c3RfaGF2ZShibWkxKTsNCj4gPiAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gICAgICAgICAg ZGVmYXVsdDoNCj4gPiAtICAgICAgICAgICAgZ290byBjYW5ub3RfZW11bGF0ZTsNCj4gPiArICAg ICAgICAgICAgZ290byB1bmltcGxlbWVudGVkX2luc247DQo+ID4gICAgICAgICAgfQ0KPiA+DQo+ ID4gICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC5sLCBFWENfVUQpOw0KPiA+IEBA IC03NjUwLDcgKzc2NTAsNyBAQCB4ODZfZW11bGF0ZSgNCj4gPiAgICAgICAgICAgICAgaG9zdF9h bmRfdmNwdV9tdXN0X2hhdmUodGJtKTsNCj4gPiAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gICAg ICAgICAgZGVmYXVsdDoNCj4gPiAtICAgICAgICAgICAgZ290byBjYW5ub3RfZW11bGF0ZTsNCj4g PiArICAgICAgICAgICAgZ290byB1bmltcGxlbWVudGVkX2luc247DQo+ID4gICAgICAgICAgfQ0K PiA+DQo+ID4gICAgICB4b3BfMDlfcm1fcnY6DQo+ID4gQEAgLTc2ODQsNyArNzY4NCw3IEBAIHg4 Nl9lbXVsYXRlKA0KPiA+ICAgICAgICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZSh0Ym0p Ow0KPiA+ICAgICAgICAgICAgICBnb3RvIHhvcF8wOV9ybV9ydjsNCj4gPiAgICAgICAgICB9DQo+ ID4gLSAgICAgICAgZ290byBjYW5ub3RfZW11bGF0ZTsNCj4gPiArICAgICAgICBnb3RvIHVuaW1w bGVtZW50ZWRfaW5zbjsNCj4gPg0KPiA+ICAgICAgY2FzZSBYODZFTVVMX09QQ19YT1AoMGEsIDB4 MTApOiAvKiBiZXh0ciBpbW0sci9tLHIgKi8NCj4gPiAgICAgIHsNCj4gPiBAQCAtNzcxNiw2ICs3 NzE2LDkgQEAgeDg2X2VtdWxhdGUoDQo+ID4gICAgICB9DQo+ID4NClRoYW5rcyBmb3Igbm90aWNp bmcgaXQuIEkgd2lsbCBjaGFuZ2UgaXQgYmFjayB0byBjYW5ub3RfZW11bGF0ZSBhcw0KdGhlcmUg YXJlIG5vIG90aGVyIHZhbGlkIGluc3RydWN0aW9ucyBmb3IgdGhpcyBvcGNvZGVzLg0KDQo+ID4g ICAgICBkZWZhdWx0Og0KPiA+ICsgICAgdW5pbXBsZW1lbnRlZF9pbnNuOg0KPiA+ICsgICAgICAg IHJjID0gWDg2RU1VTF9VTklNUExFTUVOVEVEOw0KPiA+ICsgICAgICAgIGdvdG8gZG9uZTsNCj4g PiAgICAgIGNhbm5vdF9lbXVsYXRlOg0KPiA+ICAgICAgICAgIHJjID0gWDg2RU1VTF9VTkhBTkRM RUFCTEU7DQo+ID4gICAgICAgICAgZ290byBkb25lOw0KPiBJIGd1ZXNzIHRoZSBjYW5ub3RfZW11 bGF0ZSBsYWJlbCB3b3VsZCB0aGVuIGJldHRlciBiZSBtb3ZlZA0KPiBlbHNld2hlcmUgKGVpdGhl ciBvdXQgb2YgdGhlIHN3aXRjaCBvciB0byBhIHBsYWNlIHdoZXJlIG9uZSBvZg0KPiB0aGUgZ290 by1zIHRvIGl0IGN1cnJlbnRseSBzaXRzKS4NCkkgd2lsbCBjaGFuZ2UgaXQgaW4gdGhlIG5ldyBp dGVyYXRpb24gb2YgdGhlIHBhdGNoLg0KDQo+IEphbg0KPg0KPg0KPiBfX19fX19fX19fX19fX19f X19fX19fX18NCj4gVGhpcyBlbWFpbCB3YXMgc2Nhbm5lZCBieSBCaXRkZWZlbmRlcg0KDQpNYW55 IHRoYW5rcyBmb3IgeW91ciBwYXRpZW5jZSwNCi8vUGV0cmUNCg0KX19fX19fX19fX19fX19fX19f X19fX19fDQpUaGlzIGVtYWlsIHdhcyBzY2FubmVkIGJ5IEJpdGRlZmVuZGVyDQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK