From: marko.makela Date: May 18 2012 5:25am Subject: bzr push into mysql-trunk-wl6255 branch (marko.makela:3840 to 3843) List-Archive: http://lists.mysql.com/commits/143845 Message-Id: <201205180525.q4I5Phmo031887@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM4NDMgTWFya28gTcOka2Vsw6QJMjAxMi0wNS0xNwogICAgICBidHJfY3VyX2FkZF9wYXRoX2lu Zm8oKTogQWRkIGNvbnN0IHF1YWxpZmllcnMuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2Uv aW5ub2Jhc2UvYnRyL2J0cjBjdXIuY2MKIDM4NDIgTWFya28gTcOka2Vsw6QJMjAxMi0wNS0xNwog ICAgICBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uIHJvd191cGRfY2hhbmdlc19mdHNfY29sdW1ucygp LgoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MHVwZC5o CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzB1cGQuY2MKIDM4NDEgTWFya28gTcOka2Vs w6QJMjAxMi0wNS0xNwogICAgICBXTCM2MjU1IG9wdGltaXphdGlvbjogUmVtb3ZlIGR1cGxpY2F0 ZSByZWNfZ2V0X29mZnNldHMoKSBjYWxsLgogICAgICAKICAgICAgdHJ4X3VuZG9fcmVwb3J0X3Jv d19vcGVyYXRpb24oKTogQWRkIHRoZSBwYXJhbWV0ZXIgb2Zmc2V0cy4KCiAgICBtb2RpZmllZDoK ICAgICAgc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMGN1ci5jYwogICAgICBzdG9yYWdlL2lubm9i YXNlL2luY2x1ZGUvdHJ4MHJlYy5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDByZWMu Y2MKIDM4NDAgTWFya28gTcOka2Vsw6QJMjAxMi0wNS0xNgogICAgICByb3dfbG9nX2FwcGx5KCk6 IEFzc2VydCB0aGF0IHRoZSBpbmRleCBpcyBhIHNlY29uZGFyeSBpbmRleC4KCiAgICBtb2RpZmll ZDoKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzBsb2cuaAogICAgICBzdG9yYWdl L2lubm9iYXNlL3Jvdy9yb3cwbG9nLmNjCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9i YXNlL2J0ci9idHIwY3VyLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2J0ci9idHIwY3VyLmNj CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNTE2MTM1NzI4LWE0cGFhcGhpZnNw ZWJveDcKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMGN1ci5jYwlyZXZpZDptYXJrby5t YWtlbGFAb3JhY2xlLmNvbS0yMDEyMDUxNzIwNDEzMy15MG1tZjJ6eXFhcDA1dnQ5CkBAIC0xMTM5 LDcgKzExMzksNyBAQCBidHJfY3VyX2luc19sb2NrX2FuZF91bmRvKAogCiAJZXJyID0gdHJ4X3Vu ZG9fcmVwb3J0X3Jvd19vcGVyYXRpb24oZmxhZ3MsIFRSWF9VTkRPX0lOU0VSVF9PUCwKIAkJCQkJ ICAgIHRociwgaW5kZXgsIGVudHJ5LAotCQkJCQkgICAgTlVMTCwgMCwgTlVMTCwKKwkJCQkJICAg IE5VTEwsIDAsIE5VTEwsIE5VTEwsCiAJCQkJCSAgICAmcm9sbF9wdHIpOwogCWlmIChlcnIgIT0g REJfU1VDQ0VTUykgewogCkBAIC0xNjI2LDIzICsxNjI2LDE5IEBAIGJ0cl9jdXJfdXBkX2xvY2tf YW5kX3VuZG8oCiAJLyogQ2hlY2sgaWYgd2UgaGF2ZSB0byB3YWl0IGZvciBhIGxvY2s6IGVucXVl dWUgYW4gZXhwbGljaXQgbG9jawogCXJlcXVlc3QgaWYgeWVzICovCiAKLQllcnIgPSBEQl9TVUND RVNTOworCW1lbV9oZWFwX3QqCWhlYXAJCT0gTlVMTDsKKwl1bGludAkJb2Zmc2V0c19bUkVDX09G RlNfTk9STUFMX1NJWkVdOworCXVsaW50KgkJb2Zmc2V0czsKKwlyZWNfb2Zmc19pbml0KG9mZnNl dHNfKTsKKwlvZmZzZXRzID0gcmVjX2dldF9vZmZzZXRzKHJlYywgaW5kZXgsIG9mZnNldHNfLAor CQkJCSAgVUxJTlRfVU5ERUZJTkVELCAmaGVhcCk7CiAKIAlpZiAoIShmbGFncyAmIEJUUl9OT19M T0NLSU5HX0ZMQUcpKSB7Ci0JCW1lbV9oZWFwX3QqCWhlYXAJCT0gTlVMTDsKLQkJdWxpbnQJCW9m ZnNldHNfW1JFQ19PRkZTX05PUk1BTF9TSVpFXTsKLQkJcmVjX29mZnNfaW5pdChvZmZzZXRzXyk7 Ci0KIAkJZXJyID0gbG9ja19jbHVzdF9yZWNfbW9kaWZ5X2NoZWNrX2FuZF9sb2NrKAogCQkJZmxh Z3MsIGJ0cl9jdXJfZ2V0X2Jsb2NrKGN1cnNvciksIHJlYywgaW5kZXgsCi0JCQlyZWNfZ2V0X29m ZnNldHMocmVjLCBpbmRleCwgb2Zmc2V0c18sCi0JCQkJCVVMSU5UX1VOREVGSU5FRCwgJmhlYXAp LCB0aHIpOwotCQlpZiAoVU5JVl9MSUtFTFlfTlVMTChoZWFwKSkgewotCQkJbWVtX2hlYXBfZnJl ZShoZWFwKTsKLQkJfQorCQkJb2Zmc2V0cywgdGhyKTsKIAkJaWYgKGVyciAhPSBEQl9TVUNDRVNT KSB7Ci0KLQkJCXJldHVybihlcnIpOworCQkJZ290byBmdW5jX2V4aXQ7CiAJCX0KIAl9CiAKQEAg LTE2NTAsNyArMTY0NiwxMiBAQCBidHJfY3VyX3VwZF9sb2NrX2FuZF91bmRvKAogCiAJZXJyID0g dHJ4X3VuZG9fcmVwb3J0X3Jvd19vcGVyYXRpb24oZmxhZ3MsIFRSWF9VTkRPX01PRElGWV9PUCwg dGhyLAogCQkJCQkgICAgaW5kZXgsIE5VTEwsIHVwZGF0ZSwKLQkJCQkJICAgIGNtcGxfaW5mbywg cmVjLCByb2xsX3B0cik7CisJCQkJCSAgICBjbXBsX2luZm8sIHJlYywgb2Zmc2V0cywgcm9sbF9w dHIpOworZnVuY19leGl0OgorCWlmIChVTklWX0xJS0VMWV9OVUxMKGhlYXApKSB7CisJCW1lbV9o ZWFwX2ZyZWUoaGVhcCk7CisJfQorCiAJcmV0dXJuKGVycik7CiB9CiAKQEAgLTI3NTAsNyArMjc1 MSw3IEBAIGJ0cl9jdXJfZGVsX21hcmtfc2V0X2NsdXN0X3JlYygKIAl9CiAKIAllcnIgPSB0cnhf dW5kb19yZXBvcnRfcm93X29wZXJhdGlvbigwLCBUUlhfVU5ET19NT0RJRllfT1AsIHRociwKLQkJ CQkJICAgIGluZGV4LCBOVUxMLCBOVUxMLCAwLCByZWMsCisJCQkJCSAgICBpbmRleCwgTlVMTCwg TlVMTCwgMCwgcmVjLCBvZmZzZXRzLAogCQkJCQkgICAgJnJvbGxfcHRyKTsKIAlpZiAoZXJyICE9 IERCX1NVQ0NFU1MpIHsKIApAQCAtMzIzMSw4ICszMjMyLDggQEAgYnRyX2N1cl9hZGRfcGF0aF9p bmZvKAogCXVsaW50CQlyb290X2hlaWdodCkJLyohPCBpbjogcm9vdCBub2RlIGhlaWdodCBpbiB0 cmVlICovCiB7CiAJYnRyX3BhdGhfdCoJc2xvdDsKLQlyZWNfdCoJCXJlYzsKLQlwYWdlX3QqCQlw YWdlOworCWNvbnN0IHJlY190KglyZWM7CisJY29uc3QgcGFnZV90KglwYWdlOwogCiAJdXRfYShj dXJzb3ItPnBhdGhfYXJyKTsKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9yb3cwdXBkLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9yb3cwdXBk LmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA1MTYxMzU3MjgtYTRwYWFwaGlm c3BlYm94NworKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MHVwZC5oCXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNTE3MjA0MTMzLXkwbW1mMnp5cWFwMDV2dDkKQEAg LTMyNSwxOCArMzI1LDYgQEAgcm93X3VwZF9jaGFuZ2VzX2RvY19pZCgKIAl1cGRfZmllbGRfdCoJ dXBkX2ZpZWxkKQkvKiE8IGluOiBmaWVsZCB0byBjaGVjayAqLwogCV9fYXR0cmlidXRlX18oKG5v bm51bGwsIHdhcm5fdW51c2VkX3Jlc3VsdCkpOwogLyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgotQ2hlY2tzIGlmIGFuIHVwZGF0 ZSB2ZWN0b3IgY2hhbmdlcyB0aGUgdGFibGUncyBGVFMtaW5kZXhlZCBjb2x1bW5zLgotTk9URTog bXVzdCBub3QgYmUgY2FsbGVkIGZvciB0YWJsZXMgd2hpY2ggZG8gbm90IGhhdmUgYW4gRlRTLWlu ZGV4LgotQWxzbywgdGhlIHZlY3RvciByZXR1cm5lZCBtdXN0IGJlIGV4cGxpY2l0bHkgZnJlZWQg YXMgaXQncyBhbGxvY2F0ZWQKLXVzaW5nIHRoZSB1dF9tYWxsb2MoKSBhbGxvY2F0b3IuCi1AcmV0 dXJuIHZlY3RvciBvZiBGVFMgaW5kZXhlcyB0aGF0IHdlcmUgYWZmZWN0ZWQgYnkgdGhlIHVwZGF0 ZSBlbHNlIE5VTEwgKi8KLVVOSVZfSU5URVJOCi1pYl92ZWN0b3JfdCoKLXJvd191cGRfY2hhbmdl c19mdHNfY29sdW1ucygKLS8qPT09PT09PT09PT09PT09PT09PT09PT09Ki8KLQlkaWN0X3RhYmxl X3QqCXRhYmxlLAkJLyohPCBpbjogdGFibGUgKi8KLQl1cGRfdCoJCXVwZGF0ZSk7CS8qITwgaW46 IHVwZGF0ZSB2ZWN0b3IgZm9yIHRoZSByb3cgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIENoZWNrcyBpZiBhbiB1cGRh dGUgdmVjdG9yIGNoYW5nZXMgYW4gb3JkZXJpbmcgZmllbGQgb2YgYW4gaW5kZXggcmVjb3JkLgog VGhpcyBmdW5jdGlvbiBpcyBmYXN0IGlmIHRoZSB1cGRhdGUgdmVjdG9yIGlzIHNob3J0IG9yIHRo ZSBudW1iZXIgb2Ygb3JkZXJpbmcKIGZpZWxkcyBpbiB0aGUgaW5kZXggaXMgc21hbGwuIE90aGVy d2lzZSwgdGhpcyBjYW4gYmUgcXVhZHJhdGljLgoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2Uv aW5ub2Jhc2UvaW5jbHVkZS90cngwcmVjLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVk ZS90cngwcmVjLmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA1MTYxMzU3Mjgt YTRwYWFwaGlmc3BlYm94NworKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvdHJ4MHJlYy5o CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNTE3MjA0MTMzLXkwbW1mMnp5cWFw MDV2dDkKQEAgLTIyNywxMSArMjI3LDEyIEBAIHRyeF91bmRvX3JlcG9ydF9yb3dfb3BlcmF0aW9u KAogCWNvbnN0IHJlY190KglyZWMsCQkvKiE8IGluOiBjYXNlIG9mIGFuIHVwZGF0ZSBvciBkZWxl dGUKIAkJCQkJbWFya2luZywgdGhlIHJlY29yZCBpbiB0aGUgY2x1c3RlcmVkCiAJCQkJCWluZGV4 LCBvdGhlcndpc2UgTlVMTCAqLworCWNvbnN0IHVsaW50KglvZmZzZXRzLAkvKiE8IGluOiByZWNf Z2V0X29mZnNldHMocmVjKSAqLwogCXJvbGxfcHRyX3QqCXJvbGxfcHRyKQkvKiE8IG91dDogcm9s bGJhY2sgcG9pbnRlciB0byB0aGUKIAkJCQkJaW5zZXJ0ZWQgdW5kbyBsb2cgcmVjb3JkLAogCQkJ CQkwIGlmIEJUUl9OT19VTkRPX0xPRwogCQkJCQlmbGFnIHdhcyBzcGVjaWZpZWQgKi8KLQlfX2F0 dHJpYnV0ZV9fKChub25udWxsKDMsNCw5KSwgd2Fybl91bnVzZWRfcmVzdWx0KSk7CisJX19hdHRy aWJ1dGVfXygobm9ubnVsbCgzLDQsMTApLCB3YXJuX3VudXNlZF9yZXN1bHQpKTsKIC8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovLyoqCiBDb3BpZXMgYW4gdW5kbyByZWNvcmQgdG8gaGVhcC4gVGhpcyBmdW5jdGlvbiBjYW4g YmUgY2FsbGVkIGlmIHdlIGtub3cgdGhhdAogdGhlIHVuZG8gbG9nIHJlY29yZCBleGlzdHMuCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHVwZC5jYycKLS0tIGEv c3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHVwZC5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xl LmNvbS0yMDEyMDUxNjEzNTcyOC1hNHBhYXBoaWZzcGVib3g3CisrKyBiL3N0b3JhZ2UvaW5ub2Jh c2Uvcm93L3JvdzB1cGQuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA1MTcy MDQxMzMteTBtbWYyenlxYXAwNXZ0OQpAQCAtMTQzMyw2MSArMTQzMyw2IEBAIHJvd191cGRfY2hh bmdlc19mdHNfY29sdW1uKAogfQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCi1DaGVja3MgaWYgYW4gdXBkYXRlIHZlY3Rv ciBjaGFuZ2VzIHRoZSB0YWJsZSdzIEZUUy1pbmRleGVkIGNvbHVtbnMuCi1OT1RFOiBtdXN0IG5v dCBiZSBjYWxsZWQgZm9yIHRhYmxlcyB3aGljaCBkbyBub3QgaGF2ZSBhbiBGVFMtaW5kZXguCi1B bHNvLCB0aGUgdmVjdG9yIHJldHVybmVkIG11c3QgYmUgZXhwbGljaXRseSBmcmVlZCBhcyBpdCdz IGFsbG9jYXRlZAotdXNpbmcgdGhlIHV0X21hbGxvYygpIGFsbG9jYXRvci4KLUByZXR1cm4gdmVj dG9yIG9mIEZUUyBpbmRleGVzIHRoYXQgd2VyZSBhZmZlY3RlZCBieSB0aGUgdXBkYXRlICovCi1V TklWX0lOVEVSTgotaWJfdmVjdG9yX3QqCi1yb3dfdXBkX2NoYW5nZXNfZnRzX2NvbHVtbnMoCi0v Kj09PT09PT09PT09PT09PT09PT09PT09PSovCi0JZGljdF90YWJsZV90Kgl0YWJsZSwJCS8qITwg aW46IHRhYmxlICovCi0JdXBkX3QqCQl1cGRhdGUpCQkvKiE8IGluOiB1cGRhdGUgdmVjdG9yIGZv ciB0aGUgcm93ICovCi17Ci0JdWxpbnQJCWk7Ci0JdWxpbnQJCW9mZnNldDsKLQlmdHNfdCoJCWZ0 cyA9IHRhYmxlLT5mdHM7Ci0JaWJfdmVjdG9yX3QqCXVwZGF0ZWRfZnRzX2luZGV4ZXMgPSBOVUxM OwotCi0JZm9yIChpID0gMDsgaSA8IHVwZF9nZXRfbl9maWVsZHModXBkYXRlKTsgKytpKSB7Ci0J CXVwZF9maWVsZF90Kgl1cGRfZmllbGQgPSB1cGRfZ2V0X250aF9maWVsZCh1cGRhdGUsIGkpOwot Ci0JCW9mZnNldCA9IHJvd191cGRfY2hhbmdlc19mdHNfY29sdW1uKHRhYmxlLCB1cGRfZmllbGQp OwotCi0JCWlmIChvZmZzZXQgIT0gVUxJTlRfVU5ERUZJTkVEKSB7Ci0KLQkJCWRpY3RfaW5kZXhf dCoJaW5kZXg7Ci0KLQkJCS8qIFRPRE86IEludmVzdGlnYXRlIGlmIHdlIGNhbiBjaGVjayB3aGV0 aGVyIHRoZQotCQkJZXhpc3Rpbmcgc2V0IG9mIGFmZmVjdGVkIGluZGV4ZXMgbWF0Y2hlcyB0aGUg bmV3Ci0JCQlhZmZlY3RlZCBzZXQuIElmIG1hdGNoZWQgdGhlbiB3ZSBkb24ndCBuZWVkIHRvCi0J CQlkbyB0aGUgZXh0cmEgbWFsbG9jKCkvZnJlZSgpLiAqLwotCi0JCQkvKiBUaGlzIHZlY3RvciBp cyBjcmVhdGVkIGZyb20gdGhlIHV0X21hbGxvYygpCi0JCQlhbGxvY2F0b3IgYmVjYXVzZSB3ZSBv bmx5IHdhbnQgdG8ga2VlcCBvbmUgaW5zdGFuY2UKLQkJCWFyb3VuZCBub3QgbWF0dGVyIGhvdyBt YW55IHRpbWVzIHRoaXMgcm93IGlzCi0JCQl1cGRhdGVkLiBUaGUgb2xkIGVudHJ5IHNob3VsZCBi ZSBkZWxldGVkIHdoZW4KLQkJCXdlIHVwZGF0ZSB0aGUgRlRTIHJvdyBpbmZvIHdpdGggdGhpcyBu ZXcgdmVjdG9yLiAqLwotCQkJaWYgKHVwZGF0ZWRfZnRzX2luZGV4ZXMgPT0gTlVMTCkgewotCQkJ CWliX2FsbG9jX3QqCXV0X2FsbG9jOwotCi0JCQkJdXRfYWxsb2MgPSBpYl91dF9hbGxvY2F0b3Jf Y3JlYXRlKCk7Ci0KLQkJCQl1cGRhdGVkX2Z0c19pbmRleGVzID0gaWJfdmVjdG9yX2NyZWF0ZSgK LQkJCQkJdXRfYWxsb2MsIHNpemVvZihkaWN0X2luZGV4X3QqKSwgMik7Ci0JCQl9Ci0KLQkJCWlu ZGV4ID0gc3RhdGljX2Nhc3Q8ZGljdF9pbmRleF90Kj4oCi0JCQkJaWJfdmVjdG9yX2dldHAoZnRz LT5pbmRleGVzLCBvZmZzZXQpKTsKLQkJCWliX3ZlY3Rvcl9wdXNoKHVwZGF0ZWRfZnRzX2luZGV4 ZXMsICZpbmRleCk7Ci0JCX0KLQl9Ci0KLQlyZXR1cm4odXBkYXRlZF9mdHNfaW5kZXhlcyk7Ci19 Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKi8vKioKIENoZWNrcyBpZiBhbiB1cGRhdGUgdmVjdG9yIGNoYW5nZXMgc29tZSBvZiB0 aGUgZmlyc3Qgb3JkZXJpbmcgZmllbGRzIG9mIGFuCiBpbmRleCByZWNvcmQuIFRoaXMgaXMgb25s eSB1c2VkIGluIGZvcmVpZ24ga2V5IGNoZWNrcyBhbmQgd2UgY2FuIGFzc3VtZQogdGhhdCBpbmRl eCBkb2VzIG5vdCBjb250YWluIGNvbHVtbiBwcmVmaXhlcy4KCj09PSBtb2RpZmllZCBmaWxlICdz dG9yYWdlL2lubm9iYXNlL3RyeC90cngwcmVjLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL3Ry eC90cngwcmVjLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNTE2MTM1NzI4 LWE0cGFhcGhpZnNwZWJveDcKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MHJlYy5jYwly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDUxNzIwNDEzMy15MG1tZjJ6eXFhcDA1 dnQ5CkBAIC0xMjA1LDYgKzEyMDUsNyBAQCB0cnhfdW5kb19yZXBvcnRfcm93X29wZXJhdGlvbigK IAljb25zdCByZWNfdCoJcmVjLAkJLyohPCBpbjogaW4gY2FzZSBvZiBhbiB1cGRhdGUgb3IgZGVs ZXRlCiAJCQkJCW1hcmtpbmcsIHRoZSByZWNvcmQgaW4gdGhlIGNsdXN0ZXJlZAogCQkJCQlpbmRl eCwgb3RoZXJ3aXNlIE5VTEwgKi8KKwljb25zdCB1bGludCoJb2Zmc2V0cywJLyohPCBpbjogcmVj X2dldF9vZmZzZXRzKHJlYykgKi8KIAlyb2xsX3B0cl90Kglyb2xsX3B0cikJLyohPCBvdXQ6IHJv bGxiYWNrIHBvaW50ZXIgdG8gdGhlCiAJCQkJCWluc2VydGVkIHVuZG8gbG9nIHJlY29yZCwKIAkJ CQkJMCBpZiBCVFJfTk9fVU5ET19MT0cKQEAgLTEyMTcsMTUgKzEyMTgsMTIgQEAgdHJ4X3VuZG9f cmVwb3J0X3Jvd19vcGVyYXRpb24oCiAJdHJ4X3JzZWdfdCoJcnNlZzsKIAltdHJfdAkJbXRyOwog CWRiZXJyX3QJCWVycgkJPSBEQl9TVUNDRVNTOwotCW1lbV9oZWFwX3QqCWhlYXAJCT0gTlVMTDsK LQl1bGludAkJb2Zmc2V0c19bUkVDX09GRlNfTk9STUFMX1NJWkVdOwotCXVsaW50KgkJb2Zmc2V0 cwkJPSBvZmZzZXRzXzsKICNpZmRlZiBVTklWX0RFQlVHCiAJaW50CQlsb29wX2NvdW50CT0gMDsK ICNlbmRpZiAvKiBVTklWX0RFQlVHICovCi0JcmVjX29mZnNfaW5pdChvZmZzZXRzXyk7CiAKIAl1 dF9hKGRpY3RfaW5kZXhfaXNfY2x1c3QoaW5kZXgpKTsKKwl1dF9hZCghcmVjIHx8IHJlY19vZmZz X3ZhbGlkYXRlKHJlYywgaW5kZXgsIG9mZnNldHMpKTsKIAogCWlmIChmbGFncyAmIEJUUl9OT19V TkRPX0xPR19GTEFHKSB7CiAKQEAgLTEyOTEsOCArMTI4OSw2IEBAIHRyeF91bmRvX3JlcG9ydF9y b3dfb3BlcmF0aW9uKAogCQl9CiAKIAkJdXRfYWQoZXJyID09IERCX1NVQ0NFU1MpOwotCQlvZmZz ZXRzID0gcmVjX2dldF9vZmZzZXRzKHJlYywgaW5kZXgsIG9mZnNldHMsCi0JCQkJCSAgVUxJTlRf VU5ERUZJTkVELCAmaGVhcCk7CiAJfQogCiAJcGFnZV9ubyA9IHVuZG8tPmxhc3RfcGFnZV9ubzsK QEAgLTEzNzEsOCArMTM2Nyw3IEBAIHRyeF91bmRvX3JlcG9ydF9yb3dfb3BlcmF0aW9uKAogCQkJ KnJvbGxfcHRyID0gdHJ4X3VuZG9fYnVpbGRfcm9sbF9wdHIoCiAJCQkJb3BfdHlwZSA9PSBUUlhf VU5ET19JTlNFUlRfT1AsCiAJCQkJcnNlZy0+aWQsIHBhZ2Vfbm8sIG9mZnNldCk7Ci0JCQllcnIg PSBEQl9TVUNDRVNTOwotCQkJZ290byBmdW5jX2V4aXQ7CisJCQlyZXR1cm4oREJfU1VDQ0VTUyk7 CiAJCX0KIAogCQl1dF9hZChwYWdlX25vID09IHVuZG8tPmxhc3RfcGFnZV9ubyk7CkBAIC0xMzk5 LDEwICsxMzk0LDYgQEAgdHJ4X3VuZG9fcmVwb3J0X3Jvd19vcGVyYXRpb24oCiBlcnJfZXhpdDoK IAltdXRleF9leGl0KCZ0cngtPnVuZG9fbXV0ZXgpOwogCW10cl9jb21taXQoJm10cik7Ci1mdW5j X2V4aXQ6Ci0JaWYgKFVOSVZfTElLRUxZX05VTEwoaGVhcCkpIHsKLQkJbWVtX2hlYXBfZnJlZSho ZWFwKTsKLQl9CiAJcmV0dXJuKGVycik7CiB9CiAKCk5vIGJ1bmRsZSAocmVhc29uOiB1c2VsZXNz IGZvciBwdXNoIGVtYWlscyku