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: Miroslav Rezanina To: git-commits@fedoraproject.org Subject: [rpms/qemu] eln: * Mon Jun 08 2026 Miroslav Rezanina - 10.1.0-20 Date: Tue, 30 Jun 2026 15:09:03 GMT Message-ID: <178283214324.1.10992807599186739634.rpms-qemu-bb81234419f2@fedoraproject.org> List-ID: X-Git-Repo: rpms/qemu X-Git-Branch: eln X-Git-Rev: bb81234419f2d990dee700e2905b2ed8914d4bac ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcWVtdQogICAgICAgICAgICBCcmFuY2ggOiBlbG4KICAgICAgICAgICAgQ29t bWl0IDogYmI4MTIzNDQxOWYyZDk5MGRlZTcwMGUyOTA1YjJlZDg5MTRkNGJhYwogICAgICAgICAg ICBBdXRob3IgOiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KICAgICAg ICAgICAgRGF0ZSAgIDogMjAyNi0wNi0zMFQxNzowNzo1NyswMjowMAogICAgICAgICAgICBTdGF0 cyAgOiArMTQ3Mi8tMSBpbiAxMSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcWVtdS9jL2JiODEyMzQ0MTlmMmQ5OTBkZWU3MDBl MjkwNWIyZWQ4OTE0ZDRiYWM/YnJhbmNoPWVsbgoKICAgICAgICAgICAgTG9nOgogICAgICAgICAg ICAqIE1vbiBKdW4gMDggMjAyNiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNv bT4gLSAxMC4xLjAtMjAKCi0ga3ZtLWFjY2VsLW1zaHYtUmVtb3ZlLXJlbWFwLW92ZXJsYXBwaW5n LW1hcHBpbmdzLWNvZGUucGF0Y2ggW1JIRUwtMTc4NzY3XQotIGt2bS1hY2NlbC1tc2h2LWltcGxl bWVudC1jcHVfdGhyZWFkX2lzX2lkbGUtaG9vay5wYXRjaCBbUkhFTC0xNzg3NjddCi0ga3ZtLXNj c2ktYWRqdXN0LWVycm9yX3ByZXBlbmQtZm9ybWF0dGluZy5wYXRjaCBbUkhFTC0xNTU4MDddCi0g a3ZtLXNjc2ktYWx3YXlzLXNlbmQtdmFsaWQtUFJFRU1QVC1UWVBFLWZpZWxkLnBhdGNoIFtSSEVM LTE1NTgwN10KLSBrdm0tc2NzaS1yZWdpc3Rlci1hZ2Fpbi1hZnRlci1QUkVFTVBULXdpdGhvdXQt cmVzZXJ2YXRpby5wYXRjaCBbUkhFTC0xNTU4MDddCi0ga3ZtLWh3LXRwbS10cG1fdGlzX3N5c2J1 cy1kZWZlci1yZXNvdXJjZS1hbGxvY2F0aW9uLXRvLXIucGF0Y2ggW1JIRUwtMTc4ODQ2XQotIGt2 bS12ZmlvLWNvbnRhaW5lci1SZXN0cmljdC1kbWFfbWFwX2ZpbGUtdG8tc2hhcmVkLVJBTS1vLnBh dGNoIFtSSEVMLTE4MDc1MF0KLSBrdm0tc2NzaS1jaGFuZ2UtYnVmX3NpemUtdG8tdW5zaWduZWQt aW50LWluLXNjc2lfU0dfSU8ucGF0Y2ggW1JIRUwtMTUzMTIzXQotIGt2bS1zY3NpLWhhbmRsZS1y ZXNlcnZhdGlvbi1jaGFuZ2VzLWFjcm9zcy1taWdyYXRpb24ucGF0Y2ggW1JIRUwtMTUzMTIzXQot IFJlc29sdmVzOiBSSEVMLTE3ODc2NwogIChNU0hWIGJhY2twb3J0IG9udG8gUUVNVSAxMC4xLjAg aXMgbm90IGFibGUgdG8gbGF1bmNoIE1TSFYgZ3Vlc3RzKQotIFJlc29sdmVzOiBSSEVMLTE1NTgw NwogIChsaXZlIG1pZ3JhdGlvbiBmYWlsZWQgdGhlIFZNIGp1c3QgcmVnaXN0ZXIga2V5IG9ubHkg W3JoZWwtMTAuM10pCi0gUmVzb2x2ZXM6IFJIRUwtMTc4ODQ2CiAgKFthYXJjaDY0XSBxZW11LWt2 bSBjcmFzaGVzIG9uIC0tZGV2aWNlIHRwbS10aXMtZGV2aWNlLD8pCi0gUmVzb2x2ZXM6IFJIRUwt MTgwNzUwCiAgKEJhY2twb3J0IGluIFFFTVUgOiB2ZmlvL2NvbnRhaW5lcjogUmVzdHJpY3QgZG1h X21hcF9maWxlKCkgdG8gc2hhcmVkIFJBTSBvciBSQU0gZGV2aWNlcykKLSBSZXNvbHZlczogUkhF TC0xNTMxMjMKICAobGl2ZSBtaWdyYXRpb24gZmFpbGVkIG9yIGdldCBmYWlsZWQgV1NGQyB0ZXN0 IHJlc3VsdCBkdXJpbmcgV1NGQyB0ZXN0aW5nIFtyaGVsLTEwLjNdKQoKLS0tCmRpZmYgLS1naXQg YS9rdm0tYWNjZWwtbXNodi1SZW1vdmUtcmVtYXAtb3ZlcmxhcHBpbmctbWFwcGluZ3MtY29kZS5w YXRjaCBiL2t2bS1hY2NlbC1tc2h2LVJlbW92ZS1yZW1hcC1vdmVybGFwcGluZy1tYXBwaW5ncy1j b2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZjdkMDEKLS0t IC9kZXYvbnVsbAorKysgYi9rdm0tYWNjZWwtbXNodi1SZW1vdmUtcmVtYXAtb3ZlcmxhcHBpbmct bWFwcGluZ3MtY29kZS5wYXRjaApAQCAtMCwwICsxLDY5MCBAQAorRnJvbSAwZDQ4NGZlNDVhZWU5 YTc0ODFkNTQzYWMyYTA0NTNhMzA4NzJmZmJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogTWFnbnVzIEt1bGtlIDxtYWdudXNrdWxrZUBsaW51eC5taWNyb3NvZnQuY29tPgorRGF0ZTog VHVlLCAxMyBKYW4gMjAyNiAxNjozNzowOCArMDEwMAorU3ViamVjdDogW1BBVENIIDEvOV0gYWNj ZWwvbXNodjogUmVtb3ZlIHJlbWFwIG92ZXJsYXBwaW5nIG1hcHBpbmdzIGNvZGUKKworUkgtQXV0 aG9yOiBNYWdudXMgS3Vsa2UgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ5MDogYWNjZWwvbXNo djogYmFja3BvcnQgcmVxdWlyZWQgcGF0Y2hlcyBmb3IgbXNodiBndWVzdHMKK1JILUppcmE6IFJI RUwtMTc4NzY3CitSSC1BY2tlZC1ieTogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNv bT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4K K1JILUNvbW1pdDogWzEvMl0gOTU5ZGYzNWI0Y2Q3N2NmODVmN2E4YTY3ZDQzOGFkNzExMzU1MjVl OSAobWt1bGtlL3FlbXUta3ZtKQorCitUaGlzIGNoYW5nZSByZW1vdmVzIHVzZXJsYW5kIGNvZGUg dGhhdCB3b3JrZWQgYXJvdW5kIGEgcmVzdHJpY3Rpb24KK2luIHRoZSBtc2h2IGRyaXZlciBpbiB0 aGUgNi4xOCBrZXJuZWw6IHJlZ2lvbnMgZnJvbSB1c2VybGFuZAorY291bGRuJ3QgYmUgbWFwcGVk IHRvIG11bHRpcGxlIHJlZ2lvbnMgaW4gdGhlIGtlcm5lbC4gV2UgbWFpbnRhaW5lZCBhCitzaGFk b3cgbWFwcGluZyB0YWJsZSBpbiBxZW11IGFuZCB1c2VkIGEgaGV1cmlzdGljIHRvIHN3YXAgaW4g YSByZXF1ZXN0ZWQKK3JlZ2lvbiBpbiBjYXNlIG9mIFVOTUFQUEVEX0dQQSBleGl0cy4KKworSG93 ZXZlciwgdGhpcyBoZXVyaXN0aWMgd2Fzbid0IHJlbGlhYmxlIGluIGFsbCBjYXNlcywgc2luY2Ug SHlwZXJWCitiZWhhdmlvdXIgaXMgbm90IDEwMCUgcmVsaWFibGUgYWNyb3NzIHZlcnNpb25zLiBI eXBlclYgaXRzZWxmIGRvZXNuJ3QKK3Byb2hpYml0IHRvIG1hcCByZWdpb25zIGF0IG11bHRpcGxl IHBsYWNlcyBpbnRvIHRoZSBndWVzdCwgc28gdGhlCityZXN0cmljdGlvbiBoYXMgYmVlbiByZW1v dmVkIGluIHRoZSBtc2h2IGRyaXZlci4KKworSGVuY2Ugd2UgY2FuIHJlbW92ZSB0aGUgcmVtYXBw aW5nIGNvZGUuIEVmZmVjdGl2ZWx5IHRoaXMgd2lsbCBtYW5kYXRlIGEKKzYuMTkga2VybmVsLCBp ZiB0aGUgd29ya2xvYWQgYXR0ZW1wdCB0byBtYXAgZS5nLiBCSU9TIHRvIG11bHRpcGxlCityZWFn aW9ucy4gSSBzdGlsbCB0aGluayBpdCdzIHRoZSByaWdodCBjYWxsIHRvIHJlbW92ZSB0aGlzIGxv Z2ljOgorCistIFRoZSB3b3JrYXJvdW5kIG9ubHkgc2VlbXMgdG8gd29yayByZWxpYWJseSB3aXRo IGEgY2VydGFpbiByZXZpc2lvbgorICBvZiBIeXBlclYgYXMgYSBuZXN0ZWQgaHlwZXJ2aXNvci4K Ky0gV2UgZXhwZWN0IERpcmVjdCBWaXJ0dWFsaXphdGlvbiAoTDFWSCkgdG8gYmUgdGhlIG1haW4g cGxhdGZvcm0gZm9yCisgIHRoZSBtc2h2IGFjY2VsZXJhdG9yLCB3aGljaCBhbHNvIHJlcXVpcmVz IGEgNi4xOSBrZXJuZWwKKworVGhpcyByZXZlcnRzIGNvbW1pdCBlZmM0MDkzMzU4NTExYTU4ODQ2 YTQwOWI5NjUyMTNhYTFiYjlmMzFhLgorCitTaWduZWQtb2ZmLWJ5OiBNYWdudXMgS3Vsa2UgPG1h Z251c2t1bGtlQGxpbnV4Lm1pY3Jvc29mdC5jb20+CitBY2tlZC1ieTogV2VpIExpdSAoTWljcm9z b2Z0KSA8d2VpLmxpdUBrZXJuZWwub3JnPgorVGVzdGVkLWJ5OiBNb2hhbWVkIE1lZGlvdW5pIDxt b2hhbWVkQHVucHJlZGljdGFibGUuZnI+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9y LzIwMjYwMTEzMTUzNzA4LjQ0ODk2OC0xLW1hZ251c2t1bGtlQGxpbnV4Lm1pY3Jvc29mdC5jb20K K1NpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CisoY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2MjZlNWRjOTk5MzUzZDJjNGE4OWZlYmQ0NjMwMWJmZWM2 ZGFhM2E3KQorLS0tCisgYWNjZWwvbXNodi9tZW0uYyAgICAgICAgICAgIHwgNDA2ICsrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGFjY2VsL21zaHYvbXNodi1hbGwuYyAgICAg ICB8ICAgMiAtCisgYWNjZWwvbXNodi90cmFjZS1ldmVudHMgICAgIHwgICA1IC0KKyBpbmNsdWRl L3N5c3RlbS9tc2h2X2ludC5oICAgfCAgMjIgKy0KKyB0YXJnZXQvaTM4Ni9tc2h2L21zaHYtY3B1 LmMgfCAgNDMgLS0tLQorIDUgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgNDQ4IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNjZWwvbXNodi9tZW0uYyBiL2FjY2VsL21zaHYv bWVtLmMKK2luZGV4IDBlMjE2NGFmM2UuLmU1NWMzOGQ0ZGIgMTAwNjQ0CistLS0gYS9hY2NlbC9t c2h2L21lbS5jCisrKysgYi9hY2NlbC9tc2h2L21lbS5jCitAQCAtMTEsOSArMTEsNyBAQAorICAq LworIAorICNpbmNsdWRlICJxZW11L29zZGVwLmgiCistI2luY2x1ZGUgInFlbXUvbG9ja2FibGUu aCIKKyAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKKy0jaW5jbHVkZSAicWVtdS9yY3Uu aCIKKyAjaW5jbHVkZSAibGludXgvbXNodi5oIgorICNpbmNsdWRlICJzeXN0ZW0vYWRkcmVzcy1z cGFjZXMuaCIKKyAjaW5jbHVkZSAic3lzdGVtL21zaHYuaCIKK0BAIC0yMiwxMzcgKzIwLDYgQEAK KyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgInRyYWNlLmgiCisgCistdHlwZWRl ZiBzdHJ1Y3QgU2xvdHNSQ1VSZWNsYWltIHsKKy0gICAgc3RydWN0IHJjdV9oZWFkIHJjdTsKKy0g ICAgR0xpc3QgKm9sZF9oZWFkOworLSAgICBNc2h2TWVtb3J5U2xvdCAqcmVtb3ZlZF9zbG90Owor LX0gU2xvdHNSQ1VSZWNsYWltOworLQorLXN0YXRpYyB2b2lkIHJjdV9yZWNsYWltX3Nsb3RsaXN0 KHN0cnVjdCByY3VfaGVhZCAqcmN1KQorLXsKKy0gICAgU2xvdHNSQ1VSZWNsYWltICpyID0gY29u dGFpbmVyX29mKHJjdSwgU2xvdHNSQ1VSZWNsYWltLCByY3UpOworLSAgICBnX2xpc3RfZnJlZShy LT5vbGRfaGVhZCk7CistICAgIGdfZnJlZShyLT5yZW1vdmVkX3Nsb3QpOworLSAgICBnX2ZyZWUo cik7CistfQorLQorLXN0YXRpYyB2b2lkIHB1Ymxpc2hfc2xvdHMoR0xpc3QgKm5ld19oZWFkLCBH TGlzdCAqb2xkX2hlYWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICBNc2h2TWVtb3J5U2xv dCAqcmVtb3ZlZF9zbG90KQorLXsKKy0gICAgTXNodk1lbW9yeVNsb3RNYW5hZ2VyICptYW5hZ2Vy ID0gJm1zaHZfc3RhdGUtPm1zbTsKKy0KKy0gICAgYXNzZXJ0KG1hbmFnZXIpOworLSAgICBxYXRv bWljX3N0b3JlX3JlbGVhc2UoJm1hbmFnZXItPnNsb3RzLCBuZXdfaGVhZCk7CistCistICAgIFNs b3RzUkNVUmVjbGFpbSAqciA9IGdfbmV3KFNsb3RzUkNVUmVjbGFpbSwgMSk7CistICAgIHItPm9s ZF9oZWFkID0gb2xkX2hlYWQ7CistICAgIHItPnJlbW92ZWRfc2xvdCA9IHJlbW92ZWRfc2xvdDsK Ky0KKy0gICAgY2FsbF9yY3UxKCZyLT5yY3UsIHJjdV9yZWNsYWltX3Nsb3RsaXN0KTsKKy19Cist CistLyogTmVlZHMgdG8gYmUgY2FsbGVkIHdpdGggbXNodl9zdGF0ZS0+bXNtLm11dGV4IGhlbGQg Ki8KKy1zdGF0aWMgaW50IHJlbW92ZV9zbG90KE1zaHZNZW1vcnlTbG90ICpzbG90KQorLXsKKy0g ICAgR0xpc3QgKm9sZF9oZWFkLCAqbmV3X2hlYWQ7CistICAgIE1zaHZNZW1vcnlTbG90TWFuYWdl ciAqbWFuYWdlciA9ICZtc2h2X3N0YXRlLT5tc207CistCistICAgIGFzc2VydChtYW5hZ2VyKTsK Ky0gICAgb2xkX2hlYWQgPSBxYXRvbWljX2xvYWRfYWNxdWlyZSgmbWFuYWdlci0+c2xvdHMpOwor LQorLSAgICBpZiAoIWdfbGlzdF9maW5kKG9sZF9oZWFkLCBzbG90KSkgeworLSAgICAgICAgZXJy b3JfcmVwb3J0KCJzbG90IHJlcXVlc3RlZCBmb3IgcmVtb3ZhbCBub3QgZm91bmQiKTsKKy0gICAg ICAgIHJldHVybiAtMTsKKy0gICAgfQorLQorLSAgICBuZXdfaGVhZCA9IGdfbGlzdF9jb3B5KG9s ZF9oZWFkKTsKKy0gICAgbmV3X2hlYWQgPSBnX2xpc3RfcmVtb3ZlKG5ld19oZWFkLCBzbG90KTsK Ky0gICAgbWFuYWdlci0+bl9zbG90cy0tOworLQorLSAgICBwdWJsaXNoX3Nsb3RzKG5ld19oZWFk LCBvbGRfaGVhZCwgc2xvdCk7CistCistICAgIHJldHVybiAwOworLX0KKy0KKy0vKiBOZWVkcyB0 byBiZSBjYWxsZWQgd2l0aCBtc2h2X3N0YXRlLT5tc20ubXV0ZXggaGVsZCAqLworLXN0YXRpYyBN c2h2TWVtb3J5U2xvdCAqYXBwZW5kX3Nsb3QodWludDY0X3QgZ3BhLCB1aW50NjRfdCB1c2Vyc3Bh Y2VfYWRkciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHNp emUsIGJvb2wgcmVhZG9ubHkpCisteworLSAgICBHTGlzdCAqb2xkX2hlYWQsICpuZXdfaGVhZDsK Ky0gICAgTXNodk1lbW9yeVNsb3QgKnNsb3Q7CistICAgIE1zaHZNZW1vcnlTbG90TWFuYWdlciAq bWFuYWdlciA9ICZtc2h2X3N0YXRlLT5tc207CistCistICAgIGFzc2VydChtYW5hZ2VyKTsKKy0K Ky0gICAgb2xkX2hlYWQgPSBxYXRvbWljX2xvYWRfYWNxdWlyZSgmbWFuYWdlci0+c2xvdHMpOwor LQorLSAgICBpZiAobWFuYWdlci0+bl9zbG90cyA+PSBNU0hWX01BWF9NRU1fU0xPVFMpIHsKKy0g ICAgICAgIGVycm9yX3JlcG9ydCgibm8gZnJlZSBtZW1vcnkgc2xvdHMgYXZhaWxhYmxlIik7Cist ICAgICAgICByZXR1cm4gTlVMTDsKKy0gICAgfQorLQorLSAgICBzbG90ID0gZ19uZXcwKE1zaHZN ZW1vcnlTbG90LCAxKTsKKy0gICAgc2xvdC0+Z3Vlc3RfcGh5c19hZGRyID0gZ3BhOworLSAgICBz bG90LT51c2Vyc3BhY2VfYWRkciA9IHVzZXJzcGFjZV9hZGRyOworLSAgICBzbG90LT5tZW1vcnlf c2l6ZSA9IHNpemU7CistICAgIHNsb3QtPnJlYWRvbmx5ID0gcmVhZG9ubHk7CistCistICAgIG5l d19oZWFkID0gZ19saXN0X2NvcHkob2xkX2hlYWQpOworLSAgICBuZXdfaGVhZCA9IGdfbGlzdF9h cHBlbmQobmV3X2hlYWQsIHNsb3QpOworLSAgICBtYW5hZ2VyLT5uX3Nsb3RzKys7CistCistICAg IHB1Ymxpc2hfc2xvdHMobmV3X2hlYWQsIG9sZF9oZWFkLCBOVUxMKTsKKy0KKy0gICAgcmV0dXJu IHNsb3Q7CistfQorLQorLXN0YXRpYyBpbnQgc2xvdF9vdmVybGFwcyhjb25zdCBNc2h2TWVtb3J5 U2xvdCAqc2xvdDEsCistICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE1zaHZNZW1vcnlT bG90ICpzbG90MikKKy17CistICAgIHVpbnQ2NF90IHN0YXJ0XzEgPSBzbG90MS0+dXNlcnNwYWNl X2FkZHIsCistICAgICAgICAgICAgIHN0YXJ0XzIgPSBzbG90Mi0+dXNlcnNwYWNlX2FkZHI7Cist ICAgIHNpemVfdCBsZW5fMSA9IHNsb3QxLT5tZW1vcnlfc2l6ZSwKKy0gICAgICAgICAgIGxlbl8y ID0gc2xvdDItPm1lbW9yeV9zaXplOworLQorLSAgICBpZiAoc2xvdDEgPT0gc2xvdDIpIHsKKy0g ICAgICAgIHJldHVybiAtMTsKKy0gICAgfQorLQorLSAgICByZXR1cm4gcmFuZ2VzX292ZXJsYXAo c3RhcnRfMSwgbGVuXzEsIHN0YXJ0XzIsIGxlbl8yKSA/ICAwIDogLTE7CistfQorLQorLXN0YXRp YyBib29sIGlzX21hcHBlZChNc2h2TWVtb3J5U2xvdCAqc2xvdCkKKy17CistICAgIC8qIFN1YnNl cXVlbnQgcmVhZHMgb2YgbWFwcGVkIGZpZWxkIHNlZSBhIGZ1bGx5LWluaXRpYWxpemVkIHNsb3Qg Ki8KKy0gICAgcmV0dXJuIHFhdG9taWNfbG9hZF9hY3F1aXJlKCZzbG90LT5tYXBwZWQpOworLX0K Ky0KKy0vKgorLSAqIEZpbmQgc2xvdCB0aGF0IGlzOgorLSAqIC0gb3ZlcmxhcHBpbmcgaW4gdXNl cnNwYWNlCistICogLSBjdXJyZW50bHkgbWFwcGVkIGluIHRoZSBndWVzdAorLSAqCistICogTmVl ZHMgdG8gYmUgY2FsbGVkIHdpdGggbXNodl9zdGF0ZS0+bXNtLm11dGV4IG9yIFJDVSByZWFkIGxv Y2sgaGVsZC4KKy0gKi8KKy1zdGF0aWMgTXNodk1lbW9yeVNsb3QgKmZpbmRfb3ZlcmxhcF9tZW1f c2xvdChHTGlzdCAqaGVhZCwgTXNodk1lbW9yeVNsb3QgKnNsb3QpCisteworLSAgICBHTGlzdCAq Zm91bmQ7CistICAgIE1zaHZNZW1vcnlTbG90ICpvdmVybGFwX3Nsb3Q7CistCistICAgIGZvdW5k ID0gZ19saXN0X2ZpbmRfY3VzdG9tKGhlYWQsIHNsb3QsIChHQ29tcGFyZUZ1bmMpIHNsb3Rfb3Zl cmxhcHMpOworLQorLSAgICBpZiAoIWZvdW5kKSB7CistICAgICAgICByZXR1cm4gTlVMTDsKKy0g ICAgfQorLQorLSAgICBvdmVybGFwX3Nsb3QgPSBmb3VuZC0+ZGF0YTsKKy0gICAgaWYgKCFvdmVy bGFwX3Nsb3QgfHwgIWlzX21hcHBlZChvdmVybGFwX3Nsb3QpKSB7CistICAgICAgICByZXR1cm4g TlVMTDsKKy0gICAgfQorLQorLSAgICByZXR1cm4gb3ZlcmxhcF9zbG90OworLX0KKy0KKyBzdGF0 aWMgaW50IHNldF9ndWVzdF9tZW1vcnkoaW50IHZtX2ZkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgbXNodl91c2VyX21lbV9yZWdpb24gKnJlZ2lvbikKKyB7CitA QCAtMTYwLDE2OSArMjcsMzggQEAgc3RhdGljIGludCBzZXRfZ3Vlc3RfbWVtb3J5KGludCB2bV9m ZCwKKyAKKyAgICAgcmV0ID0gaW9jdGwodm1fZmQsIE1TSFZfU0VUX0dVRVNUX01FTU9SWSwgcmVn aW9uKTsKKyAgICAgaWYgKHJldCA8IDApIHsKKy0gICAgICAgIGVycm9yX3JlcG9ydCgiZmFpbGVk IHRvIHNldCBndWVzdCBtZW1vcnk6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKKy0gICAgICAgIHJl dHVybiAtMTsKKysgICAgICAgIGVycm9yX3JlcG9ydCgiZmFpbGVkIHRvIHNldCBndWVzdCBtZW1v cnkiKTsKKysgICAgICAgIHJldHVybiAtZXJybm87CisgICAgIH0KKyAKKyAgICAgcmV0dXJuIDA7 CisgfQorIAorLXN0YXRpYyBpbnQgbWFwX29yX3VubWFwKGludCB2bV9mZCwgY29uc3QgTXNodk1l bW9yeVNsb3QgKnNsb3QsIGJvb2wgbWFwKQorK3N0YXRpYyBpbnQgbWFwX29yX3VubWFwKGludCB2 bV9mZCwgY29uc3QgTXNodk1lbW9yeVJlZ2lvbiAqbXIsIGJvb2wgbWFwKQorIHsKKyAgICAgc3Ry dWN0IG1zaHZfdXNlcl9tZW1fcmVnaW9uIHJlZ2lvbiA9IHswfTsKKyAKKy0gICAgcmVnaW9uLmd1 ZXN0X3BmbiA9IHNsb3QtPmd1ZXN0X3BoeXNfYWRkciA+PiBNU0hWX1BBR0VfU0hJRlQ7CistICAg IHJlZ2lvbi5zaXplID0gc2xvdC0+bWVtb3J5X3NpemU7CistICAgIHJlZ2lvbi51c2Vyc3BhY2Vf YWRkciA9IHNsb3QtPnVzZXJzcGFjZV9hZGRyOworKyAgICByZWdpb24uZ3Vlc3RfcGZuID0gbXIt Pmd1ZXN0X3BoeXNfYWRkciA+PiBNU0hWX1BBR0VfU0hJRlQ7CisrICAgIHJlZ2lvbi5zaXplID0g bXItPm1lbW9yeV9zaXplOworKyAgICByZWdpb24udXNlcnNwYWNlX2FkZHIgPSBtci0+dXNlcnNw YWNlX2FkZHI7CisgCisgICAgIGlmICghbWFwKSB7CisgICAgICAgICByZWdpb24uZmxhZ3MgfD0g KDEgPDwgTVNIVl9TRVRfTUVNX0JJVF9VTk1BUCk7CistICAgICAgICB0cmFjZV9tc2h2X3VubWFw X21lbW9yeShzbG90LT51c2Vyc3BhY2VfYWRkciwgc2xvdC0+Z3Vlc3RfcGh5c19hZGRyLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xvdC0+bWVtb3J5X3NpemUpOworKyAgICAg ICAgdHJhY2VfbXNodl91bm1hcF9tZW1vcnkobXItPnVzZXJzcGFjZV9hZGRyLCBtci0+Z3Vlc3Rf cGh5c19hZGRyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXItPm1lbW9yeV9z aXplKTsKKyAgICAgICAgIHJldHVybiBzZXRfZ3Vlc3RfbWVtb3J5KHZtX2ZkLCAmcmVnaW9uKTsK KyAgICAgfQorIAorICAgICByZWdpb24uZmxhZ3MgPSBCSVQoTVNIVl9TRVRfTUVNX0JJVF9FWEVD VVRBQkxFKTsKKy0gICAgaWYgKCFzbG90LT5yZWFkb25seSkgeworKyAgICBpZiAoIW1yLT5yZWFk b25seSkgeworICAgICAgICAgcmVnaW9uLmZsYWdzIHw9IEJJVChNU0hWX1NFVF9NRU1fQklUX1dS SVRBQkxFKTsKKyAgICAgfQorIAorLSAgICB0cmFjZV9tc2h2X21hcF9tZW1vcnkoc2xvdC0+dXNl cnNwYWNlX2FkZHIsIHNsb3QtPmd1ZXN0X3BoeXNfYWRkciwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgIHNsb3QtPm1lbW9yeV9zaXplKTsKKysgICAgdHJhY2VfbXNodl9tYXBfbWVtb3J5KG1y LT51c2Vyc3BhY2VfYWRkciwgbXItPmd1ZXN0X3BoeXNfYWRkciwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgIG1yLT5tZW1vcnlfc2l6ZSk7CisgICAgIHJldHVybiBzZXRfZ3Vlc3RfbWVtb3J5 KHZtX2ZkLCAmcmVnaW9uKTsKKyB9CisgCistc3RhdGljIGludCBzbG90X21hdGNoZXNfcmVnaW9u KGNvbnN0IE1zaHZNZW1vcnlTbG90ICpzbG90MSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgTXNodk1lbW9yeVNsb3QgKnNsb3QyKQorLXsKKy0gICAgcmV0dXJuIChzbG90 MS0+Z3Vlc3RfcGh5c19hZGRyID09IHNsb3QyLT5ndWVzdF9waHlzX2FkZHIgJiYKKy0gICAgICAg ICAgICBzbG90MS0+dXNlcnNwYWNlX2FkZHIgID09IHNsb3QyLT51c2Vyc3BhY2VfYWRkciAmJgor LSAgICAgICAgICAgIHNsb3QxLT5tZW1vcnlfc2l6ZSAgICAgPT0gc2xvdDItPm1lbW9yeV9zaXpl KSA/IDAgOiAtMTsKKy19CistCistLyogTmVlZHMgdG8gYmUgY2FsbGVkIHdpdGggbXNodl9zdGF0 ZS0+bXNtLm11dGV4IGhlbGQgKi8KKy1zdGF0aWMgTXNodk1lbW9yeVNsb3QgKmZpbmRfbWVtX3Ns b3RfYnlfcmVnaW9uKHVpbnQ2NF90IGdwYSwgdWludDY0X3Qgc2l6ZSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHVzZXJzcGFjZV9hZGRy KQorLXsKKy0gICAgTXNodk1lbW9yeVNsb3QgcmVmX3Nsb3QgPSB7CistICAgICAgICAuZ3Vlc3Rf cGh5c19hZGRyID0gZ3BhLAorLSAgICAgICAgLnVzZXJzcGFjZV9hZGRyICA9IHVzZXJzcGFjZV9h ZGRyLAorLSAgICAgICAgLm1lbW9yeV9zaXplICAgICA9IHNpemUsCistICAgIH07CistICAgIEdM aXN0ICpmb3VuZDsKKy0gICAgTXNodk1lbW9yeVNsb3RNYW5hZ2VyICptYW5hZ2VyID0gJm1zaHZf c3RhdGUtPm1zbTsKKy0KKy0gICAgYXNzZXJ0KG1hbmFnZXIpOworLSAgICBmb3VuZCA9IGdfbGlz dF9maW5kX2N1c3RvbShtYW5hZ2VyLT5zbG90cywgJnJlZl9zbG90LAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoR0NvbXBhcmVGdW5jKSBzbG90X21hdGNoZXNfcmVnaW9uKTsKKy0K Ky0gICAgcmV0dXJuIGZvdW5kID8gZm91bmQtPmRhdGEgOiBOVUxMOworLX0KKy0KKy1zdGF0aWMg aW50IHNsb3RfY292ZXJzX2dwYShjb25zdCBNc2h2TWVtb3J5U2xvdCAqc2xvdCwgdWludDY0X3Qg KmdwYV9wKQorLXsKKy0gICAgdWludDY0X3QgZ3BhX29mZnNldCwgZ3BhID0gKmdwYV9wOworLQor LSAgICBncGFfb2Zmc2V0ID0gZ3BhIC0gc2xvdC0+Z3Vlc3RfcGh5c19hZGRyOworLSAgICByZXR1 cm4gKHNsb3QtPmd1ZXN0X3BoeXNfYWRkciA8PSBncGEgJiYgZ3BhX29mZnNldCA8IHNsb3QtPm1l bW9yeV9zaXplKQorLSAgICAgICAgPyAwIDogLTE7CistfQorLQorLS8qIE5lZWRzIHRvIGJlIGNh bGxlZCB3aXRoIG1zaHZfc3RhdGUtPm1zbS5tdXRleCBvciBSQ1UgcmVhZCBsb2NrIGhlbGQgKi8K Ky1zdGF0aWMgTXNodk1lbW9yeVNsb3QgKmZpbmRfbWVtX3Nsb3RfYnlfZ3BhKEdMaXN0ICpoZWFk LCB1aW50NjRfdCBncGEpCisteworLSAgICBHTGlzdCAqZm91bmQ7CistICAgIE1zaHZNZW1vcnlT bG90ICpzbG90OworLQorLSAgICB0cmFjZV9tc2h2X2ZpbmRfc2xvdF9ieV9ncGEoZ3BhKTsKKy0K Ky0gICAgZm91bmQgPSBnX2xpc3RfZmluZF9jdXN0b20oaGVhZCwgJmdwYSwgKEdDb21wYXJlRnVu Yykgc2xvdF9jb3ZlcnNfZ3BhKTsKKy0gICAgaWYgKGZvdW5kKSB7CistICAgICAgICBzbG90ID0g Zm91bmQtPmRhdGE7CistICAgICAgICB0cmFjZV9tc2h2X2ZvdW5kX3Nsb3Qoc2xvdC0+dXNlcnNw YWNlX2FkZHIsIHNsb3QtPmd1ZXN0X3BoeXNfYWRkciwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzbG90LT5tZW1vcnlfc2l6ZSk7CistICAgICAgICByZXR1cm4gc2xvdDsKKy0gICAg fQorLQorLSAgICByZXR1cm4gTlVMTDsKKy19CistCistLyogTmVlZHMgdG8gYmUgY2FsbGVkIHdp dGggbXNodl9zdGF0ZS0+bXNtLm11dGV4IGhlbGQgKi8KKy1zdGF0aWMgdm9pZCBzZXRfbWFwcGVk KE1zaHZNZW1vcnlTbG90ICpzbG90LCBib29sIG1hcHBlZCkKKy17CistICAgIC8qIHByaW9yIHdy aXRlcyB0byBtYXBwZWQgZmllbGQgYmVjb21lcyB2aXNpYmxlIGJlZm9yZSByZWFkZXJzIHNlZSBz bG90ICovCistICAgIHFhdG9taWNfc3RvcmVfcmVsZWFzZSgmc2xvdC0+bWFwcGVkLCBtYXBwZWQp OworLX0KKy0KKy1Nc2h2UmVtYXBSZXN1bHQgbXNodl9yZW1hcF9vdmVybGFwX3JlZ2lvbihpbnQg dm1fZmQsIHVpbnQ2NF90IGdwYSkKKy17CistICAgIE1zaHZNZW1vcnlTbG90ICpncGFfc2xvdCwg Km92ZXJsYXBfc2xvdDsKKy0gICAgR0xpc3QgKmhlYWQ7CistICAgIGludCByZXQ7CistICAgIE1z aHZNZW1vcnlTbG90TWFuYWdlciAqbWFuYWdlciA9ICZtc2h2X3N0YXRlLT5tc207CistCistICAg IC8qIGZhc3QgcGF0aCwgY2FsbGVkIG9mdGVuIGJ5IHVubWFwcGVkX2dwYSB2bSBleGl0ICovCist ICAgIFdJVEhfUkNVX1JFQURfTE9DS19HVUFSRCgpIHsKKy0gICAgICAgIGFzc2VydChtYW5hZ2Vy KTsKKy0gICAgICAgIGhlYWQgPSBxYXRvbWljX2xvYWRfYWNxdWlyZSgmbWFuYWdlci0+c2xvdHMp OworLSAgICAgICAgLyogcmV0dXJuIGVhcmx5IGlmIG5vIHNsb3QgaXMgZm91bmQgKi8KKy0gICAg ICAgIGdwYV9zbG90ID0gZmluZF9tZW1fc2xvdF9ieV9ncGEoaGVhZCwgZ3BhKTsKKy0gICAgICAg IGlmIChncGFfc2xvdCA9PSBOVUxMKSB7CistICAgICAgICAgICAgcmV0dXJuIE1zaHZSZW1hcE5v TWFwcGluZzsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIC8qIHJldHVybiBlYXJseSBpZiBubyBv dmVybGFwcGluZyBzbG90IGlzIGZvdW5kICovCistICAgICAgICBvdmVybGFwX3Nsb3QgPSBmaW5k X292ZXJsYXBfbWVtX3Nsb3QoaGVhZCwgZ3BhX3Nsb3QpOworLSAgICAgICAgaWYgKG92ZXJsYXBf c2xvdCA9PSBOVUxMKSB7CistICAgICAgICAgICAgcmV0dXJuIE1zaHZSZW1hcE5vT3ZlcmxhcDsK Ky0gICAgICAgIH0KKy0gICAgfQorLQorLSAgICAvKgorLSAgICAgKiBXZSdsbCBtb2RpZnkgdGhl IG1hcHBpbmcgbGlzdCwgc28gd2UgbmVlZCB0byB1cGdyYWRlIHRvIG11dGV4IGFuZAorLSAgICAg KiByZWNoZWNrLgorLSAgICAgKi8KKy0gICAgYXNzZXJ0KG1hbmFnZXIpOworLSAgICBRRU1VX0xP Q0tfR1VBUkQoJm1hbmFnZXItPm11dGV4KTsKKy0KKy0gICAgLyogcmV0dXJuIGVhcmx5IGlmIG5v IHNsb3QgaXMgZm91bmQgKi8KKy0gICAgZ3BhX3Nsb3QgPSBmaW5kX21lbV9zbG90X2J5X2dwYSht YW5hZ2VyLT5zbG90cywgZ3BhKTsKKy0gICAgaWYgKGdwYV9zbG90ID09IE5VTEwpIHsKKy0gICAg ICAgIHJldHVybiBNc2h2UmVtYXBOb01hcHBpbmc7CistICAgIH0KKy0KKy0gICAgLyogcmV0dXJu IGVhcmx5IGlmIG5vIG92ZXJsYXBwaW5nIHNsb3QgaXMgZm91bmQgKi8KKy0gICAgb3ZlcmxhcF9z bG90ID0gZmluZF9vdmVybGFwX21lbV9zbG90KG1hbmFnZXItPnNsb3RzLCBncGFfc2xvdCk7Cist ICAgIGlmIChvdmVybGFwX3Nsb3QgPT0gTlVMTCkgeworLSAgICAgICAgcmV0dXJuIE1zaHZSZW1h cE5vT3ZlcmxhcDsKKy0gICAgfQorLQorLSAgICAvKiB1bm1hcCBvdmVybGFwcGluZyBzbG90ICov CistICAgIHJldCA9IG1hcF9vcl91bm1hcCh2bV9mZCwgb3ZlcmxhcF9zbG90LCBmYWxzZSk7Cist ICAgIGlmIChyZXQgPCAwKSB7CistICAgICAgICBlcnJvcl9yZXBvcnQoImZhaWxlZCB0byB1bm1h cCBvdmVybGFwIHJlZ2lvbiIpOworLSAgICAgICAgYWJvcnQoKTsKKy0gICAgfQorLSAgICBzZXRf bWFwcGVkKG92ZXJsYXBfc2xvdCwgZmFsc2UpOworLSAgICB3YXJuX3JlcG9ydCgibWFwcGVkIG91 dCB1c2Vyc3BhY2VfYWRkcj0weCUwMTZseCBncGE9MHglMDEwbHggc2l6ZT0weCVseCIsCistICAg ICAgICAgICAgICAgIG92ZXJsYXBfc2xvdC0+dXNlcnNwYWNlX2FkZHIsCistICAgICAgICAgICAg ICAgIG92ZXJsYXBfc2xvdC0+Z3Vlc3RfcGh5c19hZGRyLAorLSAgICAgICAgICAgICAgICBvdmVy bGFwX3Nsb3QtPm1lbW9yeV9zaXplKTsKKy0KKy0gICAgLyogbWFwIHJlZ2lvbiBmb3IgZ3BhICov CistICAgIHJldCA9IG1hcF9vcl91bm1hcCh2bV9mZCwgZ3BhX3Nsb3QsIHRydWUpOworLSAgICBp ZiAocmV0IDwgMCkgeworLSAgICAgICAgZXJyb3JfcmVwb3J0KCJmYWlsZWQgdG8gbWFwIG5ldyBy ZWdpb24iKTsKKy0gICAgICAgIGFib3J0KCk7CistICAgIH0KKy0gICAgc2V0X21hcHBlZChncGFf c2xvdCwgdHJ1ZSk7CistICAgIHdhcm5fcmVwb3J0KCJtYXBwZWQgaW4gIHVzZXJzcGFjZV9hZGRy PTB4JTAxNmx4IGdwYT0weCUwMTBseCBzaXplPTB4JWx4IiwKKy0gICAgICAgICAgICAgICAgZ3Bh X3Nsb3QtPnVzZXJzcGFjZV9hZGRyLCBncGFfc2xvdC0+Z3Vlc3RfcGh5c19hZGRyLAorLSAgICAg ICAgICAgICAgICBncGFfc2xvdC0+bWVtb3J5X3NpemUpOworLQorLSAgICByZXR1cm4gTXNodlJl bWFwT2s7CistfQorLQorIHN0YXRpYyBpbnQgaGFuZGxlX3VubWFwcGVkX21taW9fcmVnaW9uX3Jl YWQodWludDY0X3QgZ3BhLCB1aW50NjRfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZGF0YSkKKyB7CitAQCAtMzg4LDk3ICsxMjQs MjAgQEAgaW50IG1zaHZfZ3Vlc3RfbWVtX3dyaXRlKHVpbnQ2NF90IGdwYSwgY29uc3QgdWludDhf dCAqZGF0YSwgdWludHB0cl90IHNpemUsCisgICAgIHJldHVybiAtMTsKKyB9CisgCistc3RhdGlj IGludCB0cmFja2VkX3VubWFwKGludCB2bV9mZCwgdWludDY0X3QgZ3BhLCB1aW50NjRfdCBzaXpl LAorLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHVzZXJzcGFjZV9hZGRyKQorK3N0 YXRpYyBpbnQgc2V0X21lbW9yeShjb25zdCBNc2h2TWVtb3J5UmVnaW9uICptc2h2X21yLCBib29s IGFkZCkKKyB7CistICAgIGludCByZXQ7CistICAgIE1zaHZNZW1vcnlTbG90ICpzbG90OworLSAg ICBNc2h2TWVtb3J5U2xvdE1hbmFnZXIgKm1hbmFnZXIgPSAmbXNodl9zdGF0ZS0+bXNtOworLQor LSAgICBhc3NlcnQobWFuYWdlcik7CistCistICAgIFFFTVVfTE9DS19HVUFSRCgmbWFuYWdlci0+ bXV0ZXgpOworLQorLSAgICBzbG90ID0gZmluZF9tZW1fc2xvdF9ieV9yZWdpb24oZ3BhLCBzaXpl LCB1c2Vyc3BhY2VfYWRkcik7CistICAgIGlmICghc2xvdCkgeworLSAgICAgICAgdHJhY2VfbXNo dl9za2lwX3Vuc2V0X21lbSh1c2Vyc3BhY2VfYWRkciwgZ3BhLCBzaXplKTsKKy0gICAgICAgIC8q IG5vIHdvcmsgdG8gZG8gKi8KKy0gICAgICAgIHJldHVybiAwOworLSAgICB9CistCistICAgIGlm ICghaXNfbWFwcGVkKHNsb3QpKSB7CistICAgICAgICAvKiByZW1vdmUgc2xvdCwgbm8gbmVlZCB0 byB1bm1hcCAqLworLSAgICAgICAgcmV0dXJuIHJlbW92ZV9zbG90KHNsb3QpOworLSAgICB9Cist CistICAgIHJldCA9IG1hcF9vcl91bm1hcCh2bV9mZCwgc2xvdCwgZmFsc2UpOworLSAgICBpZiAo cmV0IDwgMCkgeworLSAgICAgICAgZXJyb3JfcmVwb3J0KCJmYWlsZWQgdG8gdW5tYXAgbWVtb3J5 IHJlZ2lvbiIpOworLSAgICAgICAgcmV0dXJuIHJldDsKKy0gICAgfQorLSAgICByZXR1cm4gcmVt b3ZlX3Nsb3Qoc2xvdCk7CistfQorLQorLXN0YXRpYyBpbnQgdHJhY2tlZF9tYXAoaW50IHZtX2Zk LCB1aW50NjRfdCBncGEsIHVpbnQ2NF90IHNpemUsIGJvb2wgcmVhZG9ubHksCistICAgICAgICAg ICAgICAgICAgICAgICB1aW50NjRfdCB1c2Vyc3BhY2VfYWRkcikKKy17CistICAgIE1zaHZNZW1v cnlTbG90ICpzbG90LCAqb3ZlcmxhcF9zbG90OworLSAgICBpbnQgcmV0OworLSAgICBNc2h2TWVt b3J5U2xvdE1hbmFnZXIgKm1hbmFnZXIgPSAmbXNodl9zdGF0ZS0+bXNtOworLQorLSAgICBhc3Nl cnQobWFuYWdlcik7CistCistICAgIFFFTVVfTE9DS19HVUFSRCgmbWFuYWdlci0+bXV0ZXgpOwor KyAgICBpbnQgcmV0ID0gMDsKKyAKKy0gICAgc2xvdCA9IGZpbmRfbWVtX3Nsb3RfYnlfcmVnaW9u KGdwYSwgc2l6ZSwgdXNlcnNwYWNlX2FkZHIpOworLSAgICBpZiAoc2xvdCkgeworLSAgICAgICAg ZXJyb3JfcmVwb3J0KCJtZW1vcnkgcmVnaW9uIGFscmVhZHkgbWFwcGVkIGF0IGdwYT0weCVseCwg IgorLSAgICAgICAgICAgICAgICAgICAgICJ1c2Vyc3BhY2VfYWRkcj0weCVseCwgc2l6ZT0weCVs eCIsCistICAgICAgICAgICAgICAgICAgICAgc2xvdC0+Z3Vlc3RfcGh5c19hZGRyLCBzbG90LT51 c2Vyc3BhY2VfYWRkciwKKy0gICAgICAgICAgICAgICAgICAgICBzbG90LT5tZW1vcnlfc2l6ZSk7 CisrICAgIGlmICghbXNodl9tcikgeworKyAgICAgICAgZXJyb3JfcmVwb3J0KCJJbnZhbGlkIG1z aHZfbXIiKTsKKyAgICAgICAgIHJldHVybiAtMTsKKyAgICAgfQorIAorLSAgICBzbG90ID0gYXBw ZW5kX3Nsb3QoZ3BhLCB1c2Vyc3BhY2VfYWRkciwgc2l6ZSwgcmVhZG9ubHkpOworLQorLSAgICBv dmVybGFwX3Nsb3QgPSBmaW5kX292ZXJsYXBfbWVtX3Nsb3QobWFuYWdlci0+c2xvdHMsIHNsb3Qp OworLSAgICBpZiAob3ZlcmxhcF9zbG90KSB7CistICAgICAgICB0cmFjZV9tc2h2X3JlbWFwX2F0 dGVtcHQoc2xvdC0+dXNlcnNwYWNlX2FkZHIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2xvdC0+Z3Vlc3RfcGh5c19hZGRyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNsb3QtPm1lbW9yeV9zaXplKTsKKy0gICAgICAgIHdhcm5fcmVwb3J0KCJhdHRlbXB0 IHRvIG1hcCByZWdpb24gWzB4JWx4LTB4JWx4XSwgd2hpbGUgIgorLSAgICAgICAgICAgICAgICAg ICAgIlsweCVseC0weCVseF0gaXMgYWxyZWFkeSBtYXBwZWQgaW4gdGhlIGd1ZXN0IiwKKy0gICAg ICAgICAgICAgICAgICAgIHVzZXJzcGFjZV9hZGRyLCB1c2Vyc3BhY2VfYWRkciArIHNpemUgLSAx LAorLSAgICAgICAgICAgICAgICAgICAgb3ZlcmxhcF9zbG90LT51c2Vyc3BhY2VfYWRkciwKKy0g ICAgICAgICAgICAgICAgICAgIG92ZXJsYXBfc2xvdC0+dXNlcnNwYWNlX2FkZHIgKworLSAgICAg ICAgICAgICAgICAgICAgb3ZlcmxhcF9zbG90LT5tZW1vcnlfc2l6ZSAtIDEpOworLQorLSAgICAg ICAgLyogZG8gbm90IHJlZ2lzdGVyIG1lbSBzbG90IGluIGh2LCBidXQgcmVjb3JkIGZvciBsYXRl ciBzd2FwLWluICovCistICAgICAgICBzZXRfbWFwcGVkKHNsb3QsIGZhbHNlKTsKKy0KKy0gICAg ICAgIHJldHVybiAwOworLSAgICB9CistCistICAgIHJldCA9IG1hcF9vcl91bm1hcCh2bV9mZCwg c2xvdCwgdHJ1ZSk7CistICAgIGlmIChyZXQgPCAwKSB7CistICAgICAgICBlcnJvcl9yZXBvcnQo ImZhaWxlZCB0byBtYXAgbWVtb3J5IHJlZ2lvbiIpOworLSAgICAgICAgcmV0dXJuIC0xOworLSAg ICB9CistICAgIHNldF9tYXBwZWQoc2xvdCwgdHJ1ZSk7CistCistICAgIHJldHVybiAwOworLX0K Ky0KKy1zdGF0aWMgaW50IHNldF9tZW1vcnkodWludDY0X3QgZ3BhLCB1aW50NjRfdCBzaXplLCBi b29sIHJlYWRvbmx5LAorLSAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB1c2Vyc3BhY2Vf YWRkciwgYm9vbCBhZGQpCisteworLSAgICBpbnQgdm1fZmQgPSBtc2h2X3N0YXRlLT52bTsKKy0K Ky0gICAgaWYgKGFkZCkgeworLSAgICAgICAgcmV0dXJuIHRyYWNrZWRfbWFwKHZtX2ZkLCBncGEs IHNpemUsIHJlYWRvbmx5LCB1c2Vyc3BhY2VfYWRkcik7CistICAgIH0KKy0KKy0gICAgcmV0dXJu IHRyYWNrZWRfdW5tYXAodm1fZmQsIGdwYSwgc2l6ZSwgdXNlcnNwYWNlX2FkZHIpOworKyAgICB0 cmFjZV9tc2h2X3NldF9tZW1vcnkoYWRkLCBtc2h2X21yLT5ndWVzdF9waHlzX2FkZHIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICBtc2h2X21yLT5tZW1vcnlfc2l6ZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgIG1zaHZfbXItPnVzZXJzcGFjZV9hZGRyLCBtc2h2X21yLT5yZWFkb25s eSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCk7CisrICAgIHJldHVybiBtYXBfb3Jf dW5tYXAobXNodl9zdGF0ZS0+dm0sIG1zaHZfbXIsIGFkZCk7CisgfQorIAorIC8qCitAQCAtNTE0 LDkgKzE3Myw3IEBAIHZvaWQgbXNodl9zZXRfcGh5c19tZW0oTXNodk1lbW9yeUxpc3RlbmVyICpt bWwsIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24sCisgICAgIGJvb2wgd3JpdGFibGUgPSAh YXJlYS0+cmVhZG9ubHkgJiYgIWFyZWEtPnJvbV9kZXZpY2U7CisgICAgIGh3YWRkciBzdGFydF9h ZGRyLCBtcl9vZmZzZXQsIHNpemU7CisgICAgIHZvaWQgKnJhbTsKKy0KKy0gICAgc2l6ZSA9IGFs aWduX3NlY3Rpb24oc2VjdGlvbiwgJnN0YXJ0X2FkZHIpOworLSAgICB0cmFjZV9tc2h2X3NldF9w aHlzX21lbShhZGQsIHNlY3Rpb24tPm1yLT5uYW1lLCBzdGFydF9hZGRyKTsKKysgICAgTXNodk1l bW9yeVJlZ2lvbiBtc2h2X21yID0gezB9OworIAorICAgICBzaXplID0gYWxpZ25fc2VjdGlvbihz ZWN0aW9uLCAmc3RhcnRfYWRkcik7CisgICAgIHRyYWNlX21zaHZfc2V0X3BoeXNfbWVtKGFkZCwg c2VjdGlvbi0+bXItPm5hbWUsIHN0YXJ0X2FkZHIpOworQEAgLTU0MywyMSArMjAwLDE0IEBAIHZv aWQgbXNodl9zZXRfcGh5c19tZW0oTXNodk1lbW9yeUxpc3RlbmVyICptbWwsIE1lbW9yeVJlZ2lv blNlY3Rpb24gKnNlY3Rpb24sCisgCisgICAgIHJhbSA9IG1lbW9yeV9yZWdpb25fZ2V0X3JhbV9w dHIoYXJlYSkgKyBtcl9vZmZzZXQ7CisgCistICAgIHJldCA9IHNldF9tZW1vcnkoc3RhcnRfYWRk ciwgc2l6ZSwgIXdyaXRhYmxlLCAodWludDY0X3QpcmFtLCBhZGQpOworKyAgICBtc2h2X21yLmd1 ZXN0X3BoeXNfYWRkciA9IHN0YXJ0X2FkZHI7CisrICAgIG1zaHZfbXIubWVtb3J5X3NpemUgPSBz aXplOworKyAgICBtc2h2X21yLnJlYWRvbmx5ID0gIXdyaXRhYmxlOworKyAgICBtc2h2X21yLnVz ZXJzcGFjZV9hZGRyID0gKHVpbnQ2NF90KXJhbTsKKysKKysgICAgcmV0ID0gc2V0X21lbW9yeSgm bXNodl9tciwgYWRkKTsKKyAgICAgaWYgKHJldCA8IDApIHsKKy0gICAgICAgIGVycm9yX3JlcG9y dCgiZmFpbGVkIHRvIHNldCBtZW1vcnkgcmVnaW9uIik7CisrICAgICAgICBlcnJvcl9yZXBvcnQo IkZhaWxlZCB0byBzZXQgbWVtb3J5IHJlZ2lvbiIpOworICAgICAgICAgYWJvcnQoKTsKKyAgICAg fQorIH0KKy0KKy12b2lkIG1zaHZfaW5pdF9tZW1vcnlfc2xvdF9tYW5hZ2VyKE1zaHZTdGF0ZSAq bXNodl9zdGF0ZSkKKy17CistICAgIE1zaHZNZW1vcnlTbG90TWFuYWdlciAqbWFuYWdlcjsKKy0K Ky0gICAgYXNzZXJ0KG1zaHZfc3RhdGUpOworLSAgICBtYW5hZ2VyID0gJm1zaHZfc3RhdGUtPm1z bTsKKy0KKy0gICAgbWFuYWdlci0+bl9zbG90cyA9IDA7CistICAgIG1hbmFnZXItPnNsb3RzID0g TlVMTDsKKy0gICAgcWVtdV9tdXRleF9pbml0KCZtYW5hZ2VyLT5tdXRleCk7CistfQorZGlmZiAt LWdpdCBhL2FjY2VsL21zaHYvbXNodi1hbGwuYyBiL2FjY2VsL21zaHYvbXNodi1hbGwuYworaW5k ZXggODA0MjhkMTMwZC4uODhiNjZmMjk5MiAxMDA2NDQKKy0tLSBhL2FjY2VsL21zaHYvbXNodi1h bGwuYworKysrIGIvYWNjZWwvbXNodi9tc2h2LWFsbC5jCitAQCAtNDM3LDggKzQzNyw2IEBAIHN0 YXRpYyBpbnQgbXNodl9pbml0KEFjY2VsU3RhdGUgKmFzLCBNYWNoaW5lU3RhdGUgKm1zKQorIAor ICAgICBtc2h2X2luaXRfbXNpY29udHJvbCgpOworIAorLSAgICBtc2h2X2luaXRfbWVtb3J5X3Ns b3RfbWFuYWdlcihzKTsKKy0KKyAgICAgcmV0ID0gY3JlYXRlX3ZtKG1zaHZfZmQsICZ2bV9mZCk7 CisgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICBjbG9zZShtc2h2X2ZkKTsKK2RpZmYgLS1n aXQgYS9hY2NlbC9tc2h2L3RyYWNlLWV2ZW50cyBiL2FjY2VsL21zaHYvdHJhY2UtZXZlbnRzCitp bmRleCAzNmYwZDU5YjM4Li5hNGRmZmViMjRhIDEwMDY0NAorLS0tIGEvYWNjZWwvbXNodi90cmFj ZS1ldmVudHMKKysrKyBiL2FjY2VsL21zaHYvdHJhY2UtZXZlbnRzCitAQCAtMjYsOCArMjYsMyBA QCBtc2h2X21hcF9tZW1vcnkodWludDY0X3QgdXNlcnNwYWNlX2FkZHIsIHVpbnQ2NF90IGdwYSwg dWludDY0X3Qgc2l6ZSkgIlx0dV9hPTB4JQorIG1zaHZfdW5tYXBfbWVtb3J5KHVpbnQ2NF90IHVz ZXJzcGFjZV9hZGRyLCB1aW50NjRfdCBncGEsIHVpbnQ2NF90IHNpemUpICJcdHVfYT0weCUiIFBS SXg2NCAiIGdwYT0weCUwMTAiIFBSSXg2NCAiIHNpemU9MHglMDgiIFBSSXg2NAorIG1zaHZfc2V0 X3BoeXNfbWVtKGJvb2wgYWRkLCBjb25zdCBjaGFyICpuYW1lLCB1aW50NjRfdCBncGEpICJcdGFk ZD0lZCBuYW1lPSVzIGdwYT0weCUwMTAiIFBSSXg2NAorIG1zaHZfaGFuZGxlX21taW8odWludDY0 X3QgZ3ZhLCB1aW50NjRfdCBncGEsIHVpbnQ2NF90IHNpemUsIHVpbnQ4X3QgYWNjZXNzX3R5cGUp ICJcdGd2YT0weCUiIFBSSXg2NCAiIGdwYT0weCUwMTAiIFBSSXg2NCAiIHNpemU9MHglIiBQUkl4 NjQgIiBhY2Nlc3NfdHlwZT0lZCIKKy0KKy1tc2h2X2ZvdW5kX3Nsb3QodWludDY0X3QgdXNlcnNw YWNlX2FkZHIsIHVpbnQ2NF90IGdwYSwgdWludDY0X3Qgc2l6ZSkgIlx0dV9hPTB4JSIgUFJJeDY0 ICIgZ3BhPTB4JTAxMCIgUFJJeDY0ICIgc2l6ZT0weCUwOCIgUFJJeDY0CistbXNodl9za2lwX3Vu c2V0X21lbSh1aW50NjRfdCB1c2Vyc3BhY2VfYWRkciwgdWludDY0X3QgZ3BhLCB1aW50NjRfdCBz aXplKSAiXHR1X2E9MHglIiBQUkl4NjQgIiBncGE9MHglMDEwIiBQUkl4NjQgIiBzaXplPTB4JTA4 IiBQUkl4NjQKKy1tc2h2X3JlbWFwX2F0dGVtcHQodWludDY0X3QgdXNlcnNwYWNlX2FkZHIsIHVp bnQ2NF90IGdwYSwgdWludDY0X3Qgc2l6ZSkgIlx0dV9hPTB4JSIgUFJJeDY0ICIgZ3BhPTB4JTAx MCIgUFJJeDY0ICIgc2l6ZT0weCUwOCIgUFJJeDY0CistbXNodl9maW5kX3Nsb3RfYnlfZ3BhKHVp bnQ2NF90IGdwYSkgIlx0Z3BhPTB4JTAxMCIgUFJJeDY0CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9z eXN0ZW0vbXNodl9pbnQuaCBiL2luY2x1ZGUvc3lzdGVtL21zaHZfaW50LmgKK2luZGV4IDQ5MDU2 M2MxYWIuLmFkNGQwMDFjM2MgMTAwNjQ0CistLS0gYS9pbmNsdWRlL3N5c3RlbS9tc2h2X2ludC5o CisrKysgYi9pbmNsdWRlL3N5c3RlbS9tc2h2X2ludC5oCitAQCAtMTYsOCArMTYsNiBAQAorIAor ICNkZWZpbmUgTVNIVl9NU1JfRU5UUklFU19DT1VOVCA2NAorIAorLSNkZWZpbmUgTVNIVl9NQVhf TUVNX1NMT1RTIDMyCistCisgdHlwZWRlZiBzdHJ1Y3QgaHlwZXJ2X21lc3NhZ2UgaHZfbWVzc2Fn ZTsKKyAKKyB0eXBlZGVmIHN0cnVjdCBNc2h2SHZDYWxsQXJncyB7CitAQCAtNDIsMTIgKzQwLDYg QEAgdHlwZWRlZiBzdHJ1Y3QgTXNodkFkZHJlc3NTcGFjZSB7CisgICAgIEFkZHJlc3NTcGFjZSAq YXM7CisgfSBNc2h2QWRkcmVzc1NwYWNlOworIAorLXR5cGVkZWYgc3RydWN0IE1zaHZNZW1vcnlT bG90TWFuYWdlciB7CistICAgIHNpemVfdCBuX3Nsb3RzOworLSAgICBHTGlzdCAqc2xvdHM7Cist ICAgIFFlbXVNdXRleCBtdXRleDsKKy19IE1zaHZNZW1vcnlTbG90TWFuYWdlcjsKKy0KKyBzdHJ1 Y3QgTXNodlN0YXRlIHsKKyAgICAgQWNjZWxTdGF0ZSBwYXJlbnRfb2JqOworICAgICBpbnQgdm07 CitAQCAtNTYsNyArNDgsNiBAQCBzdHJ1Y3QgTXNodlN0YXRlIHsKKyAgICAgaW50IG5yX2FzOwor ICAgICBNc2h2QWRkcmVzc1NwYWNlICphczsKKyAgICAgaW50IGZkOworLSAgICBNc2h2TWVtb3J5 U2xvdE1hbmFnZXIgbXNtOworIH07CisgCisgdHlwZWRlZiBzdHJ1Y3QgTXNodk1zaUNvbnRyb2wg eworQEAgLTg3LDEyICs3OCw2IEBAIHR5cGVkZWYgZW51bSBNc2h2Vm1FeGl0IHsKKyAgICAgTXNo dlZtRXhpdFNwZWNpYWwgID0gMiwKKyB9IE1zaHZWbUV4aXQ7CisgCistdHlwZWRlZiBlbnVtIE1z aHZSZW1hcFJlc3VsdCB7CistICAgIE1zaHZSZW1hcE9rID0gMCwKKy0gICAgTXNodlJlbWFwTm9N YXBwaW5nID0gMSwKKy0gICAgTXNodlJlbWFwTm9PdmVybGFwID0gMiwKKy19IE1zaHZSZW1hcFJl c3VsdDsKKy0KKyB2b2lkIG1zaHZfaW5pdF9tbWlvX2VtdSh2b2lkKTsKKyBpbnQgbXNodl9jcmVh dGVfdmNwdShpbnQgdm1fZmQsIHVpbnQ4X3QgdnBfaW5kZXgsIGludCAqY3B1X2ZkKTsKKyB2b2lk IG1zaHZfcmVtb3ZlX3ZjcHUoaW50IHZtX2ZkLCBpbnQgY3B1X2ZkKTsKK0BAIC0xMTYsMjIgKzEw MSwxOSBAQCBpbnQgbXNodl9odmNhbGwoaW50IGZkLCBjb25zdCBzdHJ1Y3QgbXNodl9yb290X2h2 Y2FsbCAqYXJncyk7CisgI2VuZGlmCisgCisgLyogbWVtb3J5ICovCistdHlwZWRlZiBzdHJ1Y3Qg TXNodk1lbW9yeVNsb3QgeworK3R5cGVkZWYgc3RydWN0IE1zaHZNZW1vcnlSZWdpb24geworICAg ICB1aW50NjRfdCBndWVzdF9waHlzX2FkZHI7CisgICAgIHVpbnQ2NF90IG1lbW9yeV9zaXplOwor ICAgICB1aW50NjRfdCB1c2Vyc3BhY2VfYWRkcjsKKyAgICAgYm9vbCByZWFkb25seTsKKy0gICAg Ym9vbCBtYXBwZWQ7CistfSBNc2h2TWVtb3J5U2xvdDsKKyt9IE1zaHZNZW1vcnlSZWdpb247Cisg CistTXNodlJlbWFwUmVzdWx0IG1zaHZfcmVtYXBfb3ZlcmxhcF9yZWdpb24oaW50IHZtX2ZkLCB1 aW50NjRfdCBncGEpOworIGludCBtc2h2X2d1ZXN0X21lbV9yZWFkKHVpbnQ2NF90IGdwYSwgdWlu dDhfdCAqZGF0YSwgdWludHB0cl90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgYm9v bCBpc19zZWN1cmVfbW9kZSwgYm9vbCBpbnN0cnVjdGlvbl9mZXRjaCk7CisgaW50IG1zaHZfZ3Vl c3RfbWVtX3dyaXRlKHVpbnQ2NF90IGdwYSwgY29uc3QgdWludDhfdCAqZGF0YSwgdWludHB0cl90 IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfc2VjdXJlX21vZGUpOwor IHZvaWQgbXNodl9zZXRfcGh5c19tZW0oTXNodk1lbW9yeUxpc3RlbmVyICptbWwsIE1lbW9yeVJl Z2lvblNlY3Rpb24gKnNlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICBib29sIGFkZCk7 Cistdm9pZCBtc2h2X2luaXRfbWVtb3J5X3Nsb3RfbWFuYWdlcihNc2h2U3RhdGUgKm1zaHZfc3Rh dGUpOworIAorIC8qIG1zciAqLworIHR5cGVkZWYgc3RydWN0IE1zaHZNc3JFbnRyeSB7CitkaWZm IC0tZ2l0IGEvdGFyZ2V0L2kzODYvbXNodi9tc2h2LWNwdS5jIGIvdGFyZ2V0L2kzODYvbXNodi9t c2h2LWNwdS5jCitpbmRleCAxYzNkYjAyMTg4Li5jNTc3ZTI4NGI0IDEwMDY0NAorLS0tIGEvdGFy Z2V0L2kzODYvbXNodi9tc2h2LWNwdS5jCisrKysgYi90YXJnZXQvaTM4Ni9tc2h2L21zaHYtY3B1 LmMKK0BAIC0xMTY4LDQzICsxMTY4LDYgQEAgc3RhdGljIGludCBoYW5kbGVfbW1pbyhDUFVTdGF0 ZSAqY3B1LCBjb25zdCBzdHJ1Y3QgaHlwZXJ2X21lc3NhZ2UgKm1zZywKKyAgICAgcmV0dXJuIDA7 CisgfQorIAorLXN0YXRpYyBpbnQgaGFuZGxlX3VubWFwcGVkX21lbShpbnQgdm1fZmQsIENQVVN0 YXRlICpjcHUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBo eXBlcnZfbWVzc2FnZSAqbXNnLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNc2h2 Vm1FeGl0ICpleGl0X3JlYXNvbikKKy17CistICAgIHN0cnVjdCBodl94NjRfbWVtb3J5X2ludGVy Y2VwdF9tZXNzYWdlIGluZm8gPSB7IDAgfTsKKy0gICAgdWludDY0X3QgZ3BhOworLSAgICBpbnQg cmV0OworLSAgICBlbnVtIE1zaHZSZW1hcFJlc3VsdCByZW1hcF9yZXN1bHQ7CistCistICAgIHJl dCA9IHNldF9tZW1vcnlfaW5mbyhtc2csICZpbmZvKTsKKy0gICAgaWYgKHJldCA8IDApIHsKKy0g ICAgICAgIGVycm9yX3JlcG9ydCgiZmFpbGVkIHRvIGNvbnZlcnQgbWVzc2FnZSB0byBtZW1vcnkg aW5mbyIpOworLSAgICAgICAgcmV0dXJuIC0xOworLSAgICB9CistCistICAgIGdwYSA9IGluZm8u Z3Vlc3RfcGh5c2ljYWxfYWRkcmVzczsKKy0KKy0gICAgLyogYXR0ZW1wdCB0byByZW1hcCB0aGUg cmVnaW9uLCBpbiBjYXNlIG9mIG92ZXJsYXBwaW5nIHVzZXJzcGFjZSBtYXBwaW5ncyAqLworLSAg ICByZW1hcF9yZXN1bHQgPSBtc2h2X3JlbWFwX292ZXJsYXBfcmVnaW9uKHZtX2ZkLCBncGEpOwor LSAgICAqZXhpdF9yZWFzb24gPSBNc2h2Vm1FeGl0SWdub3JlOworLQorLSAgICBzd2l0Y2ggKHJl bWFwX3Jlc3VsdCkgeworLSAgICBjYXNlIE1zaHZSZW1hcE5vTWFwcGluZzoKKy0gICAgICAgIC8q IGlmIHdlIGRpZG4ndCBmaW5kIGEgbWFwcGluZywgaXQgaXMgcHJvYmFibHkgbW1pbyAqLworLSAg ICAgICAgcmV0dXJuIGhhbmRsZV9tbWlvKGNwdSwgbXNnLCBleGl0X3JlYXNvbik7CistICAgIGNh c2UgTXNodlJlbWFwT2s6CistICAgICAgICBicmVhazsKKy0gICAgY2FzZSBNc2h2UmVtYXBOb092 ZXJsYXA6CistICAgICAgICAvKiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgd2UgYXJlIGZv cmdpdmluZyBpdCAqLworLSAgICAgICAgd2Fybl9yZXBvcnQoImZvdW5kIG5vIG92ZXJsYXAgZm9y IHVubWFwcGVkIHJlZ2lvbiIpOworLSAgICAgICAgKmV4aXRfcmVhc29uID0gTXNodlZtRXhpdFNw ZWNpYWw7CistICAgICAgICBicmVhazsKKy0gICAgfQorLQorLSAgICByZXR1cm4gMDsKKy19Cist Cisgc3RhdGljIGludCBzZXRfaW9wb3J0X2luZm8oY29uc3Qgc3RydWN0IGh5cGVydl9tZXNzYWdl ICptc2csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHZfeDY0X2lvX3BvcnRfaW50ZXJj ZXB0X21lc3NhZ2UgKmluZm8pCisgeworQEAgLTE1NDYsMTIgKzE1MDksNiBAQCBpbnQgbXNodl9y dW5fdmNwdShpbnQgdm1fZmQsIENQVVN0YXRlICpjcHUsIGh2X21lc3NhZ2UgKm1zZywgTXNodlZt RXhpdCAqZXhpdCkKKyAgICAgY2FzZSBIVk1TR19VTlJFQ09WRVJBQkxFX0VYQ0VQVElPTjoKKyAg ICAgICAgIHJldHVybiBNc2h2Vm1FeGl0U2h1dGRvd247CisgICAgIGNhc2UgSFZNU0dfVU5NQVBQ RURfR1BBOgorLSAgICAgICAgcmV0ID0gaGFuZGxlX3VubWFwcGVkX21lbSh2bV9mZCwgY3B1LCBt c2csICZleGl0X3JlYXNvbik7CistICAgICAgICBpZiAocmV0IDwgMCkgeworLSAgICAgICAgICAg IGVycm9yX3JlcG9ydCgiZmFpbGVkIHRvIGhhbmRsZSB1bm1hcHBlZCBtZW1vcnkiKTsKKy0gICAg ICAgICAgICByZXR1cm4gLTE7CistICAgICAgICB9CistICAgICAgICByZXR1cm4gZXhpdF9yZWFz b247CisgICAgIGNhc2UgSFZNU0dfR1BBX0lOVEVSQ0VQVDoKKyAgICAgICAgIHJldCA9IGhhbmRs ZV9tbWlvKGNwdSwgbXNnLCAmZXhpdF9yZWFzb24pOworICAgICAgICAgaWYgKHJldCA8IDApIHsK Ky0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tYWNjZWwtbXNodi1pbXBsZW1lbnQtY3B1 X3RocmVhZF9pc19pZGxlLWhvb2sucGF0Y2ggYi9rdm0tYWNjZWwtbXNodi1pbXBsZW1lbnQtY3B1 X3RocmVhZF9pc19pZGxlLWhvb2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYmEzZmJhMwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1hY2NlbC1tc2h2LWltcGxlbWVu dC1jcHVfdGhyZWFkX2lzX2lkbGUtaG9vay5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIDJh Mjk4OTEyYjIwZTdkNDdjZTVhYzY4Yzg1MjRhYjI4NmQ2ZWNmNmYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBNYWdudXMgS3Vsa2UgPG1hZ251c2t1bGtlQGxpbnV4Lm1pY3Jvc29mdC5j b20+CitEYXRlOiBUdWUsIDIxIEFwciAyMDI2IDA1OjIxOjU0ICswMDAwCitTdWJqZWN0OiBbUEFU Q0ggMi85XSBhY2NlbC9tc2h2OiBpbXBsZW1lbnQgY3B1X3RocmVhZF9pc19pZGxlKCkgaG9vawor CitSSC1BdXRob3I6IE1hZ251cyBLdWxrZSA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDkwOiBh Y2NlbC9tc2h2OiBiYWNrcG9ydCByZXF1aXJlZCBwYXRjaGVzIGZvciBtc2h2IGd1ZXN0cworUkgt SmlyYTogUkhFTC0xNzg3NjcKK1JILUFja2VkLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUBy ZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRo YXQuY29tPgorUkgtQ29tbWl0OiBbMi8yXSAzYmU1MTdmMjJjMGFmM2RjY2M2YmMzM2FiMmZlZTU0 MWE2ODAyYjZhIChta3Vsa2UvcWVtdS1rdm0pCisKK0luIE1TSFYgdGhlIGh5cGVydmlzb3IgQVBJ QyBpcyBhbHdheXMgdXNlZCwgc28gd2UgdG8gaW1wbGVtZW50IHRoaXMgaG9vawordG8gbWFrZSBz dXJlIHRoZSBBUCdzIHZjcHUgdGhyZWFkIGlzIG5vdCBibG9ja2VkIHdhaXRpbmcgZm9yIGFuIElO SVQgU0lQSQorYnkgdGhlIEJTUC4gV2l0aG91dCB0aGlzIGNoYW5nZSBzb2Z0IHJlYm9vdHMgd2l0 aCAtc21wIGNwdXM+PTIgd2lsbAoraGFuZy4KKworU2lnbmVkLW9mZi1ieTogTWFnbnVzIEt1bGtl IDxtYWdudXNrdWxrZUBsaW51eC5taWNyb3NvZnQuY29tPgorUmV2aWV3ZWQtYnk6IE1vaGFtZWQg TWVkaW91bmkgPG1vaGFtZWRAdW5wcmVkaWN0YWJsZS5mcj4KK0xpbms6IGh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL3IvMjAyNjA0MjEtbXNodl9hY2NlbF9hcm02NF9zdXBwLXYzLTktNDY5ZjU0NDc3 OGJhQGxpbnV4Lm1pY3Jvc29mdC5jb20KK1tNYWtlIGNvbW1lbnQgbm90IHg4NiBzcGVjaWZpYy4g LSBQYW9sb10KK1NpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5j b20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkYmZiNjgwNzcyZDUxODQ1NDRmN2MwYThi YmE5NmJlYzIyOWM5NmU2KQorLS0tCisgYWNjZWwvbXNodi9tc2h2LWFsbC5jIHwgMTIgKysrKysr KysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBh L2FjY2VsL21zaHYvbXNodi1hbGwuYyBiL2FjY2VsL21zaHYvbXNodi1hbGwuYworaW5kZXggODhi NjZmMjk5Mi4uZDdkZjg5ZGJkMiAxMDA2NDQKKy0tLSBhL2FjY2VsL21zaHYvbXNodi1hbGwuYwor KysrIGIvYWNjZWwvbXNodi9tc2h2LWFsbC5jCitAQCAtNjk5LDExICs2OTksMjMgQEAgc3RhdGlj IGNvbnN0IFR5cGVJbmZvIG1zaHZfYWNjZWxfdHlwZSA9IHsKKyAgICAgLmluc3RhbmNlX3NpemUg PSBzaXplb2YoTXNodlN0YXRlKSwKKyB9OworIAorKy8qCisrICogTVNIViBtYW5hZ2VzIHNlY29u ZGFyeSBwcm9jZXNzb3JzIGluIHRoZSBoeXBlcnZpc29yLiBTSVBJIGZvciB4ODYgYW5kCisrICog UFNDSSBmb3IgQXJtIGFyZSBoYW5kbGVkIGludGVybmFsbHkuIEhhbHRlZCB2Q1BVcyBtdXN0IHN0 aWxsIGVudGVyCisrICogbXNodl9jcHVfZXhlYygpIHNvIHRoYXQgTVNIVl9SVU5fVlAgaXMgY2Fs bGVkIGFuZCB0aGUgaHlwZXJ2aXNvciB3aWxsCisrICogd2FrZSBBUHMuCisrICovCisrc3RhdGlj IGJvb2wgbXNodl92Y3B1X3RocmVhZF9pc19pZGxlKENQVVN0YXRlICpjcHUpCisreworKyAgICBy ZXR1cm4gZmFsc2U7CisrfQorKworIHN0YXRpYyB2b2lkIG1zaHZfYWNjZWxfb3BzX2NsYXNzX2lu aXQoT2JqZWN0Q2xhc3MgKm9jLCBjb25zdCB2b2lkICpkYXRhKQorIHsKKyAgICAgQWNjZWxPcHND bGFzcyAqb3BzID0gQUNDRUxfT1BTX0NMQVNTKG9jKTsKKyAKKyAgICAgb3BzLT5jcmVhdGVfdmNw dV90aHJlYWQgPSBtc2h2X3N0YXJ0X3ZjcHVfdGhyZWFkOworKyAgICBvcHMtPmNwdV90aHJlYWRf aXNfaWRsZSA9IG1zaHZfdmNwdV90aHJlYWRfaXNfaWRsZTsKKyAgICAgb3BzLT5zeW5jaHJvbml6 ZV9wb3N0X2luaXQgPSBtc2h2X2NwdV9zeW5jaHJvbml6ZV9wb3N0X2luaXQ7CisgICAgIG9wcy0+ c3luY2hyb25pemVfcG9zdF9yZXNldCA9IG1zaHZfY3B1X3N5bmNocm9uaXplX3Bvc3RfcmVzZXQ7 CisgICAgIG9wcy0+c3luY2hyb25pemVfc3RhdGUgPSBtc2h2X2NwdV9zeW5jaHJvbml6ZTsKKy0t IAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taHctdHBtLXRwbV90aXNfc3lzYnVzLWRlZmVy LXJlc291cmNlLWFsbG9jYXRpb24tdG8tci5wYXRjaCBiL2t2bS1ody10cG0tdHBtX3Rpc19zeXNi dXMtZGVmZXItcmVzb3VyY2UtYWxsb2NhdGlvbi10by1yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjc0ZTIwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taHctdHBt LXRwbV90aXNfc3lzYnVzLWRlZmVyLXJlc291cmNlLWFsbG9jYXRpb24tdG8tci5wYXRjaApAQCAt MCwwICsxLDEwOSBAQAorRnJvbSA2NTI2ZDc4YjkxNmU1N2UwODM5M2RhODgxMjRkZjNhZGZiNDA2 MDRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTW9oYW1tYWRmYWl6IEJhd2EgPG1i YXdhQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDMgSnVuIDIwMjYgMTQ6MDU6NTIgKzA1MzAKK1N1 YmplY3Q6IFtQQVRDSCA2LzldIGh3L3RwbS90cG1fdGlzX3N5c2J1czogZGVmZXIgcmVzb3VyY2Ug YWxsb2NhdGlvbiB0bworIHJlYWxpemUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhi aXQKKworUkgtQXV0aG9yOiBNb2hhbW1hZGZhaXogQmF3YSA8Tm9uZT4KK1JILU1lcmdlUmVxdWVz dDogNDk2OiBody90cG0vdHBtX3Rpc19zeXNidXM6IGRlZmVyIHJlc291cmNlIGFsbG9jYXRpb24g dG8gcmVhbGl6ZQorUkgtSmlyYTogUkhFTC0xNzg4NDYKK1JILUFja2VkLWJ5OiBHYXZpbiBTaGFu IDxnc2hhbkByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzEvMV0gOTM0ZTBmMjM3NTVhYTdkNjc1NDg2ZGViOGU1 N2E5NGFlOWY3NzI1MSAoZmFpemIvcWVtdS1rdm0pCisKK0pJUkE6IGh0dHBzOi8vcmVkaGF0LmF0 bGFzc2lhbi5uZXQvYnJvd3NlL1JIRUwtMTc4ODQ2CisKK0NhbGxpbmcgbWVtb3J5X3JlZ2lvbl9p bml0X3JhbV9kZXZpY2VfcHRyKCkgYW5kCittZW1vcnlfcmVnaW9uX2luaXRfaW8oKSBmcm9tIHRw bV90aXNfc3lzYnVzX2luaXRmbigpIGNyYXNoZXMKK3doZW4gdGhlIGRldmljZSBpcyBpbnRyb3Nw ZWN0ZWQgd2l0aG91dCBiZWluZyByZWFsaXplZCwgYmVjYXVzZQordGhlIG1lbW9yeSBzdWJzeXN0 ZW0gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIGF0IHRoYXQgcG9pbnQuCisKK1NvIHJ1bm5pbmc6 CisgICQgcWVtdS1zeXN0ZW0tYWFyY2g2NCAtZGV2aWNlIHRwbS10aXMtZGV2aWNlLGhlbHAKKwor dHJpZ2dlcnMgcWRldl9kZXZpY2VfaGVscCgpIHdoaWNoIGNyZWF0ZXMgdGhlIGRldmljZSBvYmpl Y3QKK3RvIGxpc3QgaXRzIHByb3BlcnRpZXMsIGNhbGxpbmcgaW5zdGFuY2VfaW5pdCwgYnV0IG5l dmVyCityZWFsaXplZm4uIFRoZSBtZW1vcnkgcmVnaW9uIGNhbGxzIGluIGluc3RhbmNlX2luaXQg dGhlbiBoaXQKK3VuaW5pdGlhbGl6ZWQgc3Vic3lzdGVtczoKKworV2l0aCBDT05GSUdfREVCVUdf VENHOgorICBBc3NlcnRpb24gJ3RhcmdldF9wYWdlLmRlY2lkZWQnIGZhaWxlZC4gKHBoeXNtZW0u YzoyNTI0KQorCitXaXRob3V0IENPTkZJR19ERUJVR19UQ0c6CisgIEFzc2VydGlvbiAnbXV0ZXgt PmluaXRpYWxpemVkJyBmYWlsZWQuIChxZW11LXRocmVhZC1wb3NpeC5jOjEwNykKKworU2luY2Ug cmVhbGl6ZWZuIGlzIG9ubHkgY2FsbGVkIHdoZW4gdGhlIGRldmljZSBpcyBhY3R1YWxseQordXNl ZCBpbiBhIHJ1bm5pbmcgVk0sIG1vdmluZyByZXNvdXJjZSBhbGxvY2F0aW9uIHRoZXJlIGF2b2lk cwordGhlIGNyYXNoIHdpdGhvdXQgYnJlYWtpbmcgaW50cm9zcGVjdGlvbi4KKworVGhpcyBhbHNv IGZpeGVzIGEgbWVtb3J5IGxlYWsgdGhhdCBpcyByZXBvcnRlZCBieSB0aGUgYWRkcmVzcworc2Fu aXRpemVyIGR1cmluZyAnbWFrZSBjaGVjaycsIGJlY2F1c2Ugd2UgY3VycmVudGx5IGFsbG9jYXRl CitwcGkuYnVmIGR1cmluZyBpbnN0YW5jZV9pbml0IGFuZCBuZXZlciBmcmVlIGl0LiAiQWxsb2Nh dGUgaW4KK3JlYWxpemUgYW5kIG5ldmVyIGZyZWUiIGlzIGxlc3MgYmFkLCBiZWNhdXNlIHdlIGRv bid0IGN1cnJlbnRseQorc3VwcG9ydCAidW5yZWFsaXplIGFuZCBkZXN0cm95IGEgc3lzYnVzIGRl dmljZSIuCisKK0ZpeGVzOiA0NmNkMmMxMDUwZiAoImh3L3RwbTogYWRkIFBQSSBzdXBwb3J0IHRv IHRwbS10aXMtZGV2aWNlIGZvciBBUk02NCB2aXJ0IikKK1NpZ25lZC1vZmYtYnk6IE1vaGFtbWFk ZmFpeiBCYXdhIDxtYmF3YUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1hdGhp ZXUtRGF1ZMOpIDxwaGlsbWRAbGluYXJvLm9yZz4KK01lc3NhZ2UtSUQ6IDwyMDI2MDUyODA5MzEy My41NTQwMy0xLW1iYXdhQHJlZGhhdC5jb20+CitNZXNzYWdlLUlEOiA8Q0FGRUFjQThmRVlPRG1Q aGJoMVc9b1BHdmp1LVA9cVd2Tl9keVdyUHFBci1FOUZLN1VBQG1haWwuZ21haWwuY29tPgorW1BN RDogQW1lbmQgUGV0ZXIgY29tbWVudCBmcm9tIHByZXZpb3VzIG1haWwgaW4gZGVzY3JpcHRpb25d CitTaWduZWQtb2ZmLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5v cmc+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkYzY0NDRiOWM1OTVkYzQwZDdlYWQwODM3 YjkzMGI4M2VjOTY2ZTFmKQorU2lnbmVkLW9mZi1ieTogTW9oYW1tYWRmYWl6IEJhd2EgPG1iYXdh QHJlZGhhdC5jb20+CistLS0KKyBody90cG0vdHBtX3Rpc19zeXNidXMuYyB8IDE4ICsrKysrKysr LS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdHBtL3RwbV90aXNfc3lzYnVzLmMgYi9ody90cG0vdHBt X3Rpc19zeXNidXMuYworaW5kZXggM2JlYTdjZDE2Yy4uNjVlZjU5ZWRkOCAxMDA2NDQKKy0tLSBh L2h3L3RwbS90cG1fdGlzX3N5c2J1cy5jCisrKysgYi9ody90cG0vdHBtX3Rpc19zeXNidXMuYwor QEAgLTEwMCwxOSArMTAwLDkgQEAgc3RhdGljIHZvaWQgdHBtX3Rpc19zeXNidXNfaW5pdGZuKE9i amVjdCAqb2JqKQorIHsKKyAgICAgVFBNU3RhdGVTeXNCdXMgKnNiZGV2ID0gVFBNX1RJU19TWVNC VVMob2JqKTsKKyAgICAgVFBNU3RhdGUgKnMgPSAmc2JkZXYtPnN0YXRlOworLSAgICBzaXplX3Qg aG9zdF9wYWdlX3NpemUgPSBxZW11X3JlYWxfaG9zdF9wYWdlX3NpemUoKTsKKy0KKy0gICAgbWVt b3J5X3JlZ2lvbl9pbml0X2lvKCZzLT5tbWlvLCBvYmosICZ0cG1fdGlzX21lbW9yeV9vcHMsCist ICAgICAgICAgICAgICAgICAgICAgICAgICBzLCAidHBtLXRpcy1tbWlvIiwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgIFRQTV9USVNfTlVNX0xPQ0FMSVRJRVMgPDwgVFBNX1RJU19MT0NBTElU WV9TSElGVCk7CisgCisgICAgIHN5c2J1c19pbml0X21taW8oU1lTX0JVU19ERVZJQ0Uob2JqKSwg JnMtPm1taW8pOworICAgICBzeXNidXNfaW5pdF9pcnEoU1lTX0JVU19ERVZJQ0Uob2JqKSwgJnMt PmlycSk7CistCistICAgIHMtPnBwaS5idWYgPSBxZW11X21lbWFsaWduKGhvc3RfcGFnZV9zaXpl LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk9VTkRfVVAoVFBNX1BQSV9BRERS X1NJWkUsIGhvc3RfcGFnZV9zaXplKSk7CistICAgIG1lbW9yeV9yZWdpb25faW5pdF9yYW1fZGV2 aWNlX3B0cigmcy0+cHBpLnJhbSwgb2JqLCAidHBtLXBwaSIsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUUE1fUFBJX0FERFJfU0laRSwgcy0+cHBpLmJ1Zik7CisgICAg IHN5c2J1c19pbml0X21taW8oU1lTX0JVU19ERVZJQ0Uob2JqKSwgJnMtPnBwaS5yYW0pOworIH0K KyAKK0BAIC0xMjAsNiArMTEwLDcgQEAgc3RhdGljIHZvaWQgdHBtX3Rpc19zeXNidXNfcmVhbGl6 ZWZuKERldmljZVN0YXRlICpkZXYsIEVycm9yICoqZXJycCkKKyB7CisgICAgIFRQTVN0YXRlU3lz QnVzICpzYmRldiA9IFRQTV9USVNfU1lTQlVTKGRldik7CisgICAgIFRQTVN0YXRlICpzID0gJnNi ZGV2LT5zdGF0ZTsKKysgICAgY29uc3Qgc2l6ZV90IGhvc3RfcGFnZV9zaXplID0gcWVtdV9yZWFs X2hvc3RfcGFnZV9zaXplKCk7CisgCisgICAgIGlmICghdHBtX2ZpbmQoKSkgeworICAgICAgICAg ZXJyb3Jfc2V0ZyhlcnJwLCAiYXQgbW9zdCBvbmUgVFBNIGRldmljZSBpcyBwZXJtaXR0ZWQiKTsK K0BAIC0xMzEsNiArMTIyLDEzIEBAIHN0YXRpYyB2b2lkIHRwbV90aXNfc3lzYnVzX3JlYWxpemVm bihEZXZpY2VTdGF0ZSAqZGV2LCBFcnJvciAqKmVycnApCisgICAgICAgICByZXR1cm47CisgICAg IH0KKyAKKysgICAgcy0+cHBpLmJ1ZiA9IHFlbXVfbWVtYWxpZ24oaG9zdF9wYWdlX3NpemUsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJPVU5EX1VQKFRQTV9QUElfQUREUl9TSVpF LCBob3N0X3BhZ2Vfc2l6ZSkpOworKyAgICBtZW1vcnlfcmVnaW9uX2luaXRfaW8oJnMtPm1taW8s IE9CSkVDVChkZXYpLCAmdHBtX3Rpc19tZW1vcnlfb3BzLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgcywgInRwbS10aXMtbW1pbyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBUUE1f VElTX05VTV9MT0NBTElUSUVTIDw8IFRQTV9USVNfTE9DQUxJVFlfU0hJRlQpOworKyAgICBtZW1v cnlfcmVnaW9uX2luaXRfcmFtX2RldmljZV9wdHIoJnMtPnBwaS5yYW0sIE9CSkVDVChkZXYpLCAi dHBtLXBwaSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUE1fUFBJ X0FERFJfU0laRSwgcy0+cHBpLmJ1Zik7CisgICAgIHZtc3RhdGVfcmVnaXN0ZXJfcmFtKCZzLT5w cGkucmFtLCBkZXYpOworIH0KKyAKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tc2Nz aS1hZGp1c3QtZXJyb3JfcHJlcGVuZC1mb3JtYXR0aW5nLnBhdGNoIGIva3ZtLXNjc2ktYWRqdXN0 LWVycm9yX3ByZXBlbmQtZm9ybWF0dGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5kY2U1YTZkCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXNjc2ktYWRqdXN0LWVy cm9yX3ByZXBlbmQtZm9ybWF0dGluZy5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIDc3ZDY1 YjRhNWRjMDE3MmEyOWRkODEwMzYzZDRmNzAyMjQyYjkyOWEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitEYXRlOiBX ZWQsIDEgQXByIDIwMjYgMTM6MTk6MjUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzldIHNjc2k6 IGFkanVzdCBlcnJvcl9wcmVwZW5kKCkgZm9ybWF0dGluZworCitSSC1BdXRob3I6IFN0ZWZhbiBI YWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNDkyOiBzY3Np OiBQUiBsaXZlIG1pZ3JhdGlvbiBQUkVFTVBUIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE1NTgwNwor UkgtQWNrZWQtYnk6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CitSSC1BY2tl ZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6 IFsxLzNdIDhkNDQ0MmMxZDRlYzk0ZGIwY2JlYTAwZjNjZDMyZTBmNTBlZjEzZGMgKHN0ZWZhbmhh L2NlbnRvcy1zdHJlYW0tcWVtdS1rdm0pCisKK1RoZSBlcnJvciBzdHJpbmdzIHdpbGwgYmUgY29u Y2F0ZW5hdGVkIHNvIGFkZCBhIHNlcGFyYXRvciB0byBtYWtlIHRoZQorY29tYmluZWQgZXJyb3Ig bWVzc2FnZSBlYXN5IHRvIHJlYWQuCisKK1NpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6aSA8 c3RlZmFuaGFAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAy NjA0MDExNzE5MjcuMzk2NjcyLTItc3RlZmFuaGFAcmVkaGF0LmNvbQorU2lnbmVkLW9mZi1ieTog UGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IDE1YzU3YWMzNTFjY2I0YWY2MjVjZDdkYzU4MjgzMWY0NzJjMWE2OGYpCitTaWduZWQt b2ZmLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CistLS0KKyBody9z Y3NpL3Njc2ktZ2VuZXJpYy5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3Njc2kvc2NzaS1nZW5lcmlj LmMgYi9ody9zY3NpL3Njc2ktZ2VuZXJpYy5jCitpbmRleCBiOGIzZjM5OWYwLi41ODI1YTQ3MzEx IDEwMDY0NAorLS0tIGEvaHcvc2NzaS9zY3NpLWdlbmVyaWMuYworKysrIGIvaHcvc2NzaS9zY3Np LWdlbmVyaWMuYworQEAgLTQzOCw3ICs0MzgsNyBAQCBzdGF0aWMgYm9vbCBzY3NpX2dlbmVyaWNf cHJfcmVnaXN0ZXIoU0NTSURldmljZSAqcywgdWludDY0X3Qga2V5LCBFcnJvciAqKmVycnApCisg ICAgIHJldCA9IHNjc2lfU0dfSU8ocy0+Y29uZi5ibGssIFNHX0RYRkVSX1RPX0RFViwgY21kLCBz aXplb2YoY21kKSwKKyAgICAgICAgICAgICAgICAgICAgICBidWYsIHNpemVvZihidWYpLCBzLT5p b190aW1lb3V0LCBlcnJwKTsKKyAgICAgaWYgKHJldCA8IDApIHsKKy0gICAgICAgIGVycm9yX3By ZXBlbmQoZXJycCwgIlBFUlNJU1RFTlQgUkVTRVJWRSBPVVQgd2l0aCBSRUdJU1RFUiIpOworKyAg ICAgICAgZXJyb3JfcHJlcGVuZChlcnJwLCAiUEVSU0lTVEVOVCBSRVNFUlZFIE9VVCB3aXRoIFJF R0lTVEVSOiAiKTsKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgfQorICAgICByZXR1cm4g dHJ1ZTsKK0BAIC00NjIsNyArNDYyLDcgQEAgc3RhdGljIGJvb2wgc2NzaV9nZW5lcmljX3ByX3By ZWVtcHQoU0NTSURldmljZSAqcywgdWludDY0X3Qga2V5LAorICAgICByZXQgPSBzY3NpX1NHX0lP KHMtPmNvbmYuYmxrLCBTR19EWEZFUl9UT19ERVYsIGNtZCwgc2l6ZW9mKGNtZCksCisgICAgICAg ICAgICAgICAgICAgICAgYnVmLCBzaXplb2YoYnVmKSwgcy0+aW9fdGltZW91dCwgZXJycCk7Cisg ICAgIGlmIChyZXQgPCAwKSB7CistICAgICAgICBlcnJvcl9wcmVwZW5kKGVycnAsICJQRVJTSVNU RU5UIFJFU0VSVkUgT1VUIHdpdGggUFJFRU1QVCIpOworKyAgICAgICAgZXJyb3JfcHJlcGVuZChl cnJwLCAiUEVSU0lTVEVOVCBSRVNFUlZFIE9VVCB3aXRoIFBSRUVNUFQ6ICIpOworICAgICAgICAg cmV0dXJuIGZhbHNlOworICAgICB9CisgICAgIHJldHVybiB0cnVlOworLS0gCisyLjUyLjAKKwoK ZGlmZiAtLWdpdCBhL2t2bS1zY3NpLWFsd2F5cy1zZW5kLXZhbGlkLVBSRUVNUFQtVFlQRS1maWVs ZC5wYXRjaCBiL2t2bS1zY3NpLWFsd2F5cy1zZW5kLXZhbGlkLVBSRUVNUFQtVFlQRS1maWVsZC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWE2ZDliCi0tLSAvZGV2 L251bGwKKysrIGIva3ZtLXNjc2ktYWx3YXlzLXNlbmQtdmFsaWQtUFJFRU1QVC1UWVBFLWZpZWxk LnBhdGNoCkBAIC0wLDAgKzEsNzMgQEAKK0Zyb20gNDA2ZDRlZWIxNWQ0NTEwNzQ5MGI0NDQ0ODJk ZjhmY2I5OTQ1ZGEwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZWZhbiBIYWpu b2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK0RhdGU6IFdlZCwgMSBBcHIgMjAyNiAxMzoxOToy NiAtMDQwMAorU3ViamVjdDogW1BBVENIIDQvOV0gc2NzaTogYWx3YXlzIHNlbmQgdmFsaWQgUFJF RU1QVCBUWVBFIGZpZWxkCisKK1JILUF1dGhvcjogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUBy ZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA0OTI6IHNjc2k6IFBSIGxpdmUgbWlncmF0aW9u IFBSRUVNUFQgZml4ZXMKK1JILUppcmE6IFJIRUwtMTU1ODA3CitSSC1BY2tlZC1ieTogUGFvbG8g Qm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXph bmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzIvM10gNmZjNGM1MTczMjI1 NmVhNWUwNmViMDVlNzY2NmNjYTIxNmY4ZDQ1ZiAoc3RlZmFuaGEvY2VudG9zLXN0cmVhbS1xZW11 LWt2bSkKKworVGhlIFNQQy02IHNwZWNpZmljYXRpb24gc2F5cyB0aGF0IHRoZSBQUkVFTVBUIHNl cnZpY2UgYWN0aW9uIGlnbm9yZXMgdGhlCitUWVBFIGZpZWxkIHdoZW4gdGhlcmUgaXMgbm8gcmVz ZXJ2YXRpb24uIEhvd2V2ZXIsIHRoZSBMSU8gTGludXggaVNDU0kKK3RhcmdldCByZWplY3RzIGNv bW1hbmRzIHdpdGggYSB6ZXJvIFRZUEUgZmllbGQuIFRoZSBmaWVsZCBuZXZlciBlbmRzIHVwCiti ZWluZyB1c2VkIGluIHRoaXMgY2FzZSwgc28gcmVwbGFjZSBpdCB3aXRoIGEgInZhbGlkIiB2YWx1 ZSB0byB3b3JrCithcm91bmQgdGhlIGlzc3VlLgorCitSZXBvcnRlZC1ieTogUWluZyBXYW5nIDxx aW53YW5nQHJlZGhhdC5jb20+CitCdWdsaW5rOiBodHRwczovL3JlZGhhdC5hdGxhc3NpYW4ubmV0 L2Jyb3dzZS9SSEVMLTE1NTgwNworU2lnbmVkLW9mZi1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVm YW5oYUByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDI2MDQw MTE3MTkyNy4zOTY2NzItMy1zdGVmYW5oYUByZWRoYXQuY29tCitTaWduZWQtb2ZmLWJ5OiBQYW9s byBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgMTVhMjAyNjU2Y2Q1NTM5MTEyNzJmOTY2NmFhMDY3YzcwNmZjM2RmZSkKK1NpZ25lZC1vZmYt Ynk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3Njc2kv c2NzaS1nZW5lcmljLmMgICB8IDEwICsrKysrKysrKysKKyBpbmNsdWRlL3Njc2kvY29uc3RhbnRz LmggfCAxMCArKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCisK K2RpZmYgLS1naXQgYS9ody9zY3NpL3Njc2ktZ2VuZXJpYy5jIGIvaHcvc2NzaS9zY3NpLWdlbmVy aWMuYworaW5kZXggNTgyNWE0NzMxMS4uOGE1NzQ3MzYyMyAxMDA2NDQKKy0tLSBhL2h3L3Njc2kv c2NzaS1nZW5lcmljLmMKKysrKyBiL2h3L3Njc2kvc2NzaS1nZW5lcmljLmMKK0BAIC00NTIsNiAr NDUyLDE2IEBAIHN0YXRpYyBib29sIHNjc2lfZ2VuZXJpY19wcl9wcmVlbXB0KFNDU0lEZXZpY2Ug KnMsIHVpbnQ2NF90IGtleSwKKyAgICAgdWludDY0X3Qga2V5X2JlID0gY3B1X3RvX2JlNjQoa2V5 KTsKKyAgICAgaW50IHJldDsKKyAKKysgICAgLyoKKysgICAgICogVGhlIExJTyBpU0NTSSB0YXJn ZXQgaW4gTGludXggdXAgdG8gYXQgbGVhc3QgdmVyc2lvbiA3LjAgcmVqZWN0cyBQUkVFTVBUCisr ICAgICAqIGNvbW1hbmRzIHdpdGggYSB6ZXJvIFRZUEUgZmllbGQgYWx0aG91Z2ggdGhlIFNQQy02 IHNwZWNpZmljYXRpb24gc2F5cworKyAgICAgKiB0aGUgZmllbGQgc2hvdWxkIGJlIGlnbm9yZWQg d2hlbiB0aGVyZSBpcyBubyBwZXJzaXN0ZW50IHJlc2VydmF0aW9uLgorKyAgICAgKiBXb3JrIGFy b3VuZCB0aGlzIGJ5IGNob29zaW5nIGFuIGFyYml0cmFyeSB2YWxpZCBQUiB0eXBlIHZhbHVlLgor KyAgICAgKi8KKysgICAgaWYgKHJlc3ZfdHlwZSA9PSAwKSB7CisrICAgICAgICByZXN2X3R5cGUg PSBQUl9UWVBFX1dSSVRFX0VYQ0xVU0lWRTsKKysgICAgfQorKworICAgICBjbWRbMF0gPSBQRVJT SVNURU5UX1JFU0VSVkVfT1VUOworICAgICBjbWRbMV0gPSBQUk9fUFJFRU1QVDsKKyAgICAgY21k WzJdID0gcmVzdl90eXBlICYgMHhmOworZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2NzaS9jb25zdGFu dHMuaCBiL2luY2x1ZGUvc2NzaS9jb25zdGFudHMuaAoraW5kZXggY2I5N2JkYjYzNi4uNzE3ZTQ3 MGE1ZCAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvc2NzaS9jb25zdGFudHMuaAorKysrIGIvaW5jbHVk ZS9zY3NpL2NvbnN0YW50cy5oCitAQCAtMzQwLDQgKzM0MCwxNCBAQAorICNkZWZpbmUgUFJPX1JF R0lTVEVSX0FORF9NT1ZFICAgICAgICAgICAgICAgICAgIDB4MDcKKyAjZGVmaW5lIFBST19SRVBM QUNFX0xPU1RfUkVTRVJWQVRJT04gICAgICAgICAgICAweDA4CisgCisrLyoKKysgKiBQZXJzaXN0 ZW50IHJlc2VydmF0aW9uIHR5cGVzCisrICovCisrI2RlZmluZSBQUl9UWVBFX1dSSVRFX0VYQ0xV U0lWRSAgICAgICAgICAgICAweDEKKysjZGVmaW5lIFBSX1RZUEVfRVhDTFVTSVZFX0FDQ0VTUyAg ICAgICAgICAgIDB4MworKyNkZWZpbmUgUFJfVFlQRV9XUklURV9FWENMVVNJVkVfUkVHX09OTFkg ICAgMHg1CisrI2RlZmluZSBQUl9UWVBFX0VYQ0xVU0lWRV9BQ0NFU1NfUkVHX09OTFkgICAweDYK KysjZGVmaW5lIFBSX1RZUEVfV1JJVEVfRVhDTFVTSVZFX0FMTF9SRUdTICAgIDB4NworKyNkZWZp bmUgUFJfVFlQRV9FWENMVVNJVkVfQUNDRVNTX0FMTF9SRUdTICAgMHg4CisrCisgI2VuZGlmCist LSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXNjc2ktY2hhbmdlLWJ1Zl9zaXplLXRvLXVu c2lnbmVkLWludC1pbi1zY3NpX1NHX0lPLnBhdGNoIGIva3ZtLXNjc2ktY2hhbmdlLWJ1Zl9zaXpl LXRvLXVuc2lnbmVkLWludC1pbi1zY3NpX1NHX0lPLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmZlM2FmOWYKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tc2NzaS1jaGFu Z2UtYnVmX3NpemUtdG8tdW5zaWduZWQtaW50LWluLXNjc2lfU0dfSU8ucGF0Y2gKQEAgLTAsMCAr MSw1NSBAQAorRnJvbSAzNjRhNmVhOWY2M2M3YmZlMjVjZWQzY2VhMGQxMGUzZTUxNzc2NzdmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUBy ZWRoYXQuY29tPgorRGF0ZTogV2VkLCAxNSBBcHIgMjAyNiAxOToyOTowNSAtMDQwMAorU3ViamVj dDogW1BBVENIIDgvOV0gc2NzaTogY2hhbmdlIGJ1Zl9zaXplIHRvIHVuc2lnbmVkIGludCBpbiBz Y3NpX1NHX0lPKCkKKworUkgtQXV0aG9yOiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhh dC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDQ5ODogc2NzaTogaGFuZGxlIHJlc2VydmF0aW9uIGNo YW5nZXMgYWNyb3NzIG1pZ3JhdGlvbgorUkgtSmlyYTogUkhFTC0xNTMxMjMKK1JILUFja2VkLWJ5 OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzQv NV0gZmUwYTMzZGFmOTYyMzdlYTJiYWYwM2FmYWNjZjlkZDMxMGUyMDdjNyAoc3RlZmFuaGEvY2Vu dG9zLXN0cmVhbS1xZW11LWt2bSkKKworU0dfSU8gc3VwcG9ydHMgYW4gdW5zaWduZWQgaW50IGR4 ZmVyX2xlbiB2YWx1ZS4gRXhpc3RpbmcgY2FsbGVycyB1c2UKK2xlc3MgdGhhbiAyNTYgYnl0ZXMs IHNvIHNjc2lfU0dfSU8oKSdzIHVpbnQ4X3QgYnVmX3NpemUgdHlwZSB3YXMKK3N1ZmZpY2llbnQu IFRoZSBuZXh0IHBhdGNoIHdpbGwgdXNlIGEgbGFyZ2VyIHZhbHVlLCBzbyB1cGRhdGUgdGhlIHR5 cGUuCisKK1NpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNv bT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyNjA0MTUyMzI5MDYuMjEyMzQ5 LTItc3RlZmFuaGFAcmVkaGF0LmNvbQorU2lnbmVkLW9mZi1ieTogUGFvbG8gQm9uemluaSA8cGJv bnppbmlAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGY0MTkzMjI4ZGQy MGQzZDViOGVhYWY2NWY0NmUyNDI2MTgxNzk0ZjMpCitTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gSGFq bm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CistLS0KKyBody9zY3NpL3Njc2ktZ2VuZXJpYy5j IHwgMiArLQorIGluY2x1ZGUvaHcvc2NzaS9zY3NpLmggfCAzICsrLQorIDIgZmlsZXMgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvc2Nz aS9zY3NpLWdlbmVyaWMuYyBiL2h3L3Njc2kvc2NzaS1nZW5lcmljLmMKK2luZGV4IDljNTkyN2I1 NDMuLmMyZjYxYjMyMGYgMTAwNjQ0CistLS0gYS9ody9zY3NpL3Njc2ktZ2VuZXJpYy5jCisrKysg Yi9ody9zY3NpL3Njc2ktZ2VuZXJpYy5jCitAQCAtNzkzLDcgKzc5Myw3IEBAIHN0YXRpYyBpbnQg cmVhZF9uYWFfaWQoY29uc3QgdWludDhfdCAqcCwgdWludDY0X3QgKnBfd3duKQorIH0KKyAKKyBp bnQgc2NzaV9TR19JTyhCbG9ja0JhY2tlbmQgKmJsaywgaW50IGRpcmVjdGlvbiwgdWludDhfdCAq Y21kLAorLSAgICAgICAgICAgICAgIHVpbnQ4X3QgY21kX3NpemUsIHVpbnQ4X3QgKmJ1ZiwgdWlu dDhfdCBidWZfc2l6ZSwKKysgICAgICAgICAgICAgICB1aW50OF90IGNtZF9zaXplLCB1aW50OF90 ICpidWYsIHVuc2lnbmVkIGludCBidWZfc2l6ZSwKKyAgICAgICAgICAgICAgICB1aW50MzJfdCB0 aW1lb3V0LCBFcnJvciAqKmVycnApCisgeworICAgICBzZ19pb19oZHJfdCBpb19oZWFkZXI7Citk aWZmIC0tZ2l0IGEvaW5jbHVkZS9ody9zY3NpL3Njc2kuaCBiL2luY2x1ZGUvaHcvc2NzaS9zY3Np LmgKK2luZGV4IGY2MWM2M2M1ZWEuLjY0MGExMTUyMmIgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2h3 L3Njc2kvc2NzaS5oCisrKysgYi9pbmNsdWRlL2h3L3Njc2kvc2NzaS5oCitAQCAtMjQ3LDcgKzI0 Nyw4IEBAIHZvaWQgc2NzaV9kZXZpY2VfdW5pdF9hdHRlbnRpb25fcmVwb3J0ZWQoU0NTSURldmlj ZSAqZGV2KTsKKyB2b2lkIHNjc2lfZ2VuZXJpY19yZWFkX2RldmljZV9pbnF1aXJ5KFNDU0lEZXZp Y2UgKmRldik7CisgaW50IHNjc2lfZGV2aWNlX2dldF9zZW5zZShTQ1NJRGV2aWNlICpkZXYsIHVp bnQ4X3QgKmJ1ZiwgaW50IGxlbiwgYm9vbCBmaXhlZCk7CisgaW50IHNjc2lfU0dfSU8oQmxvY2tC YWNrZW5kICpibGssIGludCBkaXJlY3Rpb24sIHVpbnQ4X3QgKmNtZCwgdWludDhfdCBjbWRfc2l6 ZSwKKy0gICAgICAgICAgICAgICB1aW50OF90ICpidWYsIHVpbnQ4X3QgYnVmX3NpemUsIHVpbnQz Ml90IHRpbWVvdXQsIEVycm9yICoqZXJycCk7CisrICAgICAgICAgICAgICAgdWludDhfdCAqYnVm LCB1bnNpZ25lZCBpbnQgYnVmX3NpemUsIHVpbnQzMl90IHRpbWVvdXQsCisrICAgICAgICAgICAg ICAgRXJyb3IgKiplcnJwKTsKKyBTQ1NJRGV2aWNlICpzY3NpX2RldmljZV9maW5kKFNDU0lCdXMg KmJ1cywgaW50IGNoYW5uZWwsIGludCB0YXJnZXQsIGludCBsdW4pOworIFNDU0lEZXZpY2UgKnNj c2lfZGV2aWNlX2dldChTQ1NJQnVzICpidXMsIGludCBjaGFubmVsLCBpbnQgdGFyZ2V0LCBpbnQg bHVuKTsKKyAKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tc2NzaS1oYW5kbGUtcmVz ZXJ2YXRpb24tY2hhbmdlcy1hY3Jvc3MtbWlncmF0aW9uLnBhdGNoIGIva3ZtLXNjc2ktaGFuZGxl LXJlc2VydmF0aW9uLWNoYW5nZXMtYWNyb3NzLW1pZ3JhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjA1ZDNkCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXNj c2ktaGFuZGxlLXJlc2VydmF0aW9uLWNoYW5nZXMtYWNyb3NzLW1pZ3JhdGlvbi5wYXRjaApAQCAt MCwwICsxLDI0NiBAQAorRnJvbSA2NzI0YTg3ZGFiOTUxNmE1MjA4NjQyN2FiNTM0NTMxNzFiYWRh ODQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlZmFuIEhham5vY3ppIDxzdGVm YW5oYUByZWRoYXQuY29tPgorRGF0ZTogV2VkLCAxNSBBcHIgMjAyNiAxOToyOTowNiAtMDQwMAor U3ViamVjdDogW1BBVENIIDkvOV0gc2NzaTogaGFuZGxlIHJlc2VydmF0aW9uIGNoYW5nZXMgYWNy b3NzIG1pZ3JhdGlvbgorCitSSC1BdXRob3I6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVk aGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNDk4OiBzY3NpOiBoYW5kbGUgcmVzZXJ2YXRpb24g Y2hhbmdlcyBhY3Jvc3MgbWlncmF0aW9uCitSSC1KaXJhOiBSSEVMLTE1MzEyMworUkgtQWNrZWQt Ynk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBb NS81XSA0YmE4MjI5N2MyNWUwOTkyZWMzZjY5NWY2YmQzMzM3YWE0NGJiNTBiIChzdGVmYW5oYS9j ZW50b3Mtc3RyZWFtLXFlbXUta3ZtKQorCitPdGhlciBub2RlcyBpbiB0aGUgY2x1c3RlciBjYW4g cHJlZW1wdCBvciBjbGVhciBTQ1NJIFBlcnNpc3RlbnQKK1Jlc2VydmF0aW9ucyBhdCBhbnkgdGlt ZS4gV2hlbiB0aGlzIGhhcHBlbnMgYWNyb3NzIGxpdmUgbWlncmF0aW9uLCB0aGUKK3Jlc2VydmF0 aW9uIHN0YXRlIHRyYW5zZmVycmVkIHdpdGggdGhlIGd1ZXN0IG1pZ2h0IGJlIG91dGRhdGVkLgor CitBdHRlbXB0IHRvIGhhbmRsZSBzdWNoIGNhc2VzIGdyYWNlZnVsbHkgYnkgY2hlY2tpbmcgdGhl IGN1cnJlbnQKK3Jlc2VydmF0aW9uIG9yIHJlZ2lzdGVyZWQga2V5cyB0byBkZXRlY3Qgc3RhbGUg c3RhdGUgYmVmb3JlIHJlc3RvcmluZy4KK0lmIHRoZSBhY3R1YWwgc3RhdGUgb2YgdGhlIGRpc2sg aGFzIGNoYW5nZWQsIGRvIG5vdCBtb2RpZnkgaXQgYW5kIGFjY2VwdAordGhhdCBhcyB0aGUgbW9z dCB1cC10by1kYXRlIHN0YXRlLgorCitEbyB0aGlzIHVzaW5nIFJFQUQgUkVTRVJWQVRJT04gd2hl biB0aGUgZ3Vlc3QgaG9sZHMgYSByZXNlcnZhdGlvbiBvcgorUkVBRCBLRVlTIHdoZW4gdGhlIGd1 ZXN0IGhhcyByZWdpc3RlcmVkIGEga2V5IGJ1dCBkb2VzIG5vdCBob2xkIGEKK3Jlc2VydmF0aW9u LgorCitUaGVyZSBpcyBzdGlsbCBhIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gY2hlY2tpbmcgYW5k IHJlc3RvcmluZyBzdGF0ZSwKK2J1dCBpdCBzZWVtcyB1bmF2b2lkYWJsZSBhbmQgaXMgbm8gd29y c2UgdGhhbiBiZWZvcmUuCisKK0J1Z2xpbms6IGh0dHBzOi8vcmVkaGF0LmF0bGFzc2lhbi5uZXQv YnJvd3NlL1JIRUwtMTUzMTIzCitGaXhlczogYWI1N2I1MWYxMzc1YjZhNmYwOThhNzRjNmY3OTIw N2E5NjMwOTQ4ZCAoInNjc2k6IHNhdmUvbG9hZCBTQ1NJIHJlc2VydmF0aW9uIHN0YXRlIikKK1Jl cG9ydGVkLWJ5OiBRaW5nIFdhbmcKK1NpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3Rl ZmFuaGFAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyNjA0 MTUyMzI5MDYuMjEyMzQ5LTMtc3RlZmFuaGFAcmVkaGF0LmNvbQorU2lnbmVkLW9mZi1ieTogUGFv bG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDg3YzdiMDdmZTRhYTQzZGM3MjU3YjFlNzExZmFhODM1ZmFjMWNjY2IpCitTaWduZWQtb2Zm LWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CistLS0KKyBody9zY3Np L3Njc2ktZ2VuZXJpYy5jIHwgMTczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2h3L3Njc2kvc2NzaS1nZW5lcmljLmMgYi9ody9zY3NpL3Njc2kt Z2VuZXJpYy5jCitpbmRleCBjMmY2MWIzMjBmLi40NTI5MDhiYTk1IDEwMDY0NAorLS0tIGEvaHcv c2NzaS9zY3NpLWdlbmVyaWMuYworKysrIGIvaHcvc2NzaS9zY3NpLWdlbmVyaWMuYworQEAgLTQ3 OCwxMyArNDc4LDg0IEBAIHN0YXRpYyBib29sIHNjc2lfZ2VuZXJpY19wcl9wcmVlbXB0KFNDU0lE ZXZpY2UgKnMsIHVpbnQ2NF90IGtleSwKKyAgICAgcmV0dXJuIHRydWU7CisgfQorIAorKy8qCisr ICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBrZXkgaXMgcmVnaXN0ZXJlZCBvciBmYWxzZSBv dGhlcndpc2UgKGluY2x1ZGluZworKyAqIGVycm9ycykuCisrICovCisrc3RhdGljIGJvb2wgc2Nz aV9nZW5lcmljX3ByX2tleV9yZWdpc3RlcmVkKFNDU0lEZXZpY2UgKnMsIHVpbnQ2NF90IGtleSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJw KQorK3sKKysgICAgY29uc3Qgc2l6ZV90IGtleV9saXN0X29mZnNldCA9IDg7IC8qIGluIFJFQUQg S0VZUyBwYXJhbWV0ZXIgZGF0YSAqLworKyAgICB1aW50NjRfdCBrZXlfYmUgPSBjcHVfdG9fYmU2 NChrZXkpOworKyAgICB1aW50OF90IGNtZFsxMF0gPSB7fTsKKysgICAgc2l6ZV90IGJ1Zl9sZW47 CisrICAgIGdfYXV0b2ZyZWUgdWludDhfdCAqYnVmID0gTlVMTDsKKysgICAgdWludDMyX3QgYWRk aXRpb25hbF9sZW5ndGggPSAxNiAqIDg7IC8qIGluaXRpYWwga2V5IGxpc3Qgc2l6ZSAqLworKwor KyAgICAvKgorKyAgICAgKiBMb29wIHRvIHJlc2l6ZSBwYXJhbWV0ZXIgZGF0YSBidWZmZXIgd2hl biB0aGVyZSBhcmUgbWFueSBrZXlzLiBJdCB3b3VsZAorKyAgICAgKiBiZSBzaW1wbGVyIHRvIGhh cmRjb2RlIHRoZSBtYXhpbXVtIGJ1ZmZlciBzaXplIChpdCdzIG9ubHkgNjQgS0IpLCBidXQKKysg ICAgICogU0dfSU8gY2FuIGZhaWwgd2l0aCBFSU5WQUwgaWYgdGhlIGhvc3Qga2VybmVsIGJsa2Rl diBxdWV1ZSBsaW1pdHMgYXJlCisrICAgICAqIHRvbyBsb3cuCisrICAgICAqLworKyAgICBkbyB7 CisrICAgICAgICB1aW50MTZfdCBhbGxvY2F0aW9uX2xlbmd0aF9iZTsKKysgICAgICAgIGludCBy ZXQ7CisrCisrICAgICAgICBidWZfbGVuID0ga2V5X2xpc3Rfb2Zmc2V0ICsgYWRkaXRpb25hbF9s ZW5ndGg7CisrICAgICAgICBidWYgPSBnX3JlYWxsb2MoYnVmLCBidWZfbGVuKTsKKysgICAgICAg IG1lbXNldChidWYsIDAsIGJ1Zl9sZW4pOworKworKyAgICAgICAgY21kWzBdID0gUEVSU0lTVEVO VF9SRVNFUlZFX0lOOworKyAgICAgICAgY21kWzFdID0gUFJJX1JFQURfS0VZUzsKKysgICAgICAg IGFsbG9jYXRpb25fbGVuZ3RoX2JlID0gY3B1X3RvX2JlMTYoYnVmX2xlbik7CisrICAgICAgICBt ZW1jcHkoJmNtZFs3XSwgJmFsbG9jYXRpb25fbGVuZ3RoX2JlLCBzaXplb2YoYWxsb2NhdGlvbl9s ZW5ndGhfYmUpKTsKKysKKysgICAgICAgIHJldCA9IHNjc2lfU0dfSU8ocy0+Y29uZi5ibGssIFNH X0RYRkVSX0ZST01fREVWLCBjbWQsIHNpemVvZihjbWQpLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICBidWYsIGJ1Zl9sZW4sIHMtPmlvX3RpbWVvdXQsIGVycnApOworKyAgICAgICAgaWYgKHJl dCA8IDApIHsKKysgICAgICAgICAgICBlcnJvcl9wcmVwZW5kKGVycnAsICJQRVJTSVNURU5UIFJF U0VSVkUgSU4gd2l0aCBSRUFEIEtFWVM6ICIpOworKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK KysgICAgICAgIH0KKysKKysgICAgICAgIG1lbWNweSgmYWRkaXRpb25hbF9sZW5ndGgsICZidWZb NF0sIHNpemVvZihhZGRpdGlvbmFsX2xlbmd0aCkpOworKyAgICAgICAgYmUzMl90b19jcHVzKCZh ZGRpdGlvbmFsX2xlbmd0aCk7CisrCisrICAgICAgICAvKgorKyAgICAgICAgICogVGhlIHBhcmFt ZXRlciBkYXRhJ3MgQURESVRJT05BTCBMRU5HVEggbXVzdCBub3Qgb3ZlcmZsb3cgdGhlIENEQidz CisrICAgICAgICAgKiAxNi1iaXQgQUxMT0NBVElPTiBMRU5HVEggZmllbGQgc2luY2UgdGhlIG5l eHQgbG9vcCBpdGVyYXRpb24gd2lsbAorKyAgICAgICAgICogY29tcHV0ZSBBTExPQ0FUSU9OIExF TkdUSCBiYXNlZCBvbiBBRERJVElPTkFMIExFTkdUSC4KKysgICAgICAgICAqLworKyAgICAgICAg aWYgKGFkZGl0aW9uYWxfbGVuZ3RoID4gVUlOVDE2X01BWCAtIGtleV9saXN0X29mZnNldCkgewor KyAgICAgICAgICAgIGVycm9yX3NldGcoZXJycCwgImdvdCBpbnZhbGlkIEFERElUSU9OQUwgTEVO R1RIICUiIFBSSXUzMgorKyAgICAgICAgICAgICAgICAgICAgICAgIiBmcm9tIFJFQUQgS0VZUyIs IGFkZGl0aW9uYWxfbGVuZ3RoKTsKKysgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgICAg ICB9CisrCisrICAgICAgICBmb3IgKHNpemVfdCBpID0ga2V5X2xpc3Rfb2Zmc2V0OyBpIDwgYnVm X2xlbjsgaSArPSBzaXplb2Yoa2V5X2JlKSkgeworKyAgICAgICAgICAgIGlmIChpIC0ga2V5X2xp c3Rfb2Zmc2V0ID49IGFkZGl0aW9uYWxfbGVuZ3RoKSB7CisrICAgICAgICAgICAgICAgIGJyZWFr OyAvKiBlbmQgb2YgcGFyYW1ldGVyIGxpc3QgKi8KKysgICAgICAgICAgICB9CisrCisrICAgICAg ICAgICAgaWYgKG1lbWNtcCgma2V5X2JlLCAmYnVmW2ldLCBzaXplb2Yoa2V5X2JlKSkgPT0gMCkg eworKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLyoga2V5IGZvdW5kICovCisrICAgICAg ICAgICAgfQorKyAgICAgICAgfQorKyAgICB9IHdoaWxlIChhZGRpdGlvbmFsX2xlbmd0aCA+IGJ1 Zl9sZW4gLSBrZXlfbGlzdF9vZmZzZXQpOworKworKyAgICByZXR1cm4gZmFsc2U7IC8qIGtleSBu b3QgZm91bmQgKi8KKyt9CisrCisgLyogUmVnaXN0ZXIga2V5cyBhbmQgcHJlZW1wdCByZXNlcnZh dGlvbnMgYWZ0ZXIgbGl2ZSBtaWdyYXRpb24gKi8KKyBib29sIHNjc2lfZ2VuZXJpY19wcl9zdGF0 ZV9wcmVlbXB0KFNDU0lEZXZpY2UgKnMsIEVycm9yICoqZXJycCkKKyB7CisgICAgIFNDU0lQUlN0 YXRlICpwcl9zdGF0ZSA9ICZzLT5wcl9zdGF0ZTsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5V TEw7CisrICAgIGJvb2wgY2hlY2tfc3RhbGVfa2V5ID0gdHJ1ZTsKKyAgICAgdWludDY0X3Qga2V5 OworICAgICB1aW50OF90IHJlc3ZfdHlwZTsKKyAKKysgICAgLyogR2V0IHRoZSBtaWdyYXRlZCBQ UiBzdGF0ZSAqLworICAgICBXSVRIX1FFTVVfTE9DS19HVUFSRCgmcHJfc3RhdGUtPm11dGV4KSB7 CisgICAgICAgICBrZXkgPSBwcl9zdGF0ZS0+a2V5OworICAgICAgICAgcmVzdl90eXBlID0gcHJf c3RhdGUtPnJlc3ZfdHlwZTsKK0BAIC00OTIsMzYgKzU2Myw5MCBAQCBib29sIHNjc2lfZ2VuZXJp Y19wcl9zdGF0ZV9wcmVlbXB0KFNDU0lEZXZpY2UgKnMsIEVycm9yICoqZXJycCkKKyAKKyAgICAg dHJhY2Vfc2NzaV9nZW5lcmljX3ByX3N0YXRlX3ByZWVtcHQoa2V5LCByZXN2X3R5cGUpOworIAor LSAgICBpZiAoa2V5KSB7CistICAgICAgICBpZiAoIXNjc2lfZ2VuZXJpY19wcl9yZWdpc3Rlcihz LCBrZXksIGVycnApKSB7CisrICAgIC8qIEhhbmRsZSBzdGFsZSBQUiBzdGF0ZSAoZS5nLiBhbm90 aGVyIG5vZGUgcHJlZW1wdGVkKSAqLworKyAgICBpZiAocmVzdl90eXBlKSB7CisrICAgICAgICB1 aW50NjRfdCBkZXZfa2V5OworKyAgICAgICAgdWludDhfdCBkZXZfcmVzdl90eXBlOworKworKyAg ICAgICAgaWYgKHNjc2lfZ2VuZXJpY19yZWFkX3Jlc2VydmF0aW9uKHMsICZkZXZfa2V5LCAmZGV2 X3Jlc3ZfdHlwZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl cnJwKSA8IDApIHsKKyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICB9CisgCist ICAgICAgICAvKgorLSAgICAgICAgICogVHdvIGNhc2VzOgorLSAgICAgICAgICoKKy0gICAgICAg ICAqIDEuIFRoZXJlIGlzIG5vIHJlc2VydmF0aW9uIChyZXN2X3R5cGUgaXMgMCkgYW5kIHRoZSBv dGhlciBJX1QgbmV4dXMKKy0gICAgICAgICAqICAgIHdpbGwgYmUgdW5yZWdpc3RlcmVkLiBUaGlz IGlzIGltcG9ydGFudCBzbyB0aGUgc291cmNlIGhvc3QgZG9lcworLSAgICAgICAgICogICAgbm90 IGxlYWsgcmVnaXN0ZXJlZCBrZXlzIGFjcm9zcyBsaXZlIG1pZ3JhdGlvbi4KKy0gICAgICAgICAq CistICAgICAgICAgKiAyLiBUaGVyZSBpcyBhIHJlc2VydmF0aW9uIChyZXN2X3R5cGUgaXMgbm90 IDApIGFuZCB0aGUgb3RoZXIgSV9UCistICAgICAgICAgKiAgICBuZXh1cyB3aWxsIGJlIHVucmVn aXN0ZXJlZCBhbmQgaXRzIHJlc2VydmF0aW9uIGlzIGF0b21pY2FsbHkKKy0gICAgICAgICAqICAg IHRha2VuIG92ZXIgYnkgdXMuIFRoaXMgaXMgdGhlIHNjZW5hcmlvIHdoZXJlIGEgcmVzZXJ2YXRp b24gaXMKKy0gICAgICAgICAqICAgIG1pZ3JhdGVkIGFsb25nIHdpdGggdGhlIGd1ZXN0LgorLSAg ICAgICAgICovCistICAgICAgICBpZiAoIXNjc2lfZ2VuZXJpY19wcl9wcmVlbXB0KHMsIGtleSwg cmVzdl90eXBlLCBlcnJwKSkgeworLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKysgICAgICAg IGlmIChkZXZfcmVzdl90eXBlICE9IHJlc3ZfdHlwZSkgeworKyAgICAgICAgICAgIC8qIHZtc3Rh dGUgaGFkIGEgc3RhbGUgcmVzZXJ2YXRpb24gdHlwZSAqLworKyAgICAgICAgICAgIGdfYXV0b2Zy ZWUgY2hhciAqbmFtZSA9IHFkZXZfZ2V0X2h1bWFuX25hbWUoJnMtPnFkZXYpOworKyAgICAgICAg ICAgIHdhcm5fcmVwb3J0KCJFeHBlY3RlZCBTQ1NJIHJlc2VydmF0aW9uIHR5cGUgMHgleCBvbiBk ZXZpY2UgJyVzJywgIgorKyAgICAgICAgICAgICAgICAgICAgICAgICJnb3QgMHgleCwgdXNpbmcg bmV3IHR5cGUiLAorKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3ZfdHlwZSwgbmFtZSwgZGV2 X3Jlc3ZfdHlwZSk7CisrICAgICAgICAgICAgcmVzdl90eXBlID0gZGV2X3Jlc3ZfdHlwZTsKKyAg ICAgICAgIH0KKyAKKy0gICAgICAgIC8qCistICAgICAgICAgKiBTb21lIFNDU0kgdGFyZ2V0cywg bGlrZSB0aGUgTGludXggTElPIHRhcmdldCwgcmVtb3ZlIG91cgorLSAgICAgICAgICogcmVnaXN0 cmF0aW9uIHdoZW4gcHJlZW1wdGluZyB3aXRob3V0IGEgcmVzZXJ2YXRpb24gKHJlc3ZfdHlwZSBp cyAwKS4KKy0gICAgICAgICAqIFRyeSB0byByZWdpc3RlciBhZ2FpbiBidXQgaWdub3JlIHRoZSBl cnJvciBzaW5jZSBhIFJFU0VSVkFUSU9OCistICAgICAgICAgKiBDT05GTElDVCBpcyBleHBlY3Rl ZCBpZiBvdXIgcmVnaXN0cmF0aW9uIHJlbWFpbmVkIGluIHBsYWNlLgorLSAgICAgICAgICovCist ICAgICAgICBpZiAocmVzdl90eXBlID09IDApIHsKKy0gICAgICAgICAgICBzY3NpX2dlbmVyaWNf cHJfcmVnaXN0ZXIocywga2V5LCBOVUxMKTsKKysgICAgICAgIGlmIChkZXZfa2V5ID09IGtleSkg eworKyAgICAgICAgICAgIC8qIFRoZSByZXNlcnZhdGlvbiBleGlzdHMsIG5vIG5lZWQgdG8gY2hl Y2sgZm9yIGEgc3RhbGUga2V5ICovCisrICAgICAgICAgICAgY2hlY2tfc3RhbGVfa2V5ID0gZmFs c2U7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIGdfYXV0b2ZyZWUgY2hhciAqbmFt ZSA9IHFkZXZfZ2V0X2h1bWFuX25hbWUoJnMtPnFkZXYpOworKyAgICAgICAgICAgIHdhcm5fcmVw b3J0KCJFeHBlY3RlZCBTQ1NJIHJlc2VydmF0aW9uIHdpdGgga2V5IDB4JSIgUFJJeDY0CisrICAg ICAgICAgICAgICAgICAgICAgICAgIiBvbiBkZXZpY2UgJyVzJywgZ290IDB4JSIgUFJJeDY0ICIs IGlnbm9yaW5nICIKKysgICAgICAgICAgICAgICAgICAgICAgICAicmVzZXJ2YXRpb24iLAorKyAg ICAgICAgICAgICAgICAgICAgICAgIGtleSwgbmFtZSwgZGV2X2tleSk7CisrICAgICAgICAgICAg cmVzdl90eXBlID0gMDsgLyogdm1zdGF0ZSBoYWQgYSBzdGFsZSByZXNlcnZhdGlvbiAqLworKyAg ICAgICAgfQorKyAgICB9CisrCisrICAgIGlmIChrZXkgIT0gMCAmJiBjaGVja19zdGFsZV9rZXkg JiYKKysgICAgICAgICFzY3NpX2dlbmVyaWNfcHJfa2V5X3JlZ2lzdGVyZWQocywga2V5LCAmbG9j YWxfZXJyKSkgeworKyAgICAgICAgaWYgKGxvY2FsX2VycikgeworKyAgICAgICAgICAgIGVycm9y X3Byb3BhZ2F0ZShlcnJwLCBsb2NhbF9lcnIpOworKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK KyAgICAgICAgIH0KKysKKysgICAgICAgIGdfYXV0b2ZyZWUgY2hhciAqbmFtZSA9IHFkZXZfZ2V0 X2h1bWFuX25hbWUoJnMtPnFkZXYpOworKyAgICAgICAgd2Fybl9yZXBvcnQoIlNDU0kgcmVzZXJ2 YXRpb24ga2V5IDB4JSIgUFJJeDY0ICIgb24gZGV2aWNlICclcycgbm90ICIKKysgICAgICAgICAg ICAgICAgICAgICJyZWdpc3RlcmVkIGFmdGVyIG1pZ3JhdGlvbiwgaWdub3JpbmciLAorKyAgICAg ICAgICAgICAgICAgICAga2V5LCBuYW1lKTsKKysgICAgICAgIGtleSA9IDA7IC8qIHZtc3RhdGUg aGFkIGEgc3RhbGUga2V5ICovCisrICAgIH0KKysKKysgICAgLyogU3RhbGUgUFIgc3RhdGUgbWF5 IGhhdmUgYmVlbiB1cGRhdGVkICovCisrICAgIFdJVEhfUUVNVV9MT0NLX0dVQVJEKCZwcl9zdGF0 ZS0+bXV0ZXgpIHsKKysgICAgICAgIHByX3N0YXRlLT5rZXkgPSBrZXk7CisrICAgICAgICBwcl9z dGF0ZS0+cmVzdl90eXBlID0gcmVzdl90eXBlOworKyAgICB9CisrCisrICAgIGlmIChrZXkgPT0g MCkgeworKyAgICAgICAgcmV0dXJuIHRydWU7IC8qIG5vIFBSIHN0YXRlLCBkbyBub3RoaW5nICov CisrICAgIH0KKysKKysgICAgaWYgKCFzY3NpX2dlbmVyaWNfcHJfcmVnaXN0ZXIocywga2V5LCBl cnJwKSkgeworKyAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9CisrCisrICAgIC8qCisrICAg ICAqIFR3byBjYXNlczoKKysgICAgICoKKysgICAgICogMS4gVGhlcmUgaXMgbm8gcmVzZXJ2YXRp b24gKHJlc3ZfdHlwZSBpcyAwKSBhbmQgdGhlIG90aGVyIElfVCBuZXh1cworKyAgICAgKiAgICB3 aWxsIGJlIHVucmVnaXN0ZXJlZC4gVGhpcyBpcyBpbXBvcnRhbnQgc28gdGhlIHNvdXJjZSBob3N0 IGRvZXMKKysgICAgICogICAgbm90IGxlYWsgcmVnaXN0ZXJlZCBrZXlzIGFjcm9zcyBsaXZlIG1p Z3JhdGlvbi4KKysgICAgICoKKysgICAgICogMi4gVGhlcmUgaXMgYSByZXNlcnZhdGlvbiAocmVz dl90eXBlIGlzIG5vdCAwKSBhbmQgdGhlIG90aGVyIElfVAorKyAgICAgKiAgICBuZXh1cyB3aWxs IGJlIHVucmVnaXN0ZXJlZCBhbmQgaXRzIHJlc2VydmF0aW9uIGlzIGF0b21pY2FsbHkKKysgICAg ICogICAgdGFrZW4gb3ZlciBieSB1cy4gVGhpcyBpcyB0aGUgc2NlbmFyaW8gd2hlcmUgYSByZXNl cnZhdGlvbiBpcworKyAgICAgKiAgICBtaWdyYXRlZCBhbG9uZyB3aXRoIHRoZSBndWVzdC4KKysg ICAgICovCisrICAgIGlmICghc2NzaV9nZW5lcmljX3ByX3ByZWVtcHQocywga2V5LCByZXN2X3R5 cGUsIGVycnApKSB7CisrICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgIH0KKysKKysgICAgLyoK KysgICAgICogU29tZSBTQ1NJIHRhcmdldHMsIGxpa2UgdGhlIExpbnV4IExJTyB0YXJnZXQsIHJl bW92ZSBvdXIKKysgICAgICogcmVnaXN0cmF0aW9uIHdoZW4gcHJlZW1wdGluZyB3aXRob3V0IGEg cmVzZXJ2YXRpb24gKHJlc3ZfdHlwZSBpcyAwKS4KKysgICAgICogVHJ5IHRvIHJlZ2lzdGVyIGFn YWluIGJ1dCBpZ25vcmUgdGhlIGVycm9yIHNpbmNlIGEgUkVTRVJWQVRJT04KKysgICAgICogQ09O RkxJQ1QgaXMgZXhwZWN0ZWQgaWYgb3VyIHJlZ2lzdHJhdGlvbiByZW1haW5lZCBpbiBwbGFjZS4K KysgICAgICovCisrICAgIGlmIChyZXN2X3R5cGUgPT0gMCkgeworKyAgICAgICAgc2NzaV9nZW5l cmljX3ByX3JlZ2lzdGVyKHMsIGtleSwgTlVMTCk7CisgICAgIH0KKyAgICAgcmV0dXJuIHRydWU7 CisgfQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1zY3NpLXJlZ2lzdGVyLWFnYWlu LWFmdGVyLVBSRUVNUFQtd2l0aG91dC1yZXNlcnZhdGlvLnBhdGNoIGIva3ZtLXNjc2ktcmVnaXN0 ZXItYWdhaW4tYWZ0ZXItUFJFRU1QVC13aXRob3V0LXJlc2VydmF0aW8ucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU2ZTg4ZAotLS0gL2Rldi9udWxsCisrKyBiL2t2 bS1zY3NpLXJlZ2lzdGVyLWFnYWluLWFmdGVyLVBSRUVNUFQtd2l0aG91dC1yZXNlcnZhdGlvLnBh dGNoCkBAIC0wLDAgKzEsNTQgQEAKK0Zyb20gNWNjZDcyNDQwODRjYzY4MjBhMGEwMGRmMDFjMjU0 ODQxODFiN2ZjYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZWZhbiBIYWpub2N6 aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK0RhdGU6IFdlZCwgMSBBcHIgMjAyNiAxMzoxOToyNyAt MDQwMAorU3ViamVjdDogW1BBVENIIDUvOV0gc2NzaTogcmVnaXN0ZXIgYWdhaW4gYWZ0ZXIgUFJF RU1QVCB3aXRob3V0IHJlc2VydmF0aW9uCisKK1JILUF1dGhvcjogU3RlZmFuIEhham5vY3ppIDxz dGVmYW5oYUByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA0OTI6IHNjc2k6IFBSIGxpdmUg bWlncmF0aW9uIFBSRUVNUFQgZml4ZXMKK1JILUppcmE6IFJIRUwtMTU1ODA3CitSSC1BY2tlZC1i eTogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJv c2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzMvM10gMjEy NDJjMWUyOTNhMzYxMWM3NWE1Y2RiYzk5ZTU1YzZhYjg2Y2MyMCAoc3RlZmFuaGEvY2VudG9zLXN0 cmVhbS1xZW11LWt2bSkKKworVGhlIFNDU0kgc3BlY2lmaWNhdGlvbiBzYXlzIFBSRUVNUFQgd2l0 aG91dCBhIHJlc2VydmF0aW9uIHJlbW92ZXMgYWxsCityZWdpc3RyYXRpb25zIHdpdGggdGhlIGdp dmVuIGtleS4gVHJ5IHRvIHJlZ2lzdGVyIGFnYWluIGFmdGVyIFBSRUVNUFQKK3NpbmNlIG91ciBr ZXkgd2lsbCBoYXZlIGJlZW4gcmVtb3ZlZC4KKworSW4gcHJhY3RpY2Ugc29tZSBTQ1NJIHRhcmdl dHMga2VlcCB0aGUgY2FsbGluZyBJX1QgbmV4dXMnIHJlZ2lzdHJhdGlvbgoraW5zdGVhZCBvZiBy ZW1vdmluZyBpdC4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gaGFuZGxlIGJvdGggdGhlCitzcGVjLWNv bXBsaWFudCBhbmQgdGhlIG5vbi1jb21wbGlhbnQgYmVoYXZpb3IuCisKK1NpZ25lZC1vZmYtYnk6 IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBQYW9s byBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvci8yMDI2MDQwMTE3MTkyNy4zOTY2NzItNC1zdGVmYW5oYUByZWRoYXQuY29tCitTaWdu ZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgorKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgYjlhM2IzMjlkMDlkZWE1YTQ2OTJkZTQ4MzQxOTY5M2VmMGUyMzA1 MikKK1NpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4K Ky0tLQorIGh3L3Njc2kvc2NzaS1nZW5lcmljLmMgfCAxMCArKysrKysrKysrCisgMSBmaWxlIGNo YW5nZWQsIDEwIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2h3L3Njc2kvc2NzaS1nZW5l cmljLmMgYi9ody9zY3NpL3Njc2ktZ2VuZXJpYy5jCitpbmRleCA4YTU3NDczNjIzLi45YzU5Mjdi NTQzIDEwMDY0NAorLS0tIGEvaHcvc2NzaS9zY3NpLWdlbmVyaWMuYworKysrIGIvaHcvc2NzaS9z Y3NpLWdlbmVyaWMuYworQEAgLTUxMiw2ICs1MTIsMTYgQEAgYm9vbCBzY3NpX2dlbmVyaWNfcHJf c3RhdGVfcHJlZW1wdChTQ1NJRGV2aWNlICpzLCBFcnJvciAqKmVycnApCisgICAgICAgICBpZiAo IXNjc2lfZ2VuZXJpY19wcl9wcmVlbXB0KHMsIGtleSwgcmVzdl90eXBlLCBlcnJwKSkgeworICAg ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgIH0KKysKKysgICAgICAgIC8qCisrICAg ICAgICAgKiBTb21lIFNDU0kgdGFyZ2V0cywgbGlrZSB0aGUgTGludXggTElPIHRhcmdldCwgcmVt b3ZlIG91cgorKyAgICAgICAgICogcmVnaXN0cmF0aW9uIHdoZW4gcHJlZW1wdGluZyB3aXRob3V0 IGEgcmVzZXJ2YXRpb24gKHJlc3ZfdHlwZSBpcyAwKS4KKysgICAgICAgICAqIFRyeSB0byByZWdp c3RlciBhZ2FpbiBidXQgaWdub3JlIHRoZSBlcnJvciBzaW5jZSBhIFJFU0VSVkFUSU9OCisrICAg ICAgICAgKiBDT05GTElDVCBpcyBleHBlY3RlZCBpZiBvdXIgcmVnaXN0cmF0aW9uIHJlbWFpbmVk IGluIHBsYWNlLgorKyAgICAgICAgICovCisrICAgICAgICBpZiAocmVzdl90eXBlID09IDApIHsK KysgICAgICAgICAgICBzY3NpX2dlbmVyaWNfcHJfcmVnaXN0ZXIocywga2V5LCBOVUxMKTsKKysg ICAgICAgIH0KKyAgICAgfQorICAgICByZXR1cm4gdHJ1ZTsKKyB9CistLSAKKzIuNTIuMAorCgpk aWZmIC0tZ2l0IGEva3ZtLXZmaW8tY29udGFpbmVyLVJlc3RyaWN0LWRtYV9tYXBfZmlsZS10by1z aGFyZWQtUkFNLW8ucGF0Y2ggYi9rdm0tdmZpby1jb250YWluZXItUmVzdHJpY3QtZG1hX21hcF9m aWxlLXRvLXNoYXJlZC1SQU0tby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5lNDQyNmU1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tY29udGFpbmVyLVJlc3Ry aWN0LWRtYV9tYXBfZmlsZS10by1zaGFyZWQtUkFNLW8ucGF0Y2gKQEAgLTAsMCArMSw5NyBAQAor RnJvbSA3NzNlMjdlMmNmZWZiMDk1OGRmNzI2YjcyNmE2ZGU5MWJkYTg3NzFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbnlpIFFpYW5nIDxjaGVueWkucWlhbmdAaW50ZWwuY29t PgorRGF0ZTogV2VkLCAyNyBNYXkgMjAyNiAxODoxMTowOCArMDgwMAorU3ViamVjdDogW1BBVENI IDcvOV0gdmZpby9jb250YWluZXI6IFJlc3RyaWN0IGRtYV9tYXBfZmlsZSgpIHRvIHNoYXJlZCBS QU0gb3IKKyBSQU0gZGV2aWNlcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAor CitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDk3OiB2 ZmlvL2NvbnRhaW5lcjogUmVzdHJpY3QgZG1hX21hcF9maWxlKCkgdG8gc2hhcmVkIFJBTSBvciBS QU0gZGV2aWNlcworUkgtSmlyYTogUkhFTC0xODA3NTAKK1JILUFja2VkLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEg PG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0ByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMS8xXSA0MjNhNjQ3YTExMTUxOTA3YWIyNmViMzQx ZTczMjk4YTI4ODA5MDhlIChyb3ZpY2sxL3FlbXUta3ZtKQorCit2ZmlvX2NvbnRhaW5lcl9kbWFf bWFwKCkgdXNlcyBkbWFfbWFwX2ZpbGUoKSB3aGVuZXZlciBhIFJBTUJsb2NrIGhhcyBhbgorZmQg YW5kIHRoZSBWRklPIElPTU1VIGJhY2tlbmQgc3VwcG9ydHMgZmlsZS1iYXNlZCBETUEgbWFwcGlu Zy4gVGhhdCBpcworbm90IGNvcnJlY3QgZm9yIHByaXZhdGUgZmlsZS1iYWNrZWQgZ3Vlc3QgUkFN LgorCitkbWFfbWFwX2ZpbGUoKSByZXNvbHZlcyBQRk5zIGZyb20gdGhlIGJhY2tpbmcgZmlsZSwg YnV0IHByaXZhdGUgZ3Vlc3QKK1JBTSBtYXBwaW5ncyAoTUFQX1BSSVZBVEUpIGNhbiBydW4gb24g ZGlmZmVyZW50IFBGTnMgdGhhbiB0aGUgZmlsZQorYmVjYXVzZSB0aGV5IGFyZSBzdWJqZWN0IHRv IGNvcHktb24td3JpdGUgKENPVykgYW5vbWFsaWVzLiBBcyBhIHJlc3VsdCwKK3VzaW5nIGRtYV9t YXBfZmlsZSgpIG9uIGEgcHJpdmF0ZWx5IG1hcHBlZCBSQU1CbG9jayBjYW4gcHJvZ3JhbSBETUEK K2FnYWluc3QgcGFnZXMgdGhhdCBkbyBub3QgYmFjayBRRU1VJ3MgYWN0dWFsIGd1ZXN0IG1lbW9y eS4KKworRml4IHRoaXMgYnkgdXNpbmcgZG1hX21hcF9maWxlKCkgb25seSBmb3Igc2hhcmVkIG1h cHBlZCBSQU1CbG9ja3MKK01BUF9TSEFSRUQpIG9yIFJBTSBkZXZpY2UgcmVnaW9ucy4KKworRml4 ZXM6IGZiMzI5NjViNmRkOCAoInZmaW8vaW9tbXVmZDogdXNlIElPTU1VX0lPQVNfTUFQX0ZJTEUi KQorUmVwb3J0ZWQtYnk6IEZhcnJhaCBDaGVuIDxmYXJyYWguY2hlbkBpbnRlbC5jb20+CitDbG9z ZXM6IGh0dHBzOi8vYnVnemlsbGEua2VybmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNzc2CitS ZXZpZXdlZC1ieTogWmhlbnpob25nIER1YW4gPHpoZW56aG9uZy5kdWFuQGludGVsLmNvbT4KK1N1 Z2dlc3RlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorU2lnbmVkLW9m Zi1ieTogQ2hlbnlpIFFpYW5nIDxjaGVueWkucWlhbmdAaW50ZWwuY29tPgorTGluazogaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI2MDUyNzEwMTEwOS43MTc4MS0xLWNoZW55 aS5xaWFuZ0BpbnRlbC5jb20KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJl ZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5j b20+CistLS0KKyBody92ZmlvL2NvbnRhaW5lci5jIHwgMzQgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9jb250YWluZXIuYyBiL2h3L3ZmaW8vY29u dGFpbmVyLmMKK2luZGV4IDFiODU2OWQzNmEuLmY1MzQ3OTdhOTggMTAwNjQ0CistLS0gYS9ody92 ZmlvL2NvbnRhaW5lci5jCisrKysgYi9ody92ZmlvL2NvbnRhaW5lci5jCitAQCAtNzMsMTUgKzcz LDQzIEBAIHZvaWQgdmZpb19hZGRyZXNzX3NwYWNlX2luc2VydChWRklPQWRkcmVzc1NwYWNlICpz cGFjZSwKKyAgICAgYmNvbnRhaW5lci0+c3BhY2UgPSBzcGFjZTsKKyB9CisgCisrc3RhdGljIGJv b2wgdmZpb19jb250YWluZXJfY2FuX2RtYV9tYXBfZmlsZShWRklPQ29udGFpbmVyICpiY29udGFp bmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5 UmVnaW9uICptciwgaW50ICpmZCkKKyt7CisrICAgIFZGSU9JT01NVUNsYXNzICp2aW9jID0gVkZJ T19JT01NVV9HRVRfQ0xBU1MoYmNvbnRhaW5lcik7CisrICAgIFJBTUJsb2NrICpyYiA9IG1yLT5y YW1fYmxvY2s7CisrCisrICAgIGlmICghdmlvYy0+ZG1hX21hcF9maWxlIHx8ICFyYikgeworKyAg ICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9CisrCisrICAgICpmZCA9IHFlbXVfcmFtX2dldF9m ZChyYik7CisrICAgIGlmICgqZmQgPCAwKSB7CisrICAgICAgICByZXR1cm4gZmFsc2U7CisrICAg IH0KKysKKysgICAgLyoKKysgICAgICogV2UgY2FuIHVzZSBJT01NVSBETUEgbWFwcGluZyAoSU9N TVVfSU9BU19NQVBfRklMRSkgZm9yIDoKKysgICAgICoKKysgICAgICogMSkgR3Vlc3QgUkFNIGJs b2NrcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQgYXMgc2hhcmVkIChNQVBfU0hBUkVEKQorKyAgICAg KiAyKSBSQU0gZGV2aWNlIHN1Yi1yZWdpb25zIChNTUlPIEJBUnMpCisrICAgICAqCisrICAgICAq IFByaXZhdGUgUkFNIG1hcHBpbmdzIChNQVBfUFJJVkFURSkgYXJlIHN0cmljdGx5IGV4Y2x1ZGVk LiBCZWNhdXNlCisrICAgICAqIHRoZXkgYXJlIHN1YmplY3QgdG8gY29weS1vbi13cml0ZSAoQ09X KSBhbm9tYWxpZXMsIHRoZWlyIHVuZGVybHlpbmcKKysgICAgICogUEZOcyBjYW4gcGVybWFuZW50 bHkgZGl2ZXJnZSBmcm9tIHRoZSBiYWNraW5nIGZpbGUKKysgICAgICovCisrICAgIHJldHVybiBx ZW11X3JhbV9pc19zaGFyZWQocmIpIHx8IG1lbW9yeV9yZWdpb25faXNfcmFtX2RldmljZShtcik7 CisrfQorKworIGludCB2ZmlvX2NvbnRhaW5lcl9kbWFfbWFwKFZGSU9Db250YWluZXIgKmJjb250 YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHVpbnQ2NF90 IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdmFkZHIsIGJvb2wgcmVh ZG9ubHksIE1lbW9yeVJlZ2lvbiAqbXIpCisgeworICAgICBWRklPSU9NTVVDbGFzcyAqdmlvYyA9 IFZGSU9fSU9NTVVfR0VUX0NMQVNTKGJjb250YWluZXIpOworLSAgICBSQU1CbG9jayAqcmIgPSBt ci0+cmFtX2Jsb2NrOworLSAgICBpbnQgbWZkID0gcmIgPyBxZW11X3JhbV9nZXRfZmQocmIpIDog LTE7CisrICAgIGludCBtZmQ7CisgCistICAgIGlmIChtZmQgPj0gMCAmJiB2aW9jLT5kbWFfbWFw X2ZpbGUpIHsKKysgICAgaWYgKHZmaW9fY29udGFpbmVyX2Nhbl9kbWFfbWFwX2ZpbGUoYmNvbnRh aW5lciwgbXIsICZtZmQpKSB7CisrICAgICAgICBSQU1CbG9jayAqcmIgPSBtci0+cmFtX2Jsb2Nr OworICAgICAgICAgdW5zaWduZWQgbG9uZyBzdGFydCA9IHZhZGRyIC0gcWVtdV9yYW1fZ2V0X2hv c3RfYWRkcihyYik7CisgICAgICAgICB1bnNpZ25lZCBsb25nIG9mZnNldCA9IHFlbXVfcmFtX2dl dF9mZF9vZmZzZXQocmIpOworIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL3FlbXUuc3Bl YyBiL3FlbXUuc3BlYwppbmRleCAwZTVlM2M2Li5hN2JmODk2IDEwMDY0NAotLS0gYS9xZW11LnNw ZWMKKysrIGIvcWVtdS5zcGVjCkBAIC0xNDMsNyArMTQzLDcgQEAgT2Jzb2xldGVzOiAle25hbWV9 LWJsb2NrLXNzaCA8PSAle2Vwb2NofTole3ZlcnNpb259ICAgICAgICAgICAgICAgICAgICBcCiBT dW1tYXJ5OiBRRU1VIGlzIGEgbWFjaGluZSBlbXVsYXRvciBhbmQgdmlydHVhbGl6ZXIKIE5hbWU6 IHFlbXUta3ZtCiBWZXJzaW9uOiAxMC4xLjAKLVJlbGVhc2U6IDE5JXs/cmNyZWx9JXs/ZGlzdH0l ez9jY19zdWZmaXh9CitSZWxlYXNlOiAyMCV7P3JjcmVsfSV7P2Rpc3R9JXs/Y2Nfc3VmZml4fQog IyBFcG9jaCBiZWNhdXNlIHdlIHB1c2hlZCBhIHFlbXUtMS4wIHBhY2thZ2UuIEFJVUkgdGhpcyBj YW4ndCBldmVyIGJlIGRyb3BwZWQKICMgRXBvY2ggMTUgdXNlZCBmb3IgUkhFTCA4CiAjIEVwb2No IDE3IHVzZWQgZm9yIFJIRUwgOSAoZHVlIHRvIHJlbGVhc2UgdmVyc2lvbmluZyBvZmZzZXQgaW4g UkhFTCA4LjUpCkBAIC02NzksNiArNjc5LDI0IEBAIFBhdGNoMjU5OiBrdm0tbGludXgtaGVhZGVy cy1VcGRhdGUtdG8tTGludXgtdjYuMTktcmMxLnBhdGNoCiBQYXRjaDI2MDoga3ZtLWh3LXZmaW8t QWRkLWhlbHBlci10by1yZXRyaWV2ZS1kZXZpY2UtZmVhdHVyZS5wYXRjaAogIyBGb3IgUkhFTC0x Mzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3Vw cG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCiBQYXRjaDI2MToga3ZtLWh3LXZm aW8tcmVnaW9uLUNyZWF0ZS1kbWFidWYtZm9yLVBDSS1CQVItcGVyLXJlZ2lvbi5wYXRjaAorIyBG b3IgUkhFTC0xNzg3NjcgLSBNU0hWIGJhY2twb3J0IG9udG8gUUVNVSAxMC4xLjAgaXMgbm90IGFi bGUgdG8gbGF1bmNoIE1TSFYgZ3Vlc3RzCitQYXRjaDI2Mjoga3ZtLWFjY2VsLW1zaHYtUmVtb3Zl LXJlbWFwLW92ZXJsYXBwaW5nLW1hcHBpbmdzLWNvZGUucGF0Y2gKKyMgRm9yIFJIRUwtMTc4NzY3 IC0gTVNIViBiYWNrcG9ydCBvbnRvIFFFTVUgMTAuMS4wIGlzIG5vdCBhYmxlIHRvIGxhdW5jaCBN U0hWIGd1ZXN0cworUGF0Y2gyNjM6IGt2bS1hY2NlbC1tc2h2LWltcGxlbWVudC1jcHVfdGhyZWFk X2lzX2lkbGUtaG9vay5wYXRjaAorIyBGb3IgUkhFTC0xNTU4MDcgLSBsaXZlIG1pZ3JhdGlvbiBm YWlsZWQgdGhlIFZNIGp1c3QgcmVnaXN0ZXIga2V5IG9ubHkgW3JoZWwtMTAuM10KK1BhdGNoMjY0 OiBrdm0tc2NzaS1hZGp1c3QtZXJyb3JfcHJlcGVuZC1mb3JtYXR0aW5nLnBhdGNoCisjIEZvciBS SEVMLTE1NTgwNyAtIGxpdmUgbWlncmF0aW9uIGZhaWxlZCB0aGUgVk0ganVzdCByZWdpc3RlciBr ZXkgb25seSBbcmhlbC0xMC4zXQorUGF0Y2gyNjU6IGt2bS1zY3NpLWFsd2F5cy1zZW5kLXZhbGlk LVBSRUVNUFQtVFlQRS1maWVsZC5wYXRjaAorIyBGb3IgUkhFTC0xNTU4MDcgLSBsaXZlIG1pZ3Jh dGlvbiBmYWlsZWQgdGhlIFZNIGp1c3QgcmVnaXN0ZXIga2V5IG9ubHkgW3JoZWwtMTAuM10KK1Bh dGNoMjY2OiBrdm0tc2NzaS1yZWdpc3Rlci1hZ2Fpbi1hZnRlci1QUkVFTVBULXdpdGhvdXQtcmVz ZXJ2YXRpby5wYXRjaAorIyBGb3IgUkhFTC0xNzg4NDYgLSBbYWFyY2g2NF0gcWVtdS1rdm0gY3Jh c2hlcyBvbiAtLWRldmljZSB0cG0tdGlzLWRldmljZSw/CitQYXRjaDI2Nzoga3ZtLWh3LXRwbS10 cG1fdGlzX3N5c2J1cy1kZWZlci1yZXNvdXJjZS1hbGxvY2F0aW9uLXRvLXIucGF0Y2gKKyMgRm9y IFJIRUwtMTgwNzUwIC0gQmFja3BvcnQgaW4gUUVNVSA6IHZmaW8vY29udGFpbmVyOiBSZXN0cmlj dCBkbWFfbWFwX2ZpbGUoKSB0byBzaGFyZWQgUkFNIG9yIFJBTSBkZXZpY2VzCitQYXRjaDI2ODog a3ZtLXZmaW8tY29udGFpbmVyLVJlc3RyaWN0LWRtYV9tYXBfZmlsZS10by1zaGFyZWQtUkFNLW8u cGF0Y2gKKyMgRm9yIFJIRUwtMTUzMTIzIC0gbGl2ZSBtaWdyYXRpb24gZmFpbGVkIG9yIGdldCBm YWlsZWQgV1NGQyB0ZXN0IHJlc3VsdCBkdXJpbmcgV1NGQyB0ZXN0aW5nIFtyaGVsLTEwLjNdCitQ YXRjaDI2OToga3ZtLXNjc2ktY2hhbmdlLWJ1Zl9zaXplLXRvLXVuc2lnbmVkLWludC1pbi1zY3Np X1NHX0lPLnBhdGNoCisjIEZvciBSSEVMLTE1MzEyMyAtIGxpdmUgbWlncmF0aW9uIGZhaWxlZCBv ciBnZXQgZmFpbGVkIFdTRkMgdGVzdCByZXN1bHQgZHVyaW5nIFdTRkMgdGVzdGluZyBbcmhlbC0x MC4zXQorUGF0Y2gyNzA6IGt2bS1zY3NpLWhhbmRsZS1yZXNlcnZhdGlvbi1jaGFuZ2VzLWFjcm9z cy1taWdyYXRpb24ucGF0Y2gKIAogJWlmICV7aGF2ZV9jbGFuZ30KIEJ1aWxkUmVxdWlyZXM6IGNs YW5nCkBAIC0xNzU4LDYgKzE3NzYsMjcgQEAgdXNlcmFkZCAtciAtdSAxMDcgLWcgcWVtdSAtRyBr dm0gLWQgLyAtcyAvc2Jpbi9ub2xvZ2luIFwKICVlbmRpZgogCiAlY2hhbmdlbG9nCisqIE1vbiBK dW4gMDggMjAyNiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4gLSAxMC4x LjAtMjAKKy0ga3ZtLWFjY2VsLW1zaHYtUmVtb3ZlLXJlbWFwLW92ZXJsYXBwaW5nLW1hcHBpbmdz LWNvZGUucGF0Y2ggW1JIRUwtMTc4NzY3XQorLSBrdm0tYWNjZWwtbXNodi1pbXBsZW1lbnQtY3B1 X3RocmVhZF9pc19pZGxlLWhvb2sucGF0Y2ggW1JIRUwtMTc4NzY3XQorLSBrdm0tc2NzaS1hZGp1 c3QtZXJyb3JfcHJlcGVuZC1mb3JtYXR0aW5nLnBhdGNoIFtSSEVMLTE1NTgwN10KKy0ga3ZtLXNj c2ktYWx3YXlzLXNlbmQtdmFsaWQtUFJFRU1QVC1UWVBFLWZpZWxkLnBhdGNoIFtSSEVMLTE1NTgw N10KKy0ga3ZtLXNjc2ktcmVnaXN0ZXItYWdhaW4tYWZ0ZXItUFJFRU1QVC13aXRob3V0LXJlc2Vy dmF0aW8ucGF0Y2ggW1JIRUwtMTU1ODA3XQorLSBrdm0taHctdHBtLXRwbV90aXNfc3lzYnVzLWRl ZmVyLXJlc291cmNlLWFsbG9jYXRpb24tdG8tci5wYXRjaCBbUkhFTC0xNzg4NDZdCistIGt2bS12 ZmlvLWNvbnRhaW5lci1SZXN0cmljdC1kbWFfbWFwX2ZpbGUtdG8tc2hhcmVkLVJBTS1vLnBhdGNo IFtSSEVMLTE4MDc1MF0KKy0ga3ZtLXNjc2ktY2hhbmdlLWJ1Zl9zaXplLXRvLXVuc2lnbmVkLWlu dC1pbi1zY3NpX1NHX0lPLnBhdGNoIFtSSEVMLTE1MzEyM10KKy0ga3ZtLXNjc2ktaGFuZGxlLXJl c2VydmF0aW9uLWNoYW5nZXMtYWNyb3NzLW1pZ3JhdGlvbi5wYXRjaCBbUkhFTC0xNTMxMjNdCist IFJlc29sdmVzOiBSSEVMLTE3ODc2NworICAoTVNIViBiYWNrcG9ydCBvbnRvIFFFTVUgMTAuMS4w IGlzIG5vdCBhYmxlIHRvIGxhdW5jaCBNU0hWIGd1ZXN0cykKKy0gUmVzb2x2ZXM6IFJIRUwtMTU1 ODA3CisgIChsaXZlIG1pZ3JhdGlvbiBmYWlsZWQgdGhlIFZNIGp1c3QgcmVnaXN0ZXIga2V5IG9u bHkgW3JoZWwtMTAuM10pCistIFJlc29sdmVzOiBSSEVMLTE3ODg0NgorICAoW2FhcmNoNjRdIHFl bXUta3ZtIGNyYXNoZXMgb24gLS1kZXZpY2UgdHBtLXRpcy1kZXZpY2UsPykKKy0gUmVzb2x2ZXM6 IFJIRUwtMTgwNzUwCisgIChCYWNrcG9ydCBpbiBRRU1VIDogdmZpby9jb250YWluZXI6IFJlc3Ry aWN0IGRtYV9tYXBfZmlsZSgpIHRvIHNoYXJlZCBSQU0gb3IgUkFNIGRldmljZXMpCistIFJlc29s dmVzOiBSSEVMLTE1MzEyMworICAobGl2ZSBtaWdyYXRpb24gZmFpbGVkIG9yIGdldCBmYWlsZWQg V1NGQyB0ZXN0IHJlc3VsdCBkdXJpbmcgV1NGQyB0ZXN0aW5nIFtyaGVsLTEwLjNdKQorCiAqIFR1 ZSBNYXkgMjYgMjAyNiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4gLSAx MC4xLjAtMTkKIC0ga3ZtLXZtc3RhdGUtSW50cm9kdWNlLVZNU1RBVEVfVkFSUkFZX0lOVDMyX0FM TE9DLnBhdGNoIFtSSEVMLTE3NDg1OF0KIC0ga3ZtLXRhcmdldC1hcm0tTW92ZS1jb21wYXJlX3U2 NC10by1oZWxwZXIuYy5wYXRjaCBbUkhFTC0xNzQ4NThdCgpkaWZmIC0tZ2l0IGEvcnBtaW5zcGVj dC55YW1sIGIvcnBtaW5zcGVjdC55YW1sCmluZGV4IDMwMjc0YjMuLmUwOWQ4YjkgMTAwNjQ0Ci0t LSBhL3JwbWluc3BlY3QueWFtbAorKysgYi9ycG1pbnNwZWN0LnlhbWwKQEAgLTMsNiArMyw3IEBA IGVsZjoKICAgICAgICAgZXhjbHVkZV9wYXRoOiAoLipzMzkwLWNjdy5pbWcuKil8KC4qczM5MC1u ZXRib290LmltZy4qKQogaW5zcGVjdGlvbnM6CiAgICAgICAgIGJhZGZ1bmNzOiBvZmYKKyAgICAg ICAgbG9zdHBheWxvYWQ6IG9mZgogYW5ub2NoZWNrOgogICAgICAgICAtIGhhcmRlbmVkOiAtLXNr aXAtY2YtcHJvdGVjdGlvbiAtLXNraXAtcHJvcGVydHktbm90ZSAtLXNraXAtc3RhY2stY2xhc2gg LS1pZ25vcmUtdW5rbm93biAtLXZlcmJvc2UKICAgICAgICAgLSByaGVsLXBvbGljeTogLS1za2lw LWNmLXByb3RlY3Rpb24gLS1za2lwLXByb3BlcnR5LW5vdGUgLS1za2lwLXN0YWNrLWNsYXNoIC0t aWdub3JlLXVua25vd24gLS12ZXJib3NlCg==