From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH] drm/i915: Prune 2560x2880 mode for 5K tiled dual DP monitors Date: Mon, 9 Sep 2019 11:42:00 -0700 Message-ID: <20190909184159.GB24100@intel.com> References: <87o90a99so.fsf@intel.com> <20190827165926.GA4122@intel.com> <871rx591gb.fsf@intel.com> <20190828195330.GG701@intel.com> <877e6weahp.fsf@intel.com> <0c877805-2417-b54d-7ca4-67985b76b03b@intel.com> <87d0go6w5p.fsf@intel.com> <20190829183646.GA6073@intel.com> <4a3f437f-8f60-6b76-3c49-134f761f4a1c@intel.com> <2defc1a1-58fe-75ef-f759-e79a181ada5a@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B7DC89C6B for ; Mon, 9 Sep 2019 18:40:36 +0000 (UTC) Content-Disposition: inline In-Reply-To: <2defc1a1-58fe-75ef-f759-e79a181ada5a@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Nautiyal, Ankit K" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBTZXAgMDUsIDIwMTkgYXQgMTE6MDM6MTJBTSArMDUzMCwgTmF1dGl5YWwsIEFua2l0 IEsgd3JvdGU6Cj4gSGksCj4gCj4gSSB3YXMgYWJsZSB0byBnZXQgNUsgSFB6MjdxIDMxN2IgbW9u aXRvciBmb3Igc29tZSB0aW1lLiBCZWxvdyBhcmUgdGhlCj4gb2JzZXJ2YXRpb24gb24gSFB6Mjdx IE1vbml0b3Igd2l0aCB0d28gRFAgY2FibGVzIGNvbm5lY3RlZCB0byBhIEtCTCBtYWNoaW5lLgo+ IAo+ICoqKioqR2VuZXJhbCBPYnNlcnZhdGlvbioqKioqCj4gVGhlIG1vbml0b3Igc2V0dGluZ3Mg aGFzIHR3byBtb2RlcywgRFAxLjAgYW5kIERQMS4yLgo+IE9uZSBvZiB0aGUgY29ubmVjdG9yIGlz IGVudW1lcmF0ZWQgYXMgJ3RpbGVkJyBhbmQgdGhlIG90aGVyIGFzIG5vbiB0aWxlZC4KPiAKPiBU aGUgbm9uLXRpbGVkIGNvbm5lY3RvciBoYXMgbW9kZXMgc3RhcnRpbmcgZnJvbSAySyBhbmQgYmVs b3csIGFuZCB0aGUgdGlsZWQKPiBjb25uZWN0b3IgaGFzIGp1c3Qgb25lIG1vZGUgMjU2MHgyODgw Lgo+IE5vIGNvcnJ1cHRpb24gb2JzZXJ2ZWQgaW4gdGhpcyBjYXNlLgo+IAo+IEluIGNhc2Ugb2Yg RFAyLjAgdHdvIGNvbm5lY3RvcnMgYXJlIGVudW1lcmF0ZWQsIGJvdGggdGlsZWQuCj4gT25lIGNv bm5lY3RvciBoYXMgbW9kZXMgZnJvbSAzODQ5eDIxNjAgYW5kIGJlbG93LiAyNTYweDI4ODAgYmVp bmcgcHJlZmVycmVkCj4gbW9kZS4KPiBUaGUgb3RoZXIgaGFzIDI1NjB4Mjg4MCBtb2RlLCBhbHNv IHByZWZlcnJlZC4KPiAKPiBUaGUgaXNzdWUgaXMgc2VlbiB3aGVuIGJvdGggdGhlIG1vZGVzIHNl bGVjdGVkIGFyZSAyNTYweDI4ODAuIFRoaXMgcmVzdWx0cwo+IGxpa2UgdHdvIGhhbHZlcyBvZiBz Y3JlZW5zIG5vdCBpbiBzeW5jLgo+IAo+ICoqKioqRXhwZXJpbWVudCB3aXRoIGRpZmZlcmVudCBw YXRjaGVzKioqKioKPiAKPiBBcyBkaXNjdXNzZWQgSSBjb2xsZWN0ZWQgbG9ncyBpbiAzIGNhc2Vz Ogo+IDEuIFdpdGhvdXQgYW55IHBhdGNoICh2YW5pbGxhKQo+IDIuIFdpdGggcGF0Y2ggdG8gcHJ1 bmUgdGhlIDI1NjB4Mjg4MCBtb2RlLCBvbmx5IGZvciB0aWxlIHdpdGggSExPQyBhbmQgVkxPQwo+ IGFzIDAuCj4gMy4gV2l0aCBhIHBhdGNoIHRvIGZvcmNlIHRoZSBjb25uZWN0b3IgcHJvcGVydHkg YXMgJ2ZhbHNlJwo+IAo+IExvZ3MgZm9yIHdoaWNoIGFyZSBhdHRhY2hlZCBpbiBmZG8gYnVnICM5 NzI0NAo+IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MjQ0 Cj4gaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9hdHRhY2htZW50LmNnaT9pZD0xNDUyNjcK PiAKPiBOb3RlIDE6IEkgaGFkIGNoYW5nZWQgdGhlIGRpc3BsYXkgaW5mbyB0byBwcm92aWRlIHRo ZSBUaWxlIGluZm9ybWF0aW9uLCBpbgo+IGNhc2UgdGhlIGNvbm5lY3RvciAnaGFzX3RpbGUnIGlz IHRydWUuCj4gTm90ZSAyOiBJIGhhZCBjaGVja2VkIGFuZCBjb2xsZWN0ZWQgbG9ncyB3aXRoIHNp bmdsZSBkaXNwbGF5IGFuZCBhbHNvIHdpdGgKPiBkdWFsIGRpc3BsYXkgY29uZmlndXJhdGlvbiB3 aXRoIERQMS4yIG1vbml0b3Igc2V0dGluZ3MuCj4gTm90ZSAzOiBUaGUgbW9kZSBpcyBjaGFuZ2Vk IHVzaW5nIHhyYW5kci4KPiAKPiBjYXNlMToKPiAtV2l0aG91dCBhbnkgcGF0Y2ggOiAyNTYweDI4 ODAgbW9kZXNldCBvbiBib3RoIGNvbm5lY3RvcnMgY2F1c2VzIGNvcnJ1cHRpb24uCj4gCj4gY2Fz ZTI6Cj4gLVdpdGggMjU2MHgyODgwIG1vZGUgcHJ1bmVkIGZvciBvbmUgb2YgdGhlIHRpbGUgOiBP bmx5IG9uZSBvZiB0aGUgY29ubmVjdG9yCj4gc2hvd3MgMjU2MHgyODgwIG1vZGUuCj4gMjU2MHgy ODgwIG1vZGVzZXQgb24gYW55IHRoZSByZW1haW5pbmcgY29ubmVjdG9yIHJlc3VsdGVkIGluIGJs YW5rIHNjcmVlbi4KPiBBbnkgb3RoZXIgbW9kZXNldCB3b3Jrcy4KPiAKPiBjYXNlMzoKPiAtV2l0 aCBoYXNfdGlsZSBjb25uZWN0b3IgcHJvcGVydHkgZm9yY2libHkgcmVzZXQgOiBUaGUgY29ubmVj dG9yIGFyZSBsaXN0ZWQKPiBhcyBub3QgdGlsZWQgYnV0IHN0aWxsLCAyNTYweDI4ODAgbW9kZXNl dCBvbiBhbnkgdGhlIGNvbm5lY3RvcnMgY2F1c2VzIGJsYW5rCj4gc2NyZWVuLgo+IEFueSBvdGhl ciBtb2Rlc2V0IHdvcmtzLgo+IAo+IFRvIHN1bW1hcml6ZSwgcHJ1bmluZyBvbiBqdXN0IG9uZSB0 aWxlZCBjb25uZWN0b3IgZG9lcyBub3Qgc29sdmUgdGhlIGlzc3VlLAo+IGlmIHdlIG5lZWQgdG8g cHJ1bmUsIHdlIG5lZWQgdG8gZG8gaXQgZm9yIGJvdGggdGhlIGNvbm5lY3RvcnMuCj4gU2Vjb25k bHksIHRoZSBmb3JjaWJsZSBzZXR0aW5nIG9mIGhhc190aWxlID0gJ2ZhbHNlJyBhbHNvLCBkb2Vz IG5vdCBoZWxwLAo+IGFuZCByZXN1bHRlZCBpbiBibGFuayBzY3JlZW4gd2hlbiAyNTYweDI4ODAg bW9kZSBpcyBhcHBsaWVkLgo+IFNvIElNSE8gaWYgd2UgbmVlZCB0byBwcnVuZSB0aGUgbW9kZSAy NTYweDI4ODAsIHdlIG5lZWQgdG8gcHJ1bmUgaXQgZm9yIGJvdGgKPiB0aGUgY29ubmVjdG9ycy4K PgoKVGhhbmtzIEFua2l0IGZvciB0aGVzZSBleHBlcmltZW50cyBhbmQgbG9ncy4KU28gbG9va3Mg bGlrZSB0aGUgc29sdXRpb24gd291bGQgYmUgdG8gYWRkIGEgcXVpcmsgZm9yIHRoc2kgc3BlY2lm aWMgRURJRCBmb3IKdGhlIHBhbmVsIGFuZCB0aGVuICBwcnVuZSAyNTYweDI4ODAgb24gYm90aCBj b25uZWN0b3JzLgoKSmFuaSBkb2VzIHRoYXQgc291bmQgbGlrZSBhIGdvb2QgYWNjZXB0YWJsZSBz b2x1dGlvbj8KCk1hbmFzaQogCj4gUmVnYXJkcywKPiBBbmtpdAo+IAo+IAo+IE9uIDgvMzAvMjAx OSA5OjQ4IEFNLCBOYXV0aXlhbCwgQW5raXQgSyB3cm90ZToKPiA+Cj4gPgo+ID5PbiA4LzMwLzIw MTkgMTI6MDYgQU0sIE5hdmFyZSwgTWFuYXNpIEQgd3JvdGU6Cj4gPj5PbiBUaHUsIEF1ZyAyOSwg MjAxOSBhdCAwMjozNjoxOFBNICswMzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+Pj5PbiBUaHUs IDI5IEF1ZyAyMDE5LCAiTmF1dGl5YWwsIEFua2l0IEsiIDxhbmtpdC5rLm5hdXRpeWFsQGludGVs LmNvbT4KPiA+Pj53cm90ZToKPiA+Pj4+SGkgSmFuaSwgTWFuYXNpLAo+ID4+Pj4KPiA+Pj4+VGhh bmtzIGZvciB0aGUgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb25zLiBQbGVhc2UgZmluZCBteSByZXNw b25zZQo+ID4+Pj5pbmxpbmUuCj4gPj4+Pgo+ID4+Pj5PbiA4LzI5LzIwMTkgMTI6MTQgUE0sIEph bmkgTmlrdWxhIHdyb3RlOgo+ID4+Pj4+T24gV2VkLCAyOCBBdWcgMjAxOSwgTWFuYXNpIE5hdmFy ZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4gd3JvdGU6Cj4gPj4+Pj4+VGhhbmtzIEphbmkg Zm9yIHlvdXIgZmVlZGJhY2ssIHBsZWFzZSBzZWUgbXkgY29tbWVudHMgaW5saW5lCj4gPj4+Pj4+ Cj4gPj4+Pj4+T24gV2VkLCBBdWcgMjgsIDIwMTkgYXQgMTA6NDY6NDRBTSArMDMwMCwgSmFuaSBO aWt1bGEgd3JvdGU6Cj4gPj4+Pj4+Pk9uIFR1ZSwgMjcgQXVnIDIwMTksIE1hbmFzaSBOYXZhcmUg PG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPj4+Pj4+Pndyb3RlOgo+ID4+Pj4+Pj4+T24g VHVlLCBBdWcgMjcsIDIwMTkgYXQgMDE6MzQ6MTVQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6 Cj4gPj4+Pj4+Pj4+T24gVHVlLCAyNyBBdWcgMjAxOSwgIk5hdXRpeWFsLCBBbmtpdCBLIgo+ID4+ Pj4+Pj4+PjxhbmtpdC5rLm5hdXRpeWFsQGludGVsLmNvbT4gd3JvdGU6Cj4gPj4+Pj4+Pj4+PkZy b206IEFua2l0IE5hdXRpeWFsIDxhbmtpdC5rLm5hdXRpeWFsQGludGVsLmNvbT4KPiA+Pj4+Pj4+ Pj4+Cj4gPj4+Pj4+Pj4+PkN1cnJlbnRseSwgdGhlIHRyYW5zY29kZXIgcG9ydCBzeW5jIGZlYXR1 cmUgaXMgbm90IGF2YWlsYWJsZSwKPiA+Pj4+Pj4+Pj4+ZHVlIHRvCj4gPj4+Pj4+Pj4+PndoaWNo IHRoZSA1Sy10aWxlZCBkdWFsIERQIG1vbml0b3JzIGV4cGVyaWVuY2UgY29ycnVwdGlvbiB3aGVu Cj4gPj4+Pj4+Pj4+PjI1NjB4Mjg4MCBtb2RlIGlzIGFwcGxpZWQgZm9yIGJvdGggb2YgdGhlIHRp bGVkIERQIGNvbm5lY3RvcnMuCj4gPj4+Pj4+Pj4+PkJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJl ZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05NzI0NAo+ID4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+ Pj4+VGhlcmUgaXMgYSBwYXRjaCBzZXJpZXMgdG8gZW5hYmxlIHRyYW5zY29kZSBwb3J0IHN5bmMg ZmVhdHVyZSBmb3IKPiA+Pj4+Pj4+Pj4+dGlsZWQgZGlzcGxheSBmb3IgSUNMKywgd2hpY2ggaXMg dW5kZXIgcmV2aWV3Ogo+ID4+Pj4+Pj4+Pj5odHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3By b2plY3QvaW50ZWwtZ2Z4L2xpc3QvP3Nlcmllcz0xMzczMzkKPiA+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+ Pj4+Pgo+ID4+Pj4+Pj4+Pj5Gb3IgdGhlIG9sZGVyIHBsYXRmb3Jtcywgd2UgbmVlZCB0byByZW1v dmUgdGhlIDI1NjB4Mjg4MCBtb2RlCj4gPj4+Pj4+Pj4+PnRvIGF2b2lkCj4gPj4+Pj4+Pj4+PmEg cG9zc2liaWxpdHkgb2YgdXNlcnNwYWNlIGNob29zaW5nIDI1NjB4Mjg4MCBtb2RlIGZvciBib3Ro IHRpbGVkCj4gPj4+Pj4+Pj4+PmRpc3BsYXlzLCByZXN1bHRpbmcgaW4gY29ycnVwdGlvbi4KPiA+ Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+PlRoaXMgcGF0Y2ggcHJ1bmVzIDI1NjB4Mjg4MCBtb2RlIGZv ciBvbmUgb2YgdGhlIHRpbGVkIERQCj4gPj4+Pj4+Pj4+PmNvbm5lY3Rvci4KPiA+Pj4+Pj4+Pj4+ U2luY2UgYm90aCB0aGUgdGlsZWQgRFAgY29ubmVjdG9ycyBoYXZlIGRpZmZlcmVudCB0aWxlX2hf bG9jIGFuZAo+ID4+Pj4+Pj4+Pj50aWxlX3ZfbG9jLCB0aGUgdGlsZWQgY29ubmVjdG9yIHdpdGgg dGlsZV9oX2xvYyBhbmQgdGlsZV92X2xvYwo+ID4+Pj4+Pj4+Pj5hcyAnMCcsCj4gPj4+Pj4+Pj4+ PmlzIGNob3NlbiwgZm9yIHdoaWNoIHRoZSBnaXZlbiByZXNvbHV0aW9uIGlzIHJlbW92ZWQuCj4g Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj5TaWduZWQtb2ZmLWJ5OiBBbmtpdCBOYXV0aXlhbCA8YW5r aXQuay5uYXV0aXlhbEBpbnRlbC5jb20+Cj4gPj4+Pj4+Pj4+PkNDOiBNYW5hc2kgTmF2YXJlIDxt YW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4+Pj4+Pj4+Pj4tLS0KPiA+Pj4+Pj4+Pj4+IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyB8IDExICsrKysrKysrKysrCj4g Pj4+Pj4+Pj4+PiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQo+ID4+Pj4+Pj4+Pj4K PiA+Pj4+Pj4+Pj4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZHAuYwo+ID4+Pj4+Pj4+Pj5iL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZHAuYwo+ID4+Pj4+Pj4+Pj5pbmRleCA1YzQ1YTNiLi5hYTQzYTNiIDEwMDY0NAo+ID4+Pj4+Pj4+ Pj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKPiA+Pj4+Pj4+ Pj4+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCj4gPj4+Pj4+ Pj4+PkBAIC01NjQsNiArNTY0LDE3IEBAIGludGVsX2RwX21vZGVfdmFsaWQoc3RydWN0IGRybV9j b25uZWN0b3IKPiA+Pj4+Pj4+Pj4+KmNvbm5lY3RvciwKPiA+Pj4+Pj4+Pj4+ICAgICBpZiAobW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTENMSykKPiA+Pj4+Pj4+Pj4+ICAgICAgICAgcmV0 dXJuIE1PREVfSF9JTExFR0FMOwo+ID4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+KyAgICAvKgo+ID4+ Pj4+Pj4+Pj4rICAgICAqIEZvciA1SyB0aWxlZCBkdWFsIERQIG1vbml0b3JzLCBkdWFsLURQIHN5 bmMgaXMgbm90IHlldAo+ID4+Pj4+Pj4+Pj5zdXBwb3J0ZWQuCj4gPj4+Pj4+Pj4+PisgICAgICog VGhpcyByZXN1bHRzIGluIGRpc3BsYXkgc3luYyBpc3N1ZXMsIHdoZW4gYm90aCB0aWxlZAo+ID4+ Pj4+Pj4+Pj5jb25uZWN0b3JzIHJ1bgo+ID4+Pj4+Pj4+Pj4rICAgICAqIG9uIDI1NjB4Mjg4MCBy ZXNvbHV0aW9uLiBUaGVyZWZvcmUgcHJ1bmUgdGhlIDI1NjB4Mjg4MAo+ID4+Pj4+Pj4+Pj5tb2Rl IG9uIG9uZQo+ID4+Pj4+Pj4+Pj4rICAgICAqIG9mIHRoZSB0aWxlZCBjb25uZWN0b3IsIHRvIGF2 b2lkIHN1Y2ggYSBjYXNlLgo+ID4+Pj4+Pj4+Pj4rICAgICAqLwo+ID4+Pj4+Pj4+Pj4rICAgIGlm IChjb25uZWN0b3ItPmhhc190aWxlICYmCj4gPj4+Pj4+Pj4+PisgICAgICAgIChjb25uZWN0b3It PnRpbGVfaF9sb2MgPT0gMCAmJiBjb25uZWN0b3ItPnRpbGVfdl9sb2MKPiA+Pj4+Pj4+Pj4+PT0g MCkgJiYKPiA+Pj4+Pj4+Pj4+KyAgICAgICAgKG1vZGUtPmhkaXNwbGF5ID09IDI1NjAgJiYgbW9k ZS0+dmRpc3BsYXkgPT0gMjg4MCkpCj4gPj4+Pj4+Pj4+PisgICAgICAgIHJldHVybiBNT0RFX1BB TkVMOwo+ID4+Pj4+Pj4+Pj4rCj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+VGhpcyBhc3N1bWVzIGFs bCB0aWxlZCBjYXNlcyB3aXRoIHNwZWNpZmljIHJlc29sdXRpb25zIGZhaWwuCj4gPj4+Pj4+Pj4+ WW91IGRvbid0Cj4gPj4+Pj4+Pj4+a25vdyB0aGF0LiBZb3Ugb25seSBrbm93IHRoaXMgZmFpbHMg b24gYSBzcGVjaWZpYyBkaXNwbGF5Lgo+ID4+Pj4+Pj4+Pkluc3RlYWQgb2YKPiA+Pj4+Pj4+Pj5j b21pbmcgdXAgd2l0aCB2YXJpb3VzIHJ1bGVzIG9uIHRpbGVzIGFuZCByZXNvbHV0aW9ucyB0aGF0 Cj4gPj4+Pj4+Pj4+bWF0Y2ggdGhlCj4gPj4+Pj4+Pj4+ZGlzcGxheSAoYnV0IG1pZ2h0ICphbHNv KiBtYXRjaCBhbnkgbnVtYmVyIG9mICpvdGhlcioKPiA+Pj4+Pj4+Pj5kaXNwbGF5cyEpLCB5b3UK PiA+Pj4+Pj4+Pj5uZWVkIHRvIGFjdHVhbGx5IGlkZW50aWZ5IGFuZCBtYXRjaCB0aGF0IHNwZWNp ZmljIGRpc3BsYXkgaW5zdGVhZC4KPiA+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+QWN0 dWFsbHkgd2l0aG91dCB0aGUgdHJhbnNjb2RlciBwb3J0IHN5bmMgZmVhdHVyZSwgd2UgZG8gbm90 IGV4cGVjdAo+ID4+Pj4+Pj4+YW55IHRpbGVkIGRpc3BsYXkgb3ZlciB0d28gc2VwYXJhdGUgcG9y dHMgdG8gd29yayBjb3JyZWN0bHksIHNvCj4gPj4+Pj4+Pj5pZiBpdAo+ID4+Pj4+Pj4+aXMgdHdv IGNvbm5lY3RvcnMgaW4gc3RhdGUgd2l0aCB0aWxlIHByb3BzIHNldCB0aGVuIHdlIHNob3VsZAo+ ID4+Pj4+Pj4+cmVqZWN0Cj4gPj4+Pj4+Pj50aGUgdGlsZWQgbW9kZSBvbiBib3RoIHRob3NlIGNv bm5lY3RvcnMgc2luY2UgdGhhdCBtaWdodCBjYXVzZSB0aGUKPiA+Pj4+Pj4+PmFydGlmYWN0cyB3 aXRob3V0IHByb3BlciBzeW5jIGJldHdlZW4gdHdvIHBvcnRzIHdoaWNoIGlzIHN1cHBvcnRlZAo+ ID4+Pj4+Pj4+b25seSBvbiBJQ0wrCj4gPj4+Pj4+Pgo+ID4+Pj4+Pj5Db25zaWRlciBhIG11bHRp LXNjcmVlbiBkaXNwbGF5IHdpdGggaW5kZXBlbmRlbnQgcGFuZWxzIG1vdW50ZWQKPiA+Pj4+Pj4+ dG9nZXRoZXIsIGFuZCBFRElEcyBzZXQgdXAgdG8gZGVzY3JpYmUgdGhlIHBoeXNpY2FsIHRpbGlu Zwo+ID4+Pj4+Pj5sYXlvdXQuIFNob3VsZCB3ZSByZWplY3QgdGhlbSBhbGwgYmVjYXVzZSB0aGUg Y2FzZXMgeW91IGtub3cKPiA+Pj4+Pj4+YWJvdXQgZmFpbD8KPiA+Pj4+Pj4+Cj4gPj4+Pj4+Pllv dSBrbm93IGFib3V0IHRoZSBpc3N1ZXMgd2l0aCB0aGUgc3BlY2lmaWMgNWsgZGlzcGxheXMgcHJl Y2lzZWx5Cj4gPj4+Pj4+PmJlY2F1c2UgdGhleSBmYWlsLiBZb3UgbmV2ZXIgaGVhciBhYm91dCB0 aGUgb25lcyB0aGF0IHdvcmsuIEV2ZXIuCj4gPj4+Pj4+PlVudGlsCj4gPj4+Pj4+PnRoZXkgc3Rv cCB3b3JraW5nLCB0aGF0IGlzLgo+ID4+Pj4+Pgo+ID4+Pj4+PkhtbSBJIHRoaW5rIGV2ZW4gd2l0 aCBzZXBhcmF0ZSBwYW5lbHMgdG8gd29yayB3aXRob3V0IGFydGlmYWN0cyB3ZQo+ID4+Pj4+Pndv dWxkIG5lZWQgc29tZSBraW5kIG9mCj4gPj4+Pj4+c3luY2hyb25pemF0aW9uLiBCdXQgeWVzIEkg YWdyZWUgdGhhdCBpdCBtaWdodCBqdXN0IGJlIHdvcmtpbmcKPiA+Pj4+Pj53ZWxsIGFuZCB3ZSBj YW50IGFzc3VtZQo+ID4+Pj4+PnRoYXQgdGhleSBhcmUgZmFpbGluZy4KPiA+Pj4+Pj4KPiA+Pj4+ Pj5TbyBmb3Igbm93IHRoZSBFRElEIHF1aXJrIHNvdW5kcyBsaWtlIHRoZSBiZXN0IHdheSB0byBm aXggdGhpcyBGRE8KPiA+Pj4+Pj4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+VGhlcmUgYXJlIHR3byB3 YXlzIHRvIGFkZCBkaXNwbGF5IHNwZWNpZmljIHF1aXJrczogYmFzZWQgb24gRURJRAo+ID4+Pj4+ Pj4+PihlZGlkX3F1aXJrX2xpc3QgaW4gZHJtX2VkaWQuYykgYW5kIGJhc2VkIG9uIERQQ0QKPiA+ Pj4+Pj4+Pj4oZHBjZF9xdWlya19saXN0IGluCj4gPj4+Pj4+Pj4+ZHJtX2RwX2hlbHBlci5jKS4g WW91IGlkZW50aWZ5IHRoZSBkaXNwbGF5LCBhbmQgdGhlbiBwcnVuZSB0aGUKPiA+Pj4+Pj4+Pj5t b2Rlcwo+ID4+Pj4+Pj4+PnRoYXQgcmVxdWlyZSBwb3J0IHN5bmMgdG8gd29yaywgZm9yICp0aGF0 KiBkaXNwbGF5Lgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj5XZSBoYXZlIHNlZW4gdGhpcyBpc3N1ZSBv biBtdWx0aXBsZSA1SyB0aWxlZCBkaXNwbGF5cyBJTUgsIHNvIGp1c3QKPiA+Pj4+Pj4+PmFkZGlu ZyBhIHF1aXJrIGZvciBzcGVjaWZpYyBtb25pdG9ycyB3aWxsIG5vdCBzdWZmaWNlLgo+ID4+Pj4+ Pj4KPiA+Pj4+Pj4+QWRkaW5nIG9uZSBxdWlyayBwZXIgZmFpbGluZyBkaXNwbGF5IHF1aXRlIG9i dmlvdXNseSB3aWxsIHN1ZmZpY2UuCj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4+QnV0IHdlIHdvdWxkIG5l ZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1vZGUgZ2V0cyByZWplY3RlZCBvbmx5IGlmCj4gPj4+ Pj4+Pj50aGVyZSBhcmUgbXVsdGlwbGUgU1NUIGNvbm5lY3RvcnMgd2l0aCB0aWxlIHByb3Agb3IK PiA+Pj4+Pj4+PmNvbm5lY3Rvci0+aGFzX3RpbGUgc2V0IGJlY2F1c2UgTVNUIHRpbGVkIGRpc3Bs YXlzIHN0aWxsIHdvcmsKPiA+Pj4+Pj4+PmNvcnJlY3RseS4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+ VmlsbGUsIHlvdSBoYWQgcGxheWVkIGEgbGl0dGxlIGJpdCB3aXRoIHRoaXMgNUsgZGlzcGxheSBJ Cj4gPj4+Pj4+Pj5iZWxpZXZlLCBkbwo+ID4+Pj4+Pj4+eW91IHRoaW5rIHBydW5pbmcgdGhlIHRp bGVkIG1vZGUgaWYgdGhlcmUgYXJlIHRpbGVkIFNTVAo+ID4+Pj4+Pj4+Y29ubmVjdG9ycyBhbmQK PiA+Pj4+Pj4+PnBsYXRmb3JtIDwgSUNMIGlzIGEgZ29vZCBzb2x1dGlvbj8KPiA+Pj4+Pj4+Cj4g Pj4+Pj4+PkNvbWUgdG8gdGhpbmsgb2YgaXQsIGNhbiB5b3UgdXNlIHRoZSB0aWxlZCBtb2RlICp1 bnRpbGVkKiBvbiBvbmUKPiA+Pj4+Pj4+cG9ydCwKPiA+Pj4+Pj4+YW5kIGhhdmUgaXQgc3RyZWNo IHRoZSBlbnRpcmUgZGlzcGxheT8gVGhlcmUgYXJlIHBsZW50eSBvZiBvdGhlcgo+ID4+Pj4+Pj5t b2Rlcwo+ID4+Pj4+Pj55b3UgY2FuIHVzZSBsaWtlIHRoaXMuIEkgZG9uJ3QgdGhpbmsgd2Ugc2hv dWxkIHJlamVjdCB0aGF0IHVzZSBjYXNlCj4gPj4+Pj4+PmVpdGhlci4KPiA+Pj4+Pj4KPiA+Pj4+ Pj5ZZXMgc28gaW4gdGhhdCBjYXNlIHRoZSBxdWlyayB3b3VsZCBiZSB0byBzZXQgdGhlIGhhc190 aWxlIHRvCj4gPj4+Pj4+ZmFsc2Ugc28gdGhhdAo+ID4+Pj4+PnRoZSBkcml2ZXIgd2lsbCBhY3R1 YWxseSBzZWUgaXQgYXMgbm9uIHRpbGVkIGFuZCBzY2FsZSBpdCB0byB0aGUKPiA+Pj4+Pj5lbnRp cmUgZGlzcGxheQo+ID4+Pj4+Pgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+SSdsbCByZXBlYXQsIHlvdSBo YXZlIGlzc3VlcyB3aXRoIGEgdmVyeSBzcGVjaWZpYyBjYXNlLiBZb3UgbmVlZAo+ID4+Pj4+Pj50 byBoYXZlCj4gPj4+Pj4+Pip2ZXJ5KiBzcGVjaWZpYyBydWxlcyB0byBmaWx0ZXIgdGhlbSBvdXQg aW4gb3JkZXIgdG8gbm90Cj4gPj4+Pj4+PmluYWR2ZXJ0ZW50bHkKPiA+Pj4+Pj4+ZmlsdGVyIG91 dCB2YWxpZCB1c2UgY2FzZXMuIFJlbWVtYmVyLCBpZiB0aGVyZSdzIGp1c3QgKm9uZSogdmFsaWQK PiA+Pj4+Pj4+dXNlCj4gPj4+Pj4+PmNhc2UgdGhhdCB5b3UgZW5kIHVwIHJlamVjdGluZyBoZXJl LCBpdCdzIGEgcmVncmVzc2lvbiBhbmQgeW91Cj4gPj4+Pj4+Pm5lZWQgdG8KPiA+Pj4+Pj4+cmV2 ZXJ0IGFuZCBnZXQgYmFjayB0byB0aGUgZHJhd2luZyBib2FyZC4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+ Pi0tLQo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+RmluYWxseSwgYW5kIHBlcmhhcHMgbW9zdCBpbXBvcnRh bnRseSwgdGhlcmUgYXJlIHBlb3BsZSBvbiB0aGUKPiA+Pj4+Pj4+YnVnIHRoYXQKPiA+Pj4+Pj4+ YXJlIGdvaW5nIHRvIGJlIHJhdGhlciB1bmRlcndoZWxtZWQgdGhhdCBhZnRlciB0aHJlZSB5ZWFy cyB0aGV5Cj4gPj4+Pj4+PmdldCBhCj4gPj4+Pj4+PnBhdGNoIHRoYXQgc2ltcGx5IHJlamVjdHMg dGhlIHZlcnkgbW9kZSB0aGF0IHdhcyB0aGUgcmVhc29uIGZvcgo+ID4+Pj4+Pj5idXlpbmcKPiA+ Pj4+Pj4+dGhlIGRpc3BsYXkgdGhleSBoYXZlLiBJbnN1bHQgdG8gaW5qdXJ5LCB0aGUgcmVhbCBm aXggaXMgZm9yIGEKPiA+Pj4+Pj4+cGxhdGZvcm0KPiA+Pj4+Pj4+dGhhdCBkaWRuJ3QgZXhpc3Qg d2hlbiB0aGV5IGJvdWdodCB0aGUgZGlzcGxheXMuCj4gPj4+Pj4+Cj4gPj4+Pj4+SSBhZ3JlZSBj b21wbGV0ZWx5LiBBbmtpdCBjb3VsZCB5b3UgdGVzdCBpdCBvbiB0aGUgNUsgc2NyZWVuIHdoYXQK PiA+Pj4+Pj5oYXBwZW5zIGlmCj4gPj4+Pj4+eW91IHNldCB0aGUgaGFzX3RpbGUgdG8gZmFsc2Ug YW5kIGFsbG93IGl0IHRvIHN0cmV0Y2ggb3V0IGluCj4gPj4+Pj4+dW50aWxlZCBmYXNoaW9uPwo+ ID4+Pj4+PklmIHRoYXQgd29ya3Mgd2UgY2FuIGFkZCB0aGF0IHRvIHRoZSBxdWlyay4KPiA+Pj4+ Pgo+ID4+Pj4+SSdtIHByb2JhYmx5IG1pc3Npbmcgc29tZXRoaW5nIGhlcmUuCj4gPj4+Pj4KPiA+ Pj4+PkFua2l0IGxpc3RzIHRoZSBtb2RlcyBmb3IgRFAtMiBpbiBbMV0sIGFuZCBhbW9uZyB0aGVt IGlzCj4gPj4+Pj4yNTYweDI4ODAuIEhvdydzIHRoYXQgZGlmZmVyZW50IGZyb20gdXNpbmcsIHNh eSwgMzg0MHgyMTYwPwo+ID4+Pj4+Cj4gPj4+Pj5CUiwKPiA+Pj4+PkphbmkuCj4gPj4+Pj4KPiA+ Pj4+Pgo+ID4+Pj4+WzFdCj4gPj4+Pj5odHRwOi8vbWlkLm1haWwtYXJjaGl2ZS5jb20vNTRjNmMy YzEtZDk1ZS0zYmI0LTUwZGQtMWVmZmY2YmVkN2RkQGludGVsLmNvbQo+ID4+Pj4+Cj4gPj4+Pj4K PiA+Pj4+Pgo+ID4+Pj4KPiA+Pj4+VGhlIGlzc3VlIGlzIHNlZW4gb25seSB3aGVuIHRoZSBtb2Rl IDI1NjB4Mjg4MCBpcyBzZXQgZm9yIGJvdGggb2YgdGhlCj4gPj4+PmNvbm5lY3RvcnMuIFNvIGlm IHdlIHNlZSBhbnkgb3RoZXIgY29tYmluYXRpb24sIHNheSAyNTYweDI4ODAgb24gRFAtMSwKPiA+ Pj4+Mzg0MHgyMTYwIG9uIERQLTIsIG9uZSBvZiB0aGUgbW9kZSB3aWxsIGNvdmVyIHRoZSBlbnRp cmUgc2NyZWVuIGFuZAo+ID4+Pj50aGVyZSBpcyBubyBjb3JydXB0aW9uIG9ic2VydmVkLiBUaGlz IGlzIHRydWUgZm9yIGFsbCBjb21iaW5hdGlvbnMKPiA+Pj4+b3RoZXIKPiA+Pj4+dGhhbiB0aGUg KDI1NjB4Mjg4MCwyNTYweDI4ODApIGNvbWJpbmF0aW9uLgo+ID4+Pgo+ID4+PlJpZ2h0LCBzbyBt eSBwb2ludCB3YXMsIGlmIDI1NjB4Mjg4MCBpcyB1c2FibGUgd2hlbiB1c2VkIG9uIG9uZQo+ID4+ PmNvbm5lY3RvciBvbmx5LCBpdCdzIG5vdCByZWFsbHkgcHJvcGVyIHRvIGZpbHRlciB0aGF0IG91 dCBmcm9tIHRoZQo+ID4+Pm1vZGVzLgo+ID4+Cj4gPj5IaSBKYW5pLAo+ID4+Cj4gPj5TbyB0aGUg aGFzX3RpbGUgb3IgdGhlIFRJTEUgcHJvcGVydHkgaXMgc2V0IHBlciBjb25uZWN0b3IgaXJyZXNw ZWN0aXZlCj4gPj5vZiB0aGUgbW9kZS4KPiA+PkJ1dCB0aGUgd2F5IHVzZXJzcGFjZSBoYW5kbGVz IGl0IElNTyBpcyB0aGF0IGlmIFRJTEUgcHJvcCBpcyBzZXQgYW5kCj4gPj50aGUgbW9kZSBtYXRj aGVzCj4gPj50aGUgdGlsZV9oX3NpemUgYW5kIHRpbGVfdl9zaXplIG9ubHkgdGhlbiBpdCB3aWxs IGRvIHR3byBhdG9taWMKPiA+Pm1vZGVzZXRzIG9uIHR3byBjb25uZWN0b3JzCj4gPj5PdGhlcndp c2UgaXQgd2lsbCBqdXN0IGJlIG9uZSBjb25uZWN0b3IgbW9kZXNldC4KPiA+Pgo+ID4+U28gZm9y IGVnOiAyNTYwIHggMjg4MCB3b3VsZCBiZSB0aGUgc2l6ZSBvZiBlYWNoIHRpbGUgc28gZm9yIHRo YXQgaXQKPiA+PmlzIGRvaW5nIG1vZGVzZXRzCj4gPj5vbiB0d28gdGlsZXMgYW5kIHRoYXRzIHdo ZXJlIHdlIHNlZSB0aGUgY29ycnVwdGlvbiBpc3N1ZSBmb3IgdGhlCj4gPj5jb21wbGV0ZSB0b3Rh bCBmYgo+ID4+b2YgNTEyMCB4IDI4ODAuCj4gPj5CdXQgZm9yIDM4NDAgeCAyMTYwLCB0aGF0IG1v ZGVzZXQganVzdCBoYXBwZW5zIG9uIGEgc2luZ2xlIGNvbm5lY3Rvcgo+ID4+YW5kIHdlIGRvbnQg c2VlCj4gPj5hbnkgaXNzdWUuCj4gPj4KPiA+PlNvIGkgdGhpbmsgd2hhdCB0aGUgcXVpcmsgc2hk IGRvIGlzIGZvciB0aGlzIHNwZWNpZmljIHBhbmVsLCB3ZSB3b3VsZAo+ID4+bm90IGJlIGFibGUg dG8KPiA+PmRpc3BsYXkgdGlsZWQgbW9kZSB0b2dldGhlciBvZiA1MTIwIHggMjg4MCBjb3JyZWN0 bHkgZHVlIHRvCj4gPj5jb3JydXB0aW9uLCBzbyB0aGUgcmVzb2x1dGlvbgo+ID4+b2YgMjU2MCB4 IDI4ODAgc2hvdWxkIG5vdCBhcHBlYXIgaW4gdGhlIG1vZGVsaXN0IGZvciB0aGF0IGNvbm5lY3Rv ciBvcgo+ID4+d2UganVzdCBzZXQgaGFzX3RpbGUKPiA+PnRvIGZhbHNlIHNvIHVzZXJzcGFjZSB3 aWxsIG5vdCB0cnkgdG8gZG8gdGhlIHRpbGVkIGRpc3BsYXkgbWFnaWMgYW5kCj4gPj5kbyBhIG1v ZGVzZXQgb24KPiA+PnNpbmdsZSBjb25uZWN0b3IuCj4gPj4KPiA+PkFua2l0LCBjb3VsZCB5b3Ug cGxlYXNlIGVtYWlsIG1lIHRoZSBkbWVzZyBsb2dzIGluOgo+ID4+MS4gQ2FzZSB3aGVyZSB5b3Ug ZG9udCBhcHBseSB0aGlzIHBhdGNoLCB3aGF0IGhhcHBlbnMgd2l0aCAyCj4gPj5jb25uZWN0b3Jz IGluIDVLIHRpbGVkIG1vZGUKPiA+PjIuIFlvdSBmb3JjZSBoYXNfdGlsZSB0byBmYWxzZSBpbiB0 aGUgY29kZSB0byBzZWUgdGhlIGJlaGF2aW91ciBhbmQKPiA+PmxvZ3MgaW4gbm9uIHRpbGVkIGNh c2UKPiA+PjMuIFBydW5lIHRoZSAyNTYwIHggMjg4MCBtb2RlIGFuZCBjb2xsZWN0IGxvZ3MuCj4g Pj4KPiA+PkkgdGhpbmsgbG9va2luZyBhdCB0aGVzZSBsb2dzIHdpbGwgZ2l2ZSB1cyBhIGNsZWFy IHBpY3R1cmUgYW5kIHdlIGNhbgo+ID4+ZmluYWxpemUgdGhlIHByb3BlciBmaXgKPiA+Pgo+ID4+ UmVnYXJkcwo+ID4+TWFuYXNpCj4gPj4KPiA+Cj4gPlN1cmUgTWFuYXNpLCBJJ2xsIHRyeSB0aGlz IGFuZCBzaGFyZSB0aGUgbG9ncy4KPiA+Cj4gPlJlZ2FyZHMsCj4gPkFua2l0Cj4gPgo+IAo+IAo+ IAo+IAo+IAo+IAo+IAo+IAo+IAo+ID4+Cj4gPj4+Cj4gPj4+QlIsCj4gPj4+SmFuaS4KPiA+Pj4K PiA+Pj4KPiA+Pj4+Cj4gPj4+PkkgYW0gbm90IHN1cmUgYnV0IGl0IHNlZW1zIGxpa2UsIHRoZSBt b25pdG9yIHdoZW4gcmVjZWl2ZXMgdGhlCj4gPj4+PjI1NjB4Mjg4MAo+ID4+Pj5tb2RlcyBvbiBi b3RoIGNvbm5lY3RvcnMsIGF0IHRoYXQgdGltZSB0aGUgZHVhbC1kcCBjb21lcyB0byBwbGF5IGFu ZAo+ID4+Pj50aGUKPiA+Pj4+Y29ycnVwdGlvbiBvY2N1cnMuIChJIGhhZCB0cmllZCB0byBzZXQg dGhlIG1vZGUgdXNpbmcgdGhlIFVidW50dQo+ID4+Pj5EaXNwbGF5Cj4gPj4+PnNldHRpbmdzLikK PiA+Pj4+Cj4gPj4+PkkgaGFkIHRyaWVkIHdpdGggRGVsbCBVUDI3MTVLIG1vbml0b3IsIEkgY2Fu IHRyeSB0byBnZXQgb3RoZXIgdGlsZWQgNWsKPiA+Pj4+bW9uaXRvcnMgYW5kIGNoZWNrIHRoZSBp c3N1ZSB3aXRob3V0IFgtc2VydmVyIG9uLgo+ID4+Pj4KPiA+Pj4+SWYgaXRzIFBhbmVsIHNwZWNp ZmljIGlzc3VlLCBpdHMgYmV0dGVyIHRvIGFkZCBxdWlyayBhcyBzdWdnZXN0ZWQuCj4gPj4+Pgo+ ID4+Pj5UaGFua3MgJiBSZWdhcmRzLAo+ID4+Pj5BbmtpdAo+ID4+Pj4KPiA+Pj4+Pgo+ID4+Pj4+ Cj4gPj4+Pj4+Cj4gPj4+Pj4+TWFuYXNpCj4gPj4+Pj4+Cj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4KPiA+ Pj4+Pj4+QlIsCj4gPj4+Pj4+PkphbmkuCj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+Cj4g Pj4+Pj4+Pj4KPiA+Pj4+Pj4+PlJlZ2FyZHMKPiA+Pj4+Pj4+Pk1hbmFzaQo+ID4+Pj4+Pj4+Pgo+ ID4+Pj4+Pj4+PkJsYW5rZXQgZmlsdGVycyBsaWtlIHRoaXMgYXJlIGEgbm8tZ28uCj4gPj4+Pj4+ Pj4+Cj4gPj4+Pj4+Pj4+QlIsCj4gPj4+Pj4+Pj4+SmFuaS4KPiA+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+ Pj4KPiA+Pj4+Pj4+Pj4+ICAgICByZXR1cm4gTU9ERV9PSzsKPiA+Pj4+Pj4+Pj4+IH0KPiA+Pj4+ Pj4+Pj4KPiA+Pj4+Pj4+Pj4tLQo+ID4+Pj4+Pj4+PkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNv dXJjZSBHcmFwaGljcyBDZW50ZXIKPiA+Pj4+Pj4+Pj5fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+ID4+Pj4+Pj4+PkludGVsLWdmeCBtYWlsaW5nIGxpc3QK PiA+Pj4+Pj4+Pj5JbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4+Pj4+Pj4+aHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+ Pj4+Pj4+Cj4gPj4+Pj4+Pi0tCj4gPj4+Pj4+PkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJj ZSBHcmFwaGljcyBDZW50ZXIKPiA+Pj4+Pgo+ID4+Pgo+ID4+Pi0tCj4gPj4+SmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=