From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010016.outbound.protection.outlook.com [52.101.56.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1A323E49FD; Thu, 8 Oct 2026 13:24:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.16 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791465881; cv=fail; b=p07M7u9x/M47ald5FN/W9flL06h9TxBfPGbuYEVo0K53td6283PEr5hrrxnTI/kkonhsYGTS87U4cvb4K/ZnL6Nr1NrnLejqTVoX8KcFoWsSiXhb+uqXxxQbDfgn3+tT3Dd4g3u7R6In4OuqP9ULMrk1rJAOYIoBgxjfVJ93dSs= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791465881; c=relaxed/simple; bh=/7NefRTU0OuZkJzSdcw7kLhUGV18gZn9bCkSk4M8Tss=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=kSdni92Nf5+iUCUmCh5PZu1/M696ulvJPcVZz2z0T+ceYM6vroGqie+OGbnU9/vFZ+oizBTMxechjFGB0rKZ3inMQLKeqXuHiK/RzoOuK8RdK2404ZJbilzm3Q75yducwqqV7M2Nvsa1nHsFSyIebiQKxmbdyzx1CuzJWbgToRU= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com; spf=pass smtp.mailfrom=microchip.com; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b=WmJstn7f; arc=fail smtp.client-ip=52.101.56.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=microchip.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="WmJstn7f" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xqngewZrh0Flc1xe4wAmJPcL7BG5UaPG9L6K9mE0LZFOFr6OkvJptWsnPXbxVwSjj9r3zzY+d78yBr4WDAsZEaUJ2xnp+naaWngERk5LnYeYkzpqTi+KtfrQFDIcsXL9z/ukllSJBhlDdPxPRfJWZU2RHrsLFWnKdMpzNdkd3dXr65S+LLSYtPRAUDZYl0P7F2nA/x+EzLqg54dqwUIYD3DJqkS6oX/s/lh3RHw5VBSzdtTpRrnkTkjXaO+F4TP70Xfx7iQtTZVU54lnIm88+cwcOdglX09UumOLAfDRvBw37bMsK2tzhgl6Jwzd7hGo3RHwFroKhhJHVW6mSxhdrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=/7NefRTU0OuZkJzSdcw7kLhUGV18gZn9bCkSk4M8Tss=; b=ptrGa1UqZkmbt105XKimML8bHWR8/9ueBK2Z1w4+ElEGwww96s1RUPUk2N4hYLw3m36i8w0U0i89Bn29HyJa2cz0LkmH3XEOR5iMUt/c3CMJm1t0uP6cNyloyorKyECft4oHegChQt/7QFP6UWcR9eslP75H2JIPtp777MCjwYPI1B3tGvi5FGwSleeg8iKyqaAG/BYuT2JR0raIA9H0QaM2OJWE/2KU6fv3PGCSgX8jbPHDz/rPmr6cjl6wOuUXXxV4SW6VF1nHW3ojHTDCkdVFt4/WjTHW47giabODneAy+w1ilIkeLSpUULi2D0PHHVeq8saOjcYu1e8pq0TiBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchip.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/7NefRTU0OuZkJzSdcw7kLhUGV18gZn9bCkSk4M8Tss=; b=WmJstn7fDV/Ptlr696mftfbDs+d7MxKrufSouCacSAdpOhjXmSvOhFNdoHe6KxWlqXKQC4LtQlCVFtVDqxg7qsQFyHuAkEG/ImU0ZGmjJxNkjvXA7RXZxy5ZpPBSOiG2ImG1sbKKNnNN5RNpo/vCmpgiTi+lSEIRv3Iyaf9riAGeAEN0DBMVORhFqrLp8WNC23mSBc1ZpHDHEYEpyj7sq4J/3GbCl7R3yRUy/+Bo7Xfgoj2FXj0iGoN7ArpTxBv/M9UxjuSG18FX6xhwQOy3p/lpk7fc8YDOKV/zdpd+2xyKOXNvMAdJBxGLowreqRyNA36pB0yYss5Aq2a6xLNE5g== Received: from PH7PR11MB8012.namprd11.prod.outlook.com (2603:10b6:510:24b::7) by IA6PR11MB975055.namprd11.prod.outlook.com (2603:10b6:208:5ec::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.496.17; Thu, 8 Oct 2026 13:24:37 +0000 Received: from PH7PR11MB8012.namprd11.prod.outlook.com ([fe80::71b7:7099:a6b4:4bbf]) by PH7PR11MB8012.namprd11.prod.outlook.com ([fe80::71b7:7099:a6b4:4bbf%4]) with mapi id 15.21.0472.016; Thu, 8 Oct 2026 13:24:37 +0000 From: To: CC: , , , , , , , , , Subject: Re: [PATCH net-next v4 2/4] net: ethernet: oa_tc6: deliver the PHY interrupt to phylib Thread-Topic: [PATCH net-next v4 2/4] net: ethernet: oa_tc6: deliver the PHY interrupt to phylib Thread-Index: AQHdUBJsIAikg2In2UCexloM5wo2+7br2B+AgAfYdQA= Date: Thu, 8 Oct 2026 13:24:37 +0000 Message-ID: <1b2d05ae-1235-4d78-8fad-ce7c9e33cf09@microchip.com> References: <20260929125928.611784-3-parthiban.veerasooran@microchip.com> <179103456304.434549.18224886836207577425@kernel.org> In-Reply-To: <179103456304.434549.18224886836207577425@kernel.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla Thunderbird authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microchip.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR11MB8012:EE_|IA6PR11MB975055:EE_ x-ms-office365-filtering-correlation-id: f88c64b7-a977-4be2-c6be-08df253f8024 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|366016|1800799024|38070700021|11063799006|56012099006|5023799004|4143699003|10067099003|22082099003|18002099003|6133799003|3023799007; x-microsoft-antispam-message-info: NHO2DNtwkeHI8l0hWEVtRGEExPflDVgowR4UOREIHQWbLy2Z4fH6igm2LuZp/rsAA1l4B+ngVpEb6LnIKjwR1ybHufSgpsVCrvzgVL879Ia0QxIMsVNbSz1RmG/J5YUBkAgAFxVmb8dnOroEu3gnMHQxICC1zGIBOpnr/57i7ugn1mXGtG+gkhoeKegaimrGwr1kwT5lh/HGBTWtjgVVKgTs/VkbMxDaLXuRTaC/+C6GOCXQ7cS1wvtl50hZCUe35d39VvNRwg9n7rLy8OUj1udzZmLdKTOAxnBPWEfh38RRgGbs7aN/ldOgJUQt7WUq3NfFi9OdVgwO8lVP86j+sFBZ90NzVIwwGRQBCbXqiI9itV33TyCNmokwd6KJnlKSJH8hwnZIohVVnAoa+kK0Qyl9f7U1BYW+Mt6bDQf5K3JEbEU2hpC/eSBT8JzH3bWwZPVwBu2CDNva26afhM0rNGX+Sya7WEdctjdmwDeOCV0QbkYgYWhJ6dmqTXUOQdkMVR2DFJoGJLwFq99CkJji85Ckn14D5pKeiVPWkrQF08CDPAsYkZ1c2RuPpFeP1iRF2FdSZhEnlgL1bmF2kMzzksplwP2v2AN3cWjQD5umzEik29J7ZpIEZZ+RpGanx45GBb2SAxf0cHnN7Beit0tU8jFZ627orah3u0rmnjpx07s= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB8012.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(366016)(1800799024)(38070700021)(11063799006)(56012099006)(5023799004)(4143699003)(10067099003)(22082099003)(18002099003)(6133799003)(3023799007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NThQdFdBZEtCV3prSHE2SE1jMlJxMHV3RjJzUUFKK1o1TFBJd1NRamNDMmlY?= =?utf-8?B?V25ybnpYNjltT3J5ZEp6TnI4MHBOYjZnYlB3UnFxUXpZTEtlZFcxOFZ2RmFo?= =?utf-8?B?SlRUWUFpR3BSSXFGckZtb1daVWtHUTd6dTNhYndZNTc2TDRYdE4vNjRjc0M2?= =?utf-8?B?Und2VnhrOXRxanRrUGxxRzdjR2MzOHFWTUFZc1cyR21BdkRhcFc2WDgvU20r?= =?utf-8?B?V3B1a3Y4NzFyZ3pOUzh0aDFMU29HQ2d6amVIaVpHV29tNFVkK2tSRVF0UnVB?= =?utf-8?B?SkM1akNmeWROWXluOWxRZWhUSXQ0eUFaVVZHSTk5bzJNUk1HbUdPSXR6Smp1?= =?utf-8?B?dmlLL0hYdk44VmV4Q3F2UmFnYm9ldDE5dGpORDRjUFRLSUovOTVHVDhjVU1a?= =?utf-8?B?YTZrblBOaXdmZElta3dRdC9ydis4MkRhait5UUFjRWFlZ3JxNEZHUVgzT0ow?= =?utf-8?B?Y1loMUlDbFFQemMxMlEwb1NTKytuL1U2eUVGV0M5ZkwvYXUyalJXM3M0Y2tY?= =?utf-8?B?S09VR2JtSTlmbWlzdk1iNldaSnI5WEtVTmFCKzgxZGZacVhmUEVQZlk2KzZv?= =?utf-8?B?SWRhTWdwUHYrakxmV2svTHNXMVBnMGlhblFSTFh3OGU3S3M4eUhCVVhwWDBw?= =?utf-8?B?MEwxWlUvQ21CaDhzRU9XOGpBQ0NmaSs2RkJ2NSt6U0pUTDFTVmp3QjdzQ1Ev?= =?utf-8?B?ZWhpVUc2K1JmZGdVQ0QzVWEza256WmxQTmozSFRSczV6NGhHbEFpQm1kTm1C?= =?utf-8?B?SEYvcDk1aTVCRUx2bGtrbWlZODFVeldOUk8vR1lmbWY0bUJ1cExtUDhZaEw5?= =?utf-8?B?MjcxcG1ySTlEVFpoSi9IOWpCUWpXVjE4TC8xTlRKQUpvbWZ0Qyt2TmVaMm1u?= =?utf-8?B?REhXQWU1ZVQ2SFRhSWlwd0VVR3gxc0VyQU1XTS8xVExxQ0xWcGI3RkhxT1Fy?= =?utf-8?B?UzluYW9PUGZwVTR2cVFWTktoQjRMbkNId2xGRnhubm1UZlNvUUNiRmlpOE9a?= =?utf-8?B?UFd2Q1FhSDdVSDNWOFlpZ3FTZXFNWkY2MUc3QjlXWVZtekNsdFZPWmRuMmlC?= =?utf-8?B?RWcyenRqY0lIT0Y1citUWEtqeWR5cUZTNXFZWE10Znd0dTNuMXg4WG5uWndl?= =?utf-8?B?TzY0YmtXVk1RRmRwNnpCQzNmbnBuQ0o1TUJ3R1N4ZnJCQnNCR0RkdUFpdktx?= =?utf-8?B?NGZuRzZIZ0I0dldDWnNIZVE0WS9IRmszOFpvOVFtMUJhZ1pLdWMyRk1Ld0hq?= =?utf-8?B?dXVqSTQzVDl6Z3IzVGQ5V3BOUDVWMmtraUlzSTY3a01DRzJQeWF3WGVyM1U0?= =?utf-8?B?ZTlwRU9GVlpZMmo0UlVtZnkyRFA2aWxoZS85SEdjTlphM1BNb1NWMlBjZ2h5?= =?utf-8?B?b3NLTlVCd0hHWUtUU0t1QTVMb29FOFJ0dkRlU2pFU3RFVkt5YWhtUUhibDJD?= =?utf-8?B?WEFnRzBhVmMvQ0xBWUxxeXpZVGpiVXkxWlppSmFDTHlmaUdSY1g1OXM1Rlg1?= =?utf-8?B?L3E1V1pTTW53YzhKZERjcXl2WTIxMkN2OHdQSFBtMndxejJyZVlJZU9zbnFu?= =?utf-8?B?UDdXMXVmd3UxSWlSU2ZjRlcrRDNuSElRZlBEUFBWOEYwL0I0amp4d1J1VWtt?= =?utf-8?B?Smg1ZXV0ZkNyclhHTnNvR0trZE1xQkxvNUZIWGx3RGM3ZUZKQk5ha1VYUkdC?= =?utf-8?B?b0FYYUlVQ1JucHZjU2FWN3h1bjk1R2NGVDFXOG1uckczMVZzVWN4TldiTHlp?= =?utf-8?B?bXR5MnBZWlZsbFVSNERxY1pqenNjQzF3TTcwMmhxWHVwL3RwVWp5QytFV0Ux?= =?utf-8?B?UnZFQ1VhWUltV2pORmJ2dlJqVDg5UUl4cm10eGoxZVBWTE1pVEVyaTRTakcx?= =?utf-8?B?cXZuLzVqMk8wUzkzbzE1b0s5QnJqRi9tYkNPWllFbyt1WEhHY1RCODk3UEFR?= =?utf-8?B?ZDJSTHZzeHZpZ3lKdnk0K0R4UmRPeU82MEw1dkJLSXdPK0lTV0FncEc5eDF0?= =?utf-8?B?aWVZQzNhOHJZQncrOE1GM2p5STdhUTMwNTVRaGhoREF2V3NnN016aUhBSVBq?= =?utf-8?B?a09meGZQQmd6UFR0UlhHWkEvcWZGelhQWlB3aTZWM1pZUjViNHEwazVoc25z?= =?utf-8?B?TnJISy9oMEtGVzluRkViNzdRZHJaR2RGSmU1WWhOTGVvTnI4bEhtcEhaSVBG?= =?utf-8?B?MTR4L2JkV0tRc3FBbzkwTmhhUUx6SXNibmtaNFJBQ08wWmZtaFZGc2poQmlw?= =?utf-8?B?aWlmWCtuWktyZXFidUhrSVBzclpoeVJaQ2Y3K2krVzFLSVBBR0Uvcm9pOExX?= =?utf-8?B?N1pnTHVqK2ZxN1ZKaC9JZjJ3a3d5bE5FSUhXek1ISkg3V1hiSWZJTFNGUVds?= =?utf-8?Q?PFJZKMvhfSLYxSno=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <5E379A51462AB049B722A05EC5AAB5F2@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: microchip.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB8012.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f88c64b7-a977-4be2-c6be-08df253f8024 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2026 13:24:37.2723 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tRtm2KBlfKmFqqNSjwi+UKQvxt+UcR0JErfbAqn7oJAR/6qQuLEkNGODoEjz07/0h1CUme8EY7D6Jca7qmhc6sCt3i7USBLLZxt8onn2txMs+/CwJF5Fhs638Z4HxHVK X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA6PR11MB975055 T24gMDMvMTAvMjYgNzowNiBwbSwgbmV0ZGV2LWJvdCtzYXNoaWtvQGtlcm5lbC5vcmcgd3JvdGU6 DQo+IEVYVEVSTkFMIEVNQUlMOiBEbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50 cyB1bmxlc3MgeW91IGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZQ0KPiANCj4gVGhhbmsgeW91IGZv ciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQgNiBwb3RlbnRpYWwN Cj4gaXNzdWUocykgdG8gY29uc2lkZXIuDQo+IA0KPiBDcml0aWNhbDogMCDCtyBIaWdoOiAwIMK3 IE1lZGl1bTogMyDCtyBMb3c6IDMNCj4gDQo+IElmIHlvdSBiZWxpZXZlIG5vbmUgb2YgdGhlIGlz c3VlcyBhcmUgbGVnaXRpbWF0ZSwgcGxlYXNlIHJlcGx5IHRvIGVhY2gNCj4gaXNzdWUgb2YgTWVk aXVtIHNldmVyaXR5IG9yIGhpZ2hlciBhbmQgZXhwbGFpbiB3aHkgdGhlIEFJIGlzIHdyb25nLg0K PiBJZiBhbnkgb2YgdGhlbSBhcmUgbGVnaXRpbWF0ZSBhbmQgeW91IHBsYW4gdG8gcmVzcGluLCBw bGVhc2UgbGV0IHBhdGNod29yaw0KPiBrbm93IGJ5IGluY2x1ZGluZyAicHctYm90OiBjciIgYXMg YSBzZXBhcmF0ZSBsaW5lIGF0IHRoZSBlbmQgb2YgeW91ciByZXBseQ0KPiAob25lIHN1Y2ggcmVw bHkgcGVyIHNlcmllcyBpcyBlbm91Z2gpLg0KPiANCj4gLSBbTWVkaXVtXSBvYV90YzZfcGh5X2V4 aXQoKSBub3cgY2FsbHMNCj4gICAgY2FuY2VsX3dvcmtfc3luYygmdGM2LT5waHlfaXJxX3dvcmsp IGZvciBldmVyeSBkZXZpY2UgdGhhdCBkb2VzIG5vdOKApg0KPiAtIFtNZWRpdW1dIEluIG9hX3Rj Nl9wcm9jZXNzX2V4dGVuZGVkX3N0YXR1cygpLCB0aGUgaG90IHBhdGggc2V0cw0KPiAgICBJTlRf TUFTSzAgYml0IDcgaW4gaGFyZHdhcmUgKG9hX3RjNl9waHlfaXJxX21hc2tfaHcoKSkgYW5kIGxl YXZlc+KApg0KPiAtIFtNZWRpdW1dIG9hX3RjNl9waHlfaXJxX3NldHVwKCkgc2V0cyB0YzYtPnBo eV9pcnFfbWFza2VkID0gdHJ1ZSBvbmx5DQo+ICAgIGFmdGVyIGlycV9jcmVhdGVfbWFwcGluZygp IHJldHVybnMuDQo+IC0gW0xvd10gTm8gTUFDIGRyaXZlciBzZXRzIHRoZSBuZXcgT0FfVEM2X1BI WV9JTlQgcXVpcmsgaW4gdGhpcyBjb21taXQuDQo+IC0gW0xvd10gb2FfdGM2X2Rpc2FibGVfdHJh ZmZpYygpIHdyaXRlcyBJTlRfTUFTSzAgPQ0KPiAgICBPQV9UQzZfSU5UX01BU0swX0FMTF9JTlRF UlJVUFRTIGFzIGEgInBvaW50IG9mIG5vIHJldHVybiIgYW5kIG5vd+KApg0KPiAtIFtMb3ddIElu IG9hX3RjNl9wcm9jZXNzX2V4dGVuZGVkX3N0YXR1cygpLCBvYV90YzZfcGh5X2lycV9tYXNrX2h3 KCkgaXMNCj4gICAgY2FsbGVkIGV2ZXJ5IHRpbWUgU1RBVFVTMCBzaG93cyBQSFlfSU5ULCBldmVu IHdoZW4gSU5UX01BU0swIGJpdCA3IGhhc+KApg0KPiANCj4gLS0NCj4gDQo+IG5ldDogZXRoZXJu ZXQ6IG9hX3RjNjogZGVsaXZlciB0aGUgUEhZIGludGVycnVwdCB0byBwaHlsaWINCj4gDQo+IFRo aXMgY29tbWl0IGFkZHMgYW4gT0FfVEM2X1BIWV9JTlQgcXVpcmsuIFdoZW4gdGhlIHF1aXJrIGlz IHNldCwgdGhlDQo+IGluLWJhbmQgUEhZIGludGVycnVwdCBzaWduYWxsZWQgdGhyb3VnaCBTVEFU VVMwIGlzIHBhc3NlZCB0byBwaHlsaWIgYXMgYQ0KPiBuZXN0ZWQgdmlydHVhbCBJUlEuIFRoZSBQ SFlJTlQgbWFzayBiaXQgaW4gSU5UX01BU0swIGlzIGRyaXZlbiBvdmVyIFNQSSBieQ0KPiBhIGN1 c3RvbSBpcnFfY2hpcCB1c2luZyBidXNfbG9jay9idXNfc3luY191bmxvY2ssIGFuZCB0aGUgZGlz cGF0Y2ggZnJvbQ0KPiBvYV90YzZfcHJvY2Vzc19leHRlbmRlZF9zdGF0dXMoKSBpcyBkZWZlcnJl ZCB0byBhIHdvcmtxdWV1ZS4NCj4gDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvb2FfdGM2LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9vYV90YzYuYw0KPj4gaW5kZXggMzY0 MDI3YzM5ZmE0YS4uNzRmZTY1Yjc2MzU5ZSAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L29hX3RjNi5jDQo+PiArKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9vYV90YzYuYw0K PiANCj4gWyAuLi4gXQ0KPiANCj4+ICtzdGF0aWMgdm9pZCBvYV90YzZfcGh5X2lycV93b3JrKHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCj4+ICt7DQo+PiArICAgICBzdHJ1Y3Qgb2FfdGM2ICp0 YzYgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IG9hX3RjNiwgcGh5X2lycV93b3JrKTsNCj4+ ICsgICAgIGludCByZXQ7DQo+PiArDQo+PiArICAgICAvKiBEaXNwYXRjaGVkIG9mZiB0aGUgU1BJ IGNodW5rLXByb2Nlc3NpbmcgdGhyZWFkIHNvIHRoYXQNCj4+ICsgICAgICAqIHBoeV9pbnRlcnJ1 cHQoKSB0YWtpbmcgcGh5ZGV2LT5sb2NrIGFuZCBpc3N1aW5nIHN5bmNocm9ub3VzIFNQSQ0KPj4g KyAgICAgICogY29udHJvbCB0cmFuc2ZlcnMgZnJvbSBQSFkgaGFuZGxlX2ludGVycnVwdCgpIGNh bm5vdCBzdGFsbCB0aGUgc2luZ2xlDQo+PiArICAgICAgKiB0aHJlYWQgcHVtcGluZyBUWC9SWCBk YXRhIGNodW5rcy4NCj4+ICsgICAgICAqLw0KPj4gKyAgICAgaGFuZGxlX25lc3RlZF9pcnEodGM2 LT5waHlfdmlycSk7DQo+PiArDQo+PiArICAgICByZXQgPSBvYV90YzZfcGh5X2lycV91bm1hc2tf aHcodGM2KTsNCj4+ICsgICAgIGlmIChyZXQpDQo+PiArICAgICAgICAgICAgIGRldl9lcnIoJnRj Ni0+c3BpLT5kZXYsICJGYWlsZWQgdG8gdW5tYXNrIFBIWSBpbnRlcnJ1cHQ6ICVkXG4iLA0KPj4g KyAgICAgICAgICAgICAgICAgICAgIHJldCk7DQo+PiArfQ0KPiANCj4gW1NldmVyaXR5OiBNZWRp dW1dDQo+IFdoYXQgcmUtYXJtcyBQSFlJTlQgaWYgb2FfdGM2X3BoeV9pcnFfdW5tYXNrX2h3KCkg ZmFpbHMgaGVyZT8NCj4gDQo+IFRoZSBob3QgcGF0aCBpbiBvYV90YzZfcHJvY2Vzc19leHRlbmRl ZF9zdGF0dXMoKSBzZXRzIElOVF9NQVNLMCBiaXQgNyBpbg0KPiBoYXJkd2FyZSB0aHJvdWdoIG9h X3RjNl9waHlfaXJxX21hc2tfaHcoKSBhbmQgbGVhdmVzIHBoeV9pcnFfbWFza2VkIGZhbHNlLg0K PiBUaGlzIHdvcmtlciBpcyB0aGUgb25seSBwbGFjZSB0aGF0IGNsZWFycyB0aGUgYml0IGFnYWlu Lg0KPiANCj4gSWYgdGhlIElOVF9NQVNLMCByZWFkIG9yIHdyaXRlIGluIG9hX3RjNl9waHlfaXJx X3VubWFza19odygpIGZhaWxzIChhDQo+IHNwaV9zeW5jIGVycm9yLCBvciAtRVBST1RPIGZyb20g b2FfdGM2X2NoZWNrX2N0cmxfcmVhZF9yZXBseSgpIG9yDQo+IG9hX3RjNl9jaGVja19jdHJsX3dy aXRlX3JlcGx5KCkpLCB3ZSBvbmx5IGdldCB0aGUgZGV2X2VycigpLiBUaGUgTUFDLVBIWQ0KPiB0 aGVuIGtlZXBzIFBIWUlOVCBtYXNrZWQsIHdoaWxlIGdlbmlycSBhbmQgcGh5bGliIHN0aWxsIGNv bnNpZGVyIHRoZSBJUlENCj4gZW5hYmxlZC4NCj4gDQo+IE5vdGhpbmcgcmV0cmllcy4gZ2VuaXJx IGhhcyBubyBwZW5kaW5nIG1hc2sgY2hhbmdlIHRvIHN5bmMsIGFuZCBwaHlsaWINCj4gZG9lcyBu b3QgcG9sbCBhIFBIWSB0aGF0IGlzIGluIGludGVycnVwdCBtb2RlLiBMYXRlciBsaW5rIGFuZCBQ TENBIHN0YXR1cw0KPiBjaGFuZ2VzIHdvdWxkIHRoZW4gYmUgbG9zdCB1bnRpbCBzb21lIHVucmVs YXRlZCBleHRlbmRlZC1zdGF0dXMgZXZlbnQsIG9yDQo+IGEgZGlzYWJsZV9pcnEoKS9lbmFibGVf aXJxKCkgY3ljbGUsIHJlLXN5bmNzIHRoZSBiaXQuDQo+IA0KPiBUaGUgbWFzayBzaWRlIGNhbiBl bmQgdXAgaW4gdGhlIHNhbWUgc3RhdGUuIElmIHRoZSBkZXZpY2UgYXBwbGllcyB0aGUNCj4gSU5U X01BU0swIHdyaXRlIGJ1dCB0aGUgZWNob2VkIHJlcGx5IGZhaWxzIHZhbGlkYXRpb24sDQo+IG9h X3RjNl9wcm9jZXNzX2V4dGVuZGVkX3N0YXR1cygpIGxvZ3MgYW4gZXJyb3IgYW5kIHNraXBzIHNj aGVkdWxlX3dvcmsoKS4NCj4gSGFyZHdhcmUgc3RheXMgbWFza2VkIGFuZCBubyB3b3JrZXIgaXMg cXVldWVkLg0KDQpBIGZhaWx1cmUgaW4gb2FfdGM2X3BoeV9pcnFfdW5tYXNrX2h3KCkgaW5kaWNh dGVzIGEgTUFDLVBIWSBjb250cm9sIA0KdHJhbnNhY3Rpb24gZmFpbHVyZSwgc28gdGhlIHJlc3Vs dGluZyBoYXJkd2FyZSBpbnRlcnJ1cHQtbWFzayBzdGF0ZSANCmNhbm5vdCBiZSByZWxpYWJseSBk ZXRlcm1pbmVkIG9yIHJlc3RvcmVkIGJ5IHRoZSBkcml2ZXIuIFRoZSBlcnJvciBpcyANCnJlcG9y dGVkIHJhdGhlciB0aGFuIGF0dGVtcHRpbmcgYW4gYXN5bmNocm9ub3VzIHJldHJ5IG9uIGFuIA0K aW5kZXRlcm1pbmF0ZSBoYXJkd2FyZSBzdGF0ZS4NCg0KQWRkaW5nIGEgcmV0cnkgbWVjaGFuaXNt IHdvdWxkIGludHJvZHVjZSBhbm90aGVyIHJlY292ZXJ5IHBhdGggYW5kIA0KYWRkaXRpb25hbCBJ UlEvbGlmZWN5Y2xlIHN5bmNocm9uaXphdGlvbiBmb3IgYSBNQUMtUEhZIGNvbW11bmljYXRpb24g DQpmYWlsdXJlLg0KDQo+IA0KPiBbIC4uLiBdDQo+IA0KPj4gK3N0YXRpYyBpbnQgb2FfdGM2X3Bo eV9pcnFfc2V0dXAoc3RydWN0IG9hX3RjNiAqdGM2KQ0KPj4gK3sNCj4+ICsgICAgIElOSVRfV09S SygmdGM2LT5waHlfaXJxX3dvcmssIG9hX3RjNl9waHlfaXJxX3dvcmspOw0KPj4gKw0KPj4gKyAg ICAgdGM2LT5waHlfaXJxX2RvbWFpbiA9DQo+PiArICAgICAgICAgICAgIGlycV9kb21haW5fY3Jl YXRlX2xpbmVhcihOVUxMLCAxLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJm9hX3RjNl9waHlfaXJxX2RvbWFpbl9vcHMsIHRjNik7DQo+PiArICAgICBpZiAoIXRj Ni0+cGh5X2lycV9kb21haW4pDQo+PiArICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4g Kw0KPj4gKyAgICAgdGM2LT5waHlfdmlycSA9IGlycV9jcmVhdGVfbWFwcGluZyh0YzYtPnBoeV9p cnFfZG9tYWluLCAwKTsNCj4+ICsgICAgIFdSSVRFX09OQ0UodGM2LT5waHlfaXJxX21hc2tlZCwg dHJ1ZSk7DQo+IA0KPiBbU2V2ZXJpdHk6IE1lZGl1bV0NCj4gSXMgcGh5X2lycV9tYXNrZWQgc2V0 IHRvbyBsYXRlIGhlcmU/DQo+IA0KPiBpcnFfY3JlYXRlX21hcHBpbmcoKSBjYWxscyBpbnRvIHRo ZSAubWFwIGNhbGxiYWNrLCBhbmQNCj4gaXJxX3NldF9jaGlwX2FuZF9oYW5kbGVyKCkgdGFrZXMg dGhlIGNoaXAgYnVzIGxvY2sgaW4gX19pcnFfc2V0X2hhbmRsZXIoKToNCj4gDQo+IGlycV9jcmVh dGVfbWFwcGluZygpDQo+ICAgIG9hX3RjNl9waHlfaXJxX21hcCgpDQo+ICAgICAgaXJxX3NldF9j aGlwX2FuZF9oYW5kbGVyKCkNCj4gICAgICAgIGlycV9zZXRfY2hpcCgpICAgICAgICAgICAvKiBp bnN0YWxscyBvYV90YzZfcGh5X2lycV9jaGlwICovDQo+ICAgICAgICBfX2lycV9zZXRfaGFuZGxl cigpDQo+ICAgICAgICAgIHNjb3BlZF9pcnFkZXNjX2dldF9hbmRfYnVzbG9jayhpcnEsIDApDQo+ ICAgICAgICAgICAgb2FfdGM2X3BoeV9pcnFfYnVzX2xvY2soKQ0KPiAgICAgICAgICAgIG9hX3Rj Nl9waHlfaXJxX2J1c19zeW5jX3VubG9jaygpDQo+IA0KPiBBdCB0aGF0IHBvaW50IHBoeV9pcnFf bWFza2VkIGlzIHN0aWxsIGZhbHNlIGZyb20gZGV2bV9remFsbG9jKCksIHNvDQo+IG9hX3RjNl9w aHlfaXJxX2J1c19zeW5jX3VubG9jaygpIHRha2VzIHRoaXMgYnJhbmNoOg0KPiANCj4gICAgICAg ICAgZWxzZQ0KPiAgICAgICAgICAgICAgICAgIHJlZ3ZhbCAmPSB+T0FfVEM2X0lOVF9NQVNLMF9Q SFlfSU5UX01BU0s7DQo+IA0KPiBJdCB0aGVuIHdyaXRlcyBJTlRfTUFTSzAgb3ZlciBTUEksIHVu bWFza2luZyBQSFlJTlQgaW4gdGhlIE1BQy1QSFkgYmVmb3JlDQo+IHBoeWxpYiBoYXMgcmVxdWVz dGVkIHRoZSBJUlEuIE9ubHkgYWZ0ZXIgdGhhdCBpcyB0aGUgc2hhZG93IHNldCB0bw0KPiBtYXNr ZWQuDQo+IA0KPiBUaGF0IHNlZW1zIHRvIGNvbnRyYWRpY3QgdGhpcyBwYXJ0IG9mIHRoZSBjb21t aXQgbWVzc2FnZToNCj4gDQo+ICAgICAgVGhlIGludGVycnVwdCBzdGFydHMgbWFza2VkIChoYXJk d2FyZSByZXNldCBkZWZhdWx0KSBhbmQgaXMgb25seQ0KPiAgICAgIHVubWFza2VkIHdoZW4gcGh5 bGliIHJlcXVlc3RzIGl0DQo+IA0KPiBJZiBwaHlsaWIgbmV2ZXIgcmVxdWVzdHMgdGhlIElSUSAo Zm9yIGV4YW1wbGUsIHRoZSBQSFkgZHJpdmVyIGhhcyBubw0KPiBpbnRlcnJ1cHQgc3VwcG9ydCBh bmQgcGh5X3Byb2JlKCkgZmFsbHMgYmFjayB0byBQSFlfUE9MTCksIGhhcmR3YXJlIFBIWUlOVA0K PiBzdGF5cyB1bm1hc2tlZCB3aGlsZSB0aGUgc2hhZG93IHNheXMgbWFza2VkLiBUaGUgc2FtZSBo YXBwZW5zIGlmDQo+IG1kaW9idXNfcmVnaXN0ZXIoKSBmYWlscyBhbmQgdGhlIG1hcHBpbmcgaXMg ZGlzcG9zZWQuDQo+IA0KPiBXb3VsZCBzZXR0aW5nIHBoeV9pcnFfbWFza2VkIHRvIHRydWUgYmVm b3JlIGlycV9jcmVhdGVfbWFwcGluZygpIGF2b2lkDQo+IHRoaXM/DQoNClRoZSBQSFkgaW50ZXJy dXB0IHN0YXJ0cyBtYXNrZWQgaW4gaGFyZHdhcmUsIGFuZCB0aGUgdmlydHVhbCBJUlEgaXMgbm90 IA0KZXhwb3NlZCBhcyBhbiBlbmFibGVkIFBIWSBpbnRlcnJ1cHQgbWVyZWx5IGJ5IGNyZWF0aW5n IHRoZSBJUlEgbWFwcGluZy4gDQpUaGUgcGh5X2lycV9tYXNrZWQgZmllbGQgaXMgYSBzaGFkb3cg b2YgdGhlIGludGVuZGVkIFBIWSBpbnRlcnJ1cHQgbWFzayANCnN0YXRlIGFuZCBpcyBzeW5jaHJv bml6ZWQgdGhyb3VnaCB0aGUgSVJRIGJ1cyBtYXNrL3VubWFzayBvcGVyYXRpb25zIA0Kd2hlbiBw aHlsaWIgY29uZmlndXJlcyB0aGUgSVJRLg0KDQpUaGUgbWFwcGluZyBjcmVhdGlvbiBpdHNlbGYg ZG9lcyBub3QgcmVwcmVzZW50IGEgcmVxdWVzdCB0byBlbmFibGUgdGhlIA0KUEhZIGludGVycnVw dCwgc28gdGhlIGludGVycnVwdCByZW1haW5zIHVuZGVyIHBoeWxpYidzIG1hc2svdW5tYXNrIGNv bnRyb2wuDQoNCj4gDQo+PiArICAgICBpZiAoIXRjNi0+cGh5X3ZpcnEpIHsNCj4+ICsgICAgICAg ICAgICAgaXJxX2RvbWFpbl9yZW1vdmUodGM2LT5waHlfaXJxX2RvbWFpbik7DQo+PiArICAgICAg ICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4gKyAgICAgfQ0KPj4gKw0KPj4gKyAgICAgcmV0dXJu IDA7DQo+PiArfQ0KPiANCj4gWyAuLi4gXQ0KPiANCj4+IEBAIC02MjQsNiArODIxLDcgQEAgc3Rh dGljIHZvaWQgb2FfdGM2X3BoeV9leGl0KHN0cnVjdCBvYV90YzYgKnRjNikNCj4+ICAgICAgICBp ZiAodGM2LT5xdWlya19mbGFncyAmIE9BX1RDNl9CUk9LRU5fUEhZKQ0KPj4gICAgICAgICAgICAg ICAgcmV0dXJuOw0KPj4NCj4+ICsgICAgIGNhbmNlbF93b3JrX3N5bmMoJnRjNi0+cGh5X2lycV93 b3JrKTsNCj4gDQo+IFtTZXZlcml0eTogTWVkaXVtXQ0KPiBDYW4gdGhpcyBoaXQgdGhlIFdBUk5f T04oIXdvcmstPmZ1bmMpIGluIF9fZmx1c2hfd29yaygpPw0KPiANCj4gcGh5X2lycV93b3JrIGlz IG9ubHkgaW5pdGlhbGl6ZWQgYnkgdGhlIElOSVRfV09SSygpIGluDQo+IG9hX3RjNl9waHlfaXJx X3NldHVwKCkuIG9hX3RjNl9tZGlvYnVzX3JlZ2lzdGVyKCkgb25seSBjYWxscyB0aGF0IHdoZW4N Cj4gT0FfVEM2X1BIWV9JTlQgaXMgc2V0LCBhbmQgdGM2IGNvbWVzIGZyb20gZGV2bV9remFsbG9j KCkuDQo+IA0KPiBBdCB0aGlzIGNvbW1pdCwgbGFuODY1eF9wcm9iZSgpIGRvZXM6DQo+IA0KPiAg ICAgICAgICBwcml2LT50YzYgPSBvYV90YzZfaW5pdChzcGksIG5ldGRldiwgTlVMTCk7DQo+IA0K PiBzbyBxdWlya19mbGFncyBpcyAwLiBSZW1vdmFsIHRoZW4gZ29lcyB0aHJvdWdoOg0KPiANCj4g b2FfdGM2X2V4aXQoKQ0KPiAgICBvYV90YzZfcGh5X2V4aXQoKQ0KPiAgICAgIGNhbmNlbF93b3Jr X3N5bmMoKQ0KPiAgICAgICAgX19jYW5jZWxfd29ya19zeW5jKCkNCj4gICAgICAgICAgX19mbHVz aF93b3JrKCkNCj4gICAgICAgICAgICBpZiAoV0FSTl9PTighd29yay0+ZnVuYykpDQo+IA0KPiB3 aXRoIGEgemVyb2VkIHdvcmtfc3RydWN0Lg0KPiANCj4gVGhhdCBsb29rcyByZWFjaGFibGUgb24g ZXZlcnkgbGFuODY1eCByZW1vdmUgb3IgdW5iaW5kLiBJdCBhbHNvIGxvb2tzDQo+IHJlYWNoYWJs ZSBvbiB0aGUgZXJyb3IgcGF0aHMgdGhhdCBjYWxsIG9hX3RjNl9waHlfZXhpdCgpLCBib3RoIGlu DQo+IG9hX3RjNl9pbml0KCkgYW5kIG9uIGxhbjg2NXggcHJvYmUgZmFpbHVyZSBhZnRlciBvYV90 YzZfaW5pdCgpLg0KPiANCj4gVGhlIGZvbGxvdy11cCBwYXRjaCAibWljcm9jaGlwOiBsYW44NjV4 OiBlbmFibGUgUEhZIGludGVycnVwdCB2aWEgdmlydHVhbA0KPiBJUlEiIHNldHMgT0FfVEM2X1BI WV9JTlQgZm9yIGxhbjg2NXguIFRoZSBsaWJyYXJ5IHdvdWxkIHN0aWxsIHdhcm4gZm9yIGFueQ0K PiB1c2VyIHRoYXQgcGFzc2VzIE5VTEwgb3IgemVybyBxdWlya3MsIHRob3VnaCwgYW5kIHRoaXMg Y29tbWl0IG9uIGl0cyBvd24NCj4gYnJlYWtzIGJpc2VjdGlvbiBmb3IgbGFuODY1eC4NCj4gDQo+ IENvdWxkIElOSVRfV09SSygpIG1vdmUgdG8gb2FfdGM2X2luaXQoKSB1bmNvbmRpdGlvbmFsbHk/ IEFsdGVybmF0aXZlbHksDQo+IGNhbmNlbF93b3JrX3N5bmMoKSBjb3VsZCBiZSBnYXRlZCBvbiBP QV9UQzZfUEhZX0lOVCBvciB0YzYtPnBoeV92aXJxLg0KDQpwaHlfaXJxX3dvcmsgaXMgb25seSB1 c2VkIHdoZW4gT0FfVEM2X1BIWV9JTlQgaXMgZW5hYmxlZCwgYW5kIHRoZSANCmNvcnJlc3BvbmRp bmcgUEhZIGludGVycnVwdCBzZXR1cCBhbmQgdGVhcmRvd24gYXJlIHBhcnQgb2YgdGhlIHNhbWUg DQpvcHRpb25hbCBJUlEgcGF0aC4gVGhlIGZvbGxvd2luZyBMQU44NjVYIHBhdGNoIGVuYWJsZXMg T0FfVEM2X1BIWV9JTlQgDQpmb3IgdGhlIG9ubHkgY3VycmVudCBpbi10cmVlIGNvbnN1bWVyLg0K DQpGb3IgZGV2aWNlcyB0aGF0IGRvIG5vdCB1c2UgdGhlIFBIWSBpbnRlcnJ1cHQgcXVpcmssIHRo ZSB3b3JrIGl0ZW0gaXMgDQpuZXZlciBzY2hlZHVsZWQsIHNvIHRoZXJlIGlzIG5vIHBlbmRpbmcg UEhZIElSUSB3b3JrIHRvIHN5bmNocm9uaXplIA0KZHVyaW5nIHRlYXJkb3duLg0KDQo+IA0KPj4g ICAgICAgIHBoeV9kaXNjb25uZWN0KHRjNi0+cGh5ZGV2KTsNCj4+ICAgICAgICBvYV90YzZfbWRp b2J1c191bnJlZ2lzdGVyKHRjNik7DQo+PiAgIH0NCj4+IEBAIC03ODAsNyArOTc4LDEyIEBAIHN0 YXRpYyB2b2lkIG9hX3RjNl9kaXNhYmxlX3RyYWZmaWMoc3RydWN0IG9hX3RjNiAqdGM2KQ0KPj4g ICAgICAgIG5ldGlmX3R4X2Rpc2FibGUodGM2LT5uZXRkZXYpOw0KPj4gICAgICAgIG9hX3RjNl9k cm9wX3R4X3NrYih0YzYsIHNrYik7DQo+PiAgICAgICAgb2FfdGM2X2ZyZWVfb25nb2luZ19za2Jz KHRjNik7DQo+PiArICAgICAvKiBTZXJpYWxpemUgSU5UX01BU0swIHdyaXRlIHdpdGggcGh5bGli J3MgbWFzay91bm1hc2sgdG8gcHJldmVudA0KPj4gKyAgICAgICogcmVhZC1tb2RpZnktd3JpdGUg cmFjZXMgaW4gb2FfdGM2X3BoeV9pcnFfYnVzX3N5bmNfdW5sb2NrKCkuDQo+PiArICAgICAgKi8N Cj4+ICsgICAgIG11dGV4X2xvY2soJnRjNi0+cGh5X2lycV9sb2NrKTsNCj4+ICAgICAgICBvYV90 YzZfd3JpdGVfcmVnaXN0ZXIodGM2LCBPQV9UQzZfUkVHX0lOVF9NQVNLMCwgcmVndmFsKTsNCj4+ ICsgICAgIG11dGV4X3VubG9jaygmdGM2LT5waHlfaXJxX2xvY2spOw0KPiANCj4gW1NldmVyaXR5 OiBMb3ddDQo+IERvZXMgdGhpcyBsb2NrIGtlZXAgUEhZSU5UIG1hc2tlZCBhZnRlciB0aGUgcG9p bnQgb2Ygbm8gcmV0dXJuPw0KPiANCj4gVGhlIG11dGV4IHNlcmlhbGl6ZXMgdGhpcyBzaW5nbGUg d3JpdGUuIEhvd2V2ZXIsIHBoeV9pcnFfd29yayBpcyBub3QNCj4gY2FuY2VsbGVkLCBwaHlfaXJx X21hc2tlZCBpcyBub3QgdXBkYXRlZCwgYW5kIGxhdGVyIHJlYWQtbW9kaWZ5LXdyaXRlcyBhcmUN Cj4gbm90IGJsb2NrZWQuDQo+IA0KPiBJbiBvYV90YzZfcHJvY2Vzc19leHRlbmRlZF9zdGF0dXMo KSwgdGhlIFBIWV9JTlQgZGlzcGF0Y2ggcnVucyBiZWZvcmUgdGhlDQo+IFRYIHByb3RvY29sLCBs b3NzIG9mIGZyYW1lIGFuZCBoZWFkZXIgZXJyb3IgY2hlY2tzIHRoYXQgcmV0dXJuIC1FTk9ERVYu IEENCj4gc2luZ2xlIFNUQVRVUzAgdmFsdWUgY2FycnlpbmcgUEhZX0lOVCBwbHVzIG9uZSBvZiB0 aG9zZSBlcnJvciBiaXRzIHdpbGwNCj4gcXVldWUgdGhlIHdvcmsuIEl0IHRoZW4gbGVhZHMgb2Ff dGM2X21hY3BoeV90aHJlYWRlZF9pcnEoKSBpbnRvDQo+IGRpc2FibGVfaXJxX25vc3luYygpIGFu ZCBvYV90YzZfZGlzYWJsZV90cmFmZmljKCkuIEFueSBTUEkgZmFpbHVyZSB3aGlsZQ0KPiB0aGUg d29yayBpcyBhbHJlYWR5IHBlbmRpbmcgZ2V0cyB0byB0aGUgc2FtZSBwbGFjZS4NCj4gDQo+IFRo ZSB3b3JrIGNhbiB0aGVuIHJ1biBjb25jdXJyZW50bHksIG9yIGFmdGVyIHRoaXMgd3JpdGU6DQo+ IA0KPiBvYV90YzZfcGh5X2lycV93b3JrKCkNCj4gICAgaGFuZGxlX25lc3RlZF9pcnEoKSAgICAg ICAgICAvKiBQSFkgZHJpdmVyIFNQSSBjb250cm9sIHRyYW5zZmVycyAqLw0KPiAgICBvYV90YzZf cGh5X2lycV91bm1hc2tfaHcoKQ0KPiAgICAgIHBoeV9pcnFfbWFza2VkIGlzIGZhbHNlLCBJTlRf TUFTSzAgcmVhZHMgYmFjayBhbGwtbWFza2VkDQo+ICAgICAgcmVndmFsICY9IH5PQV9UQzZfSU5U X01BU0swX1BIWV9JTlRfTUFTSzsNCj4gICAgICBvYV90YzZfd3JpdGVfcmVnaXN0ZXIodGM2LCBP QV9UQzZfUkVHX0lOVF9NQVNLMCwgcmVndmFsKTsNCj4gDQo+IFRoaXMgdW5tYXNrcyBQSFlJTlQg YWdhaW4gYW5kIGtlZXBzIGlzc3VpbmcgUEhZIGNvbnRyb2wgdHJhbnNmZXJzIG9uIGENCj4gZGV2 aWNlIHRoYXQgaGFzIGJlZW4gc2h1dCBkb3duLiBOZWl0aGVyIG9hX3RjNl9waHlfaXJxX3VubWFz a19odygpIG5vcg0KPiBvYV90YzZfcGh5X2lycV9idXNfc3luY191bmxvY2soKSBjaGVja3MgdGM2 LT5kaXNhYmxlX3RyYWZmaWMuDQo+IA0KPiBUaGUgaG9zdCBJUlEgaXMgYWxyZWFkeSBkaXNhYmxl ZCBieSBkaXNhYmxlX2lycV9ub3N5bmMoKSwgc28gdGhlcmUgaXMgbm8NCj4gaG9zdCBpbnRlcnJ1 cHQgc3Rvcm0uIFNob3VsZCB0aGUgUEhZIHdvcmsgc3RpbGwgYmUgc3RvcHBlZCBoZXJlLCBvciBz aG91bGQNCj4gdGhlIHVubWFzayBwYXRocyBjaGVjayB0YzYtPmRpc2FibGVfdHJhZmZpYz8NCg0K b2FfdGM2X2Rpc2FibGVfdHJhZmZpYygpIGRpc2FibGVzIHRoZSBob3N0IE1BQy1QSFkgaW50ZXJy dXB0LCBzbyBhIA0KcGVuZGluZyBQSFkgd29yayBpdGVtIGNhbm5vdCByZXN1bHQgaW4gYW4gaW50 ZXJydXB0IHN0b3JtIGFmdGVyIHRyYWZmaWMgDQpoYXMgYmVlbiBkaXNhYmxlZC4NCg0KVGhlIFBI WSB3b3JrcXVldWUgYW5kIE1BQy1QSFkgdHJhZmZpYyBzaHV0ZG93biBhcmUgc2VwYXJhdGUgbGlm ZWN5Y2xlcy4gDQpBZGRpbmcgYWRkaXRpb25hbCBzaHV0ZG93bi1zdGF0ZSBjaGVja3MgdG8gdGhl IFBIWSBJUlEgbWFzay91bm1hc2sgcGF0aHMgDQp3b3VsZCBhZGQgc3RhdGUgZGVwZW5kZW5jaWVz IHdpdGhvdXQgY2hhbmdpbmcgdGhlIGhvc3QgaW50ZXJydXB0IA0Kc2h1dGRvd24gYmVoYXZpb3Iu DQoNCj4gDQo+PiAgICAgICAgb2FfdGM2X3JlYWRfcmVnaXN0ZXIodGM2LCBPQV9UQzZfUkVHX1NU QVRVUzAsICZyZWd2YWwpOw0KPj4gICAgICAgIG9hX3RjNl93cml0ZV9yZWdpc3Rlcih0YzYsIE9B X1RDNl9SRUdfU1RBVFVTMCwgcmVndmFsKTsNCj4+ICAgICAgICBkZXZfZXJyKCZ0YzYtPnNwaS0+ ZGV2LCAiRGV2aWNlIGludGVycnVwdCBkaXNhYmxlZCB0byBhdm9pZCBpbnRlcnJ1cHQgc3Rvcm0i KTsNCj4+IEBAIC04MTMsNiArMTAxNiwyOSBAQCBzdGF0aWMgaW50IG9hX3RjNl9wcm9jZXNzX2V4 dGVuZGVkX3N0YXR1cyhzdHJ1Y3Qgb2FfdGM2ICp0YzYpDQo+PiAgICAgICAgICAgICAgICByZXR1 cm4gcmV0Ow0KPj4gICAgICAgIH0NCj4+DQo+PiArICAgICAvKiBEaXNwYXRjaCB0aGUgUEhZIGlu dGVycnVwdCB0byBwaHlsaWIgdmlhIHRoZSBuZXN0ZWQgdmlydHVhbCBJUlEgc28NCj4gDQo+IFsg Li4uIF0NCj4gDQo+PiArICAgICAgKiBHYXRlIG9uIHBoeV92aXJxICh0aGUgYWN0dWFsIHJlc291 cmNlKSByYXRoZXIgdGhhbiBqdXN0IHRoZSBmbGFnIHRvDQo+PiArICAgICAgKiBiZSBzZWxmLWNv bnNpc3RlbnQgaWYgT0FfVEM2X0JST0tFTl9QSFkgc2tpcHMgaW5pdGlhbGl6YXRpb24uDQo+PiAr ICAgICAgKi8NCj4+ICsgICAgIGlmICh0YzYtPnBoeV92aXJxICYmIEZJRUxEX0dFVChPQV9UQzZf U1RBVFVTMF9QSFlfSU5ULCB2YWx1ZSkpIHsNCj4+ICsgICAgICAgICAgICAgcmV0ID0gb2FfdGM2 X3BoeV9pcnFfbWFza19odyh0YzYpOw0KPiANCj4gW1NldmVyaXR5OiBMb3ddDQo+IERvZXMgdGhp cyByZXBlYXQgYSBmdWxsIElOVF9NQVNLMCByZWFkLW1vZGlmeS13cml0ZSBmb3IgZXZlcnkgY2h1 bmsgZm9vdGVyDQo+IHdoaWxlIFBIWUlOVCBpcyBzdGlsbCBhc3NlcnRlZD8NCj4gDQo+IEFjY29y ZGluZyB0byB0aGUgY29tbWl0IG1lc3NhZ2UsIFBIWUlOVCBpcyBsZXZlbCB0cmlnZ2VyZWQgYW5k IHN0YXlzDQo+IGFzc2VydGVkIHVudGlsIHRoZSB3b3JrZXIgc2VydmljZXMgdGhlIFBIWS4gU28g dGhlIFNUQVRVUzAgd3JpdGUtYmFjayBkb2VzDQo+IG5vdCBjbGVhciBpdCwgYW5kIHRoZSAiaWYg KCF2YWx1ZSkgcmV0dXJuIDA7IiBzaG9ydGN1dCBuZXZlciBmaXJlcy4NCj4gDQo+IEZvb3RlcnMg YXJlIHByb2Nlc3NlZCBhZnRlciB0aGUgd2hvbGUgZGF0YSB0cmFuc2FjdGlvbiBjb21wbGV0ZXMu IEV2ZXJ5DQo+IEVYU1QgZm9vdGVyIGNhcHR1cmVkIGFmdGVyIHRoZSBQSFkgZXZlbnQgdGhlcmVm b3JlIGNvc3RzIGEgU1RBVFVTMCByZWFkLCBhDQo+IFNUQVRVUzAgd3JpdGUsIGFuZCB0aGUgdHdv IElOVF9NQVNLMCB0cmFuc2ZlcnMgaW4gb2FfdGM2X3BoeV9pcnFfbWFza19odygpLA0KPiBldmVu IHRob3VnaCBiaXQgNyBpcyBhbHJlYWR5IHNldC4gSXQgYWxzbyBjb3N0cyBhIG5vLW9wIHNjaGVk dWxlX3dvcmsoKS4NCj4gDQo+IFRoZSBzYW1lIHJlZHVuZGFudCByZWFkLW1vZGlmeS13cml0ZSBo YXBwZW5zIHdoZW4gYW4gdW5yZWxhdGVkDQo+IGV4dGVuZGVkLXN0YXR1cyBldmVudCBhcnJpdmVz IHdoaWxlIFBIWUlOVCBpcyBhbHJlYWR5IG1hc2tlZC4gVGhhdCBzZWVtcw0KPiB0byB3b3JrIGFn YWluc3QgdGhlIGdvYWwgb2Ygbm90IHN0YWxsaW5nIHRoZSB0aHJlYWQgdGhhdCBwdW1wcyBUWC9S WA0KPiBjaHVua3MuDQo+IA0KPiBXb3VsZCBpdCBtYWtlIHNlbnNlIHRvIHNraXAgdGhlIG1hc2sg d2hpbGUgYSBQSFkgZGlzcGF0Y2ggaXMgYWxyZWFkeQ0KPiBwZW5kaW5nPw0KDQpPbmNlIFBIWUlO VCBpcyBkZXRlY3RlZCwgdGhlIHNvdXJjZSBpcyBtYXNrZWQgaW4gaGFyZHdhcmUgYmVmb3JlIHRo ZSANCmRlZmVycmVkIGhhbmRsZXIgaXMgc2NoZWR1bGVkLiBSZXBlYXRpbmcgdGhlIG1hc2sgb3Bl cmF0aW9uIHdoaWxlIHRoZSANCndvcmsgaXMgcGVuZGluZyBpcyBoYXJtbGVzcyBhbmQgcHJlc2Vy dmVzIHRoZSBleGlzdGluZyByZWFkLW1vZGlmeS13cml0ZSANCnN5bmNocm9uaXphdGlvbiBvZiBJ TlRfTUFTSzAuDQoNCkF2b2lkaW5nIHRoZSByZWR1bmRhbnQgb3BlcmF0aW9uIHdvdWxkIHJlcXVp cmUgYWRkaXRpb25hbCBwZW5kaW5nLXdvcmsgDQpzdGF0ZSBhbmQgc3luY2hyb25pemF0aW9uIGZv ciBhbiBvcHRpbWl6YXRpb24gdGhhdCBkb2VzIG5vdCBhZmZlY3QgDQpjb3JyZWN0bmVzcy4NCg0K PiANCj4+ICsgICAgICAgICAgICAgaWYgKHJldCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICBk ZXZfZXJyKCZ0YzYtPnNwaS0+ZGV2LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IkZhaWxlZCB0byBtYXNrIFBIWSBpbnRlcnJ1cHQ6ICVkXG4iLCByZXQpOw0KPj4gKyAgICAgICAg ICAgICBlbHNlDQo+PiArICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVfd29yaygmdGM2LT5w aHlfaXJxX3dvcmspOw0KPj4gKyAgICAgfQ0KPiANCj4gWyAuLi4gXQ0KPiANCj4+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L29hX3RjNi5oIGIvaW5jbHVkZS9saW51eC9vYV90YzYuaA0KPj4g aW5kZXggMjdmNjUyZDQ5MjBiMi4uMWM4Y2MyNjNjNWU1MyAxMDA2NDQNCj4+IC0tLSBhL2luY2x1 ZGUvbGludXgvb2FfdGM2LmgNCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvb2FfdGM2LmgNCj4gDQo+ IFsgLi4uIF0NCj4gDQo+PiBAQCAtNjgsNiArNzAsNyBAQCBzdHJ1Y3Qgb2FfdGM2Ow0KPj4NCj4+ ICAgZW51bSBvYV90YzZfcXVpcmtfZmxhZyB7DQo+PiAgICAgICAgT0FfVEM2X0JST0tFTl9QSFkg PSBCSVQoMCksDQo+PiArICAgICBPQV9UQzZfUEhZX0lOVCAgICA9IEJJVCgxKSwNCj4+ICAgfTsN Cj4gDQo+IFtTZXZlcml0eTogTG93XQ0KPiBUaGlzIGlzbid0IGEgYnVnLCBidXQgbm8gaW4tdHJl ZSBNQUMgZHJpdmVyIHNldHMgT0FfVEM2X1BIWV9JTlQgaW4gdGhpcw0KPiBjb21taXQuIGxhbjg2 NXggcGFzc2VzIE5VTEwgcXVpcmtzIGFuZCBhZGluMTE0MCBwYXNzZXMgT0FfVEM2X0JST0tFTl9Q SFksDQo+IHNvIHRoZSBuZXcgaXJxX2NoaXAsIGlycV9kb21haW4gYW5kIHdvcmtxdWV1ZSBwYXRo IGlzIHVudXNlZCBhdCB0aGlzIHBvaW50DQo+IGluIHRoZSBzZXJpZXMuDQo+IA0KPiBUaGUgbmV4 dCBwYXRjaCwgIm1pY3JvY2hpcDogbGFuODY1eDogZW5hYmxlIFBIWSBpbnRlcnJ1cHQgdmlhIHZp cnR1YWwNCj4gSVJRIiwgc2V0cyB0YzZfcXVpcmtzLnF1aXJrX2ZsYWdzID0gT0FfVEM2X1BIWV9J TlQgaW4gbGFuODY1eF9wcm9iZSgpLiBJdA0KPiBhbHNvIGNhcnJpZXMgdGhlIEZpeGVzOiA3ODM0 MTA0OWZiY2QgdGFnIGFuZCBuYW1lcyB0aGlzIGNvbW1pdCBhcyBpdHMNCj4gcHJlcmVxdWlzaXRl LiBTbyB3aXRoaW4gdGhlIHNlcmllcyB0aGlzIGxvb2tzIGxpa2UgdGhlIHVzdWFsDQo+IGluZnJh c3RydWN0dXJlLXRoZW4tdXNlciBzcGxpdC4NCg0KVGhpcyBwYXRjaCBpbnRlbnRpb25hbGx5IGlu dHJvZHVjZXMgdGhlIE9BIFRDNiBQSFkgaW50ZXJydXB0IA0KaW5mcmFzdHJ1Y3R1cmUgYW5kIHRo ZSBPQV9UQzZfUEhZX0lOVCBxdWlyaywgd2hpbGUgdGhlIGZvbGxvd2luZyBwYXRjaCANCmVuYWJs ZXMgdGhlIHF1aXJrIGZvciBMQU44NjVYLg0KDQpUaGUgaW5mcmFzdHJ1Y3R1cmUgYW5kIGNvbnN1 bWVyIGFyZSBzcGxpdCBpbnRvIHNlcGFyYXRlIHBhdGNoZXMgDQppbnRlbnRpb25hbGx5LCB3aXRo IFBhdGNoIDMgZGVwZW5kaW5nIG9uIHRoaXMgcGF0Y2guDQoNCkJlc3QgcmVnYXJkcywNClBhcnRo aWJhbiBWDQoNCj4gLS0NCj4gU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9uZXRkZXYtYWku Ym90cy5saW51eC5kZXYvc2FzaGlrby8jL3BhdGNoc2V0LzIwMjYwOTI5MTI1OTI4LjYxMTc4NC0x LXBhcnRoaWJhbi52ZWVyYXNvb3JhbiU0MG1pY3JvY2hpcC5jb20NCg0K