From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v2] x86: assorted array_index_nospec() insertions Date: Thu, 26 Jul 2018 13:25:53 +0000 Message-ID: <29f7dad6aaf642d69a9c805b6693fa01@AMSPEX02CL03.citrite.net> References: <5B59C78002000078001D8317@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1figHG-0008Bw-AQ for xen-devel@lists.xenproject.org; Thu, 26 Jul 2018 13:25:58 +0000 In-Reply-To: <5B59C78002000078001D8317@prv1-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'Jan Beulich' , xen-devel Cc: Andrew Cooper , Tamas K Lengyel , Razvan Cojocaru List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMjYgSnVseSAyMDE4IDE0OjA3Cj4gVG86IHhlbi1k ZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPgo+IENjOiBSYXp2YW4gQ29qb2Nh cnUgPHJjb2pvY2FydUBiaXRkZWZlbmRlci5jb20+OyBBbmRyZXcgQ29vcGVyCj4gPEFuZHJldy5D b29wZXIzQGNpdHJpeC5jb20+OyBQYXVsIER1cnJhbnQgPFBhdWwuRHVycmFudEBjaXRyaXguY29t PjsKPiBUYW1hcyBLIExlbmd5ZWwgPHRhbWFzQHRrbGVuZ3llbC5jb20+Cj4gU3ViamVjdDogW1BB VENIIHYyXSB4ODY6IGFzc29ydGVkIGFycmF5X2luZGV4X25vc3BlYygpIGluc2VydGlvbnMKPiAK PiBEb24ndCBjaGFuY2UgaGF2aW5nIFNwZWN0cmUgdjEgKGluY2x1ZGluZyBCQ0JTKSBnYWRnZXRz LiBJbiBzb21lIG9mIHRoZQo+IGNhc2VzIHRoZSBpbnNlcnRpb25zIGFyZSBtb3JlIG9mIHByZWNh dXRpb25hcnkgbmF0dXJlIHJhdGhlciB0aGFuIHRoZXJlCj4gcHJvdmFibHkgYmVpbmcgYSBnYWRn ZXQsIGJ1dCBJIHRoaW5rIHdlIHNob3VsZCBlcnIgb24gdGhlIHNhZmUgKHNlY3VyZSkKPiBzaWRl IGhlcmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t Pgo+IC0tLQo+IHYyOiBSZS1iYXNlLiBEcm9wIGd1ZXN0X2NwdWlkKCkgY2hhbmdlcy4gRml4IG9m Zi1ieS0xIGluCj4gICAgIHtkbyxjb21wYXR9X2RtX29wKCkuCj4gCj4gLS0tIGEveGVuL2FyY2gv eDg2L2RvbWN0bC5jCj4gKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCj4gQEAgLTI4LDYgKzI4 LDcgQEAKPiAgI2luY2x1ZGUgPHhlbi9oeXBlcmNhbGwuaD4gLyogZm9yIGFyY2hfZG9fZG9tY3Rs ICovCj4gICNpbmNsdWRlIDx4c20veHNtLmg+Cj4gICNpbmNsdWRlIDx4ZW4vaW9tbXUuaD4KPiAr I2luY2x1ZGUgPHhlbi9ub3NwZWMuaD4KPiAgI2luY2x1ZGUgPHhlbi92bV9ldmVudC5oPgo+ICAj aW5jbHVkZSA8cHVibGljL3ZtX2V2ZW50Lmg+Cj4gICNpbmNsdWRlIDxhc20vbWVtX3NoYXJpbmcu aD4KPiBAQCAtOTMsMjcgKzk0LDM0IEBAIHN0YXRpYyBpbnQgdXBkYXRlX2RvbWFpbl9jcHVpZF9p bmZvKHN0cnUKPiAgICAgIC8qIEluc2VydCBjdGwgZGF0YSBpbnRvIGNwdWlkX3BvbGljeS4gKi8K PiAgICAgIHN3aXRjaCAoIGN0bC0+aW5wdXRbMF0gKQo+ICAgICAgewo+ICsgICAgICAgIHVuc2ln bmVkIGludCBpZHg7Cj4gKwo+ICAgICAgY2FzZSAweDAwMDAwMDAwIC4uLiBBUlJBWV9TSVpFKHAt PmJhc2ljLnJhdykgLSAxOgo+ICAgICAgICAgIHN3aXRjaCAoIGN0bC0+aW5wdXRbMF0gKQo+ICAg ICAgICAgIHsKPiAgICAgICAgICBjYXNlIDQ6Cj4gLSAgICAgICAgICAgIHAtPmNhY2hlLnJhd1tj dGwtPmlucHV0WzFdXSA9IGxlYWY7Cj4gKyAgICAgICAgICAgIGlkeCA9IGFycmF5X2luZGV4X25v c3BlYyhjdGwtPmlucHV0WzFdLCBBUlJBWV9TSVpFKHAtPmNhY2hlLnJhdykpOwo+ICsgICAgICAg ICAgICBwLT5jYWNoZS5yYXdbaWR4XSA9IGxlYWY7Cj4gICAgICAgICAgICAgIGJyZWFrOwo+IAo+ ICAgICAgICAgIGNhc2UgNzoKPiAtICAgICAgICAgICAgcC0+ZmVhdC5yYXdbY3RsLT5pbnB1dFsx XV0gPSBsZWFmOwo+ICsgICAgICAgICAgICBpZHggPSBhcnJheV9pbmRleF9ub3NwZWMoY3RsLT5p bnB1dFsxXSwgQVJSQVlfU0laRShwLT5mZWF0LnJhdykpOwo+ICsgICAgICAgICAgICBwLT5mZWF0 LnJhd1tpZHhdID0gbGVhZjsKPiAgICAgICAgICAgICAgYnJlYWs7Cj4gCj4gICAgICAgICAgY2Fz ZSAweGI6Cj4gLSAgICAgICAgICAgIHAtPnRvcG8ucmF3W2N0bC0+aW5wdXRbMV1dID0gbGVhZjsK PiArICAgICAgICAgICAgaWR4ID0gYXJyYXlfaW5kZXhfbm9zcGVjKGN0bC0+aW5wdXRbMV0sIEFS UkFZX1NJWkUocC0+dG9wby5yYXcpKTsKPiArICAgICAgICAgICAgcC0+dG9wby5yYXdbaWR4XSA9 IGxlYWY7Cj4gICAgICAgICAgICAgIGJyZWFrOwo+IAo+ICAgICAgICAgIGNhc2UgWFNUQVRFX0NQ VUlEOgo+IC0gICAgICAgICAgICBwLT54c3RhdGUucmF3W2N0bC0+aW5wdXRbMV1dID0gbGVhZjsK PiArICAgICAgICAgICAgaWR4ID0gYXJyYXlfaW5kZXhfbm9zcGVjKGN0bC0+aW5wdXRbMV0sIEFS UkFZX1NJWkUocC0+eHN0YXRlLnJhdykpOwo+ICsgICAgICAgICAgICBwLT54c3RhdGUucmF3W2lk eF0gPSBsZWFmOwo+ICAgICAgICAgICAgICBicmVhazsKPiAKPiAgICAgICAgICBkZWZhdWx0Ogo+ IC0gICAgICAgICAgICBwLT5iYXNpYy5yYXdbY3RsLT5pbnB1dFswXV0gPSBsZWFmOwo+ICsgICAg ICAgICAgICBpZHggPSBhcnJheV9pbmRleF9ub3NwZWMoY3RsLT5pbnB1dFswXSwgQVJSQVlfU0la RShwLT5iYXNpYy5yYXcpKTsKPiArICAgICAgICAgICAgcC0+YmFzaWMucmF3W2lkeF0gPSBsZWFm Owo+ICAgICAgICAgICAgICBicmVhazsKPiAgICAgICAgICB9Cj4gICAgICAgICAgYnJlYWs7Cj4g QEAgLTEyNyw3ICsxMzUsOSBAQCBzdGF0aWMgaW50IHVwZGF0ZV9kb21haW5fY3B1aWRfaW5mbyhz dHJ1Cj4gICAgICAgICAgYnJlYWs7Cj4gCj4gICAgICBjYXNlIDB4ODAwMDAwMDAgLi4uIDB4ODAw MDAwMDAgKyBBUlJBWV9TSVpFKHAtPmV4dGQucmF3KSAtIDE6Cj4gLSAgICAgICAgcC0+ZXh0ZC5y YXdbY3RsLT5pbnB1dFswXSAtIDB4ODAwMDAwMDBdID0gbGVhZjsKPiArICAgICAgICBpZHggPSBh cnJheV9pbmRleF9ub3NwZWMoY3RsLT5pbnB1dFswXSAmIDB4ZmZmZiwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShwLT5leHRkLnJhdykpOwo+ICsgICAgICAg IHAtPmV4dGQucmF3W2lkeF0gPSBsZWFmOwo+ICAgICAgICAgIGJyZWFrOwo+ICAgICAgfQo+IAo+ IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0u Ywo+IEBAIC0xNyw2ICsxNyw3IEBACj4gICNpbmNsdWRlIDx4ZW4vZXZlbnQuaD4KPiAgI2luY2x1 ZGUgPHhlbi9ndWVzdF9hY2Nlc3MuaD4KPiAgI2luY2x1ZGUgPHhlbi9oeXBlcmNhbGwuaD4KPiAr I2luY2x1ZGUgPHhlbi9ub3NwZWMuaD4KPiAgI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgo+IAo+ICAj aW5jbHVkZSA8YXNtL2hhcC5oPgo+IEBAIC0yMzIsNyArMjMzLDcgQEAgc3RhdGljIGludCBzZXRf bWVtX3R5cGUoc3RydWN0IGRvbWFpbiAqZAo+ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgeGVuX2RtX29wX3NldF9tZW1fdHlwZSAqZGF0YSkKPiAgewo+ICAgICAgeGVuX3Bmbl90IGxh c3RfcGZuID0gZGF0YS0+Zmlyc3RfcGZuICsgZGF0YS0+bnIgLSAxOwo+IC0gICAgdW5zaWduZWQg aW50IGl0ZXIgPSAwOwo+ICsgICAgdW5zaWduZWQgaW50IGl0ZXIgPSAwLCBtZW1fdHlwZTsKPiAg ICAgIGludCByYyA9IDA7Cj4gCj4gICAgICAvKiBJbnRlcmZhY2UgdHlwZXMgdG8gaW50ZXJuYWwg cDJtIHR5cGVzICovCj4gQEAgLTI1Miw3ICsyNTMsOSBAQCBzdGF0aWMgaW50IHNldF9tZW1fdHlw ZShzdHJ1Y3QgZG9tYWluICpkCj4gICAgICAgICAgIHVubGlrZWx5KGRhdGEtPm1lbV90eXBlID09 IEhWTU1FTV91bnVzZWQpICkKPiAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAKPiAtICAgIGlm ICggZGF0YS0+bWVtX3R5cGUgID09IEhWTU1FTV9pb3JlcV9zZXJ2ZXIgKQo+ICsgICAgbWVtX3R5 cGUgPSBhcnJheV9pbmRleF9ub3NwZWMoZGF0YS0+bWVtX3R5cGUsCj4gQVJSQVlfU0laRShtZW10 eXBlKSk7Cj4gKwo+ICsgICAgaWYgKCBtZW1fdHlwZSA9PSBIVk1NRU1faW9yZXFfc2VydmVyICkK PiAgICAgIHsKPiAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Cj4gCj4gQEAgLTI3OSwxMCAr MjgyLDEwIEBAIHN0YXRpYyBpbnQgc2V0X21lbV90eXBlKHN0cnVjdCBkb21haW4gKmQKPiAKPiAg ICAgICAgICBpZiAoIHAybV9pc19zaGFyZWQodCkgKQo+ICAgICAgICAgICAgICByYyA9IC1FQUdB SU47Cj4gLSAgICAgICAgZWxzZSBpZiAoICFhbGxvd19wMm1fdHlwZV9jaGFuZ2UodCwgbWVtdHlw ZVtkYXRhLT5tZW1fdHlwZV0pICkKPiArICAgICAgICBlbHNlIGlmICggIWFsbG93X3AybV90eXBl X2NoYW5nZSh0LCBtZW10eXBlW21lbV90eXBlXSkgKQo+ICAgICAgICAgICAgICByYyA9IC1FSU5W QUw7Cj4gICAgICAgICAgZWxzZQo+IC0gICAgICAgICAgICByYyA9IHAybV9jaGFuZ2VfdHlwZV9v bmUoZCwgcGZuLCB0LCBtZW10eXBlW2RhdGEtPm1lbV90eXBlXSk7Cj4gKyAgICAgICAgICAgIHJj ID0gcDJtX2NoYW5nZV90eXBlX29uZShkLCBwZm4sIHQsIG1lbXR5cGVbbWVtX3R5cGVdKTsKPiAK PiAgICAgICAgICBwdXRfZ2ZuKGQsIHBmbik7Cj4gCj4gQEAgLTM4Nyw2ICszOTAsOCBAQCBzdGF0 aWMgaW50IGRtX29wKGNvbnN0IHN0cnVjdCBkbW9wX2FyZ3MKPiAgICAgICAgICBnb3RvIG91dDsK PiAgICAgIH0KPiAKPiArICAgIG9wLm9wID0gYXJyYXlfaW5kZXhfbm9zcGVjKG9wLm9wLCBBUlJB WV9TSVpFKG9wX3NpemUpKTsKPiArCj4gICAgICBpZiAoIG9wX2FyZ3MtPmJ1ZlswXS5zaXplIDwg b2Zmc2V0ICsgb3Bfc2l6ZVtvcC5vcF0gKQo+ICAgICAgICAgIGdvdG8gb3V0Owo+IAo+IEBAIC03 MzksNyArNzQ0LDcgQEAgaW50IGNvbXBhdF9kbV9vcChkb21pZF90IGRvbWlkLAo+ICAgICAgICAg IHJldHVybiAtRTJCSUc7Cj4gCj4gICAgICBhcmdzLmRvbWlkID0gZG9taWQ7Cj4gLSAgICBhcmdz Lm5yX2J1ZnMgPSBucl9idWZzOwo+ICsgICAgYXJncy5ucl9idWZzID0gYXJyYXlfaW5kZXhfbm9z cGVjKG5yX2J1ZnMsIEFSUkFZX1NJWkUoYXJncy5idWYpICsgMSk7CgpVc2luZyBzb21ldGhpbmcg Y2FsbGVkICdhcnJheV9pbmRleF9ub3NwZWMoKScgZm9yIGFuIGFycmF5IHNpemUgYW5kIGhhdmlu ZyB0byBhZGp1c3QgYnkgMSBpcyBraW5kIG9mIGEgYml0IHVnbHkgYnV0IGl0IGxvb2tzIGNvcnJl Y3QuCgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4g Cgo+IAo+ICAgICAgZm9yICggaSA9IDA7IGkgPCBhcmdzLm5yX2J1ZnM7IGkrKyApCj4gICAgICB7 Cj4gQEAgLTc3Niw3ICs3ODEsNyBAQCBsb25nIGRvX2RtX29wKGRvbWlkX3QgZG9taWQsCj4gICAg ICAgICAgcmV0dXJuIC1FMkJJRzsKPiAKPiAgICAgIGFyZ3MuZG9taWQgPSBkb21pZDsKPiAtICAg IGFyZ3MubnJfYnVmcyA9IG5yX2J1ZnM7Cj4gKyAgICBhcmdzLm5yX2J1ZnMgPSBhcnJheV9pbmRl eF9ub3NwZWMobnJfYnVmcywgQVJSQVlfU0laRShhcmdzLmJ1ZikgKyAxKTsKPiAKPiAgICAgIGlm ICggY29weV9mcm9tX2d1ZXN0X29mZnNldCgmYXJncy5idWZbMF0sIGJ1ZnMsIDAsIGFyZ3MubnJf YnVmcykgKQo+ICAgICAgICAgIHJldHVybiAtRUZBVUxUOwo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vaHlwZXJjYWxsLmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jCj4gQEAg LTIwLDYgKzIwLDcgQEAKPiAgICovCj4gICNpbmNsdWRlIDx4ZW4vbGliLmg+Cj4gICNpbmNsdWRl IDx4ZW4vaHlwZXJjYWxsLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vbm9zcGVjLmg+Cj4gCj4gICNpbmNs dWRlIDxhc20vaHZtL3N1cHBvcnQuaD4KPiAKPiBAQCAtMTgxLDggKzE4MiwxNSBAQCBpbnQgaHZt X2h5cGVyY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqCj4gICAgICBCVUlMRF9CVUdfT04oQVJS QVlfU0laRShodm1faHlwZXJjYWxsX3RhYmxlKSA+Cj4gICAgICAgICAgICAgICAgICAgQVJSQVlf U0laRShoeXBlcmNhbGxfYXJnc190YWJsZSkpOwo+IAo+IC0gICAgaWYgKCAoZWF4ID49IEFSUkFZ X1NJWkUoaHZtX2h5cGVyY2FsbF90YWJsZSkpIHx8Cj4gLSAgICAgICAgICFodm1faHlwZXJjYWxs X3RhYmxlW2VheF0ubmF0aXZlICkKPiArICAgIGlmICggZWF4ID49IEFSUkFZX1NJWkUoaHZtX2h5 cGVyY2FsbF90YWJsZSkgKQo+ICsgICAgewo+ICsgICAgICAgIHJlZ3MtPnJheCA9IC1FTk9TWVM7 Cj4gKyAgICAgICAgcmV0dXJuIEhWTV9IQ0FMTF9jb21wbGV0ZWQ7Cj4gKyAgICB9Cj4gKwo+ICsg ICAgZWF4ID0gYXJyYXlfaW5kZXhfbm9zcGVjKGVheCwgQVJSQVlfU0laRShodm1faHlwZXJjYWxs X3RhYmxlKSk7Cj4gKwo+ICsgICAgaWYgKCAhaHZtX2h5cGVyY2FsbF90YWJsZVtlYXhdLm5hdGl2 ZSApCj4gICAgICB7Cj4gICAgICAgICAgcmVncy0+cmF4ID0gLUVOT1NZUzsKPiAgICAgICAgICBy ZXR1cm4gSFZNX0hDQUxMX2NvbXBsZXRlZDsKPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vbWVtX2Fj Y2Vzcy5jCj4gKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYwo+IEBAIC0yMyw2ICsy Myw3IEBACj4gCj4gICNpbmNsdWRlIDx4ZW4vZ3Vlc3RfYWNjZXNzLmg+IC8qIGNvcHlfZnJvbV9n dWVzdCgpICovCj4gICNpbmNsdWRlIDx4ZW4vbWVtX2FjY2Vzcy5oPgo+ICsjaW5jbHVkZSA8eGVu L25vc3BlYy5oPgo+ICAjaW5jbHVkZSA8eGVuL3ZtX2V2ZW50Lmg+Cj4gICNpbmNsdWRlIDx4ZW4v ZXZlbnQuaD4KPiAgI2luY2x1ZGUgPHB1YmxpYy92bV9ldmVudC5oPgo+IEBAIC0zMzQsNiArMzM1 LDcgQEAgc3RhdGljIGJvb2wgeGVubWVtX2FjY2Vzc190b19wMm1fYWNjZXNzKAo+ICAgICAgc3dp dGNoICggeGFjY2VzcyApCj4gICAgICB7Cj4gICAgICBjYXNlIDAgLi4uIEFSUkFZX1NJWkUobWVt YWNjZXNzKSAtIDE6Cj4gKyAgICAgICAgeGFjY2VzcyA9IGFycmF5X2luZGV4X25vc3BlYyh4YWNj ZXNzLCBBUlJBWV9TSVpFKG1lbWFjY2VzcykpOwo+ICAgICAgICAgICpwYWNjZXNzID0gbWVtYWNj ZXNzW3hhY2Nlc3NdOwo+ICAgICAgICAgIGJyZWFrOwo+ICAgICAgY2FzZSBYRU5NRU1fYWNjZXNz X2RlZmF1bHQ6Cj4gLS0tIGEveGVuL2FyY2gveDg2L3B2L2h5cGVyY2FsbC5jCj4gKysrIGIveGVu L2FyY2gveDg2L3B2L2h5cGVyY2FsbC5jCj4gQEAgLTIxLDYgKzIxLDcgQEAKPiAKPiAgI2luY2x1 ZGUgPHhlbi9jb21waWxlci5oPgo+ICAjaW5jbHVkZSA8eGVuL2h5cGVyY2FsbC5oPgo+ICsjaW5j bHVkZSA8eGVuL25vc3BlYy5oPgo+ICAjaW5jbHVkZSA8eGVuL3RyYWNlLmg+Cj4gCj4gICNkZWZp bmUgSFlQRVJDQUxMKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAo+IEBAIC05OSw4ICsxMDAsMTUgQEAgdm9pZCBwdl9oeXBlcmNhbGwoc3RydWN0IGNw dV91c2VyX3JlZ3MgKgo+ICAgICAgQlVJTERfQlVHX09OKEFSUkFZX1NJWkUocHZfaHlwZXJjYWxs X3RhYmxlKSA+Cj4gICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShoeXBlcmNhbGxfYXJnc190 YWJsZSkpOwo+IAo+IC0gICAgaWYgKCAoZWF4ID49IEFSUkFZX1NJWkUocHZfaHlwZXJjYWxsX3Rh YmxlKSkgfHwKPiAtICAgICAgICAgIXB2X2h5cGVyY2FsbF90YWJsZVtlYXhdLm5hdGl2ZSApCj4g KyAgICBpZiAoIGVheCA+PSBBUlJBWV9TSVpFKHB2X2h5cGVyY2FsbF90YWJsZSkgKQo+ICsgICAg ewo+ICsgICAgICAgIHJlZ3MtPnJheCA9IC1FTk9TWVM7Cj4gKyAgICAgICAgcmV0dXJuOwo+ICsg ICAgfQo+ICsKPiArICAgIGVheCA9IGFycmF5X2luZGV4X25vc3BlYyhlYXgsIEFSUkFZX1NJWkUo cHZfaHlwZXJjYWxsX3RhYmxlKSk7Cj4gKwo+ICsgICAgaWYgKCAhcHZfaHlwZXJjYWxsX3RhYmxl W2VheF0ubmF0aXZlICkKPiAgICAgIHsKPiAgICAgICAgICByZWdzLT5yYXggPSAtRU5PU1lTOwo+ ICAgICAgICAgIHJldHVybjsKPiAKPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu Zm8veGVuLWRldmVs