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: =?utf-8?b?QWxleGFuZHJhIEjDoWprb3bDoSA8YWhhamtvdmFAcmVkaGF0LmNvbT4=?= To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Backport test for RHBZ 1976887 (Kevin Buettner). Date: Thu, 23 Jul 2026 18:34:33 GMT Message-ID: <178483167340.1.339427869880941524.rpms-gdb-002d74553867@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 002d74553867daac37f7b6d7e6f5522a32b58d1b QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogMDAyZDc0NTUzODY3ZGFhYzM3ZjdiNmQ3ZTZmNTUyMmEz MmI1OGQxYgpBdXRob3IgOiBBbGV4YW5kcmEgSMOhamtvdsOhIDxhaGFqa292YUByZWRoYXQuY29t PgpEYXRlICAgOiAyMDIxLTA5LTMwVDEzOjE1OjI4KzAyOjAwClN0YXRzICA6ICs2MDAvLTAgaW4g NSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2Ri L2MvMDAyZDc0NTUzODY3ZGFhYzM3ZjdiNmQ3ZTZmNTUyMmEzMmI1OGQxYj9icmFuY2g9Zml4LWR1 cC1wYXRjaAoKTG9nOgpCYWNrcG9ydCB0ZXN0IGZvciBSSEJaIDE5NzY4ODcgKEtldmluIEJ1ZXR0 bmVyKS4KCi0tLQpkaWZmIC0tZ2l0IGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUgYi9fZ2RiLnNw ZWMuUGF0Y2guaW5jbHVkZQppbmRleCBmNGM1NmM0Li40MDI1NmY4IDEwMDY0NAotLS0gYS9fZ2Ri LnNwZWMuUGF0Y2guaW5jbHVkZQorKysgYi9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQpAQCAtNDE1 LDMgKzQxNSw2IEBAIFBhdGNoMTAwOiBnZGItcmhiejE5NzA3NDEtZWFybHktZXhpdC1mb3ItZW1w dHktZGVidWdpbmZvZC11cmwucGF0Y2gKICN0eXBlIGZpZWxkIGxvY2F0aW9uIGtpbmQgKFJIQlog MTk3Njg4NykuCiBQYXRjaDEwMTogZ2RiLXJoYnoxOTc2ODg3LWZpZWxkLWxvY2F0aW9uLWtpbmQu cGF0Y2gKIAorIyBCYWNrcG9ydCB0ZXN0IGZvciBSSEJaIDE5NzY4ODcgKEtldmluIEJ1ZXR0bmVy KS4KK1BhdGNoMTAyOiBnZGItdGVzdC1mb3ItcmhiejE5NzY4ODcucGF0Y2gKKwoKZGlmZiAtLWdp dCBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKaW5k ZXggMjAyYTVjYy4uNDhmMDljZCAxMDA2NDQKLS0tIGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUK KysrIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKQEAgLTk5LDMgKzk5LDQgQEAKICVwYXRjaDA5 OSAtcDEKICVwYXRjaDEwMCAtcDEKICVwYXRjaDEwMSAtcDEKKyVwYXRjaDEwMiAtcDEKCmRpZmYg LS1naXQgYS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggZTdjMDEyYi4uZjQ0ODUx NSAxMDA2NDQKLS0tIGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtOTksMyAr OTksNCBAQCBnZGItcmhiejE5NzEwOTYtZ2xpYmMyLjM0LTUucGF0Y2gKIGdkYi1yaGJ6MTkxNjUx Ni1wYXRoc3R1ZmZzMTMyLWludGVybmFsLWVycm9yLnBhdGNoCiBnZGItcmhiejE5NzA3NDEtZWFy bHktZXhpdC1mb3ItZW1wdHktZGVidWdpbmZvZC11cmwucGF0Y2gKIGdkYi1yaGJ6MTk3Njg4Ny1m aWVsZC1sb2NhdGlvbi1raW5kLnBhdGNoCitnZGItdGVzdC1mb3ItcmhiejE5NzY4ODcucGF0Y2gK CmRpZmYgLS1naXQgYS9nZGItdGVzdC1mb3ItcmhiejE5NzY4ODcucGF0Y2ggYi9nZGItdGVzdC1m b3ItcmhiejE5NzY4ODcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u ZDA2MjVkNwotLS0gL2Rldi9udWxsCisrKyBiL2dkYi10ZXN0LWZvci1yaGJ6MTk3Njg4Ny5wYXRj aApAQCAtMCwwICsxLDU5MiBAQAorRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbGV4YW5kcmE9MjBIPUMzPUExamtvdj1DMz1BMT89 IDxhaGFqa292YUByZWRoYXQuY29tPgorRGF0ZTogVGh1LCAzMCBTZXAgMjAyMSAxMzoxMzowMyAr MDIwMAorU3ViamVjdDogZ2RiLXRlc3QtZm9yLXJoYnoxOTc2ODg3LnBhdGNoCisKKzs7IEJhY2tw b3J0IHRlc3QgZm9yIFJIQlogMTk3Njg4NyAoS2V2aW4gQnVldHRuZXIpLgorCitUZXN0IGNhc2Ug cmVwcm9kdWNpbmcgUFIyODAzMCBidWcKKworVGhlIG9yaWdpbmFsIHJlcHJvZHVjZXIgZm9yIFBS MjgwMzAgcmVxdWlyZWQgdXNlIG9mIGEgc3BlY2lmaWMKK2NvbXBpbGVyIHZlcnNpb24gLSBnY2Mt YysrLTExLjEuMS0zLmZjMzQgaXMgbWVudGlvbmVkIGluIHRoZSBQUiwKK3Rob3VnaCBpdCBzZWVt cyBwcm9iYWJsZSB0aGF0IG90aGVyIGdjYyB2ZXJzaW9ucyBtaWdodCBhbHNvIGJlIGFibGUgdG8K K3JlcHJvZHVjZSB0aGUgYnVnIGFzIHdlbGwuICBUaGlzIGNvbW1pdCBpbnRyb2R1Y2VzIGEgdGVz dCBjYXNlIHdoaWNoLAordXNpbmcgdGhlIERXQVJGIGFzc2VtYmxlciwgcHJvdmlkZXMgYSByZXBy b2R1Y2VyIHdoaWNoIGlzIGluZGVwZW5kZW50CitvZiB0aGUgY29tcGlsZXIgdmVyc2lvbi4gIChX ZWxsLCBpdCdsbCB3b3JrIHdpdGggd2hhdGV2ZXIgY29tcGlsZXJzCit0aGUgRFdBUkYgYXNzZW1i bGVyIHdvcmtzIHdpdGguKQorCitUbyB0aGUgYmVzdCBvZiBteSBrbm93bGVkZ2UsIGl0J3MgYWxz byB0aGUgZmlyc3QgdGVzdCBjYXNlIHdoaWNoIHVzZXMKK3RoZSBEV0FSRiBhc3NlbWJsZXIgdG8g cHJvdmlkZSBkZWJ1ZyBpbmZvIGZvciBhIHNoYXJlZCBvYmplY3QuICBUaGF0CitiZWluZyB0aGUg Y2FzZSwgSSBwcm92aWRlZCBtb3JlIHRoYW4gdGhlIHVzdWFsIGNvbW1lbnRhcnkgd2hpY2ggc2hv dWxkCithbGxvdyB0aGlzIGNhc2UgdG8gYmUgdXNlZCBhcyBhIHRlbXBsYXRlIHdoZW4gYSBjb21i byBzaGFyZWQKK2xpYnJhcnkgLyBEV0FSRiBhc3NlbWJsZXIgdGVzdCBjYXNlIGlzIHJlcXVpcmVk IGluIHRoZSBmdXR1cmUuCisKK0kgcHJvdmlkZSBzb21lIGRldGFpbHMgcmVnYXJkaW5nIHRoZSBi dWcgaW4gYSBjb21tZW50IG5lYXIgdGhlCitiZWdpbm5pbmcgb2YgbG9jZXhwci1kbWwuZXhwLgor CitUaGlzIHByb2JsZW0gd2FzIGRpZmZpY3VsdCB0byByZXByb2R1Y2U7IEkgZm91bmQgbXlzZWxm IGNvbnN0YW50bHkKK3JlZmVycmluZyB0byB0aGUgYmFja3RyYWNlIHdoaWxlIHRyeWluZyB0byBm aWd1cmUgb3V0IHdoYXQgKGVsc2UpIEkKK21pZ2h0IGJlIG1pc3Npbmcgd2hpbGUgdHJ5aW5nIHRv IGNyZWF0ZSBhIHJlcHJvZHVjZXIuICBCZWxvdyBpcyBhCitwYXJ0aWFsIGJhY2t0cmFjZSB3aGlj aCBJIGluY2x1ZGUgZm9yIHBvc3Rlcml0eS4KKworICMwICBpbnRlcm5hbF9lcnJvciAoCisgICAg ZmlsZT0weGM1MDExMCAiL2lyb253b29kMS9zb3VyY2V3YXJlLWdpdC9mMzQtcHIyODAzMC9ibGQv Li4vLi4vd29ya3RyZWUtcHIyODAzMC9nZGIvZ2RidHlwZXMuYyIsIGxpbmU9NTU3NSwKKyAgICBm bXQ9MHhjNTIwYzAgIlVuZXhwZWN0ZWQgdHlwZSBmaWVsZCBsb2NhdGlvbiBraW5kOiAlZCIpCisg ICAgYXQgL2lyb253b29kMS9zb3VyY2V3YXJlLWdpdC9mMzQtcHIyODAzMC9ibGQvLi4vLi4vd29y a3RyZWUtcHIyODAzMC9nZGJzdXBwb3J0L2Vycm9ycy5jYzo1MQorICMxICAweDAwMDAwMDAwMDA2 ZWYwYzUgaW4gY29weV90eXBlX3JlY3Vyc2l2ZSAob2JqZmlsZT0weDE2MzU5MzAsCisgICAgdHlw ZT0weDI3NGMyNjAsIGNvcGllZF90eXBlcz0weDMwYmIyOTApCisgICAgYXQgL2lyb253b29kMS9z b3VyY2V3YXJlLWdpdC9mMzQtcHIyODAzMC9ibGQvLi4vLi4vd29ya3RyZWUtcHIyODAzMC9nZGIv Z2RidHlwZXMuYzo1NTc1CisgIzIgIDB4MDAwMDAwMDAwMDZlZjM4MiBpbiBjb3B5X3R5cGVfcmVj dXJzaXZlIChvYmpmaWxlPTB4MTYzNTkzMCwKKyAgICB0eXBlPTB4Mjc0Y2ExMCwgY29waWVkX3R5 cGVzPTB4MzBiYjI5MCkKKyAgICBhdCAvaXJvbndvb2QxL3NvdXJjZXdhcmUtZ2l0L2YzNC1wcjI4 MDMwL2JsZC8uLi8uLi93b3JrdHJlZS1wcjI4MDMwL2dkYi9nZGJ0eXBlcy5jOjU2MDIKKyAjMyAg MHgwMDAwMDAwMDAwYTc0MDlhIGluIHByZXNlcnZlX29uZV92YWx1ZSAodmFsdWU9MHgyNDI2OWYw LAorICAgIG9iamZpbGU9MHgxNjM1OTMwLCBjb3BpZWRfdHlwZXM9MHgzMGJiMjkwKQorICAgIGF0 IC9pcm9ud29vZDEvc291cmNld2FyZS1naXQvZjM0LXByMjgwMzAvYmxkLy4uLy4uL3dvcmt0cmVl LXByMjgwMzAvZ2RiL3ZhbHVlLmM6MjUyOQorICM0ICAweDAwMDAwMDAwMDA3MjAxMmEgaW4gZ2Ri c2NtX3ByZXNlcnZlX3ZhbHVlcyAoCisgICAgZXh0bGFuZz0weGM1NTcyMCA8ZXh0ZW5zaW9uX2xh bmd1YWdlX2d1aWxlPiwgb2JqZmlsZT0weDE2MzU5MzAsCisgICAgY29waWVkX3R5cGVzPTB4MzBi YjI5MCkKKyAgICBhdCAvaXJvbndvb2QxL3NvdXJjZXdhcmUtZ2l0L2YzNC1wcjI4MDMwL2JsZC8u Li8uLi93b3JrdHJlZS1wcjI4MDMwL2dkYi9ndWlsZS9zY20tdmFsdWUuYzo5NAorICM1ICAweDAw MDAwMDAwMDA2YTNmODIgaW4gcHJlc2VydmVfZXh0X2xhbmdfdmFsdWVzIChvYmpmaWxlPTB4MTYz NTkzMCwKKyAgICBjb3BpZWRfdHlwZXM9MHgzMGJiMjkwKQorICAgIGF0IC9pcm9ud29vZDEvc291 cmNld2FyZS1naXQvZjM0LXByMjgwMzAvYmxkLy4uLy4uL3dvcmt0cmVlLXByMjgwMzAvZ2RiL2V4 dGVuc2lvbi5jOjU2OAorICM2ICAweDAwMDAwMDAwMDBhNzQyOGQgaW4gcHJlc2VydmVfdmFsdWVz IChvYmpmaWxlPTB4MTYzNTkzMCkKKyAgICBhdCAvaXJvbndvb2QxL3NvdXJjZXdhcmUtZ2l0L2Yz NC1wcjI4MDMwL2JsZC8uLi8uLi93b3JrdHJlZS1wcjI4MDMwL2dkYi92YWx1ZS5jOjI1NzkKKyAj NyAgMHgwMDAwMDAwMDAwODJkNTE0IGluIG9iamZpbGU6On5vYmpmaWxlICh0aGlzPTB4MTYzNTkz MCwKKyAgICBfX2luX2Nocmc9PG9wdGltaXplZCBvdXQ+KQorICAgIGF0IC9pcm9ud29vZDEvc291 cmNld2FyZS1naXQvZjM0LXByMjgwMzAvYmxkLy4uLy4uL3dvcmt0cmVlLXByMjgwMzAvZ2RiL29i amZpbGVzLmM6NTQ5CisgIzggIDB4MDAwMDAwMDAwMDgzMWNjOCBpbiBzdGQ6Ol9TcF9jb3VudGVk X3B0cjxvYmpmaWxlKiwgKF9fZ251X2N4eDo6X0xvY2tfcG9saWN5KTI+OjpfTV9kaXNwb3NlICh0 aGlzPTB4MTY1NDU4MCkKKyAgICBhdCAvdXNyL2luY2x1ZGUvYysrLzExL2JpdHMvc2hhcmVkX3B0 cl9iYXNlLmg6MzQ4CisgIzkgIDB4MDAwMDAwMDAwMDRlNjYxNyBpbiBzdGQ6Ol9TcF9jb3VudGVk X2Jhc2U8KF9fZ251X2N4eDo6X0xvY2tfcG9saWN5KTI+OjpfTV9yZWxlYXNlICh0aGlzPTB4MTY1 NDU4MCkgYXQgL3Vzci9pbmNsdWRlL2MrKy8xMS9iaXRzL3NoYXJlZF9wdHJfYmFzZS5oOjE2OAor ICMxMCAweDAwMDAwMDAwMDA0ZTFkMmYgaW4gc3RkOjpfX3NoYXJlZF9jb3VudDwoX19nbnVfY3h4 OjpfTG9ja19wb2xpY3kpMj46On5fX3NoYXJlZF9jb3VudCAodGhpcz0weDE5MGJiODgsIF9faW5f Y2hyZz08b3B0aW1pemVkIG91dD4pCisgICAgYXQgL3Vzci9pbmNsdWRlL2MrKy8xMS9iaXRzL3No YXJlZF9wdHJfYmFzZS5oOjcwNQorICMxMSAweDAwMDAwMDAwMDA4MmZlZWUgaW4gc3RkOjpfX3No YXJlZF9wdHI8b2JqZmlsZSwgKF9fZ251X2N4eDo6X0xvY2tfcG9saWN5KTI+Ojp+X19zaGFyZWRf cHRyICh0aGlzPTB4MTkwYmI4MCwgX19pbl9jaHJnPTxvcHRpbWl6ZWQgb3V0PikKKyAgICBhdCAv dXNyL2luY2x1ZGUvYysrLzExL2JpdHMvc2hhcmVkX3B0cl9iYXNlLmg6MTE1NAorICMxMiAweDAw MDAwMDAwMDA4MmZmMGEgaW4gc3RkOjpzaGFyZWRfcHRyPG9iamZpbGU+Ojp+c2hhcmVkX3B0ciAo CisgICAgdGhpcz0weDE5MGJiODAsIF9faW5fY2hyZz08b3B0aW1pemVkIG91dD4pCisgICAgYXQg L3Vzci9pbmNsdWRlL2MrKy8xMS9iaXRzL3NoYXJlZF9wdHIuaDoxMjIKKyAjMTMgMHgwMDAwMDAw MDAwODVlZDdlIGluIF9fZ251X2N4eDo6bmV3X2FsbG9jYXRvcjxzdGQ6Ol9MaXN0X25vZGU8c3Rk OjpzaGFyZWRfcHRyPG9iamZpbGU+ID4gPjo6ZGVzdHJveTxzdGQ6OnNoYXJlZF9wdHI8b2JqZmls ZT4gPiAodGhpcz0weDExNGJjMDAsCisgICAgX19wPTB4MTkwYmI4MCkgYXQgL3Vzci9pbmNsdWRl L2MrKy8xMS9leHQvbmV3X2FsbG9jYXRvci5oOjE2OAorICMxNCAweDAwMDAwMDAwMDA4NWU4OGQg aW4gc3RkOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6YWxsb2NhdG9yPHN0ZDo6X0xpc3Rfbm9kZTxz dGQ6OnNoYXJlZF9wdHI8b2JqZmlsZT4gPiA+ID46OmRlc3Ryb3k8c3RkOjpzaGFyZWRfcHRyPG9i amZpbGU+ID4gKF9fYT0uLi4sCisgICAgX19wPTB4MTkwYmI4MCkgYXQgL3Vzci9pbmNsdWRlL2Mr Ky8xMS9iaXRzL2FsbG9jX3RyYWl0cy5oOjUzMQorICMxNSAweDAwMDAwMDAwMDA4NWU1MGMgaW4g c3RkOjpfX2N4eDExOjpsaXN0PHN0ZDo6c2hhcmVkX3B0cjxvYmpmaWxlPiwgc3RkOjphbGxvY2F0 b3I8c3RkOjpzaGFyZWRfcHRyPG9iamZpbGU+ID4gPjo6X01fZXJhc2UgKHRoaXM9MHgxMTRiYzAw LCBfX3Bvc2l0aW9uPQorICBzdGQ6OnNoYXJlZF9wdHI8b2JqZmlsZT4gKGV4cGlyZWQsIHdlYWsg Y291bnQgMSkgPSB7Z2V0KCkgPSAweDE2MzU5MzB9KQorICAgIGF0IC91c3IvaW5jbHVkZS9jKysv MTEvYml0cy9zdGxfbGlzdC5oOjE5MjUKKyAjMTYgMHgwMDAwMDAwMDAwODVkZjBlIGluIHN0ZDo6 X19jeHgxMTo6bGlzdDxzdGQ6OnNoYXJlZF9wdHI8b2JqZmlsZT4sIHN0ZDo6YWxsb2NhdG9yPHN0 ZDo6c2hhcmVkX3B0cjxvYmpmaWxlPiA+ID46OmVyYXNlICh0aGlzPTB4MTE0YmMwMCwgX19wb3Np dGlvbj0KKyAgc3RkOjpzaGFyZWRfcHRyPG9iamZpbGU+IChleHBpcmVkLCB3ZWFrIGNvdW50IDEp ID0ge2dldCgpID0gMHgxNjM1OTMwfSkKKyAgICBhdCAvdXNyL2luY2x1ZGUvYysrLzExL2JpdHMv bGlzdC50Y2M6MTU4CisgIzE3IDB4MDAwMDAwMDAwMDg1Yzc0OCBpbiBwcm9ncmFtX3NwYWNlOjpy ZW1vdmVfb2JqZmlsZSAodGhpcz0weDExNGJiYzAsCisgICAgb2JqZmlsZT0weDE2MzU5MzApCisg ICAgYXQgL2lyb253b29kMS9zb3VyY2V3YXJlLWdpdC9mMzQtcHIyODAzMC9ibGQvLi4vLi4vd29y a3RyZWUtcHIyODAzMC9nZGIvcHJvZ3NwYWNlLmM6MjEwCisgIzE4IDB4MDAwMDAwMDAwMDgyZDNh ZSBpbiBvYmpmaWxlOjp1bmxpbmsgKHRoaXM9MHgxNjM1OTMwKQorICAgIGF0IC9pcm9ud29vZDEv c291cmNld2FyZS1naXQvZjM0LXByMjgwMzAvYmxkLy4uLy4uL3dvcmt0cmVlLXByMjgwMzAvZ2Ri L29iamZpbGVzLmM6NDg3CisgIzE5IDB4MDAwMDAwMDAwMDgyZTY4YyBpbiBvYmpmaWxlX3B1cmdl X3NvbGlicyAoKQorICAgIGF0IC9pcm9ud29vZDEvc291cmNld2FyZS1naXQvZjM0LXByMjgwMzAv YmxkLy4uLy4uL3dvcmt0cmVlLXByMjgwMzAvZ2RiL29iamZpbGVzLmM6ODc1CisgIzIwIDB4MDAw MDAwMDAwMDkyZGQzNyBpbiBub19zaGFyZWRfbGlicmFyaWVzIChpZ25vcmVkPTB4MCwgZnJvbV90 dHk9MSkKKyAgICBhdCAvaXJvbndvb2QxL3NvdXJjZXdhcmUtZ2l0L2YzNC1wcjI4MDMwL2JsZC8u Li8uLi93b3JrdHJlZS1wcjI4MDMwL2dkYi9zb2xpYi5jOjEyMzYKKyAjMjEgMHgwMDAwMDAwMDAw OWEzN2ZlIGluIHRhcmdldF9wcmVfaW5mZXJpb3IgKGZyb21fdHR5PTEpCisgICAgYXQgL2lyb253 b29kMS9zb3VyY2V3YXJlLWdpdC9mMzQtcHIyODAzMC9ibGQvLi4vLi4vd29ya3RyZWUtcHIyODAz MC9nZGIvdGFyZ2V0LmM6MjQ5NgorICMyMiAweDAwMDAwMDAwMDA3NDU0ZDYgaW4gcnVuX2NvbW1h bmRfMSAoYXJncz0weDAsIGZyb21fdHR5PTEsCisgICAgcnVuX2hvdz1SVU5fTk9STUFMKQorICAg IGF0IC9pcm9ud29vZDEvc291cmNld2FyZS1naXQvZjM0LXByMjgwMzAvYmxkLy4uLy4uL3dvcmt0 cmVlLXByMjgwMzAvZ2RiL2luZmNtZC5jOjQzNworCitJJ2xsIG5vdGUgYSBmZXcgcG9pbnRzIHJl Z2FyZGluZyB0aGlzIGJhY2t0cmFjZToKKworRnJhbWUgIzEgaXMgd2hlcmUgdGhlIGludGVybmFs IGVycm9yIG9jY3Vycy4gIEl0J3MgY2F1c2VkIGJ5IGFuCit1bmhhbmRsZWQgY2FzZSBmb3IgRklF TERfTE9DX0tJTkRfRFdBUkZfQkxPQ0suICBUaGUgZml4IGZvciB0aGlzIGJ1ZworYWRkcyBzdXBw b3J0IGZvciB0aGlzIGNhc2UuCisKK0ZyYW1lICMyMiAtIGl0J3MgYSBwYXJ0aWFsIGJhY2t0cmFj ZSAtIHNob3dzIHRoYXQgR0RCIGlzIGF0dGVtcHRpbmcgdG8KKyhyZSlydW4gdGhlIHByb2dyYW0u ICBZb3UgY2FuIHNlZSB0aGUgZXhhY3QgY29tbWFuZCBzZXF1ZW5jZSB0aGF0IHdhcwordXNlZCBm b3IgcmVwcm9kdWNpbmcgdGhpcyBwcm9ibGVtIGluIHRoZSBQUiAoYXQKK2h0dHBzOi8vc291cmNl d2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI4MDMwKSwgYnV0IGluIGEKK251dHNo ZWxsLCBhZnRlciBzdGFydGluZyB0aGUgcHJvZ3JhbSBhbmQgYWR2YW5jaW5nIHRvIHRoZSBhcHBy b3ByaWF0ZQorc291cmNlIGxpbmUsIEdEQiB3YXMgYXNrZWQgdG8gc3RlcCBpbnRvIGxpYnN0ZGMr KzsgYSAiZmluaXNoIiBjb21tYW5kCit3YXMgaXNzdWVkLCByZXR1cm5pbmcgYSB2YWx1ZS4gIFRo ZSBmYWN0IHRoYXQgYSB2YWx1ZSB3YXMgcmV0dXJuZWQgaXMKK3ZlcnkgaW1wb3J0YW50LiAgR0RC IHdhcyB0aGVuIHVzZWQgdG8gc3RlcCBiYWNrIGludG8gbGlic3RkYysrLiAgQQorYnJlYWtwb2lu dCB3YXMgc2V0IG9uIGEgc291cmNlIGxpbmUgaW4gdGhlIGxpYnJhcnkgYWZ0ZXIgd2hpY2ggYSAi cnVuIgorY29tbWFuZCB3YXMgaXNzdWVkLgorCitGcmFtZSAjMTkgc2hvd3MgYSBjYWxsIHRvIG9i amZpbGVfcHVyZ2Vfc29saWJzLiAgSXQncyBhcHRseSBuYW1lZC4KKworRnJhbWUgIzcgaXMgYSBj YWxsIHRvIHRoZSBkZXN0cnVjdG9yIGZvciBvbmUgb2YgdGhlIG9iamZpbGUgc29saWJzOyBpdAor dHVybmVkIG91dCB0byBiZSB0aGUgb25lIGZvciBsaWJzdGRjKysuCisKK0ZyYW1lcyAjNiB0aHJ1 ICMzIHNob3cgdmFyaW91cyB2YWx1ZSBwcmVzZXJ2YXRpb24gZnJhbWVzLiAgSWYgeW91IGxvb2sK K2F0IHByZXNlcnZlX3ZhbHVlcygpIGluIGdkYi92YWx1ZS5jLCB0aGUgdmFsdWUgaGlzdG9yeSBp cyBwcmVzZXJ2ZWQKK2ZpcnN0LCBmb2xsb3dlZCBieSBpbnRlcm5hbCB2YXJpYWJsZXMsIGZvbGxv d2VkIGJ5IHZhbHVlcyBmb3IgdGhlCitleHRlbnNpb24gbGFuZ3VhZ2VzIChweXRob24gYW5kIGd1 aWxlKS4KKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9sb2NleHByLWRh dGEtbWVtYmVyLWxvY2F0aW9uLWxpYi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2xvY2V4 cHItZGF0YS1tZW1iZXItbG9jYXRpb24tbGliLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvbG9jZXhwci1kYXRhLW1l bWJlci1sb2NhdGlvbi1saWIuYworQEAgLTAsMCArMSw0OCBAQAorKy8qIENvcHlyaWdodCAoQykg MjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIGZpbGUgaXMg cGFydCBvZiBHREIuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq LworKworKyNpbmNsdWRlICJsb2NleHByLWRhdGEtbWVtYmVyLWxvY2F0aW9uLmgiCisrCisrc3Ry dWN0IEEgZ19BID0gezMsIDR9OworK3N0cnVjdCBCIGdfQiA9IHsgezgsIDl9LCAxMCwgMTEgfTsK KysKKytCICoKKytmb28gKCkKKyt7CQkJCQkJLyogZm9vIHByb2xvZ3VlICovCisrICBhc20gKCJm b29fbGFiZWw6IC5nbG9ibCBmb29fbGFiZWwiKTsKKysgIHJldHVybiAmZ19COwkJCQkJLyogZm9v IHJldHVybiAqLworK30JCQkJCQkvKiBmb28gZW5kICovCisrCisrQiAqCisrYmFyIChCICp2KQor K3sJCQkJCQkvKiBiYXIgcHJvbG9ndWUgKi8KKysgIGFzbSAoImJhcl9sYWJlbDogLmdsb2JsIGJh cl9sYWJlbCIpOworKyAgcmV0dXJuIHY7CQkJCQkvKiBiYXIgcmV0dXJuICovCisrfQkJCQkJCS8q IGJhciBlbmQgKi8KKysKKysvKiBTb21lIG9mIHRoZSBEV0FSRiBhc3NlbWJsZXIgcHJvY3MgKGUu Zy4gZnVuY3Rpb25fcmFuZ2UpIGNvbXBpbGUKKysgICB0aGlzIGZpbGUsIGV4cGVjdGluZyBpdCB0 byBiZSBhIGNvbXBsZXRlIHByb2dyYW0gd2l0aCBhIG1haW4oKQorKyAgIGZ1bmN0aW9uLiAgV2hl biBJU19TSEFSRURMSUIgaXMgTk9UIGRlZmluZWQsIHdlIGhhdmUgbWFpbigpIGFzCisrICAgZGVm aW5lZCBiZWxvdy4gICovCisrCisrI2lmbmRlZiBJU19TSEFSRURMSUIKKytpbnQKKyttYWluICgp CisreworKyAgQiAqYiA9IGZvbyAoKTsKKyt9CisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2xvY2V4cHItZGF0YS1tZW1iZXItbG9jYXRpb24tbWFpbi5jIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2xvY2V4cHItZGF0YS1tZW1iZXItbG9jYXRpb24tbWFp bi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2xvY2V4cHItZGF0YS1tZW1iZXItbG9jYXRpb24tbWFpbi5jCitAQCAt MCwwICsxLDI3IEBACisrLyogQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorKworKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KKysKKysgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisr ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrI2luY2x1ZGUgImxvY2V4cHIt ZGF0YS1tZW1iZXItbG9jYXRpb24uaCIKKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIEIg KnYxOworKyAgdjEgPSBiYXIgKGZvbyAoKSk7CisrCisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2xvY2V4cHItZGF0YS1tZW1iZXItbG9jYXRp b24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2xvY2V4cHItZGF0YS1tZW1iZXItbG9j YXRpb24uZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2xvY2V4cHItZGF0YS1tZW1iZXItbG9jYXRpb24uZXhwCitA QCAtMCwwICsxLDM0OSBAQAorKyMgQ29weXJpZ2h0IDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyMgVGhpcyB0 ZXN0IGNhc2UgdXNlcyB0aGUgRFdBUkYgYXNzZW1ibGVyIHRvIHJlcHJvZHVjZSB0aGUgcHJvYmxl bQorKyMgZGVzY3JpYmVkIGJ5IFBSMjgwMzAuICBUaGUgYnVnIHR1cm5lZCBvdXQgdG8gYmUgdGhh dAorKyMgRklFTERfTE9DX0tJTkRfRFdBUkZfQkxPQ0sgd2FzIG5vdCBoYW5kbGVkIHdoZW4gcmVj dXJzaXZlbHkgY29weWluZworKyMgYSB2YWx1ZSdzIHR5cGUgd2hlbiBwcmVzZXJ2aW5nIHRoZSB2 YWx1ZSBoaXN0b3J5IGR1cmluZyB0aGUgZnJlZWluZworKyMgdXAgb2Ygb2JqZmlsZXMgYXNzb2Np YXRlZCB3aXRoIGEgc2hhcmVkIG9iamVjdC4gIChZZXMsIGZpZ3VyaW5nIG91dAorKyMgaG93IHRv IG1ha2UgdGhpcyBoYXBwZW4gaW4gYSBjb25jaXNlIHRlc3QgY2FzZSB0dXJuZWQgb3V0IHRvIGJl CisrIyBjaGFsbGVuZ2luZy4pCisrIworKyMgVGhlIGZvbGxvd2luZyBlbGVtZW50cyBwcm92ZWQg dG8gYmUgbmVjZXNzYXJ5IGZvciByZXByb2R1Y2luZyB0aGUKKysjIHByb2JsZW06CisrIworKyMg MSkgQSBsb2NhdGlvbiBleHByZXNzaW9uIG5lZWRlZCB0byBiZSB1c2VkIHdpdGgKKysjICAgIERX X0FUX2RhdGFfbWVtYmVyX2xvY2F0aW9uIHJhdGhlciB0aGFuIGEgc2ltcGxlIG9mZnNldC4KKysj ICAgIE1vcmVvdmVyLCB0aGlzIGxvY2F0aW9uIGV4cHJlc3Npb24gbmVlZGVkIHRvIHVzZSBvcGNv ZGVzCisrIyAgICB3aGljaCBHREIncyBEV0FSRiByZWFkZXIgY291bGQgbm90IGNvbnZlcnQgdG8g YSBzaW1wbGUKKysjICAgIG9mZnNldC4gIChOb3RlLCBob3dldmVyLCB0aGF0IEdEQiBjb3VsZCBw cm9iYWJseSBiZSBpbXByb3ZlZAorKyMgICAgdG8gaGFuZGxlIHRoZSBvcGNvZGVzIGNob3NlbiBm b3IgdGhpcyB0ZXN0OyBpZiBkZWNvZGVfbG9jZGVzYygpCisrIyAgICBpbiBkd2FyZjIvcmVhZC5j IGlzIGV2ZXIgdXBkYXRlZCB0byBoYW5kbGUgYm90aCBEV19PUF9waWNrIGFuZAorKyMgICAgRFdf T1BfZHJvcCwgdGhlbiB0aGlzIHRlc3QgY291bGQgZW5kIHVwIHBhc3NpbmcgZXZlbiBpZgorKyMg ICAgdGhlIGJ1ZyBpdCdzIGludGVuZGVkIHRvIHRlc3QgaGFzIG5vdCBiZWVuIGZpeGVkLikKKysj CisrIyAyKSBUaGUgZGVidWcgaW5mbyBjb250YWluaW5nIHRoZSBhYm92ZSBEV0FSRiBpbmZvIG5l ZWRlZAorKyMgICAgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgc2hhcmVkIG9iamVjdCBzaW5jZSB0 aGUgcHJvYmxlbQorKyMgICAgb2NjdXJyZWQgd2hpbGUgR0RCIHdhcyBwcmVzZXJ2aW5nIHZhbHVl cyBkdXJpbmcgdGhlCisrIyAgICBwdXJnaW5nIG9mIHNoYXJlZCBvYmplY3RzLgorKyMKKysjIDMp IEFmdGVyIHBlcmZvcm1pbmcgc29tZSBzaW1wbGUgZ2RiIGNvbW1hbmRzLCB0aGUgcHJvZ3JhbSBp cworKyMgICAgcnVuIGFnYWluLiAgSW4gdGhlIGNvdXJzZSBvZiBydW5uaW5nIHRoZSBvYmpmaWxl IGRlc3RydWN0b3IKKysjICAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2hhcmVkIG9iamVjdCwgdmFs dWVzIGFyZSBwcmVzZXJ2ZWQKKysjICAgIGFsb25nIHdpdGggdGhlaXIgdHlwZXMuICBBcyBub3Rl ZCBlYXJsaWVyLCBpdCB3YXMgZHVyaW5nCisrIyAgICB0aGUgcmVjdXJzaXZlIHR5cGUgY29weSB0 aGF0IHRoZSBidWcgd2FzIG9ic2VydmVkLgorKyMKKysjIFRoZXJlZm9yZSwgZHVlIHRvICMyIGFi b3ZlLCB0aGlzIHRlc3QgY2FzZSBjcmVhdGVzIGRlYnVnIGluZm8KKysjIHdoaWNoIGlzIHRoZW4g dXNlZCBieSBhIHNoYXJlZCBvYmplY3QuCisrCisrIyBUaGlzIHRlc3QgY2FuJ3QgYmUgcnVuIG9u IHRhcmdldHMgbGFja2luZyBzaGFyZWQgbGlicmFyeSBzdXBwb3J0LgorK2lmIFtza2lwX3NobGli X3Rlc3RzXSB7CisrICAgIHJldHVybiAwCisrfQorKworK2xvYWRfbGliIGR3YXJmLmV4cAorKwor KyMgVGhpcyB0ZXN0IGNhbiBvbmx5IGJlIHJ1biBvbiB0YXJnZXRzIHdoaWNoIHN1cHBvcnQgRFdB UkYtMiBhbmQgdXNlIGdhcy4KKytpZiAhW2R3YXJmMl9zdXBwb3J0XSB7CisrICAgIHJldHVybiAw CisrfQorKworKyMgZ2RiX3Rlc3RfZmlsZV9uYW1lIGlzIHRoZSBuYW1lIG9mIHRoaXMgZmlsZSB3 aXRob3V0IHRoZSAuZXhwCisrIyBleHRlbnNpb24uICBVc2UgaXQgdG8gZm9ybSBiYXNlbmFtZXMg Zm9yIHRoZSBtYWluIHByb2dyYW0KKysjIGFuZCBzaGFyZWQgb2JqZWN0LgorK3NldCBtYWluX2Jh c2VuYW1lICR7OjpnZGJfdGVzdF9maWxlX25hbWV9LW1haW4KKytzZXQgbGliX2Jhc2VuYW1lICR7 OjpnZGJfdGVzdF9maWxlX25hbWV9LWxpYgorKworKyMgV2UncmUgZ2VuZXJhdGluZyBEV0FSRiBh c3NlbWJseSBmb3IgdGhlIHNoYXJlZCBvYmplY3Q7IHRoZXJlZm9yZSwKKysjIHRoZSBzb3VyY2Ug ZmlsZSBmb3IgdGhlIGxpYnJhcnkgLyBzaGFyZWQgb2JqZWN0IG11c3QgYmUgbGlzdGVkIGZpcnN0 CisrIyAoaW4gdGhlIHN0YW5kYXJkX3Rlc3RmaWxlIGludm9jYXRpb24pIHNpbmNlICR7c3JjZmls ZX0gaXMgdXNlZCBieQorKyMgZ2V0X2Z1bmNfaW5mbyAoZm9yIGRldGVybWluaW5nIHRoZSBzdGFy dCwgZW5kLCBhbmQgbGVuZ3RoIG9mIGEKKysjIGZ1bmN0aW9uKS4KKysjCisrIyBUaGUgb3V0cHV0 IG9mIER3YXJmOjphc3NlbWJsZSB3aWxsIGJlIHBsYWNlZCBpbiAkbGliX2Jhc2VuYW1lLlMKKysj IHdoaWNoIHdpbGwgYmUgJHtzcmNmaWxlM30gYWZ0ZXIgdGhlIGV4ZWN1dGlvbiBvZiBzdGFuZGFy ZF90ZXN0ZmlsZS4KKysKKytzdGFuZGFyZF90ZXN0ZmlsZSAkbGliX2Jhc2VuYW1lLmMgJG1haW5f YmFzZW5hbWUuYyAkbGliX2Jhc2VuYW1lLlMKKysKKytzZXQgbGlic3JjICIkezo6c3JjZGlyfS8k ezo6c3ViZGlyfS8kezo6c3JjZmlsZX0iCisrc2V0IGxpYl9zbyBbc3RhbmRhcmRfb3V0cHV0X2Zp bGUgJHtsaWJfYmFzZW5hbWV9LnNvXQorK3NldCBhc21fZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2Zp bGUgJHs6OnNyY2ZpbGUzfV0KKysKKysjIFdlIG5lZWQgdG8ga25vdyB0aGUgc2l6ZSBvZiBzb21l IHR5cGVzIGluIG9yZGVyIHRvIHdyaXRlIHNvbWUgb2YgdGhlCisrIyBkZWJ1Z2dpbmcgaW5mbyB0 aGF0IHdlJ3JlIGFib3V0IHRvIGdlbmVyYXRlLiAgRm9yIHRoYXQsIHdlIGFzayBHREIKKysjIGJ5 IGRlYnVnZ2luZyB0aGUgc2hhcmVkIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhpcyB0ZXN0IGNh c2UuCisrCisrIyBDb21waWxlIHRoZSBzaGFyZWQgbGlicmFyeTogLURJU19TSEFSRURMSUIgcHJl dmVudHMgbWFpbigpIGZyb20KKysjIGJlaW5nIGRlZmluZWQuICBOb3RlIHRoYXQgZGVidWdnaW5n IHN5bWJvbHMgd2lsbCBiZSBwcmVzZW50IGZvcgorKyMgdGhpcyBjb21waWxhdGlvbi4KKytpZiB7 W2dkYl9jb21waWxlX3NobGliICRsaWJzcmMgJGxpYl9zbyBcCisrICAgICAgICAgICAgICAgICAg ICAgICB7YWRkaXRpb25hbF9mbGFncz0tRElTX1NIQVJFRExJQiBkZWJ1Z31dICE9ICIifSB7Cisr ICAgIHVudGVzdGVkICJmYWlsZWQgdG8gY29tcGlsZSBzaGFyZWQgbGlicmFyeSIKKysgICAgcmV0 dXJuCisrfQorKworKyMgU3RhcnQgYSBmcmVzaCBHREIgYW5kIGxvYWQgdGhlIHNoYXJlZCBsaWJy YXJ5LgorK2NsZWFuX3Jlc3RhcnQgJGxpYl9zbworKworKyMgVXNpbmcgb3VyIHJ1bm5pbmcgR0RC IHNlc3Npb24sIGRldGVybWluZSBzaXplcyBvZiBzZXZlcmFsIHR5cGVzLgorK3NldCBsb25nX3Np emUgW2dldF9zaXplb2YgImxvbmciIC0xXQorK3NldCBhZGRyX3NpemUgW2dldF9zaXplb2YgInZv aWQgKiIgLTFdCisrc2V0IHN0cnVjdF9BX3NpemUgW2dldF9zaXplb2YgImdfQSIgLTFdCisrc2V0 IHN0cnVjdF9CX3NpemUgW2dldF9zaXplb2YgImdfQiIgLTFdCisrCisraWYgeyAkbG9uZ19zaXpl ID09IC0xIHx8ICRhZGRyX3NpemUgPT0gLTEgXAorKyAgICAgfHwgJHN0cnVjdF9BX3NpemUgPT0g LTEgfHwgJHN0cnVjdF9CX3NpemUgPT0gLTF9IHsKKysgICAgcGVycm9yICJDYW4ndCBkZXRlcm1p bmUgdHlwZSBzaXplcyIKKysgICAgcmV0dXJuCisrfQorKworKyMgUmV0cmlldmUgc3RydWN0IG9m ZnNldCBvZiBNQlIgaW4gc3RydWN0IFRQCisrcHJvYyBnZXRfb2Zmc2V0b2YgeyB0cCBtYnIgfSB7 CisrICAgIHJldHVybiBbZ2V0X2ludGVnZXJfdmFsdWVvZiAiJigoJHt0cH0gKikgMCktPiR7bWJy fSIgLTFdCisrfQorKworKyMgVXNlIHJ1bm5pbmcgR0RCIHNlc3Npb24gdG8gZ2V0IHN0cnVjdCBv ZmZzZXRzCisrc2V0IEFfYSBbZ2V0X29mZnNldG9mIEEgYV0KKytzZXQgQV94IFtnZXRfb2Zmc2V0 b2YgQSB4XQorK3NldCBCX2EgW2dldF9vZmZzZXRvZiBCIGFdCisrc2V0IEJfYiBbZ2V0X29mZnNl dG9mIEIgYl0KKytzZXQgQl94MiBbZ2V0X29mZnNldG9mIEIgeDJdCisrCisrIyBDcmVhdGUgdGhl IERXQVJGLgorK0R3YXJmOjphc3NlbWJsZSAke2FzbV9maWxlfSB7CisrICAgIGRlY2xhcmVfbGFi ZWxzIEwKKysKKysgICAgIyBGaW5kIHN0YXJ0LCBlbmQsIGFuZCBsZW5ndGggb2YgZnVuY3Rpb25z IGZvbyBhbmQgYmFyLgorKyAgICAjIFRoZXNlIGNhbGxzIHRvIGdldF9mdW5jX2luZm8gd2lsbCBj cmVhdGUgYW5kIHNldCB2YXJpYWJsZXMKKysgICAgIyBmb29fc3RhcnQsIGJhcl9zdGFydCwgZm9v X2VuZCwgYmFyX2VuZCwgZm9vX2xlbiwgYW5kCisrICAgICMgYmFyX2xlbi4KKysgICAgIworKyAg ICAjIEluIG9yZGVyIHRvIGdldCB0aGUgcmlnaHQgYW5zd2VycywgZ2V0X2Z1bmNfaW5mbyAoYW5k LAorKyAgICAjIHVuZGVybmVhdGgsIGZ1bmN0aW9uX3JhbmdlKSBzaG91bGQgdXNlIHRoZSBzYW1l IGNvbXBpbGVyIGZsYWdzCisrICAgICMgYXMgdGhvc2UgdXNlZCB0byBtYWtlIGEgc2hhcmVkIG9i amVjdC4gIEZvciBhbnkgdGFyZ2V0cyB0aGF0IGdldAorKyAgICAjIHRoaXMgZmFyLCAtZnBpYyBp cyBwcm9iYWJseSBjb3JyZWN0LgorKyAgICAjCisrICAgICMgQWxzbywgaXQgc2hvdWxkIGJlIG5v dGVkIHRoYXQgSVNfU0hBUkVETElCIGlzIE5PVCBkZWZpbmVkIGFzIG9uZQorKyAgICAjIG9mIHRo ZSBhZGRpdGlvbmFsIGZsYWdzLiAgTm90IGRlZmluaW5nIElTX1NIQVJFRExJQiB3aWxsIGNhdXNl IGEKKysgICAgIyBtYWluKCkgdG8gYmUgZGVmaW5lZCBmb3IgdGhlIGNvbXBpbGF0aW9uIG9mIHRo ZSBzaGFyZWQgbGlicmFyeQorKyAgICAjIHNvdXJjZSBmaWxlIHdoaWNoIGhhcHBlbnMgYXMgYSBy ZXN1bHQgb2YgdXNpbmcgZ2V0X2Z1bmNfaW5mbzsKKysgICAgIyB0aGlzIGlzIGN1cnJlbnRseSBy ZXF1aXJlZCBpbiBvcmRlciB0byB0aGlzIGZhY2lsaXR5LgorKyAgICBzZXQgZmxhZ3Mge2FkZGl0 aW9uYWxfZmxhZ3M9LWZwaWMgZGVidWd9CisrICAgIGdldF9mdW5jX2luZm8gZm9vICRmbGFncwor KyAgICBnZXRfZnVuY19pbmZvIGJhciAkZmxhZ3MKKysKKysgICAgY3Uge30geworKwlEV19UQUdf Y29tcGlsZV91bml0IHsKKysJICAgIHtEV19BVF9sYW5ndWFnZSBARFdfTEFOR19DX3BsdXNfcGx1 c30KKysJICAgIHtuYW1lICR7OjpzcmNmaWxlfX0KKysJICAgIHtzdG10X2xpc3QgJEwgRFdfRk9S TV9zZWNfb2Zmc2V0fQorKyAgICAgICAgfSB7CisrCSAgICBkZWNsYXJlX2xhYmVscyBpbnRfbGFi ZWwgY2xhc3NfQV9sYWJlbCBjbGFzc19CX2xhYmVsIFwKKysJICAgICAgICAgICAgICAgICAgIEJf cHRyX2xhYmVsCisrCisrCSAgICBpbnRfbGFiZWw6IERXX1RBR19iYXNlX3R5cGUgeworKwkJe0RX X0FUX2J5dGVfc2l6ZSAkezo6bG9uZ19zaXplfSBEV19GT1JNX3VkYXRhfQorKwkJe0RXX0FUX2Vu Y29kaW5nIEBEV19BVEVfc2lnbmVkfQorKwkJe0RXX0FUX25hbWUgImludCJ9CisrCSAgICB9Cisr CisrCSAgICBjbGFzc19BX2xhYmVsOiBEV19UQUdfY2xhc3NfdHlwZSB7CisrCQl7RFdfQVRfbmFt ZSAiQSJ9CisrCQl7RFdfQVRfYnl0ZV9zaXplICR7OjpzdHJ1Y3RfQV9zaXplfSBEV19GT1JNX3Nk YXRhfQorKwkgICAgfSB7CisrCQlEV19UQUdfbWVtYmVyIHsKKysJCSAgICB7RFdfQVRfbmFtZSAi YSJ9CisrCQkgICAge0RXX0FUX3R5cGUgOiRpbnRfbGFiZWx9CisrCQkgICAge0RXX0FUX2RhdGFf bWVtYmVyX2xvY2F0aW9uICR7OjpBX2F9IERXX0ZPUk1fdWRhdGF9CisrCQl9CisrCQlEV19UQUdf bWVtYmVyIHsKKysJCSAgICB7RFdfQVRfbmFtZSAieCJ9CisrCQkgICAge0RXX0FUX3R5cGUgOiRp bnRfbGFiZWx9CisrCQkgICAge0RXX0FUX2RhdGFfbWVtYmVyX2xvY2F0aW9uICR7OjpBX3h9IERX X0ZPUk1fdWRhdGF9CisrCQl9CisrCSAgICB9CisrCisrCSAgICBjbGFzc19CX2xhYmVsOiBEV19U QUdfY2xhc3NfdHlwZSB7CisrCQl7RFdfQVRfbmFtZSAiQiJ9CisrCQl7RFdfQVRfYnl0ZV9zaXpl ICR7OjpzdHJ1Y3RfQl9zaXplfSBEV19GT1JNX3NkYXRhfQorKwkgICAgfSB7CisrCQkjIFdoaWxl IHRoZXJlIGFyZSBlYXNpZXIgLyBiZXR0ZXIgd2F5cyB0byBzcGVjaWZ5IGFuCisrCQkjIG9mZnNl dCB1c2VkIGJ5IERXX0FUX2RhdGFfbWVtYmVyX2xvY2F0aW9uIHRoYW4gdGhhdAorKwkJIyB1c2Vk IGJlbG93LCB3ZSBuZWVkIGEgbG9jYXRpb24gZXhwcmVzc2lvbiBoZXJlIGluCisrCQkjIG9yZGVy IHRvIHJlcHJvZHVjZSB0aGUgYnVnLiAgTW9yZW92ZXIsIHRoaXMgbG9jYXRpb24KKysJCSMgZXhw cmVzc2lvbiBuZWVkcyB0byB1c2Ugb3Bjb2RlcyB0aGF0IGFyZW4ndCBoYW5kbGVkCisrCQkjIGJ5 IGRlY29kZV9sb2NkZXNjKCkgaW4gZHdhcmYyL3JlYWQuYzsgaWYgd2UgdXNlCisrCQkjIG9wY29k ZXMgdGhhdCBfYXJlXyBoYW5kbGVkIGJ5IHRoYXQgZnVuY3Rpb24sIHRoZQorKwkJIyBsb2NhdGlv biBleHByZXNzaW9uIHdpbGwgYmUgY29udmVydGVkIGludG8gYSBzaW1wbGUKKysJCSMgb2Zmc2V0 IC0gd2hpY2ggd2lsbCB0aGVuIChhZ2Fpbikgbm90IHJlcHJvZHVjZSB0aGUKKysJCSMgYnVnLiAg QXQgdGhlIHRpbWUgdGhhdCB0aGlzIHRlc3Qgd2FzIHdyaXR0ZW4sCisrCQkjIG5laXRoZXIgRFdf T1BfcGljayBub3IgRFdfT1BfZHJvcCB3ZXJlIGJlaW5nIGhhbmRsZWQKKysJCSMgYnkgZGVjb2Rl X2xvY2Rlc2MoKTsgdGhpcyBpcyB3aHkgdGhvc2Ugb3Bjb2RlcyB3ZXJlCisrCQkjIGNob3Nlbi4K KysJCURXX1RBR19pbmhlcml0YW5jZSB7CisrCQkgICAge0RXX0FUX3R5cGUgOiRjbGFzc19BX2xh YmVsfQorKwkJICAgIHtEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbiB7CisrCQkJRFdfT1BfY29u c3R1ICR7OjpCX2F9CisrCQkJRFdfT1BfcGx1cworKwkJCURXX09QX3BpY2sgMAorKwkJCURXX09Q X2Ryb3B9IFNQRUNJQUxfZXhwcn0KKysJCSAgICB7RFdfQVRfYWNjZXNzaWJpbGl0eSAxIERXX0ZP Uk1fZGF0YTF9CisrCQl9CisrCQlEV19UQUdfbWVtYmVyIHsKKysJCSAgICB7RFdfQVRfbmFtZSAi YiJ9CisrCQkgICAge0RXX0FUX3R5cGUgOiRpbnRfbGFiZWx9CisrCQkgICAge0RXX0FUX2RhdGFf bWVtYmVyX2xvY2F0aW9uICR7OjpCX2J9IERXX0ZPUk1fdWRhdGF9CisrCQl9CisrCQlEV19UQUdf bWVtYmVyIHsKKysJCSAgICB7RFdfQVRfbmFtZSAieDIifQorKwkJICAgIHtEV19BVF90eXBlIDok aW50X2xhYmVsfQorKwkJICAgIHtEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbiAkezo6Ql94Mn0g RFdfRk9STV91ZGF0YX0KKysJCX0KKysJICAgIH0KKysKKysJICAgIEJfcHRyX2xhYmVsOiBEV19U QUdfcG9pbnRlcl90eXBlIHsKKysJCXtEV19BVF90eXBlIDokY2xhc3NfQl9sYWJlbH0KKysJCXtE V19BVF9ieXRlX3NpemUgJHs6OmFkZHJfc2l6ZX0gRFdfRk9STV9zZGF0YX0KKysJICAgIH0KKysK KysJICAgIERXX1RBR192YXJpYWJsZSB7CisrCQl7RFdfQVRfbmFtZSAiZ19BIn0KKysJCXtEV19B VF90eXBlIDokY2xhc3NfQV9sYWJlbH0KKysJCXtEV19BVF9leHRlcm5hbCAxIGZsYWd9CisrCQl7 RFdfQVRfbG9jYXRpb24ge0RXX09QX2FkZHIgW2dkYl90YXJnZXRfc3ltYm9sICJnX0EiXX0gXAor KwkJICAgICAgICAgICAgICAgICBTUEVDSUFMX2V4cHJ9CisrCSAgICB9CisrCisrCSAgICBEV19U QUdfdmFyaWFibGUgeworKwkJe0RXX0FUX25hbWUgImdfQiJ9CisrCQl7RFdfQVRfdHlwZSA6JGNs YXNzX0JfbGFiZWx9CisrCQl7RFdfQVRfZXh0ZXJuYWwgMSBmbGFnfQorKwkJe0RXX0FUX2xvY2F0 aW9uIHtEV19PUF9hZGRyIFtnZGJfdGFyZ2V0X3N5bWJvbCAiZ19CIl19IFwKKysJCSAgICAgICAg ICAgICAgICAgU1BFQ0lBTF9leHByfQorKwkgICAgfQorKworKwkgICAgIyBXZSBjYW4ndCB1c2Ug TUFDUk9fQVQgZm9yIHRoZSBkZWZpbml0aW9ucyBvZiBmb28gYW5kIGJhcgorKwkgICAgIyBiZWNh dXNlIGl0IGRvZXNuJ3QgcHJvdmlkZSBhIHdheSB0byBwYXNzIHRoZSBhcHByb3ByaWF0ZQorKwkg ICAgIyBmbGFncy4gIFRoZXJlZm9yZSwgd2UgbGlzdCB0aGUgbmFtZSwgbG93X3BjLCBhbmQgaGln aF9wYworKwkgICAgIyBleHBsaWNpdGx5LgorKwkgICAgRFdfVEFHX3N1YnByb2dyYW0geworKwkJ e0RXX0FUX25hbWUgZm9vfQorKwkJe0RXX0FUX2xvd19wYyAkZm9vX3N0YXJ0IERXX0ZPUk1fYWRk cn0KKysJCXtEV19BVF9oaWdoX3BjICRmb29fZW5kIERXX0ZPUk1fYWRkcn0KKysJCXtEV19BVF90 eXBlIDoke0JfcHRyX2xhYmVsfX0KKysJCXtEV19BVF9leHRlcm5hbCAxIGZsYWd9CisrCSAgICB9 CisrCisrCSAgICBEV19UQUdfc3VicHJvZ3JhbSB7CisrCQl7RFdfQVRfbmFtZSBiYXJ9CisrCQl7 RFdfQVRfbG93X3BjICRiYXJfc3RhcnQgRFdfRk9STV9hZGRyfQorKwkJe0RXX0FUX2hpZ2hfcGMg JGJhcl9lbmQgRFdfRk9STV9hZGRyfQorKwkJe0RXX0FUX3R5cGUgOiR7Ql9wdHJfbGFiZWx9fQor KwkJe0RXX0FUX2V4dGVybmFsIDEgZmxhZ30KKysJICAgIH0geworKwkJRFdfVEFHX2Zvcm1hbF9w YXJhbWV0ZXIgeworKwkJICAgIHtEV19BVF9uYW1lIHZ9CisrCQkgICAge0RXX0FUX3R5cGUgOiR7 Ql9wdHJfbGFiZWx9fQorKwkJfQorKwkgICAgfQorKwl9CisrICAgIH0KKysKKysgICAgbGluZXMg e3ZlcnNpb24gMn0gTCB7CisrCWluY2x1ZGVfZGlyICIkezo6c3JjZGlyfS8kezo6c3ViZGlyfSIK KysJZmlsZV9uYW1lICIkezo6c3JjZmlsZX0iIDEKKysKKysJIyBHZW5lcmF0ZSBhIGxpbmUgdGFi bGUgcHJvZ3JhbS4KKysJcHJvZ3JhbSB7CisrCSAgICB7RFdfTE5FX3NldF9hZGRyZXNzICRmb29f c3RhcnR9CisrCSAgICB7bGluZSBbZ2RiX2dldF9saW5lX251bWJlciAiZm9vIHByb2xvZ3VlIl19 CisrCSAgICB7RFdfTE5TX2NvcHl9CisrCSAgICB7RFdfTE5FX3NldF9hZGRyZXNzIGZvb19sYWJl bH0KKysJICAgIHtsaW5lIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJmb28gcmV0dXJuIl19CisrCSAg ICB7RFdfTE5TX2NvcHl9CisrCSAgICB7bGluZSBbZ2RiX2dldF9saW5lX251bWJlciAiZm9vIGVu ZCJdfQorKwkgICAge0RXX0xOU19jb3B5fQorKwkgICAge0RXX0xORV9zZXRfYWRkcmVzcyAkZm9v X2VuZH0KKysJICAgIHtEV19MTlNfYWR2YW5jZV9saW5lIDF9CisrCSAgICB7RFdfTE5TX2NvcHl9 CisrCSAgICB7RFdfTE5FX2VuZF9zZXF1ZW5jZX0KKysKKysJICAgIHtEV19MTkVfc2V0X2FkZHJl c3MgJGJhcl9zdGFydH0KKysJICAgIHtsaW5lIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJiYXIgcHJv bG9ndWUiXX0KKysJICAgIHtEV19MTlNfY29weX0KKysJICAgIHtEV19MTkVfc2V0X2FkZHJlc3Mg YmFyX2xhYmVsfQorKwkgICAge2xpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgImJhciByZXR1cm4i XX0KKysJICAgIHtEV19MTlNfY29weX0KKysJICAgIHtsaW5lIFtnZGJfZ2V0X2xpbmVfbnVtYmVy ICJiYXIgZW5kIl19CisrCSAgICB7RFdfTE5TX2NvcHl9CisrCSAgICB7RFdfTE5FX3NldF9hZGRy ZXNzICRiYXJfZW5kfQorKwkgICAge0RXX0xOU19hZHZhbmNlX2xpbmUgMX0KKysJICAgIHtEV19M TlNfY29weX0KKysJICAgIHtEV19MTkVfZW5kX3NlcXVlbmNlfQorKwl9CisrICAgIH0KKyt9Cisr CisrIyBDb21waWxlIHRoZSBzaGFyZWQgb2JqZWN0IGFnYWluLCBidXQgdGhpcyB0aW1lIGluY2x1 ZGUgLyB1c2UgdGhlCisrIyBEV0FSRiBpbmZvIHRoYXQgd2UndmUgY3JlYXRlZCBhYm92ZS4gIE5v dGUgdGhhdCAoYWdhaW4pCisrIyAtRElTX1NIQVJFRExJQiBpcyB1c2VkIHRvIHByZXZlbnQgaW5j bHVzaW9uIG9mIG1haW4oKSBpbiB0aGUgc2hhcmVkCisrIyBvYmplY3QuICBBbHNvIG5vdGUgdGhl IHVzZSBvZiB0aGUgIm5vZGVidWciIG9wdGlvbi4gIEFueSBkZWJ1Z2dpbmcKKysjIGluZm9ybWF0 aW9uIHRoYXQgd2UgbmVlZCB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSBEV0FSRiBpbmZvIGNyZWF0 ZWQKKysjIGFib3ZlLgorK2lmIHtbZ2RiX2NvbXBpbGVfc2hsaWIgW2xpc3QgJGxpYnNyYyAkYXNt X2ZpbGVdICRsaWJfc28gXAorKyAgICAgICAgICAgICAgICAgICAgICAge2FkZGl0aW9uYWxfZmxh Z3M9LURJU19TSEFSRURMSUIgbm9kZWJ1Z31dICE9ICIifSB7CisrICAgIHVudGVzdGVkICJmYWls ZWQgdG8gY29tcGlsZSBzaGFyZWQgbGlicmFyeSIKKysgICAgcmV0dXJuCisrfQorKworKyMgQ29t cGlsZSB0aGUgbWFpbiBwcm9ncmFtIGZvciB1c2Ugd2l0aCB0aGUgc2hhcmVkIG9iamVjdC4KKytp ZiBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9IFwK KysgICAgICAgICAgICAgICAgICAgICAgICAkezo6c3JjZmlsZTJ9IFtsaXN0IGRlYnVnIHNobGli PSRsaWJfc29dXSB7CisrICAgIHJldHVybiAtMQorK30KKysKKysjIERvIHdoYXRldmVyIGlzIG5l Y2Vzc2FyeSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgc2hhcmVkIGxpYnJhcnkgaXMKKysjIGxvYWRl ZCBmb3IgcmVtb3RlIHRhcmdldHMuCisrZ2RiX2xvYWRfc2hsaWIgJHtsaWJfc299CisrCisraWYg IVtydW50b19tYWluXSB0aGVuIHsKKysgICAgZmFpbCAiY2FuJ3QgcnVuIHRvIG1haW4iCisrICAg IHJldHVybgorK30KKysKKysjIFN0ZXAgaW50byBmb28gc28gdGhhdCB3ZSBjYW4gZmluaXNoIG91 dCBvZiBpdC4KKytnZGJfdGVzdCAic3RlcCIgImZvbyAuLiBhdCAuKiBmb28gZW5kLioiICJzdGVw IGludG8gZm9vIgorKworKyMgRmluaXNoaW5nIG91dCBvZiBmb28gd2lsbCBjcmVhdGUgYSB2YWx1 ZSB0aGF0IHdpbGwgbGF0ZXIgbmVlZCB0bworKyMgYmUgcHJlc2VydmVkIHdoZW4gcmVzdGFydGlu ZyB0aGUgcHJvZ3JhbS4KKytnZGJfdGVzdCAiZmluaXNoIiAiPSBcXChjbGFzcyBCIFxcKlxcKSAk ezo6aGV4fSAuKiIgImZpbmlzaCBvdXQgb2YgZm9vIgorKworKyMgRGVyZWZlcmVuY2luZyBhbmQg cHJpbnRpbmcgdGhlIHJldHVybiB2YWx1ZSBpc24ndCBuZWNlc3NhcnkKKysjIGZvciByZXByb2R1 Y2luZyB0aGUgYnVnLCBidXQgd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IHRoZQorKyMgcmV0dXJu IHZhbHVlIGlzIHdoYXQgd2UgZXhwZWN0IGl0IHRvIGJlLgorK2dkYl90ZXN0ICJwICokIiB7ID0g ezxBPiA9IHthID0gOCwgeCA9IDl9LCBiID0gMTAsIHgyID0gMTF9fSBcCisrICAgICAgICAgImRl cmVmZXJlbmNlIHJldHVybiB2YWx1ZSIKKysKKysjIFRoZSBvcmlnaW5hbCBQUjI4MDMwIHJlcHJv ZHVjZXIgc3RlcHBlZCBiYWNrIGludG8gdGhlIHNoYXJlZCBvYmplY3QsCisrIyBzbyB3ZSdsbCBk byB0aGUgc2FtZSBoZXJlOgorK2dkYl90ZXN0ICJzdGVwIiAiYmFyIFxcKC4qIiAic3RlcCBpbnRv IGJhciIKKysKKysjIFdlIGRvbid0IHdhbnQgYSBjbGVhbiByZXN0YXJ0IGhlcmUgc2luY2UgdGhh dCB3aWxsIGJlIHRvbyBjbGVhbi4KKysjIFRoZSBvcmlnaW5hbCByZXByb2R1Y2VyIGZvciBQUjI4 MDMwIHNldCBhIGJyZWFrcG9pbnQgaW4gdGhlIHNoYXJlZAorKyMgbGlicmFyeSBhbmQgdGhlbiBy ZXN0YXJ0ZWQgdmlhICJydW4iLiAgVGhlIGNvbW1hbmQgYmVsb3cgZG9lcyByb3VnaGx5CisrIyB0 aGUgc2FtZSB0aGluZy4gIEl0J3MgYXQgdGhpcyBzdGVwIHRoYXQgYW4gaW50ZXJuYWwgZXJyb3Ig d291bGQKKysjIG9jY3VyIGZvciBQUjI4MDMwLiAgVGhlICJtZXNzYWdlIiBhcmd1bWVudCB0ZWxs cyBydW50byB0byB0dXJuIG9uCisrIyB0aGUgcHJpbnRpbmcgb2YgUEFTU2VzIHdoaWxlIHJ1bnRv IGlzIGRvaW5nIGl0cyBqb2IuCisrcnVudG8gImJhciIgbWVzc2FnZQorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9sb2NleHByLWRhdGEtbWVtYmVyLWxvY2F0aW9uLmggYi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvbG9jZXhwci1kYXRhLW1lbWJlci1sb2NhdGlvbi5oCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2xvY2V4cHItZGF0YS1tZW1iZXItbG9jYXRpb24uaAorQEAgLTAsMCArMSwzMCBA QAorKy8qIENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysg ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK3R5cGVkZWYgc3RydWN0IEEgeworKyAgICBsb25n IGE7CisrICAgIGxvbmcgeDsKKyt9IEE7CisrCisrdHlwZWRlZiBzdHJ1Y3QgQiB7CisrICAgIEEg YTsKKysgICAgbG9uZyBiOworKyAgICBsb25nIHgyOworK30gQjsKKysKKytleHRlcm4gQiAqZm9v ICgpOworK2V4dGVybiBCICpiYXIgKEIgKnYpOwoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2Ri LnNwZWMKaW5kZXggYzk0MjYzYy4uNjZiM2U3YSAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIv Z2RiLnNwZWMKQEAgLTExNDQsNiArMTE0NCw5IEBAIGZpCiAKICVjaGFuZ2Vsb2cKICogVGh1IFNl cCAzMCAyMDIxIEFsZXhhbmRyYSBIw6Fqa292w6EgPGFoYWprb3ZhQHJlZGhhdC5jb20+IC0gMTAu Mi05CistIEJhY2twb3J0IHRlc3QgZm9yIFJIQlogMTk3Njg4NyAoS2V2aW4gQnVldHRuZXIpLgor CisqIFRodSBTZXAgMzAgMjAyMSBBbGV4YW5kcmEgSMOhamtvdsOhIDxhaGFqa292YUByZWRoYXQu Y29tPiAtIDEwLjItOQogLSBCYWNrcG9ydCB1cHN0cmVhbSBwYXRjaCB3aGljaCBmaXhlcyBpbnRl cm5hbC1lcnJvcjogVW5leHBlY3RlZAogICB0eXBlIGZpZWxkIGxvY2F0aW9uIGtpbmQgKFJIQlog MTk3Njg4NywgQWxleGFuZHJhIEjDoWprb3bDoSkuCiAK