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=-12.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 40C43C433E3 for ; Tue, 18 Aug 2020 15:39:50 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 18F1A207D3 for ; Tue, 18 Aug 2020 15:39:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=poorly.run header.i=@poorly.run header.b="OAK4/3RZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 18F1A207D3 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=poorly.run Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F371689F8E; Tue, 18 Aug 2020 15:39:48 +0000 (UTC) Received: from mail-qt1-x843.google.com (mail-qt1-x843.google.com [IPv6:2607:f8b0:4864:20::843]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7183489CF5 for ; Tue, 18 Aug 2020 15:39:47 +0000 (UTC) Received: by mail-qt1-x843.google.com with SMTP id f19so10940316qtp.2 for ; Tue, 18 Aug 2020 08:39:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poorly.run; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PW7HIpyWQg5K2h8LaCsx6dGixv2bzhbpg6dSNdBDdPo=; b=OAK4/3RZ3NWFBqNx0nzH+t0BgCoxzOmcLgI7lc8AnOzXloLhrddW0p3U89svCDianU us3pN2zB5AwiUHEmSBMcEpTZ+zgWLaKZJUFNibuUHLWlnUZ6d0v+KWvFZ1eYttjZwNA2 47kEGJWDFcm0bdBwfvHllhl9n4zxaLRYPoqb1rSB+i3IQZ8suIJR1GRQiJwTL2Oqlj9r 6zOlnVBblNZb+8O11ifVWX5RTRwEzgkvw+pWBlHhYcREifrM2wOXX71jEYWO/WDn9ZrI 1mcf1WaAdFFp9D/2kDER7kZVdzwHPI8UD0b5k7N59MmudTYbN+m6eH/hcB81RLEAcnOt G43Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PW7HIpyWQg5K2h8LaCsx6dGixv2bzhbpg6dSNdBDdPo=; b=YZeCxEJxlfN/9O1fnDHLdcrnuHf5g7cOy33MoKqvuvNBYrf2GZN/Kum5Wg/oYvYNZo eNqJEXFdRzvgVMuh7Ra6oJhzHFdL23A6aeJBf8oRsNT7wHG3USp2y2x4InpsUl0ouK1x aWt8IbMm1g47BNckCl6lAvQsz+AU1DtyjJiWpHkPklx+7qnsU2umvtcUjWtljoEpGoPV gdRsDBwKUVAEWv0KLUtuxHkjMgcLHD85nRI6ojqR2UbNc+DdaVCzwXLJ0G8PP6W38c8o rTjN/225MhO3pW68zmVnaOa4Yi9JM5kMOFNt9NzKmr1pKc3+pT5xqkD/GgoVY564T8th +Vlg== X-Gm-Message-State: AOAM532gdQh/fFKPLStw3t8/Tse8PuStiI24k+A7iDiB/ir8Fs82Kp5F iD9tFwf6AWRkAleAbGq8ecRPqQ== X-Google-Smtp-Source: ABdhPJw9SFg6Pj/Vj83HxI4NeGDU9s6o9Df91EZMLgjYklGC0jrzMvpGR8LNz05q8gngVDJCwh7joQ== X-Received: by 2002:ac8:776b:: with SMTP id h11mr18266679qtu.59.1597765186564; Tue, 18 Aug 2020 08:39:46 -0700 (PDT) Received: from localhost (mobile-166-170-57-144.mycingular.net. [166.170.57.144]) by smtp.gmail.com with ESMTPSA id t12sm20268101qkt.56.2020.08.18.08.39.45 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 18 Aug 2020 08:39:46 -0700 (PDT) From: Sean Paul To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, juston.li@intel.com, jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com, anshuman.gupta@intel.com Date: Tue, 18 Aug 2020 11:38:52 -0400 Message-Id: <20200818153910.27894-5-sean@poorly.run> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200818153910.27894-1-sean@poorly.run> References: <20200818153910.27894-1-sean@poorly.run> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v8 04/17] drm/i915: Intercept Aksv writes in the aux hooks X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , daniel.vetter@ffwll.ch, Sean Paul Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpJbnN0ZWFkIG9mIGhhbmQg cm9sbGluZyB0aGUgdHJhbnNmZXIgb3Vyc2VsdmVzIGluIHRoZSBoZGNwIGhvb2ssIGluc3BlY3QK YXV4IG1lc3NhZ2VzIGFuZCBhZGQgdGhlIGFrc3YgZmxhZyBpbiB0aGUgYXV4IHRyYW5zZmVyIGhv b2suCgpJSVJDLCB0aGlzIHdhcyB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gYW5kIGZvbGtz IHdhbnRlZCB0aGlzIGhhY2sgdG8KYmUgaXNvbGF0ZWQgdG8gdGhlIGhkY3AgY29kZSwgd2hpY2gg bWFrZXMgc2Vuc2UuCgpIb3dldmVyIGluIHRlc3RpbmcgYW4gTEcgbW9uaXRvciBvbiBteSBkZXNr LCBJIG5vdGljZWQgaXQgd2FzIHBhc3NpbmcKYmFjayBhIERFRkVSIHJlcGx5LiBUaGlzIHdhc24n dCBoYW5kbGVkIGluIG91ciBoYW5kLXJvbGxlZCBjb2RlIGFuZCBIRENQCmF1dGggd2FzIGZhaWxp bmcgYXMgYSByZXN1bHQuIEluc3RlYWQgb2YgY29weS9wYXN0aW5nIGFsbCBvZiB0aGUgcmV0cnkK bG9naWMgYW5kIGRlbGF5cyBmcm9tIGRybSBkcCBoZWxwZXJzLCBsZXQncyBqdXN0IHVzZSB0aGUg aGVscGVycyBhbmQgaGlkZQp0aGUgYWtzdiBzZWxlY3QgYXMgYmVzdCBhcyB3ZSBjYW4uCgpSZXZp ZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K UmV2aWV3ZWQtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Ckxpbms6IGh0dHBzOi8v cGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8yMDE5MTIwMzE3MzYzOC45NDkx OS0zLXNlYW5AcG9vcmx5LnJ1biAjdjEKTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0 b3Aub3JnL3BhdGNoL21zZ2lkLzIwMTkxMjEyMTkwMjMwLjE4ODUwNS01LXNlYW5AcG9vcmx5LnJ1 biAjdjIKTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoL21zZ2lk LzIwMjAwMTE3MTkzMTAzLjE1NjgyMS01LXNlYW5AcG9vcmx5LnJ1biAjdjMKTGluazogaHR0cHM6 Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoL21zZ2lkLzIwMjAwMjE4MjIwMjQyLjEw NzI2NS01LXNlYW5AcG9vcmx5LnJ1biAjdjQKTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRl c2t0b3Aub3JnL3BhdGNoL21zZ2lkLzIwMjAwMzA1MjAxMjM2LjE1MjMwNy01LXNlYW5AcG9vcmx5 LnJ1biAjdjUKTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoL21z Z2lkLzIwMjAwNDI5MTk1NTAyLjM5OTE5LTUtc2VhbkBwb29ybHkucnVuICN2NgpMaW5rOiBodHRw czovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMjAyMDA2MjMxNTU5MDcu MjI5NjEtNS1zZWFuQHBvb3JseS5ydW4gI3Y3CgpDaGFuZ2VzIGluIHYyOgotUmVtb3ZlICdnZW5l cmF0ZScgaW4gaW50ZWxfZHBfYXV4X2dlbmVyYXRlX3hmZXJfZmxhZ3MsIG1ha2UgYXJnIGNvbnN0 IChWaWxsZSkKLUJ1bmRsZSBBa3N2IGlmIHN0YXRlbWVudCB0b2dldGhlciAoVmlsbGUpCi1SZW5h bWUgJ3R4YnVmJyB0byAnYWtzdicgKFZpbGxlKQpDaGFuZ2VzIGluIHYzOgotTm9uZQpDaGFuZ2Vz IGluIHY0OgotTm9uZQpDaGFuZ2VzIGluIHY1OgotTm9uZQpDaGFuZ2VzIGluIHY2OgotTm9uZQpD aGFuZ2VzIGluIHY3OgotTm9uZQpDaGFuZ2VzIGluIHY4OgotTm9uZQotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyB8IDYyICsrKysrKysrKysrKy0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKaW5kZXggNzljMjdmOTFmNDJjLi43 ZDE3NzRiZmJlNDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKQEAg LTE1NjMsNiArMTU2MywyMCBAQCBpbnRlbF9kcF9hdXhfaGVhZGVyKHU4IHR4YnVmW0hFQURFUl9T SVpFXSwKIAl0eGJ1ZlszXSA9IG1zZy0+c2l6ZSAtIDE7CiB9CiAKK3N0YXRpYyB1MzIgaW50ZWxf ZHBfYXV4X3hmZXJfZmxhZ3MoY29uc3Qgc3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCit7CisJ LyoKKwkgKiBJZiB3ZSdyZSB0cnlpbmcgdG8gc2VuZCB0aGUgSERDUCBBa3N2LCB3ZSBuZWVkIHRv IHNldCBhIHRoZSBBa3N2CisJICogc2VsZWN0IGJpdCB0byBpbmZvcm0gdGhlIGhhcmR3YXJlIHRv IHNlbmQgdGhlIEFrc3YgYWZ0ZXIgb3VyIGhlYWRlcgorCSAqIHNpbmNlIHdlIGNhbid0IGFjY2Vz cyB0aGF0IGRhdGEgZnJvbSBzb2Z0d2FyZS4KKwkgKi8KKwlpZiAoKG1zZy0+cmVxdWVzdCAmIH5E UF9BVVhfSTJDX01PVCkgPT0gRFBfQVVYX05BVElWRV9XUklURSAmJgorCSAgICBtc2ctPmFkZHJl c3MgPT0gRFBfQVVYX0hEQ1BfQUtTVikKKwkJcmV0dXJuIERQX0FVWF9DSF9DVExfQVVYX0FLU1Zf U0VMRUNUOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBzc2l6ZV90CiBpbnRlbF9kcF9hdXhf dHJhbnNmZXIoc3RydWN0IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9hdXhfbXNnICpt c2cpCiB7CkBAIC0xNTcwLDYgKzE1ODQsNyBAQCBpbnRlbF9kcF9hdXhfdHJhbnNmZXIoc3RydWN0 IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBkcF90b19pOTE1KGludGVsX2RwKTsKIAl1OCB0eGJ1Zlsy MF0sIHJ4YnVmWzIwXTsKIAlzaXplX3QgdHhzaXplLCByeHNpemU7CisJdTMyIGZsYWdzID0gaW50 ZWxfZHBfYXV4X3hmZXJfZmxhZ3MobXNnKTsKIAlpbnQgcmV0OwogCiAJaW50ZWxfZHBfYXV4X2hl YWRlcih0eGJ1ZiwgbXNnKTsKQEAgLTE1OTAsNyArMTYwNSw3IEBAIGludGVsX2RwX2F1eF90cmFu c2ZlcihzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBzdHJ1Y3QgZHJtX2RwX2F1eF9tc2cgKm1zZykK IAkJCW1lbWNweSh0eGJ1ZiArIEhFQURFUl9TSVpFLCBtc2ctPmJ1ZmZlciwgbXNnLT5zaXplKTsK IAogCQlyZXQgPSBpbnRlbF9kcF9hdXhfeGZlcihpbnRlbF9kcCwgdHhidWYsIHR4c2l6ZSwKLQkJ CQkJcnhidWYsIHJ4c2l6ZSwgMCk7CisJCQkJCXJ4YnVmLCByeHNpemUsIGZsYWdzKTsKIAkJaWYg KHJldCA+IDApIHsKIAkJCW1zZy0+cmVwbHkgPSByeGJ1ZlswXSA+PiA0OwogCkBAIC0xNjEzLDcg KzE2MjgsNyBAQCBpbnRlbF9kcF9hdXhfdHJhbnNmZXIoc3RydWN0IGRybV9kcF9hdXggKmF1eCwg c3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCiAJCQlyZXR1cm4gLUUyQklHOwogCiAJCXJldCA9 IGludGVsX2RwX2F1eF94ZmVyKGludGVsX2RwLCB0eGJ1ZiwgdHhzaXplLAotCQkJCQlyeGJ1Ziwg cnhzaXplLCAwKTsKKwkJCQkJcnhidWYsIHJ4c2l6ZSwgZmxhZ3MpOwogCQlpZiAocmV0ID4gMCkg ewogCQkJbXNnLT5yZXBseSA9IHJ4YnVmWzBdID4+IDQ7CiAJCQkvKgpAQCAtNjQwMywxNSArNjQx OCw4IEBAIGludCBpbnRlbF9kcF9oZGNwX3dyaXRlX2FuX2Frc3Yoc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZGlnX3BvcnQsCiAJCQkJdTggKmFuKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Ci0Jc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCh0b19pbnRlbF9lbmNvZGVyKCZkaWdf cG9ydC0+YmFzZS5iYXNlKSk7Ci0Jc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZHBfYXV4X21zZyBt c2cgPSB7Ci0JCS5yZXF1ZXN0ID0gRFBfQVVYX05BVElWRV9XUklURSwKLQkJLmFkZHJlc3MgPSBE UF9BVVhfSERDUF9BS1NWLAotCQkuc2l6ZSA9IERSTV9IRENQX0tTVl9MRU4sCi0JfTsKLQl1OCB0 eGJ1ZltIRUFERVJfU0laRSArIERSTV9IRENQX0tTVl9MRU5dID0ge30sIHJ4YnVmWzJdLCByZXBs eSA9IDA7CisJdTggYWtzdltEUk1fSERDUF9LU1ZfTEVOXSA9IHt9OwogCXNzaXplX3QgZHBjZF9y ZXQ7Ci0JaW50IHJldDsKIAogCS8qIE91dHB1dCBBbiBmaXJzdCwgdGhhdCdzIGVhc3kgKi8KIAlk cGNkX3JldCA9IGRybV9kcF9kcGNkX3dyaXRlKCZkaWdfcG9ydC0+ZHAuYXV4LCBEUF9BVVhfSERD UF9BTiwKQEAgLTY0MjQsMzEgKzY0MzIsMTkgQEAgaW50IGludGVsX2RwX2hkY3Bfd3JpdGVfYW5f YWtzdihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKIAl9CiAKIAkvKgotCSAq IFNpbmNlIEFrc3YgaXMgT2gtU28tU2VjcmV0LCB3ZSBjYW4ndCBhY2Nlc3MgaXQgaW4gc29mdHdh cmUuIFNvIGluCi0JICogb3JkZXIgdG8gZ2V0IGl0IG9uIHRoZSB3aXJlLCB3ZSBuZWVkIHRvIGNy ZWF0ZSB0aGUgQVVYIGhlYWRlciBhcyBpZgotCSAqIHdlIHdlcmUgd3JpdGluZyB0aGUgZGF0YSwg YW5kIHRoZW4gdGlja2xlIHRoZSBoYXJkd2FyZSB0byBvdXRwdXQgdGhlCi0JICogZGF0YSBvbmNl IHRoZSBoZWFkZXIgaXMgc2VudCBvdXQuCisJICogU2luY2UgQWtzdiBpcyBPaC1Tby1TZWNyZXQs IHdlIGNhbid0IGFjY2VzcyBpdCBpbiBzb2Z0d2FyZS4gU28gd2UKKwkgKiBzZW5kIGFuIGVtcHR5 IGJ1ZmZlciBvZiB0aGUgY29ycmVjdCBsZW5ndGggdGhyb3VnaCB0aGUgRFAgaGVscGVycy4gT24K KwkgKiB0aGUgb3RoZXIgc2lkZSwgaW4gdGhlIHRyYW5zZmVyIGhvb2ssIHdlJ2xsIGdlbmVyYXRl IGEgZmxhZyBiYXNlZCBvbgorCSAqIHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIHdoaWNoIHdpbGwg dGlja2xlIHRoZSBoYXJkd2FyZSB0byBvdXRwdXQgdGhlCisJICogQWtzdiBvbiBvdXIgYmVoYWxm IGFmdGVyIHRoZSBoZWFkZXIgaXMgc2VudC4KIAkgKi8KLQlpbnRlbF9kcF9hdXhfaGVhZGVyKHR4 YnVmLCAmbXNnKTsKLQotCXJldCA9IGludGVsX2RwX2F1eF94ZmVyKGludGVsX2RwLCB0eGJ1Ziwg SEVBREVSX1NJWkUgKyBtc2cuc2l6ZSwKLQkJCQlyeGJ1Ziwgc2l6ZW9mKHJ4YnVmKSwKLQkJCQlE UF9BVVhfQ0hfQ1RMX0FVWF9BS1NWX1NFTEVDVCk7Ci0JaWYgKHJldCA8IDApIHsKLQkJZHJtX2Ri Z19rbXMoJmk5MTUtPmRybSwKLQkJCSAgICAiV3JpdGUgQWtzdiBvdmVyIERQL0FVWCBmYWlsZWQg KCVkKVxuIiwgcmV0KTsKLQkJcmV0dXJuIHJldDsKLQl9IGVsc2UgaWYgKHJldCA9PSAwKSB7Ci0J CWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJBa3N2IHdyaXRlIG92ZXIgRFAvQVVYIHdhcyBlbXB0 eVxuIik7Ci0JCXJldHVybiAtRUlPOwotCX0KLQotCXJlcGx5ID0gKHJ4YnVmWzBdID4+IDQpICYg RFBfQVVYX05BVElWRV9SRVBMWV9NQVNLOwotCWlmIChyZXBseSAhPSBEUF9BVVhfTkFUSVZFX1JF UExZX0FDSykgeworCWRwY2RfcmV0ID0gZHJtX2RwX2RwY2Rfd3JpdGUoJmRpZ19wb3J0LT5kcC5h dXgsIERQX0FVWF9IRENQX0FLU1YsCisJCQkJICAgICBha3N2LCBEUk1fSERDUF9LU1ZfTEVOKTsK KwlpZiAoZHBjZF9yZXQgIT0gRFJNX0hEQ1BfS1NWX0xFTikgewogCQlkcm1fZGJnX2ttcygmaTkx NS0+ZHJtLAotCQkJICAgICJBa3N2IHdyaXRlOiBubyBEUF9BVVhfTkFUSVZFX1JFUExZX0FDSyAl eFxuIiwKLQkJCSAgICByZXBseSk7Ci0JCXJldHVybiAtRUlPOworCQkJICAgICJGYWlsZWQgdG8g d3JpdGUgQWtzdiBvdmVyIERQL0FVWCAoJXpkKVxuIiwKKwkJCSAgICBkcGNkX3JldCk7CisJCXJl dHVybiBkcGNkX3JldCA+PSAwID8gLUVJTyA6IGRwY2RfcmV0OwogCX0KIAlyZXR1cm4gMDsKIH0K LS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK