From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.18445.1650525782544997486 for ; Thu, 21 Apr 2022 00:23:03 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=LHh/xiyL; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: zhihao.li@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650525782; x=1682061782; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=7hGjEIYVn7wZKSK/CvMFdPRp/Rip4WtVLExVs/++GW8=; b=LHh/xiyL2x3PDH09dg3oDttqmYbFmxHyTpeRost7c6udepaBNGFgc+4G wadHKQl2BeWS0WgrYWipdPUj0I3TbMg5R2S1ppnw5JS/sFXgw+yDcsK3t YKuNx0So7UXrVJ3d3o3nQQ4EI4DT9ggo9FbcrNgLUaUEomyR99KJSyvp1 4Ra5XywLCQZxr90r3RAhjL1d2fO6vpVYCnXhUET6qy+HsiYPhLIWJb/I6 CoLauE3YPOdHAzhmHrA3fnXT/9ahHlFBDYhubQB8CPMWIdiPme7sEuRwi ASDVphlTRheCbw6mlZBJxki6nKQTug5ZBIRau2yr1qUlSGjDT5v9TOi8q w==; X-IronPort-AV: E=McAfee;i="6400,9594,10323"; a="263731766" X-IronPort-AV: E=Sophos;i="5.90,278,1643702400"; d="scan'208";a="263731766" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2022 00:22:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,278,1643702400"; d="scan'208";a="626399796" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga004.fm.intel.com with ESMTP; 21 Apr 2022 00:22:38 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 21 Apr 2022 00:22:38 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2308.27; Thu, 21 Apr 2022 00:22:37 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2308.27 via Frontend Transport; Thu, 21 Apr 2022 00:22:37 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.172) 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.2308.27; Thu, 21 Apr 2022 00:22:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J0NPsI8iTXYJ9bAogcSyNtA33RtLiK0yJpgnrZheGwJp4UQ7rwtgTvAt7FzNCUCfS5PzteQwgfb6GmOvzeYEi1lbXVUdIqmRS+Fo1XvhdhMCWNIU5iQaAoEl/MnoYr7m6C0wjUefa0FiFfK3vAJ+Gdsz0qNZ7H8G1NggI07ZxRzXuuqhZRoxyxYUFgPxRnWhu69SMlBB6ASrYcQzNCOAD6Rfc5KoxxfmhjM7rmMzW/Z6hHDJtOjP3Z9OjLNRj8ZfYNqsft0AECIJ0lyYFlq7YCOIHZH90M601F4CY5wpUMn4LOI+YdcgXgUTvNj/LNvbXWwi4s/ACsZ7vQ8j6UWUUg== 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=7hGjEIYVn7wZKSK/CvMFdPRp/Rip4WtVLExVs/++GW8=; b=g3m/eWzPMSZ/8AqQkjyBdaQhOmzxP7NdPN+VRQn0zC8jaGlsE/nQcSEqBIl5l2ImfsEHQM+Na/kqbEIG64VE2jbTVEjM3g8YEmW48tmYYA9M0XX488yhdn6eCvZbIMLQDZJ87shWcaSXnUh0yFjIQUpW3VPnzNMxBx9k5UjoywO+4xaoRgjVo3JbjtFhLqf64K34ssw4KmTeV77uVdn8FnFnXvRaa60awa6HzfzcdchIIxADBlLfb8+ccamvp7LqerfooPNkmXwWPUBrfBGkBQiapg8Yt5OoIvdch1iuiZh99kBu5IJUgGS86+LpMr0T0BoaG5wJt6dbqarMuLDS8Q== 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 DM6PR11MB4738.namprd11.prod.outlook.com (2603:10b6:5:2a3::18) by DM5PR11MB1835.namprd11.prod.outlook.com (2603:10b6:3:114::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Thu, 21 Apr 2022 07:22:35 +0000 Received: from DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::e816:62aa:5e21:56e6]) by DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::e816:62aa:5e21:56e6%5]) with mapi id 15.20.5164.025; Thu, 21 Apr 2022 07:22:35 +0000 From: "Li, Zhihao" To: Michael Kubacki , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Gao, Liming" , "Fu, Siyuan" , "Ni, Ray" , Sami Mujawar , Ilias Apalodimas , Ard Biesheuvel , Leif Lindholm Subject: Re: [edk2-devel] [PATCH v2 1/1] MdeModulePkg: Use SmmWaitForAllProcessor() in VariableSmm driver. Thread-Topic: [edk2-devel] [PATCH v2 1/1] MdeModulePkg: Use SmmWaitForAllProcessor() in VariableSmm driver. Thread-Index: AQHYVOZktiBFv2LppEaZPtUlK6AQnaz5778Q Date: Thu, 21 Apr 2022 07:22:35 +0000 Message-ID: References: <20220420173201.1050-1-zhihao.li@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.401.20 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-office365-filtering-correlation-id: c2fefe00-7579-4725-d64b-08da2367b50c x-ms-traffictypediagnostic: DM5PR11MB1835:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5bDaA1kcseNRPODIKdvdFmIMeDMGjAV8hlb8G23Ob928fKXUaqhVNl7HwXyvxGbgVg6g7YoIT4ibDn29DReoCHk6AjGuziKZhDwAhTyZydIMAUEirPiAeCK3sl9Xcyrj19rLqhAqFaHXGtMaNqjrDGUesMfMvb/T48OE0o+Q3jg21wLSMLbuHsiS28Hn9XM7s3ZZNyzZhA59zncfv6QjNDqgSA6sXzJTaNFDt3/cwHSfk48vJuAmoGaiXite7TO5JvtpLyN2wQxI28BPemHeO9uJm5kEkOx+RhkFzH5fObF7BjcevvUlZgbMvpjyeqMThQ0a7WIrydUXek6sTRs8sR65zM6a+eiaIuY3VnKyQV1pwbsQxyRsbsUgRwUAFtzfKPsuUpuOr+rl3dXT1RXRfY9xyC0lU3QKENFHlwkLAGMkoHYZYIYoXqVXCx1HxjAPQB5isqkyxW45ECSBUgTHoVixvUWboTu5d00XcWHs6cDXoCDCNhfHzC6Qf3pTUCMlToXeOYfJyyqWmjXeu2V5Qpdjt3X1M7eMdD6n/am3DcZAAIZGwp7v8iUTwrOE4mbcIvVrcfbAQ56uJhCfa1zcVvNn/PaMsxKX3Rbe/l6pjORPMqN6jQ36xNIjdAbmMLbm/M3s+IqRd5C6ApmHreNYcZN4Y3F+j8x2JmMmZrYoOSnROK3nssUQplMrliKfb02UxwHWt6IN0Lt95CfOjIx/Xn+vHWr4agM6KakG5tGUXP48POuXrxklQIaLrubKbcp8iX2GsMlvTqfVDb+Nlvu8hRHNRDcs1EN7H2jD0M6NDASK4qZHA1iy4WNqVU+HgD2acGZoVVeOi3qKBH4n2czYafGCoZjp4Lb2G/aTbTD51fg= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4738.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6506007)(53546011)(9686003)(26005)(5660300002)(38070700005)(38100700002)(508600001)(30864003)(52536014)(8936002)(7696005)(966005)(82960400001)(45080400002)(2906002)(122000001)(33656002)(55016003)(83380400001)(86362001)(186003)(316002)(71200400001)(110136005)(54906003)(66446008)(66476007)(66946007)(8676002)(66556008)(4326008)(64756008)(76116006)(213903007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cWxwN2RJODdoWXhhbWxDK3FaeU5PTDBETVNmKzROK0ZiZi9ZVml1UTJJZkpx?= =?utf-8?B?Q0g0N2kvbkdzakFzQ3l4c3pDSm9SQ3IwSjhwemI1NDV1SSt4RXIvT083Sm9z?= =?utf-8?B?N3g2Wm1kc3ZUREg1OGtRaEJBd0FZRVprUWNya0tVendLTTZvdzNCNFFvRzV0?= =?utf-8?B?eURtZnpKYjFyYXFKQ3ovSmZsUFIwaENhbXlXMytFdW9NV1g2R0dmb1FQMEQv?= =?utf-8?B?alpEem1hVGtlU1djbFd2K2x6Mk81MEplVnVYc3grNHlXV1hWMjRqcWlFN2dD?= =?utf-8?B?cFIzZ252VXh3UHJiOHBsSGMyM3J1MHNVVlNXU0RoTlZkSCs0eEYyOHU3dm9F?= =?utf-8?B?b1BWbndaRmJKVmJnaHc2QWg4aithQ3B4R0dTWFlnOUY1TWdWWXJOQW4vc0R1?= =?utf-8?B?MFBwLzN0WGw0S3JrS2VjNTN4Ukg0Q2xTT3ZaVE9DaVdDMVc0SGRXZG10Q2cy?= =?utf-8?B?UCt5OTBlUURmTXpBNXVDSzhFajF1dmdiVUYwWWk2UGppVVNYU1liajdMc3JT?= =?utf-8?B?Sm82QWNJVFpaNzFaNUlnRGNyd21oWmk4RSsxc3ZPcEV0TjhkN0xqMThaWXdi?= =?utf-8?B?UHlCTUErYVJOd0FJc1Ztd2xESStoU2ZtUmE3ZjZJRkYvclZOdEwrWUxnaENw?= =?utf-8?B?bDNlMlY5dHdPRktCQlJ4VTJEeGdMQVN0V1ZXRmgxQWluV3FWak8vZ2xDNGov?= =?utf-8?B?YXlGZFNtQzFQZWg1ZmtkNkpFV0JRTHZ2bzhtS1V5WHN1aVFpOXVBMVlnZjZi?= =?utf-8?B?RVY2RzB2MTZPeG9kTHZFSXJNaDRlMHNNVjMydG1aQ3BnMEExTWduN3M1WmNG?= =?utf-8?B?cDBTL1J4M1hvcUpwQnVxaGhOeDRyVFRqQ3d3ME9ZU2lYTFYzR3RXWHRFTUto?= =?utf-8?B?SjVaQ0hkMllsZW83K0ZHQ1NKdjkyRVpqcHY1UVZ0Rk9XQWV2MVFJWllRVTdK?= =?utf-8?B?MnduQndHZlNMdStYVlNrZWliZ1JwZENnRlU0UEEzNDYwbmZtNmwrVCtzdVdz?= =?utf-8?B?NnlZWldPWHF4clNtakhVQ0RZSlVrLzZ2SUdCay8rVE5reDZiUmpZL2RTZGVu?= =?utf-8?B?L0tyMkNrNEdlajhUMndXL2ZGUm1pQy9nYWRCK2xTcUtqQzNiUUlpQVNrZ2dj?= =?utf-8?B?NExqeVVUVzJQWkRiRFI1SHYrNmZqazRPUjY0cVg3Wm9mYXdZalJPNmJYTTBR?= =?utf-8?B?RVNuMGRyWVloTmEvdUx4SitBcjQzb2kxUmFBYTI3TUtxUEZDUEJ5eTgyUzAz?= =?utf-8?B?SnBCRUNDekxxTEFUR2tiSTlRZ1Q4YXBnajlOQXJNYzRtRVNYZ3ZYekI1a3Bi?= =?utf-8?B?YWlXV1RidjR0WnZWQWdzYVF3cmVqWFdxNmV5VnRwajVNVERQZ044akRGMCtB?= =?utf-8?B?TVdEN1BPTDZ1OERIRUFHMy8yYWxySk01cFpDRW53NXdZOHRFdHA0anFPalJk?= =?utf-8?B?aXpzbnJpNXJmUVl6eTd1d25KZzZ4M09NNms1dW9OZG5vRjh5V0NmRUQvdG15?= =?utf-8?B?VGhERWpKS3ZZbFQvanVVZVoxZkl2L2k2ZVJ5VGRUdFN6RmNiZDFJWEEweE81?= =?utf-8?B?Q1VjMFkzK01vYklweFF4OUJUYlNoSW13NEw1MGNPc2ErZUpWeFRsUDBZeElo?= =?utf-8?B?Y0E1WDFtdk14TjBUT25rcVZBQkE2TXpFT3RCUUtWdnh5R1plNC9ZclhZeTJ2?= =?utf-8?B?QS9sa3J3ejlUR256UzN5ekRhVnQxKzVHUG1XR2xJdkdxTGtJZ1o1WGNTRU9o?= =?utf-8?B?aE9FdFFTMGlGSUU5T0VhUVZNUVJNdE11eUR0SUx2ckJ3akNmTENvSExwT3dn?= =?utf-8?B?b0FXZDZES1lUYVZMeUVLNjhJNFN0SU5KUERtT1NUVytoOTZrUTdSWnNtSGh3?= =?utf-8?B?OG81dU1QaDR0ZHg5eUF1ZTlZOFF3c1FMZ0pzY0VUYktpc2tlQVNNYlJ2K1Ro?= =?utf-8?B?V2VWMzRXWWFIbTRoYzBBQlBwMFptU09VMDVrcXhEN0VaRkFNWWhjWkI3WnlJ?= =?utf-8?B?N1c0MWcwNjl3RlV0alo0ZnBSM0cxMFNiTmoyL3l2cXd5MStkbUp0N0xGazQw?= =?utf-8?B?ckV0V2pHWTNVNXNEeTgwR0oxWE1na1hNcGo1VlNTSE1ZOElPVkh0VGczQm51?= =?utf-8?B?QVNGMTBnRkNmZS9UNTVaeUIvTWthK2pLNUxBZzBpZUdtSDVwNGVQd1Rmb0Q2?= =?utf-8?B?Qjl2aVFwT0ZtRys4MUQvaXdUN1VYMkJIUitsVE1zWXJiNjYvUXJQaisyOTVO?= =?utf-8?B?NFljMVVNQTRWbDBRYlk3R1NJSEU3QiswcHRXbk1pSFBXbU5zZWgvOG1SOXA4?= =?utf-8?B?OEswL3hidk1FUG52Rlk4TVRrME84bGowUmxNeVRyVSt0M2ZmQ25Qdz09?= 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: c2fefe00-7579-4725-d64b-08da2367b50c X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2022 07:22:35.0749 (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: uuinKAJueZ2bJyg6AJ4SZo8SL5hizG58XHkFQgJwgmIiz5OlcZJLdJ33251iEd/UKXfcWQ3Q/SC0oGwUttezJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1835 Return-Path: zhihao.li@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IGZvciB5b3VyIGNvbW1lbnQuDQoNCkkgd2lsbCBtb3ZlIHRoZSBTbW1DcHVSZW5k ZXp2b3VzTGliLmggZmlsZSBhbmQgTnVsbExpYiBpbXBsZW1lbnRhdGlvbiB0byBNZGVQa2cuDQoN ClRoYW5rcw0KWmhpaGFvDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE1p Y2hhZWwgS3ViYWNraSA8bWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbT4gDQpTZW50OiBUaHVy c2RheSwgQXByaWwgMjEsIDIwMjIgMjo0MiBBTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBM aSwgWmhpaGFvIDx6aGloYW8ubGlAaW50ZWwuY29tPg0KQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5q LndhbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47 IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwu Y29tPjsgU2FtaSBNdWphd2FyIDxzYW1pLm11amF3YXJAYXJtLmNvbT47IElsaWFzIEFwYWxvZGlt YXMgPGlsaWFzLmFwYWxvZGltYXNAbGluYXJvLm9yZz47IEFyZCBCaWVzaGV1dmVsIDxhcmRiK3Rp YW5vY29yZUBrZXJuZWwub3JnPjsgTGVpZiBMaW5kaG9sbSA8cXVpY19sbGluZGhvbEBxdWljaW5j LmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDEvMV0gTWRlTW9kdWxl UGtnOiBVc2UgU21tV2FpdEZvckFsbFByb2Nlc3NvcigpIGluIFZhcmlhYmxlU21tIGRyaXZlci4N Cg0KSWYgSSB1bmRlcnN0YW5kIHRoaXMgcGF0Y2ggY29ycmVjdGx5LCBpdCBpcyBleGFjdGx5IGR1 cGxpY2F0aW5nIHRoZSBTbW1DcHVSZW5kZXp2b3VzTGliIGxpYnJhcnkgY2xhc3MvaW50ZXJmYWNl IGluIE1vZGVNb2R1bGVQa2cgYmVjYXVzZSBjb2RlIHRoZXJlIGNhbm5vdCBkZXBlbmQgb24gdGhl IGxpYnJhcnkgY2xhc3MvaW50ZXJmYWNlIGRlZmluaXRpb24gY3VycmVudGx5IGluIFVlZmlDcHVQ a2c6DQoNCmh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9VZWZp Q3B1UGtnL0luY2x1ZGUvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliLmgNCg0KSWYgdGhhdCdz IHRoZSBjYXNlLCB0aGlzIGlzIGNyZWF0aW5nIG1haW50ZW5hbmNlIGRlYnQgYnkgcmVxdWlyaW5n IHRoZSB0d28gaW50ZXJmYWNlcyBhbHdheXMgYmUga2VwdCBpbiBzeW5jIGFuZCBkZXZlbG9wZXIg Y29uZnVzaW9uLg0KDQpJdCBpcyBva2F5IHRvIGhhdmUgYW4gaW50ZXJmYWNlIGRlZmluZWQgaW4g YSBtb3JlIGJyb2FkbHkgc2NvcGVkIHBhY2thZ2UgKGUuZy4gTWRlUGtnKSB3aXRoIGluc3RhbmNl cyBpbXBsZW1lbnRlZCBpbiBvdGhlciBwYWNrYWdlcy4NCg0KRm9yIGV4YW1wbGUsIHRoZSBIb2JM aWIgaW50ZXJmYWNlIGlzIGRlZmluZWQgaW4gTWRlUGtnOg0KDQpodHRwczovL2dpdGh1Yi5jb20v dGlhbm9jb3JlL2VkazIvYmxvYi9tYXN0ZXIvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9Ib2JMaWIu aA0KDQpCdXQsIGluc3RhbmNlcyBhcmUgZGVzY3JpYmVkIGluIG1hbnkgb3RoZXIgcGFja2FnZXMg aW5jbHVkaW5nIGEgTlVMTCBpbnN0YW5jZSBpbiBNZGVNb2R1bGVQa2c6DQoNCmh0dHBzOi8vZ2l0 aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9NZGVNb2R1bGVQa2cvTGlicmFyeS9C YXNlSG9iTGliTnVsbC9CYXNlSG9iTGliTnVsbC5pbmYNCg0KQW5kIGEgU3RhbmRhbG9uZSBNTSBp bnN0YW5jZSBpbiBTdGFuZGFsb25lTW1Qa2c6DQoNCmh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvZWRrMi9ibG9iL21hc3Rlci9TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1I b2JMaWIvU3RhbmRhbG9uZU1tSG9iTGliLmluZg0KDQpJZiB0aGlzIGludGVyZmFjZSBpcyBhY3R1 YWxseSBjb25zdW1lZCBieSBNZGVNb2R1bGVQa2csIHRoZSBpbnRlcmZhY2Ugc2hvdWxkIGJlIGRl ZmluZWQgaW4gYSBzaW5nbGUgcGFja2FnZSB0aGF0IGlzIGFsbG93ZWQgdG8gYmUgYSBkZXBlbmRl bmN5IGZvciBNZGVNb2R1bGVQa2cuIFRoZSBOVUxMIGxpYnJhcnkgaW5zdGFuY2UgcmVmZXJlbmNl ZCBpbiB0aGUgTWRlTW9kdWxlUGtnIGJ1aWxkIHNob3VsZCBhbHNvIGJlIGltcGxlbWVudGVkIGlu IGFuIGFsbG93ZWQgcGFja2FnZS4NCg0KVGhlIGxpYnJhcnkgaW50ZXJmYWNlIHNob3VsZCBiZSBy ZW1vdmVkIGZyb20gb3RoZXIgcGFja2FnZXMgKFVlZmlDcHVQa2cpLiBPdGhlciBsaWJyYXJ5IGlu c3RhbmNlcyBjYW4gdGhlbiBiZSBpbXBsZW1lbnRlZCBlbHNld2hlcmUgdXNpbmcgdGhlIGxpYnJh cnkgY2xhc3MgaW50ZXJmYWNlIGZyb20gdGhlIHNpbmdseSBkZWZpbmVkIGxvY2F0aW9uLg0KDQpS ZWdhcmRzLA0KTWljaGFlbA0KDQpPbiA0LzIwLzIwMjIgMTozMiBQTSwgTGksIFpoaWhhbyB3cm90 ZToNCj4gUkVG77yaIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9Mzg1NA0KPiANCj4gSW4gVWVmaUNwdVBrZywgdGhlcmUgYXJlIGEgbmV3IFByb3RvY29sIHdp dGggdGhlIG5ldyBzZXJ2aWNlIA0KPiBTbW1XYWl0Rm9yQWxsUHJvY2Vzc29yKCksIHdoaWNoIGNh biBiZSB1c2VkIGJ5IFNNSSBoYW5kbGVyIHRvIA0KPiBvcHRpb25hbGx5IHdhaXQgZm9yIG90aGVy IEFQcyB0byBjb21wbGV0ZSBTTU0gcmVuZGV6dm91cyBpbiByZWxheGVkIEFQIA0KPiBtb2RlLg0K PiANCj4gVGhpcyBwYXRjaCB1c2UgdGhlIG5ldyBzZXJ2aWNlIHRvIGxldCBWYXJpYWJsZVNtbSBk cml2ZXIgd29yayBub3JtYWxseSANCj4gaW4gcmVsYXhlZCBBUCBtb2RlLg0KPiANCj4gRHVlIHRv IE1kZU1vZHVsZVBrZyBjYW4gbm90IGRlcGVuZCBvbiBVZWZpQ3B1UGtnLCB1c2UgbnVsbCB2ZXJz aW9uIA0KPiBpbXBsZW1lbnRhdGlvbiBpbiBNZGVNb2R1bGVQa2cuZHNjLg0KPiANCj4gQ2M6IEpp YW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+IENjOiBMaW1pbmcgR2FvIDxnYW9s aW1pbmdAYnlvc29mdC5jb20uY24+DQo+IENjOiBTaXl1YW4gRnUgPHNpeXVhbi5mdUBpbnRlbC5j b20+DQo+IENjOiBOaSBSYXkgPHJheS5uaUBpbnRlbC5jb20+DQo+IENjOiBTYW1pIE11amF3YXIg PHNhbWkubXVqYXdhckBhcm0uY29tPg0KPiBDYzogSWxpYXMgQXBhbG9kaW1hcyA8aWxpYXMuYXBh bG9kaW1hc0BsaW5hcm8ub3JnPg0KPiBDYzogQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3Jl QGtlcm5lbC5vcmc+DQo+IENjOiBMZWlmIExpbmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMu Y29tPg0KPiANCj4gU2lnbmVkLW9mZi1ieTogWmhpaGFvIExpIDx6aGloYW8ubGlAaW50ZWwuY29t Pg0KPiAtLS0NCj4gICBNZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliTnVs bC9TbW1DcHVSZW5kZXp2b3VzTGliTnVsbC5jICAgfCAyOSArKysrKysrKysrKysrKysrKysrKw0K PiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNt bS5jICAgICAgICAgICAgICAgICB8IDEwICsrKysrKy0NCj4gICBNZGVNb2R1bGVQa2cvSW5jbHVk ZS9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWIuaCAgICAgICAgICAgICAgICAgICAgICAgfCAy NyArKysrKysrKysrKysrKysrKysNCj4gICBNZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1DcHVSZW5k ZXp2b3VzTGliTnVsbC9TbW1DcHVSZW5kZXp2b3VzTGliTnVsbC5pbmYgfCAyNyArKysrKysrKysr KysrKysrKysNCj4gICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKystDQo+ICAgTWRlTW9kdWxlUGtn L01kZU1vZHVsZVBrZy5kc2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDUgKysrLQ0KPiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGlt ZUR4ZS9WYXJpYWJsZVNtbS5pbmYgICAgICAgICAgICAgICB8ICAzICstDQo+ICAgTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmlu ZiAgICAgIHwgIDMgKy0NCj4gICA4IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCANCj4gYS9NZGVNb2R1bGVQa2cvTGlicmFy eS9TbW1DcHVSZW5kZXp2b3VzTGliTnVsbC9TbW1DcHVSZW5kZXp2b3VzTGliTnVsbA0KPiAuYyAN Cj4gYi9NZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliTnVsbC9TbW1DcHVS ZW5kZXp2b3VzTGliTnVsbA0KPiAuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwMDAuLjQ3NDE5NWJiYjM3NA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL01kZU1v ZHVsZVBrZy9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWJOdWxsL1NtbUNwdVJlbmRlenZvdXNM aWINCj4gKysrIE51bGwuYw0KPiBAQCAtMCwwICsxLDI5IEBADQo+ICsvKiogQGZpbGUNCj4gDQo+ ICsgIFNNTSBDUFUgUmVuZGV6dm91cyBzZXZpY2UgaW1wbGVtZW50Lg0KPiANCj4gKw0KPiANCj4g KyAgQ29weXJpZ2h0IChjKSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiANCj4gKw0KPiANCj4gKyoqLw0KPiANCj4gKw0KPiANCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L0RlYnVnTGliLmg+DQo+IA0KPiArI2luY2x1ZGUgPExpYnJhcnkvU21tQ3B1UmVuZGV6 dm91c0xpYi5oPg0KPiANCj4gKw0KPiANCj4gKy8qKg0KPiANCj4gKyAgVGhpcyByb3V0aW5lIHdh aXQgZm9yIGFsbCBBUCBwcm9jZXNzb3JzIHRvIGFycml2ZSBpbiBTTU0uDQo+IA0KPiArDQo+IA0K PiArICBAcGFyYW1baW5dIEJsb2NraW5nTW9kZSAgQmxvY2tpbmcgbW9kZSBvciBub24tYmxvY2tp bmcgbW9kZS4NCj4gDQo+ICsNCj4gDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgIEFsbCBhdmFp YWJsZSBBUHMgYXJyaXZlZC4NCj4gDQo+ICsgIEByZXR2YWwgRUZJX1RJTUVPVVQgIFdhaXQgZm9y IGFsbCBBUHMgdW50aWwgdGltZW91dC4NCj4gDQo+ICsgIEByZXR2YWwgT1RIRVIgICAgICAgIEZh aWwgdG8gcmVnaXN0ZXIgU01NIENQVSBSZW5kZXp2b3VzIHNlcnZpY2UgUHJvdG9jb2wuDQo+IA0K PiArKiovDQo+IA0KPiArRUZJX1NUQVRVUw0KPiANCj4gK0VGSUFQSQ0KPiANCj4gK1NtbVdhaXRG b3JBbGxQcm9jZXNzb3IgKA0KPiANCj4gKyAgSU4gQk9PTEVBTiAgQmxvY2tpbmdNb2RlDQo+IA0K PiArICApDQo+IA0KPiArew0KPiANCj4gKyAgQVNTRVJUIChGQUxTRSk7DQo+IA0KPiArICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQo+IA0KPiArfQ0KPiANCj4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5jIA0KPiBiL01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5jDQo+IGlu ZGV4IDUxN2NhZTdiMDBmOC4uNTJhOWIwZTZiMjAyIDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uYw0KPiArKysgYi9N ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uYw0K PiBAQCAtMTQsNyArMTQsNyBAQA0KPiAgICAgVmFyaWFibGVTZXJ2aWNlU2V0VmFyaWFibGUoKSwg VmFyaWFibGVTZXJ2aWNlUXVlcnlWYXJpYWJsZUluZm8oKSwgDQo+IFJlY2xhaW1Gb3JPUygpLA0K PiANCj4gICAgIFNtbVZhcmlhYmxlR2V0U3RhdGlzdGljcygpIHNob3VsZCBhbHNvIGRvIHZhbGlk YXRpb24gYmFzZWQgb24gaXRzIG93biBrbm93bGVkZ2UuDQo+IA0KPiAgIA0KPiANCj4gLUNvcHly aWdodCAoYykgMjAxMCAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiBy ZXNlcnZlZC48QlI+DQo+IA0KPiArQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAyMiwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgDQo+ICtyZXNlcnZlZC48QlI+DQo+IA0KPiAgIENvcHlyaWdo dCAoYykgMjAxOCwgTGluYXJvLCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiANCj4g ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiANCj4gICAN Cj4gDQo+IEBAIC0yOCw2ICsyOCw3IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICAgDQo+IA0KPiAgICNpbmNsdWRlIDxMaWJyYXJ5L01tU2VydmljZXNU YWJsZUxpYi5oPg0KPiANCj4gICAjaW5jbHVkZSA8TGlicmFyeS9WYXJpYWJsZVBvbGljeUxpYi5o Pg0KPiANCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWIuaD4NCj4gDQo+ ICAgDQo+IA0KPiAgICNpbmNsdWRlIDxHdWlkL1NtbVZhcmlhYmxlQ29tbW9uLmg+DQo+IA0KPiAg ICNpbmNsdWRlICJWYXJpYWJsZS5oIg0KPiANCj4gQEAgLTY1Niw2ICs2NTcsMTMgQEAgU21tVmFy aWFibGVIYW5kbGVyICgNCj4gICAgICAgICAgIGdvdG8gRVhJVDsNCj4gDQo+ICAgICAgICAgfQ0K PiANCj4gICANCj4gDQo+ICsgICAgICBpZiAoKFNtbVZhcmlhYmxlSGVhZGVyLT5BdHRyaWJ1dGVz ICYgRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSkgDQo+ICsgIT0gMCkgew0KPiANCj4gKyAgICAg ICAgaWYgKEVGSV9FUlJPUiAoU21tV2FpdEZvckFsbFByb2Nlc3NvciAoVFJVRSkpKSB7DQo+IA0K PiArICAgICAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJTZXRWYXJpYWJsZTogZmFpbCB0byB3 YWl0IGZvciBhbGwgQVAgDQo+ICsgY2hlY2sgaW4gU01NIVxuIikpOw0KPiANCj4gKyAgICAgICAg ICBnb3RvIEVYSVQ7DQo+IA0KPiArICAgICAgICB9DQo+IA0KPiArICAgICAgfQ0KPiANCj4gKw0K PiANCj4gICAgICAgICBTdGF0dXMgPSBWYXJpYWJsZVNlcnZpY2VTZXRWYXJpYWJsZSAoDQo+IA0K PiAgICAgICAgICAgICAgICAgICAgU21tVmFyaWFibGVIZWFkZXItPk5hbWUsDQo+IA0KPiAgICAg ICAgICAgICAgICAgICAgJlNtbVZhcmlhYmxlSGVhZGVyLT5HdWlkLA0KPiANCj4gZGlmZiAtLWdp dCBhL01kZU1vZHVsZVBrZy9JbmNsdWRlL0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYi5oIA0K PiBiL01kZU1vZHVsZVBrZy9JbmNsdWRlL0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYi5oDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4uODJlNDU5ZTkxMDZl DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvTGlicmFyeS9T bW1DcHVSZW5kZXp2b3VzTGliLmgNCj4gQEAgLTAsMCArMSwyNyBAQA0KPiArLyoqIEBmaWxlDQo+ IA0KPiArICBTTU0gQ1BVIFJlbmRlenZvdXMgbGlicmFyeSBoZWFkZXIgZmlsZS4NCj4gDQo+ICsN Cj4gDQo+ICsgIENvcHlyaWdodCAoYykgMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gDQo+ICsNCj4gDQo+ICsqKi8NCj4gDQo+ICsNCj4gDQo+ICsjaWZu ZGVmIFNNTV9DUFVfUkVOREVaVk9VU19IXw0KPiANCj4gKyNkZWZpbmUgU01NX0NQVV9SRU5ERVpW T1VTX0hfDQo+IA0KPiArDQo+IA0KPiArLyoqDQo+IA0KPiArICBUaGlzIHJvdXRpbmUgd2FpdCBm b3IgYWxsIEFQIHByb2Nlc3NvcnMgdG8gYXJyaXZlIGluIFNNTS4NCj4gDQo+ICsNCj4gDQo+ICsg IEBwYXJhbVtpbl0gIEJsb2NraW5nTW9kZSAgQmxvY2tpbmcgbW9kZSBvciBub24tYmxvY2tpbmcg bW9kZS4NCj4gDQo+ICsNCj4gDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgQWxsIHBy b2Nlc3NvcnMgY2hlY2tlZCBpbiB0byBTTU0uDQo+IA0KPiArICBAcmV0dmFsIEVGSV9USU1FT1VU ICAgICAgIFdhaXQgZm9yIGFsbCBBUHMgdW50aWwgdGltZW91dC4NCj4gDQo+ICsNCj4gDQo+ICsq Ki8NCj4gDQo+ICtFRklfU1RBVFVTDQo+IA0KPiArRUZJQVBJDQo+IA0KPiArU21tV2FpdEZvckFs bFByb2Nlc3NvciAoDQo+IA0KPiArICBJTiAgQk9PTEVBTiAgQmxvY2tpbmdNb2RlDQo+IA0KPiAr ICApOw0KPiANCj4gKw0KPiANCj4gKyNlbmRpZg0KPiANCj4gZGlmZiAtLWdpdCANCj4gYS9NZGVN b2R1bGVQa2cvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliTnVsbC9TbW1DcHVSZW5kZXp2b3Vz TGliTnVsbA0KPiAuaW5mIA0KPiBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUNwdVJlbmRlenZv dXNMaWJOdWxsL1NtbUNwdVJlbmRlenZvdXNMaWJOdWxsDQo+IC5pbmYNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi4wYmQ0ZjM5ZTcyNzcNCj4gLS0tIC9kZXYv bnVsbA0KPiArKysgYi9NZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1DcHVSZW5kZXp2b3VzTGliTnVs bC9TbW1DcHVSZW5kZXp2b3VzTGliDQo+ICsrKyBOdWxsLmluZg0KPiBAQCAtMCwwICsxLDI3IEBA DQo+ICsjIyBAZmlsZQ0KPiANCj4gKyMgU01NIENQVSBSZW5kZXp2b3VzIHNlcnZpY2UgbGliLg0K PiANCj4gKyMNCj4gDQo+ICsjIFRoaXMgaXMgU01NIENQVSByZW5kZXp2b3VzIHNlcnZpY2UgbGli IHRoYXQgd2FpdCBmb3IgYWxsDQo+IA0KPiArIyBBUHMgdG8gZW50ZXIgU01NIG1vZGUuDQo+IA0K PiArIw0KPiANCj4gKyMgQ29weXJpZ2h0IChjKSAyMDIyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+IA0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiANCj4gKyMNCj4gDQo+ICsjIw0KPiANCj4gKw0KPiANCj4g K1tEZWZpbmVzXQ0KPiANCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgw MDAxMDAwNQ0KPiANCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gU21tQ3B1 UmVuZGV6dm91c0xpYk51bGwNCj4gDQo+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAg ICA9IDFlNTc5MGVhLWQwMTMtNGQ3Yi05MDQ3LWI0MzQyYTc2MjAyNw0KPiANCj4gKyAgTU9EVUxF X1RZUEUgICAgICAgICAgICAgICAgICAgID0gRFhFX1NNTV9EUklWRVINCj4gDQo+ICsgIExJQlJB UllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IFNtbUNwdVJlbmRlenZvdXNMaWJ8TU1fU1RBTkRB TE9ORSBEWEVfU01NX0RSSVZFUg0KPiANCj4gKw0KPiANCj4gK1tTb3VyY2VzXQ0KPiANCj4gKyAg U21tQ3B1UmVuZGV6dm91c0xpYk51bGwuYw0KPiANCj4gKw0KPiANCj4gK1tQYWNrYWdlc10NCj4g DQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+IA0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxl UGtnLmRlYw0KPiANCj4gKw0KPiANCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gDQo+ICsgIERlYnVn TGliDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMgDQo+ IGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMgaW5kZXggNDYzZTg4OWU5YTY4Li4wNmFk YTQxYjczNDQgDQo+IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRl Yw0KPiArKysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiBAQCAtNCw3ICs0LDcg QEANCj4gICAjIGFuZCBsaWJyYXJpZXMgaW5zdGFuY2VzLCB3aGljaCBhcmUgdXNlZCBmb3IgdGhv c2UgbW9kdWxlcy4NCj4gDQo+ICAgIw0KPiANCj4gICAjIENvcHlyaWdodCAoYykgMjAxOSwgTlZJ RElBIENPUlBPUkFUSU9OLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiANCj4gLSMgQ29weXJpZ2h0 IChjKSAyMDA3IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2Vy dmVkLjxCUj4NCj4gDQo+ICsjIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMjIsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIA0KPiArcmVzZXJ2ZWQuPEJSPg0KPiANCj4gICAjIENvcHlyaWdo dCAoYykgMjAxNiwgTGluYXJvIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+IA0KPiAg ICMgKEMpIENvcHlyaWdodCAyMDE2IC0gMjAxOSBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBE ZXZlbG9wbWVudCANCj4gTFA8QlI+DQo+IA0KPiAgICMgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQg SW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gDQo+IEBAIC0xNTQsNiAr MTU0LDkgQEANCj4gICAgICMNCj4gDQo+ICAgICBWYXJpYWJsZVBvbGljeUhlbHBlckxpYnxJbmNs dWRlL0xpYnJhcnkvVmFyaWFibGVQb2xpY3lIZWxwZXJMaWIuaA0KPiANCj4gICANCj4gDQo+ICsg ICMjIEBsaWJyYXJ5Y2xhc3MgIFByb3ZpZGVzIGZ1bmN0aW9uIGZvciBTTU0gQ1BVIFJlbmRlenZv dXMgTGlicmFyeS4NCj4gDQo+ICsgIFNtbUNwdVJlbmRlenZvdXNMaWJ8SW5jbHVkZS9MaWJyYXJ5 L1NtbUNwdVJlbmRlenZvdXNMaWIuaA0KPiANCj4gKw0KPiANCj4gICBbR3VpZHNdDQo+IA0KPiAg ICAgIyMgTWRlTW9kdWxlIHBhY2thZ2UgdG9rZW4gc3BhY2UgZ3VpZA0KPiANCj4gICAgICMgSW5j bHVkZS9HdWlkL01kZU1vZHVsZVBrZ1Rva2VuU3BhY2UuaA0KPiANCj4gZGlmZiAtLWdpdCBhL01k ZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZHNjIA0KPiBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQ a2cuZHNjIGluZGV4IGIxZDgzNDYxODY1ZS4uNDU4MDMyMGE3MjMwIA0KPiAxMDA2NDQNCj4gLS0t IGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kc2MNCj4gKysrIGIvTWRlTW9kdWxlUGtnL01k ZU1vZHVsZVBrZy5kc2MNCj4gQEAgLTIsNyArMiw3IEBADQo+ICAgIyBFRkkvUEkgUmVmZXJlbmNl IE1vZHVsZSBQYWNrYWdlIGZvciBBbGwgQXJjaGl0ZWN0dXJlcw0KPiANCj4gICAjDQo+IA0KPiAg ICMgKEMpIENvcHlyaWdodCAyMDE0IEhld2xldHQtUGFja2FyZCBEZXZlbG9wbWVudCBDb21wYW55 LCBMLlAuPEJSPg0KPiANCj4gLSMgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAyMSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gDQo+ICsjIENvcHlyaWdo dCAoYykgMjAwNyAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiArcmVz ZXJ2ZWQuPEJSPg0KPiANCj4gICAjIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9u Lg0KPiANCj4gICAjDQo+IA0KPiAgICMgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gDQo+IEBAIC0xNTIsNiArMTUyLDcgQEANCj4gICAgIA0KPiBTbW1T ZXJ2aWNlc1RhYmxlTGlifE1kZVBrZy9MaWJyYXJ5L1NtbVNlcnZpY2VzVGFibGVMaWIvU21tU2Vy dmljZXNUYWJsDQo+IGVMaWIuaW5mDQo+IA0KPiAgICAgTG9ja0JveExpYnxNZGVNb2R1bGVQa2cv TGlicmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hTbW1MaWIuaW5mDQo+IA0KPiAgICAgU21t TWVtTGlifE1kZVBrZy9MaWJyYXJ5L1NtbU1lbUxpYi9TbW1NZW1MaWIuaW5mDQo+IA0KPiArICAN Cj4gKyBTbW1DcHVSZW5kZXp2b3VzTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUNwdVJlbmRl enZvdXNMaWJOdWxsL1NtbQ0KPiArIENwdVJlbmRlenZvdXNMaWJOdWxsLmluZg0KPiANCj4gICAN Cj4gDQo+ICAgW0xpYnJhcnlDbGFzc2VzLmNvbW1vbi5VRUZJX0RSSVZFUl0NCj4gDQo+ICAgICBI b2JMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlSG9iTGliL0R4ZUhvYkxpYi5pbmYNCj4gDQo+IEBAIC0x NzIsNiArMTczLDcgQEANCj4gICAgIA0KPiBNbVNlcnZpY2VzVGFibGVMaWJ8TWRlUGtnL0xpYnJh cnkvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYi9TdGFuZGFsDQo+IG9uZU1tU2VydmljZXNU YWJsZUxpYi5pbmYNCj4gDQo+ICAgICANCj4gTG9ja0JveExpYnxNZGVNb2R1bGVQa2cvTGlicmFy eS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hTdGFuZGFsb25lTW1MaQ0KPiBiLmluZg0KPiANCj4g ICAgIA0KPiBNZW1MaWJ8U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVtTGli L1N0YW5kYWxvbmVNbU1lbUxpYi5pDQo+IG5mDQo+IA0KPiArICANCj4gKyBTbW1DcHVSZW5kZXp2 b3VzTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWJOdWxsL1NtbQ0K PiArIENwdVJlbmRlenZvdXNMaWJOdWxsLmluZg0KPiANCj4gICANCj4gDQo+ICAgW0xpYnJhcnlD bGFzc2VzLkFSTSwgTGlicmFyeUNsYXNzZXMuQUFSQ0g2NF0NCj4gDQo+ICAgICBBcm1MaWJ8QXJt UGtnL0xpYnJhcnkvQXJtTGliL0FybUJhc2VMaWIuaW5mDQo+IA0KPiBAQCAtNDU5LDYgKzQ2MSw3 IEBADQo+ICAgICANCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVE eGUvRmF1bHRUb2xlcmFudFdyaXRlU3RhbmRhbA0KPiBvbmVNbS5pbmYNCj4gDQo+ICAgICANCj4g TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRh bG9uZU1tLmluZg0KPiANCj4gICAhZW5kaWYNCj4gDQo+ICsgIA0KPiArIE1kZU1vZHVsZVBrZy9M aWJyYXJ5L1NtbUNwdVJlbmRlenZvdXNMaWJOdWxsL1NtbUNwdVJlbmRlenZvdXNMaWJOdWxsDQo+ ICsgLmluZg0KPiANCj4gICANCj4gDQo+ICAgW0NvbXBvbmVudHMuSUEzMiwgQ29tcG9uZW50cy5Y NjRdDQo+IA0KPiAgICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EZWJ1Z1N1cHBvcnREeGUvRGVi dWdTdXBwb3J0RHhlLmluZg0KPiANCj4gZGlmZiAtLWdpdCANCj4gYS9NZGVNb2R1bGVQa2cvVW5p dmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5mIA0KPiBiL01kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5pbmYNCj4gaW5k ZXggZWFhOTdhMDFjNmU1Li4wYmViZDkyYjE2MjYgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5pbmYNCj4gKysrIGIv TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmlu Zg0KPiBAQCAtMTgsNyArMTgsNyBAQA0KPiAgICMgIG1heSBub3QgYmUgbW9kaWZpZWQgd2l0aG91 dCBhdXRob3JpemF0aW9uLiBJZiBwbGF0Zm9ybSBmYWlscyB0byANCj4gcHJvdGVjdCB0aGVzZSBy ZXNvdXJjZXMsDQo+IA0KPiAgICMgIHRoZSBhdXRoZW50aWNhdGlvbiBzZXJ2aWNlIHByb3ZpZGVk IGluIHRoaXMgZHJpdmVyIHdpbGwgYmUgYnJva2VuLCBhbmQgdGhlIGJlaGF2aW9yIGlzIHVuZGVm aW5lZC4NCj4gDQo+ICAgIw0KPiANCj4gLSMgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxOSwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gDQo+ICsjIENv cHlyaWdodCAoYykgMjAxMCAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0K PiArcmVzZXJ2ZWQuPEJSPg0KPiANCj4gICAjIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBv cmF0aW9uLg0KPiANCj4gICAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+IA0KPiAgICMNCj4gDQo+IEBAIC04Miw2ICs4Miw3IEBADQo+ICAgICBVZWZpQm9v dFNlcnZpY2VzVGFibGVMaWINCj4gDQo+ICAgICBWYXJpYWJsZVBvbGljeUxpYg0KPiANCj4gICAg IFZhcmlhYmxlUG9saWN5SGVscGVyTGliDQo+IA0KPiArICBTbW1DcHVSZW5kZXp2b3VzTGliDQo+ IA0KPiAgIA0KPiANCj4gICBbUHJvdG9jb2xzXQ0KPiANCj4gICAgIGdFZmlTbW1GaXJtd2FyZVZv bHVtZUJsb2NrUHJvdG9jb2xHdWlkICAgICAgICAjIyBDT05TVU1FUw0KPiANCj4gZGlmZiAtLWdp dCANCj4gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFi bGVTdGFuZGFsb25lTW0uaW5mIA0KPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUv UnVudGltZUR4ZS9WYXJpYWJsZVN0YW5kYWxvbmVNbS5pbmYNCj4gaW5kZXggZDhjNGY3N2U3ZjFm Li41OTViYWFmNzAxNjQgMTAwNjQ0DQo+IC0tLSANCj4gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTdGFuZGFsb25lTW0uaW5mDQo+ICsrKyBiL01k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVN0YW5kYWxv bmVNbS4NCj4gKysrIGluZg0KPiBAQCAtMTgsNyArMTgsNyBAQA0KPiAgICMgIG1heSBub3QgYmUg bW9kaWZpZWQgd2l0aG91dCBhdXRob3JpemF0aW9uLiBJZiBwbGF0Zm9ybSBmYWlscyB0byANCj4g cHJvdGVjdCB0aGVzZSByZXNvdXJjZXMsDQo+IA0KPiAgICMgIHRoZSBhdXRoZW50aWNhdGlvbiBz ZXJ2aWNlIHByb3ZpZGVkIGluIHRoaXMgZHJpdmVyIHdpbGwgYmUgYnJva2VuLCBhbmQgdGhlIGJl aGF2aW9yIGlzIHVuZGVmaW5lZC4NCj4gDQo+ICAgIw0KPiANCj4gLSMgQ29weXJpZ2h0IChjKSAy MDEwIC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxC Uj4NCj4gDQo+ICsjIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIA0KPiArcmVzZXJ2ZWQuPEJSPg0KPiANCj4gICAjIENvcHlyaWdodCAoYykg MjAxOCwgTGluYXJvLCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiANCj4gICAjIENv cHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KPiANCj4gICAjIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IA0KPiBAQCAtNzgsNiArNzgsNyBA QA0KPiAgICAgVmFyQ2hlY2tMaWINCj4gDQo+ICAgICBWYXJpYWJsZVBvbGljeUxpYg0KPiANCj4g ICAgIFZhcmlhYmxlUG9saWN5SGVscGVyTGliDQo+IA0KPiArICBTbW1DcHVSZW5kZXp2b3VzTGli DQo+IA0KPiAgIA0KPiANCj4gICBbUHJvdG9jb2xzXQ0KPiANCj4gICAgIGdFZmlTbW1GaXJtd2Fy ZVZvbHVtZUJsb2NrUHJvdG9jb2xHdWlkICAgICAgICAjIyBDT05TVU1FUw0KPiANCg==