From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Morton, Derek J" Subject: Re: [PATCH i-g-t] gem_flink_race/prime_self_import: Improve test reliability Date: Thu, 10 Dec 2015 11:51:29 +0000 Message-ID: <2D016F5BA44C744783BA96B1D3EBC5BD13ED6293@IRSMSX102.ger.corp.intel.com> References: <1449578684-16320-1-git-send-email-derek.j.morton@intel.com> <20151210101318.GQ20822@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 240C96E9DF for ; Thu, 10 Dec 2015 03:51:32 -0800 (PST) In-Reply-To: <20151210101318.GQ20822@phenom.ffwll.local> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: "intel-gfx@lists.freedesktop.org" , "Wood, Thomas" List-Id: intel-gfx@lists.freedesktop.org Pgo+Cj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+RnJvbTogRGFuaWVsIFZldHRlciBbbWFp bHRvOmRhbmllbC52ZXR0ZXJAZmZ3bGwuY2hdIE9uIEJlaGFsZiBPZiBEYW5pZWwgVmV0dGVyCj5T ZW50OiBUaHVyc2RheSwgRGVjZW1iZXIgMTAsIDIwMTUgMTA6MTMgQU0KPlRvOiBNb3J0b24sIERl cmVrIEoKPkNjOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBXb29kLCBUaG9tYXMK PlN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggaS1nLXRdIGdlbV9mbGlua19yYWNlL3By aW1lX3NlbGZfaW1wb3J0OiBJbXByb3ZlIHRlc3QgcmVsaWFiaWxpdHkKPgo+T24gVHVlLCBEZWMg MDgsIDIwMTUgYXQgMTI6NDQ6NDRQTSArMDAwMCwgRGVyZWsgTW9ydG9uIHdyb3RlOgo+PiBnZW1f ZmxpbmtfcmFjZSBhbmQgcHJpbWVfc2VsZl9pbXBvcnQgaGF2ZSBzdWJ0ZXN0cyB3aGljaCByZWFk IHRoZSAKPj4gbnVtYmVyIG9mIG9wZW4gZ2VtIG9iamVjdHMgZnJvbSBkZWJ1Z2ZzIHRvIGRldGVy bWluZSBpZiBvYmplY3RzIGhhdmUgCj4+IGxlYWtlZCBkdXJpbmcgdGhlIHRlc3QuIEhvd2V2ZXIg dGhlIHRlc3QgY2FuIGZhaWwgc3BvcmFkaWNhbGx5IGlmIHRoZSAKPj4gbnVtYmVyIG9mIGdlbSBv YmplY3RzIGNoYW5nZXMgZHVlIHRvIG90aGVyIHByb2Nlc3MgYWN0aXZpdHkuCj4+IFRoaXMgcGF0 Y2ggaW50cm9kdWNlcyBhIGNoYW5nZSB0byBjaGVjayB0aGUgbnVtYmVyIG9mIGdlbSBvYmplY3Rz IAo+PiBzZXZlcmFsIHRpbWVzIHRvIGZpbHRlciBvdXQgYW55IGZsdWN0dWF0aW9ucy4KPgo+V2h5 IGV4YWN0bHkgZG9lcyB0aGlzIGhhcHBlbj8gSUdUIHRlc3RzIHNob3VsZCBiZSBydW4gb24gYmFy ZSBtZXRhbCwgd2l0aCBldmVyeXRoaW5nIGVsc2Uga2lsbGVkL3N1YmR1ZWQvc2h1dHVwLiBJZiB0 aGVyZSdzIHN0aWxsIHRoaW5ncyBnb2luZyBvbiB0aGF0IGNyZWF0ZSBvYmplY3RzLCB3ZSBuZWVk IHRvIHN0b3AgdGhlbSBmcm9tIGRvaW5nIHRoYXQuCj4KPklmIHRoaXMgb25seSBhcHBsaWVzIHRv IEFuZHJvaWQsIG9yIHNvbWUgc3BlY2lhbCBBbmRyb2lkIGRlYW1vbiB0aGVtIGltbyBjaGVjayBm b3IgdGhhdCBhdCBydW50aW1lIGFuZCBpZ3Rfc2tpcCgieW91ciBzZXR1cCBpcyBpbnZhbGlkLCBk ZWFtb24gJXMgcnVubmluZ1xuIik7IGlzIHRoZSBjb3JyZWN0IGZpeC4gQWZ0ZXIgYWxsIGp1c3Qg YmVjYXVzZSB5b3Ugc2FtcGxlZCBmb3IgYSBiaXQgZG9lc24ndCBtZWFuIHRoYXQgaXQgd29udCBz dGlsbCBjaGFuZ2UgcmlnaHQgd2hlbiB5b3Ugc3RhcnQgcnVubmluZyB0aGUgdGVzdCBmb3IgcmVh bCwgc28gdGhpcyBpcyBzdGlsbCBmcmFnaWxlLgoKQmVmb3JlIHJ1bm5pbmcgdGVzdHMgb24gYW5k cm9pZCB3ZSBkbyBzdG9wIGV2ZXJ5dGhpbmcgcG9zc2libGUuIEkgc3VzcGVjdCB0aGUgY3VscHJp dCBpcyBjb3JldSBnZXR0aW5nIGF1dG9tYXRpY2FsbHkgcmVzdGFydGVkIGFmdGVyIGl0IGlzIHN0 b3BwZWQuIEkgaGFkIGFkZGl0aW9uYWwgZGVidWcgd2hpbGUgZGV2ZWxvcGluZyB0aGlzIHBhdGNo IGFuZCB3aGF0IEkgc2F3IHdhcyB0aGUgc3lzdGVtIGJlaW5nIG1vc3RseSBxdWllc2NlbnQgYnV0 IHdpdGggc29tZSB2ZXJ5IGxvdyBsZXZlbCBiYWNrZ3JvdW5kIGFjdGl2aXR5LiAxIGV4dHJhIG9i amVjdCBiZWluZyBjcmVhdGVkIGFuZCB0aGVuIGRlbGV0ZWQgb2NjYXNpb25hbGx5LiBEZXBlbmRp bmcgb24gd2hldGhlciBpdCBvY2N1cnJlZCBhdCB0aGUgc3RhcnQgb3IgZW5kIG9mIHRoZSB0ZXN0 IGl0IHdhcyByZXN1bHRpbmcgaW4gYSByZXBvcnRlZCBsZWFrIG9mIGVpdGhlciAxIG9yIC0xIG9i amVjdHMuIFRoZSBwYXRjaCBmaXhlcyB0aGF0IGlzc3VlIGJ5IHRha2luZyBzZXZlcmFsIHNhbXBs ZXMgYW5kIHJlcXVpcmluZyB0aGVtIHRvIGJlIHRoZSBzYW1lLCB0aGVyZWZvcmUgZmlsdGVyaW5n IG91dCB0aGUgbG93IGxldmVsIGJhY2tncm91bmQgbm9pc2UuIEl0IHdvdWxkIG5vdCBoZWxwIGlm IHNvbWV0aGluZyBpbiB0aGUgYmFja2dyb3VuZCBhbGxvY2F0ZWQgYW4gb2JqZWN0IGFuZCBrZXB0 IGl0IGFsbG9jYXRlZCwgYnV0IEkgaGF2ZSBub3Qgc2VlbiB0aGF0IGhhcHBlbi4gSSBvbmx5IHNh dyBvbmNlIHRoZSBvYmplY3QgY291bnQgaW5jcmVhc2luZyBmb3IgMiBjb25zZWN1dGl2ZSByZWFk cyBoZW5jZSB0aGUgY291bnQgdG8gNCB0byBnaXZlIGEgbWFyZ2luLiBUaGUgdGVzdCB3YXMgZmFp bGluZyBhYm91dCAxMCUuIFdpdGggdGhpcyBwYXRjaCBJIGdvdCAxMDAlIHBhc3MgYWNyb3NzIDMw MCBydW5zIG9mIGVhY2ggb2YgdGhlIHRlc3RzLgoKSWYgeW91IGFyZSBjb25jZXJuZWQgYWJvdXQg dGhlIGJlaGF2aW91ciB3aGVuIHJ1bm5pbmcgdGhlIHRlc3Qgd2l0aCBhIGxvYWQgb2YgYmFja2dy b3VuZCBhY3Rpdml0eSBJIGNvdWxkIGFkZCBjb2RlIHRvIGxpbWl0IHRvIHRoZSByZXNldCBvZiB0 aGUgY291bnQgYW5kIGZhaWwgdGhlIHRlc3QgaW4gdGhhdCBpbnN0YW5jZS4gVGhhdCB3b3VsZCBn aXZlIGEgYmVuZWZpdCBvZiBkaXN0aW5ndWlzaGluZyBhIHRlc3QgZmFpbCBkdWUgdG8gZXhjZXNz aXZlIGJhY2tncm91bmQgYWN0aXZpdHkgZnJvbSBhIGRldGVjdGVkIGxlYWsuCgpJIHdvdWxkIG5v dCB3YW50IHRvIGp1c3QgaGF2ZSB0aGUgdGVzdCBza2lwIGFzIHRoYXQgaW50cm9kdWNlcyBhIGhv bGUgaW4gb3VyIHRlc3QgY292ZXJhZ2UuCgo+Cj5BbHNvIHdvdWxkIGJlIGdvb2QgdG8gZXh0cmFj dCBnZXRfc3RhYmxlX29ial9jb3VudCB0byBhIHByb3BlciBpZ3QgbGlicmFyeSBmdW5jdGlvbiwg aWYgaXQgaW5kZWVkIG5lZWRzIHRvIGJlIHRoaXMgdHJpY2t5LiBBbmQgdGhlbiBhZGQgdGhlIGV4 cGxhbmF0aW9uIGZvciB3aHkgd2UgbmVlZCB0aGlzIGluIHRoZSBndGtkb2MuCgpJICBjYW4gbW92 ZSB0aGUgY29kZSB0byBhbiBpZ3QgbGlicmFyeS4gV2hpY2ggbGlicmFyeSB3b3VsZCB5b3Ugc3Vn Z2VzdD8gSWd0X2RlYnVnZnMgPwoKLy9EZXJlawoKPgo+VGhhbmtzLCBEYW5pZWwKPj4gCj4+IFNp Z25lZC1vZmYtYnk6IERlcmVrIE1vcnRvbiA8ZGVyZWsuai5tb3J0b25AaW50ZWwuY29tPgo+PiAt LS0KPj4gIHRlc3RzL2dlbV9mbGlua19yYWNlLmMgICAgfCAzNCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tCj4+ICB0ZXN0cy9wcmltZV9zZWxmX2ltcG9ydC5jIHwgNDMgCj4+ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPj4gIDIgZmlsZXMgY2hh bmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0 IGEvdGVzdHMvZ2VtX2ZsaW5rX3JhY2UuYyBiL3Rlc3RzL2dlbV9mbGlua19yYWNlLmMgaW5kZXgg Cj4+IGIxN2VmODUuLjA1NTJlMTIgMTAwNjQ0Cj4+IC0tLSBhL3Rlc3RzL2dlbV9mbGlua19yYWNl LmMKPj4gKysrIGIvdGVzdHMvZ2VtX2ZsaW5rX3JhY2UuYwo+PiBAQCAtNDQsNyArNDQsNyBAQCBJ R1RfVEVTVF9ERVNDUklQVElPTigiQ2hlY2sgZm9yIGZsaW5rL29wZW4gdnMuIGdlbSBjbG9zZSBy YWNlcy4iKTsKPj4gICAqIGluIHRoZSBmbGluayBuYW1lIGFuZCBjb3JyZXNwb25kaW5nIHJlZmVy ZW5jZSBnZXR0aW5nIGxlYWtlZC4KPj4gICAqLwo+PiAgCj4+IC0vKiBXZSB3YW50IGxvY2tsZXNz IGFuZCBJJ20gdG8gbGF6eSB0byBkaWcgb3V0IGFuIGF0b21pYyBsaWJhcmFyeS4gT24gCj4+IHg4 NiB0aGlzCj4+ICsvKiBXZSB3YW50IGxvY2tsZXNzIGFuZCBJJ20gdG8gbGF6eSB0byBkaWcgb3V0 IGFuIGF0b21pYyBsaWJyYXJ5LiBPbiAKPj4gK3g4NiB0aGlzCj4+ICAgKiB3b3JrcywgdG9vLiAq Lwo+PiAgdm9sYXRpbGUgaW50IHBsc19kaWUgPSAwOwo+PiAgaW50IGZkOwo+PiBAQCAtNjUsNiAr NjUsMzIgQEAgc3RhdGljIGludCBnZXRfb2JqZWN0X2NvdW50KHZvaWQpCj4+ICAJcmV0dXJuIHJl dDsKPj4gIH0KPj4gIAo+PiArc3RhdGljIGludCBnZXRfc3RhYmxlX29ial9jb3VudChpbnQgZHJp dmVyKSB7Cj4+ICsJLyogVGhlIHRlc3QgcmVsaWVzIG9uIHRoZSBzeXN0ZW0gYmVpbmcgaW4gdGhl IHNhbWUgc3RhdGUgYmVmb3JlIGFuZAo+PiArCSAgIGFmdGVyIHRoZSB0ZXN0IHNvIGFueSBkaWZm ZXJlbmNlIGluIHRoZSBvYmplY3QgY291bnQgaXMgYSByZXN1bHQgb2YKPj4gKwkgICBsZWFrcyBk dXJpbmcgdGhlIHRlc3QuIGdlbV9xdWllc2NlbnRfZ3B1KCkgbW9zdGx5IGFjaGlldmVzIHRoaXMg YnV0Cj4+ICsJICAgb2NjYXNpb25hbGx5IG9ial9jb3VudCBjYW4gc3RpbGwgY2hhbmdlLiBUaGUg bG9vcCBlbnN1cmVzIG9ial9jb3VudAo+PiArCSAgIGhhcyByZW1haW5lZCBzdGFibGUgb3ZlciBz ZXZlcmFsIGNoZWNrcyAqLwo+PiArCWludCBvYmpfY291bnQsIHByZXZfb2JqX2NvdW50Owo+PiAr CWludCBsb29wX2NvdW50ID0gMDsKPj4gKwlnZW1fcXVpZXNjZW50X2dwdShkcml2ZXIpOwo+PiAr CXByZXZfb2JqX2NvdW50ID0gZ2V0X29iamVjdF9jb3VudCgpOwo+PiArCXdoaWxlIChsb29wX2Nv dW50IDwgNCkgewo+PiArCQl1c2xlZXAoMjAwMDAwKTsKPj4gKwkJZ2VtX3F1aWVzY2VudF9ncHUo ZHJpdmVyKTsKPj4gKwkJb2JqX2NvdW50ID0gZ2V0X29iamVjdF9jb3VudCgpOwo+PiArCQlpZiAo b2JqX2NvdW50ID09IHByZXZfb2JqX2NvdW50KSB7Cj4+ICsJCQlsb29wX2NvdW50Kys7Cj4+ICsJ CX0gZWxzZSB7Cj4+ICsJCQlpZ3RfZGVidWcoImxvb3BfY291bnQ9JWQsIG9ial9jb3VudD0lZCwg cHJldl9vYmpfY291bnQ9JWRcbiIsIGxvb3BfY291bnQsIG9ial9jb3VudCwgcHJldl9vYmpfY291 bnQpOwo+PiArCQkJbG9vcF9jb3VudCA9IDA7Cj4+ICsJCQlwcmV2X29ial9jb3VudCA9IG9ial9j b3VudDsKPj4gKwkJfQo+PiArCj4+ICsJfQo+PiArCXJldHVybiBvYmpfY291bnQ7Cj4+ICt9Cj4+ ICAKPj4gIHN0YXRpYyB2b2lkICp0aHJlYWRfZm5fZmxpbmtfbmFtZSh2b2lkICpwKSAgeyBAQCAt MTY0LDggKzE5MCw3IEBAIAo+PiBzdGF0aWMgdm9pZCB0ZXN0X2ZsaW5rX2Nsb3NlKHZvaWQpCj4+ ICAJICogdXAgdGhlIGNvdW50cyAqLwo+PiAgCWZha2UgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVS X0lOVEVMKTsKPj4gIAo+PiAtCWdlbV9xdWllc2NlbnRfZ3B1KGZha2UpOwo+PiAtCW9ial9jb3Vu dCA9IGdldF9vYmplY3RfY291bnQoKTsKPj4gKwlvYmpfY291bnQgPSBnZXRfc3RhYmxlX29ial9j b3VudChmYWtlKTsKPj4gIAo+PiAgCW51bV90aHJlYWRzID0gc3lzY29uZihfU0NfTlBST0NFU1NP UlNfT05MTik7Cj4+ICAKPj4gQEAgLTE5MCw4ICsyMTUsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Zs aW5rX2Nsb3NlKHZvaWQpCj4+ICAKPj4gIAljbG9zZShmZCk7Cj4+ICAKPj4gLQlnZW1fcXVpZXNj ZW50X2dwdShmYWtlKTsKPj4gLQlvYmpfY291bnQgPSBnZXRfb2JqZWN0X2NvdW50KCkgLSBvYmpf Y291bnQ7Cj4+ICsJb2JqX2NvdW50ID0gZ2V0X3N0YWJsZV9vYmpfY291bnQoZmFrZSkgLSBvYmpf Y291bnQ7Cj4+ICAKPj4gIAlpZ3RfaW5mbygibGVha2VkICVpIG9iamVjdHNcbiIsIG9ial9jb3Vu dCk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL3Rlc3RzL3ByaW1lX3NlbGZfaW1wb3J0LmMgYi90ZXN0 cy9wcmltZV9zZWxmX2ltcG9ydC5jIAo+PiBpbmRleCA5MWZlMjMxLi45NzdjN2IyIDEwMDY0NAo+ PiAtLS0gYS90ZXN0cy9wcmltZV9zZWxmX2ltcG9ydC5jCj4+ICsrKyBiL3Rlc3RzL3ByaW1lX3Nl bGZfaW1wb3J0LmMKPj4gQEAgLTQ3LDcgKzQ3LDcgQEAKPj4gICNpbmNsdWRlICJkcm0uaCIKPj4g IAo+PiAgSUdUX1RFU1RfREVTQ1JJUFRJT04oIkNoZWNrIHdoZXRoZXIgcHJpbWUgaW1wb3J0L2V4 cG9ydCB3b3JrcyBvbiB0aGUgc2FtZSIKPj4gLQkJICAgICAiIGRldmljZS4iKTsKPj4gKwkJICAg ICAiIGRldmljZS4uLiBidXQgd2l0aCBkaWZmZXJlbnQgZmRzLiIpOwo+PiAgCj4+ICAjZGVmaW5l IEJPX1NJWkUgKDE2KjEwMjQpCj4+ICAKPj4gQEAgLTE1Nyw3ICsxNTcsNyBAQCBzdGF0aWMgdm9p ZCB0ZXN0X3dpdGhfb25lX2JvX3R3b19maWxlcyh2b2lkKQo+PiAgCWRtYV9idWZfZmQyID0gcHJp bWVfaGFuZGxlX3RvX2ZkKGZkMiwgaGFuZGxlX29wZW4pOwo+PiAgCWhhbmRsZV9pbXBvcnQgPSBw cmltZV9mZF90b19oYW5kbGUoZmQyLCBkbWFfYnVmX2ZkMik7Cj4+ICAKPj4gLQkvKiBkbWEtYnVm IHNlbGZpbXBvcnRpbmcgYW4gZmxpbmsgYm8gc2hvdWxkIGdpdmUgdGhlIHNhbWUgaGFuZGxlICov Cj4+ICsJLyogZG1hLWJ1ZiBzZWxmIGltcG9ydGluZyBhbiBmbGluayBibyBzaG91bGQgZ2l2ZSB0 aGUgc2FtZSBoYW5kbGUgKi8KPj4gIAlpZ3RfYXNzZXJ0X2VxX3UzMihoYW5kbGVfaW1wb3J0LCBo YW5kbGVfb3Blbik7Cj4+ICAKPj4gIAljbG9zZShmZDEpOwo+PiBAQCAtMjI2LDYgKzIyNiwzMyBA QCBzdGF0aWMgaW50IGdldF9vYmplY3RfY291bnQodm9pZCkKPj4gIAlyZXR1cm4gcmV0Owo+PiAg fQo+PiAgCj4+ICtzdGF0aWMgaW50IGdldF9zdGFibGVfb2JqX2NvdW50KGludCBkcml2ZXIpIHsK Pj4gKwkvKiBUaGUgdGVzdCByZWxpZXMgb24gdGhlIHN5c3RlbSBiZWluZyBpbiB0aGUgc2FtZSBz dGF0ZSBiZWZvcmUgYW5kCj4+ICsJICAgYWZ0ZXIgdGhlIHRlc3Qgc28gYW55IGRpZmZlcmVuY2Ug aW4gdGhlIG9iamVjdCBjb3VudCBpcyBhIHJlc3VsdCBvZgo+PiArCSAgIGxlYWtzIGR1cmluZyB0 aGUgdGVzdC4gZ2VtX3F1aWVzY2VudF9ncHUoKSBtb3N0bHkgYWNoaWV2ZXMgdGhpcyBidXQKPj4g KwkgICBvY2Nhc2lvbmFsbHkgb2JqX2NvdW50IGNhbiBzdGlsbCBjaGFuZ2UuIFRoZSBsb29wIGVu c3VyZXMgb2JqX2NvdW50Cj4+ICsJICAgaGFzIHJlbWFpbmVkIHN0YWJsZSBvdmVyIHNldmVyYWwg Y2hlY2tzICovCj4+ICsJaW50IG9ial9jb3VudCwgcHJldl9vYmpfY291bnQ7Cj4+ICsJaW50IGxv b3BfY291bnQgPSAwOwo+PiArCWdlbV9xdWllc2NlbnRfZ3B1KGRyaXZlcik7Cj4+ICsJcHJldl9v YmpfY291bnQgPSBnZXRfb2JqZWN0X2NvdW50KCk7Cj4+ICsJd2hpbGUgKGxvb3BfY291bnQgPCA0 KSB7Cj4+ICsJCXVzbGVlcCgyMDAwMDApOwo+PiArCQlnZW1fcXVpZXNjZW50X2dwdShkcml2ZXIp Owo+PiArCQlvYmpfY291bnQgPSBnZXRfb2JqZWN0X2NvdW50KCk7Cj4+ICsJCWlmIChvYmpfY291 bnQgPT0gcHJldl9vYmpfY291bnQpIHsKPj4gKwkJCWxvb3BfY291bnQrKzsKPj4gKwkJfSBlbHNl IHsKPj4gKwkJCWlndF9kZWJ1ZygibG9vcF9jb3VudD0lZCwgb2JqX2NvdW50PSVkLCBwcmV2X29i al9jb3VudD0lZFxuIiwgbG9vcF9jb3VudCwgb2JqX2NvdW50LCBwcmV2X29ial9jb3VudCk7Cj4+ ICsJCQlsb29wX2NvdW50ID0gMDsKPj4gKwkJCXByZXZfb2JqX2NvdW50ID0gb2JqX2NvdW50Owo+ PiArCQl9Cj4+ICsKPj4gKwl9Cj4+ICsJcmV0dXJuIG9ial9jb3VudDsKPj4gK30KPj4gKwo+PiAg c3RhdGljIHZvaWQgKnRocmVhZF9mbl9yZWltcG9ydF92c19jbG9zZSh2b2lkICpwKSAgewo+PiAg CXN0cnVjdCBkcm1fZ2VtX2Nsb3NlIGNsb3NlX2JvOwo+PiBAQCAtMjU4LDggKzI4NSw3IEBAIHN0 YXRpYyB2b2lkIHRlc3RfcmVpbXBvcnRfY2xvc2VfcmFjZSh2b2lkKQo+PiAgCSAqIHVwIHRoZSBj b3VudHMgKi8KPj4gIAlmYWtlID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7Cj4+ICAK Pj4gLQlnZW1fcXVpZXNjZW50X2dwdShmYWtlKTsKPj4gLQlvYmpfY291bnQgPSBnZXRfb2JqZWN0 X2NvdW50KCk7Cj4+ICsJb2JqX2NvdW50ID0gZ2V0X3N0YWJsZV9vYmpfY291bnQoZmFrZSk7Cj4+ ICAKPj4gIAludW1fdGhyZWFkcyA9IHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX09OTE4pOwo+PiAg Cj4+IEBAIC0yOTAsOCArMzE2LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9yZWltcG9ydF9jbG9zZV9y YWNlKHZvaWQpCj4+ICAJY2xvc2UoZmRzWzBdKTsKPj4gIAljbG9zZShmZHNbMV0pOwo+PiAgCj4+ IC0JZ2VtX3F1aWVzY2VudF9ncHUoZmFrZSk7Cj4+IC0Jb2JqX2NvdW50ID0gZ2V0X29iamVjdF9j b3VudCgpIC0gb2JqX2NvdW50Owo+PiArCW9ial9jb3VudCA9IGdldF9zdGFibGVfb2JqX2NvdW50 KGZha2UpIC0gb2JqX2NvdW50Owo+PiAgCj4+ICAJaWd0X2luZm8oImxlYWtlZCAlaSBvYmplY3Rz XG4iLCBvYmpfY291bnQpOwo+PiAgCj4+IEBAIC0zNTAsOCArMzc1LDcgQEAgc3RhdGljIHZvaWQg dGVzdF9leHBvcnRfY2xvc2VfcmFjZSh2b2lkKQo+PiAgCSAqIHVwIHRoZSBjb3VudHMgKi8KPj4g IAlmYWtlID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7Cj4+ICAKPj4gLQlnZW1fcXVp ZXNjZW50X2dwdShmYWtlKTsKPj4gLQlvYmpfY291bnQgPSBnZXRfb2JqZWN0X2NvdW50KCk7Cj4+ ICsJb2JqX2NvdW50ID0gZ2V0X3N0YWJsZV9vYmpfY291bnQoZmFrZSk7Cj4+ICAKPj4gIAlmZCA9 IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOwo+PiAgCj4+IEBAIC0zNzMsOCArMzk3LDcg QEAgc3RhdGljIHZvaWQgdGVzdF9leHBvcnRfY2xvc2VfcmFjZSh2b2lkKQo+PiAgCj4+ICAJY2xv c2UoZmQpOwo+PiAgCj4+IC0JZ2VtX3F1aWVzY2VudF9ncHUoZmFrZSk7Cj4+IC0Jb2JqX2NvdW50 ID0gZ2V0X29iamVjdF9jb3VudCgpIC0gb2JqX2NvdW50Owo+PiArCW9ial9jb3VudCA9IGdldF9z dGFibGVfb2JqX2NvdW50KGZha2UpIC0gb2JqX2NvdW50Owo+PiAgCj4+ICAJaWd0X2luZm8oImxl YWtlZCAlaSBvYmplY3RzXG4iLCBvYmpfY291bnQpOwo+PiAgCj4+IC0tCj4+IDEuOS4xCj4+IAo+ PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJbnRl bC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4g aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ Cj4tLQo+RGFuaWVsIFZldHRlcgo+U29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9u Cj5odHRwOi8vYmxvZy5mZndsbC5jaAo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==