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 387EEA0C45; Thu, 28 Oct 2021 08:05:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BDEBF4067B; Thu, 28 Oct 2021 08:05:50 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id ECCDB4003F for ; Thu, 28 Oct 2021 08:05:48 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10150"; a="316535975" X-IronPort-AV: E=Sophos;i="5.87,188,1631602800"; d="scan'208";a="316535975" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2021 23:05:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,188,1631602800"; d="scan'208";a="573586681" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by FMSMGA003.fm.intel.com with ESMTP; 27 Oct 2021 23:05:48 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 27 Oct 2021 23:05:47 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 27 Oct 2021 23:05:47 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.44) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 27 Oct 2021 23:05:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DE51JwXk5Pce1LUpWslMtMHAkY9JHJ+82oux9xsvlA/lXg55sb+elro6LFYS98M+zO9+KWe4KEcFMDeUURt9lerlfW56ZA9tFWxkoXBxPLodpyyoJrJUiWET6taF/3rDwkSlNpmany2wEiUAW3lxEsuwkojZEqoOvj2cKg6zgIMM+h6vhXB0K6S7JWUqY9HAqnob/UnnRQ5EspuW3Gm2vdNpk4n/jzyRMTDwuoX0aqKMHe9wLFkNTGtHs3k2MJ2fd+sxsdEXbbpLJR4X1mB3gMIPr+Pz6Z9qyBjDhUDQ45mKL3IhQh/VDTYx5wkCdl4jOoMQ/yLglx/jVITUNsUDQg== 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=22VWdrQ3XpT2R24elRdRUkizmIFrGr0wFHwMqhdLrOQ=; b=csyUeK4yv0CGlGjR9NplNnsVEy0gNqG9Boxla0HNXAH8EgK0k9eLuJlfqE+cBZoebJQcuxM1dsHAU3knJ3AXLCqN9MTFSt7xB6j0sOJrAofga9LlgOk03hcDj60dttP3flgvon31oxxvkkMGvzk9CDp9i8+P2FegdhQoD311TG89M/LwVlAlKDgsiTRuMehxBayCQwle/FIKWvc5XRGORIbNpa3tU77ArSf+A1bGjP9ZAFkaiDpn9XghZaWUTUGBG2xDWUdN0CNCuEhw91B9zdO+jJnlAZyccRSwgJHQyqO2XegyAJLvLMIDEyaxE1HvYuw7A5CKyW3ronbVrWWFhg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=22VWdrQ3XpT2R24elRdRUkizmIFrGr0wFHwMqhdLrOQ=; b=NARt50Hmo/1JI47Hz9bmdtn2l4Kph2Ej/NJnP5h3222d4ptPOyL2y3T+vW+W4MlPLZ+p5iIDsV4Z+N9DJmrItkHdx6r6A6N3FJFKiuTG7mr4s7Faw6LFMZIE4rl8YKIxWfk11MFrn3MTp0gdbKFauobeKq1OAi4f+MLTzWW8Bmk= Received: from BN9PR11MB5513.namprd11.prod.outlook.com (2603:10b6:408:102::11) by BN6PR11MB3971.namprd11.prod.outlook.com (2603:10b6:405:7d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Thu, 28 Oct 2021 06:05:45 +0000 Received: from BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::2d2f:59c2:c16d:fe6b]) by BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::2d2f:59c2:c16d:fe6b%7]) with mapi id 15.20.4649.015; Thu, 28 Oct 2021 06:05:45 +0000 From: "Ding, Xuan" To: David Marchand , "Burakov, Anatoly" CC: dev , Maxime Coquelin Thread-Topic: [dpdk-dev] [PATCH v1 1/1] vfio: fix partial unmap check Thread-Index: AQHXym0lT9yp3V4m1EakT2UwJaI2Zqvm7rmAgAD+mIA= Date: Thu, 28 Oct 2021 06:05:45 +0000 Message-ID: References: <8079312ba39435a0ac92e084cc1a3fe291008a47.1635254797.git.anatoly.burakov@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cd3d06e2-703c-493d-ee88-08d999d8faf5 x-ms-traffictypediagnostic: BN6PR11MB3971: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wuJR3VhpCpfJV4XSKcGJsDUSenOG8WrLprsuYQ6afGRszpr1fabpCUMa1/WBMzOAIsi1bZL5jKviZMHjN/hB3q+Sdp5GDfUU3d5CindVC3niuPsl5Fddg0L1kIu27ZLl1AXR+CO2EZa8k15ftSoZXZv1tFFdWVIOMQ8vfBr3K42c7psfQsCtL5Zr9mBJjohan/Z7G1Ahwcwe+lwW0y4uRtRXKzHTMaKxriRG7jMSa6waDmMHHszPAkL3GPqO8jjrG8Jitiwvn9LiWHu3sTOFL/M1wHROz7+HKqfgOjpYeasTgzNOjcN1V2kB2mee40hcnDBmescWuknuKjtGn4Dkel9/R3vBmWl6ao7Jhcsx4/Z8E0/K+pIoLk4dz7nV/NQHifPhgs20OiVx/sQ1y5MlLwtofMnufKwM9jJ09gwPZbQtxKqN3Gmkbm6HkRKLKWXuIaRi+6VS/q5GyKdZcMvnZk5pWcio6rClKLo1DrhhQ8JvuLhMPHoXt5AYI1O8XXVNagabm9EDdcHmD7B7WMYwvertrFMMk7/3TpqVyH1uM4z2G+KEu5LBYml0u2O+D1Dnepw7JuxBvci5OHwdOigFC9Z8BEecHLP4wTUAT0lwidE3uOx67hEdfGZZ+47Vlf0oKUSsGQHHmtZnfVWGTWvV40HRjcTfeFtGo5bOG8Jci7e11HgYYaNhgsEsLDx3FLZO4VrrefIaGYr37wrTOM1pwQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5513.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(83380400001)(86362001)(122000001)(76116006)(71200400001)(33656002)(82960400001)(4326008)(38100700002)(54906003)(508600001)(110136005)(8676002)(55016002)(66946007)(26005)(66556008)(64756008)(2906002)(66476007)(7696005)(5660300002)(6506007)(52536014)(186003)(8936002)(6636002)(66446008)(9686003)(38070700005)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U2JmZmJNSGtVSE82dnBGQnY4MFRMZitmZjM5czNzcUkyVzhQZ3VLNjEvV25y?= =?utf-8?B?N0cyanZPTlBxTkd5Ulh4cDd4Z2VWV0ZLdWxRb0g3NDY5WTJON1JSSXM3dXRJ?= =?utf-8?B?MFkyUHduYTdtRENMUkNxUHZVSVF6bndvdCtWbTdMWUhsT2FHYlBBQittS3Vm?= =?utf-8?B?T3hkKzRjb0V6akxnNnZUUWFpTEFiQVN5SVNhSnVXVzF2dG5iZEhyeTJMN1k1?= =?utf-8?B?UDlHVnZOd1FaQklLdHpuVldOd1dHNlF6ekxhVklRYm5xMUVvNUFwb3RXRXYr?= =?utf-8?B?cWErc25aVGtPQ3RCYzNDbG94MHFURndxamxVSVhPRmllMHJSQVRmVGM3Wmkz?= =?utf-8?B?MnM4dEFjdmNXTG1jcytwdVNDSStEck9UUjUxRS9QanFmUENIS2Q4L3g3aGgz?= =?utf-8?B?bnd5SHhOQlJhb0p5bWlrNmxBL0Q5S0dlc0ZyVHBVaWpLb3ZZZm5VanU4dXJp?= =?utf-8?B?TEtvQnhnRzlpSFI1eHh2L3lxWVliY3ZwZHNOM2ZSL2d6ajdTYUMvNEs3Ulkx?= =?utf-8?B?a0NMSnorWkZSTjBsS2pRRFJTVTRlYmJLOE41bDRqeUcrOEdZUmI0QnJOMnM0?= =?utf-8?B?dWlySUY5bUFNSlpwRkVkNEFQeGFVVFd0UkVwN1YwcEIzUE1sL1BnZlh3T2R5?= =?utf-8?B?aHZ3aWlnLzlXbk1vZmJOSUNZTWs2NUpuSEduYU5RaUhxdDRjaVN4aVQxSlhu?= =?utf-8?B?WUNuSXVZVVZGSTEzeXk2RkZhNUcxbVUwZGZDcnA4SWtFUDc1NXpFLy9zSnZZ?= =?utf-8?B?WldnWlZTR21ObGJmbXhXRzlZb1ZJRlpncDkvZlBJVUIvaG5zZG5xVlJkMDBI?= =?utf-8?B?Tkp6VWE4aWlPMG9uK08vOGI3TkdjcnF0MUZWdTBTT0x4YXdra1piTjE1aEFn?= =?utf-8?B?Z0tjd2J6ZDVPMUZNeGNoZHpteVlvZmIxNzc3cW9VRGxqZFhDeEhwMmpUclBj?= =?utf-8?B?RHFOaVp1dkxqZU82ZU5POU56b09EL3dMaWpZU1hQTlZST05yQlRLUlZHbFAz?= =?utf-8?B?ZlIvYnlGVVZuQzBVSzlDY0dybytacVYxOHhGSE82dTJmQmtHZE1aYTljTzNL?= =?utf-8?B?OGhzSXhXVitpcXIzemxHRVRBTzJIeVk0bzFWWW13d0IzVVNvRElHbWpVK0Uw?= =?utf-8?B?dEVQNUFmRHdadUdDNk5hU0FmSHRLdEFCQnhFcjRMZjFDYWxMWmhqSjBSelpX?= =?utf-8?B?NENEcllMcys5Z1ltN2oxUVVvdjNYdkpUZnVrS3QwWUQreVczWmRUTkFRT3F4?= =?utf-8?B?NjAzY3ZzNW9Nam5GZTgrcktTb0paY29xOVpDQVVIMVFPR2o2MVBZWllPUExp?= =?utf-8?B?V0FJOTJ3T3Q4TlBtL0Q4WTV5RGhVYkpuM3JkdVlSSjFYZkhDaHdRb21tdTVw?= =?utf-8?B?K0FUL0FpZHRtaGxIY0VjSnpNZ1RyZmltc0NiWlNFcnpvSXlKelFHZERKbk1F?= =?utf-8?B?T2lrTEhuVGptSVRrM25NUUxDdDBhZTBwanVDTzBoamtPMTdWOC9hNDJPc1hV?= =?utf-8?B?RGt3a0ZnQVppU1YzRDdwUGtMRWgrMHptMXV4eHhKSzRUSXJ2V20wTHc0TGsz?= =?utf-8?B?NE0yYWVQYksyQnc5bzljR3ZHczkvMzhwT2FKMC9ubnBzWDFlTkVGMnlKNW5j?= =?utf-8?B?bXVKY0dPa0NVSStzNEVaa0c1bFlDaStBMHZhVHFrWksxaWdNaFNKcUUrdk5Z?= =?utf-8?B?d3pveDRENmtSWG4vaCtYZ25ZOUpZdy9mZzdJREFRNUI2SHJWZEg3aUQzZDU1?= =?utf-8?B?L1BzTDFIL1pib2s4QU9KaXRiVldXQVJnMFpTdnhBOHhGYk1qd0xhMWFiTnJN?= =?utf-8?B?cEFYOWpWSlRWYXBISVZVcTdBNE1lR3ZpZ1BGUGJpYnZlYm9Nbmp2NU5qT3Ay?= =?utf-8?B?ZDI4cDZnNVNKK1UwZ0xYSEUybjlYdk03NUJmTFR3SXh5S1IrZUxGVk1pUnJF?= =?utf-8?B?Z0tOTlNCZWxtM2dkVmhmQkhEN2s3V3NOcFQ2Zzh2SDVjTWxCMHNLdDlZZ1lV?= =?utf-8?B?MmFjdVFHV1hIMEd4QktjMWZlZjRmdlNUbzRIdHRxRGlIOHlXZEg5OXY0YzQ4?= =?utf-8?B?dUVNUEpCNXZtZklaVEZoSFRFb3pPWTNrK01zYVFKWmxlZlYvdzFqbVlXc2VH?= =?utf-8?B?NEZ2dTBiN0dIQS81VkxoTitGNlpkK1grTk56cTZPelMrRmZBTHdqR0d1eWpk?= =?utf-8?Q?wXl8K2U+PsRsMyx6Jpli7wk=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5513.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd3d06e2-703c-493d-ee88-08d999d8faf5 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2021 06:05:45.1286 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1M61YsyR0SNeub9b7qbMnShDgaDioj8lh+11g5hzg6D1jzb+DRYgiJKH4FUIcPYVcmgVQBkIAeNZ6xoJqVPq0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB3971 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1 1/1] vfio: fix partial unmap check 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 Sender: "dev" SGkgRGF2aWQsDQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IERhdmlkIE1h cmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPlNlbnQ6IFdlZG5lc2RheSwgT2N0 b2JlciAyNywgMjAyMSAxMDo0OSBQTQ0KPlRvOiBCdXJha292LCBBbmF0b2x5IDxhbmF0b2x5LmJ1 cmFrb3ZAaW50ZWwuY29tPjsgRGluZywgWHVhbg0KPjx4dWFuLmRpbmdAaW50ZWwuY29tPg0KPkNj OiBkZXYgPGRldkBkcGRrLm9yZz47IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJl ZGhhdC5jb20+DQo+U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYxIDEvMV0gdmZpbzog Zml4IHBhcnRpYWwgdW5tYXAgY2hlY2sNCj4NCj5PbiBUdWUsIE9jdCAyNiwgMjAyMSBhdCAzOjMw IFBNIEFuYXRvbHkgQnVyYWtvdg0KPjxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPiB3cm90ZToN Cj4+DQo+PiBQYXJ0aWFsIHVubWFwIHN1cHBvcnQgd2FzIGludHJvZHVjZWQgaW4gY29tbWl0IGMx M2NhNGU4MWNhYywgYW5kIHdpdGggaXQNCj4+IHdhcyBhZGRlZCBhIGNoZWNrIHRoYXQgZGVyZWZl cmVuY2VkIHRoZSBJT01NVSB0eXBlIHRvIGRldGVybWluZQ0KPndoZXRoZXINCj4+IHBhcnRpYWwg dW1tYXBwaW5nIGlzIHN1cHBvcnRlZCBmb3IgY3VycmVudGx5IGNvbmZpZ3VyZWQgSU9NTVUgdHlw ZS4gSW4NCj4+IGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyAoc3VjaCBhcyB3aGVuIFZGSU8gaXMgc3Vw cG9ydGVkLCBidXQgbm8gZGV2aWNlcw0KPj4gd2VyZSBib3VuZCB0byB0aGUgVkZJTyBkcml2ZXIp LCB0aGUgSU9NTVUgdHlwZSBwb2ludGVyIGNhbiBiZSBOVUxMLg0KPj4NCj4+IEhvd2V2ZXIsIGRl cmVmZXJlbmNpbmcgb2YgSU9NTVUgdHlwZSB3YXMgZ3VhcmRlZCBieSBhY2Nlc3MgdG8gdGhlIHVz ZXINCj4+IG1hcHMgbGlzdCAtIHRoYXQgaXMsIHdlIHdlcmUgYWx3YXlzIGNoZWNraW5nIHRoZSB1 c2VyIG1hcCBsaXN0IGZpcnN0LA0KPj4gYW5kIHRoZW4sIGlmIHdlIGZvdW5kIGEgbWVtb3J5IHJl Z2lvbiB0aGF0IGVuY2xvc2VzIHRoZSBvbmUgd2UncmUgdHJ5aW5nDQo+PiB0byB1bm1hcCwgd2Ug d291bGQgaGF2ZSBwZXJmb3JtZWQgdGhlIElPTU1VIHR5cGUgY2hlY2suDQo+Pg0KPj4gVGhpcyBl bnN1cmVkIHRoYXQgdGhlIElPTU1VIHR5cGUgY2hlY2sgd2lsbCBub3QgY2F1c2UgYW55IE5VTEwg cG9pbnRlcg0KPj4gZGVyZWZlcmVuY2VzLCBiZWNhdXNlIGluIG9yZGVyIGZvciBhbiBJT01NVSB0 eXBlIGNoZWNrIHRvIGhhdmUgYmVlbg0KPj4gcGVyZm9ybWVkLCB0aGVyZSBuZWNlc3NhcmlseSBt dXN0IGhhdmUgYmVlbiBhdCBsZWFzdCBvbmUgbWVtb3J5IHJlZ2lvbg0KPj4gdGhhdCB3YXMgcHJl dmlvdXNseSBtYXBwZWQgc3VjY2Vzc2Z1bGx5LCBhbmQgdGhhdCBpbXBsaWVzIGhhdmluZyBhDQo+ PiBkZWZpbmVkIElPTU1VIHR5cGUuDQo+Pg0KPj4gV2hlbiA1NjI1OWY3ZmMwMTAgd2FzIGludHJv ZHVjZWQsIHRoZSBJT01NVSB0eXBlIGNoZWNrIHdhcyBtb3ZlZCB0bw0KPj4gYmVmb3JlIHdlIHdl cmUgdHJhdmVyc2luZyB0aGUgdXNlciBtZW0gbWFwcyBsaXN0LCB0aGVyZWJ5IGludHJvZHVjaW5n IGENCj4+IHBvdGVudGlhbCBOVUxMIGRlcmVmZXJlbmNlLCBiZWNhdXNlIHRoZSBJT01NVSB0eXBl IGFjY2VzcyB3YXMgbm8gbG9uZ2VyDQo+PiBndWFyZGVkIGJ5IHRoZSB1c2VyIG1lbSBtYXBzIGxp c3QgdHJhdmVyc2FsLg0KPj4NCj4+IEZpeCB0aGUgaXNzdWUgYnkgbW92aW5nIHRoZSBJT01NVSB0 eXBlIGNoZWNrIHRvIGFmdGVyIHRoZSB1c2VyIG1lbSBtYXBzDQo+PiB0cmF2ZXJzYWwsIHRoZXJl YnkgZW5zdXJpbmcgdGhhdCBieSB0aGUgdGltZSB0aGUgY2hlY2sgaGFwcGVucywgdGhlDQo+PiBJ T01NVSB0eXBlIGlzIGFsd2F5cyB2YWxpZC4NCj4+DQo+PiBGaXhlczogNTYyNTlmN2ZjMDEwICgi dmZpbzogYWxsb3cgcGFydGlhbGx5IHVubWFwcGluZyBhZGphY2VudCBtZW1vcnkiKQ0KPj4gQ2M6 IHh1YW4uZGluZ0BpbnRlbC5jb20NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBBbmF0b2x5IEJ1cmFr b3YgPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+DQo+UmV2aWV3ZWQtYnk6IERhdmlkIE1hcmNo YW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPg0KPkkgZ3Vlc3MgWHVhbiB0ZXN0ZWQg aXQgdG9vLCBzaW5jZSB3ZSBoYXZlIGEgdmhvc3QgcGF0Y2ggb24gdG9wIG9mIHRoaXMNCj52Zmlv IHBhdGNoLg0KPkNhbiB5b3UganVzdCBjb25maXJtIGl0IGlzIG9rIHRvIG1lcmdlPw0KDQpZZXMs IEkgdGVzdGVkIGl0IGFuZCBpdCB3b3JrcyBmaW5lLg0KDQpUZXN0ZWQtYnk6IFh1YW4gRGluZyA8 eHVhbi5kaW5nQGludGVsLmNvbT4NCg0KUmVnYXJkcywNClh1YW4NCg0KDQo+DQo+VGhhbmtzLg0K Pg0KPg0KPi0tDQo+RGF2aWQgTWFyY2hhbmQNCg0K