From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (EUR02-HE1-obe.outbound.protection.outlook.com [40.92.68.102]) by mx.groups.io with SMTP id smtpd.web10.676.1571563839155017369 for ; Sun, 20 Oct 2019 02:30:39 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: outlook.de, ip: 40.92.68.102, mailfrom: mhaeuser@outlook.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e9w7pIJFQP55IJw24WwpeRmiMtfmdREiTPh1tf5Mx3Wc1PqVfHsKzB/wGb8DL4/dABG2/t15ubUc1mwPYB671DEYIyRDufOHZKpE8CezQZOxJ/bFg74KtVpCYJxAmfc3ENydKN965kGWIPIv5+OE++eXd3qPCon27dj/eOAvJcuk+EXTyh9mu/tAFFUH2m6kt12j0aHLBhkx/JoffORmkzwE1BkUNV9SeeUSwKyVKL4VS7a1AlPP8N8ZPczqtZuZgFJFQv4Bz3JmUFMHBBbfKFoB9sDtr8sKV38YdxCXPlXZf/j8ZhGhh8ji2Lv8d6BAXaK6Lb8CvVL+NDPXR3kORw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OKax9cg9jdt3nXUHSpI5yqFhLHWUEpb5d16TZ7f0l3o=; b=lq13md2YNer7ArjaDxZVIhyI2MtF9yifa1Rcqsy9oeye9ZNXNqX0HaPCDoiegw4bOeqbslPyQHsu5CU/49ABzl5l0pkoEQTJxVe4gfUYSpsBZzc/A/5uabmeU3JOaiAi3DwHRnp4OmarBODdzOVXms4T+Pde0G1lXNOcPyq5bafH4HPTuShOjHi37D6KYA67setiz48hXpVkcxgaegq1HgvqAXHvjbFaCUljCJAb+1TVe2FKNdUnNP9xkcMqUaf3gv5pbvqo2teLPkuf4NzrUZ46od92oDM6B0BQcNv7lWuz9h31ij48ZJPyoc+pNnbVXEj1dt43maHBpVxndgatCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from HE1EUR02FT059.eop-EUR02.prod.protection.outlook.com (10.152.10.55) by HE1EUR02HT132.eop-EUR02.prod.protection.outlook.com (10.152.11.127) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2367.14; Sun, 20 Oct 2019 09:30:36 +0000 Received: from DB7PR07MB4917.eurprd07.prod.outlook.com (10.152.10.51) by HE1EUR02FT059.mail.protection.outlook.com (10.152.11.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2367.14 via Frontend Transport; Sun, 20 Oct 2019 09:30:36 +0000 Received: from DB7PR07MB4917.eurprd07.prod.outlook.com ([fe80::1b8:f59a:96de:82ef]) by DB7PR07MB4917.eurprd07.prod.outlook.com ([fe80::1b8:f59a:96de:82ef%3]) with mapi id 15.20.2367.021; Sun, 20 Oct 2019 09:30:36 +0000 From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Justen, Jordan L" , Andrew Fish Subject: Re: [PATCH] WinHost: Add SimplePointer support Thread-Topic: [PATCH] WinHost: Add SimplePointer support Thread-Index: AQHVctYNzIw1Y7l3LUmZIP4c1t7x5ac8/H7ggAEvQ4CAACNlQIAlHNaA Date: Sun, 20 Oct 2019 09:30:36 +0000 Message-ID: References: <734D49CCEBEEF84792F5B80ED585239D5C2F2205@SHSMSX104.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C2F38CD@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C2F38CD@SHSMSX104.ccr.corp.intel.com> Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM0PR02CA0093.eurprd02.prod.outlook.com (2603:10a6:208:154::34) To DB7PR07MB4917.eurprd07.prod.outlook.com (2603:10a6:10:5f::30) x-incomingtopheadermarker: OriginalChecksum:AD964AF71A1C94E6A626E07D3B209B3E86BD709DDA446BF2C797E00180BB6072;UpperCasedChecksum:4CA44E90D37405EF83F2B0106EA79F253DD5D8B22FD76B6C9E8B09F8F27DE3E1;SizeAsReceived:7954;Count:50 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [Mrf1puz6RSw4oSVTPypBFwGm0PhGJL0b] x-microsoft-original-message-id: <94b7747e-49e0-a162-72a5-fdb9880875c4@outlook.de> x-ms-publictraffictype: Email x-incomingheadercount: 50 x-eopattributedmessage: 0 x-ms-traffictypediagnostic: HE1EUR02HT132: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 78ghFB59z+oyHi6cMNogJHiBpf8fOav4HEN3RyOdttXZQw1nqZxnphRZ0Q9KUXgMOuIAaxcshIjdeNdHg6P1MSYIz9856CyXt++9RmiAwQmJw7eDLijwFPujL+FBhA4ch6dWUhU92gFHgvpIoHwtGZjVB0gzT6p9H/I8kQYfJjdtd9nOoOYg+ZwToQiU+z7/ x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: a4458288-56a8-4343-c132-08d755402952 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2019 09:30:36.1301 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR02HT132 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 R29vZCBkYXksDQoNClRoYW5rIHlvdSBmb3IgeW91ciByZXZpZXcuIEkgaGF2ZSBub3Qgc2VlbiB0 aGlzIHBhdGNoIHB1c2hlZCB5ZXQsIGNvdWxkIA0KeW91IHBsZWFzZSB1cGRhdGUgbWUgd2l0aCB0 aGUgc3RhdHVzPw0KDQpUaGFua3MsDQpNYXJ2aW4NCj4gUmV2aWV3ZWQtYnk6IFJheSBOaSA8cmF5 Lm5pQGludGVsLmNvbT4NCj4NCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9t OiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAb3V0bG9vay5kZT4NCj4+IFNlbnQ6IFRodXJzZGF5 LCBTZXB0ZW1iZXIgMjYsIDIwMTkgOTozOCBBTQ0KPj4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRl bC5jb20+OyBNYXJ2aW4gSMOkdXNlciA8TWFydmluLkhhZXVzZXJAb3V0bG9vay5jb20+OyBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPj4gQ2M6IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3Rl bkBpbnRlbC5jb20+OyBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPg0KPj4gU3ViamVjdDog UmU6IFtQQVRDSF0gV2luSG9zdDogQWRkIFNpbXBsZVBvaW50ZXIgc3VwcG9ydA0KPj4NCj4+IEdv b2QgZGF5LA0KPj4NCj4+IEkgaGF2ZSB0ZXN0ZWQgY3Vyc29yIG1vdmVtZW50IChpbmNsdWRpbmcg aW5pdGlhbCB3aW5kb3cgZW50cnkpDQo+PiBleHRlbnNpdmVseSBhbmQgbGVmdCBtb3VzZSBidXR0 b24gZnVuY3Rpb25hbGl0eS4gQXMgdGhlIHJpZ2h0IG1vdXNlDQo+PiBidXR0b24gd29ya3MgYW5h bG9ndW91c2x5LCBJIGV4cGVjdCBpdCB0byB3b3JrLiBUaGlzIHdhcyBhbGwgZnJvbSB0aGUNCj4+ IEdldFN0YXRlKCkgZnVuY3Rpb24gb2YgdGhlIFNQIHByb3RvY29sLg0KPj4NCj4+IFRoYW5rcywN Cj4+IE1hcnZpbg0KPj4NCj4+IEFtIDI2LjA5LjIwMTkgdW0gMDA6MzIgc2NocmllYiBOaSwgUmF5 Og0KPj4+IE1hcnZpbiwNCj4+PiBDYW4geW91IGtpbmRseSBzaGFyZSB3aGF0IHVuaXQgdGVzdCB5 b3UndmUgZG9uZT8NCj4+Pg0KPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+PiBG cm9tOiBNYXJ2aW4gSMOkdXNlciA8TWFydmluLkhhZXVzZXJAb3V0bG9vay5jb20+DQo+Pj4+IFNl bnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAyNCwgMjAxOSA1OjQ2IEFNDQo+Pj4+IFRvOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPj4+PiBDYzogSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVu QGludGVsLmNvbT47IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+OyBOaSwgUmF5IDxyYXku bmlAaW50ZWwuY29tPg0KPj4+PiBTdWJqZWN0OiBbUEFUQ0hdIFdpbkhvc3Q6IEFkZCBTaW1wbGVQ b2ludGVyIHN1cHBvcnQNCj4+Pj4NCj4+Pj4gRnJvbTogTWFydmluIEhhZXVzZXIgPG1oYWV1c2Vy QG91dGxvb2suZGU+DQo+Pj4+DQo+Pj4+IENhdGNoIFdNIG1vdXNlIGV2ZW50cyBhbmQgZXhwb3Nl IHRoZW0gdmlhIHRoZSBTaW1wbGVQb2ludGVyIHByb3RvY29sLg0KPj4+Pg0KPj4+PiBDYzogSm9y ZGFuIEp1c3RlbiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4NCj4+Pj4gQ2M6IEFuZHJldyBG aXNoIDxhZmlzaEBhcHBsZS5jb20+DQo+Pj4+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+ DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IE1hcnZpbiBIYWV1c2VyIDxtaGFldXNlckBvdXRsb29rLmRl Pg0KPj4+PiAtLS0NCj4+Pj4gICAgRW11bGF0b3JQa2cvV2luL0hvc3QvV2luR29wSW5wdXQuYyAg fCAyNSArKysrKysrKysrLS0NCj4+Pj4gICAgRW11bGF0b3JQa2cvV2luL0hvc3QvV2luR29wU2Ny ZWVuLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKw0KPj4+PiAgICBFbXVsYXRvclBrZy9XaW4v SG9zdC9XaW5Hb3AuaCAgICAgICB8ICA1ICsrKw0KPj4+PiAgICBFbXVsYXRvclBrZy9XaW4vSG9z dC9XaW5JbmNsdWRlLmggICB8ICAxICsNCj4+Pj4gICAgNCBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0IGEvRW11bGF0 b3JQa2cvV2luL0hvc3QvV2luR29wSW5wdXQuYyBiL0VtdWxhdG9yUGtnL1dpbi9Ib3N0L1dpbkdv cElucHV0LmMNCj4+Pj4gaW5kZXggMGU4ZDExZmM1N2FjLi4zMTJhNTQ5ODQ3YzUgMTAwNjQ0DQo+ Pj4+IC0tLSBhL0VtdWxhdG9yUGtnL1dpbi9Ib3N0L1dpbkdvcElucHV0LmMNCj4+Pj4gKysrIGIv RW11bGF0b3JQa2cvV2luL0hvc3QvV2luR29wSW5wdXQuYw0KPj4+PiBAQCAtNDA5LDkgKzQwOSwx MiBAQCBXaW5OdFduZENoZWNrUG9pbnRlciAoDQo+Pj4+DQo+Pj4+DQo+Pj4+ICAgICAgUHJpdmF0 ZSA9IEdSQVBISUNTX1BSSVZBVEVfREFUQV9GUk9NX1RISVMgKEdyYXBoaWNzSW8pOw0KPj4+Pg0K Pj4+Pg0KPj4+Pg0KPj4+PiAtICByZXR1cm4gRUZJX05PVF9SRUFEWTsNCj4+Pj4NCj4+Pj4gLX0N Cj4+Pj4NCj4+Pj4gKyAgaWYgKCFQcml2YXRlLT5Qb2ludGVyU3RhdGVDaGFuZ2VkKSB7DQo+Pj4+ DQo+Pj4+ICsgICAgcmV0dXJuIEVGSV9OT1RfUkVBRFk7DQo+Pj4+DQo+Pj4+ICsgIH0NCj4+Pj4N Cj4+Pj4NCj4+Pj4NCj4+Pj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPj4+Pg0KPj4+PiArfQ0K Pj4+Pg0KPj4+Pg0KPj4+Pg0KPj4+PiAgICBFRklfU1RBVFVTDQo+Pj4+DQo+Pj4+ICAgIEVGSUFQ SQ0KPj4+Pg0KPj4+PiBAQCAtNDI0LDUgKzQyNywyMSBAQCBXaW5OdFduZEdldFBvaW50ZXJTdGF0 ZSAoDQo+Pj4+DQo+Pj4+DQo+Pj4+ICAgICAgUHJpdmF0ZSA9IEdSQVBISUNTX1BSSVZBVEVfREFU QV9GUk9NX1RISVMgKEdyYXBoaWNzSW8pOw0KPj4+Pg0KPj4+Pg0KPj4+Pg0KPj4+PiAtICByZXR1 cm4gRUZJX05PVF9SRUFEWTsNCj4+Pj4NCj4+Pj4gKyAgaWYgKCFQcml2YXRlLT5Qb2ludGVyU3Rh dGVDaGFuZ2VkKSB7DQo+Pj4+DQo+Pj4+ICsgICAgcmV0dXJuIEVGSV9OT1RfUkVBRFk7DQo+Pj4+ DQo+Pj4+ICsgIH0NCj4+Pj4NCj4+Pj4gKw0KPj4+Pg0KPj4+PiArICBTdGF0ZS0+UmVsYXRpdmVN b3ZlbWVudFggPSBQcml2YXRlLT5Qb2ludGVyU3RhdGUuUmVsYXRpdmVNb3ZlbWVudFg7DQo+Pj4+ DQo+Pj4+ICsgIFN0YXRlLT5SZWxhdGl2ZU1vdmVtZW50WSA9IFByaXZhdGUtPlBvaW50ZXJTdGF0 ZS5SZWxhdGl2ZU1vdmVtZW50WTsNCj4+Pj4NCj4+Pj4gKyAgU3RhdGUtPlJlbGF0aXZlTW92ZW1l bnRaID0gUHJpdmF0ZS0+UG9pbnRlclN0YXRlLlJlbGF0aXZlTW92ZW1lbnRaOw0KPj4+Pg0KPj4+ PiArICBTdGF0ZS0+TGVmdEJ1dHRvbiAgICAgICAgPSBQcml2YXRlLT5Qb2ludGVyU3RhdGUuTGVm dEJ1dHRvbjsNCj4+Pj4NCj4+Pj4gKyAgU3RhdGUtPlJpZ2h0QnV0dG9uICAgICAgID0gUHJpdmF0 ZS0+UG9pbnRlclN0YXRlLlJpZ2h0QnV0dG9uOw0KPj4+Pg0KPj4+PiArDQo+Pj4+DQo+Pj4+ICsg IFByaXZhdGUtPlBvaW50ZXJTdGF0ZS5SZWxhdGl2ZU1vdmVtZW50WCA9IDA7DQo+Pj4+DQo+Pj4+ ICsgIFByaXZhdGUtPlBvaW50ZXJTdGF0ZS5SZWxhdGl2ZU1vdmVtZW50WSA9IDA7DQo+Pj4+DQo+ Pj4+ICsgIFByaXZhdGUtPlBvaW50ZXJTdGF0ZS5SZWxhdGl2ZU1vdmVtZW50WiA9IDA7DQo+Pj4+ DQo+Pj4+ICsNCj4+Pj4NCj4+Pj4gKyAgUHJpdmF0ZS0+UG9pbnRlclN0YXRlQ2hhbmdlZCA9IEZB TFNFOw0KPj4+Pg0KPj4+PiArDQo+Pj4+DQo+Pj4+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4+ Pj4NCj4+Pj4gICAgfQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0IGEvRW11bGF0b3JQa2cvV2luL0hv c3QvV2luR29wU2NyZWVuLmMgYi9FbXVsYXRvclBrZy9XaW4vSG9zdC9XaW5Hb3BTY3JlZW4uYw0K Pj4+PiBpbmRleCA4ZjQyNjA2ODIzZjEuLmZhMzQ1OTY0OTdmOCAxMDA2NDQNCj4+Pj4gLS0tIGEv RW11bGF0b3JQa2cvV2luL0hvc3QvV2luR29wU2NyZWVuLmMNCj4+Pj4gKysrIGIvRW11bGF0b3JQ a2cvV2luL0hvc3QvV2luR29wU2NyZWVuLmMNCj4+Pj4gQEAgLTM5OSw2ICszOTksOCBAQCBXaW5O dEdvcFRocmVhZFdpbmRvd1Byb2MgKA0KPj4+PiAgICAgIExQQVJBTSAgICAgICAgICAgICAgICBJ bmRleDsNCj4+Pj4NCj4+Pj4gICAgICBFRklfSU5QVVRfS0VZICAgICAgICAgS2V5Ow0KPj4+Pg0K Pj4+PiAgICAgIEJPT0xFQU4gICAgICAgICAgICAgICBBbHRJc1ByZXNzOw0KPj4+Pg0KPj4+PiAr ICBJTlQzMiAgICAgICAgICAgICAgICAgUG9zWDsNCj4+Pj4NCj4+Pj4gKyAgSU5UMzIgICAgICAg ICAgICAgICAgIFBvc1k7DQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+ICAgICAgLy8NCj4+Pj4NCj4+ Pj4gICAgICAvLyBVc2UgbVRsc0luZGV4IGdsb2JhbCB0byBnZXQgYSBUaHJlYWQgTG9jYWwgU3Rv cmFnZSB2ZXJzaW9uIG9mIFByaXZhdGUuDQo+Pj4+DQo+Pj4+IEBAIC01MjcsNiArNTI5LDQ1IEBA IFdpbk50R29wVGhyZWFkV2luZG93UHJvYyAoDQo+Pj4+ICAgICAgICBXaW5OdEdvcENvbnZlcnRQ YXJhbVRvRWZpS2V5U2hpZnRTdGF0ZSAoUHJpdmF0ZSwgJndQYXJhbSwgJmxQYXJhbSwgRkFMU0Up Ow0KPj4+Pg0KPj4+PiAgICAgICAgcmV0dXJuIDA7DQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+ICsg IGNhc2UgV01fTU9VU0VNT1ZFOg0KPj4+Pg0KPj4+PiArICAgIFBvc1ggPSBHRVRfWF9MUEFSQU0g KGxQYXJhbSk7DQo+Pj4+DQo+Pj4+ICsgICAgUG9zWSA9IEdFVF9ZX0xQQVJBTSAobFBhcmFtKTsN Cj4+Pj4NCj4+Pj4gKw0KPj4+Pg0KPj4+PiArICAgIGlmIChQcml2YXRlLT5Qb2ludGVyUHJldmlv dXNYICE9IFBvc1gpIHsNCj4+Pj4NCj4+Pj4gKyAgICAgIFByaXZhdGUtPlBvaW50ZXJTdGF0ZS5S ZWxhdGl2ZU1vdmVtZW50WCArPSAoUG9zWCAtIFByaXZhdGUtPlBvaW50ZXJQcmV2aW91c1gpOw0K Pj4+Pg0KPj4+PiArICAgICAgUHJpdmF0ZS0+UG9pbnRlclByZXZpb3VzWCAgICAgICAgICAgICAg ICA9IFBvc1g7DQo+Pj4+DQo+Pj4+ICsgICAgICBQcml2YXRlLT5Qb2ludGVyU3RhdGVDaGFuZ2Vk ICAgICAgICAgICAgID0gVFJVRTsNCj4+Pj4NCj4+Pj4gKyAgICB9DQo+Pj4+DQo+Pj4+ICsNCj4+ Pj4NCj4+Pj4gKyAgICBpZiAoUHJpdmF0ZS0+UG9pbnRlclByZXZpb3VzWSAhPSBQb3NZKSB7DQo+ Pj4+DQo+Pj4+ICsgICAgICBQcml2YXRlLT5Qb2ludGVyU3RhdGUuUmVsYXRpdmVNb3ZlbWVudFkg Kz0gKFBvc1kgLSBQcml2YXRlLT5Qb2ludGVyUHJldmlvdXNZKTsNCj4+Pj4NCj4+Pj4gKyAgICAg IFByaXZhdGUtPlBvaW50ZXJQcmV2aW91c1kgICAgICAgICAgICAgICAgPSBQb3NZOw0KPj4+Pg0K Pj4+PiArICAgICAgUHJpdmF0ZS0+UG9pbnRlclN0YXRlQ2hhbmdlZCAgICAgICAgICAgICA9IFRS VUU7DQo+Pj4+DQo+Pj4+ICsgICAgfQ0KPj4+Pg0KPj4+PiArDQo+Pj4+DQo+Pj4+ICsgICAgUHJp dmF0ZS0+UG9pbnRlclN0YXRlLlJlbGF0aXZlTW92ZW1lbnRaICA9IDA7DQo+Pj4+DQo+Pj4+ICsg ICAgcmV0dXJuIDA7DQo+Pj4+DQo+Pj4+ICsNCj4+Pj4NCj4+Pj4gKyAgY2FzZSBXTV9MQlVUVE9O RE9XTjoNCj4+Pj4NCj4+Pj4gKyAgICBQcml2YXRlLT5Qb2ludGVyU3RhdGUuTGVmdEJ1dHRvbiA9 IFRSVUU7DQo+Pj4+DQo+Pj4+ICsgICAgUHJpdmF0ZS0+UG9pbnRlclN0YXRlQ2hhbmdlZCAgICAg PSBUUlVFOw0KPj4+Pg0KPj4+PiArICAgIHJldHVybiAwOw0KPj4+Pg0KPj4+PiArDQo+Pj4+DQo+ Pj4+ICsgIGNhc2UgV01fTEJVVFRPTlVQOg0KPj4+Pg0KPj4+PiArICAgIFByaXZhdGUtPlBvaW50 ZXJTdGF0ZS5MZWZ0QnV0dG9uID0gRkFMU0U7DQo+Pj4+DQo+Pj4+ICsgICAgUHJpdmF0ZS0+UG9p bnRlclN0YXRlQ2hhbmdlZCAgICAgPSBUUlVFOw0KPj4+Pg0KPj4+PiArICAgIHJldHVybiAwOw0K Pj4+Pg0KPj4+PiArDQo+Pj4+DQo+Pj4+ICsgIGNhc2UgV01fUkJVVFRPTkRPV046DQo+Pj4+DQo+ Pj4+ICsgICAgUHJpdmF0ZS0+UG9pbnRlclN0YXRlLlJpZ2h0QnV0dG9uID0gVFJVRTsNCj4+Pj4N Cj4+Pj4gKyAgICBQcml2YXRlLT5Qb2ludGVyU3RhdGVDaGFuZ2VkICAgICAgPSBUUlVFOw0KPj4+ Pg0KPj4+PiArICAgIHJldHVybiAwOw0KPj4+Pg0KPj4+PiArDQo+Pj4+DQo+Pj4+ICsgIGNhc2Ug V01fUkJVVFRPTlVQOg0KPj4+Pg0KPj4+PiArICAgIFByaXZhdGUtPlBvaW50ZXJTdGF0ZS5SaWdo dEJ1dHRvbiA9IEZBTFNFOw0KPj4+Pg0KPj4+PiArICAgIFByaXZhdGUtPlBvaW50ZXJTdGF0ZUNo YW5nZWQgICAgICA9IFRSVUU7DQo+Pj4+DQo+Pj4+ICsgICAgcmV0dXJuIDA7DQo+Pj4+DQo+Pj4+ ICsNCj4+Pj4NCj4+Pj4gICAgICBjYXNlIFdNX0NMT1NFOg0KPj4+Pg0KPj4+PiAgICAgICAgLy8N Cj4+Pj4NCj4+Pj4gICAgICAgIC8vIFRoaXMgY2xvc2UgbWVzc2FnZSBpcyBpc3N1ZWQgYnkgdXNl ciwgY29yZSBpcyBub3QgYXdhcmUgb2YgdGhpcywNCj4+Pj4NCj4+Pj4gZGlmZiAtLWdpdCBhL0Vt dWxhdG9yUGtnL1dpbi9Ib3N0L1dpbkdvcC5oIGIvRW11bGF0b3JQa2cvV2luL0hvc3QvV2luR29w LmgNCj4+Pj4gaW5kZXggYWE0MWRiNmRiYzhjLi41OTQzY2E5M2IyMmYgMTAwNjQ0DQo+Pj4+IC0t LSBhL0VtdWxhdG9yUGtnL1dpbi9Ib3N0L1dpbkdvcC5oDQo+Pj4+ICsrKyBiL0VtdWxhdG9yUGtn L1dpbi9Ib3N0L1dpbkdvcC5oDQo+Pj4+IEBAIC0yMiw2ICsyMiw3IEBAIEFic3RyYWN0Og0KPj4+ Pg0KPj4+Pg0KPj4+PiAgICAjaW5jbHVkZSA8UHJvdG9jb2wvRW11SW9UaHVuay5oPg0KPj4+Pg0K Pj4+PiAgICAjaW5jbHVkZSA8UHJvdG9jb2wvRW11R3JhcGhpY3NXaW5kb3cuaD4NCj4+Pj4NCj4+ Pj4gKyNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVQb2ludGVyLmg+DQo+Pj4+DQo+Pj4+ICAgICNp bmNsdWRlIDxQcm90b2NvbC9TaW1wbGVUZXh0SW4uaD4NCj4+Pj4NCj4+Pj4gICAgI2luY2x1ZGUg PFByb3RvY29sL1NpbXBsZVRleHRJbkV4Lmg+DQo+Pj4+DQo+Pj4+ICAgICNpbmNsdWRlIDxQcm90 b2NvbC9HcmFwaGljc091dHB1dC5oPg0KPj4+Pg0KPj4+PiBAQCAtMTA5LDYgKzExMCwxMCBAQCB0 eXBlZGVmIHN0cnVjdCB7DQo+Pj4+ICAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAg ICAgIFNjcm9sbExvY2s7DQo+Pj4+DQo+Pj4+ICAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAg ICAgICAgICAgIENhcHNMb2NrOw0KPj4+Pg0KPj4+PiAgICAgIEJPT0xFQU4gICAgICAgICAgICAg ICAgICAgICAgICAgICBJc1BhcnRpYWxLZXlTdXBwb3J0Ow0KPj4+Pg0KPj4+PiArICBJTlQzMiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9pbnRlclByZXZpb3VzWDsNCj4+Pj4NCj4+Pj4g KyAgSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvaW50ZXJQcmV2aW91c1k7DQo+ Pj4+DQo+Pj4+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICBQb2ludGVyU3Rh dGVDaGFuZ2VkOw0KPj4+Pg0KPj4+PiArICBFRklfU0lNUExFX1BPSU5URVJfU1RBVEUgICAgICAg ICAgUG9pbnRlclN0YXRlOw0KPj4+Pg0KPj4+PiAgICB9IEdSQVBISUNTX1BSSVZBVEVfREFUQTsN Cj4+Pj4NCj4+Pj4gICAgI2RlZmluZSBHUkFQSElDU19QUklWQVRFX0RBVEFfU0lHTkFUVVJFICBT SUdOQVRVUkVfMzIgKCdnJywgJ2YnLCAneCcsICdkJykNCj4+Pj4NCj4+Pj4gICAgI2RlZmluZSBH UkFQSElDU19QUklWQVRFX0RBVEFfRlJPTV9USElTKGEpICBcDQo+Pj4+DQo+Pj4+IGRpZmYgLS1n aXQgYS9FbXVsYXRvclBrZy9XaW4vSG9zdC9XaW5JbmNsdWRlLmggYi9FbXVsYXRvclBrZy9XaW4v SG9zdC9XaW5JbmNsdWRlLmgNCj4+Pj4gaW5kZXggYWUwMjc3MGQ5ZmIwLi44YTlhZTdkNzQ2NWIg MTAwNjQ0DQo+Pj4+IC0tLSBhL0VtdWxhdG9yUGtnL1dpbi9Ib3N0L1dpbkluY2x1ZGUuaA0KPj4+ PiArKysgYi9FbXVsYXRvclBrZy9XaW4vSG9zdC9XaW5JbmNsdWRlLmgNCj4+Pj4gQEAgLTQwLDYg KzQwLDcgQEAgdHlwZWRlZiBVSU5UMzIgc2l6ZV90IDsNCj4+Pj4gICAgI2VuZGlmDQo+Pj4+DQo+ Pj4+DQo+Pj4+DQo+Pj4+ICAgICNpbmNsdWRlICJ3aW5kb3dzLmgiDQo+Pj4+DQo+Pj4+ICsjaW5j bHVkZSAid2luZG93c3guaCINCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+Pj4gICAgI3VuZGVmIEdVSUQN Cj4+Pj4NCj4+Pj4gICAgI3VuZGVmIF9MSVNUX0VOVFJZDQo+Pj4+DQo+Pj4+IC0tDQo+Pj4+IDIu MjMuMC53aW5kb3dzLjENCg0KDQo=