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.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED 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 4CEA4C282DA for ; Fri, 19 Apr 2019 09:58:26 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 9081F218FD for ; Fri, 19 Apr 2019 09:58:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9081F218FD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D69481B99C; Fri, 19 Apr 2019 11:58:24 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 5955E1B99A for ; Fri, 19 Apr 2019 11:58:23 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Apr 2019 02:58:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,369,1549958400"; d="scan'208";a="141947897" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga008.fm.intel.com with ESMTP; 19 Apr 2019 02:58:22 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 19 Apr 2019 02:58:22 -0700 Received: from lcsmsx153.ger.corp.intel.com (10.186.165.228) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 19 Apr 2019 02:58:21 -0700 Received: from lcsmsx155.ger.corp.intel.com ([169.254.12.133]) by LCSMSX153.ger.corp.intel.com ([169.254.8.148]) with mapi id 14.03.0415.000; Fri, 19 Apr 2019 12:58:18 +0300 From: "Jozwiak, TomaszX" To: Yongseok Koh , "Cel, TomaszX" , Thomas Monjalon CC: "dev@dpdk.org" , "Trahe, Fiona" Thread-Topic: [dpdk-dev] [PATCH v2 1/1] test/compress: add max mbuf size test case Thread-Index: AQHU9jgX5aPfOBWz90mGM5nh4/S7vaZDQBrw Date: Fri, 19 Apr 2019 09:58:18 +0000 Message-ID: References: <1550223873-17119-3-git-send-email-tomaszx.jozwiak@intel.com> <1554207413-19049-1-git-send-email-tomaszx.cel@intel.com> <1554207413-19049-2-git-send-email-tomaszx.cel@intel.com> <825F643C-86B8-4A5D-934A-E074DE1458C1@mellanox.com> In-Reply-To: <825F643C-86B8-4A5D-934A-E074DE1458C1@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMDEyOTdjMzgtOTIxZC00ODI1LTlhMWMtMTA3YmUxNDkyNGMzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTlhScVlINDh5WU1lYzFKdmYrSXBDTGhZMFZxbHJzMEVVaHU2cmpMQzNsMTlvRFJjTGM2TFVVdWtNSG1oaFA3SyJ9 x-originating-ip: [10.103.104.44] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2 1/1] test/compress: add max mbuf size test case X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" SGkgWW9uZ3Nlb2ssDQoNCkNvdWxkIHlvdSBjaGVjayBteSBmaXggaXMgb2sgbm93IG9uIGdjYyAo R0NDKSA0LjguNSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS0yOCkNCg0KVGh4LCBUb21law0KDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFlvbmdzZW9rIEtvaCBbbWFpbHRv Onlza29oQG1lbGxhbm94LmNvbV0NCj4gU2VudDogRnJpZGF5LCBBcHJpbCAxOSwgMjAxOSAxMjo0 MyBBTQ0KPiBUbzogQ2VsLCBUb21hc3pYIDx0b21hc3p4LmNlbEBpbnRlbC5jb20+OyBUaG9tYXMg TW9uamFsb24NCj4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBKb3p3aWFrLCBUb21hc3pYIDx0b21h c3p4LmpvendpYWtAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBUcmFoZSwgRmlvbmEg PGZpb25hLnRyYWhlQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENI IHYyIDEvMV0gdGVzdC9jb21wcmVzczogYWRkIG1heCBtYnVmIHNpemUNCj4gdGVzdCBjYXNlDQo+ IA0KPiBIaSwNCj4gDQo+IEknbSBzZWVpbmcgY29tcGlsZSBlcnJvci4NCj4gSXNuJ3QgaXQgZHVl IHRvIHRoaXMgcGF0Y2g/DQo+IA0KPiAkIGdjYyAtLXZlcnNpb24NCj4gZ2NjIChHQ0MpIDQuOC41 IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTI4KQ0KPiANCj4gDQo+IFsxNDg0LzE1MjNdIENvbXBp bGluZyBDIG9iamVjdCAnYXBwL3Rlc3QvYXBwQHRlc3RAQGRwZGstDQo+IHRlc3RAZXhlL3Rlc3Rf Y29tcHJlc3NkZXYuYy5vJy4NCj4gRkFJTEVEOiBhcHAvdGVzdC9hcHBAdGVzdEBAZHBkay10ZXN0 QGV4ZS90ZXN0X2NvbXByZXNzZGV2LmMubw0KPiBjYyAtSWFwcC90ZXN0L2FwcEB0ZXN0QEBkcGRr LXRlc3RAZXhlIC1JYXBwL3Rlc3QgLUkuLi9hcHAvdGVzdCAtDQo+IElsaWIvbGlicnRlX2FjbCAt SS4uL2xpYi9saWJydGVfYWNsIC1JLiAtSS4uLyAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtDQo+IEls aWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9p bmNsdWRlIC0NCj4gSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2VhbC9pbmNsdWRlIC1JbGliL2xp YnJ0ZV9lYWwvY29tbW9uIC0NCj4gSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC0NCj4gSS4uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2Vh bCAtDQo+IElsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xp YnJ0ZV9iaXRyYXRlc3RhdHMgLQ0KPiBJLi4vbGliL2xpYnJ0ZV9iaXRyYXRlc3RhdHMgLUlsaWIv bGlicnRlX2V0aGRldiAtSS4uL2xpYi9saWJydGVfZXRoZGV2IC0NCj4gSWxpYi9saWJydGVfbmV0 IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYtSS4uL2xpYi9saWJydGVfbWJ1 ZiAtDQo+IElsaWIvbGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIv bGlicnRlX3JpbmcgLQ0KPiBJLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9jbWRsaW5l IC1JLi4vbGliL2xpYnJ0ZV9jbWRsaW5lIC1JbGliL2xpYnJ0ZV9tZXRlcg0KPiAtSS4uL2xpYi9s aWJydGVfbWV0ZXIgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3Mg LUlsaWIvbGlicnRlX2JwZiAtDQo+IEkuLi9saWIvbGlicnRlX2JwZiAtSWxpYi9saWJydGVfY2Zn ZmlsZSAtSS4uL2xpYi9saWJydGVfY2ZnZmlsZSAtSWxpYi9saWJydGVfY3J5cHRvZGV2DQo+IC1J Li4vbGliL2xpYnJ0ZV9jcnlwdG9kZXYgLUlsaWIvbGlicnRlX2Rpc3RyaWJ1dG9yIC1JLi4vbGli L2xpYnJ0ZV9kaXN0cmlidXRvciAtDQo+IElsaWIvbGlicnRlX2VmZCAtSS4uL2xpYi9saWJydGVf ZWZkIC1JbGliL2xpYnJ0ZV9oYXNoIC1JLi4vbGliL2xpYnJ0ZV9oYXNoIC0NCj4gSWxpYi9saWJy dGVfZXZlbnRkZXYgLUkuLi9saWIvbGlicnRlX2V2ZW50ZGV2IC1JbGliL2xpYnJ0ZV90aW1lciAt DQo+IEkuLi9saWIvbGlicnRlX3RpbWVyIC1JbGliL2xpYnJ0ZV9mbG93X2NsYXNzaWZ5IC1JLi4v bGliL2xpYnJ0ZV9mbG93X2NsYXNzaWZ5IC0NCj4gSWxpYi9saWJydGVfdGFibGUgLUkuLi9saWIv bGlicnRlX3RhYmxlIC1JbGliL2xpYnJ0ZV9wb3J0IC1JLi4vbGliL2xpYnJ0ZV9wb3J0IC0NCj4g SWxpYi9saWJydGVfc2NoZWQgLUkuLi9saWIvbGlicnRlX3NjaGVkIC1JbGliL2xpYnJ0ZV9pcF9m cmFnIC1JLi4vbGliL2xpYnJ0ZV9pcF9mcmFnDQo+IC1JbGliL2xpYnJ0ZV9rbmkgLUkuLi9saWIv bGlicnRlX2tuaSAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kgLQ0KPiBJbGli L2xpYnJ0ZV9scG0gLUkuLi9saWIvbGlicnRlX2xwbSAtSWxpYi9saWJydGVfaXBzZWMgLUkuLi9s aWIvbGlicnRlX2lwc2VjIC0NCj4gSWxpYi9saWJydGVfc2VjdXJpdHkgLUkuLi9saWIvbGlicnRl X3NlY3VyaXR5IC1JbGliL2xpYnJ0ZV9sYXRlbmN5c3RhdHMgLQ0KPiBJLi4vbGliL2xpYnJ0ZV9s YXRlbmN5c3RhdHMgLUlsaWIvbGlicnRlX21lbWJlciAtSS4uL2xpYi9saWJydGVfbWVtYmVyIC0N Cj4gSWxpYi9saWJydGVfcGlwZWxpbmUgLUkuLi9saWIvbGlicnRlX3BpcGVsaW5lIC1JbGliL2xp YnJ0ZV9yZW9yZGVyIC0NCj4gSS4uL2xpYi9saWJydGVfcmVvcmRlciAtSWxpYi9saWJydGVfc3Rh Y2sgLUkuLi9saWIvbGlicnRlX3N0YWNrIC1JbGliL2xpYnJ0ZV9wZHVtcCAtDQo+IEkuLi9saWIv bGlicnRlX3BkdW1wIC1JZHJpdmVycy9uZXQvaTQwZSAtSS4uL2RyaXZlcnMvbmV0L2k0MGUgLQ0K PiBJZHJpdmVycy9uZXQvaTQwZS9iYXNlIC1JLi4vZHJpdmVycy9uZXQvaTQwZS9iYXNlIC1JZHJp dmVycy9idXMvcGNpIC0NCj4gSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3Bj aS9saW51eCAtSWRyaXZlcnMvYnVzL3ZkZXYgLQ0KPiBJLi4vZHJpdmVycy9idXMvdmRldiAtSWRy aXZlcnMvbmV0L2l4Z2JlIC1JLi4vZHJpdmVycy9uZXQvaXhnYmUgLQ0KPiBJZHJpdmVycy9uZXQv aXhnYmUvYmFzZSAtSS4uL2RyaXZlcnMvbmV0L2l4Z2JlL2Jhc2UtSWRyaXZlcnMvbmV0L2JvbmRp bmcgLQ0KPiBJLi4vZHJpdmVycy9uZXQvYm9uZGluZyAtSWRyaXZlcnMvbmV0L3JpbmcgLUkuLi9k cml2ZXJzL25ldC9yaW5nIC0NCj4gSWxpYi9saWJydGVfcG93ZXIgLUkuLi9saWIvbGlicnRlX3Bv d2VyIC1JbGliL2xpYnJ0ZV9jb21wcmVzc2RldiAtDQo+IEkuLi9saWIvbGlicnRlX2NvbXByZXNz ZGV2IC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLQ0KPiBwY2gg LU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV3NpZ24tY29tcGFyZSAtV2Nhc3QtcXVhbCAtbWFy Y2g9bmF0aXZlIC0NCj4gRF9HTlVfU09VUkNFIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAgLU1E IC1NUQ0KPiAnYXBwL3Rlc3QvYXBwQHRlc3RAQGRwZGstdGVzdEBleGUvdGVzdF9jb21wcmVzc2Rl di5jLm8nIC1NRg0KPiAnYXBwL3Rlc3QvYXBwQHRlc3RAQGRwZGstdGVzdEBleGUvdGVzdF9jb21w cmVzc2Rldi5jLm8uZCcgLW8NCj4gJ2FwcC90ZXN0L2FwcEB0ZXN0QEBkcGRrLXRlc3RAZXhlL3Rl c3RfY29tcHJlc3NkZXYuYy5vJyAtYw0KPiAuLi9hcHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmMN Cj4gLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jOiBJbiBmdW5jdGlvbg0KPiDigJh0ZXN0 X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX2R5bmFtaWNfYmln4oCZOg0KPiAuLi9hcHAv dGVzdC90ZXN0X2NvbXByZXNzZGV2LmM6MTk5MjoxNjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciDigJhp4oCZDQo+ICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEJJR19EQVRBX1RFU1Rf U0laRSAtIDE7ICsraSkNCj4gICAgICAgICAgICAgICAgIF4NCj4gLi4vYXBwL3Rlc3QvdGVzdF9j b21wcmVzc2Rldi5jOjE5NDk6MTE6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gb2Yg4oCYaeKA mSB3YXMNCj4gaGVyZQ0KPiAgIHVpbnQxNl90IGkgPSAwOw0KPiAgICAgICAgICAgIF4NCj4gLi4v YXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jOjE5OTI6MjogZXJyb3I6IOKAmGZvcuKAmSBsb29w IGluaXRpYWwgZGVjbGFyYXRpb25zDQo+IGFyZSBvbmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUNCj4g ICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgQklHX0RBVEFfVEVTVF9TSVpFIC0gMTsgKytpKQ0K PiAgIF4NCj4gLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jOjE5OTI6Mjogbm90ZTogdXNl IG9wdGlvbiAtc3RkPWM5OSBvciAtDQo+IHN0ZD1nbnU5OSB0byBjb21waWxlIHlvdXIgY29kZQ0K PiAuLi9hcHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmM6MTk5NjoxOTogd2FybmluZzogYXNzaWdu bWVudCBmcm9tDQo+IGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgW2VuYWJsZWQgYnkgZGVmYXVs dF0NCj4gICBpbnRfZGF0YS5idWZfaWR4ID0gJmk7DQo+ICAgICAgICAgICAgICAgICAgICBeDQo+ IFsxNTAxLzE1MjNdIEdlbmVyYXRpbmcgaWdiX3VpbyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQuDQo+ IG1ha2U6IEVudGVyaW5nIGRpcmVjdG9yeSBgL3Vzci9zcmMva2VybmVscy8zLjEwLjAtODYyLmVs Ny54ODZfNjQnDQo+ICAgQ0MgW01dICAvYXV0by9tdGlzd2d3b3JrL3lza29oL2dpdC9tZWxsYW5v eC9kcGRrLm9yZy0NCj4gMi9idWlsZC9rZXJuZWwvbGludXgvaWdiX3Vpby9pZ2JfdWlvLm8NCj4g ICBCdWlsZGluZyBtb2R1bGVzLCBzdGFnZSAyLg0KPiAgIE1PRFBPU1QgMSBtb2R1bGVzDQo+IG1h a2VbMV06IFdhcm5pbmc6IEZpbGUgYC9hdXRvL210aXN3Z3dvcmsveXNrb2gvZ2l0L21lbGxhbm94 L2RwZGsub3JnLQ0KPiAyL2J1aWxkL2tlcm5lbC9saW51eC9pZ2JfdWlvL2lnYl91aW8ubW9kLmMn IGhhcyBtb2RpZmljYXRpb24gdGltZSAwLjAwOTYgcyBpbg0KPiB0aGUgZnV0dXJlDQo+ICAgQ0Mg ICAgICAvYXV0by9tdGlzd2d3b3JrL3lza29oL2dpdC9tZWxsYW5veC9kcGRrLm9yZy0NCj4gMi9i dWlsZC9rZXJuZWwvbGludXgvaWdiX3Vpby9pZ2JfdWlvLm1vZC5vDQo+ICAgTEQgW01dICAvYXV0 by9tdGlzd2d3b3JrL3lza29oL2dpdC9tZWxsYW5veC9kcGRrLm9yZy0NCj4gMi9idWlsZC9rZXJu ZWwvbGludXgvaWdiX3Vpby9pZ2JfdWlvLmtvDQo+IG1ha2VbMV06IHdhcm5pbmc6ICBDbG9jayBz a2V3IGRldGVjdGVkLiAgWW91ciBidWlsZCBtYXkgYmUgaW5jb21wbGV0ZS4NCj4gbWFrZTogTGVh dmluZyBkaXJlY3RvcnkgYC91c3Ivc3JjL2tlcm5lbHMvMy4xMC4wLTg2Mi5lbDcueDg2XzY0Jw0K PiANCj4gDQo+IFRoYW5rcywNCj4gWW9uZ3Nlb2sNCj4gDQo+ID4gT24gQXByIDIsIDIwMTksIGF0 IDU6MjIgQU0sIENlbCwgVG9tYXN6WCA8dG9tYXN6eC5jZWxAaW50ZWwuY29tPiB3cm90ZToNCj4g Pg0KPiA+IEhpIFRvbWFzeiwNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+PiBGcm9tOiBDZWwsIFRvbWFzelgNCj4gPj4gU2VudDogVHVlc2RheSwgQXByaWwgMiwgMjAx OSAxOjE3IFBNDQo+ID4+IFRvOiBkZXZAZHBkay5vcmc7IFRyYWhlLCBGaW9uYSA8ZmlvbmEudHJh aGVAaW50ZWwuY29tPjsgSm96d2lhaywNCj4gPj4gVG9tYXN6WCA8dG9tYXN6eC5qb3p3aWFrQGlu dGVsLmNvbT47IENlbCwgVG9tYXN6WA0KPiA+PiA8dG9tYXN6eC5jZWxAaW50ZWwuY29tPg0KPiA+ PiBTdWJqZWN0OiBbUEFUQ0ggdjIgMS8xXSB0ZXN0L2NvbXByZXNzOiBhZGQgbWF4IG1idWYgc2l6 ZSB0ZXN0IGNhc2UNCj4gPj4NCj4gPj4gRnJvbTogVG9tYXN6IEpvendpYWsgPHRvbWFzenguam96 d2lha0BpbnRlbC5jb20+DQo+ID4+DQo+ID4+IFRoaXMgcGF0Y2ggYWRkcyBuZXcgdGVzdCBjYXNl IGluIHdoaWNoIG1heC4gc2l6ZSBvZiBjaGFpbiBtYnVmcyBoYXMNCj4gPj4gYmVlbiB1c2VkIHRv IGNvbXByZXNzIHJhbmRvbSBkYXRhIGR5bmFtaWNhbGx5Lg0KPiA+Pg0KPiA+PiBTaWduZWQtb2Zm LWJ5OiBUb21hc3ogSm96d2lhayA8dG9tYXN6eC5qb3p3aWFrQGludGVsLmNvbT4NCj4gPj4gLS0t DQo+ID4+IGFwcC90ZXN0L3Rlc3RfY29tcHJlc3NkZXYuYyB8IDE1OA0KPiA+PiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQ0KPiA+PiAxIGZpbGUgY2hhbmdlZCwg MTM2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQ0KPiA+Pg0KPiA+PiBkaWZmIC0tZ2l0 IGEvYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jDQo+ID4+IGIvYXBwL3Rlc3QvdGVzdF9jb21w cmVzc2Rldi5jIGluZGV4IDEzY2YyNmMuLmY1OWIzZDIgMTAwNjQ0DQo+ID4+IC0tLSBhL2FwcC90 ZXN0L3Rlc3RfY29tcHJlc3NkZXYuYw0KPiA+PiArKysgYi9hcHAvdGVzdC90ZXN0X2NvbXByZXNz ZGV2LmMNCj4gPj4gQEAgLTEsMTAgKzEsMTAgQEANCj4gPj4gLyogU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiA+PiAtICogQ29weXJpZ2h0KGMpIDIwMTggSW50ZWwgQ29y cG9yYXRpb24NCj4gPj4gKyAqIENvcHlyaWdodChjKSAyMDE4IC0gMjAxOSBJbnRlbCBDb3Jwb3Jh dGlvbg0KPiA+PiAgKi8NCj4gPj4gI2luY2x1ZGUgPHN0cmluZy5oPg0KPiA+PiAjaW5jbHVkZSA8 emxpYi5oPg0KPiA+PiAjaW5jbHVkZSA8bWF0aC5oPg0KPiA+PiAtI2luY2x1ZGUgPHVuaXN0ZC5o Pg0KPiA+PiArI2luY2x1ZGUgPHN0ZGxpYi5oPg0KPiA+Pg0KPiA+PiAjaW5jbHVkZSA8cnRlX2N5 Y2xlcy5oPg0KPiA+PiAjaW5jbHVkZSA8cnRlX21hbGxvYy5oPg0KPiA+PiBAQCAtNDUsNiArNDUs MTEgQEANCj4gPj4NCj4gPj4gI2RlZmluZSBPVVRfT0ZfU1BBQ0VfQlVGIDENCj4gPj4NCj4gPj4g KyNkZWZpbmUgTUFYX01CVUZfU0VHTUVOVF9TSVpFIDY1NTM1DQo+ID4+ICsjZGVmaW5lIE1BWF9E QVRBX01CVUZfU0laRSAoTUFYX01CVUZfU0VHTUVOVF9TSVpFIC0NCj4gPj4gK1JURV9QS1RNQlVG X0hFQURST09NKSAjZGVmaW5lIE5VTV9CSUdfTUJVRlMgNCAjZGVmaW5lDQo+ID4+ICtCSUdfREFU QV9URVNUX1NJWkUgKE1BWF9EQVRBX01CVUZfU0laRSAqIE5VTV9CSUdfTUJVRlMgLw0KPiAyKQ0K PiA+PiArDQo+ID4+IGNvbnN0IGNoYXIgKg0KPiA+PiBodWZmbWFuX3R5cGVfc3RyaW5nc1tdID0g ew0KPiA+PiAJW1JURV9DT01QX0hVRkZNQU5fREVGQVVMVF0JPSAiUE1EIGRlZmF1bHQiLA0KPiA+ PiBAQCAtNzMsNiArNzgsNyBAQCBzdHJ1Y3QgcHJpdl9vcF9kYXRhIHsgc3RydWN0IGNvbXBfdGVz dHN1aXRlX3BhcmFtcw0KPiA+PiB7DQo+ID4+IAlzdHJ1Y3QgcnRlX21lbXBvb2wgKmxhcmdlX21i dWZfcG9vbDsNCj4gPj4gCXN0cnVjdCBydGVfbWVtcG9vbCAqc21hbGxfbWJ1Zl9wb29sOw0KPiA+ PiArCXN0cnVjdCBydGVfbWVtcG9vbCAqYmlnX21idWZfcG9vbDsNCj4gPj4gCXN0cnVjdCBydGVf bWVtcG9vbCAqb3BfcG9vbDsNCj4gPj4gCXN0cnVjdCBydGVfY29tcF94Zm9ybSAqZGVmX2NvbXBf eGZvcm07DQo+ID4+IAlzdHJ1Y3QgcnRlX2NvbXBfeGZvcm0gKmRlZl9kZWNvbXBfeGZvcm07IEBA IC05Miw2ICs5OCw3IEBADQo+IHN0cnVjdA0KPiA+PiB0ZXN0X2RhdGFfcGFyYW1zIHsNCj4gPj4g CWVudW0gdmFyaWVkX2J1ZmYgYnVmZl90eXBlOw0KPiA+PiAJZW51bSB6bGliX2RpcmVjdGlvbiB6 bGliX2RpcjsNCj4gPj4gCXVuc2lnbmVkIGludCBvdXRfb2Zfc3BhY2U7DQo+ID4+ICsJdW5zaWdu ZWQgaW50IGJpZ19kYXRhOw0KPiA+PiB9Ow0KPiA+Pg0KPiA+PiBzdGF0aWMgc3RydWN0IGNvbXBf dGVzdHN1aXRlX3BhcmFtcyB0ZXN0c3VpdGVfcGFyYW1zID0geyAwIH07IEBADQo+ID4+IC0xMDUs MTENCj4gPj4gKzExMiwxNCBAQCB0ZXN0c3VpdGVfdGVhcmRvd24odm9pZCkNCj4gPj4gCQlSVEVf TE9HKEVSUiwgVVNFUjEsICJMYXJnZSBtYnVmIHBvb2wgc3RpbGwgaGFzIHVuZnJlZWQNCj4gYnVm c1xuIik7DQo+ID4+IAlpZiAocnRlX21lbXBvb2xfaW5fdXNlX2NvdW50KHRzX3BhcmFtcy0+c21h bGxfbWJ1Zl9wb29sKSkNCj4gPj4gCQlSVEVfTE9HKEVSUiwgVVNFUjEsICJTbWFsbCBtYnVmIHBv b2wgc3RpbGwgaGFzIHVuZnJlZWQNCj4gYnVmc1xuIik7DQo+ID4+ICsJaWYgKHJ0ZV9tZW1wb29s X2luX3VzZV9jb3VudCh0c19wYXJhbXMtPmJpZ19tYnVmX3Bvb2wpKQ0KPiA+PiArCQlSVEVfTE9H KEVSUiwgVVNFUjEsICJCaWcgbWJ1ZiBwb29sIHN0aWxsIGhhcyB1bmZyZWVkDQo+ID4+IGJ1ZnNc biIpOw0KPiA+PiAJaWYgKHJ0ZV9tZW1wb29sX2luX3VzZV9jb3VudCh0c19wYXJhbXMtPm9wX3Bv b2wpKQ0KPiA+PiAJCVJURV9MT0coRVJSLCBVU0VSMSwgIm9wIHBvb2wgc3RpbGwgaGFzIHVuZnJl ZWQgb3BzXG4iKTsNCj4gPj4NCj4gPj4gCXJ0ZV9tZW1wb29sX2ZyZWUodHNfcGFyYW1zLT5sYXJn ZV9tYnVmX3Bvb2wpOw0KPiA+PiAJcnRlX21lbXBvb2xfZnJlZSh0c19wYXJhbXMtPnNtYWxsX21i dWZfcG9vbCk7DQo+ID4+ICsJcnRlX21lbXBvb2xfZnJlZSh0c19wYXJhbXMtPmJpZ19tYnVmX3Bv b2wpOw0KPiA+PiAJcnRlX21lbXBvb2xfZnJlZSh0c19wYXJhbXMtPm9wX3Bvb2wpOw0KPiA+PiAJ cnRlX2ZyZWUodHNfcGFyYW1zLT5kZWZfY29tcF94Zm9ybSk7DQo+ID4+IAlydGVfZnJlZSh0c19w YXJhbXMtPmRlZl9kZWNvbXBfeGZvcm0pOw0KPiA+PiBAQCAtMTYyLDYgKzE3MiwxNyBAQCB0ZXN0 c3VpdGVfc2V0dXAodm9pZCkNCj4gPj4gCQlnb3RvIGV4aXQ7DQo+ID4+IAl9DQo+ID4+DQo+ID4+ ICsJLyogQ3JlYXRlIG1lbXBvb2wgd2l0aCBiaWcgYnVmZmVycyBmb3IgU0dMIHRlc3RpbmcgKi8N Cj4gPj4gKwl0c19wYXJhbXMtPmJpZ19tYnVmX3Bvb2wgPQ0KPiA+PiBydGVfcGt0bWJ1Zl9wb29s X2NyZWF0ZSgiYmlnX21idWZfcG9vbCIsDQo+ID4+ICsJCQlOVU1fQklHX01CVUZTICsgMSwNCj4g Pj4gKwkJCUNBQ0hFX1NJWkUsIDAsDQo+ID4+ICsJCQlNQVhfTUJVRl9TRUdNRU5UX1NJWkUsDQo+ ID4+ICsJCQlydGVfc29ja2V0X2lkKCkpOw0KPiA+PiArCWlmICh0c19wYXJhbXMtPmJpZ19tYnVm X3Bvb2wgPT0gTlVMTCkgew0KPiA+PiArCQlSVEVfTE9HKEVSUiwgVVNFUjEsICJCaWcgbWJ1ZiBw b29sIGNvdWxkIG5vdCBiZQ0KPiA+PiBjcmVhdGVkXG4iKTsNCj4gPj4gKwkJZ290byBleGl0Ow0K PiA+PiArCX0NCj4gPj4gKw0KPiA+PiAJdHNfcGFyYW1zLT5vcF9wb29sID0gcnRlX2NvbXBfb3Bf cG9vbF9jcmVhdGUoIm9wX3Bvb2wiLA0KPiA+PiBOVU1fT1BTLA0KPiA+PiAJCQkJMCwgc2l6ZW9m KHN0cnVjdCBwcml2X29wX2RhdGEpLA0KPiA+PiAJCQkJcnRlX3NvY2tldF9pZCgpKTsNCj4gPj4g QEAgLTU5OCwxMCArNjE5LDExIEBAIHByZXBhcmVfc2dsX2J1ZnMoY29uc3QgY2hhciAqdGVzdF9i dWYsIHN0cnVjdA0KPiA+PiBydGVfbWJ1ZiAqaGVhZF9idWYsDQo+ID4+IAkJdWludDMyX3QgdG90 YWxfZGF0YV9zaXplLA0KPiA+PiAJCXN0cnVjdCBydGVfbWVtcG9vbCAqc21hbGxfbWJ1Zl9wb29s LA0KPiA+PiAJCXN0cnVjdCBydGVfbWVtcG9vbCAqbGFyZ2VfbWJ1Zl9wb29sLA0KPiA+PiAtCQl1 aW50OF90IGxpbWl0X3NlZ3NfaW5fc2dsKQ0KPiA+PiArCQl1aW50OF90IGxpbWl0X3NlZ3NfaW5f c2dsLA0KPiA+PiArCQl1aW50MTZfdCBzZWdfc2l6ZSkNCj4gPj4gew0KPiA+PiAJdWludDMyX3Qg cmVtYWluaW5nX2RhdGEgPSB0b3RhbF9kYXRhX3NpemU7DQo+ID4+IC0JdWludDE2X3QgbnVtX3Jl bWFpbmluZ19zZWdzID0gRElWX0NFSUwocmVtYWluaW5nX2RhdGEsDQo+ID4+IFNNQUxMX1NFR19T SVpFKTsNCj4gPj4gKwl1aW50MTZfdCBudW1fcmVtYWluaW5nX3NlZ3MgPSBESVZfQ0VJTChyZW1h aW5pbmdfZGF0YSwNCj4gPj4gc2VnX3NpemUpOw0KPiA+PiAJc3RydWN0IHJ0ZV9tZW1wb29sICpw b29sOw0KPiA+PiAJc3RydWN0IHJ0ZV9tYnVmICpuZXh0X3NlZzsNCj4gPj4gCXVpbnQzMl90IGRh dGFfc2l6ZTsNCj4gPj4gQEAgLTYxNywxMCArNjM5LDEwIEBAIHByZXBhcmVfc2dsX2J1ZnMoY29u c3QgY2hhciAqdGVzdF9idWYsIHN0cnVjdA0KPiA+PiBydGVfbWJ1ZiAqaGVhZF9idWYsDQo+ID4+ IAkgKiBBbGxvY2F0ZSBkYXRhIGluIHRoZSBmaXJzdCBzZWdtZW50IChoZWFkZXIpIGFuZA0KPiA+ PiAJICogY29weSBkYXRhIGlmIHRlc3QgYnVmZmVyIGlzIHByb3ZpZGVkDQo+ID4+IAkgKi8NCj4g Pj4gLQlpZiAocmVtYWluaW5nX2RhdGEgPCBTTUFMTF9TRUdfU0laRSkNCj4gPj4gKwlpZiAocmVt YWluaW5nX2RhdGEgPCBzZWdfc2l6ZSkNCj4gPj4gCQlkYXRhX3NpemUgPSByZW1haW5pbmdfZGF0 YTsNCj4gPj4gCWVsc2UNCj4gPj4gLQkJZGF0YV9zaXplID0gU01BTExfU0VHX1NJWkU7DQo+ID4+ ICsJCWRhdGFfc2l6ZSA9IHNlZ19zaXplOw0KPiA+PiAJYnVmX3B0ciA9IHJ0ZV9wa3RtYnVmX2Fw cGVuZChoZWFkX2J1ZiwgZGF0YV9zaXplKTsNCj4gPj4gCWlmIChidWZfcHRyID09IE5VTEwpIHsN Cj4gPj4gCQlSVEVfTE9HKEVSUiwgVVNFUjEsDQo+ID4+IEBAIC02NDQsMTMgKzY2NiwxMyBAQCBw cmVwYXJlX3NnbF9idWZzKGNvbnN0IGNoYXIgKnRlc3RfYnVmLCBzdHJ1Y3QNCj4gPj4gcnRlX21i dWYgKmhlYWRfYnVmLA0KPiA+Pg0KPiA+PiAJCWlmIChpID09IChudW1fcmVtYWluaW5nX3NlZ3Mg LSAxKSkgew0KPiA+PiAJCQkvKiBsYXN0IHNlZ21lbnQgKi8NCj4gPj4gLQkJCWlmIChyZW1haW5p bmdfZGF0YSA+IFNNQUxMX1NFR19TSVpFKQ0KPiA+PiArCQkJaWYgKHJlbWFpbmluZ19kYXRhID4g c2VnX3NpemUpDQo+ID4+IAkJCQlwb29sID0gbGFyZ2VfbWJ1Zl9wb29sOw0KPiA+PiAJCQllbHNl DQo+ID4+IAkJCQlwb29sID0gc21hbGxfbWJ1Zl9wb29sOw0KPiA+PiAJCQlkYXRhX3NpemUgPSBy ZW1haW5pbmdfZGF0YTsNCj4gPj4gCQl9IGVsc2Ugew0KPiA+PiAtCQkJZGF0YV9zaXplID0gU01B TExfU0VHX1NJWkU7DQo+ID4+ICsJCQlkYXRhX3NpemUgPSBzZWdfc2l6ZTsNCj4gPj4gCQkJcG9v bCA9IHNtYWxsX21idWZfcG9vbDsNCj4gPj4gCQl9DQo+ID4+DQo+ID4+IEBAIC03MDQsNiArNzI2 LDcgQEAgdGVzdF9kZWZsYXRlX2NvbXBfZGVjb21wKGNvbnN0IHN0cnVjdA0KPiA+PiBpbnRlcmlt X2RhdGFfcGFyYW1zICppbnRfZGF0YSwNCj4gPj4gCWVudW0gcnRlX2NvbXBfb3BfdHlwZSBzdGF0 ZSA9IHRlc3RfZGF0YS0+c3RhdGU7DQo+ID4+IAl1bnNpZ25lZCBpbnQgYnVmZl90eXBlID0gdGVz dF9kYXRhLT5idWZmX3R5cGU7DQo+ID4+IAl1bnNpZ25lZCBpbnQgb3V0X29mX3NwYWNlID0gdGVz dF9kYXRhLT5vdXRfb2Zfc3BhY2U7DQo+ID4+ICsJdW5zaWduZWQgaW50IGJpZ19kYXRhID0gdGVz dF9kYXRhLT5iaWdfZGF0YTsNCj4gPj4gCWVudW0gemxpYl9kaXJlY3Rpb24gemxpYl9kaXIgPSB0 ZXN0X2RhdGEtPnpsaWJfZGlyOw0KPiA+PiAJaW50IHJldF9zdGF0dXMgPSAtMTsNCj4gPj4gCWlu dCByZXQ7DQo+ID4+IEBAIC03MzgsNyArNzYxLDkgQEAgdGVzdF9kZWZsYXRlX2NvbXBfZGVjb21w KGNvbnN0IHN0cnVjdA0KPiA+PiBpbnRlcmltX2RhdGFfcGFyYW1zICppbnRfZGF0YSwNCj4gPj4g CW1lbXNldChvcHNfcHJvY2Vzc2VkLCAwLCBzaXplb2Yoc3RydWN0IHJ0ZV9jb21wX29wICopICoN Cj4gbnVtX2J1ZnMpOw0KPiA+PiAJbWVtc2V0KHByaXZfeGZvcm1zLCAwLCBzaXplb2Yodm9pZCAq KSAqIG51bV9idWZzKTsNCj4gPj4NCj4gPj4gLQlpZiAoYnVmZl90eXBlID09IFNHTF9CT1RIKQ0K PiA+PiArCWlmIChiaWdfZGF0YSkNCj4gPj4gKwkJYnVmX3Bvb2wgPSB0c19wYXJhbXMtPmJpZ19t YnVmX3Bvb2w7DQo+ID4+ICsJZWxzZSBpZiAoYnVmZl90eXBlID09IFNHTF9CT1RIKQ0KPiA+PiAJ CWJ1Zl9wb29sID0gdHNfcGFyYW1zLT5zbWFsbF9tYnVmX3Bvb2w7DQo+ID4+IAllbHNlDQo+ID4+ IAkJYnVmX3Bvb2wgPSB0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbDsgQEAgLTc1NywxMA0KPiA+ PiArNzgyLDExIEBAIHRlc3RfZGVmbGF0ZV9jb21wX2RlY29tcChjb25zdCBzdHJ1Y3QNCj4gaW50 ZXJpbV9kYXRhX3BhcmFtcw0KPiA+PiAqaW50X2RhdGEsDQo+ID4+IAkJZm9yIChpID0gMDsgaSA8 IG51bV9idWZzOyBpKyspIHsNCj4gPj4gCQkJZGF0YV9zaXplID0gc3RybGVuKHRlc3RfYnVmc1tp XSkgKyAxOw0KPiA+PiAJCQlpZiAocHJlcGFyZV9zZ2xfYnVmcyh0ZXN0X2J1ZnNbaV0sIHVuY29t cF9idWZzW2ldLA0KPiA+PiAtCQkJCQlkYXRhX3NpemUsDQo+ID4+IC0JCQkJCXRzX3BhcmFtcy0+ c21hbGxfbWJ1Zl9wb29sLA0KPiA+PiAtCQkJCQl0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbCwN Cj4gPj4gLQkJCQkJTUFYX1NFR1MpIDwgMCkNCj4gPj4gKwkJCSAgICBkYXRhX3NpemUsDQo+ID4+ ICsJCQkgICAgYmlnX2RhdGEgPyBidWZfcG9vbCA6IHRzX3BhcmFtcy0NCj4gPj4+IHNtYWxsX21i dWZfcG9vbCwNCj4gPj4gKwkJCSAgICBiaWdfZGF0YSA/IGJ1Zl9wb29sIDogdHNfcGFyYW1zLQ0K PiA+Pj4gbGFyZ2VfbWJ1Zl9wb29sLA0KPiA+PiArCQkJICAgIGJpZ19kYXRhID8gMCA6IE1BWF9T RUdTLA0KPiA+PiArCQkJICAgIGJpZ19kYXRhID8gTUFYX0RBVEFfTUJVRl9TSVpFIDoNCj4gPj4g U01BTExfU0VHX1NJWkUpIDwgMCkNCj4gPj4gCQkJCWdvdG8gZXhpdDsNCj4gPj4gCQl9DQo+ID4+ IAl9IGVsc2Ugew0KPiA+PiBAQCAtNzg5LDEwICs4MTUsMTIgQEAgdGVzdF9kZWZsYXRlX2NvbXBf ZGVjb21wKGNvbnN0IHN0cnVjdA0KPiA+PiBpbnRlcmltX2RhdGFfcGFyYW1zICppbnRfZGF0YSwN Cj4gPj4gCQkJCQlDT01QUkVTU19CVUZfU0laRV9SQVRJTyk7DQo+ID4+DQo+ID4+IAkJCWlmIChw cmVwYXJlX3NnbF9idWZzKE5VTEwsIGNvbXBfYnVmc1tpXSwNCj4gPj4gLQkJCQkJZGF0YV9zaXpl LA0KPiA+PiAtCQkJCQl0c19wYXJhbXMtPnNtYWxsX21idWZfcG9vbCwNCj4gPj4gLQkJCQkJdHNf cGFyYW1zLT5sYXJnZV9tYnVmX3Bvb2wsDQo+ID4+IC0JCQkJCU1BWF9TRUdTKSA8IDApDQo+ID4+ ICsJCQkgICAgICBkYXRhX3NpemUsDQo+ID4+ICsJCQkgICAgICBiaWdfZGF0YSA/IGJ1Zl9wb29s IDogdHNfcGFyYW1zLQ0KPiA+Pj4gc21hbGxfbWJ1Zl9wb29sLA0KPiA+PiArCQkJICAgICAgYmln X2RhdGEgPyBidWZfcG9vbCA6IHRzX3BhcmFtcy0NCj4gPj4+IGxhcmdlX21idWZfcG9vbCwNCj4g Pj4gKwkJCSAgICAgIGJpZ19kYXRhID8gMCA6IE1BWF9TRUdTLA0KPiA+PiArCQkJICAgICAgYmln X2RhdGEgPyBNQVhfREFUQV9NQlVGX1NJWkUgOg0KPiA+PiBTTUFMTF9TRUdfU0laRSkNCj4gPj4g KwkJCQkJPCAwKQ0KPiA+PiAJCQkJZ290byBleGl0Ow0KPiA+PiAJCX0NCj4gPj4NCj4gPj4gQEAg LTEwMTcsMTAgKzEwNDUsMTIgQEAgdGVzdF9kZWZsYXRlX2NvbXBfZGVjb21wKGNvbnN0IHN0cnVj dA0KPiA+PiBpbnRlcmltX2RhdGFfcGFyYW1zICppbnRfZGF0YSwNCj4gPj4gCQkJCXN0cmxlbih0 ZXN0X2J1ZnNbcHJpdl9kYXRhLT5vcmlnX2lkeF0pICsgMTsNCj4gPj4NCj4gPj4gCQkJaWYgKHBy ZXBhcmVfc2dsX2J1ZnMoTlVMTCwgdW5jb21wX2J1ZnNbaV0sDQo+ID4+IC0JCQkJCWRhdGFfc2l6 ZSwNCj4gPj4gLQkJCQkJdHNfcGFyYW1zLT5zbWFsbF9tYnVmX3Bvb2wsDQo+ID4+IC0JCQkJCXRz X3BhcmFtcy0+bGFyZ2VfbWJ1Zl9wb29sLA0KPiA+PiAtCQkJCQlNQVhfU0VHUykgPCAwKQ0KPiA+ PiArCQkJICAgICAgIGRhdGFfc2l6ZSwNCj4gPj4gKwkJCSAgICAgICBiaWdfZGF0YSA/IGJ1Zl9w b29sIDogdHNfcGFyYW1zLQ0KPiA+Pj4gc21hbGxfbWJ1Zl9wb29sLA0KPiA+PiArCQkJICAgICAg IGJpZ19kYXRhID8gYnVmX3Bvb2wgOiB0c19wYXJhbXMtDQo+ID4+PiBsYXJnZV9tYnVmX3Bvb2ws DQo+ID4+ICsJCQkgICAgICAgYmlnX2RhdGEgPyAwIDogTUFYX1NFR1MsDQo+ID4+ICsJCQkgICAg ICAgYmlnX2RhdGEgPyBNQVhfREFUQV9NQlVGX1NJWkUgOg0KPiA+PiBTTUFMTF9TRUdfU0laRSkN Cj4gPj4gKwkJCQkJPCAwKQ0KPiA+PiAJCQkJZ290byBleGl0Ow0KPiA+PiAJCX0NCj4gPj4NCj4g Pj4gQEAgLTEzMjAsNiArMTM1MCw3IEBADQo+IHRlc3RfY29tcHJlc3NkZXZfZGVmbGF0ZV9zdGF0 ZWxlc3NfZml4ZWQodm9pZCkNCj4gPj4gCQlSVEVfQ09NUF9PUF9TVEFURUxFU1MsDQo+ID4+IAkJ TEJfQk9USCwNCj4gPj4gCQlaTElCX0RFQ09NUFJFU1MsDQo+ID4+ICsJCTAsDQo+ID4+IAkJMA0K PiA+PiAJfTsNCj4gPj4NCj4gPj4gQEAgLTEzOTAsNiArMTQyMSw3IEBADQo+ID4+IHRlc3RfY29t cHJlc3NkZXZfZGVmbGF0ZV9zdGF0ZWxlc3NfZHluYW1pYyh2b2lkKQ0KPiA+PiAJCVJURV9DT01Q X09QX1NUQVRFTEVTUywNCj4gPj4gCQlMQl9CT1RILA0KPiA+PiAJCVpMSUJfREVDT01QUkVTUywN Cj4gPj4gKwkJMCwNCj4gPj4gCQkwDQo+ID4+IAl9Ow0KPiA+Pg0KPiA+PiBAQCAtMTQ0Myw2ICsx NDc1LDcgQEANCj4gPj4gdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRlbGVzc19tdWx0aV9v cCh2b2lkKQ0KPiA+PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4gPj4gCQlMQl9CT1RILA0K PiA+PiAJCVpMSUJfREVDT01QUkVTUywNCj4gPj4gKwkJMCwNCj4gPj4gCQkwDQo+ID4+IAl9Ow0K PiA+Pg0KPiA+PiBAQCAtMTQ5Miw2ICsxNTI1LDcgQEANCj4gPj4gdGVzdF9jb21wcmVzc2Rldl9k ZWZsYXRlX3N0YXRlbGVzc19tdWx0aV9sZXZlbCh2b2lkKQ0KPiA+PiAJCVJURV9DT01QX09QX1NU QVRFTEVTUywNCj4gPj4gCQlMQl9CT1RILA0KPiA+PiAJCVpMSUJfREVDT01QUkVTUywNCj4gPj4g KwkJMCwNCj4gPj4gCQkwDQo+ID4+IAl9Ow0KPiA+Pg0KPiA+PiBAQCAtMTU4MSw2ICsxNjE1LDcg QEANCj4gPj4gdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRlbGVzc19tdWx0aV94Zm9ybSh2 b2lkKQ0KPiA+PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4gPj4gCQlMQl9CT1RILA0KPiA+ PiAJCVpMSUJfREVDT01QUkVTUywNCj4gPj4gKwkJMCwNCj4gPj4gCQkwDQo+ID4+IAl9Ow0KPiA+ Pg0KPiA+PiBAQCAtMTYyNiw2ICsxNjYxLDcgQEAgdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0 YXRlbGVzc19zZ2wodm9pZCkNCj4gPj4gCQlSVEVfQ09NUF9PUF9TVEFURUxFU1MsDQo+ID4+IAkJ U0dMX0JPVEgsDQo+ID4+IAkJWkxJQl9ERUNPTVBSRVNTLA0KPiA+PiArCQkwLA0KPiA+PiAJCTAN Cj4gPj4gCX07DQo+ID4+DQo+ID4+IEBAIC0xNzMzLDYgKzE3NjksNyBAQA0KPiA+PiB0ZXN0X2Nv bXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX2NoZWNrc3VtKHZvaWQpDQo+ID4+IAkJUlRFX0NP TVBfT1BfU1RBVEVMRVNTLA0KPiA+PiAJCUxCX0JPVEgsDQo+ID4+IAkJWkxJQl9ERUNPTVBSRVNT LA0KPiA+PiArCQkwLA0KPiA+PiAJCTANCj4gPj4gCX07DQo+ID4+DQo+ID4+IEBAIC0xODYzLDcg KzE5MDAsOCBAQCB0ZXN0X2NvbXByZXNzZGV2X291dF9vZl9zcGFjZV9idWZmZXIodm9pZCkNCj4g Pj4gCQlSVEVfQ09NUF9PUF9TVEFURUxFU1MsDQo+ID4+IAkJTEJfQk9USCwNCj4gPj4gCQlaTElC X0RFQ09NUFJFU1MsDQo+ID4+IC0JCTENCj4gPj4gKwkJMSwNCj4gPj4gKwkJMA0KPiA+PiAJfTsN Cj4gPj4gCS8qIENvbXByZXNzIHdpdGggY29tcHJlc3NkZXYsIGRlY29tcHJlc3Mgd2l0aCBabGli ICovDQo+ID4+IAl0ZXN0X2RhdGEuemxpYl9kaXIgPSBaTElCX0RFQ09NUFJFU1M7IEBAIC0xOTA0 LDYgKzE5NDIsODAgQEANCj4gPj4gdGVzdF9jb21wcmVzc2Rldl9vdXRfb2Zfc3BhY2VfYnVmZmVy KHZvaWQpDQo+ID4+IAlyZXR1cm4gcmV0Ow0KPiA+PiB9DQo+ID4+DQo+ID4+ICtzdGF0aWMgaW50 DQo+ID4+ICt0ZXN0X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX2R5bmFtaWNfYmlnKHZv aWQpDQo+ID4+ICt7DQo+ID4+ICsJc3RydWN0IGNvbXBfdGVzdHN1aXRlX3BhcmFtcyAqdHNfcGFy YW1zID0gJnRlc3RzdWl0ZV9wYXJhbXM7DQo+ID4+ICsJdWludDE2X3QgaSA9IDA7DQo+ID4+ICsJ aW50IHJldCA9IFRFU1RfU1VDQ0VTUzsNCj4gPj4gKwljb25zdCBzdHJ1Y3QgcnRlX2NvbXByZXNz ZGV2X2NhcGFiaWxpdGllcyAqY2FwYWI7DQo+ID4+ICsJY2hhciAqdGVzdF9idWZmZXIgPSBOVUxM Ow0KPiA+PiArDQo+ID4+ICsJY2FwYWIgPSBydGVfY29tcHJlc3NkZXZfY2FwYWJpbGl0eV9nZXQo MCwNCj4gPj4gUlRFX0NPTVBfQUxHT19ERUZMQVRFKTsNCj4gPj4gKwlURVNUX0FTU0VSVChjYXBh YiAhPSBOVUxMLCAiRmFpbGVkIHRvIHJldHJpZXZlIGRldmljZQ0KPiA+PiArY2FwYWJpbGl0aWVz Iik7DQo+ID4+ICsNCj4gPj4gKwlpZiAoKGNhcGFiLT5jb21wX2ZlYXR1cmVfZmxhZ3MgJg0KPiA+ PiBSVEVfQ09NUF9GRl9IVUZGTUFOX0RZTkFNSUMpID09IDApDQo+ID4+ICsJCXJldHVybiAtRU5P VFNVUDsNCj4gPj4gKw0KPiA+PiArCWlmICgoY2FwYWItPmNvbXBfZmVhdHVyZV9mbGFncyAmDQo+ ID4+IFJURV9DT01QX0ZGX09PUF9TR0xfSU5fU0dMX09VVCkgPT0gMCkNCj4gPj4gKwkJcmV0dXJu IC1FTk9UU1VQOw0KPiA+PiArDQo+ID4+ICsJdGVzdF9idWZmZXIgPSBydGVfbWFsbG9jKE5VTEws IEJJR19EQVRBX1RFU1RfU0laRSwgMCk7DQo+ID4+ICsJaWYgKHRlc3RfYnVmZmVyID09IE5VTEwp IHsNCj4gPj4gKwkJUlRFX0xPRyhFUlIsIFVTRVIxLA0KPiA+PiArCQkJIkNhbid0IGFsbG9jYXRl IGJ1ZmZlciBmb3IgYmlnLWRhdGFcbiIpOw0KPiA+PiArCQlyZXR1cm4gVEVTVF9GQUlMRUQ7DQo+ ID4+ICsJfQ0KPiA+PiArDQo+ID4+ICsJc3RydWN0IGludGVyaW1fZGF0YV9wYXJhbXMgaW50X2Rh dGEgPSB7DQo+ID4+ICsJCShjb25zdCBjaGFyICogY29uc3QgKikmdGVzdF9idWZmZXIsDQo+ID4+ ICsJCTEsDQo+ID4+ICsJCU5VTEwsDQo+ID4+ICsJCSZ0c19wYXJhbXMtPmRlZl9jb21wX3hmb3Jt LA0KPiA+PiArCQkmdHNfcGFyYW1zLT5kZWZfZGVjb21wX3hmb3JtLA0KPiA+PiArCQkxDQo+ID4+ ICsJfTsNCj4gPj4gKw0KPiA+PiArCXN0cnVjdCB0ZXN0X2RhdGFfcGFyYW1zIHRlc3RfZGF0YSA9 IHsNCj4gPj4gKwkJUlRFX0NPTVBfT1BfU1RBVEVMRVNTLA0KPiA+PiArCQlTR0xfQk9USCwNCj4g Pj4gKwkJWkxJQl9ERUNPTVBSRVNTLA0KPiA+PiArCQkwLA0KPiA+PiArCQkxDQo+ID4+ICsJfTsN Cj4gPj4gKw0KPiA+PiArCXRzX3BhcmFtcy0+ZGVmX2NvbXBfeGZvcm0tPmNvbXByZXNzLmRlZmxh dGUuaHVmZm1hbiA9DQo+ID4+ICsNCj4gPj4gCVJURV9DT01QX0hVRkZNQU5fRFlOQU1JQzsNCj4g Pj4gKw0KPiA+PiArCS8qIGZpbGwgdGhlIGJ1ZmZlciB3aXRoIGRhdGEgYmFzZWQgb24gcmFuZC4g ZGF0YSAqLw0KPiA+PiArCXNyYW5kKEJJR19EQVRBX1RFU1RfU0laRSk7DQo+ID4+ICsJZm9yICh1 aW50MzJfdCBpID0gMDsgaSA8IEJJR19EQVRBX1RFU1RfU0laRSAtIDE7ICsraSkNCj4gPj4gKwkJ dGVzdF9idWZmZXJbaV0gPSAodWludDhfdCkocmFuZCgpICUgKCh1aW50OF90KS0xKSkgfCAxOw0K PiA+PiArDQo+ID4+ICsJdGVzdF9idWZmZXJbQklHX0RBVEFfVEVTVF9TSVpFLTFdID0gMDsNCj4g Pj4gKwlpbnRfZGF0YS5idWZfaWR4ID0gJmk7DQo+ID4+ICsNCj4gPj4gKwkvKiBDb21wcmVzcyB3 aXRoIGNvbXByZXNzZGV2LCBkZWNvbXByZXNzIHdpdGggWmxpYiAqLw0KPiA+PiArCXRlc3RfZGF0 YS56bGliX2RpciA9IFpMSUJfREVDT01QUkVTUzsNCj4gPj4gKwlpZiAodGVzdF9kZWZsYXRlX2Nv bXBfZGVjb21wKCZpbnRfZGF0YSwgJnRlc3RfZGF0YSkgPCAwKSB7DQo+ID4+ICsJCXJldCA9IFRF U1RfRkFJTEVEOw0KPiA+PiArCQlnb3RvIGVuZDsNCj4gPj4gKwl9DQo+ID4+ICsNCj4gPj4gKwkv KiBDb21wcmVzcyB3aXRoIFpsaWIsIGRlY29tcHJlc3Mgd2l0aCBjb21wcmVzc2RldiAqLw0KPiA+ PiArCXRlc3RfZGF0YS56bGliX2RpciA9IFpMSUJfQ09NUFJFU1M7DQo+ID4+ICsJaWYgKHRlc3Rf ZGVmbGF0ZV9jb21wX2RlY29tcCgmaW50X2RhdGEsICZ0ZXN0X2RhdGEpIDwgMCkgew0KPiA+PiAr CQlyZXQgPSBURVNUX0ZBSUxFRDsNCj4gPj4gKwkJZ290byBlbmQ7DQo+ID4+ICsJfQ0KPiA+PiAr DQo+ID4+ICtlbmQ6DQo+ID4+ICsJdHNfcGFyYW1zLT5kZWZfY29tcF94Zm9ybS0+Y29tcHJlc3Mu ZGVmbGF0ZS5odWZmbWFuID0NCj4gPj4gKw0KPiA+PiAJUlRFX0NPTVBfSFVGRk1BTl9ERUZBVUxU Ow0KPiA+PiArCXJ0ZV9mcmVlKHRlc3RfYnVmZmVyKTsNCj4gPj4gKwlyZXR1cm4gcmV0Ow0KPiA+ PiArfQ0KPiA+PiArDQo+ID4+DQo+ID4+IHN0YXRpYyBzdHJ1Y3QgdW5pdF90ZXN0X3N1aXRlIGNv bXByZXNzZGV2X3Rlc3RzdWl0ZSAgPSB7DQo+ID4+IAkuc3VpdGVfbmFtZSA9ICJjb21wcmVzc2Rl diB1bml0IHRlc3Qgc3VpdGUiLCBAQCAtMTkxNyw2ICsyMDI5LDgNCj4gQEANCj4gPj4gc3RhdGlj IHN0cnVjdCB1bml0X3Rlc3Rfc3VpdGUgY29tcHJlc3NkZXZfdGVzdHN1aXRlICA9IHsNCj4gPj4g CQlURVNUX0NBU0VfU1QoZ2VuZXJpY191dF9zZXR1cCwgZ2VuZXJpY191dF90ZWFyZG93biwNCj4g Pj4gCQkJdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRlbGVzc19keW5hbWljKSwNCj4gPj4g CQlURVNUX0NBU0VfU1QoZ2VuZXJpY191dF9zZXR1cCwgZ2VuZXJpY191dF90ZWFyZG93biwNCj4g Pj4gKwkJCXRlc3RfY29tcHJlc3NkZXZfZGVmbGF0ZV9zdGF0ZWxlc3NfZHluYW1pY19iaWcpLA0K PiA+PiArCQlURVNUX0NBU0VfU1QoZ2VuZXJpY191dF9zZXR1cCwgZ2VuZXJpY191dF90ZWFyZG93 biwNCj4gPj4gCQkJdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRlbGVzc19tdWx0aV9vcCks DQo+ID4+IAkJVEVTVF9DQVNFX1NUKGdlbmVyaWNfdXRfc2V0dXAsIGdlbmVyaWNfdXRfdGVhcmRv d24sDQo+ID4+IAkJCXRlc3RfY29tcHJlc3NkZXZfZGVmbGF0ZV9zdGF0ZWxlc3NfbXVsdGlfbGV2 ZWwpLA0KPiA+PiAtLQ0KPiA+PiAyLjcuNA0KPiA+DQo+ID4gQWNrZWQtYnk6IFRvbWFzeiBDZWwg PHRvbWFzenguY2VsQGludGVsLmNvbT4NCj4gPg0KDQo=