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.11460.1680128615905143541 for ; Wed, 29 Mar 2023 15:23:36 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=DXen82A9; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680128615; x=1711664615; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=lWZC7DYfudbNs8m2PcIOTZg4gbvRfvpnRzNn/lnN3Uc=; b=DXen82A9tWvWO8iThgwHDPCd6tD+FxWgek5Zyquvr5xT+F8JWFRUndOp yD7IMELaygqxmDk+zTF8B9KqYnAzBR1Abxy4g0BpO0iavmtuX3e5GjAZg sa4CHEs2uvjkiM3vCRWzBCURpgN2WjNiMPkeygg12KlWOcYvy+EfHpOqu wueQ9PbSktZ5uQ9zLI9RNVi8JwcAc1gO3Q++qnnpv8lcOgfFjcL3sxQdI BA5OVoTuWvr29t5ALNYmgbqrzH/FRSf4sMbKx1a5gTLTchQeGTCJmRPkQ tZ4rIz7F/lvSixCAIhQ2UmY8FWYjMIooYaWUoBCGXdUCh/EdMVk6JzStV w==; X-IronPort-AV: E=McAfee;i="6600,9927,10664"; a="343460252" X-IronPort-AV: E=Sophos;i="5.98,301,1673942400"; d="scan'208";a="343460252" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2023 15:23:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10664"; a="753762877" X-IronPort-AV: E=Sophos;i="5.98,301,1673942400"; d="scan'208";a="753762877" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 29 Mar 2023 15:23:30 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 29 Mar 2023 15:23:30 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 29 Mar 2023 15:23:29 -0700 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.21 via Frontend Transport; Wed, 29 Mar 2023 15:23:29 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.170) 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.21; Wed, 29 Mar 2023 15:23:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YVpq8im3k3GO3xnvxd3+f6whxcq6bf06W1+A9yBA/USNnkRKzP1+emKVjSeCrbj3lzyQtjuL4C1GferiTf/SSqpgk4TVUPhqVjoerYVL7e6bSS03p4eXbH0AlC09AiGL9anuli2An3vEbYNvNFkMuWo9FGLpLbWaFIR8S9CXc6WIU6jZTzhyS1+5h0QgoLBrf1yrOkIrdgYyVLuMImVwmcEKc15tql5KZyBAyqPZcpknsyXnwvrEHg7T1BMxuS2T4mA2uyVX7s0BMAUp2e2giX8/hL9JwkzfdYBIfDxBIw67tkj18hwforPCMTnKmCzIxzdFb1DLif6+kF/JcWN31w== 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=lWZC7DYfudbNs8m2PcIOTZg4gbvRfvpnRzNn/lnN3Uc=; b=LsYKjM1/3MB4g1JH6OTO21ygMWnPVJDEheUcePpqyxkT8kqTcq1azrkQueMmA/gzw+/IhupjlnjDiHYov9J/mWOy//9gJZ+Pbwj5JlmTIuaWbvK9dRegGWvPdOaaNXqyDPAh3KEaKue9J2hcybdwijbEzjlcBPlMP1icNadqLgbgybV3wsQhQeDfyr+JcRozaypSwZcD2049R1RGlXVBeUsbkmlSpWJ1/TZyyIKPaU2/agNTwLJDAkUyH5iz3OUxKRM40ct3/kQhSAUj2CppVOw59nOSEV37ii7E4HdYbSDEMfiXmUQzumzJ6zLBU7ZP1Z47T4WoYD9TJyoKqe5cUQ== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by LV2PR11MB6048.namprd11.prod.outlook.com (2603:10b6:408:178::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar 2023 22:23:27 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::76be:1164:2c1f:90a5]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::76be:1164:2c1f:90a5%7]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023 22:23:27 +0000 From: "Michael D Kinney" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Dong, Eric" , "Kumar, Rahul R" , Gerd Hoffmann , "Anadani, Ahmad" , "Kinney, Michael D" Subject: Re: [PATCH 5/6] UefiCpuPkg/CpuDxe: Substract TME-MK KEY_ID_BITS from CPU max PA Thread-Topic: [PATCH 5/6] UefiCpuPkg/CpuDxe: Substract TME-MK KEY_ID_BITS from CPU max PA Thread-Index: AQHZXFDblUSKvYmr3U260+q86ma/K68SYX7Q Date: Wed, 29 Mar 2023 22:23:27 +0000 Message-ID: References: <20230321235650.675-1-ray.ni@intel.com> <20230321235650.675-6-ray.ni@intel.com> In-Reply-To: <20230321235650.675-6-ray.ni@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: CO1PR11MB4929:EE_|LV2PR11MB6048:EE_ x-ms-office365-filtering-correlation-id: bcad918c-63da-43c0-070b-08db30a43814 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3a3KA6He8ZXIC+NgFwJhklZ8NVJV9WBRdhary1tKzG6gVBCZBOsu7Ov1y2OZ9Rz1s53rSavIiGtI2kVRi2t1MOoevMTHRPydOuaSMGtjRoNtFIARE20srtAK4eXuxr2O7SJ2oNaO7rt4+8+0vDm4BeuJY52seUlw8m139hLC5grCkT+gvc9z6WwL+YJMfXX3kdJT6jQDrwQAvgjeS7B1QexbChK6pHDHMFq1RBlDT73r6JIg11E9xFe+gmVF5/TJPzl4izCsCRer3poaMtvNPdrhexpDuSIGrao97qmq2IZdlagLCZfE/TIC3geXa/PJimVvwDOJyJBEwuPyqTAfGGnqecRXfQ5hD7LczdV9UFnvBAVUYIrUACYNsxfOI2QAW8SuwgausNA+tnlU9z0SQfrkOWWli3lrUkcWzwVpfelaZY2XyOUI+lhLaE6yKOIDh1dI2ptFvAgcLK+JDrZiD1AhwJx+URYTCdlNh+17k1mACLoC9eQ+3DvOqZDQzmasDDPn3+mtoNDQEED7MGOqWtm7aR0c6+UVMdjHFR9Yrm3VrdwWRwohu477WrHJEERBNAplyfJyLSG00AxL8QvwUBDt5sxIkhuAiCyYNHDblJaJgRkrSNtrO3OjR2iHnAtG x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(376002)(346002)(366004)(396003)(451199021)(7696005)(55016003)(71200400001)(4326008)(41300700001)(19627235002)(76116006)(316002)(110136005)(66446008)(8676002)(478600001)(66556008)(64756008)(66476007)(38100700002)(66946007)(54906003)(53546011)(186003)(5660300002)(33656002)(86362001)(38070700005)(9686003)(107886003)(2906002)(83380400001)(52536014)(122000001)(82960400001)(6506007)(26005)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MjdqcThHNUtLYTQxUldmd2xpL3NkSW9HcllXOUsyemprcy93MU02MHgvdWhU?= =?utf-8?B?UFRVNWJyelJyVHcxSHJERlY3cWJqREtYd20xMkNKM0txeHRadk1YNGdyaVRQ?= =?utf-8?B?TnV6VTI5V3MxNDFLSnFwM3hSS2w5TkczYlpHUEVsWGVUUHNoYThEZmVVL3JZ?= =?utf-8?B?VytYLytMTEkrZys1a3RESUR0TVZLb3laS2ZMbkt2S0pnYmlNWk1kdmFJVE9D?= =?utf-8?B?Y0hQZ2FsTUhDSGlzeEpsckdISGQvNEZrNWxtdWZwQlNHd2xONjIyb3VjYnJt?= =?utf-8?B?Nk1OOUlPMlBuV0J0QitmRjVvY1BmUzk1YWlyWlRlTWIycVMvQngxT3hDeEVo?= =?utf-8?B?b0pYaXNNL2tVd0tNQ2F1TmlOVzZza1JVckJMNnRtdmpFQ3RHWG5jenBBUWJo?= =?utf-8?B?R2tOZm9weVBWMDU4YlgvWFlBRktqQ01JaWQ3OUZmSVl0QlZENHZjN3JFMGo4?= =?utf-8?B?eGI3RkpGMmFKT2llbWNWajRkY1F2WlJ0dENNZFBvMXluaWwvL3oraVZRZzZX?= =?utf-8?B?cWI3Y01uU21lek5vK2JlSG93Z0JXeEtwNUFBNEw4SmxzMk1LRE5hTVBWSW0y?= =?utf-8?B?WWlnVHg3cFc2Zzl5aEtkbC9DRDBYWS9HOEhFdm1zTFVDcS9zM0hvVzJCRzZE?= =?utf-8?B?NjZnNmk4cjN4TnY0a1Y5T0FnYm9OT2FoRXFCN2hJZ3RhcjJhRHpWMEd3Tm9k?= =?utf-8?B?cEJxeFpEUEJ2aDlDMFBSU2xsNGFnR25kdTFXbFpkVHE2bXBKMlJ2cFR2NmhF?= =?utf-8?B?c0VFVzNIZndDdmQvZnVwazdLUzZyZW1oTTlFUHpNMVE4dW90Q0lQTlVMcUpT?= =?utf-8?B?MU9pdkNmMzZTTEZJc1NLVmtCZi9lSnY4SDlhTUZMQUhZbkY5RnhOYkd5eENp?= =?utf-8?B?T1dtaXNMbkRUT3ByTjF2UXRTOTJ2YXZrRk9LYnBRbElrUG5Ycnc4U0hrdGI0?= =?utf-8?B?MmllYmlDejRNUGtJQU5iTnlORWJDWmQ4cmFwcDdzNVZnVng4bEFVc3pHS0gw?= =?utf-8?B?K0xBdU90VDRScEdGUTIreEloaEpBM2dPN29DVlZQcEp1cmFDakd2VDJyanc3?= =?utf-8?B?YUc3WGhsazVmM1AzcWg4b2llbXF5YnVEU2xQakJBU3BwUDYraXRpWTFrbnE0?= =?utf-8?B?SjAzWHJwVUJOdldEczBuS0VYT1ByMy93Tm5WZmtHZ1dmL2ZvRFY1dm9iUzlY?= =?utf-8?B?UXJyUVI3L0FpVDAvYThmbkxDUFRkWkpTT3c0bVMrMHVFL09jQ0RYN2lIYitI?= =?utf-8?B?akVYS2p4T25TWXk4ekJQVEdsTEJzQTBxc0NuK0h2aSs3UWY1K3cxZ2h2T2NQ?= =?utf-8?B?NCsxMEdNd00wKytwQ01GUXFuVmxHUGdUMkFsYUpYWmtDMUlQaytxQWMvbWFQ?= =?utf-8?B?K0JLU0Myb2VxeXIyVTEweUlRemRmS3FIRjRiVG9wa0dEQWhZU2Rna3BaMk1u?= =?utf-8?B?VEtyN2M2aG9ZU1lxV1JWcjl4SmJ3S1Z2RndadWZlZzNDR0RUbVRqelpka1Z2?= =?utf-8?B?ZUxEYlhLc2hMYldCVmV1UWRvN3pleHVtUExhSG5RUzhrM214OVZ0WndwNkpX?= =?utf-8?B?WEFOODExOEZmOXBrdVNIdCs3YWlIUk52OFI5SW5uK0IzeUlOdlh5cFFUNlFn?= =?utf-8?B?YkFRK0N0ZFRwa3JJRkVwWXF4Qy9PRHRpWUdtd29YRUQ5MnNoeTlmR3VwdGhs?= =?utf-8?B?dllQYU9hUUJsaFhnbTdmdXV0dkhleWNWTUxGY0J1d3lmaGc5UkJzMzR3cFVZ?= =?utf-8?B?MjhhcjlDdkplZnoyMXIzSk1iSzhhaENwRVJCVWRCSWhHd3M5eUdtSlM0VTlu?= =?utf-8?B?MU11WnlYNCtyL0ZpVGxQZ29MbzZ4TU1EbGUycTdCMGdTT0RSSU9BNmxBazdU?= =?utf-8?B?TkVrZ3RGWmJVaVVkNzFjZnl2ZHlYU0lDR3VSRVVDUlpWOGNyTGZiKy9ubzFY?= =?utf-8?B?UzR5Zmp1QUFlMEMzMVBTYTZ1NWtPWFY2UmpOb1lWYTl0cEhnNXlYTkF5KzZ0?= =?utf-8?B?U1RVWFdHd0N1M0ZzcldnUGtTbkl0czJsam1pczBSbjdHYTNtakNvakV4OFRw?= =?utf-8?B?YnpOYU9qMWxwV1Jya3lPemFyVnIxOThVNDZqZm00dmlxckFuSXB5UWFZWHp3?= =?utf-8?B?VFhKem5tMGFFUTRVNFpENnNuZ0poYkJvdjQ3Nlp4a25iTThiVlpzK2MzUW9L?= =?utf-8?B?ekE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bcad918c-63da-43c0-070b-08db30a43814 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2023 22:23:27.6119 (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: EJz9+ROYqGLq//apvXPEQCMNGhW4zhONiA68OcssslsqhLdGGjPGSb2ntt/id/YG5i4V3FQf0atuy2JxCZGfMMVc54yH4ignCFCUcSOz4AQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR11MB6048 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE5pLCBSYXkgPHJheS5u aUBpbnRlbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE1hcmNoIDIxLCAyMDIzIDQ6NTcgUE0NCj4g VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50 ZWwuY29tPjsgS3VtYXIsIFJhaHVsIFIgPHJhaHVsLnIua3VtYXJAaW50ZWwuY29tPjsgR2VyZCBI b2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+OyBLaW5uZXksDQo+IE1pY2hhZWwgRCA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+OyBBbmFkYW5pLCBBaG1hZCA8YWhtYWQuYW5hZGFuaUBpbnRl bC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCA1LzZdIFVlZmlDcHVQa2cvQ3B1RHhlOiBTdWJzdHJh Y3QgVE1FLU1LIEtFWV9JRF9CSVRTIGZyb20gQ1BVIG1heCBQQQ0KPiANCj4gQ1BVSUQgZW51bWVy YXRpb24gb2YgTUFYX1BBIGlzIHVuYWZmZWN0ZWQgYnkgVE1FLU1LIGFjdGl2YXRpb24gYW5kDQo+ IHdpbGwgY29udGludWUgdG8gcmVwb3J0IHRoZSBtYXhpbXVtIHBoeXNpY2FsIGFkZHJlc3MgYml0 cyBhdmFpbGFibGUNCj4gZm9yIHNvZnR3YXJlIHRvIHVzZSwgaXJyZXNwZWN0aXZlIG9mIHRoZSBu dW1iZXIgb2YgS2V5SUQgYml0cy4NCj4gDQo+IFNvLCB3ZSBuZWVkIHRvIGNoZWNrIGlmIFRNRSBp cyBlbmFibGVkIGFuZCBhZGp1c3QgdGhlIFBBIHNpemUNCj4gYWNjb3JkaW5nbHkuDQo+IA0KPiBT aWduZWQtb2ZmLWJ5OiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+IENjOiBFcmljIERvbmcg PGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+IENjOiBSYWh1bCBLdW1hciA8cmFodWwxLmt1bWFyQGlu dGVsLmNvbT4NCj4gQ2M6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPg0KPiBDYzog TWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBBaG1h ZCBBbmFkYW5pIDxhaG1hZC5hbmFkYW5pQGludGVsLmNvbT4NCj4gLS0tDQo+ICBVZWZpQ3B1UGtn L0NwdUR4ZS9DcHVEeGUuYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrKystLQ0KPiAgMSBmaWxl IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t Z2l0IGEvVWVmaUNwdVBrZy9DcHVEeGUvQ3B1RHhlLmMgYi9VZWZpQ3B1UGtnL0NwdUR4ZS9DcHVE eGUuYw0KPiBpbmRleCA5MjA5NzZjNTc2Li4zZmViZDU5ZDk5IDEwMDY0NA0KPiAtLS0gYS9VZWZp Q3B1UGtnL0NwdUR4ZS9DcHVEeGUuYw0KPiArKysgYi9VZWZpQ3B1UGtnL0NwdUR4ZS9DcHVEeGUu Yw0KPiBAQCAtNTA1LDggKzUwNSwxMSBAQCBJbml0aWFsaXplTXRyck1hc2sgKA0KPiAgICBWT0lE DQo+IA0KPiAgICApDQo+IA0KPiAgew0KPiANCj4gLSAgVUlOVDMyICAgICAgICAgICAgICAgICAg ICAgICAgICBNYXhFeHRlbmRlZEZ1bmN0aW9uOw0KPiANCj4gLSAgQ1BVSURfVklSX1BIWV9BRERS RVNTX1NJWkVfRUFYICBWaXJQaHlBZGRyZXNzU2l6ZTsNCj4gDQo+ICsgIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heEV4dGVuZGVkRnVuY3Rpb247DQo+IA0K PiArICBDUFVJRF9WSVJfUEhZX0FERFJFU1NfU0laRV9FQVggICAgICAgICAgICAgICBWaXJQaHlB ZGRyZXNzU2l6ZTsNCj4gDQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1heEZ1bmN0aW9uOw0KPiANCj4gKyAgQ1BVSURfU1RSVUNUVVJFRF9FWFRFTkRF RF9GRUFUVVJFX0ZMQUdTX0VDWCAgRXh0ZW5kZWRGZWF0dXJlRmxhZ3NFY3g7DQo+IA0KPiArICBN U1JfSUEzMl9UTUVfQUNUSVZBVEVfUkVHSVNURVIgICAgICAgICAgICAgICBUbWVBY3RpdmF0ZTsN Cj4gDQo+IA0KPiANCj4gICAgQXNtQ3B1aWQgKENQVUlEX0VYVEVOREVEX0ZVTkNUSU9OLCAmTWF4 RXh0ZW5kZWRGdW5jdGlvbiwgTlVMTCwgTlVMTCwgTlVMTCk7DQo+IA0KPiANCj4gDQo+IEBAIC01 MTYsNiArNTE5LDIzIEBAIEluaXRpYWxpemVNdHJyTWFzayAoDQo+ICAgICAgVmlyUGh5QWRkcmVz c1NpemUuQml0cy5QaHlzaWNhbEFkZHJlc3NCaXRzID0gMzY7DQo+IA0KPiAgICB9DQo+IA0KPiAN Cj4gDQo+ICsgIC8vDQo+IA0KPiArICAvLyBDUFVJRCBlbnVtZXJhdGlvbiBvZiBNQVhfUEEgaXMg dW5hZmZlY3RlZCBieSBUTUUtTUsgYWN0aXZhdGlvbiBhbmQgd2lsbCBjb250aW51ZQ0KPiANCj4g KyAgLy8gdG8gcmVwb3J0IHRoZSBtYXhpbXVtIHBoeXNpY2FsIGFkZHJlc3MgYml0cyBhdmFpbGFi bGUgZm9yIHNvZnR3YXJlIHRvIHVzZSwNCj4gDQo+ICsgIC8vIGlycmVzcGVjdGl2ZSBvZiB0aGUg bnVtYmVyIG9mIEtleUlEIGJpdHMuDQo+IA0KPiArICAvLyBTbywgd2UgbmVlZCB0byBjaGVjayBp ZiBUTUUgaXMgZW5hYmxlZCBhbmQgYWRqdXN0IHRoZSBQQSBzaXplIGFjY29yZGluZ2x5Lg0KPiAN Cj4gKyAgLy8NCj4gDQo+ICsgIEFzbUNwdWlkIChDUFVJRF9TSUdOQVRVUkUsICZNYXhGdW5jdGlv biwgTlVMTCwgTlVMTCwgTlVMTCk7DQo+IA0KPiArICBpZiAoTWF4RnVuY3Rpb24gPj0gQ1BVSURf U1RSVUNUVVJFRF9FWFRFTkRFRF9GRUFUVVJFX0ZMQUdTKSB7DQo+IA0KPiArICAgIEFzbUNwdWlk RXggKENQVUlEX1NUUlVDVFVSRURfRVhURU5ERURfRkVBVFVSRV9GTEFHUywgMCwgTlVMTCwgTlVM TCwgJkV4dGVuZGVkRmVhdHVyZUZsYWdzRWN4LlVpbnQzMiwgTlVMTCk7DQo+IA0KPiArICAgIGlm IChFeHRlbmRlZEZlYXR1cmVGbGFnc0VjeC5CaXRzLlRNRV9FTiA9PSAxKSB7DQo+IA0KPiArICAg ICAgVG1lQWN0aXZhdGUuVWludDY0ID0gQXNtUmVhZE1zcjY0IChNU1JfSUEzMl9UTUVfQUNUSVZB VEUpOw0KPiANCj4gKyAgICAgIGlmIChUbWVBY3RpdmF0ZS5CaXRzLlRtZUVuYWJsZSA9PSAxKSB7 DQo+IA0KPiArICAgICAgICBWaXJQaHlBZGRyZXNzU2l6ZS5CaXRzLlBoeXNpY2FsQWRkcmVzc0Jp dHMgLT0gVG1lQWN0aXZhdGUuQml0cy5Na1RtZUtleWlkQml0czsNCj4gDQo+ICsgICAgICB9DQo+ IA0KPiArICAgIH0NCj4gDQo+ICsgIH0NCj4gDQo+ICsNCj4gDQo+ICAgIG1WYWxpZE10cnJCaXRz TWFzayAgICA9IExTaGlmdFU2NCAoMSwgVmlyUGh5QWRkcmVzc1NpemUuQml0cy5QaHlzaWNhbEFk ZHJlc3NCaXRzKSAtIDE7DQo+IA0KPiAgICBtVmFsaWRNdHJyQWRkcmVzc01hc2sgPSBtVmFsaWRN dHJyQml0c01hc2sgJiAweGZmZmZmZmZmZmZmZmYwMDBVTEw7DQo+IA0KPiAgfQ0KPiANCj4gLS0N Cj4gMi4zOS4xLndpbmRvd3MuMQ0KDQo=