ZGlmZiAtLWdpdCBhL3NyYy9vcHMuYyBiL3NyYy9vcHMuYwppbmRleCBiMWIyMmE0Li5kYzBlNTJiIDEwMDY0NAotLS0gYS9zcmMvb3BzLmMKKysrIGIvc3JjL29wcy5jCkBAIC0yMTQwLDggKzIxNDAsOCBAQAogICAgIHBvc19UCQlwb3M7CiAjaWZkZWYgRkVBVF9WSVNVQUwKICAgICBzdHJ1Y3QgYmxvY2tfZGVmCWJkOwotI2VuZGlmCiAgICAgaW50CQkJdG9kbzsKKyNlbmRpZgogICAgIGludAkJCWRpZF9jaGFuZ2UgPSAwOwogCiAgICAgaWYgKHVfc2F2ZSgobGluZW5yX1QpKG9hcC0+c3RhcnQubG51bSAtIDEpLApAQCAtMjE1OCwxMCArMjE1OCwxMCBAQAogCSAgICBwb3MuY29sID0gYmQudGV4dGNvbDsKIAkgICAgZm9yICh0b2RvID0gYmQudGV4dGxlbjsgdG9kbyA+IDA7IC0tdG9kbykKIAkgICAgewotI2lmZGVmIEZFQVRfTUJZVEUKKyMgaWZkZWYgRkVBVF9NQllURQogCQlpZiAoaGFzX21ieXRlKQogCQkgICAgdG9kbyAtPSAoKm1iX3B0cjJsZW4pKG1sX2dldF9wb3MoJnBvcykpIC0gMTsKLSNlbmRpZgorIyBlbmRpZgogCQlkaWRfY2hhbmdlIHw9IHN3YXBjaGFyKG9hcC0+b3BfdHlwZSwgJnBvcyk7CiAJCWlmIChpbmMoJnBvcykgPT0gLTEpCSAgICAvKiBhdCBlbmQgb2YgZmlsZSAqLwogCQkgICAgYnJlYWs7CkBAIC0yMTk1LDE2ICsyMTk1LDEzIEBACiAJZWxzZSBpZiAoIW9hcC0+aW5jbHVzaXZlKQogCSAgICBkZWMoJihvYXAtPmVuZCkpOwogCi0JZm9yICh0b2RvID0gb2FwLT5lbmQuY29sIC0gcG9zLmNvbCArIDE7IHRvZG8gPiAwOyAtLXRvZG8pCisJd2hpbGUgKGx0b3JlcShwb3MsIG9hcC0+ZW5kKSkKIAl7Ci0jaWZkZWYgRkVBVF9NQllURQotCSAgICBpZiAoaGFzX21ieXRlKQotCQl0b2RvIC09ICgqbWJfcHRyMmxlbikobWxfZ2V0X3BvcygmcG9zKSkgLSAxOwotI2VuZGlmCiAJICAgIGRpZF9jaGFuZ2UgfD0gc3dhcGNoYXIob2FwLT5vcF90eXBlLCAmcG9zKTsKIAkgICAgaWYgKGluYygmcG9zKSA9PSAtMSkgICAgLyogYXQgZW5kIG9mIGZpbGUgKi8KIAkJYnJlYWs7CiAJfQorCiAJaWYgKGRpZF9jaGFuZ2UpCiAJewogCSAgICBjaGFuZ2VkX2xpbmVzKG9hcC0+c3RhcnQubG51bSwgb2FwLT5zdGFydC5jb2wsIG9hcC0+ZW5kLmxudW0gKyAxLApkaWZmIC0tZ2l0IGEvc3JjL3NjcmVlbi5jIGIvc3JjL3NjcmVlbi5jCmluZGV4IDZlMjU0NzEuLmY0OTdmMzcgMTAwNjQ0Ci0tLSBhL3NyYy9zY3JlZW4uYworKysgYi9zcmMvc2NyZWVuLmMKQEAgLTI5MzEsNyArMjkzMSw3IEBACiAJICAgIHdwLT53X2N1cnNvci5sbnVtID0gbG51bTsKIAkgICAgd3AtPndfY3Vyc29yLmNvbCA9IHB0ciAtIGxpbmU7CiAJICAgIGxlbiA9IHNwZWxsX21vdmVfdG8od3AsIEZPUldBUkQsIFRSVUUsIFRSVUUsICZzcGVsbF9hdHRyKTsKLQkgICAgaWYgKGxlbiA9PSAwIHx8IHdwLT53X2N1cnNvci5jb2wgPiBwdHIgLSBsaW5lKQorCSAgICBpZiAobGVuID09IDAgfHwgKGludCl3cC0+d19jdXJzb3IuY29sID4gcHRyIC0gbGluZSkKIAkgICAgewogCQkvKiBubyBiYWQgd29yZCBmb3VuZCBhdCBsaW5lIHN0YXJ0LCBkb24ndCBjaGVjayB1bnRpbCBlbmQgb2YgYQogCQkgKiB3b3JkICovCmRpZmYgLS1naXQgYS9zcmMvc2VhcmNoLmMgYi9zcmMvc2VhcmNoLmMKaW5kZXggNDU2YjY5NC4uMmVkMTVkZiAxMDA2NDQKLS0tIGEvc3JjL3NlYXJjaC5jCisrKyBiL3NyYy9zZWFyY2guYwpAQCAtMTQ0MCw2ICsxNDQwLDExIEBACiAJLyogRm9yIG11bHRpLWJ5dGUgcmUtdXNlIGxhc3QgYnl0ZXNbXSBhbmQgYnl0ZWxlbi4gKi8KICAgICB9CiAKKyAgICBpZiAoZGlyID09IEJBQ0tXQVJEKQorCWNhcC0+b2FwLT5pbmNsdXNpdmUgPSBGQUxTRTsKKyAgICBlbHNlCisJY2FwLT5vYXAtPmluY2x1c2l2ZSA9IFRSVUU7CisKICAgICBwID0gbWxfZ2V0X2N1cmxpbmUoKTsKICAgICBjb2wgPSBjdXJ3aW4tPndfY3Vyc29yLmNvbDsKICAgICBsZW4gPSAoaW50KVNUUkxFTihwKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OC5vayBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OC5vawppbmRleCA5ZmJhNmJjLi43MzZlOTkyIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NTgub2sKKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDU4Lm9rCkBAIC0zNCw3ICszNCw3IEBACiBk6fRsCiBbJ2Rlb2wnLCAnZOn0cicsICd0ZXN0J10KIGVuZAotWydwdXQnLCAndGVzdCcsICd1ayddCitbJ3B1dCcsICdPSycsICd0ZXN0J10KIHRoZQogWydwdXQnLCAndWsnLCAndGVzdCddCiBnZWJsZXRlZ2VrCkBAIC03NSw3ICs3NSw3IEBACiBiYWQKIFsncHV0JywgJ3VrJywgJ09LJ10KIGlucHV0cwotWydpbnB1dCcsICdwdXRzJywgJ3B1dCddCitbJ2lucHV0JywgJ3B1dHMnLCAnb3V0cHV0cyddCiBjb21tZW50CiBbJ0NvbW1lbnQnXQogb2sKQEAgLTE0Myw3ICsxNDMsNyBAQAogcHJvCiBbJ2JvcmsnLCAnZW5kJywgJ3dvcmQnXQogYm9ya2Jvcmtib3JrYm9ya2Jvcmtib3JrCi1bJ2Jvcmtib3JrIGJvcmtib3JrYm9ya2JvcmsnLCAnYm9ya2Jvcmtib3JrIGJvcmtib3JrYm9yaycsICdib3JrYm9ya2Jvcmtib3JrYm9yayBib3JrJ10KK1snYm9yayBib3JrYm9ya2Jvcmtib3JrYm9yaycsICdib3JrYm9yayBib3JrYm9ya2Jvcmtib3JrJywgJ2Jvcmtib3JrYm9yayBib3JrYm9ya2JvcmsnXQogdG9tYXRvdG9tYXRvdG9tYXRvCiBbJ3RvbWF0byB0b21hdG90b21hdG8nLCAndG9tYXRvdG9tYXRvIHRvbWF0bycsICd0b21hdG8gdG9tYXRvIHRvbWF0byddCiBlbmRzdGFydApAQCAtMTUzLDEzICsxNTMsMTMgQEAKIHN0YXJ0c3RhcnQKIFsnc3RhcnQgc3RhcnQnXQogd29yZGVuZAotWyd3b3JkIGVuZCcsICd3b3Jkd29yZCcsICd3b3JkJ10KK1snd29yZCBlbmQnLCAnd29yZCcsICd3b3Jkd29yZCddCiB3b3Jkc3RhcnQKIFsnd29yZCBzdGFydCcsICdib3JrIHN0YXJ0J10KIHN0YXJ0d29yZHdvcmR3b3Jkd29yZGVuZAogWydzdGFydHdvcmR3b3Jkd29yZHdvcmQgZW5kJywgJ3N0YXJ0d29yZHdvcmR3b3Jkd29yZCcsICdzdGFydCB3b3Jkd29yZHdvcmR3b3JkIGVuZCddCiBib3JrcHJlYm9ya3ByZWJvcmtib3JrCi1bJ2JvcmtwcmVib3JrcHJlYm9yayBib3JrJywgJ2JvcmtwcmVib3JrIHByZWJvcmtib3JrJywgJ2JvcmsgcHJlYm9ya3ByZWJvcmtib3JrJ10KK1snYm9yayBwcmVib3JrcHJlYm9ya2JvcmsnLCAnYm9ya3ByZWJvcmsgcHJlYm9ya2JvcmsnLCAnYm9ya3ByZWJvcmtwcmVib3JrIGJvcmsnXQogCiB0ZXN0IDUtNQogIyBmaWxlOiBYdGVzdC5sYXRpbjEuc3BsCkBAIC0yMTEsNyArMjExLDcgQEAKIG1lZWEyCiBbJ21lZWExJywgJ21lZWHpJywgJ2xlYWQnXQogcHJhYmFyCi1bJ3ByZWJhcicsICdsZWFkYmFyJywgJ2JhciddCitbJ3ByZWJhcicsICdiYXInLCAnbGVhZGJhciddCiBwcm9iYXJiaXJrCiBbJ3ByZWJhcmJvcmsnXQogbWlkZGxlCkBAIC0yNDMsNyArMjQzLDcgQEAKIG1lZWEyCiBbJ21lZWExJywgJ21lZWHpJywgJ2xlYWQnXQogcHJhYmFyCi1bJ3ByZWJhcicsICdsZWFkYmFyJywgJ2JhciddCitbJ3ByZWJhcicsICdiYXInLCAnbGVhZGJhciddCiBwcm9iYXJtYWF0CiBbJ3ByZWJhcm1lYXQnXQogbWlkZGxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0NTkub2sgYi9zcmMvdGVzdGRpci90ZXN0NTkub2sKaW5kZXggYzM3ZWNiOC4uOGY0NzY2NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDU5Lm9rCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5vawpAQCAtMzQsNyArMzQsNyBAQAogZMOpw7RsCiBbJ2Rlb2wnLCAnZMOpw7RyJywgJ3Rlc3QnXQogZW5kCi1bJ3B1dCcsICd0ZXN0JywgJ3VrJ10KK1sncHV0JywgJ09LJywgJ3Rlc3QnXQogdGhlCiBbJ3B1dCcsICd1aycsICd0ZXN0J10KIGdlYmxldGVnZWsKQEAgLTc1LDcgKzc1LDcgQEAKIGJhZAogWydwdXQnLCAndWsnLCAnT0snXQogaW5wdXRzCi1bJ2lucHV0JywgJ3B1dHMnLCAncHV0J10KK1snaW5wdXQnLCAncHV0cycsICdvdXRwdXRzJ10KIGNvbW1lbnQKIFsnQ29tbWVudCddCiBvawpAQCAtMTQzLDcgKzE0Myw3IEBACiBwcm8KIFsnYm9yaycsICdlbmQnLCAnd29yZCddCiBib3JrYm9ya2Jvcmtib3JrYm9ya2JvcmsKLVsnYm9ya2JvcmsgYm9ya2Jvcmtib3JrYm9yaycsICdib3JrYm9ya2JvcmsgYm9ya2Jvcmtib3JrJywgJ2Jvcmtib3JrYm9ya2Jvcmtib3JrIGJvcmsnXQorWydib3JrIGJvcmtib3JrYm9ya2Jvcmtib3JrJywgJ2Jvcmtib3JrIGJvcmtib3JrYm9ya2JvcmsnLCAnYm9ya2Jvcmtib3JrIGJvcmtib3JrYm9yayddCiB0b21hdG90b21hdG90b21hdG8KIFsndG9tYXRvIHRvbWF0b3RvbWF0bycsICd0b21hdG90b21hdG8gdG9tYXRvJywgJ3RvbWF0byB0b21hdG8gdG9tYXRvJ10KIGVuZHN0YXJ0CkBAIC0xNTMsMTMgKzE1MywxMyBAQAogc3RhcnRzdGFydAogWydzdGFydCBzdGFydCddCiB3b3JkZW5kCi1bJ3dvcmQgZW5kJywgJ3dvcmR3b3JkJywgJ3dvcmQnXQorWyd3b3JkIGVuZCcsICd3b3JkJywgJ3dvcmR3b3JkJ10KIHdvcmRzdGFydAogWyd3b3JkIHN0YXJ0JywgJ2Jvcmsgc3RhcnQnXQogc3RhcnR3b3Jkd29yZHdvcmR3b3JkZW5kCiBbJ3N0YXJ0d29yZHdvcmR3b3Jkd29yZCBlbmQnLCAnc3RhcnR3b3Jkd29yZHdvcmR3b3JkJywgJ3N0YXJ0IHdvcmR3b3Jkd29yZHdvcmQgZW5kJ10KIGJvcmtwcmVib3JrcHJlYm9ya2JvcmsKLVsnYm9ya3ByZWJvcmtwcmVib3JrIGJvcmsnLCAnYm9ya3ByZWJvcmsgcHJlYm9ya2JvcmsnLCAnYm9yayBwcmVib3JrcHJlYm9ya2JvcmsnXQorWydib3JrIHByZWJvcmtwcmVib3JrYm9yaycsICdib3JrcHJlYm9yayBwcmVib3JrYm9yaycsICdib3JrcHJlYm9ya3ByZWJvcmsgYm9yayddCiAKIHRlc3QgNS01CiAjIGZpbGU6IFh0ZXN0LnV0Zi04LnNwbApAQCAtMjExLDcgKzIxMSw3IEBACiBtZWVhMgogWydtZWVhMScsICdtZWVhw6knLCAnbGVhZCddCiBwcmFiYXIKLVsncHJlYmFyJywgJ2xlYWRiYXInLCAnYmFyJ10KK1sncHJlYmFyJywgJ2JhcicsICdsZWFkYmFyJ10KIHByb2JhcmJpcmsKIFsncHJlYmFyYm9yayddCiBtaWRkbGUKQEAgLTI0Myw3ICsyNDMsNyBAQAogbWVlYTIKIFsnbWVlYTEnLCAnbWVlYcOpJywgJ2xlYWQnXQogcHJhYmFyCi1bJ3ByZWJhcicsICdsZWFkYmFyJywgJ2JhciddCitbJ3ByZWJhcicsICdiYXInLCAnbGVhZGJhciddCiBwcm9iYXJtYWF0CiBbJ3ByZWJhcm1lYXQnXQogbWlkZGxlCmRpZmYgLS1naXQgYS9zcmMvdmVyc2lvbi5oIGIvc3JjL3ZlcnNpb24uaAppbmRleCA5NDAyYjUxLi5mNGM5ZTcxIDEwMDY0NAotLS0gYS9zcmMvdmVyc2lvbi5oCisrKyBiL3NyYy92ZXJzaW9uLmgKQEAgLTM2LDUgKzM2LDUgQEAKICNkZWZpbmUgVklNX1ZFUlNJT05fTk9ET1QJInZpbTcwYWEiCiAjZGVmaW5lIFZJTV9WRVJTSU9OX1NIT1JUCSI3LjBhYSIKICNkZWZpbmUgVklNX1ZFUlNJT05fTUVESVVNCSI3LjBhYSBBTFBIQSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYWEgQUxQSEEgKDIwMDUgU2VwIDE0KSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBTZXAgMTQsIGNvbXBpbGVkICIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYWEgQUxQSEEgKDIwMDUgU2VwIDE2KSIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBTZXAgMTYsIGNvbXBpbGVkICIK