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 4CEC07803E1 for ; Tue, 30 Jan 2024 16:32:00 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=nbCDovRoy2TVYOo5GqL/AKuRJ+FnGVBmfX8qPVEiAn8=; 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=1706632319; v=1; b=Cp+OLfvccEVI/juPX1aXr6jpTkQWSCcEeyXCuB4kMqvfhKLh2H02syx1pyrK12hiPYw12Zj7 +m9gKkVDKsJgEcj6Uq0qfLWqaMk7XdUmxQAQVjgiSxl8srTqeP89aFT4R7XfMrbwX7WX/tGLf7s /OV8mabJXWR36txmR8fw3Lv0= X-Received: by 127.0.0.2 with SMTP id I8FIYY7687511xN9qQ6ntJVv; Tue, 30 Jan 2024 08:31:59 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by mx.groups.io with SMTP id smtpd.web10.13343.1706599074178485120 for ; Mon, 29 Jan 2024 23:17:54 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10968"; a="3026553" X-IronPort-AV: E=Sophos;i="6.05,707,1701158400"; d="scan'208";a="3026553" X-Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jan 2024 23:17:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10968"; a="931347344" X-IronPort-AV: E=Sophos;i="6.05,707,1701158400"; d="scan'208";a="931347344" X-Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga001.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 29 Jan 2024 23:17:53 -0800 X-Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.35; Mon, 29 Jan 2024 23:17:52 -0800 X-Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 29 Jan 2024 23:17:52 -0800 X-Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 29 Jan 2024 23:17:52 -0800 X-Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 29 Jan 2024 23:17:50 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L1+VQ39gR1JODKzq7OyPk+8t3+goHw1B0bac67Uuaz+FJoyfF88Oz/5Fw9184IU0KviT/RHyISVxTBzyMoxtAXvhF2JTeOAucWbXT9tDOIQ37ENyMQWhdzM58CeiQE8U1+2knp32KyiL0p7qqzIF/yHIIXnXm4Yvfz0w/V4bZG+YovcO8tZV8cD3sEs0FGaRzM7LmxxKFsC5b0UcshTVRXhjG6Athr6inBkK0DX7NosJGNB18R68/90cFuJ3o2wzmkcfVvN6sTmDsw76IIgj7Da9BvC+KvMgVr/0ACNnIRS4x/DVVKY9RXscEmR8eqHy4f9Gezq6x1PdFn+k4TRIvw== 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=Qx8sBGHelzbpjUGo+J5eqM2FUg8k3dMerkOIhZarNGo=; b=hl7nRXyq9phCZyqqkUmSFqFw1swo0r8cjABtP1dFq1NwpWPSH8tGtxOS/rOrRqv+L6fTDN3+PL70oblmGsZbpcuWVeeORI1sgvee0+zrEcS4pqD61AeDjdQ4XfXenmRwx3+a6m5ieVmwtBB0AC7Oo1V3fHxNxN2NNNZCK/BmJhF4eqIAOOdgEvYg+FYoY5A9osDgW8gNxOMW4h8AWkXG2cbRT15png3X1oEk3bwBqCYQx0hyx2XzviXUu7lh21TClSNce9wrlg9Xl68nH6/ViESK8JrDWVvZbMK5MnebEIGWarN67yn55kGp2HQg8lnh2hOLuNxuxU9pt0erWgwz5Q== 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 DM8PR11MB5701.namprd11.prod.outlook.com (2603:10b6:8:20::12) by SN7PR11MB7510.namprd11.prod.outlook.com (2603:10b6:806:349::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 07:17:48 +0000 X-Received: from DM8PR11MB5701.namprd11.prod.outlook.com ([fe80::15c4:b5a:3270:e1f0]) by DM8PR11MB5701.namprd11.prod.outlook.com ([fe80::15c4:b5a:3270:e1f0%7]) with mapi id 15.20.7228.035; Tue, 30 Jan 2024 07:17:48 +0000 From: "Xu, GuoX" To: "Kinney, Michael D" , gaoliming , "devel@edk2.groups.io" CC: "Liu, Zhiguang" Subject: Re: [edk2-devel] [PATCH 1/1] MdePkg:Updated the comments of EFI_FIRMWARE_MANAGEMENT_PROTOCOL Thread-Topic: [edk2-devel] [PATCH 1/1] MdePkg:Updated the comments of EFI_FIRMWARE_MANAGEMENT_PROTOCOL Thread-Index: AQHaOAY6SwNpvKBTc0aRy6Z4NsQqq7DRSdLAgAAAP0CAC1QxAIAI2wbggAEmcwCAC3qrUA== Date: Tue, 30 Jan 2024 07:17:48 +0000 Message-ID: References: <02c301da4887$27c4e190$774ea4b0$@byosoft.com.cn> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8PR11MB5701:EE_|SN7PR11MB7510:EE_ x-ms-office365-filtering-correlation-id: d9e8e9a4-a424-4d0c-ec58-08dc21639016 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: aNgwrHYX+Qo3HgXBE591PUcnAAiXszi+4puQgJ0YHF8aMzAKuYhKKD2PzWW/2PTqWmOp8FIEVRYP9+RQqY/p4Cibiispjtol1Bvlg+73rVvjaOdakD1HNb2zKeNG/rtK4o7eSDkUNN4nTqS4VZIrdwqu1H272+5R9cr6XqcJtZcJsBQBR0BmWcVtqoPT8KPGZ9/2L1wSU+WnNn7itXoDzvny5XSyZCb8G3SzKQ/35lhWjw/k3klOsP8y5HarMMV3lJkyBFSPvYajTyhxIS9N+fYG6hpj+4gblD1VeW6u7+jBu9MsE3arDtXGljCvVtGWXdRUVdjhmBOxHLMCf2eZR7tsl5bnHoANs8gjQSxiirk2Lgt2Ll+ULJHviowpSVWvxfJGWAyFGeSVmg6+8k6v9Sm2s858nztHLbRSwA7EYoqhF8HCrBxbTOLdZFh8Qdm2rzktV1ttOIKUaMiCRElMieOqnXcWwLvyjlVaCyJxM2LpxiD5bqNxpx4tMThB32Thxtivf9+UULvWTBSEqERj8YlEarrPtaxuBP8VVtB7jU56jJL5QpXj0PFiTVNqHmGoMbwmajouegie/W/0STPoDXjOllF89SsPni6ALDEUvg52Hi+UXYPJ1IXOJaC7Por4zpTfRWOh4MLVlncy67rxvA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a3VDN1I4dVd5MytyRndJSGFrd0dHS1lXemlkU2F6T2VjNjBPZ2hpbjNGQWl6?= =?utf-8?B?K2dQMjJzL2pLKzdoZXdRWHFZNzdDc3p6UDJqN1ZsWG56NDVoWUNKVGx0VWpK?= =?utf-8?B?QW1zZndSTUZ6M1F5eHliZi9rME90SmJ2RGJuL0pIaVJqSUZhQkIrOEVtUDhk?= =?utf-8?B?R0FHMnFYWXpTSHpacEdMZGs1VEtmQzNvYkZBZzBTQjVWUGFxWEdTMmNGN0Ju?= =?utf-8?B?Y1Z4UWFHV1htamczM2pYYk1oMXRvMHVKYStTTjlPcURzZFpYS0E1eUk5bjMr?= =?utf-8?B?dHdTcDc4b05UOC9mS0JGSXJER3Fxd0pLN0taYVdaMlgwRm5jSVl4UW81VDhv?= =?utf-8?B?eGJqUnptWGFZQi9mVFBFdXhBbGQ1dUR6RktJVitJTWRnT0dXOFNySUhCeGxR?= =?utf-8?B?SzFrcjFQRndnN0VyYmVxTTlCbDBXeERSZ3l2dWdhQnJmSmdCYXpXa3MwRjlm?= =?utf-8?B?cS9iRjdqVGFsZ2REUTFISUREK3RCaEMwUnFVbjlob0hHbWZSdTEzQUFRR1c1?= =?utf-8?B?dlZnUWRXdGRGYTdyT3ZhWkNxRnkreHJBSXBYSzFPWk9xQ2krV3FPTmVaVlR3?= =?utf-8?B?aDRWSnZ5KzdqZGRZajZ4dUVFbi91STFDZlM2VG1NWmRVK3VkWTFlMXJSRXBy?= =?utf-8?B?NlJqaTJOVWZlMHZJVjlpM0d2NHhHdC9ncGk3UXcwMTlTd1BIMkM0VE9hSU1E?= =?utf-8?B?T0dQT2RMTjFMZkxYRGlhLzZVYmR0WjB3b21vaUV1cW5SdHhIWmhpZ3g3QkFh?= =?utf-8?B?OFcxQXl5VkRyc0svZ1VmSktRNkNjVThWcXRQNUlRY1FLL1NmVzllMUpIaTEy?= =?utf-8?B?SDZkbVdRaE9DMW52ZllaTWgvU25rVnhxZjd1UVE0TXh3R09jRkR3eDRZUDB3?= =?utf-8?B?aDVPTEVmNGlYREsvL2ZlWHlLYU1LUFdlWGdEQStuSkN6R1l5OXNiT0hSSkV6?= =?utf-8?B?ZTI2Y0xVdm9sNzFCUUFFa0x6RVhTK3hTaFFaK05aWmpNdkdweEZlWGx2QTlZ?= =?utf-8?B?SS9CemU3aThEYUJjSkk4cVRWOEFKa09CUWJiZkRDYW8xWHExbWt3VS9GSDNU?= =?utf-8?B?VzlxL2pNTWE2THZIa09vcGQxdTNrUlJKVVVzY2JvOXM4NVNzZXY5KzNkaW10?= =?utf-8?B?TW1taWUvQ3lRRzYyRTBYbzdoNW5tUHI1VE9qdTFsUHVKVWpQTFNzdEFNdG9m?= =?utf-8?B?WWhPczJVcWRhUXBPVkVXQnc5SlVITUJ6RnM1cnhTeisrV3dXNDdXTVZSem5x?= =?utf-8?B?R0pETHM4TUNpSVpLckpNWFBtN1Zkd0ZDZGF5anFKRzhYMWFOTHVIeHhpRytK?= =?utf-8?B?OGN1T3Vxbm93Y00vM1hPT2x5bWRlR0NISmVmaml0aFFRaVdxWEFqOUNTc2tX?= =?utf-8?B?SDh6R2hBbWxrOUd1RmlKazQ0SDNMOWRJRGhKS0Y4ZXExOFUzRXJKVUJrMXJk?= =?utf-8?B?SDgzb3AwdHdQblNiMStsSU1hNFd5U0lQbDFZWFJ2R2RtSzNVVDlnMEdWdXhz?= =?utf-8?B?OWZLeThIMWxDKzZxL29rU0t1alJxZnR1aDNEVmxzTGNWL1BibUU5bVNDNHpx?= =?utf-8?B?R3hQVEhFRzliTU5TVWk0dVlGbzhHQkFCdFlnb1NILy9nS0ZWVS9vQ2RURTRO?= =?utf-8?B?Smp6aURvOEQ0ejNrS0ZsVDV1a1Bva0RNd3ZnSnpKNkp2QnhMM053cE43SEN1?= =?utf-8?B?VEtvaGlVUnVuNWtEYVI3QUhvbk1LM0NuOXlKdS9INmdWRThnL1o5bXZxUFNX?= =?utf-8?B?bVIyaW14dW1PdWx3b0RNemRFR0ZjT0dJLzVmZzdYWlZ1K3NRdGVzOTlCTith?= =?utf-8?B?T2FOcGFJQ081b1N3WVBOWVorWUFBT1V3dXZ3VXlRZDlzS21EMmVtcncvcTRJ?= =?utf-8?B?QThKcnhWWk9obnZnbGhIM2ZNREFPTFJHREdZZmVMUzJQMGhrNlp6Vk11bnNu?= =?utf-8?B?cjlSaHFKU05ucjZ1amJsRFpXTy9TUTlXTFNJK2NhenJGOEpob0lIVHNpWXBN?= =?utf-8?B?QWZYcjZKMndqVnZIV21Ea1ZQcWVVOEhJRDdMMGQ0aW5qS0IwYlhRT0h3NFBr?= =?utf-8?B?bkViSnpJZjF5ZU55OHpWVmNlU3RBSGNlMVFqb1FWaXpaWFp0SGRRM2NHNkRQ?= =?utf-8?Q?WISc=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5701.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9e8e9a4-a424-4d0c-ec58-08dc21639016 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2024 07:17:48.2322 (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: sb4psY8CUPTyexmssOb9rXqoqXcoo2Q8qvIiJ7hTGYeOtUo0YFOh2Fl62hthn6tXfVin78ZAynOVsVTxy3xGTQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7510 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,guox.xu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: dfZpNtfFtAcLLUKnGlVVZDvhx7686176AA= 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=Cp+OLfvc; 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 SGkgTWljaGFlbCwNCg0KVGhhbmtzIGZvciB5b3VyIHN1Z2dlc3Rpb25zLg0KDQoxLiBJbiBlZGsy IHJlcG8gdGhlcmUgYXJlIHR3byBpbXBsZW1lbnRhdGlvbnMgZm9yIEZpcm13YXJlIE1hbmFnZW1l bnQgUHJvdG9jb2wuDQogIDEuMSBJbiBlZGsyXEZtcERldmljZVBrZ1xGbXBEeGVcRm1wRHhlLmMs IGZ1bmN0aW9uIEdldFRoZUltYWdlSW5mbygpOg0KICAgIC8vDQogICAgLy8gQ2hlY2sgdGhlIGJ1 ZmZlciBzaXplDQogICAgLy8gTk9URTogQ2hlY2sgdGhpcyBmaXJzdCBzbyBjYWxsZXIgY2FuIGdl dCB0aGUgbmVjZXNzYXJ5IG1lbW9yeSBzaXplIGl0IG11c3QgYWxsb2NhdGUuDQogICAgLy8NCiAg ICBpZiAoKkltYWdlSW5mb1NpemUgPCAoc2l6ZW9mIChFRklfRklSTVdBUkVfSU1BR0VfREVTQ1JJ UFRPUikpKSB7DQogICAgICAqSW1hZ2VJbmZvU2l6ZSA9IHNpemVvZiAoRUZJX0ZJUk1XQVJFX0lN QUdFX0RFU0NSSVBUT1IpOw0KICAgICAgREVCVUcgKChERUJVR19WRVJCT1NFLCAiRm1wRHhlKCVz KTogR2V0SW1hZ2VJbmZvKCkgLSBJbWFnZUluZm9TaXplIGlzIHRvIHNtYWxsLlxuIiwgbUltYWdl SWROYW1lKSk7DQogICAgICBTdGF0dXMgPSBFRklfQlVGRkVSX1RPT19TTUFMTDsNCiAgICAgIGdv dG8gY2xlYW51cDsNCiAgICB9DQoNCiAgICAvLw0KICAgIC8vIENvbmZpcm0gdGhhdCBidWZmZXIg aXNuJ3QgbnVsbA0KICAgIC8vDQogICAgaWYgKCAgKEltYWdlSW5mbyA9PSBOVUxMKSB8fCAoRGVz Y3JpcHRvclZlcnNpb24gPT0gTlVMTCkgfHwgKERlc2NyaXB0b3JDb3VudCA9PSBOVUxMKSB8fCAo RGVzY3JpcHRvclNpemUgPT0gTlVMTCkNCiAgICAgICB8fCAoUGFja2FnZVZlcnNpb24gPT0gTlVM TCkpDQogICAgew0KICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIkZtcER4ZSglcyk6IEdldElt YWdlSW5mbygpIC0gUG9pbnRlciBQYXJhbWV0ZXIgaXMgTlVMTC5cbiIsIG1JbWFnZUlkTmFtZSkp Ow0KICAgICAgU3RhdHVzID0gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KICAgICAgZ290byBjbGVh bnVwOw0KICAgIH0NCiAgICBJbiB0aGUgbGluZSA0OTcgdG8gNDk4LCBpdCBpcyBtaXNzZWQgdGhl IGp1ZGdtZW50IG9mIFBhY2thZ2VWZXJzaW9uTmFtZSBidXQgdGhlcmUgaXMgYSBjb21tZW50IGlu IGxpbmUgNTI5ICIgLy8gRG8gbm90IHVwZGF0ZSBQYWNrYWdlVmVyc2lvbk5hbWUgc2luY2UgaXQg aXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGluc3RhbmNlLiINCiAgICBTbywgZG8gd2UgbmVlZCB0 byBhZGQgdGhlIGp1ZGdtZW50IG9mIFBhY2thZ2VWZXJzaW9uTmFtZSBpbiB0aGlzIGZ1bmN0aW9u Pw0KDQogIDEuMiBJbiBlZGsyXFNpZ25lZENhcHN1bGVQa2dcVW5pdmVyc2FsXFN5c3RlbUZpcm13 YXJlVXBkYXRlXFN5c3RlbUZpcm13YXJlQ29tbW9uRHhlLmMsIGZ1bmN0aW9uIEZtcEdldEltYWdl SW5mbygpOg0KICAgICAgICAgaWYgKEltYWdlSW5mb1NpemUgPT0gTlVMTCkgew0KICAgICAgICAg ICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KICAgICAgICAgfQ0KDQogICAgICAgICBp ZiAoKkltYWdlSW5mb1NpemUgPCBzaXplb2YgKEVGSV9GSVJNV0FSRV9JTUFHRV9ERVNDUklQVE9S KSAqIFN5c3RlbUZtcFByaXZhdGUtPkRlc2NyaXB0b3JDb3VudCkgew0KICAgICAgICAgICAqSW1h Z2VJbmZvU2l6ZSA9IHNpemVvZiAoRUZJX0ZJUk1XQVJFX0lNQUdFX0RFU0NSSVBUT1IpICogU3lz dGVtRm1wUHJpdmF0ZS0+RGVzY3JpcHRvckNvdW50Ow0KICAgICAgICAgICByZXR1cm4gRUZJX0JV RkZFUl9UT09fU01BTEw7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoKEltYWdlSW5mbyA9PSBO VUxMKSB8fA0KICAgICAgICAgIChEZXNjcmlwdG9yVmVyc2lvbiA9PSBOVUxMKSB8fA0KICAgICAg ICAgIChEZXNjcmlwdG9yQ291bnQgPT0gTlVMTCkgfHwNCiAgICAgICAgICAoRGVzY3JpcHRvclNp emUgPT0gTlVMTCkgfHwNCiAgICAgICAgICAoUGFja2FnZVZlcnNpb24gPT0gTlVMTCkgfHwNCiAg ICAgICAgICAoUGFja2FnZVZlcnNpb25OYW1lID09IE5VTEwpKQ0KICAgICAgIHsNCiAgICAgICAg IHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQogICAgICAgfQ0KICAgIFRoZSBpbXBsZW1l bnRhdGlvbiBhbHJlYWR5IGluY2x1ZGVkIHRoZSByZXF1aXJlZCBjb2RlIGNoYW5nZXMuDQoNCiAy LiBJbiBlZGsyLXBsYXRmb3JtcyByZXBvIHRoZXJlIGlzIG9ubHkgb25lIGltcGxlbWVudGF0aW9u IGZvciBGaXJtd2FyZSBNYW5hZ2VtZW50IFByb3RvY29sLg0KICAgICBJbiB0aGUgZmlsZSBNaWNy b2NvZGVGbXAuYywgZnVuY3Rpb24gRm1wR2V0SW1hZ2VJbmZvKCk6DQogICAgIElmIChJbWFnZUlu Zm9TaXplID09IE5VTEwpIHsNCiAgICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0K ICAgICB9DQogICAgIGlmICgqSW1hZ2VJbmZvU2l6ZSA8IHNpemVvZihFRklfRklSTVdBUkVfSU1B R0VfREVTQ1JJUFRPUikgKiBNaWNyb2NvZGVGbXBQcml2YXRlLT5EZXNjcmlwdG9yQ291bnQpIHsN CiAgICAgICAqSW1hZ2VJbmZvU2l6ZSA9IHNpemVvZihFRklfRklSTVdBUkVfSU1BR0VfREVTQ1JJ UFRPUikgKiBNaWNyb2NvZGVGbXBQcml2YXRlLT5EZXNjcmlwdG9yQ291bnQ7DQogICAgICAgcmV0 dXJuIEVGSV9CVUZGRVJfVE9PX1NNQUxMOw0KICAgICB9DQogICAgIGlmIChJbWFnZUluZm8gPT0g TlVMTCB8fA0KICAgICAgICBEZXNjcmlwdG9yVmVyc2lvbiA9PSBOVUxMIHx8DQogICAgICAgIERl c2NyaXB0b3JDb3VudCA9PSBOVUxMIHx8DQogICAgICAgIERlc2NyaXB0b3JTaXplID09IE5VTEwg fHwNCiAgICAgICAgUGFja2FnZVZlcnNpb24gPT0gTlVMTCB8fA0KICAgICAgICBQYWNrYWdlVmVy c2lvbk5hbWUgPT0gTlVMTCkgew0KICAgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsN CiAgICB9DQogICBUaGUgaW1wbGVtZW50YXRpb24gYWxyZWFkeSBpbmNsdWRlZCB0aGUgcmVxdWly ZWQgY29kZSBjaGFuZ2VzLiAgICANCg0KVGhhbmtzDQpYdSBHdW8NCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT4gDQpTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDIzLCAyMDI0IDc6MDggQU0NClRvOiBY dSwgR3VvWCA8Z3VveC54dUBpbnRlbC5jb20+OyBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0 LmNvbS5jbj47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogTGl1LCBaaGlndWFuZyA8emhpZ3Vh bmcubGl1QGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMV0gTWRlUGtnOlVw ZGF0ZWQgdGhlIGNvbW1lbnRzIG9mIEVGSV9GSVJNV0FSRV9NQU5BR0VNRU5UX1BST1RPQ09MDQoN CkhpIEd1bywNCg0KVGhhbmsgeW91IGZvciBzdGFydGluZyB0aGlzIHRhc2sgdG8gdXBkYXRlIEZp cm13YXJlIE1hbmFnZW1lbnQgUHJvdG9jb2wuDQoNClRoZXJlIGFyZSBhZGRpdGlvbmFsIHRhc2tz IHRvIG1ha2Ugc3VyZSBhbGwgcmVxdWlyZWQgY29kZSBjaGFuZ2VzIGFyZSBhbHNvIGltcGxlbWVu dGVkIGZvciBhIHNwZWNpZmljYXRpb24gdXBkYXRlIGxpa2UgdGhpcy4NCg0KKiBDcmVhdGUgYSBU aWFub0NvcmUgQnVnemlsbGEgdGhhdCBkZXNjcmliZXMgdGhlIHNwZWNpZmljYXRpb24gdXBkYXRl DQogIG5lZWRlZCB3aXRoIGxpbmtzIHRvIHRoZSBwdWJsaWMgZG9jdW1lbnRzIHdpdGggdGhlIHJl cXVpcmVkDQogIHNwZWNpZmljYXRpb24gdXBkYXRlLiANCg0KKiBSZXZpZXcvdXBkYXRlIGVkazIg cmVwbyBpbmNsdWRlIGZpbGVzLg0KDQoqIFJldmlldy91cGRhdGUgZnVuY3Rpb24gaGVhZGVycyBv ZiB0aGUgaW1wbGVtZW50YXRpb25zIG9mIHRoZQ0KICBGaXJtd2FyZSBNYW5hZ2VtZW50IFByb3Rv Y29sIGluIHRoZSBlZGsyIHJlcG8uDQoNCiogUmV2aWV3L3VwZGF0ZSBsb2dpYyBpbiBpbXBsZW1l bnRhdGlvbnMgb2YgdGhlIEZpcm13YXJlDQogIE1hbmFnZW1lbnQgUHJvdG9jb2wgaW4gdGhlIGVk azIgcmVwbyB0byBtYWtlIHN1cmUgYWxsIGVycm9yDQogIHJldHVybiBjb25kaXRpb25zIGFyZSBj aGVja2VkLg0KDQoqIFJldmlldy91cGRhdGUgZnVuY3Rpb24gaGVhZGVycyBvZiB0aGUgaW1wbGVt ZW50YXRpb25zIG9mIHRoZQ0KICBGaXJtd2FyZSBNYW5hZ2VtZW50IFByb3RvY29sIGluIHRoZSBl ZGsyLXBsYXRmb3JtcyByZXBvLg0KDQoqIFJldmlldy91cGRhdGUgbG9naWMgaW4gaW1wbGVtZW50 YXRpb25zIG9mIHRoZSBGaXJtd2FyZQ0KICBNYW5hZ2VtZW50IFByb3RvY29sIGluIHRoZSBlZGsy LXBsYXRmb3JtcyByZXBvIHRvIG1ha2Ugc3VyZQ0KICBhbGwgZXJyb3IgcmV0dXJuIGNvbmRpdGlv bnMgYXJlIGNoZWNrZWQuDQoNCiogUmV2aWV3L3VwZGF0ZSB0ZXN0IGNhc2VzIGVkazItdGVzdCBy ZXBvIGZvciB0aGUgVUVGSSBTQ1RzIGZvcg0KICB0aGVzZSBlcnJvciByZXR1cm4gY29uZGl0aW9u cy4NCg0KDQpUaGUgIlJFRiIgaW4gdGhlIGNvbW1pdCBtZXNzYWdlIHNob3VsZCBiZSBhIGxpbmsg dG8gdGhlIFRpYW5vQ29yZSBCdWd6aWxsYS4gIFRoZSByZWZlcmVuY2UgdG8gdGhlIHNwZWNpZmlj YXRpb24gaXMgYWxzbyByZXF1aXJlZCwgYnV0IHNob3VsZCBiZSBpbiB0aGUgdGV4dCBvZiB0aGUg Y29tbWl0IG1lc3NhZ2UuDQoNClRoYW5rcywNCg0KTWlrZQ0KDQoNCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogWHUsIEd1b1ggPGd1b3gueHVAaW50ZWwuY29tPg0KPiBTZW50 OiBTdW5kYXksIEphbnVhcnkgMjEsIDIwMjQgOTozNyBQTQ0KPiBUbzogZ2FvbGltaW5nIDxnYW9s aW1pbmdAYnlvc29mdC5jb20uY24+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTGl1LCBaaGlndWFuZyAN Cj4gPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0g W1BBVENIIDEvMV0gTWRlUGtnOlVwZGF0ZWQgdGhlIGNvbW1lbnRzIG9mIA0KPiBFRklfRklSTVdB UkVfTUFOQUdFTUVOVF9QUk9UT0NPTA0KPiANCj4gSGkgTGltaW5nLA0KPiAgIEkgY3JlYXRlZCBh IFBSOiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC81MTgyLCBjb3VsZCAN Cj4geW91IGhlbHAgcHVzaCBpdCA/DQo+IA0KPiBUaGFua3MNCj4gWHUgR3VvDQo+IA0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbj4NCj4gU2VudDogVHVlc2RheSwgSmFudWFyeSAxNiwgMjAyNCAxMDoyMCBQTQ0K PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFh1LCBHdW9YIDxndW94Lnh1QGludGVsLmNvbT4N Cj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExp dSwgWmhpZ3VhbmcgDQo+IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiDlm57l pI06IFtlZGsyLWRldmVsXSBbUEFUQ0ggMS8xXSBNZGVQa2c6VXBkYXRlZCB0aGUgY29tbWVudHMg b2YgDQo+IEVGSV9GSVJNV0FSRV9NQU5BR0VNRU5UX1BST1RPQ09MDQo+IA0KPiBJIGFtIE9LIGZv ciB0aGlzIGNoYW5nZS4gUmV2aWV3ZWQtYnk6IExpbWluZyBHYW8gDQo+IDxnYW9saW1pbmdAYnlv c29mdC5jb20uY24+DQo+IA0KPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiDlj5Hku7bk uro6IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4g5Luj6KGoIFh1 LCBHdW9YDQo+ID4g5Y+R6YCB5pe26Ze0OiAyMDI05bm0MeaciDnml6UgMTc6MjQNCj4gPiDmlLbk u7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4g5oqE6YCBOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyANCj4gPiA8Z2FvbGlt aW5nQGJ5b3NvZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNv bT4NCj4gPiDkuLvpopg6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMV0gTWRlUGtnOlVwZGF0 ZWQgdGhlIGNvbW1lbnRzIG9mIA0KPiA+IEVGSV9GSVJNV0FSRV9NQU5BR0VNRU5UX1BST1RPQ09M DQo+ID4NCj4gPiBIaSBhbGwsIGFueSBjb21tZW50cyBhYm91dCB0aGlzIHBhdGNoPw0KPiA+DQo+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBHdW9YIA0KPiA+IFh1DQo+ ID4gU2VudDogTW9uZGF5LCBEZWNlbWJlciAyNSwgMjAyMyA5OjIxIEFNDQo+ID4gVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvDQo+ID4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT47IEdhbywgTGltaW5nIA0KPiA+IDxnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+OyBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgDQo+ID4gTGksIFlp MSA8eWkxLmxpQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIDEv MV0gTWRlUGtnOlVwZGF0ZWQgdGhlIGNvbW1lbnRzIG9mIA0KPiA+IEVGSV9GSVJNV0FSRV9NQU5B R0VNRU5UX1BST1RPQ09MDQo+ID4NCj4gPiAxLkZvciBFRklfRklSTVdBUkVfTUFOQUdFTUVOVF9Q Uk9UT0NPTC5HZXRJbWFnZSgpOg0KPiA+IEFkZCB0aGUgZm9sbG93aW5nIHNlbnRlbmNlIGF0IHRo ZSBlbmQgb2YgdGhlIEltYWdlIHBhcmFtZXRlcg0KPiBkZXNjcmlwdGlvbi4NCj4gPiAiTWF5IGJl IE5VTEwgd2l0aCBhIHplcm8gSW1hZ2VTaXplIGluIG9yZGVyIHRvIGRldGVybWluZSB0aGUgc2l6 ZSBvZiANCj4gPiB0aGUgYnVmZmVyIG5lZWRlZCIuDQo+ID4NCj4gPiBNb2RpZnkgdGhlIGRlc2Ny aXB0aW9uIG9mICJFRklfSU5WQUxJRF9QQVJBTUVURVIiIHJldHVybiBjb2RlIGFzIA0KPiA+ICJU aGUgSW1hZ2VTaXplIGlzIG5vdCB0b28gc21hbGwgYW5kIEltYWdlIGlzIE5VTEwuIg0KPiA+DQo+ ID4gMi5Gb3IgRUZJX0ZJUk1XQVJFX01BTkFHRU1FTlRfUFJPVE9DT0wuR2V0SW1hZ2VJbmZvKCk6 DQo+ID4gQWRkIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UgYXQgdGhlIGVuZCBvZiB0aGUgSW1hZ2VJ bmZvIHBhcmFtZXRlciANCj4gPiBkZXNjcmlwdGlvbi4iTWF5IGJlIE5VTEwgd2l0aCBhIHplcm8g SW1hZ2VJbmZvU2l6ZSBpbiBvcmRlciB0byANCj4gPiBkZXRlcm1pbmUgdGhlIHNpemUgb2YgdGhl IGJ1ZmZlciBuZWVkZWQiLg0KPiA+DQo+ID4gTW9kaWZ5IHRoZSBkZXNjcmlwdGlvbiBvZiAiRUZJ X0lOVkFMSURfUEFSQU1FVEVSIiByZXR1cm4gY29kZSBhcyANCj4gPiAiVGhlIEltYWdlSW5mb1Np emUgaXMgbm90IHRvbyBzbWFsbCBhbmQgSW1hZ2UgaXMgTlVMTC4iIGFuZCBhZGQgbmV3IA0KPiA+ IGRlc2NyaXB0aW9ucyBmb3IgIkVGSV9JTlZBTElEX1BBUkFNRVRFUiIgcmV0dXJuIGNvZGUuDQo+ ID4NCj4gPiBSRUY6IFVFRkkgU3BlYyAyLjdCIENoYXB0ZXIgMjMuMS4NCj4gPg0KPiA+IENjOiBN aWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiBDYzogTGlt aW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+IENjOiBaaGlndWFuZyBMaXUg PHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+ID4gQ2M6IFlpIExpIDx5aTEubGlAaW50ZWwuY29t Pg0KPiA+IFNpZ25lZC1vZmYtYnk6IEd1b1ggWHUgPGd1b3gueHVAaW50ZWwuY29tPg0KPiA+IC0t LQ0KPiA+ICBNZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9GaXJtd2FyZU1hbmFnZW1lbnQuaCB8IDEz ICsrKysrKysrKysrLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvUHJvdG9j b2wvRmlybXdhcmVNYW5hZ2VtZW50LmgNCj4gPiBiL01kZVBrZy9JbmNsdWRlL1Byb3RvY29sL0Zp cm13YXJlTWFuYWdlbWVudC5oDQo+ID4gaW5kZXggZjM3MDY3ZGYzNDU1Li45M2M4Yjc2NThlMWEg MTAwNjQ0DQo+ID4gLS0tIGEvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvRmlybXdhcmVNYW5hZ2Vt ZW50LmgNCj4gPiArKysgYi9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9GaXJtd2FyZU1hbmFnZW1l bnQuaA0KPiA+IEBAIC0yOTMsNiArMjkzLDggQEAgRUZJX1NUQVRVUw0KPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY29udGFpbiB0aGUgaW1hZ2UocykgDQo+ID4g aW5mb3JtYXRpb24gaWYgdGhlIGJ1ZmZlciB3YXMgdG9vIHNtYWxsLg0KPiA+ICAgIEBwYXJhbVtp biwgb3V0XSBJbWFnZUluZm8gICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBidWZmZXIgaW4gd2hp Y2gNCj4gPiBmaXJtd2FyZSBwbGFjZXMgdGhlIGN1cnJlbnQgaW1hZ2UocykNCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWF0aW9uLiBUaGUgaW5mb3JtYXRp b24gDQo+ID4gaXMgYW4gYXJyYXkgb2YgRUZJX0ZJUk1XQVJFX0lNQUdFX0RFU0NSSVBUT1JzLg0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF5IGJlIE5VTEwgd2l0 aCBhIHplcm8NCj4gPiBJbWFnZUluZm9TaXplIGluIG9yZGVyIHRvIGRldGVybWluZSB0aGUgc2l6 ZSBvZiB0aGUNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZl ciBuZWVkZWQuDQo+ID4gICAgQHBhcmFtW291dF0gICAgIERlc2NyaXB0b3JWZXJzaW9uICBBIHBv aW50ZXIgdG8gdGhlIGxvY2F0aW9uIGluDQo+IHdoaWNoDQo+ID4gZmlybXdhcmUgcmV0dXJucyB0 aGUgdmVyc2lvbiBudW1iZXINCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgDQo+ID4gRUZJX0ZJUk1XQVJFX0lNQUdFX0RFU0NSSVBU T1IuDQo+ID4gICAgQHBhcmFtW291dF0gICAgIERlc2NyaXB0b3JDb3VudCAgICBBIHBvaW50ZXIg dG8gdGhlIGxvY2F0aW9uIGluDQo+ID4gd2hpY2ggZmlybXdhcmUgcmV0dXJucyB0aGUgbnVtYmVy IG9mIEBAIC0zMTMsNyArMzE1LDEyIEBAIEVGSV9TVEFUVVMNCj4gPiAgICBAcmV0dmFsIEVGSV9T VUNDRVNTICAgICAgICAgICAgICAgIFRoZSBkZXZpY2Ugd2FzIHN1Y2Nlc3NmdWxseQ0KPiA+IHVw ZGF0ZWQgd2l0aCB0aGUgbmV3IGltYWdlLg0KPiA+ICAgIEByZXR2YWwgRUZJX0JVRkZFUl9UT09f U01BTEwgICAgICAgVGhlIEltYWdlSW5mbyBidWZmZXIgd2FzIHRvbw0KPiA+IHNtYWxsLiBUaGUg Y3VycmVudCBidWZmZXIgc2l6ZQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmVlZGVkIHRvIGhvbGQgdGhlIGltYWdlKHMpIA0KPiA+IGluZm9ybWF0aW9uIGlzIHJl dHVybmVkIGluIEltYWdlSW5mb1NpemUuDQo+ID4gLSAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJB TUVURVIgICAgICBJbWFnZUluZm9TaXplIGlzIE5VTEwuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5W QUxJRF9QQVJBTUVURVIgICAgICBJbWFnZUluZm9TaXplIGlzIG5vdCB0b28gc21hbGwNCj4gPiBh bmQgSW1hZ2VJbmZvIGlzIE5VTEwuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVU RVIgICAgICBJbWFnZUluZm9TaXplIGlzIG5vbi16ZXJvIGFuZA0KPiA+IERlc2NyaXB0b3JWZXJz aW9uIGlzIE5VTEwuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICBJ bWFnZUluZm9TaXplIGlzIG5vbi16ZXJvIGFuZA0KPiA+IERlc2NyaXB0b3JDb3VudCBpcyBOVUxM Lg0KPiA+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAgSW1hZ2VJbmZvU2l6 ZSBpcyBub24temVybyBhbmQNCj4gPiBEZXNjcmlwdG9yU2l6ZSBpcyBOVUxMLg0KPiA+ICsgIEBy ZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAgSW1hZ2VJbmZvU2l6ZSBpcyBub24temVy byBhbmQNCj4gPiBQYWNrYWdlVmVyc2lvbiBpcyBOVUxMLg0KPiA+ICsgIEByZXR2YWwgRUZJX0lO VkFMSURfUEFSQU1FVEVSICAgICAgSW1hZ2VJbmZvU2l6ZSBpcyBub24temVybyBhbmQNCj4gPiBQ YWNrYWdlVmVyc2lvbk5hbWUgaXMgTlVMTC4NCj4gPiAgICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJS T1IgICAgICAgICAgIFZhbGlkIGluZm9ybWF0aW9uIGNvdWxkIG5vdCBiZQ0KPiA+IHJldHVybmVk LiBQb3NzaWJsZSBjb3JydXB0ZWQgaW1hZ2UuDQo+ID4NCj4gPiAgKiovDQo+ID4gQEAgLTM0MCw2 ICszNDcsOCBAQCBFRklfU1RBVFVTDQo+ID4gICAgQHBhcmFtW2luXSAgICAgIEltYWdlSW5kZXgg ICAgIEEgdW5pcXVlIG51bWJlciBpZGVudGlmeWluZyB0aGUNCj4gPiBmaXJtd2FyZSBpbWFnZShz KSB3aXRoaW4gdGhlIGRldmljZS4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVGhlIG51bWJlciBpcyBiZXR3ZWVuIDEgYW5kIA0KPiA+IERlc2NyaXB0b3JDb3VudC4NCj4g PiAgICBAcGFyYW1bb3V0XSAgICAgSW1hZ2UgICAgICAgICAgUG9pbnRzIHRvIHRoZSBidWZmZXIg d2hlcmUgdGhlDQo+ID4gY3VycmVudCBpbWFnZSBpcyBjb3BpZWQgdG8uDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1heSBiZSBOVUxMIHdpdGggYSB6ZXJvDQo+ID4gSW1h Z2VTaXplIGluIG9yZGVyIHRvIGRldGVybWluZSB0aGUgc2l6ZSBvZiB0aGUNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIG5lZWRlZC4NCj4gPiAgICBAcGFyYW1b aW4sIG91dF0gSW1hZ2VTaXplICAgICAgT24gZW50cnksIHBvaW50cyB0byB0aGUgc2l6ZSBvZiB0 aGUNCj4gPiBidWZmZXIgcG9pbnRlZCB0byBieSBJbWFnZSwgaW4gYnl0ZXMuDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIHJldHVybiwgcG9pbnRzIHRvIHRoZSBsZW5n dGggb2YgDQo+ID4gdGhlIGltYWdlLCBpbiBieXRlcy4NCj4gPg0KPiA+IEBAIC0zNDcsNyArMzU2 LDcgQEAgRUZJX1NUQVRVUw0KPiA+ICAgIEByZXR2YWwgRUZJX0JVRkZFUl9UT09fU01BTEwgICBU aGUgYnVmZmVyIHNwZWNpZmllZCBieSBJbWFnZVNpemUgaXMNCj4gPiB0b28gc21hbGwgdG8gaG9s ZCB0aGUNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UuIFRoZSBj dXJyZW50IGJ1ZmZlciBzaXplIA0KPiA+IG5lZWRlZCB0byBob2xkIHRoZSBpbWFnZSBpcyByZXR1 cm5lZA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBJbWFnZVNpemUu DQo+ID4gLSAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFRoZSBJbWFnZSB3YXMgTlVM TC4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgVGhlIEltYWdlU2l6ZSBp cyBub3QgdG9vIHNtYWxsIGFuZA0KPiA+IEltYWdlIGlzIE5VTEwuDQo+ID4gICAgQHJldHZhbCBF RklfTk9UX0ZPVU5EICAgICAgICAgIFRoZSBjdXJyZW50IGltYWdlIGlzIG5vdCBjb3BpZWQgdG8N Cj4gPiB0aGUgYnVmZmVyLg0KPiA+ICAgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICBU aGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuDQo+ID4gICAgQHJldHZhbCBFRklfU0VDVVJJ VFlfVklPTEFUSU9OIFRoZSBvcGVyYXRpb24gY291bGQgbm90IGJlIA0KPiA+IHBlcmZvcm1lZCBk dWUgdG8gYW4gYXV0aGVudGljYXRpb24gZmFpbHVyZS4NCj4gPiAtLQ0KPiA+IDIuMjkuMi53aW5k b3dzLjMNCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4gDQo+ID4N Cj4gDQo+IA0KDQoNCgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlv dSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25s aW5lICgjMTE0Nzk4KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTE0 Nzk4Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvMTAzODk4NzY1Lzc2ODYx NzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvClVuc3Vic2NyaWJlOiBo dHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JlYmVjY2FAb3BlbmZ3LmlvXQot PS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo=