From: marko.makela Date: June 1 2012 9:17am Subject: bzr push into mysql-trunk-wl6255 branch (marko.makela:3923 to 3925) Bug#14145138 WL#5545 List-Archive: http://lists.mysql.com/commits/144073 X-Bug: 14145138 Message-Id: <201206010917.q519Ha4i007111@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM5MjUgTWFya28gTcOka2Vsw6QJMjAxMi0wNi0wMQogICAgICBCdWcjMTQxNDUxMzggd29yay1h cm91bmQgZm9yIFdMIzU1NDUgQUxURVJfQ09MVU1OX05BTUUgKHJlbmFtZSBjb2x1bW4pLgogICAg ICAKICAgICAgV2hlbiBhIHRhYmxlIGNvbnRhaW5zIG9yIGlzIHJlZmVyZW5jZWQgYnkgRk9SRUlH TiBLRVkgY29uc3RyYWludHMsIGFuZAogICAgICB0aGUgdGFibGUgaXMgcmVidWlsdCAoQUREIFBS SU1BUlkgS0VZIG9yIG90aGVyd2lzZSkgd2hpbGUgcmVuYW1pbmcKICAgICAgY29sdW1ucywgdGhl IGNvbHVtbnMgd2VyZSBub3QgcmVuYW1lZCBpbiB0aGUgRk9SRUlHTiBLRVkgY29uc3RyYWludHMu CiAgICAgIFRoaXMgd291bGQgY2F1c2UgYW4gaW1wbGljaXQgRFJPUCBUQUJMRSAoQnVnIzE0MTQ1 MTM4KSwgYmVjYXVzZSB0aGUKICAgICAgZGljdF9sb2FkX2ZvcmVpZ25zKCkgY2FsbCBpbiByb3df bWVyZ2VfcmVuYW1lX3RhYmxlcygpIHdvdWxkIGZhaWwuCiAgICAgIAogICAgICBUaGlzIGZpeCBk b2VzIG5vdCBhZGRyZXNzIEJ1ZyMxNDE0NTEzOCwgaXQganVzdCBwcmV2ZW50cyBvbmUgc2NlbmFy aW8KICAgICAgbGVhZGluZyB0byBpdC4KICAgICAgCiAgICAgIGlubm9iYXNlX3JlbmFtZV9jb2x1 bW4oKTogQWRkIHRoZSBwYXJhbWV0ZXIgbmV3X2NsdXN0ZXJlZCwgc28gdGhhdAogICAgICBjb2x1 bW4gbmFtZXMgaW4gRk9SRUlHTiBLRVkgY29uc3RyYWludHMgY2FuIGJlIHJlbmFtZWQgd2hlbiBy ZWJ1aWxkaW5nCiAgICAgIGEgdGFibGUuIFByZXZpb3VzbHksIHdlIG9ubHkgcmVuYW1lZCBjb2x1 bW5zIGlmIHRoZSB0YWJsZSB3YXMgbm90IGJlaW5nCiAgICAgIHJlYnVpbHQuCiAgICAgIAogICAg ICBpbm5vYmFzZV9yZW5hbWVfY29sdW1ucygpOiBOZXcgZnVuY3Rpb24sIHRvIGludm9rZQogICAg ICBpbm5vYmFzZV9yZW5hbWVfY29sdW1uKCkgb24gYWxsIHJlbmFtZWQgY29sdW1ucy4gSW52b2tl IHRoaXMgYWxzbyB3aGVuCiAgICAgIHJlYnVpbGRpbmcgYSB0YWJsZSAobmV3X2NsdXN0ZXJlZD09 dHJ1ZSkuCgogICAgbW9kaWZpZWQ6CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5u b2RiLWluZGV4LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYi1p bmRleC50ZXN0CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYW5kbGVyMGFsdGVyLmNj CiAzOTI0IE1hcmtvIE3DpGtlbMOkCTIwMTItMDYtMDEKICAgICAgUmVtb3ZlIGRlcGVuZGVuY2Ug b24gVEFCTEVfSUQgaW4gaW5ub2RiLWFsdGVyLW51bGxhYmxlLnRlc3QuCgogICAgbW9kaWZpZWQ6 CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiLWFsdGVyLW51bGxhYmxlLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYi1hbHRlci1udWxsYWJs ZS50ZXN0CiAzOTIzIE1hcmtvIE3DpGtlbMOkCTIwMTItMDYtMDEKICAgICAgRW5hYmxlIEFMVEVS IFRBQkxFIGluZm8gaW4gYSB0ZXN0LgogICAgICAKICAgICAgQWRkIGEgdGVzdCBjYXNlIHRoYXQg ZGVtb25zdHJhdGVzIGFuIGluY29uc2lzdGVuY3kgaW4gV0wjNjI1MS4KCiAgICBtb2RpZmllZDoK ICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItaW5kZXgucmVzdWx0CiAgICAg IG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLWluZGV4LnRlc3QKPT09IG1vZGlmaWVk IGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiLWFsdGVyLW51bGxhYmxlLnJl c3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItYWx0ZXItbnVsbGFi bGUucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjAxMDgwMzQ2LXk4 MTNnNjNyMXRhczY3OXUKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItYWx0 ZXItbnVsbGFibGUucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjAx MDkxNTI2LXhidG1qbmF3MjBleGVienEKQEAgLTM5LDUgKzM5LDUgQEAgQUxURVIgVEFCTEUgdCBN T0RJRlkgYzIgSU5UIE5VTEwsIEFMR09SSQogU0VMRUNUICogRlJPTSBJTkZPUk1BVElPTl9TQ0hF TUEuSU5OT0RCX1NZU19UQUJMRVMKIFdIRVJFIE5BTUU9J3Rlc3QvdCc7CiBUQUJMRV9JRAlOQU1F CUZMQUcJTl9DT0xTCVNQQUNFCi0xOQl0ZXN0L3QJMQk2CTAKKyMJdGVzdC90CTEJNgkwCiBEUk9Q IFRBQkxFIHQ7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9p bm5vZGItaW5kZXgucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9k Yi1pbmRleC5yZXN1bHQJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MDEwODAz NDYteTgxM2c2M3IxdGFzNjc5dQorKysgYi9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9k Yi1pbmRleC5yZXN1bHQJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MDEwOTE1 MjYteGJ0bWpuYXcyMGV4ZWJ6cQpAQCAtNDQ1LDcgKzQ0NSw4IEBAIGluZm86IFJlY29yZHM6IDAg IER1cGxpY2F0ZXM6IDAgIFdhcm5pbmcKIGNyZWF0ZSBpbmRleCBkYyBvbiB0MSAoYixjKTsKIGFm ZmVjdGVkIHJvd3M6IDAKIGluZm86IFJlY29yZHM6IDAgIER1cGxpY2F0ZXM6IDAgIFdhcm5pbmdz OiAwCi1hbHRlciB0YWJsZSB0MiBhZGQgcHJpbWFyeSBrZXkgKGFscGhhKSwgY2hhbmdlIGEgYWxw aGEgaW50OworYWx0ZXIgdGFibGUgdDIgYWRkIHByaW1hcnkga2V5IChhbHBoYSksIGNoYW5nZSBh IGFscGhhIGludCwKK2NoYW5nZSBiIGJldGEgaW50IG5vdCBudWxsOwogYWZmZWN0ZWQgcm93czog MAogaW5mbzogUmVjb3JkczogMCAgRHVwbGljYXRlczogMCAgV2FybmluZ3M6IDAKIGluc2VydCBp bnRvIHQxIHZhbHVlcyAoMSwxLDEpOwpAQCAtNDgyLDIyICs0ODMsMjIgQEAgdDMJQ1JFQVRFIFRB QkxFIGB0M2AgKAogICBLRVkgYGNgIChgY2ApLAogICBDT05TVFJBSU5UIGBkY2AgRk9SRUlHTiBL RVkgKGBhYCkgUkVGRVJFTkNFUyBgdDFgIChgYWApCiApIEVOR0lORT1Jbm5vREIgREVGQVVMVCBD SEFSU0VUPWxhdGluMQotYWx0ZXIgdGFibGUgdDIgZHJvcCBpbmRleCBiLCBhZGQgaW5kZXggKGIp OworYWx0ZXIgdGFibGUgdDIgZHJvcCBpbmRleCBiLCBhZGQgaW5kZXggKGJldGEpOwogYWZmZWN0 ZWQgcm93czogMAogaW5mbzogUmVjb3JkczogMCAgRHVwbGljYXRlczogMCAgV2FybmluZ3M6IDAK IHNob3cgY3JlYXRlIHRhYmxlIHQyOwogVGFibGUJQ3JlYXRlIFRhYmxlCiB0MglDUkVBVEUgVEFC TEUgYHQyYCAoCiAgIGBhbHBoYWAgaW50KDExKSBOT1QgTlVMTCBERUZBVUxUICcwJywKLSAgYGJg IGludCgxMSkgTk9UIE5VTEwsCisgIGBiZXRhYCBpbnQoMTEpIE5PVCBOVUxMLAogICBgY2AgaW50 KDExKSBOT1QgTlVMTCwKICAgYGRgIGludCgxMSkgTk9UIE5VTEwsCiAgIGBlYCBpbnQoMTEpIERF RkFVTFQgTlVMTCwKICAgUFJJTUFSWSBLRVkgKGBhbHBoYWApLAogICBVTklRVUUgS0VZIGBkY2Ag KGBkYCxgY2ApLAogICBLRVkgYGNgIChgY2ApLAotICBLRVkgYGJgIChgYmApLAotICBDT05TVFJB SU5UIGB0Ml9pYmZrXzFgIEZPUkVJR04gS0VZIChgYmApIFJFRkVSRU5DRVMgYHQxYCAoYGJgKSBP TiBERUxFVEUgQ0FTQ0FERSwKKyAgS0VZIGBiZXRhYCAoYGJldGFgKSwKKyAgQ09OU1RSQUlOVCBg dDJfaWJma18xYCBGT1JFSUdOIEtFWSAoYGJldGFgKSBSRUZFUkVOQ0VTIGB0MWAgKGBiYCkgT04g REVMRVRFIENBU0NBREUsCiAgIENPTlNUUkFJTlQgYHQyX2liZmtfMmAgRk9SRUlHTiBLRVkgKGBj YCkgUkVGRVJFTkNFUyBgdDNgIChgY2ApLAogICBDT05TVFJBSU5UIGB0Ml9pYmZrXzNgIEZPUkVJ R04gS0VZIChgZGApIFJFRkVSRU5DRVMgYHQ0YCAoYGRgKQogKSBFTkdJTkU9SW5ub0RCIERFRkFV TFQgQ0hBUlNFVD1sYXRpbjEKQEAgLTUxMiwxMSArNTEzLDExIEBAIGFsdGVyIHRhYmxlIHQ0IGRy b3AgZm9yZWlnbiBrZXkgZGM7CiBhZmZlY3RlZCByb3dzOiAwCiBpbmZvOiBSZWNvcmRzOiAwICBE dXBsaWNhdGVzOiAwICBXYXJuaW5nczogMAogc2VsZWN0ICogZnJvbSB0MjsKLWFscGhhCWIJYwlk CWUKK2FscGhhCWJldGEJYwlkCWUKIDEJMQkxCTEJMQogZGVsZXRlIGZyb20gdDE7CiBzZWxlY3Qg KiBmcm9tIHQyOwotYWxwaGEJYgljCWQJZQorYWxwaGEJYmV0YQljCWQJZQogZHJvcCB0YWJsZSB0 Mix0NCx0Myx0MTsKIGNyZWF0ZSB0YWJsZSB0MShhIGludCBub3QgbnVsbCwgYiBpbnQsIGMgY2hh cigxMCksIGQgdmFyY2hhcigyMCksIHByaW1hcnkga2V5IChhKSkgZW5naW5lID0gaW5ub2RiIGRl ZmF1bHQgY2hhcnNldD11dGY4OwogaW5zZXJ0IGludG8gdDEgdmFsdWVzICgxLDEsJ2FiJywnYWIn KSwoMiwyLCdhYycsJ2FjJyksKDMsMiwnYWQnLCdhZCcpLCg0LDQsJ2FmZScsJ2FmZScpOwoKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLWFsdGVyLW51 bGxhYmxlLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiLWFsdGVy LW51bGxhYmxlLnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MDEwODAz NDYteTgxM2c2M3IxdGFzNjc5dQorKysgYi9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9k Yi1hbHRlci1udWxsYWJsZS50ZXN0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIw NjAxMDkxNTI2LXhidG1qbmF3MjBleGVienEKQEAgLTU2LDYgKzU2LDcgQEAgY29ubmVjdGlvbiBk ZWZhdWx0OwogIyBUaGlzIHNob3VsZCBiZSBuby1vcC4KIEFMVEVSIFRBQkxFIHQgTU9ESUZZIGMy IElOVCBOVUxMLCBBTEdPUklUSE09SU5QTEFDRTsKIAorLS1yZXBsYWNlX2NvbHVtbiAxICMKIFNF TEVDVCAqIEZST00gSU5GT1JNQVRJT05fU0NIRU1BLklOTk9EQl9TWVNfVEFCTEVTCiBXSEVSRSBO QU1FPSd0ZXN0L3QnOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9pbm5v ZGIvdC9pbm5vZGItaW5kZXgudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9p bm5vZGItaW5kZXgudGVzdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYwMTA4 MDM0Ni15ODEzZzYzcjF0YXM2Nzl1CisrKyBiL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5u b2RiLWluZGV4LnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MDEwOTE1 MjYteGJ0bWpuYXcyMGV4ZWJ6cQpAQCAtMTUyLDcgKzE1Miw4IEBAIGFsdGVyIHRhYmxlIHQyIGRy b3AgaW5kZXggYiwgZHJvcCBpbmRleAogY3JlYXRlIHVuaXF1ZSBpbmRleCBkYyBvbiB0MiAoZCxj KTsKIGNyZWF0ZSBpbmRleCBkYyBvbiB0MSAoYixjKTsKICMgVGhpcyBzaG91bGQgcHJlc2VydmUg dGhlIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnRzLgotYWx0ZXIgdGFibGUgdDIgYWRkIHByaW1hcnkg a2V5IChhbHBoYSksIGNoYW5nZSBhIGFscGhhIGludDsKK2FsdGVyIHRhYmxlIHQyIGFkZCBwcmlt YXJ5IGtleSAoYWxwaGEpLCBjaGFuZ2UgYSBhbHBoYSBpbnQsCitjaGFuZ2UgYiBiZXRhIGludCBu b3QgbnVsbDsKIC0tZGlzYWJsZV9pbmZvCiBpbnNlcnQgaW50byB0MSB2YWx1ZXMgKDEsMSwxKTsK IGluc2VydCBpbnRvIHQzIHZhbHVlcyAoMSwxLDEpOwpAQCAtMTczLDcgKzE3NCw3IEBAIGFsdGVy IHRhYmxlIHQzIGFkZCBjb25zdHJhaW50IGRjIGZvcmVpZ24KIFNFVCBGT1JFSUdOX0tFWV9DSEVD S1M9QE9MRF9GT1JFSUdOX0tFWV9DSEVDS1M7CiBzaG93IGNyZWF0ZSB0YWJsZSB0MzsKIC0tZW5h YmxlX2luZm8KLWFsdGVyIHRhYmxlIHQyIGRyb3AgaW5kZXggYiwgYWRkIGluZGV4IChiKTsKK2Fs dGVyIHRhYmxlIHQyIGRyb3AgaW5kZXggYiwgYWRkIGluZGV4IChiZXRhKTsKIC0tZGlzYWJsZV9p bmZvCiBzaG93IGNyZWF0ZSB0YWJsZSB0MjsKIC0tZXJyb3IgRVJfUk9XX0lTX1JFRkVSRU5DRURf MgoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYW5kbGVyMGFs dGVyLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFuZGxlcjBhbHRlci5jYwly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYwMTA4MDM0Ni15ODEzZzYzcjF0YXM2 Nzl1CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYW5kbGVyMGFsdGVyLmNjCXJldmlk Om1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjAxMDkxNTI2LXhidG1qbmF3MjBleGVienEK QEAgLTMyOTMsNiArMzI5Myw3IEBAIGlubm9iYXNlX2Ryb3BfZm9yZWlnbigKIEBwYXJhbSBudGhf Y29sCQkwLWJhc2VkIGluZGV4IG9mIHRoZSBjb2x1bW4KIEBwYXJhbSBmcm9tCQlvbGQgY29sdW1u IG5hbWUKIEBwYXJhbSB0bwkJbmV3IGNvbHVtbiBuYW1lCitAcGFyYW0gbmV3X2NsdXN0ZXJlZAl3 aGV0aGVyIHRoZSB0YWJsZSBoYXMgYmVlbiByZWJ1aWx0CiBAcmV0dmFsIHRydWUJCUZhaWx1cmUK IEByZXR2YWwgZmFsc2UJCVN1Y2Nlc3MgKi8KIHN0YXRpYyBfX2F0dHJpYnV0ZV9fKChub25udWxs LCB3YXJuX3VudXNlZF9yZXN1bHQpKQpAQCAtMzMwNCwyMCArMzMwNSwyNiBAQCBpbm5vYmFzZV9y ZW5hbWVfY29sdW1uKAogCXRyeF90KgkJCXRyeCwKIAl1bGludAkJCW50aF9jb2wsCiAJY29uc3Qg Y2hhcioJCWZyb20sCi0JY29uc3QgY2hhcioJCXRvKQorCWNvbnN0IGNoYXIqCQl0bywKKwlib29s CQkJbmV3X2NsdXN0ZXJlZCkKIHsKIAlwYXJzX2luZm9fdCoJaW5mbzsKIAlkYmVycl90CQllcnJv cjsKIAogCURCVUdfRU5URVIoImlubm9iYXNlX3JlbmFtZV9jb2x1bW4iKTsKIAotCURCVUdfQVNT RVJUKHRyeF9nZXRfZGljdF9vcGVyYXRpb24odHJ4KSA9PSBUUlhfRElDVF9PUF9JTkRFWCk7CisJ REJVR19BU1NFUlQodHJ4X2dldF9kaWN0X29wZXJhdGlvbih0cngpCisJCSAgICA9PSBuZXdfY2x1 c3RlcmVkID8gVFJYX0RJQ1RfT1BfVEFCTEUgOiBUUlhfRElDVF9PUF9JTkRFWCk7CiAJdXRfYWQo dHJ4LT5kaWN0X29wZXJhdGlvbl9sb2NrX21vZGUgPT0gUldfWF9MQVRDSCk7CiAJdXRfYWQobXV0 ZXhfb3duKCZkaWN0X3N5cy0+bXV0ZXgpKTsKICNpZmRlZiBVTklWX1NZTkNfREVCVUcKIAl1dF9h ZChyd19sb2NrX293bigmZGljdF9vcGVyYXRpb25fbG9jaywgUldfTE9DS19FWCkpOwogI2VuZGlm IC8qIFVOSVZfU1lOQ19ERUJVRyAqLwogCisJaWYgKG5ld19jbHVzdGVyZWQpIHsKKwkJZ290byBy ZW5hbWVfZm9yZWlnbjsKKwl9CisKIAlpbmZvID0gcGFyc19pbmZvX2NyZWF0ZSgpOwogCiAJcGFy c19pbmZvX2FkZF91bGxfbGl0ZXJhbChpbmZvLCAidGFibGVpZCIsIHByZWJ1aWx0LT50YWJsZS0+ aWQpOwpAQCAtMzM5Miw2ICszMzk5LDcgQEAgZXJyX2V4aXQ6CiAJCX0KIAl9CiAKK3JlbmFtZV9m b3JlaWduOgogCXRyeC0+b3BfaW5mbyA9ICJyZW5hbWluZyBjb2x1bW4gaW4gU1lTX0ZPUkVJR05f Q09MUyI7CiAKIAlmb3IgKGRpY3RfZm9yZWlnbl90KiBmb3JlaWduID0gVVRfTElTVF9HRVRfRklS U1QoCkBAIC0zNDYxLDExICszNDY5LDYzIEBAIGVycl9leGl0OgogCX0KIAogCXRyeC0+b3BfaW5m byA9ICIiOwotCS8qIFJlbmFtZSB0aGUgY29sdW1uIGluIHRoZSBkYXRhIGRpY3Rpb25hcnkgY2Fj aGUuICovCi0JZGljdF9tZW1fdGFibGVfY29sX3JlbmFtZShwcmVidWlsdC0+dGFibGUsIG50aF9j b2wsIGZyb20sIHRvKTsKKwlpZiAoIW5ld19jbHVzdGVyZWQpIHsKKwkJLyogUmVuYW1lIHRoZSBj b2x1bW4gaW4gdGhlIGRhdGEgZGljdGlvbmFyeSBjYWNoZS4gKi8KKwkJZGljdF9tZW1fdGFibGVf Y29sX3JlbmFtZShwcmVidWlsdC0+dGFibGUsIG50aF9jb2wsIGZyb20sIHRvKTsKKwl9CiAJREJV R19SRVRVUk4oZmFsc2UpOwogfQogCisvKiogUmVuYW1lIGNvbHVtbnMuCitAcGFyYW0gaGFfYWx0 ZXJfaW5mbwlEYXRhIHVzZWQgZHVyaW5nIGluLXBsYWNlIGFsdGVyLgorQHBhcmFtIG5ld19jbHVz dGVyZWQJd2hldGhlciB0aGUgdGFibGUgaGFzIGJlZW4gcmVidWlsdAorQHBhcmFtIHRhYmxlCQl0 aGUgVEFCTEUKK0BwYXJhbSB0YWJsZV9zaGFyZQl0aGUgVEFCTEVfU0hBUkUKK0BwYXJhbSBwcmVi dWlsdAkJdGhlIHByZWJ1aWx0IHN0cnVjdAorQHBhcmFtIHRyeAkJZGF0YSBkaWN0aW9uYXJ5IHRy YW5zYWN0aW9uCitAcmV0dmFsIHRydWUJCUZhaWx1cmUKK0ByZXR2YWwgZmFsc2UJCVN1Y2Nlc3Mg Ki8KK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChub25udWxsLCB3YXJuX3VudXNlZF9yZXN1bHQpKQor Ym9vbAoraW5ub2Jhc2VfcmVuYW1lX2NvbHVtbnMoCisvKj09PT09PT09PT09PT09PT09PT09Ki8K KwlBbHRlcl9pbnBsYWNlX2luZm8qCWhhX2FsdGVyX2luZm8sCisJYm9vbAkJCW5ld19jbHVzdGVy ZWQsCisJY29uc3QgVEFCTEUqCQl0YWJsZSwKKwljb25zdCBUQUJMRV9TSEFSRSoJdGFibGVfc2hh cmUsCisJcm93X3ByZWJ1aWx0X3QqCQlwcmVidWlsdCwKKwl0cnhfdCoJCQl0cngpCit7CisJTGlz dF9pdGVyYXRvcl9mYXN0PENyZWF0ZV9maWVsZD4gY2ZfaXQ7CisJdWludCBpID0gMDsKKworCWZv ciAoRmllbGQqKiBmcCA9IHRhYmxlLT5maWVsZDsgKmZwOyBmcCsrLCBpKyspIHsKKwkJaWYgKCEo KCpmcCktPmZsYWdzICYgRklFTERfSVNfUkVOQU1FRCkpIHsKKwkJCWNvbnRpbnVlOworCQl9CisK KwkJY2ZfaXQuaW5pdChoYV9hbHRlcl9pbmZvLT5hbHRlcl9pbmZvLT5jcmVhdGVfbGlzdCk7CisJ CXdoaWxlIChDcmVhdGVfZmllbGQqIGNmID0gY2ZfaXQrKykgeworCQkJaWYgKGNmLT5maWVsZCA9 PSAqZnApIHsKKwkJCQlpZiAoaW5ub2Jhc2VfcmVuYW1lX2NvbHVtbigKKwkJCQkJICAgIHRhYmxl X3NoYXJlLAorCQkJCQkgICAgcHJlYnVpbHQsIHRyeCwgaSwKKwkJCQkJICAgIGNmLT5maWVsZC0+ ZmllbGRfbmFtZSwKKwkJCQkJICAgIGNmLT5maWVsZF9uYW1lLCBuZXdfY2x1c3RlcmVkKSkgewor CQkJCQlyZXR1cm4odHJ1ZSk7CisJCQkJfQorCQkJCWdvdG8gcHJvY2Vzc2VkX2ZpZWxkOworCQkJ fQorCQl9CisKKwkJdXRfZXJyb3I7Citwcm9jZXNzZWRfZmllbGQ6CisJCWNvbnRpbnVlOworCX0K KworCXJldHVybihmYWxzZSk7Cit9CisKIC8qKiBDb21taXQgb3Igcm9sbGJhY2sgdGhlIGNoYW5n ZXMgbWFkZSBkdXJpbmcKIHByZXBhcmVfaW5wbGFjZV9hbHRlcl90YWJsZSgpIGFuZCBpbnBsYWNl X2FsdGVyX3RhYmxlKCkgaW5zaWRlCiB0aGUgc3RvcmFnZSBlbmdpbmUuIE5vdGUgdGhhdCB0aGUg YWxsb3dlZCBsZXZlbCBvZiBjb25jdXJyZW5jeQpAQCAtMzYwNSw2ICszNjY1LDE0IEBAIGhhX2lu bm9iYXNlOjpjb21taXRfaW5wbGFjZV9hbHRlcl90YWJsZSgKIAkJCX0KIAkJfQogCisJCWlmICgo aGFfYWx0ZXJfaW5mby0+aGFuZGxlcl9mbGFncworCQkgICAgICYgQWx0ZXJfaW5wbGFjZV9pbmZv OjpBTFRFUl9DT0xVTU5fTkFNRSkKKwkJICAgICYmIGlubm9iYXNlX3JlbmFtZV9jb2x1bW5zKGhh X2FsdGVyX2luZm8sIHRydWUsIHRhYmxlLAorCQkJCQkgICAgICAgdGFibGVfc2hhcmUsIHByZWJ1 aWx0LCB0cngpKSB7CisJCQllcnIgPSAtMTsKKwkJCWdvdG8gZHJvcF9uZXdfY2x1c3RlcmVkOwor CQl9CisKIAkJLyogQSBuZXcgY2x1c3RlcmVkIGluZGV4IHdhcyBkZWZpbmVkIGZvciB0aGUgdGFi bGUKIAkJYW5kIHRoZXJlIHdhcyBubyBlcnJvciBhdCB0aGlzIHBvaW50LiBXZSBjYW4KIAkJbm93 IHJlbmFtZSB0aGUgb2xkIHRhYmxlIGFzIGEgdGVtcG9yYXJ5IHRhYmxlLApAQCAtMzcxNiwzMyAr Mzc4NCwxMCBAQCBoYV9pbm5vYmFzZTo6Y29tbWl0X2lucGxhY2VfYWx0ZXJfdGFibGUoCiAKIAlp ZiAoZXJyID09IDAgJiYgIW5ld19jbHVzdGVyZWQKIAkgICAgJiYgKGhhX2FsdGVyX2luZm8tPmhh bmRsZXJfZmxhZ3MKLQkJJiBBbHRlcl9pbnBsYWNlX2luZm86OkFMVEVSX0NPTFVNTl9OQU1FKSkg ewotCQlMaXN0X2l0ZXJhdG9yX2Zhc3Q8Q3JlYXRlX2ZpZWxkPiBjZl9pdDsKLQkJdWludCBpID0g MDsKLQotCQlmb3IgKEZpZWxkKiogZnAgPSB0YWJsZS0+ZmllbGQ7ICpmcCAmJiBlcnIgPT0gMDsg ZnArKywgaSsrKSB7Ci0JCQlpZiAoISgoKmZwKS0+ZmxhZ3MgJiBGSUVMRF9JU19SRU5BTUVEKSkg ewotCQkJCWNvbnRpbnVlOwotCQkJfQotCi0JCQljZl9pdC5pbml0KGhhX2FsdGVyX2luZm8tPmFs dGVyX2luZm8tPmNyZWF0ZV9saXN0KTsKLQkJCXdoaWxlIChDcmVhdGVfZmllbGQqIGNmID0gY2Zf aXQrKykgewotCQkJCWlmIChjZi0+ZmllbGQgPT0gKmZwKSB7Ci0JCQkJCWlmIChpbm5vYmFzZV9y ZW5hbWVfY29sdW1uKAotCQkJCQkJICAgIHRhYmxlX3NoYXJlLAotCQkJCQkJICAgIHByZWJ1aWx0 LCB0cngsIGksCi0JCQkJCQkgICAgY2YtPmZpZWxkLT5maWVsZF9uYW1lLAotCQkJCQkJICAgIGNm LT5maWVsZF9uYW1lKSkgewotCQkJCQkJZXJyID0gLTE7Ci0JCQkJCX0KLQkJCQkJZ290byBwcm9j ZXNzZWRfZmllbGQ7Ci0JCQkJfQotCQkJfQotCi0JCQl1dF9lcnJvcjsKLXByb2Nlc3NlZF9maWVs ZDoKLQkJCWNvbnRpbnVlOwotCQl9CisJCSYgQWx0ZXJfaW5wbGFjZV9pbmZvOjpBTFRFUl9DT0xV TU5fTkFNRSkKKwkgICAgJiYgaW5ub2Jhc2VfcmVuYW1lX2NvbHVtbnMoaGFfYWx0ZXJfaW5mbywg ZmFsc2UsIHRhYmxlLAorCQkJCSAgICAgICB0YWJsZV9zaGFyZSwgcHJlYnVpbHQsIHRyeCkpIHsK KwkJZXJyID0gLTE7CiAJfQogCiAJaWYgKGVyciA9PSAwICYmIGN0eCAmJiBjdHgtPm51bV90b19h ZGRfZmsgPiAwKSB7CgpObyBidW5kbGUgKHJlYXNvbjogdXNlbGVzcyBmb3IgcHVzaCBlbWFpbHMp Lg==