From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Yaakov Selkowitz To: git-commits@fedoraproject.org Subject: [rpms/vlc] epel9-next: Merge branch 'rawhide' into epel9 Date: Mon, 20 Jul 2026 18:06:07 GMT Message-ID: <178457076762.1.15698834581975478682.rpms-vlc-46eeef25633f@fedoraproject.org> List-ID: X-Git-Repo: rpms/vlc X-Git-Branch: epel9-next X-Git-Rev: 46eeef25633f5b2207844ec64cc66f266d57779b QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvdmxjCkJyYW5jaCA6 IGVwZWw5LW5leHQKQ29tbWl0IDogNDZlZWVmMjU2MzNmNWIyMjA3ODQ0ZWM2NGNjNjZmMjY2ZDU3 Nzc5YgpBdXRob3IgOiBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aUByZWRoYXQuY29tPgpEYXRl ICAgOiAyMDI1LTA2LTI1VDEyOjE5OjI1LTA0OjAwClN0YXRzICA6ICsyNTcwLy0zMCBpbiA5IGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy92bGMvYy80 NmVlZWYyNTYzM2Y1YjIyMDc4NDRlYzY0Y2M2NmYyNjZkNTc3NzliP2JyYW5jaD1lcGVsOS1uZXh0 CgpMb2c6Ck1lcmdlIGJyYW5jaCAncmF3aGlkZScgaW50byBlcGVsOQoKLS0tCmRpZmYgLS1naXQg YS81NTc0LnBhdGNoIGIvNTU3NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi43ZGFjNzRhCi0tLSAvZGV2L251bGwKKysrIGIvNTU3NC5wYXRjaApAQCAtMCwwICsxLDc3 NSBAQAorRnJvbSA4MWQ2ZDU2ZGY2ZTVhNjZlZDk5OTcwZTJjNTU5NTM5ODU4ZjRhMGI3IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1I9QzM9QTltaT0yMERlbmlzLUNv dXJtb250Pz0gPHJlbWlAcmVtbGFiLm5ldD4KK0RhdGU6IFNhdCwgNSBNYXkgMjAxOCAxNToyODox NSArMDMwMAorU3ViamVjdDogW1BBVENIIDAxLzExXSBhdmNvZGVjOiBhdm9pZCBzaWduZWRuZXNz IG1pc21hdGNoIHdhcm5pbmcKKworQml0bWFzayBzaG91bGQgYmUgdW5zaWduZWQsIGJ1dCBmZm1w ZWcgc2VlbXMgY29uZnVzZWQgd2l0aCBpdHNlbGYuCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDg1NDQyMzNlN2ZkZTI5NjU0MzVlMzJhNDQ1NDk0ODk4NDQwZWNjMzApCistLS0KKyBtb2R1 bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitpbmRleCA1 MGE3NmM3YTE4ZS4uZTVhZjBjYTVmMmYgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXVkaW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK0BAIC01OTMs OSArNTkzLDkgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9k ZWMsIGJvb2wgYl90cnVzdCApCisgICAgIHVpbnQzMl90IHBpX29yZGVyX3NyY1tpX29yZGVyX21h eF07CisgCisgICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDA7CistICAgIGludDY0X3QgY2hhbm5l bF9sYXlvdXQgPQorKyAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dCA9CisgICAgICAgICBwX3N5 cy0+cF9jb250ZXh0LT5jaGFubmVsX2xheW91dCA/IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxf bGF5b3V0IDoKKy0gICAgICAgIGF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0KCBwX3N5cy0+ cF9jb250ZXh0LT5jaGFubmVscyApOworKyAgICAgICAgKHVpbnQ2NF90KWF2X2dldF9kZWZhdWx0 X2NoYW5uZWxfbGF5b3V0KCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscyApOworIAorICAgICBp ZiggY2hhbm5lbF9sYXlvdXQgKQorICAgICB7CistLSAKK0dpdExhYgorCisKK0Zyb20gYzc3MDll N2EwNDhlYjY5YjY1NmQ3Zjk2NjNkZWJiYzFkZGUxZjU5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IElsa2thIE9sbGFra2EgPGlsZW9vQHZpZGVvbGFuLm9yZz4KK0RhdGU6IFdlZCwg NSBKdWwgMjAyMyAxMjo1MTozNCArMDMwMAorU3ViamVjdDogW1BBVENIIDAyLzExXSBhdmNvZGVj OiB1c2UgcF9kZWMtPmZtdF9vdXQgaW5zdGVhZCBvZiBjb250ZXh0IGNoYW5uZWxzCisgb24gYXVk aW8gY2hhbm5lbC1jb3VudAorCityZWR1Y2VzIHRoZSBuZWVkIG9mIGlmZGVmcyB3aGVuIGFkZGlu ZyBjaF9sYXlvdXQgc3VwcG9ydAorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiZGRmNWJh MTkxMTFkMWNjNDQ2M2Q5ODc2YzRiYzRiYTc1ZjgyZDdmKQorLS0tCisgbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F1ZGlvLmMgfCAxNCArKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitpbmRleCBl NWFmMGNhNWYyZi4uMjYxNjZjMDg0ZTUgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXVkaW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK0BAIC00ODQs MTUgKzQ4NCwxNSBAQCBzdGF0aWMgYmxvY2tfdCAqIENvbnZlcnRBVkZyYW1lKCBkZWNvZGVyX3Qg KnBfZGVjLCBBVkZyYW1lICpmcmFtZSApCisgICAgIC8qIEludGVybGVhdmUgYXVkaW8gaWYgcmVx dWlyZWQgKi8KKyAgICAgaWYoIGF2X3NhbXBsZV9mbXRfaXNfcGxhbmFyKCBjdHgtPnNhbXBsZV9m bXQgKSApCisgICAgIHsKKy0gICAgICAgIHBfYmxvY2sgPSBibG9ja19BbGxvYyhmcmFtZS0+bGlu ZXNpemVbMF0gKiBjdHgtPmNoYW5uZWxzKTsKKysgICAgICAgIHBfYmxvY2sgPSBibG9ja19BbGxv YyhmcmFtZS0+bGluZXNpemVbMF0gKiBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzICk7 CisgICAgICAgICBpZiAoIGxpa2VseShwX2Jsb2NrKSApCisgICAgICAgICB7CistICAgICAgICAg ICAgY29uc3Qgdm9pZCAqcGxhbmVzW2N0eC0+Y2hhbm5lbHNdOworLSAgICAgICAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgY3R4LT5jaGFubmVsczsgaSsrKQorKyAgICAgICAgICAgIGNvbnN0IHZv aWQgKnBsYW5lc1twX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzXTsKKysgICAgICAgICAg ICBmb3IgKGludCBpID0gMDsgaSA8IHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHM7IGkr KykKKyAgICAgICAgICAgICAgICAgcGxhbmVzW2ldID0gZnJhbWUtPmV4dGVuZGVkX2RhdGFbaV07 CisgCisgICAgICAgICAgICAgYW91dF9JbnRlcmxlYXZlKHBfYmxvY2stPnBfYnVmZmVyLCBwbGFu ZXMsIGZyYW1lLT5uYl9zYW1wbGVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgt PmNoYW5uZWxzLCBwX2RlYy0+Zm10X291dC5hdWRpby5pX2Zvcm1hdCk7CisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMsIHBfZGVjLT5m bXRfb3V0LmF1ZGlvLmlfZm9ybWF0KTsKKyAgICAgICAgICAgICBwX2Jsb2NrLT5pX25iX3NhbXBs ZXMgPSBmcmFtZS0+bmJfc2FtcGxlczsKKyAgICAgICAgIH0KKyAgICAgICAgIGF2X2ZyYW1lX2Zy ZWUoJmZyYW1lKTsKK0BAIC01MTEsNyArNTExLDcgQEAgc3RhdGljIGJsb2NrX3QgKiBDb252ZXJ0 QVZGcmFtZSggZGVjb2Rlcl90ICpwX2RlYywgQVZGcmFtZSAqZnJhbWUgKQorICAgICAgICAgewor ICAgICAgICAgICAgIGFvdXRfQ2hhbm5lbEV4dHJhY3QoIHBfYnVmZmVyLT5wX2J1ZmZlciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX2RlYy0+Zm10X291dC5hdWRpby5pX2No YW5uZWxzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfYmxvY2stPnBfYnVm ZmVyLCBjdHgtPmNoYW5uZWxzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBf YmxvY2stPnBfYnVmZmVyLCBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfYmxvY2stPmlfbmJfc2FtcGxlcywgcF9zeXMt PnBpX2V4dHJhY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9kZWMt PmZtdF9vdXQuYXVkaW8uaV9iaXRzcGVyc2FtcGxlICk7CisgICAgICAgICAgICAgcF9idWZmZXIt PmlfbmJfc2FtcGxlcyA9IHBfYmxvY2stPmlfbmJfc2FtcGxlczsKK0BAIC02MDAsMTMgKzYwMCwx MyBAQCBzdGF0aWMgdm9pZCBTZXR1cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9v bCBiX3RydXN0ICkKKyAgICAgaWYoIGNoYW5uZWxfbGF5b3V0ICkKKyAgICAgeworICAgICAgICAg Zm9yKCB1bnNpZ25lZCBpID0gMDsgaSA8IGlfb3JkZXJfbWF4CistICAgICAgICAgJiYgaV9jaGFu bmVsc19zcmMgPCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsczsgaSsrICkKKysgICAgICAgICAm JiBpX2NoYW5uZWxzX3NyYyA8IHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHM7IGkrKyAp CisgICAgICAgICB7CisgICAgICAgICAgICAgaWYoIGNoYW5uZWxfbGF5b3V0ICYgcGlfY2hhbm5l bHNfbWFwW2ldWzBdICkKKyAgICAgICAgICAgICAgICAgcGlfb3JkZXJfc3JjW2lfY2hhbm5lbHNf c3JjKytdID0gcGlfY2hhbm5lbHNfbWFwW2ldWzFdOworICAgICAgICAgfQorIAorLSAgICAgICAg aWYoIGlfY2hhbm5lbHNfc3JjICE9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzICYmIGJfdHJ1 c3QgKQorKyAgICAgICAgaWYoIGlfY2hhbm5lbHNfc3JjICE9IHBfZGVjLT5mbXRfb3V0LmF1ZGlv LmlfY2hhbm5lbHMgJiYgYl90cnVzdCApCisgICAgICAgICAgICAgbXNnX0VyciggcF9kZWMsICJD aGFubmVsIGxheW91dCBub3QgdW5kZXJzdG9vZCIgKTsKKyAKKyAgICAgICAgIC8qIERldGVjdCBz cGVjaWFsIGR1YWwgbW9ubyBjYXNlICovCistLSAKK0dpdExhYgorCisKK0Zyb20gOTliMTQ5NjYx ODI5OTUzMTRmNWIyOWZkOTcyZDZhOTAwMGVhM2UwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IElsa2thIE9sbGFra2EgPGlsZW9vQHZpZGVvbGFuLm9yZz4KK0RhdGU6IFdlZCwgNSBK dWwgMjAyMyAxMzozMzowOSArMDMwMAorU3ViamVjdDogW1BBVENIIDAzLzExXSBhdmNvZGVjOiBh dWRpbyBkZWNvZGVyIHRvIHVzZSBjaF9sYXlvdXQKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgNDk2ZjBmMmE2NTljMTMzOWQxZTM3MzMwZDQ0NmU5YjZjZTk2ZTc2YikKKy0tLQorIG1vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK2luZGV4IDI2MTY2YzA4NGU1Li5hZDhhNDBhYjRlZCAx MDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCisrKysgYi9tb2R1bGVz L2NvZGVjL2F2Y29kZWMvYXVkaW8uYworQEAgLTEzOSw3ICsxMzksMTEgQEAgc3RhdGljIGludCBP cGVuQXVkaW9Db2RlYyggZGVjb2Rlcl90ICpwX2RlYyApCisgICAgIH0KKyAKKyAgICAgY3R4LT5z YW1wbGVfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9yYXRlOworKyNpZiBMSUJBVkNPREVD X1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyAgICBhdl9jaGFubmVsX2xh eW91dF9kZWZhdWx0KCAmY3R4LT5jaF9sYXlvdXQsIHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFu bmVscyApOworKyNlbHNlCisgICAgIGN0eC0+Y2hhbm5lbHMgPSBwX2RlYy0+Zm10X2luLmF1ZGlv LmlfY2hhbm5lbHM7CisrI2VuZGlmCisgICAgIGN0eC0+YmxvY2tfYWxpZ24gPSBwX2RlYy0+Zm10 X2luLmF1ZGlvLmlfYmxvY2thbGlnbjsKKyAgICAgY3R4LT5iaXRfcmF0ZSA9IHBfZGVjLT5mbXRf aW4uaV9iaXRyYXRlOworICAgICBjdHgtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSA9IHBfZGVjLT5m bXRfaW4uYXVkaW8uaV9iaXRzcGVyc2FtcGxlOworQEAgLTM5NSwxMiArMzk5LDE3IEBAIHN0YXRp YyBpbnQgRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9kZWMsIGJsb2NrX3QgKipwcF9ibG9jayAp CisgICAgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUoIGN0eCwgZnJhbWUgKTsKKyAg ICAgICAgIGlmKCByZXQgPT0gMCApCisgICAgICAgICB7CisrI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrICAgICAgICAgICAgaW50IGNoYW5uZWxz ID0gZnJhbWUtPmNoX2xheW91dC5uYl9jaGFubmVsczsKKysjZWxzZQorKyAgICAgICAgICAgIGlu dCBjaGFubmVscyA9IGN0eC0+Y2hhbm5lbHM7CisrI2VuZGlmCisgICAgICAgICAgICAgLyogY2hl Y2tzIGFuZCBpbml0IGZyb20gZmlyc3QgZGVjb2RlZCBmcmFtZSAqLworLSAgICAgICAgICAgIGlm KCBjdHgtPmNoYW5uZWxzIDw9IDAgfHwgY3R4LT5jaGFubmVscyA+IElOUFVUX0NIQU5fTUFYCisr ICAgICAgICAgICAgaWYoIGNoYW5uZWxzIDw9IDAgfHwgY2hhbm5lbHMgPiBJTlBVVF9DSEFOX01B WAorICAgICAgICAgICAgICB8fCBjdHgtPnNhbXBsZV9yYXRlIDw9IDAgKQorICAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgICAgbXNnX1dhcm4oIHBfZGVjLCAiaW52YWxpZCBhdWRpbyBwcm9w ZXJ0aWVzIGNoYW5uZWxzIGNvdW50ICVkLCBzYW1wbGUgcmF0ZSAlZCIsCistICAgICAgICAgICAg ICAgICAgICAgICAgICBjdHgtPmNoYW5uZWxzLCBjdHgtPnNhbXBsZV9yYXRlICk7CisrICAgICAg ICAgICAgICAgICAgICAgICAgICBjaGFubmVscywgY3R4LT5zYW1wbGVfcmF0ZSApOworICAgICAg ICAgICAgICAgICBnb3RvIGRyb3A7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGVsc2Ug aWYoIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfcmF0ZSAhPSAodW5zaWduZWQgaW50KWN0eC0+c2Ft cGxlX3JhdGUgKQorQEAgLTU4MCw2ICs1ODksMTYgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRG b3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAgIHBfZGVjLT5mbXRf b3V0LmF1ZGlvLmlfcmF0ZSA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9yYXRlOworIAorICAg ICAvKiAqLworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwg MTAwKQorKyAgICBpZiggcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMgPT0gcF9zeXMtPnBfY29u dGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICYmCisrICAgICAgICBwX3N5cy0+aV9wcmV2aW91 c19sYXlvdXQgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzayApCisrICAgICAg ICByZXR1cm47CisrICAgIGlmKCBiX3RydXN0ICkKKysgICAgeworKyAgICAgICAgcF9zeXMtPmlf cHJldmlvdXNfY2hhbm5lbHMgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5l bHM7CisrICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPSBwX3N5cy0+cF9jb250ZXh0 LT5jaF9sYXlvdXQudS5tYXNrOworKyAgICB9CisrI2Vsc2UKKyAgICAgaWYoIHBfc3lzLT5pX3By ZXZpb3VzX2NoYW5uZWxzID09IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzICYmCisgICAgICAg ICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9s YXlvdXQgKQorICAgICAgICAgcmV0dXJuOworQEAgLTU4OCwyNSArNjA3LDMyIEBAIHN0YXRpYyB2 b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1c3QgKQor ICAgICAgICAgcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMgPSBwX3N5cy0+cF9jb250ZXh0LT5j aGFubmVsczsKKyAgICAgICAgIHBfc3lzLT5pX3ByZXZpb3VzX2xheW91dCA9IHBfc3lzLT5wX2Nv bnRleHQtPmNoYW5uZWxfbGF5b3V0OworICAgICB9CisrI2VuZGlmCisgCisgICAgIGNvbnN0IHVu c2lnbmVkIGlfb3JkZXJfbWF4ID0gc2l6ZW9mKHBpX2NoYW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9j aGFubmVsc19tYXApOworICAgICB1aW50MzJfdCBwaV9vcmRlcl9zcmNbaV9vcmRlcl9tYXhdOwor IAorICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOworLSAgICB1aW50NjRfdCBjaGFubmVsX2xh eW91dCA9CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAx MDApCisrICAgIHVpbnQ2NF90IGNoYW5uZWxfbGF5b3V0X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0 LT5jaF9sYXlvdXQudS5tYXNrOworKyAgICBpbnQgY2hhbm5lbF9jb3VudCA9IHBfc3lzLT5wX2Nv bnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVsczsKKysjZWxzZQorKyAgICB1aW50NjRfdCBjaGFu bmVsX2xheW91dF9tYXNrID0KKyAgICAgICAgIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5 b3V0ID8gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgOgorICAgICAgICAgKHVpbnQ2 NF90KWF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0KCBwX3N5cy0+cF9jb250ZXh0LT5jaGFu bmVscyApOworKyAgICBpbnQgY2hhbm5lbF9jb3VudCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5u ZWxzOworKyNlbmRpZgorIAorLSAgICBpZiggY2hhbm5lbF9sYXlvdXQgKQorKyAgICBpZiggY2hh bm5lbF9sYXlvdXRfbWFzayApCisgICAgIHsKKyAgICAgICAgIGZvciggdW5zaWduZWQgaSA9IDA7 IGkgPCBpX29yZGVyX21heAorLSAgICAgICAgICYmIGlfY2hhbm5lbHNfc3JjIDwgcF9kZWMtPmZt dF9vdXQuYXVkaW8uaV9jaGFubmVsczsgaSsrICkKKysgICAgICAgICAmJiBpX2NoYW5uZWxzX3Ny YyA8IGNoYW5uZWxfY291bnQ7IGkrKyApCisgICAgICAgICB7CistICAgICAgICAgICAgaWYoIGNo YW5uZWxfbGF5b3V0ICYgcGlfY2hhbm5lbHNfbWFwW2ldWzBdICkKKysgICAgICAgICAgICBpZigg Y2hhbm5lbF9sYXlvdXRfbWFzayAmIHBpX2NoYW5uZWxzX21hcFtpXVswXSApCisgICAgICAgICAg ICAgICAgIHBpX29yZGVyX3NyY1tpX2NoYW5uZWxzX3NyYysrXSA9IHBpX2NoYW5uZWxzX21hcFtp XVsxXTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGlmKCBpX2NoYW5uZWxzX3NyYyAhPSBwX2Rl Yy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzICYmIGJfdHJ1c3QgKQorKyAgICAgICAgaWYoIGlf Y2hhbm5lbHNfc3JjICE9IGNoYW5uZWxfY291bnQgJiYgYl90cnVzdCApCisgICAgICAgICAgICAg bXNnX0VyciggcF9kZWMsICJDaGFubmVsIGxheW91dCBub3QgdW5kZXJzdG9vZCIgKTsKKyAKKyAg ICAgICAgIC8qIERldGVjdCBzcGVjaWFsIGR1YWwgbW9ubyBjYXNlICovCitAQCAtNjM4LDcgKzY2 NCw3IEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBi b29sIGJfdHJ1c3QgKQorICAgICB7CisgICAgICAgICBtc2dfV2FybiggcF9kZWMsICJubyBjaGFu bmVsIGxheW91dCBmb3VuZCIpOworICAgICAgICAgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9waHlz aWNhbF9jaGFubmVscyA9IDA7CistICAgICAgICBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5u ZWxzID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7CisrICAgICAgICBwX2RlYy0+Zm10X291 dC5hdWRpby5pX2NoYW5uZWxzID0gY2hhbm5lbF9jb3VudDsKKyAgICAgfQorIAorICAgICBhb3V0 X0Zvcm1hdFByZXBhcmUoICZwX2RlYy0+Zm10X291dC5hdWRpbyApOworLS0gCitHaXRMYWIKKwor CitGcm9tIGM0NGVkYjg1ZTRmMjVjYmM3YTg0ODIxMWQyZDNjYTlmMDNiZDQ2ZTYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBJbGtrYSBPbGxha2thIDxpbGVvb0B2aWRlb2xhbi5vcmc+ CitEYXRlOiBUdWUsIDQgSnVsIDIwMjMgMTY6NTI6MzggKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCAw NC8xMV0gYXZjb2RlYzogdXNlIHBfZW5jIGF1ZGlvIGNoYW5uZWxzIGluc3RlYWQgb2YgY29udGV4 dAorIGNoYW5uZWxzIGluIGVuY29kZXIKKworQWxsb3dzIHRvIGhhdmUgbGVzcyBjb25kaXRpb25z IGluIGNvZGUgd2hlbiBhZGRpbmcgbmV3IGNoX2xheW91dCB1c2UKKworKGNoZXJyeS1waWNrZWQg ZnJvbSBjb21taXQgMjk3NDdhOGFiYjk4YmE1M2E2NGFhNjc2MTk4Mzg5MWVlZWQyZTBlNCkKKy0t LQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMgfCAyNCArKysrKysrKysrKystLS0t LS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jIGIvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworaW5kZXggNDkxOWNjZjBlMGUuLjUyODQ4ZGUw NjU4IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworKysrIGIv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworQEAgLTc5MCw3ICs3OTAsNyBAQCBpbnQg SW5pdFZpZGVvRW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCisgICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICB9CisgICAgICAgICB9CistICAgICAgICBpZiggaV9jaGFubmVsc19zcmMg IT0gcF9jb250ZXh0LT5jaGFubmVscyApCisrICAgICAgICBpZiggaV9jaGFubmVsc19zcmMgIT0g cF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyApCisgICAgICAgICAgICAgbXNnX0Vycigg cF9lbmMsICJDaGFubmVsIGxheW91dCBub3QgdW5kZXJzdG9vZCIgKTsKKyAKKyAgICAgICAgIHBf c3lzLT5pX2NoYW5uZWxzX3RvX3Jlb3JkZXIgPQorQEAgLTg5Nyw3ICs4OTcsNyBAQCBpbnQgSW5p dFZpZGVvRW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCisgICAgIGlmKCByZXQgKQorICAgICB7 CisgICAgICAgICBpZiggcF9lbmMtPmZtdF9pbi5pX2NhdCAhPSBBVURJT19FUyB8fAorLSAgICAg ICAgICAgICAgICAocF9jb250ZXh0LT5jaGFubmVscyA8PSAyICYmIGlfY29kZWNfaWQgIT0gQVZf Q09ERUNfSURfTVAyCisrICAgICAgICAgICAgICAgIChwX2VuYy0+Zm10X291dC5hdWRpby5pX2No YW5uZWxzIDw9IDIgJiYgaV9jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9NUDIKKyAgICAgICAgICAg ICAgICAgICYmIGlfY29kZWNfaWQgIT0gQVZfQ09ERUNfSURfTVAzKSApCisgZXJybXNnOgorICAg ICAgICAgeworQEAgLTkyMiw3ICs5MjIsNyBAQCBlcnJtc2c6CisgICAgICAgICAgICAgZ290byBl cnJvcjsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGlmKCBwX2NvbnRleHQtPmNoYW5uZWxzID4g MiApCisrICAgICAgICBpZiggcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyA+IDIgKQor ICAgICAgICAgeworICAgICAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbHMgPSAyOworICAgICAg ICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgPSBjaGFubmVsX21hc2tbcF9jb250ZXh0 LT5jaGFubmVsc11bMV07CitAQCAtMTAyOCw3ICsxMDI4LDcgQEAgZXJybXNnOgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfY29udGV4dC0+ZnJhbWVfc2l6ZSA6CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfSU5QVVRfQlVGRkVSX01JTl9TSVpF OworICAgICAgICAgcF9zeXMtPmlfYnVmZmVyX291dCA9IGF2X3NhbXBsZXNfZ2V0X2J1ZmZlcl9z aXplKE5VTEwsCistICAgICAgICAgICAgICAgIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzLCBw X3N5cy0+aV9mcmFtZV9zaXplLAorKyAgICAgICAgICAgICAgICBwX2VuYy0+Zm10X291dC5hdWRp by5pX2NoYW5uZWxzLCBwX3N5cy0+aV9mcmFtZV9zaXplLAorICAgICAgICAgICAgICAgICBwX3N5 cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10LCBERUZBVUxUX0FMSUdOKTsKKyAgICAgICAgIHBfc3lz LT5wX2J1ZmZlciA9IGF2X21hbGxvYyggcF9zeXMtPmlfYnVmZmVyX291dCApOworICAgICAgICAg aWYgKCB1bmxpa2VseSggcF9zeXMtPnBfYnVmZmVyID09IE5VTEwgKSApCitAQCAtMTI3OCw3ICsx Mjc4LDcgQEAgc3RhdGljIGJsb2NrX3QgKmhhbmRsZV9kZWxheV9idWZmZXIoIGVuY29kZXJfdCAq cF9lbmMsIGVuY29kZXJfc3lzX3QgKnBfc3lzLCB1bnMKKyB7CisgICAgIGJsb2NrX3QgKnBfYmxv Y2sgPSBOVUxMOworICAgICAvL0hvdyBtdWNoIHdlIG5lZWQgdG8gY29weSBmcm9tIG5ldyBwYWNr ZXQKKy0gICAgY29uc3Qgc2l6ZV90IGxlZnRvdmVyID0gbGVmdG92ZXJfc2FtcGxlcyAqIHBfc3lz LT5wX2NvbnRleHQtPmNoYW5uZWxzICogcF9zeXMtPmlfc2FtcGxlX2J5dGVzOworKyAgICBjb25z dCBzaXplX3QgbGVmdG92ZXIgPSBsZWZ0b3Zlcl9zYW1wbGVzICogcF9lbmMtPmZtdF9vdXQuYXVk aW8uaV9jaGFubmVscyAqIHBfc3lzLT5pX3NhbXBsZV9ieXRlczsKKyAKKyAgICAgYXZfZnJhbWVf dW5yZWYoIHBfc3lzLT5mcmFtZSApOworICAgICBwX3N5cy0+ZnJhbWUtPmZvcm1hdCAgICAgPSBw X3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10OworQEAgLTEzMDEsNyArMTMwMSw3IEBAIHN0YXRp YyBibG9ja190ICpoYW5kbGVfZGVsYXlfYnVmZmVyKCBlbmNvZGVyX3QgKnBfZW5jLCBlbmNvZGVy X3N5c190ICpwX3N5cywgdW5zCisgICAgICAgICAvLyBXZSBuZWVkIHRvIGRlaW50ZXJsZWF2ZSBm cm9tIHBfYW91dF9idWYgdG8gcF9idWZmZXIgdGhlIGxlZnRvdmVyIGJ5dGVzCisgICAgICAgICBp ZiggcF9zeXMtPmJfcGxhbmFyICkKKyAgICAgICAgICAgICBhb3V0X0RlaW50ZXJsZWF2ZSggcF9z eXMtPnBfaW50ZXJsZWF2ZV9idWYsIHBfc3lzLT5wX2J1ZmZlciwKKy0gICAgICAgICAgICAgICAg cF9zeXMtPmlfZnJhbWVfc2l6ZSwgcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMsIHBfZW5jLT5m bXRfaW4uaV9jb2RlYyApOworKyAgICAgICAgICAgICAgICBwX3N5cy0+aV9mcmFtZV9zaXplLCBw X2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzLCBwX2VuYy0+Zm10X2luLmlfY29kZWMgKTsK KyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBtZW1jcHkoIHBfc3lzLT5wX2J1ZmZlciArIGJ1 ZmZlcl9kZWxheSwgcF9hb3V0X2J1Zi0+cF9idWZmZXIsIGxlZnRvdmVyKTsKKyAKK0BAIC0xMzE5 LDcgKzEzMTksNyBAQCBzdGF0aWMgYmxvY2tfdCAqaGFuZGxlX2RlbGF5X2J1ZmZlciggZW5jb2Rl cl90ICpwX2VuYywgZW5jb2Rlcl9zeXNfdCAqcF9zeXMsIHVucworICAgICAgICAgbWVtc2V0KCBw X3N5cy0+cF9idWZmZXIgKyAobGVmdG92ZXIrYnVmZmVyX2RlbGF5KSwgMCwgcGFkZGluZ19zaXpl ICk7CisgICAgICAgICBidWZmZXJfZGVsYXkgKz0gcGFkZGluZ19zaXplOworICAgICB9CistICAg IGlmKCBhdmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoIHBfc3lzLT5mcmFtZSwgcF9zeXMtPnBfY29u dGV4dC0+Y2hhbm5lbHMsCisrICAgIGlmKCBhdmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoIHBfc3lz LT5mcmFtZSwgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscywKKyAgICAgICAgICAgICBw X3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10LCBwX3N5cy0+Yl9wbGFuYXIgPyBwX3N5cy0+cF9p bnRlcmxlYXZlX2J1ZiA6IHBfc3lzLT5wX2J1ZmZlciwKKyAgICAgICAgICAgICBwX3N5cy0+aV9i dWZmZXJfb3V0LAorICAgICAgICAgICAgIERFRkFVTFRfQUxJR04pIDwgMCApCitAQCAtMTM0OSw3 ICsxMzQ5LDcgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29kZUF1ZGlvKCBlbmNvZGVyX3QgKnBfZW5j LCBibG9ja190ICpwX2FvdXRfYnVmICkKKyAKKyAgICAgLy9pX2J5dGVzX2xlZnQgaXMgYW1vdW50 IG9mIGJ5dGVzIHdlIGdldAorICAgICBpX3NhbXBsZXNfbGVmdCA9IHBfYW91dF9idWYgPyBwX2Fv dXRfYnVmLT5pX25iX3NhbXBsZXMgOiAwOworLSAgICBidWZmZXJfZGVsYXkgPSBwX3N5cy0+aV9z YW1wbGVzX2RlbGF5ICogcF9zeXMtPmlfc2FtcGxlX2J5dGVzICogcF9zeXMtPnBfY29udGV4dC0+ Y2hhbm5lbHM7CisrICAgIGJ1ZmZlcl9kZWxheSA9IHBfc3lzLT5pX3NhbXBsZXNfZGVsYXkgKiBw X3N5cy0+aV9zYW1wbGVfYnl0ZXMgKiBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzOwor IAorICAgICAvL3Bfc3lzLT5pX2J1ZmZlcl9vdXQgPSBwX3N5cy0+aV9mcmFtZV9zaXplICogY2hh biAqIHBfc3lzLT5pX3NhbXBsZV9ieXRlcworICAgICAvL0NhbGN1bGF0ZSBob3cgbWFueSBieXRl cyB3ZSB3b3VsZCBuZWVkIGZyb20gY3VycmVudCBidWZmZXIgdG8gZmlsbCBmcmFtZQorQEAgLTE0 MTgsMTIgKzE0MTgsMTIgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29kZUF1ZGlvKCBlbmNvZGVyX3Qg KnBfZW5jLCBibG9ja190ICpwX2FvdXRfYnVmICkKKyAgICAgICAgIHBfc3lzLT5mcmFtZS0+Y2hh bm5lbHMgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsczsKKyAKKyAgICAgICAgIGNvbnN0IGlu dCBpbl9ieXRlcyA9IHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcyAqCistICAgICAgICAgICAgcF9z eXMtPnBfY29udGV4dC0+Y2hhbm5lbHMgKiBwX3N5cy0+aV9zYW1wbGVfYnl0ZXM7CisrICAgICAg ICAgICAgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyogcF9zeXMtPmlfc2FtcGxlX2J5 dGVzOworIAorICAgICAgICAgaWYoIHBfc3lzLT5iX3BsYW5hciApCisgICAgICAgICB7CisgICAg ICAgICAgICAgYW91dF9EZWludGVybGVhdmUoIHBfc3lzLT5wX2J1ZmZlciwgcF9hb3V0X2J1Zi0+ cF9idWZmZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfc3lzLT5mcmFtZS0+ bmJfc2FtcGxlcywgcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMsIHBfZW5jLT5mbXRfaW4uaV9j b2RlYyApOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3N5cy0+ZnJhbWUtPm5i X3NhbXBsZXMsIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMsIHBfZW5jLT5mbXRfaW4u aV9jb2RlYyApOworIAorICAgICAgICAgfQorICAgICAgICAgZWxzZQorQEAgLTE0MzEsNyArMTQz MSw3IEBAIHN0YXRpYyBibG9ja190ICpFbmNvZGVBdWRpbyggZW5jb2Rlcl90ICpwX2VuYywgYmxv Y2tfdCAqcF9hb3V0X2J1ZiApCisgICAgICAgICAgICAgbWVtY3B5KHBfc3lzLT5wX2J1ZmZlciwg cF9hb3V0X2J1Zi0+cF9idWZmZXIsIGluX2J5dGVzKTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAg IGlmKCBhdmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoIHBfc3lzLT5mcmFtZSwgcF9zeXMtPnBfY29u dGV4dC0+Y2hhbm5lbHMsCisrICAgICAgICBpZiggYXZjb2RlY19maWxsX2F1ZGlvX2ZyYW1lKCBw X3N5cy0+ZnJhbWUsIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9zeXMtPnBfY29udGV4dC0+c2FtcGxlX2ZtdCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3N5cy0+cF9idWZmZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9zeXMtPmlfYnVmZmVyX291dCwK K0BAIC0xNDU3LDcgKzE0NTcsNyBAQCBzdGF0aWMgYmxvY2tfdCAqRW5jb2RlQXVkaW8oIGVuY29k ZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYgKQorICAgICBpZiggcF9hb3V0X2J1Zi0+ aV9uYl9zYW1wbGVzID4gMCApCisgICAgIHsKKyAgICAgICAgbWVtY3B5KCBwX3N5cy0+cF9idWZm ZXIgKyBidWZmZXJfZGVsYXksIHBfYW91dF9idWYtPnBfYnVmZmVyLAorLSAgICAgICAgICAgICAg IHBfYW91dF9idWYtPmlfbmJfc2FtcGxlcyAqIHBfc3lzLT5pX3NhbXBsZV9ieXRlcyAqIHBfc3lz LT5wX2NvbnRleHQtPmNoYW5uZWxzKTsKKysgICAgICAgICAgICAgICBwX2FvdXRfYnVmLT5pX25i X3NhbXBsZXMgKiBwX3N5cy0+aV9zYW1wbGVfYnl0ZXMgKiBwX2VuYy0+Zm10X291dC5hdWRpby5p X2NoYW5uZWxzKTsKKyAgICAgICAgcF9zeXMtPmlfc2FtcGxlc19kZWxheSArPSBwX2FvdXRfYnVm LT5pX25iX3NhbXBsZXM7CisgICAgIH0KKyAKKy0tIAorR2l0TGFiCisKKworRnJvbSBiOGFkODBh MjBlOWU4NDA4MmRhYzI4NDgwNzBkMjUxZmE2ODQxMmM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogPT9VVEYtOD9xP0ZyYW49QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8ZmN2bGNkZXZA ZnJlZS5mcj4KK0RhdGU6IFR1ZSwgMjMgQXByIDIwMjQgMTM6MTM6MzAgKzA3MDAKK1N1YmplY3Q6 IFtQQVRDSCAwNS8xMV0gY29kZWM6IGF2Y29kZWM6IG1hcCBBWVVWIGFzIFJBV1ZJREVPIHdpdGgg ZmZtcGVnIDYuMAorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5NTVlZjkzOTQ2N2E2Mjhl YjhkYTA4ZTBkNWVhZWZjOWEzNDg0Y2JhKQorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Zv dXJjYy5jIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMg Yi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMKK2luZGV4IDMzYzZjYWUwOWFiLi45N2Yz MTg4MjExZCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYworKysr IGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jCitAQCAtMTgyLDggKzE4MiwxMiBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNvZGVjX2ZvdXJjYyB2aWRlb19jb2RlY3NbXSA9Cisg ICAgIC8qIEFWX0NPREVDX0lEX1YyMTBYICovCisgICAgIHsgVkxDX0NPREVDX1RNViwgQVZfQ09E RUNfSURfVE1WIH0sCisgICAgIHsgVkxDX0NPREVDX1YyMTAsIEFWX0NPREVDX0lEX1YyMTAgfSwK Ky0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTQsIDUwLCAx MDAgKSAmJiBMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPj0gMTAwCisrI2lmIExJQkFWQ09ERUNf VkVSU0lPTl9NSUNSTyA+PSAxMDAKKysjIGlmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZf VkVSU0lPTl9JTlQoIDU5LCA0MiwgMTAyICkKKysgICAgeyBWTENfQ09ERUNfVlVZQSwgQVZfQ09E RUNfSURfUkFXVklERU8gfSwKKysjIGVsaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9W RVJTSU9OX0lOVCggNTQsIDUwLCAxMDAgKQorICAgICB7IFZMQ19DT0RFQ19WVVlBLCBBVl9DT0RF Q19JRF9BWVVWIH0sCisrIyBlbmRpZgorICNlbmRpZgorICAgICAvKiBBVl9DT0RFQ19JRF9EUFgg Ki8KKyAgICAgeyBWTENfQ09ERUNfTUFELCBBVl9DT0RFQ19JRF9NQUQgfSwKKy0tIAorR2l0TGFi CisKKworRnJvbSA1OGMwNTI0MGMyNmI2ZWVmNTZlN2M1YWIzNWIxNGNjZDgzNzc2NjdmIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0ZyYW49QzM9QTdvaXM9MjBDYXJ0 ZWduaWU/PSA8ZmN2bGNkZXZAZnJlZS5mcj4KK0RhdGU6IFRodSwgMTMgSnVuIDIwMjQgMTI6MjE6 NTggKzA3MDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8xMV0gYXZjb2RlYzogZW5jb2RlcjogZml4IGNo YW5uZWxfbGF5b3V0IGNvbmRpdGlvbmFscworCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMv ZW5jb2Rlci5jIHwgMTEgKysrKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2VuY29kZXIuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKK2luZGV4IDUyODQ4 ZGUwNjU4Li42YmQ1OGY1MDcxZCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9l bmNvZGVyLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKK0BAIC00Mywx MiArNDMsMTMgQEAKKyAjaW5jbHVkZSA8dmxjX2NwdS5oPgorIAorICNpbmNsdWRlIDxsaWJhdmNv ZGVjL2F2Y29kZWMuaD4KKy0jaW5jbHVkZSA8bGliYXZ1dGlsL2NoYW5uZWxfbGF5b3V0Lmg+Cisg CisgI2luY2x1ZGUgImF2Y29kZWMuaCIKKyAjaW5jbHVkZSAiYXZjb21tb24uaCIKKyAKKy0jaWYg TElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDUyLDIsNiwwLDAgKQorKyNkZWZpbmUgQVBJX0NIQU5O RUxfTEFZT1VUIChMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTIsIDIsIDYsIDAsIDEwMCkpCisr CisrI2lmIEFQSV9DSEFOTkVMX0xBWU9VVAorICMgaW5jbHVkZSA8bGliYXZ1dGlsL2NoYW5uZWxf bGF5b3V0Lmg+CisgI2VuZGlmCisgCitAQCAtMTU3LDYgKzE1OCw3IEBAIHN0cnVjdCBlbmNvZGVy X3N5c190CisgCisgCisgLyogVGFrZW4gZnJvbSBhdWRpby5jKi8KKysjaWYgQVBJX0NIQU5ORUxf TEFZT1VUCisgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHBpX2NoYW5uZWxzX21hcFtdWzJdID0KKyB7 CisgICAgIHsgQVZfQ0hfRlJPTlRfTEVGVCwgICAgICAgIEFPVVRfQ0hBTl9MRUZUIH0sCitAQCAt MTkzLDYgKzE5NSw3IEBAIHN0YXRpYyBjb25zdCB1aW50MzJfdCBjaGFubmVsX21hc2tbXVsyXSA9 IHsKKyAgICAge0FPVVRfQ0hBTlNfN18xLCBBVl9DSF9MQVlPVVRfN1BPSU5UMX0sCisgICAgIHtB T1VUX0NIQU5TXzhfMSwgQVZfQ0hfTEFZT1VUX09DVEFHT05BTH0sCisgfTsKKysjZW5kaWYKKyAK KyBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgcHBzel9lbmNfb3B0aW9uc1tdID0geworICAgICAi a2V5aW50IiwgImJmcmFtZXMiLCAidnQiLCAicW1pbiIsICJxbWF4IiwgImNvZGVjIiwgImhxIiwK K0BAIC03NDYsNyArNzQ5LDcgQEAgaW50IEluaXRWaWRlb0VuYyggdmxjX29iamVjdF90ICpwX3Ro aXMgKQorICAgICAgICAgcF9jb250ZXh0LT50aW1lX2Jhc2UubnVtID0gMTsKKyAgICAgICAgIHBf Y29udGV4dC0+dGltZV9iYXNlLmRlbiA9IHBfY29udGV4dC0+c2FtcGxlX3JhdGU7CisgICAgICAg ICBwX2NvbnRleHQtPmNoYW5uZWxzICAgICAgPSBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5u ZWxzOworLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTIsIDIsIDYsIDAsIDApCisrI2lm IEFQSV9DSEFOTkVMX0xBWU9VVAorICAgICAgICAgcF9jb250ZXh0LT5jaGFubmVsX2xheW91dCA9 IGNoYW5uZWxfbWFza1twX2NvbnRleHQtPmNoYW5uZWxzXVsxXTsKKyAKKyAgICAgICAgIC8qIFNl dHVwIENoYW5uZWwgb3JkZXJpbmcgZm9yIG11bHRpY2hhbm5lbCBhdWRpbworQEAgLTkyNSw3ICs5 MjgsOSBAQCBlcnJtc2c6CisgICAgICAgICBpZiggcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFu bmVscyA+IDIgKQorICAgICAgICAgeworICAgICAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbHMg PSAyOworKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVQKKyAgICAgICAgICAgICBwX2NvbnRleHQtPmNo YW5uZWxfbGF5b3V0ID0gY2hhbm5lbF9tYXNrW3BfY29udGV4dC0+Y2hhbm5lbHNdWzFdOworKyNl bmRpZgorIAorICAgICAgICAgICAgIC8qIENoYW5nZSBmbXRfaW4gaW4gb3JkZXIgdG8gYXNrIGZv ciBhIGNoYW5uZWxzIGNvbnZlcnNpb24gKi8KKyAgICAgICAgICAgICBwX2VuYy0+Zm10X2luLmF1 ZGlvLmlfY2hhbm5lbHMgPQorLS0gCitHaXRMYWIKKworCitGcm9tIDNkYjZlNjc3NjgwYTFhOTRl NDczZmU5ZDlmYzEyMWFmMzRjZGNmMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9 P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25pZT89IDxmY3ZsY2RldkBmcmVlLmZyPgor RGF0ZTogU2F0LCAxNyBBdWcgMjAyNCAxMToyMjozMyArMDcwMAorU3ViamVjdDogW1BBVENIIDA3 LzExXSBjb2RlYzogYXZjb2RlYzogZml4IGF1ZGlvIGNoYW5uZWxfbGF5b3V0IGNvbmRpdGlvbmFs cworCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDIzICsrKysrKysrKysr KysrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDggZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitpbmRleCBhZDhhNDBhYjRlZC4uYzc0NzU3Yzc2 YWUgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworKysrIGIvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK0BAIC00MSw4ICs0MSwxMSBAQAorICNpbmNsdWRl IDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KKyAjaW5jbHVkZSA8bGliYXZ1dGlsL21lbS5oPgorIAor LSNpbmNsdWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KKysjZGVmaW5lIEFQSV9DSEFO TkVMX0xBWU9VVCAoTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDUyLCAyLCA2LCAwLCAxMDApKQor IAorKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVQKKysjIGluY2x1ZGUgPGxpYmF2dXRpbC9jaGFubmVs X2xheW91dC5oPgorKyNlbmRpZgorIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIGRlY29k ZXJfc3lzX3QgOiBkZWNvZGVyIGRlc2NyaXB0b3IKK0BAIC01OTgsNyArNjAxLDcgQEAgc3RhdGlj IHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCAp CisgICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19jaGFubmVscyA9IHBfc3lzLT5wX2NvbnRleHQt PmNoX2xheW91dC5uYl9jaGFubmVsczsKKyAgICAgICAgIHBfc3lzLT5pX3ByZXZpb3VzX2xheW91 dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2s7CisgICAgIH0KKy0jZWxzZQor KyNlbGlmIEFQSV9DSEFOTkVMX0xBWU9VVAorICAgICBpZiggcF9zeXMtPmlfcHJldmlvdXNfY2hh bm5lbHMgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMgJiYKKyAgICAgICAgIHBfc3lzLT5p X3ByZXZpb3VzX2xheW91dCA9PSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsX2xheW91dCApCisg ICAgICAgICByZXR1cm47CitAQCAtNjEyLDE1ICs2MTUsMTkgQEAgc3RhdGljIHZvaWQgU2V0dXBP dXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAgIGNvbnN0 IHVuc2lnbmVkIGlfb3JkZXJfbWF4ID0gc2l6ZW9mKHBpX2NoYW5uZWxzX21hcCkvc2l6ZW9mKCpw aV9jaGFubmVsc19tYXApOworICAgICB1aW50MzJfdCBwaV9vcmRlcl9zcmNbaV9vcmRlcl9tYXhd OworIAorLSAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOworKyAgICBpbnQgaV9jaGFubmVsc19z cmMgPSAwLCBjaGFubmVsX2NvdW50OworKyAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNr OworICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQor LSAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrID0gcF9zeXMtPnBfY29udGV4dC0+Y2hf bGF5b3V0LnUubWFzazsKKy0gICAgaW50IGNoYW5uZWxfY291bnQgPSBwX3N5cy0+cF9jb250ZXh0 LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7CistI2Vsc2UKKy0gICAgdWludDY0X3QgY2hhbm5lbF9s YXlvdXRfbWFzayA9CisrICAgIGNoYW5uZWxfbGF5b3V0X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0 LT5jaF9sYXlvdXQudS5tYXNrOworKyAgICBjaGFubmVsX2NvdW50ID0gcF9zeXMtPnBfY29udGV4 dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOworKyNlbGlmIEFQSV9DSEFOTkVMX0xBWU9VVAorKyAg ICBjaGFubmVsX2xheW91dF9tYXNrID0KKyAgICAgICAgIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5u ZWxfbGF5b3V0ID8gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgOgorICAgICAgICAg KHVpbnQ2NF90KWF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0KCBwX3N5cy0+cF9jb250ZXh0 LT5jaGFubmVscyApOworLSAgICBpbnQgY2hhbm5lbF9jb3VudCA9IHBfc3lzLT5wX2NvbnRleHQt PmNoYW5uZWxzOworKyAgICBjaGFubmVsX2NvdW50ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5l bHM7CisrI2Vsc2UKKysgICAgY2hhbm5lbF9sYXlvdXRfbWFzayA9IE5VTEw7CisrICAgIGNoYW5u ZWxfY291bnQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsczsKKyAjZW5kaWYKKyAKKyAgICAg aWYoIGNoYW5uZWxfbGF5b3V0X21hc2sgKQorLS0gCitHaXRMYWIKKworCitGcm9tIGI1YmI5YmRh MDNhMDZmYzFjZmQ2ODJkYWNiNTcxYjY4OGI1NTU4ZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25pZT89IDxmY3ZsY2RldkBm cmVlLmZyPgorRGF0ZTogVHVlLCAyMyBBcHIgMjAyNCAxMzoxNDo1MyArMDcwMAorU3ViamVjdDog W1BBVENIIDA4LzExXSBkZW11eC9tdXg6IGF2Zm9ybWF0OiB1c2UgY2hfbGF5b3V0IGZyb20gZmZt cGVnIDUuMQorCittZXJnZXIgcGljayBmcm9tIGNvbW1pdCBhNTVlYzMyYWIzNzYwZDllZGI2ZjA1 NDgxY2QzYTk4MWFhNDI4NzhkCithbmQgZml4dXAgMTk1ZjBjOTg1OTliNTU5NTBjNDlhNjJmOThk OWQzNDk1YmUzMTBkZgorLS0tCisgbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jIHwgNCAr KysrCisgbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyAgIHwgNCArKysrCisgMiBmaWxlcyBj aGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVtdXgvYXZm b3JtYXQvZGVtdXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYworaW5kZXggM2Iz NTViYjNmYWUuLjgzMGRjMDE1N2UyIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11eC9hdmZvcm1h dC9kZW11eC5jCisrKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMKK0BAIC00MDEs NyArNDAxLDExIEBAIGludCBhdmZvcm1hdF9PcGVuRGVtdXgoIHZsY19vYmplY3RfdCAqcF90aGlz ICkKKyAgICAgICAgICAgICBlc19mb3JtYXRfSW5pdCggJmVzX2ZtdCwgQVVESU9fRVMsIGZjYyAp OworICAgICAgICAgICAgIGVzX2ZtdC5pX29yaWdpbmFsX2ZvdXJjYyA9IENvZGVjVGFnVG9Gb3Vy Y2MoIGNwLT5jb2RlY190YWcgKTsKKyAgICAgICAgICAgICBlc19mbXQuaV9iaXRyYXRlID0gY3At PmJpdF9yYXRlOworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5U KCA1OSwgMjQsIDEwMCApICYmIExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAKKysgICAg ICAgICAgICBlc19mbXQuYXVkaW8uaV9jaGFubmVscyA9IGNwLT5jaF9sYXlvdXQubmJfY2hhbm5l bHM7CisrI2Vsc2UKKyAgICAgICAgICAgICBlc19mbXQuYXVkaW8uaV9jaGFubmVscyA9IGNwLT5j aGFubmVsczsKKysjZW5kaWYKKyAgICAgICAgICAgICBlc19mbXQuYXVkaW8uaV9yYXRlID0gY3At PnNhbXBsZV9yYXRlOworICAgICAgICAgICAgIGVzX2ZtdC5hdWRpby5pX2JpdHNwZXJzYW1wbGUg PSBjcC0+Yml0c19wZXJfY29kZWRfc2FtcGxlOworICAgICAgICAgICAgIGVzX2ZtdC5hdWRpby5p X2Jsb2NrYWxpZ24gPSBjcC0+YmxvY2tfYWxpZ247CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11 eC9hdmZvcm1hdC9tdXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK2luZGV4IGM3 MDgyNzY5NTRjLi44YmY4NzM1ODg1ZiAxMDA2NDQKKy0tLSBhL21vZHVsZXMvZGVtdXgvYXZmb3Jt YXQvbXV4LmMKKysrKyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK0BAIC0yNjcsNyAr MjY3LDExIEBAIHN0YXRpYyBpbnQgQWRkU3RyZWFtKCBzb3V0X211eF90ICpwX211eCwgc291dF9p bnB1dF90ICpwX2lucHV0ICkKKyAgICAgeworICAgICBjYXNlIEFVRElPX0VTOgorICAgICAgICAg Y29kZWNwYXItPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87CisrI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU5LCAyNCwgMTAwICkgJiYgTElCQVZD T0RFQ19WRVJTSU9OX01JQ1JPID49IDEwMAorKyAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVm YXVsdCggJmNvZGVjcGFyLT5jaF9sYXlvdXQsIGZtdC0+YXVkaW8uaV9jaGFubmVscyApOworKyNl bHNlCisgICAgICAgICBjb2RlY3Bhci0+Y2hhbm5lbHMgPSBmbXQtPmF1ZGlvLmlfY2hhbm5lbHM7 CisrI2VuZGlmCisgICAgICAgICBjb2RlY3Bhci0+c2FtcGxlX3JhdGUgPSBmbXQtPmF1ZGlvLmlf cmF0ZTsKKyAgICAgICAgIHN0cmVhbS0+dGltZV9iYXNlID0gKEFWUmF0aW9uYWwpezEsIGNvZGVj cGFyLT5zYW1wbGVfcmF0ZX07CisgICAgICAgICBpZiAoZm10LT5pX2JpdHJhdGUgPT0gMCkgewor LS0gCitHaXRMYWIKKworCitGcm9tIGZhMDAxY2RhN2Y2YjIyODQzNDM4YzM5ZGZjMDc4MDUwYmI1 NGM3MmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJbGtrYSBPbGxha2thIDxpbGVv b0B2aWRlb2xhbi5vcmc+CitEYXRlOiBUdWUsIDQgSnVsIDIwMjMgMTY6NTM6NDMgKzAzMDAKK1N1 YmplY3Q6IFtQQVRDSCAwOS8xMV0gYXZjb2RlYzogYWRkIGhhbmRsaW5nIG9mIG5ldyBjaF9sYXlv dXQgaW4gYXVkaW8gZW5jb2RlcgorCitjb25kaXRpb25lZCB0byBhdmNvZGVjIHZlcnNpb24gd2hl cmUgaXMgaXQgYWRkZWQKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzQzMDJjYTU5ZGQ3 OWVmZDcyMDhhNDVhM2ZjZGM0NDM4OGZkMDNhOCkKKy0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2Rl Yy9lbmNvZGVyLmMgfCAxNSArKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9lbmNvZGVyLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitpbmRl eCA2YmQ1OGY1MDcxZC4uNzU3ZjkzYjQ2ODQgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvZW5jb2Rlci5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitA QCAtOTI3LDExICs5MjcsMTQgQEAgZXJybXNnOgorIAorICAgICAgICAgaWYoIHBfZW5jLT5mbXRf b3V0LmF1ZGlvLmlfY2hhbm5lbHMgPiAyICkKKyAgICAgICAgIHsKKysjaWYgTElCQVZDT0RFQ19W RVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysgICAgICAgICAgICBhdl9jaGFu bmVsX2xheW91dF9kZWZhdWx0KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIDIgKTsKKysjZWxzZQor ICAgICAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbHMgPSAyOworLSNpZiBBUElfQ0hBTk5FTF9M QVlPVVQKKysjIGlmIEFQSV9DSEFOTkVMX0xBWU9VVAorICAgICAgICAgICAgIHBfY29udGV4dC0+ Y2hhbm5lbF9sYXlvdXQgPSBjaGFubmVsX21hc2tbcF9jb250ZXh0LT5jaGFubmVsc11bMV07Cisr IyBlbmRpZgorICNlbmRpZgorLQorICAgICAgICAgICAgIC8qIENoYW5nZSBmbXRfaW4gaW4gb3Jk ZXIgdG8gYXNrIGZvciBhIGNoYW5uZWxzIGNvbnZlcnNpb24gKi8KKyAgICAgICAgICAgICBwX2Vu Yy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHMgPQorICAgICAgICAgICAgIHBfZW5jLT5mbXRfb3V0 LmF1ZGlvLmlfY2hhbm5lbHMgPSAyOworQEAgLTEyODgsOCArMTI5MSwxMiBAQCBzdGF0aWMgYmxv Y2tfdCAqaGFuZGxlX2RlbGF5X2J1ZmZlciggZW5jb2Rlcl90ICpwX2VuYywgZW5jb2Rlcl9zeXNf dCAqcF9zeXMsIHVucworICAgICBhdl9mcmFtZV91bnJlZiggcF9zeXMtPmZyYW1lICk7CisgICAg IHBfc3lzLT5mcmFtZS0+Zm9ybWF0ICAgICA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7 CisgICAgIHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcyA9IGxlZnRvdmVyX3NhbXBsZXMgKyBwX3N5 cy0+aV9zYW1wbGVzX2RlbGF5OworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5 OSwgOTk5LCAyNCwgMTAwKQorKyAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5KCZwX3N5cy0+ZnJh bWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dCk7CisrI2Vsc2UKKyAg ICAgcF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5u ZWxfbGF5b3V0OworICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxzID0gcF9zeXMtPnBfY29udGV4 dC0+Y2hhbm5lbHM7CisrI2VuZGlmCisgCisgICAgIHBfc3lzLT5mcmFtZS0+cHRzICAgICAgICA9 IGRhdGVfR2V0KCAmcF9zeXMtPmJ1ZmZlcl9kYXRlICkgKiBwX3N5cy0+cF9jb250ZXh0LT50aW1l X2Jhc2UuZGVuIC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT0NLX0ZSRVEg LyBwX3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UubnVtOworQEAgLTE0MTksOCArMTQyNiwxMiBA QCBzdGF0aWMgYmxvY2tfdCAqRW5jb2RlQXVkaW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3Qg KnBfYW91dF9idWYgKQorICAgICAgICAgcF9zeXMtPmZyYW1lLT5wdHMgICAgICAgID0gZGF0ZV9H ZXQoICZwX3N5cy0+YnVmZmVyX2RhdGUgKSAqIHBfc3lzLT5wX2NvbnRleHQtPnRpbWVfYmFzZS5k ZW4gLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT0NLX0ZSRVEgLyBw X3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UubnVtOworIAorKyNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyAgICAgICAgYXZfY2hhbm5lbF9sYXlv dXRfY29weSgmcF9zeXMtPmZyYW1lLT5jaF9sYXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9s YXlvdXQpOworKyNlbHNlCisgICAgICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0g cF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQ7CisgICAgICAgICBwX3N5cy0+ZnJhbWUt PmNoYW5uZWxzID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7CisrI2VuZGlmCisgCisgICAg ICAgICBjb25zdCBpbnQgaW5fYnl0ZXMgPSBwX3N5cy0+ZnJhbWUtPm5iX3NhbXBsZXMgKgorICAg ICAgICAgICAgIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMqIHBfc3lzLT5pX3NhbXBs ZV9ieXRlczsKKy0tIAorR2l0TGFiCisKKworRnJvbSBiYjYyOTg5Y2NjMTI4NjZkMzA4ZTZmMzhk YzE1MTNkZTljYjFjNmRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSWxra2EgT2xs YWtrYSA8aWxlb29AdmlkZW9sYW4ub3JnPgorRGF0ZTogVHVlLCA0IEp1bCAyMDIzIDE2OjU1OjI4 ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMTFdIGF2Y29kZWM6IHVzZSBjaF9sYXlvdXQgZm9y IGNoYW5uZWwgbGF5b3V0IGluIGF1ZGlvCisgZW5jb2RlcgorCitjaGFubmVscyBhbmQgY2hhbm5l bF9sYXlvdXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBGRk1QRUcgNS4xIGFuZCB3aWxsIGJlIHJl bW92ZWQgZXZlbnR1YWxseQorCithbHNvIGFsd2F5cyBjcmVhdGUgdGhlIG1hcHBpbmcsIGFzIGNo X2xheW91dCBpcyBhbHdheXMgdGhlcmUKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYjcz ZGM4ODQxZDk5OWM2YmU5ZGU3MThjZDJjZDNhZWIxMzI3OTc5MikKKy0tLQorIG1vZHVsZXMvY29k ZWMvYXZjb2RlYy9lbmNvZGVyLmMgfCA1MyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2VuY29kZXIuYworaW5kZXggNzU3ZjkzYjQ2ODQuLmFlNzQ2Yzk5ZmM4IDEw MDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworKysrIGIvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworQEAgLTE4Myw2ICsxODMsNyBAQCBzdGF0aWMgY29u c3QgdWludDY0X3QgcGlfY2hhbm5lbHNfbWFwW11bMl0gPQorICAgICB7IEFWX0NIX1NURVJFT19S SUdIVCwgICAgICAwIH0sCisgfTsKKyAKKysjIGlmICFMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0so NTksIDk5OSwgOTk5LCAyNCwgMTAwKQorIHN0YXRpYyBjb25zdCB1aW50MzJfdCBjaGFubmVsX21h c2tbXVsyXSA9IHsKKyAgICAgezAsMH0sCisgICAgIHtBT1VUX0NIQU5fQ0VOVEVSLCBBVl9DSF9M QVlPVVRfTU9OT30sCitAQCAtMTk1LDYgKzE5Niw3IEBAIHN0YXRpYyBjb25zdCB1aW50MzJfdCBj aGFubmVsX21hc2tbXVsyXSA9IHsKKyAgICAge0FPVVRfQ0hBTlNfN18xLCBBVl9DSF9MQVlPVVRf N1BPSU5UMX0sCisgICAgIHtBT1VUX0NIQU5TXzhfMSwgQVZfQ0hfTEFZT1VUX09DVEFHT05BTH0s CisgfTsKKysjIGVuZGlmCisgI2VuZGlmCisgCisgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHBw c3pfZW5jX29wdGlvbnNbXSA9IHsKK0BAIC03NDgsNDkgKzc1MCwzNiBAQCBpbnQgSW5pdFZpZGVv RW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCisgICAgICAgICBkYXRlX1NldCggJnBfc3lzLT5i dWZmZXJfZGF0ZSwgQVZfTk9QVFNfVkFMVUUgKTsKKyAgICAgICAgIHBfY29udGV4dC0+dGltZV9i YXNlLm51bSA9IDE7CisgICAgICAgICBwX2NvbnRleHQtPnRpbWVfYmFzZS5kZW4gPSBwX2NvbnRl eHQtPnNhbXBsZV9yYXRlOworLSAgICAgICAgcF9jb250ZXh0LT5jaGFubmVscyAgICAgID0gcF9l bmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVsczsKKy0jaWYgQVBJX0NIQU5ORUxfTEFZT1VUCist ICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ID0gY2hhbm5lbF9tYXNrW3BfY29udGV4 dC0+Y2hhbm5lbHNdWzFdOworIAorLSAgICAgICAgLyogU2V0dXAgQ2hhbm5lbCBvcmRlcmluZyBm b3IgbXVsdGljaGFubmVsIGF1ZGlvCisrICAgICAgICAvKiBTZXR1cCBDaGFubmVsIG9yZGVyaW5n IGZvciBhdWRpbworICAgICAgICAgICogYXMgVkxDIGNoYW5uZWwgb3JkZXIgaXNuJ3Qgc2FtZSBh cyBsaWJhdmNvZGVjIGV4cGVjdHMKKyAgICAgICAgICAqLworIAorICAgICAgICAgcF9zeXMtPmlf Y2hhbm5lbHNfdG9fcmVvcmRlciA9IDA7CisgCistICAgICAgICAvKiBTcGVjaWZpZWQgb3JkZXIK KysgICAgICAgIC8qIENyZWF0ZSBjaGFubmVsIGxheW91dCBmb3IgYXZjb2RlYworICAgICAgICAg ICogQ29waWVkIGZyb20gYXVkaW8uYworICAgICAgICAgICovCistICAgICAgICBjb25zdCB1bnNp Z25lZCBpX29yZGVyX21heCA9IDggKiBzaXplb2YocF9jb250ZXh0LT5jaGFubmVsX2xheW91dCk7 CistICAgICAgICB1aW50MzJfdCBwaV9vcmRlcl9kc3RbQU9VVF9DSEFOX01BWF0gPSB7IH07Cisr I2lmIEFQSV9DSEFOTkVMX0xBWU9VVAorKyAgICAgICAgdWludDMyX3QgcGlfb3JkZXJfZHN0W0FP VVRfQ0hBTl9NQVhdID0geyAwIH07CisgICAgICAgICB1aW50MzJfdCBvcmRlcl9tYXNrID0gMDsK KyAgICAgICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDA7CistCistICAgICAgICBpZiggcF9jb250 ZXh0LT5jaGFubmVsX2xheW91dCApCistICAgICAgICB7CistICAgICAgICAgICAgbXNnX0RiZygg cF9lbmMsICJDcmVhdGluZyBjaGFubmVsIG9yZGVyIGZvciByZW9yZGVyaW5nIik7CistICAgICAg ICAgICAgZm9yKCB1bnNpZ25lZCBpID0gMDsgaSA8IHNpemVvZihwaV9jaGFubmVsc19tYXApL3Np emVvZigqcGlfY2hhbm5lbHNfbWFwKTsgaSsrICkKKy0gICAgICAgICAgICB7CistICAgICAgICAg ICAgICAgIGlmKCBwX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ICYgcGlfY2hhbm5lbHNfbWFwW2ld WzBdICkKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgbXNnX0RiZygg cF9lbmMsICIlZCAlIlBSSXg2NCIgbWFwcGVkIHRvICUiUFJJeDY0IiIsIGlfY2hhbm5lbHNfc3Jj LCBwaV9jaGFubmVsc19tYXBbaV1bMF0sIHBpX2NoYW5uZWxzX21hcFtpXVsxXSk7CistICAgICAg ICAgICAgICAgICAgICBwaV9vcmRlcl9kc3RbaV9jaGFubmVsc19zcmMrK10gPSBwaV9jaGFubmVs c19tYXBbaV1bMV07CistICAgICAgICAgICAgICAgICAgICBvcmRlcl9tYXNrIHw9IHBpX2NoYW5u ZWxzX21hcFtpXVsxXTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIH0KKy0gICAg ICAgIH0KKy0gICAgICAgIGVsc2UKKysgICAgICAgIG1zZ19EYmcoIHBfZW5jLCAiQ3JlYXRpbmcg Y2hhbm5lbCBvcmRlciBmb3IgcmVvcmRlcmluZyIpOworKyMgaWYgTElCQVZDT0RFQ19WRVJTSU9O X0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0 X2RlZmF1bHQoICZwX2NvbnRleHQtPmNoX2xheW91dCwgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9j aGFubmVscyApOworKyAgICAgICAgdWludDY0X3QgY2hhbm5lbF9tYXNrID0gcF9jb250ZXh0LT5j aF9sYXlvdXQudS5tYXNrOworKyMgZWxzZQorKyAgICAgICAgcF9jb250ZXh0LT5jaGFubmVscyA9 IHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHM7CisrICAgICAgICBwX2NvbnRleHQtPmNo YW5uZWxfbGF5b3V0ID0gY2hhbm5lbF9tYXNrW3BfY29udGV4dC0+Y2hhbm5lbHNdWzFdOworKyAg ICAgICAgdWludDY0X3QgY2hhbm5lbF9tYXNrID0gcF9jb250ZXh0LT5jaGFubmVsX2xheW91dDsK KysjIGVuZGlmCisrICAgICAgICBmb3IoIHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZW9mKHBpX2No YW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9jaGFubmVsc19tYXApOyBpKysgKQorICAgICAgICAgewor LSAgICAgICAgICAgIG1zZ19EYmcoIHBfZW5jLCAiQ3JlYXRpbmcgZGVmYXVsdCBjaGFubmVsIG9y ZGVyIGZvciByZW9yZGVyaW5nIik7CistICAgICAgICAgICAgLyogQ3JlYXRlIGRlZmF1bHQgb3Jk ZXIgICovCistICAgICAgICAgICAgZm9yKCB1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBfX01JTigg aV9vcmRlcl9tYXgsICh1bnNpZ25lZClwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscyApOyBpKysg KQorKyAgICAgICAgICAgIGlmKCBjaGFubmVsX21hc2sgJiBwaV9jaGFubmVsc19tYXBbaV1bMF0g KQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgaWYoIGkgPCBzaXplb2YocGlfY2hh bm5lbHNfbWFwKS9zaXplb2YoKnBpX2NoYW5uZWxzX21hcCkgKQorLSAgICAgICAgICAgICAgICB7 CistICAgICAgICAgICAgICAgICAgICBtc2dfRGJnKCBwX2VuYywgIiVkIGNoYW5uZWwgaXMgJSJQ Ukl4NjQiIiwgaV9jaGFubmVsc19zcmMsIHBpX2NoYW5uZWxzX21hcFtpXVsxXSk7CistICAgICAg ICAgICAgICAgICAgICBwaV9vcmRlcl9kc3RbaV9jaGFubmVsc19zcmMrK10gPSBwaV9jaGFubmVs c19tYXBbaV1bMV07CistICAgICAgICAgICAgICAgICAgICBvcmRlcl9tYXNrIHw9IHBpX2NoYW5u ZWxzX21hcFtpXVsxXTsKKy0gICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICBtc2df RGJnKCBwX2VuYywgIiVkICUiUFJJeDY0IiBtYXBwZWQgdG8gJSJQUkl4NjQiIiwgaV9jaGFubmVs c19zcmMsIHBpX2NoYW5uZWxzX21hcFtpXVswXSwgcGlfY2hhbm5lbHNfbWFwW2ldWzFdKTsKKysg ICAgICAgICAgICAgICAgcGlfb3JkZXJfZHN0W2lfY2hhbm5lbHNfc3JjKytdID0gcGlfY2hhbm5l bHNfbWFwW2ldWzFdOworKyAgICAgICAgICAgICAgICBvcmRlcl9tYXNrIHw9IHBpX2NoYW5uZWxz X21hcFtpXVsxXTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgICAgICBpZiggaV9j aGFubmVsc19zcmMgIT0gcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyApCitAQCAtNzk5 LDYgKzc4OCw4IEBAIGludCBJbml0VmlkZW9FbmMoIHZsY19vYmplY3RfdCAqcF90aGlzICkKKyAg ICAgICAgIHBfc3lzLT5pX2NoYW5uZWxzX3RvX3Jlb3JkZXIgPQorICAgICAgICAgICAgIGFvdXRf Q2hlY2tDaGFubmVsUmVvcmRlciggTlVMTCwgcGlfb3JkZXJfZHN0LCBvcmRlcl9tYXNrLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9zeXMtPnBpX3Jlb3JkZXJfbGF5 b3V0ICk7CisrI2Vsc2UKKysgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbHMgPSBwX2VuYy0+Zm10 X291dC5hdWRpby5pX2NoYW5uZWxzOworICNlbmRpZgorIAorICAgICAgICAgaWYgKCBwX2VuYy0+ Zm10X291dC5pX2NvZGVjID09IFZMQ19DT0RFQ19NUDRBICkKKy0tIAorR2l0TGFiCisKKworRnJv bSBlMDIwZjlhYmIzMTgwOTU4NGUzM2Q3NDA1OTNkNmFlNWExOTA3NzFkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0ZyYW49QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8 ZmN2bGNkZXZAZnJlZS5mcj4KK0RhdGU6IE1vbiwgMTIgQXVnIDIwMjQgMTk6MzI6NDIgKzA3MDAK K1N1YmplY3Q6IFtQQVRDSCAxMS8xMV0gY29kZWM6IGF2Y29kZWM6IGJ5cGFzcyByZW1vdmVkIGRl ZmluZSBmb3IgSW50ZWwKKyB3b3JrYXJvdW5kcworCithZGFwdGVkIGZyb20gY2hlcnJ5IHBpY2tl ZCBjb21taXQgMTI4MDcyOGFkMzA1ZjAwY2ViYTM0OTFjZTExYmY2NjEwNzAxN2E2YworLS0tCisg bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYyB8IDQgKysrKworIG1vZHVsZXMvY29kZWMv YXZjb2RlYy9keHZhMi5jICAgfCA0ICsrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9u cygrKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYyBiL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMKK2luZGV4IGUxNTYwYTkzMTJjLi41MjYwNjI4 MzY0ZiAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMKKysrKyBi L21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMKK0BAIC01NSw2ICs1NSwxMCBAQAorICNk ZWZpbmUgRDNEX0RlY29kZXJTdXJmYWNlICBJRDNEMTFWaWRlb0RlY29kZXJPdXRwdXRWaWV3Cisg I2luY2x1ZGUgImRpcmVjdHhfdmEuaCIKKyAKKysjaWZuZGVmIEZGX0RYVkEyX1dPUktBUk9VTkRf SU5URUxfQ0xFQVJWSURFTworKyMgZGVmaW5lIEZGX0RYVkEyX1dPUktBUk9VTkRfSU5URUxfQ0xF QVJWSURFTyAyIC8vIG1vdmVkIHRvIGxpYmF2Y29kZWMvZHh2YTJfaW50ZXJuYWwuaCA6LworKyNl bmRpZgorKworIHN0YXRpYyBpbnQgT3Blbih2bGNfdmFfdCAqLCBBVkNvZGVjQ29udGV4dCAqLCBj b25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKiwgZW51bSBQaXhlbEZvcm1hdCwKKyAgICAgICAgICAg ICAgICAgY29uc3QgZXNfZm9ybWF0X3QgKiwgcGljdHVyZV9zeXNfdCAqcF9zeXMpOworIHN0YXRp YyB2b2lkIENsb3NlKHZsY192YV90ICosIHZvaWQgKiopOworZGlmZiAtLWdpdCBhL21vZHVsZXMv Y29kZWMvYXZjb2RlYy9keHZhMi5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2R4dmEyLmMKK2lu ZGV4IDJlNjgwOWEwNTQxLi4wMzdhZDdkNDQ4OCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9keHZhMi5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZHh2YTIuYworQEAg LTQzLDYgKzQzLDEwIEBACisgI2RlZmluZSBEM0RfRGVjb2RlclN1cmZhY2UgIElEaXJlY3QzRFN1 cmZhY2U5CisgI2luY2x1ZGUgImRpcmVjdHhfdmEuaCIKKyAKKysjaWZuZGVmIEZGX0RYVkEyX1dP UktBUk9VTkRfSU5URUxfQ0xFQVJWSURFTworKyMgZGVmaW5lIEZGX0RYVkEyX1dPUktBUk9VTkRf SU5URUxfQ0xFQVJWSURFTyAyIC8vIG1vdmVkIHRvIGxpYmF2Y29kZWMvZHh2YTJfaW50ZXJuYWwu aCA6LworKyNlbmRpZgorKworIHN0YXRpYyBpbnQgT3Blbih2bGNfdmFfdCAqLCBBVkNvZGVjQ29u dGV4dCAqLCBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKiwgZW51bSBQaXhlbEZvcm1hdCwKKyAg ICAgICAgICAgICAgICAgY29uc3QgZXNfZm9ybWF0X3QgKiwgcGljdHVyZV9zeXNfdCAqcF9zeXMp OworIHN0YXRpYyB2b2lkIENsb3NlKHZsY192YV90ICosIHZvaWQgKiopOworLS0gCitHaXRMYWIK KwoKZGlmZiAtLWdpdCBhLzYxNjgucGF0Y2ggYi82MTY4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmZkY2M4YzEKLS0tIC9kZXYvbnVsbAorKysgYi82MTY4LnBhdGNo CkBAIC0wLDAgKzEsODIgQEAKK0Zyb20gYTYxOGUzMWNmMjA5MTY4YWU0MjBlOTU3NTA3MzRhMzcz NTk5NjllMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9GcmFuPUMz PUE3b2lzPTIwQ2FydGVnbmllPz0gPGZjdmxjZGV2QGZyZWUuZnI+CitEYXRlOiBTdW4sIDcgSnVs IDIwMjQgMTE6MTQ6MDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbXV4OiBhdmZvcm1hdDogZml4 IGF2aW8gY2FsbGJhY2tzIHNpZ25hdHVyZSB3aXRoIGZmbXBlZyA2LjEKKworQVBJIHNpZ25hdHVy ZSBjaGFuZ2VzIGludHJvZHVjZWQgZGVwZW5kaW5nIG9uIGEgcG9zaXRpdmUgZGVmaW5lLAordGhl biByZW1vdmVkIGxhdGVyLCBtYWtpbmcgaXQgYnJlYWsgcHJpb3Igb3IgcG9zdCByZW1vdmFsLi4u CisKKyhhZGFwdGVkIGZyb20gY29tbWl0IDUwM2MwNGZhZDkyMzk0MjBiZTI2ZDY3YWFiNGQ1ZjYz YzUzZWI0ZjcpCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0Lmgg fCAgMyArKysKKyBtb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jICAgICAgICAgICAgfCAxOCAr KysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKykKKwor ZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCBiL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAoraW5kZXggOWQxNmIzZGM0N2Q5 Li41NjFhZDgzZjk5ZjkgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21t b25fY29tcGF0LmgKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQu aAorQEAgLTc3LDYgKzc3LDkgQEAKKyAjaWZuZGVmICBGRl9NQVhfQl9GUkFNRVMKKyAjIGRlZmlu ZSAgRkZfTUFYX0JfRlJBTUVTIDE2IC8vIEZJWE1FOiByZW1vdmUgdGhpcworICNlbmRpZgorKyNp Zm5kZWYgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09OU1QgLy8gcmVtb3ZlZCBpbiBmZm1wZWcgNwor KyMgZGVmaW5lIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUIChMSUJBVkZPUk1BVF9WRVJTSU9O X01BSk9SIDwgNjEpCisrI2VuZGlmCisgCisgI2VuZGlmIC8qIEhBVkVfTElCQVZDT0RFQ19BVkNP REVDX0ggKi8KKyAKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jIGIv bW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworaW5kZXggOGJmODczNTg4NWY1Li4wMzNhODdi ZGFhYWQgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCisrKysgYi9t b2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitAQCAtNzQsMTEgKzc0LDIwIEBAIHN0YXRpYyBp bnQgQWRkU3RyZWFtKCBzb3V0X211eF90ICosIHNvdXRfaW5wdXRfdCAqICk7Cisgc3RhdGljIHZv aWQgRGVsU3RyZWFtKCBzb3V0X211eF90ICosIHNvdXRfaW5wdXRfdCAqICk7Cisgc3RhdGljIGlu dCBNdXggICAgICAoIHNvdXRfbXV4X3QgKiApOworIAorKyNpZiBGRl9BUElfQVZJT19XUklURV9O T05DT05TVAorIHN0YXRpYyBpbnQgSU9Xcml0ZSggdm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYs IGludCBidWZfc2l6ZSApOworKyNlbHNlCisrc3RhdGljIGludCBJT1dyaXRlKCB2b2lkICpvcGFx dWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICk7CisrI2VuZGlmCisgc3RhdGlj IGludDY0X3QgSU9TZWVrKCB2b2lkICpvcGFxdWUsIGludDY0X3Qgb2Zmc2V0LCBpbnQgd2hlbmNl ICk7CisgI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkK KysjIGlmIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUCisgc3RhdGljIGludCBJT1dyaXRlVHlw ZWQodm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlbnVtIEFWSU9EYXRhTWFya2VyVHlwZSB0eXBlLCBpbnQ2NF90 IHRpbWUpOworKyMgZWxzZQorK2ludCBJT1dyaXRlVHlwZWQodm9pZCAqb3BhcXVlLCBjb25zdCB1 aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKKysgICAgICAgICAgICAgICAgIGVudW0gQVZJT0Rh dGFNYXJrZXJUeXBlIHR5cGUsIGludDY0X3QgdGltZSk7CisrIyBlbmRpZgorICNlbmRpZgorIAor IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgorQEAgLTQxMSw4ICs0MjAsMTMgQEAgc3RhdGljIGludCBN dXhCbG9jayggc291dF9tdXhfdCAqcF9tdXgsIHNvdXRfaW5wdXRfdCAqcF9pbnB1dCApCisgfQor IAorICNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCisr IyBpZiBGRl9BUElfQVZJT19XUklURV9OT05DT05TVAorIGludCBJT1dyaXRlVHlwZWQodm9pZCAq b3BhcXVlLCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBlbnVtIEFWSU9EYXRhTWFya2VyVHlwZSB0eXBlLCBpbnQ2NF90IHRpbWUpCisr IyBlbHNlCisraW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1 ZiwgaW50IGJ1Zl9zaXplLAorKyAgICAgICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5 cGUgdHlwZSwgaW50NjRfdCB0aW1lKQorKyMgZW5kaWYKKyB7CisgICAgIFZMQ19VTlVTRUQodGlt ZSk7CisgCitAQCAtNTEyLDcgKzUyNiwxMSBAQCBzdGF0aWMgaW50IENvbnRyb2woIHNvdXRfbXV4 X3QgKnBfbXV4LCBpbnQgaV9xdWVyeSwgdmFfbGlzdCBhcmdzICkKKyAvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKyAgKiBJL08gd3JhcHBlcnMgZm9yIGxpYmF2Zm9ybWF0CisgICoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLworKyNpZiBGRl9BUElfQVZJT19XUklURV9OT05DT05TVAorIHN0YXRpYyBpbnQgSU9X cml0ZSggdm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSApCisrI2Vsc2UK KytzdGF0aWMgaW50IElPV3JpdGUoIHZvaWQgKm9wYXF1ZSwgY29uc3QgdWludDhfdCAqYnVmLCBp bnQgYnVmX3NpemUgKQorKyNlbmRpZgorIHsKKyAgICAgc291dF9tdXhfdCAqcF9tdXggPSBvcGFx dWU7CisgICAgIHNvdXRfbXV4X3N5c190ICpwX3N5cyA9IHBfbXV4LT5wX3N5czsKKy0tIAorR2l0 TGFiCisKCmRpZmYgLS1naXQgYS82MjczLnBhdGNoIGIvNjI3My5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDllZTUwCi0tLSAvZGV2L251bGwKKysrIGIvNjI3My5w YXRjaApAQCAtMCwwICsxLDE0MzAgQEAKK0Zyb20gOGZlZjgzNzMxYTZiNzMyNGZmZDAzOTMzMjcy ZmNmZDliMDhhMmNiMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXZlIExob21t ZSA8cm9idXg0QHljYmNyLnh5ej4KK0RhdGU6IFRodSwgNyBOb3YgMjAyNCAwNzoyMDo1NyArMDEw MAorU3ViamVjdDogW1BBVENIIDAxLzE1XSBhdmNvbW1vbjogcmVuYW1lIExJQkFWVVRJTF9WRVJT SU9OX0NIRUNLIHRvCisgTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLCisKK1RoZSBMSUJBVlVUSUxf VkVSU0lPTl9DSEVDSyBmb3JtIHdpbGwgYmUgZm9yIGNoZWNrcyBhbHNvIGRvbmUgaW4gNC4wLgor CitObyBmdW5jdGlvbmFsIGNoYW5nZXMuCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVk aW8uYyAgICAgICAgICAgfCAyICstCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2Nv bXBhdC5oIHwgNiArKystLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgICAgICAg ICAgfCAyICstCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyAgICAgICAgIHwgMiAr LQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy92YS5jICAgICAgICAgICAgICB8IDIgKy0KKyBtb2R1 bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyAgICAgICAgICAgfCA2ICsrKy0tLQorIDYgZmlsZXMg Y2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9h dWRpby5jCitpbmRleCBjNzQ3NTdjNzZhZS4uNDQzMzVlYzNjY2UgMTAwNjQ0CistLS0gYS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1 ZGlvLmMKK0BAIC00MSw3ICs0MSw3IEBACisgI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5o PgorICNpbmNsdWRlIDxsaWJhdnV0aWwvbWVtLmg+CisgCistI2RlZmluZSBBUElfQ0hBTk5FTF9M QVlPVVQgKExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMiwgNiwgMCwgMTAwKSkKKysjZGVm aW5lIEFQSV9DSEFOTkVMX0xBWU9VVCAoTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMiwg NiwgMCwgMTAwKSkKKyAKKyAjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCisgIyBpbmNsdWRlIDxsaWJh dnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXZjb21tb25fY29tcGF0LmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29t cGF0LmgKK2luZGV4IDU2MWFkODNmOTlmLi5iYjJiOWFlMDNlNSAxMDA2NDQKKy0tLSBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorKysrIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitAQCAtODYsMTUgKzg2LDE1IEBACisgI2lmZGVmIEhB VkVfTElCQVZVVElMX0FWVVRJTF9ICisgIyBpbmNsdWRlIDxsaWJhdnV0aWwvYXZ1dGlsLmg+Cisg CistLyogTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0sgY2hlY2tzIGZvciB0aGUgcmlnaHQgdmVyc2lv biBvZiBsaWJhdiBhbmQgRkZtcGVnCisrLyogTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLIGNoZWNr cyBmb3IgdGhlIHJpZ2h0IHZlcnNpb24gb2YgbGliYXYgYW5kIEZGbXBlZworICAqIGEgaXMgdGhl IG1ham9yIHZlcnNpb24KKyAgKiBiIGFuZCBjIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lvbnMg b2YgbGliYXYKKyAgKiBkIGFuZCBlIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lvbnMgb2YgRkZt cGVnICovCistI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggYSwgYiwgYywgZCwgZSAp IFwKKysjZGVmaW5lIExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyggYSwgYiwgYywgZCwgZSApIFwK KyAgICAgKCAoTElCQVZVVElMX1ZFUlNJT05fTUlDUk8gPCAgMTAwICYmIExJQkFWVVRJTF9WRVJT SU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgYiwgYyApICkgfHwgXAorICAgICAgIChMSUJB VlVUSUxfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFW X1ZFUlNJT05fSU5UKCBhLCBkLCBlICkgKSApCisgCistI2lmICFMSUJBVlVUSUxfVkVSU0lPTl9D SEVDSyggNTIsIDExLCAwLCAzMiwgMTAwICkKKysjaWYgIUxJQkFWX1VUSUxfVkVSU0lPTl9DSEVD SyggNTIsIDExLCAwLCAzMiwgMTAwICkKKyAjICAgZGVmaW5lIEFWX1BJWF9GTVRfRkxBR19IV0FD Q0VMICBQSVhfRk1UX0hXQUNDRUwKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvY2hyb21hLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKK2lu ZGV4IGNiOTYzNGRiNTk3Li5kYTIwYmNiMTBiMyAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9jaHJvbWEuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jCitA QCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKKyAgICAge1ZMQ19DT0RFQ19H QlJfUExBTkFSXzE2QiwgQVZfUElYX0ZNVF9HQlJQMTZCRSwgMCwgMCwgMCB9LAorIAorICAgICAv KiBYWVogKi8KKy0jaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTIsIDEwLCAwLCAyNSwgMTAw KQorKyNpZiBMSUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0soNTIsIDEwLCAwLCAyNSwgMTAwKQorICAg ICB7VkxDX0NPREVDX1hZWjEyLCBBVl9QSVhfRk1UX1hZWjEyLCAweGZmZjAsIDB4ZmZmMCwgMHhm ZmYwfSwKKyAjZW5kaWYKKyAgICAgeyAwLCAwLCAwLCAwLCAwIH0KK2RpZmYgLS1naXQgYS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29k ZXIuYworaW5kZXggYWU3NDZjOTlmYzguLmM5YTM0ZDhmMGRhIDEwMDY0NAorLS0tIGEvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Vu Y29kZXIuYworQEAgLTQ3LDcgKzQ3LDcgQEAKKyAjaW5jbHVkZSAiYXZjb2RlYy5oIgorICNpbmNs dWRlICJhdmNvbW1vbi5oIgorIAorLSNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZT1VUIChMSUJBVlVU SUxfVkVSU0lPTl9DSEVDSyggNTIsIDIsIDYsIDAsIDEwMCkpCisrI2RlZmluZSBBUElfQ0hBTk5F TF9MQVlPVVQgKExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyggNTIsIDIsIDYsIDAsIDEwMCkpCisg CisgI2lmIEFQSV9DSEFOTkVMX0xBWU9VVAorICMgaW5jbHVkZSA8bGliYXZ1dGlsL2NoYW5uZWxf bGF5b3V0Lmg+CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhLmMgYi9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvdmEuYworaW5kZXggMGZlYjAzYjk3NGYuLjA2ZGU1NGRkY2YwIDEw MDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhLmMKKysrKyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy92YS5jCitAQCAtNTgsNyArNTgsNyBAQCB2bGNfZm91cmNjX3QgdmxjX3ZhX0dl dENocm9tYShlbnVtIFBpeGVsRm9ybWF0IGh3Zm10LCBlbnVtIFBpeGVsRm9ybWF0IHN3Zm10KQor ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBicmVhazsKKyAKKy0jaWYgTElCQVZVVElMX1ZF UlNJT05fQ0hFQ0soNTQsIDEzLCAxLCAyNCwgMTAwKQorKyNpZiBMSUJBVl9VVElMX1ZFUlNJT05f Q0hFQ0soNTQsIDEzLCAxLCAyNCwgMTAwKQorICAgICAgICAgY2FzZSBBVl9QSVhfRk1UX0QzRDEx VkFfVkxEOgorICAgICAgICAgICAgIHN3aXRjaCAoc3dmbXQpCisgICAgICAgICAgICAgeworZGlm ZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL3ZpZGVvLmMKK2luZGV4IDhjODkyZGQzZjQ4Li5kZWVmZDMwNzZhOSAxMDA2NDQKKy0t LSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvdmlkZW8uYworQEAgLTI1NywxMiArMjU3LDEyIEBAIHN0YXRpYyBpbnQgbGF2Y19HZXRW aWRlb0Zvcm1hdChkZWNvZGVyX3QgKmRlYywgdmlkZW9fZm9ybWF0X3QgKnJlc3RyaWN0IGZtdCwK KyAgICAgICAgIGNhc2UgQVZDT0xfVFJDX0JUMjAyMF8xMjoKKyAgICAgICAgICAgICBmbXQtPnRy YW5zZmVyID0gVFJBTlNGRVJfRlVOQ19CVDIwMjA7CisgICAgICAgICAgICAgYnJlYWs7CistI2lm IExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1NSwgMTQsIDAsIDMxLCAxMDApCisrI2lmIExJQkFW X1VUSUxfVkVSU0lPTl9DSEVDSyggNTUsIDE0LCAwLCAzMSwgMTAwKQorICAgICAgICAgY2FzZSBB VkNPTF9UUkNfQVJJQl9TVERfQjY3OgorICAgICAgICAgICAgIGZtdC0+dHJhbnNmZXIgPSBUUkFO U0ZFUl9GVU5DX0FSSUJfQjY3OworICAgICAgICAgICAgIGJyZWFrOworICNlbmRpZgorLSNpZiBM SUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTUsIDE3LCAwLCAzNywgMTAwKQorKyNpZiBMSUJBVl9V VElMX1ZFUlNJT05fQ0hFQ0soIDU1LCAxNywgMCwgMzcsIDEwMCkKKyAgICAgICAgIGNhc2UgQVZD T0xfVFJDX1NNUFRFMjA4NDoKKyAgICAgICAgICAgICBmbXQtPnRyYW5zZmVyID0gVFJBTlNGRVJf RlVOQ19TTVBURV9TVDIwODQ7CisgICAgICAgICAgICAgYnJlYWs7CitAQCAtNjg3LDcgKzY4Nyw3 IEBAIHN0YXRpYyBpbnQgZmZtcGVnX09wZW5WYShkZWNvZGVyX3QgKnBfZGVjLCBBVkNvZGVjQ29u dGV4dCAqcF9jb250ZXh0LAorIHN0YXRpYyBjb25zdCBlbnVtIFBpeGVsRm9ybWF0IGh3Zm10c1td ID0KKyB7CisgI2lmZGVmIF9XSU4zMgorLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NCwg MTMsIDEsIDI0LCAxMDApCisrI2lmIExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyg1NCwgMTMsIDEs IDI0LCAxMDApCisgICAgIEFWX1BJWF9GTVRfRDNEMTFWQV9WTEQsCisgI2VuZGlmCisgICAgIEFW X1BJWF9GTVRfRFhWQTJfVkxELAorLS0gCitHaXRMYWIKKworCitGcm9tIDVlZmFjYTM5M2I3Mzg4 ZDYyOWJiYTkyMDEyN2ViNTQ2NTMyNWM0MzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRlOiBXZWQsIDE5IEp1biAyMDI0 IDEzOjU2OjMxICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDIvMTVdIGF2Y29tbW9uOiB1c2UgYSBz cGVjaWZpYyBtYWNybyB0byBjaGVjayB0aGUgRkZtcGVnCisgbGliYXZ1dGlsIHZlcnNpb24KKwor VGhpcyBtYWNybyBkb2Vzbid0IGNoZWNrIGZvciBsaWJhdiB3aGljaCBpcyBhc3N1bWVkIHRvIG5v dCBoYXZlIHRvIHJlbGV2YW50Citjb2RlLiBUaGlzIGlzIHRoZSBzYW1lIG1hY3JvIG5hbWUgdXNl ZCBpbiBWTEMgNC4wLgorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBh dC5oIHwgNiArKysrKy0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgICAgICAgICAg fCA4ICsrKystLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgICAgICAgICAgIHwg NyArKysrLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBh dC5oIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitpbmRleCBiYjJi OWFlMDNlNS4uNWJhZGU5M2IzYzUgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXZjb21tb25fY29tcGF0LmgKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9j b21wYXQuaAorQEAgLTg2LDcgKzg2LDExIEBACisgI2lmZGVmIEhBVkVfTElCQVZVVElMX0FWVVRJ TF9ICisgIyBpbmNsdWRlIDxsaWJhdnV0aWwvYXZ1dGlsLmg+CisgCistLyogTElCQVZfVVRJTF9W RVJTSU9OX0NIRUNLIGNoZWNrcyBmb3IgdGhlIHJpZ2h0IHZlcnNpb24gb2YgbGliYXYgYW5kIEZG bXBlZworKy8qIGNoZWNrIHRoZSBGRm1wZWcgbGliYXZ1dGlsIHZlcnNpb24gKi8KKysjZGVmaW5l IExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCBhLCBkLCBlICkgXAorKyAgICAoTElCQVZVVElMX1ZF UlNJT05fTUlDUk8gPj0gMTAwICYmIExJQkFWVVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9O X0lOVCggYSwgZCwgZSApICkKKysKKysvKiBMSUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0sgY2hlY2tz IGZvciB0aGUgcmlnaHQgbGliYXZ1dGlsIHZlcnNpb24gb2YgbGliYXYgYW5kIEZGbXBlZworICAq IGEgaXMgdGhlIG1ham9yIHZlcnNpb24KKyAgKiBiIGFuZCBjIHRoZSBtaW5vciBhbmQgbWljcm8g dmVyc2lvbnMgb2YgbGliYXYKKyAgKiBkIGFuZCBlIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lv bnMgb2YgRkZtcGVnICovCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9t YS5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jCitpbmRleCBkYTIwYmNiMTBiMy4u MTU2ZmIwYmVlYzggMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMK KysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYworQEAgLTg2LDcgKzg2LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdAorICAgICB7VkxDX0NPREVDX0k0MjBfOUIsIEFWX1BJWF9GTVRf WVVWNDIwUDlCRSwgMCwgMCwgMCB9LAorICAgICB7VkxDX0NPREVDX0k0MjBfMTBMLCBBVl9QSVhf Rk1UX1lVVjQyMFAxMExFLCAwLCAwLCAwIH0sCisgICAgIHtWTENfQ09ERUNfSTQyMF8xMEIsIEFW X1BJWF9GTVRfWVVWNDIwUDEwQkUsIDAsIDAsIDAgfSwKKy0jaWYgKExJQkFWVVRJTF9WRVJTSU9O X01JQ1JPID49IDEwMCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQo IDU0LCAxNywgMTAwICkgKQorKyNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTQsIDE3LCAx MDAgKQorICAgICB7VkxDX0NPREVDX0k0MjBfMTJMLCBBVl9QSVhfRk1UX1lVVjQyMFAxMkxFLCAw LCAwLCAwIH0sCisgICAgIHtWTENfQ09ERUNfSTQyMF8xMkIsIEFWX1BJWF9GTVRfWVVWNDIwUDEy QkUsIDAsIDAsIDAgfSwKKyAjZW5kaWYKK0BAIC0xMDAsNyArMTAwLDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdAorICAgICB7VkxDX0NPREVDX0k0MjJfOUIsIEFWX1BJWF9GTVRfWVVWNDIyUDlCRSwg MCwgMCwgMCB9LAorICAgICB7VkxDX0NPREVDX0k0MjJfMTBMLCBBVl9QSVhfRk1UX1lVVjQyMlAx MExFLCAwLCAwLCAwIH0sCisgICAgIHtWTENfQ09ERUNfSTQyMl8xMEIsIEFWX1BJWF9GTVRfWVVW NDIyUDEwQkUsIDAsIDAsIDAgfSwKKy0jaWYgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPID49IDEw MCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU0LCAxNywgMTAw ICkgKQorKyNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTQsIDE3LCAxMDAgKQorICAgICB7 VkxDX0NPREVDX0k0MjJfMTJMLCBBVl9QSVhfRk1UX1lVVjQyMlAxMkxFLCAwLCAwLCAwIH0sCisg ICAgIHtWTENfQ09ERUNfSTQyMl8xMkIsIEFWX1BJWF9GTVRfWVVWNDIyUDEyQkUsIDAsIDAsIDAg fSwKKyAjZW5kaWYKK0BAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdAorICAg ICB7VkxDX0NPREVDX0k0NDRfOUIsIEFWX1BJWF9GTVRfWVVWNDQ0UDlCRSwgMCwgMCwgMCB9LAor ICAgICB7VkxDX0NPREVDX0k0NDRfMTBMLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMExFLCAwLCAwLCAw IH0sCisgICAgIHtWTENfQ09ERUNfSTQ0NF8xMEIsIEFWX1BJWF9GTVRfWVVWNDQ0UDEwQkUsIDAs IDAsIDAgfSwKKy0jaWYgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVlVU SUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU0LCAxNywgMTAwICkgKQorKyNpZiBM SUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTQsIDE3LCAxMDAgKQorICAgICB7VkxDX0NPREVDX0k0 NDRfMTJMLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMkxFLCAwLCAwLCAwIH0sCisgICAgIHtWTENfQ09E RUNfSTQ0NF8xMkIsIEFWX1BJWF9GTVRfWVVWNDQ0UDEyQkUsIDAsIDAsIDAgfSwKKyAjZW5kaWYK K0BAIC0xNDUsNyArMTQ1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdAorICAgICBWTENfUkdCKCBW TENfQ09ERUNfUkdCMzIsIEFWX1BJWF9GTVRfMEJHUjMyLCBBVl9QSVhfRk1UXzBSR0IzMiwgMHgw MDAwMDBmZiwgMHgwMDAwZmYwMCwgMHgwMGZmMDAwMCApCisgI2VuZGlmCisgCistI2lmIChMSUJB VlVUSUxfVkVSU0lPTl9NSUNSTyA9PSAwIHx8IExJQkFWVVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9W RVJTSU9OX0lOVCggNTUsIDAsIDEwMCApICkKKysjaWYgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JP ID09IDAgfHwgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDU1LCAwLCAxMDAgKSApCisgI2lmZGVm IFdPUkRTX0JJR0VORElBTgorICAgICB7VkxDX0NPREVDX1JHQkE2NCwgQVZfUElYX0ZNVF9SR0JB NjRCRSwgMCwgMCwgMCB9LAorICNlbHNlIC8qICFXT1JEU19CSUdFTkRJQU4gKi8KK2RpZmYgLS1n aXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy92aWRlby5jCitpbmRleCBkZWVmZDMwNzZhOS4uZDMyODRkYThhZWQgMTAwNjQ0CistLS0gYS9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L3ZpZGVvLmMKK0BAIC0zOSw3ICszOSw4IEBACisgI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2Rl Yy5oPgorICNpbmNsdWRlIDxsaWJhdnV0aWwvbWVtLmg+CisgI2luY2x1ZGUgPGxpYmF2dXRpbC9w aXhkZXNjLmg+CistI2lmIChMSUJBVlVUSUxfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZV VElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1NSwgMTYsIDEwMSApICkKKysjaW5j bHVkZSAiYXZjb21tb25fY29tcGF0LmgiCisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1 NSwgMTYsIDEwMSApCisgI2luY2x1ZGUgPGxpYmF2dXRpbC9tYXN0ZXJpbmdfZGlzcGxheV9tZXRh ZGF0YS5oPgorICNlbmRpZgorIAorQEAgLTk5NSw3ICs5OTYsNyBAQCBzdGF0aWMgaW50IERlY29k ZVNpZGVkYXRhKCBkZWNvZGVyX3QgKnBfZGVjLCBjb25zdCBBVkZyYW1lICpmcmFtZSwgcGljdHVy ZV90ICpwXworICAgICBkZWNvZGVyX3N5c190ICpwX3N5cyA9IHBfZGVjLT5wX3N5czsKKyAgICAg Ym9vbCBmb3JtYXRfY2hhbmdlZCA9IGZhbHNlOworIAorLSNpZiAoTElCQVZVVElMX1ZFUlNJT05f TUlDUk8gPj0gMTAwICYmIExJQkFWVVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCgg NTUsIDE2LCAxMDEgKSApCisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1NSwgMTYsIDEw MSApCisgI2RlZmluZSBGUk9NX0FWUkFUKGRlZmF1bHRfZmFjdG9yLCBhdnJhdCkgXAorICh1aW50 NjRfdCkoZGVmYXVsdF9mYWN0b3IpICogKGF2cmF0KS5udW0gLyAoYXZyYXQpLmRlbgorICAgICBj b25zdCBBVkZyYW1lU2lkZURhdGEgKm1ldGFkYXRhID0KK0BAIC0xMDUwLDcgKzEwNTEsNyBAQCBz dGF0aWMgaW50IERlY29kZVNpZGVkYXRhKCBkZWNvZGVyX3QgKnBfZGVjLCBjb25zdCBBVkZyYW1l ICpmcmFtZSwgcGljdHVyZV90ICpwXworICN1bmRlZiBGUk9NX0FWUkFUCisgICAgIH0KKyAjZW5k aWYKKy0jaWYgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVlVUSUxfVkVS U0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU1LCA2MCwgMTAwICkgKQorKyNpZiBMSUJBVlVU SUxfVkVSU0lPTl9DSEVDSyggNTUsIDYwLCAxMDAgKQorICAgICBjb25zdCBBVkZyYW1lU2lkZURh dGEgKm1ldGFkYXRhX2x0ID0KKyAgICAgICAgICAgICBhdl9mcmFtZV9nZXRfc2lkZV9kYXRhKCBm cmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVl9GUkFNRV9EQVRB X0NPTlRFTlRfTElHSFRfTEVWRUwgKTsKKy0tIAorR2l0TGFiCisKKworRnJvbSA1NTRhOTdhYjMz Y2Q2ODBiNjA3MzFlYzg1ZmQ5MTIyMzI5MjkxNzI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogU3RldmUgTGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6PgorRGF0ZTogVGh1LCA3IE5vdiAy MDI0IDA3OjIyOjI2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvMTVdIGF2Y29tbW9uOiByZW5h bWUgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyB0bworIExJQkFWX0ZPUk1BVF9WRVJTSU9OX0NI RUNLCisKK1RoZSBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLIGZvcm0gd2lsbCBiZSBmb3IgY2hl Y2tzIGFsc28gZG9uZSBpbiA0LjAuCisKK05vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KKy0tLQorIG1v ZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCB8ICAyICstCisgbW9kdWxlcy9k ZW11eC9hdmZvcm1hdC9tdXguYyAgICAgICAgICAgIHwgMTAgKysrKystLS0tLQorIDIgZmlsZXMg Y2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitpbmRleCA1YmFkZTkzYjNjNS4uZDAwOTZiYzFiYmIg MTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKKysr KyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorQEAgLTEyNiw3ICsx MjYsNyBAQAorICNpZmRlZiBIQVZFX0xJQkFWRk9STUFUX0FWRk9STUFUX0gKKyAjIGluY2x1ZGUg PGxpYmF2Zm9ybWF0L2F2Zm9ybWF0Lmg+CisgCistI2RlZmluZSBMSUJBVkZPUk1BVF9WRVJTSU9O X0NIRUNLKCBhLCBiLCBjLCBkLCBlICkgXAorKyNkZWZpbmUgTElCQVZfRk9STUFUX1ZFUlNJT05f Q0hFQ0soIGEsIGIsIGMsIGQsIGUgKSBcCisgICAgICggKExJQkFWRk9STUFUX1ZFUlNJT05fTUlD Uk8gPCAgMTAwICYmIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCBh LCBiLCBjICkgKSB8fCBcCisgICAgICAgKExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPj0gMTAw ICYmIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCBhLCBkLCBlICkg KSApCisgCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyBiL21vZHVs ZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK2luZGV4IDAzM2E4N2JkYWFhLi4xODJlOTQ1ODdhZCAx MDA2NDQKKy0tLSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKKysrKyBiL21vZHVsZXMv ZGVtdXgvYXZmb3JtYXQvbXV4LmMKK0BAIC02MSw3ICs2MSw3IEBAIHN0cnVjdCBzb3V0X211eF9z eXNfdAorICAgICBib29sICAgICBiX3dyaXRlX2hlYWRlcjsKKyAgICAgYm9vbCAgICAgYl93cml0 ZV9rZXlmcmFtZTsKKyAgICAgYm9vbCAgICAgYl9lcnJvcjsKKy0jaWYgTElCQVZGT1JNQVRfVkVS U0lPTl9DSEVDSyggNTcsIDcsIDAsIDQwLCAxMDAgKQorKyNpZiBMSUJBVl9GT1JNQVRfVkVSU0lP Tl9DSEVDSyggNTcsIDcsIDAsIDQwLCAxMDAgKQorICAgICBib29sICAgICBiX2hlYWRlcl9kb25l OworICNlbmRpZgorIH07CitAQCAtODAsNyArODAsNyBAQCBzdGF0aWMgaW50IElPV3JpdGUoIHZv aWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUgKTsKKyBzdGF0aWMgaW50IElP V3JpdGUoIHZvaWQgKm9wYXF1ZSwgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUgKTsK KyAjZW5kaWYKKyBzdGF0aWMgaW50NjRfdCBJT1NlZWsoIHZvaWQgKm9wYXF1ZSwgaW50NjRfdCBv ZmZzZXQsIGludCB3aGVuY2UgKTsKKy0jaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyggNTcs IDcsIDAsIDQwLCAxMDAgKQorKyNpZiBMSUJBVl9GT1JNQVRfVkVSU0lPTl9DSEVDSyggNTcsIDcs IDAsIDQwLCAxMDAgKQorICMgaWYgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09OU1QKKyBzdGF0aWMg aW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXpl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gQVZJT0RhdGFNYXJrZXJUeXBl IHR5cGUsIGludDY0X3QgdGltZSk7CitAQCAtMTY4LDcgKzE2OCw3IEBAIGludCBhdmZvcm1hdF9P cGVuTXV4KCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCisgICAgIHBfc3lzLT5iX3dyaXRlX2hlYWRl ciA9IHRydWU7CisgICAgIHBfc3lzLT5iX3dyaXRlX2tleWZyYW1lID0gZmFsc2U7CisgICAgIHBf c3lzLT5iX2Vycm9yID0gZmFsc2U7CistI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3 LCA3LCAwLCA0MCwgMTAwICkKKysjaWYgTElCQVZfRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3 LCAwLCA0MCwgMTAwICkKKyAgICAgcF9zeXMtPmlvLT53cml0ZV9kYXRhX3R5cGUgPSBJT1dyaXRl VHlwZWQ7CisgICAgIHBfc3lzLT5iX2hlYWRlcl9kb25lID0gZmFsc2U7CisgI2VuZGlmCitAQCAt NDE5LDcgKzQxOSw3IEBAIHN0YXRpYyBpbnQgTXV4QmxvY2soIHNvdXRfbXV4X3QgKnBfbXV4LCBz b3V0X2lucHV0X3QgKnBfaW5wdXQgKQorICAgICByZXR1cm4gVkxDX1NVQ0NFU1M7CisgfQorIAor LSNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCisrI2lm IExJQkFWX0ZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCisgIyBpZiBG Rl9BUElfQVZJT19XUklURV9OT05DT05TVAorIGludCBJT1dyaXRlVHlwZWQodm9pZCAqb3BhcXVl LCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnVtIEFWSU9EYXRhTWFya2VyVHlwZSB0eXBlLCBpbnQ2NF90IHRpbWUpCitAQCAtNTQ1 LDcgKzU0NSw3IEBAIHN0YXRpYyBpbnQgSU9Xcml0ZSggdm9pZCAqb3BhcXVlLCBjb25zdCB1aW50 OF90ICpidWYsIGludCBidWZfc2l6ZSApCisgCisgICAgIGlmKCBwX3N5cy0+Yl93cml0ZV9oZWFk ZXIgKQorICAgICAgICAgcF9idWYtPmlfZmxhZ3MgfD0gQkxPQ0tfRkxBR19IRUFERVI7CistI2lm IExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKKysjaWYgTElC QVZfRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKKyAgICAgaWYoICFw X3N5cy0+Yl9oZWFkZXJfZG9uZSApCisgICAgICAgICBwX2J1Zi0+aV9mbGFncyB8PSBCTE9DS19G TEFHX0hFQURFUjsKKyAjZW5kaWYKKy0tIAorR2l0TGFiCisKKworRnJvbSBkNDA2YTMxMjc2MzVh ZmNiYTI0MzZjYmM5Y2JiM2VmYmRjODI2MzMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogU3RldmUgTGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6PgorRGF0ZTogV2VkLCAxOSBKdW4gMjAy NCAxMzo1NzoyNCArMDIwMAorU3ViamVjdDogW1BBVENIIDA0LzE1XSBhdmNvbW1vbjogdXNlIGEg c3BlY2lmaWMgbWFjcm8gdG8gY2hlY2sgdGhlIEZGbXBlZworIGxpYmF2Zm9ybWF0IHZlcnNpb24K KworVGhpcyBtYWNybyBkb2Vzbid0IGNoZWNrIGZvciBsaWJhdiB3aGljaCBpcyBhc3N1bWVkIHRv IG5vdCBoYXZlIHRvIHJlbGV2YW50Citjb2RlLiBUaGlzIGlzIHRoZSBzYW1lIG1hY3JvIG5hbWUg dXNlZCBpbiBWTEMgNC4wLgorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uLmgg ICAgICAgIHwgIDIgKy0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0Lmgg fCAgOCArKysrKysrKworIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYyAgICAgICAgICB8 ICAzICstLQorIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMgICAgICAgICAgICB8IDExICsr KystLS0tLS0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbi5oIGIv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uLmgKK2luZGV4IGZmNWRiYTA2YzkyLi5hYTBj MGI4OGI4NSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbi5oCisr KysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb24uaAorQEAgLTEwNiw3ICsxMDYsNyBA QCBzdGF0aWMgaW5saW5lIHZvaWQgdmxjX2luaXRfYXZmb3JtYXQodmxjX29iamVjdF90ICpvYmop CisgCisgICAgIGF2Zm9ybWF0X25ldHdvcmtfaW5pdCgpOworIAorLSNpZiAoTElCQVZGT1JNQVRf VkVSU0lPTl9NSUNSTyA8IDEwMCkgfHwgKExJQkFWRk9STUFUX1ZFUlNJT05fSU5UIDwgQVZfVkVS U0lPTl9JTlQoNTgsIDksIDEwMCkpCisrI2lmIChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPIDwg MTAwKSB8fCAhKExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soNTgsIDksIDEwMCkpCisgICAgIGF2 X3JlZ2lzdGVyX2FsbCgpOworICNlbmRpZgorIAorZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1v bl9jb21wYXQuaAoraW5kZXggZDAwOTZiYzFiYmIuLjNmZWFiM2E2NTdlIDEwMDY0NAorLS0tIGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCisrKysgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKK0BAIC0xMjYsNiArMTI2LDE0IEBACisgI2lm ZGVmIEhBVkVfTElCQVZGT1JNQVRfQVZGT1JNQVRfSAorICMgaW5jbHVkZSA8bGliYXZmb3JtYXQv YXZmb3JtYXQuaD4KKyAKKysvKiBjaGVjayB0aGUgRkZtcGVnIGxpYmF2Zm9ybWF0IHZlcnNpb24g Ki8KKysjZGVmaW5lIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIGEsIGQsIGUgKSBcCisrICAg IChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVkZPUk1BVF9WRVJTSU9O X0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgZCwgZSApICkKKysKKysvKiBMSUJBVl9GT1JNQVRf VkVSU0lPTl9DSEVDSyBjaGVja3MgZm9yIHRoZSByaWdodCBsaWJhdmZvcm1hdCB2ZXJzaW9uIG9m IGxpYmF2IGFuZCBGRm1wZWcKKysgKiBhIGlzIHRoZSBtYWpvciB2ZXJzaW9uCisrICogYiBhbmQg YyB0aGUgbWlub3IgYW5kIG1pY3JvIHZlcnNpb25zIG9mIGxpYmF2CisrICogZCBhbmQgZSB0aGUg bWlub3IgYW5kIG1pY3JvIHZlcnNpb25zIG9mIEZGbXBlZyAqLworICNkZWZpbmUgTElCQVZfRk9S TUFUX1ZFUlNJT05fQ0hFQ0soIGEsIGIsIGMsIGQsIGUgKSBcCisgICAgICggKExJQkFWRk9STUFU X1ZFUlNJT05fTUlDUk8gPCAgMTAwICYmIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZF UlNJT05fSU5UKCBhLCBiLCBjICkgKSB8fCBcCisgICAgICAgKExJQkFWRk9STUFUX1ZFUlNJT05f TUlDUk8gPj0gMTAwICYmIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5U KCBhLCBkLCBlICkgKSApCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11 eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jCitpbmRleCA4MzBkYzAxNTdlMi4u MzlkMjM2NmNlZjIgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMK KysrKyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYworQEAgLTUyLDggKzUyLDcgQEAK KyAKKyAjIGRlZmluZSBIQVZFX0FWVVRJTF9DT0RFQ19BVFRBQ0hNRU5UIDEKKyAKKy0jaWYgTElC QVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgXAorLSAgICBMSUJBVkZPUk1BVF9WRVJT SU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCg1OSwgMCwgMTAwKQorKyNpZiBMSUJBVkZPUk1BVF9W RVJTSU9OX0NIRUNLKDU5LCAwLCAxMDApCisgIyBkZWZpbmUgQVZGX01BWUJFX0NPTlNUIGNvbnN0 CisgI2Vsc2UKKyAjIGRlZmluZSBBVkZfTUFZQkVfQ09OU1QKK2RpZmYgLS1naXQgYS9tb2R1bGVz L2RlbXV4L2F2Zm9ybWF0L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworaW5k ZXggMTgyZTk0NTg3YWQuLjY2NGE2NDY3MzRjIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11eC9h dmZvcm1hdC9tdXguYworKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworQEAgLTk1 LDggKzk1LDcgQEAgaW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3Qg KmJ1ZiwgaW50IGJ1Zl9zaXplLAorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyBpbnQgYXZmb3Jt YXRfT3Blbk11eCggdmxjX29iamVjdF90ICpwX3RoaXMgKQorIHsKKy0jaWYgTElCQVZGT1JNQVRf VkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgXAorLSAgICBMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA+ PSBBVl9WRVJTSU9OX0lOVCg1OSwgMCwgMTAwKQorKyNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0NI RUNLKDU5LCAwLCAxMDApCisgICAgIGNvbnN0IEFWT3V0cHV0Rm9ybWF0ICpmaWxlX29mb3JtYXQ7 CisgI2Vsc2UKKyAgICAgQVZPdXRwdXRGb3JtYXQgKmZpbGVfb2Zvcm1hdDsKK0BAIC0xMDQsOCAr MTAzLDcgQEAgaW50IGF2Zm9ybWF0X09wZW5NdXgoIHZsY19vYmplY3RfdCAqcF90aGlzICkKKyAg ICAgc291dF9tdXhfdCAqcF9tdXggPSAoc291dF9tdXhfdCopcF90aGlzOworICAgICBib29sIGR1 bW15ID0gIXN0cmNtcCggcF9tdXgtPnBfYWNjZXNzLT5wc3pfYWNjZXNzLCAiZHVtbXkiKTsKKyAK Ky0jaWYgKCAoTElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA+PSAxMDApIFwKKy0gICAgICAmJiAo TElCQVZGT1JNQVRfVkVSU0lPTl9JTlQgPCBBVl9WRVJTSU9OX0lOVCg1OCwgNywgMTAwKSkgKQor KyNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiAhKExJQkFWRk9STUFUX1ZF UlNJT05fQ0hFQ0soNTgsIDcsIDEwMCkpCisgICAgIGlmKCBkdW1teSAmJiBzdHJsZW4ocF9tdXgt PnBfYWNjZXNzLT5wc3pfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PSBz aXplb2YgKCgoQVZGb3JtYXRDb250ZXh0ICopTlVMTCktPmZpbGVuYW1lKSApCisgICAgICAgICBy ZXR1cm4gVkxDX0VHRU5FUklDOworQEAgLTE0NCw4ICsxNDIsNyBAQCBpbnQgYXZmb3JtYXRfT3Bl bk11eCggdmxjX29iamVjdF90ICpwX3RoaXMgKQorICAgICBwX3N5cy0+b2MtPm9mb3JtYXQgPSBm aWxlX29mb3JtYXQ7CisgICAgIC8qIElmIHdlIHVzZSBkdW1teSBhY2Nlc3MsIGxldCBhdmZvcm1h dCB3cml0ZSBvdXRwdXQgKi8KKyAgICAgaWYoIGR1bW15ICkKKy0jaWYgKCAoTElCQVZGT1JNQVRf VkVSU0lPTl9NSUNSTyA+PSAxMDApIFwKKy0gICAgICAmJiAoTElCQVZGT1JNQVRfVkVSU0lPTl9J TlQgPj0gQVZfVkVSU0lPTl9JTlQoNTgsIDcsIDEwMCkpICkKKysjaWYgTElCQVZGT1JNQVRfVkVS U0lPTl9DSEVDSyg1OCwgNywgMTAwKQorICAgICAgICAgcF9zeXMtPm9jLT51cmwgPSBhdl9zdHJk dXAocF9tdXgtPnBfYWNjZXNzLT5wc3pfcGF0aCk7CisgI2Vsc2UKKyAgICAgICAgIHN0cmNweSgg cF9zeXMtPm9jLT5maWxlbmFtZSwgcF9tdXgtPnBfYWNjZXNzLT5wc3pfcGF0aCApOworQEAgLTM5 Nyw3ICszOTQsNyBAQCBzdGF0aWMgaW50IE11eEJsb2NrKCBzb3V0X211eF90ICpwX211eCwgc291 dF9pbnB1dF90ICpwX2lucHV0ICkKKyAgICAgICAgIHBrdC0+ZHRzID0gcF9kYXRhLT5pX2R0cyAq IHBfc3RyZWFtLT50aW1lX2Jhc2UuZGVuIC8KKyAgICAgICAgICAgICBDTE9DS19GUkVRIC8gcF9z dHJlYW0tPnRpbWVfYmFzZS5udW07CisgCistI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8g Pj0gMTAwICYmIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UIDwgQVZfVkVSU0lPTl9JTlQoNTksIDIs IDEwMykKKysjaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgIShMSUJBVkZP Uk1BVF9WRVJTSU9OX0NIRUNLKDU5LCAyLCAxMDMpKQorICAgICAvKiB0aGlzIGlzIGFub3RoZXIg aGFjayB0byBwcmV2ZW50IGxpYmF2Zm9ybWF0IGZyb20gdHJpZ2dlcmluZyB0aGUgIm5vbiBtb25v dG9uZSB0aW1lc3RhbXBzIiBjaGVjayBpbiBhdmZvcm1hdC91dGlscy5jICovCisgICAgIHBfc3Ry ZWFtLT5jdXJfZHRzID0gKCBwX2RhdGEtPmlfZHRzICogcF9zdHJlYW0tPnRpbWVfYmFzZS5kZW4g LworICAgICAgICAgICAgIENMT0NLX0ZSRVEgLyBwX3N0cmVhbS0+dGltZV9iYXNlLm51bSApIC0g MTsKKy0tIAorR2l0TGFiCisKKworRnJvbSA5MzBkZGMwZDBmZWM1NWZmZjZjMmVkMGZmY2M5MDQ3 NzNiYWU2NjIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RldmUgTGhvbW1lIDxy b2J1eDRAeWNiY3IueHl6PgorRGF0ZTogVGh1LCA3IE5vdiAyMDI0IDA3OjIzOjI3ICswMTAwCitT dWJqZWN0OiBbUEFUQ0ggMDUvMTVdIGF2Y29tbW9uOiByZW5hbWUgTElCQVZDT0RFQ19WRVJTSU9O X0NIRUNLIHRvCisgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSworCitUaGUgTElCQVZDT0RFQ19W RVJTSU9OX0NIRUNLIGZvcm0gd2lsbCBiZSBmb3IgY2hlY2tzIGFsc28gZG9uZSBpbiA0LjAuCisK K05vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KKy0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRp by5jICAgICAgICAgICB8ICA4ICsrKystLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29t bW9uX2NvbXBhdC5oIHwgIDQgKystLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMg ICAgICAgICB8ICA0ICsrLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jICAgICAg ICAgfCAxMCArKysrKy0tLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jICAgICAg ICAgIHwgMTQgKysrKysrKy0tLS0tLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyAg ICAgICAgICAgfCAgMiArLQorIDYgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjEg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8u YyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitpbmRleCA0NDMzNWVjM2NjZS4uN2E5 NzllOTZlMTkgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworKysr IGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK0BAIC0xNDIsNyArMTQyLDcgQEAgc3Rh dGljIGludCBPcGVuQXVkaW9Db2RlYyggZGVjb2Rlcl90ICpwX2RlYyApCisgICAgIH0KKyAKKyAg ICAgY3R4LT5zYW1wbGVfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9yYXRlOworLSNpZiBM SUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyNpZiBMSUJB Vl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKyAgICAgYXZfY2hh bm5lbF9sYXlvdXRfZGVmYXVsdCggJmN0eC0+Y2hfbGF5b3V0LCBwX2RlYy0+Zm10X2luLmF1ZGlv LmlfY2hhbm5lbHMgKTsKKyAjZWxzZQorICAgICBjdHgtPmNoYW5uZWxzID0gcF9kZWMtPmZtdF9p bi5hdWRpby5pX2NoYW5uZWxzOworQEAgLTQwMiw3ICs0MDIsNyBAQCBzdGF0aWMgaW50IERlY29k ZUJsb2NrKCBkZWNvZGVyX3QgKnBfZGVjLCBibG9ja190ICoqcHBfYmxvY2sgKQorICAgICAgICAg cmV0ID0gYXZjb2RlY19yZWNlaXZlX2ZyYW1lKCBjdHgsIGZyYW1lICk7CisgICAgICAgICBpZigg cmV0ID09IDAgKQorICAgICAgICAgeworLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTks IDk5OSwgOTk5LCAyNCwgMTAwKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5 OTksIDk5OSwgMjQsIDEwMCkKKyAgICAgICAgICAgICBpbnQgY2hhbm5lbHMgPSBmcmFtZS0+Y2hf bGF5b3V0Lm5iX2NoYW5uZWxzOworICNlbHNlCisgICAgICAgICAgICAgaW50IGNoYW5uZWxzID0g Y3R4LT5jaGFubmVsczsKK0BAIC01OTIsNyArNTkyLDcgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRw dXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAgIHBfZGVjLT5m bXRfb3V0LmF1ZGlvLmlfcmF0ZSA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9yYXRlOworIAor ICAgICAvKiAqLworLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAy NCwgMTAwKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQs IDEwMCkKKyAgICAgaWYoIHBfc3lzLT5pX3ByZXZpb3VzX2NoYW5uZWxzID09IHBfc3lzLT5wX2Nv bnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVscyAmJgorICAgICAgICAgcF9zeXMtPmlfcHJldmlv dXNfbGF5b3V0ID09IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2sgKQorICAgICAg ICAgcmV0dXJuOworQEAgLTYxNyw3ICs2MTcsNyBAQCBzdGF0aWMgdm9pZCBTZXR1cE91dHB1dEZv cm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKKyAKKyAgICAgaW50IGlfY2hh bm5lbHNfc3JjID0gMCwgY2hhbm5lbF9jb3VudDsKKyAgICAgdWludDY0X3QgY2hhbm5lbF9sYXlv dXRfbWFzazsKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQs IDEwMCkKKysjaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAx MDApCisgICAgIGNoYW5uZWxfbGF5b3V0X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlv dXQudS5tYXNrOworICAgICBjaGFubmVsX2NvdW50ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5 b3V0Lm5iX2NoYW5uZWxzOworICNlbGlmIEFQSV9DSEFOTkVMX0xBWU9VVAorZGlmZiAtLWdpdCBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAoraW5kZXggM2ZlYWIzYTY1N2UuLmI1MDRmY2Q4MjE4 IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCisr KysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKK0BAIC0zMCwxMSAr MzAsMTEgQEAKKyAjaWZkZWYgSEFWRV9MSUJBVkNPREVDX0FWQ09ERUNfSAorICNpbmNsdWRlIDxs aWJhdmNvZGVjL2F2Y29kZWMuaD4KKyAKKy0vKiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0sgY2hl Y2tzIGZvciB0aGUgcmlnaHQgdmVyc2lvbiBvZiBsaWJhdiBhbmQgRkZtcGVnCisrLyogTElCQVZf Q09ERUNfVkVSU0lPTl9DSEVDSyBjaGVja3MgZm9yIHRoZSByaWdodCB2ZXJzaW9uIG9mIGxpYmF2 IGFuZCBGRm1wZWcKKyAgKiBhIGlzIHRoZSBtYWpvciB2ZXJzaW9uCisgICogYiBhbmQgYyB0aGUg bWlub3IgYW5kIG1pY3JvIHZlcnNpb25zIG9mIGxpYmF2CisgICogZCBhbmQgZSB0aGUgbWlub3Ig YW5kIG1pY3JvIHZlcnNpb25zIG9mIEZGbXBlZyAqLworLSNkZWZpbmUgTElCQVZDT0RFQ19WRVJT SU9OX0NIRUNLKCBhLCBiLCBjLCBkLCBlICkgXAorKyNkZWZpbmUgTElCQVZfQ09ERUNfVkVSU0lP Tl9DSEVDSyggYSwgYiwgYywgZCwgZSApIFwKKyAgICAgKCAoTElCQVZDT0RFQ19WRVJTSU9OX01J Q1JPIDwgIDEwMCAmJiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCBh LCBiLCBjICkgKSB8fCBcCisgICAgICAgKExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAg JiYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggYSwgZCwgZSApICkg KQorIAorZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMgYi9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvZDNkMTF2YS5jCitpbmRleCA1MjYwNjI4MzY0Zi4uZTFjMTBkMzEx ODggMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZDNkMTF2YS5jCisrKysgYi9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvZDNkMTF2YS5jCitAQCAtNzYsNyArNzYsNyBAQCB2bGNfbW9k dWxlX2VuZCgpCisgICogU28gd2UgZ2V0IHRoZSBzdXJmYWNlcyBmcm9tIHRoZSBkZWNvZGVyIHBv b2wgd2hlbiBuZWVkZWQuIFdlIGRvbid0IG5lZWQgdG8KKyAgKiBleHRyYWN0IHRoZSBkZWNvZGVk IHN1cmZhY2UgaW50byB0aGUgZGVjb2RlciBwaWN0dXJlIGFueW1vcmUuCisgICovCistI2RlZmlu ZSBEM0QxMV9ESVJFQ1RfREVDT0RFICBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCAzMCwg MywgNzIsIDEwMSApCisrI2RlZmluZSBEM0QxMV9ESVJFQ1RfREVDT0RFICBMSUJBVl9DT0RFQ19W RVJTSU9OX0NIRUNLKCA1NywgMzAsIDMsIDcyLCAxMDEgKQorIAorICNpbmNsdWRlIDxpbml0Z3Vp ZC5oPiAvKiBtdXN0IGJlIGxhc3QgaW5jbHVkZWQgdG8gbm90IHJlZGVmaW5lIGV4aXN0aW5nIEdV SURzICovCisgCitAQCAtNzY0LDcgKzc2NCw3IEBAIHN0YXRpYyBpbnQgRHhDcmVhdGVEZWNvZGVy U3VyZmFjZXModmxjX3ZhX3QgKnZhLCBpbnQgY29kZWNfaWQsCisgICAgICAgICAgICAgYXNzZXJ0 KHRleERlc2MuRm9ybWF0ID09IHN5cy0+cmVuZGVyKTsKKyAgICAgICAgICAgICBhc3NlcnQodGV4 RGVzYy5CaW5kRmxhZ3MgJiBEM0QxMV9CSU5EX0RFQ09ERVIpOworIAorLSNpZiAhTElCQVZDT0RF Q19WRVJTSU9OX0NIRUNLKCA1NywgMjcsIDIsIDYxLCAxMDIgKQorKyNpZiAhTElCQVZfQ09ERUNf VkVSU0lPTl9DSEVDSyggNTcsIDI3LCAyLCA2MSwgMTAyICkKKyAgICAgICAgICAgICBpZiAocGlj LT5wX3N5cy0+c2xpY2VfaW5kZXggIT0gc3VyZmFjZV9pZHgpCisgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICBtc2dfV2Fybih2YSwgImQzZDExdmEgcmVxdWlyZXMgZGVjb2Rpbmcgc2xp Y2VzIHRvIGJlIHRoZSBmaXJzdCBpbiB0aGUgdGV4dHVyZSAoJWQvJWQpIiwKK2RpZmYgLS1naXQg YS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2VuY29kZXIuYworaW5kZXggYzlhMzRkOGYwZGEuLjljZjlhN2QwNjA3IDEwMDY0NAorLS0tIGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2VuY29kZXIuYworQEAgLTE4Myw3ICsxODMsNyBAQCBzdGF0aWMgY29uc3QgdWludDY0X3Qg cGlfY2hhbm5lbHNfbWFwW11bMl0gPQorICAgICB7IEFWX0NIX1NURVJFT19SSUdIVCwgICAgICAw IH0sCisgfTsKKyAKKy0jIGlmICFMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5 LCAyNCwgMTAwKQorKyMgaWYgIUxJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5 LCAyNCwgMTAwKQorIHN0YXRpYyBjb25zdCB1aW50MzJfdCBjaGFubmVsX21hc2tbXVsyXSA9IHsK KyAgICAgezAsMH0sCisgICAgIHtBT1VUX0NIQU5fQ0VOVEVSLCBBVl9DSF9MQVlPVVRfTU9OT30s CitAQCAtNzY1LDcgKzc2NSw3IEBAIGludCBJbml0VmlkZW9FbmMoIHZsY19vYmplY3RfdCAqcF90 aGlzICkKKyAgICAgICAgIHVpbnQzMl90IG9yZGVyX21hc2sgPSAwOworICAgICAgICAgaW50IGlf Y2hhbm5lbHNfc3JjID0gMDsKKyAgICAgICAgIG1zZ19EYmcoIHBfZW5jLCAiQ3JlYXRpbmcgY2hh bm5lbCBvcmRlciBmb3IgcmVvcmRlcmluZyIpOworLSMgaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NI RUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjIGlmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hF Q0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVm YXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0LCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5u ZWxzICk7CisgICAgICAgICB1aW50NjRfdCBjaGFubmVsX21hc2sgPSBwX2NvbnRleHQtPmNoX2xh eW91dC51Lm1hc2s7CisgIyBlbHNlCitAQCAtOTE4LDcgKzkxOCw3IEBAIGVycm1zZzoKKyAKKyAg ICAgICAgIGlmKCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzID4gMiApCisgICAgICAg ICB7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDAp CisrI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQor ICAgICAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZwX2NvbnRleHQtPmNoX2xh eW91dCwgMiApOworICNlbHNlCisgICAgICAgICAgICAgcF9jb250ZXh0LT5jaGFubmVscyA9IDI7 CitAQCAtMTI4Miw3ICsxMjgyLDcgQEAgc3RhdGljIGJsb2NrX3QgKmhhbmRsZV9kZWxheV9idWZm ZXIoIGVuY29kZXJfdCAqcF9lbmMsIGVuY29kZXJfc3lzX3QgKnBfc3lzLCB1bnMKKyAgICAgYXZf ZnJhbWVfdW5yZWYoIHBfc3lzLT5mcmFtZSApOworICAgICBwX3N5cy0+ZnJhbWUtPmZvcm1hdCAg ICAgPSBwX3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10OworICAgICBwX3N5cy0+ZnJhbWUtPm5i X3NhbXBsZXMgPSBsZWZ0b3Zlcl9zYW1wbGVzICsgcF9zeXMtPmlfc2FtcGxlc19kZWxheTsKKy0j aWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjaWYg TElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisgICAgIGF2 X2NoYW5uZWxfbGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hfbGF5b3V0LCAmcF9zeXMtPnBf Y29udGV4dC0+Y2hfbGF5b3V0KTsKKyAjZWxzZQorICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxf bGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQ7CitAQCAtMTQxNyw3ICsx NDE3LDcgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29kZUF1ZGlvKCBlbmNvZGVyX3QgKnBfZW5jLCBi bG9ja190ICpwX2FvdXRfYnVmICkKKyAgICAgICAgIHBfc3lzLT5mcmFtZS0+cHRzICAgICAgICA9 IGRhdGVfR2V0KCAmcF9zeXMtPmJ1ZmZlcl9kYXRlICkgKiBwX3N5cy0+cF9jb250ZXh0LT50aW1l X2Jhc2UuZGVuIC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTE9DS19G UkVRIC8gcF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNlLm51bTsKKyAKKy0jaWYgTElCQVZDT0RF Q19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjaWYgTElCQVZfQ09ERUNf VkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisgICAgICAgICBhdl9jaGFubmVs X2xheW91dF9jb3B5KCZwX3N5cy0+ZnJhbWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQt PmNoX2xheW91dCk7CisgI2Vsc2UKKyAgICAgICAgIHBfc3lzLT5mcmFtZS0+Y2hhbm5lbF9sYXlv dXQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsX2xheW91dDsKK2RpZmYgLS1naXQgYS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNj LmMKK2luZGV4IDk3ZjMxODgyMTFkLi4zYWVhNmI1OGZmMCAxMDA2NDQKKy0tLSBhL21vZHVsZXMv Y29kZWMvYXZjb2RlYy9mb3VyY2MuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJj Yy5jCitAQCAtMjMwLDcgKzIzMCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmxjX2F2Y29kZWNf Zm91cmNjIHZpZGVvX2NvZGVjc1tdID0KKyAgICAgeyBWTENfQ09ERUNfQ0xMQywgQVZfQ09ERUNf SURfQ0xMQyB9LAorICAgICB7IFZMQ19DT0RFQ19NU1MyLCBBVl9DT0RFQ19JRF9NU1MyIH0sCisg ICAgIHsgVkxDX0NPREVDX1ZQOSwgQVZfQ09ERUNfSURfVlA5IH0sCistI2lmIExJQkFWQ09ERUNf VkVSU0lPTl9DSEVDSyggNTcsIDI2LCAwLCA4MywgMTAxICkKKysjaWYgTElCQVZfQ09ERUNfVkVS U0lPTl9DSEVDSyggNTcsIDI2LCAwLCA4MywgMTAxICkKKyAgICAgeyBWTENfQ09ERUNfQVYxLCBB Vl9DT0RFQ19JRF9BVjEgfSwKKyAjZW5kaWYKKyAgICAgeyBWTENfQ09ERUNfSUNPRCwgQVZfQ09E RUNfSURfQUlDIH0sCitAQCAtMjg1LDE5ICsyODUsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2 bGNfYXZjb2RlY19mb3VyY2MgdmlkZW9fY29kZWNzW10gPQorICAgICAvKiBmZm1wZWcgb25seTog QVZfQ09ERUNfSURfU05PVyAqLworICAgICAvKiBmZm1wZWcgb25seTogQVZfQ09ERUNfSURfU01W SlBFRyAqLworIAorLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwg MjQsIDEwMiApCisrI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwg MjQsIDEwMiApCisgICAgIHsgVkxDX0NPREVDX0NJTkVGT1JNLCBBVl9DT0RFQ19JRF9DRkhEIH0s CisgI2VuZGlmCisgCistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5 LCA3MCwgMTAwICkKKysjaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5 LCA3MCwgMTAwICkKKyAgICAgeyBWTENfQ09ERUNfUElYTEVULCBBVl9DT0RFQ19JRF9QSVhMRVQg fSwKKyAjZW5kaWYKKyAKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5 OTksIDcxLCAxMDEgKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5 OTksIDcxLCAxMDEgKQorICAgICB7IFZMQ19DT0RFQ19TUEVFREhRLCBBVl9DT0RFQ19JRF9TUEVF REhRIH0sCisgI2VuZGlmCisgCistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5 OSwgOTk5LCA3OSwgMTAwICkKKysjaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5 OSwgOTk5LCA3OSwgMTAwICkKKyAgICAgeyBWTENfQ09ERUNfRk1WQywgQVZfQ09ERUNfSURfRk1W QyB9LAorICNlbmRpZgorIH07CitAQCAtNDE0LDcgKzQxNCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgdmxjX2F2Y29kZWNfZm91cmNjIGF1ZGlvX2NvZGVjc1tdID0KKyAgICAgLyogQVZfQ09ERUNf SURfV0VTVFdPT0RfU05EMSAqLworICAgICB7IFZMQ19DT0RFQ19HU00sIEFWX0NPREVDX0lEX0dT TSB9LAorICAgICB7IFZMQ19DT0RFQ19RRE0yLCBBVl9DT0RFQ19JRF9RRE0yIH0sCistI2lmIExJ QkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAwICkKKysjaWYgTElC QVZfQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAwICkKKyAgICAgeyBW TENfQ09ERUNfUURNQywgQVZfQ09ERUNfSURfUURNQyB9LAorICNlbmRpZgorICAgICB7IFZMQ19D T0RFQ19DT09LLCBBVl9DT0RFQ19JRF9DT09LIH0sCitAQCAtNDgyLDcgKzQ4Miw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgdmxjX2F2Y29kZWNfZm91cmNjIHNwdV9jb2RlY3NbXSA9CisgICAgIHsg VkxDX0NPREVDX1NTQSwgQVZfQ09ERUNfSURfU1NBIH0sCisgICAgIC8qIEFWX0NPREVDX0lEX01P Vl9URVhUICovCisgICAgIHsgVkxDX0NPREVDX0JEX1BHLCBBVl9DT0RFQ19JRF9IRE1WX1BHU19T VUJUSVRMRSB9LAorLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwg NzEsIDEwMCApCisrI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwg NzEsIDEwMCApCisgICAgIHsgVkxDX0NPREVDX0JEX1RFWFQsIEFWX0NPREVDX0lEX0hETVZfVEVY VF9TVUJUSVRMRSB9LAorICNlbmRpZgorICAgICB7IFZMQ19DT0RFQ19URUxFVEVYVCwgQVZfQ09E RUNfSURfRFZCX1RFTEVURVhUIH0sCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L3ZpZGVvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworaW5kZXggZDMyODRkYThh ZWQuLjU1MmM2MDJlZGY2IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVv LmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCitAQCAtMTMwNyw3ICsxMzA3 LDcgQEAgc3RhdGljIHBpY3R1cmVfdCAqRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9kZWMsIGJs b2NrX3QgKipwcF9ibG9jaywgYm9vbCAqZXJyb3IKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIC8q IENvbXB1dGUgdGhlIFBUUyAqLworLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTcsIDI0 LCAwLCA2MSwgMTAwKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMCwg NjEsIDEwMCkKKyAjIGlmIExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAKKyAgICAgICAg IHZsY190aWNrX3QgaV9wdHMgPSBmcmFtZS0+YmVzdF9lZmZvcnRfdGltZXN0YW1wOworICMgZWxz ZQorLS0gCitHaXRMYWIKKworCitGcm9tIGNlMDg0MTUyYzliYWRlMDQxY2ExOGUxOWMzYjI2NGU0 ZTEzNGM2YzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJv YnV4NEB5Y2Jjci54eXo+CitEYXRlOiBXZWQsIDE5IEp1biAyMDI0IDEzOjU5OjE1ICswMjAwCitT dWJqZWN0OiBbUEFUQ0ggMDYvMTVdIGF2Y29tbW9uOiB1c2UgYSBzcGVjaWZpYyBtYWNybyB0byBj aGVjayB0aGUgRkZtcGVnCisgbGliYXZjb2RlYyB2ZXJzaW9uCisKK1RoaXMgbWFjcm8gZG9lc24n dCBjaGVjayBmb3IgbGliYXYgd2hpY2ggaXMgYXNzdW1lZCB0byBub3QgaGF2ZSB0byByZWxldmFu dAorY29kZS4gVGhpcyBpcyB0aGUgc2FtZSBtYWNybyBuYW1lIHVzZWQgaW4gVkxDIDQuMC4KKy0t LQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jICAgICAgICAgICB8ICA4ICsrKystLS0t CisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uLmggICAgICAgIHwgIDIgKy0KKyBtb2R1 bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmggfCAgNCArKysrCisgbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2RpcmVjdHhfdmEuYyAgICAgIHwgIDQgKystLQorIG1vZHVsZXMvY29kZWMv YXZjb2RlYy9lbmNvZGVyLmMgICAgICAgICB8IDEzICsrKysrKy0tLS0tLS0KKyBtb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvZm91cmNjLmMgICAgICAgICAgfCAxOCArKysrKysrKy0tLS0tLS0tLS0KKyBt b2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyAgICAgICAgICAgfCAgMyArLS0KKyBtb2R1bGVz L2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMgICAgICAgICAgfCAgMiArLQorIG1vZHVsZXMvZGVtdXgv YXZmb3JtYXQvbXV4LmMgICAgICAgICAgICB8ICAyICstCisgOSBmaWxlcyBjaGFuZ2VkLCAyOCBp bnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK2luZGV4 IDdhOTc5ZTk2ZTE5Li5hM2Y2N2Y3YmQ5MyAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZj b2RlYy9hdWRpby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworQEAgLTE0 Miw3ICsxNDIsNyBAQCBzdGF0aWMgaW50IE9wZW5BdWRpb0NvZGVjKCBkZWNvZGVyX3QgKnBfZGVj ICkKKyAgICAgfQorIAorICAgICBjdHgtPnNhbXBsZV9yYXRlID0gcF9kZWMtPmZtdF9pbi5hdWRp by5pX3JhdGU7CistI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAy NCwgMTAwKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisgICAg IGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZjdHgtPmNoX2xheW91dCwgcF9kZWMtPmZtdF9p bi5hdWRpby5pX2NoYW5uZWxzICk7CisgI2Vsc2UKKyAgICAgY3R4LT5jaGFubmVscyA9IHBfZGVj LT5mbXRfaW4uYXVkaW8uaV9jaGFubmVsczsKK0BAIC00MDIsNyArNDAyLDcgQEAgc3RhdGljIGlu dCBEZWNvZGVCbG9jayggZGVjb2Rlcl90ICpwX2RlYywgYmxvY2tfdCAqKnBwX2Jsb2NrICkKKyAg ICAgICAgIHJldCA9IGF2Y29kZWNfcmVjZWl2ZV9mcmFtZSggY3R4LCBmcmFtZSApOworICAgICAg ICAgaWYoIHJldCA9PSAwICkKKyAgICAgICAgIHsKKy0jaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9D SEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVD Syg1OSwgMjQsIDEwMCkKKyAgICAgICAgICAgICBpbnQgY2hhbm5lbHMgPSBmcmFtZS0+Y2hfbGF5 b3V0Lm5iX2NoYW5uZWxzOworICNlbHNlCisgICAgICAgICAgICAgaW50IGNoYW5uZWxzID0gY3R4 LT5jaGFubmVsczsKK0BAIC01OTIsNyArNTkyLDcgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRG b3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAgIHBfZGVjLT5mbXRf b3V0LmF1ZGlvLmlfcmF0ZSA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9yYXRlOworIAorICAg ICAvKiAqLworLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQs IDEwMCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQorICAgICBp ZiggcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5 b3V0Lm5iX2NoYW5uZWxzICYmCisgICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0g cF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzayApCisgICAgICAgICByZXR1cm47CitA QCAtNjE3LDcgKzYxNyw3IEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVy X3QgKnBfZGVjLCBib29sIGJfdHJ1c3QgKQorIAorICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAw LCBjaGFubmVsX2NvdW50OworICAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrOworLSNp ZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjaWYg TElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQorICAgICBjaGFubmVsX2xheW91 dF9tYXNrID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzazsKKyAgICAgY2hhbm5l bF9jb3VudCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVsczsKKyAjZWxp ZiBBUElfQ0hBTk5FTF9MQVlPVVQKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXZjb21tb24uaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbi5oCitpbmRleCBhYTBj MGI4OGI4NS4uMTBhZDEzZGM1ZjggMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXZjb21tb24uaAorKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uLmgKK0BAIC0x MjMsNyArMTIzLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHZsY19pbml0X2F2Y29kZWModmxjX29i amVjdF90ICpvYmopCisgCisgICAgIHZsY19pbml0X2F2dXRpbChvYmopOworIAorLSNpZiAoTElC QVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA8IDEwMCkgfHwgKExJQkFWQ09ERUNfVkVSU0lPTl9JTlQg PCBBVl9WRVJTSU9OX0lOVCg1OCwgMTAsIDEwMCkpCisrI2lmIChMSUJBVkZPUk1BVF9WRVJTSU9O X01JQ1JPIDwgMTAwKSB8fCAhKExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OCwgMTAsIDEwMCkp CisgICAgIGF2Y29kZWNfcmVnaXN0ZXJfYWxsKCk7CisgI2VuZGlmCisgCitkaWZmIC0tZ2l0IGEv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitpbmRleCBiNTA0ZmNkODIxOC4uYWMwMmMwNmQyMzMg MTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKKysr KyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorQEAgLTMwLDYgKzMw LDEwIEBACisgI2lmZGVmIEhBVkVfTElCQVZDT0RFQ19BVkNPREVDX0gKKyAjaW5jbHVkZSA8bGli YXZjb2RlYy9hdmNvZGVjLmg+CisgCisrLyogY2hlY2sgdGhlIEZGbXBlZyBsaWJhdnV0aWwgdmVy c2lvbiAqLworKyNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCBhLCBkLCBlICkgXAor KyAgICAoTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVkNPREVDX1ZFUlNJ T05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCBhLCBkLCBlICkgKQorKworIC8qIExJQkFWX0NPREVD X1ZFUlNJT05fQ0hFQ0sgY2hlY2tzIGZvciB0aGUgcmlnaHQgdmVyc2lvbiBvZiBsaWJhdiBhbmQg RkZtcGVnCisgICogYSBpcyB0aGUgbWFqb3IgdmVyc2lvbgorICAqIGIgYW5kIGMgdGhlIG1pbm9y IGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBsaWJhdgorZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9kaXJlY3R4X3ZhLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZGlyZWN0eF92YS5j CitpbmRleCA1Yjc5ODBmZDk3ZC4uMzZhNWQ2MWE1NTkgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvZGlyZWN0eF92YS5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZGly ZWN0eF92YS5jCitAQCAtMjg0LDcgKzI4NCw3IEBAIHN0YXRpYyBjb25zdCBkaXJlY3R4X3ZhX21v ZGVfdCBEWFZBX01PREVTW10gPSB7CisgCisgICAgIC8qIFZQeCAqLworICAgICB7ICJWUDgiLCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJkRYVkFfTW9kZVZQOF9WTEQsICAgICAgICAgICAgICAgICAgICAgIDgs IDAsIE5VTEwgfSwKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lO VCggNTcsIDE3LCAxMDAgKSAmJiBMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPj0gMTAwCisrI2lm IExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDE3LCAxMDAgKQorICAgICB7ICJWUDkgcHJv ZmlsZSAwIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJkRYVkFfTW9kZVZQOV9WTERfUHJvZmlsZTAsICAgICAgICAgICAgIDgs IEFWX0NPREVDX0lEX1ZQOSwgUFJPRl9WUDlfTUFJTiB9LAorICAgICB7ICJWUDkgcHJvZmlsZSAy IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJkRYVkFfTW9kZVZQOV9WTERfMTBiaXRfUHJvZmlsZTIsICAgICAgIDEwLCBBVl9D T0RFQ19JRF9WUDksIFBST0ZfVlA5XzEwIH0sCisgI2Vsc2UKK0BAIC0yOTQsNyArMjk0LDcgQEAg c3RhdGljIGNvbnN0IGRpcmVjdHhfdmFfbW9kZV90IERYVkFfTU9ERVNbXSA9IHsKKyAgICAgeyAi VlA5IHByb2ZpbGUgSW50ZWwiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZEWFZBX01vZGVWUDlfVkxEX0ludGVsLCAgICAgICAgICAg ICAgICA4LCAwLCBOVUxMIH0sCisgCisgICAgIC8qIEFWMSAqLworLSNpZiBMSUJBVkNPREVDX1ZF UlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1OCwgMTEyLCAxMDMgKSAmJiBMSUJBVkNPREVD X1ZFUlNJT05fTUlDUk8gPj0gMTAwCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTgs IDExMiwgMTAzICkKKyAgICAgeyAiQVYxIE1haW4gcHJvZmlsZSA4IiwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEWFZBX01vZGVBVjFf VkxEX1Byb2ZpbGUwLCAgICAgICAgICAgICA4LCBBVl9DT0RFQ19JRF9BVjEsIFBST0ZfQVYxX01B SU4gfSwKKyAgICAgeyAiQVYxIE1haW4gcHJvZmlsZSAxMCIsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEWFZBX01vZGVBVjFfVkxEX1By b2ZpbGUwLCAgICAgICAgICAgICAxMCwgQVZfQ09ERUNfSURfQVYxLCBQUk9GX0FWMV9NQUlOIH0s CisgICAgIHsgIkFWMSBIaWdoIHByb2ZpbGUgOCIsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRFhWQV9Nb2RlQVYxX1ZMRF9Qcm9maWxl MSwgICAgICAgICAgICAgOCwgQVZfQ09ERUNfSURfQVYxLCBQUk9GX0FWMV9ISUdIIH0sCitkaWZm IC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVsZXMvY29kZWMv YXZjb2RlYy9lbmNvZGVyLmMKK2luZGV4IDljZjlhN2QwNjA3Li4yMDE0YjhhZmFmNSAxMDA2NDQK Ky0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKKysrKyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9lbmNvZGVyLmMKK0BAIC02MSw4ICs2MSw3IEBACisgCisgI2RlZmluZSBSQVdf QVVESU9fRlJBTUVfU0laRSAoMjA0OCkKKyAKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JP ID49IDEwMCAmJiBcCistICAgIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9J TlQoNTksIDAsIDEwMCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAwLCAxMDAp CisgIyBkZWZpbmUgQVZDX01BWUJFX0NPTlNUIGNvbnN0CisgI2Vsc2UKKyAjIGRlZmluZSBBVkNf TUFZQkVfQ09OU1QKK0BAIC0xODMsNyArMTgyLDcgQEAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHBp X2NoYW5uZWxzX21hcFtdWzJdID0KKyAgICAgeyBBVl9DSF9TVEVSRU9fUklHSFQsICAgICAgMCB9 LAorIH07CisgCistIyBpZiAhTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTks IDI0LCAxMDApCisrIyBpZiAhTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQor IHN0YXRpYyBjb25zdCB1aW50MzJfdCBjaGFubmVsX21hc2tbXVsyXSA9IHsKKyAgICAgezAsMH0s CisgICAgIHtBT1VUX0NIQU5fQ0VOVEVSLCBBVl9DSF9MQVlPVVRfTU9OT30sCitAQCAtNzY1LDcg Kzc2NCw3IEBAIGludCBJbml0VmlkZW9FbmMoIHZsY19vYmplY3RfdCAqcF90aGlzICkKKyAgICAg ICAgIHVpbnQzMl90IG9yZGVyX21hc2sgPSAwOworICAgICAgICAgaW50IGlfY2hhbm5lbHNfc3Jj ID0gMDsKKyAgICAgICAgIG1zZ19EYmcoIHBfZW5jLCAiQ3JlYXRpbmcgY2hhbm5lbCBvcmRlciBm b3IgcmVvcmRlcmluZyIpOworLSMgaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5 LCA5OTksIDI0LCAxMDApCisrIyBpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAx MDApCisgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmcF9jb250ZXh0LT5jaF9s YXlvdXQsIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAgICAgICAgIHVpbnQ2 NF90IGNoYW5uZWxfbWFzayA9IHBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzazsKKyAjIGVsc2UK K0BAIC05MTgsNyArOTE3LDcgQEAgZXJybXNnOgorIAorICAgICAgICAgaWYoIHBfZW5jLT5mbXRf b3V0LmF1ZGlvLmlfY2hhbm5lbHMgPiAyICkKKyAgICAgICAgIHsKKy0jaWYgTElCQVZfQ09ERUNf VkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKyAgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9k ZWZhdWx0KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIDIgKTsKKyAjZWxzZQorICAgICAgICAgICAg IHBfY29udGV4dC0+Y2hhbm5lbHMgPSAyOworQEAgLTEyODIsNyArMTI4MSw3IEBAIHN0YXRpYyBi bG9ja190ICpoYW5kbGVfZGVsYXlfYnVmZmVyKCBlbmNvZGVyX3QgKnBfZW5jLCBlbmNvZGVyX3N5 c190ICpwX3N5cywgdW5zCisgICAgIGF2X2ZyYW1lX3VucmVmKCBwX3N5cy0+ZnJhbWUgKTsKKyAg ICAgcF9zeXMtPmZyYW1lLT5mb3JtYXQgICAgID0gcF9zeXMtPnBfY29udGV4dC0+c2FtcGxlX2Zt dDsKKyAgICAgcF9zeXMtPmZyYW1lLT5uYl9zYW1wbGVzID0gbGVmdG92ZXJfc2FtcGxlcyArIHBf c3lzLT5pX3NhbXBsZXNfZGVsYXk7CistI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTks IDk5OSwgOTk5LCAyNCwgMTAwKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0 LCAxMDApCisgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hfbGF5 b3V0LCAmcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0KTsKKyAjZWxzZQorICAgICBwX3N5cy0+ ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQ7 CitAQCAtMTQxNyw3ICsxNDE2LDcgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29kZUF1ZGlvKCBlbmNv ZGVyX3QgKnBfZW5jLCBibG9ja190ICpwX2FvdXRfYnVmICkKKyAgICAgICAgIHBfc3lzLT5mcmFt ZS0+cHRzICAgICAgICA9IGRhdGVfR2V0KCAmcF9zeXMtPmJ1ZmZlcl9kYXRlICkgKiBwX3N5cy0+ cF9jb250ZXh0LT50aW1lX2Jhc2UuZGVuIC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDTE9DS19GUkVRIC8gcF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNlLm51bTsKKyAK Ky0jaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisr I2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKyAgICAgICAgIGF2X2No YW5uZWxfbGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hfbGF5b3V0LCAmcF9zeXMtPnBfY29u dGV4dC0+Y2hfbGF5b3V0KTsKKyAjZWxzZQorICAgICAgICAgcF9zeXMtPmZyYW1lLT5jaGFubmVs X2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0OworZGlmZiAtLWdpdCBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9m b3VyY2MuYworaW5kZXggM2FlYTZiNThmZjAuLmQ3NWMyMWZmYTQ5IDEwMDY0NAorLS0tIGEvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv Zm91cmNjLmMKK0BAIC0xODIsMTIgKzE4MiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19h dmNvZGVjX2ZvdXJjYyB2aWRlb19jb2RlY3NbXSA9CisgICAgIC8qIEFWX0NPREVDX0lEX1YyMTBY ICovCisgICAgIHsgVkxDX0NPREVDX1RNViwgQVZfQ09ERUNfSURfVE1WIH0sCisgICAgIHsgVkxD X0NPREVDX1YyMTAsIEFWX0NPREVDX0lEX1YyMTAgfSwKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9O X01JQ1JPID49IDEwMAorLSMgaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9O X0lOVCggNTksIDQyLCAxMDIgKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU5LCA0 MiwgMTAyICkKKyAgICAgeyBWTENfQ09ERUNfVlVZQSwgQVZfQ09ERUNfSURfUkFXVklERU8gfSwK Ky0jIGVsaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTQsIDUw LCAxMDAgKQorKyNlbGlmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTQsIDUwLCAxMDAgKQor ICAgICB7IFZMQ19DT0RFQ19WVVlBLCBBVl9DT0RFQ19JRF9BWVVWIH0sCistIyBlbmRpZgorICNl bmRpZgorICAgICAvKiBBVl9DT0RFQ19JRF9EUFggKi8KKyAgICAgeyBWTENfQ09ERUNfTUFELCBB Vl9DT0RFQ19JRF9NQUQgfSwKK0BAIC0yODUsMTkgKzI4MywxOSBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHZsY19hdmNvZGVjX2ZvdXJjYyB2aWRlb19jb2RlY3NbXSA9CisgICAgIC8qIGZmbXBlZyBv bmx5OiBBVl9DT0RFQ19JRF9TTk9XICovCisgICAgIC8qIGZmbXBlZyBvbmx5OiBBVl9DT0RFQ19J RF9TTVZKUEVHICovCisgCistI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTks IDk5OSwgMjQsIDEwMiApCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDI0LCAx MDIgKQorICAgICB7IFZMQ19DT0RFQ19DSU5FRk9STSwgQVZfQ09ERUNfSURfQ0ZIRCB9LAorICNl bmRpZgorIAorLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5OTksIDcw LCAxMDAgKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA3MCwgMTAwICkKKyAg ICAgeyBWTENfQ09ERUNfUElYTEVULCBBVl9DT0RFQ19JRF9QSVhMRVQgfSwKKyAjZW5kaWYKKyAK Ky0jaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAxICkK KysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgNzEsIDEwMSApCisgICAgIHsgVkxD X0NPREVDX1NQRUVESFEsIEFWX0NPREVDX0lEX1NQRUVESFEgfSwKKyAjZW5kaWYKKyAKKy0jaWYg TElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3OSwgMTAwICkKKysjaWYg TElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgNzksIDEwMCApCisgICAgIHsgVkxDX0NPREVD X0ZNVkMsIEFWX0NPREVDX0lEX0ZNVkMgfSwKKyAjZW5kaWYKKyB9OworQEAgLTQxNCw3ICs0MTIs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNvZGVjX2ZvdXJjYyBhdWRpb19jb2RlY3Nb XSA9CisgICAgIC8qIEFWX0NPREVDX0lEX1dFU1RXT09EX1NORDEgKi8KKyAgICAgeyBWTENfQ09E RUNfR1NNLCBBVl9DT0RFQ19JRF9HU00gfSwKKyAgICAgeyBWTENfQ09ERUNfUURNMiwgQVZfQ09E RUNfSURfUURNMiB9LAorLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5 OTksIDcxLCAxMDAgKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA3MSwgMTAw ICkKKyAgICAgeyBWTENfQ09ERUNfUURNQywgQVZfQ09ERUNfSURfUURNQyB9LAorICNlbmRpZgor ICAgICB7IFZMQ19DT0RFQ19DT09LLCBBVl9DT0RFQ19JRF9DT09LIH0sCitAQCAtNDgyLDcgKzQ4 MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmxjX2F2Y29kZWNfZm91cmNjIHNwdV9jb2RlY3Nb XSA9CisgICAgIHsgVkxDX0NPREVDX1NTQSwgQVZfQ09ERUNfSURfU1NBIH0sCisgICAgIC8qIEFW X0NPREVDX0lEX01PVl9URVhUICovCisgICAgIHsgVkxDX0NPREVDX0JEX1BHLCBBVl9DT0RFQ19J RF9IRE1WX1BHU19TVUJUSVRMRSB9LAorLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1 NywgOTk5LCA5OTksIDcxLCAxMDAgKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3 LCA3MSwgMTAwICkKKyAgICAgeyBWTENfQ09ERUNfQkRfVEVYVCwgQVZfQ09ERUNfSURfSERNVl9U RVhUX1NVQlRJVExFIH0sCisgI2VuZGlmCisgICAgIHsgVkxDX0NPREVDX1RFTEVURVhULCBBVl9D T0RFQ19JRF9EVkJfVEVMRVRFWFQgfSwKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvdmlkZW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCitpbmRleCA1NTJjNjAy ZWRmNi4uYzMwNmU5MTZjN2QgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlk ZW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKK0BAIC0xODI0LDggKzE4 MjQsNyBAQCBub19yZXVzZToKKyAgICAgaWYgKCFjYW5faHdhY2NlbCkKKyAgICAgICAgIHJldHVy biBzd2ZtdDsKKyAKKy0jaWYgKExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDApIFwKKy0g ICYmIChMSUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgQVZfVkVSU0lPTl9JTlQoNTcsIDgzLCAxMDEp KQorKyNpZiAoTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPID49IDEwMCkgJiYgIShMSUJBVkNPREVD X1ZFUlNJT05fQ0hFQ0soNTcsIDgzLCAxMDEpKQorICAgICBpZiAocF9jb250ZXh0LT5hY3RpdmVf dGhyZWFkX3R5cGUpCisgICAgIHsKKyAgICAgICAgIG1zZ19XYXJuKHBfZGVjLCAidGhyZWFkIHR5 cGUgJWQ6IGRpc2FibGluZyBoYXJkd2FyZSBhY2NlbGVyYXRpb24iLAorZGlmZiAtLWdpdCBhL21v ZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVt dXguYworaW5kZXggMzlkMjM2NmNlZjIuLjk5NzViMGY0N2I2IDEwMDY0NAorLS0tIGEvbW9kdWxl cy9kZW11eC9hdmZvcm1hdC9kZW11eC5jCisrKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2Rl bXV4LmMKK0BAIC00MDAsNyArNDAwLDcgQEAgaW50IGF2Zm9ybWF0X09wZW5EZW11eCggdmxjX29i amVjdF90ICpwX3RoaXMgKQorICAgICAgICAgICAgIGVzX2Zvcm1hdF9Jbml0KCAmZXNfZm10LCBB VURJT19FUywgZmNjICk7CisgICAgICAgICAgICAgZXNfZm10Lmlfb3JpZ2luYWxfZm91cmNjID0g Q29kZWNUYWdUb0ZvdXJjYyggY3AtPmNvZGVjX3RhZyApOworICAgICAgICAgICAgIGVzX2ZtdC5p X2JpdHJhdGUgPSBjcC0+Yml0X3JhdGU7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0g QVZfVkVSU0lPTl9JTlQoIDU5LCAyNCwgMTAwICkgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JP ID49IDEwMAorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU5LCAyNCwgMTAwICkKKyAg ICAgICAgICAgICBlc19mbXQuYXVkaW8uaV9jaGFubmVscyA9IGNwLT5jaF9sYXlvdXQubmJfY2hh bm5lbHM7CisgI2Vsc2UKKyAgICAgICAgICAgICBlc19mbXQuYXVkaW8uaV9jaGFubmVscyA9IGNw LT5jaGFubmVsczsKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jIGIv bW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworaW5kZXggNjY0YTY0NjczNGMuLmE0ODE5MGM5 M2NhIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworKysrIGIvbW9k dWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworQEAgLTI3Myw3ICsyNzMsNyBAQCBzdGF0aWMgaW50 IEFkZFN0cmVhbSggc291dF9tdXhfdCAqcF9tdXgsIHNvdXRfaW5wdXRfdCAqcF9pbnB1dCApCisg ICAgIHsKKyAgICAgY2FzZSBBVURJT19FUzoKKyAgICAgICAgIGNvZGVjcGFyLT5jb2RlY190eXBl ID0gQVZNRURJQV9UWVBFX0FVRElPOworLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UID49IEFW X1ZFUlNJT05fSU5UKCA1OSwgMjQsIDEwMCApICYmIExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+ PSAxMDAKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1OSwgMjQsIDEwMCApCisgICAg ICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmY29kZWNwYXItPmNoX2xheW91dCwgZm10 LT5hdWRpby5pX2NoYW5uZWxzICk7CisgI2Vsc2UKKyAgICAgICAgIGNvZGVjcGFyLT5jaGFubmVs cyA9IGZtdC0+YXVkaW8uaV9jaGFubmVsczsKKy0tIAorR2l0TGFiCisKKworRnJvbSA1MzQ1NjRi Mjg5ZGI3ZWU5NjZhYmY4ODgyMDcyNThjM2U2ODI4Yzk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogWmhhbyBaaGlsaSA8cXVpbmtibGFja0Bmb3htYWlsLmNvbT4KK0RhdGU6IEZyaSwg MTEgSnVuIDIwMjEgMTg6MDI6MzQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwNy8xNV0gY29kZWM6 IGF2Y29kZWM6IGNoZWNrIG9wZW4gY29kZWMgcmV0dXJuIHZhbHVlCisKKyhjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IDIxYWI2YmUyMmU3YzE4MzFjZWJmMDIzZmQ1M2JkN2ZmYmZhZDIyZjYpIChl ZGl0ZWQpCitlZGl0ZWQ6CistIG9uIDMuMCBEZWNvZGVCbG9jayByZXR1cm5zIGEgcGljdHVyZV90 LCBub3QgYW4gZXJyb3IgY29kZQorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMg fCAgNyArKysrKystCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgfCAxMSArKysrKysr LS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2F1ZGlvLmMKK2luZGV4IGEzZjY3ZjdiZDkzLi5lODQzNjc1NGY0YSAxMDA2 NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCisrKysgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXVkaW8uYworQEAgLTMwOSw3ICszMDksMTIgQEAgc3RhdGljIGludCBEZWNv ZGVCbG9jayggZGVjb2Rlcl90ICpwX2RlYywgYmxvY2tfdCAqKnBwX2Jsb2NrICkKKyAgICAgICYm ICFhdmNvZGVjX2lzX29wZW4oIGN0eCApICkKKyAgICAgeworICAgICAgICAgSW5pdERlY29kZXJD b25maWcoIHBfZGVjLCBjdHggKTsKKy0gICAgICAgIE9wZW5BdWRpb0NvZGVjKCBwX2RlYyApOwor KyAgICAgICAgaWYoIE9wZW5BdWRpb0NvZGVjKCBwX2RlYyApIDwgMCApCisrICAgICAgICB7Cisr ICAgICAgICAgICAgaWYoIHBwX2Jsb2NrICE9IE5VTEwgJiYgKnBwX2Jsb2NrICE9IE5VTEwgKQor KyAgICAgICAgICAgICAgICBibG9ja19SZWxlYXNlKCAqcHBfYmxvY2sgKTsKKysgICAgICAgICAg ICByZXR1cm4gVkxDREVDX0VDUklUSUNBTDsKKysgICAgICAgIH0KKyAgICAgfQorIAorICAgICBp ZiggIWF2Y29kZWNfaXNfb3BlbiggY3R4ICkgKQorZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy92aWRlby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKK2luZGV4IGMz MDZlOTE2YzdkLi4wOTZhMGI3OTQwZSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy92aWRlby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworQEAgLTExMTQs MTcgKzExMTQsMjAgQEAgc3RhdGljIHBpY3R1cmVfdCAqRGVjb2RlQmxvY2soIGRlY29kZXJfdCAq cF9kZWMsIGJsb2NrX3QgKipwcF9ibG9jaywgYm9vbCAqZXJyb3IKKyAgICAgYm9vbCBlb3Nfc3Bv dHRlZCA9IGZhbHNlOworIAorIAorLSAgICBibG9ja190ICpwX2Jsb2NrOworKyAgICBibG9ja190 ICpwX2Jsb2NrID0gcHBfYmxvY2sgPyAqcHBfYmxvY2sgOiBOVUxMOworICAgICB2bGNfdGlja190 IGN1cnJlbnRfdGltZTsKKyAKKyAgICAgaWYoICFwX2NvbnRleHQtPmV4dHJhZGF0YV9zaXplICYm IHBfZGVjLT5mbXRfaW4uaV9leHRyYSApCisgICAgIHsKKyAgICAgICAgIGZmbXBlZ19Jbml0Q29k ZWMoIHBfZGVjICk7CistICAgICAgICBpZiggIWF2Y29kZWNfaXNfb3BlbiggcF9jb250ZXh0ICkg KQorLSAgICAgICAgICAgIE9wZW5WaWRlb0NvZGVjKCBwX2RlYyApOworKyAgICAgICAgaWYoICFh dmNvZGVjX2lzX29wZW4oIHBfY29udGV4dCApICYmIE9wZW5WaWRlb0NvZGVjKHBfZGVjKSA8IDAg KQorKyAgICAgICAgeworKyAgICAgICAgICAgIGlmKCBwX2Jsb2NrICE9IE5VTEwgKQorKyAgICAg ICAgICAgICAgICBibG9ja19SZWxlYXNlKCBwX2Jsb2NrICk7CisrICAgICAgICAgICAgcmV0dXJu IE5VTEw7CisrICAgICAgICB9CisgICAgIH0KKyAKKy0gICAgcF9ibG9jayA9IHBwX2Jsb2NrID8g KnBwX2Jsb2NrIDogTlVMTDsKKyAgICAgaWYoIXBfYmxvY2sgJiYgIShwX3N5cy0+cF9jb2RlYy0+ Y2FwYWJpbGl0aWVzICYgQVZfQ09ERUNfQ0FQX0RFTEFZKSApCisgICAgICAgICByZXR1cm4gTlVM TDsKKyAKKy0tIAorR2l0TGFiCisKKworRnJvbSBiMmI1NGViMWVmYTNlY2M3MmE0YTY0ZDBkOTYy Y2FiMDY3NmZiY2UxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RldmUgTGhvbW1l IDxyb2J1eDRAeWNiY3IueHl6PgorRGF0ZTogRnJpLCA2IEphbiAyMDIzIDEwOjE2OjA5ICswMTAw CitTdWJqZWN0OiBbUEFUQ0ggMDgvMTVdIGF2Y29kZWM6IHVzZSBBUlJBWV9TSVpFIGluc3RlYWQg b2YgY3VzdG9tIGNvZGUKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjhjODBlZTQ3ZTZj ZGY5NjFmNTAxZWVkOWQ0ODM3OTU2YjM4YWZkMSkKKy0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdWRpby5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworaW5kZXggZTg0MzY3NTRmNGEuLjIwNzQ0MDEw NDMzIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKKysrKyBiL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitAQCAtNTU4LDcgKzU1OCw3IEBAIHZsY19mb3Vy Y2NfdCBHZXRWbGNBdWRpb0Zvcm1hdCggaW50IGZtdCApCisgICAgICAgICBbQVZfU0FNUExFX0ZN VF9GTFRQXSAgPSBWTENfQ09ERUNfRkwzMiwKKyAgICAgICAgIFtBVl9TQU1QTEVfRk1UX0RCTFBd ICA9IFZMQ19DT0RFQ19GTDY0LAorICAgICB9OworLSAgICBpZiggKHNpemVvZihmY2MpIC8gc2l6 ZW9mKGZjY1swXSkpID4gKHVuc2lnbmVkKWZtdCApCisrICAgIGlmKCBBUlJBWV9TSVpFKGZjYykg PiAodW5zaWduZWQpZm10ICkKKyAgICAgICAgIHJldHVybiBmY2NbZm10XTsKKyAgICAgcmV0dXJu IFZMQ19DT0RFQ19TMTZOOworIH0KKy0tIAorR2l0TGFiCisKKworRnJvbSA3NjNkYzNlYmE1MmNi NzYzM2E4NGY0NGRjZGUxOTYwMmZjYTVlYWM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogSWxra2EgT2xsYWtrYSA8aWxlb29AdmlkZW9sYW4ub3JnPgorRGF0ZTogV2VkLCA1IEp1bCAy MDIzIDE1OjA5OjU3ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMDkvMTVdIGF2Y29kZWMvYXVkaW86 IG1ha2UgY2hhbm5lbCBtYXBwaW5nIGFycmF5IDAgdGVybWluYXRlZAorCitBbHNvIGNoYW5nZSBw aV9jaGFubmVsc19zcmMgdG8gYmUgb25seSBBT1VUX0NIQU5fTUFYIGluc3RlYWQgb2Ygc2FtZQor c2l6ZSBhcyBtYXBwaW5nIGFycmF5LgorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwZmY4 NmJmOGEyOGEwODAzNDBmNjAwY2I4NTYxODE1ZmM0M2UzYjRhKSAocmViYXNlZCkKK3JlYmFzZWQ6 CistIHRoZSBjb2RlIGFyb3VuZCBpcyBzbGlnaHRseSBkaWZmZXJlbnQKKy0tLQorIG1vZHVsZXMv Y29kZWMvYXZjb2RlYy9hdWRpby5jIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworaW5kZXggMjA3 NDQwMTA0MzMuLjA0YzU0MDE3M2JmIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2F1ZGlvLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitAQCAtNTg1LDYg KzU4NSw3IEBAIHN0YXRpYyBjb25zdCB1aW50NjRfdCBwaV9jaGFubmVsc19tYXBbXVsyXSA9Cisg ICAgIHsgQVZfQ0hfVE9QX0JBQ0tfUklHSFQsICAgIDAgfSwKKyAgICAgeyBBVl9DSF9TVEVSRU9f TEVGVCwgICAgICAgMCB9LAorICAgICB7IEFWX0NIX1NURVJFT19SSUdIVCwgICAgICAwIH0sCisr ICAgIHsgMCwgMCB9LAorIH07CisgCisgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRl Y29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCitAQCAtNjE3LDggKzYxOCw3IEBAIHN0YXRp YyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1c3Qg KQorICAgICB9CisgI2VuZGlmCisgCistICAgIGNvbnN0IHVuc2lnbmVkIGlfb3JkZXJfbWF4ID0g c2l6ZW9mKHBpX2NoYW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9jaGFubmVsc19tYXApOworLSAgICB1 aW50MzJfdCBwaV9vcmRlcl9zcmNbaV9vcmRlcl9tYXhdOworKyAgICB1aW50MzJfdCBwaV9vcmRl cl9zcmNbQU9VVF9DSEFOX01BWF0gPSB7IDAgfTsKKyAKKyAgICAgaW50IGlfY2hhbm5lbHNfc3Jj ID0gMCwgY2hhbm5lbF9jb3VudDsKKyAgICAgdWludDY0X3QgY2hhbm5lbF9sYXlvdXRfbWFzazsK K0BAIC02MzcsNyArNjM3LDcgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29k ZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgCisgICAgIGlmKCBjaGFubmVsX2xheW91dF9t YXNrICkKKyAgICAgeworLSAgICAgICAgZm9yKCB1bnNpZ25lZCBpID0gMDsgaSA8IGlfb3JkZXJf bWF4CisrICAgICAgICBmb3IoIHVuc2lnbmVkIGkgPSAwOyBwaV9jaGFubmVsc19tYXBbaV1bMF0K KyAgICAgICAgICAmJiBpX2NoYW5uZWxzX3NyYyA8IGNoYW5uZWxfY291bnQ7IGkrKyApCisgICAg ICAgICB7CisgICAgICAgICAgICAgaWYoIGNoYW5uZWxfbGF5b3V0X21hc2sgJiBwaV9jaGFubmVs c19tYXBbaV1bMF0gKQorLS0gCitHaXRMYWIKKworCitGcm9tIGQxZmI1YzZjYjM3MmQyMjMzMDQ2 MDY0ZGIxNzRkYWYxOTg3YzEyMTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VU Ri04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25pZT89IDxmY3ZsY2RldkBmcmVlLmZyPgorRGF0 ZTogTW9uLCAxMCBKdW4gMjAyNCAxMToxMDozNyArMDcwMAorU3ViamVjdDogW1BBVENIIDEwLzE1 XSBjb2RlYzogYXZjb2RlYzogZml4IGNoX2xheW91dCByZXF1aXJlbWVudAorCityZWZzICMyODY2 NworCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0MTc3ODUzNWRjYWU4YjE0NWViZmFhMDM5 MmRlMjgxZTQ3MGE5MWJmKSAoZWRpdGVkKQorZWRpdGVkOgorLSBvbiAzLjAgdGhlIGF1ZGlvIGNo ZWNrIHdhcyBzdGlsbCB1c2luZyBhIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyBjaGVjaworLSB0 aGUgbXV4L2RlbXV4IGNoZWNrcyB3ZXJlIGFscmVhZHkgdGhlcmUgd2l0aCBkaWZmZXJlbnQgc3Bh Y2VzCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyAgfCAyICstCisgbW9kdWxl cy9kZW11eC9hdmZvcm1hdC9kZW11eC5jIHwgMiArLQorIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQv bXV4LmMgICB8IDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK2luZGV4IDA0YzU0MDE3M2JmLi45NzkyNTZj NDAwYSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCisrKysgYi9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworQEAgLTE0Miw3ICsxNDIsNyBAQCBzdGF0aWMg aW50IE9wZW5BdWRpb0NvZGVjKCBkZWNvZGVyX3QgKnBfZGVjICkKKyAgICAgfQorIAorICAgICBj dHgtPnNhbXBsZV9yYXRlID0gcF9kZWMtPmZtdF9pbi5hdWRpby5pX3JhdGU7CistI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKysjaWYgTElCQVZVVElMX1ZFUlNJT05f Q0hFQ0soNTcsIDI0LCAxMDApCisgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZjdHgt PmNoX2xheW91dCwgcF9kZWMtPmZtdF9pbi5hdWRpby5pX2NoYW5uZWxzICk7CisgI2Vsc2UKKyAg ICAgY3R4LT5jaGFubmVscyA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVsczsKK2RpZmYg LS1naXQgYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2 Zm9ybWF0L2RlbXV4LmMKK2luZGV4IDk5NzViMGY0N2I2Li5jNDlmN2ViNGZjMCAxMDA2NDQKKy0t LSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYworKysrIGIvbW9kdWxlcy9kZW11eC9h dmZvcm1hdC9kZW11eC5jCitAQCAtNDAwLDcgKzQwMCw3IEBAIGludCBhdmZvcm1hdF9PcGVuRGVt dXgoIHZsY19vYmplY3RfdCAqcF90aGlzICkKKyAgICAgICAgICAgICBlc19mb3JtYXRfSW5pdCgg JmVzX2ZtdCwgQVVESU9fRVMsIGZjYyApOworICAgICAgICAgICAgIGVzX2ZtdC5pX29yaWdpbmFs X2ZvdXJjYyA9IENvZGVjVGFnVG9Gb3VyY2MoIGNwLT5jb2RlY190YWcgKTsKKyAgICAgICAgICAg ICBlc19mbXQuaV9iaXRyYXRlID0gY3AtPmJpdF9yYXRlOworLSNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soIDU5LCAyNCwgMTAwICkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5 LCAyNCwgMTAwKQorICAgICAgICAgICAgIGVzX2ZtdC5hdWRpby5pX2NoYW5uZWxzID0gY3AtPmNo X2xheW91dC5uYl9jaGFubmVsczsKKyAjZWxzZQorICAgICAgICAgICAgIGVzX2ZtdC5hdWRpby5p X2NoYW5uZWxzID0gY3AtPmNoYW5uZWxzOworZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVtdXgvYXZm b3JtYXQvbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitpbmRleCBhNDgxOTBj OTNjYS4uMDkwZWQ5ZjViZmEgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211 eC5jCisrKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitAQCAtMjczLDcgKzI3Myw3 IEBAIHN0YXRpYyBpbnQgQWRkU3RyZWFtKCBzb3V0X211eF90ICpwX211eCwgc291dF9pbnB1dF90 ICpwX2lucHV0ICkKKyAgICAgeworICAgICBjYXNlIEFVRElPX0VTOgorICAgICAgICAgY29kZWNw YXItPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87CistI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyggNTksIDI0LCAxMDAgKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0so NTksIDI0LCAxMDApCisgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmY29kZWNw YXItPmNoX2xheW91dCwgZm10LT5hdWRpby5pX2NoYW5uZWxzICk7CisgI2Vsc2UKKyAgICAgICAg IGNvZGVjcGFyLT5jaGFubmVscyA9IGZtdC0+YXVkaW8uaV9jaGFubmVsczsKKy0tIAorR2l0TGFi CisKKworRnJvbSAwYmNiMzA2YjdjMDU1NDlhNzk1YjkwMWFlMzNkNmM3MjA0NDU2NzE2IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RldmUgTGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6 PgorRGF0ZTogVHVlLCAxOCBKdW4gMjAyNCAxNTozNDoxMCArMDIwMAorU3ViamVjdDogW1BBVENI IDExLzE1XSBmZm1wZWc6IGZpeCBsaWJhdnV0aWwgdmVyc2lvbiBjaGVjayBmb3IKKyBhdl9jaGFu bmVsX2xheW91dF9kZWZhdWx0KCkKKworSXQgd2FzIGFkZGVkIGluIGM0MTg5OWEzNzcwY2I0NTEw ZTE1YjIyM2ZhMzRkMTI5MzA1YjE1ODkgd2hpY2gKK3dhcyBsaWJhdnV0aWwgNTcuMjMuMTAwIGF0 IHRoZSB0aW1lIGJ1dCB0aGUgbWlub3IgdmVyc2lvbiB3YXMgbm90IHVwZGF0ZWQgaW4KK3RoYXQg Y29tbWl0IHNvIHdlIGNoZWNrIDU3LjI0LjEwMC4KKworVGhlIHNhbWUgY2hlY2sgYXBwbGllcyBm b3IgYXZfY2hhbm5lbF9sYXlvdXRfY29weSgpIGFkZGVkIGluIHRoZSBzYW1lIGNvbW1pdC4KKwor VGhpcyBpcyBwYXJ0IG9mIEZGbXBlZyA1LjEuCisKK2h0dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcv RkZtcGVnL2NvbW1pdC8wODZhODA0ODA2MWJmOWZiNGM2Mzk0M2Y2OTYyZGI0ODE3NWY2NTVjCiso Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxOTVmMGM5ODU5OWI1NTk1MGM0OWE2MmY5OGQ5ZDM0 OTViZTMxMGRmKSAocmViYXNlZCkKK3JlYmFzZWQ6CistIHRoZSBjb2RlIGFyb3VuZCBpcyBzbGln aHRseSBkaWZmZXJlbnQKKy0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMgfCA4 ICsrKystLS0tCisgbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyAgICB8IDIgKy0KKyAyIGZp bGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvZW5jb2Rlci5jCitpbmRleCAyMDE0YjhhZmFmNS4uZWM2M2M5YzU0MzkgMTAwNjQ0CistLS0g YS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvZW5jb2Rlci5jCitAQCAtNzY0LDcgKzc2NCw3IEBAIGludCBJbml0VmlkZW9FbmMoIHZs Y19vYmplY3RfdCAqcF90aGlzICkKKyAgICAgICAgIHVpbnQzMl90IG9yZGVyX21hc2sgPSAwOwor ICAgICAgICAgaW50IGlfY2hhbm5lbHNfc3JjID0gMDsKKyAgICAgICAgIG1zZ19EYmcoIHBfZW5j LCAiQ3JlYXRpbmcgY2hhbm5lbCBvcmRlciBmb3IgcmVvcmRlcmluZyIpOworLSMgaWYgTElCQVZD T0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQorKyMgaWYgTElCQVZDT0RFQ19WRVJTSU9O X0NIRUNLKDU5LCAyNCwgMTAwKSAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEw MCkKKyAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZwX2NvbnRleHQtPmNoX2xh eW91dCwgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyApOworICAgICAgICAgdWludDY0 X3QgY2hhbm5lbF9tYXNrID0gcF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOworICMgZWxzZQor QEAgLTkxNyw3ICs5MTcsNyBAQCBlcnJtc2c6CisgCisgICAgICAgICBpZiggcF9lbmMtPmZtdF9v dXQuYXVkaW8uaV9jaGFubmVscyA+IDIgKQorICAgICAgICAgeworLSNpZiBMSUJBVkNPREVDX1ZF UlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1 OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisgICAg ICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0 LCAyICk7CisgI2Vsc2UKKyAgICAgICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxzID0gMjsKK0BA IC0xMjgxLDcgKzEyODEsNyBAQCBzdGF0aWMgYmxvY2tfdCAqaGFuZGxlX2RlbGF5X2J1ZmZlcigg ZW5jb2Rlcl90ICpwX2VuYywgZW5jb2Rlcl9zeXNfdCAqcF9zeXMsIHVucworICAgICBhdl9mcmFt ZV91bnJlZiggcF9zeXMtPmZyYW1lICk7CisgICAgIHBfc3lzLT5mcmFtZS0+Zm9ybWF0ICAgICA9 IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7CisgICAgIHBfc3lzLT5mcmFtZS0+bmJfc2Ft cGxlcyA9IGxlZnRvdmVyX3NhbXBsZXMgKyBwX3N5cy0+aV9zYW1wbGVzX2RlbGF5OworLSNpZiBM SUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisrI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0 LCAxMDApCisgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hfbGF5 b3V0LCAmcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0KTsKKyAjZWxzZQorICAgICBwX3N5cy0+ ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQ7 CitAQCAtMTQxNiw3ICsxNDE2LDcgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29kZUF1ZGlvKCBlbmNv ZGVyX3QgKnBfZW5jLCBibG9ja190ICpwX2FvdXRfYnVmICkKKyAgICAgICAgIHBfc3lzLT5mcmFt ZS0+cHRzICAgICAgICA9IGRhdGVfR2V0KCAmcF9zeXMtPmJ1ZmZlcl9kYXRlICkgKiBwX3N5cy0+ cF9jb250ZXh0LT50aW1lX2Jhc2UuZGVuIC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDTE9DS19GUkVRIC8gcF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNlLm51bTsKKyAK Ky0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQorKyNpZiBMSUJBVkNP REVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNL KDU3LCAyNCwgMTAwKQorICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29weSgmcF9zeXMtPmZy YW1lLT5jaF9sYXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQpOworICNlbHNlCisg ICAgICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+ Y2hhbm5lbF9sYXlvdXQ7CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXgu YyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK2luZGV4IDA5MGVkOWY1YmZhLi5iZjY1 Y2EzNjcxNiAxMDA2NDQKKy0tLSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKKysrKyBi L21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK0BAIC0yNzMsNyArMjczLDcgQEAgc3RhdGlj IGludCBBZGRTdHJlYW0oIHNvdXRfbXV4X3QgKnBfbXV4LCBzb3V0X2lucHV0X3QgKnBfaW5wdXQg KQorICAgICB7CisgICAgIGNhc2UgQVVESU9fRVM6CisgICAgICAgICBjb2RlY3Bhci0+Y29kZWNf dHlwZSA9IEFWTUVESUFfVFlQRV9BVURJTzsKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNL KDU5LCAyNCwgMTAwKQorKyNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkK KyAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZjb2RlY3Bhci0+Y2hfbGF5b3V0 LCBmbXQtPmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAjZWxzZQorICAgICAgICAgY29kZWNwYXItPmNo YW5uZWxzID0gZm10LT5hdWRpby5pX2NoYW5uZWxzOworLS0gCitHaXRMYWIKKworCitGcm9tIDM4 Zjk2MzhlYzcxYzJmZTkxN2RmZDk5YWMyZTE3OTViMzM1N2NmYzMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRlOiBUdWUs IDE4IEp1biAyMDI0IDE2OjA0OjQxICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTIvMTVdIGZmbXBl ZzogZml4IGxpYmF2Y29kZWMgdmVyc2lvbiBjaGVjayBmb3IKKyBBVkNvZGVjUGFyYW1ldGVycy5j aF9sYXlvdXQKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworSXQgd2FzIGFk ZGVkIGluIDI3NmMwNjcyNmZiZDJmNzg0ZDUxMTg5ODcwYmQ4MzRlOTI4NDgxMmYgd2hpY2gKK3dh cyBsaWJhdmNvZGVjIDU5LjIzLjEwMCBhdCB0aGUgdGltZSBidXQgdGhlIG1pbm9yIHZlcnNpb24g d2FzIG5vdCB1cGRhdGVkIGluCit0aGF0IGNvbW1pdCBzbyB3ZSBjaGVjayA1OS4yNC4xMDAuCisK K1RoaXMgaXMgcGFydCBvZiBGRm1wZWcgNS4xLgorCitJdCB3YXMgZXJyb25lb3VzbHkgcmVtb3Zl ZCBpbiBhNTVlYzMyYWIzNzYwZDllZGI2ZjA1NDgxY2QzYTk4MWFhNDI4NzhkLgorCitodHRwczov L2dpdGh1Yi5jb20vRkZtcGVnL0ZGbXBlZy9jb21taXQvMjc2YzA2NzI2ZmJkMmY3ODRkNTExODk4 NzBiZDgzNGU5Mjg0ODEyZgorCitDby1hdXRob3JlZC1ieTogRnJhbsOnb2lzIENhcnRlZ25pZSA8 ZmN2bGNkZXZAZnJlZS5mcj4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDU5N2JkYjhlMDc4 NDEwMWI1ZjQxMmZlYmEzMzA5NTU4YWQ1Yjg4NjIpCistLS0KKyBtb2R1bGVzL2RlbXV4L2F2Zm9y bWF0L211eC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyBiL21v ZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK2luZGV4IGJmNjVjYTM2NzE2Li5kOGJlNWQxZDlm NSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKKysrKyBiL21vZHVs ZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK0BAIC0yNzMsNyArMjczLDcgQEAgc3RhdGljIGludCBB ZGRTdHJlYW0oIHNvdXRfbXV4X3QgKnBfbXV4LCBzb3V0X2lucHV0X3QgKnBfaW5wdXQgKQorICAg ICB7CisgICAgIGNhc2UgQVVESU9fRVM6CisgICAgICAgICBjb2RlY3Bhci0+Y29kZWNfdHlwZSA9 IEFWTUVESUFfVFlQRV9BVURJTzsKKy0jaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0 LCAxMDApCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYgTElC QVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisgICAgICAgICBhdl9jaGFubmVsX2xh eW91dF9kZWZhdWx0KCAmY29kZWNwYXItPmNoX2xheW91dCwgZm10LT5hdWRpby5pX2NoYW5uZWxz ICk7CisgI2Vsc2UKKyAgICAgICAgIGNvZGVjcGFyLT5jaGFubmVscyA9IGZtdC0+YXVkaW8uaV9j aGFubmVsczsKKy0tIAorR2l0TGFiCisKKworRnJvbSAwOTM5ZDU1YjgxZTkxNmZmMzAzZjkyZjMw MTI1N2MyZTA4ODVmZGI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RldmUgTGhv bW1lIDxyb2J1eDRAeWNiY3IueHl6PgorRGF0ZTogV2VkLCAxOSBKdW4gMjAyNCAxMzo0MTowNCAr MDIwMAorU3ViamVjdDogW1BBVENIIDEzLzE1XSBhdmNvZGVjOiBmaXggbGliYXZjb2RlYyB2ZXJz aW9uIGNoZWNrIGZvcgorIEFWQ29kZWNDb250ZXh0LmNoX2xheW91dAorTUlNRS1WZXJzaW9uOiAx LjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAorCitJdCB3YXMgYWRkZWQgaW4gNTQ4YWViOTM4MzRiODQyNWM4 NmQxY2U2MGZkZGMxZDQxODA1NzI0ZCB3aGljaAord2FzIGxpYmF2Y29kZWMgNTkuMjMuMTAwIGF0 IHRoZSB0aW1lIGJ1dCB0aGUgbWlub3IgdmVyc2lvbiB3YXMgbm90IHVwZGF0ZWQgaW4KK3RoYXQg Y29tbWl0IHNvIHdlIGNoZWNrIDU5LjI0LjEwMC4KKworVGhpcyBpcyBwYXJ0IG9mIEZGbXBlZyA1 LjEuCisKK2h0dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcvRkZtcGVnL2NvbW1pdC81NDhhZWI5Mzgz NGI4NDI1Yzg2ZDFjZTYwZmRkYzFkNDE4MDU3MjRkCisKK0NvLWF1dGhvcmVkLWJ5OiBGcmFuw6dv aXMgQ2FydGVnbmllIDxmY3ZsY2RldkBmcmVlLmZyPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgOGZkOTE4Yjg3ODdiOGQwNzdkZWNmMWEyYjk1NWFiMGM3Yjk2NGJmMykgKHJlYmFzZWQpCity ZWJhc2VkOgorLSBvbiAzLjAgZm10X2luIGlzIG5vdCBhIHBvaW50ZXIKKy0tLQorIG1vZHVsZXMv Y29kZWMvYXZjb2RlYy9hdWRpby5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworaW5kZXggOTc5MjU2YzQw MGEuLmZiMjJmMDMzMDA1IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlv LmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitAQCAtMTQyLDcgKzE0Miw3 IEBAIHN0YXRpYyBpbnQgT3BlbkF1ZGlvQ29kZWMoIGRlY29kZXJfdCAqcF9kZWMgKQorICAgICB9 CisgCisgICAgIGN0eC0+c2FtcGxlX3JhdGUgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfcmF0ZTsK Ky0jaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisrI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0so NTcsIDI0LCAxMDApCisgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZjdHgtPmNoX2xh eW91dCwgcF9kZWMtPmZtdF9pbi5hdWRpby5pX2NoYW5uZWxzICk7CisgI2Vsc2UKKyAgICAgY3R4 LT5jaGFubmVscyA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVsczsKKy0tIAorR2l0TGFi CisKKworRnJvbSBlNTA3MmIzNDA0MjVlNzg2YjllMzc2Y2RmNGJmZjQ5NjJjNmUzMmYyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RldmUgTGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6 PgorRGF0ZTogV2VkLCAxOSBKdW4gMjAyNCAwODozNjo0MCArMDIwMAorU3ViamVjdDogW1BBVENI IDE0LzE1XSBmZm1wZWc6IGZpeCBsaWJhdnV0aWwgdmVyc2lvbiBjaGVjayBmb3IKKyBBVkZyYW1l LmNoX2xheW91dAorCitJdCB3YXMgYWRkZWQgaW4gZGI2ZWZhMTgxNWUyMTdlZDc2ZjM5YWVlOGIx NWVlNWM2NDY5ODUzNyB3aGljaAord2FzIGxpYmF2dXRpbCA1Ny4yMy4xMDAgYXQgdGhlIHRpbWUg YnV0IHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBub3QgdXBkYXRlZCBpbgordGhhdCBjb21taXQgc28g d2UgY2hlY2sgNTcuMjQuMTAwLgorCitUaGlzIGlzIHBhcnQgb2YgRkZtcGVnIDUuMS4KKworaHR0 cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcvY29tbWl0L2RiNmVmYTE4MTVlMjE3ZWQ3NmYz OWFlZThiMTVlZTVjNjQ2OTg1MzcKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGYyMzcxNTU4 ODdmMDQ5ZjhiZWZlZjJmZGZhZGFlN2I2MGY2OTdiMGQpCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2 Y29kZWMvYXVkaW8uYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5j IGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK2luZGV4IGZiMjJmMDMzMDA1Li5jMjc3 NzFhZWIyZSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCisrKysg Yi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworQEAgLTQwNyw3ICs0MDcsNyBAQCBzdGF0 aWMgaW50IERlY29kZUJsb2NrKCBkZWNvZGVyX3QgKnBfZGVjLCBibG9ja190ICoqcHBfYmxvY2sg KQorICAgICAgICAgcmV0ID0gYXZjb2RlY19yZWNlaXZlX2ZyYW1lKCBjdHgsIGZyYW1lICk7Cisg ICAgICAgICBpZiggcmV0ID09IDAgKQorICAgICAgICAgeworLSNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soNTksIDI0LCAxMDApCisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAy NCwgMTAwKQorICAgICAgICAgICAgIGludCBjaGFubmVscyA9IGZyYW1lLT5jaF9sYXlvdXQubmJf Y2hhbm5lbHM7CisgI2Vsc2UKKyAgICAgICAgICAgICBpbnQgY2hhbm5lbHMgPSBjdHgtPmNoYW5u ZWxzOworLS0gCitHaXRMYWIKKworCitGcm9tIDE3MTNiZTU1MmY5ZTI2MjYwYTNhYzMzY2UwNGFi ODlmNjYwNzgwY2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/RnJh bj1DMz1BN29pcz0yMENhcnRlZ25pZT89IDxmY3ZsY2RldkBmcmVlLmZyPgorRGF0ZTogVGh1LCAy MCBKdW4gMjAyNCAxMzoxMjozNyArMDIwMAorU3ViamVjdDogW1BBVENIIDE1LzE1XSBhdmNvZGVj OiBhZGQgYSBkZWZpbmUgdG8gdGVzdCBmb3IKKyBBVkNvZGVjQ29udGV4dC5jaF9sYXlvdXQgYXZh aWxhYmlsaXR5CisKK0NvLWF1dGhvcmVkLWJ5OiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54 eXo+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAzYWJmOTM3MzVkZjk3Y2MyYzk2ZTExMDI4 Yjc2MDY3NTQ3YzI3ZWI3KSAocmViYXNlZCkKK3JlYmFzZWQ6CistIG9uIDMuMCB0aGUgZm10X2lu IGlzIG5vdCBhIHBvaW50ZXIKKy0gdGhlIGNvZGUgYXJvdW5kIGlzIHNsaWdodGx5IGRpZmZlcmVu dCBkdWUgdG8gdGhlIHVzZSBvZiBBUElfQ0hBTk5FTF9MQVlPVVQKKy0tLQorIG1vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdWRpby5jICAgfCAgOCArKysrKy0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2Rl Yy9lbmNvZGVyLmMgfCAxMiArKysrKysrLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2Vy dGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitpbmRleCBjMjc3 NzFhZWIyZS4uYjYxODZkNmVjNTYgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXVkaW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK0BAIC00MSw2ICs0 MSw4IEBACisgI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorICNpbmNsdWRlIDxsaWJh dnV0aWwvbWVtLmg+CisgCisrI2RlZmluZSBBUElfQ0hBTk5FTF9MQVlPVVRfU1RSVUNUIChMSUJB VkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApKSAvLyBBVkNvZGVjQ29udGV4dC5jaF9s YXlvdXQKKysKKyAjZGVmaW5lIEFQSV9DSEFOTkVMX0xBWU9VVCAoTElCQVZfVVRJTF9WRVJTSU9O X0NIRUNLKCA1MiwgMiwgNiwgMCwgMTAwKSkKKyAKKyAjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCitA QCAtMTQyLDcgKzE0NCw3IEBAIHN0YXRpYyBpbnQgT3BlbkF1ZGlvQ29kZWMoIGRlY29kZXJfdCAq cF9kZWMgKQorICAgICB9CisgCisgICAgIGN0eC0+c2FtcGxlX3JhdGUgPSBwX2RlYy0+Zm10X2lu LmF1ZGlvLmlfcmF0ZTsKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAw KSAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKysjaWYgQVBJX0NIQU5O RUxfTEFZT1VUX1NUUlVDVCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkK KyAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJmN0eC0+Y2hfbGF5b3V0LCBwX2RlYy0+ Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAjZWxzZQorICAgICBjdHgtPmNoYW5uZWxzID0g cF9kZWMtPmZtdF9pbi5hdWRpby5pX2NoYW5uZWxzOworQEAgLTU5OCw3ICs2MDAsNyBAQCBzdGF0 aWMgdm9pZCBTZXR1cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0 ICkKKyAgICAgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9yYXRlID0gcF9zeXMtPnBfY29udGV4dC0+ c2FtcGxlX3JhdGU7CisgCisgICAgIC8qICovCistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVD Syg1OSwgMjQsIDEwMCkKKysjaWYgQVBJX0NIQU5ORUxfTEFZT1VUX1NUUlVDVAorICAgICBpZigg cF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0 Lm5iX2NoYW5uZWxzICYmCisgICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0gcF9z eXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzayApCisgICAgICAgICByZXR1cm47CitAQCAt NjIyLDcgKzYyNCw3IEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3Qg KnBfZGVjLCBib29sIGJfdHJ1c3QgKQorIAorICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwLCBj aGFubmVsX2NvdW50OworICAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrOworLSNpZiBM SUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisrI2lmIEFQSV9DSEFOTkVMX0xB WU9VVF9TVFJVQ1QKKyAgICAgY2hhbm5lbF9sYXlvdXRfbWFzayA9IHBfc3lzLT5wX2NvbnRleHQt PmNoX2xheW91dC51Lm1hc2s7CisgICAgIGNoYW5uZWxfY291bnQgPSBwX3N5cy0+cF9jb250ZXh0 LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7CisgI2VsaWYgQVBJX0NIQU5ORUxfTEFZT1VUCitkaWZm IC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVsZXMvY29kZWMv YXZjb2RlYy9lbmNvZGVyLmMKK2luZGV4IGVjNjNjOWM1NDM5Li5iMGQzMTI2OTI0NCAxMDA2NDQK Ky0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKKysrKyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9lbmNvZGVyLmMKK0BAIC00Nyw2ICs0Nyw4IEBACisgI2luY2x1ZGUgImF2Y29k ZWMuaCIKKyAjaW5jbHVkZSAiYXZjb21tb24uaCIKKyAKKysjZGVmaW5lIEFQSV9DSEFOTkVMX0xB WU9VVF9TVFJVQ1QgKExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkpIC8vIEFW Q29kZWNDb250ZXh0LmNoX2xheW91dAorKworICNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZT1VUIChM SUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0soIDUyLCAyLCA2LCAwLCAxMDApKQorIAorICNpZiBBUElf Q0hBTk5FTF9MQVlPVVQKK0BAIC0xODIsNyArMTg0LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQ2NF90 IHBpX2NoYW5uZWxzX21hcFtdWzJdID0KKyAgICAgeyBBVl9DSF9TVEVSRU9fUklHSFQsICAgICAg MCB9LAorIH07CisgCistIyBpZiAhTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAw KQorKyMgaWYgIUFQSV9DSEFOTkVMX0xBWU9VVF9TVFJVQ1QKKyBzdGF0aWMgY29uc3QgdWludDMy X3QgY2hhbm5lbF9tYXNrW11bMl0gPSB7CisgICAgIHswLDB9LAorICAgICB7QU9VVF9DSEFOX0NF TlRFUiwgQVZfQ0hfTEFZT1VUX01PTk99LAorQEAgLTc2NCw3ICs3NjYsNyBAQCBpbnQgSW5pdFZp ZGVvRW5jKCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCisgICAgICAgICB1aW50MzJfdCBvcmRlcl9t YXNrID0gMDsKKyAgICAgICAgIGludCBpX2NoYW5uZWxzX3NyYyA9IDA7CisgICAgICAgICBtc2df RGJnKCBwX2VuYywgIkNyZWF0aW5nIGNoYW5uZWwgb3JkZXIgZm9yIHJlb3JkZXJpbmciKTsKKy0j IGlmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZF UlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisrIyBpZiBBUElfQ0hBTk5FTF9MQVlPVVRfU1RSVUNU ICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQorICAgICAgICAgYXZfY2hh bm5lbF9sYXlvdXRfZGVmYXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0LCBwX2VuYy0+Zm10X291 dC5hdWRpby5pX2NoYW5uZWxzICk7CisgICAgICAgICB1aW50NjRfdCBjaGFubmVsX21hc2sgPSBw X2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2s7CisgIyBlbHNlCitAQCAtOTE3LDcgKzkxOSw3IEBA IGVycm1zZzoKKyAKKyAgICAgICAgIGlmKCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxz ID4gMiApCisgICAgICAgICB7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQs IDEwMCkgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisrI2lmIEFQSV9D SEFOTkVMX0xBWU9VVF9TVFJVQ1QgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAx MDApCisgICAgICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJnBfY29udGV4dC0+ Y2hfbGF5b3V0LCAyICk7CisgI2Vsc2UKKyAgICAgICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxz ID0gMjsKK0BAIC0xMjgxLDcgKzEyODMsNyBAQCBzdGF0aWMgYmxvY2tfdCAqaGFuZGxlX2RlbGF5 X2J1ZmZlciggZW5jb2Rlcl90ICpwX2VuYywgZW5jb2Rlcl9zeXNfdCAqcF9zeXMsIHVucworICAg ICBhdl9mcmFtZV91bnJlZiggcF9zeXMtPmZyYW1lICk7CisgICAgIHBfc3lzLT5mcmFtZS0+Zm9y bWF0ICAgICA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7CisgICAgIHBfc3lzLT5mcmFt ZS0+bmJfc2FtcGxlcyA9IGxlZnRvdmVyX3NhbXBsZXMgKyBwX3N5cy0+aV9zYW1wbGVzX2RlbGF5 OworLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJ TF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQorKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVRfU1RS VUNUICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQorICAgICBhdl9jaGFu bmVsX2xheW91dF9jb3B5KCZwX3N5cy0+ZnJhbWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRl eHQtPmNoX2xheW91dCk7CisgI2Vsc2UKKyAgICAgcF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91 dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0OworQEAgLTE0MTYsNyArMTQxOCw3 IEBAIHN0YXRpYyBibG9ja190ICpFbmNvZGVBdWRpbyggZW5jb2Rlcl90ICpwX2VuYywgYmxvY2tf dCAqcF9hb3V0X2J1ZiApCisgICAgICAgICBwX3N5cy0+ZnJhbWUtPnB0cyAgICAgICAgPSBkYXRl X0dldCggJnBfc3lzLT5idWZmZXJfZGF0ZSApICogcF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNl LmRlbiAvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xPQ0tfRlJFUSAv IHBfc3lzLT5wX2NvbnRleHQtPnRpbWVfYmFzZS5udW07CisgCistI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0 LCAxMDApCisrI2lmIEFQSV9DSEFOTkVMX0xBWU9VVF9TVFJVQ1QgJiYgTElCQVZVVElMX1ZFUlNJ T05fQ0hFQ0soNTcsIDI0LCAxMDApCisgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5KCZw X3N5cy0+ZnJhbWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dCk7Cisg I2Vsc2UKKyAgICAgICAgIHBfc3lzLT5mcmFtZS0+Y2hhbm5lbF9sYXlvdXQgPSBwX3N5cy0+cF9j b250ZXh0LT5jaGFubmVsX2xheW91dDsKKy0tIAorR2l0TGFiCisKCmRpZmYgLS1naXQgYS82NTI3 LnBhdGNoIGIvNjUyNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4x YzM4NmZhCi0tLSAvZGV2L251bGwKKysrIGIvNjUyNy5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitG cm9tIGE5NDU5NDRjMmQ1MGNhY2ZhY2RkNWIxNmQ0ZWE1ZTdiNDc2NmE5ZmMgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRl OiBNb24sIDE2IERlYyAyMDI0IDA5OjI4OjU1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG5mczog Zml4IGxpYm5mcyBBUEkgdjIgc3VwcG9ydAorCitJbnRyb2R1Y2VkIGluIGxpYm5mcyA2LjAuMC4K KworQ28tYXV0aG9yZWQtYnk6IHJvbm5pZSBzYWhsYmVyZyA8cm9ubmllc2FobGJlcmdAZ21haWwu Y29tPgorQ28tYXV0aG9yZWQtYnk6IFRob21hcyBHdWlsbGVtIDx0aG9tYXNAZ2xsbS5mcj4KKy0t LQorIG1vZHVsZXMvYWNjZXNzL25mcy5jIHwgOSArKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwg OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2Fj Y2Vzcy9uZnMuYyBiL21vZHVsZXMvYWNjZXNzL25mcy5jCitpbmRleCBmMTY0Y2RhODY0OTkuLjM1 MTBjM2ZlMWYxNCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvYWNjZXNzL25mcy5jCisrKysgYi9tb2R1 bGVzL2FjY2Vzcy9uZnMuYworQEAgLTE4OCw3ICsxODgsOCBAQCBuZnNfcmVhZF9jYihpbnQgaV9z dGF0dXMsIHN0cnVjdCBuZnNfY29udGV4dCAqcF9uZnMsIHZvaWQgKnBfZGF0YSwKKyAgICAgZWxz ZQorICAgICB7CisgICAgICAgICBwX3N5cy0+cmVzLnJlYWQuaV9sZW4gPSBpX3N0YXR1czsKKy0g ICAgICAgIG1lbWNweShwX3N5cy0+cmVzLnJlYWQucF9idWYsIHBfZGF0YSwgaV9zdGF0dXMpOwor KyAgICAgICAgaWYgKHBfc3lzLT5yZXMucmVhZC5wX2J1ZiAhPSBOVUxMICYmIHBfZGF0YSAhPSBO VUxMKQorKyAgICAgICAgICAgIG1lbWNweShwX3N5cy0+cmVzLnJlYWQucF9idWYsIHBfZGF0YSwg aV9zdGF0dXMpOworICAgICB9CisgfQorIAorQEAgLTIwOCw5ICsyMDksMTUgQEAgRmlsZVJlYWQo c3RyZWFtX3QgKnBfYWNjZXNzLCB2b2lkICpwX2J1Ziwgc2l6ZV90IGlfbGVuKQorICAgICAgICAg cmV0dXJuIDA7CisgCisgICAgIHBfc3lzLT5yZXMucmVhZC5pX2xlbiA9IDA7CisrI2lmZGVmIExJ Qk5GU19BUElfVjIKKysgICAgcF9zeXMtPnJlcy5yZWFkLnBfYnVmID0gTlVMTDsKKysgICAgaWYg KG5mc19yZWFkX2FzeW5jKHBfc3lzLT5wX25mcywgcF9zeXMtPnBfbmZzZmgsIHBfYnVmLCBpX2xl biwgbmZzX3JlYWRfY2IsCisrICAgICAgICAgICAgICAgICAgICAgICBwX2FjY2VzcykgPCAwKQor KyNlbHNlCisgICAgIHBfc3lzLT5yZXMucmVhZC5wX2J1ZiA9IHBfYnVmOworICAgICBpZiAobmZz X3JlYWRfYXN5bmMocF9zeXMtPnBfbmZzLCBwX3N5cy0+cF9uZnNmaCwgaV9sZW4sIG5mc19yZWFk X2NiLAorICAgICAgICAgICAgICAgICAgICAgICAgcF9hY2Nlc3MpIDwgMCkKKysjZW5kaWYKKyAg ICAgeworICAgICAgICAgbXNnX0VycihwX2FjY2VzcywgIm5mc19yZWFkX2FzeW5jIGZhaWxlZCIp OworICAgICAgICAgcmV0dXJuIDA7CistLSAKK0dpdExhYgorCgpkaWZmIC0tZ2l0IGEvNjYwNi5w YXRjaCBiLzY2MDYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzIy ODE4YgotLS0gL2Rldi9udWxsCisrKyBiLzY2MDYucGF0Y2gKQEAgLTAsMCArMSwxNDkgQEAKK0Zy b20gYmE1ZGMwM2FlY2MxZDk2ZjgxYjc2ODM4Zjg0NWViZGU3MzQ4Y2Y2MiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IERhdmlkIFJvc2NhIDxub3dyZXBAZ21haWwuY29tPgorRGF0ZTog RnJpLCAyMCBEZWMgMjAyNCAyMDoyNDozNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVj OiB2YWFwaTogU3VwcG9ydCBWQUFQSSB3aXRoIGxhdGVzdCBGRm1wZWcKKworLS0tCisgY29uZmln dXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKy0tLS0tLS0tLS0tLQorIG1v ZHVsZXMvY29kZWMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICB8ICAyICstCisgbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oIHwgIDMgKysKKyBtb2R1bGVzL2NvZGVjL2F2 Y29kZWMvdmFhcGkuYyAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKy0tCisg NCBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMDBhZmIwNjNjNDU1 Li4wODkzMzllMTBlMGIgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3Vy ZS5hYworQEAgLTI1NTAsMjUgKzI1NTAsNyBAQCBBTV9DT05ESVRJT05BTChbSEFWRV9WQUFQSV0s IFt0ZXN0ICIke2hhdmVfdmFhcGl9IiA9ICJ5ZXMiXSkKKyBBTV9DT05ESVRJT05BTChbSEFWRV9W QUFQSV9EUk1dLCBbdGVzdCAiJHtoYXZlX3ZhYXBpX2RybX0iID0gInllcyJdKQorIEFNX0NPTkRJ VElPTkFMKFtIQVZFX1ZBQVBJX1gxMV0sIFt0ZXN0ICIke2hhdmVfdmFhcGlfeDExfSIgPSAieWVz Il0pCisgQU1fQ09ORElUSU9OQUwoW0hBVkVfVkFBUElfV0xdLCBbdGVzdCAiJHtoYXZlX3ZhYXBp X3dsfSIgPSAieWVzIl0pCistCistaGF2ZV9hdmNvZGVjX3ZhYXBpPSJubyIKKy1BU19JRihbdGVz dCAiJHtoYXZlX3ZhYXBpfSIgPSAieWVzIiAtYSAiJHtoYXZlX2F2Y29kZWN9IiA9ICJ5ZXMiXSwg WworLSAgVkxDX1NBVkVfRkxBR1MKKy0gIENQUEZMQUdTPSIke0NQUEZMQUdTfSAke0FWQ09ERUNf Q0ZMQUdTfSIKKy0gIENGTEFHUz0iJHtDRkxBR1N9ICR7QVZDT0RFQ19DRkxBR1N9IgorLSAgQUNf Q0hFQ0tfSEVBREVSUyhbbGliYXZjb2RlYy92YWFwaS5oXSwgWworLSAgICBBQ19NU0dfTk9USUNF KFtWQSBBUEkgYWNjZWxlcmF0aW9uIGFjdGl2YXRlZF0pCistICAgIGhhdmVfYXZjb2RlY192YWFw aT0ieWVzIgorLSAgXSxbCistICAgIEFTX0lGKFt0ZXN0IC1uICIke2VuYWJsZV9saWJ2YX0iXSwg WworLSAgICAgIEFDX01TR19FUlJPUihbbGlidmEgaXMgcHJlc2VudCBidXQgbGliYXZjb2RlYy92 YWFwaS5oIGlzIG1pc3NpbmddKQorLSAgICBdLCBbCistICAgICAgQUNfTVNHX1dBUk4oW2xpYnZh IGlzIHByZXNlbnQgYnV0IGxpYmF2Y29kZWMvdmFhcGkuaCBpcyBtaXNzaW5nIF0pCistICAgIF0p CistICBdKQorLSAgVkxDX1JFU1RPUkVfRkxBR1MKKy1dKQorLUFNX0NPTkRJVElPTkFMKFtIQVZF X0FWQ09ERUNfVkFBUEldLCBbdGVzdCAiJHtoYXZlX2F2Y29kZWNfdmFhcGl9IiA9ICJ5ZXMiXSkK KytBTV9DT05ESVRJT05BTChbSEFWRV9BVkNPREVDX1ZBQVBJXSwgW3Rlc3QgIiR7aGF2ZV92YWFw aX0iID0gInllcyIgLWEgIiR7aGF2ZV9hdmNvZGVjfSIgPSAieWVzIl0pCisgCisgZG5sCisgZG5s IGR4dmEyIG5lZWRzIGF2Y29kZWMKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL01ha2VmaWxl LmFtIGIvbW9kdWxlcy9jb2RlYy9NYWtlZmlsZS5hbQoraW5kZXggNmQ5NDY1ZmRhZWY5Li5kZDA0 MzkxYzFiZjcgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtCisrKysgYi9t b2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtCitAQCAtNDE2LDcgKzQxNiw3IEBAIGxpYnZhYXBpX3Bs dWdpbl9sYV9TT1VSQ0VTID0gXAorIAljb2RlYy9hdmNvZGVjL3ZhYXBpLmMgaHcvdmFhcGkvdmxj X3ZhYXBpLmMgaHcvdmFhcGkvdmxjX3ZhYXBpLmgKKyBsaWJ2YWFwaV9wbHVnaW5fbGFfQ1BQRkxB R1MgPSAkKEFNX0NQUEZMQUdTKQorIGxpYnZhYXBpX3BsdWdpbl9sYV9DRkxBR1MgPSAkKEFNX0NG TEFHUykgJChBVkNPREVDX0NGTEFHUykKKy1saWJ2YWFwaV9wbHVnaW5fbGFfTElCQUREID0gJChM SUJWQV9MSUJTKQorK2xpYnZhYXBpX3BsdWdpbl9sYV9MSUJBREQgPSAkKExJQlZBX0xJQlMpICQo QVZDT0RFQ19MSUJTKQorIGlmIEhBVkVfQVZDT0RFQ19WQUFQSQorIGlmIEhBVkVfVkFBUElfRFJN CisgY29kZWNfTFRMSUJSQVJJRVMgKz0gbGlidmFhcGlfZHJtX3BsdWdpbi5sYQorZGlmZiAtLWdp dCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAoraW5kZXggYWMwMmMwNmQyMzM5Li44YWI2OTEw ZjMyNTAgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0 LmgKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorQEAgLTg0 LDYgKzg0LDkgQEAKKyAjaWZuZGVmIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUIC8vIHJlbW92 ZWQgaW4gZmZtcGVnIDcKKyAjIGRlZmluZSBGRl9BUElfQVZJT19XUklURV9OT05DT05TVCAoTElC QVZGT1JNQVRfVkVSU0lPTl9NQUpPUiA8IDYxKQorICNlbmRpZgorKyNpZm5kZWYgRkZfQVBJX1NU UlVDVF9WQUFQSV9DT05URVhUCisrIyBkZWZpbmUgRkZfQVBJX1NUUlVDVF9WQUFQSV9DT05URVhU IChMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1IgPCA1OSkKKysjZW5kaWYKKyAKKyAjZW5kaWYgLyog SEFWRV9MSUJBVkNPREVDX0FWQ09ERUNfSCAqLworIAorZGlmZiAtLWdpdCBhL21vZHVsZXMvY29k ZWMvYXZjb2RlYy92YWFwaS5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhYXBpLmMKK2luZGV4 IGM4MzI2OWU0M2YzMC4uZTIwM2JhYWY5ZWUyIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL3ZhYXBpLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92YWFwaS5jCitAQCAt NDIsMTIgKzQyLDI1IEBACisgIyBpbmNsdWRlIDx2YS92YV9kcm0uaD4KKyAjZW5kaWYKKyAjaW5j bHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisrI2lmIEZGX0FQSV9TVFJVQ1RfVkFBUElfQ09O VEVYVAorICNpbmNsdWRlIDxsaWJhdmNvZGVjL3ZhYXBpLmg+CisrI2Vsc2UKKysjaW5jbHVkZSA8 bGliYXZ1dGlsL2h3Y29udGV4dF92YWFwaS5oPgorKyNlbmRpZgorIAorICNpbmNsdWRlICJhdmNv ZGVjLmgiCisgI2luY2x1ZGUgInZhLmgiCisgI2luY2x1ZGUgIi4uLy4uL2h3L3ZhYXBpL3ZsY192 YWFwaS5oIgorIAorKyNpZiAhRkZfQVBJX1NUUlVDVF9WQUFQSV9DT05URVhUCisrc3RydWN0IHZh YXBpX2NvbnRleHQKKyt7CisrICAgIFZBRGlzcGxheSBkaXNwbGF5OworKyAgICBWQUNvbmZpZ0lE IGNvbmZpZ19pZDsKKysgICAgVkFDb250ZXh0SUQgY29udGV4dF9pZDsKKyt9OworKyNlbmRpZgor KworIHN0cnVjdCB2bGNfdmFfc3lzX3QKKyB7CisgICAgIHN0cnVjdCB2bGNfdmFhcGlfaW5zdGFu Y2UgKnZhX2luc3Q7CitAQCAtMTQ1LDggKzE1OCwxMCBAQCBzdGF0aWMgdm9pZCBEZWxldGUodmxj X3ZhX3QgKnZhLCB2b2lkICoqaHdjdHgpCisgCisgICAgICh2b2lkKSBod2N0eDsKKyAKKy0gICAg dmxjX3ZhYXBpX0Rlc3Ryb3lDb250ZXh0KG8sIHN5cy0+aHdfY3R4LmRpc3BsYXksIHN5cy0+aHdf Y3R4LmNvbnRleHRfaWQpOworLSAgICB2bGNfdmFhcGlfRGVzdHJveUNvbmZpZyhvLCBzeXMtPmh3 X2N0eC5kaXNwbGF5LCBzeXMtPmh3X2N0eC5jb25maWdfaWQpOworKyAgICBpZiAoc3lzLT5od19j dHguY29udGV4dF9pZCAhPSBWQV9JTlZBTElEX0lEKQorKyAgICAgICAgdmxjX3ZhYXBpX0Rlc3Ry b3lDb250ZXh0KG8sIHN5cy0+aHdfY3R4LmRpc3BsYXksIHN5cy0+aHdfY3R4LmNvbnRleHRfaWQp OworKyAgICBpZiAoc3lzLT5od19jdHguY29uZmlnX2lkICE9IFZBX0lOVkFMSURfSUQpCisrICAg ICAgICB2bGNfdmFhcGlfRGVzdHJveUNvbmZpZyhvLCBzeXMtPmh3X2N0eC5kaXNwbGF5LCBzeXMt Pmh3X2N0eC5jb25maWdfaWQpOworICAgICB2bGNfdmFhcGlfUmVsZWFzZUluc3RhbmNlKHN5cy0+ dmFfaW5zdCk7CisgICAgIGZyZWUoc3lzKTsKKyB9CitAQCAtMTk2LDYgKzIxMSw3IEBAIHN0YXRp YyBpbnQgQ3JlYXRlKHZsY192YV90ICp2YSwgQVZDb2RlY0NvbnRleHQgKmN0eCwgY29uc3QgQVZQ aXhGbXREZXNjcmlwdG9yICpkCisgICAgIHN5cy0+aHdfY3R4LmNvbmZpZ19pZCA9IFZBX0lOVkFM SURfSUQ7CisgICAgIHN5cy0+aHdfY3R4LmNvbnRleHRfaWQgPSBWQV9JTlZBTElEX0lEOworIAor KyNpZiBGRl9BUElfU1RSVUNUX1ZBQVBJX0NPTlRFWFQKKyAgICAgc3lzLT5od19jdHguY29uZmln X2lkID0KKyAgICAgICAgIHZsY192YWFwaV9DcmVhdGVDb25maWdDaGVja2VkKG8sIHN5cy0+aHdf Y3R4LmRpc3BsYXksIGlfcHJvZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFZBRW50cnlwb2ludFZMRCwgaV92bGNfY2hyb21hKTsKK0BAIC0yMTEsNiArMjI3LDI0 IEBAIHN0YXRpYyBpbnQgQ3JlYXRlKHZsY192YV90ICp2YSwgQVZDb2RlY0NvbnRleHQgKmN0eCwg Y29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkCisgICAgICAgICBnb3RvIGVycm9yOworIAorICAg ICBjdHgtPmh3YWNjZWxfY29udGV4dCA9ICZzeXMtPmh3X2N0eDsKKysjZWxzZQorKyAgICBBVkJ1 ZmZlclJlZiAqaHdkZXZfcmVmID0gYXZfaHdkZXZpY2VfY3R4X2FsbG9jKEFWX0hXREVWSUNFX1RZ UEVfVkFBUEkpOworKyAgICBpZiAoaHdkZXZfcmVmID09IE5VTEwpCisrICAgICAgICBnb3RvIGVy cm9yOworKworKyAgICBBVkhXRGV2aWNlQ29udGV4dCAqaHdkZXZfY3R4ID0gKHZvaWQgKikgaHdk ZXZfcmVmLT5kYXRhOworKyAgICBBVlZBQVBJRGV2aWNlQ29udGV4dCAqdmFkZXZfY3R4ID0gaHdk ZXZfY3R4LT5od2N0eDsKKysgICAgdmFkZXZfY3R4LT5kaXNwbGF5ID0gdmFfZHB5OworKworKyAg ICBpZiAoYXZfaHdkZXZpY2VfY3R4X2luaXQoaHdkZXZfcmVmKSA8IDApCisrICAgIHsKKysgICAg ICAgIGF2X2J1ZmZlcl91bnJlZigmaHdkZXZfcmVmKTsKKysgICAgICAgIGdvdG8gZXJyb3I7Cisr ICAgIH0KKysKKysgICAgY3R4LT5od19kZXZpY2VfY3R4ID0gaHdkZXZfcmVmOworKyNlbmRpZgor KworICAgICB2YS0+c3lzID0gc3lzOworICAgICB2YS0+ZGVzY3JpcHRpb24gPSB2YVF1ZXJ5VmVu ZG9yU3RyaW5nKHN5cy0+aHdfY3R4LmRpc3BsYXkpOworICAgICB2YS0+Z2V0ID0gR2V0OworLS0g CitHaXRMYWIKKwoKZGlmZiAtLWdpdCBhL2ZsYXRwYWstY2FjaGUucGF0Y2ggYi9mbGF0cGFrLWNh Y2hlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiMDRlYWIKLS0t IC9kZXYvbnVsbAorKysgYi9mbGF0cGFrLWNhY2hlLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Jh c2VkIG9uIHRoZSBGbGF0aHViIHBhdGNoIGJ1dCBvbmx5IHNraXAgdGhlIG10aW1lIHRlc3Qgd2hl biBpbiBhbiBvc3RyZWUKKyhkaWZmZXJlbnQgdmVyc2lvbnMgaGF2ZSB1c2VkIDAgb3IgMSBhcyB0 aGUgbXRpbWUgZm9yIGFsbCBmaWxlcykuCisKK2h0dHBzOi8vZ2l0aHViLmNvbS9mbGF0aHViL29y Zy52aWRlb2xhbi5WTEMvYmxvYi9tYXN0ZXIvdmxjLWlnbm9yZS10aW1lLWZvci1jYWNoZS5wYXRj aAorCitkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYmFuay5jIGIvc3JjL21vZHVsZXMvYmFuay5j CitpbmRleCAyZTY3YTBkMDdlLi5hYjI5MTVmYmI3IDEwMDY0NAorLS0tIGEvc3JjL21vZHVsZXMv YmFuay5jCisrKysgYi9zcmMvbW9kdWxlcy9iYW5rLmMKK0BAIC0yNzUsNyArMjc1LDggQEAgc3Rh dGljIGludCBBbGxvY2F0ZVBsdWdpbkZpbGUgKG1vZHVsZV9iYW5rX3QgKmJhbmssIGNvbnN0IGNo YXIgKmFic3BhdGgsCisgICAgICAgICBwbHVnaW4gPSB2bGNfY2FjaGVfbG9va3VwKCZiYW5rLT5j YWNoZSwgcmVscGF0aCk7CisgCisgICAgICAgICBpZiAocGx1Z2luICE9IE5VTEwKKy0gICAgICAg ICAmJiAocGx1Z2luLT5tdGltZSAhPSAoaW50NjRfdClzdC0+c3RfbXRpbWUKKysgICAgICAgICAm JiAoKChpbnQ2NF90KXN0LT5zdF9tdGltZSA+IChpbnQ2NF90KTEKKysgICAgICAgICAgICYmIHBs dWdpbi0+bXRpbWUgIT0gKGludDY0X3Qpc3QtPnN0X210aW1lKQorICAgICAgICAgICB8fCBwbHVn aW4tPnNpemUgIT0gKHVpbnQ2NF90KXN0LT5zdF9zaXplKSkKKyAgICAgICAgIHsKKyAgICAgICAg ICAgICBtc2dfRXJyKGJhbmstPm9iaiwgInN0YWxlIHBsdWdpbnMgY2FjaGU6IG1vZGlmaWVkICVz IiwKKyAgICAgICAgICAgICAgICAgICAgIHBsdWdpbi0+YWJzcGF0aCk7CistLSAKKzIuMjEuMAor CgpkaWZmIC0tZ2l0IGEvbGl2ZTU1NS5wYXRjaCBiL2xpdmU1NTUucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjJmMzVkYgotLS0gL2Rldi9udWxsCisrKyBiL2xpdmU1 NTUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorZGlmZiAtdXAgdmxjLTMuMC4yMS9tb2R1bGVzL2Fj Y2Vzcy9saXZlNTU1LmNwcC5vcmlnIHZsYy0zLjAuMjEvbW9kdWxlcy9hY2Nlc3MvbGl2ZTU1NS5j cHAKKy0tLSB2bGMtMy4wLjIxL21vZHVsZXMvYWNjZXNzL2xpdmU1NTUuY3BwLm9yaWcJMjAyNC0w Ni0wNSAxNzo1NjowNy4wMDAwMDAwMDAgKzAyMDAKKysrKyB2bGMtMy4wLjIxL21vZHVsZXMvYWNj ZXNzL2xpdmU1NTUuY3BwCTIwMjQtMTItMDYgMTE6NDE6MDguNjMzMDUzMDM5ICswMTAwCitAQCAt MjM2LDggKzIzNiwxMyBAQCBzdHJ1Y3QgZGVtdXhfc3lzX3QKKyAgICAgYm9vbCAgICAgICAgICAg ICBiX25vX2RhdGE7ICAgICAvKiBpZiB3ZSBuZXZlciByZWNlaXZlZCBhbnkgZGF0YSAqLworICAg ICBpbnQgICAgICAgICAgICAgIGlfbm9fZGF0YV90aTsgIC8qIGNvbnNlY3V0aXZlIG51bWJlciBv ZiBUYXNrSW50ZXJydXB0ICovCisgCisrI2lmIExJVkVNRURJQV9MSUJSQVJZX1ZFUlNJT05fSU5U ID49IDE3MzI3NTIwMDAKKysgICAgc3RkOjphdG9taWNfY2hhciBldmVudF9ydHNwOworKyAgICBz dGQ6OmF0b21pY19jaGFyIGV2ZW50X2RhdGE7CisrI2Vsc2UKKyAgICAgY2hhciAgICAgICAgICAg ICBldmVudF9ydHNwOworICAgICBjaGFyICAgICAgICAgICAgIGV2ZW50X2RhdGE7CisrI2VuZGlm CisgCisgICAgIGJvb2wgICAgICAgICAgICAgYl9nZXRfcGFyYW07ICAgLyogRG9lcyB0aGUgc2Vy dmVyIHN1cHBvcnQgR0VUX1BBUkFNRVRFUiAqLworICAgICBib29sICAgICAgICAgICAgIGJfcGF1 c2VkOyAgICAgIC8qIEFyZSB3ZSBwYXVzZWQ/ICovCgpkaWZmIC0tZ2l0IGEvdmFhcGktd2l0aG91 dC1mZm1lcGc0LnBhdGNoIGIvdmFhcGktd2l0aG91dC1mZm1lcGc0LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBjNzFhMzk5Li4wMDAwMDAwCi0tLSBhL3ZhYXBpLXdpdGhvdXQt ZmZtZXBnNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLWF2Y29kZWNfdmFh cGkgcmVxdWlyZXMgZmZtcGVnLTQsIGJ1dCBvdGhlciB2YWFwaSBtb2R1bGVzIGNhbiBiZSBidWls dAotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA2OWJl Yjc3Li5jN2Y3MTQyIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUu YWMKLUBAIC0yNDU0LDkgKzI0NTQsOSBAQCBBU19JRihbdGVzdCAiJHtoYXZlX3ZhYXBpfSIgPSAi eWVzIiAtYSAiJHtoYXZlX2F2Y29kZWN9IiA9ICJ5ZXMiXSwgWwotICAgICBoYXZlX2F2Y29kZWNf dmFhcGk9InllcyIKLSAgIF0sWwotICAgICBBU19JRihbdGVzdCAtbiAiJHtlbmFibGVfbGlidmF9 Il0sIFsKLS0gICAgICBBQ19NU0dfRVJST1IoW2xpYnZhIGlzIHByZXNlbnQgYnV0IGxpYmF2Y29k ZWMvdmFhcGkuaCBpcyBtaXNzaW5nXSkKLSsgICAgICBBQ19NU0dfV0FSTihbbGlidmEgaXMgcHJl c2VudCBidXQgbGliYXZjb2RlYy92YWFwaS5oIGlzIG1pc3NpbmddKQotICAgICBdLCBbCi0tICAg ICAgQUNfTVNHX1dBUk4oW2xpYnZhIGlzIHByZXNlbnQgYnV0IGxpYmF2Y29kZWMvdmFhcGkuaCBp cyBtaXNzaW5nIF0pCi0rICAgICAgQUNfTVNHX05PVElDRShbbGlidmEgaXMgcHJlc2VudCBidXQg bGliYXZjb2RlYy92YWFwaS5oIGlzIG1pc3NpbmcgXSkKLSAgICAgXSkKLSAgIF0pCi0gICBWTENf UkVTVE9SRV9GTEFHUwoKZGlmZiAtLWdpdCBhL3ZsYy5zcGVjIGIvdmxjLnNwZWMKaW5kZXggNTc5 MDRjYy4uZDEzNTYxMyAxMDA2NDQKLS0tIGEvdmxjLnNwZWMKKysrIGIvdmxjLnNwZWMKQEAgLTEs NiArMSw1IEBACiAjIGNvZGVjcyB3aGljaCBjYW5ub3QgYmUgc2hpcHBlZCBpbiBGZWRvcmEgcHJv cGVyCiAlYmNvbmQgZnJlZXdvcmxkIDAKLSViY29uZCBmYWFkMiAle3dpdGggZnJlZXdvcmxkfQog JWJjb25kIHgyNjQgJXt3aXRoIGZyZWV3b3JsZH0KICViY29uZCB4MjY1ICV7d2l0aCBmcmVld29y bGR9CiAKQEAgLTE1LDYgKzE0LDEyIEBACiAjIGRpc2FibGVkIGR1ZSB0byB2YXJpb3VzIGlzc3Vl cwogJWJjb25kIHByb2plY3RtIDAKIAorIyBzb21lIGRlcGVuZGVuY2llcyBhcmUgbm90IHlldCBp biBFUEVMIDEwCislYmNvbmQgZGFhbGEgJXt1bmRlZmluZWQgZWwxMH0KKyViY29uZCBsaXJjIDEK KyViY29uZCBzY2hybyAlWyEoMCV7P3JoZWx9ID49IDEwKV0KKyViY29uZCBzZGwgJVshKDAlez9y aGVsfSA+PSAxMCldCisKICVpZm5hcmNoIHMzOTB4CiAlYmNvbmQgY3J5c3RhbGhkICVbMCV7P2Zl ZG9yYX0gfHwgMCV7P3JoZWx9IDwgOV0KICViY29uZCBpZWVlMTM5NCAxCkBAIC0zNyw2ICs0Miwx NiBAQCBTb3VyY2U6CQltYWNyb3MudmxjCiAjIyB1cHN0cmVhbSBwYXRjaGVzCiAjIG9wdXNfaGVh ZGVyOiBmaXggY2hhbm5lbCBtYXBwaW5nIGZhbWlseSAxIHBhcnNpbmcgKHJoYnojMjMwNzkxOSkK IFBhdGNoOgkJaHR0cHM6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi92bGMvLS9tZXJnZV9y ZXF1ZXN0cy81NTkwLnBhdGNoCisjIGFkZCBzdXBwb3J0IGZvciBmZm1wZWcgNy4wICh3aXRob3V0 IFZBQVBJKQorUGF0Y2g6CQlodHRwczovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3ZsYy8t L21lcmdlX3JlcXVlc3RzLzU1NzQucGF0Y2gKKyMgbXV4OiBhdmZvcm1hdDogZml4IGF2aW8gY2Fs bGJhY2tzIHNpZ25hdHVyZSB3aXRoIGZmbXBlZyA2LjEKK1BhdGNoOgkJaHR0cHM6Ly9jb2RlLnZp ZGVvbGFuLm9yZy92aWRlb2xhbi92bGMvLS9tZXJnZV9yZXF1ZXN0cy82MTY4LnBhdGNoCisjIGZm bXBlZzogYmFja3BvcnQgbW9yZSBjaGFubmVsIGNoZWNrcworUGF0Y2g6CQlodHRwczovL2NvZGUu dmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3ZsYy8tL21lcmdlX3JlcXVlc3RzLzYyNzMucGF0Y2gKKyMg YXZjb2RlYzogdmFhcGk6IHN1cHBvcnQgVkFBUEkgd2l0aCBsYXRlc3QgRkZtcGVnCitQYXRjaDoJ CWh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcvdmlkZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMv NjYwNi5wYXRjaAorIyBuZnM6IGZpeCBsaWJuZnMgQVBJIHYyIHN1cHBvcnQgKHJoYnojMjM0MTc5 MSkKK1BhdGNoOgkJaHR0cHM6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi92bGMvLS9tZXJn ZV9yZXF1ZXN0cy82NTI3LnBhdGNoCiAKICMjIHVwc3RyZWFtYWJsZSBwYXRjaGVzCiAKQEAgLTQ1 LDggKzYwLDYgQEAgUGF0Y2g6CQlodHRwczovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3Zs Yy8tL21lcmdlX3JlcXVlc3RzLzU1OTAucGF0Y2gKIFBhdGNoOgkJMDAwMS1Vc2UtU1lTVEVNLXdp ZGUtY2lwaGVycy1mb3ItZ251dGxzLnBhdGNoCiAjIEZpeCBidWlsZGluZyB3aXRoIGZkay1hYWMt Mi4wOyBiYWNrcG9ydCBmb3IgMy4wIGZyb20gZmxhdGh1YgogUGF0Y2g6CQlmZGstYWFjMi5wYXRj aAotIyBzZXBhcmF0ZSBhdmNvZGVjLXZhYXBpIGNvbmRpdGlvbmFsIGZyb20gb3RoZXIgdmFhcGkg bW9kdWxlcwotUGF0Y2g6CQl2YWFwaS13aXRob3V0LWZmbWVwZzQucGF0Y2gKICMgcG9ydCBmcm9t IGludGVsLW1lZGlhc2RrIHRvIG9uZVZQTAogUGF0Y2g6CQlvbmVWUEwucGF0Y2gKICMgZml4IGFw cHN0cmVhbWNsaSB2YWxpZGF0ZSB0byBzaG93IGluIFNvZnR3YXJlIChyaGJ6IzIyNTg2MTEpCkBA IC01Nyw2ICs3MCwxMCBAQCBQYXRjaDoJCWxpYmlkbjIucGF0Y2gKIFBhdGNoOgkJbHVhLW1hdGgu cGF0Y2gKICMgdXBkYXRlIHRvIGZyZWVyZHAyIGFwaTsgYmFja3BvcnQgZnJvbSBtYXN0ZXIKIFBh dGNoOgkJZnJlZXJkcDIucGF0Y2gKKyMgZml4IGJ1aWxkIHdpdGggbGl2ZTU1NS0yMDI0LjExLjI4 CitQYXRjaDoJCWxpdmU1NTUucGF0Y2gKKyMgYXZvaWQgInN0YWxlIHBsdWdpbiBjYWNoZSIgd2Fy bmluZ3MgaW4gZmxhdHBha3MKK1BhdGNoOgkJZmxhdHBhay1jYWNoZS5wYXRjaAogCiAle2xvYWQ6 JXtTOjF9fQogJWdsb2JhbCBfX3Byb3ZpZGVzX2V4Y2x1ZGVfZnJvbSBeJXt2bGNfcGx1Z2luZGly fS8uKiQKQEAgLTcxLDkgKzg4LDcgQEAgQnVpbGRSZXF1aXJlczoJbGliYXBwc3RyZWFtLWdsaWIK IAogQnVpbGRSZXF1aXJlczoJYTUyZGVjLWRldmVsCiBCdWlsZFJlcXVpcmVzOglhYWxpYi1kZXZl bAotJWlmICV7d2l0aCBmYWFkMn0KIEJ1aWxkUmVxdWlyZXM6CWZhYWQyLWRldmVsCi0lZW5kaWYK IEJ1aWxkUmVxdWlyZXM6CWhvc3RuYW1lCiBCdWlsZFJlcXVpcmVzOglrZXJuZWwtaGVhZGVycwog JWlmICV7d2l0aCBjcnlzdGFsaGR9CkBAIC04NCwyMSArOTksMjUgQEAgQnVpbGRSZXF1aXJlczoJ bGlianBlZy1kZXZlbAogQnVpbGRSZXF1aXJlczoJbGlibWFkLWRldmVsCiBCdWlsZFJlcXVpcmVz OglsaWJtcGNkZWMtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6CWxpYnBuZy1kZXZlbAorJWlmICV7d2l0 aCBsaXJjfQogQnVpbGRSZXF1aXJlczoJbGlyYy1kZXZlbAorJWVuZGlmCiBCdWlsZFJlcXVpcmVz OglsaXZlNTU1LWRldmVsCiBCdWlsZFJlcXVpcmVzOglsdWEtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6 CXBrZ2NvbmZpZyhhbHNhKSA+PSAxLjAuMjQKIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhhb20p CiBCdWlsZFJlcXVpcmVzOglwa2djb25maWcoYXJpYmIyNCkKLSNCdWlsZFJlcXVpcmVzOglwa2dj b25maWcoYXJpYmIyNSkKK0J1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhhcmliYjI1KQogJWlmICV7 d2l0aCBhc2RjcH0KIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhhc2RjcGxpYikKICVlbmRpZgog QnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGF2YWhpLWNsaWVudCkgPj0gMC42CiAjQnVpbGRSZXF1 aXJlczoJcGtnY29uZmlnKGJyZWFrcGFkLWNsaWVudCkKIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZp ZyhjYWNhKSA+PSAwLjk5LmJldGExNAorJWlmICV7d2l0aCBkYWFsYX0KIEJ1aWxkUmVxdWlyZXM6 CXBrZ2NvbmZpZyhkYWFsYWRlYykKIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhkYWFsYWVuYykK KyVlbmRpZgogQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGRhdjFkKQogQnVpbGRSZXF1aXJlczoJ cGtnY29uZmlnKGRidXMtMSkKIEJ1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhkdmRuYXYpID4gNC45 LjAKQEAgLTE4OCw4ICsyMDcsMTIgQEAgQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKFF0NVN2Zykg Pj0gNS41CiBCdWlsZFJlcXVpcmVzOglwa2djb25maWcoUXQ1V2lkZ2V0cykgPj0gNS41CiBCdWls ZFJlcXVpcmVzOglwa2djb25maWcoUXQ1WDExRXh0cmFzKSA+PSA1LjUKIEJ1aWxkUmVxdWlyZXM6 CXBrZ2NvbmZpZyhzYW1wbGVyYXRlKQorJWlmICV7d2l0aCBzY2hyb30KIEJ1aWxkUmVxdWlyZXM6 CXBrZ2NvbmZpZyhzY2hyb2VkaW5nZXItMS4wKSA+PSAxLjAuMTAKKyVlbmRpZgorJWlmICV7d2l0 aCBzZGx9CiBCdWlsZFJlcXVpcmVzOglwa2djb25maWcoU0RMX2ltYWdlKSA+PSAxLjIuMTAKKyVl bmRpZgogI0J1aWxkUmVxdWlyZXM6CXBrZ2NvbmZpZyhzaGluZSkgPj0gMy4wLjAKIEJ1aWxkUmVx dWlyZXM6CXBrZ2NvbmZpZyhzaG91dCkgPj0gMi4xCiBCdWlsZFJlcXVpcmVzOglwa2djb25maWco c21iY2xpZW50KQpAQCAtMzg1LDYgKzQwOCw3IEBAIENyeXN0YWwgSEQgcGx1Z2luIGZvciBWTEMg bWVkaWEgcGxheWVyCiBTdW1tYXJ5OglWTEMgbWVkaWEgcGxheWVyIEZGbXBlZyBwbHVnaW5zCiBS ZXF1aXJlczoJJXtuYW1lfS1saWJzJXs/X2lzYX0gPSAle2Vwb2NofTole3ZlcnNpb259LSV7cmVs ZWFzZX0KIFJlcXVpcmVzOgkle25hbWV9LXBsdWdpbnMtYmFzZSV7P19pc2F9ID0gJXtlcG9jaH06 JXt2ZXJzaW9ufS0le3JlbGVhc2V9CitSZXF1aXJlczoJJXtuYW1lfS1wbHVnaW5zLXZpZGVvLW91 dCV7P19pc2F9ID0gJXtlcG9jaH06JXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAlZGVzY3JpcHRpb24g cGx1Z2luLWZmbXBlZwogRkZtcGVnIHN1cHBvcnQgcGx1Z2lucyBmb3IgVkxDIG1lZGlhIHBsYXll cgogCkBAIC02MTgsNyArNjQyLDcgQEAgZXhwb3J0IExJVkU1NTVfUFJFRklYPSV7X3ByZWZpeH0K IAktLWVuYWJsZS1hdmZvcm1hdAkJCQkJXAogCS0tZW5hYmxlLXN3c2NhbGUJCQkJCVwKIAktLWVu YWJsZS1wb3N0cHJvYwkJCQkJXAotCS0tZW5hYmxlLWZhYWQleyE/d2l0aF9mYWFkMjo9bm99CQkJ XAorCS0tZW5hYmxlLWZhYWQJCQkJCQlcCiAJLS1lbmFibGUtYW9tCQkJCQkJXAogCS0tZW5hYmxl LWRhdjFkCQkJCQkJXAogCS0tZW5hYmxlLXZweAkJCQkJCVwKQEAgLTYzNSw4ICs2NTksOCBAQCBl eHBvcnQgTElWRTU1NV9QUkVGSVg9JXtfcHJlZml4fQogCS0tZW5hYmxlLXNwYXRpYWxhdWRpbwkJ CQkJXAogCS0tZW5hYmxlLXRoZW9yYQkJCQkJCVwKIAktLWVuYWJsZS1vZ2dzcG90cwkJCQkJXAot CS0tZW5hYmxlLWRhYWxhCQkJCQkJXAotCS0tZW5hYmxlLXNjaHJvZWRpbmdlcgkJCQkJXAorCS0t ZW5hYmxlLWRhYWxhJXshP3dpdGhfZGFhbGE6PW5vfQkJCVwKKwktLWVuYWJsZS1zY2hyb2VkaW5n ZXIleyE/d2l0aF9zY2hybzo9bm99CQlcCiAJLS1lbmFibGUtcG5nCQkJCQkJXAogCS0tZW5hYmxl LWpwZWcJCQkJCQlcCiAJLS1kaXNhYmxlLWJwZwkJCQkJCVwKQEAgLTY1MSw3ICs2NzUsNyBAQCBl eHBvcnQgTElWRTU1NV9QUkVGSVg9JXtfcHJlZml4fQogCS0tZGlzYWJsZS10ZWx4CQkJCQkJXAog CS0tZW5hYmxlLWxpYmFzcwkJCQkJCVwKIAktLWVuYWJsZS1hcmlic3ViCQkJCQlcCi0JLS1kaXNh YmxlLWFyaWJiMjUJCQkJCVwKKwktLWVuYWJsZS1hcmliYjI1CQkJCQlcCiAJLS1lbmFibGUta2F0 ZQkJCQkJCVwKIAktLWVuYWJsZS10aWdlcgkJCQkJCVwKIAktLWVuYWJsZS1jc3MJCQkJCQlcCkBA IC02NjEsNyArNjg1LDcgQEAgZXhwb3J0IExJVkU1NTVfUFJFRklYPSV7X3ByZWZpeH0KIAktLWVu YWJsZS14dmlkZW8JCQkJCQlcCiAJLS1lbmFibGUtdmRwYXUJCQkJCQlcCiAJLS1lbmFibGUtd2F5 bGFuZAkJCQkJXAotCS0tZW5hYmxlLXNkbC1pbWFnZQkJCQkJXAorCS0tZW5hYmxlLXNkbC1pbWFn ZSV7IT93aXRoX3NkbDo9bm99CQkJXAogCS0tZW5hYmxlLWZyZWV0eXBlCQkJCQlcCiAJLS1lbmFi bGUtZnJpYmlkaQkJCQkJXAogCS0tZW5hYmxlLWhhcmZidXp6CQkJCQlcCkBAIC02ODYsNyArNzEw LDcgQEAgZXhwb3J0IExJVkU1NTVfUFJFRklYPSV7X3ByZWZpeH0KIAktLWVuYWJsZS1xdAkJCQkJ CVwKIAktLWVuYWJsZS1za2luczIJCQkJCQlcCiAJLS1kaXNhYmxlLWxpYnRhcgkJCQkJXAotCS0t ZW5hYmxlLWxpcmMJCQkJCQlcCisJLS1lbmFibGUtbGlyYyV7IT93aXRoX2xpcmM6PW5vfQkJCQlc CiAJLS1lbmFibGUtc3J0CQkJCQkJXAogCQkJCQkJCQlcCiAJLS1kaXNhYmxlLWdvb20JCQkJCQlc CkBAIC05MTEsNiArOTM1LDcgQEAgbWFrZSBjaGVjawogJXt2bGNfcGx1Z2luZGlyfS9jb2RlYy9s aWJkZHVtbXlfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmR2YnN1Yl9wbHVn aW4uc28KICV7dmxjX3BsdWdpbmRpcn0vY29kZWMvbGliZWR1bW15X3BsdWdpbi5zbworJXt2bGNf cGx1Z2luZGlyfS9jb2RlYy9saWJmYWFkX3BsdWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS9jb2Rl Yy9saWJmZGthYWNfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmZsYWNfcGx1 Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmc3MTFfcGx1Z2luLnNvCkBAIC0xMTA2 LDcgKzExMzEsOSBAQCBtYWtlIGNoZWNrCiAle3ZsY19wbHVnaW5kaXJ9L2F1ZGlvX2ZpbHRlci9s aWJzcGVleF9yZXNhbXBsZXJfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmFv bV9wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0vY29kZWMvbGliYXJpYnN1Yl9wbHVnaW4uc28K KyVpZiAle3dpdGggZGFhbGF9CiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmRhYWxhX3BsdWdp bi5zbworJWVuZGlmCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmRjYV9wbHVnaW4uc28KICV7 dmxjX3BsdWdpbmRpcn0vY29kZWMvbGlia2F0ZV9wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0v Y29kZWMvbGlibGliYXNzX3BsdWdpbi5zbwpAQCAtMTExNCwxMCArMTE0MSwxNiBAQCBtYWtlIGNo ZWNrCiAlaWYgJXt3aXRoIHZwbH0KICV7dmxjX3BsdWdpbmRpcn0vY29kZWMvbGlicXN2X3BsdWdp bi5zbwogJWVuZGlmCislaWYgJXt3aXRoIHNjaHJvfQogJXt2bGNfcGx1Z2luZGlyfS9jb2RlYy9s aWJzY2hyb2VkaW5nZXJfcGx1Z2luLnNvCislZW5kaWYKKyVpZiAle3dpdGggc2RsfQogJXt2bGNf cGx1Z2luZGlyfS9jb2RlYy9saWJzZGxfaW1hZ2VfcGx1Z2luLnNvCislZW5kaWYKICV7dmxjX3Bs dWdpbmRpcn0vY29kZWMvbGlienZiaV9wbHVnaW4uc28KKyVpZiAle3dpdGggbGlyY30KICV7dmxj X3BsdWdpbmRpcn0vY29udHJvbC9saWJsaXJjX3BsdWdpbi5zbworJWVuZGlmCiAle3ZsY19wbHVn aW5kaXJ9L2RlbXV4L2xpYmdtZV9wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0vZGVtdXgvbGli bXBjX3BsdWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS9kZW11eC9saWJta3ZfcGx1Z2luLnNvCkBA IC0xMTMwLDYgKzExNjMsNyBAQCBtYWtlIGNoZWNrCiAle3ZsY19wbHVnaW5kaXJ9L3NlcnZpY2Vz X2Rpc2NvdmVyeS9saWJ1cG5wX3BsdWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS9zZXJ2aWNlc19k aXNjb3ZlcnkvbGlidWRldl9wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0vc3RyZWFtX2V4dHJh Y3Rvci9saWJhcmNoaXZlX3BsdWdpbi5zbworJXt2bGNfcGx1Z2luZGlyfS9zdHJlYW1fZmlsdGVy L2xpYmFyaWJjYW1fcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L3N0cmVhbV9vdXQvbGlic3Ry ZWFtX291dF9jaHJvbWVjYXN0X3BsdWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS90ZXh0X3JlbmRl cmVyL2xpYmZyZWV0eXBlX3BsdWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS92aWRlb19vdXRwdXQv bGliYWFfcGx1Z2luLnNvCkBAIC0xMTQzLDYgKzExNzcsOCBAQCBtYWtlIGNoZWNrCiAlZmlsZXMg cGx1Z2luLWZmbXBlZwogJXt2bGNfcGx1Z2luZGlyfS9hY2Nlc3MvbGliYXZpb19wbHVnaW4uc28K ICV7dmxjX3BsdWdpbmRpcn0vY29kZWMvbGliYXZjb2RlY19wbHVnaW4uc28KKyV7dmxjX3BsdWdp bmRpcn0vY29kZWMvbGlidmFhcGlfZHJtX3BsdWdpbi5zbworJXt2bGNfcGx1Z2luZGlyfS9jb2Rl Yy9saWJ2YWFwaV9wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0vZGVtdXgvbGliYXZmb3JtYXRf cGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L3BhY2tldGl6ZXIvbGlicGFja2V0aXplcl9hdnBh cnNlcl9wbHVnaW4uc28KICV7dmxjX3BsdWdpbmRpcn0vc3RyZWFtX291dC9saWJzdHJlYW1fb3V0 X2Nocm9tYXByaW50X3BsdWdpbi5zbwo=