From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id EB331941060 for ; Wed, 29 May 2024 03:36:26 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=aqgnX4wFq0M6F/zIfjxLYRs4wE12acgS+gquTKCJw9s=; c=relaxed/simple; d=groups.io; h=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:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1716953786; v=1; b=s9OlmxosJ42NrWcY4K3hxpOedDQk4FRh1bMBwFEeodkxPS2soy5XqZK3vcD3/X2mVz0tBypb QsxxoraHF6SXG7a8UxNfujfWHvSCNRKvWL23dWll9mJRfMWqvF01m6kjX8WRY1UtM/zU6DamXNm O/aHofYfMIyjnbh6VVa1DqajZOZ/xY9ZYPkg9c0IO/IfUurmes+0EiayX6faWCQcUH9hvu3V6it W4LH/1My7KXgGfj2q/bCAIp3CKM36YQPIsMrJf6++G0cwV9gOYYOopivpKGZdMspbhMQ5j2th3w YjySA7W3JUNxjkr5HTGBV1yBIpOqayU2lfwwSsppXDT3Q== X-Received: by 127.0.0.2 with SMTP id jUBYYY7687511xEu5CQ1nzai; Tue, 28 May 2024 20:36:25 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by mx.groups.io with SMTP id smtpd.web10.5355.1716953784731622259 for ; Tue, 28 May 2024 20:36:24 -0700 X-CSE-ConnectionGUID: 9qYYAxn+SOe2a5lzyXJRyw== X-CSE-MsgGUID: 5oxDVN6BTdeytI3Niri8iw== X-IronPort-AV: E=McAfee;i="6600,9927,11085"; a="30836266" X-IronPort-AV: E=Sophos;i="6.08,197,1712646000"; d="scan'208";a="30836266" X-Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2024 20:36:24 -0700 X-CSE-ConnectionGUID: q1vz5yVPTGi/osr10BnTvw== X-CSE-MsgGUID: nKabyLnvREqgX3PPOCf27A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,197,1712646000"; d="scan'208";a="40117054" X-Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa003.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 28 May 2024 20:36:24 -0700 X-Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2507.39; Tue, 28 May 2024 20:36:24 -0700 X-Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.39; Tue, 28 May 2024 20:36:23 -0700 X-Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.39 via Frontend Transport; Tue, 28 May 2024 20:36:23 -0700 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.100) 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.39; Tue, 28 May 2024 20:36:23 -0700 X-Received: from DM6PR11MB4738.namprd11.prod.outlook.com (2603:10b6:5:2a3::18) by CH0PR11MB8141.namprd11.prod.outlook.com (2603:10b6:610:18a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.30; Wed, 29 May 2024 03:36:20 +0000 X-Received: from DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::7064:9c9a:d2ca:c6a1]) by DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::7064:9c9a:d2ca:c6a1%3]) with mapi id 15.20.7633.018; Wed, 29 May 2024 03:36:20 +0000 From: "Li, Zhihao" To: gaoliming , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Duggapu, Chinni B" , "Chen, Gang C" Subject: Re: [edk2-devel] [PATCH v1 1/2] MdeModulePkg/Core/Pei: Install MigrateTempRamPpi Thread-Topic: [PATCH v1 1/2] MdeModulePkg/Core/Pei: Install MigrateTempRamPpi Thread-Index: AQEWmBJrNQu4hLldKbkjEgORZ47PJrM0ld/wgAEIgNA= Date: Wed, 29 May 2024 03:36:19 +0000 Message-ID: References: <20240429032001.6657-1-zhihao.li@intel.com> <00d401dab0e3$968a1ef0$c39e5cd0$@byosoft.com.cn> In-Reply-To: <00d401dab0e3$968a1ef0$c39e5cd0$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB4738:EE_|CH0PR11MB8141:EE_ x-ms-office365-filtering-correlation-id: 6f6c3fcb-ee08-448e-ab6e-08dc7f90812c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: =?utf-8?B?WGVWc3lzeHVZRlZCSGJBd0xJMWJjQWFvNmlhKytYQzluYndiZ0JqYjZxbmxG?= =?utf-8?B?UTBrTnpJU3VNSnFJUCt4ZkNrVCtWckNJNzVmNmNPT1Biai92MVlqVGRMMXpj?= =?utf-8?B?c0V2WTN1T0Fuc3hydDlMYlhIWVZNdzFJOUNQZlR2c1FZOVVGTTFIZGlFc2N3?= =?utf-8?B?ckNuczZ0MXFFKzFDb2N5dm10SEpTOTF2QVIrWWVQRGpFUm1mNTRWY0NaVzFl?= =?utf-8?B?Y0NYazQ2TytFQk5HS2lveS9LZWc1a3hFWnZjS1d5aGhlV0ZJd1Z4KzZ6REJU?= =?utf-8?B?V29qcUZMaklxd0Nsd2RRTy9oS01vTXAwVlo0SmMyWDhUdXlkakNES3ErSnpX?= =?utf-8?B?cWZUaE1rdnR1OWJ3bGVPNmtzM3pIRk1sdG1INUNmYkVnS3RSdWxQc3JYb3FB?= =?utf-8?B?Q21SN2J5aDFSdklvc2x0aGR4aFd5TWlxL3BKVDdqdklXdnVtRzNMS1hwNDd3?= =?utf-8?B?aCtVV1liOWx0UmdDRVNNYTBMSklnWVV0aG5acEZIODNwcWRkWVdQMjVWWTNI?= =?utf-8?B?dTExalhCeHpiL3NqaTJrMXZBNUlPb281QVVxTUF6d0NMZmhLS3o1M3hqZG90?= =?utf-8?B?bFZ6eXNSWHh4U01vSkttMFB4eFNtclQ5RkxmQW1nSlBHNFpPVFdsSG1TdFU5?= =?utf-8?B?bXlZYXFkUjMzTXZ3THlUdFhockdDcytzYndLTzk5R3VYZzgwZm8zdC9qV1Vh?= =?utf-8?B?Wk90bWpoQ0sxSkFvWk0zQlNvYnRlK0JDSlZLdzlOa0MzUmp0Q0JPZGpvTjFH?= =?utf-8?B?VThJTTZwK2FPMFQrRitXeFhZSEpVdXM5Y3ZvcGJqZXNvNE1NRHIzeHQwL21M?= =?utf-8?B?OS8ydy8wL2w1c0tFWlZHZmlldUs3cjF5bFlOSldhVy9tQlBmRTJBcVFSNThs?= =?utf-8?B?YW5UeGZCdHFHc2xmbzZoT0FSZlJOUnUwd2U4RUgrZ0x4ZXI4Y2JSUDJzeFlN?= =?utf-8?B?N2hSOW9lVVVIVmhRN2JMYnlESU14aW1BVjFQa09TMU9CeGZZMy9TS2hlK3ZQ?= =?utf-8?B?ZXVMUW5aQ1dEZ0xBb3dMcVV6Q2lVVUpGdTRYU0h0ZkVVdnFWN2t3ek1veU1G?= =?utf-8?B?a0dQa0pkRGhLUTROUjFwWnFiM0dIZ1F2dkJQdFY0NVYrWFRoeEFiSDcxalF2?= =?utf-8?B?TGVTU1pOTlRNRWZZVE9nZ1BlVWh4czdUK3hEQ2dYTlBFcnZpcExoWmJ0V2Zr?= =?utf-8?B?Z05UbWVNcVRRTUQraXpzaTBVaVd4NzdwdmxwWXhxZWhFMGt2WEkrcjJKYVdL?= =?utf-8?B?Y0hPRlp6WWRZNFA2Y2ZuNWxMUTJpdk9GL0VVSWpXcTZzTFZCZjQxWUtHNmls?= =?utf-8?B?WTNOMzFrN284WTJFNC8zTEVuUzF1ZTIvei82TG9SdUgrc25aWW54aHhQZnZP?= =?utf-8?B?QWhqWk9FNEduR210TjJQUENzbTRCR25uQ25QakgxK0lkb1JXbDl6WXc0K05s?= =?utf-8?B?L2pBeFUzZUdPYjUzbzd0c2hmaWtvUHhZa0tCbmtvU3FOZHhIWVYwOGFlZjZD?= =?utf-8?B?RFJobkhWdW1IdzdjMThSK0E5TVA4VjZJVHdkMDdUVVFiNFVmNXhOLzhjUjhu?= =?utf-8?B?QVg2am45U3QzZ0R2NUIvMXJxUitPT2NVV2tUSlhPckIzbkFPejl3Ym95anY5?= =?utf-8?B?djNPODhuV2Rwam81V0JiS2R6RXVhaEpiaHlLQTZqM09tYnFFbHRFV0Naa1lu?= =?utf-8?B?MS9xSmpJSjZhREluK29hL1ZXWGw4ZkoyMWlGTGliZm1VNjlIVnR4QWpQeXNt?= =?utf-8?Q?MxwIAmXcq693eTULSQ=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WEVpRjY5ajBWU011WVF1bmFQcmFCeFBPQkhuaG9XTWNsSXJsYTA0bnU0d21j?= =?utf-8?B?bTRBeC9sL29UTm9WU2NrdHRsQTk2TFFLcHNKaDIydkl5ZDUwSzN4bTBydW5R?= =?utf-8?B?eHFTbHZDVXozdFc5WXVsTDdHdDF5cEZIMm5PYzNwUVFoRGRiVHRWZkp4RTJn?= =?utf-8?B?QVNNRGxMcVJFTGJpdExVVjFGT2ZRSXRZMW9OS1grWHVRdkhwVllVT3B6OGs3?= =?utf-8?B?WXNkWnYxQ2tjSm1raElZS1NtWXNJLzVPUzdJQmU1ZnYwUXRRQ05pTEE4OGZU?= =?utf-8?B?ZVFHRnJ2V044cFYxK2NSWUsrQWNTVXcySytjVXJtWUhITlk0RXBKc21YTmpw?= =?utf-8?B?NmREZFQ5S2tmUmg0TFpveVJBS3YxV0IzMzliTS8vdW9GNWl6RnFlZXJmazZk?= =?utf-8?B?dWtPSCt4c2M3cHl4T0IvRnJ1TS9pK3hOVk9MKzU5QURwalhjSHRhVXlLQnZF?= =?utf-8?B?cXltS2JTeThaV1J3U1hjWU1iMjVGb3hWUDVCTktOSlhQWkpOOUFnMXMvSUQ3?= =?utf-8?B?d0ZHWHlUVnJoclQzNWlzcEk2MXNKeXVtUmdOTDdzNFNVdUtrM3pySU1jWVQ5?= =?utf-8?B?VTRQdVlNNHBJTXhZZHBvMjc4ckU5SXRwUk5DQm9WYVRtS0FCdVgvc2doUkta?= =?utf-8?B?WHlQckpYaXVrYUpNVmx2cXdYMGVjNThGcWlWNFZITmtTTW00RzQySHRPTUE0?= =?utf-8?B?Ykd6TDVsY3kvWkxpZ0F2TEt3NmhKYUFCRW0rZ0w1bkpHSVg3TDdpb2pUWjR4?= =?utf-8?B?UmZpeGhLZTQxMVJ5TXRkV1dKcmtOZHVCM1N5WE05Vktwbzk4UVJ6MDY3VlEr?= =?utf-8?B?SW1YeC9DRndtekZNVHlUbTVHamk0dmttdTBOZHQ5bm80dnJhZkN1ZHZOOEND?= =?utf-8?B?SXp6akF3MUp0aXhrazI2aEM2cUUxZUprbTJ6VUtVdi8xcS9JQWFaY0hWNkhB?= =?utf-8?B?V01ETVRLNDA4ZzA5N28vdktETTVHV1VYWjBxMkVBSldmeGZQV0dCN3lPVkFQ?= =?utf-8?B?K25QeVovaUpzeXpDelFFOWc5NnZSd3pLVzFwK09WT0w1NUxEL2VnaTdlS1lX?= =?utf-8?B?aDdnMHVhR2NqL3gvRlhJVDJWMXZ5T3E4WTQ3ZnFtWFVTMy9ZKzlaRTdCUTQ1?= =?utf-8?B?a0JOUG5NUHZvN0hoa1cvY3ROWGhDRlBVaVAyZUNuSzRIT0ZiZWtUbTZkbnZl?= =?utf-8?B?aHNuVUdrNkZadGhIUldDZTNOeHpUdWR3WDR3YjQrbmF2ODBKNlNRTk85MWIw?= =?utf-8?B?RWRIMk1oNUV3bEFrVXJldmo4YnlrYjFJUmg1MkNHdm10amw2emRXWVlSV0FY?= =?utf-8?B?MDhnYUkwcmdWTmNkeXAyOHRDOEFDS0ZVWmpXbmFTT1lrYllJTlA4UkNOMDRp?= =?utf-8?B?aEtqY3Zud1VETzFaZWMybWR2a3ZPL1kxN3NpTlA0ZkhHMlRLdEEwc25EM3Ix?= =?utf-8?B?ckdNNno0SGpydE9UYUpYZncxM0I4YUd6OFdTTXEvV2NzaDlpYnhmWkJzbG50?= =?utf-8?B?eUY0MThNQTdwZ3R1Z3p0c0Y2MElNN1RPSFdid1FiQzRjNERoZGpxZUFMZW5W?= =?utf-8?B?NkNWbDZzSldIOTA2bnZpcjVzcXhtU0lnbkFWQ3d0dlBYbm1ueFNlTUV6dmNU?= =?utf-8?B?TEFpaTZVUDAyZDFLd25WTWpuY1lGZjZBNjArdldQeWFSYmtXTnNqQ3dSWnRB?= =?utf-8?B?VzNiU1kwdWlHbVRTWnZIcDlMYlZ5Z1FmeWZ4WjJEVHhuT2tpU3p2eks3OWlh?= =?utf-8?B?ZXV3KzZkVVNHR3Iva1UyeUVWd3lwMm16c3RKSERrWjFQTjdiT1RsdHdKeVRp?= =?utf-8?B?UXlya1E4NVBGaXVES2RycnJQbGtmYXJENE1qcUR6Zmk0aUNkdHVRS1hoNzFL?= =?utf-8?B?Q0lDNlYvZXp4ZlZhcTNRamNVTFBLQ3dqMm5tLzZGUitGL0VacE8xMWhNOWNn?= =?utf-8?B?MUdXSElHWDEweDJLbXVHOG5PNGpzTGowbTU1RGVyQjl5Mm43aENoN1NVaXl1?= =?utf-8?B?VlpYZzdmTndsN2dEQ2sySUhMTDdLSWFudzkwQ1RxanE1Z3BBallNNndSUm4r?= =?utf-8?B?eXVBWlV4NkwxSVFoUnJpUUNBd2JTK1NybXlrZVRXa1BpTHZpTzR5Q1g0dVhZ?= =?utf-8?Q?NRkwFT+SMS4Yr5WLpB2/WPkFE?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4738.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f6c3fcb-ee08-448e-ab6e-08dc7f90812c X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2024 03:36:19.8638 (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: NpWWTfa0GwjbPjfw1PIyUraVWvQsGp8DmllR1TdLBPRt5SPicEdzjofr004LGV2R4FObrDHBZAkeQQgjhKcWEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB8141 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 Resent-Date: Tue, 28 May 2024 20:36:24 -0700 Resent-From: zhihao.li@intel.com Reply-To: devel@edk2.groups.io,zhihao.li@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: f75MY1eG0q5ZU49Nb91GcTChx7686176AA= 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=20240206 header.b=s9Olmxos; 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 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io SXNzdWUgZGVzY3JpcHRpb246DQoxLiBQZWlDb3JlIG9ubHkgbWlncmF0ZXMgRnNwLU0gaW4gZGlz cGF0Y2ggbW9kZSBhbmQgZG9lc24ndCBtaWdyYXRlIEZzcC1UIGFuZCBGc3AtTSBpbiBBcGkgbW9k ZS4gDQoyLiBGc3AtVCBhbmQgRnNwLU0gd2lsbCBiZSBtZWFzdXJlZCBpbiBwb3N0LW1lbSBQRUkg YW5kIHRoZSBtZWFzdXJlbWVudCB1c2VzIG9yaWdpbmFsIGFkZHJlc3Nlcy4NClJvb3RDYXVzZToN ClBlaUNvcmUgb25seSBtaWdyYXRlcyBpbnN0YWxsZWQgRlZzIGFuZCBGc3AtVC9NIG1heSBub3Qg YmUgaW5zdGFsbGVkLg0KDQpEZWZlY3QgaW4gaW1wbGVtZW50YXRpb246DQpJbiBNZGVNb2R1bGVQ a2cvQ29yZS9QZWkvUGVpTWFpbi9QZWlNYWluLmMgbGluZSA0NTA6DQpFdmFjdWF0ZVRlbXBSYW0g d2lsbCBtaWdyYXRlIGluc3RhbGxlZCBjb250ZW50IGZyb20gVGVtcG9yYXJ5IFJBTSB0byBQZXJt YW5lbnQgUkFNIGJlY2F1c2Ugb2YgQm9vdEd1YXJkIFRPQ1RPVSB2dWxuZXJhYmlsaXR5KGh0dHBz Oi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNCkuDQpJbiBJbnRl bEZzcDJXcmFwcGVyUGtnL0ZzcG1XcmFwcGVyUGVpbS9Gc3BtV3JhcHBlclBlaW0uYyBsaW5lIDIy MDoNCkZzcG1XcmFwcGVySW5pdCB3aWxsIGluc3RhbGwgRnNwbSBpbiBkaXNwYXRjaCBtb2RlIG9y IGRpcmVjdGx5IGNhbGwgUGVpRnNwTWVtb3J5SW5pdCBmdW5jdGlvbiBpbiBhcGkgbW9kZS4NCj09 Pg0KQXBpIG1vZGU6IEZzcC1UIGFuZCBGc3AtTSBhcmUgbm90IG1pZ3JhdGVkIGJlY2F1c2UgdGhl eSBhcmUgbm90IGluc3RhbGxlZC4NCkRpc3BhdGNoIG1vZGU6IEZzcC1UIGlzIG5vdCBtaWdyYXRl ZCBiZWNhdXNlIGl0IGlzIG5vdCBpbnN0YWxsZWQuDQoNCkluIEludGVsRnNwMldyYXBwZXJQa2cv RnNwbVdyYXBwZXJQZWltL0ZzcG1XcmFwcGVyUGVpbS5jIGxpbmUgMjkxLCAzMDA6DQpUY2dQcGlO b3RpZnkgdHJhbnNtaXRzIG9yaWdpbmFsIGFkZHJlc3NlcyhQY2RGc3B0QmFzZUFkZHJlc3MsIFBj ZEZzcG1CYXNlQWRkcmVzcykgdG8gTWVhc3VyZUZzcEZpcm13YXJlQmxvYiB3aGljaCB3aWxsIHRy aWdnZXIgSGFzaExvZ0V4dGVuZEV2ZW50Lg0KSW4gU2VjdXJpdHlQa2cvVGNnL1RjZzJQZWkvVGNn MlBlaS5jIGxpbmUgOTY2Og0KVGNnUHBpIHdpbGwgYmUgaW5zdGFsbGVkIGluIFBlaW1FbnRyeU1Q IHdoaWNoIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIFBFSSBGb3VuZGF0aW9uIGRpc2NvdmVycyBw ZXJtYW5lbnQgbWVtb3J5KGxpbmUgMTA1OSBtSW1hZ2VJbk1lbW9yeSA9IFRSVUUpLg0KPT0+DQpP cmlnaW5hbCBhZGRyZXNzZXMgb2YgRnNwLVQgYW5kIEZzcC1NIHdpbGwgYmUgdXNlZCBmb3IgbWVh c3VyZW1lbnQgYWZ0ZXIgcGVybWFuZW50IG1lbW9yeSBpcyByZWFkeSBhbmQgaW5zdGFsbGVkIEZW cyBhcmUgbWlncmF0ZWQuDQoNCg0KU29sdXRpb246DQpNZGVNb2R1bGVQa2c6IFBlaUNvcmUgSW5z dGFsbHMgTWlncmF0ZVRlbXBSYW1QcGkgaWYgUGNkTWlncmF0ZVRlbXBvcmFyeVJhbUZpcm13YXJl Vm9sdW1lcyBpcyBUcnVlLg0KSW50ZWxGc3AyV3JhcHBlclBrZyA6IDEuIE1pZ3JhdGVUZW1wUmFt UHBpIG5pdGlmaWNhdGlvbiBpbiBGc3BtV3JhcHBlclBlaW0gbWlncmF0ZXMgRnNwVC9NIGJpbmFy eSB0byBwZXJtYW5lbnQgbWVtb3J5IGFuZCBidWlsZCBNaWdhdGVkRnZJbmZvSG9iLg0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4gVENHIG5vdGlmaWNhdGlvbiBj aGVja3MgTWlnYXRlZEZ2SW5mb0hvYiBhbmQgdHJhbnNtaXRzIERSQU0gYWRkcmVzcyBmb3IgbWVh c3VyZW1lbnQuDQoNCkJSLA0KWmhpaGFvDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N CkZyb206IGdhb2xpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPiANClNlbnQ6IFR1ZXNk YXksIE1heSAyOCwgMjAyNCA1OjQ0IFBNDQpUbzogTGksIFpoaWhhbyA8emhpaGFvLmxpQGludGVs LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogQ2hpdSwgQ2hhc2VsIDxjaGFzZWwuY2hp dUBpbnRlbC5jb20+OyBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5hdGhhbmllbC5sLmRlc2ltb25l QGludGVsLmNvbT47IER1Z2dhcHUsIENoaW5uaSBCIDxjaGlubmkuYi5kdWdnYXB1QGludGVsLmNv bT47IENoZW4sIEdhbmcgQyA8Z2FuZy5jLmNoZW5AaW50ZWwuY29tPg0KU3ViamVjdDog5Zue5aSN OiBbUEFUQ0ggdjEgMS8yXSBNZGVNb2R1bGVQa2cvQ29yZS9QZWk6IEluc3RhbGwgTWlncmF0ZVRl bXBSYW1QcGkNCg0KWmhpaGFvOg0KICBDb3VsZCB5b3UgZXhwbGFpbiB0aGUgc2l0dWF0aW9uIHRo YXQgRlNQLVQvTSBpcyBub3QgbWlncmF0ZWQgYnkgUGVpQ29yZT8gDQoNClRoYW5rcw0KTGltaW5n DQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBaaGloYW8gTGkgPHpoaWhh by5saUBpbnRlbC5jb20+DQo+IOWPkemAgeaXtumXtDogMjAyNOW5tDTmnIgyOeaXpSAxMToyMA0K PiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IOaKhOmAgTogQ2hhc2VsIENoaXUg PGNoYXNlbC5jaGl1QGludGVsLmNvbT47IE5hdGUgRGVTaW1vbmUgDQo+IDxuYXRoYW5pZWwubC5k ZXNpbW9uZUBpbnRlbC5jb20+OyBEdWdnYXB1IENoaW5uaSBCIA0KPiA8Y2hpbm5pLmIuZHVnZ2Fw dUBpbnRlbC5jb20+OyBDaGVuIEdhbmcgQyA8Z2FuZy5jLmNoZW5AaW50ZWwuY29tPjsgDQo+IExp bWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4g5Li76aKYOiBbUEFUQ0ggdjEg MS8yXSBNZGVNb2R1bGVQa2cvQ29yZS9QZWk6IEluc3RhbGwgTWlncmF0ZVRlbXBSYW1QcGkNCj4g DQo+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD00 NzE2DQo+IA0KPiBNaWdyYXRlIEZTUC1UL00gYmluYXJ5IGZyb20gdGVtcG9yYXJ5IFJBTSB0byBw ZXJtYW5lbnQgUkFNIGJlZm9yZSBORU0gDQo+IHRlYXIgZG93bi4gVGNnIG1vZHVsZSB3aWxsIHVz ZSBwZXJtYW5lbnQgYWRkcmVzcyBvZiBGU1AtVC9NIGZvciANCj4gbWVhc3VyZW1lbnQuDQo+IDEu IFBlaUNvcmUgaW5zdGFsbHMgbU1pZ3JhdGVUZW1wUmFtUHBpIGlmIA0KPiBQY2RNaWdyYXRlVGVt cG9yYXJ5UmFtRmlybXdhcmVWb2x1bWVzIGlzIFRydWUgMi4gRnNwbVdyYXBwZXJQZWltIA0KPiBt aWdyYXRlIEZzcFQvTSBiaW5hcnkgdG8gcGVybWFuZW50IG1lbW9yeSBhbmQgYnVpbGQgTWlnYXRl ZEZ2SW5mb0hvYiANCj4gMy4gVENHIG5vdGlmaWNhdGlvbiBjaGVja3MgTWlnYXRlZEZ2SW5mb0hv YiBhbmQgdHJhbnNtaXRzIERSQU0gYWRkcmVzcyANCj4gZm9yIG1lYXN1cmVtZW50DQo+IA0KPiBD YzogQ2hhc2VsIENoaXUgPGNoYXNlbC5jaGl1QGludGVsLmNvbT4NCj4gQ2M6IE5hdGUgRGVTaW1v bmUgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT4NCj4gQ2M6IER1Z2dhcHUgQ2hpbm5p IEIgPGNoaW5uaS5iLmR1Z2dhcHVAaW50ZWwuY29tPg0KPiBDYzogQ2hlbiBHYW5nIEMgPGdhbmcu Yy5jaGVuQGludGVsLmNvbT4NCj4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNv bS5jbj4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFpoaWhhbyBMaSA8emhpaGFvLmxpQGludGVsLmNv bT4NCj4gLS0tDQo+ICBNZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi9QZWlNYWluLmMgICAg fCAxMCArKysrKysrKy0NCj4gIE1kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluLmggICAgICAg ICAgICB8ICAzICsrLQ0KPiAgTWRlTW9kdWxlUGtnL0NvcmUvUGVpL1BlaU1haW4uaW5mICAgICAg ICAgIHwgIDMgKystDQo+ICBNZGVNb2R1bGVQa2cvSW5jbHVkZS9HdWlkL01pZ3JhdGVkRnZJbmZv LmggfCAgNCArKy0tICANCj4gTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHBpL01pZ3JhdGVUZW1wUmFt LmggIHwgMjMNCj4gKysrKysrKysrKysrKysrKysrKysNCj4gIE1kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cuZGVjICAgICAgICAgICAgICB8ICA1ICsrKystDQo+ICA2IGZpbGVzIGNoYW5nZWQsIDQy IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTWRlTW9k dWxlUGtnL0NvcmUvUGVpL1BlaU1haW4vUGVpTWFpbi5jDQo+IGIvTWRlTW9kdWxlUGtnL0NvcmUv UGVpL1BlaU1haW4vUGVpTWFpbi5jDQo+IGluZGV4IGJmMTcxOWQ3OTQxYS4uMGUzZDlhODQzODE2 IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi9QZWlNYWluLmMN Cj4gKysrIGIvTWRlTW9kdWxlUGtnL0NvcmUvUGVpL1BlaU1haW4vUGVpTWFpbi5jDQo+IEBAIC0x LDcgKzEsNyBAQA0KPiAgLyoqIEBmaWxlDQo+ICAgIFBlaSBDb3JlIE1haW4gRW50cnkgUG9pbnQN Cj4gDQo+IC1Db3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyANCj4gcmVzZXJ2ZWQuPEJSPg0KPiArQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAyNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ICtyZXNlcnZlZC48QlI+DQo+ICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiANCj4gICoqLw0KPiBA QCAtMTMsNiArMTMsMTEgQEAgRUZJX1BFSV9QUElfREVTQ1JJUFRPUiAgbU1lbW9yeURpc2NvdmVy ZWRQcGkgPSB7DQo+ICAgICZnRWZpUGVpTWVtb3J5RGlzY292ZXJlZFBwaUd1aWQsDQo+ICAgIE5V TEwNCj4gIH07DQo+ICtFRklfUEVJX1BQSV9ERVNDUklQVE9SICBtTWlncmF0ZVRlbXBSYW1QcGkg PSB7DQo+ICsgIChFRklfUEVJX1BQSV9ERVNDUklQVE9SX1BQSSB8DQo+IEVGSV9QRUlfUFBJX0RF U0NSSVBUT1JfVEVSTUlOQVRFX0xJU1QpLA0KPiArICAmZ0Vka2lpUGVpTWlncmF0ZVRlbXBSYW1Q cGlHdWlkLA0KPiArICBOVUxMDQo+ICt9Ow0KPiANCj4gIC8vLw0KPiAgLy8vIFBlaSBzZXJ2aWNl IGluc3RhbmNlDQo+IEBAIC00NDksNiArNDU0LDkgQEAgUGVpQ29yZSAoDQo+ICAgICAgICAvLw0K PiAgICAgICAgRXZhY3VhdGVUZW1wUmFtICgmUHJpdmF0ZURhdGEsIFNlY0NvcmVEYXRhKTsNCj4g DQo+ICsgICAgICBTdGF0dXMgPSBQZWlTZXJ2aWNlc0luc3RhbGxQcGkgKCZtTWlncmF0ZVRlbXBS YW1QcGkpOw0KPiArICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiAgICAg ICAgREVCVUcgKChERUJVR19WRVJCT1NFLCAiUFBJIGxpc3RzIGFmdGVyIHRlbXBvcmFyeSBSQU0g DQo+IGV2YWN1YXRpb246XG4iKSk7DQo+ICAgICAgICBEdW1wUHBpTGlzdCAoJlByaXZhdGVEYXRh KTsNCj4gICAgICB9DQo+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFp bi5oIA0KPiBiL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluLmggaW5kZXggNDZiNmMyMzAx NGEzLi44ZGYwYzJkNTYxZjcgDQo+IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQ29yZS9Q ZWkvUGVpTWFpbi5oDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluLmgNCj4g QEAgLTEsNyArMSw3IEBADQo+ICAvKiogQGZpbGUNCj4gICAgRGVmaW5pdGlvbiBvZiBQZWkgQ29y ZSBTdHJ1Y3R1cmVzIGFuZCBTZXJ2aWNlcw0KPiANCj4gLUNvcHlyaWdodCAoYykgMjAwNiAtIDIw MTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiByZXNlcnZlZC48QlI+DQo+ICtD b3B5cmlnaHQgKGMpIDIwMDYgLSAyMDI0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyAN Cj4gK3Jlc2VydmVkLjxCUj4NCj4gIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+IA0KPiAgKiovDQo+IEBAIC0yNiw2ICsyNiw3IEBAIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICANCj4gI2luY2x1ZGUgPFBwaS9UZW1wb3Jh cnlSYW1Eb25lLmg+ICAjaW5jbHVkZSA8UHBpL1NlY0hvYkRhdGEuaD4gIA0KPiAjaW5jbHVkZSA8 UHBpL1BlaUNvcmVGdkxvY2F0aW9uLmg+DQo+ICsjaW5jbHVkZSA8UHBpL01pZ3JhdGVUZW1wUmFt Lmg+DQo+ICAjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiAgI2luY2x1ZGUgPExpYnJh cnkvUGVpQ29yZUVudHJ5UG9pbnQuaD4gICNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4gDQo+ IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi5pbmYNCj4gYi9NZGVN b2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi5pbmYNCj4gaW5kZXggODkzYmRjMDUyNzk4Li40ZTU0 NWRkYWIyYWIgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluLmlu Zg0KPiArKysgYi9NZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi5pbmYNCj4gQEAgLTYsNyAr Niw3IEBADQo+ICAjIDIpIERpc3BhdGNoIFBFSU0gZnJvbSBkaXNjb3ZlcmVkIEZWLg0KPiAgIyAz KSBIYW5kb2ZmIGNvbnRyb2wgdG8gRHhlSXBsIHRvIGxvYWQgRFhFIGNvcmUgYW5kIGVudGVyIERY RSBwaGFzZS4NCj4gICMNCj4gLSMgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gKyMgQ29weXJpZ2h0IChj KSAyMDA2IC0gMjAyNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ICtyZXNlcnZl ZC48QlI+DQo+ICAjDQo+ICAjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudCAgIyBAQCAtMTAxLDYgKzEwMSw3IA0KPiBAQA0KPiAgICBnRWZpUGVpUmVzZXQyUHBp R3VpZCAgICAgICAgICAgICAgICAgICAgICAgICAgIyMNCj4gU09NRVRJTUVTX0NPTlNVTUVTDQo+ ICAgIGdFZmlTZWNIb2JEYXRhUHBpR3VpZCAgICAgICAgICAgICAgICAgICAgICAgICAjIw0KPiBT T01FVElNRVNfQ09OU1VNRVMNCj4gICAgZ0VmaVBlaUNvcmVGdkxvY2F0aW9uUHBpR3VpZCAgICAg ICAgICAgICAgICAgICMjDQo+IFNPTUVUSU1FU19DT05TVU1FUw0KPiArICBnRWRraWlQZWlNaWdy YXRlVGVtcFJhbVBwaUd1aWQgICAgICAgICAgICAgICAgIyMgUFJPRFVDRVMNCj4gDQo+ICBbUGNk XQ0KPiAgICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGVpQ29yZU1heFBlaVN0 YWNrU2l6ZQ0KPiAjIyBDT05TVU1FUw0KPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL0luY2x1 ZGUvR3VpZC9NaWdyYXRlZEZ2SW5mby5oDQo+IGIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvR3VpZC9N aWdyYXRlZEZ2SW5mby5oDQo+IGluZGV4IDFjOGIwZGZlZmM0OS4uMjU1ZTI3ODIzNWIxIDEwMDY0 NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvSW5jbHVkZS9HdWlkL01pZ3JhdGVkRnZJbmZvLmgNCj4g KysrIGIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvR3VpZC9NaWdyYXRlZEZ2SW5mby5oDQo+IEBAIC0x LDcgKzEsNyBAQA0KPiAgLyoqIEBmaWxlDQo+ICAgIE1pZ3JhdGVkIEZWIGluZm9ybWF0aW9uDQo+ IA0KPiAtQ29weXJpZ2h0IChjKSAyMDIwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICtDb3B5cmlnaHQgKGMpIDIwMjAgLSAyMDI0LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyANCj4gK3Jlc2VydmVkLjxCUj4NCj4gIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IA0KPiAgKiovDQo+IEBAIC01MCw3ICs1MCw3 IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gDQo+ICB0eXBlZGVmIHN0cnVjdCB7DQo+ICAgIFVJTlQz MiAgICBGdk9yZ0Jhc2U7ICAgICAgICAgLy8gb3JpZ2luYWwgRlYgYWRkcmVzcw0KPiAtICBVSU5U MzIgICAgRnZOZXdCYXNlOyAgICAgICAgIC8vIG5ldyBGViBhZGRyZXNzDQo+ICsgIFVJTlQzMiAg ICBGdk5ld0Jhc2U7ICAgICAgICAgLy8gbmV3IEZWIGFkZHJlc3MsIDAgbWVhbnMgcmViYXNlZCBk YXRhDQo+IGlzIG5vdCBjb3BpZWQNCj4gICAgVUlOVDMyICAgIEZ2RGF0YUJhc2U7ICAgICAgICAv LyBvcmlnaW5hbCBGViBkYXRhLCAwIG1lYW5zIHJhdyBkYXRhIGlzDQpub3QNCj4gY29waWVkDQo+ ICAgIFVJTlQzMiAgICBGdkxlbmd0aDsgICAgICAgICAgLy8gRnYgTGVuZ3RoDQo+ICB9IEVES0lJ X01JR1JBVEVEX0ZWX0lORk87DQo+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvSW5jbHVkZS9Q cGkvTWlncmF0ZVRlbXBSYW0uaA0KPiBiL01kZU1vZHVsZVBrZy9JbmNsdWRlL1BwaS9NaWdyYXRl VGVtcFJhbS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4u OWJiYjU1ZDVjZjg2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvTWRlTW9kdWxlUGtnL0luY2x1 ZGUvUHBpL01pZ3JhdGVUZW1wUmFtLmgNCj4gQEAgLTAsMCArMSwyMyBAQA0KPiArLyoqIEBmaWxl DQo+ICsgIFRoaXMgZmlsZSBkZWNsYXJlcyBNaWdyYXRlIFRlbXBvcmFyeSBNZW1vcnkgUFBJLg0K PiArDQo+ICsgIFRoaXMgUFBJIGlzIHB1Ymxpc2hlZCBieSB0aGUgUEVJIEZvdW5kYXRpb24gd2hl biB0ZW1wb3JhcnkgUkFNIA0KPiArIG5lZWRzIHRvDQo+IGV2YWN1YXRlLg0KPiArICBJdHMgcHVy cG9zZSBpcyB0byBiZSB1c2VkIGFzIGEgc2lnbmFsIGZvciBvdGhlciBQRUlNcyB3aG8gY2FuIA0K PiArIHJlZ2lzdGVyDQpmb3IgYQ0KPiArICBub3RpZmljYXRpb24gb24gaXRzIGluc3RhbGxhdGlv bi4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMjQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgUEVJX01JR1JBVEVf VEVNUF9SQU1fUFBJX0hfDQo+ICsjZGVmaW5lIFBFSV9NSUdSQVRFX1RFTVBfUkFNX1BQSV9IXw0K PiArDQo+ICsjZGVmaW5lIEVGSV9QRUlfTUlHUkFURV9URU1QX1JBTV9QUElfR1VJRCBcDQo+ICsg IHsgXA0KPiArICAgIDB4Yzc5ZGM1M2IsIDB4YWZjZCwgMHg0YTZhLCB7MHhhZCwgMHg5NCwgMHhh NywgMHg2YSwgMHgzZiwgMHhhOSwNCjB4ZTksDQo+IDB4YzIgfSBcDQo+ICsgIH0NCj4gKw0KPiAr ZXh0ZXJuIEVGSV9HVUlEICBnRWRraWlQZWlNaWdyYXRlVGVtcFJhbVBwaUd1aWQ7DQo+ICsNCj4g KyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMgDQo+ IGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMgaW5kZXggM2EyMzlhMTY4N2VhLi40M2U5 MmM2OGNhMjAgDQo+IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRl Yw0KPiArKysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiBAQCAtNCw3ICs0LDcg QEANCj4gICMgYW5kIGxpYnJhcmllcyBpbnN0YW5jZXMsIHdoaWNoIGFyZSB1c2VkIGZvciB0aG9z ZSBtb2R1bGVzLg0KPiAgIw0KPiAgIyBDb3B5cmlnaHQgKGMpIDIwMTksIE5WSURJQSBDT1JQT1JB VElPTi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gLSMgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAy MSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gKyMg Q29weXJpZ2h0IChjKSAyMDA3IC0gMjAyNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg DQo+ICtyZXNlcnZlZC48QlI+DQo+ICAjIENvcHlyaWdodCAoYykgMjAxNiwgTGluYXJvIEx0ZC4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ICAjIChDKSANCj4gQ29weXJpZ2h0IDIwMTYgLSAyMDE5 IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQPEJSPiAgIyANCj4gQ29w eXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4gQEAgDQo+IC01NDYsNiArNTQ2LDkgQEANCj4gICAgIyMgSW5jbHVkZS9QcGkvTWVtb3J5QXR0 cmlidXRlLmgNCj4gICAgZ0Vka2lpTWVtb3J5QXR0cmlidXRlUHBpR3VpZCAgICAgICAgICAgICAg PSB7IDB4MWJlODQwZGUsIDB4MmQ5MiwNCj4gMHg0MWVjLCB7IDB4YjYsIDB4ZDMsIDB4MTksIDB4 NjQsIDB4MTMsIDB4NTAsIDB4NTEsIDB4ZmIgfSB9DQo+IA0KPiArICAjIyBJbmNsdWRlL1BwaS9N aWdyYXRlVGVtcFJhbS5oDQo+ICsgIGdFZGtpaVBlaU1pZ3JhdGVUZW1wUmFtUHBpR3VpZCAgICAg ICAgICAgID0geyAweGM3OWRjNTNiLCAweGFmY2QsDQo+IDB4NGE2YSwgeyAweGFkLCAweDk0LCAw eGE3LCAweDZhLCAweDNmLCAweGE5LCAweGU5LCAweGMyIH0gfQ0KPiArDQo+ICBbUHJvdG9jb2xz XQ0KPiAgICAjIyBMb2FkIEZpbGUgcHJvdG9jb2wgcHJvdmlkZXMgY2FwYWJpbGl0eSB0byBsb2Fk IGFuZCB1bmxvYWQgRUZJIA0KPiBpbWFnZQ0KaW50bw0KPiBtZW1vcnkgYW5kIGV4ZWN1dGUgaXQu DQo+ICAgICMgIEluY2x1ZGUvUHJvdG9jb2wvTG9hZFBlMzJJbWFnZS5oDQo+IC0tDQo+IDIuNDQu MC53aW5kb3dzLjENCg0KDQoNCg0KCi09LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBM aW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9S ZXBseSBPbmxpbmUgKCMxMTkzMTMpOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVz c2FnZS8xMTkzMTMKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDYzNjMy MDQvNzY4NjE3NgpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJz Y3JpYmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVu ZncuaW9dCi09LT0tPS09LT0tPS09LT0tPS09LT0tCgoNCg==