From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web09.1615.1637724080153799546 for ; Tue, 23 Nov 2021 19:21:20 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=KhIJVEG+; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10177"; a="295997358" X-IronPort-AV: E=Sophos;i="5.87,258,1631602800"; d="scan'208";a="295997358" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2021 19:21:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,258,1631602800"; d="scan'208";a="538482391" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga001.jf.intel.com with ESMTP; 23 Nov 2021 19:21:19 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 23 Nov 2021 19:21:18 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 23 Nov 2021 19:21:18 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 23 Nov 2021 19:21:18 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d3nzNGDOOWIFW0aO1ERoG5482WtqN9ggKBXS7JH8+o56/7ltG9GuJ/pREqWaeAHG1T7/nN4ZhEJ4expxcVqgNUwIrt0WDW1EHcjKd5i+X9NaqmV9R6fsQlssro6Y4W4zrsU43tNwb9H8yYr0Ai2I9pjSP0eM8c1uHpP/LQ/7yg0gen8hqK7MHh/LXya6gDSJA+5Le/vV6Fh7vVRYJ2wn/yNDDe/oRXFP81BidAtlXUvXWRgADrGAWrjjfATWYCgKst+7xiW/CC74ZAO/MGtT8N3KP3NmcDGqD10tpIkW5xoaBdW0WN93TbWhOCRbAeXpVrgYaGCaTuy3ElCliS4UFA== 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=/kZpaIfbG/iSairATaC+KxC+sDx+Anr3He4BUYJzFwg=; b=gBNSUZ6SJc70alLl1yrgchi+3JjianzpfL46zfhRcr/wxnelU5qQLJMqUqzFw9ttxwZtQ4JMBhYmfEbylJ2X6GYpiu4O1sAiizss84mDZ6lH057MNJNXU0JaHIV/80gxUZJVruLrnLWa9C+kw95B824ilpejby/B0L9BNf+Za3J/x9pwsq4xcZUOoJYvipWLgxilgb4S+PV8F96b5PNWGaSQ604SV0xaK54lzw7VvmekFCTqCinypYNBIeVk4n7uYobMKO1zAEeYW2LlZRRaWh4zl0iDmcaBlRKUys/L9a2G8JPmU/EfhE9qsUk71C3/Nxv56tN7o4B3XdQ7/4iHTQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/kZpaIfbG/iSairATaC+KxC+sDx+Anr3He4BUYJzFwg=; b=KhIJVEG+6puBnu0Tr4iQ7WXSc1OV2S7a40d/uXaFvJDUz7cV6M1c8wd/yyMLIwgfDIfnHjV5DM5S+OQPfneiZ5MBUvd0V9Bz3eiWU1wuzW8Gjjb0K3HbEM7PW47DNf9bsEGtiL8+7zzFXbLUNlddtaw30LtDIOWEqETRdSS+JuU= Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by CO1PR11MB4946.namprd11.prod.outlook.com (2603:10b6:303:9e::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Wed, 24 Nov 2021 03:21:16 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::1d07:d296:b2c7:7114]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::1d07:d296:b2c7:7114%8]) with mapi id 15.20.4669.016; Wed, 24 Nov 2021 03:21:16 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "Yao, Jiewen" , "jejb@linux.ibm.com" CC: Gerd Hoffmann , "Xu, Min M" , "Ard Biesheuvel" , "Justen, Jordan L" , Brijesh Singh , "Erdem Aktas" , Tom Lendacky Subject: Re: [edk2-devel] [PATCH V3 15/29] OvmfPkg: Update SecEntry.nasm to support Tdx Thread-Topic: [edk2-devel] [PATCH V3 15/29] OvmfPkg: Update SecEntry.nasm to support Tdx Thread-Index: AQHX2uMZH+dNhguCw0OBghbxJplRDawH11AAgAEwN+CAAfIoAIAAvv7AgAVfi4CAAAXBAIAAGIUAgAAC0naAAAQtAIAABTlIgAAHrQCAAKQIkIAAIBWw Date: Wed, 24 Nov 2021 03:21:16 +0000 Message-ID: References: <867e8a2aaf28c308b20a659057217453c6e38e00.1635769996.git.min.m.xu@intel.com> <20211103063045.kmttoxyluifwo2bq@sirius.home.kraxel.org> <20211117151942.iqow75zq2lrn5xlc@sirius.home.kraxel.org> <20211119151130.g2wcnuhivt3lxvzi@sirius.home.kraxel.org> <20211123123821.q4fanslttg72n2r3@sirius.home.kraxel.org> <1D6AF5B4-87BD-4773-A5C7-4779016A0673@intel.com> <1DF0C062-BF78-44E2-BE96-2C8727C36845@intel.com> <5ec6897681e46fe181193651164f0f17d5d1205d.camel@linux.ibm.com> <16BA5D1709524394.9880@groups.io> In-Reply-To: <16BA5D1709524394.9880@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7d05fcd8-09aa-4bec-695c-08d9aef97a2e x-ms-traffictypediagnostic: CO1PR11MB4946: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wLJ1sewahsWKSPH+caCwJW8BeByeaqbjV8EYbtxwMemKu3TFlQ0is7fDFpx3xGA6bixFKQKyHd9tWxGNWVbq7VW2wfqUc8JS+/8Pj+qZKPC+Te6hLJWjtLYUuyK3H+RtHAa0Pc92Yn5k7oSI9YT3vQNtZ/OvggcYRsf/lmtzsX+jiUUWkXowmadWKVwgHoL+N814GAOwsfPV3eGh33YWi95kwmRJsBc7IcR4A5AcQv7w623Yc0228Va0AtT0ozBHwJVl7TQv0k4XW7w5KCQFtjG3E8Os/QwRQbMAo0gEgtq9WFWh9Cu5T9DeLy5XhAoDXP6VsXEu6sU8IKpALwzwaVtviNEcjg2h29KMvGVx9fHCiLp5Js4iykUBxKrL1Ocbp111iOSoF8fh9Yw5TyToq8kKhtN7ymYxZ7tE1m1n230pYXweVPa/eFRKo0zorIrRTQdElG2h4V68IEArF0YYI8rOZpUW5MSoT3qk6flrKNdOrBJMSSVORcPDldcd6QrvR66hGtHzJRYRSTubQ4N6Kr9+mC92UUzj1mXjxwIfqywxu87kfiPZ0RA1Ee6+qVovk8XLGIY/YLHustZDm9oyFhwe5Ie0pkdU655rwy71hOyPSL3Dal5tlXk4tNf7B+GeNy1l5NWb1r2zneVX/t2F0Hi1tzj8T3nAZpbU7h42dzPaTwwTctoYt7PrTPb7uoYPzyns8rfiHzqE38lsQ0Z6qk0DuCmjcZZliE9kZ7jBdmn6C1Eq7wZ1kyLJ3dhqHjiI2f2cZSxXuZk269Q54AjmZ4HzIVWgop65XVqIvtr6wmcPZaLpIg14o13rZRhK3lGRIvB1BgAsD1cm1PRxJJ/L/g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66446008)(7696005)(4001150100001)(64756008)(52536014)(66476007)(26005)(122000001)(66556008)(54906003)(9686003)(110136005)(53546011)(71200400001)(186003)(86362001)(38100700002)(76116006)(55016003)(33656002)(66946007)(4326008)(966005)(316002)(15650500001)(508600001)(5660300002)(6506007)(8936002)(8676002)(83380400001)(38070700005)(82960400001)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MnJtTzc1dytuNnh0dHNRS2NDcGEyRk93OVlCTDNRNWxCSFd2Zlp2VlJjN3c0?= =?utf-8?B?bFFaZWdZTFBEbDdPSFlvU2lUZmgxb0tQTmJxZlhNN2dSdVVoL3RTOTByZnBo?= =?utf-8?B?RUhDUksvWEdLdzFkQmE1SHNUVXhFQkl3bS9vcHpSTDJGNWI4Qk9UQ0Mzb1pH?= =?utf-8?B?K2hBdUdsR2tabnorWDNwVitZREN0aStVdjJOWDBROW9sTHlCQ3hSdiszT0NJ?= =?utf-8?B?cWRGTVdoNE0xNThmY0RETWp5d1h5WWh4T2FPN0xleHMvdlJ6UlliajlLZysw?= =?utf-8?B?Q1ZFOTh0UFVxc0YvS3lZUDh0ZEx6b3Yyd2ZrTDlOMTlzcDFXR1pzeDBETVNH?= =?utf-8?B?WG1uS0FiektnR0F2MjkyU2FjRk9PaGdoZ1FLeGc2SEZLeXdyaUNwZjl1cCts?= =?utf-8?B?RTZwUUVRMDNrSUU2U3g2QW9FeVozVnVGSFFNeVBYTkdQaThkMENiMEcvME92?= =?utf-8?B?YXpnbk1yc3c4ZGVIWFhGYU9EVjBHbUo4UnJiYmFPL0QveWxkakhnamZDSEtp?= =?utf-8?B?T3N2NkQ4bm5LMlpZbllMTDRhWTltS0JhNk1zRng5UXBDZlh6eUZYTzRPdFRi?= =?utf-8?B?eXdnQTF5Mm11Q3FneHI5Mks5ZjNzamFDSmhCYXJsMk5LNW9GdllTckg1SlNp?= =?utf-8?B?UlVZdG9hSXVQMWo0NjFIY3N5Ri9QYjdaWG44bmlKeExrL2VpaHhjTTJNYWoy?= =?utf-8?B?OUptM1VaRnQ3V1ZZYUc1eDRmMWQ4RGRyZ1dKa0NWZEZUUDNwaWNtTmxXakVq?= =?utf-8?B?dDFtVEx5WFBoemxZdlRtRndRZS9aSE1UYnh0dVp3K2RtU0hUenJvcXpsRXB4?= =?utf-8?B?RHh3M0FOcytsdG1IYlJSSTR5dlBxc1BkTVR6T3RyZklFZEE2YlZET3hBeXVq?= =?utf-8?B?S2NTRzRSSCtHcHA5NXJNNnMzUGwzQW1DdlBZZExkVXczOTB2SUhMZUtiS3Az?= =?utf-8?B?UkpWMVM5NFhWUitudUR2ZUZxOWZqZVovNG1oTnJMMm8vWUF2L3dVTzVOcWJ5?= =?utf-8?B?WU5jYVQvVHVCaU0wWHlPUXVCSHh4RnBkb2JydUEyc2xtUjRseGRKbm9LNEJx?= =?utf-8?B?V1lvellTYjRFeGowVnpGNzNUTzlPclhneFM0ZnFGMDdsV1I2MysyNlg5Mm40?= =?utf-8?B?WDZKSm5rcXdOVHNzSVJ2bjRQd1ovS1BSdm1PQ1RPam1GdWNCM2dZamUwSmRt?= =?utf-8?B?aGtPSUNDQ1pWNDY0ZWh1MGg5NERlQnRLWHh5T3FIdngvZ2RUZk41V2ErTFZr?= =?utf-8?B?QUdPVGExRUZFVHRIZFFEdTI5bVZWcm5TMmhNenQwV0pZT2NLQnJNenAzaHVy?= =?utf-8?B?RVE2TXlCVW9RTU5LZ0tjYWJKc3dqbVBEMVkxNlE1VEU5MGdlV000QzhHcW9Z?= =?utf-8?B?UXZSUFpydm9BUUFJaEh4cGw5RC8wK0ZGZXFwNytveWJDTHFQaUdyWFc4ZUZL?= =?utf-8?B?ay9pME41YkJDaXI3RFhvaGh1NUM2bk9sbWZoZE50cmpXVWpnK3g1ZWRXYU9u?= =?utf-8?B?Tm1mODl6UnZzc2VDeFZTWGFrM2ZlZ2YrekxwWjNlbU1wckNGQkVZWGpjb1RC?= =?utf-8?B?U1JTT29lRUpVQ3N3QlRUUXYzMXpPYWlRR3gvQ3M3cWo5M2d6SWUwMkszeENG?= =?utf-8?B?aCttaWlFSyt1WWhMOTdqZ3JBL1lISlZZWEVaanpxUFJkS1J5NnAwZ2hqaFhC?= =?utf-8?B?Qno4dVd1ZEcxdUIwREVyKzVyUGVld0dXWTNrbEhtVEN4UG40MU9XWFp2MEM1?= =?utf-8?B?cEZTSlEzZnJXZlZYSE5ZdStYbEdBUnRWbHE5WEZkbzB3WmpLaWFNZjRYSGFG?= =?utf-8?B?bU5ocDZoc3FwMnJHU2ZwOXB2dit3QUV0UU1GbU5rNExpNmxXTDF0WGkrUCs0?= =?utf-8?B?eWc4Q0F6WUJnMjFpdzc5bWN5Z09DV0g2Q0tBSHd1OWxPWmxGSzhmdVJyVldr?= =?utf-8?B?UlV1ejdpQkczV2YwZ1doQnQ3M0srd1p4ZTNycVdWdEw3U0VhVjBGVHkyRWRj?= =?utf-8?B?Qnd0OWhPRmQ0MW52U0YxZTlDOStPTFBDWEh4RkliWC9NaFBDcHpMckw3MElk?= =?utf-8?B?Uk5OVi9PTUJ3SXlRS3JRQ3ZlVWFlRzhmQThZNHcvREIxUmt2dWREVDFGS2NT?= =?utf-8?B?MTNkcVdjZE1DN3piVTBEZnpFQ0Y4SENIM1I4VVlwbWpIblY2djh2WnQ5eVdj?= =?utf-8?Q?joKMb1gqTYdWxVCX59viG2w=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d05fcd8-09aa-4bec-695c-08d9aef97a2e X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2021 03:21:16.8064 (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: 58dR9OtNaTctM/K6G94OThClWmICVo0jfy8tavdvFye8v5gPhbxZwBVYka3S2UcvME9os/nxvnGTI/qv8RCQ8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4946 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TXkgYXBvbG9neSAtIGZpeCB0eXBvOiBvYmplY3Rpb24gb24gdGhlIGRpc2N1c3Npb24gPT4gb2Jq ZWN0aXZlIG9uIHRoZSBkaXNjdXNzaW9uLg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24g QmVoYWxmIE9mIFlhbywgSmlld2VuDQo+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgMjQsIDIw MjEgMTE6MTYgQU0NCj4gVG86IGplamJAbGludXguaWJtLmNvbTsgZGV2ZWxAZWRrMi5ncm91cHMu aW8NCj4gQ2M6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPjsgWHUsIE1pbiBNIDxt aW4ubS54dUBpbnRlbC5jb20+Ow0KPiBBcmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2Vy bmVsLm9yZz47IEp1c3RlbiwgSm9yZGFuIEwNCj4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+ OyBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+OyBFcmRlbQ0KPiBBa3RhcyA8 ZXJkZW1ha3Rhc0Bnb29nbGUuY29tPjsgVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1k LmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggVjMgMTUvMjldIE92bWZQ a2c6IFVwZGF0ZSBTZWNFbnRyeS5uYXNtIHRvDQo+IHN1cHBvcnQgVGR4DQo+IA0KPiBJIHRoaW5r IHdlIGFyZSBkaXNjdXNzaW5nIHVuZGVyIGRpZmZlcmVudCBjb250ZXh0Lg0KPiANCj4gRmlyc3Qs IHRoZSB0ZXJtICJpc29sYXRpb24iIHNoYWxsIGJlIGNsYXJpZmllZC4NCj4gSW4gbXkgY29udGV4 dCwgImlzb2xhdGlvbiIgbWVhbnMgdHdvIGRvbWFpbiBjYW5ub3QgaW1wYWN0IGVhY2ggb3RoZXIu DQo+IFRoZSBpc29sYXRpb24gaXMgZW5mb3JjZWQgYnkgYSAzcmQgaGlnaGVyIHByaXZpbGVnZWQg Y29tcG9uZW50LiBFeGFtcGxlczogUmluZzMNCj4gYXBwcyBhcmUgaXNvbGF0ZWQgYnkgT1MuIFRE cyBhcmUgaXNvbGF0ZWQgYnkgVERYIE1vZHVsZS4gVGhhdCBpcyB3aHkgSSBzYXk6IHRoZXJlDQo+ IGlzIG5vIGlzb2xhdGlvbi4NCj4gDQo+IEluIHlvdXIgY29udGV4dCwgaWYgb25lIGRvbWFpbiBq dW1wcyB0byBhbm90aGVyIGRvbWFpbiBhbmQgbmV2ZXIganVtcCBiYWNrLA0KPiB0aGVuIHlvdSBj YWxsIGl0ICJpc29sYXRpb24iLg0KPiANCj4gDQo+IFNlY29uZCwgaW4gRURLSUksIHdlIGhhdmUg c2ltaWxhciBjb25jZXB0IC0gd2UgY2FsbCB0cnVzdCByZWdpb24gKFRSKToNCj4gMSkgUmVjb3Zl cnkgVHJ1c3QgUmVnaW9uIChQRUkpDQo+IDIpIE1haW4gVHJ1c3QgUmVnaW9uIChEWEUtYmVmb3Jl IEVuZE9mRHhlKQ0KPiAzKSBNTSBUcnVzdCBSZWdpb24gKFNNTSkNCj4gNCkgQm9vdCBUcnVzdCBS ZWdpb24gKERYRSB3L28gQ1NNLWFmdGVyIEVuZE9mRHhlKQ0KPiA1KSBMZWdhY3kgVHJ1c3QgUmVn aW9uIChEWEUgd2l0aCBDU00tYWZ0ZXIgRW5kT2ZEeGUpDQo+IDYpIE9TIFRydXN0IFJlZ2lvbiAo T1MgQm9vdCkNCj4gDQo+IFdlIHVzZSB0ZXJtICJ0cmFuc2l0aW9uIiB0byBkZXNjcmliZSB0aGUg ZG9tYWluIGp1bXAuIFdlIGRvbuKAmXQgdXNlIHRlcm0NCj4gImlzb2xhdGlvbiIuDQo+IFdlIHVz ZSAiaXNvbGF0aW9uIiB3aGVyZSB0d28gY28tZXhpc3RlZCBSVCBjYW5ub3QgdGFtcGVyIGVhY2gg b3RoZXIuIEZvcg0KPiBleGFtcGxlLCBNTSB0cnVzdCByZWdpb24gYW5kIEJvb3QgVHJ1c3QgUmVn aW9uIGFyZSBpc29sYXRlZC4NCj4gQWN0dWFsbHksIHRoZSBvbmx5IGlzb2xhdGlvbiBleGFtcGxl IHdlIGhhdmUgaW4gQklPUyBpcyB4ODYgU01NIG9yIEFSTQ0KPiBUcnVzdFpvbmUuDQo+IA0KPiBX ZSBoYXZlIGJlbG93IHNlY3VyaXR5IGFzc3VtcHRpb246DQo+IDEpIFdoYXQgY2FuIGJlIHRydXN0 ZWQ/IFRoZSBsYXRlciBsYXVuY2hlZCBUUiBjYW4gdHJ1c3QgdGhlIGVhcmxpZXIgVFIuIEhlcmUN Cj4gInRydXN0IiBtZWFucyAidXNlIGRhdGEgaW5wdXQgd2l0aG91dCB2YWxpZGF0aW9uIg0KPiBG b3IgZXhhbXBsZToNCj4gMS4xKSBNYWluIFRSIGNhbiB0cnVzdCB0aGUgaW5wdXQgZnJvbSBSZWNv dmVyeSBUUi4NCj4gMS4yKSBNTSBSVCBjYW4gdHJ1c3QgdGhlIGlucHV0IGZyb20gTWFpbiBUUi4N Cj4gDQo+IDIpIFdoYXQgY2Fubm90IGJlIHRydXN0ZWQ/IEhlcmUgIm5vdCB0cnVzdCIgbWVhbnMg InZhbGlkYXRlIGRhdGEgaW5wdXQgYmVmb3JlDQo+IHVzZSAiDQo+IEZvciBleGFtcGxlOg0KPiAy LjEpIE1NIFJUIGNhbm5vdCB0cnVzdCB0aGUgaW5wdXQgZnJvbSBCb290IFRSLg0KPiAyLjIpIFJl Y292ZXJ5IFJUIGNhbm5vdCB0cnVzdCB0aGUgaW5wdXQgZnJvbSBCb290IFRSLg0KPiANCj4gSG93 ZXZlciwgVFIganVzdCBtZWFucyBhIHJlZ2lvbiBkZWZpbml0aW9uIHRvIGhlbHAgdXMgZG8gc2Vj dXJpdHkgYW5hbHlzaXMuDQo+IEl0IGlzIE5PVCByZWxhdGVkIHRvIGFueSBzZWN1cml0eSBleHBv c3VyZSwgc2V2ZXJpdHksIG9yIGV4cGxvaXRhYmlsaXR5Lg0KPiBUaGVyZSBpcyBubyBjb25jbHVz aW9uIHRoYXQgYSBidWcgaW4gUEVJIGlzIG1vcmUgb3IgbGVzcyBleHBsb2l0YWJsZSB0aGFuIERY RSBvcg0KPiBTTU0uDQo+IA0KPiANCj4gSGVyZSwgSSBoYXZlIGNvbW1lbnQgZm9yIHRoZSBzZW50 ZW5jZSBiZWxvdzoNCj4gDQo+IDEuICIgdGhlIFBFSSBkb21haW4gaGFzIHZlcnkgbGltaXRlZCBl eHBvc3VyZSwgaXQncyB0aGUgRFhFIGRvbWFpbiB0aGF0IGhhcyBmdWxsDQo+IGV4cG9zdXJlICIN Cj4gW0ppZXdlbl0gSSBkb27igJl0IHVuZGVyc3RhbmQgaG93IHRoYXQgaXMgY29uY2x1ZGVkLCBv biAiIGxpbWl0ZWQgZXhwb3N1cmUgIiwgIiBmdWxsDQo+IGV4cG9zdXJlICIuDQo+IA0KPiAyLiAi YnVncyBpbiBQRUkgY29kZSBjYW4ndCBiZSB1c2VkIHRvIGV4cGxvaXQgdGhlIHN5c3RlbSB3aGVu IGl0IGhhcyB0cmFuc2l0aW9uZWQNCj4gdG8gdGhlIERYRSBkb21haW4uIg0KPiBbSmlld2VuXSBJ IGRpc2FncmVlLiBBIGJ1ZyBpbiBQRUkgY29kZSBtYXkgYWxyZWFkeSBtb2RpZnkgdGhlIEhPQiwg d2hpbGUgdGhlDQo+IEhPQiBpcyBhbiBhcmNoaXRlY3R1cmUgZGF0YSBpbnB1dCBmb3IgRFhFLg0K PiBJZiBEWEUgcmVsaWVzIG9uIHNvbWUgbWFsaWNpb3VzIGRhdGEgZnJvbSBQRUksIERYRSBtaWdo dCBiZSBleHBsb2l0ZWQgbGF0ZXIuDQo+IA0KPiAzLiAiIGJ1dCBpdCBkb2VzIG1lYW4gdGhhdCB0 aGVyZSBhcmUgZmV3ZXIgZXhwbG9pdGFiaWxpdHkgY2xhc3NlcyBpbiBQRUkgdGhhbiBEWEUNCj4g YmVjYXVzZSB0aGUgc2VjdXJpdHkgZG9tYWluIGlzIG11Y2ggbGVzcyBleHBvc2VkLiINCj4gW0pp ZXdlbl0gSSBkb27igJl0IHVuZGVyc3RhbmQgaG93IHRoYXQgaXMgY29uY2x1ZGVkLCBvbiAgImZl d2VyIiwgImxlc3MiLg0KPiBJbiBoaXN0b3J5LCB0aGVyZSBhcmUgc2VjdXJpdHkgYnVncyBpbiBQ RUkgYW5kIHRoZXJlIGFyZSBzZWN1cml0eSBidWdzIGluIERYRS4gSQ0KPiB3b24ndCBzYXkgZmV3 ZXIgb3IgbGVzcy4NCj4gQWxzbyBiZWNhdXNlIHdlIHVzZSAqTE9DSyogbWVjaGFuaXNtLCBhbmQg c29tZSBMT0NLcyBhcmUgZW5mb3JjZWQgaW4gUEVJDQo+IHBoYXNlLg0KPiBBIGJ1ZyBpbiBQRUkg bWlnaHQgYmUgbW9yZSBzZXZlcmUgdGhhbiBhIGJ1ZyBpbiBEWEUuDQo+IA0KPiANCj4gDQo+IEhp IEphbWVzDQo+IFNvcnJ5LCBJIGFtIGEgbGl0dGxlIGxvc3Qgbm93Lg0KPiBUbyBiZSBob25lc3Qs IEkgYW0gbm90IHN1cmUgd2hhdCBpcyBvYmplY3RpdmUgb24gdGhlIGRpc2N1c3Npb24uDQo+IEFy ZSB5b3UgcXVlc3Rpb24gdGhlIGdlbmVyYWwgdGhyZWF0IG1vZGVsIGFuYWx5c2lzIG9uIFVFRkkg UEkgYXJjaGl0ZWN0dXJlPw0KPiBPciBhcmUgeW91IHRyeWluZyB0byBwZXJzdWFkZSBtZSB3ZSBz aG91bGQgaW5jbHVkZSBQRUkgaW4gVERWRiwgYmVjYXVzZSB5b3UNCj4gdGhpbmsgaXQgaXMgc2Fm ZXIgdG8gYWRkIGNvZGUgaW4gUEVJID8NCj4gT3Igc29tZXRoaW5nIGVsc2U/DQo+IA0KPiBQbGVh c2UgZW5saWdodGVuIG1lIHRoYXQuDQo+IA0KPiANCj4gVGhhbmsgeW91DQo+IFlhbywgSmlld2Vu DQo+IA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEphbWVz IEJvdHRvbWxleSA8amVqYkBsaW51eC5pYm0uY29tPg0KPiA+IFNlbnQ6IFR1ZXNkYXksIE5vdmVt YmVyIDIzLCAyMDIxIDExOjM4IFBNDQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBZYW8s IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gQ2M6IEdlcmQgSG9mZm1hbm4gPGty YXhlbEByZWRoYXQuY29tPjsgWHUsIE1pbiBNIDxtaW4ubS54dUBpbnRlbC5jb20+Ow0KPiA+IEFy ZCBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsgSnVzdGVuLCBKb3JkYW4g TA0KPiA+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgQnJpamVzaCBTaW5naCA8YnJpamVz aC5zaW5naEBhbWQuY29tPjsgRXJkZW0NCj4gPiBBa3RhcyA8ZXJkZW1ha3Rhc0Bnb29nbGUuY29t PjsgVG9tIExlbmRhY2t5DQo+IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4gPiBTdWJqZWN0 OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCBWMyAxNS8yOV0gT3ZtZlBrZzogVXBkYXRlIFNlY0Vu dHJ5Lm5hc20NCj4gdG8NCj4gPiBzdXBwb3J0IFRkeA0KPiA+DQo+ID4gT24gVHVlLCAyMDIxLTEx LTIzIGF0IDE1OjEwICswMDAwLCBZYW8sIEppZXdlbiB3cm90ZToNCj4gPiA+IEkgd291bGQgc2F5 IHRoZSBQRUkgb3ducyB0aGUgc3lzdGVtIGFuZCBhbGwgbWVtb3J5IChpbmNsdWRpbmcgdGhlDQo+ ID4gPiBEWEUpLg0KPiA+ID4NCj4gPiA+IEEgYnVnIGluIFBFSSBtYXkgb3ZlcnJpZGUgdGhlIGxv YWRlZCBEWEUgbWVtb3J5IG9yIHRoZSB3aG9sZSBzeXN0ZW0uDQo+ID4NCj4gPiBUaGF0J3Mgbm90 IHRoZSBjb3JyZWN0IHdheSB0byBhbmFseXNlIHRoZSBzZWN1cml0eSBwcm9wZXJ0aWVzLiAgRnJv bQ0KPiA+IHRoZSBzZWN1cml0eSBwb2ludCBvZiB2aWV3IHRoaXMgaXMgYSB0cmFwZG9vciBzeXN0 ZW06IG9uY2UgeW91IGdvDQo+ID4gdGhyb3VnaCB0aGUgZG9vciwgeW91IGNhbid0IGdvIGJhY2sg KHRoZSB0cmFwZG9vciBiZWluZyB0aGUganVtcCBmcm9tDQo+ID4gUEVJIHRvIERYRSkuICBUaGUg dHJhcGRvb3IgaXNvbGF0ZXMgdGhlIGRvbWFpbnMgYW5kIGFsbG93cyB5b3UgdG8NCj4gPiBhbmFs eXNlIHRoZSBzZWN1cml0eSBwcm9wZXJ0aWVzIG9mIGVhY2ggc2VwYXJhdGVseS4gIEl0IGFsc28g YWxsb3dzDQo+ID4gc2VwYXJhdGlvbiBvZiBleHBvc3VyZSAuLi4gd2hpY2ggaXMgd2hhdCB3ZSB1 c2UgaW4gdGhpcyBjYXNlOiB0aGUgUEVJDQo+ID4gZG9tYWluIGhhcyB2ZXJ5IGxpbWl0ZWQgZXhw b3N1cmUsIGl0J3MgdGhlIERYRSBkb21haW4gdGhhdCBoYXMgZnVsbA0KPiA+IGV4cG9zdXJlIGJ1 dCwgYmVjYXVzZSBvZiB0aGUgdHJhcGRvb3IsIGJ1Z3MgaW4gUEVJIGNvZGUgY2FuJ3QgYmUgdXNl ZA0KPiA+IHRvIGV4cGxvaXQgdGhlIHN5c3RlbSB3aGVuIGl0IGhhcyB0cmFuc2l0aW9uZWQgdG8g dGhlIERYRSBkb21haW4uDQo+ID4NCj4gPiA+IEluIGhpc3RvcnkgSSBkaWQgc2VlIFBFSSBzZWN1 cml0eSBpc3N1ZXMuDQo+ID4gPiBTb21lIHNlY3VyaXR5IGlzc3VlIGluIFBFSSBjYXVzZWQgc3lz dGVtIGNvbXByb21pc2VkIGNvbXBsZXRlbHkuIFlvdQ0KPiA+ID4gZXZlbiBoYXZlIG5vIGNoYW5j ZSB0byBydW4gRFhFLg0KPiA+DQo+ID4gVGhlIHNlY3VyaXR5IGRvbWFpbiBhbmFseXNpcyBhYm92 ZSBkb2Vzbid0IG1lYW4gbm8gYnVnIGluIFBFSSBpcyBldmVyDQo+ID4gZXhwbG9pdGFibGUgYnV0 IGl0IGRvZXMgbWVhbiB0aGF0IHRoZXJlIGFyZSBmZXdlciBleHBsb2l0YWJpbGl0eQ0KPiA+IGNs YXNzZXMgaW4gUEVJIHRoYW4gRFhFIGJlY2F1c2UgdGhlIHNlY3VyaXR5IGRvbWFpbiBpcyBtdWNo IGxlc3MNCj4gPiBleHBvc2VkLg0KPiA+DQo+ID4gSmFtZXMNCj4gPg0KPiANCj4gDQo+IA0KPiAN Cj4gDQoNCg==