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 GDB SIGTT* Stopped when using the PID argument (BZ 1136704, Pedro Alves). Date: Thu, 23 Jul 2026 18:31:32 GMT Message-ID: <178483149256.1.18309089178008039179.rpms-gdb-448d46bddf2c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 448d46bddf2c0d6669209bb2699f2f09b2034e6c QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogNDQ4ZDQ2YmRkZjJjMGQ2NjY5MjA5YmIyNjk5ZjJmMDli MjAzNGU2YwpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNC0wOS0wN1QyMToyOToyNyswMjowMApTdGF0cyAgOiArNTc3Ly0xIGlu IDMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dk Yi9jLzQ0OGQ0NmJkZGYyYzBkNjY2OTIwOWJiMjY5OWYyZjA5YjIwMzRlNmM/YnJhbmNoPWZpeC1k dXAtcGF0Y2gKCkxvZzoKRml4IEdEQiBTSUdUVCogU3RvcHBlZCB3aGVuIHVzaW5nIHRoZSBQSUQg YXJndW1lbnQgKEJaIDExMzY3MDQsIFBlZHJvIEFsdmVzKS4KCi0tLQpkaWZmIC0tZ2l0IGEvZ2Ri LWFzeW5jLXN0b3BwZWQtb24tcGlkLWFyZy0xb2YyLnBhdGNoIGIvZ2RiLWFzeW5jLXN0b3BwZWQt b24tcGlkLWFyZy0xb2YyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjVjMzEyZTMKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItYXN5bmMtc3RvcHBlZC1vbi1waWQtYXJn LTFvZjIucGF0Y2gKQEAgLTAsMCArMSwzNTAgQEAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9n ZGItcGF0Y2hlcy8yMDE0LTA5L21zZzAwMTAyLmh0bWwKK1N1YmplY3Q6IFJlOiBSZWdyZXNzaW9u OiBHREIgc3RvcHBlZCBvbiBydW4gd2l0aCBhdHRhY2hlZCBwcm9jZXNzIChQUiAxNzM0NykgIFtS ZTogW3B1c2hlZCs3LjhdIFJlOiBbUEFUQ0hdIEZpeCAiYXR0YWNoIiBjb21tYW5kIHZzIHVzZXIg aW5wdXQgcmFjZQorCitPbiAwOS8wMy8yMDE0IDA4OjU4IEFNLCBKYW4gS3JhdG9jaHZpbCB3cm90 ZToKKworPiBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0x NzM0NworCitUaGFua3MgSmFuLgorCitIZXJlJ3MgYSBmaXgsIHRlc3QgaW5jbHVkZWQuICBDb21t ZW50cz8KKworVGhhbmtzLAorUGVkcm8gQWx2ZXMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KK1tQQVRDSF0gZ2RiLzE3MzQ3IC0gUmVncmVzc2lvbjogR0RCIHN0b3BwZWQgb24gcnVuIHdp dGggYXR0YWNoZWQgcHJvY2VzcworCitEb2luZzoKKworICBnZGIgLS1waWQ9UElEIC1leCBydW4K KworUmVzdWx0cyBpbiBHREIgZ2V0dGluZyBhIFNJR1RUSU4sIGFuZCB0aHVzIGVuZGluZyBzdG9w cGVkLiAgVGhhdCdzCit1c3VhbGx5IGluZGljYXRpdmUgb2YgYSBtaXNzaW5nIHRhcmdldF90ZXJt aW5hbF9vdXJzIGNhbGwuCisKK0UuZy4sIGZyb20gdGhlIFBSOgorCisgJCBzbGVlcCAxaCAmIHA9 JCE7IHNsZWVwIDAuMTsgZ2RiIC1iYXRjaCBzbGVlcCAkcCAtZXggcnVuCisgWzFdIDI4MjYzCisg WzFdICAgS2lsbGVkICAgICAgICAgICAgICAgICAgc2xlZXAgMWgKKworIFsyXSsgIFN0b3BwZWQg ICAgICAgICAgICAgICAgIGdkYiAtYmF0Y2ggc2xlZXAgJHAgLWV4IHJ1bgorCitUaGUgd29ya2Fy b3VuZCBpcyBkb2luZzoKKworIGdkYiAtZXggImF0dGFjaCAkUElEIiAtZXggInJ1biIKKworaW5z dGVhZCBvZgorCisgZ2RiIFstcF0gJFBJRCAtZXggInJ1biIKKworV2l0aCB0aGUgZm9ybWVyLCBn ZGIgd2FpdHMgZm9yIHRoZSBhdHRhY2ggY29tbWFuZCB0byBjb21wbGV0ZSBiZWZvcmUKK21vdmlu ZyBvbiB0byB0aGUgInJ1biIgY29tbWFuZCwgYmVjYXVzZSB0aGUgaW50ZXJwcmV0ZXIgaXMgaW4g c3luYworbW9kZSBhdCB0aGlzIHBvaW50LCB3aXRoaW4gZXhlY3V0ZV9jb21tYW5kLiAgQnV0IGZv ciB0aGUgbGF0dGVyLAorYXR0YWNoX2NvbW1hbmQgaXMgY2FsbGVkIGRpcmVjdGx5IGZyb20gY2Fw dHVyZWRfbWFpbiwgYW5kIHRodXMgbWlzc2VzCit0aGF0IHdhaXRpbmcuICBJT1csICJydW4iIGlz IHJ1bm5pbmcgYmVmb3JlIHRoZSBhdHRhY2ggY29udGludWF0aW9uCitoYXMgcnVuLCBiZWZvcmUg dGhlIHByb2dyYW0gc3RvcHMgYW5kIGF0dGFjaCBjb21wbGV0ZXMuICBUaGUgYnJva2VuCit0ZXJt aW5hbCBzZXR0aW5ncyBhcmUganVzdCBvbmUgc3ltcHRvbSBvZiB0aGF0LiAgQW55IGNvbW1hbmQg dGhhdAorcXVlcmllcyBvciByZXF1aXJlcyBpbnB1dCByZXN1bHRzIGluIHRoZSBzYW1lLgorCitU aGUgZml4IGlzIHRvIHdhaXQgaW4gY2F0Y2hfY29tbWFuZF9lcnJvcnMgKHdoaWNoIGlzIHNwZWNp ZmljIHRvCittYWluLmMgbm93YWRheXMpLCBqdXN0IGxpa2Ugd2Ugd2FpdCBpbiBleGVjdXRlX2Nv bW1hbmQuCisKK2dkYi9DaGFuZ2VMb2c6CisyMDE0LTA5LTAzICBQZWRybyBBbHZlcyAgPHBhbHZl c0ByZWRoYXQuY29tPgorCisJUFIgZ2RiLzE3MzQ3CisJKiBtYWluLmM6IEluY2x1ZGUgImluZnJ1 bi5oIi4KKwkoY2F0Y2hfY29tbWFuZF9lcnJvcnMsIGNhdGNoX2NvbW1hbmRfZXJyb3JzX2NvbnN0 KTogV2FpdCBmb3IgdGhlCisJZm9yZWdyb3VuZCBjb21tYW5kIHRvIGNvbXBsZXRlLgorCSogdG9w LmMgKG1heWJlX3dhaXRfc3luY19jb21tYW5kX2RvbmUpOiBOZXcgZnVuY3Rpb24sIGZhY3RvcmVk IG91dAorCWZyb20gLi4uCisJKG1heWJlX3dhaXRfc3luY19jb21tYW5kX2RvbmUpOiAuLi4gaGVy ZS4KKwkqIHRvcC5oIChtYXliZV93YWl0X3N5bmNfY29tbWFuZF9kb25lKTogTmV3IGRlY2xhcmF0 aW9uLgorCitnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoKKzIwMTQtMDktMDMgIFBlZHJvIEFsdmVz ICA8cGFsdmVzQHJlZGhhdC5jb20+CisKKwlQUiBnZGIvMTczNDcKKwkqIGdkYi5iYXNlL2F0dGFj aC5leHAgKHNwYXduX3Rlc3RfcHJvZyk6IE5ldywgZmFjdG9yZWQgb3V0IGZyb20KKwkuLi4KKwko ZG9fYXR0YWNoX3Rlc3RzLCBkb19jYWxsX2F0dGFjaF90ZXN0cywgZG9fY29tbWFuZF9hdHRhY2hf dGVzdHMpOgorCS4uLiBoZXJlLgorCShnZGJfc3Bhd25fd2l0aF9jbWRsaW5lX29wdHMpOiBOZXcg cHJvY2VkdXJlLgorCSh0ZXN0X2NvbW1hbmRfbGluZV9hdHRhY2hfcnVuKTogTmV3IHByb2NlZHVy ZS4KKwkodG9wIGxldmVsKTogQ2FsbCBpdC4KKy0tLQorIGdkYi9tYWluLmMgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgOSArKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC5leHAg fCAxMTggKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyBnZGIvdG9wLmMg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjYgKysrKystLS0tCisgZ2RiL3RvcC5oICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA4ICsrKworIDQgZmlsZXMgY2hhbmdlZCwgMTE0IGluc2Vy dGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQorCitJbmRleDogZ2RiLTcuOC9nZGIvbWFpbi5jCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gZ2RiLTcuOC5vcmlnL2dkYi9tYWluLmMJMjAxNC0wOS0wNyAxOToxMjo0 NS4wNjY5ODE1ODggKzAyMDAKKysrKyBnZGItNy44L2dkYi9tYWluLmMJMjAxNC0wOS0wNyAxOTox NDoyMi42MTMwOTUyMDEgKzAyMDAKK0BAIC00Nyw2ICs0Nyw3IEBACisgI2luY2x1ZGUgImZpbGVu YW1lcy5oIgorICNpbmNsdWRlICJmaWxlc3R1ZmYuaCIKKyAjaW5jbHVkZSAiZXZlbnQtdG9wLmgi CisrI2luY2x1ZGUgImluZnJ1bi5oIgorIAorIC8qIFRoZSBzZWxlY3RlZCBpbnRlcnByZXRlci4g IFRoaXMgd2lsbCBiZSB1c2VkIGFzIGEgc2V0IGNvbW1hbmQKKyAgICB2YXJpYWJsZSwgc28gaXQg c2hvdWxkIGFsd2F5cyBiZSBtYWxsb2MnZWQgLSBzaW5jZQorQEAgLTM1MCw3ICszNTEsMTEgQEAg Y2F0Y2hfY29tbWFuZF9lcnJvcnMgKGNhdGNoX2NvbW1hbmRfZXJybworIAorICAgVFJZX0NBVENI IChlLCBtYXNrKQorICAgICB7CisrICAgICAgaW50IHdhc19zeW5jID0gc3luY19leGVjdXRpb247 CisrCisgICAgICAgY29tbWFuZCAoYXJnLCBmcm9tX3R0eSk7CisrCisrICAgICAgbWF5YmVfd2Fp dF9zeW5jX2NvbW1hbmRfZG9uZSAod2FzX3N5bmMpOworICAgICB9CisgICByZXR1cm4gaGFuZGxl X2NvbW1hbmRfZXJyb3JzIChlKTsKKyB9CitAQCAtMzY5LDcgKzM3NCwxMSBAQCBjYXRjaF9jb21t YW5kX2Vycm9yc19jb25zdCAoY2F0Y2hfY29tbWFuCisgCisgICBUUllfQ0FUQ0ggKGUsIG1hc2sp CisgICAgIHsKKysgICAgICBpbnQgd2FzX3N5bmMgPSBzeW5jX2V4ZWN1dGlvbjsKKysKKyAgICAg ICBjb21tYW5kIChhcmcsIGZyb21fdHR5KTsKKysKKysgICAgICBtYXliZV93YWl0X3N5bmNfY29t bWFuZF9kb25lICh3YXNfc3luYyk7CisgICAgIH0KKyAgIHJldHVybiBoYW5kbGVfY29tbWFuZF9l cnJvcnMgKGUpOworIH0KK0luZGV4OiBnZGItNy44L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0 YWNoLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03Ljgub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2F0dGFjaC5leHAJMjAxNC0wOS0wNyAxOToxMjo0NS4wNjc5ODE1ODkgKzAyMDAKKysrKyBn ZGItNy44L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLmV4cAkyMDE0LTA5LTA3IDE5OjEy OjQ4LjYwMTk4NTcwNiArMDIwMAorQEAgLTU4LDYgKzU4LDM3IEBAIGlmIFtnZXRfY29tcGlsZXJf aW5mb10geworICAgICByZXR1cm4gLTEKKyB9CisgCisrIyBTdGFydCB0aGUgcHJvZ3JhbSBydW5u aW5nIGFuZCB0aGVuIHdhaXQgZm9yIGEgYml0LCB0byBiZSBzdXJlIHRoYXQKKysjIGl0IGNhbiBi ZSBhdHRhY2hlZCB0by4gIFJldHVybiB0aGUgcHJvY2VzcydzIFBJRC4KKysKKytwcm9jIHNwYXdu X3Rlc3RfcHJvZyB7IGV4ZWN1dGFibGUgfSB7CisrICAgIHNldCB0ZXN0cGlkIFtldmFsIGV4ZWMg JGV4ZWN1dGFibGUgJl0KKysgICAgZXhlYyBzbGVlcCAyCisrICAgIGlmIHsgW2lzdGFyZ2V0ICIq LSotY3lnd2luKiJdIH0geworKwkjIHRlc3RwaWQgaXMgdGhlIEN5Z3dpbiBQSUQsIEdEQiB1c2Vz IHRoZSBXaW5kb3dzIFBJRCwgd2hpY2ggbWlnaHQgYmUKKysJIyBkaWZmZXJlbnQgZHVlIHRvIHRo ZSB3YXkgZm9yay9leGVjIHdvcmtzLgorKwlzZXQgdGVzdHBpZCBbIGV4ZWMgcHMgLWUgfCBnYXdr ICJ7IGlmIChcJDEgPT0gJHRlc3RwaWQpIHByaW50IFwkNDsgfSIgXQorKyAgICB9CisrCisrICAg IHJldHVybiAkdGVzdHBpZAorK30KKysKKysjIFNwYXduIEdEQiB3aXRoIENNRExJTkVfRkxBR1Mg YXBwZW5kZWQgdG8gdGhlIEdEQkZMQUdTIGdsb2JhbC4KKysKKytwcm9jIGdkYl9zcGF3bl93aXRo X2NtZGxpbmVfb3B0cyB7IGNtZGxpbmVfZmxhZ3MgfSB7CisrICAgIGdsb2JhbCBHREJGTEFHUwor KworKyAgICBzZXQgc2F2ZWRfZ2RiZmxhZ3MgJEdEQkZMQUdTCisrCisrICAgIGFwcGVuZCBHREJG TEFHUyAkY21kbGluZV9mbGFncworKworKyAgICBzZXQgcmVzIFtnZGJfc3Bhd25dCisrCisrICAg IHNldCBHREJGTEFHUyAkc2F2ZWRfZ2RiZmxhZ3MKKysKKysgICAgcmV0dXJuICRyZXMKKyt9Cisr CisgcHJvYyBkb19hdHRhY2hfdGVzdHMge30geworICAgICBnbG9iYWwgZ2RiX3Byb21wdAorICAg ICBnbG9iYWwgYmluZmlsZQorQEAgLTcwLDEzICsxMDEsNyBAQCBwcm9jIGRvX2F0dGFjaF90ZXN0 cyB7fSB7CisgICAgICMgU3RhcnQgdGhlIHByb2dyYW0gcnVubmluZyBhbmQgdGhlbiB3YWl0IGZv ciBhIGJpdCwgdG8gYmUgc3VyZQorICAgICAjIHRoYXQgaXQgY2FuIGJlIGF0dGFjaGVkIHRvLgor IAorLSAgICBzZXQgdGVzdHBpZCBbZXZhbCBleGVjICRiaW5maWxlICZdCistICAgIGV4ZWMgc2xl ZXAgMgorLSAgICBpZiB7IFtpc3RhcmdldCAiKi0qLWN5Z3dpbioiXSB9IHsKKy0JIyB0ZXN0cGlk IGlzIHRoZSBDeWd3aW4gUElELCBHREIgdXNlcyB0aGUgV2luZG93cyBQSUQsIHdoaWNoIG1pZ2h0 IGJlCistCSMgZGlmZmVyZW50IGR1ZSB0byB0aGUgd2F5IGZvcmsvZXhlYyB3b3Jrcy4KKy0Jc2V0 IHRlc3RwaWQgWyBleGVjIHBzIC1lIHwgZ2F3ayAieyBpZiAoXCQxID09ICR0ZXN0cGlkKSBwcmlu dCBcJDQ7IH0iIF0KKy0gICAgfQorKyAgICBzZXQgdGVzdHBpZCBbc3Bhd25fdGVzdF9wcm9nICRi aW5maWxlXQorIAorICAgICAjIFZlcmlmeSB0aGF0IHdlIGNhbm5vdCBhdHRhY2ggdG8gbm9uc2Vu c2UuCisgCitAQCAtMjc5LDE2ICszMDQsNyBAQCBwcm9jIGRvX2F0dGFjaF90ZXN0cyB7fSB7Cisg ICAgCisgICAgIHJlbW90ZV9leGVjIGJ1aWxkICJraWxsIC05ICR7dGVzdHBpZH0iCisgCistICAg ICMgU3RhcnQgdGhlIHByb2dyYW0gcnVubmluZyBhbmQgdGhlbiB3YWl0IGZvciBhIGJpdCwgdG8g YmUgc3VyZQorLSAgICAjIHRoYXQgaXQgY2FuIGJlIGF0dGFjaGVkIHRvLgorLSAgIAorLSAgICBz ZXQgdGVzdHBpZCBbZXZhbCBleGVjICRiaW5maWxlICZdCistICAgIGV4ZWMgc2xlZXAgMgorLSAg ICBpZiB7IFtpc3RhcmdldCAiKi0qLWN5Z3dpbioiXSB9IHsKKy0JIyB0ZXN0cGlkIGlzIHRoZSBD eWd3aW4gUElELCBHREIgdXNlcyB0aGUgV2luZG93cyBQSUQsIHdoaWNoIG1pZ2h0IGJlCistCSMg ZGlmZmVyZW50IGR1ZSB0byB0aGUgd2F5IGZvcmsvZXhlYyB3b3Jrcy4KKy0Jc2V0IHRlc3RwaWQg WyBleGVjIHBzIC1lIHwgZ2F3ayAieyBpZiAoXCQxID09ICR0ZXN0cGlkKSBwcmludCBcJDQ7IH0i IF0KKy0gICAgfQorKyAgICBzZXQgdGVzdHBpZCBbc3Bhd25fdGVzdF9wcm9nICRiaW5maWxlXQor IAorICAgICAjIFZlcmlmeSB0aGF0IHdlIGNhbiBhdHRhY2ggdG8gdGhlIHByb2Nlc3MsIGFuZCBm aW5kIGl0cyBhLm91dAorICAgICAjIHdoZW4gd2UncmUgY2QnZCB0byBzb21lIGRpcmVjdG9yeSB0 aGF0IGRvZXNuJ3QgY29udGFpbiB0aGUKK0BAIC0zMzUsMTYgKzM1MSw3IEBAIHByb2MgZG9fY2Fs bF9hdHRhY2hfdGVzdHMge30geworICAgICBnbG9iYWwgZ2RiX3Byb21wdAorICAgICBnbG9iYWwg YmluZmlsZTIKKyAgICAgCistICAgICMgU3RhcnQgdGhlIHByb2dyYW0gcnVubmluZyBhbmQgdGhl biB3YWl0IGZvciBhIGJpdCwgdG8gYmUgc3VyZQorLSAgICAjIHRoYXQgaXQgY2FuIGJlIGF0dGFj aGVkIHRvLgorLSAgIAorLSAgICBzZXQgdGVzdHBpZCBbZXZhbCBleGVjICRiaW5maWxlMiAmXQor LSAgICBleGVjIHNsZWVwIDIKKy0gICAgaWYgeyBbaXN0YXJnZXQgIiotKi1jeWd3aW4qIl0gfSB7 CistCSMgdGVzdHBpZCBpcyB0aGUgQ3lnd2luIFBJRCwgR0RCIHVzZXMgdGhlIFdpbmRvd3MgUElE LCB3aGljaCBtaWdodCBiZQorLQkjIGRpZmZlcmVudCBkdWUgdG8gdGhlIHdheSBmb3JrL2V4ZWMg d29ya3MuCistCXNldCB0ZXN0cGlkIFsgZXhlYyBwcyAtZSB8IGdhd2sgInsgaWYgKFwkMSA9PSAk dGVzdHBpZCkgcHJpbnQgXCQ0OyB9IiBdCistICAgIH0KKysgICAgc2V0IHRlc3RwaWQgW3NwYXdu X3Rlc3RfcHJvZyAkYmluZmlsZTJdCisgCisgICAgICMgQXR0YWNoCisgICAgCitAQCAtMzk3LDE2 ICs0MDQsNyBAQCBwcm9jIGRvX2NvbW1hbmRfYXR0YWNoX3Rlc3RzIHt9IHsKKyAJcmV0dXJuIDAK KyAgICAgfQorIAorLSAgICAjIFN0YXJ0IHRoZSBwcm9ncmFtIHJ1bm5pbmcgYW5kIHRoZW4gd2Fp dCBmb3IgYSBiaXQsIHRvIGJlIHN1cmUKKy0gICAgIyB0aGF0IGl0IGNhbiBiZSBhdHRhY2hlZCB0 by4KKy0KKy0gICAgc2V0IHRlc3RwaWQgW2V2YWwgZXhlYyAkYmluZmlsZSAmXQorLSAgICBleGVj IHNsZWVwIDIKKy0gICAgaWYgeyBbaXN0YXJnZXQgIiotKi1jeWd3aW4qIl0gfSB7CistCSMgdGVz dHBpZCBpcyB0aGUgQ3lnd2luIFBJRCwgR0RCIHVzZXMgdGhlIFdpbmRvd3MgUElELCB3aGljaCBt aWdodCBiZQorLQkjIGRpZmZlcmVudCBkdWUgdG8gdGhlIHdheSBmb3JrL2V4ZWMgd29ya3MuCist CXNldCB0ZXN0cGlkIFsgZXhlYyBwcyAtZSB8IGdhd2sgInsgaWYgKFwkMSA9PSAkdGVzdHBpZCkg cHJpbnQgXCQ0OyB9IiBdCistICAgIH0KKysgICAgc2V0IHRlc3RwaWQgW3NwYXduX3Rlc3RfcHJv ZyAkYmluZmlsZV0KKyAKKyAgICAgZ2RiX2V4aXQKKyAgICAgaWYgJHZlcmJvc2U+MSB0aGVuIHsK K0BAIC00MjksNiArNDI3LDUwIEBAIHByb2MgZG9fY29tbWFuZF9hdHRhY2hfdGVzdHMge30gewor ICAgICByZW1vdGVfZXhlYyBidWlsZCAia2lsbCAtOSAke3Rlc3RwaWR9IgorIH0KKyAKKysjIFRl c3QgJyBnZGIgLS1waWQgUElEIC1leCAicnVuIiAnLiAgR0RCIHVzZWQgdG8gaGF2ZSBhIGJ1ZyB3 aGVyZQorKyMgInJ1biIgd291bGQgcnVuIGJlZm9yZSB0aGUgYXR0YWNoIGZpbmlzaGVkIC0gUFIx NzM0Ny4KKysKKytwcm9jIHRlc3RfY29tbWFuZF9saW5lX2F0dGFjaF9ydW4ge30geworKyAgICBn bG9iYWwgZ2RiX3Byb21wdAorKyAgICBnbG9iYWwgYmluZmlsZQorKyAgICBnbG9iYWwgdmVyYm9z ZQorKyAgICBnbG9iYWwgR0RCCisrICAgIGdsb2JhbCBJTlRFUk5BTF9HREJGTEFHUworKworKyAg ICBpZiAhW2lzbmF0aXZlXSB0aGVuIHsKKysJdW5zdXBwb3J0ZWQgImNvbW1hbmRsaW5lIGF0dGFj aCBydW4gdGVzdCIKKysJcmV0dXJuIDAKKysgICAgfQorKworKyAgICB3aXRoX3Rlc3RfcHJlZml4 ICJjbWRsaW5lIGF0dGFjaCBydW4iIHsKKysJc2V0IHRlc3RwaWQgW3NwYXduX3Rlc3RfcHJvZyAk YmluZmlsZV0KKysKKysJc2V0IHRlc3QgInJ1biB0byBwcm9tcHQiCisrCWdkYl9leGl0CisrCXNl dCByZXMgW2dkYl9zcGF3bl93aXRoX2NtZGxpbmVfb3B0cyAiLS1waWQ9JHRlc3RwaWQgLWV4IFwi c3RhcnRcIiJdCisrCWlmIHsgJHJlcyAhPSAwfSB7CisrCSAgICBmYWlsICR0ZXN0CisrCSAgICBy ZXR1cm4gJHJlcworKwl9CisrCWdkYl90ZXN0X211bHRpcGxlICIiICR0ZXN0IHsKKysJICAgIC1y ZSB7QXR0YWNoaW5nIHRvLipTdGFydCBpdCBmcm9tIHRoZSBiZWdpbm5pbmdcPyBcKHkgb3Igblwp IH0geworKwkJcGFzcyAkdGVzdAorKwkgICAgfQorKwl9CisrCisrCXNlbmRfZ2RiICJ5XG4iCisr CisrCXNldCB0ZXN0ICJydW4gdG8gbWFpbiIKKysJZ2RiX3Rlc3RfbXVsdGlwbGUgIiIgJHRlc3Qg eworKwkgICAgLXJlICJUZW1wb3JhcnkgYnJlYWtwb2ludCAuKiBtYWluIC4qJGdkYl9wcm9tcHQg JCIgeworKwkJcGFzcyAkdGVzdAorKwkgICAgfQorKwl9CisrCisrCSMgR2V0IHJpZCBvZiB0aGUg cHJvY2VzcworKwlyZW1vdGVfZXhlYyBidWlsZCAia2lsbCAtOSAke3Rlc3RwaWR9IgorKyAgICB9 CisrfQorIAorICMgU3RhcnQgd2l0aCBhIGZyZXNoIGdkYgorIAorQEAgLTQ1Myw0ICs0OTUsNiBA QCBkb19jYWxsX2F0dGFjaF90ZXN0cworIAorIGRvX2NvbW1hbmRfYXR0YWNoX3Rlc3RzCisgCisr dGVzdF9jb21tYW5kX2xpbmVfYXR0YWNoX3J1bgorKworIHJldHVybiAwCitJbmRleDogZ2RiLTcu OC9nZGIvdG9wLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy44Lm9yaWcvZ2RiL3RvcC5jCTIwMTQt MDktMDcgMTk6MTI6NDUuMDY3OTgxNTg5ICswMjAwCisrKysgZ2RiLTcuOC9nZGIvdG9wLmMJMjAx NC0wOS0wNyAxOToxMjo0OC42MDE5ODU3MDYgKzAyMDAKK0BAIC0zNzUsNiArMzc1LDIxIEBAIGNo ZWNrX2ZyYW1lX2xhbmd1YWdlX2NoYW5nZSAodm9pZCkKKyAgICAgfQorIH0KKyAKKyt2b2lkCisr bWF5YmVfd2FpdF9zeW5jX2NvbW1hbmRfZG9uZSAoaW50IHdhc19zeW5jKQorK3sKKysgIC8qIElm IHRoZSBpbnRlcnByZXRlciBpcyBpbiBzeW5jIG1vZGUgKHdlJ3JlIHJ1bm5pbmcgYSB1c2VyCisr ICAgICBjb21tYW5kJ3MgbGlzdCwgcnVubmluZyBjb21tYW5kIGhvb2tzIG9yIHNpbWlsYXJzKSwg YW5kIHdlCisrICAgICBqdXN0IHJhbiBhIHN5bmNocm9ub3VzIGNvbW1hbmQgdGhhdCBzdGFydGVk IHRoZSB0YXJnZXQsIHdhaXQKKysgICAgIGZvciB0aGF0IGNvbW1hbmQgdG8gZW5kLiAgKi8KKysg IGlmICghaW50ZXJwcmV0ZXJfYXN5bmMgJiYgIXdhc19zeW5jICYmIHN5bmNfZXhlY3V0aW9uKQor KyAgICB7CisrICAgICAgd2hpbGUgKGdkYl9kb19vbmVfZXZlbnQgKCkgPj0gMCkKKysJaWYgKCFz eW5jX2V4ZWN1dGlvbikKKysJICBicmVhazsKKysgICAgfQorK30KKysKKyAvKiBFeGVjdXRlIHRo ZSBsaW5lIFAgYXMgYSBjb21tYW5kLCBpbiB0aGUgY3VycmVudCB1c2VyIGNvbnRleHQuCisgICAg UGFzcyBGUk9NX1RUWSBhcyBzZWNvbmQgYXJndW1lbnQgdG8gdGhlIGRlZmluaW5nIGZ1bmN0aW9u LiAgKi8KKyAKK0BAIC00NjEsMTYgKzQ3Niw3IEBAIGV4ZWN1dGVfY29tbWFuZCAoY2hhciAqcCwg aW50IGZyb21fdHR5KQorICAgICAgIGVsc2UKKyAJY21kX2Z1bmMgKGMsIGFyZywgZnJvbV90dHkp OworIAorLSAgICAgIC8qIElmIHRoZSBpbnRlcnByZXRlciBpcyBpbiBzeW5jIG1vZGUgKHdlJ3Jl IHJ1bm5pbmcgYSB1c2VyCistCSBjb21tYW5kJ3MgbGlzdCwgcnVubmluZyBjb21tYW5kIGhvb2tz IG9yIHNpbWlsYXJzKSwgYW5kIHdlCistCSBqdXN0IHJhbiBhIHN5bmNocm9ub3VzIGNvbW1hbmQg dGhhdCBzdGFydGVkIHRoZSB0YXJnZXQsIHdhaXQKKy0JIGZvciB0aGF0IGNvbW1hbmQgdG8gZW5k LiAgKi8KKy0gICAgICBpZiAoIWludGVycHJldGVyX2FzeW5jICYmICF3YXNfc3luYyAmJiBzeW5j X2V4ZWN1dGlvbikKKy0JeworLQkgIHdoaWxlIChnZGJfZG9fb25lX2V2ZW50ICgpID49IDApCist CSAgICBpZiAoIXN5bmNfZXhlY3V0aW9uKQorLQkgICAgICBicmVhazsKKy0JfQorKyAgICAgIG1h eWJlX3dhaXRfc3luY19jb21tYW5kX2RvbmUgKHdhc19zeW5jKTsKKyAKKyAgICAgICAvKiBJZiB0 aGlzIGNvbW1hbmQgaGFzIGJlZW4gcG9zdC1ob29rZWQsIHJ1biB0aGUgaG9vayBsYXN0LiAgKi8K KyAgICAgICBleGVjdXRlX2NtZF9wb3N0X2hvb2sgKGMpOworSW5kZXg6IGdkYi03LjgvZ2RiL3Rv cC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuOC5vcmlnL2dkYi90b3AuaAkyMDE0LTA5LTA3IDE5 OjEyOjQ1LjA2ODk4MTU5MCArMDIwMAorKysrIGdkYi03LjgvZ2RiL3RvcC5oCTIwMTQtMDktMDcg MTk6MTI6NDguNjAxOTg1NzA2ICswMjAwCitAQCAtNDIsNiArNDIsMTQgQEAgZXh0ZXJuIHZvaWQg cXVpdF9jb21tYW5kIChjaGFyICosIGludCk7CisgZXh0ZXJuIHZvaWQgcXVpdF9jb3ZlciAodm9p ZCk7CisgZXh0ZXJuIHZvaWQgZXhlY3V0ZV9jb21tYW5kIChjaGFyICosIGludCk7CisgCisrLyog SWYgdGhlIGludGVycHJldGVyIGlzIGluIHN5bmMgbW9kZSAod2UncmUgcnVubmluZyBhIHVzZXIg Y29tbWFuZCdzCisrICAgbGlzdCwgcnVubmluZyBjb21tYW5kIGhvb2tzIG9yIHNpbWlsYXJzKSwg YW5kIHdlIGp1c3QgcmFuIGEKKysgICBzeW5jaHJvbm91cyBjb21tYW5kIHRoYXQgc3RhcnRlZCB0 aGUgdGFyZ2V0LCB3YWl0IGZvciB0aGF0IGNvbW1hbmQKKysgICB0byBlbmQuICBXQVNfU1lOQyBp bmRpY2F0ZXMgd2hldGhlciBzeW5jX2V4ZWN1dGlvbiB3YXMgc2V0IGJlZm9yZQorKyAgIHRoZSBj b21tYW5kIHdhcyBydW4uICAqLworKworK2V4dGVybiB2b2lkIG1heWJlX3dhaXRfc3luY19jb21t YW5kX2RvbmUgKGludCB3YXNfc3luYyk7CisrCisgZXh0ZXJuIHZvaWQgY2hlY2tfZnJhbWVfbGFu Z3VhZ2VfY2hhbmdlICh2b2lkKTsKKyAKKyAvKiBQcmVwYXJlIGZvciBleGVjdXRpb24gb2YgYSBj b21tYW5kLgoKZGlmZiAtLWdpdCBhL2dkYi1hc3luYy1zdG9wcGVkLW9uLXBpZC1hcmctMm9mMi5w YXRjaCBiL2dkYi1hc3luYy1zdG9wcGVkLW9uLXBpZC1hcmctMm9mMi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjgzMzI2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Ri LWFzeW5jLXN0b3BwZWQtb24tcGlkLWFyZy0yb2YyLnBhdGNoCkBAIC0wLDAgKzEsMjE3IEBACito dHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0wOS9tc2cwMDE3NC5odG1s CitTdWJqZWN0OiBSZTogUmVncmVzc2lvbjogR0RCIHN0b3BwZWQgb24gcnVuIHdpdGggYXR0YWNo ZWQgcHJvY2VzcyAoUFIgMTczNDcpIFtSZTogW3B1c2hlZCs3LjhdIFJlOiBbUEFUQ0hdIEZpeCAi YXR0YWNoIiBjb21tYW5kIHZzIHVzZXIgaW5wdXQgcmFjZQorCisKKy0tYThXdDh1MUttd1VYM1ky QworQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCitDb250ZW50LURp c3Bvc2l0aW9uOiBpbmxpbmUKKworT24gV2VkLCAwMyBTZXAgMjAxNCAyMjoxMTowMyArMDIwMCwg UGVkcm8gQWx2ZXMgd3JvdGU6Cis+IE9uIDA5LzAzLzIwMTQgMDg6NTggQU0sIEphbiBLcmF0b2No dmlsIHdyb3RlOgorPiAKKz4gPiBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD0xNzM0NworPiAKKz4gVGhhbmtzIEphbi4KKz4gCis+IEhlcmUncyBhIGZpeCwg dGVzdCBpbmNsdWRlZC4gIENvbW1lbnRzPworCitJbiB0aGUgdGVzdHN1aXRlIHJ1biBmcm9tIHRo ZSBGZWRvcmEgcnBtIHBhY2thZ2luZyBJIGdldDoKKworR05VIGdkYiAoR0RCKSBGZWRvcmEgNy44 LTIxLmZjMjFeTQorQ29weXJpZ2h0IChDKSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLl5NCitMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6 Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPl5NCitUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5eTQorVGhlcmUgaXMgTk8g V0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4gIFR5cGUgInNob3cgY29w eWluZyJeTQorYW5kICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy5eTQorVGhpcyBHREIgd2Fz IGNvbmZpZ3VyZWQgYXMgImk2ODYtcmVkaGF0LWxpbnV4LWdudSIuXk0KK1R5cGUgInNob3cgY29u ZmlndXJhdGlvbiIgZm9yIGNvbmZpZ3VyYXRpb24gZGV0YWlscy5eTQorRm9yIGJ1ZyByZXBvcnRp bmcgaW5zdHJ1Y3Rpb25zLCBwbGVhc2Ugc2VlOl5NCis8aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2dkYi9idWdzLz4uXk0KK0ZpbmQgdGhlIEdEQiBtYW51YWwgYW5kIG90aGVyIGRvY3VtZW50 YXRpb24gcmVzb3VyY2VzIG9ubGluZSBhdDpeTQorPGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9nZGIvZG9jdW1lbnRhdGlvbi8+Ll5NCitGb3IgaGVscCwgdHlwZSAiaGVscCIuXk0KK1R5cGUg ImFwcm9wb3Mgd29yZCIgdG8gc2VhcmNoIGZvciBjb21tYW5kcyByZWxhdGVkIHRvICJ3b3JkIi5e TQorQXR0YWNoaW5nIHRvIHByb2Nlc3MgMjcwMjheTQorUmVhZGluZyBzeW1ib2xzIGZyb20gL3Vu c2FmZWJ1aWxkLWk2ODYtcmVkaGF0LWxpbnV4LWdudS9nZGIvdGVzdHN1aXRlLnVuaXguLW0zMi9v dXRwdXRzL2dkYi5iYXNlL2F0dGFjaC9hdHRhY2guLi5kb25lLl5NCitSZWFkaW5nIHN5bWJvbHMg ZnJvbSAvbGliL2xpYm0uc28uNi4uLlJlYWRpbmcgc3ltYm9scyBmcm9tIC91c3IvbGliL2RlYnVn L3Vzci9saWIvbGlibS0yLjE5LjkwLnNvLmRlYnVnLi4uZG9uZS5eTQorZG9uZS5eTQorTG9hZGVk IHN5bWJvbHMgZm9yIC9saWIvbGlibS5zby42Xk0KK1JlYWRpbmcgc3ltYm9scyBmcm9tIC9saWIv bGliYy5zby42Li4uUmVhZGluZyBzeW1ib2xzIGZyb20gL3Vzci9saWIvZGVidWcvdXNyL2xpYi9s aWJjLTIuMTkuOTAuc28uZGVidWcuLi5kb25lLl5NCitkb25lLl5NCitMb2FkZWQgc3ltYm9scyBm b3IgL2xpYi9saWJjLnNvLjZeTQorUmVhZGluZyBzeW1ib2xzIGZyb20gL2xpYi9sZC1saW51eC5z by4yLi4uUmVhZGluZyBzeW1ib2xzIGZyb20gL3Vzci9saWIvZGVidWcvdXNyL2xpYi9sZC0yLjE5 LjkwLnNvLmRlYnVnLi4uZG9uZS5eTQorZG9uZS5eTQorTG9hZGVkIHN5bWJvbHMgZm9yIC9saWIv bGQtbGludXguc28uMl5NCittYWluICgpXk0KKyAgICBhdCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2F0dGFjaC5jOjE1Xk0KKzE1ICAgICAgIHdoaWxlICghIHNob3VsZF9leGl0KV5NCitUaGUgcHJv Z3JhbSBiZWluZyBkZWJ1Z2dlZCBoYXMgYmVlbiBzdGFydGVkIGFscmVhZHkuXk0KK1N0YXJ0IGl0 IGZyb20gdGhlIGJlZ2lubmluZz8gKHkgb3IgbikgUEFTUzogZ2RiLmJhc2UvYXR0YWNoLmV4cDog Y21kbGluZSBhdHRhY2ggcnVuOiBydW4gdG8gcHJvbXB0Cit5Xk0KK15NCitUZW1wb3JhcnkgYnJl YWtwb2ludCAxIGF0IDB4ODA0ODQ4MTogZmlsZSBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFj aC5jLCBsaW5lIDEzLl5NCitTdGFydGluZyBwcm9ncmFtOiAvdW5zYWZlL2hvbWUvamtyYXRvY2gv aGFtbW9jay8yMDE0MDkwN2ZlZG9yYXJlbDIxLWYyMS9mZWRvcmEtMi0tLVR5cGUgPHJldHVybj4g dG8gY29udGludWUsIG9yIHEgPHJldHVybj4gdG8gcXVpdC0tLUVSUk9SOiBXaW5kb3cgdG9vIHNt YWxsLgorVU5SRVNPTFZFRDogZ2RiLmJhc2UvYXR0YWNoLmV4cDogY21kbGluZSBhdHRhY2ggcnVu OiBydW4gdG8gbWFpbgorCisKK1doaWxlIEkgZG8gbm90IGZ1bGx5IHVuZGVyc3RhbmQgd2h5IHRo YXQgaGFwcGVucyBpbiBldmVyeSBydW4gb2YgdGhhdCBGZWRvcmEKK3Rlc3RzdWl0ZSB3aGlsZSBp dCBuZXZlciBoYXBwZW5zIGR1cmluZyBteSByZXByb2R1Y2liaWxpdHkgYXR0ZW1wdHMgYnkgaGFu ZAorSSBmaW5kIGl0IHVuZGVyc3RhbmRhYmxlIGFuZCB0aGUgRmVkb3JhIHRlc3RzdWl0ZSBpc3N1 ZXMgZG9lcyBnZXQgZml4ZWQgYnkgdGhlCithdHRhY2hlZCBwYXRjaC4KKworCis+IC0tLSBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLmV4cAorPiArKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2F0dGFjaC5leHAKKz4gQEAgLTU4LDYgKzU4LDM3IEBAIGlmIFtnZXRfY29tcGlsZXJf aW5mb10geworPiAgICAgIHJldHVybiAtMQorPiAgfQorPiAgCis+ICsjIFN0YXJ0IHRoZSBwcm9n cmFtIHJ1bm5pbmcgYW5kIHRoZW4gd2FpdCBmb3IgYSBiaXQsIHRvIGJlIHN1cmUgdGhhdAorPiAr IyBpdCBjYW4gYmUgYXR0YWNoZWQgdG8uICBSZXR1cm4gdGhlIHByb2Nlc3MncyBQSUQuCis+ICsK Kz4gK3Byb2Mgc3Bhd25fdGVzdF9wcm9nIHsgZXhlY3V0YWJsZSB9IHsKKz4gKyAgICBzZXQgdGVz dHBpZCBbZXZhbCBleGVjICRleGVjdXRhYmxlICZdCis+ICsgICAgZXhlYyBzbGVlcCAyCisKK1Vu cmVsYXRlZCB0byB0aGlzIHBhdGNoIC0gdGhpcyBwYXRjaCBvbmx5IG1vdmVkIHRoZSBjb2RlLiAg QWxzbyB0aGUgY29kZSBtb3ZlCitjb3VsZCBiZSBhIHNlcGFyYXRlIHBhdGNoOgorCitJIGRvIG5v dCBzZWUgd2h5IHRoZSB0ZXN0c3VpdGUgY29tbW9ubHkgdXNlcyAiZXhlYyBzbGVlcCIgd2hpbGUg aXQgYWxzbyB1c2VzCisic2xlZXAiIGl0c2VsZiB3aGljaCBhbHNvIHdvcmtzIGZpbmUuCisKKwor PiArICAgIGlmIHsgW2lzdGFyZ2V0ICIqLSotY3lnd2luKiJdIH0geworPiArCSMgdGVzdHBpZCBp cyB0aGUgQ3lnd2luIFBJRCwgR0RCIHVzZXMgdGhlIFdpbmRvd3MgUElELCB3aGljaCBtaWdodCBi ZQorPiArCSMgZGlmZmVyZW50IGR1ZSB0byB0aGUgd2F5IGZvcmsvZXhlYyB3b3Jrcy4KKz4gKwlz ZXQgdGVzdHBpZCBbIGV4ZWMgcHMgLWUgfCBnYXdrICJ7IGlmIChcJDEgPT0gJHRlc3RwaWQpIHBy aW50IFwkNDsgfSIgXQorPiArICAgIH0KKz4gKworPiArICAgIHJldHVybiAkdGVzdHBpZAorPiAr fQorWy4uLl0KKz4gQEAgLTQyOSw2ICs0MjcsNTAgQEAgcHJvYyBkb19jb21tYW5kX2F0dGFjaF90 ZXN0cyB7fSB7Cis+ICAgICAgcmVtb3RlX2V4ZWMgYnVpbGQgImtpbGwgLTkgJHt0ZXN0cGlkfSIK Kz4gIH0KKz4gIAorPiArIyBUZXN0ICcgZ2RiIC0tcGlkIFBJRCAtZXggInJ1biIgJy4gIEdEQiB1 c2VkIHRvIGhhdmUgYSBidWcgd2hlcmUKKz4gKyMgInJ1biIgd291bGQgcnVuIGJlZm9yZSB0aGUg YXR0YWNoIGZpbmlzaGVkIC0gUFIxNzM0Ny4KKz4gKworPiArcHJvYyB0ZXN0X2NvbW1hbmRfbGlu ZV9hdHRhY2hfcnVuIHt9IHsKKz4gKyAgICBnbG9iYWwgZ2RiX3Byb21wdAorPiArICAgIGdsb2Jh bCBiaW5maWxlCisKKz4gKyAgICBnbG9iYWwgdmVyYm9zZQorPiArICAgIGdsb2JhbCBHREIKKz4g KyAgICBnbG9iYWwgSU5URVJOQUxfR0RCRkxBR1MKKworVGhlc2UgMyBsaW5lcyBhcmUgdW51c2Vk LgorCisKKz4gKworPiArICAgIGlmICFbaXNuYXRpdmVdIHRoZW4geworPiArCXVuc3VwcG9ydGVk ICJjb21tYW5kbGluZSBhdHRhY2ggcnVuIHRlc3QiCis+ICsJcmV0dXJuIDAKKz4gKyAgICB9Cis+ ICsKKz4gKyAgICB3aXRoX3Rlc3RfcHJlZml4ICJjbWRsaW5lIGF0dGFjaCBydW4iIHsKKz4gKwlz ZXQgdGVzdHBpZCBbc3Bhd25fdGVzdF9wcm9nICRiaW5maWxlXQorPiArCis+ICsJc2V0IHRlc3Qg InJ1biB0byBwcm9tcHQiCis+ICsJZ2RiX2V4aXQKKz4gKwlzZXQgcmVzIFtnZGJfc3Bhd25fd2l0 aF9jbWRsaW5lX29wdHMgIi0tcGlkPSR0ZXN0cGlkIC1leCBcInN0YXJ0XCIiXQorCitIZXJlIHNl ZSB0aGUgYXR0YWNobWVudC4KKworCis+ICsJaWYgeyAkcmVzICE9IDB9IHsKKz4gKwkgICAgZmFp bCAkdGVzdAorPiArCSAgICByZXR1cm4gJHJlcworPiArCX0KKz4gKwlnZGJfdGVzdF9tdWx0aXBs ZSAiIiAkdGVzdCB7Cis+ICsJICAgIC1yZSB7QXR0YWNoaW5nIHRvLipTdGFydCBpdCBmcm9tIHRo ZSBiZWdpbm5pbmdcPyBcKHkgb3IgblwpIH0geworPiArCQlwYXNzICR0ZXN0Cis+ICsJICAgIH0K Kz4gKwl9Cis+ICsKKz4gKwlzZW5kX2dkYiAieVxuIgorPiArCis+ICsJc2V0IHRlc3QgInJ1biB0 byBtYWluIgorPiArCWdkYl90ZXN0X211bHRpcGxlICIiICR0ZXN0IHsKKz4gKwkgICAgLXJlICJU ZW1wb3JhcnkgYnJlYWtwb2ludCAuKiBtYWluIC4qJGdkYl9wcm9tcHQgJCIgeworPiArCQlwYXNz ICR0ZXN0Cis+ICsJICAgIH0KKz4gKwl9Cis+ICsKKz4gKwkjIEdldCByaWQgb2YgdGhlIHByb2Nl c3MKKz4gKwlyZW1vdGVfZXhlYyBidWlsZCAia2lsbCAtOSAke3Rlc3RwaWR9IgorPiArICAgIH0K Kz4gK30KKz4gIAorPiAgIyBTdGFydCB3aXRoIGEgZnJlc2ggZ2RiCis+ICAKKz4gQEAgLTQ1Myw0 ICs0OTUsNiBAQCBkb19jYWxsX2F0dGFjaF90ZXN0cworPiAgCis+ICBkb19jb21tYW5kX2F0dGFj aF90ZXN0cworPiAgCis+ICt0ZXN0X2NvbW1hbmRfbGluZV9hdHRhY2hfcnVuCis+ICsKKz4gIHJl dHVybiAwCis+IGRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKKz4gaW5kZXggZmMy Yjg0ZC4uYmE3MWY4ZiAxMDA2NDQKKz4gLS0tIGEvZ2RiL3RvcC5jCis+ICsrKyBiL2dkYi90b3Au YworPiBAQCAtMzczLDYgKzM3MywyMSBAQCBjaGVja19mcmFtZV9sYW5ndWFnZV9jaGFuZ2UgKHZv aWQpCis+ICAgICAgfQorPiAgfQorPiAgCisKK01pc3Npbmc6CisvKiBTZWUgdG9wLmguICAqLwor CitVbmxlc3MgdGhhdCBydWxlIGZyb20gbWUgaGFzIGJlZW4gYWJhbmRvbmVkLgorCisKKz4gK3Zv aWQKKz4gK21heWJlX3dhaXRfc3luY19jb21tYW5kX2RvbmUgKGludCB3YXNfc3luYykKKz4gK3sK Kz4gKyAgLyogSWYgdGhlIGludGVycHJldGVyIGlzIGluIHN5bmMgbW9kZSAod2UncmUgcnVubmlu ZyBhIHVzZXIKKz4gKyAgICAgY29tbWFuZCdzIGxpc3QsIHJ1bm5pbmcgY29tbWFuZCBob29rcyBv ciBzaW1pbGFycyksIGFuZCB3ZQorPiArICAgICBqdXN0IHJhbiBhIHN5bmNocm9ub3VzIGNvbW1h bmQgdGhhdCBzdGFydGVkIHRoZSB0YXJnZXQsIHdhaXQKKz4gKyAgICAgZm9yIHRoYXQgY29tbWFu ZCB0byBlbmQuICAqLworPiArICBpZiAoIWludGVycHJldGVyX2FzeW5jICYmICF3YXNfc3luYyAm JiBzeW5jX2V4ZWN1dGlvbikKKz4gKyAgICB7Cis+ICsgICAgICB3aGlsZSAoZ2RiX2RvX29uZV9l dmVudCAoKSA+PSAwKQorPiArCWlmICghc3luY19leGVjdXRpb24pCis+ICsJICBicmVhazsKKz4g KyAgICB9Cis+ICt9Cis+ICsKKz4gIC8qIEV4ZWN1dGUgdGhlIGxpbmUgUCBhcyBhIGNvbW1hbmQs IGluIHRoZSBjdXJyZW50IHVzZXIgY29udGV4dC4KKz4gICAgIFBhc3MgRlJPTV9UVFkgYXMgc2Vj b25kIGFyZ3VtZW50IHRvIHRoZSBkZWZpbmluZyBmdW5jdGlvbi4gICovCis+ICAKKworCitUaGFu a3MsCitKYW4KKworLS1hOFd0OHUxS213VVgzWTJDCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 IGNoYXJzZXQ9dXMtYXNjaWkKK0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9 MQorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2guZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2guZXhwCitpbmRleCBjOTRjMTI3Li42ZTU2NmEzIDEw MDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2guZXhwCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC5leHAKK0BAIC00NDcsNyArNDQ0LDggQEAgcHJvYyB0 ZXN0X2NvbW1hbmRfbGluZV9hdHRhY2hfcnVuIHt9IHsKKyAKKyAJc2V0IHRlc3QgInJ1biB0byBw cm9tcHQiCisgCWdkYl9leGl0CistCXNldCByZXMgW2dkYl9zcGF3bl93aXRoX2NtZGxpbmVfb3B0 cyAiLS1waWQ9JHRlc3RwaWQgLWV4IFwic3RhcnRcIiJdCisrCXNldCByZXMgW2dkYl9zcGF3bl93 aXRoX2NtZGxpbmVfb3B0cyBcCisrCQkgIi1pZXggc2V0XFwgaGVpZ2h0XFwgMCAtaWV4IHNldFxc IHdpZHRoXFwgMCAtLXBpZD0kdGVzdHBpZCAtZXggXCJzdGFydFwiIl0KKyAJaWYgeyAkcmVzICE9 IDB9IHsKKyAJICAgIGZhaWwgJHRlc3QKKyAJICAgIHJldHVybiAkcmVzCisKKy0tYThXdDh1MUtt d1VYM1kyQy0tCisKCmRpZmYgLS1naXQgYS9nZGIuc3BlYyBiL2dkYi5zcGVjCmluZGV4IGViYWIx NjkuLjg1MDM5OGQgMTAwNjQ0Ci0tLSBhL2dkYi5zcGVjCisrKyBiL2dkYi5zcGVjCkBAIC0yNiw3 ICsyNiw3IEBAIFZlcnNpb246IDcuOAogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBh IGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlz IG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21w YXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDIwJXs/ZGlzdH0KK1JlbGVhc2U6IDIx JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFu ZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2Misg YW5kIEJTRCBhbmQgUHVibGljIERvbWFpbiBhbmQgR0ZETAogR3JvdXA6IERldmVsb3BtZW50L0Rl YnVnZ2VycwpAQCAtNTM1LDYgKzUzNSwxMCBAQCBQYXRjaDkyNzogZ2RiLXB5dGhvbi1naWwucGF0 Y2gKICMgRml4IGNyYXNoIG9uIFB5dGhvbiBmcmFtZSBmaWx0ZXJzIHdpdGggdW5yZWFkYWJsZSBh cmcgKEJaIDExMjYxNzcpLgogUGF0Y2g5Mjk6IHB5dGhvbi1mcmFtZWZpbHRlci1pbnZhbGlkYXJn LnBhdGNoCiAKKyMgRml4IEdEQiBTSUdUVCogU3RvcHBlZCB3aGVuIHVzaW5nIHRoZSBQSUQgYXJn dW1lbnQgKEJaIDExMzY3MDQsIFBlZHJvIEFsdmVzKS4KK1BhdGNoOTMwOiBnZGItYXN5bmMtc3Rv cHBlZC1vbi1waWQtYXJnLTFvZjIucGF0Y2gKK1BhdGNoOTMxOiBnZGItYXN5bmMtc3RvcHBlZC1v bi1waWQtYXJnLTJvZjIucGF0Y2gKKwogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2 CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0Y2g2 NDI6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC04MjIsNiArODI2LDggQEAg ZmluZCAtbmFtZSAiKi5pbmZvKiJ8eGFyZ3Mgcm0gLWYKICVwYXRjaDkyOCAtcDEKICVwYXRjaDky NyAtcDEKICVwYXRjaDkyOSAtcDEKKyVwYXRjaDkzMCAtcDEKKyVwYXRjaDkzMSAtcDEKIAogJXBh dGNoODQ4IC1wMQogJWlmIDAleyE/ZWw2OjF9CkBAIC0xMzE3LDYgKzEzMjMsOSBAQCB0aGVuCiBm aQogCiAlY2hhbmdlbG9nCisqIFN1biBTZXAgIDcgMjAxNCBKYW4gS3JhdG9jaHZpbCA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjgtMjEuZmMyMQorLSBGaXggR0RCIFNJR1RUKiBTdG9w cGVkIHdoZW4gdXNpbmcgdGhlIFBJRCBhcmd1bWVudCAoQlogMTEzNjcwNCwgUGVkcm8gQWx2ZXMp LgorCiAqIFdlZCBBdWcgMjAgMjAxNCBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4gLSA3LjgtMjAuZmMyMQogLSBGaXggYmFiZWx0cmFjZSBlcnJvcnMgKFlhbyBRaSku CiAtIEZpeCBjcmFzaCBvbiBQeXRob24gZnJhbWUgZmlsdGVycyB3aXRoIHVucmVhZGFibGUgYXJn IChCWiAxMTI2MTc3KS4K