From: marko.makela Date: February 2 2012 10:46am Subject: bzr push into mysql-trunk branch (marko.makela:3822 to 3824) List-Archive: http://lists.mysql.com/commits/142713 Message-Id: <201202021047.q12Al3Bx032538@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM4MjQgTWFya28gTcOka2Vsw6QJMjAxMi0wMi0wMiBbbWVyZ2VdCiAgICAgIE1lcmdlIG15c3Fs LTUuNSB0byBteXNxbC10cnVuay4KCiAgICBtb2RpZmllZDoKICAgICAgc3RvcmFnZS9pbm5vYmFz ZS9idHIvYnRyMGJ0ci5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2J0ci9idHIwc2VhLmNjCiAg ICAgIHN0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBidWYuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFz ZS9idWYvYnVmMGRibHdyLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYu Y2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J0cjBidHIuaWMKICAgICAgc3RvcmFn ZS9pbm5vYmFzZS9pbmNsdWRlL2J1ZjBidWYuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvcGFnZTBwYWdlLmljCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvbG9jay9sb2NrMGxvY2suY2MK ICAgICAgc3RvcmFnZS9pbm5vYmFzZS9wYWdlL3BhZ2UwY3VyLmNjCiAgICAgIHN0b3JhZ2UvaW5u b2Jhc2UvcGFnZS9wYWdlMHBhZ2UuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHNl bC5jYwogMzgyMyBNYXJrbyBNw6RrZWzDpAkyMDEyLTAyLTAyIFttZXJnZV0KICAgICAgTWVyZ2Ug bXlzcWwtNS41IHRvIG15c3FsLXRydW5rLgoKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0 L3N1aXRlL2lubm9kYi90L2lubm9kYl9idWczNDMwMC50ZXN0CiAzODIyIEppbW15IFlhbmcJMjAx Mi0wMi0wMgogICAgICBOb25mdW5jdGlvbmFsIGZpeCBmb3IgYSB0eXBvIG9uIGEgbW9uaXRvciBj b3VudGVyIG5hbWUuCiAgICAgIAogICAgICBBcHByb3ZlZCBieSBTdW5ueSBCYWlucwoKICAgIG1v ZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL3Nydi9zcnYwbW9uLmNjCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl9idWczNDMwMC50ZXN0Jwot LS0gYS9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl9idWczNDMwMC50ZXN0CXJldmlk OmppbW15LnlhbmdAb3JhY2xlLmNvbS0yMDEyMDIwMjA5MjM1MS1iZmZsYnB2N3I0aTB6ZTN6Cisr KyBiL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiX2J1ZzM0MzAwLnRlc3QJcmV2aWQ6 bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjAyMDIxMDQ0MDctZnZrc3VjZGVqZ3RwMTJoNQpA QCAtNSwxMyArNSwxMSBAQAogCiAtLSBzb3VyY2UgaW5jbHVkZS9oYXZlX2lubm9kYi5pbmMKIAot IyBCTE9CIHN1cHBvcnQgaXMgdG9vIHNsb3cgZm9yIHNtYWxsZXIgcGFnZSBzaXplcy4KLSMgU29t ZSBQQjIgcGxhdGZvcm1zIGNhbiBnZXQgYSBsb25nIHNlbWVwaG9yZSB3YWl0LgotLS0gc291cmNl IGluY2x1ZGUvaGF2ZV9pbm5vZGJfMTZrLmluYwotCiAtLSBkaXNhYmxlX3F1ZXJ5X2xvZwogLS0g ZGlzYWJsZV9yZXN1bHRfbG9nCiAKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiSW5ub0RCOiBX YXJuaW5nOiBhIGxvbmcgc2VtYXBob3JlIHdhaXQ6Iik7CisKICMgc2V0IHBhY2tldCBzaXplIGFu ZCByZWNvbm5lY3QgCiBsZXQgJG1heF9wYWNrZXQ9YHNlbGVjdCBAQGdsb2JhbC5tYXhfYWxsb3dl ZF9wYWNrZXRgOwogU0VUIEBAZ2xvYmFsLm1heF9hbGxvd2VkX3BhY2tldD0xNjc3NzIxNjsKCj09 PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2J0ci9idHIwYnRyLmNjJwotLS0gYS9z dG9yYWdlL2lubm9iYXNlL2J0ci9idHIwYnRyLmNjCXJldmlkOmppbW15LnlhbmdAb3JhY2xlLmNv bS0yMDEyMDIwMjA5MjM1MS1iZmZsYnB2N3I0aTB6ZTN6CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uv YnRyL2J0cjBidHIuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjAyMDIxMDQ0 MDctZnZrc3VjZGVqZ3RwMTJoNQpAQCAtNTcsMTEgKzU3LDEyIEBAIGJ0cl9jb3JydXB0aW9uX3Jl cG9ydCgKIAkJKHVuc2lnbmVkKSBidWZfYmxvY2tfZ2V0X3NwYWNlKGJsb2NrKSwKIAkJKHVuc2ln bmVkKSBidWZfYmxvY2tfZ2V0X3BhZ2Vfbm8oYmxvY2spLAogCQlpbmRleC0+bmFtZSwgaW5kZXgt PnRhYmxlX25hbWUpOwotCWJ1Zl9wYWdlX3ByaW50KGJ1Zl9ibG9ja19nZXRfZnJhbWUoYmxvY2sp LCAwKTsKIAlpZiAoYmxvY2stPnBhZ2UuemlwLmRhdGEpIHsKIAkJYnVmX3BhZ2VfcHJpbnQoYmxv Y2stPnBhZ2UuemlwLmRhdGEsCi0JCQkgICAgICAgYnVmX2Jsb2NrX2dldF96aXBfc2l6ZShibG9j aykpOworCQkJICAgICAgIGJ1Zl9ibG9ja19nZXRfemlwX3NpemUoYmxvY2spLAorCQkJICAgICAg IEJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsKIAl9CisJYnVmX3BhZ2VfcHJpbnQoYnVmX2Jsb2Nr X2dldF9mcmFtZShibG9jayksIDAsIDApOwogfQogCiAjaWZkZWYgVU5JVl9CTE9CX0RFQlVHCkBA IC0xMzk2LDkgKzEzOTcsMTEgQEAgYnRyX3BhZ2VfZ2V0X2ZhdGhlcl9ub2RlX3B0cl9mdW5jKAog CWlmIChidHJfbm9kZV9wdHJfZ2V0X2NoaWxkX3BhZ2Vfbm8obm9kZV9wdHIsIG9mZnNldHMpICE9 IHBhZ2Vfbm8pIHsKIAkJcmVjX3QqCXByaW50X3JlYzsKIAkJZnB1dHMoIklubm9EQjogRHVtcCBv ZiB0aGUgY2hpbGQgcGFnZTpcbiIsIHN0ZGVycik7Ci0JCWJ1Zl9wYWdlX3ByaW50KHBhZ2VfYWxp Z24odXNlcl9yZWMpLCAwKTsKKwkJYnVmX3BhZ2VfcHJpbnQocGFnZV9hbGlnbih1c2VyX3JlYyks IDAsCisJCQkgICAgICAgQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOwogCQlmcHV0cygiSW5ub0RC OiBEdW1wIG9mIHRoZSBwYXJlbnQgcGFnZTpcbiIsIHN0ZGVycik7Ci0JCWJ1Zl9wYWdlX3ByaW50 KHBhZ2VfYWxpZ24obm9kZV9wdHIpLCAwKTsKKwkJYnVmX3BhZ2VfcHJpbnQocGFnZV9hbGlnbihu b2RlX3B0ciksIDAsCisJCQkgICAgICAgQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOwogCiAJCWZw dXRzKCJJbm5vREI6IENvcnJ1cHRpb24gb2YgYW4gaW5kZXggdHJlZTogdGFibGUgIiwgc3RkZXJy KTsKIAkJdXRfcHJpbnRfbmFtZShzdGRlcnIsIE5VTEwsIFRSVUUsIGluZGV4LT50YWJsZV9uYW1l KTsKQEAgLTE4MzYsOCArMTgzOSw5IEBAIGJ0cl9wYWdlX3Jlb3JnYW5pemVfbG93KAogCW1heF9p bnNfc2l6ZTIgPSBwYWdlX2dldF9tYXhfaW5zZXJ0X3NpemVfYWZ0ZXJfcmVvcmdhbml6ZShwYWdl LCAxKTsKIAogCWlmIChkYXRhX3NpemUxICE9IGRhdGFfc2l6ZTIgfHwgbWF4X2luc19zaXplMSAh PSBtYXhfaW5zX3NpemUyKSB7Ci0JCWJ1Zl9wYWdlX3ByaW50KHBhZ2UsIDApOwotCQlidWZfcGFn ZV9wcmludCh0ZW1wX3BhZ2UsIDApOworCQlidWZfcGFnZV9wcmludChwYWdlLCAwLCBCVUZfUEFH RV9QUklOVF9OT19DUkFTSCk7CisJCWJ1Zl9wYWdlX3ByaW50KHRlbXBfcGFnZSwgMCwgQlVGX1BB R0VfUFJJTlRfTk9fQ1JBU0gpOworCiAJCWZwcmludGYoc3RkZXJyLAogCQkJIklubm9EQjogRXJy b3I6IHBhZ2Ugb2xkIGRhdGEgc2l6ZSAlbHUiCiAJCQkiIG5ldyBkYXRhIHNpemUgJWx1XG4iCkBA IC0xODQ4LDYgKzE4NTIsNyBAQCBidHJfcGFnZV9yZW9yZ2FuaXplX2xvdygKIAkJCSh1bnNpZ25l ZCBsb25nKSBkYXRhX3NpemUxLCAodW5zaWduZWQgbG9uZykgZGF0YV9zaXplMiwKIAkJCSh1bnNp Z25lZCBsb25nKSBtYXhfaW5zX3NpemUxLAogCQkJKHVuc2lnbmVkIGxvbmcpIG1heF9pbnNfc2l6 ZTIpOworCQl1dF9hZCgwKTsKIAl9IGVsc2UgewogCQlzdWNjZXNzID0gVFJVRTsKIAl9CkBAIC00 MDYzLDcgKzQwNjgsNyBAQCBidHJfaW5kZXhfcmVjX3ZhbGlkYXRlKAogCQkJKHVsb25nKSByZWNf Z2V0X25fZmllbGRzX29sZChyZWMpLCAodWxvbmcpIG4pOwogCiAJCWlmIChkdW1wX29uX2Vycm9y KSB7Ci0JCQlidWZfcGFnZV9wcmludChwYWdlLCAwKTsKKwkJCWJ1Zl9wYWdlX3ByaW50KHBhZ2Us IDAsIEJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsKIAogCQkJZnB1dHMoIklubm9EQjogY29ycnVw dCByZWNvcmQgIiwgc3RkZXJyKTsKIAkJCXJlY19wcmludF9vbGQoc3RkZXJyLCByZWMpOwpAQCAt NDEwMSw3ICs0MTA2LDggQEAgYnRyX2luZGV4X3JlY192YWxpZGF0ZSgKIAkJCQkodWxvbmcpIGks ICh1bG9uZykgbGVuLCAodWxvbmcpIGZpeGVkX3NpemUpOwogCiAJCQlpZiAoZHVtcF9vbl9lcnJv cikgewotCQkJCWJ1Zl9wYWdlX3ByaW50KHBhZ2UsIDApOworCQkJCWJ1Zl9wYWdlX3ByaW50KHBh Z2UsIDAsCisJCQkJCSAgICAgICBCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CiAKIAkJCQlmcHV0 cygiSW5ub0RCOiBjb3JydXB0IHJlY29yZCAiLCBzdGRlcnIpOwogCQkJCXJlY19wcmludF9uZXco c3RkZXJyLCByZWMsIG9mZnNldHMpOwpAQCAtNDMxMiw4ICs0MzE4LDggQEAgbG9vcDoKIAkJCWJ0 cl92YWxpZGF0ZV9yZXBvcnQyKGluZGV4LCBsZXZlbCwgYmxvY2ssIHJpZ2h0X2Jsb2NrKTsKIAkJ CWZwdXRzKCJJbm5vREI6IGJyb2tlbiBGSUxfUEFHRV9ORVhUIgogCQkJICAgICAgIiBvciBGSUxf UEFHRV9QUkVWIGxpbmtzXG4iLCBzdGRlcnIpOwotCQkJYnVmX3BhZ2VfcHJpbnQocGFnZSwgMCk7 Ci0JCQlidWZfcGFnZV9wcmludChyaWdodF9wYWdlLCAwKTsKKwkJCWJ1Zl9wYWdlX3ByaW50KHBh Z2UsIDAsIEJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsKKwkJCWJ1Zl9wYWdlX3ByaW50KHJpZ2h0 X3BhZ2UsIDAsIEJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsKIAogCQkJcmV0ID0gRkFMU0U7CiAJ CX0KQEAgLTQzMjEsOCArNDMyNyw4IEBAIGxvb3A6CiAJCWlmIChwYWdlX2lzX2NvbXAocmlnaHRf cGFnZSkgIT0gcGFnZV9pc19jb21wKHBhZ2UpKSB7CiAJCQlidHJfdmFsaWRhdGVfcmVwb3J0Mihp bmRleCwgbGV2ZWwsIGJsb2NrLCByaWdodF9ibG9jayk7CiAJCQlmcHV0cygiSW5ub0RCOiAnY29t cGFjdCcgZmxhZyBtaXNtYXRjaFxuIiwgc3RkZXJyKTsKLQkJCWJ1Zl9wYWdlX3ByaW50KHBhZ2Us IDApOwotCQkJYnVmX3BhZ2VfcHJpbnQocmlnaHRfcGFnZSwgMCk7CisJCQlidWZfcGFnZV9wcmlu dChwYWdlLCAwLCBCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CisJCQlidWZfcGFnZV9wcmludChy aWdodF9wYWdlLCAwLCBCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CiAKIAkJCXJldCA9IEZBTFNF OwogCkBAIC00MzQ0LDggKzQzNTAsOCBAQCBsb29wOgogCQkJZnB1dHMoIklubm9EQjogcmVjb3Jk cyBpbiB3cm9uZyBvcmRlciIKIAkJCSAgICAgICIgb24gYWRqYWNlbnQgcGFnZXNcbiIsIHN0ZGVy cik7CiAKLQkJCWJ1Zl9wYWdlX3ByaW50KHBhZ2UsIDApOwotCQkJYnVmX3BhZ2VfcHJpbnQocmln aHRfcGFnZSwgMCk7CisJCQlidWZfcGFnZV9wcmludChwYWdlLCAwLCBCVUZfUEFHRV9QUklOVF9O T19DUkFTSCk7CisJCQlidWZfcGFnZV9wcmludChyaWdodF9wYWdlLCAwLCBCVUZfUEFHRV9QUklO VF9OT19DUkFTSCk7CiAKIAkJCWZwdXRzKCJJbm5vREI6IHJlY29yZCAiLCBzdGRlcnIpOwogCQkJ cmVjID0gcGFnZV9yZWNfZ2V0X3ByZXYocGFnZV9nZXRfc3VwcmVtdW1fcmVjKHBhZ2UpKTsKQEAg LTQzOTMsOCArNDM5OSw4IEBAIGxvb3A6CiAJCQlmcHV0cygiSW5ub0RCOiBub2RlIHBvaW50ZXIg dG8gdGhlIHBhZ2UgaXMgd3JvbmdcbiIsCiAJCQkgICAgICBzdGRlcnIpOwogCi0JCQlidWZfcGFn ZV9wcmludChmYXRoZXJfcGFnZSwgMCk7Ci0JCQlidWZfcGFnZV9wcmludChwYWdlLCAwKTsKKwkJ CWJ1Zl9wYWdlX3ByaW50KGZhdGhlcl9wYWdlLCAwLCBCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7 CisJCQlidWZfcGFnZV9wcmludChwYWdlLCAwLCBCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CiAK IAkJCWZwdXRzKCJJbm5vREI6IG5vZGUgcHRyICIsIHN0ZGVycik7CiAJCQlyZWNfcHJpbnQoc3Rk ZXJyLCBub2RlX3B0ciwgaW5kZXgpOwpAQCAtNDQyNiw4ICs0NDMyLDEwIEBAIGxvb3A6CiAKIAkJ CQlidHJfdmFsaWRhdGVfcmVwb3J0MShpbmRleCwgbGV2ZWwsIGJsb2NrKTsKIAotCQkJCWJ1Zl9w YWdlX3ByaW50KGZhdGhlcl9wYWdlLCAwKTsKLQkJCQlidWZfcGFnZV9wcmludChwYWdlLCAwKTsK KwkJCQlidWZfcGFnZV9wcmludChmYXRoZXJfcGFnZSwgMCwKKwkJCQkJICAgICAgIEJVRl9QQUdF X1BSSU5UX05PX0NSQVNIKTsKKwkJCQlidWZfcGFnZV9wcmludChwYWdlLCAwLAorCQkJCQkgICAg ICAgQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOwogCiAJCQkJZnB1dHMoIklubm9EQjogRXJyb3I6 IG5vZGUgcHRycyBkaWZmZXIiCiAJCQkJICAgICAgIiBvbiBsZXZlbHMgPiAwXG4iCkBAIC00NDcy LDkgKzQ0ODAsMTUgQEAgbG9vcDoKIAkJCQkJYnRyX3ZhbGlkYXRlX3JlcG9ydDEoaW5kZXgsIGxl dmVsLAogCQkJCQkJCSAgICAgYmxvY2spOwogCi0JCQkJCWJ1Zl9wYWdlX3ByaW50KGZhdGhlcl9w YWdlLCAwKTsKLQkJCQkJYnVmX3BhZ2VfcHJpbnQocGFnZSwgMCk7Ci0JCQkJCWJ1Zl9wYWdlX3By aW50KHJpZ2h0X3BhZ2UsIDApOworCQkJCQlidWZfcGFnZV9wcmludCgKKwkJCQkJCWZhdGhlcl9w YWdlLCAwLAorCQkJCQkJQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOworCQkJCQlidWZfcGFnZV9w cmludCgKKwkJCQkJCXBhZ2UsIDAsCisJCQkJCQlCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CisJ CQkJCWJ1Zl9wYWdlX3ByaW50KAorCQkJCQkJcmlnaHRfcGFnZSwgMCwKKwkJCQkJCUJVRl9QQUdF X1BSSU5UX05PX0NSQVNIKTsKIAkJCQl9CiAJCQl9IGVsc2UgewogCQkJCXBhZ2VfdCoJcmlnaHRf ZmF0aGVyX3BhZ2UKQEAgLTQ0OTIsMTAgKzQ1MDYsMTggQEAgbG9vcDoKIAkJCQkJYnRyX3ZhbGlk YXRlX3JlcG9ydDEoaW5kZXgsIGxldmVsLAogCQkJCQkJCSAgICAgYmxvY2spOwogCi0JCQkJCWJ1 Zl9wYWdlX3ByaW50KGZhdGhlcl9wYWdlLCAwKTsKLQkJCQkJYnVmX3BhZ2VfcHJpbnQocmlnaHRf ZmF0aGVyX3BhZ2UsIDApOwotCQkJCQlidWZfcGFnZV9wcmludChwYWdlLCAwKTsKLQkJCQkJYnVm X3BhZ2VfcHJpbnQocmlnaHRfcGFnZSwgMCk7CisJCQkJCWJ1Zl9wYWdlX3ByaW50KAorCQkJCQkJ ZmF0aGVyX3BhZ2UsIDAsCisJCQkJCQlCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CisJCQkJCWJ1 Zl9wYWdlX3ByaW50KAorCQkJCQkJcmlnaHRfZmF0aGVyX3BhZ2UsIDAsCisJCQkJCQlCVUZfUEFH RV9QUklOVF9OT19DUkFTSCk7CisJCQkJCWJ1Zl9wYWdlX3ByaW50KAorCQkJCQkJcGFnZSwgMCwK KwkJCQkJCUJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsKKwkJCQkJYnVmX3BhZ2VfcHJpbnQoCisJ CQkJCQlyaWdodF9wYWdlLCAwLAorCQkJCQkJQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOwogCQkJ CX0KIAogCQkJCWlmIChwYWdlX2dldF9wYWdlX25vKHJpZ2h0X2ZhdGhlcl9wYWdlKQpAQCAtNDUw OSwxMCArNDUzMSwxOCBAQCBsb29wOgogCQkJCQlidHJfdmFsaWRhdGVfcmVwb3J0MShpbmRleCwg bGV2ZWwsCiAJCQkJCQkJICAgICBibG9jayk7CiAKLQkJCQkJYnVmX3BhZ2VfcHJpbnQoZmF0aGVy X3BhZ2UsIDApOwotCQkJCQlidWZfcGFnZV9wcmludChyaWdodF9mYXRoZXJfcGFnZSwgMCk7Ci0J CQkJCWJ1Zl9wYWdlX3ByaW50KHBhZ2UsIDApOwotCQkJCQlidWZfcGFnZV9wcmludChyaWdodF9w YWdlLCAwKTsKKwkJCQkJYnVmX3BhZ2VfcHJpbnQoCisJCQkJCQlmYXRoZXJfcGFnZSwgMCwKKwkJ CQkJCUJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsKKwkJCQkJYnVmX3BhZ2VfcHJpbnQoCisJCQkJ CQlyaWdodF9mYXRoZXJfcGFnZSwgMCwKKwkJCQkJCUJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsK KwkJCQkJYnVmX3BhZ2VfcHJpbnQoCisJCQkJCQlwYWdlLCAwLAorCQkJCQkJQlVGX1BBR0VfUFJJ TlRfTk9fQ1JBU0gpOworCQkJCQlidWZfcGFnZV9wcmludCgKKwkJCQkJCXJpZ2h0X3BhZ2UsIDAs CisJCQkJCQlCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CiAJCQkJfQogCQkJfQogCQl9Cgo9PT0g bW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMHNlYS5jYycKLS0tIGEvc3Rv cmFnZS9pbm5vYmFzZS9idHIvYnRyMHNlYS5jYwlyZXZpZDpqaW1teS55YW5nQG9yYWNsZS5jb20t MjAxMjAyMDIwOTIzNTEtYmZmbGJwdjdyNGkwemUzegorKysgYi9zdG9yYWdlL2lubm9iYXNlL2J0 ci9idHIwc2VhLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwMjAyMTA0NDA3 LWZ2a3N1Y2Rlamd0cDEyaDUKQEAgLTEsNiArMSw2IEBACiAvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK IAotQ29weXJpZ2h0IChjKSAxOTk2LCAyMDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVz LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorQ29weXJpZ2h0IChjKSAxOTk2LCAyMDEyLCBPcmFjbGUg YW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogQ29weXJpZ2h0IChj KSAyMDA4LCBHb29nbGUgSW5jLgogCiBQb3J0aW9ucyBvZiB0aGlzIGZpbGUgY29udGFpbiBtb2Rp ZmljYXRpb25zIGNvbnRyaWJ1dGVkIGFuZCBjb3B5cmlnaHRlZCBieQpAQCAtMTIxNiw3ICsxMjE2 LDcgQEAgY2xlYW51cDoKIAkJCWluZGV4LT5uYW1lLCAodWxvbmcpIGJsb2NrLT5uX3BvaW50ZXJz KTsKIAkJcndfbG9ja194X3VubG9jaygmYnRyX3NlYXJjaF9sYXRjaCk7CiAKLQkJYnRyX3NlYXJj aF92YWxpZGF0ZSgpOworCQl1dF9hZChidHJfc2VhcmNoX3ZhbGlkYXRlKCkpOwogCX0gZWxzZSB7 CiAJCXJ3X2xvY2tfeF91bmxvY2soJmJ0cl9zZWFyY2hfbGF0Y2gpOwogCX0KQEAgLTE5NTksNyAr MTk1OSw5IEBAIGJ0cl9zZWFyY2hfdmFsaWRhdGUodm9pZCkKIAkJCQkJKHVsb25nKSBibG9jay0+ Y3Vycl9sZWZ0X3NpZGUpOwogCiAJCQkJaWYgKG5fcGFnZV9kdW1wcyA8IDIwKSB7Ci0JCQkJCWJ1 Zl9wYWdlX3ByaW50KHBhZ2UsIDApOworCQkJCQlidWZfcGFnZV9wcmludCgKKwkJCQkJCXBhZ2Us IDAsCisJCQkJCQlCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CiAJCQkJCW5fcGFnZV9kdW1wcysr OwogCQkJCX0KIAkJCX0KCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2J1Zi9i dWYwYnVmLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2J1Zi9idWYwYnVmLmNjCXJldmlkOmpp bW15LnlhbmdAb3JhY2xlLmNvbS0yMDEyMDIwMjA5MjM1MS1iZmZsYnB2N3I0aTB6ZTN6CisrKyBi L3N0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBidWYuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNs ZS5jb20tMjAxMjAyMDIxMDQ0MDctZnZrc3VjZGVqZ3RwMTJoNQpAQCAtNjgyLDI1ICs2ODIsMzAg QEAgdm9pZAogYnVmX3BhZ2VfcHJpbnQoCiAvKj09PT09PT09PT09Ki8KIAljb25zdCBieXRlKgly ZWFkX2J1ZiwJLyohPCBpbjogYSBkYXRhYmFzZSBwYWdlICovCi0JdWxpbnQJCXppcF9zaXplKQkv KiE8IGluOiBjb21wcmVzc2VkIHBhZ2Ugc2l6ZSwgb3IKLQkJCQkwIGZvciB1bmNvbXByZXNzZWQg cGFnZXMgKi8KKwl1bGludAkJemlwX3NpemUsCS8qITwgaW46IGNvbXByZXNzZWQgcGFnZSBzaXpl LCBvcgorCQkJCQkwIGZvciB1bmNvbXByZXNzZWQgcGFnZXMgKi8KKwl1bGludAkJZmxhZ3MpCQkv KiE8IGluOiAwIG9yCisJCQkJCUJVRl9QQUdFX1BSSU5UX05PX0NSQVNIIG9yCisJCQkJCUJVRl9Q QUdFX1BSSU5UX05PX0ZVTEwgKi8KKwogewogI2lmbmRlZiBVTklWX0hPVEJBQ0tVUAogCWRpY3Rf aW5kZXhfdCoJaW5kZXg7CiAjZW5kaWYgLyogIVVOSVZfSE9UQkFDS1VQICovCiAJdWxpbnQJCXNp emUgPSB6aXBfc2l6ZTsKIAotCXV0X2FkKDApOwotCiAJaWYgKCFzaXplKSB7CiAJCXNpemUgPSBV TklWX1BBR0VfU0laRTsKIAl9CiAKLQl1dF9wcmludF90aW1lc3RhbXAoc3RkZXJyKTsKLQlmcHJp bnRmKHN0ZGVyciwgIiBJbm5vREI6IFBhZ2UgZHVtcCBpbiBhc2NpaSBhbmQgaGV4ICglbHUgYnl0 ZXMpOlxuIiwKLQkJKHVsb25nKSBzaXplKTsKLQl1dF9wcmludF9idWYoc3RkZXJyLCByZWFkX2J1 Ziwgc2l6ZSk7Ci0JZnB1dHMoIlxuSW5ub0RCOiBFbmQgb2YgcGFnZSBkdW1wXG4iLCBzdGRlcnIp OworCWlmICghKGZsYWdzICYgQlVGX1BBR0VfUFJJTlRfTk9fRlVMTCkpIHsKKwkJdXRfcHJpbnRf dGltZXN0YW1wKHN0ZGVycik7CisJCWZwcmludGYoc3RkZXJyLAorCQkJIiBJbm5vREI6IFBhZ2Ug ZHVtcCBpbiBhc2NpaSBhbmQgaGV4ICglbHUgYnl0ZXMpOlxuIiwKKwkJCSh1bG9uZykgc2l6ZSk7 CisJCXV0X3ByaW50X2J1ZihzdGRlcnIsIHJlYWRfYnVmLCBzaXplKTsKKwkJZnB1dHMoIlxuSW5u b0RCOiBFbmQgb2YgcGFnZSBkdW1wXG4iLCBzdGRlcnIpOworCX0KIAogCWlmICh6aXBfc2l6ZSkg ewogCQkvKiBQcmludCBjb21wcmVzc2VkIHBhZ2UuICovCkBAIC04NTAsNiArODU1LDggQEAgYnVm X3BhZ2VfcHJpbnQoCiAJCSAgICAgIHN0ZGVycik7CiAJCWJyZWFrOwogCX0KKworCXV0X2FkKGZs YWdzICYgQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOwogfQogCiAjaWZuZGVmIFVOSVZfSE9UQkFD S1VQCkBAIC0zOTUyLDcgKzM5NTksOCBAQCBjb3JydXB0OgogCQkJCSJJbm5vREI6IFlvdSBtYXkg aGF2ZSB0byByZWNvdmVyIgogCQkJCSIgZnJvbSBhIGJhY2t1cC5cbiIsCiAJCQkJKHVsb25nKSBi cGFnZS0+b2Zmc2V0KTsKLQkJCWJ1Zl9wYWdlX3ByaW50KGZyYW1lLCBidWZfcGFnZV9nZXRfemlw X3NpemUoYnBhZ2UpKTsKKwkJCWJ1Zl9wYWdlX3ByaW50KGZyYW1lLCBidWZfcGFnZV9nZXRfemlw X3NpemUoYnBhZ2UpLAorCQkJCSAgICAgICBCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CiAJCQlm cHJpbnRmKHN0ZGVyciwKIAkJCQkiSW5ub0RCOiBEYXRhYmFzZSBwYWdlIGNvcnJ1cHRpb24gb24g ZGlzayIKIAkJCQkiIG9yIGEgZmFpbGVkXG4iCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9p bm5vYmFzZS9idWYvYnVmMGRibHdyLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2J1Zi9idWYw ZGJsd3IuY2MJcmV2aWQ6amltbXkueWFuZ0BvcmFjbGUuY29tLTIwMTIwMjAyMDkyMzUxLWJmZmxi cHY3cjRpMHplM3oKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9idWYvYnVmMGRibHdyLmNjCXJldmlk Om1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwMjAyMTA0NDA3LWZ2a3N1Y2Rlamd0cDEyaDUK QEAgLTUxMiwxMiArNTEyLDE2IEBAIGJ1Zl9kYmx3cl9pbml0X29yX3Jlc3RvcmVfcGFnZXMoCiAJ CQkJaWYgKGJ1Zl9wYWdlX2lzX2NvcnJ1cHRlZChwYWdlLCB6aXBfc2l6ZSkpIHsKIAkJCQkJZnBy aW50ZihzdGRlcnIsCiAJCQkJCQkiSW5ub0RCOiBEdW1wIG9mIHRoZSBwYWdlOlxuIik7Ci0JCQkJ CWJ1Zl9wYWdlX3ByaW50KHJlYWRfYnVmLCB6aXBfc2l6ZSk7CisJCQkJCWJ1Zl9wYWdlX3ByaW50 KAorCQkJCQkJcmVhZF9idWYsIHppcF9zaXplLAorCQkJCQkJQlVGX1BBR0VfUFJJTlRfTk9fQ1JB U0gpOwogCQkJCQlmcHJpbnRmKHN0ZGVyciwKIAkJCQkJCSJJbm5vREI6IER1bXAgb2YiCiAJCQkJ CQkiIGNvcnJlc3BvbmRpbmcgcGFnZSIKIAkJCQkJCSIgaW4gZG91Ymxld3JpdGUgYnVmZmVyOlxu Iik7Ci0JCQkJCWJ1Zl9wYWdlX3ByaW50KHBhZ2UsIHppcF9zaXplKTsKKwkJCQkJYnVmX3BhZ2Vf cHJpbnQoCisJCQkJCQlwYWdlLCB6aXBfc2l6ZSwKKwkJCQkJCUJVRl9QQUdFX1BSSU5UX05PX0NS QVNIKTsKIAogCQkJCQlmcHJpbnRmKHN0ZGVyciwKIAkJCQkJCSJJbm5vREI6IEFsc28gdGhlIHBh Z2UgaW4gdGhlIgpAQCAtNTMxLDcgKzUzNSw3IEBAIGJ1Zl9kYmx3cl9pbml0X29yX3Jlc3RvcmVf cGFnZXMoCiAJCQkJCQkiSW5ub0RCOiBvcHRpb246XG4iCiAJCQkJCQkiSW5ub0RCOiIKIAkJCQkJ CSIgaW5ub2RiX2ZvcmNlX3JlY292ZXJ5PTZcbiIpOwotCQkJCQlleGl0KDEpOworCQkJCQl1dF9l cnJvcjsKIAkJCQl9CiAKIAkJCQkvKiBXcml0ZSB0aGUgZ29vZCBwYWdlIGZyb20gdGhlCkBAIC02 NTQsNyArNjU4LDcgQEAgYnVmX2RibHdyX2Fzc2VydF9vbl9jb3JydXB0X2Jsb2NrKAogLyo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogCWNvbnN0IGJ1Zl9ibG9ja190KglibG9jaykJ LyohPCBpbjogYmxvY2sgdG8gY2hlY2sgKi8KIHsKLQlidWZfcGFnZV9wcmludChibG9jay0+ZnJh bWUsIDApOworCWJ1Zl9wYWdlX3ByaW50KGJsb2NrLT5mcmFtZSwgMCwgQlVGX1BBR0VfUFJJTlRf Tk9fQ1JBU0gpOwogCiAJdXRfcHJpbnRfdGltZXN0YW1wKHN0ZGVycik7CiAJZnByaW50ZihzdGRl cnIsCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5j YycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jYwlyZXZpZDpqaW1teS55 YW5nQG9yYWNsZS5jb20tMjAxMjAyMDIwOTIzNTEtYmZmbGJwdjdyNGkwemUzegorKysgYi9zdG9y YWdlL2lubm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUu Y29tLTIwMTIwMjAyMTA0NDA3LWZ2a3N1Y2Rlamd0cDEyaDUKQEAgLTM4MDUsOSArMzgwNSwxMCBA QCBpYnVmX2luc2VydF90b19pbmRleF9wYWdlKAogCQkgICAgICAiSW5ub0RCOiBidXQgdGhlIG51 bWJlciBvZiBmaWVsZHMgZG9lcyBub3QgbWF0Y2ghXG4iLAogCQkgICAgICBzdGRlcnIpOwogZHVt cDoKLQkJYnVmX3BhZ2VfcHJpbnQocGFnZSwgMCk7CisJCWJ1Zl9wYWdlX3ByaW50KHBhZ2UsIDAs IEJVRl9QQUdFX1BSSU5UX05PX0NSQVNIKTsKIAogCQlkdHVwbGVfcHJpbnQoc3RkZXJyLCBlbnRy eSk7CisJCXV0X2FkKDApOwogCiAJCWZwdXRzKCJJbm5vREI6IFRoZSB0YWJsZSB3aGVyZSB3aGVy ZSIKIAkJICAgICAgIiB0aGlzIGluZGV4IHJlY29yZCBiZWxvbmdzXG4iCkBAIC00Mzc0LDEyICs0 Mzc1LDE0IEBAIGlidWZfbWVyZ2Vfb3JfZGVsZXRlX2Zvcl9wYWdlKAogCiAJCQliaXRtYXBfcGFn ZSA9IGlidWZfYml0bWFwX2dldF9tYXBfcGFnZShzcGFjZSwgcGFnZV9ubywKIAkJCQkJCQkgICAg ICAgemlwX3NpemUsICZtdHIpOwotCQkJYnVmX3BhZ2VfcHJpbnQoYml0bWFwX3BhZ2UsIDApOwor CQkJYnVmX3BhZ2VfcHJpbnQoYml0bWFwX3BhZ2UsIDAsCisJCQkJICAgICAgIEJVRl9QQUdFX1BS SU5UX05PX0NSQVNIKTsKIAkJCWlidWZfbXRyX2NvbW1pdCgmbXRyKTsKIAogCQkJZnB1dHMoIlxu SW5ub0RCOiBEdW1wIG9mIHRoZSBwYWdlOlxuIiwgc3RkZXJyKTsKIAotCQkJYnVmX3BhZ2VfcHJp bnQoYmxvY2stPmZyYW1lLCAwKTsKKwkJCWJ1Zl9wYWdlX3ByaW50KGJsb2NrLT5mcmFtZSwgMCwK KwkJCQkgICAgICAgQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOwogCiAJCQlmcHJpbnRmKHN0ZGVy ciwKIAkJCQkiSW5ub0RCOiBFcnJvcjogY29ycnVwdGlvbiBpbiB0aGUgdGFibGVzcGFjZS4iCkBA IC00Mzk5LDYgKzQ0MDIsNyBAQCBpYnVmX21lcmdlX29yX2RlbGV0ZV9mb3JfcGFnZSgKIAkJCQko dWxvbmcpIHBhZ2Vfbm8sCiAJCQkJKHVsb25nKQogCQkJCWZpbF9wYWdlX2dldF90eXBlKGJsb2Nr LT5mcmFtZSkpOworCQkJdXRfYWQoMCk7CiAJCX0KIAl9CiAKCj09PSBtb2RpZmllZCBmaWxlICdz dG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnRyMGJ0ci5pYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFz ZS9pbmNsdWRlL2J0cjBidHIuaWMJcmV2aWQ6amltbXkueWFuZ0BvcmFjbGUuY29tLTIwMTIwMjAy MDkyMzUxLWJmZmxicHY3cjRpMHplM3oKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J0 cjBidHIuaWMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjAyMDIxMDQ0MDctZnZr c3VjZGVqZ3RwMTJoNQpAQCAtMjc3LDcgKzI3Nyw3IEBAIGJ0cl9ub2RlX3B0cl9nZXRfY2hpbGRf cGFnZV9ubygKIAkJCSJJbm5vREI6IGEgbm9uc2Vuc2ljYWwgcGFnZSBudW1iZXIgMCIKIAkJCSIg aW4gYSBub2RlIHB0ciByZWNvcmQgYXQgb2Zmc2V0ICVsdVxuIiwKIAkJCSh1bG9uZykgcGFnZV9v ZmZzZXQocmVjKSk7Ci0JCWJ1Zl9wYWdlX3ByaW50KHBhZ2VfYWxpZ24ocmVjKSwgMCk7CisJCWJ1 Zl9wYWdlX3ByaW50KHBhZ2VfYWxpZ24ocmVjKSwgMCwgMCk7CiAJfQogCiAJcmV0dXJuKHBhZ2Vf bm8pOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idWYwYnVm LmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idWYwYnVmLmgJcmV2aWQ6amltbXku eWFuZ0BvcmFjbGUuY29tLTIwMTIwMjAyMDkyMzUxLWJmZmxicHY3cjRpMHplM3oKKysrIGIvc3Rv cmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J1ZjBidWYuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xl LmNvbS0yMDEyMDIwMjEwNDQwNy1mdmtzdWNkZWpndHAxMmg1CkBAIC0xLDYgKzEsNiBAQAogLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCiAKLUNvcHlyaWdodCAoYykgMTk5NSwgMjAxMSwgT3JhY2xlIGFu ZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoYykg MTk5NSwgMjAxMiwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNl cnZlZC4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkBAIC02 OTQsNiArNjk0LDEzIEBAIGJ1Zl9wcmludCh2b2lkKTsKIC8qPT09PT09PT09PT09Ki8KICNlbmRp ZiAvKiBVTklWX0RFQlVHX1BSSU5UIHx8IFVOSVZfREVCVUcgfHwgVU5JVl9CVUZfREVCVUcgKi8K ICNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KK2VudW0gYnVmX3BhZ2VfcHJpbnRfZmxhZ3Mg eworCS8qKiBEbyBub3QgY3Jhc2ggYXQgdGhlIGVuZCBvZiBidWZfcGFnZV9wcmludCgpLiAqLwor CUJVRl9QQUdFX1BSSU5UX05PX0NSQVNICT0gMSwKKwkvKiogRG8gbm90IHByaW50IHRoZSBmdWxs IHBhZ2UgZHVtcC4gKi8KKwlCVUZfUEFHRV9QUklOVF9OT19GVUxMID0gMgorfTsKKwogLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLy8qKgogUHJpbnRzIGEgcGFnZSB0byBzdGRlcnIuICovCiBVTklWX0lOVEVSTgpAQCAt NzAxLDggKzcwOCwxMSBAQCB2b2lkCiBidWZfcGFnZV9wcmludCgKIC8qPT09PT09PT09PT0qLwog CWNvbnN0IGJ5dGUqCXJlYWRfYnVmLAkvKiE8IGluOiBhIGRhdGFiYXNlIHBhZ2UgKi8KLQl1bGlu dAkJemlwX3NpemUpCS8qITwgaW46IGNvbXByZXNzZWQgcGFnZSBzaXplLCBvcgorCXVsaW50CQl6 aXBfc2l6ZSwJLyohPCBpbjogY29tcHJlc3NlZCBwYWdlIHNpemUsIG9yCiAJCQkJCTAgZm9yIHVu Y29tcHJlc3NlZCBwYWdlcyAqLworCXVsaW50CQlmbGFncykJCS8qITwgaW46IDAgb3IKKwkJCQkJ QlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0ggb3IKKwkJCQkJQlVGX1BBR0VfUFJJTlRfTk9fRlVMTCAq LwogCVVOSVZfQ09MRCBfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CiAvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoq CiBEZWNvbXByZXNzIGEgYmxvY2suCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFz ZS9pbmNsdWRlL3BhZ2UwcGFnZS5pYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3Bh Z2UwcGFnZS5pYwlyZXZpZDpqaW1teS55YW5nQG9yYWNsZS5jb20tMjAxMjAyMDIwOTIzNTEtYmZm bGJwdjdyNGkwemUzegorKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcGFnZTBwYWdlLmlj CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwMjAyMTA0NDA3LWZ2a3N1Y2Rlamd0 cDEyaDUKQEAgLTc0MCw3ICs3NDAsNyBAQCBwYWdlX3JlY19nZXRfbmV4dF9sb3coCiAJCQkodm9p ZCopIHJlYywKIAkJCSh1bG9uZykgcGFnZV9nZXRfc3BhY2VfaWQocGFnZSksCiAJCQkodWxvbmcp IHBhZ2VfZ2V0X3BhZ2Vfbm8ocGFnZSkpOwotCQlidWZfcGFnZV9wcmludChwYWdlLCAwKTsKKwkJ YnVmX3BhZ2VfcHJpbnQocGFnZSwgMCwgMCk7CiAKIAkJdXRfZXJyb3I7CiAJfSBlbHNlIGlmIChv ZmZzID09IDApIHsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2xvY2svbG9j azBsb2NrLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2xvY2svbG9jazBsb2NrLmNjCXJldmlk OmppbW15LnlhbmdAb3JhY2xlLmNvbS0yMDEyMDIwMjA5MjM1MS1iZmZsYnB2N3I0aTB6ZTN6Cisr KyBiL3N0b3JhZ2UvaW5ub2Jhc2UvbG9jay9sb2NrMGxvY2suY2MJcmV2aWQ6bWFya28ubWFrZWxh QG9yYWNsZS5jb20tMjAxMjAyMDIxMDQ0MDctZnZrc3VjZGVqZ3RwMTJoNQpAQCAtMTY3MSw3ICsx NjcxLDcgQEAgbG9ja19zZWNfcmVjX3NvbWVfaGFzX2ltcGwoCiAKIAl9IGVsc2UgaWYgKCFsb2Nr X2NoZWNrX3RyeF9pZF9zYW5pdHkobWF4X3RyeF9pZCwgcmVjLCBpbmRleCwgb2Zmc2V0cykpIHsK IAotCQlidWZfcGFnZV9wcmludChwYWdlLCAwKTsKKwkJYnVmX3BhZ2VfcHJpbnQocGFnZSwgMCwg MCk7CiAKIAkJLyogVGhlIHBhZ2UgaXMgY29ycnVwdDogdHJ5IHRvIGF2b2lkIGEgY3Jhc2ggYnkg cmV0dXJuaW5nIDAgKi8KIAkJdHJ4X2lkID0gMDsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdl L2lubm9iYXNlL3BhZ2UvcGFnZTBjdXIuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvcGFnZS9w YWdlMGN1ci5jYwlyZXZpZDpqaW1teS55YW5nQG9yYWNsZS5jb20tMjAxMjAyMDIwOTIzNTEtYmZm bGJwdjdyNGkwemUzegorKysgYi9zdG9yYWdlL2lubm9iYXNlL3BhZ2UvcGFnZTBjdXIuY2MJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjAyMDIxMDQ0MDctZnZrc3VjZGVqZ3RwMTJo NQpAQCAtOTAxLDcgKzkwMSw3IEBAIHBhZ2VfY3VyX3BhcnNlX2luc2VydF9yZWMoCiAJCXV0X3By aW50X2J1ZihzdGRlcnIsIHB0cjIsIDMwMCk7CiAJCXB1dGMoJ1xuJywgc3RkZXJyKTsKIAotCQli dWZfcGFnZV9wcmludChwYWdlLCAwKTsKKwkJYnVmX3BhZ2VfcHJpbnQocGFnZSwgMCwgMCk7CiAK IAkJdXRfZXJyb3I7CiAJfQoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvcGFn ZS9wYWdlMHBhZ2UuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvcGFnZS9wYWdlMHBhZ2UuY2MJ cmV2aWQ6amltbXkueWFuZ0BvcmFjbGUuY29tLTIwMTIwMjAyMDkyMzUxLWJmZmxicHY3cjRpMHpl M3oKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9wYWdlL3BhZ2UwcGFnZS5jYwlyZXZpZDptYXJrby5t YWtlbGFAb3JhY2xlLmNvbS0yMDEyMDIwMjEwNDQwNy1mdmtzdWNkZWpndHAxMmg1CkBAIC0xNDgs NyArMTQ4LDcgQEAgcGFnZV9kaXJfZmluZF9vd25lcl9zbG90KAogCQkJZnB1dHMoIlxuIgogCQkJ ICAgICAgIklubm9EQjogb24gdGhhdCBwYWdlIVxuIiwgc3RkZXJyKTsKIAotCQkJYnVmX3BhZ2Vf cHJpbnQocGFnZSwgMCk7CisJCQlidWZfcGFnZV9wcmludChwYWdlLCAwLCAwKTsKIAogCQkJdXRf ZXJyb3I7CiAJCX0KQEAgLTU2OSw4ICs1NjksMTAgQEAgcGFnZV9jb3B5X3JlY19saXN0X2VuZF9u b19sb2NrcygKIAkJCS8qIFRyYWNrIGFuIGFzc2VydGlvbiBmYWlsdXJlIHJlcG9ydGVkIG9uIHRo ZSBtYWlsaW5nCiAJCQlsaXN0IG9uIEp1bmUgMTh0aCwgMjAwMyAqLwogCi0JCQlidWZfcGFnZV9w cmludChuZXdfcGFnZSwgMCk7Ci0JCQlidWZfcGFnZV9wcmludChwYWdlX2FsaWduKHJlYyksIDAp OworCQkJYnVmX3BhZ2VfcHJpbnQobmV3X3BhZ2UsIDAsCisJCQkJICAgICAgIEJVRl9QQUdFX1BS SU5UX05PX0NSQVNIKTsKKwkJCWJ1Zl9wYWdlX3ByaW50KHBhZ2VfYWxpZ24ocmVjKSwgMCwKKwkJ CQkgICAgICAgQlVGX1BBR0VfUFJJTlRfTk9fQ1JBU0gpOwogCQkJdXRfcHJpbnRfdGltZXN0YW1w KHN0ZGVycik7CiAKIAkJCWZwcmludGYoc3RkZXJyLApAQCAtMTgzMSw3ICsxODMzLDcgQEAgcGFn ZV9jaGVja19kaXIoCiAJCWZwcmludGYoc3RkZXJyLAogCQkJIklubm9EQjogUGFnZSBkaXJlY3Rv cnkgY29ycnVwdGlvbjoiCiAJCQkiIGluZmltdW0gbm90IHBvaW50ZWQgdG9cbiIpOwotCQlidWZf cGFnZV9wcmludChwYWdlLCAwKTsKKwkJYnVmX3BhZ2VfcHJpbnQocGFnZSwgMCwgMCk7CiAJfQog CiAJaWYgKFVOSVZfVU5MSUtFTFkoIXBhZ2VfcmVjX2lzX3N1cHJlbXVtX2xvdyhzdXByZW11bV9v ZmZzKSkpIHsKQEAgLTE4MzksNyArMTg0MSw3IEBAIHBhZ2VfY2hlY2tfZGlyKAogCQlmcHJpbnRm KHN0ZGVyciwKIAkJCSJJbm5vREI6IFBhZ2UgZGlyZWN0b3J5IGNvcnJ1cHRpb246IgogCQkJIiBz dXByZW11bSBub3QgcG9pbnRlZCB0b1xuIik7Ci0JCWJ1Zl9wYWdlX3ByaW50KHBhZ2UsIDApOwor CQlidWZfcGFnZV9wcmludChwYWdlLCAwLCAwKTsKIAl9CiB9CiAjZW5kaWYgLyogIVVOSVZfSE9U QkFDS1VQICovCkBAIC0yNTQzLDcgKzI1NDUsNyBAQCBmdW5jX2V4aXQyOgogCQkJKHVsb25nKSBw YWdlX2dldF9zcGFjZV9pZChwYWdlKSwKIAkJCSh1bG9uZykgcGFnZV9nZXRfcGFnZV9ubyhwYWdl KSwKIAkJCWluZGV4LT5uYW1lKTsKLQkJYnVmX3BhZ2VfcHJpbnQocGFnZSwgMCk7CisJCWJ1Zl9w YWdlX3ByaW50KHBhZ2UsIDAsIDApOwogCX0KIAogCXJldHVybihyZXQpOwoKPT09IG1vZGlmaWVk IGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBzZWwuY2MnCi0tLSBhL3N0b3JhZ2UvaW5u b2Jhc2Uvcm93L3JvdzBzZWwuY2MJcmV2aWQ6amltbXkueWFuZ0BvcmFjbGUuY29tLTIwMTIwMjAy MDkyMzUxLWJmZmxicHY3cjRpMHplM3oKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHNl bC5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDIwMjEwNDQwNy1mdmtzdWNk ZWpndHAxMmg1CkBAIC00Mjg2LDcgKzQyODYsOCBAQCByZWNfbG9vcDoKIHdyb25nX29mZnM6CiAJ CWlmIChzcnZfZm9yY2VfcmVjb3ZlcnkgPT0gMCB8fCBtb3Zlc191cCA9PSBGQUxTRSkgewogCQkJ dXRfcHJpbnRfdGltZXN0YW1wKHN0ZGVycik7Ci0JCQlidWZfcGFnZV9wcmludChwYWdlX2FsaWdu KHJlYyksIDApOworCQkJYnVmX3BhZ2VfcHJpbnQocGFnZV9hbGlnbihyZWMpLCAwLAorCQkJCSAg ICAgICBCVUZfUEFHRV9QUklOVF9OT19DUkFTSCk7CiAJCQlmcHJpbnRmKHN0ZGVyciwKIAkJCQki XG5Jbm5vREI6IHJlYyBhZGRyZXNzICVwLCIKIAkJCQkiIGJ1ZiBibG9jayBmaXggY291bnQgJWx1 XG4iLApAQCAtNDMwNSw3ICs0MzA2LDcgQEAgd3Jvbmdfb2ZmczoKIAkJCSAgICAgICJJbm5vREI6 IHJlc3RvcmUgZnJvbSBhIGJhY2t1cCwgb3IiCiAJCQkgICAgICAiIGR1bXAgKyBkcm9wICsgcmVp bXBvcnQgdGhlIHRhYmxlLlxuIiwKIAkJCSAgICAgIHN0ZGVycik7Ci0KKwkJCXV0X2FkKDApOwog CQkJZXJyID0gREJfQ09SUlVQVElPTjsKIAogCQkJZ290byBsb2NrX3dhaXRfb3JfZXJyb3I7CgpO byBidW5kbGUgKHJlYXNvbjogdXNlbGVzcyBmb3IgcHVzaCBlbWFpbHMpLg==