From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v2] drm/dsc: Add kernel documentation for DRM DP DSC helpers Date: Wed, 6 Feb 2019 09:30:45 -0500 Message-ID: <20190206143045.GB114153@art_vandelay> References: <20190204234022.4170-1-manasi.d.navare@intel.com> <20190206071634.15817-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF8F36E06F for ; Wed, 6 Feb 2019 14:30:47 +0000 (UTC) Received: by mail-qk1-x744.google.com with SMTP id r21so4312972qkl.11 for ; Wed, 06 Feb 2019 06:30:47 -0800 (PST) Content-Disposition: inline In-Reply-To: <20190206071634.15817-1-manasi.d.navare@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: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBGZWIgMDUsIDIwMTkgYXQgMTE6MTY6MzRQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBUaGlzIHBhdGNoIGFkZHMgYXBwcm9waWF0ZSBrZXJuZWwgZG9jdW1lbnRhdGlvbiBm b3IgRFJNIERQIGhlbHBlcnMKPiB1c2VkIGZvciBlbmFibGluZyBEaXNwbGF5IFN0cmVhbSBjb21w cmVzc2lvbiBmdW5jdGlvbmFsaXR5IGluCj4gZHJtX2RwX2hlbHBlci5oIGFuZCBkcm1fZHBfaGVs cGVyLmMgYXMgd2VsbCBhcyBmb3IgdGhlIERTQyBzcGVjCj4gcmVsYXRlZCBzdHJ1Y3R1cmUgZGVm aW5pdGlvbnMgYW5kIGhlbHBlcnMgaW4gZHJtX2RzYy5jIGFuZCBkcm1fZHNjLmgKPiBBbHNvIGFk ZCBsaW5rcyBiZXR3ZWVuIHRoZSBmdW5jdGlvbnMgYW5kIHN0cnVjdHVyZXMgaW4gdGhlIGRvY3Vt ZW50YXRpb24uCj4gCj4gdjI6Cj4gKiBBZGQgaW5saW5lIGNvbW1lbnRzIGZvciBsb25nZXIgc3Ry dWN0cyAoRGFuaWVsIFZldHRlcikKPiAqIFNwbGl0IHRoZSBzdW1tYXJ5IGFuZCBkZXNjcmlwdGlv biAoRGFuaWVsIFZldHRlcikKPiAKPiBTdWdnZXN0ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAaW50ZWwuY29tPgo+IFN1Z2dlc3RlZC1ieTogU2VhbiBQYXVsIDxzZWFuQHBvb3Js eS5ydW4+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENj OiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KClRoZXJlIGFyZSBhIGZldyBjaGVja3BhdGNo IHdhcm5pbmdzIGZvciBsb25nIGxpbmVzLCB3aGljaCBtYXliZSB5b3Ugd2FudCB0bwpzcXVhc2gs IGJ1dCBJJ20gT2sgYmVpbmcgaWdub3JlZCBvbiB0aGlzIGFzIHdlbGwuIFBhdGNoIGlzIHN0aWxs CgpBY2tlZC1ieTogU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+Cgo+IFNpZ25lZC1vZmYtYnk6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCAgNDcgKysrKysrLQo+ICBkcml2ZXJzL2dwdS9k cm0vZHJtX2RzYy5jICAgICAgIHwgIDMwICsrKystCj4gIGluY2x1ZGUvZHJtL2RybV9kcF9oZWxw ZXIuaCAgICAgfCAgMTUgKystCj4gIGluY2x1ZGUvZHJtL2RybV9kc2MuaCAgICAgICAgICAgfCAy MjYgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAy NTIgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBl ci5jCj4gaW5kZXggNTQxMjBiNjMxOWU3Li41NGE2NDE0YzVkOTYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHBfaGVscGVyLmMKPiBAQCAtMTM2MCw3ICsxMzYwLDIwIEBAIGludCBkcm1fZHBfcmVhZF9kZXNj KHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfZGVzYyAqZGVzYywKPiAgRVhQ T1JUX1NZTUJPTChkcm1fZHBfcmVhZF9kZXNjKTsKPiAgCj4gIC8qKgo+IC0gKiBEUk0gRFAgSGVs cGVycyBmb3IgRFNDCj4gKyAqIGRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQoKSAtIEdl dCB0aGUgbWF4IHNsaWNlIGNvdW50Cj4gKyAqIHN1cHBvcnRlZCBieSB0aGUgRFNDIHNpbmsuCj4g KyAqIEBkc2NfZHBjZDogRFNDIGNhcGFiaWxpdGllcyBmcm9tIERQQ0QKPiArICogQGlzX2VkcDog dHJ1ZSBpZiBpdHMgZURQLCBmYWxzZSBmb3IgRFAKPiArICoKPiArICogUmVhZCB0aGUgc2xpY2Ug Y2FwYWJpbGl0aWVzIERQQ0QgcmVnaXN0ZXIgZnJvbSBEU0Mgc2luayB0byBnZXQKPiArICogdGhl IG1heGltdW0gc2xpY2UgY291bnQgc3VwcG9ydGVkLiBUaGlzIGlzIHVzZWQgdG8gcG9wdWxhdGUK PiArICogdGhlIERTQyBwYXJhbWV0ZXJzIGluIHRoZSAmc3RydWN0IGRybV9kc2NfY29uZmlnIGJ5 IHRoZSBkcml2ZXIuCj4gKyAqIERyaXZlciBjcmVhdGVzIGFuIGluZm9mcmFtZSB1c2luZyB0aGVz ZSBwYXJhbWV0ZXJzIHRvIHBvcHVsYXRlCj4gKyAqICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2Zy YW1lLiBUaGVzZSBhcmUgc2VudCB0byB0aGUgc2luayB1c2luZyBEU0MKPiArICogaW5mb2ZyYW1l IHVzaW5nIHRoZSBoZWxwZXIgZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soKQo+ ICsgKgo+ICsgKiBSZXR1cm5zOgo+ICsgKiBNYXhpbXVtIHNsaWNlIGNvdW50IHN1cHBvcnRlZCBi eSBEU0Mgc2luayBvciAwIGl0cyBpbnZhbGlkCj4gICAqLwo+ICB1OCBkcm1fZHBfZHNjX3Npbmtf bWF4X3NsaWNlX2NvdW50KGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0la RV0sCj4gIAkJCQkgICBib29sIGlzX2VkcCkKPiBAQCAtMTQwNSw2ICsxNDE4LDIxIEBAIHU4IGRy bV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JF Q0VJVkVSX0NBUF9TSVpFXSwKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9kcF9kc2Nfc2lua19t YXhfc2xpY2VfY291bnQpOwo+ICAKPiArLyoqCj4gKyAqIGRybV9kcF9kc2Nfc2lua19saW5lX2J1 Zl9kZXB0aCgpIC0gR2V0IHRoZSBsaW5lIGJ1ZmZlciBkZXB0aCBpbiBiaXRzCj4gKyAqIEBkc2Nf ZHBjZDogRFNDIGNhcGFiaWxpdGllcyBmcm9tIERQQ0QKPiArICoKPiArICogUmVhZCB0aGUgRFND IERQQ0QgcmVnaXN0ZXIgdG8gcGFyc2UgdGhlIGxpbmUgYnVmZmVyIGRlcHRoIGluIGJpdHMgd2hp Y2ggaXMKPiArICogbnVtYmVyIG9mIGJpdHMgb2YgcHJlY2lzaW9uIHdpdGhpbiB0aGUgZGVjb2Rl ciBsaW5lIGJ1ZmZlciBzdXBwb3J0ZWQgYnkKPiArICogdGhlIERTQyBzaW5rLiBUaGlzIGlzIHVz ZWQgdG8gcG9wdWxhdGUgdGhlIERTQyBwYXJhbWV0ZXJzIGluIHRoZQo+ICsgKiAmc3RydWN0IGRy bV9kc2NfY29uZmlnIGJ5IHRoZSBkcml2ZXIuCj4gKyAqIERyaXZlciBjcmVhdGVzIGFuIGluZm9m cmFtZSB1c2luZyB0aGVzZSBwYXJhbWV0ZXJzIHRvIHBvcHVsYXRlCj4gKyAqICZzdHJ1Y3QgZHJt X2RzY19wcHNfaW5mb2ZyYW1lLiBUaGVzZSBhcmUgc2VudCB0byB0aGUgc2luayB1c2luZyBEU0MK PiArICogaW5mb2ZyYW1lIHVzaW5nIHRoZSBoZWxwZXIgZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5m b2ZyYW1lX3BhY2soKQo+ICsgKgo+ICsgKiBSZXR1cm5zOgo+ICsgKiBMaW5lIGJ1ZmZlciBkZXB0 aCBzdXBwb3J0ZWQgYnkgRFNDIHBhbmVsIG9yIDAgaXRzIGludmFsaWQKPiArICovCj4gIHU4IGRy bV9kcF9kc2Nfc2lua19saW5lX2J1Zl9kZXB0aChjb25zdCB1OCBkc2NfZHBjZFtEUF9EU0NfUkVD RUlWRVJfQ0FQX1NJWkVdKQo+ICB7Cj4gIAl1OCBsaW5lX2J1Zl9kZXB0aCA9IGRzY19kcGNkW0RQ X0RTQ19MSU5FX0JVRl9CSVRfREVQVEggLSBEUF9EU0NfU1VQUE9SVF07Cj4gQEAgLTE0MzQsNiAr MTQ2MiwyMyBAQCB1OCBkcm1fZHBfZHNjX3NpbmtfbGluZV9idWZfZGVwdGgoY29uc3QgdTggZHNj X2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSkKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRy bV9kcF9kc2Nfc2lua19saW5lX2J1Zl9kZXB0aCk7Cj4gIAo+ICsvKioKPiArICogZHJtX2RwX2Rz Y19zaW5rX3N1cHBvcnRlZF9pbnB1dF9icGNzKCkgLSBHZXQgYWxsIHRoZSBpbnB1dCBiaXRzIHBl ciBjb21wb25lbnQKPiArICogdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgRFNDIHNpbmsuCj4gKyAq IEBkc2NfZHBjZDogRFNDIGNhcGFiaWxpdGllcyBmcm9tIERQQ0QKPiArICogQGRzY19icGM6IEFu IGFycmF5IHRvIGJlIGZpbGxlZCBieSB0aGlzIGhlbHBlciB3aXRoIHN1cHBvcnRlZAo+ICsgKiAg ICAgICAgICAgaW5wdXQgYnBjcy4KPiArICoKPiArICogUmVhZCB0aGUgRFNDIERQQ0QgZnJvbSB0 aGUgc2luayBkZXZpY2UgdG8gcGFyc2UgdGhlIHN1cHBvcnRlZCBiaXRzIHBlcgo+ICsgKiBjb21w b25lbnQgdmFsdWVzLiBUaGlzIGlzIHVzZWQgdG8gcG9wdWxhdGUgdGhlIERTQyBwYXJhbWV0ZXJz Cj4gKyAqIGluIHRoZSAmc3RydWN0IGRybV9kc2NfY29uZmlnIGJ5IHRoZSBkcml2ZXIuCj4gKyAq IERyaXZlciBjcmVhdGVzIGFuIGluZm9mcmFtZSB1c2luZyB0aGVzZSBwYXJhbWV0ZXJzIHRvIHBv cHVsYXRlCj4gKyAqICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lLiBUaGVzZSBhcmUgc2Vu dCB0byB0aGUgc2luayB1c2luZyBEU0MKPiArICogaW5mb2ZyYW1lIHVzaW5nIHRoZSBoZWxwZXIg ZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soKQo+ICsgKgo+ICsgKiBSZXR1cm5z Ogo+ICsgKiBOdW1iZXIgb2YgaW5wdXQgQlBDIHZhbHVlcyBwYXJzZWQgZnJvbSB0aGUgRFBDRAo+ ICsgKi8KPiAgaW50IGRybV9kcF9kc2Nfc2lua19zdXBwb3J0ZWRfaW5wdXRfYnBjcyhjb25zdCB1 OCBkc2NfZHBjZFtEUF9EU0NfUkVDRUlWRVJfQ0FQX1NJWkVdLAo+ICAJCQkJCSB1OCBkc2NfYnBj WzNdKQo+ICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCj4gaW5kZXggYmMyYjIzYWRiMDcyLi5iY2U5OWY5NWMxYTMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZHNjLmMKPiBAQCAtMTcsNiArMTcsMTIgQEAKPiAgLyoqCj4gICAqIERPQzog ZHNjIGhlbHBlcnMKPiAgICoKPiArICogVkVTQSBzcGVjaWZpY2F0aW9uIGZvciBEUCAxLjQgYWRk cyBhIG5ldyBmZWF0dXJlIGNhbGxlZCBEaXNwbGF5IFN0cmVhbQo+ICsgKiBDb21wcmVzc2lvbiAo RFNDKSB1c2VkIHRvIGNvbXByZXNzIHRoZSBwaXhlbCBiaXRzIGJlZm9yZSBzZW5kaW5nIGl0IG9u Cj4gKyAqIERQL2VEUC9NSVBJIERTSSBpbnRlcmZhY2UuIERTQyBpcyByZXF1aXJlZCB0byBiZSBl bmFibGVkIHNvIHRoYXQgdGhlIGV4aXN0aW5nCj4gKyAqIGRpc3BsYXkgaW50ZXJmYWNlcyBjYW4g c3VwcG9ydCBoaWdoIHJlc29sdXRpb25zIGF0IGhpZ2hlciBmcmFtZXMgcmF0ZXMgdWlzbmcKPiAr ICogdGhlIG1heGltdW0gYXZhaWxhYmxlIGxpbmsgY2FwYWNpdHkgb2YgdGhlc2UgaW50ZXJmYWNl cy4KPiArICoKPiAgICogVGhlc2UgZnVuY3Rpb25zIGNvbnRhaW4gc29tZSBjb21tb24gbG9naWMg YW5kIGhlbHBlcnMgdG8gZGVhbCB3aXRoIFZFU0EKPiAgICogRGlzcGxheSBTdHJlYW0gQ29tcHJl c3Npb24gc3RhbmRhcmQgcmVxdWlyZWQgZm9yIERTQyBvbiBEaXNwbGF5IFBvcnQvZURQIG9yCj4g ICAqIE1JUEkgZGlzcGxheSBpbnRlcmZhY2VzLgo+IEBAIC0yNiw2ICszMiwxMyBAQAo+ICAgKiBk cm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCgpIC0gSW5pdGlhbGl6ZXMgdGhlIFBQUyBIZWFkZXIK PiAgICogZm9yIERpc3BsYXlQb3J0IGFzIHBlciB0aGUgRFAgMS40IHNwZWMuCj4gICAqIEBwcHNf c2RwOiBTZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFtZXRlciBTZXQK PiArICogICAgICAgICAgIGFzIGRlZmluZWQgaW4gJnN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJh bWUKPiArICoKPiArICogRFAgMS40IHNwZWMgZGVmaW5lcyB0aGUgc2Vjb25kYXJ5IGRhdGEgcGFj a2V0IGZvciBzZW5kaW5nIHRoZQo+ICsgKiBwaWN0dXJlIHBhcmFtZXRlciBpbmZvZnJhbWVzIGZy b20gdGhlIHNvdXJjZSB0byB0aGUgc2luay4KPiArICogVGhpcyBmdW5jdGlvbiBwb3B1bGF0ZXMg dGhlIHBwcyBoZWFkZXIgZGVmaW5lZCBpbgo+ICsgKiAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9m cmFtZSBhcyBwZXIgdGhlIGhlYWRlciBieXRlcyBkZWZpbmVkCj4gKyAqIGluICZzdHJ1Y3QgZHBf c2RwX2hlYWRlci4KPiAgICovCj4gIHZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3Ry dWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCkKPiAgewo+IEBAIC0zOCwxNSArNTEs MjAgQEAgRVhQT1JUX1NZTUJPTChkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCk7Cj4gIAo+ICAv KioKPiAgICogZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soKSAtIFBvcHVsYXRlcyB0aGUgRFND IFBQUyBpbmZvZnJhbWUKPiAtICogdXNpbmcgdGhlIERTQyBjb25maWd1cmF0aW9uIHBhcmFtZXRl cnMgaW4gdGhlIG9yZGVyIGV4cGVjdGVkCj4gLSAqIGJ5IHRoZSBEU0MgRGlzcGxheSBTaW5rIGRl dmljZS4gRm9yIHRoZSBEU0MsIHRoZSBzaW5rIGRldmljZQo+IC0gKiBleHBlY3RzIHRoZSBQUFMg cGF5bG9hZCBpbiB0aGUgYmlnIGVuZGlhbiBmb3JtYXQgZm9yIHRoZSBmaWVsZHMKPiAtICogdGhh dCBzcGFuIG1vcmUgdGhhbiAxIGJ5dGUuCj4gICAqCj4gICAqIEBwcHNfc2RwOgo+IC0gKiBTZWNv bmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFtZXRlciBTZXQKPiArICogU2Vj b25kYXJ5IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0LiBUaGlzIGlz IGRlZmluZWQKPiArICogYnkgJnN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUKPiAgICogQGRz Y19jZmc6Cj4gLSAqIERTQyBDb25maWd1cmF0aW9uIGRhdGEgZmlsbGVkIGJ5IGRyaXZlcgo+ICsg KiBEU0MgQ29uZmlndXJhdGlvbiBkYXRhIGZpbGxlZCBieSBkcml2ZXIgYXMgZGVmaW5lZCBieQo+ ICsgKiAmc3RydWN0IGRybV9kc2NfY29uZmlnCj4gKyAqCj4gKyAqIERTQyBzb3VyY2UgZGV2aWNl IHNlbmRzIGEgc2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZpbGxlZCB3aXRoIGFsbCB0aGUKPiArICog cGljdHVyZSBwYXJhbWV0ZXIgc2V0IChQUFMpIGluZm9ybWF0aW9uIHJlcXVpcmVkIGJ5IHRoZSBz aW5rIHRvIGRlY29kZQo+ICsgKiB0aGUgY29tcHJlc3NlZCBmcmFtZS4gRHJpdmVyIHBvcHVsYXRl cyB0aGUgZHNDIFBQUyBpbmZvZnJhbWUgdXNpbmcgdGhlIERTQwo+ICsgKiBjb25maWd1cmF0aW9u IHBhcmFtZXRlcnMgaW4gdGhlIG9yZGVyIGV4cGVjdGVkIGJ5IHRoZSBEU0MgRGlzcGxheSBTaW5r Cj4gKyAqIGRldmljZS4gRm9yIHRoZSBEU0MsIHRoZSBzaW5rIGRldmljZSBleHBlY3RzIHRoZSBQ UFMgcGF5bG9hZCBpbiB0aGUgYmlnCj4gKyAqIGVuZGlhbiBmb3JtYXQgZm9yIHRoZSBmaWVsZHMg dGhhdCBzcGFuIG1vcmUgdGhhbiAxIGJ5dGUuCj4gICAqLwo+ICB2b2lkIGRybV9kc2NfcHBzX2lu Zm9mcmFtZV9wYWNrKHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHAsCj4gIAkJ CQljb25zdCBzdHJ1Y3QgZHJtX2RzY19jb25maWcgKmRzY19jZmcpCj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+ IGluZGV4IDVkYjdmYjhjOGI1MC4uMjcxMWNkZmEwYzEzIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9kcF9oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+ IEBAIC0xMDUyLDExICsxMDUyLDE4IEBAIGludCBkcm1fZHBfYndfY29kZV90b19saW5rX3JhdGUo dTggbGlua19idyk7Cj4gICNkZWZpbmUgRFBfU0RQX1ZTQ19FWFRfQ0VBCQkweDIxIC8qIERQIDEu NCAqLwo+ICAvKiAweDgwKyBDRUEtODYxIGluZm9mcmFtZSB0eXBlcyAqLwo+ICAKPiArLyoqCj4g KyAqIHN0cnVjdCBkcF9zZHBfaGVhZGVyIC0gRFAgc2Vjb25kYXJ5IGRhdGEgcGFja2V0IGhlYWRl cgo+ICsgKiBASEIwOiBTZWNvbmRhcnkgRGF0YSBQYWNrZXQgSUQKPiArICogQEhCMTogU2Vjb25k YXJ5IERhdGEgUGFja2V0IFR5cGUKPiArICogQEhCMjogU2Vjb25kYXJ5IERhdGEgUGFja2V0IFNw ZWNpZmljIGhlYWRlciwgQnl0ZSAwCj4gKyAqIEBIQjM6IFNlY29uZGFyeSBEYXRhIHBhY2tldCBT cGVjaWZpYyBoZWFkZXIsIEJ5dGUgMQo+ICsgKi8KPiAgc3RydWN0IGRwX3NkcF9oZWFkZXIgewo+ IC0JdTggSEIwOyAvKiBTZWNvbmRhcnkgRGF0YSBQYWNrZXQgSUQgKi8KPiAtCXU4IEhCMTsgLyog U2Vjb25kYXJ5IERhdGEgUGFja2V0IFR5cGUgKi8KPiAtCXU4IEhCMjsgLyogU2Vjb25kYXJ5IERh dGEgUGFja2V0IFNwZWNpZmljIGhlYWRlciwgQnl0ZSAwICovCj4gLQl1OCBIQjM7IC8qIFNlY29u ZGFyeSBEYXRhIHBhY2tldCBTcGVjaWZpYyBoZWFkZXIsIEJ5dGUgMSAqLwo+ICsJdTggSEIwOwo+ ICsJdTggSEIxOwo+ICsJdTggSEIyOwo+ICsJdTggSEIzOwo+ICB9IF9fcGFja2VkOwo+ICAKPiAg I2RlZmluZSBFRFBfU0RQX0hFQURFUl9SRVZJU0lPTl9NQVNLCQkweDFGCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9kc2MuaCBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+IGluZGV4IGQw M2YxYjgzNDIxYS4uOGM2YTE4MDc5MDg2IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9k c2MuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+IEBAIC00NCwxMTEgKzQ0LDIyNCBA QAo+ICAjZGVmaW5lIERTQ18xXzJfTUFYX0xJTkVCVUZfREVQVEhfVkFMCQkwCj4gICNkZWZpbmUg RFNDXzFfMV9NQVhfTElORUJVRl9ERVBUSF9CSVRTCQkxMwo+ICAKPiAtLyogQ29uZmlndXJhdGlv biBmb3IgYSBzaW5nbGUgUmF0ZSBDb250cm9sIG1vZGVsIHJhbmdlICovCj4gKy8qKgo+ICsgKiBz dHJ1Y3QgZHJtX2RzY19yY19yYW5nZV9wYXJhbWV0ZXJzIC0gRFNDIFJhdGUgQ29udHJvbCByYW5n ZSBwYXJhbWV0ZXJzCj4gKyAqCj4gKyAqIFRoaXMgZGVmaW5lcyBkaWZmZXJlbnQgcmF0ZSBjb250 cm9sIHBhcmFtZXRlcnMgdXNlZCBieSB0aGUgRFNDIGVuZ2luZQo+ICsgKiB0byBjb21wcmVzcyB0 aGUgZnJhbWUuCj4gKyAqLwo+ICBzdHJ1Y3QgZHJtX2RzY19yY19yYW5nZV9wYXJhbWV0ZXJzIHsK PiAtCS8qIE1pbiBRdWFudGl6YXRpb24gUGFyYW1ldGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdl ICovCj4gKwkvKioKPiArCSAqIEByYW5nZV9taW5fcXA6ICBNaW4gUXVhbnRpemF0aW9uIFBhcmFt ZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZQo+ICsJICovCj4gIAl1OCByYW5nZV9taW5fcXA7 Cj4gLQkvKiBNYXggUXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5n ZSAqLwo+ICsJLyoqCj4gKwkgKiBAcmFuZ2VfbWF4X3FwOiBNYXggUXVhbnRpemF0aW9uIFBhcmFt ZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZQo+ICsJICovCj4gIAl1OCByYW5nZV9tYXhfcXA7 Cj4gLQkvKiBCaXRzL2dyb3VwIG9mZnNldCB0byBhcHBseSB0byB0YXJnZXQgZm9yIHRoaXMgZ3Jv dXAgKi8KPiArCS8qKgo+ICsJICogQHJhbmdlX2JwZ19vZmZzZXQ6IEJpdHMvZ3JvdXAgb2Zmc2V0 IHRvIGFwcGx5IHRvIHRhcmdldCBmb3IgdGhpcwo+ICsJICogICAgICAgICAgICAgICAgICAgIGdy b3VwCj4gKwkgKi8KPiAgCXU4IHJhbmdlX2JwZ19vZmZzZXQ7Cj4gIH07Cj4gIAo+ICsvKioKPiAr ICogc3RydWN0IGRybV9kc2NfY29uZmlnIC0gUGFyYW1ldGVycyByZXF1aXJlZCB0byBjb25maWd1 cmUgRFNDCj4gKyAqCj4gKyAqIERyaXZlciBwb3B1bGF0ZXMgdGhpcyBzdHJ1Y3R1cmUgd2l0aCBh bGwgdGhlIHBhcmFtZXRlcnMgcmVxdWlyZWQKPiArICogdG8gY29uZmlndXJlIHRoZSBkaXNwbGF5 IHN0cmVhbSBjb21wcmVzc2lvbiBvbiB0aGUgc291cmNlLgo+ICsgKi8KPiAgc3RydWN0IGRybV9k c2NfY29uZmlnIHsKPiAtCS8qIEJpdHMgLyBjb21wb25lbnQgZm9yIHByZXZpb3VzIHJlY29uc3Ry dWN0ZWQgbGluZSBidWZmZXIgKi8KPiArCS8qKgo+ICsJICogQGxpbmVfYnVmX2RlcHRoOiBCaXRz IC8gY29tcG9uZW50IGZvciBwcmV2aW91cyByZWNvbnN0cnVjdGVkIGxpbmUKPiArCSAqICAgICAg ICAgICAgICAgICAgYnVmZmVyCj4gKwkgKi8KPiAgCXU4IGxpbmVfYnVmX2RlcHRoOwo+IC0JLyog Qml0cyBwZXIgY29tcG9uZW50IHRvIGNvZGUgKG11c3QgYmUgOCwgMTAsIG9yIDEyKSAqLwo+ICsJ LyoqCj4gKwkgKiBAYml0c19wZXJfY29tcG9uZW50OiBCaXRzIHBlciBjb21wb25lbnQgdG8gY29k ZSAoOC8xMC8xMikKPiArCSAqLwo+ICAJdTggYml0c19wZXJfY29tcG9uZW50Owo+IC0JLyoKPiAt CSAqIEZsYWcgaW5kaWNhdGluZyB0byBkbyBSR0IgLSBZQ29DZyBjb252ZXJzaW9uCj4gLQkgKiBh bmQgYmFjayAoc2hvdWxkIGJlIDEgZm9yIFJHQiBpbnB1dCkKPiArCS8qKgo+ICsJICogQGNvbnZl cnRfcmdiOiBGbGFnIHRvIGluZGljYXRlIGlmIFJHQiAtIFlDb0NnIGNvbnZlcnNpb24gaXMgbmVl ZGVkCj4gKwkgKiAgICAgICAgICAgICAgIFRydWUgaWYgUkdCIGlucHV0LCBGYWxzZSBpZiBZQ29D ZyBpbnB1dAo+ICAJICovCj4gIAlib29sIGNvbnZlcnRfcmdiOwo+ICsJLyoqCj4gKwkgKiBAc2xp Y2VfY291bnQ6IE51bWJlciBmbyBzbGljZXMgcGVyIGxpbmUgdXNlZCBieSB0aGUgRFNDIGVuY29k ZXIKPiArCSAqLwo+ICAJdTggc2xpY2VfY291bnQ7Cj4gLQkvKiBTbGljZSBXaWR0aCAqLwo+ICsJ LyoqCj4gKwkgKiAgQHNsaWNlX3dpZHRoOiBXaWR0aCBvZiBlYWNoIHNsaWNlIGluIHBpeGVscwo+ ICsJICovCj4gIAl1MTYgc2xpY2Vfd2lkdGg7Cj4gLQkvKiBTbGljZSBIZWlnaHQgKi8KPiArCS8q Kgo+ICsJICogQHNsaWNlX2hlaWdodDogU2xpY2UgaGVpZ2h0IGluIHBpeGVscwo+ICsJICovCj4g IAl1MTYgc2xpY2VfaGVpZ2h0Owo+IC0JLyoKPiAtCSAqIDQ6MjoyIGVuYWJsZSBtb2RlIChmcm9t IFBQUywgNDoyOjIgY29udmVyc2lvbiBoYXBwZW5zCj4gLQkgKiBvdXRzaWRlIG9mIERTQyBlbmNv ZGUvZGVjb2RlIGFsZ29yaXRobSkKPiArCS8qKgo+ICsJICogQGVuYWJsZTQyMjogVHJ1ZSBmb3Ig NF8yXzIgc2FtcGxpbmcsIGZhbHNlIGZvciA0XzRfNCBzYW1wbGluZwo+ICAJICovCj4gIAlib29s IGVuYWJsZTQyMjsKPiAtCS8qIFBpY3R1cmUgV2lkdGggKi8KPiArCS8qKgo+ICsJICogQHBpY193 aWR0aDogV2lkdGggb2YgdGhlIGlucHV0IGRpc3BsYXkgZnJhbWUgaW4gcGl4ZWxzCj4gKwkgKi8K PiAgCXUxNiBwaWNfd2lkdGg7Cj4gLQkvKiBQaWN0dXJlIEhlaWdodCAqLwo+ICsJLyoqCj4gKwkg KiBAcGljX2hlaWdodDogVmVydGljYWwgaGVpZ2h0IG9mIHRoZSBpbnB1dCBkaXNwbGF5IGZyYW1l Cj4gKwkgKi8KPiAgCXUxNiBwaWNfaGVpZ2h0Owo+IC0JLyogT2Zmc2V0IHRvIGJpdHMvZ3JvdXAg dXNlZCBieSBSQyB0byBkZXRlcm1pbmUgUVAgYWRqdXN0bWVudCAqLwo+ICsJLyoqCj4gKwkgKiBA cmNfdGd0X29mZnNldF9oaWdoOiBPZmZzZXQgdG8gYml0cy9ncm91cCB1c2VkIGJ5IFJDIHRvIGRl dGVybWluZSBRUAo+ICsJICogICAgICAgICAgICAgICAgICAgICAgYWRqdXN0bWVudAo+ICsJICov Cj4gIAl1OCByY190Z3Rfb2Zmc2V0X2hpZ2g7Cj4gLQkvKiBPZmZzZXQgdG8gYml0cy9ncm91cCB1 c2VkIGJ5IFJDIHRvIGRldGVybWluZSBRUCBhZGp1c3RtZW50ICovCj4gKwkvKioKPiArCSAqIEBy Y190Z3Rfb2Zmc2V0X2xvdzogT2Zmc2V0IHRvIGJpdHMvZ3JvdXAgdXNlZCBieSBSQyB0byBkZXRl cm1pbmUgUVAKPiArCSAqICAgICAgICAgICAgICAgICAgICAgYWRqdXN0bWVudAo+ICsJICovCj4g IAl1OCByY190Z3Rfb2Zmc2V0X2xvdzsKPiAtCS8qIEJpdHMvcGl4ZWwgdGFyZ2V0IDw8IDQgKGll LiwgNCBmcmFjdGlvbmFsIGJpdHMpICovCj4gKwkvKioKPiArCSAqIEBiaXRzX3Blcl9waXhlbDog VGFyZ2V0IGJpdHMgcGVyIHBpeGVsIHdpdGggNCBmcmFjdGlvbmFsIGJpdHMuCj4gKwkgKiAgICAg ICAgICAgICAgICAgICBiaXRzX3Blcl9waXhlbCA8PCA0Cj4gKwkgKi8KPiAgCXUxNiBiaXRzX3Bl cl9waXhlbDsKPiAtCS8qCj4gLQkgKiBGYWN0b3IgdG8gZGV0ZXJtaW5lIGlmIGFuIGVkZ2UgaXMg cHJlc2VudCBiYXNlZAo+IC0JICogb24gdGhlIGJpdHMgcHJvZHVjZWQKPiArCS8qKgo+ICsJICog QHJjX2VkZ2VfZmFjdG9yOiBGYWN0b3IgdG8gZGV0ZXJtaW5lIGlmIGFuIGVkZ2UgaXMgcHJlc2Vu dCBiYXNlZCBvbiB0aGUKPiArCSAqICAgICAgICAgICAgICAgICAgYml0cyBwcm9kdWNlZAo+ICAJ ICovCj4gIAl1OCByY19lZGdlX2ZhY3RvcjsKPiAtCS8qIFNsb3cgZG93biBpbmNyZW1lbnRpbmcg b25jZSB0aGUgcmFuZ2UgcmVhY2hlcyB0aGlzIHZhbHVlICovCj4gKwkvKioKPiArCSAqIEByY19x dWFudF9pbmNyX2xpbWl0MTogU2xvdyBkb3duIGluY3JlbWVudGluZyBvbmNlIHRoZSByYW5nZSBy ZWFjaGVzIHRoaXMKPiArCSAqICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKPiArCSAqLwo+ ICAJdTggcmNfcXVhbnRfaW5jcl9saW1pdDE7Cj4gLQkvKiBTbG93IGRvd24gaW5jcmVtZW50aW5n IG9uY2UgdGhlIHJhbmdlIHJlYWNoZXMgdGhpcyB2YWx1ZSAqLwo+ICsJLyoqCj4gKwkgKiBAcmNf cXVhbnRfaW5jcl9saW1pdDA6IFNsb3cgZG93biBpbmNyZW1lbnRpbmcgb25jZSB0aGUgcmFuZ2Ug cmVhY2hlcyB0aGlzCj4gKwkgKiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCj4gKwkgKi8K PiAgCXU4IHJjX3F1YW50X2luY3JfbGltaXQwOwo+IC0JLyogTnVtYmVyIG9mIHBpeGVscyB0byBk ZWxheSB0aGUgaW5pdGlhbCB0cmFuc21pc3Npb24gKi8KPiArCS8qKgo+ICsJICogQGluaXRpYWxf eG1pdF9kZWxheTogTnVtYmVyIG9mIHBpeGVscyB0byBkZWxheSB0aGUgaW5pdGlhbCB0cmFuc21p c3Npb24KPiArCSAqLwo+ICAJdTE2IGluaXRpYWxfeG1pdF9kZWxheTsKPiAtCS8qIE51bWJlciBv ZiBwaXhlbHMgdG8gZGVsYXkgdGhlIFZMRCBvbiB0aGUgZGVjb2Rlcixub3QgaW5jbHVkaW5nIFNT TSAqLwo+ICsJLyoqCj4gKwkgKiBAaW5pdGlhbF9kZWNfZGVsYXk6IEluaXRpYWwgZGVjb2RlciBk ZWxheSwgbnVtYmVyIG9mIHBpeGVsIHRpbWVzIHRoYXQgdGhlCj4gKwkgKiAgICAgICAgICAgICAg ICAgICAgIGRlY29lciBhY2N1bXVsYXRlcyBkYXRhIGluIGl0cyByYXRlIGJ1ZmZlciBiZWZvcmUK PiArCSAqICAgICAgICAgICAgICAgICAgICAgc3RhcnRpbmcgdG8gZGVjb2RlIGFuZCBvdXRwdXQg cGl4ZWxzLgo+ICsJICovCj4gIAl1MTYgIGluaXRpYWxfZGVjX2RlbGF5Owo+IC0JLyogQmxvY2sg cHJlZGljdGlvbiBlbmFibGUgKi8KPiArCS8qKgo+ICsJICogQGJsb2NrX3ByZWRfZW5hYmxlOiBU cnVlIGlmIGJsb2NrIHByZWRpY3Rpb24gaXMgdXNlZCB0byBjb2RlIGFueSBncm91cHMKPiArCSAq ICAgICAgICAgICAgICAgICAgICAgd2l0aGluIHRoZSBwaWN0dXJlLgo+ICsJICogICAgICAgICAg ICAgICAgICAgICBGYWxzZSBpZiBCUCBub3QgdXNlZAo+ICsJICovCj4gIAlib29sIGJsb2NrX3By ZWRfZW5hYmxlOwo+IC0JLyogQml0cy9ncm91cCBvZmZzZXQgdG8gdXNlIGZvciBmaXJzdCBsaW5l IG9mIHRoZSBzbGljZSAqLwo+ICsJLyoqCj4gKwkgKiBAZmlyc3RfbGluZV9icGdfb2Zmc2V0OiBO dW1iZXIgb2YgYWRkaXRpb25hbCBiaXRzIGFsbG9jYXRlZCBmb3IgZWFjaCBncm91cCBvbgo+ICsJ ICogICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZpcnN0IGxpbmUgb2Ygc2xpY2UuCj4gKwkg Ki8KPiAgCXU4IGZpcnN0X2xpbmVfYnBnX29mZnNldDsKPiAtCS8qIFZhbHVlIHRvIHVzZSBmb3Ig UkMgbW9kZWwgb2Zmc2V0IGF0IHNsaWNlIHN0YXJ0ICovCj4gKwkvKioKPiArCSAqIEBpbml0aWFs X29mZnNldDogVmFsdWUgdG8gdXNlIGZvciBSQyBtb2RlbCBvZmZzZXQgYXQgc2xpY2Ugc3RhcnQK PiArCSAqLwo+ICAJdTE2IGluaXRpYWxfb2Zmc2V0Owo+IC0JLyogVGhyZXNob2xkcyBkZWZpbmlu ZyBlYWNoIG9mIHRoZSBidWZmZXIgcmFuZ2VzICovCj4gKwkvKioKPiArCSAqIEByY19idWZfdGhy ZXNoOiBUaHJlc2hvbGRzIGRlZmluaW5nIGVhY2ggb2YgdGhlIGJ1ZmZlciByYW5nZXMKPiArCSAq Lwo+ICAJdTE2IHJjX2J1Zl90aHJlc2hbRFNDX05VTV9CVUZfUkFOR0VTIC0gMV07Cj4gLQkvKiBQ YXJhbWV0ZXJzIGZvciBlYWNoIG9mIHRoZSBSQyByYW5nZXMgKi8KPiArCS8qKgo+ICsJICogQHJj X3JhbmdlX3BhcmFtczogUGFyYW1ldGVycyBmb3IgZWFjaCBvZiB0aGUgUkMgcmFuZ2VzIGRlZmlu ZWQgaW4KPiArCSAqICAgICAgICAgICAgICAgICAgICZzdHJ1Y3QgZHJtX2RzY19yY19yYW5nZV9w YXJhbWV0ZXJzCj4gKwkgKi8KPiAgCXN0cnVjdCBkcm1fZHNjX3JjX3JhbmdlX3BhcmFtZXRlcnMg cmNfcmFuZ2VfcGFyYW1zW0RTQ19OVU1fQlVGX1JBTkdFU107Cj4gLQkvKiBUb3RhbCBzaXplIG9m IFJDIG1vZGVsICovCj4gKwkvKioKPiArCSAqIEByY19tb2RlbF9zaXplOiBUb3RhbCBzaXplIG9m IFJDIG1vZGVsCj4gKwkgKi8KPiAgCXUxNiByY19tb2RlbF9zaXplOwo+IC0JLyogTWluaW11bSBR UCB3aGVyZSBmbGF0bmVzcyBpbmZvcm1hdGlvbiBpcyBzZW50ICovCj4gKwkvKioKPiArCSAqIEBm bGF0bmVzc19taW5fcXA6IE1pbmltdW0gUVAgd2hlcmUgZmxhdG5lc3MgaW5mb3JtYXRpb24gaXMg c2VudAo+ICsJICovCj4gIAl1OCBmbGF0bmVzc19taW5fcXA7Cj4gLQkvKiBNYXhpbXVtIFFQIHdo ZXJlIGZsYXRuZXNzIGluZm9ybWF0aW9uIGlzIHNlbnQgKi8KPiArCS8qKgo+ICsJICogQGZsYXRu ZXNzX21heF9xcDogTWF4aW11bSBRUCB3aGVyZSBmbGF0bmVzcyBpbmZvcm1hdGlvbiBpcyBzZW50 Cj4gKwkgKi8KPiAgCXU4IGZsYXRuZXNzX21heF9xcDsKPiAtCS8qIEluaXRpYWwgdmFsdWUgZm9y IHNjYWxlIGZhY3RvciAqLwo+ICsJLyoqCj4gKwkgKiBAaW5pdGlhbF9zY2FsZV92YWx1ZTogSW5p dGlhbCB2YWx1ZSBmb3IgdGhlIHNjYWxlIGZhY3Rvcgo+ICsJICovCj4gIAl1OCBpbml0aWFsX3Nj YWxlX3ZhbHVlOwo+IC0JLyogRGVjcmVtZW50IHNjYWxlIGZhY3RvciBldmVyeSBzY2FsZV9kZWNy ZW1lbnRfaW50ZXJ2YWwgZ3JvdXBzICovCj4gKwkvKioKPiArCSAqIEBzY2FsZV9kZWNyZW1lbnRf aW50ZXJ2YWw6IFNwZWNpZmllcyBudW1iZXIgb2YgZ3JvdXAgdGltZXMgYmV0d2Vlbgo+ICsJICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjcmVtZW50aW5nIHRoZSBzY2FsZSBmYWN0b3Ig YXQgYmVnaW5uaW5nCj4gKwkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhIHNsaWNl Lgo+ICsJICovCj4gIAl1MTYgc2NhbGVfZGVjcmVtZW50X2ludGVydmFsOwo+IC0JLyogSW5jcmVt ZW50IHNjYWxlIGZhY3RvciBldmVyeSBzY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWwgZ3JvdXBzICov Cj4gKwkvKioKPiArCSAqIEBzY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWw6IE51bWJlciBvZiBncm91 cCB0aW1lcyBiZXR3ZWVuIGluY3JlbWVudGluZwo+ICsJICogICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGhlIHNjYWxlIGZhY3RvciB2YWx1ZSB1c2VkIGF0IHRoZSBiZWdpbm5pbmcKPiArCSAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGEgc2xpY2UuCj4gKwkgKi8KPiAgCXUxNiBz Y2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWw7Cj4gLQkvKiBOb24tZmlyc3QgbGluZSBCUEcgb2Zmc2V0 IHRvIHVzZSAqLwo+ICsJLyoqCj4gKwkgKiBAbmZsX2JwZ19vZmZzZXQ6IE5vbiBmaXJzdCBsaW5l IEJQRyBvZmZzZXQgdG8gYmUgdXNlZAo+ICsJICovCj4gIAl1MTYgbmZsX2JwZ19vZmZzZXQ7Cj4g LQkvKiBCUEcgb2Zmc2V0IHVzZWQgdG8gZW5mb3JjZSBzbGljZSBiaXQgKi8KPiArCS8qKgo+ICsJ ICogQHNsaWNlX2JwZ19vZmZzZXQ6IEJQRyBvZmZzZXQgdXNlZCB0byBlbmZvcmNlIHNsaWNlIGJp dAo+ICsJICovCj4gIAl1MTYgc2xpY2VfYnBnX29mZnNldDsKPiAtCS8qIEZpbmFsIFJDIGxpbmVh ciB0cmFuc2Zvcm1hdGlvbiBvZmZzZXQgdmFsdWUgKi8KPiArCS8qKgo+ICsJICogQGZpbmFsX29m ZnNldDogRmluYWwgUkMgbGluZWFyIHRyYW5zZm9ybWF0aW9uIG9mZnNldCB2YWx1ZQo+ICsJICov Cj4gIAl1MTYgZmluYWxfb2Zmc2V0Owo+IC0JLyogRW5hYmxlIG9uLW9mZiBWQlIgKGllLiwgZGlz YWJsZSBzdHVmZmluZyBiaXRzKSAqLwo+ICsJLyoqCj4gKwkgKiBAdmJyX2VuYWJsZTogVHJ1ZSBp ZiBWQlIgbW9kZSBpcyBlbmFibGVkLCBmYWxzZSBpZiBkaXNhYmxlZAo+ICsJICovCj4gIAlib29s IHZicl9lbmFibGU7Cj4gLQkvKiBNdXggd29yZCBzaXplIChpbiBiaXRzKSBmb3IgU1NNIG1vZGUg Ki8KPiArCS8qKgo+ICsJICogQG11eF93b3JkX3NpemU6IE11eCB3b3JkIHNpemUgKGluIGJpdHMp IGZvciBTU00gbW9kZQo+ICsJICovCj4gIAl1OCBtdXhfd29yZF9zaXplOwo+IC0JLyoKPiAtCSAq IFRoZSAobWF4KSBzaXplIGluIGJ5dGVzIG9mIHRoZSAiY2h1bmtzIiB0aGF0IGFyZQo+IC0JICog dXNlZCBpbiBzbGljZSBtdWx0aXBsZXhpbmcKPiArCS8qKgo+ICsJICogQHNsaWNlX2NodW5rX3Np emU6IFRoZSAobWF4KSBzaXplIGluIGJ5dGVzIG9mIHRoZSAiY2h1bmtzIiB0aGF0IGFyZQo+ICsJ ICogICAgICAgICAgICAgICAgICAgIHVzZWQgaW4gc2xpY2UgbXVsdGlwbGV4aW5nLgo+ICAJICov Cj4gIAl1MTYgc2xpY2VfY2h1bmtfc2l6ZTsKPiAtCS8qIFJhdGUgQ29udHJvbCBidWZmZXIgc2l6 IGluIGJpdHMgKi8KPiArCS8qKgo+ICsJICogQHJjX2JpdHM6IFJhdGUgY29udHJvbCBidWZmZXIg c2l6ZSBpbiBiaXRzCj4gKwkgKi8KPiAgCXUxNiByY19iaXRzOwo+IC0JLyogRFNDIE1pbm9yIFZl cnNpb24gKi8KPiArCS8qKgo+ICsJICogQGRzY192ZXJzaW9uX21pbm9yOiBEU0MgbWlub3IgdmVy c2lvbgo+ICsJICovCj4gIAl1OCBkc2NfdmVyc2lvbl9taW5vcjsKPiAtCS8qIERTQyBNYWpvciB2 ZXJzaW9uICovCj4gKwkvKioKPiArCSAqIEBkc2NfdmVyc2lvbl9tYWpvcjogRFNDIG1ham9yIHZl cnNpb24KPiArCSAqLwo+ICAJdTggZHNjX3ZlcnNpb25fbWFqb3I7Cj4gLQkvKiBOYXRpdmUgNDoy OjIgc3VwcG9ydCAqLwo+ICsJLyoqCj4gKwkgKiBAbmF0aXZlXzQyMjogVHJ1ZSBpZiBOYXRpdmUg NDoyOjIgc3VwcG9ydGVkLCBlbHNlIGZhbHNlCj4gKwkgKi8KPiAgCWJvb2wgbmF0aXZlXzQyMjsK PiAtCS8qIE5hdGl2ZSA0OjI6MCBzdXBwb3J0ICovCj4gKwkvKioKPiArCSAqIEBuYXRpdmVfNDIw OiBUcnVlIGlmIE5hdGl2ZSA0OjI6MCBzdXBwb3J0ZWQgZWxzZSBmYWxzZS4KPiArCSAqLwo+ICAJ Ym9vbCBuYXRpdmVfNDIwOwo+IC0JLyogQWRkaXRpb25hbCBiaXRzL2dycCBmb3Igc2Vjb25uZCBs aW5lIG9mIHNsaWNlIGZvciBuYXRpdmUgNDoyOjAgKi8KPiArCS8qKgo+ICsJICogQHNlY29uZF9s aW5lX2JwZ19vZmZzZXQ6IEFkZGl0aW9uYWwgYml0cy9ncnAgZm9yIHNlY29ubmQgbGluZSBvZiBz bGljZSBmb3IKPiArCSAqICAgICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmUgNDoyOjAKPiAr CSAqLwo+ICAJdTggc2Vjb25kX2xpbmVfYnBnX29mZnNldDsKPiAtCS8qIE51bSBvZiBiaXRzIGRl YWxsb2NhdGVkIGZvciBlYWNoIGdycCB0aGF0IGlzIG5vdCBpbiBzZWNvbmQgbGluZSBvZiBzbGlj ZSAqLwo+ICsJLyoqCj4gKwkgKiBAbnNsX2JwZ19vZmZzZXQ6IE51bSBvZiBiaXRzIGRlYWxsb2Nh dGVkIGZvciBlYWNoIGdycCB0aGF0IGlzIG5vdCBpbiBzZWNvbmQKPiArCSAqICAgICAgICAgICAg ICAgICAgbGluZSBvZiBzbGljZQo+ICsJICovCj4gIAl1MTYgbnNsX2JwZ19vZmZzZXQ7Cj4gLQkv KiBPZmZzZXQgYWRqIGZyIHNlY29uZCBsaW5lIGluIE5hdGl2ZSA0OjI6MCBtb2RlICovCj4gKwkv KioKPiArCSAqIEBzZWNvbmRfbGluZV9vZmZzZXRfYWRqOiBPZmZzZXQgYWRqdXN0bWVudCBmb3Ig c2Vjb25kIGxpbmUgaW4gTmF0aXZlIDQ6MjowCj4gKwkgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgbW9kZQo+ICsJICovCj4gIAl1MTYgc2Vjb25kX2xpbmVfb2Zmc2V0X2FkajsKPiAgfTsKPiAg Cj4gQEAgLTQ2OCwxMCArNTgxLDEzIEBAIHN0cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVy X3NldCB7Cj4gICAqIFRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIERTQyBQUFMgaW5mb2Zy YW1lIHJlcXVpcmVkIHRvIHNlbmQgdGhlIFBpY3R1cmUKPiAgICogUGFyYW1ldGVyIFNldCBtZXRh ZGF0YSByZXF1aXJlZCBiZWZvcmUgZW5hYmxpbmcgVkVTQSBEaXNwbGF5IFN0cmVhbQo+ICAgKiBD b21wcmVzc2lvbi4gVGhpcyBpcyBiYXNlZCBvbiB0aGUgRFAgU2Vjb25kYXJ5IERhdGEgUGFja2V0 IHN0cnVjdHVyZSBhbmQKPiAtICogY29tcHJpc2VzIG9mIFNEUCBIZWFkZXIgYXMgZGVmaW5lZCBp biBkcm1fZHBfaGVscGVyLmggYW5kIFBQUyBwYXlsb2FkLgo+ICsgKiBjb21wcmlzZXMgb2YgU0RQ IEhlYWRlciBhcyBkZWZpbmVkICZzdHJ1Y3Qgc3RydWN0IGRwX3NkcF9oZWFkZXIgaW4gZHJtX2Rw X2hlbHBlci5oCj4gKyAqIGFuZCBQUFMgcGF5bG9hZCBkZWZpbmVkIGluICZzdHJ1Y3QgZHJtX2Rz Y19waWN0dXJlX3BhcmFtZXRlcl9zZXQuCj4gICAqCj4gLSAqIEBwcHNfaGVhZGVyOiBIZWFkZXIg Zm9yIFBQUyBhcyBwZXIgRFAgU0RQIGhlYWRlciBmb3JtYXQKPiArICogQHBwc19oZWFkZXI6IEhl YWRlciBmb3IgUFBTIGFzIHBlciBEUCBTRFAgaGVhZGVyIGZvcm1hdCBvZiB0eXBlCj4gKyAqICAg ICAgICAgICAgICAmc3RydWN0IGRwX3NkcF9oZWFkZXIKPiAgICogQHBwc19wYXlsb2FkOiBQUFMg cGF5bG9hZCBmaWVsZHMgYXMgcGVyIERTQyBzcGVjaWZpY2F0aW9uIFRhYmxlIDQtMQo+ICsgKiAg ICAgICAgICAgICAgIGFzIHJlcHJlc2VudGVkIGluICZzdHJ1Y3QgZHJtX2RzY19waWN0dXJlX3Bh cmFtZXRlcl9zZXQKPiAgICovCj4gIHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgewo+ICAJ c3RydWN0IGRwX3NkcF9oZWFkZXIgcHBzX2hlYWRlcjsKPiAtLSAKPiAyLjE5LjEKPiAKCi0tIApT ZWFuIFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK