From: Jon Olav Hauglid Date: August 24 2010 9:15am Subject: bzr push into mysql-5.5-bugfixing branch (jon.hauglid:3116 to 3117) List-Archive: http://lists.mysql.com/commits/116592 Message-Id: <201008240916.o7O7kDDd010032@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6513692928449404394==" --===============6513692928449404394== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline IDMxMTcgSm9uIE9sYXYgSGF1Z2xpZAkyMDEwLTA4LTI0IFttZXJnZV0KICAgICAgTWVyZ2UgZnJv bSBteXNxbC01LjUtYnVnZml4aW5nIHRvIG15c3FsLTUuNS1ydW50aW1lLgoKICAgIGFkZGVkOgog ICAgICBteXNxbC10ZXN0L3N1aXRlL3BhcnRzL3IvcGFydF9jdHlwZV91dGYzMi5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC9zdWl0ZS9wYXJ0cy90L3BhcnRfY3R5cGVfdXRmMzIudGVzdAogICAgbW9k aWZpZWQ6CiAgICAgIGNsaWVudC9teXNxbC5jYwogICAgICBteXNxbC10ZXN0L0NNYWtlTGlzdHMu dHh0CiAgICAgIG15c3FsLXRlc3Qvci9jdHlwZV91dGYzMi5yZXN1bHQKICAgICAgbXlzcWwtdGVz dC9yL2RlbGF5ZWQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9mdW5jX3N0ci5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC9yL2xvY2FsZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL215c3FsLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3IvcGFydGl0aW9uX2lubm9kYi5yZXN1bHQKICAgICAgbXlz cWwtdGVzdC90L2N0eXBlX3V0ZjMyLnRlc3QKICAgICAgbXlzcWwtdGVzdC90L2RlbGF5ZWQudGVz dAogICAgICBteXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmCiAgICAgIG15c3FsLXRlc3QvdC9mdW5j X3N0ci50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC9teXNxbC50ZXN0CiAgICAgIG15c3FsLXRlc3Qv dC9wYXJ0aXRpb25faW5ub2RiLnRlc3QKICAgICAgbXlzeXMvbXlfdGhyX2luaXQuYwogICAgICBz Y3JpcHRzL0NNYWtlTGlzdHMudHh0CiAgICAgIHNjcmlwdHMvbXlzcWxhY2Nlc3MuY29uZioKICAg ICAgc3FsL2ZpZWxkLmNjCiAgICAgIHNxbC9pdGVtX3N0cmZ1bmMuY2MKICAgICAgc3FsL2l0ZW1f c3RyZnVuYy5oCiAgICAgIHNxbC9zcWxfYXVkaXQuY2MKICAgICAgc3FsL3NxbF9hdWRpdC5oCiAg ICAgIHNxbC9zcWxfaW5zZXJ0LmNjCiAgICAgIHNxbC9zcWxfcGFydGl0aW9uLmNjCiAgICAgIHNx bC9zcWxfcGx1Z2luLmNjCiAgICAgIHNxbC9zcWxfdGFibGUuY2MKICAgICAgc3FsL3NxbF90YWJs ZS5oCiAgICAgIHN0b3JhZ2UvcGVyZnNjaGVtYS9wZnMuY2MKIDMxMTYgSm9uIE9sYXYgSGF1Z2xp ZAkyMDEwLTA4LTIwIFttZXJnZV0KICAgICAgTWVyZ2UgZnJvbSBteXNxbC01LjUtYnVnZml4aW5n IHRvIG15c3FsLTUuNS1ydW50aW1lLgoKICAgIHJlbW92ZWQ6CiAgICAgIG15c3FsLXRlc3Qvc3Vp dGUvcnBsL3QvcnBsX21peGVkX3Jvd19pbm5vZGIudGVzdAogICAgYWRkZWQ6CiAgICAgIG15c3Fs LXRlc3Qvci9jdHlwZV91dGYxNl9kZWYucmVzdWx0CiAgICAgIG15c3FsLXRlc3QvdC9jdHlwZV91 dGYxNl9kZWYtbWFzdGVyLm9wdAogICAgICBteXNxbC10ZXN0L3QvY3R5cGVfdXRmMTZfZGVmLnRl c3QKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0L2V4dHJhL2JpbmxvZ190ZXN0cy9taXhf aW5ub2RiX215aXNhbV9iaW5sb2cudGVzdAogICAgICBteXNxbC10ZXN0L2V4dHJhL2JpbmxvZ190 ZXN0cy9taXhfaW5ub2RiX215aXNhbV9zaWRlX2VmZmVjdHMudGVzdAogICAgICBteXNxbC10ZXN0 L2V4dHJhL3JwbF90ZXN0cy9ycGxfZHJvcF9jcmVhdGVfdGVtcF90YWJsZS5pbmMKICAgICAgbXlz cWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBsX2Ryb3BfY3JlYXRlX3RlbXBfdGFibGUudGVzdAog ICAgICBteXNxbC10ZXN0L2luY2x1ZGUvY3R5cGVfbnVtY29udi5pbmMKICAgICAgbXlzcWwtdGVz dC9yL2Nhc2UucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9jdHlwZV9iaW5hcnkucmVzdWx0CiAg ICAgIG15c3FsLXRlc3Qvci9jdHlwZV9jcDEyNTEucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9j dHlwZV9jcDkzMl9iaW5sb2dfc3RtLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvY3R5cGVfbGF0 aW4xLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvY3R5cGVfdWNzLnJlc3VsdAogICAgICBteXNx bC10ZXN0L3IvY3R5cGVfdXRmMzIucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9jdHlwZV91dGY4 LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvbXlzcWxiaW5sb2cucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX2RhdGFiYXNlLnJlc3VsdAogICAgICBteXNxbC10 ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19pbm5vZGJfcm93LnJlc3VsdAogICAgICBteXNxbC10 ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19yb3dfYmlubG9nLnJlc3VsdAogICAgICBteXNxbC10 ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19yb3dfZHJvcF90YmwucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX3Jvd19kcm9wX3RtcF90YmwucmVzdWx0CiAgICAg IG15c3FsLXRlc3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX3Jvd19taXhfaW5ub2RiX215aXNhbS5y ZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvci9iaW5sb2dfc3RtX2JpbmxvZy5y ZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvci9iaW5sb2dfc3RtX2JsYWNraG9s ZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvci9iaW5sb2dfc3RtX2Ryb3Bf dGJsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19zdG1fZHJv cF90bXBfdGJsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19z dG1fbWl4X2lubm9kYl9teWlzYW0ucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvYmlubG9n L3IvYmlubG9nX3N0bV9yb3cucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMi9j aGFyc2V0L2NoYXJzZXRfbWFzdGVyLnRlc3QKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18y L3IvaW5ub2RiX2NoYXJzZXQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMi9y L21lbW9yeV9jaGFyc2V0LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzIvci9t eWlzYW1fY2hhcnNldC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18yL3QvZGlz YWJsZWQuZGVmCiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL2JpbmxvZ19taXgu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL2JpbmxvZ19yb3cucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL2JpbmxvZ19zdG10LnJlc3Vs dAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9jb25kaXRpb25hbF9jb21tZW50cy5y ZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfZHJvcF9pZl9leGlzdHMucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX21peGVkX2Ryb3BfY3JlYXRlX3Rl bXBfdGFibGUucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX21peGVkX2lt cGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3Iv cnBsX21peGVkX21peGluZ19lbmdpbmVzLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3Jw bC9yL3JwbF9ub25fZGlyZWN0X21peGVkX21peGluZ19lbmdpbmVzLnJlc3VsdAogICAgICBteXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9ub25fZGlyZWN0X3Jvd19taXhpbmdfZW5naW5lcy5yZXN1 bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfbm9uX2RpcmVjdF9zdG1fbWl4aW5n X2VuZ2luZXMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Jvd19kcm9w LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9yb3dfZHJvcF9jcmVhdGVf dGVtcF90YWJsZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfcm93X2lt cGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3Iv cnBsX3Jvd19sb2cucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Jvd19s b2dfaW5ub2RiLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9yb3dfbWl4 aW5nX2VuZ2luZXMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Jvd19t eXNxbGJpbmxvZy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfcm93X3No b3dfcmVsYXlsb2dfZXZlbnRzLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3Jw bF9zZXJ2ZXJfaWQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3NwLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zdG1fZHJvcF9jcmVhdGVfdGVt cF90YWJsZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3RtX2ltcGxp Y2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBs X3N0bV9sb2cucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3N0bV9taXhf c2hvd19yZWxheWxvZ19ldmVudHMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3Iv cnBsX3N0bV9taXhpbmdfZW5naW5lcy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwv ci9ycGxfdGVtcF90YWJsZV9taXhfcm93LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3Jw bC90L3JwbF9zdG1faW5ub2RiLnRlc3QKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGxfbmRiL3Iv cnBsX25kYl9kZF9iYXNpYy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGxfbmRiL3Iv cnBsX25kYl9taXhlZF9pbXBsaWNpdF9jb21taXRfYmlubG9nLnJlc3VsdAogICAgICBteXNxbC10 ZXN0L3N1aXRlL3JwbF9uZGIvci9ycGxfbmRiX3Jvd19pbXBsaWNpdF9jb21taXRfYmlubG9nLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3QvY2FzZS50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC9jdHlw ZV91dGYzMi50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC9jdHlwZV91dGY4LnRlc3QKICAgICAgc3Fs L2l0ZW0uaAogICAgICBzcWwvaXRlbV9jbXBmdW5jLmNjCiAgICAgIHNxbC9pdGVtX2Z1bmMuY2MK ICAgICAgc3FsL2l0ZW1fc3RyZnVuYy5jYwogICAgICBzcWwvaXRlbV9zdHJmdW5jLmgKICAgICAg c3FsL2xvZy5jYwogICAgICBzcWwvbG9nX2V2ZW50LmNjCiAgICAgIHNxbC9teXNxbGQuY2MKICAg ICAgc3FsL3NxbF9iYXNlLmNjCiAgICAgIHNxbC9zcWxfYmFzZS5oCiAgICAgIHNxbC9zcWxfY2xh c3MuY2MKICAgICAgc3FsL3NxbF9pbnNlcnQuY2MKICAgICAgc3FsL3NxbF9sZXguY2MKICAgICAg c3FsL3NxbF9sZXguaAogICAgICBzcWwvc3FsX3RhYmxlLmNjCiAgICAgIHNxbC9zcWxfdGFibGUu aAogICAgICBzdG9yYWdlL215aXNhbS9mdF9zdG9wd29yZHMuYwo9PT0gbW9kaWZpZWQgZmlsZSAn Y2xpZW50L215c3FsLmNjJwotLS0gYS9jbGllbnQvbXlzcWwuY2MJMjAxMC0wNy0yOSAxMjozMjox MSArMDAwMAorKysgYi9jbGllbnQvbXlzcWwuY2MJMjAxMC0wOC0xOSAxMTozNTo0NyArMDAwMApA QCAtOTMsNiArOTMsNyBAQCBleHRlcm4gIkMiIHsKICNlbHNlCiAjaW5jbHVkZSA8cmVhZGxpbmUv cmVhZGxpbmUuaD4KICNkZWZpbmUgSEFWRV9SRUFETElORQorI2RlZmluZSBVU0VfUE9QRU4KICNl bmRpZgogICAvL2ludCB2aWRhdHRyKGxvbmcgdW5zaWduZWQgaW50IGF0dHJzKTsJLy8gV2FzIG1p c3NpbmcgaW4gc3VuIGN1cnNlcwogfQpAQCAtMTA4LDEwICsxMDksNiBAQCBleHRlcm4gIkMiIHsK ICNkZWZpbmUgY21wX2RhdGFiYXNlKGNzLEEsQikgc3RyY21wKChBKSwoQikpCiAjZW5kaWYKIAot I2lmICFkZWZpbmVkKF9fV0lOX18pICYmICFkZWZpbmVkKFRIUkVBRCkKLSNkZWZpbmUgVVNFX1BP UEVOCi0jZW5kaWYKLQogI2luY2x1ZGUgImNvbXBsZXRpb25faGFzaC5oIgogCiAjZGVmaW5lIFBS T01QVF9DSEFSICdcXCcKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L0NNYWtlTGlzdHMu dHh0JwotLS0gYS9teXNxbC10ZXN0L0NNYWtlTGlzdHMudHh0CTIwMTAtMDgtMTIgMTU6MTk6NTcg KzAwMDAKKysrIGIvbXlzcWwtdGVzdC9DTWFrZUxpc3RzLnR4dAkyMDEwLTA4LTE5IDEyOjExOjMx ICswMDAwCkBAIC0xNiw2ICsxNiw3IEBACiBJTlNUQUxMKAogIERJUkVDVE9SWSAuCiAgREVTVElO QVRJT04gJHtJTlNUQUxMX01ZU1FMVEVTVERJUn0KKyBVU0VfU09VUkNFX1BFUk1JU1NJT05TCiAg Q09NUE9ORU5UIFRlc3QKICBQQVRURVJOICJ2YXIvIiBFWENMVURFCiAgUEFUVEVSTiAibGliL015 L1NhZmVQcm9jZXNzIiBFWENMVURFCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2N0 eXBlX3V0ZjMyLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2N0eXBlX3V0ZjMyLnJlc3VsdAky MDEwLTA4LTE4IDEyOjA4OjU5ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9jdHlwZV91dGYzMi5y ZXN1bHQJMjAxMC0wOC0yMCAxMToxNDoxMSArMDAwMApAQCAtMTEwMCw1ICsxMTAwLDE5IEBAIG15 X2NvbAogMDAKIERST1AgVEFCTEUgdDE7CiAjCisjIEJ1ZyM1NTkxMiBGT1JNQVQgd2l0aCBsb2Nh bGUgc2V0IGZhaWxzIGZvciBudW1iZXJzIDwgMTAwMAorIworU0VUIGNvbGxhdGlvbl9jb25uZWN0 aW9uPXV0ZjMyX2dlbmVyYWxfY2k7CitDUkVBVEUgVEFCTEUgdDEgQVMgU0VMRUNUIGZvcm1hdCgx MjMsMiwnbm9fTk8nKTsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworVGFibGUJQ3JlYXRlIFRhYmxl Cit0MQlDUkVBVEUgVEFCTEUgYHQxYCAoCisgIGBmb3JtYXQoMTIzLDIsJ25vX05PJylgIHZhcmNo YXIoMzcpIENIQVJBQ1RFUiBTRVQgdXRmMzIgTk9UIE5VTEwgREVGQVVMVCAnJworKSBFTkdJTkU9 TXlJU0FNIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjEKK1NFTEVDVCAqIEZST00gdDE7Citmb3JtYXQo MTIzLDIsJ25vX05PJykKKzEyMywwMAorRFJPUCBUQUJMRSB0MTsKKyMKICMgRW5kIG9mIDUuNSB0 ZXN0cwogIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9kZWxheWVkLnJlc3VsdCcK LS0tIGEvbXlzcWwtdGVzdC9yL2RlbGF5ZWQucmVzdWx0CTIwMDktMTItMTEgMDk6Mzk6MzggKzAw MDAKKysrIGIvbXlzcWwtdGVzdC9yL2RlbGF5ZWQucmVzdWx0CTIwMTAtMDgtMjMgMTU6NDI6NTMg KzAwMDAKQEAgLTM0NSwzICszNDUsNzggQEAgQ1JFQVRFIFRBQkxFIHQxIExJS0UgdDI7CiBFUlJP UiA0MlMwMTogVGFibGUgJ3QxJyBhbHJlYWR5IGV4aXN0cwogRFJPUCBUQUJMRSB0MjsKIERST1Ag VEFCTEUgdDE7CisjCisjIEJ1ZyM1NDMzMiBEZWFkbG9jayB3aXRoIHR3byBjb25uZWN0aW9ucyBk b2luZyBMT0NLIFRBQkxFK0lOU0VSVCBERUxBWUVECisjCitEUk9QIFRBQkxFIElGIEVYSVNUUyB0 MSwgdDI7CitDUkVBVEUgVEFCTEUgdDEgKGEgSU5UKTsKK0NSRUFURSBUQUJMRSB0MiAoYSBJTlQp OworQ1JFQVRFIFRBQkxFIHQzIChhIElOVCk7CisjIFRlc3QgMTogVXNpbmcgTE9DSyBUQUJMRQor IyBDb25uZWN0aW9uIGNvbjEKK0xPQ0sgVEFCTEUgdDEgV1JJVEU7CisjIENvbm5lY3Rpb24gZGVm YXVsdAorTE9DSyBUQUJMRSB0MiBXUklURTsKKyMgU2VuZGluZzoKK0lOU0VSVCBERUxBWUVEIElO VE8gdDEgVkFMVUVTICgxKTsKKyMgQ29ubmVjdGlvbiBjb24xCisjIFdhaXQgdW50aWwgSU5TRVJU IERFTEFZRUQgaXMgYmxvY2tlZCBvbiB0YWJsZSAndDEnLgorSU5TRVJUIERFTEFZRUQgSU5UTyB0 MiBWQUxVRVMgKDEpOworRVJST1IgNDAwMDE6IERlYWRsb2NrIGZvdW5kIHdoZW4gdHJ5aW5nIHRv IGdldCBsb2NrOyB0cnkgcmVzdGFydGluZyB0cmFuc2FjdGlvbgorVU5MT0NLIFRBQkxFUzsKKyMg Q29ubmVjdGlvbiBkZWZhdWx0CisjIFJlYXBpbmc6IElOU0VSVCBERUxBWUVEIElOVE8gdDEgVkFM VUVTICgxKQorVU5MT0NLIFRBQkxFUzsKKyMgVGVzdCAyOiBVc2luZyBBTFRFUiBUQUJMRQorU1RB UlQgVFJBTlNBQ1RJT047CitTRUxFQ1QgKiBGUk9NIHQxIFdIRVJFIGE9MDsKK2EKKyMgQ29ubmVj dGlvbiBjb24xCisjIFNlbmRpbmc6CitBTFRFUiBUQUJMRSB0MSBDT01NRU5UICd0ZXN0JzsKKyMg Q29ubmVjdGlvbiBkZWZhdWx0CisjIFdhaXQgdW50aWwgQUxURVIgVEFCTEUgaXMgYmxvY2tlZCBv biB0YWJsZSAndDEnLgorSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxVRVMgKDMpOworRVJST1Ig NDAwMDE6IERlYWRsb2NrIGZvdW5kIHdoZW4gdHJ5aW5nIHRvIGdldCBsb2NrOyB0cnkgcmVzdGFy dGluZyB0cmFuc2FjdGlvbgorQ09NTUlUOworIyBDb25uZWN0aW9uIGNvbjEKKyMgUmVhcGluZzog QUxURVIgVEFCTEUgdDEgQ09NTUVOVCAndGVzdCcKKyMgVGVzdCAzOiBVc2luZyBSRU5BTUUgVEFC TEUKKyMgQ29ubmVjdGlvbiBkZWZhdWx0CitTVEFSVCBUUkFOU0FDVElPTjsKK0lOU0VSVCBJTlRP IHQyIFZBTFVFUyAoMSk7CisjIENvbm5lY3Rpb24gY29uMQorIyBTZW5kaW5nOgorUkVOQU1FIFRB QkxFIHQxIHRvIHQ1LCB0MiB0byB0NDsKKyMgQ29ubmVjdGlvbiBkZWZhdWx0CisjIFdhaXQgdW50 aWwgUkVOQU1FIFRBQkxFIGlzIGJsb2NrZWQgb24gdGFibGUgJ3QxJy4KK0lOU0VSVCBERUxBWUVE IElOVE8gdDEgVkFMVUVTICg0KTsKK0VSUk9SIDQwMDAxOiBEZWFkbG9jayBmb3VuZCB3aGVuIHRy eWluZyB0byBnZXQgbG9jazsgdHJ5IHJlc3RhcnRpbmcgdHJhbnNhY3Rpb24KK0NPTU1JVDsKKyMg Q29ubmVjdGlvbiBjb24xCisjIFJlYXBpbmc6IFJFTkFNRSBUQUJMRSB0MSB0byB0NSwgdDIgdG8g dDQKKyMgQ29ubmVjdGlvbiBkZWZhdWx0CisjIFJldmVydGluZyB0aGUgcmVuYW1lcworUkVOQU1F IFRBQkxFIHQ1IHRvIHQxLCB0NCB0byB0MjsKKyMgVGVzdCA0OiBUd28gSU5TRVJUIERFTEFZRUQg b24gdGhlIHNhbWUgdGFibGUKK1NUQVJUIFRSQU5TQUNUSU9OOworSU5TRVJUIElOVE8gdDIgVkFM VUVTICgxKTsKKyMgQ29ubmVjdGlvbiBjb24yCitMT0NLIFRBQkxFIHQxIFdSSVRFLCB0MiBXUklU RTsKKyMgQ29ubmVjdGlvbiBjb24xCisjIFdhaXQgdW50aWwgTE9DSyBUQUJMRSBpcyBibG9ja2Vk IG9uIHRhYmxlICd0MicuCitJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAoNSk7CisjIENv bm5lY3Rpb24gZGVmYXVsdAorIyBXYWl0IHVudGlsIElOU0VSVCBERUxBWUVEIGlzIGJsb2NrZWQg b24gdGFibGUgJ3QxJy4KK0lOU0VSVCBERUxBWUVEIElOVE8gdDEgVkFMVUVTICg2KTsKK0VSUk9S IDQwMDAxOiBEZWFkbG9jayBmb3VuZCB3aGVuIHRyeWluZyB0byBnZXQgbG9jazsgdHJ5IHJlc3Rh cnRpbmcgdHJhbnNhY3Rpb24KK0NPTU1JVDsKKyMgQ29ubmVjdGlvbiBjb24yCisjIFJlYXBpbmc6 IExPQ0sgVEFCTEUgdDEgV1JJVEUsIHQyIFdSSVRFCitVTkxPQ0sgVEFCTEVTOworIyBDb25uZWN0 aW9uIGNvbjEKKyMgUmVhcGluZzogSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxVRVMgKDUpCisj IENvbm5lY3Rpb24gY29uMgorIyBDb25uZWN0aW9uIGNvbjEKKyMgQ29ubmVjdGlvbiBkZWZhdWx0 CitEUk9QIFRBQkxFIHQxLCB0MiwgdDM7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9y L2Z1bmNfc3RyLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2Z1bmNfc3RyLnJlc3VsdAkyMDEw LTA0LTI3IDA5OjU4OjIxICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9mdW5jX3N0ci5yZXN1bHQJ MjAxMC0wOC0yMCAxMToxNDoxMSArMDAwMApAQCAtMjczNCwzICsyNzM0LDI4IEBAIGZvcm1hdCgx MjMsIDEsICdOb24tZXhpc3RlbnQtbG9jYWxlJykKIFdhcm5pbmdzOgogV2FybmluZwkxNjQ5CVVu a25vd24gbG9jYWxlOiAnTm9uLWV4aXN0ZW50LWxvY2FsZScKIEVuZCBvZiA1LjQgdGVzdHMKKyMK KyMgU3RhcnQgb2YgNS41IHRlc3RzCisjCisjCisjIEJ1ZyM1NTkxMiBGT1JNQVQgd2l0aCBsb2Nh bGUgc2V0IGZhaWxzIGZvciBudW1iZXJzIDwgMTAwMAorIworU0VMRUNUIEZPUk1BVCgxMjMuMzMs IDIsICdub19OTycpLCBGT1JNQVQoMTEyMy4zMywgMiwgJ25vX05PJyk7CitGT1JNQVQoMTIzLjMz LCAyLCAnbm9fTk8nKQlGT1JNQVQoMTEyMy4zMywgMiwgJ25vX05PJykKKzEyMywzMwkxLjEyMywz MworU0VMRUNUIEZPUk1BVCgxMjMzM2UtMiwgMiwgJ25vX05PJyksIEZPUk1BVCgxMTIzMzNlLTIs IDIsICdub19OTycpOworRk9STUFUKDEyMzMzZS0yLCAyLCAnbm9fTk8nKQlGT1JNQVQoMTEyMzMz ZS0yLCAyLCAnbm9fTk8nKQorMTIzLDMzCTEuMTIzLDMzCitDUkVBVEUgVEFCTEUgdDEgQVMgU0VM RUNUIGZvcm1hdCgxMjMsMiwnbm9fTk8nKTsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworVGFibGUJ Q3JlYXRlIFRhYmxlCit0MQlDUkVBVEUgVEFCTEUgYHQxYCAoCisgIGBmb3JtYXQoMTIzLDIsJ25v X05PJylgIHZhcmNoYXIoMzcpIE5PVCBOVUxMIERFRkFVTFQgJycKKykgRU5HSU5FPU15SVNBTSBE RUZBVUxUIENIQVJTRVQ9bGF0aW4xCitTRUxFQ1QgKiBGUk9NIHQxOworZm9ybWF0KDEyMywyLCdu b19OTycpCisxMjMsMDAKK0RST1AgVEFCTEUgdDE7CisjCisjIEVuZCBvZiA1LjUgdGVzdHMKKyMK Cj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvbG9jYWxlLnJlc3VsdCcKLS0tIGEvbXlz cWwtdGVzdC9yL2xvY2FsZS5yZXN1bHQJMjAxMC0wMi0yNCAxMzo1MjoyNyArMDAwMAorKysgYi9t eXNxbC10ZXN0L3IvbG9jYWxlLnJlc3VsdAkyMDEwLTA4LTI0IDA2OjE1OjQzICswMDAwCkBAIC00 NCw3ICs0NCw3IEBAIGEJYWJtb24JbW9uCiAyMDA2LTEyLTAxCc6UzrXOugnOlM61zrrOrc68zrLP gc65zr/PggogU0VMRUNUIGZvcm1hdCgxMjM0NTYuNzg5LCAzLCAnZWxfR1InKTsKIGZvcm1hdCgx MjM0NTYuNzg5LCAzLCAnZWxfR1InKQotMTIzNDU2Ljc4OQorMTIzNDU2LDc4OQogRFJPUCBUQUJM RSB0MTsKICMKICMgQnVnIzQ2NjMzIE9ic29sZXRlIFNlcmJpYW4gbG9jYWxlIG5hbWUKCj09PSBt b2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvbXlzcWwucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0 L3IvbXlzcWwucmVzdWx0CTIwMTAtMDEtMTggMjA6MTk6MTkgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9yL215c3FsLnJlc3VsdAkyMDEwLTA4LTE5IDExOjM1OjQ3ICswMDAwCkBAIC00MzIsNSArNDMy LDggQEAgQnVnICM0NzE0NzogbXlzcWwgY2xpZW50IG9wdGlvbiAtLXNraXAtYwogCiAqKioqKioq KioqKioqKioqKioqKioqKioqKiogMS4gcm93ICoqKioqKioqKioqKioqKioqKioqKioqKioqKgog MQorQnVnICM1NDQ2NiBjbGllbnQgNS41IGJ1aWx0IGZyb20gc291cmNlIGxhY2tzICJwYWdlciIg c3VwcG9ydAorYQorMQogCiBFbmQgb2YgdGVzdHMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10 ZXN0L3IvcGFydGl0aW9uX2lubm9kYi5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9wYXJ0aXRp b25faW5ub2RiLnJlc3VsdAkyMDEwLTA4LTEzIDA3OjUwOjI1ICswMDAwCisrKyBiL215c3FsLXRl c3Qvci9wYXJ0aXRpb25faW5ub2RiLnJlc3VsdAkyMDEwLTA4LTIwIDE3OjE1OjQ4ICswMDAwCkBA IC0xLDUgKzEsNDEgQEAKIGRyb3AgdGFibGUgaWYgZXhpc3RzIHQxLCB0MjsKICMKKyMgQnVnIzU0 NzQ3OiBEZWFkbG9jayBiZXR3ZWVuIFJFT1JHQU5JWkUgUEFSVElUSU9OIGFuZAorIyAgICAgICAg ICAgIFNFTEVDVCBpcyBub3QgZGV0ZWN0ZWQKKyMKK1NFVCBAb2xkX2lubm9kYl90aHJlYWRfY29u Y3VycmVuY3k6PSBAQGlubm9kYl90aHJlYWRfY29uY3VycmVuY3k7CitTRVQgR0xPQkFMIGlubm9k Yl90aHJlYWRfY29uY3VycmVuY3kgPSAxOworQ1JFQVRFIFRBQkxFIHQxCisodXNlcl9udW0gQklH SU5ULAoraG91cnMgU01BTExJTlQsCitLRVkgdXNlcl9udW0gKHVzZXJfbnVtKSkKK0VOR0lORSA9 IElubm9EQiAgIAorUEFSVElUSU9OIEJZIFJBTkdFIENPTFVNTlMgKGhvdXJzKQorKFBBUlRJVElP TiBob3VyXzAwMyBWQUxVRVMgTEVTUyBUSEFOICgzKSwKK1BBUlRJVElPTiBob3VyXzAwNCBWQUxV RVMgTEVTUyBUSEFOICg0KSwKK1BBUlRJVElPTiBob3VyXzAwNSBWQUxVRVMgTEVTUyBUSEFOICg1 KSwKK1BBUlRJVElPTiBob3VyX2xhc3QgVkFMVUVTIExFU1MgVEhBTiAoTUFYVkFMVUUpKTsKK0lO U0VSVCBJTlRPIHQxIFZBTFVFUyAoMSwgMSksICgyLCAyKSwgKDMsIDMpLCAoNCwgNCksICg1LCA1 KTsKK0JFR0lOOworU0VMRUNUIENPVU5UKCopIEZST00gdDE7CitDT1VOVCgqKQorNQorIyBjb24x CisjIFNFTkQgYSBBTFRFUiBQQVJUSVRJT04gd2hpY2ggd2FpdHMgb24gdGhlIG9uZ29pbmcgdHJh bnNhY3Rpb24uCitBTFRFUiBUQUJMRSB0MQorUkVPUkdBTklaRSBQQVJUSVRJT04gaG91cl8wMDMs IGhvdXJfMDA0IElOVE8KKyhQQVJUSVRJT04gb2xkZXN0IFZBTFVFUyBMRVNTIFRIQU4gKDQpKTsK KyMgQ29ubmVjdGlvbiBkZWZhdWx0IHdhaXQgdW50aWwgdGhlIEFMVEVSIGlzIGluICd3YWl0aW5n IGZvciB0YWJsZS4uLicKKyMgc3RhdGUgYW5kIHRoZW4gY29udGludWUgdGhlIHRyYW5zYWN0aW9u IGJ5IHRyeWluZyBhIFNFTEVDVAorU0VMRUNUIENPVU5UKCopIEZST00gdDE7CitDT1VOVCgqKQor NQorQ09NTUlUOworIyBjb24xLCByZWFwaW5nIEFMVEVSLgorIyBEaXNjb25uZWN0aW5nIGNvbjEg YW5kIHN3aXRjaGluZyB0byBkZWZhdWx0LiBDbGVhbmluZyB1cC4KK1NFVCBHTE9CQUwgaW5ub2Ri X3RocmVhZF9jb25jdXJyZW5jeSA9IEBvbGRfaW5ub2RiX3RocmVhZF9jb25jdXJyZW5jeTsKK0RS T1AgVEFCTEUgdDE7CisjCiAjIEJ1ZyM1MDQxODogRFJPUCBQQVJUSVRJT04gZG9lcyBub3QgaW50 ZXJhY3Qgd2l0aCB0cmFuc2FjdGlvbnMKICMKIENSRUFURSBUQUJMRSB0MSAoCgo9PT0gYWRkZWQg ZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9wYXJ0cy9yL3BhcnRfY3R5cGVfdXRmMzIucmVzdWx0Jwot LS0gYS9teXNxbC10ZXN0L3N1aXRlL3BhcnRzL3IvcGFydF9jdHlwZV91dGYzMi5yZXN1bHQJMTk3 MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3BhcnRzL3IvcGFy dF9jdHlwZV91dGYzMi5yZXN1bHQJMjAxMC0wOC0yMyAwOTo1NjoyMSArMDAwMApAQCAtMCwwICsx LDE0IEBACisjCisjIEJ1ZyM1MjEyMSBwYXJ0aXRpb24gYnkga2V5IG9uIHV0ZjMyIGVudW0gZmll bGQgY2F1c2UgZGVidWcgYXNzZXJ0aW9uOiAobGVuZ3RoICUgNCkgPT0gMAorIworRFJPUCBUQUJM RSBJRiBFWElTVFMgdDE7CitXYXJuaW5nczoKK05vdGUJMTA1MQlVbmtub3duIHRhYmxlICd0MScK K0NSRUFURSBUQUJMRSB0MSAoCithIGVudW0oJ2EnKSBDSEFSQUNURVIgU0VUIHV0ZjMyIENPTExB VEUgdXRmMzJfc3BhbmlzaDJfY2kKKykgRU5HSU5FPU1ZSVNBTSBQQVJUSVRJT04gQlkgS0VZKGEp IFBBUlRJVElPTlMgMjsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoJ2EnKTsKK1NFTEVDVCAqIEZS T00gdDE7CithCithCitEUk9QIFRBQkxFIHQxOwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvcGFydHMvdC9wYXJ0X2N0eXBlX3V0ZjMyLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3Vp dGUvcGFydHMvdC9wYXJ0X2N0eXBlX3V0ZjMyLnRlc3QJMTk3MC0wMS0wMSAwMDowMDowMCArMDAw MAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3BhcnRzL3QvcGFydF9jdHlwZV91dGYzMi50ZXN0CTIw MTAtMDgtMjMgMDk6NTY6MjEgKzAwMDAKQEAgLTAsMCArMSwyOCBAQAorIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKyMgdC9wYXJ0aXRpb25fY3R5cGVfdXRmMzIudGVzdCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCisjICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IworIyBQdXJwb3NlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMKKyMgIFRlc3RzIGZvciBwYXJ0aXRpb25zICsgVVRG MzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCisjICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSMKKyMgT3JpZ2luYWwg QXV0aG9yOiBBbGV4YW5kZXIgQmFya292ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjCisjIE9yaWdpbmFsIERhdGU6IDIwMTAtMDgtMDUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIworIyBDaGFuZ2UgQXV0aG9yOiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMKKyMgQ2hhbmdlIERhdGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCisjIENoYW5nZTogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwor IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworLS1zb3VyY2UgaW5jbHVkZS9oYXZlX3BhcnRpdGlv bi5pbmMKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV91dGYzMi5pbmMKKworLS1lY2hvICMKKy0tZWNo byAjIEJ1ZyM1MjEyMSBwYXJ0aXRpb24gYnkga2V5IG9uIHV0ZjMyIGVudW0gZmllbGQgY2F1c2Ug ZGVidWcgYXNzZXJ0aW9uOiAobGVuZ3RoICUgNCkgPT0gMAorLS1lY2hvICMKKworRFJPUCBUQUJM RSBJRiBFWElTVFMgdDE7CitDUkVBVEUgVEFCTEUgdDEgKAorIGEgZW51bSgnYScpIENIQVJBQ1RF UiBTRVQgdXRmMzIgQ09MTEFURSB1dGYzMl9zcGFuaXNoMl9jaQorKSBFTkdJTkU9TVlJU0FNIFBB UlRJVElPTiBCWSBLRVkoYSkgUEFSVElUSU9OUyAyOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgn YScpOworU0VMRUNUICogRlJPTSB0MTsKK0RST1AgVEFCTEUgdDE7Cgo9PT0gbW9kaWZpZWQgZmls ZSAnbXlzcWwtdGVzdC90L2N0eXBlX3V0ZjMyLnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9jdHlw ZV91dGYzMi50ZXN0CTIwMTAtMDgtMTggMTI6MDg6NTkgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90 L2N0eXBlX3V0ZjMyLnRlc3QJMjAxMC0wOC0yMCAxMToxNDoxMSArMDAwMApAQCAtODEwLDUgKzgx MCwxNCBAQCBTRUxFQ1QgKiBGUk9NIHQxOwogRFJPUCBUQUJMRSB0MTsKIAogLS1lY2hvICMKKy0t ZWNobyAjIEJ1ZyM1NTkxMiBGT1JNQVQgd2l0aCBsb2NhbGUgc2V0IGZhaWxzIGZvciBudW1iZXJz IDwgMTAwMAorLS1lY2hvICMKK1NFVCBjb2xsYXRpb25fY29ubmVjdGlvbj11dGYzMl9nZW5lcmFs X2NpOworQ1JFQVRFIFRBQkxFIHQxIEFTIFNFTEVDVCBmb3JtYXQoMTIzLDIsJ25vX05PJyk7CitT SE9XIENSRUFURSBUQUJMRSB0MTsKK1NFTEVDVCAqIEZST00gdDE7CitEUk9QIFRBQkxFIHQxOwor CistLWVjaG8gIwogLS1lY2hvICMgRW5kIG9mIDUuNSB0ZXN0cwogLS1lY2hvICMKCj09PSBtb2Rp ZmllZCBmaWxlICdteXNxbC10ZXN0L3QvZGVsYXllZC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3Qv ZGVsYXllZC50ZXN0CTIwMTAtMDgtMDYgMTE6Mjk6MzcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90 L2RlbGF5ZWQudGVzdAkyMDEwLTA4LTIzIDE1OjQyOjUzICswMDAwCkBAIC0zODgsMyArMzg4LDE2 MiBAQCBDUkVBVEUgVEFCTEUgdDEgTElLRSB0MjsKIAogRFJPUCBUQUJMRSB0MjsKIERST1AgVEFC TEUgdDE7CisKKworLS1lY2hvICMKKy0tZWNobyAjIEJ1ZyM1NDMzMiBEZWFkbG9jayB3aXRoIHR3 byBjb25uZWN0aW9ucyBkb2luZyBMT0NLIFRBQkxFK0lOU0VSVCBERUxBWUVECistLWVjaG8gIwor CistLWRpc2FibGVfd2FybmluZ3MKK0RST1AgVEFCTEUgSUYgRVhJU1RTIHQxLCB0MjsKKy0tZW5h YmxlX3dhcm5pbmdzCisKK0NSRUFURSBUQUJMRSB0MSAoYSBJTlQpOworQ1JFQVRFIFRBQkxFIHQy IChhIElOVCk7CitDUkVBVEUgVEFCTEUgdDMgKGEgSU5UKTsKKworLS1lY2hvICMgVGVzdCAxOiBV c2luZyBMT0NLIFRBQkxFCisKKy0tZWNobyAjIENvbm5lY3Rpb24gY29uMQorY29ubmVjdCAoY29u MSwgbG9jYWxob3N0LCByb290KTsKK0xPQ0sgVEFCTEUgdDEgV1JJVEU7CisKKy0tZWNobyAjIENv bm5lY3Rpb24gZGVmYXVsdAorY29ubmVjdGlvbiBkZWZhdWx0OworTE9DSyBUQUJMRSB0MiBXUklU RTsKKy0tZWNobyAjIFNlbmRpbmc6CistLXNlbmQgSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxV RVMgKDEpCisKKy0tZWNobyAjIENvbm5lY3Rpb24gY29uMQorY29ubmVjdGlvbiBjb24xOworLS1l Y2hvICMgV2FpdCB1bnRpbCBJTlNFUlQgREVMQVlFRCBpcyBibG9ja2VkIG9uIHRhYmxlICd0MScu CitsZXQgJHdhaXRfY29uZGl0aW9uPQorICBTRUxFQ1QgQ09VTlQoKikgPSAxIEZST00gaW5mb3Jt YXRpb25fc2NoZW1hLnByb2Nlc3NsaXN0CisgIFdIRVJFIHN0YXRlID0gIldhaXRpbmcgZm9yIHRh YmxlIG1ldGFkYXRhIGxvY2siCisgIEFORCBpbmZvID0gIklOU0VSVCBERUxBWUVEIElOVE8gdDEg VkFMVUVTICgxKSI7CistLXNvdXJjZSBpbmNsdWRlL3dhaXRfY29uZGl0aW9uLmluYworLS1lcnJv ciBFUl9MT0NLX0RFQURMT0NLCitJTlNFUlQgREVMQVlFRCBJTlRPIHQyIFZBTFVFUyAoMSk7CitV TkxPQ0sgVEFCTEVTOworCistLWVjaG8gIyBDb25uZWN0aW9uIGRlZmF1bHQKK2Nvbm5lY3Rpb24g ZGVmYXVsdDsKKy0tZWNobyAjIFJlYXBpbmc6IElOU0VSVCBERUxBWUVEIElOVE8gdDEgVkFMVUVT ICgxKQorLS1yZWFwCitVTkxPQ0sgVEFCTEVTOworCistLWVjaG8gIyBUZXN0IDI6IFVzaW5nIEFM VEVSIFRBQkxFCisKK1NUQVJUIFRSQU5TQUNUSU9OOworU0VMRUNUICogRlJPTSB0MSBXSEVSRSBh PTA7CisKKy0tZWNobyAjIENvbm5lY3Rpb24gY29uMQorY29ubmVjdGlvbiBjb24xOworLS1lY2hv ICMgU2VuZGluZzoKKy0tc2VuZCBBTFRFUiBUQUJMRSB0MSBDT01NRU5UICd0ZXN0JworCistLWVj aG8gIyBDb25uZWN0aW9uIGRlZmF1bHQKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKKy0tZWNobyAjIFdh aXQgdW50aWwgQUxURVIgVEFCTEUgaXMgYmxvY2tlZCBvbiB0YWJsZSAndDEnLgorbGV0ICR3YWl0 X2NvbmRpdGlvbj0KKyAgU0VMRUNUIENPVU5UKCopID0gMSBGUk9NIGluZm9ybWF0aW9uX3NjaGVt YS5wcm9jZXNzbGlzdAorICBXSEVSRSBzdGF0ZSA9ICJXYWl0aW5nIGZvciB0YWJsZSBtZXRhZGF0 YSBsb2NrIgorICBBTkQgaW5mbyA9ICJBTFRFUiBUQUJMRSB0MSBDT01NRU5UICd0ZXN0JyI7Cist LXNvdXJjZSBpbmNsdWRlL3dhaXRfY29uZGl0aW9uLmluYworLS1lcnJvciBFUl9MT0NLX0RFQURM T0NLCitJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAoMyk7CitDT01NSVQ7CisKKy0tZWNo byAjIENvbm5lY3Rpb24gY29uMQorY29ubmVjdGlvbiBjb24xOworLS1lY2hvICMgUmVhcGluZzog QUxURVIgVEFCTEUgdDEgQ09NTUVOVCAndGVzdCcKKy0tcmVhcAorCistLWVjaG8gIyBUZXN0IDM6 IFVzaW5nIFJFTkFNRSBUQUJMRQorCistLWVjaG8gIyBDb25uZWN0aW9uIGRlZmF1bHQKK2Nvbm5l Y3Rpb24gZGVmYXVsdDsKK1NUQVJUIFRSQU5TQUNUSU9OOworSU5TRVJUIElOVE8gdDIgVkFMVUVT ICgxKTsKKworLS1lY2hvICMgQ29ubmVjdGlvbiBjb24xCitjb25uZWN0aW9uIGNvbjE7CistLWVj aG8gIyBTZW5kaW5nOgorLS1zZW5kIFJFTkFNRSBUQUJMRSB0MSB0byB0NSwgdDIgdG8gdDQKKwor LS1lY2hvICMgQ29ubmVjdGlvbiBkZWZhdWx0Citjb25uZWN0aW9uIGRlZmF1bHQ7CistLWVjaG8g IyBXYWl0IHVudGlsIFJFTkFNRSBUQUJMRSBpcyBibG9ja2VkIG9uIHRhYmxlICd0MScuCitsZXQg JHdhaXRfY29uZGl0aW9uPQorICBTRUxFQ1QgQ09VTlQoKikgPSAxIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLnByb2Nlc3NsaXN0CisgIFdIRVJFIHN0YXRlID0gIldhaXRpbmcgZm9yIHRhYmxlIG1l dGFkYXRhIGxvY2siCisgIEFORCBpbmZvID0gIlJFTkFNRSBUQUJMRSB0MSB0byB0NSwgdDIgdG8g dDQiOworLS1zb3VyY2UgaW5jbHVkZS93YWl0X2NvbmRpdGlvbi5pbmMKKy0tZXJyb3IgRVJfTE9D S19ERUFETE9DSworSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxVRVMgKDQpOworQ09NTUlUOwor CistLWVjaG8gIyBDb25uZWN0aW9uIGNvbjEKK2Nvbm5lY3Rpb24gY29uMTsKKy0tZWNobyAjIFJl YXBpbmc6IFJFTkFNRSBUQUJMRSB0MSB0byB0NSwgdDIgdG8gdDQKKy0tcmVhcAorCistLWVjaG8g IyBDb25uZWN0aW9uIGRlZmF1bHQKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKKy0tZWNobyAjIFJldmVy dGluZyB0aGUgcmVuYW1lcworUkVOQU1FIFRBQkxFIHQ1IHRvIHQxLCB0NCB0byB0MjsKKworLS1l Y2hvICMgVGVzdCA0OiBUd28gSU5TRVJUIERFTEFZRUQgb24gdGhlIHNhbWUgdGFibGUKKworU1RB UlQgVFJBTlNBQ1RJT047CitJTlNFUlQgSU5UTyB0MiBWQUxVRVMgKDEpOworCistLWVjaG8gIyBD b25uZWN0aW9uIGNvbjIKK2Nvbm5lY3QgKGNvbjIsIGxvY2FsaG9zdCwgcm9vdCk7CistLXNlbmQg TE9DSyBUQUJMRSB0MSBXUklURSwgdDIgV1JJVEUKKworLS1lY2hvICMgQ29ubmVjdGlvbiBjb24x Citjb25uZWN0aW9uIGNvbjE7CistLWVjaG8gIyBXYWl0IHVudGlsIExPQ0sgVEFCTEUgaXMgYmxv Y2tlZCBvbiB0YWJsZSAndDInLgorbGV0ICR3YWl0X2NvbmRpdGlvbj0KKyAgU0VMRUNUIENPVU5U KCopID0gMSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5wcm9jZXNzbGlzdAorICBXSEVSRSBzdGF0 ZSA9ICJXYWl0aW5nIGZvciB0YWJsZSBtZXRhZGF0YSBsb2NrIgorICBBTkQgaW5mbyA9ICJMT0NL IFRBQkxFIHQxIFdSSVRFLCB0MiBXUklURSI7CistLXNvdXJjZSBpbmNsdWRlL3dhaXRfY29uZGl0 aW9uLmluYworLS1zZW5kIElOU0VSVCBERUxBWUVEIElOVE8gdDEgVkFMVUVTICg1KQorCistLWVj aG8gIyBDb25uZWN0aW9uIGRlZmF1bHQKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKKy0tZWNobyAjIFdh aXQgdW50aWwgSU5TRVJUIERFTEFZRUQgaXMgYmxvY2tlZCBvbiB0YWJsZSAndDEnLgorbGV0ICR3 YWl0X2NvbmRpdGlvbj0KKyAgU0VMRUNUIENPVU5UKCopID0gMSBGUk9NIGluZm9ybWF0aW9uX3Nj aGVtYS5wcm9jZXNzbGlzdAorICBXSEVSRSBzdGF0ZSA9ICJXYWl0aW5nIGZvciB0YWJsZSBtZXRh ZGF0YSBsb2NrIgorICBBTkQgaW5mbyA9ICJJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAo NSkiOworLS1zb3VyY2UgaW5jbHVkZS93YWl0X2NvbmRpdGlvbi5pbmMKKy0tZXJyb3IgRVJfTE9D S19ERUFETE9DSworSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxVRVMgKDYpOworQ09NTUlUOwor CistLWVjaG8gIyBDb25uZWN0aW9uIGNvbjIKK2Nvbm5lY3Rpb24gY29uMjsKKy0tZWNobyAjIFJl YXBpbmc6IExPQ0sgVEFCTEUgdDEgV1JJVEUsIHQyIFdSSVRFCistLXJlYXAKK1VOTE9DSyBUQUJM RVM7CisKKy0tZWNobyAjIENvbm5lY3Rpb24gY29uMQorY29ubmVjdGlvbiBjb24xOworLS1lY2hv ICMgUmVhcGluZzogSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxVRVMgKDUpCistLXJlYXAKKwor LS1lY2hvICMgQ29ubmVjdGlvbiBjb24yCitjb25uZWN0aW9uIGNvbjI7CitkaXNjb25uZWN0IGNv bjI7CistLXNvdXJjZSBpbmNsdWRlL3dhaXRfdW50aWxfZGlzY29ubmVjdGVkLmluYworLS1lY2hv ICMgQ29ubmVjdGlvbiBjb24xCitjb25uZWN0aW9uIGNvbjE7CitkaXNjb25uZWN0IGNvbjE7Cist LXNvdXJjZSBpbmNsdWRlL3dhaXRfdW50aWxfZGlzY29ubmVjdGVkLmluYworCistLWVjaG8gIyBD b25uZWN0aW9uIGRlZmF1bHQKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKK0RST1AgVEFCTEUgdDEsIHQy LCB0MzsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmJwotLS0g YS9teXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmCTIwMTAtMDgtMTggMTE6Mjk6MDQgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC90L2Rpc2FibGVkLmRlZgkyMDEwLTA4LTE5IDEyOjExOjMxICswMDAwCkBA IC0xMSw4ICsxMSw2IEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIGtpbGwgICAgICAgICAgICAg ICAgICAgICA6IEJ1ZyMzNzc4MCAyMDA4LTEyLTAzIEhIdW5nZXIgbmVlZCBzb21lIGNoYW5nZXMg dG8gYmUgcm9idXN0IGVub3VnaCBmb3IgcHVzaGJ1aWxkLgogbG93ZXJjYXNlX3RhYmxlMyAgICAg ICAgIDogQnVnIzU0ODQ1IDIwMTAtMDYtMzAgYWxpayBtYWluLmxvd2VyY2FzZV90YWJsZTMgb24g TWFjIE9TWAotbXlzcWxob3Rjb3B5X215aXNhbSAgICAgIDogYnVnIzU0MTI5IDIwMTAtMDYtMDQg SG9yc3QKLW15c3FsaG90Y29weV9hcmNoaXZlICAgICA6IGJ1ZyM1NDEyOSAyMDEwLTA2LTA0IEhv cnN0CiBwYXJ0aXRpb25faW5ub2RiX3BsdWdpbiAgOiBCdWcjNTMzMDcgMjAxMC0wNC0zMCBWYXNp bERpbW92IHZhbGdyaW5kIHdhcm5pbmdzCiBwbHVnaW4gICAgICAgICAgICAgICAgICAgOiBCdWcj NTU5NjYgMjAxMC0wOC0xMyBhbGlrICJwbHVnaW4iIHRlc3RzIGZhaWwgaW4gNS41CiBwbHVnaW5f bG9hZCAgICAgICAgICAgICAgOiBCdWcjNTU5NjYgMjAxMC0wOC0xMyBhbGlrICJwbHVnaW4iIHRl c3RzIGZhaWwgaW4gNS41Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L2Z1bmNfc3Ry LnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9mdW5jX3N0ci50ZXN0CTIwMTAtMDQtMDIgMTU6MTc6 NDMgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L2Z1bmNfc3RyLnRlc3QJMjAxMC0wOC0yMCAxMTox NDoxMSArMDAwMApAQCAtMTQwNCwzICsxNDA0LDIwIEBAIFNFTEVDVCBmb3JtYXQoMTIzLCAxLCAn Tm9uLWV4aXN0ZW50LWxvY2EKIAogLS1lY2hvIEVuZCBvZiA1LjQgdGVzdHMKIAorLS1lY2hvICMK Ky0tZWNobyAjIFN0YXJ0IG9mIDUuNSB0ZXN0cworLS1lY2hvICMKKworLS1lY2hvICMKKy0tZWNo byAjIEJ1ZyM1NTkxMiBGT1JNQVQgd2l0aCBsb2NhbGUgc2V0IGZhaWxzIGZvciBudW1iZXJzIDwg MTAwMAorLS1lY2hvICMKK1NFTEVDVCBGT1JNQVQoMTIzLjMzLCAyLCAnbm9fTk8nKSwgRk9STUFU KDExMjMuMzMsIDIsICdub19OTycpOworU0VMRUNUIEZPUk1BVCgxMjMzM2UtMiwgMiwgJ25vX05P JyksIEZPUk1BVCgxMTIzMzNlLTIsIDIsICdub19OTycpOworQ1JFQVRFIFRBQkxFIHQxIEFTIFNF TEVDVCBmb3JtYXQoMTIzLDIsJ25vX05PJyk7CitTSE9XIENSRUFURSBUQUJMRSB0MTsKK1NFTEVD VCAqIEZST00gdDE7CitEUk9QIFRBQkxFIHQxOworCistLWVjaG8gIworLS1lY2hvICMgRW5kIG9m IDUuNSB0ZXN0cworLS1lY2hvICMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvbXlz cWwudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L215c3FsLnRlc3QJMjAwOS0xMi0yNCAwNzo1Njox MyArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvbXlzcWwudGVzdAkyMDEwLTA4LTE5IDExOjM1OjQ3 ICswMDAwCkBAIC00MjUsNSArNDI1LDExIEBAIGRyb3AgdGFibGUgdDE7CiAtLWVjaG8KIC0tZXhl YyAkTVlTUUwgLS1za2lwLWNvbHVtbi1uYW1lcyAtLXZlcnRpY2FsIHRlc3QgLWUgInNlbGVjdCAx IGFzIGEiCiAKKyMKKyMgQnVnICM1NDQ2NiBjbGllbnQgNS41IGJ1aWx0IGZyb20gc291cmNlIGxh Y2tzICJwYWdlciIgc3VwcG9ydAorIyAKKy0tZWNobyBCdWcgIzU0NDY2IGNsaWVudCA1LjUgYnVp bHQgZnJvbSBzb3VyY2UgbGFja3MgInBhZ2VyIiBzdXBwb3J0CistLWV4ZWMgJE1ZU1FMIC0tcGFn ZXIgdGVzdCAtZSAic2VsZWN0IDEgYXMgYSIKKwogLS1lY2hvCiAtLWVjaG8gRW5kIG9mIHRlc3Rz Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L3BhcnRpdGlvbl9pbm5vZGIudGVzdCcK LS0tIGEvbXlzcWwtdGVzdC90L3BhcnRpdGlvbl9pbm5vZGIudGVzdAkyMDEwLTA4LTEzIDA3OjUw OjI1ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9wYXJ0aXRpb25faW5ub2RiLnRlc3QJMjAxMC0w OC0yMCAxNzoxNTo0OCArMDAwMApAQCAtOSw2ICs5LDYzIEBAIGRyb3AgdGFibGUgaWYgZXhpc3Rz IHQxLCB0MjsKIGxldCAkTVlTUUxEX0RBVEFESVI9IGBTRUxFQ1QgQEBkYXRhZGlyYDsKIAogLS1l Y2hvICMKKy0tZWNobyAjIEJ1ZyM1NDc0NzogRGVhZGxvY2sgYmV0d2VlbiBSRU9SR0FOSVpFIFBB UlRJVElPTiBhbmQKKy0tZWNobyAjICAgICAgICAgICAgU0VMRUNUIGlzIG5vdCBkZXRlY3RlZAor LS1lY2hvICMKKworU0VUIEBvbGRfaW5ub2RiX3RocmVhZF9jb25jdXJyZW5jeTo9IEBAaW5ub2Ri X3RocmVhZF9jb25jdXJyZW5jeTsKK1NFVCBHTE9CQUwgaW5ub2RiX3RocmVhZF9jb25jdXJyZW5j eSA9IDE7CisKK0NSRUFURSBUQUJMRSB0MQorKHVzZXJfbnVtIEJJR0lOVCwKKyBob3VycyBTTUFM TElOVCwKKyBLRVkgdXNlcl9udW0gKHVzZXJfbnVtKSkKK0VOR0lORSA9IElubm9EQiAgIAorUEFS VElUSU9OIEJZIFJBTkdFIENPTFVNTlMgKGhvdXJzKQorKFBBUlRJVElPTiBob3VyXzAwMyBWQUxV RVMgTEVTUyBUSEFOICgzKSwKKyBQQVJUSVRJT04gaG91cl8wMDQgVkFMVUVTIExFU1MgVEhBTiAo NCksCisgUEFSVElUSU9OIGhvdXJfMDA1IFZBTFVFUyBMRVNTIFRIQU4gKDUpLAorIFBBUlRJVElP TiBob3VyX2xhc3QgVkFMVUVTIExFU1MgVEhBTiAoTUFYVkFMVUUpKTsKKworSU5TRVJUIElOVE8g dDEgVkFMVUVTICgxLCAxKSwgKDIsIDIpLCAoMywgMyksICg0LCA0KSwgKDUsIDUpOworCitCRUdJ TjsKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHQxOworCistLWVjaG8gIyBjb24xCistLWNvbm5lY3Qg KGNvbjEsbG9jYWxob3N0LHJvb3QsLCkKKy0tZWNobyAjIFNFTkQgYSBBTFRFUiBQQVJUSVRJT04g d2hpY2ggd2FpdHMgb24gdGhlIG9uZ29pbmcgdHJhbnNhY3Rpb24uCistLXNlbmQKK0FMVEVSIFRB QkxFIHQxCitSRU9SR0FOSVpFIFBBUlRJVElPTiBob3VyXzAwMywgaG91cl8wMDQgSU5UTworKFBB UlRJVElPTiBvbGRlc3QgVkFMVUVTIExFU1MgVEhBTiAoNCkpOworCistLWVjaG8gIyBDb25uZWN0 aW9uIGRlZmF1bHQgd2FpdCB1bnRpbCB0aGUgQUxURVIgaXMgaW4gJ3dhaXRpbmcgZm9yIHRhYmxl Li4uJworLS1lY2hvICMgc3RhdGUgYW5kIHRoZW4gY29udGludWUgdGhlIHRyYW5zYWN0aW9uIGJ5 IHRyeWluZyBhIFNFTEVDVAorLS1jb25uZWN0aW9uIGRlZmF1bHQKK2xldCAkd2FpdF9jb25kaXRp b24gPQorU0VMRUNUIENPVU5UKCopID0gMQorRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEucHJvY2Vz c2xpc3QKK1dIRVJFIElORk8gbGlrZSAnQUxURVIgVEFCTEUgdDElUkVPUkdBTklaRSBQQVJUSVRJ T04gaG91cl8wMDMsIGhvdXJfMDA0JScKK0FORCBTVEFURSA9ICdXYWl0aW5nIGZvciB0YWJsZSBt ZXRhZGF0YSBsb2NrJzsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9jb25kaXRpb24uaW5jCitTRUxF Q1QgQ09VTlQoKikgRlJPTSB0MTsKK0NPTU1JVDsKKworLS1lY2hvICMgY29uMSwgcmVhcGluZyBB TFRFUi4KKy0tY29ubmVjdGlvbiBjb24xCistLXJlYXAKKworLS1lY2hvICMgRGlzY29ubmVjdGlu ZyBjb24xIGFuZCBzd2l0Y2hpbmcgdG8gZGVmYXVsdC4gQ2xlYW5pbmcgdXAuCistLWRpc2Nvbm5l Y3QgY29uMQorCistLWNvbm5lY3Rpb24gZGVmYXVsdAorCitTRVQgR0xPQkFMIGlubm9kYl90aHJl YWRfY29uY3VycmVuY3kgPSBAb2xkX2lubm9kYl90aHJlYWRfY29uY3VycmVuY3k7CitEUk9QIFRB QkxFIHQxOworCisKKy0tZWNobyAjCiAtLWVjaG8gIyBCdWcjNTA0MTg6IERST1AgUEFSVElUSU9O IGRvZXMgbm90IGludGVyYWN0IHdpdGggdHJhbnNhY3Rpb25zCiAtLWVjaG8gIwogQ1JFQVRFIFRB QkxFIHQxICgKCj09PSBtb2RpZmllZCBmaWxlICdteXN5cy9teV90aHJfaW5pdC5jJwotLS0gYS9t eXN5cy9teV90aHJfaW5pdC5jCTIwMTAtMDItMTMgMTY6MDE6MzIgKzAwMDAKKysrIGIvbXlzeXMv bXlfdGhyX2luaXQuYwkyMDEwLTA4LTIzIDAxOjQxOjQyICswMDAwCkBAIC0zMDIsNiArMzAyLDgg QEAgdm9pZCBteV90aHJlYWRfZ2xvYmFsX2VuZCh2b2lkKQogI2lmbmRlZiBIQVZFX0dFVEhPU1RC WU5BTUVfUgogICBteXNxbF9tdXRleF9kZXN0cm95KCZMT0NLX2dldGhvc3RieW5hbWVfcik7CiAj ZW5kaWYKKworICBteV90aHJlYWRfYmFzaWNfZ2xvYmFsX2luaXRfZG9uZT0gMDsKIH0KIAogc3Rh dGljIG15X3RocmVhZF9pZCB0aHJlYWRfaWQ9IDA7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc2NyaXB0 cy9DTWFrZUxpc3RzLnR4dCcKLS0tIGEvc2NyaXB0cy9DTWFrZUxpc3RzLnR4dAkyMDEwLTA4LTEy IDE1OjE5OjU3ICswMDAwCisrKyBiL3NjcmlwdHMvQ01ha2VMaXN0cy50eHQJMjAxMC0wOC0xOSAx MjoxMTozMSArMDAwMApAQCAtMzQ0LDYgKzM0NCw3IEBAIEVMU0UoKQogICAgICAgTUVTU0FHRShG QVRBTF9FUlJPUiAiQ2FuIG5vdCBmaW5kICR7ZmlsZX0uc2ggb3IgJHtmaWxlfSBpbiAiCiAgICAg ICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0iICkKICAgICBFTkRJRigpCisgICAgRVhF Q1VURV9QUk9DRVNTKENPTU1BTkQgY2htb2QgK3ggJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9 LyR7ZmlsZX0pCiAgICAgSUYoTk9UICR7ZmlsZX1fQ09NUE9ORU5UKQogICAgICAgU0VUKCR7Zmls ZX1fQ09NUE9ORU5UIFNlcnZlcikKICAgICBFTkRJRigpCgo9PT0gbW9kaWZpZWQgZmlsZSAnc2Ny aXB0cy9teXNxbGFjY2Vzcy5jb25mJyAocHJvcGVydGllcyBjaGFuZ2VkOiAteCB0byAreCkKPT09 IG1vZGlmaWVkIGZpbGUgJ3NxbC9maWVsZC5jYycKLS0tIGEvc3FsL2ZpZWxkLmNjCTIwMTAtMDct MjkgMTI6MzI6MTEgKzAwMDAKKysrIGIvc3FsL2ZpZWxkLmNjCTIwMTAtMDgtMjMgMDk6NTY6MjEg KzAwMDAKQEAgLTEzMjksNyArMTMyOSw3IEBAIHZvaWQgRmllbGQ6Omhhc2godWxvbmcgKm5yLCB1 bG9uZyAqbnIyKQogICBlbHNlCiAgIHsKICAgICB1aW50IGxlbj0gcGFja19sZW5ndGgoKTsKLSAg ICBDSEFSU0VUX0lORk8gKmNzPSBjaGFyc2V0KCk7CisgICAgQ0hBUlNFVF9JTkZPICpjcz0gc29y dF9jaGFyc2V0KCk7CiAgICAgY3MtPmNvbGwtPmhhc2hfc29ydChjcywgcHRyLCBsZW4sIG5yLCBu cjIpOwogICB9CiB9Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2l0ZW1fc3RyZnVuYy5jYycKLS0t IGEvc3FsL2l0ZW1fc3RyZnVuYy5jYwkyMDEwLTA4LTE5IDExOjU1OjM1ICswMDAwCisrKyBiL3Nx bC9pdGVtX3N0cmZ1bmMuY2MJMjAxMC0wOC0yMCAxMToxNDoxMSArMDAwMApAQCAtMjIxNyw3ICsy MjE3LDcgQEAgY29uc3QgaW50IEZPUk1BVF9NQVhfREVDSU1BTFM9IDMwOwogTVlfTE9DQUxFICpJ dGVtX2Z1bmNfZm9ybWF0OjpnZXRfbG9jYWxlKEl0ZW0gKml0ZW0pCiB7CiAgIERCVUdfQVNTRVJU KGFyZ19jb3VudCA9PSAzKTsKLSAgU3RyaW5nIHRtcCwgKmxvY2FsZV9uYW1lPSBhcmdzWzJdLT52 YWxfc3RyKCZ0bXApOworICBTdHJpbmcgdG1wLCAqbG9jYWxlX25hbWU9IGFyZ3NbMl0tPnZhbF9z dHJfYXNjaWkoJnRtcCk7CiAgIE1ZX0xPQ0FMRSAqbGM7CiAgIGlmICghbG9jYWxlX25hbWUgfHwK ICAgICAgICEobGM9IG15X2xvY2FsZV9ieV9uYW1lKGxvY2FsZV9uYW1lLT5jX3B0cl9zYWZlKCkp KSkKQEAgLTIyNTAsNyArMjI1MCw3IEBAIHZvaWQgSXRlbV9mdW5jX2Zvcm1hdDo6Zml4X2xlbmd0 aF9hbmRfZGUKICAgYXJlIHN0b3JlZCBpbiBtb3JlIHRoYW4gb25lIGJ5dGUKICovCiAKLVN0cmlu ZyAqSXRlbV9mdW5jX2Zvcm1hdDo6dmFsX3N0cihTdHJpbmcgKnN0cikKK1N0cmluZyAqSXRlbV9m dW5jX2Zvcm1hdDo6dmFsX3N0cl9hc2NpaShTdHJpbmcgKnN0cikKIHsKICAgdWludDMyIHN0cl9s ZW5ndGg7CiAgIC8qIE51bWJlciBvZiBkZWNpbWFsIGRpZ2l0cyAqLwpAQCAtMjI5MCw4ICsyMjkw LDcgQEAgU3RyaW5nICpJdGVtX2Z1bmNfZm9ybWF0Ojp2YWxfc3RyKFN0cmluZwogICAgIGlmICgo bnVsbF92YWx1ZT1hcmdzWzBdLT5udWxsX3ZhbHVlKSkKICAgICAgIHJldHVybiAwOyAvKiBwdXJl Y292OiBpbnNwZWN0ZWQgKi8KICAgICBucj0gbXlfZG91YmxlX3JvdW5kKG5yLCAobG9uZ2xvbmcp IGRlYywgRkFMU0UsIEZBTFNFKTsKLSAgICAvKiBIZXJlIGRlZmF1bHRfY2hhcnNldCgpIGlzIHJp Z2h0IGFzIHRoaXMgaXMgbm90IGFuIGF1dG9tYXRpYyBjb252ZXJzaW9uICovCi0gICAgc3RyLT5z ZXRfcmVhbChuciwgZGVjLCBkZWZhdWx0X2NoYXJzZXQoKSk7CisgICAgc3RyLT5zZXRfcmVhbChu ciwgZGVjLCAmbXlfY2hhcnNldF9udW1lcmljKTsKICAgICBpZiAoaXNuYW4obnIpKQogICAgICAg cmV0dXJuIHN0cjsKICAgICBzdHJfbGVuZ3RoPXN0ci0+bGVuZ3RoKCk7CkBAIC0yMzQxLDYgKzIz NDAsMTQgQEAgU3RyaW5nICpJdGVtX2Z1bmNfZm9ybWF0Ojp2YWxfc3RyKFN0cmluZwogICAgIC8q IFB1dCB0aGUgcmVzdCBvZiB0aGUgaW50ZWdlciBwYXJ0IHdpdGhvdXQgZ3JvdXBpbmcgKi8KICAg ICBzdHItPmNvcHkoZHN0LCBidWYgKyBzaXplb2YoYnVmKSAtIGRzdCwgJm15X2NoYXJzZXRfbGF0 aW4xKTsKICAgfQorICBlbHNlIGlmIChkZWNfbGVuZ3RoICYmIGxjLT5kZWNpbWFsX3BvaW50ICE9 ICcuJykKKyAgeworICAgIC8qCisgICAgICBGb3Igc2hvcnQgdmFsdWVzIHdpdGhvdXQgdGhvdXNh bmRzICg8MTAwMCkKKyAgICAgIHJlcGxhY2UgZGVjaW1hbCBwb2ludCB0byBsb2NhbGl6ZWQgdmFs dWUuCisgICAgKi8KKyAgICAoKGNoYXIqKSBzdHItPnB0cigpKVtzdHJfbGVuZ3RoIC0gZGVjX2xl bmd0aF09IGxjLT5kZWNpbWFsX3BvaW50OworICB9CiAgIHJldHVybiBzdHI7CiB9CiAKCj09PSBt b2RpZmllZCBmaWxlICdzcWwvaXRlbV9zdHJmdW5jLmgnCi0tLSBhL3NxbC9pdGVtX3N0cmZ1bmMu aAkyMDEwLTA4LTE4IDEyOjA4OjU5ICswMDAwCisrKyBiL3NxbC9pdGVtX3N0cmZ1bmMuaAkyMDEw LTA4LTIwIDExOjE0OjExICswMDAwCkBAIC01MzksMTcgKzUzOSwxNyBAQCBwdWJsaWM6CiB9Owog CiAKLWNsYXNzIEl0ZW1fZnVuY19mb3JtYXQgOnB1YmxpYyBJdGVtX3N0cl9mdW5jCitjbGFzcyBJ dGVtX2Z1bmNfZm9ybWF0IDpwdWJsaWMgSXRlbV9zdHJfYXNjaWlfZnVuYwogewogICBTdHJpbmcg dG1wX3N0cjsKICAgTVlfTE9DQUxFICpsb2NhbGU7CiBwdWJsaWM6Ci0gIEl0ZW1fZnVuY19mb3Jt YXQoSXRlbSAqb3JnLCBJdGVtICpkZWMpOiBJdGVtX3N0cl9mdW5jKG9yZywgZGVjKSB7fQorICBJ dGVtX2Z1bmNfZm9ybWF0KEl0ZW0gKm9yZywgSXRlbSAqZGVjKTogSXRlbV9zdHJfYXNjaWlfZnVu YyhvcmcsIGRlYykge30KICAgSXRlbV9mdW5jX2Zvcm1hdChJdGVtICpvcmcsIEl0ZW0gKmRlYywg SXRlbSAqbGFuZyk6Ci0gIEl0ZW1fc3RyX2Z1bmMob3JnLCBkZWMsIGxhbmcpIHt9CisgIEl0ZW1f c3RyX2FzY2lpX2Z1bmMob3JnLCBkZWMsIGxhbmcpIHt9CiAgIAogICBNWV9MT0NBTEUgKmdldF9s b2NhbGUoSXRlbSAqaXRlbSk7Ci0gIFN0cmluZyAqdmFsX3N0cihTdHJpbmcgKik7CisgIFN0cmlu ZyAqdmFsX3N0cl9hc2NpaShTdHJpbmcgKik7CiAgIHZvaWQgZml4X2xlbmd0aF9hbmRfZGVjKCk7 CiAgIGNvbnN0IGNoYXIgKmZ1bmNfbmFtZSgpIGNvbnN0IHsgcmV0dXJuICJmb3JtYXQiOyB9CiAg IHZpcnR1YWwgdm9pZCBwcmludChTdHJpbmcgKnN0ciwgZW51bV9xdWVyeV90eXBlIHF1ZXJ5X3R5 cGUpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfYXVkaXQuY2MnCi0tLSBhL3NxbC9zcWxf YXVkaXQuY2MJMjAxMC0wNC0xNSAwOTozNjozNiArMDAwMAorKysgYi9zcWwvc3FsX2F1ZGl0LmNj CTIwMTAtMDgtMjAgMDk6NTg6MjggKzAwMDAKQEAgLTEzOCw2ICsxMzgsMzAgQEAgc3RhdGljIG15 X2Jvb2wgYWNxdWlyZV9wbHVnaW5zKFRIRCAqdGhkLAogCiAKIC8qKgorICBAYnJpZWYgQWNxdWly ZSBhdWRpdCBwbHVnaW5zCisKKyAgQHBhcmFtW2luXSAgIHRoZCAgICAgICAgICAgICAgTXlTUUwg dGhyZWFkIGhhbmRsZQorICBAcGFyYW1baW5dICAgZXZlbnRfY2xhc3MgICAgICBBdWRpdCBldmVu dCBjbGFzcworCisgIEBkZXRhaWxzIEVuc3VyZSB0aGF0IGF1ZGl0IHBsdWdpbnMgaW50ZXJlc3Rl ZCBpbiBnaXZlbiBldmVudAorICBjbGFzcyBhcmUgbG9ja2VkIGJ5IGN1cnJlbnQgdGhyZWFkLgor Ki8KK3ZvaWQgbXlzcWxfYXVkaXRfYWNxdWlyZV9wbHVnaW5zKFRIRCAqdGhkLCB1aW50IGV2ZW50 X2NsYXNzKQoreworICB1bnNpZ25lZCBsb25nIGV2ZW50X2NsYXNzX21hc2tbTVlTUUxfQVVESVRf Q0xBU1NfTUFTS19TSVpFXTsKKyAgREJVR19FTlRFUigibXlzcWxfYXVkaXRfYWNxdWlyZV9wbHVn aW5zIik7CisgIHNldF9hdWRpdF9tYXNrKGV2ZW50X2NsYXNzX21hc2ssIGV2ZW50X2NsYXNzKTsK KyAgaWYgKHRoZCAmJiAhY2hlY2tfYXVkaXRfbWFzayhteXNxbF9nbG9iYWxfYXVkaXRfbWFzaywg ZXZlbnRfY2xhc3NfbWFzaykgJiYKKyAgICAgIGNoZWNrX2F1ZGl0X21hc2sodGhkLT5hdWRpdF9j bGFzc19tYXNrLCBldmVudF9jbGFzc19tYXNrKSkKKyAgeworICAgIHBsdWdpbl9mb3JlYWNoKHRo ZCwgYWNxdWlyZV9wbHVnaW5zLCBNWVNRTF9BVURJVF9QTFVHSU4sICZldmVudF9jbGFzcyk7Cisg ICAgYWRkX2F1ZGl0X21hc2sodGhkLT5hdWRpdF9jbGFzc19tYXNrLCBldmVudF9jbGFzc19tYXNr KTsKKyAgfQorICBEQlVHX1ZPSURfUkVUVVJOOworfQorIAorCisvKioKICAgTm90aWZ5IHRoZSBh dWRpdCBzeXN0ZW0gb2YgYW4gZXZlbnQKICAgCiAgIEBwYXJhbVtpbl0gdGhkCkBAIC0xNTEsMjEg KzE3NSw4IEBAIHZvaWQgbXlzcWxfYXVkaXRfbm90aWZ5KFRIRCAqdGhkLCB1aW50IGUKIHsKICAg dmFfbGlzdCBhcDsKICAgYXVkaXRfaGFuZGxlcl90ICpoYW5kbGVycz0gYXVkaXRfaGFuZGxlcnMg KyBldmVudF9jbGFzczsKLSAgdW5zaWduZWQgbG9uZyBldmVudF9jbGFzc19tYXNrW01ZU1FMX0FV RElUX0NMQVNTX01BU0tfU0laRV07Ci0gIAogICBEQlVHX0FTU0VSVChldmVudF9jbGFzcyA8IGF1 ZGl0X2hhbmRsZXJzX2NvdW50KTsKLQotICBzZXRfYXVkaXRfbWFzayhldmVudF9jbGFzc19tYXNr LCBldmVudF9jbGFzcyk7Ci0gIC8qCi0gICAgQ2hlY2sgdG8gc2VlIGlmIHdlIGhhdmUgYWNxdWly ZWQgdGhlIGF1ZGl0IHBsdWdpbnMgZm9yIHRoZQotICAgIHJlcXVpcmVkIGF1ZGl0IGV2ZW50IGNs YXNzZXMuCi0gICovCi0gIGlmICh0aGQgJiYgY2hlY2tfYXVkaXRfbWFzayh0aGQtPmF1ZGl0X2Ns YXNzX21hc2ssIGV2ZW50X2NsYXNzX21hc2spKQotICB7Ci0gICAgcGx1Z2luX2ZvcmVhY2godGhk LCBhY3F1aXJlX3BsdWdpbnMsIE1ZU1FMX0FVRElUX1BMVUdJTiwgJmV2ZW50X2NsYXNzKTsKLSAg ICBhZGRfYXVkaXRfbWFzayh0aGQtPmF1ZGl0X2NsYXNzX21hc2ssIGV2ZW50X2NsYXNzX21hc2sp OwotICB9Ci0KKyAgbXlzcWxfYXVkaXRfYWNxdWlyZV9wbHVnaW5zKHRoZCwgZXZlbnRfY2xhc3Mp OwogICB2YV9zdGFydChhcCwgZXZlbnRfc3VidHlwZSk7ICAKICAgKCpoYW5kbGVycykodGhkLCBl dmVudF9zdWJ0eXBlLCBhcCk7CiAgIHZhX2VuZChhcCk7CkBAIC00NDgsNiArNDU5LDExIEBAIHN0 YXRpYyB2b2lkIGV2ZW50X2NsYXNzX2Rpc3BhdGNoKFRIRCAqdGgKICNlbHNlIC8qIEVNQkVEREVE X0xJQlJBUlkgKi8KIAogCit2b2lkIG15c3FsX2F1ZGl0X2FjcXVpcmVfcGx1Z2lucyhUSEQgKnRo ZCwgdWludCBldmVudF9jbGFzcykKK3sKK30KKworCiB2b2lkIG15c3FsX2F1ZGl0X2luaXRpYWxp emUoKQogewogfQoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfYXVkaXQuaCcKLS0tIGEvc3Fs L3NxbF9hdWRpdC5oCTIwMTAtMDMtMzEgMTQ6MDU6MzMgKzAwMDAKKysrIGIvc3FsL3NxbF9hdWRp dC5oCTIwMTAtMDgtMjAgMDk6NTg6MjggKzAwMDAKQEAgLTI5LDYgKzI5LDcgQEAgZXh0ZXJuIHZv aWQgbXlzcWxfYXVkaXRfZmluYWxpemUoKTsKIAogZXh0ZXJuIHZvaWQgbXlzcWxfYXVkaXRfaW5p dF90aGQoVEhEICp0aGQpOwogZXh0ZXJuIHZvaWQgbXlzcWxfYXVkaXRfZnJlZV90aGQoVEhEICp0 aGQpOworZXh0ZXJuIHZvaWQgbXlzcWxfYXVkaXRfYWNxdWlyZV9wbHVnaW5zKFRIRCAqdGhkLCB1 aW50IGV2ZW50X2NsYXNzKTsKIAogCiBleHRlcm4gdm9pZCBteXNxbF9hdWRpdF9ub3RpZnkoVEhE ICp0aGQsIHVpbnQgZXZlbnRfY2xhc3MsCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9pbnNl cnQuY2MnCi0tLSBhL3NxbC9zcWxfaW5zZXJ0LmNjCTIwMTAtMDgtMjAgMDg6MjQ6MzIgKzAwMDAK KysrIGIvc3FsL3NxbF9pbnNlcnQuY2MJMjAxMC0wOC0yMyAxNTo0Mjo1MyArMDAwMApAQCAtNTQ4 LDEwICs1NDgsMzQgQEAgYm9vbCBvcGVuX2FuZF9sb2NrX2Zvcl9pbnNlcnRfZGVsYXllZChUSAog ICAgIERCVUdfUkVUVVJOKFRSVUUpOwogICB9CiAKLSAgaWYgKGRlbGF5ZWRfZ2V0X3RhYmxlKHRo ZCwgdGFibGVfbGlzdCkpCisgIC8qCisgICAgSW4gb3JkZXIgZm9yIHRoZSBkZWFkbG9jayBkZXRl Y3RvciB0byBiZSBhYmxlIHRvIGZpbmQgYW55IGRlYWRsb2NrcworICAgIGNhdXNlZCBieSB0aGUg aGFuZGxlciB0aHJlYWQgbG9ja2luZyB0aGlzIHRhYmxlLCB3ZSB0YWtlIHRoZSBtZXRhZGF0YQor ICAgIGxvY2sgaW5zaWRlIHRoZSBjb25uZWN0aW9uIHRocmVhZC4gSWYgdGhpcyBnb2VzIG9rLCB0 aGUgdGlja2V0IGlzIGNsb25lZAorICAgIGFuZCBhZGRlZCB0byB0aGUgbGlzdCBvZiBncmFudGVk IGxvY2tzIGhlbGQgYnkgdGhlIGhhbmRsZXIgdGhyZWFkLgorICAqLworICBNRExfdGlja2V0ICpt ZGxfc2F2ZXBvaW50PSB0aGQtPm1kbF9jb250ZXh0Lm1kbF9zYXZlcG9pbnQoKTsKKyAgaWYgKHRo ZC0+bWRsX2NvbnRleHQuYWNxdWlyZV9sb2NrKCZ0YWJsZV9saXN0LT5tZGxfcmVxdWVzdCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZC0+dmFyaWFibGVzLmxvY2tfd2Fp dF90aW1lb3V0KSkKKyAgICAvKgorICAgICAgSWYgYSBsb2NrIGNhbid0IGJlIGFjcXVpcmVkLCBp dCBtYWtlcyBubyBzZW5zZSB0byB0cnkgbm9ybWFsIGluc2VydC4KKyAgICAgIFRoZXJlZm9yZSB3 ZSBqdXN0IGFib3J0IHRoZSBzdGF0ZW1lbnQuCisgICAgKi8KICAgICBEQlVHX1JFVFVSTihUUlVF KTsKIAotICBpZiAodGFibGVfbGlzdC0+dGFibGUpCisgIC8qCisgICAgSWYgYSBsb2NrIHdhcyBh Y3F1aXJlZCBhYm92ZSwgd2Ugc2hvdWxkIHJlbGVhc2UgaXQgYWZ0ZXIgZGVsYXllZF9nZXRfdGFi bGUoKQorICAgIGhhcyBjbG9uZWQgdGhlIHRpY2tldCBmb3IgdGhlIGhhbmRsZXIgdGhyZWFkLiBO b3RlIHRoYXQgYWNxdWlyZV9sb2NrKCkgY2FuCisgICAgc3VjY2VlZCBiZWNhdXNlIG9mIGEgbG9j ayBhbHJlYWR5IGhlbGQgYnkgdGhlIGNvbm5lY3Rpb24uIEluIHRoaXMgY2FzZSB3ZQorICAgIHNo b3VsZCBub3QgcmVsZWFzZSBpdCBoZXJlLgorICAqLworICBNRExfdGlja2V0ICp0YWJsZV90aWNr ZXQgPSBtZGxfc2F2ZXBvaW50ID09IHRoZC0+bWRsX2NvbnRleHQubWRsX3NhdmVwb2ludCgpID8K KyAgICBOVUxMOiB0aGQtPm1kbF9jb250ZXh0Lm1kbF9zYXZlcG9pbnQoKTsKKworICBib29sIGVy cm9yPSBGQUxTRTsKKyAgaWYgKGRlbGF5ZWRfZ2V0X3RhYmxlKHRoZCwgdGFibGVfbGlzdCkpCisg ICAgZXJyb3I9IFRSVUU7CisgIGVsc2UgaWYgKHRhYmxlX2xpc3QtPnRhYmxlKQogICB7CiAgICAg LyoKICAgICAgIE9wZW4gdGFibGVzIHVzZWQgZm9yIHN1Yi1zZWxlY3RzIG9yIGluIHN0b3JlZCBm dW5jdGlvbnMsIHdpbGwgYWxzbwpAQCAtNTYwLDE2ICs1ODQsMzAgQEAgYm9vbCBvcGVuX2FuZF9s b2NrX2Zvcl9pbnNlcnRfZGVsYXllZChUSAogICAgIGlmIChvcGVuX2FuZF9sb2NrX3RhYmxlcyh0 aGQsIHRhYmxlX2xpc3QtPm5leHRfZ2xvYmFsLCBUUlVFLCAwKSkKICAgICB7CiAgICAgICBlbmRf ZGVsYXllZF9pbnNlcnQodGhkKTsKLSAgICAgIERCVUdfUkVUVVJOKFRSVUUpOworICAgICAgZXJy b3I9IFRSVUU7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKgorICAgICAgICBGaXJz dCB0YWJsZSB3YXMgbm90IHByb2Nlc3NlZCBieSBvcGVuX2FuZF9sb2NrX3RhYmxlcygpLAorICAg ICAgICB3ZSBuZWVkIHRvIHNldCB1cGRhdGFiaWxpdHkgZmxhZyAiYnkgaGFuZCIuCisgICAgICAq LworICAgICAgaWYgKCF0YWJsZV9saXN0LT5kZXJpdmVkICYmICF0YWJsZV9saXN0LT52aWV3KQor ICAgICAgICB0YWJsZV9saXN0LT51cGRhdGFibGU9IDE7ICAvLyB1c3VhbCB0YWJsZQogICAgIH0K LSAgICAvKgotICAgICAgRmlyc3QgdGFibGUgd2FzIG5vdCBwcm9jZXNzZWQgYnkgb3Blbl9hbmRf bG9ja190YWJsZXMoKSwKLSAgICAgIHdlIG5lZWQgdG8gc2V0IHVwZGF0YWJpbGl0eSBmbGFnICJi eSBoYW5kIi4KLSAgICAqLwotICAgIGlmICghdGFibGVfbGlzdC0+ZGVyaXZlZCAmJiAhdGFibGVf bGlzdC0+dmlldykKLSAgICAgIHRhYmxlX2xpc3QtPnVwZGF0YWJsZT0gMTsgIC8vIHVzdWFsIHRh YmxlCi0gICAgREJVR19SRVRVUk4oRkFMU0UpOwogICB9CisKKyAgaWYgKHRhYmxlX3RpY2tldCkK KyAgICB0aGQtPm1kbF9jb250ZXh0LnJlbGVhc2VfbG9jayh0YWJsZV90aWNrZXQpOworICAvKgor ICAgIENsb25lX3RpY2tldCgpIGluIGRlbGF5ZWRfZ2V0X3RhYmxlKCkgY2F1c2VzIFRBQkxFX0xJ U1Q6Ok1ETF9SRVFVRVNUOjp0aWNrZXQKKyAgICB0byBiZSBvdmVyd3JpdHRlbiB3aXRoIHRoZSBj bG9uZWQgdGlja2V0LiBSZXNldCB0aGUgdGlja2V0IGhlcmUgaW4gY2FzZQorICAgIHdlIGVuZCB1 cCBoYXZpbmcgdG8gdXNlIG5vcm1hbCBpbnNlcnQuCisgICovCisgIHRhYmxlX2xpc3QtPm1kbF9y ZXF1ZXN0LnRpY2tldD0gTlVMTDsKKworICBpZiAoZXJyb3IgfHwgdGFibGVfbGlzdC0+dGFibGUp CisgICAgREJVR19SRVRVUk4oZXJyb3IpOwogI2VuZGlmCiAgIC8qCiAgICAgKiBUaGlzIGlzIGVt YmVkZGVkIGxpYnJhcnkgYW5kIHdlIGRvbid0IGhhdmUgYXV4aWxpYXJ5CkBAIC0yMDI1LDYgKzIw NjMsMjAgQEAgYm9vbCBkZWxheWVkX2dldF90YWJsZShUSEQgKnRoZCwgVEFCTEVfTAogICAgICAg LyogUmVwbGFjZSB2b2xhdGlsZSBzdHJpbmdzIHdpdGggbG9jYWwgY29waWVzICovCiAgICAgICBk aS0+dGFibGVfbGlzdC5hbGlhcz0gZGktPnRhYmxlX2xpc3QudGFibGVfbmFtZT0gZGktPnRoZC5x dWVyeSgpOwogICAgICAgZGktPnRhYmxlX2xpc3QuZGI9IGRpLT50aGQuZGI7CisKKyAgICAgIC8q CisgICAgICAgIENsb25lIHRoZSB0aWNrZXQgcmVwcmVzZW50aW5nIHRoZSBsb2NrIG9uIHRoZSB0 YXJnZXQgdGFibGUgZm9yCisgICAgICAgIHRoZSBpbnNlcnQgYW5kIGFkZCBpdCB0byB0aGUgbGlz dCBvZiBncmFudGVkIG1ldGFkYXRhIGxvY2tzIGhlbGQgYnkKKyAgICAgICAgdGhlIGhhbmRsZXIg dGhyZWFkLiBUaGlzIGlzIHNhZmUgc2luY2UgdGhlIGhhbmRsZXIgdGhyZWFkIGlzCisgICAgICAg IG5vdCBob2xkaW5nIG5vciB3YWl0aW5nIG9uIGFueSBtZXRhZGF0YSBsb2Nrcy4KKyAgICAgICov CisgICAgICBpZiAoZGktPnRoZC5tZGxfY29udGV4dC5jbG9uZV90aWNrZXQoJnRhYmxlX2xpc3Qt Pm1kbF9yZXF1ZXN0KSkKKyAgICAgIHsKKyAgICAgICAgZGVsZXRlIGRpOworICAgICAgICBteV9l cnJvcihFUl9PVVRfT0ZfUkVTT1VSQ0VTLCBNWUYoTUVfRkFUQUxFUlJPUikpOworICAgICAgICBn b3RvIGVuZF9jcmVhdGU7CisgICAgICB9CisKICAgICAgIGRpLT5sb2NrKCk7CiAgICAgICBteXNx bF9tdXRleF9sb2NrKCZkaS0+bXV0ZXgpOwogICAgICAgaWYgKChlcnJvcj0gbXlzcWxfdGhyZWFk X2NyZWF0ZShrZXlfdGhyZWFkX2RlbGF5ZWRfaW5zZXJ0LApAQCAtMjAzNiw2ICsyMDg4LDcgQEAg Ym9vbCBkZWxheWVkX2dldF90YWJsZShUSEQgKnRoZCwgVEFCTEVfTAogCQkgICAgZXJyb3IpKTsK ICAgICAgICAgbXlzcWxfbXV0ZXhfdW5sb2NrKCZkaS0+bXV0ZXgpOwogCWRpLT51bmxvY2soKTsK KyAgICAgICAgZGktPnRoZC5tZGxfY29udGV4dC5yZWxlYXNlX2xvY2sodGFibGVfbGlzdC0+bWRs X3JlcXVlc3QudGlja2V0KTsKIAlkZWxldGUgZGk7CiAJbXlfZXJyb3IoRVJfQ0FOVF9DUkVBVEVf VEhSRUFELCBNWUYoTUVfRkFUQUxFUlJPUiksIGVycm9yKTsKICAgICAgICAgZ290byBlbmRfY3Jl YXRlOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfcGFydGl0aW9uLmNjJwotLS0gYS9zcWwv c3FsX3BhcnRpdGlvbi5jYwkyMDEwLTA4LTE4IDExOjI5OjA0ICswMDAwCisrKyBiL3NxbC9zcWxf cGFydGl0aW9uLmNjCTIwMTAtMDgtMjAgMTc6MTU6NDggKzAwMDAKQEAgLTYzLDYgKzYzLDcgQEAK ICNpbmNsdWRlICJzcWxfdGFibGUuaCIgICAgICAgICAgICAgICAgICAvLyBidWlsZF90YWJsZV9m aWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidWls ZF90YWJsZV9zaGFkb3dfZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gdGFibGVfdG9fZmlsZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyBteXNxbF8qX2FsdGVyX2NvcHlfZGF0YQogI2luY2x1ZGUgIm9wdF9y YW5nZS5oIiAgICAgICAgICAgICAgICAgIC8vIHN0b3JlX2tleV9pbWFnZV90b19yZWMKICNpbmNs dWRlICJzcWxfYW5hbHlzZS5oIiAgICAgICAgICAgICAgICAvLyBhcHBlbmRfZXNjYXBlZAogCkBA IC00Mzc3LDcgKzQzNzgsNiBAQCBzdGF0aWMgaW50IGZhc3RfZW5kX3BhcnRpdGlvbihUSEQgKnRo ZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTFRFUl9QQVJUSVRJT05fUEFSQU1f VFlQRSAqbHB0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB3cml0dGVuX2Jp bl9sb2cpCiB7Ci0gIGludCBlcnJvcjsKICAgY2hhciB0bXBfbmFtZVs4MF07CiAgIERCVUdfRU5U RVIoImZhc3RfZW5kX3BhcnRpdGlvbiIpOwogCkBAIC00Mzg2LDEzICs0Mzg2LDYgQEAgc3RhdGlj IGludCBmYXN0X2VuZF9wYXJ0aXRpb24oVEhEICp0aGQsIAogICBpZiAoIWlzX2VtcHR5KQogICAg IHF1ZXJ5X2NhY2hlX2ludmFsaWRhdGUzKHRoZCwgdGFibGVfbGlzdCwgMCk7CiAKLSAgZXJyb3I9 IHRyYW5zX2NvbW1pdF9zdG10KHRoZCk7Ci0gIGlmICh0cmFuc19jb21taXRfaW1wbGljaXQodGhk KSkKLSAgICBlcnJvcj0gMTsKLQotICBpZiAoZXJyb3IpCi0gICAgREJVR19SRVRVUk4oVFJVRSk7 ICAgICAgICAgICAgICAgICAgICAgIC8qIFRoZSBlcnJvciBoYXMgYmVlbiByZXBvcnRlZCAqLwot CiAgIGlmICgoIWlzX2VtcHR5KSAmJiAoIXdyaXR0ZW5fYmluX2xvZykgJiYKICAgICAgICghdGhk LT5sZXgtPm5vX3dyaXRlX3RvX2JpbmxvZykgJiYKICAgICB3cml0ZV9iaW5fbG9nKHRoZCwgRkFM U0UsIHRoZC0+cXVlcnkoKSwgdGhkLT5xdWVyeV9sZW5ndGgoKSkpCkBAIC01NTM1LDE3ICs1NTI4 LDI1IEBAIHN0YXRpYyBib29sIG15c3FsX2NoYW5nZV9wYXJ0aXRpb25zKEFMVEUKICAgY2hhciBw YXRoW0ZOX1JFRkxFTisxXTsKICAgaW50IGVycm9yOwogICBoYW5kbGVyICpmaWxlPSBscHQtPnRh YmxlLT5maWxlOworICBUSEQgKnRoZD0gbHB0LT50aGQ7CiAgIERCVUdfRU5URVIoIm15c3FsX2No YW5nZV9wYXJ0aXRpb25zIik7CiAKICAgYnVpbGRfdGFibGVfZmlsZW5hbWUocGF0aCwgc2l6ZW9m KHBhdGgpIC0gMSwgbHB0LT5kYiwgbHB0LT50YWJsZV9uYW1lLCAiIiwgMCk7CisKKyAgaWYobXlz cWxfdHJhbnNfcHJlcGFyZV9hbHRlcl9jb3B5X2RhdGEodGhkKSkKKyAgICBEQlVHX1JFVFVSTihU UlVFKTsKKwogICBpZiAoKGVycm9yPSBmaWxlLT5oYV9jaGFuZ2VfcGFydGl0aW9ucyhscHQtPmNy ZWF0ZV9pbmZvLCBwYXRoLCAmbHB0LT5jb3BpZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZscHQtPmRlbGV0ZWQsIGxwdC0+cGFja19mcm1fZGF0YSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHB0LT5wYWNrX2ZybV9sZW4pKSkK ICAgewogICAgIGZpbGUtPnByaW50X2Vycm9yKGVycm9yLCBNWUYoZXJyb3IgIT0gRVJfT1VUT0ZN RU1PUlkgPyAwIDogTUVfRkFUQUxFUlJPUikpOwotICAgIERCVUdfUkVUVVJOKFRSVUUpOwogICB9 Ci0gIERCVUdfUkVUVVJOKEZBTFNFKTsKKworICBpZiAobXlzcWxfdHJhbnNfY29tbWl0X2FsdGVy X2NvcHlfZGF0YSh0aGQpKQorICAgIERCVUdfUkVUVVJOKFRSVUUpOyAgICAgICAgICAgICAgICAg ICAgICAvKiBUaGUgZXJyb3IgaGFzIGJlZW4gcmVwb3J0ZWQgKi8KKworICBEQlVHX1JFVFVSTih0 ZXN0KGVycm9yKSk7CiB9CiAKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfcGx1Z2luLmNj JwotLS0gYS9zcWwvc3FsX3BsdWdpbi5jYwkyMDEwLTA4LTE5IDA5OjMzOjM3ICswMDAwCisrKyBi L3NxbC9zcWxfcGx1Z2luLmNjCTIwMTAtMDgtMjMgMDk6Mzg6MTAgKzAwMDAKQEAgLTI5LDcgKzI5 LDcgQEAKICNpbmNsdWRlICJyZWNvcmRzLmgiICAgICAgICAgIC8vIGluaXRfcmVhZF9yZWNvcmQs IGVuZF9yZWFkX3JlY29yZAogI2luY2x1ZGUgPG15X3B0aHJlYWQuaD4KICNpbmNsdWRlIDxteV9n ZXRvcHQuaD4KLSNpbmNsdWRlIDxteXNxbC9wbHVnaW5fYXVkaXQuaD4KKyNpbmNsdWRlICJzcWxf YXVkaXQuaCIKICNpbmNsdWRlICJsb2NrLmgiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8vIE1ZU1FMX0xPQ0tfSUdOT1JFX1RJTUVPVVQKICNkZWZpbmUgUkVQT1JUX1RPX0xPRyAgMQog I2RlZmluZSBSRVBPUlRfVE9fVVNFUiAyCkBAIC0xNzA5LDYgKzE3MDksMjcgQEAgYm9vbCBteXNx bF9pbnN0YWxsX3BsdWdpbihUSEQgKnRoZCwgY29ucwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNWVNRTF9MT0NLX0lHTk9SRV9USU1FT1VUKSkpCiAgICAgREJVR19SRVRVUk4oVFJVRSk7 CiAKKyAgLyoKKyAgICBQcmUtYWNxdWlyZSBhdWRpdCBwbHVnaW5zIGZvciBldmVudHMgdGhhdCBt YXkgcG90ZW50aWFsbHkgb2NjdXIKKyAgICBkdXJpbmcgW1VOXUlOU1RBTEwgUExVR0lOLgorCisg ICAgV2hlbiBhdWRpdCBldmVudCBpcyB0cmlnZ2VyZWQsIGF1ZGl0IHN1YnN5c3RlbSBhY3F1aXJl cyBpbnRlcmVzdGVkCisgICAgcGx1Z2lucyBieSB3YWxraW5nIHRocm91Z2ggcGx1Z2luIGxpc3Qu IEV2aWRlbnRseSBwbHVnaW4gbGlzdAorICAgIGl0ZXJhdG9yIHByb3RlY3RzIHBsdWdpbiBsaXN0 IGJ5IGFjcXVpcmluZyBMT0NLX3BsdWdpbiwgc2VlCisgICAgcGx1Z2luX2ZvcmVhY2hfd2l0aF9t YXNrKCkuCisKKyAgICBPbiB0aGUgb3RoZXIgaGFuZCBbVU5dSU5TVEFMTCBQTFVHSU4gaXMgYWNx dWlyaW5nIExPQ0tfcGx1Z2luCisgICAgcmF0aGVyIGZvciBhIGxvbmcgdGltZS4KKworICAgIFdo ZW4gYXVkaXQgZXZlbnQgaXMgdHJpZ2dlcmVkIGR1cmluZyBbVU5dSU5TVEFMTCBQTFVHSU4sIHBs dWdpbgorICAgIGxpc3QgaXRlcmF0b3IgYWNxdWlyZXMgdGhlIHNhbWUgbG9jayAod2l0aGluIHRo ZSBzYW1lIHRocmVhZCkKKyAgICBzZWNvbmQgdGltZS4KKworICAgIFRoaXMgaGFjayBzaG91bGQg YmUgcmVtb3ZlZCB3aGVuIExPQ0tfcGx1Z2luIGlzIGZpeGVkIHNvIGl0CisgICAgcHJvdGVjdHMg b25seSB3aGF0IGl0IHN1cHBvc2VkIHRvIHByb3RlY3QuCisgICovCisgIG15c3FsX2F1ZGl0X2Fj cXVpcmVfcGx1Z2lucyh0aGQsIE1ZU1FMX0FVRElUX0dFTkVSQUxfQ0xBU1MpOworCiAgIG15c3Fs X211dGV4X2xvY2soJkxPQ0tfcGx1Z2luKTsKICAgbXlzcWxfcndsb2NrX3dybG9jaygmTE9DS19z eXN0ZW1fdmFyaWFibGVzX2hhc2gpOwogCkBAIC0xNzg5LDYgKzE4MTAsMjcgQEAgYm9vbCBteXNx bF91bmluc3RhbGxfcGx1Z2luKFRIRCAqdGhkLCBjbwogICBpZiAoISAodGFibGU9IG9wZW5fbHRh YmxlKHRoZCwgJnRhYmxlcywgVExfV1JJVEUsIE1ZU1FMX0xPQ0tfSUdOT1JFX1RJTUVPVVQpKSkK ICAgICBEQlVHX1JFVFVSTihUUlVFKTsKIAorICAvKgorICAgIFByZS1hY3F1aXJlIGF1ZGl0IHBs dWdpbnMgZm9yIGV2ZW50cyB0aGF0IG1heSBwb3RlbnRpYWxseSBvY2N1cgorICAgIGR1cmluZyBb VU5dSU5TVEFMTCBQTFVHSU4uCisKKyAgICBXaGVuIGF1ZGl0IGV2ZW50IGlzIHRyaWdnZXJlZCwg YXVkaXQgc3Vic3lzdGVtIGFjcXVpcmVzIGludGVyZXN0ZWQKKyAgICBwbHVnaW5zIGJ5IHdhbGtp bmcgdGhyb3VnaCBwbHVnaW4gbGlzdC4gRXZpZGVudGx5IHBsdWdpbiBsaXN0CisgICAgaXRlcmF0 b3IgcHJvdGVjdHMgcGx1Z2luIGxpc3QgYnkgYWNxdWlyaW5nIExPQ0tfcGx1Z2luLCBzZWUKKyAg ICBwbHVnaW5fZm9yZWFjaF93aXRoX21hc2soKS4KKworICAgIE9uIHRoZSBvdGhlciBoYW5kIFtV Tl1JTlNUQUxMIFBMVUdJTiBpcyBhY3F1aXJpbmcgTE9DS19wbHVnaW4KKyAgICByYXRoZXIgZm9y IGEgbG9uZyB0aW1lLgorCisgICAgV2hlbiBhdWRpdCBldmVudCBpcyB0cmlnZ2VyZWQgZHVyaW5n IFtVTl1JTlNUQUxMIFBMVUdJTiwgcGx1Z2luCisgICAgbGlzdCBpdGVyYXRvciBhY3F1aXJlcyB0 aGUgc2FtZSBsb2NrICh3aXRoaW4gdGhlIHNhbWUgdGhyZWFkKQorICAgIHNlY29uZCB0aW1lLgor CisgICAgVGhpcyBoYWNrIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gTE9DS19wbHVnaW4gaXMgZml4 ZWQgc28gaXQKKyAgICBwcm90ZWN0cyBvbmx5IHdoYXQgaXQgc3VwcG9zZWQgdG8gcHJvdGVjdC4K KyAgKi8KKyAgbXlzcWxfYXVkaXRfYWNxdWlyZV9wbHVnaW5zKHRoZCwgTVlTUUxfQVVESVRfR0VO RVJBTF9DTEFTUyk7CisKICAgbXlzcWxfbXV0ZXhfbG9jaygmTE9DS19wbHVnaW4pOwogICBpZiAo IShwbHVnaW49IHBsdWdpbl9maW5kX2ludGVybmFsKG5hbWUsIE1ZU1FMX0FOWV9QTFVHSU4pKSkK ICAgewoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfdGFibGUuY2MnCi0tLSBhL3NxbC9zcWxf dGFibGUuY2MJMjAxMC0wOC0yMCAwODoyNDozMiArMDAwMAorKysgYi9zcWwvc3FsX3RhYmxlLmNj CTIwMTAtMDgtMjAgMTc6MTU6NDggKzAwMDAKQEAgLTY3NDAsNiArNjc0MCw1NCBAQCBlcnJfd2l0 aF9tZGw6CiB9CiAvKiBteXNxbF9hbHRlcl90YWJsZSAqLwogCisKKworLyoqCisgIFByZXBhcmUg dGhlIHRyYW5zYWN0aW9uIGZvciB0aGUgYWx0ZXIgdGFibGUncyBjb3B5IHBoYXNlLgorKi8KKwor Ym9vbCBteXNxbF90cmFuc19wcmVwYXJlX2FsdGVyX2NvcHlfZGF0YShUSEQgKnRoZCkKK3sKKyAg REJVR19FTlRFUigibXlzcWxfcHJlcGFyZV9hbHRlcl9jb3B5X2RhdGEiKTsKKyAgLyoKKyAgICBU dXJuIG9mZiByZWNvdmVyeSBsb2dnaW5nIHNpbmNlIHJvbGxiYWNrIG9mIGFuIGFsdGVyIHRhYmxl IGlzIHRvCisgICAgZGVsZXRlIHRoZSBuZXcgdGFibGUgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBs b2cgdGhlIGNoYW5nZXMgdG8gaXQuCisgICAgCisgICAgVGhpcyBuZWVkcyB0byBiZSBkb25lIGJl Zm9yZSBleHRlcm5hbF9sb2NrLgorICAqLworICBpZiAoaGFfZW5hYmxlX3RyYW5zYWN0aW9uKHRo ZCwgRkFMU0UpKQorICAgIERCVUdfUkVUVVJOKFRSVUUpOworICBEQlVHX1JFVFVSTihGQUxTRSk7 Cit9CisKKworLyoqCisgIENvbW1pdCB0aGUgY29weSBwaGFzZSBvZiB0aGUgYWx0ZXIgdGFibGUu CisqLworCitib29sIG15c3FsX3RyYW5zX2NvbW1pdF9hbHRlcl9jb3B5X2RhdGEoVEhEICp0aGQp Cit7CisgIGJvb2wgZXJyb3I9IEZBTFNFOworICBEQlVHX0VOVEVSKCJteXNxbF9jb21taXRfYWx0 ZXJfY29weV9kYXRhIik7CisKKyAgaWYgKGhhX2VuYWJsZV90cmFuc2FjdGlvbih0aGQsIFRSVUUp KQorICAgIERCVUdfUkVUVVJOKFRSVUUpOworICAKKyAgLyoKKyAgICBFbnN1cmUgdGhhdCB0aGUg bmV3IHRhYmxlIGlzIHNhdmVkIHByb3Blcmx5IHRvIGRpc2sgYmVmb3JlIGluc3RhbGxpbmcKKyAg ICB0aGUgbmV3IC5mcm0uCisgICAgQW5kIHRoYXQgSW5ub0RCJ3MgaW50ZXJuYWwgbGF0Y2hlcyBh cmUgcmVsZWFzZWQsIHRvIGF2b2lkIGRlYWRsb2NrCisgICAgd2hlbiB3YWl0aW5nIG9uIG90aGVy IGluc3RhbmNlcyBvZiB0aGUgdGFibGUgYmVmb3JlIHJlbmFtZSAoQnVnIzU0NzQ3KS4KKyAgKi8K KyAgaWYgKHRyYW5zX2NvbW1pdF9zdG10KHRoZCkpCisgICAgZXJyb3I9IFRSVUU7CisgIGlmICh0 cmFuc19jb21taXRfaW1wbGljaXQodGhkKSkKKyAgICBlcnJvcj0gVFJVRTsKKworICBEQlVHX1JF VFVSTihlcnJvcik7Cit9CisKKwogc3RhdGljIGludAogY29weV9kYXRhX2JldHdlZW5fdGFibGVz KFRBQkxFICpmcm9tLFRBQkxFICp0bywKIAkJCSBMaXN0PENyZWF0ZV9maWVsZD4gJmNyZWF0ZSwK QEAgLTY3NjYsMTQgKzY4MTQsNyBAQCBjb3B5X2RhdGFfYmV0d2Vlbl90YWJsZXMoVEFCTEUgKmZy b20sVEFCCiAgIHVsb25nbG9uZyBwcmV2X2luc2VydF9pZDsKICAgREJVR19FTlRFUigiY29weV9k YXRhX2JldHdlZW5fdGFibGVzIik7CiAKLSAgLyoKLSAgICBUdXJuIG9mZiByZWNvdmVyeSBsb2dn aW5nIHNpbmNlIHJvbGxiYWNrIG9mIGFuIGFsdGVyIHRhYmxlIGlzIHRvCi0gICAgZGVsZXRlIHRo ZSBuZXcgdGFibGUgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBsb2cgdGhlIGNoYW5nZXMgdG8gaXQu Ci0gICAgCi0gICAgVGhpcyBuZWVkcyB0byBiZSBkb25lIGJlZm9yZSBleHRlcm5hbF9sb2NrCi0g ICovCi0gIGVycm9yPSBoYV9lbmFibGVfdHJhbnNhY3Rpb24odGhkLCBGQUxTRSk7Ci0gIGlmIChl cnJvcikKKyAgaWYgKG15c3FsX3RyYW5zX3ByZXBhcmVfYWx0ZXJfY29weV9kYXRhKHRoZCkpCiAg ICAgREJVR19SRVRVUk4oLTEpOwogICAKICAgaWYgKCEoY29weT0gbmV3IENvcHlfZmllbGRbdG8t PnMtPmZpZWxkc10pKQpAQCAtNjkzMiwyMCArNjk3Myw4IEBAIGNvcHlfZGF0YV9iZXR3ZWVuX3Rh YmxlcyhUQUJMRSAqZnJvbSxUQUIKICAgfQogICB0by0+ZmlsZS0+ZXh0cmEoSEFfRVhUUkFfTk9f SUdOT1JFX0RVUF9LRVkpOwogCi0gIGlmIChoYV9lbmFibGVfdHJhbnNhY3Rpb24odGhkLCBUUlVF KSkKLSAgeworICBpZiAobXlzcWxfdHJhbnNfY29tbWl0X2FsdGVyX2NvcHlfZGF0YSh0aGQpKQog ICAgIGVycm9yPSAxOwotICAgIGdvdG8gZXJyOwotICB9Ci0gIAotICAvKgotICAgIEVuc3VyZSB0 aGF0IHRoZSBuZXcgdGFibGUgaXMgc2F2ZWQgcHJvcGVybHkgdG8gZGlzayBzbyB0aGF0IHdlCi0g ICAgY2FuIGRvIGEgcmVuYW1lCi0gICovCi0gIGlmICh0cmFuc19jb21taXRfc3RtdCh0aGQpKQot ICAgIGVycm9yPTE7Ci0gIGlmICh0cmFuc19jb21taXRfaW1wbGljaXQodGhkKSkKLSAgICBlcnJv cj0xOwogCiAgZXJyOgogICB0aGQtPnZhcmlhYmxlcy5zcWxfbW9kZT0gc2F2ZV9zcWxfbW9kZTsK Cj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3RhYmxlLmgnCi0tLSBhL3NxbC9zcWxfdGFibGUu aAkyMDEwLTA4LTIwIDAyOjU5OjU4ICswMDAwCisrKyBiL3NxbC9zcWxfdGFibGUuaAkyMDEwLTA4 LTIwIDE3OjE1OjQ4ICswMDAwCkBAIC0xNDMsNiArMTQzLDggQEAgYm9vbCBteXNxbF9jcmVhdGVf dGFibGVfbm9fbG9jayhUSEQgKnRoZAogYm9vbCBteXNxbF9wcmVwYXJlX2FsdGVyX3RhYmxlKFRI RCAqdGhkLCBUQUJMRSAqdGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFf Q1JFQVRFX0lORk8gKmNyZWF0ZV9pbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFsdGVyX2luZm8gKmFsdGVyX2luZm8pOworYm9vbCBteXNxbF90cmFuc19wcmVwYXJlX2FsdGVy X2NvcHlfZGF0YShUSEQgKnRoZCk7Citib29sIG15c3FsX3RyYW5zX2NvbW1pdF9hbHRlcl9jb3B5 X2RhdGEoVEhEICp0aGQpOwogYm9vbCBteXNxbF9hbHRlcl90YWJsZShUSEQgKnRoZCwgY2hhciAq bmV3X2RiLCBjaGFyICpuZXdfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgSEFfQ1JFQVRF X0lORk8gKmNyZWF0ZV9pbmZvLAogICAgICAgICAgICAgICAgICAgICAgICBUQUJMRV9MSVNUICp0 YWJsZV9saXN0LAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvcGVyZnNjaGVtYS9wZnMuY2Mn Ci0tLSBhL3N0b3JhZ2UvcGVyZnNjaGVtYS9wZnMuY2MJMjAxMC0wOC0xMiAwOTo1MTo1OCArMDAw MAorKysgYi9zdG9yYWdlL3BlcmZzY2hlbWEvcGZzLmNjCTIwMTAtMDgtMTkgMjI6MjQ6MDcgKzAw MDAKQEAgLTE2MjUsNyArMTYyNSw3IEBAIHN0YXRpYyB2b2lkIGVuZF9tdXRleF93YWl0X3YxKFBT SV9tdXRleF8KICAgaWYgKGZsYWdfZXZlbnRzX3dhaXRzX2hpc3RvcnlfbG9uZykKICAgICBpbnNl cnRfZXZlbnRzX3dhaXRzX2hpc3RvcnlfbG9uZyh3YWl0KTsKIAotICBpZiAocmMgPT0gMCkKKyAg aWYgKHJjID09IDAgJiYgd2FpdC0+bV90aW1lcl9zdGF0ZSA9PSBUSU1FUl9TVEFURV9USU1FRCkK ICAgewogICAgIC8qIFRocmVhZCBzYWZlOiB3ZSBhcmUgcHJvdGVjdGVkIGJ5IHRoZSBpbnN0cnVt ZW50ZWQgbXV0ZXggKi8KICAgICBQRlNfc2luZ2xlX3N0YXRfY2hhaW4gKnN0YXQ7CkBAIC0xNjM1 LDkgKzE2MzUsOCBAQCBzdGF0aWMgdm9pZCBlbmRfbXV0ZXhfd2FpdF92MShQU0lfbXV0ZXhfCiAK ICAgICB1bG9uZ2xvbmcgd2FpdF90aW1lPSB3YWl0LT5tX3RpbWVyX2VuZCAtIHdhaXQtPm1fdGlt ZXJfc3RhcnQ7CiAgICAgYWdncmVnYXRlX3NpbmdsZV9zdGF0X2NoYWluKCZtdXRleC0+bV93YWl0 X3N0YXQsIHdhaXRfdGltZSk7Ci0gICAgc3RhdD0gZmluZF9wZXJfdGhyZWFkX211dGV4X2NsYXNz X3dhaXRfc3RhdCh3YWl0LT5tX3RocmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG11dGV4LT5tX2NsYXNzKTsKLSAgIGFnZ3JlZ2F0ZV9zaW5nbGVf c3RhdF9jaGFpbihzdGF0LCB3YWl0X3RpbWUpOworICAgIHN0YXQ9IGZpbmRfcGVyX3RocmVhZF9t dXRleF9jbGFzc193YWl0X3N0YXQod2FpdC0+bV90aHJlYWQsIG11dGV4LT5tX2NsYXNzKTsKKyAg ICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hhaW4oc3RhdCwgd2FpdF90aW1lKTsKICAgfQogICB3 YWl0LT5tX3RocmVhZC0+bV93YWl0X2xvY2tlcl9jb3VudC0tOwogfQpAQCAtMTY5MCwxMSArMTY4 OSwxMyBAQCBzdGF0aWMgdm9pZCBlbmRfcndsb2NrX3Jkd2FpdF92MShQU0lfcndsCiAgICAgcnds b2NrLT5tX3dyaXRlcj0gTlVMTDsKICAgICByd2xvY2stPm1fcmVhZGVycysrOwogCi0gICAgdWxv bmdsb25nIHdhaXRfdGltZT0gd2FpdC0+bV90aW1lcl9lbmQgLSB3YWl0LT5tX3RpbWVyX3N0YXJ0 OwotICAgIGFnZ3JlZ2F0ZV9zaW5nbGVfc3RhdF9jaGFpbigmcndsb2NrLT5tX3dhaXRfc3RhdCwg d2FpdF90aW1lKTsKLSAgICBzdGF0PSBmaW5kX3Blcl90aHJlYWRfcndsb2NrX2NsYXNzX3dhaXRf c3RhdCh3YWl0LT5tX3RocmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJ3bG9jay0+bV9jbGFzcyk7Ci0gICAgYWdncmVnYXRlX3NpbmdsZV9z dGF0X2NoYWluKHN0YXQsIHdhaXRfdGltZSk7CisgICAgaWYgKHdhaXQtPm1fdGltZXJfc3RhdGUg PT0gVElNRVJfU1RBVEVfVElNRUQpCisgICAgeworICAgICAgdWxvbmdsb25nIHdhaXRfdGltZT0g d2FpdC0+bV90aW1lcl9lbmQgLSB3YWl0LT5tX3RpbWVyX3N0YXJ0OworICAgICAgYWdncmVnYXRl X3NpbmdsZV9zdGF0X2NoYWluKCZyd2xvY2stPm1fd2FpdF9zdGF0LCB3YWl0X3RpbWUpOworICAg ICAgc3RhdD0gZmluZF9wZXJfdGhyZWFkX3J3bG9ja19jbGFzc193YWl0X3N0YXQod2FpdC0+bV90 aHJlYWQsIHJ3bG9jay0+bV9jbGFzcyk7CisgICAgICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hh aW4oc3RhdCwgd2FpdF90aW1lKTsKKyAgICB9CiAgIH0KICAgd2FpdC0+bV90aHJlYWQtPm1fd2Fp dF9sb2NrZXJfY291bnQtLTsKIH0KQEAgLTE3NDIsMTEgKzE3NDMsMTMgQEAgc3RhdGljIHZvaWQg ZW5kX3J3bG9ja193cndhaXRfdjEoUFNJX3J3bAogICAgIHJ3bG9jay0+bV9yZWFkZXJzPSAwOwog ICAgIHJ3bG9jay0+bV9sYXN0X3JlYWQ9IDA7CiAKLSAgICB1bG9uZ2xvbmcgd2FpdF90aW1lPSB3 YWl0LT5tX3RpbWVyX2VuZCAtIHdhaXQtPm1fdGltZXJfc3RhcnQ7Ci0gICAgYWdncmVnYXRlX3Np bmdsZV9zdGF0X2NoYWluKCZyd2xvY2stPm1fd2FpdF9zdGF0LCB3YWl0X3RpbWUpOwotICAgIHN0 YXQ9IGZpbmRfcGVyX3RocmVhZF9yd2xvY2tfY2xhc3Nfd2FpdF9zdGF0KHdhaXQtPm1fdGhyZWFk LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3bG9j ay0+bV9jbGFzcyk7Ci0gICAgYWdncmVnYXRlX3NpbmdsZV9zdGF0X2NoYWluKHN0YXQsIHdhaXRf dGltZSk7CisgICAgaWYgKHdhaXQtPm1fdGltZXJfc3RhdGUgPT0gVElNRVJfU1RBVEVfVElNRUQp CisgICAgeworICAgICAgdWxvbmdsb25nIHdhaXRfdGltZT0gd2FpdC0+bV90aW1lcl9lbmQgLSB3 YWl0LT5tX3RpbWVyX3N0YXJ0OworICAgICAgYWdncmVnYXRlX3NpbmdsZV9zdGF0X2NoYWluKCZy d2xvY2stPm1fd2FpdF9zdGF0LCB3YWl0X3RpbWUpOworICAgICAgc3RhdD0gZmluZF9wZXJfdGhy ZWFkX3J3bG9ja19jbGFzc193YWl0X3N0YXQod2FpdC0+bV90aHJlYWQsIHJ3bG9jay0+bV9jbGFz cyk7CisgICAgICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hhaW4oc3RhdCwgd2FpdF90aW1lKTsK KyAgICB9CiAgIH0KICAgd2FpdC0+bV90aHJlYWQtPm1fd2FpdF9sb2NrZXJfY291bnQtLTsKIH0K QEAgLTE4MDMsMTEgKzE4MDYsMTMgQEAgc3RhdGljIHZvaWQgZW5kX2NvbmRfd2FpdF92MShQU0lf Y29uZF9sbwogICAgIFBGU19zaW5nbGVfc3RhdF9jaGFpbiAqc3RhdDsKICAgICBQRlNfY29uZCAq Y29uZD0gcGZzX2xvY2tlci0+bV90YXJnZXQubV9jb25kOwogCi0gICAgdWxvbmdsb25nIHdhaXRf dGltZT0gd2FpdC0+bV90aW1lcl9lbmQgLSB3YWl0LT5tX3RpbWVyX3N0YXJ0OwotICAgIGFnZ3Jl Z2F0ZV9zaW5nbGVfc3RhdF9jaGFpbigmY29uZC0+bV93YWl0X3N0YXQsIHdhaXRfdGltZSk7Ci0g ICAgc3RhdD0gZmluZF9wZXJfdGhyZWFkX2NvbmRfY2xhc3Nfd2FpdF9zdGF0KHdhaXQtPm1fdGhy ZWFkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25k LT5tX2NsYXNzKTsKLSAgICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hhaW4oc3RhdCwgd2FpdF90 aW1lKTsKKyAgICBpZiAod2FpdC0+bV90aW1lcl9zdGF0ZSA9PSBUSU1FUl9TVEFURV9USU1FRCkK KyAgICB7CisgICAgICB1bG9uZ2xvbmcgd2FpdF90aW1lPSB3YWl0LT5tX3RpbWVyX2VuZCAtIHdh aXQtPm1fdGltZXJfc3RhcnQ7CisgICAgICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hhaW4oJmNv bmQtPm1fd2FpdF9zdGF0LCB3YWl0X3RpbWUpOworICAgICAgc3RhdD0gZmluZF9wZXJfdGhyZWFk X2NvbmRfY2xhc3Nfd2FpdF9zdGF0KHdhaXQtPm1fdGhyZWFkLCBjb25kLT5tX2NsYXNzKTsKKyAg ICAgIGFnZ3JlZ2F0ZV9zaW5nbGVfc3RhdF9jaGFpbihzdGF0LCB3YWl0X3RpbWUpOworICAgIH0K ICAgfQogICB3YWl0LT5tX3RocmVhZC0+bV93YWl0X2xvY2tlcl9jb3VudC0tOwogfQpAQCAtMTg1 MCw5ICsxODU1LDEyIEBAIHN0YXRpYyB2b2lkIGVuZF90YWJsZV93YWl0X3YxKFBTSV90YWJsZV8K ICAgaWYgKGZsYWdfZXZlbnRzX3dhaXRzX2hpc3RvcnlfbG9uZykKICAgICBpbnNlcnRfZXZlbnRz X3dhaXRzX2hpc3RvcnlfbG9uZyh3YWl0KTsKIAotICBQRlNfdGFibGUgKnRhYmxlPSBwZnNfbG9j a2VyLT5tX3RhcmdldC5tX3RhYmxlOwotICB1bG9uZ2xvbmcgd2FpdF90aW1lPSB3YWl0LT5tX3Rp bWVyX2VuZCAtIHdhaXQtPm1fdGltZXJfc3RhcnQ7Ci0gIGFnZ3JlZ2F0ZV9zaW5nbGVfc3RhdF9j aGFpbigmdGFibGUtPm1fd2FpdF9zdGF0LCB3YWl0X3RpbWUpOworICBpZiAod2FpdC0+bV90aW1l cl9zdGF0ZSA9PSBUSU1FUl9TVEFURV9USU1FRCkKKyAgeworICAgIFBGU190YWJsZSAqdGFibGU9 IHBmc19sb2NrZXItPm1fdGFyZ2V0Lm1fdGFibGU7CisgICAgdWxvbmdsb25nIHdhaXRfdGltZT0g d2FpdC0+bV90aW1lcl9lbmQgLSB3YWl0LT5tX3RpbWVyX3N0YXJ0OworICAgIGFnZ3JlZ2F0ZV9z aW5nbGVfc3RhdF9jaGFpbigmdGFibGUtPm1fd2FpdF9zdGF0LCB3YWl0X3RpbWUpOworICB9CiAK ICAgLyoKICAgICBUaGVyZSBpcyBjdXJyZW50bHkgbm8gcGVyIHRhYmxlIGFuZCBwZXIgdGhyZWFk IGFnZ3JlZ2F0aW9uLgoK --===============6513692928449404394== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/jon.hauglid@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: jon.hauglid@stripped # target_branch: file:///export/home/x/mysql-5.5-runtime-test/ # testament_sha1: 53f195c9c2090ec5445d99d4c2e073e7143aea77 # timestamp: 2010-08-24 11:16:06 +0200 # source_branch: file:///export/home/x/mysql-5.5-bugfixing/ # base_revision_id: jon.hauglid@stripped\ # 7d3mk3y33mm7ogbk # # Begin bundle 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 z/L/sXckU4UJCUABAjA= --===============6513692928449404394==--