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=-9.8 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,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 67F8DC433DF for ; Wed, 5 Aug 2020 05:46:17 +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 3DC27206B6 for ; Wed, 5 Aug 2020 05:46:17 +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="fF/eCJsh" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3DC27206B6 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 B096089DFB; Wed, 5 Aug 2020 05:46:16 +0000 (UTC) Received: from mail-yb1-xb44.google.com (mail-yb1-xb44.google.com [IPv6:2607:f8b0:4864:20::b44]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F1B989DFB for ; Wed, 5 Aug 2020 05:46:16 +0000 (UTC) Received: by mail-yb1-xb44.google.com with SMTP id x2so3023123ybf.12 for ; Tue, 04 Aug 2020 22:46:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=HlBJs5WDxitv4OiN5MhuKJdzUD+qh08tcI/qmIZv5Zs=; b=fF/eCJshVA6shWoW2Ozp9GxFryaGYXxQEm2lEi5ZzxFAOqbupV2XtAseIHHcpmqy58 SKFnXbrfIKQP/eKKPt1gH0yMZ6pUXNty0FYobG8b6DGVTzjzWLunFS6uIKdQ+3vJMIOo GnBMuUrokikArk5gHCxvSU5CfXNMBgE/+wfUg10kI6joXTUau/CXGFhNnhZjET6ldsV3 FWIWNaLqnQnPJJ8EXtyhecU/MLvZ4aCZBggdMCrzDtcmRpWmVlNcFjQXGK+Hm6KnrI5T VPxDVsuKS9dnMFWcVdzc1cfOpv/HbDyPUFeaXdSpjCayqsU2PtPX1hHyuyfxWb6Zfi/+ z3mA== 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=HlBJs5WDxitv4OiN5MhuKJdzUD+qh08tcI/qmIZv5Zs=; b=kI+LfNcJqyrAeLGq3Ovr10156rNVM43s68yJNhfmDkmtncqEMfMHpi7KiNhh+1/NFy agJhHQT6ERwIvsp2BUFZzM3qzE38zkwDBIuImKy9dT5i+L6CEmmhcmMZa7gJBM9epiVI NLrEBPt7u/Q/M9B2m0Fz0b1M6wkyHfI7rJcWzUlV3acByS8HVN6OvoKRZxUqHnOu5vi5 E+r/yoYYgZAKzvppti3otym7LWiOYsHqlv7p/tepKh4lJaI9558IOS0L91IumknjI1CX j0FXVX/v/UCHsMc7p92uGQ9VEOAZDjC7c/M+b0YK6kBWfc9cGgxO3/SEaBMCVaKWDOdG ZwHg== X-Gm-Message-State: AOAM533h6w8r53HqbE2qwhYsu6XGam0d2Zr4dQrC8WWkPGsvip4y4jO8 3kGhxOAvhRoxHxEs+mf+PCSSwGkcPpKVkAJFZGg= X-Google-Smtp-Source: ABdhPJxi+OCFPPK9hP3uqSiwHI2vC7MMzhuUlu1h7ahjVmNx4Bo70RSoAFfSxNHQnXT/h5gvS89Z4ORzNXZd/T7efDQ= X-Received: by 2002:a25:cbc5:: with SMTP id b188mr2222104ybg.268.1596606375270; Tue, 04 Aug 2020 22:46:15 -0700 (PDT) MIME-Version: 1.0 References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-36-airlied@gmail.com> In-Reply-To: <20200804025632.3868079-36-airlied@gmail.com> From: Ben Skeggs Date: Wed, 5 Aug 2020 15:46:04 +1000 Message-ID: Subject: Re: [PATCH 35/59] drm/ttm: make TTM responsible for cleaning system only. To: Dave Airlie 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: sroland@vmware.com, ML dri-devel , linux-graphics-maintainer@vmware.com, Gerd Hoffmann , =?UTF-8?Q?Christian_K=C3=B6nig?= , Ben Skeggs Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVHVlLCA0IEF1ZyAyMDIwIGF0IDEyOjU4LCBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5j b20+IHdyb3RlOgo+Cj4gRnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KPgo+ IERyaXZlcnMgc2hvdWxkIGFsbCBiZSBjbGVhbmluZyB1cCB0aGVpciBtZW1vcnkgbWFuYWdlcnMK PiB0aGVtc2VsdmVzIG5vdywgc28gbGV0IHRoZSBjb3JlIGp1c3QgY2xlYW4gdGhlIHN5c3RlbSBv bmUgdXAuCj4KPiBSZW1vdmUgdGhlIGxlZ2FjeSBjbGVhbmluZyBpbnRlcmZhY2UuCj4KPiBSZXZp ZXdlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IFNp Z25lZC1vZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5 OiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vdHRtL3R0bV9iby5jICAgIHwgNTQgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gIGluY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmggICAgfCAyOCAtLS0tLS0tLS0tLS0tLS0t LQo+ICBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oIHwgMTAgLS0tLS0tCj4gIDMgZmls ZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA4OCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90 dG1fYm8uYwo+IGluZGV4IGE0NTAzOGM3NGRlNi4uZWJlY2I3OTZkZDQ5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRt L3R0bV9iby5jCj4gQEAgLTE0NTIsNDIgKzE0NTIsNiBAQCBpbnQgdHRtX21lbV90eXBlX21hbmFn ZXJfZm9yY2VfbGlzdF9jbGVhbihzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiAgfQo+ICBF WFBPUlRfU1lNQk9MKHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2ZvcmNlX2xpc3RfY2xlYW4pOwo+Cj4g LWludCB0dG1fYm9fY2xlYW5fbW0oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHVuc2lnbmVk IG1lbV90eXBlKQo+IC17Cj4gLSAgICAgICBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1h bjsKPiAtICAgICAgIGludCByZXQgPSAtRUlOVkFMOwo+IC0KPiAtICAgICAgIGlmIChtZW1fdHlw ZSA+PSBUVE1fTlVNX01FTV9UWVBFUykgewo+IC0gICAgICAgICAgICAgICBwcl9lcnIoIklsbGVn YWwgbWVtb3J5IHR5cGUgJWRcbiIsIG1lbV90eXBlKTsKPiAtICAgICAgICAgICAgICAgcmV0dXJu IHJldDsKPiAtICAgICAgIH0KPiAtICAgICAgIG1hbiA9ICZiZGV2LT5tYW5bbWVtX3R5cGVdOwo+ IC0KPiAtICAgICAgIGlmICghbWFuLT5oYXNfdHlwZSkgewo+IC0gICAgICAgICAgICAgICBwcl9l cnIoIlRyeWluZyB0byB0YWtlIGRvd24gdW5pbml0aWFsaXplZCBtZW1vcnkgbWFuYWdlciB0eXBl ICV1XG4iLAo+IC0gICAgICAgICAgICAgICAgICAgICAgbWVtX3R5cGUpOwo+IC0gICAgICAgICAg ICAgICByZXR1cm4gcmV0Owo+IC0gICAgICAgfQo+IC0KPiAtICAgICAgIHR0bV9tZW1fdHlwZV9t YW5hZ2VyX2Rpc2FibGUobWFuKTsKPiAtCj4gLSAgICAgICByZXQgPSAwOwo+IC0gICAgICAgaWYg KG1lbV90eXBlID4gMCkgewo+IC0gICAgICAgICAgICAgICByZXQgPSB0dG1fbWVtX3R5cGVfbWFu YWdlcl9mb3JjZV9saXN0X2NsZWFuKGJkZXYsIG1hbik7Cj4gLSAgICAgICAgICAgICAgIGlmIChy ZXQpIHsKPiAtICAgICAgICAgICAgICAgICAgICAgICBwcl9lcnIoIkNsZWFudXAgZXZpY3Rpb24g ZmFpbGVkXG4iKTsKPiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+IC0gICAg ICAgICAgICAgICB9Cj4gLQo+IC0gICAgICAgICAgICAgICBpZiAobWFuLT5mdW5jLT50YWtlZG93 bikKPiAtICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAoKm1hbi0+ZnVuYy0+dGFrZWRvd24p KG1hbik7Cj4gLSAgICAgICB9Cj4gLQo+IC0gICAgICAgdHRtX21lbV90eXBlX21hbmFnZXJfY2xl YW51cChtYW4pOwo+IC0KPiAtICAgICAgIHJldHVybiByZXQ7Cj4gLX0KPiAtRVhQT1JUX1NZTUJP TCh0dG1fYm9fY2xlYW5fbW0pOwo+Cj4gIGludCB0dG1fYm9fZXZpY3RfbW0oc3RydWN0IHR0bV9i b19kZXZpY2UgKmJkZXYsIHVuc2lnbmVkIG1lbV90eXBlKQo+ICB7Cj4gQEAgLTE1OTEsMjEgKzE1 NTUsMTEgQEAgaW50IHR0bV9ib19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgdHRtX2JvX2RldmljZSAq YmRldikKPiAgewo+ICAgICAgICAgc3RydWN0IHR0bV9ib19nbG9iYWwgKmdsb2IgPSAmdHRtX2Jv X2dsb2I7Cj4gICAgICAgICBpbnQgcmV0ID0gMDsKPiAtICAgICAgIHVuc2lnbmVkIGkgPSBUVE1f TlVNX01FTV9UWVBFUzsKPiArICAgICAgIHVuc2lnbmVkIGk7Cj4gICAgICAgICBzdHJ1Y3QgdHRt X21lbV90eXBlX21hbmFnZXIgKm1hbjsKPgo+IC0gICAgICAgd2hpbGUgKGktLSkgewo+IC0gICAg ICAgICAgICAgICBtYW4gPSAmYmRldi0+bWFuW2ldOwo+IC0gICAgICAgICAgICAgICBpZiAobWFu LT5oYXNfdHlwZSkgewo+IC0gICAgICAgICAgICAgICAgICAgICAgIG1hbi0+dXNlX3R5cGUgPSBm YWxzZTsKPiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGkgIT0gVFRNX1BMX1NZU1RFTSkg JiYgdHRtX2JvX2NsZWFuX21tKGJkZXYsIGkpKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZXQgPSAtRUJVU1k7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw cl9lcnIoIkRSTSBtZW1vcnkgbWFuYWdlciB0eXBlICVkIGlzIG5vdCBjbGVhblxuIiwKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpKTsKPiAtICAgICAgICAgICAgICAg ICAgICAgICB9Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgbWFuLT5oYXNfdHlwZSA9IGZhbHNl Owo+IC0gICAgICAgICAgICAgICB9Cj4gLSAgICAgICB9Cj4gKyAgICAgICBtYW4gPSAmYmRldi0+ bWFuW1RUTV9QTF9TWVNURU1dOwo+ICsgICAgICAgdHRtX21lbV90eXBlX21hbmFnZXJfZGlzYWJs ZShtYW4pOwo+Cj4gICAgICAgICBtdXRleF9sb2NrKCZ0dG1fZ2xvYmFsX211dGV4KTsKPiAgICAg ICAgIGxpc3RfZGVsKCZiZGV2LT5kZXZpY2VfbGlzdCk7Cj4gQEAgLTE2MTgsNyArMTU3Miw3IEBA IGludCB0dG1fYm9fZGV2aWNlX3JlbGVhc2Uoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYpCj4K PiAgICAgICAgIHNwaW5fbG9jaygmZ2xvYi0+bHJ1X2xvY2spOwo+ICAgICAgICAgZm9yIChpID0g MDsgaSA8IFRUTV9NQVhfQk9fUFJJT1JJVFk7ICsraSkKPiAtICAgICAgICAgICAgICAgaWYgKGxp c3RfZW1wdHkoJmJkZXYtPm1hblswXS5scnVbMF0pKQo+ICsgICAgICAgICAgICAgICBpZiAobGlz dF9lbXB0eSgmbWFuLT5scnVbMF0pKQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHByX2RlYnVn KCJTd2FwIGxpc3QgJWQgd2FzIGNsZWFuXG4iLCBpKTsKPiAgICAgICAgIHNwaW5fdW5sb2NrKCZn bG9iLT5scnVfbG9jayk7Cj4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19h cGkuaCBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmgKPiBpbmRleCAyYzg0NjIyZmFhNDQu LjljNTVlYWZkMGU3ZCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5o Cj4gKysrIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaAo+IEBAIC01NDYsMzQgKzU0Niw2 IEBAIHZvaWQgdHRtX21lbV90eXBlX21hbmFnZXJfaW5pdChzdHJ1Y3QgdHRtX2JvX2RldmljZSAq YmRldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR0bV9tZW1fdHlw ZV9tYW5hZ2VyICptYW4sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgcF9zaXplKTsKPgo+IC0vKioKPiAtICogdHRtX2JvX2NsZWFuX21tCj4gLSAqCj4gLSAq IEBiZGV2OiBQb2ludGVyIHRvIGEgdHRtX2JvX2RldmljZSBzdHJ1Y3QuCj4gLSAqIEBtZW1fdHlw ZTogVGhlIG1lbW9yeSB0eXBlLgo+IC0gKgo+IC0gKiBUYWtlIGRvd24gYSBtYW5hZ2VyIGZvciBh IGdpdmVuIG1lbW9yeSB0eXBlIGFmdGVyIGZpcnN0IHdhbGtpbmcKPiAtICogdGhlIExSVSBsaXN0 IHRvIGV2aWN0IGFueSBidWZmZXJzIGxlZnQgYWxpdmUuCj4gLSAqCj4gLSAqIE5vcm1hbGx5LCB0 aGlzIGZ1bmN0aW9uIGlzIHBhcnQgb2YgbGFzdGNsb3NlKCkgb3IgdW5sb2FkKCksIGFuZCBhdCB0 aGF0Cj4gLSAqIHBvaW50IHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgYnVmZmVycyBsZWZ0IGNyZWF0 ZWQgYnkgdXNlci1zcGFjZSwgc2luY2UKPiAtICogdGhlcmUgc2hvdWxkJ3ZlIGJlZW4gcmVtb3Zl ZCBieSB0aGUgZmlsZSBkZXNjcmlwdG9yIHJlbGVhc2UoKSBtZXRob2QuCj4gLSAqIEhvd2V2ZXIs IGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGlzIHJ1biwgbWFrZSBzdXJlIHRvIHNpZ25hbCBhbGwgc3lu YyBvYmplY3RzLAo+IC0gKiBhbmQgdmVyaWZ5IHRoYXQgdGhlIGRlbGF5ZWQgZGVsZXRlIHF1ZXVl IGlzIGVtcHR5LiBUaGUgZHJpdmVyIG11c3QgYWxzbwo+IC0gKiBtYWtlIHN1cmUgdGhhdCB0aGVy ZSBhcmUgbm8gTk9fRVZJQ1QgYnVmZmVycyBwcmVzZW50IGluIHRoaXMgbWVtb3J5IHR5cGUKPiAt ICogd2hlbiB0aGUgY2FsbCBpcyBtYWRlLgo+IC0gKgo+IC0gKiBJZiB0aGlzIGZ1bmN0aW9uIGlz IHBhcnQgb2YgYSBWVCBzd2l0Y2gsIHRoZSBjYWxsZXIgbXVzdCBtYWtlIHN1cmUgdGhhdAo+IC0g KiB0aGVyZSBhcmUgbm8gYXBwaWNhdGlvbnMgY3VycmVudGx5IHZhbGlkYXRpbmcgYnVmZmVycyBi ZWZvcmUgdGhpcwo+IC0gKiBmdW5jdGlvbiBpcyBjYWxsZWQuIFRoZSBjYWxsZXIgY2FuIGRvIHRo YXQgYnkgZmlyc3QgdGFraW5nIHRoZQo+IC0gKiBzdHJ1Y3QgdHRtX2JvX2RldmljZTo6dHRtX2xv Y2sgaW4gd3JpdGUgbW9kZS4KPiAtICoKPiAtICogUmV0dXJuczoKPiAtICogLUVJTlZBTDogaW52 YWxpZCBvciB1bmluaXRpYWxpemVkIG1lbW9yeSB0eXBlLgo+IC0gKiAtRUJVU1k6IFRoZXJlIGFy ZSBzdGlsbCBidWZmZXJzIGxlZnQgaW4gdGhpcyBtZW1vcnkgdHlwZS4KPiAtICovCj4gLWludCB0 dG1fYm9fY2xlYW5fbW0oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHVuc2lnbmVkIG1lbV90 eXBlKTsKPiAtCj4gIC8qKgo+ICAgKiB0dG1fYm9fZXZpY3RfbW0KPiAgICoKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIuaCBiL2luY2x1ZGUvZHJtL3R0bS90dG1f Ym9fZHJpdmVyLmgKPiBpbmRleCA5YjRjMjJhYmMyMmMuLjhjYzM5Y2Q1NWExNCAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCj4gKysrIGIvaW5jbHVkZS9kcm0v dHRtL3R0bV9ib19kcml2ZXIuaAo+IEBAIC00OCwxNiArNDgsNiBAQAo+ICBzdHJ1Y3QgdHRtX21l bV90eXBlX21hbmFnZXI7Cj4KPiAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2Z1bmMgewo+ IC0gICAgICAgLyoqCj4gLSAgICAgICAgKiBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgbWVt YmVyIHRha2Vkb3duCj4gLSAgICAgICAgKgo+IC0gICAgICAgICogQG1hbjogUG9pbnRlciB0byBh IG1lbW9yeSB0eXBlIG1hbmFnZXIuCj4gLSAgICAgICAgKgo+IC0gICAgICAgICogQ2FsbGVkIHRv IHVuZG8gdGhlIHNldHVwIGRvbmUgaW4gaW5pdC4gQWxsIGFsbG9jYXRlZCByZXNvdXJjZXMKPiAt ICAgICAgICAqIHNob3VsZCBiZSBmcmVlZC4KPiAtICAgICAgICAqLwo+IC0gICAgICAgaW50ICAo KnRha2Vkb3duKShzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbik7Cj4gLQo+ICAgICAg ICAgLyoqCj4gICAgICAgICAgKiBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgbWVtYmVyIGdl dF9ub2RlCj4gICAgICAgICAgKgo+IC0tCj4gMi4yNi4yCj4KPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==