From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH i-g-t v2] gem_flink_race/prime_self_import: Improve test reliability Date: Fri, 11 Dec 2015 20:01:17 +0100 Message-ID: <20151211190117.GX20822@phenom.ffwll.local> References: <1449847110-17318-1-git-send-email-derek.j.morton@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 099A66E019 for ; Fri, 11 Dec 2015 11:01:21 -0800 (PST) Received: by mail-wm0-f42.google.com with SMTP id c201so86203273wme.0 for ; Fri, 11 Dec 2015 11:01:21 -0800 (PST) Content-Disposition: inline In-Reply-To: <1449847110-17318-1-git-send-email-derek.j.morton@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Derek Morton Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, thomas.wood@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBEZWMgMTEsIDIwMTUgYXQgMDM6MTg6MzBQTSArMDAwMCwgRGVyZWsgTW9ydG9uIHdy b3RlOgo+IGdlbV9mbGlua19yYWNlIGFuZCBwcmltZV9zZWxmX2ltcG9ydCBoYXZlIHN1YnRlc3Rz IHdoaWNoIHJlYWQgdGhlCj4gbnVtYmVyIG9mIG9wZW4gZ2VtIG9iamVjdHMgZnJvbSBkZWJ1Z2Zz IHRvIGRldGVybWluZSBpZiBvYmplY3RzIGhhdmUKPiBsZWFrZWQgZHVyaW5nIHRoZSB0ZXN0LiBI b3dldmVyIHRoZSB0ZXN0IGNhbiBmYWlsIHNwb3JhZGljYWxseSBpZgo+IHRoZSBudW1iZXIgb2Yg Z2VtIG9iamVjdHMgY2hhbmdlcyBkdWUgdG8gb3RoZXIgcHJvY2VzcyBhY3Rpdml0eS4KPiBUaGlz IHBhdGNoIGludHJvZHVjZXMgYSBjaGFuZ2UgdG8gY2hlY2sgdGhlIG51bWJlciBvZiBnZW0gb2Jq ZWN0cwo+IHNldmVyYWwgdGltZXMgdG8gZmlsdGVyIG91dCBhbnkgZmx1Y3R1YXRpb25zLgo+IAo+ IHYyOiBNb3ZlZCB0aGUgY29tbW9uIGNvZGUgdG8gYSBsaWJyYXJ5IGFuZCBtYWRlIHRoZSBsb29w IGFuZHJvaWQKPiBzcGVjaWZpYyAoRGFuaWVsIFZldHRlcikKPiAKPiBTaWduZWQtb2ZmLWJ5OiBE ZXJlayBNb3J0b24gPGRlcmVrLmoubW9ydG9uQGludGVsLmNvbT4KPiAtLS0KPiAgbGliL2lndF9k ZWJ1Z2ZzLmMgICAgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gIGxpYi9pZ3RfZGVidWdmcy5oICAgICAgICAgfCAgNiArKysrKwo+ICB0 ZXN0cy9nZW1fZmxpbmtfcmFjZS5jICAgIHwgMjUgKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIHRl c3RzL3ByaW1lX3NlbGZfaW1wb3J0LmMgfCAzMSArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ ICA0IGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9saWIvaWd0X2RlYnVnZnMuYyBiL2xpYi9pZ3RfZGVidWdmcy5jCj4gaW5k ZXggMmMzYjFjZi4uYjQ2N2IwOSAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2RlYnVnZnMuYwo+ICsr KyBiL2xpYi9pZ3RfZGVidWdmcy5jCj4gQEAgLTY2NywzICs2NjcsNjAgQEAgdm9pZCBpZ3RfZW5h YmxlX3ByZWZhdWx0KHZvaWQpCj4gIHsKPiAgCWlndF9wcmVmYXVsdF9jb250cm9sKHRydWUpOwo+ ICB9Cj4gKwo+ICtzdGF0aWMgaW50IGdldF9vYmplY3RfY291bnQodm9pZCkKPiArewo+ICsJRklM RSAqZmlsZTsKPiArCWludCByZXQsIHNjYW5uZWQ7Cj4gKwo+ICsJaWd0X2Ryb3BfY2FjaGVzX3Nl dChEUk9QX1JFVElSRSB8IERST1BfQUNUSVZFKTsKPiArCj4gKwlmaWxlID0gaWd0X2RlYnVnZnNf Zm9wZW4oImk5MTVfZ2VtX29iamVjdHMiLCAiciIpOwo+ICsKPiArCXNjYW5uZWQgPSBmc2NhbmYo ZmlsZSwgIiVpIG9iamVjdHMiLCAmcmV0KTsKPiArCWlndF9hc3NlcnRfZXEoc2Nhbm5lZCwgMSk7 Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGdldF9zdGFibGVfb2Jq X2NvdW50OgoKUGxlYXNlIGdpdmUgdGhpcyBhbiBpZ3RfZGVidWdmc18gb3Igd2hhdGV2ZXIgcHJl Zml4IGZvciBuYW1lc3BhY2luZy4KCj4gKyAqIEBkcml2ZXI6IGZkIHRvIGRybS9pOTE1IEdFTSBk cml2ZXIKPiArICoKPiArICogVGhpcyBwdXRzIHRoZSBkcml2ZXIgaW50byBhIHN0YWJsZSAocXVp ZXNjZW50KSBzdGF0ZSBhbmQgdGhlbiByZXR1cm5zIHRoZQo+ICsgKiBjdXJyZW50IG51bWJlciBv ZiBnZW0gYnVmZmVyIG9iamVjdHMgYXMgcmVwb3J0ZWQgaW4gdGhlIGk5MTVfZ2VtX29iamVjdHMK PiArICogZGVidWdGUyBpbnRlcmZhY2UuCj4gKyAqLwo+ICtpbnQgZ2V0X3N0YWJsZV9vYmpfY291 bnQoaW50IGRyaXZlcikKPiArewo+ICsJaW50IG9ial9jb3VudDsKPiArCWdlbV9xdWllc2NlbnRf Z3B1KGRyaXZlcik7Cj4gKwlvYmpfY291bnQgPSBnZXRfb2JqZWN0X2NvdW50KCk7Cj4gKwkvKiBU aGUgdGVzdCByZWxpZXMgb24gdGhlIHN5c3RlbSBiZWluZyBpbiB0aGUgc2FtZSBzdGF0ZSBiZWZv cmUgYW5kCj4gKwkgICBhZnRlciB0aGUgdGVzdCBzbyBhbnkgZGlmZmVyZW5jZSBpbiB0aGUgb2Jq ZWN0IGNvdW50IGlzIGEgcmVzdWx0IG9mCj4gKwkgICBsZWFrcyBkdXJpbmcgdGhlIHRlc3QuIGdl bV9xdWllc2NlbnRfZ3B1KCkgbW9zdGx5IGFjaGlldmVzIHRoaXMgYnV0Cj4gKwkgICBvbiBhbmRy b2lkIG9jY2FzaW9uYWxseSBvYmpfY291bnQgY2FuIHN0aWxsIGNoYW5nZSBicmllZmx5Lgo+ICsJ ICAgVGhlIGxvb3AgZW5zdXJlcyBvYmpfY291bnQgaGFzIHJlbWFpbmVkIHN0YWJsZSBvdmVyIHNl dmVyYWwgY2hlY2tzICovCgpQbGVhc2UgdXNlIGtlcm5lbCBjb21tZW50IHN0eWxlIGxpa2UKCgkv KiBibGEKCSAqIG1vcmUgYmxhCgkgKi8KCmxndG0gb3RoZXJ3aXNlLgotRGFuaWVsCgo+ICsjaWZk ZWYgQU5EUk9JRAo+ICsJewo+ICsJCWludCBsb29wX2NvdW50ID0gMDsKPiArCQlpbnQgcHJldl9v YmpfY291bnQgPSBvYmpfY291bnQ7Cj4gKwkJd2hpbGUgKGxvb3BfY291bnQgPCA0KSB7Cj4gKwkJ CXVzbGVlcCgyMDAwMDApOwo+ICsJCQlnZW1fcXVpZXNjZW50X2dwdShkcml2ZXIpOwo+ICsJCQlv YmpfY291bnQgPSBnZXRfb2JqZWN0X2NvdW50KCk7Cj4gKwkJCWlmIChvYmpfY291bnQgPT0gcHJl dl9vYmpfY291bnQpIHsKPiArCQkJCWxvb3BfY291bnQrKzsKPiArCQkJfSBlbHNlIHsKPiArCQkJ CWlndF9kZWJ1ZygibG9vcF9jb3VudD0lZCwgb2JqX2NvdW50PSVkLCBwcmV2X29ial9jb3VudD0l ZFxuIiwKPiArCQkJCQlsb29wX2NvdW50LCBvYmpfY291bnQsIHByZXZfb2JqX2NvdW50KTsKPiAr CQkJCWxvb3BfY291bnQgPSAwOwo+ICsJCQkJcHJldl9vYmpfY291bnQgPSBvYmpfY291bnQ7Cj4g KwkJCX0KPiArCj4gKwkJfQo+ICsJfQo+ICsjZW5kaWYKPiArCXJldHVybiBvYmpfY291bnQ7Cj4g K30KPiArCj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZGVidWdmcy5oIGIvbGliL2lndF9kZWJ1Z2Zz LmgKPiBpbmRleCBiYmY3ZjY5Li4wOWU3M2E4IDEwMDY0NAo+IC0tLSBhL2xpYi9pZ3RfZGVidWdm cy5oCj4gKysrIGIvbGliL2lndF9kZWJ1Z2ZzLmgKPiBAQCAtMTY1LDQgKzE2NSwxMCBAQCB2b2lk IGlndF9kcm9wX2NhY2hlc19zZXQodWludDY0X3QgdmFsKTsKPiAgdm9pZCBpZ3RfZGlzYWJsZV9w cmVmYXVsdCh2b2lkKTsKPiAgdm9pZCBpZ3RfZW5hYmxlX3ByZWZhdWx0KHZvaWQpOwo+ICAKPiAr LyoKPiArICogUHV0IHRoZSBkcml2ZXIgaW50byBhIHN0YWJsZSAocXVpZXNjZW50KSBzdGF0ZSBh bmQgZ2V0IHRoZSBjdXJyZW50IG51bWJlciBvZgo+ICsgKiBnZW0gYnVmZmVyIG9iamVjdHMKPiAr ICovCj4gK2ludCBnZXRfc3RhYmxlX29ial9jb3VudChpbnQgZHJpdmVyKTsKPiArCj4gICNlbmRp ZiAvKiBfX0lHVF9ERUJVR0ZTX0hfXyAqLwo+IGRpZmYgLS1naXQgYS90ZXN0cy9nZW1fZmxpbmtf cmFjZS5jIGIvdGVzdHMvZ2VtX2ZsaW5rX3JhY2UuYwo+IGluZGV4IGIxN2VmODUuLjc1N2NiY2Eg MTAwNjQ0Cj4gLS0tIGEvdGVzdHMvZ2VtX2ZsaW5rX3JhY2UuYwo+ICsrKyBiL3Rlc3RzL2dlbV9m bGlua19yYWNlLmMKPiBAQCAtNDQsMjggKzQ0LDExIEBAIElHVF9URVNUX0RFU0NSSVBUSU9OKCJD aGVjayBmb3IgZmxpbmsvb3BlbiB2cy4gZ2VtIGNsb3NlIHJhY2VzLiIpOwo+ICAgKiBpbiB0aGUg ZmxpbmsgbmFtZSBhbmQgY29ycmVzcG9uZGluZyByZWZlcmVuY2UgZ2V0dGluZyBsZWFrZWQuCj4g ICAqLwo+ICAKPiAtLyogV2Ugd2FudCBsb2NrbGVzcyBhbmQgSSdtIHRvIGxhenkgdG8gZGlnIG91 dCBhbiBhdG9taWMgbGliYXJhcnkuIE9uIHg4NiB0aGlzCj4gKy8qIFdlIHdhbnQgbG9ja2xlc3Mg YW5kIEknbSB0byBsYXp5IHRvIGRpZyBvdXQgYW4gYXRvbWljIGxpYnJhcnkuIE9uIHg4NiB0aGlz Cj4gICAqIHdvcmtzLCB0b28uICovCj4gIHZvbGF0aWxlIGludCBwbHNfZGllID0gMDsKPiAgaW50 IGZkOwo+ICAKPiAtc3RhdGljIGludCBnZXRfb2JqZWN0X2NvdW50KHZvaWQpCj4gLXsKPiAtCUZJ TEUgKmZpbGU7Cj4gLQlpbnQgc2Nhbm5lZCwgcmV0Owo+IC0KPiAtCWlndF9kcm9wX2NhY2hlc19z ZXQoRFJPUF9SRVRJUkUgfCBEUk9QX0FDVElWRSk7Cj4gLQo+IC0JZmlsZSA9IGlndF9kZWJ1Z2Zz X2ZvcGVuKCJpOTE1X2dlbV9vYmplY3RzIiwgInIiKTsKPiAtCj4gLQlzY2FubmVkID0gZnNjYW5m KGZpbGUsICIlaSBvYmplY3RzIiwgJnJldCk7Cj4gLQlpZ3RfYXNzZXJ0X2VxKHNjYW5uZWQsIDEp Owo+IC0JaWd0X2RlYnVnKCJSZXBvcnRzICVkIG9iamVjdHNcbiIsIHJldCk7Cj4gLQo+IC0JcmV0 dXJuIHJldDsKPiAtfQo+IC0KPiAtCj4gIHN0YXRpYyB2b2lkICp0aHJlYWRfZm5fZmxpbmtfbmFt ZSh2b2lkICpwKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2dlbV9vcGVuIG9wZW5fc3RydWN0Owo+IEBA IC0xNjQsOCArMTQ3LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9mbGlua19jbG9zZSh2b2lkKQo+ICAJ ICogdXAgdGhlIGNvdW50cyAqLwo+ICAJZmFrZSA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5U RUwpOwo+ICAKPiAtCWdlbV9xdWllc2NlbnRfZ3B1KGZha2UpOwo+IC0Jb2JqX2NvdW50ID0gZ2V0 X29iamVjdF9jb3VudCgpOwo+ICsJb2JqX2NvdW50ID0gZ2V0X3N0YWJsZV9vYmpfY291bnQoZmFr ZSk7Cj4gIAo+ICAJbnVtX3RocmVhZHMgPSBzeXNjb25mKF9TQ19OUFJPQ0VTU09SU19PTkxOKTsK PiAgCj4gQEAgLTE5MCw4ICsxNzIsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2ZsaW5rX2Nsb3NlKHZv aWQpCj4gIAo+ICAJY2xvc2UoZmQpOwo+ICAKPiAtCWdlbV9xdWllc2NlbnRfZ3B1KGZha2UpOwo+ IC0Jb2JqX2NvdW50ID0gZ2V0X29iamVjdF9jb3VudCgpIC0gb2JqX2NvdW50Owo+ICsJb2JqX2Nv dW50ID0gZ2V0X3N0YWJsZV9vYmpfY291bnQoZmFrZSkgLSBvYmpfY291bnQ7Cj4gIAo+ICAJaWd0 X2luZm8oImxlYWtlZCAlaSBvYmplY3RzXG4iLCBvYmpfY291bnQpOwo+ICAKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMvcHJpbWVfc2VsZl9pbXBvcnQuYyBiL3Rlc3RzL3ByaW1lX3NlbGZfaW1wb3J0LmMK PiBpbmRleCA5MWZlMjMxLi45MzFlOTFlIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL3ByaW1lX3NlbGZf aW1wb3J0LmMKPiArKysgYi90ZXN0cy9wcmltZV9zZWxmX2ltcG9ydC5jCj4gQEAgLTQ3LDcgKzQ3 LDcgQEAKPiAgI2luY2x1ZGUgImRybS5oIgo+ICAKPiAgSUdUX1RFU1RfREVTQ1JJUFRJT04oIkNo ZWNrIHdoZXRoZXIgcHJpbWUgaW1wb3J0L2V4cG9ydCB3b3JrcyBvbiB0aGUgc2FtZSIKPiAtCQkg ICAgICIgZGV2aWNlLiIpOwo+ICsJCSAgICAgIiBkZXZpY2UuLi4gYnV0IHdpdGggZGlmZmVyZW50 IGZkcy4iKTsKPiAgCj4gICNkZWZpbmUgQk9fU0laRSAoMTYqMTAyNCkKPiAgCj4gQEAgLTE1Nyw3 ICsxNTcsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3dpdGhfb25lX2JvX3R3b19maWxlcyh2b2lkKQo+ ICAJZG1hX2J1Zl9mZDIgPSBwcmltZV9oYW5kbGVfdG9fZmQoZmQyLCBoYW5kbGVfb3Blbik7Cj4g IAloYW5kbGVfaW1wb3J0ID0gcHJpbWVfZmRfdG9faGFuZGxlKGZkMiwgZG1hX2J1Zl9mZDIpOwo+ ICAKPiAtCS8qIGRtYS1idWYgc2VsZmltcG9ydGluZyBhbiBmbGluayBibyBzaG91bGQgZ2l2ZSB0 aGUgc2FtZSBoYW5kbGUgKi8KPiArCS8qIGRtYS1idWYgc2VsZiBpbXBvcnRpbmcgYW4gZmxpbmsg Ym8gc2hvdWxkIGdpdmUgdGhlIHNhbWUgaGFuZGxlICovCj4gIAlpZ3RfYXNzZXJ0X2VxX3UzMiho YW5kbGVfaW1wb3J0LCBoYW5kbGVfb3Blbik7Cj4gIAo+ICAJY2xvc2UoZmQxKTsKPiBAQCAtMjEx LDIxICsyMTEsNiBAQCBzdGF0aWMgdm9pZCB0ZXN0X3dpdGhfb25lX2JvKHZvaWQpCj4gIAljaGVj a19ibyhmZDIsIGhhbmRsZV9pbXBvcnQxLCBmZDIsIGhhbmRsZV9pbXBvcnQxKTsKPiAgfQo+ICAK PiAtc3RhdGljIGludCBnZXRfb2JqZWN0X2NvdW50KHZvaWQpCj4gLXsKPiAtCUZJTEUgKmZpbGU7 Cj4gLQlpbnQgcmV0LCBzY2FubmVkOwo+IC0KPiAtCWlndF9kcm9wX2NhY2hlc19zZXQoRFJPUF9S RVRJUkUgfCBEUk9QX0FDVElWRSk7Cj4gLQo+IC0JZmlsZSA9IGlndF9kZWJ1Z2ZzX2ZvcGVuKCJp OTE1X2dlbV9vYmplY3RzIiwgInIiKTsKPiAtCj4gLQlzY2FubmVkID0gZnNjYW5mKGZpbGUsICIl aSBvYmplY3RzIiwgJnJldCk7Cj4gLQlpZ3RfYXNzZXJ0X2VxKHNjYW5uZWQsIDEpOwo+IC0KPiAt CXJldHVybiByZXQ7Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lkICp0aHJlYWRfZm5fcmVpbXBvcnRf dnNfY2xvc2Uodm9pZCAqcCkKPiAgewo+ICAJc3RydWN0IGRybV9nZW1fY2xvc2UgY2xvc2VfYm87 Cj4gQEAgLTI1OCw4ICsyNDMsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3JlaW1wb3J0X2Nsb3NlX3Jh Y2Uodm9pZCkKPiAgCSAqIHVwIHRoZSBjb3VudHMgKi8KPiAgCWZha2UgPSBkcm1fb3Blbl9kcml2 ZXIoRFJJVkVSX0lOVEVMKTsKPiAgCj4gLQlnZW1fcXVpZXNjZW50X2dwdShmYWtlKTsKPiAtCW9i al9jb3VudCA9IGdldF9vYmplY3RfY291bnQoKTsKPiArCW9ial9jb3VudCA9IGdldF9zdGFibGVf b2JqX2NvdW50KGZha2UpOwo+ICAKPiAgCW51bV90aHJlYWRzID0gc3lzY29uZihfU0NfTlBST0NF U1NPUlNfT05MTik7Cj4gIAo+IEBAIC0yOTAsOCArMjc0LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9y ZWltcG9ydF9jbG9zZV9yYWNlKHZvaWQpCj4gIAljbG9zZShmZHNbMF0pOwo+ICAJY2xvc2UoZmRz WzFdKTsKPiAgCj4gLQlnZW1fcXVpZXNjZW50X2dwdShmYWtlKTsKPiAtCW9ial9jb3VudCA9IGdl dF9vYmplY3RfY291bnQoKSAtIG9ial9jb3VudDsKPiArCW9ial9jb3VudCA9IGdldF9zdGFibGVf b2JqX2NvdW50KGZha2UpIC0gb2JqX2NvdW50Owo+ICAKPiAgCWlndF9pbmZvKCJsZWFrZWQgJWkg b2JqZWN0c1xuIiwgb2JqX2NvdW50KTsKPiAgCj4gQEAgLTM1MCw4ICszMzMsNyBAQCBzdGF0aWMg dm9pZCB0ZXN0X2V4cG9ydF9jbG9zZV9yYWNlKHZvaWQpCj4gIAkgKiB1cCB0aGUgY291bnRzICov Cj4gIAlmYWtlID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7Cj4gIAo+IC0JZ2VtX3F1 aWVzY2VudF9ncHUoZmFrZSk7Cj4gLQlvYmpfY291bnQgPSBnZXRfb2JqZWN0X2NvdW50KCk7Cj4g KwlvYmpfY291bnQgPSBnZXRfc3RhYmxlX29ial9jb3VudChmYWtlKTsKPiAgCj4gIAlmZCA9IGRy bV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOwo+ICAKPiBAQCAtMzczLDggKzM1NSw3IEBAIHN0 YXRpYyB2b2lkIHRlc3RfZXhwb3J0X2Nsb3NlX3JhY2Uodm9pZCkKPiAgCj4gIAljbG9zZShmZCk7 Cj4gIAo+IC0JZ2VtX3F1aWVzY2VudF9ncHUoZmFrZSk7Cj4gLQlvYmpfY291bnQgPSBnZXRfb2Jq ZWN0X2NvdW50KCkgLSBvYmpfY291bnQ7Cj4gKwlvYmpfY291bnQgPSBnZXRfc3RhYmxlX29ial9j b3VudChmYWtlKSAtIG9ial9jb3VudDsKPiAgCj4gIAlpZ3RfaW5mbygibGVha2VkICVpIG9iamVj dHNcbiIsIG9ial9jb3VudCk7Cj4gIAo+IC0tIAo+IDEuOS4xCj4gCgotLSAKRGFuaWVsIFZldHRl cgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwu Y2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK