From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id D45C889BF3 for ; Tue, 11 Sep 2018 13:22:26 +0000 (UTC) From: "Lisovskiy, Stanislav" Date: Tue, 11 Sep 2018 13:22:23 +0000 Message-ID: <6673c3508863be8cdbfedb9453e6330bfeb13273.camel@intel.com> References: <20180910100318.3747-1-stanislav.lisovskiy@intel.com> <20180911125003.GZ5565@intel.com> In-Reply-To: <20180911125003.GZ5565@intel.com> Content-Language: en-US Content-ID: <504F0D2EAC290C4F829AE5D4EA0DFA34@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v5] lib/igt_fb: Added XYUV format support for testing List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "ville.syrjala@linux.intel.com" Cc: "igt-dev@lists.freedesktop.org" , "Syrjala, Ville" , "Peres, Martin" List-ID: T24gVHVlLCAyMDE4LTA5LTExIGF0IDE1OjUwICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFR1ZSwgU2VwIDExLCAyMDE4IGF0IDA4OjI2OjI5QU0gKzAwMDAsIExpc292c2tpeSwg U3RhbmlzbGF2IHdyb3RlOg0KPiA+IE9uIE1vbiwgMjAxOC0wOS0xMCBhdCAxMzowMyArMDMwMCwg U3RhbmlzbGF2IExpc292c2tpeSB3cm90ZToNCj4gPiA+IFhZVVYgZm9ybWF0IHN1cHBvcnQgaGFz IGJlZW4gYWRkZWQgdG8gRFJNLCBtb2RpZmllZA0KPiA+ID4gSUdUIHRvIHJlZmxlY3QgdGhvc2Ug Y2hhbmdlcy4NCj4gPiA+IA0KPiA+ID4gdjI6IEZpeGVkIG1lcmdlIGNvbmZsaWN0LCBzdGFydGVk IHRvIHVzZSBuZXcgeXV2PD0+cmdiDQo+ID4gPiAgICAgY29udmVyc2lvbiBmdW5jdGlvbnMuDQo+ ID4gPiANCj4gPiA+IHYzOiBGaXhlZCBrbXNfYXZhaWxhYmxlX21vZGVzX2NyYyB0ZXN0IHRvIHN1 cHBvcnQgbmV3IFhZVVYNCj4gPiA+ICAgICBmb3JtYXQuIEZpeGVkIGEgcHJvYmxlbSwgd2hlcmUg dGVzdCBjb21wbGFpbnMgdGhhdCB0d28NCj4gPiA+ICAgICBvdXRwdXRzIG1pZ2h0IHVzZSBzYW1l IHBpcGUgYXQgdGhlIHNhbWUgdGltZS4NCj4gPiA+IA0KPiA+ID4gdjQ6IEZpeGVkIGNvbnZlcnRp b24gcHJvY2VkdXJlIGluIGlndF9mYiB0byBzdXBwb3J0IFhZVVYNCj4gPiA+ICAgICBwcm9wZXJs eS4NCj4gPiA+IA0KPiA+ID4gdjU6IEZpeGVkIGEgY29kaW5nIHR5cG8uDQo+ID4gDQo+ID4gTWlu b3IgY29tbWVudDogdGhpcyBjaGFuZ2Ugd2lsbCBmYWlsIGFsbCB0ZXN0IGNhc2VzIHdoZXJlDQo+ ID4gZHJtTW9kZUFkZEZCMiBpcyBjYWxsZWQgd2l0aCBEUk1fRk9STUFUX1hZVVYgdW50aWwgY29y cmVzcG9uZGVudA0KPiA+IGtlcm5lbCBwYXRjaCBpcyBub3QgaW4gdXNlLCBhcyBtYW55IGlndCB0 ZXN0IGNhc2VzIGRvIG5vdCBjaGVjaw0KPiA+IGlmIHRoYXQga2VybmVsIGZvcm1hdCBpcyBzdXBw b3J0ZWQgb3Igbm90LCBzbyBkcm1Nb2RlQWRkRkIyIHdpbGwNCj4gPiBzaW1wbHkgZmFpbC4NCj4g DQo+IFdoaWNoIHRlc3RzIGFyZSB0aG9zZT8gVGhleSBzaG91bGQgYmUgZml4ZWQuDQoNClRob3Nl IGFyZToNCg0KIGlndEBrbXNfZmxpcEBiYXNpYy1mbGlwLXZzLWRwbXMNCiANCiBpZ3RAa21zX2Zs aXBAYmFzaWMtZmxpcC12cy1tb2Rlc2V0DQogDQogaWd0QGttc19mbGlwQGJhc2ljLWZsaXAtdnMt d2ZfdmJsYW5rDQogDQogaWd0QGttc19mbGlwQGJhc2ljLXBsYWluLWZsaXANCiANCiBpZ3RAa21z X3NldG1vZGVAYmFzaWMtY2xvbmUtc2luZ2xlLWNydGMNCg0KUHJvYmFibHkgZ29vZCBpZGVhIHRv IGZpeCBpdCBzbyB0aGF0IGl0IGNob29zZXMgb25seSBmb3JtYXRzDQpzcGVjaWZpZWQgaW4gZHJt X3BsYW5lLT5mb3JtYXRzIGFuZCBpZ3RfZmJfc3VwcG9ydGVkX2Zvcm1hdCwgbGlrZSBpbg0Ka21z X3BsYW5lLiANCk90aGVyd2lzZSBmb3IgZXhhbXBsZSBpbiBrbXNfZmxpcCwgaXQgdXNlcyBpZ3Rf YnBwX2RlcHRoX3RvX2RybV9mb3JtYXQNCndoaWNoIGNob29zZXMgYW55IGZvcm1hdCB3aXRoIG1h dGNoaW5nIGJwcCBhbmQgZGVwdGgsIHdoaWNoIGluIGNhc2Ugb2YNClhSR0I4ODg4LCBhbHNvIGlz IHRoZSBzYW1lIGZvciBYWVVWLg0KIA0KDQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBTdGFuaXNsYXYg TGlzb3Zza2l5IDxzdGFuaXNsYXYubGlzb3Zza2l5QGludGVsLmNvbQ0KPiA+ID4gPg0KPiA+ID4g LS0tDQo+ID4gPiAgaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmggfCAgMSArDQo+ID4gPiAg bGliL2lndF9mYi5jICAgICAgICAgICAgICAgICAgfCA4OQ0KPiA+ID4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysNCj4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDkwIGluc2VydGlv bnMoKykNCj4gPiA+IA0KPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2Zv dXJjYy5oIGIvaW5jbHVkZS9kcm0tDQo+ID4gPiB1YXBpL2RybV9mb3VyY2MuaA0KPiA+ID4gaW5k ZXggZTA0NjEzZDMuLjBiZjY2ZGUyIDEwMDY0NA0KPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0tdWFw aS9kcm1fZm91cmNjLmgNCj4gPiA+ICsrKyBiL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5o DQo+ID4gPiBAQCAtMTEyLDYgKzExMiw3IEBAIGV4dGVybiAiQyIgew0KPiA+ID4gICNkZWZpbmUg RFJNX0ZPUk1BVF9WWVVZCQlmb3VyY2NfY29kZSgnVicsICdZJywNCj4gPiA+ICdVJywNCj4gPiA+ ICdZJykgLyogWzMxOjBdIFkxOkNiMDpZMDpDcjAgODo4Ojg6OCBsaXR0bGUgZW5kaWFuICovDQo+ ID4gPiAgDQo+ID4gPiAgI2RlZmluZSBEUk1fRk9STUFUX0FZVVYJCWZvdXJjY19jb2RlKCdBJywg J1knLA0KPiA+ID4gJ1UnLA0KPiA+ID4gJ1YnKSAvKiBbMzE6MF0gQTpZOkNiOkNyIDg6ODo4Ojgg bGl0dGxlIGVuZGlhbiAqLw0KPiA+ID4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9YWVVWCQlmb3VyY2Nf Y29kZSgnWCcsICdZJywNCj4gPiA+ICdVJywNCj4gPiA+ICdWJykgLyogWzMxOjBdIFg6WTpDYjpD ciA4Ojg6ODo4IGxpdHRsZSBlbmRpYW4gKi8NCj4gPiA+ICANCj4gPiA+ICAvKg0KPiA+ID4gICAq IDIgcGxhbmUgUkdCICsgQQ0KPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZmIuYyBiL2xpYi9p Z3RfZmIuYw0KPiA+ID4gaW5kZXggYWU3MWQ5NjcuLmI2MGI3M2I0IDEwMDY0NA0KPiA+ID4gLS0t IGEvbGliL2lndF9mYi5jDQo+ID4gPiArKysgYi9saWIvaWd0X2ZiLmMNCj4gPiA+IEBAIC03Miw2 ICs3MiwxMCBAQCBzdGF0aWMgc3RydWN0IGZvcm1hdF9kZXNjX3N0cnVjdCB7DQo+ID4gPiAgCSAg LmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjE2XzU2NSwNCj4gPiA+ICAJICAubnVtX3BsYW5l cyA9IDEsIC5wbGFuZV9icHAgPSB7IDE2LCB9LA0KPiA+ID4gIAl9LA0KPiA+ID4gKwl7IC5uYW1l ID0gIlhZVVYiLCAuZGVwdGggPSAyNCwgLmRybV9pZCA9DQo+ID4gPiBEUk1fRk9STUFUX1hZVVYs DQo+ID4gPiArCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjI0LA0KPiA+ID4gKwkgIC5u dW1fcGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMzIsIH0sDQo+ID4gPiArCX0sDQo+ID4gPiAg CXsgLm5hbWUgPSAiWFJHQjg4ODgiLCAuZGVwdGggPSAyNCwgLmRybV9pZCA9DQo+ID4gPiBEUk1f Rk9STUFUX1hSR0I4ODg4LA0KPiA+ID4gIAkgIC5jYWlyb19pZCA9IENBSVJPX0ZPUk1BVF9SR0Iy NCwNCj4gPiA+ICAJICAubnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7IDMyLCB9LA0KPiA+ ID4gQEAgLTQxNSw2ICs0MTksMTAgQEAgc3RhdGljIGludCBjcmVhdGVfYm9fZm9yX2ZiKGludCBm ZCwgaW50DQo+ID4gPiB3aWR0aCwNCj4gPiA+IGludCBoZWlnaHQsDQo+ID4gPiAgCQkJCW1lbXNl dChwdHIgKyBvZmZzZXRzWzFdLCAweDgwLA0KPiA+ID4gIAkJCQkgICAgICAgY2FsY3VsYXRlZF9z dHJpZGUgKg0KPiA+ID4gaGVpZ2h0LzIpOw0KPiA+ID4gIAkJCQlicmVhazsNCj4gPiA+ICsJCQlj YXNlIERSTV9GT1JNQVRfWFlVVjoNCj4gPiA+ICsJCQkJd21lbXNldChwdHIsIGZ1bGxfcmFuZ2Ug Pw0KPiA+ID4gMHgwMDBmODA4MA0KPiA+ID4gOiAweDAwMGY4MDgwLA0KPiA+ID4gKwkJCQkJY2Fs Y3VsYXRlZF9zdHJpZGUgKg0KPiA+ID4gaGVpZ2h0IC8NCj4gPiA+IHNpemVvZih3Y2hhcl90KSk7 DQo+ID4gPiArCQkJCWJyZWFrOw0KPiA+ID4gIAkJCWNhc2UgRFJNX0ZPUk1BVF9ZVVlWOg0KPiA+ ID4gIAkJCWNhc2UgRFJNX0ZPUk1BVF9ZVllVOg0KPiA+ID4gIAkJCQl3bWVtc2V0KHB0ciwgZnVs bF9yYW5nZSA/DQo+ID4gPiAweDgwMDA4MDAwDQo+ID4gPiA6IDB4ODAxMDgwMTAsDQo+ID4gPiBA QCAtMTUwMCw2ICsxNTA4LDc5IEBAIHN0YXRpYyB2b2lkIGNvbnZlcnRfbnYxMl90b19yZ2IyNChz dHJ1Y3QNCj4gPiA+IGlndF9mYiAqZmIsIHN0cnVjdCBmYl9jb252ZXJ0X2JsaXRfdXBsbw0KPiA+ ID4gIAlmcmVlKGJ1Zik7DQo+ID4gPiAgfQ0KPiA+ID4gIA0KPiA+ID4gK3N0YXRpYyB2b2lkIGNv bnZlcnRfeXV2NDQ0X3RvX3JnYjI0KHN0cnVjdCBpZ3RfZmIgKmZiLCBzdHJ1Y3QNCj4gPiA+IGZi X2NvbnZlcnRfYmxpdF91cGxvYWQgKmJsaXQpDQo+ID4gPiArew0KPiA+ID4gKwlpbnQgaSwgajsN Cj4gPiA+ICsJdWludDhfdCAqeXV2MjQ7DQo+ID4gPiArCXVpbnQ4X3QgKnJnYjI0ID0gYmxpdC0+ cmdiMjQubWFwOw0KPiA+ID4gKwl1bnNpZ25lZCByZ2IyNF9zdHJpZGUgPSBibGl0LT5yZ2IyNC5z dHJpZGUsDQo+ID4gPiBwbGFuYXJfc3RyaWRlID0NCj4gPiA+IGJsaXQtPmxpbmVhci5zdHJpZGU7 DQo+ID4gPiArCXVpbnQ4X3QgKmJ1ZiA9IG1hbGxvYyhibGl0LT5saW5lYXIuc2l6ZSk7DQo+ID4g PiArCXN0cnVjdCBpZ3RfbWF0NCBtID0gaWd0X3ljYmNyX3RvX3JnYl9tYXRyaXgoZmItDQo+ID4g PiA+IGNvbG9yX2VuY29kaW5nLA0KPiA+ID4gDQo+ID4gPiArCQkJCQkJICAgIGZiLQ0KPiA+ID4g PiBjb2xvcl9yYW5nZSk7DQo+ID4gPiANCj4gPiA+ICsNCj4gPiA+ICsJLyoNCj4gPiA+ICsJICog UmVhZGluZyBmcm9tIHRoZSBCTyBpcyBhd2Z1bGx5IHNsb3cgYmVjYXVzZSBvZiBsYWNrDQo+ID4g PiBvZg0KPiA+ID4gcmVhZCBjYWNoaW5nLA0KPiA+ID4gKwkgKiBpdCdzIGZhc3RlciB0byBjb3B5 IHRoZSB3aG9sZSBCTyB0byBhIHRlbXBvcmFyeQ0KPiA+ID4gYnVmZmVyDQo+ID4gPiBhbmQgY29u dmVydA0KPiA+ID4gKwkgKiBmcm9tIHRoZXJlLg0KPiA+ID4gKwkgKi8NCj4gPiA+ICsJaWd0X21l bWNweV9mcm9tX3djKGJ1ZiwgYmxpdC0+bGluZWFyLm1hcCwgYmxpdC0NCj4gPiA+ID4gbGluZWFy LnNpemUpOw0KPiA+ID4gDQo+ID4gPiArCXl1djI0ID0gJmJ1ZltibGl0LT5saW5lYXIub2Zmc2V0 c1swXV07DQo+ID4gPiArDQo+ID4gPiArCWZvciAoaSA9IDA7IGkgPCBmYi0+cGxhbmVfaGVpZ2h0 WzBdOyBpKyspIHsNCj4gPiA+ICsJCWZvciAoaiA9IDA7IGogPCBmYi0+cGxhbmVfd2lkdGhbMF07 IGorKykgew0KPiA+ID4gKwkJCWZsb2F0IHksIHUsIHY7DQo+ID4gPiArCQkJc3RydWN0IGlndF92 ZWM0IHl1djsNCj4gPiA+ICsJCQlzdHJ1Y3QgaWd0X3ZlYzQgcmdiOw0KPiA+ID4gKw0KPiA+ID4g KwkJCXYgPSB5dXYyNFtpICogcGxhbmFyX3N0cmlkZSArDQo+ID4gPiBqKnNpemVvZih1aW50MzJf dCldOw0KPiA+ID4gKwkJCXUgPSB5dXYyNFtpICogcGxhbmFyX3N0cmlkZSArDQo+ID4gPiBqKnNp emVvZih1aW50MzJfdCkgKyAxXTsNCj4gPiA+ICsJCQl5ID0geXV2MjRbaSAqIHBsYW5hcl9zdHJp ZGUgKw0KPiA+ID4gaipzaXplb2YodWludDMyX3QpICsgMl07DQo+ID4gPiArCQkJeXV2LmRbMF0g PSB5Ow0KPiA+ID4gKwkJCXl1di5kWzFdID0gdTsNCj4gPiA+ICsJCQl5dXYuZFsyXSA9IHY7DQo+ ID4gPiArCQkJeXV2LmRbM10gPSAxLjBmOw0KPiA+ID4gKw0KPiA+ID4gKwkJCXJnYiA9IGlndF9t YXRyaXhfdHJhbnNmb3JtKCZtLCAmeXV2KTsNCj4gPiA+ICsNCj4gPiA+ICsJCQl3cml0ZV9yZ2Io JnJnYjI0W2kgKiByZ2IyNF9zdHJpZGUgKw0KPiA+ID4gaipzaXplb2YodWludDMyX3QpXSwgJnJn Yik7DQo+ID4gPiArCQl9DQo+ID4gPiArCX0NCj4gPiA+ICsNCj4gPiA+ICsJZnJlZShidWYpOw0K PiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgdm9pZCBjb252ZXJ0X3Jn YjI0X3RvX3l1djQ0NChzdHJ1Y3QgaWd0X2ZiICpmYiwgc3RydWN0DQo+ID4gPiBmYl9jb252ZXJ0 X2JsaXRfdXBsb2FkICpibGl0KQ0KPiA+ID4gK3sNCj4gPiA+ICsJaW50IGksIGo7DQo+ID4gPiAr CXVpbnQ4X3QgKnJnYjI0Ow0KPiA+ID4gKwl1aW50OF90ICp5dXY0NDQgPSBibGl0LT5saW5lYXIu bWFwOw0KPiA+ID4gKwl1bnNpZ25lZCByZ2IyNF9zdHJpZGUgPSBibGl0LT5yZ2IyNC5zdHJpZGUs DQo+ID4gPiBwbGFuYXJfc3RyaWRlID0NCj4gPiA+IGJsaXQtPmxpbmVhci5zdHJpZGU7DQo+ID4g PiArCXN0cnVjdCBpZ3RfbWF0NCBtID0gaWd0X3JnYl90b195Y2Jjcl9tYXRyaXgoZmItDQo+ID4g PiA+IGNvbG9yX2VuY29kaW5nLA0KPiA+ID4gDQo+ID4gPiArCQkJCQkJICAgIGZiLQ0KPiA+ID4g PiBjb2xvcl9yYW5nZSk7DQo+ID4gPiANCj4gPiA+ICsNCj4gPiA+ICsJcmdiMjQgPSBibGl0LT5y Z2IyNC5tYXA7DQo+ID4gPiArDQo+ID4gPiArCWZvciAoaSA9IDA7IGkgPCBmYi0+cGxhbmVfaGVp Z2h0WzBdOyBpKyspIHsNCj4gPiA+ICsJCWZvciAoaiA9IDA7IGogPCBmYi0+cGxhbmVfd2lkdGhb MF07IGorKykgew0KPiA+ID4gKwkJCXN0cnVjdCBpZ3RfdmVjNCByZ2I7DQo+ID4gPiArCQkJc3Ry dWN0IGlndF92ZWM0IHl1djsNCj4gPiA+ICsJCQlmbG9hdCB5LCB1LCB2Ow0KPiA+ID4gKw0KPiA+ ID4gKwkJCXJlYWRfcmdiKCZyZ2IsICZyZ2IyNFtpICogcmdiMjRfc3RyaWRlICsNCj4gPiA+IGoq c2l6ZW9mKHVpbnQzMl90KV0pOw0KPiA+ID4gKw0KPiA+ID4gKwkJCXl1diA9IGlndF9tYXRyaXhf dHJhbnNmb3JtKCZtLCAmcmdiKTsNCj4gPiA+ICsNCj4gPiA+ICsJCQl5dXY0NDRbaSAqIHBsYW5h cl9zdHJpZGUgKw0KPiA+ID4gaipzaXplb2YodWludDMyX3QpXSA9IHl1di5kWzJdOw0KPiA+ID4g KwkJCXl1djQ0NFtpICogcGxhbmFyX3N0cmlkZSArDQo+ID4gPiBqKnNpemVvZih1aW50MzJfdCkg KyAxXSA9IHl1di5kWzFdOw0KPiA+ID4gKwkJCXl1djQ0NFtpICogcGxhbmFyX3N0cmlkZSArDQo+ ID4gPiBqKnNpemVvZih1aW50MzJfdCkgKyAyXSA9IHl1di5kWzBdOw0KPiA+ID4gKwkJfQ0KPiA+ ID4gKwl9DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gKw0KPiA+ID4gKw0KPiA+ID4gKw0KPiA+ ID4gIHN0YXRpYyB2b2lkIGNvbnZlcnRfcmdiMjRfdG9fbnYxMihzdHJ1Y3QgaWd0X2ZiICpmYiwg c3RydWN0DQo+ID4gPiBmYl9jb252ZXJ0X2JsaXRfdXBsb2FkICpibGl0KQ0KPiA+ID4gIHsNCj4g PiA+ICAJaW50IGksIGo7DQo+ID4gPiBAQCAtMTc1Niw2ICsxODM3LDkgQEAgc3RhdGljIHZvaWQN Cj4gPiA+IGRlc3Ryb3lfY2Fpcm9fc3VyZmFjZV9fY29udmVydCh2b2lkDQo+ID4gPiAqYXJnKQ0K PiA+ID4gIAljYXNlIERSTV9GT1JNQVRfVllVWToNCj4gPiA+ICAJCWNvbnZlcnRfcmdiMjRfdG9f eXV5dihmYiwgYmxpdCwgeXV5dl9zd2l6emxlKGZiLQ0KPiA+ID4gPiBkcm1fZm9ybWF0KSk7DQo+ ID4gPiANCj4gPiA+ICAJCWJyZWFrOw0KPiA+ID4gKwljYXNlIERSTV9GT1JNQVRfWFlVVjoNCj4g PiA+ICsJCWNvbnZlcnRfcmdiMjRfdG9feXV2NDQ0KGZiLCBibGl0KTsNCj4gPiA+ICsJCWJyZWFr Ow0KPiA+ID4gIAlkZWZhdWx0Og0KPiA+ID4gIAkJaWd0X2Fzc2VydF9mKGZhbHNlLCAiQ29udmVy c2lvbiBub3QgaW1wbGVtZW50ZWQNCj4gPiA+IGZvcg0KPiA+ID4gZm9ybWF0cyAweCV4XG4iLA0K PiA+ID4gIAkJCSAgICAgZmItPmRybV9mb3JtYXQpOw0KPiA+ID4gQEAgLTE4MDksNiArMTg5Myw5 IEBAIHN0YXRpYyB2b2lkDQo+ID4gPiBjcmVhdGVfY2Fpcm9fc3VyZmFjZV9fY29udmVydChpbnQN Cj4gPiA+IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikNCj4gPiA+ICAJY2FzZSBEUk1fRk9STUFUX1ZZ VVk6DQo+ID4gPiAgCQljb252ZXJ0X3l1eXZfdG9fcmdiMjQoZmIsIGJsaXQsIHl1eXZfc3dpenps ZShmYi0NCj4gPiA+ID4gZHJtX2Zvcm1hdCkpOw0KPiA+ID4gDQo+ID4gPiAgCQlicmVhazsNCj4g PiA+ICsJY2FzZSBEUk1fRk9STUFUX1hZVVY6DQo+ID4gPiArCQljb252ZXJ0X3l1djQ0NF90b19y Z2IyNChmYiwgYmxpdCk7DQo+ID4gPiArCQlicmVhazsNCj4gPiA+ICAJZGVmYXVsdDoNCj4gPiA+ ICAJCWlndF9hc3NlcnRfZihmYWxzZSwgIkNvbnZlcnNpb24gbm90IGltcGxlbWVudGVkDQo+ID4g PiBmb3INCj4gPiA+IGZvcm1hdHMgMHgleFxuIiwNCj4gPiA+ICAJCQkgICAgIGZiLT5kcm1fZm9y bWF0KTsNCj4gPiA+IEBAIC0xODI1LDYgKzE5MTIsNyBAQCBzdGF0aWMgdm9pZA0KPiA+ID4gY3Jl YXRlX2NhaXJvX3N1cmZhY2VfX2NvbnZlcnQoaW50DQo+ID4gPiBmZCwgc3RydWN0IGlndF9mYiAq ZmIpDQo+ID4gPiAgCQkJCSAgICBibGl0LA0KPiA+ID4gZGVzdHJveV9jYWlyb19zdXJmYWNlX19j b252ZXJ0KTsNCj4gPiA+ICB9DQo+ID4gPiAgDQo+ID4gPiArDQo+ID4gPiAgLyoqDQo+ID4gPiAg ICogaWd0X2dldF9jYWlyb19zdXJmYWNlOg0KPiA+ID4gICAqIEBmZDogb3BlbiBkcm0gZmlsZSBk ZXNjcmlwdG9yDQo+ID4gPiBAQCAtMjAxMSw2ICsyMDk5LDcgQEAgYm9vbCBpZ3RfZm9ybWF0X2lz X3l1dih1aW50MzJfdCBkcm1fZm9ybWF0KQ0KPiA+ID4gIAljYXNlIERSTV9GT1JNQVRfWVZZVToN Cj4gPiA+ICAJY2FzZSBEUk1fRk9STUFUX1VZVlk6DQo+ID4gPiAgCWNhc2UgRFJNX0ZPUk1BVF9W WVVZOg0KPiA+ID4gKwljYXNlIERSTV9GT1JNQVRfWFlVVjoNCj4gPiA+ICAJCXJldHVybiB0cnVl Ow0KPiA+ID4gIAlkZWZhdWx0Og0KPiA+ID4gIAkJcmV0dXJuIGZhbHNlOw0KPiA+IA0KPiA+IC0t IA0KPiA+IEJlc3QgUmVnYXJkcywNCj4gPiANCj4gPiBMaXNvdnNraXkgU3RhbmlzbGF2DQo+ID4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiBpZ3Qt ZGV2IG1haWxpbmcgbGlzdA0KPiA+IGlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4g aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2DQo+ IA0KPiANCi0tIA0KQmVzdCBSZWdhcmRzLA0KDQpMaXNvdnNraXkgU3RhbmlzbGF2Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBs aXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=