From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm: Trivial comment grammar cleanups Date: Mon, 4 Feb 2019 10:23:15 +0100 Message-ID: <20190204092315.GL3271@phenom.ffwll.local> References: <20190202012326.20096-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) by gabe.freedesktop.org (Postfix) with ESMTPS id 730696E451 for ; Mon, 4 Feb 2019 09:23:20 +0000 (UTC) Received: by mail-ed1-x533.google.com with SMTP id y20so10570480edw.9 for ; Mon, 04 Feb 2019 01:23:20 -0800 (PST) Content-Disposition: inline In-Reply-To: <20190202012326.20096-1-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matt Roper Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBGZWIgMDEsIDIwMTkgYXQgMDU6MjM6MjZQTSAtMDgwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBNb3N0IG9mIHRoZXNlIGFyZSBqdXN0IGNhc2VzIHdoZXJlIGNvZGUgY29tbWVudHMgdXNl ZCBjb250cmFjdGlvbnMKPiAoaXQncywgd2hvJ3MpIHdoZXJlIHRoZXkgYWN0dWFsbHkgbWVhbiB0 byB1c2UgYSBwb3NzZXNzaXZlIHByb25vdW4gKGl0cywKPiB3aG9zZSkgb3IgdmljZS12ZXJzYS4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29t Pgo+IC0tLQo+IEEgY291cGxlIG9mIHRoZXNlIHdlcmUgYnVnZ2luZyBtZSBlbm91Z2ggdGhhdCBJ IGRpZCBhIHF1aWNrIHNlYXJjaCBmb3IKPiBvdGhlciBzaW1pbGFyIG1pc3Rha2VzIGluIHRoZSBE Uk0gY29yZS4gIEknbSBzdXJlIHRoZXJlIGFyZSBwbGVudHkgbW9yZQo+IGluIHRoZSB2YXJpb3Vz IGRyaXZlciB0cmVlcyB0aGF0IGNvdWxkIGJlIGNsZWFuZWQgdXAgaWYgc29tZW9uZSB3YW50ZWQK PiB0byBzcGVuZCB0aGUgdGltZSB0byB0cmFjayB0aGVtIGRvd24uCgpTb21lb25lIHJlYWRpbmcg dGhlIGRvY3MsIHlheSEgVGhhbmtzIGZvciB0aGUgcGF0Y2gsIGFwcGxpZWQgdG8KZHJtLW1pc2Mt bmV4dC4KLURhbmllbAoKPiAKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMgICAg ICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAg fCAgOCArKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgICAgICAg IHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYyAgICAgICAgICAgICAgIHwg IDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICAgICAgIHwgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYyAgICB8IDMwICsrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBl ci5jICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMgICAgICAg ICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYyAgICAg ICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2dlbS5jICAgICAgICAgICAgICAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jICAgICAgICAgICAgICAgICB8ICAyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyAgICAgICAgICAgICAgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX3Byb3BlcnR5LmMgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2RybV92YmxhbmsuYyAgICAgICAgICAgICB8ICAyICstCj4gIGluY2x1ZGUvZHJt L2RybV9hdG9taWMuaCAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBpbmNsdWRlL2RybS9kcm1f Y2xpZW50LmggICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oICAgICAgICAgICAgICB8ICAyICstCj4gIGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZp Zy5oICAgICAgICAgICAgfCAgMiArLQo+ICBpbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJf dnRhYmxlcy5oIHwgIDIgKy0KPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfbG9jay5oICAgICAg ICAgICB8ICAyICstCj4gIGluY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmggICAgICAgICAg fCAgMiArLQo+ICAyMSBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYwo+IGluZGV4IDczN2YwMjg4NWMyOC4u NDBmYmExYzA0ZGZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYWdwc3VwcG9y dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMKPiBAQCAtMzQ4LDcg KzM0OCw3IEBAIGludCBkcm1fYWdwX2JpbmRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKPiAgICogXHJldHVybiB6ZXJvIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBu dW1iZXIgb24gZmFpbHVyZS4KPiAgICoKPiAgICogVmVyaWZpZXMgdGhlIEFHUCBkZXZpY2UgaXMg cHJlc2VudCBhbmQgaGFzIGJlZW4gYWNxdWlyZWQgYW5kIGxvb2tzIHVwIHRoZQo+IC0gKiBBR1Ag bWVtb3J5IGVudHJ5LiBJZiB0aGUgbWVtb3J5IGl0J3MgY3VycmVudGx5IGJvdW5kLCB1bmJpbmQg aXQgdmlhCj4gKyAqIEFHUCBtZW1vcnkgZW50cnkuIElmIHRoZSBtZW1vcnkgaXMgY3VycmVudGx5 IGJvdW5kLCB1bmJpbmQgaXQgdmlhCj4gICAqIHVuYmluZF9hZ3AoKS4gRnJlZXMgaXQgdmlhIGZy ZWVfYWdwKCkgYXMgd2VsbCBhcyB0aGUgZW50cnkgaXRzZWxmCj4gICAqIGFuZCB1bmxpbmtzIGZy b20gdGhlIGRvdWJseSBsaW5rZWQgbGlzdCBpdCdzIGluc2VydGVkIGluLgo+ICAgKi8KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IDZmZTIzMDNmY2NkOS4uNDQwY2ZhOTEx NjJhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBAQCAtMzMwLDcgKzMz MCw3IEBAIHVwZGF0ZV9jb25uZWN0b3Jfcm91dGluZyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4gIAkgKiBTaW5jZSB0aGUgY29ubmVjdG9yIGNhbiBiZSB1bnJlZ2lzdGVyZWQgYXQg YW55IHBvaW50IGR1cmluZyBhbgo+ICAJICogYXRvbWljIGNoZWNrIG9yIGNvbW1pdCwgdGhpcyBp cyByYWN5LiBCdXQgdGhhdCdzIE9LOiBhbGwgd2UgY2FyZQo+ICAJICogYWJvdXQgaXMgZW5zdXJp bmcgdGhhdCB1c2Vyc3BhY2UgY2FuJ3QgZG8gYW55dGhpbmcgYnV0IHNodXQgb2ZmIHRoZQo+IC0J ICogZGlzcGxheSBvbiBhIGNvbm5lY3RvciB0aGF0IHdhcyBkZXN0cm95ZWQgYWZ0ZXIgaXRzIGJl ZW4gbm90aWZpZWQsCj4gKwkgKiBkaXNwbGF5IG9uIGEgY29ubmVjdG9yIHRoYXQgd2FzIGRlc3Ry b3llZCBhZnRlciBpdCdzIGJlZW4gbm90aWZpZWQsCj4gIAkgKiBub3QgYmVmb3JlLgo+ICAJICov Cj4gIAlpZiAoZHJtX2Nvbm5lY3Rvcl9pc191bnJlZ2lzdGVyZWQoY29ubmVjdG9yKSAmJiBjcnRj X3N0YXRlLT5hY3RpdmUpIHsKPiBAQCAtNjg1LDcgKzY4NSw3IEBAIGRybV9hdG9taWNfaGVscGVy X2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIAkvKgo+ICAJICog QWZ0ZXIgYWxsIHRoZSByb3V0aW5nIGhhcyBiZWVuIHByZXBhcmVkIHdlIG5lZWQgdG8gYWRkIGlu IGFueQo+IC0JICogY29ubmVjdG9yIHdoaWNoIGlzIGl0c2VsZiB1bmNoYW5nZWQsIGJ1dCB3aG8n cyBjcnRjIGNoYW5nZXMgaXQncwo+ICsJICogY29ubmVjdG9yIHdoaWNoIGlzIGl0c2VsZiB1bmNo YW5nZWQsIGJ1dCB3aG9zZSBjcnRjIGNoYW5nZXMgaXRzCj4gIAkgKiBjb25maWd1cmF0aW9uLiBU aGlzIG11c3QgYmUgZG9uZSBiZWZvcmUgY2FsbGluZyBtb2RlX2ZpeHVwIGluIGNhc2UgYQo+ICAJ ICogY3J0YyBvbmx5IGNoYW5nZWQgaXRzIG1vZGUgYnV0IGhhcyB0aGUgc2FtZSBzZXQgb2YgY29u bmVjdG9ycy4KPiAgCSAqLwo+IEBAIC0xNjcwLDcgKzE2NzAsNyBAQCBFWFBPUlRfU1lNQk9MKGRy bV9hdG9taWNfaGVscGVyX2FzeW5jX2NvbW1pdCk7Cj4gICAqIGRybV9hdG9taWNfaGVscGVyX3Nl dHVwX2NvbW1pdCgpIGFuZCByZWxhdGVkIGZ1bmN0aW9ucy4KPiAgICoKPiAgICogQ29tbWl0dGlu ZyB0aGUgYWN0dWFsIGhhcmR3YXJlIHN0YXRlIGlzIGRvbmUgdGhyb3VnaCB0aGUKPiAtICogJmRy bV9tb2RlX2NvbmZpZ19oZWxwZXJfZnVuY3MuYXRvbWljX2NvbW1pdF90YWlsIGNhbGxiYWNrLCBv ciBpdCdzIGRlZmF1bHQKPiArICogJmRybV9tb2RlX2NvbmZpZ19oZWxwZXJfZnVuY3MuYXRvbWlj X2NvbW1pdF90YWlsIGNhbGxiYWNrLCBvciBpdHMgZGVmYXVsdAo+ICAgKiBpbXBsZW1lbnRhdGlv biBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfdGFpbCgpLgo+ICAgKgo+ICAgKiBSRVRVUk5TOgo+ IEBAIC0xODkzLDcgKzE4OTMsNyBAQCBjcnRjX29yX2Zha2VfY29tbWl0KHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAgKiBmdW5jdGlvbnMu IGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2RlcGVuZGVuY2llcygpIG11c3QgYmUgY2FsbGVk IGJlZm9yZQo+ICAgKiBhY3R1YWxseSBjb21taXR0aW5nIHRoZSBoYXJkd2FyZSBzdGF0ZSwgYW5k IGZvciBub25ibG9ja2luZyBjb21taXRzIHRoaXMgY2FsbAo+ICAgKiBtdXN0IGJlIHBsYWNlZCBp biB0aGUgYXN5bmMgd29ya2VyLiBTZWUgYWxzbyBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRl KCkKPiAtICogYW5kIGl0J3Mgc3RhbGwgcGFyYW1ldGVyLCBmb3Igd2hlbiBhIGRyaXZlcidzIGNv bW1pdCBob29rcyBsb29rIGF0IHRoZQo+ICsgKiBhbmQgaXRzIHN0YWxsIHBhcmFtZXRlciwgZm9y IHdoZW4gYSBkcml2ZXIncyBjb21taXQgaG9va3MgbG9vayBhdCB0aGUKPiAgICogJmRybV9jcnRj LnN0YXRlLCAmZHJtX3BsYW5lLnN0YXRlIG9yICZkcm1fY29ubmVjdG9yLnN0YXRlIHBvaW50ZXIg ZGlyZWN0bHkuCj4gICAqCj4gICAqIENvbXBsZXRpb24gb2YgdGhlIGhhcmR3YXJlIGNvbW1pdCBz dGVwIG11c3QgYmUgc2lnbmFsbGVkIHVzaW5nCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ IGluZGV4IDlhMWY0MWFkZmM2Ny4uMGFhYmQ0MDFkM2NhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX3VhcGkuYwo+IEBAIC00NCw4ICs0NCw4IEBACj4gICAqIERPQzogb3ZlcnZpZXcKPiAgICoK PiAgICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBtYXJzaGFsbGluZyBhbmQgZGVtYXJzaGFsbGlu ZyBnbHVlIGZvciB0aGUgYXRvbWljIFVBUEkKPiAtICogaW4gYWxsIGl0J3MgZm9ybTogVGhlIG1v bnN0ZXIgQVRPTUlDIElPQ1RMIGl0c2VsZiwgY29kZSBmb3IgR0VUX1BST1BFUlRZIGFuZAo+IC0g KiBTRVRfUFJPUEVSVFkgSU9DVGxzLiBQbHVzIGludGVyZmFjZSBmdW5jdGlvbnMgZm9yIGNvbXBh dGliaWxpdHkgaGVscGVycyBhbmQKPiArICogaW4gYWxsIGl0cyBmb3JtczogVGhlIG1vbnN0ZXIg QVRPTUlDIElPQ1RMIGl0c2VsZiwgY29kZSBmb3IgR0VUX1BST1BFUlRZIGFuZAo+ICsgKiBTRVRf UFJPUEVSVFkgSU9DVExzLiBQbHVzIGludGVyZmFjZSBmdW5jdGlvbnMgZm9yIGNvbXBhdGliaWxp dHkgaGVscGVycyBhbmQKPiAgICogZHJpdmVycyB3aGljaCBoYXZlIHNwZWNpYWwgbmVlZHMgdG8g Y29uc3RydWN0IHRoZWlyIG93biBhdG9taWMgdXBkYXRlcywgZS5nLgo+ICAgKiBmb3IgbG9hZCBk ZXRlY3Qgb3Igc2ltaWxpYXIuCj4gICAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2J1ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCj4gaW5kZXggYTM5YWIyMTkz YmZlLi5lNDA3YWRiMDMzZTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9idWZz LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYwo+IEBAIC00OTQsNyArNDk0LDcg QEAgaW50IGRybV9sZWdhY3lfZ2V0bWFwX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4gICAqIGlzbid0IGluIHVzZS4KPiAgICoKPiAgICogU2VhcmNoZXMgdGhlIG1h cCBvbiBkcm1fZGV2aWNlOjptYXBsaXN0LCByZW1vdmVzIGl0IGZyb20gdGhlIGxpc3QsIHNlZSBp Zgo+IC0gKiBpdHMgYmVpbmcgdXNlZCwgYW5kIGZyZWUgYW55IGFzc29jaWF0ZSByZXNvdXJjZSAo c3VjaCBhcyBNVFJSJ3MpIGlmIGl0J3Mgbm90Cj4gKyAqIGl0J3MgYmVpbmcgdXNlZCwgYW5kIGZy ZWUgYW55IGFzc29jaWF0ZWQgcmVzb3VyY2UgKHN1Y2ggYXMgTVRSUidzKSBpZiBpdCdzIG5vdAo+ ICAgKiBiZWluZyBvbiB1c2UuCj4gICAqCj4gICAqIFxzYSBkcm1fbGVnYWN5X2FkZG1hcAo+IEBA IC02MjEsNyArNjIxLDcgQEAgaW50IGRybV9sZWdhY3lfcm1tYXBfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCQl9Cj4gIAl9Cj4gIAo+IC0JLyogTGlzdCBoYXMg d3JhcHBlZCBhcm91bmQgdG8gdGhlIGhlYWQgcG9pbnRlciwgb3IgaXRzIGVtcHR5IHdlIGRpZG4n dAo+ICsJLyogTGlzdCBoYXMgd3JhcHBlZCBhcm91bmQgdG8gdGhlIGhlYWQgcG9pbnRlciwgb3Ig aXQncyBlbXB0eSB3ZSBkaWRuJ3QKPiAgCSAqIGZpbmQgYW55dGhpbmcuCj4gIAkgKi8KPiAgCWlm IChsaXN0X2VtcHR5KCZkZXYtPm1hcGxpc3QpIHx8ICFtYXApIHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVj dG9yLmMKPiBpbmRleCBlM2ZmNzM2OTVjMzIuLmRkNDBlZmYwOTExYyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9jb25uZWN0b3IuYwo+IEBAIC0xMDY2LDcgKzEwNjYsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9t b2RlX2NyZWF0ZV9kdmlfaV9wcm9wZXJ0aWVzKTsKPiAgICoKPiAgICogY29udGVudCB0eXBlIChI RE1JIHNwZWNpZmljKToKPiAgICoJSW5kaWNhdGVzIGNvbnRlbnQgdHlwZSBzZXR0aW5nIHRvIGJl IHVzZWQgaW4gSERNSSBpbmZvZnJhbWVzIHRvIGluZGljYXRlCj4gLSAqCWNvbnRlbnQgdHlwZSBm b3IgdGhlIGV4dGVybmFsIGRldmljZSwgc28gdGhhdCBpdCBhZGp1c3RzIGl0J3MgZGlzcGxheQo+ ICsgKgljb250ZW50IHR5cGUgZm9yIHRoZSBleHRlcm5hbCBkZXZpY2UsIHNvIHRoYXQgaXQgYWRq dXN0cyBpdHMgZGlzcGxheQo+ICAgKglzZXR0aW5ncyBhY2NvcmRpbmdseS4KPiAgICoKPiAgICoJ VGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwo+IGluZGV4IGIxYzYzZTljZGY4YS4u NmQwZDhlMDFmMTZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3Rv cG9sb2d5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCj4g QEAgLTk0MSw3ICs5NDEsNyBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfZnJlZV9tc3RfYnJhbmNoX2Rl dmljZShzdHJ1Y3Qga3JlZiAqa3JlZikKPiAgICogaW4tbWVtb3J5IHRvcG9sb2d5IHN0YXRlIGZy b20gYmVpbmcgY2hhbmdlZCBpbiB0aGUgbWlkZGxlIG9mIGNyaXRpY2FsCj4gICAqIG9wZXJhdGlv bnMgbGlrZSBjaGFuZ2luZyB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgcGF5bG9hZCBhbGxvY2F0aW9u cy4gVGhpcwo+ICAgKiBtZWFucyBlYWNoIGJyYW5jaCBhbmQgcG9ydCB3aWxsIGJlIGNvbnNpZGVy ZWQgdG8gYmUgY29ubmVjdGVkIHRvIHRoZSByZXN0Cj4gLSAqIG9mIHRoZSB0b3BvbG9neSB1bnRp bCBpdCdzIHRvcG9sb2d5IHJlZmNvdW50IHJlYWNoZXMgemVyby4gQWRkaXRpb25hbGx5LAo+ICsg KiBvZiB0aGUgdG9wb2xvZ3kgdW50aWwgaXRzIHRvcG9sb2d5IHJlZmNvdW50IHJlYWNoZXMgemVy by4gQWRkaXRpb25hbGx5LAo+ICAgKiBmb3IgcG9ydHMgdGhpcyBtZWFucyB0aGF0IHRoZWlyIGFz c29jaWF0ZWQgJnN0cnVjdCBkcm1fY29ubmVjdG9yIHdpbGwgc3RheQo+ICAgKiByZWdpc3RlcmVk IHdpdGggdXNlcnNwYWNlIHVudGlsIHRoZSBwb3J0J3MgcmVmY291bnQgcmVhY2hlcyAwLgo+ICAg Kgo+IEBAIC05NzksOCArOTc5LDggQEAgc3RhdGljIHZvaWQgZHJtX2RwX2ZyZWVfbXN0X2JyYW5j aF9kZXZpY2Uoc3RydWN0IGtyZWYgKmtyZWYpCj4gICAqICAgIHNhbWUgd2F5IGFzIHRoZSBDIHBv aW50ZXJzIHVzZWQgdG8gcmVmZXJlbmNlIGEgc3RydWN0dXJlLgo+ICAgKgo+ICAgKiBBcyB5b3Ug Y2FuIHNlZSBpbiB0aGUgYWJvdmUgZmlndXJlLCBldmVyeSBicmFuY2ggaW5jcmVtZW50cyB0aGUg dG9wb2xvZ3kKPiAtICogcmVmY291bnQgb2YgaXQncyBjaGlsZHJlbiwgYW5kIGluY3JlbWVudHMg dGhlIG1hbGxvYyByZWZjb3VudCBvZiBpdCdzCj4gLSAqIHBhcmVudC4gQWRkaXRpb25hbGx5LCBl dmVyeSBwYXlsb2FkIGluY3JlbWVudHMgdGhlIG1hbGxvYyByZWZjb3VudCBvZiBpdCdzCj4gKyAq IHJlZmNvdW50IG9mIGl0cyBjaGlsZHJlbiwgYW5kIGluY3JlbWVudHMgdGhlIG1hbGxvYyByZWZj b3VudCBvZiBpdHMKPiArICogcGFyZW50LiBBZGRpdGlvbmFsbHksIGV2ZXJ5IHBheWxvYWQgaW5j cmVtZW50cyB0aGUgbWFsbG9jIHJlZmNvdW50IG9mIGl0cwo+ICAgKiBhc3NpZ25lZCBwb3J0IGJ5 IDEuCj4gICAqCj4gICAqIFNvLCB3aGF0IHdvdWxkIGhhcHBlbiBpZiBNU1RCICMzIGZyb20gdGhl IGFib3ZlIGZpZ3VyZSB3YXMgdW5wbHVnZ2VkIGZyb20KPiBAQCAtOTk3LDkgKzk5Nyw5IEBAIHN0 YXRpYyB2b2lkIGRybV9kcF9mcmVlX21zdF9icmFuY2hfZGV2aWNlKHN0cnVjdCBrcmVmICprcmVm KQo+ICAgKiBvZiBpdHMgcGFyZW50LCBhbmQgZmluYWxseSBpdHMgb3duIG1hbGxvYyByZWZjb3Vu dC4gRm9yIE1TVEIgIzQgYW5kIHBvcnQKPiAgICogIzQsIHRoaXMgbWVhbnMgdGhleSBib3RoIGhh dmUgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgdG9wb2xvZ3kgYW5kIGZyZWVkCj4gICAqIGZy b20gbWVtb3J5LiBCdXQsIGJlY2F1c2UgcGF5bG9hZCAjMiBpcyBzdGlsbCBob2xkaW5nIGEgcmVm ZXJlbmNlIHRvIHBvcnQKPiAtICogIzMsIHBvcnQgIzMgaXMgcmVtb3ZlZCBmcm9tIHRoZSB0b3Bv bG9neSBidXQgaXQncyAmc3RydWN0IGRybV9kcF9tc3RfcG9ydAo+ICsgKiAjMywgcG9ydCAjMyBp cyByZW1vdmVkIGZyb20gdGhlIHRvcG9sb2d5IGJ1dCBpdHMgJnN0cnVjdCBkcm1fZHBfbXN0X3Bv cnQKPiAgICogaXMgc3RpbGwgYWNjZXNzaWJsZSBmcm9tIG1lbW9yeS4gVGhpcyBhbHNvIG1lYW5z IHBvcnQgIzMgaGFzIG5vdCB5ZXQKPiAtICogZGVjcmVtZW50ZWQgdGhlIG1hbGxvYyByZWZjb3Vu dCBvZiBNU1RCICMzLCBzbyBpdCdzICZzdHJ1Y3QKPiArICogZGVjcmVtZW50ZWQgdGhlIG1hbGxv YyByZWZjb3VudCBvZiBNU1RCICMzLCBzbyBpdHMgJnN0cnVjdAo+ICAgKiBkcm1fZHBfbXN0X2Jy YW5jaCB3aWxsIGFsc28gc3RheSBhbGxvY2F0ZWQgaW4gbWVtb3J5IHVudGlsIHBvcnQgIzMncwo+ ICAgKiBtYWxsb2MgcmVmY291bnQgcmVhY2hlcyAwLgo+ICAgKgo+IEBAIC0xMTM5LDcgKzExMzks NyBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfZGVzdHJveV9tc3RfYnJhbmNoX2RldmljZShzdHJ1Y3Qg a3JlZiAqa3JlZikKPiAgCj4gIC8qKgo+ICAgKiBkcm1fZHBfbXN0X3RvcG9sb2d5X3RyeV9nZXRf bXN0YigpIC0gSW5jcmVtZW50IHRoZSB0b3BvbG9neSByZWZjb3VudCBvZiBhCj4gLSAqIGJyYW5j aCBkZXZpY2UgdW5sZXNzIGl0cyB6ZXJvCj4gKyAqIGJyYW5jaCBkZXZpY2UgdW5sZXNzIGl0J3Mg emVybwo+ICAgKiBAbXN0YjogJnN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCB0byBpbmNyZW1lbnQg dGhlIHRvcG9sb2d5IHJlZmNvdW50IG9mCj4gICAqCj4gICAqIEF0dGVtcHRzIHRvIGdyYWIgYSB0 b3BvbG9neSByZWZlcmVuY2UgdG8gQG1zdGIsIGlmIGl0IGhhc24ndCB5ZXQgYmVlbgo+IEBAIC0x MjY1LDcgKzEyNjUsNyBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfZGVzdHJveV9wb3J0KHN0cnVjdCBr cmVmICprcmVmKQo+ICAKPiAgLyoqCj4gICAqIGRybV9kcF9tc3RfdG9wb2xvZ3lfdHJ5X2dldF9w b3J0KCkgLSBJbmNyZW1lbnQgdGhlIHRvcG9sb2d5IHJlZmNvdW50IG9mIGEKPiAtICogcG9ydCB1 bmxlc3MgaXRzIHplcm8KPiArICogcG9ydCB1bmxlc3MgaXQncyB6ZXJvCj4gICAqIEBwb3J0OiAm c3RydWN0IGRybV9kcF9tc3RfcG9ydCB0byBpbmNyZW1lbnQgdGhlIHRvcG9sb2d5IHJlZmNvdW50 IG9mCj4gICAqCj4gICAqIEF0dGVtcHRzIHRvIGdyYWIgYSB0b3BvbG9neSByZWZlcmVuY2UgdG8g QHBvcnQsIGlmIGl0IGhhc24ndCB5ZXQgYmVlbgo+IEBAIC0xNDcxLDcgKzE0NzEsNyBAQCBzdGF0 aWMgYm9vbCBkcm1fZHBfcG9ydF9zZXR1cF9wZHQoc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9y dCkKPiAgCQkJcG9ydC0+bXN0Yi0+cG9ydF9wYXJlbnQgPSBwb3J0Owo+ICAJCQkvKgo+ICAJCQkg KiBNYWtlIHN1cmUgdGhpcyBwb3J0J3MgbWVtb3J5IGFsbG9jYXRpb24gc3RheXMKPiAtCQkJICog YXJvdW5kIHVudGlsIGl0J3MgY2hpbGQgTVNUQiByZWxlYXNlcyBpdAo+ICsJCQkgKiBhcm91bmQg dW50aWwgaXRzIGNoaWxkIE1TVEIgcmVsZWFzZXMgaXQKPiAgCQkJICovCj4gIAkJCWRybV9kcF9t c3RfZ2V0X3BvcnRfbWFsbG9jKHBvcnQpOwo+ICAKPiBAQCAtMjI3MSw3ICsyMjcxLDcgQEAgc3Rh dGljIGludCBkcm1fZHBfZGVzdHJveV9wYXlsb2FkX3N0ZXAxKHN0cnVjdCBkcm1fZHBfbXN0X3Rv cG9sb2d5X21nciAqbWdyLAo+ICAJCQkJCXN0cnVjdCBkcm1fZHBfcGF5bG9hZCAqcGF5bG9hZCkK PiAgewo+ICAJRFJNX0RFQlVHX0tNUygiXG4iKTsKPiAtCS8qIGl0cyBva2F5IGZvciB0aGVzZSB0 byBmYWlsICovCj4gKwkvKiBpdCdzIG9rYXkgZm9yIHRoZXNlIHRvIGZhaWwgKi8KPiAgCWlmIChw b3J0KSB7Cj4gIAkJZHJtX2RwX3BheWxvYWRfc2VuZF9tc2cobWdyLCBwb3J0LCBpZCwgMCk7Cj4g IAl9Cj4gQEAgLTI5NDcsNyArMjk0Nyw3IEBAIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgZHJt X2RwX21zdF9kZXRlY3RfcG9ydChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yCj4gIHsK PiAgCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19k aXNjb25uZWN0ZWQ7Cj4gIAo+IC0JLyogd2UgbmVlZCB0byBzZWFyY2ggZm9yIHRoZSBwb3J0IGlu IHRoZSBtZ3IgaW4gY2FzZSBpdHMgZ29uZSAqLwo+ICsJLyogd2UgbmVlZCB0byBzZWFyY2ggZm9y IHRoZSBwb3J0IGluIHRoZSBtZ3IgaW4gY2FzZSBpdCdzIGdvbmUgKi8KPiAgCXBvcnQgPSBkcm1f ZHBfbXN0X3RvcG9sb2d5X2dldF9wb3J0X3ZhbGlkYXRlZChtZ3IsIHBvcnQpOwo+ICAJaWYgKCFw b3J0KQo+ICAJCXJldHVybiBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPiBAQCAtMzAx Myw3ICszMDEzLDcgQEAgc3RydWN0IGVkaWQgKmRybV9kcF9tc3RfZ2V0X2VkaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3Rvciwgc3RydWN0IGRybV9kcF8KPiAgewo+ICAJc3RydWN0IGVk aWQgKmVkaWQgPSBOVUxMOwo+ICAKPiAtCS8qIHdlIG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcG9y dCBpbiB0aGUgbWdyIGluIGNhc2UgaXRzIGdvbmUgKi8KPiArCS8qIHdlIG5lZWQgdG8gc2VhcmNo IGZvciB0aGUgcG9ydCBpbiB0aGUgbWdyIGluIGNhc2UgaXQncyBnb25lICovCj4gIAlwb3J0ID0g ZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0ZWQobWdyLCBwb3J0KTsKPiAgCWlm ICghcG9ydCkKPiAgCQlyZXR1cm4gTlVMTDsKPiBAQCAtMzE4MCw3ICszMTgwLDcgQEAgRVhQT1JU X1NZTUJPTChkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyk7Cj4gICAqIFJlbGVhc2VzIGFu eSBWQ1BJIHNsb3RzIHRoYXQgaGF2ZSBiZWVuIGFsbG9jYXRlZCB0byBhIHBvcnQgaW4gdGhlIGF0 b21pYwo+ICAgKiBzdGF0ZS4gQW55IGF0b21pYyBkcml2ZXJzIHdoaWNoIHN1cHBvcnQgTVNUIG11 c3QgY2FsbCB0aGlzIGZ1bmN0aW9uIGluCj4gICAqIHRoZWlyICZkcm1fY29ubmVjdG9yX2hlbHBl cl9mdW5jcy5hdG9taWNfY2hlY2soKSBjYWxsYmFjayB3aGVuIHRoZQo+IC0gKiBjb25uZWN0b3Ig d2lsbCBubyBsb25nZXIgaGF2ZSBWQ1BJIGFsbG9jYXRlZCAoZS5nLiBiZWNhdXNlIGl0J3MgQ1JU QyB3YXMKPiArICogY29ubmVjdG9yIHdpbGwgbm8gbG9uZ2VyIGhhdmUgVkNQSSBhbGxvY2F0ZWQg KGUuZy4gYmVjYXVzZSBpdHMgQ1JUQyB3YXMKPiAgICogcmVtb3ZlZCkgd2hlbiBpdCBoYWQgVkNQ SSBhbGxvY2F0ZWQgaW4gdGhlIHByZXZpb3VzIGF0b21pYyBzdGF0ZS4KPiAgICoKPiAgICogSXQg aXMgT0sgdG8gY2FsbCB0aGlzIGV2ZW4gaWYgQHBvcnQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRo ZSBzeXN0ZW0uCj4gQEAgLTMyNjgsNyArMzI2OCw3IEBAIGJvb2wgZHJtX2RwX21zdF9hbGxvY2F0 ZV92Y3BpKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAo+ICAJRFJNX0RFQlVH X0tNUygiaW5pdGluZyB2Y3BpIGZvciBwYm49JWQgc2xvdHM9JWRcbiIsCj4gIAkJICAgICAgcGJu LCBwb3J0LT52Y3BpLm51bV9zbG90cyk7Cj4gIAo+IC0JLyogS2VlcCBwb3J0IGFsbG9jYXRlZCB1 bnRpbCBpdCdzIHBheWxvYWQgaGFzIGJlZW4gcmVtb3ZlZCAqLwo+ICsJLyogS2VlcCBwb3J0IGFs bG9jYXRlZCB1bnRpbCBpdHMgcGF5bG9hZCBoYXMgYmVlbiByZW1vdmVkICovCj4gIAlkcm1fZHBf bXN0X2dldF9wb3J0X21hbGxvYyhwb3J0KTsKPiAgCWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X3Bv cnQocG9ydCk7Cj4gIAlyZXR1cm4gdHJ1ZTsKPiBAQCAtMzMwMCw3ICszMzAwLDcgQEAgRVhQT1JU X1NZTUJPTChkcm1fZHBfbXN0X2dldF92Y3BpX3Nsb3RzKTsKPiAgdm9pZCBkcm1fZHBfbXN0X3Jl c2V0X3ZjcGlfc2xvdHMoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsIHN0cnVj dCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQpCj4gIHsKPiAgCS8qCj4gLQkgKiBBIHBvcnQgd2l0aCBW Q1BJIHdpbGwgcmVtYWluIGFsbG9jYXRlZCB1bnRpbCBpdCdzIFZDUEkgaXMKPiArCSAqIEEgcG9y dCB3aXRoIFZDUEkgd2lsbCByZW1haW4gYWxsb2NhdGVkIHVudGlsIGl0cyBWQ1BJIGlzCj4gIAkg KiByZWxlYXNlZCwgbm8gdmVyaWZpZWQgcmVmIG5lZWRlZAo+ICAJICovCj4gIAo+IEBAIC0zMzE3 LDcgKzMzMTcsNyBAQCB2b2lkIGRybV9kcF9tc3RfZGVhbGxvY2F0ZV92Y3BpKHN0cnVjdCBkcm1f ZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAo+ICAJCQkJc3RydWN0IGRybV9kcF9tc3RfcG9ydCAq cG9ydCkKPiAgewo+ICAJLyoKPiAtCSAqIEEgcG9ydCB3aXRoIFZDUEkgd2lsbCByZW1haW4gYWxs b2NhdGVkIHVudGlsIGl0J3MgVkNQSSBpcwo+ICsJICogQSBwb3J0IHdpdGggVkNQSSB3aWxsIHJl bWFpbiBhbGxvY2F0ZWQgdW50aWwgaXRzIFZDUEkgaXMKPiAgCSAqIHJlbGVhc2VkLCBubyB2ZXJp ZmllZCByZWYgbmVlZGVkCj4gIAkgKi8KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gaW5k ZXggMTQ1YzAwYWM1OGNlLi4wZTkzNDlmZjJkMTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9mYl9oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVy LmMKPiBAQCAtMjUwOCw3ICsyNTA4LDcgQEAgc3RhdGljIGludCBkcm1fcGlja19jcnRjcyhzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ICAvKgo+ICAgKiBUaGlzIGZ1bmN0aW9uIGNo ZWNrcyBpZiByb3RhdGlvbiBpcyBuZWNlc3NhcnkgYmVjYXVzZSBvZiBwYW5lbCBvcmllbnRhdGlv bgo+ICAgKiBhbmQgaWYgaXQgaXMsIGlmIGl0IGlzIHN1cHBvcnRlZC4KPiAtICogSWYgcm90YXRp b24gaXMgbmVjZXNzYXJ5IGFuZCBzdXBwb3J0ZWQsIGl0cyBnZXRzIHNldCBpbiBmYl9jcnRjLnJv dGF0aW9uLgo+ICsgKiBJZiByb3RhdGlvbiBpcyBuZWNlc3NhcnkgYW5kIHN1cHBvcnRlZCwgaXQg Z2V0cyBzZXQgaW4gZmJfY3J0Yy5yb3RhdGlvbi4KPiAgICogSWYgcm90YXRpb24gaXMgbmVjZXNz YXJ5IGJ1dCBub3Qgc3VwcG9ydGVkLCBhIERSTV9NT0RFX1JPVEFURV8qIGZsYWcgZ2V0cwo+ICAg KiBvci1lZCBpbnRvIGZiX2hlbHBlci0+c3dfcm90YXRpb25zLiBJbiBkcm1fc2V0dXBfY3J0Y3Nf ZmIoKSB3ZSBjaGVjayBpZiBvbmx5Cj4gICAqIG9uZSBiaXQgaXMgc2V0IGFuZCB0aGVuIHdlIHNl dCBmYl9pbmZvLmZiY29uX3JvdGF0ZV9oaW50IHRvIG1ha2UgZmJjb24gZG8KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZpbGUu Ywo+IGluZGV4IDQ2ZjQ4ZjI0NWViNS4uYjE4MzhhNDFhZDQzIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZmlsZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMK PiBAQCAtNzAxLDcgKzcwMSw3IEBAIGludCBkcm1fZXZlbnRfcmVzZXJ2ZV9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gIEVYUE9SVF9TWU1CT0woZHJtX2V2ZW50X3Jlc2VydmVfaW5pdCk7 Cj4gIAo+ICAvKioKPiAtICogZHJtX2V2ZW50X2NhbmNlbF9mcmVlIC0gZnJlZSBhIERSTSBldmVu dCBhbmQgcmVsZWFzZSBpdCdzIHNwYWNlCj4gKyAqIGRybV9ldmVudF9jYW5jZWxfZnJlZSAtIGZy ZWUgYSBEUk0gZXZlbnQgYW5kIHJlbGVhc2UgaXRzIHNwYWNlCj4gICAqIEBkZXY6IERSTSBkZXZp Y2UKPiAgICogQHA6IHRyYWNraW5nIHN0cnVjdHVyZSBmb3IgdGhlIHBlbmRpbmcgZXZlbnQKPiAg ICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gaW5kZXggN2FiY2IyNjVhMTA4Li5kOGQ3 NWUyNWY2ZmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gQEAgLTc3Myw3ICs3 NzMsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9mcmFtZWJ1ZmZlcl9sb29rdXApOwo+ICAgKiBAZmI6 IGZiIHRvIHVucmVnaXN0ZXIKPiAgICoKPiAgICogRHJpdmVycyBuZWVkIHRvIGNhbGwgdGhpcyB3 aGVuIGNsZWFuaW5nIHVwIGRyaXZlci1wcml2YXRlIGZyYW1lYnVmZmVycywgZS5nLgo+IC0gKiB0 aG9zZSB1c2VkIGZvciBmYmRldi4gTm90ZSB0aGF0IHRoZSBjYWxsZXIgbXVzdCBob2xkIGEgcmVm ZXJlbmNlIG9mIGl0J3Mgb3duLAo+ICsgKiB0aG9zZSB1c2VkIGZvciBmYmRldi4gTm90ZSB0aGF0 IHRoZSBjYWxsZXIgbXVzdCBob2xkIGEgcmVmZXJlbmNlIG9mIGl0cyBvd24sCj4gICAqIGkuZS4g dGhlIG9iamVjdCBtYXkgbm90IGJlIGRlc3Ryb3llZCB0aHJvdWdoIHRoaXMgY2FsbCAoc2luY2Ug aXQnbGwgbGVhZCB0byBhCj4gICAqIGxvY2tpbmcgaW52ZXJzaW9uKS4KPiAgICoKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt LmMKPiBpbmRleCAyODk2ZmY2MDU1MmYuLmQwYjlmNmE5OTUzZiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYwo+ IEBAIC02NjAsNyArNjYwLDcgQEAgdm9pZCBkcm1fZ2VtX3B1dF9wYWdlcyhzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaiwgc3RydWN0IHBhZ2UgKipwYWdlcywKPiAgRVhQT1JUX1NZTUJPTChkcm1f Z2VtX3B1dF9wYWdlcyk7Cj4gIAo+ICAvKioKPiAtICogZHJtX2dlbV9vYmplY3RfbG9va3VwIC0g bG9vayB1cCBhIEdFTSBvYmplY3QgZnJvbSBpdCdzIGhhbmRsZQo+ICsgKiBkcm1fZ2VtX29iamVj dF9sb29rdXAgLSBsb29rIHVwIGEgR0VNIG9iamVjdCBmcm9tIGl0cyBoYW5kbGUKPiAgICogQGZp bHA6IERSTSBmaWxlIHByaXZhdGUgZGF0ZQo+ICAgKiBAaGFuZGxlOiB1c2Vyc3BhY2UgaGFuZGxl Cj4gICAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fbW0uYwo+IGluZGV4IDNjYzVmYmQ3OGVlMi4uMmI0ZjM3MzczNmM3IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fbW0uYwo+IEBAIC04MTYsNyArODE2LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fbW1fc2Nh bl9hZGRfYmxvY2spOwo+ICAgKiBXaGVuIHRoZSBzY2FuIGxpc3QgaXMgZW1wdHksIHRoZSBzZWxl Y3RlZCBtZW1vcnkgbm9kZXMgY2FuIGJlIGZyZWVkLiBBbgo+ICAgKiBpbW1lZGlhdGVseSBmb2xs b3dpbmcgZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlX2dlbmVyaWMoKSBvciBvbmUgb2YgdGhl Cj4gICAqIHNpbXBsZXIgdmVyc2lvbnMgb2YgdGhhdCBmdW5jdGlvbiB3aXRoICFEUk1fTU1fU0VB UkNIX0JFU1Qgd2lsbCB0aGVuIHJldHVybgo+IC0gKiB0aGUganVzdCBmcmVlZCBibG9jayAoYmVj YXVzZSBpdHMgYXQgdGhlIHRvcCBvZiB0aGUgZnJlZV9zdGFjayBsaXN0KS4KPiArICogdGhlIGp1 c3QgZnJlZWQgYmxvY2sgKGJlY2F1c2UgaXQncyBhdCB0aGUgdG9wIG9mIHRoZSBmcmVlX3N0YWNr IGxpc3QpLgo+ICAgKgo+ICAgKiBSZXR1cm5zOgo+ICAgKiBUcnVlIGlmIHRoaXMgYmxvY2sgc2hv dWxkIGJlIGV2aWN0ZWQsIGZhbHNlIG90aGVyd2lzZS4gV2lsbCBhbHdheXMKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl cy5jCj4gaW5kZXggNTliOTJiMWEzOTZiLi44NjlhYzZmNDY3MWUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl cy5jCj4gQEAgLTEyNzIsNyArMTI3Miw3IEBAIGNvbnN0IGNoYXIgKmRybV9nZXRfbW9kZV9zdGF0 dXNfbmFtZShlbnVtIGRybV9tb2RlX3N0YXR1cyBzdGF0dXMpCj4gICAqIEB2ZXJib3NlOiBiZSB2 ZXJib3NlIGFib3V0IGl0Cj4gICAqCj4gICAqIFRoaXMgaGVscGVyIGZ1bmN0aW9uIGNhbiBiZSB1 c2VkIHRvIHBydW5lIGEgZGlzcGxheSBtb2RlIGxpc3QgYWZ0ZXIKPiAtICogdmFsaWRhdGlvbiBo YXMgYmVlbiBjb21wbGV0ZWQuIEFsbCBtb2RlcyB3aG8ncyBzdGF0dXMgaXMgbm90IE1PREVfT0sg d2lsbCBiZQo+ICsgKiB2YWxpZGF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZC4gQWxsIG1vZGVzIHdo b3NlIHN0YXR1cyBpcyBub3QgTU9ERV9PSyB3aWxsIGJlCj4gICAqIHJlbW92ZWQgZnJvbSB0aGUg bGlzdCwgYW5kIGlmIEB2ZXJib3NlIHRoZSBzdGF0dXMgY29kZSBhbmQgbW9kZSBuYW1lIGlzIGFs c28KPiAgICogcHJpbnRlZCB0byBkbWVzZy4KPiAgICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fcHJvcGVydHkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvcGVydHkuYwo+ IGluZGV4IDc5Yzc3YzNjYWQ4Ni4uZjhlYzhmOWMzZTdhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fcHJvcGVydHkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvcGVy dHkuYwo+IEBAIC04NjYsNyArODY2LDcgQEAgaW50IGRybV9tb2RlX2Rlc3Ryb3libG9iX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAqIHZhbHVlIGRvZXNuJ3QgYmVjb21lIGludmFs aWQgcGFydCB3YXkgdGhyb3VnaCB0aGUgcHJvcGVydHkgdXBkYXRlIGR1ZSB0bwo+ICAgKiByYWNl KS4gIFRoZSB2YWx1ZSByZXR1cm5lZCBieSByZWZlcmVuY2UgdmlhICdvYmonIHNob3VsZCBiZSBw YXNzZWQgYmFjawo+ICAgKiB0byBkcm1fcHJvcGVydHlfY2hhbmdlX3ZhbGlkX3B1dCgpIGFmdGVy IHRoZSBwcm9wZXJ0eSBpcyBzZXQgKGFuZCB0aGUKPiAtICogb2JqZWN0IHRvIHdoaWNoIHRoZSBw cm9wZXJ0eSBpcyBhdHRhY2hlZCBoYXMgYSBjaGFuY2UgdG8gdGFrZSBpdCdzIG93bgo+ICsgKiBv YmplY3QgdG8gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGF0dGFjaGVkIGhhcyBhIGNoYW5jZSB0byB0 YWtlIGl0cyBvd24KPiAgICogcmVmZXJlbmNlKS4KPiAgICovCj4gIGJvb2wgZHJtX3Byb3BlcnR5 X2NoYW5nZV92YWxpZF9nZXQoc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fdmJsYW5rLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X3ZibGFuay5jCj4gaW5kZXggY2RlNzFlZTk1YThmLi5hMWI2NWQyNmQ3NjEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fdmJsYW5rLmMKPiBAQCAtNDgsNyArNDgsNyBAQAo+ICAgKiBEcml2ZXJzIG11c3QgaW5pdGlh bGl6ZSB0aGUgdmVydGljYWwgYmxhbmtpbmcgaGFuZGxpbmcgY29yZSB3aXRoIGEgY2FsbCB0bwo+ ICAgKiBkcm1fdmJsYW5rX2luaXQoKS4gTWluaW1hbGx5LCBhIGRyaXZlciBuZWVkcyB0byBpbXBs ZW1lbnQKPiAgICogJmRybV9jcnRjX2Z1bmNzLmVuYWJsZV92YmxhbmsgYW5kICZkcm1fY3J0Y19m dW5jcy5kaXNhYmxlX3ZibGFuayBwbHVzIGNhbGwKPiAtICogZHJtX2NydGNfaGFuZGxlX3ZibGFu aygpIGluIGl0J3MgdmJsYW5rIGludGVycnVwdCBoYW5kbGVyIGZvciB3b3JraW5nIHZibGFuawo+ ICsgKiBkcm1fY3J0Y19oYW5kbGVfdmJsYW5rKCkgaW4gaXRzIHZibGFuayBpbnRlcnJ1cHQgaGFu ZGxlciBmb3Igd29ya2luZyB2YmxhbmsKPiAgICogc3VwcG9ydC4KPiAgICoKPiAgICogVmVydGlj YWwgYmxhbmtpbmcgaW50ZXJydXB0cyBjYW4gYmUgZW5hYmxlZCBieSB0aGUgRFJNIGNvcmUgb3Ig YnkgZHJpdmVycwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmggYi9pbmNs dWRlL2RybS9kcm1fYXRvbWljLmgKPiBpbmRleCA4MTFiNGE5MjU2OGYuLjNiOTdiMmJmYWFkOSAx MDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNsdWRlL2Ry bS9kcm1fYXRvbWljLmgKPiBAQCAtMTkyLDcgKzE5Miw3IEBAIHN0cnVjdCBkcm1fcHJpdmF0ZV9z dGF0ZTsKPiAgICogcHJpdmF0ZSBvYmplY3RzLiBUaGUgc3RydWN0dXJlIGl0c2VsZiBpcyB1c2Vk IGFzIGEgdnRhYmxlIHRvIGlkZW50aWZ5IHRoZQo+ICAgKiBhc3NvY2lhdGVkIHByaXZhdGUgb2Jq ZWN0IHR5cGUuIEVhY2ggcHJpdmF0ZSBvYmplY3QgdHlwZSB0aGF0IG5lZWRzIHRvIGJlCj4gICAq IGFkZGVkIHRvIHRoZSBhdG9taWMgc3RhdGVzIGlzIGV4cGVjdGVkIHRvIGhhdmUgYW4gaW1wbGVt ZW50YXRpb24gb2YgdGhlc2UKPiAtICogaG9va3MgYW5kIHBhc3MgYSBwb2ludGVyIHRvIGl0J3Mg ZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3Mgc3RydWN0IHRvCj4gKyAqIGhvb2tzIGFuZCBwYXNzIGEg cG9pbnRlciB0byBpdHMgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3Mgc3RydWN0IHRvCj4gICAqIGRy bV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRlKCkuCj4gICAqLwo+ICBzdHJ1Y3QgZHJtX3By aXZhdGVfc3RhdGVfZnVuY3Mgewo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY2xpZW50 LmggYi9pbmNsdWRlL2RybS9kcm1fY2xpZW50LmgKPiBpbmRleCA5NzFiYjc4NTM3NzYuLjhiNTUy YjFhNmNlOSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY2xpZW50LmgKPiArKysgYi9p bmNsdWRlL2RybS9kcm1fY2xpZW50LmgKPiBAQCAtMjYsNyArMjYsNyBAQCBzdHJ1Y3QgZHJtX2Ns aWVudF9mdW5jcyB7Cj4gIAkgKiBAdW5yZWdpc3RlcjoKPiAgCSAqCj4gIAkgKiBDYWxsZWQgd2hl biAmZHJtX2RldmljZSBpcyB1bnJlZ2lzdGVyZWQuIFRoZSBjbGllbnQgc2hvdWxkIHJlc3BvbmQg YnkKPiAtCSAqIHJlbGVhc2luZyBpdCdzIHJlc291cmNlcyB1c2luZyBkcm1fY2xpZW50X3JlbGVh c2UoKS4KPiArCSAqIHJlbGVhc2luZyBpdHMgcmVzb3VyY2VzIHVzaW5nIGRybV9jbGllbnRfcmVs ZWFzZSgpLgo+ICAJICoKPiAgCSAqIFRoaXMgY2FsbGJhY2sgaXMgb3B0aW9uYWwuCj4gIAkgKi8K PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0v ZHJtX2Nvbm5lY3Rvci5oCj4gaW5kZXggOTk0MTYxMzc0YTQ5Li44ZmUyMmFiYjFlMTAgMTAwNjQ0 Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gKysrIGIvaW5jbHVkZS9kcm0v ZHJtX2Nvbm5lY3Rvci5oCj4gQEAgLTkxMiw3ICs5MTIsNyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciB7Cj4gIAkvKioKPiAgCSAqIEB5Y2Jjcl80MjBfYWxsb3dlZCA6IFRoaXMgYm9vbCBpbmRpY2F0 ZXMgaWYgdGhpcyBjb25uZWN0b3IgaXMKPiAgCSAqIGNhcGFibGUgb2YgaGFuZGxpbmcgWUNCQ1Ig NDIwIG91dHB1dC4gV2hpbGUgcGFyc2luZyB0aGUgRURJRAo+IC0JICogYmxvY2tzLCBpdHMgdmVy eSBoZWxwZnVsIHRvIGtub3csIGlmIHRoZSBzb3VyY2UgaXMgY2FwYWJsZSBvZgo+ICsJICogYmxv Y2tzIGl0J3MgdmVyeSBoZWxwZnVsIHRvIGtub3cgaWYgdGhlIHNvdXJjZSBpcyBjYXBhYmxlIG9m Cj4gIAkgKiBoYW5kbGluZyBZQ0JDUiA0MjAgb3V0cHV0cy4KPiAgCSAqLwo+ICAJYm9vbCB5Y2Jj cl80MjBfYWxsb3dlZDsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmln LmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+IGluZGV4IDFlNmNiODg1OTk0ZC4u N2Y2MGU4ZWIyNjlhIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5o Cj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiBAQCAtMzYxLDcgKzM2MSw3 IEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewo+ICAJICoKPiAgCSAqIFRoaXMgaXMgdGhlIGJp ZyBzY2FyeSBtb2Rlc2V0IEJLTCB3aGljaCBwcm90ZWN0cyBldmVyeXRoaW5nIHRoYXQKPiAgCSAq IGlzbid0IHByb3RlY3Qgb3RoZXJ3aXNlLiBTY29wZSBpcyB1bmNsZWFyIGFuZCBmdXp6eSwgdHJ5 IHRvIHJlbW92ZQo+IC0JICogYW55dGhpbmcgZnJvbSB1bmRlciBpdCdzIHByb3RlY3Rpb24gYW5k IG1vdmUgaXQgaW50byBtb3JlIHdlbGwtc2NvcGVkCj4gKwkgKiBhbnl0aGluZyBmcm9tIHVuZGVy IGl0cyBwcm90ZWN0aW9uIGFuZCBtb3ZlIGl0IGludG8gbW9yZSB3ZWxsLXNjb3BlZAo+ICAJICog bG9ja3MuCj4gIAkgKgo+ICAJICogVGhlIG9uZSBpbXBvcnRhbnQgdGhpbmcgdGhpcyBwcm90ZWN0 cyBpcyB0aGUgdXNlIG9mIEBhY3F1aXJlX2N0eC4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hl bHBlcl92dGFibGVzLmgKPiBpbmRleCA2MTE0MmFhMGFiMjMuLmNmYjdiZTQwYmVkNyAxMDA2NDQK PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oCj4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+IEBAIC0xMDEzLDcgKzEw MTMsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyB7Cj4gIAkgKiBAcHJlcGFyZV9m YjoKPiAgCSAqCj4gIAkgKiBUaGlzIGhvb2sgaXMgdG8gcHJlcGFyZSBhIGZyYW1lYnVmZmVyIGZv ciBzY2Fub3V0IGJ5IGUuZy4gcGlubmluZwo+IC0JICogaXQncyBiYWNraW5nIHN0b3JhZ2Ugb3Ig cmVsb2NhdGluZyBpdCBpbnRvIGEgY29udGlndW91cyBibG9jayBvZgo+ICsJICogaXRzIGJhY2tp bmcgc3RvcmFnZSBvciByZWxvY2F0aW5nIGl0IGludG8gYSBjb250aWd1b3VzIGJsb2NrIG9mCj4g IAkgKiBWUkFNLiBPdGhlciBwb3NzaWJsZSBwcmVwYXJhdG9yeSB3b3JrIGluY2x1ZGVzIGZsdXNo aW5nIGNhY2hlcy4KPiAgCSAqCj4gIAkgKiBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJsb2NrIGZv ciBvdXRzdGFuZGluZyByZW5kZXJpbmcsIHNpbmNlIGl0IGlzCj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2su aAo+IGluZGV4IGEzMDhmMmQ2NDk2Zi4uN2I4ODQxMDY1YjExIDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0 X2xvY2suaAo+IEBAIC02OCw3ICs2OCw3IEBAIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0 eCB7Cj4gIC8qKgo+ICAgKiBzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayAtIHVzZWQgZm9yIGxvY2tp bmcgbW9kZXNldCByZXNvdXJjZXMuCj4gICAqIEBtdXRleDogcmVzb3VyY2UgbG9ja2luZwo+IC0g KiBAaGVhZDogdXNlZCB0byBob2xkIGl0J3MgcGxhY2Ugb24gJmRybV9hdG9taV9zdGF0ZS5sb2Nr ZWQgbGlzdCB3aGVuCj4gKyAqIEBoZWFkOiB1c2VkIHRvIGhvbGQgaXRzIHBsYWNlIG9uICZkcm1f YXRvbWlfc3RhdGUubG9ja2VkIGxpc3Qgd2hlbgo+ICAgKiAgICBwYXJ0IG9mIGFuIGF0b21pYyB1 cGRhdGUKPiAgICoKPiAgICogVXNlZCBmb3IgbG9ja2luZyBDUlRDcyBhbmQgb3RoZXIgbW9kZXNl dCByZXNvdXJjZXMuCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVy LmggYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCj4gaW5kZXggMTU4MjliMjQyNzdj Li5jYmYzMTgwY2I2MTIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2 ZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPiBAQCAtODc2LDcg Kzg3Niw3IEBAIGludCB0dG1fYm9fcGlwZWxpbmVfbW92ZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmpl Y3QgKmJvLAo+ICAgKgo+ICAgKiBAYm86IEEgcG9pbnRlciB0byBhIHN0cnVjdCB0dG1fYnVmZmVy X29iamVjdC4KPiAgICoKPiAtICogUGlwZWxpbmVkIGd1dHRpbmcgYSBCTyBvZiBpdCdzIGJhY2tp bmcgc3RvcmUuCj4gKyAqIFBpcGVsaW5lZCBndXR0aW5nIGEgQk8gb2YgaXRzIGJhY2tpbmcgc3Rv cmUuCj4gICAqLwo+ICBpbnQgdHRtX2JvX3BpcGVsaW5lX2d1dHRpbmcoc3RydWN0IHR0bV9idWZm ZXJfb2JqZWN0ICpibyk7Cj4gIAo+IC0tIAo+IDIuMTQuNQo+IAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29m dHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=