From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by mail.toke.dk (Postfix) with ESMTPS id 7BA30A7FFBC for ; Fri, 09 Aug 2024 15:23:51 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=iutg8Y97 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1723209835; x=1754745835; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=qur+LIewN2Mb9OMx8DrYuSj/3q5UaYbpl/u2+RqWY58=; b=iutg8Y979Xwei0YQAlea2mD/6MpvBXx552g99c7K70H5cFRv5KeSoDha x7UIjwkUGKmtNn3301s4Osu88GGkwAy5TjL1qLTRShZ5Fmx2snzrdEQpO 9ieJWyydjA39E9M5NwcYgIc2jCx+pTJgw4JPISlP0/cY6XncrHueOHqZ1 ySI+XqR4z7z6fRAK4T+0vYZRPSWqweAzej9iAIv67d/nyjWE4EP9QsbhH 6GyXwVIgg07yJrMJxlivoswc55eU6NIg+qrFMOxMyT2+Sv5lF3sDJldIc St2kDV62eLHqsVEBIx8CZZSOLfvbC+R9ZNXskQRXNP8nE7MPMA6Rwf8ke Q==; X-CSE-ConnectionGUID: zU5lzfjORUOHGkn5hxV+SQ== X-CSE-MsgGUID: G5vYMrkOQ72zvuG7Kx9K/Q== X-IronPort-AV: E=McAfee;i="6700,10204,11158"; a="21522401" X-IronPort-AV: E=Sophos;i="6.09,276,1716274800"; d="scan'208";a="21522401" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Aug 2024 05:56:20 -0700 X-CSE-ConnectionGUID: npzZCW+ATFeQkC3YJKmKaQ== X-CSE-MsgGUID: oKl+2FBbTk6dorDlmu9quQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,276,1716274800"; d="scan'208";a="62403644" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 09 Aug 2024 05:56:19 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 9 Aug 2024 05:56:19 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 9 Aug 2024 05:56:18 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Fri, 9 Aug 2024 05:56:18 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.41) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 9 Aug 2024 05:56:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Pl2DPmaAzlHrrcthE8+/FNXUoAs2IyfkHJIJPg+u2Q5v+t5BoOMuudrVumXmSIr9eYdCBZxPwjNJdj1hWHYsB85zUTHE26eibNjC5PSoXG1mzt3KEIu/ek0xFpjr/mAxdRB6vjP2pk92czhi8SPwCS6xxObL1Lfu2HfXggUKcvSRGJQP7mR47s8npDCUS5i9OQ+asgqDOH2Hx8pWVi9qIrD9dI0PJixYY4HT94pdCZgVJFl5x7Q6UWYGZTB+w464Jsn/rjgaEXIJeMfrxyFqsfxgfBaWUQuplTxTHhF9yig7E9ScSDgrg4EPEotrnrzwkVYhPp9Fy8/zXLdsMmz+zw== 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=cBHQPMychk0aQWUKA7uKpU4VfczBxWliCO1sTpon8gg=; b=R1lQx+13Mo3GjBbr7gezN8ZXs+E55HpyCeUQuLqLIdXZxEPeXdV7RCUZrwfAIFF1jPDfe/1BTu0WDvPK4U1qit69OpqtmckGFKaQUntBKkHP34kIv7W4QLlk7r1jjCsx0zNbqxbuQjQtzs8HIcMgSpJlpoO+de+rLCU0YIUzOdtZzgBj2JmT/Uo9i/TKxLRelALdZQACPoqT7UlNQ7/JIJIB3IX+GjUOg6iDVfrzZoJnHv+Vl0WAYS6AlBzDgH1+692+Khkt2UFgr/uSLugYPw65NEHTNmKSxMyoPKNr82eoxr921SoayUcs+kl/UaUXPLrtLhysmGQ25AGbFE61Pw== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB8718.namprd11.prod.outlook.com (2603:10b6:8:1b9::20) by SA1PR11MB5827.namprd11.prod.outlook.com (2603:10b6:806:236::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.31; Fri, 9 Aug 2024 12:56:15 +0000 Received: from DS0PR11MB8718.namprd11.prod.outlook.com ([fe80::4b3b:9dbe:f68c:d808]) by DS0PR11MB8718.namprd11.prod.outlook.com ([fe80::4b3b:9dbe:f68c:d808%5]) with mapi id 15.20.7828.023; Fri, 9 Aug 2024 12:56:15 +0000 Message-ID: <22333deb-21f8-43a9-b32f-bc3e60892661@intel.com> Date: Fri, 9 Aug 2024 14:56:07 +0200 User-Agent: Mozilla Thunderbird To: =?UTF-8?Q?Toke_H=C3=B8iland-J=C3=B8rgensen?= References: <20220628194812.1453059-1-alexandr.lobakin@intel.com> <20220628194812.1453059-33-alexandr.lobakin@intel.com> <54aab7ec-80e9-44fd-8249-fe0cabda0393@intel.com> <308fd4f1-83a9-4b74-a482-216c8211a028@app.fastmail.com> <99662019-7e9b-410d-99fe-a85d04af215c@intel.com> <875xs9q2z6.fsf@toke.dk> From: Alexander Lobakin Content-Language: en-US In-Reply-To: <875xs9q2z6.fsf@toke.dk> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: MI1P293CA0003.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:2::19) To DS0PR11MB8718.namprd11.prod.outlook.com (2603:10b6:8:1b9::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB8718:EE_|SA1PR11MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e8bea51-0c04-43d1-9461-08dcb872a727 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eHhudUtVZTE2N3hKREc1cEVxbW9NNXpqTDVEWWFGWm9vUEV5N1NGSzcrRVQx?= =?utf-8?B?SEQzVXRpNlRRdkFhaGJ6Zi96ZnlmZmhqeWNhRFM5NjBCWjBCWHJybnplbjBX?= =?utf-8?B?Z0UyWmxqbmR0RTFZekV6MStBaFhLa29XWTd4RkYxdFczV2NwbkhjaERROGdO?= =?utf-8?B?NG5kTTJESlVsNFNML0ZTYnBQMkVjWnRsb2hNK2ViUVYyRlRTOE11amJQdW1p?= =?utf-8?B?SnV0eVMzUzlwdlhrTk8xRlNPTTJyVHVrVW5XVmN4clp5cHF6aUNKem5XMnlx?= =?utf-8?B?cHQ0MEZ6QzJQMktuOUx1dUxkU2M0NnIxWUhZMHhWbzBqTGdIcm15STh4ZUpF?= =?utf-8?B?dzVxWTdjQ3c2L3NQNjNGMDNJcDQ0RXZvb2w4ZXQvbFZiakJRK1p2UWxLc1dV?= =?utf-8?B?Nm1qVFF3bGttWUhsdTJRZ2Qzd1lVNWZwSGdZaStUOC9qbHJjaE42RFFMUUQ0?= =?utf-8?B?V3RubkhwWHhtRjYzTm9HYTNKenlJekRWY2dGNkVycXdWSXlmTitZdExlQzR2?= =?utf-8?B?bEE2M0RpbVl2VVprY1g1ZytFSzNjSHlZRngyNmJBdnp3UWllZjFhTXBPYlZp?= =?utf-8?B?YXlyZ21aZDJnYXFkMXQ5QkkrUXNKNWQvZmJscXZiQlNIeVRtWHUvZUt6c1lX?= =?utf-8?B?cmRacU52NUpJYTBzR2I0azNCSFZXaktsNDAxbjZuM1ZlTTRTQkdXQWtnZ0tU?= =?utf-8?B?VURvamt4b2NXQVBISCtjcWJMRHlMWGVaSkFFZmsvRzkrNkc2VnJmc0FXOWtx?= =?utf-8?B?ekhoR0NLbW5Oc1RPWDlGU3AzUDA0cmdsOUZNSC9iOEs2T2hDVVM2Vk1lcmJU?= =?utf-8?B?RXdzMXRIV2R2OXBWMWZsVEIrSU5SR0NVdDgrUVVDTDlJaUY5c0pVOE5CU0Q3?= =?utf-8?B?TkhhVVpsVTJTVHFRZHMvek9JTmFvSkZ1SitzSHFuWlVrMmdIUTNSS1pHeW0x?= =?utf-8?B?ZVlBYTE1RWJFOU1IV3QyZ1hibjhJbUJwemRSd1FXUDVFeU1RWGtCR25rbGVH?= =?utf-8?B?SXloc1FhZ3N3bzV5TWZjR01mMVgwLzh6VVFUbjdQenRUUHpRaU9JMXVNNFE5?= =?utf-8?B?WUNsTmVPRGYvenJwcWhnbk91SmtyNFV2Tmw2MkhDOU9YckFWd3dOWGZqMzVj?= =?utf-8?B?SE4zTkVqTzZTUnJSWVFKOXpoUEY3ajBKU0JOS21zYU1WcFlWTitHOXhZVGJs?= =?utf-8?B?M3dZWEM0VzJHVVpyMVUxV2hrc0xpWGNSNVpWM2o0czk0Y2V6VVNRVmdEdFd2?= =?utf-8?B?bW5NT3V6bWFVcUZWZjBIR3p1UlJZSUZNaGRCYmgzNmk0SERzeHhIdmJZaG15?= =?utf-8?B?YmpkdExOUHJtQWRtaWtTdG1EekVUcjIrT1I0a0FzYXYwM3VTTktUZnBSc0tE?= =?utf-8?B?NVExRVlveFFDTDNSRWxqSHA4UTVDWTlldGlXMFdEbnEwZGw1KzJIcGRFNjRS?= =?utf-8?B?ZTQ1RUpldjA1YmRScjgxb3N3UUpsVTd3UTg5R1JyMmhLVGdubDEwTkN1ODlX?= =?utf-8?B?OThrUzNVS0ZsdlV6WXdtQkZ6QWxmZDFwbnFQN1dLUWxMS2RZMWtiMisvQ3pS?= =?utf-8?B?OFpKZmhVc1E5YXhubitLeEE1K1hxQ3Zmb1R2SXRaK0tJbTRIRWVWZVpRQ0ZW?= =?utf-8?B?NEZ3VlZ6VzBRaU1YN0tzUGNOR3dSdkQzeWQ4TmkxSWFzNEF4cm1lNnZWSnFr?= =?utf-8?B?VUVzY3ZhUEs3RHRlMGlMN2JYZm8vMThmakJZSkNWcFdoeG5UMG0rZk84V2lI?= =?utf-8?B?UzIrbU5COFpOZmNsVDR2UUtRQmFXSGd5UGR3MlpENVpXNmhSRkpVcjZ5TzlN?= =?utf-8?B?R2grT0ptUHA2NmJYT3EwUT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR11MB8718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QTM5NEhZb1ZNRkJYTmdDY1hqRTI0cmtKcTFpa0VHWFoxREpHdElGSWJ3S1RO?= =?utf-8?B?eFZGTFJEVVJXSGtoLzhVZzBrakdZM3RveEt2UEdsdnNZUGhuOHh5c3pUK25H?= =?utf-8?B?RGpxWVpqd0dvSG1YOG1SUzF3WTV6c0F0WUQ2T21YSGtpc0ZKNmdPSmEyQXBB?= =?utf-8?B?ZUNtOWpDMWVadm9WVjkzMmtwdFVvWXBteHl1THN5eXhKdktXWVFhRU9rTGZo?= =?utf-8?B?TFI5ZVFXNmZBREpvYWJ4VHdrdkpCYWs5aHRocjVRMHpraGxQS0hyYzIzR1k4?= =?utf-8?B?M0xrT1M0MnVSczlPdlpFQm1LZis1UmNPRjNjcWtNbmRad0hkWG8xMmlNVE92?= =?utf-8?B?ZjZBclNDSm1EUEFKdDNBbDJGWXExTVVEWkNpK3FhMGk3TkthbnFkb2Z4N216?= =?utf-8?B?ZXg4d2EzYSt5TGxtSTd3ejByTFIxTWZZdFo1Yi9zMXdlbG15cWcwNUNiSkxN?= =?utf-8?B?TFRvemVvWkJvUUFFMHBoZkoxa1dMaGJvcEJZZGhKRUc0THNWbHd3VHlMbXAx?= =?utf-8?B?UnM0eUl5cEdCZzNQb09qbmZGMng0T3o4QVkrQU1uVVVVRmZ3dktaUEpKYng1?= =?utf-8?B?VUx0T3ExMzVYWHQ5eUZqTFhlNVhBbytSL1FZN3lTMHF1TjB6RkRuVEFNd3JR?= =?utf-8?B?dGUvQXFJT0dlS0ZpakM3L3doR3hFa3BPVEoyUXpubnJzaWdyblJCSHNITnBW?= =?utf-8?B?UGJkb3B0RysyQmdxSUloWXJ0dGhiSGNZbFBteHIyYUR2V0k2WXJpNU83bW5Y?= =?utf-8?B?TGwrMFJ6RVo2c0JadkhibFhVUmxRK0NMUXlMdjFQTUdYSGgyaXd2b0Nic0F0?= =?utf-8?B?b0dITjFGR3YrcTF0RHMwaHF4NDYzR2RrRSt6VDJla3hXcElvT0kvalY5U2xu?= =?utf-8?B?M3R4Wkk4b0hrbjRoRjZmbU9hS3pyRlJTZVZKWTA3Qm9lL3JoTVNvTTNtVzFU?= =?utf-8?B?MWNSRDNxMEkwVzFXbUU3MGI5ZkU2WVgybjdFRG1XWlcrZFBScjd4cnd2UlBE?= =?utf-8?B?dWJBVkdNNU5lOVZYNDhNNTVOZDFQMm1TYUhPQ3RrQW1BUDBoM3dCUUU4VlFQ?= =?utf-8?B?djJqZGRHY0xBZlBzQ25GUkp5WEk4OGNMTVJvd3ZWdXdrSkNuVzdEK2NUQzFp?= =?utf-8?B?MVF5a1djKzJtMkd5dG5VbThDV2h1YzJhYmQ1ZzRZeUlBbU9teUExa3NTdlcr?= =?utf-8?B?c0F3NVI4dGNKMjdjRU5OdWo1R1ZjNG0xK2lKYlUwNExMUUt2RXVWZHQ5RFZv?= =?utf-8?B?SGpnTW53NlBJbHFYUTZnZDVpSDF4UFAwSEdVSWtORytRSDRmYXA1VUN1bmlq?= =?utf-8?B?dFh2eW55SG9hSmtxV21rZS9pSDRPcnNmVzR5SWxud1VkNFd2TE1BRS9zdVNi?= =?utf-8?B?Z2VPUHRFR0I3cGxHZm5vaXNpWWNsVlYwbmpzZUd4NG90b1pjTElOZng4OWdG?= =?utf-8?B?MzdoYkpGMWM1anlvb3pJUHFRbHVtdDB3S1BFcEUvM3NtVlIydjl5dk0zN0J5?= =?utf-8?B?TTNHNnFUY3lOeFQxcFZmSmQwb0l2dFJVY0Q5dTdESzhya3huOVZXWnIvZHlm?= =?utf-8?B?UlNyVVozVmFHTVRZVVFSM2pLR0ZYSVVheEQwWDJwVzIzRHJvUUJrRVF0eXp1?= =?utf-8?B?ZzNUMGZSV21BaHVSQzg0eHV0YlcraEVFelpOcTJqK2Z3MU5lai9zV2FyWnl6?= =?utf-8?B?QlFyazZpNng1QUpiOEtSTmU2dWtHaThpZFhvV2FDUjFtaHc2YXNTSENTUE5z?= =?utf-8?B?eE9QZzg4L2NsYlV0TjVIUE14RWN6dGY0aU83TVZmWVhzUUE0R1hVRGJuNFd2?= =?utf-8?B?bVhNbEgycjRkbmo3TDhzNlBkVGc1RFcraU1YZGJWaWRNVmY1ZEkxSlRMaDRR?= =?utf-8?B?ajJxVVdiSHZWbzBaYmFQMXpwZkpHbnpreWdlMWE0ZVNOVUJCcVBhRjIxWlRL?= =?utf-8?B?cFJCdU5QV1lOZ0dNOTU3TDRpU1o5bEVxcUkvWDJiZ2RpeGRxUkxaUUx5bzYr?= =?utf-8?B?SkhQYTJiZnVmOWdITnhNd1ViYlFOazU5aHNadGJqUHdUclZwMWUrdUM3bHJ6?= =?utf-8?B?ZzRMQ2sraEpRR2ZHNjlDYXVmcnNhVDY0Y0p4RHhTL3lXTkcwY1N0ejdnMXNR?= =?utf-8?B?eXRRRVRldVQ2aW5PN2xOdWlWYnF3WS81M3NnR2F5Y01iUHFwcmthV3A1NFhj?= =?utf-8?B?R2c9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 3e8bea51-0c04-43d1-9461-08dcb872a727 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB8718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2024 12:56:15.1324 (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: rEUGHF9JufciCnjTRMKnY1Zzo7KF+ZAesSnCHvMW1e7+DRBKz/B+iuiMYc271a/+OcWG0Ba63pG9PSGUlBvUAlr2pfQEvlSFF2/4f3wD1f8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB5827 X-OriginatorOrg: intel.com Message-ID-Hash: VDEAJODWZG2OZSVHAZLAXZSMNZ3KOHWH X-Message-ID-Hash: VDEAJODWZG2OZSVHAZLAXZSMNZ3KOHWH X-MailFrom: aleksander.lobakin@intel.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Daniel Xu , Lorenzo Bianconi , Alexander Lobakin , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Larysa Zaremba , Michal Swiatkowski , Jesper Dangaard Brouer , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , Magnus Karlsson , Maciej Fijalkowski , Jonathan Lemon , Lorenzo Bianconi , David Miller , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jesse Brandeburg , John Fastabend , Yajun Deng , Willem de Bruijn , "bpf@vger.kernel.org" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, xdp-hints@xdp-project.net X-Mailman-Version: 3.3.9 Precedence: list Subject: [xdp-hints] Re: [PATCH RFC bpf-next 32/52] bpf, cpumap: switch to GRO from netif_receive_skb_list() List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: RnJvbTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHJlZGhhdC5jb20+DQpEYXRlOiBG cmksIDA5IEF1ZyAyMDI0IDE0OjQ1OjMzICswMjAwDQoNCj4gQWxleGFuZGVyIExvYmFraW4gPGFs ZWtzYW5kZXIubG9iYWtpbkBpbnRlbC5jb20+IHdyaXRlczoNCj4gDQo+PiBGcm9tOiBEYW5pZWwg WHUgPGR4dUBkeHV1dS54eXo+DQo+PiBEYXRlOiBUaHUsIDA4IEF1ZyAyMDI0IDE2OjUyOjUxIC0w NDAwDQo+Pg0KPj4+IEhpLA0KPj4+DQo+Pj4gT24gVGh1LCBBdWcgOCwgMjAyNCwgYXQgNzo1NyBB TSwgQWxleGFuZGVyIExvYmFraW4gd3JvdGU6DQo+Pj4+IEZyb206IExvcmVuem8gQmlhbmNvbmkg PGxvcmVuem8uYmlhbmNvbmlAcmVkaGF0LmNvbT4NCj4+Pj4gRGF0ZTogVGh1LCA4IEF1ZyAyMDI0 IDA2OjU0OjA2ICswMjAwDQo+Pj4+DQo+Pj4+Pj4gSGkgQWxleGFuZGVyLA0KPj4+Pj4+DQo+Pj4+ Pj4gT24gVHVlLCBKdW4gMjgsIDIwMjIsIGF0IDEyOjQ3IFBNLCBBbGV4YW5kZXIgTG9iYWtpbiB3 cm90ZToNCj4+Pj4+Pj4gY3B1bWFwIGhhcyBpdHMgb3duIEJIIGNvbnRleHQgYmFzZWQgb24ga3Ro cmVhZC4gSXQgaGFzIGEgc2FuZSBiYXRjaA0KPj4+Pj4+PiBzaXplIG9mIDggZnJhbWVzIHBlciBv bmUgY3ljbGUuDQo+Pj4+Pj4+IEdSTyBjYW4gYmUgdXNlZCBvbiBpdHMgb3duLCBhZGp1c3QgY3B1 bWFwIGNhbGxzIHRvIHRoZQ0KPj4+Pj4+PiB1cHBlciBzdGFjayB0byB1c2UgR1JPIEFQSSBpbnN0 ZWFkIG9mIG5ldGlmX3JlY2VpdmVfc2tiX2xpc3QoKSB3aGljaA0KPj4+Pj4+PiBwcm9jZXNzZXMg c2ticyBieSBiYXRjaGVzLCBidXQgZG9lc24ndCBpbnZvbHZlIEdSTyBsYXllciBhdCBhbGwuDQo+ Pj4+Pj4+IEl0IGlzIG1vc3QgYmVuZWZpY2lhbCB3aGVuIGEgTklDIHdoaWNoIGZyYW1lIGNvbWUg ZnJvbSBpcyBYRFANCj4+Pj4+Pj4gZ2VuZXJpYyBtZXRhZGF0YS1lbmFibGVkLCBidXQgaW4gcGxl bnR5IG9mIHRlc3RzIEdSTyBwZXJmb3JtcyBiZXR0ZXINCj4+Pj4+Pj4gdGhhbiBsaXN0ZWQgcmVj ZWl2aW5nIGV2ZW4gZ2l2ZW4gdGhhdCBpdCBoYXMgdG8gY2FsY3VsYXRlIGZ1bGwgZnJhbWUNCj4+ Pj4+Pj4gY2hlY2tzdW1zIG9uIENQVS4NCj4+Pj4+Pj4gQXMgR1JPIHBhc3NlcyB0aGUgc2ticyB0 byB0aGUgdXBwZXIgc3RhY2sgaW4gdGhlIGJhdGNoZXMgb2YNCj4+Pj4+Pj4gQGdyb19ub3JtYWxf YmF0Y2gsIGkuZS4gOCBieSBkZWZhdWx0LCBhbmQgQHNrYi0+ZGV2IHBvaW50IHRvIHRoZQ0KPj4+ Pj4+PiBkZXZpY2Ugd2hlcmUgdGhlIGZyYW1lIGNvbWVzIGZyb20sIGl0IGlzIGVub3VnaCB0byBk aXNhYmxlIEdSTw0KPj4+Pj4+PiBuZXRkZXYgZmVhdHVyZSBvbiBpdCB0byBjb21wbGV0ZWx5IHJl c3RvcmUgdGhlIG9yaWdpbmFsIGJlaGF2aW91cjoNCj4+Pj4+Pj4gdW50b3VjaGVkIGZyYW1lcyB3 aWxsIGJlIGJlaW5nIGJ1bGtlZCBhbmQgcGFzc2VkIHRvIHRoZSB1cHBlciBzdGFjaw0KPj4+Pj4+ PiBieSA4LCBhcyBpdCB3YXMgd2l0aCBuZXRpZl9yZWNlaXZlX3NrYl9saXN0KCkuDQo+Pj4+Pj4+ DQo+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBMb2Jha2luIDxhbGV4YW5kci5sb2Jh a2luQGludGVsLmNvbT4NCj4+Pj4+Pj4gLS0tDQo+Pj4+Pj4+ICBrZXJuZWwvYnBmL2NwdW1hcC5j IHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQ0KPj4+Pj4+ PiAgMSBmaWxlIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+Pj4+ Pj4+DQo+Pj4+Pj4NCj4+Pj4+PiBBRkFJQ1QgdGhlIGNwdW1hcCArIEdSTyBpcyBhIGdvb2Qgc3Rh bmRhbG9uZSBpbXByb3ZlbWVudC4gSSB0aGluaw0KPj4+Pj4+IGNwdW1hcCBpcyBzdGlsbCBtaXNz aW5nIHRoaXMuDQo+Pj4+DQo+Pj4+IFRoZSBvbmx5IGNvbmNlcm4gZm9yIGhhdmluZyBHUk8gaW4g Y3B1bWFwIHdpdGhvdXQgbWV0YWRhdGEgZnJvbSB0aGUgTklDDQo+Pj4+IGRlc2NyaXB0b3Igd2Fz IHRoYXQgd2hlbiB0aGUgY2hlY2tzdW0gc3RhdHVzIGlzIG1pc3NpbmcsIEdSTyBjYWxjdWxhdGVz DQo+Pj4+IHRoZSBjaGVja3N1bSBvbiBDUFUsIHdoaWNoIGlzIG5vdCByZWFsbHkgZmFzdC4NCj4+ Pj4gQnV0IEkgcmVtZW1iZXIgc29tZXRpbWVzIEdSTyB3YXMgZmFzdGVyIGRlc3BpdGUgdGhhdC4N Cj4+Pg0KPj4+IEdvb2QgdG8ga25vdywgdGhhbmtzLiBJSVVDIHNvbWUga2luZCBvZiBYRFAgaGlu dCBzdXBwb3J0IGxhbmRlZCBhbHJlYWR5Pw0KPj4+DQo+Pj4gTXkgdXNlIGNhc2UgY291bGQgYWxz byB1c2UgSFcgUlNTIGhhc2ggdG8gYXZvaWQgYSByZWhhc2ggaW4gWERQIHByb2cuDQo+Pg0KPj4g VW5mb3J0dW5hdGVseSwgZm9yIG5vdyBpdCdzIGltcG9zc2libGUgdG8gZ2V0IEhXIG1ldGFkYXRh IHN1Y2ggYXMgUlNTDQo+PiBoYXNoIGFuZCBjaGVja3N1bSBzdGF0dXMgaW4gY3B1bWFwLiBUaGV5 J3JlIGltcGxlbWVudGVkIHZpYSBrZnVuY3MNCj4+IHNwZWNpZmljIHRvIGEgcGFydGljdWxhciBu ZXRkZXZpY2UgYW5kIHRoaXMgaW5mbyBpcyBhdmFpbGFibGUgb25seSB3aGVuDQo+PiBydW5uaW5n IFhEUCBwcm9nLg0KPj4NCj4+IEJ1dCBJIHRoaW5rIG9uZSBzb2x1dGlvbiBjb3VsZCBiZToNCj4+ DQo+PiAxLiBXZSBjcmVhdGUgc29tZSBnZW5lcmljIHN0cnVjdHVyZSBmb3IgY3B1bWFwLCBsaWtl DQo+Pg0KPj4gc3RydWN0IGNwdW1hcF9tZXRhIHsNCj4+IAl1MzIgbWFnaWM7DQo+PiAJdTMyIGhh c2g7DQo+PiB9DQo+Pg0KPj4gMi4gV2UgYWRkIHN1Y2ggY2hlY2sgaW4gdGhlIGNwdW1hcCBjb2Rl DQo+Pg0KPj4gCWlmICh4ZHBmLT5tZXRhbGVuID09IHNpemVvZihzdHJ1Y3QgY3B1bWFwX21ldGEp ICYmDQo+PiAJICAgIDxoZXJlIHdlIGNoZWNrIG1hZ2ljPikNCj4+IAkJc2tiLT5oYXNoID0gbWV0 YS0+aGFzaDsNCj4+DQo+PiAzLiBJbiBYRFAgcHJvZywgeW91IGNhbGwgUnggaGludHMga2Z1bmNz IHdoZW4gdGhleSdyZSBhdmFpbGFibGUsIG9idGFpbg0KPj4gUlNTIGhhc2ggYW5kIHRoZW4gcHV0 IGl0IGluIHRoZSBzdHJ1Y3QgY3B1bWFwX21ldGEgYXMgWERQIGZyYW1lIG1ldGFkYXRhLg0KPiAN Cj4gWWVzLCBleGNlcHQgZG9uJ3QgbWFrZSB0aGlzIGNwdW1hcC1zcGVjaWZpYywgbWFrZSBpdCBn ZW5lcmljIGZvciBrZXJuZWwNCj4gY29uc3VtcHRpb24gb2YgdGhlIG1ldGFkYXRhLiBUaGF0IHdh eSBpdCBkb2Vzbid0IGV2ZW4gaGF2ZSB0byBiZSBzdG9yZWQNCj4gaW4gdGhlIHhkcCBtZXRhZGF0 YSBhcmVhLCBpdCBjYW4gYmUgYW55d2hlcmUgd2Ugd2FudCAoYW5kIGhlbmNlIG5vdA0KPiBzdWJq ZWN0IHRvIEFCSSBpc3N1ZXMpLCBhbmQgd2UgY2FuIHVzZSBpdCBmb3Igc2tiIGNyZWF0aW9uIGFm dGVyDQo+IHJlZGlyZWN0IGluIG90aGVyIHBsYWNlcyB0aGFuIGNwdW1hcCBhcyB3ZWxsIChzYXks IG9uIHZldGggZGV2aWNlcykuDQo+IA0KPiBTbyBpdCdsbCBiZToNCj4gDQo+IHN0cnVjdCBrZXJu ZWxfbWV0YSB7DQo+IAl1MzIgaGFzaDsNCj4gCXUzMiB0aW1lc3RhbXA7DQo+ICAgICAgICAgLi4u ZXRjDQo+IH0NCj4gDQo+IGFuZCBhIGtmdW5jOg0KPiANCj4gdm9pZCBzdG9yZV94ZHBfa2VybmVs X21ldGEoc3RydWN0IGtlcm5lbCBtZXRhICptZXRhKTsNCj4gDQo+IHdoaWNoIHRoZSBYRFAgcHJv Z3JhbSBjYW4gY2FsbCB0byBwb3B1bGF0ZSB0aGUgbWV0YWRhdGEgYXJlYS4NCg0KSG1tLCBuaWNl IQ0KDQpCdXQgd2hlcmUgdG8gc3RvcmUgdGhpcyBpbmZvIGluIGNhc2Ugb2YgY3B1bWFwIGlmIG5v dCBpbiB4ZHAtPmRhdGFfbWV0YT8NCldoZW4geW91IGNvbnZlcnQgWERQIGZyYW1lcyB0byBza2Jz IGluIHRoZSBjcHVtYXAgY29kZSwgeW91IG9ubHkgaGF2ZQ0KJnhkcF9mcmFtZSBhbmQgdGhhdCdz IGl0LiBYRFAgcHJvZyB3YXMgYWxyZWFkeSBydW4gZWFybGllciBmcm9tIHRoZQ0KZHJpdmVyIGNv ZGUgYXQgdGhhdCBwb2ludC4NCg0KQnV0IHllcywgaW4gZ2VuZXJhbCB3ZSBzdGlsbCBuZWVkIHNv bWUgZ2VuZXJpYyBzdHJ1Y3R1cmUsIHNvIHRoYXQNCmdlbmVyaWMgY29uc3VtZXJzIGxpa2UgY3B1 bWFwIChidXQgbm90IG9ubHkpIGNvdWxkIG1ha2UgdXNlIG9mIGl0LCBub3QNCm9ubHkgWERQIHBy b2dyYW1zLg0KDQo+IA0KPiAtVG9rZQ0KDQpUaGFua3MsDQpPbGVrDQo=