From nobody Wed Apr 15 02:55:08 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88F2CC04A68 for ; Wed, 27 Jul 2022 09:22:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231544AbiG0JW0 (ORCPT ); Wed, 27 Jul 2022 05:22:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231757AbiG0JWM (ORCPT ); Wed, 27 Jul 2022 05:22:12 -0400 Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C1C1F2B608 for ; Wed, 27 Jul 2022 02:22:10 -0700 (PDT) Received: by mail-pl1-x62a.google.com with SMTP id iw1so1580323plb.6 for ; Wed, 27 Jul 2022 02:22:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=np6f7Gz1RIbh1nQgn3z0SawSw8jHMq3VFDjHKKO+LuI=; b=Te+M57tJtl+htJxEUv+2DSx+rMhkbGvZ/ak0wLAeLnjsmVlLsspAvRIDTnvGUZEtge 2M7p/yb7f3WHiVhos8dyvrmUJqPXAMjFyVUXOc4vh4Jdy+koQb66B+40Ln2msVx1GxNa MzjBd3SAU3OAaE8Opf4sKxfUPqQv6/1TZ/1jI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=np6f7Gz1RIbh1nQgn3z0SawSw8jHMq3VFDjHKKO+LuI=; b=gdtgKY+AXNnrIs98F2XgIinm6t8YDkrWPYFQSw+suh9K4APsur1DsEJAKX1VUrYlos Y6YCVHXjhKnpdVnY8b8zFCz03ul2aq0Ap853FF/OylMNOJhffES3GuOWLnjOwLZ2Dxq9 AidNSX4Yr2ACFKQS7lAXPEUjsA+8fubUO6H2l43o1Kdc0Kn9dGu/P5+nIQlLYSnBIw71 Pkeea+NJdRA48R8twEAB6vOkZjJWyvjcJx0Ed1GyCueaCrecatkQiTKgy5rR1wHqZks7 vjiK6UFAbPKfItsjl1nVPDCMvNLaoIpDvG8y2Pql1g1vrysEXha5VYJRO0WCc6SZMQJL 3a9A== X-Gm-Message-State: AJIora+nNKCd4Dwl06rIFghFfGYsU1ybElq03UtSym0BDTNfy36w47NT JYUnc44Hx6BAx1W8Xgu8r7smMQ== X-Google-Smtp-Source: AGRyM1tAi5dbgpVzsoh7ALl5U9JZ5yELwKEFeejxoeTKWGDZeZxv+3BGWYBqsqLtxpCaZhu2SS1uKQ== X-Received: by 2002:a17:902:e88c:b0:16d:4364:2c37 with SMTP id w12-20020a170902e88c00b0016d43642c37mr20618322plg.69.1658913729864; Wed, 27 Jul 2022 02:22:09 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id w15-20020a17090a380f00b001efa332d365sm1159189pjb.33.2022.07.27.02.22.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jul 2022 02:22:07 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, pabeni@redhat.com, ast@kernel.org, leon@kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, Vikas Gupta Subject: [PATCH net-next v8 1/2] devlink: introduce framework for selftests Date: Wed, 27 Jul 2022 14:50:34 +0530 Message-Id: <20220727092035.35938-2-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220727092035.35938-1-vikas.gupta@broadcom.com> References: <20220727092035.35938-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000009f45ca05e4c5f354" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --0000000000009f45ca05e4c5f354 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGEgZnJhbWV3b3JrIGZvciBydW5uaW5nIHNlbGZ0ZXN0cy4KRnJhbWV3b3JrIGV4cG9zZXMg ZGV2bGluayBjb21tYW5kcyBhbmQgdGVzdCBzdWl0ZShzKSB0byB0aGUgdXNlcgp0byBleGVjdXRl IGFuZCBxdWVyeSB0aGUgc3VwcG9ydGVkIHRlc3RzIGJ5IHRoZSBkcml2ZXIuCgpCZWxvdyBhcmUg bmV3IGVudHJpZXMgaW4gZGV2bGlua19ubF9vcHMKZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3No b3dfZG9pdC9kdW1waXQ6IFRvIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQKc2VsZnRlc3RzIGJ5IHRoZSBk cml2ZXJzLgpkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfcnVuOiBUbyBleGVjdXRlIHNlbGZ0ZXN0 cy4gVXNlcnMgY2FuCnByb3ZpZGUgYSB0ZXN0IG1hc2sgZm9yIGV4ZWN1dGluZyBncm91cCB0ZXN0 cyBvciBzdGFuZGFsb25lIHRlc3RzLgoKRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2Rldmxpbmsv IHBhdGggaXMgYWxyZWFkeSBwYXJ0IG9mIE1BSU5UQUlORVJTICYKdGhlIG5ldyBmaWxlcyBjb21l IHVuZGVyIHRoaXMgcGF0aC4gSGVuY2Ugbm8gdXBkYXRlIG5lZWRlZCB0byB0aGUKTUFJTlRBSU5F UlMKClNpZ25lZC1vZmYtYnk6IFZpa2FzIEd1cHRhIDx2aWthcy5ndXB0YUBicm9hZGNvbS5jb20+ ClJldmlld2VkLWJ5OiBBbmR5IEdvc3BvZGFyZWsgPGdvc3BvQGJyb2FkY29tLmNvbT4KUmV2aWV3 ZWQtYnk6IEppcmkgUGlya28gPGppcmlAbnZpZGlhLmNvbT4KLS0tCiAuLi4vbmV0d29ya2luZy9k ZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdCAgfCAgMzggKysrCiBpbmNsdWRlL25ldC9kZXZs aW5rLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjEgKysKIGluY2x1ZGUvdWFwaS9saW51 eC9kZXZsaW5rLmggICAgICAgICAgICAgICAgICB8ICAyOSArKysKIG5ldC9jb3JlL2Rldmxpbmsu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIxNiArKysrKysrKysrKysrKysrKysKIDQg ZmlsZXMgY2hhbmdlZCwgMzA0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1 bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2bGluay9kZXZsaW5rLXNlbGZ0ZXN0cy5yc3QKCmRpZmYg LS1naXQgYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2bGluay9kZXZsaW5rLXNlbGZ0ZXN0 cy5yc3QgYi9Eb2N1bT0KZW50YXRpb24vbmV0d29ya2luZy9kZXZsaW5rL2Rldmxpbmstc2VsZnRl c3RzLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmMwYWExZjNh ZWYwZAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZsaW5r L2Rldmxpbmstc2VsZnRlc3RzLnJzdApAQCAtMCwwICsxLDM4IEBACisuLiBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCisKKz0zRD0zRD0zRD0z RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorRGV2bGluayBTZWxmdGVz dHMKKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAor CitUaGUgYGBkZXZsaW5rLXNlbGZ0ZXN0c2BgIEFQSSBhbGxvd3MgZXhlY3V0aW5nIHNlbGZ0ZXN0 cyBvbiB0aGUgZGV2aWNlLgorCitUZXN0cyBNYXNrCis9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9 M0Q9M0QKK1RoZSBgYGRldmxpbmstc2VsZnRlc3RzYGAgY29tbWFuZCBzaG91bGQgYmUgcnVuIHdp dGggYSBtYXNrIGluZGljYXRpbmcKK3RoZSB0ZXN0cyB0byBiZSBleGVjdXRlZC4KKworVGVzdHMg RGVzY3JpcHRpb24KKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRAorVGhlIGZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgdGVzdHMgdGhhdCBkcml2ZXJzIG1h eSBleGVjdXRlLgorCisuLiBsaXN0LXRhYmxlOjogTGlzdCBvZiB0ZXN0cworICAgOndpZHRoczog NSA5MAorCisgICAqIC0gTmFtZQorICAgICAtIERlc2NyaXB0aW9uCisgICAqIC0gYGBERVZMSU5L X1NFTEZURVNUX0ZMQVNIYGAKKyAgICAgLSBEZXZpY2VzIG1heSBoYXZlIHRoZSBmaXJtd2FyZSBv biBub24tdm9sYXRpbGUgbWVtb3J5IG9uIHRoZSBib2FyZCwgPQplLmcuCisgICAgICAgZmxhc2gu IFRoaXMgcGFydGljdWxhciB0ZXN0IGhlbHBzIHRvIHJ1biBhIGZsYXNoIHNlbGZ0ZXN0IG9uIHRo ZSBkZT0KdmljZS4KKyAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgdGVzdCBpcyBsZWZ0IHRv IHRoZSBkcml2ZXIvZmlybXdhcmUuCisKK2V4YW1wbGUgdXNhZ2UKKy0tLS0tLS0tLS0tLS0KKwor Li4gY29kZTo6IHNoZWxsCisKKyAgICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0ZWQgb24gdGhl IGRldmxpbmsgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRldiBzZWxmdGVzdHMgc2hvdyBERVYKKyAg ICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0ZWQgb24gYWxsIGRldmxpbmsgZGV2aWNlcworICAg ICQgZGV2bGluayBkZXYgc2VsZnRlc3RzIHNob3cKKyAgICAjIEV4ZWN1dGVzIHNlbGZ0ZXN0cyBv biB0aGUgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRldiBzZWxmdGVzdHMgcnVuIERFViBpZCBmbGFz aApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvZGV2bGluay5oIGIvaW5jbHVkZS9uZXQvZGV2bGlu ay5oCmluZGV4IDViZDNmYWMxMmU5ZS4uMTE5ZWQxZmZiOTg4IDEwMDY0NAotLS0gYS9pbmNsdWRl L25ldC9kZXZsaW5rLmgKKysrIGIvaW5jbHVkZS9uZXQvZGV2bGluay5oCkBAIC0xNTA5LDYgKzE1 MDksMjcgQEAgc3RydWN0IGRldmxpbmtfb3BzIHsKIAkJCQkgICAgc3RydWN0IGRldmxpbmtfcmF0 ZSAqcGFyZW50LAogCQkJCSAgICB2b2lkICpwcml2X2NoaWxkLCB2b2lkICpwcml2X3BhcmVudCwK IAkJCQkgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKTsKKwkvKioKKwkgKiBzZWxm dGVzdHNfY2hlY2soKSAtIHF1ZXJpZXMgaWYgc2VsZnRlc3QgaXMgc3VwcG9ydGVkCisJICogQGRl dmxpbms6IGRldmxpbmsgaW5zdGFuY2UKKwkgKiBAaWQ6IHRlc3QgaW5kZXgKKwkgKiBAZXh0YWNr OiBleHRhY2sgZm9yIHJlcG9ydGluZyBlcnJvciBtZXNzYWdlcworCSAqCisJICogUmV0dXJuOiB0 cnVlIGlmIHRlc3QgaXMgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIKKwkgKi8KKwlib29sICgqc2Vs ZnRlc3RfY2hlY2spKHN0cnVjdCBkZXZsaW5rICpkZXZsaW5rLCB1bnNpZ25lZCBpbnQgaWQsCisJ CQkgICAgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKTsKKwkvKioKKwkgKiBzZWxm dGVzdF9ydW4oKSAtIFJ1bnMgYSBzZWxmdGVzdAorCSAqIEBkZXZsaW5rOiBkZXZsaW5rIGluc3Rh bmNlCisJICogQGlkOiB0ZXN0IGluZGV4CisJICogQGV4dGFjazogZXh0YWNrIGZvciByZXBvcnRp bmcgZXJyb3IgbWVzc2FnZXMKKwkgKgorCSAqIFJldHVybjogc3RhdHVzIG9mIHRoZSB0ZXN0CisJ ICovCisJZW51bSBkZXZsaW5rX3NlbGZ0ZXN0X3N0YXR1cworCSgqc2VsZnRlc3RfcnVuKShzdHJ1 Y3QgZGV2bGluayAqZGV2bGluaywgdW5zaWduZWQgaW50IGlkLAorCQkJc3RydWN0IG5ldGxpbmtf ZXh0X2FjayAqZXh0YWNrKTsKIH07Cj0yMAogdm9pZCAqZGV2bGlua19wcml2KHN0cnVjdCBkZXZs aW5rICpkZXZsaW5rKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9kZXZsaW5rLmgg Yi9pbmNsdWRlL3VhcGkvbGludXgvZGV2bGluay5oCmluZGV4IDU0MTMyMTY5NWY1Mi4uMmYyNGI1 M2E4N2E1IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvbGludXgvZGV2bGluay5oCisrKyBiL2lu Y2x1ZGUvdWFwaS9saW51eC9kZXZsaW5rLmgKQEAgLTEzNiw2ICsxMzYsOSBAQCBlbnVtIGRldmxp bmtfY29tbWFuZCB7CiAJREVWTElOS19DTURfTElORUNBUkRfTkVXLAogCURFVkxJTktfQ01EX0xJ TkVDQVJEX0RFTCwKPTIwCisJREVWTElOS19DTURfU0VMRlRFU1RTX0dFVCwJLyogY2FuIGR1bXAg Ki8KKwlERVZMSU5LX0NNRF9TRUxGVEVTVFNfUlVOLAorCiAJLyogYWRkIG5ldyBjb21tYW5kcyBh Ym92ZSBoZXJlICovCiAJX19ERVZMSU5LX0NNRF9NQVgsCiAJREVWTElOS19DTURfTUFYID0zRCBf X0RFVkxJTktfQ01EX01BWCAtIDEKQEAgLTI3Niw2ICsyNzksMzAgQEAgZW51bSB7CiAjZGVmaW5l IERFVkxJTktfU1VQUE9SVEVEX0ZMQVNIX09WRVJXUklURV9TRUNUSU9OUyBcCiAJKF9CSVRVTChf X0RFVkxJTktfRkxBU0hfT1ZFUldSSVRFX01BWF9CSVQpIC0gMSkKPTIwCitlbnVtIGRldmxpbmtf YXR0cl9zZWxmdGVzdF9pZCB7CisJREVWTElOS19BVFRSX1NFTEZURVNUX0lEX1VOU1BFQywKKwlE RVZMSU5LX0FUVFJfU0VMRlRFU1RfSURfRkxBU0gsCS8qIGZsYWcgKi8KKworCV9fREVWTElOS19B VFRSX1NFTEZURVNUX0lEX01BWCwKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RfSURfTUFYID0zRCBf X0RFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9NQVggLSAxCit9OworCitlbnVtIGRldmxpbmtfc2Vs ZnRlc3Rfc3RhdHVzIHsKKwlERVZMSU5LX1NFTEZURVNUX1NUQVRVU19TS0lQLAorCURFVkxJTktf U0VMRlRFU1RfU1RBVFVTX1BBU1MsCisJREVWTElOS19TRUxGVEVTVF9TVEFUVVNfRkFJTAorfTsK KworZW51bSBkZXZsaW5rX2F0dHJfc2VsZnRlc3RfcmVzdWx0IHsKKwlERVZMSU5LX0FUVFJfU0VM RlRFU1RfUkVTVUxUX1VOU1BFQywKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxULAkJLyog bmVzdGVkICovCisJREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9JRCwJLyogdTMyLCBlbnVt IGRldmxpbmtfYXR0cl9zZWxmdGVzdF9pZCAqLworCURFVkxJTktfQVRUUl9TRUxGVEVTVF9SRVNV TFRfU1RBVFVTLAkvKiB1OCwgZW51bSBkZXZsaW5rX3NlbGZ0ZXN0X3N0YXR1cyA9CiovCisKKwlf X0RFVkxJTktfQVRUUl9TRUxGVEVTVF9SRVNVTFRfTUFYLAorCURFVkxJTktfQVRUUl9TRUxGVEVT VF9SRVNVTFRfTUFYID0zRCBfX0RFVkxJTktfQVRUUl9TRUxGVEVTVF9SRVNVTFRfTUFYIC09CiAx Cit9OworCiAvKioKICAqIGVudW0gZGV2bGlua190cmFwX2FjdGlvbiAtIFBhY2tldCB0cmFwIGFj dGlvbi4KICAqIEBERVZMSU5LX1RSQVBfQUNUSU9OX0RST1A6IFBhY2tldCBpcyBkcm9wcGVkIGJ5 IHRoZSBkZXZpY2UgYW5kIGEgY29weSBpPQpzIG5vdApAQCAtNTc4LDYgKzYwNSw4IEBAIGVudW0g ZGV2bGlua19hdHRyIHsKPTIwCiAJREVWTElOS19BVFRSX05FU1RFRF9ERVZMSU5LLAkJLyogbmVz dGVkICovCj0yMAorCURFVkxJTktfQVRUUl9TRUxGVEVTVFMsCQkJLyogbmVzdGVkICovCisKIAkv KiBhZGQgbmV3IGF0dHJpYnV0ZXMgYWJvdmUgaGVyZSwgdXBkYXRlIHRoZSBwb2xpY3kgaW4gZGV2 bGluay5jICovCj0yMAogCV9fREVWTElOS19BVFRSX01BWCwKZGlmZiAtLWdpdCBhL25ldC9jb3Jl L2RldmxpbmsuYyBiL25ldC9jb3JlL2RldmxpbmsuYwppbmRleCA2OThiMmQ2ZTBlYzcuLjMyNzMw YWQyNTA4MSAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2bGluay5jCisrKyBiL25ldC9jb3JlL2Rl dmxpbmsuYwpAQCAtMjAxLDYgKzIwMSwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG5sYV9wb2xp Y3kgZGV2bGlua19mdW5jdGlvbl9ubF9wb2w9CmljeVtERVZMSU5LX1BPUlRfRlVOQ1RJT05fCiAJ CQkJIERFVkxJTktfUE9SVF9GTl9TVEFURV9BQ1RJVkUpLAogfTsKPTIwCitzdGF0aWMgY29uc3Qg c3RydWN0IG5sYV9wb2xpY3kgZGV2bGlua19zZWxmdGVzdF9ubF9wb2xpY3lbREVWTElOS19BVFRS X1NFTD0KRlRFU1RfSURfTUFYICsgMV0gPTNEIHsKKwlbREVWTElOS19BVFRSX1NFTEZURVNUX0lE X0ZMQVNIXSA9M0QgeyAudHlwZSA9M0QgTkxBX0ZMQUcgfSwKK307CisKIHN0YXRpYyBERUZJTkVf WEFSUkFZX0ZMQUdTKGRldmxpbmtzLCBYQV9GTEFHU19BTExPQyk7CiAjZGVmaW5lIERFVkxJTktf UkVHSVNURVJFRCBYQV9NQVJLXzEKPTIwCkBAIC00ODI3LDYgKzQ4MzEsMjA2IEBAIHN0YXRpYyBp bnQgZGV2bGlua19ubF9jbWRfZmxhc2hfdXBkYXRlKHN0cnVjdCBza19idT0KZmYgKnNrYiwKIAly ZXR1cm4gcmV0OwogfQo9MjAKK3N0YXRpYyBpbnQKK2Rldmxpbmtfbmxfc2VsZnRlc3RzX2ZpbGwo c3RydWN0IHNrX2J1ZmYgKm1zZywgc3RydWN0IGRldmxpbmsgKmRldmxpbmssCisJCQkgIHUzMiBw b3J0aWQsIHUzMiBzZXEsIGludCBmbGFncywKKwkJCSAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAq ZXh0YWNrKQoreworCXN0cnVjdCBubGF0dHIgKnNlbGZ0ZXN0czsKKwl2b2lkICpoZHI7CisJaW50 IGVycjsKKwlpbnQgaTsKKworCWhkciA9M0QgZ2VubG1zZ19wdXQobXNnLCBwb3J0aWQsIHNlcSwg JmRldmxpbmtfbmxfZmFtaWx5LCBmbGFncywKKwkJCSAgREVWTElOS19DTURfU0VMRlRFU1RTX0dF VCk7CisJaWYgKCFoZHIpCisJCXJldHVybiAtRU1TR1NJWkU7CisKKwllcnIgPTNEIC1FTVNHU0la RTsKKwlpZiAoZGV2bGlua19ubF9wdXRfaGFuZGxlKG1zZywgZGV2bGluaykpCisJCWdvdG8gZXJy X2NhbmNlbF9tc2c7CisKKwlzZWxmdGVzdHMgPTNEIG5sYV9uZXN0X3N0YXJ0KG1zZywgREVWTElO S19BVFRSX1NFTEZURVNUUyk7CisJaWYgKCFzZWxmdGVzdHMpCisJCWdvdG8gZXJyX2NhbmNlbF9t c2c7CisKKwlmb3IgKGkgPTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9VTlNQRUMgKyAxOwor CSAgICAgaSA8PTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9NQVg7IGkrKykgeworCQlpZiAo ZGV2bGluay0+b3BzLT5zZWxmdGVzdF9jaGVjayhkZXZsaW5rLCBpLCBleHRhY2spKSB7CisJCQll cnIgPTNEIG5sYV9wdXRfZmxhZyhtc2csIGkpOworCQkJaWYgKGVycikKKwkJCQlnb3RvIGVycl9j YW5jZWxfbXNnOworCQl9CisJfQorCisJbmxhX25lc3RfZW5kKG1zZywgc2VsZnRlc3RzKTsKKwln ZW5sbXNnX2VuZChtc2csIGhkcik7CisJcmV0dXJuIDA7CisKK2Vycl9jYW5jZWxfbXNnOgorCWdl bmxtc2dfY2FuY2VsKG1zZywgaGRyKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IGRl dmxpbmtfbmxfY21kX3NlbGZ0ZXN0c19nZXRfZG9pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAorCQkJ CQkgICAgIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCit7CisJc3RydWN0IGRldmxpbmsgKmRldmxp bmsgPTNEIGluZm8tPnVzZXJfcHRyWzBdOworCXN0cnVjdCBza19idWZmICptc2c7CisJaW50IGVy cjsKKworCWlmICghZGV2bGluay0+b3BzLT5zZWxmdGVzdF9jaGVjaykKKwkJcmV0dXJuIC1FT1BO T1RTVVBQOworCisJbXNnID0zRCBubG1zZ19uZXcoTkxNU0dfREVGQVVMVF9TSVpFLCBHRlBfS0VS TkVMKTsKKwlpZiAoIW1zZykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwllcnIgPTNEIGRldmxpbmtf bmxfc2VsZnRlc3RzX2ZpbGwobXNnLCBkZXZsaW5rLCBpbmZvLT5zbmRfcG9ydGlkLAorCQkJCQlp bmZvLT5zbmRfc2VxLCAwLCBpbmZvLT5leHRhY2spOworCWlmIChlcnIpIHsKKwkJbmxtc2dfZnJl ZShtc2cpOworCQlyZXR1cm4gZXJyOworCX0KKworCXJldHVybiBnZW5sbXNnX3JlcGx5KG1zZywg aW5mbyk7Cit9CisKK3N0YXRpYyBpbnQgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX2dldF9kdW1w aXQoc3RydWN0IHNrX2J1ZmYgKm1zZywKKwkJCQkJICAgICAgIHN0cnVjdCBuZXRsaW5rX2NhbGxi YWNrICpjYikKK3sKKwlzdHJ1Y3QgZGV2bGluayAqZGV2bGluazsKKwlpbnQgc3RhcnQgPTNEIGNi LT5hcmdzWzBdOworCXVuc2lnbmVkIGxvbmcgaW5kZXg7CisJaW50IGlkeCA9M0QgMDsKKwlpbnQg ZXJyID0zRCAwOworCisJbXV0ZXhfbG9jaygmZGV2bGlua19tdXRleCk7CisJZGV2bGlua3NfeGFf Zm9yX2VhY2hfcmVnaXN0ZXJlZF9nZXQoc29ja19uZXQobXNnLT5zayksIGluZGV4LCBkZXZsaW5r KSB7CisJCWlmIChpZHggPCBzdGFydCB8fCAhZGV2bGluay0+b3BzLT5zZWxmdGVzdF9jaGVjaykK KwkJCWdvdG8gaW5jOworCisJCWRldmxfbG9jayhkZXZsaW5rKTsKKwkJZXJyID0zRCBkZXZsaW5r X25sX3NlbGZ0ZXN0c19maWxsKG1zZywgZGV2bGluaywKKwkJCQkJCU5FVExJTktfQ0IoY2ItPnNr YikucG9ydGlkLAorCQkJCQkJY2ItPm5saC0+bmxtc2dfc2VxLCBOTE1fRl9NVUxUSSwKKwkJCQkJ CWNiLT5leHRhY2spOworCQlkZXZsX3VubG9jayhkZXZsaW5rKTsKKwkJaWYgKGVycikgeworCQkJ ZGV2bGlua19wdXQoZGV2bGluayk7CisJCQlicmVhazsKKwkJfQoraW5jOgorCQlpZHgrKzsKKwkJ ZGV2bGlua19wdXQoZGV2bGluayk7CisJfQorCW11dGV4X3VubG9jaygmZGV2bGlua19tdXRleCk7 CisKKwlpZiAoZXJyICE9M0QgLUVNU0dTSVpFKQorCQlyZXR1cm4gZXJyOworCisJY2ItPmFyZ3Nb MF0gPTNEIGlkeDsKKwlyZXR1cm4gbXNnLT5sZW47Cit9CisKK3N0YXRpYyBpbnQgZGV2bGlua19z ZWxmdGVzdF9yZXN1bHRfcHV0KHN0cnVjdCBza19idWZmICpza2IsIHVuc2lnbmVkIGludCBpPQpk LAorCQkJCSAgICAgICBlbnVtIGRldmxpbmtfc2VsZnRlc3Rfc3RhdHVzIHRlc3Rfc3RhdHVzKQor eworCXN0cnVjdCBubGF0dHIgKnJlc3VsdF9hdHRyOworCisJcmVzdWx0X2F0dHIgPTNEIG5sYV9u ZXN0X3N0YXJ0KHNrYiwgREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVCk7CisJaWYgKCFyZXN1 bHRfYXR0cikKKwkJcmV0dXJuIC1FTVNHU0laRTsKKworCWlmIChubGFfcHV0X3UzMihza2IsIERF VkxJTktfQVRUUl9TRUxGVEVTVF9SRVNVTFRfSUQsIGlkKSB8fAorCSAgICBubGFfcHV0X3U4KHNr YiwgREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9TVEFUVVMsCisJCSAgICAgICB0ZXN0X3N0 YXR1cykpCisJCWdvdG8gbmxhX3B1dF9mYWlsdXJlOworCisJbmxhX25lc3RfZW5kKHNrYiwgcmVz dWx0X2F0dHIpOworCXJldHVybiAwOworCitubGFfcHV0X2ZhaWx1cmU6CisJbmxhX25lc3RfY2Fu Y2VsKHNrYiwgcmVzdWx0X2F0dHIpOworCXJldHVybiAtRU1TR1NJWkU7Cit9CisKK3N0YXRpYyBp bnQgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3J1bihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAorCQkJ CQlzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQoreworCXN0cnVjdCBubGF0dHIgKnRiW0RFVkxJTktf QVRUUl9TRUxGVEVTVF9JRF9NQVggKyAxXTsKKwlzdHJ1Y3QgZGV2bGluayAqZGV2bGluayA9M0Qg aW5mby0+dXNlcl9wdHJbMF07CisJc3RydWN0IG5sYXR0ciAqYXR0cnMsICpzZWxmdGVzdHM7CisJ c3RydWN0IHNrX2J1ZmYgKm1zZzsKKwl2b2lkICpoZHI7CisJaW50IGVycjsKKwlpbnQgaTsKKwor CWlmICghZGV2bGluay0+b3BzLT5zZWxmdGVzdF9ydW4gfHwgIWRldmxpbmstPm9wcy0+c2VsZnRl c3RfY2hlY2spCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKworCWlmICghaW5mby0+YXR0cnNbREVW TElOS19BVFRSX1NFTEZURVNUU10pIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGluZm8tPmV4dGFj aywgInNlbGZ0ZXN0IHJlcXVpcmVkIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWF0dHJz ID0zRCBpbmZvLT5hdHRyc1tERVZMSU5LX0FUVFJfU0VMRlRFU1RTXTsKKworCWVyciA9M0Qgbmxh X3BhcnNlX25lc3RlZCh0YiwgREVWTElOS19BVFRSX1NFTEZURVNUX0lEX01BWCwgYXR0cnMsCisJ CQkgICAgICAgZGV2bGlua19zZWxmdGVzdF9ubF9wb2xpY3ksIGluZm8tPmV4dGFjayk7CisJaWYg KGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwltc2cgPTNEIG5sbXNnX25ldyhOTE1TR19ERUZB VUxUX1NJWkUsIEdGUF9LRVJORUwpOworCWlmICghbXNnKQorCQlyZXR1cm4gLUVOT01FTTsKKwor CWVyciA9M0QgLUVNU0dTSVpFOworCWhkciA9M0QgZ2VubG1zZ19wdXQobXNnLCBpbmZvLT5zbmRf cG9ydGlkLCBpbmZvLT5zbmRfc2VxLAorCQkJICAmZGV2bGlua19ubF9mYW1pbHksIDAsIERFVkxJ TktfQ01EX1NFTEZURVNUU19SVU4pOworCWlmICghaGRyKQorCQlnb3RvIGZyZWVfbXNnOworCisJ aWYgKGRldmxpbmtfbmxfcHV0X2hhbmRsZShtc2csIGRldmxpbmspKQorCQlnb3RvIGdlbmxtc2df Y2FuY2VsOworCisJc2VsZnRlc3RzID0zRCBubGFfbmVzdF9zdGFydChtc2csIERFVkxJTktfQVRU Ul9TRUxGVEVTVFMpOworCWlmICghc2VsZnRlc3RzKQorCQlnb3RvIGdlbmxtc2dfY2FuY2VsOwor CisJZm9yIChpID0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfSURfVU5TUEVDICsgMTsKKwkgICAg IGkgPD0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfSURfTUFYOyBpKyspIHsKKwkJZW51bSBkZXZs aW5rX3NlbGZ0ZXN0X3N0YXR1cyB0ZXN0X3N0YXR1czsKKworCQlpZiAobmxhX2dldF9mbGFnKHRi W2ldKSkgeworCQkJaWYgKCFkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X2NoZWNrKGRldmxpbmssIGks CisJCQkJCQkJICBpbmZvLT5leHRhY2spKSB7CisJCQkJaWYgKGRldmxpbmtfc2VsZnRlc3RfcmVz dWx0X3B1dChtc2csIGksCisJCQkJCQkJCURFVkxJTktfU0VMRlRFU1RfU1RBVFVTX1NLSVApKQor CQkJCQlnb3RvIHNlbGZ0ZXN0c19uZXN0X2NhbmNlbDsKKwkJCQljb250aW51ZTsKKwkJCX0KKwor CQkJdGVzdF9zdGF0dXMgPTNEIGRldmxpbmstPm9wcy0+c2VsZnRlc3RfcnVuKGRldmxpbmssIGks CisJCQkJCQkJCSBpbmZvLT5leHRhY2spOworCQkJaWYgKGRldmxpbmtfc2VsZnRlc3RfcmVzdWx0 X3B1dChtc2csIGksIHRlc3Rfc3RhdHVzKSkKKwkJCQlnb3RvIHNlbGZ0ZXN0c19uZXN0X2NhbmNl bDsKKwkJfQorCX0KKworCW5sYV9uZXN0X2VuZChtc2csIHNlbGZ0ZXN0cyk7CisJZ2VubG1zZ19l bmQobXNnLCBoZHIpOworCXJldHVybiBnZW5sbXNnX3JlcGx5KG1zZywgaW5mbyk7CisKK3NlbGZ0 ZXN0c19uZXN0X2NhbmNlbDoKKwlubGFfbmVzdF9jYW5jZWwobXNnLCBzZWxmdGVzdHMpOworZ2Vu bG1zZ19jYW5jZWw6CisJZ2VubG1zZ19jYW5jZWwobXNnLCBoZHIpOworZnJlZV9tc2c6CisJbmxt c2dfZnJlZShtc2cpOworCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2 bGlua19wYXJhbSBkZXZsaW5rX3BhcmFtX2dlbmVyaWNbXSA9M0QgewogCXsKIAkJLmlkID0zRCBE RVZMSU5LX1BBUkFNX0dFTkVSSUNfSURfSU5UX0VSUl9SRVNFVCwKQEAgLTg5NzAsNiArOTE3NCw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmxhX3BvbGljeSBkZXZsaW5rX25sX3BvbGljeVtERVZM PQpJTktfQVRUUl9NQVggKyAxXSA9M0QgewogCVtERVZMSU5LX0FUVFJfUkFURV9QQVJFTlRfTk9E RV9OQU1FXSA9M0QgeyAudHlwZSA9M0QgTkxBX05VTF9TVFJJTkcgfSwKIAlbREVWTElOS19BVFRS X0xJTkVDQVJEX0lOREVYXSA9M0QgeyAudHlwZSA9M0QgTkxBX1UzMiB9LAogCVtERVZMSU5LX0FU VFJfTElORUNBUkRfVFlQRV0gPTNEIHsgLnR5cGUgPTNEIE5MQV9OVUxfU1RSSU5HIH0sCisJW0RF VkxJTktfQVRUUl9TRUxGVEVTVFNdID0zRCB7IC50eXBlID0zRCBOTEFfTkVTVEVEIH0sCiB9Owo9 MjAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZGV2bGlua19ubF9vcHNbXSA9 M0QgewpAQCAtOTMyOSw2ICs5NTM0LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFs bF9vcHMgZGV2bGlua19ubF9vcHNbXSA9Cj0zRCB7CiAJCS5kb2l0ID0zRCBkZXZsaW5rX25sX2Nt ZF90cmFwX3BvbGljZXJfc2V0X2RvaXQsCiAJCS5mbGFncyA9M0QgR0VOTF9BRE1JTl9QRVJNLAog CX0sCisJeworCQkuY21kID0zRCBERVZMSU5LX0NNRF9TRUxGVEVTVFNfR0VULAorCQkuZG9pdCA9 M0QgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX2dldF9kb2l0LAorCQkuZHVtcGl0ID0zRCBkZXZs aW5rX25sX2NtZF9zZWxmdGVzdHNfZ2V0X2R1bXBpdAorCQkvKiBjYW4gYmUgcmV0cmlldmVkIGJ5 IHVucHJpdmlsZWdlZCB1c2VycyAqLworCX0sCisJeworCQkuY21kID0zRCBERVZMSU5LX0NNRF9T RUxGVEVTVFNfUlVOLAorCQkuZG9pdCA9M0QgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3J1biwK KwkJLmZsYWdzID0zRCBHRU5MX0FETUlOX1BFUk0sCisJfSwKIH07Cj0yMAogc3RhdGljIHN0cnVj dCBnZW5sX2ZhbWlseSBkZXZsaW5rX25sX2ZhbWlseSBfX3JvX2FmdGVyX2luaXQgPTNEIHsKLS09 MjAKMi4zMS4xCg== --0000000000009f45ca05e4c5f354 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIOIT2YMU3NMi27XlgMeXf19Us8wvNXM3SqhJ 1WsmXbqYMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyNzA5 MjIxMFowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQBLZzk4ApFLeALJYa7N7u2sWbOq/KPhdvoyVnqh8XKOgJE8pv++9KBr 1PHLHXF7IZ5wJJKeqlE6GZpV15sZ/F2msxKbuUzC+5BI6x41Sff4sbap+4vsR1SwG17qxn9OWQFx HJaOSakc+A2QC7xr/Ic/B8q9xfI7VxwBQUEpvMcA3o6aLDdo/Wv1SaD4a8ikyeQ+5ebtcBTUiNlP sH85FSjSMvN4MrQMS0kk0f3CFlqI+ZecjFyXHVS6Nd8Q+mzP3LbnhaRdwNlmiKJ//XNaTVB4X3ui 4P/Xq86AKcCQMh+ApNhwjFCJ5lfeK01HUSn7l3m8mla9jBidClT778GBVcDG --0000000000009f45ca05e4c5f354-- From nobody Wed Apr 15 02:55:08 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 76268C04A68 for ; Wed, 27 Jul 2022 09:22:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231712AbiG0JWm (ORCPT ); Wed, 27 Jul 2022 05:22:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230302AbiG0JW3 (ORCPT ); Wed, 27 Jul 2022 05:22:29 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0266474EE for ; Wed, 27 Jul 2022 02:22:18 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id o14-20020a17090a4b4e00b001f2f2b61be5so1557305pjl.4 for ; Wed, 27 Jul 2022 02:22:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=HPQwIntoiwjtUSkN98oavhqMJi2F6TaXSl/MIHOts4w=; b=Maud5XNotq8+yyHGKJ8xReaYn9KAoXBEdrS3eIoHjB1qKBHFN2Tqf3tJvvzt8c60g6 73BWNxhxD5557WcqRB4OXC3XErMBKROkInmk6SzZWfazPETW/Cdcinyn1BYToZdAy2Z/ 2GchYEERN9qcubUbRl6JEs/OsOoU6kxlkFbhQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=HPQwIntoiwjtUSkN98oavhqMJi2F6TaXSl/MIHOts4w=; b=TTKHK+ygoH6vn+6aXLU3WIY3Q7I6DWE3NosZ/JbzHggsQxYlE9nm//ZTlAxRTqcD1v QPUo/9EE2cObaF/WIiiQS8tAP0IJgNSZ6ZNWEQ5/j4fkKbXEslBTh6XjiAbRSrYkw8wi vIhFbjsInIy2Qt5Z3IWaYQVtRhBNtmIHXl6tVBbgAzaDHspltmpIqek2nrv8nefeJDdU h/eDlmA2Y5vgM5SseouXbHIXpWJXcOoTAsC574c7uoMFJBb5EcLskHTWJDwSTcE/tL0D Jmr1MdB5WYtbUI91W5jdCoOUcsEHxVdXso1HBX9aSKG5wBmUpVDS7/7eMGVNoNf9dqOQ W/ag== X-Gm-Message-State: AJIora+zzvh9kjqEHlUBIN29ty6VM3pn21K3caXCq/duZ7eh8MkVGw7N 4nckUzOKypSmlzhlFy9s44HFXQ== X-Google-Smtp-Source: AGRyM1tMaBEnAYaZQH9vsA0PFPHMOW5MBtON/xw5Zk6L1JLxD3c1ly8OhFWkDYZb3WVsdcjjRdplxQ== X-Received: by 2002:a17:902:e811:b0:16d:684a:eb3a with SMTP id u17-20020a170902e81100b0016d684aeb3amr15867087plg.54.1658913738180; Wed, 27 Jul 2022 02:22:18 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id w15-20020a17090a380f00b001efa332d365sm1159189pjb.33.2022.07.27.02.22.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jul 2022 02:22:14 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, pabeni@redhat.com, ast@kernel.org, leon@kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, vikas Subject: [PATCH net-next v8 2/2] bnxt_en: implement callbacks for devlink selftests Date: Wed, 27 Jul 2022 14:50:35 +0530 Message-Id: <20220727092035.35938-3-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220727092035.35938-1-vikas.gupta@broadcom.com> References: <20220727092035.35938-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000001a04ae05e4c5f414" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --0000000000001a04ae05e4c5f414 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 RnJvbTogdmlrYXMgPHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbT4KCkFkZCBjYWxsYmFja3MKPTNE PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNECi5zZWxmdGVzdF9jaGVjazogcmV0 dXJucyB0cnVlIGZvciBmbGFzaCBzZWxmdGVzdC4KLnNlbGZ0ZXN0X3J1bjogcnVucyBhIGZsYXNo IHNlbGZ0ZXN0LgoKQWxzbywgcmVmYWN0b3IgTlZNIEFQSXMgc28gdGhhdCB0aGV5IGNhbiBiZQp1 c2VkIHdpdGggZGV2bGluayBhbmQgZXRodG9vbCBib3RoLgoKU2lnbmVkLW9mZi1ieTogdmlrYXMg PHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbT4KU2lnbmVkLW9mZi1ieTogVmlrYXMgR3VwdGEgPHZp a2FzLmd1cHRhQGJyb2FkY29tLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHkgR29zcG9kYXJlayA8Z29z cG9AYnJvYWRjb20uY29tPgpSZXZpZXdlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBudmlkaWEuY29t PgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2RldmxpbmsuYyB8IDYx ICsrKysrKysrKysrKysrKysrKysKIC4uLi9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0 X2V0aHRvb2wuYyB8IDI0ICsrKystLS0tCiAuLi4vbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQv Ym54dF9ldGh0b29sLmggfCAxMiArKysrCiAzIGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMo KyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMgYi9kcml2ZXJzL25lPQp0L2V0aGVybmV0L2Jyb2Fk Y29tL2JueHQvYm54dF9kZXZsaW5rLmMKaW5kZXggNmIzZDRmNGMyYTc1Li4xNGRmOGNmYzI5NDYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9kZXZs aW5rLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2Rldmxp bmsuYwpAQCAtMjAsNiArMjAsOCBAQAogI2luY2x1ZGUgImJueHRfdWxwLmgiCiAjaW5jbHVkZSAi Ym54dF9wdHAuaCIKICNpbmNsdWRlICJibnh0X2NvcmVkdW1wLmgiCisjaW5jbHVkZSAiYm54dF9u dm1fZGVmcy5oIgorI2luY2x1ZGUgImJueHRfZXRodG9vbC5oIgo9MjAKIHN0YXRpYyB2b2lkIF9f Ym54dF9md19yZWNvdmVyKHN0cnVjdCBibnh0ICpicCkKIHsKQEAgLTYxMCw2ICs2MTIsNjMgQEAg c3RhdGljIGludCBibnh0X2RsX3JlbG9hZF91cChzdHJ1Y3QgZGV2bGluayAqZGwsIGVudW0gPQpk ZXZsaW5rX3JlbG9hZF9hY3Rpb24gYWN0aQogCXJldHVybiByYzsKIH0KPTIwCitzdGF0aWMgYm9v bCBibnh0X252bV90ZXN0KHN0cnVjdCBibnh0ICpicCwgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAq ZXh0YWNrKQoreworCXUzMiBkYXRhbGVuOworCXUxNiBpbmRleDsKKwl1OCAqYnVmOworCisJaWYg KGJueHRfZmluZF9udnJhbV9pdGVtKGJwLT5kZXYsIEJOWF9ESVJfVFlQRV9WUEQsCisJCQkJIEJO WF9ESVJfT1JESU5BTF9GSVJTVCwgQk5YX0RJUl9FWFRfTk9ORSwKKwkJCQkgJmluZGV4LCBOVUxM LCAmZGF0YWxlbikgfHwgIWRhdGFsZW4pIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywg Im52bSB0ZXN0IHZwZCBlbnRyeSBlcnJvciIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJYnVm ID0zRCBremFsbG9jKGRhdGFsZW4sIEdGUF9LRVJORUwpOworCWlmICghYnVmKSB7CisJCU5MX1NF VF9FUlJfTVNHX01PRChleHRhY2ssICJpbnN1ZmZpY2llbnQgbWVtb3J5IGZvciBudm0gdGVzdCIp OworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYgKGJueHRfZ2V0X252cmFtX2l0ZW0oYnAtPmRl diwgaW5kZXgsIDAsIGRhdGFsZW4sIGJ1ZikpIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFj aywgIm52bSB0ZXN0IHZwZCByZWFkIGVycm9yIik7CisJCWdvdG8gZXJyOworCX0KKworCWlmIChi bnh0X2ZsYXNoX252cmFtKGJwLT5kZXYsIEJOWF9ESVJfVFlQRV9WUEQsIEJOWF9ESVJfT1JESU5B TF9GSVJTVCwKKwkJCSAgICAgQk5YX0RJUl9FWFRfTk9ORSwgMCwgMCwgYnVmLCBkYXRhbGVuKSkg eworCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAibnZtIHRlc3QgdnBkIHdyaXRlIGVycm9y Iik7CisJCWdvdG8gZXJyOworCX0KKworCXJldHVybiB0cnVlOworCitlcnI6CisJa2ZyZWUoYnVm KTsKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBib29sIGJueHRfZGxfc2VsZnRlc3RfY2hl Y2soc3RydWN0IGRldmxpbmsgKmRsLCB1bnNpZ25lZCBpbnQgaWQsCisJCQkJICAgc3RydWN0IG5l dGxpbmtfZXh0X2FjayAqZXh0YWNrKQoreworCXJldHVybiBpZCA9M0Q9M0QgREVWTElOS19BVFRS X1NFTEZURVNUX0lEX0ZMQVNIOworfQorCitzdGF0aWMgZW51bSBkZXZsaW5rX3NlbGZ0ZXN0X3N0 YXR1cyBibnh0X2RsX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgZGV2bGluayAqZD0KbCwKKwkJCQkJCQkg dW5zaWduZWQgaW50IGlkLAorCQkJCQkJCSBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2sp Cit7CisJc3RydWN0IGJueHQgKmJwID0zRCBibnh0X2dldF9icF9mcm9tX2RsKGRsKTsKKworCWlm IChpZCA9M0Q9M0QgREVWTElOS19BVFRSX1NFTEZURVNUX0lEX0ZMQVNIKQorCQlyZXR1cm4gYm54 dF9udm1fdGVzdChicCwgZXh0YWNrKSA/CisJCQkJREVWTElOS19TRUxGVEVTVF9TVEFUVVNfUEFT UyA6CisJCQkJREVWTElOS19TRUxGVEVTVF9TVEFUVVNfRkFJTDsKKworCXJldHVybiBERVZMSU5L X1NFTEZURVNUX1NUQVRVU19TS0lQOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRldmxpbmtf b3BzIGJueHRfZGxfb3BzID0zRCB7CiAjaWZkZWYgQ09ORklHX0JOWFRfU1JJT1YKIAkuZXN3aXRj aF9tb2RlX3NldCA9M0QgYm54dF9kbF9lc3dpdGNoX21vZGVfc2V0LApAQCAtNjIyLDYgKzY4MSw4 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2bGlua19vcHMgYm54dF9kbF9vcHMgPTNEIHsKIAku cmVsb2FkX2xpbWl0cwkgID0zRCBCSVQoREVWTElOS19SRUxPQURfTElNSVRfTk9fUkVTRVQpLAog CS5yZWxvYWRfZG93bgkgID0zRCBibnh0X2RsX3JlbG9hZF9kb3duLAogCS5yZWxvYWRfdXAJICA9 M0QgYm54dF9kbF9yZWxvYWRfdXAsCisJLnNlbGZ0ZXN0X2NoZWNrCSAgPTNEIGJueHRfZGxfc2Vs ZnRlc3RfY2hlY2ssCisJLnNlbGZ0ZXN0X3J1bgkgID0zRCBibnh0X2RsX3NlbGZ0ZXN0X3J1biwK IH07Cj0yMAogc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZsaW5rX29wcyBibnh0X3ZmX2RsX29wczsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0 b29sLmMgYi9kcml2ZXJzL25lPQp0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29s LmMKaW5kZXggNzE5MWU1ZDc0MjA4Li44N2ViNTM2MmFkNzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmMKKysrIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2V0aHRvb2wuYwpAQCAtMjE3NiwxNCArMjE3 NiwxNCBAQCBzdGF0aWMgdm9pZCBibnh0X3ByaW50X2FkbWluX2VycihzdHJ1Y3QgYm54dCAqYnAp CiAJbmV0ZGV2X2luZm8oYnAtPmRldiwgIlBGIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdl cyB0byBmbGFzaCBvciByZXNldD0KIHRoZSBkZXZpY2VcbiIpOwogfQo9MjAKLXN0YXRpYyBpbnQg Ym54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IHR5cGUsIHUx NiBvcmRpPQpuYWwsCi0JCQkJdTE2IGV4dCwgdTE2ICppbmRleCwgdTMyICppdGVtX2xlbmd0aCwK LQkJCQl1MzIgKmRhdGFfbGVuZ3RoKTsKK2ludCBibnh0X2ZpbmRfbnZyYW1faXRlbShzdHJ1Y3Qg bmV0X2RldmljZSAqZGV2LCB1MTYgdHlwZSwgdTE2IG9yZGluYWwsCisJCQkgdTE2IGV4dCwgdTE2 ICppbmRleCwgdTMyICppdGVtX2xlbmd0aCwKKwkJCSB1MzIgKmRhdGFfbGVuZ3RoKTsKPTIwCi1z dGF0aWMgaW50IGJueHRfZmxhc2hfbnZyYW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IGRp cl90eXBlLAotCQkJICAgIHUxNiBkaXJfb3JkaW5hbCwgdTE2IGRpcl9leHQsIHUxNiBkaXJfYXR0 ciwKLQkJCSAgICB1MzIgZGlyX2l0ZW1fbGVuLCBjb25zdCB1OCAqZGF0YSwKLQkJCSAgICBzaXpl X3QgZGF0YV9sZW4pCitpbnQgYm54dF9mbGFzaF9udnJhbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 LCB1MTYgZGlyX3R5cGUsCisJCSAgICAgdTE2IGRpcl9vcmRpbmFsLCB1MTYgZGlyX2V4dCwgdTE2 IGRpcl9hdHRyLAorCQkgICAgIHUzMiBkaXJfaXRlbV9sZW4sIGNvbnN0IHU4ICpkYXRhLAorCQkg ICAgIHNpemVfdCBkYXRhX2xlbikKIHsKIAlzdHJ1Y3QgYm54dCAqYnAgPTNEIG5ldGRldl9wcml2 KGRldik7CiAJc3RydWN0IGh3cm1fbnZtX3dyaXRlX2lucHV0ICpyZXE7CkBAIC0yODM2LDggKzI4 MzYsOCBAQCBzdGF0aWMgaW50IGJueHRfZ2V0X252cmFtX2RpcmVjdG9yeShzdHJ1Y3QgbmV0X2Rl dmljZT0KICpkZXYsIHUzMiBsZW4sIHU4ICpkYXRhKQogCXJldHVybiByYzsKIH0KPTIwCi1zdGF0 aWMgaW50IGJueHRfZ2V0X252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIGlu ZGV4LCB1MzIgb2Zmcz0KZXQsCi0JCQkgICAgICAgdTMyIGxlbmd0aCwgdTggKmRhdGEpCitpbnQg Ym54dF9nZXRfbnZyYW1faXRlbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgaW5kZXgsIHUz MiBvZmZzZXQsCisJCQl1MzIgbGVuZ3RoLCB1OCAqZGF0YSkKIHsKIAlzdHJ1Y3QgYm54dCAqYnAg PTNEIG5ldGRldl9wcml2KGRldik7CiAJaW50IHJjOwpAQCAtMjg3MSw5ICsyODcxLDkgQEAgc3Rh dGljIGludCBibnh0X2dldF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXY9CiwgdTMy IGluZGV4LCB1MzIgb2Zmc2V0LAogCXJldHVybiByYzsKIH0KPTIwCi1zdGF0aWMgaW50IGJueHRf ZmluZF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3Jk aT0KbmFsLAotCQkJCXUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRlbV9sZW5ndGgsCi0JCQkJ dTMyICpkYXRhX2xlbmd0aCkKK2ludCBibnh0X2ZpbmRfbnZyYW1faXRlbShzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCB1MTYgdHlwZSwgdTE2IG9yZGluYWwsCisJCQkgdTE2IGV4dCwgdTE2ICppbmRl eCwgdTMyICppdGVtX2xlbmd0aCwKKwkJCSB1MzIgKmRhdGFfbGVuZ3RoKQogewogCXN0cnVjdCBo d3JtX252bV9maW5kX2Rpcl9lbnRyeV9vdXRwdXQgKm91dHB1dDsKIAlzdHJ1Y3QgaHdybV9udm1f ZmluZF9kaXJfZW50cnlfaW5wdXQgKnJlcTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmggYi9kcml2ZXJzL25lPQp0L2V0aGVybmV0 L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmgKaW5kZXggYTU5Mjg0MjE1ZTc4Li5hOGVjZWY4 YWI4MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54 dF9ldGh0b29sLmgKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0 X2V0aHRvb2wuaApAQCAtNTgsNSArNTgsMTcgQEAgaW50IGJueHRfZmxhc2hfcGFja2FnZV9mcm9t X2Z3X29iaihzdHJ1Y3QgbmV0X2RldmljZSAqZGU9CnYsIGNvbnN0IHN0cnVjdCBmaXJtd2FyZQog aW50IGJueHRfZ2V0X3BrZ2luZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgY2hhciAqdmVyLCBp bnQgc2l6ZSk7CiB2b2lkIGJueHRfZXRodG9vbF9pbml0KHN0cnVjdCBibnh0ICpicCk7CiB2b2lk IGJueHRfZXRodG9vbF9mcmVlKHN0cnVjdCBibnh0ICpicCk7CitpbnQgYm54dF9maW5kX252cmFt X2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IHR5cGUsIHUxNiBvcmRpbmFsLAorCQkJ IHUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRlbV9sZW5ndGgsCisJCQkgdTMyICpkYXRhX2xl bmd0aCk7CitpbnQgYm54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwg dTE2IHR5cGUsIHUxNiBvcmRpbmFsLAorCQkJIHUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRl bV9sZW5ndGgsCisJCQkgdTMyICpkYXRhX2xlbmd0aCk7CitpbnQgYm54dF9mbGFzaF9udnJhbShz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgZGlyX3R5cGUsCisJCSAgICAgdTE2IGRpcl9vcmRp bmFsLCB1MTYgZGlyX2V4dCwgdTE2IGRpcl9hdHRyLAorCQkgICAgIHUzMiBkaXJfaXRlbV9sZW4s IGNvbnN0IHU4ICpkYXRhLAorCQkgICAgIHNpemVfdCBkYXRhX2xlbik7CitpbnQgYm54dF9nZXRf bnZyYW1faXRlbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgaW5kZXgsIHUzMiBvZmZzZXQs CisJCQl1MzIgbGVuZ3RoLCB1OCAqZGF0YSk7Cj0yMAogI2VuZGlmCi0tPTIwCjIuMzEuMQo= --0000000000001a04ae05e4c5f414 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIEoNDlfSL2Z+a0/6kiYapPiDRjnqzJ63uykO oYQuYYlPMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyNzA5 MjIxOFowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQB2P5T3jzoQQA9zNSsKY+IZ/cZGZhwdnzEQrxkTEDCsDuHE7PBXtsni VNjNBg7qR7Vdg+94i7EO5V0Ne42isHSUjTECbuevYnkFQwk9fyYpA+cUKQyt8jWxgy2Q/k2ba4z4 qaaVxm0OsRspdvcxxHCay/3CLs4JEVQVZZTNmEKZJna6b8pktdw2GWVyppiKwUnh9GV8122Qy6al 4VH8jdoHJSakCeAOfmh+FoG1sN3XnWO8fgzZrbsa79VajtLfQ90j90wGszoGuI6Umfeu5m03k9zn vNEX29CrncUsy96zFZTeiOgQnn07mIzPAY6wleLn+Abfl8tv14vRMF6r71s9 --0000000000001a04ae05e4c5f414--