From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8AE09C43381 for ; Fri, 22 Feb 2019 09:16:31 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5810520700 for ; Fri, 22 Feb 2019 09:16:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="QLiA3U+K"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="SeAZzP3U" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5810520700 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=92k3nW2LkHwO7UDMJ0p8LGdWCEY/sDba00oGk5oIT5k=; b=QLiA3U+KFtrtTi qhrU12vntLBclkHZi8slX0kFWVRERbB4XiPd9uADE864n70r2ILSnT9MY/ddRX5RShV33NapA0R6A 6/T6FkZQQHuMCm7f678omm0tqJwkZ/+U6l9r+IebPDylgSA6DXsG/t60tvYG0Tm6NKeXFVgU7bM4q LtdqBVDNUCzgrWrMskWHGkIdIBzi1vZAwpEkcHkxtj7V9uylvrMcqANKJm5OqBw3pSYXgidVGAwo+ YuiH4Cy8WPynRByoM5VRQ8qM5mBSax4uqrdFj2a+DPlwsOmGMmSViy6ZgVdNdL6+aATcM1kAUaSwE SpsIhOrIQC1PabJMfdeg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gx6wV-0000cD-BA; Fri, 22 Feb 2019 09:16:27 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gx6wQ-0000bg-C2 for linux-arm-kernel@lists.infradead.org; Fri, 22 Feb 2019 09:16:25 +0000 Received: by mail-wr1-x441.google.com with SMTP id t18so1550736wrx.2 for ; Fri, 22 Feb 2019 01:16:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=4EIyMhjg/lDkfjiWoUGISdlfsCLvyBM/tY3w4jUqRIM=; b=SeAZzP3UPwm7bLNBUG5KYXwo9pKDRraWdVi7h3JvmJ4LhzTkKv9xs0iehoUDrwta2a bRpBLW1i9qeUG0DPa0KS5RaMP/VQq2SUGxqsZr3cWwC0bWw04fSOMcm4eOfP2PZHUN8d foOvexxgkG3kFImtvlR/GRGrr5qrARcXjMKXPR3Ct+YEtP9Tz3Y8uC+eK2ErgvZl3+v8 gkTi6jPFGwcbxb9r998MFaorb7AVNsGbiIlSC2kV0FslHOgTk5ycFF/mMAIQItm2P9Nf 3JWo1TR95zo1wRmraWPn8HswVx8b89Vw9iwdNt8tozT0bJJ0+8xdvCVWfM3S5UvJg5az df5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=4EIyMhjg/lDkfjiWoUGISdlfsCLvyBM/tY3w4jUqRIM=; b=I8uwnKyxOMwYV7e7bLeolENNtGXoWzUuUsw+6Jz3XV2SapJUD1guMkvTnXZgWKlkMn Ui/g+qFaMEw9xW9V3wEevPYtxovrPJpikhl6Pf8YUCIW0r1ubSqq8YBdDbwTTkKJayf/ q05x+voGwJiM1by5Z7GT2iPKHZOutT8QjH55nSnCzWN5uueYiF8u+h4nUVIGC1U+tBzQ a8vjHu64RZ1UKaXYV1rTlq+856iWZpfHUkjm2f4+OOsCgBNDU6o/AKje59IbaA6xpx9c Yt70j0zumyHSkDEsRMurMHL4Q0lEFodE2GgysYkDU8G9N1x5fWOURjDllDx9E2fuB2RG ELnw== X-Gm-Message-State: AHQUAuYamqYEVs2b3wx2ksDRCQvb892t0h08Sn9oe/oYFpdohgzFQSdX N5RGU7fNojSKOGd8Blwh8ndpM/DclOs= X-Google-Smtp-Source: AHgI3IavZrLJrCjLiLFqW6/11mCWUNmKikKtNXfem8qKCZAEeYcBuDhbHkfa0CiUIO1ekHHOvIBVOw== X-Received: by 2002:adf:ee4d:: with SMTP id w13mr2219085wro.16.1550826979710; Fri, 22 Feb 2019 01:16:19 -0800 (PST) Received: from [192.168.0.41] (222.51.92.92.rev.sfr.net. [92.92.51.222]) by smtp.googlemail.com with ESMTPSA id b8sm624188wmj.35.2019.02.22.01.16.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Feb 2019 01:16:18 -0800 (PST) Subject: Re: [PATCH V7 2/8] clocksource: tegra: add Tegra210 timer support To: Joseph Lo , Thierry Reding , Jonathan Hunter , Thomas Gleixner References: <20190221072150.4395-1-josephl@nvidia.com> <20190221072150.4395-3-josephl@nvidia.com> <6dbc34d0-6922-0eab-48ca-ddcae4554655@linaro.org> <9a7ff1e9-f425-df58-2cd7-63b2bfc0d3bb@nvidia.com> From: Daniel Lezcano Message-ID: <7e76ac49-614f-f108-f85b-fb87fbb0922a@linaro.org> Date: Fri, 22 Feb 2019 10:16:17 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <9a7ff1e9-f425-df58-2cd7-63b2bfc0d3bb@nvidia.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190222_011622_423403_BF6FBE0E X-CRM114-Status: GOOD ( 24.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-tegra@vger.kernel.org, Thierry Reding , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjIvMDIvMjAxOSAxMDowNiwgSm9zZXBoIExvIHdyb3RlOgo+IAo+IAo+IE9uIDIvMjIvMTkg NDo0MyBQTSwgRGFuaWVsIExlemNhbm8gd3JvdGU6Cj4+IE9uIDIxLzAyLzIwMTkgMDg6MjEsIEpv c2VwaCBMbyB3cm90ZToKPj4+IEFkZCBzdXBwb3J0IGZvciB0aGUgVGVncmEyMTAgdGltZXIgdGhh dCBydW5zIGF0IG9zY2lsbGF0b3IgY2xvY2sKPj4+IChUTVIxMC1UTVIxMykuIFdlIG5lZWQgdGhl c2UgdGltZXJzIHRvIHdvcmsgYXMgY2xvY2sgZXZlbnQgZGV2aWNlIGFuZCB0bwo+Pj4gcmVwbGFj ZSB0aGUgQVJNdjggYXJjaGl0ZWN0ZWQgdGltZXIgZHVlIHRvIGl0IGNhbid0IHN1cnZpdmUgYWNy b3NzIHRoZQo+Pj4gcG93ZXIgY3ljbGUgb2YgdGhlIENQVSBjb3JlIG9yIENQVVBPUkVTRVQgc2ln bmFsLiBTbyBpdCBjYW4ndCBiZSBhCj4+PiB3YWtlLXVwCj4+PiBzb3VyY2Ugd2hlbiBDUFUgc3Vz cGVuZHMgaW4gcG93ZXIgZG93biBzdGF0ZS4KPj4+Cj4+PiBBbHNvIGNvbnZlcnQgdGhlIG9yaWdp bmFsIGRyaXZlciB0byB1c2UgdGltZXItb2YgQVBJLgo+Pj4KPj4+IENjOiBEYW5pZWwgTGV6Y2Fu byA8ZGFuaWVsLmxlemNhbm9AbGluYXJvLm9yZz4KPj4+IENjOiBUaG9tYXMgR2xlaXhuZXIgPHRn bHhAbGludXRyb25peC5kZT4KPj4+IENjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCj4+ PiBTaWduZWQtb2ZmLWJ5OiBKb3NlcGggTG8gPGpvc2VwaGxAbnZpZGlhLmNvbT4KPj4+IEFja2Vk LWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgo+Pj4gQWNrZWQtYnk6IEpv biBIdW50ZXIgPGpvbmF0aGFuaEBudmlkaWEuY29tPgo+Pj4gLS0tCj4+Cj4+IEFja2VkLWJ5OiBE YW5pZWwgTGV6Y2FubyA8ZGFuaWVsLmxlemNhbm9AbGluYXJvLm9yZz4KPiAKPiBIaSBEYW5pZWws Cj4gCj4gVGhhbmtzIGZvciB5b3VyIHJldmlldyBhZ2Fpbi4gUmVnYXJkaW5nIHRvIFRoaWVycnkn cyBzdWdnZXN0aW9uIGluIFsxXSwKPiBjb3VsZCB5b3UgaGVscCB0byBwaWNrIHVwIHBhdGNoIDF+ MyBpbiB0aGlzIHNlcmllcyBpbiBjbG9ja3NvdXJjZSB0cmVlPwoKT2ssIGFzIHRoZXkgaGF2ZSB0 aGUgbWFpbnRhaW5lciBhY2tlZC1ieSB0YWcsIEkndmUgcGlja2VkIHRoZW0gdXAgZm9yIDUuMQoK VGhhbmtzCgogIC0tIERhbmllbAoKCj4gWzFdOiBodHRwczovL3BhdGNod29yay5vemxhYnMub3Jn L3BhdGNoLzEwMzQwNzUvCj4gCj4gSWYgbm90LCBJJ2xsIGxldCBoaW0ga25vdyB0aGlzIHNlcmll cyBuZWVkcyB0byBnbyB3aXRoIFRlZ3JhIHRyZWUuCj4gCj4+Cj4+IFdpbGwgeW91IHRha2UgY2Fy ZSBvZiBkcm9wcGluZyB0aGUgcGVyc2lzdGVudCBjbG9ja3NvdXJjZSBjb2RlIGluIHRoaXMKPj4g ZHJpdmVyPwo+IAo+IFllcywgd2lsbCBkby4KPiAKPiBUaGFua3MsCj4gSm9zZXBoCj4gCj4+Cj4+ PiB2NzoKPj4+IMKgICoga2NvbmZpZyBmaXggZm9yICdkZXBlbmRzIG9uIEFSTSB8fCBBUk02NCcK Pj4+IMKgICogbW92ZSBzdXNwZW5kL3Jlc3VtZSB0byBjbGtldnQKPj4+IMKgICogcmVmaW5lIHRo ZSB1c2FnZSBmb3IgdGhlIG1hY3JvIG9mIFRJTUVSX09GX0RFQ0xBUkUKPj4+IHY2Ogo+Pj4gwqAg KiByZWZpbmUgdGhlIHRpbWVyIGRlZmluZXMKPj4+IMKgICogYWRkIGFjayB0YWcgZnJvbSBKb24u Cj4+PiB2NToKPj4+IMKgICogYWRkIGFjayB0YWcgZnJvbSBUaGllcnJ5Cj4+PiB2NDoKPj4+IMKg ICogbWVyZ2UgdGltZXItdGVncmEyMTAuYyBpbiBwcmV2aW91cyB2ZXJzaW9uIGludG8gdGltZXIt dGVncmEyMC5jCj4+PiB2MzoKPj4+IMKgICogdXNlIHRpbWVyLW9mIEFQSQo+Pj4gdjI6Cj4+PiDC oCAqIGFkZCBlcnJvciBjbGVhbi11cCBjb2RlCj4+PiAtLS0KPj4+IMKgIGRyaXZlcnMvY2xvY2tz b3VyY2UvS2NvbmZpZ8KgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMyArLQo+Pj4gwqAgZHJpdmVycy9j bG9ja3NvdXJjZS90aW1lci10ZWdyYTIwLmMgfCAzNzAgKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLQo+Pj4gwqAgaW5jbHVkZS9saW51eC9jcHVob3RwbHVnLmjCoMKgwqDCoMKgwqDCoMKgwqAg fMKgwqAgMSArCj4+PiDCoCAzIGZpbGVzIGNoYW5nZWQsIDI2MiBpbnNlcnRpb25zKCspLCAxMTIg ZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xvY2tzb3VyY2UvS2Nv bmZpZyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvS2NvbmZpZwo+Pj4gaW5kZXggOGRmZDNiYzQ0OGQw Li41ZDkzZTU4MGU1ZGMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2Nsb2Nrc291cmNlL0tjb25m aWcKPj4+ICsrKyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvS2NvbmZpZwo+Pj4gQEAgLTEzMSw3ICsx MzEsOCBAQCBjb25maWcgU1VONUlfSFNUSU1FUgo+Pj4gwqAgY29uZmlnIFRFR1JBX1RJTUVSCj4+ PiDCoMKgwqDCoMKgIGJvb2wgIlRlZ3JhIHRpbWVyIGRyaXZlciIgaWYgQ09NUElMRV9URVNUCj4+ PiDCoMKgwqDCoMKgIHNlbGVjdCBDTEtTUkNfTU1JTwo+Pj4gLcKgwqDCoCBkZXBlbmRzIG9uIEFS TQo+Pj4gK8KgwqDCoCBzZWxlY3QgVElNRVJfT0YKPj4+ICvCoMKgwqAgZGVwZW5kcyBvbiBBUk0g fHwgQVJNNjQKPj4+IMKgwqDCoMKgwqAgaGVscAo+Pj4gwqDCoMKgwqDCoMKgwqAgRW5hYmxlcyBz dXBwb3J0IGZvciB0aGUgVGVncmEgZHJpdmVyLgo+Pj4gwqAgZGlmZiAtLWdpdCBhL2RyaXZlcnMv Y2xvY2tzb3VyY2UvdGltZXItdGVncmEyMC5jCj4+PiBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvdGlt ZXItdGVncmEyMC5jCj4+PiBpbmRleCA0MjkzOTQzZjRlMmIuLmZkYjNkNzk1YTQwOSAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvY2xvY2tzb3VyY2UvdGltZXItdGVncmEyMC5jCj4+PiArKysgYi9k cml2ZXJzL2Nsb2Nrc291cmNlL3RpbWVyLXRlZ3JhMjAuYwo+Pj4gQEAgLTE1LDIxICsxNSwyNCBA QAo+Pj4gwqDCoCAqCj4+PiDCoMKgICovCj4+PiDCoCAtI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4K Pj4+ICsjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hp cHMuaD4KPj4+ICsjaW5jbHVkZSA8bGludXgvY3B1Lmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4L2Nw dW1hc2suaD4KPj4+ICsjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KPj4+IMKgICNpbmNsdWRlIDxs aW51eC9lcnIuaD4KPj4+IC0jaW5jbHVkZSA8bGludXgvdGltZS5oPgo+Pj4gwqAgI2luY2x1ZGUg PGxpbnV4L2ludGVycnVwdC5oPgo+Pj4gLSNpbmNsdWRlIDxsaW51eC9pcnEuaD4KPj4+IC0jaW5j bHVkZSA8bGludXgvY2xvY2tjaGlwcy5oPgo+Pj4gLSNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJj ZS5oPgo+Pj4gLSNpbmNsdWRlIDxsaW51eC9jbGsuaD4KPj4+IC0jaW5jbHVkZSA8bGludXgvaW8u aD4KPj4+IMKgICNpbmNsdWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+Cj4+PiDCoCAjaW5jbHVkZSA8 bGludXgvb2ZfaXJxLmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgo+Pj4gwqAgI2lu Y2x1ZGUgPGxpbnV4L3NjaGVkX2Nsb2NrLmg+Cj4+PiAtI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+ Cj4+PiArI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KPj4+ICsKPj4+ICsjaW5jbHVkZSAidGltZXIt b2YuaCIKPj4+IMKgICsjaWZkZWYgQ09ORklHX0FSTQo+Pj4gwqAgI2luY2x1ZGUgPGFzbS9tYWNo L3RpbWUuaD4KPj4+ICsjZW5kaWYKPj4+IMKgIMKgICNkZWZpbmUgUlRDX1NFQ09ORFPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIDB4MDgKPj4+IMKgICNkZWZpbmUgUlRDX1NIQURPV19TRUNPTkRTwqDC oMKgwqAgMHgwYwo+Pj4gQEAgLTM5LDc0ICs0MiwxNjEgQEAKPj4+IMKgICNkZWZpbmUgVElNRVJV U19VU0VDX0NGRyAweDE0Cj4+PiDCoCAjZGVmaW5lIFRJTUVSVVNfQ05UUl9GUkVFWkUgMHg0Ywo+ Pj4gwqAgLSNkZWZpbmUgVElNRVIxX0JBU0UgMHgwCj4+PiAtI2RlZmluZSBUSU1FUjJfQkFTRSAw eDgKPj4+IC0jZGVmaW5lIFRJTUVSM19CQVNFIDB4NTAKPj4+IC0jZGVmaW5lIFRJTUVSNF9CQVNF IDB4NTgKPj4+IC0KPj4+IC0jZGVmaW5lIFRJTUVSX1BUViAweDAKPj4+IC0jZGVmaW5lIFRJTUVS X1BDUiAweDQKPj4+IC0KPj4+ICsjZGVmaW5lIFRJTUVSX1BUVsKgwqDCoMKgwqDCoMKgIDB4MAo+ Pj4gKyNkZWZpbmUgVElNRVJfUFRWX0VOwqDCoMKgwqDCoMKgwqAgQklUKDMxKQo+Pj4gKyNkZWZp bmUgVElNRVJfUFRWX1BFUsKgwqDCoMKgwqDCoMKgIEJJVCgzMCkKPj4+ICsjZGVmaW5lIFRJTUVS X1BDUsKgwqDCoMKgwqDCoMKgIDB4NAo+Pj4gKyNkZWZpbmUgVElNRVJfUENSX0lOVFJfQ0xSwqDC oMKgIEJJVCgzMCkKPj4+ICsKPj4+ICsjaWZkZWYgQ09ORklHX0FSTQo+Pj4gKyNkZWZpbmUgVElN RVJfQ1BVMMKgwqDCoMKgwqDCoMKgIDB4NTAgLyogVElNRVIzICovCj4+PiArI2Vsc2UKPj4+ICsj ZGVmaW5lIFRJTUVSX0NQVTDCoMKgwqDCoMKgwqDCoCAweDkwIC8qIFRJTUVSMTAgKi8KPj4+ICsj ZGVmaW5lIFRJTUVSMTBfSVJRX0lEWMKgwqDCoMKgwqDCoMKgIDEwCj4+PiArI2RlZmluZSBJUlFf SURYX0ZPUl9DUFUoY3B1KcKgwqDCoCAoVElNRVIxMF9JUlFfSURYICsgY3B1KQo+Pj4gKyNlbmRp Zgo+Pj4gKyNkZWZpbmUgVElNRVJfQkFTRV9GT1JfQ1BVKGNwdSkgKFRJTUVSX0NQVTAgKyAoY3B1 KSAqIDgpCj4+PiArCj4+PiArc3RhdGljIHUzMiB1c2VjX2NvbmZpZzsKPj4+IMKgIHN0YXRpYyB2 b2lkIF9faW9tZW0gKnRpbWVyX3JlZ19iYXNlOwo+Pj4gKyNpZmRlZiBDT05GSUdfQVJNCj4+PiDC oCBzdGF0aWMgdm9pZCBfX2lvbWVtICpydGNfYmFzZTsKPj4+IC0KPj4+IMKgIHN0YXRpYyBzdHJ1 Y3QgdGltZXNwZWM2NCBwZXJzaXN0ZW50X3RzOwo+Pj4gwqAgc3RhdGljIHU2NCBwZXJzaXN0ZW50 X21zLCBsYXN0X3BlcnNpc3RlbnRfbXM7Cj4+PiAtCj4+PiDCoCBzdGF0aWMgc3RydWN0IGRlbGF5 X3RpbWVyIHRlZ3JhX2RlbGF5X3RpbWVyOwo+Pj4gLQo+Pj4gLSNkZWZpbmUgdGltZXJfd3JpdGVs KHZhbHVlLCByZWcpIFwKPj4+IC3CoMKgwqAgd3JpdGVsX3JlbGF4ZWQodmFsdWUsIHRpbWVyX3Jl Z19iYXNlICsgKHJlZykpCj4+PiAtI2RlZmluZSB0aW1lcl9yZWFkbChyZWcpIFwKPj4+IC3CoMKg wqAgcmVhZGxfcmVsYXhlZCh0aW1lcl9yZWdfYmFzZSArIChyZWcpKQo+Pj4gKyNlbmRpZgo+Pj4g wqAgwqAgc3RhdGljIGludCB0ZWdyYV90aW1lcl9zZXRfbmV4dF9ldmVudCh1bnNpZ25lZCBsb25n IGN5Y2xlcywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKPj4+IMKgIHsKPj4+IC3CoMKgwqAgdTMy IHJlZzsKPj4+ICvCoMKgwqAgdm9pZCBfX2lvbWVtICpyZWdfYmFzZSA9IHRpbWVyX29mX2Jhc2Uo dG9fdGltZXJfb2YoZXZ0KSk7Cj4+PiDCoCAtwqDCoMKgIHJlZyA9IDB4ODAwMDAwMDAgfCAoKGN5 Y2xlcyA+IDEpID8gKGN5Y2xlcy0xKSA6IDApOwo+Pj4gLcKgwqDCoCB0aW1lcl93cml0ZWwocmVn LCBUSU1FUjNfQkFTRSArIFRJTUVSX1BUVik7Cj4+PiArwqDCoMKgIHdyaXRlbChUSU1FUl9QVFZf RU4gfAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgICgoY3ljbGVzID4gMSkgPyAoY3ljbGVzIC0g MSkgOiAwKSwgLyogbisxIHNjaGVtZSAqLwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZ19i YXNlICsgVElNRVJfUFRWKTsKPj4+IMKgIMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+PiDCoCB9Cj4+ PiDCoCAtc3RhdGljIGlubGluZSB2b2lkIHRpbWVyX3NodXRkb3duKHN0cnVjdCBjbG9ja19ldmVu dF9kZXZpY2UgKmV2dCkKPj4+ICtzdGF0aWMgaW50IHRlZ3JhX3RpbWVyX3NodXRkb3duKHN0cnVj dCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKPj4+IMKgIHsKPj4+IC3CoMKgwqAgdGltZXJfd3Jp dGVsKDAsIFRJTUVSM19CQVNFICsgVElNRVJfUFRWKTsKPj4+ICvCoMKgwqAgdm9pZCBfX2lvbWVt ICpyZWdfYmFzZSA9IHRpbWVyX29mX2Jhc2UodG9fdGltZXJfb2YoZXZ0KSk7Cj4+PiArCj4+PiAr wqDCoMKgIHdyaXRlbCgwLCByZWdfYmFzZSArIFRJTUVSX1BUVik7Cj4+PiArCj4+PiArwqDCoMKg IHJldHVybiAwOwo+Pj4gwqAgfQo+Pj4gwqAgLXN0YXRpYyBpbnQgdGVncmFfdGltZXJfc2h1dGRv d24oc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0KQo+Pj4gK3N0YXRpYyBpbnQgdGVncmFf dGltZXJfc2V0X3BlcmlvZGljKHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKPj4+IMKg IHsKPj4+IC3CoMKgwqAgdGltZXJfc2h1dGRvd24oZXZ0KTsKPj4+ICvCoMKgwqAgdm9pZCBfX2lv bWVtICpyZWdfYmFzZSA9IHRpbWVyX29mX2Jhc2UodG9fdGltZXJfb2YoZXZ0KSk7Cj4+PiArCj4+ PiArwqDCoMKgIHdyaXRlbChUSU1FUl9QVFZfRU4gfCBUSU1FUl9QVFZfUEVSIHwKPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoCAoKHRpbWVyX29mX3JhdGUodG9fdGltZXJfb2YoZXZ0KSkgLyBIWikg LSAxKSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWdfYmFzZSArIFRJTUVSX1BUVik7Cj4+ PiArCj4+PiDCoMKgwqDCoMKgIHJldHVybiAwOwo+Pj4gwqAgfQo+Pj4gwqAgLXN0YXRpYyBpbnQg dGVncmFfdGltZXJfc2V0X3BlcmlvZGljKHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkK Pj4+ICtzdGF0aWMgaXJxcmV0dXJuX3QgdGVncmFfdGltZXJfaXNyKGludCBpcnEsIHZvaWQgKmRl dl9pZCkKPj4+ICt7Cj4+PiArwqDCoMKgIHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCA9 IChzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlCj4+PiAqKWRldl9pZDsKPj4+ICvCoMKgwqAgdm9p ZCBfX2lvbWVtICpyZWdfYmFzZSA9IHRpbWVyX29mX2Jhc2UodG9fdGltZXJfb2YoZXZ0KSk7Cj4+ PiArCj4+PiArwqDCoMKgIHdyaXRlbChUSU1FUl9QQ1JfSU5UUl9DTFIsIHJlZ19iYXNlICsgVElN RVJfUENSKTsKPj4+ICvCoMKgwqAgZXZ0LT5ldmVudF9oYW5kbGVyKGV2dCk7Cj4+PiArCj4+PiAr wqDCoMKgIHJldHVybiBJUlFfSEFORExFRDsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIHZvaWQg dGVncmFfdGltZXJfc3VzcGVuZChzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlICpldnQpCj4+PiAr ewo+Pj4gK8KgwqDCoCB2b2lkIF9faW9tZW0gKnJlZ19iYXNlID0gdGltZXJfb2ZfYmFzZSh0b190 aW1lcl9vZihldnQpKTsKPj4+ICsKPj4+ICvCoMKgwqAgd3JpdGVsKFRJTUVSX1BDUl9JTlRSX0NM UiwgcmVnX2Jhc2UgKyBUSU1FUl9QQ1IpOwo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgdm9pZCB0 ZWdyYV90aW1lcl9yZXN1bWUoc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0KQo+Pj4gK3sK Pj4+ICvCoMKgwqAgd3JpdGVsKHVzZWNfY29uZmlnLCB0aW1lcl9yZWdfYmFzZSArIFRJTUVSVVNf VVNFQ19DRkcpOwo+Pj4gK30KPj4+ICsKPj4+ICsjaWZkZWYgQ09ORklHX0FSTTY0Cj4+PiArc3Rh dGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0aW1lcl9vZiwgdGVncmFfdG8pID0gewo+Pj4gK8Kg wqDCoCAuZmxhZ3MgPSBUSU1FUl9PRl9DTE9DSyB8IFRJTUVSX09GX0JBU0UsCj4+PiArCj4+PiAr wqDCoMKgIC5jbGtldnQgPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAidGVncmFfdGlt ZXIiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5yYXRpbmcgPSA0NjAsCj4+PiArwqDCoMKgwqDCoMKg wqAgLmZlYXR1cmVzID0gQ0xPQ0tfRVZUX0ZFQVRfT05FU0hPVCB8IENMT0NLX0VWVF9GRUFUX1BF UklPRElDLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zZXRfbmV4dF9ldmVudCA9IHRlZ3JhX3RpbWVy X3NldF9uZXh0X2V2ZW50LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zZXRfc3RhdGVfc2h1dGRvd24g PSB0ZWdyYV90aW1lcl9zaHV0ZG93biwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuc2V0X3N0YXRlX3Bl cmlvZGljID0gdGVncmFfdGltZXJfc2V0X3BlcmlvZGljLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5z ZXRfc3RhdGVfb25lc2hvdCA9IHRlZ3JhX3RpbWVyX3NodXRkb3duLAo+Pj4gK8KgwqDCoMKgwqDC oMKgIC50aWNrX3Jlc3VtZSA9IHRlZ3JhX3RpbWVyX3NodXRkb3duLAo+Pj4gK8KgwqDCoMKgwqDC oMKgIC5zdXNwZW5kID0gdGVncmFfdGltZXJfc3VzcGVuZCwKPj4+ICvCoMKgwqDCoMKgwqDCoCAu cmVzdW1lID0gdGVncmFfdGltZXJfcmVzdW1lLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307Cj4+PiAr Cj4+PiArc3RhdGljIGludCB0ZWdyYV90aW1lcl9zZXR1cCh1bnNpZ25lZCBpbnQgY3B1KQo+Pj4g wqAgewo+Pj4gLcKgwqDCoCB1MzIgcmVnID0gMHhDMDAwMDAwMCB8ICgoMTAwMDAwMCAvIEhaKSAt IDEpOwo+Pj4gK8KgwqDCoCBzdHJ1Y3QgdGltZXJfb2YgKnRvID0gcGVyX2NwdV9wdHIoJnRlZ3Jh X3RvLCBjcHUpOwo+Pj4gKwo+Pj4gK8KgwqDCoCBpcnFfZm9yY2VfYWZmaW5pdHkodG8tPmNsa2V2 dC5pcnEsIGNwdW1hc2tfb2YoY3B1KSk7Cj4+PiArwqDCoMKgIGVuYWJsZV9pcnEodG8tPmNsa2V2 dC5pcnEpOwo+Pj4gKwo+Pj4gK8KgwqDCoCBjbG9ja2V2ZW50c19jb25maWdfYW5kX3JlZ2lzdGVy KCZ0by0+Y2xrZXZ0LCB0aW1lcl9vZl9yYXRlKHRvKSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAxLCAvKiBtaW4gKi8KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAweDFmZmZmZmZmKTsgLyogMjkgYml0cyAqLwo+Pj4gwqAgLcKg wqDCoCB0aW1lcl9zaHV0ZG93bihldnQpOwo+Pj4gLcKgwqDCoCB0aW1lcl93cml0ZWwocmVnLCBU SU1FUjNfQkFTRSArIFRJTUVSX1BUVik7Cj4+PiDCoMKgwqDCoMKgIHJldHVybiAwOwo+Pj4gwqAg fQo+Pj4gwqAgLXN0YXRpYyBzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlIHRlZ3JhX2Nsb2NrZXZl bnQgPSB7Cj4+PiAtwqDCoMKgIC5uYW1lwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA9ICJ0aW1lcjAi LAo+Pj4gLcKgwqDCoCAucmF0aW5nwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA9IDMwMCwKPj4+IC3C oMKgwqAgLmZlYXR1cmVzwqDCoMKgwqDCoMKgwqAgPSBDTE9DS19FVlRfRkVBVF9PTkVTSE9UIHwK Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENMT0NLX0VWVF9GRUFUX1BF UklPRElDIHwKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENMT0NLX0VW VF9GRUFUX0RZTklSUSwKPj4+IC3CoMKgwqAgLnNldF9uZXh0X2V2ZW50wqDCoMKgwqDCoMKgwqAg PSB0ZWdyYV90aW1lcl9zZXRfbmV4dF9ldmVudCwKPj4+IC3CoMKgwqAgLnNldF9zdGF0ZV9zaHV0 ZG93bsKgwqDCoCA9IHRlZ3JhX3RpbWVyX3NodXRkb3duLAo+Pj4gLcKgwqDCoCAuc2V0X3N0YXRl X3BlcmlvZGljwqDCoMKgID0gdGVncmFfdGltZXJfc2V0X3BlcmlvZGljLAo+Pj4gLcKgwqDCoCAu c2V0X3N0YXRlX29uZXNob3TCoMKgwqAgPSB0ZWdyYV90aW1lcl9zaHV0ZG93biwKPj4+IC3CoMKg wqAgLnRpY2tfcmVzdW1lwqDCoMKgwqDCoMKgwqAgPSB0ZWdyYV90aW1lcl9zaHV0ZG93biwKPj4+ ICtzdGF0aWMgaW50IHRlZ3JhX3RpbWVyX3N0b3AodW5zaWduZWQgaW50IGNwdSkKPj4+ICt7Cj4+ PiArwqDCoMKgIHN0cnVjdCB0aW1lcl9vZiAqdG8gPSBwZXJfY3B1X3B0cigmdGVncmFfdG8sIGNw dSk7Cj4+PiArCj4+PiArwqDCoMKgIHRvLT5jbGtldnQuc2V0X3N0YXRlX3NodXRkb3duKCZ0by0+ Y2xrZXZ0KTsKPj4+ICvCoMKgwqAgZGlzYWJsZV9pcnFfbm9zeW5jKHRvLT5jbGtldnQuaXJxKTsK Pj4+ICsKPj4+ICvCoMKgwqAgcmV0dXJuIDA7Cj4+PiArfQo+Pj4gKyNlbHNlIC8qIENPTkZJR19B Uk0gKi8KPj4+ICtzdGF0aWMgc3RydWN0IHRpbWVyX29mIHRlZ3JhX3RvID0gewo+Pj4gK8KgwqDC oCAuZmxhZ3MgPSBUSU1FUl9PRl9DTE9DSyB8IFRJTUVSX09GX0JBU0UgfCBUSU1FUl9PRl9JUlEs Cj4+PiArCj4+PiArwqDCoMKgIC5jbGtldnQgPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUg PSAidGVncmFfdGltZXIiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5yYXRpbmfCoMKgwqAgPSAzMDAs Cj4+PiArwqDCoMKgwqDCoMKgwqAgLmZlYXR1cmVzID0gQ0xPQ0tfRVZUX0ZFQVRfT05FU0hPVCB8 Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENMT0NLX0VWVF9GRUFUX1BFUklP RElDIHwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ0xPQ0tfRVZUX0ZFQVRf RFlOSVJRLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zZXRfbmV4dF9ldmVudMKgwqDCoCA9IHRlZ3Jh X3RpbWVyX3NldF9uZXh0X2V2ZW50LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zZXRfc3RhdGVfc2h1 dGRvd24gPSB0ZWdyYV90aW1lcl9zaHV0ZG93biwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuc2V0X3N0 YXRlX3BlcmlvZGljID0gdGVncmFfdGltZXJfc2V0X3BlcmlvZGljLAo+Pj4gK8KgwqDCoMKgwqDC oMKgIC5zZXRfc3RhdGVfb25lc2hvdCA9IHRlZ3JhX3RpbWVyX3NodXRkb3duLAo+Pj4gK8KgwqDC oMKgwqDCoMKgIC50aWNrX3Jlc3VtZSA9IHRlZ3JhX3RpbWVyX3NodXRkb3duLAo+Pj4gK8KgwqDC oMKgwqDCoMKgIC5zdXNwZW5kID0gdGVncmFfdGltZXJfc3VzcGVuZCwKPj4+ICvCoMKgwqDCoMKg wqDCoCAucmVzdW1lID0gdGVncmFfdGltZXJfcmVzdW1lLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5j cHVtYXNrID0gY3B1X3Bvc3NpYmxlX21hc2ssCj4+PiArwqDCoMKgIH0sCj4+PiArCj4+PiArwqDC oMKgIC5vZl9pcnEgPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLmluZGV4ID0gMiwKPj4+ICvCoMKg wqDCoMKgwqDCoCAuZmxhZ3MgPSBJUlFGX1RJTUVSIHwgSVJRRl9UUklHR0VSX0hJR0gsCj4+PiAr wqDCoMKgwqDCoMKgwqAgLmhhbmRsZXIgPSB0ZWdyYV90aW1lcl9pc3IsCj4+PiArwqDCoMKgIH0s Cj4+PiDCoCB9Owo+Pj4gwqAgwqAgc3RhdGljIHU2NCBub3RyYWNlIHRlZ3JhX3JlYWRfc2NoZWRf Y2xvY2sodm9pZCkKPj4+IMKgIHsKPj4+IC3CoMKgwqAgcmV0dXJuIHRpbWVyX3JlYWRsKFRJTUVS VVNfQ05UUl8xVVMpOwo+Pj4gK8KgwqDCoCByZXR1cm4gcmVhZGwodGltZXJfcmVnX2Jhc2UgKyBU SU1FUlVTX0NOVFJfMVVTKTsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIHVuc2lnbmVkIGxvbmcg dGVncmFfZGVsYXlfdGltZXJfcmVhZF9jb3VudGVyX2xvbmcodm9pZCkKPj4+ICt7Cj4+PiArwqDC oMKgIHJldHVybiByZWFkbCh0aW1lcl9yZWdfYmFzZSArIFRJTUVSVVNfQ05UUl8xVVMpOwo+Pj4g wqAgfQo+Pj4gwqAgwqAgLyoKPj4+IEBAIC0xNDMsMTAwICsyMzMsMTU1IEBAIHN0YXRpYyB2b2lk Cj4+PiB0ZWdyYV9yZWFkX3BlcnNpc3RlbnRfY2xvY2s2NChzdHJ1Y3QgdGltZXNwZWM2NCAqdHMp Cj4+PiDCoMKgwqDCoMKgIHRpbWVzcGVjNjRfYWRkX25zKCZwZXJzaXN0ZW50X3RzLCBkZWx0YSAq IE5TRUNfUEVSX01TRUMpOwo+Pj4gwqDCoMKgwqDCoCAqdHMgPSBwZXJzaXN0ZW50X3RzOwo+Pj4g wqAgfQo+Pj4gKyNlbmRpZgo+Pj4gwqAgLXN0YXRpYyB1bnNpZ25lZCBsb25nIHRlZ3JhX2RlbGF5 X3RpbWVyX3JlYWRfY291bnRlcl9sb25nKHZvaWQpCj4+PiAtewo+Pj4gLcKgwqDCoCByZXR1cm4g cmVhZGwodGltZXJfcmVnX2Jhc2UgKyBUSU1FUlVTX0NOVFJfMVVTKTsKPj4+IC19Cj4+PiAtCj4+ PiAtc3RhdGljIGlycXJldHVybl90IHRlZ3JhX3RpbWVyX2ludGVycnVwdChpbnQgaXJxLCB2b2lk ICpkZXZfaWQpCj4+PiAtewo+Pj4gLcKgwqDCoCBzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlICpl dnQgPSAoc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZQo+Pj4gKilkZXZfaWQ7Cj4+PiAtwqDCoMKg IHRpbWVyX3dyaXRlbCgxPDwzMCwgVElNRVIzX0JBU0UgKyBUSU1FUl9QQ1IpOwo+Pj4gLcKgwqDC oCBldnQtPmV2ZW50X2hhbmRsZXIoZXZ0KTsKPj4+IC3CoMKgwqAgcmV0dXJuIElSUV9IQU5ETEVE Owo+Pj4gLX0KPj4+IC0KPj4+IC1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiB0ZWdyYV90aW1lcl9p cnEgPSB7Cj4+PiAtwqDCoMKgIC5uYW1lwqDCoMKgwqDCoMKgwqAgPSAidGltZXIwIiwKPj4+IC3C oMKgwqAgLmZsYWdzwqDCoMKgwqDCoMKgwqAgPSBJUlFGX1RJTUVSIHwgSVJRRl9UUklHR0VSX0hJ R0gsCj4+PiAtwqDCoMKgIC5oYW5kbGVywqDCoMKgID0gdGVncmFfdGltZXJfaW50ZXJydXB0LAo+ Pj4gLcKgwqDCoCAuZGV2X2lkwqDCoMKgwqDCoMKgwqAgPSAmdGVncmFfY2xvY2tldmVudCwKPj4+ IC19Owo+Pj4gLQo+Pj4gLXN0YXRpYyBpbnQgX19pbml0IHRlZ3JhMjBfaW5pdF90aW1lcihzdHJ1 Y3QgZGV2aWNlX25vZGUgKm5wKQo+Pj4gK3N0YXRpYyBpbnQgdGVncmFfdGltZXJfY29tbW9uX2lu aXQoc3RydWN0IGRldmljZV9ub2RlICpucCwgc3RydWN0Cj4+PiB0aW1lcl9vZiAqdG8pCj4+PiDC oCB7Cj4+PiAtwqDCoMKgIHN0cnVjdCBjbGsgKmNsazsKPj4+IC3CoMKgwqAgdW5zaWduZWQgbG9u ZyByYXRlOwo+Pj4gLcKgwqDCoCBpbnQgcmV0Owo+Pj4gLQo+Pj4gLcKgwqDCoCB0aW1lcl9yZWdf YmFzZSA9IG9mX2lvbWFwKG5wLCAwKTsKPj4+IC3CoMKgwqAgaWYgKCF0aW1lcl9yZWdfYmFzZSkg ewo+Pj4gLcKgwqDCoMKgwqDCoMKgIHByX2VycigiQ2FuJ3QgbWFwIHRpbWVyIHJlZ2lzdGVyc1xu Iik7Cj4+PiAtwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FTlhJTzsKPj4+IC3CoMKgwqAgfQo+Pj4g K8KgwqDCoCBpbnQgcmV0ID0gMDsKPj4+IMKgIC3CoMKgwqAgdGVncmFfdGltZXJfaXJxLmlycSA9 IGlycV9vZl9wYXJzZV9hbmRfbWFwKG5wLCAyKTsKPj4+IC3CoMKgwqAgaWYgKHRlZ3JhX3RpbWVy X2lycS5pcnEgPD0gMCkgewo+Pj4gLcKgwqDCoMKgwqDCoMKgIHByX2VycigiRmFpbGVkIHRvIG1h cCB0aW1lciBJUlFcbiIpOwo+Pj4gLcKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+Pj4g LcKgwqDCoCB9Cj4+PiArwqDCoMKgIHJldCA9IHRpbWVyX29mX2luaXQobnAsIHRvKTsKPj4+ICvC oMKgwqAgaWYgKHJldCA8IDApCj4+PiArwqDCoMKgwqDCoMKgwqAgZ290byBvdXQ7Cj4+PiDCoCAt wqDCoMKgIGNsayA9IG9mX2Nsa19nZXQobnAsIDApOwo+Pj4gLcKgwqDCoCBpZiAoSVNfRVJSKGNs aykpIHsKPj4+IC3CoMKgwqDCoMKgwqDCoCBwcl93YXJuKCJVbmFibGUgdG8gZ2V0IHRpbWVyIGNs b2NrLiBBc3N1bWluZyAxMk1oeiBpbnB1dAo+Pj4gY2xvY2suXG4iKTsKPj4+IC3CoMKgwqDCoMKg wqDCoCByYXRlID0gMTIwMDAwMDA7Cj4+PiAtwqDCoMKgIH0gZWxzZSB7Cj4+PiAtwqDCoMKgwqDC oMKgwqAgY2xrX3ByZXBhcmVfZW5hYmxlKGNsayk7Cj4+PiAtwqDCoMKgwqDCoMKgwqAgcmF0ZSA9 IGNsa19nZXRfcmF0ZShjbGspOwo+Pj4gLcKgwqDCoCB9Cj4+PiArwqDCoMKgIHRpbWVyX3JlZ19i YXNlID0gdGltZXJfb2ZfYmFzZSh0byk7Cj4+PiDCoCAtwqDCoMKgIHN3aXRjaCAocmF0ZSkgewo+ Pj4gK8KgwqDCoCAvKgo+Pj4gK8KgwqDCoMKgICogQ29uZmlndXJlIG1pY3Jvc2Vjb25kIHRpbWVy cyB0byBoYXZlIDFNSHogY2xvY2sKPj4+ICvCoMKgwqDCoCAqIENvbmZpZyByZWdpc3RlciBpcyAw eHFxd3csIHdoZXJlIHFxIGlzICJkaXZpZGVuZCIsIHd3IGlzCj4+PiAiZGl2aXNvciIKPj4+ICvC oMKgwqDCoCAqIFVzZXMgbisxIHNjaGVtZQo+Pj4gK8KgwqDCoMKgICovCj4+PiArwqDCoMKgIHN3 aXRjaCAodGltZXJfb2ZfcmF0ZSh0bykpIHsKPj4+IMKgwqDCoMKgwqAgY2FzZSAxMjAwMDAwMDoK Pj4+IC3CoMKgwqDCoMKgwqDCoCB0aW1lcl93cml0ZWwoMHgwMDBiLCBUSU1FUlVTX1VTRUNfQ0ZH KTsKPj4+ICvCoMKgwqDCoMKgwqDCoCB1c2VjX2NvbmZpZyA9IDB4MDAwYjsgLyogKDExKzEpLygw KzEpICovCj4+PiArwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4+PiArwqDCoMKgIGNhc2UgMTI4MDAw MDA6Cj4+PiArwqDCoMKgwqDCoMKgwqAgdXNlY19jb25maWcgPSAweDA0M2Y7IC8qICg2MysxKS8o NCsxKSAqLwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4gwqDCoMKgwqDCoCBjYXNl IDEzMDAwMDAwOgo+Pj4gLcKgwqDCoMKgwqDCoMKgIHRpbWVyX3dyaXRlbCgweDAwMGMsIFRJTUVS VVNfVVNFQ19DRkcpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIHVzZWNfY29uZmlnID0gMHgwMDBjOyAv KiAoMTIrMSkvKDArMSkgKi8KPj4+ICvCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4+ICvCoMKgwqAg Y2FzZSAxNjgwMDAwMDoKPj4+ICvCoMKgwqDCoMKgwqDCoCB1c2VjX2NvbmZpZyA9IDB4MDQ1Mzsg LyogKDgzKzEpLyg0KzEpICovCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4+PiDCoMKg wqDCoMKgIGNhc2UgMTkyMDAwMDA6Cj4+PiAtwqDCoMKgwqDCoMKgwqAgdGltZXJfd3JpdGVsKDB4 MDQ1ZiwgVElNRVJVU19VU0VDX0NGRyk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgdXNlY19jb25maWcg PSAweDA0NWY7IC8qICg5NSsxKS8oNCsxKSAqLwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFr Owo+Pj4gwqDCoMKgwqDCoCBjYXNlIDI2MDAwMDAwOgo+Pj4gLcKgwqDCoMKgwqDCoMKgIHRpbWVy X3dyaXRlbCgweDAwMTksIFRJTUVSVVNfVVNFQ19DRkcpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIHVz ZWNfY29uZmlnID0gMHgwMDE5OyAvKiAoMjUrMSkvKDArMSkgKi8KPj4+ICvCoMKgwqDCoMKgwqDC oCBicmVhazsKPj4+ICvCoMKgwqAgY2FzZSAzODQwMDAwMDoKPj4+ICvCoMKgwqDCoMKgwqDCoCB1 c2VjX2NvbmZpZyA9IDB4MDRiZjsgLyogKDE5MSsxKS8oNCsxKSAqLwo+Pj4gK8KgwqDCoMKgwqDC oMKgIGJyZWFrOwo+Pj4gK8KgwqDCoCBjYXNlIDQ4MDAwMDAwOgo+Pj4gK8KgwqDCoMKgwqDCoMKg IHVzZWNfY29uZmlnID0gMHgwMDJmOyAvKiAoNDcrMSkvKDArMSkgKi8KPj4+IMKgwqDCoMKgwqDC oMKgwqDCoCBicmVhazsKPj4+IMKgwqDCoMKgwqAgZGVmYXVsdDoKPj4+IC3CoMKgwqDCoMKgwqDC oCBXQVJOKDEsICJVbmtub3duIGNsb2NrIHJhdGUiKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXQg PSAtRUlOVkFMOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+Pj4gK8KgwqDCoCB9Cj4+ PiArCj4+PiArwqDCoMKgIHdyaXRlbCh1c2VjX2NvbmZpZywgdGltZXJfb2ZfYmFzZSh0bykgKyBU SU1FUlVTX1VTRUNfQ0ZHKTsKPj4+ICsKPj4+ICtvdXQ6Cj4+PiArwqDCoMKgIHJldHVybiByZXQ7 Cj4+PiArfQo+Pj4gKwo+Pj4gKyNpZmRlZiBDT05GSUdfQVJNNjQKPj4+ICtzdGF0aWMgaW50IF9f aW5pdCB0ZWdyYV9pbml0X3RpbWVyKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCj4+PiArewo+Pj4g K8KgwqDCoCBpbnQgY3B1LCByZXQgPSAwOwo+Pj4gK8KgwqDCoCBzdHJ1Y3QgdGltZXJfb2YgKnRv Owo+Pj4gKwo+Pj4gK8KgwqDCoCB0byA9IHRoaXNfY3B1X3B0cigmdGVncmFfdG8pOwo+Pj4gK8Kg wqDCoCByZXQgPSB0ZWdyYV90aW1lcl9jb21tb25faW5pdChucCwgdG8pOwo+Pj4gK8KgwqDCoCBp ZiAocmV0IDwgMCkKPj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIG91dDsKPj4+ICsKPj4+ICvCoMKg wqAgZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIHN0cnVj dCB0aW1lcl9vZiAqY3B1X3RvOwo+Pj4gKwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGNwdV90byA9IHBl cl9jcHVfcHRyKCZ0ZWdyYV90bywgY3B1KTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBjcHVfdG8tPm9m X2Jhc2UuYmFzZSA9IHRpbWVyX3JlZ19iYXNlICsKPj4+IFRJTUVSX0JBU0VfRk9SX0NQVShjcHUp Owo+Pj4gK8KgwqDCoMKgwqDCoMKgIGNwdV90by0+b2ZfY2xrLnJhdGUgPSB0aW1lcl9vZl9yYXRl KHRvKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBjcHVfdG8tPmNsa2V2dC5jcHVtYXNrID0gY3B1bWFz a19vZihjcHUpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGNwdV90by0+Y2xrZXZ0LmlycSA9Cj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpcnFfb2ZfcGFyc2VfYW5kX21hcChucCwgSVJRX0lEWF9G T1JfQ1BVKGNwdSkpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmICghY3B1X3RvLT5jbGtldnQuaXJx KSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcl9lcnIoIiVzOiBjYW4ndCBtYXAgSVJR IGZvciBDUFUlZFxuIiwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg X19mdW5jX18sIGNwdSk7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSAtRUlOVkFM Owo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBvdXQ7Cj4+PiArwqDCoMKgwqDCoMKg wqAgfQo+Pj4gKwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlycV9zZXRfc3RhdHVzX2ZsYWdzKGNwdV90 by0+Y2xrZXZ0LmlycSwgSVJRX05PQVVUT0VOKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSBy ZXF1ZXN0X2lycShjcHVfdG8tPmNsa2V2dC5pcnEsIHRlZ3JhX3RpbWVyX2lzciwKPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElSUUZfVElNRVIgfCBJUlFGX05PQkFMQU5D SU5HLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3B1X3RvLT5jbGtl dnQubmFtZSwgJmNwdV90by0+Y2xrZXZ0KTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAocmV0KSB7 Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcl9lcnIoIiVzOiBjYW5ub3Qgc2V0dXAgaXJx ICVkIGZvciBDUFUlZFxuIiwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19m dW5jX18sIGNwdV90by0+Y2xrZXZ0LmlycSwgY3B1KTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJldCA9IC1FSU5WQUw7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIG91dF9p cnE7Cj4+PiArwqDCoMKgwqDCoMKgwqAgfQo+Pj4gK8KgwqDCoCB9Cj4+PiArCj4+PiArwqDCoMKg IGNwdWhwX3NldHVwX3N0YXRlKENQVUhQX0FQX1RFR1JBX1RJTUVSX1NUQVJUSU5HLAo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJBUF9URUdSQV9USU1FUl9TVEFSVElORyIsIHRlZ3Jh X3RpbWVyX3NldHVwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRlZ3JhX3RpbWVy X3N0b3ApOwo+Pj4gKwo+Pj4gK8KgwqDCoCByZXR1cm4gcmV0Owo+Pj4gK291dF9pcnE6Cj4+PiAr wqDCoMKgIGZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKPj4+ICvCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgdGltZXJfb2YgKmNwdV90bzsKPj4+ICsKPj4+ICvCoMKgwqDCoMKgwqDCoCBjcHVfdG8g PSBwZXJfY3B1X3B0cigmdGVncmFfdG8sIGNwdSk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKGNw dV90by0+Y2xrZXZ0LmlycSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJlZV9pcnEo Y3B1X3RvLT5jbGtldnQuaXJxLCAmY3B1X3RvLT5jbGtldnQpOwo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgaXJxX2Rpc3Bvc2VfbWFwcGluZyhjcHVfdG8tPmNsa2V2dC5pcnEpOwo+Pj4gK8Kg wqDCoMKgwqDCoMKgIH0KPj4+IMKgwqDCoMKgwqAgfQo+Pj4gK291dDoKPj4+ICvCoMKgwqAgdGlt ZXJfb2ZfY2xlYW51cCh0byk7Cj4+PiArwqDCoMKgIHJldHVybiByZXQ7Cj4+PiArfQo+Pj4gKyNl bHNlIC8qIENPTkZJR19BUk0gKi8KPj4+ICtzdGF0aWMgaW50IF9faW5pdCB0ZWdyYV9pbml0X3Rp bWVyKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCj4+PiArewo+Pj4gK8KgwqDCoCBpbnQgcmV0ID0g MDsKPj4+ICsKPj4+ICvCoMKgwqAgcmV0ID0gdGVncmFfdGltZXJfY29tbW9uX2luaXQobnAsICZ0 ZWdyYV90byk7Cj4+PiArwqDCoMKgIGlmIChyZXQgPCAwKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIGdv dG8gb3V0Owo+Pj4gwqAgLcKgwqDCoCBzY2hlZF9jbG9ja19yZWdpc3Rlcih0ZWdyYV9yZWFkX3Nj aGVkX2Nsb2NrLCAzMiwgMTAwMDAwMCk7Cj4+PiArwqDCoMKgIHRlZ3JhX3RvLm9mX2Jhc2UuYmFz ZSA9IHRpbWVyX3JlZ19iYXNlICsgVElNRVJfQkFTRV9GT1JfQ1BVKDApOwo+Pj4gK8KgwqDCoCB0 ZWdyYV90by5vZl9jbGsucmF0ZSA9IDEwMDAwMDA7IC8qIG1pY3Jvc2Vjb25kIHRpbWVyICovCj4+ PiDCoCArwqDCoMKgIHNjaGVkX2Nsb2NrX3JlZ2lzdGVyKHRlZ3JhX3JlYWRfc2NoZWRfY2xvY2ss IDMyLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRpbWVyX29mX3JhdGUo JnRlZ3JhX3RvKSk7Cj4+PiDCoMKgwqDCoMKgIHJldCA9IGNsb2Nrc291cmNlX21taW9faW5pdCh0 aW1lcl9yZWdfYmFzZSArIFRJTUVSVVNfQ05UUl8xVVMsCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgInRpbWVyX3VzIiwgMTAwMDAwMCwgMzAwLCAzMiwKPj4+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9ja3NvdXJjZV9tbWlvX3Jl YWRsX3VwKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAidGlt ZXJfdXMiLCB0aW1lcl9vZl9yYXRlKCZ0ZWdyYV90byksCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgMzAwLCAzMiwgY2xvY2tzb3VyY2VfbW1pb19yZWFkbF91cCk7 Cj4+PiDCoMKgwqDCoMKgIGlmIChyZXQpIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBwcl9lcnIo IkZhaWxlZCB0byByZWdpc3RlciBjbG9ja3NvdXJjZVxuIik7Cj4+PiAtwqDCoMKgwqDCoMKgwqAg cmV0dXJuIHJldDsKPj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIG91dDsKPj4+IMKgwqDCoMKgwqAg fQo+Pj4gwqAgwqDCoMKgwqDCoCB0ZWdyYV9kZWxheV90aW1lci5yZWFkX2N1cnJlbnRfdGltZXIg PQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGVncmFfZGVsYXlfdGltZXJfcmVhZF9j b3VudGVyX2xvbmc7Cj4+PiAtwqDCoMKgIHRlZ3JhX2RlbGF5X3RpbWVyLmZyZXEgPSAxMDAwMDAw Owo+Pj4gK8KgwqDCoCB0ZWdyYV9kZWxheV90aW1lci5mcmVxID0gdGltZXJfb2ZfcmF0ZSgmdGVn cmFfdG8pOwo+Pj4gwqDCoMKgwqDCoCByZWdpc3Rlcl9jdXJyZW50X3RpbWVyX2RlbGF5KCZ0ZWdy YV9kZWxheV90aW1lcik7Cj4+PiDCoCAtwqDCoMKgIHJldCA9IHNldHVwX2lycSh0ZWdyYV90aW1l cl9pcnEuaXJxLCAmdGVncmFfdGltZXJfaXJxKTsKPj4+IC3CoMKgwqAgaWYgKHJldCkgewo+Pj4g LcKgwqDCoMKgwqDCoMKgIHByX2VycigiRmFpbGVkIHRvIHJlZ2lzdGVyIHRpbWVyIElSUTogJWRc biIsIHJldCk7Cj4+PiAtwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+IC3CoMKgwqAgfQo+ Pj4gK8KgwqDCoCBjbG9ja2V2ZW50c19jb25maWdfYW5kX3JlZ2lzdGVyKCZ0ZWdyYV90by5jbGtl dnQsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGltZXJfb2Zf cmF0ZSgmdGVncmFfdG8pLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIDB4MSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDFm ZmZmZmZmKTsKPj4+IMKgIC3CoMKgwqAgdGVncmFfY2xvY2tldmVudC5jcHVtYXNrID0gY3B1X3Bv c3NpYmxlX21hc2s7Cj4+PiAtwqDCoMKgIHRlZ3JhX2Nsb2NrZXZlbnQuaXJxID0gdGVncmFfdGlt ZXJfaXJxLmlycTsKPj4+IC3CoMKgwqAgY2xvY2tldmVudHNfY29uZmlnX2FuZF9yZWdpc3Rlcigm dGVncmFfY2xvY2tldmVudCwgMTAwMDAwMCwKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAweDEsIDB4MWZmZmZmZmYpOwo+Pj4gK8KgwqDCoCByZXR1cm4gcmV0Owo+ Pj4gK291dDoKPj4+ICvCoMKgwqAgdGltZXJfb2ZfY2xlYW51cCgmdGVncmFfdG8pOwo+Pj4gwqAg LcKgwqDCoCByZXR1cm4gMDsKPj4+ICvCoMKgwqAgcmV0dXJuIHJldDsKPj4+IMKgIH0KPj4+IC1U SU1FUl9PRl9ERUNMQVJFKHRlZ3JhMjBfdGltZXIsICJudmlkaWEsdGVncmEyMC10aW1lciIsCj4+ PiB0ZWdyYTIwX2luaXRfdGltZXIpOwo+Pj4gwqAgwqAgc3RhdGljIGludCBfX2luaXQgdGVncmEy MF9pbml0X3J0YyhzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQo+Pj4gwqAgewo+Pj4gQEAgLTI2MSwz ICs0MDYsNiBAQCBzdGF0aWMgaW50IF9faW5pdCB0ZWdyYTIwX2luaXRfcnRjKHN0cnVjdAo+Pj4g ZGV2aWNlX25vZGUgKm5wKQo+Pj4gwqDCoMKgwqDCoCByZXR1cm4gcmVnaXN0ZXJfcGVyc2lzdGVu dF9jbG9jayh0ZWdyYV9yZWFkX3BlcnNpc3RlbnRfY2xvY2s2NCk7Cj4+PiDCoCB9Cj4+PiDCoCBU SU1FUl9PRl9ERUNMQVJFKHRlZ3JhMjBfcnRjLCAibnZpZGlhLHRlZ3JhMjAtcnRjIiwgdGVncmEy MF9pbml0X3J0Yyk7Cj4+PiArI2VuZGlmCj4+PiArVElNRVJfT0ZfREVDTEFSRSh0ZWdyYTIxMF90 aW1lciwgIm52aWRpYSx0ZWdyYTIxMC10aW1lciIsCj4+PiB0ZWdyYV9pbml0X3RpbWVyKTsKPj4+ ICtUSU1FUl9PRl9ERUNMQVJFKHRlZ3JhMjBfdGltZXIsICJudmlkaWEsdGVncmEyMC10aW1lciIs Cj4+PiB0ZWdyYV9pbml0X3RpbWVyKTsKPj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Nw dWhvdHBsdWcuaCBiL2luY2x1ZGUvbGludXgvY3B1aG90cGx1Zy5oCj4+PiBpbmRleCBmZDU4NmQw MzAxZTcuLmU3ODI4MWQwN2I3MCAxMDA2NDQKPj4+IC0tLSBhL2luY2x1ZGUvbGludXgvY3B1aG90 cGx1Zy5oCj4+PiArKysgYi9pbmNsdWRlL2xpbnV4L2NwdWhvdHBsdWcuaAo+Pj4gQEAgLTEyMSw2 ICsxMjEsNyBAQCBlbnVtIGNwdWhwX3N0YXRlIHsKPj4+IMKgwqDCoMKgwqAgQ1BVSFBfQVBfRVhZ Tk9TNF9NQ1RfVElNRVJfU1RBUlRJTkcsCj4+PiDCoMKgwqDCoMKgIENQVUhQX0FQX0FSTV9UV0Rf U1RBUlRJTkcsCj4+PiDCoMKgwqDCoMKgIENQVUhQX0FQX1FDT01fVElNRVJfU1RBUlRJTkcsCj4+ PiArwqDCoMKgIENQVUhQX0FQX1RFR1JBX1RJTUVSX1NUQVJUSU5HLAo+Pj4gwqDCoMKgwqDCoCBD UFVIUF9BUF9BUk1BREFfVElNRVJfU1RBUlRJTkcsCj4+PiDCoMKgwqDCoMKgIENQVUhQX0FQX01B UkNPX1RJTUVSX1NUQVJUSU5HLAo+Pj4gwqDCoMKgwqDCoCBDUFVIUF9BUF9NSVBTX0dJQ19USU1F Ul9TVEFSVElORywKPj4+Cj4+Cj4+CgoKLS0gCiA8aHR0cDovL3d3dy5saW5hcm8ub3JnLz4gTGlu YXJvLm9yZyDilIIgT3BlbiBzb3VyY2Ugc29mdHdhcmUgZm9yIEFSTSBTb0NzCgpGb2xsb3cgTGlu YXJvOiAgPGh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3BhZ2VzL0xpbmFybz4gRmFjZWJvb2sgfAo8 aHR0cDovL3R3aXR0ZXIuY29tLyMhL2xpbmFyb29yZz4gVHdpdHRlciB8CjxodHRwOi8vd3d3Lmxp bmFyby5vcmcvbGluYXJvLWJsb2cvPiBCbG9nCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=