From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH 52/53] drm/i915: Remove the now obsolete 'outstanding_lazy_request' Date: Fri, 13 Mar 2015 13:32:38 +0000 Message-ID: <5502E6F6.4040907@Intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-53-git-send-email-John.C.Harrison@Intel.com> <54FE31FE.4040408@intel.com> <20150310101805.GI3800@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 069026EAB8 for ; Fri, 13 Mar 2015 06:32:40 -0700 (PDT) In-Reply-To: <20150310101805.GI3800@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Tomas Elf Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMTAvMDMvMjAxNSAxMDoxOCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBNb24sIE1hciAw OSwgMjAxNSBhdCAxMTo1MToyNlBNICswMDAwLCBUb21hcyBFbGYgd3JvdGU6Cj4+IE9uIDE5LzAy LzIwMTUgMTc6MTgsIEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20gd3JvdGU6Cj4+PiBGcm9tOiBK b2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Pj4KPj4+IFRoZSBvdXRz dGFuZGluZ19sYXp5X3JlcXVlc3QgaXMgbm8gbG9uZ2VyIHVzZWQgYW55d2hlcmUgaW4gdGhlIGRy aXZlci4KPj4+IEV2ZXJ5dGhpbmcgdGhhdCB3YXMgbG9va2luZyBhdCBpdCBub3cgaGFzIGEgcmVx dWVzdCBleHBsaWNpdGx5IHBhc3NlZCBpbiBmcm9tIG9uCj4+PiBoaWdoLiBFdmVyeXRoaW5nIHRo YXQgd2FzIHJlbHlpbmcgdXBvbiBiZWhpbmQgdGhlIHNjZW5lcyBpcyBub3cgZXhwbGljaXRseQo+ Pj4gY3JlYXRpbmcvcGFzc2luZy9zdWJtaXR0aW5nIGl0J3Mgb3duIHByaXZhdGUgcmVxdWVzdC4g VGh1cyB0aGUgT0xSIGNhbiBiZQo+Pj4gcmVtb3ZlZC4KPj4+Cj4+ICJFdmVyeXRoaW5nIHRoYXQg d2FzIHJlbHlpbmcgdXBvbiBiZWhpbmQgdGhlIHNjZW5lcyBpcyBub3cgZXhwbGljaXRseQo+PiBj cmVhdGluZy9wYXNzaW5nL3N1Ym1pdHRpbmcgaXQncyAuLi4iCj4+IC0tLT4KPj4gIkV2ZXJ5dGhp bmcgdGhhdCB3YXMgcmVseWluZyBvbiBpdCBiZWhpbmQgdGhlIHNjZW5lcyBpcyBub3cgZXhwbGlj aXRseQo+PiBjcmVhdGluZy9wYXNzaW5nL3N1Ym1pdHRpbmcgaXRzIC4uLiIgPwo+Pgo+Pgo+Pj4g Rm9yOiBWSVotNTExNQo+Pj4gU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhh cnJpc29uQEludGVsLmNvbT4KPj4+IC0tLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jICAgICAgICAgICAgfCAgIDE2ICstLS0tLS0tLS0tLS0tLS0KPj4+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgICAgNCArLS0tCj4+PiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICB8ICAgIDYgKystLS0tCj4+PiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICB8ICAgMTcgKystLS0t LS0tLS0tLS0tLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o ICAgIHwgICAgNCAtLS0tCj4+PiAgIDUgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0 MSBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPj4+IGluZGV4IDYw ZjY2NzEuLjhlNzQxOGIgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4+PiBAQCAt MTE1NiwxNSArMTE1Niw5IEBAIGk5MTVfZ2VtX2NoZWNrX3dlZGdlKHN0cnVjdCBpOTE1X2dwdV9l cnJvciAqZXJyb3IsCj4+PiAgIGludAo+Pj4gICBpOTE1X2dlbV9jaGVja19vbHIoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4+PiAgIHsKPj4+IC0JaW50IHJldDsKPj4+IC0KPj4+ ICAgCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmcmVxLT5yaW5nLT5kZXYtPnN0cnVjdF9tdXRl eCkpOwo+Pj4KPj4+IC0JcmV0ID0gMDsKPj4+IC0JaWYgKHJlcSA9PSByZXEtPnJpbmctPm91dHN0 YW5kaW5nX2xhenlfcmVxdWVzdCkKPj4+IC0JCXJldCA9IGk5MTVfYWRkX3JlcXVlc3QocmVxKTsK Pj4+IC0KPj4+IC0JcmV0dXJuIHJldDsKPj4+ICsJcmV0dXJuIDA7Cj4+PiAgIH0KPj4+Cj4+PiAg IHN0YXRpYyB2b2lkIGZha2VfaXJxKHVuc2lnbmVkIGxvbmcgZGF0YSkKPj4+IEBAIC0yNDI0LDgg KzI0MTgsNiBAQCBpbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxdWVzdCwKPj4+ICAgCWRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsK Pj4+ICAgCXJpbmdidWYgPSByZXF1ZXN0LT5yaW5nYnVmOwo+Pj4KPj4+IC0JV0FSTl9PTihyZXF1 ZXN0ICE9IHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Cj4+PiAtCj4+PiAgIAlyZXF1 ZXN0X3N0YXJ0ID0gaW50ZWxfcmluZ19nZXRfdGFpbChyaW5nYnVmKTsKPj4+ICAgCS8qCj4+PiAg IAkgKiBFbWl0IGFueSBvdXRzdGFuZGluZyBmbHVzaGVzIC0gZXhlY2J1ZiBjYW4gZmFpbCB0byBl bWl0IHRoZSBmbHVzaAo+Pj4gQEAgLTI0ODYsNyArMjQ3OCw2IEBAIGludCBfX2k5MTVfYWRkX3Jl cXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAo+Pj4gICAJfQo+Pj4K Pj4+ICAgCXRyYWNlX2k5MTVfZ2VtX3JlcXVlc3RfYWRkKHJlcXVlc3QpOwo+Pj4gLQlyaW5nLT5v dXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSBOVUxMOwo+Pj4KPj4+ICAgCWk5MTVfcXVldWVfaGFu Z2NoZWNrKHJpbmctPmRldik7Cj4+Pgo+Pj4gQEAgLTI2NzIsOSArMjY2Myw2IEBAIHN0YXRpYyB2 b2lkIGk5MTVfZ2VtX3Jlc2V0X3JpbmdfY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4+Pgo+Pj4gICAJCWk5MTVfZ2VtX2ZyZWVfcmVxdWVzdChyZXF1ZXN0KTsKPj4+ ICAgCX0KPj4+IC0KPj4+IC0JLyogVGhpcyBtYXkgbm90IGhhdmUgYmVlbiBmbHVzaGVkIGJlZm9y ZSB0aGUgcmVzZXQsIHNvIGNsZWFuIGl0IG5vdyAqLwo+Pj4gLQlpOTE1X2dlbV9yZXF1ZXN0X2Fz c2lnbigmcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0LCBOVUxMKTsKPj4+ICAgfQo+Pj4K Pj4+ICAgdm9pZCBpOTE1X2dlbV9yZXN0b3JlX2ZlbmNlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+Pj4gQEAgLTMxMjQsOCArMzExMiw2IEBAIGludCBpOTE1X2dwdV9pZGxlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4+PiAgIAkJCX0KPj4+ICAgCQl9Cj4+Pgo+Pj4gLQkJV0FSTl9PTihyaW5n LT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpOwo+Pj4gLQo+Pj4gICAJCXJldCA9IGludGVsX3Jp bmdfaWRsZShyaW5nKTsKPj4+ICAgCQlpZiAocmV0KQo+Pj4gICAJCQlyZXR1cm4gcmV0Owo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+Pj4gaW5kZXggNmE3 MDNlNi4uMGVhZTU5MiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2V4ZWNidWZmZXIuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZXhlY2J1ZmZlci5jCj4+PiBAQCAtMTU3MSwxMCArMTU3MSw4IEBAIGVycjoKPj4+ICAgCSAqIG11 c3QgYmUgZnJlZWQgYWdhaW4uIElmIGl0IHdhcyBzdWJtaXR0ZWQgdGhlbiBpdCBpcyBiZWluZyB0 cmFja2VkCj4+PiAgIAkgKiBvbiB0aGUgYWN0aXZlIHJlcXVlc3QgbGlzdCBhbmQgbm8gY2xlYW4g dXAgaXMgcmVxdWlyZWQgaGVyZS4KPj4+ICAgCSAqLwo+Pj4gLQlpZiAocmV0ICYmIHBhcmFtcy0+ cmVxdWVzdCkgewo+Pj4gKwlpZiAocmV0ICYmIHBhcmFtcy0+cmVxdWVzdCkKPj4+ICAgCQlpOTE1 X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHBhcmFtcy0+cmVxdWVzdCk7Cj4+PiAtCQlyaW5nLT5v dXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSBOVUxMOwo+Pj4gLQl9Cj4+Pgo+Pj4gICAJbXV0ZXhf dW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKPj4+IGluZGV4IDI5MTFjZjYuLmRiNjNlYTAgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKPj4+IEBAIC0xMDMyLDggKzEwMzIsNyBAQCBpbnQgaW50ZWxfbG9naWNhbF9yaW5n X2FsbG9jX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4+ICAgCWlmICgh cmVxX291dCkKPj4+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPj4+Cj4+PiAtCWlmICgoKnJlcV9vdXQg PSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpICE9IE5VTEwpCj4+PiAtCQlyZXR1cm4g MDsKPj4+ICsJKnJlcV9vdXQgPSBOVUxMOwo+Pj4KPj4+ICAgCXJlcXVlc3QgPSBremFsbG9jKHNp emVvZigqcmVxdWVzdCksIEdGUF9LRVJORUwpOwo+Pj4gICAJaWYgKHJlcXVlc3QgPT0gTlVMTCkK Pj4+IEBAIC0xMDY3LDcgKzEwNjYsNyBAQCBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3Jl cXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4+ICAgCWk5MTVfZ2VtX2NvbnRl eHRfcmVmZXJlbmNlKHJlcXVlc3QtPmN0eCk7Cj4+PiAgIAlyZXF1ZXN0LT5yaW5nYnVmID0gY3R4 LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7Cj4+Pgo+Pj4gLQkqcmVxX291dCA9IHJpbmctPm91 dHN0YW5kaW5nX2xhenlfcmVxdWVzdCA9IHJlcXVlc3Q7Cj4+PiArCSpyZXFfb3V0ID0gcmVxdWVz dDsKPj4+ICAgCXJldHVybiAwOwo+Pj4gICB9Cj4+Pgo+Pj4gQEAgLTEzOTMsNyArMTM5Miw2IEBA IHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX2NsZWFudXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKPj4+Cj4+PiAgIAlpbnRlbF9sb2dpY2FsX3Jpbmdfc3RvcChyaW5nKTsKPj4+ICAgCVdB Uk5fT04oKEk5MTVfUkVBRF9NT0RFKHJpbmcpICYgTU9ERV9JRExFKSA9PSAwKTsKPj4+IC0JaTkx NV9nZW1fcmVxdWVzdF9hc3NpZ24oJnJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCwgTlVM TCk7Cj4+Pgo+Pj4gICAJaWYgKHJpbmctPmNsZWFudXApCj4+PiAgIAkJcmluZy0+Y2xlYW51cChy aW5nKTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPj4+IGluZGV4 IDVlZWYwMmUuLjg1ZGFhMTggMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuYwo+Pj4gQEAgLTIwMzQsNyArMjAzNCw2IEBAIHZvaWQgaW50ZWxfY2xlYW51cF9y aW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+Pj4KPj4+ICAgCWludGVs X3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYpOwo+Pj4gICAJaW50ZWxfZGVzdHJveV9yaW5n YnVmZmVyX29iaihyaW5nYnVmKTsKPj4+IC0JaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJnJpbmct Pm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCwgTlVMTCk7Cj4+Pgo+Pj4gICAJaWYgKHJpbmctPmNs ZWFudXApCj4+PiAgIAkJcmluZy0+Y2xlYW51cChyaW5nKTsKPj4+IEBAIC0yMTUzLDE1ICsyMTUy LDYgQEAgc3RhdGljIGludCBpbnRlbF93cmFwX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCj4+PiAgIGludCBpbnRlbF9yaW5nX2lkbGUoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZykKPj4+ICAgewo+Pj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXE7Cj4+PiAtCWludCByZXQ7Cj4+PiAtCj4+PiAtCS8qIFdlIG5lZWQgdG8gYWRkIGFueSByZXF1 ZXN0cyByZXF1aXJlZCB0byBmbHVzaCB0aGUgb2JqZWN0cyBhbmQgcmluZyAqLwo+Pj4gLQlXQVJO X09OKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Cj4+PiAtCWlmIChyaW5nLT5vdXRz dGFuZGluZ19sYXp5X3JlcXVlc3QpIHsKPj4+IC0JCXJldCA9IGk5MTVfYWRkX3JlcXVlc3Qocmlu Zy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KTsKPj4+IC0JCWlmIChyZXQpCj4+PiAtCQkJcmV0 dXJuIHJldDsKPj4+IC0JfQo+Pj4KPj4+ICAgCS8qIFdhaXQgdXBvbiB0aGUgbGFzdCByZXF1ZXN0 IHRvIGJlIGNvbXBsZXRlZCAqLwo+Pj4gICAJaWYgKGxpc3RfZW1wdHkoJnJpbmctPnJlcXVlc3Rf bGlzdCkpCj4+PiBAQCAtMjE4Niw4ICsyMTc2LDcgQEAgaW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0 KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+PiAgIAlpZiAoIXJlcV9vdXQpCj4+PiAg IAkJcmV0dXJuIC1FSU5WQUw7Cj4+Pgo+Pj4gLQlpZiAoKCpyZXFfb3V0ID0gcmluZy0+b3V0c3Rh bmRpbmdfbGF6eV9yZXF1ZXN0KSAhPSBOVUxMKQo+Pj4gLQkJcmV0dXJuIDA7Cj4+PiArCSpyZXFf b3V0ID0gTlVMTDsKPj4+Cj4+PiAgIAlyZXF1ZXN0ID0ga3phbGxvYyhzaXplb2YoKnJlcXVlc3Qp LCBHRlBfS0VSTkVMKTsKPj4+ICAgCWlmIChyZXF1ZXN0ID09IE5VTEwpCj4+PiBAQCAtMjIwNiw3 ICsyMTk1LDcgQEAgaW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCj4+PiAgIAkJcmV0dXJuIHJldDsKPj4+ICAgCX0KPj4+Cj4+PiAtCSpyZXFfb3V0 ID0gcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0ID0gcmVxdWVzdDsKPj4+ICsJKnJlcV9v dXQgPSByZXF1ZXN0Owo+Pj4gICAJcmV0dXJuIDA7Cj4+PiAgIH0KPj4+Cj4+PiBAQCAtMjI4MSw4 ICsyMjcwLDYgQEAgdm9pZCBpbnRlbF9yaW5nX2luaXRfc2Vxbm8oc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywgdTMyIHNlcW5vKQo+Pj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJp bmctPmRldjsKPj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4+Pgo+Pj4gLQlCVUdfT04ocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1 ZXN0KTsKPj4+IC0KPj4+ICAgCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA2IHx8IElOVEVM X0lORk8oZGV2KS0+Z2VuID09IDcpIHsKPj4+ICAgCQlJOTE1X1dSSVRFKFJJTkdfU1lOQ18wKHJp bmctPm1taW9fYmFzZSksIDApOwo+Pj4gICAJCUk5MTVfV1JJVEUoUklOR19TWU5DXzEocmluZy0+ bW1pb19iYXNlKSwgMCk7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o Cj4+PiBpbmRleCAzYjAyNjFmLi5kMmM2NDI3IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmgKPj4+IEBAIC0yNTgsMTAgKzI1OCw2IEBAIHN0cnVjdCAgaW50 ZWxfZW5naW5lX2NzIHsKPj4+ICAgCSAqLwo+Pj4gICAJc3RydWN0IGxpc3RfaGVhZCByZXF1ZXN0 X2xpc3Q7Cj4+Pgo+Pj4gLQkvKioKPj4+IC0JICogRG8gd2UgaGF2ZSBzb21lIG5vdCB5ZXQgZW1p dHRlZCByZXF1ZXN0cyBvdXRzdGFuZGluZz8KPj4+IC0JICovCj4+PiAtCXN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqb3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0Owo+Pj4gICAJYm9vbCBncHVf Y2FjaGVzX2RpcnR5Owo+Pj4gICAJYm9vbCBmYmNfZGlydHk7Cj4+Pgo+Pj4KPj4gU2luY2Ugd2Un cmUgcmVtb3ZpbmcgdGhlIGk5MTVfYWRkX3JlcXVlc3QgZnJvbSBpOTE1X2NoZWNrX29sciBhbmQg dGhlcmVieQo+PiByZW1vdmluZyB0aGUgT0xSIGVtaXNzaW9uIHRoZSBmb2xsb3dpbmcgY29tbWVu dCBhdAo+PiBpOTE1X2dlbV9vYmplY3RfZmx1c2hfYWN0aXZlIGlzIG5vIGxvbmdlciB2YWxpZDoK Pj4KPj4gICAgICAgICAgLyoqCj4+ICAgICAgICAgICAqIEVuc3VyZXMgdGhhdCBhbiBvYmplY3Qg d2lsbCBldmVudHVhbGx5IGdldCBub24tYnVzeSBieSBmbHVzaGluZwo+PiBhbnkgcmVxdWlyZWQK Pj4gICAgICAgICAgICogd3JpdGUgZG9tYWlucywgZW1pdHRpbmcgYW55IG91dHN0YW5kaW5nIGxh enkgcmVxdWVzdCBhbmQgcmV0aXJpbmcKPj4gYW5kCj4+ICAgICAgICAgICAqIGNvbXBsZXRlZCBy ZXF1ZXN0cy4KPj4gICAgICAgICAgICovCj4+ICAgICAgICAgICBzdGF0aWMgaW50Cj4+ICAgICAg ICAgICBpOTE1X2dlbV9vYmplY3RfZmx1c2hfYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCj4+ICAgICAgICAgICB7Cj4+ICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZzsKPj4gICAgICAgICAgICAgICAgICBpbnQgcmV0Owo+Pgo+PiAgICAg ICAgICAgICAgICAgIGlmIChvYmotPmFjdGl2ZSkgewo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgcmluZyA9Cj4+IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jpbmcob2JqLT5sYXN0X3JlYWRfcmVx KTsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IGk5MTVfZ2VtX2NoZWNrX29scihv YmotPmxhc3RfcmVhZF9yZXEpOwo+IE5pY2UgY2F0Y2ghIE9uIHRvcCBvZiB0aGF0IHRoZSBpbnQg cmV0dXJuIHZhbHVlIGlzIG5vIGxvbmdlciBuZWVkZWQsIHNvIGEKPiBmb2xsb3ctdXAgcGF0Y2gg c2hvdWxkIHNpbXBsaWZ5IGl0IHRvIHZvaWQuCj4gLURhbmllbAoKVGhlIGNvbW1lbnQgYWxzbyB0 YWxrcyBhYm91dCBmbHVzaGluZyB3cml0ZSBkb21haW5zIGJ1dCB0aGVyZSBpcyBubyAKb2J2aW91 cyBmbHVzaCBjYWxsLiBBbGwgaXQgZG9lcyBpcyB0aGUgY2hlY2tfb2xyICh3aGljaCBpcyBub3cg YSBuby1vcCkgCmFuZCB0aGUgcmV0aXJlICh3aGljaCB3b24ndCBkbyBhbnl0aGluZyB1bmxlc3Mg dGhlIHJlcXVlc3QgaGFzIGFscmVhZHkgCmNvbXBsZXRlZCkuIFNvIGlzIHRoZXJlIGFueSBuZWVk IGZvciB0aGlzIGZ1bmN0aW9uIGF0IGFsbCBhbnltb3JlPyBPciAKc2hvdWxkIGl0IGp1c3QgYmUg cmVtb3ZlZCBhbmQgcmVwbGFjZWQgd2l0aCBhIGNhbGwgdG8gcmV0aXJlIGluc3RlYWQ/CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=