From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 98CE06E502 for ; Wed, 12 Dec 2018 01:20:25 +0000 (UTC) Message-ID: <4cb025e2311ccec6d00d101a5e61b73310840919.camel@intel.com> From: Dhinakaran Pandiyan Date: Tue, 11 Dec 2018 17:20:20 -0800 In-Reply-To: <20181204230944.7753-6-jose.souza@intel.com> References: <20181204230944.7753-1-jose.souza@intel.com> <20181204230944.7753-6-jose.souza@intel.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 6/8] tests/psr: Add the same test coverage that we have for PSR1 to PSR2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: dhinakaran.pandiyan@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: =?ISO-8859-1?Q?Jos=E9?= Roberto de Souza , igt-dev@lists.freedesktop.org Cc: Rodrigo Vivi List-ID: T24gVHVlLCAyMDE4LTEyLTA0IGF0IDE1OjA5IC0wODAwLCBKb3PDqSBSb2JlcnRvIGRlIFNvdXph IHdyb3RlOgo+IFRoZSBtYWluIHRlc3RzIGZvciBQU1IxIGNoZWNrIGlmIGhhcmR3YXJlIHRyYWNr aW5nIGlzIGRldGVjdGluZwo+IGNoYW5nZXMgaW4gcGxhbmVzIHdoZW4gbW9kaWZpbmcgaXQgaW4g ZGlmZmVyZW50IHdheXMgYW5kIG5vdwo+IHRob3NlIHRlc3RzIHdpbGwgYWxzbyBydW4gZm9yIFBT UjIgaWYgc3VwcG9ydGVkIGJ5IHNvdXJjZSBhbmQgc2luay4KPiAKPiBDYzogUm9kcmlnbyBWaXZp IDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGlu YWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRv IGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiAtLS0KPiAgdGVzdHMva21zX3Bzci5j IHwgMTE4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAt LQo+ICAxIGZpbGUgY2hhbmdlZCwgMTExIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19wc3IuYyBiL3Rlc3RzL2ttc19wc3IuYwo+IGluZGV4 IDExNmZlNDA5Li5kODdiOGVhMSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfcHNyLmMKPiArKysg Yi90ZXN0cy9rbXNfcHNyLmMKPiBAQCAtNjAsNiArNjAsNyBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4g IAlpbnQgZHJtX2ZkOwo+ICAJaW50IGRlYnVnZnNfZmQ7Cj4gIAllbnVtIG9wZXJhdGlvbnMgb3A7 Cj4gKwlib29sIG9wX3BzcjI7Cj4gIAl1aW50MzJfdCBkZXZpZDsKPiAgCXVpbnQzMl90IGNydGNf aWQ7Cj4gIAlpZ3RfZGlzcGxheV90IGRpc3BsYXk7Cj4gQEAgLTcxLDYgKzcyLDggQEAgdHlwZWRl ZiBzdHJ1Y3Qgewo+ICAJZHJtTW9kZU1vZGVJbmZvICptb2RlOwo+ICAJaWd0X291dHB1dF90ICpv dXRwdXQ7Cj4gIAlib29sIHdpdGhfcHNyX2Rpc2FibGVkOwo+ICsJYm9vbCB3aXRoX3BzcjJfZGlz YWJsZWQ7CkRvIHdlIG5lZWQgdGhpcz8gSXMgdGhlcmUgYSB1c2UgY2FzZSBydW5uaW5nIFBTUjIg dGVzdHMgd2l0aCBQU1IxCmVuYWJsZWQ/IAoKCj4gKwlib29sIHN1cHBvcnRzX3BzcjI7Cj4gIH0g ZGF0YV90Owo+ICAKPiAgc3RhdGljIHZvaWQgY3JlYXRlX2N1cnNvcl9mYihkYXRhX3QgKmRhdGEp Cj4gQEAgLTE5NCwxMiArMTk3LDIyIEBAIHN0YXRpYyBib29sIHNpbmtfc3VwcG9ydChkYXRhX3Qg KmRhdGEpCj4gIAlyZXR1cm4gZGF0YS0+d2l0aF9wc3JfZGlzYWJsZWQgfHwgcHNyX3N1cHBvcnRl ZChkYXRhLQo+ID5kZWJ1Z2ZzX2ZkKTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgcHNyX3dhaXRf ZW50cnlfaWZfZW5hYmxlZChkYXRhX3QgKmRhdGEpCj4gK3N0YXRpYyBib29sIHNpbmtfc3VwcG9y dF9wc3IyKGRhdGFfdCAqZGF0YSkKPiAgewo+IC0JaWYgKGRhdGEtPndpdGhfcHNyX2Rpc2FibGVk KQo+IC0JCXJldHVybiB0cnVlOwo+ICsJcmV0dXJuIGRhdGEtPndpdGhfcHNyMl9kaXNhYmxlZCB8 fCBwc3IyX3N1cHBvcnRlZChkYXRhLQo+ID5kZWJ1Z2ZzX2ZkKTsKPiArfQo+ICAKPiAtCXJldHVy biBwc3Jfd2FpdF9lbnRyeShkYXRhLT5kZWJ1Z2ZzX2ZkKTsKPiArc3RhdGljIGJvb2wgcHNyX3dh aXRfZW50cnlfaWZfZW5hYmxlZChkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWlmICghZGF0YS0+b3Bf cHNyMikgewo+ICsJCWlmIChkYXRhLT53aXRoX3Bzcl9kaXNhYmxlZCkKPiArCQkJcmV0dXJuIHRy dWU7Cj4gKwkJcmV0dXJuIHBzcl93YWl0X2VudHJ5KGRhdGEtPmRlYnVnZnNfZmQpOwo+ICsJfSBl bHNlIHsKPiArCQlpZiAoZGF0YS0+d2l0aF9wc3IyX2Rpc2FibGVkKQo+ICsJCQlyZXR1cm4gdHJ1 ZTsKPiArCQlyZXR1cm4gcHNyMl93YWl0X2RlZXBfc2xlZXAoZGF0YS0+ZGVidWdmc19mZCk7Cj4g Kwl9Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbmxpbmUgdm9pZCBtYW51YWwoY29uc3QgY2hhciAqZXhw ZWN0ZWQpCj4gQEAgLTI4OSwxMSArMzAyLDE2IEBAIHN0YXRpYyB2b2lkIHJ1bl90ZXN0KGRhdGFf dCAqZGF0YSkKPiAgCQlleHBlY3RlZCA9ICJzY3JlZW4gR1JFRU4iOwo+ICAJCWJyZWFrOwo+ICAJ fQo+IC0JaWd0X2Fzc2VydChwc3Jfd2FpdF9leGl0KGRhdGEtPmRlYnVnZnNfZmQpKTsKPiArCj4g KwlpZiAoIWRhdGEtPm9wX3BzcjIpCj4gKwkJaWd0X2Fzc2VydChwc3Jfd2FpdF9leGl0KGRhdGEt PmRlYnVnZnNfZmQpKTsKPiArCWVsc2UKPiArCQlpZ3RfYXNzZXJ0KHBzcjJfd2FpdF91cGRhdGUo ZGF0YS0+ZGVidWdmc19mZCkpOwpNb3ZlIHRoZSBQU1IxL1BTUjIgbG9naWMgaW5zaWRlIHBzcl93 YWl0X2V4aXQoKSA/Cgo+ICAJbWFudWFsKGV4cGVjdGVkKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZv aWQgdGVzdF9jbGVhbnVwKGRhdGFfdCAqZGF0YSkgewo+ICtzdGF0aWMgdm9pZCB0ZXN0X2NsZWFu dXAoZGF0YV90ICpkYXRhKQo+ICt7Cj4gIAlpZ3RfcGxhbmVfdCAqcHJpbWFyeTsKPiAgCj4gIAlw cmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShkYXRhLT5vdXRwdXQsCj4gQEAgLTMw NCw2ICszMjIsMTEgQEAgc3RhdGljIHZvaWQgdGVzdF9jbGVhbnVwKGRhdGFfdCAqZGF0YSkgewo+ ICAKPiAgCWlndF9yZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+ZmJfZ3JlZW4pOwo+ICAJ aWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZkYXRhLT5mYl93aGl0ZSk7Cj4gKwo+ICsJLyog c3dpdGNoIHRvIFBTUjEgYWdhaW4gKi8KPiArCWlmIChkYXRhLT5vcF9wc3IyICYmICFkYXRhLT53 aXRoX3Bzcl9kaXNhYmxlZCkKPiArCQlwc3JfZW5hYmxlKGRhdGEtPmRlYnVnZnNfZmQpOwo+ICsJ ZGF0YS0+b3BfcHNyMiA9IGZhbHNlOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBzZXR1cF90ZXN0 X3BsYW5lKGRhdGFfdCAqZGF0YSwgaW50IHRlc3RfcGxhbmUpCj4gQEAgLTMxMSw2ICszMzQsMTEg QEAgc3RhdGljIHZvaWQgc2V0dXBfdGVzdF9wbGFuZShkYXRhX3QgKmRhdGEsIGludAo+IHRlc3Rf cGxhbmUpCj4gIAl1aW50MzJfdCB3aGl0ZV9oLCB3aGl0ZV92Owo+ICAJaWd0X3BsYW5lX3QgKnBy aW1hcnksICpzcHJpdGUsICpjdXJzb3I7Cj4gIAo+ICsJaWYgKGRhdGEtPm9wX3BzcjIgJiYgIWRh dGEtPndpdGhfcHNyX2Rpc2FibGVkKSB7Cj4gKwkJaWd0X3JlcXVpcmUoZGF0YS0+c3VwcG9ydHNf cHNyMik7Ly9vcF9wc3IyIGlzIHNldCBpbgo+IGNhc2UgdGhpcyBmYWlscz8KPiArCQlwc3IyX2Vu YWJsZShkYXRhLT5kZWJ1Z2ZzX2ZkKTsKPiArCX0KPiArCj4gIAlpZ3RfY3JlYXRlX2NvbG9yX2Zi KGRhdGEtPmRybV9mZCwKPiAgCQkJICAgIGRhdGEtPm1vZGUtPmhkaXNwbGF5LCBkYXRhLT5tb2Rl LT52ZGlzcGxheSwKPiAgCQkJICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4gQEAgLTM4MSw2ICs0 MDksOSBAQCBzdGF0aWMgaW50IG9wdF9oYW5kbGVyKGludCBvcHQsIGludCBvcHRfaW5kZXgsCj4g dm9pZCAqX2RhdGEpCj4gIAljYXNlICduJzoKPiAgCQlkYXRhLT53aXRoX3Bzcl9kaXNhYmxlZCA9 IHRydWU7Cj4gIAkJYnJlYWs7Cj4gKwljYXNlICdtJzoKPiArCQlkYXRhLT53aXRoX3BzcjJfZGlz YWJsZWQgPSB0cnVlOwo+ICsJCWJyZWFrOwo+ICAJZGVmYXVsdDoKPiAgCQlpZ3RfYXNzZXJ0KDAp Owo+ICAJfQo+IEBAIC0zOTEsOSArNDIyLDExIEBAIHN0YXRpYyBpbnQgb3B0X2hhbmRsZXIoaW50 IG9wdCwgaW50IG9wdF9pbmRleCwKPiB2b2lkICpfZGF0YSkKPiAgaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKPiAgewo+ICAJY29uc3QgY2hhciAqaGVscF9zdHIgPQo+IC0JICAgICAg ICIgIC0tbm8tcHNyXHRSdW4gdGVzdCB3aXRob3V0IFBTUi4iOwo+ICsJICAgICAgICIgIC0tbm8t cHNyXHRSdW4gdGVzdCB3aXRob3V0IFBTUi5cbiIKPiArCSAgICAgICAiICAtLW5vLXBzcjJcdFJ1 biB0ZXN0IHdpdGhvdXQgUFNSMi4iOwo+ICAJc3RhdGljIHN0cnVjdCBvcHRpb24gbG9uZ19vcHRp b25zW10gPSB7Cj4gIAkJeyJuby1wc3IiLCAwLCAwLCAnbid9LAo+ICsJCXsibm8tcHNyMiIsIDAs IDAsICdtJ30sCj4gIAkJeyAwLCAwLCAwLCAwIH0KPiAgCX07Cj4gIAlkYXRhX3QgZGF0YSA9IHt9 Owo+IEBAIC00MTQsNiArNDQ3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK PiAgCj4gIAkJaWd0X3JlcXVpcmVfZihzaW5rX3N1cHBvcnQoJmRhdGEpLAo+ICAJCQkgICAgICAi U2luayBkb2VzIG5vdCBzdXBwb3J0IFBTUlxuIik7Cj4gKwkJZGF0YS5zdXBwb3J0c19wc3IyID0g c2lua19zdXBwb3J0X3BzcjIoJmRhdGEpOwo+ICAKPiAgCQlkYXRhLmJ1Zm1nciA9IGRybV9pbnRl bF9idWZtZ3JfZ2VtX2luaXQoZGF0YS5kcm1fZmQsCj4gNDA5Nik7Cj4gIAkJaWd0X2Fzc2VydChk YXRhLmJ1Zm1ncik7Cj4gQEAgLTQyOCw2ICs0NjIsMTMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKmFyZ3ZbXSkKPiAgCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ICAJfQo+ICAKPiArCWlndF9z dWJ0ZXN0KCJwc3IyX2Jhc2ljIikgewo+ICsJCWRhdGEub3BfcHNyMiA9IHRydWU7Cj4gKwkJc2V0 dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4gKwkJaWd0X2Fz c2VydChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKCZkYXRhKSk7Cj4gKwkJdGVzdF9jbGVhbnVw KCZkYXRhKTsKPiArCX0KPiArCj4gIAlpZ3Rfc3VidGVzdCgibm9fZHJycyIpIHsKPiAgCQlzZXR1 cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiAgCQlpZ3RfYXNz ZXJ0KHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQoJmRhdGEpKTsKPiBAQCAtNDM1LDYgKzQ3Niwx NCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ICAJCXRlc3RfY2xlYW51cCgm ZGF0YSk7Cj4gIAl9Cj4gIAo+ICsJaWd0X3N1YnRlc3QoInBzcjJfbm9fZHJycyIpIHsKPiArCQlk YXRhLm9wX3BzcjIgPSB0cnVlOwo+ICsJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsIERSTV9QTEFO RV9UWVBFX1BSSU1BUlkpOwo+ICsJCWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnlfaWZfZW5hYmxl ZCgmZGF0YSkpOwo+ICsJCWlndF9hc3NlcnQoZHJyc19kaXNhYmxlZCgmZGF0YSkpOwo+ICsJCXRl c3RfY2xlYW51cCgmZGF0YSk7Cj4gKwl9Cj4gKwo+ICAJZm9yIChvcCA9IFBBR0VfRkxJUDsgb3Ag PD0gUkVOREVSOyBvcCsrKSB7Cj4gIAkJaWd0X3N1YnRlc3RfZigicHJpbWFyeV8lcyIsIG9wX3N0 cihvcCkpIHsKPiAgCQkJZGF0YS5vcCA9IG9wOwo+IEBAIC00NDUsNiArNDk0LDE3IEBAIGludCBt YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gIAkJfQo+ICAJfQo+ICAKPiArCWZvciAob3Ag PSBQQUdFX0ZMSVA7IG9wIDw9IFJFTkRFUjsgb3ArKykgewo+ICsJCWlndF9zdWJ0ZXN0X2YoInBz cjJfcHJpbWFyeV8lcyIsIG9wX3N0cihvcCkpIHsKPiArCQkJZGF0YS5vcF9wc3IyID0gdHJ1ZTsK PiArCQkJZGF0YS5vcCA9IG9wOwo+ICsJCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLAo+IERSTV9Q TEFORV9UWVBFX1BSSU1BUlkpOwo+ICsJCQlpZ3RfYXNzZXJ0KHBzcl93YWl0X2VudHJ5X2lmX2Vu YWJsZWQoJmRhdGEpKTsKPiArCQkJcnVuX3Rlc3QoJmRhdGEpOwo+ICsJCQl0ZXN0X2NsZWFudXAo JmRhdGEpOwo+ICsJCX0KPiArCX0KPiArCj4gIAlmb3IgKG9wID0gTU1BUF9HVFQ7IG9wIDw9IFBM QU5FX09OT0ZGOyBvcCsrKSB7Cj4gIAkJaWd0X3N1YnRlc3RfZigic3ByaXRlXyVzIiwgb3Bfc3Ry KG9wKSkgewo+ICAJCQlkYXRhLm9wID0gb3A7Cj4gQEAgLTQ1NSw2ICs1MTUsMTcgQEAgaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKPiAgCQl9Cj4gIAl9Cj4gIAo+ICsJZm9yIChvcCA9 IE1NQVBfR1RUOyBvcCA8PSBQTEFORV9PTk9GRjsgb3ArKykgewo+ICsJCWlndF9zdWJ0ZXN0X2Yo InBzcjJfc3ByaXRlXyVzIiwgb3Bfc3RyKG9wKSkgewo+ICsJCQlkYXRhLm9wX3BzcjIgPSB0cnVl Owo+ICsJCQlkYXRhLm9wID0gb3A7Cj4gKwkJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsCj4gRFJN X1BMQU5FX1RZUEVfT1ZFUkxBWSk7Cj4gKwkJCWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnlfaWZf ZW5hYmxlZCgmZGF0YSkpOwo+ICsJCQlydW5fdGVzdCgmZGF0YSk7Cj4gKwkJCXRlc3RfY2xlYW51 cCgmZGF0YSk7Cj4gKwkJfQo+ICsJfQo+ICsKPiAgCWZvciAob3AgPSBNTUFQX0dUVDsgb3AgPD0g UExBTkVfT05PRkY7IG9wKyspIHsKPiAgCQlpZ3Rfc3VidGVzdF9mKCJjdXJzb3JfJXMiLCBvcF9z dHIob3ApKSB7Cj4gIAkJCWRhdGEub3AgPSBvcDsKPiBAQCAtNDY1LDYgKzUzNiwxNyBAQCBpbnQg bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ICAJCX0KPiAgCX0KPiAgCj4gKwlmb3IgKG9w ID0gTU1BUF9HVFQ7IG9wIDw9IFBMQU5FX09OT0ZGOyBvcCsrKSB7Cj4gKwkJaWd0X3N1YnRlc3Rf ZigicHNyMl9jdXJzb3JfJXMiLCBvcF9zdHIob3ApKSB7Cj4gKwkJCWRhdGEub3BfcHNyMiA9IHRy dWU7Cj4gKwkJCWRhdGEub3AgPSBvcDsKPiArCQkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJN X1BMQU5FX1RZUEVfQ1VSU09SKTsKPiArCQkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9l bmFibGVkKCZkYXRhKSk7Cj4gKwkJCXJ1bl90ZXN0KCZkYXRhKTsKPiArCQkJdGVzdF9jbGVhbnVw KCZkYXRhKTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICAJaWd0X3N1YnRlc3RfZigiZHBtcyIpIHsKPiAg CQlkYXRhLm9wID0gUkVOREVSOwo+ICAJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsIERSTV9QTEFO RV9UWVBFX1BSSU1BUlkpOwo+IEBAIC00NzQsNiArNTU2LDE2IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCj4gIAkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiAgCX0KPiAgCj4gKwlp Z3Rfc3VidGVzdF9mKCJwc3IyX2RwbXMiKSB7Cj4gKwkJZGF0YS5vcF9wc3IyID0gdHJ1ZTsKPiAr CQlkYXRhLm9wID0gUkVOREVSOwo+ICsJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsIERSTV9QTEFO RV9UWVBFX1BSSU1BUlkpOwo+ICsJCWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnlfaWZfZW5hYmxl ZCgmZGF0YSkpOwo+ICsJCWRwbXNfb2ZmX29uKCZkYXRhKTsKPiArCQlydW5fdGVzdCgmZGF0YSk7 Cj4gKwkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArCX0KPiArCj4gIAlpZ3Rfc3VidGVzdF9mKCJz dXNwZW5kIikgewo+ICAJCWRhdGEub3AgPSBQTEFORV9PTk9GRjsKPiAgCQlzZXR1cF90ZXN0X3Bs YW5lKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9DVVJTT1IpOwo+IEBAIC00ODUsNiArNTc3LDE4IEBA IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gIAkJdGVzdF9jbGVhbnVwKCZkYXRh KTsKPiAgCX0KPiAgCj4gKwlpZ3Rfc3VidGVzdF9mKCJwc3IyX3N1c3BlbmQiKSB7Cj4gKwkJZGF0 YS5vcF9wc3IyID0gdHJ1ZTsKPiArCQlkYXRhLm9wID0gUExBTkVfT05PRkY7Cj4gKwkJc2V0dXBf dGVzdF9wbGFuZSgmZGF0YSwgRFJNX1BMQU5FX1RZUEVfQ1VSU09SKTsKPiArCQlpZ3RfYXNzZXJ0 KHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQoJmRhdGEpKTsKPiArCQlpZ3Rfc3lzdGVtX3N1c3Bl bmRfYXV0b3Jlc3VtZShTVVNQRU5EX1NUQVRFX01FTSwKPiArCQkJCQkgICAgICBTVVNQRU5EX1RF U1RfTk9ORSk7Cj4gKwkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKCZkYXRh KSk7Cj4gKwkJcnVuX3Rlc3QoJmRhdGEpOwo+ICsJCXRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gKwl9 Cj4gKwpIb3cgYWJvdXQgdXNpbmcgYSBsb29wIHRvIGl0ZXJhdGUgUFNSMSBhbmQgUFNSMiBtb2Rl cz8KPiAgCWlndF9maXh0dXJlIHsKPiAgCQlpZiAoIWRhdGEud2l0aF9wc3JfZGlzYWJsZWQpCj4g IAkJCXBzcl9kaXNhYmxlKGRhdGEuZGVidWdmc19mZCk7CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2lndC1kZXYK