From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 04/13] drm/i915: Add EDID read in intel_dp_check_link_status() for Link CTS 4.2.2.1 Date: Wed, 15 Apr 2015 14:42:54 -0300 Message-ID: References: <1428682372-21586-5-git-send-email-tprevite@gmail.com> <1428936789-13435-1-git-send-email-tprevite@gmail.com> <552E85A7.9070402@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-vn0-f54.google.com (mail-vn0-f54.google.com [209.85.216.54]) by gabe.freedesktop.org (Postfix) with ESMTP id D9C406E89D for ; Wed, 15 Apr 2015 10:42:54 -0700 (PDT) Received: by vnbg190 with SMTP id g190so17847602vnb.8 for ; Wed, 15 Apr 2015 10:42:54 -0700 (PDT) In-Reply-To: <552E85A7.9070402@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Todd Previte Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org MjAxNS0wNC0xNSAxMjozNyBHTVQtMDM6MDAgVG9kZCBQcmV2aXRlIDx0cHJldml0ZUBnbWFpbC5j b20+Ogo+Cj4KPiBPbiA0LzE0LzIwMTUgOTo1MyBBTSwgUGF1bG8gWmFub25pIHdyb3RlOgo+Pgo+ PiAyMDE1LTA0LTEzIDExOjUzIEdNVC0wMzowMCBUb2RkIFByZXZpdGUgPHRwcmV2aXRlQGdtYWls LmNvbT46Cj4+Pgo+Pj4gQWRkcyBpbiBhbiBFRElEIHJlYWQgYWZ0ZXIgdGhlIERQQ0QgcmVhZCB0 byBhY2NvbW1vZGF0ZSB0ZXN0IDQuMi4yLjEgaW4KPj4+IHRoZQo+Pj4gRGlzcGxheXBvcnQgTGlu ayBDVFMgQ29yZSAxLjIgcmV2MS4xLiBUaGlzIHRlc3QgcmVxdWlyZXMgYW4gRURJRCByZWFkIGZv cgo+Pj4gYWxsIEhQRCBwbHVnIGV2ZW50cy4gVG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgY29kZSwg dGhpcyBFRElEIHJlYWQgaXMgYWxzbwo+Pj4gdXNlZCBmb3IgTGluayBDVFMgdGVzdHMgNC4yLjIu MywgNC4yLjIuNCwgNC4yLjIuNSBhbmQgNC4yLjIuNi4gQWN0dWFsCj4+PiBzdXBwb3J0IGZvciB0 aGVzZSB0ZXN0cyBpcyBpbXBsZW1lbnRlZCBpbiBsYXRlciBwYXRjaGVzIGluIHRoaXMgc2VyaWVz Lgo+Pj4KPj4+IFYyOgo+Pj4gLSBGaXhlZCBjb21waWxhdGlvbiBlcnJvciBpbnRyb2R1Y2VkIGR1 cmluZyByZXdvcmsKPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBUb2RkIFByZXZpdGUgPHRwcmV2aXRl QGdtYWlsLmNvbT4KPj4+IC0tLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j IHwgMTEgKysrKysrKysrKysKPj4+ICAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykK Pj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4g Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+PiBpbmRleCAyMzE4NGIwLi43NWRm M2UyIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4gQEAgLTM4OTAsNiArMzg5 MCw5IEBAIGludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKHN0cnVjdCBpbnRlbF9kcAo+Pj4gKmlu dGVsX2RwKQo+Pj4gICB7Cj4+PiAgICAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50 ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPj4+ICAgICAgICAgIHN0cnVjdCBpbnRlbF9lbmNvZGVy ICppbnRlbF9lbmNvZGVyID0KPj4+ICZkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2U7Cj4+ PiArICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPQo+Pj4gJmludGVsX2Rw LT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4+PiArICAgICAgIHN0cnVjdCBpMmNfYWRhcHRl ciAqYWRhcHRlciA9ICZpbnRlbF9kcC0+YXV4LmRkYzsKPj4+ICsgICAgICAgc3RydWN0IGVkaWQg KmVkaWRfcmVhZCA9IE5VTEw7Cj4+PiAgICAgICAgICB1OCBzaW5rX2lycV92ZWN0b3I7Cj4+PiAg ICAgICAgICB1OCBsaW5rX3N0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXTsKPj4+Cj4+PiBAQCAt MzkwNiw2ICszOTA5LDE0IEBAIGludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKHN0cnVjdCBpbnRl bF9kcAo+Pj4gKmludGVsX2RwKQo+Pj4gICAgICAgICAgICAgICAgICByZXR1cm47Cj4+PiAgICAg ICAgICB9Cj4+Pgo+Pj4gKyAgICAgICAvKiBEaXNwbGF5cG9ydCBMaW5rIENUUyBDb3JlIDEuMiBy ZXYxLjEgRURJRCB0ZXN0aW5nCj4+PiArICAgICAgICAqIDQuMi4yLjEgLSBFRElEIHJlYWQgcmVx dWlyZWQgZm9yIGFsbCBIUEQgZXZlbnRzCj4+PiArICAgICAgICAgKi8KPj4+ICsgICAgICAgIGVk aWRfcmVhZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsIGFkYXB0ZXIpOwo+Pj4gKyAgICAgICAg aWYgKCFlZGlkX3JlYWQpIHsKPj4+ICsgICAgICAgICAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigi SW52YWxpZCBFRElEIGRldGVjdGVkXG4iKTsKPj4+ICsgICAgICAgIH0KPj4+ICsKPj4KPj4gV2Ug YWxyZWFkeSBicmllZmx5IGRpc2N1c3NlZCB0aGlzIHBhdGNoIGluIHByaXZhdGUsIHNvIEknbSBn b2luZyB0bwo+PiBzdW1tYXJpemUgdGhlIGRpc2N1c3Npb24gYW5kIGFsc28gYWRkIHNvbWUgbW9y ZSBwb2ludHMgaGVyZS4KPj4KPj4gRnJpc3QsIHRoZSBhY3R1YWwgZGV0YWlsZWQgcmV2aWV3OiB0 aGUgaW5kZW50YXRpb24gaGVyZSBpcyB1c2luZwo+PiBzcGFjZXMgYW5kIHdlJ3JlIGxlYWtpbmcg dGhlIEVESUQuIFRoaXMgd2lsbCBjYXVzZSByZWJhc2VzIHRvIGEgZmV3IG9mCj4+IHRoZSBuZXh0 IHBhdGNoZXMuCj4+Cj4+IEJhY2sgdG8gdGhlIGhpZ2h0IGxldmVsIGFyY2hpdGVjdHVyZTogeW91 ciBpbml0aWFsIHZlcnNpb25zIG9mIHRoZQo+PiBzZXJpZXMgY29udGFpbmVkIGp1c3QgMSBleHRy YSBFRElEIHJlYWQsIGFuZCBpdCB3YXMgY29udGFpbmVkIGluc2lkZQo+PiB0aGUgY29tcGxpYW5j ZSB0ZXN0aW5nIGZ1bmN0aW9uLiBUaGVuIHRoZSB2ZXJzaW9ucyBzdWJtaXR0ZWQgYSBmZXcKPj4g ZGF5cyBhZ28gaGFkIDIgZXh0cmEgRURJRCByZWFkcywgdGhlbiBhZnRlciBzb21lIGRpc2N1c3Np b24geW91Cj4+IHJlZHVjZWQgdG8gMSBleHRyYSBFRElEIHJlYWQgKHRoZSBvbmUgb24gdGhpcyBw YXRjaCkuIEkgcHJldmlvdXNseQo+PiBhc2tlZCAiQnV0IHdoYXQgYWJvdXQgdGhlIGF1dG9tYXRp YyBFRElEIHJlYWQgd2UgZG8gd2hlbiB3ZSBnZXQgYQo+PiBob3RwbHVnPyBDYW4ndCB3ZSBqdXN0 IHJlbHkgb24gaXQ/Ii4gSSBnb3Qgc29tZSBhbnN3ZXJzIHRvIHRoZQo+PiBxdWVzdGlvbiwgYnV0 IEkgd2FzIG5vdCByZWFsbHkgY29udmluY2VkLgo+Pgo+PiBZZXN0ZXJkYXkgSSB3YXMgYXJndWlu ZyB0aGF0IHRoaXMgZXh0cmEgRURJRCByZWFkIGlzIGdvaW5nIHRvIGFkZCBhCj4+IHNtYWxsIGRl bGF5IHRvIGV2ZXJ5IGhvdHBsdWcgZXZlbnQgd2UgZ2V0LCBzbyBteSBpbml0aWFsIHN1Z2dlc3Rp b24KPj4gd2FzIHRvIG9yZ2FuaXplIHRoZSBjb21wbGlhbmNlIHRlc3RpbmcgaW4gYSB3YXkgdGhh dCB3b3VsZCByZXF1aXJlIHRoZQo+PiB1c2VyIHNwYWNlIHByb2dyYW0gdG8gY2FsbCB0aGUgR2V0 UmVzb3VyY2VzKCkgSU9DVEwgdG8gZm9yY2UgdGhlIEVESUQKPj4gd2hlbiBuZWVkZWQuIFlvdXIg YXJndW1lbnQgd2FzIHRoYXQgdGhlbiB0aGUgRFAgY29tcGxpYW5jZSB0ZXN0aW5nCj4+IHByb2Nl ZHVyZSB3b3VsZCBiZSB0ZXN0aW5nIG91ciBhcHAgZm9yIGNvbXBsaWFuY2UsIG5vdCB0aGUgS2Vy bmVsLgo+Pgo+PiBCdXQgdG9kYXkgSSBkZWNpZGVkIHRvIGZpbmFsbHkgZG8gc29tZSBkZWJ1Z2dp bmcgcmVnYXJkaW5nIHRoaXMsIGFuZCBJCj4+IHdhcyBhYmxlIHRvIGNvbmZpcm0gdGhhdCB3ZSBk byBmb2xsb3cgdGhlIERQIHJlcXVpcmVtZW50czogd2UgZG8gaGF2ZQo+PiBhbiBhdXRvbWF0aWMg RURJRCByZWFkIGRvbmUgYnkgdGhlIEtlcm5lbCB3aGVuZXZlciB3ZSBkbyBhIGhvdHBsdWc6Cj4+ IGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoKSBjYWxscyBpbnRlbF9kcF9kZXRlY3QoKSwgd2hpY2gg ZW5kcyBjYWxsaW5nCj4+IGRybV9nZXRfZWRpZCgpIGF0IHNvbWUgcG9pbnQuIFRoaXMgZnVuY3Rp b24gYWxzbyBkb2VzIG90aGVyIHN0dWZmIHRoYXQKPj4gaXMgcmVxdWlyZWQgYnkgdGhlIGNvbXBs aWFuY2UgdGVzdGluZywgc3VjaCBhcyB0aGUgRFBDRCByZWFkcy4KPj4KPj4gTm93IHRoZXJlJ3Mg YSBwcm9ibGVtIHdpdGggdXNpbmcgaTkxNV9ob3RwbHVnX3dvcmtfZnVuYygpLCB3aGljaCBjb3Vs ZAo+PiB0aGUgcmVhc29uIHdoeSB5b3UgcmVqZWN0ZWQgaXQ6IGl0IG9ubHkgaGFwcGVucyBhZnRl cgo+PiBpbnRlbF9kcF9ocGRfcHVsc2UoKSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBvbmx5IHJlYWxs eSBkbyB0aGUgRURJRCByZWFkCj4+IGFmdGVyIGludGVsX2RwX2hhbmRsZV90ZXN0X3JlcXVlc3Qo KS4KPj4KPj4gSSBjb25zaWRlciBpOTE1X2hvdHBsdWdfd29ya19mdW5jKCkgYSBmdW5kYW1lbnRh bCBwYXJ0IG9mIG91ciBEUAo+PiBmcmFtZXdvcmssIGFuZCB0aGUgRFAgY29tcGxpYW5jZSB0ZXN0 aW5nIHNlZW1zIHRvIGJlIGp1c3QgaWdub3JpbmcgaXRzCj4+IGV4aXN0ZW5jZS4gU28gbXkgaWRl YSBmb3IgYSBzb2x1dGlvbiBoZXJlIHdvdWxkIGJlIHRvIG1ha2UKPj4gaW50ZWxfZHBfaGFuZGxl X3Rlc3RfcmVxdWVzdCgpIHJ1biBvbiBpdHMgb3duIGRlbGF5ZWQgd29yayBmdW5jdGlvbi4KPj4g SXQgd291bGQgd2FpdCBmb3IgYm90aCBpOTE1X2RpZ3BvcnRfd29ya19mdW5jKCkgYW5kCj4+IGk5 MTVfaG90cGx1Z193b3JrX2Z1bmMoKSB0byBmaW5pc2gsIGFuZCBvbmx5IHRoZW4gaXQgd291bGQg ZG8gdGhlCj4+IG5vcm1hbCBwcm9jZXNzaW5nLiBXaXRoIHRoaXMsIHdlIHdvdWxkIGJlIGFibGUg dG8gYXZvaWQgdGhlIGVkaWQgcmVhZAo+PiBvbiB0aGlzIHBhdGNoLCB3ZSB3b3VsZCBtYXliZSBi ZSBhYmxlIHRvIGF2b2lkIGF0IGxlYXN0IHBhcnQgb2YgcGF0Y2gKPj4gMiwgd2Ugd291bGQgbWF5 YmUgYmUgYWJsZSB0byBjb21wbGV0ZWx5IGF2b2lkIHBhdGNoIDcsIGFuZCB0aGVuIG9uCj4+IHBh dGNoIDggd2Ugd291bGQgc3RhcnQgdG91Y2hpbmcgaW50ZWxfZHBfZ2V0X2VkaWQoKSBpbnN0ZWFk Lgo+Pgo+PiBJIGtub3cgdGhpcyBpcyBzb3J0IG9mIGEgZnVuZGFtZW50YWwgY2hhbmdlIHRoYXQg aXMgYmVpbmcgcmVxdWVzdGVkIGEKPj4gbGl0dGxlIGxhdGUgaW4gdGhlIHJldmlldyBwcm9jZXNz LCBhbmQgaXQgY2FuIGJlIGZydXN0cmF0aW5nLCBidXQgdGhpcwo+PiBhc3BlY3Qgb2YgdGhlIGNv ZGUgb25seSByZWNlbnRseSBjaGFuZ2VkIChJIHdhcyBmaW5lIHdpdGggdGhlIEVESUQKPj4gcmVh ZHMganVzdCBpbiB0aGUgY29tcGxpYW5jZSB0ZXN0aW5nIGZ1bmN0aW9uKSwgYW5kIHNpbmNlIHRo ZSBEUAo+PiBjb21wbGlhbmNlIGNvZGUgaXMgcXVpdGUgY29tcGxleCwgaXQgdG9vayBtZSBhIHdo aWxlIHRvIHJlYWxpemUKPj4gZXZlcnl0aGluZyB0aGF0J3MgZ29pbmcgb24gYW5kIHdoYXQgaXMg dGhlIHB1cnBvc2Ugb2YgZWFjaCBwaWVjZS4gSQo+PiBhbHNvIHRoaW5rIHRoYXQsIHNpbmNlIHRo aXMgaWRlYSB3aWxsIGFsbG93IHRoZSBjb21wbGlhbmNlIHRlc3RpbmcgdG8KPj4gdGFrZSBpbnRv IGNvbnNpZGVyYXRpb24gdGhlIHdvcmsgZG9uZSBieSBpOTE1X2hvdHBsdWdfd29ya19mdW5jKCks Cj4+IGNvbXBsaWFuY2UgdGVzdGluZyB3aWxsIGJldHRlciByZWZsZWN0IHRoZSBiZWhhdmlvciB0 aGF0IGlzIGFjdHVhbGx5Cj4+IGRvbmUgYnkgdGhlIEtlcm5lbCB3aGVuIERQIGRldmljZXMgYXJl IHBsdWdnZWQvdW5wbHVnZ2VkLiBBbmQgSSBkaWQKPj4gYXNrIGFib3V0IHRob3NlIG5ldyBFRElE IHJlYWRzIGFzIHNvb24gYXMgSSBzdGFydGVkIHJldmlld2luZyB0aGUKPj4gcGF0Y2ggdGhhdCBp bnRyb2R1Y2VkIHRoZW0uCj4+Cj4+IE5vdywgc2luY2UgSSBrbm93IGhvdyBmcnVzdHJhdGluZyBp dCBpcyB0byBoYXZlIHRvIGNoYW5nZSBhCj4+IHNpZ25pZmljYW50IHBvcnRpb24gb2YgdGhlIGNv ZGUgb25jZSBhZ2FpbiwgSSB3aWxsIGxlYXZlIHRvIHRoZQo+PiBtYWludGFpbmVycyB0aGUgZGVj aXNpb24gb2Ygd2hldGhlciB0aGUgY3VycmVudCBwcm9wb3NlZAo+PiBpbXBsZW1lbnRhdGlvbiBp cyBhY2NlcHRhYmxlIG9yIGlmIHdlIHdhbnQgdG8gbWFrZSB0aGUgRFAgY29tcGxpYW5jZQo+PiB0 ZXN0aW5nIGNvZGUgdGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gdGhlIHdvcmsgZG9uZSBieQo+PiBp OTE1X2hvdHBsdWdfd29ya19mdW5jKCkuIEkgd291bGQgYWxzbyBsaWtlIHRvIGtub3cgeW91ciBv cGluaW9uIG9uCj4+IHRoaXMuIE1heWJlIG15IGlkZWEganVzdCBkb2Vzbid0IG1ha2Ugc2Vuc2Ug YmVjYXVzZSBvZiBzb21ldGhpbmcgZWxzZQo+PiBJIGRpZG4ndCByZWFsaXplIDopCj4KPiBJIGRv bid0IHRoaW5rIHRoaXMgaXMgYSBnb29kIGlkZWEuIFRoZSB3b3JrIGxvb3AgYXNwZWN0IHNlZW1z IGxpa2UgYSB2ZXJ5Cj4gY29tcGxleCBzb2x1dGlvbiBzb2x1dGlvbiB0byBhIHByb2JsZW0gdGhh dCBpcyByZWxhdGl2ZWx5IHNpbXBsZS4gSW4gYQo+IGRpc2N1c3Npb24gd2l0aCBEYW5pZWwsIGhl IGluZGljYXRlZCB0aGF0IGFkZGluZyBhIHdvcmsgbG9vcCBpcyBzb21ldGhpbmcgdG8KPiBiZSBh dm9pZGVkIHVubGVzcyBpdCdzICpyZWFsbHkqIG5lY2Vzc2FyeSwgYXMgdGhleSBhcmUgcHJvbmUg dG8gcmFjZQo+IGNvbmRpdGlvbnMuIEluIHRoaXMgY2FzZSwgSSBqdXN0IGRvbid0IHNlZSB0aGF0 IGl0J3MgbmVjZXNzYXJ5LgoKVGhlIHdvcmtxdWV1ZSB0aGluZyB3YXMganVzdCBhbiBpZGVhIHRv IGltcGxlbWVudCBhIHNvbHV0aW9uIGZvciB0aGUKcmVhbCBwcm9ibGVtLiBJIHRoaW5rIHdlIHNo b3VsZCBiZSBmb2N1c2luZyBhYm91dCBkaXNjdXNzaW5nIHRoZSBmYWN0CnRoYXQgd2UncmUgbm90 IHRha2luZyBpOTE1X2hvdHBsdWdfd29ya19mdW5jKCkgaW50byBjb25zaWRlcmF0aW9uIHdoZW4K ZG9pbmcgdGhlIGNvbXBsaWFuY2UgdGVzdGluZywgbm90IG9uIHRoZSBmYWN0IHRoYXQgb25lIG9m IHRoZSBwb3NzaWJsZQppbXBsZW1lbnRhdGlvbnMgY291bGQgdXNlIGEgd29ya3F1ZXVlLiBJJ2Qg c3RpbGwgbGlrZSB0byBoZWFyIHlvdXIKYXJndW1lbnRzIG9uIHRoYXQuCgoKPiBBZGRpdGlvbmFs bHksIHlvdSBoYXZlIGJlZW4ga2VlbiB0byBub3RlIGludmFzaXZlIHNvbHV0aW9ucyBhbmQgdGhp cyBzZWVtcwo+IGxpa2UgYSBoaWdobHkgaW52YXNpdmUgc29sdXRpb24gZXNwZWNpYWxseSBpbiBs aWdodCBvZiBoYXZpbmcgYSB2aWFibGUgb25lCj4gcmlnaHQgaGVyZS4KPgo+IFRoaXMgc29sdXRp b24gYWRkcyB2ZXJ5IGxpdHRsZSBvdmVyaGVhZCBhbG9uZyB0aGUgSFBEIHBhdGggYW5kIHRoYXQg b3ZlcmhlYWQKPiBpcyBhIHNpbmdsZSByZWFkIG9mIHRoZSBFRElEIGZvciBlYWNoIGV2ZW50LiBU byBmdXJ0aGVyIGFkZHJlc3MgYW55IGNvbmNlcm5zCj4gYWJvdXQgcGVyZm9ybWFuY2UsIGZvciBW NiBJJ3ZlIHByb3BhZ2F0ZWQgdGhlIGxvbmdfaHBkIGZsYWcgZm9yd2FyZCBpbnRvCj4gY2hlY2tf bGlua19zdGF0dXMgc28gdGhhdCB0aGUgRURJRCByZWFkIGlzIG9ubHkgY2FsbGVkIGZvciBhIGhv dCBwbHVnIGV2ZW50LAo+IG5vdCBzaG9ydCBwdWxzZXMuIEFub3RoZXIgcGx1cyB0byB0aGlzIHNv bHV0aW9uIGlzIHRoYXQgaWYvd2hlbiB0aGlzIG5lZWRzCj4gdG8gbW92ZWQgdG8gdXNlcnNwYWNl LCB0aGlzIG9uZSBpcyBhIGxvdCBlYXNpZXIgdG8gdW53aW5kIGFuZCBwdWxsIG91dCB0aGFuCj4g dGhlIHdvcmsgbG9vcCB5b3UncmUgc3VnZ2VzdGluZy4KPgo+IFdpdGggcmVzcGVjdCB0byB0aGUg dXNlciBzcGFjZSBzb2x1dGlvbiwgdGhhdCdzIHNvbWV0aGluZyB3b3J0aAo+IGludmVzdGlnYXRp bmcgaW4gdGhlIGZ1dHVyZS4gSSBoYXZlIHNvbWUgY29uY2VybnMgYWJvdXQgZG9pbmcgdGhhdCwg dGhlCj4gcHJpbWFyeSBvbmUgYmVpbmcgdGhlIGFiaWxpdHkgdG8gZGV0ZWN0IHRoZSBjb3JydXB0 ZWQgaGVhZGVyLCBidXQgSSB0aGluawo+IGl0J3Mgc29tZXRoaW5nIHRvIGNvbnNpZGVyIGZvciBh IGZvbGxvdy1vbiB1cGRhdGUuCj4KPgo+Cj4+PiAgICAgICAgICAvKiBUcnkgdG8gcmVhZCB0aGUg c291cmNlIG9mIHRoZSBpbnRlcnJ1cHQgKi8KPj4+ICAgICAgICAgIGlmIChpbnRlbF9kcC0+ZHBj ZFtEUF9EUENEX1JFVl0gPj0gMHgxMSAmJgo+Pj4gICAgICAgICAgICAgIGludGVsX2RwX2dldF9z aW5rX2lycShpbnRlbF9kcCwgJnNpbmtfaXJxX3ZlY3RvcikpIHsKPj4+IC0tCj4+PiAxLjkuMQo+ Pj4KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+ PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cj4+Cj4+Cj4+Cj4KCgoKLS0gClBhdWxvIFphbm9uaQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=