From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0DCE78929B for ; Wed, 10 Oct 2018 16:57:54 +0000 (UTC) From: Lionel Landwerlin Date: Wed, 10 Oct 2018 17:57:44 +0100 Message-Id: <20181010165747.23667-2-lionel.g.landwerlin@intel.com> In-Reply-To: <20181010165747.23667-1-lionel.g.landwerlin@intel.com> References: <20181010165747.23667-1-lionel.g.landwerlin@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/4] include: bump drm uAPI headers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: VG8gYmUgdXBkYXRlZCB3aXRoIGEgcHJvcGVyIHJlbGVhc2UuCgpTaWduZWQtb2ZmLWJ5OiBMaW9u ZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+Ci0tLQogaW5jbHVk ZS9kcm0tdWFwaS9hbWRncHVfZHJtLmggIHwgIDUyICsrKy0KIGluY2x1ZGUvZHJtLXVhcGkvZHJt LmggICAgICAgICB8ICAxNiArKwogaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmggIHwgMjE1 ICsrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS11YXBpL2RybV9tb2RlLmggICAgfCAgMjYgKy0K IGluY2x1ZGUvZHJtLXVhcGkvZXRuYXZpdl9kcm0uaCB8ICAgNiArCiBpbmNsdWRlL2RybS11YXBp L2V4eW5vc19kcm0uaCAgfCAyNDAgKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0tdWFwaS9p OTE1X2RybS5oICAgIHwgIDU2ICsrKysKIGluY2x1ZGUvZHJtLXVhcGkvbXNtX2RybS5oICAgICB8 ICAgMiArCiBpbmNsdWRlL2RybS11YXBpL3RlZ3JhX2RybS5oICAgfCA0OTIgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCiBpbmNsdWRlL2RybS11YXBpL3ZjNF9kcm0uaCAgICAgfCAg MTMgKy0KIGluY2x1ZGUvZHJtLXVhcGkvdmlydGdwdV9kcm0uaCB8ICAgMSArCiBpbmNsdWRlL2Ry bS11YXBpL3Ztd2dmeF9kcm0uaCAgfCAxNjYgKysrKysrKystLS0KIDEyIGZpbGVzIGNoYW5nZWQs IDEyMjkgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0tdWFwaS9hbWRncHVfZHJtLmggYi9pbmNsdWRlL2RybS11YXBpL2FtZGdwdV9kcm0uaApp bmRleCAxODE2YmQ4Mi4uMzcwZTlhNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvYW1k Z3B1X2RybS5oCisrKyBiL2luY2x1ZGUvZHJtLXVhcGkvYW1kZ3B1X2RybS5oCkBAIC03MiwxMiAr NzIsNDEgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfRkVOQ0VfVE9f SEFORExFIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fQU1ER1BVX0ZFTkNFX1RPX0hB TkRMRSwgdW5pb24gZHJtX2FtZGdwdV9mZW5jZV90b19oYW5kbGUpCiAjZGVmaW5lIERSTV9JT0NU TF9BTURHUFVfU0NIRUQJCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfU0NI RUQsIHVuaW9uIGRybV9hbWRncHVfc2NoZWQpCiAKKy8qKgorICogRE9DOiBtZW1vcnkgZG9tYWlu cworICoKKyAqICVBTURHUFVfR0VNX0RPTUFJTl9DUFUJU3lzdGVtIG1lbW9yeSB0aGF0IGlzIG5v dCBHUFUgYWNjZXNzaWJsZS4KKyAqIE1lbW9yeSBpbiB0aGlzIHBvb2wgY291bGQgYmUgc3dhcHBl ZCBvdXQgdG8gZGlzayBpZiB0aGVyZSBpcyBwcmVzc3VyZS4KKyAqCisgKiAlQU1ER1BVX0dFTV9E T01BSU5fR1RUCUdQVSBhY2Nlc3NpYmxlIHN5c3RlbSBtZW1vcnksIG1hcHBlZCBpbnRvIHRoZQor ICogR1BVJ3MgdmlydHVhbCBhZGRyZXNzIHNwYWNlIHZpYSBnYXJ0LiBHYXJ0IG1lbW9yeSBsaW5l YXJpemVzIG5vbi1jb250aWd1b3VzCisgKiBwYWdlcyBvZiBzeXN0ZW0gbWVtb3J5LCBhbGxvd3Mg R1BVIGFjY2VzcyBzeXN0ZW0gbWVtb3J5IGluIGEgbGluZXpyaXplZAorICogZmFzaGlvbi4KKyAq CisgKiAlQU1ER1BVX0dFTV9ET01BSU5fVlJBTQlMb2NhbCB2aWRlbyBtZW1vcnkuIEZvciBBUFVz LCBpdCBpcyBtZW1vcnkKKyAqIGNhcnZlZCBvdXQgYnkgdGhlIEJJT1MuCisgKgorICogJUFNREdQ VV9HRU1fRE9NQUlOX0dEUwlHbG9iYWwgb24tY2hpcCBkYXRhIHN0b3JhZ2UgdXNlZCB0byBzaGFy ZSBkYXRhCisgKiBhY3Jvc3Mgc2hhZGVyIHRocmVhZHMuCisgKgorICogJUFNREdQVV9HRU1fRE9N QUlOX0dXUwlHbG9iYWwgd2F2ZSBzeW5jLCB1c2VkIHRvIHN5bmNocm9uaXplIHRoZQorICogZXhl Y3V0aW9uIG9mIGFsbCB0aGUgd2F2ZXMgb24gYSBkZXZpY2UuCisgKgorICogJUFNREdQVV9HRU1f RE9NQUlOX09BCU9yZGVyZWQgYXBwZW5kLCB1c2VkIGJ5IDNEIG9yIENvbXB1dGUgZW5naW5lcwor ICogZm9yIGFwcGVuZGluZyBkYXRhLgorICovCiAjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlOX0NQ VQkJMHgxCiAjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlOX0dUVAkJMHgyCiAjZGVmaW5lIEFNREdQ VV9HRU1fRE9NQUlOX1ZSQU0JCTB4NAogI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9HRFMJCTB4 OAogI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9HV1MJCTB4MTAKICNkZWZpbmUgQU1ER1BVX0dF TV9ET01BSU5fT0EJCTB4MjAKKyNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fTUFTSwkJKEFNREdQ VV9HRU1fRE9NQUlOX0NQVSB8IFwKKwkJCQkJIEFNREdQVV9HRU1fRE9NQUlOX0dUVCB8IFwKKwkJ CQkJIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0gfCBcCisJCQkJCSBBTURHUFVfR0VNX0RPTUFJTl9H RFMgfCBcCisJCQkJCSBBTURHUFVfR0VNX0RPTUFJTl9HV1MgfCBcCisJCQkJCSBBTURHUFVfR0VN X0RPTUFJTl9PQSkKIAogLyogRmxhZyB0aGF0IENQVSBhY2Nlc3Mgd2lsbCBiZSByZXF1aXJlZCBm b3IgdGhlIGNhc2Ugb2YgVlJBTSBkb21haW4gKi8KICNkZWZpbmUgQU1ER1BVX0dFTV9DUkVBVEVf Q1BVX0FDQ0VTU19SRVFVSVJFRAkoMSA8PCAwKQpAQCAtOTUsNiArMTI0LDEwIEBAIGV4dGVybiAi QyIgewogI2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9WTV9BTFdBWVNfVkFMSUQJKDEgPDwgNikK IC8qIEZsYWcgdGhhdCBCTyBzaGFyaW5nIHdpbGwgYmUgZXhwbGljaXRseSBzeW5jaHJvbml6ZWQg Ki8KICNkZWZpbmUgQU1ER1BVX0dFTV9DUkVBVEVfRVhQTElDSVRfU1lOQwkJKDEgPDwgNykKKy8q IEZsYWcgdGhhdCBpbmRpY2F0ZXMgYWxsb2NhdGluZyBNUUQgZ2FydCBvbiBHRlg5LCB3aGVyZSB0 aGUgbXR5cGUKKyAqIGZvciB0aGUgc2Vjb25kIHBhZ2Ugb253YXJkIHNob3VsZCBiZSBzZXQgdG8g TkMuCisgKi8KKyNkZWZpbmUgQU1ER1BVX0dFTV9DUkVBVEVfTVFEX0dGWDkJCSgxIDw8IDgpCiAK IHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9jcmVhdGVfaW4gIHsKIAkvKiogdGhlIHJlcXVlc3RlZCBt ZW1vcnkgc2l6ZSAqLwpAQCAtNDczLDcgKzUwNiw4IEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV92 YSB7CiAjZGVmaW5lIEFNREdQVV9IV19JUF9VVkRfRU5DICAgICAgNQogI2RlZmluZSBBTURHUFVf SFdfSVBfVkNOX0RFQyAgICAgIDYKICNkZWZpbmUgQU1ER1BVX0hXX0lQX1ZDTl9FTkMgICAgICA3 Ci0jZGVmaW5lIEFNREdQVV9IV19JUF9OVU0gICAgICAgICAgOAorI2RlZmluZSBBTURHUFVfSFdf SVBfVkNOX0pQRUcgICAgIDgKKyNkZWZpbmUgQU1ER1BVX0hXX0lQX05VTSAgICAgICAgICA5CiAK ICNkZWZpbmUgQU1ER1BVX0hXX0lQX0lOU1RBTkNFX01BWF9DT1VOVCAxCiAKQEAgLTQ4Miw2ICs1 MTYsNyBAQCBzdHJ1Y3QgZHJtX2FtZGdwdV9nZW1fdmEgewogI2RlZmluZSBBTURHUFVfQ0hVTktf SURfREVQRU5ERU5DSUVTCTB4MDMKICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4g ICAgICAweDA0CiAjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX09VVCAgICAgMHgwNQor I2RlZmluZSBBTURHUFVfQ0hVTktfSURfQk9fSEFORExFUyAgICAgIDB4MDYKIAogc3RydWN0IGRy bV9hbWRncHVfY3NfY2h1bmsgewogCV9fdTMyCQljaHVua19pZDsKQEAgLTUyMCw2ICs1NTUsMTAg QEAgdW5pb24gZHJtX2FtZGdwdV9jcyB7CiAvKiBQcmVlbXB0IGZsYWcsIElCIHNob3VsZCBzZXQg UHJlX2VuYiBiaXQgaWYgUFJFRU1QVCBmbGFnIGRldGVjdGVkICovCiAjZGVmaW5lIEFNREdQVV9J Ql9GTEFHX1BSRUVNUFQgKDE8PDIpCiAKKy8qIFRoZSBJQiBmZW5jZSBzaG91bGQgZG8gdGhlIEwy IHdyaXRlYmFjayBidXQgbm90IGludmFsaWRhdGUgYW55IHNoYWRlcgorICogY2FjaGVzIChMMi92 TDEvc0wxL0kkKS4gKi8KKyNkZWZpbmUgQU1ER1BVX0lCX0ZMQUdfVENfV0JfTk9UX0lOVkFMSURB VEUgKDEgPDwgMykKKwogc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfaWIgewogCV9fdTMyIF9w YWQ7CiAJLyoqIEFNREdQVV9JQl9GTEFHXyogKi8KQEAgLTYxOCw2ICs2NTcsMTYgQEAgc3RydWN0 IGRybV9hbWRncHVfY3NfY2h1bmtfZGF0YSB7CiAJI2RlZmluZSBBTURHUFVfSU5GT19GV19TT1MJ CTB4MGMKIAkvKiBTdWJxdWVyeSBpZDogUXVlcnkgUFNQIEFTRCBmaXJtd2FyZSB2ZXJzaW9uICov CiAJI2RlZmluZSBBTURHUFVfSU5GT19GV19BU0QJCTB4MGQKKwkvKiBTdWJxdWVyeSBpZDogUXVl cnkgVkNOIGZpcm13YXJlIHZlcnNpb24gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX1ZDTgkJ MHgwZQorCS8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBHRlggUkxDIFNSTEMgZmlybXdhcmUgdmVyc2lv biAqLworCSNkZWZpbmUgQU1ER1BVX0lORk9fRldfR0ZYX1JMQ19SRVNUT1JFX0xJU1RfQ05UTCAw eDBmCisJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IEdGWCBSTEMgU1JMRyBmaXJtd2FyZSB2ZXJzaW9u ICovCisJI2RlZmluZSBBTURHUFVfSU5GT19GV19HRlhfUkxDX1JFU1RPUkVfTElTVF9HUE1fTUVN IDB4MTAKKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIFJMQyBTUkxTIGZpcm13YXJlIHZlcnNp b24gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9STENfUkVTVE9SRV9MSVNUX1NSTV9N RU0gMHgxMQorCS8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBETUNVIGZpcm13YXJlIHZlcnNpb24gKi8K KwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0RNQ1UJCTB4MTIKIC8qIG51bWJlciBvZiBieXRlcyBt b3ZlZCBmb3IgVFRNIG1pZ3JhdGlvbiAqLwogI2RlZmluZSBBTURHUFVfSU5GT19OVU1fQllURVNf TU9WRUQJCTB4MGYKIC8qIHRoZSB1c2VkIFZSQU0gc2l6ZSAqLwpAQCAtODA2LDYgKzg1NSw3IEBA IHN0cnVjdCBkcm1fYW1kZ3B1X2luZm9fZmlybXdhcmUgewogI2RlZmluZSBBTURHUFVfVlJBTV9U WVBFX0dERFI1IDUKICNkZWZpbmUgQU1ER1BVX1ZSQU1fVFlQRV9IQk0gICA2CiAjZGVmaW5lIEFN REdQVV9WUkFNX1RZUEVfRERSMyAgNworI2RlZmluZSBBTURHUFVfVlJBTV9UWVBFX0REUjQgIDgK IAogc3RydWN0IGRybV9hbWRncHVfaW5mb19kZXZpY2UgewogCS8qKiBQQ0kgRGV2aWNlIElEICov CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS9k cm0uaAppbmRleCBmMGJkOTFkZS4uODVjNjg1YTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVh cGkvZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm0uaApAQCAtNjc0LDYgKzY3NCwyMiBA QCBzdHJ1Y3QgZHJtX2dldF9jYXAgewogICovCiAjZGVmaW5lIERSTV9DTElFTlRfQ0FQX0FUT01J QwkzCiAKKy8qKgorICogRFJNX0NMSUVOVF9DQVBfQVNQRUNUX1JBVElPCisgKgorICogSWYgc2V0 IHRvIDEsIHRoZSBEUk0gY29yZSB3aWxsIHByb3ZpZGUgYXNwZWN0IHJhdGlvIGluZm9ybWF0aW9u IGluIG1vZGVzLgorICovCisjZGVmaW5lIERSTV9DTElFTlRfQ0FQX0FTUEVDVF9SQVRJTyAgICA0 CisKKy8qKgorICogRFJNX0NMSUVOVF9DQVBfV1JJVEVCQUNLX0NPTk5FQ1RPUlMKKyAqCisgKiBJ ZiBzZXQgdG8gMSwgdGhlIERSTSBjb3JlIHdpbGwgZXhwb3NlIHNwZWNpYWwgY29ubmVjdG9ycyB0 byBiZSB1c2VkIGZvcgorICogd3JpdGluZyBiYWNrIHRvIG1lbW9yeSB0aGUgc2NlbmUgc2V0dXAg aW4gdGhlIGNvbW1pdC4gRGVwZW5kcyBvbiBjbGllbnQKKyAqIGFsc28gc3VwcG9ydGluZyBEUk1f Q0xJRU5UX0NBUF9BVE9NSUMKKyAqLworI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9XUklURUJBQ0tf Q09OTkVDVE9SUwk1CisKIC8qKiBEUk1fSU9DVExfU0VUX0NMSUVOVF9DQVAgaW9jdGwgYXJndW1l bnQgdHlwZSAqLwogc3RydWN0IGRybV9zZXRfY2xpZW50X2NhcCB7CiAJX191NjQgY2FwYWJpbGl0 eTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS9k cm0tdWFwaS9kcm1fZm91cmNjLmgKaW5kZXggZTA0NjEzZDMuLjEzOTYzMmI4IDEwMDY0NAotLS0g YS9pbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaAorKysgYi9pbmNsdWRlL2RybS11YXBpL2Ry bV9mb3VyY2MuaApAQCAtMzAsMTEgKzMwLDUwIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisv KioKKyAqIERPQzogb3ZlcnZpZXcKKyAqCisgKiBJbiB0aGUgRFJNIHN1YnN5c3RlbSwgZnJhbWVi dWZmZXIgcGl4ZWwgZm9ybWF0cyBhcmUgZGVzY3JpYmVkIHVzaW5nIHRoZQorICogZm91cmNjIGNv ZGVzIGRlZmluZWQgaW4gYGluY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oYC4gSW4gYWRkaXRp b24gdG8gdGhlCisgKiBmb3VyY2MgY29kZSwgYSBGb3JtYXQgTW9kaWZpZXIgbWF5IG9wdGlvbmFs bHkgYmUgcHJvdmlkZWQsIGluIG9yZGVyIHRvCisgKiBmdXJ0aGVyIGRlc2NyaWJlIHRoZSBidWZm ZXIncyBmb3JtYXQgLSBmb3IgZXhhbXBsZSB0aWxpbmcgb3IgY29tcHJlc3Npb24uCisgKgorICog Rm9ybWF0IE1vZGlmaWVycworICogLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIEZvcm1hdCBtb2Rp ZmllcnMgYXJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIGZvdXJjYyBjb2RlLCBmb3JtaW5n IGEKKyAqIHVuaXF1ZSBmb3VyY2M6bW9kaWZpZXIgcGFpci4gVGhpcyBmb3JtYXQ6bW9kaWZpZXIg cGFpciBtdXN0IGZ1bGx5IGRlZmluZSB0aGUKKyAqIGZvcm1hdCBhbmQgZGF0YSBsYXlvdXQgb2Yg dGhlIGJ1ZmZlciwgYW5kIHNob3VsZCBiZSB0aGUgb25seSB3YXkgdG8gZGVzY3JpYmUKKyAqIHRo YXQgcGFydGljdWxhciBidWZmZXIuCisgKgorICogSGF2aW5nIG11bHRpcGxlIGZvdXJjYzptb2Rp ZmllciBwYWlycyB3aGljaCBkZXNjcmliZSB0aGUgc2FtZSBsYXlvdXQgc2hvdWxkCisgKiBiZSBh dm9pZGVkLCBhcyBzdWNoIGFsaWFzZXMgcnVuIHRoZSByaXNrIG9mIGRpZmZlcmVudCBkcml2ZXJz IGV4cG9zaW5nCisgKiBkaWZmZXJlbnQgbmFtZXMgZm9yIHRoZSBzYW1lIGRhdGEgZm9ybWF0LCBm b3JjaW5nIHVzZXJzcGFjZSB0byB1bmRlcnN0YW5kCisgKiB0aGF0IHRoZXkgYXJlIGFsaWFzZXMu CisgKgorICogRm9ybWF0IG1vZGlmaWVycyBtYXkgY2hhbmdlIGFueSBwcm9wZXJ0eSBvZiB0aGUg YnVmZmVyLCBpbmNsdWRpbmcgdGhlIG51bWJlcgorICogb2YgcGxhbmVzIGFuZC9vciB0aGUgcmVx dWlyZWQgYWxsb2NhdGlvbiBzaXplLiBGb3JtYXQgbW9kaWZpZXJzIGFyZQorICogdmVuZG9yLW5h bWVzcGFjZWQsIGFuZCBhcyBzdWNoIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBhIGZvdXJjYyBj b2RlIGFuZCBhCisgKiBtb2RpZmllciBpcyBzcGVjaWZpYyB0byB0aGUgbW9kaWZlciBiZWluZyB1 c2VkLiBGb3IgZXhhbXBsZSwgc29tZSBtb2RpZmllcnMKKyAqIG1heSBwcmVzZXJ2ZSBtZWFuaW5n IC0gc3VjaCBhcyBudW1iZXIgb2YgcGxhbmVzIC0gZnJvbSB0aGUgZm91cmNjIGNvZGUsCisgKiB3 aGVyZWFzIG90aGVycyBtYXkgbm90LgorICoKKyAqIFZlbmRvcnMgc2hvdWxkIGRvY3VtZW50IHRo ZWlyIG1vZGlmaWVyIHVzYWdlIGluIGFzIG11Y2ggZGV0YWlsIGFzCisgKiBwb3NzaWJsZSwgdG8g ZW5zdXJlIG1heGltdW0gY29tcGF0aWJpbGl0eSBhY3Jvc3MgZGV2aWNlcywgZHJpdmVycyBhbmQK KyAqIGFwcGxpY2F0aW9ucy4KKyAqCisgKiBUaGUgYXV0aG9yaXRhdGl2ZSBsaXN0IG9mIGZvcm1h dCBtb2RpZmllciBjb2RlcyBpcyBmb3VuZCBpbgorICogYGluY2x1ZGUvdWFwaS9kcm0vZHJtX2Zv dXJjYy5oYAorICovCisKICNkZWZpbmUgZm91cmNjX2NvZGUoYSwgYiwgYywgZCkgKChfX3UzMiko YSkgfCAoKF9fdTMyKShiKSA8PCA4KSB8IFwKIAkJCQkgKChfX3UzMikoYykgPDwgMTYpIHwgKChf X3UzMikoZCkgPDwgMjQpKQogCiAjZGVmaW5lIERSTV9GT1JNQVRfQklHX0VORElBTiAoMTw8MzEp IC8qIGZvcm1hdCBpcyBiaWcgZW5kaWFuIGluc3RlYWQgb2YgbGl0dGxlIGVuZGlhbiAqLwogCisv KiBSZXNlcnZlIDAgZm9yIHRoZSBpbnZhbGlkIGZvcm1hdCBzcGVjaWZpZXIgKi8KKyNkZWZpbmUg RFJNX0ZPUk1BVF9JTlZBTElECTAKKwogLyogY29sb3IgaW5kZXggKi8KICNkZWZpbmUgRFJNX0ZP Uk1BVF9DOAkJZm91cmNjX2NvZGUoJ0MnLCAnOCcsICcgJywgJyAnKSAvKiBbNzowXSBDICovCiAK QEAgLTE4Myw2ICsyMjIsNyBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0Rf VkVORE9SX1FDT00gICAgMHgwNQogI2RlZmluZSBEUk1fRk9STUFUX01PRF9WRU5ET1JfVklWQU5U RSAweDA2CiAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX1ZFTkRPUl9CUk9BRENPTSAweDA3CisjZGVm aW5lIERSTV9GT1JNQVRfTU9EX1ZFTkRPUl9BUk0gICAgIDB4MDgKIC8qIGFkZCBtb3JlIHRvIHRo ZSBlbmQgYXMgbmVlZGVkICovCiAKICNkZWZpbmUgRFJNX0ZPUk1BVF9SRVNFUlZFRAkgICAgICAo KDFVTEwgPDwgNTYpIC0gMSkKQEAgLTI5OCw2ICszMzgsMTkgQEAgZXh0ZXJuICJDIiB7CiAgKi8K ICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfU0FNU1VOR182NF8zMl9USUxFCWZvdXJjY19tb2RfY29k ZShTQU1TVU5HLCAxKQogCisvKgorICogUXVhbGNvbW0gQ29tcHJlc3NlZCBGb3JtYXQKKyAqCisg KiBSZWZlcnMgdG8gYSBjb21wcmVzc2VkIHZhcmlhbnQgb2YgdGhlIGJhc2UgZm9ybWF0IHRoYXQg aXMgY29tcHJlc3NlZC4KKyAqIEltcGxlbWVudGF0aW9uIG1heSBiZSBwbGF0Zm9ybSBhbmQgYmFz ZS1mb3JtYXQgc3BlY2lmaWMuCisgKgorICogRWFjaCBtYWNyb3RpbGUgY29uc2lzdHMgb2YgbSB4 IG4gKG1vc3RseSA0IHggNCkgdGlsZXMuCisgKiBQaXhlbCBkYXRhIHBpdGNoL3N0cmlkZSBpcyBh bGlnbmVkIHdpdGggbWFjcm90aWxlIHdpZHRoLgorICogUGl4ZWwgZGF0YSBoZWlnaHQgaXMgYWxp Z25lZCB3aXRoIG1hY3JvdGlsZSBoZWlnaHQuCisgKiBFbnRpcmUgcGl4ZWwgZGF0YSBidWZmZXIg aXMgYWxpZ25lZCB3aXRoIDRrKGJ5dGVzKS4KKyAqLworI2RlZmluZSBEUk1fRk9STUFUX01PRF9R Q09NX0NPTVBSRVNTRUQJZm91cmNjX21vZF9jb2RlKFFDT00sIDEpCisKIC8qIFZpdmFudGUgZnJh bWVidWZmZXIgbW9kaWZpZXJzICovCiAKIC8qCkBAIC0zODQsNiArNDM3LDIzIEBAIGV4dGVybiAi QyIgewogI2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0tfVEhJUlRZVFdP X0dPQiBcCiAJZm91cmNjX21vZF9jb2RlKE5WSURJQSwgMHgxNSkKIAorLyoKKyAqIFNvbWUgQnJv YWRjb20gbW9kaWZpZXJzIHRha2UgcGFyYW1ldGVycywgZm9yIGV4YW1wbGUgdGhlIG51bWJlciBv ZgorICogdmVydGljYWwgbGluZXMgaW4gdGhlIGltYWdlLiBSZXNlcnZlIHRoZSBsb3dlciAzMiBi aXRzIGZvciBtb2RpZmllcgorICogdHlwZSwgYW5kIHRoZSBuZXh0IDI0IGJpdHMgZm9yIHBhcmFt ZXRlcnMuIFRvcCA4IGJpdHMgYXJlIHRoZQorICogdmVuZG9yIGNvZGUuCisgKi8KKyNkZWZpbmUg X19mb3VyY2NfbW9kX2Jyb2FkY29tX3BhcmFtX3NoaWZ0IDgKKyNkZWZpbmUgX19mb3VyY2NfbW9k X2Jyb2FkY29tX3BhcmFtX2JpdHMgNDgKKyNkZWZpbmUgZm91cmNjX21vZF9icm9hZGNvbV9jb2Rl KHZhbCwgcGFyYW1zKSBcCisJZm91cmNjX21vZF9jb2RlKEJST0FEQ09NLCAoKCgoX191NjQpcGFy YW1zKSA8PCBfX2ZvdXJjY19tb2RfYnJvYWRjb21fcGFyYW1fc2hpZnQpIHwgdmFsKSkKKyNkZWZp bmUgZm91cmNjX21vZF9icm9hZGNvbV9wYXJhbShtKSBcCisJKChpbnQpKCgobSkgPj4gX19mb3Vy Y2NfbW9kX2Jyb2FkY29tX3BhcmFtX3NoaWZ0KSAmCVwKKwkgICAgICAgKCgxVUxMIDw8IF9fZm91 cmNjX21vZF9icm9hZGNvbV9wYXJhbV9iaXRzKSAtIDEpKSkKKyNkZWZpbmUgZm91cmNjX21vZF9i cm9hZGNvbV9tb2QobSkgXAorCSgobSkgJiB+KCgoMVVMTCA8PCBfX2ZvdXJjY19tb2RfYnJvYWRj b21fcGFyYW1fYml0cykgLSAxKSA8PAlcCisJCSBfX2ZvdXJjY19tb2RfYnJvYWRjb21fcGFyYW1f c2hpZnQpKQorCiAvKgogICogQnJvYWRjb20gVkM0ICJUIiBmb3JtYXQKICAqCkBAIC00MDUsNiAr NDc1LDE1MSBAQCBleHRlcm4gIkMiIHsKICAqLwogI2RlZmluZSBEUk1fRk9STUFUX01PRF9CUk9B RENPTV9WQzRfVF9USUxFRCBmb3VyY2NfbW9kX2NvZGUoQlJPQURDT00sIDEpCiAKKy8qCisgKiBC cm9hZGNvbSBTQU5EIGZvcm1hdAorICoKKyAqIFRoaXMgaXMgdGhlIG5hdGl2ZSBmb3JtYXQgdGhh dCB0aGUgSC4yNjQgY29kZWMgYmxvY2sgdXNlcy4gIEZvciBWQzQKKyAqIEhWUywgaXQgaXMgb25s eSB2YWxpZCBmb3IgSC4yNjQgKE5WMTIvMjEpIGFuZCBSR0JBIG1vZGVzLgorICoKKyAqIFRoZSBp bWFnZSBjYW4gYmUgY29uc2lkZXJlZCB0byBiZSBzcGxpdCBpbnRvIGNvbHVtbnMsIGFuZCB0aGUK KyAqIGNvbHVtbnMgYXJlIHBsYWNlZCBjb25zZWN1dGl2ZWx5IGludG8gbWVtb3J5LiAgVGhlIHdp ZHRoIG9mIHRob3NlCisgKiBjb2x1bW5zIGNhbiBiZSBlaXRoZXIgMzIsIDY0LCAxMjgsIG9yIDI1 NiBwaXhlbHMsIGJ1dCBpbiBwcmFjdGljZQorICogb25seSAxMjggcGl4ZWwgY29sdW1ucyBhcmUg dXNlZC4KKyAqCisgKiBUaGUgcGl0Y2ggYmV0d2VlbiB0aGUgc3RhcnQgb2YgZWFjaCBjb2x1bW4g aXMgc2V0IHRvIG9wdGltYWxseQorICogc3dpdGNoIGJldHdlZW4gU0RSQU0gYmFua3MuIFRoaXMg aXMgcGFzc2VkIGFzIHRoZSBudW1iZXIgb2YgbGluZXMKKyAqIG9mIGNvbHVtbiB3aWR0aCBpbiB0 aGUgbW9kaWZpZXIgKHdlIGNhbid0IHVzZSB0aGUgc3RyaWRlIHZhbHVlIGR1ZQorICogdG8gdmFy aW91cyBjb3JlIGNoZWNrcyB0aGF0IGxvb2sgYXQgaXQgLCBzbyB5b3Ugc2hvdWxkIHNldCB0aGUK KyAqIHN0cmlkZSB0byB3aWR0aCpjcHApLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgY29sdW1uIGhl aWdodCBmb3IgdGhpcyBmb3JtYXQgbW9kaWZpZXIgaXMgdGhlIHNhbWUKKyAqIGZvciBhbGwgb2Yg dGhlIHBsYW5lcywgYXNzdW1pbmcgdGhhdCBlYWNoIGNvbHVtbiBjb250YWlucyBib3RoIFkKKyAq IGFuZCBVVi4gIFNvbWUgU0FORC11c2luZyBoYXJkd2FyZSBzdG9yZXMgVVYgaW4gYSBzZXBhcmF0 ZSB0aWxlZAorICogaW1hZ2UgZnJvbSBZIHRvIHJlZHVjZSB0aGUgY29sdW1uIGhlaWdodCwgd2hp Y2ggaXMgbm90IHN1cHBvcnRlZAorICogd2l0aCB0aGVzZSBtb2RpZmllcnMuCisgKi8KKworI2Rl ZmluZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5EMzJfQ09MX0hFSUdIVCh2KSBcCisJZm91 cmNjX21vZF9icm9hZGNvbV9jb2RlKDIsIHYpCisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX0JST0FE Q09NX1NBTkQ2NF9DT0xfSEVJR0hUKHYpIFwKKwlmb3VyY2NfbW9kX2Jyb2FkY29tX2NvZGUoMywg dikKKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDEyOF9DT0xfSEVJR0hUKHYp IFwKKwlmb3VyY2NfbW9kX2Jyb2FkY29tX2NvZGUoNCwgdikKKyNkZWZpbmUgRFJNX0ZPUk1BVF9N T0RfQlJPQURDT01fU0FORDI1Nl9DT0xfSEVJR0hUKHYpIFwKKwlmb3VyY2NfbW9kX2Jyb2FkY29t X2NvZGUoNSwgdikKKworI2RlZmluZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5EMzIgXAor CURSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQzMl9DT0xfSEVJR0hUKDApCisjZGVmaW5lIERS TV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQ2NCBcCisJRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01f U0FORDY0X0NPTF9IRUlHSFQoMCkKKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FO RDEyOCBcCisJRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDEyOF9DT0xfSEVJR0hUKDApCisj ZGVmaW5lIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQyNTYgXAorCURSTV9GT1JNQVRfTU9E X0JST0FEQ09NX1NBTkQyNTZfQ09MX0hFSUdIVCgwKQorCisvKiBCcm9hZGNvbSBVSUYgZm9ybWF0 CisgKgorICogVGhpcyBpcyB0aGUgY29tbW9uIGZvcm1hdCBmb3IgdGhlIGN1cnJlbnQgQnJvYWRj b20gbXVsdGltZWRpYQorICogYmxvY2tzLCBpbmNsdWRpbmcgVjNEIDMueCBhbmQgbmV3ZXIsIG5l d2VyIHZpZGVvIGNvZGVjcywgYW5kCisgKiBkaXNwbGF5cy4KKyAqCisgKiBUaGUgaW1hZ2UgY29u c2lzdHMgb2YgdXRpbGVzICg2NGIgYmxvY2tzKSwgVUlGIGJsb2NrcyAoMngyIHV0aWxlcyksCisg KiBhbmQgbWFjcm9ibG9ja3MgKDR4NCBVSUYgYmxvY2tzKS4gIFRob3NlIDR4NCBVSUYgYmxvY2sg Z3JvdXBzIGFyZQorICogc3RvcmVkIGluIGNvbHVtbnMsIHdpdGggcGFkZGluZyBiZXR3ZWVuIHRo ZSBjb2x1bW5zIHRvIGVuc3VyZSB0aGF0CisgKiBtb3ZpbmcgZnJvbSBvbmUgY29sdW1uIHRvIHRo ZSBuZXh0IGRvZXNuJ3QgaGl0IHRoZSBzYW1lIFNEUkFNIHBhZ2UKKyAqIGJhbmsuCisgKgorICog VG8gY2FsY3VsYXRlIHRoZSBwYWRkaW5nLCBpdCBpcyBhc3N1bWVkIHRoYXQgZWFjaCBoYXJkd2Fy ZSBibG9jaworICogYW5kIHRoZSBzb2Z0d2FyZSBkcml2aW5nIGl0IGtub3dzIHRoZSBwbGF0Zm9y bSdzIFNEUkFNIHBhZ2Ugc2l6ZSwKKyAqIG51bWJlciBvZiBiYW5rcywgYW5kIFhPUiBhZGRyZXNz LCBhbmQgdGhhdCBpdCdzIGlkZW50aWNhbCBiZXR3ZWVuCisgKiBhbGwgYmxvY2tzIHVzaW5nIHRo ZSBmb3JtYXQuICBUaGlzIHRpbGluZyBtb2RpZmllciB3aWxsIHVzZSBYT1IgYXMKKyAqIG5lY2Vz c2FyeSB0byByZWR1Y2UgdGhlIHBhZGRpbmcuICBJZiBhIGhhcmR3YXJlIGJsb2NrIGNhbid0IGRv IFhPUiwKKyAqIHRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgYSBuby1YT1IgdGlsaW5nIG1vZGlmaWVy IHdpbGwgYmUgY3JlYXRlZC4KKyAqLworI2RlZmluZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9V SUYgZm91cmNjX21vZF9jb2RlKEJST0FEQ09NLCA2KQorCisvKgorICogQXJtIEZyYW1lYnVmZmVy IENvbXByZXNzaW9uIChBRkJDKSBtb2RpZmllcnMKKyAqCisgKiBBRkJDIGlzIGEgcHJvcHJpZXRh cnkgbG9zc2xlc3MgaW1hZ2UgY29tcHJlc3Npb24gcHJvdG9jb2wgYW5kIGZvcm1hdC4KKyAqIEl0 IHByb3ZpZGVzIGZpbmUtZ3JhaW5lZCByYW5kb20gYWNjZXNzIGFuZCBtaW5pbWl6ZXMgdGhlIGFt b3VudCBvZiBkYXRhCisgKiB0cmFuc2ZlcnJlZCBiZXR3ZWVuIElQIGJsb2Nrcy4KKyAqCisgKiBB RkJDIGhhcyBzZXZlcmFsIGZlYXR1cmVzIHdoaWNoIG1heSBiZSBzdXBwb3J0ZWQgYW5kL29yIHVz ZWQsIHdoaWNoIGFyZQorICogcmVwcmVzZW50ZWQgdXNpbmcgYml0cyBpbiB0aGUgbW9kaWZpZXIu IE5vdCBhbGwgY29tYmluYXRpb25zIGFyZSB2YWxpZCwKKyAqIGFuZCBkaWZmZXJlbnQgZGV2aWNl cyBvciB1c2UtY2FzZXMgbWF5IHN1cHBvcnQgZGlmZmVyZW50IGNvbWJpbmF0aW9ucy4KKyAqLwor I2RlZmluZSBEUk1fRk9STUFUX01PRF9BUk1fQUZCQyhfX2FmYmNfbW9kZSkJZm91cmNjX21vZF9j b2RlKEFSTSwgX19hZmJjX21vZGUpCisKKy8qCisgKiBBRkJDIHN1cGVyYmxvY2sgc2l6ZQorICoK KyAqIEluZGljYXRlcyB0aGUgc3VwZXJibG9jayBzaXplKHMpIHVzZWQgZm9yIHRoZSBBRkJDIGJ1 ZmZlci4gVGhlIGJ1ZmZlcgorICogc2l6ZSAoaW4gcGl4ZWxzKSBtdXN0IGJlIGFsaWduZWQgdG8g YSBtdWx0aXBsZSBvZiB0aGUgc3VwZXJibG9jayBzaXplLgorICogRm91ciBsb3dlc3Qgc2lnbmlm aWNhbnQgYml0cyhMU0JzKSBhcmUgcmVzZXJ2ZWQgZm9yIGJsb2NrIHNpemUuCisgKi8KKyNkZWZp bmUgQUZCQ19GT1JNQVRfTU9EX0JMT0NLX1NJWkVfTUFTSyAgICAgIDB4ZgorI2RlZmluZSBBRkJD X0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV8xNngxNiAgICAgKDFVTEwpCisjZGVmaW5lIEFGQkNfRk9S TUFUX01PRF9CTE9DS19TSVpFXzMyeDggICAgICAoMlVMTCkKKworLyoKKyAqIEFGQkMgbG9zc2xl c3MgY29sb3JzcGFjZSB0cmFuc2Zvcm0KKyAqCisgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgYnVmZmVy IG1ha2VzIHVzZSBvZiB0aGUgQUZCQyBsb3NzbGVzcyBjb2xvcnNwYWNlCisgKiB0cmFuc2Zvcm0u CisgKi8KKyNkZWZpbmUgQUZCQ19GT1JNQVRfTU9EX1lUUiAgICAgKDFVTEwgPDwgIDQpCisKKy8q CisgKiBBRkJDIGJsb2NrLXNwbGl0CisgKgorICogSW5kaWNhdGVzIHRoYXQgdGhlIHBheWxvYWQg b2YgZWFjaCBzdXBlcmJsb2NrIGlzIHNwbGl0LiBUaGUgc2Vjb25kCisgKiBoYWxmIG9mIHRoZSBw YXlsb2FkIGlzIHBvc2l0aW9uZWQgYXQgYSBwcmVkZWZpbmVkIG9mZnNldCBmcm9tIHRoZSBzdGFy dAorICogb2YgdGhlIHN1cGVyYmxvY2sgcGF5bG9hZC4KKyAqLworI2RlZmluZSBBRkJDX0ZPUk1B VF9NT0RfU1BMSVQgICAoMVVMTCA8PCAgNSkKKworLyoKKyAqIEFGQkMgc3BhcnNlIGxheW91dAor ICoKKyAqIFRoaXMgZmxhZyBpbmRpY2F0ZXMgdGhhdCB0aGUgcGF5bG9hZCBvZiBlYWNoIHN1cGVy YmxvY2sgbXVzdCBiZSBzdG9yZWQgYXQgYQorICogcHJlZGVmaW5lZCBwb3NpdGlvbiByZWxhdGl2 ZSB0byB0aGUgb3RoZXIgc3VwZXJibG9ja3MgaW4gdGhlIHNhbWUgQUZCQworICogYnVmZmVyLiBU aGlzIG9yZGVyIGlzIHRoZSBzYW1lIG9yZGVyIHVzZWQgYnkgdGhlIGhlYWRlciBidWZmZXIuIElu IHRoaXMgbW9kZQorICogZWFjaCBzdXBlcmJsb2NrIGlzIGdpdmVuIHRoZSBzYW1lIGFtb3VudCBv ZiBzcGFjZSBhcyBhbiB1bmNvbXByZXNzZWQKKyAqIHN1cGVyYmxvY2sgb2YgdGhlIHBhcnRpY3Vs YXIgZm9ybWF0IHdvdWxkIHJlcXVpcmUsIHJvdW5kaW5nIHVwIHRvIHRoZSBuZXh0CisgKiBtdWx0 aXBsZSBvZiAxMjggYnl0ZXMgaW4gc2l6ZS4KKyAqLworI2RlZmluZSBBRkJDX0ZPUk1BVF9NT0Rf U1BBUlNFICAoMVVMTCA8PCAgNikKKworLyoKKyAqIEFGQkMgY29weS1ibG9jayByZXN0cmljdAor ICoKKyAqIEJ1ZmZlcnMgd2l0aCB0aGlzIGZsYWcgbXVzdCBvYmV5IHRoZSBjb3B5LWJsb2NrIHJl c3RyaWN0aW9uLiBUaGUgcmVzdHJpY3Rpb24KKyAqIGlzIHN1Y2ggdGhhdCB0aGVyZSBhcmUgbm8g Y29weS1ibG9ja3MgcmVmZXJyaW5nIGFjcm9zcyB0aGUgYm9yZGVyIG9mIDh4OAorICogYmxvY2tz LiBGb3IgdGhlIHN1YnNhbXBsZWQgZGF0YSB0aGUgOHg4IGxpbWl0YXRpb24gaXMgYWxzbyBzdWJz YW1wbGVkLgorICovCisjZGVmaW5lIEFGQkNfRk9STUFUX01PRF9DQlIgICAgICgxVUxMIDw8ICA3 KQorCisvKgorICogQUZCQyB0aWxlZCBsYXlvdXQKKyAqCisgKiBUaGUgdGlsZWQgbGF5b3V0IGdy b3VwcyBzdXBlcmJsb2NrcyBpbiA4eDggb3IgNHg0IHRpbGVzLCB3aGVyZSBhbGwKKyAqIHN1cGVy YmxvY2tzIGluc2lkZSBhIHRpbGUgYXJlIHN0b3JlZCB0b2dldGhlciBpbiBtZW1vcnkuIDh4OCB0 aWxlcyBhcmUgdXNlZAorICogZm9yIHBpeGVsIGZvcm1hdHMgdXAgdG8gYW5kIGluY2x1ZGluZyAz MiBicHAgd2hpbGUgNHg0IHRpbGVzIGFyZSB1c2VkIGZvcgorICogbGFyZ2VyIGJwcCBmb3JtYXRz LiBUaGUgb3JkZXIgYmV0d2VlbiB0aGUgdGlsZXMgaXMgc2NhbiBsaW5lLgorICogV2hlbiB0aGUg dGlsZWQgbGF5b3V0IGlzIHVzZWQsIHRoZSBidWZmZXIgc2l6ZSAoaW4gcGl4ZWxzKSBtdXN0IGJl IGFsaWduZWQKKyAqIHRvIHRoZSB0aWxlIHNpemUuCisgKi8KKyNkZWZpbmUgQUZCQ19GT1JNQVRf TU9EX1RJTEVEICAgKDFVTEwgPDwgIDgpCisKKy8qCisgKiBBRkJDIHNvbGlkIGNvbG9yIGJsb2Nr cworICoKKyAqIEluZGljYXRlcyB0aGF0IHRoZSBidWZmZXIgbWFrZXMgdXNlIG9mIHNvbGlkLWNv bG9yIGJsb2Nrcywgd2hlcmVieSBiYW5kd2lkdGgKKyAqIGNhbiBiZSByZWR1Y2VkIGlmIGEgd2hv bGUgc3VwZXJibG9jayBpcyBhIHNpbmdsZSBjb2xvci4KKyAqLworI2RlZmluZSBBRkJDX0ZPUk1B VF9NT0RfU0MgICAgICAoMVVMTCA8PCAgOSkKKwogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiB9 CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX21vZGUuaCBiL2luY2x1 ZGUvZHJtLXVhcGkvZHJtX21vZGUuaAppbmRleCAyYzU3NTc5NC4uZDNlMGZlMzEgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX21vZGUuaAorKysgYi9pbmNsdWRlL2RybS11YXBpL2Ry bV9tb2RlLmgKQEAgLTkzLDYgKzkzLDE1IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fTU9E RV9QSUNUVVJFX0FTUEVDVF9OT05FCQkwCiAjZGVmaW5lIERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNU XzRfMwkJMQogI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF8xNl85CQkyCisjZGVmaW5l IERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzY0XzI3CQkzCisjZGVmaW5lIERSTV9NT0RFX1BJQ1RV UkVfQVNQRUNUXzI1Nl8xMzUJCTQKKworLyogQ29udGVudCB0eXBlIG9wdGlvbnMgKi8KKyNkZWZp bmUgRFJNX01PREVfQ09OVEVOVF9UWVBFX05PX0RBVEEJCTAKKyNkZWZpbmUgRFJNX01PREVfQ09O VEVOVF9UWVBFX0dSQVBISUNTCQkxCisjZGVmaW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9QSE9U TwkJMgorI2RlZmluZSBEUk1fTU9ERV9DT05URU5UX1RZUEVfQ0lORU1BCQkzCisjZGVmaW5lIERS TV9NT0RFX0NPTlRFTlRfVFlQRV9HQU1FCQk0CiAKIC8qIEFzcGVjdCByYXRpbyBmbGFnIGJpdG1h c2sgKDQgYml0cyAyMjoxOSkgKi8KICNkZWZpbmUgRFJNX01PREVfRkxBR19QSUNfQVJfTUFTSwkJ KDB4MEY8PDE5KQpAQCAtMTAyLDYgKzExMSwxMCBAQCBleHRlcm4gIkMiIHsKIAkJCShEUk1fTU9E RV9QSUNUVVJFX0FTUEVDVF80XzM8PDE5KQogI2RlZmluZSAgRFJNX01PREVfRkxBR19QSUNfQVJf MTZfOSBcCiAJCQkoRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfMTZfOTw8MTkpCisjZGVmaW5lICBE Uk1fTU9ERV9GTEFHX1BJQ19BUl82NF8yNyBcCisJCQkoRFJNX01PREVfUElDVFVSRV9BU1BFQ1Rf NjRfMjc8PDE5KQorI2RlZmluZSAgRFJNX01PREVfRkxBR19QSUNfQVJfMjU2XzEzNSBcCisJCQko RFJNX01PREVfUElDVFVSRV9BU1BFQ1RfMjU2XzEzNTw8MTkpCiAKICNkZWZpbmUgIERSTV9NT0RF X0ZMQUdfQUxMCShEUk1fTU9ERV9GTEFHX1BIU1lOQyB8CQlcCiAJCQkJIERSTV9NT0RFX0ZMQUdf TkhTWU5DIHwJCVwKQEAgLTE3Myw4ICsxODYsOSBAQCBleHRlcm4gIkMiIHsKIC8qCiAgKiBEUk1f TU9ERV9SRUZMRUNUXzxheGlzPgogICoKLSAqIFNpZ25hbHMgdGhhdCB0aGUgY29udGVudHMgb2Yg YSBkcm0gcGxhbmUgaXMgcmVmbGVjdGVkIGluIHRoZSA8YXhpcz4gYXhpcywKKyAqIFNpZ25hbHMg dGhhdCB0aGUgY29udGVudHMgb2YgYSBkcm0gcGxhbmUgaXMgcmVmbGVjdGVkIGFsb25nIHRoZSA8 YXhpcz4gYXhpcywKICAqIGluIHRoZSBzYW1lIHdheSBhcyBtaXJyb3JpbmcuCisgKiBTZWUga2Vy bmVsZG9jIGNoYXB0ZXIgIlBsYW5lIENvbXBvc2l0aW9uIFByb3BlcnRpZXMiIGZvciBtb3JlIGRl dGFpbHMuCiAgKgogICogVGhpcyBkZWZpbmUgaXMgcHJvdmlkZWQgYXMgYSBjb252ZW5pZW5jZSwg bG9va2luZyB1cCB0aGUgcHJvcGVydHkgaWQKICAqIHVzaW5nIHRoZSBuYW1lLT5wcm9wIGlkIGxv b2t1cCBpcyB0aGUgcHJlZmVycmVkIG1ldGhvZC4KQEAgLTMzOCw2ICszNTIsNyBAQCBlbnVtIGRy bV9tb2RlX3N1YmNvbm5lY3RvciB7CiAjZGVmaW5lIERSTV9NT0RFX0NPTk5FQ1RPUl9WSVJUVUFM ICAgICAgMTUKICNkZWZpbmUgRFJNX01PREVfQ09OTkVDVE9SX0RTSQkJMTYKICNkZWZpbmUgRFJN X01PREVfQ09OTkVDVE9SX0RQSQkJMTcKKyNkZWZpbmUgRFJNX01PREVfQ09OTkVDVE9SX1dSSVRF QkFDSwkxOAogCiBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2Nvbm5lY3RvciB7CiAKQEAgLTM2Myw3ICsz NzgsNyBAQCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2Nvbm5lY3RvciB7CiAJX191MzIgcGFkOwogfTsK IAotI2RlZmluZSBEUk1fTU9ERV9QUk9QX1BFTkRJTkcJKDE8PDApCisjZGVmaW5lIERSTV9NT0RF X1BST1BfUEVORElORwkoMTw8MCkgLyogZGVwcmVjYXRlZCwgZG8gbm90IHVzZSAqLwogI2RlZmlu ZSBEUk1fTU9ERV9QUk9QX1JBTkdFCSgxPDwxKQogI2RlZmluZSBEUk1fTU9ERV9QUk9QX0lNTVVU QUJMRQkoMTw8MikKICNkZWZpbmUgRFJNX01PREVfUFJPUF9FTlVNCSgxPDwzKSAvKiBlbnVtZXJh dGVkIHR5cGUgd2l0aCB0ZXh0IHN0cmluZ3MgKi8KQEAgLTU5OCw4ICs2MTMsMTEgQEAgc3RydWN0 IGRybV9tb2RlX2NydGNfbHV0IHsKIH07CiAKIHN0cnVjdCBkcm1fY29sb3JfY3RtIHsKLQkvKiBD b252ZXJzaW9uIG1hdHJpeCBpbiBTMzEuMzIgZm9ybWF0LiAqLwotCV9fczY0IG1hdHJpeFs5XTsK KwkvKgorCSAqIENvbnZlcnNpb24gbWF0cml4IGluIFMzMS4zMiBzaWduLW1hZ25pdHVkZQorCSAq IChub3QgdHdvJ3MgY29tcGxlbWVudCEpIGZvcm1hdC4KKwkgKi8KKwlfX3U2NCBtYXRyaXhbOV07 CiB9OwogCiBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11 YXBpL2V0bmF2aXZfZHJtLmggYi9pbmNsdWRlL2RybS11YXBpL2V0bmF2aXZfZHJtLmgKaW5kZXgg ZTliOTk3YTAuLjBkNWM0OWRjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL2V0bmF2aXZf ZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9ldG5hdml2X2RybS5oCkBAIC01NSw2ICs1NSwx MiBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfdGltZXNwZWMgewogI2RlZmluZSBFVE5BVklWX1BBUkFN X0dQVV9GRUFUVVJFU180ICAgICAgICAgICAgICAgIDB4MDcKICNkZWZpbmUgRVROQVZJVl9QQVJB TV9HUFVfRkVBVFVSRVNfNSAgICAgICAgICAgICAgICAweDA4CiAjZGVmaW5lIEVUTkFWSVZfUEFS QU1fR1BVX0ZFQVRVUkVTXzYgICAgICAgICAgICAgICAgMHgwOQorI2RlZmluZSBFVE5BVklWX1BB UkFNX0dQVV9GRUFUVVJFU183ICAgICAgICAgICAgICAgIDB4MGEKKyNkZWZpbmUgRVROQVZJVl9Q QVJBTV9HUFVfRkVBVFVSRVNfOCAgICAgICAgICAgICAgICAweDBiCisjZGVmaW5lIEVUTkFWSVZf UEFSQU1fR1BVX0ZFQVRVUkVTXzkgICAgICAgICAgICAgICAgMHgwYworI2RlZmluZSBFVE5BVklW X1BBUkFNX0dQVV9GRUFUVVJFU18xMCAgICAgICAgICAgICAgIDB4MGQKKyNkZWZpbmUgRVROQVZJ Vl9QQVJBTV9HUFVfRkVBVFVSRVNfMTEgICAgICAgICAgICAgICAweDBlCisjZGVmaW5lIEVUTkFW SVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzEyICAgICAgICAgICAgICAgMHgwZgogCiAjZGVmaW5lIEVU TkFWSVZfUEFSQU1fR1BVX1NUUkVBTV9DT1VOVCAgICAgICAgICAgICAgMHgxMAogI2RlZmluZSBF VE5BVklWX1BBUkFNX0dQVV9SRUdJU1RFUl9NQVggICAgICAgICAgICAgIDB4MTEKZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtLXVhcGkvZXh5bm9zX2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS9leHlu b3NfZHJtLmgKaW5kZXggYTAwMTE2YjUuLjc0MTRjZmQ3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2Ry bS11YXBpL2V4eW5vc19kcm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBpL2V4eW5vc19kcm0uaApA QCAtMTM1LDYgKzEzNSwyMTkgQEAgc3RydWN0IGRybV9leHlub3NfZzJkX2V4ZWMgewogCV9fdTY0 CQkJCQlhc3luYzsKIH07CiAKKy8qIEV4eW5vcyBEUk0gSVBQIHYyIEFQSSAqLworCisvKioKKyAq IEVudW1lcmF0ZSBhdmFpbGFibGUgSVBQIGhhcmR3YXJlIG1vZHVsZXMuCisgKgorICogQGNvdW50 X2lwcHM6IHNpemUgb2YgaXBwX2lkIGFycmF5IC8gbnVtYmVyIG9mIGlwcCBtb2R1bGVzIChzZXQg YnkgZHJpdmVyKQorICogQHJlc2VydmVkOiBwYWRkaW5nCisgKiBAaXBwX2lkX3B0cjogcG9pbnRl ciB0byBpcHBfaWQgYXJyYXkgb3IgTlVMTAorICovCitzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9p cHBfZ2V0X3JlcyB7CisJX191MzIgY291bnRfaXBwczsKKwlfX3UzMiByZXNlcnZlZDsKKwlfX3U2 NCBpcHBfaWRfcHRyOworfTsKKworZW51bSBkcm1fZXh5bm9zX2lwcF9mb3JtYXRfdHlwZSB7CisJ RFJNX0VYWU5PU19JUFBfRk9STUFUX1NPVVJDRQkJPSAweDAxLAorCURSTV9FWFlOT1NfSVBQX0ZP Uk1BVF9ERVNUSU5BVElPTgk9IDB4MDIsCit9OworCitzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfZm9y bWF0IHsKKwlfX3UzMiBmb3VyY2M7CisJX191MzIgdHlwZTsKKwlfX3U2NCBtb2RpZmllcjsKK307 CisKK2VudW0gZHJtX2V4eW5vc19pcHBfY2FwYWJpbGl0eSB7CisJRFJNX0VYWU5PU19JUFBfQ0FQ X0NST1AJCT0gMHgwMSwKKwlEUk1fRVhZTk9TX0lQUF9DQVBfUk9UQVRFCT0gMHgwMiwKKwlEUk1f RVhZTk9TX0lQUF9DQVBfU0NBTEUJPSAweDA0LAorCURSTV9FWFlOT1NfSVBQX0NBUF9DT05WRVJU CT0gMHgwOCwKK307CisKKy8qKgorICogR2V0IElQUCBoYXJkd2FyZSBjYXBhYmlsaXRpZXMgYW5k IHN1cHBvcnRlZCBpbWFnZSBmb3JtYXRzLgorICoKKyAqIEBpcHBfaWQ6IGlkIG9mIElQUCBtb2R1 bGUgdG8gcXVlcnkKKyAqIEBjYXBhYmlsaXRpZXM6IGJpdG1hc2sgb2YgZHJtX2V4eW5vc19pcHBf Y2FwYWJpbGl0eSAoc2V0IGJ5IGRyaXZlcikKKyAqIEByZXNlcnZlZDogcGFkZGluZworICogQGZv cm1hdHNfY291bnQ6IHNpemUgb2YgZm9ybWF0cyBhcnJheSAoaW4gZW50cmllcykgLyBudW1iZXIg b2YgZmlsbGVkCisgKgkJICAgZm9ybWF0cyAoc2V0IGJ5IGRyaXZlcikKKyAqIEBmb3JtYXRzX3B0 cjogcG9pbnRlciB0byBmb3JtYXRzIGFycmF5IG9yIE5VTEwKKyAqLworc3RydWN0IGRybV9leHlu b3NfaW9jdGxfaXBwX2dldF9jYXBzIHsKKwlfX3UzMiBpcHBfaWQ7CisJX191MzIgY2FwYWJpbGl0 aWVzOworCV9fdTMyIHJlc2VydmVkOworCV9fdTMyIGZvcm1hdHNfY291bnQ7CisJX191NjQgZm9y bWF0c19wdHI7Cit9OworCitlbnVtIGRybV9leHlub3NfaXBwX2xpbWl0X3R5cGUgeworCS8qIHNp emUgKGhvcml6b250YWwvdmVydGlhbCkgbGltaXRzLCBpbiBwaXhlbHMgKG1pbiwgbWF4LCBhbGln bm1lbnQpICovCisJRFJNX0VYWU5PU19JUFBfTElNSVRfVFlQRV9TSVpFCQk9IDB4MDAwMSwKKwkv KiBzY2FsZSByYXRpbyAoaG9yaXpvbnRhL3ZlcnRpYWwpLCAxNi4xNiBmaXhlZCBwb2ludCAobWlu LCBtYXgpICovCisJRFJNX0VYWU5PU19JUFBfTElNSVRfVFlQRV9TQ0FMRQkJPSAweDAwMDIsCisK KwkvKiBpbWFnZSBidWZmZXIgYXJlYSAqLworCURSTV9FWFlOT1NfSVBQX0xJTUlUX1NJWkVfQlVG RkVSCT0gMHgwMDAxIDw8IDE2LAorCS8qIHNyYy9kc3QgcmVjdGFuZ2xlIGFyZWEgKi8KKwlEUk1f RVhZTk9TX0lQUF9MSU1JVF9TSVpFX0FSRUEJCT0gMHgwMDAyIDw8IDE2LAorCS8qIHNyYy9kc3Qg cmVjdGFuZ2xlIGFyZWEgd2hlbiByb3RhdGlvbiBlbmFibGVkICovCisJRFJNX0VYWU5PU19JUFBf TElNSVRfU0laRV9ST1RBVEVECT0gMHgwMDAzIDw8IDE2LAorCisJRFJNX0VYWU5PU19JUFBfTElN SVRfVFlQRV9NQVNLCQk9IDB4MDAwZiwKKwlEUk1fRVhZTk9TX0lQUF9MSU1JVF9TSVpFX01BU0sJ CT0gMHgwMDBmIDw8IDE2LAorfTsKKworc3RydWN0IGRybV9leHlub3NfaXBwX2xpbWl0X3ZhbCB7 CisJX191MzIgbWluOworCV9fdTMyIG1heDsKKwlfX3UzMiBhbGlnbjsKKwlfX3UzMiByZXNlcnZl ZDsKK307CisKKy8qKgorICogSVBQIG1vZHVsZSBsaW1pdGF0aW9uLgorICoKKyAqIEB0eXBlOiBs aW1pdCB0eXBlIChzZWUgZHJtX2V4eW5vc19pcHBfbGltaXRfdHlwZSBlbnVtKQorICogQHJlc2Vy dmVkOiBwYWRkaW5nCisgKiBAaDogaG9yaXpvbnRhbCBsaW1pdHMKKyAqIEB2OiB2ZXJ0aWNhbCBs aW1pdHMKKyAqLworc3RydWN0IGRybV9leHlub3NfaXBwX2xpbWl0IHsKKwlfX3UzMiB0eXBlOwor CV9fdTMyIHJlc2VydmVkOworCXN0cnVjdCBkcm1fZXh5bm9zX2lwcF9saW1pdF92YWwgaDsKKwlz dHJ1Y3QgZHJtX2V4eW5vc19pcHBfbGltaXRfdmFsIHY7Cit9OworCisvKioKKyAqIEdldCBJUFAg bGltaXRzIGZvciBnaXZlbiBpbWFnZSBmb3JtYXQuCisgKgorICogQGlwcF9pZDogaWQgb2YgSVBQ IG1vZHVsZSB0byBxdWVyeQorICogQGZvdXJjYzogaW1hZ2UgZm9ybWF0IGNvZGUgKHNlZSBEUk1f Rk9STUFUXyogaW4gZHJtX2ZvdXJjYy5oKQorICogQG1vZGlmaWVyOiBpbWFnZSBmb3JtYXQgbW9k aWZpZXIgKHNlZSBEUk1fRk9STUFUX01PRF8qIGluIGRybV9mb3VyY2MuaCkKKyAqIEB0eXBlOiBz b3VyY2UvZGVzdGluYXRpb24gaWRlbnRpZmllciAoZHJtX2V4eW5vc19pcHBfZm9ybWF0X2ZsYWcg ZW51bSkKKyAqIEBsaW1pdHNfY291bnQ6IHNpemUgb2YgbGltaXRzIGFycmF5IChpbiBlbnRyaWVz KSAvIG51bWJlciBvZiBmaWxsZWQgZW50cmllcworICoJCSAoc2V0IGJ5IGRyaXZlcikKKyAqIEBs aW1pdHNfcHRyOiBwb2ludGVyIHRvIGxpbWl0cyBhcnJheSBvciBOVUxMCisgKi8KK3N0cnVjdCBk cm1fZXh5bm9zX2lvY3RsX2lwcF9nZXRfbGltaXRzIHsKKwlfX3UzMiBpcHBfaWQ7CisJX191MzIg Zm91cmNjOworCV9fdTY0IG1vZGlmaWVyOworCV9fdTMyIHR5cGU7CisJX191MzIgbGltaXRzX2Nv dW50OworCV9fdTY0IGxpbWl0c19wdHI7Cit9OworCitlbnVtIGRybV9leHlub3NfaXBwX3Rhc2tf aWQgeworCS8qIGJ1ZmZlciBkZXNjcmliZWQgYnkgc3RydWN0IGRybV9leHlub3NfaXBwX3Rhc2tf YnVmZmVyICovCisJRFJNX0VYWU5PU19JUFBfVEFTS19CVUZGRVIJCT0gMHgwMDAxLAorCS8qIHJl Y3RhbmdsZSBkZXNjcmliZWQgYnkgc3RydWN0IGRybV9leHlub3NfaXBwX3Rhc2tfcmVjdCAqLwor CURSTV9FWFlOT1NfSVBQX1RBU0tfUkVDVEFOR0xFCQk9IDB4MDAwMiwKKwkvKiB0cmFuc2Zvcm1h dGlvbiBkZXNjcmliZWQgYnkgc3RydWN0IGRybV9leHlub3NfaXBwX3Rhc2tfdHJhbnNmb3JtICov CisJRFJNX0VYWU5PU19JUFBfVEFTS19UUkFOU0ZPUk0JCT0gMHgwMDAzLAorCS8qIGFscGhhIGNv bmZpZ3VyYXRpb24gZGVzY3JpYmVkIGJ5IHN0cnVjdCBkcm1fZXh5bm9zX2lwcF90YXNrX2FscGhh ICovCisJRFJNX0VYWU5PU19JUFBfVEFTS19BTFBIQQkJPSAweDAwMDQsCisKKwkvKiBzb3VyY2Ug aW1hZ2UgZGF0YSAoZm9yIGJ1ZmZlciBhbmQgcmVjdGFuZ2xlIGNodW5rcykgKi8KKwlEUk1fRVhZ Tk9TX0lQUF9UQVNLX1RZUEVfU09VUkNFCQk9IDB4MDAwMSA8PCAxNiwKKwkvKiBkZXN0aW5hdGlv biBpbWFnZSBkYXRhIChmb3IgYnVmZmVyIGFuZCByZWN0YW5nbGUgY2h1bmtzKSAqLworCURSTV9F WFlOT1NfSVBQX1RBU0tfVFlQRV9ERVNUSU5BVElPTgk9IDB4MDAwMiA8PCAxNiwKK307CisKKy8q KgorICogTWVtb3J5IGJ1ZmZlciB3aXRoIGltYWdlIGRhdGEuCisgKgorICogQGlkOiBtdXN0IGJl IERSTV9FWFlOT1NfSVBQX1RBU0tfQlVGRkVSCisgKiBvdGhlciBwYXJhbWV0ZXJzIGFyZSBzYW1l IGFzIGZvciBBZGRGQjIgZ2VuZXJpYyBEUk0gaW9jdGwKKyAqLworc3RydWN0IGRybV9leHlub3Nf aXBwX3Rhc2tfYnVmZmVyIHsKKwlfX3UzMglpZDsKKwlfX3UzMglmb3VyY2M7CisJX191MzIJd2lk dGgsIGhlaWdodDsKKwlfX3UzMglnZW1faWRbNF07CisJX191MzIJb2Zmc2V0WzRdOworCV9fdTMy CXBpdGNoWzRdOworCV9fdTY0CW1vZGlmaWVyOworfTsKKworLyoqCisgKiBSZWN0YW5nbGUgZm9y IHByb2Nlc3NpbmcuCisgKgorICogQGlkOiBtdXN0IGJlIERSTV9FWFlOT1NfSVBQX1RBU0tfUkVD VEFOR0xFCisgKiBAcmVzZXJ2ZWQ6IHBhZGRpbmcKKyAqIEB4LEB5OiBsZWZ0IGNvcm5lciBpbiBw aXhlbHMKKyAqIEB3LEBoOiB3aWR0aC9oZWlnaHQgaW4gcGl4ZWxzCisgKi8KK3N0cnVjdCBkcm1f ZXh5bm9zX2lwcF90YXNrX3JlY3QgeworCV9fdTMyCWlkOworCV9fdTMyCXJlc2VydmVkOworCV9f dTMyCXg7CisJX191MzIJeTsKKwlfX3UzMgl3OworCV9fdTMyCWg7Cit9OworCisvKioKKyAqIElt YWdlIHRyYW5mb3JtYXRpb24gZGVzY3JpcHRpb24uCisgKgorICogQGlkOiBtdXN0IGJlIERSTV9F WFlOT1NfSVBQX1RBU0tfVFJBTlNGT1JNCisgKiBAcm90YXRpb246IERSTV9NT0RFX1JPVEFURV8q IGFuZCBEUk1fTU9ERV9SRUZMRUNUXyogdmFsdWVzCisgKi8KK3N0cnVjdCBkcm1fZXh5bm9zX2lw cF90YXNrX3RyYW5zZm9ybSB7CisJX191MzIJaWQ7CisJX191MzIJcm90YXRpb247Cit9OworCisv KioKKyAqIEltYWdlIGdsb2JhbCBhbHBoYSBjb25maWd1cmF0aW9uIGZvciBmb3JtYXRzIHdpdGhv dXQgYWxwaGEgdmFsdWVzLgorICoKKyAqIEBpZDogbXVzdCBiZSBEUk1fRVhZTk9TX0lQUF9UQVNL X0FMUEhBCisgKiBAdmFsdWU6IGdsb2JhbCBhbHBoYSB2YWx1ZSAoMC0yNTUpCisgKi8KK3N0cnVj dCBkcm1fZXh5bm9zX2lwcF90YXNrX2FscGhhIHsKKwlfX3UzMglpZDsKKwlfX3UzMgl2YWx1ZTsK K307CisKK2VudW0gZHJtX2V4eW5vc19pcHBfZmxhZyB7CisJLyogZ2VuZXJhdGUgRFJNIGV2ZW50 IGFmdGVyIHByb2Nlc3NpbmcgKi8KKwlEUk1fRVhZTk9TX0lQUF9GTEFHX0VWRU5UCT0gMHgwMSwK KwkvKiBkcnkgcnVuLCBvbmx5IGNoZWNrIHRhc2sgcGFyYW1ldGVycyAqLworCURSTV9FWFlOT1Nf SVBQX0ZMQUdfVEVTVF9PTkxZCT0gMHgwMiwKKwkvKiBub24tYmxvY2tpbmcgcHJvY2Vzc2luZyAq LworCURSTV9FWFlOT1NfSVBQX0ZMQUdfTk9OQkxPQ0sJPSAweDA0LAorfTsKKworI2RlZmluZSBE Uk1fRVhZTk9TX0lQUF9GTEFHUyAoRFJNX0VYWU5PU19JUFBfRkxBR19FVkVOVCB8XAorCQlEUk1f RVhZTk9TX0lQUF9GTEFHX1RFU1RfT05MWSB8IERSTV9FWFlOT1NfSVBQX0ZMQUdfTk9OQkxPQ0sp CisKKy8qKgorICogUGVyZm9ybSBpbWFnZSBwcm9jZXNzaW5nIGRlc2NyaWJlZCBieSBhcnJheSBv ZiBkcm1fZXh5bm9zX2lwcF90YXNrXyoKKyAqIHN0cnVjdHVyZXMgKHBhcmFtZXRlcnMgYXJyYXkp LgorICoKKyAqIEBpcHBfaWQ6IGlkIG9mIElQUCBtb2R1bGUgdG8gcnVuIHRoZSB0YXNrCisgKiBA ZmxhZ3M6IGJpdG1hc2sgb2YgZHJtX2V4eW5vc19pcHBfZmxhZyB2YWx1ZXMKKyAqIEByZXNlcnZl ZDogcGFkZGluZworICogQHBhcmFtc19zaXplOiBzaXplIG9mIHBhcmFtZXRlcnMgYXJyYXkgKGlu IGJ5dGVzKQorICogQHBhcmFtc19wdHI6IHBvaW50ZXIgdG8gcGFyYW1ldGVycyBhcnJheSBvciBO VUxMCisgKiBAdXNlcl9kYXRhOiAob3B0aW9uYWwpIGRhdGEgZm9yIGRybSBldmVudAorICovCitz dHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfY29tbWl0IHsKKwlfX3UzMiBpcHBfaWQ7CisJX191 MzIgZmxhZ3M7CisJX191MzIgcmVzZXJ2ZWQ7CisJX191MzIgcGFyYW1zX3NpemU7CisJX191NjQg cGFyYW1zX3B0cjsKKwlfX3U2NCB1c2VyX2RhdGE7Cit9OworCiAjZGVmaW5lIERSTV9FWFlOT1Nf R0VNX0NSRUFURQkJMHgwMAogI2RlZmluZSBEUk1fRVhZTk9TX0dFTV9NQVAJCTB4MDEKIC8qIFJl c2VydmVkIDB4MDMgfiAweDA1IGZvciBleHlub3Mgc3BlY2lmaWMgZ2VtIGlvY3RsICovCkBAIC0x NDcsNiArMzYwLDExIEBAIHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9leGVjIHsKICNkZWZpbmUgRFJN X0VYWU5PU19HMkRfRVhFQwkJMHgyMgogCiAvKiBSZXNlcnZlZCAweDMwIH4gMHgzMyBmb3Igb2Jz b2xldGUgRXh5bm9zIElQUCBpb2N0bHMgKi8KKy8qIElQUCAtIEltYWdlIFBvc3QgUHJvY2Vzc2lu ZyAqLworI2RlZmluZSBEUk1fRVhZTk9TX0lQUF9HRVRfUkVTT1VSQ0VTCTB4NDAKKyNkZWZpbmUg RFJNX0VYWU5PU19JUFBfR0VUX0NBUFMJCTB4NDEKKyNkZWZpbmUgRFJNX0VYWU5PU19JUFBfR0VU X0xJTUlUUwkweDQyCisjZGVmaW5lIERSTV9FWFlOT1NfSVBQX0NPTU1JVAkJMHg0MwogCiAjZGVm aW5lIERSTV9JT0NUTF9FWFlOT1NfR0VNX0NSRUFURQkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFT RSArIFwKIAkJRFJNX0VYWU5PU19HRU1fQ1JFQVRFLCBzdHJ1Y3QgZHJtX2V4eW5vc19nZW1fY3Jl YXRlKQpAQCAtMTY1LDggKzM4MywyMCBAQCBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRfZXhlYyB7CiAj ZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfRzJEX0VYRUMJCURSTV9JT1dSKERSTV9DT01NQU5EX0JB U0UgKyBcCiAJCURSTV9FWFlOT1NfRzJEX0VYRUMsIHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9leGVj KQogCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX0dFVF9SRVNPVVJDRVMJRFJNX0lPV1Io RFJNX0NPTU1BTkRfQkFTRSArIFwKKwkJRFJNX0VYWU5PU19JUFBfR0VUX1JFU09VUkNFUywgXAor CQlzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfZ2V0X3JlcykKKyNkZWZpbmUgRFJNX0lPQ1RM X0VYWU5PU19JUFBfR0VUX0NBUFMJCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBcCisJCURS TV9FWFlOT1NfSVBQX0dFVF9DQVBTLCBzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfZ2V0X2Nh cHMpCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX0dFVF9MSU1JVFMJCURSTV9JT1dSKERS TV9DT01NQU5EX0JBU0UgKyBcCisJCURSTV9FWFlOT1NfSVBQX0dFVF9MSU1JVFMsIFwKKwkJc3Ry dWN0IGRybV9leHlub3NfaW9jdGxfaXBwX2dldF9saW1pdHMpCisjZGVmaW5lIERSTV9JT0NUTF9F WFlOT1NfSVBQX0NPTU1JVAkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIFwKKwkJRFJNX0VY WU5PU19JUFBfQ09NTUlULCBzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfY29tbWl0KQorCiAv KiBFWFlOT1Mgc3BlY2lmaWMgZXZlbnRzICovCiAjZGVmaW5lIERSTV9FWFlOT1NfRzJEX0VWRU5U CQkweDgwMDAwMDAwCisjZGVmaW5lIERSTV9FWFlOT1NfSVBQX0VWRU5UCQkweDgwMDAwMDAyCiAK IHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9ldmVudCB7CiAJc3RydWN0IGRybV9ldmVudAliYXNlOwpA QCAtMTc3LDYgKzQwNywxNiBAQCBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRfZXZlbnQgewogCV9fdTMy CQkJcmVzZXJ2ZWQ7CiB9OwogCitzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfZXZlbnQgeworCXN0cnVj dCBkcm1fZXZlbnQJYmFzZTsKKwlfX3U2NAkJCXVzZXJfZGF0YTsKKwlfX3UzMgkJCXR2X3NlYzsK KwlfX3UzMgkJCXR2X3VzZWM7CisJX191MzIJCQlpcHBfaWQ7CisJX191MzIJCQlzZXF1ZW5jZTsK KwlfX3U2NAkJCXJlc2VydmVkOworfTsKKwogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiB9CiAj ZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvaTkxNV9kcm0uaCBiL2luY2x1ZGUv ZHJtLXVhcGkvaTkxNV9kcm0uaAppbmRleCAxNmU0NTJhYS4uYmZkZWVjNjEgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvZHJtLXVhcGkvaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBpL2k5MTVf ZHJtLmgKQEAgLTk4LDYgKzk4LDcgQEAgZW51bSBkcm1faTkxNV9nZW1fZW5naW5lX2NsYXNzIHsK IAlJOTE1X0VOR0lORV9DTEFTU19DT1BZCQk9IDEsCiAJSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8J CT0gMiwKIAlJOTE1X0VOR0lORV9DTEFTU19WSURFT19FTkhBTkNFCT0gMywKKwlJOTE1X0VOR0lO RV9DTEFTU19DT01QVVRFCT0gNCwKIAogCUk5MTVfRU5HSU5FX0NMQVNTX0lOVkFMSUQJPSAtMQog fTsKQEAgLTMxOSw2ICszMjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEgewog I2RlZmluZSBEUk1fSTkxNV9QRVJGX0FERF9DT05GSUcJMHgzNwogI2RlZmluZSBEUk1fSTkxNV9Q RVJGX1JFTU9WRV9DT05GSUcJMHgzOAogI2RlZmluZSBEUk1fSTkxNV9RVUVSWQkJCTB4MzkKKyNk ZWZpbmUgRFJNX0k5MTVfR0VNX01NQVAyCQkweDNhCiAKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVf SU5JVAkJRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0lOSVQsIGRybV9pOTE1 X2luaXRfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfRkxVU0gJCURSTV9JTyAoIERSTV9DT01N QU5EX0JBU0UgKyBEUk1fSTkxNV9GTFVTSCkKQEAgLTM3Nyw2ICszNzksNyBAQCB0eXBlZGVmIHN0 cnVjdCBfZHJtX2k5MTVfc2FyZWEgewogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9QRVJGX0FERF9D T05GSUcJRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUEVSRl9BRERfQ09ORklH LCBzdHJ1Y3QgZHJtX2k5MTVfcGVyZl9vYV9jb25maWcpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1 X1BFUkZfUkVNT1ZFX0NPTkZJRwlEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9Q RVJGX1JFTU9WRV9DT05GSUcsIF9fdTY0KQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9RVUVSWQkJ CURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9RVUVSWSwgc3RydWN0IGRybV9p OTE1X3F1ZXJ5KQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fTU1BUDIJCURSTV9JT1dSKERS TV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fTU1BUDIsIHN0cnVjdCBkcm1faTkxNV9nZW1f bW1hcDIpCiAKIC8qIEFsbG93IGRyaXZlcnMgdG8gc3VibWl0IGJhdGNoYnVmZmVycyBkaXJlY3Rs eSB0byBoYXJkd2FyZSwgcmVseWluZwogICogb24gdGhlIHNlY3VyaXR5IG1lY2hhbmlzbXMgcHJv dmlkZWQgYnkgaGFyZHdhcmUuCkBAIC01MjksNiArNTMyLDM3IEBAIHR5cGVkZWYgc3RydWN0IGRy bV9pOTE1X2lycV93YWl0IHsKICAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0NTX1RJTUVTVEFNUF9G UkVRVUVOQ1kgNTEKIAorLyoKKyAqIE9uY2UgdXBvbiBhIHRpbWUgd2Ugc3VwcG9zZWQgdGhhdCB3 cml0ZXMgdGhyb3VnaCB0aGUgR0dUVCB3b3VsZCBiZQorICogaW1tZWRpYXRlbHkgaW4gcGh5c2lj YWwgbWVtb3J5IChvbmNlIGZsdXNoZWQgb3V0IG9mIHRoZSBDUFUgcGF0aCkuIEhvd2V2ZXIsCisg KiBvbiBhIGZldyBkaWZmZXJlbnQgcHJvY2Vzc29ycyBhbmQgY2hpcHNldHMsIHRoaXMgaXMgbm90 IG5lY2Vzc2FyaWx5IHRoZSBjYXNlCisgKiBhcyB0aGUgd3JpdGVzIGFwcGVhciB0byBiZSBidWZm ZXJlZCBpbnRlcm5hbGx5LiBUaHVzIGEgcmVhZCBvZiB0aGUgYmFja2luZworICogc3RvcmFnZSAo cGh5c2ljYWwgbWVtb3J5KSB2aWEgYSBkaWZmZXJlbnQgcGF0aCAod2l0aCBkaWZmZXJlbnQgcGh5 c2ljYWwgdGFncworICogdG8gdGhlIGluZGlyZWN0IHdyaXRlIHZpYSB0aGUgR0dUVCkgd2lsbCBz ZWUgc3RhbGUgdmFsdWVzIGZyb20gYmVmb3JlCisgKiB0aGUgR0dUVCB3cml0ZS4gSW5zaWRlIHRo ZSBrZXJuZWwsIHdlIGNhbiBmb3IgdGhlIG1vc3QgcGFydCBrZWVwIHRyYWNrIG9mCisgKiB0aGUg ZGlmZmVyZW50IHJlYWQvd3JpdGUgZG9tYWlucyBpbiB1c2UgKGUuZy4gc2V0LWRvbWFpbiksIGJ1 dCB0aGUgYXNzdW1wdGlvbgorICogb2YgY29oZXJlbmN5IGlzIGJha2VkIGludG8gdGhlIEFCSSwg aGVuY2UgcmVwb3J0aW5nIGl0cyB0cnVlIHN0YXRlIGluIHRoaXMKKyAqIHBhcmFtZXRlci4KKyAq CisgKiBSZXBvcnRzIHRydWUgd2hlbiB3cml0ZXMgdmlhIG1tYXBfZ3R0IGFyZSBpbW1lZGlhdGVs eSB2aXNpYmxlIGZvbGxvd2luZyBhbgorICogbGZlbmNlIHRvIGZsdXNoIHRoZSBXQ0IuCisgKgor ICogUmVwb3J0cyBmYWxzZSB3aGVuIHdyaXRlcyB2aWEgbW1hcF9ndHQgYXJlIGluZGV0ZXJtaW5h dGVseSBkZWxheWVkIGluIGFuIGluCisgKiBpbnRlcm5hbCBidWZmZXIgYW5kIGFyZSBfbm90XyBp bW1lZGlhdGVseSB2aXNpYmxlIHRvIHRoaXJkIHBhcnRpZXMgYWNjZXNzaW5nCisgKiBkaXJlY3Rs eSB2aWEgbW1hcF9jcHUvbW1hcF93Yy4gVXNlIG9mIG1tYXBfZ3R0IGFzIHBhcnQgb2YgYW4gSVBD CisgKiBjb21tdW5pY2F0aW9ucyBjaGFubmVsIHdoZW4gcmVwb3J0aW5nIGZhbHNlIGlzIHN0cm9u Z2x5IGRpc2FkdmlzZWQuCisgKi8KKyNkZWZpbmUgSTkxNV9QQVJBTV9NTUFQX0dUVF9DT0hFUkVO VAk1MgorCisvKiBEdWFsIENvbnRleHQgLyBDb21wdXRlLW9ubHkgRW5naW5lICovCisjZGVmaW5l IEk5MTVfUEFSQU1fSEFTX0NDUwkJNTMKKworLyogVG90YWwgbG9jYWwgbWVtb3J5IGluIGJ5dGVz ICovCisjZGVmaW5lIEk5MTVfUEFSQU1fTE1FTV9UT1RBTF9CWVRFUyA1NAorCisvKiBBdmFpbGFi bGUgbG9jYWwgbWVtb3J5IGluIGJ5dGVzICovCisjZGVmaW5lIEk5MTVfUEFSQU1fTE1FTV9BVkFJ TF9CWVRFUyA1NQorCiB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9nZXRwYXJhbSB7CiAJX19zMzIg cGFyYW07CiAJLyoKQEAgLTcwMSw2ICs3MzUsMTkgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9tbWFw X2d0dCB7CiAJX191NjQgb2Zmc2V0OwogfTsKIAorc3RydWN0IGRybV9pOTE1X2dlbV9tbWFwMiB7 CisJLyoqIEhhbmRsZSBmb3IgdGhlIG9iamVjdCBiZWluZyBtYXBwZWQuICovCisJX191MzIgaGFu ZGxlOworCV9fdTMyIHBhZDsKKwkvKioKKwkgKiBGYWtlIG9mZnNldCB0byB1c2UgZm9yIHN1YnNl cXVlbnQgbW1hcCBjYWxsCisJICoKKwkgKiBUaGlzIGlzIGEgZml4ZWQtc2l6ZSB0eXBlIGZvciAz Mi82NCBjb21wYXRpYmlsaXR5LgorCSAqLworCV9fdTY0IG9mZnNldDsKKwlfX3U2NCBmbGFnczsK K307CisKIHN0cnVjdCBkcm1faTkxNV9nZW1fc2V0X2RvbWFpbiB7CiAJLyoqIEhhbmRsZSBmb3Ig dGhlIG9iamVjdCAqLwogCV9fdTMyIGhhbmRsZTsKQEAgLTk0OCw2ICs5OTUsNyBAQCBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIHsKICNkZWZpbmUgSTkxNV9FWEVDX0JTRCAgICAgICAg ICAgICAgICAgICAgKDI8PDApCiAjZGVmaW5lIEk5MTVfRVhFQ19CTFQgICAgICAgICAgICAgICAg ICAgICgzPDwwKQogI2RlZmluZSBJOTE1X0VYRUNfVkVCT1ggICAgICAgICAgICAgICAgICAoNDw8 MCkKKyNkZWZpbmUgSTkxNV9FWEVDX0NPTVBVVEUgICAgICAgICAgICAgICAgKDU8PDApCiAKIC8q IFVzZWQgZm9yIHN3aXRjaGluZyB0aGUgY29uc3RhbnRzIGFkZHJlc3NpbmcgbW9kZSBvbiBnZW40 KyBSRU5ERVIgcmluZy4KICAqIEdlbjYrIG9ubHkgc3VwcG9ydHMgcmVsYXRpdmUgYWRkcmVzc2lu ZyB0byBkeW5hbWljIHN0YXRlIChkZWZhdWx0KSBhbmQKQEAgLTE1MTAsNiArMTU1OCwxNCBAQCBl bnVtIGRybV9pOTE1X3BlcmZfcHJvcGVydHlfaWQgewogCSAqLwogCURSTV9JOTE1X1BFUkZfUFJP UF9PQV9FWFBPTkVOVCwKIAorICAgICAgICAvKioKKyAgICAgICAgICogU3BlY2lmeSBhIGdsb2Jh bCBPQSBidWZmZXIgc2l6ZSB0byBiZSBhbGxvY2F0ZWQgaW4gYnl0ZXMuCisgICAgICAgICAqIFRo ZSBkcml2ZXIgd2lsbCBhbGxvY2F0ZSBhIEhXIHN1cHBvcnRlZCBzaXplIHRoYXQgaXMgYXQKKyAg ICAgICAgICogbGVhc3QgYXMgbGFyZ2UgYXMgc3BlY2lmaWVkIGJ5IHRoaXMgcHJvcGVydHkuIExh cmdlciBzaXplcworICAgICAgICAgKiB0aGFuIHdoYXQgdGhlIEhXIHN1cHBvcnRzIHdpbGwgZmFp bC4KKyAgICAgICAgICovCisgICAgICAgIERSTV9JOTE1X1BFUkZfUFJPUF9PQV9CVUZGRVJfU0la RSwKKwogCURSTV9JOTE1X1BFUkZfUFJPUF9NQVggLyogbm9uLUFCSSAqLwogfTsKIApkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0tdWFwaS9tc21fZHJtLmggYi9pbmNsdWRlL2RybS11YXBpL21zbV9k cm0uaAppbmRleCBiYmJhZmZhZC4uYzA2ZDBhNWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVh cGkvbXNtX2RybS5oCisrKyBiL2luY2x1ZGUvZHJtLXVhcGkvbXNtX2RybS5oCkBAIC0yMDEsMTAg KzIwMSwxMiBAQCBzdHJ1Y3QgZHJtX21zbV9nZW1fc3VibWl0X2JvIHsKICNkZWZpbmUgTVNNX1NV Qk1JVF9OT19JTVBMSUNJVCAgIDB4ODAwMDAwMDAgLyogZGlzYWJsZSBpbXBsaWNpdCBzeW5jICov CiAjZGVmaW5lIE1TTV9TVUJNSVRfRkVOQ0VfRkRfSU4gICAweDQwMDAwMDAwIC8qIGVuYWJsZSBp bnB1dCBmZW5jZV9mZCAqLwogI2RlZmluZSBNU01fU1VCTUlUX0ZFTkNFX0ZEX09VVCAgMHgyMDAw MDAwMCAvKiBlbmFibGUgb3V0cHV0IGZlbmNlX2ZkICovCisjZGVmaW5lIE1TTV9TVUJNSVRfU1VE TyAgICAgICAgICAweDEwMDAwMDAwIC8qIHJ1biBzdWJtaXR0ZWQgY21kcyBmcm9tIFJCICovCiAj ZGVmaW5lIE1TTV9TVUJNSVRfRkxBR1MgICAgICAgICAgICAgICAgKCBcCiAJCU1TTV9TVUJNSVRf Tk9fSU1QTElDSVQgICB8IFwKIAkJTVNNX1NVQk1JVF9GRU5DRV9GRF9JTiAgIHwgXAogCQlNU01f U1VCTUlUX0ZFTkNFX0ZEX09VVCAgfCBcCisJCU1TTV9TVUJNSVRfU1VETyAgICAgICAgICB8IFwK IAkJMCkKIAogLyogRWFjaCBjbWRzdHJlYW0gc3VibWl0IGNvbnNpc3RzIG9mIGEgdGFibGUgb2Yg YnVmZmVycyBpbnZvbHZlZCwgYW5kCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL3RlZ3Jh X2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS90ZWdyYV9kcm0uaAppbmRleCAxMmY5YmY4NC4uNmMw NzkxOWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvdGVncmFfZHJtLmgKKysrIGIvaW5j bHVkZS9kcm0tdWFwaS90ZWdyYV9kcm0uaApAQCAtMzIsMTQzICszMiw2MTUgQEAgZXh0ZXJuICJD IiB7CiAjZGVmaW5lIERSTV9URUdSQV9HRU1fQ1JFQVRFX1RJTEVEICAgICAoMSA8PCAwKQogI2Rl ZmluZSBEUk1fVEVHUkFfR0VNX0NSRUFURV9CT1RUT01fVVAgKDEgPDwgMSkKIAorLyoqCisgKiBz dHJ1Y3QgZHJtX3RlZ3JhX2dlbV9jcmVhdGUgLSBwYXJhbWV0ZXJzIGZvciB0aGUgR0VNIG9iamVj dCBjcmVhdGlvbiBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9jcmVhdGUgeworCS8q KgorCSAqIEBzaXplOgorCSAqCisJICogVGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgYnVmZmVy IG9iamVjdCB0byBiZSBjcmVhdGVkLgorCSAqLwogCV9fdTY0IHNpemU7CisKKwkvKioKKwkgKiBA ZmxhZ3M6CisJICoKKwkgKiBBIGJpdG1hc2sgb2YgZmxhZ3MgdGhhdCBpbmZsdWVuY2UgdGhlIGNy ZWF0aW9uIG9mIEdFTSBvYmplY3RzOgorCSAqCisJICogRFJNX1RFR1JBX0dFTV9DUkVBVEVfVElM RUQKKwkgKiAgIFVzZSB0aGUgMTZ4MTYgdGlsaW5nIGZvcm1hdCBmb3IgdGhpcyBidWZmZXIuCisJ ICoKKwkgKiBEUk1fVEVHUkFfR0VNX0NSRUFURV9CT1RUT01fVVAKKwkgKiAgIFRoZSBidWZmZXIg aGFzIGEgYm90dG9tLXVwIGxheW91dC4KKwkgKi8KIAlfX3UzMiBmbGFnczsKKworCS8qKgorCSAq IEBoYW5kbGU6CisJICoKKwkgKiBUaGUgaGFuZGxlIG9mIHRoZSBjcmVhdGVkIEdFTSBvYmplY3Qu IFNldCBieSB0aGUga2VybmVsIHVwb24KKwkgKiBzdWNjZXNzZnVsIGNvbXBsZXRpb24gb2YgdGhl IElPQ1RMLgorCSAqLwogCV9fdTMyIGhhbmRsZTsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90 ZWdyYV9nZW1fbW1hcCAtIHBhcmFtZXRlcnMgZm9yIHRoZSBHRU0gbW1hcCBJT0NUTAorICovCiBz dHJ1Y3QgZHJtX3RlZ3JhX2dlbV9tbWFwIHsKKwkvKioKKwkgKiBAaGFuZGxlOgorCSAqCisJICog SGFuZGxlIG9mIHRoZSBHRU0gb2JqZWN0IHRvIG9idGFpbiBhbiBtbWFwIG9mZnNldCBmb3IuCisJ ICovCiAJX191MzIgaGFuZGxlOworCisJLyoqCisJICogQHBhZDoKKwkgKgorCSAqIFN0cnVjdHVy ZSBwYWRkaW5nIHRoYXQgbWF5IGJlIHVzZWQgaW4gdGhlIGZ1dHVyZS4gTXVzdCBiZSAwLgorCSAq LwogCV9fdTMyIHBhZDsKKworCS8qKgorCSAqIEBvZmZzZXQ6CisJICoKKwkgKiBUaGUgbW1hcCBv ZmZzZXQgZm9yIHRoZSBnaXZlbiBHRU0gb2JqZWN0LiBTZXQgYnkgdGhlIGtlcm5lbCB1cG9uCisJ ICogc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBJT0NUTC4KKwkgKi8KIAlfX3U2NCBvZmZz ZXQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3JlYWQgLSBwYXJhbWV0 ZXJzIGZvciB0aGUgcmVhZCBzeW5jcG9pbnQgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9z eW5jcHRfcmVhZCB7CisJLyoqCisJICogQGlkOgorCSAqCisJICogSUQgb2YgdGhlIHN5bmNwb2lu dCB0byByZWFkIHRoZSBjdXJyZW50IHZhbHVlIGZyb20uCisJICovCiAJX191MzIgaWQ7CisKKwkv KioKKwkgKiBAdmFsdWU6CisJICoKKwkgKiBUaGUgY3VycmVudCBzeW5jcG9pbnQgdmFsdWUuIFNl dCBieSB0aGUga2VybmVsIHVwb24gc3VjY2Vzc2Z1bAorCSAqIGNvbXBsZXRpb24gb2YgdGhlIElP Q1RMLgorCSAqLwogCV9fdTMyIHZhbHVlOwogfTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3Jh X3N5bmNwdF9pbmNyIC0gcGFyYW1ldGVycyBmb3IgdGhlIGluY3JlbWVudCBzeW5jcG9pbnQgSU9D VEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9zeW5jcHRfaW5jciB7CisJLyoqCisJICogQGlkOgor CSAqCisJICogSUQgb2YgdGhlIHN5bmNwb2ludCB0byBpbmNyZW1lbnQuCisJICovCiAJX191MzIg aWQ7CisKKwkvKioKKwkgKiBAcGFkOgorCSAqCisJICogU3RydWN0dXJlIHBhZGRpbmcgdGhhdCBt YXkgYmUgdXNlZCBpbiB0aGUgZnV0dXJlLiBNdXN0IGJlIDAuCisJICovCiAJX191MzIgcGFkOwog fTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX3N5bmNwdF93YWl0IC0gcGFyYW1ldGVycyBm b3IgdGhlIHdhaXQgc3luY3BvaW50IElPQ1RMCisgKi8KIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0 X3dhaXQgeworCS8qKgorCSAqIEBpZDoKKwkgKgorCSAqIElEIG9mIHRoZSBzeW5jcG9pbnQgdG8g d2FpdCBvbi4KKwkgKi8KIAlfX3UzMiBpZDsKKworCS8qKgorCSAqIEB0aHJlc2g6CisJICoKKwkg KiBUaHJlc2hvbGQgdmFsdWUgZm9yIHdoaWNoIHRvIHdhaXQuCisJICovCiAJX191MzIgdGhyZXNo OworCisJLyoqCisJICogQHRpbWVvdXQ6CisJICoKKwkgKiBUaW1lb3V0LCBpbiBtaWxsaXNlY29u ZHMsIHRvIHdhaXQuCisJICovCiAJX191MzIgdGltZW91dDsKKworCS8qKgorCSAqIEB2YWx1ZToK KwkgKgorCSAqIFRoZSBuZXcgc3luY3BvaW50IHZhbHVlIGFmdGVyIHRoZSB3YWl0LiBTZXQgYnkg dGhlIGtlcm5lbCB1cG9uCisJICogc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBJT0NUTC4K KwkgKi8KIAlfX3UzMiB2YWx1ZTsKIH07CiAKICNkZWZpbmUgRFJNX1RFR1JBX05PX1RJTUVPVVQJ KDB4ZmZmZmZmZmYpCiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9vcGVuX2NoYW5uZWwgLSBw YXJhbWV0ZXJzIGZvciB0aGUgb3BlbiBjaGFubmVsIElPQ1RMCisgKi8KIHN0cnVjdCBkcm1fdGVn cmFfb3Blbl9jaGFubmVsIHsKKwkvKioKKwkgKiBAY2xpZW50OgorCSAqCisJICogVGhlIGNsaWVu dCBJRCBmb3IgdGhpcyBjaGFubmVsLgorCSAqLwogCV9fdTMyIGNsaWVudDsKKworCS8qKgorCSAq IEBwYWQ6CisJICoKKwkgKiBTdHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1heSBiZSB1c2VkIGluIHRo ZSBmdXR1cmUuIE11c3QgYmUgMC4KKwkgKi8KIAlfX3UzMiBwYWQ7CisKKwkvKioKKwkgKiBAY29u dGV4dDoKKwkgKgorCSAqIFRoZSBhcHBsaWNhdGlvbiBjb250ZXh0IG9mIHRoaXMgY2hhbm5lbC4g U2V0IGJ5IHRoZSBrZXJuZWwgdXBvbgorCSAqIHN1Y2Nlc3NmdWwgY29tcGxldGlvbiBvZiB0aGUg SU9DVEwuIFRoaXMgY29udGV4dCBuZWVkcyB0byBiZSBwYXNzZWQKKwkgKiB0byB0aGUgRFJNX1RF R1JBX0NIQU5ORUxfQ0xPU0Ugb3IgdGhlIERSTV9URUdSQV9TVUJNSVQgSU9DVExzLgorCSAqLwog CV9fdTY0IGNvbnRleHQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfY2xvc2VfY2hh bm5lbCAtIHBhcmFtZXRlcnMgZm9yIHRoZSBjbG9zZSBjaGFubmVsIElPQ1RMCisgKi8KIHN0cnVj dCBkcm1fdGVncmFfY2xvc2VfY2hhbm5lbCB7CisJLyoqCisJICogQGNvbnRleHQ6CisJICoKKwkg KiBUaGUgYXBwbGljYXRpb24gY29udGV4dCBvZiB0aGlzIGNoYW5uZWwuIFRoaXMgaXMgb2J0YWlu ZWQgZnJvbSB0aGUKKwkgKiBEUk1fVEVHUkFfT1BFTl9DSEFOTkVMIElPQ1RMLgorCSAqLwogCV9f dTY0IGNvbnRleHQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfZ2V0X3N5bmNwdCAt IHBhcmFtZXRlcnMgZm9yIHRoZSBnZXQgc3luY3BvaW50IElPQ1RMCisgKi8KIHN0cnVjdCBkcm1f dGVncmFfZ2V0X3N5bmNwdCB7CisJLyoqCisJICogQGNvbnRleHQ6CisJICoKKwkgKiBUaGUgYXBw bGljYXRpb24gY29udGV4dCBpZGVudGlmeWluZyB0aGUgY2hhbm5lbCBmb3Igd2hpY2ggdG8gb2J0 YWluCisJICogdGhlIHN5bmNwb2ludCBJRC4KKwkgKi8KIAlfX3U2NCBjb250ZXh0OworCisJLyoq CisJICogQGluZGV4OgorCSAqCisJICogSW5kZXggb2YgdGhlIGNsaWVudCBzeW5jcG9pbnQgZm9y IHdoaWNoIHRvIG9idGFpbiB0aGUgSUQuCisJICovCiAJX191MzIgaW5kZXg7CisKKwkvKioKKwkg KiBAaWQ6CisJICoKKwkgKiBUaGUgSUQgb2YgdGhlIGdpdmVuIHN5bmNwb2ludC4gU2V0IGJ5IHRo ZSBrZXJuZWwgdXBvbiBzdWNjZXNzZnVsCisJICogY29tcGxldGlvbiBvZiB0aGUgSU9DVEwuCisJ ICovCiAJX191MzIgaWQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfZ2V0X3N5bmNw dF9iYXNlIC0gcGFyYW1ldGVycyBmb3IgdGhlIGdldCB3YWl0IGJhc2UgSU9DVEwKKyAqLwogc3Ry dWN0IGRybV90ZWdyYV9nZXRfc3luY3B0X2Jhc2UgeworCS8qKgorCSAqIEBjb250ZXh0OgorCSAq CisJICogVGhlIGFwcGxpY2F0aW9uIGNvbnRleHQgaWRlbnRpZnlpbmcgZm9yIHdoaWNoIGNoYW5u ZWwgdG8gb2J0YWluIHRoZQorCSAqIHdhaXQgYmFzZS4KKwkgKi8KIAlfX3U2NCBjb250ZXh0Owor CisJLyoqCisJICogQHN5bmNwdDoKKwkgKgorCSAqIElEIG9mIHRoZSBzeW5jcG9pbnQgZm9yIHdo aWNoIHRvIG9idGFpbiB0aGUgd2FpdCBiYXNlLgorCSAqLwogCV9fdTMyIHN5bmNwdDsKKworCS8q KgorCSAqIEBpZDoKKwkgKgorCSAqIFRoZSBJRCBvZiB0aGUgd2FpdCBiYXNlIGNvcnJlc3BvbmRp bmcgdG8gdGhlIGNsaWVudCBzeW5jcG9pbnQuIFNldAorCSAqIGJ5IHRoZSBrZXJuZWwgdXBvbiBz dWNjZXNzZnVsIGNvbXBsZXRpb24gb2YgdGhlIElPQ1RMLgorCSAqLwogCV9fdTMyIGlkOwogfTsK IAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX3N5bmNwdCAtIHN5bmNwb2ludCBpbmNyZW1lbnQg b3BlcmF0aW9uCisgKi8KIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0IHsKKwkvKioKKwkgKiBAaWQ6 CisJICoKKwkgKiBJRCBvZiB0aGUgc3luY3BvaW50IHRvIG9wZXJhdGUgb24uCisJICovCiAJX191 MzIgaWQ7CisKKwkvKioKKwkgKiBAaW5jcnM6CisJICoKKwkgKiBOdW1iZXIgb2YgaW5jcmVtZW50 cyB0byBwZXJmb3JtIGZvciB0aGUgc3luY3BvaW50LgorCSAqLwogCV9fdTMyIGluY3JzOwogfTsK IAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX2NtZGJ1ZiAtIHN0cnVjdHVyZSBkZXNjcmliaW5n IGEgY29tbWFuZCBidWZmZXIKKyAqLwogc3RydWN0IGRybV90ZWdyYV9jbWRidWYgeworCS8qKgor CSAqIEBoYW5kbGU6CisJICoKKwkgKiBIYW5kbGUgdG8gYSBHRU0gb2JqZWN0IGNvbnRhaW5pbmcg dGhlIGNvbW1hbmQgYnVmZmVyLgorCSAqLwogCV9fdTMyIGhhbmRsZTsKKworCS8qKgorCSAqIEBv ZmZzZXQ6CisJICoKKwkgKiBPZmZzZXQsIGluIGJ5dGVzLCBpbnRvIHRoZSBHRU0gb2JqZWN0IGlk ZW50aWZpZWQgYnkgQGhhbmRsZSBhdAorCSAqIHdoaWNoIHRoZSBjb21tYW5kIGJ1ZmZlciBzdGFy dHMuCisJICovCiAJX191MzIgb2Zmc2V0OworCisJLyoqCisJICogQHdvcmRzOgorCSAqCisJICog TnVtYmVyIG9mIDMyLWJpdCB3b3JkcyBpbiB0aGlzIGNvbW1hbmQgYnVmZmVyLgorCSAqLwogCV9f dTMyIHdvcmRzOworCisJLyoqCisJICogQHBhZDoKKwkgKgorCSAqIFN0cnVjdHVyZSBwYWRkaW5n IHRoYXQgbWF5IGJlIHVzZWQgaW4gdGhlIGZ1dHVyZS4gTXVzdCBiZSAwLgorCSAqLwogCV9fdTMy IHBhZDsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9yZWxvYyAtIEdFTSBvYmplY3Qg cmVsb2NhdGlvbiBzdHJ1Y3R1cmUKKyAqLwogc3RydWN0IGRybV90ZWdyYV9yZWxvYyB7CiAJc3Ry dWN0IHsKKwkJLyoqCisJCSAqIEBjbWRidWYuaGFuZGxlOgorCQkgKgorCQkgKiBIYW5kbGUgdG8g dGhlIEdFTSBvYmplY3QgY29udGFpbmluZyB0aGUgY29tbWFuZCBidWZmZXIgZm9yCisJCSAqIHdo aWNoIHRvIHBlcmZvcm0gdGhpcyBHRU0gb2JqZWN0IHJlbG9jYXRpb24uCisJCSAqLwogCQlfX3Uz MiBoYW5kbGU7CisKKwkJLyoqCisJCSAqIEBjbWRidWYub2Zmc2V0OgorCQkgKgorCQkgKiBPZmZz ZXQsIGluIGJ5dGVzLCBpbnRvIHRoZSBjb21tYW5kIGJ1ZmZlciBhdCB3aGljaCB0bworCQkgKiBp bnNlcnQgdGhlIHJlbG9jYXRlZCBhZGRyZXNzLgorCQkgKi8KIAkJX191MzIgb2Zmc2V0OwogCX0g Y21kYnVmOwogCXN0cnVjdCB7CisJCS8qKgorCQkgKiBAdGFyZ2V0LmhhbmRsZToKKwkJICoKKwkJ ICogSGFuZGxlIHRvIHRoZSBHRU0gb2JqZWN0IHRvIGJlIHJlbG9jYXRlZC4KKwkJICovCiAJCV9f dTMyIGhhbmRsZTsKKworCQkvKioKKwkJICogQHRhcmdldC5vZmZzZXQ6CisJCSAqCisJCSAqIE9m ZnNldCwgaW4gYnl0ZXMsIGludG8gdGhlIHRhcmdldCBHRU0gb2JqZWN0IGF0IHdoaWNoIHRoZQor CQkgKiByZWxvY2F0ZWQgZGF0YSBzdGFydHMuCisJCSAqLwogCQlfX3UzMiBvZmZzZXQ7CiAJfSB0 YXJnZXQ7CisKKwkvKioKKwkgKiBAc2hpZnQ6CisJICoKKwkgKiBUaGUgbnVtYmVyIG9mIGJpdHMg Ynkgd2hpY2ggdG8gc2hpZnQgcmVsb2NhdGVkIGFkZHJlc3Nlcy4KKwkgKi8KIAlfX3UzMiBzaGlm dDsKKworCS8qKgorCSAqIEBwYWQ6CisJICoKKwkgKiBTdHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1h eSBiZSB1c2VkIGluIHRoZSBmdXR1cmUuIE11c3QgYmUgMC4KKwkgKi8KIAlfX3UzMiBwYWQ7CiB9 OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfd2FpdGNoayAtIHdhaXQgY2hlY2sgc3RydWN0 dXJlCisgKi8KIHN0cnVjdCBkcm1fdGVncmFfd2FpdGNoayB7CisJLyoqCisJICogQGhhbmRsZToK KwkgKgorCSAqIEhhbmRsZSB0byB0aGUgR0VNIG9iamVjdCBjb250YWluaW5nIGEgY29tbWFuZCBz dHJlYW0gb24gd2hpY2ggdG8KKwkgKiBwZXJmb3JtIHRoZSB3YWl0IGNoZWNrLgorCSAqLwogCV9f dTMyIGhhbmRsZTsKKworCS8qKgorCSAqIEBvZmZzZXQ6CisJICoKKwkgKiBPZmZzZXQsIGluIGJ5 dGVzLCBvZiB0aGUgbG9jYXRpb24gaW4gdGhlIGNvbW1hbmQgc3RyZWFtIHRvIHBlcmZvcm0KKwkg KiB0aGUgd2FpdCBjaGVjayBvbi4KKwkgKi8KIAlfX3UzMiBvZmZzZXQ7CisKKwkvKioKKwkgKiBA c3luY3B0OgorCSAqCisJICogSUQgb2YgdGhlIHN5bmNwb2ludCB0byB3YWl0IGNoZWNrLgorCSAq LwogCV9fdTMyIHN5bmNwdDsKKworCS8qKgorCSAqIEB0aHJlc2g6CisJICoKKwkgKiBUaHJlc2hv bGQgdmFsdWUgZm9yIHdoaWNoIHRvIGNoZWNrLgorCSAqLwogCV9fdTMyIHRocmVzaDsKIH07CiAK Ky8qKgorICogc3RydWN0IGRybV90ZWdyYV9zdWJtaXQgLSBqb2Igc3VibWlzc2lvbiBzdHJ1Y3R1 cmUKKyAqLwogc3RydWN0IGRybV90ZWdyYV9zdWJtaXQgeworCS8qKgorCSAqIEBjb250ZXh0Ogor CSAqCisJICogVGhlIGFwcGxpY2F0aW9uIGNvbnRleHQgaWRlbnRpZnlpbmcgdGhlIGNoYW5uZWwg dG8gdXNlIGZvciB0aGUKKwkgKiBleGVjdXRpb24gb2YgdGhpcyBqb2IuCisJICovCiAJX191NjQg Y29udGV4dDsKKworCS8qKgorCSAqIEBudW1fc3luY3B0czoKKwkgKgorCSAqIFRoZSBudW1iZXIg b2Ygc3luY3BvaW50cyBvcGVyYXRlZCBvbiBieSB0aGlzIGpvYi4gVGhpcyBkZWZpbmVzIHRoZQor CSAqIGxlbmd0aCBvZiB0aGUgYXJyYXkgcG9pbnRlZCB0byBieSBAc3luY3B0cy4KKwkgKi8KIAlf X3UzMiBudW1fc3luY3B0czsKKworCS8qKgorCSAqIEBudW1fY21kYnVmczoKKwkgKgorCSAqIFRo ZSBudW1iZXIgb2YgY29tbWFuZCBidWZmZXJzIHRvIGV4ZWN1dGUgYXMgcGFydCBvZiB0aGlzIGpv Yi4gVGhpcworCSAqIGRlZmluZXMgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgcG9pbnRlZCB0byBi eSBAY21kYnVmcy4KKwkgKi8KIAlfX3UzMiBudW1fY21kYnVmczsKKworCS8qKgorCSAqIEBudW1f cmVsb2NzOgorCSAqCisJICogVGhlIG51bWJlciBvZiByZWxvY2F0aW9ucyB0byBwZXJmb3JtIGJl Zm9yZSBleGVjdXRpbmcgdGhpcyBqb2IuCisJICogVGhpcyBkZWZpbmVzIHRoZSBsZW5ndGggb2Yg dGhlIGFycmF5IHBvaW50ZWQgdG8gYnkgQHJlbG9jcy4KKwkgKi8KIAlfX3UzMiBudW1fcmVsb2Nz OworCisJLyoqCisJICogQG51bV93YWl0Y2hrczoKKwkgKgorCSAqIFRoZSBudW1iZXIgb2Ygd2Fp dCBjaGVja3MgdG8gcGVyZm9ybSBhcyBwYXJ0IG9mIHRoaXMgam9iLiBUaGlzCisJICogZGVmaW5l cyB0aGUgbGVuZ3RoIG9mIHRoZSBhcnJheSBwb2ludGVkIHRvIGJ5IEB3YWl0Y2hrcy4KKwkgKi8K IAlfX3UzMiBudW1fd2FpdGNoa3M7CisKKwkvKioKKwkgKiBAd2FpdGNoa19tYXNrOgorCSAqCisJ ICogQml0bWFzayBvZiB2YWxpZCB3YWl0IGNoZWNrcy4KKwkgKi8KIAlfX3UzMiB3YWl0Y2hrX21h c2s7CisKKwkvKioKKwkgKiBAdGltZW91dDoKKwkgKgorCSAqIFRpbWVvdXQsIGluIG1pbGxpc2Vj b25kcywgYmVmb3JlIHRoaXMgam9iIGlzIGNhbmNlbGxlZC4KKwkgKi8KIAlfX3UzMiB0aW1lb3V0 OworCisJLyoqCisJICogQHN5bmNwdHM6CisJICoKKwkgKiBBIHBvaW50ZXIgdG8gYW4gYXJyYXkg b2YgJnN0cnVjdCBkcm1fdGVncmFfc3luY3B0IHN0cnVjdHVyZXMgdGhhdAorCSAqIHNwZWNpZnkg dGhlIHN5bmNwb2ludCBvcGVyYXRpb25zIHBlcmZvcm1lZCBhcyBwYXJ0IG9mIHRoaXMgam9iLgor CSAqIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IG11c3QgYmUgZXF1YWwgdG8g dGhlIHZhbHVlCisJICogZ2l2ZW4gYnkgQG51bV9zeW5jcHRzLgorCSAqLwogCV9fdTY0IHN5bmNw dHM7CisKKwkvKioKKwkgKiBAY21kYnVmczoKKwkgKgorCSAqIEEgcG9pbnRlciB0byBhbiBhcnJh eSBvZiAmc3RydWN0IGRybV90ZWdyYV9jbWRidWYgc3RydWN0dXJlcyB0aGF0CisJICogZGVmaW5l IHRoZSBjb21tYW5kIGJ1ZmZlcnMgdG8gZXhlY3V0ZSBhcyBwYXJ0IG9mIHRoaXMgam9iLiBUaGUK KwkgKiBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IG11c3QgYmUgZXF1YWwgdG8gdGhl IHZhbHVlIGdpdmVuCisJICogYnkgQG51bV9zeW5jcHRzLgorCSAqLwogCV9fdTY0IGNtZGJ1ZnM7 CisKKwkvKioKKwkgKiBAcmVsb2NzOgorCSAqCisJICogQSBwb2ludGVyIHRvIGFuIGFycmF5IG9m ICZzdHJ1Y3QgZHJtX3RlZ3JhX3JlbG9jIHN0cnVjdHVyZXMgdGhhdAorCSAqIHNwZWNpZnkgdGhl IHJlbG9jYXRpb25zIHRoYXQgbmVlZCB0byBiZSBwZXJmb3JtZWQgYmVmb3JlIGV4ZWN1dGluZwor CSAqIHRoaXMgam9iLiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheSBtdXN0IGJl IGVxdWFsIHRvIHRoZQorCSAqIHZhbHVlIGdpdmVuIGJ5IEBudW1fcmVsb2NzLgorCSAqLwogCV9f dTY0IHJlbG9jczsKKworCS8qKgorCSAqIEB3YWl0Y2hrczoKKwkgKgorCSAqIEEgcG9pbnRlciB0 byBhbiBhcnJheSBvZiAmc3RydWN0IGRybV90ZWdyYV93YWl0Y2hrIHN0cnVjdHVyZXMgdGhhdAor CSAqIHNwZWNpZnkgdGhlIHdhaXQgY2hlY2tzIHRvIGJlIHBlcmZvcm1lZCB3aGlsZSBleGVjdXRp bmcgdGhpcyBqb2IuCisJICogVGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgYXJyYXkgbXVz dCBiZSBlcXVhbCB0byB0aGUgdmFsdWUKKwkgKiBnaXZlbiBieSBAbnVtX3dhaXRjaGtzLgorCSAq LwogCV9fdTY0IHdhaXRjaGtzOwotCV9fdTMyIGZlbmNlOwkJLyogUmV0dXJuIHZhbHVlICovCiAK LQlfX3UzMiByZXNlcnZlZFs1XTsJLyogZnV0dXJlIGV4cGFuc2lvbiAqLworCS8qKgorCSAqIEBm ZW5jZToKKwkgKgorCSAqIFRoZSB0aHJlc2hvbGQgb2YgdGhlIHN5bmNwb2ludCBhc3NvY2lhdGVk IHdpdGggdGhpcyBqb2IgYWZ0ZXIgaXQKKwkgKiBoYXMgYmVlbiBjb21wbGV0ZWQuIFNldCBieSB0 aGUga2VybmVsIHVwb24gc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mCisJICogdGhlIElPQ1RMLiBU aGlzIGNhbiBiZSB1c2VkIHdpdGggdGhlIERSTV9URUdSQV9TWU5DUFRfV0FJVCBJT0NUTCB0bwor CSAqIHdhaXQgZm9yIHRoaXMgam9iIHRvIGJlIGZpbmlzaGVkLgorCSAqLworCV9fdTMyIGZlbmNl OworCisJLyoqCisJICogQHJlc2VydmVkOgorCSAqCisJICogVGhpcyBmaWVsZCBpcyByZXNlcnZl ZCBmb3IgZnV0dXJlIHVzZS4gTXVzdCBiZSAwLgorCSAqLworCV9fdTMyIHJlc2VydmVkWzVdOwog fTsKIAogI2RlZmluZSBEUk1fVEVHUkFfR0VNX1RJTElOR19NT0RFX1BJVENIIDAKICNkZWZpbmUg RFJNX1RFR1JBX0dFTV9USUxJTkdfTU9ERV9USUxFRCAxCiAjZGVmaW5lIERSTV9URUdSQV9HRU1f VElMSU5HX01PREVfQkxPQ0sgMgogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfZ2VtX3NldF90 aWxpbmcgLSBwYXJhbWV0ZXJzIGZvciB0aGUgc2V0IHRpbGluZyBJT0NUTAorICovCiBzdHJ1Y3Qg ZHJtX3RlZ3JhX2dlbV9zZXRfdGlsaW5nIHsKLQkvKiBpbnB1dCAqLworCS8qKgorCSAqIEBoYW5k bGU6CisJICoKKwkgKiBIYW5kbGUgdG8gdGhlIEdFTSBvYmplY3QgZm9yIHdoaWNoIHRvIHNldCB0 aGUgdGlsaW5nIHBhcmFtZXRlcnMuCisJICovCiAJX191MzIgaGFuZGxlOworCisJLyoqCisJICog QG1vZGU6CisJICoKKwkgKiBUaGUgdGlsaW5nIG1vZGUgdG8gc2V0LiBNdXN0IGJlIG9uZSBvZjoK KwkgKgorCSAqIERSTV9URUdSQV9HRU1fVElMSU5HX01PREVfUElUQ0gKKwkgKiAgIHBpdGNoIGxp bmVhciBmb3JtYXQKKwkgKgorCSAqIERSTV9URUdSQV9HRU1fVElMSU5HX01PREVfVElMRUQKKwkg KiAgIDE2eDE2IHRpbGluZyBmb3JtYXQKKwkgKgorCSAqIERSTV9URUdSQV9HRU1fVElMSU5HX01P REVfQkxPQ0sKKwkgKiAgIDE2QngyIHRpbGluZyBmb3JtYXQKKwkgKi8KIAlfX3UzMiBtb2RlOwor CisJLyoqCisJICogQHZhbHVlOgorCSAqCisJICogVGhlIHZhbHVlIHRvIHNldCBmb3IgdGhlIHRp bGluZyBtb2RlIHBhcmFtZXRlci4KKwkgKi8KIAlfX3UzMiB2YWx1ZTsKKworCS8qKgorCSAqIEBw YWQ6CisJICoKKwkgKiBTdHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1heSBiZSB1c2VkIGluIHRoZSBm dXR1cmUuIE11c3QgYmUgMC4KKwkgKi8KIAlfX3UzMiBwYWQ7CiB9OwogCisvKioKKyAqIHN0cnVj dCBkcm1fdGVncmFfZ2VtX2dldF90aWxpbmcgLSBwYXJhbWV0ZXJzIGZvciB0aGUgZ2V0IHRpbGlu ZyBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9nZXRfdGlsaW5nIHsKLQkvKiBpbnB1 dCAqLworCS8qKgorCSAqIEBoYW5kbGU6CisJICoKKwkgKiBIYW5kbGUgdG8gdGhlIEdFTSBvYmpl Y3QgZm9yIHdoaWNoIHRvIHF1ZXJ5IHRoZSB0aWxpbmcgcGFyYW1ldGVycy4KKwkgKi8KIAlfX3Uz MiBoYW5kbGU7Ci0JLyogb3V0cHV0ICovCisKKwkvKioKKwkgKiBAbW9kZToKKwkgKgorCSAqIFRo ZSB0aWxpbmcgbW9kZSBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBHRU0gb2JqZWN0LiBT ZXQgYnkKKwkgKiB0aGUga2VybmVsIHVwb24gc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBJ T0NUTC4KKwkgKi8KIAlfX3UzMiBtb2RlOworCisJLyoqCisJICogQHZhbHVlOgorCSAqCisJICog VGhlIHRpbGluZyBtb2RlIHBhcmFtZXRlciBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBH RU0gb2JqZWN0LgorCSAqIFNldCBieSB0aGUga2VybmVsIHVwb24gc3VjY2Vzc2Z1bCBjb21wbGV0 aW9uIG9mIHRoZSBJT0NUTC4KKwkgKi8KIAlfX3UzMiB2YWx1ZTsKKworCS8qKgorCSAqIEBwYWQ6 CisJICoKKwkgKiBTdHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1heSBiZSB1c2VkIGluIHRoZSBmdXR1 cmUuIE11c3QgYmUgMC4KKwkgKi8KIAlfX3UzMiBwYWQ7CiB9OwogCiAjZGVmaW5lIERSTV9URUdS QV9HRU1fQk9UVE9NX1VQCQkoMSA8PCAwKQogI2RlZmluZSBEUk1fVEVHUkFfR0VNX0ZMQUdTCQko RFJNX1RFR1JBX0dFTV9CT1RUT01fVVApCiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9nZW1f c2V0X2ZsYWdzIC0gcGFyYW1ldGVycyBmb3IgdGhlIHNldCBmbGFncyBJT0NUTAorICovCiBzdHJ1 Y3QgZHJtX3RlZ3JhX2dlbV9zZXRfZmxhZ3MgewotCS8qIGlucHV0ICovCisJLyoqCisJICogQGhh bmRsZToKKwkgKgorCSAqIEhhbmRsZSB0byB0aGUgR0VNIG9iamVjdCBmb3Igd2hpY2ggdG8gc2V0 IHRoZSBmbGFncy4KKwkgKi8KIAlfX3UzMiBoYW5kbGU7Ci0JLyogb3V0cHV0ICovCisKKwkvKioK KwkgKiBAZmxhZ3M6CisJICoKKwkgKiBUaGUgZmxhZ3MgdG8gc2V0IGZvciB0aGUgR0VNIG9iamVj dC4KKwkgKi8KIAlfX3UzMiBmbGFnczsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9n ZW1fZ2V0X2ZsYWdzIC0gcGFyYW1ldGVycyBmb3IgdGhlIGdldCBmbGFncyBJT0NUTAorICovCiBz dHJ1Y3QgZHJtX3RlZ3JhX2dlbV9nZXRfZmxhZ3MgewotCS8qIGlucHV0ICovCisJLyoqCisJICog QGhhbmRsZToKKwkgKgorCSAqIEhhbmRsZSB0byB0aGUgR0VNIG9iamVjdCBmb3Igd2hpY2ggdG8g cXVlcnkgdGhlIGZsYWdzLgorCSAqLwogCV9fdTMyIGhhbmRsZTsKLQkvKiBvdXRwdXQgKi8KKwor CS8qKgorCSAqIEBmbGFnczoKKwkgKgorCSAqIFRoZSBmbGFncyBjdXJyZW50bHkgYXNzb2NpYXRl ZCB3aXRoIHRoZSBHRU0gb2JqZWN0LiBTZXQgYnkgdGhlCisJICoga2VybmVsIHVwb24gc3VjY2Vz c2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBJT0NUTC4KKwkgKi8KIAlfX3UzMiBmbGFnczsKIH07CiAK QEAgLTE5Myw3ICs2NjUsNyBAQCBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9nZXRfZmxhZ3MgewogI2Rl ZmluZSBEUk1fSU9DVExfVEVHUkFfU1lOQ1BUX0lOQ1IgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFT RSArIERSTV9URUdSQV9TWU5DUFRfSU5DUiwgc3RydWN0IGRybV90ZWdyYV9zeW5jcHRfaW5jcikK ICNkZWZpbmUgRFJNX0lPQ1RMX1RFR1JBX1NZTkNQVF9XQUlUIERSTV9JT1dSKERSTV9DT01NQU5E X0JBU0UgKyBEUk1fVEVHUkFfU1lOQ1BUX1dBSVQsIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3dh aXQpCiAjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9PUEVOX0NIQU5ORUwgRFJNX0lPV1IoRFJNX0NP TU1BTkRfQkFTRSArIERSTV9URUdSQV9PUEVOX0NIQU5ORUwsIHN0cnVjdCBkcm1fdGVncmFfb3Bl bl9jaGFubmVsKQotI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfQ0xPU0VfQ0hBTk5FTCBEUk1fSU9X UihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1RFR1JBX0NMT1NFX0NIQU5ORUwsIHN0cnVjdCBkcm1f dGVncmFfb3Blbl9jaGFubmVsKQorI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfQ0xPU0VfQ0hBTk5F TCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1RFR1JBX0NMT1NFX0NIQU5ORUwsIHN0 cnVjdCBkcm1fdGVncmFfY2xvc2VfY2hhbm5lbCkKICNkZWZpbmUgRFJNX0lPQ1RMX1RFR1JBX0dF VF9TWU5DUFQgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9URUdSQV9HRVRfU1lOQ1BU LCBzdHJ1Y3QgZHJtX3RlZ3JhX2dldF9zeW5jcHQpCiAjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9T VUJNSVQgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9URUdSQV9TVUJNSVQsIHN0cnVj dCBkcm1fdGVncmFfc3VibWl0KQogI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfR0VUX1NZTkNQVF9C QVNFIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfR0VUX1NZTkNQVF9CQVNF LCBzdHJ1Y3QgZHJtX3RlZ3JhX2dldF9zeW5jcHRfYmFzZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZHJtLXVhcGkvdmM0X2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS92YzRfZHJtLmgKaW5kZXggNDEx NzExN2IuLjMxZjUwZGUzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL3ZjNF9kcm0uaAor KysgYi9pbmNsdWRlL2RybS11YXBpL3ZjNF9kcm0uaApAQCAtMTgzLDEwICsxODMsMTcgQEAgc3Ry dWN0IGRybV92YzRfc3VibWl0X2NsIHsKIAkvKiBJRCBvZiB0aGUgcGVyZm1vbiB0byBhdHRhY2gg dG8gdGhpcyBqb2IuIDAgbWVhbnMgbm8gcGVyZm1vbi4gKi8KIAlfX3UzMiBwZXJmbW9uaWQ7CiAK LQkvKiBVbnVzZWQgZmllbGQgdG8gYWxpZ24gdGhpcyBzdHJ1Y3Qgb24gNjQgYml0cy4gTXVzdCBi ZSBzZXQgdG8gMC4KLQkgKiBJZiBvbmUgZXZlciBuZWVkcyB0byBhZGQgYW4gdTMyIGZpZWxkIHRv IHRoaXMgc3RydWN0LCB0aGlzIGZpZWxkCi0JICogY2FuIGJlIHVzZWQuCisJLyogU3luY29iaiBo YW5kbGUgdG8gd2FpdCBvbi4gSWYgc2V0LCBwcm9jZXNzaW5nIG9mIHRoaXMgcmVuZGVyIGpvYgor CSAqIHdpbGwgbm90IHN0YXJ0IHVudGlsIHRoZSBzeW5jb2JqIGlzIHNpZ25hbGVkLiAwIG1lYW5z IGlnbm9yZS4KIAkgKi8KKwlfX3UzMiBpbl9zeW5jOworCisJLyogU3luY29iaiBoYW5kbGUgdG8g ZXhwb3J0IGZlbmNlIHRvLiBJZiBzZXQsIHRoZSBmZW5jZSBpbiB0aGUgc3luY29iagorCSAqIHdp bGwgYmUgcmVwbGFjZWQgd2l0aCBhIGZlbmNlIHRoYXQgc2lnbmFscyB1cG9uIGNvbXBsZXRpb24g b2YgdGhpcworCSAqIHJlbmRlciBqb2IuIDAgbWVhbnMgaWdub3JlLgorCSAqLworCV9fdTMyIG91 dF9zeW5jOworCiAJX191MzIgcGFkMjsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVh cGkvdmlydGdwdV9kcm0uaCBiL2luY2x1ZGUvZHJtLXVhcGkvdmlydGdwdV9kcm0uaAppbmRleCA5 MWEzMWZmZS4uOWE3ODFmMDYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvdmlydGdwdV9k cm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBpL3ZpcnRncHVfZHJtLmgKQEAgLTYzLDYgKzYzLDcg QEAgc3RydWN0IGRybV92aXJ0Z3B1X2V4ZWNidWZmZXIgewogfTsKIAogI2RlZmluZSBWSVJUR1BV X1BBUkFNXzNEX0ZFQVRVUkVTIDEgLyogZG8gd2UgaGF2ZSAzRCBmZWF0dXJlcyBpbiB0aGUgaHcg Ki8KKyNkZWZpbmUgVklSVEdQVV9QQVJBTV9DQVBTRVRfUVVFUllfRklYIDIgLyogZG8gd2UgaGF2 ZSB0aGUgY2Fwc2V0IGZpeCAqLwogCiBzdHJ1Y3QgZHJtX3ZpcnRncHVfZ2V0cGFyYW0gewogCV9f dTY0IHBhcmFtOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0tdWFwaS92bXdnZnhfZHJtLmggYi9p bmNsdWRlL2RybS11YXBpL3Ztd2dmeF9kcm0uaAppbmRleCAwYmM3ODRmNS4uMzk5ZjU4MzEgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvdm13Z2Z4X2RybS5oCisrKyBiL2luY2x1ZGUvZHJt LXVhcGkvdm13Z2Z4X2RybS5oCkBAIC00MCw2ICs0MCw3IEBAIGV4dGVybiAiQyIgewogCiAjZGVm aW5lIERSTV9WTVdfR0VUX1BBUkFNICAgICAgICAgICAgMAogI2RlZmluZSBEUk1fVk1XX0FMTE9D X0RNQUJVRiAgICAgICAgIDEKKyNkZWZpbmUgRFJNX1ZNV19BTExPQ19CTyAgICAgICAgICAgICAx CiAjZGVmaW5lIERSTV9WTVdfVU5SRUZfRE1BQlVGICAgICAgICAgMgogI2RlZmluZSBEUk1fVk1X X0hBTkRMRV9DTE9TRSAgICAgICAgIDIKICNkZWZpbmUgRFJNX1ZNV19DVVJTT1JfQllQQVNTICAg ICAgICAzCkBAIC02OCw2ICs2OSw4IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fVk1XX0dC X1NVUkZBQ0VfUkVGICAgICAgIDI0CiAjZGVmaW5lIERSTV9WTVdfU1lOQ0NQVSAgICAgICAgICAg ICAgMjUKICNkZWZpbmUgRFJNX1ZNV19DUkVBVEVfRVhURU5ERURfQ09OVEVYVCAyNgorI2RlZmlu ZSBEUk1fVk1XX0dCX1NVUkZBQ0VfQ1JFQVRFX0VYVCAgIDI3CisjZGVmaW5lIERSTV9WTVdfR0Jf U1VSRkFDRV9SRUZfRVhUICAgICAgMjgKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKioKQEAgLTc5 LDYgKzgyLDkgQEAgZXh0ZXJuICJDIiB7CiAgKgogICogRFJNX1ZNV19QQVJBTV9PVkVSTEFZX0lP Q1RMOgogICogRG9lcyB0aGUgZHJpdmVyIHN1cHBvcnQgdGhlIG92ZXJsYXkgaW9jdGwuCisgKgor ICogRFJNX1ZNV19QQVJBTV9TTTRfMQorICogU000XzEgc3VwcG9ydCBpcyBlbmFibGVkLgogICov CiAKICNkZWZpbmUgRFJNX1ZNV19QQVJBTV9OVU1fU1RSRUFNUyAgICAgIDAKQEAgLTk0LDYgKzEw MCw4IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fVk1XX1BBUkFNX01BWF9NT0JfU0laRSAg ICAgMTAKICNkZWZpbmUgRFJNX1ZNV19QQVJBTV9TQ1JFRU5fVEFSR0VUICAgIDExCiAjZGVmaW5l IERSTV9WTVdfUEFSQU1fRFggICAgICAgICAgICAgICAxMgorI2RlZmluZSBEUk1fVk1XX1BBUkFN X0hXX0NBUFMyICAgICAgICAgMTMKKyNkZWZpbmUgRFJNX1ZNV19QQVJBTV9TTTRfMSAgICAgICAg ICAgIDE0CiAKIC8qKgogICogZW51bSBkcm1fdm13X2hhbmRsZV90eXBlIC0gaGFuZGxlIHR5cGUg Zm9yIHJlZiBpb2N0bHMKQEAgLTM1Niw5ICszNjQsOSBAQCBzdHJ1Y3QgZHJtX3Ztd19mZW5jZV9y ZXAgewogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qKgotICogRFJNX1ZNV19BTExPQ19ETUFCVUYK KyAqIERSTV9WTVdfQUxMT0NfQk8KICAqCi0gKiBBbGxvY2F0ZSBhIERNQSBidWZmZXIgdGhhdCBp cyB2aXNpYmxlIGFsc28gdG8gdGhlIGhvc3QuCisgKiBBbGxvY2F0ZSBhIGJ1ZmZlciBvYmplY3Qg dGhhdCBpcyB2aXNpYmxlIGFsc28gdG8gdGhlIGhvc3QuCiAgKiBOT1RFOiBUaGUgYnVmZmVyIGlz CiAgKiBpZGVudGlmaWVkIGJ5IGEgaGFuZGxlIGFuZCBhbiBvZmZzZXQsIHdoaWNoIGFyZSBwcml2 YXRlIHRvIHRoZSBndWVzdCwgYnV0CiAgKiB1c2VhYmxlIGluIHRoZSBjb21tYW5kIHN0cmVhbS4g VGhlIGd1ZXN0IGtlcm5lbCBtYXkgdHJhbnNsYXRlIHRoZXNlCkBAIC0zNjYsMjcgKzM3NCwyOCBA QCBzdHJ1Y3QgZHJtX3Ztd19mZW5jZV9yZXAgewogICogYmUgemVybyBhdCBhbGwgdGltZXMsIG9y IGl0IG1heSBkaXNhcHBlYXIgZnJvbSB0aGUgaW50ZXJmYWNlIGJlZm9yZSBpdCBpcwogICogZml4 ZWQuCiAgKgotICogVGhlIERNQSBidWZmZXIgbWF5IHN0YXkgdXNlci1zcGFjZSBtYXBwZWQgaW4g dGhlIGd1ZXN0IGF0IGFsbCB0aW1lcywKKyAqIFRoZSBidWZmZXIgb2JqZWN0IG1heSBzdGF5IHVz ZXItc3BhY2UgbWFwcGVkIGluIHRoZSBndWVzdCBhdCBhbGwgdGltZXMsCiAgKiBhbmQgaXMgdGh1 cyBzdWl0YWJsZSBmb3Igc3ViLWFsbG9jYXRpb24uCiAgKgotICogRE1BIGJ1ZmZlcnMgYXJlIG1h cHBlZCB1c2luZyB0aGUgbW1hcCgpIHN5c2NhbGwgb24gdGhlIGRybSBkZXZpY2UuCisgKiBCdWZm ZXIgb2JqZWN0cyBhcmUgbWFwcGVkIHVzaW5nIHRoZSBtbWFwKCkgc3lzY2FsbCBvbiB0aGUgZHJt IGRldmljZS4KICAqLwogCiAvKioKLSAqIHN0cnVjdCBkcm1fdm13X2FsbG9jX2RtYWJ1Zl9yZXEK KyAqIHN0cnVjdCBkcm1fdm13X2FsbG9jX2JvX3JlcQogICoKICAqIEBzaXplOiBSZXF1aXJlZCBt aW5pbXVtIHNpemUgb2YgdGhlIGJ1ZmZlci4KICAqCi0gKiBJbnB1dCBkYXRhIHRvIHRoZSBEUk1f Vk1XX0FMTE9DX0RNQUJVRiBJb2N0bC4KKyAqIElucHV0IGRhdGEgdG8gdGhlIERSTV9WTVdfQUxM T0NfQk8gSW9jdGwuCiAgKi8KIAotc3RydWN0IGRybV92bXdfYWxsb2NfZG1hYnVmX3JlcSB7Citz dHJ1Y3QgZHJtX3Ztd19hbGxvY19ib19yZXEgewogCV9fdTMyIHNpemU7CiAJX191MzIgcGFkNjQ7 CiB9OworI2RlZmluZSBkcm1fdm13X2FsbG9jX2RtYWJ1Zl9yZXEgZHJtX3Ztd19hbGxvY19ib19y ZXEKIAogLyoqCi0gKiBzdHJ1Y3QgZHJtX3Ztd19kbWFidWZfcmVwCisgKiBzdHJ1Y3QgZHJtX3Zt d19ib19yZXAKICAqCiAgKiBAbWFwX2hhbmRsZTogT2Zmc2V0IHRvIHVzZSBpbiB0aGUgbW1hcCgp IGNhbGwgdXNlZCB0byBtYXAgdGhlIGJ1ZmZlci4KICAqIEBoYW5kbGU6IEhhbmRsZSB1bmlxdWUg dG8gdGhpcyBidWZmZXIuIFVzZWQgZm9yIHVucmVmZXJlbmNpbmcuCkBAIC0zOTUsNTAgKzQwNCwz MiBAQCBzdHJ1Y3QgZHJtX3Ztd19hbGxvY19kbWFidWZfcmVxIHsKICAqIEBjdXJfZ21yX29mZnNl dDogT2Zmc2V0IHRvIHVzZSBpbiB0aGUgY29tbWFuZCBzdHJlYW0gd2hlbiB0aGlzIGJ1ZmZlciBp cwogICogcmVmZXJlbmNlZC4gU2VlIG5vdGUgYWJvdmUuCiAgKgotICogT3V0cHV0IGRhdGEgZnJv bSB0aGUgRFJNX1ZNV19BTExPQ19ETUFCVUYgSW9jdGwuCisgKiBPdXRwdXQgZGF0YSBmcm9tIHRo ZSBEUk1fVk1XX0FMTE9DX0JPIElvY3RsLgogICovCiAKLXN0cnVjdCBkcm1fdm13X2RtYWJ1Zl9y ZXAgeworc3RydWN0IGRybV92bXdfYm9fcmVwIHsKIAlfX3U2NCBtYXBfaGFuZGxlOwogCV9fdTMy IGhhbmRsZTsKIAlfX3UzMiBjdXJfZ21yX2lkOwogCV9fdTMyIGN1cl9nbXJfb2Zmc2V0OwogCV9f dTMyIHBhZDY0OwogfTsKKyNkZWZpbmUgZHJtX3Ztd19kbWFidWZfcmVwIGRybV92bXdfYm9fcmVw CiAKIC8qKgotICogdW5pb24gZHJtX3Ztd19kbWFidWZfYXJnCisgKiB1bmlvbiBkcm1fdm13X2Fs bG9jX2JvX2FyZwogICoKICAqIEByZXE6IElucHV0IGRhdGEgYXMgZGVzY3JpYmVkIGFib3ZlLgog ICogQHJlcDogT3V0cHV0IGRhdGEgYXMgZGVzY3JpYmVkIGFib3ZlLgogICoKLSAqIEFyZ3VtZW50 IHRvIHRoZSBEUk1fVk1XX0FMTE9DX0RNQUJVRiBJb2N0bC4KKyAqIEFyZ3VtZW50IHRvIHRoZSBE Uk1fVk1XX0FMTE9DX0JPIElvY3RsLgogICovCiAKLXVuaW9uIGRybV92bXdfYWxsb2NfZG1hYnVm X2FyZyB7Ci0Jc3RydWN0IGRybV92bXdfYWxsb2NfZG1hYnVmX3JlcSByZXE7Ci0Jc3RydWN0IGRy bV92bXdfZG1hYnVmX3JlcCByZXA7Ci19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qKgotICog RFJNX1ZNV19VTlJFRl9ETUFCVUYgLSBGcmVlIGEgRE1BIGJ1ZmZlci4KLSAqCi0gKi8KLQotLyoq Ci0gKiBzdHJ1Y3QgZHJtX3Ztd191bnJlZl9kbWFidWZfYXJnCi0gKgotICogQGhhbmRsZTogSGFu ZGxlIGluZGljYXRpbmcgd2hhdCBidWZmZXIgdG8gZnJlZS4gT2J0YWluZWQgZnJvbSB0aGUKLSAq IERSTV9WTVdfQUxMT0NfRE1BQlVGIElvY3RsLgotICoKLSAqIEFyZ3VtZW50IHRvIHRoZSBEUk1f Vk1XX1VOUkVGX0RNQUJVRiBJb2N0bC4KLSAqLwotCi1zdHJ1Y3QgZHJtX3Ztd191bnJlZl9kbWFi dWZfYXJnIHsKLQlfX3UzMiBoYW5kbGU7Ci0JX191MzIgcGFkNjQ7Cit1bmlvbiBkcm1fdm13X2Fs bG9jX2JvX2FyZyB7CisJc3RydWN0IGRybV92bXdfYWxsb2NfYm9fcmVxIHJlcTsKKwlzdHJ1Y3Qg ZHJtX3Ztd19ib19yZXAgcmVwOwogfTsKKyNkZWZpbmUgZHJtX3Ztd19hbGxvY19kbWFidWZfYXJn IGRybV92bXdfYWxsb2NfYm9fYXJnCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyoqCkBAIC0xMTAz LDkgKzEwOTQsOCBAQCB1bmlvbiBkcm1fdm13X2V4dGVuZGVkX2NvbnRleHRfYXJnIHsKICAqIERS TV9WTVdfSEFORExFX0NMT1NFIC0gQ2xvc2UgYSB1c2VyLXNwYWNlIGhhbmRsZSBhbmQgcmVsZWFz ZSBpdHMKICAqIHVuZGVybHlpbmcgcmVzb3VyY2UuCiAgKgotICogTm90ZSB0aGF0IHRoaXMgaW9j dGwgaXMgb3ZlcmxhaWQgb24gdGhlIERSTV9WTVdfVU5SRUZfRE1BQlVGIElvY3RsLgotICogVGhl IGlvY3RsIGFyZ3VtZW50cyB0aGVyZWZvcmUgbmVlZCB0byBiZSBpZGVudGljYWwgaW4gbGF5b3V0 LgotICoKKyAqIE5vdGUgdGhhdCB0aGlzIGlvY3RsIGlzIG92ZXJsYWlkIG9uIHRoZSBkZXByZWNh dGVkIERSTV9WTVdfVU5SRUZfRE1BQlVGCisgKiBJb2N0bC4KICAqLwogCiAvKioKQEAgLTExMTks NyArMTEwOSwxMDcgQEAgc3RydWN0IGRybV92bXdfaGFuZGxlX2Nsb3NlX2FyZyB7CiAJX191MzIg aGFuZGxlOwogCV9fdTMyIHBhZDY0OwogfTsKKyNkZWZpbmUgZHJtX3Ztd191bnJlZl9kbWFidWZf YXJnIGRybV92bXdfaGFuZGxlX2Nsb3NlX2FyZworCisvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgor ICogRFJNX1ZNV19HQl9TVVJGQUNFX0NSRUFURV9FWFQgLSBDcmVhdGUgYSBob3N0IGd1ZXN0LWJh Y2tlZCBzdXJmYWNlLgorICoKKyAqIEFsbG9jYXRlcyBhIHN1cmZhY2UgaGFuZGxlIGFuZCBxdWV1 ZXMgYSBjcmVhdGUgc3VyZmFjZSBjb21tYW5kCisgKiBmb3IgdGhlIGhvc3Qgb24gdGhlIGZpcnN0 IHVzZSBvZiB0aGUgc3VyZmFjZS4gVGhlIHN1cmZhY2UgSUQgY2FuCisgKiBiZSB1c2VkIGFzIHRo ZSBzdXJmYWNlIElEIGluIGNvbW1hbmRzIHJlZmVyZW5jaW5nIHRoZSBzdXJmYWNlLgorICoKKyAq IFRoaXMgbmV3IGNvbW1hbmQgZXh0ZW5kcyBEUk1fVk1XX0dCX1NVUkZBQ0VfQ1JFQVRFIGJ5IGFk ZGluZyB2ZXJzaW9uCisgKiBwYXJhbWV0ZXIgYW5kIDY0IGJpdCBzdmdhIGZsYWcuCisgKi8KKwor LyoqCisgKiBlbnVtIGRybV92bXdfc3VyZmFjZV92ZXJzaW9uCisgKgorICogQGRybV92bXdfc3Vy ZmFjZV9nYl92MTogQ29ycmVzcG9uZHMgdG8gY3VycmVudCBnYiBzdXJmYWNlIGZvcm1hdCB3aXRo CisgKiBzdmdhM2Qgc3VyZmFjZSBmbGFncyBzcGxpdCBpbnRvIDIsIHVwcGVyIGhhbGYgYW5kIGxv d2VyIGhhbGYuCisgKi8KK2VudW0gZHJtX3Ztd19zdXJmYWNlX3ZlcnNpb24geworCWRybV92bXdf Z2Jfc3VyZmFjZV92MQorfTsKKworLyoqCisgKiBzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2Ny ZWF0ZV9leHRfcmVxCisgKgorICogQGJhc2U6IFN1cmZhY2UgY3JlYXRlIHBhcmFtZXRlcnMuCisg KiBAdmVyc2lvbjogVmVyc2lvbiBvZiBzdXJmYWNlIGNyZWF0ZSBpb2N0bC4KKyAqIEBzdmdhM2Rf ZmxhZ3NfdXBwZXJfMzJfYml0czogVXBwZXIgMzIgYml0cyBvZiBzdmdhM2QgZmxhZ3MuCisgKiBA bXVsdGlzYW1wbGVfcGF0dGVybjogTXVsdGlzYW1wbGluZyBwYXR0ZXJuIHdoZW4gbXNhYSBpcyBz dXBwb3J0ZWQuCisgKiBAcXVhbGl0eV9sZXZlbDogUHJlY2lzaW9uIHNldHRpbmdzIGZvciBlYWNo IHNhbXBsZS4KKyAqIEBtdXN0X2JlX3plcm86IFJlc2VydmVkIGZvciBmdXR1cmUgdXNhZ2UuCisg KgorICogSW5wdXQgYXJndW1lbnQgdG8gdGhlICBEUk1fVk1XX0dCX1NVUkZBQ0VfQ1JFQVRFX0VY VCBJb2N0bC4KKyAqIFBhcnQgb2Ygb3V0cHV0IGFyZ3VtZW50IGZvciB0aGUgRFJNX1ZNV19HQl9T VVJGQUNFX1JFRl9FWFQgSW9jdGwuCisgKi8KK3N0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3Jl YXRlX2V4dF9yZXEgeworCXN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcSBiYXNl OworCWVudW0gZHJtX3Ztd19zdXJmYWNlX3ZlcnNpb24gdmVyc2lvbjsKKwl1aW50MzJfdCBzdmdh M2RfZmxhZ3NfdXBwZXJfMzJfYml0czsKKwlTVkdBM2RNU1BhdHRlcm4gbXVsdGlzYW1wbGVfcGF0 dGVybjsKKwlTVkdBM2RNU1F1YWxpdHlMZXZlbCBxdWFsaXR5X2xldmVsOworCXVpbnQ2NF90IG11 c3RfYmVfemVybzsKK307CisKKy8qKgorICogdW5pb24gZHJtX3Ztd19nYl9zdXJmYWNlX2NyZWF0 ZV9leHRfYXJnCisgKgorICogQHJlcTogSW5wdXQgYXJndW1lbnQgYXMgZGVzY3JpYmVkIGFib3Zl LgorICogQHJlcDogT3V0cHV0IGFyZ3VtZW50IGFzIGRlc2NyaWJlZCBhYm92ZS4KKyAqCisgKiBB cmd1bWVudCB0byB0aGUgRFJNX1ZNV19HQl9TVVJGQUNFX0NSRUFURV9FWFQgaW9jdGwuCisgKi8K K3VuaW9uIGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfZXh0X2FyZyB7CisJc3RydWN0IGRybV92 bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfcmVwIHJlcDsKKwlzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNl X2NyZWF0ZV9leHRfcmVxIHJlcTsKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiBE Uk1fVk1XX0dCX1NVUkZBQ0VfUkVGX0VYVCAtIFJlZmVyZW5jZSBhIGhvc3Qgc3VyZmFjZS4KKyAq CisgKiBQdXRzIGEgcmVmZXJlbmNlIG9uIGEgaG9zdCBzdXJmYWNlIHdpdGggYSBnaXZlbiBoYW5k bGUsIGFzIHByZXZpb3VzbHkKKyAqIHJldHVybmVkIGJ5IHRoZSBEUk1fVk1XX0dCX1NVUkZBQ0Vf Q1JFQVRFX0VYVCBpb2N0bC4KKyAqIEEgcmVmZXJlbmNlIHdpbGwgbWFrZSBzdXJlIHRoZSBzdXJm YWNlIGlzbid0IGRlc3Ryb3llZCB3aGlsZSB3ZSBob2xkCisgKiBpdCBhbmQgd2lsbCBhbGxvdyB0 aGUgY2FsbGluZyBjbGllbnQgdG8gdXNlIHRoZSBzdXJmYWNlIGhhbmRsZSBpbgorICogdGhlIGNv bW1hbmQgc3RyZWFtLgorICoKKyAqIE9uIHN1Y2Nlc3NmdWwgcmV0dXJuLCB0aGUgSW9jdGwgcmV0 dXJucyB0aGUgc3VyZmFjZSBpbmZvcm1hdGlvbiBnaXZlbgorICogdG8gYW5kIHJldHVybmVkIGZy b20gdGhlIERSTV9WTVdfR0JfU1VSRkFDRV9DUkVBVEVfRVhUIGlvY3RsLgorICovCiAKKy8qKgor ICogc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9yZWZfZXh0X3JlcAorICoKKyAqIEBjcmVxOiBU aGUgZGF0YSB1c2VkIGFzIGlucHV0IHdoZW4gdGhlIHN1cmZhY2Ugd2FzIGNyZWF0ZWQsIGFzIGRl c2NyaWJlZAorICogICAgICAgIGFib3ZlIGF0ICJzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2Ny ZWF0ZV9leHRfcmVxIgorICogQGNyZXA6IEFkZGl0aW9uYWwgZGF0YSBvdXRwdXQgd2hlbiB0aGUg c3VyZmFjZSB3YXMgY3JlYXRlZCwgYXMgZGVzY3JpYmVkCisgKiAgICAgICAgYWJvdmUgYXQgInN0 cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcCIKKyAqCisgKiBPdXRwdXQgQXJndW1l bnQgdG8gdGhlIERSTV9WTVdfR0JfU1VSRkFDRV9SRUZfRVhUIGlvY3RsLgorICovCitzdHJ1Y3Qg ZHJtX3Ztd19nYl9zdXJmYWNlX3JlZl9leHRfcmVwIHsKKwlzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJm YWNlX2NyZWF0ZV9leHRfcmVxIGNyZXE7CisJc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVh dGVfcmVwIGNyZXA7Cit9OworCisvKioKKyAqIHVuaW9uIGRybV92bXdfZ2Jfc3VyZmFjZV9yZWZl cmVuY2VfZXh0X2FyZworICoKKyAqIEByZXE6IElucHV0IGRhdGEgYXMgZGVzY3JpYmVkIGFib3Zl IGF0ICJzdHJ1Y3QgZHJtX3Ztd19zdXJmYWNlX2FyZyIKKyAqIEByZXA6IE91dHB1dCBkYXRhIGFz IGRlc2NyaWJlZCBhYm92ZSBhdAorICogICAgICAgInN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2Vf cmVmX2V4dF9yZXAiCisgKgorICogQXJndW1lbnQgdG8gdGhlIERSTV9WTVdfR0JfU1VSRkFDRV9S RUYgSW9jdGwuCisgKi8KK3VuaW9uIGRybV92bXdfZ2Jfc3VyZmFjZV9yZWZlcmVuY2VfZXh0X2Fy ZyB7CisJc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9yZWZfZXh0X3JlcCByZXA7CisJc3RydWN0 IGRybV92bXdfc3VyZmFjZV9hcmcgcmVxOworfTsKIAogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMp CiB9Ci0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=