From: marko.makela Date: February 7 2011 11:23am Subject: bzr commit into mysql-trunk-innodb branch (marko.makela:3482) WL#5458 List-Archive: http://lists.mysql.com/commits/130553 Message-Id: <201102071123.p17AUPn3005771@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0885308704==" --===============0885308704== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vaG9tZS9tYXJrby9pbm5vYmFzZS9kZXYvbXlzcWwyYS81LjYtaW5ub2RiLyBi YXNlZCBvbiByZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29tLTIwMTEwMjA3MDkyMTAzLXVzdWN0 MHU3ODVoMGRubzIKCiAzNDgyIE1hcmtvIE3DpGtlbMOkCTIwMTEtMDItMDcKICAgICAgV0wjNTQ1 OCBjbGVhbi11cCBhbmQgb3B0aW1pemF0aW9ucwogICAgICAKICAgICAgV2hlbiByZWxlYXNpbmcg bXVsdGlwbGUgbXV0ZXhlcywgcmVsZWFzZSB0aGUgY29hcnNlc3QgbXV0ZXggZmlyc3QsCiAgICAg IGhvcGluZyB0byBoZWxwIHBlcmZvcm1hbmNlIHdoZW4gYSBjb250ZXh0IHN3aXRjaCBvY2N1cnMg YmV0d2VlbiB0aGUKICAgICAgcmVsZWFzZXMuIFRoYXQgaXMsIHJlbGVhc2UgbG9ja19zeXMtPm11 dGV4IGJlZm9yZSB0cnhfc3lzLT5sb2NrIGJlZm9yZQogICAgICB0cngtPm11dGV4LgogICAgICAK ICAgICAgUmVkdWNlIHRoZSBob2xkIHRpbWUgb2YgdHJ4LT5tdXRleC4KICAgICAgCiAgICAgIFJl cGxhY2Ugc29tZSBpZi1lbHNlIGlmLWVsc2UgY2hlY2tzIHdpdGggc3dpdGNoLgogICAgICAKICAg ICAgQWRkIFVOSVZfVU5MSUtFTFkgaGludHMgdG8gb3IgYXNzZXJ0aW9uLWxpa2UgY2hlY2tzIG9y IHRlc3RzIGZvciByYXJlCiAgICAgIGNvbmRpdGlvbnMuCiAgICAgIAogICAgICBsb2NrX2dyYW50 KCksIGxvY2tfcmVjX2NhbmNlbCgpOiBsb2NrX3Jlc2V0X2xvY2tfYW5kX3RyeF93YWl0KCkgZG9l cwogICAgICBub3QgbmVlZCB0cngtPm11dGV4LgogICAgICAKICAgICAgbG9ja19kZWFkbG9ja19v Y2N1cnMoKTogUmVtb3ZlIHVubmVjZXNzYXJ5IGxvY2FsIHZhcmlhYmxlIHJldC4gT24KICAgICAg TE9DS19WSUNUSU1fRVhDRUVEX01BWF9ERVBUSCwgcmVsZWFzZSB0cngtPm11dGV4IGltbWVkaWF0 ZWx5LCBiZWNhdXNlCiAgICAgIGxvY2tfZGVhZGxvY2tfdHJ4X3ByaW50KCkgZG9lcyBub3QgbmVl ZCBpdC4KICAgICAgCiAgICAgIGxvY2tfcHJpbnRfaW5mb19hbGxfdHJhbnNhY3Rpb25zKCk6IFJl bW92ZSBhIHJlZHVuZGFudCBnb3RvIHN0YXRlbWVudC4KICAgICAgCiAgICAgIGxvY2tfcmVjX2lu c2VydF9jaGVja19hbmRfbG9jaygpOiBEbyBub3QgYWNxdWlyZSB0cngtPm11dGV4IGV4Y2VwdCBm b3IKICAgICAgdGhlIGxvY2tfcmVjX2VucXVldWVfd2FpdGluZygpIGNhbGwsIGJlY2F1c2UgdGhp cyBjb2RlIGlzIGludm9rZWQgZm9yCiAgICAgIGEgcnVubmluZyB0cmFuc2FjdGlvbiBieSBpdHMg c2VydmluZyB0aHJlYWQuCiAgICAgIAogICAgICBsb2NrX3dhaXRfdGFibGVfcmVzZXJ2ZV9zbG90 KCk6IERvIG5vdCB0ZXN0IHR3aWNlIGZvciB0aGUgZW5kLW9mLWxvb3AKICAgICAgY29uZGl0aW9u LiBGaXggc29tZSBmb3JtYXR0aW5nLgogICAgICAKICAgICAgbG9ja193YWl0X2NoZWNrX2FuZF9j YW5jZWwoKTogT25seSBhY3F1aXJlIHRoZSBtdXRleGVzIHdoZW4gY2FuY2VsbGluZwogICAgICB0 aGUgbG9jayByZXF1ZXN0LgogICAgICAKICAgICAgcXVlX3Rocl9lbmRfbG9ja193YWl0KCk6IEFk ZCBhbiBhc3NlcnRpb24gYW5kIHJlbW92ZSBhIHJlZHVuZGFudCBvbmUuCiAgICAgIAogICAgICBx dWVfdGhyX3N0b3AoKTogUmVtb3ZlIGEgbG9jYWwgdmFyaWFibGUuIFVzZSBkaXJlY3QgcmV0dXJu IGluc3RlYWQuCiAgICAgIAogICAgICByb3dfc2VhcmNoX2Zvcl9teXNxbCgpOiBSZXBsYWNlIGlm LWVsc2UgaWYtZWxzZSB3aXRoIHN3aXRjaC4KICAgICAgCiAgICAgIHRyeF9wdXJnZV9zeXNfY3Jl YXRlKCk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBhY3F1aXNpdGlvbiBvZgogICAgICBwdXJnZV9zeXMt PnRyeC0+bXV0ZXguIFRoZSBwdXJnZV9zeXMgaXMgYWxsb2NhdGVkIGluIHRoaXMgZnVuY3Rpb247 CiAgICAgIHRoZXJlZm9yZSB0aGUgbXV0ZXggZG9lcyBub3QgcHJvdmlkZSBhbnkgcHJvdGVjdGlv bi4KICAgICAgCiAgICAgIHRyeF9wdXJnZV9zeXNfY2xvc2UoKTogQXNzZXJ0IHRoYXQgcHVyZ2Vf c3lzLT5zZXNzLT50cnggPT0gcHVyZ2Vfc3lzLT50cnguCiAgICAgIAogICAgICB0cnhfcm9sbGJh Y2tfb3JfY2xlYW5fcmVjb3ZlcmVkKCk6IENvcnJlY3QgYSB0eXBvLgogICAgICAKICAgICAgdHJ4 X3ByZXBhcmUoKSwgdHJ4X3ByZXBhcmVfZm9yX215c3FsKCk6IERvIG5vdCBhY3F1aXJlIG9yIHJl bGVhc2UKICAgICAgdHJ4LT5tdXRleC4gVGhpcyBjb2RlIGlzIHN1cHBvc2VkIHRvIGJlIGludm9r ZWQgb24gYSBydW5uaW5nCiAgICAgIHRyYW5zYWN0aW9uIGJ5IHRoZSBzZXJ2aW5nIHRocmVhZC4g dHJ4LT5zdGF0ZSBjaGFuZ2VzIGFyZSBwcm90ZWN0ZWQgYnkKICAgICAgbG9ja19zeXMtPm11dGV4 LiBBZGQgYXNzZXJ0aW9ucy4KICAgICAgCiAgICAgIHJiOi8vNTQ2CgogICAgbW9kaWZpZWQ6CiAg ICAgIHN0b3JhZ2UvaW5ub2Jhc2UvbG9jay9sb2NrMGxvY2suYwogICAgICBzdG9yYWdlL2lubm9i YXNlL2xvY2svbG9jazB3YWl0LmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9xdWUvcXVlMHF1ZS5j CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBzZWwuYwogICAgICBzdG9yYWdlL2lubm9i YXNlL3RyeC90cngwcHVyZ2UuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3RyeC90cngwcm9sbC5j CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDB0cnguYwo9PT0gbW9kaWZpZWQgZmlsZSAn c3RvcmFnZS9pbm5vYmFzZS9sb2NrL2xvY2swbG9jay5jJwotLS0gYS9zdG9yYWdlL2lubm9iYXNl L2xvY2svbG9jazBsb2NrLmMJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDExMDIwNzA5 MjEwMy11c3VjdDB1Nzg1aDBkbm8yCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvbG9jay9sb2NrMGxv Y2suYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDIwNzExMjMxNy1lMGFkYW5q YmEwN2J6cmU0CkBAIC0yMjYxLDE0ICsyMjYxLDEzIEBAIGxvY2tfZ3JhbnQoCiB7CiAJdXRfYWQo bG9ja19tdXRleF9vd24oKSk7CiAKLQl0cnhfbXV0ZXhfZW50ZXIobG9jay0+dHJ4KTsKLQogCWxv Y2tfcmVzZXRfbG9ja19hbmRfdHJ4X3dhaXQobG9jayk7CisJdHJ4X211dGV4X2VudGVyKGxvY2st PnRyeCk7CiAKIAlpZiAobG9ja19nZXRfbW9kZShsb2NrKSA9PSBMT0NLX0FVVE9fSU5DKSB7CiAJ CWRpY3RfdGFibGVfdCoJdGFibGUgPSBsb2NrLT51bl9tZW1iZXIudGFiX2xvY2sudGFibGU7CiAK LQkJaWYgKHRhYmxlLT5hdXRvaW5jX3RyeCA9PSBsb2NrLT50cngpIHsKKwkJaWYgKFVOSVZfVU5M SUtFTFkodGFibGUtPmF1dG9pbmNfdHJ4ID09IGxvY2stPnRyeCkpIHsKIAkJCWZwcmludGYoc3Rk ZXJyLAogCQkJCSJJbm5vREI6IEVycm9yOiB0cnggYWxyZWFkeSBoYWQiCiAJCQkJIiBhbiBBVVRP LUlOQyBsb2NrIVxuIik7CkBAIC0yMzE5LDggKzIzMTgsNiBAQCBsb2NrX3JlY19jYW5jZWwoCiAJ dXRfYWQobG9ja19tdXRleF9vd24oKSk7CiAJdXRfYWQobG9ja19nZXRfdHlwZV9sb3cobG9jaykg PT0gTE9DS19SRUMpOwogCi0JdHJ4X211dGV4X2VudGVyKGxvY2stPnRyeCk7Ci0KIAkvKiBSZXNl dCB0aGUgYml0ICh0aGVyZSBjYW4gYmUgb25seSBvbmUgc2V0IGJpdCkgaW4gdGhlIGxvY2sgYml0 bWFwICovCiAJbG9ja19yZWNfcmVzZXRfbnRoX2JpdChsb2NrLCBsb2NrX3JlY19maW5kX3NldF9i aXQobG9jaykpOwogCkBAIC0yMzMwLDYgKzIzMjcsOCBAQCBsb2NrX3JlY19jYW5jZWwoCiAKIAkv KiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIHJlbGVhc2VzIHRoZSB0cnggZnJvbSBsb2NrIHdhaXQg Ki8KIAorCXRyeF9tdXRleF9lbnRlcihsb2NrLT50cngpOworCiAJdGhyID0gcXVlX3Rocl9lbmRf bG9ja193YWl0KGxvY2stPnRyeCk7CiAKIAlpZiAodGhyICE9IE5VTEwpIHsKQEAgLTM0ODgsNyAr MzQ4Nyw2IEBAIGxvY2tfZGVhZGxvY2tfb2NjdXJzKAogCXRyeF90Kgl0cngpCS8qITwgaW4vb3V0 OiB0cmFuc2FjdGlvbiAqLwogewogCXRyeF90KgkJbWFya190cng7Ci0JdWxpbnQJCXJldDsKIAl1 bGludAkJY29zdAk9IDA7CiAKIAl1dF9hZCh0cngpOwpAQCAtMzUyMCwxNSArMzUxOCwyMiBAQCBy ZXRyeToKIAogCXRyeF9tdXRleF9lbnRlcih0cngpOwogCi0JcmV0ID0gbG9ja19kZWFkbG9ja19y ZWN1cnNpdmUodHJ4LCB0cngsIGxvY2ssICZjb3N0LCAwKTsKLQotCXN3aXRjaCAocmV0KSB7CisJ c3dpdGNoIChsb2NrX2RlYWRsb2NrX3JlY3Vyc2l2ZSh0cngsIHRyeCwgbG9jaywgJmNvc3QsIDAp KSB7CiAJY2FzZSBMT0NLX1ZJQ1RJTV9JU19PVEhFUjoKIAkJLyogV2UgY2hvc2Ugc29tZSBvdGhl ciB0cnggYXMgYSB2aWN0aW06IHJldHJ5IGlmIHRoZXJlIHN0aWxsCiAJCWlzIGEgZGVhZGxvY2sg Ki8KIAkJZ290byByZXRyeTsKIAogCWNhc2UgTE9DS19WSUNUSU1fRVhDRUVEX01BWF9ERVBUSDoK KwkJLyogUmVsZWFzZSB0aGUgbXV0ZXggdG8gb2JleSB0aGUgbGF0Y2hpbmcgb3JkZXIuCisJCVRo aXMgaXMgc2FmZSwgYmVjYXVzZSBsb2NrX2RlYWRsb2NrX29jY3VycygpIGlzIGludm9rZWQKKwkJ d2hlbiBhIGxvY2sgd2FpdCBpcyBlbnF1ZXVlZCBmb3IgdGhlIGN1cnJlbnRseSBydW5uaW5nCisJ CXRyYW5zYWN0aW9uLiBCZWNhdXNlIHRyeCBpcyBhIHJ1bm5pbmcgdHJhbnNhY3Rpb24KKwkJKGl0 IGlzIG5vdCBjdXJyZW50bHkgc3VzcGVuZGVkIGJlY2F1c2Ugb2YgYSBsb2NrIHdhaXQpLAorCQlp dHMgc3RhdGUgY2FuIG9ubHkgYmUgY2hhbmdlZCBieSB0aGlzIHRocmVhZCwgd2hpY2ggaXMKKwkJ Y3VycmVudGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgdHJhbnNhY3Rpb24uICovCisJCXRyeF9tdXRl eF9leGl0KHRyeCk7CisKIAkJLyogSWYgdGhlIGxvY2sgc2VhcmNoIGV4Y2VlZHMgdGhlIG1heCBz dGVwCiAJCW9yIHRoZSBtYXggZGVwdGgsIHRoZSBjdXJyZW50IHRyeCB3aWxsIGJlCiAJCXRoZSB2 aWN0aW0uIFByaW50IGl0cyBpbmZvcm1hdGlvbi4gKi8KQEAgLTM1NDAsMzIgKzM1NDUsMzEgQEAg cmV0cnk6CiAJCQkiIEZPTExPV0lORyBUUkFOU0FDVElPTiBcblxuIgogCQkJIioqKiBUUkFOU0FD VElPTjpcbiIpOwogCi0JCS8qIFRvIG9iZXkgdGhlIGxhdGNoaW5nIG9yZGVyICovCi0JCXRyeF9t dXRleF9leGl0KHRyeCk7Ci0KIAkJbG9ja19kZWFkbG9ja190cnhfcHJpbnQodHJ4LCAzMDAwKTsK IAotCQl0cnhfbXV0ZXhfZW50ZXIodHJ4KTsKLQogCQlsb2NrX2RlYWRsb2NrX2ZwdXRzKAogCQkJ IioqKiBXQUlUSU5HIEZPUiBUSElTIExPQ0sgVE8gQkUgR1JBTlRFRDpcbiIpOwogCiAJCWxvY2tf ZGVhZGxvY2tfbG9ja19wcmludChsb2NrKTsKIAorCQl0cnhfbXV0ZXhfZW50ZXIodHJ4KTsKIAkJ YnJlYWs7CiAKIAljYXNlIExPQ0tfVklDVElNX0lTX1NUQVJUOgogCQlsb2NrX2RlYWRsb2NrX2Zw dXRzKCIqKiogV0UgUk9MTCBCQUNLIFRSQU5TQUNUSU9OICgyKVxuIik7CiAJCWJyZWFrOwogCi0J ZGVmYXVsdDoKLQkJLyogTm8gZGVhZGxvY2sgZGV0ZWN0ZWQqLworCWNhc2UgTE9DS19WSUNUSU1f Tk9ORToKKwkJLyogTm8gZGVhZGxvY2sgZGV0ZWN0ZWQgKi8KKwkJdXRfYWQodHJ4X211dGV4X293 bih0cngpKTsKKwkJdXRfYWQobG9ja19tdXRleF9vd24oKSk7CiAJCXJldHVybihGQUxTRSk7CiAJ fQogCiAJbG9ja19kZWFkbG9ja19mb3VuZCA9IFRSVUU7CiAKIAl1dF9hZCh0cnhfbXV0ZXhfb3du KHRyeCkpOworCXV0X2FkKGxvY2tfbXV0ZXhfb3duKCkpOwogCiAJcmV0dXJuKFRSVUUpOwogfQpA QCAtMzY1OCw3ICszNjYyLDYgQEAgbG9ja19kZWFkbG9ja19yZWN1cnNpdmUoCiAKIAkJCWlmIChs b2NrX3RyeCA9PSBzdGFydCkgewogCi0JCQkJLyogVG8gb2JleSB0aGUgbGF0Y2hpbmcgb3JkZXIg Ki8KIAkJCQl0cnhfbXV0ZXhfZXhpdChzdGFydCk7CiAKIAkJCQkvKiBXZSBjYW1lIGJhY2sgdG8g dGhlIHJlY3Vyc2lvbiBzdGFydGluZwpAQCAtNDc3MSw5ICs0Nzc0LDggQEAgbG9vcDoKIAogCWlm ICh0cnggPT0gTlVMTCkgewogCi0JCXJ3X2xvY2tfc191bmxvY2soJnRyeF9zeXMtPmxvY2spOwot CiAJCWxvY2tfbXV0ZXhfZXhpdCgpOworCQlyd19sb2NrX3NfdW5sb2NrKCZ0cnhfc3lzLT5sb2Nr KTsKIAogCQl1dF9hZChsb2NrX3ZhbGlkYXRlKCkpOwogCkBAIC00ODU4LDkgKzQ4NjAsOCBAQCBs b29wOgogCQkJCWdvdG8gcHJpbnRfcmVjOwogCQkJfQogCi0JCQlyd19sb2NrX3NfdW5sb2NrKCZ0 cnhfc3lzLT5sb2NrKTsKLQogCQkJbG9ja19tdXRleF9leGl0KCk7CisJCQlyd19sb2NrX3NfdW5s b2NrKCZ0cnhfc3lzLT5sb2NrKTsKIAogCQkJbXRyX3N0YXJ0KCZtdHIpOwogCkBAIC00ODk3LDgg KzQ4OTgsNiBAQCBwcmludF9yZWM6CiAKIAkJbnRoX3RyeCsrOwogCQludGhfbG9jayA9IDA7Ci0K LQkJZ290byBsb29wOwogCX0KIAogCWdvdG8gbG9vcDsKQEAgLTUyNTcsMTAgKzUyNTYsMTAgQEAg bG9ja192YWxpZGF0ZSh2b2lkKQogCQl9CiAJfQogCi0JcndfbG9ja19zX3VubG9jaygmdHJ4X3N5 cy0+bG9jayk7Ci0KIAlsb2NrX211dGV4X2V4aXQoKTsKIAorCXJ3X2xvY2tfc191bmxvY2soJnRy eF9zeXMtPmxvY2spOworCiAJcmV0dXJuKFRSVUUpOwogfQogI2VuZGlmIC8qIFVOSVZfREVCVUcg Ki8KQEAgLTUzMDcsOCArNTMwNiw5IEBAIGxvY2tfcmVjX2luc2VydF9jaGVja19hbmRfbG9jaygK IAluZXh0X3JlY19oZWFwX25vID0gcGFnZV9yZWNfZ2V0X2hlYXBfbm8obmV4dF9yZWMpOwogCiAJ bG9ja19tdXRleF9lbnRlcigpOwotCi0JdHJ4X211dGV4X2VudGVyKHRyeCk7CisJLyogQmVjYXVz ZSB0aGlzIGNvZGUgaXMgaW52b2tlZCBmb3IgYSBydW5uaW5nIHRyYW5zYWN0aW9uIGJ5CisJdGhl IHRocmVhZCB0aGF0IGlzIHNlcnZpbmcgdGhlIHRyYW5zYWN0aW9uLCBpdCBpcyBub3QgbmVjZXNz YXJ5CisJdG8gaG9sZCB0cngtPm11dGV4IGhlcmUuICovCiAKIAkvKiBXaGVuIGluc2VydGluZyBh IHJlY29yZCBpbnRvIGFuIGluZGV4LCB0aGUgdGFibGUgbXVzdCBiZSBhdAogCWxlYXN0IElYLWxv Y2tlZCBvciB3ZSBtdXN0IGJlIGJ1aWxkaW5nIGFuIGluZGV4LCBpbiB3aGljaCBjYXNlCkBAIC01 MzIyLDggKzUzMjIsNiBAQCBsb2NrX3JlY19pbnNlcnRfY2hlY2tfYW5kX2xvY2soCiAJaWYgKFVO SVZfTElLRUxZKGxvY2sgPT0gTlVMTCkpIHsKIAkJLyogV2Ugb3B0aW1pemUgQ1BVIHRpbWUgdXNh Z2UgaW4gdGhlIHNpbXBsZXN0IGNhc2UgKi8KIAotCQl0cnhfbXV0ZXhfZXhpdCh0cngpOwotCiAJ CWxvY2tfbXV0ZXhfZXhpdCgpOwogCiAJCWlmICghZGljdF9pbmRleF9pc19jbHVzdChpbmRleCkp IHsKQEAgLTUzNTUsMTYgKzUzNTMsMTYgQEAgbG9ja19yZWNfaW5zZXJ0X2NoZWNrX2FuZF9sb2Nr KAogCQkgICAgYmxvY2ssIG5leHRfcmVjX2hlYXBfbm8sIHRyeCkpIHsKIAogCQkvKiBOb3RlIHRo YXQgd2UgbWF5IGdldCBEQl9TVUNDRVNTIGFsc28gaGVyZSEgKi8KKwkJdHJ4X211dGV4X2VudGVy KHRyeCk7CiAJCWVyciA9IGxvY2tfcmVjX2VucXVldWVfd2FpdGluZyhMT0NLX1ggfCBMT0NLX0dB UAogCQkJCQkgICAgICAgfCBMT0NLX0lOU0VSVF9JTlRFTlRJT04sCiAJCQkJCSAgICAgICBibG9j aywgbmV4dF9yZWNfaGVhcF9ubywKIAkJCQkJICAgICAgIGluZGV4LCB0aHIpOworCQl0cnhfbXV0 ZXhfZXhpdCh0cngpOwogCX0gZWxzZSB7CiAJCWVyciA9IERCX1NVQ0NFU1M7CiAJfQogCi0JdHJ4 X211dGV4X2V4aXQodHJ4KTsKLQogCWxvY2tfbXV0ZXhfZXhpdCgpOwogCiAJc3dpdGNoIChlcnIp IHsKQEAgLTYyMjIsOSArNjIyMCw4IEBAIGxvY2tfdHJ4X2hhbmRsZV93YWl0KAogCQllcnIgPSBE Ql9TVUNDRVNTOwogCX0KIAotCXRyeF9tdXRleF9leGl0KHRyeCk7Ci0KIAlsb2NrX211dGV4X2V4 aXQoKTsKKwl0cnhfbXV0ZXhfZXhpdCh0cngpOwogCiAJcmV0dXJuKGVycik7CiB9Cgo9PT0gbW9k aWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9sb2NrL2xvY2swd2FpdC5jJwotLS0gYS9zdG9y YWdlL2lubm9iYXNlL2xvY2svbG9jazB3YWl0LmMJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNv bS0yMDExMDIwNzA5MjEwMy11c3VjdDB1Nzg1aDBkbm8yCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uv bG9jay9sb2NrMHdhaXQuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDIwNzEx MjMxNy1lMGFkYW5qYmEwN2J6cmU0CkBAIC0xNTAsNTkgKzE1MCw0OCBAQCBsb2NrX3dhaXRfdGFi bGVfcmVzZXJ2ZV9zbG90KAogCiAJc2xvdCA9IGxvY2tfc3lzLT53YWl0aW5nX3RocmVhZHM7CiAK LQlmb3IgKGkgPSAwOyBpIDwgT1NfVEhSRUFEX01BWF9OOyArK2ksICsrc2xvdCkgeworCWZvciAo aSA9IE9TX1RIUkVBRF9NQVhfTjsgaS0tOyArK3Nsb3QpIHsKIAkJaWYgKCFzbG90LT5pbl91c2Up IHsKLQkJCWJyZWFrOwotCQl9Ci0JfQorCQkJc2xvdC0+aW5fdXNlID0gVFJVRTsKKwkJCXNsb3Qt PnRociA9IHRocjsKKwkJCXNsb3QtPnRoci0+c2xvdCA9IHNsb3Q7CisJCQlzbG90LT5pZCA9IG9z X3RocmVhZF9nZXRfY3Vycl9pZCgpOworCQkJc2xvdC0+aGFuZGxlID0gb3NfdGhyZWFkX2dldF9j dXJyKCk7CiAKLQkvKiBDaGVjayBpZiB3ZSBoYXZlIHJ1biBvdXQgb2Ygc2xvdHMuICovCi0JaWYg KHNsb3QgPT0gbG9ja19zeXMtPndhaXRpbmdfdGhyZWFkcysgT1NfVEhSRUFEX01BWF9OKSB7CisJ CQlpZiAoc2xvdC0+ZXZlbnQgPT0gTlVMTCkgeworCQkJCXNsb3QtPmV2ZW50ID0gb3NfZXZlbnRf Y3JlYXRlKE5VTEwpOworCQkJCXV0X2Eoc2xvdC0+ZXZlbnQpOworCQkJfQogCi0JCXV0X3ByaW50 X3RpbWVzdGFtcChzdGRlcnIpOworCQkJb3NfZXZlbnRfcmVzZXQoc2xvdC0+ZXZlbnQpOworCQkJ c2xvdC0+c3VzcGVuZGVkID0gVFJVRTsKKwkJCXNsb3QtPnN1c3BlbmRfdGltZSA9IHV0X3RpbWUo KTsKKwkJCXNsb3QtPndhaXRfdGltZW91dCA9IHdhaXRfdGltZW91dDsKIAotCQlmcHJpbnRmKHN0 ZGVyciwKLQkJCSIgIElubm9EQjogVGhlcmUgYXBwZWFyIHRvIGJlICVsdSB1c2VyIgotCQkJIiB0 aHJlYWRzIGN1cnJlbnRseSB3YWl0aW5nXG4iCi0JCQkiSW5ub0RCOiBpbnNpZGUgSW5ub0RCLCB3 aGljaCBpcyB0aGUiCi0JCQkiIHVwcGVyIGxpbWl0LiBDYW5ub3QgY29udGludWUgb3BlcmF0aW9u LlxuIgotCQkJIklubm9EQjogV2UgaW50ZW50aW9uYWxseSBnZW5lcmF0ZSIKLQkJCSIgYSBzZWcg ZmF1bHQgdG8gcHJpbnQgYSBzdGFjayB0cmFjZVxuIgotCQkJIklubm9EQjogb24gTGludXguIEJ1 dCBmaXJzdCB3ZSBwcmludCIKLQkJCSIgYSBsaXN0IG9mIHdhaXRpbmcgdGhyZWFkcy5cbiIsICh1 bG9uZykgaSk7CisJCQlpZiAoc2xvdCA9PSBsb2NrX3N5cy0+bGFzdF9zbG90KSB7CisJCQkJKyts b2NrX3N5cy0+bGFzdF9zbG90OworCQkJfQogCi0JCWxvY2tfd2FpdF90YWJsZV9wcmludCgpOwot Ci0JCXV0X2Vycm9yOwotCX0gZWxzZSB7CisJCQl1dF9hZChsb2NrX3N5cy0+bGFzdF9zbG90CisJ CQkgICAgICA8PSBsb2NrX3N5cy0+d2FpdGluZ190aHJlYWRzICsgT1NfVEhSRUFEX01BWF9OKTsK IAotCQl1dF9hKHNsb3QtPmluX3VzZSA9PSBGQUxTRSk7Ci0KLQkJc2xvdC0+aW5fdXNlID0gVFJV RTsKLQkJc2xvdC0+dGhyID0gdGhyOwotCQlzbG90LT50aHItPnNsb3QgPSBzbG90OwotCQlzbG90 LT5pZCA9IG9zX3RocmVhZF9nZXRfY3Vycl9pZCgpOwotCQlzbG90LT5oYW5kbGUgPSBvc190aHJl YWRfZ2V0X2N1cnIoKTsKLQotCQlpZiAoc2xvdC0+ZXZlbnQgPT0gTlVMTCkgewotCQkJc2xvdC0+ ZXZlbnQgPSBvc19ldmVudF9jcmVhdGUoTlVMTCk7Ci0JCQl1dF9hKHNsb3QtPmV2ZW50KTsKKwkJ CXJldHVybihzbG90KTsKIAkJfQotCi0JCW9zX2V2ZW50X3Jlc2V0KHNsb3QtPmV2ZW50KTsKLQkJ c2xvdC0+c3VzcGVuZGVkID0gVFJVRTsKLQkJc2xvdC0+c3VzcGVuZF90aW1lID0gdXRfdGltZSgp OwotCQlzbG90LT53YWl0X3RpbWVvdXQgPSB3YWl0X3RpbWVvdXQ7CiAJfQogCi0JaWYgKHNsb3Qg PT0gbG9ja19zeXMtPmxhc3Rfc2xvdCkgewotCQkrK2xvY2tfc3lzLT5sYXN0X3Nsb3Q7Ci0JfQor CXV0X3ByaW50X3RpbWVzdGFtcChzdGRlcnIpOwogCi0JdXRfYWQobG9ja19zeXMtPmxhc3Rfc2xv dAotCSAgICAgIDw9IGxvY2tfc3lzLT53YWl0aW5nX3RocmVhZHMrIE9TX1RIUkVBRF9NQVhfTik7 CisJZnByaW50ZihzdGRlcnIsCisJCSIgIElubm9EQjogVGhlcmUgYXBwZWFyIHRvIGJlICVsdSB1 c2VyIgorCQkiIHRocmVhZHMgY3VycmVudGx5IHdhaXRpbmdcbiIKKwkJIklubm9EQjogaW5zaWRl IElubm9EQiwgd2hpY2ggaXMgdGhlIgorCQkiIHVwcGVyIGxpbWl0LiBDYW5ub3QgY29udGludWUg b3BlcmF0aW9uLlxuIgorCQkiSW5ub0RCOiBBcyBhIGxhc3QgdGhpbmcsIHdlIHByaW50IgorCQki IGEgbGlzdCBvZiB3YWl0aW5nIHRocmVhZHMuXG4iLCAodWxvbmcpIE9TX1RIUkVBRF9NQVhfTik7 CiAKLQlyZXR1cm4oc2xvdCk7CisJbG9ja193YWl0X3RhYmxlX3ByaW50KCk7CisKKwl1dF9lcnJv cjsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8vKioKQEAgLTI0NSw3ICsyMzQsNyBAQCBsb2NrX3dhaXRfc3VzcGVu ZF90aHJlYWQoCiAKIAlpZiAodGhyLT5zdGF0ZSA9PSBRVUVfVEhSX1JVTk5JTkcpIHsKIAotCQl1 dF9hZCh0aHItPmlzX2FjdGl2ZSA9PSBUUlVFKTsKKwkJdXRfYWQodGhyLT5pc19hY3RpdmUpOwog CiAJCS8qIFRoZSBsb2NrIGhhcyBhbHJlYWR5IGJlZW4gcmVsZWFzZWQgb3IgdGhpcyB0cmFuc2Fj dGlvbgogCQl3YXMgY2hvc2VuIGFzIGEgZGVhZGxvY2sgdmljdGltOiBubyBuZWVkIHRvIHN1c3Bl bmQgKi8KQEAgLTI1NiwxMyArMjQ1LDEyIEBAIGxvY2tfd2FpdF9zdXNwZW5kX3RocmVhZCgKIAkJ CXRyeC0+bG9jay53YXNfY2hvc2VuX2FzX2RlYWRsb2NrX3ZpY3RpbSA9IEZBTFNFOwogCQl9CiAK LQkJdHJ4X211dGV4X2V4aXQodHJ4KTsKLQogCQlsb2NrX3dhaXRfbXV0ZXhfZXhpdCgpOworCQl0 cnhfbXV0ZXhfZXhpdCh0cngpOwogCQlyZXR1cm47CiAJfQogCi0JdXRfYWQodGhyLT5pc19hY3Rp dmUgPT0gRkFMU0UpOworCXV0X2FkKCF0aHItPmlzX2FjdGl2ZSk7CiAKIAlzbG90ID0gbG9ja193 YWl0X3RhYmxlX3Jlc2VydmVfc2xvdCh0aHIsIGxvY2tfd2FpdF90aW1lb3V0KTsKIApAQCAtMjgz LDggKzI3MSw4IEBAIGxvY2tfd2FpdF9zdXNwZW5kX3RocmVhZCgKIAogCW9zX2V2ZW50X3NldChz cnZfdGltZW91dF9ldmVudCk7CiAKLQl0cnhfbXV0ZXhfZXhpdCh0cngpOwogCWxvY2tfd2FpdF9t dXRleF9leGl0KCk7CisJdHJ4X211dGV4X2V4aXQodHJ4KTsKIAogCWlmICh0cngtPmRlY2xhcmVk X3RvX2JlX2luc2lkZV9pbm5vZGIpIHsKIApAQCAtMzk1LDcgKzM4Myw3IEBAIGxvY2tfd2FpdF9y ZWxlYXNlX3RocmVhZF9pZl9zdXNwZW5kZWQoCiAKIAkvKiBXZSBvd24gYm90aCB0aGUgbG9jayBt dXRleCBhbmQgdGhlIHRyeF90OjptdXRleCBidXQgbm90IHRoZQogCWxvY2sgd2FpdCBtdXRleC4g VGhpcyBpcyBPSyBiZWNhdXNlIG90aGVyIHRocmVhZHMgd2lsbCBzZWUgdGhlIHN0YXRlCi0Jb2Yg dGhpcyBtdXRleCBhcyBiZWluZyBpbiB1c2UgYW5kIG5vIG90aGVyIHRocmVhZCBjYW4gY2hhbmdl IHRoZSBzdGF0ZQorCW9mIHRoaXMgc2xvdCBhcyBiZWluZyBpbiB1c2UgYW5kIG5vIG90aGVyIHRo cmVhZCBjYW4gY2hhbmdlIHRoZSBzdGF0ZQogCW9mIHRoZSBzbG90IHRvIGZyZWUgdW5sZXNzIHRo YXQgdGhyZWFkIGFsc28gb3ducyB0aGUgbG9jayBtdXRleC4gKi8KIAogCWlmICh0aHItPnNsb3Qg IT0gTlVMTCAmJiB0aHItPnNsb3QtPmluX3VzZSAmJiB0aHItPnNsb3QtPnRociA9PSB0aHIpIHsK Cj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL3F1ZS9xdWUwcXVlLmMnCi0tLSBh L3N0b3JhZ2UvaW5ub2Jhc2UvcXVlL3F1ZTBxdWUuYwlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUu Y29tLTIwMTEwMjA3MDkyMTAzLXVzdWN0MHU3ODVoMGRubzIKKysrIGIvc3RvcmFnZS9pbm5vYmFz ZS9xdWUvcXVlMHF1ZS5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwMjA3MTEy MzE3LWUwYWRhbmpiYTA3YnpyZTQKQEAgLTEsNiArMSw2IEBACiAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKIAotQ29weXJpZ2h0IChjKSAxOTk2LCAyMDA5LCBJbm5vYmFzZSBPeS4gQWxsIFJpZ2h0cyBS ZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMTk5NiwgMjAxMSwgT3JhY2xlIGFuZC9vciBpdHMgYWZm aWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlCkBAIC0yMDYsNiArMjA2LDcgQEAgcXVlX3Rocl9lbmRfbG9ja193 YWl0KAogCWlib29sCQl3YXNfYWN0aXZlOwogCiAJdXRfYWQobG9ja19tdXRleF9vd24oKSk7CisJ dXRfYWQodHJ4X211dGV4X293bih0cngpKTsKIAogCXRociA9IHRyeC0+bG9jay53YWl0X3RocjsK IApAQCAtMjE1LDggKzIxNiw2IEBAIHF1ZV90aHJfZW5kX2xvY2tfd2FpdCgKIAkvKiBJbiBNeVNR TCB0aGlzIGlzIHRoZSBvbmx5IHBvc3NpYmxlIHN0YXRlIGhlcmUgKi8KIAl1dF9hKHRoci0+c3Rh dGUgPT0gUVVFX1RIUl9MT0NLX1dBSVQpOwogCi0JdXRfYWQodGhyLT5zdGF0ZSA9PSBRVUVfVEhS X0xPQ0tfV0FJVCk7Ci0KIAl3YXNfYWN0aXZlID0gdGhyLT5pc19hY3RpdmU7CiAKIAlxdWVfdGhy X21vdmVfdG9fcnVuX3N0YXRlKHRocik7CkBAIC03MDQsNyArNzAzLDYgQEAgcXVlX3Rocl9zdG9w KAogCXF1ZV90aHJfdCoJdGhyKQkvKiE8IGluOiBxdWVyeSB0aHJlYWQgKi8KIHsKIAlxdWVfdCoJ CWdyYXBoOwotCWlib29sCQlyZXQJPSBUUlVFOwogCXRyeF90KgkJdHJ4ID0gdGhyX2dldF90cngo dGhyKTs7CiAKIAlncmFwaCA9IHRoci0+Z3JhcGg7CkBAIC03MzIsMTAgKzczMCwxMCBAQCBxdWVf dGhyX3N0b3AoCiAJfSBlbHNlIHsKIAkJdXRfYWQoZ3JhcGgtPnN0YXRlID09IFFVRV9GT1JLX0FD VElWRSk7CiAKLQkJcmV0ID0gRkFMU0U7CisJCXJldHVybihGQUxTRSk7CiAJfQogCi0JcmV0dXJu KHJldCk7CisJcmV0dXJuKFRSVUUpOwogfQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKCj09PSBtb2Rp ZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwc2VsLmMnCi0tLSBhL3N0b3JhZ2Uv aW5ub2Jhc2Uvcm93L3JvdzBzZWwuYwlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29tLTIwMTEw MjA3MDkyMTAzLXVzdWN0MHU3ODVoMGRubzIKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93 MHNlbC5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwMjA3MTEyMzE3LWUwYWRh bmpiYTA3YnpyZTQKQEAgLTQzNjYsNyArNDM2Niw4IEBAIG5vX2dhcF9sb2NrOgogCiAJCQllcnIg PSBsb2NrX3RyeF9oYW5kbGVfd2FpdCh0cngpOwogCi0JCQlpZiAoZXJyID09IERCX1NVQ0NFU1Mp IHsKKwkJCXN3aXRjaCAoZXJyKSB7CisJCQljYXNlIERCX1NVQ0NFU1M6CiAJCQkJLyogVGhlIGxv Y2sgd2FzIGdyYW50ZWQgd2hpbGUgd2Ugd2VyZQogCQkJCXNlYXJjaGluZyBmb3IgdGhlIGxhc3Qg Y29tbWl0dGVkIHZlcnNpb24uCiAJCQkJRG8gYSBub3JtYWwgbG9ja2luZyByZWFkLiAqLwpAQCAt NDM3NCwxMiArNDM3NSwxNCBAQCBub19nYXBfbG9jazoKIAkJCQlvZmZzZXRzID0gcmVjX2dldF9v ZmZzZXRzKAogCQkJCQlyZWMsIGluZGV4LCBvZmZzZXRzLCBVTElOVF9VTkRFRklORUQsCiAJCQkJ CSZoZWFwKTsKLQkJCQlicmVhazsKLQkJCX0gZWxzZSBpZiAoZXJyID09IERCX0RFQURMT0NLKSB7 CisJCQkJZ290byBsb2Nrc19vazsKKwkJCWNhc2UgREJfREVBRExPQ0s6CiAJCQkJZ290byBsb2Nr X3dhaXRfb3JfZXJyb3I7Ci0gCQkJfSBlbHNlIHsKLQkJCQl1dF9hKGVyciA9PSBEQl9MT0NLX1dB SVQpOworCQkJY2FzZSBEQl9MT0NLX1dBSVQ6CiAJCQkJZXJyID0gREJfU1VDQ0VTUzsKKwkJCQli cmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJdXRfZXJyb3I7CiAJCQl9CiAKIAkJCWlmIChvbGRfdmVy cyA9PSBOVUxMKSB7CkBAIC00NDY5LDYgKzQ0NzIsNyBAQCBub19nYXBfbG9jazoKIAkJfQogCX0K IAorbG9ja3Nfb2s6CiAJLyogTk9URSB0aGF0IGF0IHRoaXMgcG9pbnQgcmVjIGNhbiBiZSBhbiBv bGQgdmVyc2lvbiBvZiBhIGNsdXN0ZXJlZAogCWluZGV4IHJlY29yZCBidWlsdCBmb3IgYSBjb25z aXN0ZW50IHJlYWQuIFdlIGNhbm5vdCBhc3N1bWUgYWZ0ZXIgdGhpcwogCXBvaW50IHRoYXQgcmVj IGlzIG9uIGEgYnVmZmVyIHBvb2wgcGFnZS4gRnVuY3Rpb25zIGxpa2UKCj09PSBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2lubm9iYXNlL3RyeC90cngwcHVyZ2UuYycKLS0tIGEvc3RvcmFnZS9pbm5v YmFzZS90cngvdHJ4MHB1cmdlLmMJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDExMDIw NzA5MjEwMy11c3VjdDB1Nzg1aDBkbm8yCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDBw dXJnZS5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwMjA3MTEyMzE3LWUwYWRh bmpiYTA3YnpyZTQKQEAgLTEsNiArMSw2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAotQ29w eXJpZ2h0IChjKSAxOTk2LCAyMDEwLCBJbm5vYmFzZSBPeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K K0NvcHlyaWdodCAoYykgMTk5NiwgMjAxMSwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4g QWxsIFJpZ2h0cyBSZXNlcnZlZC4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlCkBAIC0xNjAsOCArMTYwLDYgQEAgdHJ4X3B1cmdlX3N5c19jcmVhdGUoCiAKIAl1 dF9hKHB1cmdlX3N5cy0+dHJ4LT5zZXNzID09IHB1cmdlX3N5cy0+c2Vzcyk7CiAKLQl0cnhfbXV0 ZXhfZW50ZXIocHVyZ2Vfc3lzLT50cngpOwotCiAJLyogQSBwdXJnZSB0cmFuc2FjdGlvbiBpcyBu b3QgYSByZWFsIHRyYW5zYWN0aW9uLCB3ZSB1c2UgYSB0cmFuc2FjdGlvbgogCWhlcmUgb25seSBi ZWNhdXNlIHRoZSBxdWVyeSB0aHJlYWRzIGNvZGUgcmVxdWlyZXMgaXQuIEl0IGlzIG90aGVyd2lz ZQogCXF1aXRlIHVubmVjZXNzYXJ5LiBXZSBzaG91bGQgZ2V0IHJpZCBvZiBpdCBldmVudHVhbGx5 LiAqLwpAQCAtMTY5LDggKzE2Nyw2IEBAIHRyeF9wdXJnZV9zeXNfY3JlYXRlKAogCXB1cmdlX3N5 cy0+dHJ4LT5zdGFydF90aW1lID0gdXRfdGltZSgpOwogCXB1cmdlX3N5cy0+dHJ4LT5zdGF0ZSA9 IFRSWF9TVEFURV9BQ1RJVkU7CiAKLQl0cnhfbXV0ZXhfZXhpdChwdXJnZV9zeXMtPnRyeCk7Ci0K IAlwdXJnZV9zeXMtPnF1ZXJ5ID0gdHJ4X3B1cmdlX2dyYXBoX2J1aWxkKAogCQlwdXJnZV9zeXMt PnRyeCwgbl9wdXJnZV90aHJlYWRzKTsKIApAQCAtMTg3LDggKzE4Myw5IEBAIHRyeF9wdXJnZV9z eXNfY2xvc2Uodm9pZCkKIAlxdWVfZ3JhcGhfZnJlZShwdXJnZV9zeXMtPnF1ZXJ5KTsKIAogCXV0 X2EocHVyZ2Vfc3lzLT50cngtPmlkID09IDApOworCXV0X2EocHVyZ2Vfc3lzLT5zZXNzLT50cngg PT0gcHVyZ2Vfc3lzLT50cngpOwogCi0JcHVyZ2Vfc3lzLT5zZXNzLT50cngtPnN0YXRlID0gVFJY X1NUQVRFX05PVF9TVEFSVEVEOworCXB1cmdlX3N5cy0+dHJ4LT5zdGF0ZSA9IFRSWF9TVEFURV9O T1RfU1RBUlRFRDsKIAogCXNlc3NfY2xvc2UocHVyZ2Vfc3lzLT5zZXNzKTsKIAoKPT09IG1vZGlm aWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDByb2xsLmMnCi0tLSBhL3N0b3JhZ2Uv aW5ub2Jhc2UvdHJ4L3RyeDByb2xsLmMJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDEx MDIwNzA5MjEwMy11c3VjdDB1Nzg1aDBkbm8yCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3Ry eDByb2xsLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTAyMDcxMTIzMTctZTBh ZGFuamJhMDdienJlNApAQCAtNzQzLDcgKzc0Myw3IEBAIHRyeF9yb2xsYmFja19vcl9jbGVhbl9y ZWNvdmVyZWQoCiAJCQl1dF9hZCh0cngtPmluX3RyeF9saXN0KTsKIAogCQkJLyogSWYgdGhpcyBm dW5jdGlvbiBkb2VzIGEgY2xlYW51cCBvciByb2xsYmFjawotCQkJdGhlbiBpdCB3aWxsIHJlbGVh c2UgdGhlIHRyeCBzeXMgbXV0ZXgsIHRoZXJlZm9yZQorCQkJdGhlbiBpdCB3aWxsIHJlbGVhc2Ug dGhlIHRyeF9zeXMtPmxvY2ssIHRoZXJlZm9yZQogCQkJd2UgbmVlZCB0byByZWFjcXVpcmUgaXQg YmVmb3JlIHJldHJ5aW5nIHRoZSBsb29wLiAqLwogCiAJCQlpZiAodHJ4X3JvbGxiYWNrX3Jlc3Vy cmVjdGVkKHRyeCwgYWxsKSkgewoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uv dHJ4L3RyeDB0cnguYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MHRyeC5jCXJldmlk OnZhc2lsLmRpbW92QG9yYWNsZS5jb20tMjAxMTAyMDcwOTIxMDMtdXN1Y3QwdTc4NWgwZG5vMgor KysgYi9zdG9yYWdlL2lubm9iYXNlL3RyeC90cngwdHJ4LmMJcmV2aWQ6bWFya28ubWFrZWxhQG9y YWNsZS5jb20tMjAxMTAyMDcxMTIzMTctZTBhZGFuamJhMDdienJlNApAQCAtMTQ0NSwxOCArMTQ0 NSwxOSBAQCBzdGF0aWMKIHZvaWQKIHRyeF9wcmVwYXJlKAogLyo9PT09PT09PSovCi0JdHJ4X3Qq CXRyeCkJLyohPCBpbjogdHJhbnNhY3Rpb24gKi8KKwl0cnhfdCoJdHJ4KQkvKiE8IGluL291dDog dHJhbnNhY3Rpb24gKi8KIHsKIAl0cnhfcnNlZ190Kglyc2VnOwotCWliX3VpbnQ2NF90CWxzbgkJ PSAwOworCWliX3VpbnQ2NF90CWxzbjsKIAltdHJfdAkJbXRyOwogCiAJcnNlZyA9IHRyeC0+cnNl ZzsKKwkvKiBPbmx5IGZyZXNoIHVzZXIgdHJhbnNhY3Rpb25zIGNhbiBiZSBwcmVwYXJlZC4KKwlS ZWNvdmVyZWQgdHJhbnNhY3Rpb25zIGNhbm5vdC4gKi8KKwl1dF9hKCF0cngtPmlzX3JlY292ZXJl ZCk7CiAKIAlpZiAodHJ4LT5pbnNlcnRfdW5kbyAhPSBOVUxMIHx8IHRyeC0+dXBkYXRlX3VuZG8g IT0gTlVMTCkgewogCi0JCXRyeF9tdXRleF9leGl0KHRyeCk7Ci0KIAkJbXRyX3N0YXJ0KCZtdHIp OwogCiAJCS8qIENoYW5nZSB0aGUgdW5kbyBsb2cgc2VnbWVudCBzdGF0ZXMgZnJvbSBUUlhfVU5E T19BQ1RJVkUKQEAgLTE0ODksMTYgKzE0OTAsMTMgQEAgdHJ4X3ByZXBhcmUoCiAJCQkJCXdvcmxk ICovCiAJCS8qLS0tLS0tLS0tLS0tLS0qLwogCQlsc24gPSBtdHIuZW5kX2xzbjsKLQotCQl0cnhf bXV0ZXhfZW50ZXIodHJ4KTsKKwkJdXRfYWQobHNuKTsKKwl9IGVsc2UgeworCQlsc24gPSAwOwog CX0KIAotCXV0X2FkKHRyeF9tdXRleF9vd24odHJ4KSk7Ci0KLQkvKiBOb3RlOiBUaGlzIHN0YXRl IGNoYW5nZSBpcyBvbmx5IGNvdmVyZWQgYnkgdGhlIHRyeF90OjptdXRleCBhbmQKLQlub3QgdGhl IHRyeF9zeXNfdDo6bG9jay4gKi8KLQogCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0qLworCXV0X2EodHJ4LT5zdGF0ZSA9PSBUUlhfU1RBVEVfQUNUSVZFKTsKIAl0cngt PnN0YXRlID0gVFJYX1NUQVRFX1BSRVBBUkVEOwogCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xNTIwLDggKzE1MTgsNiBAQCB0cnhfcHJlcGFyZSgKIAkJ VE9ETzogZmluZCBvdXQgaWYgTXlTUUwgaG9sZHMgc29tZSBtdXRleCB3aGVuIGNhbGxpbmcgdGhp cy4KIAkJVGhhdCB3b3VsZCBzcG9pbCBvdXIgZ3JvdXAgcHJlcGFyZSBhbGdvcml0aG0uICovCiAK LQkJdHJ4X211dGV4X2V4aXQodHJ4KTsKLQogCQlpZiAoc3J2X2ZsdXNoX2xvZ19hdF90cnhfY29t bWl0ID09IDApIHsKIAkJCS8qIERvIG5vdGhpbmcgKi8KIAkJfSBlbHNlIGlmIChzcnZfZmx1c2hf bG9nX2F0X3RyeF9jb21taXQgPT0gMSkgewpAQCAtMTU0NCw4ICsxNTQwLDYgQEAgdHJ4X3ByZXBh cmUoCiAJCX0gZWxzZSB7CiAJCQl1dF9lcnJvcjsKIAkJfQotCi0JCXRyeF9tdXRleF9lbnRlcih0 cngpOwogCX0KIH0KIApAQCAtMTU1OSwxNSArMTU1MywxMSBAQCB0cnhfcHJlcGFyZV9mb3JfbXlz cWwoCiB7CiAJdHJ4X3N0YXJ0X2lmX25vdF9zdGFydGVkX3hhKHRyeCk7CiAKLQl0cnhfbXV0ZXhf ZW50ZXIodHJ4KTsKLQogCXRyeC0+b3BfaW5mbyA9ICJwcmVwYXJpbmciOwogCiAJdHJ4X3ByZXBh cmUodHJ4KTsKIAogCXRyeC0+b3BfaW5mbyA9ICIiOwotCi0JdHJ4X211dGV4X2V4aXQodHJ4KTsK IH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovLyoqCgo= --===============0885308704== 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.6-innodb/ # testament_sha1: 2a0730aeefa3fcbcb864b579fe6bb2e9d84339fc # timestamp: 2011-02-07 13:23:26 +0200 # source_branch: file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ # base_revision_id: vasil.dimov@stripped\ # usuct0u785h0dno2 # # Begin bundle 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 eH+LuSKcKEgv9i3VgA== --===============0885308704==--