From: marko.makela Date: May 24 2010 11:45am Subject: bzr commit into mysql-trunk-innodb branch (marko.makela:3114) Bug#53578 List-Archive: http://lists.mysql.com/commits/109046 X-Bug: 53578 Message-Id: <201005241145.o4OB4x5N012715@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1725969640==" --===============1725969640== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vaG9tZS9tYXJrby9pbm5vYmFzZS9kZXYvbXlzcWwyYS81LjUtaW5ub2RiLyBi YXNlZCBvbiByZXZpZDpjYWx2aW4uc3VuQG9yYWNsZS5jb20tMjAxMDA1MjEyMTMwMDkteTM1YWE3 ZXdpOHNpM3NpegoKIDMxMTQgTWFya28gTcOka2Vsw6QJMjAxMC0wNS0yNAogICAgICBNZXJnZSBh IGNoYW5nZSBmcm9tIG15c3FsLTUuMS1pbm5vZGI6CiAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICByZXZubzogMzQ3 OQogICAgICByZXZpc2lvbi1pZDogbWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA1MjQxMTA0 MzktZmF6aTcwcmxtdDA3dHpkOQogICAgICBwYXJlbnQ6IHZhc2lsLmRpbW92QG9yYWNsZS5jb20t MjAxMDA1MjAxMzMxNTctNDJ1azVxM3BwMHZzaW5hYwogICAgICBjb21taXR0ZXI6IE1hcmtvIE3D pGtlbMOkIDxtYXJrby5tYWtlbGFAb3JhY2xlLmNvbT4KICAgICAgYnJhbmNoIG5pY2s6IDUuMS1p bm5vZGIKICAgICAgdGltZXN0YW1wOiBNb24gMjAxMC0wNS0yNCAxNDowNDozOSArMDMwMAogICAg ICBtZXNzYWdlOgogICAgICAgIEJ1ZyM1MzU3ODogYXNzZXJ0IG9uIGludmFsaWQgcGFnZSBhY2Nl c3MsIGluIGZpbF9pbygpCiAgICAgIAogICAgICAgIFN0b3JlIHRoZSBtYXhfc3BhY2VfaWQgaW4g dGhlIGRhdGEgZGljdGlvbmFyeSBoZWFkZXIgaW4gb3JkZXIgdG8gYXZvaWQKICAgICAgICBzcGFj ZV9pZCByZXVzZS4KICAgICAgCiAgICAgICAgRElDVF9IRFJfTUlYX0lEOiBSZW5hbWVkIHRvIERJ Q1RfSERSX01BWF9TUEFDRV9JRCwgRElDVF9IRFJfTUlYX0lEX0xPVy4KICAgICAgCiAgICAgICAg ZGljdF9oZHJfZ2V0X25ld19pZCgpOiBSZXR1cm4gdGFibGVfaWQsIGluZGV4X2lkLCBzcGFjZV9p ZCBvciBhIHN1YnNldCBvZiB0aGVtLgogICAgICAKICAgICAgICBmaWxfc3lzdGVtX3Q6IEFkZCBp Ym9vbCBzcGFjZV9pZF9yZXVzZV93YXJuZWQuCiAgICAgIAogICAgICAgIGZpbF9jcmVhdGVfbmV3 X3NpbmdsZV90YWJsZV90YWJsZXNwYWNlKCk6IEdldCB0aGUgc3BhY2VfaWQgZnJvbSB0aGUgY2Fs bGVyLgogICAgICAKICAgICAgICBmaWxfc3BhY2VfY3JlYXRlKCk6IElzc3VlIGEgd2FybmluZyBp ZiB0aGUgZmlsX3N5c3RlbS0+bWF4X2Fzc2lnbmVkX2lkCiAgICAgICAgaXMgZXhjZWVkZWQuCiAg ICAgIAogICAgICAgIGZpbF9hc3NpZ25fbmV3X3NwYWNlX2lkKCk6IFJldHVybiBUUlVFL0ZBTFNF IGFuZCB0YWtlIGEgcG9pbnRlciB0byB0aGUKICAgICAgICBzcGFjZV9pZCBhcyBhIHBhcmFtZXRl ci4gTWFrZSB0aGUgZnVuY3Rpb24gcHVibGljLgogICAgICAKICAgICAgICBmaWxfaW5pdCgpOiBJ bml0aWFsaXplIGFsbCBmaWxfc3lzdGVtIGZpZWxkcyBieSBtZW1femFsbG9jKCkuIFJlbW92ZQog ICAgICAgIGV4cGxpY2l0IGluaXRpYWxpemF0aW9ucyBvZiBjZXJ0YWluIGZpZWxkcyB0byAwIG9y IE5VTEwuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGJv b3QuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBjcmVhLmMKICAgICAgc3RvcmFn ZS9pbm5vYmFzZS9maWwvZmlsMGZpbC5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9k aWN0MGJvb3QuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZmlsMGZpbC5oCiAgICAg IHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBteXNxbC5jCj09PSBtb2RpZmllZCBmaWxlICdzdG9y YWdlL2lubm9iYXNlL2RpY3QvZGljdDBib290LmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvZGlj dC9kaWN0MGJvb3QuYwlyZXZpZDpjYWx2aW4uc3VuQG9yYWNsZS5jb20tMjAxMDA1MjEyMTMwMDkt eTM1YWE3ZXdpOHNpM3NpegorKysgYi9zdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBib290LmMJ cmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA1MjQxMTQ1MjQtZ2loM3R4ZmYycDly ejRycwpAQCAtNjIsMzIgKzYyLDQ3IEBAIGRpY3RfaGRyX2dldCgKIH0KIAogLyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovLyoqCi1SZXR1cm5zIGEgbmV3IHRhYmxlLCBpbmRleCwgb3IgdHJlZSBpZC4KLUByZXR1cm4J dGhlIG5ldyBpZCAqLworUmV0dXJucyBhIG5ldyB0YWJsZSwgaW5kZXgsIG9yIHNwYWNlIGlkLiAq LwogVU5JVl9JTlRFUk4KLWR1bGludAordm9pZAogZGljdF9oZHJfZ2V0X25ld19pZCgKIC8qPT09 PT09PT09PT09PT09PSovCi0JdWxpbnQJdHlwZSkJLyohPCBpbjogRElDVF9IRFJfUk9XX0lELCAu Li4gKi8KKwlkdWxpbnQqCXRhYmxlX2lkLAkvKiE8IG91dDogdGFibGUgaWQgKG5vdCBhc3NpZ25l ZCBpZiBOVUxMKSAqLworCWR1bGludCoJaW5kZXhfaWQsCS8qITwgb3V0OiBpbmRleCBpZCAobm90 IGFzc2lnbmVkIGlmIE5VTEwpICovCisJdWxpbnQqCXNwYWNlX2lkKQkvKiE8IG91dDogc3BhY2Ug aWQgKG5vdCBhc3NpZ25lZCBpZiBOVUxMKSAqLwogewogCWRpY3RfaGRyX3QqCWRpY3RfaGRyOwog CWR1bGludAkJaWQ7CiAJbXRyX3QJCW10cjsKIAotCXV0X2FkKCh0eXBlID09IERJQ1RfSERSX1RB QkxFX0lEKSB8fCAodHlwZSA9PSBESUNUX0hEUl9JTkRFWF9JRCkpOwotCiAJbXRyX3N0YXJ0KCZt dHIpOwogCiAJZGljdF9oZHIgPSBkaWN0X2hkcl9nZXQoJm10cik7CiAKLQlpZCA9IG10cl9yZWFk X2R1bGludChkaWN0X2hkciArIHR5cGUsICZtdHIpOwotCWlkID0gdXRfZHVsaW50X2FkZChpZCwg MSk7Ci0KLQltbG9nX3dyaXRlX2R1bGludChkaWN0X2hkciArIHR5cGUsIGlkLCAmbXRyKTsKKwlp ZiAodGFibGVfaWQpIHsKKwkJaWQgPSBtdHJfcmVhZF9kdWxpbnQoZGljdF9oZHIgKyBESUNUX0hE Ul9UQUJMRV9JRCwgJm10cik7CisJCWlkID0gdXRfZHVsaW50X2FkZChpZCwgMSk7CisJCW1sb2df d3JpdGVfZHVsaW50KGRpY3RfaGRyICsgRElDVF9IRFJfVEFCTEVfSUQsIGlkLCAmbXRyKTsKKwkJ KnRhYmxlX2lkID0gaWQ7CisJfQorCisJaWYgKGluZGV4X2lkKSB7CisJCWlkID0gbXRyX3JlYWRf ZHVsaW50KGRpY3RfaGRyICsgRElDVF9IRFJfSU5ERVhfSUQsICZtdHIpOworCQlpZCA9IHV0X2R1 bGludF9hZGQoaWQsIDEpOworCQltbG9nX3dyaXRlX2R1bGludChkaWN0X2hkciArIERJQ1RfSERS X0lOREVYX0lELCBpZCwgJm10cik7CisJCSppbmRleF9pZCA9IGlkOworCX0KKworCWlmIChzcGFj ZV9pZCkgeworCQkqc3BhY2VfaWQgPSBtdHJfcmVhZF91bGludChkaWN0X2hkciArIERJQ1RfSERS X01BWF9TUEFDRV9JRCwKKwkJCQkJICAgTUxPR180QllURVMsICZtdHIpOworCQlpZiAoZmlsX2Fz c2lnbl9uZXdfc3BhY2VfaWQoc3BhY2VfaWQpKSB7CisJCQltbG9nX3dyaXRlX3VsaW50KGRpY3Rf aGRyICsgRElDVF9IRFJfTUFYX1NQQUNFX0lELAorCQkJCQkgKnNwYWNlX2lkLCBNTE9HXzRCWVRF UywgJm10cik7CisJCX0KKwl9CiAKIAltdHJfY29tbWl0KCZtdHIpOwotCi0JcmV0dXJuKGlkKTsK IH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovLyoqCkBAIC0xNTEsOSArMTY2LDEyIEBAIGRpY3RfaGRyX2Ny ZWF0ZSgKIAltbG9nX3dyaXRlX2R1bGludChkaWN0X2hlYWRlciArIERJQ1RfSERSX0lOREVYX0lE LAogCQkJICB1dF9kdWxpbnRfY3JlYXRlKDAsIERJQ1RfSERSX0ZJUlNUX0lEKSwgbXRyKTsKIAot CS8qIE9ic29sZXRlLCBidXQgd2UgbXVzdCBpbml0aWFsaXplIGl0IHRvIDAgYW55d2F5LiAqLwot CW1sb2dfd3JpdGVfZHVsaW50KGRpY3RfaGVhZGVyICsgRElDVF9IRFJfTUlYX0lELAotCQkJICB1 dF9kdWxpbnRfY3JlYXRlKDAsIERJQ1RfSERSX0ZJUlNUX0lEKSwgbXRyKTsKKwltbG9nX3dyaXRl X3VsaW50KGRpY3RfaGVhZGVyICsgRElDVF9IRFJfTUFYX1NQQUNFX0lELAorCQkJIDAsIE1MT0df NEJZVEVTLCBtdHIpOworCisJLyogT2Jzb2xldGUsIGJ1dCB3ZSBtdXN0IGluaXRpYWxpemUgaXQg YW55d2F5LiAqLworCW1sb2dfd3JpdGVfdWxpbnQoZGljdF9oZWFkZXIgKyBESUNUX0hEUl9NSVhf SURfTE9XLAorCQkJIERJQ1RfSERSX0ZJUlNUX0lELCBNTE9HXzRCWVRFUywgbXRyKTsKIAogCS8q IENyZWF0ZSB0aGUgQi10cmVlIHJvb3RzIGZvciB0aGUgY2x1c3RlcmVkIGluZGV4ZXMgb2YgdGhl IGJhc2ljCiAJc3lzdGVtIHRhYmxlcyAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5u b2Jhc2UvZGljdC9kaWN0MGNyZWEuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3Qw Y3JlYS5jCXJldmlkOmNhbHZpbi5zdW5Ab3JhY2xlLmNvbS0yMDEwMDUyMTIxMzAwOS15MzVhYTdl d2k4c2kzc2l6CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGNyZWEuYwlyZXZpZDpt YXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEwMDUyNDExNDUyNC1naWgzdHhmZjJwOXJ6NHJzCkBA IC0yMzksMTYgKzIzOSwyMiBAQCBkaWN0X2J1aWxkX3RhYmxlX2RlZl9zdGVwKAogCWNvbnN0IGNo YXIqCXBhdGhfb3JfbmFtZTsKIAlpYm9vbAkJaXNfcGF0aDsKIAltdHJfdAkJbXRyOworCXVsaW50 CQlzcGFjZSA9IDA7CiAKIAl1dF9hZChtdXRleF9vd24oJihkaWN0X3N5cy0+bXV0ZXgpKSk7CiAK IAl0YWJsZSA9IG5vZGUtPnRhYmxlOwogCi0JdGFibGUtPmlkID0gZGljdF9oZHJfZ2V0X25ld19p ZChESUNUX0hEUl9UQUJMRV9JRCk7CisJZGljdF9oZHJfZ2V0X25ld19pZCgmdGFibGUtPmlkLCBO VUxMLAorCQkJICAgIHNydl9maWxlX3Blcl90YWJsZSA/ICZzcGFjZSA6IE5VTEwpOwogCiAJdGhy X2dldF90cngodGhyKS0+dGFibGVfaWQgPSB0YWJsZS0+aWQ7CiAKIAlpZiAoc3J2X2ZpbGVfcGVy X3RhYmxlKSB7CisJCWlmIChVTklWX1VOTElLRUxZKHNwYWNlID09IFVMSU5UX1VOREVGSU5FRCkp IHsKKwkJCXJldHVybihEQl9FUlJPUik7CisJCX0KKwogCQkvKiBXZSBjcmVhdGUgYSBuZXcgc2lu Z2xlLXRhYmxlIHRhYmxlc3BhY2UgZm9yIHRoZSB0YWJsZS4KIAkJV2UgaW5pdGlhbGx5IGxldCBp dCBiZSA0IHBhZ2VzOgogCQktIHBhZ2UgMCBpcyB0aGUgZnNwIGhlYWRlciBhbmQgYW4gZXh0ZW50 IGRlc2NyaXB0b3IgcGFnZSwKQEAgLTI1Nyw4ICsyNjMsNiBAQCBkaWN0X2J1aWxkX3RhYmxlX2Rl Zl9zdGVwKAogCQktIHBhZ2UgMyB3aWxsIGNvbnRhaW4gdGhlIHJvb3Qgb2YgdGhlIGNsdXN0ZXJl ZCBpbmRleCBvZiB0aGUKIAkJdGFibGUgd2UgY3JlYXRlIGhlcmUuICovCiAKLQkJdWxpbnQJc3Bh Y2UgPSAwOwkvKiByZXNldCB0byB6ZXJvIGZvciB0aGUgY2FsbCBiZWxvdyAqLwotCiAJCWlmICh0 YWJsZS0+ZGlyX3BhdGhfb2ZfdGVtcF90YWJsZSkgewogCQkJLyogV2UgcGxhY2UgdGFibGVzIGNy ZWF0ZWQgd2l0aCBDUkVBVEUgVEVNUE9SQVJZCiAJCQlUQUJMRSBpbiB0aGUgdG1wIGRpciBvZiBt eXNxbGQgc2VydmVyICovCkBAIC0yNzYsNyArMjgwLDcgQEAgZGljdF9idWlsZF90YWJsZV9kZWZf c3RlcCgKIAogCQlmbGFncyA9IHRhYmxlLT5mbGFncyAmIH4ofjAgPDwgRElDVF9URl9CSVRTKTsK IAkJZXJyb3IgPSBmaWxfY3JlYXRlX25ld19zaW5nbGVfdGFibGVfdGFibGVzcGFjZSgKLQkJCSZz cGFjZSwgcGF0aF9vcl9uYW1lLCBpc19wYXRoLAorCQkJc3BhY2UsIHBhdGhfb3JfbmFtZSwgaXNf cGF0aCwKIAkJCWZsYWdzID09IERJQ1RfVEZfQ09NUEFDVCA/IDAgOiBmbGFncywKIAkJCUZJTF9J QkRfRklMRV9JTklUSUFMX1NJWkUpOwogCQl0YWJsZS0+c3BhY2UgPSAodW5zaWduZWQgaW50KSBz cGFjZTsKQEAgLTU2MSw3ICs1NjUsNyBAQCBkaWN0X2J1aWxkX2luZGV4X2RlZl9zdGVwKAogCXV0 X2FkKChVVF9MSVNUX0dFVF9MRU4odGFibGUtPmluZGV4ZXMpID4gMCkKIAkgICAgICB8fCBkaWN0 X2luZGV4X2lzX2NsdXN0KGluZGV4KSk7CiAKLQlpbmRleC0+aWQgPSBkaWN0X2hkcl9nZXRfbmV3 X2lkKERJQ1RfSERSX0lOREVYX0lEKTsKKwlkaWN0X2hkcl9nZXRfbmV3X2lkKE5VTEwsICZpbmRl eC0+aWQsIE5VTEwpOwogCiAJLyogSW5oZXJpdCB0aGUgc3BhY2UgaWQgZnJvbSB0aGUgdGFibGU7 IHdlIHN0b3JlIGFsbCBpbmRleGVzIG9mIGEKIAl0YWJsZSBpbiB0aGUgc2FtZSB0YWJsZXNwYWNl ICovCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9maWwvZmlsMGZpbC5jJwot LS0gYS9zdG9yYWdlL2lubm9iYXNlL2ZpbC9maWwwZmlsLmMJcmV2aWQ6Y2FsdmluLnN1bkBvcmFj bGUuY29tLTIwMTAwNTIxMjEzMDA5LXkzNWFhN2V3aThzaTNzaXoKKysrIGIvc3RvcmFnZS9pbm5v YmFzZS9maWwvZmlsMGZpbC5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTI0 MTE0NTI0LWdpaDN0eGZmMnA5cno0cnMKQEAgLTI4OSw2ICsyODksMTAgQEAgc3RydWN0IGZpbF9z eXN0ZW1fc3RydWN0IHsKIAkJCQkJcmVxdWVzdCAqLwogCVVUX0xJU1RfQkFTRV9OT0RFX1QoZmls X3NwYWNlX3QpIHNwYWNlX2xpc3Q7CiAJCQkJCS8qITwgbGlzdCBvZiBhbGwgZmlsZSBzcGFjZXMg Ki8KKwlpYm9vbAkJc3BhY2VfaWRfcmV1c2Vfd2FybmVkOworCQkJCQkvKiAhPCBUUlVFIGlmIGZp bF9zcGFjZV9jcmVhdGUoKQorCQkJCQloYXMgaXNzdWVkIGEgd2FybmluZyBhYm91dAorCQkJCQlw b3RlbnRpYWwgc3BhY2VfaWQgcmV1c2UgKi8KIH07CiAKIC8qKiBUaGUgdGFibGVzcGFjZSBtZW1v cnkgY2FjaGUuIFRoaXMgdmFyaWFibGUgaXMgTlVMTCBiZWZvcmUgdGhlIG1vZHVsZSBpcwpAQCAt MTIxMCw3ICsxMjE0LDE5IEBAIHRyeV9hZ2FpbjoKIAlzcGFjZS0+dGFibGVzcGFjZV92ZXJzaW9u ID0gZmlsX3N5c3RlbS0+dGFibGVzcGFjZV92ZXJzaW9uOwogCXNwYWNlLT5tYXJrID0gRkFMU0U7 CiAKLQlpZiAocHVycG9zZSA9PSBGSUxfVEFCTEVTUEFDRSAmJiBpZCA+IGZpbF9zeXN0ZW0tPm1h eF9hc3NpZ25lZF9pZCkgeworCWlmIChVTklWX0xJS0VMWShwdXJwb3NlID09IEZJTF9UQUJMRVNQ QUNFKQorCSAgICAmJiBVTklWX1VOTElLRUxZKGlkID4gZmlsX3N5c3RlbS0+bWF4X2Fzc2lnbmVk X2lkKSkgeworCQlpZiAoIWZpbF9zeXN0ZW0tPnNwYWNlX2lkX3JldXNlX3dhcm5lZCkgeworCQkJ ZmlsX3N5c3RlbS0+c3BhY2VfaWRfcmV1c2Vfd2FybmVkID0gVFJVRTsKKworCQkJdXRfcHJpbnRf dGltZXN0YW1wKHN0ZGVycik7CisJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkiICBJbm5vREI6IFdh cm5pbmc6IGFsbG9jYXRlZCB0YWJsZXNwYWNlICVsdSwiCisJCQkJIiBvbGQgbWF4aW11bSB3YXMg JWx1XG4iLAorCQkJCSh1bG9uZykgaWQsCisJCQkJKHVsb25nKSBmaWxfc3lzdGVtLT5tYXhfYXNz aWduZWRfaWQpOworCQl9CisKIAkJZmlsX3N5c3RlbS0+bWF4X2Fzc2lnbmVkX2lkID0gaWQ7CiAJ fQogCkBAIC0xMjQ4LDE5ICsxMjY0LDI1IEBAIHRyeV9hZ2FpbjoKIEFzc2lnbnMgYSBuZXcgc3Bh Y2UgaWQgZm9yIGEgbmV3IHNpbmdsZS10YWJsZSB0YWJsZXNwYWNlLiBUaGlzIHdvcmtzIHNpbXBs eSBieQogaW5jcmVtZW50aW5nIHRoZSBnbG9iYWwgY291bnRlci4gSWYgNCBiaWxsaW9uIGlkJ3Mg aXMgbm90IGVub3VnaCwgd2UgbWF5IG5lZWQKIHRvIHJlY3ljbGUgaWQncy4KLUByZXR1cm4JbmV3 IHRhYmxlc3BhY2UgaWQ7IFVMSU5UX1VOREVGSU5FRCBpZiBjb3VsZCBub3QgYXNzaWduIGFuIGlk ICovCi1zdGF0aWMKLXVsaW50Ci1maWxfYXNzaWduX25ld19zcGFjZV9pZCh2b2lkKQotLyo9PT09 PT09PT09PT09PT09PT09PT09PT09Ki8KK0ByZXR1cm4JVFJVRSBpZiBhc3NpZ25lZCwgRkFMU0Ug aWYgbm90ICovCitVTklWX0lOVEVSTgoraWJvb2wKK2ZpbF9hc3NpZ25fbmV3X3NwYWNlX2lkKAor Lyo9PT09PT09PT09PT09PT09PT09PSovCisJdWxpbnQqCXNwYWNlX2lkKQkvKiE8IGluL291dDog c3BhY2UgaWQgKi8KIHsKLQl1bGludAkJaWQ7CisJdWxpbnQJaWQ7CisJaWJvb2wJc3VjY2VzczsK IAogCW11dGV4X2VudGVyKCZmaWxfc3lzdGVtLT5tdXRleCk7CiAKLQlmaWxfc3lzdGVtLT5tYXhf YXNzaWduZWRfaWQrKzsKKwlpZCA9ICpzcGFjZV9pZDsKIAotCWlkID0gZmlsX3N5c3RlbS0+bWF4 X2Fzc2lnbmVkX2lkOworCWlmIChpZCA8IGZpbF9zeXN0ZW0tPm1heF9hc3NpZ25lZF9pZCkgewor CQlpZCA9IGZpbF9zeXN0ZW0tPm1heF9hc3NpZ25lZF9pZDsKKwl9CisKKwlpZCsrOwogCiAJaWYg KGlkID4gKFNSVl9MT0dfU1BBQ0VfRklSU1RfSUQgLyAyKSAmJiAoaWQgJSAxMDAwMDAwVUwgPT0g MCkpIHsKIAkJdXRfcHJpbnRfdGltZXN0YW1wKHN0ZGVycik7CkBAIC0xMjc2LDcgKzEyOTgsMTEg QEAgZmlsX2Fzc2lnbl9uZXdfc3BhY2VfaWQodm9pZCkKIAkJCSh1bG9uZykgU1JWX0xPR19TUEFD RV9GSVJTVF9JRCk7CiAJfQogCi0JaWYgKGlkID49IFNSVl9MT0dfU1BBQ0VfRklSU1RfSUQpIHsK KwlzdWNjZXNzID0gKGlkIDwgU1JWX0xPR19TUEFDRV9GSVJTVF9JRCk7CisKKwlpZiAoc3VjY2Vz cykgeworCQkqc3BhY2VfaWQgPSBmaWxfc3lzdGVtLT5tYXhfYXNzaWduZWRfaWQgPSBpZDsKKwl9 IGVsc2UgewogCQl1dF9wcmludF90aW1lc3RhbXAoc3RkZXJyKTsKIAkJZnByaW50ZihzdGRlcnIs CiAJCQkiSW5ub0RCOiBZb3UgaGF2ZSBydW4gb3V0IG9mIHNpbmdsZS10YWJsZSIKQEAgLTEyODYs MTQgKzEzMTIsMTIgQEAgZmlsX2Fzc2lnbl9uZXdfc3BhY2VfaWQodm9pZCkKIAkJCSIgaGF2ZSB0 byBkdW1wIGFsbCB5b3VyIHRhYmxlcyBhbmRcbiIKIAkJCSJJbm5vREI6IHJlY3JlYXRlIHRoZSB3 aG9sZSBJbm5vREIgaW5zdGFsbGF0aW9uLlxuIiwKIAkJCSh1bG9uZykgaWQpOwotCQlmaWxfc3lz dGVtLT5tYXhfYXNzaWduZWRfaWQtLTsKLQotCQlpZCA9IFVMSU5UX1VOREVGSU5FRDsKKwkJKnNw YWNlX2lkID0gVUxJTlRfVU5ERUZJTkVEOwogCX0KIAogCW11dGV4X2V4aXQoJmZpbF9zeXN0ZW0t Pm11dGV4KTsKIAotCXJldHVybihpZCk7CisJcmV0dXJuKHN1Y2Nlc3MpOwogfQogCiAvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8vKioKQEAgLTE1MjksNyArMTU1Myw3IEBAIGZpbF9pbml0KAogCXV0X2EoaGFzaF9zaXpl ID4gMCk7CiAJdXRfYShtYXhfbl9vcGVuID4gMCk7CiAKLQlmaWxfc3lzdGVtID0gbWVtX2FsbG9j KHNpemVvZihmaWxfc3lzdGVtX3QpKTsKKwlmaWxfc3lzdGVtID0gbWVtX3phbGxvYyhzaXplb2Yo ZmlsX3N5c3RlbV90KSk7CiAKIAltdXRleF9jcmVhdGUoZmlsX3N5c3RlbV9tdXRleF9rZXksCiAJ CSAgICAgJmZpbF9zeXN0ZW0tPm11dGV4LCBTWU5DX0FOWV9MQVRDSCk7CkBAIC0xNTM5LDE2ICsx NTYzLDcgQEAgZmlsX2luaXQoCiAKIAlVVF9MSVNUX0lOSVQoZmlsX3N5c3RlbS0+TFJVKTsKIAot CWZpbF9zeXN0ZW0tPm5fb3BlbiA9IDA7CiAJZmlsX3N5c3RlbS0+bWF4X25fb3BlbiA9IG1heF9u X29wZW47Ci0KLQlmaWxfc3lzdGVtLT5tb2RpZmljYXRpb25fY291bnRlciA9IDA7Ci0JZmlsX3N5 c3RlbS0+bWF4X2Fzc2lnbmVkX2lkID0gMDsKLQotCWZpbF9zeXN0ZW0tPnRhYmxlc3BhY2VfdmVy c2lvbiA9IDA7Ci0KLQlVVF9MSVNUX0lOSVQoZmlsX3N5c3RlbS0+dW5mbHVzaGVkX3NwYWNlcyk7 Ci0JVVRfTElTVF9JTklUKGZpbF9zeXN0ZW0tPnNwYWNlX2xpc3QpOwogfQogCiAvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ki8vKioKQEAgLTIxMzMsNyArMjE0OCw3IEBAIGZpbF9vcF9sb2dfcGFyc2Vfb3JfcmVwbGF5KAog CQkJZmlsX2NyZWF0ZV9kaXJlY3RvcnlfZm9yX3RhYmxlbmFtZShuYW1lKTsKIAogCQkJaWYgKGZp bF9jcmVhdGVfbmV3X3NpbmdsZV90YWJsZV90YWJsZXNwYWNlKAotCQkJCSAgICAmc3BhY2VfaWQs IG5hbWUsIEZBTFNFLCBmbGFncywKKwkJCQkgICAgc3BhY2VfaWQsIG5hbWUsIEZBTFNFLCBmbGFn cywKIAkJCQkgICAgRklMX0lCRF9GSUxFX0lOSVRJQUxfU0laRSkgIT0gREJfU1VDQ0VTUykgewog CQkJCXV0X2Vycm9yOwogCQkJfQpAQCAtMjU4MCw5ICsyNTk1LDcgQEAgVU5JVl9JTlRFUk4KIHVs aW50CiBmaWxfY3JlYXRlX25ld19zaW5nbGVfdGFibGVfdGFibGVzcGFjZSgKIC8qPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwotCXVsaW50KgkJc3BhY2VfaWQsCS8qITwgaW4v b3V0OiBzcGFjZSBpZDsgaWYgdGhpcyBpcyAhPSAwLAotCQkJCQl0aGVuIHRoaXMgaXMgYW4gaW5w dXQgcGFyYW1ldGVyLAotCQkJCQlvdGhlcndpc2Ugb3V0cHV0ICovCisJdWxpbnQJCXNwYWNlX2lk LAkvKiE8IGluOiBzcGFjZSBpZCAqLwogCWNvbnN0IGNoYXIqCXRhYmxlbmFtZSwJLyohPCBpbjog dGhlIHRhYmxlIG5hbWUgaW4gdGhlIHVzdWFsCiAJCQkJCWRhdGFiYXNlbmFtZS90YWJsZW5hbWUg Zm9ybWF0CiAJCQkJCW9mIElubm9EQiwgb3IgYSBkaXIgcGF0aCB0byBhIHRlbXAKQEAgLTI2MDIs NiArMjYxNSw4IEBAIGZpbF9jcmVhdGVfbmV3X3NpbmdsZV90YWJsZV90YWJsZXNwYWNlKAogCWli b29sCQlzdWNjZXNzOwogCWNoYXIqCQlwYXRoOwogCisJdXRfYShzcGFjZV9pZCA+IDApOworCXV0 X2Eoc3BhY2VfaWQgPCBTUlZfTE9HX1NQQUNFX0ZJUlNUX0lEKTsKIAl1dF9hKHNpemUgPj0gRklM X0lCRF9GSUxFX0lOSVRJQUxfU0laRSk7CiAJLyogVGhlIHRhYmxlc3BhY2UgZmxhZ3MgKEZTUF9T UEFDRV9GTEFHUykgc2hvdWxkIGJlIDAgZm9yCiAJUk9XX0ZPUk1BVD1DT01QQUNUCkBAIC0yNjU5 LDM4ICsyNjc0LDIxIEBAIGZpbF9jcmVhdGVfbmV3X3NpbmdsZV90YWJsZV90YWJsZXNwYWNlKAog CQlyZXR1cm4oREJfRVJST1IpOwogCX0KIAotCWJ1ZjIgPSB1dF9tYWxsb2MoMyAqIFVOSVZfUEFH RV9TSVpFKTsKLQkvKiBBbGlnbiB0aGUgbWVtb3J5IGZvciBmaWxlIGkvbyBpZiB3ZSBtaWdodCBo YXZlIE9fRElSRUNUIHNldCAqLwotCXBhZ2UgPSB1dF9hbGlnbihidWYyLCBVTklWX1BBR0VfU0la RSk7Ci0KIAlyZXQgPSBvc19maWxlX3NldF9zaXplKHBhdGgsIGZpbGUsIHNpemUgKiBVTklWX1BB R0VfU0laRSwgMCk7CiAKIAlpZiAoIXJldCkgewotCQl1dF9mcmVlKGJ1ZjIpOwotCQlvc19maWxl X2Nsb3NlKGZpbGUpOwotCQlvc19maWxlX2RlbGV0ZShwYXRoKTsKLQotCQltZW1fZnJlZShwYXRo KTsKLQkJcmV0dXJuKERCX09VVF9PRl9GSUxFX1NQQUNFKTsKLQl9Ci0KLQlpZiAoKnNwYWNlX2lk ID09IDApIHsKLQkJKnNwYWNlX2lkID0gZmlsX2Fzc2lnbl9uZXdfc3BhY2VfaWQoKTsKLQl9Ci0K LQkvKiBwcmludGYoIkNyZWF0aW5nIHRhYmxlc3BhY2UgJXMgaWQgJWx1XG4iLCBwYXRoLCAqc3Bh Y2VfaWQpOyAqLwotCi0JaWYgKCpzcGFjZV9pZCA9PSBVTElOVF9VTkRFRklORUQpIHsKLQkJdXRf ZnJlZShidWYyKTsKKwkJZXJyID0gREJfT1VUX09GX0ZJTEVfU1BBQ0U7CiBlcnJvcl9leGl0Ogog CQlvc19maWxlX2Nsb3NlKGZpbGUpOwogZXJyb3JfZXhpdDI6CiAJCW9zX2ZpbGVfZGVsZXRlKHBh dGgpOwogCiAJCW1lbV9mcmVlKHBhdGgpOwotCQlyZXR1cm4oREJfRVJST1IpOworCQlyZXR1cm4o ZXJyKTsKIAl9CiAKKwkvKiBwcmludGYoIkNyZWF0aW5nIHRhYmxlc3BhY2UgJXMgaWQgJWx1XG4i LCBwYXRoLCBzcGFjZV9pZCk7ICovCisKIAkvKiBXZSBoYXZlIHRvIHdyaXRlIHRoZSBzcGFjZSBp ZCB0byB0aGUgZmlsZSBpbW1lZGlhdGVseSBhbmQgZmx1c2ggdGhlCiAJZmlsZSB0byBkaXNrLiBU aGlzIGlzIGJlY2F1c2UgaW4gY3Jhc2ggcmVjb3Zlcnkgd2UgbXVzdCBiZSBhd2FyZSB3aGF0CiAJ dGFibGVzcGFjZXMgZXhpc3QgYW5kIHdoYXQgYXJlIHRoZWlyIHNwYWNlIGlkJ3MsIHNvIHRoYXQg d2UgY2FuIGFwcGx5CkBAIC0yNzAwLDEwICsyNjk4LDE0IEBAIGVycm9yX2V4aXQyOgogCXdpdGgg emVyb3MgZnJvbSB0aGUgY2FsbCBvZiBvc19maWxlX3NldF9zaXplKCksIHVudGlsIGEgYnVmZmVy IHBvb2wKIAlmbHVzaCB3b3VsZCB3cml0ZSB0byBpdC4gKi8KIAorCWJ1ZjIgPSB1dF9tYWxsb2Mo MyAqIFVOSVZfUEFHRV9TSVpFKTsKKwkvKiBBbGlnbiB0aGUgbWVtb3J5IGZvciBmaWxlIGkvbyBp ZiB3ZSBtaWdodCBoYXZlIE9fRElSRUNUIHNldCAqLworCXBhZ2UgPSB1dF9hbGlnbihidWYyLCBV TklWX1BBR0VfU0laRSk7CisKIAltZW1zZXQocGFnZSwgJ1wwJywgVU5JVl9QQUdFX1NJWkUpOwog Ci0JZnNwX2hlYWRlcl9pbml0X2ZpZWxkcyhwYWdlLCAqc3BhY2VfaWQsIGZsYWdzKTsKLQltYWNo X3dyaXRlX3RvXzQocGFnZSArIEZJTF9QQUdFX0FSQ0hfTE9HX05PX09SX1NQQUNFX0lELCAqc3Bh Y2VfaWQpOworCWZzcF9oZWFkZXJfaW5pdF9maWVsZHMocGFnZSwgc3BhY2VfaWQsIGZsYWdzKTsK KwltYWNoX3dyaXRlX3RvXzQocGFnZSArIEZJTF9QQUdFX0FSQ0hfTE9HX05PX09SX1NQQUNFX0lE LCBzcGFjZV9pZCk7CiAKIAlpZiAoIShmbGFncyAmIERJQ1RfVEZfWlNTSVpFX01BU0spKSB7CiAJ CWJ1Zl9mbHVzaF9pbml0X2Zvcl93cml0aW5nKHBhZ2UsIE5VTEwsIDApOwpAQCAtMjczNCw2ICsy NzM2LDcgQEAgZXJyb3JfZXhpdDI6CiAJCSAgICAgICIgdG8gdGFibGVzcGFjZSAiLCBzdGRlcnIp OwogCQl1dF9wcmludF9maWxlbmFtZShzdGRlcnIsIHBhdGgpOwogCQlwdXRjKCdcbicsIHN0ZGVy cik7CisJCWVyciA9IERCX0VSUk9SOwogCQlnb3RvIGVycm9yX2V4aXQ7CiAJfQogCkBAIC0yNzQz LDIyICsyNzQ2LDIwIEBAIGVycm9yX2V4aXQyOgogCQlmcHV0cygiSW5ub0RCOiBFcnJvcjogZmls ZSBmbHVzaCBvZiB0YWJsZXNwYWNlICIsIHN0ZGVycik7CiAJCXV0X3ByaW50X2ZpbGVuYW1lKHN0 ZGVyciwgcGF0aCk7CiAJCWZwdXRzKCIgZmFpbGVkXG4iLCBzdGRlcnIpOworCQllcnIgPSBEQl9F UlJPUjsKIAkJZ290byBlcnJvcl9leGl0OwogCX0KIAogCW9zX2ZpbGVfY2xvc2UoZmlsZSk7CiAK LQlpZiAoKnNwYWNlX2lkID09IFVMSU5UX1VOREVGSU5FRCkgewotCQlnb3RvIGVycm9yX2V4aXQy OwotCX0KLQotCXN1Y2Nlc3MgPSBmaWxfc3BhY2VfY3JlYXRlKHBhdGgsICpzcGFjZV9pZCwgZmxh Z3MsIEZJTF9UQUJMRVNQQUNFKTsKKwlzdWNjZXNzID0gZmlsX3NwYWNlX2NyZWF0ZShwYXRoLCBz cGFjZV9pZCwgZmxhZ3MsIEZJTF9UQUJMRVNQQUNFKTsKIAogCWlmICghc3VjY2VzcykgeworCQll cnIgPSBEQl9FUlJPUjsKIAkJZ290byBlcnJvcl9leGl0MjsKIAl9CiAKLQlmaWxfbm9kZV9jcmVh dGUocGF0aCwgc2l6ZSwgKnNwYWNlX2lkLCBGQUxTRSk7CisJZmlsX25vZGVfY3JlYXRlKHBhdGgs IHNpemUsIHNwYWNlX2lkLCBGQUxTRSk7CiAKICNpZm5kZWYgVU5JVl9IT1RCQUNLVVAKIAl7CkBA IC0yNzY5LDcgKzI3NzAsNyBAQCBlcnJvcl9leGl0MjoKIAkJZmlsX29wX3dyaXRlX2xvZyhmbGFn cwogCQkJCSA/IE1MT0dfRklMRV9DUkVBVEUyCiAJCQkJIDogTUxPR19GSUxFX0NSRUFURSwKLQkJ CQkgKnNwYWNlX2lkLAorCQkJCSBzcGFjZV9pZCwKIAkJCQkgaXNfdGVtcCA/IE1MT0dfRklMRV9G TEFHX1RFTVAgOiAwLAogCQkJCSBmbGFncywKIAkJCQkgdGFibGVuYW1lLCBOVUxMLCAmbXRyKTsK Cj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBib290Lmgn Ci0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MGJvb3QuaAlyZXZpZDpjYWx2aW4u c3VuQG9yYWNsZS5jb20tMjAxMDA1MjEyMTMwMDkteTM1YWE3ZXdpOHNpM3NpegorKysgYi9zdG9y YWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBib290LmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNs ZS5jb20tMjAxMDA1MjQxMTQ1MjQtZ2loM3R4ZmYycDlyejRycwpAQCAtNDYsMTMgKzQ2LDE0IEBA IGRpY3RfaGRyX2dldCgKIC8qPT09PT09PT09Ki8KIAltdHJfdCoJbXRyKTsJLyohPCBpbjogbXRy ICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKi8vKioKLVJldHVybnMgYSBuZXcgcm93LCB0YWJsZSwgaW5kZXgs IG9yIHRyZWUgaWQuCi1AcmV0dXJuCXRoZSBuZXcgaWQgKi8KK1JldHVybnMgYSBuZXcgdGFibGUs IGluZGV4LCBvciBzcGFjZSBpZC4gKi8KIFVOSVZfSU5URVJOCi1kdWxpbnQKK3ZvaWQKIGRpY3Rf aGRyX2dldF9uZXdfaWQoCiAvKj09PT09PT09PT09PT09PT0qLwotCXVsaW50CXR5cGUpOwkvKiE8 IGluOiBESUNUX0hEUl9ST1dfSUQsIC4uLiAqLworCWR1bGludCoJdGFibGVfaWQsCS8qITwgb3V0 OiB0YWJsZSBpZCAobm90IGFzc2lnbmVkIGlmIE5VTEwpICovCisJZHVsaW50KglpbmRleF9pZCwJ LyohPCBvdXQ6IGluZGV4IGlkIChub3QgYXNzaWduZWQgaWYgTlVMTCkgKi8KKwl1bGludCoJc3Bh Y2VfaWQpOwkvKiE8IG91dDogc3BhY2UgaWQgKG5vdCBhc3NpZ25lZCBpZiBOVUxMKSAqLwogLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKiovLyoqCiBSZXR1cm5zIGEgbmV3IHJvdyBpZC4KIEByZXR1cm4JdGhlIG5ldyBp ZCAqLwpAQCAtMTE5LDcgKzEyMCw4IEBAIGRpY3RfY3JlYXRlKHZvaWQpOwogI2RlZmluZSBESUNU X0hEUl9ST1dfSUQJCTAJLyogVGhlIGxhdGVzdCBhc3NpZ25lZCByb3cgaWQgKi8KICNkZWZpbmUJ RElDVF9IRFJfVEFCTEVfSUQJOAkvKiBUaGUgbGF0ZXN0IGFzc2lnbmVkIHRhYmxlIGlkICovCiAj ZGVmaW5lCURJQ1RfSERSX0lOREVYX0lECTE2CS8qIFRoZSBsYXRlc3QgYXNzaWduZWQgaW5kZXgg aWQgKi8KLSNkZWZpbmUJRElDVF9IRFJfTUlYX0lECQkyNAkvKiBPYnNvbGV0ZSwgYWx3YXlzIDAu ICovCisjZGVmaW5lIERJQ1RfSERSX01BWF9TUEFDRV9JRAkyNAkvKiBUaGUgbGF0ZXN0IGFzc2ln bmVkIHNwYWNlIGlkLCBvciAwKi8KKyNkZWZpbmUJRElDVF9IRFJfTUlYX0lEX0xPVwkyOAkvKiBP YnNvbGV0ZSxhbHdheXMgRElDVF9IRFJfRklSU1RfSUQgKi8KICNkZWZpbmUJRElDVF9IRFJfVEFC TEVTCQkzMgkvKiBSb290IG9mIHRoZSB0YWJsZSBpbmRleCB0cmVlICovCiAjZGVmaW5lCURJQ1Rf SERSX1RBQkxFX0lEUwkzNgkvKiBSb290IG9mIHRoZSB0YWJsZSBpbmRleCB0cmVlICovCiAjZGVm aW5lCURJQ1RfSERSX0NPTFVNTlMJNDAJLyogUm9vdCBvZiB0aGUgY29sdW1uIGluZGV4IHRyZWUg Ki8KCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZmlsMGZpbC5o JwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZmlsMGZpbC5oCXJldmlkOmNhbHZpbi5z dW5Ab3JhY2xlLmNvbS0yMDEwMDUyMTIxMzAwOS15MzVhYTdld2k4c2kzc2l6CisrKyBiL3N0b3Jh Z2UvaW5ub2Jhc2UvaW5jbHVkZS9maWwwZmlsLmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5j b20tMjAxMDA1MjQxMTQ1MjQtZ2loM3R4ZmYycDlyejRycwpAQCAtMjI1LDYgKzIyNSwxNiBAQCBm aWxfc3BhY2VfY3JlYXRlKAogCQkJCTAgZm9yIHVuY29tcHJlc3NlZCB0YWJsZXNwYWNlcyAqLwog CXVsaW50CQlwdXJwb3NlKTsvKiE8IGluOiBGSUxfVEFCTEVTUEFDRSwgb3IgRklMX0xPRyBpZiBs b2cgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqLy8qKgorQXNzaWducyBhIG5ldyBzcGFjZSBpZCBmb3IgYSBuZXcg c2luZ2xlLXRhYmxlIHRhYmxlc3BhY2UuIFRoaXMgd29ya3Mgc2ltcGx5IGJ5CitpbmNyZW1lbnRp bmcgdGhlIGdsb2JhbCBjb3VudGVyLiBJZiA0IGJpbGxpb24gaWQncyBpcyBub3QgZW5vdWdoLCB3 ZSBtYXkgbmVlZAordG8gcmVjeWNsZSBpZCdzLgorQHJldHVybglUUlVFIGlmIGFzc2lnbmVkLCBG QUxTRSBpZiBub3QgKi8KK1VOSVZfSU5URVJOCitpYm9vbAorZmlsX2Fzc2lnbl9uZXdfc3BhY2Vf aWQoCisvKj09PT09PT09PT09PT09PT09PT09Ki8KKwl1bGludCoJc3BhY2VfaWQpOwkvKiE8IGlu L291dDogc3BhY2UgaWQgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogUmV0dXJucyB0aGUgc2l6ZSBvZiB0 aGUgc3BhY2UgaW4gcGFnZXMuIFRoZSB0YWJsZXNwYWNlIG11c3QgYmUgY2FjaGVkIGluIHRoZQog bWVtb3J5IGNhY2hlLgogQHJldHVybglzcGFjZSBzaXplLCAwIGlmIHNwYWNlIG5vdCBmb3VuZCAq LwpAQCAtNDI3LDkgKzQzNyw3IEBAIFVOSVZfSU5URVJOCiB1bGludAogZmlsX2NyZWF0ZV9uZXdf c2luZ2xlX3RhYmxlX3RhYmxlc3BhY2UoCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ki8KLQl1bGludCoJCXNwYWNlX2lkLAkvKiE8IGluL291dDogc3BhY2UgaWQ7IGlmIHRo aXMgaXMgIT0gMCwKLQkJCQkJdGhlbiB0aGlzIGlzIGFuIGlucHV0IHBhcmFtZXRlciwKLQkJCQkJ b3RoZXJ3aXNlIG91dHB1dCAqLworCXVsaW50CQlzcGFjZV9pZCwJLyohPCBpbjogc3BhY2UgaWQg Ki8KIAljb25zdCBjaGFyKgl0YWJsZW5hbWUsCS8qITwgaW46IHRoZSB0YWJsZSBuYW1lIGluIHRo ZSB1c3VhbAogCQkJCQlkYXRhYmFzZW5hbWUvdGFibGVuYW1lIGZvcm1hdAogCQkJCQlvZiBJbm5v REIsIG9yIGEgZGlyIHBhdGggdG8gYSB0ZW1wCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9p bm5vYmFzZS9yb3cvcm93MG15c3FsLmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBt eXNxbC5jCXJldmlkOmNhbHZpbi5zdW5Ab3JhY2xlLmNvbS0yMDEwMDUyMTIxMzAwOS15MzVhYTdl d2k4c2kzc2l6CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBteXNxbC5jCXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTI0MTE0NTI0LWdpaDN0eGZmMnA5cno0cnMKQEAg LTI0MjcsNyArMjQyNyw3IEBAIHJvd19kaXNjYXJkX3RhYmxlc3BhY2VfZm9yX215c3FsKAogCQln b3RvIGZ1bmN0X2V4aXQ7CiAJfQogCi0JbmV3X2lkID0gZGljdF9oZHJfZ2V0X25ld19pZChESUNU X0hEUl9UQUJMRV9JRCk7CisJZGljdF9oZHJfZ2V0X25ld19pZCgmbmV3X2lkLCBOVUxMLCBOVUxM KTsKIAogCS8qIFJlbW92ZSBhbGwgbG9ja3MgZXhjZXB0IHRoZSB0YWJsZS1sZXZlbCBTIGFuZCBY IGxvY2tzLiAqLwogCWxvY2tfcmVtb3ZlX2FsbF9vbl90YWJsZSh0YWJsZSwgRkFMU0UpOwpAQCAt Mjc4OSwxMCArMjc4OSwxMSBAQCByb3dfdHJ1bmNhdGVfdGFibGVfZm9yX215c3FsKAogCiAJCQlk aWN0X2luZGV4X3QqCWluZGV4OwogCi0JCQlzcGFjZSA9IDA7CisJCQlkaWN0X2hkcl9nZXRfbmV3 X2lkKE5VTEwsIE5VTEwsICZzcGFjZSk7CiAKLQkJCWlmIChmaWxfY3JlYXRlX25ld19zaW5nbGVf dGFibGVfdGFibGVzcGFjZSgKLQkJCQkgICAgJnNwYWNlLCB0YWJsZS0+bmFtZSwgRkFMU0UsIGZs YWdzLAorCQkJaWYgKHNwYWNlID09IFVMSU5UX1VOREVGSU5FRAorCQkJICAgIHx8IGZpbF9jcmVh dGVfbmV3X3NpbmdsZV90YWJsZV90YWJsZXNwYWNlKAorCQkJCSAgICBzcGFjZSwgdGFibGUtPm5h bWUsIEZBTFNFLCBmbGFncywKIAkJCQkgICAgRklMX0lCRF9GSUxFX0lOSVRJQUxfU0laRSkgIT0g REJfU1VDQ0VTUykgewogCQkJCXV0X3ByaW50X3RpbWVzdGFtcChzdGRlcnIpOwogCQkJCWZwcmlu dGYoc3RkZXJyLApAQCAtMjg5Nyw3ICsyODk4LDcgQEAgbmV4dF9yZWM6CiAKIAltZW1faGVhcF9m cmVlKGhlYXApOwogCi0JbmV3X2lkID0gZGljdF9oZHJfZ2V0X25ld19pZChESUNUX0hEUl9UQUJM RV9JRCk7CisJZGljdF9oZHJfZ2V0X25ld19pZCgmbmV3X2lkLCBOVUxMLCBOVUxMKTsKIAogCWlu Zm8gPSBwYXJzX2luZm9fY3JlYXRlKCk7CiAKCg== --===============1725969640== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marko.makela@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marko.makela@stripped # target_branch: file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ # testament_sha1: f2c26bbbb11b6c40ee0c6b5d77aa44c709860073 # timestamp: 2010-05-24 14:45:34 +0300 # source_branch: file:///home/marko/innobase/dev/mysql2a/5.1-innodb/ # base_revision_id: calvin.sun@stripped\ # y35aa7ewi8si3siz # # Begin bundle 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 --===============1725969640==--