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 713FBA0545; Mon, 20 Jun 2022 11:33:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D17C40F19; Mon, 20 Jun 2022 11:33:29 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 4814A40150; Mon, 20 Jun 2022 11:33:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1655717607; x=1687253607; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=gzfAb7mPoELDoeyTe+jKwHChzwOj7JLq+XdT8mm6CaM=; b=Js4st+SqCxyeRN7XslG7NuN2Qv07HEtlKECS+u71F33aDXMRMa9WGbIS 6PgyRPYHqIOOqC4HuJe7ky1sXMg8sb18F3Ot2COFyH28weCBGnACQ93If VyzpD14NRxiJZNkTeN8fHDX37AcW66dCi6HVAHujjEw60iLcs5lUGw0zg qMFWngdGkKLeyMETmlUyySx3K58XHAu5zehOpNo/wbwq5Fdhz+VmZ9k4A KPrKg/2YoTsj9k4GP5NHVKQvMFBC2fblLAmrIqQoRNCnoOIcYOK6yn90q klph7dC6HqbR4rs/8849UdvIXuMyPr8hBSItnfrnoxSz8POlyjiqQ9hQa A==; X-IronPort-AV: E=McAfee;i="6400,9594,10380"; a="259673051" X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="259673051" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jun 2022 02:33:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="591097630" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga007.fm.intel.com with ESMTP; 20 Jun 2022 02:33:26 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 20 Jun 2022 02:33:25 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 20 Jun 2022 02:33:25 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.109) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 20 Jun 2022 02:33:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FGF+gyJZvEF3wu5xRGI99bvPlmzVavP7WwLbTisIEPQTu2uG4fbdPXqs47qBAfO0TKYTZlWUBG419C7VbBI4eU3eQftmJeNPO5tHtkun9i/59HYIqWqBOTpR3DJnoCUulBB/T+1U+ozN0s0bV9SPY3VdleVnvNtN0uwfvoc1pdvotlR5oKVdI42uDeNYCZCva5aazpce6cJGklAux8yQ+3iKPeYAEo+kJII+svEydiRzew4gJDZU1cC6YNyg0K3sc8rk4QXAcsE6Q6eXxFJ71E2S7qnkYmizzIpZvzdetOicgnbdGFR50m3IzMbUe0r1+6snRJXtTBni9ANW+BnMtg== 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=gzfAb7mPoELDoeyTe+jKwHChzwOj7JLq+XdT8mm6CaM=; b=J7uiOAOSufMb+cluUZS3jOI2Mco8gRAPSCtfIUzwYNvqh15UkOnLyvz6xixE7UbjOKHNXxG1juv2o8id+1p8hNZYa3jsfMmya2VtKPgqlNQcZSxM33OjRCn/Gy1LyZlqfaF6gC9ncump5AasN4vnjPO5fQif4JFzWyXV/Jncl4N6apJ3qoXb0LoS/Rs5gdFjFjnOaveuQNSvTkkWN8OwTakrnDZa6q8O8FrsYLIeb0ta3i4TfZ6P+ssXEBIiB+/j9nIZhY43dxlKar01MVDN6gr3cnBbHUoS4mpjJjmYiXX5NIjD7rOQIv2eQtU685VG9t5CKT9STBGxeK4OxYyn+g== 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 Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by MN0PR11MB6255.namprd11.prod.outlook.com (2603:10b6:208:3c4::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.15; Mon, 20 Jun 2022 09:33:23 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::54a0:2dbc:18b7:2aa9]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::54a0:2dbc:18b7:2aa9%7]) with mapi id 15.20.5353.021; Mon, 20 Jun 2022 09:33:23 +0000 From: "Xia, Chenbo" To: "Wang, YuanX" , "Hu, Jiayu" , David Marchand , "maxime.coquelin@redhat.com" CC: "dev@dpdk.org" , "He, Xingguang" , "stable@dpdk.org" , "Ling, WeiX" , "jin.liu@corigine.com" , "louis.peens@corigine.com" , "peng.zhang@corigine.com" , Heinrich Kuhn Subject: RE: [PATCH v2] examples/vhost: fix retry logic on eth rx path Thread-Topic: [PATCH v2] examples/vhost: fix retry logic on eth rx path Thread-Index: AQHYghg/9+VePvzvrUS0sngGr1HSNK1Xoz3wgABJZACAAAEkoIAAFiAAgAACasCAAAMdgIAAAPXw Date: Mon, 20 Jun 2022 09:33:23 +0000 Message-ID: References: <20220518162505.1691401-1-yuanx.wang@intel.com> <20220617070144.710487-1-yuanx.wang@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b9ce6d5b-3e2f-4fce-39a1-08da529feb8e x-ms-traffictypediagnostic: MN0PR11MB6255:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: abD3Xzcv1YzVoC79aUzu/2U1SQ8w0LcDAGRTAJjEsUNP1WKo0o5TJamylWIaej2NMKuES5+8ftLDLokHitYI1FR2nnWUtlQUATTcA7LlwrTg0mqeCXu0MB/xCXzisE9yEI+g0RVgaE5SIybCPoWwp+Qhnl9MPb5ukD8NWmJEgrN0HeKpxXyOp2gvhlCTzc31rHksOvYxOaDEUxEFO0DYrmdEtL2Uyj1uFSe1MZ2eDLuEX4vQDZskwFzvM7r/3nRA+53QDxLKCDNaU9S7WkoiAMmLngV8jjg82jEGA7YH6H8R8XS9sGV659xPQBOKqeb2xx0UBHugVkHDyyEBuNVJM5eLVNzE1E0d/pHxqIgWmv+7lmHLSAmnQRhjt60lFCRxKloO4BFZqEAHBDDxb0mTztgBQi9z4I9GWXtat/KAhBi8M4Reb8EARyrb/JmyAAKCEBk4O80vIvqmta/JeVF4RBBJ4b+Ekrg9GlgOoBxhlM3c/S0ydpT8XD3NR20oeg4orzr2NkHGdxSluNmfJGPm6BgwbwsDw5b3x3MkfkBAb8PdWsN/EHWvcbviSG38v80zKvSQsL01j+3Jsy6pstw9WsaBfPG5kVpE5/TBjO/68itGt8DajnSASEXdpLZJbmhUDejbm/NcAftdSWvETX3kRlNAdNrEY2IZ8fo/CdAQ8DZ5x2zwhoD7l5bydPxmHAgUxPjlUf8r3aCjPDdsNctExkdesOVd9CLlOKVMtptHN6A= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(396003)(136003)(346002)(39860400002)(376002)(71200400001)(7696005)(55016003)(38070700005)(52536014)(53546011)(8676002)(110136005)(41300700001)(33656002)(26005)(54906003)(6506007)(38100700002)(64756008)(8936002)(2906002)(86362001)(76116006)(9686003)(66446008)(122000001)(478600001)(82960400001)(83380400001)(186003)(66556008)(5660300002)(66476007)(66946007)(4326008)(316002)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T1N1RzhWRTZLMVZNa3RCS1FRb2E5RzBjeVNtUE1zWWVXWlBDOVVZSkVaZ2pz?= =?utf-8?B?RE1LU0I1Qk01VWJsYzhtVlN0SG9ybU1tb1Zjb2Q4VjAzVm9HTGZ2RDd0MkxT?= =?utf-8?B?Rzg1bTFkcFFWVHgxN3Z6WlZreFNRUEdEWGVlYzVSK21jM2lFQkZVR0tScCtT?= =?utf-8?B?ZjQvYWNyMUJmTnhLUk5FQUZzTFNUNXF3RVVTRUI3OE1tR3dUOXdSK1RvYXVy?= =?utf-8?B?TndwVExaQ0ZtbFM0MkdubjhmZ04yZTlqNVAvcUdZWG5XTTNSeHZjSTIzZG9u?= =?utf-8?B?MGJSNVE2TlhSM2FrNFBCajN0dWJYZjM1SGVzcFdhOUhqeUFlVUpLMW5Gb1Mx?= =?utf-8?B?UkZOKzBzd3RpT2NxUGI1K2NIYjRKbnR2NHRrQlA1M3dwcXZtakg1VlorREZn?= =?utf-8?B?N3lDbjU5algwZ3d4T2x4Z2FLdEowa0JoYWxra3ZlMVBtVzc3RGJ1ak1VZzgx?= =?utf-8?B?MEFUNTQ4MTJMeEVnQjJPMWZJcGxBeXJPaWxDeTlZbzczaW1VZXJRZDdrNWlt?= =?utf-8?B?WEVmalBRNFlvT1ZZVHdnQlFzaXAzenVXbjJSUm5jbXFwdWFSWENuVCtuYTYw?= =?utf-8?B?M3pIS3hlWktxRWxUR3ZBSG8vVzlESXhWekhvMHZ6SmZLc0hidXh2ZFR6Lzlx?= =?utf-8?B?KzY4UVF4bXBGbEgzRG9hYVVBbTh5ZjBGSnBIc3NxQ2lpenU1cXNrYmRRQlRE?= =?utf-8?B?Vi9JaFAyVWs0UlJHdnRqUTFFYXVHTTBnNFQ5UXBGeHlTUmVidDYxU1pkbXNT?= =?utf-8?B?Z1hmbSs3YWZyeUVyci9pV2U0YWxLZU5jaEIwK1gwakdRN0pkUFB3bnY5Y0pX?= =?utf-8?B?bjFDQjlRRk9DOFM3SExQVDBablFKRUdoUUx2Q0oxM0xtOGJDZG90VU5HaytS?= =?utf-8?B?ek9SN1ZJOEpqSnlRRjlEOEJqNlNtNVR2aVZ3N1k1c2F2cTZyVFJ1dkxScERh?= =?utf-8?B?bUROWjF2MEVDcUdteE9lWHNWZHJib05mb2NrYThOREdPcmN0YXlhWUdpQ2pi?= =?utf-8?B?YzRzQVhkMWpOR1p6SFY5NDNiZ3ozaWJiQ1E4TGpNMWdNM2pZcVBQQ0JQWk0x?= =?utf-8?B?ZmZBbHhwOCtuMHZuZ2VLNWY4Wkd6S0VOOWQ5aDZWMjV4WlNSc0o1dHpobFdR?= =?utf-8?B?WFJvWndGeEtaeW9xMlEyOGlrbVV1ZThnMmRFa1lCNVZHUE1rTXJCY3Btditn?= =?utf-8?B?Y3BPbXVOc1JxYXZUMnp0RzhGekVBc1Fid0YrT0U4VFhhYVdrZERERzZRVzR1?= =?utf-8?B?dktIRlVaVW1OZGtmR0NyQk12SnFRMlZkRnFrdE1zY21QL1NSMGx0SDhUSm1p?= =?utf-8?B?QnY4MytCRW1DaU5FL1hqaHJCcllOeHRrNW5OaExkU29YZTh2aitUMzB2V0pV?= =?utf-8?B?cVBTWHY0SmJXTkgxdkdDUk1qMTBXcWJmSlQ0RUVNWHJlTTZreU4xeFQwRWhY?= =?utf-8?B?c00rZU9acHl5MnJpc01DdmZvMng5Qzlkc2ZVSU5rU3ZHY0xoSitYKzQxMmRy?= =?utf-8?B?NHNjTTFCdVRVV0lCa21TUHhVQlFMdWpCWmJtWEZuU08reUR5NzJvYnlPTE01?= =?utf-8?B?aHpSOWRiVFpqNjF2Z0hqOHIyV01KelhxTCtJRzRNeGFFdUNIb1A4M0MrUDJX?= =?utf-8?B?VDdzQ1l4aWJ2ZHR4Z3FyOXZGbXZCbGd5aTFJbncxdmoxOWVaZFBnMUZ2ZUEy?= =?utf-8?B?a2N2M0tNQmdZbk8vUXQ4d3NFSEd3SmMyU1RuWmhldUhiQlEvUkM3RFVlWnVl?= =?utf-8?B?UmlYWGZuS0s3ZXkyVERpS2FQTTBZSGprL0tuSUpUY1VaMDVsNURBMHNZU3Q4?= =?utf-8?B?YXRHT0FianhrM2lJSHZueDA5VVU4RmZ2U2RGTzlUU3NhL3BJcjhjSytLb2V6?= =?utf-8?B?VTFieitsMGJZS1V3akIzb0U3dmR1eHQwL1NTNUxtaE5kSkswcEJSL3dqUGhm?= =?utf-8?B?NUlwWDU0VzFYQzh0blhJbEFUZkpqQ1ZLSmRIL2hvOVU1WGNZY2Zjd0h6RktJ?= =?utf-8?B?Y2EwU3hNN3pFQmkrUnVoYkpVY3BvaGtTTnNLTGRtM092VUY2U0lxNWYwSUpl?= =?utf-8?B?RkNRM0NxbWlCd3NWSFAvdjkwbkZrMG9wMXN3TXRlOG9NZGVGNjE1bWI2MDNQ?= =?utf-8?B?Tk1kSHNjU2YydnBENWNaN0RUMVJqT0puQ2tpRGN4YzZ0NTFKUWtoV0dLNGVs?= =?utf-8?B?N0hMMmNZQVZiWlFIZEhnOWl1NUdrcDY2YWhGNERTTlBHY2lkZUVVZEYwQjUy?= =?utf-8?B?ZHlPZDZPazdqNkpsYzVMWUduUklmejUzQWxQWmlWSEtLT0loU0pxZW1vTE5i?= =?utf-8?B?cVk5SHpvMXBPQ2NYR3lUdHJlbVRJU0VJdmVwdkJlUDBJeUQ3Y0tUZz09?= 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: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9ce6d5b-3e2f-4fce-39a1-08da529feb8e X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2022 09:33:23.1434 (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: KHYQeX51z8VrYCj3Z1d0yn282GuekfFfzwNqiwVXiUVLL2kpJyr2PQGCbO8HZhWWIWyJEsteRv8CAvCCIuBj5w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6255 X-OriginatorOrg: intel.com 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBXYW5nLCBZdWFuWCA8eXVhbngu d2FuZ0BpbnRlbC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgSnVuZSAyMCwgMjAyMiA1OjE5IFBNDQo+ IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBIdSwgSmlheXUgPGppYXl1 Lmh1QGludGVsLmNvbT47DQo+IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQu Y29tPjsgbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20NCj4gQ2M6IGRldkBkcGRrLm9yZzsgSGUs IFhpbmdndWFuZyA8eGluZ2d1YW5nLmhlQGludGVsLmNvbT47IHN0YWJsZUBkcGRrLm9yZzsNCj4g TGluZywgV2VpWCA8d2VpeC5saW5nQGludGVsLmNvbT47IGppbi5saXVAY29yaWdpbmUuY29tOw0K PiBsb3Vpcy5wZWVuc0Bjb3JpZ2luZS5jb207IHBlbmcuemhhbmdAY29yaWdpbmUuY29tOyBIZWlu cmljaCBLdWhuDQo+IDxoZWlucmljaC5rdWhuQGNvcmlnaW5lLmNvbT4NCj4gU3ViamVjdDogUkU6 IFtQQVRDSCB2Ml0gZXhhbXBsZXMvdmhvc3Q6IGZpeCByZXRyeSBsb2dpYyBvbiBldGggcnggcGF0 aA0KPiANCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog WGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IE1vbmRheSwgSnVu ZSAyMCwgMjAyMiA1OjEwIFBNDQo+ID4gVG86IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29t PjsgRGF2aWQgTWFyY2hhbmQNCj4gPiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IG1heGlt ZS5jb3F1ZWxpbkByZWRoYXQuY29tDQo+ID4gQ2M6IFdhbmcsIFl1YW5YIDx5dWFueC53YW5nQGlu dGVsLmNvbT47IGRldkBkcGRrLm9yZzsgSGUsIFhpbmdndWFuZw0KPiA+IDx4aW5nZ3VhbmcuaGVA aW50ZWwuY29tPjsgc3RhYmxlQGRwZGsub3JnOyBMaW5nLCBXZWlYDQo+ID4gPHdlaXgubGluZ0Bp bnRlbC5jb20+OyBqaW4ubGl1QGNvcmlnaW5lLmNvbTsgbG91aXMucGVlbnNAY29yaWdpbmUuY29t Ow0KPiA+IHBlbmcuemhhbmdAY29yaWdpbmUuY29tOyBIZWlucmljaCBLdWhuIDxoZWlucmljaC5r dWhuQGNvcmlnaW5lLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW1BBVENIIHYyXSBleGFtcGxlcy92 aG9zdDogZml4IHJldHJ5IGxvZ2ljIG9uIGV0aCByeCBwYXRoDQo+ID4NCj4gPiA+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVs LmNvbT4NCj4gPiA+IFNlbnQ6IE1vbmRheSwgSnVuZSAyMCwgMjAyMiA0OjU5IFBNDQo+ID4gPiBU bzogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsgRGF2aWQgTWFyY2hhbmQNCj4g PiA+IDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPjsgbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5j b20NCj4gPiA+IENjOiBXYW5nLCBZdWFuWCA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBkZXZAZHBk ay5vcmc7IEhlLCBYaW5nZ3VhbmcNCj4gPiA+IDx4aW5nZ3VhbmcuaGVAaW50ZWwuY29tPjsgc3Rh YmxlQGRwZGsub3JnOyBMaW5nLCBXZWlYDQo+ID4gPiA8d2VpeC5saW5nQGludGVsLmNvbT47IGpp bi5saXVAY29yaWdpbmUuY29tOyBsb3Vpcy5wZWVuc0Bjb3JpZ2luZS5jb207DQo+ID4gPiBwZW5n LnpoYW5nQGNvcmlnaW5lLmNvbTsgSGVpbnJpY2ggS3VobiA8aGVpbnJpY2gua3VobkBjb3JpZ2lu ZS5jb20+DQo+ID4gPiBTdWJqZWN0OiBSRTogW1BBVENIIHYyXSBleGFtcGxlcy92aG9zdDogZml4 IHJldHJ5IGxvZ2ljIG9uIGV0aCByeCBwYXRoDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IFhpYSwgQ2hlbmJvIDxj aGVuYm8ueGlhQGludGVsLmNvbT4NCj4gPiA+ID4gU2VudDogTW9uZGF5LCBKdW5lIDIwLCAyMDIy IDM6NDkgUE0NCj4gPiA+ID4gVG86IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRo YXQuY29tPjsNCj4gPiA+ID4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20NCj4gPiA+ID4gQ2M6 IFdhbmcsIFl1YW5YIDx5dWFueC53YW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgSHUsIEpp YXl1DQo+ID4gPiA+IDxqaWF5dS5odUBpbnRlbC5jb20+OyBIZSwgWGluZ2d1YW5nIDx4aW5nZ3Vh bmcuaGVAaW50ZWwuY29tPjsNCj4gPiA+ID4gc3RhYmxlQGRwZGsub3JnOyBMaW5nLCBXZWlYIDx3 ZWl4LmxpbmdAaW50ZWwuY29tPjsNCj4gPiA+ID4gamluLmxpdUBjb3JpZ2luZS5jb207IGxvdWlz LnBlZW5zQGNvcmlnaW5lLmNvbTsNCj4gPiA+ID4gcGVuZy56aGFuZ0Bjb3JpZ2luZS5jb207IEhl aW5yaWNoIEt1aG4gPGhlaW5yaWNoLmt1aG5AY29yaWdpbmUuY29tPg0KPiA+ID4gPiBTdWJqZWN0 OiBSRTogW1BBVENIIHYyXSBleGFtcGxlcy92aG9zdDogZml4IHJldHJ5IGxvZ2ljIG9uIGV0aCBy eA0KPiA+ID4gPiBwYXRoDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBEYXZpZCBNYXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVk aGF0LmNvbT4NCj4gPiA+ID4gPiBTZW50OiBNb25kYXksIEp1bmUgMjAsIDIwMjIgMzozNiBQTQ0K PiA+ID4gPiA+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+Ow0KPiA+IG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tDQo+ID4gPiA+ID4gQ2M6IFdhbmcsIFl1YW5YIDx5dWFu eC53YW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgSHUsIEppYXl1DQo+ID4gPiA+ID4gPGpp YXl1Lmh1QGludGVsLmNvbT47IEhlLCBYaW5nZ3VhbmcgPHhpbmdndWFuZy5oZUBpbnRlbC5jb20+ Ow0KPiA+ID4gPiA+IHN0YWJsZUBkcGRrLm9yZzsgTGluZywgV2VpWCA8d2VpeC5saW5nQGludGVs LmNvbT47DQo+ID4gPiA+ID4gamluLmxpdUBjb3JpZ2luZS5jb207IGxvdWlzLnBlZW5zQGNvcmln aW5lLmNvbTsNCj4gPiA+ID4gPiBwZW5nLnpoYW5nQGNvcmlnaW5lLmNvbTsgSGVpbnJpY2ggS3Vo bg0KPiA+ID4gPiA+IDxoZWlucmljaC5rdWhuQGNvcmlnaW5lLmNvbT4NCj4gPiA+ID4gPiBTdWJq ZWN0OiBSZTogW1BBVENIIHYyXSBleGFtcGxlcy92aG9zdDogZml4IHJldHJ5IGxvZ2ljIG9uIGV0 aCByeA0KPiA+ID4gPiA+IHBhdGgNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9uIE1vbiwgSnVuIDIw LCAyMDIyIGF0IDU6MjAgQU0gWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiA+ ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gZHJhaW5fZXRoX3J4KCkgdXNlcyBydGVfdmhvc3Rf YXZhaWxfZW50cmllcygpIHRvIGNhbGN1bGF0ZSB0aGUNCj4gPiA+ID4gPiA+ID4gYXZhaWxhYmxl IGVudHJpZXMgdG8gZGV0ZXJtaW5lIGlmIGEgcmV0cnkgaXMgcmVxdWlyZWQuDQo+ID4gPiA+ID4g PiA+IEhvd2V2ZXIsIHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyB3aXRoIHNwbGl0IHJpbmdzLCBh bmQNCj4gPiA+ID4gPiA+ID4gY2FsY3VsYXRpbmcgcGFja2VkIHJpbmdzIHdpbGwgcmV0dXJuIHRo ZSB3cm9uZyB2YWx1ZSBhbmQgY2F1c2UNCj4gPiA+ID4gPiA+ID4gdW5uZWNlc3NhcnkgcmV0cmll cyByZXN1bHRpbmcgaW4gYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZQ0KPiBwZW5hbHR5Lg0KPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBUaGlzIHBhdGNoIGZpeCB0aGF0IGJ5IHVzaW5nIHRo ZSBkaWZmZXJlbmNlIGJldHdlZW4gdHgvcngNCj4gPiA+ID4gPiA+ID4gYnVyc3QgYXMgdGhlIHJl dHJ5IGNvbmRpdGlvbi4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBEb2VzIGl0IG1lYW4gd2Ug ZG9uJ3QgbmVlZCB0aGUgQVBJIHJ0ZV92aG9zdF9hdmFpbF9lbnRyaWVzKCkNCj4gPiBhbnltb3Jl Pw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEppYXl1L1l1YW4vTWF4aW1lLCB3aGF0IGRvIHlv dSB0aGluaz8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEZXSVcsIEkgc3RpbGwgc2VlIGEgdXNlcjoN Cj4gPiA+ID4gPiB2aXJ0aW8tZm9yd2FyZGVyL3ZpcnRpb192aG9zdHVzZXIuYzogICAgICogVGhp cyBjaGVjayBlbnN1cmVzIHRoYXQNCj4gd2UNCj4gPiA+ID4gPiBkbyBub3QgY2FsbCBydGVfdmhv c3RfYXZhaWxfZW50cmllcw0KPiA+ID4gPiA+IHZpcnRpby1mb3J3YXJkZXIvdmlydGlvX3dvcmtl ci5jOiAgICAgICAgdHJ5X3JjdiA9DQo+ID4gPiA+ID4gcnRlX3Zob3N0X2F2YWlsX2VudHJpZXMo KGludClyZWxheS0+dmlvLnZpb19kZXYsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBDYydkIGEgZmV3 IENvcmlnaW5lIGd1eXMuDQo+ID4gPiA+DQo+ID4gPiA+IFRoYW5rcyBEYXZpZCBmb3IgdGhpcyBp bmZvISBUaGVuIEkgZ3Vlc3Mgb25seSBzcGxpdCByaW5nIGlzIHVzZWQgaW4NCj4gPiA+ID4gdGhp cw0KPiA+ID4gdXNlIGNhc2U/DQo+ID4gPiA+IElmIHdlIHdhbnQgdG8ga2VlcCBpdCwgdGhlbiB0 aGlzIEFQSSBzaG91bGQgYWxzbyBiZSBmaXhlZCBhcyBpdCdzDQo+ID4gPiA+IG5vdA0KPiA+ID4g c3VwcG9ydGluZw0KPiA+ID4gPiBwYWNrZWQgcmluZy4NCj4gPiA+DQo+ID4gPiBTYW1lIGlzc3Vl IGZvciBydGVfdmhvc3RfcnhfcXVldWVfY291bnQoKSwgYW5kIGl0IGlzIHVzZWQgaW4gT1ZTLg0K PiA+ID4NCj4gPiA+IEJ1dCBpZiBsb29rIGludG8gdGhlIGltcGxlbWVudGF0aW9uIG9mIHJ0ZV92 aG9zdF9hdmFpbF9lbnRyaWVzKCksIGl0DQo+ID4gPiBjYWxjdWxhdGVzIHRoZSBudW1iZXIgb2Yg YXZhaWxhYmxlIGRlc2NyaXB0b3JzIGJ5ICIgdnEtPmF2YWlsLT5pZHggLQ0KPiA+ID4gdnEtDQo+ ID4gPiA+bGFzdF91c2VkX2lkeCIuDQo+ID4gPiBUaGlzIGxvZ2ljIGxvb2tzIHN0cmFuZ2UuIEFu eW9uZSBrbm93cyB0aGUgcmVhc29uIG9mIHRoaXMNCj4gaW1wbGVtZW50YXRpb24/DQo+ID4NCj4g PiBJIHdhcyBub3QgaW4gdGhlIGhpc3RvcnksIGJ1dCBhcyBJIGNoZWNrZWQgdGhlIGdpdCBsb2cu IFNlZW1zIGl0J3MNCj4gYmVjYXVzZSBpbiB0aGlzDQo+ID4gY29tbWl0LCB0aGlzIEFQSSB3YXMg bm90IGltcHJvdmVkIChUaGlzIEFQSSBpcyBpbnRyb2R1Y2VkIGJlZm9yZSB0aGUNCj4gPiBjb21t aXQpLg0KPiA+DQo+ID4gY29tbWl0IGY2YmU4MmQ3MjU5ZWUzNTY4MzcyMTA5MmQ2MTI4M2Q5OWE0 N2FmZjENCj4gPiBBdXRob3I6IFl1YW5oYW4gTGl1IDx5dWFuaGFuLmxpdUBsaW51eC5pbnRlbC5j b20+DQo+ID4gRGF0ZTogICBTdW4gT2N0IDkgMTU6Mjc6NTYgMjAxNiArMDgwMA0KPiA+DQo+ID4g ICAgIHZob3N0OiBpbnRyb2R1Y2UgbGFzdCBhdmFpbGFibGUgaW5kZXggZm9yIGRlcXVldWUNCj4g Pg0KPiA+ICAgICBTbyBmYXIsIHdlIHJldHJpZXZlIGJvdGggdGhlIHVzZWQgcmluZyBhbmQgYXZh aWwgcmluZyBpZHggYnkgdGhlIHZhcg0KPiA+ICAgICBsYXN0X3VzZWRfaWR4OyBpdCB3b24ndCBi ZSBhIHByb2JsZW0gYmVjYXVzZSB0aGUgdXNlZCByaW5nIGlzDQo+IHVwZGF0ZWQNCj4gPiAgICAg aW1tZWRpYXRlbHkgYWZ0ZXIgdGhvc2UgYXZhaWwgZW50cmllcyBhcmUgY29uc3VtZWQuDQo+ID4N Cj4gPiAgICAgQnV0IHRoYXQncyBub3QgdHJ1ZSB3aGVuIGRlcXVldWUgemVybyBjb3B5IGlzIGVu YWJsZWQsIHRoYXQgdXNlZA0KPiByaW5nIGlzDQo+ID4gICAgIHVwZGF0ZWQgb25seSB3aGVuIHRo ZSBtYnVmIGlzIGNvbnN1bWVkLiBUaHVzLCB3ZSBuZWVkIHVzZSBhbm90aGVyDQo+IHZhcg0KPiA+ IHRvDQo+ID4gICAgIG5vdGUgdGhlIGxhc3QgYXZhaWwgcmluZyBpZHggd2UgaGF2ZSBjb25zdW1l ZC4NCj4gPg0KPiA+ICAgICBUaGVyZWZvcmUsIGxhc3RfYXZhaWxfaWR4IGlzIGludHJvZHVjZWQu DQo+ID4NCj4gPiAgICAgU2lnbmVkLW9mZi1ieTogWXVhbmhhbiBMaXUgPHl1YW5oYW4ubGl1QGxp bnV4LmludGVsLmNvbT4NCj4gPiAgICAgUmV2aWV3ZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4 aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ID4gICAgIFRlc3RlZC1ieTogUWlhbiBYdSA8cWlh bi5xLnh1QGludGVsLmNvbT4NCj4gPg0KPiANCj4gSXQgd2FzIGludHJvZHVjZWQgYnkgdGhpcyBj b21taXQuDQoNClllcywgb2YgY291cnNlIGJvdGggbGFzdF9YWFhfaWR4IGFyZSBpbnRyb2R1Y2Vk IGZvciBzcGxpdCByaW5nLiBJIHdhcyBzYXlpbmcNCnRoZSBzdG9yeSBzZWVtcyB0byBiZToNCg0K QXQgZmlyc3QsIHZob3N0IHVzYWdlIGlzIHZlcnkgdHJpdmlhbCwgZ2V0IGF2YWlsYWJsZSBhbmQg c2V0IHVzZWQsIHNvIG9uZSBpZHgNCmlzIGVub3VnaC4gVGhlbiBkZXF1ZXVlX3plcm9fY29weSBj b21lcyAobGF0ZXIgcmVtb3ZlZCkgYW5kIHlvdSBtYXkgbm90IHVwZGF0ZQ0KdXNlZCBhZnRlciB5 b3UgZ2V0IGF2YWlsIGluIG9uZSBmdW5jIGNhbGwuIFRoZW4gbGFzdF9hdmFpbF9pZHggaXMgaW50 cm9kdWNlZCBidXQNCnJ0ZV92aG9zdF9hdmFpbF9lbnRyaWVzKCkgaXMgbm90IHVwZGF0ZWQuIEFu ZCB3aGVuIHdlIGludHJvZHVjZWQgcGFja2VkIHJpbmcsDQp0aGlzIEFQSSBpcyBhbHNvIG5vdCB1 cGRhdGVkLg0KDQpDb3JyZWN0IG1lIGlmIEkgbWlzdW5kZXJzdGFuZCB0aGUgc3RvcnkuDQoNClRo YW5rcywNCkNoZW5ibw0KDQo+IA0KPiBjb21taXQgNzIwMmIwYTgyNDAxNThiMzE3NjY1YzIwNTI1 ZjgxZDU1ZjE2ZjYwMg0KPiBBdXRob3I6IEh1YXdlaSBYaWUgPGh1YXdlaS54aWVAaW50ZWwuY29t Pg0KPiBEYXRlOiAgIFRodSBPY3QgOSAwMjo1NDo1MSAyMDE0ICswODAwDQo+IA0KPiAgICAgdmhv c3Q6IGdldCBhdmFpbGFibGUgdnJpbmcgZW50cmllcw0KPiANCj4gICAgIFNpZ25lZC1vZmYtYnk6 IEh1YXdlaSBYaWUgPGh1YXdlaS54aWVAaW50ZWwuY29tPg0KPiAgICAgQWNrZWQtYnk6IENoYW5n Y2h1biBPdXlhbmcgPGNoYW5nY2h1bi5vdXlhbmdAaW50ZWwuY29tPg0KPiAgICAgW1Rob21hczog c3BsaXQgcGF0Y2hdDQo+IA0KPiBDaGVjayBmb3IgdGhlIGRlZmluZSBvZiBWUSwgaXQgaXMgb2J2 aW91cyBmb3Igc3BsaXQgcmluZy4NCj4gDQo+IHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgew0KPiAJ c3RydWN0IHZyaW5nX2Rlc2MJKmRlc2M7CQkJLyoqPCBWaXJ0cXVldWUgZGVzY3JpcHRvcg0KPiBy aW5nLiAqLw0KPiAJc3RydWN0IHZyaW5nX2F2YWlsCSphdmFpbDsJCQkvKio8IFZpcnRxdWV1ZQ0K PiBhdmFpbGFibGUgcmluZy4gKi8NCj4gCXN0cnVjdCB2cmluZ191c2VkCSp1c2VkOwkJCS8qKjwg VmlydHF1ZXVlIHVzZWQgcmluZy4NCj4gKi8NCj4gCXVpbnQzMl90CQlzaXplOwkJCS8qKjwgU2l6 ZSBvZiBkZXNjcmlwdG9yIHJpbmcuICovDQo+IAlpbnQJCQliYWNrZW5kOwkJLyoqPCBCYWNrZW5k IHZhbHVlIHRvIGRldGVybWluZQ0KPiBpZiBkZXZpY2Ugc2hvdWxkIHN0YXJ0ZWQvc3RvcHBlZC4g Ki8NCj4gCXVpbnQxNl90CQl2aG9zdF9obGVuOwkJLyoqPCBWaG9zdCBoZWFkZXIgbGVuZ3RoICh2 YXJpZXMNCj4gZGVwZW5kaW5nIG9uIFJYIG1lcmdlIGJ1ZmZlcnMuICovDQo+IAl2b2xhdGlsZSB1 aW50MTZfdAlsYXN0X3VzZWRfaWR4OwkJLyoqPCBMYXN0IGluZGV4IHVzZWQgb24NCj4gdGhlIGF2 YWlsYWJsZSByaW5nICovDQo+IAl2b2xhdGlsZSB1aW50MTZfdAlsYXN0X3VzZWRfaWR4X3JlczsJ LyoqPCBVc2VkIGZvciBtdWx0aXBsZQ0KPiBkZXZpY2VzIHJlc2VydmluZyBidWZmZXJzLiAqLw0K PiAjZGVmaW5lIFZJUlRJT19JTlZBTElEX0VWRU5URkQJCSgtMSkNCj4gI2RlZmluZSBWSVJUSU9f VU5JTklUSUFMSVpFRF9FVkVOVEZECSgtMikNCj4gCWludAkJCWNhbGxmZDsJCQkvKio8IFVzZWQg dG8gbm90aWZ5IHRoZQ0KPiBndWVzdCAodHJpZ2dlciBpbnRlcnJ1cHQpLiAqLw0KPiAJaW50CQkJ a2lja2ZkOwkJCS8qKjwgQ3VycmVudGx5IHVudXNlZCBhcw0KPiBwb2xsaW5nIG1vZGUgaXMgZW5h YmxlZC4gKi8NCj4gCWludAkJCWVuYWJsZWQ7DQo+IAl1aW50NjRfdAkJbG9nX2d1ZXN0X2FkZHI7 CQkvKio8IFBoeXNpY2FsIGFkZHJlc3Mgb2YNCj4gdXNlZCByaW5nLCBmb3IgbG9nZ2luZyAqLw0K PiAJdWludDY0X3QJCXJlc2VydmVkWzE1XTsJCS8qKjwgUmVzZXJ2ZSBzb21lIHNwYWNlcw0KPiBm b3IgZnV0dXJlIGV4dGVuc2lvbi4gKi8NCj4gCXN0cnVjdCBidWZfdmVjdG9yCWJ1Zl92ZWNbQlVG X1ZFQ1RPUl9NQVhdOwkvKio8IGZvciBzY2F0dGVyIFJYLg0KPiAqLw0KPiB9IF9fcnRlX2NhY2hl X2FsaWduZWQ7DQo+IA0KPiBUaGFua3MsDQo+IFl1YW4NCj4gDQo+ID4gVGhhbmtzLA0KPiA+IENo ZW5ibw0KPiA+DQo+ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gSmlheXUNCj4gPiA+DQo+ID4g PiA+DQo+ID4gPiA+IFRoYW5rcywNCj4gPiA+ID4gQ2hlbmJvDQo+ID4gPiA+DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gRGF2aWQgTWFyY2hhbmQNCj4gPiA+ ID4NCj4gPiA+DQoNCg==