From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH i-g-t v4 2/5] tests/pm_dc: Added new test to verify Display C States Date: Fri, 8 Feb 2019 16:49:31 +0200 Message-ID: <20190208144931.GD31034@ideak-desk.fi.intel.com> References: <1549037582-22449-1-git-send-email-anshuman.gupta@intel.com> <1549037582-22449-3-git-send-email-anshuman.gupta@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D2026E3E9 for ; Fri, 8 Feb 2019 14:49:35 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1549037582-22449-3-git-send-email-anshuman.gupta@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Anshuman Gupta Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMDEsIDIwMTkgYXQgMDk6NDI6NTlQTSArMDUzMCwgQW5zaHVtYW4gR3VwdGEg d3JvdGU6Cj4gRnJvbTogSnlvdGkgWWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgo+IAo+ IEN1cnJlbnRseSB0aGlzIHRlc3QgdmFsaWRhdGVzIERDNSB1cG9uIFBTUiBlbnRyeSBmb3Igc3Vw cG9ydGVkIHBsYXRmb3Jtcy4KPiBBZGRlZCBuZXcgZmlsZSBmb3IgY29tcGlsYXRpb24gaW5zaWRl IE1ha2VmaWxlIGFuZCBNZXNvbi4KPiAKPiB2MjogVXNlZCB0aGUgZGVidWdmcyBlbnRyeSBmb3Ig REMgY291bnRlcnMgaW5zdGVhZCBvZiBSZWdpc3RlcnMuCj4gICAgIFVzZWQgc2hvcnRlciBuYW1l cyBmb3IgdmFyaWFibGVzLgo+ICAgICBJbnRyb2R1Y2VkIHRpbWVvdXQgdG8gcmVhZCBEQyBjb3Vu dGVycy4KPiB2Mzogb25lIHNlY29uZCB0aW1lb3V0IGlzIGludHJvZHVjZWQgdG8gcmVhZCBEQyBj b3VudGVycy4KPiAgICAgU2tpcCB0aGUgc3VidGVzdCBpZiBjb3VudGVycyBhcmUgbm90IGF2YWls YWJsZSBmb3IgdGhhdCBwbGF0Zm9ybS4KPiB2NDogUmViYXNlZCwgYWRkcmVzc2VkIHRoZSByZXZp ZXcgY29tbWVudCBhbmQgc3BlbGwgY29ycmVjdGlvbi4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKeW90 aSBZYWRhdiA8anlvdGkuci55YWRhdkBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQW5zaHVt YW4gR3VwdGEgPGFuc2h1bWFuLmd1cHRhQGludGVsLmNvbT4KPiAtLS0KPiAgdGVzdHMvTWFrZWZp bGUuc291cmNlcyB8ICAgMSArCj4gIHRlc3RzL21lc29uLmJ1aWxkICAgICAgfCAgIDEgKwo+ICB0 ZXN0cy9wbV9kYy5jICAgICAgICAgIHwgMjA1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAyMDcgaW5zZXJ0aW9ucygr KQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvcG1fZGMuYwo+IAo+IGRpZmYgLS1naXQgYS90 ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+IGluZGV4IDM0 YjdlNDQuLjA3Yjk3ODcgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+ICsr KyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiBAQCAtODAsNiArODAsNyBAQCBURVNUU19wcm9n cyA9IFwKPiAgCXBtX2xwc3AgXAo+ICAJcG1fcmM2X3Jlc2lkZW5jeSBcCj4gIAlwbV9ycG0gXAo+ ICsJcG1fZGMgXAo+ICAJcG1fcnBzIFwKPiAgCXBtX3NzZXUgXAo+ICAJcHJpbWVfYnVzeSBcCj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKPiBpbmRl eCAyNWI0NjE0Li4zMDcwYTNlIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkCj4gKysr IGIvdGVzdHMvbWVzb24uYnVpbGQKPiBAQCAtNjYsNiArNjYsNyBAQCB0ZXN0X3Byb2dzID0gWwo+ ICAJJ3BtX2xwc3AnLAo+ICAJJ3BtX3JjNl9yZXNpZGVuY3knLAo+ICAJJ3BtX3JwbScsCj4gKwkn cG1fZGMnLAo+ICAJJ3BtX3JwcycsCj4gIAkncG1fc3NldScsCj4gIAkncHJpbWVfYnVzeScsCj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL3BtX2RjLmMgYi90ZXN0cy9wbV9kYy5jCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5kNTliZTk0Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi L3Rlc3RzL3BtX2RjLmMKPiBAQCAtMCwwICsxLDIwNSBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQg wqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVi eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsg KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl cyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdo dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs aWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8g cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRv IGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGlu Y2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElO IE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF IExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwg V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT SU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsg Kgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlICJpZ3QuaCIKPiArI2luY2x1ZGUgImlndF9zeXNmcy5o Igo+ICsjaW5jbHVkZSAiaWd0X3Bzci5oIgo+ICsjaW5jbHVkZSA8ZXJybm8uaD4KPiArI2luY2x1 ZGUgPHN0ZGJvb2wuaD4KPiArI2luY2x1ZGUgPHN0ZGlvLmg+Cj4gKyNpbmNsdWRlIDxzdHJpbmcu aD4KPiArI2luY2x1ZGUgImludGVsX2J1Zm1nci5oIgo+ICsjaW5jbHVkZSAiaW50ZWxfaW8uaCIK PiArI2luY2x1ZGUgImxpbWl0cy5oIgo+ICsKPiArCj4gK3R5cGVkZWYgc3RydWN0IHsKPiArCWlu dCBkcm1fZmQ7Cj4gKwlpbnQgZGVidWdmc19mZDsKPiArCXVpbnQzMl90IGRldmlkOwo+ICsJaWd0 X2Rpc3BsYXlfdCBkaXNwbGF5Owo+ICsJc3RydWN0IGlndF9mYiBmYl93aGl0ZTsKPiArCWVudW0g cHNyX21vZGUgb3BfcHNyX21vZGU7Cj4gKwlkcm1Nb2RlTW9kZUluZm8gKm1vZGU7Cj4gKwlpZ3Rf b3V0cHV0X3QgKm91dHB1dDsKPiArfSBkYXRhX3Q7Cj4gKwo+ICsvKiBEQyBTdGF0ZSBGbGFncyAq Lwo+ICsjZGVmaW5lIENIRUNLX0RDNQkxCj4gKyNkZWZpbmUgQ0hFQ0tfREM2CTIKPiArCj4gK3N0 YXRpYyB2b2lkIHNldHVwX291dHB1dChkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWlndF9kaXNwbGF5 X3QgKmRpc3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsKPiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+ ICsJZW51bSBwaXBlIHBpcGU7Cj4gKwo+ICsJZm9yX2VhY2hfcGlwZV93aXRoX3ZhbGlkX291dHB1 dChkaXNwbGF5LCBwaXBlLCBvdXRwdXQpIHsKPiArCQlkcm1Nb2RlQ29ubmVjdG9yUHRyIGMgPSBv dXRwdXQtPmNvbmZpZy5jb25uZWN0b3I7Cj4gKwo+ICsJCWlmIChjLT5jb25uZWN0b3JfdHlwZSAh PSBEUk1fTU9ERV9DT05ORUNUT1JfZURQKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJaWd0X291 dHB1dF9zZXRfcGlwZShvdXRwdXQsIHBpcGUpOwo+ICsJCWRhdGEtPm91dHB1dCA9IG91dHB1dDsK PiArCQlkYXRhLT5tb2RlID0gaWd0X291dHB1dF9nZXRfbW9kZShvdXRwdXQpOwo+ICsKPiArCQly ZXR1cm47Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRpc3BsYXlfZmluaShkYXRhX3Qg KmRhdGEpCj4gK3sKPiArCWlndF9kaXNwbGF5X2ZpbmkoJmRhdGEtPmRpc3BsYXkpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgYm9vbCBlZHBfcHNyX3Npbmtfc3VwcG9ydChkYXRhX3QgKmRhdGEpCj4gK3sK PiArCWNoYXIgYnVmWzUxMl07Cj4gKwo+ICsJaWd0X2RlYnVnZnNfc2ltcGxlX3JlYWQoZGF0YS0+ ZGVidWdmc19mZCwgImk5MTVfZWRwX3Bzcl9zdGF0dXMiLAo+ICsJCQkgYnVmLCBzaXplb2YoYnVm KSk7Cj4gKwo+ICsJcmV0dXJuIHN0cnN0cihidWYsICJTaW5rX1N1cHBvcnQ6IHllc1xuIik7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIGNsZWFudXAoZGF0YV90ICpkYXRhKQo+ICt7Cj4gKwlpZ3Rf cGxhbmVfdCAqcHJpbWFyeTsKPiArCj4gKwlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVf dHlwZShkYXRhLT5vdXRwdXQsCj4gKwkJCQkJICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwo+ ICsJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCBOVUxMKTsKPiArCWlndF9kaXNwbGF5X2NvbW1p dCgmZGF0YS0+ZGlzcGxheSk7Cj4gKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEt PmZiX3doaXRlKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2V0dXBfcHJpbWFyeShkYXRhX3Qg KmRhdGEpCj4gK3sKPiArCWlndF9wbGFuZV90ICpwcmltYXJ5Owo+ICsKPiArCXByaW1hcnkgPSBp Z3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtPm91dHB1dCwKPiArCQkJCQkgICAgRFJNX1BM QU5FX1RZUEVfUFJJTUFSWSk7Cj4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksIE5VTEwpOwo+ ICsJaWd0X2NyZWF0ZV9jb2xvcl9mYihkYXRhLT5kcm1fZmQsCj4gKwkJCSAgICBkYXRhLT5tb2Rl LT5oZGlzcGxheSwgZGF0YS0+bW9kZS0+dmRpc3BsYXksCj4gKwkJCSAgICBEUk1fRk9STUFUX1hS R0I4ODg4LAo+ICsJCQkgICAgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCj4gKwkJCSAg ICAxLjAsIDEuMCwgMS4wLAo+ICsJCQkgICAgJmRhdGEtPmZiX3doaXRlKTsKPiArCWlndF9wbGFu ZV9zZXRfZmIocHJpbWFyeSwgJmRhdGEtPmZiX3doaXRlKTsKPiArCWlndF9kaXNwbGF5X2NvbW1p dCgmZGF0YS0+ZGlzcGxheSk7Cj4gK30KPiArCj4gK3N0YXRpYyB1aW50MzJfdCBnZXRfZGNfY291 bnRlcihjaGFyICpkY19kYXRhKQo+ICt7Cj4gKwljaGFyICplOwo+ICsJbG9uZyByZXQ7Cj4gKwlj aGFyICpzID0gc3RyY2hyKGRjX2RhdGEsICc6Jyk7Cj4gKwo+ICsJYXNzZXJ0KHMpOwo+ICsJcysr Owo+ICsJcmV0ID0gc3RydG9sKHMsICZlLCAxMCk7Cj4gKwlhc3NlcnQoKChyZXQgIT0gTE9OR19N SU4gJiYgcmV0ICE9IExPTkdfTUFYKSB8fCBlcnJubyAhPSBFUkFOR0UpICYmCj4gKwkgICAgICAg ZSA+IHMgJiYgKmUgPT0gJ1xuJyAmJiByZXQgPj0gMCk7Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4g Kwo+ICtzdGF0aWMgdWludDMyX3QgcmVhZF9kY19jb3VudGVyKHVpbnQzMl90IGRybV9mZCwgaW50 IGRjX2ZsYWcpCj4gK3sKPiArCWNoYXIgYnVmWzQwOTZdOwo+ICsJY2hhciAqc3RyOwo+ICsKPiAr CWlndF9kZWJ1Z2ZzX3JlYWQoZHJtX2ZkLCAiaTkxNV9kbWNfaW5mbyIsIGJ1Zik7Cj4gKwlpZiAo ZGNfZmxhZyAmIENIRUNLX0RDNSkKPiArCQlzdHIgPSBzdHJzdHIoYnVmLCAiREMzIC0+IERDNSBj b3VudCIpOwo+ICsJZWxzZSBpZiAoZGNfZmxhZyAmIENIRUNLX0RDNikKPiArCQlzdHIgPSBzdHJz dHIoYnVmLCAiREM1IC0+IERDNiBjb3VudCIpOwo+ICsJaWd0X3NraXBfb25fZihzdHIgPT0gTlVM TCwgIkRDJWQgY291bnRlciBpcyBub3QgYXZhaWxhYmxlXG4iLAo+ICsJCSAgICAgIGRjX2ZsYWcg JiBDSEVDS19EQzUgPyA1IDogNik7Cj4gKwlyZXR1cm4gZ2V0X2RjX2NvdW50ZXIoc3RyKTsKPiAr fQo+ICsKPiArYm9vbCBkY19zdGF0ZV93YWl0X2VudHJ5KGludCBkcm1fZmQsIGludCBkY19mbGFn LCBpbnQgcHJldl9kY19jb3VudCkKPiArewo+ICsJcmV0dXJuIGlndF93YWl0KHJlYWRfZGNfY291 bnRlcihkcm1fZmQsIGRjX2ZsYWcpID4gcHJldl9kY19jb3VudCwgMTAwMCwgMTAwKTsKPiArfQo+ ICsKPiArdm9pZCBjaGVja19kY19jb3VudGVyKGludCBkcm1fZmQsIGludCBkY19mbGFnLCB1aW50 MzJfdCBwcmV2X2RjX2NvdW50KQo+ICt7Cj4gKwlpZ3RfYXNzZXJ0X2YoZGNfc3RhdGVfd2FpdF9l bnRyeShkcm1fZmQsIGRjX2ZsYWcsIHByZXZfZGNfY291bnQpLAo+ICsJCSAgICAgIkRDJWQgc3Rh dGUgaXMgbm90IGFjaGlldmVkXG4iLAo+ICsJCSAgICAgZGNfZmxhZyAmIENIRUNLX0RDNSA/IDUg OiA2KTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgdGVzdF9kY19zdGF0ZV9wc3IoZGF0YV90ICpk YXRhLCBpbnQgZGNfZmxhZykKPiArewo+ICsJdWludDMyX3QgZGNfY291bnRlcl9iZWZvcmVfcHNy Owo+ICsKPiArCWRjX2NvdW50ZXJfYmVmb3JlX3BzciA9IHJlYWRfZGNfY291bnRlcihkYXRhLT5k cm1fZmQsIGRjX2ZsYWcpOwo+ICsJc2V0dXBfb3V0cHV0KGRhdGEpOwo+ICsJc2V0dXBfcHJpbWFy eShkYXRhKTsKPiArCWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnkoZGF0YS0+ZGVidWdmc19mZCwg ZGF0YS0+b3BfcHNyX21vZGUpKTsKPiArCWNoZWNrX2RjX2NvdW50ZXIoZGF0YS0+ZHJtX2ZkLCBk Y19mbGFnLCBkY19jb3VudGVyX2JlZm9yZV9wc3IpOwo+ICt9Cj4gKwo+ICtpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdKQo+ICt7Cj4gKwlib29sIGhhc19ydW50aW1lX3BtOwo+ICsJZGF0 YV90IGRhdGEgPSB7fTsKPiArCj4gKwlpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7Cj4gKwlpZ3Rf c3VidGVzdF9pbml0KGFyZ2MsIGFyZ3YpOwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWRhdGEuZHJt X2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5URUwpOwo+ICsJCWRhdGEuZGVi dWdmc19mZCA9IGlndF9kZWJ1Z2ZzX2RpcihkYXRhLmRybV9mZCk7Cj4gKwkJaWd0X3JlcXVpcmUo ZGF0YS5kZWJ1Z2ZzX2ZkICE9IC0xKTsKPiArCQlrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2Rl KCk7Cj4gKwkJZGF0YS5kZXZpZCA9IGludGVsX2dldF9kcm1fZGV2aWQoZGF0YS5kcm1fZmQpOwo+ ICsJCWhhc19ydW50aW1lX3BtID0gaWd0X3NldHVwX3J1bnRpbWVfcG0oKTsKPiArCQlpZ3RfaW5m bygiUnVudGltZSBQTSBzdXBwb3J0OiAlZFxuIiwgaGFzX3J1bnRpbWVfcG0pOwo+ICsJCWlndF9y ZXF1aXJlKGhhc19ydW50aW1lX3BtKTsKPiArCQlpZ3RfcmVxdWlyZShpZ3RfcG1fZG1jX2xvYWRl ZChkYXRhLmRlYnVnZnNfZmQpKTsKPiArCQlpZ3RfZGlzcGxheV9yZXF1aXJlKCZkYXRhLmRpc3Bs YXksIGRhdGEuZHJtX2ZkKTsKPiArCX0KPiArCj4gKwlpZ3Rfc3VidGVzdCgiZGM1LXBzciIpIHsK PiArCQlkYXRhLm9wX3Bzcl9tb2RlID0gUFNSX01PREVfMTsKPiArCQlwc3JfZW5hYmxlKGRhdGEu ZGVidWdmc19mZCwgZGF0YS5vcF9wc3JfbW9kZSk7Cj4gKwkJaWd0X3JlcXVpcmVfZihlZHBfcHNy X3Npbmtfc3VwcG9ydCgmZGF0YSksCj4gKwkJCSAgICAgICJTaW5rIGRvZXMgbm90IHN1cHBvcnQg UFNSXG4iKTsKPiArCQkvKiBDaGVjayBEQzUgY291bnRlciBpcyBhdmFpbGFibGUgZm9yIHRoZSBw bGF0Zm9ybS4KPiArCQkgKiBTa2lwIHRoZSB0ZXN0IGlmIGNvdW50ZXIgaXMgbm90IGF2YWlsYWJs ZS4KPiArCQkgKi8KPiArCQlyZWFkX2RjX2NvdW50ZXIoZGF0YS5kcm1fZmQsIENIRUNLX0RDNSk7 Cj4gKwkJdGVzdF9kY19zdGF0ZV9wc3IoJmRhdGEsIENIRUNLX0RDNSk7Cj4gKwkJY2xlYW51cCgm ZGF0YSk7CgpXaHkgaXNuJ3QgY2xlYW51cCBwYWlyZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBz ZXR1cCBmdW5jIHdoZXJlIHNldHVwCmlzIGNhbGxlZCBmcm9tPyBBbHNvIGxvb2tzIGxpa2UgdGhl IHJlYWRfZGNfY291bnRlcigpIGNhbGwgY291bGQgYmUgcGFydApvZiB0aGUgdGVzdCBmdW5jdGlv bi4KCj4gKwl9Cj4gKwlpZ3RfZml4dHVyZSB7Cj4gKwkJY2xvc2UoZGF0YS5kZWJ1Z2ZzX2ZkKTsK PiArCQlkaXNwbGF5X2ZpbmkoJmRhdGEpOwo+ICsJfQo+ICsKPiArCWlndF9leGl0KCk7Cj4gK30K PiAtLSAKPiAyLjcuNAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK