From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julia Lawall Subject: Re: [CI v12 10/23] drm/i915/dsc: Define & Compute VESA DSC params (fwd) Date: Wed, 28 Nov 2018 18:50:38 +0000 (GMT) Message-ID: References: <20181128185056.GA7834@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by gabe.freedesktop.org (Postfix) with ESMTPS id 235A16E354 for ; Wed, 28 Nov 2018 18:50:44 +0000 (UTC) In-Reply-To: <20181128185056.GA7834@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: intel-gfx@lists.freedesktop.org, kbuild-all@01.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiBXZWQsIDI4IE5vdiAyMDE4LCBNYW5hc2kgTmF2YXJlIHdyb3RlOgoKPiBPbiBXZWQsIE5v diAyOCwgMjAxOCBhdCAxMTo0NjoyNkFNICswMDAwLCBKdWxpYSBMYXdhbGwgd3JvdGU6Cj4gPiBI ZWxsbywKPiA+Cj4gPiByb3dfaW5kZXggYW5kIGNvbHVtbl9pbmRleCBhcmUgdW5zaWduZWQsIHNv IGluIHRoZSBsYXN0IGxpbmUgc2hvd24KPiA+IHRoZXkgd2lsbCBub3QgYmUgbGVzcyB0aGFuIDAu Cj4gPgo+Cj4gUm93X2luZGV4IGFuZCBjb2x1bW5faW5kZXggYXJlIGFzc2lnbmVkIHRvIDAgYXQg dGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24gYW5kIHNvCj4gaWYgdGhyZSBpcyBubyB2YWxp ZCBpbmRleCBmb3VuZCB0aGUgZ2V0X2NvbHVtbl9pbmRleCAvcm93X2luZGV4IHdpbGwgcmV0dXJu IC1FSU5WQUwKPiBhbmQgaGVuY2UgdGhleSBjYW4gaGF2ZSB2YWx1ZXMgPCAwLgoKU2luY2UgdGhl eSBoYXZlIGFuIHVuc2lnbmVkIHR5cGUsIHRoZSBuZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSBjb25z aWRlcmVkCnRvIGJlIHJlYWxseSBiaWcgcG9zaXRpdmUgbnVtYmVycy4KCmp1bGlhCgo+Cj4gRG9l cyB0aGlzIG1ha2Ugc2Vuc2U/Cj4KPiBNYW5hc2kKPgo+ID4ganVsaWEKPiA+Cj4gPiAtLS0tLS0t LS0tIEZvcndhcmRlZCBtZXNzYWdlIC0tLS0tLS0tLS0KPiA+IERhdGU6IFdlZCwgMjggTm92IDIw MTggMTk6NDM6MzAgKzA4MDAKPiA+IEZyb206IGtidWlsZCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwu Y29tPgo+ID4gVG86IGtidWlsZEAwMS5vcmcKPiA+IENjOiBKdWxpYSBMYXdhbGwgPGp1bGlhLmxh d2FsbEBsaXA2LmZyPgo+ID4gU3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFtDSSB2MTIgMTAvMjNd IGRybS9pOTE1L2RzYzogRGVmaW5lICYgQ29tcHV0ZSBWRVNBIERTQwo+ID4gICAgIHBhcmFtcwo+ ID4KPiA+IENDOiBrYnVpbGQtYWxsQDAxLm9yZwo+ID4gSW4tUmVwbHktVG86IDwyMDE4MTEyNzIx NDEyNS4xNzY1OC0xMC1tYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4gUmVmZXJlbmNlczog PDIwMTgxMTI3MjE0MTI1LjE3NjU4LTEwLW1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiBU TzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiA+IENDOiBpbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBDQzoKPiA+Cj4gPiBIaSBHYXVyYXYsCj4g Pgo+ID4gVGhhbmsgeW91IGZvciB0aGUgcGF0Y2ghIFBlcmhhcHMgc29tZXRoaW5nIHRvIGltcHJv dmU6Cj4gPgo+ID4gW2F1dG8gYnVpbGQgdGVzdCBXQVJOSU5HIG9uIGRybS1pbnRlbC9mb3ItbGlu dXgtbmV4dF0KPiA+IFthbHNvIGJ1aWxkIHRlc3QgV0FSTklORyBvbiBuZXh0LTIwMTgxMTI3XQo+ ID4gW2Nhbm5vdCBhcHBseSB0byB2NC4yMC1yYzRdCj4gPiBbaWYgeW91ciBwYXRjaCBpcyBhcHBs aWVkIHRvIHRoZSB3cm9uZyBnaXQgdHJlZSwgcGxlYXNlIGRyb3AgdXMgYSBub3RlIHRvIGhlbHAg aW1wcm92ZSB0aGUgc3lzdGVtXQo+ID4KPiA+IHVybDogICAgaHR0cHM6Ly9naXRodWIuY29tLzBk YXktY2kvbGludXgvY29tbWl0cy9NYW5hc2ktTmF2YXJlL2RybS1kc2MtTW9kaWZ5LURSTS1oZWxw ZXItdG8tcmV0dXJuLWNvbXBsZXRlLURTQy1jb2xvci1kZXB0aC1jYXBhYmlsaXRpZXMvMjAxODEx MjgtMDk1MDI2Cj4gPiBiYXNlOiAgIGdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2RybS1p bnRlbCBmb3ItbGludXgtbmV4dAo+ID4gOjo6Ojo6IGJyYW5jaCBkYXRlOiAxMCBob3VycyBhZ28K PiA+IDo6Ojo6OiBjb21taXQgZGF0ZTogMTAgaG91cnMgYWdvCj4gPgo+ID4gPj4gZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jOjQwNDoyMi0zNDogV0FSTklORzogVW5zaWduZWQgZXhw cmVzc2lvbiBjb21wYXJlZCB3aXRoIHplcm86IGNvbHVtbl9pbmRleCA8IDAKPiA+ID4+IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Zkc2MuYzo0MDQ6NS0xNDogV0FSTklORzogVW5zaWduZWQg ZXhwcmVzc2lvbiBjb21wYXJlZCB3aXRoIHplcm86IHJvd19pbmRleCA8IDAKPiA+Cj4gPiAjIGh0 dHBzOi8vZ2l0aHViLmNvbS8wZGF5LWNpL2xpbnV4L2NvbW1pdC81YjY4OTU5OTlkNWE4NGIxNTRm Y2Q0OWRjM2E5MWQ3MTg5N2QwM2VjCj4gPiBnaXQgcmVtb3RlIGFkZCBsaW51eC1yZXZpZXcgaHR0 cHM6Ly9naXRodWIuY29tLzBkYXktY2kvbGludXgKPiA+IGdpdCByZW1vdGUgdXBkYXRlIGxpbnV4 LXJldmlldwo+ID4gZ2l0IGNoZWNrb3V0IDViNjg5NTk5OWQ1YTg0YjE1NGZjZDQ5ZGMzYTkxZDcx ODk3ZDAzZWMKPiA+IHZpbSArNDA0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Zkc2MuYwo+ ID4KPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMxOQo+ID4gNWI2ODk1 OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzIwICBpbnQgaW50ZWxfZHBfY29tcHV0ZV9k c2NfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gPiA1YjY4OTU5OSBHYXVyYXYg SyBTaW5naCAyMDE4LTExLTI3ICAzMjEgIAkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMjIgIHsK PiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMyMyAgCXN0cnVjdCBkcm1f ZHNjX2NvbmZpZyAqdmRzY19jZmcgPSAmcGlwZV9jb25maWctPmRwX2RzY19jZmc7Cj4gPiA1YjY4 OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMjQgIAl1MTYgY29tcHJlc3NlZF9icHAg PSBwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5jb21wcmVzc2VkX2JwcDsKPiA+IDViNjg5NTk5IEdh dXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMyNSAgCXU4IGkgPSAwOwo+ID4gNWI2ODk1OTkgR2F1 cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzI2ICAJdTggcm93X2luZGV4ID0gMDsKPiA+IDViNjg5 NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMyNyAgCXU4IGNvbHVtbl9pbmRleCA9IDA7 Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMjggIAl1OCBsaW5lX2J1 Zl9kZXB0aCA9IDA7Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMjkK PiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMzMCAgCXZkc2NfY2ZnLT5w aWNfd2lkdGggPSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXk7 Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMzEgIAl2ZHNjX2NmZy0+ cGljX2hlaWdodCA9IHBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxh eTsKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMzMiAgCXZkc2NfY2Zn LT5zbGljZV93aWR0aCA9IERJVl9ST1VORF9VUCh2ZHNjX2NmZy0+cGljX3dpZHRoLAo+ID4gNWI2 ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzMzICAJCQkJCSAgICAgcGlwZV9jb25m aWctPmRzY19wYXJhbXMuc2xpY2VfY291bnQpOwo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2gg MjAxOC0xMS0yNyAgMzM0ICAJLyoKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEt MjcgIDMzNSAgCSAqIFNsaWNlIEhlaWdodCBvZiA4IHdvcmtzIGZvciBhbGwgY3VycmVudGx5IGF2 YWlsYWJsZSBwYW5lbHMuIFNvIHN0YXJ0Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4 LTExLTI3ICAzMzYgIAkgKiB3aXRoIHRoYXQgaWYgcGljX2hlaWdodCBpcyBhbiBpbnRlZ3JhbCBt dWx0aXBsZSBvZiA4Lgo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzM3 ICAJICogRXZlbnR1YWxseSBhZGQgbG9naWMgdG8gdHJ5IG11bHRpcGxlIHNsaWNlIGhlaWdodHMu Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzMzggIAkgKi8KPiA+IDVi Njg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDMzOSAgCWlmICh2ZHNjX2NmZy0+cGlj X2hlaWdodCAlIDggPT0gMCkKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcg IDM0MCAgCQl2ZHNjX2NmZy0+c2xpY2VfaGVpZ2h0ID0gODsKPiA+IDViNjg5NTk5IEdhdXJhdiBL IFNpbmdoIDIwMTgtMTEtMjcgIDM0MSAgCWVsc2UgaWYgKHZkc2NfY2ZnLT5waWNfaGVpZ2h0ICUg NCA9PSAwKQo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzQyICAJCXZk c2NfY2ZnLT5zbGljZV9oZWlnaHQgPSA0Owo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAx OC0xMS0yNyAgMzQzICAJZWxzZQo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0y NyAgMzQ0ICAJCXZkc2NfY2ZnLT5zbGljZV9oZWlnaHQgPSAyOwo+ID4gNWI2ODk1OTkgR2F1cmF2 IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzQ1Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4 LTExLTI3ICAzNDYgIAkvKiBWYWx1ZXMgZmlsbGVkIGZyb20gRFNDIFNpbmsgRFBDRCAqLwo+ID4g NWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzQ3ICAJdmRzY19jZmctPmRzY192 ZXJzaW9uX21ham9yID0KPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM0 OCAgCQkoaW50ZWxfZHAtPmRzY19kcGNkW0RQX0RTQ19SRVYgLSBEUF9EU0NfU1VQUE9SVF0gJgo+ ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzQ5ICAJCSBEUF9EU0NfTUFK T1JfTUFTSykgPj4gRFBfRFNDX01BSk9SX1NISUZUOwo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2lu Z2ggMjAxOC0xMS0yNyAgMzUwICAJdmRzY19jZmctPmRzY192ZXJzaW9uX21pbm9yID0KPiA+IDVi Njg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1MSAgCQltaW4oRFNDX1NVUFBPUlRF RF9WRVJTSU9OX01JTiwKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1 MiAgCQkgICAgKGludGVsX2RwLT5kc2NfZHBjZFtEUF9EU0NfUkVWIC0gRFBfRFNDX1NVUFBPUlRd ICYKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1MyAgCQkgICAgIERQ X0RTQ19NSU5PUl9NQVNLKSA+PiBEUF9EU0NfTUlOT1JfU0hJRlQpOwo+ID4gNWI2ODk1OTkgR2F1 cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzU0Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAy MDE4LTExLTI3ICAzNTUgIAl2ZHNjX2NmZy0+Y29udmVydF9yZ2IgPSBpbnRlbF9kcC0+ZHNjX2Rw Y2RbRFBfRFNDX0RFQ19DT0xPUl9GT1JNQVRfQ0FQIC0gRFBfRFNDX1NVUFBPUlRdICYKPiA+IDVi Njg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM1NiAgCQlEUF9EU0NfUkdCOwo+ID4g NWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzU3Cj4gPiA1YjY4OTU5OSBHYXVy YXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNTggIAlsaW5lX2J1Zl9kZXB0aCA9IGRybV9kcF9kc2Nf c2lua19saW5lX2J1Zl9kZXB0aChpbnRlbF9kcC0+ZHNjX2RwY2QpOwo+ID4gNWI2ODk1OTkgR2F1 cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzU5ICAJaWYgKCFsaW5lX2J1Zl9kZXB0aCkgewo+ID4g NWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzYwICAJCURSTV9ERUJVR19LTVMo IkRTQyBTaW5rIExpbmUgQnVmZmVyIERlcHRoIGludmFsaWRcbiIpOwo+ID4gNWI2ODk1OTkgR2F1 cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzYxICAJCXJldHVybiAtRUlOVkFMOwo+ID4gNWI2ODk1 OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzYyICAJfQo+ID4gNWI2ODk1OTkgR2F1cmF2 IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzYzICAJaWYgKHZkc2NfY2ZnLT5kc2NfdmVyc2lvbl9taW5v ciA9PSAyKQo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzY0ICAJCXZk c2NfY2ZnLT5saW5lX2J1Zl9kZXB0aCA9IChsaW5lX2J1Zl9kZXB0aCA9PSBEU0NfMV8yX01BWF9M SU5FQlVGX0RFUFRIX0JJVFMpID8KPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEt MjcgIDM2NSAgCQkJRFNDXzFfMl9NQVhfTElORUJVRl9ERVBUSF9WQUwgOiBsaW5lX2J1Zl9kZXB0 aDsKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM2NiAgCWVsc2UKPiA+ IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM2NyAgCQl2ZHNjX2NmZy0+bGlu ZV9idWZfZGVwdGggPSAobGluZV9idWZfZGVwdGggPiBEU0NfMV8xX01BWF9MSU5FQlVGX0RFUFRI X0JJVFMpID8KPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM2OCAgCQkJ RFNDXzFfMV9NQVhfTElORUJVRl9ERVBUSF9CSVRTIDogbGluZV9idWZfZGVwdGg7Cj4gPiA1YjY4 OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNjkKPiA+IDViNjg5NTk5IEdhdXJhdiBL IFNpbmdoIDIwMTgtMTEtMjcgIDM3MCAgCS8qIEdlbiAxMSBkb2VzIG5vdCBzdXBwb3J0IFlDYkNy ICovCj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNzEgIAl2ZHNjX2Nm Zy0+ZW5hYmxlNDIyID0gZmFsc2U7Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTEx LTI3ICAzNzIgIAkvKiBHZW4gMTEgZG9lcyBub3Qgc3VwcG9ydCBWQlIgKi8KPiA+IDViNjg5NTk5 IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM3MyAgCXZkc2NfY2ZnLT52YnJfZW5hYmxlID0g ZmFsc2U7Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNzQgIAl2ZHNj X2NmZy0+YmxvY2tfcHJlZF9lbmFibGUgPQo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAx OC0xMS0yNyAgMzc1ICAJCQlpbnRlbF9kcC0+ZHNjX2RwY2RbRFBfRFNDX0JMS19QUkVESUNUSU9O X1NVUFBPUlQgLSBEUF9EU0NfU1VQUE9SVF0gJgo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2gg MjAxOC0xMS0yNyAgMzc2ICAJCURQX0RTQ19CTEtfUFJFRElDVElPTl9JU19TVVBQT1JURUQ7Cj4g PiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzNzcKPiA+IDViNjg5NTk5IEdh dXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM3OCAgCS8qIEdlbiAxMSBvbmx5IHN1cHBvcnRzIGlu dGVncmFsIHZhbHVlcyBvZiBicHAgKi8KPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgt MTEtMjcgIDM3OSAgCXZkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCA9IGNvbXByZXNzZWRfYnBwIDw8 IDQ7Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODAgIAl2ZHNjX2Nm Zy0+Yml0c19wZXJfY29tcG9uZW50ID0gcGlwZV9jb25maWctPnBpcGVfYnBwIC8gMzsKPiA+IDVi Njg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM4MQo+ID4gNWI2ODk1OTkgR2F1cmF2 IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzgyICAJZm9yIChpID0gMDsgaSA8IERTQ19OVU1fQlVGX1JB TkdFUyAtIDE7IGkrKykgewo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAg MzgzICAJCS8qCj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODQgIAkJ ICogc2l4IDBzIGFyZSBhcHBlbmRlZCB0byB0aGUgbHNiIG9mIGVhY2ggdGhyZXNob2xkIHZhbHVl Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODUgIAkJICogaW50ZXJu YWxseSBpbiBoL3cuCj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODYg IAkJICogT25seSA4IGJpdHMgYXJlIGFsbG93ZWQgZm9yIHByb2dyYW1taW5nIFJjQnVmVGhyZXNo b2xkCj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODcgIAkJICovCj4g PiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODggIAkJdmRzY19jZmctPnJj X2J1Zl90aHJlc2hbaV0gPSByY19idWZfdGhyZXNoW2ldID4+IDY7Cj4gPiA1YjY4OTU5OSBHYXVy YXYgSyBTaW5naCAyMDE4LTExLTI3ICAzODkgIAl9Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5n aCAyMDE4LTExLTI3ICAzOTAKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcg IDM5MSAgCS8qCj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzOTIgIAkg KiBGb3IgNmJwcCwgUkMgQnVmZmVyIHRocmVzaG9sZCAxMiBhbmQgMTMgbmVlZCBhIGRpZmZlcmVu dCB2YWx1ZQo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzkzICAJICog YXMgcGVyIEMgTW9kZWwKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDM5 NCAgCSAqLwo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzk1ICAJaWYg KGNvbXByZXNzZWRfYnBwID09IDYpIHsKPiA+IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgt MTEtMjcgIDM5NiAgCQl2ZHNjX2NmZy0+cmNfYnVmX3RocmVzaFsxMl0gPSAweDdDOwo+ID4gNWI2 ODk1OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgMzk3ICAJCXZkc2NfY2ZnLT5yY19idWZf dGhyZXNoWzEzXSA9IDB4N0Q7Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3 ICAzOTggIAl9Cj4gPiA1YjY4OTU5OSBHYXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICAzOTkKPiA+ IDViNjg5NTk5IEdhdXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDQwMCAgCXJvd19pbmRleCA9IGdl dF9yb3dfaW5kZXhfZm9yX3JjX3BhcmFtcyhjb21wcmVzc2VkX2JwcCk7Cj4gPiA1YjY4OTU5OSBH YXVyYXYgSyBTaW5naCAyMDE4LTExLTI3ICA0MDEgIAljb2x1bW5faW5kZXggPQo+ID4gNWI2ODk1 OTkgR2F1cmF2IEsgU2luZ2ggMjAxOC0xMS0yNyAgNDAyICAJCWdldF9jb2x1bW5faW5kZXhfZm9y X3JjX3BhcmFtcyh2ZHNjX2NmZy0+Yml0c19wZXJfY29tcG9uZW50KTsKPiA+IDViNjg5NTk5IEdh dXJhdiBLIFNpbmdoIDIwMTgtMTEtMjcgIDQwMwo+ID4gNWI2ODk1OTkgR2F1cmF2IEsgU2luZ2gg MjAxOC0xMS0yNyBANDA0ICAJaWYgKHJvd19pbmRleCA8IDAgfHwgY29sdW1uX2luZGV4IDwgMCkK PiA+Cj4gPiAtLS0KPiA+IDAtREFZIGtlcm5lbCB0ZXN0IGluZnJhc3RydWN0dXJlICAgICAgICAg ICAgICAgIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCj4gPiBodHRwczovL2xpc3RzLjAx Lm9yZy9waXBlcm1haWwva2J1aWxkLWFsbCAgICAgICAgICAgICAgICAgICBJbnRlbCBDb3Jwb3Jh dGlvbgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=