From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3 2/4] drm/edid: Add CTA-861-G modes with VIC >= 193 Date: Thu, 3 Oct 2019 17:15:17 +0300 Message-ID: <20191003141517.GJ1208@intel.com> References: <20190925135502.24055-1-ville.syrjala@linux.intel.com> <20190925135502.24055-3-ville.syrjala@linux.intel.com> <664e5ccd-06fa-ee0f-f648-dc5c4c460af4@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <664e5ccd-06fa-ee0f-f648-dc5c4c460af4@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Sharma, Shashank" Cc: Hans Verkuil , Intel Graphics Development , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMDMsIDIwMTkgYXQgMDE6NTI6NThQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiAKPiBPbiA5LzI1LzIwMTkgNzoyNSBQTSwgVmlsbGUgU3lyamFsYSB3cm90ZToK PiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ Cj4gPgo+ID4gQWRkIGEgc2Vjb25kIHRhYmxlIHRvIHRoZSBjZWEgbW9kZXMgd2l0aCBWSUMgPj0g MTkzLgo+ID4KPiA+IENjOiBIYW5zIFZlcmt1aWwgPGhhbnN2ZXJrQGNpc2NvLmNvbT4KPiA+IENj OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPiBTaWduZWQt b2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ ID4gLS0tCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIHwgMTUxICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDE0OSBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPiBpbmRleCBi NzAwZmMwNzUyNTcuLjlmNjk5NjMyM2VmYSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ID4gQEAg LTEzNzYsNiArMTM3NiwxNDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl IGVkaWRfY2VhX21vZGVzXzBbXSA9IHsKPiA+ICAgCSAgLnZyZWZyZXNoID0gMTAwLCAucGljdHVy ZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzY0XzI3LCB9LAo+ID4gICB9Owo+ ID4gICAKPiA+ICsvKgo+ID4gKyAqIEZyb20gQ0VBL0NUQS04NjEgc3BlYy4KPiA+ICsgKgo+ID4g KyAqIEluZGV4IHdpdGggVklDLTE5My4KPiA+ICsgKi8KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgZWRpZF9jZWFfbW9kZXNfMTkzW10gPSB7Cj4ganVzdCBsaWtlIHBy ZXZpb3VzIHBhdGNoLCBzaG91bGQgd2UgY2FsbCBpdCBlZGlkX2NlYV84NjFfZ19tb2RlcyA/Cj4g PiArCS8qIDE5MyAtIDUxMjB4MjE2MEAxMjBIeiA2NDoyNyAqLwo+ID4gKwl7IERSTV9NT0RFKCI1 MTIweDIxNjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZFUiwgMTQ4NTAwMCwgNTEyMCwgNTI4NCwKPiA+ ICsJCSAgIDUzNzIsIDU1MDAsIDAsIDIxNjAsIDIxNjgsIDIxNzgsIDIyNTAsIDAsCj4gPiArCQkg ICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiA+ICsJICAu dnJlZnJlc2ggPSAxMjAsIC5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BF Q1RfNjRfMjcsIH0sCj4gPiArCS8qIDE5NCAtIDc2ODB4NDMyMEAyNEh6IDE2OjkgKi8KPiA+ICsJ eyBEUk1fTU9ERSgiNzY4MHg0MzIwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDExODgwMDAsIDc2 ODAsIDEwMjMyLAo+ID4gKwkJICAgMTA0MDgsIDExMDAwLCAwLCA0MzIwLCA0MzM2LCA0MzU2LCA0 NTAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BW U1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gMjQsIC5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IEhE TUlfUElDVFVSRV9BU1BFQ1RfMTZfOSwgfSwKPiA+ICsJLyogMTk1IC0gNzY4MHg0MzIwQDI1SHog MTY6OSAqLwo+ID4gKwl7IERSTV9NT0RFKCI3NjgweDQzMjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZF UiwgMTE4ODAwMCwgNzY4MCwgMTAwMzIsCj4gPiArCQkgICAxMDIwOCwgMTA4MDAsIDAsIDQzMjAs IDQzMzYsIDQzNTYsIDQ0MDAsIDAsCj4gPiArCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERS TV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiA+ICsJICAudnJlZnJlc2ggPSAyNSwgLnBpY3R1cmVfYXNw ZWN0X3JhdGlvID0gSERNSV9QSUNUVVJFX0FTUEVDVF8xNl85LCB9LAo+ID4gKwkvKiAxOTYgLSA3 NjgweDQzMjBAMzBIeiAxNjo5ICovCj4gPiArCXsgRFJNX01PREUoIjc2ODB4NDMyMCIsIERSTV9N T0RFX1RZUEVfRFJJVkVSLCAxMTg4MDAwLCA3NjgwLCA4MjMyLAo+ID4gKwkJICAgODQwOCwgOTAw MCwgMCwgNDMyMCwgNDMzNiwgNDM1NiwgNDQwMCwgMCwKPiA+ICsJCSAgIERSTV9NT0RFX0ZMQUdf UEhTWU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+ID4gKwkgIC52cmVmcmVzaCA9IDMwLCAu cGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzE2XzksIH0sCj4gPiAr CS8qIDE5NyAtIDc2ODB4NDMyMEA0OEh6IDE2OjkgKi8KPiA+ICsJeyBEUk1fTU9ERSgiNzY4MHg0 MzIwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDIzNzYwMDAsIDc2ODAsIDEwMjMyLAo+ID4gKwkJ ICAgMTA0MDgsIDExMDAwLCAwLCA0MzIwLCA0MzM2LCA0MzU2LCA0NTAwLCAwLAo+ID4gKwkJICAg RFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZy ZWZyZXNoID0gNDgsIC5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1Rf MTZfOSwgfSwKPiA+ICsJLyogMTk4IC0gNzY4MHg0MzIwQDUwSHogMTY6OSAqLwo+ID4gKwl7IERS TV9NT0RFKCI3NjgweDQzMjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZFUiwgMjM3NjAwMCwgNzY4MCwg MTAwMzIsCj4gPiArCQkgICAxMDIwOCwgMTA4MDAsIDAsIDQzMjAsIDQzMzYsIDQzNTYsIDQ0MDAs IDAsCj4gPiArCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5D KSwKPiA+ICsJICAudnJlZnJlc2ggPSA1MCwgLnBpY3R1cmVfYXNwZWN0X3JhdGlvID0gSERNSV9Q SUNUVVJFX0FTUEVDVF8xNl85LCB9LAo+ID4gKwkvKiAxOTkgLSA3NjgweDQzMjBANjBIeiAxNjo5 ICovCj4gPiArCXsgRFJNX01PREUoIjc2ODB4NDMyMCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAy Mzc2MDAwLCA3NjgwLCA4MjMyLAo+ID4gKwkJICAgODQwOCwgOTAwMCwgMCwgNDMyMCwgNDMzNiwg NDM1NiwgNDQwMCwgMCwKPiA+ICsJCSAgIERSTV9NT0RFX0ZMQUdfUEhTWU5DIHwgRFJNX01PREVf RkxBR19QVlNZTkMpLAo+ID4gKwkgIC52cmVmcmVzaCA9IDYwLCAucGljdHVyZV9hc3BlY3RfcmF0 aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzE2XzksIH0sCj4gPiArCS8qIDIwMCAtIDc2ODB4NDMy MEAxMDBIeiAxNjo5ICovCj4gPiArCXsgRFJNX01PREUoIjc2ODB4NDMyMCIsIERSTV9NT0RFX1RZ UEVfRFJJVkVSLCA0NzUyMDAwLCA3NjgwLCA5NzkyLAo+ID4gKwkJICAgOTk2OCwgMTA1NjAsIDAs IDQzMjAsIDQzMzYsIDQzNTYsIDQ1MDAsIDAsCj4gPiArCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lO QyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiA+ICsJICAudnJlZnJlc2ggPSAxMDAsIC5waWN0 dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfMTZfOSwgfSwKPiA+ICsJLyog MjAxIC0gNzY4MHg0MzIwQDEyMEh6IDE2OjkgKi8KPiA+ICsJeyBEUk1fTU9ERSgiNzY4MHg0MzIw IiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDQ3NTIwMDAsIDc2ODAsIDgwMzIsCj4gPiArCQkgICA4 MjA4LCA4ODAwLCAwLCA0MzIwLCA0MzM2LCA0MzU2LCA0NTAwLCAwLAo+ID4gKwkJICAgRFJNX01P REVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNo ID0gMTIwLCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzE2Xzks IH0sCj4gPiArCS8qIDIwMiAtIDc2ODB4NDMyMEAyNEh6IDY0OjI3ICovCj4gPiArCXsgRFJNX01P REUoIjc2ODB4NDMyMCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAxMTg4MDAwLCA3NjgwLCAxMDIz MiwKPiA+ICsJCSAgIDEwNDA4LCAxMTAwMCwgMCwgNDMyMCwgNDMzNiwgNDM1NiwgNDUwMCwgMCwK PiA+ICsJCSAgIERSTV9NT0RFX0ZMQUdfUEhTWU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+ ID4gKwkgIC52cmVmcmVzaCA9IDI0LCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RV UkVfQVNQRUNUXzY0XzI3LCB9LAo+ID4gKwkvKiAyMDMgLSA3NjgweDQzMjBAMjVIeiA2NDoyNyAq Lwo+ID4gKwl7IERSTV9NT0RFKCI3NjgweDQzMjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZFUiwgMTE4 ODAwMCwgNzY4MCwgMTAwMzIsCj4gPiArCQkgICAxMDIwOCwgMTA4MDAsIDAsIDQzMjAsIDQzMzYs IDQzNTYsIDQ0MDAsIDAsCj4gPiArCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RF X0ZMQUdfUFZTWU5DKSwKPiA+ICsJICAudnJlZnJlc2ggPSAyNSwgLnBpY3R1cmVfYXNwZWN0X3Jh dGlvID0gSERNSV9QSUNUVVJFX0FTUEVDVF82NF8yNywgfSwKPiA+ICsJLyogMjA0IC0gNzY4MHg0 MzIwQDMwSHogNjQ6MjcgKi8KPiA+ICsJeyBEUk1fTU9ERSgiNzY4MHg0MzIwIiwgRFJNX01PREVf VFlQRV9EUklWRVIsIDExODgwMDAsIDc2ODAsIDgyMzIsCj4gPiArCQkgICA4NDA4LCA5MDAwLCAw LCA0MzIwLCA0MzM2LCA0MzU2LCA0NDAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19QSFNZ TkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gMzAsIC5waWN0 dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfNjRfMjcsIH0sCj4gPiArCS8q IDIwNSAtIDc2ODB4NDMyMEA0OEh6IDY0OjI3ICovCj4gPiArCXsgRFJNX01PREUoIjc2ODB4NDMy MCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAyMzc2MDAwLCA3NjgwLCAxMDIzMiwKPiA+ICsJCSAg IDEwNDA4LCAxMTAwMCwgMCwgNDMyMCwgNDMzNiwgNDM1NiwgNDUwMCwgMCwKPiA+ICsJCSAgIERS TV9NT0RFX0ZMQUdfUEhTWU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+ID4gKwkgIC52cmVm cmVzaCA9IDQ4LCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzY0 XzI3LCB9LAo+ID4gKwkvKiAyMDYgLSA3NjgweDQzMjBANTBIeiA2NDoyNyAqLwo+ID4gKwl7IERS TV9NT0RFKCI3NjgweDQzMjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZFUiwgMjM3NjAwMCwgNzY4MCwg MTAwMzIsCj4gPiArCQkgICAxMDIwOCwgMTA4MDAsIDAsIDQzMjAsIDQzMzYsIDQzNTYsIDQ0MDAs IDAsCj4gPiArCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5D KSwKPiA+ICsJICAudnJlZnJlc2ggPSA1MCwgLnBpY3R1cmVfYXNwZWN0X3JhdGlvID0gSERNSV9Q SUNUVVJFX0FTUEVDVF82NF8yNywgfSwKPiA+ICsJLyogMjA3IC0gNzY4MHg0MzIwQDYwSHogNjQ6 MjcgKi8KPiA+ICsJeyBEUk1fTU9ERSgiNzY4MHg0MzIwIiwgRFJNX01PREVfVFlQRV9EUklWRVIs IDIzNzYwMDAsIDc2ODAsIDgyMzIsCj4gPiArCQkgICA4NDA4LCA5MDAwLCAwLCA0MzIwLCA0MzM2 LCA0MzU2LCA0NDAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9E RV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gNjAsIC5waWN0dXJlX2FzcGVjdF9y YXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfNjRfMjcsIH0sCj4gPiArCS8qIDIwOCAtIDc2ODB4 NDMyMEAxMDBIeiA2NDoyNyAqLwo+ID4gKwl7IERSTV9NT0RFKCI3NjgweDQzMjAiLCBEUk1fTU9E RV9UWVBFX0RSSVZFUiwgNDc1MjAwMCwgNzY4MCwgOTc5MiwKPiA+ICsJCSAgIDk5NjgsIDEwNTYw LCAwLCA0MzIwLCA0MzM2LCA0MzU2LCA0NTAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19Q SFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gMTAwLCAu cGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzY0XzI3LCB9LAo+ID4g KwkvKiAyMDkgLSA3NjgweDQzMjBAMTIwSHogNjQ6MjcgKi8KPiA+ICsJeyBEUk1fTU9ERSgiNzY4 MHg0MzIwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDQ3NTIwMDAsIDc2ODAsIDgwMzIsCj4gPiAr CQkgICA4MjA4LCA4ODAwLCAwLCA0MzIwLCA0MzM2LCA0MzU2LCA0NTAwLCAwLAo+ID4gKwkJICAg RFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZy ZWZyZXNoID0gMTIwLCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNU XzY0XzI3LCB9LAo+ID4gKwkvKiAyMTAgLSAxMDI0MHg0MzIwQDI0SHogNjQ6MjcgKi8KPiA+ICsJ eyBEUk1fTU9ERSgiMTAyNDB4NDMyMCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAxNDg1MDAwLCAx MDI0MCwgMTE3MzIsCj4gPiArCQkgICAxMTkwOCwgMTI1MDAsIDAsIDQzMjAsIDQzMzYsIDQzNTYs IDQ5NTAsIDAsCj4gPiArCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RFX0ZMQUdf UFZTWU5DKSwKPiA+ICsJICAudnJlZnJlc2ggPSAyNCwgLnBpY3R1cmVfYXNwZWN0X3JhdGlvID0g SERNSV9QSUNUVVJFX0FTUEVDVF82NF8yNywgfSwKPiA+ICsJLyogMjExIC0gMTAyNDB4NDMyMEAy NUh6IDY0OjI3ICovCj4gPiArCXsgRFJNX01PREUoIjEwMjQweDQzMjAiLCBEUk1fTU9ERV9UWVBF X0RSSVZFUiwgMTQ4NTAwMCwgMTAyNDAsIDEyNzMyLAo+ID4gKwkJICAgMTI5MDgsIDEzNTAwLCAw LCA0MzIwLCA0MzM2LCA0MzU2LCA0NDAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19QSFNZ TkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gMjUsIC5waWN0 dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfNjRfMjcsIH0sCj4gPiArCS8q IDIxMiAtIDEwMjQweDQzMjBAMzBIeiA2NDoyNyAqLwo+ID4gKwl7IERSTV9NT0RFKCIxMDI0MHg0 MzIwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDE0ODUwMDAsIDEwMjQwLCAxMDUyOCwKPiA+ICsJ CSAgIDEwNzA0LCAxMTAwMCwgMCwgNDMyMCwgNDMzNiwgNDM1NiwgNDUwMCwgMCwKPiA+ICsJCSAg IERSTV9NT0RFX0ZMQUdfUEhTWU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+ID4gKwkgIC52 cmVmcmVzaCA9IDMwLCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNU XzY0XzI3LCB9LAo+ID4gKwkvKiAyMTMgLSAxMDI0MHg0MzIwQDQ4SHogNjQ6MjcgKi8KPiA+ICsJ eyBEUk1fTU9ERSgiMTAyNDB4NDMyMCIsIERSTV9NT0RFX1RZUEVfRFJJVkVSLCAyOTcwMDAwLCAx MDI0MCwgMTE3MzIsCj4gPiArCQkgICAxMTkwOCwgMTI1MDAsIDAsIDQzMjAsIDQzMzYsIDQzNTYs IDQ5NTAsIDAsCj4gPiArCQkgICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RFX0ZMQUdf UFZTWU5DKSwKPiA+ICsJICAudnJlZnJlc2ggPSA0OCwgLnBpY3R1cmVfYXNwZWN0X3JhdGlvID0g SERNSV9QSUNUVVJFX0FTUEVDVF82NF8yNywgfSwKPiA+ICsJLyogMjE0IC0gMTAyNDB4NDMyMEA1 MEh6IDY0OjI3ICovCj4gPiArCXsgRFJNX01PREUoIjEwMjQweDQzMjAiLCBEUk1fTU9ERV9UWVBF X0RSSVZFUiwgMjk3MDAwMCwgMTAyNDAsIDEyNzMyLAo+ID4gKwkJICAgMTI5MDgsIDEzNTAwLCAw LCA0MzIwLCA0MzM2LCA0MzU2LCA0NDAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19QSFNZ TkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gNTAsIC5waWN0 dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfNjRfMjcsIH0sCj4gPiArCS8q IDIxNSAtIDEwMjQweDQzMjBANjBIeiA2NDoyNyAqLwo+ID4gKwl7IERSTV9NT0RFKCIxMDI0MHg0 MzIwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDI5NzAwMDAsIDEwMjQwLCAxMDUyOCwKPiA+ICsJ CSAgIDEwNzA0LCAxMTAwMCwgMCwgNDMyMCwgNDMzNiwgNDM1NiwgNDUwMCwgMCwKPiA+ICsJCSAg IERSTV9NT0RFX0ZMQUdfUEhTWU5DIHwgRFJNX01PREVfRkxBR19QVlNZTkMpLAo+ID4gKwkgIC52 cmVmcmVzaCA9IDYwLCAucGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNU XzY0XzI3LCB9LAo+ID4gKwkvKiAyMTYgLSAxMDI0MHg0MzIwQDEwMEh6IDY0OjI3ICovCj4gPiAr CXsgRFJNX01PREUoIjEwMjQweDQzMjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZFUiwgNTk0MDAwMCwg MTAyNDAsIDEyNDMyLAo+ID4gKwkJICAgMTI2MDgsIDEzMjAwLCAwLCA0MzIwLCA0MzM2LCA0MzU2 LCA0NTAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFH X1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gMTAwLCAucGljdHVyZV9hc3BlY3RfcmF0aW8g PSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzY0XzI3LCB9LAo+ID4gKwkvKiAyMTcgLSAxMDI0MHg0MzIw QDEyMEh6IDY0OjI3ICovCj4gPiArCXsgRFJNX01PREUoIjEwMjQweDQzMjAiLCBEUk1fTU9ERV9U WVBFX0RSSVZFUiwgNTk0MDAwMCwgMTAyNDAsIDEwNTI4LAo+ID4gKwkJICAgMTA3MDQsIDExMDAw LCAwLCA0MzIwLCA0MzM2LCA0MzU2LCA0NTAwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19Q SFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gMTIwLCAu cGljdHVyZV9hc3BlY3RfcmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzY0XzI3LCB9LAo+ID4g KwkvKiAyMTggLSA0MDk2eDIxNjBAMTAwSHogMjU2OjEzNSAqLwo+ID4gKwl7IERSTV9NT0RFKCI0 MDk2eDIxNjAiLCBEUk1fTU9ERV9UWVBFX0RSSVZFUiwgMTE4ODAwMCwgNDA5NiwgNDg5NiwKPiA+ ICsJCSAgIDQ5ODQsIDUyODAsIDAsIDIxNjAsIDIxNjgsIDIxNzgsIDIyNTAsIDAsCj4gPiArCQkg ICBEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5DKSwKPiA+ICsJICAu dnJlZnJlc2ggPSAxMDAsIC5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BF Q1RfMjU2XzEzNSwgfSwKPiA+ICsJLyogMjE5IC0gNDA5NngyMTYwQDEyMEh6IDI1NjoxMzUgKi8K PiA+ICsJeyBEUk1fTU9ERSgiNDA5NngyMTYwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDExODgw MDAsIDQwOTYsIDQxODQsCj4gPiArCQkgICA0MjcyLCA0NDAwLCAwLCAyMTYwLCAyMTY4LCAyMTc4 LCAyMjUwLCAwLAo+ID4gKwkJICAgRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFH X1BWU1lOQyksCj4gPiArCSAgLnZyZWZyZXNoID0gMTIwLCAucGljdHVyZV9hc3BlY3RfcmF0aW8g PSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzI1Nl8xMzUsIH0sCj4gPiArfTsKPiA+ICsKPiA+ICAgLyoK PiA+ICAgICogSERNSSAxLjQgNGsgbW9kZXMuIEluZGV4IHVzaW5nIHRoZSBWSUMuCj4gPiAgICAq Lwo+ID4gQEAgLTMwNzIsMTcgKzMyMTUsMjEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICpjZWFfbW9kZV9mb3JfdmljKHU4IHZpYykKPiA+ICAgCQlyZXR1cm4gTlVMTDsK PiA+ICAgCWlmICh2aWMgPCBBUlJBWV9TSVpFKGVkaWRfY2VhX21vZGVzXzApKQo+ID4gICAJCXJl dHVybiAmZWRpZF9jZWFfbW9kZXNfMFt2aWNdOwo+ID4gKwlpZiAodmljID49IDE5MyAmJiB2aWMg PCAxOTMgKyBBUlJBWV9TSVpFKGVkaWRfY2VhX21vZGVzXzE5MykpCj4gPiArCQlyZXR1cm4gJmVk aWRfY2VhX21vZGVzXzE5M1t2aWMgLSAxOTNdOwo+ID4gICAJcmV0dXJuIE5VTEw7Cj4gPiAgIH0K PiA+ICAgCj4gPiAgIHN0YXRpYyB1OCBjZWFfbnVtX3ZpY3Modm9pZCkKPiA+ICAgewo+ID4gLQly ZXR1cm4gQVJSQVlfU0laRShlZGlkX2NlYV9tb2Rlc18wKTsKPiA+ICsJcmV0dXJuIDE5MyArIEFS UkFZX1NJWkUoZWRpZF9jZWFfbW9kZXNfMTkzKTsKPiBOb3cgdGhhdCB3ZSBhcmUgcGxhbm5pbmcg dG8gcmVtb3ZlIHRoZSBkdW1teSBtb2RlIGluZGV4IGF0IDAsIHNob3VsZG4ndCAKPiB0aGlzIGJl IDE5MiArIEFSUkFZX1NaKCksIGFzIHRoaXMgYXJyYXkgc3RhcnRzIGZyb20gVklDIDE5MyA/CgpO by4gVGhpcyBqdXN0IHJldHVybnMgdGhlIDxsYXN0IFZJQyB3ZSBoYXZlIGEgZGVmaW5pdGlvbiBm b3I+KzEuCklmIHRoYXQgZGVmaW5pdGlvbiBoYXBwZW5zIHRvIGJlIHN0b3JlZCBpbiBmb29bQVJS QVlfU0laRShmb28pLTFdCmFuZCBmb29bMF0gPT0gPGRlZmluaXRpb24gZm9yIFZJQyAxOTM+IGFu ZCB0aGVyZSBpcyBubyBleHRyYQpqdW5rIGluIHRoZSBtaWRkbGUgb2YgZm9vW10gdGhlbiB0aGUg YW5zd2VyIHNob3VsZCBiZQoxOTMrQVJSQVlfU0laRShmb28pLgoKPiA+ICAgfQo+ID4gICAKPiA+ ICAgc3RhdGljIHU4IGNlYV9uZXh0X3ZpYyh1OCB2aWMpCj4gPiAgIHsKPiA+IC0JcmV0dXJuIHZp YyArIDE7Cj4gPiArCWlmICgrK3ZpYyA9PSBBUlJBWV9TSVpFKGVkaWRfY2VhX21vZGVzXzApKQo+ ID4gKwkJdmljID0gMTkzOwo+IAo+IE9rLCB0aGlzIGV4cGxhaW5zIHdoeSBzZXBhcmF0ZSBmdW5j dGlvbiBmb3IgbmV4dCB2aWMgOikKPiAKPiAtIFNoYXNoYW5rCj4gCj4gPiArCXJldHVybiB2aWM7 Cj4gPiAgIH0KPiA+ICAgCj4gPiAgIC8qCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==