From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 14326 invoked from network); 25 Jun 2022 02:52:59 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Jun 2022 02:52:59 -0000 Content-Type: multipart/mixed; boundary="===============3420561498688359769==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_musl=3A_update_realpath/readlink_and_add_gettid?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 25 Jun 2022 04:52:59 +0200 List-Id: Message-ID: <20220625025259.n_pYgKaC1TiYtB588sDLdWal_H_bwVsj8ttsJbRPt4M@z> GitHub notification mails are now in MIME to allow UTF8. --===============3420561498688359769== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIG11c2wKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3NjQ2CgptdXNsOiB1cGRhdGUgcmVhbHBhdGgvcmVhZGxpbmsgYW5k IGFkZCBnZXR0aWQKPCEtLSBVbmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBv cHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBj aGFuZ2VzDQotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoqDQoN CkV2ZXJ5dGhpbmcgYnVpbGRzLg0KVGhlIHJlYWxwYXRoL3JlYWRsaW5rIHBhdGNoZXMgd2VyZSBz dGF0ZWQgdG8gYmUgd29ya2luZyBoZXJlIChsZXQgbWUga25vdyBpZiB0aGVyZSBhcmUgYW55IGlz c3VlcyB0aG91Z2gpOg0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdl cy9wdWxsLzMzMzcyDQoNCkFmYWljdCwgbm90aGluZyBpbXBvcnRhbnQgcmVsYXRlZCB0byBob3cg IGBfX3B0aHJlYWRfc2VsZigpLT50aWRgIHdvcmtzIHdhcyBjaGFuZ2VkIGJldHdlZW4gb3VyIHZl cnNpb24gYW5kIHdoZW4gYGdldHRpZCgpYCB3YXMgaW50cm9kdWNlZCwgYnV0IGl0IHNob3VsZCBz dGlsbCBiZSB0ZXN0ZWQuDQoNCkknbSBub3QgcnVubmluZyBtdXNsIGF0bSB0aG91Z2ggc28gaXRz IGEgbGl0dGxlIGhhcmQgZm9yIG1lIHRvIHRlc3QgaXQgY3VycmVudGx5IHNvIGZlZWRiYWNrIHdv dWxkIGJlIGFwcHJlY2lhdGVkLg0KDQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvMzc2MjgjaXNzdWVjb21tZW50LTExNjM2MDc3MDINCg0KPCEtLQ0KIyMj IyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0 eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwq Kk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBt b3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4N Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIv Q09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0 IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBi dWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0ku DQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWls dCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4g bWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJt djZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzc2NDYucGF0Y2ggaXMgYXR0YWNoZWQ= --===============3420561498688359769== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-musl-37646.patch" RnJvbSA4NTVjODVmOGY1YjQ2MTQxNTYwZjljYTMzYzc3ZDY3NzM2MGIyYjBhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogV2VkLCAyMiBKdW4gMjAyMiAxNToxMjoxMiAtMDcwMApTdWJq ZWN0OiBbUEFUQ0hdIG11c2w6IHVwZGF0ZSByZWFscGF0aC9yZWFkbGluayBhbmQgYWRkIGdldHRp ZAoKSW4gc29tZSBjYXNlcyBwYWNrYWdlcyBsaWtlIGJ1YmJsZXdyYXAgY2FsbCByZWFscGF0aCgp IHdpdGhvdXQgL3Byb2MgYmVpbmcKIGF2YWlsaWFibGUuIFRoaXMgYmVoYXZpb3Igd2FzIGZpeGVk IGluIGxhdGVyIHZlcnNpb25zIG9mIG11c2wgc28gd2UgaW1wb3J0CiB0aG9zZSBjaGFuZ2VzIGhl cmUuCgpUaGlzIGFsc28gYWRkcyBnZXR0aWQoKS4gVGhpcyBmdW5jdGlvbiB3YXMgYWRkZWQgdG8g bGF0ZXIgdmVyc2lvbnMgb2YgbXVzbCBhbmQKIHJlbW92ZXMgdGhlIG5lZWQgdG8gcGF0Y2ggb3V0 IGNhbGxzIHRvIGdldHRpZCgpIGluIHZhcmlvdXMgcGFja2FnZXMgaW5jbHVkaW5nLAogZm9yIGV4 YW1wbGUsIG11dHRlci4KLS0tCiBzcmNwa2dzL211c2wvcGF0Y2hlcy9nZXR0aWQucGF0Y2ggICAg ICAgICAgICAgfCAgNDkgKysrKwogLi4udGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2ZzX3JlYWRs aW5rLnBhdGNoIHwgMjE5ICsrKysrKysrKysrKysrKysrKwogLi4uaW5fcmVhZGxpbmtfc3lzY2Fs bF93aXRoX3plcm9fYnVmZmVyLnBhdGNoIHwgIDU5ICsrKysrCiBzcmNwa2dzL211c2wvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMzI4 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L211c2wvcGF0Y2hlcy9nZXR0aWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211 c2wvcGF0Y2hlcy9pbXBsZW1lbnRfcmVhbHBhdGhfZGlyZWN0bHlfaW5zdGVhZF9vZl91c2luZ19w cm9jZnNfcmVhZGxpbmsucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211c2wvcGF0 Y2hlcy93b3JrX2Fyb3VuZF9saW51eF9idWdfaW5fcmVhZGxpbmtfc3lzY2FsbF93aXRoX3plcm9f YnVmZmVyLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3BhdGNoZXMvZ2V0dGlkLnBh dGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvZ2V0dGlkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYmI4YmY1OTA1Yjg4Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9tdXNsL3BhdGNoZXMvZ2V0dGlkLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20g ZDQ5Y2YwNzU0MWJiNTRhNWFjN2FlYzFmZWVjODUxNGRiMzNkYjhlYSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IFJpY2ggRmVsa2VyIDxkYWxpYXNAYWVyaWZhbC5jeD4KK0RhdGU6IE1v biwgMTcgQXVnIDIwMjAgMjA6MTI6NTMgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIGdldHRp ZCBmdW5jdGlvbgorCit0aGlzIGlzIGEgcHJlcmVxdWlzaXRlIGZvciBhZGRpdGlvbiBvZiBvdGhl ciBpbnRlcmZhY2VzIHRoYXQgdXNlCitrZXJuZWwgdGlkcywgaW5jbHVkaW5nIGZ1dGV4IGFuZCBT SUdFVl9USFJFQURfSUQuCisKK3RoZXJlIGlzIHNvbWUgYW1iaWd1aXR5IGFzIHRvIHdoZXRoZXIg dGhlIHNlbWFudGljIHJldHVybiB0eXBlIHNob3VsZAorYmUgaW50IG9yIHBpZF90LiBlaXRoZXIg d2F5LCBmdXRleCBBUEkgaW1wb3NlcyBhIGNvbnRyYWN0IHRoYXQgdGhlCit2YWx1ZXMgZml0IGlu IGludCAoZXhjbHVkaW5nIHNvbWUgdXBwZXIgcmVzZXJ2ZWQgYml0cykuIGdsaWJjIHVzZWQKK3Bp ZF90LCBzbyBpbiB0aGUgaW50ZXJlc3Qgb2Ygbm90IGhhdmluZyBncmF0dWl0b3VzIG1pc21hdGNo ICh0aGUKK3VuZGVybHlpbmcgdHlwZXMgYXJlIHRoZSBzYW1lIGFueXdheSksIHBpZF90IGlzIHVz ZWQgaGVyZSBhcyB3ZWxsLgorCit3aGlsZSBjb25jZXB0dWFsbHkgdGhpcyBpcyBhIHN5c2NhbGws IHRoZSBjb3B5IHN0b3JlZCBpbiB0aGUgdGhyZWFkCitzdHJ1Y3R1cmUgaXMgYWx3YXlzIHZhbGlk IGluIGFsbCBjb250ZXh0cyB3aGVyZSBpdCdzIHZhbGlkIHRvIGNhbGwKK2xpYmMgZnVuY3Rpb25z LCBzbyBpdCdzIHVzZWQgdG8gYXZvaWQgdGhlIHN5c2NhbGwuCistLS0KKyBpbmNsdWRlL3VuaXN0 ZC5oICAgfCAxICsKKyBzcmMvbGludXgvZ2V0dGlkLmMgfCA4ICsrKysrKysrCisgMiBmaWxlcyBj aGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2xpbnV4L2dl dHRpZC5jCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL3VuaXN0ZC5oIGIvaW5jbHVkZS91bmlzdGQu aAoraW5kZXggN2JjYmZmOTQzLi4wNzU4NGEyM2UgMTAwNjQ0CistLS0gYS9pbmNsdWRlL3VuaXN0 ZC5oCisrKysgYi9pbmNsdWRlL3VuaXN0ZC5oCitAQCAtMTkwLDYgKzE5MCw3IEBAIGludCBzeW5j ZnMoaW50KTsKKyBpbnQgZXVpZGFjY2Vzcyhjb25zdCBjaGFyICosIGludCk7CisgaW50IGVhY2Nl c3MoY29uc3QgY2hhciAqLCBpbnQpOworIHNzaXplX3QgY29weV9maWxlX3JhbmdlKGludCwgb2Zm X3QgKiwgaW50LCBvZmZfdCAqLCBzaXplX3QsIHVuc2lnbmVkKTsKKytwaWRfdCBnZXR0aWQodm9p ZCk7CisgI2VuZGlmCisgCisgI2lmIGRlZmluZWQoX0xBUkdFRklMRTY0X1NPVVJDRSkgfHwgZGVm aW5lZChfR05VX1NPVVJDRSkKK2RpZmYgLS1naXQgYS9zcmMvbGludXgvZ2V0dGlkLmMgYi9zcmMv bGludXgvZ2V0dGlkLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAuLjcw NzY3MTM3ZQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL2xpbnV4L2dldHRpZC5jCitAQCAtMCww ICsxLDggQEAKKysjZGVmaW5lIF9HTlVfU09VUkNFCisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNp bmNsdWRlICJwdGhyZWFkX2ltcGwuaCIKKysKKytwaWRfdCBnZXR0aWQodm9pZCkKKyt7CisrCXJl dHVybiBfX3B0aHJlYWRfc2VsZigpLT50aWQ7CisrfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNs L3BhdGNoZXMvaW1wbGVtZW50X3JlYWxwYXRoX2RpcmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJv Y2ZzX3JlYWRsaW5rLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvaW1wbGVtZW50X3JlYWxw YXRoX2RpcmVjdGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2ZzX3JlYWRsaW5rLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNTY5YTFmNTJjN2NkCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvaW1wbGVtZW50X3JlYWxwYXRoX2RpcmVj dGx5X2luc3RlYWRfb2ZfdXNpbmdfcHJvY2ZzX3JlYWRsaW5rLnBhdGNoCkBAIC0wLDAgKzEsMjE5 IEBACitGcm9tIDI5ZmY3NTk5YTQ0ODIzMmYyNTI3ODQxYzIzNjI2NDNkMjQ2Y2VlMzYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSaWNoIEZlbGtlciA8ZGFsaWFzQGFlcmlmYWwuY3g+ CitEYXRlOiBNb24sIDMwIE5vdiAyMDIwIDEyOjE0OjQ3IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hd IGltcGxlbWVudCByZWFscGF0aCBkaXJlY3RseSBpbnN0ZWFkIG9mIHVzaW5nIHByb2NmcyByZWFk bGluaworCitpbmFiaWxpdHkgdG8gdXNlIHJlYWxwYXRoIGluIGNocm9vdC9jb250YWluZXIgd2l0 aG91dCBwcm9jZnMgYWNjZXNzCithbmQgYXQgZWFybHkgYm9vdCBwcmlvciB0byBtb3VudCBvZiAv cHJvYyBoYXMgYmVlbiBhbiBvbmdvaW5nIGlzc3VlLAorYW5kIGl0IHR1cm5zIG91dCByZWFscGF0 aCB3YXMgb25lIG9mIHRoZSBsYXN0IHJlbWFpbmluZyBpbnRlcmZhY2VzCit0aGF0IG5lZWRlZCBw cm9jZnMgZm9yIGl0cyBjb3JlIGZ1bmN0aW9uYWxpdHkuIGR1cmluZyBpbnZlc3RpZ2F0aW9uCit3 aGlsZSByZWltcGxlbWVudGluZywgaXQgd2FzIGRldGVybWluZWQgdGhhdCB0aGVyZSB3ZXJlIGFs c28gc2VyaW91cworcHJvYmxlbXMgd2l0aCB0aGUgcHJvY2ZzLWJhc2VkIGltcGxlbWVudGF0aW9u LiBtb3N0IHNlcmlvdXNseSBpdCB3YXMKK3Vuc2FmZSBvbiBwcmUtT19QQVRIIGtlcm5lbHMsIGFu ZCB1bmxpa2Ugb3RoZXIgcGxhY2VzIHdoZXJlIE9fUEFUSCB3YXMKK3VzZWQsIHRoZSB1bnNhZmV0 eSB3YXMgaGFyZCBvciBpbXBvc3NpYmxlIHRvIGZpeCBiZWNhdXNlIE9fTk9GT0xMT1cKK2Nhbid0 IGJlIHVzZWQgKHNpbmNlIHRoZSB3aG9sZSBwdXJwb3NlIHdhcyB0byBmb2xsb3cgc3ltbGlua3Mp LgorCit0aGUgbmV3IGltcGxlbWVudGF0aW9uIGlzIGEgZGlyZWN0IG9uZSwgcGVyZm9ybWluZyBy ZWFkbGluayBvbiBlYWNoCitwYXRoIGNvbXBvbmVudCB0byByZXNvbHZlIGl0LiBhbiBleHBsaWNp dCBzdGFjaywgYXMgb3Bwb3NlZCB0bworcmVjdXJzaW9uLCBpcyB1c2VkIHRvIHJlcHJlc2VudCB0 aGUgcmVtYWluaW5nIGNvbXBvbmVudHMgdG8gYmUKK3Byb2Nlc3NlZC4gdGhlIHN0YWNrIHN0YXJ0 cyBvdXQgaG9sZGluZyBqdXN0IHRoZSBpbnB1dCBzdHJpbmcsIGFuZAorcmVhZGluZyBhIGxpbmsg cHVzaGVzIHRoZSBsaW5rIGNvbnRlbnRzIG9udG8gdGhlIHN0YWNrLgorCit1bmxpa2UgbWFueSBv dGhlciBpbXBsZW1lbnRhdGlvbnMsIHRoaXMgb25lIGRvZXMgbm90IGNhbGwgZ2V0Y3dkCitpbml0 aWFsbHkgZm9yIHJlbGF0aXZlIHBhdGhuYW1lcy4gaW5zdGVhZCBpdCBhY2N1bXVsYXRlcyBpbml0 aWFsIC4uCitjb21wb25lbnRzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5 IGlmIHRoZSByZXN1bHQgaXMKK3N0aWxsIGEgcmVsYXRpdmUgcGF0aC4gdGhpcyBhdm9pZHMgY2Fs bGluZyBnZXRjd2QgKHdoaWNoIG1heSBmYWlsKSBhdAorYWxsIHdoZW4gc3ltbGluayB0cmF2ZXJz YWwgd2lsbCBldmVudHVhbGx5IHlpZWxkIGFuIGFic29sdXRlIHBhdGguIGl0CithbHNvIGRvZXNu J3QgdXNlIGFueSBmb3JtIG9mIHN0YXQgb3BlcmF0aW9uOyBpbnN0ZWFkIGl0IGFycmFuZ2VzIGZv cgorcmVhZGxpbmsgdG8gdGVsbCBpdCB3aGVuIGEgbm9uLWRpcmVjdG9yeSBpcyB1c2VkIGluIGEg Y29udGV4dCB3aGVyZSBhCitkaXJlY3RvcnkgaXMgbmVlZGVkLiB0aGlzIG1pbmltaXplcyB0aGUg bnVtYmVyIG9mIHN5c2NhbGxzIG5lZWRlZCwKK2F2b2lkcyBhY2Nlc3NpbmcgaW5vZGVzIHdoZW4g dGhlIGRpcmVjdG9yeSB0YWJsZSBzdWZmaWNlcywgYW5kIHJlZHVjZXMKK3RoZSBhbW91bnQgb2Yg Y29kZSBwdWxsZWQgaW4gZm9yIHN0YXRpYyBsaW5raW5nLgorLS0tCisgc3JjL21pc2MvcmVhbHBh dGguYyB8IDE1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCAxMzYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9zcmMvbWlzYy9yZWFscGF0aC5jIGIvc3JjL21pc2MvcmVhbHBhdGguYworaW5k ZXggZDI3MDhlNTlkLi5kYjhiNzRkYzggMTAwNjQ0CistLS0gYS9zcmMvbWlzYy9yZWFscGF0aC5j CisrKysgYi9zcmMvbWlzYy9yZWFscGF0aC5jCitAQCAtMSw0MyArMSwxNTYgQEAKKyAjaW5jbHVk ZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPGxpbWl0cy5oPgorLSNpbmNsdWRlIDxzeXMvc3RhdC5o PgorLSNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDx1 bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CistI2luY2x1ZGUgInN5c2NhbGwuaCIKKysK KytzdGF0aWMgc2l6ZV90IHNsYXNoX2xlbihjb25zdCBjaGFyICpzKQorK3sKKysJY29uc3QgY2hh ciAqczAgPSBzOworKwl3aGlsZSAoKnMgPT0gJy8nKSBzKys7CisrCXJldHVybiBzLXMwOworK30K KyAKKyBjaGFyICpyZWFscGF0aChjb25zdCBjaGFyICpyZXN0cmljdCBmaWxlbmFtZSwgY2hhciAq cmVzdHJpY3QgcmVzb2x2ZWQpCisgeworLQlpbnQgZmQ7CistCXNzaXplX3QgcjsKKy0Jc3RydWN0 IHN0YXQgc3QxLCBzdDI7CistCWNoYXIgYnVmWzE1KzMqc2l6ZW9mKGludCldOworLQljaGFyIHRt cFtQQVRIX01BWF07CisrCWNoYXIgc3RhY2tbUEFUSF9NQVgrMV07CisrCWNoYXIgb3V0cHV0W1BB VEhfTUFYXTsKKysJc2l6ZV90IHAsIHEsIGwsIGwwLCBjbnQ9MCwgbnVwPTA7CisrCWludCBjaGVj a19kaXI9MDsKKyAKKyAJaWYgKCFmaWxlbmFtZSkgeworIAkJZXJybm8gPSBFSU5WQUw7CisgCQly ZXR1cm4gMDsKKyAJfQorKwlsID0gc3RybmxlbihmaWxlbmFtZSwgc2l6ZW9mIHN0YWNrKTsKKysJ aWYgKCFsKSB7CisrCQllcnJubyA9IEVOT0VOVDsKKysJCXJldHVybiAwOworKwl9CisrCWlmIChs ID49IFBBVEhfTUFYKSBnb3RvIHRvb2xvbmc7CisrCXAgPSBzaXplb2Ygc3RhY2sgLSBsIC0gMTsK KysJcSA9IDA7CisrCW1lbWNweShzdGFjaytwLCBmaWxlbmFtZSwgbCsxKTsKKysKKysJLyogTWFp biBsb29wLiBFYWNoIGl0ZXJhdGlvbiBwb3BzIHRoZSBuZXh0IHBhcnQgZnJvbSBzdGFjayBvZgor KwkgKiByZW1haW5pbmcgcGF0aCBjb21wb25lbnRzIGFuZCBjb25zdW1lcyBhbnkgc2xhc2hlcyB0 aGF0IGZvbGxvdy4KKysJICogSWYgbm90IGEgbGluaywgaXQncyBtb3ZlZCB0byBvdXRwdXQ7IGlm IGEgbGluaywgY29udGVudHMgYXJlCisrCSAqIHB1c2hlZCB0byB0aGUgc3RhY2suICovCisrcmVz dGFydDoKKysJZm9yICg7IDsgcCs9c2xhc2hfbGVuKHN0YWNrK3ApKSB7CisrCQkvKiBJZiBzdGFj ayBzdGFydHMgd2l0aCAvLCB0aGUgd2hvbGUgY29tcG9uZW50IGlzIC8gb3IgLy8KKysJCSAqIGFu ZCB0aGUgb3V0cHV0IHN0YXRlIG11c3QgYmUgcmVzZXQuICovCisrCQlpZiAoc3RhY2tbcF0gPT0g Jy8nKSB7CisrCQkJY2hlY2tfZGlyPTA7CisrCQkJbnVwPTA7CisrCQkJcT0wOworKwkJCW91dHB1 dFtxKytdID0gJy8nOworKwkJCXArKzsKKysJCQkvKiBJbml0aWFsIC8vIGlzIHNwZWNpYWwuICov CisrCQkJaWYgKHN0YWNrW3BdID09ICcvJyAmJiBzdGFja1twKzFdICE9ICcvJykKKysJCQkJb3V0 cHV0W3ErK10gPSAnLyc7CisrCQkJY29udGludWU7CisrCQl9CisrCisrCQljaGFyICp6ID0gX19z dHJjaHJudWwoc3RhY2srcCwgJy8nKTsKKysJCWwwID0gbCA9IHotKHN0YWNrK3ApOworIAorLQlm ZCA9IHN5c19vcGVuKGZpbGVuYW1lLCBPX1BBVEh8T19OT05CTE9DS3xPX0NMT0VYRUMpOworLQlp ZiAoZmQgPCAwKSByZXR1cm4gMDsKKy0JX19wcm9jZmRuYW1lKGJ1ZiwgZmQpOworKwkJaWYgKCFs ICYmICFjaGVja19kaXIpIGJyZWFrOworIAorLQlyID0gcmVhZGxpbmsoYnVmLCB0bXAsIHNpemVv ZiB0bXAgLSAxKTsKKy0JaWYgKHIgPCAwKSBnb3RvIGVycjsKKy0JdG1wW3JdID0gMDsKKysJCS8q IFNraXAgYW55IC4gY29tcG9uZW50IGJ1dCBwcmVzZXJ2ZSBjaGVja19kaXIgc3RhdHVzLiAqLwor KwkJaWYgKGw9PTEgJiYgc3RhY2tbcF09PScuJykgeworKwkJCXAgKz0gbDsKKysJCQljb250aW51 ZTsKKysJCX0KKyAKKy0JZnN0YXQoZmQsICZzdDEpOworLQlyID0gc3RhdCh0bXAsICZzdDIpOwor LQlpZiAocjwwIHx8IHN0MS5zdF9kZXYgIT0gc3QyLnN0X2RldiB8fCBzdDEuc3RfaW5vICE9IHN0 Mi5zdF9pbm8pIHsKKy0JCWlmICghcikgZXJybm8gPSBFTE9PUDsKKy0JCWdvdG8gZXJyOworKwkJ LyogQ29weSBuZXh0IGNvbXBvbmVudCBvbnRvIG91dHB1dCBhdCBsZWFzdCB0ZW1wb3JhcmlseSwg dG8KKysJCSAqIGNhbGwgcmVhZGxpbmssIGJ1dCB3YWl0IHRvIGFkdmFuY2Ugb3V0cHV0IHBvc2l0 aW9uIHVudGlsCisrCQkgKiBkZXRlcm1pbmluZyBpdCdzIG5vdCBhIGxpbmsuICovCisrCQlpZiAo cSAmJiBvdXRwdXRbcS0xXSAhPSAnLycpIHsKKysJCQlpZiAoIXApIGdvdG8gdG9vbG9uZzsKKysJ CQlzdGFja1stLXBdID0gJy8nOworKwkJCWwrKzsKKysJCX0KKysJCWlmIChxK2wgPj0gUEFUSF9N QVgpIGdvdG8gdG9vbG9uZzsKKysJCW1lbWNweShvdXRwdXQrcSwgc3RhY2srcCwgbCk7CisrCQlv dXRwdXRbcStsXSA9IDA7CisrCQlwICs9IGw7CisrCisrCQlpbnQgdXAgPSAwOworKwkJaWYgKGww PT0yICYmIHN0YWNrW3AtMl09PScuJyAmJiBzdGFja1twLTFdPT0nLicpIHsKKysJCQl1cCA9IDE7 CisrCQkJLyogQW55IG5vbi0uLiBwYXRoIGNvbXBvbmVudHMgd2UgY291bGQgY2FuY2VsIHN0YXJ0 CisrCQkJICogYWZ0ZXIgbnVwIHJlcGV0aXRpb25zIG9mIHRoZSAzLWJ5dGUgc3RyaW5nICIuLi8i OworKwkJCSAqIGlmIHRoZXJlIGFyZSBub25lLCBhY2N1bXVsYXRlIC4uIGNvbXBvbmVudHMgdG8K KysJCQkgKiBsYXRlciBhcHBseSB0byBjd2QsIGlmIG5lZWRlZC4gKi8KKysJCQlpZiAocSA8PSAz Km51cCkgeworKwkJCQludXArKzsKKysJCQkJcSArPSBsOworKwkJCQljb250aW51ZTsKKysJCQl9 CisrCQkJLyogV2hlbiBwcmV2aW91cyBjb21wb25lbnRzIGFyZSBhbHJlYWR5IGtub3duIHRvIGJl CisrCQkJICogZGlyZWN0b3JpZXMsIHByb2Nlc3NpbmcgLi4gY2FuIHNraXAgcmVhZGxpbmsuICov CisrCQkJaWYgKCFjaGVja19kaXIpIGdvdG8gc2tpcF9yZWFkbGluazsKKysJCX0KKysJCXNzaXpl X3QgayA9IHJlYWRsaW5rKG91dHB1dCwgc3RhY2ssIHApOworKwkJaWYgKGs9PXApIGdvdG8gdG9v bG9uZzsKKysJCWlmICghaykgeworKwkJCWVycm5vID0gRU5PRU5UOworKwkJCXJldHVybiAwOwor KwkJfQorKwkJaWYgKGs8MCkgeworKwkJCWlmIChlcnJubyAhPSBFSU5WQUwpIHJldHVybiAwOwor K3NraXBfcmVhZGxpbms6CisrCQkJY2hlY2tfZGlyID0gMDsKKysJCQlpZiAodXApIHsKKysJCQkJ d2hpbGUocSAmJiBvdXRwdXRbcS0xXSE9Jy8nKSBxLS07CisrCQkJCWlmIChxPjEgJiYgKHE+MiB8 fCBvdXRwdXRbMF0hPScvJykpIHEtLTsKKysJCQkJY29udGludWU7CisrCQkJfQorKwkJCWlmIChs MCkgcSArPSBsOworKwkJCWNoZWNrX2RpciA9IHN0YWNrW3BdOworKwkJCWNvbnRpbnVlOworKwkJ fQorKwkJaWYgKCsrY250ID09IFNZTUxPT1BfTUFYKSB7CisrCQkJZXJybm8gPSBFTE9PUDsKKysJ CQlyZXR1cm4gMDsKKysJCX0KKysKKysJCS8qIElmIGxpbmsgY29udGVudHMgZW5kIGluIC8sIHN0 cmlwIGFueSBzbGFzaGVzIGFscmVhZHkgb24KKysJCSAqIHN0YWNrIHRvIGF2b2lkIC8tPi8vIG9y IC8vLT4vLy8gb3Igc3B1cmlvdXMgdG9vbG9uZy4gKi8KKysJCWlmIChzdGFja1trLTFdPT0nLycp IHdoaWxlIChzdGFja1twXT09Jy8nKSBwKys7CisrCQlwIC09IGs7CisrCQltZW1tb3ZlKHN0YWNr K3AsIHN0YWNrLCBrKTsKKysKKysJCS8qIFNraXAgdGhlIHN0YWNrIGFkdmFuY2VtZW50IGluIGNh c2Ugd2UgaGF2ZSBhIG5ldworKwkJICogYWJzb2x1dGUgYmFzZSBwYXRoLiAqLworKwkJZ290byBy ZXN0YXJ0OworIAl9CisgCistCV9fc3lzY2FsbChTWVNfY2xvc2UsIGZkKTsKKy0JcmV0dXJuIHJl c29sdmVkID8gc3RyY3B5KHJlc29sdmVkLCB0bXApIDogc3RyZHVwKHRtcCk7CistZXJyOgorLQlf X3N5c2NhbGwoU1lTX2Nsb3NlLCBmZCk7CisrIAlvdXRwdXRbcV0gPSAwOworKworKwlpZiAob3V0 cHV0WzBdICE9ICcvJykgeworKwkJaWYgKCFnZXRjd2Qoc3RhY2ssIHNpemVvZiBzdGFjaykpIHJl dHVybiAwOworKwkJbCA9IHN0cmxlbihzdGFjayk7CisrCQkvKiBDYW5jZWwgYW55IGluaXRpYWwg Li4gY29tcG9uZW50cy4gKi8KKysJCXAgPSAwOworKwkJd2hpbGUgKG51cC0tKSB7CisrCQkJd2hp bGUobD4xICYmIHN0YWNrW2wtMV0hPScvJykgbC0tOworKwkJCWlmIChsPjEpIGwtLTsKKysJCQlw ICs9IDI7CisrCQkJaWYgKHA8cSkgcCsrOworKwkJfQorKwkJaWYgKHEtcCAmJiBzdGFja1tsLTFd IT0nLycpIHN0YWNrW2wrK10gPSAnLyc7CisrCQlpZiAobCArIChxLXApICsgMSA+PSBQQVRIX01B WCkgZ290byB0b29sb25nOworKwkJbWVtbW92ZShvdXRwdXQgKyBsLCBvdXRwdXQgKyBwLCBxIC0g cCArIDEpOworKwkJbWVtY3B5KG91dHB1dCwgc3RhY2ssIGwpOworKwkJcSA9IGwgKyBxLXA7Cisr CX0KKysKKysJaWYgKHJlc29sdmVkKSByZXR1cm4gbWVtY3B5KHJlc29sdmVkLCBvdXRwdXQsIHEr MSk7CisrCWVsc2UgcmV0dXJuIHN0cmR1cChvdXRwdXQpOworKworK3Rvb2xvbmc6CisrCWVycm5v ID0gRU5BTUVUT09MT05HOworIAlyZXR1cm4gMDsKKyB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL211 c2wvcGF0Y2hlcy93b3JrX2Fyb3VuZF9saW51eF9idWdfaW5fcmVhZGxpbmtfc3lzY2FsbF93aXRo X3plcm9fYnVmZmVyLnBhdGNoIGIvc3JjcGtncy9tdXNsL3BhdGNoZXMvd29ya19hcm91bmRfbGlu dXhfYnVnX2luX3JlYWRsaW5rX3N5c2NhbGxfd2l0aF96ZXJvX2J1ZmZlci5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjMyODY0MzJlYmVhMgotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvbXVzbC9wYXRjaGVzL3dvcmtfYXJvdW5kX2xpbnV4X2J1Z19pbl9y ZWFkbGlua19zeXNjYWxsX3dpdGhfemVyb19idWZmZXIucGF0Y2gKQEAgLTAsMCArMSw1OSBAQAor RnJvbSBlMmZhNzIwYmU3MDI0Y2NlNGZjNDg5ZjM4Nzc0NzZkMzVkYTQ4ZWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogUmljaCBGZWxrZXIgPGRhbGlhc0BhZXJpZmFsLmN4PgorRGF0 ZTogTW9uLCAyMyBOb3YgMjAyMCAxOTo0NDoxOSAtMDUwMAorU3ViamVjdDogW1BBVENIXSB3b3Jr IGFyb3VuZCBsaW51eCBidWcgaW4gcmVhZGxpbmsgc3lzY2FsbCB3aXRoIHplcm8gYnVmZmVyCisg c2l6ZQorCitsaW51eCBmYWlscyB3aXRoIEVJTlZBTCB3aGVuIGEgemVybyBidWZmZXIgc2l6ZSBp cyBwYXNzZWQgdG8gdGhlCitzeXNjYWxsLiB0aGlzIGlzIG5vbi1jb25mb3JtaW5nIGJlY2F1c2Ug UE9TSVggYWxyZWFkeSBkZWZpbmVzIEVJTlZBTAord2l0aCBhIHNpZ25pZmljYW50bHkgZGlmZmVy ZW50IG1lYW5pbmc6IHRoZSB0YXJnZXQgaXMgbm90IGEgc3ltbGluay4KKworc2luY2UgdGhlIHJl cXVlc3QgaXMgc2VtYW50aWNhbGx5IHZhbGlkLCBwYXRjaCBpdCB1cCBieSB1c2luZyBhIGR1bW15 CitidWZmZXIgb2YgbGVuZ3RoIG9uZSwgYW5kIHRydW5jYXRpbmcgdGhlIHJldHVybiB2YWx1ZSB0 byB6ZXJvIGlmIGl0CitzdWNjZWVkcy4KKy0tLQorIHNyYy91bmlzdGQvcmVhZGxpbmsuYyAgIHwg MTEgKysrKysrKysrLS0KKyBzcmMvdW5pc3RkL3JlYWRsaW5rYXQuYyB8ICA5ICsrKysrKysrLQor IDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL3NyYy91bmlzdGQvcmVhZGxpbmsuYyBiL3NyYy91bmlzdGQvcmVhZGxpbmsuYwor aW5kZXggYTE1MmQ1MjQ5Li4zMmY0NTM3ZjkgMTAwNjQ0CistLS0gYS9zcmMvdW5pc3RkL3JlYWRs aW5rLmMKKysrKyBiL3NyYy91bmlzdGQvcmVhZGxpbmsuYworQEAgLTQsOSArNCwxNiBAQAorIAor IHNzaXplX3QgcmVhZGxpbmsoY29uc3QgY2hhciAqcmVzdHJpY3QgcGF0aCwgY2hhciAqcmVzdHJp Y3QgYnVmLCBzaXplX3QgYnVmc2l6ZSkKKyB7CisrCWNoYXIgZHVtbXlbMV07CisrCWlmICghYnVm c2l6ZSkgeworKwkJYnVmID0gZHVtbXk7CisrCQlidWZzaXplID0gMTsKKysJfQorICNpZmRlZiBT WVNfcmVhZGxpbmsKKy0JcmV0dXJuIHN5c2NhbGwoU1lTX3JlYWRsaW5rLCBwYXRoLCBidWYsIGJ1 ZnNpemUpOworKwlpbnQgciA9IF9fc3lzY2FsbChTWVNfcmVhZGxpbmssIHBhdGgsIGJ1ZiwgYnVm c2l6ZSk7CisgI2Vsc2UKKy0JcmV0dXJuIHN5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIEFUX0ZEQ1dE LCBwYXRoLCBidWYsIGJ1ZnNpemUpOworKwlpbnQgciA9IF9fc3lzY2FsbChTWVNfcmVhZGxpbmth dCwgQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgYnVmc2l6ZSk7CisgI2VuZGlmCisrCWlmIChidWYgPT0g ZHVtbXkgJiYgciA+IDApIHIgPSAwOworKwlyZXR1cm4gX19zeXNjYWxsX3JldChyKTsKKyB9Citk aWZmIC0tZ2l0IGEvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMgYi9zcmMvdW5pc3RkL3JlYWRsaW5r YXQuYworaW5kZXggOWFmNDVjZDVhLi5mNzlkM2QxNDIgMTAwNjQ0CistLS0gYS9zcmMvdW5pc3Rk L3JlYWRsaW5rYXQuYworKysrIGIvc3JjL3VuaXN0ZC9yZWFkbGlua2F0LmMKK0BAIC0zLDUgKzMs MTIgQEAKKyAKKyBzc2l6ZV90IHJlYWRsaW5rYXQoaW50IGZkLCBjb25zdCBjaGFyICpyZXN0cmlj dCBwYXRoLCBjaGFyICpyZXN0cmljdCBidWYsIHNpemVfdCBidWZzaXplKQorIHsKKy0JcmV0dXJu IHN5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIGZkLCBwYXRoLCBidWYsIGJ1ZnNpemUpOworKwljaGFy IGR1bW15WzFdOworKwlpZiAoIWJ1ZnNpemUpIHsKKysJCWJ1ZiA9IGR1bW15OworKwkJYnVmc2l6 ZSA9IDE7CisrCX0KKysJaW50IHIgPSBfX3N5c2NhbGwoU1lTX3JlYWRsaW5rYXQsIGZkLCBwYXRo LCBidWYsIGJ1ZnNpemUpOworKwlpZiAoYnVmID09IGR1bW15ICYmIHIgPiAwKSByID0gMDsKKysJ cmV0dXJuIF9fc3lzY2FsbF9yZXQocik7CisgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNsL3Rl bXBsYXRlIGIvc3JjcGtncy9tdXNsL3RlbXBsYXRlCmluZGV4IGQzMGM5OWE1NjNhMC4uNWJkYzVj NDhlNjIzIDEwMDY0NAotLS0gYS9zcmNwa2dzL211c2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9t dXNsL3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBAQAogcGtnbmFtZT1tdXNsCiByZXZlcnRzPSIxLjIu MF8xIgogdmVyc2lvbj0xLjEuMjQKLXJldmlzaW9uPTkKK3JldmlzaW9uPTEwCiBhcmNocz0iKi1t dXNsIgogYm9vdHN0cmFwPXllcwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQo= --===============3420561498688359769==--