From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2C2C3C433F5 for ; Fri, 24 Sep 2021 08:18:15 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 7126B61039 for ; Fri, 24 Sep 2021 08:18:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7126B61039 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A4BBA4122D; Fri, 24 Sep 2021 10:18:13 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id ABCB440142 for ; Fri, 24 Sep 2021 10:18:11 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10116"; a="224072053" X-IronPort-AV: E=Sophos;i="5.85,319,1624345200"; d="scan'208";a="224072053" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Sep 2021 01:18:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,319,1624345200"; d="scan'208";a="534908388" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga004.fm.intel.com with ESMTP; 24 Sep 2021 01:18:10 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Fri, 24 Sep 2021 01:18:10 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Fri, 24 Sep 2021 01:18:10 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Fri, 24 Sep 2021 01:18:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XQpJNDpZj+8WUo4edI8mHvwlS3mCfGuZvEep745Lv1L57GY2t4h9YDnvKkcddpIKXkTrCAYy+Q4B3DiT0pSornHFOwm38QP6V0zwtRtmAxWQXinA29OZvr6i98J9OeCXwtLFOs8gwrjNSOKXCA9Vv1RB2B9LslnraNj78exLmJSrP3vYpClYgB6eoQqU4ZtF4bTynO/PBciZe/ll0gspR6dajYsKCwOUhiq6YX1OgdyeYPzF/wfUybipx6JMhhHlwVLk2ogGaFoRrx+tng1x2Hcp8fhpukNW3DGw/HsJMlXnBG2eYnSbpkQaIz7wXo/mWxjFMLXRsJ4VZHWemW0hqg== 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; bh=C/VP8x7GXXUIbAD9Eb0BabbvlfdhZQEeO79EZHFRFrY=; b=EiKihvp+UYBbu4xCLG3nf4eNhdD52TcLbG6YKa4ThpJ1Aaey+O09o24kZhwEzwn8jzr9mQpZzgYBnl0XmQNm1eJE3wbh0D0KmTuerPRcDY4FSLL4BAYjHyctfsN4VmMLPcX3SrnS3mw3gSIiJ/pykIm8DH6zMR7j1fUlPignzkwkMgNGtysw1gEOjc00Rjw7hkCQvzEcti+J8c81sl/0nJY8IV1g4C162Qu4MUlzeFKaBBTtq0jAORYQqHze5vGyww5SIJXTU16xQ8QoRw0XZwRiiH1y4uUsVGAtFUOKDGmD1MVkEl6F7Gdli5wGAZo6z1LQ59vfjqOFofKn4Iqbmw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C/VP8x7GXXUIbAD9Eb0BabbvlfdhZQEeO79EZHFRFrY=; b=W+/prXhR1T5ZGMFblfEtm3x0awPJecYM7A1SH7V65TqQKz7Lveg0MQnRRwg/g+WZ+nwc7oEGf5GOigFElv1HMFWy/zCUIGn9nIzbYToxY1VVEgUPyaJQrq+dsOT55IjQXkaYzo5v0WAG1/yVOXbUSpuGZtlS0sxlb4ARFZ+AuTc= Received: from BN9PR11MB5513.namprd11.prod.outlook.com (2603:10b6:408:102::11) by BN6PR11MB1969.namprd11.prod.outlook.com (2603:10b6:404:fb::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.18; Fri, 24 Sep 2021 08:18:06 +0000 Received: from BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::99b5:c482:4da6:799e]) by BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::99b5:c482:4da6:799e%7]) with mapi id 15.20.4544.018; Fri, 24 Sep 2021 08:18:06 +0000 From: "Ding, Xuan" To: "Xia, Chenbo" , Maxime Coquelin , "Hu, Jiayu" , "dev@dpdk.org" , "Burakov, Anatoly" CC: "Jiang, Cheng1" , "Richardson, Bruce" , "Pai G, Sunil" , "Wang, Yinan" , "Yang, YvonneX" Thread-Topic: [PATCH v2 2/2] vhost: enable IOMMU for async vhost Thread-Index: AQHXq4WKz8XrgbgVe0unSJ3ZXKXfgquxunaAgAAE3YCAALd+AIAAWZ8AgAAGHoCAAAmigA== Date: Fri, 24 Sep 2021 08:18:06 +0000 Message-ID: References: <20210901053044.109901-1-xuan.ding@intel.com> <20210917052546.23883-1-xuan.ding@intel.com> <20210917052546.23883-3-xuan.ding@intel.com> <917d6068d3cc484b95e9e884cc9a4f3b@intel.com> <87dab10c-5744-f569-6367-53ba11cdb789@redhat.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 90a886e8-9127-46e6-64b1-08d97f33d61f x-ms-traffictypediagnostic: BN6PR11MB1969: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gJeZs7JMkQxaO0NgQLNrfqF8enj01jgzM9X0h9Sb5TH3MzP6Nl+9cEiZhs7FT8nV7FFh2xQcKIXzaScrKDvMgd1URWe88xPH2z6wpRtazq10Qp0w6r7svVfauhA5cxoc2w1t2is4gvzlTsi7LF2X1XxP4wsBpEyygwqhCQAOTcEBFPFIaNejS5w4f2AnKGe54X3YjI6eEFvhaUrRVq97yQbUmdh2ScxqtbMnCLN/nZgWAwPbm6jNntdfeRs5n7czJHzSysVmcQJxKP6u0OaX+90Ws6fttzJkaiUpvqz0z5jzIgb3THLzIO1IanrEYL4737P4vxGGQ2s8f9G+hbXZKmOgcU48mEsu0rXEa+Ls2EfLg7hP4q2vt9Opfv6GbXNEK3pt1/ifZQ+mHX9dY1HctLdrANEyiVPfeAAB4ZIEWOu90vAjAAQ+xCbsXqGX/KkRmPgPdXAY8eUuy5tGyCHoYC6WY9RLdlmiLBL3b8CyK3KCGlLjGgFV5DldJlWY2q8QuoDLA2okyxjfvrmH8chU0uECQTf9rZeKUadu3jUELh0jW+vPFx716uNCWzyGnHtJAPoepFK0Wfa5I7VREgTB+E4DJPMeUgtilT+nXkJQFMeze4bWx6rd86UHWUBUNGx8Rfh4KgI4iBoaA2cW/UwIVX9kYhxzuyeY9fNQ7WE1NaiGC+6Gn0ogYo7UeDgD1edYXEbtbE4pr/VQJt2vxhds1w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5513.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(4326008)(53546011)(33656002)(6506007)(107886003)(66446008)(64756008)(66476007)(71200400001)(7696005)(8676002)(186003)(26005)(66556008)(122000001)(38100700002)(66946007)(76116006)(86362001)(5660300002)(38070700005)(55016002)(508600001)(6636002)(8936002)(52536014)(83380400001)(110136005)(316002)(2906002)(54906003)(9686003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S29IUFlWQXVWK016R3FXcVZhcGhmb211ZktuWlFkaUxyQy9ObkFYQjkzV25Y?= =?utf-8?B?NmtpbnE4SlFWc1lQWTRFbllmTlg5WDNEdlNlblVCbTFlTWtNbEpCVFpmMHNJ?= =?utf-8?B?dFlOdWxlOVNLUHlwRlRESW9URENVUVgwbTgxMHhiZXAzbzI0QldTUHdqSC9T?= =?utf-8?B?TmpMYVJ2NVcyNUdYSTFtOW5jSW5ISFhMSmVCbTdqeWhRVWl0RjBTNG43L0ZW?= =?utf-8?B?TlgySHBXWER1ZUtQVTRlZm5aZFZCMVUxaDl2VFNWOEgwcjk0aXNsU0kzN0Y4?= =?utf-8?B?Y3Z6YXJVMmVsNk9hbktjS2VpS2EvYmY2MHFEeWFyTkxpL09OQmNqUW44VExh?= =?utf-8?B?aHpBcmc1QUlQcHJrbWNKZWFtOGtzN2l0YzBrd09nQndwYzJOTU5MZThBSGFk?= =?utf-8?B?SWNObzRWRk1oY2NhTy80YlIrTmdxWHU2bXlVUkVLZ3ZLRTNPWDZraWtRTzM4?= =?utf-8?B?ODZoY0pxNEFubjdrN3M5UUhkTE44S0FIVFBQWVZiMExJcXRlSnpKY3c1WEhN?= =?utf-8?B?bnJJOFNqaWxQWDF3bVZXcUx1cXB4WWZqbjI1dHBCVVc0WTZ3bFhUOEJaS3hP?= =?utf-8?B?ZmJ3RkdvaFhnZy9oY1Z2d3FZZDZweThKTDFtQytmRlVFc0N5WHI0SmlNQW5h?= =?utf-8?B?VFlOUUFldjFyYnRLbE9jTjdjREFTcE5CQmRaOERGNEM3ZGhMNVN3SEYvMVpE?= =?utf-8?B?MU9Sa0RFeGI4YWlad1ZEMlVWbDVhbFNDalpJMUE5dTk0S3BsdU1XdUNnY0M4?= =?utf-8?B?ODY1TlgvNm9meXJSbEhqQ1kyeWRaZmNJUVVZTDRNOG5pTVF5TzN6QWFmcUJz?= =?utf-8?B?NlpJTStCNEV6MzYxeGY5M3Z1bHFiYzJ5WnhIVEtHS2NNTFJzaFZQRzBlZGNQ?= =?utf-8?B?cjUwRlpiVkl6a0t6WWFwMFY4NExrQm1yS051T1cydDJPRUhSc250SGczOFYy?= =?utf-8?B?QU56TUx1TmU3WWZBWHBocG5ranByelkzdS8zTys0NTZiTXFUc0ZMUzhVNGRX?= =?utf-8?B?RjFwUWtJUDc3Q1RJQ3FkZU9pV3lDYzdFaHFyckVKcXl1RngvYWlIR29xSmZv?= =?utf-8?B?UFIwZTk1Zi9LRnByaHp6aUxLK3I1VDhLR1RsVXRVMUViVmV3S1VQaHR2Q0p4?= =?utf-8?B?SjVkRnlTcHFhWEU5aWNuWjQ1RkYrNEtqbkxnR2wxcUlEWTliK2QrR2dTbTE5?= =?utf-8?B?SVorWm80REZucXdVckRhWjlER1p5NTRPNHBia0VoMjRGRVZXb1J0RStCQTNM?= =?utf-8?B?MVh6b282T0l0U0RqVUIxOVZyemxIaUV2NEJmQXJ3bFE5Um44QStkeVAwekxZ?= =?utf-8?B?RWxMZnVKTlVNczdYRWpndkxxRytoM29GWCtXbmRMUEpDNkV1TnMvdWZSUVIy?= =?utf-8?B?Z2FmVG8zV2F4MStWdlcrWDY0Qzd2QWlsekJTZVlkY3NVWnkxMUFCVU5LNDZv?= =?utf-8?B?TzVLcURnOE1pemw0ZmRqcGNQZ2pEVC92WVo2bmFVOFNCenI0dHFFeXVTSlB1?= =?utf-8?B?ZSt1NzBRWWRXSmJTcUUveTJKbVE3dlVxTXJiTDYrakJraEdUdks2Vm9EZ3Fp?= =?utf-8?B?cVhHYkt6RHBsTUpOYkhSZkVESkZyZEVHOTM5ODZDaHlNUzZEbU0xby9rU290?= =?utf-8?B?QWhNOHQzMkYrVHZFMk0wN3o2cjYxUXpVME1RbjBKMldnM21Wemo3SUJ4N1ZC?= =?utf-8?B?WnQvWlZLM1dRanFQdXFPdy9tMGlacE9mcXU0UkFFN1JhUWRQcktyN042MSsr?= =?utf-8?Q?qE1Q1ejlZvAQWE649+QbdqiT88crpnkkx5H1xJr?= 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: BN9PR11MB5513.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90a886e8-9127-46e6-64b1-08d97f33d61f X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2021 08:18:06.0444 (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: RZSn7ISW/xsAUtrjIEn1ShfAAAJlKUxBaZ5+zn67nheBDlkinqI5g/j5WLOvxRj439cNmpTomkqPKT0YHfMKEw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1969 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 2/2] vhost: enable IOMMU for async vhost 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 Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWGlhLCBDaGVuYm8gPGNo ZW5iby54aWFAaW50ZWwuY29tPg0KPiBTZW50OiBGcmlkYXksIFNlcHRlbWJlciAyNCwgMjAyMSAz OjM2IFBNDQo+IFRvOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29t PjsgSHUsIEppYXl1DQo+IDxqaWF5dS5odUBpbnRlbC5jb20+OyBEaW5nLCBYdWFuIDx4dWFuLmRp bmdAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnOw0KPiBCdXJha292LCBBbmF0b2x5IDxhbmF0b2x5 LmJ1cmFrb3ZAaW50ZWwuY29tPg0KPiBDYzogSmlhbmcsIENoZW5nMSA8Y2hlbmcxLmppYW5nQGlu dGVsLmNvbT47IFJpY2hhcmRzb24sIEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNv bT47IFBhaSBHLCBTdW5pbCA8c3VuaWwucGFpLmdAaW50ZWwuY29tPjsgV2FuZywNCj4gWWluYW4g PHlpbmFuLndhbmdAaW50ZWwuY29tPjsgWWFuZywgWXZvbm5lWCA8eXZvbm5leC55YW5nQGludGVs LmNvbT4NCj4gU3ViamVjdDogUkU6IFtQQVRDSCB2MiAyLzJdIHZob3N0OiBlbmFibGUgSU9NTVUg Zm9yIGFzeW5jIHZob3N0DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g RnJvbTogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPiBT ZW50OiBGcmlkYXksIFNlcHRlbWJlciAyNCwgMjAyMSAzOjE0IFBNDQo+ID4gVG86IFhpYSwgQ2hl bmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29t PjsNCj4gRGluZywNCj4gPiBYdWFuIDx4dWFuLmRpbmdAaW50ZWwuY29tPjsgZGV2QGRwZGsub3Jn OyBCdXJha292LCBBbmF0b2x5DQo+ID4gPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+DQo+ID4g Q2M6IEppYW5nLCBDaGVuZzEgPGNoZW5nMS5qaWFuZ0BpbnRlbC5jb20+OyBSaWNoYXJkc29uLCBC cnVjZQ0KPiA+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IFBhaSBHLCBTdW5pbCA8c3Vu aWwucGFpLmdAaW50ZWwuY29tPjsgV2FuZywNCj4gPiBZaW5hbiA8eWluYW4ud2FuZ0BpbnRlbC5j b20+OyBZYW5nLCBZdm9ubmVYIDx5dm9ubmV4LnlhbmdAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6 IFJlOiBbUEFUQ0ggdjIgMi8yXSB2aG9zdDogZW5hYmxlIElPTU1VIGZvciBhc3luYyB2aG9zdA0K PiA+DQo+ID4NCj4gPg0KPiA+IE9uIDkvMjQvMjEgMDM6NTMsIFhpYSwgQ2hlbmJvIHdyb3RlOg0K PiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4gRnJvbTogTWF4aW1lIENv cXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPiA+PiBTZW50OiBUaHVyc2Rh eSwgU2VwdGVtYmVyIDIzLCAyMDIxIDEwOjU2IFBNDQo+ID4gPj4gVG86IEh1LCBKaWF5dSA8amlh eXUuaHVAaW50ZWwuY29tPjsgRGluZywgWHVhbiA8eHVhbi5kaW5nQGludGVsLmNvbT47DQo+ID4g Pj4gZGV2QGRwZGsub3JnOyBCdXJha292LCBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwu Y29tPjsgWGlhLA0KPiBDaGVuYm8NCj4gPiA+PiA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+ID4g Pj4gQ2M6IEppYW5nLCBDaGVuZzEgPGNoZW5nMS5qaWFuZ0BpbnRlbC5jb20+OyBSaWNoYXJkc29u LCBCcnVjZQ0KPiA+ID4+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IFBhaSBHLCBTdW5p bCA8c3VuaWwucGFpLmdAaW50ZWwuY29tPjsgV2FuZywNCj4gPiA+PiBZaW5hbiA8eWluYW4ud2Fu Z0BpbnRlbC5jb20+OyBZYW5nLCBZdm9ubmVYIDx5dm9ubmV4LnlhbmdAaW50ZWwuY29tPg0KPiA+ ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMi8yXSB2aG9zdDogZW5hYmxlIElPTU1VIGZvciBh c3luYyB2aG9zdA0KPiA+ID4+DQo+ID4gPj4NCj4gPiA+Pg0KPiA+ID4+IE9uIDkvMjMvMjEgMTY6 MzksIEh1LCBKaWF5dSB3cm90ZToNCj4gPiA+Pj4gSGkgWHVhbiwNCj4gPiA+Pj4NCj4gPiA+Pj4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4+PiBGcm9tOiBEaW5nLCBYdWFuIDx4 dWFuLmRpbmdAaW50ZWwuY29tPg0KPiA+ID4+Pj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMTcs IDIwMjEgMToyNiBQTQ0KPiA+ID4+Pj4gVG86IGRldkBkcGRrLm9yZzsgQnVyYWtvdiwgQW5hdG9s eSA8YW5hdG9seS5idXJha292QGludGVsLmNvbT47DQo+ID4gPj4+PiBtYXhpbWUuY29xdWVsaW5A cmVkaGF0LmNvbTsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiA+ID4+Pj4g Q2M6IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPjsgSmlhbmcsIENoZW5nMQ0KPiA+IDxj aGVuZzEuamlhbmdAaW50ZWwuY29tPjsNCj4gPiA+Pj4+IFJpY2hhcmRzb24sIEJydWNlIDxicnVj ZS5yaWNoYXJkc29uQGludGVsLmNvbT47IFBhaSBHLCBTdW5pbA0KPiA+ID4+Pj4gPHN1bmlsLnBh aS5nQGludGVsLmNvbT47IFdhbmcsIFlpbmFuIDx5aW5hbi53YW5nQGludGVsLmNvbT47IFlhbmcs DQo+ID4gPj4+PiBZdm9ubmVYIDx5dm9ubmV4LnlhbmdAaW50ZWwuY29tPjsgRGluZywgWHVhbiA8 eHVhbi5kaW5nQGludGVsLmNvbT4NCj4gPiA+Pj4+IFN1YmplY3Q6IFtQQVRDSCB2MiAyLzJdIHZo b3N0OiBlbmFibGUgSU9NTVUgZm9yIGFzeW5jIHZob3N0DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gVGhl IHVzZSBvZiBJT01NVSBoYXMgbWFueSBhZHZhbnRhZ2VzLCBzdWNoIGFzIGlzb2xhdGlvbiBhbmQg YWRkcmVzcw0KPiA+ID4+Pj4gdHJhbnNsYXRpb24uIFRoaXMgcGF0Y2ggZXh0ZW5kcyB0aGUgY2Fw YmlsaXR5IG9mIERNQSBlbmdpbmUgdG8gdXNlDQo+IElPTU1VDQo+ID4gaWYNCj4gPiA+Pj4+IHRo ZSBETUEgZW5naW5lIGlzIGJvdW5kIHRvIHZmaW8uDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gV2hlbiBz ZXQgbWVtb3J5IHRhYmxlLCB0aGUgZ3Vlc3QgbWVtb3J5IHdpbGwgYmUgbWFwcGVkIGludG8gdGhl DQo+IGRlZmF1bHQNCj4gPiA+Pj4+IGNvbnRhaW5lciBvZiBEUERLLg0KPiA+ID4+Pj4NCj4gPiA+ Pj4+IFNpZ25lZC1vZmYtYnk6IFh1YW4gRGluZyA8eHVhbi5kaW5nQGludGVsLmNvbT4NCj4gPiA+ Pj4+IC0tLQ0KPiA+ID4+Pj4gICAgbGliL3Zob3N0L3J0ZV92aG9zdC5oICB8ICAxICsNCj4gPiA+ Pj4+ICAgIGxpYi92aG9zdC92aG9zdF91c2VyLmMgfCA1Nw0KPiA+ID4+Pj4gKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4gPj4+PiAgICAyIGZpbGVzIGNoYW5n ZWQsIDU3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPiA+Pj4+DQo+ID4gPj4+PiBk aWZmIC0tZ2l0IGEvbGliL3Zob3N0L3J0ZV92aG9zdC5oIGIvbGliL3Zob3N0L3J0ZV92aG9zdC5o IGluZGV4DQo+ID4gPj4+PiA4ZDg3NWU5MzIyLi5lMDUzNzI0OWYzIDEwMDY0NA0KPiA+ID4+Pj4g LS0tIGEvbGliL3Zob3N0L3J0ZV92aG9zdC5oDQo+ID4gPj4+PiArKysgYi9saWIvdmhvc3QvcnRl X3Zob3N0LmgNCj4gPiA+Pj4+IEBAIC0xMjcsNiArMTI3LDcgQEAgc3RydWN0IHJ0ZV92aG9zdF9t ZW1fcmVnaW9uIHsNCj4gPiA+Pj4+ICAgIAl2b2lkCSAqbW1hcF9hZGRyOw0KPiA+ID4+Pj4gICAg CXVpbnQ2NF90IG1tYXBfc2l6ZTsNCj4gPiA+Pj4+ICAgIAlpbnQgZmQ7DQo+ID4gPj4+PiArCXVp bnQ2NF90IGRtYV9tYXBfc3VjY2VzczsNCj4gPiA+Pj4NCj4gPiA+Pj4gSG93IGFib3V0IHVzaW5n IGJvb2wgZm9yIGRtYV9tYXBfc3VjY2Vzcz8NCj4gPiA+Pg0KPiA+ID4+IFRoZSBiaWdnZXIgcHJv YmxlbSBoZXJlIGlzIHRoYXQgeW91IGFyZSBicmVha2luZyB0aGUgQUJJLg0KPiA+ID4NCj4gPiA+ IE1heWJlIHRoaXMga2luZCBvZiBkcml2ZXItZmFjaW5nIHN0cnVjdHMvZnVuY3Rpb25zIHNob3Vs ZCBiZSByZW1vdmVkDQo+ID4gPiBmcm9tIEFCSSwgc2luY2Ugd2UgYXJlIHJlZmFjdG9yaW5nIERQ REsgQUJJIHJlY2VudGx5Lg0KPiA+DQo+ID4gSXQgaGFzIGFjdHVhbGx5IGJlZW4gZXhwb3NlZCBm b3IgU1BESywgd2UgY2Fubm90IGp1c3QgcmVtb3ZlIGl0IGZyb20NCj4gPiBBUEkuDQo+IA0KPiAn ZXhwb3NlZCcgZG9lcyBub3QgbWVhbiBpdCBoYXMgdG8gYmUgQUJJLiBMaWtlICdkcml2ZXJfc2Rr X2hlYWRlcnMnIGluDQo+IGV0aGRldiBsaWIsIHRob3NlIGhlYWRlcnMgY2FuIGJlIGV4cG9zZWQg YnV0IGRvIG5vdCBpbmNsdWRlIEFCSS4gSSBzZWUNCj4gU1BESyBpcyB1c2luZyB0aGF0IGZvciBi dWlsZGluZyBpdHMgbGliLiBOb3Qgc3VyZSBpbiB0aGlzIGNhc2UsIHRoZSBTUERLDQo+IFZob3N0 IGxpYiBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyBhcHBsaWNhdGlvbi4NCj4gDQo+IFRoYW5rcywN Cj4gQ2hlbmJvDQoNClRoYW5rcyBmb3IgdGhlIGRpc2N1c3Npb24uIFNpbmNlIHRoZSBwb3NzaWJs ZSBBQkkgY2hhbmdpbmcgaXMgaW4gdGhlIGZ1dHVyZSwNCkkgY29uc2lkZXIgYWRkaW5nIHRoZSBk bWFfbWFwX3N1Y2Nlc3MgaW4gdGhlIHZpcnRpb19uZXQgc3RydWN0dXJlLCB0byBpbmRpY2F0ZQ0K dGhlIG1hcCBzdGF0dXMgb2YgZWFjaCByZWdpb24uIFRoaXMgZmxhZyBjYW4gZXZlbiBiZSByZW1v dmVkIGlmIGl0IGlzIG5vdCBjb25zaWRlcmluZw0KdGhlIHJlc3RyaWN0aW9ucyBvbiB1c2VyKGtl cm5lbCBkcml2ZXIgc3VwcG9ydCkuIERldGFpbHMgY2FuIGJlIHByb3ZpZGVkIGluIG5leHQgdmVy c2lvbidzIHBhdGNoLg0KDQpIb3BlIHRvIGdldCB5b3VyIGluc2lnaHRzLiA6KQ0KDQpUaGFua3Ms DQpYdWFuDQoNCj4gDQo+ID4NCj4gPiBNYXhpbWUNCj4gPg0KPiA+ID4gL0NoZW5ibw0KPiA+ID4N Cj4gPiA+Pg0KPiA+ID4+Pj4gICAgfTsNCj4gPiA+Pj4+DQo+ID4gPj4+PiAgICAvKioNCj4gPiA+ DQoNCg==