From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 02/22] drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h Date: Mon, 18 Mar 2019 10:21:41 +0000 Message-ID: <297fa37d-4f1b-baf1-6ebd-b74afcdaae20@linux.intel.com> References: <20190318095204.9913-1-chris@chris-wilson.co.uk> <20190318095204.9913-2-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 62DB68967A for ; Mon, 18 Mar 2019 10:21:44 +0000 (UTC) In-Reply-To: <20190318095204.9913-2-chris@chris-wilson.co.uk> 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: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE4LzAzLzIwMTkgMDk6NTEsIENocmlzIFdpbHNvbiB3cm90ZToKPiBXZSB3YW50IHRvIHVz ZSBpbnRlbF9lbmdpbmVfbWFza190IGluc2lkZSBpOTE1X3JlcXVlc3QuaCwgd2hpY2ggbWVhbnMK PiBleHRyYWN0aW5nIGl0IGZyb20gdGhlIGdlbmVyYWwgaGVhZGVyIGZpbGUgbWVzcyBhbmQgcGxh Y2luZyBpdCBpbnNpZGUgYQo+IHR5cGVzLmguIEEga25vY2sgb24gZWZmZWN0IGlzIHRoYXQgdGhl IGNvbXBpbGVyIHdhbnRzIHRvIHdhcm4gYWJvdXQKPiB0eXBlLWNvbnRyYWN0aW9uIG9mIEFMTF9F TkdJTkVTIGludG8gaW50ZWxfZW5naW5lX21hc2t0X3QsIHNvIHByZXBhcmUKPiBmb3IgdGhlIHdv cnN0LgoKV2UgY2FuJ3QgZG86CgojZGVmaW5lIEFMTF9FTkdJTkVTICgoaW50ZWxfZW5naW5lX21h c2tfdCktMSkKCnRvIGF2b2lkIHRoaXMgd2FybmluZyBhbmQgYSBsb3Qgb2YgdGhlIGNodXJuPwoK UmVnYXJkcywKClR2cnRrbwoKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGlu dGVsLmNvbT4KPiBDYzogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5j b20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAg ICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0LmggICAgICAgICAgICAg ICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMgICAgICAg ICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYyAgICAg ICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvdmdwdS5jICAgICAgICAg ICAgICAgfCAgNiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAg ICAgICAgIHwgIDEgLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXNldC5jICAgICAg ICAgICAgIHwgMzAgKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jlc2V0Lmgg ICAgICAgICAgICAgfCAgNiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVs ZXIuaCAgICAgICAgIHwgODYgKy0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zY2hlZHVsZXJfdHlwZXMuaCAgIHwgOTggKysrKysrKysrKysrKysrKysrKwo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5oICAgICAgICAgIHwgIDEgKwo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZV90eXBlcy5oICAgIHwgIDMgKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmggICAgICB8ICAzICstCj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMuaCAgICAgfCAgOSArLQo+ ICAgLi4uL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jIHwgIDQgKy0K PiAgIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVjay5jICB8ICAyICst Cj4gICAuLi4vdGVzdF9pOTE1X3NjaGVkdWxlcl90eXBlc19zdGFuZGFsb25lLmMgICAgfCAgNyAr Kwo+ICAgMTcgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyksIDExNiBkZWxldGlvbnMo LSkKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVk dWxlcl90eXBlcy5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUv dGVzdF9pOTE1X3NjaGVkdWxlcl90eXBlc19zdGFuZGFsb25lLmMKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtl ZmlsZQo+IGluZGV4IDY4ZmVjZjM1NTQ3MS4uMTk3YjA4MTc2OWI1IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUKPiBAQCAtNjAsNiArNjAsNyBAQCBpOTE1LSQoQ09ORklHX1BFUkZfRVZFTlRTKSAr PSBpOTE1X3BtdS5vCj4gICBpOTE1LSQoQ09ORklHX0RSTV9JOTE1X1dFUlJPUikgKz0gXAo+ICAg CXRlc3RfaTkxNV9hY3RpdmVfdHlwZXNfc3RhbmRhbG9uZS5vIFwKPiAgIAl0ZXN0X2k5MTVfZ2Vt X2NvbnRleHRfdHlwZXNfc3RhbmRhbG9uZS5vIFwKPiArCXRlc3RfaTkxNV9zY2hlZHVsZXJfdHlw ZXNfc3RhbmRhbG9uZS5vIFwKPiAgIAl0ZXN0X2k5MTVfdGltZWxpbmVfdHlwZXNfc3RhbmRhbG9u ZS5vIFwKPiAgIAl0ZXN0X2ludGVsX2NvbnRleHRfdHlwZXNfc3RhbmRhbG9uZS5vIFwKPiAgIAl0 ZXN0X2ludGVsX2VuZ2luZV90eXBlc19zdGFuZGFsb25lLm8gXAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0 LmgKPiBpbmRleCA4YmNlMDlkZTRiODIuLmM3ZjM3MzU2NmVjZCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3Z0LmgKPiBAQCAtNDg4LDcgKzQ4OCw3IEBAIHN0cnVjdCBpbnRlbF92Z3B1ICppbnRlbF9n dnRfY3JlYXRlX3ZncHUoc3RydWN0IGludGVsX2d2dCAqZ3Z0LAo+ICAgdm9pZCBpbnRlbF9ndnRf ZGVzdHJveV92Z3B1KHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1KTsKPiAgIHZvaWQgaW50ZWxfZ3Z0 X3JlbGVhc2VfdmdwdShzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSk7Cj4gICB2b2lkIGludGVsX2d2 dF9yZXNldF92Z3B1X2xvY2tlZChzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwgYm9vbCBkbWxyLAo+ IC0JCQkJIHVuc2lnbmVkIGludCBlbmdpbmVfbWFzayk7Cj4gKwkJCQkgdW5zaWduZWQgbG9uZyBl bmdpbmVfbWFzayk7Cj4gICB2b2lkIGludGVsX2d2dF9yZXNldF92Z3B1KHN0cnVjdCBpbnRlbF92 Z3B1ICp2Z3B1KTsKPiAgIHZvaWQgaW50ZWxfZ3Z0X2FjdGl2YXRlX3ZncHUoc3RydWN0IGludGVs X3ZncHUgKnZncHUpOwo+ICAgdm9pZCBpbnRlbF9ndnRfZGVhY3RpdmF0ZV92Z3B1KHN0cnVjdCBp bnRlbF92Z3B1ICp2Z3B1KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2hhbmRsZXJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYwo+IGluZGV4 IGI1OTZjYjQyZTI0ZS4uYTBkOTgxNTQ3YzllIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9oYW5kbGVycy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hh bmRsZXJzLmMKPiBAQCAtMzExLDcgKzMxMSw3IEBAIHN0YXRpYyBpbnQgbXVsX2ZvcmNlX3dha2Vf d3JpdGUoc3RydWN0IGludGVsX3ZncHUgKnZncHUsCj4gICBzdGF0aWMgaW50IGdkcnN0X21taW9f d3JpdGUoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHVuc2lnbmVkIGludCBvZmZzZXQsCj4gICAJ CQkgICAgdm9pZCAqcF9kYXRhLCB1bnNpZ25lZCBpbnQgYnl0ZXMpCj4gICB7Cj4gLQl1bnNpZ25l ZCBpbnQgZW5naW5lX21hc2sgPSAwOwo+ICsJdW5zaWduZWQgbG9uZyBlbmdpbmVfbWFzayA9IDA7 Cj4gICAJdTMyIGRhdGE7Cj4gICAKPiAgIAl3cml0ZV92cmVnKHZncHUsIG9mZnNldCwgcF9kYXRh LCBieXRlcyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVs ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYwo+IGluZGV4IDc1NTBl MDk5MzlhZS4uNTZhOTUzMGI0ZTA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d2dC9zY2hlZHVsZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVs ZXIuYwo+IEBAIC0xMTM3LDcgKzExMzcsNyBAQCB2b2lkIGludGVsX3ZncHVfY2xlYW5fc3VibWlz c2lvbihzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSkKPiAgICAqCj4gICAgKi8KPiAgIHZvaWQgaW50 ZWxfdmdwdV9yZXNldF9zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAo+IC0JCXVu c2lnbmVkIGxvbmcgZW5naW5lX21hc2spCj4gKwkJCQkgdW5zaWduZWQgbG9uZyBlbmdpbmVfbWFz aykKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfdmdwdV9zdWJtaXNzaW9uICpzID0gJnZncHUtPnN1 Ym1pc3Npb247Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3Zn cHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC92Z3B1LmMKPiBpbmRleCAzMTRlNDAxMjFl NDcuLmU3MzRjMjFlN2QwNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQv dmdwdS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3ZncHUuYwo+IEBAIC01MjYs MTQgKzUyNiwxNCBAQCBzdHJ1Y3QgaW50ZWxfdmdwdSAqaW50ZWxfZ3Z0X2NyZWF0ZV92Z3B1KHN0 cnVjdCBpbnRlbF9ndnQgKmd2dCwKPiAgICAqIEdQVSBlbmdpbmVzLiBGb3IgRkxSLCBlbmdpbmVf bWFzayBpcyBpZ25vcmVkLgo+ICAgICovCj4gICB2b2lkIGludGVsX2d2dF9yZXNldF92Z3B1X2xv Y2tlZChzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwgYm9vbCBkbWxyLAo+IC0JCQkJIHVuc2lnbmVk IGludCBlbmdpbmVfbWFzaykKPiArCQkJCSB1bnNpZ25lZCBsb25nIGVuZ2luZV9tYXNrKQo+ICAg ewo+ICAgCXN0cnVjdCBpbnRlbF9ndnQgKmd2dCA9IHZncHUtPmd2dDsKPiAgIAlzdHJ1Y3QgaW50 ZWxfZ3Z0X3dvcmtsb2FkX3NjaGVkdWxlciAqc2NoZWR1bGVyID0gJmd2dC0+c2NoZWR1bGVyOwo+ IC0JdW5zaWduZWQgaW50IHJlc2V0dGluZ19lbmcgPSBkbWxyID8gQUxMX0VOR0lORVMgOiBlbmdp bmVfbWFzazsKPiArCXVuc2lnbmVkIGxvbmcgcmVzZXR0aW5nX2VuZyA9IGRtbHIgPyBBTExfRU5H SU5FUyA6IGVuZ2luZV9tYXNrOwo+ICAgCj4gICAJZ3Z0X2RiZ19jb3JlKCItLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwo+IC0JZ3Z0X2RiZ19jb3JlKCJyZXNz ZXRpbmcgdmdwdSVkLCBkbWxyICVkLCBlbmdpbmVfbWFzayAlMDh4XG4iLAo+ICsJZ3Z0X2RiZ19j b3JlKCJyZXNzZXRpbmcgdmdwdSVkLCBkbWxyICVkLCBlbmdpbmVfbWFzayAlMDhseFxuIiwKPiAg IAkJICAgICB2Z3B1LT5pZCwgZG1sciwgZW5naW5lX21hc2spOwo+ICAgCj4gICAJdmdwdS0+cmVz ZXR0aW5nX2VuZyA9IHJlc2V0dGluZ19lbmc7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5k ZXggMzk1YWE5ZDViYTAyLi44NjA4MGE2ZTBmNDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBAQCAtMjQzMiw3ICsyNDMyLDYgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgaTkx NV9zZ19zZWdtZW50X3NpemUodm9pZCkKPiAgICNkZWZpbmUgSVNfR0VOOV9MUChkZXZfcHJpdikJ KElTX0dFTihkZXZfcHJpdiwgOSkgJiYgSVNfTFAoZGV2X3ByaXYpKQo+ICAgI2RlZmluZSBJU19H RU45X0JDKGRldl9wcml2KQkoSVNfR0VOKGRldl9wcml2LCA5KSAmJiAhSVNfTFAoZGV2X3ByaXYp KQo+ICAgCj4gLSNkZWZpbmUgQUxMX0VOR0lORVMJKH4wdSkKPiAgICNkZWZpbmUgSEFTX0VOR0lO RShkZXZfcHJpdiwgaWQpIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ZW5naW5lX21hc2sgJiBCSVQo aWQpKQo+ICAgCj4gICAjZGVmaW5lIEhBU19MTEMoZGV2X3ByaXYpCShJTlRFTF9JTkZPKGRldl9w cml2KS0+aGFzX2xsYykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXNldC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXNldC5jCj4gaW5kZXggODYxZmUw ODNlMzgzLi5iOGRhZWM3ZGRjMDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZXNldC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXNldC5jCj4g QEAgLTE0NCw3ICsxNDQsNyBAQCBzdGF0aWMgdm9pZCBnZW4zX3N0b3BfZW5naW5lKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHZvaWQgaTkxNV9z dG9wX2VuZ2luZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gLQkJCSAgICAgIHVu c2lnbmVkIGludCBlbmdpbmVfbWFzaykKPiArCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmdpbmVf bWFzaykKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gICAJZW51 bSBpbnRlbF9lbmdpbmVfaWQgaWQ7Cj4gQEAgLTE2NSw3ICsxNjUsNyBAQCBzdGF0aWMgYm9vbCBp OTE1X2luX3Jlc2V0KHN0cnVjdCBwY2lfZGV2ICpwZGV2KQo+ICAgfQo+ICAgCj4gICBzdGF0aWMg aW50IGk5MTVfZG9fcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gLQkJCSB1 bnNpZ25lZCBpbnQgZW5naW5lX21hc2ssCj4gKwkJCSB1bnNpZ25lZCBsb25nIGVuZ2luZV9tYXNr LAo+ICAgCQkJIHVuc2lnbmVkIGludCByZXRyeSkKPiAgIHsKPiAgIAlzdHJ1Y3QgcGNpX2RldiAq cGRldiA9IGk5MTUtPmRybS5wZGV2Owo+IEBAIC0xOTQsNyArMTk0LDcgQEAgc3RhdGljIGJvb2wg ZzR4X3Jlc2V0X2NvbXBsZXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQo+ICAgfQo+ICAgCj4gICBz dGF0aWMgaW50IGczM19kb19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAt CQkJdW5zaWduZWQgaW50IGVuZ2luZV9tYXNrLAo+ICsJCQl1bnNpZ25lZCBsb25nIGVuZ2luZV9t YXNrLAo+ICAgCQkJdW5zaWduZWQgaW50IHJldHJ5KQo+ICAgewo+ICAgCXN0cnVjdCBwY2lfZGV2 ICpwZGV2ID0gaTkxNS0+ZHJtLnBkZXY7Cj4gQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgaW50 IGczM19kb19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAgIH0KPiAgIAo+ ICAgc3RhdGljIGludCBnNHhfZG9fcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+IC0JCQl1bnNpZ25lZCBpbnQgZW5naW5lX21hc2ssCj4gKwkJCXVuc2lnbmVkIGxvbmcg ZW5naW5lX21hc2ssCj4gICAJCQl1bnNpZ25lZCBpbnQgcmV0cnkpCj4gICB7Cj4gICAJc3RydWN0 IHBjaV9kZXYgKnBkZXYgPSBkZXZfcHJpdi0+ZHJtLnBkZXY7Cj4gQEAgLTI0Miw3ICsyNDIsNyBA QCBzdGF0aWMgaW50IGc0eF9kb19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgaXJvbmxha2VfZG9fcmVzZXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkgICAgIHVuc2lnbmVkIGludCBlbmdpbmVf bWFzaywKPiArCQkJICAgICB1bnNpZ25lZCBsb25nIGVuZ2luZV9tYXNrLAo+ICAgCQkJICAgICB1 bnNpZ25lZCBpbnQgcmV0cnkpCj4gICB7Cj4gICAJaW50IHJldDsKPiBAQCAtMjk5LDcgKzI5OSw3 IEBAIHN0YXRpYyBpbnQgZ2VuNl9od19kb21haW5fcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IGdlbjZfcmVzZXRfZW5naW5l cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAtCQkJICAgICAgdW5zaWduZWQgaW50 IGVuZ2luZV9tYXNrLAo+ICsJCQkgICAgICB1bnNpZ25lZCBsb25nIGVuZ2luZV9tYXNrLAo+ICAg CQkJICAgICAgdW5zaWduZWQgaW50IHJldHJ5KQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZTsKPiBAQCAtNDI1LDcgKzQyNSw3IEBAIHN0YXRpYyB2b2lkIGdlbjExX3Vu bG9ja19zZmMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgfQo+ICAgCj4g ICBzdGF0aWMgaW50IGdlbjExX3Jlc2V0X2VuZ2luZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCj4gLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgZW5naW5lX21hc2ssCj4gKwkJCSAgICAg ICB1bnNpZ25lZCBsb25nIGVuZ2luZV9tYXNrLAo+ICAgCQkJICAgICAgIHVuc2lnbmVkIGludCBy ZXRyeSkKPiAgIHsKPiAgIAljb25zdCB1MzIgaHdfZW5naW5lX21hc2tbXSA9IHsKPiBAQCAtNDky LDcgKzQ5Miw3IEBAIHN0YXRpYyB2b2lkIGdlbjhfZW5naW5lX3Jlc2V0X2NhbmNlbChzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgZ2VuOF9y ZXNldF9lbmdpbmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+IC0JCQkgICAgICB1 bnNpZ25lZCBpbnQgZW5naW5lX21hc2ssCj4gKwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZW5naW5l X21hc2ssCj4gICAJCQkgICAgICB1bnNpZ25lZCBpbnQgcmV0cnkpCj4gICB7Cj4gICAJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+IEBAIC01MzMsNyArNTMzLDcgQEAgc3RhdGljIGlu dCBnZW44X3Jlc2V0X2VuZ2luZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gICB9 Cj4gICAKPiAgIHR5cGVkZWYgaW50ICgqcmVzZXRfZnVuYykoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKiwKPiAtCQkJICB1bnNpZ25lZCBpbnQgZW5naW5lX21hc2ssCj4gKwkJCSAgdW5zaWduZWQg bG9uZyBlbmdpbmVfbWFzaywKPiAgIAkJCSAgdW5zaWduZWQgaW50IHJldHJ5KTsKPiAgIAo+ICAg c3RhdGljIHJlc2V0X2Z1bmMgaW50ZWxfZ2V0X2dwdV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKPiBAQCAtNTU0LDcgKzU1NCw3IEBAIHN0YXRpYyByZXNldF9mdW5jIGludGVs X2dldF9ncHVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gICAJCXJldHVy biBOVUxMOwo+ICAgfQo+ICAgCj4gLWludCBpbnRlbF9ncHVfcmVzZXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsIHVuc2lnbmVkIGludCBlbmdpbmVfbWFzaykKPiAraW50IGludGVsX2dw dV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdW5zaWduZWQgbG9uZyBlbmdp bmVfbWFzaykKPiAgIHsKPiAgIAljb25zdCBpbnQgcmV0cmllcyA9IGVuZ2luZV9tYXNrID09IEFM TF9FTkdJTkVTID8gUkVTRVRfTUFYX1JFVFJJRVMgOiAxOwo+ICAgCXJlc2V0X2Z1bmMgcmVzZXQ7 Cj4gQEAgLTU4OCw3ICs1ODgsNyBAQCBpbnQgaW50ZWxfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LCB1bnNpZ25lZCBpbnQgZW5naW5lX21hc2spCj4gICAJCWlmIChyZXRy eSkKPiAgIAkJCWk5MTVfc3RvcF9lbmdpbmVzKGk5MTUsIGVuZ2luZV9tYXNrKTsKPiAgIAo+IC0J CUdFTV9UUkFDRSgiZW5naW5lX21hc2s9JXhcbiIsIGVuZ2luZV9tYXNrKTsKPiArCQlHRU1fVFJB Q0UoImVuZ2luZV9tYXNrPSVseFxuIiwgZW5naW5lX21hc2spOwo+ICAgCQlwcmVlbXB0X2Rpc2Fi bGUoKTsKPiAgIAkJcmV0ID0gcmVzZXQoaTkxNSwgZW5naW5lX21hc2ssIHJldHJ5KTsKPiAgIAkJ cHJlZW1wdF9lbmFibGUoKTsKPiBAQCAtNjg4LDcgKzY4OCw3IEBAIHN0YXRpYyB2b2lkIGd0X3Jl dm9rZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiAgIAlyZXZva2VfbW1hcHMoaTkx NSk7Cj4gICB9Cj4gICAKPiAtc3RhdGljIGludCBndF9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwgdW5zaWduZWQgaW50IHN0YWxsZWRfbWFzaykKPiArc3RhdGljIGludCBndF9y ZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdW5zaWduZWQgbG9uZyBzdGFsbGVk X21hc2spCj4gICB7Cj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICAgCWVu dW0gaW50ZWxfZW5naW5lX2lkIGlkOwo+IEBAIC05NDUsNyArOTQ1LDcgQEAgYm9vbCBpOTE1X2dl bV91bnNldF93ZWRnZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gICAJcmV0dXJu IHJlc3VsdDsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgaW50IGRvX3Jlc2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LCB1bnNpZ25lZCBpbnQgc3RhbGxlZF9tYXNrKQo+ICtzdGF0aWMgaW50 IGRvX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1bnNpZ25lZCBsb25nIHN0 YWxsZWRfbWFzaykKPiAgIHsKPiAgIAlpbnQgZXJyLCBpOwo+ICAgCj4gQEAgLTk4MCw3ICs5ODAs NyBAQCBzdGF0aWMgaW50IGRvX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1 bnNpZ25lZCBpbnQgc3RhbGxlZF9tYXNrKQo+ICAgICogICAtIHJlLWluaXQgZGlzcGxheQo+ICAg ICovCj4gICB2b2lkIGk5MTVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4g LQkJdW5zaWduZWQgaW50IHN0YWxsZWRfbWFzaywKPiArCQl1bnNpZ25lZCBsb25nIHN0YWxsZWRf bWFzaywKPiAgIAkJY29uc3QgY2hhciAqcmVhc29uKQo+ICAgewo+ICAgCXN0cnVjdCBpOTE1X2dw dV9lcnJvciAqZXJyb3IgPSAmaTkxNS0+Z3B1X2Vycm9yOwo+IEBAIC0xMjIyLDcgKzEyMjIsNyBA QCB2b2lkIGk5MTVfY2xlYXJfZXJyb3JfcmVnaXN0ZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiAgICAqIG9mIGEgcmluZyBkdW1wIGV0Yy4pLgo+ICAgICovCj4gICB2b2lk IGk5MTVfaGFuZGxlX2Vycm9yKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+IC0JCSAg ICAgICB1MzIgZW5naW5lX21hc2ssCj4gKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgZW5naW5lX21h c2ssCj4gICAJCSAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzLAo+ICAgCQkgICAgICAgY29uc3Qg Y2hhciAqZm10LCAuLi4pCj4gICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVzZXQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVzZXQuaAo+IGluZGV4 IDE2ZjIzODlmNjU2Zi4uNmQyYmY3ZTgxYWM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVzZXQuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVz ZXQuaAo+IEBAIC0xNyw3ICsxNyw3IEBAIHN0cnVjdCBpbnRlbF9ndWM7Cj4gICAKPiAgIF9fcHJp bnRmKDQsIDUpCj4gICB2b2lkIGk5MTVfaGFuZGxlX2Vycm9yKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAo+IC0JCSAgICAgICB1MzIgZW5naW5lX21hc2ssCj4gKwkJICAgICAgIHVuc2ln bmVkIGxvbmcgZW5naW5lX21hc2ssCj4gICAJCSAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzLAo+ ICAgCQkgICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pOwo+ICAgI2RlZmluZSBJOTE1X0VSUk9S X0NBUFRVUkUgQklUKDApCj4gQEAgLTI1LDcgKzI1LDcgQEAgdm9pZCBpOTE1X2hhbmRsZV9lcnJv cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAgIHZvaWQgaTkxNV9jbGVhcl9lcnJv cl9yZWdpc3RlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwo+ICAgCj4gICB2b2lk IGk5MTVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gLQkJdW5zaWduZWQg aW50IHN0YWxsZWRfbWFzaywKPiArCQl1bnNpZ25lZCBsb25nIHN0YWxsZWRfbWFzaywKPiAgIAkJ Y29uc3QgY2hhciAqcmVhc29uKTsKPiAgIGludCBpOTE1X3Jlc2V0X2VuZ2luZShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gICAJCSAgICAgIGNvbnN0IGNoYXIgKnJlYXNvbik7Cj4g QEAgLTQxLDcgKzQxLDcgQEAgaW50IGk5MTVfdGVybWluYWxseV93ZWRnZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpOwo+ICAgYm9vbCBpbnRlbF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KTsKPiAgIGJvb2wgaW50ZWxfaGFzX3Jlc2V0X2VuZ2luZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cj4gICAKPiAtaW50IGludGVsX2dwdV9yZXNl dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTMyIGVuZ2luZV9tYXNrKTsKPiAraW50 IGludGVsX2dwdV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdW5zaWduZWQg bG9uZyBlbmdpbmVfbWFzayk7Cj4gICAKPiAgIGludCBpbnRlbF9yZXNldF9ndWMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfc2NoZWR1bGVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVk dWxlci5oCj4gaW5kZXggOWExZDI1N2YzZDZlLi4wN2QyNDNhY2Y1NTMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmgKPiBAQCAtOCw5MiArOCwxMCBAQAo+ICAgI2RlZmlu ZSBfSTkxNV9TQ0hFRFVMRVJfSF8KPiAgIAo+ICAgI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgo+ ICsjaW5jbHVkZSA8bGludXgvbGlzdC5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ ICAgCj4gLSNpbmNsdWRlIDx1YXBpL2RybS9pOTE1X2RybS5oPgo+IC0KPiAtc3RydWN0IGRybV9p OTE1X3ByaXZhdGU7Cj4gLXN0cnVjdCBpOTE1X3JlcXVlc3Q7Cj4gLXN0cnVjdCBpbnRlbF9lbmdp bmVfY3M7Cj4gLQo+IC1lbnVtIHsKPiAtCUk5MTVfUFJJT1JJVFlfTUlOID0gSTkxNV9DT05URVhU X01JTl9VU0VSX1BSSU9SSVRZIC0gMSwKPiAtCUk5MTVfUFJJT1JJVFlfTk9STUFMID0gSTkxNV9D T05URVhUX0RFRkFVTFRfUFJJT1JJVFksCj4gLQlJOTE1X1BSSU9SSVRZX01BWCA9IEk5MTVfQ09O VEVYVF9NQVhfVVNFUl9QUklPUklUWSArIDEsCj4gLQo+IC0JSTkxNV9QUklPUklUWV9JTlZBTElE ID0gSU5UX01JTgo+IC19Owo+IC0KPiAtI2RlZmluZSBJOTE1X1VTRVJfUFJJT1JJVFlfU0hJRlQg Mwo+IC0jZGVmaW5lIEk5MTVfVVNFUl9QUklPUklUWSh4KSAoKHgpIDw8IEk5MTVfVVNFUl9QUklP UklUWV9TSElGVCkKPiAtCj4gLSNkZWZpbmUgSTkxNV9QUklPUklUWV9DT1VOVCBCSVQoSTkxNV9V U0VSX1BSSU9SSVRZX1NISUZUKQo+IC0jZGVmaW5lIEk5MTVfUFJJT1JJVFlfTUFTSyAoSTkxNV9Q UklPUklUWV9DT1VOVCAtIDEpCj4gLQo+IC0jZGVmaW5lIEk5MTVfUFJJT1JJVFlfV0FJVAkJKCh1 OClCSVQoMCkpCj4gLSNkZWZpbmUgSTkxNV9QUklPUklUWV9ORVdDTElFTlQJCSgodTgpQklUKDEp KQo+IC0jZGVmaW5lIEk5MTVfUFJJT1JJVFlfTk9TRU1BUEhPUkUJKCh1OClCSVQoMikpCj4gLQo+ IC0jZGVmaW5lIF9fTk9fUFJFRU1QVElPTiAoSTkxNV9QUklPUklUWV9XQUlUKQo+IC0KPiAtc3Ry dWN0IGk5MTVfc2NoZWRfYXR0ciB7Cj4gLQkvKioKPiAtCSAqIEBwcmlvcml0eTogZXhlY3V0aW9u IGFuZCBzZXJ2aWNlIHByaW9yaXR5Cj4gLQkgKgo+IC0JICogQWxsIGNsaWVudHMgYXJlIGVxdWFs LCBidXQgc29tZSBhcmUgbW9yZSBlcXVhbCB0aGFuIG90aGVycyEKPiAtCSAqCj4gLQkgKiBSZXF1 ZXN0cyBmcm9tIGEgY29udGV4dCB3aXRoIGEgZ3JlYXRlciAobW9yZSBwb3NpdGl2ZSkgdmFsdWUg b2YKPiAtCSAqIEBwcmlvcml0eSB3aWxsIGJlIGV4ZWN1dGVkIGJlZm9yZSB0aG9zZSB3aXRoIGEg bG93ZXIgQHByaW9yaXR5Cj4gLQkgKiB2YWx1ZSwgZm9ybWluZyBhIHNpbXBsZSBRb1MuCj4gLQkg Kgo+IC0JICogVGhlICZkcm1faTkxNV9wcml2YXRlLmtlcm5lbF9jb250ZXh0IGlzIGFzc2lnbmVk IHRoZSBsb3dlc3QgcHJpb3JpdHkuCj4gLQkgKi8KPiAtCWludCBwcmlvcml0eTsKPiAtfTsKPiAt Cj4gLS8qCj4gLSAqICJQZW9wbGUgYXNzdW1lIHRoYXQgdGltZSBpcyBhIHN0cmljdCBwcm9ncmVz c2lvbiBvZiBjYXVzZSB0byBlZmZlY3QsIGJ1dAo+IC0gKiBhY3R1YWxseSwgZnJvbSBhIG5vbmxp bmVhciwgbm9uLXN1YmplY3RpdmUgdmlld3BvaW50LCBpdCdzIG1vcmUgbGlrZSBhIGJpZwo+IC0g KiBiYWxsIG9mIHdpYmJseS13b2JibHksIHRpbWV5LXdpbWV5IC4uLiBzdHVmZi4iIC1UaGUgRG9j dG9yLCAyMDE1Cj4gLSAqCj4gLSAqIFJlcXVlc3RzIGV4aXN0IGluIGEgY29tcGxleCB3ZWIgb2Yg aW50ZXJkZXBlbmRlbmNpZXMuIEVhY2ggcmVxdWVzdAo+IC0gKiBoYXMgdG8gd2FpdCBmb3Igc29t ZSBvdGhlciByZXF1ZXN0IHRvIGNvbXBsZXRlIGJlZm9yZSBpdCBpcyByZWFkeSB0byBiZSBydW4K PiAtICogKGUuZy4gd2UgaGF2ZSB0byB3YWl0IHVudGlsIHRoZSBwaXhlbHMgaGF2ZSBiZWVuIHJl bmRlcmluZyBpbnRvIGEgdGV4dHVyZQo+IC0gKiBiZWZvcmUgd2UgY2FuIGNvcHkgZnJvbSBpdCku IFdlIHRyYWNrIHRoZSByZWFkaW5lc3Mgb2YgYSByZXF1ZXN0IGluIHRlcm1zCj4gLSAqIG9mIGZl bmNlcywgYnV0IHdlIGFsc28gbmVlZCB0byBrZWVwIHRoZSBkZXBlbmRlbmN5IHRyZWUgZm9yIHRo ZSBsaWZldGltZQo+IC0gKiBvZiB0aGUgcmVxdWVzdCAoYmV5b25kIHRoZSBsaWZlIG9mIGFuIGlu ZGl2aWR1YWwgZmVuY2UpLiBXZSB1c2UgdGhlIHRyZWUKPiAtICogYXQgdmFyaW91cyBwb2ludHMg dG8gcmVvcmRlciB0aGUgcmVxdWVzdHMgd2hpbHN0IGtlZXBpbmcgdGhlIHJlcXVlc3RzCj4gLSAq IGluIG9yZGVyIHdpdGggcmVzcGVjdCB0byB0aGVpciB2YXJpb3VzIGRlcGVuZGVuY2llcy4KPiAt ICoKPiAtICogVGhlcmUgaXMgbm8gYWN0aXZlIGNvbXBvbmVudCB0byB0aGUgInNjaGVkdWxlciIu IEFzIHdlIGtub3cgdGhlIGRlcGVuZGVuY3kKPiAtICogREFHIG9mIGVhY2ggcmVxdWVzdCwgd2Ug YXJlIGFibGUgdG8gaW5zZXJ0IGl0IGludG8gYSBzb3J0ZWQgcXVldWUgd2hlbiBpdAo+IC0gKiBp cyByZWFkeSwgYW5kIGFyZSBhYmxlIHRvIHJlb3JkZXIgaXRzIHBvcnRpb24gb2YgdGhlIGdyYXBo IHRvIGFjY29tbW9kYXRlCj4gLSAqIGR5bmFtaWMgcHJpb3JpdHkgY2hhbmdlcy4KPiAtICovCj4g LXN0cnVjdCBpOTE1X3NjaGVkX25vZGUgewo+IC0Jc3RydWN0IGxpc3RfaGVhZCBzaWduYWxlcnNf bGlzdDsgLyogdGhvc2UgYmVmb3JlIHVzLCB3ZSBkZXBlbmQgdXBvbiAqLwo+IC0Jc3RydWN0IGxp c3RfaGVhZCB3YWl0ZXJzX2xpc3Q7IC8qIHRob3NlIGFmdGVyIHVzLCB0aGV5IGRlcGVuZCB1cG9u IHVzICovCj4gLQlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7Cj4gLQlzdHJ1Y3QgaTkxNV9zY2hlZF9h dHRyIGF0dHI7Cj4gLQl1bnNpZ25lZCBpbnQgZmxhZ3M7Cj4gLSNkZWZpbmUgSTkxNV9TQ0hFRF9I QVNfU0VNQVBIT1JFCUJJVCgwKQo+IC19Owo+IC0KPiAtc3RydWN0IGk5MTVfZGVwZW5kZW5jeSB7 Cj4gLQlzdHJ1Y3QgaTkxNV9zY2hlZF9ub2RlICpzaWduYWxlcjsKPiAtCXN0cnVjdCBsaXN0X2hl YWQgc2lnbmFsX2xpbms7Cj4gLQlzdHJ1Y3QgbGlzdF9oZWFkIHdhaXRfbGluazsKPiAtCXN0cnVj dCBsaXN0X2hlYWQgZGZzX2xpbms7Cj4gLQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+IC0jZGVmaW5l IEk5MTVfREVQRU5ERU5DWV9BTExPQyBCSVQoMCkKPiAtfTsKPiAtCj4gLXN0cnVjdCBpOTE1X3By aW9saXN0IHsKPiAtCXN0cnVjdCBsaXN0X2hlYWQgcmVxdWVzdHNbSTkxNV9QUklPUklUWV9DT1VO VF07Cj4gLQlzdHJ1Y3QgcmJfbm9kZSBub2RlOwo+IC0JdW5zaWduZWQgbG9uZyB1c2VkOwo+IC0J aW50IHByaW9yaXR5Owo+IC19Owo+ICsjaW5jbHVkZSAiaTkxNV9zY2hlZHVsZXJfdHlwZXMuaCIK PiAgIAo+ICAgI2RlZmluZSBwcmlvbGlzdF9mb3JfZWFjaF9yZXF1ZXN0KGl0LCBwbGlzdCwgaWR4 KSBcCj4gICAJZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKChwbGlzdCktPnJlcXVlc3Rz KTsgaWR4KyspIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hl ZHVsZXJfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyX3R5cGVz LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uNWM5NGIzZWI1 YzgxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2No ZWR1bGVyX3R5cGVzLmgKPiBAQCAtMCwwICsxLDk4IEBACj4gKy8qCj4gKyAqIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBNSVQKPiArICoKPiArICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29y cG9yYXRpb24KPiArICovCj4gKwo+ICsjaWZuZGVmIF9JOTE1X1NDSEVEVUxFUl9UWVBFU19IXwo+ ICsjZGVmaW5lIF9JOTE1X1NDSEVEVUxFUl9UWVBFU19IXwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4 L2xpc3QuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3JidHJlZS5oPgo+ICsKPiArI2luY2x1ZGUgPHVh cGkvZHJtL2k5MTVfZHJtLmg+Cj4gKwo+ICtzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKPiArc3Ry dWN0IGk5MTVfcmVxdWVzdDsKPiArc3RydWN0IGludGVsX2VuZ2luZV9jczsKPiArCj4gK2VudW0g ewo+ICsJSTkxNV9QUklPUklUWV9NSU4gPSBJOTE1X0NPTlRFWFRfTUlOX1VTRVJfUFJJT1JJVFkg LSAxLAo+ICsJSTkxNV9QUklPUklUWV9OT1JNQUwgPSBJOTE1X0NPTlRFWFRfREVGQVVMVF9QUklP UklUWSwKPiArCUk5MTVfUFJJT1JJVFlfTUFYID0gSTkxNV9DT05URVhUX01BWF9VU0VSX1BSSU9S SVRZICsgMSwKPiArCj4gKwlJOTE1X1BSSU9SSVRZX0lOVkFMSUQgPSBJTlRfTUlOCj4gK307Cj4g Kwo+ICsjZGVmaW5lIEk5MTVfVVNFUl9QUklPUklUWV9TSElGVCAzCj4gKyNkZWZpbmUgSTkxNV9V U0VSX1BSSU9SSVRZKHgpICgoeCkgPDwgSTkxNV9VU0VSX1BSSU9SSVRZX1NISUZUKQo+ICsKPiAr I2RlZmluZSBJOTE1X1BSSU9SSVRZX0NPVU5UIEJJVChJOTE1X1VTRVJfUFJJT1JJVFlfU0hJRlQp Cj4gKyNkZWZpbmUgSTkxNV9QUklPUklUWV9NQVNLIChJOTE1X1BSSU9SSVRZX0NPVU5UIC0gMSkK PiArCj4gKyNkZWZpbmUgSTkxNV9QUklPUklUWV9XQUlUCQkoKHU4KUJJVCgwKSkKPiArI2RlZmlu ZSBJOTE1X1BSSU9SSVRZX05FV0NMSUVOVAkJKCh1OClCSVQoMSkpCj4gKyNkZWZpbmUgSTkxNV9Q UklPUklUWV9OT1NFTUFQSE9SRQkoKHU4KUJJVCgyKSkKPiArCj4gKyNkZWZpbmUgX19OT19QUkVF TVBUSU9OIChJOTE1X1BSSU9SSVRZX1dBSVQpCj4gKwo+ICtzdHJ1Y3QgaTkxNV9zY2hlZF9hdHRy IHsKPiArCS8qKgo+ICsJICogQHByaW9yaXR5OiBleGVjdXRpb24gYW5kIHNlcnZpY2UgcHJpb3Jp dHkKPiArCSAqCj4gKwkgKiBBbGwgY2xpZW50cyBhcmUgZXF1YWwsIGJ1dCBzb21lIGFyZSBtb3Jl IGVxdWFsIHRoYW4gb3RoZXJzIQo+ICsJICoKPiArCSAqIFJlcXVlc3RzIGZyb20gYSBjb250ZXh0 IHdpdGggYSBncmVhdGVyIChtb3JlIHBvc2l0aXZlKSB2YWx1ZSBvZgo+ICsJICogQHByaW9yaXR5 IHdpbGwgYmUgZXhlY3V0ZWQgYmVmb3JlIHRob3NlIHdpdGggYSBsb3dlciBAcHJpb3JpdHkKPiAr CSAqIHZhbHVlLCBmb3JtaW5nIGEgc2ltcGxlIFFvUy4KPiArCSAqCj4gKwkgKiBUaGUgJmRybV9p OTE1X3ByaXZhdGUua2VybmVsX2NvbnRleHQgaXMgYXNzaWduZWQgdGhlIGxvd2VzdCBwcmlvcml0 eS4KPiArCSAqLwo+ICsJaW50IHByaW9yaXR5Owo+ICt9Owo+ICsKPiArLyoKPiArICogIlBlb3Bs ZSBhc3N1bWUgdGhhdCB0aW1lIGlzIGEgc3RyaWN0IHByb2dyZXNzaW9uIG9mIGNhdXNlIHRvIGVm ZmVjdCwgYnV0Cj4gKyAqIGFjdHVhbGx5LCBmcm9tIGEgbm9ubGluZWFyLCBub24tc3ViamVjdGl2 ZSB2aWV3cG9pbnQsIGl0J3MgbW9yZSBsaWtlIGEgYmlnCj4gKyAqIGJhbGwgb2Ygd2liYmx5LXdv YmJseSwgdGltZXktd2ltZXkgLi4uIHN0dWZmLiIgLVRoZSBEb2N0b3IsIDIwMTUKPiArICoKPiAr ICogUmVxdWVzdHMgZXhpc3QgaW4gYSBjb21wbGV4IHdlYiBvZiBpbnRlcmRlcGVuZGVuY2llcy4g RWFjaCByZXF1ZXN0Cj4gKyAqIGhhcyB0byB3YWl0IGZvciBzb21lIG90aGVyIHJlcXVlc3QgdG8g Y29tcGxldGUgYmVmb3JlIGl0IGlzIHJlYWR5IHRvIGJlIHJ1bgo+ICsgKiAoZS5nLiB3ZSBoYXZl IHRvIHdhaXQgdW50aWwgdGhlIHBpeGVscyBoYXZlIGJlZW4gcmVuZGVyaW5nIGludG8gYSB0ZXh0 dXJlCj4gKyAqIGJlZm9yZSB3ZSBjYW4gY29weSBmcm9tIGl0KS4gV2UgdHJhY2sgdGhlIHJlYWRp bmVzcyBvZiBhIHJlcXVlc3QgaW4gdGVybXMKPiArICogb2YgZmVuY2VzLCBidXQgd2UgYWxzbyBu ZWVkIHRvIGtlZXAgdGhlIGRlcGVuZGVuY3kgdHJlZSBmb3IgdGhlIGxpZmV0aW1lCj4gKyAqIG9m IHRoZSByZXF1ZXN0IChiZXlvbmQgdGhlIGxpZmUgb2YgYW4gaW5kaXZpZHVhbCBmZW5jZSkuIFdl IHVzZSB0aGUgdHJlZQo+ICsgKiBhdCB2YXJpb3VzIHBvaW50cyB0byByZW9yZGVyIHRoZSByZXF1 ZXN0cyB3aGlsc3Qga2VlcGluZyB0aGUgcmVxdWVzdHMKPiArICogaW4gb3JkZXIgd2l0aCByZXNw ZWN0IHRvIHRoZWlyIHZhcmlvdXMgZGVwZW5kZW5jaWVzLgo+ICsgKgo+ICsgKiBUaGVyZSBpcyBu byBhY3RpdmUgY29tcG9uZW50IHRvIHRoZSAic2NoZWR1bGVyIi4gQXMgd2Uga25vdyB0aGUgZGVw ZW5kZW5jeQo+ICsgKiBEQUcgb2YgZWFjaCByZXF1ZXN0LCB3ZSBhcmUgYWJsZSB0byBpbnNlcnQg aXQgaW50byBhIHNvcnRlZCBxdWV1ZSB3aGVuIGl0Cj4gKyAqIGlzIHJlYWR5LCBhbmQgYXJlIGFi bGUgdG8gcmVvcmRlciBpdHMgcG9ydGlvbiBvZiB0aGUgZ3JhcGggdG8gYWNjb21tb2RhdGUKPiAr ICogZHluYW1pYyBwcmlvcml0eSBjaGFuZ2VzLgo+ICsgKi8KPiArc3RydWN0IGk5MTVfc2NoZWRf bm9kZSB7Cj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIHNpZ25hbGVyc19saXN0OyAvKiB0aG9zZSBiZWZv cmUgdXMsIHdlIGRlcGVuZCB1cG9uICovCj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIHdhaXRlcnNfbGlz dDsgLyogdGhvc2UgYWZ0ZXIgdXMsIHRoZXkgZGVwZW5kIHVwb24gdXMgKi8KPiArCXN0cnVjdCBs aXN0X2hlYWQgbGluazsKPiArCXN0cnVjdCBpOTE1X3NjaGVkX2F0dHIgYXR0cjsKPiArCXVuc2ln bmVkIGludCBmbGFnczsKPiArI2RlZmluZSBJOTE1X1NDSEVEX0hBU19TRU1BUEhPUkUJQklUKDAp Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5IHsKPiArCXN0cnVjdCBpOTE1X3Nj aGVkX25vZGUgKnNpZ25hbGVyOwo+ICsJc3RydWN0IGxpc3RfaGVhZCBzaWduYWxfbGluazsKPiAr CXN0cnVjdCBsaXN0X2hlYWQgd2FpdF9saW5rOwo+ICsJc3RydWN0IGxpc3RfaGVhZCBkZnNfbGlu azsKPiArCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gKyNkZWZpbmUgSTkxNV9ERVBFTkRFTkNZX0FM TE9DIEJJVCgwKQo+ICt9Owo+ICsKPiArc3RydWN0IGk5MTVfcHJpb2xpc3Qgewo+ICsJc3RydWN0 IGxpc3RfaGVhZCByZXF1ZXN0c1tJOTE1X1BSSU9SSVRZX0NPVU5UXTsKPiArCXN0cnVjdCByYl9u b2RlIG5vZGU7Cj4gKwl1bnNpZ25lZCBsb25nIHVzZWQ7Cj4gKwlpbnQgcHJpb3JpdHk7Cj4gK307 Cj4gKwo+ICsjZW5kaWYgLyogX0k5MTVfU0NIRURVTEVSX1RZUEVTX0hfICovCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfdGltZWxpbmUuaAo+IGluZGV4IDkxMjZjODIwNjQ5MC4uNDU0YWE3MmFlZTE4 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaAo+IEBAIC0yNyw2ICsyNyw3 IEBACj4gICAKPiAgICNpbmNsdWRlIDxsaW51eC9sb2NrZGVwLmg+Cj4gICAKPiArI2luY2x1ZGUg Imk5MTVfYWN0aXZlLmgiCj4gICAjaW5jbHVkZSAiaTkxNV9zeW5jbWFwLmgiCj4gICAjaW5jbHVk ZSAiaTkxNV90aW1lbGluZV90eXBlcy5oIgo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdGltZWxpbmVfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdGltZWxpbmVfdHlwZXMuaAo+IGluZGV4IDhmZjE0NmRjMDViYS4uZDQyMDUzNTQ0ZDdjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmVfdHlwZXMuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmVfdHlwZXMuaAo+IEBAIC05 LDkgKzksMTAgQEAKPiAgIAo+ICAgI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KPiAgICNpbmNsdWRl IDxsaW51eC9rcmVmLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgo+ICAgI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+Cj4gICAKPiAtI2luY2x1ZGUgImk5MTVfYWN0aXZlLmgiCj4gKyNpbmNs dWRlICJpOTE1X2FjdGl2ZV90eXBlcy5oIgo+ICAgCj4gICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZTsKPiAgIHN0cnVjdCBpOTE1X3ZtYTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGV2aWNlX2luZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rldmlj ZV9pbmZvLmgKPiBpbmRleCA2MjM0NTcwYTliMTcuLmQyMGMzM2ExMGMxMSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAo+IEBAIC0yNyw2ICsyNyw3IEBACj4g ICAKPiAgICNpbmNsdWRlIDx1YXBpL2RybS9pOTE1X2RybS5oPgo+ICAgCj4gKyNpbmNsdWRlICJp bnRlbF9lbmdpbmVfdHlwZXMuaCIKPiAgICNpbmNsdWRlICJpbnRlbF9kaXNwbGF5LmgiCj4gICAK PiAgIHN0cnVjdCBkcm1fcHJpbnRlcjsKPiBAQCAtMTQ5LDggKzE1MCw2IEBAIHN0cnVjdCBzc2V1 X2Rldl9pbmZvIHsKPiAgIAl1OCBldV9tYXNrW0dFTl9NQVhfU0xJQ0VTICogR0VOX01BWF9TVUJT TElDRVNdOwo+ICAgfTsKPiAgIAo+IC10eXBlZGVmIHU4IGludGVsX2VuZ2luZV9tYXNrX3Q7Cj4g LQo+ICAgc3RydWN0IGludGVsX2RldmljZV9pbmZvIHsKPiAgIAl1MTYgZ2VuX21hc2s7Cj4gICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX3R5cGVzLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMuaAo+IGluZGV4IGIwYWEx ZjBkNGU0Ny4uNzlhMTY2YjlhODFiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2VuZ2luZV90eXBlcy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX3R5cGVzLmgKPiBAQCAtMTIsOCArMTIsMTAgQEAKPiAgICNpbmNsdWRlIDxsaW51eC9s aXN0Lmg+Cj4gICAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KPiAgIAo+ICsjaW5jbHVkZSAiaTkx NV9nZW0uaCIKPiArI2luY2x1ZGUgImk5MTVfc2NoZWR1bGVyX3R5cGVzLmgiCj4gKyNpbmNsdWRl ICJpOTE1X3NlbGZ0ZXN0LmgiCj4gICAjaW5jbHVkZSAiaTkxNV90aW1lbGluZV90eXBlcy5oIgo+ IC0jaW5jbHVkZSAiaW50ZWxfZGV2aWNlX2luZm8uaCIKPiAgICNpbmNsdWRlICJpbnRlbF93b3Jr YXJvdW5kc190eXBlcy5oIgo+ICAgCj4gICAjaW5jbHVkZSAiaTkxNV9nZW1fYmF0Y2hfcG9vbC5o Igo+IEBAIC0yNCwxMSArMjYsMTYgQEAKPiAgIAo+ICAgI2RlZmluZSBJOTE1X0NNRF9IQVNIX09S REVSIDkKPiAgIAo+ICtzdHJ1Y3QgZG1hX2ZlbmNlOwo+ICAgc3RydWN0IGRybV9pOTE1X3JlZ190 YWJsZTsKPiAgIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0Owo+ICAgc3RydWN0IGk5MTVfcmVxdWVz dDsKPiAgIHN0cnVjdCBpOTE1X3NjaGVkX2F0dHI7Cj4gICAKPiArdHlwZWRlZiB1OCBpbnRlbF9l bmdpbmVfbWFza190Owo+ICsjZGVmaW5lIEFMTF9FTkdJTkVTCSh+MHVsKQo+ICsjZGVmaW5lIElO SVRfQUxMX0VOR0lORVMoeCkgKHgpID0gKGludGVsX2VuZ2luZV9tYXNrX3QpKEFMTF9FTkdJTkVT KQo+ICsKPiAgIHN0cnVjdCBpbnRlbF9od19zdGF0dXNfcGFnZSB7Cj4gICAJc3RydWN0IGk5MTVf dm1hICp2bWE7Cj4gICAJdTMyICphZGRyOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwo+IGluZGV4IDA3NTlhOTBjMGQ1YS4uZjE4Yzc4 ZWJmZjA3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X2dlbV9jb250ZXh0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9nZW1fY29udGV4dC5jCj4gQEAgLTE0NjYsNyArMTQ2Niw3IEBAIHN0YXRpYyBpbnQgaWd0X3Zt X2lzb2xhdGlvbih2b2lkICphcmcpCj4gICB9Cj4gICAKPiAgIHN0YXRpYyBfX21heWJlX3VudXNl ZCBjb25zdCBjaGFyICoKPiAtX19lbmdpbmVfbmFtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwgdW5zaWduZWQgaW50IGVuZ2luZXMpCj4gK19fZW5naW5lX25hbWUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsIHVuc2lnbmVkIGxvbmcgZW5naW5lcykKPiAgIHsKPiAgIAlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gICAJdW5zaWduZWQgaW50IHRtcDsKPiBAQCAt MTQ4Miw3ICsxNDgyLDcgQEAgX19lbmdpbmVfbmFtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwgdW5zaWduZWQgaW50IGVuZ2luZXMpCj4gICAKPiAgIHN0YXRpYyBpbnQgX19pZ3Rfc3dp dGNoX3RvX2tlcm5lbF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+ICAg CQkJCQkgIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gLQkJCQkJICB1bnNpZ25lZCBp bnQgZW5naW5lcykKPiArCQkJCQkgIHVuc2lnbmVkIGxvbmcgZW5naW5lcykKPiAgIHsKPiAgIAlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gICAJdW5zaWduZWQgaW50IHRtcDsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVj ay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVjay5jCj4g aW5kZXggNzZiNGZhMTUwZjJlLi4wNWE3YjliOWExZGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVjay5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVjay5jCj4gQEAgLTExMjQsNyArMTEy NCw3IEBAIHN0YXRpYyBpbnQgaWd0X3Jlc2V0X2VuZ2luZXModm9pZCAqYXJnKQo+ICAgCXJldHVy biAwOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB1MzIgZmFrZV9oYW5nY2hlY2soc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsIHUzMiBtYXNrKQo+ICtzdGF0aWMgdTMyIGZha2VfaGFuZ2NoZWNr KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1bnNpZ25lZCBsb25nIG1hc2spCj4gICB7 Cj4gICAJdTMyIGNvdW50ID0gaTkxNV9yZXNldF9jb3VudCgmaTkxNS0+Z3B1X2Vycm9yKTsKPiAg IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS90ZXN0X2k5MTVfc2NoZWR1bGVy X3R5cGVzX3N0YW5kYWxvbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Rlc3RfaTkxNV9zY2hl ZHVsZXJfdHlwZXNfc3RhbmRhbG9uZS5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwMDAwMDAuLjhhZmEyYzM3MTlmYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS90ZXN0X2k5MTVfc2NoZWR1bGVyX3R5cGVzX3N0YW5kYWxvbmUuYwo+IEBA IC0wLDAgKzEsNyBAQAo+ICsvKgo+ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCj4g KyAqCj4gKyAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCj4gKyAqLwo+ICsK PiArI2luY2x1ZGUgImk5MTVfc2NoZWR1bGVyX3R5cGVzLmgiCj4gCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==