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 4AB8FA0545; Mon, 20 Jun 2022 11:19:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B8F3B427E9; Mon, 20 Jun 2022 11:19:31 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 83F8E40150; Mon, 20 Jun 2022 11:19:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1655716769; x=1687252769; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3nYKVxJHOacqzvw9mIn/HmgadquXx/g4TsZMmdzAzw4=; b=Oeuj+rlTvJGcTqxbK1IrVsyNa0Dg034uP8dr7yIHK9l0FzvrLyC0NJPW CwmKreRFhZOWk7QiBK+KKHhSzjqNfcYuKuT6fUvLfm4fLlvHlmqrgWx3H qqZi5v3Rbk8iCKgZ2ZrOCYc5/xJDrr1KPsZ0xr6pnCj2Zqha67FX1AtCq u4lnDUH1XNwQeXXHmK4jN0dwRxV+KDYe8RlBGzOK05We2x68WeoSj8+8E 4LEJrseBJEeJRw5KJyASW9vzwp5tLkTk/9iL1K0tajTemRExVJkJfb2vW 0XkdF5DyNZeZFPu/mR+Gwdafsir95SoYoKNOAHYX69rxQ1kZYnm3NAQ+B A==; X-IronPort-AV: E=McAfee;i="6400,9594,10380"; a="366172500" X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="366172500" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jun 2022 02:19:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="537595084" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga003.jf.intel.com with ESMTP; 20 Jun 2022 02:19:27 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX601.amr.corp.intel.com (10.22.229.14) 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:19:26 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) 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:19:26 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) 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:19:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RgiR3TJMrrv3uZGHcQ7wWYG5QbRn5OvimvR3fktHc5MIWE75nBqy6RPP8a4aIbrNLSODp6onx8bPTT4lSkAy8Bhdm9FHThCT6doQKdI9Z3bnZ4S3plaA+UeLIgLvSlc3Zd1GN7AowtZ4b/iXlaf+eIofbTHHs/rHhvySVvaDvXGWWQQlW+TekPKp1UT+1lemiJoQnAecxXPtpCD0/ZSmnLP9Gi93V8TxginOFUMItmITIw1XNwTKgrtvYvStIbc6WHLt+i1b4WQYUx03CHWtkxoTxrHvCf2AF0DR2sGsyG7xi0w/L4BX83WBuboeged4wFWwWbVMJLhWbhoy0IZUqA== 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=3nYKVxJHOacqzvw9mIn/HmgadquXx/g4TsZMmdzAzw4=; b=ef8d6Y+t4vIwiy1629VnxB0j/MB7Dxlu/VcWp4QsV4sDPch58CKNysBCV03BCuVRU/tmpIHyfG109wRhznlE+9p/K+wqaPr5L+tasonxr34/rFcY6LM/pngt5oLJrUyOoA4gwf9QepGvrTtTIXcvOsD02qm/xCpLz14LmiRC5duSenkurwCKFIAvjZLU4vnxbbQWH9BMKQ0sitAwWY443QE6G1PW+ctYAet61UadMqv9Cj8g/Pa0jGh4+A6/I81D5cQjUdy36zwBXNwBgorsYpJDqWlN/VbwZ0io6hmpoQhdzLV5t08T2Ix8bZYBmhXTi0spHDmRMXefDJcf2SW47w== 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 CO1PR11MB4897.namprd11.prod.outlook.com (2603:10b6:303:97::20) by DM6PR11MB4644.namprd11.prod.outlook.com (2603:10b6:5:28f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.14; Mon, 20 Jun 2022 09:19:13 +0000 Received: from CO1PR11MB4897.namprd11.prod.outlook.com ([fe80::a824:370f:1af5:3f57]) by CO1PR11MB4897.namprd11.prod.outlook.com ([fe80::a824:370f:1af5:3f57%8]) with mapi id 15.20.5353.016; Mon, 20 Jun 2022 09:19:13 +0000 From: "Wang, YuanX" To: "Xia, Chenbo" , "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/44Vhy1elAUWG5f1zm9VkSa1XpRoAgABHhwCAAAOzAIAAE5EAgAAC7wCAAACQ0A== Date: Mon, 20 Jun 2022 09:19:13 +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 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: 75f2fb08-7904-40d3-d561-08da529df0de x-ms-traffictypediagnostic: DM6PR11MB4644: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: bGXgnYXsfnnyXQ1ox5zY6N+ZJvTI8450+08voY7LaAe0hd9XiiII3ec77nflFYfrwkkr5BMRpFvVryKFaIdHXKqkl25nwMys6GXv4iTWAnCCMeSbi5vriMACLt8ciGN8McqSlpnsCtwheZNY7MIXPbhu4TztqjhRB6gZzK+mjh6rViBgZmGw5/TDRkjc2XtwgDKiZTD3n5fBFnGdYcYF6TL+StU8Ge1wmU3qKepApRJnKv1xojYgHkiFcnO+1lA1N4NXN6hE+q0A7UrIrbZjnkh24FREG7xHLl1thnOzIxtsyIPHM/gNvqk0xJ2HN2ZCtSUTAjMIOTwpd5Rz8iagNRvidDZN1RkwP3LqHM5P8nSGLD3yprvXsXbJCP4Ff4WIeMkJ2hFWyBq7VUzqO6srMHcvoEYsKrcxP0Q+AwB0j+ungmx4Zy42ng//PODPaqXJm/Qd7Xkkb3nHOcOD/4qUeyr9e49FlG/dIvRYbg5tc4Lvljx8f3j5NDrlwsCOSLtcyIbb+i43XeTU0PFl2Eo+NXfRAt4eLo+MvdGgSMw2g0dLvoHVPJiVzPNZvisU0+B8mB/kZ+liizAHv3S81/68rtqB6thL82MvRlke5tcwTAtqCdgxfmDtQ1XlmQ3SpryRcBoaJtX4u9Eost4YcgaU1bwWDCRBdamnBiqrJfocLGTXR3eUJ/6B3aHq3iHqwS8/kpiy9SvFmT8cl4O7yiozdQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR11MB4897.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(9686003)(26005)(38100700002)(7696005)(53546011)(55016003)(33656002)(6506007)(5660300002)(52536014)(8936002)(2906002)(122000001)(498600001)(66446008)(8676002)(4326008)(66946007)(83380400001)(71200400001)(76116006)(82960400001)(38070700005)(64756008)(86362001)(186003)(66556008)(66476007)(316002)(54906003)(110136005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U01Ed3d1VU45ckp0ZmtUOWYzbGdybmRlc1ZDWGtna3htRW1SZUhsTDZPVGYz?= =?utf-8?B?SFNXam5MY0lBRE5OZzc0UjFBTkxPaVdKYzl1K0dpSE5Ec1NTZUdhY0RFU0dV?= =?utf-8?B?QjRlNFFNc1JNS1FyMGRacEo4aGJJYVBpQnppWUJ2OG5Ib091UUEreHdOUmZr?= =?utf-8?B?TGY2dlpOU2s4NVJMZFlPa3RsKzRLN0l1VVZxR00vck1IK1ZRYWcyMzhlNE9X?= =?utf-8?B?WFptekJMU05ySFRyZFBHVk1uS2V4SHB5dmQwU2RObTVhaDFxdGM1TE5sQS9z?= =?utf-8?B?T2U4cnd5eFJwTXZIKythTmRhYWNzb1JPUWRtWVJ6ZWxSZURubnUzaEN2a2JY?= =?utf-8?B?UTJBMTBpN3dIbkNZLzBod0x4ZzU2UmdjVXJjUHdDQ3NOeTl4c1hSWjV5V1ky?= =?utf-8?B?WkhuQUVTQ1pXTW5NanEvMENiZ2VaTm1FR2FFWnJjTnRHWlE4QUc2SW5GbXc5?= =?utf-8?B?RFJuR1k4V0ZtN3JFQ2REbHhRZ2tFcFFRS1IzRFJjUHJNWTFDMENubTRqeW9m?= =?utf-8?B?c1pwWnc1eFVmSTRjZ0RhUXlIMkhQWFRaMWhKQ3g3S2tIZWNMSkRsemRhWkx3?= =?utf-8?B?RkN5dkpUaFV5MUVkNW5qQWsrb2ZFN2kwMHp5SnJhQmlnNTgzTlVVd3FWOHp1?= =?utf-8?B?STA2eVNXVUE5SjNjVG55OG1vMzRUbE83QmNkN1A1UHBzQ2tRbnhTK1VlVUNz?= =?utf-8?B?VEkwdjlzb0t2MlBFYlhuUHRHOFFQZm84U3Q4OXRXTG1CanhkQXVNMVozaG94?= =?utf-8?B?YlN3VHR5bWNHczdPc2kraWNyNXJvUktUYmpVcFIyMld1VXJqaVg1aWg2TWRh?= =?utf-8?B?UzNVK0hKNFQ0K2dWdko2ODZZRTBnYy9hc3AzUVZEMy9YL2daR0dHUW9CWDRP?= =?utf-8?B?VkJReFpjQUhHSVVYL3N0ZERaamNSMTVPL1dqT1cxUW5yNmhORHdXNHg0YXdY?= =?utf-8?B?Vjc2UmdkbllFUUNKWUJxNHpDT0hQbmptTFNzbG1LTUxkVVkrekk5L1l3YTM5?= =?utf-8?B?NGN0bEt3d2pyMnN0YmpHOVhpSmNYMmFEakRoc09VQmtxUU44NUEyaHBGU2Fx?= =?utf-8?B?Wkpja2JFYkljcUZpNWxBOTdYdTcxbWFxL1hyVmRPdDdJcnltUi83SEV0bk1Y?= =?utf-8?B?N1hpVjdkK2doZXo1REFpVENoeTlESTA5UzFWNStWUm9YVkdScmYvVi8wb0FS?= =?utf-8?B?VldpYkl6ZkZQWHQ0dTU5Wit4bkFKNFJiZ2c0NEw0SzcwQ0tkOWtQS0Rtdmx0?= =?utf-8?B?dWc1ejBHQWUxSkZuZkRyQ0I3TFhxS3NKYkxQdDFzTHRQdFNJSG00RzVFcGpW?= =?utf-8?B?NHBsU0dDS0g4cXc4STFyMTBjejVsclpkRldqZ3lGeTRYMWMwdmxabDRJZE5q?= =?utf-8?B?TGtuMVptdGRYQ0tkVnM3dlBZKzhPblRza0pPbHJ1VHhPcGZwZXc1NnFtYytx?= =?utf-8?B?Ry9zU0M1b3NSaEZXV3dOTFZ0bHgwUkRQWVhjaUQ3YUFJYTY4WmNZVW44a1hR?= =?utf-8?B?YzhqYS85aXNiWVhYaUxpS3lSSFZ3ZEREWWZjOENMVnZWOGFJbm1ETnZrelcv?= =?utf-8?B?WnZSd1llN1ZaVGU4c2YwaUUvQ1RPano5M3lyUjdGSTgrdkNRcnZlS1JteTJm?= =?utf-8?B?Z0dUMXArRVVGNEZFWTlCZW9LR0dGZGl0WWkvV04xbk1KdmdTVjQyWmtOcGRl?= =?utf-8?B?b1lXMEdXRHFaRHo2MG1Db2dlQ3BFMFJqNHhiTTVQeTh3VXpwRHFSd0xOM0l0?= =?utf-8?B?d2dpTDdYbnBYa3oyMHp4R3dUa0ZIWkNBR3BUbXdiN0FvOGlFR2FSUElzWVR3?= =?utf-8?B?QVJCaHkzMVZPd3VuOW5BL1o5VEppMDNJa3RDT1lKdWdQU1FsOE5aSHBDaWMr?= =?utf-8?B?NjVCYiszdE1kU2h4dFc2c3ZSdXM2SW9BSE9rYUVaemRiNjZBK0l2T2NIZWlQ?= =?utf-8?B?VXFST2gvYnhabWRMUzRNVmY2d2MzT2wvU3FQeFRwdXVNWERWVm9jd2pQZGxo?= =?utf-8?B?bEdXSjNpYnR4bktJYlhtUjVkbjIyMWk5RC8zUkcxZUwwT2FjNGtHUHA1a0VH?= =?utf-8?B?ZVpiT2l5U05EQldOKzRyUEE0aC9KYmpkL3RER2RzTHp1aHBvTEdhcUloS3Ja?= =?utf-8?B?RGVLbUc0TkM1cVdKYlFzaGt0RXpNRlc1UHp0QTJoN0lqR2pMMGdnREQ3cEoy?= =?utf-8?B?bnBaNDYwZXlWWkZ0VU9FaXA1dlc1YTR1czVhRThXV1dpWi9LK2xjKzRnaG1C?= =?utf-8?B?dUxuL2J2S3lCT1dxdW5pWkRFaVdOMlFCWTNNZEVQc0VZQjgrMmk1cVFaZkJs?= =?utf-8?B?SGZBVkxNY3lmbWc4VFZDRVBQNmx0bWhXMlVuclA3STlkZE1aT1BJQT09?= 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: CO1PR11MB4897.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75f2fb08-7904-40d3-d561-08da529df0de X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2022 09:19:13.0356 (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: pHfTs8pc1X0K23Cfv2MNyPwYrvsUr6Kw/e3c83EzG2k8V3JHsqOOh2mpENsH3tY1MD6339c7bdueIlJ8oTpLgA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4644 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWGlhLCBDaGVuYm8gPGNo ZW5iby54aWFAaW50ZWwuY29tPg0KPiBTZW50OiBNb25kYXksIEp1bmUgMjAsIDIwMjIgNToxMCBQ TQ0KPiBUbzogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBEYXZpZCBNYXJjaGFuZA0K PiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29t DQo+IENjOiBXYW5nLCBZdWFuWCA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7 IEhlLCBYaW5nZ3VhbmcNCj4gPHhpbmdndWFuZy5oZUBpbnRlbC5jb20+OyBzdGFibGVAZHBkay5v cmc7IExpbmcsIFdlaVgNCj4gPHdlaXgubGluZ0BpbnRlbC5jb20+OyBqaW4ubGl1QGNvcmlnaW5l LmNvbTsgbG91aXMucGVlbnNAY29yaWdpbmUuY29tOw0KPiBwZW5nLnpoYW5nQGNvcmlnaW5lLmNv bTsgSGVpbnJpY2ggS3VobiA8aGVpbnJpY2gua3VobkBjb3JpZ2luZS5jb20+DQo+IFN1YmplY3Q6 IFJFOiBbUEFUQ0ggdjJdIGV4YW1wbGVzL3Zob3N0OiBmaXggcmV0cnkgbG9naWMgb24gZXRoIHJ4 IHBhdGgNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBIdSwg SmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT4NCj4gPiBTZW50OiBNb25kYXksIEp1bmUgMjAsIDIw MjIgNDo1OSBQTQ0KPiA+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBE YXZpZCBNYXJjaGFuZA0KPiA+IDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPjsgbWF4aW1lLmNv cXVlbGluQHJlZGhhdC5jb20NCj4gPiBDYzogV2FuZywgWXVhblggPHl1YW54LndhbmdAaW50ZWwu Y29tPjsgZGV2QGRwZGsub3JnOyBIZSwgWGluZ2d1YW5nDQo+ID4gPHhpbmdndWFuZy5oZUBpbnRl bC5jb20+OyBzdGFibGVAZHBkay5vcmc7IExpbmcsIFdlaVgNCj4gPiA8d2VpeC5saW5nQGludGVs LmNvbT47IGppbi5saXVAY29yaWdpbmUuY29tOyBsb3Vpcy5wZWVuc0Bjb3JpZ2luZS5jb207DQo+ ID4gcGVuZy56aGFuZ0Bjb3JpZ2luZS5jb207IEhlaW5yaWNoIEt1aG4gPGhlaW5yaWNoLmt1aG5A Y29yaWdpbmUuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjJdIGV4YW1wbGVzL3Zob3N0 OiBmaXggcmV0cnkgbG9naWMgb24gZXRoIHJ4IHBhdGgNCj4gPg0KPiA+DQo+ID4NCj4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBYaWEsIENoZW5ibyA8Y2hlbmJv LnhpYUBpbnRlbC5jb20+DQo+ID4gPiBTZW50OiBNb25kYXksIEp1bmUgMjAsIDIwMjIgMzo0OSBQ TQ0KPiA+ID4gVG86IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPjsN Cj4gPiA+IG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tDQo+ID4gPiBDYzogV2FuZywgWXVhblgg PHl1YW54LndhbmdAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnOyBIdSwgSmlheXUNCj4gPiA+IDxq aWF5dS5odUBpbnRlbC5jb20+OyBIZSwgWGluZ2d1YW5nIDx4aW5nZ3VhbmcuaGVAaW50ZWwuY29t PjsNCj4gPiA+IHN0YWJsZUBkcGRrLm9yZzsgTGluZywgV2VpWCA8d2VpeC5saW5nQGludGVsLmNv bT47DQo+ID4gPiBqaW4ubGl1QGNvcmlnaW5lLmNvbTsgbG91aXMucGVlbnNAY29yaWdpbmUuY29t Ow0KPiA+ID4gcGVuZy56aGFuZ0Bjb3JpZ2luZS5jb207IEhlaW5yaWNoIEt1aG4gPGhlaW5yaWNo Lmt1aG5AY29yaWdpbmUuY29tPg0KPiA+ID4gU3ViamVjdDogUkU6IFtQQVRDSCB2Ml0gZXhhbXBs ZXMvdmhvc3Q6IGZpeCByZXRyeSBsb2dpYyBvbiBldGggcngNCj4gPiA+IHBhdGgNCj4gPiA+DQo+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IERhdmlkIE1h cmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPiA+ID4gPiBTZW50OiBNb25kYXks IEp1bmUgMjAsIDIwMjIgMzozNiBQTQ0KPiA+ID4gPiBUbzogWGlhLCBDaGVuYm8gPGNoZW5iby54 aWFAaW50ZWwuY29tPjsNCj4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20NCj4gPiA+ID4gQ2M6 IFdhbmcsIFl1YW5YIDx5dWFueC53YW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgSHUsIEpp YXl1DQo+ID4gPiA+IDxqaWF5dS5odUBpbnRlbC5jb20+OyBIZSwgWGluZ2d1YW5nIDx4aW5nZ3Vh bmcuaGVAaW50ZWwuY29tPjsNCj4gPiA+ID4gc3RhYmxlQGRwZGsub3JnOyBMaW5nLCBXZWlYIDx3 ZWl4LmxpbmdAaW50ZWwuY29tPjsNCj4gPiA+ID4gamluLmxpdUBjb3JpZ2luZS5jb207IGxvdWlz LnBlZW5zQGNvcmlnaW5lLmNvbTsNCj4gPiA+ID4gcGVuZy56aGFuZ0Bjb3JpZ2luZS5jb207IEhl aW5yaWNoIEt1aG4NCj4gPiA+ID4gPGhlaW5yaWNoLmt1aG5AY29yaWdpbmUuY29tPg0KPiA+ID4g PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBleGFtcGxlcy92aG9zdDogZml4IHJldHJ5IGxvZ2lj IG9uIGV0aCByeA0KPiA+ID4gPiBwYXRoDQo+ID4gPiA+DQo+ID4gPiA+IE9uIE1vbiwgSnVuIDIw LCAyMDIyIGF0IDU6MjAgQU0gWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiA+ ID4gd3JvdGU6DQo+ID4gPiA+ID4gPiBkcmFpbl9ldGhfcngoKSB1c2VzIHJ0ZV92aG9zdF9hdmFp bF9lbnRyaWVzKCkgdG8gY2FsY3VsYXRlIHRoZQ0KPiA+ID4gPiA+ID4gYXZhaWxhYmxlIGVudHJp ZXMgdG8gZGV0ZXJtaW5lIGlmIGEgcmV0cnkgaXMgcmVxdWlyZWQuDQo+ID4gPiA+ID4gPiBIb3dl dmVyLCB0aGlzIGZ1bmN0aW9uIG9ubHkgd29ya3Mgd2l0aCBzcGxpdCByaW5ncywgYW5kDQo+ID4g PiA+ID4gPiBjYWxjdWxhdGluZyBwYWNrZWQgcmluZ3Mgd2lsbCByZXR1cm4gdGhlIHdyb25nIHZh bHVlIGFuZCBjYXVzZQ0KPiA+ID4gPiA+ID4gdW5uZWNlc3NhcnkgcmV0cmllcyByZXN1bHRpbmcg aW4gYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBwZW5hbHR5Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IFRoaXMgcGF0Y2ggZml4IHRoYXQgYnkgdXNpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biB0eC9yeA0KPiA+ID4gPiA+ID4gYnVyc3QgYXMgdGhlIHJldHJ5IGNvbmRpdGlvbi4NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IERvZXMgaXQgbWVhbiB3ZSBkb24ndCBuZWVkIHRoZSBBUEkgcnRlX3Zo b3N0X2F2YWlsX2VudHJpZXMoKQ0KPiBhbnltb3JlPw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSmlh eXUvWXVhbi9NYXhpbWUsIHdoYXQgZG8geW91IHRoaW5rPw0KPiA+ID4gPg0KPiA+ID4gPiBGV0lX LCBJIHN0aWxsIHNlZSBhIHVzZXI6DQo+ID4gPiA+IHZpcnRpby1mb3J3YXJkZXIvdmlydGlvX3Zo b3N0dXNlci5jOiAgICAgKiBUaGlzIGNoZWNrIGVuc3VyZXMgdGhhdCB3ZQ0KPiA+ID4gPiBkbyBu b3QgY2FsbCBydGVfdmhvc3RfYXZhaWxfZW50cmllcw0KPiA+ID4gPiB2aXJ0aW8tZm9yd2FyZGVy L3ZpcnRpb193b3JrZXIuYzogICAgICAgIHRyeV9yY3YgPQ0KPiA+ID4gPiBydGVfdmhvc3RfYXZh aWxfZW50cmllcygoaW50KXJlbGF5LT52aW8udmlvX2RldiwNCj4gPiA+ID4NCj4gPiA+ID4gQ2Mn ZCBhIGZldyBDb3JpZ2luZSBndXlzLg0KPiA+ID4NCj4gPiA+IFRoYW5rcyBEYXZpZCBmb3IgdGhp cyBpbmZvISBUaGVuIEkgZ3Vlc3Mgb25seSBzcGxpdCByaW5nIGlzIHVzZWQgaW4NCj4gPiA+IHRo aXMNCj4gPiB1c2UgY2FzZT8NCj4gPiA+IElmIHdlIHdhbnQgdG8ga2VlcCBpdCwgdGhlbiB0aGlz IEFQSSBzaG91bGQgYWxzbyBiZSBmaXhlZCBhcyBpdCdzDQo+ID4gPiBub3QNCj4gPiBzdXBwb3J0 aW5nDQo+ID4gPiBwYWNrZWQgcmluZy4NCj4gPg0KPiA+IFNhbWUgaXNzdWUgZm9yIHJ0ZV92aG9z dF9yeF9xdWV1ZV9jb3VudCgpLCBhbmQgaXQgaXMgdXNlZCBpbiBPVlMuDQo+ID4NCj4gPiBCdXQg aWYgbG9vayBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBydGVfdmhvc3RfYXZhaWxfZW50cmll cygpLCBpdA0KPiA+IGNhbGN1bGF0ZXMgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgZGVzY3JpcHRv cnMgYnkgIiB2cS0+YXZhaWwtPmlkeCAtDQo+ID4gdnEtDQo+ID4gPmxhc3RfdXNlZF9pZHgiLg0K PiA+IFRoaXMgbG9naWMgbG9va3Mgc3RyYW5nZS4gQW55b25lIGtub3dzIHRoZSByZWFzb24gb2Yg dGhpcyBpbXBsZW1lbnRhdGlvbj8NCj4gDQo+IEkgd2FzIG5vdCBpbiB0aGUgaGlzdG9yeSwgYnV0 IGFzIEkgY2hlY2tlZCB0aGUgZ2l0IGxvZy4gU2VlbXMgaXQncyBiZWNhdXNlIGluIHRoaXMNCj4g Y29tbWl0LCB0aGlzIEFQSSB3YXMgbm90IGltcHJvdmVkIChUaGlzIEFQSSBpcyBpbnRyb2R1Y2Vk IGJlZm9yZSB0aGUNCj4gY29tbWl0KS4NCj4gDQo+IGNvbW1pdCBmNmJlODJkNzI1OWVlMzU2ODM3 MjEwOTJkNjEyODNkOTlhNDdhZmYxDQo+IEF1dGhvcjogWXVhbmhhbiBMaXUgPHl1YW5oYW4ubGl1 QGxpbnV4LmludGVsLmNvbT4NCj4gRGF0ZTogICBTdW4gT2N0IDkgMTU6Mjc6NTYgMjAxNiArMDgw MA0KPiANCj4gICAgIHZob3N0OiBpbnRyb2R1Y2UgbGFzdCBhdmFpbGFibGUgaW5kZXggZm9yIGRl cXVldWUNCj4gDQo+ICAgICBTbyBmYXIsIHdlIHJldHJpZXZlIGJvdGggdGhlIHVzZWQgcmluZyBh bmQgYXZhaWwgcmluZyBpZHggYnkgdGhlIHZhcg0KPiAgICAgbGFzdF91c2VkX2lkeDsgaXQgd29u J3QgYmUgYSBwcm9ibGVtIGJlY2F1c2UgdGhlIHVzZWQgcmluZyBpcyB1cGRhdGVkDQo+ICAgICBp bW1lZGlhdGVseSBhZnRlciB0aG9zZSBhdmFpbCBlbnRyaWVzIGFyZSBjb25zdW1lZC4NCj4gDQo+ ICAgICBCdXQgdGhhdCdzIG5vdCB0cnVlIHdoZW4gZGVxdWV1ZSB6ZXJvIGNvcHkgaXMgZW5hYmxl ZCwgdGhhdCB1c2VkIHJpbmcgaXMNCj4gICAgIHVwZGF0ZWQgb25seSB3aGVuIHRoZSBtYnVmIGlz IGNvbnN1bWVkLiBUaHVzLCB3ZSBuZWVkIHVzZSBhbm90aGVyIHZhcg0KPiB0bw0KPiAgICAgbm90 ZSB0aGUgbGFzdCBhdmFpbCByaW5nIGlkeCB3ZSBoYXZlIGNvbnN1bWVkLg0KPiANCj4gICAgIFRo ZXJlZm9yZSwgbGFzdF9hdmFpbF9pZHggaXMgaW50cm9kdWNlZC4NCj4gDQo+ICAgICBTaWduZWQt b2ZmLWJ5OiBZdWFuaGFuIExpdSA8eXVhbmhhbi5saXVAbGludXguaW50ZWwuY29tPg0KPiAgICAg UmV2aWV3ZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+ DQo+ICAgICBUZXN0ZWQtYnk6IFFpYW4gWHUgPHFpYW4ucS54dUBpbnRlbC5jb20+DQo+IA0KDQpJ dCB3YXMgaW50cm9kdWNlZCBieSB0aGlzIGNvbW1pdC4NCg0KY29tbWl0IDcyMDJiMGE4MjQwMTU4 YjMxNzY2NWMyMDUyNWY4MWQ1NWYxNmY2MDINCkF1dGhvcjogSHVhd2VpIFhpZSA8aHVhd2VpLnhp ZUBpbnRlbC5jb20+DQpEYXRlOiAgIFRodSBPY3QgOSAwMjo1NDo1MSAyMDE0ICswODAwDQoNCiAg ICB2aG9zdDogZ2V0IGF2YWlsYWJsZSB2cmluZyBlbnRyaWVzDQoNCiAgICBTaWduZWQtb2ZmLWJ5 OiBIdWF3ZWkgWGllIDxodWF3ZWkueGllQGludGVsLmNvbT4NCiAgICBBY2tlZC1ieTogQ2hhbmdj aHVuIE91eWFuZyA8Y2hhbmdjaHVuLm91eWFuZ0BpbnRlbC5jb20+DQogICAgW1Rob21hczogc3Bs aXQgcGF0Y2hdDQoNCkNoZWNrIGZvciB0aGUgZGVmaW5lIG9mIFZRLCBpdCBpcyBvYnZpb3VzIGZv ciBzcGxpdCByaW5nLiANCg0Kc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSB7DQoJc3RydWN0IHZyaW5n X2Rlc2MJKmRlc2M7CQkJLyoqPCBWaXJ0cXVldWUgZGVzY3JpcHRvciByaW5nLiAqLw0KCXN0cnVj dCB2cmluZ19hdmFpbAkqYXZhaWw7CQkJLyoqPCBWaXJ0cXVldWUgYXZhaWxhYmxlIHJpbmcuICov DQoJc3RydWN0IHZyaW5nX3VzZWQJKnVzZWQ7CQkJLyoqPCBWaXJ0cXVldWUgdXNlZCByaW5nLiAq Lw0KCXVpbnQzMl90CQlzaXplOwkJCS8qKjwgU2l6ZSBvZiBkZXNjcmlwdG9yIHJpbmcuICovDQoJ aW50CQkJYmFja2VuZDsJCS8qKjwgQmFja2VuZCB2YWx1ZSB0byBkZXRlcm1pbmUgaWYgZGV2aWNl IHNob3VsZCBzdGFydGVkL3N0b3BwZWQuICovDQoJdWludDE2X3QJCXZob3N0X2hsZW47CQkvKio8 IFZob3N0IGhlYWRlciBsZW5ndGggKHZhcmllcyBkZXBlbmRpbmcgb24gUlggbWVyZ2UgYnVmZmVy cy4gKi8NCgl2b2xhdGlsZSB1aW50MTZfdAlsYXN0X3VzZWRfaWR4OwkJLyoqPCBMYXN0IGluZGV4 IHVzZWQgb24gdGhlIGF2YWlsYWJsZSByaW5nICovDQoJdm9sYXRpbGUgdWludDE2X3QJbGFzdF91 c2VkX2lkeF9yZXM7CS8qKjwgVXNlZCBmb3IgbXVsdGlwbGUgZGV2aWNlcyByZXNlcnZpbmcgYnVm ZmVycy4gKi8NCiNkZWZpbmUgVklSVElPX0lOVkFMSURfRVZFTlRGRAkJKC0xKQ0KI2RlZmluZSBW SVJUSU9fVU5JTklUSUFMSVpFRF9FVkVOVEZECSgtMikNCglpbnQJCQljYWxsZmQ7CQkJLyoqPCBV c2VkIHRvIG5vdGlmeSB0aGUgZ3Vlc3QgKHRyaWdnZXIgaW50ZXJydXB0KS4gKi8NCglpbnQJCQlr aWNrZmQ7CQkJLyoqPCBDdXJyZW50bHkgdW51c2VkIGFzIHBvbGxpbmcgbW9kZSBpcyBlbmFibGVk LiAqLw0KCWludAkJCWVuYWJsZWQ7DQoJdWludDY0X3QJCWxvZ19ndWVzdF9hZGRyOwkJLyoqPCBQ aHlzaWNhbCBhZGRyZXNzIG9mIHVzZWQgcmluZywgZm9yIGxvZ2dpbmcgKi8NCgl1aW50NjRfdAkJ cmVzZXJ2ZWRbMTVdOwkJLyoqPCBSZXNlcnZlIHNvbWUgc3BhY2VzIGZvciBmdXR1cmUgZXh0ZW5z aW9uLiAqLw0KCXN0cnVjdCBidWZfdmVjdG9yCWJ1Zl92ZWNbQlVGX1ZFQ1RPUl9NQVhdOwkvKio8 IGZvciBzY2F0dGVyIFJYLiAqLw0KfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0KDQpUaGFua3MsDQpZ dWFuDQoNCj4gVGhhbmtzLA0KPiBDaGVuYm8NCj4gDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gSmlh eXUNCj4gPg0KPiA+ID4NCj4gPiA+IFRoYW5rcywNCj4gPiA+IENoZW5ibw0KPiA+ID4NCj4gPiA+ ID4NCj4gPiA+ID4NCj4gPiA+ID4gLS0NCj4gPiA+ID4gRGF2aWQgTWFyY2hhbmQNCj4gPiA+DQo+ ID4NCg0K