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 7C06D48B30; Mon, 17 Nov 2025 10:12:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6725C40280; Mon, 17 Nov 2025 10:12:44 +0100 (CET) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [160.30.148.35]) by mails.dpdk.org (Postfix) with ESMTP id B4E5B4026F for ; Mon, 17 Nov 2025 10:12:42 +0100 (CET) Received: from mxct.zte.com.cn (unknown [192.168.251.13]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mxhk.zte.com.cn (FangMail) with ESMTPS id 4d92892cyfz8Xs6v for ; Mon, 17 Nov 2025 17:12:41 +0800 (CST) Received: from mse-fl1.zte.com.cn (unknown [10.5.228.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mxct.zte.com.cn (FangMail) with ESMTPS id 4d92842k3yz51Sjv; Mon, 17 Nov 2025 17:12:36 +0800 (CST) Received: from szxlzmapp03.zte.com.cn ([10.5.231.207]) by mse-fl1.zte.com.cn with SMTP id 5AH9CB8X069440; Mon, 17 Nov 2025 17:12:11 +0800 (+08) (envelope-from xu.yang3@zte.com.cn) Received: from LIN-994FDD64572.zte.com.cn (unknown [10.56.184.166]) by smtp (Zmail) with SMTP; Mon, 17 Nov 2025 17:12:14 +0800 X-Zmail-TransId: 3e81691ae6e500b-d9ae6 X-Zmail-LocalSMTP: 1 X-Zmail-RealSender: xu.yang3@zte.com.cn From: Yang Xu To: thomas@monjalon.net, dsosnowski@nvidia.com, viacheslavo@nvidia.com, bingz@nvidia.com, orika@nvidia.com, suanmingm@nvidia.com, matan@nvidia.com, xu.yang3@zte.com.cn, yao.chenghu@zte.com.cn Cc: dev@dpdk.org Subject: [PATCH v2 1/1] net/mlx5: fix set port down if detect anomaly Date: Mon, 17 Nov 2025 17:12:01 +0800 Message-Id: <20251117091201.2261526-1-xu.yang3@zte.com.cn> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: multipart/mixed; boundary="=====_001_next=====" X-MAIL: mse-fl1.zte.com.cn 5AH9CB8X069440 X-TLS: YES X-SPF-DOMAIN: zte.com.cn X-ENVELOPE-SENDER: xu.yang3@zte.com.cn X-SPF: None X-SOURCE-IP: 192.168.251.13 unknown Mon, 17 Nov 2025 17:12:41 +0800 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 691AE709.001/4d92892cyfz8Xs6v 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 --=====_001_next===== Content-Type: multipart/related; boundary="=====_002_next=====" --=====_002_next===== Content-Type: multipart/alternative; boundary="=====_003_next=====" --=====_003_next===== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 TUxYIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmQgbGluayBkZXRlY3Rpb24gd2lsbCBzZXQgdGhlDQpp bnRlcmZhY2UgdG8gYSBkb3duIHN0YXRlIHVwb24gZGV0ZWN0aW5nIGFuIGFub21hbHkuDQoNCkZp eGVzOiAxMjU2ODA1ICgibW92ZSBsaW51eC1zcGVjaWZpYyBmdW5jdGlvbnMiKQ0KDQpTaWduZWQt b2ZmLWJ5OiBZYW5nIFh1IDx4dS55YW5nM0B6dGUuY29tLmNuPg0KLS0tDQogLm1haWxtYXAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KIGRyaXZlcnMvbmV0L21seDUvbGlu dXgvbWx4NV9ldGhkZXZfb3MuYyB8ICAxICsNCiB0ZXN0LmVtbCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysNCiAzIGZpbGVzIGNoYW5nZWQs IDIzIGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC5lbWwNCg0KZGlmZiAt LWdpdCBhLy5tYWlsbWFwIGIvLm1haWxtYXANCmluZGV4IDM0YTk5ZjkzYTEuLjE0ZDZlZTkzZGQg MTAwNjQ0DQotLS0gYS8ubWFpbG1hcA0KKysrIGIvLm1haWxtYXANCkBAIC0xODkxLDMgKzE4OTEs NCBAQCBab2x0YW4gS2lzcyA8em9sdGFuLmtpc3NAc2NoYW1hbi5odT4gPHpvbHRhbi5raXNzQGxp bmFyby5vcmc+DQogWm9yaWsgTWFjaHVsc2t5IDx6b3Jpa0BhbWF6b24uY29tPg0KIFp5dGEgU3pw YWsgPHp5dGFAbWFydmVsbC5jb20+IDx6ckBzZW1paGFsZi5jb20+DQogWnl0YSBTenBhayA8enl0 YUBtYXJ2ZWxsLmNvbT4gPHp5dGEuc3pwYWtAc2VtaWhhbGYuY29tPg0KK1lhbmcgWHUgPHh1Lnlh bmczQHp0ZS5jb20uY24+DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1 X2V0aGRldl9vcy5jIGIvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X2V0aGRldl9vcy5jDQpp bmRleCA5ZGFlZGE1NDM1Li4wMzUzMWFlODc5IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvbWx4 NS9saW51eC9tbHg1X2V0aGRldl9vcy5jDQorKysgYi9kcml2ZXJzL25ldC9tbHg1L2xpbnV4L21s eDVfZXRoZGV2X29zLmMNCkBAIC01MDQsNiArNTA0LDcgQEAgbWx4NV9saW5rX3VwZGF0ZShzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwgaW50IHdhaXRfdG9fY29tcGxldGUpDQogCQkJCXJldHVybiAt cnRlX2Vycm5vOw0KIAkJCX0NCiAJCX0gZWxzZSBpZiAocmV0IDwgMCkgew0KKwkJCWRldi0+ZGF0 YS0+ZGV2X2xpbmsgPSB7MH07DQogCQkJcmV0dXJuIHJldDsNCiAJCX0NCiAJfSB3aGlsZSAod2Fp dF90b19jb21wbGV0ZSB8fCByZXRyeS0tID4gMCk7DQpkaWZmIC0tZ2l0IGEvdGVzdC5lbWwgYi90 ZXN0LmVtbA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLmYzMGVmNWRj OGENCi0tLSAvZGV2L251bGwNCisrKyBiL3Rlc3QuZW1sDQpAQCAtMCwwICsxLDIxIEBADQorLi8u Li9kcGRrLXBhdGNoLzAwMDEtbmV0LW1seDUtZml4LXNldC1wb3J0LWRvd24taWYtZGV0ZWN0LWFu b21hbHkucGF0Y2gNCisobWJveCkgQWRkaW5nIGNjOiBZYW5nIFh1IDx4dS55YW5nM0B6dGUuY29t LmNuPiBmcm9tIGxpbmUgJ0Zyb206IFlhbmcgWHUgPHh1LnlhbmczQHp0ZS5jb20uY24+Jw0KKyhi b2R5KSBBZGRpbmcgY2M6IFlhbmcgWHUgPHh1LnlhbmczQHp0ZS5jb20uY24+IGZyb20gbGluZSAn U2lnbmVkLW9mZi1ieTogWWFuZyBYdSA8eHUueWFuZzNAenRlLmNvbS5jbj4nDQorRHJ5LU9LLiBM b2cgc2F5czoNCitTZXJ2ZXI6IDEwLjUuMjMxLjQzDQorTUFJTCBGUk9NOjx4dS55YW5nM0B6dGUu Y29tLmNuPg0KK1JDUFQgVE86PHk+DQorUkNQVCBUTzo8eHUueWFuZzNAenRlLmNvbS5jbj4NCitG cm9tOiBZYW5nIFh1IDx4dS55YW5nM0B6dGUuY29tLmNuPg0KK1RvOiB5DQorQ2M6IFlhbmcgWHUg PHh1LnlhbmczQHp0ZS5jb20uY24+DQorU3ViamVjdDogW1BBVENIIHYyIDEvMV0gbmV0L21seDU6 IGZpeCBzZXQgcG9ydCBkb3duIGlmIGRldGVjdCBhbm9tYWx5DQorRGF0ZTogRnJpLCAxNCBOb3Yg MjAyNSAxMDoxNDoxMSArMDgwMA0KK01lc3NhZ2UtSWQ6IDwyMDI1MTExNDAyMTQxMS4zNjA2ODE3 LTEteHUueWFuZzNAenRlLmNvbS5jbj4NCitYLU1haWxlcjogZ2l0LXNlbmQtZW1haWwgMi4yNy4w DQorSW4tUmVwbHktVG86IDx5Pg0KK1JlZmVyZW5jZXM6IDx5Pg0KK01JTUUtVmVyc2lvbjogMS4w DQorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KKw0KK1Jlc3VsdDogT0sNCi0tIA0K Mi4yNy4w --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 TUxYJm5ic3A7bmV0d29yayZuYnNwO2ludGVyZmFjZSZuYnNwO2NhcmQmbmJzcDtsaW5rJm5ic3A7 ZGV0ZWN0aW9uJm5ic3A7d2lsbCZuYnNwO3NldCZuYnNwO3RoZTxiciAvPmludGVyZmFjZSZuYnNw O3RvJm5ic3A7YSZuYnNwO2Rvd24mbmJzcDtzdGF0ZSZuYnNwO3Vwb24mbmJzcDtkZXRlY3Rpbmcm bmJzcDthbiZuYnNwO2Fub21hbHkuPGJyIC8+DTxiciAvPkZpeGVzOiZuYnNwOzEyNTY4MDUmbmJz cDsoJnF1b3Q7bW92ZSZuYnNwO2xpbnV4LXNwZWNpZmljJm5ic3A7ZnVuY3Rpb25zJnF1b3Q7KTxi ciAvPg08YnIgLz5TaWduZWQtb2ZmLWJ5OiZuYnNwO1lhbmcmbmJzcDtYdSZuYnNwOyZsdDt4dS55 YW5nM0B6dGUuY29tLmNuJmd0Ow08YnIgLz4tLS08YnIgLz4mbmJzcDsubWFpbG1hcCZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsxJm5ic3A7KzxiciAvPiZuYnNwO2RyaXZlcnMvbmV0 L21seDUvbGludXgvbWx4NV9ldGhkZXZfb3MuYyZuYnNwO3wmbmJzcDsmbmJzcDsxJm5ic3A7Kzxi ciAvPiZuYnNwO3Rlc3QuZW1sJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNwOzIxJm5ic3A7Kysr KysrKysrKysrKysrKysrKysrPGJyIC8+Jm5ic3A7MyZuYnNwO2ZpbGVzJm5ic3A7Y2hhbmdlZCwm bmJzcDsyMyZuYnNwO2luc2VydGlvbnMoKyk8YnIgLz4mbmJzcDtjcmVhdGUmbmJzcDttb2RlJm5i c3A7MTAwNjQ0Jm5ic3A7dGVzdC5lbWw8YnIgLz4NPGJyIC8+ZGlmZiZuYnNwOy0tZ2l0Jm5ic3A7 YS8ubWFpbG1hcCZuYnNwO2IvLm1haWxtYXA8YnIgLz5pbmRleCZuYnNwOzM0YTk5ZjkzYTEuLjE0 ZDZlZTkzZGQmbmJzcDsxMDA2NDQ8YnIgLz4tLS0mbmJzcDthLy5tYWlsbWFwPGJyIC8+KysrJm5i c3A7Yi8ubWFpbG1hcDxiciAvPkBAJm5ic3A7LTE4OTEsMyZuYnNwOysxODkxLDQmbmJzcDtAQCZu YnNwO1pvbHRhbiZuYnNwO0tpc3MmbmJzcDsmbHQ7em9sdGFuLmtpc3NAc2NoYW1hbi5odSZndDsm bmJzcDsmbHQ7em9sdGFuLmtpc3NAbGluYXJvLm9yZyZndDsNPGJyIC8+Jm5ic3A7Wm9yaWsmbmJz cDtNYWNodWxza3kmbmJzcDsmbHQ7em9yaWtAYW1hem9uLmNvbSZndDsNPGJyIC8+Jm5ic3A7Wnl0 YSZuYnNwO1N6cGFrJm5ic3A7Jmx0O3p5dGFAbWFydmVsbC5jb20mZ3Q7Jm5ic3A7Jmx0O3pyQHNl bWloYWxmLmNvbSZndDsNPGJyIC8+Jm5ic3A7Wnl0YSZuYnNwO1N6cGFrJm5ic3A7Jmx0O3p5dGFA bWFydmVsbC5jb20mZ3Q7Jm5ic3A7Jmx0O3p5dGEuc3pwYWtAc2VtaWhhbGYuY29tJmd0Ow08YnIg Lz4rWWFuZyZuYnNwO1h1Jm5ic3A7Jmx0O3h1LnlhbmczQHp0ZS5jb20uY24mZ3Q7DTxiciAvPmRp ZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X2V0aGRldl9v cy5jJm5ic3A7Yi9kcml2ZXJzL25ldC9tbHg1L2xpbnV4L21seDVfZXRoZGV2X29zLmM8YnIgLz5p bmRleCZuYnNwOzlkYWVkYTU0MzUuLjAzNTMxYWU4NzkmbmJzcDsxMDA2NDQ8YnIgLz4tLS0mbmJz cDthL2RyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9ldGhkZXZfb3MuYzxiciAvPisrKyZuYnNw O2IvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X2V0aGRldl9vcy5jPGJyIC8+QEAmbmJzcDst NTA0LDYmbmJzcDsrNTA0LDcmbmJzcDtAQCZuYnNwO21seDVfbGlua191cGRhdGUoc3RydWN0Jm5i c3A7cnRlX2V0aF9kZXYmbmJzcDsqZGV2LCZuYnNwO2ludCZuYnNwO3dhaXRfdG9fY29tcGxldGUp PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJu Jm5ic3A7LXJ0ZV9lcnJubzs8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fSZuYnNwO2Vs c2UmbmJzcDtpZiZuYnNwOyhyZXQmbmJzcDsmbHQ7Jm5ic3A7MCkmbmJzcDt7PGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO2Rldi0mZ3Q7ZGF0YS0mZ3Q7ZGV2X2xpbmsmbmJzcDs9Jm5ic3A7ezB9OzxiciAv PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3JldDs8YnIgLz4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fSZuYnNwO3doaWxlJm5ic3A7KHdhaXRfdG9fY29tcGxldGUm bmJzcDt8fCZuYnNwO3JldHJ5LS0mbmJzcDsmZ3Q7Jm5ic3A7MCk7PGJyIC8+ZGlmZiZuYnNwOy0t Z2l0Jm5ic3A7YS90ZXN0LmVtbCZuYnNwO2IvdGVzdC5lbWw8YnIgLz5uZXcmbmJzcDtmaWxlJm5i c3A7bW9kZSZuYnNwOzEwMDY0NDxiciAvPmluZGV4Jm5ic3A7MDAwMDAwMDAwMC4uZjMwZWY1ZGM4 YTxiciAvPi0tLSZuYnNwOy9kZXYvbnVsbDxiciAvPisrKyZuYnNwO2IvdGVzdC5lbWw8YnIgLz5A QCZuYnNwOy0wLDAmbmJzcDsrMSwyMSZuYnNwO0BAPGJyIC8+Ky4vLi4vZHBkay1wYXRjaC8wMDAx LW5ldC1tbHg1LWZpeC1zZXQtcG9ydC1kb3duLWlmLWRldGVjdC1hbm9tYWx5LnBhdGNoPGJyIC8+ KyhtYm94KSZuYnNwO0FkZGluZyZuYnNwO2NjOiZuYnNwO1lhbmcmbmJzcDtYdSZuYnNwOyZsdDt4 dS55YW5nM0B6dGUuY29tLmNuJmd0OyZuYnNwO2Zyb20mbmJzcDtsaW5lJm5ic3A7JmFwb3M7RnJv bTombmJzcDtZYW5nJm5ic3A7WHUmbmJzcDsmbHQ7eHUueWFuZzNAenRlLmNvbS5jbiZndDsmYXBv czsNPGJyIC8+Kyhib2R5KSZuYnNwO0FkZGluZyZuYnNwO2NjOiZuYnNwO1lhbmcmbmJzcDtYdSZu YnNwOyZsdDt4dS55YW5nM0B6dGUuY29tLmNuJmd0OyZuYnNwO2Zyb20mbmJzcDtsaW5lJm5ic3A7 JmFwb3M7U2lnbmVkLW9mZi1ieTombmJzcDtZYW5nJm5ic3A7WHUmbmJzcDsmbHQ7eHUueWFuZzNA enRlLmNvbS5jbiZndDsmYXBvczsNPGJyIC8+K0RyeS1PSy4mbmJzcDtMb2cmbmJzcDtzYXlzOjxi ciAvPitTZXJ2ZXI6Jm5ic3A7MTAuNS4yMzEuNDM8YnIgLz4rTUFJTCZuYnNwO0ZST006Jmx0O3h1 LnlhbmczQHp0ZS5jb20uY24mZ3Q7DTxiciAvPitSQ1BUJm5ic3A7VE86Jmx0O3kmZ3Q7DTxiciAv PitSQ1BUJm5ic3A7VE86Jmx0O3h1LnlhbmczQHp0ZS5jb20uY24mZ3Q7DTxiciAvPitGcm9tOiZu YnNwO1lhbmcmbmJzcDtYdSZuYnNwOyZsdDt4dS55YW5nM0B6dGUuY29tLmNuJmd0Ow08YnIgLz4r VG86Jm5ic3A7eTxiciAvPitDYzombmJzcDtZYW5nJm5ic3A7WHUmbmJzcDsmbHQ7eHUueWFuZzNA enRlLmNvbS5jbiZndDsNPGJyIC8+K1N1YmplY3Q6Jm5ic3A7W1BBVENIJm5ic3A7djImbmJzcDsx LzFdJm5ic3A7bmV0L21seDU6Jm5ic3A7Zml4Jm5ic3A7c2V0Jm5ic3A7cG9ydCZuYnNwO2Rvd24m bmJzcDtpZiZuYnNwO2RldGVjdCZuYnNwO2Fub21hbHk8YnIgLz4rRGF0ZTombmJzcDtGcmksJm5i c3A7MTQmbmJzcDtOb3YmbmJzcDsyMDI1Jm5ic3A7MTA6MTQ6MTEmbmJzcDsrMDgwMDxiciAvPitN ZXNzYWdlLUlkOiZuYnNwOyZsdDsyMDI1MTExNDAyMTQxMS4zNjA2ODE3LTEteHUueWFuZzNAenRl LmNvbS5jbiZndDsNPGJyIC8+K1gtTWFpbGVyOiZuYnNwO2dpdC1zZW5kLWVtYWlsJm5ic3A7Mi4y Ny4wPGJyIC8+K0luLVJlcGx5LVRvOiZuYnNwOyZsdDt5Jmd0Ow08YnIgLz4rUmVmZXJlbmNlczom bmJzcDsmbHQ7eSZndDsNPGJyIC8+K01JTUUtVmVyc2lvbjombmJzcDsxLjA8YnIgLz4rQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzombmJzcDs4Yml0PGJyIC8+KzxiciAvPitSZXN1bHQ6Jm5ic3A7 T0s8YnIgLz4tLSZuYnNwOw08YnIgLz4yLjI3LjA8YnIgLz4= --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--