From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v1 2/2] drm: delete drmP.h + drm_os_linux.h Date: Mon, 7 Oct 2019 14:17:54 -0400 Message-ID: <20191007181754.GF126146@art_vandelay> References: <20191007171224.1581-1-sam@ravnborg.org> <20191007171224.1581-3-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yb1-xb43.google.com (mail-yb1-xb43.google.com [IPv6:2607:f8b0:4864:20::b43]) by gabe.freedesktop.org (Postfix) with ESMTPS id CD7396E13C for ; Mon, 7 Oct 2019 18:17:56 +0000 (UTC) Received: by mail-yb1-xb43.google.com with SMTP id q143so3737122ybg.12 for ; Mon, 07 Oct 2019 11:17:56 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20191007171224.1581-3-sam@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sam Ravnborg Cc: Maxime Ripard , David Airlie , dri-devel@lists.freedesktop.org, Ben Skeggs , Hans Verkuil , Dariusz Marcinkiewicz , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMDcsIDIwMTkgYXQgMDc6MTI6MjRQTSArMDIwMCwgU2FtIFJhdm5ib3JnIHdy b3RlOgo+IFRoZXJlIGlzIGZpbmFsbHkgbm8gbW9yZSB1c2VycyBsZWZ0IGluIHRoZSBrZXJuZWwg b2YgZHJtUC5oCj4gYW5kIGRybV9vc19saW51eC5oIChkcm1QLmggd2FzIHRoZSBvbmx5IHVzZXIg bGVmdCkuCj4gRGVsZXRlIHRoZSBoZWFkZXIgZmlsZXMgYW5kIGRlbGV0ZSB0aGUgY29ycmVzcG9u ZGluZyB0b2RvIGVudHJ5Lgo+IAo+IFdoZW4gd2Ugc3RhcnRlZCB0aGlzIHF1ZXN0IHRoZXJlIHdh cyBtb3JlIHRoYW4gNzAwIHVzZXJzIG9mIGRybVAuaC4KPiBBbmQgZHJtUC5oIHdhcyBhIGh1Z2Ug Y292ZXItaXQtYWxsIGhlYWRlciBmaWxlLgo+IAo+IERhbmllbCBWZXR0ZXIgaXMgdGhlIG9uZSB0 aGF0IGZvbGxvd2VkIHRoZSB3b3JrIGZyb20gc3RhcnQKPiB0byB0aGUgZW5kIGFuZCBpbiBiZXR3 ZWVuIG1hbnkgcGVvcGxlIGhhdmUgY29udHJpYnV0ZWQgdG8gdGhlCj4gcmVtb3ZhbCBwcm9jZXNz IC0gdGhhbmtzIHRvIGV2ZXJ5b25lIQo+IAo+IFNpZ25lZC1vZmYtYnk6IFNhbSBSYXZuYm9yZyA8 c2FtQHJhdm5ib3JnLm9yZz4KPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hv cnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwu b3JnPgo+IENjOiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KCgpcby8KTmljZSB3b3JrIQoK UmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgoKPiBDYzogRGF2aWQgQWly bGllIDxhaXJsaWVkQGxpbnV4LmllPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwu Y2g+Cj4gLS0tCj4gIERvY3VtZW50YXRpb24vZ3B1L3RvZG8ucnN0IHwgIDEyIC0tLS0tCj4gIGlu Y2x1ZGUvZHJtL2RybVAuaCAgICAgICAgIHwgMTAzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX29zX2xpbnV4LmggfCAgNTUgLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAxNzAgZGVsZXRpb25zKC0pCj4gIGRlbGV0 ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2RybS9kcm1QLmgKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IGlu Y2x1ZGUvZHJtL2RybV9vc19saW51eC5oCj4gCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v Z3B1L3RvZG8ucnN0IGIvRG9jdW1lbnRhdGlvbi9ncHUvdG9kby5yc3QKPiBpbmRleCA4ZGMxNDdj OTNjOWMuLjc5Nzg1NTU5ZDcxMSAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS90b2Rv LnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L3RvZG8ucnN0Cj4gQEAgLTI5OSwxOCArMjk5 LDYgQEAgY29ubmVjdG9yIHJlZ2lzdGVyL3VucmVnaXN0ZXIgZml4ZXMKPiAgQ29yZSByZWZhY3Rv cmluZ3MKPiAgPT09PT09PT09PT09PT09PT0KPiAgCj4gLUNsZWFuIHVwIHRoZSBEUk0gaGVhZGVy IG1lc3MKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IC0KPiAtVGhlIERSTSBzdWJz eXN0ZW0gb3JpZ2luYWxseSBoYWQgb25seSBvbmUgaHVnZSBnbG9iYWwgaGVhZGVyLCBgYGRybVAu aGBgLiBUaGlzCj4gLWlzIG5vdyBzcGxpdCB1cCwgYnV0IG1hbnkgc291cmNlIGZpbGVzIHN0aWxs IGluY2x1ZGUgaXQuIFRoZSByZW1haW5pbmcgcGFydCBvZgo+IC10aGUgY2xlYW51cCB3b3JrIGhl cmUgaXMgdG8gcmVwbGFjZSBhbnkgYGAjaW5jbHVkZSA8ZHJtL2RybVAuaD5gYCBieSBvbmx5IHRo ZQo+IC1oZWFkZXJzIG5lZWRlZCAoYW5kIGZpeGluZyB1cCBhbnkgbWlzc2luZyBwcmUtZGVjbGFy YXRpb25zIGluIHRoZSBoZWFkZXJzKS4KPiAtCj4gLUluIHRoZSBlbmQgbm8gLmMgZmlsZSBzaG91 bGQgbmVlZCB0byBpbmNsdWRlIGBgZHJtUC5oYGAgYW55bW9yZS4KPiAtCj4gLUNvbnRhY3Q6IERh bmllbCBWZXR0ZXIKPiAtCj4gIE1ha2UgcGFuaWMgaGFuZGxpbmcgd29yawo+ICAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAuaCBiL2lu Y2x1ZGUvZHJtL2RybVAuaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAzN2Ix ZjdhODdhNS4uMDAwMDAwMDAwMDAwCj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtUC5oCj4gKysrIC9k ZXYvbnVsbAo+IEBAIC0xLDEwMyArMCwwIEBACj4gLS8qCj4gLSAqIEludGVybmFsIEhlYWRlciBm b3IgdGhlIERpcmVjdCBSZW5kZXJpbmcgTWFuYWdlcgo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgMTk5 OSBQcmVjaXNpb24gSW5zaWdodCwgSW5jLiwgQ2VkYXIgUGFyaywgVGV4YXMuCj4gLSAqIENvcHly aWdodCAyMDAwIFZBIExpbnV4IFN5c3RlbXMsIEluYy4sIFN1bm55dmFsZSwgQ2FsaWZvcm5pYS4K PiAtICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTAsIENvZGUgQXVyb3JhIEZvcnVtLgo+IC0gKiBB bGwgcmlnaHRzIHJlc2VydmVkLgo+IC0gKgo+IC0gKiBBdXRob3I6IFJpY2thcmQgRS4gKFJpaykg RmFpdGggPGZhaXRoQHZhbGludXguY29tPgo+IC0gKiBBdXRob3I6IEdhcmV0aCBIdWdoZXMgPGdh cmV0aEB2YWxpbnV4LmNvbT4KPiAtICoKPiAtICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiAtICogY29weSBv ZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAi U29mdHdhcmUiKSwKPiAtICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmlj dGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+IC0gKiB0aGUgcmlnaHRzIHRvIHVz ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwK PiAtICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBw ZXJzb25zIHRvIHdob20gdGhlCj4gLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywg c3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gLSAqCj4gLSAqIFRoZSBhYm92 ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcg dGhlIG5leHQKPiAtICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVz IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+IC0gKiBTb2Z0d2FyZS4KPiAtICoKPiAt ICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg QU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVO VCBTSEFMTAo+IC0gKiBWQSBMSU5VWCBTWVNURU1TIEFORC9PUiBJVFMgU1VQUExJRVJTIEJFIExJ QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCj4gLSAqIE9USEVSIExJQUJJTElUWSwgV0hF VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAo+IC0gKiBB UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9S IFRIRSBVU0UgT1IKPiAtICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+IC0gKi8K PiAtCj4gLSNpZm5kZWYgX0RSTV9QX0hfCj4gLSNkZWZpbmUgX0RSTV9QX0hfCj4gLQo+IC0jaW5j bHVkZSA8bGludXgvYWdwX2JhY2tlbmQuaD4KPiAtI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KPiAt I2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9maWxlLmg+ Cj4gLSNpbmNsdWRlIDxsaW51eC9mcy5oPgo+IC0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgo+ IC0jaW5jbHVkZSA8bGludXgvaWRyLmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Cj4gLSNp bmNsdWRlIDxsaW51eC9pby5oPgo+IC0jaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgo+IC0jaW5j bHVkZSA8bGludXgva2VybmVsLmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9rcmVmLmg+Cj4gLSNpbmNs dWRlIDxsaW51eC9taXNjZGV2aWNlLmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9tbS5oPgo+IC0jaW5j bHVkZSA8bGludXgvbXV0ZXguaD4KPiAtI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5o Pgo+IC0jaW5jbHVkZSA8bGludXgvcG9sbC5oPgo+IC0jaW5jbHVkZSA8bGludXgvcmF0ZWxpbWl0 Lmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgo+IC0jaW5jbHVkZSA8bGludXgvc2xhYi5o Pgo+IC0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KPiAtI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2Mu aD4KPiAtI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgo+IC0jaW5jbHVkZSA8bGludXgvZG1h LWZlbmNlLmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiAtI2luY2x1ZGUgPGxpbnV4 L21tYW4uaD4KPiAtI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+Cj4gLSNpbmNsdWRlIDxsaW51eC91 YWNjZXNzLmg+Cj4gLQo+IC0jaW5jbHVkZSA8dWFwaS9kcm0vZHJtLmg+Cj4gLSNpbmNsdWRlIDx1 YXBpL2RybS9kcm1fbW9kZS5oPgo+IC0KPiAtI2luY2x1ZGUgPGRybS9kcm1fYWdwc3VwcG9ydC5o Pgo+IC0jaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJj Yy5oPgo+IC0jaW5jbHVkZSA8ZHJtL2RybV9oYXNodGFiLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJt X21tLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX29zX2xpbnV4Lmg+Cj4gLSNpbmNsdWRlIDxkcm0v ZHJtX3NhcmVhLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX2Rydi5oPgo+IC0jaW5jbHVkZSA8ZHJt L2RybV9wcmltZS5oPgo+IC0jaW5jbHVkZSA8ZHJtL2RybV9wcmludC5oPgo+IC0jaW5jbHVkZSA8 ZHJtL2RybV9wY2kuaD4KPiAtI2luY2x1ZGUgPGRybS9kcm1fZmlsZS5oPgo+IC0jaW5jbHVkZSA8 ZHJtL2RybV9kZWJ1Z2ZzLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX2lvY3RsLmg+Cj4gLSNpbmNs dWRlIDxkcm0vZHJtX3N5c2ZzLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX3ZibGFuay5oPgo+IC0j aW5jbHVkZSA8ZHJtL2RybV9pcnEuaD4KPiAtI2luY2x1ZGUgPGRybS9kcm1fZGV2aWNlLmg+Cj4g LQo+IC1zdHJ1Y3QgbW9kdWxlOwo+IC0KPiAtc3RydWN0IGRldmljZV9ub2RlOwo+IC1zdHJ1Y3Qg dmlkZW9tb2RlOwo+IC1zdHJ1Y3QgZG1hX3Jlc3Y7Cj4gLXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1l bnQ7Cj4gLQo+IC1zdHJ1Y3QgcGNpX2RldjsKPiAtc3RydWN0IHBjaV9jb250cm9sbGVyOwo+IC0K PiAtLyoKPiAtICogTk9URTogZHJtUC5oIGlzIG9ic29sZXRlIC0gZG8gTk9UIGFkZCBhbnl0aGlu ZyB0byB0aGlzIGZpbGUKPiAtICoKPiAtICogRG8gbm90IGluY2x1ZGUgZHJtUC5oIGluIG5ldyBm aWxlcy4KPiAtICogV29yayBpcyBvbmdvaW5nIHRvIHJlbW92ZSBkcm1QLmggaW5jbHVkZXMgZnJv bSBleGlzdGluZyBmaWxlcwo+IC0gKi8KPiAtCj4gLSNlbmRpZgo+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fb3NfbGludXguaCBiL2luY2x1ZGUvZHJtL2RybV9vc19saW51eC5oCj4gZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggZWU4ZDYxYjY0ZjI5Li4wMDAwMDAwMDAwMDAK PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fb3NfbGludXguaAo+ICsrKyAvZGV2L251bGwKPiBAQCAt MSw1NSArMCwwIEBACj4gLS8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovCj4g LS8qKgo+IC0gKiBcZmlsZSBkcm1fb3NfbGludXguaAo+IC0gKiBPUyBhYnN0cmFjdGlvbiBtYWNy b3MuCj4gLSAqLwo+IC0KPiAtI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgkvKiBGb3IgdGFz ayBxdWV1ZSBzdXBwb3J0ICovCj4gLSNpbmNsdWRlIDxsaW51eC9zY2hlZC9zaWduYWwuaD4KPiAt I2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9pby02NC1ub25hdG9t aWMtbG8taGkuaD4KPiAtCj4gLS8qKiBDdXJyZW50IHByb2Nlc3MgSUQgKi8KPiAtI2RlZmluZSBE Uk1fQ1VSUkVOVFBJRAkJCXRhc2tfcGlkX25yKGN1cnJlbnQpCj4gLSNkZWZpbmUgRFJNX1VERUxB WShkKQkJCXVkZWxheShkKQo+IC0vKiogUmVhZCBhIGJ5dGUgZnJvbSBhIE1NSU8gcmVnaW9uICov Cj4gLSNkZWZpbmUgRFJNX1JFQUQ4KG1hcCwgb2Zmc2V0KQkJcmVhZGIoKCh2b2lkIF9faW9tZW0g KikobWFwKS0+aGFuZGxlKSArIChvZmZzZXQpKQo+IC0vKiogUmVhZCBhIHdvcmQgZnJvbSBhIE1N SU8gcmVnaW9uICovCj4gLSNkZWZpbmUgRFJNX1JFQUQxNihtYXAsIG9mZnNldCkgICAgICAgICBy ZWFkdygoKHZvaWQgX19pb21lbSAqKShtYXApLT5oYW5kbGUpICsgKG9mZnNldCkpCj4gLS8qKiBS ZWFkIGEgZHdvcmQgZnJvbSBhIE1NSU8gcmVnaW9uICovCj4gLSNkZWZpbmUgRFJNX1JFQUQzMiht YXAsIG9mZnNldCkJCXJlYWRsKCgodm9pZCBfX2lvbWVtICopKG1hcCktPmhhbmRsZSkgKyAob2Zm c2V0KSkKPiAtLyoqIFdyaXRlIGEgYnl0ZSBpbnRvIGEgTU1JTyByZWdpb24gKi8KPiAtI2RlZmlu ZSBEUk1fV1JJVEU4KG1hcCwgb2Zmc2V0LCB2YWwpCXdyaXRlYih2YWwsICgodm9pZCBfX2lvbWVt ICopKG1hcCktPmhhbmRsZSkgKyAob2Zmc2V0KSkKPiAtLyoqIFdyaXRlIGEgd29yZCBpbnRvIGEg TU1JTyByZWdpb24gKi8KPiAtI2RlZmluZSBEUk1fV1JJVEUxNihtYXAsIG9mZnNldCwgdmFsKSAg IHdyaXRldyh2YWwsICgodm9pZCBfX2lvbWVtICopKG1hcCktPmhhbmRsZSkgKyAob2Zmc2V0KSkK PiAtLyoqIFdyaXRlIGEgZHdvcmQgaW50byBhIE1NSU8gcmVnaW9uICovCj4gLSNkZWZpbmUgRFJN X1dSSVRFMzIobWFwLCBvZmZzZXQsIHZhbCkJd3JpdGVsKHZhbCwgKCh2b2lkIF9faW9tZW0gKiko bWFwKS0+aGFuZGxlKSArIChvZmZzZXQpKQo+IC0KPiAtLyoqIFJlYWQgYSBxd29yZCBmcm9tIGEg TU1JTyByZWdpb24gLSBiZSBjYXJlZnVsIHVzaW5nIHRoZXNlIHVubGVzcyB5b3UgcmVhbGx5IHVu ZGVyc3RhbmQgdGhlbSAqLwo+IC0jZGVmaW5lIERSTV9SRUFENjQobWFwLCBvZmZzZXQpCQlyZWFk cSgoKHZvaWQgX19pb21lbSAqKShtYXApLT5oYW5kbGUpICsgKG9mZnNldCkpCj4gLS8qKiBXcml0 ZSBhIHF3b3JkIGludG8gYSBNTUlPIHJlZ2lvbiAqLwo+IC0jZGVmaW5lIERSTV9XUklURTY0KG1h cCwgb2Zmc2V0LCB2YWwpCXdyaXRlcSh2YWwsICgodm9pZCBfX2lvbWVtICopKG1hcCktPmhhbmRs ZSkgKyAob2Zmc2V0KSkKPiAtCj4gLSNkZWZpbmUgRFJNX1dBSVRfT04oIHJldCwgcXVldWUsIHRp bWVvdXQsIGNvbmRpdGlvbiApCQlcCj4gLWRvIHsJCQkJCQkJCVwKPiAtCURFQ0xBUkVfV0FJVFFV RVVFKGVudHJ5LCBjdXJyZW50KTsJCQlcCj4gLQl1bnNpZ25lZCBsb25nIGVuZCA9IGppZmZpZXMg KyAodGltZW91dCk7CQlcCj4gLQlhZGRfd2FpdF9xdWV1ZSgmKHF1ZXVlKSwgJmVudHJ5KTsJCQlc Cj4gLQkJCQkJCQkJXAo+IC0JZm9yICg7OykgewkJCQkJCVwKPiAtCQlfX3NldF9jdXJyZW50X3N0 YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7CVwKPiAtCQlpZiAoY29uZGl0aW9uKQkJCQkJXAo+IC0J CQlicmVhazsJCQkJCVwKPiAtCQlpZiAodGltZV9hZnRlcl9lcShqaWZmaWVzLCBlbmQpKSB7CQlc Cj4gLQkJCXJldCA9IC1FQlVTWTsJCQkJXAo+IC0JCQlicmVhazsJCQkJCVwKPiAtCQl9CQkJCQkJ XAo+IC0JCXNjaGVkdWxlX3RpbWVvdXQoKEhaLzEwMCA+IDEpID8gSFovMTAwIDogMSk7CVwKPiAt CQlpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHsJCQlcCj4gLQkJCXJldCA9IC1FSU5UUjsJ CQkJXAo+IC0JCQlicmVhazsJCQkJCVwKPiAtCQl9CQkJCQkJXAo+IC0JfQkJCQkJCQlcCj4gLQlf X3NldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7CQkJXAo+IC0JcmVtb3ZlX3dhaXRfcXVl dWUoJihxdWV1ZSksICZlbnRyeSk7CQkJXAo+IC19IHdoaWxlICgwKQo+IC0tIAo+IDIuMjAuMQo+ IAoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9T Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==