From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2839C6E48D for ; Mon, 14 Sep 2020 11:58:43 +0000 (UTC) Received: by mail-wm1-x342.google.com with SMTP id a9so10978210wmm.2 for ; Mon, 14 Sep 2020 04:58:43 -0700 (PDT) References: <20200902091225.21110-1-juhapekka.heikkila@gmail.com> <1502db5209ed4afead1a8718db37794e@intel.com> From: Juha-Pekka Heikkila Message-ID: Date: Mon, 14 Sep 2020 14:58:34 +0300 MIME-Version: 1.0 In-Reply-To: <1502db5209ed4afead1a8718db37794e@intel.com> Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_flip_scaled_crc: add flip to downscaled subtests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: juhapekka.heikkila@gmail.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "Shankar, Uma" , "igt-dev@lists.freedesktop.org" List-ID: T24gNC45LjIwMjAgMTcuMzEsIFNoYW5rYXIsIFVtYSB3cm90ZToKPiAKPiAKPj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogaWd0LWRldiA8aWd0LWRldi1ib3VuY2VzQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIEp1aGEtUGVra2EKPj4gSGVpa2tpbGEKPj4g U2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMiwgMjAyMCAyOjQyIFBNCj4+IFRvOiBpZ3QtZGV2 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBTdWJqZWN0OiBbaWd0LWRldl0gW1BBVENIIGktZy10 XSB0ZXN0cy9rbXNfZmxpcF9zY2FsZWRfY3JjOiBhZGQgZmxpcCB0byBkb3duc2NhbGVkCj4+IHN1 YnRlc3RzCj4gCj4gSSB0aGluayB0aGlzIHdvdWxkIHNvdW5kIGJldHRlciAiQWRkIFN1YnRlc3Rz IGZvciBGbGlwIHdpdGggZmIgZG93bnNjYWxpbmciCj4gCj4+Cj4+IGF0dGVtcHQgdG8gY2F1c2Ug Y2RjbGsgY2hhbmdlcyBhbmQgc3RyZXNzIHNjYWxlcnMgd2l0aCBmbGlwcGluZyB0byBkaWZmZXJl bnQgc2l6ZSBmYgo+PiB3aXRoIGRpZmZlcmVudCBtb2RpZmllcnMuIFZlcmlmeSByZXN1bHRzIHdp dGggY3JjLgo+IAo+IFRoaXMgaXMgZmFpbGluZyBvbiBzb21lIHBsYXRmb3JtcyBsaWtlIGluIEdM SzoKPiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0lHVFBXXzQ5NDUv c2hhcmQtZ2xrOS9pZ3RAa21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTMy YnBwLXl0aWxlY2NzLmh0bWwKPiAKPiBDYW4geW91IGNoZWNrIHdoeSBpdCBjb3VsZCBiZSBoYXBw ZW5pbmcsIEkgY2FuIHNlZSB5b3UgaGF2ZSB0aGUgbW9kaWZpZXIgY2hlY2suIEJ1dCBzdGlsbCBp dHMgcmVqZWN0aW5nIHRoZSBjb21iaW5hdGlvbiBpbiBkcml2ZXIuCj4gTWF5IGJlIHNvbWV0aGlu ZyB0byBmaXguCgpUaGlzIEkgc3VzcGVjdCBpcyBzb21ldGhpbmcgcHJvYmxlbWF0aWMgb24gaTkx NSBzaWRlLCB3aGF0IGlzIHJldHVybmVkIAp0aGVyZSBpcyAtRUlOVkFMIGZyb20gZmxpcC4gVGhv c2UgR0xLIGRtZXNncyBnZW5lcmFsbHkgbG9vayBzb21laG93IApyZWFsbHkgbWVzc3ksIGl0IGlz IGZvciBzb21lIHJlYXNvbiBhbGwgdGhlIHRpbWUgdHJ5aW5nIHRvIGRvIHNvbWV0aGluZyAKd2l0 aCBwaXBlIGIgZXZlbiB3aGVuIGl0J3Mgc3VwcG9zaW5nIHRvIGJlIGRpc2FibGVkLgoKPiAKPiBP dmVyYWxsIHRoaXMgaXMgcmVhbGx5IGEgZ29vZCBwbGFuIHRvIGhhdmUgdGhpcyBjb21iaW5hdGlv biB0ZXN0ZWQsIHNvbWV0aGluZyB3ZSBoYXZlIGxhY2tlZC4KClRoZXJlIHdhcyByZWdyZXNzaW9u IG9uIGRybS10aXAgb24gdGhlc2Ugd2hpY2ggd2FzIGp1c3QgcmVjZW50bHkgZml4ZWQgCmhlbmNl IHRoaXMgdGVzdC4gSWYgZm9yIGV4YW1wbGUgd291bGQgaGF2ZSBydW4gc29tZSB2aWRlb3BsYXll ciB3aGljaCAKdXNlcyBodyBkb3duc2NhbGluZyByZXN1bHQgd291bGQndmUgYmVlbiBqdXN0IGJs YWNrIHNjcmVlbiA7KQoKPiAKPj4gU2lnbmVkLW9mZi1ieTogSnVoYS1QZWtrYSBIZWlra2lsYSA8 anVoYXBla2thLmhlaWtraWxhQGdtYWlsLmNvbT4KPj4gLS0tCj4+ICAgdGVzdHMvTWFrZWZpbGUu c291cmNlcyAgICAgIHwgICAxICsKPj4gICB0ZXN0cy9rbXNfZmxpcF9zY2FsZWRfY3JjLmMgfCAy NTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAgdGVzdHMvbWVzb24u YnVpbGQgICAgICAgICAgIHwgICAxICsKPj4gICAzIGZpbGVzIGNoYW5nZWQsIDI1NyBpbnNlcnRp b25zKCspCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2ttc19mbGlwX3NjYWxlZF9jcmMu Ywo+Pgo+PiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01ha2Vm aWxlLnNvdXJjZXMgaW5kZXgKPj4gMjY5YjUwNmQuLmZlOWZiN2VkIDEwMDY0NAo+PiAtLS0gYS90 ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4+ICsrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPj4g QEAgLTUzLDYgKzUzLDcgQEAgVEVTVFNfcHJvZ3MgPSBcCj4+ICAgCWttc19mZW5jZV9waW5fbGVh ayBcCj4+ICAgCWttc19mbGlwIFwKPj4gICAJa21zX2ZsaXBfZXZlbnRfbGVhayBcCj4+ICsJa21z X2ZsaXBfc2NhbGVkX2NyYyBcCj4+ICAgCWttc19mbGlwX3RpbGluZyBcCj4+ICAgCWttc19mb3Jj ZV9jb25uZWN0b3JfYmFzaWMgXAo+PiAgIAlrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcgXAo+PiBk aWZmIC0tZ2l0IGEvdGVzdHMva21zX2ZsaXBfc2NhbGVkX2NyYy5jIGIvdGVzdHMva21zX2ZsaXBf c2NhbGVkX2NyYy5jIG5ldyBmaWxlCj4+IG1vZGUgMTAwNjQ0IGluZGV4IDAwMDAwMDAwLi45ZGFh MmY5Mgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL3Rlc3RzL2ttc19mbGlwX3NjYWxlZF9jcmMu Ywo+PiBAQCAtMCwwICsxLDI1NSBAQAo+PiArLyoKPj4gKyAqIENvcHlyaWdodCDCqSAyMDIwIElu dGVsIENvcnBvcmF0aW9uCj4+ICsgKgo+PiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24KPj4gK29idGFpbmluZyBhCj4+ICsgKiBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo dGhlCj4+ICsiU29mdHdhcmUiKSwKPj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhv dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0Cj4+ICtsaW1pdGF0aW9uCj4+ICsgKiB0 aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0 ZSwKPj4gK3N1YmxpY2Vuc2UsCj4+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3 YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbQo+PiArdGhlCj4+ICsgKiBTb2Z0d2Fy ZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp b25zOgo+PiArICoKPj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl cm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlCj4+ICtuZXh0Cj4+ICsgKiBwYXJhZ3JhcGgp IHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMK Pj4gK29mIHRoZQo+PiArICogU29mdHdhcmUuCj4+ICsgKgo+PiArICogVEhFIFNPRlRXQVJFIElT IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCj4+ICtFWFBS RVNTIE9SCj4+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX QVJSQU5USUVTIE9GCj4+ICtNRVJDSEFOVEFCSUxJVFksCj4+ICsgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQKPj4gK1NI QUxMCj4+ICsgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S IEFOWSBDTEFJTSwgREFNQUdFUwo+PiBPUgo+PiArT1RIRVIKPj4gKyAqIExJQUJJTElUWSwgV0hF VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAo+PiArQVJJ U0lORwo+PiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdB UkUgT1IgVEhFIFVTRSBPUgo+PiBPVEhFUgo+PiArREVBTElOR1MKPj4gKyAqIElOIFRIRSBTT0ZU V0FSRS4KPj4gKyAqCj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUgImlndC5oIgo+PiArCj4+ICtJ R1RfVEVTVF9ERVNDUklQVElPTigiVGVzdCBmbGlwcGluZyBiZXR3ZWVuIHNjYWxlZC9ub25zY2Fs ZWQKPj4gK2ZyYW1lYnVmZmVycyIpOwo+PiArCj4+ICt0eXBlZGVmIHN0cnVjdCB7Cj4+ICsJaW50 IGRybV9mZDsKPj4gKwlpZ3RfZGlzcGxheV90IGRpc3BsYXk7Cj4+ICsJaWd0X291dHB1dF90ICpv dXRwdXQ7Cj4+ICsJZW51bSBwaXBlIHBpcGU7Cj4+ICsJdWludDMyX3QgZ2VuOwo+PiArCXN0cnVj dCBpZ3RfZmIgc21hbGxfZmI7Cj4+ICsJc3RydWN0IGlndF9mYiBiaWdfZmI7Cj4+ICsJaWd0X3Bp cGVfY3JjX3QgKnBpcGVfY3JjOwo+PiArfSBkYXRhX3Q7Cj4+ICsKPj4gK2NvbnN0IHN0cnVjdCB7 Cj4+ICsJY29uc3QgY2hhciAqIGNvbnN0IG5hbWU7Cj4+ICsJY29uc3QgY2hhciAqIGNvbnN0IGRl c2NyaWJlOwo+PiArCWNvbnN0IHVpbnQ2NF90IGZpcnN0bW9kaWZpZXI7Cj4+ICsJY29uc3QgdWlu dDMyX3QgZmlyc3Rmb3JtYXQ7Cj4+ICsJY29uc3QgdWludDY0X3Qgc2Vjb25kbW9kaWZpZXI7Cj4+ ICsJY29uc3QgdWludDMyX3Qgc2Vjb25kZm9ybWF0Owo+PiArfSBmbGlwX3NjZW5hcmlvX3Rlc3Rb XSA9IHsKPj4gKwl7Cj4+ICsJCSJmbGlwLTMyYnBwLXl0aWxlLXRvLTY0YnBwLXl0aWxlIiwKPj4g KwkJIlRyeSB0byBmbGlwIGZyb20gMzJicHAgbm9uIHNjYWxlZCBmYiB0byA2NGJwcCBkb3duc2Nh bGVkIGZiIGluCj4+IGF0dGVtcHQgdG8gc3RyZXNzIGNkY2xrIHJlcHJvZ3JhbW1pbmcuIiwKPiAK PiBXZSBjYW4gdHJpbSB0aGlzIGRlc2NyaXB0aW9uLCBMaWtlOiAiRmxpcCBmcm9tIDMyYnBwIG5v biBzY2FsZWQgZmIgdG8gNjRicHAgZG93bnNjYWxlZCBmYiB0byBzdHJlc3MgQ0QgY2xvY2sgcHJv Z3JhbW1pbmciCj4gVHJpbSB0aGlzIGZvciBhbGwgY29tYmluYXRpb25zLgo+IAo+PiArCQlMT0NB TF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwgRFJNX0ZPUk1BVF9YUkdCODg4OCwKPj4gKwkJTE9D QUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQsCj4+IERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2Rgo+ PiArCX0sCj4+ICsJewo+PiArCQkiZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZSIsCj4+ ICsJCSJUcnkgdG8gZmxpcCBmcm9tIDY0YnBwIG5vbiBzY2FsZWQgZmIgdG8gMzJicHAgZG93bnNj YWxlZCBmYi4iLAo+PiArCQlMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwKPj4gRFJNX0ZP Uk1BVF9YUkdCMTYxNjE2MTZGLAo+PiArCQlMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwg RFJNX0ZPUk1BVF9YUkdCODg4OAo+PiArCX0sCj4+ICsJewo+PiArCQkiZmxpcC02NGJwcC15dGls ZS10by0xNmJwcC15dGlsZSIsCj4+ICsJCSJUcnkgdG8gZmxpcCBmcm9tIDY0YnBwIG5vbiBzY2Fs ZWQgZmIgdG8gMTZicHAgZG93bnNjYWxlZCBmYi4iLAo+PiArCQlMT0NBTF9JOTE1X0ZPUk1BVF9N T0RfWV9USUxFRCwKPj4gRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZGLAo+PiArCQlMT0NBTF9JOTE1 X0ZPUk1BVF9NT0RfWV9USUxFRCwgRFJNX0ZPUk1BVF9SR0I1NjUKPj4gKwl9LAo+PiArCXsKPj4g KwkJImZsaXAtMzJicHAteXRpbGVjY3MtdG8tNjRicHAteXRpbGUiLAo+PiArCQkiVHJ5IHRvIGZs aXAgZnJvbSAzMmJwcCBjY3Mgbm9uIHNjYWxlZCBmYiB0byA2NGJwcCBkb3duc2NhbGVkIGZiCj4+ IHl0aWxlLiIsCj4+ICsJCUxPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0NDUywKPj4gRFJN X0ZPUk1BVF9YUkdCODg4OCwKPj4gKwkJTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQsCj4+ IERSTV9GT1JNQVRfWFJHQjE2MTYxNjE2Rgo+PiArCX0sCj4+ICsJewo+PiArCQkiZmxpcC0zMmJw cC15dGlsZS10by0zMmJwcC15dGlsZWdlbjEycmNjY3MiLAo+PiArCQkiVHJ5IHRvIGZsaXAgZnJv bSAzMmJwcCBub24gc2NhbGVkIGZiIHRvIDMyYnBwIGRvd25zY2FsZWQgZ2VuMTIKPj4gcmMgY2Nz IGZiIGluIGF0dGVtcHQgdG8gc3RyZXNzIGNkY2xrIHJlcHJvZ3JhbW1pbmcuIiwKPj4gKwkJTE9D QUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQsIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4+ICsJCUxP Q0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDUywKPj4gRFJNX0ZPUk1BVF9Y UkdCODg4OAo+PiArCX0sCj4+ICsJewo+PiArCQkiZmxpcC0zMmJwcC15dGlsZS10by0zMmJwcC15 dGlsZWNjcyIsCj4+ICsJCSJUcnkgdG8gZmxpcCBmcm9tIDMyYnBwIG5vbiBzY2FsZWQgeXRpbGVk IGZiIHRvIDMyYnBwIGRvd25zY2FsZWQKPj4geXRpbGVkIGNjcyBmYi4iLAo+PiArCQlMT0NBTF9J OTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwgRFJNX0ZPUk1BVF9YUkdCODg4OCwKPj4gKwkJTE9DQUxf STkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTLAo+PiBEUk1fRk9STUFUX1hSR0I4ODg4Cj4+ICsJ fSwKPj4gKwl7Cj4+ICsJCSJmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlcmNjY3MiLAo+ PiArCQkiVHJ5IHRvIGZsaXAgZnJvbSA2NGJwcCBub24gc2NhbGVkIHl0aWxlZCBmYiB0byAzMmJw cCBkb3duc2NhbGVkCj4+IGdlbjEyIHJjIGNjcyBmYi4iLAo+PiArCQlMT0NBTF9JOTE1X0ZPUk1B VF9NT0RfWV9USUxFRCwKPj4gRFJNX0ZPUk1BVF9YUkdCMTYxNjE2MTZGLAo+PiArCQlMT0NBTF9J OTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9HRU4xMl9SQ19DQ1MsCj4+IERSTV9GT1JNQVRfWFJHQjg4 ODgKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHZvaWQgc2V0dXBfZmIoZGF0YV90ICpk YXRhLCBzdHJ1Y3QgaWd0X2ZiICpuZXdmYiwgdWludDMyX3Qgd2lkdGgsCj4+ICsJCSAgICAgdWlu dDMyX3QgaGVpZ2h0LCB1aW50NjRfdCBmb3JtYXQsIHVpbnQ2NF90IG1vZGlmaWVyKSB7Cj4+ICsJ c3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgZiA9IHswfTsKPj4gKwljYWlyb190ICpjcjsKPj4gKwo+ PiArCWlndF9yZXF1aXJlKGlndF9kaXNwbGF5X2hhc19mb3JtYXRfbW9kKCZkYXRhLT5kaXNwbGF5 LCBmb3JtYXQsCj4+ICsJCQkJCSAgICAgICBtb2RpZmllcikpOwo+PiArCj4+ICsJaWd0X2NyZWF0 ZV9ib19mb3JfZmIoZGF0YS0+ZHJtX2ZkLCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIG1vZGlmaWVy LAo+PiArCQkJICAgICBuZXdmYik7Cj4+ICsJaWd0X2Fzc2VydChuZXdmYi0+Z2VtX2hhbmRsZSA+ IDApOwo+PiArCj4+ICsJZi53aWR0aCA9IG5ld2ZiLT53aWR0aDsKPj4gKwlmLmhlaWdodCA9IG5l d2ZiLT5oZWlnaHQ7Cj4+ICsJZi5waXhlbF9mb3JtYXQgPSBuZXdmYi0+ZHJtX2Zvcm1hdDsKPj4g KwlmLmZsYWdzID0gTE9DQUxfRFJNX01PREVfRkJfTU9ESUZJRVJTOwo+PiArCj4+ICsJZm9yIChp bnQgbiA9IDA7IG4gPCBuZXdmYi0+bnVtX3BsYW5lczsgbisrKSB7Cj4+ICsJCWYuaGFuZGxlc1tu XSA9IG5ld2ZiLT5nZW1faGFuZGxlOwo+PiArCQlmLm1vZGlmaWVyW25dID0gbmV3ZmItPm1vZGlm aWVyOwo+PiArCQlmLnBpdGNoZXNbbl0gPSBuZXdmYi0+c3RyaWRlc1tuXTsKPj4gKwkJZi5vZmZz ZXRzW25dID0gbmV3ZmItPm9mZnNldHNbbl07Cj4+ICsJfQo+PiArCj4+ICsJY3IgPSBpZ3RfZ2V0 X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsIG5ld2ZiKTsKPj4gKwlpZ3RfcGFpbnRfY29sb3IoY3Is IDAsIDAsIG5ld2ZiLT53aWR0aCwgbmV3ZmItPmhlaWdodCwgMCwgMSwgMCk7Cj4+ICsJaWd0X3B1 dF9jYWlyb19jdHgoY3IpOwo+PiArCj4+ICsJaWd0X2Fzc2VydChkcm1Jb2N0bChkYXRhLT5kcm1f ZmQsIExPQ0FMX0RSTV9JT0NUTF9NT0RFX0FEREZCMiwKPj4gJmYpID09IDApOwo+PiArCW5ld2Zi LT5mYl9pZCA9IGYuZmJfaWQ7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIGZyZWVfZmJzKGRh dGFfdCAqZGF0YSkKPj4gK3sKPj4gKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEt PnNtYWxsX2ZiKTsKPj4gKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPmJpZ19m Yik7IH0KPj4gKwo+PiArc3RhdGljIHZvaWQgdGVzdF9mbGlwX3RvX3NjYWxlZChkYXRhX3QgKmRh dGEsIHVpbnQzMl90IGluZGV4LCBlbnVtIHBpcGUgcGlwZSwKPj4gKwkJCQlpZ3Rfb3V0cHV0X3Qg Km91dHB1dCkKPj4gK3sKPj4gKwlpZ3RfcGxhbmVfdCAqcHJpbWFyeTsKPj4gKwlpZ3RfY3JjX3Qg c21hbGxfY3JjLCBiaWdfY3JjOwo+PiArCj4+ICsJZHJtTW9kZU1vZGVJbmZvICptb2RlOwo+PiAr CXN0cnVjdCBkcm1fZXZlbnRfdmJsYW5rIGV2Owo+PiArCWludCByZXQ7Cj4+ICsKPj4gKwlpZ3Rf ZGlzcGxheV9yZXNldCgmZGF0YS0+ZGlzcGxheSk7Cj4+ICsKPj4gKwlpZ3RfZGVidWcoInJ1bm5p bmcgb24gb3V0cHV0ICVzIHBpcGUgJXNcbiIsIG91dHB1dC0+bmFtZSwKPj4gKwkJICBrbXN0ZXN0 X3BpcGVfbmFtZShwaXBlKSk7Cj4+ICsJaWYgKGRhdGEtPmJpZ19mYi5mYl9pZCA9PSAwKSB7Cj4+ ICsJCW1vZGUgPSBpZ3Rfb3V0cHV0X2dldF9tb2RlKG91dHB1dCk7Cj4+ICsKPj4gKwkJLy8gYmln IGZiIHdpbGwgYmUgNGsgdW5sZXNzIHJ1bm5pbmcgb24gb2xkZXIgdGhhbiBJQ0wKPj4gKwkJaWYg KGRhdGEtPmdlbiA8IDExKSB7Cj4+ICsJCQlzZXR1cF9mYihkYXRhLCAmZGF0YS0+c21hbGxfZmIs Cj4+ICsJCQkJIG1pbihtb2RlLT5oZGlzcGxheSwgNjQwKSwKPj4gKwkJCQkgbWluKG1vZGUtPnZk aXNwbGF5LCA0ODApLAo+PiArCQkJCSBmbGlwX3NjZW5hcmlvX3Rlc3RbaW5kZXhdLmZpcnN0Zm9y bWF0LAo+PiArCQkJCSBmbGlwX3NjZW5hcmlvX3Rlc3RbaW5kZXhdLmZpcnN0bW9kaWZpZXIpOwo+ PiArCj4+ICsJCQlzZXR1cF9mYihkYXRhLCAmZGF0YS0+YmlnX2ZiLAo+PiArCQkJCSAxMjgwLCA5 NjAsCj4gCj4gTm90IHN1cmUsIGJ1dCBqdXN0IHNvbWV0aGluZyB0byBjaGVjay4gV2hldGhlciB0 aGlzIGRvd25zY2FsaW5nIHdpbGwgdHJpZ2dlciBhIGNkIGNsb2NrIGNoYW5nZSBmb3IgYWxsIHBs YXRmb3Jtcy4KPiBXZSBzaG91bGQgc29tZWhvdyBjaGVjayB0aGF0IGFzIHdlbGwgaWYgY2QgY2xv Y2sgY2hhbmdlIHJlYWxseSBoYXBwZW5lZC4gIENEIGNsb2NrIHN0ZXBzIGFyZSBub3QgdW5pZm9y bSBhY3Jvc3MgcGxhdGZvcm1zLgo+IEFsc28gaWYgZHJpdmVyIGhhcmRjb2RlcyBhIGhpZ2hlciBj ZCBjbG9jayB0aGlzIHRlc3QgbWF5IHBhc3Mgd2l0aG91dCBpdHMgaW50ZW5kZWQgb2JqZWN0aXZl LgoKSSBjYW5ub3QgZW5mb3JjZSBjZGNsayBjaGFuZ2VzIGJ1dCB3aGF0IGhhcHBlbiBoZXJlIHdp dGggZG93bnNjYWxpbmcgaXMgCml0IGFsd2F5cyBnbyA0OjEgSSBmaWd1cmUgdGhlcmUncyBtaW5p bXVtIGZvdXIgdGltZXMgbW9yZSBzYW1wbGVzIG5lZWRlZCAKd2l0aCBmaWx0ZXJpbmcuIEFzIG11 Y2ggYXMgSSB2ZXJpZmllZCB0aG9zZSBkbWVzZ3MgZnJvbSBDSSB0aGVyZSB3YXMgCmFsd2F5cyBk aXNwbGF5IGNsb2NrIHJlcHJvZ3JhbW1lZCBvbiBhbGwgcGxhdGZvcm1zIGJ1dCBpdCBpcyBqdXN0 IHdoYXQgCmhhcHBlbiBvbiB0b2RheSdzIGRybS10aXAuIElmIHdvdWxkIHJ1biB0aGlzIG9uIGk5 MTUgZnJvbSB5ZWFyIGFnbyB0aGVyZSAKd291bGQgYmUgbm8gc3VjaCBjaGFuZ2UgdGh1cyBvbiBk ZXNjcmlwdGlvbiBpdCBqdXN0IHNheXMgJ2F0dGVtcHQgdG8gCnN0cmVzcyBjZGNsaycuCgpBcyBh IGZsaXBwaW5nIHRlc3QgSSB0aGluayBmaW5hbCBpbnRlbmRlZCBvYmplY3RpdmUgaXMgZmxpcHBp bmcgYmV0d2VlbiAKZnJhbWVidWZmZXJzIHN1Y2NlZWRlZCBhbmQgaXQgaXMgdmVyaWZpZWQgd2l0 aCBjcmMgYmVsb3cuCgo+IAo+PiArCQkJCSBmbGlwX3NjZW5hcmlvX3Rlc3RbaW5kZXhdLnNlY29u ZGZvcm1hdCwKPj4gKwkJCQkgZmxpcF9zY2VuYXJpb190ZXN0W2luZGV4XS5zZWNvbmRtb2RpZmll cik7Cj4+ICsJCQlpZ3RfZGVidWcoInNtYWxsIGZiICVkeCVkXG4iLCBkYXRhLT5zbWFsbF9mYi53 aWR0aCwKPj4gKwkJCSAgICAgICAgICBkYXRhLT5zbWFsbF9mYi5oZWlnaHQpOwo+PiArCQkJaWd0 X2RlYnVnKCJiaWcgZmIgJWR4JWRcbiIsIGRhdGEtPmJpZ19mYi53aWR0aCwKPj4gKwkJCSAgICAg ICAgICBkYXRhLT5iaWdfZmIuaGVpZ2h0KTsKPj4gKwkJfSBlbHNlIHsKPj4gKwkJCXNldHVwX2Zi KGRhdGEsICZkYXRhLT5zbWFsbF9mYiwKPj4gKwkJCQkgbWluKG1vZGUtPmhkaXNwbGF5LCAxOTIw KSwKPj4gKwkJCQkgbWluKG1vZGUtPnZkaXNwbGF5LCAxMDgwKSwKPj4gKwkJCQkgZmxpcF9zY2Vu YXJpb190ZXN0W2luZGV4XS5maXJzdGZvcm1hdCwKPj4gKwkJCQkgZmxpcF9zY2VuYXJpb190ZXN0 W2luZGV4XS5maXJzdG1vZGlmaWVyKTsKPj4gKwo+PiArCQkJc2V0dXBfZmIoZGF0YSwgJmRhdGEt PmJpZ19mYiwKPj4gKwkJCQkgMzg0MCwgMjE2MCwKPj4gKwkJCQkgZmxpcF9zY2VuYXJpb190ZXN0 W2luZGV4XS5zZWNvbmRmb3JtYXQsCj4+ICsJCQkJIGZsaXBfc2NlbmFyaW9fdGVzdFtpbmRleF0u c2Vjb25kbW9kaWZpZXIpOwo+PiArCQkJaWd0X2RlYnVnKCJzbWFsbCBmYiAlZHglZFxuIiwgZGF0 YS0+c21hbGxfZmIud2lkdGgsCj4+ICsJCQkgICAgICAgICAgZGF0YS0+c21hbGxfZmIuaGVpZ2h0 KTsKPj4gKwkJCWlndF9kZWJ1ZygiYmlnIGZiICVkeCVkXG4iLCBkYXRhLT5iaWdfZmIud2lkdGgs Cj4+ICsJCQkgICAgICAgICAgZGF0YS0+YmlnX2ZiLmhlaWdodCk7Cj4+ICsJCX0KPj4gKwl9Cj4+ ICsKPj4gKwlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgcGlwZSk7Cj4+ICsKPj4gKwlwcmlt YXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShvdXRwdXQsCj4+IERSTV9QTEFORV9UWVBF X1BSSU1BUlkpOwo+PiArCWlndF9kaXNwbGF5X2NvbW1pdF9hdG9taWMoJmRhdGEtPmRpc3BsYXks Cj4+IERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VULAo+PiArCQkJCSAgTlVMTCk7Cj4+ICsJ ZGF0YS0+cGlwZV9jcmMgPSBpZ3RfcGlwZV9jcmNfbmV3KGRhdGEtPmRybV9mZCwgcGlwZSwKPj4g KwkJCQkJICBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfQVVUTyk7Cj4+ICsJaWd0X3BpcGVfY3JjX3N0 YXJ0KGRhdGEtPnBpcGVfY3JjKTsKPj4gKwo+PiArCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocHJp bWFyeSwgMCwgMCk7Cj4+ICsJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCAmZGF0YS0+c21hbGxf ZmIpOwo+PiArCj4+ICsJaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21pYygmZGF0YS0+ZGlzcGxheSwK Pj4gKwkJCQkgIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VULCBOVUxMKTsKPj4gKwlpZ3Rf cGlwZV9jcmNfZ2V0X2N1cnJlbnQoZGF0YS0+ZHJtX2ZkLCBkYXRhLT5waXBlX2NyYywgJnNtYWxs X2NyYyk7Cj4+ICsKPj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZkYXRhLT5iaWdfZmIp Owo+PiArCWlndF9wbGFuZV9zZXRfc2l6ZShwcmltYXJ5LCBkYXRhLT5zbWFsbF9mYi53aWR0aCwK Pj4gKwkJCSAgIGRhdGEtPnNtYWxsX2ZiLmhlaWdodCk7Cj4+ICsJcmV0ID0gaWd0X2Rpc3BsYXlf dHJ5X2NvbW1pdF9hdG9taWMoJmRhdGEtPmRpc3BsYXksCj4+ICsKPj4gRFJNX01PREVfQVRPTUlD X0FMTE9XX01PREVTRVQgIHwKPj4gKwkJCQkJICAgIERSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwg TlVMTCk7Cj4+ICsKPj4gKwlpZ3RfcmVxdWlyZV9mKHJldCAhPSAtRVJBTkdFLAo+PiArCQkgICAg ICAiUGxhdGZvcm0gc2NhbGluZyBsaW1pdHMgZXhjZWVkZWQsIHNraXBwaW5nLiIpOwo+PiArCWln dF9hc3NlcnRfZXEocmV0LCAwKTsKPj4gKwo+PiArCWlndF9hc3NlcnQocmVhZChkYXRhLT5kcm1f ZmQsICZldiwgc2l6ZW9mKGV2KSkgPT0gc2l6ZW9mKGV2KSk7Cj4+ICsKPj4gKwlpZ3RfcGlwZV9j cmNfZ2V0X2N1cnJlbnQoZGF0YS0+ZHJtX2ZkLCBkYXRhLT5waXBlX2NyYywgJmJpZ19jcmMpOwo+ PiArCWlndF9hc3NlcnQoaWd0X2NoZWNrX2NyY19lcXVhbCgmc21hbGxfY3JjLCAmYmlnX2NyYykp Owo+IAo+IFdpdGggdGhpcyBkb3duc2NhbGluZywgYXJlIHdlIGFibGUgdG8gbWF0Y2ggY3JjLiBT Y2FsYXIgbWF5IGRvIHNvbWUgcm91bmRpbmcsIHNvIG5vdCBzdXJlIGlmIHRoaXMgd2lsbAo+IG1h dGNoIGluIGFsbCBjYXNlcy4gR29vZCB0byBjaGVjayB0aGlzLgoKV2UgY2Fubm90IHJlYWxseSBk byBjcmMgY2hlY2tpbmcgd2l0aCBzY2FsZXJzIGJ1dCBJIGhhdmUgaWRlYSBoZXJlIAptYXhpbXVt IHNvbGlkIGdyZWVuIHdvdWxkIHN0YXkgbWF4aW11bSBzb2xpZCBncmVlbiByZWdhcmRsZXNzIG9m IHRoZSAKc2NhbGVyLCBhbGwgY29tcG9uZW50cyBmb3Igc2NhbGVyIGFyZSBtYXhpbXVtIHNvbGlk IGdyZWVuLiBXaXRoIHRoZXNlIApzdGFydGluZyB2YWx1ZXMgaWYgc2NhbGVyIGNvdWxkbid0IHBy b2R1Y2UgbWF4aW11bSBzb2xpZCBncmVlbiBJJ2QgY2FsbCAKc2NhbGVyIGJyb2tlbi4KCj4gCj4+ ICsKPj4gKwlpZ3RfcGlwZV9jcmNfc3RvcChkYXRhLT5waXBlX2NyYyk7Cj4+ICsJaWd0X3BpcGVf Y3JjX2ZyZWUoZGF0YS0+cGlwZV9jcmMpOwo+PiArCWRhdGEtPnBpcGVfY3JjID0gTlVMTDsKPj4g K30KPj4gKwo+PiAraWd0X21haW4KPj4gK3sKPj4gKwllbnVtIHBpcGUgcGlwZTsKPj4gKwlkYXRh X3QgZGF0YSA9IHt9Owo+PiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+PiArCj4+ICsJaWd0X2Zp eHR1cmUgewo+PiArCQlkYXRhLmRybV9mZCA9IGRybV9vcGVuX2RyaXZlcl9tYXN0ZXIoRFJJVkVS X0lOVEVMKTsKPj4gKwkJZGF0YS5nZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9kZXZpZChk YXRhLmRybV9mZCkpOwo+PiArCQlpZ3RfcmVxdWlyZShkYXRhLmdlbiA+PSA5KTsKPj4gKwkJaWd0 X2Rpc3BsYXlfcmVxdWlyZSgmZGF0YS5kaXNwbGF5LCBkYXRhLmRybV9mZCk7Cj4+ICsJCWlndF9y ZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOwo+PiArCQlpZ3RfcmVxdWlyZV9waXBlX2Ny YyhkYXRhLmRybV9mZCk7Cj4+ICsJCWttc3Rlc3Rfc2V0X3Z0X2dyYXBoaWNzX21vZGUoKTsKPj4g Kwl9Cj4+ICsKPj4gKwlmb3IgKGludCBpbmRleCA9IDA7IGluZGV4IDwgQVJSQVlfU0laRShmbGlw X3NjZW5hcmlvX3Rlc3QpOyBpbmRleCsrKSB7Cj4+ICsJCWlndF9kZXNjcmliZShmbGlwX3NjZW5h cmlvX3Rlc3RbaW5kZXhdLmRlc2NyaWJlKTsKPj4gKwkJaWd0X3N1YnRlc3QoZmxpcF9zY2VuYXJp b190ZXN0W2luZGV4XS5uYW1lKSB7Cj4+ICsJCQlmb3JfZWFjaF9waXBlX3dpdGhfc2luZ2xlX291 dHB1dCgmZGF0YS5kaXNwbGF5LCBwaXBlLAo+PiArCQkJCQkJCSBvdXRwdXQpCj4+ICsJCQkJdGVz dF9mbGlwX3RvX3NjYWxlZCgmZGF0YSwgaW5kZXgsIHBpcGUsIG91dHB1dCk7Cj4+ICsKPj4gKwkJ CWZyZWVfZmJzKCZkYXRhKTsKPj4gKwkJfQo+PiArCX0KPj4gKwlpZ3RfZml4dHVyZSB7Cj4+ICsJ CWZyZWVfZmJzKCZkYXRhKTsKPj4gKwkJaWYgKGRhdGEucGlwZV9jcmMpIHsKPj4gKwkJCWlndF9w aXBlX2NyY19zdG9wKGRhdGEucGlwZV9jcmMpOwo+PiArCQkJaWd0X3BpcGVfY3JjX2ZyZWUoZGF0 YS5waXBlX2NyYyk7Cj4+ICsJCQlkYXRhLnBpcGVfY3JjID0gTlVMTDsKPj4gKwkJfQo+PiArCQlr bXN0ZXN0X3NldF92dF90ZXh0X21vZGUoKTsKPj4gKwkJaWd0X2Rpc3BsYXlfZmluaSgmZGF0YS5k aXNwbGF5KTsKPj4gKwl9Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBi L3Rlc3RzL21lc29uLmJ1aWxkIGluZGV4IDY4NGRlMDQzLi44ZTE3YTZhZQo+PiAxMDA2NDQKPj4g LS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKPj4gKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKPj4gQEAg LTM3LDYgKzM3LDcgQEAgdGVzdF9wcm9ncyA9IFsKPj4gICAJJ2ttc19mZW5jZV9waW5fbGVhaycs Cj4+ICAgCSdrbXNfZmxpcCcsCj4+ICAgCSdrbXNfZmxpcF9ldmVudF9sZWFrJywKPj4gKwkna21z X2ZsaXBfc2NhbGVkX2NyYycsCj4+ICAgCSdrbXNfZmxpcF90aWxpbmcnLAo+PiAgIAkna21zX2Zv cmNlX2Nvbm5lY3Rvcl9iYXNpYycsCj4+ICAgCSdrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmcnLAo+ PiAtLQo+PiAyLjI2LjAKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPj4gaWd0LWRldiBtYWlsaW5nIGxpc3QKPj4gaWd0LWRldkBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pZ3QtZGV2CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK