From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v2 07/23] drm/dsc: Define Display Stream Compression PPS infoframe Date: Thu, 23 Aug 2018 13:12:32 -0700 Message-ID: <20180823201232.GC3015@intel.com> References: <1533071239-28815-1-git-send-email-manasi.d.navare@intel.com> <1533071239-28815-8-git-send-email-manasi.d.navare@intel.com> <90d9f309-193f-aa6a-930d-e923c3aeadf7@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <90d9f309-193f-aa6a-930d-e923c3aeadf7@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Harry Wentland Cc: Anusha Srivatsa , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Gaurav K Singh List-Id: dri-devel@lists.freedesktop.org VGhhbmtzIGZvciB0aGUgcmV2aWV3LgpBbmQgeWVzIGl0IGp1c3QgcmVtb3ZlcyB0aGUgYml0Zmll bGRzIGluIFBQUyBzaW5jZSB0aGUgcGFja2luZyBvZiB0aGUKYml0ZmllbGRzIGFuZCBtZW1vcnkg YWxsb2NhdGlvbnMgYXJlIGhlYXZpbHkgZGVwZW5kZW50IG9uIEhXLgpTbyB3ZSBjYW50IGhhdmUg dGhlbSBpbiBEUk0gbGV2ZWwuCgpJIHdpbGwgbWFrZSBzdXJlIHRvIGFkZCB0aGlzIGluIHZlcnNp b24gaGlzdG9yeSBhbmQgYWxzbyBhZGQKU3VnZ2VzdGVkLWJ5OiBqYW5pLm5pa3VsYUBsaW51eC5p bnRlbC5jb20KCk1hbmFzaQoKT24gVGh1LCBBdWcgMjMsIDIwMTggYXQgMDM6NDA6MTJQTSAtMDQw MCwgSGFycnkgV2VudGxhbmQgd3JvdGU6Cj4gT24gMjAxOC0wNy0zMSAwNTowNyBQTSwgTWFuYXNp IE5hdmFyZSB3cm90ZToKPiA+IFRoaXMgcGF0Y2ggZGVmaW5lcyBhIG5ldyBoZWFkZXIgZmlsZSBm b3IgYWxsIHRoZSBEU0MgMS4yIHN0cnVjdHVyZXMKPiA+IGFuZCBjcmVhdGVzIGEgc3RydWN0dXJl IGZvciBQUFMgaW5mb2ZyYW1lIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBzZW5kCj4gPiBwaWN0dXJl IHBhcmFtZXRlciBzZXQgc2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZvciBkaXNwbGF5IHN0cmVhbSBj b21wcmVzc2lvbi4KPiA+IEFsbCB0aGUgUFBTIGluZm9mcmFtZSBzeW50YXggZWxlbWVudHMgYXJl IHRha2VuIGZyb20gRFNDIDEuMiBzcGVjaWZpY2F0aW9uCj4gPiBmcm9tIFZFU0EuCj4gPiAKPiA+ IENjOiBHYXVyYXYgSyBTaW5naCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgo+ID4gQ2M6IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5u aWt1bGFAbGludXguaW50ZWwuY29tPgo+ID4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+ID4gQ2M6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZh dHNhQGludGVsLmNvbT4KPiA+IENjOiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1k LmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBp bnRlbC5jb20+Cj4gCj4gTG9va3MgbGlrZSB0aGlzIHZlcnNpb24gYmFzaWNhbGx5IHJlbW92ZXMg dGhlIGJpdGZpZWxkIGRlZmluaXRpb25zIGFuZCBhZGRzIHRob3NlCj4gaW4gdGhlIGNvbW1lbnRz LCBjb21wYXJlZCB0byB0aGUgcmV2aWV3IGluIE1heS4KPiAKPiBSZXZpZXdlZC1ieTogSGFycnkg V2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+Cj4gCj4gSGFycnkKPiAKPiA+IC0tLQo+ ID4gIGluY2x1ZGUvZHJtL2RybV9kc2MuaCB8IDM2NSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAzNjUgaW5zZXJ0 aW9ucygrKQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2RybS9kcm1fZHNjLmgKPiA+ IAo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaCBiL2luY2x1ZGUvZHJtL2Ry bV9kc2MuaAo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAuLjY3OGU4 ZTYKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+ID4g QEAgLTAsMCArMSwzNjUgQEAKPiA+ICsvKgo+ID4gKyAqIENvcHlyaWdodCAoQykgMjAxOCBJbnRl bCBDb3JwLgo+ID4gKyAqCj4gPiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKPiA+ICsgKiBjb3B5IG9mIHRo aXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0 d2FyZSIpLAo+ID4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rp b24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiA+ICsgKiB0aGUgcmlnaHRzIHRvIHVz ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwK PiA+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0 IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiA+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g c28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ID4gKyAqCj4gPiArICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh bGwgYmUgaW5jbHVkZWQgaW4KPiA+ICsgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp b25zIG9mIHRoZSBTb2Z0d2FyZS4KPiA+ICsgKgo+ID4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4g PiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF UyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gPiArICogVEhF IENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlN LCBEQU1BR0VTIE9SCj4gPiArICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCj4gPiArICogQVJJU0lORyBGUk9NLCBP VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCj4g PiArICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+ID4gKyAqCj4gPiArICogQXV0 aG9yczoKPiA+ICsgKiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ ID4gKyAqLwo+ID4gKwo+ID4gKyNpZm5kZWYgRFJNX0RTQ19IXwo+ID4gKyNkZWZpbmUgRFJNX0RT Q19IXwo+ID4gKwo+ID4gKyNpbmNsdWRlIDxkcm0vZHJtX2RwX2hlbHBlci5oPgo+ID4gKwo+ID4g Ky8qIFZFU0EgRGlzcGxheSBTdHJlYW0gQ29tcHJlc3Npb24gRFNDIDEuMiBjb25zdGFudHMgKi8K PiA+ICsjZGVmaW5lIERTQ19OVU1fQlVGX1JBTkdFUwkxNQo+ID4gKwo+ID4gKy8qKgo+ID4gKyAq IHN0cnVjdCBwaWN0dXJlX3BhcmFtZXRlcl9zZXQgLSBSZXByZXNlbnRzIDEyOCBieXRlcyBvZiBQ aWN0dXJlIFBhcmFtZXRlciBTZXQKPiA+ICsgKgo+ID4gKyAqIFRoZSBWRVNBIERTQyBzdGFuZGFy ZCBkZWZpbmVzIHBpY3R1cmUgcGFyYW1ldGVyIHNldCAoUFBTKSB3aGljaCBkaXNwbGF5Cj4gPiAr ICogc3RyZWFtIGNvbXByZXNzaW9uIGVuY29kZXJzIG11c3QgY29tbXVuaWNhdGUgdG8gZGVjb2Rl cnMuCj4gPiArICogVGhlIFBQUyBpcyBlbmNhcHN1bGF0ZWQgaW4gMTI4IGJ5dGVzIChQUFMgMCB0 aHJvdWdoIFBQUyAxMjcpLiBUaGUgZmllbGRzIGluCj4gPiArICogdGhpcyBzdHJ1Y3R1cmUgYXJl IGFzIHBlciBUYWJsZSA0LjEgaW4gVmVzYSBEU0Mgc3BlY2lmaWNhdGlvbiB2MS4xL3YxLjIuCj4g PiArICogVGhlIFBQUyBmaWVsZHMgdGhhdCBzcGFuIG92ZXIgbW9yZSB0aGFuIGEgYnl0ZSBzaG91 bGQgYmUgc3RvcmVkIGluIEJpZyBFbmRpYW4KPiA+ICsgKiBmb3JtYXQuCj4gPiArICovCj4gPiAr c3RydWN0IHBpY3R1cmVfcGFyYW1ldGVyX3NldCB7Cj4gPiArCS8qKgo+ID4gKwkgKiBAZHNjX3Zl cnNpb246Cj4gPiArCSAqIFBQUzBbMzowXSAtIGRzY192ZXJzaW9uX21pbm9yOiBDb250YWlucyBN aW5vciB2ZXJzaW9uIG9mIERTQwo+ID4gKwkgKiBQUFMwWzc6NF0gLSBkc2NfdmVyc2lvbl9tYWpv cjogQ29udGFpbnMgbWFqb3IgdmVyc2lvbiBvZiBEU0MKPiA+ICsJICovCj4gPiArCXU4IGRzY192 ZXJzaW9uOwo+ID4gKwkvKioKPiA+ICsJICogQHBwc19pZGVudGlmaWVyOgo+ID4gKwkgKiBQUFMx Wzc6MF0gLSBBcHBsaWNhdGlvbiBzcGVjaWZpYyBpZGVudGlmaWVyIHRoYXQgY2FuIGJlCj4gPiAr CSAqIHVzZWQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGRpZmZlcmVudCBQUFMgdGFibGVzLgo+ ID4gKwkgKi8KPiA+ICsJdTggcHBzX2lkZW50aWZpZXI7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBz X3Jlc2VydmVkOgo+ID4gKwkgKiBQUFMyWzc6MF0tIFJFU0VSVkVEIEJ5dGUKPiA+ICsJICovCj4g PiArCXU4IHBwc19yZXNlcnZlZDsKPiA+ICsJLyoqCj4gPiArCSAqIEBwcHNfMzoKPiA+ICsJICog UFBTM1szOjBdIC0gbGluZWJ1Zl9kZXB0aDogQ29udGFpbnMgbGluZWJ1ZmZlciBiaXQgZGVwdGgg dXNlZCB0bwo+ID4gKwkgKiBnZW5lcmF0ZSB0aGUgYml0c3RyZWFtLiAoMHgwIC0gMTYgYml0cyBm b3IgRFNDIDEuMiwgMHg4IC0gOCBiaXRzLAo+ID4gKwkgKiAweEEgLSAxMCBiaXRzLCAweEIgLSAx MSBiaXRzLCAweEMgLSAxMiBiaXRzLCAweEQgLSAxMyBiaXRzLAo+ID4gKwkgKiAweEUgLSAxNCBi aXRzIGZvciBEU0MxLjIsIDB4RiAtIDE0IGJpdHMgZm9yIERTQyAxLjIuCj4gPiArCSAqIFBQUzNb Nzo0XSAtIGJpdHNfcGVyX2NvbXBvbmVudDogQml0cyBwZXIgY29tcG9uZW50IGZvciB0aGUgb3Jp Z2luYWwKPiA+ICsJICogcGl4ZWxzIG9mIHRoZSBlbmNvZGVkIHBpY3R1cmUuCj4gPiArCSAqIDB4 MCA9IDE2YnBjIChhbGxvd2VkIG9ubHkgd2hlbiBkc2NfdmVyc2lvbl9taW5vciA9IDB4MikKPiA+ ICsJICogMHg4ID0gOGJwYywgMHhBID0gMTBicGMsIDB4QyA9IDEyYnBjLCAweEUgPSAxNGJwYyAo YWxzbwo+ID4gKwkgKiBhbGxvd2VkIG9ubHkgd2hlbiBkc2NfbWlub3JfdmVyc2lvbiA9IDB4MikK PiA+ICsJICovCj4gPiArCXU4IHBwc18zOwo+ID4gKwkvKioKPiA+ICsJICogQHBwc180Ogo+ID4g KwkgKiBQUFM0WzE6MF0gLVRoZXNlIGFyZSB0aGUgbW9zdCBzaWduaWZpY2FudCAyIGJpdHMgb2YK PiA+ICsJICogY29tcHJlc3NlZCBCUFAgYml0c19wZXJfcGl4ZWxbOTowXSBzeW50YXggZWxlbWVu dC4KPiA+ICsJICogUFBTNFsyXSAtIHZicl9lbmFibGU6IDAgPSBWQlIgZGlzYWJsZWQsIDEgPSBW QlIgZW5hYmxlZAo+ID4gKwkgKiBQUFM0WzNdIC0gc2ltcGxlXzQyMjogSW5kaWNhdGVzIGlmIGRl Y29kZXIgZHJvcHMgc2FtcGxlcyB0bwo+ID4gKwkgKiByZWNvbnN0cnVjdCB0aGUgNDoyOjIgcGlj dHVyZS4KPiA+ICsJICogUFBTNFs0XSAtIENvbnZlcnRfcmdiOiBJbmRpY2F0ZXMgaWYgRFNDIGNv bG9yIHNwYWNlIGNvbnZlcnNpb24gaXMKPiA+ICsJICogYWN0aXZlLgo+ID4gKwkgKiBQUFM0WzVd IC0gYmxvYmtfcHJlZF9lbmFibGU6IEluZGljYXRlcyBpZiBCUCBpcyB1c2VkIHRvIGNvZGUgYW55 Cj4gPiArCSAqIGdyb3VwcyBpbiBwaWN0dXJlCj4gPiArCSAqIFBQUzRbNzo2XSAtIFJlc2V2ZWQg Yml0cwo+ID4gKwkgKi8KPiA+ICsJdTggcHBzXzQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAYml0c19w ZXJfcGl4ZWxfbG93Ogo+ID4gKwkgKiBQUFM1Wzc6MF0gLSBUaGlzIGluZGljYXRlcyB0aGUgbG93 ZXIgc2lnbmlmaWNhbnQgOCBiaXRzIG9mCj4gPiArCSAqIHRoZSBjb21wcmVzc2VkIEJQUCBiaXRz X3Blcl9waXhlbFs5OjBdIGVsZW1lbnQuCj4gPiArCSAqLwo+ID4gKwl1OCBiaXRzX3Blcl9waXhl bF9sb3c7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcGljX2hlaWdodDoKPiA+ICsJICogUFBTNls3OjBd LCBQUFM3Wzc6MF0gLXBpY19oZWlnaHQ6IFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHBpeGVsIHJv d3MKPiA+ICsJICogd2l0aGluIHRoZSByYXN0ZXIuCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgcGlj X2hlaWdodDsKPiA+ICsJLyoqCj4gPiArCSAqIEBwaWNfd2lkdGg6Cj4gPiArCSAqIFBQUzhbNzow XSwgUFBTOVs3OjBdIC0gcGljX3dpZHRoOiBOdW1iZXIgb2YgcGl4ZWwgY29sdW1ucyB3aXRoaW4K PiA+ICsJICogdGhlIHJhc3Rlci4KPiA+ICsJICovCj4gPiArCV9fYmUxNiBwaWNfd2lkdGg7Cj4g PiArCS8qKgo+ID4gKwkgKiBAc2xpY2VfaGVpZ2h0Ogo+ID4gKwkgKiBQUFMxMFs3OjBdLCBQUFMx MVs3OjBdIC0gU2xpY2UgaGVpZ2h0IGluIHVuaXRzIG9mIHBpeGVscy4KPiA+ICsJICovCj4gPiAr CV9fYmUxNiBzbGljZV9oZWlnaHQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAc2xpY2Vfd2lkdGg6Cj4g PiArCSAqIFBQUzEyWzc6MF0sIFBQUzEzWzc6MF0gLSBTbGljZSB3aWR0aCBpbiB0ZXJtcyBvZiBw aXhlbHMuCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgc2xpY2Vfd2lkdGg7Cj4gPiArCS8qKgo+ID4g KwkgKiBAY2h1bmtfc2l6ZToKPiA+ICsJICogUFBTMTRbNzowXSwgUFBTMTVbNzowXSAtIFNpemUg aW4gdW5pdHMgb2YgYnl0ZXMgb2YgdGhlIGNodW5rcwo+ID4gKwkgKiB0aGF0IGFyZSB1c2VkIGZv ciBzbGljZSBtdWx0aXBsZXhpbmcuCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgY2h1bmtfc2l6ZTsK PiA+ICsJLyoqCj4gPiArCSAqIEBpbml0aWFsX3htaXRfZGVsYXlfaGlnaDoKPiA+ICsJICogUFBT MTZbMTowXSAtIE1vc3QgU2lnbmlmaWNhbnQgdHdvIGJpdHMgb2YgaW5pdGlhbCB0cmFuc21pc3Np b24gZGVsYXkuCj4gPiArCSAqIEl0IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHBpeGVsIHRpbWVz IHRoYXQgdGhlIGVuY29kZXIgd2FpdHMgYmVmb3JlCj4gPiArCSAqIHRyYW5zbWl0dGluZyBkYXRh IGZyb20gaXRzIHJhdGUgYnVmZmVyLgo+ID4gKwkgKiBQUFMxNls3OjJdIC0gUmVzZXJ2ZWQKPiA+ ICsJICovCj4gPiArCXU4IGluaXRpYWxfeG1pdF9kZWxheV9oaWdoOwo+ID4gKwkvKioKPiA+ICsJ ICogQGluaXRpYWxfeG1pdF9kZWxheV9sb3c6Cj4gPiArCSAqIFBQUzE3Wzc6MF0gLSBMZWFzdCBz aWduaWZpY2FudCA4IGJpdHMgb2YgaW5pdGlhbCB0cmFuc21pc3Npb24gZGVsYXkuCj4gPiArCSAq Lwo+ID4gKwl1OCBpbml0aWFsX3htaXRfZGVsYXlfbG93Owo+ID4gKwkvKioKPiA+ICsJICogQGlu aXRpYWxfZGVjX2RlbGF5Ogo+ID4gKwkgKgo+ID4gKwkgKiBQUFMxOFs3OjBdLCBQUFMxOVs3OjBd IC0gSW5pdGlhbCBkZWNvZGluZyBkZWxheSB3aGljaCBpcyB0aGUgbnVtYmVyCj4gPiArCSAqIG9m IHBpeGVsIHRpbWVzIHRoYXQgdGhlIGRlY29kZXIgYWNjdW11bGF0ZXMgZGF0YSBpbiBpdHMgcmF0 ZSBidWZmZXIKPiA+ICsJICogYmVmb3JlIHN0YXJ0aW5nIHRvIGRlY29kZSBhbmQgb3V0cHV0IHBp eGVscy4KPiA+ICsJICovCj4gPiArCV9fYmUxNiBpbml0aWFsX2RlY19kZWxheTsKPiA+ICsJLyoq Cj4gPiArCSAqIEBwcHMyMF9yZXNlcnZlZDoKPiA+ICsJICoKPiA+ICsJICogUFBTMjBbNzowXSAt IFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1OCBwcHMyMF9yZXNlcnZlZDsKPiA+ICsJLyoqCj4g PiArCSAqIEBpbml0aWFsX3NjYWxlX3ZhbHVlOgo+ID4gKwkgKiBQUFMyMVs1OjBdIC0gSW5pdGlh bCByY1hmb3JtU2NhbGUgZmFjdG9yIHVzZWQgYXQgYmVnaW5uaW5nCj4gPiArCSAqIG9mIGEgc2xp Y2UuCj4gPiArCSAqIFBQUzIxWzc6Nl0gLSBSZXNlcnZlZAo+ID4gKwkgKi8KPiA+ICsJdTggaW5p dGlhbF9zY2FsZV92YWx1ZTsKPiA+ICsJLyoqCj4gPiArCSAqIEBzY2FsZV9pbmNyZW1lbnRfaW50 ZXJ2YWw6Cj4gPiArCSAqIFBQUzIyWzc6MF0sIFBQUzIzWzc6MF0gLSBOdW1iZXIgb2YgZ3JvdXAg dGltZXMgYmV0d2VlbiBpbmNyZW1lbnRpbmcKPiA+ICsJICogdGhlIHJjWGZvcm1TY2FsZSBmYWN0 b3IgYXQgZW5kIG9mIGEgc2xpY2UuCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgc2NhbGVfaW5jcmVt ZW50X2ludGVydmFsOwo+ID4gKwkvKioKPiA+ICsJICogQHNjYWxlX2RlY3JlbWVudF9pbnRlcnZh bF9oaWdoOgo+ID4gKwkgKiBQUFMyNFszOjBdIC0gSGlnaGVyIDQgYml0cyBpbmRpY2F0aW5nIG51 bWJlciBvZiBncm91cCB0aW1lcyBiZXR3ZWVuCj4gPiArCSAqIGRlY3JlbWVudGluZyB0aGUgcmNY Zm9ybVNjYWxlIGZhY3RvciBhdCBiZWdpbm5pbmcgb2YgYSBzbGljZS4KPiA+ICsJICogUFBTMjRb Nzo0XSAtIFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1OCBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2 YWxfaGlnaDsKPiA+ICsJLyoqCj4gPiArCSAqIEBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfbG93 Ogo+ID4gKwkgKiBQUFMyNVs3OjBdIC0gTG93ZXIgOCBiaXRzIG9mIHNjYWxlIGRlY3JlbWVudCBp bnRlcnZhbAo+ID4gKwkgKi8KPiA+ICsJdTggc2NhbGVfZGVjcmVtZW50X2ludGVydmFsX2xvdzsK PiA+ICsJLyoqCj4gPiArCSAqIEBwcHMyNl9yZXNlcnZlZDoKPiA+ICsJICogUFBTMjZbNzowXQo+ ID4gKwkgKi8KPiA+ICsJdTggcHBzMjZfcmVzZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAZmly c3RfbGluZV9icGdfb2Zmc2V0Ogo+ID4gKwkgKiBQUFMyN1s0OjBdIC0gTnVtYmVyIG9mIGFkZGl0 aW9uYWwgYml0cyB0aGF0IGFyZSBhbGxvY2F0ZWQKPiA+ICsJICogZm9yIGVhY2ggZ3JvdXAgb24g Zmlyc3QgbGluZSBvZiBhIHNsaWNlLgo+ID4gKwkgKiBQUFMyN1s3OjVdIC0gUmVzZXJ2ZWQKPiA+ ICsJICovCj4gPiArCXU4IGZpcnN0X2xpbmVfYnBnX29mZnNldDsKPiA+ICsJLyoqCj4gPiArCSAq IEBuZmxfYnBnX29mZnNldDoKPiA+ICsJICogUFBTMjhbNzowXSwgUFBTMjlbNzowXSAtIE51bWJl ciBvZiBiaXRzIGluY2x1ZGluZyBmcmFjIGJpdHMKPiA+ICsJICogZGVhbGxvY2F0ZWQgZm9yIGVh Y2ggZ3JvdXAgZm9yIGdyb3VwcyBhZnRlciB0aGUgZmlyc3QgbGluZSBvZiBzbGljZS4KPiA+ICsJ ICovCj4gPiArCV9fYmUxNiBuZmxfYnBnX29mZnNldDsKPiA+ICsJLyoqCj4gPiArCSAqIEBzbGlj ZV9icGdfb2Zmc2V0Ogo+ID4gKwkgKiBQUFMzMCwgUFBTMzFbNzowXSAtIE51bWJlciBvZiBiaXRz IHRoYXQgYXJlIGRlYWxsb2NhdGVkIGZvciBlYWNoCj4gPiArCSAqIGdyb3VwIHRvIGVuZm9yY2Ug dGhlIHNsaWNlIGNvbnN0cmFpbnQuCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgc2xpY2VfYnBnX29m ZnNldDsKPiA+ICsJLyoqCj4gPiArCSAqIEBpbml0aWFsX29mZnNldDoKPiA+ICsJICogUFBTMzIs MzNbNzowXSAtIEluaXRpYWwgdmFsdWUgZm9yIHJjWGZvcm1PZmZzZXQKPiA+ICsJICovCj4gPiAr CV9fYmUxNiBpbml0aWFsX29mZnNldDsKPiA+ICsJLyoqCj4gPiArCSAqIEBmaW5hbF9vZmZzZXQ6 Cj4gPiArCSAqIFBQUzM0LDM1Wzc6MF0gLSBNYXhpbXVtIGVuZC1vZi1zbGljZSB2YWx1ZSBmb3Ig cmNYZm9ybU9mZnNldAo+ID4gKwkgKi8KPiA+ICsJX19iZTE2IGZpbmFsX29mZnNldDsKPiA+ICsJ LyoqCj4gPiArCSAqIEBmbGF0bmVzc19taW5fcXA6Cj4gPiArCSAqIFBQUzM2WzQ6MF0gLSBNaW5p bXVtIFFQIGF0IHdoaWNoIGZsYXRuZXNzIGlzIHNpZ25hbGVkIGFuZAo+ID4gKwkgKiBmbGF0bmVz cyBRUCBhZGp1c3RtZW50IGlzIG1hZGUuCj4gPiArCSAqIFBQUzM2Wzc6NV0gLSBSZXNlcnZlZAo+ ID4gKwkgKi8KPiA+ICsJdTggZmxhdG5lc3NfbWluX3FwOwo+ID4gKwkvKioKPiA+ICsJICogQGZs YXRuZXNzX21heF9xcDoKPiA+ICsJICogUFBTMzdbNDowXSAtIE1heCBRUCBhdCB3aGljaCBmbGF0 bmVzcyBpcyBzaWduYWxsZWQgYW5kCj4gPiArCSAqIHRoZSBmbGF0bmVzcyBhZGp1c3RtZW50IGlz IG1hZGUuCj4gPiArCSAqIFBQUzM3Wzc6NV0gLSBSZXNlcnZlZAo+ID4gKwkgKi8KPiA+ICsJdTgg ZmxhdG5lc3NfbWF4X3FwOwo+ID4gKwkvKioKPiA+ICsJICogQHJjX21vZGVsX3NpemU6Cj4gPiAr CSAqIFBQUzM4LDM5Wzc6MF0gLSBOdW1iZXIgb2YgYml0cyB3aXRoaW4gUkMgTW9kZWwuCj4gPiAr CSAqLwo+ID4gKwlfX2JlMTYgcmNfbW9kZWxfc2l6ZTsKPiA+ICsJLyoqCj4gPiArCSAqIEByY19l ZGdlX2ZhY3RvcjoKPiA+ICsJICogUFBTNDBbMzowXSAtIFJhdGlvIG9mIGN1cnJlbnQgYWN0aXZp dHkgdnMsIHByZXZpb3VzCj4gPiArCSAqIGFjdGl2aXR5IHRvIGRldGVybWluZSBwcmVzZW5jZSBv ZiBlZGdlLgo+ID4gKwkgKiBQUFM0MFs3OjRdIC0gUmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXU4 IHJjX2VkZ2VfZmFjdG9yOwo+ID4gKwkvKioKPiA+ICsJICogQHJjX3F1YW50X2luY3JfbGltaXQw Ogo+ID4gKwkgKiBQUFM0MVs0OjBdIC0gUVAgdGhyZXNob2xkIHVzZWQgaW4gc2hvcnQgdGVybSBS Qwo+ID4gKwkgKiBQUFM0MVs3OjVdIC0gUmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXU4IHJjX3F1 YW50X2luY3JfbGltaXQwOwo+ID4gKwkvKioKPiA+ICsJICogQHJjX3F1YW50X2luY3JfbGltaXQx Ogo+ID4gKwkgKiBQUFM0Mls0OjBdIC0gUVAgdGhyZXNob2xkIHVzZWQgaW4gc2hvcnQgdGVybSBS Qwo+ID4gKwkgKiBQUFM0Mls3OjVdIC0gUmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXU4IHJjX3F1 YW50X2luY3JfbGltaXQxOwo+ID4gKwkvKioKPiA+ICsJICogQHJjX3RndF9vZmZzZXQ6Cj4gPiAr CSAqIFBQUzQzWzM6MF0gLSBMb3dlciBlbmQgb2YgdGhlIHZhcmlhYmlsaXR5IHJhbmdlIGFyb3Vu ZCB0aGUgdGFyZ2V0Cj4gPiArCSAqIGJpdHMgcGVyIGdyb3VwIHRoYXQgaXMgYWxsb3dlZCBieSBz aG9ydCB0ZXJtIFJDLgo+ID4gKwkgKiBQUFM0M1s3OjRdLSBVcHBlciBlbmQgb2YgdGhlIHZhcmlh YmlsaXR5IHJhbmdlIGFyb3VuZCB0aGUgdGFyZ2V0Cj4gPiArCSAqIGJpdHMgcGVyIGdyb3VwIHRo YXQgaSBhbGxvd2VkIGJ5IHNob3J0IHRlcm0gcmMuCj4gPiArCSAqLwo+ID4gKwl1OCByY190Z3Rf b2Zmc2V0Owo+ID4gKwkvKioKPiA+ICsJICogQHJjX2J1Zl90aHJlc2g6Cj4gPiArCSAqIFBQUzQ0 Wzc6MF0gLSBQUFM1N1s3OjBdIC0gU3BlY2lmaWVzIHRoZSB0aHJlc2hvbGRzIGluIFJDIG1vZGVs IGZvcgo+ID4gKwkgKiB0aGUgMTUgcmFuZ2VzIGRlZmluZWQgYnkgMTQgdGhyZXNob2xkcy4KPiA+ ICsJICovCj4gPiArCXU4IHJjX2J1Zl90aHJlc2hbRFNDX05VTV9CVUZfUkFOR0VTIC0gMV07Cj4g PiArCS8qKgo+ID4gKwkgKiBAcmNfcmFuZ2VfcGFyYW1ldGVyczoKPiA+ICsJICogUFBTNThbNzow XSAtIFBQUzg3Wzc6MF0KPiA+ICsJICogUGFyYW1ldGVycyB0aGF0IGNvcnJlc3BvbmQgdG8gZWFj aCBvZiB0aGUgMTUgcmFuZ2VzLgo+ID4gKwkgKi8KPiA+ICsJX19iZTE2IHJjX3JhbmdlX3BhcmFt ZXRlcnNbRFNDX05VTV9CVUZfUkFOR0VTXTsKPiA+ICsJLyoqCj4gPiArCSAqIEBuYXRpdmVfNDIy XzQyMDoKPiA+ICsJICogUFBTODhbMF0gLSAwID0gTmF0aXZlIDQ6MjoyIG5vdCB1c2VkCj4gPiAr CSAqIDEgPSBOYXRpdmUgNDoyOjIgdXNlZAo+ID4gKwkgKiBQUFM4OFsxXSAtIDAgPSBOYXRpdmUg NDoyOjAgbm90IHVzZQo+ID4gKwkgKiAxID0gTmF0aXZlIDQ6MjowIHVzZWQKPiA+ICsJICogUFBT ODhbNzoyXSAtIFJlc2VydmVkIDYgYml0cwo+ID4gKwkgKi8KPiA+ICsJdTggbmF0aXZlXzQyMl80 MjA7Cj4gPiArCS8qKgo+ID4gKwkgKiBAc2Vjb25kX2xpbmVfYnBnX29mZnNldDoKPiA+ICsJICog UFBTODlbNDowXSAtIEFkZGl0aW9uYWwgYml0cy9ncm91cCBidWRnZXQgZm9yIHRoZQo+ID4gKwkg KiBzZWNvbmQgbGluZSBvZiBhIHNsaWNlIGluIE5hdGl2ZSA0OjI6MCBtb2RlLgo+ID4gKwkgKiBT ZXQgdG8gMCBpZiBEU0MgbWlub3IgdmVyc2lvbiBpcyAxIG9yIG5hdGl2ZTQyMCBpcyAwLgo+ID4g KwkgKiBQUFM4OVs3OjVdIC0gUmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXU4IHNlY29uZF9saW5l X2JwZ19vZmZzZXQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAbnNsX2JwZ19vZmZzZXQ6Cj4gPiArCSAq IFBQUzkwWzc6MF0sIFBQUzkxWzc6MF0gLSBOdW1iZXIgb2YgYml0cyB0aGF0IGFyZSBkZWFsbG9j YXRlZAo+ID4gKwkgKiBmb3IgZWFjaCBncm91cCB0aGF0IGlzIG5vdCBpbiB0aGUgc2Vjb25kIGxp bmUgb2YgYSBzbGljZS4KPiA+ICsJICovCj4gPiArCV9fYmUxNiBuc2xfYnBnX29mZnNldDsKPiA+ ICsJLyoqCj4gPiArCSAqIEBzZWNvbmRfbGluZV9vZmZzZXRfYWRqOgo+ID4gKwkgKiBQUFM5Mls3 OjBdLCBQUFM5M1s3OjBdIC0gVXNlZCBhcyBvZmZzZXQgYWRqdXN0bWVudCBmb3IgdGhlIHNlY29u ZAo+ID4gKwkgKiBsaW5lIGluIE5hdGl2ZSA0OjI6MCBtb2RlLgo+ID4gKwkgKi8KPiA+ICsJX19i ZTE2IHNlY29uZF9saW5lX29mZnNldF9hZGo7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBzX2xvbmdf OTRfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUyA5NCwgOTUsIDk2LCA5NyAtIFJlc2VydmVkCj4gPiAr CSAqLwo+ID4gKwl1MzIgcHBzX2xvbmdfOTRfcmVzZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBA cHBzX2xvbmdfOThfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUyA5OCwgOTksIDEwMCwgMTAxIC0gUmVz ZXJ2ZWQKPiA+ICsJICovCj4gPiArCXUzMiBwcHNfbG9uZ185OF9yZXNlcnZlZDsKPiA+ICsJLyoq Cj4gPiArCSAqIEBwcHNfbG9uZ18xMDJfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUyAxMDIsIDEwMywg MTA0LCAxMDUgLSBSZXNlcnZlZAo+ID4gKwkgKi8KPiA+ICsJdTMyIHBwc19sb25nXzEwMl9yZXNl cnZlZDsKPiA+ICsJLyoqCj4gPiArCSAqIEBwcHNfbG9uZ18xMDZfcmVzZXJ2ZWQ6Cj4gPiArCSAq IFBQUyAxMDYsIDEwNywgMTA4LCAxMDkgLSByZXNlcnZlZAo+ID4gKwkgKi8KPiA+ICsJdTMyIHBw c19sb25nXzEwNl9yZXNlcnZlZDsKPiA+ICsJLyoqCj4gPiArCSAqIEBwcHNfbG9uZ18xMTBfcmVz ZXJ2ZWQ6Cj4gPiArCSAqIFBQUyAxMTAsIDExMSwgMTEyLCAxMTMgLSByZXNlcnZlZAo+ID4gKwkg Ki8KPiA+ICsJdTMyIHBwc19sb25nXzExMF9yZXNlcnZlZDsKPiA+ICsJLyoqCj4gPiArCSAqIEBw cHNfbG9uZ18xMTRfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUyAxMTQgLSAxMTcgLSByZXNlcnZlZAo+ ID4gKwkgKi8KPiA+ICsJdTMyIHBwc19sb25nXzExNF9yZXNlcnZlZDsKPiA+ICsJLyoqCj4gPiAr CSAqIEBwcHNfbG9uZ18xMThfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUyAxMTggLSAxMjEgLSByZXNl cnZlZAo+ID4gKwkgKi8KPiA+ICsJdTMyIHBwc19sb25nXzExOF9yZXNlcnZlZDsKPiA+ICsJLyoq Cj4gPiArCSAqIEBwcHNfbG9uZ18xMjJfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUyAxMjItIDEyNSAt IHJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1MzIgcHBzX2xvbmdfMTIyX3Jlc2VydmVkOwo+ID4g KwkvKioKPiA+ICsJICogQHBwc19zaG9ydF8xMjZfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUyAxMjYs IDEyNyAtIHJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgcHBzX3Nob3J0XzEyNl9yZXNl cnZlZDsKPiA+ICt9Owo+ID4gKwo+ID4gKy8qKgo+ID4gKyAqIHN0cnVjdCBkcm1fZHNjX3Bwc19p bmZvZnJhbWUgLSBEU0MgaW5mb2ZyYW1lIGNhcnJ5aW5nIHRoZSBQaWN0dXJlIFBhcmFtZXRlcgo+ ID4gKyAqIFNldCBNZXRhZGF0YQo+ID4gKyAqCj4gPiArICogVGhpcyBzdHJ1Y3R1cmUgcmVwcmVz ZW50cyB0aGUgRFNDIFBQUyBpbmZvZnJhbWUgcmVxdWlyZWQgdG8gc2VuZCB0aGUgUGljdHVyZQo+ ID4gKyAqIFBhcmFtZXRlciBTZXQgbWV0YWRhdGEgcmVxdWlyZWQgYmVmb3JlIGVuYWJsaW5nIFZF U0EgRGlzcGxheSBTdHJlYW0KPiA+ICsgKiBDb21wcmVzc2lvbi4gVGhpcyBpcyBiYXNlZCBvbiB0 aGUgRFAgU2Vjb25kYXJ5IERhdGEgUGFja2V0IHN0cnVjdHVyZSBhbmQKPiA+ICsgKiBjb21wcmlz ZXMgb2YgU0RQIEhlYWRlciBhcyBkZWZpbmVkIGluIGRybV9kcF9oZWxwZXIuaCBhbmQgUFBTIHBh eWxvYWQuCj4gPiArICoKPiA+ICsgKiBAcHBzX2hlYWRlcjoKPiA+ICsgKgo+ID4gKyAqIEhlYWRl ciBmb3IgUFBTIGFzIHBlciBEUCBTRFAgaGVhZGVyIGZvcm1hdAo+ID4gKyAqCj4gPiArICogQHBw c19wYXlsb2FkOgo+ID4gKyAqCj4gPiArICogUFBTIHBheWxvYWQgZmllbGRzIGFzIHBlciBEU0Mg c3BlY2lmaWNhdGlvbiBUYWJsZSA0LTEKPiA+ICsgKi8KPiA+ICtzdHJ1Y3QgZHJtX2RzY19wcHNf aW5mb2ZyYW1lIHsKPiA+ICsJc3RydWN0IGRwX3NkcF9oZWFkZXIgcHBzX2hlYWRlcjsKPiA+ICsJ c3RydWN0IHBpY3R1cmVfcGFyYW1ldGVyX3NldCBwcHNfcGF5bG9hZDsKPiA+ICt9IF9fcGFja2Vk Owo+ID4gKwo+ID4gKyNlbmRpZiAvKiBfRFJNX0RTQ19IXyAqLwo+ID4gCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=