From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id DC94289F41 for ; Mon, 26 Aug 2019 13:36:15 +0000 (UTC) From: "Ser, Simon" Date: Mon, 26 Aug 2019 13:36:11 +0000 Message-ID: <1f08d7201bd225fa25e2f82c0e76438c97cf2d9e.camel@intel.com> References: <20190823183306.24711-1-ville.syrjala@linux.intel.com> <20190823183306.24711-2-ville.syrjala@linux.intel.com> In-Reply-To: <20190823183306.24711-2-ville.syrjala@linux.intel.com> Content-Language: en-US Content-ID: MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 2/2] tests/kms_force_connector_basic: Execute with HDMI connectors 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" , "igt-dev@lists.freedesktop.org" List-ID: T24gRnJpLCAyMDE5LTA4LTIzIGF0IDIxOjMzICswMzAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOg0K PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0K PiANCj4gSWYgd2UgY2FuJ3QgZmluZCBhIFZHQSBjb25uZWN0b3IsIGxldCdzIGxvb2sgZm9yIGEg SERNSSBjb25uZWN0b3INCj4gaW5zdGVhZC4gV2UgY2FuIHJ1biBhbGwgYnV0IHRoZSBsb2FkIGRl dGVjdCBzdWJ0ZXN0cyB3aXRoIEhETUkuDQo+IA0KPiB2MjogUmViYXNlDQo+IA0KPiBTaWduZWQt b2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0K DQpJIHN1cHBvc2UgaXQncyBub3Qgd29ydGggaXQgdG8gdHJ5IHRvIGF2b2lkIHRoZSBmZXcgbGlu ZXMgb2YgZHVwbGljYXRlZA0KY29kZS4NCg0KUmV2aWV3ZWQtYnk6IFNpbW9uIFNlciA8c2ltb24u c2VyQGludGVsLmNvbT4NCg0KPiAtLS0NCj4gIHRlc3RzL2ttc19mb3JjZV9jb25uZWN0b3JfYmFz aWMuYyB8IDk1ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0NCj4gIDEgZmlsZSBjaGFu Z2VkLCA1OSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQg YS90ZXN0cy9rbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljLmMgYi90ZXN0cy9rbXNfZm9yY2VfY29u bmVjdG9yX2Jhc2ljLmMNCj4gaW5kZXggZjE1MzNlNTQxNWMwLi5kZGJkOTdlZmQyOWUgMTAwNjQ0 DQo+IC0tLSBhL3Rlc3RzL2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWMuYw0KPiArKysgYi90ZXN0 cy9rbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljLmMNCj4gQEAgLTgwLDQzICs4MCw2MyBAQCBpZ3Rf bWFpbl9hcmdzKCIiLCBsb25nX29wdHMsIGhlbHBfc3RyLCBvcHRfaGFuZGxlciwgTlVMTCkNCj4g IAkvKiBmb3JjZSB0aGUgVkdBIG91dHB1dCBhbmQgdGVzdCB0aGF0IGl0IHdvcmtlZCAqLw0KPiAg CWludCBkcm1fZmQgPSAwOw0KPiAgCWRybU1vZGVSZXMgKnJlczsNCj4gLQlkcm1Nb2RlQ29ubmVj dG9yICp2Z2FfY29ubmVjdG9yID0gTlVMTCwgKnRlbXA7DQo+ICsJZHJtTW9kZUNvbm5lY3RvciAq Y29ubmVjdG9yID0gTlVMTCwgKnRlbXA7DQo+ICAJaW50IHN0YXJ0X25fbW9kZXMsIHN0YXJ0X2Nv bm5lY3Rpb247DQo+ICANCj4gIAlpZ3RfZml4dHVyZSB7DQo+IC0JCXVuc2lnbmVkIHZnYV9jb25u ZWN0b3JfaWQgPSAwOw0KPiArCQl1bnNpZ25lZCBjb25uZWN0b3JfaWQgPSAwOw0KPiAgDQo+ICAJ CWRybV9mZCA9IGRybV9vcGVuX2RyaXZlcl9tYXN0ZXIoRFJJVkVSX0lOVEVMKTsNCj4gIA0KPiAg CQlyZXMgPSBkcm1Nb2RlR2V0UmVzb3VyY2VzKGRybV9mZCk7DQo+ICAJCWlndF9yZXF1aXJlKHJl cyk7DQo+ICANCj4gLQkJLyogZmluZCB0aGUgdmdhIGNvbm5lY3RvciAqLw0KPiArCQkvKiBmaW5k IGEgdmdhIGNvbm5lY3RvciAqLw0KPiAgCQlmb3IgKGludCBpID0gMDsgaSA8IHJlcy0+Y291bnRf Y29ubmVjdG9yczsgaSsrKSB7DQo+IC0JCQl2Z2FfY29ubmVjdG9yID0gZHJtTW9kZUdldENvbm5l Y3RvckN1cnJlbnQoZHJtX2ZkLA0KPiAtCQkJCQkJCQkgICByZXMtPmNvbm5lY3RvcnNbaV0pOw0K PiArCQkJY29ubmVjdG9yID0gZHJtTW9kZUdldENvbm5lY3RvckN1cnJlbnQoZHJtX2ZkLA0KPiAr CQkJCQkJCSAgICAgICByZXMtPmNvbm5lY3RvcnNbaV0pOw0KPiAgDQo+IC0JCQlpZiAodmdhX2Nv bm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX1ZHQSkgew0KPiAr CQkJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX1ZH QSkgew0KPiAgCQkJCS8qIEVuc3VyZSB0aGF0IG5vIG92ZXJyaWRlIHdhcyBsZWZ0IGluIHBsYWNl LiAqLw0KPiAgCQkJCWttc3Rlc3RfZm9yY2VfY29ubmVjdG9yKGRybV9mZCwNCj4gLQkJCQkJCQl2 Z2FfY29ubmVjdG9yLA0KPiArCQkJCQkJCWNvbm5lY3RvciwNCj4gIAkJCQkJCQlGT1JDRV9DT05O RUNUT1JfVU5TUEVDSUZJRUQpOw0KPiAgDQo+ICAJCQkJLyogT25seSB1c2UgdGhlIGZpcnN0IFZH QSBjb25uZWN0b3IuICovDQo+IC0JCQkJaWYgKCF2Z2FfY29ubmVjdG9yX2lkKQ0KPiAtCQkJCQl2 Z2FfY29ubmVjdG9yX2lkID0gcmVzLT5jb25uZWN0b3JzW2ldOw0KPiArCQkJCWlmICghY29ubmVj dG9yX2lkKQ0KPiArCQkJCQljb25uZWN0b3JfaWQgPSByZXMtPmNvbm5lY3RvcnNbaV07DQo+ICAJ CQl9DQo+ICANCj4gLQkJCWRybU1vZGVGcmVlQ29ubmVjdG9yKHZnYV9jb25uZWN0b3IpOw0KPiAr CQkJZHJtTW9kZUZyZWVDb25uZWN0b3IoY29ubmVjdG9yKTsNCj4gIAkJfQ0KPiAgDQo+IC0JCWln dF9yZXF1aXJlKHZnYV9jb25uZWN0b3JfaWQpOw0KPiArCQkvKiBmaW5kIGEgaGRtaSBjb25uZWN0 b3IgaWYgd2UgZGlkbid0IGZpbmQgdmdhICovDQo+ICsJCWZvciAoaW50IGkgPSAwOyBpIDwgcmVz LT5jb3VudF9jb25uZWN0b3JzOyBpKyspIHsNCj4gKwkJCWNvbm5lY3RvciA9IGRybU1vZGVHZXRD b25uZWN0b3JDdXJyZW50KGRybV9mZCwNCj4gKwkJCQkJCQkgICAgICAgcmVzLT5jb25uZWN0b3Jz W2ldKTsNCj4gKw0KPiArCQkJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01P REVfQ09OTkVDVE9SX0hETUlBIHx8DQo+ICsJCQkgICAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlw ZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUIpIHsNCj4gKwkJCQkvKiBFbnN1cmUgdGhhdCBu byBvdmVycmlkZSB3YXMgbGVmdCBpbiBwbGFjZS4gKi8NCj4gKwkJCQlrbXN0ZXN0X2ZvcmNlX2Nv bm5lY3Rvcihkcm1fZmQsDQo+ICsJCQkJCQkJY29ubmVjdG9yLA0KPiArCQkJCQkJCUZPUkNFX0NP Tk5FQ1RPUl9VTlNQRUNJRklFRCk7DQo+ICsNCj4gKwkJCQkvKiBVc2UgdGhlIHRoZSBmaXJzdCBI RE1JIGNvbm5lY3Rvci4gKi8NCj4gKwkJCQlpZiAoIWNvbm5lY3Rvcl9pZCkNCj4gKwkJCQkJY29u bmVjdG9yX2lkID0gcmVzLT5jb25uZWN0b3JzW2ldOw0KPiArCQkJfQ0KPiArDQo+ICsJCQlkcm1N b2RlRnJlZUNvbm5lY3Rvcihjb25uZWN0b3IpOw0KPiArCQl9DQo+ICsNCj4gKwkJaWd0X3JlcXVp cmUoY29ubmVjdG9yX2lkKTsNCj4gIA0KPiAgCQkvKiBSZWFjcXVpcmUgc3RhdHVzIGFmdGVyIGNs ZWFyaW5nIGFueSBwcmV2aW91cyBvdmVycmlkZXMgKi8NCj4gLQkJdmdhX2Nvbm5lY3RvciA9IGRy bU1vZGVHZXRDb25uZWN0b3IoZHJtX2ZkLCB2Z2FfY29ubmVjdG9yX2lkKTsNCj4gKwkJY29ubmVj dG9yID0gZHJtTW9kZUdldENvbm5lY3Rvcihkcm1fZmQsIGNvbm5lY3Rvcl9pZCk7DQo+ICANCj4g LQkJc3RhcnRfbl9tb2RlcyA9IHZnYV9jb25uZWN0b3ItPmNvdW50X21vZGVzOw0KPiAtCQlzdGFy dF9jb25uZWN0aW9uID0gdmdhX2Nvbm5lY3Rvci0+Y29ubmVjdGlvbjsNCj4gKwkJc3RhcnRfbl9t b2RlcyA9IGNvbm5lY3Rvci0+Y291bnRfbW9kZXM7DQo+ICsJCXN0YXJ0X2Nvbm5lY3Rpb24gPSBj b25uZWN0b3ItPmNvbm5lY3Rpb247DQo+ICAJfQ0KPiAgDQo+ICAJaWd0X3N1YnRlc3QoImZvcmNl LWxvYWQtZGV0ZWN0Iikgew0KPiBAQCAtMTI0LDYgKzE0NCw5IEBAIGlndF9tYWluX2FyZ3MoIiIs IGxvbmdfb3B0cywgaGVscF9zdHIsIG9wdF9oYW5kbGVyLCBOVUxMKQ0KPiAgCQlkcm1Nb2RlUGxh bmVSZXMgKnBsYW5lX3Jlc291cmNlczsNCj4gIAkJc3RydWN0IGlndF9mYiB4cmdiX2ZiLCBhcmdi X2ZiOw0KPiAgDQo+ICsJCS8qIG5vIGxvYWQgZGV0ZWN0IG9uIEhETUkgKi8NCj4gKwkJaWd0X3Jl cXVpcmUoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfVkdB KTsNCj4gKw0KPiAgCQlpZ3RfY3JlYXRlX2ZiKGRybV9mZCwgdywgaCwgRFJNX0ZPUk1BVF9YUkdC ODg4OCwgMCwgJnhyZ2JfZmIpOw0KPiAgCQlpZ3RfY3JlYXRlX2ZiKGRybV9mZCwgdywgaCwgRFJN X0ZPUk1BVF9BUkdCODg4OCwgMCwgJmFyZ2JfZmIpOw0KPiAgCQlpZ3RfYXNzZXJ0KGRybVNldENs aWVudENhcChkcm1fZmQsIERSTV9DTElFTlRfQ0FQX1VOSVZFUlNBTF9QTEFORVMsIDEpID09IDAp Ow0KPiBAQCAtMTc2LDcgKzE5OSw3IEBAIGlndF9tYWluX2FyZ3MoIiIsIGxvbmdfb3B0cywgaGVs cF9zdHIsIG9wdF9oYW5kbGVyLCBOVUxMKQ0KPiAgCQkvKiBUaGlzIGNhbid0IHVzZSBkcm1Nb2Rl R2V0Q29ubmVjdG9yQ3VycmVudA0KPiAgCQkgKiBiZWNhdXNlIGNvbm5lY3RvciBwcm9iaW5nIGlz IHRoZSBwb2ludCBvZiB0aGlzIHRlc3QuDQo+ICAJCSAqLw0KPiAtCQl0ZW1wID0gZHJtTW9kZUdl dENvbm5lY3Rvcihkcm1fZmQsIHZnYV9jb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCk7DQo+ICsJCXRl bXAgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yKGRybV9mZCwgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQp Ow0KPiAgDQo+ICAJCWlndF9zZXRfbW9kdWxlX3BhcmFtX2ludCgibG9hZF9kZXRlY3RfdGVzdCIs IDApOw0KPiAgDQo+IEBAIC0yMDYsOSArMjI5LDkgQEAgaWd0X21haW5fYXJncygiIiwgbG9uZ19v cHRzLCBoZWxwX3N0ciwgb3B0X2hhbmRsZXIsIE5VTEwpDQo+ICAJCWlndF9kaXNwbGF5X3QgZGlz cGxheTsNCj4gIA0KPiAgCQkvKiBmb3JjZSB0aGUgY29ubmVjdG9yIG9uIGFuZCBjaGVjayB0aGUg cmVwb3J0ZWQgdmFsdWVzICovDQo+IC0JCWttc3Rlc3RfZm9yY2VfY29ubmVjdG9yKGRybV9mZCwg dmdhX2Nvbm5lY3RvciwgRk9SQ0VfQ09OTkVDVE9SX09OKTsNCj4gKwkJa21zdGVzdF9mb3JjZV9j b25uZWN0b3IoZHJtX2ZkLCBjb25uZWN0b3IsIEZPUkNFX0NPTk5FQ1RPUl9PTik7DQo+ICAJCXRl bXAgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1fZmQsDQo+IC0JCQkJCQkgIHZnYV9j b25uZWN0b3ItPmNvbm5lY3Rvcl9pZCk7DQo+ICsJCQkJCQkgIGNvbm5lY3Rvci0+Y29ubmVjdG9y X2lkKTsNCj4gIAkJaWd0X2Fzc2VydF9lcSh0ZW1wLT5jb25uZWN0aW9uLCBEUk1fTU9ERV9DT05O RUNURUQpOw0KPiAgCQlpZ3RfYXNzZXJ0X2x0KDAsIHRlbXAtPmNvdW50X21vZGVzKTsNCj4gIAkJ ZHJtTW9kZUZyZWVDb25uZWN0b3IodGVtcCk7DQo+IEBAIC0yMjEsMzUgKzI0NCwzNSBAQCBpZ3Rf bWFpbl9hcmdzKCIiLCBsb25nX29wdHMsIGhlbHBfc3RyLCBvcHRfaGFuZGxlciwgTlVMTCkNCj4g IA0KPiAgDQo+ICAJCS8qIGZvcmNlIHRoZSBjb25uZWN0b3Igb2ZmICovDQo+IC0JCWttc3Rlc3Rf Zm9yY2VfY29ubmVjdG9yKGRybV9mZCwgdmdhX2Nvbm5lY3RvciwNCj4gKwkJa21zdGVzdF9mb3Jj ZV9jb25uZWN0b3IoZHJtX2ZkLCBjb25uZWN0b3IsDQo+ICAJCQkJCUZPUkNFX0NPTk5FQ1RPUl9P RkYpOw0KPiAgCQl0ZW1wID0gZHJtTW9kZUdldENvbm5lY3RvckN1cnJlbnQoZHJtX2ZkLA0KPiAt CQkJCQkJICB2Z2FfY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOw0KPiArCQkJCQkJICBjb25uZWN0 b3ItPmNvbm5lY3Rvcl9pZCk7DQo+ICAJCWlndF9hc3NlcnRfZXEodGVtcC0+Y29ubmVjdGlvbiwg RFJNX01PREVfRElTQ09OTkVDVEVEKTsNCj4gIAkJaWd0X2Fzc2VydF9lcSgwLCB0ZW1wLT5jb3Vu dF9tb2Rlcyk7DQo+ICAJCWRybU1vZGVGcmVlQ29ubmVjdG9yKHRlbXApOw0KPiAgDQo+ICAJCS8q IGNoZWNrIHRoYXQgdGhlIHByZXZpb3VzIHN0YXRlIGlzIHJlc3RvcmVkICovDQo+IC0JCWttc3Rl c3RfZm9yY2VfY29ubmVjdG9yKGRybV9mZCwgdmdhX2Nvbm5lY3RvciwNCj4gKwkJa21zdGVzdF9m b3JjZV9jb25uZWN0b3IoZHJtX2ZkLCBjb25uZWN0b3IsDQo+ICAJCQkJCUZPUkNFX0NPTk5FQ1RP Ul9VTlNQRUNJRklFRCk7DQo+ICAJCXRlbXAgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChk cm1fZmQsDQo+IC0JCQkJCQkgIHZnYV9jb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCk7DQo+ICsJCQkJ CQkgIGNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkKTsNCj4gIAkJaWd0X2Fzc2VydF9lcSh0ZW1wLT5j b25uZWN0aW9uLCBzdGFydF9jb25uZWN0aW9uKTsNCj4gIAkJZHJtTW9kZUZyZWVDb25uZWN0b3Io dGVtcCk7DQo+ICAJfQ0KPiAgDQo+ICAJaWd0X3N1YnRlc3QoImZvcmNlLWVkaWQiKSB7DQo+IC0J CWttc3Rlc3RfZm9yY2VfY29ubmVjdG9yKGRybV9mZCwgdmdhX2Nvbm5lY3RvciwNCj4gKwkJa21z dGVzdF9mb3JjZV9jb25uZWN0b3IoZHJtX2ZkLCBjb25uZWN0b3IsDQo+ICAJCQkJCUZPUkNFX0NP Tk5FQ1RPUl9PTik7DQo+ICAJCXRlbXAgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkcm1f ZmQsDQo+IC0JCQkJCQkgIHZnYV9jb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCk7DQo+ICsJCQkJCQkg IGNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkKTsNCj4gIAkJZHJtTW9kZUZyZWVDb25uZWN0b3IodGVt cCk7DQo+ICANCj4gIAkJLyogdGVzdCBlZGlkIGZvcmNpbmcgKi8NCj4gLQkJa21zdGVzdF9mb3Jj ZV9lZGlkKGRybV9mZCwgdmdhX2Nvbm5lY3RvciwNCj4gKwkJa21zdGVzdF9mb3JjZV9lZGlkKGRy bV9mZCwgY29ubmVjdG9yLA0KPiAgCQkJCSAgIGlndF9rbXNfZ2V0X2Jhc2VfZWRpZCgpKTsNCj4g IAkJdGVtcCA9IGRybU1vZGVHZXRDb25uZWN0b3JDdXJyZW50KGRybV9mZCwNCj4gLQkJCQkJCSAg dmdhX2Nvbm5lY3Rvci0+Y29ubmVjdG9yX2lkKTsNCj4gKwkJCQkJCSAgY29ubmVjdG9yLT5jb25u ZWN0b3JfaWQpOw0KPiAgDQo+ICAJCWlndF9kZWJ1ZygibnVtX2Nvbm4gJWlcbiIsIHRlbXAtPmNv dW50X21vZGVzKTsNCj4gIA0KPiBAQCAtMjYwLDExICsyODMsMTEgQEAgaWd0X21haW5fYXJncygi IiwgbG9uZ19vcHRzLCBoZWxwX3N0ciwgb3B0X2hhbmRsZXIsIE5VTEwpDQo+ICAJCWRybU1vZGVG cmVlQ29ubmVjdG9yKHRlbXApOw0KPiAgDQo+ICAJCS8qIHJlbW92ZSBlZGlkICovDQo+IC0JCWtt c3Rlc3RfZm9yY2VfZWRpZChkcm1fZmQsIHZnYV9jb25uZWN0b3IsIE5VTEwpOw0KPiAtCQlrbXN0 ZXN0X2ZvcmNlX2Nvbm5lY3Rvcihkcm1fZmQsIHZnYV9jb25uZWN0b3IsDQo+ICsJCWttc3Rlc3Rf Zm9yY2VfZWRpZChkcm1fZmQsIGNvbm5lY3RvciwgTlVMTCk7DQo+ICsJCWttc3Rlc3RfZm9yY2Vf Y29ubmVjdG9yKGRybV9mZCwgY29ubmVjdG9yLA0KPiAgCQkJCQlGT1JDRV9DT05ORUNUT1JfVU5T UEVDSUZJRUQpOw0KPiAgCQl0ZW1wID0gZHJtTW9kZUdldENvbm5lY3RvckN1cnJlbnQoZHJtX2Zk LA0KPiAtCQkJCQkJICB2Z2FfY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOw0KPiArCQkJCQkJICBj b25uZWN0b3ItPmNvbm5lY3Rvcl9pZCk7DQo+ICAJCS8qIHRoZSBjb25uZWN0b3Igc2hvdWxkIG5v dyBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBtb2RlcyB0aGF0DQo+ICAJCSAqIGl0IHN0YXJ0ZWQg d2l0aCAqLw0KPiAgCQlpZ3RfYXNzZXJ0X2VxKHRlbXAtPmNvdW50X21vZGVzLCBzdGFydF9uX21v ZGVzKTsNCj4gQEAgLTI3NSwxNCArMjk4LDE0IEBAIGlndF9tYWluX2FyZ3MoIiIsIGxvbmdfb3B0 cywgaGVscF9zdHIsIG9wdF9oYW5kbGVyLCBOVUxMKQ0KPiAgCWlndF9zdWJ0ZXN0KCJwcnVuZS1z dGFsZS1tb2RlcyIpIHsNCj4gIAkJaW50IGk7DQo+ICANCj4gLQkJa21zdGVzdF9mb3JjZV9jb25u ZWN0b3IoZHJtX2ZkLCB2Z2FfY29ubmVjdG9yLA0KPiArCQlrbXN0ZXN0X2ZvcmNlX2Nvbm5lY3Rv cihkcm1fZmQsIGNvbm5lY3RvciwNCj4gIAkJCQkJRk9SQ0VfQ09OTkVDVE9SX09OKTsNCj4gIA0K PiAgCQkvKiB0ZXN0IHBydW5pbmcgb2Ygc3RhbGUgbW9kZXMgKi8NCj4gLQkJa21zdGVzdF9mb3Jj ZV9lZGlkKGRybV9mZCwgdmdhX2Nvbm5lY3RvciwNCj4gKwkJa21zdGVzdF9mb3JjZV9lZGlkKGRy bV9mZCwgY29ubmVjdG9yLA0KPiAgCQkJCSAgIGlndF9rbXNfZ2V0X2FsdF9lZGlkKCkpOw0KPiAg CQl0ZW1wID0gZHJtTW9kZUdldENvbm5lY3RvckN1cnJlbnQoZHJtX2ZkLA0KPiAtCQkJCQkJICB2 Z2FfY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOw0KPiArCQkJCQkJICBjb25uZWN0b3ItPmNvbm5l Y3Rvcl9pZCk7DQo+ICANCj4gIAkJZm9yIChpID0gMDsgaSA8IHRlbXAtPmNvdW50X21vZGVzOyBp KyspIHsNCj4gIAkJCWlmICh0ZW1wLT5tb2Rlc1tpXS5oZGlzcGxheSA9PSAxNDAwICYmDQo+IEBA IC0yOTMsMTAgKzMxNiwxMCBAQCBpZ3RfbWFpbl9hcmdzKCIiLCBsb25nX29wdHMsIGhlbHBfc3Ry LCBvcHRfaGFuZGxlciwgTlVMTCkNCj4gIA0KPiAgCQlkcm1Nb2RlRnJlZUNvbm5lY3Rvcih0ZW1w KTsNCj4gIA0KPiAtCQlrbXN0ZXN0X2ZvcmNlX2VkaWQoZHJtX2ZkLCB2Z2FfY29ubmVjdG9yLA0K PiArCQlrbXN0ZXN0X2ZvcmNlX2VkaWQoZHJtX2ZkLCBjb25uZWN0b3IsDQo+ICAJCQkJICAgaWd0 X2ttc19nZXRfYmFzZV9lZGlkKCkpOw0KPiAgCQl0ZW1wID0gZHJtTW9kZUdldENvbm5lY3RvckN1 cnJlbnQoZHJtX2ZkLA0KPiAtCQkJCQkJICB2Z2FfY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOw0K PiArCQkJCQkJICBjb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCk7DQo+ICANCj4gIAkJZm9yIChpID0g MDsgaSA8IHRlbXAtPmNvdW50X21vZGVzOyBpKyspIHsNCj4gIAkJCWlmICh0ZW1wLT5tb2Rlc1tp XS5oZGlzcGxheSA9PSAxNDAwICYmDQo+IEBAIC0zMDcsMTMgKzMzMCwxMyBAQCBpZ3RfbWFpbl9h cmdzKCIiLCBsb25nX29wdHMsIGhlbHBfc3RyLCBvcHRfaGFuZGxlciwgTlVMTCkNCj4gIA0KPiAg CQlkcm1Nb2RlRnJlZUNvbm5lY3Rvcih0ZW1wKTsNCj4gIA0KPiAtCQlrbXN0ZXN0X2ZvcmNlX2Vk aWQoZHJtX2ZkLCB2Z2FfY29ubmVjdG9yLCBOVUxMKTsNCj4gLQkJa21zdGVzdF9mb3JjZV9jb25u ZWN0b3IoZHJtX2ZkLCB2Z2FfY29ubmVjdG9yLA0KPiArCQlrbXN0ZXN0X2ZvcmNlX2VkaWQoZHJt X2ZkLCBjb25uZWN0b3IsIE5VTEwpOw0KPiArCQlrbXN0ZXN0X2ZvcmNlX2Nvbm5lY3Rvcihkcm1f ZmQsIGNvbm5lY3RvciwNCj4gIAkJCQkJRk9SQ0VfQ09OTkVDVE9SX1VOU1BFQ0lGSUVEKTsNCj4g IAl9DQo+ICANCj4gIAlpZ3RfZml4dHVyZSB7DQo+IC0JCWRybU1vZGVGcmVlQ29ubmVjdG9yKHZn YV9jb25uZWN0b3IpOw0KPiArCQlkcm1Nb2RlRnJlZUNvbm5lY3Rvcihjb25uZWN0b3IpOw0KPiAg CQljbG9zZShkcm1fZmQpOw0KPiAgDQo+ICAJCXJlc2V0X2Nvbm5lY3RvcnMoKTsNCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBs aXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==