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=-8.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,MISSING_HEADERS,SIGNED_OFF_BY,SPF_HELO_NONE, 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 B3813C433DF for ; Wed, 14 Oct 2020 19:03:59 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 2AD252222C for ; Wed, 14 Oct 2020 19:03:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="YGq89q/R"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=google.com header.i=@google.com header.b="d3RgKfgH" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2AD252222C Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Subject:Message-ID:Date:From:In-Reply-To:References: MIME-Version:Reply-To:To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xkoBE4xCbnFBWIA8umClGinwalUgu098IsAzaIVa5PI=; b=YGq89q/R1lOEfleLalZc0LosG 2L71Kj7JJ6Q7RIjBGVsrHkdqY5XZV5KH8Sb8vXPuxNuksHsJvU+MoCRjpJRk25cajQkKAYk6XWlGQ ZRuGCPClsPoW6T5aMZCyHFiwaENAetPVelaUZUQ7499EpagBw858Ep9ThOhyWeFgn9ujG7JIU5Osj GbZcrtsnsOwRcgwRCSjk5EZH0GfUzMxs24cVJPvM3bS9vLoQ5BfbZXMa5p+8sKASCNqvy4J3QGPyO 6yj+n7raWetNdJl9+6p5+fuuzwUu2TwGzWAA0ADe3ZnikDmdcxFx8N8F+4ZrfculzRW1TXkKKa0Wt f5AVhX8Qw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kSm2c-0007wH-Sx; Wed, 14 Oct 2020 19:02:26 +0000 Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kSm2Y-0007uC-G2 for linux-arm-kernel@lists.infradead.org; Wed, 14 Oct 2020 19:02:24 +0000 Received: by mail-pj1-x1044.google.com with SMTP id gv6so281577pjb.4 for ; Wed, 14 Oct 2020 12:02:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:cc :content-transfer-encoding; bh=eRaDyuUzmm6OglpQFP+uJ2XeoI4JTK5N5qQT0LOuHfA=; b=d3RgKfgHvH8ohLKUOBOkrOdNuKGYs4xa7YH9MXZ/cHj+qrX3HRfK2MVIpQpGElLsP/ 4kO/egVTdHX6x/v25m54038CzUZb9gHJWz5QtNEwAT9yPzfxG7xMvMWdwJicGuA6qL39 GjQg/poJBHP3TC5JUVoqqLGX/SDuzN/lzjJ4KbpMSfa80LIn6ua38ZWyeNYJYLz6KwMf 1mplBJ+KTmaI+HCjac8Qk1ZAAvS+u0LsU44tp0aFivKiR9y71lWBzs7Sq676KLt63ziC zuyJJqLDBfbO9Xoiq4GYIM7pfwEokgLC3IewXgwH0tAzgVx8MwuR7Xb6rdKYK1wwIxQC 6UIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:cc:content-transfer-encoding; bh=eRaDyuUzmm6OglpQFP+uJ2XeoI4JTK5N5qQT0LOuHfA=; b=B8Bvg9uN3JGfJv28M27Q5wiqSLIHCmO8imJrXI0wu7xqJ5URexD5CHLuxtDblzl72k 7CfhkITrzV/u7n2PXw9wqZpv7CM7UCmYs8xs3Xxu8wsTne1UZTGibNXfLX4xkXZEmUxc jsZr2AKnacORgkGPQjlE1IUSEdQMBQJjn03p0HXdlGvjzx9tdA3gKhFm/jog1w16lRSr UN1kMMtldr/lBa35WZh1qUkue+BwrfHNlY5iEp99WVtfudlSZWY0vXMBhtvFm/htqcRx Fw1KQq/SGDvRSRUBfIUzZ5qePFBJ42wrB5W4mrlL31mf833uTln4FX8UA/my44XBfWzL hrUw== X-Gm-Message-State: AOAM532JufIDkMUkBDNkLHS1AwWSYKYUzhSDDpzo8ZbtIbRwjHYEVkae Mu1kZ6CP/pYU/Z2UedYNucC98ciCFbYUR5uvKi703A== X-Received: by 2002:a17:90a:d317:: with SMTP id p23mt531639pju.52.1602702137144; Wed, 14 Oct 2020 12:02:17 -0700 (PDT) MIME-Version: 1.0 References: <20201014005320.2233162-1-kaleshsingh@google.com> <20201014005320.2233162-2-kaleshsingh@google.com> In-Reply-To: <20201014005320.2233162-2-kaleshsingh@google.com> From: Kalesh Singh Date: Wed, 14 Oct 2020 15:02:04 -0400 Message-ID: Subject: Re: [PATCH v4 1/5] kselftests: vm: Add mremap tests X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201014_150222_559234_E51E1E96 X-CRM114-Status: GOOD ( 42.44 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Joel Fernandes , Gavin Shan , Brian Geffon , Peter Zijlstra , Catalin Marinas , Ram Pai , Dave Hansen , Will Deacon , Lokesh Gidra , "open list:KERNEL SELFTEST FRAMEWORK" , "H. Peter Anvin" , Christian Brauner , Shuah Khan , Mina Almasry , Jia He , Arnd Bergmann , "Aneesh Kumar K.V" , Masahiro Yamada , the arch/x86 maintainers , Krzysztof Kozlowski , Steven Price , Ingo Molnar , Sami Tolvanen , "Cc: Android Kernel" , Masami Hiramatsu , Ralph Campbell , Kees Cook , Minchan Kim , Anshuman Khandual , John Hubbard , Frederic Weisbecker , Borislav Petkov , Josh Poimboeuf , Thomas Gleixner , Zi Yan , Suren Baghdasaryan , "moderated list:ARM64 PORT \(AARCH64 ARCHITECTURE\)" , SeongJae Park , "open list:MEMORY MANAGEMENT" , LKML , Mike Rapoport , Andrew Morton , "Kirill A . Shutemov" , Sandipan Das Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCBPY3QgMTMsIDIwMjAgYXQgODo1NCBQTSBLYWxlc2ggU2luZ2ggPGthbGVzaHNpbmdo QGdvb2dsZS5jb20+IHdyb3RlOgo+CgpIaSBrc2VsZnRlc3QgbWFpbnRhaW5lcnMsCgpDb3VsZCBz b21lb25lIEFDSyB0aGlzIG1yZW1hcCB0ZXN0IGlmIHRoZXJlIGlzbid0IGFueSBvdGhlciBjb25j ZXJuPwoKVGhhbmtzLApLYWxlc2gKCj4gVGVzdCBtcmVtYXAgb24gcmVnaW9ucyBvZiB2YXJpb3Vz IHNpemVzIGFuZCBhbGlnbm1lbnRzIGFuZCB2YWxpZGF0ZQo+IGRhdGEgYWZ0ZXIgcmVtYXBwaW5n LiBBbHNvIHByb3ZpZGUgdG90YWwgdGltZSBmb3IgcmVtYXBwaW5nCj4gdGhlIHJlZ2lvbiB3aGlj aCBpcyB1c2VmdWwgZm9yIHBlcmZvcm1hbmNlIGNvbXBhcmlzb24gb2YgdGhlIG1yZW1hcAo+IG9w dGltaXphdGlvbnMgdGhhdCBtb3ZlIHBhZ2VzIGF0IHRoZSBQTUQvUFVEIGxldmVscyBpZiBIQVZF X01PVkVfUE1ECj4gYW5kL29yIEhBVkVfTU9WRV9QVUQgYXJlIGVuYWJsZWQuCj4KPiBTaWduZWQt b2ZmLWJ5OiBLYWxlc2ggU2luZ2ggPGthbGVzaHNpbmdoQGdvb2dsZS5jb20+Cj4gUmV2aWV3ZWQt Ynk6IEpvaG4gSHViYmFyZCA8amh1YmJhcmRAbnZpZGlhLmNvbT4KPiBDYzogU2h1YWggS2hhbiA8 c2h1YWhAa2VybmVsLm9yZz4KPiBDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0 aW9uLm9yZz4KPiBDYzogS2lyaWxsIEEuIFNodXRlbW92IDxraXJpbGwuc2h1dGVtb3ZAbGludXgu aW50ZWwuY29tPgo+IC0tLQo+IENoYW5nZXMgaW4gdjI6Cj4gICAtIFJlZHVjZSB0ZXN0IHRpbWUg Ynkgb25seSB2YWxpZGF0aW5nIGEgY2VydGFpbiB0aHJlc2hvbGQgb2YgdGhlCj4gICAgIHJlbWFw cGVkIHJlZ2lvbiAoNE1CIGJ5IGRlZmF1bHQpLiBUaGUgLXQgZmxhZyBjYW4gYmUgdXNlZCB0bwo+ ICAgICBzZXQgYSBjdXN0b20gdGhyZXNob2xkIGluIE1CIG9yIG5vIHRocmVzaG9sZCBieSBwYXNz aW5nIDAuICgtdDApLgo+ICAgICBtcmVtYXAgdGltZSBpcyBub3QgcHJvdmlkZWQgaW4gc3Rkb3V0 IGZvciBvbmx5IHBhcnRpYWxseSB2YWxpZGF0ZWQKPiAgICAgcmVnaW9ucy4gVGhpcyB0aW1lIGlz IG9ubHkgYXBwbGljYWJsZSBmb3IgY29tcGFyaXNvbiBpZiB0aGUgZW50aXJlCj4gICAgIG1hcHBl ZCByZWdpb24gd2FzIGZhdWx0ZWQgaW4uCj4gICAtIFVzZSBhIHJhbmRvbSBwYXR0ZXJuIGZvciB2 YWxpZGF0aW5nIHRoZSByZW1hcHBlZCByZWdpb24uIFRoZSAtcAo+ICAgICBmbGFnIGNhbiBiZSB1 c2VkIHRvIHJ1biB0aGUgdGVzdHMgd2l0aCBhIHNwZWNpZmllZCBzZWVkIGZvciB0aGUKPiAgICAg cmFuZG9tIHBhdHRlcm4uCj4gICAtIFByaW50IHRlc3QgY29uZmlncyAodGhyZXNob2xkX21iIGFu ZCBwYXR0ZXJuX3NlZWQpIHRvIHN0ZG91dC4KPiAgIC0gUmVtb3ZlIE1BS0VfU0lNUExFX1RFU1Qg bWFjcm8uCj4gICAtIERlZmluZSBuYW1lZCBmbGFncyBpbnN0ZWFkIG9mIDAgLyAxLgo+ICAgLSBB ZGQgY29tbWVudHMgZm9yIGRlc3RpbmF0aW9uIGFkZHJlc3MnIGFsaWduX21hc2sgYW5kIG9mZnNl dC4KPgo+IENoYW5nZXMgaW4gdjM6Cj4gICAtIFJlbW92ZSB1bnVzZWQgUEFUVEVSTl9TSVpFIGRl ZmluaXRpb24uCj4gICAtIE1ha2UgbGluZXMgODAgY29scyBvciBsZXNzIHdoZXJlIHRoZXkgZG9u 4oCZdCBuZWVkIHRvIGJlIGxvbmdlci4KPiAgIC0gQWRkIEpvaG4gSHViYmFyZOKAmXMgUmV2aWV3 ZWQtYnkgdGFnLgo+Cj4gIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZtLy5naXRpZ25vcmUgICAg fCAgIDEgKwo+ICB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9NYWtlZmlsZSAgICAgIHwgICAx ICsKPiAgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdm0vbXJlbWFwX3Rlc3QuYyB8IDM0NCArKysr KysrKysrKysrKysrKysrKysrKwo+ICB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9ydW5fdm10 ZXN0cyAgIHwgIDExICsKPiAgNCBmaWxlcyBjaGFuZ2VkLCAzNTcgaW5zZXJ0aW9ucygrKQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdm0vbXJlbWFwX3Rlc3Qu Ywo+Cj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZtLy5naXRpZ25vcmUg Yi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS8uZ2l0aWdub3JlCj4gaW5kZXggODQ5ZTgyMjYz OTVhLi5iM2ExODNjMzZjYjUgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv dm0vLmdpdGlnbm9yZQo+ICsrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZtLy5naXRpZ25v cmUKPiBAQCAtOCw2ICs4LDcgQEAgdGh1Z2UtZ2VuCj4gIGNvbXBhY3Rpb25fdGVzdAo+ICBtbG9j azItdGVzdHMKPiAgbXJlbWFwX2RvbnR1bm1hcAo+ICttcmVtYXBfdGVzdAo+ICBvbi1mYXVsdC1s aW1pdAo+ICB0cmFuc2h1Z2Utc3RyZXNzCj4gIHByb3RlY3Rpb25fa2V5cwo+IGRpZmYgLS1naXQg YS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9NYWtlZmlsZSBiL3Rvb2xzL3Rlc3Rpbmcvc2Vs ZnRlc3RzL3ZtL01ha2VmaWxlCj4gaW5kZXggYTkwMjY3MDZkNTk3Li5mMDQ0ODA4YjQ1ZmEgMTAw NjQ0Cj4gLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdm0vTWFrZWZpbGUKPiArKysgYi90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9NYWtlZmlsZQo+IEBAIC0xNiw2ICsxNiw3IEBAIFRF U1RfR0VOX0ZJTEVTICs9IG1hcF9wb3B1bGF0ZQo+ICBURVNUX0dFTl9GSUxFUyArPSBtbG9jay1y YW5kb20tdGVzdAo+ICBURVNUX0dFTl9GSUxFUyArPSBtbG9jazItdGVzdHMKPiAgVEVTVF9HRU5f RklMRVMgKz0gbXJlbWFwX2RvbnR1bm1hcAo+ICtURVNUX0dFTl9GSUxFUyArPSBtcmVtYXBfdGVz dAo+ICBURVNUX0dFTl9GSUxFUyArPSBvbi1mYXVsdC1saW1pdAo+ICBURVNUX0dFTl9GSUxFUyAr PSB0aHVnZS1nZW4KPiAgVEVTVF9HRU5fRklMRVMgKz0gdHJhbnNodWdlLXN0cmVzcwo+IGRpZmYg LS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9tcmVtYXBfdGVzdC5jIGIvdG9vbHMv dGVzdGluZy9zZWxmdGVzdHMvdm0vbXJlbWFwX3Rlc3QuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi45YzM5MWQwMTY5MjIKPiAtLS0gL2Rldi9udWxsCj4gKysr IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdm0vbXJlbWFwX3Rlc3QuYwo+IEBAIC0wLDAgKzEs MzQ0IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8qCj4gKyAq IENvcHlyaWdodCAyMDIwIEdvb2dsZSBMTEMKPiArICovCj4gKyNkZWZpbmUgX0dOVV9TT1VSQ0UK PiArCj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ICsjaW5jbHVkZSA8c3RkbGliLmg+Cj4gKyNpbmNs dWRlIDxzdHJpbmcuaD4KPiArI2luY2x1ZGUgPHN5cy9tbWFuLmg+Cj4gKyNpbmNsdWRlIDx0aW1l Lmg+Cj4gKwo+ICsjaW5jbHVkZSAiLi4va3NlbGZ0ZXN0LmgiCj4gKwo+ICsjZGVmaW5lIEVYUEVD VF9TVUNDRVNTIDAKPiArI2RlZmluZSBFWFBFQ1RfRkFJTFVSRSAxCj4gKyNkZWZpbmUgTk9OX09W RVJMQVBQSU5HIDAKPiArI2RlZmluZSBPVkVSTEFQUElORyAxCj4gKyNkZWZpbmUgTlNfUEVSX1NF QyAxMDAwMDAwMDAwVUxMCj4gKyNkZWZpbmUgVkFMSURBVElPTl9ERUZBVUxUX1RIUkVTSE9MRCA0 IC8qIDRNQiAqLwo+ICsjZGVmaW5lIFZBTElEQVRJT05fTk9fVEhSRVNIT0xEIDAgICAgICAvKiBW ZXJpZnkgdGhlIGVudGlyZSByZWdpb24gKi8KPiArCj4gKyNkZWZpbmUgQVJSQVlfU0laRSh4KSAo c2l6ZW9mKHgpIC8gc2l6ZW9mKCh4KVswXSkpCj4gKyNkZWZpbmUgTUlOKFgsIFkpICgoWCkgPCAo WSkgPyAoWCkgOiAoWSkpCj4gKwo+ICtzdHJ1Y3QgY29uZmlnIHsKPiArICAgICAgIHVuc2lnbmVk IGxvbmcgbG9uZyBzcmNfYWxpZ25tZW50Owo+ICsgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRl c3RfYWxpZ25tZW50Owo+ICsgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlZ2lvbl9zaXplOwo+ ICsgICAgICAgaW50IG92ZXJsYXBwaW5nOwo+ICt9Owo+ICsKPiArc3RydWN0IHRlc3Qgewo+ICsg ICAgICAgY29uc3QgY2hhciAqbmFtZTsKPiArICAgICAgIHN0cnVjdCBjb25maWcgY29uZmlnOwo+ ICsgICAgICAgaW50IGV4cGVjdF9mYWlsdXJlOwo+ICt9Owo+ICsKPiArZW51bSB7Cj4gKyAgICAg ICBfMUtCID0gMVVMTCA8PCAxMCwgICAgICAvKiAxS0IgLT4gbm90IHBhZ2UgYWxpZ25lZCAqLwo+ ICsgICAgICAgXzRLQiA9IDRVTEwgPDwgMTAsCj4gKyAgICAgICBfOEtCID0gOFVMTCA8PCAxMCwK PiArICAgICAgIF8xTUIgPSAxVUxMIDw8IDIwLAo+ICsgICAgICAgXzJNQiA9IDJVTEwgPDwgMjAs Cj4gKyAgICAgICBfNE1CID0gNFVMTCA8PCAyMCwKPiArICAgICAgIF8xR0IgPSAxVUxMIDw8IDMw LAo+ICsgICAgICAgXzJHQiA9IDJVTEwgPDwgMzAsCj4gKyAgICAgICBQVEUgPSBfNEtCLAo+ICsg ICAgICAgUE1EID0gXzJNQiwKPiArICAgICAgIFBVRCA9IF8xR0IsCj4gK307Cj4gKwo+ICsjZGVm aW5lIE1BS0VfVEVTVChzb3VyY2VfYWxpZ24sIGRlc3RpbmF0aW9uX2FsaWduLCBzaXplLCAgICAg ICBcCj4gKyAgICAgICAgICAgICAgICAgb3ZlcmxhcHMsIHNob3VsZF9mYWlsLCB0ZXN0X25hbWUp ICAgICAgICAgICAgIFwKPiAreyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgLm5hbWUgPSB0ZXN0X25hbWUsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAuY29uZmlnID0g eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAg ICAgICAgICAgLnNyY19hbGlnbm1lbnQgPSBzb3VyY2VfYWxpZ24sICAgICAgICAgICAgICAgICAg XAo+ICsgICAgICAgICAgICAgICAuZGVzdF9hbGlnbm1lbnQgPSBkZXN0aW5hdGlvbl9hbGlnbiwg ICAgICAgICAgICBcCj4gKyAgICAgICAgICAgICAgIC5yZWdpb25fc2l6ZSA9IHNpemUsICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICAgICAgICAgLm92ZXJsYXBwaW5nID0g b3ZlcmxhcHMsICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgfSwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAu ZXhwZWN0X2ZhaWx1cmUgPSBzaG91bGRfZmFpbCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK PiArfQo+ICsKPiArLyoKPiArICogUmV0dXJucyB0aGUgc3RhcnQgYWRkcmVzcyBvZiB0aGUgbWFw cGluZyBvbiBzdWNjZXNzLCBlbHNlIHJldHVybnMKPiArICogTlVMTCBvbiBmYWlsdXJlLgo+ICsg Ki8KPiArc3RhdGljIHZvaWQgKmdldF9zb3VyY2VfbWFwcGluZyhzdHJ1Y3QgY29uZmlnIGMpCj4g K3sKPiArICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBhZGRyID0gMFVMTDsKPiArICAgICAgIHZv aWQgKnNyY19hZGRyID0gTlVMTDsKPiArcmV0cnk6Cj4gKyAgICAgICBhZGRyICs9IGMuc3JjX2Fs aWdubWVudDsKPiArICAgICAgIHNyY19hZGRyID0gbW1hcCgodm9pZCAqKSBhZGRyLCBjLnJlZ2lv bl9zaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAo+ICsgICAgICAgICAgICAgICAgICAgICAg IE1BUF9GSVhFRCB8IE1BUF9BTk9OWU1PVVMgfCBNQVBfU0hBUkVELCAtMSwgMCk7Cj4gKyAgICAg ICBpZiAoc3JjX2FkZHIgPT0gTUFQX0ZBSUxFRCkgewo+ICsgICAgICAgICAgICAgICBpZiAoZXJy bm8gPT0gRVBFUk0pCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXRyeTsKPiArICAg ICAgICAgICAgICAgZ290byBlcnJvcjsKPiArICAgICAgIH0KPiArICAgICAgIC8qCj4gKyAgICAg ICAgKiBDaGVjayB0aGF0IHRoZSBhZGRyZXNzIGlzIGFsaWduZWQgdG8gdGhlIHNwZWNpZmllZCBh bGlnbm1lbnQuCj4gKyAgICAgICAgKiBBZGRyZXNzZXMgd2hpY2ggaGF2ZSBhbGlnbm1lbnRzIHRo YXQgYXJlIG11bHRpcGxlcyBvZiB0aGF0Cj4gKyAgICAgICAgKiBzcGVjaWZpZWQgYXJlIG5vdCBj b25zaWRlcmVkIHZhbGlkLiBGb3IgaW5zdGFuY2UsIDFHQiBhZGRyZXNzIGlzCj4gKyAgICAgICAg KiAyTUItYWxpZ25lZCwgaG93ZXZlciBpdCB3aWxsIG5vdCBiZSBjb25zaWRlcmVkIHZhbGlkIGZv ciBhCj4gKyAgICAgICAgKiByZXF1ZXN0ZWQgYWxpZ25tZW50IG9mIDJNQi4gVGhpcyBpcyBkb25l IHRvIHJlZHVjZSBjb2luY2lkZW50YWwKPiArICAgICAgICAqIGFsaWdubWVudCBpbiB0aGUgdGVz dHMuCj4gKyAgICAgICAgKi8KPiArICAgICAgIGlmICgoKHVuc2lnbmVkIGxvbmcgbG9uZykgc3Jj X2FkZHIgJiAoYy5zcmNfYWxpZ25tZW50IC0gMSkpIHx8Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgISgodW5zaWduZWQgbG9uZyBsb25nKSBzcmNfYWRkciAmIGMuc3JjX2FsaWdubWVudCkpCj4g KyAgICAgICAgICAgICAgIGdvdG8gcmV0cnk7Cj4gKwo+ICsgICAgICAgaWYgKCFzcmNfYWRkcikK PiArICAgICAgICAgICAgICAgZ290byBlcnJvcjsKPiArCj4gKyAgICAgICByZXR1cm4gc3JjX2Fk ZHI7Cj4gK2Vycm9yOgo+ICsgICAgICAga3NmdF9wcmludF9tc2coIkZhaWxlZCB0byBtYXAgc291 cmNlIHJlZ2lvbjogJXNcbiIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJy bm8pKTsKPiArICAgICAgIHJldHVybiBOVUxMOwo+ICt9Cj4gKwo+ICsvKiBSZXR1cm5zIHRoZSB0 aW1lIHRha2VuIGZvciB0aGUgcmVtYXAgb24gc3VjY2VzcyBlbHNlIHJldHVybnMgLTEuICovCj4g K3N0YXRpYyBsb25nIGxvbmcgcmVtYXBfcmVnaW9uKHN0cnVjdCBjb25maWcgYywgdW5zaWduZWQg aW50IHRocmVzaG9sZF9tYiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIHBh dHRlcm5fc2VlZCkKPiArewo+ICsgICAgICAgdm9pZCAqYWRkciwgKnNyY19hZGRyLCAqZGVzdF9h ZGRyOwo+ICsgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGk7Cj4gKyAgICAgICBzdHJ1Y3QgdGlt ZXNwZWMgdF9zdGFydCA9IHswLCAwfSwgdF9lbmQgPSB7MCwgMH07Cj4gKyAgICAgICBsb25nIGxv bmcgIHN0YXJ0X25zLCBlbmRfbnMsIGFsaWduX21hc2ssIHJldCwgb2Zmc2V0Owo+ICsgICAgICAg dW5zaWduZWQgbG9uZyBsb25nIHRocmVzaG9sZDsKPiArCj4gKyAgICAgICBpZiAodGhyZXNob2xk X21iID09IFZBTElEQVRJT05fTk9fVEhSRVNIT0xEKQo+ICsgICAgICAgICAgICAgICB0aHJlc2hv bGQgPSBjLnJlZ2lvbl9zaXplOwo+ICsgICAgICAgZWxzZQo+ICsgICAgICAgICAgICAgICB0aHJl c2hvbGQgPSBNSU4odGhyZXNob2xkX21iICogXzFNQiwgYy5yZWdpb25fc2l6ZSk7Cj4gKwo+ICsg ICAgICAgc3JjX2FkZHIgPSBnZXRfc291cmNlX21hcHBpbmcoYyk7Cj4gKyAgICAgICBpZiAoIXNy Y19hZGRyKSB7Cj4gKyAgICAgICAgICAgICAgIHJldCA9IC0xOwo+ICsgICAgICAgICAgICAgICBn b3RvIG91dDsKPiArICAgICAgIH0KPiArCj4gKyAgICAgICAvKiBTZXQgYnl0ZSBwYXR0ZXJuICov Cj4gKyAgICAgICBzcmFuZChwYXR0ZXJuX3NlZWQpOwo+ICsgICAgICAgZm9yIChpID0gMDsgaSA8 IHRocmVzaG9sZDsgaSsrKQo+ICsgICAgICAgICAgICAgICBtZW1zZXQoKGNoYXIgKikgc3JjX2Fk ZHIgKyBpLCAoY2hhcikgcmFuZCgpLCAxKTsKPiArCj4gKyAgICAgICAvKiBNYXNrIHRvIHplcm8g b3V0IGxvd2VyIGJpdHMgb2YgYWRkcmVzcyBmb3IgYWxpZ25tZW50ICovCj4gKyAgICAgICBhbGln bl9tYXNrID0gfihjLmRlc3RfYWxpZ25tZW50IC0gMSk7Cj4gKyAgICAgICAvKiBPZmZzZXQgb2Yg ZGVzdGluYXRpb24gYWRkcmVzcyBmcm9tIHRoZSBlbmQgb2YgdGhlIHNvdXJjZSByZWdpb24gKi8K PiArICAgICAgIG9mZnNldCA9IChjLm92ZXJsYXBwaW5nKSA/IC1jLmRlc3RfYWxpZ25tZW50IDog Yy5kZXN0X2FsaWdubWVudDsKPiArICAgICAgIGFkZHIgPSAodm9pZCAqKSAoKCh1bnNpZ25lZCBs b25nIGxvbmcpIHNyY19hZGRyICsgYy5yZWdpb25fc2l6ZQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgKyBvZmZzZXQpICYgYWxpZ25fbWFzayk7Cj4gKwo+ICsgICAgICAgLyogU2VlIGNvbW1l bnQgaW4gZ2V0X3NvdXJjZV9tYXBwaW5nKCkgKi8KPiArICAgICAgIGlmICghKCh1bnNpZ25lZCBs b25nIGxvbmcpIGFkZHIgJiBjLmRlc3RfYWxpZ25tZW50KSkKPiArICAgICAgICAgICAgICAgYWRk ciA9ICh2b2lkICopICgodW5zaWduZWQgbG9uZyBsb25nKSBhZGRyIHwgYy5kZXN0X2FsaWdubWVu dCk7Cj4gKwo+ICsgICAgICAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0X3N0YXJ0 KTsKPiArICAgICAgIGRlc3RfYWRkciA9IG1yZW1hcChzcmNfYWRkciwgYy5yZWdpb25fc2l6ZSwg Yy5yZWdpb25fc2l6ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICBNUkVNQVBfTUFZTU9WRXxN UkVNQVBfRklYRUQsIChjaGFyICopIGFkZHIpOwo+ICsgICAgICAgY2xvY2tfZ2V0dGltZShDTE9D S19NT05PVE9OSUMsICZ0X2VuZCk7Cj4gKwo+ICsgICAgICAgaWYgKGRlc3RfYWRkciA9PSBNQVBf RkFJTEVEKSB7Cj4gKyAgICAgICAgICAgICAgIGtzZnRfcHJpbnRfbXNnKCJtcmVtYXAgZmFpbGVk OiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKPiArICAgICAgICAgICAgICAgcmV0ID0gLTE7Cj4g KyAgICAgICAgICAgICAgIGdvdG8gY2xlYW5fdXBfc3JjOwo+ICsgICAgICAgfQo+ICsKPiArICAg ICAgIC8qIFZlcmlmeSBieXRlIHBhdHRlcm4gYWZ0ZXIgcmVtYXBwaW5nICovCj4gKyAgICAgICBz cmFuZChwYXR0ZXJuX3NlZWQpOwo+ICsgICAgICAgZm9yIChpID0gMDsgaSA8IHRocmVzaG9sZDsg aSsrKSB7Cj4gKyAgICAgICAgICAgICAgIGNoYXIgYyA9IChjaGFyKSByYW5kKCk7Cj4gKwo+ICsg ICAgICAgICAgICAgICBpZiAoKChjaGFyICopIGRlc3RfYWRkcilbaV0gIT0gYykgewo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGtzZnRfcHJpbnRfbXNnKCJEYXRhIGFmdGVyIHJlbWFwIGRvZXNu J3QgbWF0Y2ggYXQgb2Zmc2V0ICVkXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGtzZnRfcHJpbnRfbXNnKCJF eHBlY3RlZDogJSN4XHQgR290OiAlI3hcbiIsIGMgJiAweGZmLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKGNoYXIgKikgZGVzdF9hZGRyKVtpXSAmIDB4ZmYpOwo+ ICsgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOwo+ICsgICAgICAgICAgICAgICAgICAg ICAgIGdvdG8gY2xlYW5fdXBfZGVzdDsKPiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ ICsKPiArICAgICAgIHN0YXJ0X25zID0gdF9zdGFydC50dl9zZWMgKiBOU19QRVJfU0VDICsgdF9z dGFydC50dl9uc2VjOwo+ICsgICAgICAgZW5kX25zID0gdF9lbmQudHZfc2VjICogTlNfUEVSX1NF QyArIHRfZW5kLnR2X25zZWM7Cj4gKyAgICAgICByZXQgPSBlbmRfbnMgLSBzdGFydF9uczsKPiAr Cj4gKy8qCj4gKyAqIFNpbmNlIHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGlzIHNwZWNpZmllZCB1 c2luZyBNUkVNQVBfRklYRUQsIHN1YnNlcXVlbnQKPiArICogbXJlbWFwIHdpbGwgdW5tYXAgYW55 IHByZXZpb3VzIG1hcHBpbmcgYXQgdGhlIGFkZHJlc3MgcmFuZ2Ugc3BlY2lmaWVkIGJ5Cj4gKyAq IGRlc3RfYWRkciBhbmQgcmVnaW9uX3NpemUuIFRoaXMgc2lnbmlmaWNhbnRseSBhZmZlY3RzIHRo ZSByZW1hcCB0aW1lIG9mCj4gKyAqIHN1YnNlcXVlbnQgdGVzdHMuIFNvIHdlIGNsZWFuIHVwIG1h cHBpbmdzIGFmdGVyIGVhY2ggdGVzdC4KPiArICovCj4gK2NsZWFuX3VwX2Rlc3Q6Cj4gKyAgICAg ICBtdW5tYXAoZGVzdF9hZGRyLCBjLnJlZ2lvbl9zaXplKTsKPiArY2xlYW5fdXBfc3JjOgo+ICsg ICAgICAgbXVubWFwKHNyY19hZGRyLCBjLnJlZ2lvbl9zaXplKTsKPiArb3V0Ogo+ICsgICAgICAg cmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgcnVuX21yZW1hcF90ZXN0X2Nhc2Uo c3RydWN0IHRlc3QgdGVzdF9jYXNlLCBpbnQgKmZhaWx1cmVzLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB0aHJlc2hvbGRfbWIsCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhdHRlcm5fc2VlZCkKPiArewo+ICsg ICAgICAgbG9uZyBsb25nIHJlbWFwX3RpbWUgPSByZW1hcF9yZWdpb24odGVzdF9jYXNlLmNvbmZp ZywgdGhyZXNob2xkX21iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGF0dGVybl9zZWVkKTsKPiArCj4gKyAgICAgICBpZiAocmVtYXBfdGltZSA8IDApIHsK PiArICAgICAgICAgICAgICAgaWYgKHRlc3RfY2FzZS5leHBlY3RfZmFpbHVyZSkKPiArICAgICAg ICAgICAgICAgICAgICAgICBrc2Z0X3Rlc3RfcmVzdWx0X3Bhc3MoIiVzXG5cdEV4cGVjdGVkIG1y ZW1hcCBmYWlsdXJlXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0X2Nhc2UubmFtZSk7Cj4gKyAgICAgICAgICAgICAgIGVsc2Ugewo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGtzZnRfdGVzdF9yZXN1bHRfZmFpbCgiJXNcbiIsIHRlc3RfY2Fz ZS5uYW1lKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAqZmFpbHVyZXMgKz0gMTsKPiArICAg ICAgICAgICAgICAgfQo+ICsgICAgICAgfSBlbHNlIHsKPiArICAgICAgICAgICAgICAgLyoKPiAr ICAgICAgICAgICAgICAgICogQ29tcGFyaW5nIG1yZW1hcCB0aW1lIGlzIG9ubHkgYXBwbGljYWJs ZSBpZiBlbnRpcmUgcmVnaW9uCj4gKyAgICAgICAgICAgICAgICAqIHdhcyBmYXVsdGVkIGluLgo+ ICsgICAgICAgICAgICAgICAgKi8KPiArICAgICAgICAgICAgICAgaWYgKHRocmVzaG9sZF9tYiA9 PSBWQUxJREFUSU9OX05PX1RIUkVTSE9MRCB8fAo+ICsgICAgICAgICAgICAgICAgICAgdGVzdF9j YXNlLmNvbmZpZy5yZWdpb25fc2l6ZSA8PSB0aHJlc2hvbGRfbWIgKiBfMU1CKQo+ICsgICAgICAg ICAgICAgICAgICAgICAgIGtzZnRfdGVzdF9yZXN1bHRfcGFzcygiJXNcblx0bXJlbWFwIHRpbWU6 ICUxMmxsZG5zXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0X2Nhc2UubmFtZSwgcmVtYXBfdGltZSk7Cj4gKyAgICAgICAgICAgICAgIGVsc2UK PiArICAgICAgICAgICAgICAgICAgICAgICBrc2Z0X3Rlc3RfcmVzdWx0X3Bhc3MoIiVzXG4iLCB0 ZXN0X2Nhc2UubmFtZSk7Cj4gKyAgICAgICB9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHVzYWdl KGNvbnN0IGNoYXIgKmNtZCkKPiArewo+ICsgICAgICAgZnByaW50ZihzdGRlcnIsCj4gKyAgICAg ICAgICAgICAgICJVc2FnZTogJXMgW1stdCA8dGhyZXNob2xkX21iPl0gWy1wIDxwYXR0ZXJuX3Nl ZWQ+XV1cbiIKPiArICAgICAgICAgICAgICAgIi10XHQgb25seSB2YWxpZGF0ZSB0aHJlc2hvbGRf bWIgb2YgdGhlIHJlbWFwcGVkIHJlZ2lvblxuIgo+ICsgICAgICAgICAgICAgICAiICBcdCBpZiAw IGlzIHN1cHBsaWVkIG5vIHRocmVzaG9sZCBpcyB1c2VkOyBhbGwgdGVzdHNcbiIKPiArICAgICAg ICAgICAgICAgIiAgXHQgYXJlIHJ1biBhbmQgcmVtYXBwZWQgcmVnaW9ucyB2YWxpZGF0ZWQgZnVs bHkuXG4iCj4gKyAgICAgICAgICAgICAgICIgIFx0IFRoZSBkZWZhdWx0IHRocmVzaG9sZCB1c2Vk IGlzIDRNQi5cbiIKPiArICAgICAgICAgICAgICAgIi1wXHQgcHJvdmlkZSBhIHNlZWQgdG8gZ2Vu ZXJhdGUgdGhlIHJhbmRvbSBwYXR0ZXJuIGZvclxuIgo+ICsgICAgICAgICAgICAgICAiICBcdCB2 YWxpZGF0aW5nIHRoZSByZW1hcHBlZCByZWdpb24uXG4iLCBjbWQpOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW50IHBhcnNlX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCB1bnNpZ25lZCBpbnQgKnRo cmVzaG9sZF9tYiwKPiArICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpwYXR0ZXJu X3NlZWQpCj4gK3sKPiArICAgICAgIGNvbnN0IGNoYXIgKm9wdHN0ciA9ICJ0OnA6IjsKPiArICAg ICAgIGludCBvcHQ7Cj4gKwo+ICsgICAgICAgd2hpbGUgKChvcHQgPSBnZXRvcHQoYXJnYywgYXJn diwgb3B0c3RyKSkgIT0gLTEpIHsKPiArICAgICAgICAgICAgICAgc3dpdGNoIChvcHQpIHsKPiAr ICAgICAgICAgICAgICAgY2FzZSAndCc6Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKnRocmVz aG9sZF9tYiA9IGF0b2kob3B0YXJnKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK PiArICAgICAgICAgICAgICAgY2FzZSAncCc6Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKnBh dHRlcm5fc2VlZCA9IGF0b2kob3B0YXJnKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBicmVh azsKPiArICAgICAgICAgICAgICAgZGVmYXVsdDoKPiArICAgICAgICAgICAgICAgICAgICAgICB1 c2FnZShhcmd2WzBdKTsKPiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Cj4gKyAg ICAgICAgICAgICAgIH0KPiArICAgICAgIH0KPiArCj4gKyAgICAgICBpZiAob3B0aW5kIDwgYXJn Yykgewo+ICsgICAgICAgICAgICAgICB1c2FnZShhcmd2WzBdKTsKPiArICAgICAgICAgICAgICAg cmV0dXJuIC0xOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ ICtpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCj4gK3sKPiArICAgICAgIGludCBmYWls dXJlcyA9IDA7Cj4gKyAgICAgICBpbnQgaSwgcnVuX3BlcmZfdGVzdHM7Cj4gKyAgICAgICB1bnNp Z25lZCBpbnQgdGhyZXNob2xkX21iID0gVkFMSURBVElPTl9ERUZBVUxUX1RIUkVTSE9MRDsKPiAr ICAgICAgIHVuc2lnbmVkIGludCBwYXR0ZXJuX3NlZWQ7Cj4gKyAgICAgICB0aW1lX3QgdDsKPiAr Cj4gKyAgICAgICBwYXR0ZXJuX3NlZWQgPSAodW5zaWduZWQgaW50KSB0aW1lKCZ0KTsKPiArCj4g KyAgICAgICBpZiAocGFyc2VfYXJncyhhcmdjLCBhcmd2LCAmdGhyZXNob2xkX21iLCAmcGF0dGVy bl9zZWVkKSA8IDApCj4gKyAgICAgICAgICAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKPiArCj4g KyAgICAgICBrc2Z0X3ByaW50X21zZygiVGVzdCBjb25maWdzOlxuXHR0aHJlc2hvbGRfbWI9JXVc blx0cGF0dGVybl9zZWVkPSV1XG5cbiIsCj4gKyAgICAgICAgICAgICAgICAgICAgICB0aHJlc2hv bGRfbWIsIHBhdHRlcm5fc2VlZCk7Cj4gKwo+ICsgICAgICAgc3RydWN0IHRlc3QgdGVzdF9jYXNl c1tdID0gewo+ICsgICAgICAgICAgICAgICAvKiBFeHBlY3RlZCBtcmVtYXAgZmFpbHVyZXMgKi8K PiArICAgICAgICAgICAgICAgTUFLRV9URVNUKF80S0IsIF80S0IsIF80S0IsIE9WRVJMQVBQSU5H LCBFWFBFQ1RfRkFJTFVSRSwKPiArICAgICAgICAgICAgICAgICAibXJlbWFwIC0gU291cmNlIGFu ZCBEZXN0aW5hdGlvbiBSZWdpb25zIE92ZXJsYXBwaW5nIiksCj4gKyAgICAgICAgICAgICAgIE1B S0VfVEVTVChfNEtCLCBfMUtCLCBfNEtCLCBOT05fT1ZFUkxBUFBJTkcsIEVYUEVDVF9GQUlMVVJF LAo+ICsgICAgICAgICAgICAgICAgICJtcmVtYXAgLSBEZXN0aW5hdGlvbiBBZGRyZXNzIE1pc2Fs aWduZWQgKDFLQi1hbGlnbmVkKSIpLAo+ICsgICAgICAgICAgICAgICBNQUtFX1RFU1QoXzFLQiwg XzRLQiwgXzRLQiwgTk9OX09WRVJMQVBQSU5HLCBFWFBFQ1RfRkFJTFVSRSwKPiArICAgICAgICAg ICAgICAgICAibXJlbWFwIC0gU291cmNlIEFkZHJlc3MgTWlzYWxpZ25lZCAoMUtCLWFsaWduZWQp IiksCj4gKwo+ICsgICAgICAgICAgICAgICAvKiBTcmMgYWRkciBQVEUgYWxpZ25lZCAqLwo+ICsg ICAgICAgICAgICAgICBNQUtFX1RFU1QoUFRFLCBQVEUsIF84S0IsIE5PTl9PVkVSTEFQUElORywg RVhQRUNUX1NVQ0NFU1MsCj4gKyAgICAgICAgICAgICAgICAgIjhLQiBtcmVtYXAgLSBTb3VyY2Ug UFRFLWFsaWduZWQsIERlc3RpbmF0aW9uIFBURS1hbGlnbmVkIiksCj4gKwo+ICsgICAgICAgICAg ICAgICAvKiBTcmMgYWRkciAxTUIgYWxpZ25lZCAqLwo+ICsgICAgICAgICAgICAgICBNQUtFX1RF U1QoXzFNQiwgUFRFLCBfMk1CLCBOT05fT1ZFUkxBUFBJTkcsIEVYUEVDVF9TVUNDRVNTLAo+ICsg ICAgICAgICAgICAgICAgICIyTUIgbXJlbWFwIC0gU291cmNlIDFNQi1hbGlnbmVkLCBEZXN0aW5h dGlvbiBQVEUtYWxpZ25lZCIpLAo+ICsgICAgICAgICAgICAgICBNQUtFX1RFU1QoXzFNQiwgXzFN QiwgXzJNQiwgTk9OX09WRVJMQVBQSU5HLCBFWFBFQ1RfU1VDQ0VTUywKPiArICAgICAgICAgICAg ICAgICAiMk1CIG1yZW1hcCAtIFNvdXJjZSAxTUItYWxpZ25lZCwgRGVzdGluYXRpb24gMU1CLWFs aWduZWQiKSwKPiArCj4gKyAgICAgICAgICAgICAgIC8qIFNyYyBhZGRyIFBNRCBhbGlnbmVkICov Cj4gKyAgICAgICAgICAgICAgIE1BS0VfVEVTVChQTUQsIFBURSwgXzRNQiwgTk9OX09WRVJMQVBQ SU5HLCBFWFBFQ1RfU1VDQ0VTUywKPiArICAgICAgICAgICAgICAgICAiNE1CIG1yZW1hcCAtIFNv dXJjZSBQTUQtYWxpZ25lZCwgRGVzdGluYXRpb24gUFRFLWFsaWduZWQiKSwKPiArICAgICAgICAg ICAgICAgTUFLRV9URVNUKFBNRCwgXzFNQiwgXzRNQiwgTk9OX09WRVJMQVBQSU5HLCBFWFBFQ1Rf U1VDQ0VTUywKPiArICAgICAgICAgICAgICAgICAiNE1CIG1yZW1hcCAtIFNvdXJjZSBQTUQtYWxp Z25lZCwgRGVzdGluYXRpb24gMU1CLWFsaWduZWQiKSwKPiArICAgICAgICAgICAgICAgTUFLRV9U RVNUKFBNRCwgUE1ELCBfNE1CLCBOT05fT1ZFUkxBUFBJTkcsIEVYUEVDVF9TVUNDRVNTLAo+ICsg ICAgICAgICAgICAgICAgICI0TUIgbXJlbWFwIC0gU291cmNlIFBNRC1hbGlnbmVkLCBEZXN0aW5h dGlvbiBQTUQtYWxpZ25lZCIpLAo+ICsKPiArICAgICAgICAgICAgICAgLyogU3JjIGFkZHIgUFVE IGFsaWduZWQgKi8KPiArICAgICAgICAgICAgICAgTUFLRV9URVNUKFBVRCwgUFRFLCBfMkdCLCBO T05fT1ZFUkxBUFBJTkcsIEVYUEVDVF9TVUNDRVNTLAo+ICsgICAgICAgICAgICAgICAgICIyR0Ig bXJlbWFwIC0gU291cmNlIFBVRC1hbGlnbmVkLCBEZXN0aW5hdGlvbiBQVEUtYWxpZ25lZCIpLAo+ ICsgICAgICAgICAgICAgICBNQUtFX1RFU1QoUFVELCBfMU1CLCBfMkdCLCBOT05fT1ZFUkxBUFBJ TkcsIEVYUEVDVF9TVUNDRVNTLAo+ICsgICAgICAgICAgICAgICAgICIyR0IgbXJlbWFwIC0gU291 cmNlIFBVRC1hbGlnbmVkLCBEZXN0aW5hdGlvbiAxTUItYWxpZ25lZCIpLAo+ICsgICAgICAgICAg ICAgICBNQUtFX1RFU1QoUFVELCBQTUQsIF8yR0IsIE5PTl9PVkVSTEFQUElORywgRVhQRUNUX1NV Q0NFU1MsCj4gKyAgICAgICAgICAgICAgICAgIjJHQiBtcmVtYXAgLSBTb3VyY2UgUFVELWFsaWdu ZWQsIERlc3RpbmF0aW9uIFBNRC1hbGlnbmVkIiksCj4gKyAgICAgICAgICAgICAgIE1BS0VfVEVT VChQVUQsIFBVRCwgXzJHQiwgTk9OX09WRVJMQVBQSU5HLCBFWFBFQ1RfU1VDQ0VTUywKPiArICAg ICAgICAgICAgICAgICAiMkdCIG1yZW1hcCAtIFNvdXJjZSBQVUQtYWxpZ25lZCwgRGVzdGluYXRp b24gUFVELWFsaWduZWQiKSwKPiArICAgICAgIH07Cj4gKwo+ICsgICAgICAgc3RydWN0IHRlc3Qg cGVyZl90ZXN0X2Nhc2VzW10gPSB7Cj4gKyAgICAgICAgICAgICAgIC8qCj4gKyAgICAgICAgICAg ICAgICAqIG1yZW1hcCAxR0IgcmVnaW9uIC0gUGFnZSB0YWJsZSBsZXZlbCBhbGlnbmVkIHRpbWUK PiArICAgICAgICAgICAgICAgICogY29tcGFyaXNvbi4KPiArICAgICAgICAgICAgICAgICovCj4g KyAgICAgICAgICAgICAgIE1BS0VfVEVTVChQVEUsIFBURSwgXzFHQiwgTk9OX09WRVJMQVBQSU5H LCBFWFBFQ1RfU1VDQ0VTUywKPiArICAgICAgICAgICAgICAgICAiMUdCIG1yZW1hcCAtIFNvdXJj ZSBQVEUtYWxpZ25lZCwgRGVzdGluYXRpb24gUFRFLWFsaWduZWQiKSwKPiArICAgICAgICAgICAg ICAgTUFLRV9URVNUKFBNRCwgUE1ELCBfMUdCLCBOT05fT1ZFUkxBUFBJTkcsIEVYUEVDVF9TVUND RVNTLAo+ICsgICAgICAgICAgICAgICAgICIxR0IgbXJlbWFwIC0gU291cmNlIFBNRC1hbGlnbmVk LCBEZXN0aW5hdGlvbiBQTUQtYWxpZ25lZCIpLAo+ICsgICAgICAgICAgICAgICBNQUtFX1RFU1Qo UFVELCBQVUQsIF8xR0IsIE5PTl9PVkVSTEFQUElORywgRVhQRUNUX1NVQ0NFU1MsCj4gKyAgICAg ICAgICAgICAgICAgIjFHQiBtcmVtYXAgLSBTb3VyY2UgUFVELWFsaWduZWQsIERlc3RpbmF0aW9u IFBVRC1hbGlnbmVkIiksCj4gKyAgICAgICB9Owo+ICsKPiArICAgICAgIHJ1bl9wZXJmX3Rlc3Rz ID0gICh0aHJlc2hvbGRfbWIgPT0gVkFMSURBVElPTl9OT19USFJFU0hPTEQpIHx8Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAodGhyZXNob2xkX21iICogXzFNQiA+PSBfMUdCKTsK PiArCj4gKyAgICAgICBrc2Z0X3NldF9wbGFuKEFSUkFZX1NJWkUodGVzdF9jYXNlcykgKyAocnVu X3BlcmZfdGVzdHMgPwo+ICsgICAgICAgICAgICAgICAgICAgICBBUlJBWV9TSVpFKHBlcmZfdGVz dF9jYXNlcykgOiAwKSk7Cj4gKwo+ICsgICAgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUo dGVzdF9jYXNlcyk7IGkrKykKPiArICAgICAgICAgICAgICAgcnVuX21yZW1hcF90ZXN0X2Nhc2Uo dGVzdF9jYXNlc1tpXSwgJmZhaWx1cmVzLCB0aHJlc2hvbGRfbWIsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fc2VlZCk7Cj4gKwo+ICsgICAgICAgaWYgKHJ1 bl9wZXJmX3Rlc3RzKSB7Cj4gKyAgICAgICAgICAgICAgIGtzZnRfcHJpbnRfbXNnKCJcbiVzXG4i LAo+ICsgICAgICAgICAgICAgICAgIm1yZW1hcCBIQVZFX01PVkVfUE1EL1BVRCBvcHRpbWl6YXRp b24gdGltZSBjb21wYXJpc29uIGZvciAxR0IgcmVnaW9uOiIpOwo+ICsgICAgICAgICAgICAgICBm b3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwZXJmX3Rlc3RfY2FzZXMpOyBpKyspCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgcnVuX21yZW1hcF90ZXN0X2Nhc2UocGVyZl90ZXN0X2Nhc2VzW2ld LCAmZmFpbHVyZXMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGhyZXNob2xkX21iLCBwYXR0ZXJuX3NlZWQpOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAg IGlmIChmYWlsdXJlcyA+IDApCj4gKyAgICAgICAgICAgICAgIGtzZnRfZXhpdF9mYWlsKCk7Cj4g KyAgICAgICBlbHNlCj4gKyAgICAgICAgICAgICAgIGtzZnRfZXhpdF9wYXNzKCk7Cj4gK30KPiBk aWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdm0vcnVuX3ZtdGVzdHMgYi90b29s cy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9ydW5fdm10ZXN0cwo+IGluZGV4IGEzZjRmMzBmMGEyZS4u ZDU3OGFkODMxODEzIDEwMDc1NQo+IC0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZtL3J1 bl92bXRlc3RzCj4gKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdm0vcnVuX3ZtdGVzdHMK PiBAQCAtMjQxLDYgKzI0MSwxNyBAQCBlbHNlCj4gICAgICAgICBlY2hvICJbUEFTU10iCj4gIGZp Cj4KPiArZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLSIKPiArZWNobyAicnVubmluZyBtcmVtYXBf dGVzdCIKPiArZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLSIKPiArLi9tcmVtYXBfdGVzdAo+ICtp ZiBbICQ/IC1uZSAwIF07IHRoZW4KPiArICAgICAgIGVjaG8gIltGQUlMXSIKPiArICAgICAgIGV4 aXRjb2RlPTEKPiArZWxzZQo+ICsgICAgICAgZWNobyAiW1BBU1NdIgo+ICtmaQo+ICsKPiAgZWNo byAiLS0tLS0tLS0tLS0tLS0tLS0iCj4gIGVjaG8gInJ1bm5pbmcgdGh1Z2UtZ2VuIgo+ICBlY2hv ICItLS0tLS0tLS0tLS0tLS0tLSIKPiAtLQo+IDIuMjguMC4xMDExLmdhNjQ3YTg5OTBmLWdvb2cK PgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=