From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mail.toke.dk (Postfix) with ESMTPS id DA3EC9FD599 for ; Wed, 12 Apr 2023 21:48:58 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=JcLKbKg5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1681328937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=F4P5FHgst54Guyz7AOdIGfebsTZwoSbmDnoCPryHKKQ=; b=JcLKbKg57dBH5pVhRFloBT3oGWd/R23CvVdE0FjaWRyQbkLsJpu+ofm+BGFFLzN1TJbeEB 0SHsBYERDiw/uwPAg0aAPj9VbLxrFPHNcpvK87+DPOJ4Xh88FdkvYWwxac44iP1Wl8hr8M IeoAACs/kp/HAqJIu41DlNTmEqZ6UCM= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-610-iEaY8LyHOrOP00OkaDD2KA-1; Wed, 12 Apr 2023 15:48:52 -0400 X-MC-Unique: iEaY8LyHOrOP00OkaDD2KA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DB939101A551; Wed, 12 Apr 2023 19:48:46 +0000 (UTC) Received: from firesoul.localdomain (unknown [10.45.242.24]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6D8FA2166B29; Wed, 12 Apr 2023 19:48:46 +0000 (UTC) Received: from [10.1.1.1] (localhost [IPv6:::1]) by firesoul.localdomain (Postfix) with ESMTP id 838AC307372E8; Wed, 12 Apr 2023 21:48:45 +0200 (CEST) From: Jesper Dangaard Brouer To: bpf@vger.kernel.org, Stanislav Fomichev , =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= Date: Wed, 12 Apr 2023 21:48:45 +0200 Message-ID: <168132892548.340624.11185734579430124869.stgit@firesoul> In-Reply-To: <168132888942.340624.2449617439220153267.stgit@firesoul> References: <168132888942.340624.2449617439220153267.stgit@firesoul> User-Agent: StGit/1.4 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Message-ID-Hash: NEFIPYCHJ6IU434TOEXVOALR6KTLFP5U X-Message-ID-Hash: NEFIPYCHJ6IU434TOEXVOALR6KTLFP5U X-MailFrom: brouer@redhat.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: Jesper Dangaard Brouer , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, martin.lau@kernel.org, ast@kernel.org, daniel@iogearbox.net, alexandr.lobakin@intel.com, larysa.zaremba@intel.com, xdp-hints@xdp-project.net, anthony.l.nguyen@intel.com, yoong.siang.song@intel.com, boon.leong.ong@intel.com, intel-wired-lan@lists.osuosl.org, pabeni@redhat.com, jesse.brandeburg@intel.com, kuba@kernel.org, edumazet@google.com, john.fastabend@gmail.com, hawk@kernel.org, davem@davemloft.net, tariqt@nvidia.com, saeedm@nvidia.com, leon@kernel.org, linux-rdma@vger.kernel.org X-Mailman-Version: 3.3.8 Precedence: list Subject: [xdp-hints] [PATCH bpf V10 3/6] mlx5: bpf_xdp_metadata_rx_hash add xdp rss hash type List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VXBkYXRlIEFQSSBmb3IgYnBmX3hkcF9tZXRhZGF0YV9yeF9oYXNoKCkgd2l0aCBhcmcgZm9yIHhk cCByc3MgaGFzaCB0eXBlDQp2aWEgbWFwcGluZyB0YWJsZS4NCg0KVGhlIG1seDUgaGFyZHdhcmUg Y2FuIGFsc28gaWRlbnRpZnkgYW5kIFJTUyBoYXNoIElQU0VDLiAgVGhpcyBpbmRpY2F0ZQ0KaGFz aCBpbmNsdWRlcyBTUEkgKFNlY3VyaXR5IFBhcmFtZXRlcnMgSW5kZXgpIGFzIHBhcnQgb2YgSVBT RUMgaGFzaC4NCg0KRXh0ZW5kIHhkcCBjb3JlIGVudW0geGRwX3Jzc19oYXNoX3R5cGUgd2l0aCBJ UFNFQyBoYXNoIHR5cGUuDQoNCkZpeGVzOiBiYzhkNDA1YjFiYTkgKCJuZXQvbWx4NWU6IFN1cHBv cnQgUlggWERQIG1ldGFkYXRhIikNClNpZ25lZC1vZmYtYnk6IEplc3BlciBEYW5nYWFyZCBCcm91 ZXIgPGJyb3VlckByZWRoYXQuY29tPg0KQWNrZWQtYnk6IFRva2UgSMO4aWxhbmQtSsO4cmdlbnNl biA8dG9rZUByZWRoYXQuY29tPg0KQWNrZWQtYnk6IFN0YW5pc2xhdiBGb21pY2hldiA8c2RmQGdv b2dsZS5jb20+DQotLS0NCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZW4veGRwLmMgfCAgIDYwICsrKysrKysrKysrKysrKysrKysrKysNCiBpbmNsdWRlL2xpbnV4L21s eDUvZGV2aWNlLmggICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKystDQogaW5jbHVkZS9u ZXQveGRwLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArDQogMyBmaWxl cyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jDQppbmRleCBlZmU2 MDlmOGUzYWEuLmQ5ZDNiOWUxZjE1YSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuYw0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jDQpAQCAtMzQsNiArMzQsNyBAQA0KICNpbmNsdWRl IDxuZXQveGRwX3NvY2tfZHJ2Lmg+DQogI2luY2x1ZGUgImVuL3hkcC5oIg0KICNpbmNsdWRlICJl bi9wYXJhbXMuaCINCisjaW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4NCiANCiBpbnQgbWx4NWVf eGRwX21heF9tdHUoc3RydWN0IG1seDVlX3BhcmFtcyAqcGFyYW1zLCBzdHJ1Y3QgbWx4NWVfeHNr X3BhcmFtICp4c2spDQogew0KQEAgLTE2OSwxNSArMTcwLDcyIEBAIHN0YXRpYyBpbnQgbWx4NWVf eGRwX3J4X3RpbWVzdGFtcChjb25zdCBzdHJ1Y3QgeGRwX21kICpjdHgsIHU2NCAqdGltZXN0YW1w KQ0KIAlyZXR1cm4gMDsNCiB9DQogDQorLyogTWFwcGluZyBIVyBSU1MgVHlwZSBiaXRzIENRRV9S U1NfSFRZUEVfSVAgKyBDUUVfUlNTX0hUWVBFX0w0IGludG8gNC1iaXRzKi8NCisjZGVmaW5lIFJT U19UWVBFX01BWF9UQUJMRQkxNiAvKiA0LWJpdHMgbWF4IDE2IGVudHJpZXMgKi8NCisjZGVmaW5l IFJTU19MNAkJR0VOTUFTSygxLCAwKQ0KKyNkZWZpbmUgUlNTX0wzCQlHRU5NQVNLKDMsIDIpIC8q IFNhbWUgYXMgQ1FFX1JTU19IVFlQRV9JUCAqLw0KKw0KKy8qIFZhbGlkIGNvbWJpbmF0aW9ucyBv ZiBDUUVfUlNTX0hUWVBFX0lQICsgQ1FFX1JTU19IVFlQRV9MNCBzb3J0ZWQgbnVtZXJpY2FsICov DQorZW51bSBtbHg1X3Jzc19oYXNoX3R5cGUgew0KKwlSU1NfVFlQRV9OT19IQVNICT0gKEZJRUxE X1BSRVBfQ09OU1QoUlNTX0wzLCBDUUVfUlNTX0lQX05PTkUpIHwNCisJCQkJICAgRklFTERfUFJF UF9DT05TVChSU1NfTDQsIENRRV9SU1NfTDRfTk9ORSkpLA0KKwlSU1NfVFlQRV9MM19JUFY0CT0g KEZJRUxEX1BSRVBfQ09OU1QoUlNTX0wzLCBDUUVfUlNTX0lQVjQpIHwNCisJCQkJICAgRklFTERf UFJFUF9DT05TVChSU1NfTDQsIENRRV9SU1NfTDRfTk9ORSkpLA0KKwlSU1NfVFlQRV9MNF9JUFY0 X1RDUAk9IChGSUVMRF9QUkVQX0NPTlNUKFJTU19MMywgQ1FFX1JTU19JUFY0KSB8DQorCQkJCSAg IEZJRUxEX1BSRVBfQ09OU1QoUlNTX0w0LCBDUUVfUlNTX0w0X1RDUCkpLA0KKwlSU1NfVFlQRV9M NF9JUFY0X1VEUAk9IChGSUVMRF9QUkVQX0NPTlNUKFJTU19MMywgQ1FFX1JTU19JUFY0KSB8DQor CQkJCSAgIEZJRUxEX1BSRVBfQ09OU1QoUlNTX0w0LCBDUUVfUlNTX0w0X1VEUCkpLA0KKwlSU1Nf VFlQRV9MNF9JUFY0X0lQU0VDCT0gKEZJRUxEX1BSRVBfQ09OU1QoUlNTX0wzLCBDUUVfUlNTX0lQ VjQpIHwNCisJCQkJICAgRklFTERfUFJFUF9DT05TVChSU1NfTDQsIENRRV9SU1NfTDRfSVBTRUMp KSwNCisJUlNTX1RZUEVfTDNfSVBWNgk9IChGSUVMRF9QUkVQX0NPTlNUKFJTU19MMywgQ1FFX1JT U19JUFY2KSB8DQorCQkJCSAgIEZJRUxEX1BSRVBfQ09OU1QoUlNTX0w0LCBDUUVfUlNTX0w0X05P TkUpKSwNCisJUlNTX1RZUEVfTDRfSVBWNl9UQ1AJPSAoRklFTERfUFJFUF9DT05TVChSU1NfTDMs IENRRV9SU1NfSVBWNikgfA0KKwkJCQkgICBGSUVMRF9QUkVQX0NPTlNUKFJTU19MNCwgQ1FFX1JT U19MNF9UQ1ApKSwNCisJUlNTX1RZUEVfTDRfSVBWNl9VRFAJPSAoRklFTERfUFJFUF9DT05TVChS U1NfTDMsIENRRV9SU1NfSVBWNikgfA0KKwkJCQkgICBGSUVMRF9QUkVQX0NPTlNUKFJTU19MNCwg Q1FFX1JTU19MNF9VRFApKSwNCisJUlNTX1RZUEVfTDRfSVBWNl9JUFNFQwk9IChGSUVMRF9QUkVQ X0NPTlNUKFJTU19MMywgQ1FFX1JTU19JUFY2KSB8DQorCQkJCSAgIEZJRUxEX1BSRVBfQ09OU1Qo UlNTX0w0LCBDUUVfUlNTX0w0X0lQU0VDKSksDQorfTsNCisNCisvKiBJbnZhbGlkIGNvbWJpbmF0 aW9ucyB3aWxsIHNpbXBseSByZXR1cm4gemVybywgYWxsb3dzIG5vIGJvdW5kYXJ5IGNoZWNrcyAq Lw0KK3N0YXRpYyBjb25zdCBlbnVtIHhkcF9yc3NfaGFzaF90eXBlIG1seDVfeGRwX3Jzc190eXBl W1JTU19UWVBFX01BWF9UQUJMRV0gPSB7DQorCVtSU1NfVFlQRV9OT19IQVNIXQkgPSBYRFBfUlNT X1RZUEVfTk9ORSwNCisJWzFdCQkJID0gWERQX1JTU19UWVBFX05PTkUsIC8qIEltcGxpY2l0IHpl cm8gKi8NCisJWzJdCQkJID0gWERQX1JTU19UWVBFX05PTkUsIC8qIEltcGxpY2l0IHplcm8gKi8N CisJWzNdCQkJID0gWERQX1JTU19UWVBFX05PTkUsIC8qIEltcGxpY2l0IHplcm8gKi8NCisJW1JT U19UWVBFX0wzX0lQVjRdCSA9IFhEUF9SU1NfVFlQRV9MM19JUFY0LA0KKwlbUlNTX1RZUEVfTDRf SVBWNF9UQ1BdCSA9IFhEUF9SU1NfVFlQRV9MNF9JUFY0X1RDUCwNCisJW1JTU19UWVBFX0w0X0lQ VjRfVURQXQkgPSBYRFBfUlNTX1RZUEVfTDRfSVBWNF9VRFAsDQorCVtSU1NfVFlQRV9MNF9JUFY0 X0lQU0VDXSA9IFhEUF9SU1NfVFlQRV9MNF9JUFY0X0lQU0VDLA0KKwlbUlNTX1RZUEVfTDNfSVBW Nl0JID0gWERQX1JTU19UWVBFX0wzX0lQVjYsDQorCVtSU1NfVFlQRV9MNF9JUFY2X1RDUF0JID0g WERQX1JTU19UWVBFX0w0X0lQVjZfVENQLA0KKwlbUlNTX1RZUEVfTDRfSVBWNl9VRFBdICAgPSBY RFBfUlNTX1RZUEVfTDRfSVBWNl9VRFAsDQorCVtSU1NfVFlQRV9MNF9JUFY2X0lQU0VDXSA9IFhE UF9SU1NfVFlQRV9MNF9JUFY2X0lQU0VDLA0KKwlbMTJdCQkJID0gWERQX1JTU19UWVBFX05PTkUs IC8qIEltcGxpY2l0IHplcm8gKi8NCisJWzEzXQkJCSA9IFhEUF9SU1NfVFlQRV9OT05FLCAvKiBJ bXBsaWNpdCB6ZXJvICovDQorCVsxNF0JCQkgPSBYRFBfUlNTX1RZUEVfTk9ORSwgLyogSW1wbGlj aXQgemVybyAqLw0KKwlbMTVdCQkJID0gWERQX1JTU19UWVBFX05PTkUsIC8qIEltcGxpY2l0IHpl cm8gKi8NCit9Ow0KKw0KIHN0YXRpYyBpbnQgbWx4NWVfeGRwX3J4X2hhc2goY29uc3Qgc3RydWN0 IHhkcF9tZCAqY3R4LCB1MzIgKmhhc2gsDQogCQkJICAgICBlbnVtIHhkcF9yc3NfaGFzaF90eXBl ICpyc3NfdHlwZSkNCiB7DQogCWNvbnN0IHN0cnVjdCBtbHg1ZV94ZHBfYnVmZiAqX2N0eCA9ICh2 b2lkICopY3R4Ow0KKwljb25zdCBzdHJ1Y3QgbWx4NV9jcWU2NCAqY3FlID0gX2N0eC0+Y3FlOw0K Kwl1MzIgaGFzaF90eXBlLCBsNF90eXBlLCBpcF90eXBlLCBsb29rdXA7DQogDQogCWlmICh1bmxp a2VseSghKF9jdHgtPnhkcC5yeHEtPmRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX1JYSEFTSCkpKQ0K IAkJcmV0dXJuIC1FTk9EQVRBOw0KIA0KLQkqaGFzaCA9IGJlMzJfdG9fY3B1KF9jdHgtPmNxZS0+ cnNzX2hhc2hfcmVzdWx0KTsNCisJKmhhc2ggPSBiZTMyX3RvX2NwdShjcWUtPnJzc19oYXNoX3Jl c3VsdCk7DQorDQorCWhhc2hfdHlwZSA9IGNxZS0+cnNzX2hhc2hfdHlwZTsNCisJQlVJTERfQlVH X09OKENRRV9SU1NfSFRZUEVfSVAgIT0gUlNTX0wzKTsgLyogc2FtZSBtYXNrICovDQorCWlwX3R5 cGUgPSBoYXNoX3R5cGUgJiBDUUVfUlNTX0hUWVBFX0lQOw0KKwlsNF90eXBlID0gRklFTERfR0VU KENRRV9SU1NfSFRZUEVfTDQsIGhhc2hfdHlwZSk7DQorCWxvb2t1cCA9IGlwX3R5cGUgfCBsNF90 eXBlOw0KKwkqcnNzX3R5cGUgPSBtbHg1X3hkcF9yc3NfdHlwZVtsb29rdXBdOw0KKw0KIAlyZXR1 cm4gMDsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbHg1L2RldmljZS5oIGIv aW5jbHVkZS9saW51eC9tbHg1L2RldmljZS5oDQppbmRleCA3MWIwNmViYWQ0MDIuLjFkYjE5YTlk MjZlMyAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvbGludXgvbWx4NS9kZXZpY2UuaA0KKysrIGIvaW5j bHVkZS9saW51eC9tbHg1L2RldmljZS5oDQpAQCAtMzYsNiArMzYsNyBAQA0KICNpbmNsdWRlIDxs aW51eC90eXBlcy5oPg0KICNpbmNsdWRlIDxyZG1hL2liX3ZlcmJzLmg+DQogI2luY2x1ZGUgPGxp bnV4L21seDUvbWx4NV9pZmMuaD4NCisjaW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4NCiANCiAj aWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU4pDQogI2RlZmluZSBNTFg1X1NFVF9IT1NUX0VORElB Tk5FU1MJMA0KQEAgLTk4MCwxNCArOTgxLDIzIEBAIGVudW0gew0KIH07DQogDQogZW51bSB7DQot CUNRRV9SU1NfSFRZUEVfSVAJPSAweDMgPDwgMiwNCisJQ1FFX1JTU19IVFlQRV9JUAk9IEdFTk1B U0soMywgMiksDQogCS8qIGNxZS0+cnNzX2hhc2hfdHlwZVszOjJdIC0gSVAgZGVzdGluYXRpb24g c2VsZWN0ZWQgZm9yIGhhc2gNCiAJICogKDAwID0gbm9uZSwgIDAxID0gSVB2NCwgMTAgPSBJUHY2 LCAxMSA9IFJlc2VydmVkKQ0KIAkgKi8NCi0JQ1FFX1JTU19IVFlQRV9MNAk9IDB4MyA8PCA2LA0K KwlDUUVfUlNTX0lQX05PTkUJCT0gMHgwLA0KKwlDUUVfUlNTX0lQVjQJCT0gMHgxLA0KKwlDUUVf UlNTX0lQVjYJCT0gMHgyLA0KKwlDUUVfUlNTX1JFU0VSVkVECT0gMHgzLA0KKw0KKwlDUUVfUlNT X0hUWVBFX0w0CT0gR0VOTUFTSyg3LCA2KSwNCiAJLyogY3FlLT5yc3NfaGFzaF90eXBlWzc6Nl0g LSBMNCBkZXN0aW5hdGlvbiBzZWxlY3RlZCBmb3IgaGFzaA0KIAkgKiAoMDAgPSBub25lLCAwMSA9 IFRDUC4gMTAgPSBVRFAsIDExID0gSVBTRUMuU1BJDQogCSAqLw0KKwlDUUVfUlNTX0w0X05PTkUJ CT0gMHgwLA0KKwlDUUVfUlNTX0w0X1RDUAkJPSAweDEsDQorCUNRRV9SU1NfTDRfVURQCQk9IDB4 MiwNCisJQ1FFX1JTU19MNF9JUFNFQwk9IDB4MywNCiB9Ow0KIA0KIGVudW0gew0KZGlmZiAtLWdp dCBhL2luY2x1ZGUvbmV0L3hkcC5oIGIvaW5jbHVkZS9uZXQveGRwLmgNCmluZGV4IGE3NmM0ZWEy MDNlYS4uNzZhYTc0OGU3OTIzIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9uZXQveGRwLmgNCisrKyBi L2luY2x1ZGUvbmV0L3hkcC5oDQpAQCAtNDYwLDEwICs0NjAsMTIgQEAgZW51bSB4ZHBfcnNzX2hh c2hfdHlwZSB7DQogCVhEUF9SU1NfVFlQRV9MNF9JUFY0X1RDUCAgICAgPSBYRFBfUlNTX0wzX0lQ VjQgfCBYRFBfUlNTX0w0IHwgWERQX1JTU19MNF9UQ1AsDQogCVhEUF9SU1NfVFlQRV9MNF9JUFY0 X1VEUCAgICAgPSBYRFBfUlNTX0wzX0lQVjQgfCBYRFBfUlNTX0w0IHwgWERQX1JTU19MNF9VRFAs DQogCVhEUF9SU1NfVFlQRV9MNF9JUFY0X1NDVFAgICAgPSBYRFBfUlNTX0wzX0lQVjQgfCBYRFBf UlNTX0w0IHwgWERQX1JTU19MNF9TQ1RQLA0KKwlYRFBfUlNTX1RZUEVfTDRfSVBWNF9JUFNFQyAg ID0gWERQX1JTU19MM19JUFY0IHwgWERQX1JTU19MNCB8IFhEUF9SU1NfTDRfSVBTRUMsDQogDQog CVhEUF9SU1NfVFlQRV9MNF9JUFY2X1RDUCAgICAgPSBYRFBfUlNTX0wzX0lQVjYgfCBYRFBfUlNT X0w0IHwgWERQX1JTU19MNF9UQ1AsDQogCVhEUF9SU1NfVFlQRV9MNF9JUFY2X1VEUCAgICAgPSBY RFBfUlNTX0wzX0lQVjYgfCBYRFBfUlNTX0w0IHwgWERQX1JTU19MNF9VRFAsDQogCVhEUF9SU1Nf VFlQRV9MNF9JUFY2X1NDVFAgICAgPSBYRFBfUlNTX0wzX0lQVjYgfCBYRFBfUlNTX0w0IHwgWERQ X1JTU19MNF9TQ1RQLA0KKwlYRFBfUlNTX1RZUEVfTDRfSVBWNl9JUFNFQyAgID0gWERQX1JTU19M M19JUFY2IHwgWERQX1JTU19MNCB8IFhEUF9SU1NfTDRfSVBTRUMsDQogDQogCVhEUF9SU1NfVFlQ RV9MNF9JUFY2X1RDUF9FWCAgPSBYRFBfUlNTX1RZUEVfTDRfSVBWNl9UQ1AgIHwgWERQX1JTU19M M19EWU5IRFIsDQogCVhEUF9SU1NfVFlQRV9MNF9JUFY2X1VEUF9FWCAgPSBYRFBfUlNTX1RZUEVf TDRfSVBWNl9VRFAgIHwgWERQX1JTU19MM19EWU5IRFIsDQoNCg0K