From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50042.outbound.protection.outlook.com [40.107.5.42]) by dpdk.org (Postfix) with ESMTP id 766171BC71 for ; Fri, 19 Apr 2019 00:42:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dLWe9uW8P/Etw6l0hzDl//GUlvA4jMSsKk6YDvJGjdo=; b=Vil4wD54dRZ9EUiLRYK88j+TedaGkLSiry1L4KPnskQ5ByrXax5j4HZmGrWIdTYgc1jktl6UKoN9Ep4YXDZy51U+TRkVv7Ava/3+tG7+cND1HbOqQIvthK0TIgwwMySZHkniOcIsQaP7S6pfGlO63LYZfaUaKJbqux3KURL/BKs= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB4010.eurprd05.prod.outlook.com (52.134.66.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1813.12; Thu, 18 Apr 2019 22:42:57 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::6072:43be:7c2d:103a]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::6072:43be:7c2d:103a%3]) with mapi id 15.20.1813.013; Thu, 18 Apr 2019 22:42:57 +0000 From: Yongseok Koh To: "Cel, TomaszX" , Thomas Monjalon , "Jozwiak, TomaszX" CC: "dev@dpdk.org" , "Trahe, Fiona" Thread-Topic: [dpdk-dev] [PATCH v2 1/1] test/compress: add max mbuf size test case Thread-Index: AQHU6U7T9s6iIIzR3UWqkNjU5Sd5UaZCnYMA Date: Thu, 18 Apr 2019 22:42:57 +0000 Message-ID: <825F643C-86B8-4A5D-934A-E074DE1458C1@mellanox.com> 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> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 12ac2bd6-fca1-41d4-5c79-08d6c44f33dc x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:DB3PR0502MB4010; x-ms-traffictypediagnostic: DB3PR0502MB4010: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-forefront-prvs: 0011612A55 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(136003)(376002)(366004)(396003)(346002)(189003)(199004)(13464003)(30864003)(53546011)(33656002)(82746002)(256004)(76176011)(71190400001)(229853002)(14444005)(476003)(6486002)(478600001)(71200400001)(97736004)(11346002)(83716004)(2616005)(81166006)(53946003)(53936002)(6512007)(66476007)(91956017)(66556008)(76116006)(6506007)(5660300002)(99286004)(6436002)(102836004)(81156014)(186003)(93886005)(14454004)(8936002)(26005)(86362001)(36756003)(7736002)(6246003)(66066001)(2906002)(6116002)(3846002)(4326008)(110136005)(446003)(54906003)(316002)(305945005)(68736007)(486006)(66446008)(64756008)(66946007)(25786009)(73956011); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB4010; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 1/NxxGH59cSwNznIW6ANeUjAz7YCrwNkUshmjCqv6XwcTVJXjSkaDHInl2AuJr3g5AmhmX0DKxZYn7Dys98Rc78HUqmGYine9pC3G1+LQa0MNSSbAnlQDGDMDqqatwUNv3Xnd+lRIbzTH2py5LTr5G9D7KJyxg9WQZgjw5NeIqo2FizWRe+903gWM5VhLzvEXQzGeeALTc94HY8ydHzovDTmDSTBT8qzHtqHVboB27JUD4pqJAtWD9dcdAYdgPODtHt0GjVmTIK8YsqSg1zXMcnPnY4k8G5wNKOf70Q6spJ3NPECYIgsPMbHl1j702T6mqfgmZVfnXh6UTvkGIrbT2+2PbSqDWfHyVveERa+SX1bEM6t1GgRs8yvAM4/+Pahxt8OReYq/xpQY546Kcmh245zVvhUyq1pZvtd6f8Fpm8= Content-Type: text/plain; charset="utf-8" Content-ID: <679A4C5C8DB2C94799351F1A84D385E7@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12ac2bd6-fca1-41d4-5c79-08d6c44f33dc X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2019 22:42:57.0213 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB4010 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: , X-List-Received-Date: Thu, 18 Apr 2019 22:42:59 -0000 SGksDQoNCkknbSBzZWVpbmcgY29tcGlsZSBlcnJvci4NCklzbid0IGl0IGR1ZSB0byB0aGlzIHBh dGNoPw0KDQokIGdjYyAtLXZlcnNpb24NCmdjYyAoR0NDKSA0LjguNSAyMDE1MDYyMyAoUmVkIEhh dCA0LjguNS0yOCkNCg0KDQpbMTQ4NC8xNTIzXSBDb21waWxpbmcgQyBvYmplY3QgJ2FwcC90ZXN0 L2FwcEB0ZXN0QEBkcGRrLXRlc3RAZXhlL3Rlc3RfY29tcHJlc3NkZXYuYy5vJy4NCkZBSUxFRDog YXBwL3Rlc3QvYXBwQHRlc3RAQGRwZGstdGVzdEBleGUvdGVzdF9jb21wcmVzc2Rldi5jLm8NCmNj IC1JYXBwL3Rlc3QvYXBwQHRlc3RAQGRwZGstdGVzdEBleGUgLUlhcHAvdGVzdCAtSS4uL2FwcC90 ZXN0IC1JbGliL2xpYnJ0ZV9hY2wgLUkuLi9saWIvbGlicnRlX2FjbCAtSS4gLUkuLi8gLUljb25m aWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsL2lu Y2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24g LUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGli cnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIv bGlicnRlX2JpdHJhdGVzdGF0cyAtSS4uL2xpYi9saWJydGVfYml0cmF0ZXN0YXRzIC1JbGliL2xp YnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSWxpYi9saWJydGVfbmV0IC1JLi4v bGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxp Yi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmlu ZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfY21kbGluZSAtSS4uL2xpYi9saWJy dGVfY21kbGluZSAtSWxpYi9saWJydGVfbWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JbGli L2xpYnJ0ZV9tZXRyaWNzIC1JLi4vbGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV9icGYg LUkuLi9saWIvbGlicnRlX2JwZiAtSWxpYi9saWJydGVfY2ZnZmlsZSAtSS4uL2xpYi9saWJydGVf Y2ZnZmlsZSAtSWxpYi9saWJydGVfY3J5cHRvZGV2IC1JLi4vbGliL2xpYnJ0ZV9jcnlwdG9kZXYg LUlsaWIvbGlicnRlX2Rpc3RyaWJ1dG9yIC1JLi4vbGliL2xpYnJ0ZV9kaXN0cmlidXRvciAtSWxp Yi9saWJydGVfZWZkIC1JLi4vbGliL2xpYnJ0ZV9lZmQgLUlsaWIvbGlicnRlX2hhc2ggLUkuLi9s aWIvbGlicnRlX2hhc2ggLUlsaWIvbGlicnRlX2V2ZW50ZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldmVu dGRldiAtSWxpYi9saWJydGVfdGltZXIgLUkuLi9saWIvbGlicnRlX3RpbWVyIC1JbGliL2xpYnJ0 ZV9mbG93X2NsYXNzaWZ5IC1JLi4vbGliL2xpYnJ0ZV9mbG93X2NsYXNzaWZ5IC1JbGliL2xpYnJ0 ZV90YWJsZSAtSS4uL2xpYi9saWJydGVfdGFibGUgLUlsaWIvbGlicnRlX3BvcnQgLUkuLi9saWIv bGlicnRlX3BvcnQgLUlsaWIvbGlicnRlX3NjaGVkIC1JLi4vbGliL2xpYnJ0ZV9zY2hlZCAtSWxp Yi9saWJydGVfaXBfZnJhZyAtSS4uL2xpYi9saWJydGVfaXBfZnJhZyAtSWxpYi9saWJydGVfa25p IC1JLi4vbGliL2xpYnJ0ZV9rbmkgLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNp IC1JbGliL2xpYnJ0ZV9scG0gLUkuLi9saWIvbGlicnRlX2xwbSAtSWxpYi9saWJydGVfaXBzZWMg LUkuLi9saWIvbGlicnRlX2lwc2VjIC1JbGliL2xpYnJ0ZV9zZWN1cml0eSAtSS4uL2xpYi9saWJy dGVfc2VjdXJpdHkgLUlsaWIvbGlicnRlX2xhdGVuY3lzdGF0cyAtSS4uL2xpYi9saWJydGVfbGF0 ZW5jeXN0YXRzIC1JbGliL2xpYnJ0ZV9tZW1iZXIgLUkuLi9saWIvbGlicnRlX21lbWJlciAtSWxp Yi9saWJydGVfcGlwZWxpbmUgLUkuLi9saWIvbGlicnRlX3BpcGVsaW5lIC1JbGliL2xpYnJ0ZV9y ZW9yZGVyIC1JLi4vbGliL2xpYnJ0ZV9yZW9yZGVyIC1JbGliL2xpYnJ0ZV9zdGFjayAtSS4uL2xp Yi9saWJydGVfc3RhY2sgLUlsaWIvbGlicnRlX3BkdW1wIC1JLi4vbGliL2xpYnJ0ZV9wZHVtcCAt SWRyaXZlcnMvbmV0L2k0MGUgLUkuLi9kcml2ZXJzL25ldC9pNDBlIC1JZHJpdmVycy9uZXQvaTQw ZS9iYXNlIC1JLi4vZHJpdmVycy9uZXQvaTQwZS9iYXNlIC1JZHJpdmVycy9idXMvcGNpIC1JLi4v ZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JZHJpdmVycy9idXMv dmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL25ldC9peGdiZSAtSS4uL2RyaXZl cnMvbmV0L2l4Z2JlIC1JZHJpdmVycy9uZXQvaXhnYmUvYmFzZSAtSS4uL2RyaXZlcnMvbmV0L2l4 Z2JlL2Jhc2UtSWRyaXZlcnMvbmV0L2JvbmRpbmcgLUkuLi9kcml2ZXJzL25ldC9ib25kaW5nIC1J ZHJpdmVycy9uZXQvcmluZyAtSS4uL2RyaXZlcnMvbmV0L3JpbmcgLUlsaWIvbGlicnRlX3Bvd2Vy IC1JLi4vbGliL2xpYnJ0ZV9wb3dlciAtSWxpYi9saWJydGVfY29tcHJlc3NkZXYgLUkuLi9saWIv bGlicnRlX2NvbXByZXNzZGV2IC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdp bnZhbGlkLXBjaCAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1Xc2lnbi1jb21wYXJlIC1XY2Fz dC1xdWFsIC1tYXJjaD1uYXRpdmUgLURfR05VX1NPVVJDRSAtREFMTE9XX0VYUEVSSU1FTlRBTF9B UEkgIC1NRCAtTVEgJ2FwcC90ZXN0L2FwcEB0ZXN0QEBkcGRrLXRlc3RAZXhlL3Rlc3RfY29tcHJl c3NkZXYuYy5vJyAtTUYgJ2FwcC90ZXN0L2FwcEB0ZXN0QEBkcGRrLXRlc3RAZXhlL3Rlc3RfY29t cHJlc3NkZXYuYy5vLmQnIC1vICdhcHAvdGVzdC9hcHBAdGVzdEBAZHBkay10ZXN0QGV4ZS90ZXN0 X2NvbXByZXNzZGV2LmMubycgLWMgLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jDQouLi9h cHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHRlc3RfY29tcHJlc3Nk ZXZfZGVmbGF0ZV9zdGF0ZWxlc3NfZHluYW1pY19iaWfigJk6DQouLi9hcHAvdGVzdC90ZXN0X2Nv bXByZXNzZGV2LmM6MTk5MjoxNjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhp4oCZ DQogIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBCSUdfREFUQV9URVNUX1NJWkUgLSAxOyArK2kp DQogICAgICAgICAgICAgICAgXg0KLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jOjE5NDk6 MTE6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gb2Yg4oCYaeKAmSB3YXMgaGVyZQ0KICB1aW50 MTZfdCBpID0gMDsNCiAgICAgICAgICAgXg0KLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5j OjE5OTI6MjogZXJyb3I6IOKAmGZvcuKAmSBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBv bmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUNCiAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEJJR19E QVRBX1RFU1RfU0laRSAtIDE7ICsraSkNCiAgXg0KLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rl di5jOjE5OTI6Mjogbm90ZTogdXNlIG9wdGlvbiAtc3RkPWM5OSBvciAtc3RkPWdudTk5IHRvIGNv bXBpbGUgeW91ciBjb2RlDQouLi9hcHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmM6MTk5NjoxOTog d2FybmluZzogYXNzaWdubWVudCBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgW2VuYWJs ZWQgYnkgZGVmYXVsdF0NCiAgaW50X2RhdGEuYnVmX2lkeCA9ICZpOw0KICAgICAgICAgICAgICAg ICAgIF4NClsxNTAxLzE1MjNdIEdlbmVyYXRpbmcgaWdiX3VpbyB3aXRoIGEgY3VzdG9tIGNvbW1h bmQuDQptYWtlOiBFbnRlcmluZyBkaXJlY3RvcnkgYC91c3Ivc3JjL2tlcm5lbHMvMy4xMC4wLTg2 Mi5lbDcueDg2XzY0Jw0KICBDQyBbTV0gIC9hdXRvL210aXN3Z3dvcmsveXNrb2gvZ2l0L21lbGxh bm94L2RwZGsub3JnLTIvYnVpbGQva2VybmVsL2xpbnV4L2lnYl91aW8vaWdiX3Vpby5vDQogIEJ1 aWxkaW5nIG1vZHVsZXMsIHN0YWdlIDIuDQogIE1PRFBPU1QgMSBtb2R1bGVzDQptYWtlWzFdOiBX YXJuaW5nOiBGaWxlIGAvYXV0by9tdGlzd2d3b3JrL3lza29oL2dpdC9tZWxsYW5veC9kcGRrLm9y Zy0yL2J1aWxkL2tlcm5lbC9saW51eC9pZ2JfdWlvL2lnYl91aW8ubW9kLmMnIGhhcyBtb2RpZmlj YXRpb24gdGltZSAwLjAwOTYgcyBpbiB0aGUgZnV0dXJlDQogIENDICAgICAgL2F1dG8vbXRpc3dn d29yay95c2tvaC9naXQvbWVsbGFub3gvZHBkay5vcmctMi9idWlsZC9rZXJuZWwvbGludXgvaWdi X3Vpby9pZ2JfdWlvLm1vZC5vDQogIExEIFtNXSAgL2F1dG8vbXRpc3dnd29yay95c2tvaC9naXQv bWVsbGFub3gvZHBkay5vcmctMi9idWlsZC9rZXJuZWwvbGludXgvaWdiX3Vpby9pZ2JfdWlvLmtv DQptYWtlWzFdOiB3YXJuaW5nOiAgQ2xvY2sgc2tldyBkZXRlY3RlZC4gIFlvdXIgYnVpbGQgbWF5 IGJlIGluY29tcGxldGUuDQptYWtlOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Vzci9zcmMva2VybmVs cy8zLjEwLjAtODYyLmVsNy54ODZfNjQnDQoNCg0KVGhhbmtzLA0KWW9uZ3Nlb2sNCg0KPiBPbiBB cHIgMiwgMjAxOSwgYXQgNToyMiBBTSwgQ2VsLCBUb21hc3pYIDx0b21hc3p4LmNlbEBpbnRlbC5j b20+IHdyb3RlOg0KPiANCj4gSGkgVG9tYXN6LA0KPiANCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+PiBGcm9tOiBDZWwsIFRvbWFzelgNCj4+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDIs IDIwMTkgMToxNyBQTQ0KPj4gVG86IGRldkBkcGRrLm9yZzsgVHJhaGUsIEZpb25hIDxmaW9uYS50 cmFoZUBpbnRlbC5jb20+OyBKb3p3aWFrLCBUb21hc3pYDQo+PiA8dG9tYXN6eC5qb3p3aWFrQGlu dGVsLmNvbT47IENlbCwgVG9tYXN6WCA8dG9tYXN6eC5jZWxAaW50ZWwuY29tPg0KPj4gU3ViamVj dDogW1BBVENIIHYyIDEvMV0gdGVzdC9jb21wcmVzczogYWRkIG1heCBtYnVmIHNpemUgdGVzdCBj YXNlDQo+PiANCj4+IEZyb206IFRvbWFzeiBKb3p3aWFrIDx0b21hc3p4LmpvendpYWtAaW50ZWwu Y29tPg0KPj4gDQo+PiBUaGlzIHBhdGNoIGFkZHMgbmV3IHRlc3QgY2FzZSBpbiB3aGljaCBtYXgu IHNpemUgb2YgY2hhaW4gbWJ1ZnMgaGFzIGJlZW4NCj4+IHVzZWQgdG8gY29tcHJlc3MgcmFuZG9t IGRhdGEgZHluYW1pY2FsbHkuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IFRvbWFzeiBKb3p3aWFr IDx0b21hc3p4LmpvendpYWtAaW50ZWwuY29tPg0KPj4gLS0tDQo+PiBhcHAvdGVzdC90ZXN0X2Nv bXByZXNzZGV2LmMgfCAxNTgNCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tDQo+PiAxIGZpbGUgY2hhbmdlZCwgMTM2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0 aW9ucygtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5j IGIvYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jDQo+PiBpbmRleCAxM2NmMjZjLi5mNTliM2Qy IDEwMDY0NA0KPj4gLS0tIGEvYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jDQo+PiArKysgYi9h cHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmMNCj4+IEBAIC0xLDEwICsxLDEwIEBADQo+PiAvKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+PiAtICogQ29weXJpZ2h0KGMp IDIwMTggSW50ZWwgQ29ycG9yYXRpb24NCj4+ICsgKiBDb3B5cmlnaHQoYykgMjAxOCAtIDIwMTkg SW50ZWwgQ29ycG9yYXRpb24NCj4+ICAqLw0KPj4gI2luY2x1ZGUgPHN0cmluZy5oPg0KPj4gI2lu Y2x1ZGUgPHpsaWIuaD4NCj4+ICNpbmNsdWRlIDxtYXRoLmg+DQo+PiAtI2luY2x1ZGUgPHVuaXN0 ZC5oPg0KPj4gKyNpbmNsdWRlIDxzdGRsaWIuaD4NCj4+IA0KPj4gI2luY2x1ZGUgPHJ0ZV9jeWNs ZXMuaD4NCj4+ICNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+PiBAQCAtNDUsNiArNDUsMTEgQEAN Cj4+IA0KPj4gI2RlZmluZSBPVVRfT0ZfU1BBQ0VfQlVGIDENCj4+IA0KPj4gKyNkZWZpbmUgTUFY X01CVUZfU0VHTUVOVF9TSVpFIDY1NTM1DQo+PiArI2RlZmluZSBNQVhfREFUQV9NQlVGX1NJWkUg KE1BWF9NQlVGX1NFR01FTlRfU0laRSAtDQo+PiArUlRFX1BLVE1CVUZfSEVBRFJPT00pICNkZWZp bmUgTlVNX0JJR19NQlVGUyA0ICNkZWZpbmUNCj4+ICtCSUdfREFUQV9URVNUX1NJWkUgKE1BWF9E QVRBX01CVUZfU0laRSAqIE5VTV9CSUdfTUJVRlMgLyAyKQ0KPj4gKw0KPj4gY29uc3QgY2hhciAq DQo+PiBodWZmbWFuX3R5cGVfc3RyaW5nc1tdID0gew0KPj4gCVtSVEVfQ09NUF9IVUZGTUFOX0RF RkFVTFRdCT0gIlBNRCBkZWZhdWx0IiwNCj4+IEBAIC03Myw2ICs3OCw3IEBAIHN0cnVjdCBwcml2 X29wX2RhdGEgew0KPj4gc3RydWN0IGNvbXBfdGVzdHN1aXRlX3BhcmFtcyB7DQo+PiAJc3RydWN0 IHJ0ZV9tZW1wb29sICpsYXJnZV9tYnVmX3Bvb2w7DQo+PiAJc3RydWN0IHJ0ZV9tZW1wb29sICpz bWFsbF9tYnVmX3Bvb2w7DQo+PiArCXN0cnVjdCBydGVfbWVtcG9vbCAqYmlnX21idWZfcG9vbDsN Cj4+IAlzdHJ1Y3QgcnRlX21lbXBvb2wgKm9wX3Bvb2w7DQo+PiAJc3RydWN0IHJ0ZV9jb21wX3hm b3JtICpkZWZfY29tcF94Zm9ybTsNCj4+IAlzdHJ1Y3QgcnRlX2NvbXBfeGZvcm0gKmRlZl9kZWNv bXBfeGZvcm07IEBAIC05Miw2ICs5OCw3IEBADQo+PiBzdHJ1Y3QgdGVzdF9kYXRhX3BhcmFtcyB7 DQo+PiAJZW51bSB2YXJpZWRfYnVmZiBidWZmX3R5cGU7DQo+PiAJZW51bSB6bGliX2RpcmVjdGlv biB6bGliX2RpcjsNCj4+IAl1bnNpZ25lZCBpbnQgb3V0X29mX3NwYWNlOw0KPj4gKwl1bnNpZ25l ZCBpbnQgYmlnX2RhdGE7DQo+PiB9Ow0KPj4gDQo+PiBzdGF0aWMgc3RydWN0IGNvbXBfdGVzdHN1 aXRlX3BhcmFtcyB0ZXN0c3VpdGVfcGFyYW1zID0geyAwIH07IEBAIC0xMDUsMTENCj4+ICsxMTIs MTQgQEAgdGVzdHN1aXRlX3RlYXJkb3duKHZvaWQpDQo+PiAJCVJURV9MT0coRVJSLCBVU0VSMSwg IkxhcmdlIG1idWYgcG9vbCBzdGlsbCBoYXMgdW5mcmVlZA0KPj4gYnVmc1xuIik7DQo+PiAJaWYg KHJ0ZV9tZW1wb29sX2luX3VzZV9jb3VudCh0c19wYXJhbXMtPnNtYWxsX21idWZfcG9vbCkpDQo+ PiAJCVJURV9MT0coRVJSLCBVU0VSMSwgIlNtYWxsIG1idWYgcG9vbCBzdGlsbCBoYXMgdW5mcmVl ZA0KPj4gYnVmc1xuIik7DQo+PiArCWlmIChydGVfbWVtcG9vbF9pbl91c2VfY291bnQodHNfcGFy YW1zLT5iaWdfbWJ1Zl9wb29sKSkNCj4+ICsJCVJURV9MT0coRVJSLCBVU0VSMSwgIkJpZyBtYnVm IHBvb2wgc3RpbGwgaGFzIHVuZnJlZWQNCj4+IGJ1ZnNcbiIpOw0KPj4gCWlmIChydGVfbWVtcG9v bF9pbl91c2VfY291bnQodHNfcGFyYW1zLT5vcF9wb29sKSkNCj4+IAkJUlRFX0xPRyhFUlIsIFVT RVIxLCAib3AgcG9vbCBzdGlsbCBoYXMgdW5mcmVlZCBvcHNcbiIpOw0KPj4gDQo+PiAJcnRlX21l bXBvb2xfZnJlZSh0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbCk7DQo+PiAJcnRlX21lbXBvb2xf ZnJlZSh0c19wYXJhbXMtPnNtYWxsX21idWZfcG9vbCk7DQo+PiArCXJ0ZV9tZW1wb29sX2ZyZWUo dHNfcGFyYW1zLT5iaWdfbWJ1Zl9wb29sKTsNCj4+IAlydGVfbWVtcG9vbF9mcmVlKHRzX3BhcmFt cy0+b3BfcG9vbCk7DQo+PiAJcnRlX2ZyZWUodHNfcGFyYW1zLT5kZWZfY29tcF94Zm9ybSk7DQo+ PiAJcnRlX2ZyZWUodHNfcGFyYW1zLT5kZWZfZGVjb21wX3hmb3JtKTsNCj4+IEBAIC0xNjIsNiAr MTcyLDE3IEBAIHRlc3RzdWl0ZV9zZXR1cCh2b2lkKQ0KPj4gCQlnb3RvIGV4aXQ7DQo+PiAJfQ0K Pj4gDQo+PiArCS8qIENyZWF0ZSBtZW1wb29sIHdpdGggYmlnIGJ1ZmZlcnMgZm9yIFNHTCB0ZXN0 aW5nICovDQo+PiArCXRzX3BhcmFtcy0+YmlnX21idWZfcG9vbCA9DQo+PiBydGVfcGt0bWJ1Zl9w b29sX2NyZWF0ZSgiYmlnX21idWZfcG9vbCIsDQo+PiArCQkJTlVNX0JJR19NQlVGUyArIDEsDQo+ PiArCQkJQ0FDSEVfU0laRSwgMCwNCj4+ICsJCQlNQVhfTUJVRl9TRUdNRU5UX1NJWkUsDQo+PiAr CQkJcnRlX3NvY2tldF9pZCgpKTsNCj4+ICsJaWYgKHRzX3BhcmFtcy0+YmlnX21idWZfcG9vbCA9 PSBOVUxMKSB7DQo+PiArCQlSVEVfTE9HKEVSUiwgVVNFUjEsICJCaWcgbWJ1ZiBwb29sIGNvdWxk IG5vdCBiZQ0KPj4gY3JlYXRlZFxuIik7DQo+PiArCQlnb3RvIGV4aXQ7DQo+PiArCX0NCj4+ICsN Cj4+IAl0c19wYXJhbXMtPm9wX3Bvb2wgPSBydGVfY29tcF9vcF9wb29sX2NyZWF0ZSgib3BfcG9v bCIsDQo+PiBOVU1fT1BTLA0KPj4gCQkJCTAsIHNpemVvZihzdHJ1Y3QgcHJpdl9vcF9kYXRhKSwN Cj4+IAkJCQlydGVfc29ja2V0X2lkKCkpOw0KPj4gQEAgLTU5OCwxMCArNjE5LDExIEBAIHByZXBh cmVfc2dsX2J1ZnMoY29uc3QgY2hhciAqdGVzdF9idWYsIHN0cnVjdA0KPj4gcnRlX21idWYgKmhl YWRfYnVmLA0KPj4gCQl1aW50MzJfdCB0b3RhbF9kYXRhX3NpemUsDQo+PiAJCXN0cnVjdCBydGVf bWVtcG9vbCAqc21hbGxfbWJ1Zl9wb29sLA0KPj4gCQlzdHJ1Y3QgcnRlX21lbXBvb2wgKmxhcmdl X21idWZfcG9vbCwNCj4+IC0JCXVpbnQ4X3QgbGltaXRfc2Vnc19pbl9zZ2wpDQo+PiArCQl1aW50 OF90IGxpbWl0X3NlZ3NfaW5fc2dsLA0KPj4gKwkJdWludDE2X3Qgc2VnX3NpemUpDQo+PiB7DQo+ PiAJdWludDMyX3QgcmVtYWluaW5nX2RhdGEgPSB0b3RhbF9kYXRhX3NpemU7DQo+PiAtCXVpbnQx Nl90IG51bV9yZW1haW5pbmdfc2VncyA9IERJVl9DRUlMKHJlbWFpbmluZ19kYXRhLA0KPj4gU01B TExfU0VHX1NJWkUpOw0KPj4gKwl1aW50MTZfdCBudW1fcmVtYWluaW5nX3NlZ3MgPSBESVZfQ0VJ TChyZW1haW5pbmdfZGF0YSwNCj4+IHNlZ19zaXplKTsNCj4+IAlzdHJ1Y3QgcnRlX21lbXBvb2wg KnBvb2w7DQo+PiAJc3RydWN0IHJ0ZV9tYnVmICpuZXh0X3NlZzsNCj4+IAl1aW50MzJfdCBkYXRh X3NpemU7DQo+PiBAQCAtNjE3LDEwICs2MzksMTAgQEAgcHJlcGFyZV9zZ2xfYnVmcyhjb25zdCBj aGFyICp0ZXN0X2J1Ziwgc3RydWN0DQo+PiBydGVfbWJ1ZiAqaGVhZF9idWYsDQo+PiAJICogQWxs b2NhdGUgZGF0YSBpbiB0aGUgZmlyc3Qgc2VnbWVudCAoaGVhZGVyKSBhbmQNCj4+IAkgKiBjb3B5 IGRhdGEgaWYgdGVzdCBidWZmZXIgaXMgcHJvdmlkZWQNCj4+IAkgKi8NCj4+IC0JaWYgKHJlbWFp bmluZ19kYXRhIDwgU01BTExfU0VHX1NJWkUpDQo+PiArCWlmIChyZW1haW5pbmdfZGF0YSA8IHNl Z19zaXplKQ0KPj4gCQlkYXRhX3NpemUgPSByZW1haW5pbmdfZGF0YTsNCj4+IAllbHNlDQo+PiAt CQlkYXRhX3NpemUgPSBTTUFMTF9TRUdfU0laRTsNCj4+ICsJCWRhdGFfc2l6ZSA9IHNlZ19zaXpl Ow0KPj4gCWJ1Zl9wdHIgPSBydGVfcGt0bWJ1Zl9hcHBlbmQoaGVhZF9idWYsIGRhdGFfc2l6ZSk7 DQo+PiAJaWYgKGJ1Zl9wdHIgPT0gTlVMTCkgew0KPj4gCQlSVEVfTE9HKEVSUiwgVVNFUjEsDQo+ PiBAQCAtNjQ0LDEzICs2NjYsMTMgQEAgcHJlcGFyZV9zZ2xfYnVmcyhjb25zdCBjaGFyICp0ZXN0 X2J1Ziwgc3RydWN0DQo+PiBydGVfbWJ1ZiAqaGVhZF9idWYsDQo+PiANCj4+IAkJaWYgKGkgPT0g KG51bV9yZW1haW5pbmdfc2VncyAtIDEpKSB7DQo+PiAJCQkvKiBsYXN0IHNlZ21lbnQgKi8NCj4+ IC0JCQlpZiAocmVtYWluaW5nX2RhdGEgPiBTTUFMTF9TRUdfU0laRSkNCj4+ICsJCQlpZiAocmVt YWluaW5nX2RhdGEgPiBzZWdfc2l6ZSkNCj4+IAkJCQlwb29sID0gbGFyZ2VfbWJ1Zl9wb29sOw0K Pj4gCQkJZWxzZQ0KPj4gCQkJCXBvb2wgPSBzbWFsbF9tYnVmX3Bvb2w7DQo+PiAJCQlkYXRhX3Np emUgPSByZW1haW5pbmdfZGF0YTsNCj4+IAkJfSBlbHNlIHsNCj4+IC0JCQlkYXRhX3NpemUgPSBT TUFMTF9TRUdfU0laRTsNCj4+ICsJCQlkYXRhX3NpemUgPSBzZWdfc2l6ZTsNCj4+IAkJCXBvb2wg PSBzbWFsbF9tYnVmX3Bvb2w7DQo+PiAJCX0NCj4+IA0KPj4gQEAgLTcwNCw2ICs3MjYsNyBAQCB0 ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3RydWN0DQo+PiBpbnRlcmltX2RhdGFfcGFy YW1zICppbnRfZGF0YSwNCj4+IAllbnVtIHJ0ZV9jb21wX29wX3R5cGUgc3RhdGUgPSB0ZXN0X2Rh dGEtPnN0YXRlOw0KPj4gCXVuc2lnbmVkIGludCBidWZmX3R5cGUgPSB0ZXN0X2RhdGEtPmJ1ZmZf dHlwZTsNCj4+IAl1bnNpZ25lZCBpbnQgb3V0X29mX3NwYWNlID0gdGVzdF9kYXRhLT5vdXRfb2Zf c3BhY2U7DQo+PiArCXVuc2lnbmVkIGludCBiaWdfZGF0YSA9IHRlc3RfZGF0YS0+YmlnX2RhdGE7 DQo+PiAJZW51bSB6bGliX2RpcmVjdGlvbiB6bGliX2RpciA9IHRlc3RfZGF0YS0+emxpYl9kaXI7 DQo+PiAJaW50IHJldF9zdGF0dXMgPSAtMTsNCj4+IAlpbnQgcmV0Ow0KPj4gQEAgLTczOCw3ICs3 NjEsOSBAQCB0ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3RydWN0DQo+PiBpbnRlcmlt X2RhdGFfcGFyYW1zICppbnRfZGF0YSwNCj4+IAltZW1zZXQob3BzX3Byb2Nlc3NlZCwgMCwgc2l6 ZW9mKHN0cnVjdCBydGVfY29tcF9vcCAqKSAqDQo+PiBudW1fYnVmcyk7DQo+PiAJbWVtc2V0KHBy aXZfeGZvcm1zLCAwLCBzaXplb2Yodm9pZCAqKSAqIG51bV9idWZzKTsNCj4+IA0KPj4gLQlpZiAo YnVmZl90eXBlID09IFNHTF9CT1RIKQ0KPj4gKwlpZiAoYmlnX2RhdGEpDQo+PiArCQlidWZfcG9v bCA9IHRzX3BhcmFtcy0+YmlnX21idWZfcG9vbDsNCj4+ICsJZWxzZSBpZiAoYnVmZl90eXBlID09 IFNHTF9CT1RIKQ0KPj4gCQlidWZfcG9vbCA9IHRzX3BhcmFtcy0+c21hbGxfbWJ1Zl9wb29sOw0K Pj4gCWVsc2UNCj4+IAkJYnVmX3Bvb2wgPSB0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbDsgQEAg LTc1NywxMA0KPj4gKzc4MiwxMSBAQCB0ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3Ry dWN0IGludGVyaW1fZGF0YV9wYXJhbXMNCj4+ICppbnRfZGF0YSwNCj4+IAkJZm9yIChpID0gMDsg aSA8IG51bV9idWZzOyBpKyspIHsNCj4+IAkJCWRhdGFfc2l6ZSA9IHN0cmxlbih0ZXN0X2J1ZnNb aV0pICsgMTsNCj4+IAkJCWlmIChwcmVwYXJlX3NnbF9idWZzKHRlc3RfYnVmc1tpXSwgdW5jb21w X2J1ZnNbaV0sDQo+PiAtCQkJCQlkYXRhX3NpemUsDQo+PiAtCQkJCQl0c19wYXJhbXMtPnNtYWxs X21idWZfcG9vbCwNCj4+IC0JCQkJCXRzX3BhcmFtcy0+bGFyZ2VfbWJ1Zl9wb29sLA0KPj4gLQkJ CQkJTUFYX1NFR1MpIDwgMCkNCj4+ICsJCQkgICAgZGF0YV9zaXplLA0KPj4gKwkJCSAgICBiaWdf ZGF0YSA/IGJ1Zl9wb29sIDogdHNfcGFyYW1zLQ0KPj4+IHNtYWxsX21idWZfcG9vbCwNCj4+ICsJ CQkgICAgYmlnX2RhdGEgPyBidWZfcG9vbCA6IHRzX3BhcmFtcy0NCj4+PiBsYXJnZV9tYnVmX3Bv b2wsDQo+PiArCQkJICAgIGJpZ19kYXRhID8gMCA6IE1BWF9TRUdTLA0KPj4gKwkJCSAgICBiaWdf ZGF0YSA/IE1BWF9EQVRBX01CVUZfU0laRSA6DQo+PiBTTUFMTF9TRUdfU0laRSkgPCAwKQ0KPj4g CQkJCWdvdG8gZXhpdDsNCj4+IAkJfQ0KPj4gCX0gZWxzZSB7DQo+PiBAQCAtNzg5LDEwICs4MTUs MTIgQEAgdGVzdF9kZWZsYXRlX2NvbXBfZGVjb21wKGNvbnN0IHN0cnVjdA0KPj4gaW50ZXJpbV9k YXRhX3BhcmFtcyAqaW50X2RhdGEsDQo+PiAJCQkJCUNPTVBSRVNTX0JVRl9TSVpFX1JBVElPKTsN Cj4+IA0KPj4gCQkJaWYgKHByZXBhcmVfc2dsX2J1ZnMoTlVMTCwgY29tcF9idWZzW2ldLA0KPj4g LQkJCQkJZGF0YV9zaXplLA0KPj4gLQkJCQkJdHNfcGFyYW1zLT5zbWFsbF9tYnVmX3Bvb2wsDQo+ PiAtCQkJCQl0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbCwNCj4+IC0JCQkJCU1BWF9TRUdTKSA8 IDApDQo+PiArCQkJICAgICAgZGF0YV9zaXplLA0KPj4gKwkJCSAgICAgIGJpZ19kYXRhID8gYnVm X3Bvb2wgOiB0c19wYXJhbXMtDQo+Pj4gc21hbGxfbWJ1Zl9wb29sLA0KPj4gKwkJCSAgICAgIGJp Z19kYXRhID8gYnVmX3Bvb2wgOiB0c19wYXJhbXMtDQo+Pj4gbGFyZ2VfbWJ1Zl9wb29sLA0KPj4g KwkJCSAgICAgIGJpZ19kYXRhID8gMCA6IE1BWF9TRUdTLA0KPj4gKwkJCSAgICAgIGJpZ19kYXRh ID8gTUFYX0RBVEFfTUJVRl9TSVpFIDoNCj4+IFNNQUxMX1NFR19TSVpFKQ0KPj4gKwkJCQkJPCAw KQ0KPj4gCQkJCWdvdG8gZXhpdDsNCj4+IAkJfQ0KPj4gDQo+PiBAQCAtMTAxNywxMCArMTA0NSwx MiBAQCB0ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3RydWN0DQo+PiBpbnRlcmltX2Rh dGFfcGFyYW1zICppbnRfZGF0YSwNCj4+IAkJCQlzdHJsZW4odGVzdF9idWZzW3ByaXZfZGF0YS0+ b3JpZ19pZHhdKSArIDE7DQo+PiANCj4+IAkJCWlmIChwcmVwYXJlX3NnbF9idWZzKE5VTEwsIHVu Y29tcF9idWZzW2ldLA0KPj4gLQkJCQkJZGF0YV9zaXplLA0KPj4gLQkJCQkJdHNfcGFyYW1zLT5z bWFsbF9tYnVmX3Bvb2wsDQo+PiAtCQkJCQl0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbCwNCj4+ IC0JCQkJCU1BWF9TRUdTKSA8IDApDQo+PiArCQkJICAgICAgIGRhdGFfc2l6ZSwNCj4+ICsJCQkg ICAgICAgYmlnX2RhdGEgPyBidWZfcG9vbCA6IHRzX3BhcmFtcy0NCj4+PiBzbWFsbF9tYnVmX3Bv b2wsDQo+PiArCQkJICAgICAgIGJpZ19kYXRhID8gYnVmX3Bvb2wgOiB0c19wYXJhbXMtDQo+Pj4g bGFyZ2VfbWJ1Zl9wb29sLA0KPj4gKwkJCSAgICAgICBiaWdfZGF0YSA/IDAgOiBNQVhfU0VHUywN Cj4+ICsJCQkgICAgICAgYmlnX2RhdGEgPyBNQVhfREFUQV9NQlVGX1NJWkUgOg0KPj4gU01BTExf U0VHX1NJWkUpDQo+PiArCQkJCQk8IDApDQo+PiAJCQkJZ290byBleGl0Ow0KPj4gCQl9DQo+PiAN Cj4+IEBAIC0xMzIwLDYgKzEzNTAsNyBAQCB0ZXN0X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVs ZXNzX2ZpeGVkKHZvaWQpDQo+PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJTEJfQk9U SCwNCj4+IAkJWkxJQl9ERUNPTVBSRVNTLA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07DQo+PiAN Cj4+IEBAIC0xMzkwLDYgKzE0MjEsNyBAQA0KPj4gdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0 YXRlbGVzc19keW5hbWljKHZvaWQpDQo+PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJ TEJfQk9USCwNCj4+IAkJWkxJQl9ERUNPTVBSRVNTLA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07 DQo+PiANCj4+IEBAIC0xNDQzLDYgKzE0NzUsNyBAQA0KPj4gdGVzdF9jb21wcmVzc2Rldl9kZWZs YXRlX3N0YXRlbGVzc19tdWx0aV9vcCh2b2lkKQ0KPj4gCQlSVEVfQ09NUF9PUF9TVEFURUxFU1Ms DQo+PiAJCUxCX0JPVEgsDQo+PiAJCVpMSUJfREVDT01QUkVTUywNCj4+ICsJCTAsDQo+PiAJCTAN Cj4+IAl9Ow0KPj4gDQo+PiBAQCAtMTQ5Miw2ICsxNTI1LDcgQEANCj4+IHRlc3RfY29tcHJlc3Nk ZXZfZGVmbGF0ZV9zdGF0ZWxlc3NfbXVsdGlfbGV2ZWwodm9pZCkNCj4+IAkJUlRFX0NPTVBfT1Bf U1RBVEVMRVNTLA0KPj4gCQlMQl9CT1RILA0KPj4gCQlaTElCX0RFQ09NUFJFU1MsDQo+PiArCQkw LA0KPj4gCQkwDQo+PiAJfTsNCj4+IA0KPj4gQEAgLTE1ODEsNiArMTYxNSw3IEBADQo+PiB0ZXN0 X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX211bHRpX3hmb3JtKHZvaWQpDQo+PiAJCVJU RV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJTEJfQk9USCwNCj4+IAkJWkxJQl9ERUNPTVBSRVNT LA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07DQo+PiANCj4+IEBAIC0xNjI2LDYgKzE2NjEsNyBA QCB0ZXN0X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX3NnbCh2b2lkKQ0KPj4gCQlSVEVf Q09NUF9PUF9TVEFURUxFU1MsDQo+PiAJCVNHTF9CT1RILA0KPj4gCQlaTElCX0RFQ09NUFJFU1Ms DQo+PiArCQkwLA0KPj4gCQkwDQo+PiAJfTsNCj4+IA0KPj4gQEAgLTE3MzMsNiArMTc2OSw3IEBA DQo+PiB0ZXN0X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX2NoZWNrc3VtKHZvaWQpDQo+ PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJTEJfQk9USCwNCj4+IAkJWkxJQl9ERUNP TVBSRVNTLA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07DQo+PiANCj4+IEBAIC0xODYzLDcgKzE5 MDAsOCBAQCB0ZXN0X2NvbXByZXNzZGV2X291dF9vZl9zcGFjZV9idWZmZXIodm9pZCkNCj4+IAkJ UlRFX0NPTVBfT1BfU1RBVEVMRVNTLA0KPj4gCQlMQl9CT1RILA0KPj4gCQlaTElCX0RFQ09NUFJF U1MsDQo+PiAtCQkxDQo+PiArCQkxLA0KPj4gKwkJMA0KPj4gCX07DQo+PiAJLyogQ29tcHJlc3Mg d2l0aCBjb21wcmVzc2RldiwgZGVjb21wcmVzcyB3aXRoIFpsaWIgKi8NCj4+IAl0ZXN0X2RhdGEu emxpYl9kaXIgPSBaTElCX0RFQ09NUFJFU1M7DQo+PiBAQCAtMTkwNCw2ICsxOTQyLDgwIEBAIHRl c3RfY29tcHJlc3NkZXZfb3V0X29mX3NwYWNlX2J1ZmZlcih2b2lkKQ0KPj4gCXJldHVybiByZXQ7 DQo+PiB9DQo+PiANCj4+ICtzdGF0aWMgaW50DQo+PiArdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRl X3N0YXRlbGVzc19keW5hbWljX2JpZyh2b2lkKQ0KPj4gK3sNCj4+ICsJc3RydWN0IGNvbXBfdGVz dHN1aXRlX3BhcmFtcyAqdHNfcGFyYW1zID0gJnRlc3RzdWl0ZV9wYXJhbXM7DQo+PiArCXVpbnQx Nl90IGkgPSAwOw0KPj4gKwlpbnQgcmV0ID0gVEVTVF9TVUNDRVNTOw0KPj4gKwljb25zdCBzdHJ1 Y3QgcnRlX2NvbXByZXNzZGV2X2NhcGFiaWxpdGllcyAqY2FwYWI7DQo+PiArCWNoYXIgKnRlc3Rf YnVmZmVyID0gTlVMTDsNCj4+ICsNCj4+ICsJY2FwYWIgPSBydGVfY29tcHJlc3NkZXZfY2FwYWJp bGl0eV9nZXQoMCwNCj4+IFJURV9DT01QX0FMR09fREVGTEFURSk7DQo+PiArCVRFU1RfQVNTRVJU KGNhcGFiICE9IE5VTEwsICJGYWlsZWQgdG8gcmV0cmlldmUgZGV2aWNlIGNhcGFiaWxpdGllcyIp Ow0KPj4gKw0KPj4gKwlpZiAoKGNhcGFiLT5jb21wX2ZlYXR1cmVfZmxhZ3MgJg0KPj4gUlRFX0NP TVBfRkZfSFVGRk1BTl9EWU5BTUlDKSA9PSAwKQ0KPj4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPj4g Kw0KPj4gKwlpZiAoKGNhcGFiLT5jb21wX2ZlYXR1cmVfZmxhZ3MgJg0KPj4gUlRFX0NPTVBfRkZf T09QX1NHTF9JTl9TR0xfT1VUKSA9PSAwKQ0KPj4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPj4gKw0K Pj4gKwl0ZXN0X2J1ZmZlciA9IHJ0ZV9tYWxsb2MoTlVMTCwgQklHX0RBVEFfVEVTVF9TSVpFLCAw KTsNCj4+ICsJaWYgKHRlc3RfYnVmZmVyID09IE5VTEwpIHsNCj4+ICsJCVJURV9MT0coRVJSLCBV U0VSMSwNCj4+ICsJCQkiQ2FuJ3QgYWxsb2NhdGUgYnVmZmVyIGZvciBiaWctZGF0YVxuIik7DQo+ PiArCQlyZXR1cm4gVEVTVF9GQUlMRUQ7DQo+PiArCX0NCj4+ICsNCj4+ICsJc3RydWN0IGludGVy aW1fZGF0YV9wYXJhbXMgaW50X2RhdGEgPSB7DQo+PiArCQkoY29uc3QgY2hhciAqIGNvbnN0ICop JnRlc3RfYnVmZmVyLA0KPj4gKwkJMSwNCj4+ICsJCU5VTEwsDQo+PiArCQkmdHNfcGFyYW1zLT5k ZWZfY29tcF94Zm9ybSwNCj4+ICsJCSZ0c19wYXJhbXMtPmRlZl9kZWNvbXBfeGZvcm0sDQo+PiAr CQkxDQo+PiArCX07DQo+PiArDQo+PiArCXN0cnVjdCB0ZXN0X2RhdGFfcGFyYW1zIHRlc3RfZGF0 YSA9IHsNCj4+ICsJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+ICsJCVNHTF9CT1RILA0KPj4g KwkJWkxJQl9ERUNPTVBSRVNTLA0KPj4gKwkJMCwNCj4+ICsJCTENCj4+ICsJfTsNCj4+ICsNCj4+ ICsJdHNfcGFyYW1zLT5kZWZfY29tcF94Zm9ybS0+Y29tcHJlc3MuZGVmbGF0ZS5odWZmbWFuID0N Cj4+ICsNCj4+IAlSVEVfQ09NUF9IVUZGTUFOX0RZTkFNSUM7DQo+PiArDQo+PiArCS8qIGZpbGwg dGhlIGJ1ZmZlciB3aXRoIGRhdGEgYmFzZWQgb24gcmFuZC4gZGF0YSAqLw0KPj4gKwlzcmFuZChC SUdfREFUQV9URVNUX1NJWkUpOw0KPj4gKwlmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgQklHX0RB VEFfVEVTVF9TSVpFIC0gMTsgKytpKQ0KPj4gKwkJdGVzdF9idWZmZXJbaV0gPSAodWludDhfdCko cmFuZCgpICUgKCh1aW50OF90KS0xKSkgfCAxOw0KPj4gKw0KPj4gKwl0ZXN0X2J1ZmZlcltCSUdf REFUQV9URVNUX1NJWkUtMV0gPSAwOw0KPj4gKwlpbnRfZGF0YS5idWZfaWR4ID0gJmk7DQo+PiAr DQo+PiArCS8qIENvbXByZXNzIHdpdGggY29tcHJlc3NkZXYsIGRlY29tcHJlc3Mgd2l0aCBabGli ICovDQo+PiArCXRlc3RfZGF0YS56bGliX2RpciA9IFpMSUJfREVDT01QUkVTUzsNCj4+ICsJaWYg KHRlc3RfZGVmbGF0ZV9jb21wX2RlY29tcCgmaW50X2RhdGEsICZ0ZXN0X2RhdGEpIDwgMCkgew0K Pj4gKwkJcmV0ID0gVEVTVF9GQUlMRUQ7DQo+PiArCQlnb3RvIGVuZDsNCj4+ICsJfQ0KPj4gKw0K Pj4gKwkvKiBDb21wcmVzcyB3aXRoIFpsaWIsIGRlY29tcHJlc3Mgd2l0aCBjb21wcmVzc2RldiAq Lw0KPj4gKwl0ZXN0X2RhdGEuemxpYl9kaXIgPSBaTElCX0NPTVBSRVNTOw0KPj4gKwlpZiAodGVz dF9kZWZsYXRlX2NvbXBfZGVjb21wKCZpbnRfZGF0YSwgJnRlc3RfZGF0YSkgPCAwKSB7DQo+PiAr CQlyZXQgPSBURVNUX0ZBSUxFRDsNCj4+ICsJCWdvdG8gZW5kOw0KPj4gKwl9DQo+PiArDQo+PiAr ZW5kOg0KPj4gKwl0c19wYXJhbXMtPmRlZl9jb21wX3hmb3JtLT5jb21wcmVzcy5kZWZsYXRlLmh1 ZmZtYW4gPQ0KPj4gKw0KPj4gCVJURV9DT01QX0hVRkZNQU5fREVGQVVMVDsNCj4+ICsJcnRlX2Zy ZWUodGVzdF9idWZmZXIpOw0KPj4gKwlyZXR1cm4gcmV0Ow0KPj4gK30NCj4+ICsNCj4+IA0KPj4g c3RhdGljIHN0cnVjdCB1bml0X3Rlc3Rfc3VpdGUgY29tcHJlc3NkZXZfdGVzdHN1aXRlICA9IHsN Cj4+IAkuc3VpdGVfbmFtZSA9ICJjb21wcmVzc2RldiB1bml0IHRlc3Qgc3VpdGUiLCBAQCAtMTkx Nyw2ICsyMDI5LDgNCj4+IEBAIHN0YXRpYyBzdHJ1Y3QgdW5pdF90ZXN0X3N1aXRlIGNvbXByZXNz ZGV2X3Rlc3RzdWl0ZSAgPSB7DQo+PiAJCVRFU1RfQ0FTRV9TVChnZW5lcmljX3V0X3NldHVwLCBn ZW5lcmljX3V0X3RlYXJkb3duLA0KPj4gCQkJdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRl bGVzc19keW5hbWljKSwNCj4+IAkJVEVTVF9DQVNFX1NUKGdlbmVyaWNfdXRfc2V0dXAsIGdlbmVy aWNfdXRfdGVhcmRvd24sDQo+PiArCQkJdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRlbGVz c19keW5hbWljX2JpZyksDQo+PiArCQlURVNUX0NBU0VfU1QoZ2VuZXJpY191dF9zZXR1cCwgZ2Vu ZXJpY191dF90ZWFyZG93biwNCj4+IAkJCXRlc3RfY29tcHJlc3NkZXZfZGVmbGF0ZV9zdGF0ZWxl c3NfbXVsdGlfb3ApLA0KPj4gCQlURVNUX0NBU0VfU1QoZ2VuZXJpY191dF9zZXR1cCwgZ2VuZXJp Y191dF90ZWFyZG93biwNCj4+IAkJCXRlc3RfY29tcHJlc3NkZXZfZGVmbGF0ZV9zdGF0ZWxlc3Nf bXVsdGlfbGV2ZWwpLA0KPj4gLS0NCj4+IDIuNy40DQo+IA0KPiBBY2tlZC1ieTogVG9tYXN6IENl bCA8dG9tYXN6eC5jZWxAaW50ZWwuY29tPg0KPiANCg0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 94C91A00E6 for ; Fri, 19 Apr 2019 00:43:02 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0C8541BC74; Fri, 19 Apr 2019 00:43:01 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50042.outbound.protection.outlook.com [40.107.5.42]) by dpdk.org (Postfix) with ESMTP id 766171BC71 for ; Fri, 19 Apr 2019 00:42:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dLWe9uW8P/Etw6l0hzDl//GUlvA4jMSsKk6YDvJGjdo=; b=Vil4wD54dRZ9EUiLRYK88j+TedaGkLSiry1L4KPnskQ5ByrXax5j4HZmGrWIdTYgc1jktl6UKoN9Ep4YXDZy51U+TRkVv7Ava/3+tG7+cND1HbOqQIvthK0TIgwwMySZHkniOcIsQaP7S6pfGlO63LYZfaUaKJbqux3KURL/BKs= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB4010.eurprd05.prod.outlook.com (52.134.66.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1813.12; Thu, 18 Apr 2019 22:42:57 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::6072:43be:7c2d:103a]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::6072:43be:7c2d:103a%3]) with mapi id 15.20.1813.013; Thu, 18 Apr 2019 22:42:57 +0000 From: Yongseok Koh To: "Cel, TomaszX" , Thomas Monjalon , "Jozwiak, TomaszX" CC: "dev@dpdk.org" , "Trahe, Fiona" Thread-Topic: [dpdk-dev] [PATCH v2 1/1] test/compress: add max mbuf size test case Thread-Index: AQHU6U7T9s6iIIzR3UWqkNjU5Sd5UaZCnYMA Date: Thu, 18 Apr 2019 22:42:57 +0000 Message-ID: <825F643C-86B8-4A5D-934A-E074DE1458C1@mellanox.com> 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> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 12ac2bd6-fca1-41d4-5c79-08d6c44f33dc x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:DB3PR0502MB4010; x-ms-traffictypediagnostic: DB3PR0502MB4010: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-forefront-prvs: 0011612A55 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(136003)(376002)(366004)(396003)(346002)(189003)(199004)(13464003)(30864003)(53546011)(33656002)(82746002)(256004)(76176011)(71190400001)(229853002)(14444005)(476003)(6486002)(478600001)(71200400001)(97736004)(11346002)(83716004)(2616005)(81166006)(53946003)(53936002)(6512007)(66476007)(91956017)(66556008)(76116006)(6506007)(5660300002)(99286004)(6436002)(102836004)(81156014)(186003)(93886005)(14454004)(8936002)(26005)(86362001)(36756003)(7736002)(6246003)(66066001)(2906002)(6116002)(3846002)(4326008)(110136005)(446003)(54906003)(316002)(305945005)(68736007)(486006)(66446008)(64756008)(66946007)(25786009)(73956011); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB4010; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 1/NxxGH59cSwNznIW6ANeUjAz7YCrwNkUshmjCqv6XwcTVJXjSkaDHInl2AuJr3g5AmhmX0DKxZYn7Dys98Rc78HUqmGYine9pC3G1+LQa0MNSSbAnlQDGDMDqqatwUNv3Xnd+lRIbzTH2py5LTr5G9D7KJyxg9WQZgjw5NeIqo2FizWRe+903gWM5VhLzvEXQzGeeALTc94HY8ydHzovDTmDSTBT8qzHtqHVboB27JUD4pqJAtWD9dcdAYdgPODtHt0GjVmTIK8YsqSg1zXMcnPnY4k8G5wNKOf70Q6spJ3NPECYIgsPMbHl1j702T6mqfgmZVfnXh6UTvkGIrbT2+2PbSqDWfHyVveERa+SX1bEM6t1GgRs8yvAM4/+Pahxt8OReYq/xpQY546Kcmh245zVvhUyq1pZvtd6f8Fpm8= Content-Type: text/plain; charset="UTF-8" Content-ID: <679A4C5C8DB2C94799351F1A84D385E7@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12ac2bd6-fca1-41d4-5c79-08d6c44f33dc X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2019 22:42:57.0213 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB4010 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" Message-ID: <20190418224257.g33S-w-wvdPwA2sLX-b9mXiiqHihXwZwCWorml9GJj8@z> SGksDQoNCkknbSBzZWVpbmcgY29tcGlsZSBlcnJvci4NCklzbid0IGl0IGR1ZSB0byB0aGlzIHBh dGNoPw0KDQokIGdjYyAtLXZlcnNpb24NCmdjYyAoR0NDKSA0LjguNSAyMDE1MDYyMyAoUmVkIEhh dCA0LjguNS0yOCkNCg0KDQpbMTQ4NC8xNTIzXSBDb21waWxpbmcgQyBvYmplY3QgJ2FwcC90ZXN0 L2FwcEB0ZXN0QEBkcGRrLXRlc3RAZXhlL3Rlc3RfY29tcHJlc3NkZXYuYy5vJy4NCkZBSUxFRDog YXBwL3Rlc3QvYXBwQHRlc3RAQGRwZGstdGVzdEBleGUvdGVzdF9jb21wcmVzc2Rldi5jLm8NCmNj IC1JYXBwL3Rlc3QvYXBwQHRlc3RAQGRwZGstdGVzdEBleGUgLUlhcHAvdGVzdCAtSS4uL2FwcC90 ZXN0IC1JbGliL2xpYnJ0ZV9hY2wgLUkuLi9saWIvbGlicnRlX2FjbCAtSS4gLUkuLi8gLUljb25m aWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsL2lu Y2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24g LUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGli cnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIv bGlicnRlX2JpdHJhdGVzdGF0cyAtSS4uL2xpYi9saWJydGVfYml0cmF0ZXN0YXRzIC1JbGliL2xp YnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSWxpYi9saWJydGVfbmV0IC1JLi4v bGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxp Yi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmlu ZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfY21kbGluZSAtSS4uL2xpYi9saWJy dGVfY21kbGluZSAtSWxpYi9saWJydGVfbWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JbGli L2xpYnJ0ZV9tZXRyaWNzIC1JLi4vbGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV9icGYg LUkuLi9saWIvbGlicnRlX2JwZiAtSWxpYi9saWJydGVfY2ZnZmlsZSAtSS4uL2xpYi9saWJydGVf Y2ZnZmlsZSAtSWxpYi9saWJydGVfY3J5cHRvZGV2IC1JLi4vbGliL2xpYnJ0ZV9jcnlwdG9kZXYg LUlsaWIvbGlicnRlX2Rpc3RyaWJ1dG9yIC1JLi4vbGliL2xpYnJ0ZV9kaXN0cmlidXRvciAtSWxp Yi9saWJydGVfZWZkIC1JLi4vbGliL2xpYnJ0ZV9lZmQgLUlsaWIvbGlicnRlX2hhc2ggLUkuLi9s aWIvbGlicnRlX2hhc2ggLUlsaWIvbGlicnRlX2V2ZW50ZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldmVu dGRldiAtSWxpYi9saWJydGVfdGltZXIgLUkuLi9saWIvbGlicnRlX3RpbWVyIC1JbGliL2xpYnJ0 ZV9mbG93X2NsYXNzaWZ5IC1JLi4vbGliL2xpYnJ0ZV9mbG93X2NsYXNzaWZ5IC1JbGliL2xpYnJ0 ZV90YWJsZSAtSS4uL2xpYi9saWJydGVfdGFibGUgLUlsaWIvbGlicnRlX3BvcnQgLUkuLi9saWIv bGlicnRlX3BvcnQgLUlsaWIvbGlicnRlX3NjaGVkIC1JLi4vbGliL2xpYnJ0ZV9zY2hlZCAtSWxp Yi9saWJydGVfaXBfZnJhZyAtSS4uL2xpYi9saWJydGVfaXBfZnJhZyAtSWxpYi9saWJydGVfa25p IC1JLi4vbGliL2xpYnJ0ZV9rbmkgLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNp IC1JbGliL2xpYnJ0ZV9scG0gLUkuLi9saWIvbGlicnRlX2xwbSAtSWxpYi9saWJydGVfaXBzZWMg LUkuLi9saWIvbGlicnRlX2lwc2VjIC1JbGliL2xpYnJ0ZV9zZWN1cml0eSAtSS4uL2xpYi9saWJy dGVfc2VjdXJpdHkgLUlsaWIvbGlicnRlX2xhdGVuY3lzdGF0cyAtSS4uL2xpYi9saWJydGVfbGF0 ZW5jeXN0YXRzIC1JbGliL2xpYnJ0ZV9tZW1iZXIgLUkuLi9saWIvbGlicnRlX21lbWJlciAtSWxp Yi9saWJydGVfcGlwZWxpbmUgLUkuLi9saWIvbGlicnRlX3BpcGVsaW5lIC1JbGliL2xpYnJ0ZV9y ZW9yZGVyIC1JLi4vbGliL2xpYnJ0ZV9yZW9yZGVyIC1JbGliL2xpYnJ0ZV9zdGFjayAtSS4uL2xp Yi9saWJydGVfc3RhY2sgLUlsaWIvbGlicnRlX3BkdW1wIC1JLi4vbGliL2xpYnJ0ZV9wZHVtcCAt SWRyaXZlcnMvbmV0L2k0MGUgLUkuLi9kcml2ZXJzL25ldC9pNDBlIC1JZHJpdmVycy9uZXQvaTQw ZS9iYXNlIC1JLi4vZHJpdmVycy9uZXQvaTQwZS9iYXNlIC1JZHJpdmVycy9idXMvcGNpIC1JLi4v ZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JZHJpdmVycy9idXMv dmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL25ldC9peGdiZSAtSS4uL2RyaXZl cnMvbmV0L2l4Z2JlIC1JZHJpdmVycy9uZXQvaXhnYmUvYmFzZSAtSS4uL2RyaXZlcnMvbmV0L2l4 Z2JlL2Jhc2UtSWRyaXZlcnMvbmV0L2JvbmRpbmcgLUkuLi9kcml2ZXJzL25ldC9ib25kaW5nIC1J ZHJpdmVycy9uZXQvcmluZyAtSS4uL2RyaXZlcnMvbmV0L3JpbmcgLUlsaWIvbGlicnRlX3Bvd2Vy IC1JLi4vbGliL2xpYnJ0ZV9wb3dlciAtSWxpYi9saWJydGVfY29tcHJlc3NkZXYgLUkuLi9saWIv bGlicnRlX2NvbXByZXNzZGV2IC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdp bnZhbGlkLXBjaCAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1Xc2lnbi1jb21wYXJlIC1XY2Fz dC1xdWFsIC1tYXJjaD1uYXRpdmUgLURfR05VX1NPVVJDRSAtREFMTE9XX0VYUEVSSU1FTlRBTF9B UEkgIC1NRCAtTVEgJ2FwcC90ZXN0L2FwcEB0ZXN0QEBkcGRrLXRlc3RAZXhlL3Rlc3RfY29tcHJl c3NkZXYuYy5vJyAtTUYgJ2FwcC90ZXN0L2FwcEB0ZXN0QEBkcGRrLXRlc3RAZXhlL3Rlc3RfY29t cHJlc3NkZXYuYy5vLmQnIC1vICdhcHAvdGVzdC9hcHBAdGVzdEBAZHBkay10ZXN0QGV4ZS90ZXN0 X2NvbXByZXNzZGV2LmMubycgLWMgLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jDQouLi9h cHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHRlc3RfY29tcHJlc3Nk ZXZfZGVmbGF0ZV9zdGF0ZWxlc3NfZHluYW1pY19iaWfigJk6DQouLi9hcHAvdGVzdC90ZXN0X2Nv bXByZXNzZGV2LmM6MTk5MjoxNjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhp4oCZ DQogIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBCSUdfREFUQV9URVNUX1NJWkUgLSAxOyArK2kp DQogICAgICAgICAgICAgICAgXg0KLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jOjE5NDk6 MTE6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gb2Yg4oCYaeKAmSB3YXMgaGVyZQ0KICB1aW50 MTZfdCBpID0gMDsNCiAgICAgICAgICAgXg0KLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5j OjE5OTI6MjogZXJyb3I6IOKAmGZvcuKAmSBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBv bmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUNCiAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IEJJR19E QVRBX1RFU1RfU0laRSAtIDE7ICsraSkNCiAgXg0KLi4vYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rl di5jOjE5OTI6Mjogbm90ZTogdXNlIG9wdGlvbiAtc3RkPWM5OSBvciAtc3RkPWdudTk5IHRvIGNv bXBpbGUgeW91ciBjb2RlDQouLi9hcHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmM6MTk5NjoxOTog d2FybmluZzogYXNzaWdubWVudCBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgW2VuYWJs ZWQgYnkgZGVmYXVsdF0NCiAgaW50X2RhdGEuYnVmX2lkeCA9ICZpOw0KICAgICAgICAgICAgICAg ICAgIF4NClsxNTAxLzE1MjNdIEdlbmVyYXRpbmcgaWdiX3VpbyB3aXRoIGEgY3VzdG9tIGNvbW1h bmQuDQptYWtlOiBFbnRlcmluZyBkaXJlY3RvcnkgYC91c3Ivc3JjL2tlcm5lbHMvMy4xMC4wLTg2 Mi5lbDcueDg2XzY0Jw0KICBDQyBbTV0gIC9hdXRvL210aXN3Z3dvcmsveXNrb2gvZ2l0L21lbGxh bm94L2RwZGsub3JnLTIvYnVpbGQva2VybmVsL2xpbnV4L2lnYl91aW8vaWdiX3Vpby5vDQogIEJ1 aWxkaW5nIG1vZHVsZXMsIHN0YWdlIDIuDQogIE1PRFBPU1QgMSBtb2R1bGVzDQptYWtlWzFdOiBX YXJuaW5nOiBGaWxlIGAvYXV0by9tdGlzd2d3b3JrL3lza29oL2dpdC9tZWxsYW5veC9kcGRrLm9y Zy0yL2J1aWxkL2tlcm5lbC9saW51eC9pZ2JfdWlvL2lnYl91aW8ubW9kLmMnIGhhcyBtb2RpZmlj YXRpb24gdGltZSAwLjAwOTYgcyBpbiB0aGUgZnV0dXJlDQogIENDICAgICAgL2F1dG8vbXRpc3dn d29yay95c2tvaC9naXQvbWVsbGFub3gvZHBkay5vcmctMi9idWlsZC9rZXJuZWwvbGludXgvaWdi X3Vpby9pZ2JfdWlvLm1vZC5vDQogIExEIFtNXSAgL2F1dG8vbXRpc3dnd29yay95c2tvaC9naXQv bWVsbGFub3gvZHBkay5vcmctMi9idWlsZC9rZXJuZWwvbGludXgvaWdiX3Vpby9pZ2JfdWlvLmtv DQptYWtlWzFdOiB3YXJuaW5nOiAgQ2xvY2sgc2tldyBkZXRlY3RlZC4gIFlvdXIgYnVpbGQgbWF5 IGJlIGluY29tcGxldGUuDQptYWtlOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Vzci9zcmMva2VybmVs cy8zLjEwLjAtODYyLmVsNy54ODZfNjQnDQoNCg0KVGhhbmtzLA0KWW9uZ3Nlb2sNCg0KPiBPbiBB cHIgMiwgMjAxOSwgYXQgNToyMiBBTSwgQ2VsLCBUb21hc3pYIDx0b21hc3p4LmNlbEBpbnRlbC5j b20+IHdyb3RlOg0KPiANCj4gSGkgVG9tYXN6LA0KPiANCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+PiBGcm9tOiBDZWwsIFRvbWFzelgNCj4+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDIs IDIwMTkgMToxNyBQTQ0KPj4gVG86IGRldkBkcGRrLm9yZzsgVHJhaGUsIEZpb25hIDxmaW9uYS50 cmFoZUBpbnRlbC5jb20+OyBKb3p3aWFrLCBUb21hc3pYDQo+PiA8dG9tYXN6eC5qb3p3aWFrQGlu dGVsLmNvbT47IENlbCwgVG9tYXN6WCA8dG9tYXN6eC5jZWxAaW50ZWwuY29tPg0KPj4gU3ViamVj dDogW1BBVENIIHYyIDEvMV0gdGVzdC9jb21wcmVzczogYWRkIG1heCBtYnVmIHNpemUgdGVzdCBj YXNlDQo+PiANCj4+IEZyb206IFRvbWFzeiBKb3p3aWFrIDx0b21hc3p4LmpvendpYWtAaW50ZWwu Y29tPg0KPj4gDQo+PiBUaGlzIHBhdGNoIGFkZHMgbmV3IHRlc3QgY2FzZSBpbiB3aGljaCBtYXgu IHNpemUgb2YgY2hhaW4gbWJ1ZnMgaGFzIGJlZW4NCj4+IHVzZWQgdG8gY29tcHJlc3MgcmFuZG9t IGRhdGEgZHluYW1pY2FsbHkuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IFRvbWFzeiBKb3p3aWFr IDx0b21hc3p4LmpvendpYWtAaW50ZWwuY29tPg0KPj4gLS0tDQo+PiBhcHAvdGVzdC90ZXN0X2Nv bXByZXNzZGV2LmMgfCAxNTgNCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tDQo+PiAxIGZpbGUgY2hhbmdlZCwgMTM2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0 aW9ucygtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5j IGIvYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jDQo+PiBpbmRleCAxM2NmMjZjLi5mNTliM2Qy IDEwMDY0NA0KPj4gLS0tIGEvYXBwL3Rlc3QvdGVzdF9jb21wcmVzc2Rldi5jDQo+PiArKysgYi9h cHAvdGVzdC90ZXN0X2NvbXByZXNzZGV2LmMNCj4+IEBAIC0xLDEwICsxLDEwIEBADQo+PiAvKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+PiAtICogQ29weXJpZ2h0KGMp IDIwMTggSW50ZWwgQ29ycG9yYXRpb24NCj4+ICsgKiBDb3B5cmlnaHQoYykgMjAxOCAtIDIwMTkg SW50ZWwgQ29ycG9yYXRpb24NCj4+ICAqLw0KPj4gI2luY2x1ZGUgPHN0cmluZy5oPg0KPj4gI2lu Y2x1ZGUgPHpsaWIuaD4NCj4+ICNpbmNsdWRlIDxtYXRoLmg+DQo+PiAtI2luY2x1ZGUgPHVuaXN0 ZC5oPg0KPj4gKyNpbmNsdWRlIDxzdGRsaWIuaD4NCj4+IA0KPj4gI2luY2x1ZGUgPHJ0ZV9jeWNs ZXMuaD4NCj4+ICNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+PiBAQCAtNDUsNiArNDUsMTEgQEAN Cj4+IA0KPj4gI2RlZmluZSBPVVRfT0ZfU1BBQ0VfQlVGIDENCj4+IA0KPj4gKyNkZWZpbmUgTUFY X01CVUZfU0VHTUVOVF9TSVpFIDY1NTM1DQo+PiArI2RlZmluZSBNQVhfREFUQV9NQlVGX1NJWkUg KE1BWF9NQlVGX1NFR01FTlRfU0laRSAtDQo+PiArUlRFX1BLVE1CVUZfSEVBRFJPT00pICNkZWZp bmUgTlVNX0JJR19NQlVGUyA0ICNkZWZpbmUNCj4+ICtCSUdfREFUQV9URVNUX1NJWkUgKE1BWF9E QVRBX01CVUZfU0laRSAqIE5VTV9CSUdfTUJVRlMgLyAyKQ0KPj4gKw0KPj4gY29uc3QgY2hhciAq DQo+PiBodWZmbWFuX3R5cGVfc3RyaW5nc1tdID0gew0KPj4gCVtSVEVfQ09NUF9IVUZGTUFOX0RF RkFVTFRdCT0gIlBNRCBkZWZhdWx0IiwNCj4+IEBAIC03Myw2ICs3OCw3IEBAIHN0cnVjdCBwcml2 X29wX2RhdGEgew0KPj4gc3RydWN0IGNvbXBfdGVzdHN1aXRlX3BhcmFtcyB7DQo+PiAJc3RydWN0 IHJ0ZV9tZW1wb29sICpsYXJnZV9tYnVmX3Bvb2w7DQo+PiAJc3RydWN0IHJ0ZV9tZW1wb29sICpz bWFsbF9tYnVmX3Bvb2w7DQo+PiArCXN0cnVjdCBydGVfbWVtcG9vbCAqYmlnX21idWZfcG9vbDsN Cj4+IAlzdHJ1Y3QgcnRlX21lbXBvb2wgKm9wX3Bvb2w7DQo+PiAJc3RydWN0IHJ0ZV9jb21wX3hm b3JtICpkZWZfY29tcF94Zm9ybTsNCj4+IAlzdHJ1Y3QgcnRlX2NvbXBfeGZvcm0gKmRlZl9kZWNv bXBfeGZvcm07IEBAIC05Miw2ICs5OCw3IEBADQo+PiBzdHJ1Y3QgdGVzdF9kYXRhX3BhcmFtcyB7 DQo+PiAJZW51bSB2YXJpZWRfYnVmZiBidWZmX3R5cGU7DQo+PiAJZW51bSB6bGliX2RpcmVjdGlv biB6bGliX2RpcjsNCj4+IAl1bnNpZ25lZCBpbnQgb3V0X29mX3NwYWNlOw0KPj4gKwl1bnNpZ25l ZCBpbnQgYmlnX2RhdGE7DQo+PiB9Ow0KPj4gDQo+PiBzdGF0aWMgc3RydWN0IGNvbXBfdGVzdHN1 aXRlX3BhcmFtcyB0ZXN0c3VpdGVfcGFyYW1zID0geyAwIH07IEBAIC0xMDUsMTENCj4+ICsxMTIs MTQgQEAgdGVzdHN1aXRlX3RlYXJkb3duKHZvaWQpDQo+PiAJCVJURV9MT0coRVJSLCBVU0VSMSwg IkxhcmdlIG1idWYgcG9vbCBzdGlsbCBoYXMgdW5mcmVlZA0KPj4gYnVmc1xuIik7DQo+PiAJaWYg KHJ0ZV9tZW1wb29sX2luX3VzZV9jb3VudCh0c19wYXJhbXMtPnNtYWxsX21idWZfcG9vbCkpDQo+ PiAJCVJURV9MT0coRVJSLCBVU0VSMSwgIlNtYWxsIG1idWYgcG9vbCBzdGlsbCBoYXMgdW5mcmVl ZA0KPj4gYnVmc1xuIik7DQo+PiArCWlmIChydGVfbWVtcG9vbF9pbl91c2VfY291bnQodHNfcGFy YW1zLT5iaWdfbWJ1Zl9wb29sKSkNCj4+ICsJCVJURV9MT0coRVJSLCBVU0VSMSwgIkJpZyBtYnVm IHBvb2wgc3RpbGwgaGFzIHVuZnJlZWQNCj4+IGJ1ZnNcbiIpOw0KPj4gCWlmIChydGVfbWVtcG9v bF9pbl91c2VfY291bnQodHNfcGFyYW1zLT5vcF9wb29sKSkNCj4+IAkJUlRFX0xPRyhFUlIsIFVT RVIxLCAib3AgcG9vbCBzdGlsbCBoYXMgdW5mcmVlZCBvcHNcbiIpOw0KPj4gDQo+PiAJcnRlX21l bXBvb2xfZnJlZSh0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbCk7DQo+PiAJcnRlX21lbXBvb2xf ZnJlZSh0c19wYXJhbXMtPnNtYWxsX21idWZfcG9vbCk7DQo+PiArCXJ0ZV9tZW1wb29sX2ZyZWUo dHNfcGFyYW1zLT5iaWdfbWJ1Zl9wb29sKTsNCj4+IAlydGVfbWVtcG9vbF9mcmVlKHRzX3BhcmFt cy0+b3BfcG9vbCk7DQo+PiAJcnRlX2ZyZWUodHNfcGFyYW1zLT5kZWZfY29tcF94Zm9ybSk7DQo+ PiAJcnRlX2ZyZWUodHNfcGFyYW1zLT5kZWZfZGVjb21wX3hmb3JtKTsNCj4+IEBAIC0xNjIsNiAr MTcyLDE3IEBAIHRlc3RzdWl0ZV9zZXR1cCh2b2lkKQ0KPj4gCQlnb3RvIGV4aXQ7DQo+PiAJfQ0K Pj4gDQo+PiArCS8qIENyZWF0ZSBtZW1wb29sIHdpdGggYmlnIGJ1ZmZlcnMgZm9yIFNHTCB0ZXN0 aW5nICovDQo+PiArCXRzX3BhcmFtcy0+YmlnX21idWZfcG9vbCA9DQo+PiBydGVfcGt0bWJ1Zl9w b29sX2NyZWF0ZSgiYmlnX21idWZfcG9vbCIsDQo+PiArCQkJTlVNX0JJR19NQlVGUyArIDEsDQo+ PiArCQkJQ0FDSEVfU0laRSwgMCwNCj4+ICsJCQlNQVhfTUJVRl9TRUdNRU5UX1NJWkUsDQo+PiAr CQkJcnRlX3NvY2tldF9pZCgpKTsNCj4+ICsJaWYgKHRzX3BhcmFtcy0+YmlnX21idWZfcG9vbCA9 PSBOVUxMKSB7DQo+PiArCQlSVEVfTE9HKEVSUiwgVVNFUjEsICJCaWcgbWJ1ZiBwb29sIGNvdWxk IG5vdCBiZQ0KPj4gY3JlYXRlZFxuIik7DQo+PiArCQlnb3RvIGV4aXQ7DQo+PiArCX0NCj4+ICsN Cj4+IAl0c19wYXJhbXMtPm9wX3Bvb2wgPSBydGVfY29tcF9vcF9wb29sX2NyZWF0ZSgib3BfcG9v bCIsDQo+PiBOVU1fT1BTLA0KPj4gCQkJCTAsIHNpemVvZihzdHJ1Y3QgcHJpdl9vcF9kYXRhKSwN Cj4+IAkJCQlydGVfc29ja2V0X2lkKCkpOw0KPj4gQEAgLTU5OCwxMCArNjE5LDExIEBAIHByZXBh cmVfc2dsX2J1ZnMoY29uc3QgY2hhciAqdGVzdF9idWYsIHN0cnVjdA0KPj4gcnRlX21idWYgKmhl YWRfYnVmLA0KPj4gCQl1aW50MzJfdCB0b3RhbF9kYXRhX3NpemUsDQo+PiAJCXN0cnVjdCBydGVf bWVtcG9vbCAqc21hbGxfbWJ1Zl9wb29sLA0KPj4gCQlzdHJ1Y3QgcnRlX21lbXBvb2wgKmxhcmdl X21idWZfcG9vbCwNCj4+IC0JCXVpbnQ4X3QgbGltaXRfc2Vnc19pbl9zZ2wpDQo+PiArCQl1aW50 OF90IGxpbWl0X3NlZ3NfaW5fc2dsLA0KPj4gKwkJdWludDE2X3Qgc2VnX3NpemUpDQo+PiB7DQo+ PiAJdWludDMyX3QgcmVtYWluaW5nX2RhdGEgPSB0b3RhbF9kYXRhX3NpemU7DQo+PiAtCXVpbnQx Nl90IG51bV9yZW1haW5pbmdfc2VncyA9IERJVl9DRUlMKHJlbWFpbmluZ19kYXRhLA0KPj4gU01B TExfU0VHX1NJWkUpOw0KPj4gKwl1aW50MTZfdCBudW1fcmVtYWluaW5nX3NlZ3MgPSBESVZfQ0VJ TChyZW1haW5pbmdfZGF0YSwNCj4+IHNlZ19zaXplKTsNCj4+IAlzdHJ1Y3QgcnRlX21lbXBvb2wg KnBvb2w7DQo+PiAJc3RydWN0IHJ0ZV9tYnVmICpuZXh0X3NlZzsNCj4+IAl1aW50MzJfdCBkYXRh X3NpemU7DQo+PiBAQCAtNjE3LDEwICs2MzksMTAgQEAgcHJlcGFyZV9zZ2xfYnVmcyhjb25zdCBj aGFyICp0ZXN0X2J1Ziwgc3RydWN0DQo+PiBydGVfbWJ1ZiAqaGVhZF9idWYsDQo+PiAJICogQWxs b2NhdGUgZGF0YSBpbiB0aGUgZmlyc3Qgc2VnbWVudCAoaGVhZGVyKSBhbmQNCj4+IAkgKiBjb3B5 IGRhdGEgaWYgdGVzdCBidWZmZXIgaXMgcHJvdmlkZWQNCj4+IAkgKi8NCj4+IC0JaWYgKHJlbWFp bmluZ19kYXRhIDwgU01BTExfU0VHX1NJWkUpDQo+PiArCWlmIChyZW1haW5pbmdfZGF0YSA8IHNl Z19zaXplKQ0KPj4gCQlkYXRhX3NpemUgPSByZW1haW5pbmdfZGF0YTsNCj4+IAllbHNlDQo+PiAt CQlkYXRhX3NpemUgPSBTTUFMTF9TRUdfU0laRTsNCj4+ICsJCWRhdGFfc2l6ZSA9IHNlZ19zaXpl Ow0KPj4gCWJ1Zl9wdHIgPSBydGVfcGt0bWJ1Zl9hcHBlbmQoaGVhZF9idWYsIGRhdGFfc2l6ZSk7 DQo+PiAJaWYgKGJ1Zl9wdHIgPT0gTlVMTCkgew0KPj4gCQlSVEVfTE9HKEVSUiwgVVNFUjEsDQo+ PiBAQCAtNjQ0LDEzICs2NjYsMTMgQEAgcHJlcGFyZV9zZ2xfYnVmcyhjb25zdCBjaGFyICp0ZXN0 X2J1Ziwgc3RydWN0DQo+PiBydGVfbWJ1ZiAqaGVhZF9idWYsDQo+PiANCj4+IAkJaWYgKGkgPT0g KG51bV9yZW1haW5pbmdfc2VncyAtIDEpKSB7DQo+PiAJCQkvKiBsYXN0IHNlZ21lbnQgKi8NCj4+ IC0JCQlpZiAocmVtYWluaW5nX2RhdGEgPiBTTUFMTF9TRUdfU0laRSkNCj4+ICsJCQlpZiAocmVt YWluaW5nX2RhdGEgPiBzZWdfc2l6ZSkNCj4+IAkJCQlwb29sID0gbGFyZ2VfbWJ1Zl9wb29sOw0K Pj4gCQkJZWxzZQ0KPj4gCQkJCXBvb2wgPSBzbWFsbF9tYnVmX3Bvb2w7DQo+PiAJCQlkYXRhX3Np emUgPSByZW1haW5pbmdfZGF0YTsNCj4+IAkJfSBlbHNlIHsNCj4+IC0JCQlkYXRhX3NpemUgPSBT TUFMTF9TRUdfU0laRTsNCj4+ICsJCQlkYXRhX3NpemUgPSBzZWdfc2l6ZTsNCj4+IAkJCXBvb2wg PSBzbWFsbF9tYnVmX3Bvb2w7DQo+PiAJCX0NCj4+IA0KPj4gQEAgLTcwNCw2ICs3MjYsNyBAQCB0 ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3RydWN0DQo+PiBpbnRlcmltX2RhdGFfcGFy YW1zICppbnRfZGF0YSwNCj4+IAllbnVtIHJ0ZV9jb21wX29wX3R5cGUgc3RhdGUgPSB0ZXN0X2Rh dGEtPnN0YXRlOw0KPj4gCXVuc2lnbmVkIGludCBidWZmX3R5cGUgPSB0ZXN0X2RhdGEtPmJ1ZmZf dHlwZTsNCj4+IAl1bnNpZ25lZCBpbnQgb3V0X29mX3NwYWNlID0gdGVzdF9kYXRhLT5vdXRfb2Zf c3BhY2U7DQo+PiArCXVuc2lnbmVkIGludCBiaWdfZGF0YSA9IHRlc3RfZGF0YS0+YmlnX2RhdGE7 DQo+PiAJZW51bSB6bGliX2RpcmVjdGlvbiB6bGliX2RpciA9IHRlc3RfZGF0YS0+emxpYl9kaXI7 DQo+PiAJaW50IHJldF9zdGF0dXMgPSAtMTsNCj4+IAlpbnQgcmV0Ow0KPj4gQEAgLTczOCw3ICs3 NjEsOSBAQCB0ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3RydWN0DQo+PiBpbnRlcmlt X2RhdGFfcGFyYW1zICppbnRfZGF0YSwNCj4+IAltZW1zZXQob3BzX3Byb2Nlc3NlZCwgMCwgc2l6 ZW9mKHN0cnVjdCBydGVfY29tcF9vcCAqKSAqDQo+PiBudW1fYnVmcyk7DQo+PiAJbWVtc2V0KHBy aXZfeGZvcm1zLCAwLCBzaXplb2Yodm9pZCAqKSAqIG51bV9idWZzKTsNCj4+IA0KPj4gLQlpZiAo YnVmZl90eXBlID09IFNHTF9CT1RIKQ0KPj4gKwlpZiAoYmlnX2RhdGEpDQo+PiArCQlidWZfcG9v bCA9IHRzX3BhcmFtcy0+YmlnX21idWZfcG9vbDsNCj4+ICsJZWxzZSBpZiAoYnVmZl90eXBlID09 IFNHTF9CT1RIKQ0KPj4gCQlidWZfcG9vbCA9IHRzX3BhcmFtcy0+c21hbGxfbWJ1Zl9wb29sOw0K Pj4gCWVsc2UNCj4+IAkJYnVmX3Bvb2wgPSB0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbDsgQEAg LTc1NywxMA0KPj4gKzc4MiwxMSBAQCB0ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3Ry dWN0IGludGVyaW1fZGF0YV9wYXJhbXMNCj4+ICppbnRfZGF0YSwNCj4+IAkJZm9yIChpID0gMDsg aSA8IG51bV9idWZzOyBpKyspIHsNCj4+IAkJCWRhdGFfc2l6ZSA9IHN0cmxlbih0ZXN0X2J1ZnNb aV0pICsgMTsNCj4+IAkJCWlmIChwcmVwYXJlX3NnbF9idWZzKHRlc3RfYnVmc1tpXSwgdW5jb21w X2J1ZnNbaV0sDQo+PiAtCQkJCQlkYXRhX3NpemUsDQo+PiAtCQkJCQl0c19wYXJhbXMtPnNtYWxs X21idWZfcG9vbCwNCj4+IC0JCQkJCXRzX3BhcmFtcy0+bGFyZ2VfbWJ1Zl9wb29sLA0KPj4gLQkJ CQkJTUFYX1NFR1MpIDwgMCkNCj4+ICsJCQkgICAgZGF0YV9zaXplLA0KPj4gKwkJCSAgICBiaWdf ZGF0YSA/IGJ1Zl9wb29sIDogdHNfcGFyYW1zLQ0KPj4+IHNtYWxsX21idWZfcG9vbCwNCj4+ICsJ CQkgICAgYmlnX2RhdGEgPyBidWZfcG9vbCA6IHRzX3BhcmFtcy0NCj4+PiBsYXJnZV9tYnVmX3Bv b2wsDQo+PiArCQkJICAgIGJpZ19kYXRhID8gMCA6IE1BWF9TRUdTLA0KPj4gKwkJCSAgICBiaWdf ZGF0YSA/IE1BWF9EQVRBX01CVUZfU0laRSA6DQo+PiBTTUFMTF9TRUdfU0laRSkgPCAwKQ0KPj4g CQkJCWdvdG8gZXhpdDsNCj4+IAkJfQ0KPj4gCX0gZWxzZSB7DQo+PiBAQCAtNzg5LDEwICs4MTUs MTIgQEAgdGVzdF9kZWZsYXRlX2NvbXBfZGVjb21wKGNvbnN0IHN0cnVjdA0KPj4gaW50ZXJpbV9k YXRhX3BhcmFtcyAqaW50X2RhdGEsDQo+PiAJCQkJCUNPTVBSRVNTX0JVRl9TSVpFX1JBVElPKTsN Cj4+IA0KPj4gCQkJaWYgKHByZXBhcmVfc2dsX2J1ZnMoTlVMTCwgY29tcF9idWZzW2ldLA0KPj4g LQkJCQkJZGF0YV9zaXplLA0KPj4gLQkJCQkJdHNfcGFyYW1zLT5zbWFsbF9tYnVmX3Bvb2wsDQo+ PiAtCQkJCQl0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbCwNCj4+IC0JCQkJCU1BWF9TRUdTKSA8 IDApDQo+PiArCQkJICAgICAgZGF0YV9zaXplLA0KPj4gKwkJCSAgICAgIGJpZ19kYXRhID8gYnVm X3Bvb2wgOiB0c19wYXJhbXMtDQo+Pj4gc21hbGxfbWJ1Zl9wb29sLA0KPj4gKwkJCSAgICAgIGJp Z19kYXRhID8gYnVmX3Bvb2wgOiB0c19wYXJhbXMtDQo+Pj4gbGFyZ2VfbWJ1Zl9wb29sLA0KPj4g KwkJCSAgICAgIGJpZ19kYXRhID8gMCA6IE1BWF9TRUdTLA0KPj4gKwkJCSAgICAgIGJpZ19kYXRh ID8gTUFYX0RBVEFfTUJVRl9TSVpFIDoNCj4+IFNNQUxMX1NFR19TSVpFKQ0KPj4gKwkJCQkJPCAw KQ0KPj4gCQkJCWdvdG8gZXhpdDsNCj4+IAkJfQ0KPj4gDQo+PiBAQCAtMTAxNywxMCArMTA0NSwx MiBAQCB0ZXN0X2RlZmxhdGVfY29tcF9kZWNvbXAoY29uc3Qgc3RydWN0DQo+PiBpbnRlcmltX2Rh dGFfcGFyYW1zICppbnRfZGF0YSwNCj4+IAkJCQlzdHJsZW4odGVzdF9idWZzW3ByaXZfZGF0YS0+ b3JpZ19pZHhdKSArIDE7DQo+PiANCj4+IAkJCWlmIChwcmVwYXJlX3NnbF9idWZzKE5VTEwsIHVu Y29tcF9idWZzW2ldLA0KPj4gLQkJCQkJZGF0YV9zaXplLA0KPj4gLQkJCQkJdHNfcGFyYW1zLT5z bWFsbF9tYnVmX3Bvb2wsDQo+PiAtCQkJCQl0c19wYXJhbXMtPmxhcmdlX21idWZfcG9vbCwNCj4+ IC0JCQkJCU1BWF9TRUdTKSA8IDApDQo+PiArCQkJICAgICAgIGRhdGFfc2l6ZSwNCj4+ICsJCQkg ICAgICAgYmlnX2RhdGEgPyBidWZfcG9vbCA6IHRzX3BhcmFtcy0NCj4+PiBzbWFsbF9tYnVmX3Bv b2wsDQo+PiArCQkJICAgICAgIGJpZ19kYXRhID8gYnVmX3Bvb2wgOiB0c19wYXJhbXMtDQo+Pj4g bGFyZ2VfbWJ1Zl9wb29sLA0KPj4gKwkJCSAgICAgICBiaWdfZGF0YSA/IDAgOiBNQVhfU0VHUywN Cj4+ICsJCQkgICAgICAgYmlnX2RhdGEgPyBNQVhfREFUQV9NQlVGX1NJWkUgOg0KPj4gU01BTExf U0VHX1NJWkUpDQo+PiArCQkJCQk8IDApDQo+PiAJCQkJZ290byBleGl0Ow0KPj4gCQl9DQo+PiAN Cj4+IEBAIC0xMzIwLDYgKzEzNTAsNyBAQCB0ZXN0X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVs ZXNzX2ZpeGVkKHZvaWQpDQo+PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJTEJfQk9U SCwNCj4+IAkJWkxJQl9ERUNPTVBSRVNTLA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07DQo+PiAN Cj4+IEBAIC0xMzkwLDYgKzE0MjEsNyBAQA0KPj4gdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0 YXRlbGVzc19keW5hbWljKHZvaWQpDQo+PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJ TEJfQk9USCwNCj4+IAkJWkxJQl9ERUNPTVBSRVNTLA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07 DQo+PiANCj4+IEBAIC0xNDQzLDYgKzE0NzUsNyBAQA0KPj4gdGVzdF9jb21wcmVzc2Rldl9kZWZs YXRlX3N0YXRlbGVzc19tdWx0aV9vcCh2b2lkKQ0KPj4gCQlSVEVfQ09NUF9PUF9TVEFURUxFU1Ms DQo+PiAJCUxCX0JPVEgsDQo+PiAJCVpMSUJfREVDT01QUkVTUywNCj4+ICsJCTAsDQo+PiAJCTAN Cj4+IAl9Ow0KPj4gDQo+PiBAQCAtMTQ5Miw2ICsxNTI1LDcgQEANCj4+IHRlc3RfY29tcHJlc3Nk ZXZfZGVmbGF0ZV9zdGF0ZWxlc3NfbXVsdGlfbGV2ZWwodm9pZCkNCj4+IAkJUlRFX0NPTVBfT1Bf U1RBVEVMRVNTLA0KPj4gCQlMQl9CT1RILA0KPj4gCQlaTElCX0RFQ09NUFJFU1MsDQo+PiArCQkw LA0KPj4gCQkwDQo+PiAJfTsNCj4+IA0KPj4gQEAgLTE1ODEsNiArMTYxNSw3IEBADQo+PiB0ZXN0 X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX211bHRpX3hmb3JtKHZvaWQpDQo+PiAJCVJU RV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJTEJfQk9USCwNCj4+IAkJWkxJQl9ERUNPTVBSRVNT LA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07DQo+PiANCj4+IEBAIC0xNjI2LDYgKzE2NjEsNyBA QCB0ZXN0X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX3NnbCh2b2lkKQ0KPj4gCQlSVEVf Q09NUF9PUF9TVEFURUxFU1MsDQo+PiAJCVNHTF9CT1RILA0KPj4gCQlaTElCX0RFQ09NUFJFU1Ms DQo+PiArCQkwLA0KPj4gCQkwDQo+PiAJfTsNCj4+IA0KPj4gQEAgLTE3MzMsNiArMTc2OSw3IEBA DQo+PiB0ZXN0X2NvbXByZXNzZGV2X2RlZmxhdGVfc3RhdGVsZXNzX2NoZWNrc3VtKHZvaWQpDQo+ PiAJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+IAkJTEJfQk9USCwNCj4+IAkJWkxJQl9ERUNP TVBSRVNTLA0KPj4gKwkJMCwNCj4+IAkJMA0KPj4gCX07DQo+PiANCj4+IEBAIC0xODYzLDcgKzE5 MDAsOCBAQCB0ZXN0X2NvbXByZXNzZGV2X291dF9vZl9zcGFjZV9idWZmZXIodm9pZCkNCj4+IAkJ UlRFX0NPTVBfT1BfU1RBVEVMRVNTLA0KPj4gCQlMQl9CT1RILA0KPj4gCQlaTElCX0RFQ09NUFJF U1MsDQo+PiAtCQkxDQo+PiArCQkxLA0KPj4gKwkJMA0KPj4gCX07DQo+PiAJLyogQ29tcHJlc3Mg d2l0aCBjb21wcmVzc2RldiwgZGVjb21wcmVzcyB3aXRoIFpsaWIgKi8NCj4+IAl0ZXN0X2RhdGEu emxpYl9kaXIgPSBaTElCX0RFQ09NUFJFU1M7DQo+PiBAQCAtMTkwNCw2ICsxOTQyLDgwIEBAIHRl c3RfY29tcHJlc3NkZXZfb3V0X29mX3NwYWNlX2J1ZmZlcih2b2lkKQ0KPj4gCXJldHVybiByZXQ7 DQo+PiB9DQo+PiANCj4+ICtzdGF0aWMgaW50DQo+PiArdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRl X3N0YXRlbGVzc19keW5hbWljX2JpZyh2b2lkKQ0KPj4gK3sNCj4+ICsJc3RydWN0IGNvbXBfdGVz dHN1aXRlX3BhcmFtcyAqdHNfcGFyYW1zID0gJnRlc3RzdWl0ZV9wYXJhbXM7DQo+PiArCXVpbnQx Nl90IGkgPSAwOw0KPj4gKwlpbnQgcmV0ID0gVEVTVF9TVUNDRVNTOw0KPj4gKwljb25zdCBzdHJ1 Y3QgcnRlX2NvbXByZXNzZGV2X2NhcGFiaWxpdGllcyAqY2FwYWI7DQo+PiArCWNoYXIgKnRlc3Rf YnVmZmVyID0gTlVMTDsNCj4+ICsNCj4+ICsJY2FwYWIgPSBydGVfY29tcHJlc3NkZXZfY2FwYWJp bGl0eV9nZXQoMCwNCj4+IFJURV9DT01QX0FMR09fREVGTEFURSk7DQo+PiArCVRFU1RfQVNTRVJU KGNhcGFiICE9IE5VTEwsICJGYWlsZWQgdG8gcmV0cmlldmUgZGV2aWNlIGNhcGFiaWxpdGllcyIp Ow0KPj4gKw0KPj4gKwlpZiAoKGNhcGFiLT5jb21wX2ZlYXR1cmVfZmxhZ3MgJg0KPj4gUlRFX0NP TVBfRkZfSFVGRk1BTl9EWU5BTUlDKSA9PSAwKQ0KPj4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPj4g Kw0KPj4gKwlpZiAoKGNhcGFiLT5jb21wX2ZlYXR1cmVfZmxhZ3MgJg0KPj4gUlRFX0NPTVBfRkZf T09QX1NHTF9JTl9TR0xfT1VUKSA9PSAwKQ0KPj4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPj4gKw0K Pj4gKwl0ZXN0X2J1ZmZlciA9IHJ0ZV9tYWxsb2MoTlVMTCwgQklHX0RBVEFfVEVTVF9TSVpFLCAw KTsNCj4+ICsJaWYgKHRlc3RfYnVmZmVyID09IE5VTEwpIHsNCj4+ICsJCVJURV9MT0coRVJSLCBV U0VSMSwNCj4+ICsJCQkiQ2FuJ3QgYWxsb2NhdGUgYnVmZmVyIGZvciBiaWctZGF0YVxuIik7DQo+ PiArCQlyZXR1cm4gVEVTVF9GQUlMRUQ7DQo+PiArCX0NCj4+ICsNCj4+ICsJc3RydWN0IGludGVy aW1fZGF0YV9wYXJhbXMgaW50X2RhdGEgPSB7DQo+PiArCQkoY29uc3QgY2hhciAqIGNvbnN0ICop JnRlc3RfYnVmZmVyLA0KPj4gKwkJMSwNCj4+ICsJCU5VTEwsDQo+PiArCQkmdHNfcGFyYW1zLT5k ZWZfY29tcF94Zm9ybSwNCj4+ICsJCSZ0c19wYXJhbXMtPmRlZl9kZWNvbXBfeGZvcm0sDQo+PiAr CQkxDQo+PiArCX07DQo+PiArDQo+PiArCXN0cnVjdCB0ZXN0X2RhdGFfcGFyYW1zIHRlc3RfZGF0 YSA9IHsNCj4+ICsJCVJURV9DT01QX09QX1NUQVRFTEVTUywNCj4+ICsJCVNHTF9CT1RILA0KPj4g KwkJWkxJQl9ERUNPTVBSRVNTLA0KPj4gKwkJMCwNCj4+ICsJCTENCj4+ICsJfTsNCj4+ICsNCj4+ ICsJdHNfcGFyYW1zLT5kZWZfY29tcF94Zm9ybS0+Y29tcHJlc3MuZGVmbGF0ZS5odWZmbWFuID0N Cj4+ICsNCj4+IAlSVEVfQ09NUF9IVUZGTUFOX0RZTkFNSUM7DQo+PiArDQo+PiArCS8qIGZpbGwg dGhlIGJ1ZmZlciB3aXRoIGRhdGEgYmFzZWQgb24gcmFuZC4gZGF0YSAqLw0KPj4gKwlzcmFuZChC SUdfREFUQV9URVNUX1NJWkUpOw0KPj4gKwlmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgQklHX0RB VEFfVEVTVF9TSVpFIC0gMTsgKytpKQ0KPj4gKwkJdGVzdF9idWZmZXJbaV0gPSAodWludDhfdCko cmFuZCgpICUgKCh1aW50OF90KS0xKSkgfCAxOw0KPj4gKw0KPj4gKwl0ZXN0X2J1ZmZlcltCSUdf REFUQV9URVNUX1NJWkUtMV0gPSAwOw0KPj4gKwlpbnRfZGF0YS5idWZfaWR4ID0gJmk7DQo+PiAr DQo+PiArCS8qIENvbXByZXNzIHdpdGggY29tcHJlc3NkZXYsIGRlY29tcHJlc3Mgd2l0aCBabGli ICovDQo+PiArCXRlc3RfZGF0YS56bGliX2RpciA9IFpMSUJfREVDT01QUkVTUzsNCj4+ICsJaWYg KHRlc3RfZGVmbGF0ZV9jb21wX2RlY29tcCgmaW50X2RhdGEsICZ0ZXN0X2RhdGEpIDwgMCkgew0K Pj4gKwkJcmV0ID0gVEVTVF9GQUlMRUQ7DQo+PiArCQlnb3RvIGVuZDsNCj4+ICsJfQ0KPj4gKw0K Pj4gKwkvKiBDb21wcmVzcyB3aXRoIFpsaWIsIGRlY29tcHJlc3Mgd2l0aCBjb21wcmVzc2RldiAq Lw0KPj4gKwl0ZXN0X2RhdGEuemxpYl9kaXIgPSBaTElCX0NPTVBSRVNTOw0KPj4gKwlpZiAodGVz dF9kZWZsYXRlX2NvbXBfZGVjb21wKCZpbnRfZGF0YSwgJnRlc3RfZGF0YSkgPCAwKSB7DQo+PiAr CQlyZXQgPSBURVNUX0ZBSUxFRDsNCj4+ICsJCWdvdG8gZW5kOw0KPj4gKwl9DQo+PiArDQo+PiAr ZW5kOg0KPj4gKwl0c19wYXJhbXMtPmRlZl9jb21wX3hmb3JtLT5jb21wcmVzcy5kZWZsYXRlLmh1 ZmZtYW4gPQ0KPj4gKw0KPj4gCVJURV9DT01QX0hVRkZNQU5fREVGQVVMVDsNCj4+ICsJcnRlX2Zy ZWUodGVzdF9idWZmZXIpOw0KPj4gKwlyZXR1cm4gcmV0Ow0KPj4gK30NCj4+ICsNCj4+IA0KPj4g c3RhdGljIHN0cnVjdCB1bml0X3Rlc3Rfc3VpdGUgY29tcHJlc3NkZXZfdGVzdHN1aXRlICA9IHsN Cj4+IAkuc3VpdGVfbmFtZSA9ICJjb21wcmVzc2RldiB1bml0IHRlc3Qgc3VpdGUiLCBAQCAtMTkx Nyw2ICsyMDI5LDgNCj4+IEBAIHN0YXRpYyBzdHJ1Y3QgdW5pdF90ZXN0X3N1aXRlIGNvbXByZXNz ZGV2X3Rlc3RzdWl0ZSAgPSB7DQo+PiAJCVRFU1RfQ0FTRV9TVChnZW5lcmljX3V0X3NldHVwLCBn ZW5lcmljX3V0X3RlYXJkb3duLA0KPj4gCQkJdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRl bGVzc19keW5hbWljKSwNCj4+IAkJVEVTVF9DQVNFX1NUKGdlbmVyaWNfdXRfc2V0dXAsIGdlbmVy aWNfdXRfdGVhcmRvd24sDQo+PiArCQkJdGVzdF9jb21wcmVzc2Rldl9kZWZsYXRlX3N0YXRlbGVz c19keW5hbWljX2JpZyksDQo+PiArCQlURVNUX0NBU0VfU1QoZ2VuZXJpY191dF9zZXR1cCwgZ2Vu ZXJpY191dF90ZWFyZG93biwNCj4+IAkJCXRlc3RfY29tcHJlc3NkZXZfZGVmbGF0ZV9zdGF0ZWxl c3NfbXVsdGlfb3ApLA0KPj4gCQlURVNUX0NBU0VfU1QoZ2VuZXJpY191dF9zZXR1cCwgZ2VuZXJp Y191dF90ZWFyZG93biwNCj4+IAkJCXRlc3RfY29tcHJlc3NkZXZfZGVmbGF0ZV9zdGF0ZWxlc3Nf bXVsdGlfbGV2ZWwpLA0KPj4gLS0NCj4+IDIuNy40DQo+IA0KPiBBY2tlZC1ieTogVG9tYXN6IENl bCA8dG9tYXN6eC5jZWxAaW50ZWwuY29tPg0KPiANCg0K