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 98A1C42A1B; Thu, 11 May 2023 10:59:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8CF8342D6C; Thu, 11 May 2023 10:59:31 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id A478C42D5E for ; Thu, 11 May 2023 10:59: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=1683795569; x=1715331569; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=fuaqaDV/xZGZTPRMBbFfZPAve2usmQqhuqvF6bVOTVw=; b=lGcMeppeFuyvyP8cwEOgCgjwtDF4DmCtJxl8hz4R2SOpS6hNcmytTlRt 12wi+zXpjEiUnnoXbQtAO2SVGlPZj2rlHSIixYSRtT8OJ5f1qaMlUqVql TS5uI5hnH8/CAB7oyI2ZncMAQj6odwBG0evtR7EtIPWKWP65rHC375gCH 6HE1uTnCEibJAtXZasV8+mFNok4WyMALOXZCXoJFMHV2arhJ3w54d27G6 3e1hOLgvXZda2mLiTLBEZYYrkevjFsx3BCnb7iqPU110YyJGRC2T0IXdT 5dPC2bTpIWa1XAo7GHi+a3SviHl1GhwWRWJtpb35mbv+TPhXLkLJC4afJ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10706"; a="330065678" X-IronPort-AV: E=Sophos;i="5.99,266,1677571200"; d="scan'208";a="330065678" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2023 01:59:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10706"; a="730263844" X-IronPort-AV: E=Sophos;i="5.99,266,1677571200"; d="scan'208";a="730263844" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP; 11 May 2023 01:59:28 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 11 May 2023 01:59:27 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Thu, 11 May 2023 01:59:27 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 11 May 2023 01:59:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L163i8NGcrsufQCPiOARGisjCf6pa0J3HFJpD5dkFARHkbZ8fD0ZvLM5CZBgGxVROrSiXF16teBIji+PWoQKvv9myuW79jK3RopWCnjzaDgRizXNQyfHxfJ4hV/IAbDoqb1yGya0nxU0pHcebGn8VBgDUT3Q5HtT3cc2pb9SwZyedRv3GCmXZrIHjQugk7zvDtLaPpc0pcGiIp7xTEpgH7e+tz2N3yWz4gxOqWUgZi1semIUIuOSwYx364T/s/FqctvxZlChjrRLiHG1IrvoCo3JVRukxGuVZT3nSQ5i1e0Cy6LIsghio7uHNLtFEwiclzOniDzYkOFrus5fd2cLWg== 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=fuaqaDV/xZGZTPRMBbFfZPAve2usmQqhuqvF6bVOTVw=; b=F9zxk/tu9lFmPFAuuVT1B+q9WSy30H4Gqd6hTSz3Q1EEtp+plviKu7eKnQAz0oIL/3S1Bbf2ShFXvqi4i/sP703bkdl5yAehzfk9d0JaqLdB711tKryLfbLW2VAW8guCcIRwDhzMUF/xzyNGCyEQm4sSc2xwCSW09B3uYPsPGeD/M2dYK8oUqsb53320eanWuHOeF5iCTvYGS+ultSvm1FUhl4V/QJ45dTy1yiFIGuWY44/fqYm9JhTw57xExabCrebn0XGszCrwJgYZCkaoBpgk3yCaPnZPg2raL7KYTAdwb2txs9kwtc11PdmmV0VBDAvSGQVDDH6qunKtOBPb/Q== 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 CY5PR11MB6212.namprd11.prod.outlook.com (2603:10b6:930:24::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.32; Thu, 11 May 2023 08:59:15 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::e427:f0a6:8472:d0f6]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::e427:f0a6:8472:d0f6%6]) with mapi id 15.20.6387.019; Thu, 11 May 2023 08:59:15 +0000 From: "Xia, Chenbo" To: "Jiang, Cheng1" , Maxime Coquelin CC: "dev@dpdk.org" , "Hu, Jiayu" , "Ding, Xuan" , "Ma, WenwuX" , "Wang, YuanX" , "He, Xingguang" , David Marchand Subject: RE: [PATCH 0/2] vhost: add port mirroring function in the vhost lib Thread-Topic: [PATCH 0/2] vhost: add port mirroring function in the vhost lib Thread-Index: AQHZc/LS0gIXkBQYaUKgOygL9SdXaa9IXaoAgAgKKoCABHvSkA== Date: Thu, 11 May 2023 08:59:14 +0000 Message-ID: References: <20230421010932.46847-1-cheng1.jiang@intel.com> <42af2ea2-0c07-bc76-e086-9eb6bf0c639e@redhat.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-traffictypediagnostic: SN6PR11MB3504:EE_|CY5PR11MB6212:EE_ x-ms-office365-filtering-correlation-id: f21d0a8f-48c0-4b86-3da3-08db51fdfef7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R8Ah2KRss3FSKLAIcl5EMrhM3rEXQrmCKEUbJAP2C07q0uZdTE6vLSBJX9HRGfmt5RAmSMhm8lvVe2cwblrBf2CC3q8EeoJHtyRTXudM14Pj4O3iBfukQuxEsCfeRKPlIVuher70+m6qvt4UXW72KhkpE0RbfIeTesyY21QyPqQl3ntZ9msFyz0UT1BaMxiXRaAGI4j+8YTRn97YN7QLB1zlHVPruM+HKeT/wtbbUPV5J5/VNbH33VSZCKDVhHCF8GuzTrZMXh0rfzln1R8IRLk85LAmVqWmfMeTDX8i6m+MXXw8u9asHj0B/PoHb+R/DQmYc99d1KDQ+b3gfF+5Yw8pEoaCMsHM44qEGMtJCUOO/6050gOFUyZV/suzHlJ4jjEFHA5GLPlxjsri7Ob91B5dpNPFAI0CYR9whT6Lrwml6J1ph7cVpRa1M92rUTE8DrMCZ5FNq5t+vVlhZ+cq3kN+uk6DS6oC6v4SV1vnCEVDbymiHB2eSdeesTNpESbl2Po+/1EXBrg8KtOP+6MP2PD+fHSwcMXokDSVHIcYpZf0ewfBS/2EW8MnxCXukhdo24QPl7aELPeTg/HXUwJI7eDgbrl3gMo07VDIsw+o2mJS7qurCDAE5Gx6cznVAgcl 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:(13230028)(346002)(136003)(366004)(39860400002)(396003)(376002)(451199021)(2906002)(478600001)(8936002)(52536014)(54906003)(71200400001)(316002)(41300700001)(8676002)(110136005)(66899021)(64756008)(66446008)(4326008)(66556008)(5660300002)(66476007)(66946007)(76116006)(7696005)(9686003)(53546011)(26005)(6506007)(186003)(82960400001)(66574015)(83380400001)(55016003)(38070700005)(86362001)(38100700002)(122000001)(33656002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Sm4yS3JmRVFjRzd1N1dHN0ZkNTVxdEozeGRpWm1jeFowZzdyaUg0WEI4RFFU?= =?utf-8?B?V2Jsb05KODF1STZYRk1ESzZ0TmN0eDl2ejcxclEzZWVhZmtaQmtTNDBNdXF6?= =?utf-8?B?eW9pV0ErbExyWEZZVDdsd3hqdXJVM1BYcGhqekxHUUh5NjQ4ZmxkRGlGZVBH?= =?utf-8?B?ZDhaai9WVzNIazg5MVQyaUJWQW5Cazl2Z2V5Z2hTallpaTBJM01FM0ZkeHFN?= =?utf-8?B?bC8xSUVpaTJieS94Z2FXZUU1MzArRHUwbHc3VVJKQWhiZDZFcVlKbFhhSkFG?= =?utf-8?B?WUFNQVArdjFlcnlRNm9nSmU2V0ZZOEp5QTNERjR0L05NNHQrQXBwRDdrTFRB?= =?utf-8?B?TnZzS3VueUozYVd3OTAvM1FuV3dFdTNvYWlMS04wci8xWEFubXA5eVB4SXZs?= =?utf-8?B?Q3BZSXg4eDU1ZFppR1U5dlN2dkRWZGMrUW9uOGp6RFRidmVXSXErSktvVGpa?= =?utf-8?B?TDkvSjdIZFFwUWxTY09nRmhieGVISUoyaFFGUFlsR2RMd2JiOE1lQ1YvVzRl?= =?utf-8?B?cnBLSU9EWTNHbmFQcVQrUEtMeERkMlJybFh0akNsRUpXQ3pjekJLUUhZTHBT?= =?utf-8?B?YmQyeDdML3ZOZldreUQra1RseUlpc01wU0xib2JwZTFydHdvaXIwcEFIanJ4?= =?utf-8?B?cmpEbmVpcUk3aEFkSUtabzg2MktaYjBiZUt0SXc3ek1UR2g5VWg5cWM5ZnpD?= =?utf-8?B?UmNiVTZyQVBhVjRyV09PMGdSUTNlVGFxeWJtdWVNYmZQYnB3L3RydVFxeWdz?= =?utf-8?B?UXZyWFVCdWY2c0xZYUV6RzNhNjhmOTFzTWIxYytYbm9ZK0ZlL0FPdkZvOGdS?= =?utf-8?B?YTRRTzNxV3NCRUFpWi92UWtGdS9Udkt0TGFyNkhsM1pDSUVLQ044d1dJNHJI?= =?utf-8?B?dTM5UGs5VEo2THkwTmRGeEJoSk8wVmNrRGtoSktIUVgxQmJBcng5T2tlUHZN?= =?utf-8?B?anFsTkhOamYrVXFqZU9wQ3FJWkFsTmJaa0M3Tm1aQnBkYUxnR1lhOUUwNXdr?= =?utf-8?B?YzRhZitCeUVkNzhkSHgxcWtWbnZ1TzBkVXYwM3NIZ3pKWHhUNnk2NmE3MU1B?= =?utf-8?B?dDBsZWN5THFGUzd1RHF4TEVqOVM3cXFxTnExTURLMEJhSHBVNzRYd0EremUr?= =?utf-8?B?QnJwRTMwTmU0NEd5SGpHa2RSS0h4QWphdEN5RHFkYUdlcmFjYy9GMG5pNlNI?= =?utf-8?B?M3lTd3JneSs2eGRLNm8vL2piV3I3RjY2Q2gySUxldGIrVk44R0VkcWdFRXJF?= =?utf-8?B?ell5UzZSeUJRamVhUmZNWHI4bmM0NmhwUWgvUXBESUozS1BXV3p3RFRPQXRM?= =?utf-8?B?aE5QVjk2SmVBZHNONktTRlpsZUtCNlJTOGlmMEk0OSt0YjlUcTlPeGpXaFFR?= =?utf-8?B?RTB1eGM2Yjc0allqMGZDKzF5YmVHQ1Q3QTFhN3FjaE1UUUhTWTVCY1hzZVMy?= =?utf-8?B?MDVpQmFTSFRxa3V3Q3BzN1VlQ2NldENFYkhteC9lMVNGS1ZZRG50T2dkVkdi?= =?utf-8?B?OUxtRkhzMTAycFVoUHhNY1g1Y2tRUkpSS2VwN1FEdDB1TE0zRElLTElQemNK?= =?utf-8?B?Sy9kL0Z1bEZ2ejJPMURVZlE5SmxWcStub2w2SC9NNkpJQjZrMnRkS1Myb3cz?= =?utf-8?B?Mm9qalZyYW01V3BEQkVUWnJXTldYc2xnUHVRMTVoKzhSS3hycVFXV0ZyME8y?= =?utf-8?B?dm5hL0JNQTZRUUpmN3l0TkF4U3kyOXRmYkE1RnhaOHpLOG5ic014NC84R1BQ?= =?utf-8?B?TDd0Q085dEJnQ21OZW1BNkFwNTJxK0tJeTE5TXVRNVlmR1psdVA5Nll3M2tG?= =?utf-8?B?ZFNpVkR4TzVYbTJZQWZGcDlFck9wK3E0aXFNTEVMVnBnRnZyeWl1czlZQmlm?= =?utf-8?B?MDJLd0hvWE52RHhVWXdPZ0JLeWJnMHdTU2dpaDJlbHF2YUNBK2ZKczlKZkNn?= =?utf-8?B?cWxKcVE5dElTeXFrcXdWNDFlS0Jva3QxMUh6SGRCZnBqcXNYQmFtTjJLSm5U?= =?utf-8?B?N1RKQkRiZHdnUHJlMVI2MHM0MExZTUFQb0NwQzIrdStDMyt5VURtOFJ3T0Jw?= =?utf-8?B?bEx4YlZBQUR5WW1mN2lCMTcxV0V4NGtldGNnU3pySS9FU0VsQVlZZk9LMmQ5?= =?utf-8?Q?l9Y7opNRQzw2WKIc300Suhiy0?= 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: f21d0a8f-48c0-4b86-3da3-08db51fdfef7 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2023 08:59:14.9171 (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: /AjZDy4Gh601ZcOxzpgIf5QxUbmxtxu1inSqdsM8VZgug3CJOMojNajnUgwBNPKdNa8PhgJ4of4WLwPi/G/K3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6212 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKaWFuZywgQ2hlbmcxIDxjaGVu ZzEuamlhbmdAaW50ZWwuY29tPg0KPiBTZW50OiBNb25kYXksIE1heSA4LCAyMDIzIDg6MjMgUE0N Cj4gVG86IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+OyBYaWEs IENoZW5ibw0KPiA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IEh1 LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPjsgRGluZywgWHVhbg0KPiA8eHVhbi5kaW5nQGlu dGVsLmNvbT47IE1hLCBXZW53dVggPHdlbnd1eC5tYUBpbnRlbC5jb20+OyBXYW5nLCBZdWFuWA0K PiA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBIZSwgWGluZ2d1YW5nIDx4aW5nZ3VhbmcuaGVAaW50 ZWwuY29tPjsgRGF2aWQNCj4gTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+ IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMC8yXSB2aG9zdDogYWRkIHBvcnQgbWlycm9yaW5nIGZ1bmN0 aW9uIGluIHRoZSB2aG9zdA0KPiBsaWINCj4gDQo+IEhpIE1heGltZSwNCj4gDQo+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5j b3F1ZWxpbkByZWRoYXQuY29tPg0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDMsIDIwMjMgNToz NyBQTQ0KPiA+IFRvOiBKaWFuZywgQ2hlbmcxIDxjaGVuZzEuamlhbmdAaW50ZWwuY29tPjsgWGlh LCBDaGVuYm8NCj4gPiA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+ID4gQ2M6IGRldkBkcGRrLm9y ZzsgSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBEaW5nLCBYdWFuDQo+ID4gPHh1YW4u ZGluZ0BpbnRlbC5jb20+OyBNYSwgV2Vud3VYIDx3ZW53dXgubWFAaW50ZWwuY29tPjsgV2FuZywg WXVhblgNCj4gPiA8eXVhbngud2FuZ0BpbnRlbC5jb20+OyBIZSwgWGluZ2d1YW5nIDx4aW5nZ3Vh bmcuaGVAaW50ZWwuY29tPjsgRGF2aWQNCj4gPiBNYXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVk aGF0LmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW1BBVENIIDAvMl0gdmhvc3Q6IGFkZCBwb3J0IG1p cnJvcmluZyBmdW5jdGlvbiBpbiB0aGUgdmhvc3QNCj4gbGliDQo+ID4NCj4gPiBIaSBDaGVuZywN Cj4gPg0KPiA+IE9uIDQvMjEvMjMgMDM6MDksIENoZW5nIEppYW5nIHdyb3RlOg0KPiA+ID4gU2lt aWxhciB0byB0aGUgcG9ydCBtaXJyb3JpbmcgZnVuY3Rpb24gb24gdGhlIHN3aXRjaCBvciByb3V0 ZXIsIHRoaXMNCj4gPiA+IHBhdGNoIHNldCBpbXBsZW1lbnRzIHN1Y2ggZnVuY3Rpb24gb24gdGhl IFZob3N0IGxpYi4gV2hlbiBkYXRhIGlzIHNlbnQNCj4gPiA+IHRvIGEgZnJvbnQtZW5kLCBpdCB3 aWxsIGFsc28gc2VuZCB0aGUgZGF0YSB0byBpdHMgbWlycm9yIGZyb250LWVuZC4NCj4gPiA+IFdo ZW4gZGF0YSBpcyByZWNlaXZlZCBmcm9tIGEgZnJvbnQtZW5kLCBpdCB3aWxsIGFsc28gc2VuZCB0 aGUgZGF0YSB0bw0KPiA+ID4gaXRzIG1pcnJvciBmcm9udC1lbmQuDQo+ID4NCj4gPiBXaHkgbm90 IGp1c3Qga2VlcGluZyBtaXJyb3JpbmcgaW4gdGhlIHN3aXRjaC9yb3V0ZXI/DQo+ID4gSSBhbSBy ZWFsbHkgbm90IGNvbnZpbmNlZCB0aGlzIGlzIHRoZSB3YXkgdG8gZ286DQo+ID4gMS4gQVBJIGlz IHRvbyBjb21wbGV4DQo+ID4gMi4gSXQgcmVxdWlyZXMgYXN5bmMgc3VwcG9ydA0KPiA+IDMuIFRo ZXJlIGlzIHRvbyBtdWNoIGNvZGUgZHVwbGljYXRpb24sIGl0IGluY3JlYXNlcyAgdmlydGlvLW5l dC5jIGJ5DQo+ID4gICAgIDMwJSwgYW5kIGl0IGlzIHdpdGhvdXQgcGFja2VkIHJpbmcgc3VwcG9y dC4NCj4gPiA0LiBJZiBtaXJyb3IgcG9ydCBpcyBkb3duIGZvciBhbnkgcmVhc29uLCBwYWNrZXRz IHRvL2Zyb20gdGhlIG9yaWdpbmFsDQo+ID4gICAgIHBvcnQgYXJlIGRyb3BwZWQuDQo+ID4gNS4g SXQgc2VlbXMgdG8gYXNzdW1lIG5lZ290aWF0ZWQgZmVhdHVyZXMgb2YgdGhlIHR3byBwb3J0cyBh cmUNCj4gPiAgICAgaWRlbnRpY2FsLCBlLmcuIFZpcnRpby1uZXQgaGVhZGVyIGxlbmd0aD8gSWYg c28sIHRoYXQncyBub3QgYQ0KPiA+ICAgICBtYW5hZ2VhYmxlIHNvbHV0aW9uLg0KPiANCj4gVGhh bmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLg0KPiBJIGNvbmN1ciB0aGF0IHBsYWNpbmcgdGhlIG1p cnJvciBmdW5jdGlvbiBpbiB0aGUgVmhvc3QgbGlicmFyeSBpcyBub3QNCj4gaWRlYWwuIFdlIGFy ZSBjdXJyZW50bHkgY29uc2lkZXJpbmcgaW1wbGVtZW50aW5nIGVpdGhlciBhIG1pcnJvciBWaG9z dCBQTUQsDQo+IG9yIGFkZGluZyBhIGZ1bmN0aW9uIHRvIFRlc3RQTUQgdG8gaGFuZGxlIHRoaXMg ZnVuY3Rpb25hbGl0eS4NCj4gV291bGQgeW91IHBsZWFzZSBzaGFyZSB5b3VyIHRob3VnaHRzIG9u IHRoaXMgcGxhbiBhbmQgbGV0IHVzIGtub3cgd2hpY2gNCj4gb3B0aW9uIHlvdSBwcmVmZXI/DQoN CkJhc2VkIG9uIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIGl0IHNlZW1zIHRoYXQgdmhvc3QgbGli IGNvdWxkIGJlIGlnbm9yYW50DQpvZiB0aGUgbWlycm9yaW5nIHVzYWdlLiBNYWtpbmcgdGhlc2Ug bG9naWMgaW50byBBUFAgbGlrZSB0ZXN0cG1kIHNlZW1zIHRvIG1ha2UNCm1vcmUgc2Vuc2UuDQoN ClRoYW5rcywNCkNoZW5ibw0KDQo+IA0KPiBUaGFua3MgYSBsb3QsDQo+IENoZW5nDQo+IA0KPiAN Cj4gDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+IE1heGltZQ0KPiA+DQo+ID4gPg0KPiA+ID4gQ2hl bmcgSmlhbmcgKDIpOg0KPiA+ID4gICAgdmhvc3Q6IGFkZCBpbmdyZXNzIEFQSSBmb3IgcG9ydCBt aXJyb3JpbmcgZGF0YXBhdGgNCj4gPiA+ICAgIHZob3N0OiBhZGQgZWdyZXNzIEFQSSBmb3IgcG9y dCBtaXJyb3JpbmcgZGF0YXBhdGgNCj4gPiA+DQo+ID4gPiAgIGxpYi92aG9zdC9ydGVfdmhvc3Rf YXN5bmMuaCB8ICAgMTcgKw0KPiA+ID4gICBsaWIvdmhvc3QvdmVyc2lvbi5tYXAgICAgICAgfCAg ICAzICsNCj4gPiA+ICAgbGliL3Zob3N0L3ZpcnRpb19uZXQuYyAgICAgIHwgMTI2Ng0KPiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gICAzIGZpbGVzIGNoYW5nZWQs IDEyODYgaW5zZXJ0aW9ucygrKQ0KPiA+ID4NCj4gPiA+IC0tDQo+ID4gPiAyLjM1LjENCj4gPiA+ DQoNCg==