From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 1/4] headers: bump Date: Tue, 13 Nov 2018 14:36:26 +0000 Message-ID: <20181113143629.28101-2-tvrtko.ursulin@linux.intel.com> References: <20181113143629.28101-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181113143629.28101-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgoK LS0tCiBpbmNsdWRlL2RybS11YXBpL2FtZGdwdV9kcm0uaCAgfCAgNTIgKysrLQogaW5jbHVkZS9k cm0tdWFwaS9kcm0uaCAgICAgICAgIHwgIDE3ICsrCiBpbmNsdWRlL2RybS11YXBpL2RybV9mb3Vy Y2MuaCAgfCAyMjQgKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS11YXBpL2RybV9tb2RlLmgg ICAgfCAgMjYgKy0KIGluY2x1ZGUvZHJtLXVhcGkvZXRuYXZpdl9kcm0uaCB8ICAgNiArCiBpbmNs dWRlL2RybS11YXBpL2V4eW5vc19kcm0uaCAgfCAyNDAgKysrKysrKysrKysrKysrKwogaW5jbHVk ZS9kcm0tdWFwaS9pOTE1X2RybS5oICAgIHwgIDgwICsrKysrKwogaW5jbHVkZS9kcm0tdWFwaS9t c21fZHJtLmggICAgIHwgICAyICsKIGluY2x1ZGUvZHJtLXVhcGkvdGVncmFfZHJtLmggICB8IDQ5 MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGluY2x1ZGUvZHJtLXVhcGkvdjNk X2RybS5oICAgICB8IDIwNCArKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0tdWFwaS92YzRfZHJt LmggICAgIHwgIDEzICstCiBpbmNsdWRlL2RybS11YXBpL3ZpcnRncHVfZHJtLmggfCAgIDEgKwog aW5jbHVkZS9kcm0tdWFwaS92bXdnZnhfZHJtLmggIHwgMTY2ICsrKysrKysrLS0tCiAxMyBmaWxl cyBjaGFuZ2VkLCAxNDY3IGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGluY2x1ZGUvZHJtLXVhcGkvdjNkX2RybS5oCgpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0tdWFwaS9hbWRncHVfZHJtLmggYi9pbmNsdWRlL2RybS11YXBpL2FtZGdwdV9kcm0uaApp bmRleCAxODE2YmQ4MjAwZDEuLjM3MGU5YTU1MzZlZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0t dWFwaS9hbWRncHVfZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9hbWRncHVfZHJtLmgKQEAg LTcyLDEyICs3Miw0MSBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9G RU5DRV9UT19IQU5ETEUgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BTURHUFVfRkVO Q0VfVE9fSEFORExFLCB1bmlvbiBkcm1fYW1kZ3B1X2ZlbmNlX3RvX2hhbmRsZSkKICNkZWZpbmUg RFJNX0lPQ1RMX0FNREdQVV9TQ0hFRAkJRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FN REdQVV9TQ0hFRCwgdW5pb24gZHJtX2FtZGdwdV9zY2hlZCkKIAorLyoqCisgKiBET0M6IG1lbW9y eSBkb21haW5zCisgKgorICogJUFNREdQVV9HRU1fRE9NQUlOX0NQVQlTeXN0ZW0gbWVtb3J5IHRo YXQgaXMgbm90IEdQVSBhY2Nlc3NpYmxlLgorICogTWVtb3J5IGluIHRoaXMgcG9vbCBjb3VsZCBi ZSBzd2FwcGVkIG91dCB0byBkaXNrIGlmIHRoZXJlIGlzIHByZXNzdXJlLgorICoKKyAqICVBTURH UFVfR0VNX0RPTUFJTl9HVFQJR1BVIGFjY2Vzc2libGUgc3lzdGVtIG1lbW9yeSwgbWFwcGVkIGlu dG8gdGhlCisgKiBHUFUncyB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgdmlhIGdhcnQuIEdhcnQgbWVt b3J5IGxpbmVhcml6ZXMgbm9uLWNvbnRpZ3VvdXMKKyAqIHBhZ2VzIG9mIHN5c3RlbSBtZW1vcnks IGFsbG93cyBHUFUgYWNjZXNzIHN5c3RlbSBtZW1vcnkgaW4gYSBsaW5lenJpemVkCisgKiBmYXNo aW9uLgorICoKKyAqICVBTURHUFVfR0VNX0RPTUFJTl9WUkFNCUxvY2FsIHZpZGVvIG1lbW9yeS4g Rm9yIEFQVXMsIGl0IGlzIG1lbW9yeQorICogY2FydmVkIG91dCBieSB0aGUgQklPUy4KKyAqCisg KiAlQU1ER1BVX0dFTV9ET01BSU5fR0RTCUdsb2JhbCBvbi1jaGlwIGRhdGEgc3RvcmFnZSB1c2Vk IHRvIHNoYXJlIGRhdGEKKyAqIGFjcm9zcyBzaGFkZXIgdGhyZWFkcy4KKyAqCisgKiAlQU1ER1BV X0dFTV9ET01BSU5fR1dTCUdsb2JhbCB3YXZlIHN5bmMsIHVzZWQgdG8gc3luY2hyb25pemUgdGhl CisgKiBleGVjdXRpb24gb2YgYWxsIHRoZSB3YXZlcyBvbiBhIGRldmljZS4KKyAqCisgKiAlQU1E R1BVX0dFTV9ET01BSU5fT0EJT3JkZXJlZCBhcHBlbmQsIHVzZWQgYnkgM0Qgb3IgQ29tcHV0ZSBl bmdpbmVzCisgKiBmb3IgYXBwZW5kaW5nIGRhdGEuCisgKi8KICNkZWZpbmUgQU1ER1BVX0dFTV9E T01BSU5fQ1BVCQkweDEKICNkZWZpbmUgQU1ER1BVX0dFTV9ET01BSU5fR1RUCQkweDIKICNkZWZp bmUgQU1ER1BVX0dFTV9ET01BSU5fVlJBTQkJMHg0CiAjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlO X0dEUwkJMHg4CiAjZGVmaW5lIEFNREdQVV9HRU1fRE9NQUlOX0dXUwkJMHgxMAogI2RlZmluZSBB TURHUFVfR0VNX0RPTUFJTl9PQQkJMHgyMAorI2RlZmluZSBBTURHUFVfR0VNX0RPTUFJTl9NQVNL CQkoQU1ER1BVX0dFTV9ET01BSU5fQ1BVIHwgXAorCQkJCQkgQU1ER1BVX0dFTV9ET01BSU5fR1RU IHwgXAorCQkJCQkgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSB8IFwKKwkJCQkJIEFNREdQVV9HRU1f RE9NQUlOX0dEUyB8IFwKKwkJCQkJIEFNREdQVV9HRU1fRE9NQUlOX0dXUyB8IFwKKwkJCQkJIEFN REdQVV9HRU1fRE9NQUlOX09BKQogCiAvKiBGbGFnIHRoYXQgQ1BVIGFjY2VzcyB3aWxsIGJlIHJl cXVpcmVkIGZvciB0aGUgY2FzZSBvZiBWUkFNIGRvbWFpbiAqLwogI2RlZmluZSBBTURHUFVfR0VN X0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVECSgxIDw8IDApCkBAIC05NSw2ICsxMjQsMTAgQEAg ZXh0ZXJuICJDIiB7CiAjZGVmaW5lIEFNREdQVV9HRU1fQ1JFQVRFX1ZNX0FMV0FZU19WQUxJRAko MSA8PCA2KQogLyogRmxhZyB0aGF0IEJPIHNoYXJpbmcgd2lsbCBiZSBleHBsaWNpdGx5IHN5bmNo cm9uaXplZCAqLwogI2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9FWFBMSUNJVF9TWU5DCQkoMSA8 PCA3KQorLyogRmxhZyB0aGF0IGluZGljYXRlcyBhbGxvY2F0aW5nIE1RRCBnYXJ0IG9uIEdGWDks IHdoZXJlIHRoZSBtdHlwZQorICogZm9yIHRoZSBzZWNvbmQgcGFnZSBvbndhcmQgc2hvdWxkIGJl IHNldCB0byBOQy4KKyAqLworI2RlZmluZSBBTURHUFVfR0VNX0NSRUFURV9NUURfR0ZYOQkJKDEg PDwgOCkKIAogc3RydWN0IGRybV9hbWRncHVfZ2VtX2NyZWF0ZV9pbiAgewogCS8qKiB0aGUgcmVx dWVzdGVkIG1lbW9yeSBzaXplICovCkBAIC00NzMsNyArNTA2LDggQEAgc3RydWN0IGRybV9hbWRn cHVfZ2VtX3ZhIHsKICNkZWZpbmUgQU1ER1BVX0hXX0lQX1VWRF9FTkMgICAgICA1CiAjZGVmaW5l IEFNREdQVV9IV19JUF9WQ05fREVDICAgICAgNgogI2RlZmluZSBBTURHUFVfSFdfSVBfVkNOX0VO QyAgICAgIDcKLSNkZWZpbmUgQU1ER1BVX0hXX0lQX05VTSAgICAgICAgICA4CisjZGVmaW5lIEFN REdQVV9IV19JUF9WQ05fSlBFRyAgICAgOAorI2RlZmluZSBBTURHUFVfSFdfSVBfTlVNICAgICAg ICAgIDkKIAogI2RlZmluZSBBTURHUFVfSFdfSVBfSU5TVEFOQ0VfTUFYX0NPVU5UIDEKIApAQCAt NDgyLDYgKzUxNiw3IEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV92YSB7CiAjZGVmaW5lIEFNREdQ VV9DSFVOS19JRF9ERVBFTkRFTkNJRVMJMHgwMwogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfU1lO Q09CSl9JTiAgICAgIDB4MDQKICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfT1VUICAg ICAweDA1CisjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9CT19IQU5ETEVTICAgICAgMHgwNgogCiBz dHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVuayB7CiAJX191MzIJCWNodW5rX2lkOwpAQCAtNTIwLDYg KzU1NSwxMCBAQCB1bmlvbiBkcm1fYW1kZ3B1X2NzIHsKIC8qIFByZWVtcHQgZmxhZywgSUIgc2hv dWxkIHNldCBQcmVfZW5iIGJpdCBpZiBQUkVFTVBUIGZsYWcgZGV0ZWN0ZWQgKi8KICNkZWZpbmUg QU1ER1BVX0lCX0ZMQUdfUFJFRU1QVCAoMTw8MikKIAorLyogVGhlIElCIGZlbmNlIHNob3VsZCBk byB0aGUgTDIgd3JpdGViYWNrIGJ1dCBub3QgaW52YWxpZGF0ZSBhbnkgc2hhZGVyCisgKiBjYWNo ZXMgKEwyL3ZMMS9zTDEvSSQpLiAqLworI2RlZmluZSBBTURHUFVfSUJfRkxBR19UQ19XQl9OT1Rf SU5WQUxJREFURSAoMSA8PCAzKQorCiBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19pYiB7CiAJ X191MzIgX3BhZDsKIAkvKiogQU1ER1BVX0lCX0ZMQUdfKiAqLwpAQCAtNjE4LDYgKzY1NywxNiBA QCBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kYXRhIHsKIAkjZGVmaW5lIEFNREdQVV9JTkZP X0ZXX1NPUwkJMHgwYwogCS8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBQU1AgQVNEIGZpcm13YXJlIHZl cnNpb24gKi8KIAkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0FTRAkJMHgwZAorCS8qIFN1YnF1ZXJ5 IGlkOiBRdWVyeSBWQ04gZmlybXdhcmUgdmVyc2lvbiAqLworCSNkZWZpbmUgQU1ER1BVX0lORk9f RldfVkNOCQkweDBlCisJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IEdGWCBSTEMgU1JMQyBmaXJtd2Fy ZSB2ZXJzaW9uICovCisJI2RlZmluZSBBTURHUFVfSU5GT19GV19HRlhfUkxDX1JFU1RPUkVfTElT VF9DTlRMIDB4MGYKKwkvKiBTdWJxdWVyeSBpZDogUXVlcnkgR0ZYIFJMQyBTUkxHIGZpcm13YXJl IHZlcnNpb24gKi8KKwkjZGVmaW5lIEFNREdQVV9JTkZPX0ZXX0dGWF9STENfUkVTVE9SRV9MSVNU X0dQTV9NRU0gMHgxMAorCS8qIFN1YnF1ZXJ5IGlkOiBRdWVyeSBHRlggUkxDIFNSTFMgZmlybXdh cmUgdmVyc2lvbiAqLworCSNkZWZpbmUgQU1ER1BVX0lORk9fRldfR0ZYX1JMQ19SRVNUT1JFX0xJ U1RfU1JNX01FTSAweDExCisJLyogU3VicXVlcnkgaWQ6IFF1ZXJ5IERNQ1UgZmlybXdhcmUgdmVy c2lvbiAqLworCSNkZWZpbmUgQU1ER1BVX0lORk9fRldfRE1DVQkJMHgxMgogLyogbnVtYmVyIG9m IGJ5dGVzIG1vdmVkIGZvciBUVE0gbWlncmF0aW9uICovCiAjZGVmaW5lIEFNREdQVV9JTkZPX05V TV9CWVRFU19NT1ZFRAkJMHgwZgogLyogdGhlIHVzZWQgVlJBTSBzaXplICovCkBAIC04MDYsNiAr ODU1LDcgQEAgc3RydWN0IGRybV9hbWRncHVfaW5mb19maXJtd2FyZSB7CiAjZGVmaW5lIEFNREdQ VV9WUkFNX1RZUEVfR0REUjUgNQogI2RlZmluZSBBTURHUFVfVlJBTV9UWVBFX0hCTSAgIDYKICNk ZWZpbmUgQU1ER1BVX1ZSQU1fVFlQRV9ERFIzICA3CisjZGVmaW5lIEFNREdQVV9WUkFNX1RZUEVf RERSNCAgOAogCiBzdHJ1Y3QgZHJtX2FtZGdwdV9pbmZvX2RldmljZSB7CiAJLyoqIFBDSSBEZXZp Y2UgSUQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtLmggYi9pbmNsdWRlL2Ry bS11YXBpL2RybS5oCmluZGV4IGYwYmQ5MWRlMGNmOS4uMDJiNDE2OTU1NWE1IDEwMDY0NAotLS0g YS9pbmNsdWRlL2RybS11YXBpL2RybS5oCisrKyBiL2luY2x1ZGUvZHJtLXVhcGkvZHJtLmgKQEAg LTY3NCw2ICs2NzQsMjIgQEAgc3RydWN0IGRybV9nZXRfY2FwIHsKICAqLwogI2RlZmluZSBEUk1f Q0xJRU5UX0NBUF9BVE9NSUMJMwogCisvKioKKyAqIERSTV9DTElFTlRfQ0FQX0FTUEVDVF9SQVRJ TworICoKKyAqIElmIHNldCB0byAxLCB0aGUgRFJNIGNvcmUgd2lsbCBwcm92aWRlIGFzcGVjdCBy YXRpbyBpbmZvcm1hdGlvbiBpbiBtb2Rlcy4KKyAqLworI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9B U1BFQ1RfUkFUSU8gICAgNAorCisvKioKKyAqIERSTV9DTElFTlRfQ0FQX1dSSVRFQkFDS19DT05O RUNUT1JTCisgKgorICogSWYgc2V0IHRvIDEsIHRoZSBEUk0gY29yZSB3aWxsIGV4cG9zZSBzcGVj aWFsIGNvbm5lY3RvcnMgdG8gYmUgdXNlZCBmb3IKKyAqIHdyaXRpbmcgYmFjayB0byBtZW1vcnkg dGhlIHNjZW5lIHNldHVwIGluIHRoZSBjb21taXQuIERlcGVuZHMgb24gY2xpZW50CisgKiBhbHNv IHN1cHBvcnRpbmcgRFJNX0NMSUVOVF9DQVBfQVRPTUlDCisgKi8KKyNkZWZpbmUgRFJNX0NMSUVO VF9DQVBfV1JJVEVCQUNLX0NPTk5FQ1RPUlMJNQorCiAvKiogRFJNX0lPQ1RMX1NFVF9DTElFTlRf Q0FQIGlvY3RsIGFyZ3VtZW50IHR5cGUgKi8KIHN0cnVjdCBkcm1fc2V0X2NsaWVudF9jYXAgewog CV9fdTY0IGNhcGFiaWxpdHk7CkBAIC02OTUsNiArNzExLDcgQEAgc3RydWN0IGRybV9wcmltZV9o YW5kbGUgewogc3RydWN0IGRybV9zeW5jb2JqX2NyZWF0ZSB7CiAJX191MzIgaGFuZGxlOwogI2Rl ZmluZSBEUk1fU1lOQ09CSl9DUkVBVEVfU0lHTkFMRUQgKDEgPDwgMCkKKyNkZWZpbmUgRFJNX1NZ TkNPQkpfQ1JFQVRFX1RZUEVfVElNRUxJTkUgKDEgPDwgMSkKIAlfX3UzMiBmbGFnczsKIH07CiAK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS9kcm0t dWFwaS9kcm1fZm91cmNjLmgKaW5kZXggZTA0NjEzZDMwYTEzLi4wY2Q0MGViZmExYjEgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oCisrKyBiL2luY2x1ZGUvZHJtLXVh cGkvZHJtX2ZvdXJjYy5oCkBAIC0zMCwxMSArMzAsNTAgQEAKIGV4dGVybiAiQyIgewogI2VuZGlm CiAKKy8qKgorICogRE9DOiBvdmVydmlldworICoKKyAqIEluIHRoZSBEUk0gc3Vic3lzdGVtLCBm cmFtZWJ1ZmZlciBwaXhlbCBmb3JtYXRzIGFyZSBkZXNjcmliZWQgdXNpbmcgdGhlCisgKiBmb3Vy Y2MgY29kZXMgZGVmaW5lZCBpbiBgaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmhgLiBJbiBh ZGRpdGlvbiB0byB0aGUKKyAqIGZvdXJjYyBjb2RlLCBhIEZvcm1hdCBNb2RpZmllciBtYXkgb3B0 aW9uYWxseSBiZSBwcm92aWRlZCwgaW4gb3JkZXIgdG8KKyAqIGZ1cnRoZXIgZGVzY3JpYmUgdGhl IGJ1ZmZlcidzIGZvcm1hdCAtIGZvciBleGFtcGxlIHRpbGluZyBvciBjb21wcmVzc2lvbi4KKyAq CisgKiBGb3JtYXQgTW9kaWZpZXJzCisgKiAtLS0tLS0tLS0tLS0tLS0tCisgKgorICogRm9ybWF0 IG1vZGlmaWVycyBhcmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGEgZm91cmNjIGNvZGUsIGZv cm1pbmcgYQorICogdW5pcXVlIGZvdXJjYzptb2RpZmllciBwYWlyLiBUaGlzIGZvcm1hdDptb2Rp ZmllciBwYWlyIG11c3QgZnVsbHkgZGVmaW5lIHRoZQorICogZm9ybWF0IGFuZCBkYXRhIGxheW91 dCBvZiB0aGUgYnVmZmVyLCBhbmQgc2hvdWxkIGJlIHRoZSBvbmx5IHdheSB0byBkZXNjcmliZQor ICogdGhhdCBwYXJ0aWN1bGFyIGJ1ZmZlci4KKyAqCisgKiBIYXZpbmcgbXVsdGlwbGUgZm91cmNj Om1vZGlmaWVyIHBhaXJzIHdoaWNoIGRlc2NyaWJlIHRoZSBzYW1lIGxheW91dCBzaG91bGQKKyAq IGJlIGF2b2lkZWQsIGFzIHN1Y2ggYWxpYXNlcyBydW4gdGhlIHJpc2sgb2YgZGlmZmVyZW50IGRy aXZlcnMgZXhwb3NpbmcKKyAqIGRpZmZlcmVudCBuYW1lcyBmb3IgdGhlIHNhbWUgZGF0YSBmb3Jt YXQsIGZvcmNpbmcgdXNlcnNwYWNlIHRvIHVuZGVyc3RhbmQKKyAqIHRoYXQgdGhleSBhcmUgYWxp YXNlcy4KKyAqCisgKiBGb3JtYXQgbW9kaWZpZXJzIG1heSBjaGFuZ2UgYW55IHByb3BlcnR5IG9m IHRoZSBidWZmZXIsIGluY2x1ZGluZyB0aGUgbnVtYmVyCisgKiBvZiBwbGFuZXMgYW5kL29yIHRo ZSByZXF1aXJlZCBhbGxvY2F0aW9uIHNpemUuIEZvcm1hdCBtb2RpZmllcnMgYXJlCisgKiB2ZW5k b3ItbmFtZXNwYWNlZCwgYW5kIGFzIHN1Y2ggdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgZm91 cmNjIGNvZGUgYW5kIGEKKyAqIG1vZGlmaWVyIGlzIHNwZWNpZmljIHRvIHRoZSBtb2RpZmVyIGJl aW5nIHVzZWQuIEZvciBleGFtcGxlLCBzb21lIG1vZGlmaWVycworICogbWF5IHByZXNlcnZlIG1l YW5pbmcgLSBzdWNoIGFzIG51bWJlciBvZiBwbGFuZXMgLSBmcm9tIHRoZSBmb3VyY2MgY29kZSwK KyAqIHdoZXJlYXMgb3RoZXJzIG1heSBub3QuCisgKgorICogVmVuZG9ycyBzaG91bGQgZG9jdW1l bnQgdGhlaXIgbW9kaWZpZXIgdXNhZ2UgaW4gYXMgbXVjaCBkZXRhaWwgYXMKKyAqIHBvc3NpYmxl LCB0byBlbnN1cmUgbWF4aW11bSBjb21wYXRpYmlsaXR5IGFjcm9zcyBkZXZpY2VzLCBkcml2ZXJz IGFuZAorICogYXBwbGljYXRpb25zLgorICoKKyAqIFRoZSBhdXRob3JpdGF0aXZlIGxpc3Qgb2Yg Zm9ybWF0IG1vZGlmaWVyIGNvZGVzIGlzIGZvdW5kIGluCisgKiBgaW5jbHVkZS91YXBpL2RybS9k cm1fZm91cmNjLmhgCisgKi8KKwogI2RlZmluZSBmb3VyY2NfY29kZShhLCBiLCBjLCBkKSAoKF9f dTMyKShhKSB8ICgoX191MzIpKGIpIDw8IDgpIHwgXAogCQkJCSAoKF9fdTMyKShjKSA8PCAxNikg fCAoKF9fdTMyKShkKSA8PCAyNCkpCiAKICNkZWZpbmUgRFJNX0ZPUk1BVF9CSUdfRU5ESUFOICgx PDwzMSkgLyogZm9ybWF0IGlzIGJpZyBlbmRpYW4gaW5zdGVhZCBvZiBsaXR0bGUgZW5kaWFuICov CiAKKy8qIFJlc2VydmUgMCBmb3IgdGhlIGludmFsaWQgZm9ybWF0IHNwZWNpZmllciAqLworI2Rl ZmluZSBEUk1fRk9STUFUX0lOVkFMSUQJMAorCiAvKiBjb2xvciBpbmRleCAqLwogI2RlZmluZSBE Uk1fRk9STUFUX0M4CQlmb3VyY2NfY29kZSgnQycsICc4JywgJyAnLCAnICcpIC8qIFs3OjBdIEMg Ki8KIApAQCAtMTgzLDYgKzIyMiw3IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fRk9STUFU X01PRF9WRU5ET1JfUUNPTSAgICAweDA1CiAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX1ZFTkRPUl9W SVZBTlRFIDB4MDYKICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfVkVORE9SX0JST0FEQ09NIDB4MDcK KyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfVkVORE9SX0FSTSAgICAgMHgwOAogLyogYWRkIG1vcmUg dG8gdGhlIGVuZCBhcyBuZWVkZWQgKi8KIAogI2RlZmluZSBEUk1fRk9STUFUX1JFU0VSVkVECSAg ICAgICgoMVVMTCA8PCA1NikgLSAxKQpAQCAtMjk4LDYgKzMzOCwyOCBAQCBleHRlcm4gIkMiIHsK ICAqLwogI2RlZmluZSBEUk1fRk9STUFUX01PRF9TQU1TVU5HXzY0XzMyX1RJTEUJZm91cmNjX21v ZF9jb2RlKFNBTVNVTkcsIDEpCiAKKy8qCisgKiBUaWxlZCwgMTYgKHBpeGVscykgeCAxNiAobGlu ZXMpIC0gc2l6ZWQgbWFjcm9ibG9ja3MKKyAqCisgKiBUaGlzIGlzIGEgc2ltcGxlIHRpbGVkIGxh eW91dCB1c2luZyB0aWxlcyBvZiAxNngxNiBwaXhlbHMgaW4gYSByb3ctbWFqb3IKKyAqIGxheW91 dC4gRm9yIFlDYkNyIGZvcm1hdHMgQ2IvQ3IgY29tcG9uZW50cyBhcmUgdGFrZW4gaW4gc3VjaCBh IHdheSB0aGF0CisgKiB0aGV5IGNvcnJlc3BvbmQgdG8gdGhlaXIgMTZ4MTYgbHVtYSBibG9jay4K KyAqLworI2RlZmluZSBEUk1fRk9STUFUX01PRF9TQU1TVU5HXzE2XzE2X1RJTEUJZm91cmNjX21v ZF9jb2RlKFNBTVNVTkcsIDIpCisKKy8qCisgKiBRdWFsY29tbSBDb21wcmVzc2VkIEZvcm1hdAor ICoKKyAqIFJlZmVycyB0byBhIGNvbXByZXNzZWQgdmFyaWFudCBvZiB0aGUgYmFzZSBmb3JtYXQg dGhhdCBpcyBjb21wcmVzc2VkLgorICogSW1wbGVtZW50YXRpb24gbWF5IGJlIHBsYXRmb3JtIGFu ZCBiYXNlLWZvcm1hdCBzcGVjaWZpYy4KKyAqCisgKiBFYWNoIG1hY3JvdGlsZSBjb25zaXN0cyBv ZiBtIHggbiAobW9zdGx5IDQgeCA0KSB0aWxlcy4KKyAqIFBpeGVsIGRhdGEgcGl0Y2gvc3RyaWRl IGlzIGFsaWduZWQgd2l0aCBtYWNyb3RpbGUgd2lkdGguCisgKiBQaXhlbCBkYXRhIGhlaWdodCBp cyBhbGlnbmVkIHdpdGggbWFjcm90aWxlIGhlaWdodC4KKyAqIEVudGlyZSBwaXhlbCBkYXRhIGJ1 ZmZlciBpcyBhbGlnbmVkIHdpdGggNGsoYnl0ZXMpLgorICovCisjZGVmaW5lIERSTV9GT1JNQVRf TU9EX1FDT01fQ09NUFJFU1NFRAlmb3VyY2NfbW9kX2NvZGUoUUNPTSwgMSkKKwogLyogVml2YW50 ZSBmcmFtZWJ1ZmZlciBtb2RpZmllcnMgKi8KIAogLyoKQEAgLTM4NCw2ICs0NDYsMjMgQEAgZXh0 ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX05WSURJQV8xNkJYMl9CTE9DS19USElS VFlUV09fR09CIFwKIAlmb3VyY2NfbW9kX2NvZGUoTlZJRElBLCAweDE1KQogCisvKgorICogU29t ZSBCcm9hZGNvbSBtb2RpZmllcnMgdGFrZSBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSB0aGUgbnVt YmVyIG9mCisgKiB2ZXJ0aWNhbCBsaW5lcyBpbiB0aGUgaW1hZ2UuIFJlc2VydmUgdGhlIGxvd2Vy IDMyIGJpdHMgZm9yIG1vZGlmaWVyCisgKiB0eXBlLCBhbmQgdGhlIG5leHQgMjQgYml0cyBmb3Ig cGFyYW1ldGVycy4gVG9wIDggYml0cyBhcmUgdGhlCisgKiB2ZW5kb3IgY29kZS4KKyAqLworI2Rl ZmluZSBfX2ZvdXJjY19tb2RfYnJvYWRjb21fcGFyYW1fc2hpZnQgOAorI2RlZmluZSBfX2ZvdXJj Y19tb2RfYnJvYWRjb21fcGFyYW1fYml0cyA0OAorI2RlZmluZSBmb3VyY2NfbW9kX2Jyb2FkY29t X2NvZGUodmFsLCBwYXJhbXMpIFwKKwlmb3VyY2NfbW9kX2NvZGUoQlJPQURDT00sICgoKChfX3U2 NClwYXJhbXMpIDw8IF9fZm91cmNjX21vZF9icm9hZGNvbV9wYXJhbV9zaGlmdCkgfCB2YWwpKQor I2RlZmluZSBmb3VyY2NfbW9kX2Jyb2FkY29tX3BhcmFtKG0pIFwKKwkoKGludCkoKChtKSA+PiBf X2ZvdXJjY19tb2RfYnJvYWRjb21fcGFyYW1fc2hpZnQpICYJXAorCSAgICAgICAoKDFVTEwgPDwg X19mb3VyY2NfbW9kX2Jyb2FkY29tX3BhcmFtX2JpdHMpIC0gMSkpKQorI2RlZmluZSBmb3VyY2Nf bW9kX2Jyb2FkY29tX21vZChtKSBcCisJKChtKSAmIH4oKCgxVUxMIDw8IF9fZm91cmNjX21vZF9i cm9hZGNvbV9wYXJhbV9iaXRzKSAtIDEpIDw8CVwKKwkJIF9fZm91cmNjX21vZF9icm9hZGNvbV9w YXJhbV9zaGlmdCkpCisKIC8qCiAgKiBCcm9hZGNvbSBWQzQgIlQiIGZvcm1hdAogICoKQEAgLTQw NSw2ICs0ODQsMTUxIEBAIGV4dGVybiAiQyIgewogICovCiAjZGVmaW5lIERSTV9GT1JNQVRfTU9E X0JST0FEQ09NX1ZDNF9UX1RJTEVEIGZvdXJjY19tb2RfY29kZShCUk9BRENPTSwgMSkKIAorLyoK KyAqIEJyb2FkY29tIFNBTkQgZm9ybWF0CisgKgorICogVGhpcyBpcyB0aGUgbmF0aXZlIGZvcm1h dCB0aGF0IHRoZSBILjI2NCBjb2RlYyBibG9jayB1c2VzLiAgRm9yIFZDNAorICogSFZTLCBpdCBp cyBvbmx5IHZhbGlkIGZvciBILjI2NCAoTlYxMi8yMSkgYW5kIFJHQkEgbW9kZXMuCisgKgorICog VGhlIGltYWdlIGNhbiBiZSBjb25zaWRlcmVkIHRvIGJlIHNwbGl0IGludG8gY29sdW1ucywgYW5k IHRoZQorICogY29sdW1ucyBhcmUgcGxhY2VkIGNvbnNlY3V0aXZlbHkgaW50byBtZW1vcnkuICBU aGUgd2lkdGggb2YgdGhvc2UKKyAqIGNvbHVtbnMgY2FuIGJlIGVpdGhlciAzMiwgNjQsIDEyOCwg b3IgMjU2IHBpeGVscywgYnV0IGluIHByYWN0aWNlCisgKiBvbmx5IDEyOCBwaXhlbCBjb2x1bW5z IGFyZSB1c2VkLgorICoKKyAqIFRoZSBwaXRjaCBiZXR3ZWVuIHRoZSBzdGFydCBvZiBlYWNoIGNv bHVtbiBpcyBzZXQgdG8gb3B0aW1hbGx5CisgKiBzd2l0Y2ggYmV0d2VlbiBTRFJBTSBiYW5rcy4g VGhpcyBpcyBwYXNzZWQgYXMgdGhlIG51bWJlciBvZiBsaW5lcworICogb2YgY29sdW1uIHdpZHRo IGluIHRoZSBtb2RpZmllciAod2UgY2FuJ3QgdXNlIHRoZSBzdHJpZGUgdmFsdWUgZHVlCisgKiB0 byB2YXJpb3VzIGNvcmUgY2hlY2tzIHRoYXQgbG9vayBhdCBpdCAsIHNvIHlvdSBzaG91bGQgc2V0 IHRoZQorICogc3RyaWRlIHRvIHdpZHRoKmNwcCkuCisgKgorICogTm90ZSB0aGF0IHRoZSBjb2x1 bW4gaGVpZ2h0IGZvciB0aGlzIGZvcm1hdCBtb2RpZmllciBpcyB0aGUgc2FtZQorICogZm9yIGFs bCBvZiB0aGUgcGxhbmVzLCBhc3N1bWluZyB0aGF0IGVhY2ggY29sdW1uIGNvbnRhaW5zIGJvdGgg WQorICogYW5kIFVWLiAgU29tZSBTQU5ELXVzaW5nIGhhcmR3YXJlIHN0b3JlcyBVViBpbiBhIHNl cGFyYXRlIHRpbGVkCisgKiBpbWFnZSBmcm9tIFkgdG8gcmVkdWNlIHRoZSBjb2x1bW4gaGVpZ2h0 LCB3aGljaCBpcyBub3Qgc3VwcG9ydGVkCisgKiB3aXRoIHRoZXNlIG1vZGlmaWVycy4KKyAqLwor CisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQzMl9DT0xfSEVJR0hUKHYpIFwK Kwlmb3VyY2NfbW9kX2Jyb2FkY29tX2NvZGUoMiwgdikKKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0Rf QlJPQURDT01fU0FORDY0X0NPTF9IRUlHSFQodikgXAorCWZvdXJjY19tb2RfYnJvYWRjb21fY29k ZSgzLCB2KQorI2RlZmluZSBEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5EMTI4X0NPTF9IRUlH SFQodikgXAorCWZvdXJjY19tb2RfYnJvYWRjb21fY29kZSg0LCB2KQorI2RlZmluZSBEUk1fRk9S TUFUX01PRF9CUk9BRENPTV9TQU5EMjU2X0NPTF9IRUlHSFQodikgXAorCWZvdXJjY19tb2RfYnJv YWRjb21fY29kZSg1LCB2KQorCisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1NBTkQz MiBcCisJRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDMyX0NPTF9IRUlHSFQoMCkKKyNkZWZp bmUgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDY0IFwKKwlEUk1fRk9STUFUX01PRF9CUk9B RENPTV9TQU5ENjRfQ09MX0hFSUdIVCgwKQorI2RlZmluZSBEUk1fRk9STUFUX01PRF9CUk9BRENP TV9TQU5EMTI4IFwKKwlEUk1fRk9STUFUX01PRF9CUk9BRENPTV9TQU5EMTI4X0NPTF9IRUlHSFQo MCkKKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fU0FORDI1NiBcCisJRFJNX0ZPUk1B VF9NT0RfQlJPQURDT01fU0FORDI1Nl9DT0xfSEVJR0hUKDApCisKKy8qIEJyb2FkY29tIFVJRiBm b3JtYXQKKyAqCisgKiBUaGlzIGlzIHRoZSBjb21tb24gZm9ybWF0IGZvciB0aGUgY3VycmVudCBC cm9hZGNvbSBtdWx0aW1lZGlhCisgKiBibG9ja3MsIGluY2x1ZGluZyBWM0QgMy54IGFuZCBuZXdl ciwgbmV3ZXIgdmlkZW8gY29kZWNzLCBhbmQKKyAqIGRpc3BsYXlzLgorICoKKyAqIFRoZSBpbWFn ZSBjb25zaXN0cyBvZiB1dGlsZXMgKDY0YiBibG9ja3MpLCBVSUYgYmxvY2tzICgyeDIgdXRpbGVz KSwKKyAqIGFuZCBtYWNyb2Jsb2NrcyAoNHg0IFVJRiBibG9ja3MpLiAgVGhvc2UgNHg0IFVJRiBi bG9jayBncm91cHMgYXJlCisgKiBzdG9yZWQgaW4gY29sdW1ucywgd2l0aCBwYWRkaW5nIGJldHdl ZW4gdGhlIGNvbHVtbnMgdG8gZW5zdXJlIHRoYXQKKyAqIG1vdmluZyBmcm9tIG9uZSBjb2x1bW4g dG8gdGhlIG5leHQgZG9lc24ndCBoaXQgdGhlIHNhbWUgU0RSQU0gcGFnZQorICogYmFuay4KKyAq CisgKiBUbyBjYWxjdWxhdGUgdGhlIHBhZGRpbmcsIGl0IGlzIGFzc3VtZWQgdGhhdCBlYWNoIGhh cmR3YXJlIGJsb2NrCisgKiBhbmQgdGhlIHNvZnR3YXJlIGRyaXZpbmcgaXQga25vd3MgdGhlIHBs YXRmb3JtJ3MgU0RSQU0gcGFnZSBzaXplLAorICogbnVtYmVyIG9mIGJhbmtzLCBhbmQgWE9SIGFk ZHJlc3MsIGFuZCB0aGF0IGl0J3MgaWRlbnRpY2FsIGJldHdlZW4KKyAqIGFsbCBibG9ja3MgdXNp bmcgdGhlIGZvcm1hdC4gIFRoaXMgdGlsaW5nIG1vZGlmaWVyIHdpbGwgdXNlIFhPUiBhcworICog bmVjZXNzYXJ5IHRvIHJlZHVjZSB0aGUgcGFkZGluZy4gIElmIGEgaGFyZHdhcmUgYmxvY2sgY2Fu J3QgZG8gWE9SLAorICogdGhlIGFzc3VtcHRpb24gaXMgdGhhdCBhIG5vLVhPUiB0aWxpbmcgbW9k aWZpZXIgd2lsbCBiZSBjcmVhdGVkLgorICovCisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX0JST0FE Q09NX1VJRiBmb3VyY2NfbW9kX2NvZGUoQlJPQURDT00sIDYpCisKKy8qCisgKiBBcm0gRnJhbWVi dWZmZXIgQ29tcHJlc3Npb24gKEFGQkMpIG1vZGlmaWVycworICoKKyAqIEFGQkMgaXMgYSBwcm9w cmlldGFyeSBsb3NzbGVzcyBpbWFnZSBjb21wcmVzc2lvbiBwcm90b2NvbCBhbmQgZm9ybWF0Lgor ICogSXQgcHJvdmlkZXMgZmluZS1ncmFpbmVkIHJhbmRvbSBhY2Nlc3MgYW5kIG1pbmltaXplcyB0 aGUgYW1vdW50IG9mIGRhdGEKKyAqIHRyYW5zZmVycmVkIGJldHdlZW4gSVAgYmxvY2tzLgorICoK KyAqIEFGQkMgaGFzIHNldmVyYWwgZmVhdHVyZXMgd2hpY2ggbWF5IGJlIHN1cHBvcnRlZCBhbmQv b3IgdXNlZCwgd2hpY2ggYXJlCisgKiByZXByZXNlbnRlZCB1c2luZyBiaXRzIGluIHRoZSBtb2Rp Zmllci4gTm90IGFsbCBjb21iaW5hdGlvbnMgYXJlIHZhbGlkLAorICogYW5kIGRpZmZlcmVudCBk ZXZpY2VzIG9yIHVzZS1jYXNlcyBtYXkgc3VwcG9ydCBkaWZmZXJlbnQgY29tYmluYXRpb25zLgor ICovCisjZGVmaW5lIERSTV9GT1JNQVRfTU9EX0FSTV9BRkJDKF9fYWZiY19tb2RlKQlmb3VyY2Nf bW9kX2NvZGUoQVJNLCBfX2FmYmNfbW9kZSkKKworLyoKKyAqIEFGQkMgc3VwZXJibG9jayBzaXpl CisgKgorICogSW5kaWNhdGVzIHRoZSBzdXBlcmJsb2NrIHNpemUocykgdXNlZCBmb3IgdGhlIEFG QkMgYnVmZmVyLiBUaGUgYnVmZmVyCisgKiBzaXplIChpbiBwaXhlbHMpIG11c3QgYmUgYWxpZ25l ZCB0byBhIG11bHRpcGxlIG9mIHRoZSBzdXBlcmJsb2NrIHNpemUuCisgKiBGb3VyIGxvd2VzdCBz aWduaWZpY2FudCBiaXRzKExTQnMpIGFyZSByZXNlcnZlZCBmb3IgYmxvY2sgc2l6ZS4KKyAqLwor I2RlZmluZSBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV9NQVNLICAgICAgMHhmCisjZGVmaW5l IEFGQkNfRk9STUFUX01PRF9CTE9DS19TSVpFXzE2eDE2ICAgICAoMVVMTCkKKyNkZWZpbmUgQUZC Q19GT1JNQVRfTU9EX0JMT0NLX1NJWkVfMzJ4OCAgICAgICgyVUxMKQorCisvKgorICogQUZCQyBs b3NzbGVzcyBjb2xvcnNwYWNlIHRyYW5zZm9ybQorICoKKyAqIEluZGljYXRlcyB0aGF0IHRoZSBi dWZmZXIgbWFrZXMgdXNlIG9mIHRoZSBBRkJDIGxvc3NsZXNzIGNvbG9yc3BhY2UKKyAqIHRyYW5z Zm9ybS4KKyAqLworI2RlZmluZSBBRkJDX0ZPUk1BVF9NT0RfWVRSICAgICAoMVVMTCA8PCAgNCkK KworLyoKKyAqIEFGQkMgYmxvY2stc3BsaXQKKyAqCisgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgcGF5 bG9hZCBvZiBlYWNoIHN1cGVyYmxvY2sgaXMgc3BsaXQuIFRoZSBzZWNvbmQKKyAqIGhhbGYgb2Yg dGhlIHBheWxvYWQgaXMgcG9zaXRpb25lZCBhdCBhIHByZWRlZmluZWQgb2Zmc2V0IGZyb20gdGhl IHN0YXJ0CisgKiBvZiB0aGUgc3VwZXJibG9jayBwYXlsb2FkLgorICovCisjZGVmaW5lIEFGQkNf Rk9STUFUX01PRF9TUExJVCAgICgxVUxMIDw8ICA1KQorCisvKgorICogQUZCQyBzcGFyc2UgbGF5 b3V0CisgKgorICogVGhpcyBmbGFnIGluZGljYXRlcyB0aGF0IHRoZSBwYXlsb2FkIG9mIGVhY2gg c3VwZXJibG9jayBtdXN0IGJlIHN0b3JlZCBhdCBhCisgKiBwcmVkZWZpbmVkIHBvc2l0aW9uIHJl bGF0aXZlIHRvIHRoZSBvdGhlciBzdXBlcmJsb2NrcyBpbiB0aGUgc2FtZSBBRkJDCisgKiBidWZm ZXIuIFRoaXMgb3JkZXIgaXMgdGhlIHNhbWUgb3JkZXIgdXNlZCBieSB0aGUgaGVhZGVyIGJ1ZmZl ci4gSW4gdGhpcyBtb2RlCisgKiBlYWNoIHN1cGVyYmxvY2sgaXMgZ2l2ZW4gdGhlIHNhbWUgYW1v dW50IG9mIHNwYWNlIGFzIGFuIHVuY29tcHJlc3NlZAorICogc3VwZXJibG9jayBvZiB0aGUgcGFy dGljdWxhciBmb3JtYXQgd291bGQgcmVxdWlyZSwgcm91bmRpbmcgdXAgdG8gdGhlIG5leHQKKyAq IG11bHRpcGxlIG9mIDEyOCBieXRlcyBpbiBzaXplLgorICovCisjZGVmaW5lIEFGQkNfRk9STUFU X01PRF9TUEFSU0UgICgxVUxMIDw8ICA2KQorCisvKgorICogQUZCQyBjb3B5LWJsb2NrIHJlc3Ry aWN0CisgKgorICogQnVmZmVycyB3aXRoIHRoaXMgZmxhZyBtdXN0IG9iZXkgdGhlIGNvcHktYmxv Y2sgcmVzdHJpY3Rpb24uIFRoZSByZXN0cmljdGlvbgorICogaXMgc3VjaCB0aGF0IHRoZXJlIGFy ZSBubyBjb3B5LWJsb2NrcyByZWZlcnJpbmcgYWNyb3NzIHRoZSBib3JkZXIgb2YgOHg4CisgKiBi bG9ja3MuIEZvciB0aGUgc3Vic2FtcGxlZCBkYXRhIHRoZSA4eDggbGltaXRhdGlvbiBpcyBhbHNv IHN1YnNhbXBsZWQuCisgKi8KKyNkZWZpbmUgQUZCQ19GT1JNQVRfTU9EX0NCUiAgICAgKDFVTEwg PDwgIDcpCisKKy8qCisgKiBBRkJDIHRpbGVkIGxheW91dAorICoKKyAqIFRoZSB0aWxlZCBsYXlv dXQgZ3JvdXBzIHN1cGVyYmxvY2tzIGluIDh4OCBvciA0eDQgdGlsZXMsIHdoZXJlIGFsbAorICog c3VwZXJibG9ja3MgaW5zaWRlIGEgdGlsZSBhcmUgc3RvcmVkIHRvZ2V0aGVyIGluIG1lbW9yeS4g OHg4IHRpbGVzIGFyZSB1c2VkCisgKiBmb3IgcGl4ZWwgZm9ybWF0cyB1cCB0byBhbmQgaW5jbHVk aW5nIDMyIGJwcCB3aGlsZSA0eDQgdGlsZXMgYXJlIHVzZWQgZm9yCisgKiBsYXJnZXIgYnBwIGZv cm1hdHMuIFRoZSBvcmRlciBiZXR3ZWVuIHRoZSB0aWxlcyBpcyBzY2FuIGxpbmUuCisgKiBXaGVu IHRoZSB0aWxlZCBsYXlvdXQgaXMgdXNlZCwgdGhlIGJ1ZmZlciBzaXplIChpbiBwaXhlbHMpIG11 c3QgYmUgYWxpZ25lZAorICogdG8gdGhlIHRpbGUgc2l6ZS4KKyAqLworI2RlZmluZSBBRkJDX0ZP Uk1BVF9NT0RfVElMRUQgICAoMVVMTCA8PCAgOCkKKworLyoKKyAqIEFGQkMgc29saWQgY29sb3Ig YmxvY2tzCisgKgorICogSW5kaWNhdGVzIHRoYXQgdGhlIGJ1ZmZlciBtYWtlcyB1c2Ugb2Ygc29s aWQtY29sb3IgYmxvY2tzLCB3aGVyZWJ5IGJhbmR3aWR0aAorICogY2FuIGJlIHJlZHVjZWQgaWYg YSB3aG9sZSBzdXBlcmJsb2NrIGlzIGEgc2luZ2xlIGNvbG9yLgorICovCisjZGVmaW5lIEFGQkNf Rk9STUFUX01PRF9TQyAgICAgICgxVUxMIDw8ICA5KQorCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1 cykKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fbW9kZS5oIGIv aW5jbHVkZS9kcm0tdWFwaS9kcm1fbW9kZS5oCmluZGV4IDJjNTc1Nzk0ZmI1Mi4uZDNlMGZlMzFl ZmM1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL2RybV9tb2RlLmgKKysrIGIvaW5jbHVk ZS9kcm0tdWFwaS9kcm1fbW9kZS5oCkBAIC05Myw2ICs5MywxNSBAQCBleHRlcm4gIkMiIHsKICNk ZWZpbmUgRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfTk9ORQkJMAogI2RlZmluZSBEUk1fTU9ERV9Q SUNUVVJFX0FTUEVDVF80XzMJCTEKICNkZWZpbmUgRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfMTZf OQkJMgorI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF82NF8yNwkJMworI2RlZmluZSBE Uk1fTU9ERV9QSUNUVVJFX0FTUEVDVF8yNTZfMTM1CQk0CisKKy8qIENvbnRlbnQgdHlwZSBvcHRp b25zICovCisjZGVmaW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9OT19EQVRBCQkwCisjZGVmaW5l IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HUkFQSElDUwkJMQorI2RlZmluZSBEUk1fTU9ERV9DT05U RU5UX1RZUEVfUEhPVE8JCTIKKyNkZWZpbmUgRFJNX01PREVfQ09OVEVOVF9UWVBFX0NJTkVNQQkJ MworI2RlZmluZSBEUk1fTU9ERV9DT05URU5UX1RZUEVfR0FNRQkJNAogCiAvKiBBc3BlY3QgcmF0 aW8gZmxhZyBiaXRtYXNrICg0IGJpdHMgMjI6MTkpICovCiAjZGVmaW5lIERSTV9NT0RFX0ZMQUdf UElDX0FSX01BU0sJCSgweDBGPDwxOSkKQEAgLTEwMiw2ICsxMTEsMTAgQEAgZXh0ZXJuICJDIiB7 CiAJCQkoRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfNF8zPDwxOSkKICNkZWZpbmUgIERSTV9NT0RF X0ZMQUdfUElDX0FSXzE2XzkgXAogCQkJKERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzE2Xzk8PDE5 KQorI2RlZmluZSAgRFJNX01PREVfRkxBR19QSUNfQVJfNjRfMjcgXAorCQkJKERSTV9NT0RFX1BJ Q1RVUkVfQVNQRUNUXzY0XzI3PDwxOSkKKyNkZWZpbmUgIERSTV9NT0RFX0ZMQUdfUElDX0FSXzI1 Nl8xMzUgXAorCQkJKERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzI1Nl8xMzU8PDE5KQogCiAjZGVm aW5lICBEUk1fTU9ERV9GTEFHX0FMTAkoRFJNX01PREVfRkxBR19QSFNZTkMgfAkJXAogCQkJCSBE Uk1fTU9ERV9GTEFHX05IU1lOQyB8CQlcCkBAIC0xNzMsOCArMTg2LDkgQEAgZXh0ZXJuICJDIiB7 CiAvKgogICogRFJNX01PREVfUkVGTEVDVF88YXhpcz4KICAqCi0gKiBTaWduYWxzIHRoYXQgdGhl IGNvbnRlbnRzIG9mIGEgZHJtIHBsYW5lIGlzIHJlZmxlY3RlZCBpbiB0aGUgPGF4aXM+IGF4aXMs CisgKiBTaWduYWxzIHRoYXQgdGhlIGNvbnRlbnRzIG9mIGEgZHJtIHBsYW5lIGlzIHJlZmxlY3Rl ZCBhbG9uZyB0aGUgPGF4aXM+IGF4aXMsCiAgKiBpbiB0aGUgc2FtZSB3YXkgYXMgbWlycm9yaW5n LgorICogU2VlIGtlcm5lbGRvYyBjaGFwdGVyICJQbGFuZSBDb21wb3NpdGlvbiBQcm9wZXJ0aWVz IiBmb3IgbW9yZSBkZXRhaWxzLgogICoKICAqIFRoaXMgZGVmaW5lIGlzIHByb3ZpZGVkIGFzIGEg Y29udmVuaWVuY2UsIGxvb2tpbmcgdXAgdGhlIHByb3BlcnR5IGlkCiAgKiB1c2luZyB0aGUgbmFt ZS0+cHJvcCBpZCBsb29rdXAgaXMgdGhlIHByZWZlcnJlZCBtZXRob2QuCkBAIC0zMzgsNiArMzUy LDcgQEAgZW51bSBkcm1fbW9kZV9zdWJjb25uZWN0b3IgewogI2RlZmluZSBEUk1fTU9ERV9DT05O RUNUT1JfVklSVFVBTCAgICAgIDE1CiAjZGVmaW5lIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kJCTE2 CiAjZGVmaW5lIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkJCTE3CisjZGVmaW5lIERSTV9NT0RFX0NP Tk5FQ1RPUl9XUklURUJBQ0sJMTgKIAogc3RydWN0IGRybV9tb2RlX2dldF9jb25uZWN0b3Igewog CkBAIC0zNjMsNyArMzc4LDcgQEAgc3RydWN0IGRybV9tb2RlX2dldF9jb25uZWN0b3IgewogCV9f dTMyIHBhZDsKIH07CiAKLSNkZWZpbmUgRFJNX01PREVfUFJPUF9QRU5ESU5HCSgxPDwwKQorI2Rl ZmluZSBEUk1fTU9ERV9QUk9QX1BFTkRJTkcJKDE8PDApIC8qIGRlcHJlY2F0ZWQsIGRvIG5vdCB1 c2UgKi8KICNkZWZpbmUgRFJNX01PREVfUFJPUF9SQU5HRQkoMTw8MSkKICNkZWZpbmUgRFJNX01P REVfUFJPUF9JTU1VVEFCTEUJKDE8PDIpCiAjZGVmaW5lIERSTV9NT0RFX1BST1BfRU5VTQkoMTw8 MykgLyogZW51bWVyYXRlZCB0eXBlIHdpdGggdGV4dCBzdHJpbmdzICovCkBAIC01OTgsOCArNjEz LDExIEBAIHN0cnVjdCBkcm1fbW9kZV9jcnRjX2x1dCB7CiB9OwogCiBzdHJ1Y3QgZHJtX2NvbG9y X2N0bSB7Ci0JLyogQ29udmVyc2lvbiBtYXRyaXggaW4gUzMxLjMyIGZvcm1hdC4gKi8KLQlfX3M2 NCBtYXRyaXhbOV07CisJLyoKKwkgKiBDb252ZXJzaW9uIG1hdHJpeCBpbiBTMzEuMzIgc2lnbi1t YWduaXR1ZGUKKwkgKiAobm90IHR3bydzIGNvbXBsZW1lbnQhKSBmb3JtYXQuCisJICovCisJX191 NjQgbWF0cml4WzldOwogfTsKIAogc3RydWN0IGRybV9jb2xvcl9sdXQgewpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0tdWFwaS9ldG5hdml2X2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS9ldG5hdml2 X2RybS5oCmluZGV4IGU5Yjk5N2EwZWYyNy4uMGQ1YzQ5ZGM0NzhjIDEwMDY0NAotLS0gYS9pbmNs dWRlL2RybS11YXBpL2V0bmF2aXZfZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9ldG5hdml2 X2RybS5oCkBAIC01NSw2ICs1NSwxMiBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfdGltZXNwZWMgewog I2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9GRUFUVVJFU180ICAgICAgICAgICAgICAgIDB4MDcK ICNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfRkVBVFVSRVNfNSAgICAgICAgICAgICAgICAweDA4 CiAjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzYgICAgICAgICAgICAgICAgMHgw OQorI2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9GRUFUVVJFU183ICAgICAgICAgICAgICAgIDB4 MGEKKyNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfRkVBVFVSRVNfOCAgICAgICAgICAgICAgICAw eDBiCisjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzkgICAgICAgICAgICAgICAg MHgwYworI2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9GRUFUVVJFU18xMCAgICAgICAgICAgICAg IDB4MGQKKyNkZWZpbmUgRVROQVZJVl9QQVJBTV9HUFVfRkVBVFVSRVNfMTEgICAgICAgICAgICAg ICAweDBlCisjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX0ZFQVRVUkVTXzEyICAgICAgICAgICAg ICAgMHgwZgogCiAjZGVmaW5lIEVUTkFWSVZfUEFSQU1fR1BVX1NUUkVBTV9DT1VOVCAgICAgICAg ICAgICAgMHgxMAogI2RlZmluZSBFVE5BVklWX1BBUkFNX0dQVV9SRUdJU1RFUl9NQVggICAgICAg ICAgICAgIDB4MTEKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvZXh5bm9zX2RybS5oIGIv aW5jbHVkZS9kcm0tdWFwaS9leHlub3NfZHJtLmgKaW5kZXggYTAwMTE2YjVjYzVjLi43NDE0Y2Zk NzY0MTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvZXh5bm9zX2RybS5oCisrKyBiL2lu Y2x1ZGUvZHJtLXVhcGkvZXh5bm9zX2RybS5oCkBAIC0xMzUsNiArMTM1LDIxOSBAQCBzdHJ1Y3Qg ZHJtX2V4eW5vc19nMmRfZXhlYyB7CiAJX191NjQJCQkJCWFzeW5jOwogfTsKIAorLyogRXh5bm9z IERSTSBJUFAgdjIgQVBJICovCisKKy8qKgorICogRW51bWVyYXRlIGF2YWlsYWJsZSBJUFAgaGFy ZHdhcmUgbW9kdWxlcy4KKyAqCisgKiBAY291bnRfaXBwczogc2l6ZSBvZiBpcHBfaWQgYXJyYXkg LyBudW1iZXIgb2YgaXBwIG1vZHVsZXMgKHNldCBieSBkcml2ZXIpCisgKiBAcmVzZXJ2ZWQ6IHBh ZGRpbmcKKyAqIEBpcHBfaWRfcHRyOiBwb2ludGVyIHRvIGlwcF9pZCBhcnJheSBvciBOVUxMCisg Ki8KK3N0cnVjdCBkcm1fZXh5bm9zX2lvY3RsX2lwcF9nZXRfcmVzIHsKKwlfX3UzMiBjb3VudF9p cHBzOworCV9fdTMyIHJlc2VydmVkOworCV9fdTY0IGlwcF9pZF9wdHI7Cit9OworCitlbnVtIGRy bV9leHlub3NfaXBwX2Zvcm1hdF90eXBlIHsKKwlEUk1fRVhZTk9TX0lQUF9GT1JNQVRfU09VUkNF CQk9IDB4MDEsCisJRFJNX0VYWU5PU19JUFBfRk9STUFUX0RFU1RJTkFUSU9OCT0gMHgwMiwKK307 CisKK3N0cnVjdCBkcm1fZXh5bm9zX2lwcF9mb3JtYXQgeworCV9fdTMyIGZvdXJjYzsKKwlfX3Uz MiB0eXBlOworCV9fdTY0IG1vZGlmaWVyOworfTsKKworZW51bSBkcm1fZXh5bm9zX2lwcF9jYXBh YmlsaXR5IHsKKwlEUk1fRVhZTk9TX0lQUF9DQVBfQ1JPUAkJPSAweDAxLAorCURSTV9FWFlOT1Nf SVBQX0NBUF9ST1RBVEUJPSAweDAyLAorCURSTV9FWFlOT1NfSVBQX0NBUF9TQ0FMRQk9IDB4MDQs CisJRFJNX0VYWU5PU19JUFBfQ0FQX0NPTlZFUlQJPSAweDA4LAorfTsKKworLyoqCisgKiBHZXQg SVBQIGhhcmR3YXJlIGNhcGFiaWxpdGllcyBhbmQgc3VwcG9ydGVkIGltYWdlIGZvcm1hdHMuCisg KgorICogQGlwcF9pZDogaWQgb2YgSVBQIG1vZHVsZSB0byBxdWVyeQorICogQGNhcGFiaWxpdGll czogYml0bWFzayBvZiBkcm1fZXh5bm9zX2lwcF9jYXBhYmlsaXR5IChzZXQgYnkgZHJpdmVyKQor ICogQHJlc2VydmVkOiBwYWRkaW5nCisgKiBAZm9ybWF0c19jb3VudDogc2l6ZSBvZiBmb3JtYXRz IGFycmF5IChpbiBlbnRyaWVzKSAvIG51bWJlciBvZiBmaWxsZWQKKyAqCQkgICBmb3JtYXRzIChz ZXQgYnkgZHJpdmVyKQorICogQGZvcm1hdHNfcHRyOiBwb2ludGVyIHRvIGZvcm1hdHMgYXJyYXkg b3IgTlVMTAorICovCitzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfZ2V0X2NhcHMgeworCV9f dTMyIGlwcF9pZDsKKwlfX3UzMiBjYXBhYmlsaXRpZXM7CisJX191MzIgcmVzZXJ2ZWQ7CisJX191 MzIgZm9ybWF0c19jb3VudDsKKwlfX3U2NCBmb3JtYXRzX3B0cjsKK307CisKK2VudW0gZHJtX2V4 eW5vc19pcHBfbGltaXRfdHlwZSB7CisJLyogc2l6ZSAoaG9yaXpvbnRhbC92ZXJ0aWFsKSBsaW1p dHMsIGluIHBpeGVscyAobWluLCBtYXgsIGFsaWdubWVudCkgKi8KKwlEUk1fRVhZTk9TX0lQUF9M SU1JVF9UWVBFX1NJWkUJCT0gMHgwMDAxLAorCS8qIHNjYWxlIHJhdGlvIChob3Jpem9udGEvdmVy dGlhbCksIDE2LjE2IGZpeGVkIHBvaW50IChtaW4sIG1heCkgKi8KKwlEUk1fRVhZTk9TX0lQUF9M SU1JVF9UWVBFX1NDQUxFCQk9IDB4MDAwMiwKKworCS8qIGltYWdlIGJ1ZmZlciBhcmVhICovCisJ RFJNX0VYWU5PU19JUFBfTElNSVRfU0laRV9CVUZGRVIJPSAweDAwMDEgPDwgMTYsCisJLyogc3Jj L2RzdCByZWN0YW5nbGUgYXJlYSAqLworCURSTV9FWFlOT1NfSVBQX0xJTUlUX1NJWkVfQVJFQQkJ PSAweDAwMDIgPDwgMTYsCisJLyogc3JjL2RzdCByZWN0YW5nbGUgYXJlYSB3aGVuIHJvdGF0aW9u IGVuYWJsZWQgKi8KKwlEUk1fRVhZTk9TX0lQUF9MSU1JVF9TSVpFX1JPVEFURUQJPSAweDAwMDMg PDwgMTYsCisKKwlEUk1fRVhZTk9TX0lQUF9MSU1JVF9UWVBFX01BU0sJCT0gMHgwMDBmLAorCURS TV9FWFlOT1NfSVBQX0xJTUlUX1NJWkVfTUFTSwkJPSAweDAwMGYgPDwgMTYsCit9OworCitzdHJ1 Y3QgZHJtX2V4eW5vc19pcHBfbGltaXRfdmFsIHsKKwlfX3UzMiBtaW47CisJX191MzIgbWF4Owor CV9fdTMyIGFsaWduOworCV9fdTMyIHJlc2VydmVkOworfTsKKworLyoqCisgKiBJUFAgbW9kdWxl IGxpbWl0YXRpb24uCisgKgorICogQHR5cGU6IGxpbWl0IHR5cGUgKHNlZSBkcm1fZXh5bm9zX2lw cF9saW1pdF90eXBlIGVudW0pCisgKiBAcmVzZXJ2ZWQ6IHBhZGRpbmcKKyAqIEBoOiBob3Jpem9u dGFsIGxpbWl0cworICogQHY6IHZlcnRpY2FsIGxpbWl0cworICovCitzdHJ1Y3QgZHJtX2V4eW5v c19pcHBfbGltaXQgeworCV9fdTMyIHR5cGU7CisJX191MzIgcmVzZXJ2ZWQ7CisJc3RydWN0IGRy bV9leHlub3NfaXBwX2xpbWl0X3ZhbCBoOworCXN0cnVjdCBkcm1fZXh5bm9zX2lwcF9saW1pdF92 YWwgdjsKK307CisKKy8qKgorICogR2V0IElQUCBsaW1pdHMgZm9yIGdpdmVuIGltYWdlIGZvcm1h dC4KKyAqCisgKiBAaXBwX2lkOiBpZCBvZiBJUFAgbW9kdWxlIHRvIHF1ZXJ5CisgKiBAZm91cmNj OiBpbWFnZSBmb3JtYXQgY29kZSAoc2VlIERSTV9GT1JNQVRfKiBpbiBkcm1fZm91cmNjLmgpCisg KiBAbW9kaWZpZXI6IGltYWdlIGZvcm1hdCBtb2RpZmllciAoc2VlIERSTV9GT1JNQVRfTU9EXyog aW4gZHJtX2ZvdXJjYy5oKQorICogQHR5cGU6IHNvdXJjZS9kZXN0aW5hdGlvbiBpZGVudGlmaWVy IChkcm1fZXh5bm9zX2lwcF9mb3JtYXRfZmxhZyBlbnVtKQorICogQGxpbWl0c19jb3VudDogc2l6 ZSBvZiBsaW1pdHMgYXJyYXkgKGluIGVudHJpZXMpIC8gbnVtYmVyIG9mIGZpbGxlZCBlbnRyaWVz CisgKgkJIChzZXQgYnkgZHJpdmVyKQorICogQGxpbWl0c19wdHI6IHBvaW50ZXIgdG8gbGltaXRz IGFycmF5IG9yIE5VTEwKKyAqLworc3RydWN0IGRybV9leHlub3NfaW9jdGxfaXBwX2dldF9saW1p dHMgeworCV9fdTMyIGlwcF9pZDsKKwlfX3UzMiBmb3VyY2M7CisJX191NjQgbW9kaWZpZXI7CisJ X191MzIgdHlwZTsKKwlfX3UzMiBsaW1pdHNfY291bnQ7CisJX191NjQgbGltaXRzX3B0cjsKK307 CisKK2VudW0gZHJtX2V4eW5vc19pcHBfdGFza19pZCB7CisJLyogYnVmZmVyIGRlc2NyaWJlZCBi eSBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfdGFza19idWZmZXIgKi8KKwlEUk1fRVhZTk9TX0lQUF9U QVNLX0JVRkZFUgkJPSAweDAwMDEsCisJLyogcmVjdGFuZ2xlIGRlc2NyaWJlZCBieSBzdHJ1Y3Qg ZHJtX2V4eW5vc19pcHBfdGFza19yZWN0ICovCisJRFJNX0VYWU5PU19JUFBfVEFTS19SRUNUQU5H TEUJCT0gMHgwMDAyLAorCS8qIHRyYW5zZm9ybWF0aW9uIGRlc2NyaWJlZCBieSBzdHJ1Y3QgZHJt X2V4eW5vc19pcHBfdGFza190cmFuc2Zvcm0gKi8KKwlEUk1fRVhZTk9TX0lQUF9UQVNLX1RSQU5T Rk9STQkJPSAweDAwMDMsCisJLyogYWxwaGEgY29uZmlndXJhdGlvbiBkZXNjcmliZWQgYnkgc3Ry dWN0IGRybV9leHlub3NfaXBwX3Rhc2tfYWxwaGEgKi8KKwlEUk1fRVhZTk9TX0lQUF9UQVNLX0FM UEhBCQk9IDB4MDAwNCwKKworCS8qIHNvdXJjZSBpbWFnZSBkYXRhIChmb3IgYnVmZmVyIGFuZCBy ZWN0YW5nbGUgY2h1bmtzKSAqLworCURSTV9FWFlOT1NfSVBQX1RBU0tfVFlQRV9TT1VSQ0UJCT0g MHgwMDAxIDw8IDE2LAorCS8qIGRlc3RpbmF0aW9uIGltYWdlIGRhdGEgKGZvciBidWZmZXIgYW5k IHJlY3RhbmdsZSBjaHVua3MpICovCisJRFJNX0VYWU5PU19JUFBfVEFTS19UWVBFX0RFU1RJTkFU SU9OCT0gMHgwMDAyIDw8IDE2LAorfTsKKworLyoqCisgKiBNZW1vcnkgYnVmZmVyIHdpdGggaW1h Z2UgZGF0YS4KKyAqCisgKiBAaWQ6IG11c3QgYmUgRFJNX0VYWU5PU19JUFBfVEFTS19CVUZGRVIK KyAqIG90aGVyIHBhcmFtZXRlcnMgYXJlIHNhbWUgYXMgZm9yIEFkZEZCMiBnZW5lcmljIERSTSBp b2N0bAorICovCitzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfdGFza19idWZmZXIgeworCV9fdTMyCWlk OworCV9fdTMyCWZvdXJjYzsKKwlfX3UzMgl3aWR0aCwgaGVpZ2h0OworCV9fdTMyCWdlbV9pZFs0 XTsKKwlfX3UzMglvZmZzZXRbNF07CisJX191MzIJcGl0Y2hbNF07CisJX191NjQJbW9kaWZpZXI7 Cit9OworCisvKioKKyAqIFJlY3RhbmdsZSBmb3IgcHJvY2Vzc2luZy4KKyAqCisgKiBAaWQ6IG11 c3QgYmUgRFJNX0VYWU5PU19JUFBfVEFTS19SRUNUQU5HTEUKKyAqIEByZXNlcnZlZDogcGFkZGlu ZworICogQHgsQHk6IGxlZnQgY29ybmVyIGluIHBpeGVscworICogQHcsQGg6IHdpZHRoL2hlaWdo dCBpbiBwaXhlbHMKKyAqLworc3RydWN0IGRybV9leHlub3NfaXBwX3Rhc2tfcmVjdCB7CisJX191 MzIJaWQ7CisJX191MzIJcmVzZXJ2ZWQ7CisJX191MzIJeDsKKwlfX3UzMgl5OworCV9fdTMyCXc7 CisJX191MzIJaDsKK307CisKKy8qKgorICogSW1hZ2UgdHJhbmZvcm1hdGlvbiBkZXNjcmlwdGlv bi4KKyAqCisgKiBAaWQ6IG11c3QgYmUgRFJNX0VYWU5PU19JUFBfVEFTS19UUkFOU0ZPUk0KKyAq IEByb3RhdGlvbjogRFJNX01PREVfUk9UQVRFXyogYW5kIERSTV9NT0RFX1JFRkxFQ1RfKiB2YWx1 ZXMKKyAqLworc3RydWN0IGRybV9leHlub3NfaXBwX3Rhc2tfdHJhbnNmb3JtIHsKKwlfX3UzMglp ZDsKKwlfX3UzMglyb3RhdGlvbjsKK307CisKKy8qKgorICogSW1hZ2UgZ2xvYmFsIGFscGhhIGNv bmZpZ3VyYXRpb24gZm9yIGZvcm1hdHMgd2l0aG91dCBhbHBoYSB2YWx1ZXMuCisgKgorICogQGlk OiBtdXN0IGJlIERSTV9FWFlOT1NfSVBQX1RBU0tfQUxQSEEKKyAqIEB2YWx1ZTogZ2xvYmFsIGFs cGhhIHZhbHVlICgwLTI1NSkKKyAqLworc3RydWN0IGRybV9leHlub3NfaXBwX3Rhc2tfYWxwaGEg eworCV9fdTMyCWlkOworCV9fdTMyCXZhbHVlOworfTsKKworZW51bSBkcm1fZXh5bm9zX2lwcF9m bGFnIHsKKwkvKiBnZW5lcmF0ZSBEUk0gZXZlbnQgYWZ0ZXIgcHJvY2Vzc2luZyAqLworCURSTV9F WFlOT1NfSVBQX0ZMQUdfRVZFTlQJPSAweDAxLAorCS8qIGRyeSBydW4sIG9ubHkgY2hlY2sgdGFz ayBwYXJhbWV0ZXJzICovCisJRFJNX0VYWU5PU19JUFBfRkxBR19URVNUX09OTFkJPSAweDAyLAor CS8qIG5vbi1ibG9ja2luZyBwcm9jZXNzaW5nICovCisJRFJNX0VYWU5PU19JUFBfRkxBR19OT05C TE9DSwk9IDB4MDQsCit9OworCisjZGVmaW5lIERSTV9FWFlOT1NfSVBQX0ZMQUdTIChEUk1fRVhZ Tk9TX0lQUF9GTEFHX0VWRU5UIHxcCisJCURSTV9FWFlOT1NfSVBQX0ZMQUdfVEVTVF9PTkxZIHwg RFJNX0VYWU5PU19JUFBfRkxBR19OT05CTE9DSykKKworLyoqCisgKiBQZXJmb3JtIGltYWdlIHBy b2Nlc3NpbmcgZGVzY3JpYmVkIGJ5IGFycmF5IG9mIGRybV9leHlub3NfaXBwX3Rhc2tfKgorICog c3RydWN0dXJlcyAocGFyYW1ldGVycyBhcnJheSkuCisgKgorICogQGlwcF9pZDogaWQgb2YgSVBQ IG1vZHVsZSB0byBydW4gdGhlIHRhc2sKKyAqIEBmbGFnczogYml0bWFzayBvZiBkcm1fZXh5bm9z X2lwcF9mbGFnIHZhbHVlcworICogQHJlc2VydmVkOiBwYWRkaW5nCisgKiBAcGFyYW1zX3NpemU6 IHNpemUgb2YgcGFyYW1ldGVycyBhcnJheSAoaW4gYnl0ZXMpCisgKiBAcGFyYW1zX3B0cjogcG9p bnRlciB0byBwYXJhbWV0ZXJzIGFycmF5IG9yIE5VTEwKKyAqIEB1c2VyX2RhdGE6IChvcHRpb25h bCkgZGF0YSBmb3IgZHJtIGV2ZW50CisgKi8KK3N0cnVjdCBkcm1fZXh5bm9zX2lvY3RsX2lwcF9j b21taXQgeworCV9fdTMyIGlwcF9pZDsKKwlfX3UzMiBmbGFnczsKKwlfX3UzMiByZXNlcnZlZDsK KwlfX3UzMiBwYXJhbXNfc2l6ZTsKKwlfX3U2NCBwYXJhbXNfcHRyOworCV9fdTY0IHVzZXJfZGF0 YTsKK307CisKICNkZWZpbmUgRFJNX0VYWU5PU19HRU1fQ1JFQVRFCQkweDAwCiAjZGVmaW5lIERS TV9FWFlOT1NfR0VNX01BUAkJMHgwMQogLyogUmVzZXJ2ZWQgMHgwMyB+IDB4MDUgZm9yIGV4eW5v cyBzcGVjaWZpYyBnZW0gaW9jdGwgKi8KQEAgLTE0Nyw2ICszNjAsMTEgQEAgc3RydWN0IGRybV9l eHlub3NfZzJkX2V4ZWMgewogI2RlZmluZSBEUk1fRVhZTk9TX0cyRF9FWEVDCQkweDIyCiAKIC8q IFJlc2VydmVkIDB4MzAgfiAweDMzIGZvciBvYnNvbGV0ZSBFeHlub3MgSVBQIGlvY3RscyAqLwor LyogSVBQIC0gSW1hZ2UgUG9zdCBQcm9jZXNzaW5nICovCisjZGVmaW5lIERSTV9FWFlOT1NfSVBQ X0dFVF9SRVNPVVJDRVMJMHg0MAorI2RlZmluZSBEUk1fRVhZTk9TX0lQUF9HRVRfQ0FQUwkJMHg0 MQorI2RlZmluZSBEUk1fRVhZTk9TX0lQUF9HRVRfTElNSVRTCTB4NDIKKyNkZWZpbmUgRFJNX0VY WU5PU19JUFBfQ09NTUlUCQkweDQzCiAKICNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19HRU1fQ1JF QVRFCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgXAogCQlEUk1fRVhZTk9TX0dFTV9DUkVB VEUsIHN0cnVjdCBkcm1fZXh5bm9zX2dlbV9jcmVhdGUpCkBAIC0xNjUsOCArMzgzLDIwIEBAIHN0 cnVjdCBkcm1fZXh5bm9zX2cyZF9leGVjIHsKICNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19HMkRf RVhFQwkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIFwKIAkJRFJNX0VYWU5PU19HMkRfRVhF Qywgc3RydWN0IGRybV9leHlub3NfZzJkX2V4ZWMpCiAKKyNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5P U19JUFBfR0VUX1JFU09VUkNFUwlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgXAorCQlEUk1f RVhZTk9TX0lQUF9HRVRfUkVTT1VSQ0VTLCBcCisJCXN0cnVjdCBkcm1fZXh5bm9zX2lvY3RsX2lw cF9nZXRfcmVzKQorI2RlZmluZSBEUk1fSU9DVExfRVhZTk9TX0lQUF9HRVRfQ0FQUwkJRFJNX0lP V1IoRFJNX0NPTU1BTkRfQkFTRSArIFwKKwkJRFJNX0VYWU5PU19JUFBfR0VUX0NBUFMsIHN0cnVj dCBkcm1fZXh5bm9zX2lvY3RsX2lwcF9nZXRfY2FwcykKKyNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5P U19JUFBfR0VUX0xJTUlUUwkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIFwKKwkJRFJNX0VY WU5PU19JUFBfR0VUX0xJTUlUUywgXAorCQlzdHJ1Y3QgZHJtX2V4eW5vc19pb2N0bF9pcHBfZ2V0 X2xpbWl0cykKKyNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19JUFBfQ09NTUlUCQlEUk1fSU9XUihE Uk1fQ09NTUFORF9CQVNFICsgXAorCQlEUk1fRVhZTk9TX0lQUF9DT01NSVQsIHN0cnVjdCBkcm1f ZXh5bm9zX2lvY3RsX2lwcF9jb21taXQpCisKIC8qIEVYWU5PUyBzcGVjaWZpYyBldmVudHMgKi8K ICNkZWZpbmUgRFJNX0VYWU5PU19HMkRfRVZFTlQJCTB4ODAwMDAwMDAKKyNkZWZpbmUgRFJNX0VY WU5PU19JUFBfRVZFTlQJCTB4ODAwMDAwMDIKIAogc3RydWN0IGRybV9leHlub3NfZzJkX2V2ZW50 IHsKIAlzdHJ1Y3QgZHJtX2V2ZW50CWJhc2U7CkBAIC0xNzcsNiArNDA3LDE2IEBAIHN0cnVjdCBk cm1fZXh5bm9zX2cyZF9ldmVudCB7CiAJX191MzIJCQlyZXNlcnZlZDsKIH07CiAKK3N0cnVjdCBk cm1fZXh5bm9zX2lwcF9ldmVudCB7CisJc3RydWN0IGRybV9ldmVudAliYXNlOworCV9fdTY0CQkJ dXNlcl9kYXRhOworCV9fdTMyCQkJdHZfc2VjOworCV9fdTMyCQkJdHZfdXNlYzsKKwlfX3UzMgkJ CWlwcF9pZDsKKwlfX3UzMgkJCXNlcXVlbmNlOworCV9fdTY0CQkJcmVzZXJ2ZWQ7Cit9OworCiAj aWYgZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0tdWFwaS9pOTE1X2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS9pOTE1X2RybS5oCmluZGV4IDE2 ZTQ1MmFhMTJkNC4uMGRlYTJmMDE0M2EzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL2k5 MTVfZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9pOTE1X2RybS5oCkBAIC00MTIsNiArNDEy LDE0IEBAIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2lycV93YWl0IHsKIAlpbnQgaXJxX3NlcTsK IH0gZHJtX2k5MTVfaXJxX3dhaXRfdDsKIAorLyoKKyAqIERpZmZlcmVudCBtb2RlcyBvZiBwZXIt cHJvY2VzcyBHcmFwaGljcyBUcmFuc2xhdGlvbiBUYWJsZSwKKyAqIHNlZSBJOTE1X1BBUkFNX0hB U19BTElBU0lOR19QUEdUVAorICovCisjZGVmaW5lIEk5MTVfR0VNX1BQR1RUX05PTkUJMAorI2Rl ZmluZSBJOTE1X0dFTV9QUEdUVF9BTElBU0lORwkxCisjZGVmaW5lIEk5MTVfR0VNX1BQR1RUX0ZV TEwJMgorCiAvKiBJb2N0bCB0byBxdWVyeSBrZXJuZWwgcGFyYW1zOgogICovCiAjZGVmaW5lIEk5 MTVfUEFSQU1fSVJRX0FDVElWRSAgICAgICAgICAgIDEKQEAgLTUyOSw2ICs1MzcsMjggQEAgdHlw ZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfaXJxX3dhaXQgewogICovCiAjZGVmaW5lIEk5MTVfUEFSQU1f Q1NfVElNRVNUQU1QX0ZSRVFVRU5DWSA1MQogCisvKgorICogT25jZSB1cG9uIGEgdGltZSB3ZSBz dXBwb3NlZCB0aGF0IHdyaXRlcyB0aHJvdWdoIHRoZSBHR1RUIHdvdWxkIGJlCisgKiBpbW1lZGlh dGVseSBpbiBwaHlzaWNhbCBtZW1vcnkgKG9uY2UgZmx1c2hlZCBvdXQgb2YgdGhlIENQVSBwYXRo KS4gSG93ZXZlciwKKyAqIG9uIGEgZmV3IGRpZmZlcmVudCBwcm9jZXNzb3JzIGFuZCBjaGlwc2V0 cywgdGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIGNhc2UKKyAqIGFzIHRoZSB3cml0ZXMgYXBw ZWFyIHRvIGJlIGJ1ZmZlcmVkIGludGVybmFsbHkuIFRodXMgYSByZWFkIG9mIHRoZSBiYWNraW5n CisgKiBzdG9yYWdlIChwaHlzaWNhbCBtZW1vcnkpIHZpYSBhIGRpZmZlcmVudCBwYXRoICh3aXRo IGRpZmZlcmVudCBwaHlzaWNhbCB0YWdzCisgKiB0byB0aGUgaW5kaXJlY3Qgd3JpdGUgdmlhIHRo ZSBHR1RUKSB3aWxsIHNlZSBzdGFsZSB2YWx1ZXMgZnJvbSBiZWZvcmUKKyAqIHRoZSBHR1RUIHdy aXRlLiBJbnNpZGUgdGhlIGtlcm5lbCwgd2UgY2FuIGZvciB0aGUgbW9zdCBwYXJ0IGtlZXAgdHJh Y2sgb2YKKyAqIHRoZSBkaWZmZXJlbnQgcmVhZC93cml0ZSBkb21haW5zIGluIHVzZSAoZS5nLiBz ZXQtZG9tYWluKSwgYnV0IHRoZSBhc3N1bXB0aW9uCisgKiBvZiBjb2hlcmVuY3kgaXMgYmFrZWQg aW50byB0aGUgQUJJLCBoZW5jZSByZXBvcnRpbmcgaXRzIHRydWUgc3RhdGUgaW4gdGhpcworICog cGFyYW1ldGVyLgorICoKKyAqIFJlcG9ydHMgdHJ1ZSB3aGVuIHdyaXRlcyB2aWEgbW1hcF9ndHQg YXJlIGltbWVkaWF0ZWx5IHZpc2libGUgZm9sbG93aW5nIGFuCisgKiBsZmVuY2UgdG8gZmx1c2gg dGhlIFdDQi4KKyAqCisgKiBSZXBvcnRzIGZhbHNlIHdoZW4gd3JpdGVzIHZpYSBtbWFwX2d0dCBh cmUgaW5kZXRlcm1pbmF0ZWx5IGRlbGF5ZWQgaW4gYW4gaW4KKyAqIGludGVybmFsIGJ1ZmZlciBh bmQgYXJlIF9ub3RfIGltbWVkaWF0ZWx5IHZpc2libGUgdG8gdGhpcmQgcGFydGllcyBhY2Nlc3Np bmcKKyAqIGRpcmVjdGx5IHZpYSBtbWFwX2NwdS9tbWFwX3djLiBVc2Ugb2YgbW1hcF9ndHQgYXMg cGFydCBvZiBhbiBJUEMKKyAqIGNvbW11bmljYXRpb25zIGNoYW5uZWwgd2hlbiByZXBvcnRpbmcg ZmFsc2UgaXMgc3Ryb25nbHkgZGlzYWR2aXNlZC4KKyAqLworI2RlZmluZSBJOTE1X1BBUkFNX01N QVBfR1RUX0NPSEVSRU5UCTUyCisKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2dldHBhcmFtIHsK IAlfX3MzMiBwYXJhbTsKIAkvKgpAQCAtMTQ1Niw5ICsxNDg2LDUyIEBAIHN0cnVjdCBkcm1faTkx NV9nZW1fY29udGV4dF9wYXJhbSB7CiAjZGVmaW5lICAgSTkxNV9DT05URVhUX01BWF9VU0VSX1BS SU9SSVRZCTEwMjMgLyogaW5jbHVzaXZlICovCiAjZGVmaW5lICAgSTkxNV9DT05URVhUX0RFRkFV TFRfUFJJT1JJVFkJCTAKICNkZWZpbmUgICBJOTE1X0NPTlRFWFRfTUlOX1VTRVJfUFJJT1JJVFkJ LTEwMjMgLyogaW5jbHVzaXZlICovCisJLyoKKwkgKiBXaGVuIHVzaW5nIHRoZSBmb2xsb3dpbmcg cGFyYW0sIHZhbHVlIHNob3VsZCBiZSBhIHBvaW50ZXIgdG8KKwkgKiBkcm1faTkxNV9nZW1fY29u dGV4dF9wYXJhbV9zc2V1LgorCSAqLworI2RlZmluZSBJOTE1X0NPTlRFWFRfUEFSQU1fU1NFVQkJ MHg3CiAJX191NjQgdmFsdWU7CiB9OwogCitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFy YW1fc3NldSB7CisJLyoKKwkgKiBFbmdpbmUgY2xhc3MgJiBpbnN0YW5jZSB0byBiZSBjb25maWd1 cmVkIG9yIHF1ZXJpZWQuCisJICovCisJX191MTYgY2xhc3M7CisJX191MTYgaW5zdGFuY2U7CisK KwkvKgorCSAqIFVudXNlZCBmb3Igbm93LiBNdXN0IGJlIGNsZWFyZWQgdG8gemVyby4KKwkgKi8K KwlfX3UzMiByc3ZkMTsKKworCS8qCisJICogTWFzayBvZiBzbGljZXMgdG8gZW5hYmxlIGZvciB0 aGUgY29udGV4dC4gVmFsaWQgdmFsdWVzIGFyZSBhIHN1YnNldAorCSAqIG9mIHRoZSBiaXRtYXNr IHZhbHVlIHJldHVybmVkIGZvciBJOTE1X1BBUkFNX1NMSUNFX01BU0suCisJICovCisJX191NjQg c2xpY2VfbWFzazsKKworCS8qCisJICogTWFzayBvZiBzdWJzbGljZXMgdG8gZW5hYmxlIGZvciB0 aGUgY29udGV4dC4gVmFsaWQgdmFsdWVzIGFyZSBhCisJICogc3Vic2V0IG9mIHRoZSBiaXRtYXNr IHZhbHVlIHJldHVybiBieSBJOTE1X1BBUkFNX1NVQlNMSUNFX01BU0suCisJICovCisJX191NjQg c3Vic2xpY2VfbWFzazsKKworCS8qCisJICogTWluaW11bS9NYXhpbXVtIG51bWJlciBvZiBFVXMg dG8gZW5hYmxlIHBlciBzdWJzbGljZSBmb3IgdGhlCisJICogY29udGV4dC4gbWluX2V1c19wZXJf c3Vic2xpY2UgbXVzdCBiZSBpbmZlcmlvciBvciBlcXVhbCB0bworCSAqIG1heF9ldXNfcGVyX3N1 YnNsaWNlLgorCSAqLworCV9fdTE2IG1pbl9ldXNfcGVyX3N1YnNsaWNlOworCV9fdTE2IG1heF9l dXNfcGVyX3N1YnNsaWNlOworCisJLyoKKwkgKiBVbnVzZWQgZm9yIG5vdy4gTXVzdCBiZSBjbGVh cmVkIHRvIHplcm8uCisJICovCisJX191MzIgcnN2ZDI7Cit9OworCiBlbnVtIGRybV9pOTE1X29h X2Zvcm1hdCB7CiAJSTkxNV9PQV9GT1JNQVRfQTEzID0gMSwJICAgIC8qIEhTVyBvbmx5ICovCiAJ STkxNV9PQV9GT1JNQVRfQTI5LAkgICAgLyogSFNXIG9ubHkgKi8KQEAgLTE1MTAsNiArMTU4Mywx MyBAQCBlbnVtIGRybV9pOTE1X3BlcmZfcHJvcGVydHlfaWQgewogCSAqLwogCURSTV9JOTE1X1BF UkZfUFJPUF9PQV9FWFBPTkVOVCwKIAorCS8qKgorCSAqIFNwZWNpZnkgYSBnbG9iYWwgT0EgYnVm ZmVyIHNpemUgdG8gYmUgYWxsb2NhdGVkIGluIGJ5dGVzLiBUaGUgc2l6ZQorCSAqIHNwZWNpZmll ZCBtdXN0IGJlIHN1cHBvcnRlZCBieSBIVyAoY3VycmVudGx5IHN1cHBvcnRlZCBzaXplcyBhcmUK KwkgKiBwb3dlcnMgb2YgMiByYW5naW5nIGZyb20gMTI4S2IgdG8gMTZNYikuCisJICovCisJRFJN X0k5MTVfUEVSRl9QUk9QX09BX0JVRkZFUl9TSVpFLAorCiAJRFJNX0k5MTVfUEVSRl9QUk9QX01B WCAvKiBub24tQUJJICovCiB9OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL21zbV9k cm0uaCBiL2luY2x1ZGUvZHJtLXVhcGkvbXNtX2RybS5oCmluZGV4IGJiYmFmZmFkNzcyZC4uYzA2 ZDBhNWJkZDgwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS11YXBpL21zbV9kcm0uaAorKysgYi9p bmNsdWRlL2RybS11YXBpL21zbV9kcm0uaApAQCAtMjAxLDEwICsyMDEsMTIgQEAgc3RydWN0IGRy bV9tc21fZ2VtX3N1Ym1pdF9ibyB7CiAjZGVmaW5lIE1TTV9TVUJNSVRfTk9fSU1QTElDSVQgICAw eDgwMDAwMDAwIC8qIGRpc2FibGUgaW1wbGljaXQgc3luYyAqLwogI2RlZmluZSBNU01fU1VCTUlU X0ZFTkNFX0ZEX0lOICAgMHg0MDAwMDAwMCAvKiBlbmFibGUgaW5wdXQgZmVuY2VfZmQgKi8KICNk ZWZpbmUgTVNNX1NVQk1JVF9GRU5DRV9GRF9PVVQgIDB4MjAwMDAwMDAgLyogZW5hYmxlIG91dHB1 dCBmZW5jZV9mZCAqLworI2RlZmluZSBNU01fU1VCTUlUX1NVRE8gICAgICAgICAgMHgxMDAwMDAw MCAvKiBydW4gc3VibWl0dGVkIGNtZHMgZnJvbSBSQiAqLwogI2RlZmluZSBNU01fU1VCTUlUX0ZM QUdTICAgICAgICAgICAgICAgICggXAogCQlNU01fU1VCTUlUX05PX0lNUExJQ0lUICAgfCBcCiAJ CU1TTV9TVUJNSVRfRkVOQ0VfRkRfSU4gICB8IFwKIAkJTVNNX1NVQk1JVF9GRU5DRV9GRF9PVVQg IHwgXAorCQlNU01fU1VCTUlUX1NVRE8gICAgICAgICAgfCBcCiAJCTApCiAKIC8qIEVhY2ggY21k c3RyZWFtIHN1Ym1pdCBjb25zaXN0cyBvZiBhIHRhYmxlIG9mIGJ1ZmZlcnMgaW52b2x2ZWQsIGFu ZApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0tdWFwaS90ZWdyYV9kcm0uaCBiL2luY2x1ZGUvZHJt LXVhcGkvdGVncmFfZHJtLmgKaW5kZXggMTJmOWJmODQ4ZGIxLi42YzA3OTE5YzA0ZTkgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvdGVncmFfZHJtLmgKKysrIGIvaW5jbHVkZS9kcm0tdWFw aS90ZWdyYV9kcm0uaApAQCAtMzIsMTQzICszMiw2MTUgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5l IERSTV9URUdSQV9HRU1fQ1JFQVRFX1RJTEVEICAgICAoMSA8PCAwKQogI2RlZmluZSBEUk1fVEVH UkFfR0VNX0NSRUFURV9CT1RUT01fVVAgKDEgPDwgMSkKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3Rl Z3JhX2dlbV9jcmVhdGUgLSBwYXJhbWV0ZXJzIGZvciB0aGUgR0VNIG9iamVjdCBjcmVhdGlvbiBJ T0NUTAorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9jcmVhdGUgeworCS8qKgorCSAqIEBzaXpl OgorCSAqCisJICogVGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgYnVmZmVyIG9iamVjdCB0byBi ZSBjcmVhdGVkLgorCSAqLwogCV9fdTY0IHNpemU7CisKKwkvKioKKwkgKiBAZmxhZ3M6CisJICoK KwkgKiBBIGJpdG1hc2sgb2YgZmxhZ3MgdGhhdCBpbmZsdWVuY2UgdGhlIGNyZWF0aW9uIG9mIEdF TSBvYmplY3RzOgorCSAqCisJICogRFJNX1RFR1JBX0dFTV9DUkVBVEVfVElMRUQKKwkgKiAgIFVz ZSB0aGUgMTZ4MTYgdGlsaW5nIGZvcm1hdCBmb3IgdGhpcyBidWZmZXIuCisJICoKKwkgKiBEUk1f VEVHUkFfR0VNX0NSRUFURV9CT1RUT01fVVAKKwkgKiAgIFRoZSBidWZmZXIgaGFzIGEgYm90dG9t LXVwIGxheW91dC4KKwkgKi8KIAlfX3UzMiBmbGFnczsKKworCS8qKgorCSAqIEBoYW5kbGU6CisJ ICoKKwkgKiBUaGUgaGFuZGxlIG9mIHRoZSBjcmVhdGVkIEdFTSBvYmplY3QuIFNldCBieSB0aGUg a2VybmVsIHVwb24KKwkgKiBzdWNjZXNzZnVsIGNvbXBsZXRpb24gb2YgdGhlIElPQ1RMLgorCSAq LwogCV9fdTMyIGhhbmRsZTsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9nZW1fbW1h cCAtIHBhcmFtZXRlcnMgZm9yIHRoZSBHRU0gbW1hcCBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3Rl Z3JhX2dlbV9tbWFwIHsKKwkvKioKKwkgKiBAaGFuZGxlOgorCSAqCisJICogSGFuZGxlIG9mIHRo ZSBHRU0gb2JqZWN0IHRvIG9idGFpbiBhbiBtbWFwIG9mZnNldCBmb3IuCisJICovCiAJX191MzIg aGFuZGxlOworCisJLyoqCisJICogQHBhZDoKKwkgKgorCSAqIFN0cnVjdHVyZSBwYWRkaW5nIHRo YXQgbWF5IGJlIHVzZWQgaW4gdGhlIGZ1dHVyZS4gTXVzdCBiZSAwLgorCSAqLwogCV9fdTMyIHBh ZDsKKworCS8qKgorCSAqIEBvZmZzZXQ6CisJICoKKwkgKiBUaGUgbW1hcCBvZmZzZXQgZm9yIHRo ZSBnaXZlbiBHRU0gb2JqZWN0LiBTZXQgYnkgdGhlIGtlcm5lbCB1cG9uCisJICogc3VjY2Vzc2Z1 bCBjb21wbGV0aW9uIG9mIHRoZSBJT0NUTC4KKwkgKi8KIAlfX3U2NCBvZmZzZXQ7CiB9OwogCisv KioKKyAqIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3JlYWQgLSBwYXJhbWV0ZXJzIGZvciB0aGUg cmVhZCBzeW5jcG9pbnQgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdyYV9zeW5jcHRfcmVhZCB7 CisJLyoqCisJICogQGlkOgorCSAqCisJICogSUQgb2YgdGhlIHN5bmNwb2ludCB0byByZWFkIHRo ZSBjdXJyZW50IHZhbHVlIGZyb20uCisJICovCiAJX191MzIgaWQ7CisKKwkvKioKKwkgKiBAdmFs dWU6CisJICoKKwkgKiBUaGUgY3VycmVudCBzeW5jcG9pbnQgdmFsdWUuIFNldCBieSB0aGUga2Vy bmVsIHVwb24gc3VjY2Vzc2Z1bAorCSAqIGNvbXBsZXRpb24gb2YgdGhlIElPQ1RMLgorCSAqLwog CV9fdTMyIHZhbHVlOwogfTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX3RlZ3JhX3N5bmNwdF9pbmNy IC0gcGFyYW1ldGVycyBmb3IgdGhlIGluY3JlbWVudCBzeW5jcG9pbnQgSU9DVEwKKyAqLwogc3Ry dWN0IGRybV90ZWdyYV9zeW5jcHRfaW5jciB7CisJLyoqCisJICogQGlkOgorCSAqCisJICogSUQg b2YgdGhlIHN5bmNwb2ludCB0byBpbmNyZW1lbnQuCisJICovCiAJX191MzIgaWQ7CisKKwkvKioK KwkgKiBAcGFkOgorCSAqCisJICogU3RydWN0dXJlIHBhZGRpbmcgdGhhdCBtYXkgYmUgdXNlZCBp biB0aGUgZnV0dXJlLiBNdXN0IGJlIDAuCisJICovCiAJX191MzIgcGFkOwogfTsKIAorLyoqCisg KiBzdHJ1Y3QgZHJtX3RlZ3JhX3N5bmNwdF93YWl0IC0gcGFyYW1ldGVycyBmb3IgdGhlIHdhaXQg c3luY3BvaW50IElPQ1RMCisgKi8KIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3dhaXQgeworCS8q KgorCSAqIEBpZDoKKwkgKgorCSAqIElEIG9mIHRoZSBzeW5jcG9pbnQgdG8gd2FpdCBvbi4KKwkg Ki8KIAlfX3UzMiBpZDsKKworCS8qKgorCSAqIEB0aHJlc2g6CisJICoKKwkgKiBUaHJlc2hvbGQg dmFsdWUgZm9yIHdoaWNoIHRvIHdhaXQuCisJICovCiAJX191MzIgdGhyZXNoOworCisJLyoqCisJ ICogQHRpbWVvdXQ6CisJICoKKwkgKiBUaW1lb3V0LCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQu CisJICovCiAJX191MzIgdGltZW91dDsKKworCS8qKgorCSAqIEB2YWx1ZToKKwkgKgorCSAqIFRo ZSBuZXcgc3luY3BvaW50IHZhbHVlIGFmdGVyIHRoZSB3YWl0LiBTZXQgYnkgdGhlIGtlcm5lbCB1 cG9uCisJICogc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBJT0NUTC4KKwkgKi8KIAlfX3Uz MiB2YWx1ZTsKIH07CiAKICNkZWZpbmUgRFJNX1RFR1JBX05PX1RJTUVPVVQJKDB4ZmZmZmZmZmYp CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9vcGVuX2NoYW5uZWwgLSBwYXJhbWV0ZXJzIGZv ciB0aGUgb3BlbiBjaGFubmVsIElPQ1RMCisgKi8KIHN0cnVjdCBkcm1fdGVncmFfb3Blbl9jaGFu bmVsIHsKKwkvKioKKwkgKiBAY2xpZW50OgorCSAqCisJICogVGhlIGNsaWVudCBJRCBmb3IgdGhp cyBjaGFubmVsLgorCSAqLwogCV9fdTMyIGNsaWVudDsKKworCS8qKgorCSAqIEBwYWQ6CisJICoK KwkgKiBTdHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1heSBiZSB1c2VkIGluIHRoZSBmdXR1cmUuIE11 c3QgYmUgMC4KKwkgKi8KIAlfX3UzMiBwYWQ7CisKKwkvKioKKwkgKiBAY29udGV4dDoKKwkgKgor CSAqIFRoZSBhcHBsaWNhdGlvbiBjb250ZXh0IG9mIHRoaXMgY2hhbm5lbC4gU2V0IGJ5IHRoZSBr ZXJuZWwgdXBvbgorCSAqIHN1Y2Nlc3NmdWwgY29tcGxldGlvbiBvZiB0aGUgSU9DVEwuIFRoaXMg Y29udGV4dCBuZWVkcyB0byBiZSBwYXNzZWQKKwkgKiB0byB0aGUgRFJNX1RFR1JBX0NIQU5ORUxf Q0xPU0Ugb3IgdGhlIERSTV9URUdSQV9TVUJNSVQgSU9DVExzLgorCSAqLwogCV9fdTY0IGNvbnRl eHQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfY2xvc2VfY2hhbm5lbCAtIHBhcmFt ZXRlcnMgZm9yIHRoZSBjbG9zZSBjaGFubmVsIElPQ1RMCisgKi8KIHN0cnVjdCBkcm1fdGVncmFf Y2xvc2VfY2hhbm5lbCB7CisJLyoqCisJICogQGNvbnRleHQ6CisJICoKKwkgKiBUaGUgYXBwbGlj YXRpb24gY29udGV4dCBvZiB0aGlzIGNoYW5uZWwuIFRoaXMgaXMgb2J0YWluZWQgZnJvbSB0aGUK KwkgKiBEUk1fVEVHUkFfT1BFTl9DSEFOTkVMIElPQ1RMLgorCSAqLwogCV9fdTY0IGNvbnRleHQ7 CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfZ2V0X3N5bmNwdCAtIHBhcmFtZXRlcnMg Zm9yIHRoZSBnZXQgc3luY3BvaW50IElPQ1RMCisgKi8KIHN0cnVjdCBkcm1fdGVncmFfZ2V0X3N5 bmNwdCB7CisJLyoqCisJICogQGNvbnRleHQ6CisJICoKKwkgKiBUaGUgYXBwbGljYXRpb24gY29u dGV4dCBpZGVudGlmeWluZyB0aGUgY2hhbm5lbCBmb3Igd2hpY2ggdG8gb2J0YWluCisJICogdGhl IHN5bmNwb2ludCBJRC4KKwkgKi8KIAlfX3U2NCBjb250ZXh0OworCisJLyoqCisJICogQGluZGV4 OgorCSAqCisJICogSW5kZXggb2YgdGhlIGNsaWVudCBzeW5jcG9pbnQgZm9yIHdoaWNoIHRvIG9i dGFpbiB0aGUgSUQuCisJICovCiAJX191MzIgaW5kZXg7CisKKwkvKioKKwkgKiBAaWQ6CisJICoK KwkgKiBUaGUgSUQgb2YgdGhlIGdpdmVuIHN5bmNwb2ludC4gU2V0IGJ5IHRoZSBrZXJuZWwgdXBv biBzdWNjZXNzZnVsCisJICogY29tcGxldGlvbiBvZiB0aGUgSU9DVEwuCisJICovCiAJX191MzIg aWQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfZ2V0X3N5bmNwdF9iYXNlIC0gcGFy YW1ldGVycyBmb3IgdGhlIGdldCB3YWl0IGJhc2UgSU9DVEwKKyAqLwogc3RydWN0IGRybV90ZWdy YV9nZXRfc3luY3B0X2Jhc2UgeworCS8qKgorCSAqIEBjb250ZXh0OgorCSAqCisJICogVGhlIGFw cGxpY2F0aW9uIGNvbnRleHQgaWRlbnRpZnlpbmcgZm9yIHdoaWNoIGNoYW5uZWwgdG8gb2J0YWlu IHRoZQorCSAqIHdhaXQgYmFzZS4KKwkgKi8KIAlfX3U2NCBjb250ZXh0OworCisJLyoqCisJICog QHN5bmNwdDoKKwkgKgorCSAqIElEIG9mIHRoZSBzeW5jcG9pbnQgZm9yIHdoaWNoIHRvIG9idGFp biB0aGUgd2FpdCBiYXNlLgorCSAqLwogCV9fdTMyIHN5bmNwdDsKKworCS8qKgorCSAqIEBpZDoK KwkgKgorCSAqIFRoZSBJRCBvZiB0aGUgd2FpdCBiYXNlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNs aWVudCBzeW5jcG9pbnQuIFNldAorCSAqIGJ5IHRoZSBrZXJuZWwgdXBvbiBzdWNjZXNzZnVsIGNv bXBsZXRpb24gb2YgdGhlIElPQ1RMLgorCSAqLwogCV9fdTMyIGlkOwogfTsKIAorLyoqCisgKiBz dHJ1Y3QgZHJtX3RlZ3JhX3N5bmNwdCAtIHN5bmNwb2ludCBpbmNyZW1lbnQgb3BlcmF0aW9uCisg Ki8KIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0IHsKKwkvKioKKwkgKiBAaWQ6CisJICoKKwkgKiBJ RCBvZiB0aGUgc3luY3BvaW50IHRvIG9wZXJhdGUgb24uCisJICovCiAJX191MzIgaWQ7CisKKwkv KioKKwkgKiBAaW5jcnM6CisJICoKKwkgKiBOdW1iZXIgb2YgaW5jcmVtZW50cyB0byBwZXJmb3Jt IGZvciB0aGUgc3luY3BvaW50LgorCSAqLwogCV9fdTMyIGluY3JzOwogfTsKIAorLyoqCisgKiBz dHJ1Y3QgZHJtX3RlZ3JhX2NtZGJ1ZiAtIHN0cnVjdHVyZSBkZXNjcmliaW5nIGEgY29tbWFuZCBi dWZmZXIKKyAqLwogc3RydWN0IGRybV90ZWdyYV9jbWRidWYgeworCS8qKgorCSAqIEBoYW5kbGU6 CisJICoKKwkgKiBIYW5kbGUgdG8gYSBHRU0gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbW1hbmQg YnVmZmVyLgorCSAqLwogCV9fdTMyIGhhbmRsZTsKKworCS8qKgorCSAqIEBvZmZzZXQ6CisJICoK KwkgKiBPZmZzZXQsIGluIGJ5dGVzLCBpbnRvIHRoZSBHRU0gb2JqZWN0IGlkZW50aWZpZWQgYnkg QGhhbmRsZSBhdAorCSAqIHdoaWNoIHRoZSBjb21tYW5kIGJ1ZmZlciBzdGFydHMuCisJICovCiAJ X191MzIgb2Zmc2V0OworCisJLyoqCisJICogQHdvcmRzOgorCSAqCisJICogTnVtYmVyIG9mIDMy LWJpdCB3b3JkcyBpbiB0aGlzIGNvbW1hbmQgYnVmZmVyLgorCSAqLwogCV9fdTMyIHdvcmRzOwor CisJLyoqCisJICogQHBhZDoKKwkgKgorCSAqIFN0cnVjdHVyZSBwYWRkaW5nIHRoYXQgbWF5IGJl IHVzZWQgaW4gdGhlIGZ1dHVyZS4gTXVzdCBiZSAwLgorCSAqLwogCV9fdTMyIHBhZDsKIH07CiAK Ky8qKgorICogc3RydWN0IGRybV90ZWdyYV9yZWxvYyAtIEdFTSBvYmplY3QgcmVsb2NhdGlvbiBz dHJ1Y3R1cmUKKyAqLwogc3RydWN0IGRybV90ZWdyYV9yZWxvYyB7CiAJc3RydWN0IHsKKwkJLyoq CisJCSAqIEBjbWRidWYuaGFuZGxlOgorCQkgKgorCQkgKiBIYW5kbGUgdG8gdGhlIEdFTSBvYmpl Y3QgY29udGFpbmluZyB0aGUgY29tbWFuZCBidWZmZXIgZm9yCisJCSAqIHdoaWNoIHRvIHBlcmZv cm0gdGhpcyBHRU0gb2JqZWN0IHJlbG9jYXRpb24uCisJCSAqLwogCQlfX3UzMiBoYW5kbGU7CisK KwkJLyoqCisJCSAqIEBjbWRidWYub2Zmc2V0OgorCQkgKgorCQkgKiBPZmZzZXQsIGluIGJ5dGVz LCBpbnRvIHRoZSBjb21tYW5kIGJ1ZmZlciBhdCB3aGljaCB0bworCQkgKiBpbnNlcnQgdGhlIHJl bG9jYXRlZCBhZGRyZXNzLgorCQkgKi8KIAkJX191MzIgb2Zmc2V0OwogCX0gY21kYnVmOwogCXN0 cnVjdCB7CisJCS8qKgorCQkgKiBAdGFyZ2V0LmhhbmRsZToKKwkJICoKKwkJICogSGFuZGxlIHRv IHRoZSBHRU0gb2JqZWN0IHRvIGJlIHJlbG9jYXRlZC4KKwkJICovCiAJCV9fdTMyIGhhbmRsZTsK KworCQkvKioKKwkJICogQHRhcmdldC5vZmZzZXQ6CisJCSAqCisJCSAqIE9mZnNldCwgaW4gYnl0 ZXMsIGludG8gdGhlIHRhcmdldCBHRU0gb2JqZWN0IGF0IHdoaWNoIHRoZQorCQkgKiByZWxvY2F0 ZWQgZGF0YSBzdGFydHMuCisJCSAqLwogCQlfX3UzMiBvZmZzZXQ7CiAJfSB0YXJnZXQ7CisKKwkv KioKKwkgKiBAc2hpZnQ6CisJICoKKwkgKiBUaGUgbnVtYmVyIG9mIGJpdHMgYnkgd2hpY2ggdG8g c2hpZnQgcmVsb2NhdGVkIGFkZHJlc3Nlcy4KKwkgKi8KIAlfX3UzMiBzaGlmdDsKKworCS8qKgor CSAqIEBwYWQ6CisJICoKKwkgKiBTdHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1heSBiZSB1c2VkIGlu IHRoZSBmdXR1cmUuIE11c3QgYmUgMC4KKwkgKi8KIAlfX3UzMiBwYWQ7CiB9OwogCisvKioKKyAq IHN0cnVjdCBkcm1fdGVncmFfd2FpdGNoayAtIHdhaXQgY2hlY2sgc3RydWN0dXJlCisgKi8KIHN0 cnVjdCBkcm1fdGVncmFfd2FpdGNoayB7CisJLyoqCisJICogQGhhbmRsZToKKwkgKgorCSAqIEhh bmRsZSB0byB0aGUgR0VNIG9iamVjdCBjb250YWluaW5nIGEgY29tbWFuZCBzdHJlYW0gb24gd2hp Y2ggdG8KKwkgKiBwZXJmb3JtIHRoZSB3YWl0IGNoZWNrLgorCSAqLwogCV9fdTMyIGhhbmRsZTsK KworCS8qKgorCSAqIEBvZmZzZXQ6CisJICoKKwkgKiBPZmZzZXQsIGluIGJ5dGVzLCBvZiB0aGUg bG9jYXRpb24gaW4gdGhlIGNvbW1hbmQgc3RyZWFtIHRvIHBlcmZvcm0KKwkgKiB0aGUgd2FpdCBj aGVjayBvbi4KKwkgKi8KIAlfX3UzMiBvZmZzZXQ7CisKKwkvKioKKwkgKiBAc3luY3B0OgorCSAq CisJICogSUQgb2YgdGhlIHN5bmNwb2ludCB0byB3YWl0IGNoZWNrLgorCSAqLwogCV9fdTMyIHN5 bmNwdDsKKworCS8qKgorCSAqIEB0aHJlc2g6CisJICoKKwkgKiBUaHJlc2hvbGQgdmFsdWUgZm9y IHdoaWNoIHRvIGNoZWNrLgorCSAqLwogCV9fdTMyIHRocmVzaDsKIH07CiAKKy8qKgorICogc3Ry dWN0IGRybV90ZWdyYV9zdWJtaXQgLSBqb2Igc3VibWlzc2lvbiBzdHJ1Y3R1cmUKKyAqLwogc3Ry dWN0IGRybV90ZWdyYV9zdWJtaXQgeworCS8qKgorCSAqIEBjb250ZXh0OgorCSAqCisJICogVGhl IGFwcGxpY2F0aW9uIGNvbnRleHQgaWRlbnRpZnlpbmcgdGhlIGNoYW5uZWwgdG8gdXNlIGZvciB0 aGUKKwkgKiBleGVjdXRpb24gb2YgdGhpcyBqb2IuCisJICovCiAJX191NjQgY29udGV4dDsKKwor CS8qKgorCSAqIEBudW1fc3luY3B0czoKKwkgKgorCSAqIFRoZSBudW1iZXIgb2Ygc3luY3BvaW50 cyBvcGVyYXRlZCBvbiBieSB0aGlzIGpvYi4gVGhpcyBkZWZpbmVzIHRoZQorCSAqIGxlbmd0aCBv ZiB0aGUgYXJyYXkgcG9pbnRlZCB0byBieSBAc3luY3B0cy4KKwkgKi8KIAlfX3UzMiBudW1fc3lu Y3B0czsKKworCS8qKgorCSAqIEBudW1fY21kYnVmczoKKwkgKgorCSAqIFRoZSBudW1iZXIgb2Yg Y29tbWFuZCBidWZmZXJzIHRvIGV4ZWN1dGUgYXMgcGFydCBvZiB0aGlzIGpvYi4gVGhpcworCSAq IGRlZmluZXMgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgcG9pbnRlZCB0byBieSBAY21kYnVmcy4K KwkgKi8KIAlfX3UzMiBudW1fY21kYnVmczsKKworCS8qKgorCSAqIEBudW1fcmVsb2NzOgorCSAq CisJICogVGhlIG51bWJlciBvZiByZWxvY2F0aW9ucyB0byBwZXJmb3JtIGJlZm9yZSBleGVjdXRp bmcgdGhpcyBqb2IuCisJICogVGhpcyBkZWZpbmVzIHRoZSBsZW5ndGggb2YgdGhlIGFycmF5IHBv aW50ZWQgdG8gYnkgQHJlbG9jcy4KKwkgKi8KIAlfX3UzMiBudW1fcmVsb2NzOworCisJLyoqCisJ ICogQG51bV93YWl0Y2hrczoKKwkgKgorCSAqIFRoZSBudW1iZXIgb2Ygd2FpdCBjaGVja3MgdG8g cGVyZm9ybSBhcyBwYXJ0IG9mIHRoaXMgam9iLiBUaGlzCisJICogZGVmaW5lcyB0aGUgbGVuZ3Ro IG9mIHRoZSBhcnJheSBwb2ludGVkIHRvIGJ5IEB3YWl0Y2hrcy4KKwkgKi8KIAlfX3UzMiBudW1f d2FpdGNoa3M7CisKKwkvKioKKwkgKiBAd2FpdGNoa19tYXNrOgorCSAqCisJICogQml0bWFzayBv ZiB2YWxpZCB3YWl0IGNoZWNrcy4KKwkgKi8KIAlfX3UzMiB3YWl0Y2hrX21hc2s7CisKKwkvKioK KwkgKiBAdGltZW91dDoKKwkgKgorCSAqIFRpbWVvdXQsIGluIG1pbGxpc2Vjb25kcywgYmVmb3Jl IHRoaXMgam9iIGlzIGNhbmNlbGxlZC4KKwkgKi8KIAlfX3UzMiB0aW1lb3V0OworCisJLyoqCisJ ICogQHN5bmNwdHM6CisJICoKKwkgKiBBIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgJnN0cnVjdCBk cm1fdGVncmFfc3luY3B0IHN0cnVjdHVyZXMgdGhhdAorCSAqIHNwZWNpZnkgdGhlIHN5bmNwb2lu dCBvcGVyYXRpb25zIHBlcmZvcm1lZCBhcyBwYXJ0IG9mIHRoaXMgam9iLgorCSAqIFRoZSBudW1i ZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IG11c3QgYmUgZXF1YWwgdG8gdGhlIHZhbHVlCisJ ICogZ2l2ZW4gYnkgQG51bV9zeW5jcHRzLgorCSAqLwogCV9fdTY0IHN5bmNwdHM7CisKKwkvKioK KwkgKiBAY21kYnVmczoKKwkgKgorCSAqIEEgcG9pbnRlciB0byBhbiBhcnJheSBvZiAmc3RydWN0 IGRybV90ZWdyYV9jbWRidWYgc3RydWN0dXJlcyB0aGF0CisJICogZGVmaW5lIHRoZSBjb21tYW5k IGJ1ZmZlcnMgdG8gZXhlY3V0ZSBhcyBwYXJ0IG9mIHRoaXMgam9iLiBUaGUKKwkgKiBudW1iZXIg b2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IG11c3QgYmUgZXF1YWwgdG8gdGhlIHZhbHVlIGdpdmVu CisJICogYnkgQG51bV9zeW5jcHRzLgorCSAqLwogCV9fdTY0IGNtZGJ1ZnM7CisKKwkvKioKKwkg KiBAcmVsb2NzOgorCSAqCisJICogQSBwb2ludGVyIHRvIGFuIGFycmF5IG9mICZzdHJ1Y3QgZHJt X3RlZ3JhX3JlbG9jIHN0cnVjdHVyZXMgdGhhdAorCSAqIHNwZWNpZnkgdGhlIHJlbG9jYXRpb25z IHRoYXQgbmVlZCB0byBiZSBwZXJmb3JtZWQgYmVmb3JlIGV4ZWN1dGluZworCSAqIHRoaXMgam9i LiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheSBtdXN0IGJlIGVxdWFsIHRvIHRo ZQorCSAqIHZhbHVlIGdpdmVuIGJ5IEBudW1fcmVsb2NzLgorCSAqLwogCV9fdTY0IHJlbG9jczsK KworCS8qKgorCSAqIEB3YWl0Y2hrczoKKwkgKgorCSAqIEEgcG9pbnRlciB0byBhbiBhcnJheSBv ZiAmc3RydWN0IGRybV90ZWdyYV93YWl0Y2hrIHN0cnVjdHVyZXMgdGhhdAorCSAqIHNwZWNpZnkg dGhlIHdhaXQgY2hlY2tzIHRvIGJlIHBlcmZvcm1lZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBqb2Iu CisJICogVGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgYXJyYXkgbXVzdCBiZSBlcXVhbCB0 byB0aGUgdmFsdWUKKwkgKiBnaXZlbiBieSBAbnVtX3dhaXRjaGtzLgorCSAqLwogCV9fdTY0IHdh aXRjaGtzOwotCV9fdTMyIGZlbmNlOwkJLyogUmV0dXJuIHZhbHVlICovCiAKLQlfX3UzMiByZXNl cnZlZFs1XTsJLyogZnV0dXJlIGV4cGFuc2lvbiAqLworCS8qKgorCSAqIEBmZW5jZToKKwkgKgor CSAqIFRoZSB0aHJlc2hvbGQgb2YgdGhlIHN5bmNwb2ludCBhc3NvY2lhdGVkIHdpdGggdGhpcyBq b2IgYWZ0ZXIgaXQKKwkgKiBoYXMgYmVlbiBjb21wbGV0ZWQuIFNldCBieSB0aGUga2VybmVsIHVw b24gc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mCisJICogdGhlIElPQ1RMLiBUaGlzIGNhbiBiZSB1 c2VkIHdpdGggdGhlIERSTV9URUdSQV9TWU5DUFRfV0FJVCBJT0NUTCB0bworCSAqIHdhaXQgZm9y IHRoaXMgam9iIHRvIGJlIGZpbmlzaGVkLgorCSAqLworCV9fdTMyIGZlbmNlOworCisJLyoqCisJ ICogQHJlc2VydmVkOgorCSAqCisJICogVGhpcyBmaWVsZCBpcyByZXNlcnZlZCBmb3IgZnV0dXJl IHVzZS4gTXVzdCBiZSAwLgorCSAqLworCV9fdTMyIHJlc2VydmVkWzVdOwogfTsKIAogI2RlZmlu ZSBEUk1fVEVHUkFfR0VNX1RJTElOR19NT0RFX1BJVENIIDAKICNkZWZpbmUgRFJNX1RFR1JBX0dF TV9USUxJTkdfTU9ERV9USUxFRCAxCiAjZGVmaW5lIERSTV9URUdSQV9HRU1fVElMSU5HX01PREVf QkxPQ0sgMgogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFfZ2VtX3NldF90aWxpbmcgLSBwYXJh bWV0ZXJzIGZvciB0aGUgc2V0IHRpbGluZyBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3RlZ3JhX2dl bV9zZXRfdGlsaW5nIHsKLQkvKiBpbnB1dCAqLworCS8qKgorCSAqIEBoYW5kbGU6CisJICoKKwkg KiBIYW5kbGUgdG8gdGhlIEdFTSBvYmplY3QgZm9yIHdoaWNoIHRvIHNldCB0aGUgdGlsaW5nIHBh cmFtZXRlcnMuCisJICovCiAJX191MzIgaGFuZGxlOworCisJLyoqCisJICogQG1vZGU6CisJICoK KwkgKiBUaGUgdGlsaW5nIG1vZGUgdG8gc2V0LiBNdXN0IGJlIG9uZSBvZjoKKwkgKgorCSAqIERS TV9URUdSQV9HRU1fVElMSU5HX01PREVfUElUQ0gKKwkgKiAgIHBpdGNoIGxpbmVhciBmb3JtYXQK KwkgKgorCSAqIERSTV9URUdSQV9HRU1fVElMSU5HX01PREVfVElMRUQKKwkgKiAgIDE2eDE2IHRp bGluZyBmb3JtYXQKKwkgKgorCSAqIERSTV9URUdSQV9HRU1fVElMSU5HX01PREVfQkxPQ0sKKwkg KiAgIDE2QngyIHRpbGluZyBmb3JtYXQKKwkgKi8KIAlfX3UzMiBtb2RlOworCisJLyoqCisJICog QHZhbHVlOgorCSAqCisJICogVGhlIHZhbHVlIHRvIHNldCBmb3IgdGhlIHRpbGluZyBtb2RlIHBh cmFtZXRlci4KKwkgKi8KIAlfX3UzMiB2YWx1ZTsKKworCS8qKgorCSAqIEBwYWQ6CisJICoKKwkg KiBTdHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1heSBiZSB1c2VkIGluIHRoZSBmdXR1cmUuIE11c3Qg YmUgMC4KKwkgKi8KIAlfX3UzMiBwYWQ7CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1fdGVncmFf Z2VtX2dldF90aWxpbmcgLSBwYXJhbWV0ZXJzIGZvciB0aGUgZ2V0IHRpbGluZyBJT0NUTAorICov CiBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9nZXRfdGlsaW5nIHsKLQkvKiBpbnB1dCAqLworCS8qKgor CSAqIEBoYW5kbGU6CisJICoKKwkgKiBIYW5kbGUgdG8gdGhlIEdFTSBvYmplY3QgZm9yIHdoaWNo IHRvIHF1ZXJ5IHRoZSB0aWxpbmcgcGFyYW1ldGVycy4KKwkgKi8KIAlfX3UzMiBoYW5kbGU7Ci0J Lyogb3V0cHV0ICovCisKKwkvKioKKwkgKiBAbW9kZToKKwkgKgorCSAqIFRoZSB0aWxpbmcgbW9k ZSBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBHRU0gb2JqZWN0LiBTZXQgYnkKKwkgKiB0 aGUga2VybmVsIHVwb24gc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBJT0NUTC4KKwkgKi8K IAlfX3UzMiBtb2RlOworCisJLyoqCisJICogQHZhbHVlOgorCSAqCisJICogVGhlIHRpbGluZyBt b2RlIHBhcmFtZXRlciBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBHRU0gb2JqZWN0Lgor CSAqIFNldCBieSB0aGUga2VybmVsIHVwb24gc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBJ T0NUTC4KKwkgKi8KIAlfX3UzMiB2YWx1ZTsKKworCS8qKgorCSAqIEBwYWQ6CisJICoKKwkgKiBT dHJ1Y3R1cmUgcGFkZGluZyB0aGF0IG1heSBiZSB1c2VkIGluIHRoZSBmdXR1cmUuIE11c3QgYmUg MC4KKwkgKi8KIAlfX3UzMiBwYWQ7CiB9OwogCiAjZGVmaW5lIERSTV9URUdSQV9HRU1fQk9UVE9N X1VQCQkoMSA8PCAwKQogI2RlZmluZSBEUk1fVEVHUkFfR0VNX0ZMQUdTCQkoRFJNX1RFR1JBX0dF TV9CT1RUT01fVVApCiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9nZW1fc2V0X2ZsYWdzIC0g cGFyYW1ldGVycyBmb3IgdGhlIHNldCBmbGFncyBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3RlZ3Jh X2dlbV9zZXRfZmxhZ3MgewotCS8qIGlucHV0ICovCisJLyoqCisJICogQGhhbmRsZToKKwkgKgor CSAqIEhhbmRsZSB0byB0aGUgR0VNIG9iamVjdCBmb3Igd2hpY2ggdG8gc2V0IHRoZSBmbGFncy4K KwkgKi8KIAlfX3UzMiBoYW5kbGU7Ci0JLyogb3V0cHV0ICovCisKKwkvKioKKwkgKiBAZmxhZ3M6 CisJICoKKwkgKiBUaGUgZmxhZ3MgdG8gc2V0IGZvciB0aGUgR0VNIG9iamVjdC4KKwkgKi8KIAlf X3UzMiBmbGFnczsKIH07CiAKKy8qKgorICogc3RydWN0IGRybV90ZWdyYV9nZW1fZ2V0X2ZsYWdz IC0gcGFyYW1ldGVycyBmb3IgdGhlIGdldCBmbGFncyBJT0NUTAorICovCiBzdHJ1Y3QgZHJtX3Rl Z3JhX2dlbV9nZXRfZmxhZ3MgewotCS8qIGlucHV0ICovCisJLyoqCisJICogQGhhbmRsZToKKwkg KgorCSAqIEhhbmRsZSB0byB0aGUgR0VNIG9iamVjdCBmb3Igd2hpY2ggdG8gcXVlcnkgdGhlIGZs YWdzLgorCSAqLwogCV9fdTMyIGhhbmRsZTsKLQkvKiBvdXRwdXQgKi8KKworCS8qKgorCSAqIEBm bGFnczoKKwkgKgorCSAqIFRoZSBmbGFncyBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBH RU0gb2JqZWN0LiBTZXQgYnkgdGhlCisJICoga2VybmVsIHVwb24gc3VjY2Vzc2Z1bCBjb21wbGV0 aW9uIG9mIHRoZSBJT0NUTC4KKwkgKi8KIAlfX3UzMiBmbGFnczsKIH07CiAKQEAgLTE5Myw3ICs2 NjUsNyBAQCBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9nZXRfZmxhZ3MgewogI2RlZmluZSBEUk1fSU9D VExfVEVHUkFfU1lOQ1BUX0lOQ1IgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9URUdS QV9TWU5DUFRfSU5DUiwgc3RydWN0IGRybV90ZWdyYV9zeW5jcHRfaW5jcikKICNkZWZpbmUgRFJN X0lPQ1RMX1RFR1JBX1NZTkNQVF9XQUlUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1f VEVHUkFfU1lOQ1BUX1dBSVQsIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3dhaXQpCiAjZGVmaW5l IERSTV9JT0NUTF9URUdSQV9PUEVOX0NIQU5ORUwgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSAr IERSTV9URUdSQV9PUEVOX0NIQU5ORUwsIHN0cnVjdCBkcm1fdGVncmFfb3Blbl9jaGFubmVsKQot I2RlZmluZSBEUk1fSU9DVExfVEVHUkFfQ0xPU0VfQ0hBTk5FTCBEUk1fSU9XUihEUk1fQ09NTUFO RF9CQVNFICsgRFJNX1RFR1JBX0NMT1NFX0NIQU5ORUwsIHN0cnVjdCBkcm1fdGVncmFfb3Blbl9j aGFubmVsKQorI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfQ0xPU0VfQ0hBTk5FTCBEUk1fSU9XUihE Uk1fQ09NTUFORF9CQVNFICsgRFJNX1RFR1JBX0NMT1NFX0NIQU5ORUwsIHN0cnVjdCBkcm1fdGVn cmFfY2xvc2VfY2hhbm5lbCkKICNkZWZpbmUgRFJNX0lPQ1RMX1RFR1JBX0dFVF9TWU5DUFQgRFJN X0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9URUdSQV9HRVRfU1lOQ1BULCBzdHJ1Y3QgZHJt X3RlZ3JhX2dldF9zeW5jcHQpCiAjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9TVUJNSVQgRFJNX0lP V1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9URUdSQV9TVUJNSVQsIHN0cnVjdCBkcm1fdGVncmFf c3VibWl0KQogI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfR0VUX1NZTkNQVF9CQVNFIERSTV9JT1dS KERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfR0VUX1NZTkNQVF9CQVNFLCBzdHJ1Y3QgZHJt X3RlZ3JhX2dldF9zeW5jcHRfYmFzZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvdjNk X2RybS5oIGIvaW5jbHVkZS9kcm0tdWFwaS92M2RfZHJtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi5mNDQ2NjU2ZDAwYjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNs dWRlL2RybS11YXBpL3YzZF9kcm0uaApAQCAtMCwwICsxLDIwNCBAQAorLyoKKyAqIENvcHlyaWdo dCDCqSAyMDE0LTIwMTggQnJvYWRjb20KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBv ZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAi U29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rp b24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBj b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICog YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25z IHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg dG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQg bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAq IHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh bCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9S CisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF IEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMg T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1Ig T1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP TiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBU SEUgU09GVFdBUkUuCisgKi8KKworI2lmbmRlZiBfVjNEX0RSTV9IXworI2RlZmluZSBfVjNEX0RS TV9IXworCisjaW5jbHVkZSAiZHJtLmgiCisKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0 ZXJuICJDIiB7CisjZW5kaWYKKworI2RlZmluZSBEUk1fVjNEX1NVQk1JVF9DTCAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwCisjZGVmaW5lIERSTV9WM0RfV0FJVF9CTyAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgRFJNX1YzRF9DUkVBVEVfQk8gICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMgorI2RlZmluZSBEUk1fVjNEX01NQVBfQk8gICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAzCisjZGVmaW5lIERSTV9WM0RfR0VUX1BBUkFNICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDQKKyNkZWZpbmUgRFJNX1YzRF9HRVRfQk9fT0ZGU0VUICAgICAgICAgICAg ICAgICAgICAgMHgwNQorCisjZGVmaW5lIERSTV9JT0NUTF9WM0RfU1VCTUlUX0NMICAgICAgICAg ICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1YzRF9TVUJNSVRfQ0wsIHN0cnVjdCBk cm1fdjNkX3N1Ym1pdF9jbCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1YzRF9XQUlUX0JPICAgICAgICAg ICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVjNEX1dBSVRfQk8sIHN0cnVjdCBk cm1fdjNkX3dhaXRfYm8pCisjZGVmaW5lIERSTV9JT0NUTF9WM0RfQ1JFQVRFX0JPICAgICAgICAg ICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1YzRF9DUkVBVEVfQk8sIHN0cnVjdCBk cm1fdjNkX2NyZWF0ZV9ibykKKyNkZWZpbmUgRFJNX0lPQ1RMX1YzRF9NTUFQX0JPICAgICAgICAg ICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVjNEX01NQVBfQk8sIHN0cnVjdCBk cm1fdjNkX21tYXBfYm8pCisjZGVmaW5lIERSTV9JT0NUTF9WM0RfR0VUX1BBUkFNICAgICAgICAg ICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1YzRF9HRVRfUEFSQU0sIHN0cnVjdCBk cm1fdjNkX2dldF9wYXJhbSkKKyNkZWZpbmUgRFJNX0lPQ1RMX1YzRF9HRVRfQk9fT0ZGU0VUICAg ICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVjNEX0dFVF9CT19PRkZTRVQsIHN0 cnVjdCBkcm1fdjNkX2dldF9ib19vZmZzZXQpCisKKy8qKgorICogc3RydWN0IGRybV92M2Rfc3Vi bWl0X2NsIC0gaW9jdGwgYXJndW1lbnQgZm9yIHN1Ym1pdHRpbmcgY29tbWFuZHMgdG8gdGhlIDNE CisgKiBlbmdpbmUuCisgKgorICogVGhpcyBhc2tzIHRoZSBrZXJuZWwgdG8gaGF2ZSB0aGUgR1BV IGV4ZWN1dGUgYW4gb3B0aW9uYWwgYmlubmVyCisgKiBjb21tYW5kIGxpc3QsIGFuZCBhIHJlbmRl ciBjb21tYW5kIGxpc3QuCisgKi8KK3N0cnVjdCBkcm1fdjNkX3N1Ym1pdF9jbCB7CisJLyogUG9p bnRlciB0byB0aGUgYmlubmVyIGNvbW1hbmQgbGlzdC4KKwkgKgorCSAqIFRoaXMgaXMgdGhlIGZp cnN0IHNldCBvZiBjb21tYW5kcyBleGVjdXRlZCwgd2hpY2ggcnVucyB0aGUKKwkgKiBjb29yZGlu YXRlIHNoYWRlciB0byBkZXRlcm1pbmUgd2hlcmUgcHJpbWl0aXZlcyBsYW5kIG9uIHRoZSBzY3Jl ZW4sCisJICogdGhlbiB3cml0ZXMgb3V0IHRoZSBzdGF0ZSB1cGRhdGVzIGFuZCBkcmF3IGNhbGxz IG5lY2Vzc2FyeSBwZXIgdGlsZQorCSAqIHRvIHRoZSB0aWxlIGFsbG9jYXRpb24gQk8uCisJICoK KwkgKiBUaGlzIEJDTCB3aWxsIGJsb2NrIG9uIGFueSBwcmV2aW91cyBCQ0wgc3VibWl0dGVkIG9u IHRoZQorCSAqIHNhbWUgRkQsIGJ1dCBub3Qgb24gYW55IFJDTCBvciBCQ0xzIHN1Ym1pdHRlZCBi eSBvdGhlcgorCSAqIGNsaWVudHMgLS0gdGhhdCBpcyBsZWZ0IHVwIHRvIHRoZSBzdWJtaXR0ZXIg dG8gY29udHJvbAorCSAqIHVzaW5nIGluX3N5bmNfYmNsIGlmIG5lY2Vzc2FyeS4KKwkgKi8KKwlf X3UzMiBiY2xfc3RhcnQ7CisKKwkgLyoqIEVuZCBhZGRyZXNzIG9mIHRoZSBCQ0wgKGZpcnN0IGJ5 dGUgYWZ0ZXIgdGhlIEJDTCkgKi8KKwlfX3UzMiBiY2xfZW5kOworCisJLyogT2Zmc2V0IG9mIHRo ZSByZW5kZXIgY29tbWFuZCBsaXN0LgorCSAqCisJICogVGhpcyBpcyB0aGUgc2Vjb25kIHNldCBv ZiBjb21tYW5kcyBleGVjdXRlZCwgd2hpY2ggd2lsbCBlaXRoZXIKKwkgKiBleGVjdXRlIHRoZSB0 aWxlcyB0aGF0IGhhdmUgYmVlbiBzZXQgdXAgYnkgdGhlIEJDTCwgb3IgYSBmaXhlZCBzZXQKKwkg KiBvZiB0aWxlcyAoaW4gdGhlIGNhc2Ugb2YgUkNMLW9ubHkgYmxpdHMpLgorCSAqCisJICogVGhp cyBSQ0wgd2lsbCBibG9jayBvbiB0aGlzIHN1Ym1pdCdzIEJDTCwgYW5kIGFueSBwcmV2aW91cwor CSAqIFJDTCBzdWJtaXR0ZWQgb24gdGhlIHNhbWUgRkQsIGJ1dCBub3Qgb24gYW55IFJDTCBvciBC Q0xzCisJICogc3VibWl0dGVkIGJ5IG90aGVyIGNsaWVudHMgLS0gdGhhdCBpcyBsZWZ0IHVwIHRv IHRoZQorCSAqIHN1Ym1pdHRlciB0byBjb250cm9sIHVzaW5nIGluX3N5bmNfcmNsIGlmIG5lY2Vz c2FyeS4KKwkgKi8KKwlfX3UzMiByY2xfc3RhcnQ7CisKKwkgLyoqIEVuZCBhZGRyZXNzIG9mIHRo ZSBSQ0wgKGZpcnN0IGJ5dGUgYWZ0ZXIgdGhlIFJDTCkgKi8KKwlfX3UzMiByY2xfZW5kOworCisJ LyoqIEFuIG9wdGlvbmFsIHN5bmMgb2JqZWN0IHRvIHdhaXQgb24gYmVmb3JlIHN0YXJ0aW5nIHRo ZSBCQ0wuICovCisJX191MzIgaW5fc3luY19iY2w7CisJLyoqIEFuIG9wdGlvbmFsIHN5bmMgb2Jq ZWN0IHRvIHdhaXQgb24gYmVmb3JlIHN0YXJ0aW5nIHRoZSBSQ0wuICovCisJX191MzIgaW5fc3lu Y19yY2w7CisJLyoqIEFuIG9wdGlvbmFsIHN5bmMgb2JqZWN0IHRvIHBsYWNlIHRoZSBjb21wbGV0 aW9uIGZlbmNlIGluLiAqLworCV9fdTMyIG91dF9zeW5jOworCisJLyogT2Zmc2V0IG9mIHRoZSB0 aWxlIGFsbG9jIG1lbW9yeQorCSAqCisJICogVGhpcyBpcyBvcHRpb25hbCBvbiBWM0QgMy4zICh3 aGVyZSB0aGUgQ0wgY2FuIHNldCB0aGUgdmFsdWUpIGJ1dAorCSAqIHJlcXVpcmVkIG9uIFYzRCA0 LjEuCisJICovCisJX191MzIgcW1hOworCisJLyoqIFNpemUgb2YgdGhlIHRpbGUgYWxsb2MgbWVt b3J5LiAqLworCV9fdTMyIHFtczsKKworCS8qKiBPZmZzZXQgb2YgdGhlIHRpbGUgc3RhdGUgZGF0 YSBhcnJheS4gKi8KKwlfX3UzMiBxdHM7CisKKwkvKiBQb2ludGVyIHRvIGEgdTMyIGFycmF5IG9m IHRoZSBCT3MgdGhhdCBhcmUgcmVmZXJlbmNlZCBieSB0aGUgam9iLgorCSAqLworCV9fdTY0IGJv X2hhbmRsZXM7CisKKwkvKiBOdW1iZXIgb2YgQk8gaGFuZGxlcyBwYXNzZWQgaW4gKHNpemUgaXMg dGhhdCB0aW1lcyA0KS4gKi8KKwlfX3UzMiBib19oYW5kbGVfY291bnQ7CisKKwkvKiBQYWQsIG11 c3QgYmUgemVyby1maWxsZWQuICovCisJX191MzIgcGFkOworfTsKKworLyoqCisgKiBzdHJ1Y3Qg ZHJtX3YzZF93YWl0X2JvIC0gaW9jdGwgYXJndW1lbnQgZm9yIHdhaXRpbmcgZm9yCisgKiBjb21w bGV0aW9uIG9mIHRoZSBsYXN0IERSTV9WM0RfU1VCTUlUX0NMIG9uIGEgQk8uCisgKgorICogVGhp cyBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIG11bHRpcGxlIHByb2Nlc3NlcyBtaWdodCBiZQor ICogcmVuZGVyaW5nIHRvIGEgQk8gYW5kIHlvdSB3YW50IHRvIHdhaXQgZm9yIGFsbCByZW5kZXJp bmcgdG8gYmUKKyAqIGNvbXBsZXRlZC4KKyAqLworc3RydWN0IGRybV92M2Rfd2FpdF9ibyB7CisJ X191MzIgaGFuZGxlOworCV9fdTMyIHBhZDsKKwlfX3U2NCB0aW1lb3V0X25zOworfTsKKworLyoq CisgKiBzdHJ1Y3QgZHJtX3YzZF9jcmVhdGVfYm8gLSBpb2N0bCBhcmd1bWVudCBmb3IgY3JlYXRp bmcgVjNEIEJPcy4KKyAqCisgKiBUaGVyZSBhcmUgY3VycmVudGx5IG5vIHZhbHVlcyBmb3IgdGhl IGZsYWdzIGFyZ3VtZW50LCBidXQgaXQgbWF5IGJlCisgKiB1c2VkIGluIGEgZnV0dXJlIGV4dGVu c2lvbi4KKyAqLworc3RydWN0IGRybV92M2RfY3JlYXRlX2JvIHsKKwlfX3UzMiBzaXplOworCV9f dTMyIGZsYWdzOworCS8qKiBSZXR1cm5lZCBHRU0gaGFuZGxlIGZvciB0aGUgQk8uICovCisJX191 MzIgaGFuZGxlOworCS8qKgorCSAqIFJldHVybmVkIG9mZnNldCBmb3IgdGhlIEJPIGluIHRoZSBW M0QgYWRkcmVzcyBzcGFjZS4gIFRoaXMgb2Zmc2V0CisJICogaXMgcHJpdmF0ZSB0byB0aGUgRFJN IGZkIGFuZCBpcyB2YWxpZCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBHRU0KKwkgKiBoYW5kbGUu CisJICoKKwkgKiBUaGlzIG9mZnNldCB2YWx1ZSB3aWxsIGFsd2F5cyBiZSBub256ZXJvLCBzaW5j ZSB2YXJpb3VzIEhXCisJICogdW5pdHMgdHJlYXQgMCBzcGVjaWFsbHkuCisJICovCisJX191MzIg b2Zmc2V0OworfTsKKworLyoqCisgKiBzdHJ1Y3QgZHJtX3YzZF9tbWFwX2JvIC0gaW9jdGwgYXJn dW1lbnQgZm9yIG1hcHBpbmcgVjNEIEJPcy4KKyAqCisgKiBUaGlzIGRvZXNuJ3QgYWN0dWFsbHkg cGVyZm9ybSBhbiBtbWFwLiAgSW5zdGVhZCwgaXQgcmV0dXJucyB0aGUKKyAqIG9mZnNldCB5b3Ug bmVlZCB0byB1c2UgaW4gYW4gbW1hcCBvbiB0aGUgRFJNIGRldmljZSBub2RlLiAgVGhpcworICog bWVhbnMgdGhhdCB0b29scyBsaWtlIHZhbGdyaW5kIGVuZCB1cCBrbm93aW5nIGFib3V0IHRoZSBt YXBwZWQKKyAqIG1lbW9yeS4KKyAqCisgKiBUaGVyZSBhcmUgY3VycmVudGx5IG5vIHZhbHVlcyBm b3IgdGhlIGZsYWdzIGFyZ3VtZW50LCBidXQgaXQgbWF5IGJlCisgKiB1c2VkIGluIGEgZnV0dXJl IGV4dGVuc2lvbi4KKyAqLworc3RydWN0IGRybV92M2RfbW1hcF9ibyB7CisJLyoqIEhhbmRsZSBm b3IgdGhlIG9iamVjdCBiZWluZyBtYXBwZWQuICovCisJX191MzIgaGFuZGxlOworCV9fdTMyIGZs YWdzOworCS8qKiBvZmZzZXQgaW50byB0aGUgZHJtIG5vZGUgdG8gdXNlIGZvciBzdWJzZXF1ZW50 IG1tYXAgY2FsbC4gKi8KKwlfX3U2NCBvZmZzZXQ7Cit9OworCitlbnVtIGRybV92M2RfcGFyYW0g eworCURSTV9WM0RfUEFSQU1fVjNEX1VJRkNGRywKKwlEUk1fVjNEX1BBUkFNX1YzRF9IVUJfSURF TlQxLAorCURSTV9WM0RfUEFSQU1fVjNEX0hVQl9JREVOVDIsCisJRFJNX1YzRF9QQVJBTV9WM0Rf SFVCX0lERU5UMywKKwlEUk1fVjNEX1BBUkFNX1YzRF9DT1JFMF9JREVOVDAsCisJRFJNX1YzRF9Q QVJBTV9WM0RfQ09SRTBfSURFTlQxLAorCURSTV9WM0RfUEFSQU1fVjNEX0NPUkUwX0lERU5UMiwK K307CisKK3N0cnVjdCBkcm1fdjNkX2dldF9wYXJhbSB7CisJX191MzIgcGFyYW07CisJX191MzIg cGFkOworCV9fdTY0IHZhbHVlOworfTsKKworLyoqCisgKiBSZXR1cm5zIHRoZSBvZmZzZXQgZm9y IHRoZSBCTyBpbiB0aGUgVjNEIGFkZHJlc3Mgc3BhY2UgZm9yIHRoaXMgRFJNIGZkLgorICogVGhp cyBpcyB0aGUgc2FtZSB2YWx1ZSByZXR1cm5lZCBieSBkcm1fdjNkX2NyZWF0ZV9ibywgaWYgdGhh dCB3YXMgY2FsbGVkCisgKiBmcm9tIHRoaXMgRFJNIGZkLgorICovCitzdHJ1Y3QgZHJtX3YzZF9n ZXRfYm9fb2Zmc2V0IHsKKwlfX3UzMiBoYW5kbGU7CisJX191MzIgb2Zmc2V0OworfTsKKworI2lm IGRlZmluZWQoX19jcGx1c3BsdXMpCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9WM0RfRFJNX0hf ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL3ZjNF9kcm0uaCBiL2luY2x1ZGUvZHJt LXVhcGkvdmM0X2RybS5oCmluZGV4IDQxMTcxMTdiNDIwNC4uMzFmNTBkZTM5YWNiIDEwMDY0NAot LS0gYS9pbmNsdWRlL2RybS11YXBpL3ZjNF9kcm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBpL3Zj NF9kcm0uaApAQCAtMTgzLDEwICsxODMsMTcgQEAgc3RydWN0IGRybV92YzRfc3VibWl0X2NsIHsK IAkvKiBJRCBvZiB0aGUgcGVyZm1vbiB0byBhdHRhY2ggdG8gdGhpcyBqb2IuIDAgbWVhbnMgbm8g cGVyZm1vbi4gKi8KIAlfX3UzMiBwZXJmbW9uaWQ7CiAKLQkvKiBVbnVzZWQgZmllbGQgdG8gYWxp Z24gdGhpcyBzdHJ1Y3Qgb24gNjQgYml0cy4gTXVzdCBiZSBzZXQgdG8gMC4KLQkgKiBJZiBvbmUg ZXZlciBuZWVkcyB0byBhZGQgYW4gdTMyIGZpZWxkIHRvIHRoaXMgc3RydWN0LCB0aGlzIGZpZWxk Ci0JICogY2FuIGJlIHVzZWQuCisJLyogU3luY29iaiBoYW5kbGUgdG8gd2FpdCBvbi4gSWYgc2V0 LCBwcm9jZXNzaW5nIG9mIHRoaXMgcmVuZGVyIGpvYgorCSAqIHdpbGwgbm90IHN0YXJ0IHVudGls IHRoZSBzeW5jb2JqIGlzIHNpZ25hbGVkLiAwIG1lYW5zIGlnbm9yZS4KIAkgKi8KKwlfX3UzMiBp bl9zeW5jOworCisJLyogU3luY29iaiBoYW5kbGUgdG8gZXhwb3J0IGZlbmNlIHRvLiBJZiBzZXQs IHRoZSBmZW5jZSBpbiB0aGUgc3luY29iagorCSAqIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIGZl bmNlIHRoYXQgc2lnbmFscyB1cG9uIGNvbXBsZXRpb24gb2YgdGhpcworCSAqIHJlbmRlciBqb2Iu IDAgbWVhbnMgaWdub3JlLgorCSAqLworCV9fdTMyIG91dF9zeW5jOworCiAJX191MzIgcGFkMjsK IH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtLXVhcGkvdmlydGdwdV9kcm0uaCBiL2luY2x1 ZGUvZHJtLXVhcGkvdmlydGdwdV9kcm0uaAppbmRleCA5MWEzMWZmZWQ4MjguLjlhNzgxZjA2MTFk ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0tdWFwaS92aXJ0Z3B1X2RybS5oCisrKyBiL2luY2x1 ZGUvZHJtLXVhcGkvdmlydGdwdV9kcm0uaApAQCAtNjMsNiArNjMsNyBAQCBzdHJ1Y3QgZHJtX3Zp cnRncHVfZXhlY2J1ZmZlciB7CiB9OwogCiAjZGVmaW5lIFZJUlRHUFVfUEFSQU1fM0RfRkVBVFVS RVMgMSAvKiBkbyB3ZSBoYXZlIDNEIGZlYXR1cmVzIGluIHRoZSBodyAqLworI2RlZmluZSBWSVJU R1BVX1BBUkFNX0NBUFNFVF9RVUVSWV9GSVggMiAvKiBkbyB3ZSBoYXZlIHRoZSBjYXBzZXQgZml4 ICovCiAKIHN0cnVjdCBkcm1fdmlydGdwdV9nZXRwYXJhbSB7CiAJX191NjQgcGFyYW07CmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS11YXBpL3Ztd2dmeF9kcm0uaCBiL2luY2x1ZGUvZHJtLXVhcGkv dm13Z2Z4X2RybS5oCmluZGV4IDBiYzc4NGY1ZTBkYi4uMzk5ZjU4MzE3Y2ZmIDEwMDY0NAotLS0g YS9pbmNsdWRlL2RybS11YXBpL3Ztd2dmeF9kcm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBpL3Zt d2dmeF9kcm0uaApAQCAtNDAsNiArNDAsNyBAQCBleHRlcm4gIkMiIHsKIAogI2RlZmluZSBEUk1f Vk1XX0dFVF9QQVJBTSAgICAgICAgICAgIDAKICNkZWZpbmUgRFJNX1ZNV19BTExPQ19ETUFCVUYg ICAgICAgICAxCisjZGVmaW5lIERSTV9WTVdfQUxMT0NfQk8gICAgICAgICAgICAgMQogI2RlZmlu ZSBEUk1fVk1XX1VOUkVGX0RNQUJVRiAgICAgICAgIDIKICNkZWZpbmUgRFJNX1ZNV19IQU5ETEVf Q0xPU0UgICAgICAgICAyCiAjZGVmaW5lIERSTV9WTVdfQ1VSU09SX0JZUEFTUyAgICAgICAgMwpA QCAtNjgsNiArNjksOCBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX1ZNV19HQl9TVVJGQUNF X1JFRiAgICAgICAyNAogI2RlZmluZSBEUk1fVk1XX1NZTkNDUFUgICAgICAgICAgICAgIDI1CiAj ZGVmaW5lIERSTV9WTVdfQ1JFQVRFX0VYVEVOREVEX0NPTlRFWFQgMjYKKyNkZWZpbmUgRFJNX1ZN V19HQl9TVVJGQUNFX0NSRUFURV9FWFQgICAyNworI2RlZmluZSBEUk1fVk1XX0dCX1NVUkZBQ0Vf UkVGX0VYVCAgICAgIDI4CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyoqCkBAIC03OSw2ICs4Miw5 IEBAIGV4dGVybiAiQyIgewogICoKICAqIERSTV9WTVdfUEFSQU1fT1ZFUkxBWV9JT0NUTDoKICAq IERvZXMgdGhlIGRyaXZlciBzdXBwb3J0IHRoZSBvdmVybGF5IGlvY3RsLgorICoKKyAqIERSTV9W TVdfUEFSQU1fU000XzEKKyAqIFNNNF8xIHN1cHBvcnQgaXMgZW5hYmxlZC4KICAqLwogCiAjZGVm aW5lIERSTV9WTVdfUEFSQU1fTlVNX1NUUkVBTVMgICAgICAwCkBAIC05NCw2ICsxMDAsOCBAQCBl eHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX1ZNV19QQVJBTV9NQVhfTU9CX1NJWkUgICAgIDEwCiAj ZGVmaW5lIERSTV9WTVdfUEFSQU1fU0NSRUVOX1RBUkdFVCAgICAxMQogI2RlZmluZSBEUk1fVk1X X1BBUkFNX0RYICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgRFJNX1ZNV19QQVJBTV9IV19DQVBT MiAgICAgICAgIDEzCisjZGVmaW5lIERSTV9WTVdfUEFSQU1fU000XzEgICAgICAgICAgICAxNAog CiAvKioKICAqIGVudW0gZHJtX3Ztd19oYW5kbGVfdHlwZSAtIGhhbmRsZSB0eXBlIGZvciByZWYg aW9jdGxzCkBAIC0zNTYsOSArMzY0LDkgQEAgc3RydWN0IGRybV92bXdfZmVuY2VfcmVwIHsKIAog LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKiovCiAvKioKLSAqIERSTV9WTVdfQUxMT0NfRE1BQlVGCisgKiBEUk1f Vk1XX0FMTE9DX0JPCiAgKgotICogQWxsb2NhdGUgYSBETUEgYnVmZmVyIHRoYXQgaXMgdmlzaWJs ZSBhbHNvIHRvIHRoZSBob3N0LgorICogQWxsb2NhdGUgYSBidWZmZXIgb2JqZWN0IHRoYXQgaXMg dmlzaWJsZSBhbHNvIHRvIHRoZSBob3N0LgogICogTk9URTogVGhlIGJ1ZmZlciBpcwogICogaWRl bnRpZmllZCBieSBhIGhhbmRsZSBhbmQgYW4gb2Zmc2V0LCB3aGljaCBhcmUgcHJpdmF0ZSB0byB0 aGUgZ3Vlc3QsIGJ1dAogICogdXNlYWJsZSBpbiB0aGUgY29tbWFuZCBzdHJlYW0uIFRoZSBndWVz dCBrZXJuZWwgbWF5IHRyYW5zbGF0ZSB0aGVzZQpAQCAtMzY2LDI3ICszNzQsMjggQEAgc3RydWN0 IGRybV92bXdfZmVuY2VfcmVwIHsKICAqIGJlIHplcm8gYXQgYWxsIHRpbWVzLCBvciBpdCBtYXkg ZGlzYXBwZWFyIGZyb20gdGhlIGludGVyZmFjZSBiZWZvcmUgaXQgaXMKICAqIGZpeGVkLgogICoK LSAqIFRoZSBETUEgYnVmZmVyIG1heSBzdGF5IHVzZXItc3BhY2UgbWFwcGVkIGluIHRoZSBndWVz dCBhdCBhbGwgdGltZXMsCisgKiBUaGUgYnVmZmVyIG9iamVjdCBtYXkgc3RheSB1c2VyLXNwYWNl IG1hcHBlZCBpbiB0aGUgZ3Vlc3QgYXQgYWxsIHRpbWVzLAogICogYW5kIGlzIHRodXMgc3VpdGFi bGUgZm9yIHN1Yi1hbGxvY2F0aW9uLgogICoKLSAqIERNQSBidWZmZXJzIGFyZSBtYXBwZWQgdXNp bmcgdGhlIG1tYXAoKSBzeXNjYWxsIG9uIHRoZSBkcm0gZGV2aWNlLgorICogQnVmZmVyIG9iamVj dHMgYXJlIG1hcHBlZCB1c2luZyB0aGUgbW1hcCgpIHN5c2NhbGwgb24gdGhlIGRybSBkZXZpY2Uu CiAgKi8KIAogLyoqCi0gKiBzdHJ1Y3QgZHJtX3Ztd19hbGxvY19kbWFidWZfcmVxCisgKiBzdHJ1 Y3QgZHJtX3Ztd19hbGxvY19ib19yZXEKICAqCiAgKiBAc2l6ZTogUmVxdWlyZWQgbWluaW11bSBz aXplIG9mIHRoZSBidWZmZXIuCiAgKgotICogSW5wdXQgZGF0YSB0byB0aGUgRFJNX1ZNV19BTExP Q19ETUFCVUYgSW9jdGwuCisgKiBJbnB1dCBkYXRhIHRvIHRoZSBEUk1fVk1XX0FMTE9DX0JPIElv Y3RsLgogICovCiAKLXN0cnVjdCBkcm1fdm13X2FsbG9jX2RtYWJ1Zl9yZXEgeworc3RydWN0IGRy bV92bXdfYWxsb2NfYm9fcmVxIHsKIAlfX3UzMiBzaXplOwogCV9fdTMyIHBhZDY0OwogfTsKKyNk ZWZpbmUgZHJtX3Ztd19hbGxvY19kbWFidWZfcmVxIGRybV92bXdfYWxsb2NfYm9fcmVxCiAKIC8q KgotICogc3RydWN0IGRybV92bXdfZG1hYnVmX3JlcAorICogc3RydWN0IGRybV92bXdfYm9fcmVw CiAgKgogICogQG1hcF9oYW5kbGU6IE9mZnNldCB0byB1c2UgaW4gdGhlIG1tYXAoKSBjYWxsIHVz ZWQgdG8gbWFwIHRoZSBidWZmZXIuCiAgKiBAaGFuZGxlOiBIYW5kbGUgdW5pcXVlIHRvIHRoaXMg YnVmZmVyLiBVc2VkIGZvciB1bnJlZmVyZW5jaW5nLgpAQCAtMzk1LDUwICs0MDQsMzIgQEAgc3Ry dWN0IGRybV92bXdfYWxsb2NfZG1hYnVmX3JlcSB7CiAgKiBAY3VyX2dtcl9vZmZzZXQ6IE9mZnNl dCB0byB1c2UgaW4gdGhlIGNvbW1hbmQgc3RyZWFtIHdoZW4gdGhpcyBidWZmZXIgaXMKICAqIHJl ZmVyZW5jZWQuIFNlZSBub3RlIGFib3ZlLgogICoKLSAqIE91dHB1dCBkYXRhIGZyb20gdGhlIERS TV9WTVdfQUxMT0NfRE1BQlVGIElvY3RsLgorICogT3V0cHV0IGRhdGEgZnJvbSB0aGUgRFJNX1ZN V19BTExPQ19CTyBJb2N0bC4KICAqLwogCi1zdHJ1Y3QgZHJtX3Ztd19kbWFidWZfcmVwIHsKK3N0 cnVjdCBkcm1fdm13X2JvX3JlcCB7CiAJX191NjQgbWFwX2hhbmRsZTsKIAlfX3UzMiBoYW5kbGU7 CiAJX191MzIgY3VyX2dtcl9pZDsKIAlfX3UzMiBjdXJfZ21yX29mZnNldDsKIAlfX3UzMiBwYWQ2 NDsKIH07CisjZGVmaW5lIGRybV92bXdfZG1hYnVmX3JlcCBkcm1fdm13X2JvX3JlcAogCiAvKioK LSAqIHVuaW9uIGRybV92bXdfZG1hYnVmX2FyZworICogdW5pb24gZHJtX3Ztd19hbGxvY19ib19h cmcKICAqCiAgKiBAcmVxOiBJbnB1dCBkYXRhIGFzIGRlc2NyaWJlZCBhYm92ZS4KICAqIEByZXA6 IE91dHB1dCBkYXRhIGFzIGRlc2NyaWJlZCBhYm92ZS4KICAqCi0gKiBBcmd1bWVudCB0byB0aGUg RFJNX1ZNV19BTExPQ19ETUFCVUYgSW9jdGwuCisgKiBBcmd1bWVudCB0byB0aGUgRFJNX1ZNV19B TExPQ19CTyBJb2N0bC4KICAqLwogCi11bmlvbiBkcm1fdm13X2FsbG9jX2RtYWJ1Zl9hcmcgewot CXN0cnVjdCBkcm1fdm13X2FsbG9jX2RtYWJ1Zl9yZXEgcmVxOwotCXN0cnVjdCBkcm1fdm13X2Rt YWJ1Zl9yZXAgcmVwOwotfTsKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKioKLSAqIERSTV9WTVdf VU5SRUZfRE1BQlVGIC0gRnJlZSBhIERNQSBidWZmZXIuCi0gKgotICovCi0KLS8qKgotICogc3Ry dWN0IGRybV92bXdfdW5yZWZfZG1hYnVmX2FyZwotICoKLSAqIEBoYW5kbGU6IEhhbmRsZSBpbmRp Y2F0aW5nIHdoYXQgYnVmZmVyIHRvIGZyZWUuIE9idGFpbmVkIGZyb20gdGhlCi0gKiBEUk1fVk1X X0FMTE9DX0RNQUJVRiBJb2N0bC4KLSAqCi0gKiBBcmd1bWVudCB0byB0aGUgRFJNX1ZNV19VTlJF Rl9ETUFCVUYgSW9jdGwuCi0gKi8KLQotc3RydWN0IGRybV92bXdfdW5yZWZfZG1hYnVmX2FyZyB7 Ci0JX191MzIgaGFuZGxlOwotCV9fdTMyIHBhZDY0OwordW5pb24gZHJtX3Ztd19hbGxvY19ib19h cmcgeworCXN0cnVjdCBkcm1fdm13X2FsbG9jX2JvX3JlcSByZXE7CisJc3RydWN0IGRybV92bXdf Ym9fcmVwIHJlcDsKIH07CisjZGVmaW5lIGRybV92bXdfYWxsb2NfZG1hYnVmX2FyZyBkcm1fdm13 X2FsbG9jX2JvX2FyZwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qKgpAQCAtMTEwMyw5ICsxMDk0 LDggQEAgdW5pb24gZHJtX3Ztd19leHRlbmRlZF9jb250ZXh0X2FyZyB7CiAgKiBEUk1fVk1XX0hB TkRMRV9DTE9TRSAtIENsb3NlIGEgdXNlci1zcGFjZSBoYW5kbGUgYW5kIHJlbGVhc2UgaXRzCiAg KiB1bmRlcmx5aW5nIHJlc291cmNlLgogICoKLSAqIE5vdGUgdGhhdCB0aGlzIGlvY3RsIGlzIG92 ZXJsYWlkIG9uIHRoZSBEUk1fVk1XX1VOUkVGX0RNQUJVRiBJb2N0bC4KLSAqIFRoZSBpb2N0bCBh cmd1bWVudHMgdGhlcmVmb3JlIG5lZWQgdG8gYmUgaWRlbnRpY2FsIGluIGxheW91dC4KLSAqCisg KiBOb3RlIHRoYXQgdGhpcyBpb2N0bCBpcyBvdmVybGFpZCBvbiB0aGUgZGVwcmVjYXRlZCBEUk1f Vk1XX1VOUkVGX0RNQUJVRgorICogSW9jdGwuCiAgKi8KIAogLyoqCkBAIC0xMTE5LDcgKzExMDks MTA3IEBAIHN0cnVjdCBkcm1fdm13X2hhbmRsZV9jbG9zZV9hcmcgewogCV9fdTMyIGhhbmRsZTsK IAlfX3UzMiBwYWQ2NDsKIH07CisjZGVmaW5lIGRybV92bXdfdW5yZWZfZG1hYnVmX2FyZyBkcm1f dm13X2hhbmRsZV9jbG9zZV9hcmcKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAqIERSTV9W TVdfR0JfU1VSRkFDRV9DUkVBVEVfRVhUIC0gQ3JlYXRlIGEgaG9zdCBndWVzdC1iYWNrZWQgc3Vy ZmFjZS4KKyAqCisgKiBBbGxvY2F0ZXMgYSBzdXJmYWNlIGhhbmRsZSBhbmQgcXVldWVzIGEgY3Jl YXRlIHN1cmZhY2UgY29tbWFuZAorICogZm9yIHRoZSBob3N0IG9uIHRoZSBmaXJzdCB1c2Ugb2Yg dGhlIHN1cmZhY2UuIFRoZSBzdXJmYWNlIElEIGNhbgorICogYmUgdXNlZCBhcyB0aGUgc3VyZmFj ZSBJRCBpbiBjb21tYW5kcyByZWZlcmVuY2luZyB0aGUgc3VyZmFjZS4KKyAqCisgKiBUaGlzIG5l dyBjb21tYW5kIGV4dGVuZHMgRFJNX1ZNV19HQl9TVVJGQUNFX0NSRUFURSBieSBhZGRpbmcgdmVy c2lvbgorICogcGFyYW1ldGVyIGFuZCA2NCBiaXQgc3ZnYSBmbGFnLgorICovCisKKy8qKgorICog ZW51bSBkcm1fdm13X3N1cmZhY2VfdmVyc2lvbgorICoKKyAqIEBkcm1fdm13X3N1cmZhY2VfZ2Jf djE6IENvcnJlc3BvbmRzIHRvIGN1cnJlbnQgZ2Igc3VyZmFjZSBmb3JtYXQgd2l0aAorICogc3Zn YTNkIHN1cmZhY2UgZmxhZ3Mgc3BsaXQgaW50byAyLCB1cHBlciBoYWxmIGFuZCBsb3dlciBoYWxm LgorICovCitlbnVtIGRybV92bXdfc3VyZmFjZV92ZXJzaW9uIHsKKwlkcm1fdm13X2diX3N1cmZh Y2VfdjEKK307CisKKy8qKgorICogc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfZXh0 X3JlcQorICoKKyAqIEBiYXNlOiBTdXJmYWNlIGNyZWF0ZSBwYXJhbWV0ZXJzLgorICogQHZlcnNp b246IFZlcnNpb24gb2Ygc3VyZmFjZSBjcmVhdGUgaW9jdGwuCisgKiBAc3ZnYTNkX2ZsYWdzX3Vw cGVyXzMyX2JpdHM6IFVwcGVyIDMyIGJpdHMgb2Ygc3ZnYTNkIGZsYWdzLgorICogQG11bHRpc2Ft cGxlX3BhdHRlcm46IE11bHRpc2FtcGxpbmcgcGF0dGVybiB3aGVuIG1zYWEgaXMgc3VwcG9ydGVk LgorICogQHF1YWxpdHlfbGV2ZWw6IFByZWNpc2lvbiBzZXR0aW5ncyBmb3IgZWFjaCBzYW1wbGUu CisgKiBAbXVzdF9iZV96ZXJvOiBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzYWdlLgorICoKKyAqIElu cHV0IGFyZ3VtZW50IHRvIHRoZSAgRFJNX1ZNV19HQl9TVVJGQUNFX0NSRUFURV9FWFQgSW9jdGwu CisgKiBQYXJ0IG9mIG91dHB1dCBhcmd1bWVudCBmb3IgdGhlIERSTV9WTVdfR0JfU1VSRkFDRV9S RUZfRVhUIElvY3RsLgorICovCitzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2NyZWF0ZV9leHRf cmVxIHsKKwlzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2NyZWF0ZV9yZXEgYmFzZTsKKwllbnVt IGRybV92bXdfc3VyZmFjZV92ZXJzaW9uIHZlcnNpb247CisJdWludDMyX3Qgc3ZnYTNkX2ZsYWdz X3VwcGVyXzMyX2JpdHM7CisJU1ZHQTNkTVNQYXR0ZXJuIG11bHRpc2FtcGxlX3BhdHRlcm47CisJ U1ZHQTNkTVNRdWFsaXR5TGV2ZWwgcXVhbGl0eV9sZXZlbDsKKwl1aW50NjRfdCBtdXN0X2JlX3pl cm87Cit9OworCisvKioKKyAqIHVuaW9uIGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfZXh0X2Fy ZworICoKKyAqIEByZXE6IElucHV0IGFyZ3VtZW50IGFzIGRlc2NyaWJlZCBhYm92ZS4KKyAqIEBy ZXA6IE91dHB1dCBhcmd1bWVudCBhcyBkZXNjcmliZWQgYWJvdmUuCisgKgorICogQXJndW1lbnQg dG8gdGhlIERSTV9WTVdfR0JfU1VSRkFDRV9DUkVBVEVfRVhUIGlvY3RsLgorICovCit1bmlvbiBk cm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX2V4dF9hcmcgeworCXN0cnVjdCBkcm1fdm13X2diX3N1 cmZhY2VfY3JlYXRlX3JlcCByZXA7CisJc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVf ZXh0X3JlcSByZXE7Cit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogRFJNX1ZNV19H Ql9TVVJGQUNFX1JFRl9FWFQgLSBSZWZlcmVuY2UgYSBob3N0IHN1cmZhY2UuCisgKgorICogUHV0 cyBhIHJlZmVyZW5jZSBvbiBhIGhvc3Qgc3VyZmFjZSB3aXRoIGEgZ2l2ZW4gaGFuZGxlLCBhcyBw cmV2aW91c2x5CisgKiByZXR1cm5lZCBieSB0aGUgRFJNX1ZNV19HQl9TVVJGQUNFX0NSRUFURV9F WFQgaW9jdGwuCisgKiBBIHJlZmVyZW5jZSB3aWxsIG1ha2Ugc3VyZSB0aGUgc3VyZmFjZSBpc24n dCBkZXN0cm95ZWQgd2hpbGUgd2UgaG9sZAorICogaXQgYW5kIHdpbGwgYWxsb3cgdGhlIGNhbGxp bmcgY2xpZW50IHRvIHVzZSB0aGUgc3VyZmFjZSBoYW5kbGUgaW4KKyAqIHRoZSBjb21tYW5kIHN0 cmVhbS4KKyAqCisgKiBPbiBzdWNjZXNzZnVsIHJldHVybiwgdGhlIElvY3RsIHJldHVybnMgdGhl IHN1cmZhY2UgaW5mb3JtYXRpb24gZ2l2ZW4KKyAqIHRvIGFuZCByZXR1cm5lZCBmcm9tIHRoZSBE Uk1fVk1XX0dCX1NVUkZBQ0VfQ1JFQVRFX0VYVCBpb2N0bC4KKyAqLwogCisvKioKKyAqIHN0cnVj dCBkcm1fdm13X2diX3N1cmZhY2VfcmVmX2V4dF9yZXAKKyAqCisgKiBAY3JlcTogVGhlIGRhdGEg dXNlZCBhcyBpbnB1dCB3aGVuIHRoZSBzdXJmYWNlIHdhcyBjcmVhdGVkLCBhcyBkZXNjcmliZWQK KyAqICAgICAgICBhYm92ZSBhdCAic3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfZXh0 X3JlcSIKKyAqIEBjcmVwOiBBZGRpdGlvbmFsIGRhdGEgb3V0cHV0IHdoZW4gdGhlIHN1cmZhY2Ug d2FzIGNyZWF0ZWQsIGFzIGRlc2NyaWJlZAorICogICAgICAgIGFib3ZlIGF0ICJzdHJ1Y3QgZHJt X3Ztd19nYl9zdXJmYWNlX2NyZWF0ZV9yZXAiCisgKgorICogT3V0cHV0IEFyZ3VtZW50IHRvIHRo ZSBEUk1fVk1XX0dCX1NVUkZBQ0VfUkVGX0VYVCBpb2N0bC4KKyAqLworc3RydWN0IGRybV92bXdf Z2Jfc3VyZmFjZV9yZWZfZXh0X3JlcCB7CisJc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVh dGVfZXh0X3JlcSBjcmVxOworCXN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcCBj cmVwOworfTsKKworLyoqCisgKiB1bmlvbiBkcm1fdm13X2diX3N1cmZhY2VfcmVmZXJlbmNlX2V4 dF9hcmcKKyAqCisgKiBAcmVxOiBJbnB1dCBkYXRhIGFzIGRlc2NyaWJlZCBhYm92ZSBhdCAic3Ry dWN0IGRybV92bXdfc3VyZmFjZV9hcmciCisgKiBAcmVwOiBPdXRwdXQgZGF0YSBhcyBkZXNjcmli ZWQgYWJvdmUgYXQKKyAqICAgICAgICJzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX3JlZl9leHRf cmVwIgorICoKKyAqIEFyZ3VtZW50IHRvIHRoZSBEUk1fVk1XX0dCX1NVUkZBQ0VfUkVGIElvY3Rs LgorICovCit1bmlvbiBkcm1fdm13X2diX3N1cmZhY2VfcmVmZXJlbmNlX2V4dF9hcmcgeworCXN0 cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfcmVmX2V4dF9yZXAgcmVwOworCXN0cnVjdCBkcm1fdm13 X3N1cmZhY2VfYXJnIHJlcTsKK307CiAKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQogfQotLSAK Mi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK