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 3D0D841B86; Tue, 31 Jan 2023 03:53:26 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 27740410E6; Tue, 31 Jan 2023 03:53:26 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2048.outbound.protection.outlook.com [40.107.220.48]) by mails.dpdk.org (Postfix) with ESMTP id 48A1A40EF0 for ; Tue, 31 Jan 2023 03:53:24 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l1ReKAjbkF8QfK//hDbLCkJZI5kKYDNiP+1FZ21O6BshnASAR8gJ03jgz7qgC1ji5gYOU5pqT3G7m0zRMrwVFPF6s32gO3knOMj/fmhAb+IfGF1rdEKJvj7uxlgYEi+wbhkDkp7M3Z02E3dGh+wiLP6Wp5c/Of2wWT/wn3boJZ0+jvvSqg7o/gvKLes9hxRtcNoEPGxHX72kvhr/KgylSpb7yflGuoBX71vB7oKLszwCYAfva1sIDS9ughC4ohVaQa1DlQcG13AUjStaE5BIw+Q1S+Oqq+g6C+m4Z+F0BZjtAattSeYj8SoLbl3oaHfq9QeJaK45YML9naK9h5TLQg== 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=PpWPfrAS0+ggw4j7PdcF9jZAOC5AhONJxI5nnEKwlVc=; b=WGoatmU2eiC2xMJaQzWPrdvxRg+kI/vdWLwM6Ei9RxD6BBIx5miwRFMoypcPPRHWkASq5wieVQ75N+Zbo1h8ZfhYukwAfJqN7HsCatN+/5samhGFORt+aTODNTjkFANxtqqPiIabpGqjywqW6l/Vu4MLp/oi9z923SxQnQ2YpbXUP2BfMRN51rl2/wf0tx8m0xPjE/7qs9/4HeTE21JcTVsKJcCcjpBg6NMOiY35uu/Y1gQzFCMIVe/qhI4AjpVX6dK57ozCVSHFGd7FiIS3mr1L8Lf/5l27sLJDNfrCwwE21ie/6SXnuJgp72TGVp/hGZa1VSqrCwoV2UBznYyxLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PpWPfrAS0+ggw4j7PdcF9jZAOC5AhONJxI5nnEKwlVc=; b=Kzy8SR86mgAPeqPH5rgS1fcg16Ulws0nBz/RlX/xedKTAMIPmWWA43ejQb8Mh68oeAlzno5VxPwZncxKEzYDtEnOVX1HGqND11/1nWctnwBo1IZKxyjQ6J5OTvpOpPO/ndxB6+Pil/F5z/rJP2/qpYt3KUB0AK05Mt5HsPRFAf8kfZdRa/kChoHLA2y7/mT3Ll6KvYGo8VT67SVOLmZa0m4Y1g4zliIQJuYhECCMJZfuMrt5amAftbYmDryFkTuflf+33bucJaycsiLA/PlN45aPF+5nOIvIckr7g1FH+vbvtdxnaiY7Xg3rdFQzGGRqZbwFkK0+/JkcLs7mVNIXFg== Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22) by DM6PR12MB4337.namprd12.prod.outlook.com (2603:10b6:5:2a9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.36; Tue, 31 Jan 2023 02:53:22 +0000 Received: from BN9PR12MB5273.namprd12.prod.outlook.com ([fe80::2296:10b9:2661:d795]) by BN9PR12MB5273.namprd12.prod.outlook.com ([fe80::2296:10b9:2661:d795%4]) with mapi id 15.20.6043.036; Tue, 31 Jan 2023 02:53:22 +0000 From: Rongwei Liu To: Jerin Jacob CC: "dev@dpdk.org" , Matan Azrad , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "stephen@networkplumber.org" , Raslan Darawsheh , Ferruh Yigit , Andrew Rybchenko Subject: RE: [PATCH v4 3/3] ethdev: add standby flags for live migration Thread-Topic: [PATCH v4 3/3] ethdev: add standby flags for live migration Thread-Index: AQHZK1P4OdsU37aS+0i3XweUdWVq7q6sBDiAgApMBFCAAPR6AIAAnRqw Date: Tue, 31 Jan 2023 02:53:21 +0000 Message-ID: References: <20221221090017.3715030-2-rongweil@nvidia.com> <20230118154447.595231-1-rongweil@nvidia.com> <20230118154447.595231-4-rongweil@nvidia.com> In-Reply-To: Accept-Language: zh-CN, 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR12MB5273:EE_|DM6PR12MB4337:EE_ x-ms-office365-filtering-correlation-id: 637bef25-bb43-400b-67e3-08db033650ac x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WAG7RXhi0dF8t3FKB9XjRZb+Te6GbmpXxPydW/8bFvLzZlEvw3z6P8xm7SkoEvEBycwRVzWrzKSkM7pjzTl2Fc84wXH5s1VGW+dp/jbBSIFhlXNx0WuirOots/nQN9KZSLiCUqL78Z15JNGS3NNbCnFuImW1SSuJDLRoEAHv3dIypYJMRqwCC/S8ksSoFy/eGvbwaE53ys6OMVbOOCQGqL4Zv377LBA41nvCqTvJuGlCBpDUzLxrs6QHPCLYNIM6Yux/fwBLCKsRXF3Ikjbx4Bk6Rw0SKnXU401+4cU5MyC0ZNYAgUZhmBL35Ph/o0ToYPquLnA7y0OdgQ7M5hR9hYmEyRYQB7NpRAyn+sBBz+/NOfTtcm6w6WtE2r3ttNtm5BHosNceN8m2jtctcx3uLVReUpdD0avqaBi1qNeBOwb2FAkNNYYzp150ZV0E/W+QF0/6b6t/A9Qmg1gmfBHse6Ixs1N/UKcW91TQLQvFmK+vu9j0fbyNzokXA7aRZ7jbrvmud8e+Q2W42+WGJDbWY4Vnc8LstRlwiyOqrKIssi1gIco1loGmcRbhc8C/CC17/6N/hap2kxAGFhkLIEVk8ud13UUtJCc2gIi25mlduRlqmmoep3y6jGPgkfBxEay+EoMvTSAiDzNF2CoOUdzmj1xf326W+wgrOGDhDqfG2ICsHgM8QSwHBZP5Td0XbELxASE+hEBr65wppM0CpwFTwg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR12MB5273.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(366004)(346002)(376002)(39860400002)(396003)(136003)(451199018)(33656002)(71200400001)(7696005)(66476007)(8676002)(64756008)(6916009)(66446008)(66556008)(4326008)(41300700001)(8936002)(66946007)(76116006)(83380400001)(478600001)(86362001)(122000001)(2906002)(52536014)(316002)(38100700002)(55016003)(53546011)(5660300002)(6506007)(38070700005)(186003)(26005)(9686003)(54906003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZFFWWXdEWFZtc1FiNnhsdFhiYU1FblZsWExNV2ovd1F4WnIyd1c3cUNCN2dI?= =?utf-8?B?ZVlkYmkvdzU3VDNhenJ0a1dzZVViZCtyMHBlaXZNS28wWWRQQ1FtRDlwclFM?= =?utf-8?B?U1ZUcy9ZSXBjWmxtamZSWG9laWJhRy9xK3Exa3cvdDFoWHdrWHVhdGIwQnVW?= =?utf-8?B?dmxDWEcwTzZUL1hOUS9ZSTBaRDIvQWtMZ09hY2xPclBHcTYzMkVFTW9iVWV0?= =?utf-8?B?RTg2UG0ya0s4SUp2eFJVQnJzMDBZVXp6YWRYRTI5NnAwOEtSL1B6djdjSk5t?= =?utf-8?B?anZMVXB4VFBCbGhsN2Z4ejlvMzZLSzJsNWNMaVBnOUczYWNZMm1pd3daS3R1?= =?utf-8?B?VmcxRXV2Y2ZLVkthbCtpNzBzTlFvRThQRXpIZWJ6aklmb3hHMWxabGZaWno1?= =?utf-8?B?Tk5VTDN3a3dpNzJVbGZQVWE1dGYyUHlzYXZiL1oyd3JSeFZiUkt1eTB0K2ZT?= =?utf-8?B?Ujc2R1FVZVN0ZktSbVBlcEFnRHhudG9vSE04ZHR4WDJZVGxsbWt6ZHhFdWNX?= =?utf-8?B?b2pMSXJNWXFlOTJFY1VHTzk0V25TR2ZlRmxIMXVjNEFZVzRzVmRNejVtbXJN?= =?utf-8?B?cG1GOUFjK2VaOXZlTFhVYUIwbFY4Q2JMSlBFSmIzZ3hiNEhyMHR1YlRHMUZn?= =?utf-8?B?ZFNlNk5McXFpWGVmUE41aXR2c0RIN0lkYytxdGRFU0RrVzRYUE83dFA3clB5?= =?utf-8?B?NVlnQ0V2UkcreldzdTY2cDJoaCtQYkhxTVZKUzU2Zm16Si8xTUtmSkZYdG9T?= =?utf-8?B?aEFGQTlEaWJ5Rld1Vi81Y3h3c0hOOERXcUQzcWNWQjhTQ0QxNHphMVVUNVVP?= =?utf-8?B?SEViQnQzcGxSZDBlWjFhZUJoZ2h6N2ZmZnZNZlZReG1oVzlrZVkxM3FOMVZv?= =?utf-8?B?Q2E2VFREMldBZUJiMVI4UXoxMExydlpZN0U2L3AwOUxZdFVyV1IrVy9tVWxw?= =?utf-8?B?bTU0TGxEOEFzOXVTWWM5OTBmdklNaWlzeHVmNW9RTG1TdEQ1V2xTUkNNVlYz?= =?utf-8?B?K2h5V3RVdXBkUWlzb3M0cnJOcExFUUgxbjIxbFFWVmljalRvUUhidXVaUUE4?= =?utf-8?B?QWxpeXU2a0xsclVWY0dpb0t4THZPVEgxbzZ2Nnh1dXhjdHN2WWtBcWw1MFBy?= =?utf-8?B?emE0SHR1RnVTK2swRlUzNy9qL0dKakhYK0pkdTEvSHNlb3NKSm5YemdxYzE2?= =?utf-8?B?UGRqaWt1UUhrZHduUStDUXkwcGhKSGxxcnh0aS9QbDREODhOcHFFanFLSEk4?= =?utf-8?B?aWhLNnJKT0g0ZlNnT05QbmR5Sm1XL1k0b3BVRDZyT1hMQ3FrQjdtb0liYjRx?= =?utf-8?B?b1dwTDlEd0poWWwxajFpaElaOWJtSWN4NVE3ZGl2N1JNd0ZmeXc1WlcrbHRQ?= =?utf-8?B?b3BLWVphR2tSYW5Vd3lxRm5rd1BDYUFaR0ZzellPZCtnYm85SWZJSWpmTkJx?= =?utf-8?B?TG1ncnE4Q3JJM09Ud2hJbTdGQ0VXL1V4NmJ6Y1R4YzZMU29CV0RITEMvK2xF?= =?utf-8?B?Rnh4ZzdSeUQ1YUZKbUZOL1QyMGhFazRXazYwWlFKQnpJdXErYVdYczJ2d2R5?= =?utf-8?B?K0g0eTFHV3k4aEJWZWQ5MzE0TlY3S2NuUUZ5U1lRaVNLK3lVQWRIdHltb2JT?= =?utf-8?B?bFdyTXFaa3hadERSaXJ4L0s2YXU0cThnOUtBcU93UFdZa2FkRzgwdEtQaExH?= =?utf-8?B?cmd5ck5adW01blRtVDBYem02NDA3cW9PSHptZW1nNVU2ZEVieWZFeWxrcUw3?= =?utf-8?B?R1BhZmFweEpHUVdmb0dYK0FIbmJuMk9vTHdxelhTai9nRkZMbmh6THEyNXpO?= =?utf-8?B?STg2YVhxRWkrZjZDaGErcGR0bXduU2lnMkd1NDErR2phVU5uVUJnNjRaa3JZ?= =?utf-8?B?bUhLZG90YWFpVjZMWnB2NjlHRU9qaGdQVzdYOUk4cE9Ld3F1Nmgrb3VUR0dv?= =?utf-8?B?NWF3ZlE5ZmhneUxhTkxhcjNLaWVwYXVDOG1TSTRIK2szcmVrN001QlJZbWR5?= =?utf-8?B?Y3puNnRLS2lZRk85L3p5Wkg5UDI0YzlRQVhvL3BtL1gvTUJYZ2VqMFNLV1dr?= =?utf-8?B?bXY3dVEwdzFhK0x4TVNOTG1UOUpIK1RuRHkvTGlkZFBKRVltV1dRVzhHRzF4?= =?utf-8?Q?jp6so5/kJRmsNFqVBSjbgfILe?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 637bef25-bb43-400b-67e3-08db033650ac X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2023 02:53:21.9026 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: i9isgu5osC09K5RWnZWgRWBYtcfe+ozzySUSPq0ARN4GiHt/WKUUOoHIGsvxdKDSup+L5Q/VHP9DcujooIi05w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4337 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 SEkgSmVyaW46DQoNCkJSDQpSb25nd2VpDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogVHVl c2RheSwgSmFudWFyeSAzMSwgMjAyMyAwMToxMA0KPiBUbzogUm9uZ3dlaSBMaXUgPHJvbmd3ZWls QG52aWRpYS5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlk aWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+IDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgT3Jp IEthbSA8b3Jpa2FAbnZpZGlhLmNvbT47IE5CVS1Db250YWN0LQ0KPiBUaG9tYXMgTW9uamFsb24g KEVYVEVSTkFMKSA8dGhvbWFzQG1vbmphbG9uLm5ldD47DQo+IHN0ZXBoZW5AbmV0d29ya3BsdW1i ZXIub3JnOyBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+Ow0KPiBGZXJydWgg WWlnaXQgPGZlcnJ1aC55aWdpdEBhbWQuY29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA8YW5kcmV3 LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMy8zXSBl dGhkZXY6IGFkZCBzdGFuZGJ5IGZsYWdzIGZvciBsaXZlIG1pZ3JhdGlvbg0KPiANCj4gRXh0ZXJu YWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gDQo+ IA0KPiBPbiBNb24sIEphbiAzMCwgMjAyMyBhdCA4OjE3IEFNIFJvbmd3ZWkgTGl1IDxyb25nd2Vp bEBudmlkaWEuY29tPiB3cm90ZToNCj4gPg0KPiA+IEhpIEplcmluDQo+ID4NCj4gPiBCUg0KPiA+ IFJvbmd3ZWkNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZy b206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiBTZW50OiBNb25k YXksIEphbnVhcnkgMjMsIDIwMjMgMjE6MjANCj4gPiA+IFRvOiBSb25nd2VpIExpdSA8cm9uZ3dl aWxAbnZpZGlhLmNvbT4NCj4gPiA+IENjOiBkZXZAZHBkay5vcmc7IE1hdGFuIEF6cmFkIDxtYXRh bkBudmlkaWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+ID4gPiA8dmlhY2hlc2xhdm9AbnZpZGlh LmNvbT47IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC0NCj4gPiA+IFRo b21hcyBNb25qYWxvbiAoRVhURVJOQUwpIDx0aG9tYXNAbW9uamFsb24ubmV0PjsNCj4gPiA+IHN0 ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG52aWRp YS5jb20+Ow0KPiA+ID4gRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAYW1kLmNvbT47IEFuZHJl dyBSeWJjaGVua28NCj4gPiA+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPiA+ IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMy8zXSBldGhkZXY6IGFkZCBzdGFuZGJ5IGZsYWdzIGZv ciBsaXZlDQo+ID4gPiBtaWdyYXRpb24NCj4gPiA+DQo+ID4gPiBFeHRlcm5hbCBlbWFpbDogVXNl IGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiA+ID4NCj4gPiA+DQo+ID4g PiBPbiBXZWQsIEphbiAxOCwgMjAyMyBhdCA5OjE1IFBNIFJvbmd3ZWkgTGl1IDxyb25nd2VpbEBu dmlkaWEuY29tPg0KPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gU29tZSBmbGFncyBhcmUgYWRk ZWQgdG8gdGhlIHByb2Nlc3Mgc3RhdGUgQVBJIGZvciBsaXZlIG1pZ3JhdGlvbg0KPiA+ID4gPiBp biBvcmRlciB0byBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBmbG93IHJ1bGVzIGluIGEgc3Rh bmRieSBwcm9jZXNzLg0KPiA+ID4gPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSb25nd2VpIExp dSA8cm9uZ3dlaWxAbnZpZGlhLmNvbT4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICBsaWIvZXRoZGV2 L3J0ZV9ldGhkZXYuaCB8IDIxICsrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiAgMSBmaWxl IGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKykNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBh L2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gPiA+ ID4gaW5kZXgNCj4gPiA+ID4gMTUwNTM5NmNlZC4uOWFlNGY0MjZhNyAxMDA2NDQNCj4gPiA+ID4g LS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gPiA+ID4gKysrIGIvbGliL2V0aGRldi9y dGVfZXRoZGV2LmgNCj4gPiA+ID4gQEAgLTIyNjAsNiArMjI2MCwyNyBAQCBpbnQgcnRlX2V0aF9k ZXZfb3duZXJfZ2V0KGNvbnN0IHVpbnQxNl90DQo+ID4gPiA+IHBvcnRfaWQsICBfX3J0ZV9leHBl cmltZW50YWwgIGludCBydGVfZXRoX3Byb2Nlc3Nfc2V0X3JvbGUoYm9vbA0KPiA+ID4gPiBzdGFu ZGJ5LCB1aW50MzJfdCBmbGFncyk7DQo+ID4gPiA+DQo+ID4gPiA+ICsvKipAe0BuYW1lIFByb2Nl c3Mgcm9sZSBmbGFncw0KPiA+ID4gPiArICogdXNlZCB3aGVuIG1pZ3JhdGluZyBmcm9tIGFuIGFw cGxpY2F0aW9uIHRvIGFub3RoZXIgb25lLg0KPiA+ID4gPiArICogQHNlZSBydGVfZXRoX3Byb2Nl c3Nfc2V0X2FjdGl2ZSAgKi8NCj4gPiA+ID4gKy8qKg0KPiA+ID4gPiArICogV2hlbiBzZXQgb24g YSBzdGFuZGJ5IHByb2Nlc3MsIGluZ3Jlc3MgZmxvdyBydWxlcyB3aWxsIGJlDQo+ID4gPiA+ICtl ZmZlY3RpdmUNCj4gPiA+ID4gKyAqIGluIGFjdGl2ZSBhbmQgc3RhbmRieSBwcm9jZXNzZXMsIHNv IHRoZSBpbmdyZXNzIHRyYWZmaWMgbWF5IGJlDQo+IGR1cGxpY2F0ZWQuDQo+ID4gPiA+ICsgKi8N Cj4gPiA+ID4gKyNkZWZpbmUgUlRFX0VUSF9QUk9DRVNTX0ZMQUdfU1RBTkRCWV9EVVBfRkxPV19J TkdSRVNTDQo+ID4gPiBSVEVfQklUMzIoMCkNCj4gPiA+DQo+ID4gPg0KPiA+ID4gSG93IHRvIGR1 cGxpY2F0ZSBpZiBhY3Rpb24gaGFzIHN0YXRlZnVsbCBpdGVtcyBmb3IgZXhhbXBsZSwNCj4gPiA+ IHJ0ZV9mbG93X2FjdGlvbl9zZWN1cml0eTo6c2VjdXJpdHlfc2Vzc2lvbiAtPiBpdCBzdG9yZSB0 aGUgbGl2ZQ0KPiA+ID4gcG9pbnRlciBydGVfZmxvd19hY3Rpb25fbWV0ZXI6Om10cl9pZDsgLT4g TVRSIG9iamVjdCBJRCBjcmVhdGVkIHdpdGgNCj4gPiA+IHJ0ZV9tdHJfY3JlYXRlKCkNCj4gPiBJ IGFncmVlIHdpdGggeW91LCBub3QgYWxsIGFjdGlvbnMgY2FuIGJlIHN1cHBvcnRlZCBpbiB0aGUg YWN0aXZlL3N0YW5kYnkNCj4gbW9kZWwuDQo+IA0KPiBJTU8sIFdoZXJlIGV2ZXIgcnVsZXMgYXJl IG5vdCBzdGFuZGFsb25lIChsaWtlIFFVRVVFLCBSU1MpIGV0YywgSXQgd2lsbCBiZQ0KPiBhcmNo aXRlY3R1cmFsbHkgaXMgbm90IHBvc3NpYmxlIHRvIG1pZ3JhdGUgd2l0aCBwb2ludGVycy4NCj4g VGhhdCdzIHdoZXJlIEkgaGF2ZSBjb25jZXJuIGdlbmVyYWxpemluZyB0aGlzIGZlYXR1cmUgZm9y IHRoaXMgZXRoZGV2Lg0KPiANCk5vdCBzdXJlIEkgdW5kZXJzdGFuZCB5b3VyIGNvbmNlcm4gY29y cmVjdGx5LiBXaGF0JyB0aGUgcG9pbnRlciBjb25jZXB0IGhlcmU/DQpRdWV1ZSBSU1MgYWN0aW9u cyBjYW4gYmUgbWlncmF0ZWQgcGVyIG15IGxvY2FsIHRlc3QuIEFjdGl2ZS9TdGFuZGJ5IGFwcGxp Y2F0aW9uIGhhdmUgaXRzIGZ1bGx5IG93biByeHEvdHhxLg0KVGhleSBhcmUgdG90YWxseSBzZXBh cmF0ZWQgcHJvY2Vzc2VzIGFuZCBsaWtlIHR3byBtZW1iZXJzIGluIHBpcGVsaW5lLiAybmQgbWVt YmVyIGNhbid0IGJlIGZlZWQgaWYgMXN0IG1lbWJlciBhbGl2ZSBhbmQgaGFuZGxlIHRoZSB0cmFm ZmljLiANCg0KPiBBbHNvLCBJIGRvbid0IGJlbGlldmUgdGhlcmUgaXMgYW55IHJlYWwgSFcgc3Vw cG9ydCBuZWVkZWQgZm9yIHRoaXMuDQo+IElNTywgSGF2aW5nIERQREsgc3RhbmRhcmQgbXVsdGlw cm9jZXNzIGNhbiBkbyB0aGlzIGJ5IGtlZXBpbmcgc2Vjb25kYXJ5DQo+IGFwcGxpY2F0aW9uIGNh biBtaWdyYXRlLCBrZWVwaW5nIGFsbCB0aGUgU1cgbG9naWMgaW4gdGhlIHByaW1hcnkgcHJvY2Vz cyBieQ0KPiBkb2luZyB0aGUgaG91c2VrZWVwaW5nIGluIHRoZSBhcHBsaWNhdGlvbi4gT24gcGx1 cyBzaWRlLCBpdCB3b3JrcyB3aXRoIHBvaW50ZXJzDQo+IHRvby4NCklNTywgaW4gbXVsdGlwbGUg cHJvY2VzcyBtb2RlbCwgcHJpbWFyeSBwcm9jZXNzIHVzdWFsbHkgb3ducyB0aGUgaGFyZHdhcmUg cmVzb3VyY2VzIHZpYSBtbWFwL2lvbWFwL3BjaV9tYXAgZXRjLg0KU2Vjb25kYXJ5IHByb2Nlc3Mg aXMgbm90IGFibGUgdG8gcnVuIGlmIHByaW1hcnkgcXVpdHMgbm8gbWF0dGVyIGdyYWNlZnVsbHkg b3IgY3Jhc2hpbmcuDQpUaGlzIHBhdGNoIHdhbnRzIHRvIGludHJvZHVjZSBhICJiYWNrdXAgdG8g YWxpdmUiIG1vZGVsLg0KQXNzdW1lIHVzZXIgd2FudHMgdG8gdXBncmFkZSBmcm9tIERQREsgdmVy c2lvbiAyMi4wMyB0byAyMy4wMywgMjIuMDMgaXMgcnVubmluZyBhbmQgYWN0aXZlIHJvbGUgd2hp bGUgMjMuMDMgY29tZXMgdXAgaW4gc3RhbmRieS4NCkJvdGggRFBESyBwcm9jZXNzZXMgaGF2ZSBp dHMgb3duIHJlc291cmNlcyBhbmQgZG9lc24ndCByZWx5IG9uIGVhY2ggb3RoZXIuIA0KVXNlciBj YW4gbWlncmF0ZSB0aGUgYXBwbGljYXRpb24gZm9sbG93aW5nIHRoZSBzdGVwcyBpbiBjb21taXQg bWVzc2FnZSB3aXRoIG1pbmltdW0gdHJhZmZpYyBkb3dudGltZS4gDQpTVyBsb2dpYyBsaWtlIGZs b3cgcnVsZXMgY2FuIGJlIGRvbmUgZm9sbG93aW5nIGlwdGFibGVzLXNhdmUvaXB0YWJsZXMtcmVz dG9yZSBhcHByb2FjaC4gIA0KPiANCj4gSSBhbSBub3Qgc3VyZSBob3cgbXVjaCBob3VzZWtlZXBp bmcgb2ZmbG9hZCB0byBfSFdfIGluIHlvdXIgY2FzZS4gSW4gbXkNCj4gdmlldywgaXQgc2hvdWxk IGJlIGdlbmVyaWMgdXRpbHMgZnVuY3Rpb25zIHRvIHRyYWNrIHRoZSBmbG93IGFuZCBpbnN0YWxs aW5nIHRoZQ0KPiBydWxlcyB1c2luZyBydGVfZmxvdyBBUElzIGFuZCBrZWVwIHRoZSBzY29wZSBv bmx5IGZvciBydGVfZmxvdy4NCkZvciBydWxlcyBwYXJ0LCB0b3RhbGx5IGFncmVlIHdpdGggeW91 LiBJc3N1ZSBpcyB0aGVyZSBtYXliZSBtaWxsaW9ucyBvZiBmbG93IHJ1bGVzIGluIGZpZWxkIGFu ZCBlYWNoIHJ1bGUgbWF5IHRha2UgZGlmZmVyZW50IHN0ZXBzIHRvIA0KcmUtaW5zdGFsbCBwZXIg dmVuZG9yJyBpbXBsZW1lbnRhdGlvbnMuDQpUaGlzIHNlcmlhbCB3YW50cyB0byBwcm9wb3NlIGEg dW5pZmllZCBpbnRlcmZhY2UgZm9yIHVwcGVyIGxheWVyIGFwcGxpY2F0aW9uJyBlYXN5IHVzZS4g IA0KPiANCj4gVGhhdCdzIGp1c3QgbXkgdmlldy4gSSBsZWF2ZSB0byBldGhkZXYgbWFpbnRhaW5l cnMgZm9yIHRoZSByZXN0IG9mIHRoZSByZXZpZXcNCj4gYW5kIGRlY2lzaW9uIG9uIHRoaXMgc2Vy aWVzLg0KPiANCj4gPiBUaGF0JyB3aHkgd2UgaGF2ZSByZXR1cm4gdmFsdWUgY2hlY2tpbmcgYW5k IHJvbGxiYWNrLg0KPiA+IEluIE52aWRpYSBkcml2ZXIgZG9jLCB3ZSBzdWdnZXN0ZWQgdXNlciB0 byBzdGFydCBmcm9tICdyc3MvcXVldWUvanVtcCcNCj4gYWN0aW9ucy4NCj4gPiBNZXRlciBpcyBw b3NzaWJsZSwgYXQgbGVhc3QgcGVyIG15IHZpZXcuDQo+ID4gQXNzdW1lOiAibWV0ZXIgZ19hY3Rp b24gcXVldWUgMCAvIHlfYWN0aW9uIGRyb3AgLyByX2FjdGlvbiBkcm9wIg0KPiA+IE9sZCBhcHBs aWNhdGlvbjogY3JlYXRlIG1ldGVyX2lkICdBJyB3aXRoIHByZS1kZWZpbmVkIGxpbWl0YXRpb24u DQo+ID4gTmV3IGFwcGxpY2F0aW9uOiBjcmVhdGUgbWV0ZXJfaWQgJ0InIHdoaWNoIGhhcyB0aGUg c2FtZSBwYXJhbWV0ZXJzIHdpdGgNCj4gJ0EnLg0KPiA+IDEuIDFzdCBwb3NzaWJsZSBhcHByb2Fj aDoNCj4gPiAgICAgICAgIEhhcmR3YXJlIGR1cGxpY2F0ZXMgdGhlIHRyYWZmaWM7IG9sZCBhcHBs aWNhdGlvbiB1c2UgbWV0ZXIgJ0EnIGFuZCBuZXcNCj4gYXBwbGljYXRpb24gdXNlcyBtZXRlciAn QicgdG8gY29udHJvbCB0cmFmZmljIHRocm91Z2hwdXRzLg0KPiA+ICAgICAgICAgU2luY2UgdHJh ZmZpYyBpcyBkdXBsaWNhdGVkLCBzbyBpdCBjYW4gZ28gdG8gZGlmZmVyZW50IG1ldGVycy4NCj4g PiAyLiAybmQgcG9zc2libGUgYXBwcm9hY2g6DQo+ID4gICAgICAgICAgICAgIE1ldGVyICdBJyBh bmQgJ0InIHBvaW50IHRvIHRoZSBzYW1lIGhhcmR3YXJlIHJlc291cmNlLCBhbmQgdHJhZmZpYw0K PiByZWFjaGVzIHRoaXMgcGFydCBmaXJzdCBhbmQgaWYgZ3JlZW4sIGR1cGxpY2F0aW9uIGhhcHBl bnMuDQo=