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=-0.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 B6034C83003 for ; Wed, 29 Apr 2020 06:45:23 +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 88F732076B for ; Wed, 29 Apr 2020 06:45:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=google.com header.i=@google.com header.b="H0lLZWRh" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 88F732076B Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 263BA6EC99; Wed, 29 Apr 2020 06:45:02 +0000 (UTC) Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by gabe.freedesktop.org (Postfix) with ESMTPS id 866916E86A for ; Tue, 28 Apr 2020 16:47:15 +0000 (UTC) Received: by mail-wm1-x344.google.com with SMTP id 188so3581175wmc.2 for ; Tue, 28 Apr 2020 09:47:15 -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:to :cc:content-transfer-encoding; bh=/+XzAUwiJMBvhcLFKs4LgXoOS6BYJ2q+ujrEvPLLDMI=; b=H0lLZWRh9dP0CxxJXs9UZXJHXKmuGhhzuB1ZYZbIPnNX9u4ygHH/S2YmbVoXPnOQnB kDWQoG23bakexJzPtxU4TCkeHbxz63T8EuW4O+LnqUAeesgqdllgvlZPvEVPbHk4gl66 jibdTT1C8emnvaj2jAXrL3WqLNcTYzjYWo1Hdy7+BMGHXmwU+nF3uKjUO5qfIagpGkNy MaI3fJaZZ4UlUU7pAXbtr9i5Z5liIC/AQdOsIp5hegnW9BTsvNDvOhNWXqRlRnYs3pTB M3zGUOYg4VJ2OUND8uHsq4Ii9LuQWdyenRNWpoYF2KVJ+/wlOp8fxlqyxzSf308Y3eS/ BScw== 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:to:cc:content-transfer-encoding; bh=/+XzAUwiJMBvhcLFKs4LgXoOS6BYJ2q+ujrEvPLLDMI=; b=KW/r/LuMvOgBoOqqbEE4fEM18iT48VtECUq5/cGFAcEvFXd5j7ig7otm9W+tVKTfZP 8FX0+bgOopU5GDGBIjpuzwWt3krHUzderMRi+0YJDZYJT8w9MthElCUHJhFtpULSqTMO o0P4NSpeA1n16jnwbpiHsQ9yScr2PWbGn8vKKDziHeP9ltvp2PRNb1M4PEpRR+KmW7AZ 5zBIkWg1NAoJhdf8HOWaxlioaIAhoCxjK9yKV3F+PNTv75YrXydcPODJ0HjkPPzigtKj ZMOjYL5gEl2ECM0lW2RigObtwDzWiyPIvTuhc1MMOGIvSRcgO/d/J/4QktnEMPaO7Dg9 4E/Q== X-Gm-Message-State: AGi0PubPRXjM2hQatPvrGD/HtJXRq6es0Zf8Gt7Cq/LE5B6M9UicKZ1Y E/LbCOhdNV6GeIzW3ienw6DnxWhen0cve8mX5gBpzg== X-Google-Smtp-Source: APiQypI7zpRlqS82OKdkZBlclNX6n568FpwsDNk0BO1KgPSWwPICJ5fu5gvwoLCb824Zm9NmAJlHdIi7UCMXCYC6EV0= X-Received: by 2002:a05:600c:21d6:: with SMTP id x22mr5802742wmj.95.1588092433716; Tue, 28 Apr 2020 09:47:13 -0700 (PDT) MIME-Version: 1.0 References: <20200427200513.36328-1-pcc@google.com> <20200428114856.GG1985@e110455-lin.cambridge.arm.com> In-Reply-To: <20200428114856.GG1985@e110455-lin.cambridge.arm.com> From: Peter Collingbourne Date: Tue, 28 Apr 2020 09:47:01 -0700 Message-ID: Subject: Re: [PATCH] drm: enable render nodes wherever buffer sharing is supported To: Liviu Dudau X-Mailman-Approved-At: Wed, 29 Apr 2020 06:45:00 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Emil Velikov , DRI Development Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVHVlLCBBcHIgMjgsIDIwMjAgYXQgNDo0OCBBTSBMaXZpdSBEdWRhdSA8TGl2aXUuRHVkYXVA YXJtLmNvbT4gd3JvdGU6Cj4KPiBPbiBNb24sIEFwciAyNywgMjAyMCBhdCAwNzoyMjowMlBNIC0w NzAwLCBQZXRlciBDb2xsaW5nYm91cm5lIHdyb3RlOgo+ID4gT24gTW9uLCBBcHIgMjcsIDIwMjAg YXQgMTo0NyBQTSBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PiB3cm90ZToKPiA+ID4KPiA+ ID4gT24gTW9uLCBBcHIgMjcsIDIwMjAgYXQgMTowNSBQTSBQZXRlciBDb2xsaW5nYm91cm5lIDxw Y2NAZ29vZ2xlLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBSZW5kZXIgbm9kZXMgYXJlIG5v dCBqdXN0IHVzZWZ1bCBmb3IgZGV2aWNlcyBzdXBwb3J0aW5nIEdQVSBoYXJkd2FyZQo+ID4gPiA+ IGFjY2VsZXJhdGlvbi4gRXZlbiBvbiBkZXZpY2VzIHRoYXQgb25seSBzdXBwb3J0IGR1bWIgZnJh bWUgYnVmZmVycywKPiA+ID4gPiB0aGV5IGFyZSB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBj b21wb3NpdGlvbiAodXNpbmcgc29mdHdhcmUKPiA+ID4gPiByYXN0ZXJpemF0aW9uKSBhbmQgS01T IGFyZSBkb25lIGluIGRpZmZlcmVudCBwcm9jZXNzZXMgd2l0aCBidWZmZXIKPiA+ID4gPiBzaGFy aW5nIGJlaW5nIHVzZWQgdG8gc2VuZCBmcmFtZSBidWZmZXJzIGJldHdlZW4gdGhlbS4gVGhpcyBp cyB0aGUKPiA+ID4gPiBzaXR1YXRpb24gb24gQW5kcm9pZCwgd2hlcmUgc3VyZmFjZWZsaW5nZXIg aXMgdGhlIGNvbXBvc2l0b3IgYW5kIHRoZQo+ID4gPiA+IGNvbXBvc2VyIEhBTCB1c2VzIEtNUyB0 byBkaXNwbGF5IHRoZSBidWZmZXJzLiBUaHVzIGl0IGlzIGJlbmVmaWNpYWwKPiA+ID4gPiB0byBl eHBvc2UgcmVuZGVyIG5vZGVzIG9uIGFsbCBkZXZpY2VzIHRoYXQgc3VwcG9ydCBidWZmZXIgc2hh cmluZy4KPiA+ID4gPgo+ID4gPiA+IEJlY2F1c2UgYWxsIGRyaXZlcnMgdGhhdCBjdXJyZW50bHkg c3VwcG9ydCByZW5kZXIgbm9kZXMgYWxzbyBzdXBwb3J0Cj4gPiA+ID4gYnVmZmVyIHNoYXJpbmcs IHRoZSBEUklWRVJfUkVOREVSIGZsYWcgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSB0byBtYXJrCj4g PiA+ID4gZGV2aWNlcyBhcyBzdXBwb3J0aW5nIHJlbmRlciBub2Rlcywgc28gcmVtb3ZlIGl0IGFu ZCBqdXN0IHJlbHkgb24KPiA+ID4gPiB0aGUgcHJlc2VuY2Ugb2YgYSBwcmltZV9oYW5kbGVfdG9f ZmQgZnVuY3Rpb24gcG9pbnRlciB0byBkZXRlcm1pbmUKPiA+ID4gPiB3aGV0aGVyIGJ1ZmZlciBz aGFyaW5nIGlzIHN1cHBvcnRlZC4KPiA+ID4KPiA+ID4gSSdtIGRlZmluaXRlbHkgaW50ZXJlc3Rl ZCBpbiBzZWVpbmcgYSBwYXRjaCBsaWtlIHRoaXMgbGFuZCwgYXMgSSB0aGluawo+ID4gPiB0aGUg Y3VycmVudCBzdGF0ZSBpcyBhbiB1Z2x5IGhpc3RvcmljYWwgYXJ0aWZhY3QuICBXZSBqdXN0IGhh dmUgdG8gYmUKPiA+ID4gY2FyZWZ1bC4KPiA+ID4KPiA+ID4gV2VyZSB0aGVyZSBhbnkgaW5zdGFu Y2VzIG9mIGRyaXZlcnMgd2l0aCByZW5kZXIgZW5naW5lcyBleHBvc2luZyBQUklNRQo+ID4gPiBi dXQgbm90IFJFTkRFUj8gIFdlIHNob3VsZCBiZSBjYXJlZnVsIHRvIG1ha2Ugc3VyZSB0aGF0IHdl J3JlIG5vdAo+ID4gPiBleHBvc2luZyBuZXcgcHJpdmlsZWdlcyBmb3IgdGhvc2UgdGhyb3VnaCBh ZGRpbmcgcmVuZGVyIG5vZGVzLgo+ID4KPiA+IFRoZXNlIGFyZSB0aGUgZHJpdmVycyB0aGF0IHdl J2QgYmUgYWRkaW5nIHJlbmRlciBub2RlcyBmb3Igd2l0aCB0aGlzIGNoYW5nZToKPiA+Cj4gPiAk IGdpdCBncmVwIC1sIHByaW1lX2hhbmRsZV90b19mZCAoZ2l0IGdyZXAgLUwgRFJJVkVSX1JFTkRF UiAoZ2l0IGdyZXAKPiA+IC1sICdcLmRyaXZlcl9mZWF0dXJlcycpKQo+ID4gZHJpdmVycy9ncHUv ZHJtL2FyYy9hcmNwZ3VfZHJ2LmMKPiA+IGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2ttcy5jCj4gPiBkcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Rydi5jCj4gPiBk cml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9kcnYuYwo+ID4gZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfZHJ2LmMKPiA+IGRyaXZlcnMvZ3B1L2RybS9hc3BlZWQvYXNwZWVkX2dmeF9kcnYu Ywo+ID4gZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMKPiA+IGRy aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5jCj4gPiBkcml2ZXJzL2dwdS9k cm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYwo+ID4gZHJpdmVycy9ncHUvZHJtL2lt eC9pbXgtZHJtLWNvcmUuYwo+ID4gZHJpdmVycy9ncHUvZHJtL2luZ2VuaWMvaW5nZW5pYy1kcm0u Ywo+ID4gZHJpdmVycy9ncHUvZHJtL21jZGUvbWNkZV9kcnYuYwo+ID4gZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fZHJ2LmMKPiA+IGRyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9k cnYuYwo+ID4gZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2Rydi5jCj4gPiBkcml2ZXJzL2dw dS9kcm0vcGwxMTEvcGwxMTFfZHJ2LmMKPiA+IGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rydi5j Cj4gPiBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2Rydi5jCj4gPiBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCj4gPiBkcml2ZXJzL2dwdS9kcm0vc2ht b2JpbGUvc2htb2JfZHJtX2Rydi5jCj4gPiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYuYwo+ ID4gZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYwo+ID4gZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90 aWxjZGNfZHJ2LmMKPiA+IGRyaXZlcnMvZ3B1L2RybS90dmUyMDAvdHZlMjAwX2Rydi5jCj4gPiBk cml2ZXJzL2dwdS9kcm0veGVuL3hlbl9kcm1fZnJvbnQuYwo+ID4gZHJpdmVycy9ncHUvZHJtL3p0 ZS96eF9kcm1fZHJ2LmMKPiA+Cj4gPiBTb21lIG9mIHRoZSBkcml2ZXJzIHByb3ZpZGUgY3VzdG9t IGlvY3RscyBidXQgdGhleSBhcmUgYWxyZWFkeQo+ID4gcHJvdGVjdGVkIGZyb20gcmVuZGVyIG5v ZGVzIGJ5IG5vdCBzZXR0aW5nIERSTV9SRU5ERVJfQUxMT1cuIEFub3RoZXIKPiA+IHRoaW5nIHRv IGNoZWNrIGZvciBpcyBkcml2ZXJzIHByb3ZpZGluZyBjdXN0b20gZm9wcyB0aGF0IG1pZ2h0IGV4 cG9zZQo+ID4gc29tZXRoaW5nIHVuZGVzaXJhYmxlIGluIHRoZSByZW5kZXIgbm9kZToKPiA+Cj4g PiAkIGdpdCBncmVwIC1MICdERUZJTkVfRFJNX0dFTV9DTUFfRk9QU1x8REVGSU5FX0RSTV9HRU1f Rk9QUycgKGdpdCBncmVwCj4gPiAtbCBwcmltZV9oYW5kbGVfdG9fZmQgKGdpdCBncmVwIC1MIERS SVZFUl9SRU5ERVIgKGdpdCBncmVwIC1sCj4gPiAnXC5kcml2ZXJfZmVhdHVyZXMnKSkpCj4gPiBk cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYwo+ID4gZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYwo+ID4gZHJpdmVycy9ncHUvZHJtL3hlbi94ZW5f ZHJtX2Zyb250LmMKPiA+Cj4gPiBCdXQgbG9va2luZyBhdCB0aG9zZSBkcml2ZXJzIGluIGRldGFp bCwgSSBzZWUgdGhhdCBlYWNoIG9mIHRoZW0gaXMKPiA+IHVzaW5nIHRoZSBzdGFuZGFyZCBEUk0g Zm9wcyBoYW5kbGVycyAod2hpY2ggcHJlc3VtYWJseSBhbHJlYWR5IGhhbmRsZQo+ID4gcmVuZGVy IG5vZGVzIGNvcnJlY3RseSkgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIG1tYXAsIHdoaWNoIHRoZXkg cHJvdmlkZQo+ID4gd3JhcHBlcnMgZm9yIHRoYXQgbW9zdGx5IGp1c3Qgd3JhcCBkcm1fZ2VtX21t YXAuCj4gPgo+ID4gU28gdW5sZXNzIEknbSBtaXNzaW5nIHNvbWV0aGluZyBzaWduaWZpY2FudCAo d2hpY2ggc2VlbXMgbGlrZWx5IC0tIEknbQo+ID4gbm90IGEgRFJNIGV4cGVydCksIEkgZG9uJ3Qg c2VlIGEgcHJvYmxlbSBzbyBmYXIuCj4gPgo+ID4gPiBUaGVyZSdzIGEgVUFQSSByaXNrIEkgc2Vl IGhlcmUuICBSaWdodCBub3csIG9uIGEgc3lzdGVtIHdpdGggYSBzaW5nbGUKPiA+ID4gcmVuZGVy ZXIgR1BVLCB3ZSBjYW4ganVzdCBvcGVuIC9kZXYvZHJpL3JlbmRlckQxMjggYW5kIGdldCB0aGUg R1BVIGZvcgo+ID4gPiByZW5kZXJpbmcsIGFuZCB2YXJpb3VzIHRoaW5ncyBhcmUgcmVseWluZyBv biB0aGF0IChzdWNoIGFzIGxpYndhZmZsZSwKPiA+ID4gdXNlZCBpbiBwaWdsaXQgYW1vbmcgb3Ro ZXIgdGhpbmdzKSAgIEFkZGluZyByZW5kZXIgbm9kZXMgZm9yIGttcy1vbmx5Cj4gPiA+IGRyaXZl cnMgY291bGQgZGlzcGxhY2UgdGhlIGFjdHVhbCBHUFUgdG8gMTI5LCBhbmQgdGhlIHF1ZXN0aW9u IGlzCj4gPiA+IHdoZXRoZXIgdGhpcyB3aWxsIGJlIGRpc3J1cHRpdmUuICBGb3IgTWVzYSwgSSB0 aGluayB0aGlzIHdvcmtzIG91dCwKPiA+ID4gYmVjYXVzZSBrbXNybyBzaG91bGQgbG9hZCBvbiB0 aGUga21zIGRldmljZSdzIG5vZGUgYW5kIHRoZW4gc2hhcmUKPiA+ID4gYnVmZmVycyBvdmVyIHRv IHRoZSByZWFsIEdQVSB0aGF0IGl0IGRpZ3MgYXJvdW5kIHRvIGZpbmQgYXQgaW5pdCB0aW1lLgo+ ID4gPiBKdXN0IHNheWluZywgSSdtIG5vdCBzdXJlIEkga25vdyBhbGwgb2YgdGhlIHVzZXJzcGFj ZSB3ZWxsIGVub3VnaCB0bwo+ID4gPiBzYXkgInRoaXMgc2hvdWxkIGJlIHNhZmUgZGVzcGl0ZSB0 aGF0Igo+ID4gPgo+ID4gPiAoQW5kLCBtYXliZSwgaWYgd2UgZGVjaWRlIHRoYXQgaXQncyBub3Qg c2FmZSBlbm91Z2gsIHdlIGNvdWxkIHB1bnQKPiA+ID4ga21zLW9ubHkgZHJpdmVycyB0byBhIGhp Z2hlciBzdGFydGluZyBudW1iZXI/KQo+ID4KPiA+IEFuZHJvaWQgKG1pbmlnYm0pIHNpbWlsYXJs eSB0cmllcyB0byBvcGVuIC9kZXYvZHJpL3JlbmRlckQkTiBpbiBhIGxvb3AKPiA+IHdpdGggMTI4 IDw9IE4gPCAxOTIgYW5kIGFzc3VtZXMgdGhhdCB0aGUgZmlyc3Qgbm9uLWJsYWNrbGlzdGVkIChp LmUuCj4gPiBub3QgdmdlbSkgb25lIHRoYXQgaXQgY2FuIG9wZW4gY29ycmVzcG9uZHMgdG8gdGhl IHJlYWwgR1BVIFsxXS4gSQo+ID4gdGhpbmsgdGhhdCB0aGUgcmlzayBvZiBicmVha2luZyBzb21l dGhpbmcgb24gQW5kcm9pZCBpcyBsb3cgc2luY2UKPiA+IEFuZHJvaWQncyBhcmNoaXRlY3R1cmUg YmFzaWNhbGx5IGFscmVhZHkgZGVwZW5kcyBvbiB0aGVyZSBiZWluZyBhCj4gPiByZW5kZXIgbm9k ZSwgYW5kIGl0IHNlZW1zIHVubGlrZWx5IGZvciBhIGRldmljZSB0byBoYXZlIG1vcmUgdGhhbiBv bmUKPiA+IEdQVSwgb25lIG9mIHdoaWNoIHdvdWxkIGJlIG5vbi1mdW5jdGlvbmFsLgo+Cj4gV291 bGQgSnVubyBzdWZmZXIgZnJvbSB0aGlzIGlzc3VlPyBJdCBoYXMgMiBIRExDRCBkcml2ZXJzIChi b3RoIGNhbiBiZQo+IGFjdGl2ZSBhdCB0aGUgc2FtZSB0aW1lIGlmIHlvdSB3YW50KSBhbmQgeW91 IGNvdWxkIHJ1biBwYW5mcm9zdCBmb3IgdGhlCj4gYWN0dWFsIEdQVS4gRGVwZW5kaW5nIG9uIHRo ZSBwcm9iaW5nIG9yZGVyLCBIRExDRCByZW5kZXIgbm9kZXMgd291bGQgYmUKPiByZWdpc3RlcmVk IGJlZm9yZSB0aGUgR1BVJ3MuCgpJZiBJJ20gcmVhZGluZyB0aGUgTWVzYSBjb2RlIFsxXSBjb3Jy ZWN0bHksIGl0IHdpbGwgbG9vcCB0aHJvdWdoIHRoZQpyZW5kZXIgbm9kZXMgYW5kIGF0dGVtcHQg dG8gbWF0Y2ggdGhlIGRyaXZlciBuYW1lIGFnYWluc3QgaXRzIGxpc3Qgb2YKa25vd24gZGV2aWNl cy4gU28gaWYgdGhlcmUgd2VyZSB0d28gaGRsY2QgcmVuZGVyIG5vZGVzIGFuZCBvbmUKcGFuZnJv c3QgcmVuZGVyIG5vZGUgaXQgc2hvdWxkIGZpbmQgdGhlIGxhdHRlciByZWdhcmRsZXNzIG9mIHBy b2JpbmcKb3JkZXIsIGJlY2F1c2UgaXQgZG9lc24ndCBrbm93IGFib3V0IGhkbGNkLgoKUGV0ZXIK ClsxXSBodHRwczovL2NzLmFuZHJvaWQuY29tL2FuZHJvaWQvcGxhdGZvcm0vc3VwZXJwcm9qZWN0 LysvbWFzdGVyOmV4dGVybmFsL21lc2EzZC9zcmMvZ2FsbGl1bS9hdXhpbGlhcnkvcGlwZS1sb2Fk ZXIvcGlwZV9sb2FkZXJfZHJtLmM7bD0yMTQKCj4KPiBCZXN0IHJlZ2FyZHMsCj4gTGl2aXUKPgo+ ID4KPiA+IEl0J3MgYWxzbyB3b3J0aCBiZWFyaW5nIGluIG1pbmQgdGhhdCByZW5kZXIgbm9kZXMg d2VyZSBhZGRlZCB0byB2Z2VtCj4gPiBpbiBjb21taXQgM2E2ZWI3OTUgZnJvbSAyMDE4LiBUbyB0 aGUgZXh0ZW50IHRoYXQgZXhwb3NpbmcgYWRkaXRpb25hbAo+ID4gcmVuZGVyIG5vZGVzIHdvdWxk IGxlYWQgdG8gd2lkZXNwcmVhZCBicmVha2FnZSwgdGhpcyB3b3VsZCBzZWVtIHRvIG1lCj4gPiB0 byBiZSBhIGxpa2VseSB3YXkgaW4gd2hpY2ggaXQgY291bGQgaGF2ZSBoYXBwZW5lZCAoc2luY2Ug SSB3b3VsZAo+ID4gZXhwZWN0IHRoYXQgaXQgY291bGQgY2F1c2UgbWFueSBtYWNoaW5lcyB0byBn byBmcm9tIGhhdmluZyBvbmUgcmVuZGVyCj4gPiBub2RlIHRvIGhhdmluZyBtb3JlIHRoYW4gb25l KSwgc28gcGVyaGFwcyB0aGUgYXJndW1lbnQgY2FuIGJlIG1hZGUKPiA+IHRoYXQgaWYgd2UgaGFk bid0IHNlZW4gd2lkZXNwcmVhZCBicmVha2FnZSBhcyBhIHJlc3VsdCBvZiB0aGF0IGNoYW5nZSwK PiA+IHdlJ2QgYmUgdW5saWtlbHkgdG8gc2VlIGl0IGFzIGEgcmVzdWx0IG9mIHRoaXMgb25lLgo+ ID4KPiA+IFRoaXMgd291bGQgYmUgY29uZGl0aW9uYWwgb24gdGhlIHVzZXJzcGFjZSBjb2RlIG5v dCBibGFja2xpc3RpbmcgdGhlCj4gPiB2Z2VtIHJlbmRlciBub2RlIGxpa2UgbWluaWdibSBkb2Vz IC0tIGF0IGEgZ2xhbmNlIEkgY291bGRuJ3QgZmluZCBzdWNoCj4gPiBjb2RlIGluIE1lc2EgKHRo ZXJlIGRvZXMgYXBwZWFyIHRvIGJlIHNvbWUgY29kZSB0aGF0IGxvb2tzIGZvciB0aGUKPiA+IHZn ZW0gZHJpdmVyIG5hbWUsIGJ1dCBpdCBzZWVtcyB0byBvbmx5IGJlIHVzZWQgb24gcHJpbWFyeSBu b2Rlcywgbm90Cj4gPiByZW5kZXIgbm9kZXMpIG9yIGxpYndhZmZsZS4KPiA+Cj4gPiBQZXRlcgo+ ID4KPiA+IFsxXSBodHRwczovL2NzLmFuZHJvaWQuY29tL2FuZHJvaWQvcGxhdGZvcm0vc3VwZXJw cm9qZWN0LysvbWFzdGVyOmV4dGVybmFsL21pbmlnYm0vY3Jvc19ncmFsbG9jL2Nyb3NfZ3JhbGxv Y19kcml2ZXIuY2M7bD00OAo+Cj4gLS0KPiA9PT09PT09PT09PT09PT09PT09PQo+IHwgSSB3b3Vs ZCBsaWtlIHRvIHwKPiB8IGZpeCB0aGUgd29ybGQsICB8Cj4gfCBidXQgdGhleSdyZSBub3QgfAo+ IHwgZ2l2aW5nIG1lIHRoZSAgIHwKPiAgXCBzb3VyY2UgY29kZSEgIC8KPiAgIC0tLS0tLS0tLS0t LS0tLQo+ICAgICDCr1xfKOODhClfL8KvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=