From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 29/88] drm/amdgpu: add amdgpu uapi header (v4) Date: Mon, 8 Jun 2015 22:51:32 -0400 Message-ID: References: <1432696827-3752-1-git-send-email-alexander.deucher@amd.com> <1432696827-3752-2-git-send-email-alexander.deucher@amd.com> <20150605185732.GA14653@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-f180.google.com (mail-qk0-f180.google.com [209.85.220.180]) by gabe.freedesktop.org (Postfix) with ESMTP id D5C476E422 for ; Mon, 8 Jun 2015 19:51:32 -0700 (PDT) Received: by qkhq76 with SMTP id q76so2896134qkh.2 for ; Mon, 08 Jun 2015 19:51:32 -0700 (PDT) In-Reply-To: <20150605185732.GA14653@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jerome Glisse Cc: Alex Deucher , Maling list - DRI developers List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKdW4gNSwgMjAxNSBhdCAyOjU3IFBNLCBKZXJvbWUgR2xpc3NlIDxqLmdsaXNzZUBn bWFpbC5jb20+IHdyb3RlOgo+IE9uIFR1ZSwgTWF5IDI2LCAyMDE1IGF0IDExOjE5OjMxUE0gLTA0 MDAsIEFsZXggRGV1Y2hlciB3cm90ZToKPj4gVGhpcyBoZWFkZXIgZGVmaW5lcyB0aGUgaW9jdGwg aW50ZXJmYWNlIHRvIHRoZSBkcml2ZXIuCj4+Cj4+IHYyOiByZW1vdmUgc3RhbGUgdGlsaW5nIGRl ZmluZXMKPj4gdjM6IGFkZCBhcHByb3ByaWF0ZSBwYWRkaW5nCj4+IHY0OiByZW1vdmUgZXhlY3V0 YWJsZSBiaXRzIG9uIGhlYWRlcgo+Pgo+PiBBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hy aXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+PiBBY2tlZC1ieTogSmFtbXkgWmhvdSA8SmFtbXkuWmhv dUBhbWQuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVj aGVyQGFtZC5jb20+Cj4+IC0tLQo+PiAgaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggfCA1 OTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAxIGZpbGUg Y2hhbmdlZCwgNTkwIGluc2VydGlvbnMoKykKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L3VhcGkvZHJtL2FtZGdwdV9kcm0uaAo+Pgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2Ry bS9hbWRncHVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwLi45ZTc3MWZiCj4+IC0tLSAvZGV2L251bGwK Pj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPj4gQEAgLTAsMCArMSw1OTAg QEAKPj4gKy8qIGFtZGdwdV9kcm0uaCAtLSBQdWJsaWMgaGVhZGVyIGZvciB0aGUgYW1kZ3B1IGRy aXZlciAtKi0gbGludXgtYyAtKi0KPj4gKyAqCj4+ICsgKiBDb3B5cmlnaHQgMjAwMCBQcmVjaXNp b24gSW5zaWdodCwgSW5jLiwgQ2VkYXIgUGFyaywgVGV4YXMuCj4+ICsgKiBDb3B5cmlnaHQgMjAw MCBWQSBMaW51eCBTeXN0ZW1zLCBJbmMuLCBGcmVtb250LCBDYWxpZm9ybmlhLgo+PiArICogQ29w eXJpZ2h0IDIwMDIgVHVuZ3N0ZW4gR3JhcGhpY3MsIEluYy4sIENlZGFyIFBhcmssIFRleGFzLgo+ PiArICogQ29weXJpZ2h0IDIwMTQgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgo+PiArICoK Pj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh bnkgcGVyc29uIG9idGFpbmluZyBhCj4+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+PiArICogdG8g ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv dXQgbGltaXRhdGlvbgo+PiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy Z2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4+ICsgKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK Pj4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnM6Cj4+ICsgKgo+PiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KPj4gKyAq IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgo+PiAr ICoKPj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB TlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPj4gKyAq IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJ TiBOTyBFVkVOVCBTSEFMTAo+PiArICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9S KFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCj4+ICsgKiBPVEhFUiBMSUFC SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lT RSwKPj4gKyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg U09GVFdBUkUgT1IgVEhFIFVTRSBPUgo+PiArICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRX QVJFLgo+PiArICoKPj4gKyAqIEF1dGhvcnM6Cj4+ICsgKiAgICBLZXZpbiBFLiBNYXJ0aW4gPG1h cnRpbkB2YWxpbnV4LmNvbT4KPj4gKyAqICAgIEdhcmV0aCBIdWdoZXMgPGdhcmV0aEB2YWxpbnV4 LmNvbT4KPj4gKyAqICAgIEtlaXRoIFdoaXR3ZWxsIDxrZWl0aEB0dW5nc3RlbmdyYXBoaWNzLmNv bT4KPj4gKyAqLwo+PiArCj4+ICsjaWZuZGVmIF9fQU1ER1BVX0RSTV9IX18KPj4gKyNkZWZpbmUg X19BTURHUFVfRFJNX0hfXwo+PiArCj4+ICsjaW5jbHVkZSA8ZHJtL2RybS5oPgo+PiArCj4+ICsj ZGVmaW5lIERSTV9BTURHUFVfR0VNX0NSRUFURSAgICAgICAgICAgICAgICAweDAwCj4+ICsjZGVm aW5lIERSTV9BTURHUFVfR0VNX01NQVAgICAgICAgICAgMHgwMQo+PiArI2RlZmluZSBEUk1fQU1E R1BVX0NUWCAgICAgICAgICAgICAgICAgICAgICAgMHgwMgo+PiArI2RlZmluZSBEUk1fQU1ER1BV X0JPX0xJU1QgICAgICAgICAgIDB4MDMKPj4gKyNkZWZpbmUgRFJNX0FNREdQVV9DUyAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDQKPj4gKyNkZWZpbmUgRFJNX0FNREdQVV9JTkZPICAgICAgICAg ICAgICAgICAgICAgIDB4MDUKPj4gKyNkZWZpbmUgRFJNX0FNREdQVV9HRU1fTUVUQURBVEEgICAg ICAgICAgICAgIDB4MDYKPj4gKyNkZWZpbmUgRFJNX0FNREdQVV9HRU1fV0FJVF9JRExFICAgICAw eDA3Cj4+ICsjZGVmaW5lIERSTV9BTURHUFVfR0VNX1ZBICAgICAgICAgICAgMHgwOAo+PiArI2Rl ZmluZSBEUk1fQU1ER1BVX1dBSVRfQ1MgICAgICAgICAgIDB4MDkKPj4gKyNkZWZpbmUgRFJNX0FN REdQVV9HRU1fT1AgICAgICAgICAgICAweDEwCj4+ICsjZGVmaW5lIERSTV9BTURHUFVfR0VNX1VT RVJQVFIgICAgICAgICAgICAgICAweDExCj4+ICsKPj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQ VV9HRU1fQ1JFQVRFICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FNREdQVV9HRU1f Q1JFQVRFLCB1bmlvbiBkcm1fYW1kZ3B1X2dlbV9jcmVhdGUpCj4+ICsjZGVmaW5lIERSTV9JT0NU TF9BTURHUFVfR0VNX01NQVAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURH UFVfR0VNX01NQVAsIHVuaW9uIGRybV9hbWRncHVfZ2VtX21tYXApCj4+ICsjZGVmaW5lIERSTV9J T0NUTF9BTURHUFVfQ1RYICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9B TURHUFVfQ1RYLCB1bmlvbiBkcm1fYW1kZ3B1X2N0eCkKPj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0FN REdQVV9CT19MSVNUICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FNREdQVV9C T19MSVNULCB1bmlvbiBkcm1fYW1kZ3B1X2JvX2xpc3QpCj4+ICsjZGVmaW5lIERSTV9JT0NUTF9B TURHUFVfQ1MgICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVf Q1MsIHVuaW9uIGRybV9hbWRncHVfY3MpCj4+ICsjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfSU5G TyAgICAgICAgICAgICAgICBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fQU1ER1BVX0lO Rk8sIHN0cnVjdCBkcm1fYW1kZ3B1X2luZm8pCj4+ICsjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVf R0VNX01FVEFEQVRBICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FNREdQ VV9HRU1fTUVUQURBVEEsIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9tZXRhZGF0YSkKPj4gKyNkZWZp bmUgRFJNX0lPQ1RMX0FNREdQVV9HRU1fV0FJVF9JRExFICAgICAgIERSTV9JT1dSKERSTV9DT01N QU5EX0JBU0UgKyBEUk1fQU1ER1BVX0dFTV9XQUlUX0lETEUsIHVuaW9uIGRybV9hbWRncHVfZ2Vt X3dhaXRfaWRsZSkKPj4gKyNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9HRU1fVkEgICAgICAgICAg ICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fQU1ER1BVX0dFTV9WQSwgdW5pb24g ZHJtX2FtZGdwdV9nZW1fdmEpCj4+ICsjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfV0FJVF9DUyAg ICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfV0FJVF9DUywgdW5pb24g ZHJtX2FtZGdwdV93YWl0X2NzKQo+PiArI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0dFTV9PUCAg ICAgICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfR0VNX09Q LCBzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fb3ApCj4+ICsjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVf R0VNX1VTRVJQVFIgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfR0VNX1VT RVJQVFIsIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV91c2VycHRyKQo+PiArCj4+ICsjZGVmaW5lIEFN REdQVV9HRU1fRE9NQUlOX0NQVSAgICAgICAgICAgICAgICAweDEKPj4gKyNkZWZpbmUgQU1ER1BV X0dFTV9ET01BSU5fR1RUICAgICAgICAgICAgICAgIDB4Mgo+PiArI2RlZmluZSBBTURHUFVfR0VN X0RPTUFJTl9WUkFNICAgICAgICAgICAgICAgMHg0Cj4+ICsjZGVmaW5lIEFNREdQVV9HRU1fRE9N QUlOX0dEUyAgICAgICAgICAgICAgICAweDgKPj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5f R1dTICAgICAgICAgICAgICAgIDB4MTAKPj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fT0Eg ICAgICAgICAweDIwCj4KPiBDYW4gd2UgZ2V0IGEgZGVzY3JpcHRpb24gb24gdGhpcyBuZXcgZG9t YWlucyAoR0RTLCBHV1MsIE9BKSA/CgpHRFMsIEdXUywgYW5kIE9BIGFyZSBvbiBjaGlwIHNoYWRl ciByZXNvdXJjZXMgdGhhdCBjYW4gYmUgYWxsb2NhdGVkCnNpbWlsYXJseSB0byB2cmFtIG9yIGdh cnQuICBHRFMgaXMgdGhlIGdsb2JhbCBkYXRhIHN0b3JlIG9uIHRoZSBzaGFkZXIKYmxvY2suICBJ dCdzIGJhc2ljYWxseSBnbG9iYWwgbWVtb3J5IHRoYXQgY2FuIGJlIHVzZWQgYnkgd2F2ZWZyb250 cyBvZgphIGtlcm5lbCBvbiBhbGwgY29tcHV0ZSB1bml0cy4gIEdXUyBpcyBhIGdsb2JhbCB3YXZl IHN5bmMgcmVzb3VyY2UKKHNvcnQgb2YgYSBzaGFkZXIgc2VtYXBob3JlKSBhbmQgT0EgaXMgYSBv cmRlcmVkIGFsbG9jYXRpb24gcmVzb3VyY2UKKGJhc2ljYWxseSBhIHNwZWNpYWwgY291bnRlciBm b3IgaGFuZGxpbmcgd2F2ZSBvcmRlcmluZykuICBTZWUgdGhlIElTQQpkb2N1bWVudHMgZm9yIGEg bW9yZSBleHRlbnNpdmUgZGVzY3JpcHRpb24uCgpPbiBvbGRlciBhc2ljcywgdGhlc2UgcmVzb3Vy Y2VzIHdlcmUgc3RhdGljYWxseSBwYXJ0aXRpb25lZCBwZXIgcmluZwpieSB0aGUgQ1AuICBPbiBu ZXdlciBhc2ljcywgdGhleSBhcmUgbWFwcGVkIGludG8gdGhlIGNsaWVudHMgdmlydHVhbAphZGRy ZXNzIHNwYWNlLiAgV2UgZGVjaWRlZCB0byB1c2UgdHRtIHRvIG1hbmFnZSB0aGVtIGxpa2Ugb3Ro ZXIgR1BVCnJlc291cmNlIHBvb2xzIHNpbmNlIHRoZXkgYXJlIGJhc2ljYWxseSBhbm90aGVyIHJl c291cmNlIHR5cGUuCgoKPgo+PiArCj4+ICsjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlOX01BU0sg ICAgICAgICAgICAgICAweDNGCj4+ICsKPj4gKy8qIEZsYWcgdGhhdCBDUFUgYWNjZXNzIHdpbGwg YmUgcmVxdWlyZWQgZm9yIHRoZSBjYXNlIG9mIFZSQU0gZG9tYWluICovCj4+ICsjZGVmaW5lIEFN REdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQgICAgICAgICgxIDw8IDApCj4+ICsv KiBGbGFnIHRoYXQgQ1BVIGFjY2VzcyB3aWxsIG5vdCB3b3JrLCB0aGlzIFZSQU0gZG9tYWluIGlz IGludmlzaWJsZSAqLwo+PiArI2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9OT19DUFVfQUNDRVNT ICAgICAgICAgICAgICAoMSA8PCAxKQo+PiArLyogRmxhZyB0aGF0IHVuLWNhY2hlZCBhdHRyaWJ1 dGVzIHNob3VsZCBiZSB1c2VkIGZvciBHVFQgKi8KPj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9DUkVB VEVfQ1BVX0dUVF9VQyAgICAgICAgICgxIDw8IDIpCj4+ICsvKiBGbGFnIHRoYXQgVVNXQyBhdHRy aWJ1dGVzIHNob3VsZCBiZSB1c2VkIGZvciBHVFQgKi8KPj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9D UkVBVEVfQ1BVX0dUVF9XQyAgICAgICAgICgxIDw8IDMpCj4+ICsKPj4gKy8qIEZsYWcgbWFzayBm b3IgR1RUIGRvbWFpbl9mbGFncyAqLwo+PiArI2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9DUFVf R1RUX01BU0sgXAo+PiArICAgICAoQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9XQyB8IFwKPj4g KyAgICAgIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9HVFRfVUMgfCBcCj4+ICsgICAgICBBTURHUFVf R0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwgXAo+PiArICAgICAgQU1ER1BVX0dFTV9D UkVBVEVfTk9fQ1BVX0FDQ0VTUykKPj4gKwo+PiArc3RydWN0IGRybV9hbWRncHVfZ2VtX2NyZWF0 ZV9pbiAgewo+PiArICAgICAvKiogdGhlIHJlcXVlc3RlZCBtZW1vcnkgc2l6ZSAqLwo+PiArICAg ICB1aW50NjRfdCBib19zaXplOwo+PiArICAgICAvKiogcGh5c2ljYWwgc3RhcnRfYWRkciBhbGln bm1lbnQgaW4gYnl0ZXMgZm9yIHNvbWUgSFcgcmVxdWlyZW1lbnRzICovCj4+ICsgICAgIHVpbnQ2 NF90IGFsaWdubWVudDsKPj4gKyAgICAgLyoqIHRoZSByZXF1ZXN0ZWQgbWVtb3J5IGRvbWFpbnMg Ki8KPj4gKyAgICAgdWludDY0X3QgZG9tYWluczsKPj4gKyAgICAgLyoqIGFsbG9jYXRpb24gZmxh Z3MgKi8KPj4gKyAgICAgdWludDY0X3QgZG9tYWluX2ZsYWdzOwo+PiArfTsKPj4gKwo+PiArc3Ry dWN0IGRybV9hbWRncHVfZ2VtX2NyZWF0ZV9vdXQgIHsKPj4gKyAgICAgLyoqIHJldHVybmVkIEdF TSBvYmplY3QgaGFuZGxlICovCj4+ICsgICAgIHVpbnQzMl90IGhhbmRsZTsKPj4gKyAgICAgdWlu dDMyX3QgX3BhZDsKPj4gK307Cj4+ICsKPj4gK3VuaW9uIGRybV9hbWRncHVfZ2VtX2NyZWF0ZSB7 Cj4+ICsgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9jcmVhdGVfaW4gICAgICAgICBpbjsKPj4g KyAgICAgc3RydWN0IGRybV9hbWRncHVfZ2VtX2NyZWF0ZV9vdXQgICAgICAgIG91dDsKPj4gK307 Cj4+ICsKPj4gKy8qKiBPcGNvZGUgdG8gY3JlYXRlIG5ldyByZXNpZGVuY3kgbGlzdC4gICovCj4+ ICsjZGVmaW5lIEFNREdQVV9CT19MSVNUX09QX0NSRUFURSAgICAgMAo+PiArLyoqIE9wY29kZSB0 byBkZXN0cm95IHByZXZpb3VzbHkgY3JlYXRlZCByZXNpZGVuY3kgbGlzdCAqLwo+PiArI2RlZmlu ZSBBTURHUFVfQk9fTElTVF9PUF9ERVNUUk9ZICAgIDEKPj4gKy8qKiBPcGNvZGUgdG8gdXBkYXRl IHJlc291cmNlIGluZm9ybWF0aW9uIGluIHRoZSBsaXN0ICovCj4+ICsjZGVmaW5lIEFNREdQVV9C T19MSVNUX09QX1VQREFURSAgICAgMgo+PiArCj4+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9ib19saXN0 X2luIHsKPj4gKyAgICAgLyoqIFR5cGUgb2Ygb3BlcmF0aW9uICovCj4+ICsgICAgIHVpbnQzMl90 IG9wZXJhdGlvbjsKPj4gKyAgICAgLyoqIEhhbmRsZSBvZiBsaXN0IG9yIDAgaWYgd2Ugd2FudCB0 byBjcmVhdGUgb25lICovCj4+ICsgICAgIHVpbnQzMl90IGxpc3RfaGFuZGxlOwo+PiArICAgICAv KiogTnVtYmVyIG9mIEJPcyBpbiBsaXN0ICAqLwo+PiArICAgICB1aW50MzJfdCBib19udW1iZXI7 Cj4+ICsgICAgIC8qKiBTaXplIG9mIGVhY2ggZWxlbWVudCBkZXNjcmliaW5nIEJPICovCj4+ICsg ICAgIHVpbnQzMl90IGJvX2luZm9fc2l6ZTsKPj4gKyAgICAgLyoqIFBvaW50ZXIgdG8gYXJyYXkg ZGVzY3JpYmluZyBCT3MgKi8KPj4gKyAgICAgdWludDY0X3QgYm9faW5mb19wdHI7Cj4+ICt9Owo+ PiArCj4+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9ib19saXN0X2VudHJ5IHsKPj4gKyAgICAgLyoqIEhh bmRsZSBvZiBCTyAqLwo+PiArICAgICB1aW50MzJfdCBib19oYW5kbGU7Cj4+ICsgICAgIC8qKiBO ZXcgKGlmIHNwZWNpZmllZCkgQk8gcHJpb3JpdHkgdG8gYmUgdXNlZCBkdXJpbmcgbWlncmF0aW9u ICovCj4+ICsgICAgIHVpbnQzMl90IGJvX3ByaW9yaXR5Owo+PiArfTsKPj4gKwo+PiArc3RydWN0 IGRybV9hbWRncHVfYm9fbGlzdF9vdXQgewo+PiArICAgICAvKiogSGFuZGxlIG9mIHJlc291cmNl IGxpc3QgICovCj4+ICsgICAgIHVpbnQzMl90IGxpc3RfaGFuZGxlOwo+PiArICAgICB1aW50MzJf dCBfcGFkOwo+PiArfTsKPj4gKwo+PiArdW5pb24gZHJtX2FtZGdwdV9ib19saXN0IHsKPj4gKyAg ICAgc3RydWN0IGRybV9hbWRncHVfYm9fbGlzdF9pbiBpbjsKPj4gKyAgICAgc3RydWN0IGRybV9h bWRncHVfYm9fbGlzdF9vdXQgb3V0Owo+PiArfTsKPj4gKwo+PiArLyogY29udGV4dCByZWxhdGVk ICovCj4+ICsjZGVmaW5lIEFNREdQVV9DVFhfT1BfQUxMT0NfQ1RYICAgICAgMQo+PiArI2RlZmlu ZSBBTURHUFVfQ1RYX09QX0ZSRUVfQ1RYICAgICAgIDIKPj4gKyNkZWZpbmUgQU1ER1BVX0NUWF9P UF9RVUVSWV9TVEFURSAgICAzCj4+ICsKPj4gKyNkZWZpbmUgQU1ER1BVX0NUWF9PUF9TVEFURV9S VU5OSU5HICAxCj4KPiBTbyB0aGlzIGRvZXMgbm90IHNlZW1zIHRvIGJlIHVzZSB5ZXQgPyBBbSBp IGNvcnJlY3QgPyBUaGVuIGJldHRlcgo+IHRvIHJlbW92ZSBpdCBub3cgYW5kIGludHJvZHVjZSBp dCBvbmNlIGl0IGlzIHVzZS4KCkkgdGhpbmsgTWFyZWsncyByb2J1c3RuZXNzIHN0dWZmIGZvciBF R0wgMS41IG1heSB1c2UgaXQsIGJ1dCBJJ20gbm90CnN1cmUuICBJZiBub3QsIHdlIGNhbiBkcm9w IGl0IGZvciBub3cuCgo+Cj4+ICsKPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2N0eF9pbiB7Cj4+ICsg ICAgIHVpbnQzMl90ICAgICAgICBvcDsKPj4gKyAgICAgdWludDMyX3QgICAgICAgIGZsYWdzOwo+ PiArICAgICB1aW50MzJfdCAgICAgICAgY3R4X2lkOwo+PiArICAgICB1aW50MzJfdCAgICAgICAg X3BhZDsKPj4gK307Cj4+ICsKPj4gK3VuaW9uIGRybV9hbWRncHVfY3R4X291dCB7Cj4+ICsgICAg ICAgICAgICAgc3RydWN0IHsKPj4gKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAg ICBjdHhfaWQ7Cj4+ICsgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgX3BhZDsK Pj4gKyAgICAgICAgICAgICB9IGFsbG9jOwo+PiArCj4+ICsgICAgICAgICAgICAgc3RydWN0IHsK Pj4gKyAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICAgICAgICBmbGFnczsKPj4gKyAgICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90ICAgICAgICBoYW5nczsKPj4gKyAgICAgICAgICAgICB9 IHN0YXRlOwo+PiArfTsKPgo+IFRoZXJlIGlzIG5vIGRlZmluZSBmb3IgdGhlIHN0YXRlLmZsYWdz IGkgd291bGQgcmF0aGVyIGxpa2Ugc2VlCj4gZWFjaCB2YWx1ZSB0aGF0IGNhbiBiZSByZXR1cm5l ZCB3aXRoIGEgZGVmaW5lLgo+CgpXZSdsbCBhZGQgdGhvc2UuCgo+PiArCj4+ICt1bmlvbiBkcm1f YW1kZ3B1X2N0eCB7Cj4+ICsgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2N0eF9pbiBpbjsKPj4gKyAg ICAgdW5pb24gZHJtX2FtZGdwdV9jdHhfb3V0IG91dDsKPj4gK307Cj4+ICsKPj4gKy8qCj4+ICsg KiBUaGlzIGlzIG5vdCBhIHJlbGlhYmxlIEFQSSBhbmQgeW91IHNob3VsZCBleHBlY3QgaXQgdG8g ZmFpbCBmb3IgYW55Cj4+ICsgKiBudW1iZXIgb2YgcmVhc29ucyBhbmQgaGF2ZSBmYWxsYmFjayBw YXRoIHRoYXQgZG8gbm90IHVzZSB1c2VycHRyIHRvCj4+ICsgKiBwZXJmb3JtIGFueSBvcGVyYXRp b24uCj4+ICsgKi8KPj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9VU0VSUFRSX1JFQURPTkxZICAoMSA8 PCAwKQo+PiArI2RlZmluZSBBTURHUFVfR0VNX1VTRVJQVFJfQU5PTk9OTFkgICgxIDw8IDEpCj4+ ICsjZGVmaW5lIEFNREdQVV9HRU1fVVNFUlBUUl9WQUxJREFURSAgKDEgPDwgMikKPj4gKyNkZWZp bmUgQU1ER1BVX0dFTV9VU0VSUFRSX1JFR0lTVEVSICAoMSA8PCAzKQo+PiArCj4+ICtzdHJ1Y3Qg ZHJtX2FtZGdwdV9nZW1fdXNlcnB0ciB7Cj4+ICsgICAgIHVpbnQ2NF90ICAgICAgICAgICAgICAg IGFkZHI7Cj4+ICsgICAgIHVpbnQ2NF90ICAgICAgICAgICAgICAgIHNpemU7Cj4+ICsgICAgIHVp bnQzMl90ICAgICAgICAgICAgICAgIGZsYWdzOwo+PiArICAgICB1aW50MzJfdCAgICAgICAgICAg ICAgICBoYW5kbGU7Cj4+ICt9Owo+PiArCj4+ICsjZGVmaW5lIEFNREdQVV9USUxJTkdfTUFDUk8g ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQo+PiArI2RlZmluZSBBTURHUFVfVElMSU5HX01J Q1JPICAgICAgICAgICAgICAgICAgICAgICAgICAweDIKPj4gKyNkZWZpbmUgQU1ER1BVX1RJTElO R19TV0FQXzE2QklUICAgICAgICAgICAgICAgICAgICAgMHg0Cj4+ICsjZGVmaW5lIEFNREdQVV9U SUxJTkdfUjYwMF9OT19TQ0FOT1VUICAgICAgICAgICAgICAgICAgICAgICAgQU1ER1BVX1RJTElO R19TV0FQXzE2QklUCj4+ICsjZGVmaW5lIEFNREdQVV9USUxJTkdfU1dBUF8zMkJJVCAgICAgICAg ICAgICAgICAgICAgIDB4OAo+PiArLyogdGhpcyBvYmplY3QgcmVxdWlyZXMgYSBzdXJmYWNlIHdo ZW4gbWFwcGVkIC0gaS5lLiBmcm9udCBidWZmZXIgKi8KPj4gKyNkZWZpbmUgQU1ER1BVX1RJTElO R19TVVJGQUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCj4+ICsjZGVmaW5l IEFNREdQVV9USUxJTkdfTUlDUk9fU1FVQVJFICAgICAgICAgICAgICAgICAgIDB4MjAKPj4gKyNk ZWZpbmUgQU1ER1BVX1RJTElOR19FR19CQU5LV19TSElGVCAgICAgICAgICAgICAgICAgOAo+PiAr I2RlZmluZSBBTURHUFVfVElMSU5HX0VHX0JBTktXX01BU0sgICAgICAgICAgICAgICAgICAweGYK Pj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19CQU5LSF9TSElGVCAgICAgICAgICAgICAgICAg MTIKPj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19CQU5LSF9NQVNLICAgICAgICAgICAgICAg ICAgMHhmCj4+ICsjZGVmaW5lIEFNREdQVV9USUxJTkdfRUdfTUFDUk9fVElMRV9BU1BFQ1RfU0hJ RlQgICAgIDE2Cj4+ICsjZGVmaW5lIEFNREdQVV9USUxJTkdfRUdfTUFDUk9fVElMRV9BU1BFQ1Rf TUFTSyAgICAgIDB4Zgo+PiArI2RlZmluZSBBTURHUFVfVElMSU5HX0VHX1RJTEVfU1BMSVRfU0hJ RlQgICAgICAgICAgICAyNAo+PiArI2RlZmluZSBBTURHUFVfVElMSU5HX0VHX1RJTEVfU1BMSVRf TUFTSyAgICAgICAgICAgICAweGYKPj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19TVEVOQ0lM X1RJTEVfU1BMSVRfU0hJRlQgICAgMjgKPj4gKyNkZWZpbmUgQU1ER1BVX1RJTElOR19FR19TVEVO Q0lMX1RJTEVfU1BMSVRfTUFTSyAgICAgMHhmCj4+ICsKPj4gKyNkZWZpbmUgQU1ER1BVX0dFTV9N RVRBREFUQV9PUF9TRVRfTUVUQURBVEEgICAgICAgICAgICAgICAgICAxCj4+ICsjZGVmaW5lIEFN REdQVV9HRU1fTUVUQURBVEFfT1BfR0VUX01FVEFEQVRBICAgICAgICAgICAgICAgICAgMgo+PiAr Cj4+ICsvKiogVGhlIHNhbWUgc3RydWN0dXJlIGlzIHNoYXJlZCBmb3IgaW5wdXQvb3V0cHV0ICov Cj4+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fbWV0YWRhdGEgewo+PiArICAgICB1aW50MzJfdCAg ICAgICAgaGFuZGxlOyAgICAgICAgIC8qIEdFTSBPYmplY3QgaGFuZGxlICovCj4+ICsgICAgIHVp bnQzMl90ICAgICAgICBvcDsgICAgICAgICAgICAgLyoqIERvIHdlIHdhbnQgZ2V0IG9yIHNldCBt ZXRhZGF0YSAqLwo+PiArICAgICBzdHJ1Y3Qgewo+PiArICAgICAgICAgICAgIHVpbnQ2NF90ICAg ICAgICBmbGFnczsKPgo+IFNhbWUgaGVyZSBub3RoaW5nIGRlc2NyaWJlIGV4cGVjdGVkIHZhbHVl IGZvciBmbGFncwoKV2UnbGwgYWRkIHRob3NlLgoKPgo+PiArICAgICAgICAgICAgIHVpbnQ2NF90 ICAgICAgICB0aWxpbmdfaW5mbzsgLyogZmFtaWx5IHNwZWNpZmljIHRpbGluZyBpbmZvICovCj4+ ICsgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIGRhdGFfc2l6ZV9ieXRlczsKPj4gKyAgICAg ICAgICAgICB1aW50MzJfdCAgICAgICAgZGF0YVs2NF07Cj4+ICsgICAgIH0gZGF0YTsKPj4gK307 Cj4+ICsKPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV9tbWFwX2luIHsKPj4gKyAgICAgdWludDMy X3QgaGFuZGxlOyAgICAgICAgICAgICAgICAvKiogdGhlIEdFTSBvYmplY3QgaGFuZGxlICovCj4+ ICsgICAgIHVpbnQzMl90IF9wYWQ7Cj4+ICt9Owo+PiArCj4+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9n ZW1fbW1hcF9vdXQgewo+PiArICAgICB1aW50NjRfdCBhZGRyX3B0cjsgICAgICAvKiogbW1hcCBv ZmZzZXQgZnJvbSB0aGUgdm1hIG9mZnNldCBtYW5hZ2VyICovCj4+ICt9Owo+PiArCj4+ICt1bmlv biBkcm1fYW1kZ3B1X2dlbV9tbWFwIHsKPj4gKyAgICAgc3RydWN0IGRybV9hbWRncHVfZ2VtX21t YXBfaW4gICBpbjsKPj4gKyAgICAgc3RydWN0IGRybV9hbWRncHVfZ2VtX21tYXBfb3V0IG91dDsK Pj4gK307Cj4+ICsKPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV93YWl0X2lkbGVfaW4gewo+PiAr ICAgICB1aW50MzJfdCBoYW5kbGU7ICAgICAgICAvKiBHRU0gb2JqZWN0IGhhbmRsZSAqLwo+PiAr ICAgICB1aW50MzJfdCBmbGFnczsKPj4gKyAgICAgdWludDY0X3QgdGltZW91dDsgICAgICAgLyog VGltZW91dCB0byB3YWl0LiBJZiAwIHRoZW4gcmV0dXJuZWQgaW1tZWRpYXRlbHkgd2l0aCB0aGUg c3RhdHVzICovCj4+ICt9Owo+PiArCj4+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fd2FpdF9pZGxl X291dCB7Cj4+ICsgICAgIHVpbnQzMl90IHN0YXR1czsgICAgICAgIC8qICAgQk8gc3RhdHVzOiAg MCAtIEJPIGlzIGlkbGUsIDEgLSBCTyBpcyBidXN5ICovCj4+ICsgICAgIHVpbnQzMl90IGRvbWFp bjsgLyogIFJldHVybmVkIGN1cnJlbnQgbWVtb3J5IGRvbWFpbiAqLwo+PiArfTsKPj4gKwo+PiAr dW5pb24gZHJtX2FtZGdwdV9nZW1fd2FpdF9pZGxlIHsKPj4gKyAgICAgc3RydWN0IGRybV9hbWRn cHVfZ2VtX3dhaXRfaWRsZV9pbiAgaW47Cj4+ICsgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV93 YWl0X2lkbGVfb3V0IG91dDsKPj4gK307Cj4+ICsKPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X3dhaXRf Y3NfaW4gewo+PiArICAgICB1aW50NjRfdCBoYW5kbGU7Cj4+ICsgICAgIHVpbnQ2NF90IHRpbWVv dXQ7Cj4+ICsgICAgIHVpbnQzMl90IGlwX3R5cGU7Cj4+ICsgICAgIHVpbnQzMl90IGlwX2luc3Rh bmNlOwo+PiArICAgICB1aW50MzJfdCByaW5nOwo+PiArICAgICB1aW50MzJfdCBfcGFkOwo+PiAr fTsKPj4gKwo+PiArc3RydWN0IGRybV9hbWRncHVfd2FpdF9jc19vdXQgewo+PiArICAgICB1aW50 NjRfdCBzdGF0dXM7Cj4+ICt9Owo+Cj4gU2FtZSBoZXJlIG5vdGhpbmcgdG8gZGVmaW5lIHN0YXR1 cyAoMCBvciAxIGJ5IHJlYWRpbmcgdGhlIGNvZGUpCj4KCldlJ2xsIGFkZCB0aG9zZS4KCj4+ICsK Pj4gK3VuaW9uIGRybV9hbWRncHVfd2FpdF9jcyB7Cj4+ICsgICAgIHN0cnVjdCBkcm1fYW1kZ3B1 X3dhaXRfY3NfaW4gaW47Cj4+ICsgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X3dhaXRfY3Nfb3V0IG91 dDsKPj4gK307Cj4+ICsKPj4gKy8qIFNldHMgb3IgcmV0dXJucyBhIHZhbHVlIGFzc29jaWF0ZWQg d2l0aCBhIGJ1ZmZlci4gKi8KPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2dlbV9vcCB7Cj4+ICsgICAg IHVpbnQzMl90ICAgICAgICBoYW5kbGU7IC8qIGJ1ZmZlciAqLwo+PiArICAgICB1aW50MzJfdCAg ICAgICAgb3A7ICAgICAvKiBBTURHUFVfR0VNX09QXyogKi8KPj4gKyAgICAgdWludDY0X3QgICAg ICAgIHZhbHVlOyAgLyogaW5wdXQgb3IgcmV0dXJuIHZhbHVlICovCj4+ICt9Owo+PiArCj4+ICsj ZGVmaW5lIEFNREdQVV9HRU1fT1BfR0VUX0dFTV9DUkVBVEVfSU5GTyAgICAgICAgICAgIDAKPj4g KyNkZWZpbmUgQU1ER1BVX0dFTV9PUF9TRVRfSU5JVElBTF9ET01BSU4gICAgIDEKPj4gKwo+PiAr I2RlZmluZSBBTURHUFVfVkFfT1BfTUFQICAgICAgICAgICAgICAgICAgICAgMQo+PiArI2RlZmlu ZSBBTURHUFVfVkFfT1BfVU5NQVAgICAgICAgICAgICAgICAgICAgMgo+PiArCj4+ICsjZGVmaW5l IEFNREdQVV9WQV9SRVNVTFRfT0sgICAgICAgICAgICAgICAgICAwCj4+ICsjZGVmaW5lIEFNREdQ VV9WQV9SRVNVTFRfRVJST1IgICAgICAgICAgICAgICAgICAgICAgIDEKPj4gKyNkZWZpbmUgQU1E R1BVX1ZBX1JFU1VMVF9WQV9JTlZBTElEX0FMSUdOTUVOVCAgICAgICAgMgo+PiArCj4+ICsvKiBN YXBwaW5nIGZsYWdzICovCj4+ICsvKiByZWFkYWJsZSBtYXBwaW5nICovCj4+ICsjZGVmaW5lIEFN REdQVV9WTV9QQUdFX1JFQURBQkxFICAgICAgICAgICAgICAoMSA8PCAxKQo+PiArLyogd3JpdGFi bGUgbWFwcGluZyAqLwo+PiArI2RlZmluZSBBTURHUFVfVk1fUEFHRV9XUklURUFCTEUgICAgICgx IDw8IDIpCj4+ICsvKiBleGVjdXRhYmxlIG1hcHBpbmcsIG5ldyBmb3IgVkkgKi8KPj4gKyNkZWZp bmUgQU1ER1BVX1ZNX1BBR0VfRVhFQ1VUQUJMRSAgICAoMSA8PCAzKQo+PiArCj4+ICtzdHJ1Y3Qg ZHJtX2FtZGdwdV9nZW1fdmFfaW4gewo+PiArICAgICAvKiBHRU0gb2JqZWN0IGhhbmRsZSAqLwo+ PiArICAgICB1aW50MzJfdCBoYW5kbGU7Cj4+ICsgICAgIHVpbnQzMl90IF9wYWQ7Cj4+ICsgICAg IC8qIG1hcCBvciB1bm1hcCovCj4+ICsgICAgIHVpbnQzMl90IG9wZXJhdGlvbjsKPj4gKyAgICAg Lyogc3BlY2lmeSBtYXBwaW5nIGZsYWdzICovCj4+ICsgICAgIHVpbnQzMl90IGZsYWdzOwo+PiAr ICAgICAvKiB2YSBhZGRyZXNzIHRvIGFzc2lnbiAuIE11c3QgYmUgY29ycmVjdGx5IGFsaWduZWQu Ki8KPj4gKyAgICAgdWludDY0X3QgdmFfYWRkcmVzczsKPj4gKyAgICAgLyogU3BlY2lmeSBvZmZz ZXQgaW5zaWRlIG9mIEJPIHRvIGFzc2lnbi4gTXVzdCBiZSBjb3JyZWN0bHkgYWxpZ25lZC4qLwo+ PiArICAgICB1aW50NjRfdCBvZmZzZXRfaW5fYm87Cj4+ICsgICAgIC8qIFNwZWNpZnkgbWFwcGlu ZyBzaXplLiBJZiAwIGFuZCBvZmZzZXQgaXMgMCB0aGVuIG1hcCB0aGUgd2hvbGUgQk8uKi8KPj4g KyAgICAgLyogTXVzdCBiZSBjb3JyZWN0bHkgYWxpZ25lZC4gKi8KPj4gKyAgICAgdWludDY0X3Qg bWFwX3NpemU7Cj4+ICt9Owo+PiArCj4+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fdmFfb3V0IHsK Pj4gKyAgICAgdWludDMyX3QgcmVzdWx0Owo+PiArICAgICB1aW50MzJfdCBfcGFkOwo+PiArfTsK Pj4gKwo+PiArdW5pb24gZHJtX2FtZGdwdV9nZW1fdmEgewo+PiArICAgICBzdHJ1Y3QgZHJtX2Ft ZGdwdV9nZW1fdmFfaW4gIGluOwo+PiArICAgICBzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fdmFfb3V0 IG91dDsKPj4gK307Cj4+ICsKPj4gKyNkZWZpbmUgQU1ER1BVX0hXX0lQX0dGWCAgICAgICAgICAw Cj4+ICsjZGVmaW5lIEFNREdQVV9IV19JUF9DT01QVVRFICAgICAgMQo+PiArI2RlZmluZSBBTURH UFVfSFdfSVBfRE1BICAgICAgICAgIDIKPj4gKyNkZWZpbmUgQU1ER1BVX0hXX0lQX1VWRCAgICAg ICAgICAzCj4+ICsjZGVmaW5lIEFNREdQVV9IV19JUF9WQ0UgICAgICAgICAgNAo+PiArI2RlZmlu ZSBBTURHUFVfSFdfSVBfTlVNICAgICAgICAgIDUKPj4gKwo+PiArI2RlZmluZSBBTURHUFVfSFdf SVBfSU5TVEFOQ0VfTUFYX0NPVU5UIDEKPj4gKwo+PiArI2RlZmluZSBBTURHUFVfQ0hVTktfSURf SUIgICAgICAgICAgIDB4MDEKPj4gKyNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0ZFTkNFICAgICAg ICAgICAgICAgIDB4MDIKPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rIHsKPj4gKyAgICAg dWludDMyX3QgICAgICAgICAgICAgICAgY2h1bmtfaWQ7Cj4+ICsgICAgIHVpbnQzMl90ICAgICAg ICAgICAgICAgIGxlbmd0aF9kdzsKPj4gKyAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgY2h1 bmtfZGF0YTsKPj4gK307Cj4+ICsKPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2NzX2luIHsKPj4gKyAg ICAgLyoqIFJlbmRlcmluZyBjb250ZXh0IGlkICovCj4+ICsgICAgIHVpbnQzMl90ICAgICAgICAg ICAgICAgIGN0eF9pZDsKPj4gKyAgICAgLyoqICBIYW5kbGUgb2YgcmVzb3VyY2UgbGlzdCBhc3Nv Y2lhdGVkIHdpdGggQ1MgKi8KPj4gKyAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgYm9fbGlz dF9oYW5kbGU7Cj4+ICsgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgIG51bV9jaHVua3M7Cj4+ ICsgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgIF9wYWQ7Cj4+ICsgICAgIC8qIHRoaXMgcG9p bnRzIHRvIHVpbnQ2NF90ICogd2hpY2ggcG9pbnQgdG8gY3MgY2h1bmtzICovCj4+ICsgICAgIHVp bnQ2NF90ICAgICAgICAgICAgICAgIGNodW5rczsKPj4gK307Cj4+ICsKPj4gK3N0cnVjdCBkcm1f YW1kZ3B1X2NzX291dCB7Cj4+ICsgICAgIHVpbnQ2NF90IGhhbmRsZTsKPj4gK307Cj4+ICsKPj4g K3VuaW9uIGRybV9hbWRncHVfY3Mgewo+PiArICAgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2lu IGluOwo+PiArICAgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX291dCBvdXQ7Cj4+ICt9Owo+PiAr Cj4+ICsvKiBTcGVjaWZ5IGZsYWdzIHRvIGJlIHVzZWQgZm9yIElCICovCj4+ICsKPj4gKy8qIFRo aXMgSUIgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byBDRSAqLwo+PiArI2RlZmluZSBBTURHUFVfSUJf RkxBR19DRSAgICAoMTw8MCkKPj4gKwo+PiArLyogR0RTIGlzIHVzZWQgYnkgdGhpcyBJQiAqLwo+ PiArI2RlZmluZSBBTURHUFVfSUJfRkxBR19HRFMgICAoMTw8MSkKPj4gKwo+PiArc3RydWN0IGRy bV9hbWRncHVfY3NfY2h1bmtfaWIgewo+PiArICAgICAvKioKPj4gKyAgICAgICogSGFuZGxlIG9m IEdFTSBvYmplY3QgdG8gYmUgdXNlZCBhcyBJQiBvciAwIGlmIGl0IGlzIGFscmVhZHkgaW4KPj4g KyAgICAgICogcmVzaWRlbmN5IGxpc3QuCj4+ICsgICAgICAqLwo+PiArICAgICB1aW50MzJfdCBo YW5kbGU7Cj4+ICsgICAgIHVpbnQzMl90IGZsYWdzOyAgICAgICAgIC8qIElCIEZsYWdzICovCj4+ ICsgICAgIHVpbnQ2NF90IHZhX3N0YXJ0OyAgICAgIC8qIFZpcnR1YWwgYWRkcmVzcyB0byBiZWdp biBJQiBleGVjdXRpb24gKi8KPj4gKyAgICAgdWludDMyX3QgaWJfYnl0ZXM7ICAgICAgLyogU2l6 ZSBvZiBzdWJtaXNzaW9uICovCj4+ICsgICAgIHVpbnQzMl90IGlwX3R5cGU7ICAgICAgIC8qIEhX IElQIHRvIHN1Ym1pdCB0byAqLwo+PiArICAgICB1aW50MzJfdCBpcF9pbnN0YW5jZTsgICAvKiBI VyBJUCBpbmRleCBvZiB0aGUgc2FtZSB0eXBlIHRvIHN1Ym1pdCB0byAgKi8KPj4gKyAgICAgdWlu dDMyX3QgcmluZzsgICAgICAgICAgLyogUmluZyBpbmRleCB0byBzdWJtaXQgdG8gKi8KPj4gK307 Cj4+ICsKPj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2ZlbmNlIHsKPj4gKyAgICAgdWlu dDMyX3QgaGFuZGxlOwo+PiArICAgICB1aW50MzJfdCBvZmZzZXQ7Cj4+ICt9Owo+PiArCj4+ICtz dHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kYXRhIHsKPj4gKyAgICAgdW5pb24gewo+PiArICAg ICAgICAgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2liICAgICAgICAgICBpYl9kYXRh Owo+PiArICAgICAgICAgICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2ZlbmNlICAgICAg ICBmZW5jZV9kYXRhOwo+PiArICAgICB9Owo+PiArfTsKPj4gKwo+PiArLyoqCj4+ICsgKiAgUXVl cnkgaC93IGluZm86IEZsYWcgdGhhdCB0aGlzIGlzIGludGVncmF0ZWQgKGEuaC5hLiBmdXNpb24p IEdQVQo+PiArICoKPj4gKyAqLwo+PiArI2RlZmluZSBBTURHUFVfSURTX0ZMQUdTX0ZVU0lPTiAg ICAgICAgIDB4MQo+PiArCj4+ICsvKiBpbmRpY2F0ZSBpZiBhY2NlbGVyYXRpb24gY2FuIGJlIHdv cmtpbmcgKi8KPj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fQUNDRUxfV09SS0lORyAgICAgICAgICAg IDB4MDAKPj4gKy8qIGdldCB0aGUgY3J0Y19pZCBmcm9tIHRoZSBtb2RlIG9iamVjdCBpZD8gKi8K Pj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fQ1JUQ19GUk9NX0lEICAgICAgICAgICAgIDB4MDEKPj4g Ky8qIHF1ZXJ5IGh3IElQIGluZm8gKi8KPj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fSFdfSVBfSU5G TyAgICAgICAgICAgICAgICAgICAgICAgMHgwMgo+PiArLyogcXVlcnkgaHcgSVAgaW5zdGFuY2Ug Y291bnQgZm9yIHRoZSBzcGVjaWZpZWQgdHlwZSAqLwo+PiArI2RlZmluZSBBTURHUFVfSU5GT19I V19JUF9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAweDAzCj4+ICsvKiB0aW1lc3RhbXAgZm9y IEdMX0FSQl90aW1lcl9xdWVyeSAqLwo+PiArI2RlZmluZSBBTURHUFVfSU5GT19USU1FU1RBTVAg ICAgICAgICAgICAgICAgICAgICAgICAweDA1Cj4+ICsvKiBRdWVyeSB0aGUgZmlybXdhcmUgdmVy c2lvbiAqLwo+PiArI2RlZmluZSBBTURHUFVfSU5GT19GV19WRVJTSU9OICAgICAgICAgICAgICAg ICAgICAgICAweDBlCj4+ICsgICAgIC8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBWQ0UgZmlybXdhcmUg dmVyc2lvbiAqLwo+PiArICAgICAjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX1ZDRSAgICAgICAgICAg ICAgMHgxCj4+ICsgICAgIC8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBVVkQgZmlybXdhcmUgdmVyc2lv biAqLwo+PiArICAgICAjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX1VWRCAgICAgICAgICAgICAgMHgy Cj4+ICsgICAgIC8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBHTUMgZmlybXdhcmUgdmVyc2lvbiAqLwo+ PiArICAgICAjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dNQyAgICAgICAgICAgICAgMHgwMwo+PiAr ICAgICAvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIE1FIGZpcm13YXJlIHZlcnNpb24gKi8KPj4g KyAgICAgI2RlZmluZSBBTURHUFVfSU5GT19GV19HRlhfTUUgICAgICAgICAgIDB4MDQKPj4gKyAg ICAgLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IEdGWCBQRlAgZmlybXdhcmUgdmVyc2lvbiAqLwo+PiAr ICAgICAjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9QRlAgICAgICAgICAgMHgwNQo+PiArICAg ICAvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIENFIGZpcm13YXJlIHZlcnNpb24gKi8KPj4gKyAg ICAgI2RlZmluZSBBTURHUFVfSU5GT19GV19HRlhfQ0UgICAgICAgICAgIDB4MDYKPj4gKyAgICAg LyogU3VicXVlcnkgaWQ6IFF1ZXJ5IEdGWCBSTEMgZmlybXdhcmUgdmVyc2lvbiAqLwo+PiArICAg ICAjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9STEMgICAgICAgICAgMHgwNwo+PiArICAgICAv KiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIE1FQyBmaXJtd2FyZSB2ZXJzaW9uICovCj4+ICsgICAg ICNkZWZpbmUgQU1ER1BVX0lORk9fRldfR0ZYX01FQyAgICAgICAgICAweDA4Cj4+ICsgICAgIC8q IFN1YnF1ZXJ5IGlkOiBRdWVyeSBTTUMgZmlybXdhcmUgdmVyc2lvbiAqLwo+PiArICAgICAjZGVm aW5lIEFNREdQVV9JTkZPX0ZXX1NNQyAgICAgICAgICAgICAgMHgwYQo+PiArICAgICAvKiBTdWJx dWVyeSBpZDogUXVlcnkgU0RNQSBmaXJtd2FyZSB2ZXJzaW9uICovCj4+ICsgICAgICNkZWZpbmUg QU1ER1BVX0lORk9fRldfU0RNQSAgICAgICAgICAgICAweDBiCj4+ICsvKiBudW1iZXIgb2YgYnl0 ZXMgbW92ZWQgZm9yIFRUTSBtaWdyYXRpb24gKi8KPj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fTlVN X0JZVEVTX01PVkVEICAgICAgICAgIDB4MGYKPj4gKy8qIHRoZSB1c2VkIFZSQU0gc2l6ZSAqLwo+ PiArI2RlZmluZSBBTURHUFVfSU5GT19WUkFNX1VTQUdFICAgICAgICAgICAgICAgICAgICAgICAw eDEwCj4+ICsvKiB0aGUgdXNlZCBHVFQgc2l6ZSAqLwo+PiArI2RlZmluZSBBTURHUFVfSU5GT19H VFRfVVNBR0UgICAgICAgICAgICAgICAgICAgICAgICAweDExCj4+ICsvKiBJbmZvcm1hdGlvbiBh Ym91dCBHRFMsIGV0Yy4gcmVzb3VyY2UgY29uZmlndXJhdGlvbiAqLwo+PiArI2RlZmluZSBBTURH UFVfSU5GT19HRFNfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAweDEzCj4+ICsvKiBRdWVy eSBpbmZvcm1hdGlvbiBhYm91dCBWUkFNIGFuZCBHVFQgZG9tYWlucyAqLwo+PiArI2RlZmluZSBB TURHUFVfSU5GT19WUkFNX0dUVCAgICAgICAgICAgICAgICAgMHgxNAo+PiArLyogUXVlcnkgaW5m b3JtYXRpb24gYWJvdXQgcmVnaXN0ZXIgaW4gTU1SIGFkZHJlc3Mgc3BhY2UqLwo+PiArI2RlZmlu ZSBBTURHUFVfSU5GT19SRUFEX01NUl9SRUcgICAgICAgICAgICAgMHgxNQo+PiArLyogUXVlcnkg aW5mb3JtYXRpb24gYWJvdXQgZGV2aWNlOiByZXYgaWQsIGZhbWlseSwgZXRjLiAqLwo+PiArI2Rl ZmluZSBBTURHUFVfSU5GT19ERVZfSU5GTyAgICAgICAgICAgICAgICAgMHgxNgo+PiArLyogdmlz aWJsZSB2cmFtIHVzYWdlICovCj4+ICsjZGVmaW5lIEFNREdQVV9JTkZPX1ZJU19WUkFNX1VTQUdF ICAgICAgICAgICAweDE3Cj4+ICsKPj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fTU1SX1NFX0lOREVY X1NISUZUICAgICAgIDAKPj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fTU1SX1NFX0lOREVYX01BU0sg ICAgICAgIDB4ZmYKPj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fTU1SX1NIX0lOREVYX1NISUZUICAg ICAgIDgKPj4gKyNkZWZpbmUgQU1ER1BVX0lORk9fTU1SX1NIX0lOREVYX01BU0sgICAgICAgIDB4 ZmYKPj4gKwo+PiArLyogSW5wdXQgc3RydWN0dXJlIGZvciB0aGUgSU5GTyBpb2N0bCAqLwo+PiAr c3RydWN0IGRybV9hbWRncHVfaW5mbyB7Cj4+ICsgICAgIC8qIFdoZXJlIHRoZSByZXR1cm4gdmFs dWUgd2lsbCBiZSBzdG9yZWQgKi8KPj4gKyAgICAgdWludDY0X3QgcmV0dXJuX3BvaW50ZXI7Cj4+ ICsgICAgIC8qIFRoZSBzaXplIG9mIHRoZSByZXR1cm4gdmFsdWUuIEp1c3QgbGlrZSAic2l6ZSIg aW4gInNucHJpbnRmIiwKPj4gKyAgICAgICogaXQgbGltaXRzIGhvdyBtYW55IGJ5dGVzIHRoZSBr ZXJuZWwgY2FuIHdyaXRlLiAqLwo+PiArICAgICB1aW50MzJfdCByZXR1cm5fc2l6ZTsKPj4gKyAg ICAgLyogVGhlIHF1ZXJ5IHJlcXVlc3QgaWQuICovCj4+ICsgICAgIHVpbnQzMl90IHF1ZXJ5Owo+ PiArCj4+ICsgICAgIHVuaW9uIHsKPj4gKyAgICAgICAgICAgICBzdHJ1Y3Qgewo+PiArICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgaWQ7Cj4+ICsgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBfcGFkOwo+PiArICAgICAgICAgICAgIH0gbW9kZV9jcnRjOwo+PiArCj4+ICsgICAgICAg ICAgICAgc3RydWN0IHsKPj4gKyAgICAgICAgICAgICAgICAgICAgIC8qKiBBTURHUFVfSFdfSVBf KiAqLwo+PiArICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdHlwZTsKPj4gKyAgICAgICAg ICAgICAgICAgICAgIC8qKgo+PiArICAgICAgICAgICAgICAgICAgICAgICogSW5kZXggb2YgdGhl IElQIGlmIHRoZXJlIGFyZSBtb3JlIElQcyBvZiB0aGUgc2FtZSB0eXBlLgo+PiArICAgICAgICAg ICAgICAgICAgICAgICogSWdub3JlZCBieSBBTURHUFVfSU5GT19IV19JUF9DT1VOVC4KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAqLwo+PiArICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg aXBfaW5zdGFuY2U7Cj4+ICsgICAgICAgICAgICAgfSBxdWVyeV9od19pcDsKPj4gKwo+PiArICAg ICAgICAgICAgIHN0cnVjdCB7Cj4+ICsgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkd29y ZF9vZmZzZXQ7Cj4+ICsgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb3VudDsgLyogbnVt YmVyIG9mIHJlZ2lzdGVycyB0byByZWFkICovCj4+ICsgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBpbnN0YW5jZTsKPj4gKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsYWdzOwo+ PiArICAgICAgICAgICAgIH0gcmVhZF9tbXJfcmVnOwo+PiArCj4+ICsgICAgICAgICAgICAgc3Ry dWN0IHsKPj4gKyAgICAgICAgICAgICAgICAgICAgIC8qKiBBTURHUFVfSU5GT19GV18qICovCj4+ ICsgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmd190eXBlOwo+PiArICAgICAgICAgICAg ICAgICAgICAgLyoqIEluZGV4IG9mIHRoZSBJUCBpZiB0aGVyZSBhcmUgbW9yZSBJUHMgb2YgdGhl IHNhbWUgdHlwZS4gKi8KPj4gKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlwX2luc3Rh bmNlOwo+PiArICAgICAgICAgICAgICAgICAgICAgLyoqCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgKiBJbmRleCBvZiB0aGUgZW5naW5lLiBXaGV0aGVyIHRoaXMgaXMgdXNlZCBkZXBlbmRzCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgKiBvbiB0aGUgZmlybXdhcmUgdHlwZS4gKGUuZy4gTUVD LCBTRE1BKQo+PiArICAgICAgICAgICAgICAgICAgICAgICovCj4+ICsgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBpbmRleDsKPj4gKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IF9w YWQ7Cj4+ICsgICAgICAgICAgICAgfSBxdWVyeV9mdzsKPj4gKyAgICAgfTsKPj4gK307Cj4+ICsK Pj4gK3N0cnVjdCBkcm1fYW1kZ3B1X2luZm9fZ2RzIHsKPj4gKyAgICAgLyoqIEdEUyBHRlggcGFy dGl0aW9uIHNpemUgKi8KPj4gKyAgICAgdWludDMyX3QgZ2RzX2dmeF9wYXJ0aXRpb25fc2l6ZTsK Pj4gKyAgICAgLyoqIEdEUyBjb21wdXRlIHBhcnRpdGlvbiBzaXplICovCj4+ICsgICAgIHVpbnQz Ml90IGNvbXB1dGVfcGFydGl0aW9uX3NpemU7Cj4+ICsgICAgIC8qKiB0b3RhbCBHRFMgbWVtb3J5 IHNpemUgKi8KPj4gKyAgICAgdWludDMyX3QgZ2RzX3RvdGFsX3NpemU7Cj4+ICsgICAgIC8qKiBH V1Mgc2l6ZSBwZXIgR0ZYIHBhcnRpdGlvbiAqLwo+PiArICAgICB1aW50MzJfdCBnd3NfcGVyX2dm eF9wYXJ0aXRpb247Cj4+ICsgICAgIC8qKiBHU1cgc2l6ZSBwZXIgY29tcHV0ZSBwYXJ0aXRpb24g Ki8KPj4gKyAgICAgdWludDMyX3QgZ3dzX3Blcl9jb21wdXRlX3BhcnRpdGlvbjsKPj4gKyAgICAg LyoqIE9BIHNpemUgcGVyIEdGWCBwYXJ0aXRpb24gKi8KPj4gKyAgICAgdWludDMyX3Qgb2FfcGVy X2dmeF9wYXJ0aXRpb247Cj4+ICsgICAgIC8qKiBPQSBzaXplIHBlciBjb21wdXRlIHBhcnRpdGlv biAqLwo+PiArICAgICB1aW50MzJfdCBvYV9wZXJfY29tcHV0ZV9wYXJ0aXRpb247Cj4+ICsgICAg IHVpbnQzMl90IF9wYWQ7Cj4+ICt9Owo+PiArCj4+ICtzdHJ1Y3QgZHJtX2FtZGdwdV9pbmZvX3Zy YW1fZ3R0IHsKPj4gKyAgICAgdWludDY0X3QgdnJhbV9zaXplOwo+PiArICAgICB1aW50NjRfdCB2 cmFtX2NwdV9hY2Nlc3NpYmxlX3NpemU7Cj4+ICsgICAgIHVpbnQ2NF90IGd0dF9zaXplOwo+PiAr fTsKPj4gKwo+PiArc3RydWN0IGRybV9hbWRncHVfaW5mb19maXJtd2FyZSB7Cj4+ICsgICAgIHVp bnQzMl90IHZlcjsKPj4gKyAgICAgdWludDMyX3QgZmVhdHVyZTsKPj4gK307Cj4+ICsKPj4gK3N0 cnVjdCBkcm1fYW1kZ3B1X2luZm9fZGV2aWNlIHsKPj4gKyAgICAgLyoqIFBDSSBEZXZpY2UgSUQg Ki8KPj4gKyAgICAgdWludDMyX3QgZGV2aWNlX2lkOwo+PiArICAgICAvKiogSW50ZXJuYWwgY2hp cCByZXZpc2lvbjogQTAsIEExLCBldGMuKSAqLwo+PiArICAgICB1aW50MzJfdCBjaGlwX3JldjsK Pj4gKyAgICAgdWludDMyX3QgZXh0ZXJuYWxfcmV2Owo+PiArICAgICAvKiogUmV2aXNpb24gaWQg aW4gUENJIENvbmZpZyBzcGFjZSAqLwo+PiArICAgICB1aW50MzJfdCBwY2lfcmV2Owo+PiArICAg ICB1aW50MzJfdCBmYW1pbHk7Cj4+ICsgICAgIHVpbnQzMl90IG51bV9zaGFkZXJfZW5naW5lczsK Pj4gKyAgICAgdWludDMyX3QgbnVtX3NoYWRlcl9hcnJheXNfcGVyX2VuZ2luZTsKPj4gKyAgICAg dWludDMyX3QgZ3B1X2NvdW50ZXJfZnJlcTsgLyogaW4gS0h6ICovCj4+ICsgICAgIHVpbnQ2NF90 IG1heF9lbmdpbmVfY2xvY2s7IC8qIGluIEtIeiAqLwo+PiArICAgICAvKiBjdSBpbmZvcm1hdGlv biAqLwo+PiArICAgICB1aW50MzJfdCBjdV9hY3RpdmVfbnVtYmVyOwo+PiArICAgICB1aW50MzJf dCBjdV9hb19tYXNrOwo+PiArICAgICB1aW50MzJfdCBjdV9iaXRtYXBbNF1bNF07Cj4+ICsgICAg IC8qKiBSZW5kZXIgYmFja2VuZCBwaXBlIG1hc2suIE9uZSByZW5kZXIgYmFja2VuZCBpcyBDQitE Qi4gKi8KPj4gKyAgICAgdWludDMyX3QgZW5hYmxlZF9yYl9waXBlc19tYXNrOwo+PiArICAgICB1 aW50MzJfdCBudW1fcmJfcGlwZXM7Cj4+ICsgICAgIHVpbnQzMl90IG51bV9od19nZnhfY29udGV4 dHM7Cj4+ICsgICAgIHVpbnQzMl90IF9wYWQ7Cj4+ICsgICAgIHVpbnQ2NF90IGlkc19mbGFnczsK Pj4gKyAgICAgLyoqIFN0YXJ0aW5nIHZpcnR1YWwgYWRkcmVzcyBmb3IgVU1Ecy4gKi8KPj4gKyAg ICAgdWludDY0X3QgdmlydHVhbF9hZGRyZXNzX29mZnNldDsKPj4gKyAgICAgLyoqIFJlcXVpcmVk IGFsaWdubWVudCBvZiB2aXJ0dWFsIGFkZHJlc3Nlcy4gKi8KPj4gKyAgICAgdWludDMyX3Qgdmly dHVhbF9hZGRyZXNzX2FsaWdubWVudDsKPj4gKyAgICAgLyoqIFBhZ2UgdGFibGUgZW50cnkgLSBm cmFnbWVudCBzaXplICovCj4+ICsgICAgIHVpbnQzMl90IHB0ZV9mcmFnbWVudF9zaXplOwo+PiAr ICAgICB1aW50MzJfdCBnYXJ0X3BhZ2Vfc2l6ZTsKPj4gK307Cj4+ICsKPj4gK3N0cnVjdCBkcm1f YW1kZ3B1X2luZm9faHdfaXAgewo+PiArICAgICAvKiogVmVyc2lvbiBvZiBoL3cgSVAgKi8KPj4g KyAgICAgdWludDMyX3QgIGh3X2lwX3ZlcnNpb25fbWFqb3I7Cj4+ICsgICAgIHVpbnQzMl90ICBo d19pcF92ZXJzaW9uX21pbm9yOwo+PiArICAgICAvKiogQ2FwYWJpbGl0aWVzICovCj4+ICsgICAg IHVpbnQ2NF90ICBjYXBhYmlsaXRpZXNfZmxhZ3M7Cj4+ICsgICAgIC8qKiBCaXRtYXNrIG9mIGF2 YWlsYWJsZSByaW5ncy4gQml0IDAgbWVhbnMgcmluZyAwLCBldGMuICovCj4+ICsgICAgIHVpbnQz Ml90ICBhdmFpbGFibGVfcmluZ3M7Cj4+ICsgICAgIHVpbnQzMl90ICBfcGFkOwo+PiArfTsKPj4g Kwo+PiArLyoKPj4gKyAqIFN1cHBvcnRlZCBHUFUgZmFtaWxpZXMKPj4gKyAqLwo+PiArI2RlZmlu ZSBBTURHUFVfRkFNSUxZX1VOS05PV04gICAgICAgICAgICAgICAgICAgICAgICAwCj4+ICsjZGVm aW5lIEFNREdQVV9GQU1JTFlfQ0kgICAgICAgICAgICAgICAgICAgICAxMjAgLyogQm9uYWlyZSwg SGF3YWlpICovCj4+ICsjZGVmaW5lIEFNREdQVV9GQU1JTFlfS1YgICAgICAgICAgICAgICAgICAg ICAxMjUgLyogS2F2ZXJpLCBLYWJpbmksIE11bGxpbnMgKi8KPj4gKyNkZWZpbmUgQU1ER1BVX0ZB TUlMWV9WSSAgICAgICAgICAgICAgICAgICAgIDEzMCAvKiBJY2VsYW5kLCBUb25nYSAqLwo+PiAr I2RlZmluZSBBTURHUFVfRkFNSUxZX0NaICAgICAgICAgICAgICAgICAgICAgMTM1IC8qIENhcnJp em8gKi8KPj4gKwo+Cj4gVGhhdCdzIHdlaXJkIHdoeSB1c2luZyB0aG9zZSBudW1iZXJzIGFuZCBu b3QgMSwgMiwgMywgNCAuLi4gOikKCjopCgpXZSdsbCBnZXQgdGhpcyBzdHVmZiBjbGVhbmVkIHVw IHRoaXMgd2Vlay4gIFRoYW5rcyBmb3IgcmV2aWV3aW5nIQoKQWxleAoKPgo+PiArI2VuZGlmCj4+ IC0tCj4+IDEuOC4zLjEKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+PiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK