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 9F63DD80127 for ; Mon, 29 Jan 2024 03:48:11 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=tzpw8uFexFnCOD0VcZ4bDDBYVUx/194zZY/196uslmE=; 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=1706500090; v=1; b=Pe//USSYg/K+8KxgBxxqPL8aqwDjKxyY1WWwGwSTELqooz5p4FdNFKADnMnsq65GH3/Wy4iS XXOI6oS2WIDabc3hRg0TEzQsN3b+W1OqCM+HLOxcgrZi0vY7fPbOMOCCULdSw7iSlqsDXuUvBdj aKeZZt8YEa38ZFbgZ4c6Li6E= X-Received: by 127.0.0.2 with SMTP id HNONYY7687511xKzM1LROVdv; Sun, 28 Jan 2024 19:48:10 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) by mx.groups.io with SMTP id smtpd.web10.7020.1706500089489065359 for ; Sun, 28 Jan 2024 19:48:09 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10967"; a="2703930" X-IronPort-AV: E=Sophos;i="6.05,226,1701158400"; d="scan'208";a="2703930" X-Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jan 2024 19:48:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10967"; a="787700161" X-IronPort-AV: E=Sophos;i="6.05,226,1701158400"; d="scan'208";a="787700161" X-Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 28 Jan 2024 19:48:08 -0800 X-Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 28 Jan 2024 19:48:08 -0800 X-Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Sun, 28 Jan 2024 19:48:08 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Sun, 28 Jan 2024 19:48:07 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jOY7HBSgfjsfrftBi9EnAFSqSD8NLDtjC6xfNTudQgXmkPjNAzlOd4FGgLauEoOLegMhbWa+Z9xV/+dTsHQTVRwKa4RN5/A7pMRqYGErSGDsZ6vYn7RaeL21zsykwAdHVPJ7kqjbngHlGKmRZh2ArRbtp92pkAEOReAUWfX/rOq/CQmoMVHLfoEZwcf3iuZZrUJ12Xxe8Sf2ZHvoDn2uXIjSa06pRGzDvDJ62kwEN4U8gdydtSp46OYg3sM4lgRJQZc6zZ7momp4S/6Qse7Y06LamVaOtMbX5drdpoV3WYmAmXSkVYY3yQNVIDuJRFzVjXul61t3p+tS/tMfo1ZPeQ== 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=k5yYhruh9IL1tOcvStBTb8obDnBKaG67hLWd4KkB1fQ=; b=ADAj9HB2sOKAZrSSFWy5fsRGB0i+vcdlmabuGEgtnC5F+rCy0gpH20TEdugAdpNqRMXnY/4w+Plbcdj5nOwuDmKPUEGOXmqfyjBy8awnGBb+22t0+1jSoPl00z3BXGDgvgnpwn+GWhUAOxKC6goK+9i9RWuQ8TS8LIUhmnpC747D0+2kS05PB1GrZT2S+yJv37JAJ9CRs4zPvY5StX/PUiIhKhjunVzQPpPJD66KN89UV/XL50f9JREGm89usJxSGAoB2R6xbeN32OIXj9UQJEkC9BP8DjW5O6k1Ae1cbwOEMljQlji4dXnepPvnOh6mSSmhe2ap0m6H9L7+wBfp9Q== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by PH0PR11MB5046.namprd11.prod.outlook.com (2603:10b6:510:3b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.33; Mon, 29 Jan 2024 03:48:05 +0000 X-Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::7e42:1633:d0a6:9c00]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::7e42:1633:d0a6:9c00%6]) with mapi id 15.20.7228.029; Mon, 29 Jan 2024 03:48:05 +0000 From: "Michael D Kinney" To: "Ren, SuqiangX" , "devel@edk2.groups.io" CC: Liming Gao , "Liu, Zhiguang" , "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH V2 1/5] MdePkg: Add EFI_UNSUPPORTED return for some Runtime Service functions Thread-Topic: [PATCH V2 1/5] MdePkg: Add EFI_UNSUPPORTED return for some Runtime Service functions Thread-Index: AQHaUlsanEjVurnWZE+1az/F4+eg4LDwJyrQ Date: Mon, 29 Jan 2024 03:48:05 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|PH0PR11MB5046:EE_ x-ms-office365-filtering-correlation-id: cf47a867-93c9-454c-877d-08dc207d19b3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: I6p7k1TUgmDC7HbKQIvM4Dq4oUSizrU59G7tXEE7i39UQINnueLeeIAL15ap+XfUqG7N06KNGzPYeVCum5RiOt5Ba+Kzo4ZP0Yn1YRseAH53lw7YJ6Nf/IEEvGicRPy7qp2QLSgTrOkqlFNQJclEaST6u+Y1pxHw2LfWFqy660RfQ9tRsHIAzWLFnHbNwAS6Y1bHpaeATBRvwiXp1EF4d0Gs8XSbTbd42Klha+Tio6I/OI5GMyg7T8u3EYEBDgQf1UlT/b+ipP3+qfOZiUaKVwmNoqHAy7+WyL+wddiBAZQTXvdrZ8XbDAD6Jr/kvsRp2CJfGTZdtAcwLH3GpdWoKguYOV8OV0ulZQV51Dym6WMXkwFq0HZsyY430BuVEluPzXQsBTfb4niwDGtBq1KT8RfuUeuZT95lGDcD0EXI5wbGalmfHs1udOyQpKm5U4HJuEzVgZ8yw1T7Zp3FkH8cQSvmqrV867hsQVU4e7nc0mohmg35csnwAPrwAlYsDgPUPY2oGPh/Oj3OHVDG3sTvcOeYv9v7wkVEOHKuvHlyc1amtuTRqpoSzkFORBupj2Mm8wmOYqUXwU6L6c48iLkaFrNc1icFv62Ejd8/KTBy2kygnuaSY59PRXbaGBif3LFV x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NzNqWWhsT2JwUHlNUXdnKzRpK3Bla01zdUhqRTlzYXJVUDhFKytwbkpoRlNX?= =?utf-8?B?d2ljS1RCN1o0dFI3MkkyblBDYzA0TDBYMWpRRW5VQWNEYW4vSU44ZmV4dHBE?= =?utf-8?B?VGNEV3FZK1RyRkhkcWg2RitqWWlnUmJ3eitIbEk1VFZ5OEQwYWFIbkxpWnJy?= =?utf-8?B?QVUxNGtkWW42MlZjelVhT0IrYUVrZW9yVzJVQ1JGamtRYldwRmJRRnJKNDQr?= =?utf-8?B?R3F3NHE1M2ljQUFmdm9JZndxQTNEOFU5cmpWamhBY2VPMW12UHk0dFFOcXVP?= =?utf-8?B?TzNIVHdmdGxFNVRvRndUUzZRODNONUdIUUwyT1RROFRITlJ0MjBIcmxHTFk3?= =?utf-8?B?R0tMQ29TQWQvT2Y3STAzbGY1bnNLQitmWi9mZEYveTlIWUxDc1FGTkZHYUhw?= =?utf-8?B?WG9zd0l2aG4rYjcwUjFmV2xxN1dPdnhGU2RQQWo1dFVHd2dBb2JmTmFwZE1n?= =?utf-8?B?cEJiRXI1U1FJRHl6REdUN2ZlMGdCL2FCS0d1ektMSTh3Mm01cGRpZnJwVWsr?= =?utf-8?B?OHE2dHN0TnNVK0ppdjVQcWF3MW9EK1d0dGZoUXZ1SitRanFmaW5QazhWeGJu?= =?utf-8?B?ZmRVQ3JJcnE3Y1g4eElqYVN4OWF0NndrdjRRVTZ1NFhsREhJVUxPMHFROWFI?= =?utf-8?B?cnZiV0p3d0c3OEZRSE5MaHRscFgzNnBOWjlmYm9Gbm56Y2E3UnZyNHk1REtO?= =?utf-8?B?bDhNODNnTlc0TUVQbkdBOG12TFYvaDhtN09teCtqckV3TTFUcElOYmZQSzhO?= =?utf-8?B?RnYweHpXQVRreWE2SkhQaTYxcTV1aTdiZG03SHd1NE9EcmhQU0hXL2l2ang0?= =?utf-8?B?dG9kcjhhdEdyMVByN0tQM3dNMFRrU0tVaHF4bzIwdWw4Q253VUUrVXoveG96?= =?utf-8?B?UFk0bnJVdGRhQm9ZT1ZVNmVlSTE2OXo2ZVNtWURGOGt2cHpEZ1pHUkF4eG9s?= =?utf-8?B?V09HeWxHSmNWSzJCNGNIZmVPb3VNN0hBUUNVQ3lNcWE5Um4rWWlTMDBhaDQv?= =?utf-8?B?K0JGZkdiZDFLUW9LL09wK1pBVHRyWVVaNDB5OWFlcHpvY0VwY1hkdCtZYkt6?= =?utf-8?B?Y2pGVHFWREpZUnBJQkZ1SFJGTktaNkNjRlpiQ0RjdUNXTE9TNS8waEFHT1Rv?= =?utf-8?B?STN3OFdCUnBOQXNoTm1LSFZUeDhmc1ZST0x1NFpLS0lhUGRVY0FFSWdDbldJ?= =?utf-8?B?M284T0tNSVpXS3FuaHFkWll6Y1dINDdoT1pmMkZKQ3YwTVhmVE1ISmRqT3Nr?= =?utf-8?B?VWRsZ2FscUVlSXNVOWlRa054Ym51N0dYNWd1SlZ6VUI4NlMySXIwUndsUG9T?= =?utf-8?B?K1dSOTN4Qlc3UWg2a3NqUHBraUtyQzdRU2kvWmpiR2dMYW1mNGJtd2xXa2hX?= =?utf-8?B?c0lnS0pxd0R3ZVJScG1CQlVhWFlDRm83Ymlva25mM0RkbWZoajRTTGMzTzYr?= =?utf-8?B?cGVZVEpSYkoyRXdhcjhNNmNWTDdCY2tHSStvc1MwWEhDcGloYmcrbHJ2SGxi?= =?utf-8?B?a0FPRkd1aEVUZUsvdUtKQVJvdGxycERvcDBCd3gyTGJOcHMwNFM3TlFwcC9G?= =?utf-8?B?RUhGWHJZbFM3UEh6WHhpa05kTGRHQzQxWkxLLzNjOXF0YTQ4T0xiSzM0TmF6?= =?utf-8?B?M0tHN2YrWG5BcDVSSXpQUmt0SlFUbXRkYTdmOWZOUms3K1NlRkF4K2RXaXZI?= =?utf-8?B?bitjSHN0L2xhZllaOHlJa1NDL3B2bzlXbk1uOEc2L1pwTDdqMzcyQWVkQWpp?= =?utf-8?B?dkFraFZNZUFBZ3FWcFY0ODRnaXFacmpybXdNTGYrZDd6YVBuM05zOHIrQUhR?= =?utf-8?B?WFc3S3BwQzRaeU91QXlQdi9MQVQwbnlGbE84dHRYTWtOMnUycm1UNDNTRk8r?= =?utf-8?B?NVphak5RajJnYmNwaUpFaDhIQXZqWWJJQmVNQk1IblZWQS83MzIreE95YWwy?= =?utf-8?B?QWtMbGZ2dmkweXhSMUxEc2Z1UGc1aWZ3SlY5VTdlZHh3QXBGMVNHT3J3S0kw?= =?utf-8?B?Z3k1NjJOZjNvQUlMMGMwSkZaWmtVN3B0cDVabzhTUDRPeUFUR1QxeTAvZ3M4?= =?utf-8?B?S0ZRTEIxZjEra1VHQXJ6UC9qbkRtWUFkUzhUNDdxWi9HR3JCVFZRZnA5RzlK?= =?utf-8?Q?YJ8OmnL/QOdcOczbe+HOUTQeL?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf47a867-93c9-454c-877d-08dc207d19b3 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2024 03:48:05.3794 (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: FobLsKL1oj2IN8HQc2BIuwo5Cr1whouOxAzNBZUFNJPgeVGo+b1s1Do0N4jiOE//zzadXWG+ETYpQjn4mEPK+saAZSraiLiwcMXWw3/+xqY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5046 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,michael.d.kinney@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: u6Sa34b5m7EEBcxHKdkE0bUpx7686176AA= 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="Pe//USSY"; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFJlbiwgU3VxaWFuZ1gg PHN1cWlhbmd4LnJlbkBpbnRlbC5jb20+DQo+IFNlbnQ6IFN1bmRheSwgSmFudWFyeSAyOCwgMjAy NCA2OjMwIFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogS2lubmV5LCBNaWNo YWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTGltaW5nIEdhbw0KPiA8Z2FvbGlt aW5nQGJ5b3NvZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNv bT4NCj4gU3ViamVjdDogW1BBVENIIFYyIDEvNV0gTWRlUGtnOiBBZGQgRUZJX1VOU1VQUE9SVEVE IHJldHVybiBmb3Igc29tZQ0KPiBSdW50aW1lIFNlcnZpY2UgZnVuY3Rpb25zDQo+IA0KPiBBY2Nv cmRpbmcgdG8gVUVGSSBTcGVjIDIuMTAgcGFnZSAyMDYsIGlmIGFueSBFRklfUlVOVElNRV9TRVJW SUNFUyogY2FsbHMNCj4gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHVzZSBieSB0aGUgT1MgYXQgcnVu dGltZSwgYW4NCj4gRUZJX1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gY29uZmlndXJhdGlvbiB0YWJs ZSBzaG91bGQgYmUgcHVibGlzaGVkIGRlc2NyaWJpbmcgd2hpY2ggcnVudGltZQ0KPiBzZXJ2aWNl cw0KPiBhcmUgc3VwcG9ydGVkIGF0IHJ1bnRpbWUuIFNvIG5lZWQgdG8gYWRkIEVGSV9VTlNVUFBP UlRFRCByZXR1cm4gZm9yIHNvbWUNCj4gUnVudGltZSBTZXJ2aWNlIGZ1bmN0aW9ucy4NCj4gDQo+ IFJFRjogVUVGSSBzcGVjIDIuMTAgc2VjdGlvbiA4IFNlcnZpY2VzIOKAlCBSdW50aW1lIFNlcnZp Y2VzDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBTdXFpYW5nIFJlbiA8c3VxaWFuZ3gucmVuQGludGVs LmNvbT4NCj4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBDYzogWmhp Z3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiAtLS0NCj4gIE1kZVBrZy9JbmNs dWRlL0xpYnJhcnkvVWVmaVJ1bnRpbWVMaWIuaCAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKyst LQ0KPiAgTWRlUGtnL0luY2x1ZGUvVWVmaS9VZWZpU3BlYy5oICAgICAgICAgICAgIHwgNDYgKysr KysrKysrKysrKysrKysrKy0tLQ0KPiAgTWRlUGtnL0xpYnJhcnkvVWVmaVJ1bnRpbWVMaWIvUnVu dGltZUxpYi5jIHwgNDMgKysrKysrKysrKysrKysrKysrLS0NCj4gIDMgZmlsZXMgY2hhbmdlZCwg MTIyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL01k ZVBrZy9JbmNsdWRlL0xpYnJhcnkvVWVmaVJ1bnRpbWVMaWIuaA0KPiBiL01kZVBrZy9JbmNsdWRl L0xpYnJhcnkvVWVmaVJ1bnRpbWVMaWIuaA0KPiBpbmRleCAyYjk1YjYzZjlmMDUuLmM1YWNhNDJh YTFlOSAxMDA2NDQNCj4gLS0tIGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9VZWZpUnVudGltZUxp Yi5oDQo+ICsrKyBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvVWVmaVJ1bnRpbWVMaWIuaA0KPiBA QCAtNjQsNiArNjQsOSBAQCBFZmlHb25lVmlydHVhbCAoDQo+ICAgIEByZXR2YWwgIEVGSV9TVUND RVNTICAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiAg ICBAcmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFRpbWUgaXMgTlVMTC4NCj4gICAgQHJl dHZhbCAgRUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgdGltZSBjb3VsZCBub3QgYmUgcmV0cmll dmVkIGR1ZQ0KPiB0byBhIGhhcmR3YXJlIGVycm9yLg0KPiArICBAcmV0dmFsICBFRklfVU5TVVBQ T1JURUQgICAgICAgIFRoaXMgY2FsbCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZv cm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwgaXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUaGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGlt ZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2aWEgYW4gRUZJX1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gY29uZmln dXJhdGlvbiB0YWJsZS4NCj4gDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTkzLDYgKzk2 LDkgQEAgRWZpR2V0VGltZSAoDQo+ICAgIEByZXR2YWwgIEVGSV9TVUNDRVNTICAgICAgICAgICAg VGhlIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiAgICBAcmV0dmFsICBFRklf SU5WQUxJRF9QQVJBTUVURVIgIEEgdGltZSBmaWVsZCBpcyBvdXQgb2YgcmFuZ2UuDQo+ICAgIEBy ZXR2YWwgIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhlIHRpbWUgY291bGQgbm90IGJlIHNldCBk dWUgdG8gYQ0KPiBoYXJkd2FyZSBlcnJvci4NCj4gKyAgQHJldHZhbCAgRUZJX1VOU1VQUE9SVEVE ICAgICAgICBUaGlzIGNhbGwgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzDQo+IHBsYXRmb3JtIGF0 IHRoZSB0aW1lIHRoZSBjYWxsIGlzIG1hZGUuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0aGlzDQo+IHJ1bnRpbWUgc2Vy dmljZSBhcyB1bnN1cHBvcnRlZCBhdCBydW50aW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+IGNvbmZpZ3VyYXRp b24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBAIC0xMTksNyArMTI1LDkg QEAgRWZpU2V0VGltZSAoDQo+ICAgIEByZXR2YWwgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgUGVu ZGluZyBpcyBOVUxMLg0KPiAgICBAcmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFRpbWUg aXMgTlVMTC4NCj4gICAgQHJldHZhbCAgRUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgd2FrZXVw IHRpbWUgY291bGQgbm90IGJlDQo+IHJldHJpZXZlZCBkdWUgdG8gYSBoYXJkd2FyZSBlcnJvci4N Cj4gLSAgQHJldHZhbCAgRUZJX1VOU1VQUE9SVEVEICAgICAgICBBIHdha2V1cCB0aW1lciBpcyBu b3Qgc3VwcG9ydGVkIG9uDQo+IHRoaXMgcGxhdGZvcm0uDQo+ICsgIEByZXR2YWwgIEVGSV9VTlNV UFBPUlRFRCAgICAgICAgVGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0 Zm9ybSBhdCB0aGUgdGltZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3JpYmUgdGhpcw0KPiBydW50 aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQgYXQgcnVudGltZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZpYSBhbiBFRklfUlRfUFJPUEVSVElFU19UQUJMRQ0KPiBjb25m aWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiBAQCAtMTQ5LDcg KzE1Nyw5IEBAIEVmaUdldFdha2V1cFRpbWUgKA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIEVuYWJsZSBpcyBGQUxTRSwgdGhlbiB0aGUgd2FrZXVwDQo+IGFsYXJtIHdh cyBkaXNhYmxlZC4NCj4gICAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBBIHRpbWUg ZmllbGQgaXMgb3V0IG9mIHJhbmdlLg0KPiAgICBAcmV0dmFsICBFRklfREVWSUNFX0VSUk9SICAg ICAgIFRoZSB3YWtldXAgdGltZSBjb3VsZCBub3QgYmUgc2V0IGR1ZQ0KPiB0byBhIGhhcmR3YXJl IGVycm9yLg0KPiAtICBAcmV0dmFsICBFRklfVU5TVVBQT1JURUQgICAgICAgIEEgd2FrZXVwIHRp bWVyIGlzIG5vdCBzdXBwb3J0ZWQgb24NCj4gdGhpcyBwbGF0Zm9ybS4NCj4gKyAgQHJldHZhbCAg RUZJX1VOU1VQUE9SVEVEICAgICAgICBUaGlzIGNhbGwgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlz DQo+IHBsYXRmb3JtIGF0IHRoZSB0aW1lIHRoZSBjYWxsIGlzIG1hZGUuDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0aGlz DQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRlZCBhdCBydW50aW1lDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxF DQo+IGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBA IC0xODgsNiArMTk4LDEwIEBAIEVmaVNldFdha2V1cFRpbWUgKA0KPiAgICBAcmV0dmFsICBFRklf SU5WQUxJRF9QQVJBTUVURVIgIFRoZSBEYXRhU2l6ZSBpcyBub3QgdG9vIHNtYWxsIGFuZA0KPiBE YXRhIGlzIE5VTEwuDQo+ICAgIEByZXR2YWwgIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhlIHZh cmlhYmxlIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQNCj4gZHVlIHRvIGEgaGFyZHdhcmUgZXJyb3Iu DQo+ICAgIEByZXR2YWwgIEVGSV9TRUNVUklUWV9WSU9MQVRJT04gVGhlIHZhcmlhYmxlIGNvdWxk IG5vdCBiZSByZXRyaWV2ZWQNCj4gZHVlIHRvIGFuIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuDQo+ ICsgIEByZXR2YWwgIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgQWZ0ZXIgRXhpdEJvb3RTZXJ2aWNl cygpIGhhcyBiZWVuDQo+IGNhbGxlZCwgdGhpcyByZXR1cm4gY29kZSBtYXkgYmUgcmV0dXJuZWQN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBubyB2YXJpYWJsZSBzdG9y YWdlIGlzIHN1cHBvcnRlZC4NCj4gVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0aGlzDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVudGltZSBzZXJ2aWNlIGFzIHVu c3VwcG9ydGVkIGF0DQo+IHJ1bnRpbWUgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiB0YWJsZS4N Cj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiAgRUZJQVBJDQo+IEBAIC0yMjcsNiArMjQxLDEwIEBA IEVmaUdldFZhcmlhYmxlICgNCj4gICAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFZh cmlhYmxlTmFtZSBpcyBOVUxMLg0KPiAgICBAcmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVURVIg VmVuZG9yR3VpZCBpcyBOVUxMLg0KPiAgICBAcmV0dmFsICBFRklfREVWSUNFX0VSUk9SICAgICAg VGhlIHZhcmlhYmxlIG5hbWUgY291bGQgbm90IGJlDQo+IHJldHJpZXZlZCBkdWUgdG8gYSBoYXJk d2FyZSBlcnJvci4NCj4gKyAgQHJldHZhbCAgRUZJX1VOU1VQUE9SVEVEICAgICAgIEFmdGVyIEV4 aXRCb290U2VydmljZXMoKSBoYXMgYmVlbg0KPiBjYWxsZWQsIHRoaXMgcmV0dXJuIGNvZGUgbWF5 IGJlIHJldHVybmVkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBubyB2 YXJpYWJsZSBzdG9yYWdlIGlzIHN1cHBvcnRlZC4NCj4gVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNj cmliZSB0aGlzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW50aW1lIHNl cnZpY2UgYXMgdW5zdXBwb3J0ZWQgYXQNCj4gcnVudGltZSB2aWEgYW4gRUZJX1JUX1BST1BFUlRJ RVNfVEFCTEUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRp b24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBAIC0yNjQsNiArMjgyLDkg QEAgRWZpR2V0TmV4dFZhcmlhYmxlTmFtZSAoDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2V0IGJ1dCB0aGUgQXV0aEluZm8gZG9lcyBOT1QgcGFzcw0KPiB0aGUgdmFsaWRh dGlvbiBjaGVjayBjYXJyaWVkDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b3V0IGJ5IHRoZSBmaXJtd2FyZS4NCj4gICAgQHJldHZhbCAgRUZJX05PVF9GT1VORCAgICAgICAg ICBUaGUgdmFyaWFibGUgdHJ5aW5nIHRvIGJlIHVwZGF0ZWQgb3INCj4gZGVsZXRlZCB3YXMgbm90 IGZvdW5kLg0KPiArICBAcmV0dmFsICBFRklfVU5TVVBQT1JURUQgICAgICAgIFRoaXMgY2FsbCBp cyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwg aXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGxhdGZv cm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVk IGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEgYW4g RUZJX1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gDQo+ICAq Ki8NCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTI5MCw2ICszMTEsMTAgQEAgRWZpU2V0VmFyaWFibGUg KA0KPiAgICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIG5leHQgaGlnaCBtb25v dG9uaWMgY291bnQgd2FzDQo+IHJldHVybmVkLg0KPiAgICBAcmV0dmFsICBFRklfREVWSUNFX0VS Uk9SICAgICAgVGhlIGRldmljZSBpcyBub3QgZnVuY3Rpb25pbmcNCj4gcHJvcGVybHkuDQo+ICAg IEByZXR2YWwgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBIaWdoQ291bnQgaXMgTlVMTC4NCj4gKyAg QHJldHZhbCAgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoaXMgY2FsbCBpcyBub3Qgc3VwcG9ydGVk IGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwgaXMgbWFkZS4NCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3Jp YmUgdGhpcw0KPiBydW50aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQgYXQgcnVudGltZQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVT X1RBQkxFDQo+IGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+ICsNCj4gDQo+ICAqKi8NCj4gIEVGSV9T VEFUVVMNCj4gQEAgLTM1MCw3ICszNzUsMTEgQEAgRWZpUmVzZXRTeXN0ZW0gKA0KPiAgICBAcmV0 dmFsICBFRklfTk9UX0ZPVU5EICAgICAgICAgIFRoZSBwb2ludGVyIHBvaW50ZWQgdG8gYnkgQWRk cmVzcyB3YXMNCj4gbm90IGZvdW5kIHRvIGJlIHBhcnQgb2YNCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGUgY3VycmVudCBtZW1vcnkgbWFwLiBUaGlzIGlzDQo+IG5vcm1h bGx5IGZhdGFsLg0KPiAgICBAcmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVURVIgIEFkZHJlc3Mg aXMgTlVMTC4NCj4gLSAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAqQWRkcmVzcyBp cyBOVUxMIGFuZCBEZWJ1Z0Rpc3Bvc2l0aW8NCj4gKyAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFS QU1FVEVSICAqQWRkcmVzcyBpcyBOVUxMIGFuZCBEZWJ1Z0Rpc3Bvc2l0aW9uDQo+IGRvZXMNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QgaGF2ZSB0aGUgRUZJX09QVElP TkFMX1BUUiBiaXQNCj4gc2V0Lg0KPiArICBAcmV0dmFsICBFRklfVU5TVVBQT1JURUQgICAgICAg IFRoaXMgY2FsbCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRp bWUgdGhlIGNhbGwgaXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUaGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBzZXJ2aWNlIGFz IHVuc3VwcG9ydGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2aWEgYW4gRUZJX1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gY29uZmlndXJhdGlvbiB0YWJs ZS4NCj4gDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTQxNCw2ICs0NDMsOSBAQCBFZmlD b252ZXJ0RnVuY3Rpb25Qb2ludGVyICgNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFwIHRoYXQgcmVxdWlyZXMgYSBtYXBwaW5nLg0KPiAgICBAcmV0dmFsIEVGSV9OT1RfRk9V TkQgICAgICAgICBBIHZpcnR1YWwgYWRkcmVzcyB3YXMgc3VwcGxpZWQgZm9yIGFuDQo+IGFkZHJl c3MgdGhhdCBpcyBub3QgZm91bmQNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW4gdGhlIG1lbW9yeSBtYXAuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRo aXMgY2FsbCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUg dGhlIGNhbGwgaXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhl IHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0aGlzDQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1 cHBvcnRlZCBhdCBydW50aW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZp YSBhbiBFRklfUlRfUFJPUEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiAg KiovDQo+ICBFRklfU1RBVFVTDQo+ICBFRklBUEkNCj4gQEAgLTQ3OCw2ICs1MTAsOSBAQCBFZmlD b252ZXJ0TGlzdCAoDQo+ICAgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZSBjYXBz dWxlIHVwZGF0ZSB3YXMgc3RhcnRlZCwgYnV0DQo+IGZhaWxlZCBkdWUgdG8gYSBkZXZpY2UgZXJy b3IuDQo+ICAgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoZSBjYXBzdWxlIHR5cGUg aXMgbm90IHN1cHBvcnRlZCBvbg0KPiB0aGlzIHBsYXRmb3JtLg0KPiAgICBAcmV0dmFsIEVGSV9P VVRfT0ZfUkVTT1VSQ0VTICBUaGVyZSB3ZXJlIGluc3VmZmljaWVudCByZXNvdXJjZXMgdG8NCj4g cHJvY2VzcyB0aGUgY2Fwc3VsZS4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAg VGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9ybSBhdCB0aGUgdGlt ZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU aGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBzZXJ2aWNlIGFzIHVu c3VwcG9ydGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+IGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+ IA0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBAIC01MjAsNiArNTU1LDkgQEAgRWZpVXBkYXRl Q2Fwc3VsZSAoDQo+ICAgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoZSBjYXBzdWxl IHR5cGUgaXMgbm90IHN1cHBvcnRlZCBvbg0KPiB0aGlzIHBsYXRmb3JtLCBhbmQNCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4aW11bUNhcHN1bGVTaXplIGFuZCBSZXNldFR5 cGUgYXJlDQo+IHVuZGVmaW5lZC4NCj4gICAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAg VGhlcmUgd2VyZSBpbnN1ZmZpY2llbnQgcmVzb3VyY2VzIHRvDQo+IHByb2Nlc3MgdGhlIHF1ZXJ5 IHJlcXVlc3QuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoaXMgY2FsbCBp cyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwg aXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBsYXRmb3Jt IHNob3VsZCBkZXNjcmliZSB0aGlzDQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRlZCBh dCBydW50aW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSBhbiBFRklf UlRfUFJPUEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoqLw0K PiAgRUZJX1NUQVRVUw0KPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvVWVmaS9VZWZpU3Bl Yy5oDQo+IGIvTWRlUGtnL0luY2x1ZGUvVWVmaS9VZWZpU3BlYy5oDQo+IGluZGV4IGFkODBhZmJl MzQ5OS4uN2ZjZGVhYjkzZTgzIDEwMDY0NA0KPiAtLS0gYS9NZGVQa2cvSW5jbHVkZS9VZWZpL1Vl ZmlTcGVjLmgNCj4gKysrIGIvTWRlUGtnL0luY2x1ZGUvVWVmaS9VZWZpU3BlYy5oDQo+IEBAIC0z MjAsNiArMzIwLDkgQEAgRUZJX1NUQVRVUw0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYXAgdGhhdCByZXF1aXJlcyBhIG1hcHBpbmcuDQo+ICAgIEByZXR2YWwgRUZJX05PVF9G T1VORCAgICAgICAgIEEgdmlydHVhbCBhZGRyZXNzIHdhcyBzdXBwbGllZCBmb3IgYW4NCj4gYWRk cmVzcyB0aGF0IGlzIG5vdCBmb3VuZA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbiB0aGUgbWVtb3J5IG1hcC4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAg VGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9ybSBhdCB0aGUgdGlt ZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU aGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBzZXJ2aWNlIGFzIHVu c3VwcG9ydGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+IGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+ IA0KPiAgKiovDQo+ICB0eXBlZGVmDQo+IEBAIC00MTAsMTEgKzQxMywxNCBAQCBFRklfU1RBVFVT DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBuZXcgdmly dHVhbCBhZGRyZXNzDQo+IG1hcHBpbmdzIGJlaW5nIGFwcGxpZWQuDQo+IA0KPiAgICBAcmV0dmFs IEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgcG9pbnRlciBwb2ludGVkIHRvIGJ5IEFkZHJlc3Mg d2FzDQo+IG1vZGlmaWVkLg0KPiAtICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAxKSBB ZGRyZXNzIGlzIE5VTEwuDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIpICpB ZGRyZXNzIGlzIE5VTEwgYW5kDQo+IERlYnVnRGlzcG9zaXRpb24gZG9lcw0KPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBub3QgaGF2ZSB0aGUgRUZJX09QVElPTkFMX1BUUiBiaXQg c2V0Lg0KPiAgICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICBUaGUgcG9pbnRlciBwb2lu dGVkIHRvIGJ5IEFkZHJlc3Mgd2FzDQo+IG5vdCBmb3VuZCB0byBiZSBwYXJ0DQo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBjdXJyZW50IG1lbW9yeSBtYXAuIFRoaXMg aXMNCj4gbm9ybWFsbHkgZmF0YWwuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVS IEFkZHJlc3MgaXMgTlVMTC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgKkFk ZHJlc3MgaXMgTlVMTCBhbmQgRGVidWdEaXNwb3NpdGlvbg0KPiBkb2VzDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5vdCBoYXZlIHRoZSBFRklfT1BUSU9OQUxfUFRSIGJpdCBz ZXQuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoaXMgY2FsbCBpcyBub3Qg c3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwgaXMgbWFk ZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBsYXRmb3JtIHNob3Vs ZCBkZXNjcmliZSB0aGlzDQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRlZCBhdCBydW50 aW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSBhbiBFRklfUlRfUFJP UEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoqLw0KPiAgdHlw ZWRlZg0KPiBAQCAtNjc5LDYgKzY4NSwxMCBAQCBWT0lEDQo+ICAgIEByZXR2YWwgRUZJX0lOVkFM SURfUEFSQU1FVEVSICBUaGUgRGF0YVNpemUgaXMgbm90IHRvbyBzbWFsbCBhbmQgRGF0YQ0KPiBp cyBOVUxMLg0KPiAgICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhlIHZhcmlhYmxl IGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQNCj4gZHVlIHRvIGEgaGFyZHdhcmUgZXJyb3IuDQo+ICAg IEByZXR2YWwgRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTiBUaGUgdmFyaWFibGUgY291bGQgbm90IGJl IHJldHJpZXZlZA0KPiBkdWUgdG8gYW4gYXV0aGVudGljYXRpb24gZmFpbHVyZS4NCj4gKyAgQHJl dHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgIEFmdGVyIEV4aXRCb290U2VydmljZXMoKSBoYXMg YmVlbg0KPiBjYWxsZWQsIHRoaXMgcmV0dXJuIGNvZGUgbWF5IGJlIHJldHVybmVkDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBubyB2YXJpYWJsZSBzdG9yYWdlIGlzIHN1 cHBvcnRlZC4NCj4gVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0aGlzDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBydW50aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQg YXQNCj4gcnVudGltZSB2aWEgYW4gRUZJX1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+IA0KPiAgKiov DQo+ICB0eXBlZGVmDQo+IEBAIC03MTUsNiArNzI1LDEwIEBAIEVGSV9TVEFUVVMNCj4gICAgQHJl dHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgTnVsbC10ZXJtaW5hdG9yIGlzIG5vdCBmb3VuZCBp biB0aGUNCj4gZmlyc3QgVmFyaWFibGVOYW1lU2l6ZSBieXRlcyBvZg0KPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0aGUgaW5wdXQgVmFyaWFibGVOYW1lIGJ1ZmZlci4NCj4gICAg QHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIHZhcmlhYmxlIGNvdWxkIG5vdCBiZSBy ZXRyaWV2ZWQgZHVlDQo+IHRvIGEgaGFyZHdhcmUgZXJyb3IuDQo+ICsgIEByZXR2YWwgRUZJX1VO U1VQUE9SVEVEICAgICAgIEFmdGVyIEV4aXRCb290U2VydmljZXMoKSBoYXMgYmVlbg0KPiBjYWxs ZWQsIHRoaXMgcmV0dXJuIGNvZGUgbWF5IGJlIHJldHVybmVkDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmIG5vIHZhcmlhYmxlIHN0b3JhZ2UgaXMgc3VwcG9ydGVkLg0KPiBU aGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcnVudGltZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0DQo+IHJ1bnRpbWUg dmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICB0eXBlZGVmDQo+ IEBAIC03NTcsNiArNzcxLDkgQEAgRUZJX1NUQVRVUw0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnV0IHRoZSBBdXRoSW5mbyBkb2VzIE5PVCBwYXNzIHRoZQ0KPiB2YWxpZGF0 aW9uIGNoZWNrIGNhcnJpZWQgb3V0IGJ5IHRoZSBmaXJtd2FyZS4NCj4gDQo+ICAgIEByZXR2YWwg RUZJX05PVF9GT1VORCAgICAgICAgICBUaGUgdmFyaWFibGUgdHJ5aW5nIHRvIGJlIHVwZGF0ZWQg b3INCj4gZGVsZXRlZCB3YXMgbm90IGZvdW5kLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRF RCAgICAgICAgVGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9ybSBh dCB0aGUgdGltZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0aGlzDQo+IHJ1bnRpbWUgc2Vy dmljZSBhcyB1bnN1cHBvcnRlZCBhdCBydW50aW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2aWEgYW4gRUZJX1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gY29uZmlndXJhdGlv biB0YWJsZS4NCj4gDQo+ICAqKi8NCj4gIHR5cGVkZWYNCj4gQEAgLTgwOSw2ICs4MjYsOSBAQCB0 eXBlZGVmIHN0cnVjdCB7DQo+ICAgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBv cGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gICAgQHJldHZhbCBFRklfSU5WQUxJ RF9QQVJBTUVURVIgVGltZSBpcyBOVUxMLg0KPiAgICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1Ig ICAgICBUaGUgdGltZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkIGR1ZSB0bw0KPiBoYXJkd2FyZSBl cnJvci4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgVGhpcyBjYWxsIGlzIG5v dCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9ybSBhdCB0aGUgdGltZSB0aGUgY2FsbCBpcyBt YWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGxhdGZvcm0gc2hv dWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0IHJ1 bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9Q Uk9QRVJUSUVTX1RBQkxFDQo+IGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICB0 eXBlZGVmDQo+IEBAIC04MjYsNiArODQ2LDkgQEAgRUZJX1NUQVRVUw0KPiAgICBAcmV0dmFsIEVG SV9TVUNDRVNTICAgICAgICAgICBUaGUgb3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHku DQo+ICAgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIEEgdGltZSBmaWVsZCBpcyBvdXQg b2YgcmFuZ2UuDQo+ICAgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZSB0aW1lIGNv dWxkIG5vdCBiZSBzZXQgZHVlIGR1ZSB0bw0KPiBoYXJkd2FyZSBlcnJvci4NCj4gKyAgQHJldHZh bCBFRklfVU5TVVBQT1JURUQgICAgICAgVGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhp cw0KPiBwbGF0Zm9ybSBhdCB0aGUgdGltZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMN Cj4gcnVudGltZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+ IGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICB0eXBlZGVmDQo+IEBAIC04NDYs NyArODY5LDkgQEAgRUZJX1NUQVRVUw0KPiAgICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRF UiBQZW5kaW5nIGlzIE5VTEwuDQo+ICAgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFRp bWUgaXMgTlVMTC4NCj4gICAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIHdha2V1 cCB0aW1lIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQNCj4gZHVlIHRvIGEgaGFyZHdhcmUgZXJyb3Iu DQo+IC0gIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIEEgd2FrZXVwIHRpbWVyIGlzIG5v dCBzdXBwb3J0ZWQgb24gdGhpcw0KPiBwbGF0Zm9ybS4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQ T1JURUQgICAgICAgVGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9y bSBhdCB0aGUgdGltZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUaGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBz ZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+IGNvbmZpZ3VyYXRp b24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICB0eXBlZGVmDQo+IEBAIC04NjgsNyArODkzLDkgQEAg RUZJX1NUQVRVUw0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGUgaXMg RkFMU0UsIHRoZW4gdGhlIHdha2V1cCBhbGFybQ0KPiB3YXMgZGlzYWJsZWQuDQo+ICAgIEByZXR2 YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIEEgdGltZSBmaWVsZCBpcyBvdXQgb2YgcmFuZ2UuDQo+ ICAgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZSB3YWtldXAgdGltZSBjb3VsZCBu b3QgYmUgc2V0IGR1ZSB0bw0KPiBhIGhhcmR3YXJlIGVycm9yLg0KPiAtICBAcmV0dmFsIEVGSV9V TlNVUFBPUlRFRCAgICAgICBBIHdha2V1cCB0aW1lciBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMN Cj4gcGxhdGZvcm0uDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoaXMgY2Fs bCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNh bGwgaXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBsYXRm b3JtIHNob3VsZCBkZXNjcmliZSB0aGlzDQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRl ZCBhdCBydW50aW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSBhbiBF RklfUlRfUFJPUEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoq Lw0KPiAgdHlwZWRlZg0KPiBAQCAtMTA5MCw2ICsxMTE3LDkgQEAgRUZJX1NUQVRVUw0KPiAgICBA cmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgbmV4dCBoaWdoIG1vbm90b25pYyBjb3Vu dCB3YXMNCj4gcmV0dXJuZWQuDQo+ICAgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIEhp Z2hDb3VudCBpcyBOVUxMLg0KPiAgICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICBUaGUg ZGV2aWNlIGlzIG5vdCBmdW5jdGlvbmluZyBwcm9wZXJseS4NCj4gKyAgQHJldHZhbCBFRklfVU5T VVBQT1JURUQgICAgICAgVGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0 Zm9ybSBhdCB0aGUgdGltZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUaGUgcGxhdGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGlt ZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+IGNvbmZpZ3Vy YXRpb24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICB0eXBlZGVmDQo+IEBAIC0xNzE2LDYgKzE3NDYs OSBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGluIHJ1bnRpbWUuIFRoZSBjYWxsZXIgbWF5IHJlc3VibWl0IHRoZQ0KPiBjYXBzdWxlIHByaW9y IHRvIEV4aXRCb290U2VydmljZXMoKS4NCj4gICAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNF UyAgV2hlbiBFeGl0Qm9vdFNlcnZpY2VzKCkgaGFzIG5vdCBiZWVuDQo+IHByZXZpb3VzbHkgY2Fs bGVkIHRoZW4gdGhpcyBlcnJvciBpbmRpY2F0ZXMNCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdGhlIGNhcHN1bGUgaXMgY29tcGF0aWJsZSB3aXRoIHRoaXMNCj4gcGxhdGZvcm0g YnV0IHRoZXJlIGFyZSBpbnN1ZmZpY2llbnQgcmVzb3VyY2VzIHRvIHByb2Nlc3MuDQo+ICsgIEBy ZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoaXMgY2FsbCBpcyBub3Qgc3VwcG9ydGVkIGJ5 IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwgaXMgbWFkZS4NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0 aGlzDQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRlZCBhdCBydW50aW1lDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSBhbiBFRklfUlRfUFJPUEVSVElFU19UQUJM RQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoqLw0KPiAgdHlwZWRlZg0KPiBAQCAt MTc0Nyw2ICsxNzgwLDkgQEAgRUZJX1NUQVRVUw0KPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbiBydW50aW1lLiBUaGUgY2FsbGVyIG1heSByZXN1Ym1pdCB0aGUNCj4gY2Fwc3Vs ZSBwcmlvciB0byBFeGl0Qm9vdFNlcnZpY2VzKCkuDQo+ICAgIEByZXR2YWwgRUZJX09VVF9PRl9S RVNPVVJDRVMgIFdoZW4gRXhpdEJvb3RTZXJ2aWNlcygpIGhhcyBub3QgYmVlbg0KPiBwcmV2aW91 c2x5IGNhbGxlZCB0aGVuIHRoaXMgZXJyb3IgaW5kaWNhdGVzDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRoZSBjYXBzdWxlIGlzIGNvbXBhdGlibGUgd2l0aCB0aGlzDQo+IHBs YXRmb3JtIGJ1dCB0aGVyZSBhcmUgaW5zdWZmaWNpZW50IHJlc291cmNlcyB0byBwcm9jZXNzLg0K PiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGlzIGNhbGwgaXMgbm90IHN1cHBv cnRlZCBieSB0aGlzDQo+IHBsYXRmb3JtIGF0IHRoZSB0aW1lIHRoZSBjYWxsIGlzIG1hZGUuDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVz Y3JpYmUgdGhpcw0KPiBydW50aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQgYXQgcnVudGltZQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEgYW4gRUZJX1JUX1BST1BFUlRJ RVNfVEFCTEUNCj4gY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gDQo+ICAqKi8NCj4gIHR5cGVkZWYN Cj4gZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L1VlZmlSdW50aW1lTGliL1J1bnRpbWVMaWIu Yw0KPiBiL01kZVBrZy9MaWJyYXJ5L1VlZmlSdW50aW1lTGliL1J1bnRpbWVMaWIuYw0KPiBpbmRl eCBmZmM0Y2Y0ZDJhZjMuLjI1NjNmNmUwNjA2ZCAxMDA2NDQNCj4gLS0tIGEvTWRlUGtnL0xpYnJh cnkvVWVmaVJ1bnRpbWVMaWIvUnVudGltZUxpYi5jDQo+ICsrKyBiL01kZVBrZy9MaWJyYXJ5L1Vl ZmlSdW50aW1lTGliL1J1bnRpbWVMaWIuYw0KPiBAQCAtMjUyLDYgKzI1Miw5IEBAIEVmaVJlc2V0 U3lzdGVtICgNCj4gICAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgb3BlcmF0 aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+ICAgIEByZXR2YWwgIEVGSV9JTlZBTElEX1BB UkFNRVRFUiAgVGltZSBpcyBOVUxMLg0KPiAgICBAcmV0dmFsICBFRklfREVWSUNFX0VSUk9SICAg ICAgIFRoZSB0aW1lIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQgZHVlDQo+IHRvIGEgaGFyZHdhcmUg ZXJyb3IuDQo+ICsgIEByZXR2YWwgIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgVGhpcyBjYWxsIGlz IG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9ybSBhdCB0aGUgdGltZSB0aGUgY2FsbCBp cyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwbGF0Zm9y bSBzaG91bGQgZGVzY3JpYmUgdGhpcw0KPiBydW50aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQg YXQgcnVudGltZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSBhbiBF RklfUlRfUFJPUEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoq Lw0KPiAgRUZJX1NUQVRVUw0KPiBAQCAtMjg0LDYgKzI4Nyw5IEBAIEVmaUdldFRpbWUgKA0KPiAg ICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVk IHN1Y2Nlc3NmdWxseS4NCj4gICAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBBIHRp bWUgZmllbGQgaXMgb3V0IG9mIHJhbmdlLg0KPiAgICBAcmV0dmFsICBFRklfREVWSUNFX0VSUk9S ICAgICAgIFRoZSB0aW1lIGNvdWxkIG5vdCBiZSBzZXQgZHVlIHRvIGENCj4gaGFyZHdhcmUgZXJy b3IuDQo+ICsgIEByZXR2YWwgIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgVGhpcyBjYWxsIGlzIG5v dCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9ybSBhdCB0aGUgdGltZSB0aGUgY2FsbCBpcyBt YWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwbGF0Zm9ybSBz aG91bGQgZGVzY3JpYmUgdGhpcw0KPiBydW50aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQgYXQg cnVudGltZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSBhbiBFRklf UlRfUFJPUEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoqLw0K PiAgRUZJX1NUQVRVUw0KPiBAQCAtMzEzLDcgKzMxOSw5IEBAIEVmaVNldFRpbWUgKA0KPiAgICBA cmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFBlbmRpbmcgaXMgTlVMTC4NCj4gICAgQHJl dHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBUaW1lIGlzIE5VTEwuDQo+ICAgIEByZXR2YWwg IEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhlIHdha2V1cCB0aW1lIGNvdWxkIG5vdCBiZQ0KPiBy ZXRyaWV2ZWQgZHVlIHRvIGEgaGFyZHdhcmUgZXJyb3IuDQo+IC0gIEByZXR2YWwgIEVGSV9VTlNV UFBPUlRFRCAgICAgICAgQSB3YWtldXAgdGltZXIgaXMgbm90IHN1cHBvcnRlZCBvbg0KPiB0aGlz IHBsYXRmb3JtLg0KPiArICBAcmV0dmFsICBFRklfVU5TVVBQT1JURUQgICAgICAgIFRoaXMgY2Fs bCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNh bGwgaXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGxh dGZvcm0gc2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBzZXJ2aWNlIGFzIHVuc3VwcG9y dGVkIGF0IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEg YW4gRUZJX1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gDQo+ ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4gQEAgLTM0Niw3ICszNTQsOSBAQCBFZmlHZXRXYWtldXBU aW1lICgNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBFbmFibGUgaXMg RkFMU0UsIHRoZW4gdGhlIHdha2V1cA0KPiBhbGFybSB3YXMgZGlzYWJsZWQuDQo+ICAgIEByZXR2 YWwgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgQSB0aW1lIGZpZWxkIGlzIG91dCBvZiByYW5nZS4N Cj4gICAgQHJldHZhbCAgRUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgd2FrZXVwIHRpbWUgY291 bGQgbm90IGJlIHNldCBkdWUNCj4gdG8gYSBoYXJkd2FyZSBlcnJvci4NCj4gLSAgQHJldHZhbCAg RUZJX1VOU1VQUE9SVEVEICAgICAgICBBIHdha2V1cCB0aW1lciBpcyBub3Qgc3VwcG9ydGVkIG9u DQo+IHRoaXMgcGxhdGZvcm0uDQo+ICsgIEByZXR2YWwgIEVGSV9VTlNVUFBPUlRFRCAgICAgICAg VGhpcyBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcw0KPiBwbGF0Zm9ybSBhdCB0aGUgdGlt ZSB0aGUgY2FsbCBpcyBtYWRlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3JpYmUgdGhpcw0KPiBydW50aW1lIHNlcnZpY2UgYXMg dW5zdXBwb3J0ZWQgYXQgcnVudGltZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZpYSBhbiBFRklfUlRfUFJPUEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxl Lg0KPiANCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiBAQCAtMzg4LDYgKzM5OCwxMCBAQCBFZmlT ZXRXYWtldXBUaW1lICgNCj4gICAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBUaGUg RGF0YVNpemUgaXMgbm90IHRvbyBzbWFsbCBhbmQNCj4gRGF0YSBpcyBOVUxMLg0KPiAgICBAcmV0 dmFsICBFRklfREVWSUNFX0VSUk9SICAgICAgIFRoZSB2YXJpYWJsZSBjb3VsZCBub3QgYmUgcmV0 cmlldmVkDQo+IGR1ZSB0byBhIGhhcmR3YXJlIGVycm9yLg0KPiAgICBAcmV0dmFsICBFRklfU0VD VVJJVFlfVklPTEFUSU9OIFRoZSB2YXJpYWJsZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkDQo+IGR1 ZSB0byBhbiBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLg0KPiArICBAcmV0dmFsICBFRklfVU5TVVBQ T1JURUQgICAgICAgIEFmdGVyIEV4aXRCb290U2VydmljZXMoKSBoYXMgYmVlbg0KPiBjYWxsZWQs IHRoaXMgcmV0dXJuIGNvZGUgbWF5IGJlIHJldHVybmVkDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaWYgbm8gdmFyaWFibGUgc3RvcmFnZSBpcyBzdXBwb3J0ZWQuDQo+IFRo ZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3JpYmUgdGhpcw0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRlZCBhdA0KPiBydW50aW1l IHZpYSBhbiBFRklfUlRfUFJPUEVSVElFU19UQUJMRQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMN Cj4gIEVGSUFQSQ0KPiBAQCAtNDMwLDYgKzQ0NCwxMCBAQCBFZmlHZXRWYXJpYWJsZSAoDQo+ICAg IEByZXR2YWwgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBWYXJpYWJsZU5hbWUgaXMgTlVMTC4NCj4g ICAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFZlbmRvckd1aWQgaXMgTlVMTC4NCj4g ICAgQHJldHZhbCAgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZSB2YXJpYWJsZSBuYW1lIGNvdWxk IG5vdCBiZQ0KPiByZXRyaWV2ZWQgZHVlIHRvIGEgaGFyZHdhcmUgZXJyb3IuDQo+ICsgIEByZXR2 YWwgIEVGSV9VTlNVUFBPUlRFRCAgICAgICBBZnRlciBFeGl0Qm9vdFNlcnZpY2VzKCkgaGFzIGJl ZW4NCj4gY2FsbGVkLCB0aGlzIHJldHVybiBjb2RlIG1heSBiZSByZXR1cm5lZA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm8gdmFyaWFibGUgc3RvcmFnZSBpcyBzdXBw b3J0ZWQuDQo+IFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3JpYmUgdGhpcw0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcnVudGltZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0 DQo+IHJ1bnRpbWUgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoqLw0K PiAgRUZJX1NUQVRVUw0KPiBAQCAtNDcwLDYgKzQ4OCw5IEBAIEVmaUdldE5leHRWYXJpYWJsZU5h bWUgKA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCBidXQgdGhlIEF1 dGhJbmZvIGRvZXMgTk9UIHBhc3MNCj4gdGhlIHZhbGlkYXRpb24gY2hlY2sgY2FycmllZA0KPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBieSB0aGUgZmlybXdhcmUuDQo+ ICAgIEByZXR2YWwgIEVGSV9OT1RfRk9VTkQgICAgICAgICAgVGhlIHZhcmlhYmxlIHRyeWluZyB0 byBiZSB1cGRhdGVkIG9yDQo+IGRlbGV0ZWQgd2FzIG5vdCBmb3VuZC4NCj4gKyAgQHJldHZhbCAg RUZJX1VOU1VQUE9SVEVEICAgICAgICBUaGlzIGNhbGwgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlz DQo+IHBsYXRmb3JtIGF0IHRoZSB0aW1lIHRoZSBjYWxsIGlzIG1hZGUuDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBsYXRmb3JtIHNob3VsZCBkZXNjcmliZSB0aGlz DQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRlZCBhdCBydW50aW1lDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxF DQo+IGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+IA0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBA IC00OTksNiArNTIwLDkgQEAgRWZpU2V0VmFyaWFibGUgKA0KPiAgICBAcmV0dmFsICBFRklfU1VD Q0VTUyAgICAgICAgICAgVGhlIG5leHQgaGlnaCBtb25vdG9uaWMgY291bnQgd2FzDQo+IHJldHVy bmVkLg0KPiAgICBAcmV0dmFsICBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIGRldmljZSBpcyBu b3QgZnVuY3Rpb25pbmcNCj4gcHJvcGVybHkuDQo+ICAgIEByZXR2YWwgIEVGSV9JTlZBTElEX1BB UkFNRVRFUiBIaWdoQ291bnQgaXMgTlVMTC4NCj4gKyAgQHJldHZhbCAgRUZJX1VOU1VQUE9SVEVE ICAgICAgIFRoaXMgY2FsbCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQg dGhlIHRpbWUgdGhlIGNhbGwgaXMgbWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3JpYmUgdGhpcw0KPiBydW50aW1lIHNlcnZp Y2UgYXMgdW5zdXBwb3J0ZWQgYXQgcnVudGltZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmlhIGFuIEVGSV9SVF9QUk9QRVJUSUVTX1RBQkxFDQo+IGNvbmZpZ3VyYXRpb24g dGFibGUuDQo+IA0KPiAgKiovDQo+ICBFRklfU1RBVFVTDQo+IEBAIC01MjUsNyArNTQ5LDExIEBA IEVmaUdldE5leHRIaWdoTW9ub3RvbmljQ291bnQgKA0KPiAgICBAcmV0dmFsICBFRklfTk9UX0ZP VU5EICAgICAgICAgIFRoZSBwb2ludGVyIHBvaW50ZWQgdG8gYnkgQWRkcmVzcyB3YXMNCj4gbm90 IGZvdW5kIHRvIGJlIHBhcnQgb2YNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0aGUgY3VycmVudCBtZW1vcnkgbWFwLiBUaGlzIGlzDQo+IG5vcm1hbGx5IGZhdGFsLg0KPiAg ICBAcmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVURVIgIEFkZHJlc3MgaXMgTlVMTC4NCj4gLSAg QHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAqQWRkcmVzcyBpcyBOVUxMIGFuZCBEZWJ1 Z0Rpc3Bvc2l0aW8NCj4gKyAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAqQWRkcmVz cyBpcyBOVUxMIGFuZCBEZWJ1Z0Rpc3Bvc2l0aW9uDQo+IGRvZXMNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBub3QgaGF2ZSB0aGUgRUZJX09QVElPTkFMX1BUUiBiaXQNCj4g c2V0Lg0KPiArICBAcmV0dmFsICBFRklfVU5TVVBQT1JURUQgICAgICAgIFRoaXMgY2FsbCBpcyBu b3Qgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwgaXMg bWFkZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGxhdGZvcm0g c2hvdWxkIGRlc2NyaWJlIHRoaXMNCj4gcnVudGltZSBzZXJ2aWNlIGFzIHVuc3VwcG9ydGVkIGF0 IHJ1bnRpbWUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEgYW4gRUZJ X1JUX1BST1BFUlRJRVNfVEFCTEUNCj4gY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gDQo+ICAqKi8N Cj4gIEVGSV9TVEFUVVMNCj4gQEAgLTY0OSw2ICs2NzcsOSBAQCBFZmlDb252ZXJ0TGlzdCAoDQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCB0aGF0IHJlcXVpcmVzIGEgbWFw cGluZy4NCj4gICAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgQSB2aXJ0dWFsIGFkZHJl c3Mgd2FzIHN1cHBsaWVkIGZvciBhbg0KPiBhZGRyZXNzIHRoYXQgaXMgbm90IGZvdW5kDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBtZW1vcnkgbWFwLg0KPiArICBA cmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGlzIGNhbGwgaXMgbm90IHN1cHBvcnRlZCBi eSB0aGlzDQo+IHBsYXRmb3JtIGF0IHRoZSB0aW1lIHRoZSBjYWxsIGlzIG1hZGUuDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3JpYmUg dGhpcw0KPiBydW50aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQgYXQgcnVudGltZQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEgYW4gRUZJX1JUX1BST1BFUlRJRVNfVEFC TEUNCj4gY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiAgRUZJ QVBJDQo+IEBAIC02OTksNiArNzMwLDkgQEAgRWZpU2V0VmlydHVhbEFkZHJlc3NNYXAgKA0KPiAg ICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICBUaGUgY2Fwc3VsZSB1cGRhdGUgd2FzIHN0 YXJ0ZWQsIGJ1dA0KPiBmYWlsZWQgZHVlIHRvIGEgZGV2aWNlIGVycm9yLg0KPiAgICBAcmV0dmFs IEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGUgY2Fwc3VsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQg b24NCj4gdGhpcyBwbGF0Zm9ybS4NCj4gICAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAg VGhlcmUgd2VyZSBpbnN1ZmZpY2llbnQgcmVzb3VyY2VzIHRvDQo+IHByb2Nlc3MgdGhlIGNhcHN1 bGUuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoaXMgY2FsbCBpcyBub3Qg c3VwcG9ydGVkIGJ5IHRoaXMNCj4gcGxhdGZvcm0gYXQgdGhlIHRpbWUgdGhlIGNhbGwgaXMgbWFk ZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBsYXRmb3JtIHNob3Vs ZCBkZXNjcmliZSB0aGlzDQo+IHJ1bnRpbWUgc2VydmljZSBhcyB1bnN1cHBvcnRlZCBhdCBydW50 aW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpYSBhbiBFRklfUlRfUFJP UEVSVElFU19UQUJMRQ0KPiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiANCj4gICoqLw0KPiAgRUZJ X1NUQVRVUw0KPiBAQCAtNzQ4LDYgKzc4Miw5IEBAIEVmaVVwZGF0ZUNhcHN1bGUgKA0KPiAgICBA cmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGUgY2Fwc3VsZSB0eXBlIGlzIG5vdCBzdXBw b3J0ZWQgb24NCj4gdGhpcyBwbGF0Zm9ybSwgYW5kDQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1heGltdW1DYXBzdWxlU2l6ZSBhbmQgUmVzZXRUeXBlIGFyZQ0KPiB1bmRlZmlu ZWQuDQo+ICAgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgIFRoZXJlIHdlcmUgaW5zdWZm aWNpZW50IHJlc291cmNlcyB0bw0KPiBwcm9jZXNzIHRoZSBxdWVyeSByZXF1ZXN0Lg0KPiArICBA cmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGlzIGNhbGwgaXMgbm90IHN1cHBvcnRlZCBi eSB0aGlzDQo+IHBsYXRmb3JtIGF0IHRoZSB0aW1lIHRoZSBjYWxsIGlzIG1hZGUuDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwbGF0Zm9ybSBzaG91bGQgZGVzY3JpYmUg dGhpcw0KPiBydW50aW1lIHNlcnZpY2UgYXMgdW5zdXBwb3J0ZWQgYXQgcnVudGltZQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWEgYW4gRUZJX1JUX1BST1BFUlRJRVNfVEFC TEUNCj4gY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gDQo+ICAqKi8NCj4gIEVGSV9TVEFUVVMNCj4g LS0NCj4gMi4yNi4yLndpbmRvd3MuMQ0KDQoNCgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91 cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAu ClZpZXcvUmVwbHkgT25saW5lICgjMTE0NjcxKTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvMTE0NjcxCk11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQv MTA0MDI0Nzk1Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlv ClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbGVhdmUvMTIzNjcx MTEvNzY4NjE3Ni8xOTEzNDU2MjEyL3h5enp5IFtyZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09LT0t PS09LT0tPS09LT0tPS0KCg0K