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 D86E37803CD for ; Thu, 16 Nov 2023 02:50:04 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=h2uo21pWKqbgB+7UoQWIZTQZbCpL6r9ASzaOPxqhw+w=; 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=1700103003; v=1; b=FgSz4XLAW0QQIFvSeVn5WUXMUDCPtGJsA4V+z9084IpnAHf++oWfIJ1WL9js62+gJhdAVuP+ bz1WwuO4w6rp3ehhTOOOfTefyz3+Mos7qfZdjqyxzLkXx74DUbaO8XGn22fgHrotIPf6nGKRhzQ VwXPDLXg3jfSUUP0nOOPmYPo= X-Received: by 127.0.0.2 with SMTP id x9A6YY7687511xDDty3HNXEI; Wed, 15 Nov 2023 18:50:03 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.31944.1700103002768518583 for ; Wed, 15 Nov 2023 18:50:02 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10895"; a="371185896" X-IronPort-AV: E=Sophos;i="6.03,307,1694761200"; d="scan'208";a="371185896" X-Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2023 18:50:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10895"; a="794350990" X-IronPort-AV: E=Sophos;i="6.03,307,1694761200"; d="scan'208";a="794350990" X-Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 15 Nov 2023 18:50:01 -0800 X-Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.2507.34; Wed, 15 Nov 2023 18:50:01 -0800 X-Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Wed, 15 Nov 2023 18:50:01 -0800 X-Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Wed, 15 Nov 2023 18:49:57 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QT4d2/mDYWBqsngo03dnr4ukAPVb6HwSGwfOrvRz1EDf1DWw1rJsDGaXqpU2rI7FVFlGH8DRGbtR4qMV/yV8tnulIfz8AC4fIwwUo5QrPlns+w+tTMG++IslwLZ6HW3myg1rpkWseaNWLhaQ1oWgapKQg3bKUK7VE9a+iYtrNlEeq2SbXlSjNBtrqOGs9E396YmKdbNymOfcMM5VAZMrjOSG5V/bMrSqoRtPMFZlXjm7OgSRYro+t+767rkVEHftwz/7BvM58Vx3Zsi6DRrovXngua/0Kb61PPZkL0pTKHb+483eEVPneRExbw2RrZfZrDK1BRvVnDxqc9y2xZFUUg== 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=854VMIyJdfrFgUu54+8/KWpt4IsW1gtx4X75xLe6Bv0=; b=cU8GUOOS6NEU0Rd4LIeiK2p1r8PafcigQU2meOG5xO0GRSAczDfegbc7vujCSm0ryu3Cvor93VDfos88IVb6jZTJ31YJ4fzXpJ6hZdf4/iq86aFxQfT6wYq/rz7e8UBaBQLpX37H6pSDuHiqlaawopei8Ek/dg6qMPjW/NFsez4Y2p58fR7eZDcsTvK7SA8wJPykTV7UwBDyAoqbVB7yRnWV9lyTGZfjLccu+2dw7urLAlIPTYLchaz9xAGWg7j6bvRCV/6H5T5AWBqjsTuph/oUtvztliZQLOTcZJ/pTEWL17ED08ecBHGJAjM8M1UURRhjU6tw/YXwNy0xO8FjKA== 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 MW6PR11MB8437.namprd11.prod.outlook.com (2603:10b6:303:249::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.34; Thu, 16 Nov 2023 02:49:50 +0000 X-Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ac67:8c2e:235d:db4f]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ac67:8c2e:235d:db4f%4]) with mapi id 15.20.7002.015; Thu, 16 Nov 2023 02:49:50 +0000 From: "Michael D Kinney" To: "Chen, Tina" , "devel@edk2.groups.io" CC: "Ni, Ray" , "Chen, Xiao X" , "Chen, Arthur G" , "Gao, Liming" , "Liu, Zhiguang" , "Sean Brogan" , "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH v4 1/1] MdePkg:Add NVME Sanitize command support to Nvme.h Thread-Topic: [PATCH v4 1/1] MdePkg:Add NVME Sanitize command support to Nvme.h Thread-Index: AQHaEuGQ21vgnf8zXkyjuvlF7v/KnLB8ST5Q Date: Thu, 16 Nov 2023 02:49:50 +0000 Message-ID: References: <20231109075112.549-1-tina.chen@intel.com> In-Reply-To: <20231109075112.549-1-tina.chen@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|MW6PR11MB8437:EE_ x-ms-office365-filtering-correlation-id: d781e521-158a-4e73-926d-08dbe64eb3e6 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: jyWfTTAVN8GN+EZmxlBbdvKTQiCRzKHet+zNHVvIp5MCeygo1qUQbo4HaxmI5iROgikQXypZNJ/WVpmWonuoU9m5CiCn7x4icnMgEDxP82xW9oSTJoXfDD0omG/iXDJQQCsAOYqUus8y7KxlzaYTOF/SUQ1bpBFLuIMDpNXXtmfjNp695IpZvs7yu07PPh01/gSMgpiQcOCW7540+2CPygPsG+ovHORj8O7LgUo+nBCcCgFfAZKG29BRIxOxG5TaG49Q+XzIDwWyabyEL7N0PIzoL6jKwtZCsXJgobvpxMo8ivkv5THodPmZ0gwTDsa+5uRibXXsJTTDQG5zeVv/wE2SnS8FD5X1/BBoNykX2gN40qbfMJiSzGhlaaaWTKf0Krj1M422HgIG71Ja2IA70jlYLGzUd6dftSKono4I2NfR1NbvkyiWX0IgpwOlsYJsZd6yjB+Bh13LCTDmwt5hs38LrQmFzmk3FnvJN0GejgwFaBp+3o/aESf55iZmFK3bM6q0+AJ/h6gveP+tbAw190t7lEgaAggD8lk/iCL2aqqpN1jHLsxoQtsULpBXlhQlyd0CTYdUJ9yisZ9VLFIwLsusnkK3UaRJjEoHpiHkvrM= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MjNIeS9QQ09nWXNNYm9teEhyVU02U3pQV2d3UkRvb3k5NWFPWnRyZVpSRzBS?= =?utf-8?B?cWFxUlo1aTYzT1NESGc0N0pvVFVNcGEyR3VFUW4veHdSeGFhanZ5RmxUcGxW?= =?utf-8?B?UmdoZ2Z3eDZrd3JPbUtxZVNrM2lzM0hKbktWbDNNaHBTczRIckFFVVB4L3ZS?= =?utf-8?B?V29nc3NwM2tRL1JCNklXZWU5VkpRNGVmTDlHczdkb25wdGpFYXNRWm9RTDYw?= =?utf-8?B?LzlXa2xSQ0hySmhwQzB3dnY4RGcrRjJ2c1pzWS93YVpHNTljWU9ZQ1FRdFBj?= =?utf-8?B?SUt4N2lwQ01iNDBrZTVHbFY3YnU5NUpkY3ExQTdiT1p1Vi9aZjZaQkZuVm84?= =?utf-8?B?SkVPa1JrMTN3aUZ2S3BMTXBYbVpXL2MrK2hXbW1MbnBzOHNPL2VNL25ZMHpD?= =?utf-8?B?VHJoZlpGNFR5K2txTzVyeFZ5MGdPcWFoNE8zYVZnRWI4aHRHdUJtOXZhVjY3?= =?utf-8?B?SCtKUjRyRkJ0dEtieDU3K0cvRlVTS1JnQzZrQU5xOEdJMWFJQm5XQ2ViM3BD?= =?utf-8?B?ZjB6UCtlbDBRZE11WFpZZ3ZzclFFbHNFNnJlVWFsWmcycDFvOVgrZU9UVEFL?= =?utf-8?B?ZjBKUUtBazN5dTE4bDV6WStGbXBSUVJjcW1PRVRqYU4xb0o4VWFTN3BHakUw?= =?utf-8?B?dzdpbk5oQm5XZEVFOEQ3R05Ma1FRT09HbG05alFQYjVJRGRvc3JYT0RxdkFr?= =?utf-8?B?UEh0WFYvRTFzOWJ6eExKOHozTGovbVo4VDFUcGNhWHluVU53dUh4TEhveWRm?= =?utf-8?B?UCtBalBLdG5QUTdUeEZhNkR4SHB0R1lnODNNM3RTbFJLLzFKVlZ3TFVYYzdM?= =?utf-8?B?UCtGUjhMSUlaamN0RDcvcE41L2dUdGpSTkc0aUlqYVpHcEdpbkJwamJubldI?= =?utf-8?B?YjFvR3JGU3gyalM4Y2lhdVh0aHhETFBZdEZYL0VqWmxnRHBjamlTU3htS2x6?= =?utf-8?B?OFpNVGs2RHcyRERpNnVHZ2g0eVpQMGIwNjlWYXBiNFRtVGttKzk5OVhib2Fn?= =?utf-8?B?eWI0eXkyZ3d1bS9rcTBWcUViVVFOM0U3M2wzTFVsSEYwQ2ZNNWp2SVVHU0cy?= =?utf-8?B?ZzlTZ0ZyMk4vbU5CYlZ4Njg1aUw5RU1XMWkyNzZUdStSVDNvWWZXRFZMdDZF?= =?utf-8?B?Mk9QVDhZN01vbml3MEhXT2p3aDBSRTdnaStuck5yRDYxUXU2dkNuTEQzUFYr?= =?utf-8?B?U3J0VDdZcGNzRXhnZzUramxKYlFTdWFPeWlUOWpUR0pyOHhKN3hxaU5yeUFt?= =?utf-8?B?bGcyVnlTM24vMGs1TC9tLzhKMkc0cEY4QjdlTXcxMWZ0SXJrTUxNYUpLM2x1?= =?utf-8?B?eHcwN1lnbkFDLzRobWZpYVNWcEZhcUlMcXlZbXNVUGsycCt6Umsrc1I5VFZs?= =?utf-8?B?elZ5dDlCU2tTVnNvQXZNSUI2Y2V0b3lYdlFGQTdMRENzZTdWSUZCVWxTbkNJ?= =?utf-8?B?MDVxN3dZMi9IMHo4dmx0Ni9aK3Jrem5FaXc4eXhocEE2cnRGaml3MERpZWlC?= =?utf-8?B?RGRibnlCbE0vK3dvTllTYWtHVkFia2Y2dThZd1AvUnBvdlY0blUzaG8vVWNv?= =?utf-8?B?NlQ1SllOekR6OS9SN1V4YmVjcXNYdmZVL2R1dDl6aEtVQnFTZVVDRTBpbWxL?= =?utf-8?B?THdONHBBeFl0dG9FUTRkVGhCT0JQalkyUVFJV2dzZEhLaysyMzd1K2UrR3FC?= =?utf-8?B?VjZXTnRTUllOK3c2NDM4VDZrRHVlcDRYKytYRGNSSFRHeEt0MmhjM1dSQ0d0?= =?utf-8?B?ZU5qek8zQmZMWGhDRldsT05DQ0hNQUZPYkp5ZTV3cGhVN00yK2RuS1k3NnpY?= =?utf-8?B?VWc0OFoveVpKM2d2V04vMEt6TUNTL2dkdWxLSVljbUcvN3A5dEVQT3Y0T01o?= =?utf-8?B?RDVjVXUyK3RhRGxoZHBrYmFsNWFjZHlIUWZXK1RidDFhSjFWWU1RMTVoZU90?= =?utf-8?B?QUprbmQwQkNvUzdXRlVaM1R5dEdiajZzOGFVNkRYam1yYStxSHk4alJTNGJE?= =?utf-8?B?b1llRVg5SE5Icm9MTXF5RDZRYnQvYlA0UUxDWUFLSnVaZDVzTitlMWFEb1Nk?= =?utf-8?B?blVNZ3hLSUdObk9jU3d1d3dicVFpdHhhRGhoeWJzbjE0VGg2UW5VN05rcm5N?= =?utf-8?Q?asYjrWgjTdLdlKGAjQ6LFEWdc?= 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: d781e521-158a-4e73-926d-08dbe64eb3e6 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2023 02:49:50.2831 (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: 7pJtm3YUXgABlZzY56q5C1OJ8lGPBzuxC1fwluTtzg7GmjBy7m4NeE4JyV0/k4X0TUMBEWJsiWoaPfZi+jAg3vC+/bPUR+ieRixWBc8grBo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR11MB8437 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: jp9jz5nk7QnpPwy0t6JAG1usx7686176AA= 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=FgSz4XLA; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IENoZW4sIFRpbmEgPHRp bmEuY2hlbkBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgOCwgMjAyMyAx MTo1MSBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IENoZW4sIFRpbmEgPHRp bmEuY2hlbkBpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gQ2hlbiwg WGlhbyBYIDx4aWFvLnguY2hlbkBpbnRlbC5jb20+OyBDaGVuLCBBcnRodXIgRw0KPiA8YXJ0aHVy LmcuY2hlbkBpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNu PjsNCj4gTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47IFNlYW4gQnJvZ2Fu DQo+IDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjQgMS8xXSBNZGVQ a2c6QWRkIE5WTUUgU2FuaXRpemUgY29tbWFuZCBzdXBwb3J0IHRvDQo+IE52bWUuaA0KPiANCj4g UkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ1OTEN Cj4gDQo+IDEuIFJlZmVyIE5WTUUgc3BlYyAyLjBjIGNoYXB0ZXIgNS4yNCwgYWRkIFNhbml0aXpl IENvbW1hbmQgcmVsYXRlZA0KPiBkZWZpbml0aW9uLg0KPiAyLiBSZWZlciBOVk1FIHNwZWMgMi4w YyBjaGFwdGVyIDUuMTYsIGFkZCBHZXQgTG9nIFBhZ2UgQ29tbWFuZCByZWxhdGVkDQo+IGRlZmlu aXRpb24gZm9yIFNhbml0aXplIHN0YXR1cyBzdXBwb3J0Lg0KPiANCj4gQ2M6IFJheSBOaSA8cmF5 Lm5pQGludGVsLmNvbT4NCj4gQ2M6IFhpYW8gWCBDaGVuIDx4aWFvLnguY2hlbkBpbnRlbC5jb20+ DQo+IENjOiBBcnRodXIgQ2hlbiA8YXJ0aHVyLmcuY2hlbkBpbnRlbC5jb20+DQo+IENjOiBMaW1p bmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+IENjOiBaaGlndWFuZyBMaXUgPHpo aWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+IENjOiBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWlj cm9zb2Z0LmNvbT4NCj4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBUaW5hIENoZW4gPHRpbmEuY2hlbkBpbnRlbC5jb20+ DQo+IC0tLQ0KPiAgTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9Odm1lLmggfCAxMjEg KysrKysrKysrKysrKysrKysrLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygr KSwgMTEgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvSW5k dXN0cnlTdGFuZGFyZC9Odm1lLmgNCj4gYi9NZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJk L052bWUuaA0KPiBpbmRleCA4YjhhMWJiN2YzLi42N2YyMTk2YmM3IDEwMDY0NA0KPiAtLS0gYS9N ZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL052bWUuaA0KPiArKysgYi9NZGVQa2cvSW5j bHVkZS9JbmR1c3RyeVN0YW5kYXJkL052bWUuaA0KPiBAQCAtMSw1ICsxLDUgQEANCj4gIC8qKiBA ZmlsZQ0KPiANCj4gLSAgRGVmaW5pdGlvbnMgYmFzZWQgb24gTlZNZSBzcGVjLiB2ZXJzaW9uIDEu MS4NCj4gDQo+ICsgIERlZmluaXRpb25zIGJhc2VkIG9uIE5WTWUgc3BlYy4gdmVyc2lvbiAyLjBj Lg0KPiANCj4gDQo+IA0KPiAgICAoQykgQ29weXJpZ2h0IDIwMTYgSGV3bGV0dCBQYWNrYXJkIEVu dGVycHJpc2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQo+IA0KPiAgICBDb3B5cmlnaHQgKGMpIDIwMTcg LSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiByZXNlcnZlZC48QlI+DQo+ IA0KPiBAQCAtOSw2ICs5LDcgQEANCj4gICAgTlZNZSBTcGVjaWZpY2F0aW9uIDEuMQ0KPiANCj4g ICAgTlZNZSBTcGVjaWZpY2F0aW9uIDEuNA0KPiANCj4gICAgTlZNZSBTcGVjaWZpY2F0aW9uIDIu MA0KPiANCj4gKyAgTlZNZSBTcGVjaWZpY2F0aW9uIDIuMGMNCj4gDQo+IA0KPiANCj4gICoqLw0K PiANCj4gDQo+IA0KPiBAQCAtMzU0LDYgKzM1NSwxNSBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ICAg IFVJTlQ4ICAgICBSc3ZkN1sxNl07ICAgICAgLyogUmVzZXJ2ZWQgYXMgb2YgTnZtIEV4cHJlc3Mg MS4xIFNwZWMgKi8NCj4gDQo+ICB9IE5WTUVfUFNERVNDUklQVE9SOw0KPiANCj4gDQo+IA0KPiAr dHlwZWRlZiBzdHJ1Y3Qgew0KPiANCj4gKyAgVUlOVDMyICAgIENlcyAgICAgOiAxOyAgICAvKiBD cnlwdG8gRXJhc2UgU3VwcG9ydGVkICovDQo+IA0KPiArICBVSU5UMzIgICAgQmVzICAgICA6IDE7 ICAgIC8qIEJsb2NrIEVyYXNlIFN1cHBvcnRlZCAqLw0KPiANCj4gKyAgVUlOVDMyICAgIE93cyAg ICAgOiAxOyAgICAvKiBPdmVyd3JpdGUgU3VwcG9ydGVkICovDQo+IA0KPiArICBVSU5UMzIgICAg UnN2ZDEgICA6IDI2OyAgIC8qIFJlc2VydmVkIGFzIG9mIE5WTSBFeHByZXNzIDIuMGMgU3BlYw0K PiAqLw0KPiANCj4gKyAgVUlOVDMyICAgIE5kaSAgICAgOiAxOyAgICAvKiBOby1EZWFsbG9jYXRl IEluaGliaXRlZCAqLw0KPiANCj4gKyAgVUlOVDMyICAgIE5vZG1tYXMgOiAyOyAgICAvKiBOby1E ZWFsbG9jYXRlIE1vZGlmaWVzIE1lZGlhIEFmdGVyDQo+IFNhbml0aXplICovDQo+IA0KPiArfSBO Vk1FX1NBTklDQVA7DQo+IA0KPiArDQo+IA0KPiAgLy8NCj4gDQo+ICAvLyAgSWRlbnRpZnkgQ29u dHJvbGxlciBEYXRhDQo+IA0KPiAgLy8NCj4gDQo+IEBAIC00MDMsNyArNDEzLDEyIEBAIHR5cGVk ZWYgc3RydWN0IHsNCj4gICAgVUlOVDE2ICAgICAgICAgICAgICAgRWRzdHQ7ICAgICAgIC8qIEV4 dGVuZGVkIERldmljZSBTZWxmLXRlc3QgVGltZQ0KPiAqLw0KPiANCj4gICAgVUlOVDggICAgICAg ICAgICAgICAgRHN0bzsgICAgICAgIC8qIERldmljZSBTZWxmLXRlc3QgT3B0aW9ucyAgKi8NCj4g DQo+ICAgIFVJTlQ4ICAgICAgICAgICAgICAgIEZ3dWc7ICAgICAgICAvKiBGaXJtd2FyZSBVcGRh dGUgR3JhbnVsYXJpdHkgKi8NCj4gDQo+IC0gIFVJTlQ4ICAgICAgICAgICAgICAgIFJzdmQyWzE5 Ml07ICAvKiBSZXNlcnZlZCBhcyBvZiBOdm0gRXhwcmVzcyAxLjQNCj4gU3BlYyAqLw0KPiANCj4g KyAgVUlOVDE2ICAgICAgICAgICAgICAgS2FzOyAgICAgICAgIC8qIEtlZXAgQWxpdmUgU3VwcG9y dCAqLw0KPiANCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgSGN0bWE7ICAgICAgIC8qIEhvc3Qg Q29udHJvbGxlZCBUaGVybWFsDQo+IE1hbmFnZW1lbnQgQXR0cmlidXRlcyAqLw0KPiANCj4gKyAg VUlOVDE2ICAgICAgICAgICAgICAgTW50bXQ7ICAgICAgIC8qIE1pbmltdW0gVGhlcm1hbCBNYW5h Z2VtZW50DQo+IFRlbXBlcmF0dXJlICovDQo+IA0KPiArICBVSU5UMTYgICAgICAgICAgICAgICBN eHRtdDsgICAgICAgLyogTWF4aW11bSBUaGVybWFsIE1hbmFnZW1lbnQNCj4gVGVtcGVyYXR1cmUg Ki8NCj4gDQo+ICsgIE5WTUVfU0FOSUNBUCAgICAgICAgIFNhbmljYXA7ICAgICAvKiBTYW5pdGl6 ZSBDYXBhYmlsaXRpZXMgKi8NCj4gDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgIFJzdmQyWzE4 MF07ICAvKiBSZXNlcnZlZCBhcyBvZiBOdm0gRXhwcmVzcyAxLjQNCj4gU3BlYyAqLw0KPiANCj4g ICAgLy8NCj4gDQo+ICAgIC8vIE5WTSBDb21tYW5kIFNldCBBdHRyaWJ1dGVzDQo+IA0KPiAgICAv Lw0KPiANCj4gQEAgLTY4NywxMCArNzAyLDExIEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gICAgLy8g Q0RXIDEwDQo+IA0KPiAgICAvLw0KPiANCj4gICAgVUlOVDMyICAgIExpZCAgIDogODsgICAgICAg IC8qIExvZyBQYWdlIElkZW50aWZpZXIgKi8NCj4gDQo+IC0gICNkZWZpbmUgTElEX0VSUk9SX0lO Rk8gICAgMHgxDQo+IA0KPiAtICAjZGVmaW5lIExJRF9TTUFSVF9JTkZPICAgIDB4Mg0KPiANCj4g LSAgI2RlZmluZSBMSURfRldfU0xPVF9JTkZPICAweDMNCj4gDQo+IC0gICNkZWZpbmUgTElEX0JQ X0lORk8gICAgICAgMHgxNQ0KPiANCj4gKyAgI2RlZmluZSBMSURfRVJST1JfSU5GTyAgICAgICAg ICAgIDB4MQ0KPiANCj4gKyAgI2RlZmluZSBMSURfU01BUlRfSU5GTyAgICAgICAgICAgIDB4Mg0K PiANCj4gKyAgI2RlZmluZSBMSURfRldfU0xPVF9JTkZPICAgICAgICAgIDB4Mw0KPiANCj4gKyAg I2RlZmluZSBMSURfQlBfSU5GTyAgICAgICAgICAgICAgIDB4MTUNCj4gDQo+ICsgICNkZWZpbmUg TElEX1NBTklUSVpFX1NUQVRVU19JTkZPICAweDgxDQo+IA0KPiAgICBVSU5UMzIgICAgUnN2ZDEg OiA4Ow0KPiANCj4gICAgVUlOVDMyICAgIE51bWQgIDogMTI7ICAgICAgIC8qIE51bWJlciBvZiBE d29yZHMgKi8NCj4gDQo+ICAgIFVJTlQzMiAgICBSc3ZkMiA6IDQ7ICAgICAgICAvKiBSZXNlcnZl ZCBhcyBvZiBOdm0gRXhwcmVzcyAxLjEgU3BlYw0KPiAqLw0KPiANCj4gQEAgLTcwOCw2ICs3MjQs MzEgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiAgICBVSU5UMzIgICAgU3YgICAgOiAxOyAgICAgICAg LyogU2F2ZSAqLw0KPiANCj4gIH0gTlZNRV9BRE1JTl9TRVRfRkVBVFVSRVM7DQo+IA0KPiANCj4g DQo+ICsvLw0KPiANCj4gKy8vIE52bUV4cHJlc3MgQWRtaW4gU2FuaXRpemUgQ29tbWFuZA0KPiAN Cj4gKy8vDQo+IA0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIC8v IENEVyAxMA0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIFVJTlQzMiAgICBTYW5hY3QgOiAzOyAgICAg ICAvKiBTYW5pdGl6ZSBBY3Rpb24gKi8NCj4gDQo+ICsgIFVJTlQzMiAgICBBdXNlICAgOiAxOyAg ICAgICAvKiBBbGxvdyBVbnJlc3RyaWN0ZWQgU2FuaXRpemUgRXhpdCAqLw0KPiANCj4gKyAgVUlO VDMyICAgIE93cGFzcyA6IDQ7ICAgICAgIC8qIE92ZXJ3cml0ZSBQYXNzIENvdW50ICovDQo+IA0K PiArICBVSU5UMzIgICAgT2lwYnAgIDogMTsgICAgICAgLyogT3ZlcndyaXRlIEludmVydCBQYXR0 ZXJuIEJldHdlZW4NCj4gUGFzc2VzICovDQo+IA0KPiArICBVSU5UMzIgICAgTm9kYXMgIDogMTsg ICAgICAgLyogTm8tRGVhbGxvY2F0ZSBBZnRlciBTYW5pdGl6ZSAqLw0KPiANCj4gKyAgVUlOVDMy ICAgIFJzdmQxICA6IDIyOw0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIC8vIENEVyAxMQ0KPiANCj4g KyAgLy8NCj4gDQo+ICsgIFVJTlQzMiAgICBPdnJwYXQ7ICAgICAgICAgICAvKiBPdmVyd3JpdGUg UGF0dGVybiAqLw0KPiANCj4gK30gTlZNRV9BRE1JTl9TQU5JVElaRTsNCj4gDQo+ICsNCj4gDQo+ ICsjZGVmaW5lIFNBTklUSVpFX0FDVElPTl9OT19BQ1RJT04gICAgICAgICAgMHgwDQo+IA0KPiAr I2RlZmluZSBTQU5JVElaRV9BQ1RJT05fRVhJVF9GQUlMVVJFX01PREUgIDB4MQ0KPiANCj4gKyNk ZWZpbmUgU0FOSVRJWkVfQUNUSU9OX0JMT0NLX0VSQVNFICAgICAgICAweDINCj4gDQo+ICsjZGVm aW5lIFNBTklUSVpFX0FDVElPTl9PVkVSV1JJVEUgICAgICAgICAgMHgzDQo+IA0KPiArI2RlZmlu ZSBTQU5JVElaRV9BQ1RJT05fQ1JZUFRPX0VSQVNFICAgICAgIDB4NA0KPiANCj4gKw0KPiANCj4g IC8vDQo+IA0KPiAgLy8gTnZtRXhwcmVzcyBBZG1pbiBGb3JtYXQgTlZNIENvbW1hbmQNCj4gDQo+ ICAvLw0KPiANCj4gQEAgLTc3MCw2ICs4MTEsNyBAQCB0eXBlZGVmIHVuaW9uIHsNCj4gICAgTlZN RV9BRE1JTl9GT1JNQVRfTlZNICAgICAgICAgICAgICAgICBGb3JtYXROdm07DQo+IA0KPiAgICBO Vk1FX0FETUlOX1NFQ1VSSVRZX1JFQ0VJVkUgICAgICAgICAgIFNlY3VyaXR5UmVjZWl2ZTsNCj4g DQo+ICAgIE5WTUVfQURNSU5fU0VDVVJJVFlfU0VORCAgICAgICAgICAgICAgU2VjdXJpdHlTZW5k Ow0KPiANCj4gKyAgTlZNRV9BRE1JTl9TQU5JVElaRSAgICAgICAgICAgICAgICAgICBTYW5pdGl6 ZTsNCj4gDQo+ICB9IE5WTUVfQURNSU5fQ01EOw0KPiANCj4gDQo+IA0KPiAgdHlwZWRlZiBzdHJ1 Y3Qgew0KPiANCj4gQEAgLTg3Miw2ICs5MTQsNyBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ICAjZGVm aW5lIE5WTUVfQURNSU5fRk9STUFUX05WTV9DTUQgICAgICAgICAgIDB4ODANCj4gDQo+ICAjZGVm aW5lIE5WTUVfQURNSU5fU0VDVVJJVFlfU0VORF9DTUQgICAgICAgIDB4ODENCj4gDQo+ICAjZGVm aW5lIE5WTUVfQURNSU5fU0VDVVJJVFlfUkVDRUlWRV9DTUQgICAgIDB4ODINCj4gDQo+ICsjZGVm aW5lIE5WTUVfQURNSU5fU0FOSVRJWkVfQ01EICAgICAgICAgICAgIDB4ODQNCj4gDQo+IA0KPiAN Cj4gICNkZWZpbmUgTlZNRV9JT19GTFVTSF9PUEMgIDANCj4gDQo+ICAjZGVmaW5lIE5WTUVfSU9f V1JJVEVfT1BDICAxDQo+IA0KPiBAQCAtODk0LDcgKzkzNyw4IEBAIHR5cGVkZWYgZW51bSB7DQo+ ICAgIE5hbWVzcGFjZUF0dGFjaG1lbnRPcGNvZGUgICAgID0gTlZNRV9BRE1JTl9OQU1FU0FDRV9B VFRBQ0hNRU5UX0NNRCwNCj4gDQo+ICAgIEZvcm1hdE52bU9wY29kZSAgICAgICAgICAgICAgID0g TlZNRV9BRE1JTl9GT1JNQVRfTlZNX0NNRCwNCj4gDQo+ICAgIFNlY3VyaXR5U2VuZE9wY29kZSAg ICAgICAgICAgID0gTlZNRV9BRE1JTl9TRUNVUklUWV9TRU5EX0NNRCwNCj4gDQo+IC0gIFNlY3Vy aXR5UmVjZWl2ZU9wY29kZSAgICAgICAgID0gTlZNRV9BRE1JTl9TRUNVUklUWV9SRUNFSVZFX0NN RA0KPiANCj4gKyAgU2VjdXJpdHlSZWNlaXZlT3Bjb2RlICAgICAgICAgPSBOVk1FX0FETUlOX1NF Q1VSSVRZX1JFQ0VJVkVfQ01ELA0KPiANCj4gKyAgU2FuaXRpemVPcGNvZGUgICAgICAgICAgICAg ICAgPSBOVk1FX0FETUlOX1NBTklUSVpFX0NNRA0KPiANCj4gIH0gTlZNRV9BRE1JTl9DT01NQU5E X09QQ09ERTsNCj4gDQo+IA0KPiANCj4gIC8vDQo+IA0KPiBAQCAtOTM0LDEyICs5NzgsMTQgQEAg dHlwZWRlZiBlbnVtIHsNCj4gDQo+IA0KPiAgLy8NCj4gDQo+ICAvLyBHZXQgTG9nIFBhZ2UgPyBM b2cgUGFnZSBJZGVudGlmaWVycw0KPiANCj4gLS8vIChyZWYuIHNwZWMuIHYxLjEgRmlndXJlIDcz KS4NCj4gDQo+ICsvLyAocmVmLiBzcGVjLiB2Mi4wYyBGaWd1cmUgMjAyKS4NCj4gDQo+ICAvLw0K PiANCj4gIHR5cGVkZWYgZW51bSB7DQo+IA0KPiAtICBFcnJvckluZm9Mb2dJRCAgICAgICAgPSBM SURfRVJST1JfSU5GTywNCj4gDQo+IC0gIFNtYXJ0SGVhbHRoSW5mb0xvZ0lEICA9IExJRF9TTUFS VF9JTkZPLA0KPiANCj4gLSAgRmlybXdhcmVTbG90SW5mb0xvZ0lEID0gTElEX0ZXX1NMT1RfSU5G Tw0KPiANCj4gKyAgRXJyb3JJbmZvTG9nSUQgICAgICAgICAgPSBMSURfRVJST1JfSU5GTywNCj4g DQo+ICsgIFNtYXJ0SGVhbHRoSW5mb0xvZ0lEICAgID0gTElEX1NNQVJUX0lORk8sDQo+IA0KPiAr ICBGaXJtd2FyZVNsb3RJbmZvTG9nSUQgICA9IExJRF9GV19TTE9UX0lORk8sDQo+IA0KPiArICBC b290UGFydGl0aW9uSW5mb0xvZ0lEICA9IExJRF9CUF9JTkZPLA0KPiANCj4gKyAgU2FuaXRpemVT dGF0dXNJbmZvTG9nSUQgPSBMSURfU0FOSVRJWkVfU1RBVFVTX0lORk8NCj4gDQo+ICB9IE5WTUVf TE9HX0lEOw0KPiANCj4gDQo+IA0KPiAgLy8NCj4gDQo+IEBAIC0xMDYyLDYgKzExMDgsNTkgQEAg dHlwZWRlZiBzdHJ1Y3Qgew0KPiAgICBVSU5UOCAgICAgUmVzZXJ2ZWQyWzI5Nl07DQo+IA0KPiAg fSBOVk1FX1NNQVJUX0hFQUxUSF9JTkZPX0xPRzsNCj4gDQo+IA0KPiANCj4gKy8vDQo+IA0KPiAr Ly8gU2FuaXRpemUgU3RhdHVzIChMb2cgSWRlbnRpZmllciA4MWgpDQo+IA0KPiArLy8gKHJlZi4g c3BlYy4gdjIuMGMgNS4xNi4xLjI1KS4NCj4gDQo+ICsvLw0KPiANCj4gK3R5cGVkZWYgc3RydWN0 IHsNCj4gDQo+ICsgIC8vDQo+IA0KPiArICAvLyBJbmRpY2F0ZXMgdGhlIGZyYWN0aW9uIGNvbXBs ZXRlIG9mIHRoZSBzYW5pdGl6ZSBvcGVyYXRpb24uDQo+IChTUFJPRykNCj4gDQo+ICsgIC8vDQo+ IA0KPiArICBVSU5UMTYgICAgU2FuaXRpemVQcm9ncmVzczsNCj4gDQo+ICsgIC8vDQo+IA0KPiAr ICAvLyBJbmRpY2F0ZXMgdGhlIHN0YXR1cyBhc3NvY2lhdGVkIHdpdGggdGhlIG1vc3QgcmVjZW50 IHNhbml0aXplDQo+IG9wZXJhdGlvbi4gKFNTVEFUKQ0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIFVJ TlQxNiAgICBTYW5pdGl6ZVN0YXR1cyAgICAgICAgICAgICAgICAgICA6IDM7DQo+IA0KPiArICBV SU5UMTYgICAgT3ZlcndyaXRlU2FuaXRpemVDb21wbGV0ZWROdW1iZXIgOiA1Ow0KPiANCj4gKyAg VUlOVDE2ICAgIEdsb2JhbERhdGFFcmFzZWQgICAgICAgICAgICAgICAgIDogMTsNCj4gDQo+ICsg IFVJTlQxNiAgICBTYW5pdGl6ZVN0YXR1c1JzdmQgICAgICAgICAgICAgICA6IDc7DQo+IA0KPiAr ICAvLw0KPiANCj4gKyAgLy8gQ29udGFpbnMgdGhlIHZhbHVlIG9mIHRoZSBDb21tYW5kIER3b3Jk IDEwIGZpZWxkIG9mIHRoZSBTYW5pdGl6ZQ0KPiBjb21tYW5kIHRoYXQgc3RhcnRlZCB0aGUgc2Fu aXRpemUgb3BlcmF0aW9uIHdob3NlIHN0YXR1cyBpcyByZXBvcnRlZA0KPiBpbiB0aGUgU1NUQVQg ZmllbGQuIChTQ0RXMTApDQo+IA0KPiArICAvLw0KPiANCj4gKyAgVUlOVDMyICAgIFNhbml0aXpl Q21kRHcxMEluZm87DQo+IA0KPiArICAvLw0KPiANCj4gKyAgLy8gSW5kaWNhdGVzIHRoZSBudW1i ZXIgb2Ygc2Vjb25kcyByZXF1aXJlZCB0byBjb21wbGV0ZSBhbg0KPiBPdmVyd3JpdGUgc2FuaXRp emUgb3BlcmF0aW9uIHdpdGggMTYgcGFzc2VzIGluIHRoZSBiYWNrZ3JvdW5kIHdoZW4gdGhlDQo+ IE5vLURlYWxsb2NhdGUgTW9kaWZpZXMgTWVkaWEgQWZ0ZXIgU2FuaXRpemUgZmllbGQgaXMgbm90 IHNldCB0byAxMGIuDQo+IA0KPiArICAvLw0KPiANCj4gKyAgVUlOVDMyICAgIE92ZXJ3cml0ZUVz dGltYXRlZFRpbWU7DQo+IA0KPiArICAvLw0KPiANCj4gKyAgLy8gSW5kaWNhdGVzIHRoZSBudW1i ZXIgb2Ygc2Vjb25kcyByZXF1aXJlZCB0byBjb21wbGV0ZSBhIEJsb2NrDQo+IEVyYXNlIHNhbml0 aXplIG9wZXJhdGlvbiBpbiB0aGUgYmFja2dyb3VuZCB3aGVuIHRoZSBOby1EZWFsbG9jYXRlDQo+ IE1vZGlmaWVzIE1lZGlhIEFmdGVyIFNhbml0aXplIGZpZWxkIGlzIG5vdCBzZXQgdG8gMTBiLg0K PiANCj4gKyAgLy8NCj4gDQo+ICsgIFVJTlQzMiAgICBCbG9ja0VyYXNlRXN0aW1hdGVkVGltZTsN Cj4gDQo+ICsgIC8vDQo+IA0KPiArICAvLyBJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBzZWNvbmRz IHJlcXVpcmVkIHRvIGNvbXBsZXRlIGEgQ3J5cHRvDQo+IEVyYXNlIHNhbml0aXplIG9wZXJhdGlv biBpbiB0aGUgYmFja2dyb3VuZCB3aGVuIHRoZSBOby1EZWFsbG9jYXRlDQo+IE1vZGlmaWVzIE1l ZGlhIEFmdGVyIFNhbml0aXplIGZpZWxkIGlzIG5vdCBzZXQgdG8gMTBiLg0KPiANCj4gKyAgLy8N Cj4gDQo+ICsgIFVJTlQzMiAgICBDcnlwdG9FcmFzZUVzdGltYXRlZFRpbWU7DQo+IA0KPiArICAv Lw0KPiANCj4gKyAgLy8gSW5kaWNhdGVzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyByZXF1aXJlZCB0 byBjb21wbGV0ZSBhbg0KPiBPdmVyd3JpdGUgc2FuaXRpemUgb3BlcmF0aW9uIGFuZCB0aGUgYXNz b2NpYXRlZCBhZGRpdGlvbmFsIG1lZGlhDQo+IG1vZGlmaWNhdGlvbiBhZnRlciB0aGUgT3Zlcndy aXRlIHNhbml0aXplIG9wZXJhdGlvbiBpbiB0aGUgYmFja2dyb3VuZC4NCj4gDQo+ICsgIC8vIFRo ZSBOby1EZWFsbG9jYXRlIEFmdGVyIFNhbml0aXplIGJpdCB3YXMgc2V0IHRvIOKAmDHigJkgaW4g dGhlDQo+IFNhbml0aXplIGNvbW1hbmQgdGhhdCByZXF1ZXN0ZWQgdGhlIE92ZXJ3cml0ZSBzYW5p dGl6ZSBvcGVyYXRpb24uDQo+IA0KPiArICAvLyBUaGUgTm8tRGVhbGxvY2F0ZSBNb2RpZmllcyBN ZWRpYSBBZnRlciBTYW5pdGl6ZSBmaWVsZCBpcyBzZXQgdG8NCj4gMTBiLg0KPiANCj4gKyAgLy8N Cj4gDQo+ICsgIFVJTlQzMiAgICBPdmVyd3JpdGVFc3RpbWF0ZWRUaW1lV2l0aE5vZG1tOw0KPiAN Cj4gKyAgLy8NCj4gDQo+ICsgIC8vIEluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgcmVx dWlyZWQgdG8gY29tcGxldGUgYSBCbG9jaw0KPiBFcmFzZSBzYW5pdGl6ZSBvcGVyYXRpb24gYW5k IHRoZSBhc3NvY2lhdGVkIGFkZGl0aW9uYWwgbWVkaWENCj4gbW9kaWZpY2F0aW9uIGFmdGVyIHRo ZSBCbG9jayBFcmFzZSBzYW5pdGl6ZSBvcGVyYXRpb24gaW4gdGhlDQo+IGJhY2tncm91bmQuDQo+ IA0KPiArICAvLyBUaGUgTm8tRGVhbGxvY2F0ZSBBZnRlciBTYW5pdGl6ZSBiaXQgd2FzIHNldCB0 byDigJgx4oCZIGluIHRoZQ0KPiBTYW5pdGl6ZSBjb21tYW5kIHRoYXQgcmVxdWVzdGVkIHRoZSBC bG9jayBFcmFzZSBzYW5pdGl6ZSBvcGVyYXRpb24uDQo+IA0KPiArICAvLyBUaGUgTm8tRGVhbGxv Y2F0ZSBNb2RpZmllcyBNZWRpYSBBZnRlciBTYW5pdGl6ZSBmaWVsZCBpcyBzZXQgdG8NCj4gMTBi Lg0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIFVJTlQzMiAgICBCbG9ja0VyYXNlRXN0aW1hdGVkVGlt ZVdpdGhOb2RtbTsNCj4gDQo+ICsgIC8vDQo+IA0KPiArICAvLyBJbmRpY2F0ZXMgIHRoZSBudW1i ZXIgb2Ygc2Vjb25kcyByZXF1aXJlZCB0byBjb21wbGV0ZSBhIENyeXB0bw0KPiBFcmFzZSBzYW5p dGl6ZSBvcGVyYXRpb24gYW5kIHRoZSBhc3NvY2lhdGVkIGFkZGl0aW9uYWwgbWVkaWENCj4gbW9k aWZpY2F0aW9uIGFmdGVyIHRoZSBDcnlwdG8gRXJhc2Ugc2FuaXRpemUgb3BlcmF0aW9uIGluIHRo ZQ0KPiBiYWNrZ3JvdW5kLg0KPiANCj4gKyAgLy8gVGhlIE5vLURlYWxsb2NhdGUgQWZ0ZXIgU2Fu aXRpemUgYml0IHdhcyBzZXQgdG8g4oCYMeKAmSBpbiB0aGUNCj4gU2FuaXRpemUgY29tbWFuZCB0 aGF0IHJlcXVlc3RlZCB0aGUgQ3J5cHRvIEVyYXNlIHNhbml0aXplIG9wZXJhdGlvbi4NCj4gDQo+ ICsgIC8vIFRoZSBOby1EZWFsbG9jYXRlIE1vZGlmaWVzIE1lZGlhIEFmdGVyIFNhbml0aXplIGZp ZWxkIGlzIHNldCB0bw0KPiAxMGIuDQo+IA0KPiArICAvLw0KPiANCj4gKyAgVUlOVDMyICAgIENy eXB0b0VyYXNlRXN0aW1hdGVkVGltZVdpdGhOb2RtbTsNCj4gDQo+ICsgIFVJTlQ4ICAgICBSZXNl cnZlZFs0ODBdOw0KPiANCj4gK30gTlZNRV9TQU5JVElaRV9TVEFUVVNfSU5GT19MT0c7DQo+IA0K PiArDQo+IA0KPiAgI3ByYWdtYSBwYWNrKCkNCj4gDQo+IA0KPiANCj4gICNlbmRpZg0KPiANCj4g LS0NCj4gMi40Mi4wLndpbmRvd3MuMg0KDQoNCgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91 cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAu ClZpZXcvUmVwbHkgT25saW5lICgjMTExMzAxKTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvMTExMzAxCk11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQv MTAyNDgxNjM5Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlv ClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbGVhdmUvMTIzNjcx MTEvNzY4NjE3Ni8xOTEzNDU2MjEyL3h5enp5IFtyZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09LT0t PS09LT0tPS09LT0tPS0KCg0K