From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 200D943928; Mon, 22 Jan 2024 13:51:16 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F2498402C9; Mon, 22 Jan 2024 13:51:15 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 3AAB04028B for ; Mon, 22 Jan 2024 13:51:13 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 40M5gKTC007488; Mon, 22 Jan 2024 04:51:12 -0800 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2168.outbound.protection.outlook.com [104.47.56.168]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3vsjews7bw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Jan 2024 04:51:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gOrN9Ea4ozWkgDAata8ljWtaTsb7PJyDHdJebJ8HXzs4DeeYCXzaB7NrFaOt+meX84w8LPWn0plUBJDZx5YnDd0CUFSIZQ3iIECcdD15/KTqfoFtgRBzEawq0Kg3YZ0i4rBDaijTQ0PwIycYeN/15DqYMAtC+aVSMda8qgT5aMt9xtLPanyMfr8Z204y+GBdD51OBpaSPZlytFF6IC846mw3Nb6qLoXkXF9K+pxBr4jpkB0S7TnoJ6n+hNGCY9wivBNjX5t3kxgApgpN+bJV3wjScSRkZ3aCo/coKWjjmXmW3Pb9hRKtbUQX5mKFXIDcR7wzZFulpyQ8LuuWM+kyFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xsFhU/BdBHlhzOvraZoHgKI0sv5ufqOvrRIZimgq3+0=; b=C4jC6jZeEZIIorxY/baUlOSUV0KAlHLASQAsbfpDrP4OI/HDR/r7nysKmyEY7j+MakV9FvJWPqxOpQzD5ZMAmnAecFDQ/M8crk2f9CU0cJ647xjK8buVkY84HkypZ6J1U3/Ifu2OP2eHOq08Fll9CjuP0uZqAF/MfKaAOCvQzsZm9kk4JrII8Al70We7M6PCBgLkcBHzwmi/PZJMtM+TeVAEwzXNUOQ/E3Qg7ZkAnelz55cmXWlC66+QiYY3OU8lArshd1WnXcHiAzlbViVX0mYXarml6QVo+gN3zdg+Me/XxsiGxkA1guwUYl8msgmlgJCcXrs1yr7kDq3WjXZJ3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xsFhU/BdBHlhzOvraZoHgKI0sv5ufqOvrRIZimgq3+0=; b=Pc7x1oENvG4F+zaeve+AIUTCbMvY+1jdjs2zItNKumdQAmBEGGS9HNrZetJCc1lQUETO9nM/Y9tJAwmrBOI1QLCmVpcUiXaA/5JLD5jh8/OtVZdUsWlDTgeT9cxsjPS90tb0y+cLcoWs+233PymGkOqUwKJdtqJ/qMMKzB0drew= Received: from DS0PR18MB5368.namprd18.prod.outlook.com (2603:10b6:8:12f::17) by MW3PR18MB3660.namprd18.prod.outlook.com (2603:10b6:303:55::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.19; Mon, 22 Jan 2024 12:51:09 +0000 Received: from DS0PR18MB5368.namprd18.prod.outlook.com ([fe80::527e:e38c:2845:1986]) by DS0PR18MB5368.namprd18.prod.outlook.com ([fe80::527e:e38c:2845:1986%4]) with mapi id 15.20.7202.024; Mon, 22 Jan 2024 12:51:09 +0000 From: Srujana Challa To: Maxime Coquelin , "dev@dpdk.org" , "chenbox@nvidia.com" CC: Jerin Jacob , Vamsi Krishna Attunuru Subject: RE: [EXT] Re: [PATCH 1/2] net/virtio-user: improve kick performance with notification area mapping Thread-Topic: [EXT] Re: [PATCH 1/2] net/virtio-user: improve kick performance with notification area mapping Thread-Index: AQHaRJh6M5xyRnUJBk2GHUmdGBR0krDlzcqQ Date: Mon, 22 Jan 2024 12:51:09 +0000 Message-ID: References: <20231208053121.152929-1-schalla@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jYzJOb1lXeHNZVnhoY0hCa1lYUmhYSEp2WVcxcGJtZGNNRGxrT0RRNVlq?= =?utf-8?B?WXRNekprTXkwMFlUUXdMVGcxWldVdE5tSTROR0poTWpsbE16VmlYRzF6WjNO?= =?utf-8?B?Y2JYTm5MV1UzTjJReE1HWmtMV0k1TWpRdE1URmxaUzA0WlRBekxUQTBOMkpq?= =?utf-8?B?WW1NM1ptWTVabHhoYldVdGRHVnpkRnhsTnpka01UQm1aaTFpT1RJMExURXha?= =?utf-8?B?V1V0T0dVd015MHdORGRpWTJKak4yWm1PV1ppYjJSNUxuUjRkQ0lnYzNvOUlq?= =?utf-8?B?TXlPREl3SWlCMFBTSXhNek0xTURRd01UUTJOVGc1T0Rrd09UZ2lJR2c5SWtv?= =?utf-8?B?eGIwaFNTbFJOVFU1WlozVkxTelZFVGt0aVJsZHhXWEp0VVQwaUlHbGtQU0lp?= =?utf-8?B?SUdKc1BTSXdJaUJpYnowaU1TSWdZMms5SW1OQlFVRkJSVkpJVlRGU1UxSlZS?= =?utf-8?B?azVEWjFWQlFVdEpWRUZCUVhGaVRtRndUVlV6WVVGWFlqSjVXVUp5TUVocmIx?= =?utf-8?B?cDJZa3BuUjNaUlpWTm5WMEZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRklRVUZCUVVOVlJGRkJRVUpCTkVGQlNqUkdRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGRlFVRlJSVUpCUVVGQmRrUkNUM1ZuUTBGQlVVRkJRVUZCUVVGQlFVRkJT?= =?utf-8?B?alJCUVVGQ2FFRkhVVUZhUVVKNVFVZFZRV04zUW5wQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVWQlFVRkJRVUZCUVVG?= =?utf-8?B?QlowRkJRVUZCUVc1blFVRkJSMDFCWkZGQ2VrRklVVUZpZDBKMFFVWTRRV05C?= =?utf-8?B?UW14QlNFbEJZM2RDZGtGSE5FRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRlJR?= =?utf-8?B?VUZCUVVGQlFVRkJRMEZCUVVGQlFVTmxRVUZCUVZsM1FqRkJTRTFCWkVGQ2Rr?= =?utf-8?B?RkhNRUZZZDBKM1FVZG5RV0ozUW5WQlIxVkJZbWRDTVVGSE1FRlpaMEpzUVVo?= =?utf-8?B?SlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZDUVVGQlFVRkJRVUZCUVVsQlFVRkJRVUZLTkVGQlFVSnFRVWhW?= =?utf-8?B?UVdOM1FqQkJSemhCWWxGQ1prRklUVUZqZDBKMVFVWTRRVnBCUW1oQlNFMUJZ?= =?utf-8?B?VUZDWmtGSVdVRk5RVUY1UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-refone: =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlJVRkJRVUZCUVVGQlFVRm5RVUZCUVVGQmJtZEJRVUZI?= =?utf-8?B?VFVGa1VVSjZRVWhSUVdKM1FuUkJSamhCWTNkQ2VrRkhORUZZZDBKeVFVZFZR?= =?utf-8?B?V1ZSUWpOQlJ6aEJZMmRDYTBGSVRVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVkZCUVVGQlFVRkJRVUZEUVVGQlFV?= =?utf-8?B?RkJRMlZCUVVGQldYZENNVUZJVFVGa1FVSjJRVWN3UVZoM1FucEJTRTFCWW1k?= =?utf-8?B?Q1prRkhORUZpZDBKclFVZFZRV0pCUW5CQlJ6QkJZVkZDTUVGSFZVRmpaMEpt?= =?utf-8?B?UVVoWlFVMUJRWGxCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVKQlFVRkJRVUZC?= =?utf-8?B?UVVGQlNVRkJRVUZCUVVvMFFVRkJRbXBCU0ZWQlkzZENNRUZIT0VGaVVVSm1R?= =?utf-8?B?VWhOUVdOM1FuVkJSamhCWTNkQ2QwRkhSVUZaZDBKc1FVWTRRV1JuUVhkQlJF?= =?utf-8?B?bEJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkZRVUZCUVVGQlFVRkJRV2RCUVVGQlFVRnVaMEZCUVVkUlFXSkJRbmRCUmpo?= =?utf-8?B?QlkzZENja0ZJYTBGalFVSnNRVVk0UVZsM1FtOUJSMFZCWkVGQ1prRkhNRUZh?= =?utf-8?B?VVVKNlFVaE5RVmxSUW01QlIxVkJXSGRDTWtGRVFVRk5aMEZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCVVVGQlFVRkJRVUZCUVVOQlFVRkJRVUZEWlVGQlFVRmFR?= =?utf-8?B?VUp6UVVoQlFWaDNRbnBCUjNkQldWRkNha0ZIYzBGWWQwSnFRVWRuUVZsUlFq?= =?utf-8?B?QkJSamhCWWxGQ2JFRklUVUZqZDBKb1FVZGpRVnBSUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-reftwo: =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFrRkJRVUZCUVVGQlFVRkpRVUZCUVVGQlNqUkJR?= =?utf-8?B?VUZDYTBGSGQwRmpRVUptUVVoUlFWcFJRbWhCUnpCQlkzZENaa0ZIT0VGaVow?= =?utf-8?B?SnNRVWRSUVdOblFuQkJTRmxCV2xGQ1prRkhXVUZoVVVKelFVZFZRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVVZCUVVGQlFVRkJRVUZCWjBG?= =?utf-8?B?QlFVRkJRVzVuUVVGQlIxVkJZbEZDYUVGSGEwRmlRVUptUVVkRlFWcEJRbXRC?= =?utf-8?B?U0VsQldsRkNla0ZJVFVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFWRkJRVUZCUVVGQlFVRkJRVUZCUVVGUlFVRkJR?= =?utf-8?B?VUZCUVVGQlEwRkJRVUZCUVVObFFVRkJRV0pSUW1oQlNFbEJaR2RDYkVGSGQw?= =?utf-8?B?RllkMEozUVVoSlFXSjNRbkZCUjFWQldYZENNRUZHT0VGaVowSm9RVWN3UVZw?= =?utf-8?B?UlFucEJSamhCV1hkQ2RrRkhORUZhWjBKd1FVZFJRVnBSUW5WQlNGRkJZVkZD?= =?utf-8?B?YUVGSGQwRllkMEpvUVVkM1FXSjNRblZCUjFWQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkNRVUZCUVVGQlFVRkJRVWxCUVVGQlFVRktORUZCUVVKMFFVZEZRV05u?= =?utf-8?B?UWpKQlIxVkJZa0ZDWmtGSVFVRmpaMEoyUVVkdlFWcFJRbXBCU0ZGQldIZENk?= =?utf-8?B?VUZIUlVGaVVVSnNRVWhOUVZoM1FubEJSMVZCWTNkQ01FRklTVUZoVVVKcVFV?= =?utf-8?B?aFJRVnBSUW10QlJqaEJXVkZDYzBGSE9FRmlaMEpzUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUlVGQlFVRkJRVUZCUVVGblFVRkJRVUZCYm1kQlFV?= =?utf-8?B?RkhNRUZaVVVKNVFVaFpRVnBSUW5OQlJqaEJZMEZDZVVGSE9FRmhaMEpzUVVk?= =?utf-8?B?TlFXUkJRbVpCUnpSQldWRkNkRUZIVlVGamQwSm1RVWhKUVZwUlFucEJTRkZC?= =?utf-8?B?WTJkQ2NFRkhUVUZrUVVKc1FVZFJRVmgzUW05QlIxVkJaVUZDYWtGSE9FRmFR?= =?utf-8?B?VUpzUVVoTlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFWRkJRVUZCUVVGQlFVRkRRVUZC?= =?utf-8?B?UVVGQlEyVkJRVUZCWWxGQ2FFRklTVUZrWjBKc1FVZDNRV0pCUW1aQlIwVkJZ?= =?utf-8?B?MmRDZEVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-refthree: =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUpCUVVGQlFVRkJRVUZC?= =?utf-8?B?U1VGQlFVRkJRVW8wUVVGQlFuUkJSMFZCWTJkQ01rRkhWVUZpUVVKelFVWTRR?= =?utf-8?B?VnAzUW5aQlJ6aEJXbmRDYzBGSFZVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGRlFV?= =?utf-8?B?RkJRVUZCUVVGQlFXZEJRVUZCUVVGdVowRkJRVWN3UVZsUlFubEJTRmxCV2xG?= =?utf-8?B?Q2MwRkhkMEZZZDBKM1FVaEpRV0ozUW5GQlIxVkJXWGRDTUVGR09FRmlaMEpv?= =?utf-8?B?UVVjd1FWcFJRbnBCUmpoQldYZENka0ZITkVGYVowSndRVWRSUVZwUlFuVkJT?= =?utf-8?B?RkZCWVZGQ2FFRkhkMEZZZDBKMFFVZEZRV05uUWpKQlIxVkJZa0ZDYzBGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJVVUZCUVVGQlFVRkJRVU5CUVVGQlFVRkRaVUZCUVVGaVVVSm9R?= =?utf-8?B?VWhKUVdSblFteEJSM2RCWWtGQ1prRklRVUZqWjBKMlFVZHZRVnBSUW1wQlNG?= =?utf-8?B?RkJXSGRDZFVGSFJVRmlVVUpzUVVoTlFWaDNRbXBCUnpoQlltZENiVUZIYTBG?= =?utf-8?B?YVFVSnNRVWMwUVdSQlFuQkJSMFZCWWtGQ1prRkhNRUZaVVVKNVFVaFpRVnBS?= =?utf-8?B?UW5OQlIzZEJXSGRDZGtGSVNVRllkMEpvUVVoSlFXSlJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUWtGQlFVRkJRVUZCUVVGSlFVRkJRVUZCU2pS?= =?utf-8?B?QlFVRkNkRUZIUlVGalowSXlRVWRWUVdKQlFuTkJSamhCWTBGQ2VVRkhPRUZo?= =?utf-8?B?WjBKc1FVZE5RV1JCUW1aQlJ6UkJXVkZDZEVGSFZVRmpkMEptUVVkTlFXSjNR?= =?utf-8?B?blZCUjFsQllWRkNhMEZIVlVGaVowSXdRVWRyUVZsUlFuTkJSamhCWWxGQ2FF?= =?utf-8?B?RklTVUZrWjBKc1FVZDNRV0pCUW1aQlJ6aEJZMmRDWmtGSFkwRmlkMEoyUVVk?= =?utf-8?B?alFXSkJRbXhCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVVkJRVUZCUVVGQlFVRkJa?= =?utf-8?B?MEZCUVVGQlFXNW5RVUZCUnpCQldWRkNlVUZJV1VGYVVVSnpRVWQzUVZoM1Fu?= =?utf-8?B?ZEJTRWxCWW5kQ2NVRkhWVUZaZDBJd1FVWTRRV0puUW1oQlJ6QkJXbEZDZWtG?= =?utf-8?B?R09FRmpaMEpzUVVoTlFXUkJRbmxCUjJ0QldYZENNRUZIVlVGYVFVSm1RVWN3?= =?utf-8?B?UVZsUlFubEJTRmxCV2xGQ2MwRkhkMEZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-reffour: =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZSUVVGQlFVRkJR?= =?utf-8?B?VUZCUTBGQlFVRkJRVU5sUVVGQlFXSlJRbWhCU0VsQlpHZENiRUZIZDBGaVFV?= =?utf-8?B?Sm1RVWhCUVdOblFuWkJSMjlCV2xGQ2FrRklVVUZZZDBKMVFVZEZRV0pSUW14?= =?utf-8?B?QlNFMUJXSGRDZVVGSFZVRmpkMEl3UVVoSlFXRlJRbXBCU0ZGQldsRkNhMEZH?= =?utf-8?B?T0VGaVVVSm9RVWhKUVdSblFteEJSM2RCWWtGQ1prRkhPRUZqWjBKbVFVZEZR?= =?utf-8?B?V05uUW5SQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?Q1FVRkJRVUZCUVVGQlFVbEJRVUZCUVVGS05FRkJRVUowUVVkRlFXTm5RakpC?= =?utf-8?B?UjFWQllrRkNjMEZHT0VGa2QwSjJRVWhKUVZwQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZGUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJSVUZCUVVGQlFVRkJRVUZuUVVGQlFVRkJibWRWUVVGQlFV?= =?utf-8?B?RkJRVUZKUVVGQlFVRkJRVUZCUVdkQlFVRkJRVUZCUVVGRFFVRkJRVUZCUVVG?= =?utf-8?B?QlFpdENVVUZCUm1kQlFVRkNaMEZCUVVGQlFVRkJRVmxSUW10QlIxRkJZMmRD?= =?utf-8?B?YkVGSVRVRmpkMEZCUVVOUlFVRkJRVUZCUVVGQldYZENNVUZJVFVGa1FVSjJR?= =?utf-8?B?VWN3UVZoM1FuZEJSMVZCWTJkQ2VrRkhPRUZpWjBGQlFVTTBRVUZCUVVGQlFV?= =?utf-8?B?RkJXWGRDTVVGSVRVRmtRVUoyUVVjd1FWaDNRbmRCUjJkQlluZENkVUZIVlVG?= =?utf-8?B?aVowSXhRVWN3UVZsblFteEJTRWxCUVVGQmQwRkJRVUZCUVVGQlFVZE5RV1JS?= =?utf-8?B?UW5wQlNGRkJZbmRDZEVGR09FRmpkMEo2UVVjMFFWaDNRbXRCUjBWQlkzZENi?= =?utf-8?B?MEZHT0VGa1owRjNRVVJKUVVGQlFYZEJRVUZCUVVGQlFVRkhUVUZrVVVKNlFV?= =?utf-8?B?aFJRV0ozUW5SQlJqaEJZM2RDZWtGSE5FRllkMEp5UVVkVlFXVlJRak5CUnpo?= =?utf-8?B?QlkyZENhMEZJVFVGQlFVRXJRVUZCUVVGQlFVRkJSMDFCWkZGQ2VrRklVVUZp?= =?utf-8?B?ZDBKMFFVWTRRV04zUW5wQlJ6UkJXSGRDZFVGSE9FRmFRVUpzUVVkM1FXRlJR?= =?utf-8?B?blJCUjJ0QlpFRkNiRUZJU1VGWWQwSXlRVVJCUVUxblFVRkJSRWxCUVVGQlFV?= =?utf-8?B?RkJRVUZaZDBJeFFVaE5RV1JCUW5aQlJ6QkJXSGRDZWtGSVRVRmlaMEptUVVo?= =?utf-8?B?TlFXTkJRbWhCUjAxQldsRkNaa0ZJV1VGTlFVRjVRVUZCUVZCblFVRkJRVUZC?= =?utf-8?B?UVVGQ2EwRkhkMEZqUVVKbVFVaE5RV0YzUWpWQlNFRkJXbEZDWmtGSFRVRmhR?= =?utf-8?B?VUpvUVVoUlFWaDNRblJCUjFWQlkzZENla0ZIUlVGYWQwSnNRVVk0UVdSblFY?= =?utf-8?B?ZEJSRWxCUVVGQk1rRkJRVUZCUVVGQlFVZFJRV0pCUW5kQlJqaEJZM2RDYzBG?= =?utf-8?B?SFJVRlpkMEp5UVVZNFFWbDNRbTlCUjBWQlpFRkNaa0ZITUVGYVVVSjZRVWhO?= =?utf-8?B?UVZsUlFtNUJSMVZCUVVGQk5FRkJRVUZCUVVGQlFVZFJRV0pCUW5kQlJqaEJa?= =?utf-8?B?RUZDYkVGSFJVRmlVVUo2UVVZNFFXSjNRblZCUjFWQldrRkNlVUZIYTBGa1ow?= =?utf-8?Q?JsQUY4?= x-dg-reffive: =?utf-8?B?UVZwblFuQkJSM2RCV2xGQlFVRkRVVUZCUVVGQ1FVRkJRVnBSUW5SQlIwVkJZ?= =?utf-8?B?VkZDYzBGR09FRlpVVUpyUVVkUlFXTm5RbXhCU0UxQlkzZEJRVUZHWjBGQlFV?= =?utf-8?B?RkJRVUZCUVdKUlFtaEJTRWxCWkdkQ2JFRkhkMEZZZDBKM1FVaEpRV0ozUW5G?= =?utf-8?B?QlIxVkJXWGRDTUVGR09FRmlaMEpvUVVjd1FWcFJRbnBCUmpoQldYZENka0ZI?= =?utf-8?B?TkVGYVowSndRVWRSUVZwUlFuVkJTRkZCWVZGQ2FFRkhkMEZZZDBKb1FVZDNR?= =?utf-8?B?V0ozUW5WQlIxVkJRVUZDVlVGQlFVRkJRVUZCUVVjd1FWbFJRbmxCU0ZsQlds?= =?utf-8?B?RkNjMEZHT0VGalFVSjVRVWM0UVdGblFteEJSMDFCWkVGQ1prRkhORUZaVVVK?= =?utf-8?B?MFFVZFZRV04zUW1aQlNFbEJXbEZDZWtGSVVVRmpaMEp3UVVkTlFXUkJRbXhC?= =?utf-8?B?UjFGQldIZENhRUZIZDBGaWQwSjFRVWRWUVVGQlFtRkJRVUZCUVVGQlFVRkhN?= =?utf-8?B?RUZaVVVKNVFVaFpRVnBSUW5OQlJqaEJZMEZDZVVGSE9FRmhaMEpzUVVkTlFX?= =?utf-8?B?UkJRbVpCUnpSQldWRkNkRUZIVlVGamQwSm1RVWhKUVZwUlFucEJTRkZCWTJk?= =?utf-8?B?Q2NFRkhUVUZrUVVKc1FVZFJRVmgzUW05QlIxVkJaVUZDYWtGSE9FRmFRVUpz?= =?utf-8?B?UVVoTlFVRkJRV2RCUVVGQlFVRkJRVUZITUVGWlVVSjVRVWhaUVZwUlFuTkJS?= =?utf-8?B?M2RCV0hkQ2FFRklTVUZpVVVGQlFVTlpRVUZCUVVGQlFVRkJZbEZDYUVGSVNV?= =?utf-8?B?RmtaMEpzUVVkM1FXSkJRbVpCUjJOQlluZENka0ZIWTBGaVFVSnNRVUZCUVZo?= =?utf-8?B?blFVRkJRVUZCUVVGQ2RFRkhSVUZqWjBJeVFVZFZRV0pCUW5OQlJqaEJZMEZD?= =?utf-8?B?ZVVGSE9FRmhaMEpzUVVkTlFXUkJRbVpCUnpSQldWRkNkRUZIVlVGamQwSm1R?= =?utf-8?B?VWROUVdKM1FuVkJSMWxCWVZGQ2EwRkhWVUZpWjBJd1FVZHJRVmxSUW5OQlJq?= =?utf-8?B?aEJZbEZDYUVGSVNVRmtaMEpzUVVkM1FXSkJRVUZCUjNkQlFVRkJRVUZCUVVG?= =?utf-8?B?aVVVSm9RVWhKUVdSblFteEJSM2RCWWtGQ1prRklRVUZqWjBKMlFVZHZRVnBS?= =?utf-8?B?UW1wQlNGRkJXSGRDZFVGSFJVRmlVVUpzUVVoTlFWaDNRbXBCUnpoQlltZENi?= =?utf-8?B?VUZIYTBGYVFVSnNRVWMwUVdSQlFuQkJSMFZCWWtGQ1prRkhNRUZaVVVKNVFV?= =?utf-8?B?aFpRVnBSUW5OQlIzZEJXSGRDZGtGSVNVRllkMEpvUVVoSlFXSlJRVUZCU0Vs?= =?utf-8?B?QlFVRkJRVUZCUVVGaVVVSm9RVWhKUVdSblFteEJSM2RCWWtGQ1prRklRVUZq?= =?utf-8?B?WjBKMlFVZHZRVnBSUW1wQlNGRkJXSGRDZFVGSFJVRmlVVUpzUVVoTlFWaDNR?= =?utf-8?B?bXBCUnpoQlltZENiVUZIYTBGYVFVSnNRVWMwUVdSQlFuQkJSMFZCWWtGQ1pr?= =?utf-8?B?RkhNRUZaVVVKNVFVaFpRVnBSUW5OQlIzZEJXSGRDZGtGSVNVRllkMEp1UVVj?= =?utf-8?B?NFFXSjNRbTVCUjNkQldsRkJRVUZHYjBGQlFVRkJRVUZCUVdKUlFtaEJTRWxC?= =?utf-8?B?WkdkQ2JFRkhkMEZpUVVKbVFVaEJRV05uUW5aQlIyOUJXbEZDYWtGSVVVRllk?= =?utf-8?B?MEoxUVVkRlFXSlJRbXhCU0UxQldIZENlVUZIVlVGamQwSXdRVWhKUVdGUlFt?= =?utf-8?B?cEJTRkZCV2xGQ2EwRkdPRUZpVVVKb1FVaEpRV1JuUW14QlIzZEJZa0ZCUVVG?= =?utf-8?B?SFowRkJRVUZCUVVGQlFXSlJRbWhCU0VsQlpHZENiRUZIZDBGaVFVSm1RVWhC?= =?utf-8?B?UVdOblFuWkJSMjlCV2xGQ2FrRklVVUZZZDBKMVFVZEZRV0pSUW14QlNFMUJX?= =?utf-8?B?SGRDZVVGSFZVRmpkMEl3UVVoSlFXRlJRbXBCU0ZGQldsRkNhMEZHT0VGaVVV?= =?utf-8?Q?JoQUhJ?= x-dg-refsix: QWRnQmxBR3dBYkFCZkFHOEFjZ0JmQUdFQWNnQnRBQUFBSWdBQUFBRUFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFkd0J2QUhJQVpBQUFBQT09Ii8+PC9tZXRhPg== x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS0PR18MB5368:EE_|MW3PR18MB3660:EE_ x-ms-office365-filtering-correlation-id: a6f09a0c-e128-46d0-9c4c-08dc1b48ce3d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zxQDFvqAplhxTBy67T8WjfW3e2BMTSgSQW6LMrQ2dUpLFT+5Ca1C5JLkGuceDBUkIDFQbOl9GPakFQQGH74Sr4FFucUQ89cBHgowOiYUd75NoOehMR4n+aWTGony9LkLCieiqQy6dVQzOT97U4m+dMQUEX4KzHE0zpFKgmfUIiL1ph86HuAqutFscTYa4hHNK5qJScVXiYCB3bBEkuNODLzHFSDX4qSCh5Tspm7gcjNiL8tAWoD35/KmBY9JYVvRWcG1fmksLqHqBYA3SUBGIW6hlqPWHuKaQTg2ga6BxBdSbvdtjGT3ZBlBzRxrI1k2pViYR7Ml3V/FrocVwF+jzzb+kMAizlh1VCyt8nqkfcGwSgo21jbVr+yyHLkluYdcHeHxtfz/ZJD2QYC+2wJGtwxHHQCOVHiLpUoi9A3Y70RlrN/kJ7m4/Z1DB4mcAvvq41/yQo/kBWytA4aYFFpJnvacub7Ar6iJpxdu7m1OuWfb4A9YRUIdKPhwen3TO+jc8BqQ9MgFTbEl2LmZhdscV0ocBk0GQSzk7Pan3D16HJ6uN8AOHmZ0vXaQIAhnj82AiAURoLCksXFFt9ZjeRHfRO4XCZg2JXluUm4AT/TdZ15yQV69ZRB/EwcpEiSUcYPW x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR18MB5368.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(366004)(346002)(136003)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(55016003)(71200400001)(6506007)(7696005)(9686003)(53546011)(107886003)(26005)(122000001)(38100700002)(86362001)(33656002)(38070700009)(41300700001)(52536014)(83380400001)(5660300002)(15650500001)(2906002)(30864003)(4326008)(66556008)(8676002)(66476007)(66446008)(8936002)(478600001)(64756008)(66946007)(54906003)(110136005)(76116006)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b0kvbUNIaERiRTlZaTdLZm8wWCtzckJ1T0RNWnlYMW53WitNalV3ZytlZFRC?= =?utf-8?B?WGozcTVqbWtJYzlCWmN6SXB0NTV0bUNYbGczaUlpbTNHUkJUSklaelA0MnNF?= =?utf-8?B?bjBtU3NkNTRwYVI5clVuYjZpZ1QwTXU1VGgyZHpCTnZaNHFONWZRYitjM1Jn?= =?utf-8?B?dElMLzRxb1BvODdGQU5sakV6aXU4Y3dGTmx1bkJhRnNCNUUxZDBMRzFoMHNT?= =?utf-8?B?aDNwKzZKVUVMSGJhaDZUaTJ1Ni9IN3pKOEhEWnRTby9LZGJ2bnFIcnMvMzR1?= =?utf-8?B?cW9DMWxmM1ZxMXh5bkJNckxVYWVtZnRNMW9MNDl2ZlVQQTk4Ny9tOEVkUHVw?= =?utf-8?B?TFpKZVgybmZZZjh6a01jTFE1K2d1Qlc2dEp1YjA2T3dzT1BqTThmR3NLcDdy?= =?utf-8?B?Nk1kS2RPQ3U2SVovTGZiYnVJaGhSSUxMRVBMVEgvTUs4VEFOVnZYNHFOblNG?= =?utf-8?B?MHNFTjMxRURPY2V2dmljWS9HcTlJSlNFMld4VE0wdFozUCtDTlh3WGZkWEMr?= =?utf-8?B?RFBwSUJJcjhkbGxBWElsSVN1Q0U2dVRiRXBJMVNCVmJTUzhUcGZpcVg2SXNV?= =?utf-8?B?aEp4RC9YSnlQdWw1Q3FWOFlSNzNkdndlcXZsTnNYSlBybDZmK2lLaDZuQVRp?= =?utf-8?B?OExBNUFQdUZzSTNyVUZuTTNiK0V6NHF3RjRuUyt1TG1lOHNwK2kzcUlvQlRj?= =?utf-8?B?MzY2KzBKbktJMHkrbi94SWNIVUpVOWNGUXh4UnBBMUh0K0V6aE84WVc2QzNU?= =?utf-8?B?VjE3V3JDVkZxMmVQRldDNHlpZDdEWmxlV2M4Nk9UR01WNGhtRGc0WFlMQmQw?= =?utf-8?B?akRON0ltSmIzc0RMYkg5bFA1MHkyOVBkc2tFZWpIK3lqbll6SGluZklpbC94?= =?utf-8?B?QTRhR1Z4dTZuVXBPVjNuQzZ3V2NOVmZRVTlEdmFkQklqK1JQVDQySTQvVjY3?= =?utf-8?B?bHVqWEE2cGc4cVhVaXRBUHNYeEVYaHhqT1VGSWlRdU1RcHRNNUhiWjBsTXV2?= =?utf-8?B?N2szSzdQMjVUVTBUdmgvU2dMQkRLZ3BobWpha1BES1BBNDVPT1oweGIzV2hU?= =?utf-8?B?R2tUWXAwem5KT09wYU9nTjBBeDdUTXoyVHJYZnUwM1loSktqdHpENThaWnow?= =?utf-8?B?ZWFFZndDeDBXOXRnaExsUTJia2VPekV6MkFtYmlDM0ttMVljaU5oc01GU1E2?= =?utf-8?B?K0gxRTYrRXRhRmo3SHhnYk5Fd1MvWTdIM2dyTTNjd1BtdkZDMS9mNGZHdk1y?= =?utf-8?B?SmRCeVFqcHJTQ3lZL3hWUk9rZnE0bWlvSlUva2dQTCsxVG80dkszTWZxajd0?= =?utf-8?B?eitkdWE4U3Z0dlhjUlc2c21jekl3M1liTTRwYmlYN3VNeC9MdkNjYzBlME41?= =?utf-8?B?aEFLei9QQlE4STl0Q0h2ZEFhS2MxTFYzZjVEbXZINUdIcTRDa0N4dmwxcE44?= =?utf-8?B?NS9QKyt2NVhtbUJ2VjNwVFZZSUF4Wmw3VFJrUWg2ditNVnJBcmZMVEpBQlBw?= =?utf-8?B?MUZKZnlTWkFiQWRpR0N2ZUNjd3k3RjUrU0Z0QlBjUHM4b3hodHU3M2tsdUw0?= =?utf-8?B?K2NvQTRtK1VuTnAxd2ptRTNnOTdGbnd4Z2NCUExhdzFvMzZaRGczTlRLR1dU?= =?utf-8?B?RlRvRzR0OXBSYW1SSHl4TDZ2Z0pwOXlmL0tIYlFBUnVEUWZRSTE2N05SeXla?= =?utf-8?B?b2tYUmE5NXIxVG01NWpQZnMwQWNkbjZhK2laNmIwRExYeTlCbTlXVVVTUE1w?= =?utf-8?B?U1NPbUVVaVhIdXIvWWtSTEFFOUNpdzlFL24xNVFscldSWUpmOFhmTFJxNWlv?= =?utf-8?B?OXJjdWY5Qkk2V0pCYm5EM21qR09ET1VSemFyU3RSVmloMEkzT1lJNTJTQWY5?= =?utf-8?B?eWUwRUw0QXhQaTBsSDFweWtpY1YzbGZnSGQ4blh0ZWpCdXpvMHJsaEc0N0Ji?= =?utf-8?B?eTdYc2JOUW1oZEV2QW9jc0R5VmN2ZjF0ZHdyRTdvS3laKzRucEpPZUF3YUp5?= =?utf-8?B?U3ZLbVhOWEpDRktmakxkM1BMMXJ6c1JoUHYxWkdZNmVoeUhpeEMyMmhuS2wz?= =?utf-8?B?MWIzckljdXE3UHIvRG1XY3BEMDVDak9kSlY3U0dCOGVEdHBMRFdJNWd3L1RW?= =?utf-8?Q?SmRU=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS0PR18MB5368.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6f09a0c-e128-46d0-9c4c-08dc1b48ce3d X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2024 12:51:09.1238 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: N3s3/E53yvwwmJYtSha9QKXM0S+37zJDk1jmWxjBtR/ofXhStxmR+AT2FYITc90we59djU04OSe6qi4qhVOT3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR18MB3660 X-Proofpoint-ORIG-GUID: Rtn-PgE-VSZW0yer_teUXGly-rqgbZpA X-Proofpoint-GUID: Rtn-PgE-VSZW0yer_teUXGly-rqgbZpA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-22_02,2024-01-22_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBIaSBTcnVqYW5hLA0KPiANCj4gVGhhbmtzIGZvciB5b3VyIGNvbnRyaWJ1dGlvbiENCj4gSXMg aXQgcG9zc2libGUgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBvbiB3aGljaCBoYXJkd2FyZSBpdCBj YW4gYmUgdGVzdGVkIG9uPw0KSXQgY2FuIGJlIHRlc3RlZCBvbiBNYXJ2ZWxsJ3MgT2N0ZW9uIERQ VS4NCg0KPiANCj4gT24gMTIvOC8yMyAwNjozMSwgU3J1amFuYSBDaGFsbGEgd3JvdGU6DQo+ID4g VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIG5ldyB2aXJ0aW8tdXNlciBjYWxsYmFjayB0byBtYXAgdGhl IHZxDQo+ID4gbm90aWZpY2F0aW9uIGFyZWEgYW5kIGltcGxlbWVudHMgaXQgZm9yIHRoZSB2aG9z dC12RFBBIGJhY2tlbmQuDQo+ID4gVGhpcyBpcyBzaW1wbHkgZG9uZSBieSB1c2luZyBtbWFwKCkv bXVubWFwKCkgZm9yIHRoZSB2aG9zdC12RFBBIGZkLg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBhbHNv IGFkZHMgYSBwYXJhbWV0ZXIgZm9yIGNvbmZpZ3VyaW5nIGZlYXR1cmUgYml0DQo+ID4gVklSVElP X05FVF9GX05PVElGSUNBVElPTl9EQVRBLiBJZiBmZWF0dXJlIGlzIGRpc2FibGVkLCBhbHNvDQo+ IA0KPiBWSVJUSU9fRl9OT1RJRklDQVRJT05fREFUQSoNCj4gDQo+ID4gdXBkYXRlIGNvcnJlc3Bv bmRpbmcgdW5zdXBwb3J0ZWQgZmVhdHVyZSBiaXQuIEFuZCBhbHNvIGFkZHMgY29kZSB0bw0KPiA+ IHdyaXRlIHRvIHF1ZXVlIG5vdGlmeSBhZGRyZXNzIGluIG5vdGlmeSBjYWxsYmFjay4NCj4gPiBU aGlzIHdpbGwgaGVscCBpbiBpbmNyZWFzaW5nIHRoZSBraWNrIHBlcmZvcm1hbmNlLg0KPiANCj4g RG8geW91IGhhdmUgYW55IG51bWJlciBhYm91dCB0aGUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQ/ DQoNCldlIGRvbid0IGhhdmUgZXhhY3QgY29tcGFyaXNvbiB3aXRoIHRoZSBwZXJmb3JtYW5jZSBk YXRhLCB3ZSBhcmUgbWFpbmx5IHN1cHBvcnRpbmcNCm5vdGlmaWNhdGlvbiBkYXRhIHdpdGggbm90 aWZ5IGFyZWEgd2hpY2ggZW5hYmxlcyBkaXJlY3QgZGF0YSBwYXRoIG5vdGlmaWNhdGlvbnMgYW5k DQphdm9pZHMgaW50ZXJtZWRpYXRlIGNoZWNrcyBpbi1iZXR3ZWVuLg0KDQo+IA0KPiA+IFNpZ25l ZC1vZmYtYnk6IFNydWphbmEgQ2hhbGxhIDxzY2hhbGxhQG1hcnZlbGwuY29tPg0KPiA+IC0tLQ0K PiA+ICAgZG9jL2d1aWRlcy9uaWNzL3ZpcnRpby5yc3QgICAgICAgICAgICAgICAgICAgIHwgIDUg KysNCj4gPiAgIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oICAgICAgICB8 ICAxICsNCj4gPiAgIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMg ICB8IDU2ICsrKysrKysrKysrKysrKysrKw0KPiA+ICAgLi4uL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmlydGlvX3VzZXJfZGV2LmMgIHwgNTIgKysrKysrKysrKysrKysrLS0NCj4gPiAgIC4uLi9u ZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5oICB8ICA1ICstDQo+ID4gICBk cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMgICAgICAgfCA1NyArKysrKysr KysrKysrKysrLS0tDQo+ID4gICA2IGZpbGVzIGNoYW5nZWQsIDE2MiBpbnNlcnRpb25zKCspLCAx NCBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL25pY3Mvdmly dGlvLnJzdCBiL2RvYy9ndWlkZXMvbmljcy92aXJ0aW8ucnN0DQo+ID4gaW5kZXggYzIyY2U1NmEw Mi4uMTFkZDYzNTllNSAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL25pY3MvdmlydGlvLnJz dA0KPiA+ICsrKyBiL2RvYy9ndWlkZXMvbmljcy92aXJ0aW8ucnN0DQo+ID4gQEAgLTM0OSw2ICsz NDksMTEgQEAgQmVsb3cgZGV2YXJncyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSB2aXJ0aW8tdXNlcg0K PiB2ZGV2Og0KPiA+ICAgICAgIGVsZWN0aW9uLg0KPiA+ICAgICAgIChEZWZhdWx0OiAwIChkaXNh YmxlZCkpDQo+ID4NCj4gPiArIy4gIGBgbm90aWZpY2F0aW9uX2RhdGFgYDoNCj4gPiArDQo+ID4g KyAgICBJdCBpcyB1c2VkIHRvIGVuYWJsZSB2aXJ0aW8gZGV2aWNlIG5vdGlmaWNhdGlvbiBkYXRh IGZlYXR1cmUuDQo+ID4gKyAgICAoRGVmYXVsdDogMSAoZW5hYmxlZCkpDQo+IA0KPiBJcyB0aGVy ZSBhbnkgcmVhc29uIGN1cnJlbnRseSB0byBtYWtlIGl0IGNvbmZpZ3VyYWJsZT8NCj4gDQo+IEFz IGl0IGlzIGVuYWJsZWQgYnkgZGVmYXVsdCwgSSBndWVzcyB3ZSB3YW50IGl0IHRvIGJlIG5lZ29j aWF0ZWQgaWYgdGhlIGRldmljZQ0KPiBzdXBwb3J0cyBpdC4NCj4gDQo+IExldCdzIHJlbW92ZSB0 aGUgZGV2YXJnIGZvciBub3csIGFuZCB3ZSBjYW4gcmV2aXNpdCBpZiB0aGUgbmVlZCBhcmlzZT8N CkFjay4NCg0KPiANCj4gPiArDQo+ID4gICBWaXJ0aW8gcGF0aHMgU2VsZWN0aW9uIGFuZCBVc2Fn ZQ0KPiA+ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPg0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiA+IGIvZHJp dmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gPiBpbmRleCBmODE3Y2FiNzdh Li4xYmNlMDBjN2FjIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f dXNlci92aG9zdC5oDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zo b3N0LmgNCj4gPiBAQCAtOTAsNiArOTAsNyBAQCBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9v cHMgew0KPiA+ICAgCWludCAoKnNlcnZlcl9kaXNjb25uZWN0KShzdHJ1Y3QgdmlydGlvX3VzZXJf ZGV2ICpkZXYpOw0KPiA+ICAgCWludCAoKnNlcnZlcl9yZWNvbm5lY3QpKHN0cnVjdCB2aXJ0aW9f dXNlcl9kZXYgKmRldik7DQo+ID4gICAJaW50ICgqZ2V0X2ludHJfZmQpKHN0cnVjdCB2aXJ0aW9f dXNlcl9kZXYgKmRldik7DQo+ID4gKwlpbnQgKCptYXBfbm90aWZpY2F0aW9uX2FyZWEpKHN0cnVj dCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgYm9vbA0KPiBtYXApOw0KPiA+ICAgfTsNCj4gPg0KPiA+ ICAgZXh0ZXJuIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3BzX3VzZXI7 IGRpZmYgLS1naXQNCj4gPiBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92 ZHBhLmMNCj4gPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMN Cj4gPiBpbmRleCAyYzM2YjI2MjI0Li4xZWIwZjllYzQ4IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZl cnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gPiArKysgYi9kcml2ZXJz L25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+ID4gQEAgLTUsNiArNSw3IEBA DQo+ID4gICAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+DQo+ID4gICAjaW5jbHVkZSA8c3lzL3R5cGVz Lmg+DQo+ID4gICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4NCj4gPiArI2luY2x1ZGUgPHN5cy9tbWFu Lmg+DQo+ID4gICAjaW5jbHVkZSA8ZmNudGwuaD4NCj4gPiAgICNpbmNsdWRlIDxzdGRsaWIuaD4N Cj4gPiAgICNpbmNsdWRlIDx1bmlzdGQuaD4NCj4gPiBAQCAtNjIyLDYgKzYyMyw2MCBAQCB2aG9z dF92ZHBhX2dldF9pbnRyX2ZkKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYNCj4gKmRldiBfX3J0ZV91 bnVzZWQpDQo+ID4gICAJcmV0dXJuIC0xOw0KPiA+ICAgfQ0KPiA+DQo+ID4gK3N0YXRpYyBpbnQN Cj4gPiArdW5tYXBfbm90aWZpY2F0aW9uX2FyZWEoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2 LCBpbnQgbnJfdnJpbmdzKSB7DQo+ID4gKwlpbnQgaTsNCj4gPiArDQo+ID4gKwlmb3IgKGkgPSAw OyBpIDwgbnJfdnJpbmdzOyBpKyspIHsNCj4gPiArCQlpZiAoZGV2LT5ub3RpZnlfYXJlYVtpXSkN Cj4gPiArCQkJbXVubWFwKGRldi0+bm90aWZ5X2FyZWFbaV0sIGdldHBhZ2VzaXplKCkpOw0KPiA+ ICsJfQ0KPiA+ICsJZnJlZShkZXYtPm5vdGlmeV9hcmVhKTsNCj4gPiArDQo+ID4gKwlyZXR1cm4g MDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludA0KPiA+ICt2aG9zdF92ZHBhX21hcF9u b3RpZmljYXRpb25fYXJlYShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIGJvb2wNCj4gPiAr bWFwKSB7DQo+ID4gKwlzdHJ1Y3Qgdmhvc3RfdmRwYV9kYXRhICpkYXRhID0gZGV2LT5iYWNrZW5k X2RhdGE7DQo+ID4gKwlpbnQgbnJfdnJpbmdzLCBpLCBwYWdlX3NpemUgPSBnZXRwYWdlc2l6ZSgp Ow0KPiA+ICsJdWludDE2X3QgKipub3RpZnlfYXJlYTsNCj4gPiArDQo+ID4gKwlucl92cmluZ3Mg PSBkZXYtPm1heF9xdWV1ZV9wYWlycyAqIDI7DQo+ID4gKwlpZiAoZGV2LT5kZXZpY2VfZmVhdHVy ZXMgJiAoMXVsbCA8PCBWSVJUSU9fTkVUX0ZfQ1RSTF9WUSkpDQo+ID4gKwkJbnJfdnJpbmdzKys7 DQo+ID4gKw0KPiA+ICsJaWYgKCFtYXApDQo+ID4gKwkJcmV0dXJuIHVubWFwX25vdGlmaWNhdGlv bl9hcmVhKGRldiwgbnJfdnJpbmdzKTsNCj4gPiArDQo+ID4gKwlub3RpZnlfYXJlYSA9IG1hbGxv Yyhucl92cmluZ3MgKiBzaXplb2YoKm5vdGlmeV9hcmVhKSk7DQo+ID4gKwlpZiAoIW5vdGlmeV9h cmVhKSB7DQo+ID4gKwkJUE1EX0RSVl9MT0coRVJSLCAiKCVzKSBGYWlsZWQgdG8gYWxsb2NhdGUg bm90aWZ5IGFyZWENCj4gYXJyYXkiLCBkZXYtPnBhdGgpOw0KPiA+ICsJCXJldHVybiAtMTsNCj4g PiArCX0NCj4gDQo+IEFkZCBuZXcgbGluZSBoZXJlLg0KPiANCj4gPiArCWZvciAoaSA9IDA7IGkg PCBucl92cmluZ3M7IGkrKykgew0KPiA+ICsJCW5vdGlmeV9hcmVhW2ldID0gbW1hcChOVUxMLCBw YWdlX3NpemUsIFBST1RfV1JJVEUsDQo+IE1BUF9TSEFSRUQgfCBNQVBfRklMRSwNCj4gPiArCQkJ CSAgICAgIGRhdGEtPnZob3N0ZmQsIGkgKiBwYWdlX3NpemUpOw0KPiA+ICsJCWlmIChub3RpZnlf YXJlYVtpXSA9PSBNQVBfRkFJTEVEKSB7DQo+ID4gKwkJCVBNRF9EUlZfTE9HKEVSUiwgIiglcykg TWFwIGZhaWxlZCBmb3Igbm90aWZ5DQo+IGFkZHJlc3Mgb2YgcXVldWUgJWRcbiIsDQo+ID4gKwkJ CQkgICAgZGV2LT5wYXRoLCBpKTsNCj4gPiArCQkJZ290byBtYXBfZXJyOw0KPiA+ICsJCX0NCj4g PiArCX0NCj4gPiArCWRldi0+bm90aWZ5X2FyZWEgPSBub3RpZnlfYXJlYTsNCj4gPiArDQo+ID4g KwlyZXR1cm4gMDsNCj4gPiArDQo+ID4gK21hcF9lcnI6DQo+ID4gKwlpLS07DQo+IA0KPiBJIHdv dWxkIG1vdmUgdGhpcyBiZWZvcmUgdGhlIGdvdG8gbWFwX2VycjsNCj4gDQo+ID4gKwlmb3IgKDsg aSA+PSAwOyBpLS0pDQo+ID4gKwkJbXVubWFwKG5vdGlmeV9hcmVhW2ldLCBwYWdlX3NpemUpOw0K PiA+ICsJZnJlZShub3RpZnlfYXJlYSk7DQo+IA0KPiBOZXcgbGluZSBoZXJlLg0KPiANCj4gPiAr CXJldHVybiAtMTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNr ZW5kX29wcyB2aXJ0aW9fb3BzX3ZkcGEgPSB7DQo+ID4gICAJLnNldHVwID0gdmhvc3RfdmRwYV9z ZXR1cCwNCj4gPiAgIAkuZGVzdHJveSA9IHZob3N0X3ZkcGFfZGVzdHJveSwNCj4gPiBAQCAtNjQ2 LDQgKzcwMSw1IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3BzX3Zk cGEgPSB7DQo+ID4gICAJLmRtYV91bm1hcCA9IHZob3N0X3ZkcGFfZG1hX3VubWFwX2JhdGNoLA0K PiA+ICAgCS51cGRhdGVfbGlua19zdGF0ZSA9IHZob3N0X3ZkcGFfdXBkYXRlX2xpbmtfc3RhdGUs DQo+ID4gICAJLmdldF9pbnRyX2ZkID0gdmhvc3RfdmRwYV9nZXRfaW50cl9mZCwNCj4gPiArCS5t YXBfbm90aWZpY2F0aW9uX2FyZWEgPSB2aG9zdF92ZHBhX21hcF9ub3RpZmljYXRpb25fYXJlYSwN Cj4gDQo+IEkgd29uZGVyIGlmIGl0IHdvdWxkbid0IGJlIGNsZWFuZXIgdG8gaGF2ZSBvbmUgY2Ig Zm9yIG1hcCwgb25lIGZvciB1bm1hcC4NCj4gV0RZVD8NCkkgd2lsbCBhZGQgb25lIG1vcmUgY2Ig Zm9yIHVubWFwIGluIHRoZSBuZXh0IHZlcnNpb24uDQoNCj4gDQo+ID4gICB9Ow0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMN Cj4gPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0K PiA+IGluZGV4IGFmMWY4YzgyMzcuLjU3ODg3N2QwODkgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVy cy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+ID4gKysrIGIvZHJp dmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+ID4gQEAgLTE4 LDYgKzE4LDcgQEANCj4gPiAgICNpbmNsdWRlIDxydGVfc3RyaW5nX2Zucy5oPg0KPiA+ICAgI2lu Y2x1ZGUgPHJ0ZV9lYWxfbWVtY29uZmlnLmg+DQo+ID4gICAjaW5jbHVkZSA8cnRlX21hbGxvYy5o Pg0KPiA+ICsjaW5jbHVkZSA8cnRlX2lvLmg+DQo+ID4NCj4gPiAgICNpbmNsdWRlICJ2aG9zdC5o Ig0KPiA+ICAgI2luY2x1ZGUgInZpcnRpb191c2VyX2Rldi5oIg0KPiA+IEBAIC00MTMsNiArNDE0 LDEyIEBAIHZpcnRpb191c2VyX2Rldl9pbml0X25vdGlmeShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2 DQo+ICpkZXYpDQo+ID4gICAJCWRldi0+Y2FsbGZkc1tpXSA9IGNhbGxmZDsNCj4gPiAgIAkJZGV2 LT5raWNrZmRzW2ldID0ga2lja2ZkOw0KPiA+ICAgCX0NCj4gPiArCWRldi0+bm90aWZ5X2FyZWFf bWFwcGVkID0gZmFsc2U7DQo+IENhbid0IHdlIGp1c3QgY2hlY2sgb24gZGV2LT5ub3RpZnlfYXJl YSBpbnN0ZWFkIG9mIGludHJvZHVjaW5nIGEgbmV3IGZpZWxkPw0KPiANCj4gPiArCWlmIChkZXYt Pm9wcy0+bWFwX25vdGlmaWNhdGlvbl9hcmVhKSB7DQo+ID4gKwkJaWYgKGRldi0+b3BzLT5tYXBf bm90aWZpY2F0aW9uX2FyZWEoZGV2LCB0cnVlKSkNCj4gPiArCQkJZ290byBlcnI7DQo+ID4gKwkJ ZGV2LT5ub3RpZnlfYXJlYV9tYXBwZWQgPSB0cnVlOw0KPiA+ICsJfQ0KPiA+DQo+ID4gICAJcmV0 dXJuIDA7DQo+ID4gICBlcnI6DQo+ID4gQEAgLTQ0NSw2ICs0NTIsMTEgQEAgdmlydGlvX3VzZXJf ZGV2X3VuaW5pdF9ub3RpZnkoc3RydWN0DQo+IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiA+ICAg CQkJZGV2LT5jYWxsZmRzW2ldID0gLTE7DQo+ID4gICAJCX0NCj4gPiAgIAl9DQo+ID4gKwlpZiAo ZGV2LT5vcHMtPm1hcF9ub3RpZmljYXRpb25fYXJlYSAmJiBkZXYtDQo+ID5ub3RpZnlfYXJlYV9t YXBwZWQpIHsNCj4gPiArCQkvKiBVbm1hcCBub3RpZmljYXRpb24gYXJlYSAqLw0KPiA+ICsJCWRl di0+b3BzLT5tYXBfbm90aWZpY2F0aW9uX2FyZWEoZGV2LCBmYWxzZSk7DQo+ID4gKwkJZGV2LT5u b3RpZnlfYXJlYV9tYXBwZWQgPSBmYWxzZTsNCj4gPiArCX0NCj4gPiAgIH0NCj4gPg0KPiA+ICAg c3RhdGljIGludA0KPiA+IEBAIC02NzQsMTIgKzY4NiwxNCBAQCB2aXJ0aW9fdXNlcl9mcmVlX3Zy aW5ncyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2DQo+ICpkZXYpDQo+ID4gICAJIDFVTEwgPDwgVklS VElPX05FVF9GX0dVRVNUX1RTTzYJfAlcDQo+ID4gICAJIDFVTEwgPDwgVklSVElPX0ZfSU5fT1JE RVIJCXwJXA0KPiA+ICAgCSAxVUxMIDw8IFZJUlRJT19GX1ZFUlNJT05fMQkJfAlcDQo+ID4gLQkg MVVMTCA8PCBWSVJUSU9fRl9SSU5HX1BBQ0tFRCkNCj4gPiArCSAxVUxMIDw8IFZJUlRJT19GX1JJ TkdfUEFDS0VECQl8CVwNCj4gPiArCSAxVUxMIDw8IFZJUlRJT19GX05PVElGSUNBVElPTl9EQVRB KQ0KPiA+DQo+ID4gICBpbnQNCj4gPiAgIHZpcnRpb191c2VyX2Rldl9pbml0KHN0cnVjdCB2aXJ0 aW9fdXNlcl9kZXYgKmRldiwgY2hhciAqcGF0aCwgdWludDE2X3QNCj4gcXVldWVzLA0KPiA+ICAg CQkgICAgIGludCBjcSwgaW50IHF1ZXVlX3NpemUsIGNvbnN0IGNoYXIgKm1hYywgY2hhciAqKmlm bmFtZSwNCj4gPiAgIAkJICAgICBpbnQgc2VydmVyLCBpbnQgbXJnX3J4YnVmLCBpbnQgaW5fb3Jk ZXIsIGludCBwYWNrZWRfdnEsDQo+ID4gKwkJICAgICBpbnQgbm90aWZpY2F0aW9uX2RhdGEsDQo+ ID4gICAJCSAgICAgZW51bSB2aXJ0aW9fdXNlcl9iYWNrZW5kX3R5cGUgYmFja2VuZF90eXBlKQ0K PiA+ICAgew0KPiA+ICAgCXVpbnQ2NF90IGJhY2tlbmRfZmVhdHVyZXM7DQo+ID4gQEAgLTczNyw2 ICs3NTEsOSBAQCB2aXJ0aW9fdXNlcl9kZXZfaW5pdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpk ZXYsDQo+IGNoYXIgKnBhdGgsIHVpbnQxNl90IHF1ZXVlcywNCj4gPiAgIAlpZiAoIXBhY2tlZF92 cSkNCj4gPiAgIAkJZGV2LT51bnN1cHBvcnRlZF9mZWF0dXJlcyB8PSAoMXVsbCA8PA0KPiBWSVJU SU9fRl9SSU5HX1BBQ0tFRCk7DQo+ID4NCj4gPiArCWlmICghbm90aWZpY2F0aW9uX2RhdGEpDQo+ ID4gKwkJZGV2LT51bnN1cHBvcnRlZF9mZWF0dXJlcyB8PSAoMXVsbCA8PA0KPiBWSVJUSU9fRl9O T1RJRklDQVRJT05fREFUQSk7DQo+ID4gKw0KPiA+ICAgCWlmIChkZXYtPm1hY19zcGVjaWZpZWQp DQo+ID4gICAJCWRldi0+ZnJvbnRlbmRfZmVhdHVyZXMgfD0gKDF1bGwgPDwgVklSVElPX05FVF9G X01BQyk7DQo+ID4gICAJZWxzZQ0KPiA+IEBAIC0xMDM5LDExICsxMDU2LDM1IEBAIHN0YXRpYyB2 b2lkDQo+ID4gICB2aXJ0aW9fdXNlcl9jb250cm9sX3F1ZXVlX25vdGlmeShzdHJ1Y3QgdmlydHF1 ZXVlICp2cSwgdm9pZCAqY29va2llKQ0KPiA+ICAgew0KPiA+ICAgCXN0cnVjdCB2aXJ0aW9fdXNl cl9kZXYgKmRldiA9IGNvb2tpZTsNCj4gPiAtCXVpbnQ2NF90IGJ1ZiA9IDE7DQo+ID4gKwl1aW50 NjRfdCBub3RpZnlfZGF0YSA9IDE7DQo+ID4gKw0KPiA+ICsJaWYgKCFkZXYtPm5vdGlmeV9hcmVh X21hcHBlZCkgew0KPiA+ICsJCWlmICh3cml0ZShkZXYtPmtpY2tmZHNbdnEtPnZxX3F1ZXVlX2lu ZGV4XSwgJm5vdGlmeV9kYXRhLA0KPiBzaXplb2Yobm90aWZ5X2RhdGEpKSA8IDApDQo+ID4gKwkJ CVBNRF9EUlZfTE9HKEVSUiwgImZhaWxlZCB0byBraWNrIGJhY2tlbmQ6ICVzIiwNCj4gPiArCQkJ CSAgICBzdHJlcnJvcihlcnJubykpOw0KPiA+ICsJCXJldHVybjsNCj4gPiArCX0gZWxzZSBpZiAo IXZpcnRpb193aXRoX2ZlYXR1cmUoJmRldi0+aHcsDQo+IFZJUlRJT19GX05PVElGSUNBVElPTl9E QVRBKSkgew0KPiA+ICsJCXJ0ZV93cml0ZTE2KHZxLT52cV9xdWV1ZV9pbmRleCwgdnEtPm5vdGlm eV9hZGRyKTsNCj4gPiArCQlyZXR1cm47DQo+ID4gKwl9DQo+ID4NCj4gPiAtCWlmICh3cml0ZShk ZXYtPmtpY2tmZHNbdnEtPnZxX3F1ZXVlX2luZGV4XSwgJmJ1Ziwgc2l6ZW9mKGJ1ZikpIDwgMCkN Cj4gPiAtCQlQTURfRFJWX0xPRyhFUlIsICJmYWlsZWQgdG8ga2ljayBiYWNrZW5kOiAlcyIsDQo+ ID4gLQkJCSAgICBzdHJlcnJvcihlcnJubykpOw0KPiA+ICsJaWYgKHZpcnRpb193aXRoX3BhY2tl ZF9xdWV1ZSgmZGV2LT5odykpIHsNCj4gPiArCQkvKiBCaXRbMDoxNV06IHZxIHF1ZXVlIGluZGV4 DQo+ID4gKwkJICogQml0WzE2OjMwXTogYXZhaWwgaW5kZXgNCj4gPiArCQkgKiBCaXRbMzFdOiBh dmFpbCB3cmFwIGNvdW50ZXINCj4gPiArCQkgKi8NCj4gPiArCQlub3RpZnlfZGF0YSA9ICgodWlu dDMyX3QpKCEhKHZxLT52cV9wYWNrZWQuY2FjaGVkX2ZsYWdzICYNCj4gPiArCQkJCVZSSU5HX1BB Q0tFRF9ERVNDX0ZfQVZBSUwpKSA8PCAzMSkgfA0KPiA+ICsJCQkJKCh1aW50MzJfdCl2cS0+dnFf YXZhaWxfaWR4IDw8IDE2KSB8DQo+ID4gKwkJCQl2cS0+dnFfcXVldWVfaW5kZXg7DQo+ID4gKwl9 IGVsc2Ugew0KPiA+ICsJCS8qIEJpdFswOjE1XTogdnEgcXVldWUgaW5kZXgNCj4gPiArCQkgKiBC aXRbMTY6MzFdOiBhdmFpbCBpbmRleA0KPiA+ICsJCSAqLw0KPiA+ICsJCW5vdGlmeV9kYXRhID0g KCh1aW50MzJfdCl2cS0+dnFfYXZhaWxfaWR4IDw8IDE2KSB8DQo+ID4gKwkJCQl2cS0+dnFfcXVl dWVfaW5kZXg7DQo+ID4gKwl9DQo+ID4gKwlydGVfd3JpdGUzMihub3RpZnlfZGF0YSwgdnEtPm5v dGlmeV9hZGRyKTsNCj4gPiAgIH0NCj4gPg0KPiA+ICAgaW50DQo+ID4gQEAgLTEwNjIsNiArMTEw Myw3IEBAIHZpcnRpb191c2VyX2Rldl9jcmVhdGVfc2hhZG93X2N2cShzdHJ1Y3QNCj4gPiB2aXJ0 aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0IHZpcnRxdWV1ZQ0KPiA+DQo+ID4gICAJc2N2cS0+Y3Eu bm90aWZ5X3F1ZXVlID0gJnZpcnRpb191c2VyX2NvbnRyb2xfcXVldWVfbm90aWZ5Ow0KPiA+ICAg CXNjdnEtPmNxLm5vdGlmeV9jb29raWUgPSBkZXY7DQo+ID4gKwlzY3ZxLT5ub3RpZnlfYWRkciA9 IHZxLT5ub3RpZnlfYWRkcjsNCj4gPiAgIAlkZXYtPnNjdnEgPSBzY3ZxOw0KPiA+DQo+ID4gICAJ cmV0dXJuIDA7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNl ci92aXJ0aW9fdXNlcl9kZXYuaA0KPiA+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy L3ZpcnRpb191c2VyX2Rldi5oDQo+ID4gaW5kZXggNzMyM2Q4ODMwMi4uMjllYzM4NmRhNSAxMDA2 NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJf ZGV2LmgNCj4gPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3Vz ZXJfZGV2LmgNCj4gPiBAQCAtNjQsNiArNjQsOSBAQCBzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2IHsN Cj4gPiAgIAlzdHJ1Y3QgdmlydHF1ZXVlCSpzY3ZxOw0KPiA+DQo+ID4gICAJdm9pZCAqYmFja2Vu ZF9kYXRhOw0KPiA+ICsNCj4gPiArCWJvb2wgbm90aWZ5X2FyZWFfbWFwcGVkOw0KPiA+ICsJdWlu dDE2X3QgKipub3RpZnlfYXJlYTsNCj4gPiAgIH07DQo+ID4NCj4gPiAgIGludCB2aXJ0aW9fdXNl cl9kZXZfc2V0X2ZlYXR1cmVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldik7IEBADQo+ID4g LTcyLDcgKzc1LDcgQEAgaW50IHZpcnRpb191c2VyX3N0b3BfZGV2aWNlKHN0cnVjdCB2aXJ0aW9f dXNlcl9kZXYgKmRldik7DQo+ID4gICBpbnQgdmlydGlvX3VzZXJfZGV2X2luaXQoc3RydWN0IHZp cnRpb191c2VyX2RldiAqZGV2LCBjaGFyICpwYXRoLCB1aW50MTZfdA0KPiBxdWV1ZXMsDQo+ID4g ICAJCQkgaW50IGNxLCBpbnQgcXVldWVfc2l6ZSwgY29uc3QgY2hhciAqbWFjLCBjaGFyDQo+ICoq aWZuYW1lLA0KPiA+ICAgCQkJIGludCBzZXJ2ZXIsIGludCBtcmdfcnhidWYsIGludCBpbl9vcmRl ciwNCj4gPiAtCQkJIGludCBwYWNrZWRfdnEsDQo+ID4gKwkJCSBpbnQgcGFja2VkX3ZxLCBpbnQg bm90aWZpY2F0aW9uX2RhdGEsDQo+ID4gICAJCQkgZW51bSB2aXJ0aW9fdXNlcl9iYWNrZW5kX3R5 cGUgYmFja2VuZF90eXBlKTsNCj4gPiAgIHZvaWQgdmlydGlvX3VzZXJfZGV2X3VuaW5pdChzdHJ1 Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpOw0KPiA+ICAgdm9pZCB2aXJ0aW9fdXNlcl9oYW5kbGVf Y3Eoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50MTZfdA0KPiA+IHF1ZXVlX2lkeCk7 IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMNCj4g PiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlcl9ldGhkZXYuYw0KPiA+IGluZGV4IDNh MzE2NDI4OTkuLjI0MTQ2NWVjZGQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb191c2VyX2V0aGRldi5jDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyX2V0aGRldi5jDQo+ID4gQEAgLTE4LDYgKzE4LDcgQEANCj4gPiAgICNpbmNsdWRlIDxi dXNfdmRldl9kcml2ZXIuaD4NCj4gPiAgICNpbmNsdWRlIDxydGVfYWxhcm0uaD4NCj4gPiAgICNp bmNsdWRlIDxydGVfY3ljbGVzLmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfaW8uaD4NCj4gPg0KPiA+ ICAgI2luY2x1ZGUgInZpcnRpb19ldGhkZXYuaCINCj4gPiAgICNpbmNsdWRlICJ2aXJ0aW9fbG9n cy5oIg0KPiA+IEBAIC0yMzIsNiArMjMzLDcgQEAgdmlydGlvX3VzZXJfc2V0dXBfcXVldWUoc3Ry dWN0IHZpcnRpb19odyAqaHcsDQo+IHN0cnVjdCB2aXJ0cXVldWUgKnZxKQ0KPiA+ICAgCWVsc2UN Cj4gPiAgIAkJdmlydGlvX3VzZXJfc2V0dXBfcXVldWVfc3BsaXQodnEsIGRldik7DQo+ID4NCj4g PiArCXZxLT5ub3RpZnlfYWRkciA9IGRldi0+bm90aWZ5X2FyZWFbdnEtPnZxX3F1ZXVlX2luZGV4 XTsNCj4gPiAgIAlpZiAoZGV2LT5od19jdnEgJiYgaHctPmN2cSAmJiAodmlydG5ldF9jcV90b192 cShody0+Y3ZxKSA9PQ0KPiB2cSkpDQo+ID4gICAJCXJldHVybiB2aXJ0aW9fdXNlcl9kZXZfY3Jl YXRlX3NoYWRvd19jdnEoZGV2LCB2cSk7DQo+ID4NCj4gPiBAQCAtMjYyLDggKzI2NCw4IEBAIHZp cnRpb191c2VyX2RlbF9xdWV1ZShzdHJ1Y3QgdmlydGlvX2h3ICpodywgc3RydWN0DQo+IHZpcnRx dWV1ZSAqdnEpDQo+ID4gICBzdGF0aWMgdm9pZA0KPiA+ICAgdmlydGlvX3VzZXJfbm90aWZ5X3F1 ZXVlKHN0cnVjdCB2aXJ0aW9faHcgKmh3LCBzdHJ1Y3QgdmlydHF1ZXVlICp2cSkNCj4gPiAgIHsN Cj4gPiAtCXVpbnQ2NF90IGJ1ZiA9IDE7DQo+ID4gICAJc3RydWN0IHZpcnRpb191c2VyX2RldiAq ZGV2ID0gdmlydGlvX3VzZXJfZ2V0X2Rldihodyk7DQo+ID4gKwl1aW50NjRfdCBub3RpZnlfZGF0 YSA9IDE7DQo+ID4NCj4gPiAgIAlpZiAoaHctPmN2cSAmJiAodmlydG5ldF9jcV90b192cShody0+ Y3ZxKSA9PSB2cSkpIHsNCj4gPiAgIAkJdmlydGlvX3VzZXJfaGFuZGxlX2NxKGRldiwgdnEtPnZx X3F1ZXVlX2luZGV4KTsgQEAgLQ0KPiAyNzEsOSArMjczLDM0DQo+ID4gQEAgdmlydGlvX3VzZXJf bm90aWZ5X3F1ZXVlKHN0cnVjdCB2aXJ0aW9faHcgKmh3LCBzdHJ1Y3QgdmlydHF1ZXVlICp2cSkN Cj4gPiAgIAkJcmV0dXJuOw0KPiA+ICAgCX0NCj4gPg0KPiA+IC0JaWYgKHdyaXRlKGRldi0+a2lj a2Zkc1t2cS0+dnFfcXVldWVfaW5kZXhdLCAmYnVmLCBzaXplb2YoYnVmKSkgPCAwKQ0KPiA+IC0J CVBNRF9EUlZfTE9HKEVSUiwgImZhaWxlZCB0byBraWNrIGJhY2tlbmQ6ICVzIiwNCj4gPiAtCQkJ ICAgIHN0cmVycm9yKGVycm5vKSk7DQo+ID4gKwlpZiAoIWRldi0+bm90aWZ5X2FyZWFfbWFwcGVk KSB7DQo+ID4gKwkJaWYgKHdyaXRlKGRldi0+a2lja2Zkc1t2cS0+dnFfcXVldWVfaW5kZXhdLCAm bm90aWZ5X2RhdGEsDQo+ID4gKwkJCSAgc2l6ZW9mKG5vdGlmeV9kYXRhKSkgPCAwKQ0KPiA+ICsJ CQlQTURfRFJWX0xPRyhFUlIsICJmYWlsZWQgdG8ga2ljayBiYWNrZW5kOiAlcyIsDQo+ID4gKwkJ CQkgICAgc3RyZXJyb3IoZXJybm8pKTsNCj4gPiArCQlyZXR1cm47DQo+ID4gKwl9IGVsc2UgaWYg KCF2aXJ0aW9fd2l0aF9mZWF0dXJlKGh3LCBWSVJUSU9fRl9OT1RJRklDQVRJT05fREFUQSkpDQo+ IHsNCj4gPiArCQlydGVfd3JpdGUxNih2cS0+dnFfcXVldWVfaW5kZXgsIHZxLT5ub3RpZnlfYWRk cik7DQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlmICh2aXJ0aW9fd2l0 aF9wYWNrZWRfcXVldWUoaHcpKSB7DQo+ID4gKwkJLyogQml0WzA6MTVdOiB2cSBxdWV1ZSBpbmRl eA0KPiA+ICsJCSAqIEJpdFsxNjozMF06IGF2YWlsIGluZGV4DQo+ID4gKwkJICogQml0WzMxXTog YXZhaWwgd3JhcCBjb3VudGVyDQo+ID4gKwkJICovDQo+ID4gKwkJbm90aWZ5X2RhdGEgPSAoKHVp bnQzMl90KSghISh2cS0+dnFfcGFja2VkLmNhY2hlZF9mbGFncyAmDQo+ID4gKwkJCQlWUklOR19Q QUNLRURfREVTQ19GX0FWQUlMKSkgPDwgMzEpIHwNCj4gPiArCQkJCSgodWludDMyX3QpdnEtPnZx X2F2YWlsX2lkeCA8PCAxNikgfA0KPiA+ICsJCQkJdnEtPnZxX3F1ZXVlX2luZGV4Ow0KPiA+ICsJ fSBlbHNlIHsNCj4gPiArCQkvKiBCaXRbMDoxNV06IHZxIHF1ZXVlIGluZGV4DQo+ID4gKwkJICog Qml0WzE2OjMxXTogYXZhaWwgaW5kZXgNCj4gPiArCQkgKi8NCj4gPiArCQlub3RpZnlfZGF0YSA9 ICgodWludDMyX3QpdnEtPnZxX2F2YWlsX2lkeCA8PCAxNikgfA0KPiA+ICsJCQkJdnEtPnZxX3F1 ZXVlX2luZGV4Ow0KPiA+ICsJfQ0KPiA+ICsJcnRlX3dyaXRlMzIobm90aWZ5X2RhdGEsIHZxLT5u b3RpZnlfYWRkcik7DQo+ID4gICB9DQo+ID4NCj4gPiAgIHN0YXRpYyBpbnQNCj4gPiBAQCAtMzI5 LDYgKzM1Niw4IEBAIHN0YXRpYyBjb25zdCBjaGFyICp2YWxpZF9hcmdzW10gPSB7DQo+ID4gICAJ VklSVElPX1VTRVJfQVJHX1NQRUVELA0KPiA+ICAgI2RlZmluZSBWSVJUSU9fVVNFUl9BUkdfVkVD VE9SSVpFRCAgICAgInZlY3Rvcml6ZWQiDQo+ID4gICAJVklSVElPX1VTRVJfQVJHX1ZFQ1RPUkla RUQsDQo+ID4gKyNkZWZpbmUgVklSVElPX1VTRVJfQVJHX05PVElGSUNBVElPTl9EQVRBICAibm90 aWZpY2F0aW9uX2RhdGEiDQo+ID4gKwlWSVJUSU9fVVNFUl9BUkdfTk9USUZJQ0FUSU9OX0RBVEEs DQo+ID4gICAJTlVMTA0KPiA+ICAgfTsNCj4gPg0KPiA+IEBAIC00ODAsNiArNTA5LDcgQEAgdmly dGlvX3VzZXJfcG1kX3Byb2JlKHN0cnVjdCBydGVfdmRldl9kZXZpY2UNCj4gKnZkZXYpDQo+ID4g ICAJdWludDY0X3QgaW5fb3JkZXIgPSAxOw0KPiA+ICAgCXVpbnQ2NF90IHBhY2tlZF92cSA9IDA7 DQo+ID4gICAJdWludDY0X3QgdmVjdG9yaXplZCA9IDA7DQo+ID4gKwl1aW50NjRfdCBub3RpZmlj YXRpb25fZGF0YSA9IDE7DQo+ID4gICAJY2hhciAqcGF0aCA9IE5VTEw7DQo+ID4gICAJY2hhciAq aWZuYW1lID0gTlVMTDsNCj4gPiAgIAljaGFyICptYWNfYWRkciA9IE5VTEw7DQo+ID4gQEAgLTYz Nyw2ICs2NjcsMTUgQEAgdmlydGlvX3VzZXJfcG1kX3Byb2JlKHN0cnVjdCBydGVfdmRldl9kZXZp Y2UNCj4gKnZkZXYpDQo+ID4gICAJCX0NCj4gPiAgIAl9DQo+ID4NCj4gPiArCWlmIChydGVfa3Zh cmdzX2NvdW50KGt2bGlzdCwNCj4gVklSVElPX1VTRVJfQVJHX05PVElGSUNBVElPTl9EQVRBKSA9 PSAxKSB7DQo+ID4gKwkJaWYgKHJ0ZV9rdmFyZ3NfcHJvY2Vzcyhrdmxpc3QsDQo+IFZJUlRJT19V U0VSX0FSR19OT1RJRklDQVRJT05fREFUQSwNCj4gPiArCQkJCSAgICAgICAmZ2V0X2ludGVnZXJf YXJnLCAmbm90aWZpY2F0aW9uX2RhdGEpIDwNCj4gMCkgew0KPiA+ICsJCQlQTURfSU5JVF9MT0co RVJSLCAiZXJyb3IgdG8gcGFyc2UgJXMiLA0KPiA+ICsNCj4gVklSVElPX1VTRVJfQVJHX05PVElG SUNBVElPTl9EQVRBKTsNCj4gPiArCQkJZ290byBlbmQ7DQo+ID4gKwkJfQ0KPiA+ICsJfQ0KPiA+ ICsNCj4gPiAgIAlldGhfZGV2ID0gdmlydGlvX3VzZXJfZXRoX2Rldl9hbGxvYyh2ZGV2KTsNCj4g PiAgIAlpZiAoIWV0aF9kZXYpIHsNCj4gPiAgIAkJUE1EX0lOSVRfTE9HKEVSUiwgInZpcnRpb191 c2VyIGZhaWxzIHRvIGFsbG9jIGRldmljZSIpOyBAQCAtDQo+IDY0NSw5DQo+ID4gKzY4NCwxMCBA QCB2aXJ0aW9fdXNlcl9wbWRfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqdmRldikNCj4g Pg0KPiA+ICAgCWRldiA9IGV0aF9kZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiA+ICAgCWh3ID0g JmRldi0+aHc7DQo+ID4gLQlpZiAodmlydGlvX3VzZXJfZGV2X2luaXQoZGV2LCBwYXRoLCAodWlu dDE2X3QpcXVldWVzLCBjcSwNCj4gPiAtCQkJIHF1ZXVlX3NpemUsIG1hY19hZGRyLCAmaWZuYW1l LCBzZXJ2ZXJfbW9kZSwNCj4gPiAtCQkJIG1yZ19yeGJ1ZiwgaW5fb3JkZXIsIHBhY2tlZF92cSwg YmFja2VuZF90eXBlKSA8DQo+IDApIHsNCj4gPiArCWlmICh2aXJ0aW9fdXNlcl9kZXZfaW5pdChk ZXYsIHBhdGgsICh1aW50MTZfdClxdWV1ZXMsIGNxLCBxdWV1ZV9zaXplLA0KPiA+ICsJCQkJIG1h Y19hZGRyLCAmaWZuYW1lLCBzZXJ2ZXJfbW9kZSwNCj4gbXJnX3J4YnVmLA0KPiA+ICsJCQkJIGlu X29yZGVyLCBwYWNrZWRfdnEsIG5vdGlmaWNhdGlvbl9kYXRhLA0KPiA+ICsJCQkJIGJhY2tlbmRf dHlwZSkgPCAwKSB7DQo+ID4gICAJCVBNRF9JTklUX0xPRyhFUlIsICJ2aXJ0aW9fdXNlcl9kZXZf aW5pdCBmYWlscyIpOw0KPiA+ICAgCQl2aXJ0aW9fdXNlcl9ldGhfZGV2X2ZyZWUoZXRoX2Rldik7 DQo+ID4gICAJCWdvdG8gZW5kOw0KPiA+IEBAIC03ODQsNCArODI0LDUgQEANCj4gUlRFX1BNRF9S RUdJU1RFUl9QQVJBTV9TVFJJTkcobmV0X3ZpcnRpb191c2VyLA0KPiA+ICAgCSJpbl9vcmRlcj08 MHwxPiAiDQo+ID4gICAJInBhY2tlZF92cT08MHwxPiAiDQo+ID4gICAJInNwZWVkPTxpbnQ+ICIN Cj4gPiAtCSJ2ZWN0b3JpemVkPTwwfDE+Iik7DQo+ID4gKwkidmVjdG9yaXplZD08MHwxPiAiDQo+ ID4gKwkibm90aWZpY2F0aW9uX2RhdGE9PDB8MT4gIik7DQoNClRoYW5rcyBmb3IgdGhlIHJldmll dyBhbmQgZmVlZGJhY2suIEkgd2lsbCBzZW5kIHRoZSBuZXh0IHZlcnNpb24gd2l0aCBzdWdnZXN0 ZWQgY2hhbmdlcy4NCg0KVGhhbmtzLA0KU3J1amFuYS4NCg==