From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.9666.1667923384328066625 for ; Tue, 08 Nov 2022 08:03:04 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=CgWiyNAP; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667923384; x=1699459384; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=6AC1Q5ZiS717kLJ5isnl6FCQyj6raLLR5wGcR1rRksY=; b=CgWiyNAP2gjUZF4pN2WujmQWr3D0O8eWQCihhD/yN/t+5p3Z41gueYFM rVP9ZvV1QHS22Z6cvaAUSFR8sxlMYl8qgtDJQj87JkyMiTNWseR3DZIXm UoSsTGbHqCYDg/56AGsawgJv+VukiaYVmx/GhYfKeGUOwP+LMNuVPE05p Acdb6MnKhhZ62PUCcQoua+cgyOHSHRAVQr4v/0lwXntcDDUxaldcRsqJe eIETE6wd56kon5vSm48oEv7vP5Vyw5UH+DMX5XuYrracqJ0UeThkFXNoF J1jL5DMmoN9SKLVz3+OHC7ys6w/69BfgPesK1UiPGfBzSKK6ZGbw+IhD1 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10525"; a="312523320" X-IronPort-AV: E=Sophos;i="5.96,148,1665471600"; d="scan'208";a="312523320" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Nov 2022 08:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10525"; a="636384629" X-IronPort-AV: E=Sophos;i="5.96,148,1665471600"; d="scan'208";a="636384629" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga002.jf.intel.com with ESMTP; 08 Nov 2022 08:02:06 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 8 Nov 2022 08:02:06 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 8 Nov 2022 08:02:06 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.102) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 8 Nov 2022 08:02:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RBzsl+L5US0u1OtsjHfIyj7BLL8Lc2bHpyiXirl5rA7afm2Lqhsh3cboVxJnJOcHAfgmI4rGp+t9IL7SBn1U6JrJK8YxyzCTgBvR1c+iN+B7Wde2ifd1GPQM8myVk/4XVOgohVeKYLl8O7e76zpMtxDBJ/Tl8HdnO46Nxux1TIqSge/JsBwgPxthV3zHWTWPuMrqd8sblbypYL1XsyPE3MlFic3+xygaLtdqrWTcLQhIUlFsOPe/8ipEr/6CsXvczpI1xwCFkRFzvW6ci+wipwSe79A5HNeIYBvP4xz+v4UgmEm3aaYez5HASzV8ZM1qwaxjWRwu1b4ybj7FnErq6A== 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=6AC1Q5ZiS717kLJ5isnl6FCQyj6raLLR5wGcR1rRksY=; b=jcVG+Gk8VgPgMxyfJMLqcWWNxuw0Tg36+ozfgd6/rptPtBZHuHaCOkRQbeof5fGvnswu6AMKTbc7FvWs9s+9CqDhse2LN6YoX28IiCR134dXsPSzK6sbOHFExiRGczfktYVrTVc7K8efwk7+Z6q0T43HNd7FI+r61u/JCAXKXL6vfv2cAe+6+GSrs8bVd9fnR1ObjbuwP/J7SAdlU5xGdqfTRHZoB+o6rF3pVFdvXPPe17NE5kRoBfcmHjQYodkpVi4sqJzoSL/Q1fZwIbqiAg/DbfGkT6cM9/XJncesQja4iCnVrgFd0WHMriOIjvlJvNP58IgMiVBh03hvFI/lhQ== 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 Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by DS7PR11MB6294.namprd11.prod.outlook.com (2603:10b6:8:96::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.25; Tue, 8 Nov 2022 16:02:00 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::666a:6f66:597a:7620]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::666a:6f66:597a:7620%9]) with mapi id 15.20.5791.026; Tue, 8 Nov 2022 16:02:00 +0000 From: "Yao, Jiewen" To: Dionna Glaze , "devel@edk2.groups.io" CC: Gerd Hoffmann , James Bottomley , Tom Lendacky Subject: Re: [PATCH v8 1/7] OvmfPkg: Realize EfiMemoryAcceptProtocol in AmdSevDxe Thread-Topic: [PATCH v8 1/7] OvmfPkg: Realize EfiMemoryAcceptProtocol in AmdSevDxe Thread-Index: AQHY5+kMIorSpz57Jke8iykt28nNUK41Ruvw Date: Tue, 8 Nov 2022 16:01:59 +0000 Message-ID: References: <20221024204114.2772064-1-dionnaglaze@google.com> <20221024204114.2772064-2-dionnaglaze@google.com> In-Reply-To: <20221024204114.2772064-2-dionnaglaze@google.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 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-traffictypediagnostic: MW4PR11MB5872:EE_|DS7PR11MB6294:EE_ x-ms-office365-filtering-correlation-id: c4d87cb4-bc0e-4cc0-5268-08dac1a291b3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oK6CW6mcipvfNyXyUfKoshHKNCX62gqy9dWj9Hy0SPpv2g6iWkdJ1QKNuF+PQZY76TOxWhWoos23UHNZm/2iki/rbju5+RLOPq5eLEaAScXHmaNt0BGw4n0wEcJVNxDZydMrBJvsRD9JqzkrsGsPhHLpEAirhRkyeewaYT1V5qRMOn+TerDK7ziqFPcNHSoWqwvKHGGi1UgDyczYcwMfmYIXSiJUdA2xY0IrIe8k2K4J/a3vKdm1IFDT5yX1gd8DkQAkHBr1KEUlJf1yhi0hCKgbhTrDFgxY8/K5WxOZW7cyTkhhmijGQBfux5Y/1lQxBxkSp4qia2/SYfpO+2vFct+qgiOO/jvA/R/FmHPvJJ+AHYqfR08WN1Op6tVI/Z7QdZIWTpGTFfEtFEcPS2To2LO3aUC3Sn/Zi5mCGtMujyHnTZh5Ag0A7YPLggW7o7sdqAw4587TlFfE3fRDoUL+PK/COTmnJEbKxUsmxVzSvNa5iaAk7UgZHHDvz0//8vAUyslrKBEjuCelMJwROhaD0JHLQCzZEW0G5LmiO/Q5CQeqMYyxvVU4VFzVNSkivPJd0PIHrJnHPiD8RTEKOb1PVLntyGwE+Cf/3X1/nVy0zG1CihN77cOjKYNmDfE9Edg8kscI4tbmeaZiHOL4QY3cGx7CcgszovBBoD3ejkF5RkVPWxleYp2j6fQCkrQcBJUR/r8+DA2CHeIw6HBgCQNaKzUNkJhyczrslO7gx29a6OnXwbexs7vpzLoH/NmYFU3IbtWIL0WDzYIhU63kVj9g+A== 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:(13230022)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199015)(66556008)(66446008)(66946007)(71200400001)(76116006)(66476007)(55016003)(33656002)(8676002)(64756008)(122000001)(19627235002)(82960400001)(316002)(41300700001)(110136005)(6506007)(38100700002)(7696005)(4326008)(54906003)(52536014)(8936002)(5660300002)(478600001)(83380400001)(26005)(9686003)(186003)(53546011)(38070700005)(86362001)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VnlIS29xUFU1MFNTSnUvRGxBc0lRdGJaQWtZSTNrRUl4RFJVZ29IaUtQZUtr?= =?utf-8?B?N0VUWGhyRk5USXptVmE4a1p2c1dxYS9ESktCZ3k1ajZtWUNIKzViWFhYeTFU?= =?utf-8?B?aXE3MVFIWnZFeUg4SWc5N0hqbUpKZXk3VSt5dGFmM0xpNzN4NUxCUUJZSHJM?= =?utf-8?B?RERSMHlvc2NlQWdxdGxsR2VCRDJkcGpnbVNOeGVxOGIwc2JmTlpCL21ZNHBz?= =?utf-8?B?cm1rMzQza2hjaUR2UENzaWh5YnNCaTU4TGI0OEdYRmsvSmxCdUZvNUQzK3JV?= =?utf-8?B?eXhjMldZZ1gwaHFWaElpUTlQc0FxT2lrSytpTFRFaHZmUXQxcXFiSlBNbHV2?= =?utf-8?B?d2hsWDc2OEs1eFBzRjFWS05WS3JCbC9Uc1pLL3RZR1NuY0tuNm0zaURMbmFS?= =?utf-8?B?bVVya1ZKUmFIczdEalV0WVREalh3aEN0VUl2QVRhV2FvUk9tS0lMamJGbDlN?= =?utf-8?B?aGlpT0V3TVdTaFlERmZyaDluRXJ1U2twMWNvejROOWh0YWR4VERORTRYMS9x?= =?utf-8?B?UmpESlRwTnJXcEpCUGlraWFQQTk3aXk3MWZ6aCtwNHVMbzZKejM0WmlEWGNC?= =?utf-8?B?eFNzeTc2ck5FNDhnQytwMmpaSUNLbVVzalpWKzlTSU9wVGhJSXR2OVFuUXRW?= =?utf-8?B?MnJMMk5aSUtPaEtBRHNTR0lPblFkYndXVTEvRHhUWXk0ZU44UjB4RWRHM2xW?= =?utf-8?B?TDE0TXJZcTRzemNjT0I4VEg1RU1qc3VUcUdzT20zSnhnZ0ZZYnpCSG52S25L?= =?utf-8?B?WmRUcXFTdGF0bVZjTlNWb3NlTks3ZmU4QTJ6SGlRS1dRa2N0VWtRR0FqQjRM?= =?utf-8?B?VUNoWENVU1dkQXg0T1ZLODdFM1pxMmVkZ3BrTS9LTDAyU3ZRb2RxaGV2My9t?= =?utf-8?B?QmxsMFlZRjJ5R0xEU3I5dFBodXFuU1NjSU1OelJ0SEtQa3JGQVYxbFl4MTcz?= =?utf-8?B?RHJ4T21SRzJxYTEzeU42ZUV6TjV3UDRnT05FdFRxNUNWaXZHMkxTMmx4R2Vp?= =?utf-8?B?T0N3TzZYdWZtcS9Ka0VGdlYySWxoUUI4QjBiTDFYYzkzTERaT05EOTFSY1Vq?= =?utf-8?B?QTB6WEJhNmgwSDY1V0Jsb2Nqd1VGYU14UWgxVk9qQStVVnFFME5qMmxsVkxi?= =?utf-8?B?VWs5alM4a0VpZ2l2VXAwZURjV2pCa0ZENEZISTlzTUxrcVFxV3FURG1FMHo1?= =?utf-8?B?L2ZKL0k2V1d0a1M4USt1cTdqV1Jqanl6bzlkZUVJMzNHNkcvVS9sNE1xZ2Ji?= =?utf-8?B?RlBkdUxRK2tKdHlGT2hBbllrWFZJVnZ1OWRxNkZhNjBESVU4NzNUODZxVHla?= =?utf-8?B?bHlrOTVaUXVaZzlUVnhoUmZiYVUzbmpFMnB4M2NkRSt1QVcxVHljclRMM2dx?= =?utf-8?B?UmdLU2E5TE1KNTlERlUySEtjeXVIM3diVTNrSTBSUEJZVExRRC91bUtLM3Jx?= =?utf-8?B?cFFlNlVNRDV4NHIzd2pOWDF0RkVmalVJeU1vUXkyaFNaZnZ3bWJMakMrTmw1?= =?utf-8?B?K2RjRFp0MjFoSDhBblM1YnE3UG1Ta0RQWDRuRzl1MW5xb1I1YVYzL1Z3dU4r?= =?utf-8?B?R1V2YVM2R0dhNUdNQWIzRWlHelVyZThrNG1Fc2JMVEkzZGNKQnFwNWVQYXZv?= =?utf-8?B?Rkl5M0w4RGVHMFF2dXNpb3F5Z3BtTGJGTlBoZ29pTUFuUFFPYm11QVk5Tm13?= =?utf-8?B?aTBranNOZm5MYUttekJlb2ZvTnFWVzBGUUcvbWgwdmFTKytjK1kzWWdoUnhU?= =?utf-8?B?M0FpekkxRFBFU1VhTFJ0Y2g1bG1ZbmYxaHhrR1VhbjdYUlBIaGdETklOT1Jy?= =?utf-8?B?V1ZWVEFwTVJ3SzJhb0JmeXVYRHBFb0s4bU56aXRpRjIwS2ZQVVNoTDF5aWZv?= =?utf-8?B?N0lpR1hVK3p1dHpUWHpCeDBJYXlHb2EyUXRhdmpsMFcwSUhwc3AyTEE4OHBt?= =?utf-8?B?NXlhMzQyWlhVZ3N6cjJvSG1UTjB6U1dBcVY5ek1uMkpxK1NCQ0NFZk1pRW5l?= =?utf-8?B?WWg5SXRENWVaeGoxMW14enZZbG1qNElNWWZpM0ZMVXNRbzJDYTBXSWdkTUo1?= =?utf-8?B?RXhHZU1PQThyZzNzQ0QwMnN0U3JDRDArYVduT1kyb1VHVTNycmNNNWxKcmY4?= =?utf-8?Q?K+LdhnX6zoC7bMg87+0s+N79s?= 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: c4d87cb4-bc0e-4cc0-5268-08dac1a291b3 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2022 16:01:59.9345 (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: 02pZ+DfqY2mGpGOIpgBOqExdQ/t5EpRpcnm4xeZFmVHOMr//vakr8oIA2oiwRMmYMW4LOV/69AgF03VdUr8Caw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB6294 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 QWNrZWQtYnk6IEppZXdlbiBZYW8gPEppZXdlbi55YW9AaW50ZWwuY29tPg0KDQpOZWVkIEFNRC1T RVYgcGVvcGxlIHRvIGdpdmUgUmV2aWV3ZWQtYnkuDQoNClRoYW5rIHlvdQ0KWWFvLCBKaWV3ZW4N Cg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEaW9ubmEgR2xhemUgPGRp b25uYWdsYXplQGdvb2dsZS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMjUsIDIwMjIg NDo0MSBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IERpb25uYSBHbGF6ZSA8 ZGlvbm5hZ2xhemVAZ29vZ2xlLmNvbT47IEdlcmQgSG9mZm1hbm4NCj4gPGtyYXhlbEByZWRoYXQu Y29tPjsgSmFtZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+OyBZYW8sDQo+IEppZXdl biA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBUb20gTGVuZGFja3kNCj4gPHRob21hcy5sZW5kYWNr eUBhbWQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjggMS83XSBPdm1mUGtnOiBSZWFsaXplIEVm aU1lbW9yeUFjY2VwdFByb3RvY29sIGluDQo+IEFtZFNldkR4ZQ0KPiANCj4gRnJvbTogU29waGlh IFdvbGYgPHBoaWF3b2xmQGdvb2dsZS5jb20+DQo+IA0KPiBXaGVuIGEgZ3Vlc3QgT1MgZG9lcyBu b3Qgc3VwcG9ydCB1bmFjY2VwdGVkIG1lbW9yeSwgdGhlIHVuYWNjZXB0ZWQNCj4gbWVtb3J5IG11 c3QgYmUgYWNjZXB0ZWQgYmVmb3JlIHJldHVybmluZyBhIG1lbW9yeSBtYXAgdG8gdGhlIGNhbGxl ci4NCj4gDQo+IEVmaU1lbW9yeUFjY2VwdFByb3RvY29sIGlzIGRlZmluZWQgaW4gTWRlUGtnIGFu ZCBpcyBpbXBsZW1lbnRlZCAvDQo+IEluc3RhbGxlZCBpbiBBbWRTZXZEeGUgZm9yIEFNRCBTRVYt U05QIG1lbW9yeSBhY2NlcHRhbmNlLg0KPiANCj4gQ2M6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEBy ZWRoYXQuY29tPg0KPiBDYzogSmFtZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+DQo+ IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gQ2M6IFRvbSBMZW5kYWNr eSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IERpb25uYSBHbGF6 ZSA8ZGlvbm5hZ2xhemVAZ29vZ2xlLmNvbT4NCj4gLS0tDQo+ICBPdm1mUGtnL0FtZFNldkR4ZS9B bWRTZXZEeGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1NQ0KPiAr KysrKysrKysrKysrKysrKystLQ0KPiAgT3ZtZlBrZy9BbWRTZXZEeGUvQW1kU2V2RHhlLmluZiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKysNCj4gDQo+IE92bWZQa2cv TGlicmFyeS9CYXNlTWVtRW5jcnlwdFNldkxpYi9YNjQvRHhlU25wU3lzdGVtUmFtVmFsaWRhdGUu DQo+IGMgfCAyNCArKysrKysrLS0NCj4gIDMgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygr KSwgOCBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL0FtZFNldkR4ZS9B bWRTZXZEeGUuYw0KPiBiL092bWZQa2cvQW1kU2V2RHhlL0FtZFNldkR4ZS5jDQo+IGluZGV4IDY2 MmQzYzRjY2IuLmY3NjAwYzNjODEgMTAwNjQ0DQo+IC0tLSBhL092bWZQa2cvQW1kU2V2RHhlL0Ft ZFNldkR4ZS5jDQo+ICsrKyBiL092bWZQa2cvQW1kU2V2RHhlL0FtZFNldkR4ZS5jDQo+IEBAIC0y MCw2ICsyMCw3IEBADQo+ICAjaW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVM aWIuaD4NCj4gICNpbmNsdWRlIDxHdWlkL0NvbmZpZGVudGlhbENvbXB1dGluZ1NldlNucEJsb2Iu aD4NCj4gICNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29s L01lbW9yeUFjY2VwdC5oPg0KPiANCj4gIFNUQVRJQyBDT05GSURFTlRJQUxfQ09NUFVUSU5HX1NO UF9CTE9CX0xPQ0FUSU9ODQo+IG1TbnBCb290RHhlVGFibGUgPSB7DQo+ICAgIFNJR05BVFVSRV8z MiAoJ0EnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNJywgJ0QnLCAnRScp LA0KPiBAQCAtMzEsNiArMzIsNDAgQEAgU1RBVElDDQo+IENPTkZJREVOVElBTF9DT01QVVRJTkdf U05QX0JMT0JfTE9DQVRJT04gIG1TbnBCb290RHhlVGFibGUgPSB7DQo+ICAgIEZpeGVkUGNkR2V0 MzIgKFBjZE92bWZDcHVpZFNpemUpLA0KPiAgfTsNCj4gDQo+ICtTVEFUSUMgRUZJX0hBTkRMRSAg bUFtZFNldkR4ZUhhbmRsZSA9IE5VTEw7DQo+ICsNCj4gKyNkZWZpbmUgSVNfQUxJR05FRCh4LCB5 KSAgKCgoKHgpICYgKCh5KSAtIDEpKSA9PSAwKSkNCj4gKw0KPiArU1RBVElDDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0FtZFNldk1lbW9yeUFjY2VwdCAoDQo+ICsgIElOIEVES0lJX01F TU9SWV9BQ0NFUFRfUFJPVE9DT0wgICpUaGlzLA0KPiArICBJTiBFRklfUEhZU0lDQUxfQUREUkVT UyAgICAgICAgICBTdGFydEFkZHJlc3MsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAg ICAgICAgIFNpemUNCj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBUaGUgU3RhcnRBZGRy ZXNzIG11c3QgYmUgcGFnZS1hbGlnbmVkLCBhbmQgdGhlIFNpemUgbXVzdCBiZSBhDQo+IHBvc2l0 aXZlDQo+ICsgIC8vIG11bHRpcGxlIG9mIFNJWkVfNEtCLiBVc2UgYW4gYXNzZXJ0IGluc3RlYWQg b2YgcmV0dXJuaW5nIGFuIGVycm9zIHNpbmNlDQo+ICsgIC8vIHRoaXMgaXMgYW4gRURLMi1pbnRl cm5hbCBwcm90b2NvbC4NCj4gKyAgLy8NCj4gKyAgQVNTRVJUIChJU19BTElHTkVEIChTdGFydEFk ZHJlc3MsIFNJWkVfNEtCKSk7DQo+ICsgIEFTU0VSVCAoSVNfQUxJR05FRCAoU2l6ZSwgU0laRV80 S0IpKTsNCj4gKyAgQVNTRVJUIChTaXplICE9IDApOw0KPiArDQo+ICsgIE1lbUVuY3J5cHRTZXZT bnBQcmVWYWxpZGF0ZVN5c3RlbVJhbSAoDQo+ICsgICAgU3RhcnRBZGRyZXNzLA0KPiArICAgIEVG SV9TSVpFX1RPX1BBR0VTIChTaXplKQ0KPiArICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9T VUNDRVNTOw0KPiArfQ0KPiArDQo+ICtTVEFUSUMgRURLSUlfTUVNT1JZX0FDQ0VQVF9QUk9UT0NP TCAgbU1lbW9yeUFjY2VwdFByb3RvY29sID0gew0KPiArICBBbWRTZXZNZW1vcnlBY2NlcHQNCj4g K307DQo+ICsNCj4gIEVGSV9TVEFUVVMNCj4gIEVGSUFQSQ0KPiAgQW1kU2V2RHhlRW50cnlQb2lu dCAoDQo+IEBAIC0xNDcsMTEgKzE4MiwyMyBAQCBBbWRTZXZEeGVFbnRyeVBvaW50ICgNCj4gICAg ICB9DQo+ICAgIH0NCj4gDQo+IC0gIC8vDQo+IC0gIC8vIElmIGl0cyBTRVYtU05QIGFjdGl2ZSBn dWVzdCB0aGVuIGluc3RhbGwgdGhlDQo+IENPTkZJREVOVElBTF9DT01QVVRJTkdfU0VWX1NOUF9C TE9CLg0KPiAtICAvLyBJdCBjb250YWlucyB0aGUgbG9jYXRpb24gZm9yIGJvdGggdGhlIFNlY3Jl dHMgYW5kIENQVUlEIHBhZ2UuDQo+IC0gIC8vDQo+ICAgIGlmIChNZW1FbmNyeXB0U2V2U25wSXNF bmFibGVkICgpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBNZW1vcnkgYWNjZXB0YW5jZSBiZWdh biBiZWluZyByZXF1aXJlZCBpbiBTRVYtU05QLCBzbyBpbnN0YWxsIHRoZQ0KPiArICAgIC8vIG1l bW9yeSBhY2NlcHQgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24gZm9yIGEgU0VWLVNOUCBhY3RpdmUg Z3Vlc3QuDQo+ICsgICAgLy8NCj4gKyAgICBTdGF0dXMgPSBnQlMtPkluc3RhbGxQcm90b2NvbElu dGVyZmFjZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICZtQW1kU2V2RHhlSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgICAmZ0Vka2lpTWVtb3J5QWNjZXB0UHJvdG9jb2xHdWlkLA0KPiAr ICAgICAgICAgICAgICAgICAgICBFRklfTkFUSVZFX0lOVEVSRkFDRSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgJm1NZW1vcnlBY2NlcHRQcm90b2NvbA0KPiArICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIElmIGl0cyBTRVYtU05QIGFjdGl2ZSBndWVzdCB0aGVuIGluc3RhbGwgdGhlDQo+IENP TkZJREVOVElBTF9DT01QVVRJTkdfU0VWX1NOUF9CTE9CLg0KPiArICAgIC8vIEl0IGNvbnRhaW5z IHRoZSBsb2NhdGlvbiBmb3IgYm90aCB0aGUgU2VjcmV0cyBhbmQgQ1BVSUQgcGFnZS4NCj4gKyAg ICAvLw0KPiAgICAgIHJldHVybiBnQlMtPkluc3RhbGxDb25maWd1cmF0aW9uVGFibGUgKA0KPiAg ICAgICAgICAgICAgICAgICAgJmdDb25maWRlbnRpYWxDb21wdXRpbmdTZXZTbnBCbG9iR3VpZCwN Cj4gICAgICAgICAgICAgICAgICAgICZtU25wQm9vdER4ZVRhYmxlDQo+IGRpZmYgLS1naXQgYS9P dm1mUGtnL0FtZFNldkR4ZS9BbWRTZXZEeGUuaW5mDQo+IGIvT3ZtZlBrZy9BbWRTZXZEeGUvQW1k U2V2RHhlLmluZg0KPiBpbmRleCA5YWNmODYwY2YyLi5jZDFiNjg2YzUzIDEwMDY0NA0KPiAtLS0g YS9Pdm1mUGtnL0FtZFNldkR4ZS9BbWRTZXZEeGUuaW5mDQo+ICsrKyBiL092bWZQa2cvQW1kU2V2 RHhlL0FtZFNldkR4ZS5pbmYNCj4gQEAgLTQ3LDYgKzQ3LDkgQEANCj4gICAgZ1VlZmlPdm1mUGtn VG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNucFNlY3JldHNCYXNlDQo+ICAgIGdVZWZpT3ZtZlBrZ1Rv a2VuU3BhY2VHdWlkLlBjZE92bWZTbnBTZWNyZXRzU2l6ZQ0KPiANCj4gK1tQcm90b2NvbHNdDQo+ ICsgIGdFZGtpaU1lbW9yeUFjY2VwdFByb3RvY29sR3VpZA0KPiArDQo+ICBbR3VpZHNdDQo+ICAg IGdDb25maWRlbnRpYWxDb21wdXRpbmdTZXZTbnBCbG9iR3VpZA0KPiANCj4gZGlmZiAtLWdpdA0K PiBhL092bWZQa2cvTGlicmFyeS9CYXNlTWVtRW5jcnlwdFNldkxpYi9YNjQvRHhlU25wU3lzdGVt UmFtVmFsaWRhdA0KPiBlLmMNCj4gYi9Pdm1mUGtnL0xpYnJhcnkvQmFzZU1lbUVuY3J5cHRTZXZM aWIvWDY0L0R4ZVNucFN5c3RlbVJhbVZhbGlkYQ0KPiB0ZS5jDQo+IGluZGV4IGQzYTk1ZTQ5MTMu LmNiY2RkNDZmNTIgMTAwNjQ0DQo+IC0tLQ0KPiBhL092bWZQa2cvTGlicmFyeS9CYXNlTWVtRW5j cnlwdFNldkxpYi9YNjQvRHhlU25wU3lzdGVtUmFtVmFsaWRhdA0KPiBlLmMNCj4gKysrDQo+IGIv T3ZtZlBrZy9MaWJyYXJ5L0Jhc2VNZW1FbmNyeXB0U2V2TGliL1g2NC9EeGVTbnBTeXN0ZW1SYW1W YWxpZGENCj4gdGUuYw0KPiBAQCAtMTQsNiArMTQsNyBAQA0KPiAgI2luY2x1ZGUgPExpYnJhcnkv TWVtRW5jcnlwdFNldkxpYi5oPg0KPiANCj4gICNpbmNsdWRlICJTbnBQYWdlU3RhdGVDaGFuZ2Uu aCINCj4gKyNpbmNsdWRlICJWaXJ0dWFsTWVtb3J5LmgiDQo+IA0KPiAgLyoqDQo+ICAgIFByZS12 YWxpZGF0ZSB0aGUgc3lzdGVtIFJBTSB3aGVuIFNFVi1TTlAgaXMgZW5hYmxlZCBpbiB0aGUgZ3Vl c3QgVk0uDQo+IEBAIC0yOSwxMiArMzAsMjcgQEAgTWVtRW5jcnlwdFNldlNucFByZVZhbGlkYXRl U3lzdGVtUmFtICgNCj4gICAgSU4gVUlOVE4gICAgICAgICAgICAgTnVtUGFnZXMNCj4gICAgKQ0K PiAgew0KPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ICsNCj4gICAgaWYgKCFNZW1FbmNyeXB0 U2V2U25wSXNFbmFibGVkICgpKSB7DQo+ICAgICAgcmV0dXJuOw0KPiAgICB9DQo+IA0KPiAtICAv Lw0KPiAtICAvLyBBbGwgdGhlIHByZS12YWxpZGF0aW9uIG11c3QgYmUgY29tcGxldGVkIGluIHRo ZSBQRUkgcGhhc2UuDQo+IC0gIC8vDQo+IC0gIEFTU0VSVCAoRkFMU0UpOw0KPiArICAvLyBEWEUg cHJlLXZhbGlkYXRpb24gbWF5IGhhcHBlbiB3aXRoIHRoZSBtZW1vcnkgYWNjZXB0IHByb3RvY29s Lg0KPiArICAvLyBUaGUgcHJvdG9jb2wgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG91dHNpZGUgdGhl IHByZXZhbGlkYXRlZCByYW5nZXMNCj4gKyAgLy8gdGhhdCB0aGUgUEVJIHN0YWdlIGNvZGUgZXhw bGljaXRseSBza2lwcy4gU3BlY2lmaWNhbGx5LCBvbmx5IG1lbW9yeQ0KPiArICAvLyByYW5nZXMg dGhhdCBhcmUgY2xhc3NpZmllZCBhcyB1bmFjY2VwdGVkLg0KPiArICBpZiAoQmFzZUFkZHJlc3Mg Pj0gU0laRV80R0IpIHsNCj4gKyAgICBTdGF0dXMgPSBJbnRlcm5hbE1lbUVuY3J5cHRTZXZDcmVh dGVJZGVudGl0eU1hcDFHICgNCj4gKyAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAg ICBCYXNlQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgIEVGSV9QQUdFU19UT19TSVpFIChOdW1Q YWdlcykNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgQVNTRVJUIChGQUxTRSk7DQo+ICsgICAgICBDcHVEZWFkTG9vcCAoKTsN Cj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBJbnRlcm5hbFNldFBhZ2VTdGF0ZSAoQmFzZUFk ZHJlc3MsIE51bVBhZ2VzLCBTZXZTbnBQYWdlUHJpdmF0ZSwNCj4gVFJVRSk7DQo+ICB9DQo+IC0t DQo+IDIuMzguMC4xMzUuZzkwODUwYTIyMTEtZ29vZw0KDQo=