From: Alexander Barkov Date: March 4 2011 3:55pm Subject: bzr push into mysql-trunk branch (alexander.barkov:3727 to 3728) List-Archive: http://lists.mysql.com/commits/132491 Message-Id: <201103041555.p24Ftnp1007081@bar.myoffice.izhnet.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM3MjggQWxleGFuZGVyIEJhcmtvdgkyMDExLTAzLTA0IFttZXJnZV0KICAgICAgTWVyZ2luZyBm cm9tIG15c3FsLTUuNQoKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0L3IvY3R5cGVfbGF0 aW4xLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvY3R5cGVfdXRmOC5yZXN1bHQKICAgICAgbXlz cWwtdGVzdC90L2N0eXBlX2xhdGluMS50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC9jdHlwZV91dGY4 LnRlc3QKICAgICAgc3FsL2l0ZW0uY2MKICAgICAgc3FsL215c3FsZC5oCiAgICAgIHNxbC9zcWxf cGFyc2UuY2MKICAgICAgc3FsL3NxbF92aWV3LmNjCiAzNzI3IE5pcmJoYXkgQ2hvdWJleQkyMDEx LTAzLTA0IFttZXJnZV0KICAgICAgTWVyZ2Ugb2YgZml4IGZvciBidWcjMTE3NjYyMTkgZnJvbSBt eXNxbC01LjUgLT4gbXlzcWwtdHJ1bmsuCgogICAgbW9kaWZpZWQ6CiAgICAgIG15c3lzL2RlZmF1 bHQuYwo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2N0eXBlX2xhdGluMS5yZXN1bHQn Ci0tLSBhL215c3FsLXRlc3Qvci9jdHlwZV9sYXRpbjEucmVzdWx0CTIwMTEtMDItMTAgMDg6NDc6 MDUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2N0eXBlX2xhdGluMS5yZXN1bHQJMjAxMS0wMy0w NCAxNTo1NToxOCArMDAwMApAQCAtMzI2OSw2ICszMjY5LDIxIEBAIG1ha2V0aW1lKGBhYCxgYWAs YGFgKQogRFJPUCBUQUJMRSB0MTsKIFNFVCBzcWxfbW9kZT1kZWZhdWx0OwogIworIyBCdWcjMTE3 NjQ1MDMgKEJ1ZyM1NzM0MSkgUXVlcnkgaW4gRVhQTEFJTiBFWFRFTkRFRCBzaG93cyB3cm9uZyBj aGFyYWN0ZXJzCisjCitTRVQgTkFNRVMgdXRmODsKK0VYUExBSU4gRVhURU5ERUQgU0VMRUNUICdh YmNkw7MnLCBfbGF0aW4xJ2FiY2TDsycsIF91dGY4J2FiY2TDsyc7CitpZAlzZWxlY3RfdHlwZQl0 YWJsZQl0eXBlCXBvc3NpYmxlX2tleXMJa2V5CWtleV9sZW4JcmVmCXJvd3MJZmlsdGVyZWQJRXh0 cmEKKzEJU0lNUExFCU5VTEwJTlVMTAlOVUxMCU5VTEwJTlVMTAlOVUxMCU5VTEwJTlVMTAlObyB0 YWJsZXMgdXNlZAorV2FybmluZ3M6CitOb3RlCTEwMDMJc2VsZWN0ICdhYmNkw7MnIEFTIGBhYmNk w7NgLF9sYXRpbjEnYWJjZFx4QzNceEIzJyBBUyBgYWJjZMODwrNgLF91dGY4J2FiY2RceEMzXHhC MycgQVMgYGFiY2TDs2AKK1NFVCBOQU1FUyBsYXRpbjE7CitFWFBMQUlOIEVYVEVOREVEIFNFTEVD VCAnYWJjZMOzJywgX2xhdGluMSdhYmNkw7MnLCBfdXRmOCdhYmNkw7MnOworaWQJc2VsZWN0X3R5 cGUJdGFibGUJdHlwZQlwb3NzaWJsZV9rZXlzCWtleQlrZXlfbGVuCXJlZglyb3dzCWZpbHRlcmVk CUV4dHJhCisxCVNJTVBMRQlOVUxMCU5VTEwJTlVMTAlOVUxMCU5VTEwJTlVMTAlOVUxMCU5VTEwJ Tm8gdGFibGVzIHVzZWQKK1dhcm5pbmdzOgorTm90ZQkxMDAzCXNlbGVjdCAnYWJjZMOzJyBBUyBg YWJjZMOzYCxfbGF0aW4xJ2FiY2RceEMzXHhCMycgQVMgYGFiY2TDs2AsX3V0ZjgnYWJjZFx4QzNc eEIzJyBBUyBgYWJjZO+/vWAKKyMKICMgRW5kIG9mIDUuNSB0ZXN0cwogIwogIwoKPT09IG1vZGlm aWVkIGZpbGUgJ215c3FsLXRlc3Qvci9jdHlwZV91dGY4LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVz dC9yL2N0eXBlX3V0ZjgucmVzdWx0CTIwMTEtMDItMTAgMDg6NDc6MDUgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC9yL2N0eXBlX3V0ZjgucmVzdWx0CTIwMTEtMDMtMDQgMTU6NTU6MTggKzAwMDAKQEAg LTUwODMsNiArNTA4MywyMSBAQCBHUk9VUCBCWSBJTlNFUlQoJycsIHQyLmEsIHQxLmEsIChAQGds b2JhCiBFUlJPUiAyMzAwMDogRHVwbGljYXRlIGVudHJ5ICcxMDczNzQxODI0MTA3Mzc0MTgyNDEn IGZvciBrZXkgJ2dyb3VwX2tleScKIERST1AgVEFCTEUgdDE7CiAjCisjIEJ1ZyMxMTc2NDUwMyAo QnVnIzU3MzQxKSBRdWVyeSBpbiBFWFBMQUlOIEVYVEVOREVEIHNob3dzIHdyb25nIGNoYXJhY3Rl cnMKKyMKK1NFVCBOQU1FUyBsYXRpbjE7CitFWFBMQUlOIEVYVEVOREVEIFNFTEVDVCAnYWJjZMOB w4LDg8OEw4UnLCBfbGF0aW4xJ2FiY2TDgcOCw4PDhMOFJywgX3V0ZjgnYWJjZMOBw4LDg8OEw4Un IEFTIHU7CitpZAlzZWxlY3RfdHlwZQl0YWJsZQl0eXBlCXBvc3NpYmxlX2tleXMJa2V5CWtleV9s ZW4JcmVmCXJvd3MJZmlsdGVyZWQJRXh0cmEKKzEJU0lNUExFCU5VTEwJTlVMTAlOVUxMCU5VTEwJ TlVMTAlOVUxMCU5VTEwJTlVMTAlObyB0YWJsZXMgdXNlZAorV2FybmluZ3M6CitOb3RlCTEwMDMJ c2VsZWN0ICdhYmNkw4HDgsODw4TDhScgQVMgYGFiY2TDgcOCw4PDhMOFYCxfbGF0aW4xJ2FiY2Rc eEMzXHg4MVx4QzNceDgyXHhDM1x4ODNceEMzXHg4NFx4QzNceDg1JyBBUyBgYWJjZMOBw4LDg8OE w4VgLF91dGY4J2FiY2RceEMzXHg4MVx4QzNceDgyXHhDM1x4ODNceEMzXHg4NFx4QzNceDg1JyBB UyBgdWAKK1NFVCBOQU1FUyB1dGY4OworRVhQTEFJTiBFWFRFTkRFRCBTRUxFQ1QgJ2FiY2TDgcOC w4PDhMOFJywgX2xhdGluMSdhYmNkw4HDgsODw4TDhScsIF91dGY4J2FiY2TDgcOCw4PDhMOFJzsK K2lkCXNlbGVjdF90eXBlCXRhYmxlCXR5cGUJcG9zc2libGVfa2V5cwlrZXkJa2V5X2xlbglyZWYJ cm93cwlmaWx0ZXJlZAlFeHRyYQorMQlTSU1QTEUJTlVMTAlOVUxMCU5VTEwJTlVMTAlOVUxMCU5V TEwJTlVMTAlOVUxMCU5vIHRhYmxlcyB1c2VkCitXYXJuaW5nczoKK05vdGUJMTAwMwlzZWxlY3Qg J2FiY2TDgcOCw4PDhMOFJyBBUyBgYWJjZMOBw4LDg8OEw4VgLF9sYXRpbjEnYWJjZFx4QzNceDgx XHhDM1x4ODJceEMzXHg4M1x4QzNceDg0XHhDM1x4ODUnIEFTIGBhYmNkw4PCgcOD4oCaw4PGksOD 4oCew4PigKZgLF91dGY4J2FiY2RceEMzXHg4MVx4QzNceDgyXHhDM1x4ODNceEMzXHg4NFx4QzNc eDg1JyBBUyBgYWJjZMOBw4LDg8OEw4VgCisjCiAjIEVuZCBvZiA1LjUgdGVzdHMKICMKICMKCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvY3R5cGVfbGF0aW4xLnRlc3QnCi0tLSBhL215 c3FsLXRlc3QvdC9jdHlwZV9sYXRpbjEudGVzdAkyMDEwLTExLTE4IDA5OjI2OjQ1ICswMDAwCisr KyBiL215c3FsLXRlc3QvdC9jdHlwZV9sYXRpbjEudGVzdAkyMDExLTAzLTA0IDE1OjU1OjE4ICsw MDAwCkBAIC0xNDMsNiArMTQzLDIxIEBAIFNFTEVDVCAnJyBMSUtFICcnIEVTQ0FQRSBFWFBPUlRf U0VUKDEsIDEKIC0tc291cmNlIGluY2x1ZGUvY3R5cGVfbnVtY29udi5pbmMKIAogLS1lY2hvICMK Ky0tZWNobyAjIEJ1ZyMxMTc2NDUwMyAoQnVnIzU3MzQxKSBRdWVyeSBpbiBFWFBMQUlOIEVYVEVO REVEIHNob3dzIHdyb25nIGNoYXJhY3RlcnMKKy0tZWNobyAjCisjIFRlc3QgbGF0aW4xIGNsaWVu dCBlcnJvbmVvdXNseSBzdGFydGVkIHdpdGggLS1kZWZhdWx0LWNoYXJhY3Rlci1zZXQ9dXRmOAor IyBFWFBMQUlOIG91dHB1dCBzaG91bGQgc3RpbGwgYmUgcHJldHR5IHJlYWRhYmxlLgorIyBXZSdy ZSB1c2luZyAnw7MnIChceEMzXHhCMykgYXMgYSBtYWdpYyBzZXF1ZW5jZToKKyMgLSBpdCdzICJM QVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggVElMREUgQUJPVkUgKyBTVVBFUlNDUklQVCAzIiBp biBsYXRpbjEKKyMgLSBpdCdzICJMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEFDVVRFIEFCT1ZF IiBpbiB1dGY4LgorU0VUIE5BTUVTIHV0Zjg7CitFWFBMQUlOIEVYVEVOREVEIFNFTEVDVCAnYWJj ZMOzJywgX2xhdGluMSdhYmNkw7MnLCBfdXRmOCdhYmNkw7MnOworIyBUZXN0IG5vcm1hbCBsYXRp bjEKK1NFVCBOQU1FUyBsYXRpbjE7CitFWFBMQUlOIEVYVEVOREVEIFNFTEVDVCAnYWJjZMOzJywg X2xhdGluMSdhYmNkw7MnLCBfdXRmOCdhYmNkw7MnOworCisKKy0tZWNobyAjCiAtLWVjaG8gIyBF bmQgb2YgNS41IHRlc3RzCiAtLWVjaG8gIwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVz dC90L2N0eXBlX3V0ZjgudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L2N0eXBlX3V0ZjgudGVzdAky MDEwLTEyLTE3IDExOjI4OjU5ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9jdHlwZV91dGY4LnRl c3QJMjAxMS0wMy0wNCAxNTo1NToxOCArMDAwMApAQCAtMTU3MCw2ICsxNTcwLDE2IEBAIFNFTEVD VCBDT1VOVCgqKSBGUk9NIHQxLCB0MSB0MiAKIEdST1VQIEJZIElOU0VSVCgnJywgdDIuYSwgdDEu YSwgKEBAZ2xvYmFsLm1heF9iaW5sb2dfc2l6ZSkpOwogRFJPUCBUQUJMRSB0MTsKIAorLS1lY2hv ICMKKy0tZWNobyAjIEJ1ZyMxMTc2NDUwMyAoQnVnIzU3MzQxKSBRdWVyeSBpbiBFWFBMQUlOIEVY VEVOREVEIHNob3dzIHdyb25nIGNoYXJhY3RlcnMKKy0tZWNobyAjCisjIEVtdWxhdGUgdXRmOCBj bGllbnQgZXJyb25lb3VzbHkgc3RhcnRlZCB3aXRoIC0tZGVmYXVsdC1jaGFyYWN0ZXItc2V0PWxh dGluMSwKKyMgYXMgaW4gdGhlIGJ1ZyByZXBvcnQuIEVYUExBSU4gb3V0cHV0IHNob3VsZCBzdGls bCBiZSBwcmV0dHkgcmVhZGFibGUKK1NFVCBOQU1FUyBsYXRpbjE7CitFWFBMQUlOIEVYVEVOREVE IFNFTEVDVCAnYWJjZMOBw4LDg8OEw4UnLCBfbGF0aW4xJ2FiY2TDgcOCw4PDhMOFJywgX3V0Zjgn YWJjZMOBw4LDg8OEw4UnIEFTIHU7CisjIFRlc3Qgbm9ybWFsIHV0ZjgKK1NFVCBOQU1FUyB1dGY4 OworRVhQTEFJTiBFWFRFTkRFRCBTRUxFQ1QgJ2FiY2TDgcOCw4PDhMOFJywgX2xhdGluMSdhYmNk w4HDgsODw4TDhScsIF91dGY4J2FiY2TDgcOCw4PDhMOFJzsKIAogLS1lY2hvICMKIC0tZWNobyAj IEVuZCBvZiA1LjUgdGVzdHMKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvaXRlbS5jYycKLS0tIGEv c3FsL2l0ZW0uY2MJMjAxMS0wMy0wMSAxNDo0NzowMSArMDAwMAorKysgYi9zcWwvaXRlbS5jYwky MDExLTAzLTA0IDE1OjU1OjE4ICswMDAwCkBAIC0yNjA2LDcgKzI2MDYsOSBAQCBteV9kZWNpbWFs ICpJdGVtX2Zsb2F0Ojp2YWxfZGVjaW1hbChteV9kCiAKIHZvaWQgSXRlbV9zdHJpbmc6OnByaW50 KFN0cmluZyAqc3RyLCBlbnVtX3F1ZXJ5X3R5cGUgcXVlcnlfdHlwZSkKIHsKLSAgaWYgKHF1ZXJ5 X3R5cGUgPT0gUVRfT1JESU5BUlkgJiYgaXNfY3Nfc3BlY2lmaWVkKCkpCisgIGNvbnN0IGJvb2wg cHJpbnRfaW50cm9kdWNlcj0KKyAgICAhKHF1ZXJ5X3R5cGUgJiBRVF9XSVRIT1VUX0lOVFJPRFVD RVJTKSAmJiBpc19jc19zcGVjaWZpZWQoKTsKKyAgaWYgKHByaW50X2ludHJvZHVjZXIpCiAgIHsK ICAgICBzdHItPmFwcGVuZCgnXycpOwogICAgIHN0ci0+YXBwZW5kKGNvbGxhdGlvbi5jb2xsYXRp b24tPmNzbmFtZSk7CkBAIC0yNjE0LDI3ICsyNjE2LDUyIEBAIHZvaWQgSXRlbV9zdHJpbmc6OnBy aW50KFN0cmluZyAqc3RyLCBlbnUKIAogICBzdHItPmFwcGVuZCgnXCcnKTsKIAotICBpZiAocXVl cnlfdHlwZSA9PSBRVF9PUkRJTkFSWSB8fAotICAgICAgbXlfY2hhcnNldF9zYW1lKHN0cl92YWx1 ZS5jaGFyc2V0KCksIHN5c3RlbV9jaGFyc2V0X2luZm8pKQorICBpZiAocXVlcnlfdHlwZSAmIFFU X1RPX1NZU1RFTV9DSEFSU0VUKQogICB7Ci0gICAgc3RyX3ZhbHVlLnByaW50KHN0cik7CisgICAg aWYgKHByaW50X2ludHJvZHVjZXIpCisgICAgeworICAgICAgLyoKKyAgICAgICAgQmVjYXVzZSB3 ZSB3cm90ZSBhbiBpbnRyb2R1Y2VyLCB3ZSBtdXN0IHByaW50IHN0cl92YWx1ZSBpbiBpdHMKKyAg ICAgICAgY2hhcnNldCwgYW5kIHRoZSByZXN1bHRpbmcgYnl0ZXMgbXVzdCBub3QgYmUgY2hhbmdl ZCB1bnRpbCB0aGV5CisgICAgICAgIHJlYWNoIHRoZSBlbmQgY2xpZW50LgorICAgICAgICBCdXQg dGhlIGNhbGxlciBpcyBhc2tpbmcgZm9yIHN5c3RlbV9jaGFyc2V0X2luZm8sIGFuZCBtYXkgbGF0 ZXIKKyAgICAgICAgY29udmVydCBpbnRvIGNoYXJhY3Rlcl9zZXRfcmVzdWx0cy4gVGhhdCBtZWFu cyB0d28gY29udmVyc2lvbnM6IHdlCisgICAgICAgIG11c3QgZW5zdXJlIHRoYXQgdGhleSBkb24n dCBjaGFuZ2Ugb3VyIHByaW50ZWQgYnl0ZXMuCisgICAgICAgIFNvIHdlIHByaW50IHN0cl92YWx1 ZSBpbiB0aGUgbGVhc3QgY29tbW9uIGRlbm9taW5hdG9yIG9mIHRoZSB0aHJlZQorICAgICAgICBj aGFyc2V0cyBpbnZvbHZlZDogQVNDSUkuIE5vbi1BU0NJSSBjaGFyYWN0ZXJzIGFyZSBwcmludGVk IGFzIFx4RkYKKyAgICAgICAgc2VxdWVuY2VzICh3aGljaCBpcyBBU0NJSSB0b28pLiBUaGlzIHdh eSwgb3VyIGJ5dGVzIHdpbGwgbm90IGJlCisgICAgICAgIGNoYW5nZWQuCisgICAgICAqLworICAg ICAgRXJyQ29udlN0cmluZyB0bXAoc3RyX3ZhbHVlLnB0cigpLCBzdHJfdmFsdWUubGVuZ3RoKCks ICZteV9jaGFyc2V0X2Jpbik7CisgICAgICBzdHItPmFwcGVuZCh0bXAucHRyKCkpOworICAgIH0K KyAgICBlbHNlCisgICAgeworICAgICAgaWYgKG15X2NoYXJzZXRfc2FtZShzdHJfdmFsdWUuY2hh cnNldCgpLCBzeXN0ZW1fY2hhcnNldF9pbmZvKSkKKyAgICAgICAgc3RyX3ZhbHVlLnByaW50KHN0 cik7IC8vIGFscmVhZHkgaW4gc3lzdGVtX2NoYXJzZXRfaW5mbworICAgICAgZWxzZSAvLyBuZWVk IHRvIGNvbnZlcnQKKyAgICAgIHsKKyAgICAgICAgVEhEICp0aGQ9IGN1cnJlbnRfdGhkOworICAg ICAgICBMRVhfU1RSSU5HIHV0ZjhfbGV4X3N0cjsKKworICAgICAgICB0aGQtPmNvbnZlcnRfc3Ry aW5nKCZ1dGY4X2xleF9zdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtX2No YXJzZXRfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJfdmFsdWUuY19wdHJf c2FmZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cl92YWx1ZS5sZW5ndGgoKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJfdmFsdWUuY2hhcnNldCgpKTsKKworICAg ICAgICBTdHJpbmcgdXRmOF9zdHIodXRmOF9sZXhfc3RyLnN0ciwKKyAgICAgICAgICAgICAgICAg ICAgICAgIHV0ZjhfbGV4X3N0ci5sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICBzeXN0 ZW1fY2hhcnNldF9pbmZvKTsKKworICAgICAgICB1dGY4X3N0ci5wcmludChzdHIpOworICAgICAg fQorICAgIH0KICAgfQogICBlbHNlCiAgIHsKLSAgICBUSEQgKnRoZD0gY3VycmVudF90aGQ7Ci0g ICAgTEVYX1NUUklORyB1dGY4X2xleF9zdHI7Ci0KLSAgICB0aGQtPmNvbnZlcnRfc3RyaW5nKCZ1 dGY4X2xleF9zdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1fY2hhcnNldF9pbmZv LAotICAgICAgICAgICAgICAgICAgICAgICAgc3RyX3ZhbHVlLmNfcHRyX3NhZmUoKSwKLSAgICAg ICAgICAgICAgICAgICAgICAgIHN0cl92YWx1ZS5sZW5ndGgoKSwKLSAgICAgICAgICAgICAgICAg ICAgICAgIHN0cl92YWx1ZS5jaGFyc2V0KCkpOwotCi0gICAgU3RyaW5nIHV0Zjhfc3RyKHV0Zjhf bGV4X3N0ci5zdHIsCi0gICAgICAgICAgICAgICAgICAgIHV0ZjhfbGV4X3N0ci5sZW5ndGgsCi0g ICAgICAgICAgICAgICAgICAgIHN5c3RlbV9jaGFyc2V0X2luZm8pOwotCi0gICAgdXRmOF9zdHIu cHJpbnQoc3RyKTsKKyAgICAvLyBDYWxsZXIgd2FudHMgYSByZXN1bHQgaW4gdGhlIGNoYXJzZXQg b2Ygc3RyX3ZhbHVlLgorICAgIHN0cl92YWx1ZS5wcmludChzdHIpOwogICB9CiAKICAgc3RyLT5h cHBlbmQoJ1wnJyk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL215c3FsZC5oJwotLS0gYS9zcWwv bXlzcWxkLmgJMjAxMS0wMi0xOCAxMTozOTowNSArMDAwMAorKysgYi9zcWwvbXlzcWxkLmgJMjAx MS0wMy0wNCAxNTo1NToxOCArMDAwMApAQCAtNDE0LDE2ICs0MTQsMTYgQEAgZW51bSBvcHRpb25z X215c3FsZAogCiAKIC8qKgotICBRdWVyeSB0eXBlIGNvbnN0YW50cy4KLQotICBRVF9PUkRJTkFS WSAtLSBvcmRpbmFyeSBTUUwgcXVlcnkuCi0gIFFUX0lTIC0tIFNRTCBxdWVyeSB0byBiZSBzaG93 biBpbiBJTkZPUk1BVElPTl9TQ0hFTUEgKGluIHV0ZjggYW5kIHdpdGhvdXQKLSAgY2hhcmFjdGVy IHNldCBpbnRyb2R1Y2VycykuCisgICBRdWVyeSB0eXBlIGNvbnN0YW50cyAodXNhYmxlIGFzIGJp dG1hcCBmbGFncykuCiAqLwogZW51bSBlbnVtX3F1ZXJ5X3R5cGUKIHsKLSAgUVRfT1JESU5BUlks Ci0gIFFUX0lTCisgIC8vLyBOb3RoaW5nIHNwZWNpZmljLCBvcmRpbmFyeSBTUUwgcXVlcnkuCisg IFFUX09SRElOQVJZPSAwLAorICAvLy8gSW4gdXRmOC4KKyAgUVRfVE9fU1lTVEVNX0NIQVJTRVQ9 ICgxIDw8IDApLAorICAvLy8gV2l0aG91dCBjaGFyYWN0ZXIgc2V0IGludHJvZHVjZXJzLgorICBR VF9XSVRIT1VUX0lOVFJPRFVDRVJTPSAoMSA8PCAxKQogfTsKIAogLyogcXVlcnlfaWQgKi8KCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3BhcnNlLmNjJwotLS0gYS9zcWwvc3FsX3BhcnNlLmNj CTIwMTEtMDMtMDMgMDg6MzI6MzYgKzAwMDAKKysrIGIvc3FsL3NxbF9wYXJzZS5jYwkyMDExLTAz LTA0IDE1OjU1OjE4ICswMDAwCkBAIC00NDk1LDcgKzQ0OTUsMTEgQEAgc3RhdGljIGJvb2wgZXhl Y3V0ZV9zcWxjb21fc2VsZWN0KFRIRCAqdAogICAgICAgICBjaGFyIGJ1ZmZbMTAyNF07CiAgICAg ICAgIFN0cmluZyBzdHIoYnVmZiwodWludDMyKSBzaXplb2YoYnVmZiksIHN5c3RlbV9jaGFyc2V0 X2luZm8pOwogICAgICAgICBzdHIubGVuZ3RoKDApOwotICAgICAgICB0aGQtPmxleC0+dW5pdC5w cmludCgmc3RyLCBRVF9PUkRJTkFSWSk7CisgICAgICAgIC8qCisgICAgICAgICAgVGhlIHdhcm5p bmdzIHN5c3RlbSByZXF1aXJlcyBpbnB1dCBpbiB1dGY4LCBAc2VlCisgICAgICAgICAgbXlzcWxk X3Nob3dfd2FybmluZ3MoKS4KKyAgICAgICAgKi8KKyAgICAgICAgdGhkLT5sZXgtPnVuaXQucHJp bnQoJnN0ciwgUVRfVE9fU1lTVEVNX0NIQVJTRVQpOwogICAgICAgICBzdHIuYXBwZW5kKCdcMCcp OwogICAgICAgICBwdXNoX3dhcm5pbmcodGhkLCBNWVNRTF9FUlJPUjo6V0FSTl9MRVZFTF9OT1RF LAogICAgICAgICAgICAgICAgICAgICAgRVJfWUVTLCBzdHIucHRyKCkpOwoKPT09IG1vZGlmaWVk IGZpbGUgJ3NxbC9zcWxfdmlldy5jYycKLS0tIGEvc3FsL3NxbF92aWV3LmNjCTIwMTEtMDMtMDEg MTQ6NDc6MDEgKzAwMDAKKysrIGIvc3FsL3NxbF92aWV3LmNjCTIwMTEtMDMtMDQgMTU6NTU6MTgg KzAwMDAKQEAgLTg0MCw3ICs4NDAsOCBAQCBzdGF0aWMgaW50IG15c3FsX3JlZ2lzdGVyX3ZpZXco VEhEICp0aGQsCiAgICAgdGhkLT52YXJpYWJsZXMuc3FsX21vZGUmPSB+TU9ERV9BTlNJX1FVT1RF UzsKIAogICAgIGxleC0+dW5pdC5wcmludCgmdmlld19xdWVyeSwgUVRfT1JESU5BUlkpOwotICAg IGxleC0+dW5pdC5wcmludCgmaXNfcXVlcnksIFFUX0lTKTsKKyAgICBsZXgtPnVuaXQucHJpbnQo JmlzX3F1ZXJ5LAorICAgICAgICAgICAgICAgICAgICBlbnVtX3F1ZXJ5X3R5cGUoUVRfVE9fU1lT VEVNX0NIQVJTRVQgfCBRVF9XSVRIT1VUX0lOVFJPRFVDRVJTKSk7CiAKICAgICB0aGQtPnZhcmlh Ymxlcy5zcWxfbW9kZXw9IHNxbF9tb2RlOwogICB9CgpObyBidW5kbGUgKHJlYXNvbjogdXNlbGVz cyBmb3IgcHVzaCBlbWFpbHMpLg==