From: kevin.lewis Date: January 21 2011 4:23am Subject: bzr push into mysql-trunk-innodb branch (kevin.lewis:3447 to 3448) List-Archive: http://lists.mysql.com/commits/129305 Message-Id: <20110121042314.ACAFA9A68FB@kevin-lewis-macbook.local> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM0NDgga2V2aW4ubGV3aXNAb3JhY2xlLmNvbQkyMDExLTAxLTIwCiAgICAgIFRoaXMgaXMgYSBm aXggZm9yIHRoZSBXaW5kb3dzIHZzMjAwOCBjb21waWxlIHByb2JsZW0gdGhhdCB3YXMgaW50cm9k dWNlZCBieSByZXYgMzQyMyAocmI6Ly81NjMpIG9mIG15c3FsLXRydW5rLWlubm9kYi4gIFRoZSBh ZGRpdGlvbmFsIHVzZSBvZiBvc19pbmNyZW1lbnRfY291bnRlcl9ieV9hbW91bnQoKSBhbmQgb3Nf ZGVjcmVtZW50X2NvdW50ZXJfYnlfYW1vdW50KCkgaW4gaGFfaW5ub2RiLmNjIHdhcyByZWplY3Rl ZCBpbiB2czIwMDggc2luY2UgdGhlIHZhbHVlIGJlaW5nIGNoYW5nZWQgaXMgYSB1bGludCB3aGls ZSB0aGUgV2luZG93cyBhdG9taWNzIGZ1bmN0aW9uIHVzZXMgTE9ORyBvciBfX2ludDY0IGRlcGVu ZGluZyBvbiB3aGV0aGVyIHRoZSBPUyBpcyAzMiBvciA2NCBiaXQuICBUaGUgdHlwZSB1bGludCBp cyBlaXRoZXIgdW5zaWduZWQgX19pbnQ2NCBvciB1bnNpZ25lZCBsb25nIGludCBkZXBlbmRpbmcg b24gdGhlIE9TIGFzIHdlbGwuICAgU2luY2UgdGhlIGRlZmluaXRpb24gb2Ygb3NfKGluL2RlKWNy ZW1lbnRfY291bnRlcl9ieV9hbW91bnQgZGlkIG5vdCBoYXZlIGEgdHlwZWRlZiBvbiB0aGUgdmFs dWUgYmVpbmcgY2hhbmdlZCwgaXQgZGlkIG5vdCBjb21waWxlLiAgCiAgICAgIAogICAgICBUaGlz IHNhbWUgZXJyb3Igd2FzIGVuY291bnRlcmVkIGJ5IFJCOi8vNTM4IGF0IG9uZSBwb2ludCB3aGVu IHNpbWlsYXIgV2luZG93cyBkZWZpbmVzIGJlY2FtZSBpbmxpbmUgZm9yIHRoZSBmaXJzdCB0aW1l LiAgCiAgICAgIAogICAgICBUaGlzIGNoYW5nZSBpcyBhIGNvbXByZWhlbnNpdmUgZml4IGZvciBh bGwgd2luZG93cyBhdG9taWMgY2FsbHMgc28gdGhhdCB0aGV5IGFyZSB0eXBlIGNhc3RlZCBjb3Jy ZWN0bHkgd2l0aGluIGEgVU5JVl9JTkxJTkUgZnVuY3Rpb24uICBUeXBlLWNhc3RpbmcgaW4gYW4g aW5saW5lIGZ1bmN0aW9uIGlzIGJldHRlciB0aGFuIHR5cGVjYXN0aW5nIGluIGEgbWFjcm8gYmVj YXVzZSB0aGUgaW5wdXQgdHlwZXMgYXJlIGNoZWNrZWQgYnkgdGhlIGNvbXBpbGVyLgoKICAgIG1v ZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvb3Mwc3luYy5oCiAgICAgIHN0 b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmljCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9vczB0aHJlYWQuaAogMzQ0NyBNYXJrbyBNw6RrZWzDpAkyMDExLTAxLTIxCiAgICAg IE1vdmUgYSBtaXNwbGFjZWQgZGVidWcgYXNzZXJ0aW9uIHRvIHRoZSBjb3JyZWN0IGZ1bmN0aW9u LgogICAgICBUaGlzIG1pc3Rha2Ugd2FzIGludHJvZHVjZWQgaW4gYnpyIHJldmlzaW9uIGlkCiAg ICAgIG1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwMTIwMTQxNTI0LW15bnB4ZzB3MGNkOW9p aGcuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvbG9jay9sb2NrMGxvY2su Ywo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaCcK LS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaAlyZXZpZDptYXJrby5tYWtl bGFAb3JhY2xlLmNvbS0yMDExMDEyMDIyMzIzOC1maGtpMGJsMWJkOGFhcG9hCisrKyBiL3N0b3Jh Z2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmgJcmV2aWQ6a2V2aW4ubGV3aXNAb3JhY2xlLmNv bS0yMDExMDEyMTA0MjIyNi1xdjgwdGZoNDB1eGM3eDFmCkBAIC0zOTgsMjggKzM5OCw2NiBAQCBS ZXR1cm5zIHRoZSBvbGQgdmFsdWUgb2YgKnB0ciwgYXRvbWljYWxsCiAKICNkZWZpbmUgSEFWRV9B VE9NSUNfQlVJTFRJTlMKIAotLyogT24gV2luZG93cywgdXNlIFdpbmRvd3MgYXRvbWljcyAvIGlu dGVybG9ja2VkICovCi0jIGlmZGVmIF9XSU42NAotIyAgZGVmaW5lIHdpbl9jbXBfYW5kX3hjaGcg SW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2U2NAotIyAgZGVmaW5lIHdpbl94Y2hnX2FuZF9hZGQg SW50ZXJsb2NrZWRFeGNoYW5nZUFkZDY0Ci0jIGVsc2UgLyogX1dJTjY0ICovCi0jICBkZWZpbmUg d2luX2NtcF9hbmRfeGNoZyBJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZQotIyAgZGVmaW5lIHdp bl94Y2hnX2FuZF9hZGQgSW50ZXJsb2NrZWRFeGNoYW5nZUFkZAotIyBlbmRpZgorLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCitB dG9taWMgY29tcGFyZSBhbmQgZXhjaGFuZ2Ugb2Ygc2lnbmVkIGludGVnZXJzIChib3RoIDMyIGFu ZCA2NCBiaXQpLgorQHJldHVybiB2YWx1ZSBmb3VuZCBiZWZvcmUgdGhlIGV4Y2hhbmdlLgorSWYg aXQgaXMgbm90IGVxdWFsIHRvIG9sZF92YWx1ZSB0aGUgZXhjaGFuZ2UgZGlkIG5vdCBoYXBwZW4u ICovCitVTklWX0lOTElORQorbGludAord2luX2NtcF9hbmRfeGNoZ19saW50KAorLyo9PT09PT09 PT09PT09PT09PT0qLworCXZvbGF0aWxlIGxpbnQqCXB0ciwJCS8qITwgaW4vb3V0OiBzb3VyY2Uv ZGVzdGluYXRpb24gKi8KKwlsaW50CQluZXdfdmFsLAkvKiE8IGluOiBleGNoYW5nZSB2YWx1ZSAq LworCWxpbnQJCW9sZF92YWwpOwkvKiE8IGluOiB2YWx1ZSB0byBjb21wYXJlIHRvICovCisKKy8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ly8qKgorQXRvbWljIGFkZGl0aW9uIG9mIHNpZ25lZCBpbnRlZ2Vycy4KK0ByZXR1cm4gSW5pdGlh bCB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgcG9pbnRlZCB0byBieSBwdHIgKi8KK1VOSVZfSU5MSU5F CitsaW50Cit3aW5feGNoZ19hbmRfYWRkKAorLyo9PT09PT09PT09PT09Ki8KKwl2b2xhdGlsZSBs aW50KglwdHIsCS8qITwgaW4vb3V0OiBhZGRyZXNzIG9mIGRlc3RpbmF0aW9uICovCisJbGludAkJ dmFsKTsJLyohPCBpbjogbnVtYmVyIHRvIGJlIGFkZGVkICovCisKKy8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorQXRvbWljIGNv bXBhcmUgYW5kIGV4Y2hhbmdlIG9mIHVuc2lnbmVkIGludGVnZXJzLgorQHJldHVybiB2YWx1ZSBm b3VuZCBiZWZvcmUgdGhlIGV4Y2hhbmdlLgorSWYgaXQgaXMgbm90IGVxdWFsIHRvIG9sZF92YWx1 ZSB0aGUgZXhjaGFuZ2UgZGlkIG5vdCBoYXBwZW4uICovCitVTklWX0lOTElORQordWxpbnQKK3dp bl9jbXBfYW5kX3hjaGdfdWxpbnQoCisvKj09PT09PT09PT09PT09PT09PT0qLworCXZvbGF0aWxl IHVsaW50KglwdHIsCQkvKiE8IGluL291dDogc291cmNlL2Rlc3RpbmF0aW9uICovCisJdWxpbnQJ CW5ld192YWwsCS8qITwgaW46IGV4Y2hhbmdlIHZhbHVlICovCisJdWxpbnQJCW9sZF92YWwpOwkv KiE8IGluOiB2YWx1ZSB0byBjb21wYXJlIHRvICovCisKKy8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorQXRvbWljIGNvbXBhcmUg YW5kIGV4Y2hhbmdlIG9mIDMyIGJpdCB1bnNpZ25lZCBpbnRlZ2Vycy4KK0ByZXR1cm4gdmFsdWUg Zm91bmQgYmVmb3JlIHRoZSBleGNoYW5nZS4KK0lmIGl0IGlzIG5vdCBlcXVhbCB0byBvbGRfdmFs dWUgdGhlIGV4Y2hhbmdlIGRpZCBub3QgaGFwcGVuLiAqLworVU5JVl9JTkxJTkUKK0RXT1JECit3 aW5fY21wX2FuZF94Y2hnX2R3b3JkKAorLyo9PT09PT09PT09PT09PT09PT09Ki8KKwl2b2xhdGls ZSBEV09SRCoJcHRyLAkJLyohPCBpbi9vdXQ6IHNvdXJjZS9kZXN0aW5hdGlvbiAqLworCURXT1JE CQluZXdfdmFsLAkvKiE8IGluOiBleGNoYW5nZSB2YWx1ZSAqLworCURXT1JECQlvbGRfdmFsKTsJ LyohPCBpbjogdmFsdWUgdG8gY29tcGFyZSB0byAqLwogCiAvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIFJldHVybnMgdHJ1ZSBp ZiBzd2FwcGVkLCBwdHIgaXMgcG9pbnRlciB0byB0YXJnZXQsIG9sZF92YWwgaXMgdmFsdWUgdG8K IGNvbXBhcmUgdG8sIG5ld192YWwgaXMgdGhlIHZhbHVlIHRvIHN3YXAgaW4uICovCiAKICMgZGVm aW5lIG9zX2NvbXBhcmVfYW5kX3N3YXBfdWxpbnQocHRyLCBvbGRfdmFsLCBuZXdfdmFsKSBcCi0J KHdpbl9jbXBfYW5kX3hjaGcocHRyLCBuZXdfdmFsLCBvbGRfdmFsKSA9PSBvbGRfdmFsKQorCSh3 aW5fY21wX2FuZF94Y2hnX3VsaW50KHB0ciwgbmV3X3ZhbCwgb2xkX3ZhbCkgPT0gb2xkX3ZhbCkK IAogIyBkZWZpbmUgb3NfY29tcGFyZV9hbmRfc3dhcF9saW50KHB0ciwgb2xkX3ZhbCwgbmV3X3Zh bCkgXAotCSh3aW5fY21wX2FuZF94Y2hnKHB0ciwgbmV3X3ZhbCwgb2xkX3ZhbCkgPT0gb2xkX3Zh bCkKKwkod2luX2NtcF9hbmRfeGNoZ19saW50KHB0ciwgbmV3X3ZhbCwgb2xkX3ZhbCkgPT0gb2xk X3ZhbCkKIAogLyogd2luZG93cyB0aHJlYWQgb2JqZWN0cyBjYW4gYWx3YXlzIGJlIHBhc3NlZCB0 byB3aW5kb3dzIGF0b21pYyBmdW5jdGlvbnMgKi8KICMgZGVmaW5lIG9zX2NvbXBhcmVfYW5kX3N3 YXBfdGhyZWFkX2lkKHB0ciwgb2xkX3ZhbCwgbmV3X3ZhbCkgXAotCShJbnRlcmxvY2tlZENvbXBh cmVFeGNoYW5nZShwdHIsIG5ld192YWwsIG9sZF92YWwpID09IG9sZF92YWwpCisJKHdpbl9jbXBf YW5kX3hjaGdfZHdvcmQocHRyLCBuZXdfdmFsLCBvbGRfdmFsKSA9PSBvbGRfdmFsKQorCiAjIGRl ZmluZSBJTk5PREJfUldfTE9DS1NfVVNFX0FUT01JQ1MKICMgZGVmaW5lIElCX0FUT01JQ1NfU1RB UlRVUF9NU0cgXAogCSJNdXRleGVzIGFuZCByd19sb2NrcyB1c2UgV2luZG93cyBpbnRlcmxvY2tl ZCBmdW5jdGlvbnMiCkBAIC00MzIsMTcgKzQ3MCwxNyBAQCBhbW91bnQgb2YgaW5jcmVtZW50LiAq LwogCSh3aW5feGNoZ19hbmRfYWRkKHB0ciwgYW1vdW50KSArIGFtb3VudCkKIAogIyBkZWZpbmUg b3NfYXRvbWljX2luY3JlbWVudF91bGludChwdHIsIGFtb3VudCkgXAotCSgodWxpbnQpICh3aW5f eGNoZ19hbmRfYWRkKHB0ciwgYW1vdW50KSArIGFtb3VudCkpCisJKCh1bGludCkgKHdpbl94Y2hn X2FuZF9hZGQoKGxpbnQqKSBwdHIsIChsaW50KSBhbW91bnQpICsgYW1vdW50KSkKIAogLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoq CiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgdmFsdWUsIHB0ciBpcyBwb2ludGVyIHRvIHRhcmdldCwg YW1vdW50IGlzIHRoZQogYW1vdW50IHRvIGRlY3JlbWVudC4gVGhlcmUgaXMgbm8gYXRvbWljIHN1 YnN0cmFjdCBmdW5jdGlvbiBvbiBXaW5kb3dzICovCiAKICMgZGVmaW5lIG9zX2F0b21pY19kZWNy ZW1lbnRfbGludChwdHIsIGFtb3VudCkgXAotCSh3aW5feGNoZ19hbmRfYWRkKHB0ciwgLShsaW50 KWFtb3VudCkgLSBhbW91bnQpCisJKHdpbl94Y2hnX2FuZF9hZGQocHRyLCAtKGxpbnQpIGFtb3Vu dCkgLSBhbW91bnQpCiAKICMgZGVmaW5lIG9zX2F0b21pY19kZWNyZW1lbnRfdWxpbnQocHRyLCBh bW91bnQpIFwKLQkoKHVsaW50KSAod2luX3hjaGdfYW5kX2FkZChwdHIsIC0obGludClhbW91bnQp IC0gYW1vdW50KSkKKwkoKHVsaW50KSAod2luX3hjaGdfYW5kX2FkZCgobGludCopIHB0ciwgLShs aW50KSBhbW91bnQpIC0gYW1vdW50KSkKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBSZXR1cm5zIHRoZSBvbGQgdmFsdWUg b2YgKnB0ciwgYXRvbWljYWxseSBzZXRzICpwdHIgdG8gbmV3X3ZhbC4KQEAgLTQ3Niw3ICs1MTQs NyBAQCBmb3Igc3luY2hyb25pemF0aW9uICovCiAJKHZvaWQpIG9zX2F0b21pY19pbmNyZW1lbnRf dWxpbnQoJmNvdW50ZXIsIGFtb3VudCkKIAogI2RlZmluZSBvc19kZWNyZW1lbnRfY291bnRlcl9i eV9hbW91bnQobXV0ZXgsIGNvdW50ZXIsIGFtb3VudCkJXAotCSh2b2lkKSBvc19hdG9taWNfaW5j cmVtZW50X3VsaW50KCZjb3VudGVyLCAoLSgobG9uZykoYW1vdW50KSkpKQorCSh2b2lkKSBvc19h dG9taWNfaW5jcmVtZW50X3VsaW50KCZjb3VudGVyLCAoLSgobGludCkgYW1vdW50KSkpCiAjZWxz ZQogI2RlZmluZSBvc19pbmNyZW1lbnRfY291bnRlcl9ieV9hbW91bnQobXV0ZXgsIGNvdW50ZXIs IGFtb3VudCkJXAogCWRvIHsJCQkJCQkJXAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5u b2Jhc2UvaW5jbHVkZS9vczBzeW5jLmljJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUv b3Mwc3luYy5pYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDEyMDIyMzIzOC1m aGtpMGJsMWJkOGFhcG9hCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmlj CXJldmlkOmtldmluLmxld2lzQG9yYWNsZS5jb20tMjAxMTAxMjEwNDIyMjYtcXY4MHRmaDQwdXhj N3gxZgpAQCAtNTUsMyArNTUsODUgQEAgb3NfZmFzdF9tdXRleF90cnlsb2NrKAogI2VuZGlmCiB9 CiAKKyNpZmRlZiBIQVZFX1dJTkRPV1NfQVRPTUlDUworCisvKiBVc2UgaW5saW5lIGZ1bmN0aW9u cyB0byBtYWtlIDY0IGFuZCAzMiBiaXQgdmVyc2lvbnMgb2Ygd2luZG93cyBhdG9taWMKK2Z1bmN0 aW9ucyBzbyB0aGF0IHR5cGVjYXN0cyBhcmUgZXZhbHVhdGVkIGF0IGNvbXBpbGUgdGltZS4gVGFr ZSBhZHZhbnRhZ2UKK3RoYXQgbGludCBpcyBlaXRoZXIgX19pbnQ2NCBvciBsb25nIGludCBhbmQg d2luZG93cyBhdG9taWMgZnVuY3Rpb25zIHdvcmsKK29uIF9faW50NjQgYW5kIExPTkcgKi8KKwor LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovLyoqCitBdG9taWMgY29tcGFyZSBhbmQgZXhjaGFuZ2Ugb2YgdW5zaWduZWQgaW50ZWdlcnMu CitAcmV0dXJuIHZhbHVlIGZvdW5kIGJlZm9yZSB0aGUgZXhjaGFuZ2UuCitJZiBpdCBpcyBub3Qg ZXF1YWwgdG8gb2xkX3ZhbHVlIHRoZSBleGNoYW5nZSBkaWQgbm90IGhhcHBlbi4gKi8KK1VOSVZf SU5MSU5FCitsaW50Cit3aW5fY21wX2FuZF94Y2hnX2xpbnQoCisvKj09PT09PT09PT09PT09PT09 PSovCisJdm9sYXRpbGUgbGludCoJcHRyLAkJLyohPCBpbi9vdXQ6IHNvdXJjZS9kZXN0aW5hdGlv biAqLworCWxpbnQJCW5ld192YWwsCS8qITwgaW46IGV4Y2hhbmdlIHZhbHVlICovCisJbGludAkJ b2xkX3ZhbCkJLyohPCBpbjogdmFsdWUgdG8gY29tcGFyZSB0byAqLworeworIyBpZmRlZiBfV0lO NjQKKwlyZXR1cm4oSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2U2NChwdHIsIG5ld192YWwsIG9s ZF92YWwpKTsKKyMgZWxzZQorCXJldHVybihJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZShwdHIs IG5ld192YWwsIG9sZF92YWwpKTsKKyMgZW5kaWYKK30KKworLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCitBdG9taWMgYWRkaXRp b24gb2Ygc2lnbmVkIGludGVnZXJzLgorQHJldHVybiBJbml0aWFsIHZhbHVlIG9mIHRoZSB2YXJp YWJsZSBwb2ludGVkIHRvIGJ5IHB0ciAqLworVU5JVl9JTkxJTkUKK2xpbnQKK3dpbl94Y2hnX2Fu ZF9hZGQoCisvKj09PT09PT09PT09PT0qLworCXZvbGF0aWxlIGxpbnQqCXB0ciwJLyohPCBpbi9v dXQ6IGFkZHJlc3Mgb2YgZGVzdGluYXRpb24gKi8KKwlsaW50CQl2YWwpCS8qITwgaW46IG51bWJl ciB0byBiZSBhZGRlZCAqLworeworI2lmZGVmIF9XSU42NAorCXJldHVybihJbnRlcmxvY2tlZEV4 Y2hhbmdlQWRkNjQocHRyLCB2YWwpKTsKKyNlbHNlCisJcmV0dXJuKEludGVybG9ja2VkRXhjaGFu Z2VBZGQocHRyLCB2YWwpKTsKKyNlbmRpZgorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKK0F0b21pYyBjb21wYXJlIGFu ZCBleGNoYW5nZSBvZiB1bnNpZ25lZCBpbnRlZ2Vycy4KK0ByZXR1cm4gdmFsdWUgZm91bmQgYmVm b3JlIHRoZSBleGNoYW5nZS4KK0lmIGl0IGlzIG5vdCBlcXVhbCB0byBvbGRfdmFsdWUgdGhlIGV4 Y2hhbmdlIGRpZCBub3QgaGFwcGVuLiAqLworVU5JVl9JTkxJTkUKK3VsaW50Cit3aW5fY21wX2Fu ZF94Y2hnX3VsaW50KAorLyo9PT09PT09PT09PT09PT09PT09Ki8KKwl2b2xhdGlsZSB1bGludCoJ cHRyLAkJLyohPCBpbi9vdXQ6IHNvdXJjZS9kZXN0aW5hdGlvbiAqLworCXVsaW50CQluZXdfdmFs LAkvKiE8IGluOiBleGNoYW5nZSB2YWx1ZSAqLworCXVsaW50CQlvbGRfdmFsKQkvKiE8IGluOiB2 YWx1ZSB0byBjb21wYXJlIHRvICovCit7CisJcmV0dXJuKCh1bGludCkgd2luX2NtcF9hbmRfeGNo Z19saW50KAorCQkodm9sYXRpbGUgbGludCopIHB0ciwKKwkJKGxpbnQpIG5ld192YWwsCisJCShs aW50KSBvbGRfdmFsKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorQXRvbWljIGNvbXBhcmUgYW5kIGV4Y2hhbmdl IG9mIDMyLWJpdCB1bnNpZ25lZCBpbnRlZ2Vycy4KK0ByZXR1cm4gdmFsdWUgZm91bmQgYmVmb3Jl IHRoZSBleGNoYW5nZS4KK0lmIGl0IGlzIG5vdCBlcXVhbCB0byBvbGRfdmFsdWUgdGhlIGV4Y2hh bmdlIGRpZCBub3QgaGFwcGVuLiAqLworVU5JVl9JTkxJTkUKK0RXT1JECit3aW5fY21wX2FuZF94 Y2hnX2R3b3JkKAorLyo9PT09PT09PT09PT09PT09PT09Ki8KKwl2b2xhdGlsZSBEV09SRCoJcHRy LAkJLyohPCBpbi9vdXQ6IHNvdXJjZS9kZXN0aW5hdGlvbiAqLworCURXT1JECQluZXdfdmFsLAkv KiE8IGluOiBleGNoYW5nZSB2YWx1ZSAqLworCURXT1JECQlvbGRfdmFsKQkvKiE8IGluOiB2YWx1 ZSB0byBjb21wYXJlIHRvICovCit7CisJdXRfYWQoc2l6ZW9mKERXT1JEKSA9PSBzaXplb2YoTE9O RykpOwkvKiBXZSBhc3N1bWUgdGhpcy4gKi8KKwlyZXR1cm4oSW50ZXJsb2NrZWRDb21wYXJlRXhj aGFuZ2UoCisJCSh2b2xhdGlsZSBMT05HKikgcHRyLAorCQkoTE9ORykgbmV3X3ZhbCwKKwkJKExP TkcpIG9sZF92YWwpKTsKK30KKworI2VuZGlmIC8qIEhBVkVfV0lORE9XU19BVE9NSUNTICovCisK Cj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvb3MwdGhyZWFkLmgn Ci0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczB0aHJlYWQuaAlyZXZpZDptYXJrby5t YWtlbGFAb3JhY2xlLmNvbS0yMDExMDEyMDIyMzIzOC1maGtpMGJsMWJkOGFhcG9hCisrKyBiL3N0 b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczB0aHJlYWQuaAlyZXZpZDprZXZpbi5sZXdpc0BvcmFj bGUuY29tLTIwMTEwMTIxMDQyMjI2LXF2ODB0Zmg0MHV4Yzd4MWYKQEAgLTQ0LDcgKzQ0LDcgQEAg Y2FuIHdhaXQgaW5zaWRlIElubm9EQiAqLwogCiAjaWZkZWYgX19XSU5fXwogdHlwZWRlZiB2b2lk KgkJCW9zX3RocmVhZF90OwotdHlwZWRlZiB1bnNpZ25lZCBsb25nCQlvc190aHJlYWRfaWRfdDsJ LyohPCBJbiBXaW5kb3dzIHRoZSB0aHJlYWQgaWQKK3R5cGVkZWYgRFdPUkQJCQlvc190aHJlYWRf aWRfdDsJLyohPCBJbiBXaW5kb3dzIHRoZSB0aHJlYWQgaWQKIAkJCQkJCWlzIGFuIHVuc2lnbmVk IGxvbmcgaW50ICovCiAjZWxzZQogdHlwZWRlZiBwdGhyZWFkX3QJCW9zX3RocmVhZF90OwoKTm8g YnVuZGxlIChyZWFzb246IHVzZWxlc3MgZm9yIHB1c2ggZW1haWxzKS4=