From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web12.80749.1629436509432442041 for ; Thu, 19 Aug 2021 22:15:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=J0e4Cqr9; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: hao.a.wu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10081"; a="280444683" X-IronPort-AV: E=Sophos;i="5.84,336,1620716400"; d="scan'208";a="280444683" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Aug 2021 22:15:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,336,1620716400"; d="scan'208";a="451908365" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga007.fm.intel.com with ESMTP; 19 Aug 2021 22:15:08 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 19 Aug 2021 22:15:07 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 19 Aug 2021 22:15:07 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Thu, 19 Aug 2021 22:15:07 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) 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.2242.10; Thu, 19 Aug 2021 22:15:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GN/sqGkC8e0geG/3dBncfV2wCzOTXWnJSxA8zu8fbm0iHEzSi+MYUTHhabY8V/tSkJHy2fP++wzdJhHB04FLNjkH6sUFk9l7sRH2qKRrmlLsZo0rgYfwRiDNnrwhWnm5PZB2b6EV39zQ3KT8+YBgLQ9sj80pMu+yi4/MhsyuW+m/RpyD9+6luebQHOMW+WWR2g4mUYoBH6UKkIEqWSadu0MPvW9xVLFZhaANIj+bn6I2L7UTVbud4m/8X4FAYssX/Q6ipCDRGOYg31myeIVN7G4jdDIzBVlEM5WRWd+rGoAYZkloK5VjA/GLGkgKLfLcHfHUTwJxfw6EjCNRJlXEgw== 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=SCx0McHJK5Ru7T7uyvXKzqUUjZVc0QOE1Cdk/SocTBY=; b=JJzf+ekt8jEzonelWnxY/oz8xHlDtzUfoeQ3JM9mh+TuGSFG/Z8u3piuGAa8B60TTs0BrjBDdkKGvsZRHKWc1MJDuIdZhc9xkc3hp0Ao1NAb7Y7O6J3wM8BQV8OXKHkqtnqEGX+5goZBx4Z1AOnC8RpLE1zxIsD9e2lkbF1S3hxG49NSdmAOghkMFYKyDKHuZZQid5+dVQ3+BnpP7dRLboqxpmUITd3eb11LHWVCKZX9qV4djWwUTqSlRAhpQHGdVtAfQMAzcbMbKhMFiyEVTX0O64axGwnOzTpOKypHPTZbc+nSr7nmJyGN30TdK81J63JB3+C5CcvAjdLqOwHQfQ== 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=SCx0McHJK5Ru7T7uyvXKzqUUjZVc0QOE1Cdk/SocTBY=; b=J0e4Cqr9jPU9ZlD8a0h5TNOGDBS3M7zU0XuRf27XML7xKfHfbLgcqRG26nPgf/DWTqko92T64PyxS6QZiklGlRuDledCXqigpI/7ehEo7yTBqjoZPcYcFhCKKWeAGG0s/xQa8FkuvZlfFA0VRrp/zZTtPGJZZXVOYfi3o9oUoLM= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN8PR11MB3668.namprd11.prod.outlook.com (2603:10b6:408:81::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug 2021 05:15:05 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::1d8:daf8:84de:1666]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::1d8:daf8:84de:1666%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021 05:15:05 +0000 From: "Wu, Hao A" To: "devel@edk2.groups.io" , "mhaeuser@posteo.de" CC: "Wang, Jian J" , Vitaly Cheptsov Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg/EbcDxe: Mitigate memcpy intrinsics Thread-Topic: [edk2-devel] [PATCH 1/1] MdeModulePkg/EbcDxe: Mitigate memcpy intrinsics Thread-Index: AQHXkhIPiD4/cm7BtkOzMuc0CLsPcat74GAw Date: Fri, 20 Aug 2021 05:15:05 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 49ca20e9-5a77-457b-2085-08d96399789a x-ms-traffictypediagnostic: BN8PR11MB3668: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2331; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PzwkONlyTbMXdujK6kXa/uBVRfHv7IpzWxKf6Qq3g/QHTop7J4KnQVYqBTZ7xD0gox6HfSphNpBsgPom5xQ6CUDOpov947IWBNbwVcM6rKhP5aY8xgGgvSTCn7NPJGR1pXu35usOzKydgO14YPFR+uu9COcdaxnCJ4TSX+uDVQsOHk7ypNt8go/Yw24OypldPzjLBJAE+rgZhlyTzYZFg3QuDolTdY5sYOIusjRTOVsw7q6Na8kT74bpFQRTmd+ZqI/Dr2a/d6jy93dIW0kLiGQvekzEdgdZka6mNXCSS9x5ndDp14FI8sLHERM5pDzMCfn9/lpDZdU5/HqfdQfoYo1rxbwEsXwV9uHAupq8VeXAwsD3YbHOgRfIWZmuuQ3ms6ON4th8wX7d6tES8tmbM4qxX69Yubbgtzj51sBsL5ZNkkOwBvZ1IX7JFBZsHXBixq2Uz3W2QskNSlkucvTbCQKOTgIRstSRUCufmi5quU4Yo93hH2Jocp3PAjoaufBneVnEMzPWXJetzdniHbfkEd/zKhJuNeRq7JLCwJ7KlP+DnLQCCJk8wh+YEiurcALT/XASwxtcQJOhPZdcrKy0teXI7A3nzqNmXn4Io2XegbbKfp3eRtr9rs8rAn5I6WlgVzmcaAnCnnUHrfJ9xKSrhzR0fmnEorQMYDTr7oqDn8Q5cb/B1F3rTvWl0lCQXyIx6QdYiYDCJQ07GymocK71YdZJvaeTPN1EJBbD31EyeVuZgvMauOONpIPdQjM/wXZCzsCuIxEwzmOns17AjIBXz9f8zdrV3a1Fs5DkEBVCT9uQFft9Nl13Pdx5WEQ3IkUC9BlAO/UYDez+HzZy+dX7Tg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(136003)(346002)(39860400002)(396003)(2906002)(86362001)(26005)(6506007)(9686003)(4326008)(966005)(83380400001)(53546011)(66574015)(76116006)(186003)(66946007)(66446008)(66476007)(66556008)(64756008)(71200400001)(478600001)(55016002)(7696005)(8936002)(52536014)(8676002)(38070700005)(33656002)(122000001)(38100700002)(54906003)(110136005)(5660300002)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aHVKNXIzVldCdm05RzRwL0FTVEcxYUc2bFlBYW9TSTc4dmg4OW5nWUtNWGNG?= =?utf-8?B?T1dDVlliSXY4TzZpbHdWaHlmZXlDdldYNWV0RVlwbFBrTGp3Tmp4S0dacVBn?= =?utf-8?B?ZVRVN0JWSzVCVjBoR0hvYm53WVpOWno5em5Zd21FVm9vTExEbEdzSlRYbGUz?= =?utf-8?B?d3lDUW9wK0d2bHVrZzJlUEtkVVZISmR4MDhqMitLSXkraTQvU29kVVRCRGhx?= =?utf-8?B?aVFUaEpZVlFzUGhocmNuWmFaeWt0cGt4MUJISTVwQXp3UW1wZ2NNTmFHTmhR?= =?utf-8?B?U1EzVzFMWVFzblBWd3VFWmptdjM1YlBHeGxxb2lvaFNOdCt6eWhoeUNqR3Fr?= =?utf-8?B?QVNIZ0pEMUh1QzBoQVVoZnVSNU41bHlGcHB4N2RydmhzSStFdm1BVkR2T29t?= =?utf-8?B?UExKOThma3hRZm5LOXdKQS9sZitGM0Nqd2hiQ0xVaDZEaHFmK1pFNkUyYy9s?= =?utf-8?B?a2R1dkVVMkQrVmRJZ2tCOEJhMnpJOW51TXVIcHh2STFsaUxWOVJLcTVDbkFC?= =?utf-8?B?dmNBdDBQU3Uvbk16TGF5YjJLeFh2SkJXYTJwdzVCT1E1M3p4aUQrYTZZeElG?= =?utf-8?B?SkJHazlORnZ0WktpbjRMN0g5R3N1ZmR3eVJ0SHpabStPUFkwVXg2YkVYSjZQ?= =?utf-8?B?ZVIyNFQzN3hLMTR5bnE2QVZIS01JTU45ZGVWWlZtdzUxVXptY3UyRVczS0xl?= =?utf-8?B?aFRwRmQzd1E5ZWVpa1l6SVIzU3d4ZVVsb0VSSmRqbUEyVG5wYnBxUHoya0sx?= =?utf-8?B?SURFUU5oTjU1ZGRneUJuWVoreUdSL1JvL1RXUUFsMXh4WFRveHlQMW91d0FG?= =?utf-8?B?NC9hZmlWWExMZFMyTTNVRVNtdGlvNzRjZjZnUFA1eTdNcDhWQmpuc05JejVw?= =?utf-8?B?MEU5MjAzVXdGd0o2YUJHaHk1SisxN251WVJSL2ZrZkl6TDEveWpEdDNlanVS?= =?utf-8?B?YUlzSE9iYlNaVlJleVN3bER3ak9vQ2tBV1FzdUVXemluc2lYUjdMeGY3ZytX?= =?utf-8?B?TXJrQ1lHTXhMR1NPY0ZQUFFMMWRlWTgvdWRDUnN2Z2xtZklsc0VGTWtRam1J?= =?utf-8?B?STQ4OTFBRk5UVVhsdFRmNGlEbm9aOExRY0lnSEF5SkdoSkNjZldkZG9wSjk3?= =?utf-8?B?TFBja0NPWmppMkRhSFZpRzVXdmpWTkhrRFROSW9SZFY2Tk5pRVVmZ1NYMDJZ?= =?utf-8?B?TEpydDBXa0E2bkNXNmMyemdYOHdqK2FWK3N6dzVPekkybGhzSkgrYWRxdm1V?= =?utf-8?B?RVB0SityeW5FTjJWR1IrZjhFVWQ5ZWYzeHZ6NG9rV1ozanhRTjhxTmhSR3J4?= =?utf-8?B?SHdJcDdJeFNKSUxZbDIwNDFOOTJXSTVuU0hjdDgzZmFxdVNnaHB4WUJMRWUr?= =?utf-8?B?UUw2c0x3Q3NUZC9GWThUakZiR1U0dkdPUHRHbmJNcXYzU2F4QmNJZjYxanF2?= =?utf-8?B?WGdSdDJTaW5hNHk3bWRnWm11cG5YWmxFSUIvRDlxUkFaNzM4TDlxL2NYYkZa?= =?utf-8?B?QnVXU2FNUUJYWnQ1Yi9YUElkd25ZejBqcUxraWN0Rk1iTVpRM1JTUnlvVGd1?= =?utf-8?B?Sko0ZUM5WEtwWnQ3OGdBUHdyVkRYMWxXTnl6R2J0RjFSZ0xiTzNhTlc3cGlG?= =?utf-8?B?eVVNZjRkc2xjOVA5QjIyekNHQzJ5NjZyV1hPaXMveVhJTW1MQVpESFpITjJE?= =?utf-8?B?S1VNVkMwSFg4ekhGcXhHY2ZZR3grRHBzR2R1bDM0OEZ0TFVPSFRzcDdpMkVD?= =?utf-8?Q?hJC+MGQrRnqYUiZ1qkpa0SP8S+W4UrlXSIydRNY?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49ca20e9-5a77-457b-2085-08d96399789a X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2021 05:15:05.3119 (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: SOOIN8nMDzXjc2AogsHsnZK2APGLTjFxrbReKrDpBKmwP2N2AWMJeIZ3xgksjp2epBVW5FkzMnUEQRb5PUKE1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3668 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNYXJ2aW4NCj4gSD91c2VyDQo+ IFNlbnQ6IE1vbmRheSwgQXVndXN0IDE2LCAyMDIxIDQ6MTIgQU0NCj4gVG86IGRldmVsQGVkazIu Z3JvdXBzLmlvDQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1 LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsNCj4gVml0YWx5IENoZXB0c292IDx2aXQ5Njk2 QHByb3Rvbm1haWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMV0gTWRl TW9kdWxlUGtnL0ViY0R4ZTogTWl0aWdhdGUNCj4gbWVtY3B5IGludHJpbnNpY3MNCj4gDQo+IEFz c2lnbm1lbnRzIG9mIHN0cnVjdHVyZSB2YWx1ZXMgY2F1c2UgdGhlIGVtaXNzaW9uIG9mIG1lbWNw eSgpDQo+IGludHJpbnNpY3MgYnkgdGhlIENMQU5HMzggdG9vbGNoYWluLiBTdWJzdGl0dXRlIHRo ZSBhc3NpZ25tZW50cyB3aXRoDQo+IGNhbGxzIHRvIENvcHlNZW0oKSB0byBtaXRpZ2F0ZSB0aGUg aXNzdWUuDQoNCg0KUmV2aWV3ZWQtYnk6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQpX aWxsIG1lcmdlIGFmdGVyIHRoZSB1cGNvbWluZyBzdGFibGUgdGFnLg0KDQpCZXN0IFJlZ2FyZHMs DQpIYW8gV3UNCg0KDQo+IA0KPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNv bT4NCj4gQ2M6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQo+IENjOiBWaXRhbHkgQ2hl cHRzb3YgPHZpdDk2OTZAcHJvdG9ubWFpbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IE1hcnZpbiBI w6R1c2VyIDxtaGFldXNlckBwb3N0ZW8uZGU+DQo+IC0tLQ0KPiAgTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRiLmMgICAgICAgICAgICAgIHwgNiArKysrKy0NCj4g IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYkNtZEJyZWFrcG9p bnQuYyB8IDYNCj4gKysrKystDQo+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZS9FYmNE ZWJ1Z2dlci9FZGJIb29rLmMgICAgICAgICAgfCA2ICsrKysrLQ0KPiAgMyBmaWxlcyBjaGFuZ2Vk LCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL01k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYi5jDQo+IGIvTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRGVidWdnZXIvRWRiLmMNCj4gaW5kZXggNjExYjJk ZTVkODFmLi5lNDE3ZjQ4NzBmM2QgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYi5jDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYi5jDQo+IEBAIC0yMTksNyArMjE5LDExIEBAIEVkYkNo ZWNrQnJlYWtwb2ludCAoDQo+ICAgICAgICAvLw0KPiANCj4gICAgICAgIC8vIElmIGhpdCwgcmVj b3JkIGN1cnJlbnQgYnJlYWtwb2ludA0KPiANCj4gICAgICAgIC8vDQo+IA0KPiAtICAgICAgRGVi dWdnZXJQcml2YXRlLQ0KPiA+RGVidWdnZXJCcmVha3BvaW50Q29udGV4dFtFRklfREVCVUdHRVJf QlJFQUtQT0lOVF9NQVhdID0NCj4gRGVidWdnZXJQcml2YXRlLT5EZWJ1Z2dlckJyZWFrcG9pbnRD b250ZXh0W0luZGV4XTsNCj4gDQo+ICsgICAgICBDb3B5TWVtICgNCj4gDQo+ICsgICAgICAgICZE ZWJ1Z2dlclByaXZhdGUtDQo+ID5EZWJ1Z2dlckJyZWFrcG9pbnRDb250ZXh0W0VGSV9ERUJVR0dF Ul9CUkVBS1BPSU5UX01BWF0sDQo+IA0KPiArICAgICAgICAmRGVidWdnZXJQcml2YXRlLT5EZWJ1 Z2dlckJyZWFrcG9pbnRDb250ZXh0W0luZGV4XSwNCj4gDQo+ICsgICAgICAgIHNpemVvZiAoRGVi dWdnZXJQcml2YXRlLQ0KPiA+RGVidWdnZXJCcmVha3BvaW50Q29udGV4dFtFRklfREVCVUdHRVJf QlJFQUtQT0lOVF9NQVhdKQ0KPiANCj4gKyAgICAgICAgKTsNCj4gDQo+ICAgICAgICBEZWJ1Z2dl clByaXZhdGUtDQo+ID5EZWJ1Z2dlckJyZWFrcG9pbnRDb250ZXh0W0VGSV9ERUJVR0dFUl9CUkVB S1BPSU5UX01BWF0uU3RhdGUgPQ0KPiBUUlVFOw0KPiANCj4gICAgICAgIC8vDQo+IA0KPiAgICAg ICAgLy8gRG8gbm90IHNldCBCcmVha3BvaW50IGZsYWcuIFdlIHJlY29yZCB0aGUgYWRkcmVzcyBo ZXJlIGp1c3QgbGV0IGl0IG5vdA0KPiBwYXRjaCBicmVha3BvaW50IGFkZHJlc3Mgd2hlbiBkZS1p bml0Lg0KPiANCj4gZGlmZiAtLWdpdA0KPiBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhl L0ViY0RlYnVnZ2VyL0VkYkNtZEJyZWFrcG9pbnQuYw0KPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYkNtZEJyZWFrcG9pbnQuYw0KPiBpbmRleCBlMGM3OTdi ZTI0N2YuLjVkMzJjNjg0MDY2ZSAxMDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9FYmNEeGUvRWJjRGVidWdnZXIvRWRiQ21kQnJlYWtwb2ludC5jDQo+ICsrKw0KPiBiL01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYkNtZEJyZWFrcG9pbnQuYw0K PiBAQCAtMTU4LDcgKzE1OCwxMSBAQCBEZWJ1Z2dlckJyZWFrcG9pbnREZWwgKA0KPiAgICAvLyBE ZWxldGUgdGhpcyBicmVha3BvaW50DQo+IA0KPiAgICAvLw0KPiANCj4gICAgZm9yIChCcEluZGV4 ID0gSW5kZXg7IEJwSW5kZXggPCBEZWJ1Z2dlclByaXZhdGUtDQo+ID5EZWJ1Z2dlckJyZWFrcG9p bnRDb3VudCAtIDE7IEJwSW5kZXgrKykgew0KPiANCj4gLSAgICBEZWJ1Z2dlclByaXZhdGUtPkRl YnVnZ2VyQnJlYWtwb2ludENvbnRleHRbQnBJbmRleF0gPQ0KPiBEZWJ1Z2dlclByaXZhdGUtPkRl YnVnZ2VyQnJlYWtwb2ludENvbnRleHRbQnBJbmRleCArIDFdOw0KPiANCj4gKyAgICBDb3B5TWVt ICgNCj4gDQo+ICsgICAgICAmRGVidWdnZXJQcml2YXRlLT5EZWJ1Z2dlckJyZWFrcG9pbnRDb250 ZXh0W0JwSW5kZXhdLA0KPiANCj4gKyAgICAgICZEZWJ1Z2dlclByaXZhdGUtPkRlYnVnZ2VyQnJl YWtwb2ludENvbnRleHRbQnBJbmRleCArIDFdLA0KPiANCj4gKyAgICAgIHNpemVvZiAoRGVidWdn ZXJQcml2YXRlLT5EZWJ1Z2dlckJyZWFrcG9pbnRDb250ZXh0W0JwSW5kZXhdKQ0KPiANCj4gKyAg ICAgICk7DQo+IA0KPiAgICB9DQo+IA0KPiAgICBaZXJvTWVtICgNCj4gDQo+ICAgICAgJkRlYnVn Z2VyUHJpdmF0ZS0+RGVidWdnZXJCcmVha3BvaW50Q29udGV4dFtCcEluZGV4XSwNCj4gDQo+IGRp ZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZS9FYmNEZWJ1Z2dlci9FZGJI b29rLmMNCj4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZS9FYmNEZWJ1Z2dlci9FZGJI b29rLmMNCj4gaW5kZXggODMyNTdhMmMyNWZlLi4xYmZlNTI0MGM3NjAgMTAwNjQ0DQo+IC0tLSBh L01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhlL0ViY0RlYnVnZ2VyL0VkYkhvb2suYw0KPiAr KysgYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZS9FYmNEZWJ1Z2dlci9FZGJIb29rLmMN Cj4gQEAgLTIzMCw3ICsyMzAsMTEgQEAgRWJjRGVidWdnZXJQdXNoVHJhY2VEZXN0RW50cnkgKA0K PiAgICAgIC8vDQo+IA0KPiAgICAgIEFTU0VSVA0KPiAobURlYnVnZ2VyUHJpdmF0ZS5UcmFjZUVu dHJ5W0VGSV9ERUJVR0dFUl9UUkFDRV9NQVhdLlR5cGUgPT0gVHlwZSk7DQo+IA0KPiAgICAgIGZv ciAoSW5kZXggPSAwOyBJbmRleCA8IEVGSV9ERUJVR0dFUl9UUkFDRV9NQVg7IEluZGV4KyspIHsN Cj4gDQo+IC0gICAgICBtRGVidWdnZXJQcml2YXRlLlRyYWNlRW50cnlbSW5kZXhdID0NCj4gbURl YnVnZ2VyUHJpdmF0ZS5UcmFjZUVudHJ5W0luZGV4ICsgMV07DQo+IA0KPiArICAgICAgQ29weU1l bSAoDQo+IA0KPiArICAgICAgICAmbURlYnVnZ2VyUHJpdmF0ZS5UcmFjZUVudHJ5W0luZGV4XSwN Cj4gDQo+ICsgICAgICAgICZtRGVidWdnZXJQcml2YXRlLlRyYWNlRW50cnlbSW5kZXggKyAxXSwN Cj4gDQo+ICsgICAgICAgIHNpemVvZiAobURlYnVnZ2VyUHJpdmF0ZS5UcmFjZUVudHJ5W0luZGV4 XSkNCj4gDQo+ICsgICAgICAgICk7DQo+IA0KPiAgICAgIH0NCj4gDQo+ICAgICAgbURlYnVnZ2Vy UHJpdmF0ZS5UcmFjZUVudHJ5W0VGSV9ERUJVR0dFUl9DQUxMU1RBQ0tfTUFYIC0NCj4gMV0uRGVz dEFkZHJlc3MgPSBEZXN0RW50cnk7DQo+IA0KPiAgICAgIG1EZWJ1Z2dlclByaXZhdGUuVHJhY2VF bnRyeUNvdW50ID0gRUZJX0RFQlVHR0VSX1RSQUNFX01BWDsNCj4gDQo+IC0tDQo+IDIuMzEuMQ0K PiANCj4gDQo+IA0KPiANCj4gDQoNCg==