From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 01C92A00BE; Tue, 29 Oct 2019 18:25:53 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C18C81BF69; Tue, 29 Oct 2019 18:25:52 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id EBE2D1BF53 for ; Tue, 29 Oct 2019 18:25:51 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x9THJgBD024876; Tue, 29 Oct 2019 10:25:51 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=DDdPJhnRTn6T1QU8yk5PAsSeZ1PxE5LAimZPjSRnUUQ=; b=NMpn+cofOQayLib3SUls/lkUOYiYhIytI6IscINCJbBYZbGphikFDWNUQdc2xU5CxT/v bkJl490yTtqk9EzEm4tGVEQx/bgCyyaxZOpWdP2Fdr+8PKGJAO12AHtYJPXVBVmwRNOy c22PiwSNMCYXVWb/i8jCWnvECruBKxmsJHE3GOOxojFaxtbFJQEICW63kKQ66LX4j1dF ghHbFZQD1tXnbMVxIX4fWAx3+hal8iPybCTQ+pptFLhZFniNuUxD232pDrfXUssGEy8l d23OQEHmVDKimMmuQElH1thSHQbAW8dBwj2gr3zBaTvgtC8pwJ6ejCANpeQPhChMBNmH SA== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0b-0016f401.pphosted.com with ESMTP id 2vvnnp2en3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 29 Oct 2019 10:25:51 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 29 Oct 2019 10:25:49 -0700 Received: from NAM05-CO1-obe.outbound.protection.outlook.com (104.47.48.51) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Tue, 29 Oct 2019 10:25:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LQr7pzze8AG1zRTTN87vZ2nQkzoGoME4/owhuImyQgsgQHplnX4ZQCxBSbPw1H5zbBbv79vgzviLV8/vAiYoaabr2mkaCQy8dTPTQlWMvK/tFf8OxmFYZnBajdeYWz0yXOoBmHF/eSS0KrKR217Nf5E/7YgSCfMRHJsuoYDQK4v4gvuO3cmdqNdxCxUjkFAeqn02eqZHXgCpEryvMPkJvvU0CZugcVYSyANRtTofj5+AA6rDHTi7QTG3cf+v0QJI2R+8NSQ4Q5Q2h9X2sSYUqvnlVxNVOtL8+LjJlL69PGP78mWH4NZ3jHv64mkRlWjXIvHU54EBaipLzbKUjRdIoQ== 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-SenderADCheck; bh=DDdPJhnRTn6T1QU8yk5PAsSeZ1PxE5LAimZPjSRnUUQ=; b=guKg3RybiCdhEwxEf9DjYI+gY+U4Fi2E+Yi9Lqm/cE4J39287GrDKOrbd9ZfROGXEwLe0FmgOXmbzh90C5b+m2crZWgWcNf8qsN3XivmOQenqaBNw9mdxvY+FKJn1frIPAtdZd3ns0v8av+OXULkBYOE4Lq96W/1dxfCorWuXXXiB+tgTqUsyRgRPG2A9WFV5TcYGEoxJF15dSLKkp2KwKtXbLlWmx9iEY22fIlSuNjIXfY1h86LgZu39oBRaVti+jZq429jRQvfTIqc6ap0uzGLo4tSCVG7PCUDdTuNLQaXiua9H1mdCxuuIv1rkf6ZqsExI6m1Ma2P4Vxj3H8j9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DDdPJhnRTn6T1QU8yk5PAsSeZ1PxE5LAimZPjSRnUUQ=; b=uF/0w2uOIl9PBXGFus0e2945SJNVtqp+lxOZ462rXbjdFutEAbTve6L5QSrEA3GPamJpfRTZxj7DfSyx+e3tL/E7b1fSt5e5SLEgert+Wo1vqXMiRhncNvV70xzZAZNa87g1A5OZSd6BED3FGh8oq/vxtQvXccPex73aJZOOMTQ= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (10.171.255.160) by CY4PR1801MB1909.namprd18.prod.outlook.com (10.171.252.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.17; Tue, 29 Oct 2019 17:25:46 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::d918:c54e:c3b1:3167]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::d918:c54e:c3b1:3167%7]) with mapi id 15.20.2387.027; Tue, 29 Oct 2019 17:25:46 +0000 From: Pavan Nikhilesh Bhagavatula To: Andrew Rybchenko , "ferruh.yigit@intel.com" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: "dev@dpdk.org" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD Thread-Index: AQHVjm7LgH609hVz2U+0Bosue0DmUadx1euAgAAGdUA= Date: Tue, 29 Oct 2019 17:25:46 +0000 Message-ID: References: <20191029050312.2715-1-pbhagavatula@marvell.com> <20191029153722.4547-1-pbhagavatula@marvell.com> <20191029153722.4547-4-pbhagavatula@marvell.com> <6a48d129-8d68-38d6-f5c3-6c2a0d96e3ce@solarflare.com> In-Reply-To: <6a48d129-8d68-38d6-f5c3-6c2a0d96e3ce@solarflare.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [122.171.125.115] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a995534d-d6da-4415-627f-08d75c9508f7 x-ms-traffictypediagnostic: CY4PR1801MB1909: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0205EDCD76 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(136003)(366004)(346002)(396003)(376002)(199004)(189003)(2906002)(71200400001)(71190400001)(52536014)(66476007)(14444005)(66446008)(64756008)(66556008)(6116002)(3846002)(4326008)(6436002)(55016002)(229853002)(66946007)(5660300002)(76116006)(6246003)(86362001)(9686003)(256004)(99286004)(81156014)(81166006)(8676002)(14454004)(305945005)(7736002)(6506007)(316002)(74316002)(76176011)(186003)(26005)(25786009)(110136005)(7696005)(486006)(66066001)(446003)(11346002)(476003)(8936002)(33656002)(2501003)(102836004)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1801MB1909; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rlY3UCeMp5DHyTgSJ4bQnvgnJURAP+Xwjsp5mUjPYrBcX7hyecGf/kV94bkENaEif+fQ3SoPggc73ZzBTTkSDClnwZtpmA+YD2DbmBXW4lh/Q/HynGkM+QkSkR1a9nd5OidPyzOaz8GekVIl0xQizazniq/9mzTuPfU+xOK0QmXI5wUK4jfujPu74/iOEAklLl3eVg/wIdhXt4SrEpwhqyvmSMRWtWfeZb/3cijWrx4SfYEXQMfPd3SmzMiJeLuWkSqz1L1uOzUjgDSAZq3lK5WbTrgRdB/vd6M5KynM1XqfoQ00DU7agXr5Xni8bOUEptgnzqfUG0BTBRsFyJ62wSc51w9tq/0Mmj0G3ToKjammIW7YUpS2mrTgw7mPofxAL24i+PLuTIlVAmGsirc1OYN+YHP5lQhagXj3IfJa/zOaeew+0QMwXCNCJAV6FQPw Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: a995534d-d6da-4415-627f-08d75c9508f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2019 17:25:46.4528 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QXmbXgVM/IeKGH3xLe2AO4L7mvXprQm8I7E2dH16kszDWWChDAuyUsem+CWBkLR26JDKBKFZgPJSvk+fWU4byMms1LvgYllAQTj2DcBOK7s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1909 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-10-29_05:2019-10-28,2019-10-29 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v15 3/7] ethdev: add validation to offloads set by PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Pj5saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMgfCA1OSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrDQo+PiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKQ0KPj4N Cj4+ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYyBiL2xpYi9saWJy dGVfZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPj5pbmRleCAzZjQ1YjllOWMuLjhjNThkYTkxYyAxMDA2 NDQNCj4+LS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jDQo+PisrKyBiL2xpYi9s aWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPj5AQCAtMTEzNSw2ICsxMTM1LDQxIEBAIHJ0ZV9l dGhfZGV2X3R4X29mZmxvYWRfbmFtZSh1aW50NjRfdCBvZmZsb2FkKQ0KPj4gCXJldHVybiBuYW1l Ow0KPj4gfQ0KPj4NCj4+K3N0YXRpYyBpbnQNCj4+K19ydGVfZXRoX2Rldl92YWxpZGF0ZV9vZmZs b2Fkcyh1aW50MTZfdCBwb3J0X2lkLCB1aW50NjRfdCByZXFfb2ZmbG9hZHMsDQo+DQo+SSdtIG5v dCBzdXJlIGFib3V0IHVuZGVyc2NvcmUgaW4gZnVuY3Rpb24gbmFtZS4gTWF5IGJlIFRob21hcyBv cg0KPkZlcnJ1aCBjYW4gY29tbWVudC4NCj4NCj4NCj4+KwkJCSAgICAgICB1aW50NjRfdCBzZXRf b2ZmbG9hZHMsDQo+PisJCQkgICAgICAgY29uc3QgY2hhciAqKCpmKSh1aW50NjRfdCkpDQo+Pit7 DQo+PisJdWludDY0X3Qgb2ZmbG9hZHNfZGlmZiA9IHJlcV9vZmZsb2FkcyBeIHNldF9vZmZsb2Fk czsNCj4+Kwl1aW50NjRfdCBvZmZsb2Fkc19yZXFfZGlmZiwgb2ZmbG9hZHNfc2V0X2RpZmY7DQo+ PisJdWludDY0X3Qgb2ZmbG9hZDsNCj4+Kwl1aW50OF90IGVyciA9IDA7DQo+PisNCj4+KwkvKiBD aGVjayBpZiBhbnkgb2ZmbG9hZCBpcyBhZHZlcnRpc2VkIGJ1dCBub3QgZW5hYmxlZC4gKi8NCj4+ KwlvZmZsb2Fkc19yZXFfZGlmZiA9IG9mZmxvYWRzX2RpZmYgJiByZXFfb2ZmbG9hZHM7DQo+PisJ d2hpbGUgKG9mZmxvYWRzX3JlcV9kaWZmKSB7DQo+PisJCW9mZmxvYWQgPSAxVUxMIDw8IF9fYnVp bHRpbl9jdHpsbChvZmZsb2Fkc19yZXFfZGlmZik7DQo+PisJCW9mZmxvYWRzX3JlcV9kaWZmICY9 IH5vZmZsb2FkOw0KPj4rCQlSVEVfRVRIREVWX0xPRyhFUlIsICJQb3J0ICV1IGZhaWxlZCB0byBl bmFibGUgJXMgb2ZmbG9hZCIsDQo+Pg0KPk9mZmxvYWQgbmFtZSBkb2VzIG5vdCBpbmNsdWRlIFJ4 L1R4LCBzbyBJUFY0X0NLU1VNIGlzIGlkZW50aWNhbA0KPmFuZCBpdCBpcyByZXF1aXJlZCB0byBs b2cgaWYgaXQgaXMgUnggb3IgVHggb2ZmbG9hZCBzZXBhcmF0ZWx5Lg0KPlNvdW5kcyBsaWtlIG9u ZSBtb3JlIHBhcmFtZXRlci4NCj4NCg0KWWVzLCBJIGd1ZXNzIHdlIGNhbiBwYXNzICJSWCIvIlR4 IiBhcyBhbm90aGVyIHBhcmFtZXRlci4NCg0KPg0KPj4rCQkJICAgICAgIHBvcnRfaWQsIGYob2Zm bG9hZCkpOw0KPj4rCQllcnIgPSAxOw0KPj4rCX0NCj4+Kw0KPj4rCWlmIChlcnIpDQo+PisJCXJl dHVybiAtRUlOVkFMOw0KPj4rDQo+PisJLyogQ2hlY2ggaWYgYW55IG9mZmxvYWQgY291bGRuJ3Qg YmUgZGlzYWJsZWQuICovDQo+PisJb2ZmbG9hZHNfc2V0X2RpZmYgPSBvZmZsb2Fkc19kaWZmICYg c2V0X29mZmxvYWRzOw0KPj4rCXdoaWxlIChvZmZsb2Fkc19zZXRfZGlmZikgew0KPj4rCQlvZmZs b2FkID0gMVVMTCA8PCBfX2J1aWx0aW5fY3R6bGwob2ZmbG9hZHNfc2V0X2RpZmYpOw0KPj4rCQlv ZmZsb2Fkc19zZXRfZGlmZiAmPSB+b2ZmbG9hZDsNCj4+KwkJUlRFX0VUSERFVl9MT0coSU5GTywg IlBvcnQgJXUgZmFpbGVkIHRvIGRpc2FibGUgJXMgb2ZmbG9hZCIsDQo+PisJCQkgICAgICAgcG9y dF9pZCwgZihvZmZsb2FkKSk7DQo+PisJfQ0KPj4NCj5Db25zaWRlciB0byBkbyBpdCBpbiBvbmUg bG9vcCwgc29tZXRoaW5nIGxpa2U6DQo+ICAgICAgICBpbnQgcmMgPSAwOyAgICAgICAgIA0KPiAg ICAgICAgd2hpbGUgKG9mZmxvYWRzX2RpZmYgIT0gMCkgew0KPgkJb2ZmbG9hZCA9IDFVTEwgPDwg X19idWlsdGluX2N0emxsKG9mZmxvYWRzX2RpZmYpOw0KPgkJb2ZmbG9hZHNfZGlmZiAmPSB+b2Zm bG9hZDsNCj4gICAgICAgICAgICAgICAgaWYgKG9mZmxvYWQgJiByZXFfb2ZmbG9hZCkgew0KPiAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9FVEhERVZfTE9HKElORk8sDQo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiUG9ydCAldSBmYWlsZWQgdG8gZW5hYmxlICVzICVzIG9mZmxv YWQiLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydF9pZCwgZihvZmZsb2Fk KSwgcnh0eCk7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgcmMgPSAtRUlOVkFMOw0KPiAgICAg ICAgICAgICAgICB9IGVsc2Ugew0KPiAgICAgICAgICAgICAgICAgICAgICAgIFJURV9FVEhERVZf TE9HKElORk8sDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUG9ydCAldSBmYWls ZWQgdG8gZGlzYWJsZSAlcyAlcyBvZmZsb2FkIiwNCj4JICAgIAkJICAgICAgICBwb3J0X2lkLCBm KG9mZmxvYWQpLCByeHR4KTsNCj4gICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgfQ0KPiAgICAg ICAgDQo+ICAgICAgICByZXR1cm4gcmM7DQo+DQoNCldlIGNvdWxkIG1lcmdlIHRoZSBsb29wcyBJ IHRob3VnaCB0aGF0IHRoZSBkaWZmZXJlbnRpYXRpbmcgdGhlbSB3b3VsZCANCmJlIGluZm9ybWF0 aXZlLiBObyBzdHJvbmcgb3BpbmlvbnMgd2UgY291bGQgbWVyZ2UgdGhlbSBpbiB2MTYuDQoNCj5C VFcsIEknbSBub3Qgc3VyZSB0aGF0IC1FSU5WQUwgaXMgZ29vZCBoZXJlLCBidXQgcmlnaHQgbm93 DQo+Y2FuJ3Qgc3VnZ2VzdCBhbnl0aGluZyBiZXR0ZXIuDQo+DQo+DQo+PisNCj4+KwlyZXR1cm4g MDsNCj4+K30NCj4+Kw0KPj4gaW50DQo+PiBydGVfZXRoX2Rldl9jb25maWd1cmUodWludDE2X3Qg cG9ydF9pZCwgdWludDE2X3QgbmJfcnhfcSwgdWludDE2X3QgbmJfdHhfcSwNCj4+IAkJICAgICAg Y29uc3Qgc3RydWN0IHJ0ZV9ldGhfY29uZiAqZGV2X2NvbmYpDQo+PkBAIC0xMzU4LDYgKzEzOTMs MzAgQEAgcnRlX2V0aF9kZXZfY29uZmlndXJlKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90IG5i X3J4X3EsIHVpbnQxNl90IG5iX3R4X3EsDQo+PiAJCWdvdG8gcm9sbGJhY2s7DQo+PiAJfQ0KPj4N Cj4+KwkvKiBWYWxpZGF0ZSBSeCBvZmZsb2Fkcy4gKi8NCj4+KwlkaWFnID0gX3J0ZV9ldGhfZGV2 X3ZhbGlkYXRlX29mZmxvYWRzKHBvcnRfaWQsDQo+PisJCQlkZXZfY29uZi0+cnhtb2RlLm9mZmxv YWRzLA0KPj4rCQkJZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMsDQo+PisJCQly dGVfZXRoX2Rldl9yeF9vZmZsb2FkX25hbWUpOw0KPj4rCWlmIChkaWFnICE9IDApIHsNCj4+KwkJ cnRlX2V0aF9kZXZfcnhfcXVldWVfY29uZmlnKGRldiwgMCk7DQo+PisJCXJ0ZV9ldGhfZGV2X3R4 X3F1ZXVlX2NvbmZpZyhkZXYsIDApOw0KPg0KPk1heSBiZSBpdCBpcyBhIGdvb2QgbW9tZW50IHRv IG1ha2Ugb25lIG1vcmUgcm9sbGJhY2sNCj5sYWJlbCB3aXRoIHF1ZXVlcyByZWxlYXNlIGFuZCBh dm9pZCBkdXBsaWNhdGluZyBpdC4NCj4NCg0KWWVhaCB3ZSBjb3VsZCBwdXQgdGhlbSB1bmRlciBh IG5ldyBsYWJlbC4NCg0KPg0KPj4rCQlyZXQgPSBkaWFnOw0KPj4rCQlnb3RvIHJvbGxiYWNrOw0K Pj4rCX0NCj4+Kw0KPj4rCS8qIFZhbGlkYXRlIFR4IG9mZmxvYWRzLiAqLw0KPj4rCWRpYWcgPSBf cnRlX2V0aF9kZXZfdmFsaWRhdGVfb2ZmbG9hZHMocG9ydF9pZCwNCj4+KwkJCWRldl9jb25mLT50 eG1vZGUub2ZmbG9hZHMsDQo+PisJCQlkZXYtPmRhdGEtPmRldl9jb25mLnR4bW9kZS5vZmZsb2Fk cywNCj4+KwkJCXJ0ZV9ldGhfZGV2X3R4X29mZmxvYWRfbmFtZSk7DQo+PisJaWYgKGRpYWcgIT0g MCkgew0KPj4rCQlydGVfZXRoX2Rldl9yeF9xdWV1ZV9jb25maWcoZGV2LCAwKTsNCj4+KwkJcnRl X2V0aF9kZXZfdHhfcXVldWVfY29uZmlnKGRldiwgMCk7DQo+PisJCXJldCA9IGRpYWc7DQo+PisJ CWdvdG8gcm9sbGJhY2s7DQo+PisJfQ0KPj4rDQo+PiAJcmV0dXJuIDA7DQo+Pg0KPj4gcm9sbGJh Y2s6DQo+Pi0tDQo+PjIuMTcuMQ0K