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 DC28044087; Tue, 21 May 2024 13:25:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5FABE402EF; Tue, 21 May 2024 13:25:02 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2111.outbound.protection.outlook.com [40.107.92.111]) by mails.dpdk.org (Postfix) with ESMTP id 50842402BB for ; Tue, 21 May 2024 13:25:00 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aTiUC6tk8wZHHlb7KOGdHsBzOj1amyYJDYD2BrsHkC1/ovg7SS9o7UsmNKCbL/nMYgAGwwroAAmNwtxj7MlQ97tXeIb/RwSlslwJ7PhQ05XmT4q/pQSDbmAfEgKO+IoLqkxALreY3HcOq8ywh9etVsFRtGYfbXOxEYVqjAQ/zQGETfNawY9H0zA4tTCXe5tUuWQ6WnbTMU2DScoIaTpPgkfOzdqnLTxNy55k1uFMYyKs45IHa/x/fiaKIl089b3O8BR/WipDAZJRHY/bxohhVBepnHjpgXUxq7u9IErNTd9qvyqEL3pEW/zdalJvs2LGW98/KYTThUzO/wq/ESSzNw== 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=nAyDbBDrd3TtU6tbPZFVvcT1qSrJzeNlUau8DiS1b/A=; b=PMbgXlH0zNrsMPQBQtBSSVf8USnlFyPboBUjhLlFVtNMGjsEJ1QgmeucctAkNb5kuOU9DzqqKF4fRqfR7iaLAAISa3Q71/T9sSCw/d9GqFimbLNcPZ4GrtJTcU8ZbtiTaf7GsIUbb5gVvv/gP4TgzcX6lfgVuKBtyXDgwt9ufKEjcFqFVeEw9acOA+4iT6bCKjGFRshDm2GaWQrfneYY8xuorrD4cVRDIFkDruq/NwFZuvEN7bsmK7+r4lMv24WbvehoHEi5hEDALzSxW4DNhOEhRg5bGAmj93uM8edJwq0UfRh+UEO6Lh+W9vSDm7MtKHUxGWETqbuMA56RgERt+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nAyDbBDrd3TtU6tbPZFVvcT1qSrJzeNlUau8DiS1b/A=; b=JdcgChQPa1hbRAZFr6e8qF12dKOui/DAmCqC4pSk0XejLi3CnRpunseKvTIm2wTLReD8APnZVSnS3nfIg/3HwwX+VxEMWKM6AqFSJIcB7b7A5HUwWdCf/NUbCXn/EWJ555/EC/fR6kcCuD/7GT/PWH10R+aGyknjzguNNrGMTqk= Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SA0PR13MB4110.namprd13.prod.outlook.com (2603:10b6:806:99::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.19; Tue, 21 May 2024 11:24:58 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833%7]) with mapi id 15.20.7611.013; Tue, 21 May 2024 11:24:58 +0000 From: Chaoyong He To: Ferruh Yigit , "dev@dpdk.org" CC: oss-drivers Subject: RE: [PATCH 0/8] refactor logic to support secondary process Thread-Topic: [PATCH 0/8] refactor logic to support secondary process Thread-Index: AQHakgd079cv52a5OEik/rh7YINsbbFvD2uAgDHUK4CAADlGUIAAnacAgAAA7nA= Date: Tue, 21 May 2024 11:24:57 +0000 Message-ID: References: <20240419031226.1191069-1-chaoyong.he@corigine.com> <20240419052349.1294696-1-chaoyong.he@corigine.com> <4c98caa6-7887-47bc-a41f-7cfb862e391f@amd.com> <0c46540a-d516-48c9-85c0-eb684b8d0adc@amd.com> In-Reply-To: <0c46540a-d516-48c9-85c0-eb684b8d0adc@amd.com> 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=corigine.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR13MB5545:EE_|SA0PR13MB4110:EE_ x-ms-office365-filtering-correlation-id: 44ca47e2-9686-4a75-57c9-08dc7988a58d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|1800799015|376005|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?SjVSQ1gxdlZZaTc1dFlhc3EyY3lsWHRSSXFWanhteElrU2hSWnlWQm5jRlhy?= =?utf-8?B?ZmV0NHJTay9sT0J5c01VeVNDQ1FocEZlL3pDMDJCVXREM3JkQVJuN2ROSDFI?= =?utf-8?B?TllFTlpDVGFnYjg4czJjZGRHUDhzNlVJMEg4UTFicFhtZVdLNkJibW5MNFFh?= =?utf-8?B?amhqeWpEcUlicklHR28wR3NUQ1A0UXVkVHdGbHp2ZG9mL3hWc0JCOURKRUNT?= =?utf-8?B?VFBLd0I0eVNadGxhQm9GbnV6VHQ2ZEg2TE8wMW1vZFJoeCtSUEZDOGUyLy8w?= =?utf-8?B?aUhSY3pOUzdBS2xsSmhCcVp6TVo2WWEwTDZWUER2ZDgwMkdQTUduYWNUckxi?= =?utf-8?B?a0QwR3MyMnFTd2gwZXJWWW91SzJNNVBpVTJOZjJvVE5DSTJoMDFaM25sUThC?= =?utf-8?B?VForV3hXYUJYTVVoS0p1SFFJYkgvUEd4WDVLT2xzdGY0cEpIcG8rNWd6UXhN?= =?utf-8?B?am42R0EzMlRicmtMSk82cS9uNHA4L09tRTBaV25Ob3lYdUczVTlXK2JhY0tu?= =?utf-8?B?dHFYRW1vbDFVWE5HendSOHluR1lDcUsxTSswVlB0MWU0NytWV1YzTjlvUElp?= =?utf-8?B?QWwrVzBaYjBjMy9PTGEvQXRSbVB1MDFMdkJHRXpISHkvcDBSeTcyMXYzRHFo?= =?utf-8?B?ditmVytMSG1FM2h1Yk5KeVhUUzM0VEg1eGt1MUQyRG1CU1BybmtQSVEzb0hy?= =?utf-8?B?WFg3WmQ1a3psSWlQa2REZ2pnWUx0UUNxYjZhbUtYcWhrSjBMRHRlZzhaQUtp?= =?utf-8?B?ZmNSS2pNVDVmN3dCTFVEbVJ0Z3FabWQwdzN3b0lIdjB4ZnVCbDBmaU1CamhJ?= =?utf-8?B?aW9WbHJaRU5NbnUyY1F6dHlBc1h3eHYwRUNFbExWa0loVlU4THNxT0hwU3lw?= =?utf-8?B?TUV6Wnl4ZFo0SC91Q1dtQTYyZXlmTVk5Z3pzSDAwcXNQYytoNEtvd1F4YlAx?= =?utf-8?B?TFYyVFp1anBUaFR2SUorelUySzVsMFFkL3p2YzZ1d2NIUXZPUm1RSnVBMk9m?= =?utf-8?B?T1NjMzVodWYyZ0lNbE55Uk1Ia0I0R3ZaZFh4RllIRkhwSFcyQkdncEp6aVYw?= =?utf-8?B?NUNPTEx4THlVMktPYWxQd0RKbnRqOGtMaEVhT1pJN1pCdWlkRkJmSHg4d253?= =?utf-8?B?eVhMUzcrbi9XcUxrNjVMQWhvRGY4WU9RWVpvemlGakFpVWNlSU93cnFOSGkz?= =?utf-8?B?YUVBbTArTFhrb1VGT21yYmRMSUhGaVkzd0xhNDRHR00zZlZ0cUROUjRGZ0Fz?= =?utf-8?B?eFBmNEx2RmhUL3Y0RHdnS1pJbjU3emVDUGRTN2xUeGtPK0R6YUt3U1lzWm1s?= =?utf-8?B?YmlJQzROZHFrM3J4d0pudUlkb3dSdHZRMnpIelR3dVB0M0w4RzFYa0w1Rk51?= =?utf-8?B?djM1ZU53OE1TeTNURWJvbWtDVzVGM3h5QUVUblpkc1Z2eVd4aDl1aXhaQS9X?= =?utf-8?B?SmwyalpCemM0M3RsMnZGa1Zwa0xwa2t2eWRETlVySTc5NVprV2NYSmpkN0pX?= =?utf-8?B?anlaZTlLVFpkNXJPeTBlZHcxeSs2cEswSjNyYVRIRWJDL2NKZS8wbWcvaHFI?= =?utf-8?B?VWVGSWNzL01LUjZwNDlJaXBUNmZZbk5KUWRiT1pwUmRKYVl2Z3BvZzdFa2t6?= =?utf-8?B?RkpEKzlTbkNoeWZDcTRQNXFCU0JZOWF4b3UxR3BJV1AwUXFDd0grcDJiWUI2?= =?utf-8?B?K3ZCTHBaaU5SUHgwbFZ4V29QNTFFcmJMaG9KL1g5cHplVlg5WEZZdjcvVGRm?= =?utf-8?B?YWVQcE5ERkNmY1Z6aGJ5Rjd4SVkyOTVVanYwencrOUhpMTdldEpQUG5jVVVx?= =?utf-8?B?WVdaRVpNdkQ3ZVhrZk92dz09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005)(366007)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y3RScTFjM1JMNTNRZlYyMWg2WjBuNDNCWXErZm5odXAzTEhZcENCZEVTVEhZ?= =?utf-8?B?QklxdGR6d0FxUndlWUtVbTFaNG1WRVFPcDRqUzhEZ08xd3l3dVFKNDFzbVdS?= =?utf-8?B?RnQ0U3ZGa3FqSkRudVVHOFFJRTQ0Wjk5bHZRdE1vczdGb21UVDNUY290V3Rp?= =?utf-8?B?Z29zUkMrOHVBbkdFcGhvU3VNMVJXWk5DQlJwN09XcEYrczdKNU80bHJGdEVz?= =?utf-8?B?MjNadXA5YmlGZGFyeHl3dUFleVJ4aU5JbEJERXM5RmRCRG5HQm1TRFZFTFFS?= =?utf-8?B?bFROTVZDbFZjcGk1Tkx0M1I2aUpnVndHZFpoVklwQVlrWXdjMkpzQzdIOU9K?= =?utf-8?B?cmJHclo2WU9EeTZ4YXhlWUcrcTBZNU42L3lDY2J0Yk03dVBBNE5mck1jMkJU?= =?utf-8?B?MklSNVNYQmg2ZVJPODNsMjdENWhCU2xCemxKTm83WEsvUDA0ZVUyMHJhM0ti?= =?utf-8?B?MnRtamg1V0NCbUYwMVo4WEc4dmY1dEJJbmw0QUpQUW0rU2R2QUlJUDBNajdD?= =?utf-8?B?dTRhcDVLaGVDRHdQc0tNZDRHUzBGUmduNEpEVWlsNGhrcGV1VWJqWFQ3SXE4?= =?utf-8?B?M1dpcGtQb2ZzZzk1UUJwSDNISjY2d2JKYXIwRWlmakdERkt0ZGhQcUl5dWZF?= =?utf-8?B?RXJaWUx4U1pPY1VQT1U5eUJHN0F6MytVOTdIM242Y2g0R3N1VUp5dUhvYTdr?= =?utf-8?B?MUdWSTRIVzJyUEF4UkJrQkZ4U0plS2Q0OEx3RlBYelAwUFp2djZaSVRvZ0NP?= =?utf-8?B?WUszTWFjcjVZeUl4Ry9Bdk1wSnkzTzZkWHhJNXNwZmhoU2dYV3pqaXpzMjlt?= =?utf-8?B?dUtNVVVFT0M4SFgvTllqZkRYVXN5VVNMTFhGUnRQVFBBTHJPNWNxOXFjZkd5?= =?utf-8?B?Zng2VjNhUnlHaGFYNitSV0NNVTA5azBSR1k1dmdvTlVXN0l0cGxWNG5laXMw?= =?utf-8?B?NHk1WkJnZC93Qi9OcXZLRlZDYmViNkdlVHlxczM2N2dBMVlabmdMWlN4TnNz?= =?utf-8?B?L3B5QTd2c3hDaERyS0hvWmludzVvUkRHbmhVSmd2cmRNRm4yb2l2VlpwNzVH?= =?utf-8?B?MXI0aEo3cGNKdHpQWGc4VjhvUjdlemUzQ2k0ZkNYWmZ4a0dkVTdJdC9GcndU?= =?utf-8?B?MnpZaWpwZW9lSUdVSVpWNFBseXRCaURlY2JGVVBmWHAxeUlLditBZ2JXZFla?= =?utf-8?B?TlBTWGFkUVRZcnBoWXV0VGtSNURwd21pVmx2YlY3aVFBVG50SGN3WlQ2VllY?= =?utf-8?B?NjZNRkI3dy9yRys4dDFGVHgzSlhnVjRoUE5ubzVEUlRMbzAvcGlkalJLR3lE?= =?utf-8?B?cHZpelpyUTl0VGx2YjFEN2Q2Q3orNS9jMWk0ejQyQW5YQ3dMVmZzYnJKNE1S?= =?utf-8?B?Tjl4cVJNK05hSkZIb1ZhOGtsSkx2V0xYYkRISEhRZGx3c0oyamdUbUdXeEZ3?= =?utf-8?B?QnM2eUhhdnZ2UC85QUprK3FxQlE0SE16b28xbFJ6NHlpemlYMHp5UTJLYi9P?= =?utf-8?B?RFFuUytZcTlKeTRWaERpUlFNL3gxR2QzUUVzUFYwMGQ2cEM1UU5yOGdXK1pH?= =?utf-8?B?ekVrWmxtZlpoRXFkc0pxZTNzUitXT3hFeUxwb3piUXdPL3h5RUlMOVRoZ3d2?= =?utf-8?B?M281YUF1WG9tUEROdEJCTnNkNE42TXhhczhoWDlaVGwzZGNCRjBYekFnbWp4?= =?utf-8?B?Umx0ZWtqZlJ0WkxHT2Nsc2RyYjU2Vks3OVEwQUVHV2hlR1JCbG1nS3luMzBQ?= =?utf-8?B?Z1IzbTE3Um41MjBsVjdLa3krd0pBa0VXUVJGZ3h2Zi9QSkFLckFhbFQxSUFX?= =?utf-8?B?NzAzcFVCbnV1TEpaRkMzMFNqMU5VcGlKaUIydS9LdkFicVVta3AvUDVxVk03?= =?utf-8?B?cmhvQVJCKzV1YnQyUkpRZ2NWUCtiaDI5Qm8xWnJMSHRlak5EdUtqQk4vU0hY?= =?utf-8?B?MXg0VGVUdEorNkVOc2oxRjdkTjR0RUhmdUdzbmFBc0NWOUZmaWh2NDRXM3pD?= =?utf-8?B?MGUrUDlHNzZHS3FiS3N1bVhQKy9HOXMyOUhsK0JHckplOHZVWTFxTU9mU2Vu?= =?utf-8?B?Y1dQTEdCSzE5WTg1bHhVaUNjanhneGgyVlBjaEt4eWJ0MzRRQjhCS2RVankr?= =?utf-8?Q?Dd2SiGFft/6GrP/XBHaZAFSP0?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44ca47e2-9686-4a75-57c9-08dc7988a58d X-MS-Exchange-CrossTenant-originalarrivaltime: 21 May 2024 11:24:57.9709 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: id8s3j6j8uUPqMXMUihoUO2WNz7JaKRJiwIgbtxT4MsTZ+e+X4tocZV5zYdH26kiVmA7sR+Grh0t/+H+YDRpNNmzNBF/5fhUSN49nv7z4uU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR13MB4110 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 PiBPbiA1LzIxLzIwMjQgMzoxNyBBTSwgQ2hhb3lvbmcgSGUgd3JvdGU6DQo+ID4+IE9uIDQvMTkv MjAyNCA2OjIzIEFNLCBDaGFveW9uZyBIZSB3cm90ZToNCj4gPj4+IFJlZmFjdG9yIGRhdGEgc3Ry dWN0dXJlIGFuZCByZWxhdGVkIGxvZ2ljIHRvIG1ha2UgdGhlIHNlY29uZGFyeQ0KPiA+Pj4gcHJv Y2VzcyBjYW4gd29yayBhcyBleHBlY3QuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBIaSBDaGFveW9uZywN Cj4gPj4NCj4gPj4gUGF0Y2hzZXQgbG9va3MgZ29vZCwgYnV0IEkgaGF2ZSBhIHF1ZXN0aW9uIHJl bGF0ZWQgdG8gdGhlIG1vdGl2YXRpb24NCj4gPj4gb2YgbW92aW5nIHNvIG1hbnkgc3RydWN0cyB0 byBwcm9jZXNzIHByaXZhdGUgZGF0YT8NCj4gPj4NCj4gPj4gTm9ybWFsbHkgZXRoZGV2IGlzIHBy b2Nlc3MgcHJpdmF0ZSwgYW5kIGV0aGRldi0+ZGF0YSBpcyBzaGFyZWQuDQo+ID4+IFByaW1hcnkg Y29uZmlndXJlcyB0aGUgZGV2aWNlIGFuZCBzZWNvbmRhcnkgbGVhcm5zIHNoYXJlZCBkYXRhIGFu ZA0KPiA+PiB1c2VzIGl0IGZvciBkYXRhcGF0aC4NCj4gPj4gVGhlcmUgYXJlIGNhc2VzLCBsaWtl IGZpbGUgZGVzY3JpcHRvcnMgZm9yIHNhbWUgZmlsZSBjYW4gYmUgZGlmZmVyZW50DQo+ID4+IGZv ciBkaWZmZXJlbnQgcHJvY2VzcyBhbmQgcHJvY2VzcyBwcml2YXRlIHN0cnVjdHVyZSBpcyB1c2Vk Lg0KPiA+Pg0KPiA+PiBJbiBiZWxvdyBwYXRjaGVzLCBkZXZpY2UgcHJpdmF0ZSBkYXRhIGxldmVs IHN0cnVjdHMgc2VlbXMgbW92ZWQgdG8NCj4gPj4gdGhlIHByb2Nlc3MgcHJpdmF0ZSBzdHJ1Y3R1 cmUsIGlzIHRoZSBpbnRlbnRpb24gYm90aCBwcmltYXJ5IHByb2Nlc3MNCj4gPj4gYW5kIHNlY29u ZGFyeSBwcm9jZXNzIGRvIHRoZSBjb250cm9sIHBhdGggYW5kIGNvbmZpZ3VyYXRpb24/DQo+ID4+ IElmIHNvLCBqdXN0IGEgcmVtaW5kZXIgdGhhdCB0aGlzIGlzIG5vdCBpbnRlbmRlZCB1c2FnZSBv ZiB0aGUNCj4gPj4gbXVsdGktcHJvY2VzcyBzdXBwb3J0IGFuZCBtYW55IGNvbnRyb2wgQVBJcyBh cmUgbm90IGRlc2lnbmVkIGFzIHRocmVhZC0NCj4gc2FmZS4NCj4gPj4NCj4gPj4gV291bGQgeW91 IG1pbmQgZGVzY3JpYmluZyBhIGxpdHRsZSBtb3JlIGFib3V0IHlvdXIgdXNlIGNhc2UgdGhhdA0K PiA+PiByZXF1aXJlcyBiZWxvdyBwcm9jZXNzIHByaXZhdGUgZGF0YSBjaGFuZ2VzPw0KPiA+DQo+ ID4gVGhlIG1haW4gbW90aXZhdGlvbiBvZiB0aGVzZSBjaGFuZ2VzIGlzIHRvIHNvbHZlIHRoZSBw cm9ibGVtcyB3aGVuDQo+ID4gY3VzdG9tZXJzIHVzaW5nIHRoZSBzZWNvbmRhcnkgcHJvY2VzcyAo dGhleSB1c2UgcHJpbWFyeSBwcm9jZXNzIGZvcg0KPiBtb25pdG9yIGFuZCBzZWNvbmRhcnkgcHJv Y2VzcyBmb3IgcngvdHgvY29uZmlndXJhdGlvbiAuLi4pLg0KPiA+DQo+IA0KPiBHb3QgaXQsIGlm IHlvdSB3YW50IHRvIGRvICdjb25maWd1cmF0aW9uJyBvbiB0aGUgc2Vjb25kYXJ5LCBpdCByZXF1 aXJlcyBtb3JlDQo+IGluZm9ybWF0aW9uLCBhbmQgYXMgdGhpcyBpcyBub3Qgc2hhcmVkIHlvdSBu ZWVkIHRvIG1vdmUgdGhlbSB0byBwcm9jZXNzDQo+IHByaXZhdGUuDQo+IA0KPiBUaGlzIGFwcHJv YWNoIHJlcXVpcmVzIHN5bmNocm9uaXppbmcgc2Vjb25kYXJpZXMgZm9yIHRoaXMgY29udHJvbCBw YXRoLg0KPiBTbyBtb3JlIHdvcmsgZm9yIHRoZSBhcHBsaWNhdGlvbiBsYXllci4NCj4gDQo+IEkg dW5kZXJzdGFuZCB5b3UgYXJlIHRyeWluZyB0byBlbmFibGUgeW91ciBjdXN0b21lciwgYW5kIHRo aXMgaXMgYSBzb2x1dGlvbiBidXQNCj4gSSBhbSBub3Qgc3VyZSB0aGlzIGlzIHRoZSBiZXN0IGFw cHJvYWNoLiBBbmQgdGhpcyBzb2x1dGlvbiB3b24ndCBiZSBwb3J0YWJsZSwNCj4gYmVjYXVzZSBt YW55IFBNRHMgd29uJ3Qgc3VwcG9ydCBjb25maWd1cmluZyBmcm9tIHNlY29uZGFyeS4NCj4gDQo+ IENhbiB5b3UgZ3VpZGUgeW91ciBjdXN0b21lciB0aGF0IGNvbmZpZ3VyaW5nIG9uIHByaW1hcnkg YW5kIGxpbWl0DQo+IHNlY29uZGFyaWVzIGZvciB0aGUgZGF0YXBhdGg/DQoNClNvcnJ5LCBidXQg aXQgaXMgYWxtb3N0IGNlcnRhaW4gdGhhdCBpdCBpcyBpbXBvc3NpYmxlIHRvIG1ha2UgY3VzdG9t ZXIgbW9kaWZ5IHRoZWlyIGFyY2hpdGVjdHVyZS4NCkJlY2F1c2UgdGhleSBoYXZlIGNvbXBsZXgg c29mdHdhcmUgc3RhY2ssIGFuZCB0aGV5IHRoZW1zZWx2ZXMgYXJlIG9ubHkgdXNlciBvZiB0aGUg c29mdHdhcmUgc3RhY2suDQpUaGV5IGFyZSBqdXN0IHJlc3BvbnNpYmxlIGZvciB0aGUgYmFzaWMg TklDIGFkYXB0YXRpb24gd29yayBhbmQgdGhlIHVwcGVyIHNvZnR3YXJlIGFyY2hpdGVjdHVyZSBh cmUgDQpkZXNpZ24gYW5kIG1haW50YWluIGJ5IHNvbWUgb3RoZXIgZGVwYXJ0bWVudC4NCg0KRm9y IHRoaXMgZ2VuZXJhdGlvbiBORlAgaGFyZHdhcmUgYW5kIGZpcm13YXJlIGFyY2hpdGVjdHVyZSwg c2VlbXMgdGhpcyBpcyB0aGUgb25seSBiZXN0IHNvbHV0aW9uDQp3ZSBjYW4gYWNoaWV2ZS4NCg0K QnV0IGZvciB0aGUgbmV4dCBnZW5lcmF0aW9uIE5JQyBhbmQgZmlybXdhcmUgKHdlIGFscmVhZHkg aW4gZGV2ZWxvcG1lbnQsIGFuZCB3aWxsIHB1Ymxpc2ggaW4gYSBuZWFyIGZ1dHVyZSksDQp3ZSB3 aWxsIGhhdmUgb25lIFBDSSBCREYgYWRkcmVzcyBmb3Igb25lIHBoeXNpY2FsIHBvcnQgYW5kIHVz ZSBhIHVuaWZpZWQgZmlybXdhcmUuDQpUaGVuIHRoZSBwcm9ibGVtcyB3ZSBtZWV0IGZvciBub3cg d2lsbCBub3QgZXhpc3QgYW55bW9yZSwgYW5kIHdlIGNhbiBtYWtlIHRoZSBsb2dpYyBqdXN0IGFz IHdoYXQgeW91IHNhaWQuDQoNCj4gVGhpcyB3YXkgb25seSBzb21lIGxpbWl0ZWQgaW5mb3JtYXRp b24gaXMgcmVxdWlyZWQgdG8gc2hhcmVkIHdpdGggc2Vjb25kYXJpZXMNCj4gKGxldHMgc2F5IGxp a2UgZmlybXdhcmUgYXBwbGljYXRpb24gdmVyc2lvbikgYW5kIHRoZXNlIGNhbiBiZSBwYXNzZWQg dmlhIHNoYXJlZA0KPiBkYXRhIG9yIGV2ZW4gTVAgY29tbXVuaWNhdGlvbi4NCj4gDQo+IEFsdGhv dWdoIHRoaXMgaXMgbm90IGEgaGFyZCByZXF1aXJlbWVudCwgSSBiZWxpZXZlIHRoaXMgY2FuIG1h a2UgYm90aCB5b3VyIGFuZA0KPiB5b3VyIGN1c3RvbWVyJ3MgbGlmZSBlYXNpZXIgaW4gbG9uZyBy dW4uDQo+IA0KPiANCj4gPiBUaGUgTkZQIGNhcmQgc3VwcG9ydCBkaWZmZXJlbnQgZmlybXdhcmUg YXBwbGljYXRpb25zLCB0aGlzIG1lYW5zIHdlDQo+ID4gbmVlZCByZWFkIG1lc3NhZ2UgZnJvbSBm aXJtd2FyZSB0byBkZWNpZGUgdG8gcnVuIHdoaWNoIGxvZ2ljLg0KPiA+DQo+ID4gQW5kIHdpdGgg c2luZ2xlLXBmIGZpcm13YXJlICh0aGlzIG1lYW5zIG9uZSBQQ0kgQkRGIGFkZHJlc3MgZm9yIG11 bHRpDQo+ID4gcGh5c2ljYWwgcG9ydHMpLCB3ZSBhbHNvIG5lZWQgcmVhZCBtZXNzYWdlIChob3cg bWFueSBwb3J0cyB0b3RhbGx5KSBmcm9tDQo+IGZpcm13YXJlIGJlZm9yZSBhdHRhY2ggdG8gdGhl IHByaW1hcnkgcHJvY2Vzcy4NCj4gPg0KPiA+IEFsbCB0aGlzIHJlbGF0ZXMgd2l0aCBDUFAgYW5k IHN5bWJvbCB0YWJsZSwgYW5kIHRoZXkgYXJlIGRpZmZlcmVudCBmb3IgcHJpbWFyeQ0KPiBwcm9j ZXNzIGFuZCBzZWNvbmRhcnkgcHJvY2Vzcy4NCj4gPiBJZiBzdGlsbCBwdXQgdGhlbSBpbiB0aGUg cHJvY2VzcyBzaGFyZWQgc2VjdGlvbiAoZXRoZGV2LT5kYXRhKSwgdGhlDQo+ID4gYXNzaWdubWVu dCBsb2dpYyBpbiBzZWNvbmRhcnkgcHJvY2VzcyB3aWxsIG92ZXJ3cml0ZSBpdCBhbmQgY2F1c2Ug dGhlIHByaW1hcnkNCj4gcHJvY2VzcyBjcmFzaC4NCj4gPg0KPiA+IFNvIHdlIG1vdmUgdGhlbSBp bnRvIHRoZSBwcm9jZXNzIHByaXZhdGUgc2VjdGlvbiAoZXRoZGV2LQ0KPiA+cHJvY2Vzc19wcml2 YXRlKS4NCj4gPg0KPiANCj4gDQoNCg==