From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10080.outbound.protection.outlook.com [40.107.1.80]) by dpdk.org (Postfix) with ESMTP id F1FFE160 for ; Mon, 15 Oct 2018 11:51:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iao7PeB6kdbJwtGYs2N/uQeBLfmTX5uNoxx7vvZPEgY=; b=JaBB5T4nNx6ZzQOqdo4/uaVvY8LjpKaUKhDeLUlUvIbmN35R/e4x1H9HRpLXjQlBO5/tLY6n3MhhGkJFLNagcR/RMgw0BHvrKbBhqS1oqWsCaViE8jd3sGQUYeanG1knssbs74Wi5N86/nCrjKc5M5bGDK2kJ3bMsU7NXAsU4Ys= Received: from DB7PR08MB3385.eurprd08.prod.outlook.com (20.176.238.90) by DB7PR08MB3513.eurprd08.prod.outlook.com (20.177.120.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1228.21; Mon, 15 Oct 2018 09:51:52 +0000 Received: from DB7PR08MB3385.eurprd08.prod.outlook.com ([fe80::eda0:7bf6:a891:3ae7]) by DB7PR08MB3385.eurprd08.prod.outlook.com ([fe80::eda0:7bf6:a891:3ae7%6]) with mapi id 15.20.1228.027; Mon, 15 Oct 2018 09:51:52 +0000 From: "Phil Yang (Arm Technology China)" To: Ferruh Yigit , "dev@dpdk.org" CC: nd , "anatoly.burakov@intel.com" Thread-Topic: [PATCH] app/testpmd: fix vdev socket initialization Thread-Index: AQHUYk7onPQQoxP/dUGMeo+fpqdHf6UgCbgg Date: Mon, 15 Oct 2018 09:51:52 +0000 Message-ID: References: <1539336895-22691-1-git-send-email-phil.yang@arm.com> <4b4aeed5-ba6e-8df3-386c-191b05a73586@intel.com> In-Reply-To: <4b4aeed5-ba6e-8df3-386c-191b05a73586@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB7PR08MB3513; 6:hittCmR3BVOJCau3VcFF3CAJeHswxBYTMASMINInp+lAo9ev7zGWtW9SDnZokY2lSYaDpUb+rCLMquCWvS4SN+M5+JcqhwpkcVveiHv3Ln55cwAAgWzvtQSDlURp+InHeq0uUPTni+zX6IjgB2UfcGg8yVcG+bcTji0q+r6AZ/nHpH7NvNq0pBX7f+xqYENcJD3IfPHyPVjG0u++U6u/JHvkHld/A+ScqX/i3IECI0U2C2xf06s5IfCX9pp3ybytF9Rhh+42LG8fUI9ERxixwBfFTmHrnR1eU7gXwfTTg1JCLRtAWngSmo7qy3H4io48koEK+HVZjuK2WNycyHbgTQx+ww+Qjq924RsN6GpUB4jBPBwQpvLVeRD+kzn2+z7LW5C0oOXfTxP1GmUkKMSn41g7bIRFWuKrV0Mi90O/FjY0vg6MG/Hdm5H23bi3Gk52fhsHlR9P/ru7wXB0lOZeSg==; 5:7aMCleRZkDA3gArT+UgAEe0xwTUWZMl0nAMpcBcn1KRKBwIBR2qL6SyLTM3pcBtYoKkJf4djyKiC8Qbkgo98AsAE1vS0ID9gGeyE0SXjKyaXu6aotrdvUew+ly0QzU8prZFfBoZxvMlppzAYN7XlL42hvKDfQ2MKjCuOOM2QGV0=; 7:7ga1ugIyLwK84F/fDe2ilSdT1FSpqCIUOicY/IqsfZfTgAL2GXLMPyzhabuO2+BgQlnOmz7Nn2wzbnLDHeV75jFVaEv83GhpCc4V9obtLmqQ9DG2xvo6gVCLfq8cwUdP2h6RB+Ev9WrNg9aqVLzBtHFe2XEWbvFBYni0JQiZYfDglyp2bXtYZ0l4Ygvw/k7EP6SqjeOYFFTAyfqS0zzwlHv0g6gnJNrA21uOlcdmPbGd5KPR3jn8wLN/HDwI9kfC x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 7ee0aebc-2433-46b2-6302-08d63283d583 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB7PR08MB3513; x-ms-traffictypediagnostic: DB7PR08MB3513: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Phil.Yang@arm.com; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699)(180628864354917); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991067); SRVR:DB7PR08MB3513; BCL:0; PCL:0; RULEID:; SRVR:DB7PR08MB3513; x-forefront-prvs: 0826B2F01B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(346002)(39860400002)(396003)(136003)(199004)(189003)(51234002)(13464003)(52314003)(110136005)(229853002)(5660300001)(2906002)(486006)(5250100002)(6116002)(7736002)(3846002)(86362001)(2501003)(186003)(316002)(305945005)(68736007)(446003)(8936002)(54906003)(33656002)(81166006)(476003)(8676002)(11346002)(106356001)(26005)(81156014)(105586002)(102836004)(2900100001)(7696005)(66066001)(72206003)(25786009)(6506007)(55236004)(478600001)(97736004)(53546011)(99286004)(9686003)(4326008)(71200400001)(55016002)(74316002)(256004)(14444005)(71190400001)(76176011)(14454004)(53936002)(5024004)(6436002)(6246003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR08MB3513; H:DB7PR08MB3385.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: E552lrw7VPRtV5UP+y2kdSP9Cg+WnLPA5mdmS/qH8RVPINAhYy4RUOQ0GBXnQD1nGgQU6MHS3aOb9eDvYSaTzf1l+Bz3UPxX/tqy/M/oM1FM3HS98w3X+WPVffvpVubPTko6VxfIiuYW/zA5dzGV9cuenIkRFJzuj1m9JdWDxD6kMbm+nxxVmJjDa1q0oSdqGwus+/WyRrQmF8hLYMNQOJZJiji/MffzDS/lUXGNWJ2DMSWh8WSeVBnXwVkJdfz6E8oT0IkJdUGZHgG8W2qlpGo0VpiSojC2lil0wum5wiz63Yep4ZKikD0ZlPmc75pQkpIyNuFxUQljCrhGu9N0ga1qdK4f49GW9pVkHwwbp3g= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ee0aebc-2433-46b2-6302-08d63283d583 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Oct 2018 09:51:52.2825 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3513 Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix vdev socket initialization 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: , X-List-Received-Date: Mon, 15 Oct 2018 09:51:54 -0000 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1 aC55aWdpdEBpbnRlbC5jb20+DQo+IFNlbnQ6IFNhdHVyZGF5LCBPY3RvYmVyIDEzLCAyMDE4IDE6 MTMgQU0NCj4gVG86IFBoaWwgWWFuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxQaGlsLllhbmdA YXJtLmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogbmQgPG5kQGFybS5jb20+OyBhbmF0b2x5LmJ1 cmFrb3ZAaW50ZWwuY29tDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGFwcC90ZXN0cG1kOiBmaXgg dmRldiBzb2NrZXQgaW5pdGlhbGl6YXRpb24NCj4gDQo+IE9uIDEwLzEyLzIwMTggMTA6MzQgQU0s IHBoaWwueWFuZ0Bhcm0uY29tIHdyb3RlOg0KPiA+IFRoZSBjbWRsaW5lIHNldHRpbmdzIG9mIHBv cnQtbnVtYS1jb25maWcgYW5kIHJ4cmluZy1udW1hLWNvbmZpZyBoYXZlDQo+ID4gYmVlbiBmbHVz aGVkIGJ5IHRoZSBmb2xsb3dpbmcgaW5pdF9jb25maWcuIElmIHdlIGRvbid0IGNvbmZpZ3VyZSB0 aGUNCj4gPiBwb3J0LW51bWEtY29uZmlnLCB0aGUgdmlydHVhbCBkZXZpY2Ugd2lsbCBhbGxvY2F0 ZSB0aGUgZGV2aWNlIHBvcnRzIHRvDQo+ID4gc29ja2V0IDAuIEl0IHdpbGwgY2F1c2UgZmFpbHVy ZSB3aGVuIHRoZSBzb2NrZXQgMCBpcyB1bmF2YWlsYWJsZS4NCj4gPg0KPiA+IGVnOg0KPiA+IHRl c3RwbWQgLWwgPGNvcmVzIGZyb20gc29ja2V0IDE+IC0tdmRldiBuZXRfcGNhcDAsaWZhY2U9bG8N Cj4gPiAtLXNvY2tldC1tZW09NjQgLS0gLS1udW1hIC0tcG9ydC1udW1hLWNvbmZpZz0iKDAsMSki DQo+ID4gLS1yaW5nLW51bWEtY29uZmlnPSIoMCwxLDEpLCgwLDIsMSkiIC1pDQo+ID4NCj4gPiAu Li4NCj4gPiBDb25maWd1cmluZyBQb3J0IDAgKHNvY2tldCAwKQ0KPiA+IEZhaWxlZCB0byBzZXR1 cCBSWCBxdWV1ZTpObyBtZW1wb29sIGFsbG9jYXRpb24gb24gdGhlIHNvY2tldCAwDQo+ID4gRUFM OiBFcnJvciAtIGV4aXRpbmcgd2l0aCBjb2RlOiAxDQo+ID4gICBDYXVzZTogU3RhcnQgcG9ydHMg ZmFpbGVkDQo+ID4NCj4gPiBGaXggYnkgYWxsb2NhdGUgdGhlIGRldmljZXMgcG9ydCB0byB0aGUg Zmlyc3QgYXZhaWxhYmxlIHNvY2tldCBvciB0aGUNCj4gPiBzb2NrZXQgY29uZmlndXJlZCBpbiBw b3J0LW51bWEtY29uZmlnLg0KPiANCj4gSSBjb25maXJtIHRoaXMgZml4ZXMgdGhlIGlzc3VlLCBi eSBtYWtpbmcgdmRldiB0byBhbGxvY2F0ZSBmcm9tIGF2YWlsYWJsZSBzb2NrZXQNCj4gaW5zdGVh ZCBvZiBoYXJkY29kZWQgc29ja2V0IDAsIG92ZXJhbGwgdGhpcyBtYWtlIHNlbnNlLg0KPiANCj4g QnV0IGN1cnJlbnRseSB0aGVyZSBpcyBubyB3YXkgdG8gcmVxdWVzdCBtZW1wb29sIGZvcm0gInNv Y2tldCAwIiBpZiBvbmx5IGNvcmVzDQo+IGZyb20gInNvY2tldCAxIiBwcm92aWRlZCBpbiAiLWwi LCBldmVuIHdpdGggInBvcnQtbnVtYS1jb25maWciIGFuZCAicnhyaW5nLQ0KPiBudW1hLWNvbmZp ZyIuDQo+IEJvdGggdGhpcyBiZWhhdmlvciBhbmQgdGhlIHByb2JsZW0gdGhpcyBwYXRjaCBmaXhl cyBjYXVzZWQgYnkgcGF0Y2g6DQo+IENvbW1pdCBkYmZiOGVjNzA5NGMgKCJhcHAvdGVzdHBtZDog b3B0aW1pemUgbWJ1ZiBwb29sIGFsbG9jYXRpb24iKQ0KPiANCj4gSXQgaXMgZ29vZCB0byBoYXZl IG9wdGltaXplZCBtZW1wb29sIGFsbG9jYXRpb24gYnV0IEkgdGhpbmsgdGhpcyBzaG91bGRuJ3Qg bGltaXQNCj4gdGhlIHRvb2wuIElmIHVzZXIgd2FudHMgbWVtcG9vbHMgZnJvbSBzcGVjaWZpYyBz b2NrZXQsIGxldCBpdCBoYXZlLg0KPiANCj4gV2hhdCBhYm91dCBjaGFuZ2luZyB0aGUgZGVmYXVs dCBiZWhhdmlvciB0bzoNCj4gMS0gQWxsb2NhdGUgbWVtcG9vbCBvbmx5IGZyb20gc29ja2V0IHRo YXQgY29yZW1hc2sgcHJvdmlkZWQgKGN1cnJlbnQNCj4gYXBwcm9hY2gpDQo+IDItIFBsdXMsIGFs bG9jYXRlIG1lbXBvb2wgZnJvbSBzb2NrZXRzIG9mIGF0dGFjaGVkIGRldmljZXMgKHRoaXMgaXMg YWx0ZXJuYXRpdmUNCj4gc29sdXRpb24gdG8gdGhpcyBwYXRjaCwgeW91ciBzb2x1dGlvbiBzZWVt cyBiZXR0ZXIgZm9yIHZpcnR1YWwgZGV2aWNlcyBidXQgZm9yDQo+IHBoeXNpY2FsIGRldmljZXMg YWxsb2NhdGluZyBmcm9tIHNvY2tldCBpdCBjb25uZWN0cyBjYW4gYmUgYmV0dGVyKQ0KPiAzLSBQ bHVzLCBhbGxvY2F0ZSBtZW1wb29sIGZyb20gc29ja2V0cyBwcm92aWRlZCBpbiAicG9ydC1udW1h LWNvbmZpZyIgYW5kDQo+ICJyeHJpbmctbnVtYS1jb25maWciDQo+IA0KPiBXaGF0IGRvIHlvdSB0 aGluaz8NCg0KSGkgRmVycnVoLA0KDQpUb3RhbGx5IGFncmVlZCB3aXRoIHlvdXIgc3VnZ2VzdGlv bi4gDQoNCkFzIEkgdW5kZXJzdGFuZCwgYWxsb2NhdGluZyBtZW1wb29sIGZyb20gc29ja2V0cyBv ZiBhdHRhY2hlZCBkZXZpY2VzIHdpbGwgZW5hYmxlIHRoZSBjcm9zcyBOVU1BIHNjZW5hcmlvIGZv ciBUZXN0cG1kLiANCg0KQmVsb3cgaXMgbXkgZml4IGZvciBwaHlzaWMgcG9ydCBtZW1wb29sIGFs bG9jYXRlIGlzc3VlLiBTbywgaXMgaXQgYmV0dGVyIHRvIHNlcGFyYXRlIGl0IGludG8gYSBuZXcg cGF0Y2ggb24gdGhlIHRvcCBvZiB0aGlzIG9uZSBvciByZXdvcmsgdGhpcyBvbmUgYnkgYWRkaW5n IGJlbG93IGZpeD8gSSBwcmVmZXIgdG8gYWRkIGEgbmV3IG9uZSBiZWNhdXNlIHRoZSBjdXJyZW50 IHBhdGNoIGhhcyBhbHJlYWR5IGZpeGVkIHR3byBkZWZlY3RzLiBBbnl3YXksIEkgd2lsbCBmb2xs b3cgeW91ciBjb21tZW50Lg0KDQogICA1NjUgc3RhdGljIHZvaWQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgNTY2IHNldF9kZWZhdWx0 X2Z3ZF9wb3J0c19jb25maWcodm9pZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAN CiAgIDU2NyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgDQogICA1Njgg4oC6ICAgcG9ydGlkX3QgcHRfaWQ7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICA1Njkg4oC6ICAgaW50 IGkgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgDQogICA1NzAgDQogICA1NzEg4oC6ICAgUlRFX0VUSF9GT1JFQUNIX0RFVihwdF9pZCkgeyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICA1NzIg4oC6ICAg4oC6ICAgZndk X3BvcnRzX2lkc1tpKytdID0gcHRfaWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAN CiAgIDU3MyANCisgIDU3NCDigLogICDigLogICAvKiBVcGRhdGUgc29ja2V0cyBpbmZvIGFjY29y ZGluZyB0byB0aGUgYXR0YWNoZWQgZGV2aWNlICovICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKyAgNTc1IOKAuiAgIOKAuiAgIGludCBz b2NrZXRfaWQgPSBydGVfZXRoX2Rldl9zb2NrZXRfaWQocHRfaWQpOw0KKyAgNTc2IOKAuiAgIOKA uiAgIGlmIChzb2NrZXRfaWQgPj0gMCAmJiBuZXdfc29ja2V0X2lkKHB0X2lkKSkgeyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgDQorICA1Nzcg4oC6ICAg4oC6ICAg4oC6ICAgaWYgKG51bV9zb2NrZXRzID49IFJURV9N QVhfTlVNQV9OT0RFUykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKyAgNTc4IOKAuiAgIOKAuiAgIOKAuiAg IOKAuiAgIHJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IA0KKyAgNTc5IOKAuiAgIOKAuiAgIOKAuiAgIOKAuiAgIOKAuiAgICAiVG90YWwgc29ja2V0cyBn cmVhdGVyIHRoYW4gJXVcbiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorICA1ODAg4oC6ICAg4oC6ICAg4oC6ICAg 4oC6ICAg4oC6ICAgIFJURV9NQVhfTlVNQV9OT0RFUyk7DQorICA1ODEg4oC6ICAg4oC6ICAg4oC6 ICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IA0KKyAgNTgyIOKAuiAgIOKAuiAgIOKAuiAgIHNvY2tldF9pZHNbbnVtX3NvY2tldHMrK10gPSBz b2NrZXRfaWQ7DQorICA1ODMg4oC6ICAg4oC6ICAgfQ0KKyAgNTg0IOKAuiAgIH0NCisgIDU4NSAN CiAgIDU4NiDigLogICBuYl9jZmdfcG9ydHMgPSBuYl9wb3J0czsNCiAgIDU4NyDigLogICBuYl9m d2RfcG9ydHMgPSBuYl9wb3J0czsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICANCiAgIDU4OCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQpUaGFua3MNClBo aWwgWWFuZw0KDQo+IA0KPiANCj4gPg0KPiA+IEZpeGVzOiA0ODdmOWE1ICgiYXBwL3Rlc3RwbWQ6 IGZpeCBOVU1BIHN0cnVjdHVyZXMgaW5pdGlhbGl6YXRpb24iKQ0KPiA+DQo+ID4gU2lnbmVkLW9m Zi1ieTogUGhpbCBZYW5nIDxwaGlsLnlhbmdAYXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogR2F2 aW4gSHUgPEdhdmluLkh1QGFybS5jb20+DQo+IA0KPiA8Li4uPg0K