From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 562588999E for ; Mon, 6 Sep 2021 06:38:33 +0000 (UTC) From: "Modem, Bhanuprakash" Date: Mon, 6 Sep 2021 06:38:30 +0000 Message-ID: References: <20210903162743.29851-1-ville.syrjala@linux.intel.com> <20210903162743.29851-8-ville.syrjala@linux.intel.com> In-Reply-To: <20210903162743.29851-8-ville.syrjala@linux.intel.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v3 7/7] tests/kms_color: Add GAMMA_LUT_3D tests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Ville Syrjala , "igt-dev@lists.freedesktop.org" List-ID: PiBGcm9tOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4g U2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMywgMjAyMSA5OjU4IFBNDQo+IFRvOiBpZ3QtZGV2QGxp c3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBDYzogTW9kZW0sIEJoYW51cHJha2FzaCA8YmhhbnVwcmFr YXNoLm1vZGVtQGludGVsLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIGktZy10IHYzIDcvN10gdGVz dHMva21zX2NvbG9yOiBBZGQgR0FNTUFfTFVUXzNEIHRlc3RzDQo+IA0KPiBGcm9tOiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0KPiANCj4gQWRkIHNvbWUg YmFzaWMgdGVzdHMgZm9yIDNEIExVVHMuDQo+IA0KPiB2MjogQWRkIG1pc3NpbmcgaWd0X2Rlc2Ny aWJlKClzDQo+ICAgICBzL2RlZ2FtbWEvM0QgTFVULyBpbiBzb21lIGNvbW1lbnRzDQo+ICAgICBS dW4gdGhlIHRlc3QgZm9yIGEgc2luZ2xlIGNvbm5lY3RvciBvbmx5DQo+ICAgICBSdW4gdGhlIGlu dmFsaWQgTFVUIHNpemUgdGVzdCBmb3IgZWFjaCBwaXBlDQo+IA0KPiBDYzogQmhhbnVwcmFrYXNo IE1vZGVtIDxCaGFudXByYWthc2gubW9kZW1AaW50ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0KPiAtLS0NCj4g IHRlc3RzL2ttc19jb2xvci5jICAgICAgICB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysNCj4gIHRlc3RzL2ttc19jb2xvcl9oZWxwZXIuYyB8IDU4ICsrKysrKysr KysrKysrKysrKysrKysrLQ0KPiAgdGVzdHMva21zX2NvbG9yX2hlbHBlci5oIHwgMTggKysrKysr KysNCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN Cj4gDQo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29sb3IuYyBiL3Rlc3RzL2ttc19jb2xvci5j DQo+IGluZGV4IGQ3OGM3ZTIxMTUxMS4uMmUyNTBmZmU4YWU4IDEwMDY0NA0KPiAtLS0gYS90ZXN0 cy9rbXNfY29sb3IuYw0KPiArKysgYi90ZXN0cy9rbXNfY29sb3IuYw0KPiBAQCAtMTk4LDYgKzE5 OCw4OCBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BpcGVfZ2FtbWEoZGF0YV90ICpkYXRhLA0KPiAgCWZy ZWVfbHV0KGdhbW1hX2Z1bGwpOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyB2b2lkIHRlc3RfcGlwZV9n YW1tYV9sdXRfM2QoZGF0YV90ICpkYXRhLA0KPiArCQkJCSAgIGlndF9wbGFuZV90ICpwcmltYXJ5 KQ0KPiArew0KPiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Ow0KPiArCWlndF9kaXNwbGF5X3QgKmRp c3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsNCj4gKwlnYW1tYV9sdXRfdCAqZ2FtbWFfbHV0XzNkX2xp bmVhciwgKmdhbW1hX2x1dF8zZF9mdWxsOw0KPiArCWNvbG9yX3QgcmVkX2dyZWVuX2JsdWVbXSA9 IHsNCj4gKwkJeyAxLjAsIDAuMCwgMC4wIH0sDQo+ICsJCXsgMC4wLCAxLjAsIDAuMCB9LA0KPiAr CQl7IDAuMCwgMC4wLCAxLjAgfQ0KPiArCX07DQo+ICsJZHJtTW9kZU1vZGVJbmZvICptb2RlOw0K PiArCXN0cnVjdCBpZ3RfZmIgZmJfbW9kZXNldCwgZmI7DQo+ICsJaWd0X2NyY190IGNyY19mdWxs bHV0M2QsIGNyY19mdWxsY29sb3JzOw0KPiArCWludCBmYl9pZCwgZmJfbW9kZXNldF9pZDsNCj4g Kw0KPiArCWlndF9yZXF1aXJlKGlndF9waXBlX29ial9oYXNfcHJvcChwcmltYXJ5LT5waXBlLA0K PiBJR1RfQ1JUQ19HQU1NQV9MVVRfM0QpKTsNCj4gKw0KPiArCWdhbW1hX2x1dF8zZF9saW5lYXIg PSBnZW5lcmF0ZV9sdXRfM2QoZGF0YS0+Z2FtbWFfbHV0XzNkX3NpemUsIDEuMCk7DQo+ICsJZ2Ft bWFfbHV0XzNkX2Z1bGwgPSBnZW5lcmF0ZV9sdXRfM2RfbWF4KGRhdGEtPmdhbW1hX2x1dF8zZF9z aXplKTsNCj4gKw0KPiArCW91dHB1dCA9IGlndF9nZXRfc2luZ2xlX291dHB1dF9mb3JfcGlwZSgm ZGF0YS0+ZGlzcGxheSwgcHJpbWFyeS0+cGlwZS0NCj4gPnBpcGUpOw0KPiArCWlndF9yZXF1aXJl KG91dHB1dCk7DQo+ICsNCj4gKwlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgcHJpbWFyeS0+ cGlwZS0+cGlwZSk7DQo+ICsJbW9kZSA9IGlndF9vdXRwdXRfZ2V0X21vZGUob3V0cHV0KTsNCj4g Kw0KPiArCS8qIENyZWF0ZSBhIGZyYW1lYnVmZmVyIGF0IHRoZSBzaXplIG9mIHRoZSBvdXRwdXQu ICovDQo+ICsJZmJfaWQgPSBpZ3RfY3JlYXRlX2ZiKGRhdGEtPmRybV9mZCwNCj4gKwkJCSAgICAg IG1vZGUtPmhkaXNwbGF5LA0KPiArCQkJICAgICAgbW9kZS0+dmRpc3BsYXksDQo+ICsJCQkgICAg ICBEUk1fRk9STUFUX1hSR0I4ODg4LA0KPiArCQkJICAgICAgRFJNX0ZPUk1BVF9NT0RfTk9ORSwN Cj4gKwkJCSAgICAgICZmYik7DQo+ICsJaWd0X2Fzc2VydChmYl9pZCk7DQogDQpXZSBjYW4gZ2V0 IHJpZCBvZiB0aGVzZSB2YXJpYWJsZXM6DQppZ3RfYXNzZXJ0KGlndF9jcmVhdGVfZmIoKSk7DQoN Cj4gKw0KPiArCWZiX21vZGVzZXRfaWQgPSBpZ3RfY3JlYXRlX2ZiKGRhdGEtPmRybV9mZCwNCj4g KwkJCQkgICAgICBtb2RlLT5oZGlzcGxheSwNCj4gKwkJCQkgICAgICBtb2RlLT52ZGlzcGxheSwN Cj4gKwkJCQkgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LA0KPiArCQkJCSAgICAgIERSTV9GT1JN QVRfTU9EX05PTkUsDQo+ICsJCQkJICAgICAgJmZiX21vZGVzZXQpOw0KPiArCWlndF9hc3NlcnQo ZmJfbW9kZXNldF9pZCk7DQo+ICsNCj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZmYl9t b2Rlc2V0KTsNCj4gKwlkaXNhYmxlX2N0bShwcmltYXJ5LT5waXBlKTsNCj4gKwlkaXNhYmxlX2Rl Z2FtbWEocHJpbWFyeS0+cGlwZSk7DQo+ICsJZGlzYWJsZV9nYW1tYShwcmltYXJ5LT5waXBlKTsN Cj4gKwlzZXRfZ2FtbWFfbHV0XzNkKGRhdGEsIHByaW1hcnktPnBpcGUsIGdhbW1hX2x1dF8zZF9s aW5lYXIpOw0KPiArCWlndF9kaXNwbGF5X2NvbW1pdCgmZGF0YS0+ZGlzcGxheSk7DQo+ICsNCj4g KwkvKiBEcmF3IHNvbGlkIGNvbG9ycyB3aXRoIG5vIDNEIExVVCB0cmFuc2Zvcm1hdGlvbi4gKi8N Cj4gKwlwYWludF9yZWN0YW5nbGVzKGRhdGEsIG1vZGUsIHJlZF9ncmVlbl9ibHVlLCAmZmIpOw0K PiArCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmZiKTsNCj4gKwlpZ3RfZGlzcGxheV9jb21t aXQoJmRhdGEtPmRpc3BsYXkpOw0KPiArCWlndF93YWl0X2Zvcl92YmxhbmsoZGF0YS0+ZHJtX2Zk LA0KPiArCQkJICAgIGRpc3BsYXktPnBpcGVzW3ByaW1hcnktPnBpcGUtPnBpcGVdLmNydGNfb2Zm c2V0KTsNCj4gKwlpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoZGF0YS0+cGlwZV9jcmMsICZjcmNf ZnVsbGNvbG9ycyk7DQo+ICsNCj4gKwkvKiBEcmF3IGEgZ3JhZGllbnQgd2l0aCAzRCBMVVQgdG8g cmVtYXAgYWxsDQo+ICsJICogdmFsdWVzIHRvIG1heCByZWQvZ3JlZW4vYmx1ZS4NCj4gKwkgKi8N Cj4gKwlwYWludF9ncmFkaWVudF9yZWN0YW5nbGVzKGRhdGEsIG1vZGUsIHJlZF9ncmVlbl9ibHVl LCAmZmIpOw0KPiArCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmZiKTsNCj4gKwlzZXRfZ2Ft bWFfbHV0XzNkKGRhdGEsIHByaW1hcnktPnBpcGUsIGdhbW1hX2x1dF8zZF9mdWxsKTsNCj4gKwlp Z3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkpOw0KPiArCWlndF93YWl0X2Zvcl92Ymxh bmsoZGF0YS0+ZHJtX2ZkLA0KPiArCQkJICAgIGRpc3BsYXktPnBpcGVzW3ByaW1hcnktPnBpcGUt PnBpcGVdLmNydGNfb2Zmc2V0KTsNCj4gKwlpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoZGF0YS0+ cGlwZV9jcmMsICZjcmNfZnVsbGx1dDNkKTsNCj4gKw0KPiArCS8qIFZlcmlmeSB0aGF0IHRoZSBD UkMgb2YgdGhlIHNvZnR3YXJlIGNvbXB1dGVkIG91dHB1dCBpcw0KPiArCSAqIGVxdWFsIHRvIHRo ZSBDUkMgb2YgdGhlIDNEIExVVCB0cmFuc2Zvcm1hdGlvbiBvdXRwdXQuDQo+ICsJICovDQo+ICsJ aWd0X2Fzc2VydF9jcmNfZXF1YWwoJmNyY19mdWxsbHV0M2QsICZjcmNfZnVsbGNvbG9ycyk7DQo+ ICsNCj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksIE5VTEwpOw0KPiArCWlndF9vdXRwdXRf c2V0X3BpcGUob3V0cHV0LCBQSVBFX05PTkUpOw0KPiArDQo+ICsJZnJlZV9sdXQoZ2FtbWFfbHV0 XzNkX2xpbmVhcik7DQo+ICsJZnJlZV9sdXQoZ2FtbWFfbHV0XzNkX2Z1bGwpOw0KPiArfQ0KPiAr DQo+ICAvKg0KPiAgICogRHJhdyAzIGdyYWRpZW50IHJlY3RhbmdsZXMgaW4gcmVkLCBncmVlbiBh bmQgYmx1ZSwgd2l0aCBhIG1heGVkIG91dCBsZWdhY3kNCj4gICAqIGdhbW1hIExVVCBhbmQgdmVy aWZ5IHdlIGhhdmUgdGhlIHNhbWUgQ1JDIGFzIGRyYXdpbmcgc29saWQgY29sb3INCj4gcmVjdGFu Z2xlcw0KPiBAQCAtNjU2LDYgKzczOCwxMyBAQCBwcmVwX3BpcGUoZGF0YV90ICpkYXRhLCBlbnVt IHBpcGUgcCkNCj4gIAkJCQkJICAgICAgSUdUX0NSVENfR0FNTUFfTFVUX1NJWkUpOw0KPiAgCQlp Z3RfYXNzZXJ0X2x0KDAsIGRhdGEtPmdhbW1hX2x1dF9zaXplKTsNCj4gIAl9DQo+ICsNCj4gKwlp ZiAoaWd0X3BpcGVfb2JqX2hhc19wcm9wKCZkYXRhLT5kaXNwbGF5LnBpcGVzW3BdLA0KPiBJR1Rf Q1JUQ19HQU1NQV9MVVRfM0RfU0laRSkpIHsNCj4gKwkJZGF0YS0+Z2FtbWFfbHV0XzNkX3NpemUg PQ0KPiArCQkJaWd0X3BpcGVfb2JqX2dldF9wcm9wKCZkYXRhLT5kaXNwbGF5LnBpcGVzW3BdLA0K PiArCQkJCQkgICAgICBJR1RfQ1JUQ19HQU1NQV9MVVRfM0RfU0laRSk7DQo+ICsJCWlndF9hc3Nl cnRfbHQoMCwgZGF0YS0+Z2FtbWFfbHV0XzNkX3NpemUpOw0KPiArCX0NCj4gIH0NCj4gDQo+ICBz dGF0aWMgdm9pZA0KPiBAQCAtODYwLDYgKzk0OSwxMCBAQCBydW5fdGVzdHNfZm9yX3BpcGUoZGF0 YV90ICpkYXRhLCBlbnVtIHBpcGUgcCkNCj4gIAlpZ3Rfc3VidGVzdF9mKCJwaXBlLSVzLWxlZ2Fj eS1nYW1tYS1yZXNldCIsIGttc3Rlc3RfcGlwZV9uYW1lKHApKQ0KPiAgCQl0ZXN0X3BpcGVfbGVn YWN5X2dhbW1hX3Jlc2V0KGRhdGEsIHByaW1hcnkpOw0KPiANCj4gKwlpZ3RfZGVzY3JpYmUoIlZl cmlmeSB0aGF0IGdhbW1hIExVVCAzRCB0cmFuc2Zvcm1hdGlvbiB3b3JrcyBjb3JyZWN0bHkiKTsN Cj4gKwlpZ3Rfc3VidGVzdF9mKCJwaXBlLSVzLWdhbW1hLWx1dC0zZCIsIGttc3Rlc3RfcGlwZV9u YW1lKHApKQ0KPiArCQl0ZXN0X3BpcGVfZ2FtbWFfbHV0XzNkKGRhdGEsIHByaW1hcnkpOw0KPiAr DQo+ICAJaWd0X2ZpeHR1cmUgew0KPiAgCQlkaXNhYmxlX2RlZ2FtbWEocHJpbWFyeS0+cGlwZSk7 DQo+ICAJCWRpc2FibGVfZ2FtbWEocHJpbWFyeS0+cGlwZSk7DQo+IEBAIC04ODgsNiArOTgxLDEw IEBAIHJ1bl9pbnZhbGlkX3Rlc3RzX2Zvcl9waXBlKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHAp DQo+ICAJaWd0X2Rlc2NyaWJlKCJOZWdhdGl2ZSBjaGVjayBmb3IgY29sb3IgdHJhbmZvcm1hdGlv biBtYXRyaXggc2l6ZXMiKTsNCj4gIAlpZ3Rfc3VidGVzdF9mKCJwaXBlLSVzLWludmFsaWQtY3Rt LW1hdHJpeC1zaXplcyIsIGttc3Rlc3RfcGlwZV9uYW1lKHApKQ0KPiAgCQlpbnZhbGlkX2N0bV9t YXRyaXhfc2l6ZXMoZGF0YSwgcCk7DQo+ICsNCj4gKwlpZ3RfZGVzY3JpYmUoIk5lZ2F0aXZlIGNo ZWNrIGZvciBpbnZhbGlkIGdhbW1hIGx1dCAzRCBzaXplcyIpOw0KPiArCWlndF9zdWJ0ZXN0X2Yo InBpcGUtJXMtaW52YWxpZC1nYW1tYS1sdXQtM2Qtc2l6ZXMiLA0KPiBrbXN0ZXN0X3BpcGVfbmFt ZShwKSkNCj4gKwkJaW52YWxpZF9nYW1tYV9sdXRfM2Rfc2l6ZXMoZGF0YSwgcCk7DQo+ICB9DQo+ IA0KPiAgaWd0X21haW4NCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb2xvcl9oZWxwZXIuYyBi L3Rlc3RzL2ttc19jb2xvcl9oZWxwZXIuYw0KPiBpbmRleCBkNzFlN2JiMmU2ZjkuLjM4ZTM4OGM1 NGVlOCAxMDA2NDQNCj4gLS0tIGEvdGVzdHMva21zX2NvbG9yX2hlbHBlci5jDQo+ICsrKyBiL3Rl c3RzL2ttc19jb2xvcl9oZWxwZXIuYw0KPiBAQCAtMTQzLDYgKzE0Myw0NCBAQCBnYW1tYV9sdXRf dCAqZ2VuZXJhdGVfdGFibGVfemVybyhpbnQgbHV0X3NpemUpDQo+ICAJcmV0dXJuIGdhbW1hOw0K PiAgfQ0KPiANCj4gK2dhbW1hX2x1dF90ICpnZW5lcmF0ZV9sdXRfM2QoaW50IGx1dF9zaXplLCBk b3VibGUgZXhwKQ0KPiArew0KPiArCWdhbW1hX2x1dF90ICpnYW1tYSA9IGFsbG9jX2x1dChsdXRf M2Rfc2l6ZShsdXRfc2l6ZSkpOw0KPiArDQo+ICsJZm9yIChpbnQgciA9IDA7IHIgPCBsdXRfc2l6 ZTsgcisrKSB7DQo+ICsJCWZvciAoaW50IGcgPSAwOyBnIDwgbHV0X3NpemU7IGcrKykgew0KPiAr CQkJZm9yIChpbnQgYiA9IDA7IGIgPCBsdXRfc2l6ZTsgYisrKSB7DQo+ICsJCQkJaW50IGkgPSBs dXRfM2RfaW5kZXgociwgZywgYiwgbHV0X3NpemUpOw0KPiArDQo+ICsJCQkJZ2FtbWEtPmNvZWZm c1tpXS5yID0gcG93KHIgKiAxLjAgLyAobHV0X3NpemUgLSAxKSwgZXhwKTsNCj4gKwkJCQlnYW1t YS0+Y29lZmZzW2ldLmcgPSBwb3coZyAqIDEuMCAvIChsdXRfc2l6ZSAtIDEpLCBleHApOw0KPiAr CQkJCWdhbW1hLT5jb2VmZnNbaV0uYiA9IHBvdyhiICogMS4wIC8gKGx1dF9zaXplIC0gMSksIGV4 cCk7DQo+ICsJCQl9DQo+ICsJCX0NCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gZ2FtbWE7DQo+ICt9 DQo+ICsNCj4gK2dhbW1hX2x1dF90ICpnZW5lcmF0ZV9sdXRfM2RfbWF4KGludCBsdXRfc2l6ZSkN Cj4gK3sNCj4gKwlnYW1tYV9sdXRfdCAqZ2FtbWEgPSBhbGxvY19sdXQobHV0XzNkX3NpemUobHV0 X3NpemUpKTsNCj4gKw0KPiArCWZvciAoaW50IHIgPSAwOyByIDwgbHV0X3NpemU7IHIrKykgew0K PiArCQlmb3IgKGludCBnID0gMDsgZyA8IGx1dF9zaXplOyBnKyspIHsNCj4gKwkJCWZvciAoaW50 IGIgPSAwOyBiIDwgbHV0X3NpemU7IGIrKykgew0KPiArCQkJCWludCBpID0gbHV0XzNkX2luZGV4 KHIsIGcsIGIsIGx1dF9zaXplKTsNCj4gKw0KPiArCQkJCWdhbW1hLT5jb2VmZnNbaV0uciA9IHIg PT0gMCA/IDAuMCA6IDEuMDsNCj4gKwkJCQlnYW1tYS0+Y29lZmZzW2ldLmcgPSBnID09IDAgPyAw LjAgOiAxLjA7DQo+ICsJCQkJZ2FtbWEtPmNvZWZmc1tpXS5iID0gYiA9PSAwID8gMC4wIDogMS4w Ow0KPiArCQkJfQ0KPiArCQl9DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIGdhbW1hOw0KPiArfQ0K PiArDQo+ICBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqY29lZmZzX3RvX2x1dChkYXRhX3QgKmRhdGEs DQo+ICAJCQkJICAgIGNvbnN0IGdhbW1hX2x1dF90ICpnYW1tYSwNCj4gIAkJCQkgICAgdWludDMy X3QgY29sb3JfZGVwdGgsDQo+IEBAIC0yMTUsNiArMjUzLDE5IEBAIHZvaWQgc2V0X2dhbW1hKGRh dGFfdCAqZGF0YSwNCj4gIAlmcmVlKGx1dCk7DQo+ICB9DQo+IA0KPiArdm9pZCBzZXRfZ2FtbWFf bHV0XzNkKGRhdGFfdCAqZGF0YSwNCj4gKwkJICAgICAgaWd0X3BpcGVfdCAqcGlwZSwNCj4gKwkJ ICAgICAgY29uc3QgZ2FtbWFfbHV0X3QgKmdhbW1hX2x1dF8zZCkNCj4gK3sNCj4gKwlzaXplX3Qg c2l6ZSA9IHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKiBnYW1tYV9sdXRfM2QtPnNpemU7 DQo+ICsJc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9IGNvZWZmc190b19sdXQoZGF0YSwgZ2Ft bWFfbHV0XzNkLA0KPiArCQkJCQkJICBkYXRhLT5jb2xvcl9kZXB0aCwgMCk7DQo+ICsNCj4gKwlp Z3RfcGlwZV9vYmpfcmVwbGFjZV9wcm9wX2Jsb2IocGlwZSwgSUdUX0NSVENfR0FNTUFfTFVUXzNE LCBsdXQsIHNpemUpOw0KPiArDQo+ICsJZnJlZShsdXQpOw0KPiArfQ0KPiArDQo+ICB2b2lkIHNl dF9jdG0oaWd0X3BpcGVfdCAqcGlwZSwgY29uc3QgZG91YmxlICpjb2VmZmljaWVudHMpDQo+ICB7 DQo+ICAJc3RydWN0IGRybV9jb2xvcl9jdG0gY3RtOw0KPiBAQCAtMzMxLDYgKzM4MiwxMiBAQCBp bnZhbGlkX2RlZ2FtbWFfbHV0X3NpemVzKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHApDQo+ICAJ aW52YWxpZF9sdXRfc2l6ZXMoZGF0YSwgcCwgSUdUX0NSVENfREVHQU1NQV9MVVQsIGRhdGEtDQo+ ID5kZWdhbW1hX2x1dF9zaXplKTsNCj4gIH0NCj4gDQo+ICt2b2lkDQo+ICtpbnZhbGlkX2dhbW1h X2x1dF8zZF9zaXplcyhkYXRhX3QgKmRhdGEsIGVudW0gcGlwZSBwKQ0KPiArew0KDQpQbGVhc2Ug Y2hlY2sgdGhlIGNvbW1lbnRzIGluIFBhdGNoIDQvNyBpbiB0aGlzIHNlcmllczoNCg0KV2UgbmVl ZA0KYGlndF9yZXF1aXJlKGRhdGEtPmdhbW1hX2x1dF8zZF9zaXplKTtgIG9yDQpgaWd0X3JlcXVp cmUoaWd0X3BpcGVfb2JqX2hhc19wcm9wKHAsIElHVF9DUlRDX0dBTU1BX0xVVF8zRF9TSVpFKSk7 YCBoZXJlDQoNCldpdGggYWJvdmUgY2hhbmdlcywgdGhpcyBwYXRjaCBpcw0KUmV2aWV3ZWQtYnk6 IEJoYW51cHJha2FzaCBNb2RlbSA8QmhhbnVwcmFrYXNoLm1vZGVtQGludGVsLmNvbT4NCg0KLSBC aGFudQ0KDQo+ICsJaW52YWxpZF9sdXRfc2l6ZXMoZGF0YSwgcCwgSUdUX0NSVENfR0FNTUFfTFVU XzNELCBsdXRfM2Rfc2l6ZShkYXRhLQ0KPiA+Z2FtbWFfbHV0XzNkX3NpemUpKTsNCj4gK30NCj4g Kw0KPiAgdm9pZCBpbnZhbGlkX2N0bV9tYXRyaXhfc2l6ZXMoZGF0YV90ICpkYXRhLCBlbnVtIHBp cGUgcCkNCj4gIHsNCj4gIAlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3BsYXk7 DQo+IEBAIC0zNTksNCArNDE2LDMgQEAgdm9pZCBpbnZhbGlkX2N0bV9tYXRyaXhfc2l6ZXMoZGF0 YV90ICpkYXRhLCBlbnVtIHBpcGUgcCkNCj4gDQo+ICAJZnJlZShwdHIpOw0KPiAgfQ0KPiAtDQo+ IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29sb3JfaGVscGVyLmggYi90ZXN0cy9rbXNfY29sb3Jf aGVscGVyLmgNCj4gaW5kZXggYmI2ZjAwNTRmMzg4Li43NDA2ODIwYjY5NTUgMTAwNjQ0DQo+IC0t LSBhL3Rlc3RzL2ttc19jb2xvcl9oZWxwZXIuaA0KPiArKysgYi90ZXN0cy9rbXNfY29sb3JfaGVs cGVyLmgNCj4gQEAgLTUyLDYgKzUyLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiAgCXVpbnQzMl90 IGNvbG9yX2RlcHRoOw0KPiAgCXVpbnQ2NF90IGRlZ2FtbWFfbHV0X3NpemU7DQo+ICAJdWludDY0 X3QgZ2FtbWFfbHV0X3NpemU7DQo+ICsJdWludDY0X3QgZ2FtbWFfbHV0XzNkX3NpemU7DQo+ICAJ I2lmZGVmIEhBVkVfQ0hBTUVMSVVNDQo+ICAJc3RydWN0IGNoYW1lbGl1bSAqY2hhbWVsaXVtOw0K PiAgCXN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqKnBvcnRzOw0KPiBAQCAtNzcsNiArNzgsOCBAQCB2 b2lkIGZyZWVfbHV0KGdhbW1hX2x1dF90ICpnYW1tYSk7DQo+ICBnYW1tYV9sdXRfdCAqZ2VuZXJh dGVfdGFibGUoaW50IGx1dF9zaXplLCBkb3VibGUgZXhwKTsNCj4gIGdhbW1hX2x1dF90ICpnZW5l cmF0ZV90YWJsZV9tYXgoaW50IGx1dF9zaXplKTsNCj4gIGdhbW1hX2x1dF90ICpnZW5lcmF0ZV90 YWJsZV96ZXJvKGludCBsdXRfc2l6ZSk7DQo+ICtnYW1tYV9sdXRfdCAqZ2VuZXJhdGVfbHV0XzNk KGludCBsdXRfc2l6ZSwgZG91YmxlIGV4cCk7DQo+ICtnYW1tYV9sdXRfdCAqZ2VuZXJhdGVfbHV0 XzNkX21heChpbnQgbHV0X3NpemUpOw0KPiAgc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvZWZmc190 b19sdXQoZGF0YV90ICpkYXRhLA0KPiAgCQkJCSAgICBjb25zdCBnYW1tYV9sdXRfdCAqZ2FtbWEs DQo+ICAJCQkJICAgIHVpbnQzMl90IGNvbG9yX2RlcHRoLA0KPiBAQCAtODcsMTMgKzkwLDI3IEBA IHZvaWQgc2V0X2RlZ2FtbWEoZGF0YV90ICpkYXRhLA0KPiAgdm9pZCBzZXRfZ2FtbWEoZGF0YV90 ICpkYXRhLA0KPiAgCSAgICAgICBpZ3RfcGlwZV90ICpwaXBlLA0KPiAgCSAgICAgICBjb25zdCBn YW1tYV9sdXRfdCAqZ2FtbWEpOw0KPiArdm9pZCBzZXRfZ2FtbWFfbHV0XzNkKGRhdGFfdCAqZGF0 YSwNCj4gKwkJICAgICAgaWd0X3BpcGVfdCAqcGlwZSwNCj4gKwkJICAgICAgY29uc3QgZ2FtbWFf bHV0X3QgKmdhbW1hKTsNCj4gIHZvaWQgc2V0X2N0bShpZ3RfcGlwZV90ICpwaXBlLCBjb25zdCBk b3VibGUgKmNvZWZmaWNpZW50cyk7DQo+ICB2b2lkIGRpc2FibGVfcHJvcChpZ3RfcGlwZV90ICpw aXBlLCBlbnVtIGlndF9hdG9taWNfY3J0Y19wcm9wZXJ0aWVzIHByb3ApOw0KPiANCj4gICNkZWZp bmUgZGlzYWJsZV9kZWdhbW1hKHBpcGUpIGRpc2FibGVfcHJvcChwaXBlLCBJR1RfQ1JUQ19ERUdB TU1BX0xVVCkNCj4gICNkZWZpbmUgZGlzYWJsZV9nYW1tYShwaXBlKSBkaXNhYmxlX3Byb3AocGlw ZSwgSUdUX0NSVENfR0FNTUFfTFVUKQ0KPiArI2RlZmluZSBkaXNhYmxlX2x1dF8zZChwaXBlKSBk aXNhYmxlX3Byb3AocGlwZSwgSUdUX0NSVENfTFVUXzNEKQ0KPiAgI2RlZmluZSBkaXNhYmxlX2N0 bShwaXBlKSBkaXNhYmxlX3Byb3AocGlwZSwgSUdUX0NSVENfQ1RNKQ0KPiANCj4gK3N0YXRpYyBp bmxpbmUgaW50IGx1dF8zZF9zaXplKGludCBsdXRfc2l6ZSkNCj4gK3sNCj4gKwlyZXR1cm4gbHV0 X3NpemUgKiBsdXRfc2l6ZSAqIGx1dF9zaXplOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW5saW5l IGludCBsdXRfM2RfaW5kZXgoaW50IHIsIGludCBnLCBpbnQgYiwgaW50IGx1dF9zaXplKQ0KPiAr ew0KPiArCXJldHVybiByICogbHV0X3NpemUgKiBsdXRfc2l6ZSArIGcgKiBsdXRfc2l6ZSArIGI7 DQo+ICt9DQo+ICsNCj4gIGRybU1vZGVQcm9wZXJ0eUJsb2JQdHIgZ2V0X2Jsb2IoZGF0YV90ICpk YXRhLCBpZ3RfcGlwZV90ICpwaXBlLA0KPiAgCQkJCWVudW0gaWd0X2F0b21pY19jcnRjX3Byb3Bl cnRpZXMgcHJvcCk7DQo+ICBib29sIGNyY19lcXVhbChpZ3RfY3JjX3QgKmEsIGlndF9jcmNfdCAq Yik7DQo+IEBAIC0xMDUsNiArMTIyLDcgQEAgaW50IHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IoaWd0 X3BpcGVfdCAqcGlwZSwNCj4gIAkJCSAgIHZvaWQgKnB0ciwgc2l6ZV90IGxlbmd0aCk7DQo+ICB2 b2lkIGludmFsaWRfZ2FtbWFfbHV0X3NpemVzKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHApOw0K PiAgdm9pZCBpbnZhbGlkX2RlZ2FtbWFfbHV0X3NpemVzKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBl IHApOw0KPiArdm9pZCBpbnZhbGlkX2dhbW1hX2x1dF8zZF9zaXplcyhkYXRhX3QgKmRhdGEsIGVu dW0gcGlwZSBwKTsNCj4gIHZvaWQgaW52YWxpZF9jdG1fbWF0cml4X3NpemVzKGRhdGFfdCAqZGF0 YSwgZW51bSBwaXBlIHApOw0KPiANCj4gICNlbmRpZg0KPiAtLQ0KPiAyLjMxLjENCg0K