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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Fix dlopen of libpthread.so, patched glibc required (Gary Benson, BZ 669432). Date: Thu, 23 Jul 2026 18:30:02 GMT Message-ID: <178483140279.1.16429757162437876313.rpms-gdb-922e4a0796ed@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 922e4a0796ed02d391ea64de0735185d12a52819 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogOTIyZTRhMDc5NmVkMDJkMzkxZWE2NGRlMDczNTE4NWQx MmE1MjgxOQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxMS0wOC0xMFQxOTo0MjowNiswMjowMApTdGF0cyAgOiArNzc2Ly0xIGlu IDMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dk Yi9jLzkyMmU0YTA3OTZlZDAyZDM5MWVhNjRkZTA3MzUxODVkMTJhNTI4MTk/YnJhbmNoPWZpeC1k dXAtcGF0Y2gKCkxvZzoKRml4IGRsb3BlbiBvZiBsaWJwdGhyZWFkLnNvLCBwYXRjaGVkIGdsaWJj IHJlcXVpcmVkIChHYXJ5IEJlbnNvbiwgQlogNjY5NDMyKS4KCi0tLQpkaWZmIC0tZ2l0IGEvZ2Ri LWRsb3Blbi1zdGFwLXByb2JlLXRlc3QucGF0Y2ggYi9nZGItZGxvcGVuLXN0YXAtcHJvYmUtdGVz dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWE2YTkyCi0tLSAv ZGV2L251bGwKKysrIGIvZ2RiLWRsb3Blbi1zdGFwLXByb2JlLXRlc3QucGF0Y2gKQEAgLTAsMCAr MSw0MDggQEAKK2NvbW1pdCA1YmZkYzMyY2QzYmYzNzNjM2IwMmUxZmQ4NjRlZDhjZWFiMDI5MmIy CitBdXRob3I6IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorRGF0 ZTogICBNb24gQXVnIDggMTI6MDg6NTMgMjAxMSArMDIwMAorCisgICAgK3Rlc3RjYXNlCisKK0lu ZGV4OiBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxvcGVu LWxpYnB0aHJlYWQtbGliLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvZGxvcGVuLWxpYnB0aHJlYWQtbGliLmMJMjAxMS0wOC0xMCAxODoz MDo1Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0wLDAgKzEsNDAgQEAKKysvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDEx IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor KyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKysjaW5jbHVkZSA8cHRocmVhZC5oPgorKyNpbmNsdWRl IDxhc3NlcnQuaD4KKysKKytzdGF0aWMgdm9pZCAqCisrdGZ1bmMgKHZvaWQgKmFyZykKKyt7Cisr ICB2b2lkICgqbm90aWZ5cCkgKHZvaWQpID0gYXJnOworKworKyAgbm90aWZ5cCAoKTsKKyt9Cisr Cisrdm9pZAorK2YgKHZvaWQgKCpub3RpZnlwKSAodm9pZCkpCisreworKyAgcHRocmVhZF90IHQ7 CisrICBpbnQgaTsKKysKKysgIGkgPSBwdGhyZWFkX2NyZWF0ZSAoJnQsIE5VTEwsIHRmdW5jLCBu b3RpZnlwKTsKKysgIGFzc2VydCAoaSA9PSAwKTsKKysKKysgIGkgPSBwdGhyZWFkX2pvaW4gKHQs IE5VTEwpOworKyAgYXNzZXJ0IChpID09IDApOworK30KK0luZGV4OiBnZGItNy4zLjUwLjIwMTEw NzIyL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxvcGVuLWxpYnB0aHJlYWQuYworPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAor KysrIGdkYi03LjMuNTAuMjAxMTA3MjIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4t bGlicHRocmVhZC5jCTIwMTEtMDgtMTAgMTg6MzA6NTYuMDAwMDAwMDAwICswMjAwCitAQCAtMCww ICsxLDQ2IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1 Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysg ICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAg IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrI2lu Y2x1ZGUgPGRsZmNuLmg+CisrI2luY2x1ZGUgPHN0ZGRlZi5oPgorKyNpbmNsdWRlIDxhc3NlcnQu aD4KKysKKytzdGF0aWMgY29uc3QgY2hhciAqdm9sYXRpbGUgZmlsZW5hbWU7CisrCisrc3RhdGlj IHZvaWQKKytub3RpZnkgKHZvaWQpCisreworKyAgZmlsZW5hbWUgPSBOVUxMOyAvKiBub3RpZnkt aGVyZSAqLworK30KKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIHZvaWQgKmg7CisrICB2 b2lkICgqZnApICh2b2lkICgqKSAodm9pZCkpOworKworKyAgYXNzZXJ0IChmaWxlbmFtZSAhPSBO VUxMKTsKKysgIGggPSBkbG9wZW4gKGZpbGVuYW1lLCBSVExEX0xBWlkpOworKyAgYXNzZXJ0ICho ICE9IE5VTEwpOworKworKyAgZnAgPSBkbHN5bSAoaCwgImYiKTsKKysgIGFzc2VydCAoZnAgIT0g TlVMTCk7CisrCisrICBmcCAobm90aWZ5KTsKKysKKysgIHJldHVybiAwOworK30KK0luZGV4OiBn ZGItNy4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxvcGVuLWxpYnB0 aHJlYWQuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMy41MC4yMDExMDcyMi9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLmV4cAkyMDExLTA4LTEwIDE4OjMwOjU2LjAwMDAw MDAwMCArMDIwMAorQEAgLTAsMCArMSw3NCBAQAorKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysj CisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K KysKKytpZiB7IVtpc3RhcmdldCAqLWxpbnV4Kl0gfHwgW3NraXBfc2hsaWJfdGVzdHNdfSB7Cisr ICAgIHJldHVybiAwCisrfQorKworK2xvYWRfbGliIHByZWxpbmstc3VwcG9ydC5leHAKKysKKytz ZXQgdGVzdGZpbGUgImRsb3Blbi1saWJwdGhyZWFkIgorK3NldCBzcmNtYWluZmlsZSAke3Rlc3Rm aWxlfS5jCisrc2V0IHNyY2xpYmZpbGUgJHt0ZXN0ZmlsZX0tbGliLmMKKytzZXQgZXhlY3V0YWJs ZSAke3Rlc3RmaWxlfQorK3NldCBiaW5maWxlX2xpYiAke29iamRpcn0vJHtzdWJkaXJ9LyR7ZXhl Y3V0YWJsZX0uc28KKytzZXQgYmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7ZXhlY3V0YWJs ZX0KKytzZXQgbGliX2Rsb3BlbiBbc2hsaWJfdGFyZ2V0X2ZpbGUgJHtleGVjdXRhYmxlfS5zb10K KysKKysjIFVzZSBidWlsZF9leGVjdXRhYmxlX293bl9saWJzIGFzIHByZWxpbmtlZCBsaWJwdGhy ZWFkLnNvIGNhbiBwcm9kdWNlIGZhbHNlCisrIyBQQVNTIC0gaXQgaXMgT0sgaWYgR0RCIHByb2Nl c3NlcyBpdCBzdGlsbCBiZWZvcmUgcmVsb2NhdGlvbi4KKysKKytzZXQgcmVsaW5rX2FyZ3MgW2J1 aWxkX2V4ZWN1dGFibGVfb3duX2xpYnMgJHt0ZXN0ZmlsZX0uZXhwICR7ZXhlY3V0YWJsZX0uc28g JHNyY2xpYmZpbGUge2RlYnVnIHNobGliX3B0aHJlYWRzfSBub10KKytpZiB7JHJlbGlua19hcmdz ID09ICIiIHx8ICFbcHJlbGlua19ubyAkcmVsaW5rX2FyZ3NdCisrICAgIHx8IFtwcmVwYXJlX2Zv cl90ZXN0aW5nICR7dGVzdGZpbGV9LmV4cCAke2V4ZWN1dGFibGV9ICR7c3JjbWFpbmZpbGV9IHtk ZWJ1ZyBzaGxpYl9sb2FkfV0gfSB7CisrICAgIHJldHVybiAtMQorK30KKytnZGJfbG9hZF9zaGxp YnMgJGJpbmZpbGVfbGliCisrCisraWYgeyAhW3J1bnRvX21haW5dIH0geworKyAgICByZXR1cm4g LTEKKyt9CisrCisrc2V0IHRlc3QgInByaW50IF9kbF9kZWJ1Z19ub3RpZnkiCisrZ2RiX3Rlc3Rf bXVsdGlwbGUgJHRlc3QgJHRlc3QgeworKyAgICAtcmUgIiAweFxbMC05YS1mXF0rIDxfZGxfZGVi dWdfbm90aWZ5PlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrCXBhc3MgJHRlc3QKKysgICAgfQorKyAg ICAtcmUgIk5vIHN5bWJvbCBcIl9kbF9kZWJ1Z19ub3RpZnlcIiBpbiBjdXJyZW50IGNvbnRleHRc XC5cclxuJGdkYl9wcm9tcHQgJCIgeworKwl4ZmFpbCAkdGVzdAorKwl1bnRlc3RlZCAke3Rlc3Rm aWxlfS5leHAKKysJcmV0dXJuCisrICAgIH0KKyt9CisrCisrc2V0IHRlc3QgImxpYnB0aHJlYWQu c28gbm90IGZvdW5kIgorK2dkYl90ZXN0X211bHRpcGxlICJpbmZvIHNoYXJlZGxpYnJhcnkiICR0 ZXN0IHsKKysgICAgLXJlICIvbGlicHRocmVhZFxcLnNvLipcclxuJGdkYl9wcm9tcHQgJCIgewor KwlmYWlsICR0ZXN0CisrICAgIH0KKysgICAgLXJlICIvbGliY1xcLnNvLipcclxuJGdkYl9wcm9t cHQgJCIgeworKwlwYXNzICR0ZXN0CisrICAgIH0KKyt9CisrCisrZ2RiX3Rlc3QgInNldCB2YXJp YWJsZSBmaWxlbmFtZT1cIiRsaWJfZGxvcGVuXCIiCisrCisrZ2RiX2JyZWFrcG9pbnQgIm5vdGlm eSIKKysKKysjIFRoZSBlcnJvciB3YXM6CisrIyBDYW5ub3QgZmluZCBuZXcgdGhyZWFkczogZ2Vu ZXJpYyBlcnJvcgorK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJub3RpZnkiICIuKiBub3Rp ZnktaGVyZSAuKiIKKysKKytnZGJfdGVzdCAiaW5mbyBzaGFyZWRsaWJyYXJ5IiB7L2xpYnB0aHJl YWRcLnNvLip9ICJsaWJwdGhyZWFkLnNvIGZvdW5kIgorSW5kZXg6IGdkYi03LjMuNTAuMjAxMTA3 MjIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjMuNTAu MjAxMTA3MjIub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTEtMDgtMTAgMTg6MzA6 NTUuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMy41MC4yMDExMDcyMi9nZGIvdGVzdHN1aXRl L2xpYi9nZGIuZXhwCTIwMTEtMDgtMTAgMTg6MzA6NTYuMDAwMDAwMDAwICswMjAwCitAQCAtMzU2 MywzMCArMzU2Myw0OSBAQCBwcm9jIGJ1aWxkX2V4ZWN1dGFibGUgeyB0ZXN0bmFtZSBleGVjdXRh CisgICAgICAgICBzZXQgc291cmNlcyAke2V4ZWN1dGFibGV9LmMKKyAgICAgfQorIAorLSAgICBz ZXQgYmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7ZXhlY3V0YWJsZX0KKy0KKy0gICAgc2V0 IG9iamVjdHMge30KKy0gICAgZm9yIHtzZXQgaSAwfSAiXCRpPFtsbGVuZ3RoICRzb3VyY2VzXSIg e2luY3IgaX0geworLSAgICAgICAgc2V0IHMgW2xpbmRleCAkc291cmNlcyAkaV0KKy0gICAgICAg IGlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3N9IiAiJHtiaW5maWxl fSR7aX0ubyIgb2JqZWN0ICRvcHRpb25zXSAhPSAiIiB9IHsKKy0gICAgICAgICAgICB1bnRlc3Rl ZCAkdGVzdG5hbWUKKy0gICAgICAgICAgICByZXR1cm4gLTEKKy0gICAgICAgIH0KKy0gICAgICAg IGxhcHBlbmQgb2JqZWN0cyAiJHtiaW5maWxlfSR7aX0ubyIKKysgICAgIyBnZXRfY29tcGlsZXJf aW5mbyBieSBnZGJfY29tcGlsZV9zaGxpYiBhbmQgZ2RiX2NvbXBpbGVfc2hsaWJfcHRocmVhZHMu CisrICAgIHNldCBpbmZvX29wdGlvbnMgIiIKKysgICAgaWYgeyBbbHNlYXJjaCAtZXhhY3QgJG9w dGlvbnMgImMrKyJdID49IDAgfSB7CisrCXNldCBpbmZvX29wdGlvbnMgImMrKyIKKyAgICAgfQor LSAgICAKKy0gICAgaWYgIHsgW2dkYl9jb21waWxlICRvYmplY3RzICIke2JpbmZpbGV9IiBleGVj dXRhYmxlICRvcHRpb25zXSAhPSAiIiB9IHsKKy0gICAgICAgIHVudGVzdGVkICR0ZXN0bmFtZQor KyAgICBpZiBbZ2V0X2NvbXBpbGVyX2luZm8gYmluZmlsZV91bnVzZWQgJHtpbmZvX29wdGlvbnN9 XSB7CisgICAgICAgICByZXR1cm4gLTEKKyAgICAgfQorIAorLSAgICBzZXQgaW5mb19vcHRpb25z ICIiCistICAgIGlmIHsgW2xzZWFyY2ggLWV4YWN0ICRvcHRpb25zICJjKysiXSA+PSAwIH0gewor LQlzZXQgaW5mb19vcHRpb25zICJjKysiCisrICAgIHNldCBiaW5maWxlICR7b2JqZGlyfS8ke3N1 YmRpcn0vJHtleGVjdXRhYmxlfQorKworKyAgICBzZXQgZnVuYyBnZGJfY29tcGlsZQorKyAgICBz ZXQgZnVuY19pbmRleCBbbHNlYXJjaCAtcmVnZXhwICRvcHRpb25zIHteKHB0aHJlYWRzfHNobGli fHNobGliX3B0aHJlYWRzKSR9XQorKyAgICBpZiB7JGZ1bmNfaW5kZXggIT0gLTF9IHsKKysJc2V0 IGZ1bmMgIiR7ZnVuY31fW2xpbmRleCAkb3B0aW9ucyAkZnVuY19pbmRleF0iCisgICAgIH0KKy0g ICAgaWYgW2dldF9jb21waWxlcl9pbmZvICR7YmluZmlsZX0gJHtpbmZvX29wdGlvbnN9XSB7Cisr CisrICAgICMgZ2RiX2NvbXBpbGVfc2hsaWIgYW5kIGdkYl9jb21waWxlX3NobGliX3B0aHJlYWRz IGRvIG5vdCB1c2UgdGhlIDNyZAorKyAgICAjIHBhcmFtZXRlci4gIFRoZXkgYWxzbyByZXF1aXJl cyAkc291cmNlcyB3aGlsZSBnZGJfY29tcGlsZSBhbmQKKysgICAgIyBnZGJfY29tcGlsZV9wdGhy ZWFkcyByZXF1aXJlICRvYmplY3RzLgorKyAgICBpZiBbc3RyaW5nIG1hdGNoIGdkYl9jb21waWxl X3NobGliKiAkZnVuY10geworKwlzZXQgc291cmNlc19wYXRoIHt9CisrCWZvcmVhY2ggcyAkc291 cmNlcyB7CisrCSAgICBsYXBwZW5kIHNvdXJjZXNfcGF0aCAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8k e3N9IgorKwl9CisrCXNldCByZXQgWyRmdW5jICRzb3VyY2VzX3BhdGggIiR7YmluZmlsZX0iICRv cHRpb25zXQorKyAgICB9IGVsc2UgeworKwlzZXQgb2JqZWN0cyB7fQorKwlmb3Ige3NldCBpIDB9 ICJcJGk8W2xsZW5ndGggJHNvdXJjZXNdIiB7aW5jciBpfSB7CisrCSAgICBzZXQgcyBbbGluZGV4 ICRzb3VyY2VzICRpXQorKwkgICAgaWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJk aXJ9LyR7c30iICIke2JpbmZpbGV9JHtpfS5vIiBvYmplY3QgJG9wdGlvbnNdICE9ICIiIH0gewor KwkJdW50ZXN0ZWQgJHRlc3RuYW1lCisrCQlyZXR1cm4gLTEKKysJICAgIH0KKysJICAgIGxhcHBl bmQgb2JqZWN0cyAiJHtiaW5maWxlfSR7aX0ubyIKKysJfQorKwlzZXQgcmV0IFskZnVuYyAkb2Jq ZWN0cyAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSAkb3B0aW9uc10KKysgICAgfQorKyAgICBpZiAg eyAkcmV0ICE9ICIiIH0geworKyAgICAgICAgdW50ZXN0ZWQgJHRlc3RuYW1lCisgICAgICAgICBy ZXR1cm4gLTEKKyAgICAgfQorKworICAgICByZXR1cm4gMAorIH0KKyAKK0luZGV4OiBnZGItNy4z LjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9ydC5leHAKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBnZGItNy4zLjUwLjIwMTEwNzIyLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvcHJl bGluay1zdXBwb3J0LmV4cAkyMDExLTAxLTAxIDE2OjMzOjUyLjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjMuNTAuMjAxMTA3MjIvZ2RiL3Rlc3RzdWl0ZS9saWIvcHJlbGluay1zdXBwb3J0LmV4 cAkyMDExLTA4LTEwIDE5OjI1OjQxLjAwMDAwMDAwMCArMDIwMAorQEAgLTk1LDggKzk1LDkgQEAg cHJvYyBmaWxlX2NvcHkge3NyYyBkZXN0fSB7CisgIyBXcmFwIGZ1bmN0aW9uIGJ1aWxkX2V4ZWN1 dGFibGUgc28gdGhhdCB0aGUgcmVzdWx0aW5nIGV4ZWN1dGFibGUgaXMgZnVsbHkKKyAjIHNlbGYt c3VmZmljaWVudCAod2l0aG91dCBkZXBlbmRlbmNpZXMgb24gc3lzdGVtIGxpYnJhcmllcykuICBQ YXJhbWV0ZXIKKyAjIElOVEVSUCBtYXkgYmUgdXNlZCB0byBzcGVjaWZ5IGEgbG9hZGVyIChsZC5z bykgdG8gYmUgdXNlZCB0aGF0IGlzCistIyBkaWZmZXJlbnQgZnJvbSB0aGUgZGVmYXVsdCBzeXN0 ZW0gb25lLiAgTGlicmFyaWVzIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlCistIyBkZXBlbmRzIGFy ZSBjb3BpZWQgaW50byBkaXJlY3RvcnkgRElSLiAgRGVmYXVsdCBESVIgdmFsdWUgdG8KKysjIGRp ZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSBvbmUuICBJTlRFUlAgY2FuIGJlIHNldCB0 byAibm8iIGlmIG5vIGxkLnNvCisrIyBjb3B5IHNob3VsZCBiZSBtYWRlLiAgTGlicmFyaWVzIG9u IHdoaWNoIHRoZSBleGVjdXRhYmxlIGRlcGVuZHMgYXJlIGNvcGllZAorKyMgaW50byBkaXJlY3Rv cnkgRElSLiAgRGVmYXVsdCBESVIgdmFsdWUgdG8KKyAjIGAke29iamRpcn0vJHtzdWJkaXJ9LyR7 RVhFQ1VUQUJMRX0uZCcuCisgIworICMgSW4gY2FzZSBvZiBzdWNjZXNzLCByZXR1cm4gYSBzdHJp bmcgY29udGFpbmluZyB0aGUgYXJndW1lbnRzIHRvIGJlIHVzZWQKK0BAIC0xNTEsOCArMTUyLDE1 IEBAIHByb2MgYnVpbGRfZXhlY3V0YWJsZV9vd25fbGlicyB7dGVzdG5hbWUKKyAKKyAgICAgaWYg eyRpbnRlcnAgPT0gIiJ9IHsKKyAJc2V0IGludGVycF9zeXN0ZW0gW3NlY3Rpb25fZ2V0ICRiaW5m aWxlIC5pbnRlcnBdCistCXNldCBpbnRlcnAgJHtkaXJ9L1tmaWxlIHRhaWwgJGludGVycF9zeXN0 ZW1dCistCWZpbGVfY29weSAkaW50ZXJwX3N5c3RlbSAkaW50ZXJwCisrCWlmIHskaW50ZXJwX3N5 c3RlbSA9PSAiIn0geworKwkgICAgZmFpbCAiJHRlc3QgY291bGQgbm90IGZpbmQgLmludGVycCIK KysJfSBlbHNlIHsKKysJICAgIHNldCBpbnRlcnAgJHtkaXJ9L1tmaWxlIHRhaWwgJGludGVycF9z eXN0ZW1dCisrCSAgICBmaWxlX2NvcHkgJGludGVycF9zeXN0ZW0gJGludGVycAorKwl9CisrICAg IH0KKysgICAgaWYgeyRpbnRlcnAgPT0gIm5vIn0geworKwlzZXQgaW50ZXJwICIiCisgICAgIH0K KyAKKyAgICAgc2V0IGRlc3RzIHt9CitAQCAtMTY0LDEzICsxNzIsMTkgQEAgcHJvYyBidWlsZF9l eGVjdXRhYmxlX293bl9saWJzIHt0ZXN0bmFtZQorIAorICAgICAjIERvIG5vdCBsYXBwZW5kIGl0 IHNvIHRoYXQgIi1ycGF0aCAkZGlyIiBvdmVycmlkZXMgYW55IHBvc3NpYmxlICItcnBhdGgicwor ICAgICAjIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyIHRvIGJlIGFibGUgdG8gbGluayBpdCBmb3Ig bGRkIiBhYm92ZS4KKy0gICAgc2V0IG9wdGlvbnMgW2xpbnNlcnQgJG9wdGlvbnMgMCAibGRmbGFn cz0tV2wsLS1keW5hbWljLWxpbmtlciwkaW50ZXJwLC1ycGF0aCwkZGlyIl0KKysgICAgc2V0IG9w dGlvbnMgW2xpbnNlcnQgJG9wdGlvbnMgMCAibGRmbGFncz0tV2wsLXJwYXRoLCRkaXIiXQorKyAg ICBpZiB7JGludGVycCAhPSAiIn0geworKwlzZXQgb3B0aW9ucyBbbGluc2VydCAkb3B0aW9ucyAw ICJsZGZsYWdzPS1XbCwtLWR5bmFtaWMtbGlua2VyLCRpbnRlcnAiXQorKyAgICB9CisgCisgICAg IGlmIHtbYnVpbGRfZXhlY3V0YWJsZSAkdGVzdG5hbWUgJGV4ZWN1dGFibGUgJHNvdXJjZXMgJG9w dGlvbnNdID09IC0xfSB7CisgCXJldHVybiAiIgorICAgICB9CisgCistICAgIHNldCBwcmVsaW5r X2FyZ3MgIi0tZHluYW1pYy1saW5rZXI9JGludGVycCAtLWxkLWxpYnJhcnktcGF0aD0kZGlyICRi aW5maWxlICRpbnRlcnAgW2NvbmNhdCAkZGVzdHNdIgorKyAgICBzZXQgcHJlbGlua19hcmdzICIt LWxkLWxpYnJhcnktcGF0aD0kZGlyICRiaW5maWxlIFtjb25jYXQgJGRlc3RzXSIKKysgICAgaWYg eyRpbnRlcnAgIT0gIiJ9IHsKKysJc2V0IHByZWxpbmtfYXJncyAiLS1keW5hbWljLWxpbmtlcj0k aW50ZXJwICRwcmVsaW5rX2FyZ3MgJGludGVycCIKKysgICAgfQorICAgICByZXR1cm4gJHByZWxp bmtfYXJncworIH0KKyAKK0luZGV4OiBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjMuNTAuMjAx MTA3MjIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAJMjAxMS0w Ny0wMSAyMToxMjoxMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4zLjUwLjIwMTEwNzIyL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAkyMDExLTA4LTEwIDE4OjMyOjIx LjAwMDAwMDAwMCArMDIwMAorQEAgLTEwOCwxNCArMTA4LDIwIEBAIHByb2Mgc3RyaXBfZGVidWcg e2Rlc3R9IHsKKyAgICAgfQorIH0KKyAKKysjIEZvcm1lciBzeW1ib2wgZm9yIHNvbGliIGNoYW5n ZXMgbm90aWZpY2F0aW9ucyB3YXMgX2RsX2RlYnVnX3N0YXRlLCBuZXdlciBvbmUKKysjIGlzIF9k bF9kZWJ1Z19ub3RpZnksIHRoZSByaWdodCBvbmUgb25lIHRyYXBzIGJ5IGBzZXQgc3RvcC1vbi1z b2xpYi1ldmVudHMgMScuCisrCisrc2V0IHNvbGliX2JwIHsoX2RsX2RlYnVnX3N0YXRlfF9kbF9k ZWJ1Z19ub3RpZnkpfQorKworICMgSW1wbGVtZW50YXRpb24gb2YgcmVhY2guCisgCisgcHJvYyBy ZWFjaF8xIHtmdW5jIGNvbW1hbmQgZGlzcGxhY2VtZW50fSB7CistICAgIGdsb2JhbCBnZGJfcHJv bXB0IGV4cGVjdF9vdXQKKysgICAgZ2xvYmFsIGdkYl9wcm9tcHQgZXhwZWN0X291dCBzb2xpYl9i cAorIAorLSAgICBpZiB7JGZ1bmMgPT0gIl9kbF9kZWJ1Z19zdGF0ZSJ9IHsKKysgICAgaWYgeyRm dW5jID09ICRzb2xpYl9icH0geworIAkjIEJyZWFrcG9pbnQgb24gX2RsX2RlYnVnX3N0YXRlIGNh biBoYXZlIHByb2JsZW1zIGR1ZSB0byBpdHMgb3ZlcmxhcAorIAkjIHdpdGggdGhlIGV4aXN0aW5n IGludGVybmFsIGJyZWFrcG9pbnQgZnJvbSBHREIuCisrCSMgV2l0aCBhbHNvIF9kbF9kZWJ1Z19u b3RpZnkgd2Ugd291bGQgbmVlZCBldmVuIHR3byBicmVha3BvaW50cy4KKyAJZ2RiX3Rlc3Rfbm9f b3V0cHV0ICJzZXQgc3RvcC1vbi1zb2xpYi1ldmVudHMgMSIKKyAgICAgfSBlbHNlaWYgeyEgW2dk Yl9icmVha3BvaW50ICRmdW5jIGFsbG93LXBlbmRpbmddfSB7CisgCXJldHVybgorQEAgLTE0MSwy MSArMTQ3LDIxIEBAIHByb2MgcmVhY2hfMSB7ZnVuYyBjb21tYW5kIGRpc3BsYWNlbWVudH0KKyAJ ICAgIGV4cF9jb250aW51ZQorIAl9CisgCS1yZSAiQnJlYWtwb2ludCBcWzAtOVxdKywgXFwuPyhf X0dJXyk/JGZ1bmMgXFwoLipcXCkgYXQgLio6XFswLTlcXStcclxuLiokZ2RiX3Byb21wdCAkIiB7 CistCSAgICBpZiB7JGZ1bmMgPT0gIl9kbF9kZWJ1Z19zdGF0ZSJ9IHsKKysJICAgIGlmIHskZnVu YyA9PSAkc29saWJfYnB9IHsKKyAJCWZhaWwgJHRlc3QKKyAJICAgIH0gZWxzZSB7CisgCQlwYXNz ICR0ZXN0CisgCSAgICB9CisgCX0KKyAJLXJlICJCcmVha3BvaW50IFxbMC05XF0rLCBcWzAtOXhh LWZcXSsgaW4gXFwuPyhfX0dJXyk/JGZ1bmMgXFwoXFwpLipcclxuJGdkYl9wcm9tcHQgJCIgewor LQkgICAgaWYgeyRmdW5jID09ICJfZGxfZGVidWdfc3RhdGUifSB7CisrCSAgICBpZiB7JGZ1bmMg PT0gJHNvbGliX2JwfSB7CisgCQlmYWlsICR0ZXN0CisgCSAgICB9IGVsc2UgeworIAkJcGFzcyAk dGVzdAorIAkgICAgfQorIAl9CisgCS1yZSAiU3RvcHBlZCBkdWUgdG8gc2hhcmVkIGxpYnJhcnkg ZXZlbnRcclxuJGdkYl9wcm9tcHQgJCIgeworLQkgICAgaWYgeyRmdW5jID09ICJfZGxfZGVidWdf c3RhdGUifSB7CisrCSAgICBpZiB7JGZ1bmMgPT0gJHNvbGliX2JwfSB7CisgCQlpZiB7JGRlYnVn X3N0YXRlX2NvdW50ID09IDB9IHsKKyAJCSAgICAjIEZpcnN0IHN0b3AgZG9lcyBub3QgeWV0IHJl bG9jYXRlIHRoZSBfc3RhcnQgZnVuY3Rpb24KKyAJCSAgICAjIGRlc2NyaXB0b3Igb24gcHBjNjQu CitAQCAtMTc0LDcgKzE4MCw3IEBAIHByb2MgcmVhY2hfMSB7ZnVuYyBjb21tYW5kIGRpc3BsYWNl bWVudH0KKyAJZmFpbCAkdGVzdF9kaXNwbGFjZW1lbnQKKyAgICAgfQorIAorLSAgICBpZiB7JGZ1 bmMgPT0gIl9kbF9kZWJ1Z19zdGF0ZSJ9IHsKKysgICAgaWYgeyRmdW5jID09ICRzb2xpYl9icH0g eworIAlnZGJfdGVzdF9ub19vdXRwdXQgInNldCBzdG9wLW9uLXNvbGliLWV2ZW50cyAwIgorICAg ICB9CisgfQorQEAgLTM3Myw3ICszNzksNyBAQCBwcm9jIHRlc3RfYXR0YWNoIHtmaWxlIGRpc3Bs YWNlbWVudCB7cmVsCisgfQorIAorIHByb2MgdGVzdF9sZCB7ZmlsZSBpZm1haW4gdHJ5bm9zeW0g ZGlzcGxhY2VtZW50fSB7CistICAgIGdsb2JhbCBzcmNkaXIgc3ViZGlyIGdkYl9wcm9tcHQgZXhw ZWN0X291dCBpbmZlcmlvcl9leGl0ZWRfcmUKKysgICAgZ2xvYmFsIHNyY2RpciBzdWJkaXIgZ2Ri X3Byb21wdCBleHBlY3Rfb3V0IGluZmVyaW9yX2V4aXRlZF9yZSBzb2xpYl9icAorIAorICAgICAj IEZpcnN0IHRlc3Qgbm9ybWFsIGBmaWxlJy1jb21tYW5kIGxvYWRlZCAkRklMRSB3aXRoIHN5bWJv bHMuCisgCitAQCAtNDAxLDkgKzQwNyw5IEBAIHByb2MgdGVzdF9sZCB7ZmlsZSBpZm1haW4gdHJ5 bm9zeW0gZGlzcGwKKyAJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgYXJncyAke29iamRpcn0vJHtz dWJkaXJ9LyRiaW5maWxlX3Rlc3QiICJzZXQgYXJncyBPQkpESVIvJHtzdWJkaXJ9LyRiaW5maWxl X3Rlc3QiCisgICAgIH0KKyAKKy0gICAgcmVhY2ggIl9kbF9kZWJ1Z19zdGF0ZSIgInJ1biIgJGRp c3BsYWNlbWVudAorKyAgICByZWFjaCAkc29saWJfYnAgInJ1biIgJGRpc3BsYWNlbWVudAorIAor LSAgICBnZGJfdGVzdCAiYnQiICIjMCArXFteXHJcblxdKlxcbShfX0dJXyk/X2RsX2RlYnVnX3N0 YXRlXFxNLioiICJkbCBidCIKKysgICAgZ2RiX3Rlc3QgImJ0IiAiIzAgK1xbXlxyXG5cXSpcXG0o X19HSV8pPyRzb2xpYl9icFxcTS4qIiAiZGwgYnQiCisgCisgICAgIGlmICRpZm1haW4geworIAly ZWFjaCAibWFpbiIgY29udGludWUgIk5PTkUiCitAQCAtNDE1LDcgKzQyMSw3IEBAIHByb2MgdGVz dF9sZCB7ZmlsZSBpZm1haW4gdHJ5bm9zeW0gZGlzcGwKKyAKKyAgICAgIyBUcnkgcmUtcnVuIGlm IHRoZSBuZXcgUElFIGRpc3BsYWNlbWVudCB0YWtlcyBlZmZlY3QuCisgICAgIGdkYl90ZXN0ICJr aWxsIiAiIiAia2lsbCIge0tpbGwgdGhlIHByb2dyYW0gYmVpbmcgZGVidWdnZWRcPyBcKHkgb3Ig blwpIH0gInkiCistICAgIHJlYWNoICJfZGxfZGVidWdfc3RhdGUiICJydW4iICRkaXNwbGFjZW1l bnQKKysgICAgcmVhY2ggJHNvbGliX2JwICJydW4iICRkaXNwbGFjZW1lbnQKKyAKKyAgICAgaWYg JGlmbWFpbiB7CisgCXRlc3RfY29yZSAkZmlsZSAkZGlzcGxhY2VtZW50CitAQCAtNDQ4LDcgKzQ1 NCw3IEBAIHByb2MgdGVzdF9sZCB7ZmlsZSBpZm1haW4gdHJ5bm9zeW0gZGlzcGwKKyAgICAgZ2Ri X3Rlc3QgImV4ZWMtZmlsZSAkZmlsZSIgImV4ZWMtZmlsZSAkZXNjYXBlZGZpbGUiICJsb2FkIgor IAorICAgICBpZiAkaWZtYWluIHsKKy0JcmVhY2ggIl9kbF9kZWJ1Z19zdGF0ZSIgcnVuICRkaXNw bGFjZW1lbnQKKysJcmVhY2ggJHNvbGliX2JwIHJ1biAkZGlzcGxhY2VtZW50CisgCisgCSMgVXNl IHR3byBzZXBhcmF0ZSBnZGJfdGVzdF9tdWx0aXBsZSBzdGF0ZW1lbnRzIHRvIGF2b2lkIHRpbWVv dXRzIGR1ZQorIAkjIHRvIHNsb3cgcHJvY2Vzc2luZyBvZiB3aWxkY2FyZCBjYXB0dXJpbmcgbG9u ZyBvdXRwdXQKCmRpZmYgLS1naXQgYS9nZGItZGxvcGVuLXN0YXAtcHJvYmUucGF0Y2ggYi9nZGIt ZGxvcGVuLXN0YXAtcHJvYmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uNTM1MjI5OQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1kbG9wZW4tc3RhcC1wcm9iZS5wYXRj aApAQCAtMCwwICsxLDM1OCBAQAorRnJvbTogR2FyeSBCZW5zb24gPGdiZW5zb25AcmVkaGF0LmNv bT4KK1RvOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KK01lc3Nh Z2UtSUQ6IDwyMDExMDgxMDEzMzYwNS5HQjcyOTRAcmVkaGF0LmNvbT4KKworZGlmZiAtLWdpdCBh L2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYworaW5kZXggNDI5NmQzYS4uZmQ1ZTljMyAxMDA2 NDQKKy0tLSBhL2dkYi9pbmZydW4uYworKysrIGIvZ2RiL2luZnJ1bi5jCitAQCAtMzIxLDYgKzMy MywxMyBAQCBzdGF0aWMgc3RydWN0IHN5bWJvbCAqc3RlcF9zdGFydF9mdW5jdGlvbjsKKyAvKiBO b256ZXJvIGlmIHdlIHdhbnQgdG8gZ2l2ZSBjb250cm9sIHRvIHRoZSB1c2VyIHdoZW4gd2UncmUg bm90aWZpZWQKKyAgICBvZiBzaGFyZWQgbGlicmFyeSBldmVudHMgYnkgdGhlIGR5bmFtaWMgbGlu a2VyLiAgKi8KKyBpbnQgc3RvcF9vbl9zb2xpYl9ldmVudHM7CisrCisrc3RhdGljIHZvaWQKKytz ZXRfc3RvcF9vbl9zb2xpYl9ldmVudHMgKGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSwgc3RydWN0 IGNtZF9saXN0X2VsZW1lbnQgKmMpCisreworKyAgdXBkYXRlX3NvbGliX2JyZWFrcG9pbnRzICgp OworK30gCisrCisgc3RhdGljIHZvaWQKKyBzaG93X3N0b3Bfb25fc29saWJfZXZlbnRzIChzdHJ1 Y3QgdWlfZmlsZSAqZmlsZSwgaW50IGZyb21fdHR5LAorIAkJCSAgIHN0cnVjdCBjbWRfbGlzdF9l bGVtZW50ICpjLCBjb25zdCBjaGFyICp2YWx1ZSkKK0BAIC03MTUzLDcgKzcxNjIsNyBAQCBTaG93 IHN0b3BwaW5nIGZvciBzaGFyZWQgbGlicmFyeSBldmVudHMuIiksIF8oIlwKKyBJZiBub256ZXJv LCBnZGIgd2lsbCBnaXZlIGNvbnRyb2wgdG8gdGhlIHVzZXIgd2hlbiB0aGUgZHluYW1pYyBsaW5r ZXJcblwKKyBub3RpZmllcyBnZGIgb2Ygc2hhcmVkIGxpYnJhcnkgZXZlbnRzLiAgVGhlIG1vc3Qg Y29tbW9uIGV2ZW50IG9mIGludGVyZXN0XG5cCisgdG8gdGhlIHVzZXIgd291bGQgYmUgbG9hZGlu Zy91bmxvYWRpbmcgb2YgYSBuZXcgbGlicmFyeS4iKSwKKy0JCQkgICAgTlVMTCwKKysJCQkgICAg c2V0X3N0b3Bfb25fc29saWJfZXZlbnRzLAorIAkJCSAgICBzaG93X3N0b3Bfb25fc29saWJfZXZl bnRzLAorIAkJCSAgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKKyAKK2RpZmYgLS1naXQgYS9nZGIv c29saWItc3ZyNC5jIGIvZ2RiL3NvbGliLXN2cjQuYworaW5kZXggZGZmYzYyMS4uNzNjYmUxYyAx MDA2NDQKKy0tLSBhL2dkYi9zb2xpYi1zdnI0LmMKKysrKyBiL2dkYi9zb2xpYi1zdnI0LmMKK0BA IC00OCw2ICs0OCw4IEBACisgI2luY2x1ZGUgImF1eHYuaCIKKyAjaW5jbHVkZSAiZXhjZXB0aW9u cy5oIgorIAorKyNpbmNsdWRlICJzdGFwLXByb2JlLmgiCisrCisgc3RhdGljIHN0cnVjdCBsaW5r X21hcF9vZmZzZXRzICpzdnI0X2ZldGNoX2xpbmtfbWFwX29mZnNldHMgKHZvaWQpOworIHN0YXRp YyBpbnQgc3ZyNF9oYXZlX2xpbmtfbWFwX29mZnNldHMgKHZvaWQpOworIHN0YXRpYyB2b2lkIHN2 cjRfcmVsb2NhdGVfbWFpbl9leGVjdXRhYmxlICh2b2lkKTsKK0BAIC05Miw2ICs5NCwzMiBAQCBz dGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNvbGliX2JyZWFrX25hbWVzW10gPQorICAgTlVMTAor IH07CisgCisrLyogQSBsaXN0IG9mIFN5c3RlbVRhcCBwcm9iZXMgd2hpY2gsIGlmIHByZXNlbnQg aW4gdGhlIGR5bmFtaWMgbGlua2VyLAorKyAgIGFsbG93IG1vcmUgZmluZS1ncmFpbmVkIGJyZWFr cG9pbnRzIHRvIGJlIHBsYWNlZCBvbiBzaGFyZWQgbGlicmFyeQorKyAgIGV2ZW50cy4gICovCisr Cisrc3RydWN0IHByb2JlX2luZm8KKysgIHsKKysgICAgLyogVGhlIG5hbWUgb2YgdGhlIHByb2Jl LiAgKi8KKysgICAgY29uc3QgY2hhciAqbmFtZTsKKysKKysgICAgLyogTm9uemVybyBpZiB0aGlz IHByb2JlIG11c3QgYmUgc3RvcHBlZCBhdCBldmVuIHdoZW4KKysgICAgICAgc3RvcC1vbi1zb2xp Yi1ldmVudHMgaXMgb2ZmLiAgKi8KKysgICAgaW50IG1hbmRhdG9yeTsKKysgIH07CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBwcm9iZV9pbmZvIHByb2JlX2luZm9bXSA9CisreworKyAgeyJydGxk X2luaXRfc3RhcnQiLCAwfSwKKysgIHsicnRsZF9pbml0X2NvbXBsZXRlIiwgMX0sCisrICB7InJ0 bGRfbWFwX3N0YXJ0IiwgMH0sCisrICB7InJ0bGRfcmVsb2NfY29tcGxldGUiLCAxfSwKKysgIHsi cnRsZF91bm1hcF9zdGFydCIsIDB9LAorKyAgeyJydGxkX3VubWFwX2NvbXBsZXRlIiwgMX0sCisr fTsKKysKKysjZGVmaW5lIE5VTV9QUk9CRVMgKHNpemVvZihwcm9iZV9pbmZvKSAvIHNpemVvZihw cm9iZV9pbmZvWzBdKSkKKysKKyBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGJrcHRfbmFtZXNb XSA9CisgeworICAgIl9zdGFydCIsCitAQCAtMzM1LDYgKzM2MywxMiBAQCBzdHJ1Y3Qgc3ZyNF9p bmZvCisgICBDT1JFX0FERFIgaW50ZXJwX3RleHRfc2VjdF9oaWdoOworICAgQ09SRV9BRERSIGlu dGVycF9wbHRfc2VjdF9sb3c7CisgICBDT1JFX0FERFIgaW50ZXJwX3BsdF9zZWN0X2hpZ2g7Cisr CisrICAvKiBTeXN0ZW1UYXAgcHJvYmVzLiAgKi8KKysgIFZFQyAoc3RhcF9wcm9iZV9wKSAqcHJv YmVzW05VTV9QUk9CRVNdOworKworKyAgLyogTm9uemVybyBpZiB3ZSBhcmUgdXNpbmcgdGhlIFN5 c3RlbVRhcCBpbnRlcmZhY2UuICAqLworKyAgaW50IHVzaW5nX3Byb2JlczsKKyB9OworIAorIC8q IFBlci1wcm9ncmFtLXNwYWNlIGRhdGEga2V5LiAgKi8KK0BAIC0zNDQsOCArMzc4LDE1IEBAIHN0 YXRpYyB2b2lkCisgc3ZyNF9wc3BhY2VfZGF0YV9jbGVhbnVwIChzdHJ1Y3QgcHJvZ3JhbV9zcGFj ZSAqcHNwYWNlLCB2b2lkICphcmcpCisgeworICAgc3RydWN0IHN2cjRfaW5mbyAqaW5mbzsKKysg IGludCBpOworIAorICAgaW5mbyA9IHByb2dyYW1fc3BhY2VfZGF0YSAocHNwYWNlLCBzb2xpYl9z dnI0X3BzcGFjZV9kYXRhKTsKKysgIGlmIChpbmZvID09IE5VTEwpCisrICAgIHJldHVybjsKKysK KysgIGZvciAoaSA9IDA7IGkgPCBOVU1fUFJPQkVTOyBpKyspCisrICAgIFZFQ19mcmVlIChzdGFw X3Byb2JlX3AsIGluZm8tPnByb2Jlc1tpXSk7CisrCisgICB4ZnJlZSAoaW5mbyk7CisgfQorIAor QEAgLTEzMjEsNiArMTM2MiwxMjYgQEAgZXhlY19lbnRyeV9wb2ludCAoc3RydWN0IGJmZCAqYWJm ZCwgc3RydWN0IHRhcmdldF9vcHMgKnRhcmcpCisgCQkJCQkgICAgIHRhcmcpOworIH0KKyAKKysv KiBIZWxwZXIgZnVuY3Rpb24gZm9yIHN2cjRfdXBkYXRlX3NvbGliX2V2ZW50X2JyZWFrcG9pbnRz LiAgKi8KKysKKytzdGF0aWMgaW50Cisrc3ZyNF91cGRhdGVfc29saWJfZXZlbnRfYnJlYWtwb2lu dCAoc3RydWN0IGJyZWFrcG9pbnQgKmIsIHZvaWQgKmFyZykKKyt7CisrICBzdHJ1Y3Qgc3ZyNF9p bmZvICppbmZvID0gZ2V0X3N2cjRfaW5mbyAoKTsKKysgIHN0cnVjdCBicF9sb2NhdGlvbiAqbG9j OworKworKyAgaWYgKGItPnR5cGUgIT0gYnBfc2hsaWJfZXZlbnQpCisrICAgIHJldHVybiAwOwor KworKyAgZm9yIChsb2MgPSBiLT5sb2M7IGxvYzsgbG9jID0gbG9jLT5uZXh0KQorKyAgICB7Cisr ICAgICAgaW50IGk7CisrCisrICAgICAgZm9yIChpID0gMDsgaSA8IE5VTV9QUk9CRVM7IGkrKykK KysJeworKwkgIGlmICghcHJvYmVfaW5mb1tpXS5tYW5kYXRvcnkpCisrCSAgICB7CisrCSAgICAg IGNvbnN0IHN0cnVjdCBzdGFwX3Byb2JlICpwcm9iZTsKKysJICAgICAgaW50IGl4OworKworKwkg ICAgICBmb3IgKGl4ID0gMDsKKysJCSAgIFZFQ19pdGVyYXRlIChzdGFwX3Byb2JlX3AsIGluZm8t PnByb2Jlc1tpXSwgaXgsIHByb2JlKTsKKysJCSAgICsraXgpCisrCQl7CisrCQkgIGlmIChsb2Mt PnBzcGFjZSA9PSBjdXJyZW50X3Byb2dyYW1fc3BhY2UKKysJCSAgICAgICYmIGxvYy0+YWRkcmVz cyA9PSBwcm9iZS0+YWRkcmVzcykKKysJCSAgICB7CisrCQkgICAgICBiLT5lbmFibGVfc3RhdGUg PQorKwkJCXN0b3Bfb25fc29saWJfZXZlbnRzID8gYnBfZW5hYmxlZCA6IGJwX2Rpc2FibGVkOwor KwkJICAgICAgcmV0dXJuIDA7CisrCQkgICAgfQorKwkJfQorKwkgICAgfQorKwl9CisrICAgIH0K KysKKysgIHJldHVybiAwOworK30KKysKKysvKiBFbmFibGUgb3IgZGlzYWJsZSBvcHRpb25hbCBz b2xpYiBldmVudCBicmVha3BvaW50cyBhcyBhcHByb3ByaWF0ZS4KKysgICBDYWxsZWQgd2hlbmV2 ZXIgc3RvcF9vbl9zb2xpYl9ldmVudHMgaXMgY2hhbmdlZC4gICovCisrCisrc3RhdGljIHZvaWQK KytzdnI0X3VwZGF0ZV9zb2xpYl9ldmVudF9icmVha3BvaW50cyAodm9pZCkKKyt7CisrICBzdHJ1 Y3Qgc3ZyNF9pbmZvICppbmZvID0gZ2V0X3N2cjRfaW5mbyAoKTsKKysKKysgIGlmIChpbmZvLT51 c2luZ19wcm9iZXMpCisrICAgIGl0ZXJhdGVfb3Zlcl9icmVha3BvaW50cyAoc3ZyNF91cGRhdGVf c29saWJfZXZlbnRfYnJlYWtwb2ludCwgTlVMTCk7CisrfQorKworKy8qIEJvdGggdGhlIFN1bk9T IGFuZCB0aGUgU1ZSNCBkeW5hbWljIGxpbmtlcnMgY2FsbCBhIG1hcmtlciBmdW5jdGlvbgorKyAg IGJlZm9yZSBhbmQgYWZ0ZXIgbWFwcGluZyBhbmQgdW5tYXBwaW5nIHNoYXJlZCBsaWJyYXJpZXMu ICBUaGUgc29sZQorKyAgIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gYWxsb3cgZGVidWdn ZXJzIHRvIHNldCBhIGJyZWFrcG9pbnQgc28KKysgICB0aGV5IGNhbiB0cmFjayB0aGVzZSBjaGFu Z2VzLgorKworKyAgIFNvbWUgdmVyc2lvbnMgb2YgdGhlIGdsaWJjIGR5bmFtaWMgbGlua2VyIGNv bnRhaW4gU3lzdGVtVGFwIHByb2JlcworKyAgIHRvIGFsbG93IG1vcmUgZmluZSBncmFpbmVkIHN0 b3BwaW5nLiAgR2l2ZW4gdGhlIGFkZHJlc3Mgb2YgdGhlCisrICAgb3JpZ2luYWwgbWFya2VyIGZ1 bmN0aW9uLCB0aGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGZpbmQgdGhlc2UKKysgICBwcm9iZXMs IGFuZCBpZiBmb3VuZCwgc2V0cyBicmVha3BvaW50cyBvbiB0aG9zZSBpbnN0ZWFkLiAgSWYgdGhl CisrICAgcHJvYmVzIGFyZW4ndCBmb3VuZCwgYSBzaW5nbGUgYnJlYWtwb2ludCBpcyBzZXQgb24g dGhlIG9yaWdpbmFsCisrICAgU1ZSNCBtYXJrZXIgZnVuY3Rpb24uICAqLworKworK3N0YXRpYyB2 b2lkCisrc3ZyNF9jcmVhdGVfc29saWJfZXZlbnRfYnJlYWtwb2ludHMgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBDT1JFX0FERFIgYWRkcmVzcykKKyt7CisrICBzdHJ1Y3Qgc3ZyNF9pbmZvICpp bmZvID0gZ2V0X3N2cjRfaW5mbyAoKTsKKysgIHN0cnVjdCBvYmpfc2VjdGlvbiAqb3M7CisrCisr ICBvcyA9IGZpbmRfcGNfc2VjdGlvbiAoYWRkcmVzcyk7CisrICBpZiAob3MgIT0gTlVMTCkKKysg ICAgeworKyAgICAgIGludCBhbGxfcHJvYmVzX2ZvdW5kID0gMTsKKysgICAgICBpbnQgaTsKKysK KysgICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX1BST0JFUzsgaSsrKQorKwl7CisrCSAgaW5mby0+ cHJvYmVzW2ldID0gZmluZF9wcm9iZXNfaW5fb2JqZmlsZSAob3MtPm9iamZpbGUsICJydGxkIiwK KysJCQkJCQkgICAgcHJvYmVfaW5mb1tpXS5uYW1lKTsKKysKKysJICBpZiAoIVZFQ19sZW5ndGgo c3RhcF9wcm9iZV9wLCBpbmZvLT5wcm9iZXNbaV0pKQorKwkgICAgeworKwkgICAgICBpbnQgajsK KysKKysJICAgICAgZm9yIChqID0gaSAtIDE7IGogPj0gMDsgai0tKQorKwkJeworKwkJICBWRUNf ZnJlZSAoc3RhcF9wcm9iZV9wLCBpbmZvLT5wcm9iZXNbal0pOworKwkJICBpbmZvLT5wcm9iZXNb al0gPSBOVUxMOworKwkJfQorKworKwkgICAgICBhbGxfcHJvYmVzX2ZvdW5kID0gMDsKKysJICAg ICAgYnJlYWs7CisrCSAgICB9CisrCX0KKysKKysgICAgICBpZiAoYWxsX3Byb2Jlc19mb3VuZCkK KysJeworKwkgIGluZm8tPnVzaW5nX3Byb2JlcyA9IDE7CisrCisrCSAgZm9yIChpID0gMDsgaSA8 IE5VTV9QUk9CRVM7IGkrKykKKysJICAgIHsKKysJICAgICAgY29uc3Qgc3RydWN0IHN0YXBfcHJv YmUgKnByb2JlOworKwkgICAgICBpbnQgaXg7CisrCisrCSAgICAgIGZvciAoaXggPSAwOworKwkJ ICAgVkVDX2l0ZXJhdGUgKHN0YXBfcHJvYmVfcCwgaW5mby0+cHJvYmVzW2ldLCBpeCwgcHJvYmUp OworKwkJICAgKytpeCkKKysJCWNyZWF0ZV9zb2xpYl9ldmVudF9icmVha3BvaW50IChnZGJhcmNo LCBwcm9iZS0+YWRkcmVzcyk7CisrCSAgICB9CisrCisrCSAgc3ZyNF91cGRhdGVfc29saWJfZXZl bnRfYnJlYWtwb2ludHMgKCk7CisrCSAgcmV0dXJuOworKwl9CisrICAgIH0KKysKKysgIGNyZWF0 ZV9zb2xpYl9ldmVudF9icmVha3BvaW50IChnZGJhcmNoLCBhZGRyZXNzKTsKKyt9CisrCisgLyoK KyAKKyAgICBMT0NBTCBGVU5DVElPTgorQEAgLTEzNzIsMTAgKzE1MzMsMTggQEAgZW5hYmxlX2Jy ZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBpbnQgZnJvbV90dHkpCisgICBhc2VjdGlvbiAq aW50ZXJwX3NlY3Q7CisgICBnZGJfYnl0ZSAqaW50ZXJwX25hbWU7CisgICBDT1JFX0FERFIgc3lt X2FkZHI7CisrICBpbnQgaTsKKyAKKyAgIGluZm8tPmludGVycF90ZXh0X3NlY3RfbG93ID0gaW5m by0+aW50ZXJwX3RleHRfc2VjdF9oaWdoID0gMDsKKyAgIGluZm8tPmludGVycF9wbHRfc2VjdF9s b3cgPSBpbmZvLT5pbnRlcnBfcGx0X3NlY3RfaGlnaCA9IDA7CisgCisrICBmb3IgKGkgPSAwOyBp IDwgTlVNX1BST0JFUzsgaSsrKQorKyAgICB7CisrICAgICAgVkVDX2ZyZWUgKHN0YXBfcHJvYmVf cCwgaW5mby0+cHJvYmVzW2ldKTsKKysgICAgICBpbmZvLT5wcm9iZXNbaV0gPSBOVUxMOworKyAg ICB9CisrICBpbmZvLT51c2luZ19wcm9iZXMgPSAwOworKworICAgLyogSWYgd2UgYWxyZWFkeSBo YXZlIGEgc2hhcmVkIGxpYnJhcnkgbGlzdCBpbiB0aGUgdGFyZ2V0LCBhbmQKKyAgICAgIHJfZGVi dWcgY29udGFpbnMgcl9icmssIHNldCB0aGUgYnJlYWtwb2ludCB0aGVyZSAtIHRoaXMgc2hvdWxk CisgICAgICBtZWFuIHJfYnJrIGhhcyBhbHJlYWR5IGJlZW4gcmVsb2NhdGVkLiAgQXNzdW1lIHRo ZSBkeW5hbWljIGxpbmtlcgorQEAgLTE0MDcsNyArMTU3Niw3IEBAIGVuYWJsZV9icmVhayAoc3Ry dWN0IHN2cjRfaW5mbyAqaW5mbywgaW50IGZyb21fdHR5KQorIAkgVGhhdCBrbm93bGVkZ2UgaXMg ZW5jb2RlZCBpbiB0aGUgYWRkcmVzcywgaWYgaXQncyBUaHVtYiB0aGUgbG93IGJpdAorIAkgaXMg MS4gIEhvd2V2ZXIsIHdlJ3ZlIHN0cmlwcGVkIHRoYXQgaW5mbyBhYm92ZSBhbmQgaXQncyBub3Qg Y2xlYXIKKyAJIHdoYXQgYWxsIHRoZSBjb25zZXF1ZW5jZXMgYXJlIG9mIHBhc3NpbmcgYSBub24t YWRkcl9iaXRzX3JlbW92ZSdkCistCSBhZGRyZXNzIHRvIGNyZWF0ZV9zb2xpYl9ldmVudF9icmVh a3BvaW50LiAgVGhlIGNhbGwgdG8KKysJIGFkZHJlc3MgdG8gc3ZyNF9jcmVhdGVfc29saWJfZXZl bnRfYnJlYWtwb2ludHMuICBUaGUgY2FsbCB0bworIAkgZmluZF9wY19zZWN0aW9uIHZlcmlmaWVz IHdlIGtub3cgYWJvdXQgdGhlIGFkZHJlc3MgYW5kIGhhdmUgc29tZQorIAkgaG9wZSBvZiBjb21w dXRpbmcgdGhlIHJpZ2h0IGtpbmQgb2YgYnJlYWtwb2ludCB0byB1c2UgKHZpYQorIAkgc3ltYm9s IGluZm8pLiAgSXQgZG9lcyBtZWFuIHRoYXQgR0RCIG5lZWRzIHRvIGJlIHBvaW50ZWQgYXQgYQor QEAgLTE0NDUsNyArMTYxNCw3IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5m bywgaW50IGZyb21fdHR5KQorIAkJKyBiZmRfc2VjdGlvbl9zaXplICh0bXBfYmZkLCBpbnRlcnBf c2VjdCk7CisgCSAgICB9CisgCistCSAgY3JlYXRlX3NvbGliX2V2ZW50X2JyZWFrcG9pbnQgKHRh cmdldF9nZGJhcmNoLCBzeW1fYWRkcik7CisrCSAgc3ZyNF9jcmVhdGVfc29saWJfZXZlbnRfYnJl YWtwb2ludHMgKHRhcmdldF9nZGJhcmNoLCBzeW1fYWRkcik7CisgCSAgcmV0dXJuIDE7CisgCX0K KyAgICAgfQorQEAgLTE1OTksNyArMTc2OCw4IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRf aW5mbyAqaW5mbywgaW50IGZyb21fdHR5KQorIAorICAgICAgIGlmIChzeW1fYWRkciAhPSAwKQor IAl7CistCSAgY3JlYXRlX3NvbGliX2V2ZW50X2JyZWFrcG9pbnQgKHRhcmdldF9nZGJhcmNoLCBs b2FkX2FkZHIgKyBzeW1fYWRkcik7CisrCSAgc3ZyNF9jcmVhdGVfc29saWJfZXZlbnRfYnJlYWtw b2ludHMgKHRhcmdldF9nZGJhcmNoLAorKwkJCQkJICAgICAgIGxvYWRfYWRkciArIHN5bV9hZGRy KTsKKyAJICB4ZnJlZSAoaW50ZXJwX25hbWUpOworIAkgIHJldHVybiAxOworIAl9CitAQCAtMTYy NSw3ICsxNzk1LDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBpbnQg ZnJvbV90dHkpCisgCSAgc3ltX2FkZHIgPSBnZGJhcmNoX2NvbnZlcnRfZnJvbV9mdW5jX3B0cl9h ZGRyICh0YXJnZXRfZ2RiYXJjaCwKKyAJCQkJCQkJIHN5bV9hZGRyLAorIAkJCQkJCQkgJmN1cnJl bnRfdGFyZ2V0KTsKKy0JICBjcmVhdGVfc29saWJfZXZlbnRfYnJlYWtwb2ludCAodGFyZ2V0X2dk YmFyY2gsIHN5bV9hZGRyKTsKKysJICBzdnI0X2NyZWF0ZV9zb2xpYl9ldmVudF9icmVha3BvaW50 cyAodGFyZ2V0X2dkYmFyY2gsIHN5bV9hZGRyKTsKKyAJICByZXR1cm4gMTsKKyAJfQorICAgICB9 CitAQCAtMTY0MSw3ICsxODExLDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICpp bmZvLCBpbnQgZnJvbV90dHkpCisgCSAgICAgIHN5bV9hZGRyID0gZ2RiYXJjaF9jb252ZXJ0X2Zy b21fZnVuY19wdHJfYWRkciAodGFyZ2V0X2dkYmFyY2gsCisgCQkJCQkJCSAgICAgc3ltX2FkZHIs CisgCQkJCQkJCSAgICAgJmN1cnJlbnRfdGFyZ2V0KTsKKy0JICAgICAgY3JlYXRlX3NvbGliX2V2 ZW50X2JyZWFrcG9pbnQgKHRhcmdldF9nZGJhcmNoLCBzeW1fYWRkcik7CisrCSAgICAgIHN2cjRf Y3JlYXRlX3NvbGliX2V2ZW50X2JyZWFrcG9pbnRzICh0YXJnZXRfZ2RiYXJjaCwgc3ltX2FkZHIp OworIAkgICAgICByZXR1cm4gMTsKKyAJICAgIH0KKyAJfQorQEAgLTI0NzAsNCArMjY0MCw1IEBA IF9pbml0aWFsaXplX3N2cjRfc29saWIgKHZvaWQpCisgICBzdnI0X3NvX29wcy5sb29rdXBfbGli X2dsb2JhbF9zeW1ib2wgPSBlbGZfbG9va3VwX2xpYl9zeW1ib2w7CisgICBzdnI0X3NvX29wcy5z YW1lID0gc3ZyNF9zYW1lOworICAgc3ZyNF9zb19vcHMua2VlcF9kYXRhX2luX2NvcmUgPSBzdnI0 X2tlZXBfZGF0YV9pbl9jb3JlOworKyAgc3ZyNF9zb19vcHMudXBkYXRlX2JyZWFrcG9pbnRzID0g c3ZyNF91cGRhdGVfc29saWJfZXZlbnRfYnJlYWtwb2ludHM7CisgfQorZGlmZiAtLWdpdCBhL2dk Yi9zb2xpYi5jIGIvZ2RiL3NvbGliLmMKK2luZGV4IDMyOTZlZDQuLjdiYTcwY2UgMTAwNjQ0Cist LS0gYS9nZGIvc29saWIuYworKysrIGIvZ2RiL3NvbGliLmMKK0BAIC0xMzEzLDYgKzEzMTMsMTgg QEAgbm9fc2hhcmVkX2xpYnJhcmllcyAoY2hhciAqaWdub3JlZCwgaW50IGZyb21fdHR5KQorICAg b2JqZmlsZV9wdXJnZV9zb2xpYnMgKCk7CisgfQorIAorKy8qIEVuYWJsZSBvciBkaXNhYmxlIG9w dGlvbmFsIHNvbGliIGV2ZW50IGJyZWFrcG9pbnRzIGFzIGFwcHJvcHJpYXRlLiAgKi8KKysKKyt2 b2lkCisrdXBkYXRlX3NvbGliX2JyZWFrcG9pbnRzICh2b2lkKQorK3sKKysgIHN0cnVjdCB0YXJn ZXRfc29fb3BzICpvcHMgPSBzb2xpYl9vcHMgKHRhcmdldF9nZGJhcmNoKTsKKysKKysgIGlmIChv cHMtPnVwZGF0ZV9icmVha3BvaW50cyAhPSBOVUxMKQorKyAgICBvcHMtPnVwZGF0ZV9icmVha3Bv aW50cyAoKTsKKyt9CisrICAKKysKKyAvKiBSZWxvYWQgc2hhcmVkIGxpYnJhcmllcywgYnV0IGF2 b2lkIHJlbG9hZGluZyB0aGUgc2FtZSBzeW1ib2wgZmlsZQorICAgIHdlIGFscmVhZHkgaGF2ZSBs b2FkZWQuICAqLworIAorZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi5oIGIvZ2RiL3NvbGliLmgKK2lu ZGV4IGM0NzNkODUuLjdiMzg4MWMgMTAwNjQ0CistLS0gYS9nZGIvc29saWIuaAorKysrIGIvZ2Ri L3NvbGliLmgKK0BAIC03OCw0ICs3OCw4IEBAIGV4dGVybiB2b2lkIHNldF9zb2xpYl9vcHMgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorIAorIGV4dGVybiBpbnQgbGlicHRocmVhZF9uYW1lX3Ag KGNvbnN0IGNoYXIgKm5hbWUpOworIAorKy8qIEVuYWJsZSBvciBkaXNhYmxlIG9wdGlvbmFsIHNv bGliIGV2ZW50IGJyZWFrcG9pbnRzIGFzIGFwcHJvcHJpYXRlLiAgKi8KKysKKytleHRlcm4gdm9p ZCB1cGRhdGVfc29saWJfYnJlYWtwb2ludHMgKHZvaWQpOworKworICNlbmRpZiAvKiBTT0xJQl9I ICovCitkaWZmIC0tZ2l0IGEvZ2RiL3NvbGlzdC5oIGIvZ2RiL3NvbGlzdC5oCitpbmRleCBkYWQx MWJlLi4xNGVkZTEwIDEwMDY0NAorLS0tIGEvZ2RiL3NvbGlzdC5oCisrKysgYi9nZGIvc29saXN0 LmgKK0BAIC0xMzcsNiArMTM3LDEzIEBAIHN0cnVjdCB0YXJnZXRfc29fb3BzCisgICAgICAgIGNv cmUgZmlsZSAoaW4gcGFydGljdWxhciwgZm9yIHJlYWRvbmx5IHNlY3Rpb25zKS4gICovCisgICAg IGludCAoKmtlZXBfZGF0YV9pbl9jb3JlKSAoQ09SRV9BRERSIHZhZGRyLAorIAkJCSAgICAgIHVu c2lnbmVkIGxvbmcgc2l6ZSk7CisrCisrICAgIC8qIEVuYWJsZSBvciBkaXNhYmxlIG9wdGlvbmFs IHNvbGliIGV2ZW50IGJyZWFrcG9pbnRzIGFzCisrICAgICAgIGFwcHJvcHJpYXRlLiAgVGhpcyBz aG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyCisrICAgICAgIHN0b3Bfb25fc29saWJfZXZlbnRzIGlz IGNoYW5nZWQuICBUaGlzIHBvaW50ZXIgY2FuIGJlCisrICAgICAgIE5VTEwsIGluIHdoaWNoIGNh c2Ugbm8gZW5hYmxpbmcgb3IgZGlzYWJsaW5nIGlzIG5lY2Vzc2FyeQorKyAgICAgICBmb3IgdGhp cyB0YXJnZXQuICAqLworKyAgICB2b2lkICgqdXBkYXRlX2JyZWFrcG9pbnRzKSAodm9pZCk7Cisg ICB9OworIAorIC8qIEZyZWUgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggYSAoc29fbGlzdCAq KS4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBjYTAzZjkzLi4y YzE1YTA2IDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMjcsNyArMjcs NyBAQCBWZXJzaW9uOiA3LjMuNTAuMjAxMTA3MjIKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29u dGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3Ry ZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNp ZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiA0JXs/X3dpdGhfdXBzdHJl YW06LnVwc3RyZWFtfSV7P2Rpc3R9CitSZWxlYXNlOiA1JXs/X3dpdGhfdXBzdHJlYW06LnVwc3Ry ZWFtfSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9u cyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BM djIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dl cnMKQEAgLTUzMyw2ICs1MzMsMTAgQEAgUGF0Y2g1Nzk6IGdkYi03LjIuNTAtc3BhcmMtYWRkLXdv cmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCiAjIEltcHJvdmUgR0RCIHBlcmZv cm1hbmNlIG9uIGluZmVyaW9yIGRsb3BlbiBjYWxscyAoR2FyeSBCZW5zb24sIEJaIDY5ODAwMSku CiBQYXRjaDYxNzogZ2RiLWRsb3Blbi1za2lwX2lubGluZV9mcmFtZXMtcGVyZi5wYXRjaAogCisj IEZpeCBkbG9wZW4gb2YgbGlicHRocmVhZC5zbywgcGF0Y2hlZCBnbGliYyByZXF1aXJlZCAoR2Fy eSBCZW5zb24sIEJaIDY2OTQzMikuCitQYXRjaDYxODogZ2RiLWRsb3Blbi1zdGFwLXByb2JlLnBh dGNoCitQYXRjaDYxOTogZ2RiLWRsb3Blbi1zdGFwLXByb2JlLXRlc3QucGF0Y2gKKwogQnVpbGRS ZXF1aXJlczogbmN1cnNlcy1kZXZlbCV7P19pc2F9IHRleGluZm8gZ2V0dGV4dCBmbGV4IGJpc29u IGV4cGF0LWRldmVsJXs/X2lzYX0KICMgLS13aXRob3V0LXN5c3RlbS1yZWFkbGluZQogIyBSZXF1 aXJlczogcmVhZGxpbmUlez9faXNhfQpAQCAtNzk1LDYgKzc5OSw4IEBAIHJtIC1mIGdkYi9qdi1l eHAuYyBnZGIvbTItZXhwLmMgZ2RiL29iamMtZXhwLmMgZ2RiL3AtZXhwLmMKICVwYXRjaDU1NiAt cDEKICVwYXRjaDU3OSAtcDEKICVwYXRjaDYxNyAtcDEKKyVwYXRjaDYxOCAtcDEKKyVwYXRjaDYx OSAtcDEKIAogJXBhdGNoMzkzIC1wMQogJXBhdGNoMzM1IC1wMQpAQCAtMTIxNyw2ICsxMjIzLDkg QEAgZmkKICV7X2luZm9kaXJ9L2dkYi5pbmZvKgogCiAlY2hhbmdlbG9nCisqIFdlZCBBdWcgMTAg MjAxMSBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjMuNTAu MjAxMTA3MjItNS5mYzE2CistIEZpeCBkbG9wZW4gb2YgbGlicHRocmVhZC5zbywgcGF0Y2hlZCBn bGliYyByZXF1aXJlZCAoR2FyeSBCZW5zb24sIEJaIDY2OTQzMikuCisKICogVHVlIEF1ZyAgOSAy MDExIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMy41MC4y MDExMDcyMi00LmZjMTYKIC0gSW1wcm92ZSBHREIgcGVyZm9ybWFuY2Ugb24gaW5mZXJpb3IgZGxv cGVuIGNhbGxzIChHYXJ5IEJlbnNvbiwgQlogNjk4MDAxKS4KIC0gW3B5dGhvbl0gRml4IGNyYXNo IHdoZW4gcHJldHR5IHByaW50ZXIgZmFpbHMgKFBoaWwgTXVsZG9vbiwgQlogNzEyNzE1KS4K