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.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 9368BC433E1 for ; Mon, 29 Jun 2020 06:51:18 +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 6910E206E9 for ; Mon, 29 Jun 2020 06:51:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EYhTXqxh" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6910E206E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 F41C36E40F; Mon, 29 Jun 2020 06:51:16 +0000 (UTC) Received: from mail-lf1-x141.google.com (mail-lf1-x141.google.com [IPv6:2a00:1450:4864:20::141]) by gabe.freedesktop.org (Postfix) with ESMTPS id 237B089C6C for ; Mon, 29 Jun 2020 02:37:04 +0000 (UTC) Received: by mail-lf1-x141.google.com with SMTP id c11so8207535lfh.8 for ; Sun, 28 Jun 2020 19:37:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=3aaNWUY+ic1MhEW2thjjs+7K3aLg4Qeu7hsc8YXMuHY=; b=EYhTXqxhSGpSxd6RsvJ0XBzYbUqniYRkDlPnUra6tJaAMs9vicknh6hx4Dt3ekuZNU W3J2kEMpj5s+T+SYnJ1swdZWuACib/Bi4Mmcp9/XZ6nKQ/crSZ7vTVVi62tZJ1a4i1vR 96F0nwV9DhiqgGhLpfTNV11FOroHpVdlD38lM2Fc7Dk+tvO80hT/fl/PjRsALqaYQScF Mvx3l6D8N8AmJ3knKDxUI4sTQuRst3BzdHZo6g8yM7zrtrj6Cru7HBDGh4B6NTiywJO1 pDVHRjJsCcKXcGGsUzkZDx5dZJj4hTIY5CAdJVNibraZVMuE9RWHJq+aB1I8p2S/1br+ AdrA== 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=3aaNWUY+ic1MhEW2thjjs+7K3aLg4Qeu7hsc8YXMuHY=; b=aSTDrG+EseU0fShlS9Mcn4tJ7poDA8+u45hxMEh31aykksKx0ENP8yDATXeySWqg3k 6BNKjrx5biQA88Wphy7k7vPaq4N243TyAvLyIUkaBFdybRgq+yMWu5eRtadOVx84HlT8 9Qa46iBmYrlZX7JyIRg/KwxgNziPr0Rd1gRJ7uDW4Bhvkn0USxnYqWJp4ro6dv5by/9T GLG2IRqjAYoS/AzSncnYljQh0RL/bwZxqedeWuSXIBJ3RmyHiUH2kY+INiDD8B7tt21P 3uiAYcQRUfpOmCjTrhoGUNFUiRVwFA7J81h3uvcAxCNNQeC0OSFZZY3k9JBu2bVreHES Gn4g== X-Gm-Message-State: AOAM531a9RUIOvlIrf/i9q5FSYPBXhTIFnz6YkrN9B/ETN2RD1gJME2h H6uT11KcaJQ5VJ4h91DLWIs= X-Google-Smtp-Source: ABdhPJx7RgPdiojDAT7wK85anJetC3VhwGm+QifqURfbXc5dwtyt2+HBsew6eBfwn8fVGlcOLGbdAw== X-Received: by 2002:a05:6512:52a:: with SMTP id o10mr7957247lfc.137.1593398222191; Sun, 28 Jun 2020 19:37:02 -0700 (PDT) Received: from [192.168.2.145] (79-139-237-54.dynamic.spd-mgts.ru. [79.139.237.54]) by smtp.googlemail.com with ESMTPSA id m9sm6967483lfb.5.2020.06.28.19.37.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 28 Jun 2020 19:37:01 -0700 (PDT) Subject: Re: [RFC] Host1x/TegraDRM UAPI (sync points) To: Mikko Perttunen , Thierry Reding , Jon Hunter , David Airlie , Daniel Vetter , sumit.semwal@linaro.org, gustavo@padovan.org References: <9b06b7ec-f952-2561-7afb-5653514cd5d3@kapsi.fi> <5b1edaad-ba36-7b0f-5b02-457ae5b6d91e@gmail.com> <62859775-514c-2941-75ed-6905e9282a6f@kapsi.fi> From: Dmitry Osipenko Message-ID: <623c1eaa-31fb-8dff-f6c0-d8cd0be60070@gmail.com> Date: Mon, 29 Jun 2020 05:36:59 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <62859775-514c-2941-75ed-6905e9282a6f@kapsi.fi> Content-Language: en-US X-Mailman-Approved-At: Mon, 29 Jun 2020 06:50:54 +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: "linux-tegra@vger.kernel.org" , talho@nvidia.com, bhuntsman@nvidia.com, dri-devel , Erik Faye-Lund Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" MjguMDYuMjAyMCAxMjo0NCwgTWlra28gUGVydHR1bmVuINC/0LjRiNC10YI6Cj4gT24gNi8yOC8y MCAyOjI3IEFNLCBEbWl0cnkgT3NpcGVua28gd3JvdGU6Cj4+IDIzLjA2LjIwMjAgMTU6MDksIE1p a2tvIFBlcnR0dW5lbiDQv9C40YjQtdGCOgo+Pj4KPj4+ICMjIyBJT0NUTCBIT1NUMVhfQUxMT0NB VEVfU1lOQ1BPSU5UIChvbiAvZGV2L2hvc3QxeCkKPj4+Cj4+PiBBbGxvY2F0ZXMgYSBmcmVlIHN5 bmNwb2ludCwgcmV0dXJuaW5nIGEgZmlsZSBkZXNjcmlwdG9yIHJlcHJlc2VudGluZyBpdC4KPj4+ IE9ubHkgdGhlIG93bmVyIG9mIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgYWxsb3dlZCB0byBtdXRh dGUgdGhlIHZhbHVlIG9mCj4+PiB0aGUgc3luY3BvaW50Lgo+Pj4KPj4+IGBgYAo+Pj4gc3RydWN0 IGhvc3QxeF9jdHJsX2FsbG9jYXRlX3N5bmNwb2ludCB7Cj4+PiDCoMKgwqDCoMKgwqDCoCAvKioK Pj4+IMKgwqDCoMKgwqDCoMKgwqAgKiBAZmQ6Cj4+PiDCoMKgwqDCoMKgwqDCoMKgICoKPj4+IMKg wqDCoMKgwqDCoMKgwqAgKiBbb3V0XSBOZXcgZmlsZSBkZXNjcmlwdG9yIHJlcHJlc2VudGluZyB0 aGUgYWxsb2NhdGVkCj4+PiBzeW5jcG9pbnQuCj4+PiDCoMKgwqDCoMKgwqDCoMKgICovCj4+PiDC oMKgwqDCoMKgwqDCoCBfX3MzMiBmZDsKPj4+Cj4+PiDCoMKgwqDCoMKgwqDCoCBfX3UzMiByZXNl cnZlZFszXTsKPj4+IH07Cj4+Cj4+IFdlIHNob3VsZCBuZWVkIGF0IGxlYXN0IHRoZXNlIGJhc2lj IHRoaW5ncyBmcm9tIHRoZSBzeW5jIHBvaW50cyBBUEkgPgo+PiAtIEV4ZWN1dGlvbiBjb250ZXh0 IHNob3VsZG4ndCBiZSBhYmxlIHRvIHRhbXBlciBzeW5jIHBvaW50cyBvZiB0aGUgb3RoZXIKPj4g Y29udGV4dHMuCj4gCj4gVGhpcyBpcyBjb3ZlcmVkIGJ5IHRoaXMgVUFQSSAtIHdoZW4gc3VibWl0 dGluZywgYXMgcGFydCBvZiB0aGUKPiBzeW5jcHRfaW5jciBzdHJ1Y3QgeW91IHBhc3MgdGhlIHN5 bmNwb2ludCBGRC4gVGhpcyB3YXkgdGhlIGRyaXZlciBjYW4KPiBjaGVjayB0aGUgc3luY3BvaW50 cyB1c2VkIGFyZSBjb3JyZWN0LCBvciBwcm9ncmFtIEhXIHByb3RlY3Rpb24uCj4gCj4+Cj4+IC0g U3luYyBwb2ludCBjb3VsZCBiZSBzaGFyZWQgd2l0aCBvdGhlciBjb250ZXh0cyBmb3IgZXhwbGlj aXQgZmVuY2luZy4KPiAKPiBOb3Qgc3VyZSB3aGF0IHlvdSBzcGVjaWZpY2FsbHkgbWVhbjsgeW91 IGNhbiBnZXQgdGhlIElEIG91dCBvZiB0aGUKPiBzeW5jcG9pbnQgZmQgYW5kIHNoYXJlIHRoZSBJ RCBmb3IgcmVhZC1vbmx5IGFjY2Vzcy4gKE9yIHRoZSBGRCBmb3IKPiByZWFkLXdyaXRlIGFjY2Vz cykKCkkgZW51bWVyYXRlZCB0aGUgb3ZlcmFsbCBwb2ludHMgdGhhdCBVQVBJIHNob3VsZCBwcm92 aWRlIHRvIHVzLCBqdXN0IGZvcgpjbGFyaXR5LiBOb3QgbGlrZSB5b3UgaGF2ZW4ndCBjb3ZlcmVk IGFueSBvZiB0aGVtLCBzb3JyeSBmb3IgdGhlCmNvbmZ1c2lvbiEgOikKClBsZWFzZSBzZWUgbW9y ZSBjb21tZW50cyBiZWxvdyEKCj4+Cj4+IC0gU3luYyBwb2ludHMgc2hvdWxkIHdvcmsgcmVsaWFi bHkuCj4+Cj4+IFNvbWUgcHJvYmxlbXMgb2YgdGhlIGN1cnJlbnQgSG9zdDF4IGRyaXZlciwgbGlr ZSB3aGVyZSBpdCBmYWxscyBvdmVyIGlmCj4+IHN5bmMgcG9pbnQgdmFsdWUgaXMgb3V0LW9mLXN5 bmMgKyBhbGwgdGhlIGhhbmctam9iIHJlY292ZXJ5IGxhYm9yIGNvdWxkCj4+IGJlIGVhc2lseSBy ZWR1Y2VkIGlmIHN5bmMgcG9pbnQgaGVhbHRoIGlzIHByb3RlY3RlZCBieSBleHRyYSBVQVBJCj4+ IGNvbnN0cmFpbnRzLiA+Cj4+IFNvIEkgdGhpbmsgd2UgbWF5IHdhbnQgdGhlIGZvbGxvd2luZzoK Pj4KPj4gMS4gV2Ugc3RpbGwgc2hvdWxkIG5lZWQgdG8gYXNzaWduIHN5bmMgcG9pbnQgSUQgdG8g YSBEUk0tY2hhbm5lbCdzCj4+IGNvbnRleHQuIFRoaXMgc3luYyBwb2ludCBJRCB3aWxsIGJlIHVz ZWQgZm9yIGEgY29tbWFuZHMgc3RyZWFtIGZvcm1pbmcsCj4+IGxpa2UgaXQgaXMgZG9uZSBieSB0 aGUgY3VycmVudCBzdGFnaW5nIFVBUEkuCj4+Cj4+IFNvIHdlIHNob3VsZCBuZWVkIHRvIHJldGFp biB0aGUgRFJNX1RFR1JBX0dFVF9TWU5DUFQgSU9DVEwsIGJ1dAo+PiBpbXByb3ZlIGl0LgoKTXkg cG9pbnQgaGVyZSBpcyB0aGF0IHRoZSBVQVBJIHNob3VsZG4ndCBiZSBhYmxlIHRvIGluY3JlbWVu dCB0aGUgam9iJ3MKc3luYyBwb2ludCB1c2luZyBTWU5DUE9JTlRfSU5DUkVNRU5UIElPQ1RMLCB3 aGljaCBpcyBhbm90aGVyIFVBUEkKY29uc3RyYWludC4KCkknbSBzdWdnZXN0aW5nIHRoYXQgd2Ug c2hvdWxkIGhhdmUgdHdvIG1ldGhvZHMgb2Ygc3luYyBwb2ludCBhbGxvY2F0aW9uczoKCjEpIFN5 bmMgcG9pbnQgdGhhdCBjb3VsZCBiZSB1c2VkIG9ubHkgYnkgYSBzdWJtaXR0ZWQgam9iLgoKMikg U3luYyBwb2ludCB0aGF0IGNvdWxkIGJlIGluY3JlbWVudGVkIGJ5IENQVS4KClRoZSBmaXJzdCBt ZXRob2Qgd2lsbCBhbGxvY2F0ZSBhIHJhdyBzeW5jIHBvaW50IElEIHRoYXQgaXMgYXNzaWduZWQg dG8KdGhlIGNoYW5uZWwncyBjb250ZXh0LiBUaGlzIElEIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGpv YidzIGNvbXBsZXRpb24KdHJhY2tpbmcuIFBlcmhhcHMgdGhpcyBtZXRob2QgYWxzbyBjb3VsZCBv cHRpb25hbGx5IHJldHVybiBhIHN5bmMgcG9pbnQKRkQgaWYgeW91J2Qgd2FudCB0byB3YWl0IG9u IHRoaXMgc3luYyBwb2ludCBieSBhbm90aGVyIGpvYi4KCldlIGRvbid0IG5lZWQgYSBkZWRpY2F0 ZWQgc3luYyBwb2ludCBGRCBmb3IgYWxsIGtpbmRzIG9mIGpvYnMsIGRvbid0IHdlPwpGb3IgZXhh bXBsZSwgSSBkb24ndCBzZWUgd2h5IGEgc3luYyBwb2ludCBGRCBtYXkgYmUgbmVlZGVkIGluIGEg Y2FzZSBvZgpPcGVudGVncmEgam9icy4KCj4+IDIuIEFsbG9jYXRlZCBzeW5jIHBvaW50IG11c3Qg aGF2ZSBhIGNsZWFuIGhhcmR3YXJlIHN0YXRlLgo+IAo+IFdoYXQgZG8geW91IG1lYW4gYnkgY2xl YW4gaGFyZHdhcmUgc3RhdGU/CgpJIG1lYW4gdGhhdCBzeW5jIHBvaW50IHNob3VsZCBoYXZlIGEg cHJlZGljdGFibGUgc3RhdGUgWzFdLCBpdCBzaG91bGRuJ3QKYWNjaWRlbnRhbGx5IGZpcmUgZHVy aW5nIG9mIGhhcmR3YXJlIHByb2dyYW1taW5nIGZvciBleGFtcGxlLgoKWzFdCmh0dHBzOi8vZ2l0 aHViLmNvbS9ncmF0ZS1kcml2ZXIvbGludXgvYmxvYi9tYXN0ZXIvZHJpdmVycy9ncHUvaG9zdDF4 L3NvYy9zeW5jcG9pbnRzLmMjTDEzMgoKRm9yIGEgc3VibWl0dGVkIGpvYiwgdGhlIGpvYidzIHN5 bmMgcG9pbnQgc3RhdGUgY291bGQgYmUgcmVzZXQgYXQgYQpzdWJtaXNzaW9uIHRpbWUsIGZvciBl eGFtcGxlIGxpa2UgSSBkaWQgaXQgaW4gdGhlIGdyYXRlLWtlcm5lbCdzCmV4cGVyaW1lbnRhbCBk cml2ZXIgWzJdLgoKWzJdCmh0dHBzOi8vZ2l0aHViLmNvbS9ncmF0ZS1kcml2ZXIvbGludXgvYmxv Yi9tYXN0ZXIvZHJpdmVycy9ncHUvaG9zdDF4L3NvYy9jaGFubmVsLmMjTDE0NQoKPj4KPj4gMy4g U3luYyBwb2ludHMgc2hvdWxkIGJlIHByb3Blcmx5IHJlZmNvdW50ZWQuIEpvYidzIHN5bmMgcG9p bnRzCj4+IHNob3VsZG4ndCBiZSByZS11c2VkIHdoaWxlIGpvYiBpcyBhbGl2ZS4KPj4KPj4gNC4g VGhlIGpvYidzIHN5bmMgcG9pbnQgY2FuJ3QgYmUgcmUtdXNlZCBhZnRlciBqb2IncyBzdWJtaXNz aW9uIChVQVBJCj4+IGNvbnN0cmFpbnQhKS4gVXNlcnNwYWNlIG11c3QgZnJlZSBzeW5jIHBvaW50 IGFuZCBhbGxvY2F0ZSBhIG5ldyBvbmUgZm9yCj4+IHRoZSBuZXh0IGpvYiBzdWJtaXNzaW9uLiBB bmQgbm93IHdlOgo+Pgo+PiDCoMKgIC0gS25vdyB0aGF0IGpvYidzIHN5bmMgcG9pbnQgaXMgYWx3 YXlzIGluIGEgaGVhbHRoeSBzdGF0ZSEKPj4KPj4gwqDCoCAtIFdlJ3JlIG5vdCBsaW1pdGVkIGJ5 IGEgbnVtYmVyIG9mIHBoeXNpY2FsbHkgYXZhaWxhYmxlIGhhcmR3YXJlIHN5bmMKPj4gcG9pbnRz ISBBbGxvY2F0aW9uIHNob3VsZCBibG9jayB1bnRpbCBmcmVlIHN5bmMgcG9pbnQgaXMgYXZhaWxh YmxlLgo+Pgo+PiDCoMKgIC0gVGhlIGxvZ2ljYWwgbnVtYmVyIG9mIGpvYidzIHN5bmMgcG9pbnQg aW5jcmVtZW50cyBtYXRjaGVzIHRoZSBTUAo+PiBoYXJkd2FyZSBzdGF0ZSEgV2hpY2ggaXMgaGFu ZHkgZm9yIGEgam9iJ3MgZGVidWdnaW5nLgo+Pgo+PiBPcHRpb25hbGx5LCB0aGUgam9iJ3Mgc3lu YyBwb2ludCBjb3VsZCBiZSBhdXRvLXJlbW92ZWQgZnJvbSB0aGUgRFJNJ3MKPj4gY29udGV4dCBh ZnRlciBqb2IncyBzdWJtaXNzaW9uLCBhdm9pZGluZyBhIG5lZWQgZm9yIGFuIGV4dHJhIFNZTkNQ VF9QVVQKPj4gSU9DVEwgaW52b2NhdGlvbiB0byBiZSBkb25lIGJ5IHVzZXJzcGFjZSBhZnRlciB0 aGUgam9iJ3Mgc3VibWlzc2lvbi4KPj4gQ291bGQgYmUgYSBqb2IncyBmbGFnLgo+IAo+IEkgdGhp bmsgdGhpcyB3b3VsZCBjYXVzZSBwcm9ibGVtcyB3aGVyZSBhZnRlciBhIGpvYiBjb21wbGV0ZXMg YnV0IGJlZm9yZQo+IHRoZSBmZW5jZSBoYXMgYmVlbiB3YWl0ZWQsIHRoZSBzeW5jcG9pbnQgaXMg YWxyZWFkeSByZWN5Y2xlZCAoZXNwZWNpYWxseQo+IGlmIHRoZSBzeW5jcG9pbnQgaXMgcmVzZXQg aW50byBzb21lIGNsZWFuIHN0YXRlKS4KCkV4YWN0bHksIGdvb2QgcG9pbnQhIFRoZSBkbWEtZmVu Y2Ugc2hvdWxkbid0IGJlIGhhcmR3aXJlZCB0byB0aGUgc3luYwpwb2ludCBpbiBvcmRlciB0byBh dm9pZCB0aGlzIHNpdHVhdGlvbiA6KQoKUGxlYXNlIHRha2UgYSBsb29rIGF0IHRoZSBmZW5jZSBp bXBsZW1lbnRhdGlvbiB0aGF0IEkgbWFkZSBmb3IgdGhlCmdyYXRlLWRyaXZlciBbM10uIFRoZSBo b3N0MXgtZmVuY2UgaXMgYSBkbWEtZmVuY2UgWzRdIHRoYXQgaXMgYXR0YWNoZWQKdG8gYSBzeW5j IHBvaW50IGJ5IGhvc3QxeF9mZW5jZV9jcmVhdGUoKS4gT25jZSBqb2IgaXMgY29tcGxldGVkLCB0 aGUKaG9zdDF4LWZlbmNlIGlzIGRldGFjaGVkIGZyb20gdGhlIHN5bmMgcG9pbnQgWzVdWzZdIGFu ZCBzeW5jIHBvaW50IGNvdWxkCmJlIHJlY3ljbGVkIHNhZmVseSEKClszXQpodHRwczovL2dpdGh1 Yi5jb20vZ3JhdGUtZHJpdmVyL2xpbnV4L2Jsb2IvbWFzdGVyL2RyaXZlcnMvZ3B1L2hvc3QxeC9m ZW5jZS5jCgpbNF0KaHR0cHM6Ly9naXRodWIuY29tL2dyYXRlLWRyaXZlci9saW51eC9ibG9iL21h c3Rlci9pbmNsdWRlL2xpbnV4L2hvc3QxeC5oI0w0NTAKCls1XQpodHRwczovL2dpdGh1Yi5jb20v Z3JhdGUtZHJpdmVyL2xpbnV4L2Jsb2IvbWFzdGVyL2RyaXZlcnMvZ3B1L2hvc3QxeC9zb2Mvc3lu Y3BvaW50c19ody5jI0w1MAoKWzZdCmh0dHBzOi8vZ2l0aHViLmNvbS9ncmF0ZS1kcml2ZXIvbGlu dXgvYmxvYi9tYXN0ZXIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3VhcGkvc2NoZWR1bGVyLmMjTDEz MwoKUGxlYXNlIHRyeSB0byB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgdGhlIGdyYXRlLWRyaXZlcidz IGltcGxlbWVudGF0aW9uIGlmCnlvdSBoYXZlbid0IHlldC4gSSB0aGluayB3ZSBzaG91bGQgYmUg YWJsZSB0byByZXVzZSBvciBpbXByb3ZlIHNvbWUgb2YKdGhlIGlkZWFzLiBUaGF0IGltcGxlbWVu dGF0aW9uIGlzbid0IDEwMCUgY29tcGxldGUsIGl0IGRvZXNuJ3QgY292ZXIKdGhpbmdzIGxpa2Ug Q1BVLWluY3JlbWVudGVkIG9yIGV4cG9ydGVkIHN5bmMgcG9pbnRzIGZvciBleGFtcGxlLCBidXQK YmFzaWNzIGFyZSB0aGVyZS4KCj4gSSB3b3VsZCBwcmVmZXIgaGF2aW5nIGEgc3luY3BvaW50IGZv ciBlYWNoIHVzZXJzcGFjZSBjaGFubmVsIGNvbnRleHQKPiAoc2V2ZXJhbCBvZiB3aGljaCBjb3Vs ZCBzaGFyZSBhIGhhcmR3YXJlIGNoYW5uZWwgaWYgTUxPQ0tpbmcgaXMgbm90IHVzZWQpLgo+IAo+ IEluIG15IGV4cGVyaWVuY2UgaXQncyB0aGVuIG5vdCBkaWZmaWN1bHQgdG8gcGlucG9pbnQgd2hp Y2ggam9iIGhhcwo+IGZhaWxlZCwgYW5kIGlmIGVhY2ggdXNlcnNwYWNlIGNoYW5uZWwgY29udGV4 dCB1c2VzIGEgc2VwYXJhdGUgc3luY3BvaW50LAo+IGEgaGFuZ2luZyBqb2Igd291bGRuJ3QgbWVz cyB3aXRoIG90aGVyIGFwcGxpY2F0aW9uJ3Mgam9icywgZWl0aGVyLgoKSSBhZ3JlZSB0aGF0IHRo ZXJlIHNob3VsZG4ndCBiZSBhbnkgcHJvYmxlbXMgd2l0aCBmaW5kaW5nIHdoYXQgam9iIGlzCmhh bmdlZC4gVGhlIHRpbWVkIG91dCBqb2IgaXMgYWx3YXlzIHRoZSBoYW5nZWQgam9iLCBubz8gOikK CkFsc28sIHBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgRFJNIHNjaGVkdWxlci4gT25jZSBJIHN0 YXJ0ZWQgdG8gd2lyZSB1cAp0aGUgRFJNIHNjaGVkdWxlciBzdXBwb3J0IGluIHRoZSBncmF0ZS1k cml2ZXIsIEkgcmVhbGl6ZWQgdGhhdCB0aGVyZSBpcwpubyByZWFsIG5lZWQgdG8gdHJ5IHRvIHJl Y292ZXIgc3luYyBwb2ludCdzIGNvdW50ZXIgYW5kIGV0YywgbGlrZSB0aGUKY3VycmVudCB1cHN0 cmVhbSBob3N0MXggZHJpdmVyIGRvZXMgZm9yIGEgaGFuZ2VkIGpvYi4gV2hlbiBqb2IgaXMKaGFu Z2VkLCB0aGUgd2hvbGUgY2hhbm5lbCBzaG91bGQgYmUgdHVybmVkIGRvd24gYW5kIHJlc2V0LCB0 aGUgam9iJ3MKc3luYyBwb2ludCBzdGF0ZSByZXNldCwgY2xpZW50J3MgSFcgZW5naW5lIHJlc2V0 LCBhbGwgdGhlIHByZS1xdWV1ZWQKam9icyByZS1zdWJtaXR0ZWQuIEFuZCB0aGUgZ2VuZXJpYyBE Uk0gam9iIHNjaGVkdWxlciBoZWxwcyB1cyB3aXRoIHRoYXQhCkl0IGFsc28gaGFzIG90aGVyIG5l YXQgZmVhdHVyZXMgd2hpY2ggSSBoYXZlbid0IHRyaWVkIHlldCwgbGlrZSBqb2IKcHJpb3JpdGll cyBmb3IgZXhhbXBsZS4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==