From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH i-g-t 3/3] tests: Add kms_atomic_interruptible test. Date: Mon, 7 Aug 2017 10:47:01 +0200 Message-ID: <1e2186f7-3761-d836-1098-7f46c42205ad@linux.intel.com> References: <20170802102919.13340-1-maarten.lankhorst@linux.intel.com> <20170802102919.13340-3-maarten.lankhorst@linux.intel.com> <1501833053.16922.35.camel@intel.com> 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 ESMTPS id B21346E391 for ; Mon, 7 Aug 2017 08:47:06 +0000 (UTC) In-Reply-To: <1501833053.16922.35.camel@intel.com> 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: mika.kahola@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMDQtMDgtMTcgb20gMDk6NTAgc2NocmVlZiBNaWthIEthaG9sYToKPiBPbiBXZWQsIDIwMTct MDgtMDIgYXQgMTI6MjkgKzAyMDAsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+PiBUbyBtYWtl IHN1cmUgdGhhdCB3ZSBoYXZlIHRlc3QgZXhwb3N1cmUgd2hlbiBhbGxvd2luZyBhdG9taWMgaW9j dGwncwo+PiB0bwo+PiBmYWlsIGludGVycnVwdGlibHksIHdlIGFkZCBhIHRlc3QgdGhhdCB3aWxs IGZhaWwgdG8gbG9jayB0aGUKPj4gbXV0ZXhlcyB1bnRpbCB0aGUgZmVuY2UgaXMgc2lnbmFsZWQu Cj4+Cj4+IElmIHRoZSBsb2NraW5nIGlzIGRvbmUgaW50ZXJydXB0aWJseSwgb3VyIHNpZ25hbCBo ZWxwZXIgd2lsbAo+PiBpbnRlcnJ1cHQKPj4gb2Z0ZW4sIGFuZCB3aXRoIHRoZSBzdGF0aXN0aWNz IHdlIGNhbiBlbnN1cmUgdGhhdCB3ZSByZWNlaXZlZAo+PiBlbm91Z2ggaW50ZXJydXB0cyB0byBw YXNzLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPgo+PiAtLS0KPj4gIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMg ICAgICAgICAgIHwgICAxICsKPj4gIHRlc3RzL2ttc19hdG9taWNfaW50ZXJydXB0aWJsZS5jIHwg MTkzCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAgMiBmaWxl cyBjaGFuZ2VkLCAxOTQgaW5zZXJ0aW9ucygrKQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3Rz L2ttc19hdG9taWNfaW50ZXJydXB0aWJsZS5jCj4+Cj4+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtl ZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+PiBpbmRleCA1Yjk4YTVhMzcx YjguLjlhNmE4NDZhYjc4YSAxMDA2NDQKPj4gLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+ PiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4+IEBAIC0xNzEsNiArMTcxLDcgQEAgVEVT VFNfcHJvZ3MgPSBcCj4+ICAJa21zXzNkIFwKPj4gIAlrbXNfYWRkZmJfYmFzaWMgXAo+PiAgCWtt c19hdG9taWMgXAo+PiArCWttc19hdG9taWNfaW50ZXJydXB0aWJsZSBcCj4+ICAJa21zX2F0b21p Y190cmFuc2l0aW9uIFwKPj4gIAlrbXNfYnVzeSBcCj4+ICAJa21zX2NjcyBcCj4+IGRpZmYgLS1n aXQgYS90ZXN0cy9rbXNfYXRvbWljX2ludGVycnVwdGlibGUuYwo+PiBiL3Rlc3RzL2ttc19hdG9t aWNfaW50ZXJydXB0aWJsZS5jCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAw MDAwMDAwMC4uNDAxNTk4OGMwZTJjCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvdGVzdHMva21z X2F0b21pY19pbnRlcnJ1cHRpYmxlLmMKPj4gQEAgLTAsMCArMSwxOTMgQEAKPj4gKy8qCj4+ICsg KiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbgo+IFVwZGF0ZSBhIHllYXIgaGVy ZT8KPj4gKyAqCj4+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo YXJnZSwgdG8gYW55IHBlcnNvbgo+PiBvYnRhaW5pbmcgYQo+PiArICogY29weSBvZiB0aGlzIHNv ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQo+PiAiU29mdHdh cmUiKSwKPj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24s IGluY2x1ZGluZyB3aXRob3V0Cj4+IGxpbWl0YXRpb24KPj4gKyAqIHRoZSByaWdodHMgdG8gdXNl LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLAo+PiBzdWJsaWNlbnNl LAo+PiArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1p dCBwZXJzb25zIHRvIHdob20KPj4gdGhlCj4+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8g ZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZwo+PiBjb25kaXRpb25zOgo+PiArICoKPj4g KyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl IChpbmNsdWRpbmcKPj4gdGhlIG5leHQKPj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVk ZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbAo+PiBwb3J0aW9ucyBvZiB0aGUKPj4gKyAq IFNvZnR3YXJlLgo+PiArICoKPj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAo+PiBFWFBSRVNTIE9SCj4+ICsgKiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCj4+IE1F UkNIQU5UQUJJTElUWSwKPj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO RCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTwo+PiBFVkVOVCBTSEFMTAo+PiArICogVEhFIEFVVEhP UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMK Pj4gT1IgT1RIRVIKPj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAo+PiBBUklTSU5HCj4+ICsgKiBGUk9NLCBPVVQgT0Yg T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCj4+IE9USEVS IERFQUxJTkdTCj4+ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4+ICsgKi8KPj4gKwo+PiArI2luY2x1 ZGUgImlndC5oIgo+PiArI2luY2x1ZGUgImRybXRlc3QuaCIKPj4gKyNpbmNsdWRlICJzd19zeW5j LmgiCj4+ICsKPj4gK2VudW0gcGxhbmVfdGVzdF90eXBlCj4+ICt7Cj4+ICsJdGVzdF9zZXRtb2Rl LAo+PiArCXRlc3Rfc2V0cGxhbmUsCj4+ICsJdGVzdF9wYWdlZmxpcAo+PiArfTsKPj4gKwo+PiAr c3RhdGljIGludCBibG9ja19wbGFuZShpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBpZ3Rfb3V0cHV0 X3QgKm91dHB1dCwKPj4gZW51bSBwbGFuZV90ZXN0X3R5cGUgdGVzdF90eXBlLCBpZ3RfcGxhbmVf dCAqcGxhbmUpCj4+ICt7Cj4+ICsJaW50IHRpbWVsaW5lID0gc3dfc3luY190aW1lbGluZV9jcmVh dGUoKTsKPj4gKwo+PiArCWlndF9mb3JrKGNoaWxkLCAxKSB7Cj4+ICsJCS8qIElnbm9yZSB0aGUg c2lnbmFsIGhlbHBlciwgd2UgbmVlZCB0byBibG9jawo+PiBpbmRlZmluaXRlbHkgb24gdGhlIGZl bmNlLiAqLwo+PiArCQlzaWduYWwoU0lHQ09OVCwgU0lHX0lHTik7Cj4+ICsKPj4gKwkJaWYgKHRl c3RfdHlwZSA9PSB0ZXN0X3NldG1vZGUpIHsKPj4gKwkJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0 cHV0LCBQSVBFX05PTkUpOwo+PiArCQkJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgTlVMTCk7Cj4+ ICsJCX0KPj4gKwkJaWd0X3BsYW5lX3NldF9mZW5jZV9mZChwbGFuZSwKPj4gc3dfc3luY190aW1l bGluZV9jcmVhdGVfZmVuY2UodGltZWxpbmUsIDEpKTsKPj4gKwo+PiArCQlpZ3RfZGlzcGxheV9j b21taXQyKGRpc3BsYXksIENPTU1JVF9BVE9NSUMpOwo+PiArCX0KPj4gKwo+PiArCXJldHVybiB0 aW1lbGluZTsKPj4gK30KPj4gKwo+PiArc3RhdGljIHZvaWQgdW5ibG9jayhpbnQgYmxvY2spCj4+ ICt7Cj4+ICsJc3dfc3luY190aW1lbGluZV9pbmMoYmxvY2ssIDEpOwo+PiArCWNsb3NlKGJsb2Nr KTsKPj4gK30KPj4gKwo+PiArc3RhdGljIHZvaWQgcnVuX3BsYW5lX3Rlc3QoaWd0X2Rpc3BsYXlf dCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsCj4+IGlndF9vdXRwdXRfdCAqb3V0cHV0LAo+PiAr CQkJICAgZW51bSBwbGFuZV90ZXN0X3R5cGUgdGVzdF90eXBlLCB1bnNpZ25lZAo+PiBwbGFuZV90 eXBlLCBlbnVtIGlndF9jb21taXRfc3R5bGUgc3R5bGUpCj4+ICt7Cj4+ICsJZHJtTW9kZU1vZGVJ bmZvICptb2RlOwo+PiArCWlndF9mYl90IGZiLCBmYjI7Cj4+ICsJaWd0X3BsYW5lX3QgKnByaW1h cnksICpwbGFuZTsKPj4gKwlpbnQgYmxvY2s7Cj4+ICsKPj4gKwkvKgo+PiArCSAqIE1ha2Ugc3Vy ZSB3ZSBzdGFydCB3aXRoIGV2ZXJ5dGhpbmcgZGlzYWJsZWQgdG8gZm9yY2UgYQo+PiByZWFsIG1v ZGVzZXQuCj4+ICsJICogaWd0X2Rpc3BsYXlfaW5pdCBvbmx5IHNldHMgc3cgc3RhdGUsIGFuZCBh c3N1bWVzIHRoZQo+PiBmaXJzdCB0ZXN0IGRvZXNuJ3QgY2FyZQo+PiArCSAqIGFib3V0IGh3IHN0 YXRlLgo+PiArCSAqLwo+PiArCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgQ09NTUlUX0FU T01JQyk7Cj4+ICsKPj4gKwlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgcGlwZSk7Cj4+ICsK Pj4gKwlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShvdXRwdXQsCj4+IERSTV9Q TEFORV9UWVBFX1BSSU1BUlkpOwo+PiArCXBsYW5lID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlw ZShvdXRwdXQsIHBsYW5lX3R5cGUpOwo+PiArCW1vZGUgPSBpZ3Rfb3V0cHV0X2dldF9tb2RlKG91 dHB1dCk7Cj4+ICsKPj4gKwlpZ3RfY3JlYXRlX2ZiKGRpc3BsYXktPmRybV9mZCwgbW9kZS0+aGRp c3BsYXksIG1vZGUtCj4+PiB2ZGlzcGxheSwKPj4gKwkJICAgICAgRFJNX0ZPUk1BVF9YUkdCODg4 OCwKPj4gTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSwgJmZiKTsKPj4gKwo+PiArCXN3aXRjaCAo cGxhbmVfdHlwZSkgewo+PiArCWNhc2UgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWToKPj4gKwkJaWd0 X2NyZWF0ZV9mYihkaXNwbGF5LT5kcm1fZmQsIG1vZGUtPmhkaXNwbGF5LCBtb2RlLQo+Pj4gdmRp c3BsYXksCj4+ICsJCQkgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAo+PiBMT0NBTF9EUk1fRk9S TUFUX01PRF9OT05FLCAmZmIyKTsKPj4gKwkJYnJlYWs7Cj4+ICsJY2FzZSBEUk1fUExBTkVfVFlQ RV9DVVJTT1I6Cj4+ICsJCWlndF9jcmVhdGVfZmIoZGlzcGxheS0+ZHJtX2ZkLCA2NCwgNjQsCj4+ ICsJCSAgICAgIERSTV9GT1JNQVRfQVJHQjg4ODgsCj4+IExPQ0FMX0RSTV9GT1JNQVRfTU9EX05P TkUsICZmYjIpOwo+PiArCQlicmVhazsKPj4gKwl9Cj4gV2UgY291bGQgc3F1ZWV6ZSB0aGlzIGlu dG8gYSBvbmUgbGluZSBhbmQgZ2V0IHJpZCBvZiB0aGUgc3dpdGNoKCk/Cj4gQW55d2F5IHRoaXMg aXMgbW9yZSBtYXR0ZXIgb2YgYSB0YXN0ZSBhbmQgc3R5bGUgdGhhbiBmdW5jdGlvbmFsaXR5LgpX YXMgdGhpbmtpbmcgb2YgYWRkaW5nIG92ZXJsYXksIGJ1dCB0aGF0J3MgcHJvYmFibHkgb3Zlcmtp bGwgZm9yIG5vdy4KPj4gKwo+PiArCWlmICh0ZXN0X3R5cGUgIT0gdGVzdF9zZXRtb2RlKSB7Cj4+ ICsJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmZiKTsKPj4gKwkJaWd0X2Rpc3BsYXlfY29t bWl0MihkaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKPj4gKwl9Cj4+ICsKPj4gKwlpZ3RfcGxhbmVf c2V0X2ZiKHBsYW5lLCAmZmIyKTsKPj4gKwo+PiArCWJsb2NrID0gYmxvY2tfcGxhbmUoZGlzcGxh eSwgb3V0cHV0LCB0ZXN0X3R5cGUsIHBsYW5lKTsKPj4gKwlzbGVlcCgxKTsKPj4gKwo+PiArCWln dF9mb3JrKGNoaWxkLCAxKSB7Cj4+ICsJCXNpZ25hbChTSUdDT05ULCBTSUdfSUdOKTsKPj4gKwkJ aWd0X2Fzc2VydChzbGVlcCg1KSA9PSAwKTsKPj4gKwo+PiArCQl1bmJsb2NrKGJsb2NrKTsKPj4g Kwl9Cj4+ICsKPj4gKwkvKiBydW4gdGhlIHRlc3QgKi8KPj4gKwlpZ3RfZm9ya19zaWduYWxfaGVs cGVyKCk7Cj4+ICsJaWYgKHRlc3RfdHlwZSAhPSB0ZXN0X3BhZ2VmbGlwKQo+PiArCQlpZ3RfZGlz cGxheV9jb21taXQyKGRpc3BsYXksIHN0eWxlKTsKPj4gKwllbHNlCj4+ICsJCWRvX29yX2RpZShk cm1Nb2RlUGFnZUZsaXAoZGlzcGxheS0+ZHJtX2ZkLCBkaXNwbGF5LQo+Pj4gcGlwZXNbcGlwZV0u Y3J0Y19pZCwgZmIuZmJfaWQsIDAsIE5VTEwpKTsKPj4gKwlpZ3Rfc3RvcF9zaWduYWxfaGVscGVy KCk7Cj4+ICsKPj4gKwkvKiBUZXN0IHdoZXRoZXIgd2UgZGlkIGludGVycnVwdCB0aGUgdGVzdD8g Ki8KPj4gKwlpZ3RfYXNzZXJ0X2x0KDIgKiBpZ3Rfc2lnbmFsX2hlbHBlcl9nZXRfaHooKSwKPj4g aWd0X3NpZ25hbF9oZWxwZXJfZ2V0X251bSgpKTsKPj4gKwo+PiArCWlndF93YWl0Y2hpbGRyZW4o KTsKPj4gKwo+PiArCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7Cj4+ICsJaWd0X291 dHB1dF9zZXRfcGlwZShvdXRwdXQsIFBJUEVfTk9ORSk7Cj4+ICsJaWd0X3JlbW92ZV9mYihkaXNw bGF5LT5kcm1fZmQsICZmYik7Cj4+ICt9Cj4+ICsKPj4gK2lndF9tYWluCj4+ICt7Cj4+ICsJaWd0 X2Rpc3BsYXlfdCBkaXNwbGF5Owo+PiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+PiArCWVudW0g cGlwZSBwaXBlOwo+PiArCj4+ICsJaWd0X3NraXBfb25fc2ltdWxhdGlvbigpOwo+PiArCj4+ICsJ aWd0X2ZpeHR1cmUgewo+PiArCQlkaXNwbGF5LmRybV9mZCA9IGRybV9vcGVuX2RyaXZlcl9tYXN0 ZXIoRFJJVkVSX0FOWSk7Cj4+ICsKPj4gKwkJa21zdGVzdF9zZXRfdnRfZ3JhcGhpY3NfbW9kZSgp Owo+PiArCj4+ICsJCWlndF9kaXNwbGF5X2luaXQoJmRpc3BsYXksIGRpc3BsYXkuZHJtX2ZkKTsK Pj4gKwo+PiArCQlpZ3RfcmVxdWlyZShkaXNwbGF5LmlzX2F0b21pYyk7Cj4+ICsKPj4gKwkJaWd0 X2Rpc3BsYXlfcmVxdWlyZV9vdXRwdXQoJmRpc3BsYXkpOwo+PiArCj4+ICsJCWlndF9yZXF1aXJl X3N3X3N5bmMoKTsKPj4gKwl9Cj4+ICsKPj4gKwlpZ3Rfc3VidGVzdCgibGVnYWN5LXNldG1vZGUi KQo+PiArCQlmb3JfZWFjaF9waXBlX3dpdGhfdmFsaWRfb3V0cHV0KCZkaXNwbGF5LCBwaXBlLAo+ PiBvdXRwdXQpIHsKPj4gKwkJCXJ1bl9wbGFuZV90ZXN0KCZkaXNwbGF5LCBwaXBlLCBvdXRwdXQs Cj4+IHRlc3Rfc2V0bW9kZSwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgQ09NTUlUX0xFR0FDWSk7 Cj4+ICsJCQlicmVhazsKPj4gKwkJfQo+PiArCj4+ICsJaWd0X3N1YnRlc3QoImF0b21pYy1zZXRt b2RlIikKPj4gKwkJZm9yX2VhY2hfcGlwZV93aXRoX3ZhbGlkX291dHB1dCgmZGlzcGxheSwgcGlw ZSwKPj4gb3V0cHV0KSB7Cj4+ICsJCQlydW5fcGxhbmVfdGVzdCgmZGlzcGxheSwgcGlwZSwgb3V0 cHV0LAo+PiB0ZXN0X3NldG1vZGUsIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIENPTU1JVF9BVE9N SUMpOwo+PiArCQkJYnJlYWs7Cj4+ICsJCX0KPj4gKwo+PiArCWlndF9zdWJ0ZXN0KCJsZWdhY3kt cGFnZWZsaXAiKQo+PiArCQlmb3JfZWFjaF9waXBlX3dpdGhfdmFsaWRfb3V0cHV0KCZkaXNwbGF5 LCBwaXBlLAo+PiBvdXRwdXQpIHsKPj4gKwkJCXJ1bl9wbGFuZV90ZXN0KCZkaXNwbGF5LCBwaXBl LCBvdXRwdXQsCj4+IHRlc3RfcGFnZWZsaXAsIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIENPTU1J VF9MRUdBQ1kpOwo+PiArCQkJYnJlYWs7Cj4+ICsJCX0KPj4gKwo+PiArCWlndF9zdWJ0ZXN0KCJs ZWdhY3ktY3Vyc29yIikKPj4gKwkJZm9yX2VhY2hfcGlwZV93aXRoX3ZhbGlkX291dHB1dCgmZGlz cGxheSwgcGlwZSwKPj4gb3V0cHV0KSB7Cj4+ICsJCQlydW5fcGxhbmVfdGVzdCgmZGlzcGxheSwg cGlwZSwgb3V0cHV0LAo+PiB0ZXN0X3NldHBsYW5lLCBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIENP TU1JVF9MRUdBQ1kpOwo+PiArCQkJYnJlYWs7Cj4+ICsJCX0KPj4gKwo+PiArCWlndF9zdWJ0ZXN0 KCJ1bml2ZXJzYWwtc2V0cGxhbmUtcHJpbWFyeSIpCj4+ICsJCWZvcl9lYWNoX3BpcGVfd2l0aF92 YWxpZF9vdXRwdXQoJmRpc3BsYXksIHBpcGUsCj4+IG91dHB1dCkgewo+PiArCQkJcnVuX3BsYW5l X3Rlc3QoJmRpc3BsYXksIHBpcGUsIG91dHB1dCwKPj4gdGVzdF9zZXRwbGFuZSwgRFJNX1BMQU5F X1RZUEVfUFJJTUFSWSwgQ09NTUlUX1VOSVZFUlNBTCk7Cj4+ICsJCQlicmVhazsKPj4gKwkJfQo+ PiArCj4+ICsJaWd0X3N1YnRlc3QoInVuaXZlcnNhbC1zZXRwbGFuZS1jdXJzb3IiKQo+PiArCQlm b3JfZWFjaF9waXBlX3dpdGhfdmFsaWRfb3V0cHV0KCZkaXNwbGF5LCBwaXBlLAo+PiBvdXRwdXQp IHsKPj4gKwkJCXJ1bl9wbGFuZV90ZXN0KCZkaXNwbGF5LCBwaXBlLCBvdXRwdXQsCj4+IHRlc3Rf c2V0cGxhbmUsIERSTV9QTEFORV9UWVBFX0NVUlNPUiwgQ09NTUlUX1VOSVZFUlNBTCk7Cj4+ICsJ CQlicmVhazsKPj4gKwkJfQo+PiArCj4+ICsJLyogVE9ETzogRFBNUywgZ2FtbWFfc2V0LCBzZXRw cm9wLCBnZXRwcm9wICovCj4+ICsJaWd0X2ZpeHR1cmUgewo+PiArCQlpZ3RfZGlzcGxheV9maW5p KCZkaXNwbGF5KTsKPj4gKwl9Cj4+ICt9Cj4gT3RoZXJ3aXNlIGxvb2tzIGdvb2QgdG8gbWUuCj4K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=