From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte 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 08:37:11 -0700 Message-ID: <552E85A7.9070402@gmail.com> References: <1428682372-21586-5-git-send-email-tprevite@gmail.com> <1428936789-13435-1-git-send-email-tprevite@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) by gabe.freedesktop.org (Postfix) with ESMTP id 23A3B6E01D for ; Wed, 15 Apr 2015 08:36:56 -0700 (PDT) Received: by pabsx10 with SMTP id sx10so54739803pab.3 for ; Wed, 15 Apr 2015 08:36:55 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org CgpPbiA0LzE0LzIwMTUgOTo1MyBBTSwgUGF1bG8gWmFub25pIHdyb3RlOgo+IDIwMTUtMDQtMTMg MTE6NTMgR01ULTAzOjAwIFRvZGQgUHJldml0ZSA8dHByZXZpdGVAZ21haWwuY29tPjoKPj4gQWRk cyBpbiBhbiBFRElEIHJlYWQgYWZ0ZXIgdGhlIERQQ0QgcmVhZCB0byBhY2NvbW1vZGF0ZSB0ZXN0 IDQuMi4yLjEgaW4gdGhlCj4+IERpc3BsYXlwb3J0IExpbmsgQ1RTIENvcmUgMS4yIHJldjEuMS4g VGhpcyB0ZXN0IHJlcXVpcmVzIGFuIEVESUQgcmVhZCBmb3IKPj4gYWxsIEhQRCBwbHVnIGV2ZW50 cy4gVG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgY29kZSwgdGhpcyBFRElEIHJlYWQgaXMgYWxzbwo+ PiB1c2VkIGZvciBMaW5rIENUUyB0ZXN0cyA0LjIuMi4zLCA0LjIuMi40LCA0LjIuMi41IGFuZCA0 LjIuMi42LiBBY3R1YWwKPj4gc3VwcG9ydCBmb3IgdGhlc2UgdGVzdHMgaXMgaW1wbGVtZW50ZWQg aW4gbGF0ZXIgcGF0Y2hlcyBpbiB0aGlzIHNlcmllcy4KPj4KPj4gVjI6Cj4+IC0gRml4ZWQgY29t cGlsYXRpb24gZXJyb3IgaW50cm9kdWNlZCBkdXJpbmcgcmV3b3JrCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IFRvZGQgUHJldml0ZSA8dHByZXZpdGVAZ21haWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgMTEgKysrKysrKysrKysKPj4gICAxIGZpbGUgY2hh bmdlZCwgMTEgaW5zZXJ0aW9ucygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gaW5k ZXggMjMxODRiMC4uNzVkZjNlMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IEBA IC0zODkwLDYgKzM4OTAsOSBAQCBpbnRlbF9kcF9jaGVja19saW5rX3N0YXR1cyhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+PiAgIHsKPj4gICAgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4+ICAgICAgICAgIHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyID0gJmRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZTsK Pj4gKyAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2RwLT5h dHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4+ICsgICAgICAgc3RydWN0IGkyY19hZGFwdGVyICph ZGFwdGVyID0gJmludGVsX2RwLT5hdXguZGRjOwo+PiArICAgICAgIHN0cnVjdCBlZGlkICplZGlk X3JlYWQgPSBOVUxMOwo+PiAgICAgICAgICB1OCBzaW5rX2lycV92ZWN0b3I7Cj4+ICAgICAgICAg IHU4IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdOwo+Pgo+PiBAQCAtMzkwNiw2ICsz OTA5LDE0IEBAIGludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuOwo+PiAgICAgICAgICB9Cj4+Cj4+ICsg ICAgICAgLyogRGlzcGxheXBvcnQgTGluayBDVFMgQ29yZSAxLjIgcmV2MS4xIEVESUQgdGVzdGlu Zwo+PiArICAgICAgICAqIDQuMi4yLjEgLSBFRElEIHJlYWQgcmVxdWlyZWQgZm9yIGFsbCBIUEQg ZXZlbnRzCj4+ICsgICAgICAgICAqLwo+PiArICAgICAgICBlZGlkX3JlYWQgPSBkcm1fZ2V0X2Vk aWQoY29ubmVjdG9yLCBhZGFwdGVyKTsKPj4gKyAgICAgICAgaWYgKCFlZGlkX3JlYWQpIHsKPj4g KyAgICAgICAgICAgICAgICBEUk1fREVCVUdfRFJJVkVSKCJJbnZhbGlkIEVESUQgZGV0ZWN0ZWRc biIpOwo+PiArICAgICAgICB9Cj4+ICsKPiBXZSBhbHJlYWR5IGJyaWVmbHkgZGlzY3Vzc2VkIHRo aXMgcGF0Y2ggaW4gcHJpdmF0ZSwgc28gSSdtIGdvaW5nIHRvCj4gc3VtbWFyaXplIHRoZSBkaXNj dXNzaW9uIGFuZCBhbHNvIGFkZCBzb21lIG1vcmUgcG9pbnRzIGhlcmUuCj4KPiBGcmlzdCwgdGhl IGFjdHVhbCBkZXRhaWxlZCByZXZpZXc6IHRoZSBpbmRlbnRhdGlvbiBoZXJlIGlzIHVzaW5nCj4g c3BhY2VzIGFuZCB3ZSdyZSBsZWFraW5nIHRoZSBFRElELiBUaGlzIHdpbGwgY2F1c2UgcmViYXNl cyB0byBhIGZldyBvZgo+IHRoZSBuZXh0IHBhdGNoZXMuCj4KPiBCYWNrIHRvIHRoZSBoaWdodCBs ZXZlbCBhcmNoaXRlY3R1cmU6IHlvdXIgaW5pdGlhbCB2ZXJzaW9ucyBvZiB0aGUKPiBzZXJpZXMg Y29udGFpbmVkIGp1c3QgMSBleHRyYSBFRElEIHJlYWQsIGFuZCBpdCB3YXMgY29udGFpbmVkIGlu c2lkZQo+IHRoZSBjb21wbGlhbmNlIHRlc3RpbmcgZnVuY3Rpb24uIFRoZW4gdGhlIHZlcnNpb25z IHN1Ym1pdHRlZCBhIGZldwo+IGRheXMgYWdvIGhhZCAyIGV4dHJhIEVESUQgcmVhZHMsIHRoZW4g YWZ0ZXIgc29tZSBkaXNjdXNzaW9uIHlvdQo+IHJlZHVjZWQgdG8gMSBleHRyYSBFRElEIHJlYWQg KHRoZSBvbmUgb24gdGhpcyBwYXRjaCkuIEkgcHJldmlvdXNseQo+IGFza2VkICJCdXQgd2hhdCBh Ym91dCB0aGUgYXV0b21hdGljIEVESUQgcmVhZCB3ZSBkbyB3aGVuIHdlIGdldCBhCj4gaG90cGx1 Zz8gQ2FuJ3Qgd2UganVzdCByZWx5IG9uIGl0PyIuIEkgZ290IHNvbWUgYW5zd2VycyB0byB0aGUK PiBxdWVzdGlvbiwgYnV0IEkgd2FzIG5vdCByZWFsbHkgY29udmluY2VkLgo+Cj4gWWVzdGVyZGF5 IEkgd2FzIGFyZ3VpbmcgdGhhdCB0aGlzIGV4dHJhIEVESUQgcmVhZCBpcyBnb2luZyB0byBhZGQg YQo+IHNtYWxsIGRlbGF5IHRvIGV2ZXJ5IGhvdHBsdWcgZXZlbnQgd2UgZ2V0LCBzbyBteSBpbml0 aWFsIHN1Z2dlc3Rpb24KPiB3YXMgdG8gb3JnYW5pemUgdGhlIGNvbXBsaWFuY2UgdGVzdGluZyBp biBhIHdheSB0aGF0IHdvdWxkIHJlcXVpcmUgdGhlCj4gdXNlciBzcGFjZSBwcm9ncmFtIHRvIGNh bGwgdGhlIEdldFJlc291cmNlcygpIElPQ1RMIHRvIGZvcmNlIHRoZSBFRElECj4gd2hlbiBuZWVk ZWQuIFlvdXIgYXJndW1lbnQgd2FzIHRoYXQgdGhlbiB0aGUgRFAgY29tcGxpYW5jZSB0ZXN0aW5n Cj4gcHJvY2VkdXJlIHdvdWxkIGJlIHRlc3Rpbmcgb3VyIGFwcCBmb3IgY29tcGxpYW5jZSwgbm90 IHRoZSBLZXJuZWwuCj4KPiBCdXQgdG9kYXkgSSBkZWNpZGVkIHRvIGZpbmFsbHkgZG8gc29tZSBk ZWJ1Z2dpbmcgcmVnYXJkaW5nIHRoaXMsIGFuZCBJCj4gd2FzIGFibGUgdG8gY29uZmlybSB0aGF0 IHdlIGRvIGZvbGxvdyB0aGUgRFAgcmVxdWlyZW1lbnRzOiB3ZSBkbyBoYXZlCj4gYW4gYXV0b21h dGljIEVESUQgcmVhZCBkb25lIGJ5IHRoZSBLZXJuZWwgd2hlbmV2ZXIgd2UgZG8gYSBob3RwbHVn Ogo+IGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoKSBjYWxscyBpbnRlbF9kcF9kZXRlY3QoKSwgd2hp Y2ggZW5kcyBjYWxsaW5nCj4gZHJtX2dldF9lZGlkKCkgYXQgc29tZSBwb2ludC4gVGhpcyBmdW5j dGlvbiBhbHNvIGRvZXMgb3RoZXIgc3R1ZmYgdGhhdAo+IGlzIHJlcXVpcmVkIGJ5IHRoZSBjb21w bGlhbmNlIHRlc3RpbmcsIHN1Y2ggYXMgdGhlIERQQ0QgcmVhZHMuCj4KPiBOb3cgdGhlcmUncyBh IHByb2JsZW0gd2l0aCB1c2luZyBpOTE1X2hvdHBsdWdfd29ya19mdW5jKCksIHdoaWNoIGNvdWxk Cj4gdGhlIHJlYXNvbiB3aHkgeW91IHJlamVjdGVkIGl0OiBpdCBvbmx5IGhhcHBlbnMgYWZ0ZXIK PiBpbnRlbF9kcF9ocGRfcHVsc2UoKSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBvbmx5IHJlYWxseSBk byB0aGUgRURJRCByZWFkCj4gYWZ0ZXIgaW50ZWxfZHBfaGFuZGxlX3Rlc3RfcmVxdWVzdCgpLgo+ Cj4gSSBjb25zaWRlciBpOTE1X2hvdHBsdWdfd29ya19mdW5jKCkgYSBmdW5kYW1lbnRhbCBwYXJ0 IG9mIG91ciBEUAo+IGZyYW1ld29yaywgYW5kIHRoZSBEUCBjb21wbGlhbmNlIHRlc3Rpbmcgc2Vl bXMgdG8gYmUganVzdCBpZ25vcmluZyBpdHMKPiBleGlzdGVuY2UuIFNvIG15IGlkZWEgZm9yIGEg c29sdXRpb24gaGVyZSB3b3VsZCBiZSB0byBtYWtlCj4gaW50ZWxfZHBfaGFuZGxlX3Rlc3RfcmVx dWVzdCgpIHJ1biBvbiBpdHMgb3duIGRlbGF5ZWQgd29yayBmdW5jdGlvbi4KPiBJdCB3b3VsZCB3 YWl0IGZvciBib3RoIGk5MTVfZGlncG9ydF93b3JrX2Z1bmMoKSBhbmQKPiBpOTE1X2hvdHBsdWdf d29ya19mdW5jKCkgdG8gZmluaXNoLCBhbmQgb25seSB0aGVuIGl0IHdvdWxkIGRvIHRoZQo+IG5v cm1hbCBwcm9jZXNzaW5nLiBXaXRoIHRoaXMsIHdlIHdvdWxkIGJlIGFibGUgdG8gYXZvaWQgdGhl IGVkaWQgcmVhZAo+IG9uIHRoaXMgcGF0Y2gsIHdlIHdvdWxkIG1heWJlIGJlIGFibGUgdG8gYXZv aWQgYXQgbGVhc3QgcGFydCBvZiBwYXRjaAo+IDIsIHdlIHdvdWxkIG1heWJlIGJlIGFibGUgdG8g Y29tcGxldGVseSBhdm9pZCBwYXRjaCA3LCBhbmQgdGhlbiBvbgo+IHBhdGNoIDggd2Ugd291bGQg c3RhcnQgdG91Y2hpbmcgaW50ZWxfZHBfZ2V0X2VkaWQoKSBpbnN0ZWFkLgo+Cj4gSSBrbm93IHRo aXMgaXMgc29ydCBvZiBhIGZ1bmRhbWVudGFsIGNoYW5nZSB0aGF0IGlzIGJlaW5nIHJlcXVlc3Rl ZCBhCj4gbGl0dGxlIGxhdGUgaW4gdGhlIHJldmlldyBwcm9jZXNzLCBhbmQgaXQgY2FuIGJlIGZy dXN0cmF0aW5nLCBidXQgdGhpcwo+IGFzcGVjdCBvZiB0aGUgY29kZSBvbmx5IHJlY2VudGx5IGNo YW5nZWQgKEkgd2FzIGZpbmUgd2l0aCB0aGUgRURJRAo+IHJlYWRzIGp1c3QgaW4gdGhlIGNvbXBs aWFuY2UgdGVzdGluZyBmdW5jdGlvbiksIGFuZCBzaW5jZSB0aGUgRFAKPiBjb21wbGlhbmNlIGNv ZGUgaXMgcXVpdGUgY29tcGxleCwgaXQgdG9vayBtZSBhIHdoaWxlIHRvIHJlYWxpemUKPiBldmVy eXRoaW5nIHRoYXQncyBnb2luZyBvbiBhbmQgd2hhdCBpcyB0aGUgcHVycG9zZSBvZiBlYWNoIHBp ZWNlLiBJCj4gYWxzbyB0aGluayB0aGF0LCBzaW5jZSB0aGlzIGlkZWEgd2lsbCBhbGxvdyB0aGUg Y29tcGxpYW5jZSB0ZXN0aW5nIHRvCj4gdGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gdGhlIHdvcmsg ZG9uZSBieSBpOTE1X2hvdHBsdWdfd29ya19mdW5jKCksCj4gY29tcGxpYW5jZSB0ZXN0aW5nIHdp bGwgYmV0dGVyIHJlZmxlY3QgdGhlIGJlaGF2aW9yIHRoYXQgaXMgYWN0dWFsbHkKPiBkb25lIGJ5 IHRoZSBLZXJuZWwgd2hlbiBEUCBkZXZpY2VzIGFyZSBwbHVnZ2VkL3VucGx1Z2dlZC4gQW5kIEkg ZGlkCj4gYXNrIGFib3V0IHRob3NlIG5ldyBFRElEIHJlYWRzIGFzIHNvb24gYXMgSSBzdGFydGVk IHJldmlld2luZyB0aGUKPiBwYXRjaCB0aGF0IGludHJvZHVjZWQgdGhlbS4KPgo+IE5vdywgc2lu Y2UgSSBrbm93IGhvdyBmcnVzdHJhdGluZyBpdCBpcyB0byBoYXZlIHRvIGNoYW5nZSBhCj4gc2ln bmlmaWNhbnQgcG9ydGlvbiBvZiB0aGUgY29kZSBvbmNlIGFnYWluLCBJIHdpbGwgbGVhdmUgdG8g dGhlCj4gbWFpbnRhaW5lcnMgdGhlIGRlY2lzaW9uIG9mIHdoZXRoZXIgdGhlIGN1cnJlbnQgcHJv cG9zZWQKPiBpbXBsZW1lbnRhdGlvbiBpcyBhY2NlcHRhYmxlIG9yIGlmIHdlIHdhbnQgdG8gbWFr ZSB0aGUgRFAgY29tcGxpYW5jZQo+IHRlc3RpbmcgY29kZSB0YWtlIGludG8gY29uc2lkZXJhdGlv biB0aGUgd29yayBkb25lIGJ5Cj4gaTkxNV9ob3RwbHVnX3dvcmtfZnVuYygpLiBJIHdvdWxkIGFs c28gbGlrZSB0byBrbm93IHlvdXIgb3BpbmlvbiBvbgo+IHRoaXMuIE1heWJlIG15IGlkZWEganVz dCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYmVjYXVzZSBvZiBzb21ldGhpbmcgZWxzZQo+IEkgZGlkbid0 IHJlYWxpemUgOikKSSBkb24ndCB0aGluayB0aGlzIGlzIGEgZ29vZCBpZGVhLiBUaGUgd29yayBs b29wIGFzcGVjdCBzZWVtcyBsaWtlIGEgCnZlcnkgY29tcGxleCBzb2x1dGlvbiBzb2x1dGlvbiB0 byBhIHByb2JsZW0gdGhhdCBpcyByZWxhdGl2ZWx5IHNpbXBsZS4gCkluIGEgZGlzY3Vzc2lvbiB3 aXRoIERhbmllbCwgaGUgaW5kaWNhdGVkIHRoYXQgYWRkaW5nIGEgd29yayBsb29wIGlzIApzb21l dGhpbmcgdG8gYmUgYXZvaWRlZCB1bmxlc3MgaXQncyAqcmVhbGx5KiBuZWNlc3NhcnksIGFzIHRo ZXkgYXJlIApwcm9uZSB0byByYWNlIGNvbmRpdGlvbnMuIEluIHRoaXMgY2FzZSwgSSBqdXN0IGRv bid0IHNlZSB0aGF0IGl0J3MgCm5lY2Vzc2FyeS4gQWRkaXRpb25hbGx5LCB5b3UgaGF2ZSBiZWVu IGtlZW4gdG8gbm90ZSBpbnZhc2l2ZSBzb2x1dGlvbnMgCmFuZCB0aGlzIHNlZW1zIGxpa2UgYSBo aWdobHkgaW52YXNpdmUgc29sdXRpb24gZXNwZWNpYWxseSBpbiBsaWdodCBvZiAKaGF2aW5nIGEg dmlhYmxlIG9uZSByaWdodCBoZXJlLgoKVGhpcyBzb2x1dGlvbiBhZGRzIHZlcnkgbGl0dGxlIG92 ZXJoZWFkIGFsb25nIHRoZSBIUEQgcGF0aCBhbmQgdGhhdCAKb3ZlcmhlYWQgaXMgYSBzaW5nbGUg cmVhZCBvZiB0aGUgRURJRCBmb3IgZWFjaCBldmVudC4gVG8gZnVydGhlciBhZGRyZXNzIAphbnkg Y29uY2VybnMgYWJvdXQgcGVyZm9ybWFuY2UsIGZvciBWNiBJJ3ZlIHByb3BhZ2F0ZWQgdGhlIGxv bmdfaHBkIGZsYWcgCmZvcndhcmQgaW50byBjaGVja19saW5rX3N0YXR1cyBzbyB0aGF0IHRoZSBF RElEIHJlYWQgaXMgb25seSBjYWxsZWQgZm9yIAphIGhvdCBwbHVnIGV2ZW50LCBub3Qgc2hvcnQg cHVsc2VzLiBBbm90aGVyIHBsdXMgdG8gdGhpcyBzb2x1dGlvbiBpcyAKdGhhdCBpZi93aGVuIHRo aXMgbmVlZHMgdG8gbW92ZWQgdG8gdXNlcnNwYWNlLCB0aGlzIG9uZSBpcyBhIGxvdCBlYXNpZXIg CnRvIHVud2luZCBhbmQgcHVsbCBvdXQgdGhhbiB0aGUgd29yayBsb29wIHlvdSdyZSBzdWdnZXN0 aW5nLgoKV2l0aCByZXNwZWN0IHRvIHRoZSB1c2VyIHNwYWNlIHNvbHV0aW9uLCB0aGF0J3Mgc29t ZXRoaW5nIHdvcnRoIAppbnZlc3RpZ2F0aW5nIGluIHRoZSBmdXR1cmUuIEkgaGF2ZSBzb21lIGNv bmNlcm5zIGFib3V0IGRvaW5nIHRoYXQsIHRoZSAKcHJpbWFyeSBvbmUgYmVpbmcgdGhlIGFiaWxp dHkgdG8gZGV0ZWN0IHRoZSBjb3JydXB0ZWQgaGVhZGVyLCBidXQgSSAKdGhpbmsgaXQncyBzb21l dGhpbmcgdG8gY29uc2lkZXIgZm9yIGEgZm9sbG93LW9uIHVwZGF0ZS4KCgo+PiAgICAgICAgICAv KiBUcnkgdG8gcmVhZCB0aGUgc291cmNlIG9mIHRoZSBpbnRlcnJ1cHQgKi8KPj4gICAgICAgICAg aWYgKGludGVsX2RwLT5kcGNkW0RQX0RQQ0RfUkVWXSA+PSAweDExICYmCj4+ICAgICAgICAgICAg ICBpbnRlbF9kcF9nZXRfc2lua19pcnEoaW50ZWxfZHAsICZzaW5rX2lycV92ZWN0b3IpKSB7Cj4+ IC0tCj4+IDEuOS4xCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cj4KPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK