From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH 04/51] drm/i915: Merged the many do_execbuf() parameters into a structure Date: Fri, 27 Feb 2015 18:22:43 +0000 Message-ID: <54F0B5F3.7060809@Intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1423828140-10653-5-git-send-email-John.C.Harrison@Intel.com> <20150225215217.GD24485@phenom.ffwll.local> <54F06192.7030202@Intel.com> <20150227133548.GA24485@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id AF3186E943 for ; Fri, 27 Feb 2015 10:22:46 -0800 (PST) In-Reply-To: <20150227133548.GA24485@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 Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMjcvMDIvMjAxNSAxMzozNSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBGcmksIEZlYiAy NywgMjAxNSBhdCAxMjoyMjo0MlBNICswMDAwLCBKb2huIEhhcnJpc29uIHdyb3RlOgo+PiBPbiAy NS8wMi8yMDE1IDIxOjUyLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+Pj4gT24gRnJpLCBGZWIgMTMs IDIwMTUgYXQgMTE6NDg6MTNBTSArMDAwMCwgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90 ZToKPj4+PiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+ Pj4+Cj4+Pj4gVGhlIGRvX2V4ZWNidWYoKSBmdW5jdGlvbiB0YWtlcyBxdWl0ZSBhIGZldyBwYXJh bWV0ZXJzLiBUaGUgYWN0dWFsIHNldCBvZgo+Pj4+IHBhcmFtZXRlcnMgaXMgZ29pbmcgdG8gY2hh bmdlIHdpdGggdGhlIGNvbnZlcnNpb24gdG8gcGFzc2luZyByZXF1ZXN0cyBhcm91bmQuCj4+Pj4g RnVydGhlciwgaXQgaXMgZHVlIHRvIGdyb3cgbWFzc2l2ZWx5IHdpdGggdGhlIGFycml2YWwgb2Yg dGhlIEdQVSBzY2hlZHVsZXIuCj4+Pj4KPj4+PiBUaGlzIHBhdGNoIHNpbXBsaWVzIHRoZSBwcm90 b3R5cGUgYnkgcGFzc2luZyBhIHBhcmFtZXRlciBzdHJ1Y3R1cmUgaW5zdGVhZC4KPj4+PiBDaGFu Z2luZyB0aGUgcGFyYW1ldGVyIHNldCBpbiB0aGUgZnV0dXJlIGlzIHRoZW4gc2ltcGx5IGEgbWF0 dGVyIG9mCj4+Pj4gYWRkaW5nL3JlbW92aW5nIGl0ZW1zIHRvIHRoZSBzdHJ1Y3R1cmUuCj4+Pj4K Pj4+PiBOb3RlIHRoYXQgdGhlIHN0cnVjdHVyZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlbHkg ZXZlcnl0aGluZyB0aGF0IGlzIHBhc3NlZAo+Pj4+IGluLiBUaGlzIGlzIGJlY2F1c2UgdGhlIGlu dGVudGlvbiBpcyB0byB1c2UgdGhpcyBzdHJ1Y3R1cmUgbW9yZSBleHRlbnNpdmVseQo+Pj4+IGxh dGVyIGluIHRoaXMgcGF0Y2ggc2VyaWVzIGFuZCBtb3JlIGVzcGVjaWFsbHkgaW4gdGhlIEdQVSBz Y2hlZHVsZXIgdGhhdCBpcwo+Pj4+IGNvbWluZyBzb29uLiBUaGUgbGF0dGVyIHJlcXVpcmVzIGhh bmdpbmcgb24gdG8gdGhlIHN0cnVjdHVyZSBhcyB0aGUgZmluYWwKPj4+PiBoYXJkd2FyZSBzdWJt aXNzaW9uIGNhbiBiZSBkZWxheWVkIHVudGlsIGxvbmcgYWZ0ZXIgdGhlIGV4ZWNidWYgSU9DVEwg aGFzCj4+Pj4gcmV0dXJuZWQgdG8gdXNlciBsYW5kLiBUaHVzIGl0IGlzIHVuc2FmZSB0byBwdXQg YW55dGhpbmcgaW4gdGhlIHN0cnVjdHVyZSB0aGF0Cj4+Pj4gaXMgbG9jYWwgdG8gdGhlIElPQ1RM IGNhbGwgaXRzZWxmIC0gc3VjaCBhcyB0aGUgJ2FyZ3MnIHBhcmFtZXRlci4gQWxsIGVudHJpZXMK Pj4+PiBtdXN0IGJlIGNvcGllcyBvZiBkYXRhIG9yIHBvaW50ZXJzIHRvIHN0cnVjdHVyZXMgdGhh dCBhcmUgcmVmZXJlbmNlIGNvdW50ZWQgaW4KPj4+PiBzb21ld2F5IGFuZCBndWFyYW50ZWVkIHRv IGV4aXN0IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGJhdGNoIGJ1ZmZlcidzIGxpZmUuCj4+Pj4K Pj4+PiBGb3I6IFZJWi01MTE1Cj4+Pj4gU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9o bi5DLkhhcnJpc29uQEludGVsLmNvbT4KPj4+PiAtLS0KPj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAgMjcgKysrKysrKy0tLS0tLS0KPj4+PiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAgNTYgKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLQo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMgICAgICAgICAgIHwgICAyNiArKysrKysrLS0tLS0tCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuaCAgICAgICAgICAgfCAgICA5ICsrLS0tCj4+Pj4gICA0IGZpbGVzIGNo YW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQo+Pj4+Cj4+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4+Pj4gaW5kZXggZTkwYjc4Ni4uZTZkNjE2YiAxMDA2NDQKPj4+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+Pj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4+IEBAIC0xNjQwLDYgKzE2NDAsMTYgQEAgc3RydWN0 IGk5MTVfd29ya2Fyb3VuZHMgewo+Pj4+ICAgCXUzMiBjb3VudDsKPj4+PiAgIH07Cj4+Pj4gK3N0 cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zIHsKPj4+PiArCXN0cnVjdCBkcm1fZGV2aWNlICAg ICAgICAgICAgICAgKmRldjsKPj4+PiArCXN0cnVjdCBkcm1fZmlsZSAgICAgICAgICAgICAgICAg KmZpbGU7Cj4+Pj4gKwl1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoX2Zs YWdzOwo+Pj4+ICsJdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICBiYXRjaF9vYmpfdm1f b2Zmc2V0Owo+Pj4+ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAgICAgICAgICAqcmluZzsKPj4+ PiArCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICAgICAgKmJhdGNoX29iajsKPj4+PiArCXN0 cnVjdCBpbnRlbF9jb250ZXh0ICAgICAgICAgICAgKmN0eDsKPj4+PiArfTsKPj4+IHRiaCBJJ20g bm90IGEgZmFuIG9mIHBhcmFtZXRlciBvYmplY3RzIGluIEMuIEMgaXMgdmVyYm9zZSBhbmQgZXhw bGljaXQuCj4+Pgo+Pj4gSWYgd2UgYWRkIHRoZSByZXF1ZXN0IHRoZW4gd2UgY2FuIHJlbW92ZSBy aW5nIGFuZCBjdHgsIHdoaWNoIGFscmVhZHkKPj4+IGltcHJvdmVzIHRoaW5ncy4gV2UgYWxzbyBo YXZlIHRoZSBlYiBzdHJ1Y3R1cmUgd2UgdXNlIHRvIHBhc3MgYXJvdW5kIGEKPj4+IHBpbGUgb2Yg dGhpbmdzLCB3aGljaCB3ZSBjb3VsZCBzb21ld2hhdCByZXVzZSBoZXJlLiBXaGF0IGVsc2UgZG8g eW91IHBsYW4KPj4+IHRvIGFkZD8gSnVzdCB3YW50IHRvIGZpZ3VyZSBvdXQgd2hldGhlciB0aGlz IGlzIHJlYWxseSByZXF1aXJlZCAuLi4KPj4+IC1EYW5pZWwKPj4gVGhlIG1ham9yIGFkdmFudGFn ZSBvZiB0aGlzIGlzIHdoZW4gdGhlIEdQVSBzY2hlZHVsZXIgYXJyaXZlcy4gSXQgc3BsaXRzIHRo ZQo+PiBleGVjYnVmZmVyIGNvZGUgcGF0aCBpbiBoYWxmIC0gZnJvbnQgaGFsZiBpcyBhbGwgdGhl IHNvZnR3YXJlIHN0YXRlCj4+IHZlcmlmaWNhdGlvbiBhbmQgbWFuYWdlbWVudCwgYmFjayBoYWxm IGlzIHRoZSBhY3R1YWwgaGFyZHdhcmUgd3JpdGVzIHRvIHBvc3QKPj4gdGhlIGJ1ZmZlci4gVGhp cyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBicmlkZ2UgdGhlIHR3by4gSXQgY29udGFpbnMgYWxsIHRo ZQo+PiBzdGF0ZSBjcmVhdGVkIGJ5IHRoZSBmcm9udCBoYWxmIHRoYXQgaXMgbGF0ZXIgdXNlZCBi eSB0aGUgYmFjayBoYWxmLiBJdCBpcwo+PiBzYXZlZCBhd2F5IHdpdGggdGhlIHJlcXVlc3Qvc2No ZWR1bGVyIG5vZGUgdW50aWwgc3VjaCBhIHRpbWUgYXMgdGhlIGJhY2sKPj4gaGFsZiBpcyBjYWxs ZWQuIEhlbmNlIHNvbWUga2luZCBvZiBzdHJ1Y3R1cmUgaXMgcmVxdWlyZWQgYW5kIGl0IGRvZXMg bm90Cj4+IHJlYWxseSBtYWtlIHNlbnNlIHRvIGFkZCBhbGwgdGhpcyBpbmZvcm1hdGlvbiB0byB0 aGUgZ2VuZXJpYyByZXF1ZXN0Cj4+IHN0cnVjdHVyZS4gQWxzbywgd2l0aCB0aGUgZnVsbCBwcmUt ZW1wdGl2ZSBzY2hlZHVsZXIsIHRoZSBzdHJ1Y3R1cmUgZ3Jvd3MgdG8KPj4gYWJvdXQgdHdlbnR5 IGVudHJpZXMgYW5kIHBhc3NpbmcgdGhhdCBxdWFudGl0eSBvZiBpbmRpdmlkdWFsIHBhcmFtZXRl cnMgdG8gYQo+PiBmdW5jdGlvbiBpcyBqdXN0IHVud2llbGRseSEKPiBXZWxsIHdlIGFscmVhZHkg aGF2ZSBhbiBleGVjYnVmIHRyYWNraW5nIHN0cnVjdHVyZSB3aXRoIGViX3ZtYXMuIEFuZCB0aGVu Cj4gdGhlcmUncyByZXF1ZXN0cy4gU28gaWYgdGhpcyBpcyBtb3JlIHRoYW4ganVzdCBhIHBhcmFt ZXRlciBvYmplY3QgSSB3b25kZXIKPiB3aGV0aGVyIHdlIHNob3VsZG4ndCByZXVzZSBlaXRoZXIg b2YgdGhlc2UuIEFkZGluZyB0aGVtIGFsbCB0byByZXF1ZXN0cyBpcwo+IGltbyB0b3RhbGx5IG9r Lgo+Cj4gT2ggYW5kIGEgYmlrZXNoZWQgYXNpZGU6IGltbyB0aGUgLT5kb19leGVidWYgbmFtZSBp cyByZWFsbHkgY29uZnVzaW5nLAo+IHNpbmNlIGl0IGNsYXNoZXMgd2l0aCB0aGUgdGhlIHZhcmlv dXMgZG9fZXhlY2J1ZiBmdW5jdGlvbnMgd2UgaGF2ZSB3aGljaAo+IGFyZSBhdCBhIGhpZ2hlciBs ZXZlbC4gQWxzbyB0aGUgaW1wbGVtZW50YXRpb25zIGFsbCBoYXZlIGEgX3N1Ym1pc3Npb24KPiBw b3N0Zml4LiBJbW8gYmV0dGVyIG5hbWVzIHdvdWxkIGJlIGRvX3N1Ym1pc3Npb24gb3IgZW5naW5l X3N1Ym1pdCBvcgo+IHNvbWV0aGluZyBzaW1sYXIuIFRoZSBvbmx5IGNhdmVhdCBpcyB0aGF0IHdl IG5lZWQgdG8gbWFrZSBzdXJlIHRoZQo+IGxpZmV0aW1lIHJ1bGVzIGZvciBhbnkgcG9pbnRlcnMg YXJlIG9rLiBFLmcuIGJlZm9yZSB3ZSByZXR1cm4gZnJvbSB0aGUKPiBpb2N0bCB3ZSBuZWVkIHRv IGNsZWFyIG91dCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MgcG9pbnRlcnMgaWYgd2UK PiBzdG9yZSB0aGVtIGluIHRoZSByZXF1ZXN0IHN0cnVjdHVyZS4KClRoZSBsaWZldGltZSBpc3N1 ZXMgaXMgcGFydCBvZiB0aGUgcmVhc29uIGZvciBoYXZpbmcgYSBkZWRpY2F0ZWQgZXhlY2J1ZiAK cGFyYW1zIHN0cnVjdHVyZS4gU29tZSBvZiB0aGUgY29udGVudHMgb2YgdGhlIGFyZ3MgYmxvY2sg YXJlIGNvcGllZCBvdXQgCmFuZCBzYXZlZCBhd2F5IGZvciBmdXR1cmUgcmVmZXJlbmNlIGFuZCB0 aGV5IGFyZSBvbmx5IHJlbGV2YW50IHRvIHRoZSAKZXhlY2J1ZiBjb2RlLiBJTUhPLCBrZWVwaW5n IGFsbCBvZiB0aGVzZSB0aGluZ3MgaW4gb25lIHBsYWNlIGlzIG11Y2ggCm1vcmUgbmVhdCBhbmQg dGlkeSAoYW5kIHRodXMgZWFzaWVyIHRvIHJlYWQgYW5kIGVhc2llciB0byBtYWludGFpbikgdGhh biAKb3ZlcmxvYWRpbmcgb3RoZXIgc3RydWN0dXJlcyB3aXRoIGxhcmdlIGFtb3VudHMgb2Ygc3R1 ZmYgdGhhdCBpc24ndCAKcmVsZXZhbnQuIFRoZSBlYl92bWEgc3RydWN0dXJlIGlzIGZyZWVkIGF0 IHRoZSBlbmQgb2YgdGhlIGZyb250IGhhbGYgYW5kIApub3Qga2VwdCBhcm91bmQgZm9yIHRoYXQg YmFjayBoYWxmLiBSZXF1ZXN0cyBhcmUgdXNlZCBmb3Igc3R1ZmYgdGhhdCAKaXNuJ3QgYW4gZXhl Y2J1ZmZlciBjYWxsLgoKCj4gQ2FuIHlvdSBwbGVhc2UgcGljayBhIG5hbWUgYW5kIGluc2VydCB0 aGF0IHJlbmFtZSBwYXRjaCBzb21ld2hlcmUKPiBjb252ZW5pZW50IChmb3IgeW91KSBpbiB5b3Vy IHNlcmllcz8KQ2FuIGRvLgoKPiBUaGFua3MsIERhbmllbAo+Pgo+Pj4+ICsKPj4+PiAgIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlIHsKPj4+PiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2Owo+Pj4+ ICAgCXN0cnVjdCBrbWVtX2NhY2hlICpzbGFiOwo+Pj4+IEBAIC0xODkxLDEzICsxOTAxLDkgQEAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+Pj4+ICAgCS8qIEFic3RyYWN0IHRoZSBzdWJtaXNz aW9uIG1lY2hhbmlzbSAobGVnYWN5IHJpbmdidWZmZXIgb3IgZXhlY2xpc3RzKSBhd2F5ICovCj4+ Pj4gICAJc3RydWN0IHsKPj4+PiAtCQlpbnQgKCpkb19leGVjYnVmKShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4+Pj4gLQkJCQkgIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCj4+Pj4gLQkJCQkgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4+ Pj4gKwkJaW50ICgqZG9fZXhlY2J1Zikoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBh cmFtcywKPj4+PiAgIAkJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3Ms Cj4+Pj4gLQkJCQkgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCj4+Pj4gLQkJCQkgIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCj4+Pj4gLQkJCQkgIHU2NCBleGVjX3N0YXJ0 LCB1MzIgZmxhZ3MpOwo+Pj4+ICsJCQkJICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzKTsKPj4+PiAg IAkJaW50ICgqaW5pdF9yaW5ncykoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+Pj4gICAJCXZv aWQgKCpjbGVhbnVwX3JpbmcpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwo+Pj4+ICAg CQl2b2lkICgqc3RvcF9yaW5nKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKPj4+PiBA QCAtMjYyMiwxNCArMjYyOCw5IEBAIHZvaWQgaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29t bWFuZHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+PiAgIAkJCQkJIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSwKPj4+PiAgIAkJCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+Pj4g ICAJCQkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKPj4+PiAtaW50IGk5MTVf Z2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4+IC0J CQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlLAo+Pj4+IC0JCQkJICAgc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZywKPj4+PiAtCQkJCSAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4+ Pj4gK2ludCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1 ZmZlcl9wYXJhbXMgKnBhcmFtcywKPj4+PiAgIAkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNidWZmZXIyICphcmdzLAo+Pj4+IC0JCQkJICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcywKPj4+ PiAtCQkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCj4+Pj4gLQkJ CQkgICB1NjQgZXhlY19zdGFydCwgdTMyIGZsYWdzKTsKPj4+PiArCQkJCSAgIHN0cnVjdCBsaXN0 X2hlYWQgKnZtYXMpOwo+Pj4+ICAgaW50IGk5MTVfZ2VtX2V4ZWNidWZmZXIoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4+PiAgIAkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KTsKPj4+PiAgIGludCBpOTE1X2dlbV9leGVjYnVmZmVyMihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVj YnVmZmVyLmMKPj4+PiBpbmRleCBlYzllYTQ1Li45M2IwZWYwIDEwMDY0NAo+Pj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+Pj4+IEBAIC0xMTMyLDE3ICsx MTMyLDE1IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcGFyc2Uoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywKPj4+PiAgIH0KPj4+PiAgIGludAo+Pj4+IC1pOTE1X2dlbV9yaW5nYnVmZmVyX3N1 Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ Pj4+IC0JCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4+PiAtCQkJICAg ICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4+Pj4gK2k5MTVfZ2VtX3JpbmdidWZmZXJf c3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAo+Pj4+ICAg CQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCj4+Pj4gLQkJ CSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+Pj4+IC0JCQkgICAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaiwKPj4+PiAtCQkJICAgICAgIHU2NCBleGVjX3N0 YXJ0LCB1MzIgZGlzcGF0Y2hfZmxhZ3MpCj4+Pj4gKwkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFk ICp2bWFzKQo+Pj4+ICAgewo+Pj4+ICAgCXN0cnVjdCBkcm1fY2xpcF9yZWN0ICpjbGlwcmVjdHMg PSBOVUxMOwo+Pj4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBhcmFtcy0+ZGV2Owo+Pj4+ ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHBhcmFtcy0+cmluZzsKPj4+PiAgIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+Pj4+ IC0JdTY0IGV4ZWNfbGVuOwo+Pj4+ICsJdTY0IGV4ZWNfc3RhcnQsIGV4ZWNfbGVuOwo+Pj4+ICAg CWludCBpbnN0cF9tb2RlOwo+Pj4+ICAgCXUzMiBpbnN0cF9tYXNrOwo+Pj4+ICAgCWludCBpLCBy ZXQgPSAwOwo+Pj4+IEBAIC0xMTk0LDcgKzExOTIsNyBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1 Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ Pj4+ICAgCWlmIChyZXQpCj4+Pj4gICAJCWdvdG8gZXJyb3I7Cj4+Pj4gLQlyZXQgPSBpOTE1X3N3 aXRjaF9jb250ZXh0KHJpbmcsIGN0eCk7Cj4+Pj4gKwlyZXQgPSBpOTE1X3N3aXRjaF9jb250ZXh0 KHJpbmcsIHBhcmFtcy0+Y3R4KTsKPj4+PiAgIAlpZiAocmV0KQo+Pj4+ICAgCQlnb3RvIGVycm9y Owo+Pj4+IEBAIC0xMjUxLDEyICsxMjQ5LDE1IEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlz c2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4+Pj4g ICAJfQo+Pj4+ICAgCWlmIChhcmdzLT5mbGFncyAmIEk5MTVfRVhFQ19HRU43X1NPTF9SRVNFVCkg ewo+Pj4+IC0JCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zmc2V0cyhkZXYsIHJpbmcpOwo+ Pj4+ICsJCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zmc2V0cyhwYXJhbXMtPmRldiwgcmlu Zyk7Cj4+Pj4gICAJCWlmIChyZXQpCj4+Pj4gICAJCQlnb3RvIGVycm9yOwo+Pj4+ICAgCX0KPj4+ PiAtCWV4ZWNfbGVuID0gYXJncy0+YmF0Y2hfbGVuOwo+Pj4+ICsJZXhlY19sZW4gICA9IGFyZ3Mt PmJhdGNoX2xlbjsKPj4+PiArCWV4ZWNfc3RhcnQgPSBwYXJhbXMtPmJhdGNoX29ial92bV9vZmZz ZXQgKwo+Pj4+ICsJCSAgICAgYXJncy0+YmF0Y2hfc3RhcnRfb2Zmc2V0Owo+Pj4+ICsKPj4+PiAg IAlpZiAoY2xpcHJlY3RzKSB7Cj4+Pj4gICAJCWZvciAoaSA9IDA7IGkgPCBhcmdzLT5udW1fY2xp cHJlY3RzOyBpKyspIHsKPj4+PiAgIAkJCXJldCA9IGk5MTVfZW1pdF9ib3gocmluZywgJmNsaXBy ZWN0c1tpXSwKPj4+PiBAQCAtMTI2NiwyMiArMTI2NywyMyBAQCBpOTE1X2dlbV9yaW5nYnVmZmVy X3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxl LAo+Pj4+ICAgCQkJcmV0ID0gcmluZy0+ZGlzcGF0Y2hfZXhlY2J1ZmZlcihyaW5nLAo+Pj4+ICAg CQkJCQkJCWV4ZWNfc3RhcnQsIGV4ZWNfbGVuLAo+Pj4+IC0JCQkJCQkJZGlzcGF0Y2hfZmxhZ3Mp Owo+Pj4+ICsJCQkJCQkJcGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7Cj4+Pj4gICAJCQlpZiAocmV0 KQo+Pj4+ICAgCQkJCWdvdG8gZXJyb3I7Cj4+Pj4gICAJCX0KPj4+PiAgIAl9IGVsc2Ugewo+Pj4+ ICAgCQlyZXQgPSByaW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyKHJpbmcsCj4+Pj4gICAJCQkJCQll eGVjX3N0YXJ0LCBleGVjX2xlbiwKPj4+PiAtCQkJCQkJZGlzcGF0Y2hfZmxhZ3MpOwo+Pj4+ICsJ CQkJCQlwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKPj4+PiAgIAkJaWYgKHJldCkKPj4+PiAgIAkJ CXJldHVybiByZXQ7Cj4+Pj4gICAJfQo+Pj4+IC0JdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRj aChpbnRlbF9yaW5nX2dldF9yZXF1ZXN0KHJpbmcpLCBkaXNwYXRjaF9mbGFncyk7Cj4+Pj4gKwl0 cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyks IHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwo+Pj4+ICAgCWk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92 ZV90b19hY3RpdmUodm1hcywgcmluZyk7Cj4+Pj4gLQlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGly ZV9jb21tYW5kcyhkZXYsIGZpbGUsIHJpbmcsIGJhdGNoX29iaik7Cj4+Pj4gKwlpOTE1X2dlbV9l eGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhwYXJhbXMtPmRldiwgcGFyYW1zLT5maWxlLCByaW5n LAo+Pj4+ICsJCQkJCSAgICBwYXJhbXMtPmJhdGNoX29iaik7Cj4+Pj4gICBlcnJvcjoKPj4+PiAg IAlrZnJlZShjbGlwcmVjdHMpOwo+Pj4+IEBAIC0xMzUxLDggKzEzNTMsOSBAQCBpOTE1X2dlbV9k b19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+Pj4gICAJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZzsKPj4+PiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY3R4Owo+Pj4+ICAgCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtOwo+Pj4+ICsJc3Ry dWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgcGFyYW1zX21hc3RlcjsgLyogWFhYOiB3aWxsIGJl IHJlbW92ZWQgbGF0ZXIgKi8KPj4+PiArCXN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpw YXJhbXMgPSAmcGFyYW1zX21hc3RlcjsKPj4+PiAgIAljb25zdCB1MzIgY3R4X2lkID0gaTkxNV9l eGVjYnVmZmVyMl9nZXRfY29udGV4dF9pZCgqYXJncyk7Cj4+Pj4gLQl1NjQgZXhlY19zdGFydCA9 IGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldDsKPj4+PiAgIAl1MzIgZGlzcGF0Y2hfZmxhZ3M7Cj4+ Pj4gICAJaW50IHJldDsKPj4+PiAgIAlib29sIG5lZWRfcmVsb2NzOwo+Pj4+IEBAIC0xNDQ1LDYg KzE0NDgsOCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCj4+Pj4gICAJZWxzZQo+Pj4+ICAgCQl2bSA9ICZkZXZfcHJpdi0+Z3R0LmJh c2U7Cj4+Pj4gKwltZW1zZXQoJnBhcmFtc19tYXN0ZXIsIDB4MDAsIHNpemVvZihwYXJhbXNfbWFz dGVyKSk7Cj4+Pj4gKwo+Pj4+ICAgCWViID0gZWJfY3JlYXRlKGFyZ3MpOwo+Pj4+ICAgCWlmIChl YiA9PSBOVUxMKSB7Cj4+Pj4gICAJCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsK Pj4+PiBAQCAtMTUyMiwxMyArMTUyNywyNCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+Pj4gICAJCWlmIChyZXQpCj4+Pj4gICAJ CQlnb3RvIGVycjsKPj4+PiAtCQlleGVjX3N0YXJ0ICs9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNl dChiYXRjaF9vYmopOwo+Pj4+ICsJCXBhcmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNldCA9IGk5MTVf Z2VtX29ial9nZ3R0X29mZnNldChiYXRjaF9vYmopOwo+Pj4+ICAgCX0gZWxzZQo+Pj4+IC0JCWV4 ZWNfc3RhcnQgKz0gaTkxNV9nZW1fb2JqX29mZnNldChiYXRjaF9vYmosIHZtKTsKPj4+PiArCQlw YXJhbXMtPmJhdGNoX29ial92bV9vZmZzZXQgPSBpOTE1X2dlbV9vYmpfb2Zmc2V0KGJhdGNoX29i aiwgdm0pOwo+Pj4+IC0JcmV0ID0gZGV2X3ByaXYtPmd0LmRvX2V4ZWNidWYoZGV2LCBmaWxlLCBy aW5nLCBjdHgsIGFyZ3MsCj4+Pj4gLQkJCQkgICAgICAmZWItPnZtYXMsIGJhdGNoX29iaiwgZXhl Y19zdGFydCwKPj4+PiAtCQkJCSAgICAgIGRpc3BhdGNoX2ZsYWdzKTsKPj4+PiArCS8qCj4+Pj4g KwkgKiBTYXZlIGFzc29ydGVkIHN0dWZmIGF3YXkgdG8gcGFzcyB0aHJvdWdoIHRvICpfc3VibWlz c2lvbigpLgo+Pj4+ICsJICogTkI6IFRoaXMgZGF0YSBzaG91bGQgYmUgJ3BlcnNpc3RlbnQnIGFu ZCBub3QgbG9jYWwgYXMgaXQgd2lsbAo+Pj4+ICsJICoga2VwdCBhcm91bmQgYmV5b25kIHRoZSBk dXJhdGlvbiBvZiB0aGUgSU9DVEwgb25jZSB0aGUgR1BVCj4+Pj4gKwkgKiBzY2hlZHVsZXIgYXJy aXZlcy4KPj4+PiArCSAqLwo+Pj4+ICsJcGFyYW1zLT5kZXYgICAgICAgICAgICAgICAgICAgICA9 IGRldjsKPj4+PiArCXBhcmFtcy0+ZmlsZSAgICAgICAgICAgICAgICAgICAgPSBmaWxlOwo+Pj4+ ICsJcGFyYW1zLT5yaW5nICAgICAgICAgICAgICAgICAgICA9IHJpbmc7Cj4+Pj4gKwlwYXJhbXMt PmRpc3BhdGNoX2ZsYWdzICAgICAgICAgID0gZGlzcGF0Y2hfZmxhZ3M7Cj4+Pj4gKwlwYXJhbXMt PmJhdGNoX29iaiAgICAgICAgICAgICAgID0gYmF0Y2hfb2JqOwo+Pj4+ICsJcGFyYW1zLT5jdHgg ICAgICAgICAgICAgICAgICAgICA9IGN0eDsKPj4+PiArCj4+Pj4gKwlyZXQgPSBkZXZfcHJpdi0+ Z3QuZG9fZXhlY2J1ZihwYXJhbXMsIGFyZ3MsICZlYi0+dm1hcyk7Cj4+Pj4gICAJLyoKPj4+PiAg IAkgKiBGSVhNRTogV2UgY3J1Y2lhbGx5IHJlbHkgdXBvbiB0aGUgYWN0aXZlIHRyYWNraW5nIGZv ciB0aGUgKHBwZ3R0KQo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4+Pj4gaW5kZXggNzYy MTM2Yi4uY2EyOTI5MCAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4+Pj4g QEAgLTYxOCwxNiArNjE4LDE1IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHN0 cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLAo+Pj4+ICAgICoKPj4+PiAgICAqIFJldHVy bjogbm9uLXplcm8gaWYgdGhlIHN1Ym1pc3Npb24gZmFpbHMuCj4+Pj4gICAgKi8KPj4+PiAtaW50 IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dCBkcm1fZmlsZSAqZmlsZSwKPj4+PiAtCQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcsCj4+Pj4gLQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+Pj4+ICtp bnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJh bXMgKnBhcmFtcywKPj4+PiAgIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZm ZXIyICphcmdzLAo+Pj4+IC0JCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcywKPj4+PiAt CQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCj4+Pj4gLQkJ CSAgICAgICB1NjQgZXhlY19zdGFydCwgdTMyIGRpc3BhdGNoX2ZsYWdzKQo+Pj4+ICsJCQkgICAg ICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcykKPj4+PiAgIHsKPj4+PiArCXN0cnVjdCBkcm1fZGV2 aWNlICAgICAgICpkZXYgPSBwYXJhbXMtPmRldjsKPj4+PiArCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgICpyaW5nID0gcGFyYW1zLT5yaW5nOwo+Pj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+Pj4gLQlzdHJ1Y3QgaW50ZWxfcmluZ2J1 ZmZlciAqcmluZ2J1ZiA9IGN0eC0+ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwo+Pj4+ICsJc3Ry dWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBwYXJhbXMtPmN0eC0+ZW5naW5lW3Jpbmct PmlkXS5yaW5nYnVmOwo+Pj4+ICsJdTY0IGV4ZWNfc3RhcnQ7Cj4+Pj4gICAJaW50IGluc3RwX21v ZGU7Cj4+Pj4gICAJdTMyIGluc3RwX21hc2s7Cj4+Pj4gICAJaW50IHJldDsKPj4+PiBAQCAtNjc4 LDEzICs2NzcsMTMgQEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4+PiAgIAkJcmV0dXJuIC1FSU5W QUw7Cj4+Pj4gICAJfQo+Pj4+IC0JcmV0ID0gZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHJpbmdidWYs IGN0eCwgdm1hcyk7Cj4+Pj4gKwlyZXQgPSBleGVjbGlzdHNfbW92ZV90b19ncHUocmluZ2J1Ziwg cGFyYW1zLT5jdHgsIHZtYXMpOwo+Pj4+ICAgCWlmIChyZXQpCj4+Pj4gICAJCXJldHVybiByZXQ7 Cj4+Pj4gICAJaWYgKHJpbmcgPT0gJmRldl9wcml2LT5yaW5nW1JDU10gJiYKPj4+PiAgIAkgICAg aW5zdHBfbW9kZSAhPSBkZXZfcHJpdi0+cmVsYXRpdmVfY29uc3RhbnRzX21vZGUpIHsKPj4+PiAt CQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocmluZ2J1ZiwgY3R4LCA0KTsKPj4+PiAr CQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocmluZ2J1ZiwgcGFyYW1zLT5jdHgsIDQp Owo+Pj4+ICAgCQlpZiAocmV0KQo+Pj4+ICAgCQkJcmV0dXJuIHJldDsKPj4+PiBAQCAtNjk3LDE0 ICs2OTYsMTcgQEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4+PiAgIAkJZGV2X3ByaXYtPnJlbGF0 aXZlX2NvbnN0YW50c19tb2RlID0gaW5zdHBfbW9kZTsKPj4+PiAgIAl9Cj4+Pj4gLQlyZXQgPSBy aW5nLT5lbWl0X2JiX3N0YXJ0KHJpbmdidWYsIGN0eCwgZXhlY19zdGFydCwgZGlzcGF0Y2hfZmxh Z3MpOwo+Pj4+ICsJZXhlY19zdGFydCA9IHBhcmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNldCArCj4+ Pj4gKwkJICAgICBhcmdzLT5iYXRjaF9zdGFydF9vZmZzZXQ7Cj4+Pj4gKwo+Pj4+ICsJcmV0ID0g cmluZy0+ZW1pdF9iYl9zdGFydChyaW5nYnVmLCBwYXJhbXMtPmN0eCwgZXhlY19zdGFydCwgcGFy YW1zLT5kaXNwYXRjaF9mbGFncyk7Cj4+Pj4gICAJaWYgKHJldCkKPj4+PiAgIAkJcmV0dXJuIHJl dDsKPj4+PiAtCXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2goaW50ZWxfcmluZ19nZXRfcmVx dWVzdChyaW5nKSwgZGlzcGF0Y2hfZmxhZ3MpOwo+Pj4+ICsJdHJhY2VfaTkxNV9nZW1fcmluZ19k aXNwYXRjaChpbnRlbF9yaW5nX2dldF9yZXF1ZXN0KHJpbmcpLCBwYXJhbXMtPmRpc3BhdGNoX2Zs YWdzKTsKPj4+PiAgIAlpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHZtYXMsIHJp bmcpOwo+Pj4+IC0JaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29tbWFuZHMoZGV2LCBmaWxl LCByaW5nLCBiYXRjaF9vYmopOwo+Pj4+ICsJaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29t bWFuZHMocGFyYW1zLT5kZXYsIHBhcmFtcy0+ZmlsZSwgcmluZywgcGFyYW1zLT5iYXRjaF9vYmop Owo+Pj4+ICAgCXJldHVybiAwOwo+Pj4+ICAgfQo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5o Cj4+Pj4gaW5kZXggMzA5MzgzNi4uYWUyZjNlZCAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5oCj4+Pj4gQEAgLTgwLDEzICs4MCwxMCBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRf dW5waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4+PiAgIC8qIEV4ZWNsaXN0cyAq Lwo+Pj4+ICAgaW50IGludGVsX3Nhbml0aXplX2VuYWJsZV9leGVjbGlzdHMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgaW50IGVuYWJsZV9leGVjbGlzdHMpOwo+Pj4+IC1pbnQgaW50ZWxfZXhlY2xp c3RzX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpm aWxlLAo+Pj4+IC0JCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4+PiAt CQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4+Pj4gK3N0cnVjdCBpOTE1X2V4 ZWNidWZmZXJfcGFyYW1zOwo+Pj4+ICtpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3Ry dWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKPj4+PiAgIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAo+Pj4+IC0JCQkgICAgICAgc3RydWN0 IGxpc3RfaGVhZCAqdm1hcywKPj4+PiAtCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpiYXRjaF9vYmosCj4+Pj4gLQkJCSAgICAgICB1NjQgZXhlY19zdGFydCwgdTMyIGRpc3Bh dGNoX2ZsYWdzKTsKPj4+PiArCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMpOwo+Pj4+ ICAgdTMyIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg KmN0eF9vYmopOwo+Pj4+ICAgdm9pZCBpbnRlbF9scmNfaXJxX2hhbmRsZXIoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZyk7Cj4+Pj4gLS0gCj4+Pj4gMS43LjkuNQo+Pj4+Cj4+Pj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+PiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4+Pj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4+IGh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==