From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 791BE6E063 for ; Fri, 24 Apr 2020 00:40:07 +0000 (UTC) Message-ID: <4074b193229d6c32ad3f32249a8595b4dbff92c2.camel@intel.com> From: Paulo Zanoni Date: Thu, 23 Apr 2020 17:40:05 -0700 In-Reply-To: <20200414101109.28762-1-karthik.b.s@intel.com> References: <20200414101109.28762-1-karthik.b.s@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2] tests/kms_async: Add test to validate asynchronous flips 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: Karthik B S , igt-dev@lists.freedesktop.org Cc: "Antognolli, Rafael" List-ID: RW0gdGVyLCAyMDIwLTA0LTE0IMOgcyAxNTo0MSArMDUzMCwgS2FydGhpayBCIFMgZXNjcmV2ZXU6 Cj4gQXN5bmNocm9ub3VzIGZsaXBzIGFyZSBpc3N1ZWQgdXNpbmcgdGhlIHBhZ2UgZmxpcCBJT0NU TC4KPiBUaGUgdGVzdCBjb25zaXN0cyBvZiB0d28gc3VidGVzdHMuIFRoZSBmaXJzdCBzdWJ0ZXN0 IHdhaXRzIGZvcgo+IHRoZSBwYWdlIGZsaXAgZXZlbnQgdG8gYmUgcmVjZWl2ZWQgYmVmb3JlIGdp dmluZyB0aGUgbmV4dCBmbGlwLAo+IGFuZCB0aGUgc2Vjb25kIHN1YnRlc3QgZG9lc24ndCB3YWl0 IGZvciBwYWdlIGZsaXAgZXZlbnRzLgo+IAo+IFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGUgSU9DVEwg aXMgc3VjY2Vzc2Z1bC4KPiAKPiB2MjogQWRkIGF1dGhvcnMgaW4gdGhlIHRlc3QgZmlsZS4gKFBh dWxvKQo+ICAgICBSZWR1Y2UgdGhlIHJ1biB0aW1lIGFuZCB0aW1lb3V0cyB0byBzdWl0IElHVCBu ZWVkcy4gKFBhdWxvKQo+ICAgICBSZXBsYWNlIGlndF9kZWJ1ZydzIHdpdGggaWd0X2Fzc2VydCdz IHRvIGNhdGNoIHNsb3cgZmxpcHMuIChQYXVsbykKPiAgICAgRm9sbG93IElHVCBjb2Rpbmcgc3R5 bGUgcmVnYXJkaW5nIHNwYWNlcy4gKFBhdWxvKQo+ICAgICBNYWtlIHNldCB1cCBjb2RlIHBhcnQg b2YgaWd0X2ZpeHR1cmUuIChQYXVsbykKPiAgICAgU2tpcCB0aGUgdGVzdCBpZiBhc3luYyBmbGlw cyBhcmUgbm90IHN1cHBvcnRlZC4gKFBhdWxvKQo+ICAgICBSZXBsYWNlIHN1Z2dlc3RlZC1ieS4g KFBhdWxvKQo+ICAgICBBZGRlZCBkZXNjcmlwdGlvbiBmb3IgdGVzdCBhbmQgc3VidGVzdHMuCj4g Cj4gU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+ Cj4gU2lnbmVkLW9mZi1ieTogS2FydGhpayBCIFMgPGthcnRoaWsuYi5zQGludGVsLmNvbT4KPiAt LS0KPiAgdGVzdHMvTWFrZWZpbGUuc291cmNlcyB8ICAgMSArCj4gIHRlc3RzL2ttc19hc3luYy5j ICAgICAgfCAyNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAg dGVzdHMvbWVzb24uYnVpbGQgICAgICB8ICAgMSArCj4gIDMgZmlsZXMgY2hhbmdlZCwgMjQ1IGlu c2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2ttc19hc3luYy5jCj4gCj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3Vy Y2VzCj4gaW5kZXggNGU0NGM5OGMuLmVlZGY0ZmNiIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL01ha2Vm aWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gQEAgLTI5LDYgKzI5 LDcgQEAgVEVTVFNfcHJvZ3MgPSBcCj4gIAlmYmRldiBcCj4gIAlrbXNfM2QgXAo+ICAJa21zX2Fk ZGZiX2Jhc2ljIFwKPiArCWttc19hc3luYyBcCj4gIAlrbXNfYXRvbWljIFwKPiAgCWttc19hdG9t aWNfaW50ZXJydXB0aWJsZSBcCj4gIAlrbXNfYXRvbWljX3RyYW5zaXRpb24gXAo+IGRpZmYgLS1n aXQgYS90ZXN0cy9rbXNfYXN5bmMuYyBiL3Rlc3RzL2ttc19hc3luYy5jCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMC4uNjAzMWZmNGUKPiAtLS0gL2Rldi9udWxsCj4gKysr IGIvdGVzdHMva21zX2FzeW5jLmMKPiBAQCAtMCwwICsxLDI0MyBAQAo+ICsvKgo+ICsgKiBDb3B5 cmlnaHQgwqkgMjAyMCBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlz IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg YQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv biBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3 aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRo ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRl LCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoK PiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVk IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3 YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJTVBMSUVELCBJTkNMVURJ TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwK PiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO VC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE RVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4gKyAqIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNP RlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICogSU4gVEhFIFNPRlRXQVJF Lgo+ICsgKgo+ICsgKiBBdXRob3JzOgo+ICsgKiAgUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9u aUBpbnRlbC5jb20+Cj4gKyAqICBLYXJ0aGlrIEIgUyA8a2FydGhpay5iLnNAaW50ZWwuY29tPgo+ ICsgKi8KPiArCj4gKyNpbmNsdWRlICJpZ3QuaCIKPiArI2luY2x1ZGUgImlndF9hdXguaCIKPiAr I2luY2x1ZGUgPHN5cy9pb2N0bC5oPgo+ICsjaW5jbHVkZSA8cG9sbC5oPgo+ICsKPiArI2RlZmlu ZSBCVUZTIDQKPiArI2RlZmluZSBXQVJNX1VQX1RJTUUgMQo+ICsjZGVmaW5lIFJVTl9USU1FIDIK PiArI2RlZmluZSBUSFJFU0hPTEQgMTAgLyogVE9ETzogTWF5IG5lZWQgdHVuaW5nICovCj4gKwo+ ICtJR1RfVEVTVF9ERVNDUklQVElPTigiVGVzdCBhc3luY2hyb3VzIHBhZ2UgZmxpcHMuIik7Cj4g Kwo+ICt0eXBlZGVmIHN0cnVjdCB7Cj4gKwlpbnQgZHJtX2ZkOwo+ICsJdWludDMyX3QgY3J0Y19p ZDsKPiArCXN0cnVjdCBpZ3RfZmIgYnVmc1tCVUZTXTsKPiArCWlndF9kaXNwbGF5X3QgZGlzcGxh eTsKPiArfSBkYXRhX3Q7Cj4gKwo+ICt1aW50MzJfdCByZWZyZXNoX3JhdGU7Cj4gKwo+ICtzdGF0 aWMgZHJtTW9kZUNvbm5lY3RvclB0ciBmaW5kX2Nvbm5lY3Rvcl9mb3JfbW9kZXNldChkYXRhX3Qg KmRhdGEpCj4gK3sKPiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+ICsJZHJtTW9kZUNvbm5lY3Rv clB0ciByZXQgPSBOVUxMOwo+ICsKPiArCWZvcl9lYWNoX2Nvbm5lY3RlZF9vdXRwdXQoJmRhdGEt PmRpc3BsYXksIG91dHB1dCkgewo+ICsJCWlmIChvdXRwdXQtPmNvbmZpZy5jb25uZWN0b3ItPmNv dW50X21vZGVzID4gMCkgewo+ICsJCQlyZXQgPSBvdXRwdXQtPmNvbmZpZy5jb25uZWN0b3I7Cj4g KwkJCWJyZWFrOwo+ICsJCX0KPiArCX0KPiArCj4gKwlpZ3RfYXNzZXJ0X2YocmV0LCAiQ29ubmVj dG9yIE5PVCBmb3VuZFxuIik7Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBmbGlwX2hhbmRsZXIoaW50IGZkXywgdW5zaWduZWQgaW50IHNlcXVlbmNlLCB1bnNpZ25lZCBp bnQgdHZfc2VjLAo+ICsJCQkgdW5zaWduZWQgaW50IHR2X3VzZWMsIHZvaWQgKl9kYXRhKQo+ICt7 Cj4gKwlzdGF0aWMgdW5zaWduZWQgaW50IGxhc3RfbXM7Cj4gKwlzdGF0aWMgYm9vbCBmbGFnOwo+ ICsJdW5zaWduZWQgaW50IGN1cl9tcywgZmxpcF9pbnRlcnZhbDsKPiArCj4gKwlpZ3RfYXNzZXJ0 KF9kYXRhID09IE5VTEwpOwo+ICsKPiArCWN1cl9tcyA9IHR2X3NlYyAqIDEwMDAgKyB0dl91c2Vj IC8gMTAwMDsKPiArCWZsaXBfaW50ZXJ2YWwgPSBjdXJfbXMgLSBsYXN0X21zOwo+ICsKPiArCWln dF9kZWJ1ZygiRmxpcCBpbnRlcnZhbDogJWRtcywgc2VxdWVuY2UgPSAldVxuIiwgZmxpcF9pbnRl cnZhbCwgc2VxdWVuY2UpOwo+ICsKPiArCWlmICghZmxhZykKPiArCQlmbGFnID0gMTsKPiArCWVs c2UKPiArCQlpZ3RfYXNzZXJ0X2YoZmxpcF9pbnRlcnZhbCA8PSAxMDAwIC8gKHJlZnJlc2hfcmF0 ZSAqIFRIUkVTSE9MRCksCj4gKwkJCSAgICAgIkZsaXAgaW50ZXJ2YWwgbm90IHNpZ25pZmljYW50 bHkgc21hbGxlciB0aGFuIHZibGFuayBpbnRlcnZhbFxuIik7CgpTbyB3ZSBqdXN0IGdvdCB0aGlz IHJlcG9ydCBmcm9tIFJhZmFlbDoKCihrbXNfYXN5bmM6MjE2NSkgQ1JJVElDQUw6IEZhaWxlZCBh c3NlcnRpb246IGZsaXBfaW50ZXJ2YWwgPD0gMTAwMCAvCihyZWZyZXNoX3JhdGUgKiBUSFJFU0hP TEQpCihrbXNfYXN5bmM6MjE2NSkgQ1JJVElDQUw6IEZsaXAgaW50ZXJ2YWwgbm90IHNpZ25pZmlj YW50bHkgc21hbGxlciB0aGFuCnZibGFuayBpbnRlcnZhbAoKQXMgaXQgdHVybnMgb3V0LCB0aGF0 IGVycm9yIG1lc3NhZ2UgaXMgbm90IHZlcnkgdXNlZnVsOiB3ZSBkb24ndCBrbm93CmlmIHRoZSBw cm9ibGVtIGlzIGluIG91ciB0aHJlc2hvbGQgb3Igbm90LiBQbGVhc2UgcHJpbnQgdGhlIHZhbHVl IG9mCmZsaXBfaW50ZXJ2YWwsIHJlZnJlc2hfcmF0ZSBhbmQgVEhSRVNIT0xEIGluIHRoZSBlcnJv ciBtZXNzYWdlLiBUaGlzCnNob3VsZCBtYWtlIHRoZSBlcnJvciBtZXNzYWdlcyBtdWNoIG1vcmUg dXNlZnVsLgoKVGhhbmtzLApQYXVsbwoKPiArCj4gKwlsYXN0X21zID0gY3VyX21zOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCB3YWl0X2ZsaXBfZXZlbnQoZGF0YV90ICpkYXRhKQo+ICt7Cj4gKwlp bnQgcmV0Owo+ICsJZHJtRXZlbnRDb250ZXh0IGV2Y3R4Owo+ICsJc3RydWN0IHBvbGxmZCBwZmQ7 Cj4gKwo+ICsJZXZjdHgudmVyc2lvbiA9IDI7Cj4gKwlldmN0eC52YmxhbmtfaGFuZGxlciA9IE5V TEw7Cj4gKwlldmN0eC5wYWdlX2ZsaXBfaGFuZGxlciA9IGZsaXBfaGFuZGxlcjsKPiArCj4gKwlw ZmQuZmQgPSBkYXRhLT5kcm1fZmQ7Cj4gKwlwZmQuZXZlbnRzID0gUE9MTElOOwo+ICsJcGZkLnJl dmVudHMgPSAwOwo+ICsKPiArCXJldCA9IHBvbGwoJnBmZCwgMSwgMjAwMCk7Cj4gKwo+ICsJc3dp dGNoIChyZXQpIHsKPiArCWNhc2UgMDoKPiArCQlpZ3RfYXNzZXJ0X2YoMCwgIkZsaXAgVGltZW91 dFxuIik7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIDE6Cj4gKwkJcmV0ID0gZHJtSGFuZGxlRXZlbnQo ZGF0YS0+ZHJtX2ZkLCAmZXZjdHgpOwo+ICsJCWlndF9hc3NlcnQocmV0ID09IDApOwo+ICsJCWJy ZWFrOwo+ICsJZGVmYXVsdDoKPiArCQkvKiB1bmV4cGVjdGVkICovCj4gKwkJaWd0X2Fzc2VydCgw KTsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgbWFrZV9mYihkYXRhX3QgKmRhdGEsIHN0 cnVjdCBpZ3RfZmIgKmZiLAo+ICsJCSAgICBkcm1Nb2RlQ29ubmVjdG9yUHRyIGNvbm5lY3Rvciwg aW50IGluZGV4KQo+ICt7Cj4gKwl1aW50MzJfdCB3aWR0aCwgaGVpZ2h0Owo+ICsJaW50IHJlY193 aWR0aDsKPiArCj4gKwl3aWR0aCA9IGNvbm5lY3Rvci0+bW9kZXNbMF0uaGRpc3BsYXk7Cj4gKwlo ZWlnaHQgPSBjb25uZWN0b3ItPm1vZGVzWzBdLnZkaXNwbGF5Owo+ICsKPiArCXJlY193aWR0aCA9 IHdpZHRoIC8gKEJVRlMgKiAyKTsKPiArCj4gKwlpZ3RfY3JlYXRlX2ZiKGRhdGEtPmRybV9mZCwg d2lkdGgsIGhlaWdodCwgRFJNX0ZPUk1BVF9BUkdCODg4OCwKPiArCQkgICAgICBMT0NBTF9JOTE1 X0ZPUk1BVF9NT0RfWF9USUxFRCwgZmIpOwo+ICsJaWd0X2RyYXdfZmlsbF9mYihkYXRhLT5kcm1f ZmQsIGZiLCAweDg4KTsKPiArCWlndF9kcmF3X3JlY3RfZmIoZGF0YS0+ZHJtX2ZkLCBOVUxMLCBO VUxMLCBmYiwgSUdUX0RSQVdfTU1BUF9DUFUsCj4gKwkJCSByZWNfd2lkdGggKiAyICsgcmVjX3dp ZHRoICogaW5kZXgsCj4gKwkJCSBoZWlnaHQgLyA0LCByZWNfd2lkdGgsCj4gKwkJCSBoZWlnaHQg LyAyLCByYW5kKCkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB0ZXN0X2FzeW5jX2ZsaXAoZGF0 YV90ICpkYXRhLCBib29sIHdhaXRfZm9yX2ZsaXBzKQo+ICt7Cj4gKwlpbnQgcmV0LCBmcmFtZSwg d2FybV9lbmRfZnJhbWU7Cj4gKwlsb25nIGxvbmcgaW50IGZwczsKPiArCXN0cnVjdCB0aW1ldmFs IHN0YXJ0LCBlbmQsIGRpZmY7Cj4gKwlib29sIHdhcm1pbmdfdXAgPSB0cnVlOwo+ICsKPiArCWdl dHRpbWVvZmRheSgmc3RhcnQsIE5VTEwpOwo+ICsJZnJhbWUgPSAxOwo+ICsJZG8gewo+ICsJCWlu dCBmbGFncyA9IERSTV9NT0RFX1BBR0VfRkxJUF9BU1lOQzsKPiArCj4gKwkJaWYgKHdhaXRfZm9y X2ZsaXBzKQo+ICsJCQlmbGFncyB8PSBEUk1fTU9ERV9QQUdFX0ZMSVBfRVZFTlQ7Cj4gKwo+ICsJ CXJldCA9IGRybU1vZGVQYWdlRmxpcChkYXRhLT5kcm1fZmQsIGRhdGEtPmNydGNfaWQsCj4gKwkJ CQkgICAgICBkYXRhLT5idWZzW2ZyYW1lICUgNF0uZmJfaWQsCj4gKwkJCQkgICAgICBmbGFncywg TlVMTCk7Cj4gKwo+ICsJCWlndF9hc3NlcnQocmV0ID09IDAgfHwgcmV0ID09IC1FQlVTWSk7Cj4g Kwo+ICsJCWlmICh3YWl0X2Zvcl9mbGlwcykKPiArCQkJd2FpdF9mbGlwX2V2ZW50KGRhdGEpOwo+ ICsKPiArCQlnZXR0aW1lb2ZkYXkoJmVuZCwgTlVMTCk7Cj4gKwkJdGltZXJzdWIoJmVuZCwgJnN0 YXJ0LCAmZGlmZik7Cj4gKwo+ICsJCS8qIDFzIG9mIHdhcm0tdXAgdGltZSBmb3IgdGhlIGZyZXEg dG8gc3RhYmlsaXplICovCj4gKwkJaWYgKHdhcm1pbmdfdXAgJiYgZGlmZi50dl9zZWMgPj0gV0FS TV9VUF9USU1FKSB7Cj4gKwkJCXdhcm1pbmdfdXAgPSBmYWxzZTsKPiArCQkJd2FybV9lbmRfZnJh bWUgPSBmcmFtZTsKPiArCQkJc3RhcnQgPSBlbmQ7Cj4gKwkJfQo+ICsKPiArCQlmcmFtZSsrOwo+ ICsJfSB3aGlsZSAoZGlmZi50dl9zZWMgPCBSVU5fVElNRSk7Cj4gKwo+ICsJZnBzID0gKGZyYW1l IC0gd2FybV9lbmRfZnJhbWUpICogMTAwMCAvIFJVTl9USU1FOwo+ICsJaWd0X2Fzc2VydF9mKChm cHMgLyAxMDAwKSA+IChyZWZyZXNoX3JhdGUgKiBUSFJFU0hPTEQpLAo+ICsJCSAgICAgIkZQUyBz aG91bGQgYmUgc2lnbmlmaWNhbnRseSBoaWdoZXIgdGhhbiB0aGUgcmVmcmVzaCByYXRlXG4iKTsK PiArfQo+ICsKPiArc3RhdGljIGJvb2wgaGFzX2FzeW5jKGludCBmZCkKPiArewo+ICsJc3RydWN0 IGRybV9nZXRfY2FwIGNhcCA9IHsgLmNhcGFiaWxpdHkgPSBEUk1fQ0FQX0FTWU5DX1BBR0VfRkxJ UCB9Owo+ICsKPiArCWlvY3RsKGZkLCBEUk1fSU9DVExfR0VUX0NBUCwgJmNhcCk7Cj4gKwlyZXR1 cm4gY2FwLnZhbHVlOwo+ICt9Cj4gKwo+ICtpZ3RfbWFpbgo+ICt7Cj4gKwlkYXRhX3QgZGF0YTsK PiArCWRybU1vZGVSZXNQdHIgcmVzOwo+ICsJZHJtTW9kZUNvbm5lY3RvclB0ciBjb25uZWN0b3I7 Cj4gKwlpbnQgaSwgcmV0Owo+ICsJYm9vbCBhc3luY19jYXBhYmxlOwo+ICsKPiArCWlndF9maXh0 dXJlIHsKPiArCQlkYXRhLmRybV9mZCA9IGRybV9vcGVuX2RyaXZlcl9tYXN0ZXIoRFJJVkVSX0lO VEVMKTsKPiArCQlrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2RlKCk7Cj4gKwkJaWd0X2Rpc3Bs YXlfcmVxdWlyZSgmZGF0YS5kaXNwbGF5LCBkYXRhLmRybV9mZCk7Cj4gKwkJaWd0X2Rpc3BsYXlf cmVxdWlyZV9vdXRwdXQoJmRhdGEuZGlzcGxheSk7Cj4gKwo+ICsJCWFzeW5jX2NhcGFibGUgPSBo YXNfYXN5bmMoZGF0YS5kcm1fZmQpOwo+ICsJCWlndF9yZXF1aXJlX2YoYXN5bmNfY2FwYWJsZSwg IkFzeW5jIEZsaXAgaXMgbm90IHN1cHBvcnRlZFxuIik7Cj4gKwl9Cj4gKwo+ICsJaWd0X2Rlc2Ny aWJlKCJNYWtlIHN1cmUga2VybmVsIGlzIGFibGUgdG8gYWNjZXB0IGFzeW5jaHJvbm91cyBmbGlw cyBhdCBhIGZhc3QgcGFjZS4iKTsKPiArCWlndF9zdWJ0ZXN0X2dyb3VwIHsKPiArCQlpZ3RfZml4 dHVyZSB7Cj4gKwkJCXJlcyA9IGRybU1vZGVHZXRSZXNvdXJjZXMoZGF0YS5kcm1fZmQpOwo+ICsJ CQlpZ3RfYXNzZXJ0KHJlcyk7Cj4gKwo+ICsJCQlrbXN0ZXN0X3Vuc2V0X2FsbF9jcnRjcyhkYXRh LmRybV9mZCwgcmVzKTsKPiArCj4gKwkJCWNvbm5lY3RvciA9IGZpbmRfY29ubmVjdG9yX2Zvcl9t b2Rlc2V0KCZkYXRhKTsKPiArCQkJZGF0YS5jcnRjX2lkID0ga21zdGVzdF9maW5kX2NydGNfZm9y X2Nvbm5lY3RvcihkYXRhLmRybV9mZCwKPiArCQkJCQkJCQkgICAgICAgcmVzLCBjb25uZWN0b3Is IDApOwo+ICsKPiArCQkJcmVmcmVzaF9yYXRlID0gY29ubmVjdG9yLT5tb2Rlc1swXS52cmVmcmVz aDsKPiArCj4gKwkJCWZvciAoaSA9IDA7IGkgPCBCVUZTOyBpKyspCj4gKwkJCQltYWtlX2ZiKCZk YXRhLCAmZGF0YS5idWZzW2ldLCBjb25uZWN0b3IsIGkpOwo+ICsKPiArCQkJcmV0ID0gZHJtTW9k ZVNldENydGMoZGF0YS5kcm1fZmQsIGRhdGEuY3J0Y19pZCwgZGF0YS5idWZzWzBdLmZiX2lkLCAw LCAwLAo+ICsJCQkJCSAgICAgJmNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkLCAxLCAmY29ubmVjdG9y LT5tb2Rlc1swXSk7Cj4gKwkJCWlndF9hc3NlcnQocmV0ID09IDApOwo+ICsJCX0KPiArCj4gKwkJ aWd0X2Rlc2NyaWJlKCJXYWl0IGZvciBwYWdlIGZsaXAgZXZlbnRzIGluIGJldHdlZW4gc3VjY2Vz c2l2ZSBhc3luY2hyb25vdXMgZmxpcHMiKTsKPiArCQlpZ3Rfc3VidGVzdCgiYXN5bmMtZmxpcC13 aXRoLXBhZ2UtZmxpcC1ldmVudHMiKQo+ICsJCQl0ZXN0X2FzeW5jX2ZsaXAoJmRhdGEsIHRydWUp Owo+ICsJCWlndF9kZXNjcmliZSgiRE8gTk9UIHdhaXQgZm9yIHBhZ2UgZmxpcCBldmVudHMgaW4g YmV0d2VlbiBzdWNjZXNzaXZlIGFzeW5jaHJvbm91cyBmbGlwcyIpOwo+ICsJCWlndF9zdWJ0ZXN0 KCJhc3luYy1mbGlwLXdpdGhvdXQtcGFnZS1mbGlwLWV2ZW50cyIpCj4gKwkJCXRlc3RfYXN5bmNf ZmxpcCgmZGF0YSwgZmFsc2UpOwo+ICsKPiArCQlpZ3RfZml4dHVyZSB7Cj4gKwkJCWZvciAoaSA9 IDA7IGkgPCBCVUZTOyBpKyspCj4gKwkJCQlpZ3RfcmVtb3ZlX2ZiKGRhdGEuZHJtX2ZkLCAmZGF0 YS5idWZzW2ldKTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJaWd0X2ZpeHR1cmUKPiArCQlpZ3RfZGlz cGxheV9maW5pKCZkYXRhLmRpc3BsYXkpOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29u LmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKPiBpbmRleCBlODgyZjRkYy4uMDgzMGIxYzkgMTAw NjQ0Cj4gLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKPiArKysgYi90ZXN0cy9tZXNvbi5idWlsZAo+ IEBAIC0xMyw2ICsxMyw3IEBAIHRlc3RfcHJvZ3MgPSBbCj4gIAknZmJkZXYnLAo+ICAJJ2ttc18z ZCcsCj4gIAkna21zX2FkZGZiX2Jhc2ljJywKPiArCSdrbXNfYXN5bmMnLAo+ICAJJ2ttc19hdG9t aWMnLAo+ICAJJ2ttc19hdG9taWNfaW50ZXJydXB0aWJsZScsCj4gIAkna21zX2F0b21pY190cmFu c2l0aW9uJywKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=