From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [CI v12 10/23] drm/i915/dsc: Define & Compute VESA DSC params (fwd) Date: Wed, 28 Nov 2018 10:50:58 -0800 Message-ID: <20181128185056.GA7834@intel.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id ECA396E136 for ; Wed, 28 Nov 2018 18:47:57 +0000 (UTC) Content-Disposition: inline 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: Julia Lawall Cc: intel-gfx@lists.freedesktop.org, kbuild-all@01.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBOb3YgMjgsIDIwMTggYXQgMTE6NDY6MjZBTSArMDAwMCwgSnVsaWEgTGF3YWxsIHdy b3RlOgo+IEhlbGxvLAo+IAo+IHJvd19pbmRleCBhbmQgY29sdW1uX2luZGV4IGFyZSB1bnNpZ25l ZCwgc28gaW4gdGhlIGxhc3QgbGluZSBzaG93bgo+IHRoZXkgd2lsbCBub3QgYmUgbGVzcyB0aGFu IDAuCj4KClJvd19pbmRleCBhbmQgY29sdW1uX2luZGV4IGFyZSBhc3NpZ25lZCB0byAwIGF0IHRo ZSBiZWdpbm5pbmcgb2YgdGhlIGZ1bmN0aW9uIGFuZCBzbwppZiB0aHJlIGlzIG5vIHZhbGlkIGlu ZGV4IGZvdW5kIHRoZSBnZXRfY29sdW1uX2luZGV4IC9yb3dfaW5kZXggd2lsbCByZXR1cm4gLUVJ TlZBTAphbmQgaGVuY2UgdGhleSBjYW4gaGF2ZSB2YWx1ZXMgPCAwLgoKRG9lcyB0aGlzIG1ha2Ug c2Vuc2U/CgpNYW5hc2kKIAo+IGp1bGlhCj4gCj4gLS0tLS0tLS0tLSBGb3J3YXJkZWQgbWVzc2Fn ZSAtLS0tLS0tLS0tCj4gRGF0ZTogV2VkLCAyOCBOb3YgMjAxOCAxOTo0MzozMCArMDgwMAo+IEZy b206IGtidWlsZCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPgo+IFRvOiBrYnVpbGRAMDEub3Jn Cj4gQ2M6IEp1bGlhIExhd2FsbCA8anVsaWEubGF3YWxsQGxpcDYuZnI+Cj4gU3ViamVjdDogUmU6 IFtJbnRlbC1nZnhdIFtDSSB2MTIgMTAvMjNdIGRybS9pOTE1L2RzYzogRGVmaW5lICYgQ29tcHV0 ZSBWRVNBIERTQwo+ICAgICBwYXJhbXMKPiAKPiBDQzoga2J1aWxkLWFsbEAwMS5vcmcKPiBJbi1S ZXBseS1UbzogPDIwMTgxMTI3MjE0MTI1LjE3NjU4LTEwLW1hbmFzaS5kLm5hdmFyZUBpbnRlbC5j b20+Cj4gUmVmZXJlbmNlczogPDIwMTgxMTI3MjE0MTI1LjE3NjU4LTEwLW1hbmFzaS5kLm5hdmFy ZUBpbnRlbC5jb20+Cj4gVE86IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5j b20+Cj4gQ0M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDQzoKPiAKPiBIaSBH YXVyYXYsCj4gCj4gVGhhbmsgeW91IGZvciB0aGUgcGF0Y2ghIFBlcmhhcHMgc29tZXRoaW5nIHRv IGltcHJvdmU6Cj4gCj4gW2F1dG8gYnVpbGQgdGVzdCBXQVJOSU5HIG9uIGRybS1pbnRlbC9mb3It bGludXgtbmV4dF0KPiBbYWxzbyBidWlsZCB0ZXN0IFdBUk5JTkcgb24gbmV4dC0yMDE4MTEyN10K PiBbY2Fubm90IGFwcGx5IHRvIHY0LjIwLXJjNF0KPiBbaWYgeW91ciBwYXRjaCBpcyBhcHBsaWVk IHRvIHRoZSB3cm9uZyBnaXQgdHJlZSwgcGxlYXNlIGRyb3AgdXMgYSBub3RlIHRvIGhlbHAgaW1w cm92ZSB0aGUgc3lzdGVtXQo+IAo+IHVybDogICAgaHR0cHM6Ly9naXRodWIuY29tLzBkYXktY2kv bGludXgvY29tbWl0cy9NYW5hc2ktTmF2YXJlL2RybS1kc2MtTW9kaWZ5LURSTS1oZWxwZXItdG8t cmV0dXJuLWNvbXBsZXRlLURTQy1jb2xvci1kZXB0aC1jYXBhYmlsaXRpZXMvMjAxODExMjgtMDk1 MDI2Cj4gYmFzZTogICBnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9kcm0taW50ZWwgZm9y LWxpbnV4LW5leHQKPiA6Ojo6OjogYnJhbmNoIGRhdGU6IDEwIGhvdXJzIGFnbwo+IDo6Ojo6OiBj b21taXQgZGF0ZTogMTAgaG91cnMgYWdvCj4gCj4gPj4gZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdmRzYy5jOjQwNDoyMi0zNDogV0FSTklORzogVW5zaWduZWQgZXhwcmVzc2lvbiBjb21wYXJl ZCB3aXRoIHplcm86IGNvbHVtbl9pbmRleCA8IDAKPiA+PiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF92ZHNjLmM6NDA0OjUtMTQ6IFdBUk5JTkc6IFVuc2lnbmVkIGV4cHJlc3Npb24gY29tcGFy ZWQgd2l0aCB6ZXJvOiByb3dfaW5kZXggPCAwCj4gCj4gIyBodHRwczovL2dpdGh1Yi5jb20vMGRh eS1jaS9saW51eC9jb21taXQvNWI2ODk1OTk5ZDVhODRiMTU0ZmNkNDlkYzNhOTFkNzE4OTdkMDNl Ywo+IGdpdCByZW1vdGUgYWRkIGxpbnV4LXJldmlldyBodHRwczovL2dpdGh1Yi5jb20vMGRheS1j aS9saW51eAo+IGdpdCByZW1vdGUgdXBkYXRlIGxpbnV4LXJldmlldwo+IGdpdCBjaGVja291dCA1 YjY4OTU5OTlkNWE4NGIxNTRmY2Q0OWRjM2E5MWQ3MTg5N2QwM2VjCj4gdmltICs0MDQgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCj4gCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2gg MjAxOC0xMS0yNyAgMzE5Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzIw ICBpbnQgaW50ZWxfZHBfY29tcHV0ZV9kc2NfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAsCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzIxICAJCQkJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdo IDIwMTgtMTEtMjcgIDMyMiAgewo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcg IDMyMyAgCXN0cnVjdCBkcm1fZHNjX2NvbmZpZyAqdmRzY19jZmcgPSAmcGlwZV9jb25maWctPmRw X2RzY19jZmc7Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzI0ICAJdTE2 IGNvbXByZXNzZWRfYnBwID0gcGlwZV9jb25maWctPmRzY19wYXJhbXMuY29tcHJlc3NlZF9icHA7 Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzI1ICAJdTggaSA9IDA7Cj4g NWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzI2ICAJdTggcm93X2luZGV4ID0g MDsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMjcgIAl1OCBjb2x1bW5f aW5kZXggPSAwOwo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMyOCAgCXU4 IGxpbmVfYnVmX2RlcHRoID0gMDsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3 ICAzMjkKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMzAgIAl2ZHNjX2Nm Zy0+cGljX3dpZHRoID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hkaXNw bGF5Owo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMzMSAgCXZkc2NfY2Zn LT5waWNfaGVpZ2h0ID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX3ZkaXNw bGF5Owo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMzMiAgCXZkc2NfY2Zn LT5zbGljZV93aWR0aCA9IERJVl9ST1VORF9VUCh2ZHNjX2NmZy0+cGljX3dpZHRoLAo+IDViNjg5 NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMzMyAgCQkJCQkgICAgIHBpcGVfY29uZmln LT5kc2NfcGFyYW1zLnNsaWNlX2NvdW50KTsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4 LTExLTI3ICAzMzQgIAkvKgo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMz NSAgCSAqIFNsaWNlIEhlaWdodCBvZiA4IHdvcmtzIGZvciBhbGwgY3VycmVudGx5IGF2YWlsYWJs ZSBwYW5lbHMuIFNvIHN0YXJ0Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAg MzM2ICAJICogd2l0aCB0aGF0IGlmIHBpY19oZWlnaHQgaXMgYW4gaW50ZWdyYWwgbXVsdGlwbGUg b2YgOC4KPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMzcgIAkgKiBFdmVu dHVhbGx5IGFkZCBsb2dpYyB0byB0cnkgbXVsdGlwbGUgc2xpY2UgaGVpZ2h0cy4KPiA1YjY4OTU5 OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMzggIAkgKi8KPiA1YjY4OTU5OSBHYXVyYXYg SyBTaW5naCAyMDE4LTExLTI3ICAzMzkgIAlpZiAodmRzY19jZmctPnBpY19oZWlnaHQgJSA4ID09 IDApCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzQwICAJCXZkc2NfY2Zn LT5zbGljZV9oZWlnaHQgPSA4Owo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcg IDM0MSAgCWVsc2UgaWYgKHZkc2NfY2ZnLT5waWNfaGVpZ2h0ICUgNCA9PSAwKQo+IDViNjg5NTk5 IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM0MiAgCQl2ZHNjX2NmZy0+c2xpY2VfaGVpZ2h0 ID0gNDsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNDMgIAllbHNlCj4g NWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzQ0ICAJCXZkc2NfY2ZnLT5zbGlj ZV9oZWlnaHQgPSAyOwo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM0NQo+ IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM0NiAgCS8qIFZhbHVlcyBmaWxs ZWQgZnJvbSBEU0MgU2luayBEUENEICovCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0x MS0yNyAgMzQ3ICAJdmRzY19jZmctPmRzY192ZXJzaW9uX21ham9yID0KPiA1YjY4OTU5OSBHYXVy YXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNDggIAkJKGludGVsX2RwLT5kc2NfZHBjZFtEUF9EU0Nf UkVWIC0gRFBfRFNDX1NVUFBPUlRdICYKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTEx LTI3ICAzNDkgIAkJIERQX0RTQ19NQUpPUl9NQVNLKSA+PiBEUF9EU0NfTUFKT1JfU0hJRlQ7Cj4g NWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzUwICAJdmRzY19jZmctPmRzY192 ZXJzaW9uX21pbm9yID0KPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNTEg IAkJbWluKERTQ19TVVBQT1JURURfVkVSU0lPTl9NSU4sCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2lu Z2ggMjAxOC0xMS0yNyAgMzUyICAJCSAgICAoaW50ZWxfZHAtPmRzY19kcGNkW0RQX0RTQ19SRVYg LSBEUF9EU0NfU1VQUE9SVF0gJgo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcg IDM1MyAgCQkgICAgIERQX0RTQ19NSU5PUl9NQVNLKSA+PiBEUF9EU0NfTUlOT1JfU0hJRlQpOwo+ IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1NAo+IDViNjg5NTk5IEdhdXJh diBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1NSAgCXZkc2NfY2ZnLT5jb252ZXJ0X3JnYiA9IGludGVs X2RwLT5kc2NfZHBjZFtEUF9EU0NfREVDX0NPTE9SX0ZPUk1BVF9DQVAgLSBEUF9EU0NfU1VQUE9S VF0gJgo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1NiAgCQlEUF9EU0Nf UkdCOwo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1Nwo+IDViNjg5NTk5 IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1OCAgCWxpbmVfYnVmX2RlcHRoID0gZHJtX2Rw X2RzY19zaW5rX2xpbmVfYnVmX2RlcHRoKGludGVsX2RwLT5kc2NfZHBjZCk7Cj4gNWI2ODk1OTkg R2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzU5ICAJaWYgKCFsaW5lX2J1Zl9kZXB0aCkgewo+ IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM2MCAgCQlEUk1fREVCVUdfS01T KCJEU0MgU2luayBMaW5lIEJ1ZmZlciBEZXB0aCBpbnZhbGlkXG4iKTsKPiA1YjY4OTU5OSBHYXVy YXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNjEgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gNWI2ODk1OTkg R2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzYyICAJfQo+IDViNjg5NTk5IEdhdXJhdiBLIFNp bmdoIDIwMTgtMTEtMjcgIDM2MyAgCWlmICh2ZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWlub3IgPT0g MikKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNjQgIAkJdmRzY19jZmct PmxpbmVfYnVmX2RlcHRoID0gKGxpbmVfYnVmX2RlcHRoID09IERTQ18xXzJfTUFYX0xJTkVCVUZf REVQVEhfQklUUykgPwo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM2NSAg CQkJRFNDXzFfMl9NQVhfTElORUJVRl9ERVBUSF9WQUwgOiBsaW5lX2J1Zl9kZXB0aDsKPiA1YjY4 OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNjYgIAllbHNlCj4gNWI2ODk1OTkgR2F1 cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzY3ICAJCXZkc2NfY2ZnLT5saW5lX2J1Zl9kZXB0aCA9 IChsaW5lX2J1Zl9kZXB0aCA+IERTQ18xXzFfTUFYX0xJTkVCVUZfREVQVEhfQklUUykgPwo+IDVi Njg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM2OCAgCQkJRFNDXzFfMV9NQVhfTElO RUJVRl9ERVBUSF9CSVRTIDogbGluZV9idWZfZGVwdGg7Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2lu Z2ggMjAxOC0xMS0yNyAgMzY5Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAg MzcwICAJLyogR2VuIDExIGRvZXMgbm90IHN1cHBvcnQgWUNiQ3IgKi8KPiA1YjY4OTU5OSBHYXVy YXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNzEgIAl2ZHNjX2NmZy0+ZW5hYmxlNDIyID0gZmFsc2U7 Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzcyICAJLyogR2VuIDExIGRv ZXMgbm90IHN1cHBvcnQgVkJSICovCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0y NyAgMzczICAJdmRzY19jZmctPnZicl9lbmFibGUgPSBmYWxzZTsKPiA1YjY4OTU5OSBHYXVyYXYg SyBTaW5naCAyMDE4LTExLTI3ICAzNzQgIAl2ZHNjX2NmZy0+YmxvY2tfcHJlZF9lbmFibGUgPQo+ IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM3NSAgCQkJaW50ZWxfZHAtPmRz Y19kcGNkW0RQX0RTQ19CTEtfUFJFRElDVElPTl9TVVBQT1JUIC0gRFBfRFNDX1NVUFBPUlRdICYK PiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNzYgIAkJRFBfRFNDX0JMS19Q UkVESUNUSU9OX0lTX1NVUFBPUlRFRDsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTEx LTI3ICAzNzcKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNzggIAkvKiBH ZW4gMTEgb25seSBzdXBwb3J0cyBpbnRlZ3JhbCB2YWx1ZXMgb2YgYnBwICovCj4gNWI2ODk1OTkg R2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzc5ICAJdmRzY19jZmctPmJpdHNfcGVyX3BpeGVs ID0gY29tcHJlc3NlZF9icHAgPDwgNDsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTEx LTI3ICAzODAgIAl2ZHNjX2NmZy0+Yml0c19wZXJfY29tcG9uZW50ID0gcGlwZV9jb25maWctPnBp cGVfYnBwIC8gMzsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODEKPiA1 YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODIgIAlmb3IgKGkgPSAwOyBpIDwg RFNDX05VTV9CVUZfUkFOR0VTIC0gMTsgaSsrKSB7Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2gg MjAxOC0xMS0yNyAgMzgzICAJCS8qCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0y NyAgMzg0ICAJCSAqIHNpeCAwcyBhcmUgYXBwZW5kZWQgdG8gdGhlIGxzYiBvZiBlYWNoIHRocmVz aG9sZCB2YWx1ZQo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM4NSAgCQkg KiBpbnRlcm5hbGx5IGluIGgvdy4KPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3 ICAzODYgIAkJICogT25seSA4IGJpdHMgYXJlIGFsbG93ZWQgZm9yIHByb2dyYW1taW5nIFJjQnVm VGhyZXNob2xkCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzg3ICAJCSAq Lwo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM4OCAgCQl2ZHNjX2NmZy0+ cmNfYnVmX3RocmVzaFtpXSA9IHJjX2J1Zl90aHJlc2hbaV0gPj4gNjsKPiA1YjY4OTU5OSBHYXVy YXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODkgIAl9Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2gg MjAxOC0xMS0yNyAgMzkwCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzkx ICAJLyoKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzOTIgIAkgKiBGb3Ig NmJwcCwgUkMgQnVmZmVyIHRocmVzaG9sZCAxMiBhbmQgMTMgbmVlZCBhIGRpZmZlcmVudCB2YWx1 ZQo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM5MyAgCSAqIGFzIHBlciBD IE1vZGVsCj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzk0ICAJICovCj4g NWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzk1ICAJaWYgKGNvbXByZXNzZWRf YnBwID09IDYpIHsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzOTYgIAkJ dmRzY19jZmctPnJjX2J1Zl90aHJlc2hbMTJdID0gMHg3QzsKPiA1YjY4OTU5OSBHYXVyYXYgSyBT aW5naCAyMDE4LTExLTI3ICAzOTcgIAkJdmRzY19jZmctPnJjX2J1Zl90aHJlc2hbMTNdID0gMHg3 RDsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzOTggIAl9Cj4gNWI2ODk1 OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzk5Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2lu Z2ggMjAxOC0xMS0yNyAgNDAwICAJcm93X2luZGV4ID0gZ2V0X3Jvd19pbmRleF9mb3JfcmNfcGFy YW1zKGNvbXByZXNzZWRfYnBwKTsKPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3 ICA0MDEgIAljb2x1bW5faW5kZXggPQo+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEt MjcgIDQwMiAgCQlnZXRfY29sdW1uX2luZGV4X2Zvcl9yY19wYXJhbXModmRzY19jZmctPmJpdHNf cGVyX2NvbXBvbmVudCk7Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgNDAz Cj4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyBANDA0ICAJaWYgKHJvd19pbmRl eCA8IDAgfHwgY29sdW1uX2luZGV4IDwgMCkKPiAKPiAtLS0KPiAwLURBWSBrZXJuZWwgdGVzdCBp bmZyYXN0cnVjdHVyZSAgICAgICAgICAgICAgICBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRl cgo+IGh0dHBzOi8vbGlzdHMuMDEub3JnL3BpcGVybWFpbC9rYnVpbGQtYWxsICAgICAgICAgICAg ICAgICAgIEludGVsIENvcnBvcmF0aW9uCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=