From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0CE4AA04F1; Thu, 18 Jun 2020 17:51:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D59421BF8B; Thu, 18 Jun 2020 17:51:06 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 709011BF84 for ; Thu, 18 Jun 2020 17:51:05 +0200 (CEST) IronPort-SDR: IlPRWRPCVV/Uw8Oud+ug/9cVfZ3aklk3+NnLdpP0kebpIUnBcEUNPLaGMQKShZVbQcqhH6OXRP nMWsMu8DFhVg== X-IronPort-AV: E=McAfee;i="6000,8403,9656"; a="122855472" X-IronPort-AV: E=Sophos;i="5.75,251,1589266800"; d="scan'208";a="122855472" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2020 08:51:04 -0700 IronPort-SDR: sZvNb2uIuXJl+FxVxnR6kB5Rn40/oDYtt96JePNeSxOp/13MRLj3ohQT6207neLWcj2L9JzP5I Qsauo/UCgq3g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,251,1589266800"; d="scan'208";a="317860617" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by FMSMGA003.fm.intel.com with ESMTP; 18 Jun 2020 08:51:04 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 18 Jun 2020 08:51:03 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 18 Jun 2020 08:51:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HBjW7Qmc7fFnLotViXWi8/cRz4pwYpVkyatq+Jxbexau2zU13QWifLRdszaq8yiJKR64mxcifMvJ3WVcOnAhAUcLQsQ+zYpoqavYyYVToe/Vrf2EFKc5KVAtAqAcZaE06u+WY94LrkV3mejW2vH17/3nMYtfwIKl6njnJAJgjzuZ3MiwnKRuTmRZmZkkK6WzvgfYmJjkVXoeYBnk0pX5GLLZjYGefEMVDivxO8jsvnKCR0zttCtLAjPGo/FZ11f5mJg31sEz9BYiQEFbMWt+8xZKKzU/1T3dTFKJM/RtzAs+XgZDKVvI/2aldENlGKEK65nWwcuz8+p6Bby4iK5sRw== 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-SenderADCheck; bh=4Qw+DAmdJmvBitLoEyP+XUpfPS0F712h2yQqzZDFltM=; b=IkDJxqE88SMQtcbXPZ7YEMxuayVKsWgZ5K0iK/D4+IioLLeD+xEqFm+PIzLmQpmzGbYYqgZZ71TYL7vQgpQ5S26NBz0qbngzAagHUIxhgYX5e7byENQcI5BV4F/7xWl0V/1HiwRlCSLmiyancw2snl0lmkFgtcbUsO530SSsf8t46OHmNj2Lsfl5ndVu0UkUyADpjIFJKXuxUbeXCaHfqq4H+A5p4AEAnTEUo2XFUdEy13MUpGXo5x8SoU8L2IylgiWzhunxftYEPpkGp8gQ13Gl4oGy3Wv0GceuL0+3/jfyr0Kda5YNMOZfbYVBoJIzMuIWltjqbKCiN73jYlfO3A== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4Qw+DAmdJmvBitLoEyP+XUpfPS0F712h2yQqzZDFltM=; b=c00xaxYajuf+y9t7At2a5R4UrW3fgJMV6wHICpnG7uGMC3tqaaY6jLqH4M84woUiYOTH5C9ViIXfFKeJXxjRJlQ3UwKbPiTu/EilvUzhcjMH49ewgPUBLkYeXPWLgKcxq6qjWHfmrYyXZZkTJQim8sB5U8VIjEVDxCWnuU9iDYs= Received: from SN6PR11MB3103.namprd11.prod.outlook.com (2603:10b6:805:d7::13) by SN6PR11MB3535.namprd11.prod.outlook.com (2603:10b6:805:ce::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Thu, 18 Jun 2020 15:51:00 +0000 Received: from SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::315c:b477:373c:11f3]) by SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::315c:b477:373c:11f3%4]) with mapi id 15.20.3109.021; Thu, 18 Jun 2020 15:51:00 +0000 From: "McDaniel, Timothy" To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , Jerin Jacob CC: Jerin Jacob , dpdk-dev , "Eads, Gage" , "Van Haaren, Harry" , Ray Kinsella , Neil Horman Thread-Topic: [dpdk-dev] [PATCH 01/27] eventdev: dlb upstream prerequisites Thread-Index: AQHWRYhBy8oxBlq9FkutIoXpSnqF0g== Date: Thu, 18 Jun 2020 15:51:00 +0000 Message-ID: References: <20200612212434.6852-1-timothy.mcdaniel@intel.com> <20200612212434.6852-2-timothy.mcdaniel@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.0.600.7 authentication-results: ericsson.com; dkim=none (message not signed) header.d=none;ericsson.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5bdd8b2a-fc5f-490c-3351-08d8139f660c x-ms-traffictypediagnostic: SN6PR11MB3535: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0438F90F17 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yfB62KnMDq7LCLVoWLzCFgJnb/UVNy4Vq1oxJqn8V6Ra1Mj+/6PQ5LsqEZ4MueYbINSsaRJ7t4jS+StQ46uVafqbJ+/OQDH3vAiBAb9qkdz9KQmVQeErdL3bFGYKzZN2VoL8Zio44QqIplVos5VN3ImqgouWRtqhuTJ2f4JBttHKqkTTtwSuhdJ9jFxj7aFin+pOZ2tVdsahaRkF3XYg8div5/Qt64OJAdlRvUsCvKAsWfEdWMcr0xdUg0ODCAxifQJHhH5jxmn2sDTa/6FqHzJOLtpCNWcsNBJu1K+gNMo81DfPDw80xEoX90mTRXLD x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3103.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(39860400002)(396003)(136003)(366004)(346002)(76116006)(66946007)(66476007)(66556008)(64756008)(66446008)(7696005)(26005)(186003)(33656002)(54906003)(83380400001)(316002)(86362001)(66574015)(6506007)(53546011)(8936002)(52536014)(8676002)(110136005)(30864003)(5660300002)(2906002)(4326008)(55016002)(9686003)(71200400001)(478600001)(579004)(559001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: NILR9E+jk9aLYnnrePcOCWVHBOekJbNlwPpehwX+AM/GV464y4vqsPdAuO9MmnL3I+dLGlDVuPFH5Ig0F1W8VjUh6rLSNk4VjXRG8ZzkHg6cxstaSYx1R9yvZD0qnR+WzXK2Icsv2AXJb1K4yt6utjrlG4+P1REqMiKXBETnbmAsny7ml3mj1+oX6C84XXu+Z/TGyIYGR2J9qh78tbn16/4ewE+YJw6vsGwNA6l+G7oc1DuGnujo1BXWY7EBS9fy5zwZZRcMXEG8WMyFNq0P9uvskuhwu1NvidTOJGqlkmDmz6J+L6KNVvukKhhpFVm8Jl3hJGcbIrcQ6dsA12+GziwquMnAAN3dKSWmBS7N0hA4XU26S71a0kMIMUW/YSmPHPNemCICw5b1FnL+uFaM/prXbg8B1vlNPR8BaQ/95NNR8sVmZxTGiGPR2s65Agww3KIeB6K8e77gCXGPKUIb5OdTNILofdhBlbQWOkYicAs= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 5bdd8b2a-fc5f-490c-3351-08d8139f660c X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2020 15:51:00.4409 (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: dKr2ErIIg1fmFpW+A7eWhjMxufC7FkM8HnLlE7ThtI4+Y/5tO+rJBkl5yTEUblAydEiNmhTS59yiLsKxSUxHeW2vRvkuf9+1fbz85iBYR/Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3535 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 01/27] eventdev: dlb upstream prerequisites X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGVsbG8gTWF0dGlhcywNCg0KVGhhbmsgeW91IGZvciB5b3VyIHJldmlldyBjb21tZW50cy4gSSB3 aWxsIGluY29ycG9yYXRlIHRoZSBjaGFuZ2VzIHlvdSBoYXZlIHN1Z2dlc3RlZCBpbiBWMiBvZiB0 aGUgcGF0Y2hzZXQsIHdoaWNoIEkgYW0gY3VycmVudGx5IHdvcmtpbmcgb24uDQoNClRoYW5rcywN ClRpbQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTWF0dGlhcyBSw7ZubmJs b20gPG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPiANClNlbnQ6IFNhdHVyZGF5LCBKdW5l IDEzLCAyMDIwIDU6NDQgQU0NClRvOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29t PjsgTWNEYW5pZWwsIFRpbW90aHkgPHRpbW90aHkubWNkYW5pZWxAaW50ZWwuY29tPg0KQ2M6IEpl cmluIEphY29iIDxqZXJpbmpAbWFydmVsbC5jb20+OyBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsg RWFkcywgR2FnZSA8Z2FnZS5lYWRzQGludGVsLmNvbT47IFZhbiBIYWFyZW4sIEhhcnJ5IDxoYXJy eS52YW4uaGFhcmVuQGludGVsLmNvbT47IFJheSBLaW5zZWxsYSA8bWRyQGFzaHJvZS5ldT47IE5l aWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+DQpTdWJqZWN0OiBSZTogW2RwZGstZGV2 XSBbUEFUQ0ggMDEvMjddIGV2ZW50ZGV2OiBkbGIgdXBzdHJlYW0gcHJlcmVxdWlzaXRlcw0KDQpP biAyMDIwLTA2LTEzIDA1OjU5LCBKZXJpbiBKYWNvYiB3cm90ZToNCj4gT24gU2F0LCBKdW4gMTMs IDIwMjAgYXQgMjo1NiBBTSBNY0RhbmllbCwgVGltb3RoeQ0KPiA8dGltb3RoeS5tY2RhbmllbEBp bnRlbC5jb20+IHdyb3RlOg0KPj4gVGhlIERMQiBoYXJkd2FyZSBkb2VzIG5vdCBjb25mb3JtIGV4 YWN0bHkgdG8gdGhlIGV2ZW50ZGV2IGludGVyZmFjZS4NCj4+IDEpIEl0IGhhcyBhIGxpbWl0IG9u IHRoZSBudW1iZXIgb2YgcXVldWVzIHRoYXQgbWF5IGJlIGxpbmtlZCB0byBhIHBvcnQuDQo+PiAy KSBTb21lIHBvcnRzIGEgZnVydGhlciByZXN0cmljdGVkIHRvIGEgbWF4aW11bSBvZiAxIGxpbmtl ZCBxdWV1ZS4NCj4+IDMpIEl0IGRvZXMgbm90IChjdXJyZW50bHkpIGhhdmUgdGhlIGFiaWxpdHkg dG8gY2FycnkgdGhlIGZsb3dfaWQgYXMgcGFydA0KPj4gb2YgdGhlIGV2ZW50IChRRSkgcGF5bG9h ZC4NCj4+DQo+PiBEdWUgdG8gdGhlIGFib3ZlLCB3ZSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgdGhl IGZvbGxvd2luZyBlbmhhbmNlbWVudHMuDQo+DQo+IFRoYW5rcywgTWNEYW5pZWwsIEdvb2QgdG8g c2VlIG5ldyBIVyBQTUQgZm9yIGV2ZW50ZGV2Lg0KPg0KPiArIFJheSBhbmQgTmVpbC4NCj4NCj4g SGVsbG8gTWNEYW5pZWwsDQo+IEkgYXNzdW1lIHRoaXMgcGF0Y2hzZXQgaXMgZm9yIHYyMC4wOC4g SXQgaXMgYWRkaW5nIG5ldyBlbGVtZW50cyBpbg0KPiBwdWJpYyBzdHJ1Y3R1cmVzLiBIYXZlIHlv dSBjaGVja2VkIHRoZSBBQkkgYnJlYWthZ2U/DQo+DQo+IEkgd2lsbCByZXZpZXcgdGhlIHJlc3Qg b2YgdGhlIHNlcmllcyBpZiB0aGVyZSBpcyBOTyBBQkkgYnJlYWthZ2UgYXMgd2UNCj4gY2FuIG5v dCBoYXZlIHRoZSBBQkkgYnJlYWthZ2UgMjAuMDggdmVyc2lvbi4NCj4NCj4NCj4gQUJJIHZhbGlk YXRvcg0KPiB+fn5+fn5+fn5+fn5+fg0KPiAxLiBtZXNvbiBidWlsZA0KPiAyLiAgQ29tcGlsZSBh bmQgaW5zdGFsbCBrbm93biBzdGFibGUgYWJpIGxpYnMgaS5lIFRvVC4NCj4gICAgICAgICAgIERF U1RESVI9JFBXRC9pbnN0YWxsLW1lc29uLXN0YWJsZSBuaW5qYSAtQyBidWlsZCBpbnN0YWxsDQo+ ICAgICAgIENvbXBpbGUgYW5kIGluc3RhbGwgd2l0aCBwYXRjaGVzIHRvIGJlIHZlcmlmaWVkLg0K PiAgICAgICAgICAgREVTVERJUj0kUFdEL2luc3RhbGwtbWVzb24tbmV3IG5pbmphIC1DIGJ1aWxk IGluc3RhbGwNCj4gMy4gR2VuIEFCSSBmb3IgYm90aA0KPiAgICAgICAgICBkZXZ0b29scy9nZW4t YWJpLnNoIGluc3RhbGwtbWVzb24tc3RhYmxlDQo+ICAgICAgICAgIGRldnRvb2xzL2dlbi1hYmku c2ggaW5zdGFsbC1tZXNvbi1uZXcNCj4gNC4gUnVuIGFiaSBjaGVja2VyDQo+ICAgICAgICAgIGRl dnRvb2xzL2NoZWNrLWFiaS5zaCBpbnN0YWxsLW1lc29uLXN0YWJsZSBpbnN0YWxsLW1lc29uLW5l dw0KPg0KPg0KPiBEUERLX0FCSV9SRUZfRElSPS9idWlsZC9kcGRrL3JlZmVyZW5jZS8gRFBES19B QklfUkVGX1ZFUlNJT049djIwLjAyDQo+IC4vZGV2dG9vbHMvdGVzdC1tZXNvbi1idWlsZHMuc2gN Cj4gRFBES19BQklfUkVGX0RJUiAtIG5lZWRzIGFuIGFic29sdXRlIHBhdGgsIGZvciByZWFzb25z IHRoYXQgYXJlIHN0aWxsDQo+IHVuY2xlYXIgdG8gbWUuDQo+IERQREtfQUJJX1JFRl9WRVJTSU9O IC0geW91IG5lZWQgdG8gdXNlIHRoZSBsYXN0IERQREsgcmVsZWFzZS4NCj4NCj4+IDEpIEFkZCBu ZXcgZmllbGRzIHRvIHRoZSBydGVfZXZlbnRfZGV2X2luZm8gc3RydWN0LiBUaGVzZSBmaWVsZHMg YWxsb3cNCj4+IHRoZSBkZXZpY2UgdG8gYWR2ZXJ0aXplIGl0cyBjYXBhYmlsaXRpZXMgc28gdGhh dCBhcHBsaWNhdGlvbnMgY2FuIHRha2UNCj4+IHRoZSBhcHByb3ByaWF0ZSBhY3Rpb25zIGJhc2Vk IG9uIHRob3NlIGNhcGFiaWxpdGllcy4NCj4+DQo+PiAgICAgIHN0cnVjdCBydGVfZXZlbnRfZGV2 X2luZm8gew0KPj4gICAgICAgICAgdWludDMyX3QgbWF4X2V2ZW50X3BvcnRfbGlua3M7DQo+PiAg ICAgICAgICAvKio8IE1heGltdW0gbnVtYmVyIG9mIHF1ZXVlcyB0aGF0IGNhbiBiZSBsaW5rZWQg dG8gYSBzaW5nbGUgZXZlbnQNCj4+ICAgICAgICAgICAqIHBvcnQgYnkgdGhpcyBkZXZpY2UuDQo+ PiAgICAgICAgICAgKi8NCj4+DQo+PiAgICAgICAgICB1aW50OF90IG1heF9zaW5nbGVfbGlua19l dmVudF9wb3J0X3F1ZXVlX3BhaXJzOw0KPj4gICAgICAgICAgLyoqPCBNYXhpbXVtIG51bWJlciBv ZiBldmVudCBwb3J0cyBhbmQgcXVldWVzIHRoYXQgYXJlIG9wdGltaXplZCBmb3INCj4+ICAgICAg ICAgICAqIChhbmQgb25seSBjYXBhYmxlIG9mKSBzaW5nbGUtbGluayBjb25maWd1cmF0aW9ucyBz dXBwb3J0ZWQgYnkgdGhpcw0KPj4gICAgICAgICAgICogZGV2aWNlLiBUaGVzZSBwb3J0cyBhbmQg cXVldWVzIGFyZSBub3QgYWNjb3VudGVkIGZvciBpbg0KPj4gICAgICAgICAgICogbWF4X2V2ZW50 X3BvcnRzIG9yIG1heF9ldmVudF9xdWV1ZXMuDQo+PiAgICAgICAgICAgKi8NCj4+ICAgICAgfQ0K Pj4NCj4+IDIpIEFkZCBhIG5ldyBmaWVsZCB0byB0aGUgcnRlX2V2ZW50X2Rldl9jb25maWcgc3Ry dWN0LiBUaGlzIGZpZWxkIGFsbG93cyB0aGUNCj4+IGFwcGxpY2F0aW9uIHRvIHNwZWNpZnkgaG93 IG1hbnkgb2YgaXRzIHBvcnRzIGFyZSBsaW1pdGVkIHRvIGEgc2luZ2xlIGxpbmssDQo+PiBvciB3 aWxsIGJlIHVzZWQgaW4gc2luZ2xlIGxpbmsgbW9kZS4NCj4+DQo+PiAgICAgIC8qKiBFdmVudCBk ZXZpY2UgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgKi8NCj4+ICAgICAgc3RydWN0IHJ0ZV9ldmVu dF9kZXZfY29uZmlnIHsNCj4+ICAgICAgICAgIHVpbnQ4X3QgbmJfc2luZ2xlX2xpbmtfZXZlbnRf cG9ydF9xdWV1ZXM7DQo+PiAgICAgICAgICAvKio8IE51bWJlciBvZiBldmVudCBwb3J0cyBhbmQg cXVldWVzIHRoYXQgd2lsbCBiZSBzaW5nbHktbGlua2VkIHRvDQo+PiAgICAgICAgICAgKiBlYWNo IG90aGVyLiBUaGVzZSBhcmUgYSBzdWJzZXQgb2YgdGhlIG92ZXJhbGwgZXZlbnQgcG9ydHMgYW5k DQo+PiAgICAgICAgICAgKiBxdWV1ZXM7IHRoaXMgdmFsdWUgY2Fubm90IGV4Y2VlZCAqbmJfZXZl bnRfcG9ydHMqIG9yDQo+PiAgICAgICAgICAgKiAqbmJfZXZlbnRfcXVldWVzKi4gSWYgdGhlIGRl dmljZSBoYXMgcG9ydHMgYW5kIHF1ZXVlcyB0aGF0IGFyZQ0KPj4gICAgICAgICAgICogb3B0aW1p emVkIGZvciBzaW5nbGUtbGluayB1c2FnZSwgdGhpcyBmaWVsZCBpcyBhIGhpbnQgZm9yIGhvdyBt YW55DQo+PiAgICAgICAgICAgKiB0byBhbGxvY2F0ZTsgb3RoZXJ3aXNlLCByZWd1bGFyIGV2ZW50 IHBvcnRzIGFuZCBxdWV1ZXMgY2FuIGJlIHVzZWQuDQo+PiAgICAgICAgICAgKi8NCj4+ICAgICAg fQ0KPj4NCj4+IDMpIFJlcGxhY2UgdGhlIGRlZGljYXRlZCBpbXBsaWNpdF9yZWxlYXNlX2Rpc2Fi bGVkIGZpZWxkIHdpdGggYSBiaXQgZmllbGQNCj4+IG9mIGV4cGxpY2l0IHBvcnQgY2FwYWJpbGl0 aWVzLiBUaGUgaW1wbGljaXRfcmVsZWFzZV9kaXNhYmxlIGZ1bmN0aW9uYWxpdHkNCj4+IGlzIGFz c2lnZWQgdG8gb25lIGJpdCwgYW5kIGEgcG9ydC1pcy1zaW5nbGUtbGluay1vbmx5ICBhdHRyaWJ1 dGUgaXMNCj4+IGFzc2lnbmVkIHRvIG90aGVyLCB3aXRoIHRoZSByZW1haW5pbmcgYml0cyBhdmFp bGFibGUgZm9yIGZ1dHVyZSBhc3NpZ25tZW50Lg0KPj4NCj4+ICAgICAgICAgICogRXZlbnQgcG9y dCBjb25maWd1cmF0aW9uIGJpdG1hcCBmbGFncyAqLw0KPj4gICAgICAgICAgI2RlZmluZSBSVEVf RVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBMX1JFTCAgICAoMVVMTCA8PCAwKQ0KPj4gICAgICAg ICAgLyoqPCBDb25maWd1cmUgdGhlIHBvcnQgbm90IHRvIHJlbGVhc2Ugb3V0c3RhbmRpbmcgZXZl bnRzIGluDQo+PiAgICAgICAgICAgKiBydGVfZXZlbnRfZGV2X2RlcXVldWVfYnVyc3QoKS4gSWYg c2V0LCBhbGwgZXZlbnRzIHJlY2VpdmVkIHRocm91Z2gNCj4+ICAgICAgICAgICAqIHRoZSBwb3J0 IG11c3QgYmUgZXhwbGljaXRseSByZWxlYXNlZCB3aXRoIFJURV9FVkVOVF9PUF9SRUxFQVNFIG9y DQo+PiAgICAgICAgICAgKiBSVEVfRVZFTlRfT1BfRk9SV0FSRC4gTXVzdCBiZSB1bnNldCBpZiB0 aGUgZGV2aWNlIGlzIG5vdA0KPj4gICAgICAgICAgICogUlRFX0VWRU5UX0RFVl9DQVBfSU1QTElD SVRfUkVMRUFTRV9ESVNBQkxFIGNhcGFibGUuDQo+PiAgICAgICAgICAgKi8NCj4+ICAgICAgICAg ICNkZWZpbmUgUlRFX0VWRU5UX1BPUlRfQ0ZHX1NJTkdMRV9MSU5LICAgICAgICAgKDFVTEwgPDwg MSkNCj4+DQo+PiAgICAgICAgICAvKio8IFRoaXMgZXZlbnQgcG9ydCBsaW5rcyBvbmx5IHRvIGEg c2luZ2xlIGV2ZW50IHF1ZXVlLg0KPj4gICAgICAgICAgICoNCj4+ICAgICAgICAgICAqICBAc2Vl IHJ0ZV9ldmVudF9wb3J0X3NldHVwKCksIHJ0ZV9ldmVudF9wb3J0X2xpbmsoKQ0KPj4gICAgICAg ICAgICovDQo+Pg0KPj4gICAgICAgICAgI2RlZmluZSBSVEVfRVZFTlRfUE9SVF9BVFRSX0lNUExJ Q0lUX1JFTEVBU0VfRElTQUJMRSAzDQo+PiAgICAgICAgICAvKioNCj4+ICAgICAgICAgICAqIFRo ZSBpbXBsaWNpdCByZWxlYXNlIGRpc2FibGUgYXR0cmlidXRlIG9mIHRoZSBwb3J0DQo+PiAgICAg ICAgICAgKi8NCj4+DQo+PiAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiB7DQo+ PiAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGV2ZW50X3BvcnRfY2ZnOyAvKio8IFBvcnQgY2Zn IGZsYWdzKEVWRU5UX1BPUlRfQ0ZHXykgKi8NCj4+ICAgICAgICAgIH0NCj4+DQo+PiA0KSBBZGQg VU1XQUlUL1VNT05JVE9SIGJpdCB0byBydGVfY3B1ZmxhZ3MNCj4+DQo+PiA1KSBBZGRlZCBhIG5l dyBBUEkgdGhhdCBpcyB1c2VmdWwgZm9yIHByb2JpbmcgUENJIGRldmljZXMuDQo+Pg0KPj4gICAg ICAgICAgLyoqDQo+PiAgICAgICAgICAgKiBAaW50ZXJuYWwNCj4+ICAgICAgICAgICAqIFdyYXBw ZXIgZm9yIHVzZSBieSBwY2kgZHJpdmVycyBhcyBhIC5wcm9iZSBmdW5jdGlvbiB0byBhdHRhY2gg dG8gYSBldmVudA0KPj4gICAgICAgICAgICogaW50ZXJmYWNlLiAgU2FtZSBhcyBydGVfZXZlbnRf cG1kX3BjaV9wcm9iZSwgZXhjZXB0IGNhbGxlciBjYW4gc3BlY2lmeQ0KPj4gICAgICAgICAgICog dGhlIG5hbWUuDQo+PiAgICAgICAgICAgKi8NCj4+ICAgICAgICAgIHN0YXRpYyBpbmxpbmUgaW50 DQo+PiAgICAgICAgICBydGVfZXZlbnRfcG1kX3BjaV9wcm9iZV9uYW1lZChzdHJ1Y3QgcnRlX3Bj aV9kcml2ZXIgKnBjaV9kcnYsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LA0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVfdCBwcml2YXRlX2RhdGFfc2l6ZSwNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudGRldl9wbWRfcGNpX2NhbGxiYWNrX3Qg ZGV2aW5pdCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj aGFyICpuYW1lKTsNCj4+DQo+PiBDaGFuZ2UtSWQ6IEk0Y2YwMDAxNTI5NmUyYjNmZWNhOTg4Njg5 NTc2NTU1NDczMDU5NGJlDQo+PiBTaWduZWQtb2ZmLWJ5OiBNY0RhbmllbCwgVGltb3RoeSA8dGlt b3RoeS5tY2RhbmllbEBpbnRlbC5jb20+DQo+PiAtLS0NCj4+ICAgYXBwL3Rlc3QtZXZlbnRkZXYv ZXZ0X2NvbW1vbi5oICAgICAgICAgICAgICAgICAgICAgfCAgMSArDQo+PiAgIGFwcC90ZXN0LWV2 ZW50ZGV2L3Rlc3Rfb3JkZXJfYXRxLmMgICAgICAgICAgICAgICAgIHwgIDQgKysNCj4+ICAgYXBw L3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRlcl9jb21tb24uYyAgICAgICAgICAgICAgfCAgNiArKy0N Cj4+ICAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRlcl9xdWV1ZS5jICAgICAgICAgICAgICAg fCAgNCArKw0KPj4gICBhcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfYXRxLmMgICAgICAgICAg ICAgICAgICB8ICAxICsNCj4+ICAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX3F1ZXVlLmMg ICAgICAgICAgICAgICAgfCAgMSArDQo+PiAgIGFwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxp bmVfYXRxLmMgICAgICAgICAgICAgIHwgIDEgKw0KPj4gICBhcHAvdGVzdC1ldmVudGRldi90ZXN0 X3BpcGVsaW5lX3F1ZXVlLmMgICAgICAgICAgICB8ICAxICsNCj4+ICAgYXBwL3Rlc3QvdGVzdF9l dmVudGRldi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPj4gICBkcml2ZXJz L2V2ZW50L2RwYWEyL2RwYWEyX2V2ZW50ZGV2LmMgICAgICAgICAgICAgICB8ICAyICstDQo+PiAg IGRyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZkZXYuYyAgICAgICAgICAgICAgIHwgIDIg Ky0NCj4+ICAgZHJpdmVycy9ldmVudC9za2VsZXRvbi9za2VsZXRvbl9ldmVudGRldi5jICAgICAg ICAgfCAgMiArLQ0KPj4gICBkcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2LmMgICAgICAgICAgICAg ICAgICAgICAgICB8ICA1ICstDQo+PiAgIGRyaXZlcnMvZXZlbnQvc3cvc3dfZXZkZXZfc2VsZnRl c3QuYyAgICAgICAgICAgICAgIHwgIDkgKystLQ0KPj4gICAuLi4vZXZlbnRkZXZfcGlwZWxpbmUv cGlwZWxpbmVfd29ya2VyX2dlbmVyaWMuYyAgICB8ICA4ICsrLQ0KPj4gICBleGFtcGxlcy9ldmVu dGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfdHguYyAgICB8ICAzICsrDQo+PiAgIGV4YW1w bGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYyAgICAgICAgIHwgIDUgKy0NCj4+ ICAgZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jICAgfCAg NSArLQ0KPj4gICBleGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9nZW5lcmljLmMgICAgICAgICAg ICAgICB8ICA1ICstDQo+PiAgIGV4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVybmFsX3Bv cnQuYyAgICAgICAgIHwgIDUgKy0NCj4+ICAgbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUvcnRl X2NwdWZsYWdzLmggICAgICAgICAgfCAgMSArDQo+PiAgIGxpYi9saWJydGVfZWFsL3g4Ni9ydGVf Y3B1ZmxhZ3MuYyAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPj4gICBsaWIvbGlicnRlX2V2ZW50 ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jICAgICB8ICAyICstDQo+PiAgIGxpYi9saWJy dGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMgICAgICAgICAgICAgICAgIHwgNjIgKysrKysrKysr KysrKysrKysrKy0tLQ0KPj4gICBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oICAg ICAgICAgICAgICAgICB8IDUxICsrKysrKysrKysrKysrKy0tLQ0KPj4gICBsaWIvbGlicnRlX2V2 ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWRfcGNpLmggICAgICAgICB8IDU0ICsrKysrKysrKysrKysr KysrKysNCj4+ICAgMjYgZmlsZXMgY2hhbmdlZCwgMjA4IGluc2VydGlvbnMoKyksIDM3IGRlbGV0 aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi9ldnRfY29tbW9u LmggYi9hcHAvdGVzdC1ldmVudGRldi9ldnRfY29tbW9uLmgNCj4+IGluZGV4IGY5ZDczNzhkMy4u MTIwYzI3YjMzIDEwMDY0NA0KPj4gLS0tIGEvYXBwL3Rlc3QtZXZlbnRkZXYvZXZ0X2NvbW1vbi5o DQo+PiArKysgYi9hcHAvdGVzdC1ldmVudGRldi9ldnRfY29tbW9uLmgNCj4+IEBAIC0xNjksNiAr MTY5LDcgQEAgZXZ0X2NvbmZpZ3VyZV9ldmVudGRldihzdHJ1Y3QgZXZ0X29wdGlvbnMgKm9wdCwg dWludDhfdCBuYl9xdWV1ZXMsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlcXVldWVf dGltZW91dF9ucyA9IG9wdC0+ZGVxX3Rtb19uc2VjLA0KPj4gICAgICAgICAgICAgICAgICAgICAg ICAgIC5uYl9ldmVudF9xdWV1ZXMgPSBuYl9xdWV1ZXMsDQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgLm5iX2V2ZW50X3BvcnRzID0gbmJfcG9ydHMsDQo+PiArICAgICAgICAgICAgICAgICAg ICAgICAubmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZXMgPSAwLA0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIC5uYl9ldmVudHNfbGltaXQgID0gaW5mby5tYXhfbnVtX2V2ZW50cywN Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAubmJfZXZlbnRfcXVldWVfZmxvd3MgPSBvcHQt Pm5iX2Zsb3dzLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uYl9ldmVudF9wb3J0X2Rl cXVldWVfZGVwdGggPQ0KPj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3Jk ZXJfYXRxLmMgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVyX2F0cS5jDQo+PiBpbmRleCAz MzY2Y2ZjZTkuLjgyNDZiOTZmMCAxMDA2NDQNCj4+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rl c3Rfb3JkZXJfYXRxLmMNCj4+ICsrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfYXRx LmMNCj4+IEBAIC0zNCw2ICszNCw4IEBAIG9yZGVyX2F0cV93b3JrZXIodm9pZCAqYXJnKQ0KPj4g ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4gICAgICAgICAgICAgICAgICB9 DQo+Pg0KPj4gKyAgICAgICAgICAgICAgIGV2LmZsb3dfaWQgPSBldi5tYnVmLT51ZGF0YTY0Ow0K Pj4gKw0KPj4gICAgICAgICAgICAgICAgICBpZiAoZXYuc3ViX2V2ZW50X3R5cGUgPT0gMCkgeyAv KiBzdGFnZSAwIGZyb20gcHJvZHVjZXIgKi8NCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBv cmRlcl9hdHFfcHJvY2Vzc19zdGFnZV8wKCZldik7DQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgd2hpbGUgKHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KGRldl9pZCwgcG9ydCwgJmV2LCAxKQ0K Pj4gQEAgLTY4LDYgKzcwLDggQEAgb3JkZXJfYXRxX3dvcmtlcl9idXJzdCh2b2lkICphcmcpDQo+ PiAgICAgICAgICAgICAgICAgIH0NCj4+DQo+PiAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7 IGkgPCBuYl9yeDsgaSsrKSB7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICBldltpXS5mbG93 X2lkID0gZXZbaV0ubWJ1Zi0+dWRhdGE2NDsNCj4+ICsNCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoZXZbaV0uc3ViX2V2ZW50X3R5cGUgPT0gMCkgeyAvKnN0YWdlIDAgKi8NCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyX2F0cV9wcm9jZXNzX3N0YWdlXzAo JmV2W2ldKTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGV2W2ldLnN1 Yl9ldmVudF90eXBlID09IDEpIHsgLyogc3RhZ2UgMSAqLw0KPj4gZGlmZiAtLWdpdCBhL2FwcC90 ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfY29tbW9uLmMgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0 X29yZGVyX2NvbW1vbi5jDQo+PiBpbmRleCA0MTkwZjlhZGUuLmM2ZmNkMDUwOSAxMDA2NDQNCj4+ IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfY29tbW9uLmMNCj4+ICsrKyBiL2Fw cC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfY29tbW9uLmMNCj4+IEBAIC00OSw2ICs0OSw3IEBA IG9yZGVyX3Byb2R1Y2VyKHZvaWQgKmFyZykNCj4+ICAgICAgICAgICAgICAgICAgY29uc3QgdWlu dDMyX3QgZmxvdyA9ICh1aW50cHRyX3QpbSAlIG5iX2Zsb3dzOw0KPj4gICAgICAgICAgICAgICAg ICAvKiBNYWludGFpbiBzZXEgbnVtYmVyIHBlciBmbG93ICovDQo+PiAgICAgICAgICAgICAgICAg IG0tPnNlcW4gPSBwcm9kdWNlcl9mbG93X3NlcVtmbG93XSsrOw0KPj4gKyAgICAgICAgICAgICAg IG0tPnVkYXRhNjQgPSBmbG93Ow0KPj4NCj4+ICAgICAgICAgICAgICAgICAgZXYuZmxvd19pZCA9 IGZsb3c7DQo+PiAgICAgICAgICAgICAgICAgIGV2Lm1idWYgPSBtOw0KPj4gQEAgLTMxOCwxMCAr MzE5LDExIEBAIG9yZGVyX2V2ZW50X2Rldl9wb3J0X3NldHVwKHN0cnVjdCBldnRfdGVzdCAqdGVz dCwgc3RydWN0IGV2dF9vcHRpb25zICpvcHQsDQo+PiAgICAgICAgICAgICAgICAgIG9wdC0+d2ty X2RlcV9kZXAgPSBkZXZfaW5mby5tYXhfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoOw0KPj4NCj4+ ICAgICAgICAgIC8qIHBvcnQgY29uZmlndXJhdGlvbiAqLw0KPj4gLSAgICAgICBjb25zdCBzdHJ1 Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiBwX2NvbmYgPSB7DQo+PiArICAgICAgIHN0cnVjdCBydGVf ZXZlbnRfcG9ydF9jb25mIHBfY29uZiA9IHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAu ZGVxdWV1ZV9kZXB0aCA9IG9wdC0+d2tyX2RlcV9kZXAsDQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgLmVucXVldWVfZGVwdGggPSBkZXZfaW5mby5tYXhfZXZlbnRfcG9ydF9kZXF1ZXVlX2Rl cHRoLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0g ZGV2X2luZm8ubWF4X251bV9ldmVudHMsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAuZXZl bnRfcG9ydF9jZmcgPSAwLA0KPj4gICAgICAgICAgfTsNCj4+DQo+PiAgICAgICAgICAvKiBzZXR1 cCBvbmUgcG9ydCBwZXIgd29ya2VyLCBsaW5raW5nIHRvIGFsbCBxdWV1ZXMgKi8NCj4+IEBAIC0z NTEsNiArMzUzLDggQEAgb3JkZXJfZXZlbnRfZGV2X3BvcnRfc2V0dXAoc3RydWN0IGV2dF90ZXN0 ICp0ZXN0LCBzdHJ1Y3QgZXZ0X29wdGlvbnMgKm9wdCwNCj4+ICAgICAgICAgIHAtPnF1ZXVlX2lk ID0gMDsNCj4+ICAgICAgICAgIHAtPnQgPSB0Ow0KPj4NCj4+ICsgICAgICAgcF9jb25mLm5ld19l dmVudF90aHJlc2hvbGQgLz0gMjsNCj4+ICsNCj4+ICAgICAgICAgIHJldCA9IHJ0ZV9ldmVudF9w b3J0X3NldHVwKG9wdC0+ZGV2X2lkLCBwb3J0LCAmcF9jb25mKTsNCj4+ICAgICAgICAgIGlmIChy ZXQpIHsNCj4+ICAgICAgICAgICAgICAgICAgZXZ0X2VycigiZmFpbGVkIHRvIHNldHVwIHByb2R1 Y2VyIHBvcnQgJWQiLCBwb3J0KTsNCj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90 ZXN0X29yZGVyX3F1ZXVlLmMgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVyX3F1ZXVlLmMN Cj4+IGluZGV4IDQ5NWVmZDkyZi4uYTBhMjE4N2EyIDEwMDY0NA0KPj4gLS0tIGEvYXBwL3Rlc3Qt ZXZlbnRkZXYvdGVzdF9vcmRlcl9xdWV1ZS5jDQo+PiArKysgYi9hcHAvdGVzdC1ldmVudGRldi90 ZXN0X29yZGVyX3F1ZXVlLmMNCj4+IEBAIC0zNCw2ICszNCw4IEBAIG9yZGVyX3F1ZXVlX3dvcmtl cih2b2lkICphcmcpDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+PiAg ICAgICAgICAgICAgICAgIH0NCj4+DQo+PiArICAgICAgICAgICAgICAgZXYuZmxvd19pZCA9IGV2 Lm1idWYtPnVkYXRhNjQ7DQo+PiArDQo+PiAgICAgICAgICAgICAgICAgIGlmIChldi5xdWV1ZV9p ZCA9PSAwKSB7IC8qIGZyb20gb3JkZXJlZCBxdWV1ZSAqLw0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgIG9yZGVyX3F1ZXVlX3Byb2Nlc3Nfc3RhZ2VfMCgmZXYpOw0KPj4gICAgICAgICAgICAg ICAgICAgICAgICAgIHdoaWxlIChydGVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXZfaWQsIHBvcnQs ICZldiwgMSkNCj4+IEBAIC02OCw2ICs3MCw4IEBAIG9yZGVyX3F1ZXVlX3dvcmtlcl9idXJzdCh2 b2lkICphcmcpDQo+PiAgICAgICAgICAgICAgICAgIH0NCj4+DQo+PiAgICAgICAgICAgICAgICAg IGZvciAoaSA9IDA7IGkgPCBuYl9yeDsgaSsrKSB7DQo+PiArICAgICAgICAgICAgICAgICAgICAg ICBldltpXS5mbG93X2lkID0gZXZbaV0ubWJ1Zi0+dWRhdGE2NDsNCj4+ICsNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICBpZiAoZXZbaV0ucXVldWVfaWQgPT0gMCkgeyAvKiBmcm9tIG9yZGVy ZWQgcXVldWUgKi8NCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyX3F1 ZXVlX3Byb2Nlc3Nfc3RhZ2VfMCgmZXZbaV0pOw0KPj4gICAgICAgICAgICAgICAgICAgICAgICAg IH0gZWxzZSBpZiAoZXZbaV0ucXVldWVfaWQgPT0gMSkgey8qIGZyb20gYXRvbWljIHF1ZXVlICov DQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX2F0cS5jIGIvYXBw L3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX2F0cS5jDQo+PiBpbmRleCA4ZmQ1MTAwNGUuLjEwODQ2 ZjIwMiAxMDA2NDQNCj4+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9hdHEuYw0K Pj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX2F0cS5jDQo+PiBAQCAtMjA0LDYg KzIwNCw3IEBAIHBlcmZfYXRxX2V2ZW50ZGV2X3NldHVwKHN0cnVjdCBldnRfdGVzdCAqdGVzdCwg c3RydWN0IGV2dF9vcHRpb25zICpvcHQpDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLmRl cXVldWVfZGVwdGggPSBvcHQtPndrcl9kZXFfZGVwLA0KPj4gICAgICAgICAgICAgICAgICAgICAg ICAgIC5lbnF1ZXVlX2RlcHRoID0gZGV2X2luZm8ubWF4X2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0 aCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAubmV3X2V2ZW50X3RocmVzaG9sZCA9IGRl dl9pbmZvLm1heF9udW1fZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgLmV2ZW50 X3BvcnRfY2ZnID0gMCwNCj4+ICAgICAgICAgIH07DQo+Pg0KPj4gICAgICAgICAgcmV0ID0gcGVy Zl9ldmVudF9kZXZfcG9ydF9zZXR1cCh0ZXN0LCBvcHQsIDEgLyogc3RyaWRlICovLCBuYl9xdWV1 ZXMsDQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX3F1ZXVlLmMg Yi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfcXVldWUuYw0KPj4gaW5kZXggZjRlYTNhNzk1 Li5hMDExOWRhNjAgMTAwNjQ0DQo+PiAtLS0gYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZf cXVldWUuYw0KPj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX3F1ZXVlLmMNCj4+ IEBAIC0yMTksNiArMjE5LDcgQEAgcGVyZl9xdWV1ZV9ldmVudGRldl9zZXR1cChzdHJ1Y3QgZXZ0 X3Rlc3QgKnRlc3QsIHN0cnVjdCBldnRfb3B0aW9ucyAqb3B0KQ0KPj4gICAgICAgICAgICAgICAg ICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gb3B0LT53a3JfZGVxX2RlcCwNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAuZW5xdWV1ZV9kZXB0aCA9IGRldl9pbmZvLm1heF9ldmVudF9wb3J0 X2RlcXVldWVfZGVwdGgsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5ld19ldmVudF90 aHJlc2hvbGQgPSBkZXZfaW5mby5tYXhfbnVtX2V2ZW50cywNCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICB9Ow0KPj4NCj4+ICAgICAg ICAgIHJldCA9IHBlcmZfZXZlbnRfZGV2X3BvcnRfc2V0dXAodGVzdCwgb3B0LCBuYl9zdGFnZXMg Lyogc3RyaWRlICovLA0KPj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlw ZWxpbmVfYXRxLmMgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2F0cS5jDQo+PiBp bmRleCA4ZTg2ODZjMTQuLmE5NWVjMGFhNSAxMDA2NDQNCj4+IC0tLSBhL2FwcC90ZXN0LWV2ZW50 ZGV2L3Rlc3RfcGlwZWxpbmVfYXRxLmMNCj4+ICsrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rf cGlwZWxpbmVfYXRxLmMNCj4+IEBAIC0zNTYsNiArMzU2LDcgQEAgcGlwZWxpbmVfYXRxX2V2ZW50 ZGV2X3NldHVwKHN0cnVjdCBldnRfdGVzdCAqdGVzdCwgc3RydWN0IGV2dF9vcHRpb25zICpvcHQp DQo+PiAgICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gb3B0LT53a3JfZGVxX2RlcCwN Cj4+ICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVwdGggPSBpbmZvLm1heF9ldmVudF9wb3J0 X2RlcXVldWVfZGVwdGgsDQo+PiAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xk ID0gaW5mby5tYXhfbnVtX2V2ZW50cywNCj4+ICsgICAgICAgICAgICAgICAuZXZlbnRfcG9ydF9j ZmcgPSAwLA0KPj4gICAgICAgICAgfTsNCj4+DQo+PiAgICAgICAgICBpZiAoIXQtPmludGVybmFs X3BvcnQpDQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9x dWV1ZS5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jDQo+PiBpbmRl eCA3YmViYWMzNGYuLjMwODE3ZGM3OCAxMDA2NDQNCj4+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2 L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9w aXBlbGluZV9xdWV1ZS5jDQo+PiBAQCAtMzc5LDYgKzM3OSw3IEBAIHBpcGVsaW5lX3F1ZXVlX2V2 ZW50ZGV2X3NldHVwKHN0cnVjdCBldnRfdGVzdCAqdGVzdCwgc3RydWN0IGV2dF9vcHRpb25zICpv cHQpDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlcXVldWVfZGVwdGggPSBvcHQtPndr cl9kZXFfZGVwLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5lbnF1ZXVlX2RlcHRoID0g aW5mby5tYXhfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoLA0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0gaW5mby5tYXhfbnVtX2V2ZW50cywNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICB9 Ow0KPj4NCj4+ICAgICAgICAgIGlmICghdC0+aW50ZXJuYWxfcG9ydCkgew0KPj4gZGlmZiAtLWdp dCBhL2FwcC90ZXN0L3Rlc3RfZXZlbnRkZXYuYyBiL2FwcC90ZXN0L3Rlc3RfZXZlbnRkZXYuYw0K Pj4gaW5kZXggNDNjY2IxY2U5Li42MjAxOWMxODUgMTAwNjQ0DQo+PiAtLS0gYS9hcHAvdGVzdC90 ZXN0X2V2ZW50ZGV2LmMNCj4+ICsrKyBiL2FwcC90ZXN0L3Rlc3RfZXZlbnRkZXYuYw0KPj4gQEAg LTU1OSwxMCArNTU5LDEwIEBAIHRlc3RfZXZlbnRkZXZfcG9ydF9zZXR1cCh2b2lkKQ0KPj4gICAg ICAgICAgaWYgKCEoaW5mby5ldmVudF9kZXZfY2FwICYNCj4+ICAgICAgICAgICAgICAgIFJURV9F VkVOVF9ERVZfQ0FQX0lNUExJQ0lUX1JFTEVBU0VfRElTQUJMRSkpIHsNCj4+ICAgICAgICAgICAg ICAgICAgcGNvbmYuZW5xdWV1ZV9kZXB0aCA9IGluZm8ubWF4X2V2ZW50X3BvcnRfZW5xdWV1ZV9k ZXB0aDsNCj4+IC0gICAgICAgICAgICAgICBwY29uZi5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2Ug PSAxOw0KPj4gKyAgICAgICAgICAgICAgIHBjb25mLmV2ZW50X3BvcnRfY2ZnID0gUlRFX0VWRU5U X1BPUlRfQ0ZHX0RJU0FCTEVfSU1QTF9SRUw7DQo+PiAgICAgICAgICAgICAgICAgIHJldCA9IHJ0 ZV9ldmVudF9wb3J0X3NldHVwKFRFU1RfREVWX0lELCAwLCAmcGNvbmYpOw0KPj4gICAgICAgICAg ICAgICAgICBURVNUX0FTU0VSVChyZXQgPT0gLUVJTlZBTCwgIkV4cGVjdGVkIC1FSU5WQUwsICVk IiwgcmV0KTsNCj4+IC0gICAgICAgICAgICAgICBwY29uZi5kaXNhYmxlX2ltcGxpY2l0X3JlbGVh c2UgPSAwOw0KPj4gKyAgICAgICAgICAgICAgIHBjb25mLmV2ZW50X3BvcnRfY2ZnID0gMDsNCj4+ ICAgICAgICAgIH0NCj4+DQo+PiAgICAgICAgICByZXQgPSBydGVfZXZlbnRfcG9ydF9zZXR1cChU RVNUX0RFVl9JRCwgaW5mby5tYXhfZXZlbnRfcG9ydHMsDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ldmVudC9kcGFhMi9kcGFhMl9ldmVudGRldi5jIGIvZHJpdmVycy9ldmVudC9kcGFhMi9kcGFh Ml9ldmVudGRldi5jDQo+PiBpbmRleCBhMTk2YWQ0YzYuLjg1NjhiZmNmYyAxMDA2NDQNCj4+IC0t LSBhL2RyaXZlcnMvZXZlbnQvZHBhYTIvZHBhYTJfZXZlbnRkZXYuYw0KPj4gKysrIGIvZHJpdmVy cy9ldmVudC9kcGFhMi9kcGFhMl9ldmVudGRldi5jDQo+PiBAQCAtNTM3LDcgKzUzNyw3IEBAIGRw YWEyX2V2ZW50ZGV2X3BvcnRfZGVmX2NvbmYoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCB1aW50 OF90IHBvcnRfaWQsDQo+PiAgICAgICAgICAgICAgICAgIERQQUEyX0VWRU5UX01BWF9QT1JUX0RF UVVFVUVfREVQVEg7DQo+PiAgICAgICAgICBwb3J0X2NvbmYtPmVucXVldWVfZGVwdGggPQ0KPj4g ICAgICAgICAgICAgICAgICBEUEFBMl9FVkVOVF9NQVhfUE9SVF9FTlFVRVVFX0RFUFRIOw0KPj4g LSAgICAgICBwb3J0X2NvbmYtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IDA7DQo+PiArICAg ICAgIHBvcnRfY29uZi0+ZXZlbnRfcG9ydF9jZmcgPSAwOw0KPj4gICB9DQo+Pg0KPj4gICBzdGF0 aWMgaW50DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRl di5jIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5jDQo+PiBpbmRleCAxYjFh NWQ5MzkuLjk5YzBiMmVmYiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgv c3NvdmZfZXZkZXYuYw0KPj4gKysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRl di5jDQo+PiBAQCAtMjI0LDcgKzIyNCw3IEBAIHNzb3ZmX3BvcnRfZGVmX2NvbmYoc3RydWN0IHJ0 ZV9ldmVudGRldiAqZGV2LCB1aW50OF90IHBvcnRfaWQsDQo+PiAgICAgICAgICBwb3J0X2NvbmYt Pm5ld19ldmVudF90aHJlc2hvbGQgPSBlZGV2LT5tYXhfbnVtX2V2ZW50czsNCj4+ICAgICAgICAg IHBvcnRfY29uZi0+ZGVxdWV1ZV9kZXB0aCA9IDE7DQo+PiAgICAgICAgICBwb3J0X2NvbmYtPmVu cXVldWVfZGVwdGggPSAxOw0KPj4gLSAgICAgICBwb3J0X2NvbmYtPmRpc2FibGVfaW1wbGljaXRf cmVsZWFzZSA9IDA7DQo+PiArICAgICAgIHBvcnRfY29uZi0+ZXZlbnRfcG9ydF9jZmcgPSAwOw0K Pj4gICB9DQo+Pg0KPj4gICBzdGF0aWMgdm9pZA0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXZl bnQvc2tlbGV0b24vc2tlbGV0b25fZXZlbnRkZXYuYyBiL2RyaXZlcnMvZXZlbnQvc2tlbGV0b24v c2tlbGV0b25fZXZlbnRkZXYuYw0KPj4gaW5kZXggYzg4OTIyMGUwLi4zN2Q1NjliOGMgMTAwNjQ0 DQo+PiAtLS0gYS9kcml2ZXJzL2V2ZW50L3NrZWxldG9uL3NrZWxldG9uX2V2ZW50ZGV2LmMNCj4+ ICsrKyBiL2RyaXZlcnMvZXZlbnQvc2tlbGV0b24vc2tlbGV0b25fZXZlbnRkZXYuYw0KPj4gQEAg LTIwOSw3ICsyMDksNyBAQCBza2VsZXRvbl9ldmVudGRldl9wb3J0X2RlZl9jb25mKHN0cnVjdCBy dGVfZXZlbnRkZXYgKmRldiwgdWludDhfdCBwb3J0X2lkLA0KPj4gICAgICAgICAgcG9ydF9jb25m LT5uZXdfZXZlbnRfdGhyZXNob2xkID0gMzIgKiAxMDI0Ow0KPj4gICAgICAgICAgcG9ydF9jb25m LT5kZXF1ZXVlX2RlcHRoID0gMTY7DQo+PiAgICAgICAgICBwb3J0X2NvbmYtPmVucXVldWVfZGVw dGggPSAxNjsNCj4+IC0gICAgICAgcG9ydF9jb25mLT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2Ug PSAwOw0KPj4gKyAgICAgICBwb3J0X2NvbmYtPmV2ZW50X3BvcnRfY2ZnID0gMDsNCj4+ICAgfQ0K Pj4NCj4+ICAgc3RhdGljIHZvaWQNCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L3N3L3N3 X2V2ZGV2LmMgYi9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2LmMNCj4+IGluZGV4IGZiOGU4YmVi Yi4uMGIzZGQ5YzFjIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ldmVudC9zdy9zd19ldmRldi5j DQo+PiArKysgYi9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2LmMNCj4+IEBAIC0xNzUsNyArMTc1 LDggQEAgc3dfcG9ydF9zZXR1cChzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsIHVpbnQ4X3QgcG9y dF9pZCwNCj4+ICAgICAgICAgIH0NCj4+DQo+PiAgICAgICAgICBwLT5pbmZsaWdodF9tYXggPSBj b25mLT5uZXdfZXZlbnRfdGhyZXNob2xkOw0KPj4gLSAgICAgICBwLT5pbXBsaWNpdF9yZWxlYXNl ID0gIWNvbmYtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZTsNCj4+ICsgICAgICAgcC0+aW1wbGlj aXRfcmVsZWFzZSA9ICEoY29uZi0+ZXZlbnRfcG9ydF9jZmcgJg0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBMX1JFTCk7DQo+ Pg0KPj4gICAgICAgICAgLyogY2hlY2sgaWYgcmluZyBleGlzdHMsIHNhbWUgYXMgcnhfd29ya2Vy IGFib3ZlICovDQo+PiAgICAgICAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAic3clZF9w JXUsICVzIiwgZGV2LT5kYXRhLT5kZXZfaWQsDQo+PiBAQCAtNTA4LDcgKzUwOSw3IEBAIHN3X3Bv cnRfZGVmX2NvbmYoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCB1aW50OF90IHBvcnRfaWQsDQo+ PiAgICAgICAgICBwb3J0X2NvbmYtPm5ld19ldmVudF90aHJlc2hvbGQgPSAxMDI0Ow0KPj4gICAg ICAgICAgcG9ydF9jb25mLT5kZXF1ZXVlX2RlcHRoID0gMTY7DQo+PiAgICAgICAgICBwb3J0X2Nv bmYtPmVucXVldWVfZGVwdGggPSAxNjsNCj4+IC0gICAgICAgcG9ydF9jb25mLT5kaXNhYmxlX2lt cGxpY2l0X3JlbGVhc2UgPSAwOw0KPj4gKyAgICAgICBwb3J0X2NvbmYtPmV2ZW50X3BvcnRfY2Zn ID0gMDsNCj4+ICAgfQ0KPj4NCj4+ICAgc3RhdGljIGludA0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZXZlbnQvc3cvc3dfZXZkZXZfc2VsZnRlc3QuYyBiL2RyaXZlcnMvZXZlbnQvc3cvc3dfZXZk ZXZfc2VsZnRlc3QuYw0KPj4gaW5kZXggMzhjMjFmYTBmLi5hNzhkNmNkMGQgMTAwNjQ0DQo+PiAt LS0gYS9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMNCj4+ICsrKyBiL2RyaXZl cnMvZXZlbnQvc3cvc3dfZXZkZXZfc2VsZnRlc3QuYw0KPj4gQEAgLTE3Miw3ICsxNzIsNyBAQCBj cmVhdGVfcG9ydHMoc3RydWN0IHRlc3QgKnQsIGludCBudW1fcG9ydHMpDQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgLm5ld19ldmVudF90aHJlc2hvbGQgPSAxMDI0LA0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gMzIsDQo+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgLmVucXVldWVfZGVwdGggPSA2NCwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAg IC5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPSAwLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgLmV2ZW50X3BvcnRfY2ZnID0gMCwNCj4+ICAgICAgICAgIH07DQo+PiAgICAgICAgICBpZiAo bnVtX3BvcnRzID4gTUFYX1BPUlRTKQ0KPj4gICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ PiBAQCAtMTIyNyw3ICsxMjI3LDcgQEAgcG9ydF9yZWNvbmZpZ19jcmVkaXRzKHN0cnVjdCB0ZXN0 ICp0KQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm5ld19ldmVudF90aHJl c2hvbGQgPSAxMjgsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVxdWV1 ZV9kZXB0aCA9IDMyLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVucXVl dWVfZGVwdGggPSA2NCwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRpc2Fi bGVfaW1wbGljaXRfcmVsZWFzZSA9IDAsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICAgICAgICAgIH07DQo+PiAgICAg ICAgICAgICAgICAgIGlmIChydGVfZXZlbnRfcG9ydF9zZXR1cChldmRldiwgMCwgJnBvcnRfY29u ZikgPCAwKSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZCBFcnJvciBz ZXR0aW5nIHVwIHBvcnRcbiIsIF9fTElORV9fKTsNCj4+IEBAIC0xMzE3LDcgKzEzMTcsNyBAQCBw b3J0X3NpbmdsZV9sYl9yZWNvbmZpZyhzdHJ1Y3QgdGVzdCAqdCkNCj4+ICAgICAgICAgICAgICAg ICAgLm5ld19ldmVudF90aHJlc2hvbGQgPSAxMjgsDQo+PiAgICAgICAgICAgICAgICAgIC5kZXF1 ZXVlX2RlcHRoID0gMzIsDQo+PiAgICAgICAgICAgICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gNjQs DQo+PiAtICAgICAgICAgICAgICAgLmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IDAsDQo+PiAr ICAgICAgICAgICAgICAgLmV2ZW50X3BvcnRfY2ZnID0gMCwNCj4+ICAgICAgICAgIH07DQo+PiAg ICAgICAgICBpZiAocnRlX2V2ZW50X3BvcnRfc2V0dXAoZXZkZXYsIDAsICZwb3J0X2NvbmYpIDwg MCkgew0KPj4gICAgICAgICAgICAgICAgICBwcmludGYoIiVkIEVycm9yIHNldHRpbmcgdXAgcG9y dFxuIiwgX19MSU5FX18pOw0KPj4gQEAgLTMwNzksNyArMzA3OSw4IEBAIHdvcmtlcl9sb29wYmFj ayhzdHJ1Y3QgdGVzdCAqdCwgdWludDhfdCBkaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UpDQo+PiAg ICAgICAgICAgKiBvbmx5IGJlIGluaXRpYWxpemVkIG9uY2UgLSBhbmQgdGhpcyBuZWVkcyB0byBi ZSBzZXQgZm9yIG11bHRpcGxlIHJ1bnMNCj4+ICAgICAgICAgICAqLw0KPj4gICAgICAgICAgY29u Zi5uZXdfZXZlbnRfdGhyZXNob2xkID0gNTEyOw0KPj4gLSAgICAgICBjb25mLmRpc2FibGVfaW1w bGljaXRfcmVsZWFzZSA9IGRpc2FibGVfaW1wbGljaXRfcmVsZWFzZTsNCj4+ICsgICAgICAgY29u Zi5ldmVudF9wb3J0X2NmZyA9IGRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA/DQo+PiArICAgICAg ICAgICAgICAgUlRFX0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1QTF9SRUwgOiAwOw0KPj4NCj4+ ICAgICAgICAgIGlmIChydGVfZXZlbnRfcG9ydF9zZXR1cChldmRldiwgMCwgJmNvbmYpIDwgMCkg ew0KPj4gICAgICAgICAgICAgICAgICBwcmludGYoIkVycm9yIHNldHRpbmcgdXAgUlggcG9ydFxu Iik7DQo+PiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVf d29ya2VyX2dlbmVyaWMuYyBiL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dv cmtlcl9nZW5lcmljLmMNCj4+IGluZGV4IDQyZmY0ZWViOS4uYTA5MWRhM2JhIDEwMDY0NA0KPj4g LS0tIGEvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX2dlbmVyaWMu Yw0KPj4gKysrIGIvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX2dl bmVyaWMuYw0KPj4gQEAgLTEyOSw2ICsxMjksNyBAQCBzZXR1cF9ldmVudGRldl9nZW5lcmljKHN0 cnVjdCB3b3JrZXJfZGF0YSAqd29ya2VyX2RhdGEpDQo+PiAgICAgICAgICBzdHJ1Y3QgcnRlX2V2 ZW50X2Rldl9jb25maWcgY29uZmlnID0gew0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5u Yl9ldmVudF9xdWV1ZXMgPSBuYl9xdWV1ZXMsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg Lm5iX2V2ZW50X3BvcnRzID0gbmJfcG9ydHMsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAu bmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZXMgPSAxLA0KPj4gICAgICAgICAgICAgICAg ICAgICAgICAgIC5uYl9ldmVudHNfbGltaXQgID0gNDA5NiwNCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAubmJfZXZlbnRfcXVldWVfZmxvd3MgPSAxMDI0LA0KPj4gICAgICAgICAgICAgICAg ICAgICAgICAgIC5uYl9ldmVudF9wb3J0X2RlcXVldWVfZGVwdGggPSAxMjgsDQo+PiBAQCAtMTM4 LDEyICsxMzksMTMgQEAgc2V0dXBfZXZlbnRkZXZfZ2VuZXJpYyhzdHJ1Y3Qgd29ya2VyX2RhdGEg Kndvcmtlcl9kYXRhKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRo ID0gY2RhdGEud29ya2VyX2NxX2RlcHRoLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5l bnF1ZXVlX2RlcHRoID0gNjQsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5ld19ldmVu dF90aHJlc2hvbGQgPSA0MDk2LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgLmV2ZW50X3Bv cnRfY2ZnID0gMCwNCg0KDQpObyBuZWVkIHRvIHNldCB0aGlzIHZhbHVlOyBpdCdzIGd1YXJhbnRl ZWQgdG8gYmUgMCBhbnl3YXlzLiBZb3UgbWlnaHQgDQphcmd1ZSB5b3UgZG8gaXQgZm9yIHJlYWRh YmlsaXR5LCBidXQgdHdvIG90aGVyIGZpZWxkcyBvZiB0aGF0IHN0cnVjdCBpcyANCmFscmVhZHkg aW1wbGljaXRseSBpbml0aWFsaXplZC4NCg0KDQpUaGlzIHdvdWxkIGFwcGx5IHRvIG90aGVyIG9m IHlvdXIgY2hhbmdlcyBhcyB3ZWxsLg0KDQoNCj4+ICAgICAgICAgIH07DQo+PiAgICAgICAgICBz dHJ1Y3QgcnRlX2V2ZW50X3F1ZXVlX2NvbmYgd2tyX3FfY29uZiA9IHsNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAuc2NoZWR1bGVfdHlwZSA9IGNkYXRhLnF1ZXVlX3R5cGUsDQo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgLnByaW9yaXR5ID0gUlRFX0VWRU5UX0RFVl9QUklPUklUWV9O T1JNQUwsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5iX2F0b21pY19mbG93cyA9IDEw MjQsDQo+PiAtICAgICAgICAgICAgICAgLm5iX2F0b21pY19vcmRlcl9zZXF1ZW5jZXMgPSAxMDI0 LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgLm5iX2F0b21pY19vcmRlcl9zZXF1ZW5jZXMg PSAxMDI0LA0KPj4gICAgICAgICAgfTsNCj4+ICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfcXVl dWVfY29uZiB0eF9xX2NvbmYgPSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaW9y aXR5ID0gUlRFX0VWRU5UX0RFVl9QUklPUklUWV9ISUdIRVNULA0KPj4gQEAgLTE2Nyw3ICsxNjks OCBAQCBzZXR1cF9ldmVudGRldl9nZW5lcmljKHN0cnVjdCB3b3JrZXJfZGF0YSAqd29ya2VyX2Rh dGEpDQo+PiAgICAgICAgICBkaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPSAoZGV2X2luZm8uZXZl bnRfZGV2X2NhcCAmDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0VWRU5UX0RFVl9D QVBfSU1QTElDSVRfUkVMRUFTRV9ESVNBQkxFKTsNCj4+DQo+PiAtICAgICAgIHdrcl9wX2NvbmYu ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0gZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlOw0KPj4g KyAgICAgICB3a3JfcF9jb25mLmV2ZW50X3BvcnRfY2ZnID0gZGlzYWJsZV9pbXBsaWNpdF9yZWxl YXNlID8NCj4+ICsgICAgICAgICAgICAgICBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBM X1JFTCA6IDA7DQo+Pg0KPj4gICAgICAgICAgaWYgKGRldl9pbmZvLm1heF9udW1fZXZlbnRzIDwg Y29uZmlnLm5iX2V2ZW50c19saW1pdCkNCj4+ICAgICAgICAgICAgICAgICAgY29uZmlnLm5iX2V2 ZW50c19saW1pdCA9IGRldl9pbmZvLm1heF9udW1fZXZlbnRzOw0KPj4gQEAgLTQxNyw2ICs0MjAs NyBAQCBpbml0X2FkYXB0ZXJzKHVpbnQxNl90IG5iX3BvcnRzKQ0KPj4gICAgICAgICAgICAgICAg ICAuZGVxdWV1ZV9kZXB0aCA9IGNkYXRhLndvcmtlcl9jcV9kZXB0aCwNCj4+ICAgICAgICAgICAg ICAgICAgLmVucXVldWVfZGVwdGggPSA2NCwNCj4+ICAgICAgICAgICAgICAgICAgLm5ld19ldmVu dF90aHJlc2hvbGQgPSA0MDk2LA0KPj4gKyAgICAgICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9 IDAsDQo+PiAgICAgICAgICB9Ow0KPj4NCj4+ICAgICAgICAgIGlmIChhZHB0cl9wX2NvbmYubmV3 X2V2ZW50X3RocmVzaG9sZCA+IGRldl9pbmZvLm1heF9udW1fZXZlbnRzKQ0KPj4gZGlmZiAtLWdp dCBhL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jIGIvZXhh bXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX3R4LmMNCj4+IGluZGV4IDU1 YmIyZjc2Mi4uZThhOTY1MmFhIDEwMDY0NA0KPj4gLS0tIGEvZXhhbXBsZXMvZXZlbnRkZXZfcGlw ZWxpbmUvcGlwZWxpbmVfd29ya2VyX3R4LmMNCj4+ICsrKyBiL2V4YW1wbGVzL2V2ZW50ZGV2X3Bp cGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jDQo+PiBAQCAtNDM2LDYgKzQzNiw3IEBAIHNldHVw X2V2ZW50ZGV2X3dvcmtlcl90eF9lbnEoc3RydWN0IHdvcmtlcl9kYXRhICp3b3JrZXJfZGF0YSkN Cj4+ICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZGV2X2NvbmZpZyBjb25maWcgPSB7DQo+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgLm5iX2V2ZW50X3F1ZXVlcyA9IG5iX3F1ZXVlcywNCj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAubmJfZXZlbnRfcG9ydHMgPSBuYl9wb3J0cywNCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIC5uYl9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVl cyA9IDAsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5iX2V2ZW50c19saW1pdCAgPSA0 MDk2LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uYl9ldmVudF9xdWV1ZV9mbG93cyA9 IDEwMjQsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5iX2V2ZW50X3BvcnRfZGVxdWV1 ZV9kZXB0aCA9IDEyOCwNCj4+IEBAIC00NDUsNiArNDQ2LDcgQEAgc2V0dXBfZXZlbnRkZXZfd29y a2VyX3R4X2VucShzdHJ1Y3Qgd29ya2VyX2RhdGEgKndvcmtlcl9kYXRhKQ0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gY2RhdGEud29ya2VyX2NxX2RlcHRoLA0K Pj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gNjQsDQo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgLm5ld19ldmVudF90aHJlc2hvbGQgPSA0MDk2LA0KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgLmV2ZW50X3BvcnRfY2ZnID0gMCwNCj4+ICAgICAgICAgIH07 DQo+PiAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3F1ZXVlX2NvbmYgd2tyX3FfY29uZiA9IHsN Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAuc2NoZWR1bGVfdHlwZSA9IGNkYXRhLnF1ZXVl X3R5cGUsDQo+PiBAQCAtNzQ2LDYgKzc0OCw3IEBAIGluaXRfYWRhcHRlcnModWludDE2X3QgbmJf cG9ydHMpDQo+PiAgICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gY2RhdGEud29ya2Vy X2NxX2RlcHRoLA0KPj4gICAgICAgICAgICAgICAgICAuZW5xdWV1ZV9kZXB0aCA9IDY0LA0KPj4g ICAgICAgICAgICAgICAgICAubmV3X2V2ZW50X3RocmVzaG9sZCA9IDQwOTYsDQo+PiArICAgICAg ICAgICAgICAgLmV2ZW50X3BvcnRfY2ZnID0gMCwNCj4+ICAgICAgICAgIH07DQo+Pg0KPj4gICAg ICAgICAgaW5pdF9wb3J0cyhuYl9wb3J0cyk7DQo+PiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbDJm d2QtZXZlbnQvbDJmd2RfZXZlbnRfZ2VuZXJpYy5jIGIvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJm d2RfZXZlbnRfZ2VuZXJpYy5jDQo+PiBpbmRleCAyZGM5NWU1ZjcuLmUwMWRmMDQzNSAxMDA2NDQN Cj4+IC0tLSBhL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYw0KPj4g KysrIGIvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+PiBAQCAt MTI2LDggKzEyNiw5IEBAIGwyZndkX2V2ZW50X3BvcnRfc2V0dXBfZ2VuZXJpYyhzdHJ1Y3QgbDJm d2RfcmVzb3VyY2VzICpyc3JjKQ0KPj4gICAgICAgICAgaWYgKGRlZl9wX2NvbmYuZW5xdWV1ZV9k ZXB0aCA8IGV2ZW50X3BfY29uZi5lbnF1ZXVlX2RlcHRoKQ0KPj4gICAgICAgICAgICAgICAgICBl dmVudF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA9IGRlZl9wX2NvbmYuZW5xdWV1ZV9kZXB0aDsNCj4+ DQo+PiAtICAgICAgIGV2ZW50X3BfY29uZi5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPQ0KPj4g LSAgICAgICAgICAgICAgIGV2dF9yc3JjLT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2U7DQo+PiAr ICAgICAgIGV2ZW50X3BfY29uZi5ldmVudF9wb3J0X2NmZyA9IDA7DQo+PiArICAgICAgIGlmIChl dnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlKQ0KPj4gKyAgICAgICAgICAgICAgIGV2 ZW50X3BfY29uZi5ldmVudF9wb3J0X2NmZyB8PSBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9J TVBMX1JFTDsNCj4+ICAgICAgICAgIGV2dF9yc3JjLT5kZXFfZGVwdGggPSBkZWZfcF9jb25mLmRl cXVldWVfZGVwdGg7DQo+Pg0KPj4gICAgICAgICAgZm9yIChldmVudF9wX2lkID0gMDsgZXZlbnRf cF9pZCA8IGV2dF9yc3JjLT5ldnAubmJfcG9ydHM7DQo+PiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMv bDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jIGIvZXhhbXBsZXMvbDJmd2Qt ZXZlbnQvbDJmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jDQo+PiBpbmRleCA2M2Q1N2I0NmMuLmY1 NDMyN2I0ZiAxMDA2NDQNCj4+IC0tLSBhL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50 X2ludGVybmFsX3BvcnQuYw0KPj4gKysrIGIvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZl bnRfaW50ZXJuYWxfcG9ydC5jDQo+PiBAQCAtMTIzLDggKzEyMyw5IEBAIGwyZndkX2V2ZW50X3Bv cnRfc2V0dXBfaW50ZXJuYWxfcG9ydChzdHJ1Y3QgbDJmd2RfcmVzb3VyY2VzICpyc3JjKQ0KPj4g ICAgICAgICAgaWYgKGRlZl9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA8IGV2ZW50X3BfY29uZi5lbnF1 ZXVlX2RlcHRoKQ0KPj4gICAgICAgICAgICAgICAgICBldmVudF9wX2NvbmYuZW5xdWV1ZV9kZXB0 aCA9IGRlZl9wX2NvbmYuZW5xdWV1ZV9kZXB0aDsNCj4+DQo+PiAtICAgICAgIGV2ZW50X3BfY29u Zi5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPQ0KPj4gLSAgICAgICAgICAgICAgIGV2dF9yc3Jj LT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2U7DQo+PiArICAgICAgIGV2ZW50X3BfY29uZi5ldmVu dF9wb3J0X2NmZyA9IDA7DQo+PiArICAgICAgIGlmIChldnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNp dF9yZWxlYXNlKQ0KPj4gKyAgICAgICAgICAgICAgIGV2ZW50X3BfY29uZi5ldmVudF9wb3J0X2Nm ZyB8PSBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBMX1JFTDsNCj4+DQo+PiAgICAgICAg ICBmb3IgKGV2ZW50X3BfaWQgPSAwOyBldmVudF9wX2lkIDwgZXZ0X3JzcmMtPmV2cC5uYl9wb3J0 czsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZXZlbnRfcF9pZCsrKSB7DQo+PiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMv bDNmd2QvbDNmd2RfZXZlbnRfZ2VuZXJpYy5jIGIvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRf Z2VuZXJpYy5jDQo+PiBpbmRleCBmOGM5ODQzNWQuLjQwOWE0MTA3ZSAxMDA2NDQNCj4+IC0tLSBh L2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYw0KPj4gKysrIGIvZXhhbXBsZXMv bDNmd2QvbDNmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+PiBAQCAtMTE1LDggKzExNSw5IEBAIGwzZndk X2V2ZW50X3BvcnRfc2V0dXBfZ2VuZXJpYyh2b2lkKQ0KPj4gICAgICAgICAgaWYgKGRlZl9wX2Nv bmYuZW5xdWV1ZV9kZXB0aCA8IGV2ZW50X3BfY29uZi5lbnF1ZXVlX2RlcHRoKQ0KPj4gICAgICAg ICAgICAgICAgICBldmVudF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA9IGRlZl9wX2NvbmYuZW5xdWV1 ZV9kZXB0aDsNCj4+DQo+PiAtICAgICAgIGV2ZW50X3BfY29uZi5kaXNhYmxlX2ltcGxpY2l0X3Jl bGVhc2UgPQ0KPj4gLSAgICAgICAgICAgICAgIGV2dF9yc3JjLT5kaXNhYmxlX2ltcGxpY2l0X3Jl bGVhc2U7DQo+PiArICAgICAgIGV2ZW50X3BfY29uZi5ldmVudF9wb3J0X2NmZyA9IDA7DQo+PiAr ICAgICAgIGlmIChldnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlKQ0KPj4gKyAgICAg ICAgICAgICAgIGV2ZW50X3BfY29uZi5ldmVudF9wb3J0X2NmZyB8PSBSVEVfRVZFTlRfUE9SVF9D RkdfRElTQUJMRV9JTVBMX1JFTDsNCj4+ICAgICAgICAgIGV2dF9yc3JjLT5kZXFfZGVwdGggPSBk ZWZfcF9jb25mLmRlcXVldWVfZGVwdGg7DQo+Pg0KPj4gICAgICAgICAgZm9yIChldmVudF9wX2lk ID0gMDsgZXZlbnRfcF9pZCA8IGV2dF9yc3JjLT5ldnAubmJfcG9ydHM7DQo+PiBkaWZmIC0tZ2l0 IGEvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jIGIvZXhhbXBsZXMv bDNmd2QvbDNmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jDQo+PiBpbmRleCAwM2FjNTgxZDYuLmRm NDEwZjEwZiAxMDA2NDQNCj4+IC0tLSBhL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVy bmFsX3BvcnQuYw0KPj4gKysrIGIvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfaW50ZXJuYWxf cG9ydC5jDQo+PiBAQCAtMTEzLDggKzExMyw5IEBAIGwzZndkX2V2ZW50X3BvcnRfc2V0dXBfaW50 ZXJuYWxfcG9ydCh2b2lkKQ0KPj4gICAgICAgICAgaWYgKGRlZl9wX2NvbmYuZW5xdWV1ZV9kZXB0 aCA8IGV2ZW50X3BfY29uZi5lbnF1ZXVlX2RlcHRoKQ0KPj4gICAgICAgICAgICAgICAgICBldmVu dF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA9IGRlZl9wX2NvbmYuZW5xdWV1ZV9kZXB0aDsNCj4+DQo+ PiAtICAgICAgIGV2ZW50X3BfY29uZi5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPQ0KPj4gLSAg ICAgICAgICAgICAgIGV2dF9yc3JjLT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2U7DQo+PiArICAg ICAgIGV2ZW50X3BfY29uZi5ldmVudF9wb3J0X2NmZyA9IDA7DQo+PiArICAgICAgIGlmIChldnRf cnNyYy0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlKQ0KPj4gKyAgICAgICAgICAgICAgIGV2ZW50 X3BfY29uZi5ldmVudF9wb3J0X2NmZyB8PSBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBM X1JFTDsNCj4+DQo+PiAgICAgICAgICBmb3IgKGV2ZW50X3BfaWQgPSAwOyBldmVudF9wX2lkIDwg ZXZ0X3JzcmMtPmV2cC5uYl9wb3J0czsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRfcF9pZCsrKSB7DQo+PiBk aWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUvcnRlX2NwdWZsYWdzLmggYi9s aWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZS9ydGVfY3B1ZmxhZ3MuaA0KPj4gaW5kZXggYzFkMjAz NjRkLi5hYjJjM2IzNzkgMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX2VhbC94ODYvaW5jbHVk ZS9ydGVfY3B1ZmxhZ3MuaA0KPj4gKysrIGIvbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUvcnRl X2NwdWZsYWdzLmgNCj4+IEBAIC0xMzAsNiArMTMwLDcgQEAgZW51bSBydGVfY3B1X2ZsYWdfdCB7 DQo+PiAgICAgICAgICBSVEVfQ1BVRkxBR19DTERFTU9URSwgICAgICAgICAgICAgICAvKio8IENh Y2hlIExpbmUgRGVtb3RlICovDQo+PiAgICAgICAgICBSVEVfQ1BVRkxBR19NT1ZESVJJLCAgICAg ICAgICAgICAgICAvKio8IERpcmVjdCBTdG9yZSBJbnN0cnVjdGlvbnMgKi8NCj4+ICAgICAgICAg IFJURV9DUFVGTEFHX01PVkRJUjY0QiwgICAgICAgICAgICAgIC8qKjwgRGlyZWN0IFN0b3JlIElu c3RydWN0aW9ucyA2NEIgKi8NCj4+ICsgICAgICAgUlRFX0NQVUZMQUdfVU1XQUlULCAgICAgICAg ICAgICAgICAgLyoqPCBVTU9OSVRPUi9VTVdBSVQgKi8NCj4+ICAgICAgICAgIFJURV9DUFVGTEFH X0FWWDUxMlZQMklOVEVSU0VDVCwgICAgIC8qKjwgQVZYNTEyIFR3byBSZWdpc3RlciBJbnRlcnNl Y3Rpb24gKi8NCj4+DQo+PiAgICAgICAgICAvKiBUaGUgbGFzdCBpdGVtICovDQo+PiBkaWZmIC0t Z2l0IGEvbGliL2xpYnJ0ZV9lYWwveDg2L3J0ZV9jcHVmbGFncy5jIGIvbGliL2xpYnJ0ZV9lYWwv eDg2L3J0ZV9jcHVmbGFncy5jDQo+PiBpbmRleCAzMDQzOWU3OTUuLjY5YWMwZGJjZSAxMDA2NDQN Cj4+IC0tLSBhL2xpYi9saWJydGVfZWFsL3g4Ni9ydGVfY3B1ZmxhZ3MuYw0KPj4gKysrIGIvbGli L2xpYnJ0ZV9lYWwveDg2L3J0ZV9jcHVmbGFncy5jDQo+PiBAQCAtMTM3LDYgKzEzNyw3IEBAIGNv bnN0IHN0cnVjdCBmZWF0dXJlX2VudHJ5IHJ0ZV9jcHVfZmVhdHVyZV90YWJsZVtdID0gew0KPj4g ICAgICAgICAgRkVBVF9ERUYoQ0xERU1PVEUsIDB4MDAwMDAwMDcsIDAsIFJURV9SRUdfRUNYLCAy NSkNCj4+ICAgICAgICAgIEZFQVRfREVGKE1PVkRJUkksIDB4MDAwMDAwMDcsIDAsIFJURV9SRUdf RUNYLCAyNykNCj4+ICAgICAgICAgIEZFQVRfREVGKE1PVkRJUjY0QiwgMHgwMDAwMDAwNywgMCwg UlRFX1JFR19FQ1gsIDI4KQ0KPj4gKyAgICAgICAgRkVBVF9ERUYoVU1XQUlULCAweDAwMDAwMDA3 LCAwLCBSVEVfUkVHX0VDWCwgNSkNCj4+ICAgICAgICAgIEZFQVRfREVGKEFWWDUxMlZQMklOVEVS U0VDVCwgMHgwMDAwMDAwNywgMCwgUlRFX1JFR19FRFgsIDgpDQo+PiAgIH07DQo+Pg0KPj4gZGlm ZiAtLWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMg Yi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jDQo+PiBpbmRl eCBiYjIxZGM0MDcuLjhhNzIyNTZkZSAxMDA2NDQNCj4+IC0tLSBhL2xpYi9saWJydGVfZXZlbnRk ZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMNCj4+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRk ZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMNCj4+IEBAIC0yODYsNyArMjg2LDcgQEAgdHhh X3NlcnZpY2VfY29uZl9jYih1aW50OF90IF9fcnRlX3VudXNlZCBpZCwgdWludDhfdCBkZXZfaWQs DQo+PiAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+PiAgICAgICAgICB9DQo+Pg0KPj4g LSAgICAgICBwYy0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0gMDsNCj4+ICsgICAgICAgcGMt PmV2ZW50X3BvcnRfY2ZnID0gMDsNCj4+ICAgICAgICAgIHJldCA9IHJ0ZV9ldmVudF9wb3J0X3Nl dHVwKGRldl9pZCwgcG9ydF9pZCwgcGMpOw0KPj4gICAgICAgICAgaWYgKHJldCkgew0KPj4gICAg ICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJmYWlsZWQgdG8gc2V0dXAgZXZlbnQgcG9y dCAldVxuIiwNCj4+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRl di5jIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYw0KPj4gaW5kZXggODJjMTc3 YzczLi40OTU1YWIxYTAgMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9l dmVudGRldi5jDQo+PiArKysgYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jDQo+ PiBAQCAtNDM3LDkgKzQzNywyOSBAQCBydGVfZXZlbnRfZGV2X2NvbmZpZ3VyZSh1aW50OF90IGRl dl9pZCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2lk KTsNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiAgICAgICAgICB9DQo+ PiAtICAgICAgIGlmIChkZXZfY29uZi0+bmJfZXZlbnRfcXVldWVzID4gaW5mby5tYXhfZXZlbnRf cXVldWVzKSB7DQo+PiAtICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiJWQgbmJfZXZl bnRfcXVldWVzPSVkID4gbWF4X2V2ZW50X3F1ZXVlcz0lZCIsDQo+PiAtICAgICAgICAgICAgICAg ZGV2X2lkLCBkZXZfY29uZi0+bmJfZXZlbnRfcXVldWVzLCBpbmZvLm1heF9ldmVudF9xdWV1ZXMp Ow0KPj4gKyAgICAgICBpZiAoZGV2X2NvbmYtPm5iX2V2ZW50X3F1ZXVlcyA+IGluZm8ubWF4X2V2 ZW50X3F1ZXVlcyArDQo+PiArICAgICAgICAgICAgICAgICAgICAgICBpbmZvLm1heF9zaW5nbGVf bGlua19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzKSB7DQo+PiArICAgICAgICAgICAgICAgUlRFX0VE RVZfTE9HX0VSUigiJWQgbmJfZXZlbnRfcXVldWVzPSVkID4gbWF4X2V2ZW50X3F1ZXVlcz0lZCAr IG1heF9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzPSVkIiwNCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9pZCwgZGV2X2NvbmYtPm5iX2V2ZW50X3F1ZXVl cywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8ubWF4X2V2ZW50X3F1 ZXVlcywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8ubWF4X3Npbmds ZV9saW5rX2V2ZW50X3BvcnRfcXVldWVfcGFpcnMpOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOw0KPj4gKyAgICAgICB9DQo+PiArICAgICAgIGlmIChkZXZfY29uZi0+bmJfZXZl bnRfcXVldWVzIC0NCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGRldl9jb25mLT5uYl9zaW5n bGVfbGlua19ldmVudF9wb3J0X3F1ZXVlcyA+DQo+PiArICAgICAgICAgICAgICAgICAgICAgICBp bmZvLm1heF9ldmVudF9xdWV1ZXMpIHsNCj4+ICsgICAgICAgICAgICAgICBSVEVfRURFVl9MT0df RVJSKCJpZCVkIG5iX2V2ZW50X3F1ZXVlcz0lZCAtIG5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRf cXVldWVzPSVkID4gbWF4X2V2ZW50X3F1ZXVlcz0lZCIsDQo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkZXZfaWQsIGRldl9jb25mLT5uYl9ldmVudF9xdWV1ZXMsDQo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfY29uZi0+bmJfc2luZ2xlX2xpbmtfZXZl bnRfcG9ydF9xdWV1ZXMsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZv Lm1heF9ldmVudF9xdWV1ZXMpOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0K Pj4gKyAgICAgICB9DQo+PiArICAgICAgIGlmIChkZXZfY29uZi0+bmJfc2luZ2xlX2xpbmtfZXZl bnRfcG9ydF9xdWV1ZXMgPg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2X2NvbmYtPm5i X2V2ZW50X3F1ZXVlcykgew0KPj4gKyAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoImRl diVkIG5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzPSVkID4gbmJfZXZlbnRfcXVldWVz PSVkIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9pZCwNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9jb25mLT5uYl9zaW5nbGVfbGlua19l dmVudF9wb3J0X3F1ZXVlcywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl dl9jb25mLT5uYl9ldmVudF9xdWV1ZXMpOw0KPj4gICAgICAgICAgICAgICAgICByZXR1cm4gLUVJ TlZBTDsNCj4+ICAgICAgICAgIH0NCj4+DQo+PiBAQCAtNDQ4LDkgKzQ2OCwzMSBAQCBydGVfZXZl bnRfZGV2X2NvbmZpZ3VyZSh1aW50OF90IGRldl9pZCwNCj4+ICAgICAgICAgICAgICAgICAgUlRF X0VERVZfTE9HX0VSUigiZGV2JWQgbmJfZXZlbnRfcG9ydHMgY2Fubm90IGJlIHplcm8iLCBkZXZf aWQpOw0KPj4gICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICAgICAgICAgIH0N Cj4+IC0gICAgICAgaWYgKGRldl9jb25mLT5uYl9ldmVudF9wb3J0cyA+IGluZm8ubWF4X2V2ZW50 X3BvcnRzKSB7DQo+PiAtICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiaWQlZCBuYl9l dmVudF9wb3J0cz0lZCA+IG1heF9ldmVudF9wb3J0cz0gJWQiLA0KPj4gLSAgICAgICAgICAgICAg IGRldl9pZCwgZGV2X2NvbmYtPm5iX2V2ZW50X3BvcnRzLCBpbmZvLm1heF9ldmVudF9wb3J0cyk7 DQo+PiArICAgICAgIGlmIChkZXZfY29uZi0+bmJfZXZlbnRfcG9ydHMgPiBpbmZvLm1heF9ldmVu dF9wb3J0cyArDQo+PiArICAgICAgICAgICAgICAgICAgICAgICBpbmZvLm1heF9zaW5nbGVfbGlu a19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzKSB7DQo+PiArICAgICAgICAgICAgICAgUlRFX0VERVZf TE9HX0VSUigiaWQlZCBuYl9ldmVudF9wb3J0cz0lZCA+IG1heF9ldmVudF9wb3J0cz0lZCArIG1h eF9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzPSVkIiwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRldl9pZCwgZGV2X2NvbmYtPm5iX2V2ZW50X3BvcnRzLA0K Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5tYXhfZXZlbnRfcG9ydHMs DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLm1heF9zaW5nbGVfbGlu a19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzKTsNCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJ TlZBTDsNCj4+ICsgICAgICAgfQ0KPj4gKyAgICAgICBpZiAoZGV2X2NvbmYtPm5iX2V2ZW50X3Bv cnRzIC0NCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGRldl9jb25mLT5uYl9zaW5nbGVfbGlu a19ldmVudF9wb3J0X3F1ZXVlcw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgPiBpbmZvLm1h eF9ldmVudF9wb3J0cykgew0KPj4gKyAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoImlk JWQgbmJfZXZlbnRfcG9ydHM9JWQgLSBuYl9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlcz0l ZCA+IG1heF9ldmVudF9wb3J0cz0lZCIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkZXZfaWQsIGRldl9jb25mLT5uYl9ldmVudF9wb3J0cywNCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRldl9jb25mLT5uYl9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1 ZXVlcywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8ubWF4X2V2ZW50 X3BvcnRzKTsNCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICsgICAgICAg fQ0KPj4gKw0KPj4gKyAgICAgICBpZiAoZGV2X2NvbmYtPm5iX3NpbmdsZV9saW5rX2V2ZW50X3Bv cnRfcXVldWVzID4NCj4+ICsgICAgICAgICAgIGRldl9jb25mLT5uYl9ldmVudF9wb3J0cykgew0K Pj4gKyAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoDQo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZGV2JWQgbmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZXM9 JWQgPiBuYl9ldmVudF9wb3J0cz0lZCIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkZXZfaWQsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfY29u Zi0+bmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZXMsDQo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkZXZfY29uZi0+bmJfZXZlbnRfcG9ydHMpOw0KPj4gICAgICAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICAgICAgICAgIH0NCj4+DQo+PiBAQCAtNzM3LDcg Kzc3OSw4IEBAIHJ0ZV9ldmVudF9wb3J0X3NldHVwKHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBv cnRfaWQsDQo+PiAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPj4gICAgICAgICAg fQ0KPj4NCj4+IC0gICAgICAgaWYgKHBvcnRfY29uZiAmJiBwb3J0X2NvbmYtPmRpc2FibGVfaW1w bGljaXRfcmVsZWFzZSAmJg0KPj4gKyAgICAgICBpZiAocG9ydF9jb25mICYmDQo+PiArICAgICAg ICAgICAocG9ydF9jb25mLT5ldmVudF9wb3J0X2NmZyAmIFJURV9FVkVOVF9QT1JUX0NGR19ESVNB QkxFX0lNUExfUkVMKSAmJg0KPj4gICAgICAgICAgICAgICEoZGV2LT5kYXRhLT5ldmVudF9kZXZf Y2FwICYNCj4+ICAgICAgICAgICAgICAgIFJURV9FVkVOVF9ERVZfQ0FQX0lNUExJQ0lUX1JFTEVB U0VfRElTQUJMRSkpIHsNCj4+ICAgICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigNCj4+ IEBAIC04MDksNiArODUyLDcgQEAgcnRlX2V2ZW50X3BvcnRfYXR0cl9nZXQodWludDhfdCBkZXZf aWQsIHVpbnQ4X3QgcG9ydF9pZCwgdWludDMyX3QgYXR0cl9pZCwNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCAqYXR0cl92YWx1ZSkNCj4+ICAgew0KPj4gICAgICAgICAgc3Ry dWN0IHJ0ZV9ldmVudGRldiAqZGV2Ow0KPj4gKyAgICAgICB1aW50MzJfdCBjb25maWc7DQo+Pg0K Pj4gICAgICAgICAgaWYgKCFhdHRyX3ZhbHVlKQ0KPj4gICAgICAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsNCj4+IEBAIC04MzAsNiArODc0LDEwIEBAIHJ0ZV9ldmVudF9wb3J0X2F0dHJfZ2V0 KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBvcnRfaWQsIHVpbnQzMl90IGF0dHJfaWQsDQo+PiAg ICAgICAgICBjYXNlIFJURV9FVkVOVF9QT1JUX0FUVFJfTkVXX0VWRU5UX1RIUkVTSE9MRDoNCj4+ ICAgICAgICAgICAgICAgICAgKmF0dHJfdmFsdWUgPSBkZXYtPmRhdGEtPnBvcnRzX2NmZ1twb3J0 X2lkXS5uZXdfZXZlbnRfdGhyZXNob2xkOw0KPj4gICAgICAgICAgICAgICAgICBicmVhazsNCj4+ ICsgICAgICAgY2FzZSBSVEVfRVZFTlRfUE9SVF9BVFRSX0lNUExJQ0lUX1JFTEVBU0VfRElTQUJM RToNCj4+ICsgICAgICAgICAgICAgICBjb25maWcgPSBkZXYtPmRhdGEtPnBvcnRzX2NmZ1twb3J0 X2lkXS5ldmVudF9wb3J0X2NmZzsNCj4+ICsgICAgICAgICAgICAgICAqYXR0cl92YWx1ZSA9ICEh KGNvbmZpZyAmIFJURV9FVkVOVF9QT1JUX0NGR19ESVNBQkxFX0lNUExfUkVMKTsNCj4+ICsgICAg ICAgICAgICAgICBicmVhazsNCj4+ICAgICAgICAgIGRlZmF1bHQ6DQo+PiAgICAgICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOw0KPj4gICAgICAgICAgfTsNCj4+IGRpZmYgLS1naXQgYS9saWIv bGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVf ZXZlbnRkZXYuaA0KPj4gaW5kZXggN2RjODMyMzUzLi43ZjdhOGEyNzUgMTAwNjQ0DQo+PiAtLS0g YS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+PiArKysgYi9saWIvbGlicnRl X2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+PiBAQCAtMjkxLDYgKzI5MSwxMyBAQCBzdHJ1Y3Qg cnRlX2V2ZW50Ow0KPj4gICAgKiBzaW5nbGUgcXVldWUgdG8gZWFjaCBwb3J0IG9yIG1hcCBhIHNp bmdsZSBxdWV1ZSB0byBtYW55IHBvcnQuDQo+PiAgICAqLw0KPj4NCj4+ICsjZGVmaW5lIFJURV9F VkVOVF9ERVZfQ0FQX0NBUlJZX0ZMT1dfSUQgKDFVTEwgPDwgOSkNCj4+ICsvKio8IEV2ZW50IGRl dmljZSBpcyBjYXBhYmxlIG9mIGNhcnJ5aW5nIHRoZSBmbG93IElEIGZyb20gdGhlIGVucXVldWVk DQo+PiArICogZXZlbnQgdG8gdGhlIGRlcXVldWVkIGV2ZW50LiBJZiB0aGUgZmxhZyBpcyBzZXQs IHRoZSBkZXF1ZXVlZCBldmVudCdzIGZsb3cNCj4+ICsgKiBJRCBtYXRjaGVzIHRoZSBjb3JyZXNw b25kaW5nIGVucXVldWVkIGV2ZW50J3MgZmxvdyBJRC4gSWYgdGhlIGZsYWcgaXMgbm90DQo+PiAr ICogc2V0LCB0aGUgZGVxdWV1ZWQgZXZlbnQncyBmbG93IElEIGZpZWxkIGlzIHVuaW5pdGlhbGl6 ZWQuDQo+PiArICovDQo+PiArDQoNClRoZSBkZXF1ZXVlZCBldmVudCdzIHZhbHVlIHNob3VsZCBi ZSB1bmRlZmluZWQsIHRvIGxldCBhbiBpbXBsZW1lbnRhdGlvbiANCm92ZXJ3cml0ZSBhbiBleGlz dGluZyB2YWx1ZS4gUmVwbGFjZSAiaXMgY2FwYWJsZSBvZiBjYXJyeWluZyIgd2l0aCANCiJjYXJy aWVzIi4NCg0KDQpJcyAibWFpbnRhaW4iIGJldHRlciB0aGFuICJjYXJyeSI/IE9yICJwcmVzZXJ2 ZSIuIEkgZG9uJ3Qga25vdy4NCg0KPj4gICAvKiBFdmVudCBkZXZpY2UgcHJpb3JpdHkgbGV2ZWxz ICovDQo+PiAgICNkZWZpbmUgUlRFX0VWRU5UX0RFVl9QUklPUklUWV9ISUdIRVNUICAgMA0KPj4g ICAvKio8IEhpZ2hlc3QgcHJpb3JpdHkgZXhwcmVzc2VkIGFjcm9zcyBldmVudGRldiBzdWJzeXN0 ZW0NCj4+IEBAIC0zODAsNiArMzg3LDEwIEBAIHN0cnVjdCBydGVfZXZlbnRfZGV2X2luZm8gew0K Pj4gICAgICAgICAgICogZXZlbnQgcG9ydCBieSB0aGlzIGRldmljZS4NCj4+ICAgICAgICAgICAq IEEgZGV2aWNlIHRoYXQgZG9lcyBub3Qgc3VwcG9ydCBidWxrIGVucXVldWUgd2lsbCBzZXQgdGhp cyBhcyAxLg0KPj4gICAgICAgICAgICovDQo+PiArICAgICAgIHVpbnQzMl90IG1heF9ldmVudF9w b3J0X2xpbmtzOw0KPj4gKyAgICAgICAvKio8IE1heGltdW0gbnVtYmVyIG9mIHF1ZXVlcyB0aGF0 IGNhbiBiZSBsaW5rZWQgdG8gYSBzaW5nbGUgZXZlbnQNCj4+ICsgICAgICAgICogcG9ydCBieSB0 aGlzIGRldmljZS4NCj4+ICsgICAgICAgICovDQoNCg0KRXZlbnRkZXYgQVBJIHN1cHBvcnRzIDI1 NSBxdWV1ZXMsIHNvIHlvdSBzaG91bGQgdXNlIGFuIHVpbnQ4X3QgaGVyZS4NCg0KDQo+PiAgICAg ICAgICBpbnQzMl90IG1heF9udW1fZXZlbnRzOw0KPj4gICAgICAgICAgLyoqPCBBICpjbG9zZWQg c3lzdGVtKiBldmVudCBkZXYgaGFzIGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBldmVudHMgaXQN Cj4+ICAgICAgICAgICAqIGNhbiBtYW5hZ2UgYXQgYSB0aW1lLiBBbiAqb3BlbiBzeXN0ZW0qIGV2 ZW50IGRldiBkb2VzIG5vdCBoYXZlIGENCj4+IEBAIC0zODcsNiArMzk4LDEyIEBAIHN0cnVjdCBy dGVfZXZlbnRfZGV2X2luZm8gew0KPj4gICAgICAgICAgICovDQo+PiAgICAgICAgICB1aW50MzJf dCBldmVudF9kZXZfY2FwOw0KPj4gICAgICAgICAgLyoqPCBFdmVudCBkZXZpY2UgY2FwYWJpbGl0 aWVzKFJURV9FVkVOVF9ERVZfQ0FQXykqLw0KPj4gKyAgICAgICB1aW50OF90IG1heF9zaW5nbGVf bGlua19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzOw0KPj4gKyAgICAgICAvKio8IE1heGltdW0gbnVt YmVyIG9mIGV2ZW50IHBvcnRzIGFuZCBxdWV1ZXMgdGhhdCBhcmUgb3B0aW1pemVkIGZvcg0KPj4g KyAgICAgICAgKiAoYW5kIG9ubHkgY2FwYWJsZSBvZikgc2luZ2xlLWxpbmsgY29uZmlndXJhdGlv bnMgc3VwcG9ydGVkIGJ5IHRoaXMNCj4+ICsgICAgICAgICogZGV2aWNlLiBUaGVzZSBwb3J0cyBh bmQgcXVldWVzIGFyZSBub3QgYWNjb3VudGVkIGZvciBpbg0KPj4gKyAgICAgICAgKiBtYXhfZXZl bnRfcG9ydHMgb3IgbWF4X2V2ZW50X3F1ZXVlcy4NCj4+ICsgICAgICAgICovDQo+PiAgIH07DQo+ Pg0KPj4gICAvKioNCj4+IEBAIC00OTQsNiArNTExLDE0IEBAIHN0cnVjdCBydGVfZXZlbnRfZGV2 X2NvbmZpZyB7DQo+PiAgICAgICAgICAgKi8NCj4+ICAgICAgICAgIHVpbnQzMl90IGV2ZW50X2Rl dl9jZmc7DQo+PiAgICAgICAgICAvKio8IEV2ZW50IGRldmljZSBjb25maWcgZmxhZ3MoUlRFX0VW RU5UX0RFVl9DRkdfKSovDQo+PiArICAgICAgIHVpbnQ4X3QgbmJfc2luZ2xlX2xpbmtfZXZlbnRf cG9ydF9xdWV1ZXM7DQo+PiArICAgICAgIC8qKjwgTnVtYmVyIG9mIGV2ZW50IHBvcnRzIGFuZCBx dWV1ZXMgdGhhdCB3aWxsIGJlIHNpbmdseS1saW5rZWQgdG8NCj4+ICsgICAgICAgICogZWFjaCBv dGhlci4gVGhlc2UgYXJlIGEgc3Vic2V0IG9mIHRoZSBvdmVyYWxsIGV2ZW50IHBvcnRzIGFuZA0K Pj4gKyAgICAgICAgKiBxdWV1ZXM7IHRoaXMgdmFsdWUgY2Fubm90IGV4Y2VlZCAqbmJfZXZlbnRf cG9ydHMqIG9yDQo+PiArICAgICAgICAqICpuYl9ldmVudF9xdWV1ZXMqLiBJZiB0aGUgZGV2aWNl IGhhcyBwb3J0cyBhbmQgcXVldWVzIHRoYXQgYXJlDQo+PiArICAgICAgICAqIG9wdGltaXplZCBm b3Igc2luZ2xlLWxpbmsgdXNhZ2UsIHRoaXMgZmllbGQgaXMgYSBoaW50IGZvciBob3cgbWFueQ0K Pj4gKyAgICAgICAgKiB0byBhbGxvY2F0ZTsgb3RoZXJ3aXNlLCByZWd1bGFyIGV2ZW50IHBvcnRz IGFuZCBxdWV1ZXMgY2FuIGJlIHVzZWQuDQo+PiArICAgICAgICAqLw0KPj4gICB9Ow0KPj4NCj4+ ICAgLyoqDQo+PiBAQCAtNjcxLDYgKzY5NiwyMCBAQCBydGVfZXZlbnRfcXVldWVfYXR0cl9nZXQo dWludDhfdCBkZXZfaWQsIHVpbnQ4X3QgcXVldWVfaWQsIHVpbnQzMl90IGF0dHJfaWQsDQo+Pg0K Pj4gICAvKiBFdmVudCBwb3J0IHNwZWNpZmljIEFQSXMgKi8NCj4+DQo+PiArLyogRXZlbnQgcG9y dCBjb25maWd1cmF0aW9uIGJpdG1hcCBmbGFncyAqLw0KPj4gKyNkZWZpbmUgUlRFX0VWRU5UX1BP UlRfQ0ZHX0RJU0FCTEVfSU1QTF9SRUwgICAgKDFVTEwgPDwgMCkNCj4+ICsvKio8IENvbmZpZ3Vy ZSB0aGUgcG9ydCBub3QgdG8gcmVsZWFzZSBvdXRzdGFuZGluZyBldmVudHMgaW4NCj4+ICsgKiBy dGVfZXZlbnRfZGV2X2RlcXVldWVfYnVyc3QoKS4gSWYgc2V0LCBhbGwgZXZlbnRzIHJlY2VpdmVk IHRocm91Z2gNCj4+ICsgKiB0aGUgcG9ydCBtdXN0IGJlIGV4cGxpY2l0bHkgcmVsZWFzZWQgd2l0 aCBSVEVfRVZFTlRfT1BfUkVMRUFTRSBvcg0KPj4gKyAqIFJURV9FVkVOVF9PUF9GT1JXQVJELiBN dXN0IGJlIHVuc2V0IGlmIHRoZSBkZXZpY2UgaXMgbm90DQo+PiArICogUlRFX0VWRU5UX0RFVl9D QVBfSU1QTElDSVRfUkVMRUFTRV9ESVNBQkxFIGNhcGFibGUuDQo+PiArICovDQo+PiArI2RlZmlu ZSBSVEVfRVZFTlRfUE9SVF9DRkdfU0lOR0xFX0xJTksgICAgICAgICAoMVVMTCA8PCAxKQ0KPj4g Ky8qKjwgVGhpcyBldmVudCBwb3J0IGxpbmtzIG9ubHkgdG8gYSBzaW5nbGUgZXZlbnQgcXVldWUu DQo+PiArICoNCj4+ICsgKiAgQHNlZSBydGVfZXZlbnRfcG9ydF9zZXR1cCgpLCBydGVfZXZlbnRf cG9ydF9saW5rKCkNCj4+ICsgKi8NCj4+ICsNCj4+ICAgLyoqIEV2ZW50IHBvcnQgY29uZmlndXJh dGlvbiBzdHJ1Y3R1cmUgKi8NCj4+ICAgc3RydWN0IHJ0ZV9ldmVudF9wb3J0X2NvbmYgew0KPj4g ICAgICAgICAgaW50MzJfdCBuZXdfZXZlbnRfdGhyZXNob2xkOw0KPj4gQEAgLTY5OCwxMyArNzM3 LDcgQEAgc3RydWN0IHJ0ZV9ldmVudF9wb3J0X2NvbmYgew0KPj4gICAgICAgICAgICogd2hpY2gg cHJldmlvdXNseSBzdXBwbGllZCB0byBydGVfZXZlbnRfZGV2X2NvbmZpZ3VyZSgpLg0KPj4gICAg ICAgICAgICogSWdub3JlZCB3aGVuIGRldmljZSBpcyBub3QgUlRFX0VWRU5UX0RFVl9DQVBfQlVS U1RfTU9ERSBjYXBhYmxlLg0KPj4gICAgICAgICAgICovDQo+PiAtICAgICAgIHVpbnQ4X3QgZGlz YWJsZV9pbXBsaWNpdF9yZWxlYXNlOw0KPj4gLSAgICAgICAvKio8IENvbmZpZ3VyZSB0aGUgcG9y dCBub3QgdG8gcmVsZWFzZSBvdXRzdGFuZGluZyBldmVudHMgaW4NCj4+IC0gICAgICAgICogcnRl X2V2ZW50X2Rldl9kZXF1ZXVlX2J1cnN0KCkuIElmIHRydWUsIGFsbCBldmVudHMgcmVjZWl2ZWQg dGhyb3VnaA0KPj4gLSAgICAgICAgKiB0aGUgcG9ydCBtdXN0IGJlIGV4cGxpY2l0bHkgcmVsZWFz ZWQgd2l0aCBSVEVfRVZFTlRfT1BfUkVMRUFTRSBvcg0KPj4gLSAgICAgICAgKiBSVEVfRVZFTlRf T1BfRk9SV0FSRC4gTXVzdCBiZSBmYWxzZSB3aGVuIHRoZSBkZXZpY2UgaXMgbm90DQo+PiAtICAg ICAgICAqIFJURV9FVkVOVF9ERVZfQ0FQX0lNUExJQ0lUX1JFTEVBU0VfRElTQUJMRSBjYXBhYmxl Lg0KPj4gLSAgICAgICAgKi8NCj4+ICsgICAgICAgdWludDMyX3QgZXZlbnRfcG9ydF9jZmc7IC8q KjwgUG9ydCBjZmcgZmxhZ3MoRVZFTlRfUE9SVF9DRkdfKSAqLw0KPj4gICB9Ow0KPj4NCj4+ICAg LyoqDQo+PiBAQCAtNzY5LDYgKzgwMiwxMCBAQCBydGVfZXZlbnRfcG9ydF9zZXR1cCh1aW50OF90 IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gICAgKiBUaGUgbmV3IGV2ZW50IHRocmVzaG9s ZCBvZiB0aGUgcG9ydA0KPj4gICAgKi8NCj4+ICAgI2RlZmluZSBSVEVfRVZFTlRfUE9SVF9BVFRS X05FV19FVkVOVF9USFJFU0hPTEQgMg0KPj4gKy8qKg0KPj4gKyAqIFRoZSBpbXBsaWNpdCByZWxl YXNlIGRpc2FibGUgYXR0cmlidXRlIG9mIHRoZSBwb3J0DQo+PiArICovDQo+PiArI2RlZmluZSBS VEVfRVZFTlRfUE9SVF9BVFRSX0lNUExJQ0lUX1JFTEVBU0VfRElTQUJMRSAzDQo+Pg0KPj4gICAv KioNCj4+ICAgICogR2V0IGFuIGF0dHJpYnV0ZSBmcm9tIGEgcG9ydC4NCj4+IGRpZmYgLS1naXQg YS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWRfcGNpLmggYi9saWIvbGlicnRl X2V2ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWRfcGNpLmgNCj4+IGluZGV4IDQ0M2NkMzhjMi4uMTU3 Mjk5OTgzIDEwMDY0NA0KPj4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZf cG1kX3BjaS5oDQo+PiArKysgYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWRf cGNpLmgNCj4+IEBAIC04OCw2ICs4OCw2MCBAQCBydGVfZXZlbnRfcG1kX3BjaV9wcm9iZShzdHJ1 Y3QgcnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYsDQo+PiAgICAgICAgICByZXR1cm4gLUVOWElPOw0K Pj4gICB9DQo+Pg0KPj4gKy8qKg0KPj4gKyAqIEBpbnRlcm5hbA0KPj4gKyAqIFdyYXBwZXIgZm9y IHVzZSBieSBwY2kgZHJpdmVycyBhcyBhIC5wcm9iZSBmdW5jdGlvbiB0byBhdHRhY2ggdG8gYSBl dmVudA0KPj4gKyAqIGludGVyZmFjZS4gIFNhbWUgYXMgcnRlX2V2ZW50X3BtZF9wY2lfcHJvYmUs IGV4Y2VwdCBjYWxsZXIgY2FuIHNwZWNpZnkNCj4+ICsgKiB0aGUgbmFtZS4NCj4+ICsgKi8NCj4+ ICtzdGF0aWMgaW5saW5lIGludA0KPj4gK3J0ZV9ldmVudF9wbWRfcGNpX3Byb2JlX25hbWVkKHN0 cnVjdCBydGVfcGNpX2RyaXZlciAqcGNpX2RydiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsDQo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZV90IHByaXZhdGVfZGF0YV9zaXplLA0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIGV2ZW50ZGV2X3BtZF9wY2lfY2FsbGJhY2tfdCBkZXZpbml0LA0KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUpDQo+PiArew0KPj4gKyAg ICAgICBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpldmVudGRldjsNCj4+ICsNCj4+ICsgICAgICAgaW50 IHJldHZhbDsNCj4+ICsNCj4+ICsgICAgICAgaWYgKGRldmluaXQgPT0gTlVMTCkNCj4+ICsgICAg ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICsNCj4+ICsgICAgICAgZXZlbnRkZXYgPSBy dGVfZXZlbnRfcG1kX2FsbG9jYXRlKG5hbWUsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg cGNpX2Rldi0+ZGV2aWNlLm51bWFfbm9kZSk7DQo+PiArICAgICAgIGlmIChldmVudGRldiA9PSBO VUxMKQ0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4gKw0KPj4gKyAgICAg ICBpZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSA9PSBSVEVfUFJPQ19QUklNQVJZKSB7DQo+PiAr ICAgICAgICAgICAgICAgZXZlbnRkZXYtPmRhdGEtPmRldl9wcml2YXRlID0NCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3ptYWxsb2Nfc29ja2V0KA0KPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV2ZW50ZGV2IHByaXZhdGUg c3RydWN0dXJlIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHByaXZhdGVfZGF0YV9zaXplLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0NBQ0hFX0xJTkVfU0laRSwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9zb2NrZXRfaWQoKSk7DQo+ PiArDQo+PiArICAgICAgICAgICAgICAgaWYgKGV2ZW50ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSA9 PSBOVUxMKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgcnRlX3BhbmljKCJDYW5ub3QgYWxs b2NhdGUgbWVtem9uZSBmb3IgcHJpdmF0ZSAiDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImRldmljZSBkYXRhIik7DQo+PiArICAgICAgIH0NCj4+ICsNCj4+ICsg ICAgICAgZXZlbnRkZXYtPmRldiA9ICZwY2lfZGV2LT5kZXZpY2U7DQo+PiArDQo+PiArICAgICAg IC8qIEludm9rZSBQTUQgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uICovDQo+PiArICAg ICAgIHJldHZhbCA9IGRldmluaXQoZXZlbnRkZXYpOw0KPj4gKyAgICAgICBpZiAocmV0dmFsID09 IDApDQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+PiArDQo+PiArICAgICAgIFJURV9F REVWX0xPR19FUlIoImRyaXZlciAlczogKHZlbmRvcl9pZD0weCV4IGRldmljZV9pZD0weCV4KSIN Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICIgZmFpbGVkIiwgcGNpX2Rydi0+ZHJpdmVyLm5h bWUsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KSBwY2lfZGV2LT5p ZC52ZW5kb3JfaWQsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KSBw Y2lfZGV2LT5pZC5kZXZpY2VfaWQpOw0KPj4gKw0KPj4gKyAgICAgICBydGVfZXZlbnRfcG1kX3Jl bGVhc2UoZXZlbnRkZXYpOw0KPj4gKw0KPj4gKyAgICAgICByZXR1cm4gLUVOWElPOw0KPj4gK30N Cj4+DQo+PiAgIC8qKg0KPj4gICAgKiBAaW50ZXJuYWwNCj4+IC0tDQo+PiAyLjEzLjYNCj4+DQoN Cg==