From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mail.toke.dk (Postfix) with ESMTPS id 8439DA17CF7 for ; Fri, 7 Jul 2023 19:02:20 +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=I0u/F2pM DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688749340; x=1720285340; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=eS9kybMLsRA75P39a6OwN9qweNuREHHeDlbHxVg7B+s=; b=I0u/F2pMnZiqYaodNmTJeCrwdh7jlocKEV8AlDfHxhtTBf7qXLZ65k1k ztLLtcrrrAgaVV4ce3q9aEyug76Eb6WyBlK4YBbVf6tvI775iT/++4JTt uu8pifGw4/3LDRiz/nQlZOcUkBnDyp1vv+Vjh+AOD91PvUoP2jWRadoXb sbRUYobAtVIdE8nFioSEfHZTdCHoDWa2G0pCJRLQNoQ9LAiZIMDhUAT2H Eu545aU0ICO94ssxRZNOWXquTgubsrYmcLzy66U9F3r+OvEkOiFzUqxzM sM56s5JJpna5iqqvzJYkbzzEsLLdpCYOBuoH8IrjK5oSOlIW2XODMrUhO g==; X-IronPort-AV: E=McAfee;i="6600,9927,10764"; a="450289940" X-IronPort-AV: E=Sophos;i="6.01,189,1684825200"; d="scan'208";a="450289940" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jul 2023 10:02:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10764"; a="755246865" X-IronPort-AV: E=Sophos;i="6.01,189,1684825200"; d="scan'208";a="755246865" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga001.jf.intel.com with ESMTP; 07 Jul 2023 10:02:17 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 7 Jul 2023 10:02:17 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 7 Jul 2023 10:02:16 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Fri, 7 Jul 2023 10:02:16 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.47) 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.27; Fri, 7 Jul 2023 10:02:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K2iBqyi75h/+rHlKyTCauduppjVJ8DPsgyhE2UHwhZsz0uZrZE9RKhxEKgP4CghmxFBRy1kpdID9ziMP8hay5btGgQeLpTvDyZYGqiPR0MRGVu83gEKFbKEr885phoGC+yZ7zvRhM2xj0IdOJg/l2D0AwLJ/FQDvLUe2qH4oNHVpFgK3zkhIsCYf+DucSHT7VlgLLobyUpc462/0ud5BeM8P5GcNxBlEG/DSH1oyDNt8cCyKt789eCAhVCVl0Je6ldU93T3mbCv4ZDH7OHrv2Yb/yn/9b68wKkmyB+h1sMGP/+yLqgH0jkahe+oN/0yD7ClEmEKLwrDLVg0YV0DURg== 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=phce137Shn0ueFkhEBBUE5/SDwQnVmxlmz39jzJDnRM=; b=PkWhxq1byDhfQmk3/kB6Dsnas1FygSolSfHHuJkWwFfzblDX8N2TbLluHzogWHQb6XTUlKbfzLeJJkzF5VX9UrEFPb3t3PHEdkeW6uqcQ6jcHlv36MpqtZ5t5h5mL++6gnv+bqiYS/BLcwKzPmmLNOCe0V86CIVgndW3eF1ZabMCNJl3RU743+1C7y0c69YGAFZb+1pi0gixhSBMvDQ1tq9Nr9PPLjCpUGL1hwoV2UxO2Kv5kqxVgE5hASFJxIdd/bALeEZsDY2cg91srpCqLnflbouSL8PlIbhJnwMWy1jdQiFY2N8inX7UUtNRq6k+tVfoip7gouIrqBObp8ptyg== 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 SN7PR11MB7540.namprd11.prod.outlook.com (2603:10b6:806:340::7) by DS0PR11MB8183.namprd11.prod.outlook.com (2603:10b6:8:161::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.25; Fri, 7 Jul 2023 17:02:10 +0000 Received: from SN7PR11MB7540.namprd11.prod.outlook.com ([fe80::9376:9c9d:424a:a0fe]) by SN7PR11MB7540.namprd11.prod.outlook.com ([fe80::9376:9c9d:424a:a0fe%6]) with mapi id 15.20.6565.016; Fri, 7 Jul 2023 17:02:10 +0000 Date: Fri, 7 Jul 2023 18:58:00 +0200 From: Larysa Zaremba To: Stanislav Fomichev Message-ID: References: <20230703181226.19380-1-larysa.zaremba@intel.com> <20230703181226.19380-19-larysa.zaremba@intel.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: X-ClientProxiedBy: FR0P281CA0220.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ac::15) To SN7PR11MB7540.namprd11.prod.outlook.com (2603:10b6:806:340::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR11MB7540:EE_|DS0PR11MB8183:EE_ X-MS-Office365-Filtering-Correlation-Id: 000349d6-a343-4516-fd24-08db7f0be6d2 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FOZsU/+uiDQE/uQjlYf6tYMSIAiSJZodxqAtOqMoKj3QV8sp4pgoNze/bEqev+X0Hg1Xx2Ddo6WdM+m3JshPScTts8eFrBpas8ASt/DwV0Of+8up3EpbWLc7m0go7DSlqRCHIt4ibnHe0qQyPo3g2Vw3biqMWFYknYqfcLurxoRcFCdN3swanG0K4WJ9rFXgZlI8/+AVD8N5sGUT6Sbuu7QGNi6XtHsmpdVn1bwt+p1cEDyt5L6tV9HwXsqPb83lcxKaCUrepESbUxRUHPf6a9lXzt0s4+dL26xfqIJRTh3q5YT/fMvaV7Td02vjTLvCdv9aLUrHhvY1Xnb9olDHZkBA1aDjEkTwiuxufyCcFVFYSagSuUcp5+m7EC6Kz0KDYX2l9E8wrJ6ztz/7MSiRpXsNpmU01CZaAWIQl8Yzpi9lYt8CZcMmgvkF6rG2bG1VwdmBNVUVruZUb6q5bPWadvfd6ph0N1XjFUdpI5a34auqsDEvoDs/8n1w8wDIgCJ5nGoxmIXvJHZioRvFxZNJ5J+a8RpqOg6VVvcvBll0pv8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR11MB7540.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(376002)(366004)(396003)(39860400002)(136003)(346002)(451199021)(82960400001)(38100700002)(86362001)(33716001)(8936002)(8676002)(6512007)(41300700001)(9686003)(26005)(5660300002)(966005)(6506007)(7416002)(53546011)(44832011)(186003)(2906002)(83380400001)(316002)(6666004)(478600001)(66946007)(54906003)(6486002)(66476007)(66556008)(6916009)(4326008);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dEErMWlJWFFQRWlDV0kwcXl1QzJzejFVbGFyM09jTnpsZXdBbFBqb21EMm1O?= =?utf-8?B?dG41RWVHWFNZL25xZWZha0E5dTN4Tm9QbW9uWkFtNEt1UDluNVFodFZpUklE?= =?utf-8?B?SnhTQ2RWNlF1dlJNV3IrNmlsclAxUnkwU3NkQk5xVTUydnJaYzZLWGc1THVL?= =?utf-8?B?Q1E2YkY0NDNiR0RxcGpKSytOaHU0alJnR2JDN2IwRmQreitHM2ZlckxRL2pv?= =?utf-8?B?aE44Y1o5Qjh3cGdrVXZZb1ZtQ3g3YWpsWWtQVitnWUJEMEFyY2JrRW1GR1hV?= =?utf-8?B?SDZPWE4rSmFDbEt1MEZEMzhkcmM0TWxKeTBJdUxjVTF5UjA4aWdPZE5KL2Fs?= =?utf-8?B?TThWa2tzYlZKNXpGTW8zcUVXM3JNREpNeTBYT2t2cjBCL0s0N2hEbkh4STFT?= =?utf-8?B?eVU3bVUwWVRLd2hHNTNsM1JUc2RrY1RrMDBGejNic3JGRTB6WGZtWnJKY2xV?= =?utf-8?B?cG1DOHdrV3pabm50a2FZR1JHaGFHRGdvUVNDajgwY1pPaWNNQ3JZd1JZRFBM?= =?utf-8?B?azd6RWZIcWI3ak5KMHk0YjlIcStDNlhGUElPemg1WlBva0RLZW0vRU9xbGpm?= =?utf-8?B?SnNDTjZoOGh0OUpjc1BnSjg4QWZibWpRRDRaQXZ3dXhaK2JETE90R2dRczhD?= =?utf-8?B?OFUrZll4QWRGZGkzRkpWUkN1V0pDbWpLSFhHS1JDQlZpdXRKTDE0bEhrR0Fy?= =?utf-8?B?czRQZzFKT21YdjJJZ1ovRUE3cHF4T255dFFzdTFtb3RqMUpveWtrZkZ4UElL?= =?utf-8?B?L3p6R1hwYnFHNkE3cEdyVjdsZFJxREpsVlZ0cUhKS09jVlVFYXlsb2pxZlJU?= =?utf-8?B?MjVacnRxZXdyb2pVVW1uSkdJVTVFbHFOUVRsU1NhOW1YWFFkWjF3a2VMVkJD?= =?utf-8?B?a09YemtiUlM4NU5nc0ZpeTlWbGdIWmxRNkxrMGd2T2pyWENPNEpUV2dtY05G?= =?utf-8?B?cS8rYk1EK1BVb1FEbjZ3OGk5MldPMnJ5S3kvQ3Z5Q2RDTkE4ZXFVU1orcFFs?= =?utf-8?B?QTFheTJVVE44MDhGaXFxQXRpSVlaT3NiV29TaVNqckgza2dHTllXV3R2VlRL?= =?utf-8?B?cWhGV3hmVWw2YUlzYTMwb0gvU0dVNzVyYk1KMFh0NE13VW15d1VpUFF4WnJw?= =?utf-8?B?QjZpK1I5a1BwSzJjRGJuSEQ1Nm9Bd3lleVFQamlBM25YQVdITEVNeElrQW5z?= =?utf-8?B?dU5QZDkzTU5JV0ZyMm91K1VvNHFlZSs2OTJVcmt1cHo4WTVtUjcyU05sMWdR?= =?utf-8?B?ZllnVnlOV2txUmwwQitNVmh0T2ZwaWt5OWd0bXJaNlpFWitLdWhzTlV5Njd5?= =?utf-8?B?MC9mMi9Kc0IrcnFmM1gxeVo5WEJGZ3ZTa3hwMFZOTnNvcnhZRFV5YkdQZDFX?= =?utf-8?B?RDNMUE9sYU83WGNLdURlYTlFc28wd3BwdU9iZmw2cXozcEhSbXFFQm1pdS9V?= =?utf-8?B?R2gxNVV1eDJ2UCtRWjQ3bTBsREY2cDVxNEV6M09QRWN5aFRicWppMjhNSmVi?= =?utf-8?B?NDg3ekFoMnNwOEpWdTZ5N3NPRXRhUjROK1pwTEhpSkZoanIyMS9wcnQ2S2h0?= =?utf-8?B?aVAyVmRkMy9CMFUwNGVDSUdHL05xR0NhRzBxRzNjMkM2NHRRalNtMC9xazNG?= =?utf-8?B?aVJNcXBVZEdGY1I4Mjh3MVdtRWZ2elNxT0ZpV3dDMktGZ003OWIxR1RMQk1a?= =?utf-8?B?SWJXUjZBTmNaMDRtaTJJaHhWT254L21iYjUvSzdzblVZZGtCMWwyRmdVSzc1?= =?utf-8?B?QTFhQjJoazVNaVhpUFJPbXV3LzZjZThYelBSbzRXc2VoTVlMV2JaQVFQZFU1?= =?utf-8?B?bmlzTFZzL2M1UnJyeVBUcGkzQWVtZGlGTTB4VFZJZDhUUjRQWGh3c3kyclZU?= =?utf-8?B?TE1BMzVoVitmbm5rOFFSQWt5ejk2dHM2Y1lZVkJIVUl5Qy9QME04U3ZyTmdW?= =?utf-8?B?N0hsejZtRXU4Z3BSejdaNUNodGJ6dGNFM3YrcllSUWgvSmMxc1UzTEdLVlds?= =?utf-8?B?R3NtUHpBWUd6akZrWlI5d1UweG9heklSV2FpQ0EvZTFISDN2N1lCNHRTdXF2?= =?utf-8?B?dnpEdGxOWUxYbjhBUlE5WjAyQU1VZUVHdCtuVW1QQkc0djk1WldsS0htZld1?= =?utf-8?B?SXFscCtKdmFDQjFmb0Rybklnb3RsV0s3S0VCQTVEOHA1MWMydDBOd0toT0g4?= =?utf-8?B?bmc9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 000349d6-a343-4516-fd24-08db7f0be6d2 X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7540.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2023 17:02:10.0381 (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: A5oVYGAdMmh4IIGJlCX0Ml8GQwQv1Cuad53hG6a8BGXJdgfMpczvL9hQ+j+Y9/3yb6WfMQQhgUIHFVNKF1RKvCs/q+69eo+DFZMG/fG5xWg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB8183 X-OriginatorOrg: intel.com Message-ID-Hash: AUXY5XLDITUTZHPTU2I26XUHNFAR33TX X-Message-ID-Hash: AUXY5XLDITUTZHPTU2I26XUHNFAR33TX X-MailFrom: larysa.zaremba@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: bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, haoluo@google.com, jolsa@kernel.org, David Ahern , Jakub Kicinski , Willem de Bruijn , Jesper Dangaard Brouer , Anatoly Burakov , Alexander Lobakin , Magnus Karlsson , Maryam Tahhan , xdp-hints@xdp-project.net, netdev@vger.kernel.org X-Mailman-Version: 3.3.8 Precedence: list Subject: [xdp-hints] Re: [PATCH bpf-next v2 18/20] selftests/bpf: Use AF_INET for TX in xdp_metadata List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: T24gRnJpLCBKdWwgMDcsIDIwMjMgYXQgMDk6NDk6NTFBTSAtMDcwMCwgU3RhbmlzbGF2IEZvbWlj aGV2IHdyb3RlOg0KPiBPbiAwNy8wNywgTGFyeXNhIFphcmVtYmEgd3JvdGU6DQo+ID4gT24gVGh1 LCBKdWwgMDYsIDIwMjMgYXQgMTA6Mjc6MzhBTSAtMDcwMCwgU3RhbmlzbGF2IEZvbWljaGV2IHdy b3RlOg0KPiA+ID4gT24gVGh1LCBKdWwgNiwgMjAyMyBhdCA3OjE14oCvQU0gTGFyeXNhIFphcmVt YmEgPGxhcnlzYS56YXJlbWJhQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+IE9u IFdlZCwgSnVsIDA1LCAyMDIzIGF0IDEwOjM5OjM1QU0gLTA3MDAsIFN0YW5pc2xhdiBGb21pY2hl diB3cm90ZToNCj4gPiA+ID4gPiBPbiAwNy8wMywgTGFyeXNhIFphcmVtYmEgd3JvdGU6DQo+ID4g PiA+ID4gPiBUaGUgZWFzaWVzdCB3YXkgdG8gc2ltdWxhdGUgc3RyaXBwZWQgVkxBTiB0YWcgaW4g dmV0aCBpcyB0byBzZW5kIGEgcGFja2V0DQo+ID4gPiA+ID4gPiBmcm9tIFZMQU4gaW50ZXJmYWNl LCBhdHRhY2hlZCB0byB2ZXRoLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGFwcHJvYWNoIGlzDQo+ID4g PiA+ID4gPiBpbmNvbXBhdGlibGUgd2l0aCBBRl9YRFAgb24gVFggc2lkZSwgYmVjYXVzZSBWTEFO IGludGVyZmFjZXMgZG8gbm90IGhhdmUNCj4gPiA+ID4gPiA+IHN1Y2ggZmVhdHVyZS4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiBSZXBsYWNlIEFGX1hEUCBwYWNrZXQgZ2VuZXJhdGlvbiB3aXRo IHNlbmRpbmcgdGhlIHNhbWUgZGF0YWdyYW0gdmlhDQo+ID4gPiA+ID4gPiBBRl9JTkVUIHNvY2tl dC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUaGlzIGRvZXMgbm90IGNoYW5nZSB0aGUgcGFj a2V0IGNvbnRlbnRzIG9yIGhpbnRzIHZhbHVlcyB3aXRoIG9uZSBub3RhYmxlDQo+ID4gPiA+ID4g PiBleGNlcHRpb246IHJ4X2hhc2hfdHlwZSwgd2hpY2ggcHJldmlvdXNseSB3YXMgZXhwZWN0ZWQg dG8gYmUgMCwgbm93IGlzDQo+ID4gPiA+ID4gPiBleHBlY3RlZCBiZSBhdCBsZWFzdCBYRFBfUlNT X1RZUEVfTDQuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQWxzbywgdXNhZ2Ugb2YgQUZfSU5F VCByZXF1aXJlcyBhIGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVkIG5hbWVzcGFjZSBzZXR1cCwNCj4g PiA+ID4gPiA+IHRoZXJlZm9yZSBvcGVuX25ldG5zKCkgaGVscGVyIGZ1bmN0aW9uIGlzIGRpdmlk ZWQgaW50byBzbWFsbGVyIHJldXNhYmxlDQo+ID4gPiA+ID4gPiBwaWVjZXMuDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBBY2ssIGl0J3MgcHJvYmFibHkgT0sgZm9yIG5vdywgYnV0LCBGWUksIEknbSB0 cnlpbmcgdG8gZXh0ZW5kIHRoaXMgcGFydA0KPiA+ID4gPiA+IHdpdGggVFggbWV0YWRhdGE6DQo+ ID4gPiA+ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYnBmLzIwMjMwNjIxMTcwMjQ0LjEyODMz MzYtMTAtc2RmQGdvb2dsZS5jb20vDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBTbyBwcm9iYWJseSBs b25nLXRlcm0gSSdsbCBzd2l0Y2ggaXQgYmFjayB0byBBRl9YRFAgYnV0IHdpbGwgYWRkDQo+ID4g PiA+ID4gc3VwcG9ydCBmb3IgcmVxdWVzdGluZyB2bGFuIFRYICJvZmZsb2FkIiBmcm9tIHRoZSB2 ZXRoLg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IE15IGJhZCBmb3Igbm90IHJlYWRpbmcg eW91ciBzZXJpZXMuIEFtYXppbmcgd29yayBhcyBhbHdheXMhDQo+ID4gPiA+DQo+ID4gPiA+IFNv LCAncmVxdWVzdGluZyB2bGFuIFRYICJvZmZsb2FkIicgd2l0aCBuZXcgaGludHMgY2FwYWJpbGl0 aWVzPyBUaGlzIHdvdWxkIGJlDQo+ID4gPiA+IHByZXR0eSBuZWF0Lg0KPiA+ID4gPg0KPiA+ID4g PiBCdXQgeW91IHRoaW5rIEFGX0lORVQgVFggaXMgd29ydGgga2VlcGluZyBmb3Igbm93LCB1bnRp bCBUWCBoaW50cyBhcmUgbWF0dXJlPw0KPiA+ID4gPg0KPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1i eTogTGFyeXNhIFphcmVtYmEgPGxhcnlzYS56YXJlbWJhQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ IC0tLQ0KPiA+ID4gPiA+ID4gIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9uZXR3b3JrX2hl bHBlcnMuYyB8ICAzNyArKystDQo+ID4gPiA+ID4gPiAgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv YnBmL25ldHdvcmtfaGVscGVycy5oIHwgICAzICsNCj4gPiA+ID4gPiA+ICAuLi4vc2VsZnRlc3Rz L2JwZi9wcm9nX3Rlc3RzL3hkcF9tZXRhZGF0YS5jICAgfCAxNzUgKysrKysrKy0tLS0tLS0tLS0t DQo+ID4gPiA+ID4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCAxMTcgZGVs ZXRpb25zKC0pDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL2JwZi9uZXR3b3JrX2hlbHBlcnMuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2Vs ZnRlc3RzL2JwZi9uZXR3b3JrX2hlbHBlcnMuYw0KPiA+ID4gPiA+ID4gaW5kZXggYTEwNWMwY2Qw MDhhLi4xOTQ2MzIzMGVjZTUgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0gYS90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9icGYvbmV0d29ya19oZWxwZXJzLmMNCj4gPiA+ID4gPiA+ICsrKyBiL3Rvb2xz L3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9uZXR3b3JrX2hlbHBlcnMuYw0KPiA+ID4gPiA+ID4gQEAg LTM4NiwyOCArMzg2LDUxIEBAIGNoYXIgKnBpbmdfY29tbWFuZChpbnQgZmFtaWx5KQ0KPiA+ID4g PiA+ID4gICAgIHJldHVybiAicGluZyI7DQo+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICtpbnQgZ2V0X2N1cl9uZXRucyh2b2lkKQ0KPiA+ID4gPiA+ID4gK3sNCj4gPiA+ ID4gPiA+ICsgICBpbnQgbnNmZDsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgICBuc2Zk ID0gb3BlbigiL3Byb2Mvc2VsZi9ucy9uZXQiLCBPX1JET05MWSk7DQo+ID4gPiA+ID4gPiArICAg QVNTRVJUX0dFKG5zZmQsIDAsICJvcGVuIC9wcm9jL3NlbGYvbnMvbmV0Iik7DQo+ID4gPiA+ID4g PiArICAgcmV0dXJuIG5zZmQ7DQo+ID4gPiA+ID4gPiArfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ID4gK2ludCBnZXRfbmV0bnMoY29uc3QgY2hhciAqbmFtZSkNCj4gPiA+ID4gPiA+ICt7DQo+ ID4gPiA+ID4gPiArICAgY2hhciBuc3BhdGhbUEFUSF9NQVhdOw0KPiA+ID4gPiA+ID4gKyAgIGlu dCBuc2ZkOw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgIHNucHJpbnRmKG5zcGF0aCwg c2l6ZW9mKG5zcGF0aCksICIlcy8lcyIsICIvdmFyL3J1bi9uZXRucyIsIG5hbWUpOw0KPiA+ID4g PiA+ID4gKyAgIG5zZmQgPSBvcGVuKG5zcGF0aCwgT19SRE9OTFkgfCBPX0NMT0VYRUMpOw0KPiA+ ID4gPiA+ID4gKyAgIEFTU0VSVF9HRShuc2ZkLCAwLCAib3BlbiAvcHJvYy9zZWxmL25zL25ldCIp Ow0KPiA+ID4gPiA+ID4gKyAgIHJldHVybiBuc2ZkOw0KPiA+ID4gPiA+ID4gK30NCj4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+ICtpbnQgc2V0X25ldG5zKGludCBuZXRuc19mZCkNCj4gPiA+ID4g PiA+ICt7DQo+ID4gPiA+ID4gPiArICAgcmV0dXJuIHNldG5zKG5ldG5zX2ZkLCBDTE9ORV9ORVdO RVQpOw0KPiA+ID4gPiA+ID4gK30NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdlIGhhdmUgb3Blbl9u ZXRucy9jbG9zZV9uZXRucyBpbiBuZXR3b3JrX2hlbHBlcnMuaCB0aGF0IHByb3ZpZGUgc2ltaWxh cg0KPiA+ID4gPiA+IGZ1bmN0aW9uYWxpdHksIGxldCdzIHVzZSB0aGVtIGluc3RlYWQ/DQo+ID4g PiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSSBoYXZlIGRpdmlkZWQgb3Blbl9uZXRucygpIGludG8g c21hbGxlciBwaWVjZXMgKHNlZSBiZWxvdyksIGJlY2F1c2UgdGhlIGNvZGUgSQ0KPiA+ID4gPiBo YXZlIGFkZGVkIGludG8geGRwX21ldGFkYXRhIGxvb2tlZCBiZXR0ZXIgd2l0aCB0aG9zZSBzbWFs bGVyIHBpZWNlcyAoSSBoYWQgdG8NCj4gPiA+ID4gc3dpdGNoIG5hbWVzcGFjZSBzZXZlcmFsIHRp bWVzKS4NCj4gPiA+IA0KPiA+ID4gRm9yZ290IHRvIHJlcGx5IHRvIHRoaXMgcGFydC4gSSBtaXNz ZWQgdGhlIGZhY3QgdGhhdCB5b3UncmUgZXh0ZW5kaW5nDQo+ID4gPiBuZXR3b3JrX2hlbHBlcnMs IHNvcnJ5Lg0KPiA+ID4gQnV0IHdoeSBkbyB3ZSBuZWVkIGV4dHJhIG5hbWVzcGFjZXMgYXQgYWxs Pw0KPiA+IA0KPiA+IElmIHZldGhzIGFyZSBpbiB0aGUgc2FtZSBuYW1lc3BhY2UsIEFGX0lORVQg cGFja2V0cyBhcmUgbm90IHNlbnQgYmV0d2VlbiB0aGVtLA0KPiA+IHNvIFhEUCBpcyBza2lwcGVk LiBTbyB3ZSBuZWVkIDIgdGVzdCBuYW1lc3BhY2VzOiBmb3IgUlggYW5kIFRYLg0KPiANCj4gTWFr ZXMgc2Vuc2UuIEJ1dCBsZXQncyBtYXliZSB1c2UgdGhlIGV4aXN0aW5nIGhlbHBlcnMgdG8ganVt cCB0by9mcm9tDQo+IG5hbWVzcGFjZXM/DQo+IA0KPiBJdCBtaWdodCBiZSBhIGJpdCBtb3JlIHZl cmJvc2UsIGJ1dCBpdCBtYWtlcyBpdCBlYXN5IHRvIGFubm90YXRlIG5hbWVzcGFjZQ0KPiBiZWlu Zy9lbmQuIChjb21wYXJlZCB0byByYW5kb20ganVtcGluZyBhcm91bmQgd2l0aCBzZXRucykNCj4g DQo+IHRvayA9IG9wZW5fbmV0bnMoInR4Iik7DQo+IGRvX3NvbWV0aGluZygpOw0KPiBjbG9zZV9u ZXRucyh0b2spOw0KPiANCj4gdG9rID0gb3Blbl9uZXRucygicngiKTsNCj4gZG9fc29tZXRoaW5n X2Vsc2UoKTsNCj4gY2xvc2VfbmV0bnModG9rKTsNCj4gDQo+IFNob3VsZCBiZSBkb2FibGU/DQoN CkkgZ3Vlc3MgeW91IGFyZSByaWdodCwgd2lsbCByZXdyaXRlIHRoaXMgcGFydCB0byB1c2Ugb3Bl bl9uZXRucygpL2Nsb3NlX25ldG5zKCksIA0KZXNwZWNpYWxseSBjb25zaWRlcmluZyBJIGhhdmUg bWVzc2VkIHVwIG5hbWVzcGFjZSBGRCBtYW5hZ2VtZW50IGFjY29yZGluZyB0byBDSS4NCg==