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=-7.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 B0852C433EF for ; Tue, 7 Sep 2021 00:55:17 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 0EA946069E for ; Tue, 7 Sep 2021 00:55:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0EA946069E 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 DEC9B410EB; Tue, 7 Sep 2021 02:55:15 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 14FE940DF8; Tue, 7 Sep 2021 02:55:13 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10099"; a="283771804" X-IronPort-AV: E=Sophos;i="5.85,273,1624345200"; d="scan'208";a="283771804" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2021 17:55:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,273,1624345200"; d="scan'208";a="537587083" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by FMSMGA003.fm.intel.com with ESMTP; 06 Sep 2021 17:55:12 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 6 Sep 2021 17:55:11 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 6 Sep 2021 17:55:11 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2242.12 via Frontend Transport; Mon, 6 Sep 2021 17:55:11 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.102) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Mon, 6 Sep 2021 17:55:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RZHGn5yNMJyW2SeJxNl3JXAULZMH1sbsefvJVgWPbhjhKp1WWXgkqyl0H8YXwDnSmYnhNaXk8qTSd2Bw8gDgxJvNNzc0itNuGzy/w1Q+PIdJq4LPs7WupjXFrKiRrmov6C38YXzr/EgInFf3fPAqhf8s7jGlnk5pNHFHjuT/YNdFVk8UnwBCSq1gKt8yzBrc6kcS5CAyai6OWzQCeArSSzyGLBBH0Rp+c4/bkxkpvn8hb4qDFZcURTbqnGixLqTEmVVtFmWkPXywwjWe5ntbwN8b+YLr7dWsZBOx8MKbEMoG9fC5AW6beKr+pd9ojmasxl0/0qvKvO1YS0XCQn28tQ== 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=ljggy/QdEnWKXnfqhNMWrdluxwC2FHBT5tUKaDJgRSk=; b=cCGzYz2xlUQ0Imj0Pm0QCOq78doZx+I/V92sTtG6TPxUg54fWsKH3onyVdKDlcrb386rexQ7/xrhAC2bmnvk9gwcQEfHgPN2ShPJvmyW1TZxEFSYQB127UoiyflrJkJZaHhYfZi8w0ewD0wEO6hES4Mgol9rC8zSIPBNRNypHE5IvO0Y8HE3SpvTysJ12q5ojSBYy+r9hI8+Ai2RutUwzPcR9iv9EG23BIw6r3o5GKHoOJ0fvpIvB4CPaWN3dZ/nKa02xNwFKJeaXa0G5n/WITncJAoujXRG1LbKMC/W1AIUNXFGfD438q3IhEkK9W8oc/WJhXKg3pTo8SDXetFiFg== 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=ljggy/QdEnWKXnfqhNMWrdluxwC2FHBT5tUKaDJgRSk=; b=Sa1eLdQlctPV0dhdrVfjLl454cnjZTGhPCQhO2bW4J0v2juyT3FDy+9lji8EGMU5b7MCiJ8r71Tua1o/yEjSpCDTK2c3cLV+06AF5lcdim0xupX2Cx2Uhfw1cz/Drcm+Io/+ZZ3NWwY/wHuX/Pu57ZP/Zz7ThrI9HgVBdqgvcBs= Received: from BN8PR11MB3795.namprd11.prod.outlook.com (20.178.218.159) by BN0PR11MB5744.namprd11.prod.outlook.com (20.180.176.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19; Tue, 7 Sep 2021 00:55:10 +0000 Received: from BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::dcf0:d9f6:8024:1879]) by BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::dcf0:d9f6:8024:1879%6]) with mapi id 15.20.4478.025; Tue, 7 Sep 2021 00:55:10 +0000 From: "Wang, Haiyue" To: Elena Agostini , Jerin Jacob CC: NBU-Contact-Thomas Monjalon , Jerin Jacob , dpdk-dev , Stephen Hemminger , David Marchand , Andrew Rybchenko , Honnappa Nagarahalli , "Yigit, Ferruh" , "techboard@dpdk.org" Thread-Topic: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library Thread-Index: AQHXhUqiqOLodcysskC4GsnlWYbnF6tcqrSAgAAU9ACAAFmTAIAqLH6AgAArPACAArJHsIAFYAmAgAFqXwCABntfgIAAELbQgAADRICAAH0hMA== Date: Tue, 7 Sep 2021 00:55:09 +0000 Message-ID: References: <20210602203531.2288645-1-thomas@monjalon.net> <2204873.CS8KgQhqXy@thomas> <4431702.ObvnSNnLSN@thomas> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Enabled=True; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SiteId=43083d15-7273-40c1-b7db-39efd9ccc17a; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Owner=eagostini@nvidia.com; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SetDate=2021-09-06T16:12:07.7259280Z; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Name=Unrestricted; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Application=Microsoft Azure Information Protection; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_ActionId=337119a2-0a5a-44f8-bd40-0cdeb8ea9c7b; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Extended_MSFT_Method=Automatic dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.0.76 authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7cdbb6ae-6295-42fc-50a2-08d9719a2473 x-ms-traffictypediagnostic: BN0PR11MB5744: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mC/2cDQ3lRNgYFlCx0KA39gzBHeRI+ieRKkz67WjRYsLzG5NAxKdt8/NO/2/cbIuFLNU6ttm73hHv/xKIuzaM6uSjNDW6dWoDbLlYo2dF6r7zJbp9mvIzfoUaQHkUVMxv+l/oaq0aPe/kmFWoMQEm0wCMHUQ/dalXP9zOpu0y47V7G+kPtPH6OTRqfw7h1LCWSptJrWfRkxxs0MFTMtZYwTeyny3igA+ign54Ofk76XhTTrcRDmxVMuESeXllD867TQsRISECP02Uq9ECWog0VugWPKQQUSzbbgPTsXqoZ1nsRh5AVEK2KflukhmZhUo5ItwkCkY7trOiWWLFW+AqAfVjooPXqk1DW8cgWyl3bcLVEqfpFoaacaL8NoC6T4OTNGkBuOBpZQT6ItAgsHvKpzlzDyV90QSepbpPT9IB3OLrMvY80zx5mQzhuIHBBR1Vp4J1HuGrQVsOzb2wR5zZfhqs/csuJsK6qqHiTockgFmk4Cxi4qW1DUyvkoBys+1vfPkI4CUYvVzQhJaa1U9Bsr+rCmmJrTtiQiGXPJrrr8kNAB7rpz+yGTDsjcXmHZmFafTp3lklmzyBvqopUtvHD0/QoUCEEJ/qb0reqQ9LsXECNsGc3p1A1YfGXBzD9bL8d1WbVeLBMYe8MpBvmeCPtyezE7qzekdDmg2sOjsFj04LdKr5UwIl0U1aLnrH45nOx777hUknOjaUp2ZD6mRZlxGBISbeyOfqxujoeAfgn/6aEz6EJPxIYK6QqmlRn8go6tam1AEBiMvKwqjfuvjaaz4DJRYYxgtjgksYMBboKE= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR11MB3795.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(83380400001)(4326008)(76116006)(5660300002)(38070700005)(478600001)(52536014)(8676002)(122000001)(86362001)(316002)(966005)(2906002)(38100700002)(71200400001)(186003)(33656002)(26005)(8936002)(110136005)(54906003)(66446008)(64756008)(66556008)(66476007)(53546011)(7416002)(6506007)(66946007)(55016002)(9686003)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VWRibzVrSktkUVNHdXQxdjlhWUY3dUU4dlg5d29iNmFObXJacE1NVlc5Zk4z?= =?utf-8?B?WnNBZFAzZWNtTjliTi94TFNMZko0THVQc01PeHdHT200YzZBV1cyWVlPaTQy?= =?utf-8?B?YjBjS05WdGZXcTE2VEpZMjhVL3Bjc3F5WFpiZE8yT0R3ay9rQVE1bUpDNFFM?= =?utf-8?B?ZEtJL3VOTlk3akY1N2Q4Yk01SGJ6ZGV4OWcxdlpLbFRXR1c4RHRGUmVneW5N?= =?utf-8?B?QjRuWlZWcXhGaXNDRVN1SWZ3OHJsV0V3bWdudWtrcEdYa0p6SWZUMDNrbzFq?= =?utf-8?B?Uzg1QUdvR2UwZitveDhnTEdtaHpZTStZbzNNQ25ndEJJbmtKZ0QvSDMxVGlw?= =?utf-8?B?b1BBWG12dFhBMDMxWVpLU2pQUlRoOUJpQ1lCL0x6ZXVxRTR3bythZm5HcFNS?= =?utf-8?B?VGZaZ3VzdXVmazJyaCtteEQzNE5VeXhXYzA3T1RlUmRDcXJ3M1QyWWlCY2Za?= =?utf-8?B?NFE3VDExMkJmdWYrRDBLRFR4MmFLeDJNTzBLQ3Yrbm9DdXpLd2NheXNsZThS?= =?utf-8?B?ZlU2QXJhbkpwaExrMCswZ0ljRXRUMDZ4Y2R1TXBhNXl4NnNPVXZWRyt3b1Rn?= =?utf-8?B?aXpPemVqMDNqMHNybHFxRmNLemJ0UW4wbURMcGExb0RuWks3NGhvL1FvVUM5?= =?utf-8?B?YVpQWkh0UlhmYml4YTZHVExzMmxoK2dWNVZEc1hNeEFLdFphR1VTWVVnTkJ2?= =?utf-8?B?aXRHQ3JBVnA3QlFsSnpsYmxxa1dRNURINlhuT3d4R1UzVmFxejJGQWY5M2Uv?= =?utf-8?B?WkNwL29ybUFsbDFSd2FtZzZzRmpacnJWdDBzMTJORHl2T3J6bHYzM2F5cHNu?= =?utf-8?B?bldqM2FDeXlFb3RBNUh3K3BRMDVGcWlFT093cWY2SW5DNFhhU2E2SnpZRU1L?= =?utf-8?B?a2h5bDlxT21mNUkvb3JDcENrK2tUdVpFd1BqQi9samdIM3d6czdVSnpqa0x2?= =?utf-8?B?N0s1cEhiNVFpY1pkQ1VSY01GVzAxeDcvM0dWZmEwNkNsWjlLREFUTEU5SThP?= =?utf-8?B?Sk5iNmdWOWZNUmVudDhGLzE1Uy8zNWhpM1hZeFQ3UUd0Rmxkc0UvaVFFeUty?= =?utf-8?B?Tm55Q3UzNmpJVWMydW12LzlPVDl0UWw3ZHIxaFczdGxhMStSSy9lenlJR2Z3?= =?utf-8?B?TlJxNEZrckIrQnhIcVBBNkZDNkRNaFZDbFVZVElYUFJJMzJJSHJBMDVDalR5?= =?utf-8?B?MnQ1T3UxYjZuZndwWlFwbDJ4TGxhOXJZaCtjRlVMWklLOGtSMEdXSzVSOUhj?= =?utf-8?B?T1E2YUNHUU5EZFRzVlBKVXc1cFRrU3pPT2oyUUZOMmFOQWlORTlhejlHbFkw?= =?utf-8?B?VGNsL1d2Qk15aFh3V0VrZWdFVEJiV3c5MjFaVWR5R3NMT1NoRDc2SnU2Qm9I?= =?utf-8?B?VW9wdnZVU21FUHBUK1RhejYwSXVrYVlNWGhmU3EyS0pUY1BsT2o2UEg3Z0Nx?= =?utf-8?B?ZlZMSi9DcjRaNVhMd0UyUmpZMVBiMVd6SGRnL2JlVlJ0RHdvZkZ4T2FOKzB5?= =?utf-8?B?K054bFZaUDFjaFdmajNPQmVZQWlmSHpDODdyeStDTGtEcjVPcEtKb05qR0h0?= =?utf-8?B?Y1VNei9CSEg4eDhtajRpUTJxTFgvVnhIUGwrWVBtQkVGRTdyc2NHcTlTOWt4?= =?utf-8?B?R2pkL095d2lJOFN1V3kvbDV5TXUzSU80RVpleWVaUVZtQ1loNzhpM2xnNk1E?= =?utf-8?B?b0VUeFQ2U245OWFJbDZFOG5HQmJleURkRllML2dFNG1xalJaR1RHeXVKdDZV?= =?utf-8?Q?Grl+qitC+PZy/Ykqb732/0jyuvzcdKb+XbUC9bg?= 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: BN8PR11MB3795.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cdbb6ae-6295-42fc-50a2-08d9719a2473 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Sep 2021 00:55:09.6837 (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: oi+OUYrjDoJz+hDXiJpYqM7J65cewYacxgdh8l2vCurvokv8Apo4ZXSFLPAXdydCboBdGsmKipPGJjBUo4gxkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR11MB5744 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBFbGVuYSBBZ29zdGluaSA8ZWFn b3N0aW5pQG52aWRpYS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJlciA3LCAyMDIxIDAx OjIzDQo+IFRvOiBXYW5nLCBIYWl5dWUgPGhhaXl1ZS53YW5nQGludGVsLmNvbT47IEplcmluIEph Y29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+IENjOiBOQlUtQ29udGFjdC1UaG9tYXMgTW9u amFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBKZXJpbiBKYWNvYiA8amVyaW5qQG1hcnZlbGwu Y29tPjsgZHBkay1kZXYNCj4gPGRldkBkcGRrLm9yZz47IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVw aGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47IERhdmlkIE1hcmNoYW5kDQo+IDxkYXZpZC5tYXJjaGFu ZEByZWRoYXQuY29tPjsgQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxh YnMucnU+OyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA8aG9ubmFwcGEubmFnYXJhaGFsbGlAYXJt LmNvbT47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyB0ZWNoYm9hcmRA ZHBkay5vcmcNCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1JGQyBQQVRDSCB2MiAwLzddIGhl dGVyb2dlbmVvdXMgY29tcHV0aW5nIGxpYnJhcnkNCj4gDQo+IA0KPiANCj4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50 ZWwuY29tPg0KPiA+IFNlbnQ6IE1vbmRheSwgU2VwdGVtYmVyIDYsIDIwMjEgNzoxNSBQTQ0KPiA+ IFRvOiBFbGVuYSBBZ29zdGluaSA8ZWFnb3N0aW5pQG52aWRpYS5jb20+OyBKZXJpbiBKYWNvYg0K PiA+IDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4gQ2M6IE5CVS1Db250YWN0LVRob21hcyBN b25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEplcmluIEphY29iDQo+ID4gPGplcmluakBt YXJ2ZWxsLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBTdGVwaGVuIEhlbW1pbmdlcg0K PiA+IDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47IERhdmlkIE1hcmNoYW5kDQo+ID4gPGRh dmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4gPGFuZHJldy5y eWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPiA8aG9ubmFw cGEubmFnYXJhaGFsbGlAYXJtLmNvbT47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRl bC5jb20+Ow0KPiA+IHRlY2hib2FyZEBkcGRrLm9yZw0KPiA+IFN1YmplY3Q6IFJFOiBbZHBkay1k ZXZdIFtSRkMgUEFUQ0ggdjIgMC83XSBoZXRlcm9nZW5lb3VzIGNvbXB1dGluZw0KPiA+IGxpYnJh cnkNCj4gPg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJv bTogRWxlbmEgQWdvc3RpbmkgPGVhZ29zdGluaUBudmlkaWEuY29tPg0KPiA+ID4gU2VudDogVHVl c2RheSwgU2VwdGVtYmVyIDcsIDIwMjEgMDA6MTENCj4gPiA+IFRvOiBKZXJpbiBKYWNvYiA8amVy aW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gQ2M6IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdA aW50ZWwuY29tPjsgTkJVLUNvbnRhY3QtVGhvbWFzDQo+ID4gTW9uamFsb24NCj4gPiA+IDx0aG9t YXNAbW9uamFsb24ubmV0PjsgSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IGRwZGst ZGV2DQo+ID4gPiA8ZGV2QGRwZGsub3JnPjsgU3RlcGhlbiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0 d29ya3BsdW1iZXIub3JnPjsNCj4gPiBEYXZpZA0KPiA+ID4gTWFyY2hhbmQgPGRhdmlkLm1hcmNo YW5kQHJlZGhhdC5jb20+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4gPiA8YW5kcmV3LnJ5YmNoZW5r b0Bva3RldGxhYnMucnU+OyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA+ID4gPGhvbm5hcHBhLm5h Z2FyYWhhbGxpQGFybS5jb20+OyBZaWdpdCwgRmVycnVoDQo+ID4gPiA8ZmVycnVoLnlpZ2l0QGlu dGVsLmNvbT47IHRlY2hib2FyZEBkcGRrLm9yZw0KPiA+ID4gU3ViamVjdDogUkU6IFtkcGRrLWRl dl0gW1JGQyBQQVRDSCB2MiAwLzddIGhldGVyb2dlbmVvdXMgY29tcHV0aW5nDQo+ID4gPiBsaWJy YXJ5DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4NCj4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g SSdkIGxpa2UgdG8gaW50cm9kdWNlICh3aXRoIGEgZGVkaWNhdGVkIG9wdGlvbikgdGhlIG1lbW9y eSBBUEkgaW4NCj4gPiA+ID4gPiB0ZXN0cG1kIHRvIHByb3ZpZGUgYW4gZXhhbXBsZSBvZiBob3cg dG8gVFgvUlggcGFja2V0cyB1c2luZyBkZXZpY2UNCj4gPiA+ID4gbWVtb3J5Lg0KPiA+ID4gPg0K PiA+ID4gPiBOb3Qgc3VyZSB3aXRob3V0IGVtYmVkZGluZyBzaWRlYmFuZCBjb21tdW5pY2F0aW9u IG1lY2hhbmlzbSBob3cNCj4gPiBpdA0KPiA+ID4gPiBjYW4gbm90aWZ5IHRvIEdQVSBhbmQgYmFj ayB0byBDUFUuIElmIHlvdSBjb3VsZCBzaGFyZSB0aGUgZXhhbXBsZQ0KPiA+ID4gPiBBUEkgc2Vx dWVuY2UgdGhhdCBoZWxwcyB0byB1cyB1bmRlcnN0YW5kIHRoZSBsZXZlbCBvZiBjb3VwbGluZyB3 aXRoDQo+ID4gdGVzdHBtZC4NCj4gPiA+ID4NCj4gPiA+DQo+ID4gPiBUaGVyZSBpcyBubyBuZWVk IG9mIGNvbW11bmljYXRpb24gbWVjaGFuaXNtIGhlcmUuDQo+ID4gPiBBc3N1bWluZyB0aGVyZSBp cyBub3Qgd29ya2xvYWQgdG8gcHJvY2VzcyBuZXR3b3JrIHBhY2tldHMgKHRvIG5vdA0KPiA+ID4g Y29tcGxpY2F0ZSB0aGluZ3MpLCB0aGUgc3RlcHMgYXJlOg0KPiA+ID4gMSkgQ3JlYXRlIGEgRFBE SyBtZW1wb29sIHdpdGggZGV2aWNlIGV4dGVybmFsIG1lbW9yeSB1c2luZyB0aGUgaGNkZXYNCj4g PiA+IChvciBncHVkZXYpIGxpYnJhcnkNCj4gPiA+IDIpIFVzZSB0aGF0IG1lbXBvb2wgdG8gdHgv cngvZndkIHBhY2tldHMNCj4gPiA+DQo+ID4gPiBBcyBhbiBleGFtcGxlLCB5b3UgbG9vayBhdCBt eSBsMmZ3ZC1udiBhcHBsaWNhdGlvbiBoZXJlOg0KPiA+ID4gaHR0cHM6Ly9naXRodWIuY29tL05W SURJQS9sMmZ3ZC1udg0KPiA+ID4NCj4gPg0KPiA+IFRvIGVuaGFuY2UgdGhlICdydGVfZXh0bWVt X3JlZ2lzdGVyJyAvICdydGVfcGt0bWJ1Zl9wb29sX2NyZWF0ZV9leHRidWYnDQo+ID4gPw0KPiA+ DQo+IA0KPiBUaGUgcHVycG9zZSBvZiB0aGVzZSB0d28gZnVuY3Rpb25zIGlzIGRpZmZlcmVudC4N Cj4gSGVyZSBEUERLIGFsbG93cyB0aGUgdXNlciB0byB1c2UgYW55IGtpbmQgb2YgbWVtb3J5IHRv IHJ4L3R4IHBhY2tldHMuDQo+IEl0J3Mgbm90IGFib3V0IGFsbG9jYXRpbmcgbWVtb3J5Lg0KDQo+ IA0KPiBNYXliZSBJJ20gbWlzc2luZyB0aGUgcG9pbnQgaGVyZTogd2hhdCdzIHRoZSBtYWluIG9i amVjdGlvbiBpbiBoYXZpbmcgYSBHUFUgbGlicmFyeT8NCg0KRXhhY3RseS4gOy0pDQoNCk1heWJl IGEgcmVhbCBkZXZpY2UgY29kZSBpcyB3b3J0aCBmb3IgcGVvcGxlIHRvIGdldCB0aGUgd2hvbGUg cGljdHVyZS4NCg0KPiANCj4gPiAgICAgICAgIGlmIChsMmZ3ZF9tZW1fdHlwZSA9PSBNRU1fSE9T VF9QSU5ORUQpIHsNCj4gPiAgICAgICAgICAgICAgICAgZXh0X21lbS5idWZfcHRyID0gcnRlX21h bGxvYygiZXh0bWVtIiwgZXh0X21lbS5idWZfbGVuLCAwKTsNCj4gPiAgICAgICAgICAgICAgICAg Q1VEQV9DSEVDSyhjdWRhSG9zdFJlZ2lzdGVyKGV4dF9tZW0uYnVmX3B0ciwNCj4gPiBleHRfbWVt LmJ1Zl9sZW4sIGN1ZGFIb3N0UmVnaXN0ZXJNYXBwZWQpKTsNCj4gPiAgICAgICAgICAgICAgICAg dm9pZCAqcERldmljZTsNCj4gPiAgICAgICAgICAgICAgICAgQ1VEQV9DSEVDSyhjdWRhSG9zdEdl dERldmljZVBvaW50ZXIoJnBEZXZpY2UsDQo+ID4gZXh0X21lbS5idWZfcHRyLCAwKSk7DQo+ID4g ICAgICAgICAgICAgICAgIGlmIChwRGV2aWNlICE9IGV4dF9tZW0uYnVmX3B0cikNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUsICJHUFUgcG9pbnRlciBk b2VzIG5vdCBtYXRjaCBDUFUNCj4gPiBwb2ludGVyXG4iKTsNCj4gPiAgICAgICAgIH0gZWxzZSB7 DQo+ID4gICAgICAgICAgICAgICAgIGV4dF9tZW0uYnVmX2lvdmEgPSBSVEVfQkFEX0lPVkE7DQo+ ID4gICAgICAgICAgICAgICAgIENVREFfQ0hFQ0soY3VkYU1hbGxvYygmZXh0X21lbS5idWZfcHRy LA0KPiA+IGV4dF9tZW0uYnVmX2xlbikpOw0KPiA+ICAgICAgICAgICAgICAgICBpZiAoZXh0X21l bS5idWZfcHRyID09IE5VTEwpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V4aXQo RVhJVF9GQUlMVVJFLCAiQ291bGQgbm90IGFsbG9jYXRlIEdQVSBtZW1vcnlcbiIpOw0KPiA+DQo+ ID4gICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnID0gMTsNCj4gPiAgICAgICAgICAg ICAgICAgQ1VyZXN1bHQgc3RhdHVzID0gY3VQb2ludGVyU2V0QXR0cmlidXRlKCZmbGFnLA0KPiA+ IENVX1BPSU5URVJfQVRUUklCVVRFX1NZTkNfTUVNT1BTLCAoQ1VkZXZpY2VwdHIpZXh0X21lbS5i dWZfcHRyKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYgKENVREFfU1VDQ0VTUyAhPSBzdGF0dXMp IHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUsICJD b3VsZCBub3Qgc2V0IFNZTkMgTUVNT1AgYXR0cmlidXRlDQo+ID4gZm9yIEdQVSBtZW1vcnkgYXQg JWxseFxuIiwgKENVZGV2aWNlcHRyKWV4dF9tZW0uYnVmX3B0cik7DQo+ID4gICAgICAgICAgICAg ICAgIH0NCj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcnRlX2V4dG1lbV9yZWdpc3RlcihleHRf bWVtLmJ1Zl9wdHIsIGV4dF9tZW0uYnVmX2xlbiwNCj4gPiBOVUxMLCBleHRfbWVtLmJ1Zl9pb3Zh LCBHUFVfUEFHRV9TSVpFKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCkNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUsICJDb3VsZCBub3QgcmVn aXN0ZXIgR1BVIG1lbW9yeVxuIik7DQo+ID4gICAgICAgICB9DQo+ID4gICAgICAgICByZXQgPSBy dGVfZGV2X2RtYV9tYXAocnRlX2V0aF9kZXZpY2VzW2wyZndkX3BvcnRfaWRdLmRldmljZSwNCj4g PiBleHRfbWVtLmJ1Zl9wdHIsIGV4dF9tZW0uYnVmX2lvdmEsIGV4dF9tZW0uYnVmX2xlbik7DQo+ ID4gICAgICAgICBpZiAocmV0KQ0KPiA+ICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZB SUxVUkUsICJDb3VsZCBub3QgRE1BIG1hcCBFWFQgbWVtb3J5XG4iKTsNCj4gPiAgICAgICAgIG1w b29sX3BheWxvYWQgPSBydGVfcGt0bWJ1Zl9wb29sX2NyZWF0ZV9leHRidWYoInBheWxvYWRfbXBv b2wiLA0KPiA+IGwyZndkX25iX21idWZzLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAwLCAwLA0KPiBleHRfbWVtLmVsdF9zaXplLA0KPiA+DQo+IHJ0ZV9zb2NrZXRfaWQoKSwN Cj4gPiAmZXh0X21lbSwgMSk7DQo+ID4gICAgICAgICBpZiAobXBvb2xfcGF5bG9hZCA9PSBOVUxM KQ0KPiA+ICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUsICJDb3VsZCBub3Qg Y3JlYXRlIEVYVCBtZW1vcnkNCj4gPiBtZW1wb29sXG4iKTsNCj4gPg0KPiA+DQoNCg==