ZGlmZiAtLWdpdCBhL2RvY3MveG1sL25naW54L2NoYW5nZXMueG1sIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKaW5kZXggMjI1YjBiMC4uYjY0MWQzOSAxMDA2NDQKLS0tIGEvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKKysrIGIvZG9jcy94bWwvbmdpbngvY2hhbmdlcy54bWwKQEAgLTksNiArOSwzMiBAQAogPHRpdGxlIGxhbmc9ImVuIj5uZ2lueCBjaGFuZ2Vsb2c8L3RpdGxlPgogCiAKKzxjaGFuZ2VzIHZlcj0iMC4zLjQ5IiBkYXRlPSIzMS4wNS4yMDA2Ij4KKworPGNoYW5nZSB0eXBlPSJidWdmaXgiPgorPHBhcmEgbGFuZz0icnUiPgor1yDEydLFy9TJ18Ugc2V0LgorPC9wYXJhPgorPHBhcmEgbGFuZz0iZW4iPgoraW4gdGhlICJzZXQiIGRpcmVjdGl2ZS4KKzwvcGFyYT4KKzwvY2hhbmdlPgorCis8Y2hhbmdlIHR5cGU9ImJ1Z2ZpeCI+Cis8cGFyYSBsYW5nPSJydSI+CivQ0skg18vMwN7FzsnJINcgc3NpIMTX1cggySDCz8zFxSDQz8TawdDSz9PP1ywgz8LSwcLB1NnXwcXN2cgg3sXSxdogRmFzdENHSSwKK9fNxdPUzyDX2dfPxMEg19TP0s/HzyDJIM/T1MHM2M7ZyCDQz8TawdDSz9PP1yDXIM/U18XUINfLzMDewczT0SDX2dfPxAor0MXS18/HzyDQz8TawdDSz9PBLgorPC9wYXJhPgorPHBhcmEgbGFuZz0iZW4iPgoraWYgdHdvIG9yIG1vcmUgRmFzdENHSSBzdWJyZXF1ZXN0cyB3YXMgaW4gU1NJLCB0aGVuIGZpcnN0IHN1YnJlcXVlc3Qgb3V0cHV0Cit3YXMgaW5jbHVkZWQgaW5zdGVhZCBvZiBzZWNvbmQgYW5kIGZvbGxvd2luZyBzdWJyZXF1ZXN0cy4KKzwvcGFyYT4KKzwvY2hhbmdlPgorCis8L2NoYW5nZXM+CisKKwogPGNoYW5nZXMgdmVyPSIwLjMuNDgiIGRhdGU9IjI5LjA1LjIwMDYiPgogCiA8Y2hhbmdlIHR5cGU9ImNoYW5nZSI+CmRpZmYgLS1naXQgYS9zcmMvY29yZS9uZ2lueC5oIGIvc3JjL2NvcmUvbmdpbnguaAppbmRleCBjMzc2YjkyLi5jZDE5MTdmIDEwMDY0NAotLS0gYS9zcmMvY29yZS9uZ2lueC5oCisrKyBiL3NyYy9jb3JlL25naW54LmgKQEAgLTgsNyArOCw3IEBACiAjZGVmaW5lIF9OR0lOWF9IX0lOQ0xVREVEXwogCiAKLSNkZWZpbmUgTkdJTlhfVkVSICAgICAgICAgICJuZ2lueC8wLjMuNDgiCisjZGVmaW5lIE5HSU5YX1ZFUiAgICAgICAgICAibmdpbngvMC4zLjQ5IgogCiAjZGVmaW5lIE5HSU5YX1ZBUiAgICAgICAgICAiTkdJTlgiCiAjZGVmaW5lIE5HWF9PTERQSURfRVhUICAgICAiLm9sZGJpbiIKZGlmZiAtLWdpdCBhL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfZmFzdGNnaV9tb2R1bGUuYyBiL3NyYy9odHRwL21vZHVsZXMvbmd4X2h0dHBfZmFzdGNnaV9tb2R1bGUuYwppbmRleCA4MjM4OGE2Li44NjYzZjg4IDEwMDY0NAotLS0gYS9zcmMvaHR0cC9tb2R1bGVzL25neF9odHRwX2Zhc3RjZ2lfbW9kdWxlLmMKKysrIGIvc3JjL2h0dHAvbW9kdWxlcy9uZ3hfaHR0cF9mYXN0Y2dpX21vZHVsZS5jCkBAIC0xNDc2LDcgKzE0NzYsNyBAQAogICAgIG5neF9odHRwX3ZhcmlhYmxlX3QgICp2YXI7CiAKICAgICB2YXIgPSBuZ3hfaHR0cF9hZGRfdmFyaWFibGUoY2YsICZuZ3hfaHR0cF9mYXN0Y2dpX3NjcmlwdF9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOR1hfSFRUUF9WQVJfTk9IQVNIKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkdYX0hUVFBfVkFSX05PSEFTSHxOR1hfSFRUUF9WQVJfTk9DQUNIQUJMRSk7CiAgICAgaWYgKHZhciA9PSBOVUxMKSB7CiAgICAgICAgIHJldHVybiBOR1hfRVJST1I7CiAgICAgfQpkaWZmIC0tZ2l0IGEvc3JjL2h0dHAvbmd4X2h0dHBfc2NyaXB0LmMgYi9zcmMvaHR0cC9uZ3hfaHR0cF9zY3JpcHQuYwppbmRleCA5NDc5M2Q3Li44M2MxOTk4IDEwMDY0NAotLS0gYS9zcmMvaHR0cC9uZ3hfaHR0cF9zY3JpcHQuYworKysgYi9zcmMvaHR0cC9uZ3hfaHR0cF9zY3JpcHQuYwpAQCAtNTAxLDcgKzUwMSw3IEBACiAgICAgICAgICAgICAmJiAoZS0+cmVxdWVzdC0+cXVvdGVkX3VyaSB8fCBlLT5yZXF1ZXN0LT5wbHVzX2luX3VyaSkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBlLT5jYXB0dXJlc1tjb2RlLT5uICsgMV0gLSBlLT5jYXB0dXJlc1tjb2RlLT5uXQotICAgICAgICAgICAgICAgICAgICsgbmd4X2VzY2FwZV91cmkoTlVMTCwKKyAgICAgICAgICAgICAgICAgICArIDIgKiBuZ3hfZXNjYXBlX3VyaShOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZS0+bGluZS5kYXRhW2UtPmNhcHR1cmVzW2NvZGUtPm5dXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS0+Y2FwdHVyZXNbY29kZS0+biArIDFdIC0gZS0+Y2FwdHVyZXNbY29kZS0+bl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5HWF9FU0NBUEVfQVJHUyk7CkBAIC0xMDE2LDkgKzEwMTYsMTEgQEAKICAgICBuZ3hfbWVtemVybygmbGUsIHNpemVvZihuZ3hfaHR0cF9zY3JpcHRfZW5naW5lX3QpKTsKIAogICAgIGxlLmlwID0gY29kZS0+bGVuZ3Rocy0+ZWx0czsKKyAgICBsZS5saW5lID0gZS0+bGluZTsKICAgICBsZS5yZXF1ZXN0ID0gZS0+cmVxdWVzdDsKICAgICBsZS5jYXB0dXJlcyA9IGUtPmNhcHR1cmVzOwogICAgIGxlLm5jYXB0dXJlcyA9IGUtPm5jYXB0dXJlczsKKyAgICBsZS5xdW90ZSA9IGUtPnF1b3RlOwogCiAgICAgZm9yIChsZW4gPSAwOyAqKHVpbnRwdHJfdCAqKSBsZS5pcDsgbGVuICs9IGxjb2RlKCZsZSkpIHsKICAgICAgICAgbGNvZGUgPSAqKG5neF9odHRwX3NjcmlwdF9sZW5fY29kZV9wdCAqKSBsZS5pcDsK