From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id F1621AC14C1 for ; Tue, 6 Feb 2024 15:02:55 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=XohXKn3wqEqGcJgPS5rm2LicW2vthGN8tEOwLZuYK0g=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1707231774; v=1; b=ls0MPlwRDCt6zxLwT48+OvX7WOu9sMkhrxOCzwMOKQQwJttxkiEokX4qSOXxHHQT3Suqx6Fy OMPVefJFgowta6J34b1WrxPTpBceVwQxLLhWU9n4r8b/MxADZoXQgwR3R8eyThiL3Jtfjw1rS3W MDd0oRO4IV+x5wTKBZ9YE9UY= X-Received: by 127.0.0.2 with SMTP id cMzwYY7687511x3IZmRlmIkT; Tue, 06 Feb 2024 07:02:54 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by mx.groups.io with SMTP id smtpd.web10.23596.1707231773261905712 for ; Tue, 06 Feb 2024 07:02:53 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10975"; a="11409085" X-IronPort-AV: E=Sophos;i="6.05,247,1701158400"; d="scan'208";a="11409085" X-Received: from orviesa006.jf.intel.com ([10.64.159.146]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Feb 2024 07:02:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,247,1701158400"; d="scan'208";a="1357986" X-Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa006.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 06 Feb 2024 07:02:54 -0800 X-Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 6 Feb 2024 07:02:51 -0800 X-Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 6 Feb 2024 07:02:51 -0800 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 6 Feb 2024 07:02:51 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hpkxgQyiyVYxczYvViSGWk8ywaDUNPT2W7i27eKhJuvS4J1PJ7UQKbOeGqSzRxX3UYu7pnybBqBPzAvtR2Qc7osgvTaQTCoXQOYzgKolN6DpZe8nASnQxbeRlNqELKkyYIn5zmwe2Hxzo6Sy8bmu7xluCxhPHebP83yzYt1MqOPtwfmwBaWmRKKu/oWAwpAnyJicx+szEmNP0T8aNJeXFXdGq1Z3Ra6twbIogpBDPOfRkMCGA+VpLlx5b+pG1OW5ewE3f9za2mHjBNJ+L+38IVWyHpnE4zLaxdiVC2zcnaBwYxF7OoGX7BxsL1M4R8xoGr0Wg1zJLO7T+vGzF3hNhg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ey+ABdajX/bUT96aaOIm3oMP9j7BEIi633wrfJz7S4U=; b=E6E/MHpm7iMzS0WlDzNwrpXUtupGjPSG4H7mNRkwBFKFY6XVSUCEkbCG99So6YKwlrbNgd/GT3QVdZAwuKpGrX//GSooG7zt0ew5em8aF22LcJto/luFtAfa40mcdYs6yoz0vpYLKCDN4d4tgz0ghEf81gy7jul8Y6AnRDYKf9rv/448oXL10ms/gnxNeSoE+jPuDfCWzREBdRP5bDNbQA2+aKCj0B25VmRpJkDz7Pt0edi5822ssMbXos8NYN4fGpUkH9rbsRfEUQh4ebCorM7kSHLTdYMp2cwAZXJ8GtM0zHzCY17JIPNnkQh0+X1XIMcwU5LzZgTFVvvjRtCl1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by SJ0PR11MB4864.namprd11.prod.outlook.com (2603:10b6:a03:2d4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.36; Tue, 6 Feb 2024 15:02:40 +0000 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::f4e6:157c:2058:8b1d]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::f4e6:157c:2058:8b1d%4]) with mapi id 15.20.7249.035; Tue, 6 Feb 2024 15:02:40 +0000 From: "Ni, Ray" To: Laszlo Ersek , "devel@edk2.groups.io" , "Tan, Dun" CC: "Zhou, Jianfeng" , "Kumar, Rahul R" , Gerd Hoffmann Subject: Re: [edk2-devel] [PATCH 1/3] UefiCpuPkg: Reduce and optimize access to attribute Thread-Topic: [edk2-devel] [PATCH 1/3] UefiCpuPkg: Reduce and optimize access to attribute Thread-Index: AQHaWDxUZbhR+0s7vU2QY4uNtLSZirD9UWQAgAAYbyA= Date: Tue, 6 Feb 2024 15:02:40 +0000 Message-ID: References: <20240205140345.1437-1-dun.tan@intel.com> <20240205140345.1437-2-dun.tan@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|SJ0PR11MB4864:EE_ x-ms-office365-filtering-correlation-id: 24ae8ebf-8c7b-4dd9-a5f6-08dc2724a9cc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: g28XatJ51dRfEPctF+VAWEKw1D2HvWJBCNwvCeaAyZqWnPzC+7lAqnYjrpB4AVfavrB32mZyQCsctO51eRWSy5qgBboQof4oGyqyJL6jXz3UnIW2MpbOzvfLM/CBzbZiOcWe1i6LUWOQ0pOB3IJbDHdzg8Wae4QUQardK1O9S9JfvQr5nREZjRF6oN1HmzTIsvH3NxtoBdi5K7dyF829+SJ9TcsqMoACTs9heW95zzOeUzJpvlz6K8nDBzDIuZGmFshVjr8jyCuk4Oyyu0x0p3KckfSlOps7zqEiJXKacCdS1jQSjgH5MFVacxGpI/682Jnu8hCjnk8pQaCRCIWSs1uTW5poz9T3JSn8CAdAmL+NrsALXHvamgBiaFzQxpV8HUROWkxChiO+3H/PIwKodnhZsZRlaLR+ZZvqMF3QZHD7F1dFds/N6hESbIIhVQsbEgkrGD9YIgqfZDkokWbn5+WIiUYjsBrLnPZSx6jmBSqI5OrUWFPnTsn4sS5OFxYYf5zPAjaujCnaYjY3dU2q6qP7BCMptzu0/OBMYcqmMlAgh1gsG+vYQG5Bw4xlq2HBp8sQsExdgAbqtRbrD3OcKc8Xs9jUUkoBZGrl04WsBYcVDdeAepNASYr4On/FaQQL x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QUN5emllR2xXWFk4cHlJMmlWT3ZOQjluV0J0WlpLMXRPSjBhYUFWSmNDeW5C?= =?utf-8?B?cnlpOGRSeHByTXlubHNOdzJiSmZhTWYxRDZRV1VNcVc2a28rZ3I0MlovMmlV?= =?utf-8?B?VHJKaWhBcEVpVjhENGoxWDA4cytYTjV2WnBLNVVkZjBWa1VSOTRMaEZXYkRv?= =?utf-8?B?TTQ0NndscjBYcnd6QUlPVFpJSXJIQU5Iam1zM1NLYkpCOHc5MEZUYTQvck5T?= =?utf-8?B?NkR3aDE2eFpab0NlbmoxeEc2YkxzQS9UdmRxc2ExcWxQRm1Jd25mVlRMTGlM?= =?utf-8?B?Q2F6dFdEbHpnM1J5MWdPa3hmL0puQUV5eE1xOUhIRHQ4b3RuLzBDVURjbTlm?= =?utf-8?B?a2hvbGNQRkZXVmxxSy9GWjgxNnpaMkdnN1Rkc3JKNVlKSWRjWXhES2VaMXN2?= =?utf-8?B?ZEtCanNxV2N1c1JSQnBwaXFLUGNnMk5MdlhaYVZOc0VEQUFqTDFpZ0lJd1A2?= =?utf-8?B?NVFRbGVsclF5b0ZJNzBuNFc1MWZJaHhodDNiczhQNnhPSVBPcC9lM3NBODAy?= =?utf-8?B?Ry92WENCdG1ZYi9kR3BMUTBwNWprMW9MQkwxYlhXVkdQUmNka1VYQ3FyZjFr?= =?utf-8?B?MkNCN2lGWDltYTFDdmd0U3VRcjhNU3RKcFlrRkhzbzZyd0wzeDc0VlR0M1Bt?= =?utf-8?B?ZUNENGN3cTlHS3RPV1pZbm1ZVG51Q2prQlUwWjNTcUlHZXpES0cvSUQxalVm?= =?utf-8?B?U21GeTI3djZiaGZHWHp6NjVsZ2IreE5SVFlyOGhwSHlEbElzaTVLUnFiU1pJ?= =?utf-8?B?UVRKdUpmRmdlelpzV25EbjJSTUVHR1labzFVbHk1RzdrMXRRYm9GeCtKWjA1?= =?utf-8?B?cW9jTjRGWEY4ZTV0KzBTcUYvTG1EblRqbXJ6eVg0dHJjV3ozdFpPaktndVpl?= =?utf-8?B?WnJoNnNQYVFoa25WRXNqMTdXcnh4Rng5NTk4Sit2YTFpaVVVWlJEWm5QZE9W?= =?utf-8?B?Um5vWFBvRWZ3Ynh0dmoxbXFXY0RFakZUY1U3UERpZ1V4Qm5ZbTZyczdlWnVO?= =?utf-8?B?QU9yQ2ZvRmp3NEhYVElwQUlrNDF6K2pSUzdzd2JpRDRTK2E3SWo2VEt6NGpT?= =?utf-8?B?Uzh4TmFEdWliK1h2YThhRjlpek4xYVdscnRxNlYwWjA3aDdibnNCZ1dDeS90?= =?utf-8?B?K0I3SXlmQlh6Yk5nWmlRMWhGOXcvQjB4czMxSVV1VGRlOUpVeHJCaGFzWlRV?= =?utf-8?B?U3F4RkFxRjlsL2c2MFdRSk00d3Jmb09DbmwyaHhHMy8xb2ZXZ1JRN2Rram82?= =?utf-8?B?NHRSUW1aL2U4eEJoRU16RW5OUVZWUFdIMnh3WkgydkN6OHFEcStYRmtZUTFE?= =?utf-8?B?RlpRayt5UnAxWUpnUDJBcGVxSDFxc1RqSFZET0pTVGFJQ1NFcTduQTgweFoy?= =?utf-8?B?L1dUckNaaFR3VUY0K2xqVXV6YWJaTHhKMnhxRTVsL05Qdldxc3EyamhMZzcx?= =?utf-8?B?ZFAzcnQyUW4raytMd0tGRFRrTjZhTkRrMEJZbjNKTm4rb2xxVlJpLy91a2pq?= =?utf-8?B?Q1pIWERRYW5zaCtzeEVYK1ErWXJZY3J4Ujg5ckVWeUdUSTlVUGdHbGk0aXNx?= =?utf-8?B?bEhvM2J1Q3ZhdjRTL0ZEbzQwQktZeEpkRW9HaEc4dGxXYW11VmNQLzZieFlR?= =?utf-8?B?UmxsUUdGTkErOVNhVEljalJ1SzdtUHZtNTJTSS9OTnFJU3RDTkgyZ0ZtN0h2?= =?utf-8?B?eVpTdndxWXZiN3FTL3R1a2pxV3dJdC9nc3d0ckxOUjhwNVdmaUs0L0dKWUNs?= =?utf-8?B?bUloMEZidU5yRlRUWGlaMjVLUmpGVkVtOFVmcStTTDJMRWsyWXQ2WU04SVds?= =?utf-8?B?SnlxLy9PajVFUVZ0enh1YUFZTjZDNVgzcEpCMm9jdExyUDNhWDhxUmpnN2Nn?= =?utf-8?B?alNQUHk4d2xlYzhnVTVCVWRkSU9BVEJkZU1RVFBaWXFxb25lUWYzOGVhbWIw?= =?utf-8?B?dklNdnVOMlhhQ0V1ZVNEcTBqQm9ybE1sSmlhQ0REMXpwNFo3Yi9IT2NpbUs1?= =?utf-8?B?QjBkUDVmV25YdDR3NGJXbS9VTXVEODMyQXN5R0pIVUpDdGE4TkRzVkNoY0pY?= =?utf-8?B?aU83N2pNK2ZER01KamFmSmltYk5zb2diQ3dmdThtQUxGcE40TjZxNGNHdS94?= =?utf-8?Q?5Cag=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24ae8ebf-8c7b-4dd9-a5f6-08dc2724a9cc X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Feb 2024 15:02:40.0679 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cicO5Z2RWlIQCxj6RIA7qRP6VlOcohY/2u6/HGEbOMiGTCx/xD9GtuHaJqLnjf1z4sZLBWv9vxwBlrvPrqC8ew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4864 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: kfr3pUoNTKTqMhKqm0uE6MmXx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=ls0MPlwR; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io TGFzemxvLA0KWW91IGFyZSByaWdodC4NCkl0IG9ubHkgZml4ZXMgdGhlIGlzc3VlIHdoZW4gdGhl IENQVSBjaGFuZ2VzIHRoZSBwYWdlIHRhYmxlIGl0J3MgdXNpbmcgKFVQIHBhZ2UgdGFibGUgaXNz dWUpLg0KDQpCdXQgaXQgZG9lcyBub3QgZml4IHRoZSBNUCBwYWdlIHRhYmxlIGlzc3VlIHdoZW4g QlNQIGNoYW5nZXMgdGhlIHBhZ2UgdGFibGUgdGhhdCBBUCBpcyB1c2luZy4NCg0KVGhlIE1QIHBh Z2UgdGFibGUgaXNzdWUgaXMgYW4gaW50ZXJlc3Rpbmcgb25lLg0KUmlnaHQgbm93IHdlIG9ubHkg Y2FuIHJlZHVjZSB0aGUgcmF0ZSBidXQgY2Fubm90IGd1YXJhbnRlZSBpdCBuZXZlciBoYXBwZW5z Lg0KDQoNClRoYW5rcywNClJheQ0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBGZWJy dWFyeSA2LCAyMDI0IDk6MzMgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBUYW4sIER1 biA8ZHVuLnRhbkBpbnRlbC5jb20+DQo+IENjOiBaaG91LCBKaWFuZmVuZyA8amlhbmZlbmcuemhv dUBpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gS3VtYXIsIFJhaHVs IFIgPHJhaHVsLnIua3VtYXJAaW50ZWwuY29tPjsgR2VyZCBIb2ZmbWFubg0KPiA8a3JheGVsQHJl ZGhhdC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvM10gVWVmaUNw dVBrZzogUmVkdWNlIGFuZCBvcHRpbWl6ZQ0KPiBhY2Nlc3MgdG8gYXR0cmlidXRlDQo+IA0KPiBP biAyLzUvMjQgMTU6MDMsIGR1bnRhbiB3cm90ZToNCj4gPiBGcm9tOiBaaG91IEppYW5mZW5nIDxq aWFuZmVuZy56aG91QGludGVsLmNvbT4NCj4gPg0KPiA+IFRoaXMgY29tbWl0IGlzIHRvIHJlZHVj ZSBhbmQgb3B0aW1pemUgYWNjZXNzIHRvDQo+ID4gYXR0cmlidXRlIGluIENwdVBhZ2VUYWJsZUxp Yi4NCj4gPg0KPiA+IFVucmVhc29uYWJsZSB3cml0aW5nIHRvIGF0dHJpYnV0ZSBvZiBwYWdlIHRh YmxlIG1heQ0KPiA+IGxlYWRzIHRvIGV4cGVjdGlvbi4NCj4gPiBUaGUgYXNzZW1ibHkgY29kZSBm b3IgQyBjb2RlIFBubGUtPkJpdHMuUHJlc2VudCA9DQo+ID4gQXR0cmlidXRlLT5CaXRzLlByZXNl bnQgbG9va3MgbGlrZToNCj4gPiAgICBhbmQgZHdvcmQgW3JjeF0sIDB4ZmZmZmZmZmUNCj4gPiAg ICBhbmQgZWF4LCAweDENCj4gPiAgICBvciBbcmN4XSwgZWF4DQo+ID4gSW4gY2FzZSBQbmxlLT5C aXRzLlByZXNlbnQgYW5kIEF0dHJpYnV0ZS0+Qml0cy5QcmVzZW50DQo+ID4gaXMgMSwgUG5sZS0+ Qml0cy5QcmVzZW50IHdpbGwgYmUgc2V0IHRvIDAgZm9yIHNob3J0DQo+ID4gdGltZSgyIGluc3Ry dWN0aW9ucykgd2hpY2ggaXMgdW5leHBlY3RlZC4gSWYgc29tZSBvdGhlcg0KPiA+IGNvcmUgaXMg YWNjZXNzaW5nIHRoZSBwYWdlLCBpdCBtYXkgbGVhZHMgdG8gZXhwZWN0aW9uLg0KPiA+IFRoaXMg Y2hhbmdlIHJlZHVjZSBhbmQgb3B0aW1pemUgYWNjZXNzIHRvIGF0dHJpYnV0ZSBvZg0KPiA+IHBh Z2UgdGFibGUsIGF0dHJpYnV0ZSBvZiBwYWdlIHRhYmxlIGlzIHNldCBvbmx5IHdoZW4gaXQNCj4g PiBuZWVkIHRvIGJlIGNoYW5nZWQuDQo+IA0KPiBUaGlzIHBhdGNoIGRvZXMgbm90aGluZyB0byBl bGltaW5hdGUgdGhlIGFjdHVhbCByYWNlIGNvbmRpdGlvbiwgaXQgb25seQ0KPiBzaHJpbmtzIHRo ZSB3aW5kb3cgb2YgcG90ZW50aWFsIGNvcnJ1cHRpb24uDQo+IA0KPiBUaGUgUFRFcyBjb250aW51 ZSB0byBiZSBvdmVyd3JpdHRlbiB3aXRob3V0IGFueSBraW5kIG9mIHN5bmNocm9uaXphdGlvbg0K PiB3aXRoIHRoZSBvdGhlciBwcm9jZXNzb3JzLg0KPiANCj4gRmVlbCBmcmVlIHRvIG1lcmdlIHRo aXMgd2l0aCBSYXkncyBSLWIuDQo+IA0KPiBMYXN6bG8NCj4gDQo+ID4NCj4gPiBTaWduZWQtb2Zm LWJ5OiBaaG91IEppYW5mZW5nIDxqaWFuZmVuZy56aG91QGludGVsLmNvbT4NCj4gPiBDYzogUmF5 IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KPiA+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRo YXQuY29tPg0KPiA+IENjOiBSYWh1bCBLdW1hciA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4g PiBDYzogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+DQo+ID4gLS0tDQo+ID4gIFVl ZmlDcHVQa2cvTGlicmFyeS9DcHVQYWdlVGFibGVMaWIvQ3B1UGFnZVRhYmxlTWFwLmMgfCA4Ng0K PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQs IDUzIGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBh L1VlZmlDcHVQa2cvTGlicmFyeS9DcHVQYWdlVGFibGVMaWIvQ3B1UGFnZVRhYmxlTWFwLmMNCj4g Yi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1UGFnZVRhYmxlTGliL0NwdVBhZ2VUYWJsZU1hcC5jDQo+ ID4gaW5kZXggMzZiMmM0ZTZhMy4uYWU0Y2FmOGRmZSAxMDA2NDQNCj4gPiAtLS0gYS9VZWZpQ3B1 UGtnL0xpYnJhcnkvQ3B1UGFnZVRhYmxlTGliL0NwdVBhZ2VUYWJsZU1hcC5jDQo+ID4gKysrIGIv VWVmaUNwdVBrZy9MaWJyYXJ5L0NwdVBhZ2VUYWJsZUxpYi9DcHVQYWdlVGFibGVNYXAuYw0KPiA+ IEBAIC0yNiw1MiArMjYsNTkgQEAgUGFnZVRhYmxlTGliU2V0UHRlNEsgKA0KPiA+ICAgIElOIElB MzJfTUFQX0FUVFJJQlVURSAgKk1hc2sNCj4gPiAgICApDQo+ID4gIHsNCj4gPiArICBJQTMyX1BU RV80SyAgTG9jYWxQdGU0SzsNCj4gPiArDQo+ID4gKyAgTG9jYWxQdGU0Sy5VaW50NjQgPSBQdGU0 Sy0+VWludDY0Ow0KPiA+ICAgIGlmIChNYXNrLT5CaXRzLlBhZ2VUYWJsZUJhc2VBZGRyZXNzTG93 IHx8IE1hc2stDQo+ID5CaXRzLlBhZ2VUYWJsZUJhc2VBZGRyZXNzSGlnaCkgew0KPiA+IC0gICAg UHRlNEstPlVpbnQ2NCA9IChJQTMyX01BUF9BVFRSSUJVVEVfUEFHRV9UQUJMRV9CQVNFX0FERFJF U1MNCj4gKEF0dHJpYnV0ZSkgKyBPZmZzZXQpIHwgKFB0ZTRLLT5VaW50NjQgJg0KPiB+SUEzMl9Q RV9CQVNFX0FERFJFU1NfTUFTS180MCk7DQo+ID4gKyAgICBMb2NhbFB0ZTRLLlVpbnQ2NCA9DQo+ IChJQTMyX01BUF9BVFRSSUJVVEVfUEFHRV9UQUJMRV9CQVNFX0FERFJFU1MgKEF0dHJpYnV0ZSkg KyBPZmZzZXQpIHwNCj4gKFB0ZTRLLT5VaW50NjQgJiB+SUEzMl9QRV9CQVNFX0FERFJFU1NfTUFT S180MCk7DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuUHJlc2VudCkgew0K PiA+IC0gICAgUHRlNEstPkJpdHMuUHJlc2VudCA9IEF0dHJpYnV0ZS0+Qml0cy5QcmVzZW50Ow0K PiA+ICsgICAgTG9jYWxQdGU0Sy5CaXRzLlByZXNlbnQgPSBBdHRyaWJ1dGUtPkJpdHMuUHJlc2Vu dDsNCj4gPiAgICB9DQo+ID4NCj4gPiAgICBpZiAoTWFzay0+Qml0cy5SZWFkV3JpdGUpIHsNCj4g PiAtICAgIFB0ZTRLLT5CaXRzLlJlYWRXcml0ZSA9IEF0dHJpYnV0ZS0+Qml0cy5SZWFkV3JpdGU7 DQo+ID4gKyAgICBMb2NhbFB0ZTRLLkJpdHMuUmVhZFdyaXRlID0gQXR0cmlidXRlLT5CaXRzLlJl YWRXcml0ZTsNCj4gPiAgICB9DQo+ID4NCj4gPiAgICBpZiAoTWFzay0+Qml0cy5Vc2VyU3VwZXJ2 aXNvcikgew0KPiA+IC0gICAgUHRlNEstPkJpdHMuVXNlclN1cGVydmlzb3IgPSBBdHRyaWJ1dGUt PkJpdHMuVXNlclN1cGVydmlzb3I7DQo+ID4gKyAgICBMb2NhbFB0ZTRLLkJpdHMuVXNlclN1cGVy dmlzb3IgPSBBdHRyaWJ1dGUtPkJpdHMuVXNlclN1cGVydmlzb3I7DQo+ID4gICAgfQ0KPiA+DQo+ ID4gICAgaWYgKE1hc2stPkJpdHMuV3JpdGVUaHJvdWdoKSB7DQo+ID4gLSAgICBQdGU0Sy0+Qml0 cy5Xcml0ZVRocm91Z2ggPSBBdHRyaWJ1dGUtPkJpdHMuV3JpdGVUaHJvdWdoOw0KPiA+ICsgICAg TG9jYWxQdGU0Sy5CaXRzLldyaXRlVGhyb3VnaCA9IEF0dHJpYnV0ZS0+Qml0cy5Xcml0ZVRocm91 Z2g7DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuQ2FjaGVEaXNhYmxlZCkg ew0KPiA+IC0gICAgUHRlNEstPkJpdHMuQ2FjaGVEaXNhYmxlZCA9IEF0dHJpYnV0ZS0+Qml0cy5D YWNoZURpc2FibGVkOw0KPiA+ICsgICAgTG9jYWxQdGU0Sy5CaXRzLkNhY2hlRGlzYWJsZWQgPSBB dHRyaWJ1dGUtPkJpdHMuQ2FjaGVEaXNhYmxlZDsNCj4gPiAgICB9DQo+ID4NCj4gPiAgICBpZiAo TWFzay0+Qml0cy5BY2Nlc3NlZCkgew0KPiA+IC0gICAgUHRlNEstPkJpdHMuQWNjZXNzZWQgPSBB dHRyaWJ1dGUtPkJpdHMuQWNjZXNzZWQ7DQo+ID4gKyAgICBMb2NhbFB0ZTRLLkJpdHMuQWNjZXNz ZWQgPSBBdHRyaWJ1dGUtPkJpdHMuQWNjZXNzZWQ7DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYg KE1hc2stPkJpdHMuRGlydHkpIHsNCj4gPiAtICAgIFB0ZTRLLT5CaXRzLkRpcnR5ID0gQXR0cmli dXRlLT5CaXRzLkRpcnR5Ow0KPiA+ICsgICAgTG9jYWxQdGU0Sy5CaXRzLkRpcnR5ID0gQXR0cmli dXRlLT5CaXRzLkRpcnR5Ow0KPiA+ICAgIH0NCj4gPg0KPiA+ICAgIGlmIChNYXNrLT5CaXRzLlBh dCkgew0KPiA+IC0gICAgUHRlNEstPkJpdHMuUGF0ID0gQXR0cmlidXRlLT5CaXRzLlBhdDsNCj4g PiArICAgIExvY2FsUHRlNEsuQml0cy5QYXQgPSBBdHRyaWJ1dGUtPkJpdHMuUGF0Ow0KPiA+ICAg IH0NCj4gPg0KPiA+ICAgIGlmIChNYXNrLT5CaXRzLkdsb2JhbCkgew0KPiA+IC0gICAgUHRlNEst PkJpdHMuR2xvYmFsID0gQXR0cmlidXRlLT5CaXRzLkdsb2JhbDsNCj4gPiArICAgIExvY2FsUHRl NEsuQml0cy5HbG9iYWwgPSBBdHRyaWJ1dGUtPkJpdHMuR2xvYmFsOw0KPiA+ICAgIH0NCj4gPg0K PiA+ICAgIGlmIChNYXNrLT5CaXRzLlByb3RlY3Rpb25LZXkpIHsNCj4gPiAtICAgIFB0ZTRLLT5C aXRzLlByb3RlY3Rpb25LZXkgPSBBdHRyaWJ1dGUtPkJpdHMuUHJvdGVjdGlvbktleTsNCj4gPiAr ICAgIExvY2FsUHRlNEsuQml0cy5Qcm90ZWN0aW9uS2V5ID0gQXR0cmlidXRlLT5CaXRzLlByb3Rl Y3Rpb25LZXk7DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuTngpIHsNCj4g PiAtICAgIFB0ZTRLLT5CaXRzLk54ID0gQXR0cmlidXRlLT5CaXRzLk54Ow0KPiA+ICsgICAgTG9j YWxQdGU0Sy5CaXRzLk54ID0gQXR0cmlidXRlLT5CaXRzLk54Ow0KPiA+ICsgIH0NCj4gPiArDQo+ ID4gKyAgaWYgKFB0ZTRLLT5VaW50NjQgIT0gTG9jYWxQdGU0Sy5VaW50NjQpIHsNCj4gPiArICAg IFB0ZTRLLT5VaW50NjQgPSBMb2NhbFB0ZTRLLlVpbnQ2NDsNCj4gPiAgICB9DQo+ID4gIH0NCj4g Pg0KPiA+IEBAIC05Myw1NCArMTAwLDYxIEBAIFBhZ2VUYWJsZUxpYlNldFBsZUIgKA0KPiA+ICAg IElOIElBMzJfTUFQX0FUVFJJQlVURSAgICAgICAgICAgICAgICAgKk1hc2sNCj4gPiAgICApDQo+ ID4gIHsNCj4gPiArICBJQTMyX1BBR0VfTEVBRl9FTlRSWV9CSUdfUEFHRVNJWkUgIExvY2FsUGxl QjsNCj4gPiArDQo+ID4gKyAgTG9jYWxQbGVCLlVpbnQ2NCA9IFBsZUItPlVpbnQ2NDsNCj4gPiAg ICBpZiAoTWFzay0+Qml0cy5QYWdlVGFibGVCYXNlQWRkcmVzc0xvdyB8fCBNYXNrLQ0KPiA+Qml0 cy5QYWdlVGFibGVCYXNlQWRkcmVzc0hpZ2gpIHsNCj4gPiAtICAgIFBsZUItPlVpbnQ2NCA9IChJ QTMyX01BUF9BVFRSSUJVVEVfUEFHRV9UQUJMRV9CQVNFX0FERFJFU1MNCj4gKEF0dHJpYnV0ZSkg KyBPZmZzZXQpIHwgKFBsZUItPlVpbnQ2NCAmIH5JQTMyX1BFX0JBU0VfQUREUkVTU19NQVNLXzM5 KTsNCj4gPiArICAgIExvY2FsUGxlQi5VaW50NjQgPQ0KPiAoSUEzMl9NQVBfQVRUUklCVVRFX1BB R0VfVEFCTEVfQkFTRV9BRERSRVNTIChBdHRyaWJ1dGUpICsgT2Zmc2V0KSB8DQo+IChQbGVCLT5V aW50NjQgJiB+SUEzMl9QRV9CQVNFX0FERFJFU1NfTUFTS18zOSk7DQo+ID4gICAgfQ0KPiA+DQo+ ID4gLSAgUGxlQi0+Qml0cy5NdXN0QmVPbmUgPSAxOw0KPiA+ICsgIExvY2FsUGxlQi5CaXRzLk11 c3RCZU9uZSA9IDE7DQo+ID4NCj4gPiAgICBpZiAoTWFzay0+Qml0cy5QcmVzZW50KSB7DQo+ID4g LSAgICBQbGVCLT5CaXRzLlByZXNlbnQgPSBBdHRyaWJ1dGUtPkJpdHMuUHJlc2VudDsNCj4gPiAr ICAgIExvY2FsUGxlQi5CaXRzLlByZXNlbnQgPSBBdHRyaWJ1dGUtPkJpdHMuUHJlc2VudDsNCj4g PiAgICB9DQo+ID4NCj4gPiAgICBpZiAoTWFzay0+Qml0cy5SZWFkV3JpdGUpIHsNCj4gPiAtICAg IFBsZUItPkJpdHMuUmVhZFdyaXRlID0gQXR0cmlidXRlLT5CaXRzLlJlYWRXcml0ZTsNCj4gPiAr ICAgIExvY2FsUGxlQi5CaXRzLlJlYWRXcml0ZSA9IEF0dHJpYnV0ZS0+Qml0cy5SZWFkV3JpdGU7 DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuVXNlclN1cGVydmlzb3IpIHsN Cj4gPiAtICAgIFBsZUItPkJpdHMuVXNlclN1cGVydmlzb3IgPSBBdHRyaWJ1dGUtPkJpdHMuVXNl clN1cGVydmlzb3I7DQo+ID4gKyAgICBMb2NhbFBsZUIuQml0cy5Vc2VyU3VwZXJ2aXNvciA9IEF0 dHJpYnV0ZS0+Qml0cy5Vc2VyU3VwZXJ2aXNvcjsNCj4gPiAgICB9DQo+ID4NCj4gPiAgICBpZiAo TWFzay0+Qml0cy5Xcml0ZVRocm91Z2gpIHsNCj4gPiAtICAgIFBsZUItPkJpdHMuV3JpdGVUaHJv dWdoID0gQXR0cmlidXRlLT5CaXRzLldyaXRlVGhyb3VnaDsNCj4gPiArICAgIExvY2FsUGxlQi5C aXRzLldyaXRlVGhyb3VnaCA9IEF0dHJpYnV0ZS0+Qml0cy5Xcml0ZVRocm91Z2g7DQo+ID4gICAg fQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuQ2FjaGVEaXNhYmxlZCkgew0KPiA+IC0gICAg UGxlQi0+Qml0cy5DYWNoZURpc2FibGVkID0gQXR0cmlidXRlLT5CaXRzLkNhY2hlRGlzYWJsZWQ7 DQo+ID4gKyAgICBMb2NhbFBsZUIuQml0cy5DYWNoZURpc2FibGVkID0gQXR0cmlidXRlLT5CaXRz LkNhY2hlRGlzYWJsZWQ7DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuQWNj ZXNzZWQpIHsNCj4gPiAtICAgIFBsZUItPkJpdHMuQWNjZXNzZWQgPSBBdHRyaWJ1dGUtPkJpdHMu QWNjZXNzZWQ7DQo+ID4gKyAgICBMb2NhbFBsZUIuQml0cy5BY2Nlc3NlZCA9IEF0dHJpYnV0ZS0+ Qml0cy5BY2Nlc3NlZDsNCj4gPiAgICB9DQo+ID4NCj4gPiAgICBpZiAoTWFzay0+Qml0cy5EaXJ0 eSkgew0KPiA+IC0gICAgUGxlQi0+Qml0cy5EaXJ0eSA9IEF0dHJpYnV0ZS0+Qml0cy5EaXJ0eTsN Cj4gPiArICAgIExvY2FsUGxlQi5CaXRzLkRpcnR5ID0gQXR0cmlidXRlLT5CaXRzLkRpcnR5Ow0K PiA+ICAgIH0NCj4gPg0KPiA+ICAgIGlmIChNYXNrLT5CaXRzLlBhdCkgew0KPiA+IC0gICAgUGxl Qi0+Qml0cy5QYXQgPSBBdHRyaWJ1dGUtPkJpdHMuUGF0Ow0KPiA+ICsgICAgTG9jYWxQbGVCLkJp dHMuUGF0ID0gQXR0cmlidXRlLT5CaXRzLlBhdDsNCj4gPiAgICB9DQo+ID4NCj4gPiAgICBpZiAo TWFzay0+Qml0cy5HbG9iYWwpIHsNCj4gPiAtICAgIFBsZUItPkJpdHMuR2xvYmFsID0gQXR0cmli dXRlLT5CaXRzLkdsb2JhbDsNCj4gPiArICAgIExvY2FsUGxlQi5CaXRzLkdsb2JhbCA9IEF0dHJp YnV0ZS0+Qml0cy5HbG9iYWw7DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMu UHJvdGVjdGlvbktleSkgew0KPiA+IC0gICAgUGxlQi0+Qml0cy5Qcm90ZWN0aW9uS2V5ID0gQXR0 cmlidXRlLT5CaXRzLlByb3RlY3Rpb25LZXk7DQo+ID4gKyAgICBMb2NhbFBsZUIuQml0cy5Qcm90 ZWN0aW9uS2V5ID0gQXR0cmlidXRlLT5CaXRzLlByb3RlY3Rpb25LZXk7DQo+ID4gICAgfQ0KPiA+ DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuTngpIHsNCj4gPiAtICAgIFBsZUItPkJpdHMuTnggPSBB dHRyaWJ1dGUtPkJpdHMuTng7DQo+ID4gKyAgICBMb2NhbFBsZUIuQml0cy5OeCA9IEF0dHJpYnV0 ZS0+Qml0cy5OeDsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIGlmIChQbGVCLT5VaW50NjQgIT0g TG9jYWxQbGVCLlVpbnQ2NCkgew0KPiA+ICsgICAgUGxlQi0+VWludDY0ID0gTG9jYWxQbGVCLlVp bnQ2NDsNCj4gPiAgICB9DQo+ID4gIH0NCj4gPg0KPiA+IEBAIC0xODYsMjQgKzIwMCwyNyBAQCBQ YWdlVGFibGVMaWJTZXRQbmxlICgNCj4gPiAgICBJTiBJQTMyX01BUF9BVFRSSUJVVEUgICAgICAg ICpNYXNrDQo+ID4gICAgKQ0KPiA+ICB7DQo+ID4gKyAgSUEzMl9QQUdFX05PTl9MRUFGX0VOVFJZ ICBMb2NhbFBubGU7DQo+ID4gKw0KPiA+ICsgIExvY2FsUG5sZS5VaW50NjQgPSBQbmxlLT5VaW50 NjQ7DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuUHJlc2VudCkgew0KPiA+IC0gICAgUG5sZS0+Qml0 cy5QcmVzZW50ID0gQXR0cmlidXRlLT5CaXRzLlByZXNlbnQ7DQo+ID4gKyAgICBMb2NhbFBubGUu Qml0cy5QcmVzZW50ID0gQXR0cmlidXRlLT5CaXRzLlByZXNlbnQ7DQo+ID4gICAgfQ0KPiA+DQo+ ID4gICAgaWYgKE1hc2stPkJpdHMuUmVhZFdyaXRlKSB7DQo+ID4gLSAgICBQbmxlLT5CaXRzLlJl YWRXcml0ZSA9IEF0dHJpYnV0ZS0+Qml0cy5SZWFkV3JpdGU7DQo+ID4gKyAgICBMb2NhbFBubGUu Qml0cy5SZWFkV3JpdGUgPSBBdHRyaWJ1dGUtPkJpdHMuUmVhZFdyaXRlOw0KPiA+ICAgIH0NCj4g Pg0KPiA+ICAgIGlmIChNYXNrLT5CaXRzLlVzZXJTdXBlcnZpc29yKSB7DQo+ID4gLSAgICBQbmxl LT5CaXRzLlVzZXJTdXBlcnZpc29yID0gQXR0cmlidXRlLT5CaXRzLlVzZXJTdXBlcnZpc29yOw0K PiA+ICsgICAgTG9jYWxQbmxlLkJpdHMuVXNlclN1cGVydmlzb3IgPSBBdHRyaWJ1dGUtPkJpdHMu VXNlclN1cGVydmlzb3I7DQo+ID4gICAgfQ0KPiA+DQo+ID4gICAgaWYgKE1hc2stPkJpdHMuTngp IHsNCj4gPiAtICAgIFBubGUtPkJpdHMuTnggPSBBdHRyaWJ1dGUtPkJpdHMuTng7DQo+ID4gKyAg ICBMb2NhbFBubGUuQml0cy5OeCA9IEF0dHJpYnV0ZS0+Qml0cy5OeDsNCj4gPiAgICB9DQo+ID4N Cj4gPiAtICBQbmxlLT5CaXRzLkFjY2Vzc2VkICAgPSAwOw0KPiA+IC0gIFBubGUtPkJpdHMuTXVz dEJlWmVybyA9IDA7DQo+ID4gKyAgTG9jYWxQbmxlLkJpdHMuQWNjZXNzZWQgICA9IDA7DQo+ID4g KyAgTG9jYWxQbmxlLkJpdHMuTXVzdEJlWmVybyA9IDA7DQo+ID4NCj4gPiAgICAvLw0KPiA+ICAg IC8vIFNldCB0aGUgYXR0cmlidXRlcyAoV1QsIENELCBBKSB0byAwLg0KPiA+IEBAIC0yMTEsOCAr MjI4LDExIEBAIFBhZ2VUYWJsZUxpYlNldFBubGUgKA0KPiA+ICAgIC8vIFNvLCBpdCBpbXBsaWN0 bHkgcmVxdWlyZXMgUEFUWzBdIGlzIFdyaXRlIEJhY2suDQo+ID4gICAgLy8gQ3JlYXRlIGEgbmV3 IHBhcmFtZXRlciBpZiBjYWxsZXIgcmVxdWlyZXMgdG8gdXNlIGEgZGlmZmVyZW50IG1lbW9yeSB0 eXBlDQo+IGZvciBhY2Nlc3NpbmcgcGFnZSBkaXJlY3Rvcmllcy4NCj4gPiAgICAvLw0KPiA+IC0g IFBubGUtPkJpdHMuV3JpdGVUaHJvdWdoICA9IDA7DQo+ID4gLSAgUG5sZS0+Qml0cy5DYWNoZURp c2FibGVkID0gMDsNCj4gPiArICBMb2NhbFBubGUuQml0cy5Xcml0ZVRocm91Z2ggID0gMDsNCj4g PiArICBMb2NhbFBubGUuQml0cy5DYWNoZURpc2FibGVkID0gMDsNCj4gPiArICBpZiAoUG5sZS0+ VWludDY0ICE9IExvY2FsUG5sZS5VaW50NjQpIHsNCj4gPiArICAgIFBubGUtPlVpbnQ2NCA9IExv Y2FsUG5sZS5VaW50NjQ7DQo+ID4gKyAgfQ0KPiA+ICB9DQo+ID4NCj4gPiAgLyoqDQoNCg0KCi09 LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1l c3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9SZXBseSBPbmxpbmUgKCMxMTUxNzIpOiBo dHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTUxNzIKTXV0ZSBUaGlzIFRv cGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDQxNzYyMzIvNzY4NjE3NgpHcm91cCBPd25lcjog ZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91 cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVuZncuaW9dCi09LT0tPS09LT0tPS09LT0t PS09LT0tCgoNCg==