From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 5/6] drm/i915: move load failure injection to selftests Date: Mon, 31 Dec 2018 13:13:26 +0000 Message-ID: References: <3d744354188c7ae8f809b8b56c2857bd3846fdec.1545920737.git.jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A6436E21F for ; Mon, 31 Dec 2018 13:13:28 +0000 (UTC) In-Reply-To: <3d744354188c7ae8f809b8b56c2857bd3846fdec.1545920737.git.jani.nikula@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDI3LzEyLzIwMTggMTQ6MzMsIEphbmkgTmlrdWxhIHdyb3RlOgo+IFNlZW1zIGxpa2Ugc2Vs ZnRlc3RzIGlzIGEgYmV0dGVyIGhvbWUgZm9yIGV2ZXJ5dGhpbmcgcmVsYXRlZCB0byBsb2FkCj4g ZmFpbHVyZSBpbmplY3Rpb24sIGluY2x1ZGluZyB0aGUgbW9kdWxlIHBhcmFtZXRlci4KCkhtIG5v dCBzdXJlIEkgd291bGQgaW1tZWRpYXRlbHkgd2FudCB0byBjb3VwbGUgdGhlIHR3bywgaG93ZXZl ci4uCgo+IFRoZSBmYWlsdXJlIGluamVjdGlvbiBjb2RlIGdldHMgbW92ZWQgZnJvbSB1bmRlciBE Uk1fSTkxNV9ERUJVRyB0bwo+IERSTV9JOTE1X1NFTEZURVNUIGNvbmZpZyBvcHRpb24uIFRoaXMg c2hvdWxkIGJlIG9mIG5vIGNvbnNlcXVlbmNlLCBhcwo+IHRoZSBmb3JtZXIgc2VsZWN0cyB0aGUg bGF0dGVyLgoKLi4uIEkgYWxzbyBkb24ndCBzZWUgd2h5IGRlYnVnIHdvdWxkIGF1dG8tc2VsZWN0 IHNlbGYtdGVzdHMuCgpTbyBkb24ndCBrbm93LiBQZXJzb25hbGx5IEknZCBoYXZlIHNlbGZ0ZXN0 cyBzZXBhcmF0ZSBmcm9tIGRlYnVnLCBhbmQgCmxvYWQgZmFpbHVyZSBpbmplY3Rpb24gc2VwYXJh dGUgZnJvbSBzZWxmdGVzdHMuIEJ1dCBJIGRvbid0IGZlZWwgdGhhdCAKc3Ryb25nbHkgYWJvdXQg aXQuIEF0IGxlYXN0IEkgYWdyZWUgdGhhdCBsb3NpbmcgZmFpbHVyZSBpbmplY3Rpb24gZnJvbSAK dGhlIGVycm9yIHN0YXRlIGlzIG5vdCBhbiBpc3N1ZS4gKFNpbmNlIGFsbCBvZiB0aGVtIGFyZSBz dHJpY3RseSBkdXJpbmcgCmRyaXZlciBsb2FkIHBoYXNlLikKClJlZ2FyZHMsCgpUdnJ0a28KCj4g Cj4gV2l0aCB0aGUgcGFyYW1ldGVyIG5vIGxvbmdlciBwYXJ0IG9mIGk5MTVfcGFyYW1zLCBpdHMg dmFsdWUgd2lsbCBub3QgYmUKPiByZWNvcmRlZCBpbiBlcnJvciBjYXB0dXJlIG9yIGRlYnVnZnMg cGFyYW0gZHVtcC4gTm90ZSB0aGF0IHRoZSB2YWx1ZQo+IHdvdWxkIGhhdmUgYmVlbiB6ZXJvZWQg YW55d2F5IGlmIGEgc2VsZnRlc3QgaGFkIGJlZW4gaGl0LCBzbyB0aGVyZQo+IHNob3VsZCBub3Qg YmUgbWVhbmluZ2Z1bCBpbmZvcm1hdGlvbiBsb3NzIGhlcmUsIGVzcGVjaWFsbHkgd2l0aCBhbGwg dGhlCj4gbG9nZ2luZyBhcm91bmQgZmFpbHVyZSBpbmplY3Rpb24uCj4gCj4gU2lnbmVkLW9mZi1i eTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICAgICAgICAgfCAyNSAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg ICAgICAgIHwgMTUgLS0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3BhcmFtcy5jICAgICAgICAgICAgIHwgIDUgLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGFyYW1zLmggICAgICAgICAgICAgfCAgMSAtCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3NlbGZ0ZXN0LmggICAgICAgICAgIHwgMTAgKysrKysrKysrKwo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfc2VsZnRlc3QuYyB8IDI2ICsrKysrKysrKysrKysr KysrKysrKysrKysrCj4gICA2IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDQ2IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IGluZGV4IGNhYTA1NWFjOTQ3 Mi4uNTU5YTFiMTFmM2U0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gQEAgLTU3LDMx ICs1Nyw2IEBACj4gICAKPiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXI7Cj4gICAK PiAtI2lmIElTX0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X0RFQlVHKQo+IC1zdGF0aWMgdW5zaWdu ZWQgaW50IGk5MTVfbG9hZF9mYWlsX2NvdW50Owo+IC0KPiAtYm9vbCBfX2k5MTVfaW5qZWN0X2xv YWRfZmFpbHVyZShjb25zdCBjaGFyICpmdW5jLCBpbnQgbGluZSkKPiAtewo+IC0JaWYgKGk5MTVf bG9hZF9mYWlsX2NvdW50ID49IGk5MTVfbW9kcGFyYW1zLmluamVjdF9sb2FkX2ZhaWx1cmUpCj4g LQkJcmV0dXJuIGZhbHNlOwo+IC0KPiAtCWlmICgrK2k5MTVfbG9hZF9mYWlsX2NvdW50ID09IGk5 MTVfbW9kcGFyYW1zLmluamVjdF9sb2FkX2ZhaWx1cmUpIHsKPiAtCQlEUk1fSU5GTygiSW5qZWN0 aW5nIGZhaWx1cmUgYXQgY2hlY2twb2ludCAldSBbJXM6JWRdXG4iLAo+IC0JCQkgaTkxNV9tb2Rw YXJhbXMuaW5qZWN0X2xvYWRfZmFpbHVyZSwgZnVuYywgbGluZSk7Cj4gLQkJaTkxNV9tb2RwYXJh bXMuaW5qZWN0X2xvYWRfZmFpbHVyZSA9IDA7Cj4gLQkJcmV0dXJuIHRydWU7Cj4gLQl9Cj4gLQo+ IC0JcmV0dXJuIGZhbHNlOwo+IC19Cj4gLQo+IC1ib29sIGk5MTVfZXJyb3JfaW5qZWN0ZWQodm9p ZCkKPiAtewo+IC0JcmV0dXJuIGk5MTVfbG9hZF9mYWlsX2NvdW50ICYmICFpOTE1X21vZHBhcmFt cy5pbmplY3RfbG9hZF9mYWlsdXJlOwo+IC19Cj4gLQo+IC0jZW5kaWYKPiAtCj4gICAjZGVmaW5l IEZET19CVUdfVVJMICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/ cHJvZHVjdD1EUkkiCj4gICAjZGVmaW5lIEZET19CVUdfTVNHICJQbGVhc2UgZmlsZSBhIGJ1ZyBh dCAiIEZET19CVUdfVVJMICIgYWdhaW5zdCBEUk0vSW50ZWwgIiBcCj4gICAJCSAgICAicHJvdmlk aW5nIHRoZSBkbWVzZyBsb2cgYnkgYm9vdGluZyB3aXRoIGRybS5kZWJ1Zz0weGYiCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggYzYwY2YxN2U1MGEwLi4xZjI5ZjM5MzM2MjUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTExLDIxICsxMTEsNiBAQAo+ICAgI2RlZmlu ZSBJOTE1X1NUQVRFX1dBUk5fT04oeCkJCQkJCQlcCj4gICAJSTkxNV9TVEFURV9XQVJOKCh4KSwg IiVzIiwgIldBUk5fT04oIiBfX3N0cmluZ2lmeSh4KSAiKSIpCj4gICAKPiAtI2lmIElTX0VOQUJM RUQoQ09ORklHX0RSTV9JOTE1X0RFQlVHKQo+IC0KPiAtYm9vbCBfX2k5MTVfaW5qZWN0X2xvYWRf ZmFpbHVyZShjb25zdCBjaGFyICpmdW5jLCBpbnQgbGluZSk7Cj4gLSNkZWZpbmUgaTkxNV9pbmpl Y3RfbG9hZF9mYWlsdXJlKCkgXAo+IC0JX19pOTE1X2luamVjdF9sb2FkX2ZhaWx1cmUoX19mdW5j X18sIF9fTElORV9fKQo+IC0KPiAtYm9vbCBpOTE1X2Vycm9yX2luamVjdGVkKHZvaWQpOwo+IC0K PiAtI2Vsc2UKPiAtCj4gLSNkZWZpbmUgaTkxNV9pbmplY3RfbG9hZF9mYWlsdXJlKCkgZmFsc2UK PiAtI2RlZmluZSBpOTE1X2Vycm9yX2luamVjdGVkKCkgZmFsc2UKPiAtCj4gLSNlbmRpZgo+IC0K PiAgICNkZWZpbmUgaTkxNV9sb2FkX2Vycm9yKGk5MTUsIGZtdCwgLi4uKQkJCQkJIFwKPiAgIAlf X2k5MTVfcHJpbnRrKGk5MTUsIGk5MTVfZXJyb3JfaW5qZWN0ZWQoKSA/IEtFUk5fREVCVUcgOiBL RVJOX0VSUiwgXAo+ICAgCQkgICAgICBmbXQsICMjX19WQV9BUkdTX18pCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BhcmFtcy5jCj4gaW5kZXggOWYwNTM5YmRhYTM5Li4yODUzYjU0NTcwZWIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKPiBAQCAtMTU5LDExICsxNTksNiBAQCBpOTE1 X3BhcmFtX25hbWVkX3Vuc2FmZShkbWNfZmlybXdhcmVfcGF0aCwgY2hhcnAsIDA0MDAsCj4gICBp OTE1X3BhcmFtX25hbWVkX3Vuc2FmZShlbmFibGVfZHBfbXN0LCBib29sLCAwNjAwLAo+ICAgCSJF bmFibGUgbXVsdGktc3RyZWFtIHRyYW5zcG9ydCAoTVNUKSBmb3IgbmV3IERpc3BsYXlQb3J0IHNp bmtzLiAoZGVmYXVsdDogdHJ1ZSkiKTsKPiAgIAo+IC0jaWYgSVNfRU5BQkxFRChDT05GSUdfRFJN X0k5MTVfREVCVUcpCj4gLWk5MTVfcGFyYW1fbmFtZWRfdW5zYWZlKGluamVjdF9sb2FkX2ZhaWx1 cmUsIHVpbnQsIDA0MDAsCj4gLQkiRm9yY2UgYW4gZXJyb3IgYWZ0ZXIgYSBudW1iZXIgb2YgZmFp bHVyZSBjaGVjayBwb2ludHMgKDA6ZGlzYWJsZWQgKGRlZmF1bHQpLCBOOmZvcmNlIGZhaWx1cmUg YXQgdGhlIE50aCBmYWlsdXJlIGNoZWNrIHBvaW50KSIpOwo+IC0jZW5kaWYKPiAtCj4gICBpOTE1 X3BhcmFtX25hbWVkKGVuYWJsZV9kcGNkX2JhY2tsaWdodCwgYm9vbCwgMDYwMCwKPiAgIAkiRW5h YmxlIHN1cHBvcnQgZm9yIERQQ0QgYmFja2xpZ2h0IGNvbnRyb2wgKGRlZmF1bHQ6ZmFsc2UpIik7 Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKPiBpbmRleCA5M2Y2NjVlY2VkMTYu Ljg1YTkwMDdjMGVkNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bh cmFtcy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+IEBAIC01 Myw3ICs1Myw2IEBAIHN0cnVjdCBkcm1fcHJpbnRlcjsKPiAgIAlwYXJhbShpbnQsIG1taW9fZGVi dWcsIDApIFwKPiAgIAlwYXJhbShpbnQsIGVkcF92c3dpbmcsIDApIFwKPiAgIAlwYXJhbShpbnQs IHJlc2V0LCAyKSBcCj4gLQlwYXJhbSh1bnNpZ25lZCBpbnQsIGluamVjdF9sb2FkX2ZhaWx1cmUs IDApIFwKPiAgIAkvKiBsZWF2ZSBib29scyBhdCB0aGUgZW5kIHRvIG5vdCBjcmVhdGUgaG9sZXMg Ki8gXAo+ICAgCXBhcmFtKGJvb2wsIGFscGhhX3N1cHBvcnQsIElTX0VOQUJMRUQoQ09ORklHX0RS TV9JOTE1X0FMUEhBX1NVUFBPUlQpKSBcCj4gICAJcGFyYW0oYm9vbCwgZW5hYmxlX2hhbmdjaGVj aywgdHJ1ZSkgXAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NlbGZ0 ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NlbGZ0ZXN0LmgKPiBpbmRleCBhNzM0 NzJkZDEyZmQuLjEyNjZjZWY4YmYxNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3NlbGZ0ZXN0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NlbGZ0 ZXN0LmgKPiBAQCAtMzMsNiArMzMsNyBAQCBzdHJ1Y3QgaTkxNV9zZWxmdGVzdCB7Cj4gICAJdW5z aWduZWQgaW50IHJhbmRvbV9zZWVkOwo+ICAgCWludCBtb2NrOwo+ICAgCWludCBsaXZlOwo+ICsJ dW5zaWduZWQgaW50IGluamVjdF9sb2FkX2ZhaWx1cmU7Cj4gICB9Owo+ICAgCj4gICAjaWYgSVNf RU5BQkxFRChDT05GSUdfRFJNX0k5MTVfU0VMRlRFU1QpCj4gQEAgLTc3LDYgKzc4LDEyIEBAIGlu dCBfX2k5MTVfc3VidGVzdHMoY29uc3QgY2hhciAqY2FsbGVyLAo+ICAgI2RlZmluZSBJOTE1X1NF TEZURVNUX0RFQ0xBUkUoeCkgeAo+ICAgI2RlZmluZSBJOTE1X1NFTEZURVNUX09OTFkoeCkgdW5s aWtlbHkoeCkKPiAgIAo+ICtib29sIF9faTkxNV9pbmplY3RfbG9hZF9mYWlsdXJlKGNvbnN0IGNo YXIgKmZ1bmMsIGludCBsaW5lKTsKPiArI2RlZmluZSBpOTE1X2luamVjdF9sb2FkX2ZhaWx1cmUo KSBcCj4gKwlfX2k5MTVfaW5qZWN0X2xvYWRfZmFpbHVyZShfX2Z1bmNfXywgX19MSU5FX18pCj4g Kwo+ICtib29sIGk5MTVfZXJyb3JfaW5qZWN0ZWQodm9pZCk7Cj4gKwo+ICAgI2Vsc2UgLyogIUlT X0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNUKSAqLwo+ICAgCj4gICBzdGF0aWMgaW5s aW5lIGludCBpOTE1X21vY2tfc2VsZnRlc3RzKHZvaWQpIHsgcmV0dXJuIDA7IH0KPiBAQCAtODUs NiArOTIsOSBAQCBzdGF0aWMgaW5saW5lIGludCBpOTE1X2xpdmVfc2VsZnRlc3RzKHN0cnVjdCBw Y2lfZGV2ICpwZGV2KSB7IHJldHVybiAwOyB9Cj4gICAjZGVmaW5lIEk5MTVfU0VMRlRFU1RfREVD TEFSRSh4KQo+ICAgI2RlZmluZSBJOTE1X1NFTEZURVNUX09OTFkoeCkgMAo+ICAgCj4gK3N0YXRp YyBpbmxpbmUgaW50IGk5MTVfaW5qZWN0X2xvYWRfZmFpbHVyZSh2b2lkKSB7IHJldHVybiBmYWxz ZTsgfQo+ICtzdGF0aWMgaW5saW5lIGludCBpOTE1X2Vycm9yX2luamVjdGVkKHZvaWQpIHsgcmV0 dXJuIGZhbHNlOyB9Cj4gKwo+ICAgI2VuZGlmCj4gICAKPiAgIC8qIFVzaW5nIHRoZSBpOTE1X3Nl bGZ0ZXN0XyBwcmVmaXggYmVjb21lcyBhIGxpdHRsZSB1bndpZWxkeSB3aXRoIHRoZSBoZWxwZXJz Lgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9zZWxm dGVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfc2VsZnRlc3QuYwo+ IGluZGV4IDg2YzU0ZWEzN2Y0OC4uOWU1NTZmYzQ3MDdkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3NlbGZ0ZXN0LmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9zZWxmdGVzdC5jCj4gQEAgLTI1MCwzICsyNTAsMjkg QEAgTU9EVUxFX1BBUk1fREVTQyhtb2NrX3NlbGZ0ZXN0cywgIlJ1biBzZWxmdGVzdHMgYmVmb3Jl IGxvYWRpbmcsIHVzaW5nIG1vY2sgaGFyZHcKPiAgIAo+ICAgbW9kdWxlX3BhcmFtX25hbWVkX3Vu c2FmZShsaXZlX3NlbGZ0ZXN0cywgaTkxNV9zZWxmdGVzdC5saXZlLCBpbnQsIDA0MDApOwo+ICAg TU9EVUxFX1BBUk1fREVTQyhsaXZlX3NlbGZ0ZXN0cywgIlJ1biBzZWxmdGVzdHMgYWZ0ZXIgZHJp dmVyIGluaXRpYWxpc2F0aW9uIG9uIHRoZSBsaXZlIHN5c3RlbSAoMDpkaXNhYmxlZCBbZGVmYXVs dF0sIDE6cnVuIHRlc3RzIHRoZW4gY29udGludWUsIC0xOnJ1biB0ZXN0cyB0aGVuIGV4aXQgbW9k dWxlKSIpOwo+ICsKPiArbW9kdWxlX3BhcmFtX25hbWVkX3Vuc2FmZShpbmplY3RfbG9hZF9mYWls dXJlLCBpOTE1X3NlbGZ0ZXN0LmluamVjdF9sb2FkX2ZhaWx1cmUsIHVpbnQsIDA0MDApOwo+ICtN T0RVTEVfUEFSTV9ERVNDKGluamVjdF9sb2FkX2ZhaWx1cmUsCj4gKwkJICJGb3JjZSBhbiBlcnJv ciBhZnRlciBhIG51bWJlciBvZiBmYWlsdXJlIGNoZWNrIHBvaW50cyAoMDpkaXNhYmxlZCAoZGVm YXVsdCksIE46Zm9yY2UgZmFpbHVyZSBhdCB0aGUgTnRoIGZhaWx1cmUgY2hlY2sgcG9pbnQpIik7 Cj4gKwo+ICtzdGF0aWMgdW5zaWduZWQgaW50IGk5MTVfbG9hZF9mYWlsX2NvdW50Owo+ICsKPiAr Ym9vbCBfX2k5MTVfaW5qZWN0X2xvYWRfZmFpbHVyZShjb25zdCBjaGFyICpmdW5jLCBpbnQgbGlu ZSkKPiArewo+ICsJaWYgKGk5MTVfbG9hZF9mYWlsX2NvdW50ID49IGk5MTVfc2VsZnRlc3QuaW5q ZWN0X2xvYWRfZmFpbHVyZSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKCsraTkxNV9s b2FkX2ZhaWxfY291bnQgPT0gaTkxNV9zZWxmdGVzdC5pbmplY3RfbG9hZF9mYWlsdXJlKSB7Cj4g KwkJRFJNX0lORk8oIkluamVjdGluZyBmYWlsdXJlIGF0IGNoZWNrcG9pbnQgJXUgWyVzOiVkXVxu IiwKPiArCQkJIGk5MTVfc2VsZnRlc3QuaW5qZWN0X2xvYWRfZmFpbHVyZSwgZnVuYywgbGluZSk7 Cj4gKwkJaTkxNV9zZWxmdGVzdC5pbmplY3RfbG9hZF9mYWlsdXJlID0gMDsKPiArCQlyZXR1cm4g dHJ1ZTsKPiArCX0KPiArCj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gK2Jvb2wgaTkxNV9l cnJvcl9pbmplY3RlZCh2b2lkKQo+ICt7Cj4gKwlyZXR1cm4gaTkxNV9sb2FkX2ZhaWxfY291bnQg JiYgIWk5MTVfc2VsZnRlc3QuaW5qZWN0X2xvYWRfZmFpbHVyZTsKPiArfQo+IApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK