From nobody Thu Jul 13 15:45:13 2023 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R1zTF2wq8z2twC6 for ; Thu, 13 Jul 2023 15:45:21 +0000 (UTC) (envelope-from Josef.Zahner1@swisscom.com) Received: from mail.swisscom.com (mailout110.swisscom.com [138.188.166.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.swisscom.com", Issuer "SwissSign RSA TLS OV ICA 2021 - 1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R1zTC6j2tz3RCp; Thu, 13 Jul 2023 15:45:19 +0000 (UTC) (envelope-from Josef.Zahner1@swisscom.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of Josef.Zahner1@swisscom.com designates 138.188.166.110 as permitted sender) smtp.mailfrom=Josef.Zahner1@swisscom.com; dmarc=none; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") Received: by mail.swisscom.com; Thu, 13 Jul 2023 17:45:17 +0200 List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="----=_Part_1245293_1084259021.1689263117487" X-Mailer: Totemo_TrustMail_(Notification) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UuVxFY2c+QVf+hmwOodPHk1YBLSaKCNrOizQIMPfauY3XtPqc4Wab0BTbaLMJjJ0rj9ICQbkHE+Vsnx8IAHNuok2YlksCw3Z84OZOV+GmhRFnv0QyZATdpX8CpM68NunzndvOrwZognq2vkEHw12yZggmRH8I6V1ScZRrsGjsmIrMTYLYd/CPOJw/RHY5JAvZz3ihG2ruB3zy5xpW3Tn+hAVygTJ1VqBLMaIlTpYsmAilEXYCAkIJT7r3RXHkgjylpkkoaA7S4FNVDcYNr7PIf4p8GrIWrNnkfn4KPVfk2Gp4YVod8xi9CkeGYhzPc22i9fEtCFD+hNcc+tMwYCWKw== 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=NFwplZFeC/Wx8++J9adIzJsdGmmyllTrb4qEMBsEDKQ=; b=j+9CvkRBORBAPWGm7zpukKmmaGtoaeAM0kDEqRA2WAlecx+Mc0CgbhK5cGaEmcxig0mzo5sqPkiHxSY56pONCZvmaBFzQqcpMbGpoBjZVWoDrEw/dZ0lrDmE+lRKnJmHywavG1zRXQ9OEwssaNQUKNZj0Rxexeejz1rCi7h/qzMN9sGQA0wZj+5537Aqt859qpTi0SmB8qFEuqRrQB/Io9TFvMysjXQspZnG5tuFFNO+W5CmEXp6tIBtqfRdBNRx+e1VRqi5oCZRcKt7arDqqRiMQhTjoe80JLEAu/JuW7WJup9l/1KSavyv+SkC6+HYAd3i03uVJGy5qcaoK6vc2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=swisscom.com; dmarc=pass action=none header.from=swisscom.com; dkim=pass header.d=swisscom.com; arc=none From: To: CC: Subject: Re: Chelsio NIC with RSS - Traffic distribution to different Queues Thread-Topic: Chelsio NIC with RSS - Traffic distribution to different Queues Thread-Index: AQHZqBPGF/8DZJWBME+vE7NtdY0QYq+eOzWAgAAIwuOAAN8nAIACmRGPgAP6hgCAAl4aG4AAFJ8DgAAEr8iABEDugIAGV5gIgAIuloCAAvZ5eg== Date: Thu, 13 Jul 2023 15:45:13 +0000 Message-ID: References: <8fe00cbc-f218-a587-48d8-1612223ccd49@FreeBSD.org> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_Enabled=True;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_SiteId=364e5b87-c1c7-420d-9bee-c35d19b557a1;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_SetDate=2023-07-13T15:23:06.9854093Z;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_ContentBits=0;MSIP_Label_2e1fccfb-80ca-4fe1-a574-1516544edb53_Method=Standard x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ZR0P278MB0757:EE_|GV0P278MB1079:EE_ x-ms-office365-filtering-correlation-id: 153d8729-27de-427d-fb3c-08db83b825ae x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y0n8xrDn2oAIHrVsO4H6UemPAUiBGbzjBoi3KAtiEVM5gTa1hUSdVpcX1EqkodKva4h32WLdUHTaa/+kxsxMVZRxUgZQaQpG5W5n+lo1lmx5cOYUEwvX1fciGWbp7ahx3Ti7eelvoZKZWdMtlkMWoYbyZS5n0qox2RSqNzN6LEIclN1qr3lx3ftf/E66PVEDzbFVQM6spqII4aKxtjPXyxEU/uBKxRwQFjoFMzrdDJX6xIN6KyGj+ya09Gnnce4A2syiwvFh34D9dNTPwZHvLryJ2OPNP3vB307bElrD1Mn1WL/5At8o2Kq/dm3cuxMW85OvGj3Z3ppg38UIR5X7Hsilg2Hn2LfUMlIowqfyi3lw1luEYSeU1ZOWnTqPwU6oLQbxIa6NRst9Xsv2htGxoMsxQj0JZNhCkIf9uM8tjUcJv6mK/BG2UOAkYcnDHpNGBqXWkQXmcgfj5gglq78Yuu+TXl+Vvd++JFErBQiMrHx+qD7OViTnpKbwMKrPPrEKxygGjYOhn3rXCVjkz7NJj/u+CMAyTDWpyrL4lV/Bp62yO4K+qPKISkFhpnTdys9nv/JKHEe5eG07E24STbQI7d3H22xSriQ5ebB6WhiAWec= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZR0P278MB0757.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(451199021)(38070700005)(33656002)(38100700002)(86362001)(478600001)(122000001)(82960400001)(55016003)(166002)(71200400001)(10290500003)(10300500001)(8676002)(7696005)(966005)(21615005)(5660300002)(52536014)(66446008)(316002)(450100002)(66946007)(2906002)(76116006)(66476007)(64756008)(66556008)(6916009)(41300700001)(4326008)(8936002)(83380400001)(6506007)(9686003)(26005)(186003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?3uvTa+lNX8bCT+Gx3ZJMzCyiqnopfyW3HBkb8NydcWkr13AzYNEkJ/Db?= =?Windows-1252?Q?OAWKwbLZsuoS4B5UkeNkqmAd2VpSD86eKpM5QmPtvTFq2NdRu+9ucgmB?= =?Windows-1252?Q?oHsDmaxveL/W/fT3fNO7a/1Cspubv5VDp383b9mvWvb5BcPvQJE85TQr?= =?Windows-1252?Q?f8+ZCjtkpWhkDRmZAQBeAW3dxDdNCHnIC1K/+yAP/i8jDOb8VvNqDE/f?= =?Windows-1252?Q?vTKahsDtYoijzizRBjo/IURB3ujot223b1R/ZwcMwgXpuIynwuaOLHA/?= =?Windows-1252?Q?6ibe9ZEJX63YNxcB6ye1gnMkq1g5L7iubBtbvoKxNxCR1ZQXMRUTd/dw?= =?Windows-1252?Q?ZUcf5yET3lR24ZdT6tYWJiSHMMYIKhjORRrhUWTLUTqNTomNn5lxuk25?= =?Windows-1252?Q?9Ci+Go/cIKca/INRRx1YMwcUJMBlmAQLXsGORFy8BaePWoCGBUV/yuD1?= =?Windows-1252?Q?XAx1XU2fVHkc79MZh8O98dQwGiyKxSEQzRic9Mqg/zxtO+4j3hw6EH3V?= =?Windows-1252?Q?AOdrr3YVM6Ipo9in0ZHKTmhFHzxWMdiEA4NjO2F/4aJDwcLLa+sSR2aB?= =?Windows-1252?Q?yMKQqIHUSiNzVrDr3N+3h4UX3+UWsSOgf8OCgCOEH3qq9Wn6uDgN/8hw?= =?Windows-1252?Q?Vgnfh4qriNYcqxS0zFu1amPar2SnmvJqWbrO1aecPGzQYPydARmMNzTS?= =?Windows-1252?Q?KJp5ozNJOYhdI3XU6F8P+pTsOfFo53SQ1GPzn2bHB9Z9+koYj0rsWlMP?= =?Windows-1252?Q?SARrTbDQxua4SnvITIg9D0pjhpknvw1kSEpt5fahfpb36Ye9BzebUVOE?= =?Windows-1252?Q?6qh4HWJC4k5QJzER6NnAM74WX1CcHQWR68bwOMPHWLTLK4IR8AguoVQi?= =?Windows-1252?Q?xZPZJ52NKi3f0pA9Qc1T9F15vmRroVOPr3aibO3rAZH5X2vmQwy9Jxy/?= =?Windows-1252?Q?eayJnObsG38djB4hgLfpm9Hd0Ll3UVrVCxS1f8xpwI0Qr6RWLf6bttJa?= =?Windows-1252?Q?7FpiQ/rjz52LpoChxl0eJNcEhJHv2Pw1QtW9K/6PhIUzmn7o/68o5LE6?= =?Windows-1252?Q?mJYZ0iU6DHodG5jAMktrZK63gxgau6oYEkpfWFz6g6rZuyU4hOF7OOBW?= =?Windows-1252?Q?4INP+4M2bYiXNYKEh1SlMSIlzJrrDIeS+8DccpiuJaJRIGD6D3eMiL3P?= =?Windows-1252?Q?4LjC02qNvYXZrtLEuCvwOy7gbQuxzWEQoYZHdky/88wBvjKLCvijX3dq?= =?Windows-1252?Q?85lRdJ/r2a3qQZt4oNAzJRE9yiqxVoBvNXciPg6GXBsUeYRhpjSOZkEP?= =?Windows-1252?Q?iftpzAM+VtXRGr+erE6hckb/1LZKzgNSkHeRC3dOf1qcqimJsR28yb/o?= =?Windows-1252?Q?UXB7gLr0wQOBC4Ku32pmiJan7rRTtsdubCe+64EwGH6OKMlR5DFXdzCK?= =?Windows-1252?Q?L/WPnqy0r7cU9iGKmmDW5UQOl4rd0j84YxHPkYlBlQDY8/V/qvV9iTKP?= =?Windows-1252?Q?KC4hiinUqyMXQLA1dcxiZljdn2FYXUQ1CR+557+bMghJz9aflXOMtatJ?= =?Windows-1252?Q?V9b+MevGswTE5a3TQwBiEJYvVyw9sYYyN7CzGnwK9XOrQsFAXmYcVLaU?= =?Windows-1252?Q?0NtEX5gAwtoUxmY4u0oHZdOEuOOQxOb+eZ12Z/NvNa+46TPxuzkpWbr0?= =?Windows-1252?Q?TBotYmd6XLm16Dxpv39y5ukWEOrJWq+vMef7Ns9XSXwS7A5Bu4I9+nH4?= =?Windows-1252?Q?xnZwbfaqdzNrOrRjtAw=3D?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ZR0P278MB0757.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 153d8729-27de-427d-fb3c-08db83b825ae X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2023 15:45:13.2133 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 364e5b87-c1c7-420d-9bee-c35d19b557a1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 47PTvW1X+Hy/LJmtSSQxX8pjfoutxHzas+MFOIChQkglM9gN+W2Y+kcXhRmamBPtk17gDOMdTVhyfQA+06VvB9P1OBkHBMwMKDoJ5fCOb7g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV0P278MB1079 X-OriginatorOrg: swisscom.com X-CFilter-Loop: Reflected X-Trustmail: processed X-Spamd-Result: default: False [-4.58 / 15.00]; SIGNED_SMIME(-2.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; ARC_REJECT(1.00)[signature check failed: fail, {[1] = sig:microsoft.com:reject}]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.991]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; RCVD_IN_DNSWL_MED(-0.20)[138.188.166.110:from]; R_SPF_ALLOW(-0.20)[+ip4:138.188.166.96/27]; XM_UA_NO_VERSION(0.01)[]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; FROM_EQ_ENVFROM(0.00)[]; FROM_NO_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[swisscom.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; HAS_ATTACHMENT(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_DN_NONE(0.00)[]; ASN(0.00)[asn:3303, ipnet:138.188.0.0/16, country:CH] X-Rspamd-Queue-Id: 4R1zTC6j2tz3RCp X-Spamd-Bar: ---- X-ThisMailContainsUnwantedMimeParts: N ------=_Part_1245293_1084259021.1689263117487 Content-Type: multipart/alternative; boundary="_000_ZR0P278MB075777B03E32F9D5273D9B13D937AZR0P278MB0757CHEP_" Content-Language: en-GB --_000_ZR0P278MB075777B03E32F9D5273D9B13D937AZR0P278MB0757CHEP_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable It was not my intention to tune before testing. The point was, when we star= ted testing, we have seen that RSS wasn=92t working with the Intel E810 NIC= out of the box just after the installation of FreeBSD (OPNsense). All load= was only on CPU0, no load distribution at all. So we enabled the RSS sysct= l values and a some driver extensions for the E810 and from this point on R= SS was working. Our intention was that both is required to get RSS work =96= but this assumption seems to be wrong. The following statement from OPNsen= se suggests that as well: https://docs.opnsense.org/troubleshooting/performance.html =93By default, R= SS will be disabled since it=92s impact is quite far reaching.=BB The important point is, it seems that the mentioned RSS sysctl parameters a= re causing problems with either Intel E810 or the Chelsio NIC. People with = just one server will never recognize this and I talked with some OPNsense g= uys, nobody has ever seen such an issue. However I=92m just glad that we found a working solution after such a long = period of time and that you extended the driver with such a (for us) import= ant feature! Regarding the missing =93netstat -Q=94 output, the queues are there if we e= nable =93options RSS=94 as you call it. But as soon as we enable them, we h= ave the issue. The good point is, we don=92t need them, all what we need ca= n be modified directly from driver sysctl parameters. One last question which you don=92t explained. How do I know what/which pro= tocols go into Queue 0 =96 is there a list or something? Can we influence t= hat? Cheers Josef PS: will this change come to an official driver version? --_000_ZR0P278MB075777B03E32F9D5273D9B13D937AZR0P278MB0757CHEP_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

It w= as not my intention to tune before testing. The point was, when we started = testing, we have seen that RSS wasn=92t working with the Intel E810 NIC out= of the box just after the installation of FreeBSD (OPNsense). All load was only on CPU0, no load distribution at = all. So we enabled the RSS sysctl values and a some driver extensions for t= he E810 and from this point on RSS was working. Our intention was that both= is required to get RSS work =96 but this assumption seems to be wrong. The following statement from OPNsense s= uggests that as well:

 

https://= docs.opnsense.org/troubleshooting/performance.html =93By default, RSS w= ill be disabled since it=92s impact is quite far reaching.=BB

 

The = important point is, it seems that the mentioned RSS sysctl parameters are c= ausing problems with either Intel E810 or the Chelsio NIC. People with just= one server will never recognize this and I talked with some OPNsense guys, nobody has ever seen such an issue. =  

 

Howe= ver I=92m just glad that we found a working solution after such a long peri= od of time and that you extended the driver with such a (for us) important = feature!

 

Rega= rding the missing =93netstat -Q=94 output, the queues are there if we enabl= e =93options RSS=94 as you call it. But as soon as we enable them, we have = the issue. The good point is, we don=92t need them, all what we need can be modified directly from driver sysctl parameters. <= o:p>

 

One = last question which you don=92t explained. How do I know what/which protoco= ls go into Queue 0 =96 is there a list or something? Can we influence that?=

 

Chee= rs Josef

 

PS: = will this change come to an official driver version?

--_000_ZR0P278MB075777B03E32F9D5273D9B13D937AZR0P278MB0757CHEP_-- ------=_Part_1245293_1084259021.1689263117487 Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIIH KzCCBROgAwIBAgIUTx1IzA+W/yTzA5lqYJox9cE9fx0wDQYJKoZIhvcNAQELBQAwUzELMAkGA1UE BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEtMCsGA1UEAxMkU3dpc3NTaWduIFJTQSBTTUlN RSBMQ1AgSUNBIDIwMjEgLSAyMB4XDTIyMDQyOTA5MDMxMloXDTI1MDQyOTA5MDMxMlowgYMxCzAJ BgNVBAYTAkNIMR4wHAYDVQQKExVTd2lzc2NvbSAoU2Nod2VpeikgQUcxKTAnBgkqhkiG9w0BCQEW Gmpvc2VmLnphaG5lcjFAc3dpc3Njb20uY29tMSkwJwYDVQQDEyBTZWN1cmUgTWFpbDogR2F0ZXdh eSBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWL60L8MKsvXVrM C2QjifRYKIolHpx2KvKSyk75F6eEFVnz19XTfK+kKbkZzc9BMYL9xK78nYEoC8wPyEPwcxrw4i8l SPmhkZ674JEndHrX6qHJOku5+OyIhbLa550XtSZRJSd7l0NnYQWCFtWUAPL/j/ButDdDgp7sScWN D+BmOZw0/FyveEgqeJBAAcxZ5em8/2Ub/xew8LBdwOXYnzG6VIck+jTHv6RhNZ1+RfOvip+3sOwm TsvRL0oC8QGWC86OAq81+tCeYQPoywrybSjqYCwE+ZRb5djg76DvwgjfrVF8grddF6OSwkdUxSlJ USZ50RB4WO23r6YWjYX272ECAwEAAaOCAsQwggLAMCUGA1UdEQQeMByBGmpvc2VmLnphaG5lcjFA c3dpc3Njb20uY29tMA4GA1UdDwEB/wQEAwIEsDATBgNVHSUEDDAKBggrBgEFBQcDBDAdBgNVHQ4E FgQUNxi5osjEbpfWsyrkPqFhIrG5I9gwHwYDVR0jBBgwFoAU+lTAgqb+lr0Ex1+fX4IMPcOVT0cw gf8GA1UdHwSB9zCB9DBHoEWgQ4ZBaHR0cDovL2NybC5zd2lzc3NpZ24ubmV0L0ZBNTRDMDgyQTZG RTk2QkQwNEM3NUY5RjVGODIwQzNEQzM5NTRGNDcwgaiggaWggaKGgZ9sZGFwOi8vZGlyZWN0b3J5 LnN3aXNzc2lnbi5uZXQvQ049RkE1NEMwODJBNkZFOTZCRDA0Qzc1RjlGNUY4MjBDM0RDMzk1NEY0 NyUyQ089U3dpc3NTaWduJTJDQz1DSD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2Jq ZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwZwYDVR0gBGAwXjBSBghghXQBWQIBCzBGMEQG CCsGAQUFBwIBFjhodHRwczovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS9Td2lzc1NpZ25fQ1BT X1NNSU1FLnBkZjAIBgYEAI96AQMwgcYGCCsGAQUFBwEBBIG5MIG2MGQGCCsGAQUFBzAChlhodHRw Oi8vc3dpc3NzaWduLm5ldC9jZ2ktYmluL2F1dGhvcml0eS9kb3dubG9hZC9GQTU0QzA4MkE2RkU5 NkJEMDRDNzVGOUY1RjgyMEMzREMzOTU0RjQ3ME4GCCsGAQUFBzABhkJodHRwOi8vb2NzcC5zd2lz c3NpZ24ubmV0L0ZBNTRDMDgyQTZGRTk2QkQwNEM3NUY5RjVGODIwQzNEQzM5NTRGNDcwDQYJKoZI hvcNAQELBQADggIBAKC/bdS77QzqssisgA9nHbH+E0q2i4Ge2o3BxSlFxp/rzqXW0jpOb4ntgqQ5 /JECExksUdzjwqARiT/grBfZedbpQK40nNe3fKoZDQpmF8P8T34Ngf13EtpIm7+IJOXjhBQ6PYeM 1vLTn/g0EUJK3k9fdw3acOUHVQ4dstKP1q9IB5FGtiAIfUtk0m9RT0aJjMqQG1l33ignJrfGZ+R2 X121LjxJ+6gFzWLKklJIfZtqxDGeLIjm5ixHeOrkj7zYily3W16I3iFJnvYL0t1x9UHFp+fWuNUh HiqMK48mLHDzG/ffw3fSgDrnLunlxd4uHz9Io4IFwOKjiOJNxPzuQ6kfibasoKhv/MTFXarfXR7R fAWpOgl9EhxKBJqQkDLZAfCjYQwCU+mThs1p9Sc/JG1IZ2jI3XD4fCHnejMA/RlbINc5uOrPvRys GGPYo5UmPZ4yj4vJRa+U9udZRO5YZrpIto5J8MxZ3Y+cizKUkovzqIVdg2gLj7+Ij4YSRxK5HnoE dN7EPmbfX3hLnAmsG0cft84/o+r2xMQiMXQOmeTI2ZnGk23MF3vyUExkEhcFtAkVup/XiAjcs9St /kD47K7tVNkZGxN0XnaILJt1R6pAGo6Xj9WfGnRX6Ph3PJ+XguEhMhLVEfuuBUuAGFUWX9hovJuM X8C83YJTkvTzbmNAMIIHRzCCBS+gAwIBAgIPLFqp2VT9squWrRe2X4z0MA0GCSqGSIb3DQEBCwUA MFMxCzAJBgNVBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxLTArBgNVBAMTJFN3aXNzU2ln biBSU0EgU01JTUUgUm9vdCBDQSAyMDIxIC0gMTAeFw0yMTA4MDQxMjEyNTlaFw0zNjA3MzExMjEy NTlaMFMxCzAJBgNVBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxLTArBgNVBAMTJFN3aXNz U2lnbiBSU0EgU01JTUUgTENQIElDQSAyMDIxIC0gMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC AgoCggIBAL0FGcjUDXE+AwMQtJMWAOvPI9rAByO7UTw4EtNAdcNyY3jrCyd5X41WiKnZfVlD0YgX duPHRour3+KIqj0SwJ0I7UEQ19zvSeC/MVLWg52Z/PKaIoBmVawQlJChzIuV0NZIXTco3xrtGCXf Q8MhREG8FaWkg4LGIIBSAqiAZgG+btlFlnXQFyB8ZT+BrX2OWEYj3FIn2kI+O9xY8kqmJJsb6zQJ H8zhxdpA871kQVjEifuDis0hgFhnCGwiNw+fk60L3/un/cX/aooD2B+8r8LJDXh89U49Ulo8QK58 yzj61GGHZ52kbHiKtBNpVXzmJVTfCM+mLzhMiBSVHCpRaWiPXnwDmvukZUxwj75KXKreu527fX1a OILnuQCKRUevIL6DALhJQBifQKpf/9wCnH732eYtYCZacZ15pGYcwkKYl9fLcOOLxKdW6CBxdsSu eSvmyazWTKnnCINHthUiR1O6IkekXZ3tZn93kQ5PsoF1L+Trv9eBOtTCRbApHZWb/TRvRmnPc3ge D0VOsE/ncDa5yLZ7st/e9HyEUmKOG7TzMa4KVjsqGf7QEFTnRhI4TYGdhawE57fp13DbjvRwz+Ia 0wxpNecDSuDgyxf1M/S9fiJClZkzCo3CpxiTR7AyrLhEMBjvEfgZc2REZPacmeBRFtBLXCBJwXU0 zNFb6tGtAgMBAAGjggIWMIICEjAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYBBQUHAwQw EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU+lTAgqb+lr0Ex1+fX4IMPcOVT0cwHwYDVR0j BBgwFoAUCQy/KqIdBCQMsvlACkHCz1pyqoAwgf8GA1UdHwSB9zCB9DBHoEWgQ4ZBaHR0cDovL2Ny bC5zd2lzc3NpZ24ubmV0LzA5MENCRjJBQTIxRDA0MjQwQ0IyRjk0MDBBNDFDMkNGNUE3MkFBODAw gaiggaWggaKGgZ9sZGFwOi8vZGlyZWN0b3J5LnN3aXNzc2lnbi5uZXQvQ049MDkwQ0JGMkFBMjFE MDQyNDBDQjJGOTQwMEE0MUMyQ0Y1QTcyQUE4MCUyQ089U3dpc3NTaWduJTJDQz1DSD9jZXJ0aWZp Y2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQw HwYDVR0gBBgwFjAKBghghXQBWQIBCzAIBgYEAI96AQMwdAYIKwYBBQUHAQEEaDBmMGQGCCsGAQUF BzAChlhodHRwOi8vc3dpc3NzaWduLm5ldC9jZ2ktYmluL2F1dGhvcml0eS9kb3dubG9hZC8wOTBD QkYyQUEyMUQwNDI0MENCMkY5NDAwQTQxQzJDRjVBNzJBQTgwMA0GCSqGSIb3DQEBCwUAA4ICAQAH Dx6XBIV6CZbsgakZM4/C04La3NPAJCJEDZUL8RYYpySTwDcX1D4zYDyVRhWVEom3fWkB7Nxdo/o4 VbTcg+KJdTvRADn3ycapTHPOOfyukWFmAKPpuLwwl3kwfkLZFFgWuGJF5/HqmnjYstzQAUgXVmqR phrW/PQSBM4v1cTeKdd7f23A8uh7etz9/yB+l6b+zU0gmTZrPDLFmfbbphKtJ52/GF7suI3qA6q9 TuHGkLxtdqIhhXLsMhJfAS33TYZz4zhBuFR/zJD4+IrdB7EYhaK6w47jpyfrvd0b/UoLOZr/UuWn 0PFp5QeXGON556v/Za1ZZk0WGgievGlwrnyh1ollExlAnA2WMxvrqAZvk6l5qc3Sy73f9L0atmAm o3qymnXvVrN8y5DNWqP2DEXLrrIh2WuFlxtr9CLELZ4AnGbl8z89mD1ZdnvfsbyMBuy6hEQfVvGy CUvPEAjBuhju5XAiKbplyJ4pvpjLifpPOl6s2aFTlQeJRlInMhD+q70HXhx+HQIAmjX2nt9G/J4X +nsg0MfRx5NVOrmwXyQW0wzVvP7T+xY5M2p2LyQY7sjuKi4Lf5XgMPHgXWwZxqKAVe1SkuaiXkuy z6L01caBYVw8Wt57GgtoF1yQMmAGTrM4cpVjBl2euDYKi8h6/+66YrRbIJruLHX5INyx3Y9fEjCC BoswggRzoAMCAQICEADeTFUg9tz0AhsPEVT3jRAwDQYJKoZIhvcNAQELBQAwRTELMAkGA1UEBhMC Q0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEfMB0GA1UEAxMWU3dpc3NTaWduIEdvbGQgQ0EgLSBH MjAeFw0yMTA4MDMxMzE0NTVaFw0zNjEwMjMxMzE0NTVaMFMxCzAJBgNVBAYTAkNIMRUwEwYDVQQK EwxTd2lzc1NpZ24gQUcxLTArBgNVBAMTJFN3aXNzU2lnbiBSU0EgU01JTUUgUm9vdCBDQSAyMDIx IC0gMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANayuLQ4jya6N8gBI0UWfr5kOIZy ZmFYjSSKWbMMoSqrfruFfGVmcKfpItvuuzL6q7GGP6tIgbir8yrdN8cuC/ar31WtVCAUOreJRG3n 6D+uiCEYjkdWlQDJ7GVuVkcUTa0uJtLUi2zK8zMt+fCbjreGJoHnC56LDHwFpzx6+fCFkJyJZzl1 EbFjsNQjLH3cHyt27QStuhHJB0kN4ygPLhEU0ray/3i4/lpTgCSsC0i6TjIxUeyq/rtELAvX+X2r jdpsqwjd80E9j/VBQVzGzFHKDkQft2qAdlVpUeZM/ReA+7NU7rBKHTOTBnm5YRGs5A5bs93gsSVc t9TTzfR7ngFUK4KQoeHKQ43wQaQcB8DWMxajRUaPhExp/ZNXndPlb8skDDEtA5jCADlEeSKBbeTq /AtkJm78yp4aA0Ttf01N6RGydr2GfXu7VD9RkEfHi/j/TizyCDCMGcEsRzWevatTpCKunwwhGSm9 npvPhNyO0TVLIhCBG2LtwEvTK5AiSR8tIa6Rxd/x1kFUcg7eyjQQ9cmandVcFuTNJbHHqHFGrPhT hReJqyQaOBgyJHPpVa74gGMDb4Sw36CUtalT8Itq9VR55f9bnKJvIuH/QCllbG+OSGkxPoEbO4tY +lsvO2t9ayTwvPKN5ZrmrHjL2IIrABcdeWoJLtZuds8w+9tZAgMBAAGjggFnMIIBYzAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBQJDL8qoh0EJAyy+UAKQcLPWnKqgDAfBgNVHSMEGDAWgBRbJXuW pGVRfrg588B4Zl7oOufw7jAOBgNVHQ8BAf8EBAMCAQYwgf8GA1UdHwSB9zCB9DBHoEWgQ4ZBaHR0 cDovL2NybC5zd2lzc3NpZ24ubmV0LzVCMjU3Qjk2QTQ2NTUxN0VCODM5RjNDMDc4NjY1RUU4M0FF N0YwRUUwgaiggaWggaKGgZ9sZGFwOi8vZGlyZWN0b3J5LnN3aXNzc2lnbi5uZXQvQ049NUIyNTdC OTZBNDY1NTE3RUI4MzlGM0MwNzg2NjVFRTgzQUU3RjBFRSUyQ089U3dpc3NTaWduJTJDQz1DSD9j ZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9u UG9pbnQwDQYJKoZIhvcNAQELBQADggIBAAL46l3QisysCAM2VGb/CimG4VSDLDPox2yuEKlUgX8q LYgmraaoNCgPGQapneIClQQyZEwLyvnjfcMTW+iXQI534+OCgYetAWAHw8XhIP23MJc+uhxxdItf Taex/k58CXh6h1/xrKElEZfHLBGckOpyFj0CNam75SPYH1JAt9COXdojvDPpMv24dZ9Dvj1XS4dh 3u2WyHB8frcT4QlAuxkCBw9r3R/SzA5aEhjkwbGcvr4rER7lmsXgoTWx5OGyYq7A6Gx8lof6YN4t iRwUQUA5onfvsBVbAT8ezuYUqZy+gp+xYhffIkO1Mm+3BfwYytp6Q11ltSb+WkGhaXSX8UNRjdx/ 2VeEpx1R8oJtqw5806Pl4MmVBG3yx5134qX4yMW5ZwZvbf3Gf26+xWrbBDbbMG9dvciZ/sRylsy5 y3SLJKkTC3i1Bsr1iyYWc5gdcZWd8/BS6WxVfgUiF9CJPGXtV4B3/NisvbNTjwd7WBN6sefJsPjj yaGR4nTOymgbshvElmCUkNvlCLc+zIh9Z8BV/Chz3hw72s8PHLYI0jM++TySSKBacIgeEBeYenbd YEg+ckU+cGuM60h8WbVWBRIUCkZNAjYJ0WxzIVIn2GvE0nKnTH7bNs7TPctc4u4b3fk6/U0T/w7O UrYWcTOgl8Vf9oIYF7U6m5u2eKsb6/1aMIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3 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 AA== ------=_Part_1245293_1084259021.1689263117487--