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: Michael Catanzaro To: git-commits@fedoraproject.org Subject: [rpms/glib2] cve-2026-58016-f44: Add patch to revert gcancellable changes, try 2 Date: Tue, 11 Aug 2026 10:38:28 GMT Message-ID: <178644470880.1.6725285222313818185.rpms-glib2-9725f2015c03@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: 9725f2015c03ef45a6cd31e6cf8ed812b1aa7ce3 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2xpYjIKICAgICAgICAgICAgQnJhbmNoIDogY3ZlLTIwMjYtNTgwMTYtZjQ0 CiAgICAgICAgICAgIENvbW1pdCA6IDk3MjVmMjAxNWMwM2VmNDVhNmNkMzFlNmNmOGVkODEyYjFh YTdjZTMKICAgICAgICAgICAgQXV0aG9yIDogTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9A cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNS0wMS0yMlQxNzoxNzo0Ny0wNjow MAogICAgICAgICAgICBTdGF0cyAgOiArNzA4Ly0wIGluIDIgZmlsZShzKQogICAgICAgICAgICBV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dsaWIyL2MvOTcyNWYy MDE1YzAzZWY0NWE2Y2QzMWU2Y2Y4ZWQ4MTJiMWFhN2NlMz9icmFuY2g9Y3ZlLTIwMjYtNTgwMTYt ZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIEFkZCBwYXRjaCB0byByZXZlcnQgZ2Nh bmNlbGxhYmxlIGNoYW5nZXMsIHRyeSAyCgpZYWFrb3Ygbm90aWNlZCB3ZSBmb3Jnb3QgdG8gYXBw bHkgdGhlIHBhdGNoLgoKLS0tCmRpZmYgLS1naXQgYS9nbGliMi5zcGVjIGIvZ2xpYjIuc3BlYwpp bmRleCBjZjFhYWQ1Li4yNmY4MzhlIDEwMDY0NAotLS0gYS9nbGliMi5zcGVjCisrKyBiL2dsaWIy LnNwZWMKQEAgLTE1LDYgKzE1LDkgQEAgUGF0Y2g6ICAgICAgICAgIGdudXRscy1obWFjLnBhdGNo CiAjIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjIwNAog UGF0Y2g6ICAgICAgICAgIGRlZmF1bHQtdGVybWluYWwucGF0Y2gKIAorIyBodHRwczovL2dpdGxh Yi5nbm9tZS5vcmcvR05PTUUvZ2xpYi8tL21lcmdlX3JlcXVlc3RzLzQ0NTkKK1BhdGNoOiAgICAg ICAgICByZXZlcnQtZ2NhbmNlbGxhYmxlLWNoYW5nZXMucGF0Y2gKKwogQnVpbGRSZXF1aXJlczog IGdjYwogQnVpbGRSZXF1aXJlczogIGdjYy1jKysKIEJ1aWxkUmVxdWlyZXM6ICBnZXR0ZXh0Cgpk aWZmIC0tZ2l0IGEvcmV2ZXJ0LWdjYW5jZWxsYWJsZS1jaGFuZ2VzLnBhdGNoIGIvcmV2ZXJ0LWdj YW5jZWxsYWJsZS1jaGFuZ2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjYxOWMzZjAKLS0tIC9kZXYvbnVsbAorKysgYi9yZXZlcnQtZ2NhbmNlbGxhYmxlLWNoYW5n ZXMucGF0Y2gKQEAgLTAsMCArMSw3MDUgQEAKK0Zyb20gZTIzOWRlZWQ5NGE2MTNjMDNiODI5NmFl MjdiNWY0MTQyYjk2MWVlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG5tb250ZXJv IDxubW9udGVyb0ByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAyMSBKYW4gMjAyNSAxNzozMjo0MSAr MDEwMAorU3ViamVjdDogW1BBVENIIDEvNF0gUmV2ZXJ0ICJnY2FuY2VsbGFibGU6IE1hcmsgYXNz ZXJ0LW9ubHkgdmFyaWFibGUgYXMKKyB1bnVzZWQiCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgNmM2 NzlmYjM3YTBiZmVlZDdiZWI0MmQxYjFlMzU5MDcxM2VhYzEwYy4KKy0tLQorIGdpby9nY2FuY2Vs bGFibGUuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKKworZGlmZiAtLWdpdCBhL2dpby9nY2FuY2VsbGFibGUuYyBiL2dpby9nY2FuY2VsbGFi bGUuYworaW5kZXggMjdkZDA2MzcwLi5hYmY1ODc4ZWQgMTAwNjQ0CistLS0gYS9naW8vZ2NhbmNl bGxhYmxlLmMKKysrKyBiL2dpby9nY2FuY2VsbGFibGUuYworQEAgLTY2NCw3ICs2NjQsNyBAQCBj YW5jZWxsYWJsZV9zb3VyY2VfY2FuY2VsbGVkIChHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlLAor IHsKKyAgIEdTb3VyY2UgKnNvdXJjZSA9IHVzZXJfZGF0YTsKKyAgIEdDYW5jZWxsYWJsZVNvdXJj ZSAqY2FuY2VsbGFibGVfc291cmNlID0gKEdDYW5jZWxsYWJsZVNvdXJjZSAqKSBzb3VyY2U7Cist ICBnYm9vbGVhbiBjYWxsYmFja193YXNfbm90X2NhbGxlZCBHX0dOVUNfVU5VU0VEOworKyAgZ2Jv b2xlYW4gY2FsbGJhY2tfd2FzX25vdF9jYWxsZWQ7CisgCisgICBnX3NvdXJjZV9yZWYgKHNvdXJj ZSk7CisgICBnX3NvdXJjZV9zZXRfcmVhZHlfdGltZSAoc291cmNlLCAwKTsKKy0tIAorMi40Ny4x CisKKworRnJvbSAyZWVjOTZiY2ZiNjU0Y2NiNDZjMmNhMGVlNTFkNWM5YTk3MjI3OWFjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbm1vbnRlcm8gPG5tb250ZXJvQHJlZGhhdC5jb20+ CitEYXRlOiBUdWUsIDIxIEphbiAyMDI1IDE3OjMyOjU5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0gg Mi80XSBSZXZlcnQgImdjYW5jZWxsYWJsZTogUmVmZXJlbmNlIHRoZSBvYmplY3QgYmVmb3JlIGxv Y2tpbmcKKyB3aGVuIGRvaW5nIHNpZ25hbCBlbWlzc2lvbiIKKworVGhpcyByZXZlcnRzIGNvbW1p dCA1NGQ5YzI2YjM0ZDcwYmU5YTFlNTUxOWJmMDNkNzI3MzM0YzUyZTBhLgorLS0tCisgZ2lvL2dj YW5jZWxsYWJsZS5jIHwgNiArLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naW8vZ2NhbmNlbGxhYmxlLmMgYi9naW8v Z2NhbmNlbGxhYmxlLmMKK2luZGV4IGFiZjU4NzhlZC4uMjI3ZDU2ZDJlIDEwMDY0NAorLS0tIGEv Z2lvL2djYW5jZWxsYWJsZS5jCisrKysgYi9naW8vZ2NhbmNlbGxhYmxlLmMKK0BAIC00OTUsMTYg KzQ5NSwxMSBAQCBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJs ZSkKKyAKKyAgIHByaXYgPSBjYW5jZWxsYWJsZS0+cHJpdjsKKyAKKy0gIC8qIFdlIGFkZCBhIHJl ZmVyZW5jZSBiZWZvcmUgbG9ja2luZywgdG8gYXZvaWQgdGhhdCBwb3RlbnRpYWwgdG9nZ2xlCist ICAgKiBub3RpZmljYXRpb25zIG9uIHRoZSBvYmplY3QgbWlnaHQgaGFwcGVuIHdoaWxlIHdlJ3Jl IGxvY2tlZC4KKy0gICAqLworLSAgZ19vYmplY3RfcmVmIChjYW5jZWxsYWJsZSk7CisgICBnX211 dGV4X2xvY2sgKCZwcml2LT5tdXRleCk7CisgCisgICBpZiAoIWdfYXRvbWljX2ludF9jb21wYXJl X2FuZF9leGNoYW5nZSAoJnByaXYtPmNhbmNlbGxlZCwgRkFMU0UsIFRSVUUpKQorICAgICB7Cisg ICAgICAgZ19tdXRleF91bmxvY2sgKCZwcml2LT5tdXRleCk7CistICAgICAgZ19vYmplY3RfdW5y ZWYgKGNhbmNlbGxhYmxlKTsKKyAgICAgICByZXR1cm47CisgICAgIH0KKyAKK0BAIC01MTMsNiAr NTA4LDcgQEAgZ19jYW5jZWxsYWJsZV9jYW5jZWwgKEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGUp CisgICBpZiAocHJpdi0+d2FrZXVwKQorICAgICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBf c2lnbmFsKSAocHJpdi0+d2FrZXVwKTsKKyAKKysgIGdfb2JqZWN0X3JlZiAoY2FuY2VsbGFibGUp OworICAgZ19zaWduYWxfZW1pdCAoY2FuY2VsbGFibGUsIHNpZ25hbHNbQ0FOQ0VMTEVEXSwgMCk7 CisgCisgICBpZiAoZ19hdG9taWNfaW50X2RlY19hbmRfdGVzdCAoJnByaXYtPmNhbmNlbGxlZF9y dW5uaW5nKSkKKy0tIAorMi40Ny4xCisKKworRnJvbSA2YmZkYzJkYmQ0YTc3ZWU0YmE5MjE1NGRj MjBkNjkwOGUwYTliZDY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbm1vbnRlcm8g PG5tb250ZXJvQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDIxIEphbiAyMDI1IDE3OjMzOjE2ICsw MTAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBSZXZlcnQgIkdDYW5jZWxsYWJsZTogVXNlIHBlci1p bnN0YW5jZSBtdXRleCBsb2dpYworIGluc3RlYWQgb2YgZ2xvYmFsIGNyaXRpY2FsIHNlY3Rpb25z IgorCitUaGlzIHJldmVydHMgY29tbWl0IDNhMDdiMmFiZDQwMDZkYTMzY2RmYjA5MTZiMjY2YTIx MDcwYTQ3ZDYuCistLS0KKyBnaW8vZ2NhbmNlbGxhYmxlLmMgICAgICB8IDE5OSArKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgZ2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMg fCAgMTAgKy0KKyBnaW8vdGVzdHMvZ21lbnVtb2RlbC5jICB8ICAyMiArKystLQorIDMgZmlsZXMg Y2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDEwMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL2dpby9nY2FuY2VsbGFibGUuYyBiL2dpby9nY2FuY2VsbGFibGUuYworaW5kZXggMjI3ZDU2 ZDJlLi5jMzU3MjkxMGUgMTAwNjQ0CistLS0gYS9naW8vZ2NhbmNlbGxhYmxlLmMKKysrKyBiL2dp by9nY2FuY2VsbGFibGUuYworQEAgLTEsNyArMSw2IEBACisgLyogR0lPIC0gR0xpYiBJbnB1dCwg T3V0cHV0IGFuZCBTdHJlYW1pbmcgTGlicmFyeQorICAqIAorICAqIENvcHlyaWdodCAoQykgMjAw Ni0yMDA3IFJlZCBIYXQsIEluYy4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMjItMjAyNCBDYW5vbmlj YWwsIEx0ZC4KKyAgKgorICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMS1vci1s YXRlcgorICAqCitAQCAtMTksNyArMTgsNiBAQAorICAqIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdp dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCisgICoKKyAgKiBBdXRob3I6IEFsZXhhbmRlciBMYXJzc29uIDxhbGV4bEByZWRoYXQuY29t PgorLSAqIEF1dGhvcjogTWFyY28gVHJldmlzYW4gPG1hcmNvLnRyZXZpc2FuQGNhbm9uaWNhbC5j b20+CisgICovCisgCisgI2luY2x1ZGUgImNvbmZpZy5oIgorQEAgLTQ3LDEyICs0NSwxNCBAQCBl bnVtIHsKKyAKKyBzdHJ1Y3QgX0dDYW5jZWxsYWJsZVByaXZhdGUKKyB7CistICAvKiBBdG9taWMg c28gdGhhdCB3ZSBkb24ndCByZXF1aXJlIGhvbGRpbmcgZ2xvYmFsIG11dGV4ZXMgZm9yIGluZGVw ZW5kZW50IG9wcy4gKi8KKysgIC8qIEF0b21pYyBzbyB0aGF0IGdfY2FuY2VsbGFibGVfaXNfY2Fu Y2VsbGVkIGRvZXMgbm90IHJlcXVpcmUgaG9sZGluZyB0aGUgbXV0ZXguICovCisgICBnYm9vbGVh biBjYW5jZWxsZWQ7CistICBpbnQgY2FuY2VsbGVkX3J1bm5pbmc7CisrICAvKiBBY2Nlc3MgdG8g ZmllbGRzIGJlbG93IGlzIHByb3RlY3RlZCBieSBjYW5jZWxsYWJsZV9tdXRleC4gKi8KKysgIGd1 aW50IGNhbmNlbGxlZF9ydW5uaW5nIDogMTsKKysgIGd1aW50IGNhbmNlbGxlZF9ydW5uaW5nX3dh aXRpbmcgOiAxOworKyAgdW5zaWduZWQgY2FuY2VsbGVkX2VtaXNzaW9uczsKKysgIHVuc2lnbmVk IGNhbmNlbGxlZF9lbWlzc2lvbnNfd2FpdGluZyA6IDE7CisgCistICAvKiBBY2Nlc3MgdG8gZmll bGRzIGJlbG93IGlzIHByb3RlY3RlZCBieSBjYW5jZWxsYWJsZSdzIG11dGV4LiAqLworLSAgR011 dGV4IG11dGV4OworICAgZ3VpbnQgZmRfcmVmY291bnQ7CisgICBHV2FrZXVwICp3YWtldXA7Cisg fTsKK0BAIC02Miw2ICs2Miw3IEBAIHN0YXRpYyBndWludCBzaWduYWxzW0xBU1RfU0lHTkFMXSA9 IHsgMCB9OworIEdfREVGSU5FX1RZUEVfV0lUSF9QUklWQVRFIChHQ2FuY2VsbGFibGUsIGdfY2Fu Y2VsbGFibGUsIEdfVFlQRV9PQkpFQ1QpCisgCisgc3RhdGljIEdQcml2YXRlIGN1cnJlbnRfY2Fu Y2VsbGFibGU7Cisrc3RhdGljIEdNdXRleCBjYW5jZWxsYWJsZV9tdXRleDsKKyBzdGF0aWMgR0Nv bmQgY2FuY2VsbGFibGVfY29uZDsKKyAKKyBzdGF0aWMgdm9pZAorQEAgLTY5LDE1ICs3MCw5IEBA IGdfY2FuY2VsbGFibGVfZmluYWxpemUgKEdPYmplY3QgKm9iamVjdCkKKyB7CisgICBHQ2FuY2Vs bGFibGUgKmNhbmNlbGxhYmxlID0gR19DQU5DRUxMQUJMRSAob2JqZWN0KTsKKyAKKy0gIC8qIFdl J3JlIGF0IGZpbmFsaXphdGlvbiBwaGFzZSwgc28gb25seSBvbmUgdGhyZWFkIGNhbiBiZSBoZXJl LgorLSAgICogVGh1cyB0aGVyZSdzIG5vIG5lZWQgdG8gbG9jay4gSW4gY2FzZSBzb21ldGhpbmcg aXMgbG9ja2luZyB1cywgdGhlbiB3ZSd2ZQorLSAgICogYSBidWcsIGFuZCBnX211dGV4X2NsZWFy KCkgd2lsbCBtYWtlIHRoaXMgY2xlYXIgYWJvcnRpbmcuCistICAgKi8KKyAgIGlmIChjYW5jZWxs YWJsZS0+cHJpdi0+d2FrZXVwKQorICAgICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfZnJl ZSkgKGNhbmNlbGxhYmxlLT5wcml2LT53YWtldXApOworIAorLSAgZ19tdXRleF9jbGVhciAoJmNh bmNlbGxhYmxlLT5wcml2LT5tdXRleCk7CistCisgICBHX09CSkVDVF9DTEFTUyAoZ19jYW5jZWxs YWJsZV9wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0KTsKKyB9CisgCitAQCAtMTU5LDgg KzE1NCw2IEBAIHN0YXRpYyB2b2lkCisgZ19jYW5jZWxsYWJsZV9pbml0IChHQ2FuY2VsbGFibGUg KmNhbmNlbGxhYmxlKQorIHsKKyAgIGNhbmNlbGxhYmxlLT5wcml2ID0gZ19jYW5jZWxsYWJsZV9n ZXRfaW5zdGFuY2VfcHJpdmF0ZSAoY2FuY2VsbGFibGUpOworLQorLSAgZ19tdXRleF9pbml0ICgm Y2FuY2VsbGFibGUtPnByaXYtPm11dGV4KTsKKyB9CisgCisgLyoqCitAQCAtMjcyLDE3ICsyNjUs MjggQEAgZ19jYW5jZWxsYWJsZV9yZXNldCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSkKKyAK KyAgIGdfcmV0dXJuX2lmX2ZhaWwgKEdfSVNfQ0FOQ0VMTEFCTEUgKGNhbmNlbGxhYmxlKSk7Cisg CisrICBnX211dGV4X2xvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisrCisgICBwcml2ID0gY2Fu Y2VsbGFibGUtPnByaXY7CisgCistICBnX211dGV4X2xvY2sgKCZwcml2LT5tdXRleCk7CisrICB3 aGlsZSAocHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcgfHwgcHJpdi0+Y2FuY2VsbGVkX2VtaXNzaW9u cyA+IDApCisrICAgIHsKKysgICAgICBpZiAocHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcpCisrICAg ICAgICBwcml2LT5jYW5jZWxsZWRfcnVubmluZ193YWl0aW5nID0gVFJVRTsKKysKKysgICAgICBp ZiAocHJpdi0+Y2FuY2VsbGVkX2VtaXNzaW9ucyA+IDApCisrICAgICAgICBwcml2LT5jYW5jZWxs ZWRfZW1pc3Npb25zX3dhaXRpbmcgPSBUUlVFOworIAorLSAgaWYgKGdfYXRvbWljX2ludF9jb21w YXJlX2FuZF9leGNoYW5nZSAoJnByaXYtPmNhbmNlbGxlZCwgVFJVRSwgRkFMU0UpKQorKyAgICAg IGdfY29uZF93YWl0ICgmY2FuY2VsbGFibGVfY29uZCwgJmNhbmNlbGxhYmxlX211dGV4KTsKKysg ICAgfQorKworKyAgaWYgKGdfYXRvbWljX2ludF9leGNoYW5nZSAoJnByaXYtPmNhbmNlbGxlZCwg RkFMU0UpKQorICAgICB7CisgICAgICAgaWYgKHByaXYtPndha2V1cCkKKyAgICAgICAgIEdMSUJf UFJJVkFURV9DQUxMIChnX3dha2V1cF9hY2tub3dsZWRnZSkgKHByaXYtPndha2V1cCk7CisgICAg IH0KKyAKKy0gIGdfbXV0ZXhfdW5sb2NrICgmcHJpdi0+bXV0ZXgpOworKyAgZ19tdXRleF91bmxv Y2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisgfQorIAorIC8qKgorQEAgLTQwMCwyOSArNDA0LDI2 IEBAIGdfY2FuY2VsbGFibGVfZ2V0X2ZkIChHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlKQorIGdi b29sZWFuCisgZ19jYW5jZWxsYWJsZV9tYWtlX3BvbGxmZCAoR0NhbmNlbGxhYmxlICpjYW5jZWxs YWJsZSwgR1BvbGxGRCAqcG9sbGZkKQorIHsKKy0gIEdDYW5jZWxsYWJsZVByaXZhdGUgKnByaXY7 CistCisgICBnX3JldHVybl92YWxfaWZfZmFpbCAocG9sbGZkICE9IE5VTEwsIEZBTFNFKTsKKyAg IGlmIChjYW5jZWxsYWJsZSA9PSBOVUxMKQorICAgICByZXR1cm4gRkFMU0U7CisgICBnX3JldHVy bl92YWxfaWZfZmFpbCAoR19JU19DQU5DRUxMQUJMRSAoY2FuY2VsbGFibGUpLCBGQUxTRSk7Cisg CistICBwcml2ID0gY2FuY2VsbGFibGUtPnByaXY7CisrICBnX211dGV4X2xvY2sgKCZjYW5jZWxs YWJsZV9tdXRleCk7CisgCistICBnX211dGV4X2xvY2sgKCZwcml2LT5tdXRleCk7CisrICBjYW5j ZWxsYWJsZS0+cHJpdi0+ZmRfcmVmY291bnQrKzsKKyAKKy0gIGlmICgocHJpdi0+ZmRfcmVmY291 bnQrKykgPT0gMCkKKysgIGlmIChjYW5jZWxsYWJsZS0+cHJpdi0+d2FrZXVwID09IE5VTEwpCisg ICAgIHsKKy0gICAgICBwcml2LT53YWtldXAgPSBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBf bmV3KSAoKTsKKysgICAgICBjYW5jZWxsYWJsZS0+cHJpdi0+d2FrZXVwID0gR0xJQl9QUklWQVRF X0NBTEwgKGdfd2FrZXVwX25ldykgKCk7CisgCistICAgICAgaWYgKGdfYXRvbWljX2ludF9nZXQg KCZwcml2LT5jYW5jZWxsZWQpKQorLSAgICAgICAgR0xJQl9QUklWQVRFX0NBTEwgKGdfd2FrZXVw X3NpZ25hbCkgKHByaXYtPndha2V1cCk7CisrICAgICAgaWYgKGdfYXRvbWljX2ludF9nZXQgKCZj YW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkKSkKKysgICAgICAgIEdMSUJfUFJJVkFURV9DQUxM IChnX3dha2V1cF9zaWduYWwpIChjYW5jZWxsYWJsZS0+cHJpdi0+d2FrZXVwKTsKKyAgICAgfQor IAorLSAgZ19hc3NlcnQgKHByaXYtPndha2V1cCk7CistICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193 YWtldXBfZ2V0X3BvbGxmZCkgKHByaXYtPndha2V1cCwgcG9sbGZkKTsKKysgIEdMSUJfUFJJVkFU RV9DQUxMIChnX3dha2V1cF9nZXRfcG9sbGZkKSAoY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCwg cG9sbGZkKTsKKyAKKy0gIGdfbXV0ZXhfdW5sb2NrICgmcHJpdi0+bXV0ZXgpOworKyAgZ19tdXRl eF91bmxvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisgCisgICByZXR1cm4gVFJVRTsKKyB9CitA QCAtNDQ2LDIyICs0NDcsMjYgQEAgZ19jYW5jZWxsYWJsZV9tYWtlX3BvbGxmZCAoR0NhbmNlbGxh YmxlICpjYW5jZWxsYWJsZSwgR1BvbGxGRCAqcG9sbGZkKQorIHZvaWQKKyBnX2NhbmNlbGxhYmxl X3JlbGVhc2VfZmQgKEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGUpCisgeworKyAgR0NhbmNlbGxh YmxlUHJpdmF0ZSAqcHJpdjsKKysKKyAgIGlmIChjYW5jZWxsYWJsZSA9PSBOVUxMKQorICAgICBy ZXR1cm47CisgCisgICBnX3JldHVybl9pZl9mYWlsIChHX0lTX0NBTkNFTExBQkxFIChjYW5jZWxs YWJsZSkpOworIAorLSAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGUtPnByaXYtPm11dGV4KTsK KysgIHByaXYgPSBjYW5jZWxsYWJsZS0+cHJpdjsKKyAKKy0gIGdfYXNzZXJ0IChjYW5jZWxsYWJs ZS0+cHJpdi0+ZmRfcmVmY291bnQgPiAwKTsKKysgIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxl X211dGV4KTsKKysgIGdfYXNzZXJ0IChwcml2LT5mZF9yZWZjb3VudCA+IDApOworIAorLSAgaWYg KChjYW5jZWxsYWJsZS0+cHJpdi0+ZmRfcmVmY291bnQtLSkgPT0gMSkKKysgIHByaXYtPmZkX3Jl ZmNvdW50LS07CisrICBpZiAocHJpdi0+ZmRfcmVmY291bnQgPT0gMCkKKyAgICAgeworLSAgICAg IEdMSUJfUFJJVkFURV9DQUxMIChnX3dha2V1cF9mcmVlKSAoY2FuY2VsbGFibGUtPnByaXYtPndh a2V1cCk7CistICAgICAgY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCA9IE5VTEw7CisrICAgICAg R0xJQl9QUklWQVRFX0NBTEwgKGdfd2FrZXVwX2ZyZWUpIChwcml2LT53YWtldXApOworKyAgICAg IHByaXYtPndha2V1cCA9IE5VTEw7CisgICAgIH0KKyAKKy0gIGdfbXV0ZXhfdW5sb2NrICgmY2Fu Y2VsbGFibGUtPnByaXYtPm11dGV4KTsKKysgIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVf bXV0ZXgpOworIH0KKyAKKyAvKioKK0BAIC00OTAsMzEgKzQ5NSwzNyBAQCBnX2NhbmNlbGxhYmxl X2NhbmNlbCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSkKKyB7CisgICBHQ2FuY2VsbGFibGVQ cml2YXRlICpwcml2OworIAorLSAgaWYgKGNhbmNlbGxhYmxlID09IE5VTEwgfHwgZ19hdG9taWNf aW50X2dldCAoJmNhbmNlbGxhYmxlLT5wcml2LT5jYW5jZWxsZWQpKQorKyAgaWYgKGNhbmNlbGxh YmxlID09IE5VTEwgfHwgZ19jYW5jZWxsYWJsZV9pc19jYW5jZWxsZWQgKGNhbmNlbGxhYmxlKSkK KyAgICAgcmV0dXJuOworIAorICAgcHJpdiA9IGNhbmNlbGxhYmxlLT5wcml2OworIAorLSAgZ19t dXRleF9sb2NrICgmcHJpdi0+bXV0ZXgpOworKyAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVf bXV0ZXgpOworIAorLSAgaWYgKCFnX2F0b21pY19pbnRfY29tcGFyZV9hbmRfZXhjaGFuZ2UgKCZw cml2LT5jYW5jZWxsZWQsIEZBTFNFLCBUUlVFKSkKKysgIGlmIChnX2F0b21pY19pbnRfZXhjaGFu Z2UgKCZwcml2LT5jYW5jZWxsZWQsIFRSVUUpKQorICAgICB7CistICAgICAgZ19tdXRleF91bmxv Y2sgKCZwcml2LT5tdXRleCk7CisrICAgICAgZ19tdXRleF91bmxvY2sgKCZjYW5jZWxsYWJsZV9t dXRleCk7CisgICAgICAgcmV0dXJuOworICAgICB9CisgCistICBnX2F0b21pY19pbnRfaW5jICgm cHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcpOworKyAgcHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcgPSBU UlVFOworIAorICAgaWYgKHByaXYtPndha2V1cCkKKyAgICAgR0xJQl9QUklWQVRFX0NBTEwgKGdf d2FrZXVwX3NpZ25hbCkgKHByaXYtPndha2V1cCk7CisgCisrICBnX211dGV4X3VubG9jayAoJmNh bmNlbGxhYmxlX211dGV4KTsKKysKKyAgIGdfb2JqZWN0X3JlZiAoY2FuY2VsbGFibGUpOworICAg Z19zaWduYWxfZW1pdCAoY2FuY2VsbGFibGUsIHNpZ25hbHNbQ0FOQ0VMTEVEXSwgMCk7CisgCist ICBpZiAoZ19hdG9taWNfaW50X2RlY19hbmRfdGVzdCAoJnByaXYtPmNhbmNlbGxlZF9ydW5uaW5n KSkKKysgIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsKKysKKysgIHByaXYtPmNh bmNlbGxlZF9ydW5uaW5nID0gRkFMU0U7CisrICBpZiAocHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmdf d2FpdGluZykKKyAgICAgZ19jb25kX2Jyb2FkY2FzdCAoJmNhbmNlbGxhYmxlX2NvbmQpOworKyAg cHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmdfd2FpdGluZyA9IEZBTFNFOworIAorLSAgZ19tdXRleF91 bmxvY2sgKCZwcml2LT5tdXRleCk7CisrICBnX211dGV4X3VubG9jayAoJmNhbmNlbGxhYmxlX211 dGV4KTsKKyAKKyAgIGdfb2JqZWN0X3VucmVmIChjYW5jZWxsYWJsZSk7CisgfQorQEAgLTU2Miw3 ICs1NzMsNyBAQCBnX2NhbmNlbGxhYmxlX2Nvbm5lY3QgKEdDYW5jZWxsYWJsZSAgICpjYW5jZWxs YWJsZSwKKyAKKyAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHX0lTX0NBTkNFTExBQkxFIChjYW5j ZWxsYWJsZSksIDApOworIAorLSAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGUtPnByaXYtPm11 dGV4KTsKKysgIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsKKyAKKyAgIGlmIChn X2F0b21pY19pbnRfZ2V0ICgmY2FuY2VsbGFibGUtPnByaXYtPmNhbmNlbGxlZCkpCisgICAgIHsK K0BAIC01NzIsMTAgKzU4MywyMyBAQCBnX2NhbmNlbGxhYmxlX2Nvbm5lY3QgKEdDYW5jZWxsYWJs ZSAgICpjYW5jZWxsYWJsZSwKKyAgICAgICBfY2FsbGJhY2sgPSAodm9pZCAqKWNhbGxiYWNrOwor ICAgICAgIGlkID0gMDsKKyAKKysgICAgICBjYW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkX2Vt aXNzaW9ucysrOworKworKyAgICAgIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgp OworKworICAgICAgIF9jYWxsYmFjayAoY2FuY2VsbGFibGUsIGRhdGEpOworIAorICAgICAgIGlm IChkYXRhX2Rlc3Ryb3lfZnVuYykKKyAgICAgICAgIGRhdGFfZGVzdHJveV9mdW5jIChkYXRhKTsK KysKKysgICAgICBnX211dGV4X2xvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisrCisrICAgICAg aWYgKGNhbmNlbGxhYmxlLT5wcml2LT5jYW5jZWxsZWRfZW1pc3Npb25zX3dhaXRpbmcpCisrICAg ICAgICBnX2NvbmRfYnJvYWRjYXN0ICgmY2FuY2VsbGFibGVfY29uZCk7CisrCisrICAgICAgY2Fu Y2VsbGFibGUtPnByaXYtPmNhbmNlbGxlZF9lbWlzc2lvbnMtLTsKKysKKysgICAgICBnX211dGV4 X3VubG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsKKyAgICAgfQorICAgZWxzZQorICAgICB7CitA QCAtNTgzLDkgKzYwNywxMCBAQCBnX2NhbmNlbGxhYmxlX2Nvbm5lY3QgKEdDYW5jZWxsYWJsZSAg ICpjYW5jZWxsYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJh Y2ssIGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHQ2xvc3VyZU5v dGlmeSkgZGF0YV9kZXN0cm95X2Z1bmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdfQ09OTkVDVF9ERUZBVUxUKTsKKysKKysgICAgICBnX211dGV4X3VubG9jayAoJmNhbmNl bGxhYmxlX211dGV4KTsKKyAgICAgfQorIAorLSAgZ19tdXRleF91bmxvY2sgKCZjYW5jZWxsYWJs ZS0+cHJpdi0+bXV0ZXgpOworIAorICAgcmV0dXJuIGlkOworIH0KK0BAIC02MjEsMjYgKzY0Niwz MyBAQCBnX2NhbmNlbGxhYmxlX2Rpc2Nvbm5lY3QgKEdDYW5jZWxsYWJsZSAgKmNhbmNlbGxhYmxl LAorICAgaWYgKGhhbmRsZXJfaWQgPT0gMCB8fCAgY2FuY2VsbGFibGUgPT0gTlVMTCkKKyAgICAg cmV0dXJuOworIAorKyAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOworKworICAg cHJpdiA9IGNhbmNlbGxhYmxlLT5wcml2OworIAorLSAgZ19tdXRleF9sb2NrICgmcHJpdi0+bXV0 ZXgpOworKyAgd2hpbGUgKHByaXYtPmNhbmNlbGxlZF9ydW5uaW5nIHx8IHByaXYtPmNhbmNlbGxl ZF9lbWlzc2lvbnMpCisrICAgIHsKKysgICAgICBpZiAocHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcp CisrICAgICAgICBwcml2LT5jYW5jZWxsZWRfcnVubmluZ193YWl0aW5nID0gVFJVRTsKKyAKKy0g IHdoaWxlIChnX2F0b21pY19pbnRfZ2V0ICgmcHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcpICE9IDAp CistICAgIGdfY29uZF93YWl0ICgmY2FuY2VsbGFibGVfY29uZCwgJnByaXYtPm11dGV4KTsKKysg ICAgICBpZiAocHJpdi0+Y2FuY2VsbGVkX2VtaXNzaW9ucykKKysgICAgICAgIHByaXYtPmNhbmNl bGxlZF9lbWlzc2lvbnNfd2FpdGluZyA9IFRSVUU7CisgCistICBnX211dGV4X3VubG9jayAoJnBy aXYtPm11dGV4KTsKKysgICAgICBnX2NvbmRfd2FpdCAoJmNhbmNlbGxhYmxlX2NvbmQsICZjYW5j ZWxsYWJsZV9tdXRleCk7CisrICAgIH0KKyAKKyAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVj dCAoY2FuY2VsbGFibGUsIGhhbmRsZXJfaWQpOworKworKyAgZ19tdXRleF91bmxvY2sgKCZjYW5j ZWxsYWJsZV9tdXRleCk7CisgfQorIAorIHR5cGVkZWYgc3RydWN0IHsKKyAgIEdTb3VyY2UgICAg ICAgc291cmNlOworIAorLSAgLyogQXRvbWljOiAqLworICAgR0NhbmNlbGxhYmxlICpjYW5jZWxs YWJsZTsKKyAgIGd1bG9uZyAgICAgICAgY2FuY2VsbGVkX2hhbmRsZXI7CistICAvKiBBdG9taWM6 ICovCistICBnYm9vbGVhbiAgICAgIGNhbmNlbGxlZF9jYWxsYmFja19jYWxsZWQ7CisrICAvKiBQ cm90ZWN0ZWQgYnkgY2FuY2VsbGFibGVfbXV0ZXg6ICovCisrICBnYm9vbGVhbiAgICAgIHJlc3Vy cmVjdGVkX2R1cmluZ19jYW5jZWxsYXRpb247CisgfSBHQ2FuY2VsbGFibGVTb3VyY2U7CisgCisg LyoKK0BAIC02NjAsMzUgKzY5MiwyNyBAQCBjYW5jZWxsYWJsZV9zb3VyY2VfY2FuY2VsbGVkIChH Q2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlLAorIHsKKyAgIEdTb3VyY2UgKnNvdXJjZSA9IHVzZXJf ZGF0YTsKKyAgIEdDYW5jZWxsYWJsZVNvdXJjZSAqY2FuY2VsbGFibGVfc291cmNlID0gKEdDYW5j ZWxsYWJsZVNvdXJjZSAqKSBzb3VyY2U7CistICBnYm9vbGVhbiBjYWxsYmFja193YXNfbm90X2Nh bGxlZDsKKyAKKy0gIGdfc291cmNlX3JlZiAoc291cmNlKTsKKy0gIGdfc291cmNlX3NldF9yZWFk eV90aW1lIChzb3VyY2UsIDApOworKyAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgp OworIAorLSAgY2FsbGJhY2tfd2FzX25vdF9jYWxsZWQgPSBnX2F0b21pY19pbnRfY29tcGFyZV9h bmRfZXhjaGFuZ2UgKAorLSAgICAmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxsZWRfY2FsbGJh Y2tfY2FsbGVkLCBGQUxTRSwgVFJVRSk7CistICBnX2Fzc2VydCAoY2FsbGJhY2tfd2FzX25vdF9j YWxsZWQpOworKyAgLyogRHJvcCB0aGUgcmVmZXJlbmNlIGFkZGVkIGluIGNhbmNlbGxhYmxlX3Nv dXJjZV9kaXNwb3NlKCk7IHNlZSB0aGUgY29tbWVudCB0aGVyZS4KKysgICAqIFRoZSByZWZlcmVu Y2UgbXVzdCBiZSBkcm9wcGVkIGFmdGVyIHVubG9ja2luZyBAY2FuY2VsbGFibGVfbXV0ZXggc2lu Y2UKKysgICAqIGl0IGNvdWxkIGJlIHRoZSBmaW5hbCByZWZlcmVuY2UsIGFuZCB0aGUgZGlzcG9z ZSBmdW5jdGlvbiB0YWtlcworKyAgICogQGNhbmNlbGxhYmxlX211dGV4LiAqLworKyAgaWYgKGNh bmNlbGxhYmxlX3NvdXJjZS0+cmVzdXJyZWN0ZWRfZHVyaW5nX2NhbmNlbGxhdGlvbikKKysgICAg eworKyAgICAgIGNhbmNlbGxhYmxlX3NvdXJjZS0+cmVzdXJyZWN0ZWRfZHVyaW5nX2NhbmNlbGxh dGlvbiA9IEZBTFNFOworKyAgICAgIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgp OworKyAgICAgIGdfc291cmNlX3VucmVmIChzb3VyY2UpOworKyAgICAgIHJldHVybjsKKysgICAg fQorIAorKyAgZ19zb3VyY2VfcmVmIChzb3VyY2UpOworKyAgZ19tdXRleF91bmxvY2sgKCZjYW5j ZWxsYWJsZV9tdXRleCk7CisrICBnX3NvdXJjZV9zZXRfcmVhZHlfdGltZSAoc291cmNlLCAwKTsK KyAgIGdfc291cmNlX3VucmVmIChzb3VyY2UpOworIH0KKyAKKy1zdGF0aWMgZ2Jvb2xlYW4KKy1j YW5jZWxsYWJsZV9zb3VyY2VfcHJlcGFyZSAoR1NvdXJjZSAqc291cmNlLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnaW50ICAgICp0aW1lb3V0KQorLXsKKy0gIEdDYW5jZWxsYWJsZVNv dXJjZSAqY2FuY2VsbGFibGVfc291cmNlID0gKEdDYW5jZWxsYWJsZVNvdXJjZSAqKSBzb3VyY2U7 CistICBHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlOworLQorLSAgaWYgKHRpbWVvdXQpCistICAg ICp0aW1lb3V0ID0gLTE7CistCistICBjYW5jZWxsYWJsZSA9IGdfYXRvbWljX3BvaW50ZXJfZ2V0 ICgmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxsYWJsZSk7CistICBpZiAoY2FuY2VsbGFibGUg JiYgIWdfYXRvbWljX2ludF9nZXQgKCZjYW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkX3J1bm5p bmcpKQorLSAgICBnX2F0b21pY19pbnRfc2V0ICgmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxs ZWRfY2FsbGJhY2tfY2FsbGVkLCBGQUxTRSk7CistCistICByZXR1cm4gRkFMU0U7CistfQorLQor IHN0YXRpYyBnYm9vbGVhbgorIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNwYXRjaCAoR1NvdXJjZSAg ICAgKnNvdXJjZSwKKyAJCQkgICAgIEdTb3VyY2VGdW5jICBjYWxsYmFjaywKK0BAIC03MDUsMTMg KzcyOSwxMiBAQCBzdGF0aWMgdm9pZAorIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNwb3NlIChHU291 cmNlICpzb3VyY2UpCisgeworICAgR0NhbmNlbGxhYmxlU291cmNlICpjYW5jZWxsYWJsZV9zb3Vy Y2UgPSAoR0NhbmNlbGxhYmxlU291cmNlICopc291cmNlOworLSAgR0NhbmNlbGxhYmxlICpjYW5j ZWxsYWJsZTsKKyAKKy0gIGNhbmNlbGxhYmxlID0gZ19hdG9taWNfcG9pbnRlcl9leGNoYW5nZSAo JmNhbmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGFibGUsIE5VTEwpOworKyAgZ19tdXRleF9sb2Nr ICgmY2FuY2VsbGFibGVfbXV0ZXgpOworIAorLSAgaWYgKGNhbmNlbGxhYmxlKQorKyAgaWYgKGNh bmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGFibGUpCisgICAgIHsKKy0gICAgICBpZiAoZ19hdG9t aWNfaW50X2dldCAoJmNhbmNlbGxhYmxlLT5wcml2LT5jYW5jZWxsZWRfcnVubmluZykpCisrICAg ICAgaWYgKGNhbmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGFibGUtPnByaXYtPmNhbmNlbGxlZF9y dW5uaW5nKQorICAgICAgICAgeworICAgICAgICAgICAvKiBUaGVyZSBjYW4gYmUgYSByYWNlIGhl cmU6IGlmIHRocmVhZCBBIGhhcyBjYWxsZWQKKyAgICAgICAgICAgICogZ19jYW5jZWxsYWJsZV9j YW5jZWwoKSBhbmQgaGFzIGdvdCBhcyBmYXIgYXMgY29tbWl0dGluZyB0byBjYWxsCitAQCAtNzIz LDIxICs3NDYsMjEgQEAgY2FuY2VsbGFibGVfc291cmNlX2Rpc3Bvc2UgKEdTb3VyY2UgKnNvdXJj ZSkKKyAgICAgICAgICAgICogd2lsbCB0aGVuIGJlIGxlZnQgaW4gYSBzdGF0ZSB3aGVyZSBpdOKA mXMgY29tbWl0dGVkIHRvIHVzaW5nIGEKKyAgICAgICAgICAgICogZGFuZ2xpbmcgR0NhbmNlbGxh YmxlU291cmNlIHBvaW50ZXIuCisgICAgICAgICAgICAqCistICAgICAgICAgICAqIEVsaW1pbmF0 ZSB0aGF0IHJhY2UgYnkgd2FpdGluZyB0byBlbnN1cmUgdGhhdCBvdXIgY2FuY2VsbGVkCistICAg ICAgICAgICAqIGNhbGxiYWNrIGhhcyBiZWVuIGNhbGxlZCwga2VlcGluZyBhIHRlbXBvcmFyeSBy ZWYsIHNvIHRoYXQKKy0gICAgICAgICAgICogdGhlcmUncyBubyByaXNrIHRoYXQgd2UncmUgdW5y ZWZmaW5nIHNvbWV0aGluZyB0aGF0IGlzIHN0aWxsCistICAgICAgICAgICAqIGdvaW5nIHRvIGJl IHVzZWQuCisrICAgICAgICAgICAqIEVsaW1pbmF0ZSB0aGF0IHJhY2UgYnkgcmVzdXJyZWN0aW5n IHRoZSAjR1NvdXJjZSB0ZW1wb3JhcmlseSwgYW5kCisrICAgICAgICAgICAqIHRoZW4gZHJvcHBp bmcgdGhhdCByZWZlcmVuY2UgaW4gY2FuY2VsbGFibGVfc291cmNlX2NhbmNlbGxlZCgpLAorKyAg ICAgICAgICAgKiB3aGljaCBzaG91bGQgYmUgZ3VhcmFudGVlZCB0byBmaXJlIGJlY2F1c2Ugd2Xi gJlyZSBpbnNpZGUgYQorKyAgICAgICAgICAgKiBAY2FuY2VsbGVkX3J1bm5pbmcgYmxvY2suCisg ICAgICAgICAgICAqLworLQorICAgICAgICAgICBnX3NvdXJjZV9yZWYgKHNvdXJjZSk7CistICAg ICAgICAgIHdoaWxlICghZ19hdG9taWNfaW50X2dldCAoJmNhbmNlbGxhYmxlX3NvdXJjZS0+Y2Fu Y2VsbGVkX2NhbGxiYWNrX2NhbGxlZCkpCistICAgICAgICAgICAgOworLSAgICAgICAgICBnX3Nv dXJjZV91bnJlZiAoc291cmNlKTsKKysgICAgICAgICAgY2FuY2VsbGFibGVfc291cmNlLT5yZXN1 cnJlY3RlZF9kdXJpbmdfY2FuY2VsbGF0aW9uID0gVFJVRTsKKyAgICAgICAgIH0KKyAKKy0gICAg ICBnX2NsZWFyX3NpZ25hbF9oYW5kbGVyICgmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxsZWRf aGFuZGxlciwgY2FuY2VsbGFibGUpOworLSAgICAgIGdfb2JqZWN0X3VucmVmIChjYW5jZWxsYWJs ZSk7CisrICAgICAgZ19jbGVhcl9zaWduYWxfaGFuZGxlciAoJmNhbmNlbGxhYmxlX3NvdXJjZS0+ Y2FuY2VsbGVkX2hhbmRsZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2Vs bGFibGVfc291cmNlLT5jYW5jZWxsYWJsZSk7CisrICAgICAgZ19jbGVhcl9vYmplY3QgKCZjYW5j ZWxsYWJsZV9zb3VyY2UtPmNhbmNlbGxhYmxlKTsKKyAgICAgfQorKworKyAgZ19tdXRleF91bmxv Y2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisgfQorIAorIHN0YXRpYyBnYm9vbGVhbgorQEAgLTc2 Niw3ICs3ODksNyBAQCBjYW5jZWxsYWJsZV9zb3VyY2VfY2xvc3VyZV9jYWxsYmFjayAoR0NhbmNl bGxhYmxlICpjYW5jZWxsYWJsZSwKKyAKKyBzdGF0aWMgR1NvdXJjZUZ1bmNzIGNhbmNlbGxhYmxl X3NvdXJjZV9mdW5jcyA9CisgeworLSAgY2FuY2VsbGFibGVfc291cmNlX3ByZXBhcmUsCisrICBO VUxMLAorICAgTlVMTCwKKyAgIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNwYXRjaCwKKyAgIE5VTEws CitkaWZmIC0tZ2l0IGEvZ2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMgYi9naW8vdGVzdHMvY2FuY2Vs bGFibGUuYworaW5kZXggZmE4NGUyZTJjLi42ZjI1ZDYzZDkgMTAwNjQ0CistLS0gYS9naW8vdGVz dHMvY2FuY2VsbGFibGUuYworKysrIGIvZ2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMKK0BAIC0yNjEs NiArMjYxLDExIEBAIHRocmVhZGVkX2Rpc3Bvc2VfdGhyZWFkX2NiIChncG9pbnRlciB1c2VyX2Rh dGEpCisgc3RhdGljIHZvaWQKKyB0ZXN0X2NhbmNlbGxhYmxlX3NvdXJjZV90aHJlYWRlZF9kaXNw b3NlICh2b2lkKQorIHsKKysjaWZkZWYgX0dMSUJfQUREUkVTU19TQU5JVElaRVIKKysgIGdfdGVz dF9pbmNvbXBsZXRlICgiRklYTUU6IExlYWtzIGxvdHMgb2YgR0NhbmNlbGxhYmxlU291cmNlIG9i amVjdHMsIHNlZSBnbGliIzIzMDkiKTsKKysgICh2b2lkKSBjYW5jZWxsZWRfY2I7CisrICAodm9p ZCkgdGhyZWFkZWRfZGlzcG9zZV90aHJlYWRfY2I7CisrI2Vsc2UKKyAgIFRocmVhZGVkRGlzcG9z ZURhdGEgZGF0YTsKKyAgIEdUaHJlYWQgKnRocmVhZCA9IE5VTEw7CisgICBndWludCBpOworQEAg LTI3MCwxMCArMjc1LDYgQEAgdGVzdF9jYW5jZWxsYWJsZV9zb3VyY2VfdGhyZWFkZWRfZGlzcG9z ZSAodm9pZCkKKyAgICAgICAgICAgICAgICAgICAiKGluIG9uZSB0aHJlYWQpIGFuZCBjYW5jZWxs aW5nIHRoZSBHQ2FuY2VsbGFibGUgaXQgcmVmZXJzICIKKyAgICAgICAgICAgICAgICAgICAidG8g KGluIGFub3RoZXIgdGhyZWFkKSIpOworICAgZ190ZXN0X2J1ZyAoImh0dHBzOi8vZ2l0bGFiLmdu b21lLm9yZy9HTk9NRS9nbGliL2lzc3Vlcy8xODQxIik7CistI2lmZGVmIF9HTElCX0FERFJFU1Nf U0FOSVRJWkVSCistICBnX3Rlc3RfbWVzc2FnZSAoIldlIGFsc28gZW5zdXJlIHRoYXQgbm8gR0Nh bmNlbGxhYmxlU291cmNlIGFyZSBsZWFrZWQiKTsKKy0gIGdfdGVzdF9idWcgKCJodHRwczovL2dp dGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9pc3N1ZXMvMjMwOSIpOworLSNlbmRpZgorIAorICAg LyogQ3JlYXRlIGEgbmV3IHRocmVhZCBhbmQgd2FpdCB1bnRpbCBpdOKAmXMgcmVhZHkgdG8gZXhl Y3V0ZS4gRWFjaCBpdGVyYXRpb24gb2YKKyAgICAqIHRoZSB0ZXN0IHdpbGwgcGFzcyBpdCBhIG5l dyAjR0NhbmNlbGxhYmxlU291cmNlLiAqLworQEAgLTMzNCw2ICszMzUsNyBAQCB0ZXN0X2NhbmNl bGxhYmxlX3NvdXJjZV90aHJlYWRlZF9kaXNwb3NlICh2b2lkKQorICAgZ19jb25kX2NsZWFyICgm ZGF0YS5jb25kKTsKKyAKKyAgIGdfcHRyX2FycmF5X3VucmVmIChjYW5jZWxsYWJsZXNfcGVuZGlu Z191bnJlZik7CisrI2VuZGlmCisgfQorIAorIHN0YXRpYyB2b2lkCitkaWZmIC0tZ2l0IGEvZ2lv L3Rlc3RzL2dtZW51bW9kZWwuYyBiL2dpby90ZXN0cy9nbWVudW1vZGVsLmMKK2luZGV4IDc1ZjVk ODVmOS4uMjJkMWI0ZDYxIDEwMDY0NAorLS0tIGEvZ2lvL3Rlc3RzL2dtZW51bW9kZWwuYworKysr IGIvZ2lvL3Rlc3RzL2dtZW51bW9kZWwuYworQEAgLTEwMDcsMTYgKzEwMDcsMTcgQEAgdGVzdF9k YnVzX3JvdW5kdHJpcCAodm9pZCkKKyBzdGF0aWMgdm9pZAorIHRlc3RfZGJ1c19wZWVyX3JvdW5k dHJpcCAodm9pZCkKKyB7CistICBQZWVyQ29ubmVjdGlvbiBwZWVyOworLQorICNpZmRlZiBfR0xJ Ql9BRERSRVNTX1NBTklUSVpFUgorLSAgZ190ZXN0X21lc3NhZ2UgKCJFbnN1cmUgdGhhdCBubyBH Q2FuY2VsbGFibGVTb3VyY2UgYXJlIGxlYWtlZCIpOworLSAgZ190ZXN0X2J1ZyAoImh0dHBzOi8v Z2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbGliL2lzc3Vlcy8yMzEzIik7CistI2VuZGlmCisrICBn X3Rlc3RfaW5jb21wbGV0ZSAoIkZJWE1FOiBMZWFrcyBhIEdDYW5jZWxsYWJsZVNvdXJjZSwgc2Vl IGdsaWIjMjMxMyIpOworKyAgKHZvaWQpIHBlZXJfY29ubmVjdGlvbl91cDsKKysgICh2b2lkKSBw ZWVyX2Nvbm5lY3Rpb25fZG93bjsKKysjZWxzZQorKyAgUGVlckNvbm5lY3Rpb24gcGVlcjsKKyAK KyAgIHBlZXJfY29ubmVjdGlvbl91cCAoJnBlZXIpOworICAgZG9fcm91bmR0cmlwIChwZWVyLnNl cnZlcl9jb25uZWN0aW9uLCBwZWVyLmNsaWVudF9jb25uZWN0aW9uKTsKKyAgIHBlZXJfY29ubmVj dGlvbl9kb3duICgmcGVlcik7CisrI2VuZGlmCisgfQorIAorIHN0YXRpYyBnaW50IGl0ZW1zX2No YW5nZWRfY291bnQ7CitAQCAtMTE0NSwxNiArMTE0NiwxNyBAQCB0ZXN0X2RidXNfc3Vic2NyaXB0 aW9ucyAodm9pZCkKKyBzdGF0aWMgdm9pZAorIHRlc3RfZGJ1c19wZWVyX3N1YnNjcmlwdGlvbnMg KHZvaWQpCisgeworLSAgUGVlckNvbm5lY3Rpb24gcGVlcjsKKy0KKyAjaWZkZWYgX0dMSUJfQURE UkVTU19TQU5JVElaRVIKKy0gIGdfdGVzdF9tZXNzYWdlICgiRW5zdXJlIHRoYXQgbm8gR0NhbmNl bGxhYmxlU291cmNlIGFyZSBsZWFrZWQiKTsKKy0gIGdfdGVzdF9idWcgKCJodHRwczovL2dpdGxh Yi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9pc3N1ZXMvMjMxMyIpOworLSNlbmRpZgorKyAgZ190ZXN0 X2luY29tcGxldGUgKCJGSVhNRTogTGVha3MgYSBHQ2FuY2VsbGFibGVTb3VyY2UsIHNlZSBnbGli IzIzMTMiKTsKKysgICh2b2lkKSBwZWVyX2Nvbm5lY3Rpb25fdXA7CisrICAodm9pZCkgcGVlcl9j b25uZWN0aW9uX2Rvd247CisrI2Vsc2UKKysgIFBlZXJDb25uZWN0aW9uIHBlZXI7CisgCisgICBw ZWVyX2Nvbm5lY3Rpb25fdXAgKCZwZWVyKTsKKyAgIGRvX3N1YnNjcmlwdGlvbnMgKHBlZXIuc2Vy dmVyX2Nvbm5lY3Rpb24sIHBlZXIuY2xpZW50X2Nvbm5lY3Rpb24pOworICAgcGVlcl9jb25uZWN0 aW9uX2Rvd24gKCZwZWVyKTsKKysjZW5kaWYKKyB9CisgCisgc3RhdGljIHZvaWQKKy0tIAorMi40 Ny4xCisKKworRnJvbSBkZjdkOTJlZDAyOGM4ODhkZTU3YWFhYTJiOTc1ODAwODQ5ODllODliIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbm1vbnRlcm8gPG5tb250ZXJvQHJlZGhhdC5j b20+CitEYXRlOiBUdWUsIDIxIEphbiAyMDI1IDE3OjMzOjI1ICswMTAwCitTdWJqZWN0OiBbUEFU Q0ggNC80XSBSZXZlcnQgImdpby90ZXN0czogRW5zdXJlIHRoYXQgYSBHQ2FuY2VsbGFibGVTb3Vy Y2UgY2FuCisgYmUgdXNlZCBtdWxpcGxlIHRpbWVzIgorCitUaGlzIHJldmVydHMgY29tbWl0IDBh OGNiMTBmMjI0ZmYyZGZlZDE0ZjY1MDBlNzdjZWU2OGFlN2Q0YzQuCistLS0KKyBnaW8vZ2NhbmNl bGxhYmxlLmMgICAgICB8ICA4ICsrLS0tLQorIGdpby90ZXN0cy9jYW5jZWxsYWJsZS5jIHwgNjQg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naW8v Z2NhbmNlbGxhYmxlLmMgYi9naW8vZ2NhbmNlbGxhYmxlLmMKK2luZGV4IGMzNTcyOTEwZS4uNDFm ZmFiMzIyIDEwMDY0NAorLS0tIGEvZ2lvL2djYW5jZWxsYWJsZS5jCisrKysgYi9naW8vZ2NhbmNl bGxhYmxlLmMKK0BAIC01NDEsMTEgKzU0MSw5IEBAIGdfY2FuY2VsbGFibGVfY2FuY2VsIChHQ2Fu Y2VsbGFibGUgKmNhbmNlbGxhYmxlKQorICAqIHNpZ25hbC4gQWxzbyBoYW5kbGVzIHRoZSByYWNl IGNvbmRpdGlvbiB0aGF0IG1heSBoYXBwZW4KKyAgKiBpZiB0aGUgY2FuY2VsbGFibGUgaXMgY2Fu Y2VsbGVkIHJpZ2h0IGJlZm9yZSBjb25uZWN0aW5nLgorICAqCistICogQGNhbGxiYWNrIGlzIGNh bGxlZCBleGFjdGx5IG9uY2UgZWFjaCB0aW1lIEBjYW5jZWxsYWJsZSBpcyBjYW5jZWxsZWQsCist ICogZWl0aGVyIGRpcmVjdGx5IGF0IHRoZSB0aW1lIG9mIHRoZSBjb25uZWN0IGlmIEBjYW5jZWxs YWJsZSBpcyBhbHJlYWR5CistICogY2FuY2VsbGVkLCBvciB3aGVuIEBjYW5jZWxsYWJsZSBpcyBj YW5jZWxsZWQgaW4gc29tZSB0aHJlYWQuCistICogSW4gY2FzZSB0aGUgY2FuY2VsbGFibGUgaXMg cmVzZXQgdmlhIFttZXRob2RAR2lvLkNhbmNlbGxhYmxlLnJlc2V0XQorLSAqIHRoZW4gdGhlIGNh bGxiYWNrIGNhbiBiZSBjYWxsZWQgYWdhaW4gaWYgdGhlIEBjYW5jZWxsYWJsZSBpcyBjYW5jZWxs ZWQuCisrICogQGNhbGxiYWNrIGlzIGNhbGxlZCBhdCBtb3N0IG9uY2UsIGVpdGhlciBkaXJlY3Rs eSBhdCB0aGUKKysgKiB0aW1lIG9mIHRoZSBjb25uZWN0IGlmIEBjYW5jZWxsYWJsZSBpcyBhbHJl YWR5IGNhbmNlbGxlZCwKKysgKiBvciB3aGVuIEBjYW5jZWxsYWJsZSBpcyBjYW5jZWxsZWQgaW4g c29tZSB0aHJlYWQuCisgICoKKyAgKiBAZGF0YV9kZXN0cm95X2Z1bmMgd2lsbCBiZSBjYWxsZWQg d2hlbiB0aGUgaGFuZGxlciBpcworICAqIGRpc2Nvbm5lY3RlZCwgb3IgaW1tZWRpYXRlbHkgaWYg dGhlIGNhbmNlbGxhYmxlIGlzIGFscmVhZHkKK2RpZmYgLS1naXQgYS9naW8vdGVzdHMvY2FuY2Vs bGFibGUuYyBiL2dpby90ZXN0cy9jYW5jZWxsYWJsZS5jCitpbmRleCA2ZjI1ZDYzZDkuLjNmNjg1 NDQ2MiAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9jYW5jZWxsYWJsZS5jCisrKysgYi9naW8vdGVz dHMvY2FuY2VsbGFibGUuYworQEAgLTgxMCw2OSArODEwLDYgQEAgdGVzdF9jYW5jZWxsYWJsZV9j YW5jZWxfcmVzZXRfY29ubmVjdF9yYWNlcyAodm9pZCkKKyAgIGdfb2JqZWN0X3VucmVmIChjYW5j ZWxsYWJsZSk7CisgfQorIAorLXN0YXRpYyBnYm9vbGVhbgorLXNvdXJjZV9jYW5jZWxsZWRfY291 bnRlcl9jYiAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdwb2ludGVyICAgICAgdXNlcl9kYXRhKQorLXsKKy0gIGd1aW50ICpuX2NhbGxz ID0gdXNlcl9kYXRhOworLQorLSAgKm5fY2FsbHMgPSAqbl9jYWxscyArIDE7CistCistICByZXR1 cm4gR19TT1VSQ0VfQ09OVElOVUU7CistfQorLQorLXN0YXRpYyB2b2lkCistZG9fbm90aGluZyAo R19HTlVDX1VOVVNFRCB2b2lkICp1c2VyX2RhdGEpCisteworLSAgLyogQW4gZW1wdHkgdGltZW91 dC9pZGxlIG9uY2UgY2FsbGJhY2sgZnVuY3Rpb24gKi8KKy19CistCistc3RhdGljIHZvaWQKKy10 ZXN0X2NhbmNlbGxhYmxlX3NvdXJjZV9jYW5fYmVfZmlyZWRfbXVsdGlwbGVfdGltZXMgKHZvaWQp CisteworLSAgR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZTsKKy0gIEdTb3VyY2UgKnNvdXJjZTsK Ky0gIGd1aW50IG5fY2FsbHMgPSAwOworLQorLSAgZ190ZXN0X3N1bW1hcnkgKCJUZXN0IGEgY2Fu Y2VsbGFibGUgc291cmNlIGNhbGxiYWNrIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMiKTsK Ky0gIGdfdGVzdF9idWcgKCJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9pc3N1 ZXMvNzc0Iik7CistCistICBjYW5jZWxsYWJsZSA9IGdfY2FuY2VsbGFibGVfbmV3ICgpOworLSAg c291cmNlID0gZ19jYW5jZWxsYWJsZV9zb3VyY2VfbmV3IChjYW5jZWxsYWJsZSk7CistCistICBn X3NvdXJjZV9zZXRfY2FsbGJhY2sgKHNvdXJjZSwgR19TT1VSQ0VfRlVOQyAoc291cmNlX2NhbmNl bGxlZF9jb3VudGVyX2NiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgJm5fY2FsbHMsIE5V TEwpOworLSAgZ19zb3VyY2VfYXR0YWNoIChzb3VyY2UsIE5VTEwpOworLQorLSAgZ19jYW5jZWxs YWJsZV9jYW5jZWwgKGNhbmNlbGxhYmxlKTsKKy0gIGdfYXNzZXJ0X2NtcHVpbnQgKG5fY2FsbHMs ID09LCAwKTsKKy0KKy0gIHdoaWxlIChnX21haW5fY29udGV4dF9wZW5kaW5nIChOVUxMKSkKKy0g ICAgZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uIChOVUxMLCBUUlVFKTsKKy0KKy0gIGdfYXNzZXJ0 X2NtcHVpbnQgKG5fY2FsbHMsID09LCAxKTsKKy0KKy0gIGdfY2FuY2VsbGFibGVfY2FuY2VsIChj YW5jZWxsYWJsZSk7CistCistICBnX3RpbWVvdXRfYWRkX29uY2UgKDEwMCwgZG9fbm90aGluZywg TlVMTCk7CistICB3aGlsZSAoZ19tYWluX2NvbnRleHRfcGVuZGluZyAoTlVMTCkpCistICAgIGdf bWFpbl9jb250ZXh0X2l0ZXJhdGlvbiAoTlVMTCwgVFJVRSk7CistCistICBnX2Fzc2VydF9jbXB1 aW50IChuX2NhbGxzLCA9PSwgMSk7CistCistICBnX2NhbmNlbGxhYmxlX3Jlc2V0IChjYW5jZWxs YWJsZSk7CistICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoY2FuY2VsbGFibGUpOworLSAgZ19hc3Nl cnRfY21wdWludCAobl9jYWxscywgPT0sIDEpOworLQorLSAgd2hpbGUgKGdfbWFpbl9jb250ZXh0 X3BlbmRpbmcgKE5VTEwpKQorLSAgICBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKE5VTEwsIFRS VUUpOworLQorLSAgZ19hc3NlcnRfY21wdWludCAobl9jYWxscywgPT0sIDIpOworLQorLSAgZ19z b3VyY2VfdW5yZWYgKHNvdXJjZSk7CistICBnX29iamVjdF91bnJlZiAoY2FuY2VsbGFibGUpOwor LX0KKy0KKyBpbnQKKyBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIHsKK0BAIC04ODgs NyArODI1LDYgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgIGdfdGVzdF9hZGRf ZnVuYyAoIi9jYW5jZWxsYWJsZS9jYW5jZWwtcmVzZXQtcmFjZXMiLCB0ZXN0X2NhbmNlbGxhYmxl X2NhbmNlbF9yZXNldF9yYWNlcyk7CisgICBnX3Rlc3RfYWRkX2Z1bmMgKCIvY2FuY2VsbGFibGUv Y2FuY2VsLXJlc2V0LWNvbm5lY3QtcmFjZXMiLCB0ZXN0X2NhbmNlbGxhYmxlX2NhbmNlbF9yZXNl dF9jb25uZWN0X3JhY2VzKTsKKyAgIGdfdGVzdF9hZGRfZnVuYyAoIi9jYW5jZWxsYWJsZS1zb3Vy Y2UvdGhyZWFkZWQtZGlzcG9zZSIsIHRlc3RfY2FuY2VsbGFibGVfc291cmNlX3RocmVhZGVkX2Rp c3Bvc2UpOworLSAgZ190ZXN0X2FkZF9mdW5jICgiL2NhbmNlbGxhYmxlLXNvdXJjZS9jYW4tYmUt ZmlyZWQtbXVsdGlwbGUtdGltZXMiLCB0ZXN0X2NhbmNlbGxhYmxlX3NvdXJjZV9jYW5fYmVfZmly ZWRfbXVsdGlwbGVfdGltZXMpOworIAorICAgcmV0dXJuIGdfdGVzdF9ydW4gKCk7CisgfQorLS0g CisyLjQ3LjEKKwo=