From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 4/5] drm/amd/pp: Update smu7 dpm table with OD clock/voltage Date: Thu, 18 Jan 2018 11:41:53 -0500 Message-ID: References: <1516264682-10037-1-git-send-email-Rex.Zhu@amd.com> <1516264682-10037-5-git-send-email-Rex.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1516264682-10037-5-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Rex Zhu Cc: amd-gfx list T24gVGh1LCBKYW4gMTgsIDIwMTggYXQgMzozOCBBTSwgUmV4IFpodSA8UmV4LlpodUBhbWQuY29t PiB3cm90ZToKPiBkZWxldGUgb2xkIE9EIHR5cGUgY29kZSBwYXRoIHdoZW4gcG9wdWxhdGUgY2xr Lgo+Cj4gQ2hhbmdlLUlkOiBJOWJlYjdlNzUxYWM3MjBlZGI0ZmZiMWRlYWY3OTg0ZTg2ZTJlNDFi MQo+IFNpZ25lZC1vZmYtYnk6IFJleCBaaHUgPFJleC5aaHVAYW1kLmNvbT4KClJldmlld2VkLWJ5 OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Cgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmMgICB8IDExMCArKysr LS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdy L2Zpamlfc211bWdyLmMgfCAgMTggKysrLQo+ICAuLi4vZHJtL2FtZC9wb3dlcnBsYXkvc211bWdy L3BvbGFyaXMxMF9zbXVtZ3IuYyAgICB8ICAxOCArKystCj4gIC4uLi9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvc211bWdyL3RvbmdhX3NtdW1nci5jICAgIHwgIDE4ICsrKy0KPiAgNCBmaWxlcyBjaGFu Z2VkLCA2MiBpbnNlcnRpb25zKCspLCAxMDIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jCj4gaW5kZXggMGQxNDI5 OS4uZWU3MGVmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9zbXU3X2h3bWdyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9zbXU3X2h3bWdyLmMKPiBAQCAtMzQ4Miw4ICszNDgyLDYgQEAgc3RhdGljIGludCBzbXU3 X2ZpbmRfZHBtX3N0YXRlc19jbG9ja3NfaW5fZHBtX3RhYmxlKHN0cnVjdCBwcF9od21nciAqaHdt Z3IsIGNvbnMKPiAgICAgICAgIHVpbnQzMl90IGk7Cj4gICAgICAgICBzdHJ1Y3QgY2dzX2Rpc3Bs YXlfaW5mbyBpbmZvID0gezB9Owo+Cj4gLSAgICAgICBkYXRhLT5uZWVkX3VwZGF0ZV9zbXU3X2Rw bV90YWJsZSA9IDA7Cj4gLQo+ICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNjbGtfdGFibGUtPmNv dW50OyBpKyspIHsKPiAgICAgICAgICAgICAgICAgaWYgKHNjbGsgPT0gc2Nsa190YWJsZS0+ZHBt X2xldmVsc1tpXS52YWx1ZSkKPiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiBAQCAt MzYyNSwxMDYgKzM2MjMsMjcgQEAgc3RhdGljIGludCBzbXU3X3BvcHVsYXRlX2FuZF91cGxvYWRf c2Nsa19tY2xrX2RwbV9sZXZlbHMoCj4gICAgICAgICAgICAgICAgIHN0cnVjdCBwcF9od21nciAq aHdtZ3IsIGNvbnN0IHZvaWQgKmlucHV0KQo+ICB7Cj4gICAgICAgICBpbnQgcmVzdWx0ID0gMDsK PiAtICAgICAgIGNvbnN0IHN0cnVjdCBwaG1fc2V0X3Bvd2VyX3N0YXRlX2lucHV0ICpzdGF0ZXMg PQo+IC0gICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBzdHJ1Y3QgcGhtX3NldF9wb3dlcl9z dGF0ZV9pbnB1dCAqKWlucHV0Owo+IC0gICAgICAgY29uc3Qgc3RydWN0IHNtdTdfcG93ZXJfc3Rh dGUgKnNtdTdfcHMgPQo+IC0gICAgICAgICAgICAgICAgICAgICAgIGNhc3RfY29uc3RfcGh3X3Nt dTdfcG93ZXJfc3RhdGUoc3RhdGVzLT5wbmV3X3N0YXRlKTsKPiAgICAgICAgIHN0cnVjdCBzbXU3 X2h3bWdyICpkYXRhID0gKHN0cnVjdCBzbXU3X2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiAt ICAgICAgIHVpbnQzMl90IHNjbGsgPSBzbXU3X3BzLT5wZXJmb3JtYW5jZV9sZXZlbHMKPiAtICAg ICAgICAgICAgICAgICAgICAgICBbc211N19wcy0+cGVyZm9ybWFuY2VfbGV2ZWxfY291bnQgLSAx XS5lbmdpbmVfY2xvY2s7Cj4gLSAgICAgICB1aW50MzJfdCBtY2xrID0gc211N19wcy0+cGVyZm9y bWFuY2VfbGV2ZWxzCj4gLSAgICAgICAgICAgICAgICAgICAgICAgW3NtdTdfcHMtPnBlcmZvcm1h bmNlX2xldmVsX2NvdW50IC0gMV0ubWVtb3J5X2Nsb2NrOwo+ICAgICAgICAgc3RydWN0IHNtdTdf ZHBtX3RhYmxlICpkcG1fdGFibGUgPSAmZGF0YS0+ZHBtX3RhYmxlOwo+IC0KPiAtICAgICAgIHN0 cnVjdCBzbXU3X2RwbV90YWJsZSAqZ29sZGVuX2RwbV90YWJsZSA9ICZkYXRhLT5nb2xkZW5fZHBt X3RhYmxlOwo+IC0gICAgICAgdWludDMyX3QgZHBtX2NvdW50LCBjbG9ja19wZXJjZW50Owo+IC0g ICAgICAgdWludDMyX3QgaTsKPiArICAgICAgIHVpbnQzMl90IGNvdW50Owo+ICsgICAgICAgc3Ry dWN0IHNtdTdfb2RuX2RwbV90YWJsZSAqb2RuX3RhYmxlID0gJihkYXRhLT5vZG5fZHBtX3RhYmxl KTsKPiArICAgICAgIHN0cnVjdCBwaG1fb2RuX2Nsb2NrX2xldmVscyAqb2RuX3NjbGtfdGFibGUg PSAmKG9kbl90YWJsZS0+b2RuX2NvcmVfY2xvY2tfZHBtX2xldmVscyk7Cj4gKyAgICAgICBzdHJ1 Y3QgcGhtX29kbl9jbG9ja19sZXZlbHMgKm9kbl9tY2xrX3RhYmxlID0gJihvZG5fdGFibGUtPm9k bl9tZW1vcnlfY2xvY2tfZHBtX2xldmVscyk7Cj4KPiAgICAgICAgIGlmICgwID09IGRhdGEtPm5l ZWRfdXBkYXRlX3NtdTdfZHBtX3RhYmxlKQo+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKPgo+ IC0gICAgICAgaWYgKGRhdGEtPm5lZWRfdXBkYXRlX3NtdTdfZHBtX3RhYmxlICYgRFBNVEFCTEVf T0RfVVBEQVRFX1NDTEspIHsKPiAtICAgICAgICAgICAgICAgZHBtX3RhYmxlLT5zY2xrX3RhYmxl LmRwbV9sZXZlbHMKPiAtICAgICAgICAgICAgICAgW2RwbV90YWJsZS0+c2Nsa190YWJsZS5jb3Vu dCAtIDFdLnZhbHVlID0gc2NsazsKPiAtCj4gLSAgICAgICAgICAgICAgIGlmIChod21nci0+b2Rf ZW5hYmxlZCkgewo+IC0gICAgICAgICAgICAgICAvKiBOZWVkIHRvIGRvIGNhbGN1bGF0aW9uIGJh c2VkIG9uIHRoZSBnb2xkZW4gRFBNIHRhYmxlCj4gLSAgICAgICAgICAgICAgICAqIGFzIHRoZSBI ZWF0bWFwIEdQVSBDbG9jayBheGlzIGlzIGFsc28gYmFzZWQgb24gdGhlIGRlZmF1bHQgdmFsdWVz Cj4gLSAgICAgICAgICAgICAgICAqLwo+IC0gICAgICAgICAgICAgICAgICAgICAgIFBQX0FTU0VS VF9XSVRIX0NPREUoCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ29sZGVuX2Rw bV90YWJsZS0+c2Nsa190YWJsZS5kcG1fbGV2ZWxzCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgW2dvbGRlbl9kcG1fdGFibGUtPnNjbGtfdGFibGUuY291 bnQgLSAxXS52YWx1ZSAhPSAwKSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJE aXZpZGUgYnkgMCEiLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUwpOwo+IC0gICAgICAgICAgICAgICAgICAgICAgIGRwbV9jb3VudCA9IGRwbV90YWJsZS0+ c2Nsa190YWJsZS5jb3VudCA8IDIgPyAwIDogZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmNvdW50IC0g MjsKPiAtCj4gLSAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gZHBtX2NvdW50OyBpID4g MTsgaS0tKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2NsayA+IGdv bGRlbl9kcG1fdGFibGUtPnNjbGtfdGFibGUuZHBtX2xldmVsc1tnb2xkZW5fZHBtX3RhYmxlLT5z Y2xrX3RhYmxlLmNvdW50LTFdLnZhbHVlKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNsb2NrX3BlcmNlbnQgPQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoKHNjbGsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtIGdvbGRlbl9kcG1fdGFibGUtPnNjbGtfdGFibGUuZHBtX2xl dmVsc1tnb2xkZW5fZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmNvdW50LTFdLnZhbHVlCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAqIDEwMCkKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIGdvbGRlbl9kcG1f dGFibGUtPnNjbGtfdGFibGUuZHBtX2xldmVsc1tnb2xkZW5fZHBtX3RhYmxlLT5zY2xrX3RhYmxl LmNvdW50LTFdLnZhbHVlOwo+IC0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFsdWUgPQo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29sZGVu X2RwbV90YWJsZS0+c2Nsa190YWJsZS5kcG1fbGV2ZWxzW2ldLnZhbHVlICsKPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnb2xkZW5fZHBt X3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFsdWUgKgo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9ja19w ZXJjZW50KS8xMDA7Cj4gLQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNl IGlmIChnb2xkZW5fZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5z Y2xrX3RhYmxlLmNvdW50LTFdLnZhbHVlID4gc2Nsaykgewo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjbG9ja19wZXJjZW50ID0KPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGdvbGRlbl9kcG1fdGFibGUtPnNjbGtfdGFi bGUuZHBtX2xldmVsc1tnb2xkZW5fZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmNvdW50IC0gMV0udmFs dWUKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHNj bGspICogMTAwKQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8gZ29sZGVuX2RwbV90YWJsZS0+c2Nsa190YWJsZS5kcG1fbGV2ZWxzW2dvbGRlbl9kcG1f dGFibGUtPnNjbGtfdGFibGUuY291bnQtMV0udmFsdWU7Cj4gLQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkcG1fdGFibGUtPnNjbGtfdGFibGUuZHBtX2xldmVsc1tp XS52YWx1ZSA9Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnb2xkZW5fZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFs dWUgLQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGdvbGRlbl9kcG1fdGFibGUtPnNjbGtfdGFibGUuZHBtX2xldmVsc1tpXS52YWx1ZSAq Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2xvY2tfcGVyY2VudCkgLyAxMDA7Cj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9IGVsc2UKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZHBtX3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFsdWUgPQo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29s ZGVuX2RwbV90YWJsZS0+c2Nsa190YWJsZS5kcG1fbGV2ZWxzW2ldLnZhbHVlOwo+IC0gICAgICAg ICAgICAgICAgICAgICAgIH0KPiArICAgICAgIGlmIChod21nci0+b2RfZW5hYmxlZCAmJiBkYXRh LT5uZWVkX3VwZGF0ZV9zbXU3X2RwbV90YWJsZSAmIERQTVRBQkxFX09EX1VQREFURV9TQ0xLKSB7 Cj4gKyAgICAgICAgICAgICAgIGZvciAoY291bnQgPSAwOyBjb3VudCA8IGRwbV90YWJsZS0+c2Ns a190YWJsZS5jb3VudDsgY291bnQrKykgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGRwbV90 YWJsZS0+c2Nsa190YWJsZS5kcG1fbGV2ZWxzW2NvdW50XS5lbmFibGVkID0gb2RuX3NjbGtfdGFi bGUtPmVudHJpZXNbY291bnRdLmVuYWJsZWQ7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZHBt X3RhYmxlLT5zY2xrX3RhYmxlLmRwbV9sZXZlbHNbY291bnRdLnZhbHVlID0gb2RuX3NjbGtfdGFi bGUtPmVudHJpZXNbY291bnRdLmNsb2NrOwo+ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICB9 Cj4KPiAtICAgICAgIGlmIChkYXRhLT5uZWVkX3VwZGF0ZV9zbXU3X2RwbV90YWJsZSAmIERQTVRB QkxFX09EX1VQREFURV9NQ0xLKSB7Cj4gLSAgICAgICAgICAgICAgIGRwbV90YWJsZS0+bWNsa190 YWJsZS5kcG1fbGV2ZWxzCj4gLSAgICAgICAgICAgICAgICAgICAgICAgW2RwbV90YWJsZS0+bWNs a190YWJsZS5jb3VudCAtIDFdLnZhbHVlID0gbWNsazsKPiAtCj4gLSAgICAgICAgICAgICAgIGlm IChod21nci0+b2RfZW5hYmxlZCkgewo+IC0KPiAtICAgICAgICAgICAgICAgICAgICAgICBQUF9B U1NFUlRfV0lUSF9DT0RFKAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZ29sZGVuX2RwbV90YWJsZS0+bWNsa190YWJsZS5kcG1fbGV2ZWxzCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvbGRlbl9kcG1fdGFibGUtPm1j bGtfdGFibGUuY291bnQtMV0udmFsdWUgIT0gMCksCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJEaXZpZGUgYnkgMCEiLAo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTCk7Cj4gLSAgICAgICAgICAgICAgICAgICAg ICAgZHBtX2NvdW50ID0gZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmNvdW50IDwgMiA/IDAgOiBkcG1f dGFibGUtPm1jbGtfdGFibGUuY291bnQgLSAyOwo+IC0gICAgICAgICAgICAgICAgICAgICAgIGZv ciAoaSA9IGRwbV9jb3VudDsgaSA+IDE7IGktLSkgewo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaWYgKGdvbGRlbl9kcG1fdGFibGUtPm1jbGtfdGFibGUuZHBtX2xldmVsc1tnb2xk ZW5fZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmNvdW50LTFdLnZhbHVlIDwgbWNsaykgewo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9ja19wZXJjZW50ID0gKChtY2xr IC0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29sZGVuX2RwbV90 YWJsZS0+bWNsa190YWJsZS5kcG1fbGV2ZWxzW2dvbGRlbl9kcG1fdGFibGUtPm1jbGtfdGFibGUu Y291bnQtMV0udmFsdWUpICogMTAwKQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvIGdvbGRlbl9kcG1fdGFibGUtPm1jbGtfdGFibGUuZHBtX2xldmVsc1tnb2xkZW5f ZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmNvdW50LTFdLnZhbHVlOwo+IC0KPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmRwbV9sZXZl bHNbaV0udmFsdWUgPQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ29sZGVuX2RwbV90YWJsZS0+bWNsa190YWJsZS5kcG1fbGV2ZWxzW2ld LnZhbHVlICsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChnb2xkZW5fZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFs dWUgKgo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2xvY2tfcGVyY2VudCkgLyAxMDA7Cj4gLQo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfSBlbHNlIGlmIChnb2xkZW5fZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmRwbV9sZXZl bHNbZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmNvdW50LTFdLnZhbHVlID4gbWNsaykgewo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9ja19wZXJjZW50ID0gKAo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdvbGRlbl9kcG1fdGFibGUt Pm1jbGtfdGFibGUuZHBtX2xldmVsc1tnb2xkZW5fZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmNvdW50 LTFdLnZhbHVlIC0gbWNsaykKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKiAxMDApCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gZ29s ZGVuX2RwbV90YWJsZS0+bWNsa190YWJsZS5kcG1fbGV2ZWxzW2dvbGRlbl9kcG1fdGFibGUtPm1j bGtfdGFibGUuY291bnQtMV0udmFsdWU7Cj4gLQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkcG1fdGFibGUtPm1jbGtfdGFibGUuZHBtX2xldmVsc1tpXS52YWx1ZSA9 Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnb2xkZW5fZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFsdWUgLQo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdv bGRlbl9kcG1fdGFibGUtPm1jbGtfdGFibGUuZHBtX2xldmVsc1tpXS52YWx1ZSAqCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2xvY2tfcGVyY2VudCkgLyAxMDA7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9IGVsc2UKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZHBtX3RhYmxlLT5tY2xrX3RhYmxlLmRwbV9sZXZlbHNbaV0udmFsdWUgPQo+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29sZGVuX2RwbV90 YWJsZS0+bWNsa190YWJsZS5kcG1fbGV2ZWxzW2ldLnZhbHVlOwo+IC0gICAgICAgICAgICAgICAg ICAgICAgIH0KPiArICAgICAgIGlmIChod21nci0+b2RfZW5hYmxlZCAmJiBkYXRhLT5uZWVkX3Vw ZGF0ZV9zbXU3X2RwbV90YWJsZSAmIERQTVRBQkxFX09EX1VQREFURV9NQ0xLKSB7Cj4gKyAgICAg ICAgICAgICAgIGZvciAoY291bnQgPSAwOyBjb3VudCA8IGRwbV90YWJsZS0+bWNsa190YWJsZS5j b3VudDsgY291bnQrKykgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGRwbV90YWJsZS0+bWNs a190YWJsZS5kcG1fbGV2ZWxzW2NvdW50XS5lbmFibGVkID0gb2RuX21jbGtfdGFibGUtPmVudHJp ZXNbY291bnRdLmVuYWJsZWQ7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZHBtX3RhYmxlLT5t Y2xrX3RhYmxlLmRwbV9sZXZlbHNbY291bnRdLnZhbHVlID0gb2RuX21jbGtfdGFibGUtPmVudHJp ZXNbY291bnRdLmNsb2NrOwo+ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICB9Cj4KPiBAQCAt NDExNCw2ICs0MDMzLDcgQEAgc3RhdGljIGludCBzbXU3X2NoZWNrX3N0YXRlc19lcXVhbChzdHJ1 Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+ICAgICAgICAgY29uc3Qgc3RydWN0IHNtdTdfcG93ZXJfc3Rh dGUgKnBzYTsKPiAgICAgICAgIGNvbnN0IHN0cnVjdCBzbXU3X3Bvd2VyX3N0YXRlICpwc2I7Cj4g ICAgICAgICBpbnQgaTsKPiArICAgICAgIHN0cnVjdCBzbXU3X2h3bWdyICpkYXRhID0gKHN0cnVj dCBzbXU3X2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPgo+ICAgICAgICAgaWYgKHBzdGF0ZTEg PT0gTlVMTCB8fCBwc3RhdGUyID09IE5VTEwgfHwgZXF1YWwgPT0gTlVMTCkKPiAgICAgICAgICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gQEAgLTQxMzgsNiArNDA1OCwxMCBAQCBzdGF0aWMgaW50 IHNtdTdfY2hlY2tfc3RhdGVzX2VxdWFsKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCj4gICAgICAg ICAqZXF1YWwgPSAoKHBzYS0+dXZkX2Nsa3MudmNsayA9PSBwc2ItPnV2ZF9jbGtzLnZjbGspICYm IChwc2EtPnV2ZF9jbGtzLmRjbGsgPT0gcHNiLT51dmRfY2xrcy5kY2xrKSk7Cj4gICAgICAgICAq ZXF1YWwgJj0gKChwc2EtPnZjZV9jbGtzLmV2Y2xrID09IHBzYi0+dmNlX2Nsa3MuZXZjbGspICYm IChwc2EtPnZjZV9jbGtzLmVjY2xrID09IHBzYi0+dmNlX2Nsa3MuZWNjbGspKTsKPiAgICAgICAg ICplcXVhbCAmPSAocHNhLT5zY2xrX3RocmVzaG9sZCA9PSBwc2ItPnNjbGtfdGhyZXNob2xkKTsK PiArICAgICAgIC8qIEZvciBPRCBjYWxsLCBzZXQgdmFsdWUgYmFzZWQgb24gZmxhZyAqLwo+ICsg ICAgICAgKmVxdWFsICY9ICEoZGF0YS0+bmVlZF91cGRhdGVfc211N19kcG1fdGFibGUgJiAoRFBN VEFCTEVfT0RfVVBEQVRFX1NDTEsgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRFBNVEFCTEVfT0RfVVBEQVRFX01DTEsgfAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFBNVEFC TEVfT0RfVVBEQVRFX1ZEREMpKTsKPgo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL2Zpamlfc211bWdyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvZmlqaV9zbXVtZ3IuYwo+IGlu ZGV4IDdkOWUyY2IuLmM0YTk0ZDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvc211bWdyL2Zpamlfc211bWdyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9zbXVtZ3IvZmlqaV9zbXVtZ3IuYwo+IEBAIC05ODEsMTIgKzk4MSwxOCBAQCBz dGF0aWMgaW50IGZpamlfcG9wdWxhdGVfc2luZ2xlX2dyYXBoaWNfbGV2ZWwoc3RydWN0IHBwX2h3 bWdyICpod21nciwKPiAgICAgICAgIHN0cnVjdCBzbXU3X2h3bWdyICpkYXRhID0gKHN0cnVjdCBz bXU3X2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiAgICAgICAgIHN0cnVjdCBwaG1fcHB0X3Yx X2luZm9ybWF0aW9uICp0YWJsZV9pbmZvID0KPiAgICAgICAgICAgICAgICAgICAgICAgICAoc3Ry dWN0IHBobV9wcHRfdjFfaW5mb3JtYXRpb24gKikoaHdtZ3ItPnBwdGFibGUpOwo+ICsgICAgICAg cGhtX3BwdF92MV9jbG9ja192b2x0YWdlX2RlcGVuZGVuY3lfdGFibGUgKnZkZF9kZXBfdGFibGUg PSBOVUxMOwo+Cj4gICAgICAgICByZXN1bHQgPSBmaWppX2NhbGN1bGF0ZV9zY2xrX3BhcmFtcyho d21nciwgY2xvY2ssIGxldmVsKTsKPgo+ICsgICAgICAgaWYgKGRhdGEtPm5lZWRfdXBkYXRlX3Nt dTdfZHBtX3RhYmxlICYgRFBNVEFCTEVfT0RfVVBEQVRFX1ZEREMpCj4gKyAgICAgICAgICAgICAg IHZkZF9kZXBfdGFibGUgPSAocGhtX3BwdF92MV9jbG9ja192b2x0YWdlX2RlcGVuZGVuY3lfdGFi bGUgKikmZGF0YS0+b2RuX2RwbV90YWJsZS52ZGRfZGVwZW5kZW5jeV9vbl9zY2xrOwo+ICsgICAg ICAgZWxzZQo+ICsgICAgICAgICAgICAgICB2ZGRfZGVwX3RhYmxlID0gdGFibGVfaW5mby0+dmRk X2RlcF9vbl9zY2xrOwo+ICsKPiAgICAgICAgIC8qIHBvcHVsYXRlIGdyYXBoaWNzIGxldmVscyAq Lwo+ICAgICAgICAgcmVzdWx0ID0gZmlqaV9nZXRfZGVwZW5kZW5jeV92b2x0X2J5X2Nsayhod21n ciwKPiAtICAgICAgICAgICAgICAgICAgICAgICB0YWJsZV9pbmZvLT52ZGRfZGVwX29uX3NjbGss IGNsb2NrLAo+ICsgICAgICAgICAgICAgICAgICAgICAgIHZkZF9kZXBfdGFibGUsIGNsb2NrLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCAqKSgmbGV2ZWwtPk1pblZvbHRhZ2Up LCAmbXZkZCk7Cj4gICAgICAgICBQUF9BU1NFUlRfV0lUSF9DT0RFKCgwID09IHJlc3VsdCksCj4g ICAgICAgICAgICAgICAgICAgICAgICAgImNhbiBub3QgZmluZCBWRERDIHZvbHRhZ2UgdmFsdWUg Zm9yICIKPiBAQCAtMTIwMiwxMCArMTIwOCwxNiBAQCBzdGF0aWMgaW50IGZpamlfcG9wdWxhdGVf c2luZ2xlX21lbW9yeV9sZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgIChzdHJ1Y3QgcGhtX3BwdF92MV9pbmZvcm1hdGlvbiAqKShod21nci0+cHB0 YWJsZSk7Cj4gICAgICAgICBpbnQgcmVzdWx0ID0gMDsKPiAgICAgICAgIHVpbnQzMl90IG1jbGtf c3R1dHRlcl9tb2RlX3RocmVzaG9sZCA9IDYwMDAwOwo+ICsgICAgICAgcGhtX3BwdF92MV9jbG9j a192b2x0YWdlX2RlcGVuZGVuY3lfdGFibGUgKnZkZF9kZXBfdGFibGUgPSBOVUxMOwo+ICsKPiAr ICAgICAgIGlmIChkYXRhLT5uZWVkX3VwZGF0ZV9zbXU3X2RwbV90YWJsZSAmIERQTVRBQkxFX09E X1VQREFURV9WRERDKQo+ICsgICAgICAgICAgICAgICB2ZGRfZGVwX3RhYmxlID0gKHBobV9wcHRf djFfY2xvY2tfdm9sdGFnZV9kZXBlbmRlbmN5X3RhYmxlICopJmRhdGEtPm9kbl9kcG1fdGFibGUu dmRkX2RlcGVuZGVuY3lfb25fc2NsazsKPiArICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAg dmRkX2RlcF90YWJsZSA9IHRhYmxlX2luZm8tPnZkZF9kZXBfb25fbWNsazsKPgo+IC0gICAgICAg aWYgKHRhYmxlX2luZm8tPnZkZF9kZXBfb25fbWNsaykgewo+ICsgICAgICAgaWYgKHZkZF9kZXBf dGFibGUpIHsKPiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmlqaV9nZXRfZGVwZW5kZW5jeV92 b2x0X2J5X2Nsayhod21nciwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxl X2luZm8tPnZkZF9kZXBfb25fbWNsaywgY2xvY2ssCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2ZGRfZGVwX3RhYmxlLCBjbG9jaywKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICh1aW50MzJfdCAqKSgmbWVtX2xldmVsLT5NaW5Wb2x0YWdlKSwgJm1lbV9sZXZlbC0+ TWluTXZkZCk7Cj4gICAgICAgICAgICAgICAgIFBQX0FTU0VSVF9XSVRIX0NPREUoKDAgPT0gcmVz dWx0KSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjYW4gbm90IGZpbmQgTWlu VmRkYyB2b2x0YWdlIHZhbHVlIGZyb20gbWVtb3J5ICIKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3BvbGFyaXMxMF9zbXVtZ3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9wb2xhcmlzMTBfc211bWdyLmMKPiBpbmRleCBm MWEzYmM4Li5jMGM2MjdmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L3NtdW1nci9wb2xhcmlzMTBfc211bWdyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9zbXVtZ3IvcG9sYXJpczEwX3NtdW1nci5jCj4gQEAgLTk0OCwxMiArOTQ4LDE4 IEBAIHN0YXRpYyBpbnQgcG9sYXJpczEwX3BvcHVsYXRlX3NpbmdsZV9ncmFwaGljX2xldmVsKHN0 cnVjdCBwcF9od21nciAqaHdtZ3IsCj4gICAgICAgICBzdHJ1Y3QgcGhtX3BwdF92MV9pbmZvcm1h dGlvbiAqdGFibGVfaW5mbyA9Cj4gICAgICAgICAgICAgICAgICAgICAgICAgKHN0cnVjdCBwaG1f cHB0X3YxX2luZm9ybWF0aW9uICopKGh3bWdyLT5wcHRhYmxlKTsKPiAgICAgICAgIFNNVV9TY2xr U2V0dGluZyBjdXJyX3NjbGtfc2V0dGluZyA9IHsgMCB9Owo+ICsgICAgICAgcGhtX3BwdF92MV9j bG9ja192b2x0YWdlX2RlcGVuZGVuY3lfdGFibGUgKnZkZF9kZXBfdGFibGUgPSBOVUxMOwo+Cj4g ICAgICAgICByZXN1bHQgPSBwb2xhcmlzMTBfY2FsY3VsYXRlX3NjbGtfcGFyYW1zKGh3bWdyLCBj bG9jaywgJmN1cnJfc2Nsa19zZXR0aW5nKTsKPgo+ICsgICAgICAgaWYgKGRhdGEtPm5lZWRfdXBk YXRlX3NtdTdfZHBtX3RhYmxlICYgRFBNVEFCTEVfT0RfVVBEQVRFX1ZEREMpCj4gKyAgICAgICAg ICAgICAgIHZkZF9kZXBfdGFibGUgPSAocGhtX3BwdF92MV9jbG9ja192b2x0YWdlX2RlcGVuZGVu Y3lfdGFibGUgKikmZGF0YS0+b2RuX2RwbV90YWJsZS52ZGRfZGVwZW5kZW5jeV9vbl9zY2xrOwo+ ICsgICAgICAgZWxzZQo+ICsgICAgICAgICAgICAgICB2ZGRfZGVwX3RhYmxlID0gdGFibGVfaW5m by0+dmRkX2RlcF9vbl9zY2xrOwo+ICsKPiAgICAgICAgIC8qIHBvcHVsYXRlIGdyYXBoaWNzIGxl dmVscyAqLwo+ICAgICAgICAgcmVzdWx0ID0gcG9sYXJpczEwX2dldF9kZXBlbmRlbmN5X3ZvbHRf YnlfY2xrKGh3bWdyLAo+IC0gICAgICAgICAgICAgICAgICAgICAgIHRhYmxlX2luZm8tPnZkZF9k ZXBfb25fc2NsaywgY2xvY2ssCj4gKyAgICAgICAgICAgICAgICAgICAgICAgdmRkX2RlcF90YWJs ZSwgY2xvY2ssCj4gICAgICAgICAgICAgICAgICAgICAgICAgJmxldmVsLT5NaW5Wb2x0YWdlLCAm bXZkZCk7Cj4KPiAgICAgICAgIFBQX0FTU0VSVF9XSVRIX0NPREUoKDAgPT0gcmVzdWx0KSwKPiBA QCAtMTEwNywxMiArMTExMywxOCBAQCBzdGF0aWMgaW50IHBvbGFyaXMxMF9wb3B1bGF0ZV9zaW5n bGVfbWVtb3J5X2xldmVsKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCj4gICAgICAgICBpbnQgcmVz dWx0ID0gMDsKPiAgICAgICAgIHN0cnVjdCBjZ3NfZGlzcGxheV9pbmZvIGluZm8gPSB7MCwgMCwg TlVMTH07Cj4gICAgICAgICB1aW50MzJfdCBtY2xrX3N0dXR0ZXJfbW9kZV90aHJlc2hvbGQgPSA0 MDAwMDsKPiArICAgICAgIHBobV9wcHRfdjFfY2xvY2tfdm9sdGFnZV9kZXBlbmRlbmN5X3RhYmxl ICp2ZGRfZGVwX3RhYmxlID0gTlVMTDsKPgo+ICAgICAgICAgY2dzX2dldF9hY3RpdmVfZGlzcGxh eXNfaW5mbyhod21nci0+ZGV2aWNlLCAmaW5mbyk7Cj4KPiAtICAgICAgIGlmICh0YWJsZV9pbmZv LT52ZGRfZGVwX29uX21jbGspIHsKPiArICAgICAgIGlmIChkYXRhLT5uZWVkX3VwZGF0ZV9zbXU3 X2RwbV90YWJsZSAmIERQTVRBQkxFX09EX1VQREFURV9WRERDKQo+ICsgICAgICAgICAgICAgICB2 ZGRfZGVwX3RhYmxlID0gKHBobV9wcHRfdjFfY2xvY2tfdm9sdGFnZV9kZXBlbmRlbmN5X3RhYmxl ICopJmRhdGEtPm9kbl9kcG1fdGFibGUudmRkX2RlcGVuZGVuY3lfb25fc2NsazsKPiArICAgICAg IGVsc2UKPiArICAgICAgICAgICAgICAgdmRkX2RlcF90YWJsZSA9IHRhYmxlX2luZm8tPnZkZF9k ZXBfb25fbWNsazsKPiArCj4gKyAgICAgICBpZiAodmRkX2RlcF90YWJsZSkgewo+ICAgICAgICAg ICAgICAgICByZXN1bHQgPSBwb2xhcmlzMTBfZ2V0X2RlcGVuZGVuY3lfdm9sdF9ieV9jbGsoaHdt Z3IsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZV9pbmZvLT52ZGRfZGVw X29uX21jbGssIGNsb2NrLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmRkX2Rl cF90YWJsZSwgY2xvY2ssCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWVtX2xl dmVsLT5NaW5Wb2x0YWdlLCAmbWVtX2xldmVsLT5NaW5NdmRkKTsKPiAgICAgICAgICAgICAgICAg UFBfQVNTRVJUX1dJVEhfQ09ERSgoMCA9PSByZXN1bHQpLAo+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImNhbiBub3QgZmluZCBNaW5WZGRjIHZvbHRhZ2UgdmFsdWUgZnJvbSBtZW1v cnkgIgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3Iv dG9uZ2Ffc211bWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvdG9u Z2Ffc211bWdyLmMKPiBpbmRleCBhMDNhMzQ1Li41MmU2OWU4IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci90b25nYV9zbXVtZ3IuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci90b25nYV9zbXVtZ3IuYwo+IEBAIC02 MjAsMTIgKzYyMCwxOCBAQCBzdGF0aWMgaW50IHRvbmdhX3BvcHVsYXRlX3NpbmdsZV9ncmFwaGlj X2xldmVsKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCj4gICAgICAgICBzdHJ1Y3Qgc211N19od21n ciAqZGF0YSA9IChzdHJ1Y3Qgc211N19od21nciAqKShod21nci0+YmFja2VuZCk7Cj4gICAgICAg ICBzdHJ1Y3QgcGhtX3BwdF92MV9pbmZvcm1hdGlvbiAqcHB0YWJsZV9pbmZvID0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cnVjdCBwaG1fcHB0X3YxX2luZm9ybWF0aW9uICopKGh3 bWdyLT5wcHRhYmxlKTsKPiArICAgICAgIHBobV9wcHRfdjFfY2xvY2tfdm9sdGFnZV9kZXBlbmRl bmN5X3RhYmxlICp2ZGRfZGVwX3RhYmxlID0gTlVMTDsKPgo+ICAgICAgICAgcmVzdWx0ID0gdG9u Z2FfY2FsY3VsYXRlX3NjbGtfcGFyYW1zKGh3bWdyLCBlbmdpbmVfY2xvY2ssIGdyYXBoaWNfbGV2 ZWwpOwo+Cj4gKyAgICAgICBpZiAoZGF0YS0+bmVlZF91cGRhdGVfc211N19kcG1fdGFibGUgJiBE UE1UQUJMRV9PRF9VUERBVEVfVkREQykKPiArICAgICAgICAgICAgICAgdmRkX2RlcF90YWJsZSA9 IChwaG1fcHB0X3YxX2Nsb2NrX3ZvbHRhZ2VfZGVwZW5kZW5jeV90YWJsZSAqKSZkYXRhLT5vZG5f ZHBtX3RhYmxlLnZkZF9kZXBlbmRlbmN5X29uX3NjbGs7Cj4gKyAgICAgICBlbHNlCj4gKyAgICAg ICAgICAgICAgIHZkZF9kZXBfdGFibGUgPSBwcHRhYmxlX2luZm8tPnZkZF9kZXBfb25fc2NsazsK PiArCj4gICAgICAgICAvKiBwb3B1bGF0ZSBncmFwaGljcyBsZXZlbHMqLwo+ICAgICAgICAgcmVz dWx0ID0gdG9uZ2FfZ2V0X2RlcGVuZGVuY3lfdm9sdF9ieV9jbGsoaHdtZ3IsCj4gLSAgICAgICAg ICAgICAgIHBwdGFibGVfaW5mby0+dmRkX2RlcF9vbl9zY2xrLCBlbmdpbmVfY2xvY2ssCj4gKyAg ICAgICAgICAgICAgIHZkZF9kZXBfdGFibGUsIGVuZ2luZV9jbG9jaywKPiAgICAgICAgICAgICAg ICAgJmdyYXBoaWNfbGV2ZWwtPk1pblZvbHRhZ2UsICZtdmRkKTsKPiAgICAgICAgIFBQX0FTU0VS VF9XSVRIX0NPREUoKCFyZXN1bHQpLAo+ICAgICAgICAgICAgICAgICAiY2FuIG5vdCBmaW5kIFZE REMgdm9sdGFnZSB2YWx1ZSBmb3IgVkREQyAiCj4gQEAgLTk2NiwxMCArOTcyLDE2IEBAIHN0YXRp YyBpbnQgdG9uZ2FfcG9wdWxhdGVfc2luZ2xlX21lbW9yeV9sZXZlbCgKPiAgICAgICAgIHVpbnQz Ml90IG1jbGtfc3R1dHRlcl9tb2RlX3RocmVzaG9sZCA9IDMwMDAwOwo+ICAgICAgICAgdWludDMy X3QgbWNsa19lZGNfZW5hYmxlX3RocmVzaG9sZCA9IDQwMDAwOwo+ICAgICAgICAgdWludDMyX3Qg bWNsa19zdHJvYmVfbW9kZV90aHJlc2hvbGQgPSA0MDAwMDsKPiArICAgICAgIHBobV9wcHRfdjFf Y2xvY2tfdm9sdGFnZV9kZXBlbmRlbmN5X3RhYmxlICp2ZGRfZGVwX3RhYmxlID0gTlVMTDsKPiAr Cj4gKyAgICAgICBpZiAoZGF0YS0+bmVlZF91cGRhdGVfc211N19kcG1fdGFibGUgJiBEUE1UQUJM RV9PRF9VUERBVEVfVkREQykKPiArICAgICAgICAgICAgICAgdmRkX2RlcF90YWJsZSA9IChwaG1f cHB0X3YxX2Nsb2NrX3ZvbHRhZ2VfZGVwZW5kZW5jeV90YWJsZSAqKSZkYXRhLT5vZG5fZHBtX3Rh YmxlLnZkZF9kZXBlbmRlbmN5X29uX3NjbGs7Cj4gKyAgICAgICBlbHNlCj4gKyAgICAgICAgICAg ICAgIHZkZF9kZXBfdGFibGUgPSBwcHRhYmxlX2luZm8tPnZkZF9kZXBfb25fbWNsazsKPgo+IC0g ICAgICAgaWYgKE5VTEwgIT0gcHB0YWJsZV9pbmZvLT52ZGRfZGVwX29uX21jbGspIHsKPiArICAg ICAgIGlmIChOVUxMICE9IHZkZF9kZXBfdGFibGUpIHsKPiAgICAgICAgICAgICAgICAgcmVzdWx0 ID0gdG9uZ2FfZ2V0X2RlcGVuZGVuY3lfdm9sdF9ieV9jbGsoaHdtZ3IsCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcHRhYmxlX2luZm8tPnZkZF9kZXBfb25fbWNsaywKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkZF9kZXBfdGFibGUsCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtZW1vcnlfY2xvY2ssCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmbWVtb3J5X2xldmVsLT5NaW5Wb2x0YWdlLCAmbXZkZCk7Cj4gICAgICAgICAg ICAgICAgIFBQX0FTU0VSVF9XSVRIX0NPREUoCj4gLS0KPiAxLjkuMQo+Cj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlz dAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeAo=