From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH 2/2] drm/i915/vbt: split out defaults that are set when there is no VBT Date: Mon, 20 Mar 2017 13:47:48 -0700 Message-ID: <20170320204746.GA20802@intel.com> References: <95c26079ff640d43f53b944f17e9fc356b36daec.1489152288.git.jani.nikula@intel.com> <20170310235759.GB3175@intel.com> <87lgs9fqlo.fsf@intel.com> <20170313163009.GA8626@intel.com> <87mvcotec2.fsf@intel.com> <1489782064.2442.220.camel@intel.com> <87inn4e1a3.fsf@intel.com> <1490029071.2571.3.camel@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 E8DC26E695 for ; Mon, 20 Mar 2017 20:43:47 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1490029071.2571.3.camel@intel.com> 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: Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBNYXIgMjAsIDIwMTcgYXQgMDE6NTc6NTFQTSAtMDMwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IEVtIFNlZywgMjAxNy0wMy0yMCDDoHMgMTE6MzggKzAyMDAsIEphbmkgTmlrdWxhIGVz Y3JldmV1Ogo+ID4gT24gRnJpLCAxNyBNYXIgMjAxNywgUGF1bG8gWmFub25pIDxwYXVsby5yLnph bm9uaUBpbnRlbC5jb20+IHdyb3RlOgo+ID4gPiAKPiA+ID4gRW0gVGVyLCAyMDE3LTAzLTE0IMOg cyAxMTowOSArMDIwMCwgSmFuaSBOaWt1bGEgZXNjcmV2ZXU6Cj4gPiA+ID4gCj4gPiA+ID4gT24g TW9uLCAxMyBNYXIgMjAxNywgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNv bT4KPiA+ID4gPiB3cm90ZToKPiA+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBPbiBNb24s IE1hciAxMywgMjAxNyBhdCAxMTo1NTozMUFNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBPbiBTYXQsIDExIE1hciAyMDE3LCBN YW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tCj4gPiA+ID4gPiA+ID4KPiA+ ID4gPiA+ID4gd3JvdGU6Cj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ ID4gT24gRnJpLCBNYXIgMTAsIDIwMTcgYXQgMDM6Mjc6NThQTSArMDIwMCwgSmFuaSBOaWt1bGEK PiA+ID4gPiA+ID4gPiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gCj4g PiA+ID4gPiA+ID4gPiBUaGUgbWFpbiB0aGluZyBhcmUgdGhlIERESSBwb3J0cy4gSWYgdGhlcmUn cyBhIFZCVCB0aGF0Cj4gPiA+ID4gPiA+ID4gPiBzYXlzCj4gPiA+ID4gPiA+ID4gPiB0aGVyZSBh cmUKPiA+ID4gPiA+ID4gPiA+IG5vIG91dHB1dHMsIHdlIHNob3VsZCB0cnVzdCB0aGF0LCBhbmQg bm90IGhhdmUgc2VtaS0KPiA+ID4gPiA+ID4gPiA+IHJhbmRvbQo+ID4gPiA+ID4gPiA+ID4gZGVm YXVsdHMuIFVuZm9ydHVuYXRlbHksIHRoZSBkZWZhdWx0cyBoYXZlIHJlc3VsdGVkIGluCj4gPiA+ ID4gPiA+ID4gPiBzb21lCj4gPiA+ID4gPiA+ID4gPiBDaHJvbWVib29rcwo+ID4gPiA+ID4gPiA+ ID4gd2l0aG91dCBWQlQgdG8gcmVseSBvbiB0aGlzIGJlaGF2aW91ciwgc28gd2Ugc3BsaXQgb3V0 Cj4gPiA+ID4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+ID4gPiA+IGRlZmF1bHRzIGZvcgo+ID4gPiA+ ID4gPiA+ID4gdGhlIG1pc3NpbmcgVkJUIGNhc2UuCj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiA+IENjOiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4g PiA+ID4gPiA+ID4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Cj4gPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5u aWt1bGFAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ID4gPiDCoGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyB8IDE3ICsrKysrKysrKysrKysrKystCj4g PiA+ID4gPiA+ID4gPiDCoDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMKPiA+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gPiA+ID4gPiA+ID4gPiBpbmRleCA3MTA5ODhkNzIy NTMuLjYzOWQ0NWMxZGQyZSAxMDA2NDQKPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gPiA+ID4gPiA+ID4gPiBAQCAtMTM0MSw2ICsxMzQxLDcg QEAgcGFyc2VfZGV2aWNlX21hcHBpbmcoc3RydWN0Cj4gPiA+ID4gPiA+ID4gPiBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+ID4gPiA+ID4gPiA+IMKgCXJldHVybjsKPiA+ID4gPiA+ID4g PiA+IMKgfQo+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+ICsvKiBDb21tb24gZGVm YXVsdHMgd2hpY2ggbWF5IGJlIG92ZXJyaWRkZW4gYnkgVkJULiAqLwo+ID4gPiA+ID4gPiA+ID4g wqBzdGF0aWMgdm9pZAo+ID4gPiA+ID4gPiA+ID4gwqBpbml0X3ZidF9kZWZhdWx0cyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ID4gPiA+ID4gPiDCoHsKPiA+ID4gPiA+ ID4gPiA+IEBAIC0xMzc3LDYgKzEzNzgsMTggQEAgaW5pdF92YnRfZGVmYXVsdHMoc3RydWN0Cj4g PiA+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+ID4gPiA+ IMKgCQkJJmRldl9wcml2LQo+ID4gPiA+ID4gPiA+ID4gPnZidC5kZGlfcG9ydF9pbmZvW3BvcnRd Owo+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+IMKgCQlpbmZvLT5oZG1pX2xldmVs X3NoaWZ0ID0KPiA+ID4gPiA+ID4gPiA+IEhETUlfTEVWRUxfU0hJRlRfVU5LTk9XTjsKPiA+ID4g PiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiA+ID4gK30KPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4g PiA+ID4gPiA+ICsvKiBEZWZhdWx0cyB0byBpbml0aWFsaXplIG9ubHkgaWYgdGhlcmUgaXMgbm8g VkJULiAqLwo+ID4gPiA+ID4gPiA+ID4gK3N0YXRpYyB2b2lkCj4gPiA+ID4gPiA+ID4gPiAraW5p dF92YnRfbWlzc2luZ19kZWZhdWx0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gPiA+ID4g PiA+ID4gKmRldl9wcml2KQo+ID4gPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gPiA+ICsJZW51 bSBwb3J0IHBvcnQ7Cj4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gPiArCWZvciAocG9y dCA9IFBPUlRfQTsgcG9ydCA8IEk5MTVfTUFYX1BPUlRTOwo+ID4gPiA+ID4gPiA+ID4gcG9ydCsr KSB7Cj4gPiA+ID4gPiA+ID4gPiArCQlzdHJ1Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm8gPQo+ ID4gPiA+ID4gPiA+ID4gKwkJCSZkZXZfcHJpdi0KPiA+ID4gPiA+ID4gPiA+ID52YnQuZGRpX3Bv cnRfaW5mb1twb3J0XTsKPiA+ID4gPiA+ID4gPiA+IMKgCj4gPiA+ID4gPiA+ID4gPiDCoAkJaW5m by0+c3VwcG9ydHNfZHZpID0gKHBvcnQgIT0gUE9SVF9BICYmCj4gPiA+ID4gPiA+ID4gPiBwb3J0 Cj4gPiA+ID4gPiA+ID4gPiAhPSBQT1JUX0UpOwo+ID4gPiA+ID4gPiA+ID4gwqAJCWluZm8tPnN1 cHBvcnRzX2hkbWkgPSBpbmZvLQo+ID4gPiA+ID4gPiA+ID4gPnN1cHBvcnRzX2R2aTsKPiA+ID4g PiA+ID4gPiA+IEBAIC0xNTE2LDggKzE1MjksMTAgQEAgdm9pZCBpbnRlbF9iaW9zX2luaXQoc3Ry dWN0Cj4gPiA+ID4gPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gPiA+ ID4gPiA+IMKgCXBhcnNlX2RkaV9wb3J0cyhkZXZfcHJpdiwgYmRiKTsKPiA+ID4gPiA+ID4gPiA+ IMKgCj4gPiA+ID4gPiA+ID4gPiDCoG91dDoKPiA+ID4gPiA+ID4gPiA+IC0JaWYgKCF2YnQpCj4g PiA+ID4gPiA+ID4gPiArCWlmICghdmJ0KSB7Cj4gPiA+ID4gPiA+ID4gPiDCoAkJRFJNX0lORk8o IkZhaWxlZCB0byBmaW5kIFZCSU9TIHRhYmxlcwo+ID4gPiA+ID4gPiA+ID4gKFZCVClcbiIpOwo+ ID4gPiA+ID4gPiA+ID4gKwkJaW5pdF92YnRfbWlzc2luZ19kZWZhdWx0cyhkZXZfcHJpdik7Cj4g PiA+ID4gPiA+ID4gPiArCX0KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBTbyBpbiBjYXNl IHRoZXJlIGlzIG5vIFZCVCwgdGhpcyB3aWxsIHNldCBzdXBwb3J0c19EUCBmbGFnCj4gPiA+ID4g PiA+ID4gb24KPiA+ID4gPiA+ID4gPiBQb3J0IEEuCj4gPiA+ID4gPiA+ID4gV2hhdCBpcyB0aGVy ZSBpcyBubyBWQlQgYW5kIHRoZXJlIGlzIG5vIGVEUCBvbiBQb3J0IEE/Cj4gPiA+ID4gPiA+ID4g SW4gdGhpcyBjYXNlIGl0IHdpbGwgc3RpbGwgdHJ5IHRvIGxpbmsgdHJhaW4gb24gUG9ydCBBIGFu ZAo+ID4gPiA+ID4gPiA+IGZhaWwuLj8KPiA+ID4gPiA+ID4gPiBJIGFtIG5vdCBzdXJlIGlmIHRo aXMgY2FzZSBleGlzdHMsIGJ1dCBqdXN0IGEgdGhvdWdodAo+ID4gPiA+ID4gPiA+IGxvb2tpbmcK PiA+ID4gPiA+ID4gPiBhdCBpdC4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEl0J3MgcG9zc2li bGUgdGhlIGNhc2UgZXhpc3RzLCBidXQgdGhlIHBvaW50IGlzIHRoYXQgdGhlCj4gPiA+ID4gPiA+ IGJlaGF2aW91ciBmb3IKPiA+ID4gPiA+ID4gdGhlIG5vLVZCVCBjYXNlIHJlbWFpbnMgdGhlIHNh bWUgYmVmb3JlIGFuZCBhZnRlciB0aGlzIHBhdGNoLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g QlIsCj4gPiA+ID4gPiA+IEphbmkuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ IAo+ID4gPiA+ID4gT2sgYWdyZWVkLiBJbiB0aGF0IGNhc2UgUmV2aWV3ZWQtYnk6IE1hbmFzaSBO YXZhcmUKPiA+ID4gPiA+IDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4gPiA+IAo+ID4g PiA+IFB1c2hlZCB0byBkcm0taW50ZWwtbmV4dC1xdWV1ZWQsIHRoYW5rcyBmb3IgdGhlIHJldmll dy4KPiA+ID4gPiAKPiA+ID4gPiBJIHJlYWxseSBob3BlIHRoZXJlIGFyZSBubyBtYWNoaW5lcyBv dXQgdGhlcmUgdGhhdCBoYXZlIGEKPiA+ID4gPiBjcmlwcGxlZAo+ID4gPiA+IFZCVAo+ID4gPiA+ IHdpdGggbm8gY2hpbGQgZGV2aWNlIGNvbmZpZy4gSSBndWVzcyB3ZSdsbCBmaW5kIG91dC4uLgo+ ID4gPiAKPiA+ID4gSSBoYXZlIGFjY2VzcyB0byB0aGlzIHZlcnkgaW50ZXJlc3RpbmcgbWFjaGlu ZSB3aXRoIEREQiB2ZXJzaW9uIDE2Mwo+ID4gPiBhbmQKPiA+ID4gYSBjaGlsZCBkZXZpY2Ugc2l6 ZSBjb25maWcgdGhhdCdzIDEgaW5zdGVhZCBvZiB0aGUgZXhwZWN0ZWQgMzMuCj4gPiA+IAo+ID4g PiBTbyB3aGF0IGhhcHBlbnMgaGVyZSBpcyB0aGF0IHNpbmNlIHRoZSBWQlQgaXMgc3VwcG9zZWQg dG8gYmUgdmFsaWQKPiA+ID4gd2UKPiA+ID4gZG9uJ3QgZW5kIHVwIGNhbGxpbmcgaW5pdF92YnRf bWlzc2luZ19kZWZhdWlsdHMoKS4gV2UgcmV0dXJuIGVhcmx5Cj4gPiA+IGZyb20KPiA+ID4gcGFy c2VfZGV2aWNlX21hcHBpbmcoKSwgd2hpY2ggbWVhbnMgd2UgZG9uJ3Qgc2V0IHZidC5jaGlsZF9k ZXZfbnVtLAo+ID4gPiB3aGljaCBtZWFucyB0aGF0IHBhcnNlX2RkaV9wb3J0KCkgcmV0dXJucyBl YXJseS4gU28gaW5mby0KPiA+ID4gPnN1cHBvcnRzXyoKPiA+ID4gc3RheXMgZmFsc2UsIGFuZCBp bnRlbF9kZGlfaW5pdCgpIGZhaWxzLgo+ID4gPiAKPiA+ID4gR2l2ZW4geW91ciBjb21taXQgbWVz c2FnZSBpdCBzZWVtcyB0aGF0IHdlIHNob3VsZCBwcm9wZXJseSBiZSBhYmxlCj4gPiA+IHRvCj4g PiA+IGRpc3Rpbmd1aXNoIGJldHdlZW4gIlZCVCBjb3JyZWN0bHkgc2F5cyB0aGF0IHRoZXJlJ3Mg bm8gb3V0cHV0IiBhbmQKPiA+ID4gIlZCVCBpcyBkcnVuayBhbmQgc2hvdWxkIGdvIGhvbWUiIGlu IG9yZGVyIHRvIGZpeCB0aGlzIHByb2JsZW0uCj4gPiAKPiA+IEknbSBub3Qgc3VyZSBpdCdzIHBv c3NpYmxlIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3by4gSSB0aG91Z2h0Cj4gPiB3ZSdk IGJlIGFibGUgdG8gcmVseSBvbiB0aGUgZm9ybWVyLgo+IAo+IEFyZSB5b3Ugc3VyZT8gVGhlIGNv ZGUgSSdtIGhpdHRpbmcgaXMgdGhhdCBjaGlsZF9kZXZfc2l6ZSAhPSBleHBlY3RlZAo+IHNpemUs IHdoaWNoIHRyYW5zbGF0ZXMgdG8gIndlIGZhaWxlZCB0byBwYXJzZSB0aGUgVkJUIi4gSXMgdGhp cyBleGFjdGx5Cj4gd2hhdCB5b3Ugc2VlIGluIHRoZSBuby1vdXRwdXQgbWFjaGluZXM/IEkgd291 bGQgZXhwZWN0IG5vLW91dHB1dAo+IG1hY2hpbmVzIHdvdWxkIGhhdmUgYSBWQlQgdGhhdCBhY3R1 YWxseSBwYXJzZXMgY29ycmVjdGx5IGJ1dAo+IGludGVudGlvbmFsbHkgbGVhdmVzIHlvdSB3aXRo IGNoaWxkX2RldmljZV9udW0gPSAwLgo+IAo+IFRoZW4sIHdoYXQgd2UnZCBuZWVkIHRvIGRvIHdv dWxkIGJlIHRvIG1ha2UgdGhvc2UgcGFyc2Vfc29tZXRoaW5nCj4gZnVuY3Rpb25zIHJldHVybiBl cnJvciBjb2RlcyB3aGVuIHRoZSBWQlQgd2FzIG1hbGZvcm1lZCwgc28gd2UnZCBiZQo+IGFibGUg dG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGludGVudGlvbmFsIGNoaWxkX2Rldl9udW09MCBvciBw YXJzZQo+IGZhaWx1cmVzLgo+IAo+CgpJbiB0aGUgbm8tb3V0cHV0IG1hY2hpbmUgY2FzZXMsIGxp a2UgdGhlIFNLTCBkZXNrdG9wIHdpdGggb24gZURQIG9uClBvcnQgQSwgaXQgcmVwb3J0cyBjaGls ZF9kZXZpY2VfbnVtPTAgYW5kIHNvIHdlIHNob3VsZCBub3QgY2FsbCB0aGUKaW5pdF92YnRfbWlz c2luZ19kZWZhdWx0cygpIGZ1bmN0aW9uIGF0IGFsbC4gSSB0aGluayB3ZSBuZWVkIGEgd2F5IHRv IGZpbmQKaWYgdGhlIFZCVCB3YXMgbWFsZm9ybWVkL3BhcmVzZSBlcnJvci4KClJlZ2FyZHMKTWFu YXNpCgogCj4gPiAgSWYgd2UgaGF2ZSB0byBjaGFuZ2UKPiA+ICJpbml0X3ZidF9taXNzaW5nX2Rl ZmF1bHRzIiB0byAiaW5pdF9jaGlsZF9kZXZfbWlzc2luZ19kZWZhdWx0cyIsCj4gPiB0aGVuCj4g PiB3ZSdsbCBuZXZlciBiZSBhYmxlIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB2YnQgY29ycmVj dGx5IHN0YXRlcwo+ID4gdGhlcmUKPiA+IGFyZSBubyBjaGlsZCBkZXZpY2VzLiA6KAo+ID4gCj4g PiBCUiwKPiA+IEphbmkuCj4gPiAKPiA+IAo+ID4gPiAKPiA+ID4gSSBjYW4gY29uZmlybSB0aGF0 IHJldmVydGluZyB0aGlzIHBhdGNoIG1ha2VzIGRpc3BsYXkgZ3JlYXQKPiA+ID4gYWdhaW5ed153 Cj4gPiA+IHdvcmsgYWdhaW4uIFNvIHVuZm9ydHVuYXRlbHkgSSdsbCBoYXZlIHRvIGNhbGwgcmVn cmVzc2lvbiBvbiB0aGlzCj4gPiA+IHBhdGNoLgo+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiAKPiA+ ID4gPiBCUiwKPiA+ID4gPiBKYW5pLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gUmVnYXJkcwo+ID4gPiA+ID4gTWFuYXNpCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IMKgCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBJZiBzdWNoIGEgY2FzZSBkb2VzIG5vdCBl eGlzdCwgdGhlbiB0aGlzIHdpbGwgc29sdmUgb3VyCj4gPiA+ID4gPiA+ID4gcHJvYmxlbQo+ID4g PiA+ID4gPiA+IG9mCj4gPiA+ID4gPiA+ID4gY3VycmVudCBmYWlsdXJlcyBiZWNhdXNlIGxlYXZp bmcgZGVmYXVsdHMgb24gUG9ydCBBLiBTbyBpbgo+ID4gPiA+ID4gPiA+IHRoYXQKPiA+ID4gPiA+ ID4gPiBjYXNlCj4gPiA+ID4gPiA+ID4gaXQgbGd0bS4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiBSZWdhcmRzCj4gPiA+ID4gPiA+ID4gTWFuYXNpCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4g wqAKPiA+ID4gPiA+ID4gPiA+IMKgCWlmIChiaW9zKQo+ID4gPiA+ID4gPiA+ID4gwqAJCXBjaV91 bm1hcF9yb20ocGRldiwgYmlvcyk7Cj4gPiA+ID4gPiA+ID4gPiAtLcKgCj4gPiA+ID4gPiA+ID4g PiAyLjEuNAo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAtLcKgCj4g PiA+ID4gPiA+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRl cgo+ID4gPiA+IAo+ID4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=