ZGlmZiAtLWdpdCBhL3NyYy9vcHMuYyBiL3NyYy9vcHMuYwppbmRleCAxZDVkM2JmLi4yOTA3ZDhhIDEwMDY0NAotLS0gYS9zcmMvb3BzLmMKKysrIGIvc3JjL29wcy5jCkBAIC0yMTk3LDcgKzIxOTcsNyBAQAogI2lmZGVmIEZFQVRfVklTVUFMCiAgICAgc3RydWN0IGJsb2NrX2RlZgliZDsKICNlbmRpZgotICAgIGludAkJCWRpZF9jaGFuZ2U7CisgICAgaW50CQkJZGlkX2NoYW5nZSA9IEZBTFNFOwogCiAgICAgaWYgKHVfc2F2ZSgobGluZW5yX1QpKG9hcC0+c3RhcnQubG51bSAtIDEpLAogCQkJCSAgICAgICAobGluZW5yX1QpKG9hcC0+ZW5kLmxudW0gKyAxKSkgPT0gRkFJTCkKQEAgLTIyNDIsNyArMjI0MiwxOCBAQAogCWVsc2UgaWYgKCFvYXAtPmluY2x1c2l2ZSkKIAkgICAgZGVjKCYob2FwLT5lbmQpKTsKIAotCWRpZF9jaGFuZ2UgPSBzd2FwY2hhcnMob2FwLT5vcF90eXBlLCAmcG9zLCBvYXAtPmVuZC5jb2wgLSBwb3MuY29sICsgMSk7CisJaWYgKHBvcy5sbnVtID09IG9hcC0+ZW5kLmxudW0pCisJICAgIGRpZF9jaGFuZ2UgPSBzd2FwY2hhcnMob2FwLT5vcF90eXBlLCAmcG9zLAorCQkJCQkJICBvYXAtPmVuZC5jb2wgLSBwb3MuY29sICsgMSk7CisJZWxzZQorCSAgICBmb3IgKDs7KQorCSAgICB7CisJCWRpZF9jaGFuZ2UgfD0gc3dhcGNoYXJzKG9hcC0+b3BfdHlwZSwgJnBvcywKKwkJCQlwb3MubG51bSA9PSBvYXAtPmVuZC5sbnVtID8gb2FwLT5lbmQuY29sICsgMToKKwkJCQkJICAgKGludClTVFJMRU4obWxfZ2V0X3BvcygmcG9zKSkpOworCQlpZiAobHRvcmVxKG9hcC0+ZW5kLCBwb3MpIHx8IGluYygmcG9zKSA9PSAtMSkKKwkJICAgIGJyZWFrOworCSAgICB9CiAJaWYgKGRpZF9jaGFuZ2UpCiAJewogCSAgICBjaGFuZ2VkX2xpbmVzKG9hcC0+c3RhcnQubG51bSwgb2FwLT5zdGFydC5jb2wsIG9hcC0+ZW5kLmxudW0gKyAxLApAQCAtMjMxNCwxNyArMjMyNSwxMSBAQAogICAgIGZvciAodG9kbyA9IGxlbmd0aDsgdG9kbyA+IDA7IC0tdG9kbykKICAgICB7CiAjIGlmZGVmIEZFQVRfTUJZVEUKLQlpbnQgcG9zX2NvbCA9IHBvcy0+Y29sOwotCiAJaWYgKGhhc19tYnl0ZSkKIAkgICAgLyogd2UncmUgY291bnRpbmcgYnl0ZXMsIG5vdCBjaGFyYWN0ZXJzICovCiAJICAgIHRvZG8gLT0gKCptYl9wdHIybGVuKShtbF9nZXRfcG9zKHBvcykpIC0gMTsKICMgZW5kaWYKIAlkaWRfY2hhbmdlIHw9IHN3YXBjaGFyKG9wX3R5cGUsIHBvcyk7Ci0jIGlmZGVmIEZFQVRfTUJZVEUKLQkvKiBDaGFuZ2luZyBHZXJtYW4gc2hhcnAgcyB0byBTUyBpbmNyZWFzZXMgdGhlIGNvbHVtbi4gKi8KLQl0b2RvICs9IHBvcy0+Y29sIC0gcG9zX2NvbDsKLSMgZW5kaWYKIAlpZiAoaW5jKHBvcykgPT0gLTEpICAgIC8qIGF0IGVuZCBvZiBmaWxlICovCiAJICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3QzOS5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3QzOS5pbgppbmRleCBkN2YyOTRiLi5hMTZkNGQ5IDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0MzkuaW4KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDM5LmluCkBAIC0xLDggKzEsMTAgQEAKIAogVGVzdCBWaXN1YWwgYmxvY2sgbW9kZSBjb21tYW5kcworQW5kIHRlc3QgIlUiIGluIFZpc3VhbCBtb2RlLCBhbHNvIG9uIEdlcm1hbiBzaGFycCBTLgogCiBTVEFSVFRFU1QKIDpzbyBzbWFsbC52aW0KKzpzbyBtYnl0ZS52aW0KIC9eYWJjZGUKIDoiIFRlc3Qgc2hpZnQtcmlnaHQgb2YgYSBibG9jawogamxsbGwWamo+d2xsFmpsbGw+CkBAIC0xNCw3ICsxNiwyMiBAQAogR2xsbGwWa2trbGxscnEKIDoiIFRlc3QgYmxvY2stY2hhbmdlCiBHJGtoaGgWaGhra2Ntbm8bCi06JC00LCR3cSEgdGVzdC5vdXQKKzokLTQsJHchIHRlc3Qub3V0Cis6IiBnVWUgbXVzdCB1cHBlcmNhc2UgYSB3aG9sZSB3b3JkLCBhbHNvIHdoZW4g3yBjaGFuZ2VzIHRvIFNTCitHb3RoZSB5b3V0dd9ldXUgZW5kG1lwazB3Z1VlCis6IiBnVWZ4IG11c3QgdXBwZXJjYXNlIHVudGlsIHgsIGluY2x1c2l2ZS4KK08tIHlvdd90dd9leHUgLRswZm9nVWZ4Cis6IiBWVSBtdXN0IHVwcGVyY2FzZSBhIHdob2xlIGxpbmUKK1lwa1ZVCis6IiBzYW1lLCB3aGVuIGl0J3MgdGhlIGxhc3QgbGluZSBpbiB0aGUgYnVmZmVyCitZUEdpMTExG1ZVZGRQCis6IiBVcHBlcmNhc2UgdHdvIGxpbmVzCitPYmxhaCBkaQorZG9oIGR1dBtWa1VqCis6IiBVcHBlcmNhc2UgcGFydCBvZiB0d28gbGluZXMKK2RkcHBpMzMzG2swaTIyMhtmeWxsdmpmdVVrCis6L150aGUvLCR3ID4+IHRlc3Qub3V0Cis6cWEhCiBFTkRURVNUCiAKIGFiY2RlZmdoaWprbG0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3QzOS5vayBiL3NyYy90ZXN0ZGlyL3Rlc3QzOS5vawppbmRleCA2ZmEyODY3Li4zOGE1YmMzIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0Mzkub2sKKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDM5Lm9rCkBAIC0zLDMgKzMsMTEgQEAKIGF4eXpxcXFxZWYgbW5vICAgICAgICBnaGlqa2xtCiBheHl6cXFxcWVmZ21ub2tsbQogYWJjZHFxcXFpamtsbQordGhlIFlPVVRVU1NFVVUgZW5kCistIHlPVVNTVFVTU0VYdSAtCitUSEUgWU9VVFVTU0VVVSBFTkQKKzExMVRIRSBZT1VUVVNTRVVVIEVORAorQkxBSCBESQorRE9IIERVVAorMjIydGhlIHlvVVRVU1NFVVUgRU5ECiszMzNUSEUgWU9VVFXfZXV1IGVuZApkaWZmIC0tZ2l0IGEvc3JjL3ZlcnNpb24uYyBiL3NyYy92ZXJzaW9uLmMKaW5kZXggN2Q3MDM0OC4uMzA1OWYzZiAxMDA2NDQKLS0tIGEvc3JjL3ZlcnNpb24uYworKysgYi9zcmMvdmVyc2lvbi5jCkBAIC02NjcsNiArNjY3LDggQEAKIHN0YXRpYyBpbnQgaW5jbHVkZWRfcGF0Y2hlc1tdID0KIHsgICAvKiBBZGQgbmV3IHBhdGNoIG51bWJlciBiZWxvdyB0aGlzIGxpbmUgKi8KIC8qKi8KKyAgICAyNDMsCisvKiovCiAgICAgMjQyLAogLyoqLwogICAgIDI0MSwK