From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, NO_DNS_FOR_FROM autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id CC76622225 for ; Tue, 21 Jan 2025 09:33:53 +0100 (CET) Content-Type: multipart/mixed; boundary="===============7053271648401338819==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_Backport_tzdb_vanguard_format?= To: ml@inbox.vuxu.org From: rationalize-zz Reply-to: ml@inbox.vuxu.org Message-ID: Date: Tue, 21 Jan 2025 09:33:53 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============7053271648401338819== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHJhdGlvbmFsaXplLXp6IGFnYWluc3QgbWFz dGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9y YXRpb25hbGl6ZS16ei92b2lkLXBhY2thZ2VzIGNwcF90aW1lem9uZQpodHRwczovL2dpdGh1Yi5j b20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNTQwNjEKCkJhY2twb3J0IHR6ZGIgdmFu Z3VhcmQgZm9ybWF0CiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hh bmdlcyBpbiB0aGlzIFBSOiAgYnJpZWZseQ0KDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0g SSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIHg4Nl82 NC1nbGliYw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJl cyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRzKToNCiAgLSBhYXJjaDY0DQogIC0gYXJt djZsDQogIC0geDg2XzY0LW11c2wNCg0KQmFja3BvcnQgdHpkYXRhIGZvcm1hdCBmaXggdG8gZ2Nj IDEzLjIgdG8gYWxsb3cgYysrIHN0ZDo6Y2hyb25vIGxpYnJhcnkgdG8gaGFuZGxlIHRpbWV6b25l cyBhZnRlciB0emRhdGEtMjAyNWEgdXBkYXRlLg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNTQwNjEucGF0Y2ggaXMg YXR0YWNoZWQ= --===============7053271648401338819== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-cpp_timezone-54061.patch" RnJvbSBjYjE0M2ZhZTgyNTc0NTcxZWVkOTk1MjU0NzFlMjdhY2I5ZDgwZDA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiByYXRpb25hbGl6ZS16eiA8Y3Jrb2hsQGhvdG1haWwuY29tPgpE YXRlOiBNb24sIDIwIEphbiAyMDI1IDE3OjA4OjE4IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gQmFj a3BvcnQgdHpkYiB2YW5ndWFyZCBmb3JtYXQKCi0tLQogLi4uL2djYy9wYXRjaGVzL2JhY2twb3J0 X3Zhbmd1YXJkX2ZtdC5wYXRjaCAgIHwgMzc2ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9n Y2MvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2xp YnRvb2wvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDMgZmlsZXMgY2hh bmdlZCwgMzc4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9nY2MvcGF0Y2hlcy9iYWNrcG9ydF92YW5ndWFyZF9mbXQucGF0Y2gKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2djYy9wYXRjaGVzL2JhY2twb3J0X3Zhbmd1YXJkX2ZtdC5wYXRjaCBi L3NyY3BrZ3MvZ2NjL3BhdGNoZXMvYmFja3BvcnRfdmFuZ3VhcmRfZm10LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi40MTdkMTk5NzIzOTkxNQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvZ2NjL3BhdGNoZXMvYmFja3BvcnRfdmFuZ3VhcmRfZm10LnBh dGNoCkBAIC0wLDAgKzEsMzc2IEBACitkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9jKysy MC90emRiLmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysyMC90emRiLmNjCitpbmRleCA4ZDI3NzI2 MDE2ZS4uYTQxNGY0ZjkzYWIgMTAwNjQ0CistLS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzIwL3R6 ZGIuY2MKKysrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMjAvdHpkYi5jYworQEAgLTM0MSw1MSAr MzQxLDEwMyBAQCBuYW1lc3BhY2Ugc3RkOjpjaHJvbm8KKyAgICAgICBmcmllbmQgaXN0cmVhbSYg b3BlcmF0b3I+Pihpc3RyZWFtJiwgb25fZGF5Jik7CisgICAgIH07CisgCistICAgIC8vIFdyYXBw ZXIgZm9yIGNocm9ubzo6eWVhciB0aGF0IHJlYWRzIGEgeWVhciwgb3Igb25lIG9mIHRoZSBrZXl3 b3JkcworLSAgICAvLyAibWluaW11bSIgb3IgIm1heGltdW0iLCBvciBhbiB1bmFtYmlndW91cyBw cmVmaXggb2YgYSBrZXl3b3JkLgorLSAgICBzdHJ1Y3QgbWlubWF4X3llYXIKKysgICAgLy8gV3Jh cHBlciBmb3IgdHdvIGNocm9ubzo6eWVhciB2YWx1ZXMsIHdoaWNoIHJlYWRzIHRoZSBGUk9NIGFu ZCBUTworKyAgICAvLyBmaWVsZHMgb2YgYSBSdWxlIGxpbmUuIFRoZSBGUk9NIGZpZWxkIGlzIGEg eWVhciBhbmQgdGhlIFRPIGlzIGEgeWVhciBvcgorKyAgICAvLyBvbmUgb2YgdGhlIGtleXdvcmRz ICJtYXhpbXVtIiBvciAib25seSIgKG9yIGFuIGFiYnJldmlhdGlvbiBvZiB0aG9zZSkuCisrICAg IC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdGhlIGtleXdvcmQgIm1pbmltdW0iIGlz IHJlY29nbml6ZWQKKysgICAgLy8gZm9yIEZST00gYW5kIGludGVycHJldGVkIGFzIDE5MDAuCisr ICAgIHN0cnVjdCB5ZWFyc19mcm9tX3RvCisgICAgIHsKKy0gICAgICB5ZWFyJiB5OworKyAgICAg IHllYXImIGZyb207CisrICAgICAgeWVhciYgdG87CisgCistICAgICAgZnJpZW5kIGlzdHJlYW0m IG9wZXJhdG9yPj4oaXN0cmVhbSYgaW4sIG1pbm1heF95ZWFyJiYgeSkKKysgICAgICBmcmllbmQg aXN0cmVhbSYgb3BlcmF0b3I+Pihpc3RyZWFtJiBpbiwgeWVhcnNfZnJvbV90byYmIHl5KQorICAg ICAgIHsKKy0JaWYgKHdzKGluKS5wZWVrKCkgPT0gJ20nKSAvLyBrZXl3b3JkcyAibWluaW11bSIg b3IgIm1heGltdW0iCisrCXN0cmluZyBzOworKyAgICBhdXRvIGMgPSB3cyhpbikucGVlaygpOwor KyAgICBpZiAoYyA9PSAnbScpIFtbdW5saWtlbHldXSAvLyBrZXl3b3JkICJtaW5pbXVtIgorIAkg IHsKKy0JICAgIHN0cmluZyBzOworLQkgICAgaW4gPj4gczsgLy8gZXh0cmFjdCB0aGUgcmVzdCBv ZiB0aGUgd29yZCwgYnV0IG9ubHkgbG9vayBhdCBzWzFdCistCSAgICBpZiAoc1sxXSA9PSAnYScp CistCSAgICAgIHkueSA9IHllYXI6Om1heCgpOworLQkgICAgZWxzZSBpZiAoc1sxXSA9PSAnaScp CistCSAgICAgIHkueSA9IHllYXI6Om1pbigpOworLQkgICAgZWxzZQorLQkgICAgICBpbi5zZXRz dGF0ZShpb3M6OmZhaWxiaXQpOworKyAgICAgICAgaW4gPj4gczsgLy8gZXh0cmFjdCB0aGUgcmVz dCBvZiB0aGUgd29yZAorKyAgICAgICAgeXkuZnJvbSA9IHllYXIoMTkwMCk7CisgCSAgfQorKyAg ICBlbHNlIGlmIChpbnQgbnVtID0gMDsgaW4gPj4gbnVtKSBbW2xpa2VseV1dCisrICAgICAgICB5 eS5mcm9tID0geWVhcntudW19OworKworKyAgICBjID0gd3MoaW4pLnBlZWsoKTsKKysgICAgaWYg KGMgPT0gJ20nKSAvLyBrZXl3b3JkICJtYXhpbXVtIgorKyAgICAgIHsKKysgICAgICAgIGluID4+ IHM7IC8vZXh0cmFjdCB0aGUgcmVzdCBvZiB0aGUgd29yZAorKyAgICAgICAgeXkudG8gPSB5ZWFy OjptYXgoKTsKKysgICAgICB9CisrICAgIGVsc2UgaWYgKGMgPT0gJ28nKSAvLyBrZXl3b3JkICJv bmx5IgorKyAgICAgIHsKKysgICAgICAgIGluID4+IHM7IC8vIGV4dHJhY3QgdGhlIHJlc3Qgb2Yg dGhlIHdvcmQKKysgICAgICAgIHl5LnRvID0geXkuZnJvbTsKKysgICAgICB9CisgCWVsc2UgaWYg KGludCBudW0gPSAwOyBpbiA+PiBudW0pCistCSAgeS55ID0geWVhcntudW19OworKwkgIHl5LnRv ID0geWVhcntudW19OworKworIAlyZXR1cm4gaW47CisgICAgICAgfQorICAgICB9OworIAorLSAg ICAvLyBBcyBhYm92ZSBmb3IgbWlubWF4X3llYXIsIGJ1dCBhbHNvIHN1cHBvcnRzIHRoZSBrZXl3 b3JkICJvbmx5IiwKKy0gICAgLy8gbWVhbmluZyB0aGF0IHRoZSBUTyB5ZWFyIGlzIHRoZSBzYW1l IGFzIHRoZSBGUk9NIHllYXIuCistICAgIHN0cnVjdCBtaW5tYXhfeWVhcjIKKysgICAgYm9vbAor KyAgICBzZWxlY3Rfc3RkX29yX2RzdF9hYmJyZXYoc3RyaW5nJiBhYmJyZXYsIG1pbnV0ZXMgc2F2 ZSkKKyAgICAgeworLSAgICAgIG1pbm1heF95ZWFyIHRvOworLSAgICAgIHllYXIgZnJvbTsKKysg ICAgICBpZiAoc2l6ZV90IHBvcyA9IGFiYnJldi5maW5kKCcvJyk7IHBvcyAhPSBzdHJpbmc6Om5w b3MpCisrICAgICAgICB7CisrICAgICAgICAgIC8vIFNlbGVjdCBvbmUgb2YgIlNURC9EU1QiIGZv ciBzdGFuZGFyZCBvciBkYXlsaWdodC4KKysgICAgICAgICAgaWYgKHNhdmUgPT0gMG1pbikKKysg ICAgICAgICAgICBhYmJyZXYuZXJhc2UocG9zKTsKKysgICAgICAgICAgZWxzZQorKyAgICAgICAg ICAgIGFiYnJldi5lcmFzZSgwLCBwb3MgKyAxKTsKKysgICAgICAgICAgcmV0dXJuIHRydWU7Cisr ICAgICAgICB9CisrICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9CisgCistICAgICAgZnJpZW5k IGlzdHJlYW0mIG9wZXJhdG9yPj4oaXN0cmVhbSYgaW4sIG1pbm1heF95ZWFyMiYmIHkpCistICAg ICAgeworLQlpZiAod3MoaW4pLnBlZWsoKSA9PSAnbycpIC8vIGtleXdvcmQgIm9ubHkiCistCSAg eworLQkgICAgc3RyaW5nIHM7CistCSAgICBpbiA+PiBzOyAvLyBleHRyYWN0IHRoZSB3aG9sZSBr ZXl3b3JkCistCSAgICB5LnRvLnkgPSB5LmZyb207CistCSAgfQorLQllbHNlCistCSAgaW4gPj4g c3RkOjptb3ZlKHkudG8pOworLQlyZXR1cm4gaW47CistICAgICAgfQorLSAgICB9OworKyAgICAv LyBzZXQgdGhlIHN5c19pbmZvOjphYmJyZXYgc3RyaW5nIGJ5IGV4cGFuZGluZyBhbnkgcGxhY2Vo b2xkZXJzLgorKyAgICB2b2lkCisrICAgIGZvcm1hdF9hYmJyZXZfc3RyKHN5c19pbmZvJiBpbmZv LCBzdHJpbmdfdmlldyBsZXR0ZXJzID0ge30pCisrICAgIHsKKysgICAgICBpZiAoc2l6ZV90IHBv cyA9IGluZm8uYWJicmV2LmZpbmQoJyUnKTsgcG9zICE9IHN0cmluZzo6bnBvcykKKysgICAgICAg IHsKKysgICAgICAgICAgaWYgKGluZm8uYWJicmV2W3BvcyArIDFdID09ICdzJykKKysgICAgICAg ICAgICB7CisrICAgICAgICAgICAgICAvLyBFeHBhbmQgIiVzIiB0byB0aGUgdmFyaWFibGUgcGFy dCwgZ2l2ZW4gYnkgUnVsZTo6bGV0dGVycy4KKysgICAgICAgICAgICAgIGlmIChsZXR0ZXJzID09 ICItIikKKysgICAgICAgICAgICAgICAgaW5mby5hYmJyZXYuZXJhc2UocG9zLCAyKTsKKysgICAg ICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgaW5mby5hYmJyZXYucmVwbGFjZShwb3Ms IDIsIGxldHRlcnMpOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgZWxzZSBpZiAoaW5mby5h YmJyZXZbcG9zICsgMV0gPT0gJ3onKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIC8v IEV4cGFuZCAiJXoiIHRvIHRoZSBVVCBvZmZzZXQgYXMgKy8taGgsICsvLWhobW0sIG9yICsvLWho bW1zcy4KKysgICAgICAgICAgICAgIGhoX21tX3NzPHNlY29uZHM+IHQoaW5mby5vZmZzZXQpOwor KyAgICAgICAgICAgICAgc3RyaW5nIHooMSwgIistIlt0LmlzX25lZ2F0aXZlKCldKTsKKysgICAg ICAgICAgICAgIGxvbmcgdmFsID0gdC5ob3VycygpLmNvdW50KCk7CisrICAgICAgICAgICAgICBp bnQgZGlnaXRzID0gMjsKKysgICAgICAgICAgICAgIGlmIChpbnQgbSA9IHQubWludXRlcygpLmNv dW50KCkpCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICBkaWdpdHMgPSA0 OworKyAgICAgICAgICAgICAgICAgIHZhbCAqPSAxMDA7CisrICAgICAgICAgICAgICAgICAgdmFs ICs9IG07CisrICAgICAgICAgICAgICAgICAgaWYgKGludCBzID0gdC5zZWNvbmRzKCkuY291bnQo KSkKKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgZGlnaXRz ID0gNjsKKysgICAgICAgICAgICAgICAgICAgICAgdmFsICo9IDEwMDsKKysgICAgICAgICAgICAg ICAgICAgICAgdmFsICs9IHM7CisrICAgICAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAg ICAgIH0KKysgICAgICAgICAgICAgIGF1dG8gc3ZhbCA9IHN0ZDo6dG9fc3RyaW5nKHZhbCk7Cisr ICAgICAgICAgICAgICB6ICs9IHN0cmluZyhkaWdpdHMgLSBzdmFsLnNpemUoKSwgJzAnKTsKKysg ICAgICAgICAgICAgIHogKz0gc3ZhbDsKKysgICAgICAgICAgICAgIGluZm8uYWJicmV2LnJlcGxh Y2UocG9zLCAyLCB6KTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgZWxzZQor KyAgICAgICAgc2VsZWN0X3N0ZF9vcl9kc3RfYWJicmV2KGluZm8uYWJicmV2LCBpbmZvLnNhdmUp OworKyAgICB9CisgCisgICAgIC8vIEEgdGltZSB6b25lIGluZm9ybWF0aW9uIHJlY29yZC4KKyAg ICAgLy8gWm9uZSAgTkFNRSAgICAgICAgU1RET0ZGICBSVUxFUyAgIEZPUk1BVCAgW1VOVElMXQor QEAgLTQ2MSw2ICs1MTMsNyBAQCBuYW1lc3BhY2Ugc3RkOjpjaHJvbm8KKyAJaW5mby5vZmZzZXQg PSBvZmZzZXQoKTsKKyAJaW5mby5zYXZlID0gbWludXRlcyhtX3NhdmUpOworIAlpbmZvLmFiYnJl diA9IGZvcm1hdCgpOworKyAgICBmb3JtYXRfYWJicmV2X3N0cihpbmZvKTsgLy8gZXhwYW5kICV6 CisgCXJldHVybiB0cnVlOworICAgICAgIH0KKyAKK0BAIC00NjgsMTIgKzUyMSw5IEBAIG5hbWVz cGFjZSBzdGQ6OmNocm9ubworICAgICAgIGZyaWVuZCBjbGFzcyB0aW1lX3pvbmU7CisgCisgICAg ICAgdm9pZAorLSAgICAgIHNldF9hYmJyZXYoY29uc3Qgc3RyaW5nJiBhYmJyZXYpCisrICAgICAg c2V0X2FiYnJldihzdHJpbmcgYWJicmV2KQorICAgICAgIHsKKy0JLy8gSW4gcHJhY3RpY2UsIHRo ZSBGT1JNQVQgZmllbGQgbmV2ZXIgbmVlZHMgZXhwYW5kaW5nIGhlcmUuCistCWlmIChhYmJyZXYu ZmluZF9maXJzdF9vZigiLyUiKSAhPSBhYmJyZXYubnBvcykKKy0JICBfX3Rocm93X3J1bnRpbWVf ZXJyb3IoInN0ZDo6Y2hyb25vOjp0aW1lX3pvbmU6IGludmFsaWQgZGF0YSIpOworLQltX2J1ZiA9 IGFiYnJldjsKKysJbV9idWYgPSBzdGQ6Om1vdmUoYWJicmV2KTsKKyAJbV9wb3MgPSAwOworIAlt X2V4cGFuZGVkID0gdHJ1ZTsKKyAgICAgICB9CitAQCAtNTQzLDkgKzU5Myw3IEBAIG5hbWVzcGFj ZSBzdGQ6OmNocm9ubworIAorIAkvLyBSdWxlICBOQU1FICBGUk9NICBUTyAgVFlQRSAgSU4gIE9O ICBBVCAgU0FWRSAgTEVUVEVSL1MKKyAKKy0JaW4gPj4gcXVvdGVkKHJ1bGUubmFtZSkKKy0JICAg Pj4gbWlubWF4X3llYXJ7cnVsZS5mcm9tfQorLQkgICA+PiBtaW5tYXhfeWVhcjJ7cnVsZS50bywg cnVsZS5mcm9tfTsKKysJaW4gPj4gcXVvdGVkKHJ1bGUubmFtZSkgPj4geWVhcnNfZnJvbV90b3ty dWxlLmZyb20sIHJ1bGUudG99OworIAorIAlpZiAoY2hhciB0eXBlOyBpbiA+PiB0eXBlICYmIHR5 cGUgIT0gJy0nKQorIAkgIGluLnNldHN0YXRlKGlvczo6ZmFpbGJpdCk7CitAQCAtNTU2LDcgKzYw NCw3IEBAIG5hbWVzcGFjZSBzdGQ6OmNocm9ubworIAlpZiAoc2F2ZV90aW1lLmluZGljYXRvciAh PSBhdF90aW1lOjpXYWxsKQorIAkgIHsKKyAJICAgIC8vIFdlIGRvbid0IGFjdHVhbGx5IHN0b3Jl IHRoZSBzYXZlX3RpbWUuaW5kaWNhdG9yLCBiZWNhdXNlIHdlCistCSAgICAvLyBhc3N1bWUgdGhh dCBpdCdzIGFsd2F5cyBkZWR1Y2FibGUgZnJvbSB0aGUgYWN0dWFsIG9mZnNldCB2YWx1ZS4KKysJ ICAgIC8vIGFzc3VtZSB0aGF0IGl0J3MgYWx3YXlzIGRlZHVjaWJsZSBmcm9tIHRoZSBvZmZzZXQg dmFsdWUuCisgCSAgICBhdXRvIGV4cGVjdGVkID0gc2F2ZV90aW1lLnRpbWUgPT0gMHMKKyAJCQkg ICAgICA/IGF0X3RpbWU6OlN0YW5kYXJkCisgCQkJICAgICAgOiBhdF90aW1lOjpEYXlsaWdodDsK K0BAIC01NjYsOCArNjE0LDYgQEAgbmFtZXNwYWNlIHN0ZDo6Y2hyb25vCisgCXJ1bGUuc2F2ZSA9 IHNhdmVfdGltZS50aW1lOworIAorIAlpbiA+PiBydWxlLmxldHRlcnM7CistCWlmIChydWxlLmxl dHRlcnMgPT0gIi0iKQorLQkgIHJ1bGUubGV0dGVycy5jbGVhcigpOworIAlyZXR1cm4gaW47Cisg ICAgICAgfQorIAorQEAgLTcxMyw1OCArNzU5LDYgQEAgbmFtZXNwYWNlIHN0ZDo6Y2hyb25vCisg I2VuZGlmIC8vIFRaREJfRElTQUJMRUQKKyAgIH07CisgCistI2lmbmRlZiBUWkRCX0RJU0FCTEVE CistICBuYW1lc3BhY2UKKy0gIHsKKy0gICAgYm9vbAorLSAgICBzZWxlY3Rfc3RkX29yX2RzdF9h YmJyZXYoc3RyaW5nJiBhYmJyZXYsIG1pbnV0ZXMgc2F2ZSkKKy0gICAgeworLSAgICAgIGlmIChz aXplX3QgcG9zID0gYWJicmV2LmZpbmQoJy8nKTsgcG9zICE9IHN0cmluZzo6bnBvcykKKy0Jewor LQkgIC8vIFNlbGVjdCBvbmUgb2YgIlNURC9EU1QiIGZvciBzdGFuZGFyZCBvciBkYXlsaWdodC4K Ky0JICBpZiAoc2F2ZSA9PSAwbWluKQorLQkgICAgYWJicmV2LmVyYXNlKHBvcyk7CistCSAgZWxz ZQorLQkgICAgYWJicmV2LmVyYXNlKDAsIHBvcyArIDEpOworLQkgIHJldHVybiB0cnVlOworLQl9 CistICAgICAgcmV0dXJuIGZhbHNlOworLSAgICB9CistCistICAgIC8vIFNldCB0aGUgc3lzX2lu Zm86OmFiYnJldiBzdHJpbmcgYnkgZXhwYW5kaW5nIGFueSBwbGFjZWhvbGRlcnMuCistICAgIHZv aWQKKy0gICAgZm9ybWF0X2FiYnJldl9zdHIoc3lzX2luZm8mIGluZm8sIHN0cmluZ192aWV3IGxl dHRlcnMgPSB7fSkKKy0gICAgeworLSAgICAgIGlmIChzaXplX3QgcG9zID0gaW5mby5hYmJyZXYu ZmluZCgiJXMiKTsgcG9zICE9IHN0cmluZzo6bnBvcykKKy0JeworLQkgIC8vIEV4cGFuZCAiJXMi IHRvIHRoZSB2YXJpYWJsZSBwYXJ0LCBnaXZlbiBieSBSdWxlOjpsZXR0ZXJzLgorLQkgIGluZm8u YWJicmV2LnJlcGxhY2UocG9zLCAyLCBsZXR0ZXJzKTsKKy0JfQorLSAgICAgIGVsc2UgaWYgKHNp emVfdCBwb3MgPSBpbmZvLmFiYnJldi5maW5kKCIleiIpOyBwb3MgIT0gc3RyaW5nOjpucG9zKQor LQl7CistCSAgLy8gRXhwYW5kICIleiIgdG8gdGhlIFVUIG9mZnNldCBhcyArLy1oaCwgKy8taGht bSwgb3IgKy8taGhtbXNzLgorLQkgIGhoX21tX3NzPHNlY29uZHM+IHQoaW5mby5vZmZzZXQpOwor LQkgIHN0cmluZyB6KDEsICIrLSJbdC5pc19uZWdhdGl2ZSgpXSk7CistCSAgbG9uZyB2YWwgPSB0 LmhvdXJzKCkuY291bnQoKTsKKy0JICBpZiAobWludXRlcyBtID0gdC5taW51dGVzKCk7IG0gIT0g bS56ZXJvKCkpCistCSAgICB7CistCSAgICAgIHZhbCAqPSAxMDA7CistCSAgICAgIHZhbCArPSBt LmNvdW50KCk7CistCSAgICAgIGlmIChzZWNvbmRzIHMgPSB0LnNlY29uZHMoKTsgcyAhPSBzLnpl cm8oKSkKKy0JCXsKKy0JCSAgdmFsICo9IDEwMDsKKy0JCSAgdmFsICs9IHMuY291bnQoKTsKKy0J CX0KKy0JICAgIH0KKy0JICB6ICs9IHN0ZDo6dG9fc3RyaW5nKHZhbCk7CistCSAgaW5mby5hYmJy ZXYucmVwbGFjZShwb3MsIDIsIHopOworLQl9CistICAgICAgZWxzZQorLQlzZWxlY3Rfc3RkX29y X2RzdF9hYmJyZXYoaW5mby5hYmJyZXYsIGluZm8uc2F2ZSk7CistICAgIH0KKy0gIH0KKy0jZW5k aWYgLy8gVFpEQl9ESVNBQkxFRAorLQorICAgLy8gSW1wbGVtZW50YXRpb24gb2Ygc3RkOjpjaHJv bm86OnRpbWVfem9uZTo6Z2V0X2luZm8oY29uc3Qgc3lzX3RpbWU8RD4mKQorICAgc3lzX2luZm8K KyAgIHRpbWVfem9uZTo6X01fZ2V0X3N5c19pbmZvKHN5c19zZWNvbmRzIHRwKSBjb25zdAorQEAg LTgzMywxMiArODI3LDcxIEBAIG5hbWVzcGFjZSBzdGQ6OmNocm9ubworICAgICBpbmZvLmFiYnJl diA9IHJpLmZvcm1hdCgpOworIAorICAgICBzdHJpbmdfdmlldyBsZXR0ZXJzOworLSAgICBpZiAo aSAhPSBpbmZvcy5iZWdpbigpKQorKyAgICBpZiAoaSAhPSBpbmZvcy5iZWdpbigpICYmIGlbLTFd LmV4cGFuZGVkKCkpCisrICAgICAgbGV0dGVycyA9IGlbLTFdLm5leHRfbGV0dGVycygpOworKwor KyAgICBpZiAobGV0dGVycy5lbXB0eSgpKQorICAgICAgIHsKKy0JaWYgKGlbLTFdLmV4cGFuZGVk KCkpCistCSAgbGV0dGVycyA9IGlbLTFdLm5leHRfbGV0dGVycygpOworLQkvLyBYWFggZWxzZSBu ZWVkIHRvIGZpbmQgUnVsZSBhY3RpdmUgYmVmb3JlIHRoaXMgdGltZSBhbmQgdXNlIGl0CistCS8v IHRvIGtub3cgdGhlIGluaXRpYWwgb2Zmc2V0LCBzYXZlLCBhbmQgbGV0dGVycy4KKysgICAgICAg IHN5c19zZWNvbmRzIHQgPSBpbmZvLmJlZ2luIC0gc2Vjb25kcygpOworKyAgICAgICAgY29uc3Qg eWVhcl9tb250aF9kYXkgZGF0ZShjaHJvbm86OmZsb29yPGRheXM+KHQpKTsKKysKKysgICAgICAg IC8vIFRyeSB0byBmaW5kIGEgUnVsZSBhY3RpdmUgYmVmb3JlIHRoaXMgdGltZSwgdG8gZ2V0IGlu aXRpYWwKKysgICAgICAgIC8vIFNBVkUgYW5kIExFVFRFUlMgdmFsdWVzLiBUaGVyZSBtYXkgbm90 IGJlIGEgUnVsZSBmb3IgdGhlIHBlcmlvZAorKyAgICAgICAgLy8gYmVmb3JlIHRoZSBmaXJzdCBE U1QgdHJhbnNpdGlvbiwgc28gZmluZCB0aGUgZWFybGllc3QgRFNULT5TVEQKKysgICAgICAgIC8v IHRyYW5zaXRpb24gYW5kIHVzZSB0aGUgTEVUVEVSUyB2YWx1ZXMgZnJvbSB0aGF0LgorKyAgICAg ICAgY29uc3QgUnVsZSogYWN0aXZlX3J1bGUgPSBudWxscHRyOworKyAgICAgICAgc3lzX3NlY29u ZHMgYWN0aXZlX3J1bGVfc3RhcnQgPSBzeXNfc2Vjb25kczo6bWluKCk7CisrICAgICAgICBjb25z dCBSdWxlKiBmaXJzdF9zdGQgPSBudWxscHRyOworKyAgICAgICAgZm9yIChjb25zdCBhdXRvJnJ1 bGUgOiBydWxlcykKKysgICAgICAgICAgeworKyAgICAgICAgICAgIGlmIChydWxlLnNhdmUgPT0g bWludXRlcygwKSkKKysgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgaWYgKCFmaXJz dF9zdGQpCisrICAgICAgICAgICAgICAgICAgZmlyc3Rfc3RkID0gJnJ1bGU7CisrICAgICAgICAg ICAgICAgIGVsc2UgaWYgKHJ1bGUuZnJvbSA8IGZpcnN0X3N0ZC0+ZnJvbSkKKysgICAgICAgICAg ICAgICAgICBmaXJzdF9zdGQgPSAmcnVsZTsKKysgICAgICAgICAgICAgICAgZWxzZSBpZiAocnVs ZS5mcm9tID09IGZpcnN0X3N0ZC0+ZnJvbSkKKysgICAgICAgICAgICAgICAgICB7CisrICAgICAg ICAgICAgICAgICAgICBpZiAocnVsZS5zdGFydF90aW1lKHJ1bGUuZnJvbSwge30pCisrICAgICAg ICAgICAgICAgICAgICAgICAgICA8IGZpcnN0X3N0ZC0+c3RhcnRfdGltZShmaXJzdF9zdGQtPmZy b20sIHt9KSkKKysgICAgICAgICAgICAgICAgICAgICAgZmlyc3Rfc3RkID0gJnJ1bGU7CisrICAg ICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIHllYXIgeSA9 IGRhdGUueWVhcigpOworKworKyAgICAgICAgICAgIGlmICh5ID4gcnVsZS50bykgLy8gcnVsZSBu byBsb25nZXIgYXBwbGllcyBhdCB0aW1lIHQKKysgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAg ICAgICAgICAgIGlmICh5IDwgcnVsZS5mcm9tKSAvLyBydWxlIGRvZXNuJ3QgYXBwbHkgeWV0IGF0 IHRpbWUgdAorKyAgICAgICAgICAgICAgY29udGludWU7CisrCisrICAgICAgICAgICAgc3lzX3Nl Y29uZHMgcnVsZV9zdGFydDsKKysKKysgICAgICAgICAgICBzZWNvbmRzIG9mZnNldHt9OyAvLyBh cHByb3ByaWF0ZSBmb3IgYXRfdGltZTo6VW5pdmVyc2FsCisrICAgICAgICAgICAgaWYgKHJ1bGUu d2hlbi5pbmRpY2F0b3IgPT0gYXRfdGltZTo6V2FsbCkKKysgICAgICAgICAgICAgIG9mZnNldCA9 IGluZm8ub2Zmc2V0OworKyAgICAgICAgICAgIGVsc2UgaWYgKHJ1bGUud2hlbi5pbmRpY2F0b3Ig PT0gYXRfdGltZTo6U3RhbmRhcmQpCisrICAgICAgICAgICAgICBvZmZzZXQgPSByaS5vZmZzZXQo KTsKKysKKysgICAgICAgICAgICAvLyBUaW1lIHRoZSBydWxlIHRha2VzIGVmZmVjdCB0aGlzIHll YXI6CisrICAgICAgICAgICAgcnVsZV9zdGFydCA9IHJ1bGUuc3RhcnRfdGltZSh5LCBvZmZzZXQp OworKworKyAgICAgICAgICAgIGlmIChydWxlX3N0YXJ0ID49IHQgJiYgcnVsZS5mcm9tIDwgeSkK KysgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgLy8gVHJ5IHRoaXMgcnVsZSBpbiB0 aGUgcHJldmlvdXMgeWVhci4KKysgICAgICAgICAgICAgICAgcnVsZV9zdGFydCA9IHJ1bGUuc3Rh cnRfdGltZSgtLXksIG9mZnNldCk7CisrICAgICAgICAgICAgICB9CisrCisrICAgICAgICAgICAg aWYgKGFjdGl2ZV9ydWxlX3N0YXJ0IDwgcnVsZV9zdGFydCAmJiBydWxlX3N0YXJ0IDwgdCkKKysg ICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgYWN0aXZlX3J1bGVfc3RhcnQgPSBydWxl X3N0YXJ0OworKyAgICAgICAgICAgICAgICBhY3RpdmVfcnVsZSA9ICZydWxlOworKyAgICAgICAg ICAgICAgfQorKyAgICAgICAgICB9CisrICAgICAgICAKKysgICAgICAgIGlmIChhY3RpdmVfcnVs ZSkKKysgICAgICAgICAgbGV0dGVycyA9IGFjdGl2ZV9ydWxlLT5sZXR0ZXJzOworKyAgICAgICAg ZWxzZSBpZiAoZmlyc3Rfc3RkKQorKyAgICAgICAgICBsZXR0ZXJzID0gZmlyc3Rfc3RkLT5sZXR0 ZXJzOworICAgICAgIH0KKyAKKyAgICAgY29uc3QgUnVsZSogY3Vycl9ydWxlID0gbnVsbHB0cjsK K0BAIC0yMDEwLDkgKzIwNjMsMTEgQEAgbmFtZXNwYWNlIHN0ZDo6Y2hyb25vCisgCSAgICAgIGlz dHJpbmdzdHJlYW0gaW4yKHN0ZDo6bW92ZShydWxlcykpOworIAkgICAgICBpbjIgPj4gcnVsZXNf dGltZTsKKyAJICAgICAgaW5mLm1fc2F2ZSA9IGR1cmF0aW9uX2Nhc3Q8bWludXRlcz4ocnVsZXNf dGltZS50aW1lKTsKKysgICAgICAgICAgLy8gSWYgdGhlIEZPUk1BVCBpcyAiU1REL0RTVCIgdGhl biB3ZSBjYW4gY2hvb3NlIHRoZSByaWdodCBvbmUKKysgICAgICAgICAgLy8gbm93LCBzbyB0aGF0 IHdlIHN0b3JlIGEgc2hvcnRlciBzdHJpbmcuCisgCSAgICAgIHNlbGVjdF9zdGRfb3JfZHN0X2Fi YnJldihmbXQsIGluZi5tX3NhdmUpOworIAkgICAgfQorLQkgIGluZi5zZXRfYWJicmV2KGZtdCk7 CisrCSAgaW5mLnNldF9hYmJyZXYoc3RkOjptb3ZlKGZtdCkpOworIAl9CisgCisgICAgICAgLy8g WUVBUiBbTU9OVEggW0RBWSBbVElNRV1dXQorQEAgLTIwMjMsNyArMjA3OCwxMiBAQCBuYW1lc3Bh Y2Ugc3RkOjpjaHJvbm8KKyAJICBhYmJyZXZfbW9udGggbXtKYW51YXJ5fTsKKyAJICBpbnQgZCA9 IDE7CisgCSAgYXRfdGltZSB0e307CisrICAgICAgLy8gWFhYIERBWSBzaG91bGQgc3VwcG9ydCBP TiBmb3JtYXQsIGUuZy4gbGFzdFN1biBvciBTdW4+PTgKKyAJICBpbiA+PiBtID4+IGQgPj4gdDsK KysgICAgICAvLyBYWFggVU5USUwgZmllbGQgc2hvdWxkIGJlIGludGVycHJldGVkCisrICAgICAg Ly8gInVzaW5nIHRoZSBydWxlcyBpbiBlZmZlY3QganVzdCBiZWZvcmUgdGhlIHRyYW5zaXRpb24i CisrICAgICAgLy8gc28gbWlnaHQgbmVlZCB0byBzdG9yZSBhcyB5ZWFyX21vbnRoZV9kYXkgYW5k IGhoX21tX3NzIGFuZCBvbmx5CisrICAgICAgLy8gY29udmVydCB0byBhIHN5c190aW1lIG9uY2Ug d2Uga25vdyB0aGUgb2Zmc2V0IGluIGVmZmVjdC4KKyAJICBpbmYubV91bnRpbCA9IHN5c19kYXlz KHllYXIoeSkvbS5tL2RheShkKSkgKyBzZWNvbmRzKHQudGltZSk7CisgCX0KKyAgICAgICBlbHNl CitkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9zdGQvdGltZS90emRiLzEuY2Mg Yi9saWJzdGRjKystdjMvdGVzdHN1aXRlL3N0ZC90aW1lL3R6ZGIvMS5jYworaW5kZXggODc3YTU1 YjhkMzEuLjliZDA4MjNhOGI3IDEwMDY0NAorLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9z dGQvdGltZS90emRiLzEuY2MKKysrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvc3RkL3RpbWUv dHpkYi8xLmNjCitAQCAtNDAsMTEgKzQwLDE1IEBAIHRlc3RfbG9jYXRlKCkKKyAgIGNvbnN0IHR6 ZGImIGRiID0gZ2V0X3R6ZGIoKTsKKyAgIGNvbnN0IHRpbWVfem9uZSogdHogPSBkYi5sb2NhdGVf em9uZSgiR01UIik7CisgICBWRVJJRlkoIHR6ICE9IG51bGxwdHIgKTsKKy0gIFZFUklGWSggdHot Pm5hbWUoKSA9PSAiRXRjL0dNVCIgKTsKKyAgIFZFUklGWSggdHogPT0gc3RkOjpjaHJvbm86Omxv Y2F0ZV96b25lKCJHTVQiKSApOworICAgVkVSSUZZKCB0eiA9PSBkYi5sb2NhdGVfem9uZSgiRXRj L0dNVCIpICk7CisgICBWRVJJRlkoIHR6ID09IGRiLmxvY2F0ZV96b25lKCJFdGMvR01UKzAiKSAp OworIAorKyAgLy8gU2luY2UgMjAyMmYgR01UIGlzIG5vdyBhIFpvbmUgYW5kIEV0Yy9HTVQgYSBs aW5rIGluc3RlYWQgb2YgdmljZSB2ZXJzYSwKKysgIC8vIGJ1dCBvbmx5IHdoZW4gdXNpbmcgdGhl IHZhbmd1YXJkIGZvcm1hdC4gQXMgb2YgMjAyNGEsIHRoZSBtYWluIGFuZAorKyAgLy8gcmVhcmd1 YXJkIGZvcm1hdHMgc3RpbGwgaGF2ZSBFdGMvR01UIGFzIGEgWm9uZSBhbmQgR210IGFzIGEgbGlu ay4KKysgIFZFUklGWSggdHotPm5hbWUoKSA9PSAiR01UIiB8fCB0ei0+bmFtZSgpID09ICJFdGMv R01UIik7CisrCisgICBWRVJJRlkoIGRiLmxvY2F0ZV96b25lKGRiLmN1cnJlbnRfem9uZSgpLT5u YW1lKCkpID09IGRiLmN1cnJlbnRfem9uZSgpICk7CisgfQorIApkaWZmIC0tZ2l0IGEvc3JjcGtn cy9nY2MvdGVtcGxhdGUgYi9zcmNwa2dzL2djYy90ZW1wbGF0ZQppbmRleCAwNzkyOTU0YzIzMjg4 Ny4uNDU5MDFjZWM2MTM5MDEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2NjL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvZ2NjL3RlbXBsYXRlCkBAIC00LDcgKzQsNyBAQAogCiBwa2duYW1lPWdjYwogdmVy c2lvbj0xMy4yLjAKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIF9taW5vcnZlcj0iJHt2ZXJzaW9u JS4qfSIKIF9tYWpvcnZlcj0iJHtfbWlub3J2ZXIlLip9IgogX2dtcF92ZXJzaW9uPTYuMy4wCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2xpYnRvb2wvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYnRvb2wvdGVt cGxhdGUKaW5kZXggNWNlZWE1NmFmZTMzNjQuLmY5ODJmY2EyOTEzMGZhIDEwMDY0NAotLS0gYS9z cmNwa2dzL2xpYnRvb2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9saWJ0b29sL3RlbXBsYXRlCkBA IC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlidG9vbCcKIHBrZ25hbWU9bGli dG9vbAogdmVyc2lvbj0yLjQuNwotcmV2aXNpb249NworcmV2aXNpb249OAogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJ0ZXhpbmZvIHBlcmwgYXV0b21ha2UgaGVs cDJtYW4geHogZ251bGliIHRhciIKIHNob3J0X2Rlc2M9IkdlbmVyaWMgbGlicmFyeSBzdXBwb3J0 IHNjcmlwdCIK --===============7053271648401338819==--