From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH i-g-t v2] kms_rotation_crc: 90 degree flip test is not a stress test Date: Mon, 4 Sep 2017 15:36:56 +0100 Message-ID: References: <20170803124250.24958-1-tvrtko.ursulin@linux.intel.com> <20170804084341.28499-1-tvrtko.ursulin@linux.intel.com> <20170807155325.6anx6upxnrvk3rmp@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7164B6E1AB for ; Mon, 4 Sep 2017 14:36:59 +0000 (UTC) In-Reply-To: Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Tvrtko Ursulin Cc: Daniel Vetter , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA0LzA5LzIwMTcgMTU6MjcsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+IE9uIDA3LzA4LzIw MTcgMTY6NTMsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4+IE9uIEZyaSwgQXVnIDA0LCAyMDE3IGF0 IDA5OjQzOjQxQU0gKzAxMDAsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+Pj4gRnJvbTogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4+Cj4+PiBUbyB0aGUgYmVzdCBv ZiBteSByZWNvbGxlY3Rpb24gdGhlIHBhZ2UgZmxpcHBpbmcgdGVzdCB3YXMgYWRkZWQKPj4+IHNp bXBseSB0byBzdGFydCBleGVyY2lzaW5nIHBhZ2UgZmxpcHMgd2l0aCA5MC8yNzAgcm90YXRpb24u Cj4+Pgo+Pj4gVGhlcmUgaXMgbm8gbmVlZCB0byBkbyA2MCBmbGlwcyB3aGljaCBjYW4gdGFrZSBx dWl0ZSBzb21lIHRpbWUsCj4+PiBiZWNhdXNlIHdlIGRvIDYwIGZsaXBzIGFnYWluc3QgZWFjaCBw aXBlIGFuZCBlYWNoIGZiIGdlb21ldHJ5Lgo+Pj4KPj4+IEFsc28sIGNhbGxpbmcgdGhpcyBhIHN0 cmVzcyB0ZXN0IGlzIGFsc28gbm90IG1hdGNoaW5nIHRoZQo+Pj4gb3JpZ2luYWwgaWRlYSBvZiB0 aGUgdGVzdC4KPj4+Cj4+PiBTZXZlcmFsIGNoYW5nZXM6Cj4+Pgo+Pj4gMS4gUmVtb3ZlIHRoZSBz dHJlc3MgZnJvbSB0aGUgbmFtZSBhbmQgcmVkdWNlIHRoZSBudW1iZXIgb2YKPj4+IGZsaXBzIHRv IG9uZSBvbmx5Lgo+Pj4KPj4+IDIuIE1vdmUgdGhlIHBhZ2UgZmxpcCBiZWZvcmUgQ1JDIGNvbGxl Y3Rpb24gZm9yIGEgbW9yZSB1c2VmdWwKPj4+IHRlc3QuCj4+Pgo+Pj4gMy4gQWRkIG1vcmUgZmxp cHBpbmcgdGVzdHMsIGZvciBkaWZmZXJlbnQgcm90YXRpb24gYW5kIHNwcml0ZQo+Pj4gcGxhbmVz Lgo+Pgo+PiBJIGFzc3VtZSB5b3UgZGlkbid0IG1ha2UgdGhlIHRlc3Qgb3ZlcmFsbCBzbG93ZXIg d2l0aCB0aGlzPwo+Pgo+Pj4gNC4gQ29udmVydCB0byB0YWJsZSBkcml2ZW4gc3VidGVzdCBnZW5l cmF0aW9uLgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+Cj4+PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZnds bC5jaD4KPj4+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPj4K Pj4gRGlkbid0IGRvIGEgZnVsbCByZXZpZXcsIGJ1dCBzb3VuZHMgYWxsIHJlYXNvbmFibGUuIEFu ZCBJIGFzc3VtZSB5b3UndmUKPj4gdGVzdGVkIHRoaXMgYXQgbGVhc3QgbG9jYWxseSAodGhlIGln dCBwYXRjaHdvcmsgQ0kgaW5zdGFuY2UgZG9lc24ndCBkbwo+PiBmdWxsIHJ1bnMgLi4uIHlldCku Cj4gCj4gWWVzIEkndmUgcmFuIGl0IG9uIFNLTC4gSXQgYWRkcyBtb3JlIHN1YnRlc3RzIHNvIHRo ZSBydW50aW1lIGlzIGxvbmdlciwgCj4gYnV0IGl0IGFsc28gZmluZHMgbmV3IGJ1Z3MuCgpSdW50 aW1lIGlzIGxvbmdlciBjb21wYXJlZCB0byB2MSBvZiB0aGlzIHBhdGNoIEJUVywgSSB3YXNuJ3Qg Y2xlYXIuIEl0IAppcyByb3VnaGx5IG9uIHBhciB3aXRoIHRoZSBzaXR1YXRpb24gd2l0aG91dCB0 aGlzIHBhdGNoLgoKQnV0IHYyIGFkZHMgYSBsb3QgbW9yZSBzdWJ0ZXN0cywgdGhyZWUgb2Ygd2hp Y2ggZmFpbCAoZmxpcCBvbiBhIHJvdGF0ZWQgCnNwcml0ZSBwbGFuZSkuIFNvIHRoZXJlIGlzIHZh bHVlIGluIGl0IEkgdGhpbmsgZXZlbiBsaWtlIHRoYXQuCgpUdnJ0a28KCj4gSWRlYWxseSBzb21l b25lIHdpdGggZGlzcGxheS1mdSBwaWNrcyB0aGlzIHVwLCBmaXhlcyB0aGUgYnVnKHMpIHRoaXMg Cj4gZXhwb3NlcyAob3IgdGVsbHMgbWUgdGhlIHRlc3QgaXMgd3JvbmcpLCBzbyB3ZSBhcmUgbm90 IG1lcmdpbmcga25vd24gCj4gZmFpbGluZyB0ZXN0cz8gT3IgZXZlbiB0aGF0IGlzIE9LPwo+IAo+ IFR2cnRrbwo+IAo+PiBBY2tlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZnds bC5jaD4KPj4+IC0tLQo+Pj4gICB0ZXN0cy9pbnRlbC1jaS9leHRlbmRlZC50ZXN0bGlzdCB8ICAg MiArLQo+Pj4gICB0ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMgICAgICAgICB8IDEzNyAKPj4+ICsr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+Pj4gICAyIGZpbGVzIGNoYW5n ZWQsIDg1IGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQg YS90ZXN0cy9pbnRlbC1jaS9leHRlbmRlZC50ZXN0bGlzdCAKPj4+IGIvdGVzdHMvaW50ZWwtY2kv ZXh0ZW5kZWQudGVzdGxpc3QKPj4+IGluZGV4IDE3ZWVkMDEzZjgxMC4uZmI3MTA5MTc1OGM2IDEw MDY0NAo+Pj4gLS0tIGEvdGVzdHMvaW50ZWwtY2kvZXh0ZW5kZWQudGVzdGxpc3QKPj4+ICsrKyBi L3Rlc3RzL2ludGVsLWNpL2V4dGVuZGVkLnRlc3RsaXN0Cj4+PiBAQCAtODIsNyArODIsNyBAQCBp Z3RAZ2VtX3JpbmdmaWxsQHZlYm94LWJvbWIKPj4+ICAgaWd0QGdlbV91c2VycHRyX2JsaXRzQHN0 cmVzcy1tbQo+Pj4gICBpZ3RAZ2VtX3VzZXJwdHJfYmxpdHNAc3RyZXNzLW1tLWludmFsaWRhdGUt Y2xvc2UKPj4+ICAgaWd0QGdlbV91c2VycHRyX2JsaXRzQHN0cmVzcy1tbS1pbnZhbGlkYXRlLWNs b3NlLW92ZXJsYXAKPj4+IC1pZ3RAa21zX3JvdGF0aW9uX2NyY0BwcmltYXJ5LXJvdGF0aW9uLTkw LWZsaXAtc3RyZXNzCj4+PiAraWd0QGttc19yb3RhdGlvbl9jcmNAcHJpbWFyeS1yb3RhdGlvbi05 MC1mbGlwCj4+PiAgIGlndEBwbV9ycG1AZ2VtLWV4ZWNidWYtc3RyZXNzCj4+PiAgIGlndEBwbV9y cG1AZ2VtLWV4ZWNidWYtc3RyZXNzLWV4dHJhLXdhaXQKPj4+ICAgaWd0QHBtX3JwbUBnZW0tZXhl Y2J1Zi1zdHJlc3MtcGM4Cj4+PiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX3JvdGF0aW9uX2NyYy5j IGIvdGVzdHMva21zX3JvdGF0aW9uX2NyYy5jCj4+PiBpbmRleCA4M2UzN2YxMjZmNDAuLjIwZjFh ZGI2Nzc2OSAxMDA2NDQKPj4+IC0tLSBhL3Rlc3RzL2ttc19yb3RhdGlvbl9jcmMuYwo+Pj4gKysr IGIvdGVzdHMva21zX3JvdGF0aW9uX2NyYy5jCj4+PiBAQCAtNDEsNyArNDEsNyBAQCB0eXBlZGVm IHN0cnVjdCB7Cj4+PiAgICAgICBpbnQgcG9zX3k7Cj4+PiAgICAgICB1aW50MzJfdCBvdmVycmlk ZV9mbXQ7Cj4+PiAgICAgICB1aW50NjRfdCBvdmVycmlkZV90aWxpbmc7Cj4+PiAtICAgIHVuc2ln bmVkIGludCBmbGlwX3N0cmVzczsKPj4+ICsgICAgdW5zaWduZWQgaW50IGZsaXBzOwo+Pj4gICB9 IGRhdGFfdDsKPj4+ICAgc3RhdGljIHZvaWQKPj4+IEBAIC0yMTksNyArMjE5LDcgQEAgc3RhdGlj IHZvaWQgcHJlcGFyZV9mYnMoZGF0YV90ICpkYXRhLCAKPj4+IGlndF9vdXRwdXRfdCAqb3V0cHV0 LAo+Pj4gICAgICAgaWd0X2NyZWF0ZV9mYihkYXRhLT5nZnhfZmQsIHcsIGgsIHBpeGVsX2Zvcm1h dCwgdGlsaW5nLCAKPj4+ICZkYXRhLT5mYik7Cj4+PiAtICAgIGlmIChkYXRhLT5mbGlwX3N0cmVz cykgewo+Pj4gKyAgICBpZiAoZGF0YS0+ZmxpcHMpIHsKPj4+ICAgICAgICAgICBpZ3RfY3JlYXRl X2ZiKGRhdGEtPmdmeF9mZCwgdywgaCwgcGl4ZWxfZm9ybWF0LCB0aWxpbmcsIAo+Pj4gJmRhdGEt PmZiX2ZsaXApOwo+Pj4gICAgICAgICAgIHBhaW50X3NxdWFyZXMoZGF0YSwgSUdUX1JPVEFUSU9O XzAsICZkYXRhLT5mYl9mbGlwLCAwLjkyKTsKPj4+ICAgICAgIH0KPj4+IEBAIC0zNTEsMTUgKzM1 MSwxNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BsYW5lX3JvdGF0aW9uKGRhdGFfdCAqZGF0YSwgCj4+ PiBpbnQgcGxhbmVfdHlwZSkKPj4+ICAgICAgICAgICAgICAgcmV0ID0gaWd0X2Rpc3BsYXlfdHJ5 X2NvbW1pdDIoZGlzcGxheSwgY29tbWl0KTsKPj4+ICAgICAgICAgICAgICAgaWYgKGRhdGEtPm92 ZXJyaWRlX2ZtdCB8fCBkYXRhLT5vdmVycmlkZV90aWxpbmcpIHsKPj4+ICAgICAgICAgICAgICAg ICAgIGlndF9hc3NlcnRfZXEocmV0LCAtRUlOVkFMKTsKPj4+IC0gICAgICAgICAgICB9IGVsc2Ug ewo+Pj4gLSAgICAgICAgICAgICAgICBpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7Cj4+PiAtICAgICAg ICAgICAgICAgIGlndF9waXBlX2NyY19jb2xsZWN0X2NyYyhkYXRhLT5waXBlX2NyYywKPj4+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY3JjX291dHB1dCk7Cj4+PiAtICAgICAgICAg ICAgICAgIGlndF9hc3NlcnRfY3JjX2VxdWFsKCZkYXRhLT5yZWZfY3JjLAo+Pj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZjcmNfb3V0cHV0KTsKPj4+ICsgICAgICAgICAgICAgICAg Y29udGludWU7Cj4+PiAgICAgICAgICAgICAgIH0KPj4+IC0gICAgICAgICAgICBmbGlwX2NvdW50 ID0gZGF0YS0+ZmxpcF9zdHJlc3M7Cj4+PiArICAgICAgICAgICAgLyogVmVyaWZ5IGNvbW1pdCB3 YXMgb2suICovCj4+PiArICAgICAgICAgICAgaWd0X2Fzc2VydF9lcShyZXQsIDApOwo+Pj4gKwo+ Pj4gKyAgICAgICAgICAgIC8qCj4+PiArICAgICAgICAgICAgICogSWYgZmxpcHMgYXJlIHJlcXVl c3RlZCBmbGlwIGF3YXkgYW5kIGJhY2sgYmVmb3JlCj4+PiArICAgICAgICAgICAgICogY2hlY2tp bmcgQ1JDLgo+Pj4gKyAgICAgICAgICAgICAqLwo+Pj4gKyAgICAgICAgICAgIGZsaXBfY291bnQg PSBkYXRhLT5mbGlwczsKPj4+ICAgICAgICAgICAgICAgd2hpbGUgKGZsaXBfY291bnQtLSkgewo+ Pj4gICAgICAgICAgICAgICAgICAgcmV0ID0gZHJtTW9kZVBhZ2VGbGlwKGRhdGEtPmdmeF9mZCwK Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LT5jb25maWcuY3J0Yy0+ Y3J0Y19pZCwKPj4+IEBAIC0zNzYsNiArMzc4LDkgQEAgc3RhdGljIHZvaWQgdGVzdF9wbGFuZV9y b3RhdGlvbihkYXRhX3QgKmRhdGEsIGludCAKPj4+IHBsYW5lX3R5cGUpCj4+PiAgICAgICAgICAg ICAgICAgICBpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7Cj4+PiAgICAgICAgICAgICAgICAgICB3YWl0 X2Zvcl9wYWdlZmxpcChkYXRhLT5nZnhfZmQpOwo+Pj4gICAgICAgICAgICAgICB9Cj4+PiArCj4+ PiArICAgICAgICAgICAgaWd0X3BpcGVfY3JjX2NvbGxlY3RfY3JjKGRhdGEtPnBpcGVfY3JjLCAm Y3JjX291dHB1dCk7Cj4+PiArICAgICAgICAgICAgaWd0X2Fzc2VydF9jcmNfZXF1YWwoJmRhdGEt PnJlZl9jcmMsICZjcmNfb3V0cHV0KTsKPj4+ICAgICAgICAgICB9Cj4+PiAgICAgICAgICAgdmFs aWRfdGVzdHMrKzsKPj4+IEBAIC01NjksOCArNTc0LDY2IEBAIGVycl9jb21taXQ6Cj4+PiAgICAg ICBpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7Cj4+PiAgIH0KPj4+ICtzdGF0aWMgY29uc3QgY2hhciAq cGxhbmVfdGVzdF9zdHIodW5zaWduZWQgcGxhbmUpCj4+PiArewo+Pj4gKyAgICBzd2l0Y2ggKHBs YW5lKSB7Cj4+PiArICAgIGNhc2UgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWToKPj4+ICsgICAgICAg IHJldHVybiAicHJpbWFyeSI7Cj4+PiArICAgIGNhc2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToK Pj4+ICsgICAgICAgIHJldHVybiAic3ByaXRlIjsKPj4+ICsgICAgY2FzZSBEUk1fUExBTkVfVFlQ RV9DVVJTT1I6Cj4+PiArICAgICAgICByZXR1cm4gImN1cnNvciI7Cj4+PiArICAgIGRlZmF1bHQ6 Cj4+PiArICAgICAgICBpZ3RfYXNzZXJ0KDApOwo+Pj4gKyAgICB9Cj4+PiArfQo+Pj4gKwo+Pj4g K3N0YXRpYyBjb25zdCBjaGFyICpyb3RfdGVzdF9zdHIoaWd0X3JvdGF0aW9uX3Qgcm90KQo+Pj4g K3sKPj4+ICsgICAgc3dpdGNoIChyb3QpIHsKPj4+ICsgICAgY2FzZSBJR1RfUk9UQVRJT05fOTA6 Cj4+PiArICAgICAgICByZXR1cm4gIjkwIjsKPj4+ICsgICAgY2FzZSBJR1RfUk9UQVRJT05fMTgw Ogo+Pj4gKyAgICAgICAgcmV0dXJuICIxODAiOwo+Pj4gKyAgICBjYXNlIElHVF9ST1RBVElPTl8y NzA6Cj4+PiArICAgICAgICByZXR1cm4gIjI3MCI7Cj4+PiArICAgIGRlZmF1bHQ6Cj4+PiArICAg ICAgICBpZ3RfYXNzZXJ0KDApOwo+Pj4gKyAgICB9Cj4+PiArfQo+Pj4gKwo+Pj4gK3N0YXRpYyBj b25zdCBjaGFyICpmbGlwX3Rlc3Rfc3RyKHVuc2lnbmVkIGZsaXBzKQo+Pj4gK3sKPj4+ICsgICAg aWYgKGZsaXBzID4gMSkKPj4+ICsgICAgICAgIHJldHVybiAiLWZsaXAtc3RyZXNzIjsKPj4+ICsg ICAgZWxzZSBpZiAoZmxpcHMpCj4+PiArICAgICAgICByZXR1cm4gIi1mbGlwIjsKPj4+ICsgICAg ZWxzZQo+Pj4gKyAgICAgICAgcmV0dXJuICIiOwo+Pj4gK30KPj4+ICsKPj4+ICAgaWd0X21haW4K Pj4+ICAgewo+Pj4gKyAgICBzdHJ1Y3Qgcm90X3N1YnRlc3Qgewo+Pj4gKyAgICAgICAgdW5zaWdu ZWQgcGxhbmU7Cj4+PiArICAgICAgICBpZ3Rfcm90YXRpb25fdCByb3Q7Cj4+PiArICAgICAgICB1 bnNpZ25lZCBmbGlwczsKPj4+ICsgICAgfSAqc3VidGVzdCwgc3VidGVzdHNbXSA9IHsKPj4+ICsg ICAgICAgIHsgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgSUdUX1JPVEFUSU9OXzkwLCAwIH0sCj4+ PiArICAgICAgICB7IERSTV9QTEFORV9UWVBFX1BSSU1BUlksIElHVF9ST1RBVElPTl8xODAsIDAg fSwKPj4+ICsgICAgICAgIHsgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgSUdUX1JPVEFUSU9OXzI3 MCwgMCB9LAo+Pj4gKyAgICAgICAgeyBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBJR1RfUk9UQVRJ T05fOTAsIDEgfSwKPj4+ICsgICAgICAgIHsgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgSUdUX1JP VEFUSU9OXzE4MCwgMSB9LAo+Pj4gKyAgICAgICAgeyBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBJ R1RfUk9UQVRJT05fMjcwLCAxIH0sCj4+PiArICAgICAgICB7IERSTV9QTEFORV9UWVBFX09WRVJM QVksIElHVF9ST1RBVElPTl85MCwgMCB9LAo+Pj4gKyAgICAgICAgeyBEUk1fUExBTkVfVFlQRV9P VkVSTEFZLCBJR1RfUk9UQVRJT05fMTgwLCAwIH0sCj4+PiArICAgICAgICB7IERSTV9QTEFORV9U WVBFX09WRVJMQVksIElHVF9ST1RBVElPTl8yNzAsIDAgfSwKPj4+ICsgICAgICAgIHsgRFJNX1BM QU5FX1RZUEVfT1ZFUkxBWSwgSUdUX1JPVEFUSU9OXzkwLCAxIH0sCj4+PiArICAgICAgICB7IERS TV9QTEFORV9UWVBFX09WRVJMQVksIElHVF9ST1RBVElPTl8xODAsIDEgfSwKPj4+ICsgICAgICAg IHsgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgSUdUX1JPVEFUSU9OXzI3MCwgMSB9LAo+Pj4gKyAg ICAgICAgeyBEUk1fUExBTkVfVFlQRV9DVVJTT1IsIElHVF9ST1RBVElPTl8xODAsIDAgfSwKPj4+ ICsgICAgICAgIHsgMCwgMCwgMH0KPj4+ICsgICAgfTsKPj4+ICAgICAgIGRhdGFfdCBkYXRhID0g e307Cj4+PiAgICAgICBpbnQgZ2VuID0gMDsKPj4+IEBAIC01ODYsNDMgKzY0OSwxOSBAQCBpZ3Rf bWFpbgo+Pj4gICAgICAgICAgIGlndF9kaXNwbGF5X2luaXQoJmRhdGEuZGlzcGxheSwgZGF0YS5n ZnhfZmQpOwo+Pj4gICAgICAgfQo+Pj4gLSAgICBpZ3Rfc3VidGVzdF9mKCJwcmltYXJ5LXJvdGF0 aW9uLTE4MCIpIHsKPj4+IC0gICAgICAgIGRhdGEucm90YXRpb24gPSBJR1RfUk9UQVRJT05fMTgw Owo+Pj4gLSAgICAgICAgdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJNX1BMQU5FX1RZUEVf UFJJTUFSWSk7Cj4+PiAtICAgIH0KPj4+IC0KPj4+IC0gICAgaWd0X3N1YnRlc3RfZigic3ByaXRl LXJvdGF0aW9uLTE4MCIpIHsKPj4+IC0gICAgICAgIGRhdGEucm90YXRpb24gPSBJR1RfUk9UQVRJ T05fMTgwOwo+Pj4gLSAgICAgICAgdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJNX1BMQU5F X1RZUEVfT1ZFUkxBWSk7Cj4+PiAtICAgIH0KPj4+IC0KPj4+IC0gICAgaWd0X3N1YnRlc3RfZigi Y3Vyc29yLXJvdGF0aW9uLTE4MCIpIHsKPj4+IC0gICAgICAgIGRhdGEucm90YXRpb24gPSBJR1Rf Uk9UQVRJT05fMTgwOwo+Pj4gLSAgICAgICAgdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJN X1BMQU5FX1RZUEVfQ1VSU09SKTsKPj4+IC0gICAgfQo+Pj4gLQo+Pj4gLSAgICBpZ3Rfc3VidGVz dF9mKCJwcmltYXJ5LXJvdGF0aW9uLTkwIikgewo+Pj4gLSAgICAgICAgaWd0X3JlcXVpcmUoZ2Vu ID49IDkpOwo+Pj4gLSAgICAgICAgZGF0YS5yb3RhdGlvbiA9IElHVF9ST1RBVElPTl85MDsKPj4+ IC0gICAgICAgIHRlc3RfcGxhbmVfcm90YXRpb24oJmRhdGEsIERSTV9QTEFORV9UWVBFX1BSSU1B UlkpOwo+Pj4gLSAgICB9Cj4+PiAtICAgIGlndF9zdWJ0ZXN0X2YoInByaW1hcnktcm90YXRpb24t MjcwIikgewo+Pj4gLSAgICAgICAgaWd0X3JlcXVpcmUoZ2VuID49IDkpOwo+Pj4gLSAgICAgICAg ZGF0YS5yb3RhdGlvbiA9IElHVF9ST1RBVElPTl8yNzA7Cj4+PiAtICAgICAgICB0ZXN0X3BsYW5l X3JvdGF0aW9uKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPj4+IC0gICAgfQo+Pj4g LQo+Pj4gLSAgICBpZ3Rfc3VidGVzdF9mKCJzcHJpdGUtcm90YXRpb24tOTAiKSB7Cj4+PiAtICAg ICAgICBpZ3RfcmVxdWlyZShnZW4gPj0gOSk7Cj4+PiAtICAgICAgICBkYXRhLnJvdGF0aW9uID0g SUdUX1JPVEFUSU9OXzkwOwo+Pj4gLSAgICAgICAgdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwg RFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSk7Cj4+PiAtICAgIH0KPj4+IC0KPj4+IC0gICAgaWd0X3N1 YnRlc3RfZigic3ByaXRlLXJvdGF0aW9uLTI3MCIpIHsKPj4+IC0gICAgICAgIGlndF9yZXF1aXJl KGdlbiA+PSA5KTsKPj4+IC0gICAgICAgIGRhdGEucm90YXRpb24gPSBJR1RfUk9UQVRJT05fMjcw Owo+Pj4gLSAgICAgICAgdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJNX1BMQU5FX1RZUEVf T1ZFUkxBWSk7Cj4+PiArICAgIGZvciAoc3VidGVzdCA9IHN1YnRlc3RzOyBzdWJ0ZXN0LT5yb3Q7 IHN1YnRlc3QrKykgewo+Pj4gKyAgICAgICAgaWd0X3N1YnRlc3RfZigiJXMtcm90YXRpb24tJXMl cyIsCj4+PiArICAgICAgICAgICAgICAgICAgcGxhbmVfdGVzdF9zdHIoc3VidGVzdC0+cGxhbmUp LAo+Pj4gKyAgICAgICAgICAgICAgICAgIHJvdF90ZXN0X3N0cihzdWJ0ZXN0LT5yb3QpLAo+Pj4g KyAgICAgICAgICAgICAgICAgIGZsaXBfdGVzdF9zdHIoc3VidGVzdC0+ZmxpcHMpKSB7Cj4+PiAr ICAgICAgICAgICAgaWd0X3JlcXVpcmUoIShzdWJ0ZXN0LT5yb3QgJgo+Pj4gKyAgICAgICAgICAg ICAgICAgICAgKElHVF9ST1RBVElPTl85MCB8IElHVF9ST1RBVElPTl8yNzApKSB8fAo+Pj4gKyAg ICAgICAgICAgICAgICAgICAgZ2VuID49IDkpOwo+Pj4gKyAgICAgICAgICAgIGRhdGEucm90YXRp b24gPSBzdWJ0ZXN0LT5yb3Q7Cj4+PiArICAgICAgICAgICAgZGF0YS5mbGlwcyA9IHN1YnRlc3Qt PmZsaXBzOwo+Pj4gKyAgICAgICAgICAgIHRlc3RfcGxhbmVfcm90YXRpb24oJmRhdGEsIHN1YnRl c3QtPnBsYW5lKTsKPj4+ICsgICAgICAgIH0KPj4+ICAgICAgIH0KPj4+ICAgICAgIGlndF9zdWJ0 ZXN0X2YoInNwcml0ZS1yb3RhdGlvbi05MC1wb3MtMTAwLTAiKSB7Cj4+PiBAQCAtNjUwLDE0ICs2 ODksNiBAQCBpZ3RfbWFpbgo+Pj4gICAgICAgICAgIHRlc3RfcGxhbmVfcm90YXRpb24oJmRhdGEs IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwo+Pj4gICAgICAgfQo+Pj4gLSAgICBpZ3Rfc3VidGVz dF9mKCJwcmltYXJ5LXJvdGF0aW9uLTkwLWZsaXAtc3RyZXNzIikgewo+Pj4gLSAgICAgICAgaWd0 X3JlcXVpcmUoZ2VuID49IDkpOwo+Pj4gLSAgICAgICAgZGF0YS5vdmVycmlkZV90aWxpbmcgPSAw Owo+Pj4gLSAgICAgICAgZGF0YS5mbGlwX3N0cmVzcyA9IDYwOwo+Pj4gLSAgICAgICAgZGF0YS5y b3RhdGlvbiA9IElHVF9ST1RBVElPTl85MDsKPj4+IC0gICAgICAgIHRlc3RfcGxhbmVfcm90YXRp b24oJmRhdGEsIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwo+Pj4gLSAgICB9Cj4+PiAtCj4+PiAg ICAgICBpZ3Rfc3VidGVzdF9mKCJwcmltYXJ5LXJvdGF0aW9uLTkwLVktdGlsZWQiKSB7Cj4+PiAg ICAgICAgICAgZW51bSBwaXBlIHBpcGU7Cj4+PiAgICAgICAgICAgaWd0X291dHB1dF90ICpvdXRw dXQ7Cj4+PiAtLSAKPj4+IDIuOS40Cj4+Pgo+PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK