From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C910E6EBDF for ; Tue, 17 Sep 2019 11:40:48 +0000 (UTC) Date: Tue, 17 Sep 2019 14:40:46 +0300 From: Petri Latvala Message-ID: <20190917114046.GU4019@platvala-desk.ger.corp.intel.com> References: <1568276198-6363-1-git-send-email-jeevan.b@intel.com> <1568276198-6363-3-git-send-email-jeevan.b@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1568276198-6363-3-git-send-email-jeevan.b@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t 2/8] tests/i915/i915_pm_dc: Added new test to verify Display C States List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Jeevan B Cc: igt-dev@lists.freedesktop.org, Jyoti Yadav List-ID: T24gVGh1LCBTZXAgMTIsIDIwMTkgYXQgMDE6NDY6MzJQTSArMDUzMCwgSmVldmFuIEIgd3JvdGU6 Cj4gRnJvbTogSnlvdGkgWWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgo+IAo+IEN1cnJl bnRseSB0aGlzIHRlc3QgdmFsaWRhdGVzIERDNSB1cG9uIFBTUiBlbnRyeSBmb3Igc3VwcG9ydGVk IHBsYXRmb3Jtcy4KPiBBZGRlZCBuZXcgZmlsZSBmb3IgY29tcGlsYXRpb24gaW5zaWRlIE1ha2Vm aWxlIGFuZCBNZXNvbi4KPiAKPiB2MjogVXNlZCB0aGUgZGVidWdmcyBlbnRyeSBmb3IgREMgY291 bnRlcnMgaW5zdGVhZCBvZiBSZWdpc3RlcnMuCj4gICAgIFVzZWQgc2hvcnRlciBuYW1lcyBmb3Ig dmFyaWFibGVzLgo+ICAgICBJbnRyb2R1Y2VkIHRpbWVvdXQgdG8gcmVhZCBEQyBjb3VudGVycy4K PiB2Mzogb25lIHNlY29uZCB0aW1lb3V0IGlzIGludHJvZHVjZWQgdG8gcmVhZCBEQyBjb3VudGVy cy4KPiAgICAgU2tpcCB0aGUgc3VidGVzdCBpZiBjb3VudGVycyBhcmUgbm90IGF2YWlsYWJsZSBm b3IgdGhhdCBwbGF0Zm9ybS4KPiB2NDogUmViYXNlZCwgdG8gZml4IGNvbXBpbGF0aW9uIGVycm9y IGluIHBzcl9lbmFibGUoKSwgcHNyX3dhaXRfZW50cnkoKQo+ICAgICBhbmQgcmVwbGFjZWQgaWd0 X2Rpc3BsYXlfaW5pdCgpIGJ5IGlndF9kaXNwbGF5X3JlcXVpcmUoKSBpbiBwbV9ycG0uYy4KPiAg ICAgQWRkcmVzc2VkIHRoZSByZXZpZXcgY29tbWVudCBieSByZW1vdmluZyB1bnVzZWQgZnVuY3Rp b24gZGlzcGxheV9pbml0LAo+ICAgICByZW1vdmluZyByZWR1bmRhbnQgaWd0IGNvbW1pdCBzdWdn ZXN0ZWQgYnkgSW1yZS4KPiAgICAgRml4ZWQgdHlwbyBpbiByZWFkX2RjX2NvdW50ZXIoKS4KPiB2 NTogQWRkcmVzc2VkIHRoZSByZXZpZXcgY29tbWVudCBieSByZW1vdmluZyByZWR1bmRhbnQgcmVh ZF9kY19jb3VudGVyKCksCj4gICAgIGNsdWJiZWQgY2xlYW51cCgpIGZ1bmN0aW9uIGluIHRlc3Rf ZGNfc3RhdGVfcHNyKCkgc3VnZ2VzdGVkIGJ5IEltcmUuCj4gICAgIFJlYXJyYW5nZWQgIHByZXBy b2Nlc3NvciBkaXJlY3RpdmVzIGF0IG9uZSBwbGFjZS4KPiAgICAgRml4ZWQgY29tcGlsYXRpb24g d2FybmluZyBieSBhZGRpbmcgZnVuY3Rpb24gcHJvdG90eXBlIGZvcgo+ICAgICBkY19zdGF0ZV93 YWl0X2VudHJ5KCkgYW5kIGNoZWNrX2RjX2NvdW50ZXIoKS4KPiAgICAgTGlzdGluZyBhY3R1YWwg Y2hhbmdlIGluIHBhdGNoIHNldCBjaGFuZ2Vsb2cgdG8gbWFrZSByZXZpZXcgZWFzaWVyLgo+IHY2 OiBGaXhlZCAiaTkxNV9lZHBfcHNyX3N0YXR1cyIgc3RyaW5nIHRvICJTaW5rIHN1cHBvcnQ6IHll cyIuCj4gdjc6IFJlYmFzZWQgc2luY2UgdGVzdCBuYW1lIGNoYW5nZWQgZnJvbSAicG1fZGMiIHRv ICJpOTE1X3BtX2RjIiwKPiAgICAgdGhpcyB3aWxsIGFsaWduIHdpdGggb3RoZXIgUE0gdGVzdHMu Cj4gICAgIGFsc28gY2hhbmdlZCB0aGUgREM1LzYgY291bnRlciBjaGVjayB0aW1lb3V0IHRvIDMg c2Vjb25kLgo+IHY4OiBPbiBmZXcgcGxhdGZvcm0gU0FUQSBpL3AgaXMgYmxvY2tpbmcgZGVlcGVy IHBhY2thZ2UgQyBzdGF0ZXMuCj4gICAgIHVzZWQgaWd0X3BtX2VuYWJsZV9zYXRhX2xpbmtfcG93 ZXJfbWFuYWdlbWVudCgpIGZ1bmN0aW9uIGluIG9yZGVyCj4gICAgIHRvIHVzZSBtaW5fcG93ZXIg cG9saWN5Lgo+IHY5OiBSZW1vdmVkIHJlZHVuZGFudCBpZ3RfcG1fcmVtb3ZlX3NhdGFfbGlua19w b3dlcl9tYW5hZ2VtZW50KCkKPiAgICAgYXMgc2F0YSBsaW5rIHBvbGljeSB2YWx1ZXMgd2lsbCBi ZSByZXN0b3JlZCBieSBleGl0IGhhbmRsZXIuCj4gdjEwOiBjaGFuZ2VkIGNsZWFudXAoKSB0byBj bGVhbnVwX2RjX3BzcigpIHN5bW1ldHJpYyB0byBjbGVhbnVwX2RjX2RwbXMoKS4KPiB2MTE6IFJl bW92ZWQgdW53YW50ZWQgaGVhZGVycy4gW0ltcmVdCj4gCj4gU2lnbmVkLW9mZi1ieTogSnlvdGkg WWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEFuc2h1bWFu IEd1cHRhIDxhbnNodW1hbi5ndXB0YUBpbnRlbC5jb20+Cj4gLS0tCj4gIHRlc3RzL01ha2VmaWxl LnNvdXJjZXMgIHwgICAzICsKPiAgdGVzdHMvaTkxNS9pOTE1X3BtX2RjLmMgfCAyMTEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIHRlc3RzL21lc29u LmJ1aWxkICAgICAgIHwgICAxICsKPiAgMyBmaWxlcyBjaGFuZ2VkLCAyMTUgaW5zZXJ0aW9ucygr KQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvaTkxNS9pOTE1X3BtX2RjLmMKPiAKPiBkaWZm IC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMK PiBpbmRleCA1NDlhMzUwLi4wNmEwYTQ4IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL01ha2VmaWxlLnNv dXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gQEAgLTUyMCw2ICs1MjAsOSBA QCBpOTE1X3BtX3JjNl9yZXNpZGVuY3lfU09VUkNFUyA9IGk5MTUvaTkxNV9wbV9yYzZfcmVzaWRl bmN5LmMKPiAgVEVTVFNfcHJvZ3MgKz0gaTkxNV9wbV9ycG0KPiAgaTkxNV9wbV9ycG1fU09VUkNF UyA9IGk5MTUvaTkxNV9wbV9ycG0uYwo+ICAKPiArVEVTVFNfcHJvZ3MgKz0gaTkxNV9wbV9kYwo+ ICtpOTE1X3BtX2RjX1NPVVJDRVMgPSBpOTE1L2k5MTVfcG1fZGMuYwo+ICsKPiAgVEVTVFNfcHJv Z3MgKz0gaTkxNV9wbV9ycHMKPiAgaTkxNV9wbV9ycHNfU09VUkNFUyA9IGk5MTUvaTkxNV9wbV9y cHMuYwo+ICAKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9pOTE1X3BtX2RjLmMgYi90ZXN0cy9p OTE1L2k5MTVfcG1fZGMuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4u YzBlNDFjMwo+IC0tLSAvZGV2L251bGwKPiArKysgYi90ZXN0cy9pOTE1L2k5MTVfcG1fZGMuYwo+ IEBAIC0wLDAgKzEsMjExIEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENv cnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBz b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJl IiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFu ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0 byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg dG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJp Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0 Cj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJz dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g VEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwK PiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBP VEhFUiBERUFMSU5HUwo+ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gKyAqCj4gKyAqLwo+ICsKPiAr I2luY2x1ZGUgPGVycm5vLmg+Cj4gKyNpbmNsdWRlIDxzdGRib29sLmg+Cj4gKyNpbmNsdWRlIDxz dGRpby5oPgo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gKyNpbmNsdWRlICJpZ3QuaCIKPiArI2lu Y2x1ZGUgImlndF9wc3IuaCIKPiArI2luY2x1ZGUgImlndF9zeXNmcy5oIgo+ICsjaW5jbHVkZSAi bGltaXRzLmgiCj4gKwo+ICsvKiBEQyBTdGF0ZSBGbGFncyAqLwo+ICsjZGVmaW5lIENIRUNLX0RD NQkxCj4gKyNkZWZpbmUgQ0hFQ0tfREM2CTIKPiArCj4gK3R5cGVkZWYgc3RydWN0IHsKPiArCWlu dCBkcm1fZmQ7Cj4gKwlpbnQgZGVidWdmc19mZDsKPiArCXVpbnQzMl90IGRldmlkOwo+ICsJaWd0 X2Rpc3BsYXlfdCBkaXNwbGF5Owo+ICsJc3RydWN0IGlndF9mYiBmYl93aGl0ZTsKPiArCWVudW0g cHNyX21vZGUgb3BfcHNyX21vZGU7Cj4gKwlkcm1Nb2RlTW9kZUluZm8gKm1vZGU7Cj4gKwlpZ3Rf b3V0cHV0X3QgKm91dHB1dDsKPiArfSBkYXRhX3Q7Cj4gKwo+ICtzdGF0aWMgYm9vbCBkY19zdGF0 ZV93YWl0X2VudHJ5KGludCBkcm1fZmQsIGludCBkY19mbGFnLCBpbnQgcHJldl9kY19jb3VudCk7 Cj4gK3N0YXRpYyB2b2lkIGNoZWNrX2RjX2NvdW50ZXIoaW50IGRybV9mZCwgaW50IGRjX2ZsYWcs IHVpbnQzMl90IHByZXZfZGNfY291bnQpOwo+ICsKPiArc3RhdGljIHZvaWQgc2V0dXBfb3V0cHV0 KGRhdGFfdCAqZGF0YSkKPiArewo+ICsJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLT5k aXNwbGF5Owo+ICsJaWd0X291dHB1dF90ICpvdXRwdXQ7Cj4gKwllbnVtIHBpcGUgcGlwZTsKPiAr Cj4gKwlmb3JfZWFjaF9waXBlX3dpdGhfdmFsaWRfb3V0cHV0KGRpc3BsYXksIHBpcGUsIG91dHB1 dCkgewo+ICsJCWRybU1vZGVDb25uZWN0b3JQdHIgYyA9IG91dHB1dC0+Y29uZmlnLmNvbm5lY3Rv cjsKPiArCj4gKwkJaWYgKGMtPmNvbm5lY3Rvcl90eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9l RFApCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwg cGlwZSk7Cj4gKwkJZGF0YS0+b3V0cHV0ID0gb3V0cHV0Owo+ICsJCWRhdGEtPm1vZGUgPSBpZ3Rf b3V0cHV0X2dldF9tb2RlKG91dHB1dCk7Cj4gKwo+ICsJCXJldHVybjsKPiArCX0KPiArfQo+ICsK PiArc3RhdGljIHZvaWQgZGlzcGxheV9maW5pKGRhdGFfdCAqZGF0YSkKPiArewo+ICsJaWd0X2Rp c3BsYXlfZmluaSgmZGF0YS0+ZGlzcGxheSk7Cj4gK30KPiArCj4gK3N0YXRpYyBib29sIGVkcF9w c3Jfc2lua19zdXBwb3J0KGRhdGFfdCAqZGF0YSkKPiArewo+ICsJY2hhciBidWZbNTEyXTsKPiAr Cj4gKwlpZ3RfZGVidWdmc19zaW1wbGVfcmVhZChkYXRhLT5kZWJ1Z2ZzX2ZkLCAiaTkxNV9lZHBf cHNyX3N0YXR1cyIsCj4gKwkJCQlidWYsIHNpemVvZihidWYpKTsKPiArCj4gKwlyZXR1cm4gc3Ry c3RyKGJ1ZiwgIlNpbmsgc3VwcG9ydDogeWVzIik7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGNs ZWFudXBfZGNfcHNyKGRhdGFfdCAqZGF0YSkKPiArewo+ICsJaWd0X3BsYW5lX3QgKnByaW1hcnk7 Cj4gKwo+ICsJcHJpbWFyeSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0 LAo+ICsJCQkJCSAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiArCWlndF9wbGFuZV9zZXRf ZmIocHJpbWFyeSwgTlVMTCk7Cj4gKwlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkp Owo+ICsJaWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZkYXRhLT5mYl93aGl0ZSk7Cj4gK30K PiArCj4gK3N0YXRpYyB2b2lkIHNldHVwX3ByaW1hcnkoZGF0YV90ICpkYXRhKQo+ICt7Cj4gKwlp Z3RfcGxhbmVfdCAqcHJpbWFyeTsKPiArCj4gKwlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxh bmVfdHlwZShkYXRhLT5vdXRwdXQsCj4gKwkJCQkJICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlkp Owo+ICsJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCBOVUxMKTsKPiArCWlndF9jcmVhdGVfY29s b3JfZmIoZGF0YS0+ZHJtX2ZkLAo+ICsJCQkgICAgZGF0YS0+bW9kZS0+aGRpc3BsYXksIGRhdGEt Pm1vZGUtPnZkaXNwbGF5LAo+ICsJCQkgICAgRFJNX0ZPUk1BVF9YUkdCODg4OCwKPiArCQkJICAg IExPQ0FMX0k5MTVfRk9STUFUX01PRF9YX1RJTEVELAo+ICsJCQkgICAgMS4wLCAxLjAsIDEuMCwK PiArCQkJICAgICZkYXRhLT5mYl93aGl0ZSk7Cj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnks ICZkYXRhLT5mYl93aGl0ZSk7Cj4gKwlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkp Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdWludDMyX3QgZ2V0X2RjX2NvdW50ZXIoY2hhciAqZGNfZGF0 YSkKPiArewo+ICsJY2hhciAqZTsKPiArCWxvbmcgcmV0Owo+ICsJY2hhciAqcyA9IHN0cmNocihk Y19kYXRhLCAnOicpOwo+ICsKPiArCWFzc2VydChzKTsKPiArCXMrKzsKPiArCXJldCA9IHN0cnRv bChzLCAmZSwgMTApOwo+ICsJYXNzZXJ0KCgocmV0ICE9IExPTkdfTUlOICYmIHJldCAhPSBMT05H X01BWCkgfHwgZXJybm8gIT0gRVJBTkdFKSAmJgo+ICsJICAgICAgIGUgPiBzICYmICplID09ICdc bicgJiYgcmV0ID49IDApOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIHVpbnQz Ml90IHJlYWRfZGNfY291bnRlcih1aW50MzJfdCBkcm1fZmQsIGludCBkY19mbGFnKQo+ICt7Cj4g KwljaGFyIGJ1Zls0MDk2XTsKPiArCWNoYXIgKnN0cjsKPiArCj4gKwlpZ3RfZGVidWdmc19yZWFk KGRybV9mZCwgImk5MTVfZG1jX2luZm8iLCBidWYpOwo+ICsKPiArCWlmIChkY19mbGFnICYgQ0hF Q0tfREM1KQo+ICsJCXN0ciA9IHN0cnN0cihidWYsICJEQzMgLT4gREM1IGNvdW50Iik7Cj4gKwll bHNlIGlmIChkY19mbGFnICYgQ0hFQ0tfREM2KQo+ICsJCXN0ciA9IHN0cnN0cihidWYsICJEQzUg LT4gREM2IGNvdW50Iik7Cj4gKwo+ICsJLyogQ2hlY2sgREM1L0RDNiBjb3VudGVyIGlzIGF2YWls YWJsZSBmb3IgdGhlIHBsYXRmb3JtLgo+ICsJICogU2tpcCB0aGUgdGVzdCBpZiBjb3VudGVyIGlz IG5vdCBhdmFpbGFibGUuCj4gKwkgKi8KPiArCWlndF9za2lwX29uX2YoIXN0ciwgIkRDJWQgY291 bnRlciBpcyBub3QgYXZhaWxhYmxlXG4iLAo+ICsJCSAgICAgIGRjX2ZsYWcgJiBDSEVDS19EQzUg PyA1IDogNik7Cj4gKwlyZXR1cm4gZ2V0X2RjX2NvdW50ZXIoc3RyKTsKPiArfQo+ICsKPiArc3Rh dGljIGJvb2wgZGNfc3RhdGVfd2FpdF9lbnRyeShpbnQgZHJtX2ZkLCBpbnQgZGNfZmxhZywgaW50 IHByZXZfZGNfY291bnQpCj4gK3sKPiArCXJldHVybiBpZ3Rfd2FpdChyZWFkX2RjX2NvdW50ZXIo ZHJtX2ZkLCBkY19mbGFnKSA+Cj4gKwkJCXByZXZfZGNfY291bnQsIDMwMDAsIDEwMCk7Cj4gK30K PiArCj4gK3N0YXRpYyB2b2lkIGNoZWNrX2RjX2NvdW50ZXIoaW50IGRybV9mZCwgaW50IGRjX2Zs YWcsIHVpbnQzMl90IHByZXZfZGNfY291bnQpCj4gK3sKPiArCWlndF9hc3NlcnRfZihkY19zdGF0 ZV93YWl0X2VudHJ5KGRybV9mZCwgZGNfZmxhZywgcHJldl9kY19jb3VudCksCj4gKwkJICAgICAi REMlZCBzdGF0ZSBpcyBub3QgYWNoaWV2ZWRcbiIsCj4gKwkJICAgICBkY19mbGFnICYgQ0hFQ0tf REM1ID8gNSA6IDYpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB0ZXN0X2RjX3N0YXRlX3Bzcihk YXRhX3QgKmRhdGEsIGludCBkY19mbGFnKQo+ICt7Cj4gKwl1aW50MzJfdCBkY19jb3VudGVyX2Jl Zm9yZV9wc3I7Cj4gKwo+ICsJZGNfY291bnRlcl9iZWZvcmVfcHNyID0gcmVhZF9kY19jb3VudGVy KGRhdGEtPmRybV9mZCwgZGNfZmxhZyk7Cj4gKwlzZXR1cF9vdXRwdXQoZGF0YSk7Cj4gKwlzZXR1 cF9wcmltYXJ5KGRhdGEpOwo+ICsJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeShkYXRhLT5kZWJ1 Z2ZzX2ZkLCBkYXRhLT5vcF9wc3JfbW9kZSkpOwo+ICsJY2hlY2tfZGNfY291bnRlcihkYXRhLT5k cm1fZmQsIGRjX2ZsYWcsIGRjX2NvdW50ZXJfYmVmb3JlX3Bzcik7Cj4gKwljbGVhbnVwX2RjX3Bz cihkYXRhKTsKPiArfQo+ICsKPiArSUdUX1RFU1RfREVTQ1JJUFRJT04oIkRpc3BsYXkgUG93ZXIg REMgc3RhdGVzIElHVCBUZXN0Iik7Cj4gK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10p Cj4gK3sKPiArCWJvb2wgaGFzX3J1bnRpbWVfcG07Cj4gKwlkYXRhX3QgZGF0YSA9IHt9Owo+ICsK PiArCWlndF9za2lwX29uX3NpbXVsYXRpb24oKTsKPiArCWlndF9zdWJ0ZXN0X2luaXQoYXJnYywg YXJndik7Cj4gKwlpZ3RfZml4dHVyZSB7Cj4gKwkJZGF0YS5kcm1fZmQgPSBkcm1fb3Blbl9kcml2 ZXJfbWFzdGVyKERSSVZFUl9JTlRFTCk7Cj4gKwkJZGF0YS5kZWJ1Z2ZzX2ZkID0gaWd0X2RlYnVn ZnNfZGlyKGRhdGEuZHJtX2ZkKTsKPiArCQlpZ3RfcmVxdWlyZShkYXRhLmRlYnVnZnNfZmQgIT0g LTEpOwo+ICsJCWttc3Rlc3Rfc2V0X3Z0X2dyYXBoaWNzX21vZGUoKTsKPiArCQlkYXRhLmRldmlk ID0gaW50ZWxfZ2V0X2RybV9kZXZpZChkYXRhLmRybV9mZCk7Cj4gKwkJaWd0X3BtX2VuYWJsZV9z YXRhX2xpbmtfcG93ZXJfbWFuYWdlbWVudCgpOwo+ICsJCWhhc19ydW50aW1lX3BtID0gaWd0X3Nl dHVwX3J1bnRpbWVfcG0oKTsKPiArCQlpZ3RfaW5mbygiUnVudGltZSBQTSBzdXBwb3J0OiAlZFxu IiwgaGFzX3J1bnRpbWVfcG0pOwo+ICsJCWlndF9yZXF1aXJlKGhhc19ydW50aW1lX3BtKTsKPiAr CQlpZ3RfcmVxdWlyZShpZ3RfcG1fZG1jX2xvYWRlZChkYXRhLmRlYnVnZnNfZmQpKTsKPiArCQlp Z3RfZGlzcGxheV9yZXF1aXJlKCZkYXRhLmRpc3BsYXksIGRhdGEuZHJtX2ZkKTsKPiArCX0KPiAr Cj4gKwlpZ3RfZGVzY3JpYmUoIkRDNSBpZ3QgdGVzdCB3aXRoIFBTUiBTbGVlcCBzdGF0ZSIpOwo+ ICsJaWd0X3N1YnRlc3QoImRjNS1wc3IiKSB7CgoKQ2FuIHRoZSBkb2N1bWVudGF0aW9uIGJlIGZs ZXNoZWQgb3V0IGEgYml0IG1vcmU/IEZvciBvbmUsIGl0J3MKcmVkdW5kYW50IGZvciBhbiBJR1Qg dGVzdCB0byBzdGF0ZSB0aGF0IGl0J3MgYW4gSUdUIHRlc3QgKGFwcGxpZXMgdG8KYm90aCB0aGUg aWd0X2Rlc2NyaWJlIGNhbGxzIGFuZCB0aGUgSUdUX1RFU1RfREVTQ1JJUFRJT04gc3RyaW5nKS4K CiJEQzUgdGVzdCB3aXRoIFBTUiBTbGVlcCBzdGF0ZSIgaXMgbm90IGNsZWFyIHdoYXQgdGhlIHRl c3QgaXMKdGVzdGluZy4gU29tZXRoaW5nIGxpa2UgIlRlc3QgdGhhdCBEQzUgc3RhdGUgaXMgcmVh Y2hlZCBpbiBQU1Igc2xlZXAKc3RhdGUiPwoKCi0tIApQZXRyaSBMYXR2YWxhCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==