From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id CB5+JN4ZXmIeYgEAbAwnHQ (envelope-from ) for ; Tue, 19 Apr 2022 04:09:34 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id kLR9JN4ZXmIYLwEAauVa8A (envelope-from ) for ; Tue, 19 Apr 2022 04:09:34 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id B78CB2EC7A for ; Tue, 19 Apr 2022 04:09:32 +0200 (CEST) Received: from localhost ([::1]:36390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngdJ5-0002mN-6S for larch@yhetil.org; Mon, 18 Apr 2022 22:09:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55526) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ngdC7-0004J0-Fy for emacs-orgmode@gnu.org; Mon, 18 Apr 2022 22:02:20 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:54026) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ngdC0-00059U-30 for emacs-orgmode@gnu.org; Mon, 18 Apr 2022 22:02:17 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id DFF0E1600B7; Mon, 18 Apr 2022 19:02:07 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id VsI6YCGj2_c2; Mon, 18 Apr 2022 19:02:03 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id DB1701600D1; Mon, 18 Apr 2022 19:02:03 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id grhwHBl-2Ft6; Mon, 18 Apr 2022 19:02:03 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 959551600B7; Mon, 18 Apr 2022 19:02:03 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------xIn8Fp90jhZtEUvLYsS2gajV" Message-ID: Date: Mon, 18 Apr 2022 19:02:03 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: bug#54764: encode-time: make DST and TIMEZONE fields of the list argument optional ones Content-Language: en-US To: Max Nikulin References: <5ed963b2-3fa8-48d8-627e-bc0571d15b43@gmail.com> <149de00f-115b-5367-414f-c7700ef8966b@cs.ucla.edu> <2dd15844-01b3-0144-740c-185ec8488a81@cs.ucla.edu> <4a23f3a4-fe8f-d396-49d8-10034803be63@gmail.com> <52fb10fb-892a-f273-3be8-28793f27e204@cs.ucla.edu> <5cd820d4-ae67-43d4-9e63-c284d51ff1e4@gmail.com> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <5cd820d4-ae67-43d4-9e63-c284d51ff1e4@gmail.com> Received-SPF: pass client-ip=131.179.128.68; envelope-from=eggert@cs.ucla.edu; helo=zimbra.cs.ucla.edu X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode@gnu.org, 54764@debbugs.gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1650334173; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=TEmjMBhf3kw8Cbx/xkdYHAiCnN3Afgu/0V8ehnPKAsA=; b=NYNrZIcDBBLSejCj64jYhBZB3HTILNzJ7l0FoE7eJsnuUS/yE7smCQAH063pKpYuXw6MmW 42/WoDdUnrQCOWLk3zTfpqDDlWaMoFtYfcUxbg7aHUswQajE0YG6KGMeFCU3MzXuaUbS6W DNF6V0gIjPxFp7RGDpjNamc7MFdvtjlEm+hfeNEr0UArJNhSiUi7WuJ7tcQqK4fsJt79Bv 7NOd1hYQoDFcdCGdG2E8ttG8exZT15llol3ccwSHZk52fGnegVtPXXaWQyO6n1osrvB92w dqukaZ51ZUubt1xwH2Iim7h0fcdoOV5hXdPWZlr5axUVL6o0qzw2+pir/Nbe5Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1650334173; a=rsa-sha256; cv=none; b=u+TCn3EyNwd90Gz6uDs2ETEJ5G8eaEUBgcllve+hAl9Fp0RVL1pZuUwr+NWLyHcgWPmwxw qgK/oGjW+2HrV2ucex9lO46gJ/+Kf8X5kzN9eXOVYt9R2CQ4DbmqJX/CjZWNge/J64DZji gwXg/sRmUnP2X+6MhMfOnm5eVXdxZNOfonvGp/T7VyNBeHv9tceOlg8MX4WRRPM60CCMaX ahXk5V0gJQ0BpclD38YkKO7gbZzFBsCZhcLc1J6v1X5Y1guYd3XtJNCCGNFrAC7AN7qCWV h0D6GWWrQADVG6/CcLjNb+ccB+KE75qsWTyY2eLYon+nh8iVmbL73H+BC0XXpw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.94 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: B78CB2EC7A X-Spam-Score: -1.94 X-Migadu-Scanner: scn1.migadu.com X-TUID: DJsTt6fg6xUz This is a multi-part message in MIME format. --------------xIn8Fp90jhZtEUvLYsS2gajV Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Here are the main points I see about making timestamps work better in Org mode, and related patches to how Emacs handles timestamps. * Max would like encode-time to treat a list (SS MM HH DD MM YYYY) as if it were (SS MM HH DD MM YYYY nil -1 nil), as that would be more convenient for how Org mode deals with ambiguous local timestamps. This is relatively easy to add for Emacs 29+, and is done in first of the attached proposed patches to Emacs master. * As I understand it, Max would like a function that emulate Emacs 29 encode-time with one argument, even if running in Emacs versions back to Emacs 25. I suppose such a function would also need to implement Emacs 27+ encode-time's support for subsecond resolution. E.g., (org-encode-time '((44604411568 . 1000000000) 55 0 19 4 2022 - -1 t)) should return (1650329744604411568 . 1000000000) even in Emacs 25 and 26. * There are three other Emacs timestamp changes I should mention that might be relevant to Org mode: ** 1. Although in Emacs 28 functions like (time-convert nil t) return a timestamp resolution of 1 ns, in Emacs 29 I plan to fix them so that they return the system clock resolution, which is often coarser than 1 ns. This is done in the 4th attached patch. ** 2. In Emacs 29 format-time-string should support a new format "%-N" which outputs only enough digits for the system clock resolution. (This is the same as GNU "date".) This is done in the 5th attached patch. ** 3. Emacs 29 current-time and related functions should generate a (TICKS . HZ) timestamp instead of the old (HIGH LOW MICROSECS PICOSECS) timestamp. This change has been planned for some time; it was announced in Emacs 27. As far as I know Org mode is already ready for this change but I thought I'd mention it again here. This is done in the last attached patch. * My last topic in this email is Max's request for a feature that I'm not planning to put into Emacs 29 as it'll require more thought. This addresses the problem where your TZ is "Africa/Juba" and you want to encode a timestamp like "2021-01-31 23:30" which is ambiguous since at 24:00 that day Juba moved standard time back by an hour. Unfortunately the underlying C mktime function does not allow disambiguation in the rare situation where standard time moves further west of Greenwich. Addressing this problem would require rewriting mktime from scratch in Elisp, or using heuristics that would occasionally fail, or (my favorite) extending glibc mktime to treat tm_isdst values other than -1,0,1 to support disambiguating such timestamps. In the meantime, one can disambiguate such timestamps in Elisp by using numeric time zones, e.g.: (format-time-string "%F %T %z" (encode-time '(0 30 23 31 1 2021 - -1 TZ)) "Africa/Juba") yields "2021-01-31 23:30:00 +0200" if TZ is 7200, and "2021-01-31 23:30:00 +0300" if TZ is 10800. And perhaps this is the right way to go in the long run anyway. --------------xIn8Fp90jhZtEUvLYsS2gajV Content-Type: text/x-patch; charset=UTF-8; name="0001-Support-encode-time-list-s-m-h-D-M-Y.patch" Content-Disposition: attachment; filename="0001-Support-encode-time-list-s-m-h-D-M-Y.patch" Content-Transfer-Encoding: base64 RnJvbSAzZDAyYThlMTE5MmE3ODJhMTZmZmRlZTQ5NDA2MTJmNjlhMTI2MjlmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE4IEFwciAyMDIyIDEzOjA4OjI2IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzZdIFN1cHBvcnQgKGVuY29kZS10aW1lIChsaXN0IHMgbSBoIEQgTSBZKSkKCiogc3Jj L3RpbWVmbnMuYyAoRmVuY29kZV90aW1lKTogQWRkIHN1cHBvcnQgZm9yIGEgNi1lbHQgbGlz dCBhcmcuClJlcXVlc3RlZCBieSBNYXggTmlrdWxpbiBmb3IgT3JnIChidWcjNTQ3NjQpLgoq IHRlc3Qvc3JjL3RpbWVmbnMtdGVzdHMuZWwgKGVuY29kZS10aW1lLWFsdGVybmF0ZS1hcGlz KTogTmV3IHRlc3QuCi0tLQogZG9jL2xpc3ByZWYvb3MudGV4aSAgICAgICB8ICA1ICsrKysr CiBldGMvTkVXUyAgICAgICAgICAgICAgICAgIHwgIDUgKysrKysKIHNyYy90aW1lZm5zLmMg ICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKystLS0tLS0KIHRlc3Qvc3JjL3RpbWVm bnMtdGVzdHMuZWwgfCAgOSArKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi9vcy50 ZXhpIGIvZG9jL2xpc3ByZWYvb3MudGV4aQppbmRleCBjYWJhZTA4OTcwLi5iZmNkNTEzMThl IDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi9vcy50ZXhpCisrKyBiL2RvYy9saXNwcmVmL29z LnRleGkKQEAgLTE2NjAsNiArMTY2MCwxMSBAQCBUaW1lIENvbnZlcnNpb24KIGhhbmRsZSBz aXR1YXRpb25zIGxpa2UgdGhpcyB5b3UgY2FuIHVzZSBhIG51bWVyaWMgQHZhcnt6b25lfSB0 bwogZGlzYW1iaWd1YXRlIGluc3RlYWQuCiAKK1RoZSBmaXJzdCBhcmd1bWVudCBjYW4gYWxz byBiZSBhIGxpc3QgQGNvZGV7KEB2YXJ7c2Vjb25kfSBAdmFye21pbnV0ZX0KK0B2YXJ7aG91 cn0gQHZhcntkYXl9IEB2YXJ7bW9udGh9IEB2YXJ7eWVhcn0pfSwgd2hpY2ggaXMgdHJlYXRl ZCBsaWtlCit0aGUgbGlzdCBAY29kZXsoQHZhcntzZWNvbmR9IEB2YXJ7bWludXRlfSBAdmFy e2hvdXJ9IEB2YXJ7ZGF5fQorQHZhcnttb250aH0gQHZhcnt5ZWFyfSBuaWwgLTEgbmlsKX0u CisKIEFzIGFuIG9ic29sZXNjZW50IGNhbGxpbmcgY29udmVudGlvbiwgdGhpcyBmdW5jdGlv biBjYW4gYmUgZ2l2ZW4gc2l4CiBvciBtb3JlIGFyZ3VtZW50cy4gIFRoZSBmaXJzdCBzaXgg YXJndW1lbnRzIEB2YXJ7c2Vjb25kfSwKIEB2YXJ7bWludXRlfSwgQHZhcntob3VyfSwgQHZh cntkYXl9LCBAdmFye21vbnRofSwgYW5kIEB2YXJ7eWVhcn0KZGlmZiAtLWdpdCBhL2V0Yy9O RVdTIGIvZXRjL05FV1MKaW5kZXggM2U3Nzg4Mjc3ZC4uYzVhMTM2ZWE2OCAxMDA2NDQKLS0t IGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MKQEAgLTE5NTAsNiArMTk1MCwxMSBAQCBGb3Ig ZXhhbXBsZSwgJyh0aW1lLWFkZCBuaWwgJygxIC4gMTAwMCkpJyBubyBsb25nZXIgd2FybnMg dGhhdCB0aGUKICcoMSAuIDEwMDApJyBhY3RzIGxpa2UgJygxMDAwIC4gMTAwMDAwMCknLiAg VGhpcyB3YXJuaW5nLCB3aGljaCB3YXMgYQogdGVtcG9yYXJ5IHRyYW5zaXRpb24gYWlkIGZv ciBFbWFjcyAyNywgaGFzIHNlcnZlZCBpdHMgcHVycG9zZS4KIAorKysrCisqKiAnZW5jb2Rl LXRpbWUnIG5vdyBhbHNvIGFjY2VwdHMgYSA2LWVsZW1lbnQgbGlzdCB3aXRoIGp1c3QgdGlt ZSBhbmQgZGF0ZS4KKyhlbmNvZGUtdGltZSAobGlzdCBTRUNPTkQgTUlOVVRFIEhPVVIgREFZ IE1PTlRIIFlFQVIpKSBpcyBub3cgc2hvcnQgZm9yCisoZW5jb2RlLXRpbWUgKGxpc3QgU0VD T05EIE1JTlVURSBIT1VSIERBWSBNT05USCBZRUFSIG5pbCAtMSBuaWwpKS4KKwogKysrCiAq KiAnZGF0ZS10by10aW1lJyBub3cgYXNzdW1lcyBlYXJsaWVzdCB2YWx1ZXMgaWYgaXRzIGFy Z3VtZW50IGxhY2tzCiBtb250aCwgZGF5LCBvciB0aW1lLiAgRm9yIGV4YW1wbGUsIChkYXRl LXRvLXRpbWUgIjIwMjEtMTItMDQiKSBub3cKZGlmZiAtLWdpdCBhL3NyYy90aW1lZm5zLmMg Yi9zcmMvdGltZWZucy5jCmluZGV4IDdhNGE3MDc1ZWQuLmIwYjg0YTQzOGMgMTAwNjQ0Ci0t LSBhL3NyYy90aW1lZm5zLmMKKysrIGIvc3JjL3RpbWVmbnMuYwpAQCAtMTYyMCw2ICsxNjIw LDkgQEAgREVGVU4gKCJlbmNvZGUtdGltZSIsIEZlbmNvZGVfdGltZSwgU2VuY29kZV90aW1l LCAxLCBNQU5ZLCAwLAogc2F2aW5nIHRpbWUsIG5pbCBmb3Igc3RhbmRhcmQgdGltZSwgYW5k IC0xIHRvIGNhdXNlIHRoZSBkYXlsaWdodAogc2F2aW5nIGZsYWcgdG8gYmUgZ3Vlc3NlZC4K IAorVElNRSBjYW4gYWxzbyBiZSBhIGxpc3QgKFNFQ09ORCBNSU5VVEUgSE9VUiBEQVkgTU9O VEggWUVBUiksIHdoaWNoIGlzCitlcXVpdmFsZW50IHRvIChTRUNPTkQgTUlOVVRFIEhPVVIg REFZIE1PTlRIIFlFQVIgbmlsIC0xIG5pbCkuCisKIEFzIGFuIG9ic29sZXNjZW50IGNhbGxp bmcgY29udmVudGlvbiwgaWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aAogNiBvciBt b3JlIGFyZ3VtZW50cywgdGhlIGZpcnN0IDYgYXJndW1lbnRzIGFyZSBTRUNPTkQsIE1JTlVU RSwgSE9VUiwKIERBWSwgTU9OVEgsIGFuZCBZRUFSLCBhbmQgc3BlY2lmeSB0aGUgY29tcG9u ZW50cyBvZiBhIGRlY29kZWQgdGltZS4KQEAgLTE2NDUsNyArMTY0OCw3IEBAIERFRlVOICgi ZW5jb2RlLXRpbWUiLCBGZW5jb2RlX3RpbWUsIFNlbmNvZGVfdGltZSwgMSwgTUFOWSwgMCwK ICAgaWYgKG5hcmdzID09IDEpCiAgICAgewogICAgICAgTGlzcF9PYmplY3QgdGFpbCA9IGE7 Ci0gICAgICBmb3IgKGludCBpID0gMDsgaSA8IDk7IGkrKywgdGFpbCA9IFhDRFIgKHRhaWwp KQorICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA2OyBpKyssIHRhaWwgPSBYQ0RSICh0YWls KSkKIAlDSEVDS19DT05TICh0YWlsKTsKICAgICAgIHNlY2FyZyA9IFhDQVIgKGEpOyBhID0g WENEUiAoYSk7CiAgICAgICBtaW5hcmcgPSBYQ0FSIChhKTsgYSA9IFhDRFIgKGEpOwpAQCAt MTY1MywxMSArMTY1NiwxNyBAQCBERUZVTiAoImVuY29kZS10aW1lIiwgRmVuY29kZV90aW1l LCBTZW5jb2RlX3RpbWUsIDEsIE1BTlksIDAsCiAgICAgICBtZGF5YXJnID0gWENBUiAoYSk7 IGEgPSBYQ0RSIChhKTsKICAgICAgIG1vbmFyZyA9IFhDQVIgKGEpOyBhID0gWENEUiAoYSk7 CiAgICAgICB5ZWFyYXJnID0gWENBUiAoYSk7IGEgPSBYQ0RSIChhKTsKLSAgICAgIGEgPSBY Q0RSIChhKTsKLSAgICAgIExpc3BfT2JqZWN0IGRzdGZsYWcgPSBYQ0FSIChhKTsgYSA9IFhD RFIgKGEpOwotICAgICAgem9uZSA9IFhDQVIgKGEpOwotICAgICAgaWYgKFNZTUJPTFAgKGRz dGZsYWcpICYmICFGSVhOVU1QICh6b25lKSAmJiAhQ09OU1AgKHpvbmUpKQotCXRtLnRtX2lz ZHN0ID0gIU5JTFAgKGRzdGZsYWcpOworICAgICAgaWYgKCEgTklMUCAoYSkpCisJeworCSAg Q0hFQ0tfQ09OUyAoYSk7CisJICBhID0gWENEUiAoYSk7CisJICBDSEVDS19DT05TIChhKTsK KwkgIExpc3BfT2JqZWN0IGRzdGZsYWcgPSBYQ0FSIChhKTsgYSA9IFhDRFIgKGEpOworCSAg Q0hFQ0tfQ09OUyAoYSk7CisJICB6b25lID0gWENBUiAoYSk7CisJICBpZiAoU1lNQk9MUCAo ZHN0ZmxhZykgJiYgIUZJWE5VTVAgKHpvbmUpICYmICFDT05TUCAoem9uZSkpCisJICAgIHRt LnRtX2lzZHN0ID0gIU5JTFAgKGRzdGZsYWcpOworCX0KICAgICB9CiAgIGVsc2UgaWYgKG5h cmdzIDwgNikKICAgICB4c2lnbmFsMiAoUXdyb25nX251bWJlcl9vZl9hcmd1bWVudHMsIFFl bmNvZGVfdGltZSwgbWFrZV9maXhudW0gKG5hcmdzKSk7CmRpZmYgLS1naXQgYS90ZXN0L3Ny Yy90aW1lZm5zLXRlc3RzLmVsIGIvdGVzdC9zcmMvdGltZWZucy10ZXN0cy5lbAppbmRleCBl N2M0NjQ0NzJkLi4wOGQwNmYyN2Q5IDEwMDY0NAotLS0gYS90ZXN0L3NyYy90aW1lZm5zLXRl c3RzLmVsCisrKyBiL3Rlc3Qvc3JjL3RpbWVmbnMtdGVzdHMuZWwKQEAgLTIyNSw2ICsyMjUs MTUgQEAgZW5jb2RlLXRpbWUtZHN0LW51bWVyaWMtem9uZQogICAgICAgICAgICAgIChlbmNv ZGUtdGltZSAnKDI5IDMxIDE3IDMwIDQgMjAxOSAyIHQgNzIwMCkpCiAgICAgICAgICAgICAg JygyMzc1MiAyNzIxNykpKSkKIAorKGVydC1kZWZ0ZXN0IGVuY29kZS10aW1lLWFsdGVybmF0 ZS1hcGlzICgpCisgIChsZXQqICgodGltZSAnKDMwIDMwIDEyIDE1IDYgMTk3MCkpCisJICh0 aW1lLTEgKGFwcGVuZCB0aW1lICcobmlsIC0xIG5pbCkpKQorCSAoZXRpbWUgKGVuY29kZS10 aW1lIHRpbWUpKSkKKyAgICAoc2hvdWxkICh0aW1lLWVxdWFsLXAgZXRpbWUgKGVuY29kZS10 aW1lIHRpbWUtMSkpKQorICAgIChzaG91bGQgKHRpbWUtZXF1YWwtcCBldGltZSAoYXBwbHkg IydlbmNvZGUtdGltZSB0aW1lKSkpCisgICAgKHNob3VsZCAodGltZS1lcXVhbC1wIGV0aW1l IChhcHBseSAjJ2VuY29kZS10aW1lIHRpbWUtMSkpKQorICAgIChzaG91bGQgKHRpbWUtZXF1 YWwtcCBldGltZSAoYXBwbHkgIydlbmNvZGUtdGltZSAoYXBwZW5kIHRpbWUgJyhuaWwpKSkp KSkpCisKIChlcnQtZGVmdGVzdCBmbG9hdC10aW1lLXByZWNpc2lvbiAoKQogICAoc2hvdWxk ICg9IChmbG9hdC10aW1lICcoMCAxIDAgNDAyNSkpIDEuMDAwMDAwMDA0MDI1KSkKICAgKHNo b3VsZCAoPSAoZmxvYXQtdGltZSAnKDEwMDAwMDAwMDQwMjUgLiAxMDAwMDAwMDAwMDAwKSkg MS4wMDAwMDAwMDQwMjUpKQotLSAKMi4zNS4xCgo= --------------xIn8Fp90jhZtEUvLYsS2gajV Content-Type: text/x-patch; charset=UTF-8; name="0002-Refactor-to-simplify-clock-resolution-support.patch" Content-Disposition: attachment; filename="0002-Refactor-to-simplify-clock-resolution-support.patch" Content-Transfer-Encoding: base64 RnJvbSA2OGJkNWZkYmI2YTk0ZmQ5MDU3NWUyZTIxOTkzNjVhMGMyYjlkYjY4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE4IEFwciAyMDIyIDEzOjA4OjI2IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzZdIFJlZmFjdG9yIHRvIHNpbXBsaWZ5IGNsb2NrIHJlc29sdXRpb24gc3VwcG9ydAoK KiBzcmMvdGltZWZucy5jICh0aW1lc3BlY19tcHosIHRpbWVzcGVjX3RpY2tzKToKTmV3IGFy Z3MgSFosIFJFUy4gIEFsbCBjYWxsZXJzIGNoYW5nZWQuCih0aW1lc3BlY19jbG9ja3Jlc190 b19saXNwKTogTmV3IGZ1bmN0aW9uLApleHRlbmRlZCBmcm9tIHRpbWVzcGVjX3RvX2xpc3Au Cih0aW1lc3BlY190b19saXNwKTogVXNlIGl0LgoobWFrZV9saXNwX3RpbWVfY2xvY2tyZXMp OiBOZXcgZnVuY3Rpb24sIGV4dGVuZGVkIGZyb20gbWFrZV9saXNwX3RpbWUuCihtYWtlX2xp c3BfdGltZSk6IFVzZSBpdC4KLS0tCiBzcmMvdGltZWZucy5jIHwgNjEgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNDMgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L3RpbWVmbnMuYyBiL3NyYy90aW1lZm5zLmMKaW5kZXggYjBiODRhNDM4Yy4uM2Y4ZWZhZGY1 NCAxMDA2NDQKLS0tIGEvc3JjL3RpbWVmbnMuYworKysgYi9zcmMvdGltZWZucy5jCkBAIC00 ODIsMzAgKzQ4MiwzNyBAQCBtcHpfc2V0X3RpbWUgKG1wel90IHJvcCwgdGltZV90IHQpCiAg ICAgbXB6X3NldF91aW50bWF4IChyb3AsIHQpOwogfQogCi0vKiBTdG9yZSBpbnRvIG1welsw XSBhIGNsb2NrIHRpY2sgY291bnQgZm9yIFQsIGFzc3VtaW5nIGEKLSAgIFRJTUVTUEVDX0ha LWZyZXF1ZW5jeSBjbG9jay4gIFVzZSBtcHpbMV0gYXMgYSB0ZW1wLiAgKi8KKy8qIFN0b3Jl IGludG8gbXB6WzBdIGEgY2xvY2sgdGljayBjb3VudCBmb3IgVCwgYXNzdW1pbmcgYSBIWi1m cmVxdWVuY3kKKyAgIGNsb2NrIHdpdGggcmVzb2x1dGlvbiBSRVMgbnMgKHNvIHRoYXQgSFoq UkVTID0gVElNRVNQRUNfSFopLgorICAgVXNlIG1welsxXSBhcyBhIHRlbXAuICAqLwogc3Rh dGljIHZvaWQKLXRpbWVzcGVjX21weiAoc3RydWN0IHRpbWVzcGVjIHQpCit0aW1lc3BlY19t cHogKHN0cnVjdCB0aW1lc3BlYyB0LCBsb25nIGludCBoeiwgbG9uZyBpbnQgcmVzKQogewot ICAvKiBtcHpbMF0gPSBzZWMgKiBUSU1FU1BFQ19IWiArIG5zZWMuICAqLwotICBtcHpfc2V0 X3VpIChtcHpbMF0sIHQudHZfbnNlYyk7CisgIC8qIG1welswXSA9IHNlYyAqIGh6ICsgbnNl YyAvIHJlcy4gICovCisgIG1wel9zZXRfdWkgKG1welswXSwgdC50dl9uc2VjIC8gcmVzKTsK ICAgbXB6X3NldF90aW1lIChtcHpbMV0sIHQudHZfc2VjKTsKLSAgbXB6X2FkZG11bF91aSAo bXB6WzBdLCBtcHpbMV0sIFRJTUVTUEVDX0haKTsKKyAgbXB6X2FkZG11bF91aSAobXB6WzBd LCBtcHpbMV0sIGh6KTsKIH0KIAotLyogQ29udmVydCBUIHRvIGEgTGlzcCBpbnRlZ2VyIGNv dW50aW5nIFRJTUVTUEVDX0haIHRpY2tzLiAgKi8KKy8qIENvbnZlcnQgVCB0byBhIExpc3Ag aW50ZWdlciBjb3VudGluZyBIWiB0aWNrcyBlYWNoIGNvbnNpc3RpbmcKKyAgIG9mIFJFUyBu cy4gICovCiBzdGF0aWMgTGlzcF9PYmplY3QKLXRpbWVzcGVjX3RpY2tzIChzdHJ1Y3QgdGlt ZXNwZWMgdCkKK3RpbWVzcGVjX3RpY2tzIChzdHJ1Y3QgdGltZXNwZWMgdCwgbG9uZyBpbnQg aHosIGxvbmcgaW50IHJlcykKIHsKKyAgZWFzc3VtZSAoMCA8PSB0LnR2X25zZWMgJiYgdC50 dl9uc2VjIDwgVElNRVNQRUNfSFopOworICBlYXNzdW1lICgwIDwgaHogJiYgaHogPD0gVElN RVNQRUNfSFopOworICBlYXNzdW1lICgwIDwgcmVzICYmIHJlcyA8PSBUSU1FU1BFQ19IWik7 CisgIGVhc3N1bWUgKGh6ICogcmVzID09IFRJTUVTUEVDX0haKTsKKwogICAvKiBGb3Igc3Bl ZWQsIHVzZSBpbnRtYXhfdCBhcml0aG1ldGljIGlmIGl0IHdpbGwgZG8uICAqLwogICBpbnRt YXhfdCBhY2N1bTsKICAgaWYgKEZBU1RFUl9USU1FRk5TCi0gICAgICAmJiAhSU5UX01VTFRJ UExZX1dSQVBWICh0LnR2X3NlYywgVElNRVNQRUNfSFosICZhY2N1bSkKLSAgICAgICYmICFJ TlRfQUREX1dSQVBWICh0LnR2X25zZWMsIGFjY3VtLCAmYWNjdW0pKQorICAgICAgJiYgIUlO VF9NVUxUSVBMWV9XUkFQViAodC50dl9zZWMsIGh6LCAmYWNjdW0pCisgICAgICAmJiAhSU5U X0FERF9XUkFQViAodC50dl9uc2VjIC8gcmVzLCBhY2N1bSwgJmFjY3VtKSkKICAgICByZXR1 cm4gbWFrZV9pbnQgKGFjY3VtKTsKIAogICAvKiBGYWxsIGJhY2sgb24gYmlnbnVtIGFyaXRo bWV0aWMuICAqLwotICB0aW1lc3BlY19tcHogKHQpOworICB0aW1lc3BlY19tcHogKHQsIGh6 LCByZXMpOwogICByZXR1cm4gbWFrZV9pbnRlZ2VyX21weiAoKTsKIH0KIApAQCAtNTY1LDkg KzU3MiwyNiBAQCBsaXNwX3RpbWVfc2Vjb25kcyAoc3RydWN0IGxpc3BfdGltZSB0KQogICBy ZXR1cm4gbWFrZV9pbnRlZ2VyX21weiAoKTsKIH0KIAotLyogQ29udmVydCBUIHRvIGEgTGlz cCB0aW1lc3RhbXAuICAqLworLyogUmV0dXJuIChUSUNLUyAuIExJU1BIWikgZm9yIHRpbWUg VCwgYXNzdW1pbmcgYSBMSVNQSFosSFosUkVTIGNsb2NrLiAgKi8KK3N0YXRpYyBMaXNwX09i amVjdAordGltZXNwZWNfY2xvY2tyZXNfdG9fbGlzcCAoc3RydWN0IHRpbWVzcGVjIHQsIExp c3BfT2JqZWN0IGxpc3BoeiwKKwkJCSAgIGxvbmcgaW50IGh6LCBsb25nIGludCByZXMpCit7 CisgIHJldHVybiBGY29ucyAodGltZXNwZWNfdGlja3MgKHQsIGh6LCByZXMpLCBsaXNwaHop OworfQorCisvKiBSZXR1cm4gKFRJQ0tTIC4gSFopIGZvciB0aW1lIFQsIGFzc3VtaW5nIGEg Y2xvY2sgcmVzb2x1dGlvbiBvZiAxIG5zLiAgKi8KIExpc3BfT2JqZWN0Ci1tYWtlX2xpc3Bf dGltZSAoc3RydWN0IHRpbWVzcGVjIHQpCit0aW1lc3BlY190b19saXNwIChzdHJ1Y3QgdGlt ZXNwZWMgdCkKK3sKKyAgcmV0dXJuIHRpbWVzcGVjX2Nsb2NrcmVzX3RvX2xpc3AgKHQsIHRp bWVzcGVjX2h6LCBUSU1FU1BFQ19IWiwgMSk7Cit9CisKKy8qIENvbnZlcnQgVCB0byBhIExp c3AgdGltZXN0YW1wLCBhc3N1bWluZyBhIExJU1BIWiBvciBIWi1mcmVxdWVuY3kKKyAgIGNs b2NrIHdpdGggcmVzb2x1dGlvbiBSRVMgbnMgKHNvIHRoYXQgSFoqUkVTID0gVElNRVNQRUNf SFopLiAgKi8KK3N0YXRpYyBMaXNwX09iamVjdAorbWFrZV9saXNwX3RpbWVfY2xvY2tyZXMg KHN0cnVjdCB0aW1lc3BlYyB0LCBMaXNwX09iamVjdCBsaXNwaHosCisJCQkgbG9uZyBpbnQg aHosIGxvbmcgaW50IHJlcykKIHsKICAgaWYgKENVUlJFTlRfVElNRV9MSVNUKQogICAgIHsK QEAgLTU3NywxNCArNjAxLDE0IEBAIG1ha2VfbGlzcF90aW1lIChzdHJ1Y3QgdGltZXNwZWMg dCkKIAkJICAgIG1ha2VfZml4bnVtIChucyAvIDEwMDApLCBtYWtlX2ZpeG51bSAobnMgJSAx MDAwICogMTAwMCkpOwogICAgIH0KICAgZWxzZQotICAgIHJldHVybiB0aW1lc3BlY190b19s aXNwICh0KTsKKyAgICByZXR1cm4gdGltZXNwZWNfY2xvY2tyZXNfdG9fbGlzcCAodCwgbGlz cGh6LCBoeiwgcmVzKTsKIH0KIAotLyogUmV0dXJuIChUSUNLUyAuIEhaKSBmb3IgdGltZSBU LiAgKi8KKy8qIENvbnZlcnQgVCB0byBhIExpc3AgdGltZXN0YW1wLiAgKi8KIExpc3BfT2Jq ZWN0Ci10aW1lc3BlY190b19saXNwIChzdHJ1Y3QgdGltZXNwZWMgdCkKK21ha2VfbGlzcF90 aW1lIChzdHJ1Y3QgdGltZXNwZWMgdCkKIHsKLSAgcmV0dXJuIEZjb25zICh0aW1lc3BlY190 aWNrcyAodCksIHRpbWVzcGVjX2h6KTsKKyAgcmV0dXJuIG1ha2VfbGlzcF90aW1lX2Nsb2Nr cmVzICh0LCB0aW1lc3BlY19oeiwgVElNRVNQRUNfSFosIDEpOwogfQogCiAvKiBSZXR1cm4g TlVNRVJBVE9SIC8gREVOT01JTkFUT1IsIHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgZG91Ymxl LgpAQCAtNzQ3LDcgKzc3MSw4IEBAIGRlY29kZV90aW1lX2NvbXBvbmVudHMgKGVudW0gdGlt ZWZvcm0gZm9ybSwKICAgICAgIH0KIAogICAgIGNhc2UgVElNRUZPUk1fTklMOgotICAgICAg cmV0dXJuIGRlY29kZV90aWNrc19oeiAodGltZXNwZWNfdGlja3MgKGN1cnJlbnRfdGltZXNw ZWMgKCkpLAorICAgICAgcmV0dXJuIGRlY29kZV90aWNrc19oeiAodGltZXNwZWNfdGlja3Mg KGN1cnJlbnRfdGltZXNwZWMgKCksCisJCQkJCSAgICAgIFRJTUVTUEVDX0haLCAxKSwKIAkJ CSAgICAgIHRpbWVzcGVjX2h6LCByZXN1bHQsIGRyZXN1bHQpOwogCiAgICAgZGVmYXVsdDoK LS0gCjIuMzUuMQoK --------------xIn8Fp90jhZtEUvLYsS2gajV Content-Type: text/x-patch; charset=UTF-8; name="0003-Add-Gnulib-gettime-res-module.patch" Content-Disposition: attachment; filename="0003-Add-Gnulib-gettime-res-module.patch" Content-Transfer-Encoding: base64 RnJvbSA4YzI1MzcyNzA5ZDI1NmQ4Mzg1OGJlNDU0OTg3MTM3ZGMyMDJiNzI1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE4IEFwciAyMDIyIDEzOjA4OjI3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAzLzZdIEFkZCBHbnVsaWIgZ2V0dGltZS1yZXMgbW9kdWxlCgoqIGFkbWluL21lcmdlLWdu dWxpYiAoR05VTElCX01PRFVMRVMpOiBBZGQgZ2V0dGltZS1yZXMuCiogbGliL2dldHRpbWUt cmVzLmM6IE5ldyBmaWxlLCBjb3BpZWQgZnJvbSBHbnVsaWIuCiogbGliL2dudWxpYi5tay5p biwgbTQvZ251bGliLWNvbXAubTQ6IFJlZ2VuZXJhdGUuCi0tLQogYWRtaW4vbWVyZ2UtZ251 bGliIHwgIDMgKy0KIGxpYi9nZXR0aW1lLXJlcy5jICB8IDc4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9nbnVsaWIubWsuaW4gICB8ICA5 ICsrKysrKwogbTQvZ251bGliLWNvbXAubTQgIHwgIDMgKysKIDQgZmlsZXMgY2hhbmdlZCwg OTIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp Yi9nZXR0aW1lLXJlcy5jCgpkaWZmIC0tZ2l0IGEvYWRtaW4vbWVyZ2UtZ251bGliIGIvYWRt aW4vbWVyZ2UtZ251bGliCmluZGV4IGVhM2QyMzY4NmYuLjAyNzlkMWY5OWQgMTAwNzU1Ci0t LSBhL2FkbWluL21lcmdlLWdudWxpYgorKysgYi9hZG1pbi9tZXJnZS1nbnVsaWIKQEAgLTM3 LDcgKzM3LDggQEAgR05VTElCX01PRFVMRVM9CiAgIGZjaG1vZGF0IGZjbnRsIGZjbnRsLWgg ZmRvcGVuZGlyIGZpbGUtaGFzLWFjbAogICBmaWxlbW9kZSBmaWxlbmFtZSBmaWxldmVyY21w IGZsZXhtZW1iZXIgZnBpZWVlCiAgIGZyZWUtcG9zaXggZnN0YXRhdCBmc3VzYWdlIGZzeW5j IGZ1dGltZW5zCi0gIGdldGxvYWRhdmcgZ2V0b3B0LWdudSBnZXRyYW5kb20gZ2V0dGltZSBn ZXR0aW1lb2ZkYXkgZ2l0bG9nLXRvLWNoYW5nZWxvZworICBnZXRsb2FkYXZnIGdldG9wdC1n bnUgZ2V0cmFuZG9tCisgIGdldHRpbWUgZ2V0dGltZS1yZXMgZ2V0dGltZW9mZGF5IGdpdGxv Zy10by1jaGFuZ2Vsb2cKICAgaWVlZTc1NC1oIGlnbm9yZS12YWx1ZSBpbnRwcm9wcyBsYXJn ZWZpbGUgbGliZ21wIGxzdGF0CiAgIG1hbnl3YXJuaW5ncyBtZW1tZW0tc2ltcGxlIG1lbXBj cHkgbWVtcmNociBtaW5tYXggbWtvc3RlbXAgbWt0aW1lCiAgIG5hbm9zbGVlcCBucHJvYyBu c3RyZnRpbWUKZGlmZiAtLWdpdCBhL2xpYi9nZXR0aW1lLXJlcy5jIGIvbGliL2dldHRpbWUt cmVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNjExZjgzYWQy NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9nZXR0aW1lLXJlcy5jCkBAIC0wLDAgKzEsNzgg QEAKKy8qIEdldCB0aGUgc3lzdGVtIGNsb2NrIHJlc29sdXRpb24uCisKKyAgIENvcHlyaWdo dCAyMDIxLTIwMjIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMg ZmlsZSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcworICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlCisgICBMaWNlbnNlLCBvciAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIGZpbGUgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uICAqLworCisvKiBXcml0dGVuIGJ5IFBhdWwgRWdnZXJ0LiAgKi8KKwor I2luY2x1ZGUgPGNvbmZpZy5oPgorCisjaW5jbHVkZSAidGltZXNwZWMuaCIKKworc3RhdGlj IGxvbmcgaW50IF9HTF9BVFRSSUJVVEVfQ09OU1QKK2djZCAobG9uZyBpbnQgYSwgbG9uZyBp bnQgYikKK3sKKyAgd2hpbGUgKGIgIT0gMCkKKyAgICB7CisgICAgICBsb25nIGludCByID0g YSAlIGI7CisgICAgICBhID0gYjsKKyAgICAgIGIgPSByOworICAgIH0KKyAgcmV0dXJuIGE7 Cit9CisKKy8qIFJldHVybiB0aGUgc3lzdGVtIHRpbWUgcmVzb2x1dGlvbiBpbiBuYW5vc2Vj b25kcy4gICovCisKK2xvbmcgaW50CitnZXR0aW1lX3JlcyAodm9pZCkKK3sKKyAgc3RydWN0 IHRpbWVzcGVjIHJlczsKKyNpZiBkZWZpbmVkIENMT0NLX1JFQUxUSU1FICYmIEhBVkVfQ0xP Q0tfR0VUUkVTCisgIGNsb2NrX2dldHJlcyAoQ0xPQ0tfUkVBTFRJTUUsICZyZXMpOworI2Vs aWYgZGVmaW5lZCBIQVZFX1RJTUVTUEVDX0dFVFJFUworICB0aW1lc3BlY19nZXRyZXMgKCZy ZXMsIFRJTUVfVVRDKTsKKyNlbHNlCisgIC8qIEd1ZXNzIGhpZ2ggYW5kIGxldCB0aGUgbGF0 ZXIgY29kZSBkZWR1Y2UgYmV0dGVyLiAgKi8KKyAgcmVzLnR2X3NlYyA9IDE7CisgIHJlcy50 dl9uc2VjID0gMDsKKyNlbmRpZgorCisgIC8qIE9uIGFsbCBHbnVsaWIgcGxhdGZvcm1zIHRo ZSBmb2xsb3dpbmcgY2FsY3VsYXRpb25zIGRvIG5vdCBvdmVyZmxvdy4gICovCisKKyAgbG9u ZyBpbnQgaHogPSBUSU1FU1BFQ19IWjsKKyAgbG9uZyBpbnQgciA9IGh6ICogcmVzLnR2X3Nl YyArIHJlcy50dl9uc2VjOworCisgIC8qIE9uIHNvbWUgcGxhdGZvcm1zLCBjbG9ja19nZXRy ZXMgKENMT0NLX1JFQUxUSU1FLCAuLi4pIHlpZWxkcyBhCisgICAgIHRvby1sYXJnZSByZXNv bHV0aW9uLCB1bmRlciB0aGUgbWlzdGFrZW4gdGhlb3J5IHRoYXQgaXQgc2hvdWxkCisgICAg IHJldHVybiB0aGUgdGltZXIgaW50ZXJ2YWwuICBGb3IgZXhhbXBsZSwgb24gQUlYIDcuMiBQ T1dFUjgKKyAgICAgY2xvY2tfZ2V0cmVzIHlpZWxkcyAxMCBtcyBldmVuIHRob3VnaCBjbG9j a19nZXR0aW1lIHlpZWxkcyAxIMK1cworICAgICByZXNvbHV0aW9uLiAgV29yayBhcm91bmQg dGhlIHByb2JsZW0gd2l0aCBoaWdoIHByb2JhYmlsaXR5IGJ5CisgICAgIHRyeWluZyBjbG9j a19nZXR0aW1lIHNldmVyYWwgdGltZXMgYW5kIG9ic2VydmluZyB0aGUgcmVzdWx0aW5nCisg ICAgIGJvdW5kcyBvbiByZXNvbHV0aW9uLiAgKi8KKyAgZm9yIChpbnQgaSA9IDA7IDEgPCBy ICYmIGkgPCAzMjsgaSsrKQorICAgIHsKKyAgICAgIHN0cnVjdCB0aW1lc3BlYyBub3cgPSBj dXJyZW50X3RpbWVzcGVjICgpOworICAgICAgciA9IGdjZCAociwgbm93LnR2X25zZWMgPyBu b3cudHZfbnNlYyA6IGh6KTsKKyAgICB9CisKKyAgcmV0dXJuIHI7Cit9CisKKy8qCisgKiBI ZXkgRW1hY3MhCisgKiBMb2NhbCBWYXJpYWJsZXM6CisgKiBjb2Rpbmc6IHV0Zi04CisgKiBF bmQ6CisgKi8KZGlmZiAtLWdpdCBhL2xpYi9nbnVsaWIubWsuaW4gYi9saWIvZ251bGliLm1r LmluCmluZGV4IGJiYjA1ZmRiYTUuLmZiYzE5OWZhYWYgMTAwNjQ0Ci0tLSBhL2xpYi9nbnVs aWIubWsuaW4KKysrIGIvbGliL2dudWxpYi5tay5pbgpAQCAtMTE0LDYgKzExNCw3IEBACiAj ICBnZXRvcHQtZ251IFwKICMgIGdldHJhbmRvbSBcCiAjICBnZXR0aW1lIFwKKyMgIGdldHRp bWUtcmVzIFwKICMgIGdldHRpbWVvZmRheSBcCiAjICBnaXRsb2ctdG8tY2hhbmdlbG9nIFwK ICMgIGllZWU3NTQtaCBcCkBAIC0yMTg4LDYgKzIxODksMTQgQEAgbGliZ251X2FfU09VUkNF UyArPSBnZXR0aW1lLmMKIGVuZGlmCiAjIyBlbmQgICBnbnVsaWIgbW9kdWxlIGdldHRpbWUK IAorIyMgYmVnaW4gZ251bGliIG1vZHVsZSBnZXR0aW1lLXJlcworaWZlcSAoLCQoT01JVF9H TlVMSUJfTU9EVUxFX2dldHRpbWUtcmVzKSkKKworbGliZ251X2FfU09VUkNFUyArPSBnZXR0 aW1lLXJlcy5jCisKK2VuZGlmCisjIyBlbmQgICBnbnVsaWIgbW9kdWxlIGdldHRpbWUtcmVz CisKICMjIGJlZ2luIGdudWxpYiBtb2R1bGUgZ2V0dGltZW9mZGF5CiBpZmVxICgsJChPTUlU X0dOVUxJQl9NT0RVTEVfZ2V0dGltZW9mZGF5KSkKIApkaWZmIC0tZ2l0IGEvbTQvZ251bGli LWNvbXAubTQgYi9tNC9nbnVsaWItY29tcC5tNAppbmRleCBmYjVmMWI1MmE0Li5hMDRlYzQ0 YmU5IDEwMDY0NAotLS0gYS9tNC9nbnVsaWItY29tcC5tNAorKysgYi9tNC9nbnVsaWItY29t cC5tNApAQCAtMTEyLDYgKzExMiw3IEBAIEFDX0RFRlVOCiAgICMgQ29kZSBmcm9tIG1vZHVs ZSBnZXRyYW5kb206CiAgICMgQ29kZSBmcm9tIG1vZHVsZSBnZXR0ZXh0LWg6CiAgICMgQ29k ZSBmcm9tIG1vZHVsZSBnZXR0aW1lOgorICAjIENvZGUgZnJvbSBtb2R1bGUgZ2V0dGltZS1y ZXM6CiAgICMgQ29kZSBmcm9tIG1vZHVsZSBnZXR0aW1lb2ZkYXk6CiAgICMgQ29kZSBmcm9t IG1vZHVsZSBnaXRsb2ctdG8tY2hhbmdlbG9nOgogICAjIENvZGUgZnJvbSBtb2R1bGUgZ3Jv dXAtbWVtYmVyOgpAQCAtMzcxLDYgKzM3Miw3IEBAIEFDX0RFRlVOCiAgICAgICAgICAgICAg ICAgIFt0ZXN0ICRIQVZFX0dFVFJBTkRPTSA9IDAgfHwgdGVzdCAkUkVQTEFDRV9HRVRSQU5E T00gPSAxXSkKICAgZ2xfU1lTX1JBTkRPTV9NT0RVTEVfSU5ESUNBVE9SKFtnZXRyYW5kb21d KQogICBnbF9HRVRUSU1FCisgIGdsX0dFVFRJTUVfUkVTCiAgIGdsX0ZVTkNfR0VUVElNRU9G REFZCiAgIGdsX0NPTkRJVElPTkFMKFtHTF9DT05EX09CSl9HRVRUSU1FT0ZEQVldLAogICAg ICAgICAgICAgICAgICBbdGVzdCAkSEFWRV9HRVRUSU1FT0ZEQVkgPSAwIHx8IHRlc3QgJFJF UExBQ0VfR0VUVElNRU9GREFZID0gMV0pCkBAIC0xMjcwLDYgKzEyNzIsNyBAQCBBQ19ERUZV TgogICBsaWIvZ2V0b3B0X2ludC5oCiAgIGxpYi9nZXRyYW5kb20uYwogICBsaWIvZ2V0dGV4 dC5oCisgIGxpYi9nZXR0aW1lLXJlcy5jCiAgIGxpYi9nZXR0aW1lLmMKICAgbGliL2dldHRp bWVvZmRheS5jCiAgIGxpYi9nbF9vcGVuc3NsLmgKLS0gCjIuMzUuMQoK --------------xIn8Fp90jhZtEUvLYsS2gajV Content-Type: text/x-patch; charset=UTF-8; name="0004-Use-CLOCK_REALTIME-resolution-for-TICKS-.-HZ.patch" Content-Disposition: attachment; filename="0004-Use-CLOCK_REALTIME-resolution-for-TICKS-.-HZ.patch" Content-Transfer-Encoding: base64 RnJvbSA5YzQyZjVmOWViYzViNGU1ZDdiZDBjMzNhMGNlN2RlMjdjMjdkODkzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE4IEFwciAyMDIyIDEzOjA4OjI3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCA0LzZdIFVzZSBDTE9DS19SRUFMVElNRSByZXNvbHV0aW9uIGZvciAoVElDS1MgLiBIWikK ClRoaXMgZ2l2ZXMgRWxpc3AgY29kZSBhIGNsZWFyZXIgdmlldyBvZiB0aW1lc3RhbXBzLCBm b3IgdXNlcyBsaWtlCih0aW1lLWNvbnZlcnQgbmlsIHQpLgoqIHNyYy9lbWFjcy5jIChtYWlu KTogQ2FsbCBpbml0X3RpbWVmbnMgZWFybGllci4KKiBzcmMva2V5Ym9hcmQuYyAoRmN1cnJl bnRfaWRsZV90aW1lKToKKiBzcmMvc3lzZGVwLmMgKEZjdXJyZW50X3RpbWUpOgpVc2UgbWFr ZV9saXNwX3JlYWx0aW1lIGluc3RlYWQgb2YgbWFrZV9saXNwX3RpbWUsCmZvciByZWFsdGlt ZSB0aW1lc3RhbXBzIChlLmcuLCB0aGV5IGNvbWUgZnJvbSBnZXR0aW1lKS4KKiBzcmMvc3lz ZGVwLmMgKG1ha2VfbGlzcF9zX3VzKTogQWxzbyBkZWZpbmUgaWYgSEFWRV9HRVRSVVNBR0Uu ClNpbXBsaWZ5IGJ5IGNhbGxpbmcgbWFrZV9saXNwX3RpbWVfY2xvY2tyZXMuCihGZ2V0X2lu dGVybmFsX3J1bl90aW1lKTogRml4IHJlc29sdXRpb24gYnkgY2FsbGluZyBtYWtlX2xpc3Bf c191cy4KKiBzcmMvdGltZWZucy5jIChyZWFsdGltZV9saXNwaHosIHJlYWx0aW1lX2h6LCBy ZWFsdGltZV9yZXMpOgpOZXcgc3RhdGljIHZhcnMuCihpbml0X3RpbWVfcmVzKTogTmV3IGZ1 bmN0aW9uLgooaW5pdF90aW1lZm5zKTogSW5pdGlhbGl6ZSB0aGUgbmV3IHZhcnMKKG1ha2Vf bGlzcF90aW1lX2Nsb2NrcmVzKTogTm93IGV4dGVybi4KKG1ha2VfbGlzcF9yZWFsdGltZSk6 IE5ldyBmdW5jdGlvbi4KLS0tCiBldGMvTkVXUyAgICAgICB8ICA2ICsrKysrKwogc3JjL2Vt YWNzLmMgICAgfCAgNyArKysrLS0tCiBzcmMvZmlsZWlvLmMgICB8ICA1ICsrKystCiBzcmMv a2V5Ym9hcmQuYyB8ICA0ICsrLS0KIHNyYy9zeXNkZXAuYyAgIHwgMTQgKysrKysrLS0tLS0t LS0KIHNyYy9zeXN0aW1lLmggIHwgIDMgKysrCiBzcmMvdGltZWZucy5jICB8IDM2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogNyBmaWxlcyBjaGFuZ2VkLCA1OCBp bnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBi L2V0Yy9ORVdTCmluZGV4IGM1YTEzNmVhNjguLjM4MzE3ZmVmMDMgMTAwNjQ0Ci0tLSBhL2V0 Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0xOTUwLDYgKzE5NTAsMTIgQEAgRm9yIGV4YW1w bGUsICcodGltZS1hZGQgbmlsICcoMSAuIDEwMDApKScgbm8gbG9uZ2VyIHdhcm5zIHRoYXQg dGhlCiAnKDEgLiAxMDAwKScgYWN0cyBsaWtlICcoMTAwMCAuIDEwMDAwMDApJy4gIFRoaXMg d2FybmluZywgd2hpY2ggd2FzIGEKIHRlbXBvcmFyeSB0cmFuc2l0aW9uIGFpZCBmb3IgRW1h Y3MgMjcsIGhhcyBzZXJ2ZWQgaXRzIHB1cnBvc2UuCiAKKysrKworKiogKFRJQ0tTIC4gSFop IHRpbWVzdGFtcHMgbm93IHJlcG9ydCBzeXN0ZW0gY2xvY2sgcmVzb2x1dGlvbi4KK0ZvciBl eGFtcGxlLCB0aGUgbWFjT1Mgc3lzdGVtIGNsb2NrIHJlc29sdXRpb24gaXMgMSDOvHMgc28K Kyh0aW1lLWNvbnZlcnQgbmlsIHQpIG5vdyBhY3RzIGxpa2UgKHRpbWUtY29udmVydCBuaWwg MTAwMDAwMCkuCitGb3JtZXJseSwgdGltZS1jb252ZXJ0IHVzZWQgYSBjbG9jayByZXNvbHV0 aW9uIG9mIDEgbnMgcmVnYXJkbGVzcy4KKwogKysrCiAqKiAnZW5jb2RlLXRpbWUnIG5vdyBh bHNvIGFjY2VwdHMgYSA2LWVsZW1lbnQgbGlzdCB3aXRoIGp1c3QgdGltZSBhbmQgZGF0ZS4K IChlbmNvZGUtdGltZSAobGlzdCBTRUNPTkQgTUlOVVRFIEhPVVIgREFZIE1PTlRIIFlFQVIp KSBpcyBub3cgc2hvcnQgZm9yCmRpZmYgLS1naXQgYS9zcmMvZW1hY3MuYyBiL3NyYy9lbWFj cy5jCmluZGV4IDMxMDA4NTJiMmMuLjE1YTRhMjU3NzAgMTAwNjQ0Ci0tLSBhL3NyYy9lbWFj cy5jCisrKyBiL3NyYy9lbWFjcy5jCkBAIC0xODk0LDYgKzE4OTQsMTAgQEAgbWFpbiAoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAgIGluaXRfc2lnbmFscyAoKTsKIAorICAvKiBUaGlz IGNhbGxzIHB1dGVudiBhbmQgc28gbXVzdCBwcmVjZWRlIGluaXRfcHJvY2Vzc19lbWFjcy4K KyAgICAgSXQgbXVzdCBhbHNvIHByZWNlZGUgaW5pdF93aW5kb3dfb25jZSwgd2hpY2ggY3Jl YXRlcyB0aW1lc3RhbXBzLiAgKi8KKyAgaW5pdF90aW1lZm5zICgpOworCiAgIG5vbmludGVy YWN0aXZlMSA9IG5vbmludGVyYWN0aXZlOwogCiAgIC8qIFBlcmZvcm0gYmFzaWMgaW5pdGlh bGl6YXRpb25zIChub3QgbWVyZWx5IGludGVybmluZyBzeW1ib2xzKS4gICovCkBAIC0yMzgz LDkgKzIzODcsNiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKICAgaW5pdF9j aGFyc2V0ICgpOwogCi0gIC8qIFRoaXMgY2FsbHMgcHV0ZW52IGFuZCBzbyBtdXN0IHByZWNl ZGUgaW5pdF9wcm9jZXNzX2VtYWNzLiAgKi8KLSAgaW5pdF90aW1lZm5zICgpOwotCiAgIGlu aXRfZWRpdGZucyAoKTsKIAogICAvKiBUaGVzZSB0d28gY2FsbCBwdXRlbnYuICAqLwpkaWZm IC0tZ2l0IGEvc3JjL2ZpbGVpby5jIGIvc3JjL2ZpbGVpby5jCmluZGV4IGM0MTgwMzZmYzYu LjJhODU3ZDEwZGQgMTAwNjQ0Ci0tLSBhL3NyYy9maWxlaW8uYworKysgYi9zcmMvZmlsZWlv LmMKQEAgLTU4NDAsNyArNTg0MCwxMCBAQCBERUZVTiAoInNldC12aXNpdGVkLWZpbGUtbW9k dGltZSIsIEZzZXRfdmlzaXRlZF9maWxlX21vZHRpbWUsCiAJICBtdGltZSA9IG1ha2VfdGlt ZXNwZWMgKDAsIFVOS05PV05fTU9EVElNRV9OU0VDUyAtIGZsYWcpOwogCX0KICAgICAgIGVs c2UKLQltdGltZSA9IGxpc3BfdGltZV9hcmd1bWVudCAodGltZV9mbGFnKTsKKwl7CisJICBt dGltZSA9IGxpc3BfdGltZV9hcmd1bWVudCAodGltZV9mbGFnKTsKKwkgIC8qIEZJWE1FOiBE byBub3QgYXNzdW1lIG10aW1lIHJlc29sdXRpb24gaXMgMSBucy4gICovCisJfQogCiAgICAg ICBjdXJyZW50X2J1ZmZlci0+bW9kdGltZSA9IG10aW1lOwogICAgICAgY3VycmVudF9idWZm ZXItPm1vZHRpbWVfc2l6ZSA9IC0xOwpkaWZmIC0tZ2l0IGEvc3JjL2tleWJvYXJkLmMgYi9z cmMva2V5Ym9hcmQuYwppbmRleCAxOWM4ZmRmMWRjLi4zZWIwNjk0ZWRhIDEwMDY0NAotLS0g YS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtNDY2OCw4ICs0NjY4 LDggQEAgREVGVU4gKCJjdXJyZW50LWlkbGUtdGltZSIsIEZjdXJyZW50X2lkbGVfdGltZSwg U2N1cnJlbnRfaWRsZV90aW1lLCAwLCAwLCAwLAogICAodm9pZCkKIHsKICAgaWYgKHRpbWVz cGVjX3ZhbGlkX3AgKHRpbWVyX2lkbGVuZXNzX3N0YXJ0X3RpbWUpKQotICAgIHJldHVybiBt YWtlX2xpc3BfdGltZSAodGltZXNwZWNfc3ViIChjdXJyZW50X3RpbWVzcGVjICgpLAotCQkJ CQkgdGltZXJfaWRsZW5lc3Nfc3RhcnRfdGltZSkpOworICAgIHJldHVybiBtYWtlX2xpc3Bf cmVhbHRpbWUgKHRpbWVzcGVjX3N1YiAoY3VycmVudF90aW1lc3BlYyAoKSwKKwkJCQkJICAg ICB0aW1lcl9pZGxlbmVzc19zdGFydF90aW1lKSk7CiAKICAgcmV0dXJuIFFuaWw7CiB9CmRp ZmYgLS1naXQgYS9zcmMvc3lzZGVwLmMgYi9zcmMvc3lzZGVwLmMKaW5kZXggMzY2MzZkMGVk NS4uYjE1ZDVjMzU5ZSAxMDA2NDQKLS0tIGEvc3JjL3N5c2RlcC5jCisrKyBiL3NyYy9zeXNk ZXAuYwpAQCAtMzE2OSwxNiArMzE2OSwxNCBAQCBsaXN0X3N5c3RlbV9wcm9jZXNzZXMgKHZv aWQpCiAKICNlbmRpZiAvKiAhZGVmaW5lZCAoV0lORE9XU05UKSAqLwogCi0jaWYgZGVmaW5l ZCBfX0ZyZWVCU0RfXyB8fCBkZWZpbmVkIERBUldJTl9PUyB8fCBkZWZpbmVkIF9fT3BlbkJT RF9fCisjaWYgKGRlZmluZWQgSEFWRV9HRVRSVVNBR0UgXAorICAgICB8fCBkZWZpbmVkIF9f RnJlZUJTRF9fIHx8IGRlZmluZWQgREFSV0lOX09TIHx8IGRlZmluZWQgX19PcGVuQlNEX18p CiAKIHN0YXRpYyBMaXNwX09iamVjdAogbWFrZV9saXNwX3NfdXMgKHRpbWVfdCBzLCBsb25n IHVzKQogewotICBMaXNwX09iamVjdCBzZWMgPSBtYWtlX2ludCAocyk7Ci0gIExpc3BfT2Jq ZWN0IHVzZWMgPSBtYWtlX2ZpeG51bSAodXMpOwotICBMaXNwX09iamVjdCBoeiA9IG1ha2Vf Zml4bnVtICgxMDAwMDAwKTsKLSAgTGlzcF9PYmplY3QgdGlja3MgPSBDQUxMTiAoRnBsdXMs IENBTExOIChGdGltZXMsIHNlYywgaHopLCB1c2VjKTsKLSAgcmV0dXJuIEZ0aW1lX2NvbnZl cnQgKEZjb25zICh0aWNrcywgaHopLCBRbmlsKTsKKyAgcmV0dXJuIG1ha2VfbGlzcF90aW1l X2Nsb2NrcmVzIChtYWtlX3RpbWVzcGVjIChzLCB1cyAqIDEwMDApLAorCQkJCSAgbWFrZV9m aXhudW0gKDEwMDAwMDApLCAxMDAwMDAwLCAxMDAwKTsKIH0KIAogI2VuZGlmCkBAIC00MjM4 LDcgKzQyMzYsNyBAQCBERUZVTiAoImdldC1pbnRlcm5hbC1ydW4tdGltZSIsIEZnZXRfaW50 ZXJuYWxfcnVuX3RpbWUsIFNnZXRfaW50ZXJuYWxfcnVuX3RpbWUsCiAjaWZkZWYgSEFWRV9H RVRSVVNBR0UKICAgc3RydWN0IHJ1c2FnZSB1c2FnZTsKICAgdGltZV90IHNlY3M7Ci0gIGlu dCB1c2VjczsKKyAgbG9uZyBpbnQgdXNlY3M7CiAKICAgaWYgKGdldHJ1c2FnZSAoUlVTQUdF X1NFTEYsICZ1c2FnZSkgPCAwKQogICAgIC8qIFRoaXMgc2hvdWxkbid0IGhhcHBlbi4gIFdo YXQgYWN0aW9uIGlzIGFwcHJvcHJpYXRlPyAgKi8KQEAgLTQyNTIsNyArNDI1MCw3IEBAIERF RlVOICgiZ2V0LWludGVybmFsLXJ1bi10aW1lIiwgRmdldF9pbnRlcm5hbF9ydW5fdGltZSwg U2dldF9pbnRlcm5hbF9ydW5fdGltZSwKICAgICAgIHVzZWNzIC09IDEwMDAwMDA7CiAgICAg ICBzZWNzKys7CiAgICAgfQotICByZXR1cm4gbWFrZV9saXNwX3RpbWUgKG1ha2VfdGltZXNw ZWMgKHNlY3MsIHVzZWNzICogMTAwMCkpOworICByZXR1cm4gbWFrZV9saXNwX3NfdXMgKHNl Y3MsIHVzZWNzKTsKICNlbHNlIC8qICEgSEFWRV9HRVRSVVNBR0UgICovCiAjaWZkZWYgV0lO RE9XU05UCiAgIHJldHVybiB3MzJfZ2V0X2ludGVybmFsX3J1bl90aW1lICgpOwpkaWZmIC0t Z2l0IGEvc3JjL3N5c3RpbWUuaCBiL3NyYy9zeXN0aW1lLmgKaW5kZXggNzUwODhiZDRhNi4u NDE5ZGE4MDgyNiAxMDA2NDQKLS0tIGEvc3JjL3N5c3RpbWUuaAorKysgYi9zcmMvc3lzdGlt ZS5oCkBAIC04Niw3ICs4NiwxMCBAQCB0aW1lc3BlY192YWxpZF9wIChzdHJ1Y3QgdGltZXNw ZWMgdCkKIAogLyogZGVmaW5lZCBpbiB0aW1lZm5zLmMgKi8KIGV4dGVybiBzdHJ1Y3QgdGlt ZXZhbCBtYWtlX3RpbWV2YWwgKHN0cnVjdCB0aW1lc3BlYykgQVRUUklCVVRFX0NPTlNUOwor ZXh0ZXJuIExpc3BfT2JqZWN0IG1ha2VfbGlzcF9yZWFsdGltZSAoc3RydWN0IHRpbWVzcGVj KTsKIGV4dGVybiBMaXNwX09iamVjdCBtYWtlX2xpc3BfdGltZSAoc3RydWN0IHRpbWVzcGVj KTsKK2V4dGVybiBMaXNwX09iamVjdCBtYWtlX2xpc3BfdGltZV9jbG9ja3JlcyAoc3RydWN0 IHRpbWVzcGVjLCBMaXNwX09iamVjdCwKKwkJCQkJICAgIGxvbmcgaW50LCBsb25nIGludCk7 CiBleHRlcm4gTGlzcF9PYmplY3QgdGltZXNwZWNfdG9fbGlzcCAoc3RydWN0IHRpbWVzcGVj KTsKIGV4dGVybiBib29sIGxpc3Q0X3RvX3RpbWVzcGVjIChMaXNwX09iamVjdCwgTGlzcF9P YmplY3QsIExpc3BfT2JqZWN0LAogCQkJICAgICAgIExpc3BfT2JqZWN0LCBzdHJ1Y3QgdGlt ZXNwZWMgKik7CmRpZmYgLS1naXQgYS9zcmMvdGltZWZucy5jIGIvc3JjL3RpbWVmbnMuYwpp bmRleCAzZjhlZmFkZjU0Li4wZDBhOGE1OTIyIDEwMDY0NAotLS0gYS9zcmMvdGltZWZucy5j CisrKyBiL3NyYy90aW1lZm5zLmMKQEAgLTc3LDEyICs3NywxNyBAQCBDb3B5cmlnaHQgKEMp IDE5ODUtMTk4NywgMTk4OSwgMTk5My0yMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogZW51bSB7IENVUlJFTlRfVElNRV9MSVNUID0gdHJ1ZSB9OwogI2VuZGlmCiAKKy8q IENsb2NrIHJlc29sdXRpb24gb2Ygc3RydWN0IHRpbWVzcGVjLiAgKi8KICNpZiBGSVhOVU1f T1ZFUkZMT1dfUCAoMTAwMDAwMDAwMCkKIHN0YXRpYyBMaXNwX09iamVjdCB0aW1lc3BlY19o ejsKICNlbHNlCiAjIGRlZmluZSB0aW1lc3BlY19oeiBtYWtlX2ZpeG51bSAoVElNRVNQRUNf SFopCiAjZW5kaWYKIAorLyogQ2xvY2sgcmVzb2x1dGlvbiBvZiByZWFsdGltZSwgaW4gdmFy aW91cyBmb3Jtcy4gIEhaKlJFUyA9PSBUSU1FU1BFQ19IWi4gICovCitzdGF0aWMgTGlzcF9P YmplY3QgcmVhbHRpbWVfbGlzcGh6Oworc3RhdGljIGxvbmcgaW50IHJlYWx0aW1lX2h6LCBy ZWFsdGltZV9yZXM7CisKICNkZWZpbmUgVFJJTExJT04gMTAwMDAwMDAwMDAwMAogI2lmIEZJ WE5VTV9PVkVSRkxPV19QIChUUklMTElPTikKIHN0YXRpYyBMaXNwX09iamVjdCB0cmlsbGlv bjsKQEAgLTMwMiw5ICszMDcsMjQgQEAgdHpsb29rdXAgKExpc3BfT2JqZWN0IHpvbmUsIGJv b2wgc2V0dHopCiAgIHJldHVybiBuZXdfdHo7CiB9CiAKK3N0YXRpYyB2b2lkCitpbml0X3Rp bWVfcmVzICh2b2lkKQoreworICByZWFsdGltZV9yZXMgPSBnZXR0aW1lX3JlcyAoKTsKKyAg ZWFzc3VtZSAoMCA8IHJlYWx0aW1lX3Jlcyk7CisgIGlmIChUSU1FU1BFQ19IWiA8IHJlYWx0 aW1lX3JlcykKKyAgICByZWFsdGltZV9yZXMgPSBUSU1FU1BFQ19IWjsKKyAgcmVhbHRpbWVf aHogPSBUSU1FU1BFQ19IWiAvIHJlYWx0aW1lX3JlczsKKyAgcmVhbHRpbWVfbGlzcGh6ID0g bWFrZV9pbnQgKHJlYWx0aW1lX2h6KTsKK30KKwogdm9pZAogaW5pdF90aW1lZm5zICh2b2lk KQogeworICBwZHVtcGVyX2RvX25vd19hbmRfYWZ0ZXJfbG9hZCAoaW5pdF90aW1lX3Jlcyk7 CisgIGlmIChGSVhOVU1fT1ZFUkZMT1dfUCAoVElNRVNQRUNfSFopICYmICFpbml0aWFsaXpl ZCkKKyAgICBzdGF0aWNwcm8gKCZyZWFsdGltZV9saXNwaHopOworCiAjaWZkZWYgSEFWRV9V TkVYRUMKICAgLyogQSB2YWxpZCBidXQgdW5saWtlbHkgc2V0dGluZyBmb3IgdGhlIFRaIGVu dmlyb25tZW50IHZhcmlhYmxlLgogICAgICBJdCBpcyBPSyAodGhvdWdoIGEgYml0IHNsb3dl cikgaWYgdGhlIHVzZXIgY2hvb3NlcyB0aGlzIHZhbHVlLiAgKi8KQEAgLTU4OSw3ICs2MDks NyBAQCB0aW1lc3BlY190b19saXNwIChzdHJ1Y3QgdGltZXNwZWMgdCkKIAogLyogQ29udmVy dCBUIHRvIGEgTGlzcCB0aW1lc3RhbXAsIGFzc3VtaW5nIGEgTElTUEhaIG9yIEhaLWZyZXF1 ZW5jeQogICAgY2xvY2sgd2l0aCByZXNvbHV0aW9uIFJFUyBucyAoc28gdGhhdCBIWipSRVMg PSBUSU1FU1BFQ19IWikuICAqLwotc3RhdGljIExpc3BfT2JqZWN0CitMaXNwX09iamVjdAog bWFrZV9saXNwX3RpbWVfY2xvY2tyZXMgKHN0cnVjdCB0aW1lc3BlYyB0LCBMaXNwX09iamVj dCBsaXNwaHosCiAJCQkgbG9uZyBpbnQgaHosIGxvbmcgaW50IHJlcykKIHsKQEAgLTYwNCwx MyArNjI0LDIzIEBAIG1ha2VfbGlzcF90aW1lX2Nsb2NrcmVzIChzdHJ1Y3QgdGltZXNwZWMg dCwgTGlzcF9PYmplY3QgbGlzcGh6LAogICAgIHJldHVybiB0aW1lc3BlY19jbG9ja3Jlc190 b19saXNwICh0LCBsaXNwaHosIGh6LCByZXMpOwogfQogCi0vKiBDb252ZXJ0IFQgdG8gYSBM aXNwIHRpbWVzdGFtcC4gICovCisvKiBDb252ZXJ0IFQgdG8gYSBMaXNwIHRpbWVzdGFtcCwg YXNzdW1pbmcgZnVsbCByZXNvbHV0aW9uLiAgKi8KIExpc3BfT2JqZWN0CiBtYWtlX2xpc3Bf dGltZSAoc3RydWN0IHRpbWVzcGVjIHQpCiB7CiAgIHJldHVybiBtYWtlX2xpc3BfdGltZV9j bG9ja3JlcyAodCwgdGltZXNwZWNfaHosIFRJTUVTUEVDX0haLCAxKTsKIH0KIAorLyogQ29u dmVydCBUIHRvIGEgTGlzcCB0aW1lc3RhbXAsIGFzc3VtaW5nIGdldHRpbWUgcmVzb2x1dGlv bi4gICovCitMaXNwX09iamVjdAorbWFrZV9saXNwX3JlYWx0aW1lIChzdHJ1Y3QgdGltZXNw ZWMgdCkKK3sKKyAgaWYgKE5JTFAgKHJlYWx0aW1lX2xpc3BoeikpCisgICAgYWJvcnQgKCk7 CisgIHJldHVybiBtYWtlX2xpc3BfdGltZV9jbG9ja3JlcyAodCwgcmVhbHRpbWVfbGlzcGh6 LAorCQkJCSAgcmVhbHRpbWVfaHosIHJlYWx0aW1lX3Jlcyk7Cit9CisKIC8qIFJldHVybiBO VU1FUkFUT1IgLyBERU5PTUlOQVRPUiwgcm91bmRlZCB0byB0aGUgbmVhcmVzdCBkb3VibGUu CiAgICBBcmd1bWVudHMgbXVzdCBiZSBMaXNwIGludGVnZXJzLCBhbmQgREVOT01JTkFUT1Ig bXVzdCBiZSBwb3NpdGl2ZS4gICovCiBzdGF0aWMgZG91YmxlCkBAIC0xNzk5LDcgKzE4Mjks NyBAQCBERUZVTiAoImN1cnJlbnQtdGltZSIsIEZjdXJyZW50X3RpbWUsIFNjdXJyZW50X3Rp bWUsIDAsIDAsIDAsCiB0aGUgY3VycmVudCB0aW1lIGluIHNlY29uZHMuICAqLykKICAgKHZv aWQpCiB7Ci0gIHJldHVybiBtYWtlX2xpc3BfdGltZSAoY3VycmVudF90aW1lc3BlYyAoKSk7 CisgIHJldHVybiBtYWtlX2xpc3BfcmVhbHRpbWUgKGN1cnJlbnRfdGltZXNwZWMgKCkpOwog fQogCiBERUZVTiAoImN1cnJlbnQtdGltZS1zdHJpbmciLCBGY3VycmVudF90aW1lX3N0cmlu ZywgU2N1cnJlbnRfdGltZV9zdHJpbmcsCi0tIAoyLjM1LjEKCg== --------------xIn8Fp90jhZtEUvLYsS2gajV Content-Type: text/x-patch; charset=UTF-8; name="0005-Support-format-time-string-N-like-date.patch" Content-Disposition: attachment; filename="0005-Support-format-time-string-N-like-date.patch" Content-Transfer-Encoding: base64 RnJvbSAyYTg0NjdhNWM0OGE1YjcyOTZiY2UxM2NjYWVlMDFmYjgwYjUzNzA0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE4IEFwciAyMDIyIDEzOjA4OjI3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCA1LzZdID0/VVRGLTg/cT9TdXBwb3J0PTIwZm9ybWF0LXRpbWUtc3RyaW5nPTIwJS1OPTIw bGlrZT89CiA9P1VURi04P3E/PTIwPUUyPTgwPTk4ZGF0ZT1FMj04MD05OT89Ck1JTUUtVmVy c2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cgpmb3JtYXQtdGltZS1zdHJpbmcgbm93IHN1 cHBvcnRzICIlLU4iIHRvIG1lYW4gImRvIG5vdCBwYWQgcGFzdAp0aW1lc3RhbXAgcmVzb2x1 dGlvbiIuICBUaGlzIGlzIGNvbXBhdGlibGUgd2l0aCBHTlUgJ2RhdGUnLgoqIHNyYy90aW1l Zm5zLmMgKGh6X3dpZHRoLCByZXBsYWNlX3BlcmNlbnRfbWludXNfTik6IE5ldyBmdW5jdGlv bnMuCihGZm9ybWF0X3RpbWVfc3RyaW5nKTogVXNlIHRoZW0gdG8gc3VwcG9ydCAlLU4uCiog dGVzdC9zcmMvdGltZWZucy10ZXN0cy5lbCAoZm9ybWF0LXRpbWUtc3RyaW5nLSUtTik6IE5l dyB0ZXN0LgooZm9ybWF0LXRpbWUtc3RyaW5nLXBhZGRpbmctbWluaW1hbC1kZWxldGVzLXVu bmVlZGVkLXplcm9zKToKQWRqdXN0IHRlc3QgdG8gbWF0Y2ggbmV3IGJlaGF2aW9yLgotLS0K IGRvYy9saXNwcmVmL29zLnRleGkgICAgICAgfCAgMyArKysKIGV0Yy9ORVdTICAgICAgICAg ICAgICAgICAgfCAgNSArKysrCiBzcmMvdGltZWZucy5jICAgICAgICAgICAgIHwgNTMgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiB0ZXN0L3NyYy90aW1lZm5z LXRlc3RzLmVsIHwgMTIgKysrKysrKy0tCiA0IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlv bnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xpc3ByZWYvb3MudGV4 aSBiL2RvYy9saXNwcmVmL29zLnRleGkKaW5kZXggYmZjZDUxMzE4ZS4uMzBlY2U0YWVmZiAx MDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvb3MudGV4aQorKysgYi9kb2MvbGlzcHJlZi9vcy50 ZXhpCkBAIC0xODk3LDYgKzE4OTcsOSBAQCBUaW1lIFBhcnNpbmcKIEBzYW1we199IHBhZHMg d2l0aCBibGFua3MsIEBzYW1wey19CiBzdXBwcmVzc2VzIHBhZGRpbmcsIEBzYW1we159IHVw cGVyLWNhc2VzIGxldHRlcnMsIGFuZCBAc2FtcHsjfQogcmV2ZXJzZXMgdGhlIGNhc2Ugb2Yg bGV0dGVycy4KK0FzIGEgc3BlY2lhbCBjYXNlLCBAc2FtcHslLU59IHN1cHByZXNzZXMgcGFk ZGluZyBwYXN0IHRoZSByZXNvbHV0aW9uCitvZiBAdmFye3RpbWV9LiAgRm9yIGV4YW1wbGUs IGlmIEB2YXJ7dGltZX0gaXMgQGNvZGV7KDEyMzQ1MDIwIC4gMTAwMCl9LAorQHNhbXB7JS1O fSBzdGFuZHMgZm9yIEBzYW1wezAyMH0uCiAKIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IHRoZSBm aWVsZCB3aWR0aCBhbmQgdHlwZSBvZiBwYWRkaW5nIGZvciBhbnkgb2YKIHRoZXNlIEBzYW1w eyV9LXNlcXVlbmNlcy4gIFRoaXMgd29ya3MgYXMgaW4gQGNvZGV7cHJpbnRmfTogeW91IHdy aXRlCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDM4MzE3ZmVmMDMu LmQ5NjM1Y2NlNDYgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0x OTU2LDYgKzE5NTYsMTEgQEAgRm9yIGV4YW1wbGUsIHRoZSBtYWNPUyBzeXN0ZW0gY2xvY2sg cmVzb2x1dGlvbiBpcyAxIM68cyBzbwogKHRpbWUtY29udmVydCBuaWwgdCkgbm93IGFjdHMg bGlrZSAodGltZS1jb252ZXJ0IG5pbCAxMDAwMDAwKS4KIEZvcm1lcmx5LCB0aW1lLWNvbnZl cnQgdXNlZCBhIGNsb2NrIHJlc29sdXRpb24gb2YgMSBucyByZWdhcmRsZXNzLgogCisrKysK KyoqICdmb3JtYXQtdGltZS1zdHJpbmcnIG5vIGxvbmdlciBwYWRzICUtTiBleGNlc3NpdmVs eS4KK0luc3RlYWRzLCBpdCBwYWRzIHRvIHRoZSByZXNvbHV0aW9uIG9mIHRoZSB0aW1lc3Rh bXAgd2hlbiB0aGUKK3RpbWVzdGFtcCByZXNvbHV0aW9uIGlzIGdyZWF0ZXIgdGhhbiAxIG5z LgorCiArKysKICoqICdlbmNvZGUtdGltZScgbm93IGFsc28gYWNjZXB0cyBhIDYtZWxlbWVu dCBsaXN0IHdpdGgganVzdCB0aW1lIGFuZCBkYXRlLgogKGVuY29kZS10aW1lIChsaXN0IFNF Q09ORCBNSU5VVEUgSE9VUiBEQVkgTU9OVEggWUVBUikpIGlzIG5vdyBzaG9ydCBmb3IKZGlm ZiAtLWdpdCBhL3NyYy90aW1lZm5zLmMgYi9zcmMvdGltZWZucy5jCmluZGV4IDBkMGE4YTU5 MjIuLmE2Y2M5YzlmMDUgMTAwNjQ0Ci0tLSBhL3NyYy90aW1lZm5zLmMKKysrIGIvc3JjL3Rp bWVmbnMuYwpAQCAtMTQzMCw2ICsxNDMwLDQyIEBAIGZvcm1hdF90aW1lX3N0cmluZyAoY2hh ciBjb25zdCAqZm9ybWF0LCBwdHJkaWZmX3QgZm9ybWF0bGVuLAogICByZXR1cm4gcmVzdWx0 OwogfQogCisvKiBZaWVsZCB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgZGlnaXRzIG5lZWRlZCB0 byBvdXRwdXQgYSB0aW1lIHdpdGggdGhlCisgICBjbG9jayBmcmVxdWVuY3kgSFogKDAgPCBI WiA8PSBUSU1FU1BFQ19IWiAvIDEwKSwgd2l0aG91dCBsb3NpbmcgaW5mby4KKyAgIEJ1dCBp ZiBIWiBpcyAxLCB5aWVsZCAxLiAgMCA8IHJlc3VsdCA8IExPRzEwX1RJTUVTUEVDX0haLiAg Ki8KKworc3RhdGljIGludAoraHpfd2lkdGggKGludCBoeikKK3sKKyAgaW50IGkgPSAwOwor ICBmb3IgKGludCByID0gMTsgciA8IGh6OyByICo9IDEwKQorICAgIGkrKzsKKyAgcmV0dXJu IGkgfCAhaTsKK30KKworLyogTW9kaWZ5IEZPUk1BVCwgb2YgbGVuZ3RoIEZPUk1BVExFTiBh bmQgd2l0aCBGT1JNQVRbRk9STUFUTEVOXSA9PSAnXDAnLAorICAgaW4gcGxhY2UsIHJlcGxh Y2luZyBlYWNoICIlLU4iIHdpdGggIiU5TiIsICIlNk4iLCBvciB3aGF0ZXZlcgorICAgbnVt YmVyIG9mIGRpZ2l0cyBpcyBhcHByb3ByaWF0ZSBmb3IgbWluIChIWiwgVElNRVNQRUNfSFop LgorICAgSFogaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyLiAgKi8KKworc3RhdGljIHZvaWQKK3Jl cGxhY2VfcGVyY2VudF9taW51c19OIChjaGFyICpmb3JtYXQsIHB0cmRpZmZfdCBmb3JtYXRs ZW4sIExpc3BfT2JqZWN0IGh6KQoreworICBmb3IgKGNoYXIgKmYgPSBmb3JtYXQ7IGYgPCBm b3JtYXQgKyBmb3JtYXRsZW47IGYrKykKKyAgICBpZiAoZlswXSA9PSAnJScpCisgICAgICB7 CisgICAgICAgIGlmIChmWzFdID09ICctJyAmJiBmWzJdID09ICdOJykKKyAgICAgICAgICB7 CisgICAgICAgICAgICBmWzFdID0gKEZJWE5VTVAgKGh6KSAmJiBYRklYTlVNIChoeikgPD0g VElNRVNQRUNfSFogLyAxMAorCQkgICAgPyAnMCcgKyBoel93aWR0aCAoWEZJWE5VTSAoaHop KQorCQkgICAgOiAnOScpOworICAgICAgICAgICAgZiArPSAyOworICAgICAgICAgIH0KKyAg ICAgICAgZWxzZQorICAgICAgICAgIGYgKz0gZlsxXSA9PSAnJSc7CisgICAgICB9Cit9CisK IERFRlVOICgiZm9ybWF0LXRpbWUtc3RyaW5nIiwgRmZvcm1hdF90aW1lX3N0cmluZywgU2Zv cm1hdF90aW1lX3N0cmluZywgMSwgMywgMCwKICAgICAgICBkb2M6IC8qIFVzZSBGT1JNQVQt U1RSSU5HIHRvIGZvcm1hdCB0aGUgdGltZSB2YWx1ZSBUSU1FLgogQSB0aW1lIHZhbHVlIHRo YXQgaXMgb21pdHRlZCBvciBuaWwgc3RhbmRzIGZvciB0aGUgY3VycmVudCB0aW1lLApAQCAt MTQ4NCw3ICsxNTIwLDcgQEAgREVGVU4gKCJmb3JtYXQtdGltZS1zdHJpbmciLCBGZm9ybWF0 X3RpbWVfc3RyaW5nLCBTZm9ybWF0X3RpbWVfc3RyaW5nLCAxLCAzLCAwLAogQSAlLXNlcXVl bmNlIGNhbiBjb250YWluIG9wdGlvbmFsIGZsYWdzLCBmaWVsZCB3aWR0aCwgYW5kIGEgbW9k aWZpZXIKIChpbiB0aGF0IG9yZGVyKSBhZnRlciB0aGUgYCUnLiAgVGhlIGZsYWdzIGFyZToK IAotYC0nIERvIG5vdCBwYWQgdGhlIGZpZWxkLgorYC0nIERvIG5vdCBwYWQgdGhlIGZpZWxk LiAgJS1OIG1lYW5zIHRvIG5vdCBwYWQgcGFzdCBUSU1FJ3MgcmVzb2x1dGlvbi4KIGBfJyBQ YWQgd2l0aCBzcGFjZXMuCiBgMCcgUGFkIHdpdGggemVyb3MuCiBgKycgUGFkIHdpdGggemVy b3MgYW5kIHB1dCBgKycgYmVmb3JlIG5vbm5lZ2F0aXZlIHllYXIgbnVtYmVycyB3aXRoID40 IGRpZ2l0cy4KQEAgLTE1MDgsMTQgKzE1NDQsMjEgQEAgREVGVU4gKCJmb3JtYXQtdGltZS1z dHJpbmciLCBGZm9ybWF0X3RpbWVfc3RyaW5nLCBTZm9ybWF0X3RpbWVfc3RyaW5nLCAxLCAz LCAwLAogdXNhZ2U6IChmb3JtYXQtdGltZS1zdHJpbmcgRk9STUFULVNUUklORyAmb3B0aW9u YWwgVElNRSBaT05FKSAgKi8pCiAgIChMaXNwX09iamVjdCBmb3JtYXRfc3RyaW5nLCBMaXNw X09iamVjdCB0aW1ldmFsLCBMaXNwX09iamVjdCB6b25lKQogewotICBzdHJ1Y3QgdGltZXNw ZWMgdCA9IGxpc3BfdGltZV9hcmd1bWVudCAodGltZXZhbCk7CisgIHN0cnVjdCBsaXNwX3Rp bWUgbHQgPSBsaXNwX3RpbWVfc3RydWN0ICh0aW1ldmFsLCAwKTsKKyAgc3RydWN0IHRpbWVz cGVjIHQgPSBsaXNwX3RvX3RpbWVzcGVjIChsdCk7CisgIGlmICghIHRpbWVzcGVjX3ZhbGlk X3AgKHQpKQorICAgIHRpbWVfb3ZlcmZsb3cgKCk7CiAgIHN0cnVjdCB0bSB0bTsKIAotICBD SEVDS19TVFJJTkcgKGZvcm1hdF9zdHJpbmcpOworICAvKiBDb252ZXJ0IEZPUk1BVF9TVFJJ TkcgdG8gdGhlIGxvY2FsZSdzIGVuY29kaW5nLCBhbmQgbW9kaWZ5CisgICAgIGFueSAlLU4g Zm9ybWF0cyBpbiB0aGUgY29weSB0byBiZSB0aGUgc3lzdGVtIGNsb2NrIHJlc29sdXRpb24u ICAqLwogICBmb3JtYXRfc3RyaW5nID0gY29kZV9jb252ZXJ0X3N0cmluZ19ub3JlY29yZCAo Zm9ybWF0X3N0cmluZywKIAkJCQkJCVZsb2NhbGVfY29kaW5nX3N5c3RlbSwgMSk7Ci0gIHJl dHVybiBmb3JtYXRfdGltZV9zdHJpbmcgKFNTREFUQSAoZm9ybWF0X3N0cmluZyksIFNCWVRF UyAoZm9ybWF0X3N0cmluZyksCi0JCQkgICAgIHQsIHpvbmUsICZ0bSk7CisgIGNoYXIgKmZv cm1hdCA9IFNTREFUQSAoZm9ybWF0X3N0cmluZyk7CisgIHB0cmRpZmZfdCBmb3JtYXRsZW4g PSBTQllURVMgKGZvcm1hdF9zdHJpbmcpOworICByZXBsYWNlX3BlcmNlbnRfbWludXNfTiAo Zm9ybWF0LCBmb3JtYXRsZW4sIGx0Lmh6KTsKKworICByZXR1cm4gZm9ybWF0X3RpbWVfc3Ry aW5nIChmb3JtYXQsIGZvcm1hdGxlbiwgdCwgem9uZSwgJnRtKTsKIH0KIAogREVGVU4gKCJk ZWNvZGUtdGltZSIsIEZkZWNvZGVfdGltZSwgU2RlY29kZV90aW1lLCAwLCAzLCAwLApkaWZm IC0tZ2l0IGEvdGVzdC9zcmMvdGltZWZucy10ZXN0cy5lbCBiL3Rlc3Qvc3JjL3RpbWVmbnMt dGVzdHMuZWwKaW5kZXggMDhkMDZmMjdkOS4uMGQ3OTE1MmY4YSAxMDA2NDQKLS0tIGEvdGVz dC9zcmMvdGltZWZucy10ZXN0cy5lbAorKysgYi90ZXN0L3NyYy90aW1lZm5zLXRlc3RzLmVs CkBAIC0xMjgsNyArMTI4LDcgQEAgZm9ybWF0LXRpbWUtc3RyaW5nLXdpdGgtYmlnbnVtLW9u LTMyLWJpdAogKGVydC1kZWZ0ZXN0IGZvcm1hdC10aW1lLXN0cmluZy1wYWRkaW5nLW1pbmlt YWwtZGVsZXRlcy11bm5lZWRlZC16ZXJvcyAoKQogICAobGV0ICgocmVmLXRpbWUgKGVuY29k ZS10aW1lICcoKDEyMzQ1MCAuIDEwMDAwMDApIDAgMCAxNSAyIDIwMDAgLSAtIHQpKSkpCiAg ICAgKHNob3VsZCAoZXF1YWwgKGZvcm1hdC10aW1lLXN0cmluZyAiJS06Ojp6IiByZWYtdGlt ZSAiRkpULTEyIikgIisxMiIpKQotICAgIChzaG91bGQgKGVxdWFsIChmb3JtYXQtdGltZS1z dHJpbmcgIiUtTiIgcmVmLXRpbWUgdCkgIjEyMzQ1IikpCisgICAgKHNob3VsZCAoZXF1YWwg KGZvcm1hdC10aW1lLXN0cmluZyAiJS1OIiByZWYtdGltZSB0KSAiMTIzNDUwIikpCiAgICAg KHNob3VsZCAoZXF1YWwgKGZvcm1hdC10aW1lLXN0cmluZyAiJS02TiIgcmVmLXRpbWUgdCkg IjEyMzQ1IikpCiAgICAgKHNob3VsZCAoZXF1YWwgKGZvcm1hdC10aW1lLXN0cmluZyAiJS1t IiByZWYtdGltZSB0KSAiMiIpKSkpIDtub3QgIjAyIgogCkBAIC0xMzcsNyArMTM3LDcgQEAg Zm9ybWF0LXRpbWUtc3RyaW5nLXBhZGRpbmctbWluaW1hbC1yZXRhaW5zLW5lZWRlZC16ZXJv cwogICAgIChzaG91bGQgKGVxdWFsIChmb3JtYXQtdGltZS1zdHJpbmcgIiUteiIgcmVmLXRp bWUgIklTVC01OjMwIikgIis1MzAiKSkKICAgICAoc2hvdWxkIChlcXVhbCAoZm9ybWF0LXRp bWUtc3RyaW5nICIlLTR6IiByZWYtdGltZSAiSVNULTU6MzAiKSAiKzUzMCIpKQogICAgIChz aG91bGQgKGVxdWFsIChmb3JtYXQtdGltZS1zdHJpbmcgIiU0eiIgcmVmLXRpbWUgIklTVC01 OjMwIikgIis1MzAiKSkKLSAgICAoc2hvdWxkIChlcXVhbCAoZm9ybWF0LXRpbWUtc3RyaW5n ICIlLU4iIHJlZi10aW1lIHQpICIwMDM0NSIpKQorICAgIChzaG91bGQgKGVxdWFsIChmb3Jt YXQtdGltZS1zdHJpbmcgIiUtTiIgcmVmLXRpbWUgdCkgIjAwMzQ1MCIpKQogICAgIChzaG91 bGQgKGVxdWFsIChmb3JtYXQtdGltZS1zdHJpbmcgIiUtM04iIHJlZi10aW1lIHQpICIwMDMi KSkKICAgICAoc2hvdWxkIChlcXVhbCAoZm9ybWF0LXRpbWUtc3RyaW5nICIlM04iIHJlZi10 aW1lIHQpICIwMDMiKSkKICAgICAoc2hvdWxkIChlcXVhbCAoZm9ybWF0LXRpbWUtc3RyaW5n ICIlLW0iIHJlZi10aW1lIHQpICIxMCIpKSA7bm90ICIxIgpAQCAtMTY1LDYgKzE2NSwxNCBA QCBmb3JtYXQtdGltZS1zdHJpbmctcGFkZGluZy16ZXJvcy1hZGRzLW9uLWluc2lnbmlmaWNh bnQtc2lkZQogICAgIChzaG91bGQgKGVxdWFsIChmb3JtYXQtdGltZS1zdHJpbmcgIiU5TiIg cmVmLXRpbWUgdCkgIjEyMzAwMDAwMCIpKQogICAgIChzaG91bGQgKGVxdWFsIChmb3JtYXQt dGltZS1zdHJpbmcgIiU2TiIgcmVmLXRpbWUgdCkgIjEyMzAwMCIpKSkpCiAKKyhlcnQtZGVm dGVzdCBmb3JtYXQtdGltZS1zdHJpbmctJS1OICgpCisgIChzaG91bGQgKGVxdWFsIChmb3Jt YXQtdGltZS1zdHJpbmcgIiUtTiIgJygwIC4gMTApKSAiMCIpKQorICAoc2hvdWxkIChlcXVh bCAoZm9ybWF0LXRpbWUtc3RyaW5nICIlLU4iICcoMCAuIDExKSkgIjAwIikpCisgIChzaG91 bGQgKGVxdWFsIChmb3JtYXQtdGltZS1zdHJpbmcgIiUtTiIgJygwIC4gMTAwKSkgIjAwIikp CisgIChzaG91bGQgKGVxdWFsIChmb3JtYXQtdGltZS1zdHJpbmcgIiUtTiIgJygwIC4gMTAx KSkgIjAwMCIpKQorICAoc2hvdWxkIChlcXVhbCAoZm9ybWF0LXRpbWUtc3RyaW5nICIlLU4i ICcoMCAuIDEwMDAwMDAwMCkpICIwMDAwMDAwMCIpKQorICAoc2hvdWxkIChlcXVhbCAoZm9y bWF0LXRpbWUtc3RyaW5nICIlLU4iICcoMCAuIDEwMDAwMDAwMSkpICIwMDAwMDAwMDAiKSkK KyAgKHNob3VsZCAoZXF1YWwgKGZvcm1hdC10aW1lLXN0cmluZyAiJS1OIiAnKDAgLiAxMDAw MDAwMDAwKSkgIjAwMDAwMDAwMCIpKSkKIAogKGVydC1kZWZ0ZXN0IHRpbWUtZXF1YWwtcC1u aWwtbmlsICgpCiAgIChzaG91bGQgKHRpbWUtZXF1YWwtcCBuaWwgbmlsKSkpCi0tIAoyLjM1 LjEKCg== --------------xIn8Fp90jhZtEUvLYsS2gajV Content-Type: text/x-patch; charset=UTF-8; name="0006-Use-TICKS-.-HZ-for-current-time-etc.patch" Content-Disposition: attachment; filename="0006-Use-TICKS-.-HZ-for-current-time-etc.patch" Content-Transfer-Encoding: base64 RnJvbSBjOGIxZmJiMzZhYTBkZWUwNTBkZDdlZWE1ZmVkOTc2MGM0MTBhNTQxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE4IEFwciAyMDIyIDEzOjA4OjI3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCA2LzZdIFVzZSAoVElDS1MgLiBIWikgZm9yIGN1cnJlbnQtdGltZSBldGMuCgoqIHNyYy90 aW1lZm5zLmMgKENVUlJFTlRfVElNRV9MSVNUKTogQ2hhbmdlIGRlZmF1bHQgdG8gZmFsc2Uu CkFsbCBkb2N1bWVudGF0aW9uIGNoYW5nZWQuCi0tLQogZG9jL2xpc3BpbnRyby9lbWFjcy1s aXNwLWludHJvLnRleGkgfCAgNiArKystLS0KIGRvYy9saXNwcmVmL2ZpbGVzLnRleGkgICAg ICAgICAgICAgIHwgMTQgKysrKysrKy0tLS0tLS0KIGRvYy9saXNwcmVmL2ludHJvLnRleGkg ICAgICAgICAgICAgIHwgIDIgKy0KIGRvYy9saXNwcmVmL29zLnRleGkgICAgICAgICAgICAg ICAgIHwgMTUgKysrKysrKy0tLS0tLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA4ICsrKysrKysrCiBzcmMvdGltZWZucy5jICAgICAgICAgICAgICAgICAg ICAgICB8IDI2ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQs IDM4IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9s aXNwaW50cm8vZW1hY3MtbGlzcC1pbnRyby50ZXhpIGIvZG9jL2xpc3BpbnRyby9lbWFjcy1s aXNwLWludHJvLnRleGkKaW5kZXggNDY2ZDdmMGU2MC4uYWZhZWQxMGNkZiAxMDA2NDQKLS0t IGEvZG9jL2xpc3BpbnRyby9lbWFjcy1saXNwLWludHJvLnRleGkKKysrIGIvZG9jL2xpc3Bp bnRyby9lbWFjcy1saXNwLWludHJvLnRleGkKQEAgLTE1MzQzLDkgKzE1MzQzLDkgQEAgRmls ZXMgTGlzdAogMTAwCiBAZW5kIGdyb3VwCiBAZ3JvdXAKLSgyMDYxNSAyNzAzNCA1Nzk5ODkg Njk3MDAwKQotKDE3OTA1IDU1NjgxIDAgMCkKLSgyMDYxNSAyNjMyNyA3MzQ3OTEgODA1MDAw KQorKDEzNTEwNTE2NzQ1Nzk5ODk2OTcgLiAxMDAwMDAwMDAwKQorKDExNzM0Nzc3NjEwMDAw MDAwMDAgLiAxMDAwMDAwMDAwKQorKDEzNTEwNTA5Njc3MzQ3OTE4MDUgLiAxMDAwMDAwMDAw KQogMTMxODgKICItcnctci0tci0tIgogQGVuZCBncm91cApkaWZmIC0tZ2l0IGEvZG9jL2xp c3ByZWYvZmlsZXMudGV4aSBiL2RvYy9saXNwcmVmL2ZpbGVzLnRleGkKaW5kZXggZDhiNTVi MTE0YS4uNDM5NGY2NGEzMiAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvZmlsZXMudGV4aQor KysgYi9kb2MvbGlzcHJlZi9maWxlcy50ZXhpCkBAIC0xNDIzLDkgKzE0MjMsOSBAQCBGaWxl IEF0dHJpYnV0ZXMKIEBncm91cAogKGZpbGUtYXR0cmlidXRlcyAiZmlsZXMudGV4aSIgJ3N0 cmluZykKICAgICAgQHJlc3VsdHt9ICAobmlsIDEgImxoIiAidXNlcnMiCi0gICAgICAgICAg KDIwNjE0IDY0MDE5IDUwMDQwIDE1MjAwMCkKLSAgICAgICAgICAoMjAwMDAgMjMgMCAwKQot ICAgICAgICAgICgyMDYxNCA2NDU1NSA5MDIyODkgODcyMDAwKQorICAgICAgICAgICgxMzUx MDIzMTIzMDUwMDQwMTUyIC4gMTAwMDAwMDAwMCkKKyAgICAgICAgICAoMTMxMDcyMDAyMzAw MDAwMDAwMCAuIDEwMDAwMDAwMDApCisgICAgICAgICAgKDEzNTEwMjM2NTk5MDIyODk4NzIg LiAxMDAwMDAwMDAwKQogICAgICAgICAgIDEyMjI5NSAiLXJ3LXJ3LXJ3LSIKICAgICAgICAg ICB0IDY0NzM5MjQ0NjQ1MjAxMzgKICAgICAgICAgICAxMDE0NDc4NDY4KQpAQCAtMTQ0OSwx MyArMTQ0OSwxMyBAQCBGaWxlIEF0dHJpYnV0ZXMKIEBpdGVtICJ1c2VycyIKIGlzIGluIHRo ZSBncm91cCB3aXRoIG5hbWUgQHNhbXB7dXNlcnN9LgogCi1AaXRlbSAoMjA2MTQgNjQwMTkg NTAwNDAgMTUyMDAwKQorQGl0ZW0gKDEzNTEwMjMxMjMwNTAwNDAxNTIgLiAxMDAwMDAwMDAw KQogd2FzIGxhc3QgYWNjZXNzZWQgb24gT2N0b2JlciAyMywgMjAxMiwgYXQgMjA6MTI6MDMu MDUwMDQwMTUyIFVUQy4KIAotQGl0ZW0gKDIwMDAwIDIzIDAgMCkKLXdhcyBsYXN0IG1vZGlm aWVkIG9uIEp1bHkgMTUsIDIwMDEsIGF0IDA4OjUzOjQzIFVUQy4KK0BpdGVtICgxMzEwNzIw MDIzMDAwMDAwMDAwIC4gMTAwMDAwMDAwMCkKK3dhcyBsYXN0IG1vZGlmaWVkIG9uIEp1bHkg MTUsIDIwMDEsIGF0IDA4OjUzOjQzLjAwMDAwMDAwMCBVVEMuCiAKLUBpdGVtICgyMDYxNCA2 NDU1NSA5MDIyODkgODcyMDAwKQorQGl0ZW0gKDEzNTEwMjM2NTk5MDIyODk4NzIgLiAxMDAw MDAwMDAwKQogbGFzdCBoYWQgaXRzIHN0YXR1cyBjaGFuZ2VkIG9uIE9jdG9iZXIgMjMsIDIw MTIsIGF0IDIwOjIwOjU5LjkwMjI4OTg3MiBVVEMuCiAKIEBpdGVtIDEyMjI5NQpkaWZmIC0t Z2l0IGEvZG9jL2xpc3ByZWYvaW50cm8udGV4aSBiL2RvYy9saXNwcmVmL2ludHJvLnRleGkK aW5kZXggNWFmZDJmNGVjZi4uZDFhM2ZlZjdhNCAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYv aW50cm8udGV4aQorKysgYi9kb2MvbGlzcHJlZi9pbnRyby50ZXhpCkBAIC01MDMsNyArNTAz LDcgQEAgVmVyc2lvbiBJbmZvCiBAZXhhbXBsZQogQGdyb3VwCiBlbWFjcy1idWlsZC10aW1l Ci0gICAgIEByZXN1bHR7fSAoMjA2MTQgNjM2OTQgNTE1MzM2IDQzODAwMCkKKyAgICAgQHJl c3VsdHt9ICgxNjUwMjI4OTAyNjM3MDM4ODMxIC4gMTAwMDAwMDAwMCkKIEBlbmQgZ3JvdXAK IEBlbmQgZXhhbXBsZQogQGVuZCBkZWZ2YXIKZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL29z LnRleGkgYi9kb2MvbGlzcHJlZi9vcy50ZXhpCmluZGV4IDMwZWNlNGFlZmYuLmFlNTUxYjBm NzEgMTAwNjQ0Ci0tLSBhL2RvYy9saXNwcmVmL29zLnRleGkKKysrIGIvZG9jL2xpc3ByZWYv b3MudGV4aQpAQCAtMTM1OSw5ICsxMzU5LDYgQEAgVGltZSBvZiBEYXkKIEB0ZXgKICRoaWdo IFx0aW1lcyAyXnsxNn0gKyBsb3cgKyBtaWNybyBcdGltZXMgMTBeey02fSArIHBpY28gXHRp bWVzIDEwXnstMTJ9JC4KIEBlbmQgdGV4Ci1JbiBzb21lIGNhc2VzLCBmdW5jdGlvbnMgbWF5 IGRlZmF1bHQgdG8gcmV0dXJuaW5nIHR3by0gb3IKLXRocmVlLWVsZW1lbnQgbGlzdHMsIHdp dGggb21pdHRlZCBAdmFye21pY3JvfSBhbmQgQHZhcntwaWNvfQotY29tcG9uZW50cyBkZWZh dWx0aW5nIHRvIHplcm8uCiBPbiBhbGwgY3VycmVudCBtYWNoaW5lcyBAdmFye3BpY299IGlz IGEgbXVsdGlwbGUgb2YgMTAwMCwgYnV0IHRoaXMKIG1heSBjaGFuZ2UgYXMgaGlnaGVyLXJl c29sdXRpb24gY2xvY2tzIGJlY29tZSBhdmFpbGFibGUuCiBAZW5kIGl0ZW1pemUKQEAgLTE0 MTUsMTEgKzE0MTIsMTMgQEAgVGltZSBvZiBEYXkKIAogQGRlZnVuIGN1cnJlbnQtdGltZQog VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUgYXMgYSBMaXNwIHRpbWVz dGFtcC4KLUFsdGhvdWdoIHRoZSB0aW1lc3RhbXAgdGFrZXMgdGhlIGZvcm0gQGNvZGV7KEB2 YXJ7aGlnaH0gQHZhcntsb3d9Ci1AdmFye21pY3JvfSBAdmFye3BpY299KX0gaW4gdGhlIGN1 cnJlbnQgRW1hY3MgcmVsZWFzZSwgdGhpcyBpcwotcGxhbm5lZCB0byBjaGFuZ2UgaW4gYSBm dXR1cmUgRW1hY3MgdmVyc2lvbi4gIFlvdSBjYW4gdXNlIHRoZQotQGNvZGV7dGltZS1jb252 ZXJ0fSBmdW5jdGlvbiB0byBjb252ZXJ0IGEgdGltZXN0YW1wIHRvIHNvbWUgb3RoZXIKLWZv cm0uICBAeHJlZntUaW1lIENvbnZlcnNpb259LgorVGhlIHRpbWVzdGFtcCBoYXMgdGhlIGZv cm0gQGNvZGV7KEB2YXJ7dGlja3N9IC4gQHZhcntoen0pfSB3aGVyZQorQHZhcnt0aWNrc30g Y291bnRzIGNsb2NrIHRpY2tzIGFuZCBAdmFye2h6fSBpcyB0aGUgY2xvY2sgdGlja3MgcGVy IHNlY29uZC4KKworSW4gRW1hY3MgMjggYW5kIGVhcmxpZXIsIHRoZSByZXR1cm5lZCB0aW1l c3RhbXAgaGFkIHRoZSBsaXN0IGZvcm0KK0Bjb2RleyhAdmFye2hpZ2h9IEB2YXJ7bG93fSBA dmFye3VzZWN9IEB2YXJ7cHNlY30pfS4gIFlvdSBjYW4gdXNlCitAY29kZXsodGltZS1jb252 ZXJ0IG5pbCAnbGlzdCl9IHRvIHJldHVybiB0aGUgY3VycmVudCB0aW1lIGluIHRoaXMKK29s ZGVyIGZvcm0uICBAeHJlZntUaW1lIENvbnZlcnNpb259LgogQGVuZCBkZWZ1bgogCiBAZGVm dW4gZmxvYXQtdGltZSAmb3B0aW9uYWwgdGltZQpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9l dGMvTkVXUwppbmRleCBkOTYzNWNjZTQ2Li5jMGI0NGVmZmM2IDEwMDY0NAotLS0gYS9ldGMv TkVXUworKysgYi9ldGMvTkVXUwpAQCAtMjAyLDYgKzIwMiwxNCBAQCBzcGVha2VycyBvZiB0 aGUgVGFtaWwgbGFuZ3VhZ2UuICBUbyBnZXQgYmFjayB0aGUgcHJldmlvdXMgYmVoYXZpb3Is CiB1c2UgdGhlIG5ldyAndGFtaWwtaXRyYW5zLWRpZ2l0cycgYW5kICd0YW1pbC1pbnNjcmlw dC1kaWdpdHMnIGlucHV0CiBtZXRob2RzIGluc3RlYWQuCiAKKysrKworKiogY3VycmVudC10 aW1lIGFuZCByZWxhdGVkIGZ1bmN0aW9ucyBub3cgeWllbGQgKFRJQ0tTIC4gSFopIHRpbWVz dGFtcHMuCitQcmV2aW91c2x5IHRoZXkgeWllbGRlZCB0aW1lc3RhbXBzIG9mIHRoZSBmb3Jt cyAoSEkgTE8gVVMgUFMpLCAoSEkgTE8KK1VTKSBvciAoSEkgTE8pLCB3aGljaCB3ZXJlIGxl c3MgcmVndWxhciBhbmQgbGVzcyBlZmZpY2llbnQgYW5kIHdoaWNoCitsYWNrZWQgaW5mb3Jt YXRpb24gYWJvdXQgY2xvY2sgcmVzb2x1dGlvbi4gIFRoaXMgbG9uZy1wbGFubmVkIGNoYW5n ZQord2FzIGRvY3VtZW50ZWQgaW4gRW1hY3MgMjcuICBUbyBjb252ZXJ0IGEgdGltZXN0YW1w IFggdG8gdGhlIG9sZAorNC1lbGVtZW50IGxpc3QgZm9ybSwgeW91IGNhbiB1c2UgKHRpbWUt Y29udmVydCBYICdsaXN0KS4KKwogDAogKiBDaGFuZ2VzIGluIEVtYWNzIDI5LjEKIApkaWZm IC0tZ2l0IGEvc3JjL3RpbWVmbnMuYyBiL3NyYy90aW1lZm5zLmMKaW5kZXggYTZjYzljOWYw NS4uMjg2ZDVlYjJiOCAxMDA2NDQKLS0tIGEvc3JjL3RpbWVmbnMuYworKysgYi9zcmMvdGlt ZWZucy5jCkBAIC02OSwxMiArNjksMTEgQEAgQ29weXJpZ2h0IChDKSAxOTg1LTE5ODcsIDE5 ODksIDE5OTMtMjAyMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMgZGVmaW5l IEZBU1RFUl9USU1FRk5TIDEKICNlbmRpZgogCi0vKiBBbHRob3VnaCBjdXJyZW50LXRpbWUg ZXRjLiBnZW5lcmF0ZSBsaXN0LWZvcm1hdCB0aW1lc3RhbXBzCi0gICAoSEkgTE8gVVMgUFMp LCB0aGUgcGxhbiBpcyB0byBjaGFuZ2UgdGhlc2UgZnVuY3Rpb25zIHRvIGdlbmVyYXRlCi0g ICBmcmVxdWVuY3ktYmFzZWQgdGltZXN0YW1wcyAoVElDS1MgLiBIWikgaW4gYSBmdXR1cmUg cmVsZWFzZS4KLSAgIFRvIHRyeSB0aGlzIG5vdywgY29tcGlsZSB3aXRoIC1EQ1VSUkVOVF9U SU1FX0xJU1Q9MC4gICovCisvKiBjdXJyZW50LXRpbWUgZXRjLiBnZW5lcmF0ZSAoVElDS1Mg LiBIWikgdGltZXN0YW1wcy4KKyAgIFRvIGNoYW5nZSB0aGF0IHRvIHRoZSBvbGQgNC1lbGVt ZW50IGxpc3QgZm9ybWF0IChISSBMTyBVUyBQUyksCisgICBjb21waWxlIHdpdGggLURDVVJS RU5UX1RJTUVfTElTVD0xLiAgKi8KICNpZm5kZWYgQ1VSUkVOVF9USU1FX0xJU1QKLWVudW0g eyBDVVJSRU5UX1RJTUVfTElTVCA9IHRydWUgfTsKK2VudW0geyBDVVJSRU5UX1RJTUVfTElT VCA9IGZhbHNlIH07CiAjZW5kaWYKIAogLyogQ2xvY2sgcmVzb2x1dGlvbiBvZiBzdHJ1Y3Qg dGltZXNwZWMuICAqLwpAQCAtMTg2MSwxNSArMTg2MCwxNCBAQCBERUZVTiAoInRpbWUtY29u dmVydCIsIEZ0aW1lX2NvbnZlcnQsIFN0aW1lX2NvbnZlcnQsIDEsIDIsIDAsCiAKIERFRlVO ICgiY3VycmVudC10aW1lIiwgRmN1cnJlbnRfdGltZSwgU2N1cnJlbnRfdGltZSwgMCwgMCwg MCwKICAgICAgICBkb2M6IC8qIFJldHVybiB0aGUgY3VycmVudCB0aW1lLCBhcyB0aGUgbnVt YmVyIG9mIHNlY29uZHMgc2luY2UgMTk3MC0wMS0wMSAwMDowMDowMC4KLVRoZSB0aW1lIGlz IHJldHVybmVkIGFzIGEgbGlzdCBvZiBpbnRlZ2VycyAoSElHSCBMT1cgVVNFQyBQU0VDKS4K LUhJR0ggaGFzIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdHMgb2YgdGhlIHNlY29uZHMsIHdo aWxlIExPVyBoYXMgdGhlCi1sZWFzdCBzaWduaWZpY2FudCAxNiBiaXRzLiAgVVNFQyBhbmQg UFNFQyBhcmUgdGhlIG1pY3Jvc2Vjb25kIGFuZAotcGljb3NlY29uZCBjb3VudHMuCi0KLUlu IGEgZnV0dXJlIEVtYWNzIHZlcnNpb24sIHRoZSBmb3JtYXQgb2YgdGhlIHJldHVybmVkIHRp bWVzdGFtcCBpcwotcGxhbm5lZCB0byBjaGFuZ2UuICBVc2UgYHRpbWUtY29udmVydCcgaWYg eW91IG5lZWQgYSBwYXJ0aWN1bGFyCi10aW1lc3RhbXAgZm9ybTsgZm9yIGV4YW1wbGUsICh0 aW1lLWNvbnZlcnQgbmlsIFxcPSdpbnRlZ2VyKSByZXR1cm5zCi10aGUgY3VycmVudCB0aW1l IGluIHNlY29uZHMuICAqLykKK1RoZSB0aW1lIGlzIHJldHVybmVkIGFzIGEgcGFpciBvZiBp bnRlZ2VycyAoVElDS1MgLiBIWiksIHdoZXJlIFRJQ0tTCitjb3VudHMgY2xvY2sgdGlja3Mg YW5kIEhaIGlzIHRoZSBjbG9jayB0aWNrcyBwZXIgc2Vjb25kLgorCitJbiBFbWFjcyAyOCBh bmQgZWFybGllciwgdGhlIHJldHVybmVkIHRpbWVzdGFtcCBoYWQgdGhlIGZvcm0gKEhJR0gg TE9XCitVU0VDIFBTRUMpLCB3aGVyZSBISUdIIGlzIHRoZSBtb3N0IHNpZ25pZmljYW50IGJp dHMgb2YgdGhlIHNlY29uZHMsCitMT1cgdGhlIGxlYXN0IHNpZ25pZmljYW50IDE2IGJpdHMs IGFuZCBVU0VDIGFuZCBQU0VDIGFyZSB0aGUKK21pY3Jvc2Vjb25kIGFuZCBwaWNvc2Vjb25k IGNvdW50cy4gIFVzZSBcKHRpbWUtY29udmVydCBuaWwgXFw9J2xpc3QpCitpZiB5b3UgbmVl ZCB0aGlzIG9sZGVyIHRpbWVzdGFtcCBmb3JtLiAgKi8pCiAgICh2b2lkKQogewogICByZXR1 cm4gbWFrZV9saXNwX3JlYWx0aW1lIChjdXJyZW50X3RpbWVzcGVjICgpKTsKLS0gCjIuMzUu MQoK --------------xIn8Fp90jhZtEUvLYsS2gajV--