From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:43636 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752047AbdHKFZp (ORCPT ); Fri, 11 Aug 2017 01:25:45 -0400 Received: from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net [74.93.104.98]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 50F321227C99D for ; Thu, 10 Aug 2017 22:25:44 -0700 (PDT) Date: Thu, 10 Aug 2017 22:25:42 -0700 (PDT) Message-Id: <20170810.222542.1499097723074181979.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_Aug_10_22_25_42_2017_848)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Thu_Aug_10_22_25_42_2017_848)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.9 and v4.12 -stable, respectively. Thank you! ----Next_Part(Thu_Aug_10_22_25_42_2017_848)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_49.mbox" RnJvbSAyNjI3OTJlMjJmNjA1ZWE4ODRhZDQ2OTVhZTY4YjYyYmZiNzcwN2JlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHYW8gRmVuZyA8Z2ZyZWUud2luZEB2aXAuMTYzLmNvbT4KRGF0 ZTogTW9uLCAxNyBKdWwgMjAxNyAxODozNDo0MiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTJd IHBwcDogRml4IGZhbHNlIHhtaXQgcmVjdXJzaW9uIGRldGVjdCB3aXRoIHR3byBwcHAKIGRldmlj ZXMKClsgVXBzdHJlYW0gY29tbWl0IGU1ZGFkYzY1ZjllMDE3N2ViNjQ5YmNkOWQzMzNmMWViZjg3 MTIyM2UgXQoKVGhlIGdsb2JhbCBwZXJjcHUgdmFyaWFibGUgcHBwX3htaXRfcmVjdXJzaW9uIGlz IHVzZWQgdG8gZGV0ZWN0IHRoZSBwcHAKeG1pdCByZWN1cnNpb24gdG8gYXZvaWQgdGhlIGRlYWRs b2NrLCB3aGljaCBpcyBjYXVzZWQgYnkgb25lIENQVSB0cmllcyB0bwpsb2NrIHRoZSB4bWl0IGxv Y2sgdHdpY2UuIEJ1dCBpdCB3b3VsZCByZXBvcnQgZmFsc2UgcmVjdXJzaW9uIHdoZW4gb25lIENQ VQp3YW50cyB0byBzZW5kIHRoZSBza2IgZnJvbSB0d28gZGlmZmVyZW50IFBQUCBkZXZpY2VzLCBs aWtlIG9uZSBMMlRQIG9uIHRoZQpQUFBvRS4gSXQgaXMgYSBub3JtYWwgY2FzZSBhY3R1YWxseS4K Ck5vdyB1c2Ugb25lIHBlcmNwdSBtZW1iZXIgb2Ygc3RydWN0IHBwcCBpbnN0ZWFkIG9mIHRoZSBn bG9hYmxlIHZhcmlhYmxlIHRvCmRldGVjdCB0aGUgeG1pdCByZWN1cnNpb24gb2Ygb25lIHBwcCBk ZXZpY2UuCgpGaXhlczogNTU0NTRhNTY1ODM2ICgicHBwOiBhdm9pZCBkZWFsb2NrIG9uIHJlY3Vy c2l2ZSB4bWl0IikKU2lnbmVkLW9mZi1ieTogR2FvIEZlbmcgPGdmcmVlLndpbmRAdmlwLjE2My5j b20+ClNpZ25lZC1vZmYtYnk6IExpdSBKaWFueWluZyA8amlhbnlpbmcubGl1QGlrdWFpOC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBkcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYyB8IDMwICsrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMgYi9kcml2ZXJz L25ldC9wcHAvcHBwX2dlbmVyaWMuYwppbmRleCA1NDg5YzBlYzFkOWEuLjY2N2YxOTdhYjY2YyAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMKKysrIGIvZHJpdmVycy9u ZXQvcHBwL3BwcF9nZW5lcmljLmMKQEAgLTExOSw2ICsxMTksNyBAQCBzdHJ1Y3QgcHBwIHsKIAlp bnQJCW5fY2hhbm5lbHM7CS8qIGhvdyBtYW55IGNoYW5uZWxzIGFyZSBhdHRhY2hlZCA1NCAqLwog CXNwaW5sb2NrX3QJcmxvY2s7CQkvKiBsb2NrIGZvciByZWNlaXZlIHNpZGUgNTggKi8KIAlzcGlu bG9ja190CXdsb2NrOwkJLyogbG9jayBmb3IgdHJhbnNtaXQgc2lkZSA1YyAqLworCWludAkJKnht aXRfcmVjdXJzaW9uIF9fcGVyY3B1OyAvKiB4bWl0IHJlY3Vyc2lvbiBkZXRlY3QgKi8KIAlpbnQJ CW1ydTsJCS8qIG1heCByZWNlaXZlIHVuaXQgNjAgKi8KIAl1bnNpZ25lZCBpbnQJZmxhZ3M7CQkv KiBjb250cm9sIGJpdHMgNjQgKi8KIAl1bnNpZ25lZCBpbnQJeHN0YXRlOwkJLyogdHJhbnNtaXQg c3RhdGUgYml0cyA2OCAqLwpAQCAtMTAyNCw2ICsxMDI1LDcgQEAgc3RhdGljIGludCBwcHBfZGV2 X2NvbmZpZ3VyZShzdHJ1Y3QgbmV0ICpzcmNfbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAog CXN0cnVjdCBwcHAgKnBwcCA9IG5ldGRldl9wcml2KGRldik7CiAJaW50IGluZHg7CiAJaW50IGVy cjsKKwlpbnQgY3B1OwogCiAJcHBwLT5kZXYgPSBkZXY7CiAJcHBwLT5wcHBfbmV0ID0gc3JjX25l dDsKQEAgLTEwMzgsNiArMTA0MCwxNSBAQCBzdGF0aWMgaW50IHBwcF9kZXZfY29uZmlndXJlKHN0 cnVjdCBuZXQgKnNyY19uZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJSU5JVF9MSVNUX0hF QUQoJnBwcC0+Y2hhbm5lbHMpOwogCXNwaW5fbG9ja19pbml0KCZwcHAtPnJsb2NrKTsKIAlzcGlu X2xvY2tfaW5pdCgmcHBwLT53bG9jayk7CisKKwlwcHAtPnhtaXRfcmVjdXJzaW9uID0gYWxsb2Nf cGVyY3B1KGludCk7CisJaWYgKCFwcHAtPnhtaXRfcmVjdXJzaW9uKSB7CisJCWVyciA9IC1FTk9N RU07CisJCWdvdG8gZXJyMTsKKwl9CisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKKwkJKCpw ZXJfY3B1X3B0cihwcHAtPnhtaXRfcmVjdXJzaW9uLCBjcHUpKSA9IDA7CisKICNpZmRlZiBDT05G SUdfUFBQX01VTFRJTElOSwogCXBwcC0+bWluc2VxID0gLTE7CiAJc2tiX3F1ZXVlX2hlYWRfaW5p dCgmcHBwLT5tcnEpOwpAQCAtMTA0OSwxMSArMTA2MCwxNSBAQCBzdGF0aWMgaW50IHBwcF9kZXZf Y29uZmlndXJlKHN0cnVjdCBuZXQgKnNyY19uZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAK IAllcnIgPSBwcHBfdW5pdF9yZWdpc3RlcihwcHAsIGNvbmYtPnVuaXQsIGNvbmYtPmlmbmFtZV9p c19zZXQpOwogCWlmIChlcnIgPCAwKQotCQlyZXR1cm4gZXJyOworCQlnb3RvIGVycjI7CiAKIAlj b25mLT5maWxlLT5wcml2YXRlX2RhdGEgPSAmcHBwLT5maWxlOwogCiAJcmV0dXJuIDA7CitlcnIy OgorCWZyZWVfcGVyY3B1KHBwcC0+eG1pdF9yZWN1cnNpb24pOworZXJyMToKKwlyZXR1cm4gZXJy OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG5sYV9wb2xpY3kgcHBwX25sX3BvbGljeVtJRkxB X1BQUF9NQVggKyAxXSA9IHsKQEAgLTEzOTksMTggKzE0MTQsMTYgQEAgc3RhdGljIHZvaWQgX19w cHBfeG1pdF9wcm9jZXNzKHN0cnVjdCBwcHAgKnBwcCkKIAlwcHBfeG1pdF91bmxvY2socHBwKTsK IH0KIAotc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgcHBwX3htaXRfcmVjdXJzaW9uKTsKLQog c3RhdGljIHZvaWQgcHBwX3htaXRfcHJvY2VzcyhzdHJ1Y3QgcHBwICpwcHApCiB7CiAJbG9jYWxf YmhfZGlzYWJsZSgpOwogCi0JaWYgKHVubGlrZWx5KF9fdGhpc19jcHVfcmVhZChwcHBfeG1pdF9y ZWN1cnNpb24pKSkKKwlpZiAodW5saWtlbHkoKnRoaXNfY3B1X3B0cihwcHAtPnhtaXRfcmVjdXJz aW9uKSkpCiAJCWdvdG8gZXJyOwogCi0JX190aGlzX2NwdV9pbmMocHBwX3htaXRfcmVjdXJzaW9u KTsKKwkoKnRoaXNfY3B1X3B0cihwcHAtPnhtaXRfcmVjdXJzaW9uKSkrKzsKIAlfX3BwcF94bWl0 X3Byb2Nlc3MocHBwKTsKLQlfX3RoaXNfY3B1X2RlYyhwcHBfeG1pdF9yZWN1cnNpb24pOworCSgq dGhpc19jcHVfcHRyKHBwcC0+eG1pdF9yZWN1cnNpb24pKS0tOwogCiAJbG9jYWxfYmhfZW5hYmxl KCk7CiAKQEAgLTE5MDQsNyArMTkxNyw3IEBAIHN0YXRpYyB2b2lkIF9fcHBwX2NoYW5uZWxfcHVz aChzdHJ1Y3QgY2hhbm5lbCAqcGNoKQogCQlyZWFkX2xvY2tfYmgoJnBjaC0+dXBsKTsKIAkJcHBw ID0gcGNoLT5wcHA7CiAJCWlmIChwcHApCi0JCQlfX3BwcF94bWl0X3Byb2Nlc3MocHBwKTsKKwkJ CXBwcF94bWl0X3Byb2Nlc3MocHBwKTsKIAkJcmVhZF91bmxvY2tfYmgoJnBjaC0+dXBsKTsKIAl9 CiB9CkBAIC0xOTEzLDkgKzE5MjYsNyBAQCBzdGF0aWMgdm9pZCBwcHBfY2hhbm5lbF9wdXNoKHN0 cnVjdCBjaGFubmVsICpwY2gpCiB7CiAJbG9jYWxfYmhfZGlzYWJsZSgpOwogCi0JX190aGlzX2Nw dV9pbmMocHBwX3htaXRfcmVjdXJzaW9uKTsKIAlfX3BwcF9jaGFubmVsX3B1c2gocGNoKTsKLQlf X3RoaXNfY3B1X2RlYyhwcHBfeG1pdF9yZWN1cnNpb24pOwogCiAJbG9jYWxfYmhfZW5hYmxlKCk7 CiB9CkBAIC0zMDU2LDYgKzMwNjcsNyBAQCBzdGF0aWMgdm9pZCBwcHBfZGVzdHJveV9pbnRlcmZh Y2Uoc3RydWN0IHBwcCAqcHBwKQogI2VuZGlmIC8qIENPTkZJR19QUFBfRklMVEVSICovCiAKIAlr ZnJlZV9za2IocHBwLT54bWl0X3BlbmRpbmcpOworCWZyZWVfcGVyY3B1KHBwcC0+eG1pdF9yZWN1 cnNpb24pOwogCiAJZnJlZV9uZXRkZXYocHBwLT5kZXYpOwogfQotLSAKMi4xMy40CgoKRnJvbSA0 MjFlYTVjNzE0NTFjMDRkOWNiNzJlNzJiNzAzODJkZjUwYTRhYzllIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBHdWlsbGF1bWUgTmF1bHQgPGcubmF1bHRAYWxwaGFsaW5rLmZyPgpEYXRl OiBUdWUsIDggQXVnIDIwMTcgMTE6NDM6MjQgKzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzEyXSBw cHA6IGZpeCB4bWl0IHJlY3Vyc2lvbiBkZXRlY3Rpb24gb24gcHBwIGNoYW5uZWxzCgpbIFVwc3Ry ZWFtIGNvbW1pdCAwYTBlMWE4NWM4Mzc3NWE2NDgwNDFiZTJiMTVkZTZkMGEyZjJiOGViIF0KCkNv bW1pdCBlNWRhZGM2NWY5ZTAgKCJwcHA6IEZpeCBmYWxzZSB4bWl0IHJlY3Vyc2lvbiBkZXRlY3Qg d2l0aCB0d28gcHBwCmRldmljZXMiKSBkcm9wcGVkIHRoZSB4bWl0X3JlY3Vyc2lvbiBjb3VudGVy IGluY3JlbWVudGF0aW9uIGluCnBwcF9jaGFubmVsX3B1c2goKSBhbmQgcmVsaWVkIG9uIHBwcF94 bWl0X3Byb2Nlc3MoKSBmb3IgdGhpcyB0YXNrLgpCdXQgX19wcHBfY2hhbm5lbF9wdXNoKCkgY2Fu IGFsc28gc2VuZCBwYWNrZXRzIGRpcmVjdGx5ICh1c2luZyB0aGUKLnN0YXJ0X3htaXQoKSBjaGFu bmVsIGNhbGxiYWNrKSwgaW4gd2hpY2ggY2FzZSB0aGUgeG1pdF9yZWN1cnNpb24KY291bnRlciBp c24ndCBpbmNyZW1lbnRlZCBhbnltb3JlLiBJZiBzdWNoIHBhY2tldHMgZ2V0IHJvdXRlZCBiYWNr IHRvCnRoZSBwYXJlbnQgcHBwIHVuaXQsIHBwcF94bWl0X3Byb2Nlc3MoKSB3b24ndCBub3RpY2Ug dGhlIHJlY3Vyc2lvbiBhbmQKd2lsbCBjYWxsIHBwcF9jaGFubmVsX3B1c2goKSBvbiB0aGUgc2Ft ZSBjaGFubmVsLCBlZmZlY3RpdmVseSBjcmVhdGluZwp0aGUgZGVhZGxvY2sgc2l0dWF0aW9uIHRo YXQgdGhlIHhtaXRfcmVjdXJzaW9uIG1lY2hhbmlzbSB3YXMgc3VwcG9zZWQKdG8gcHJldmVudC4K ClRoaXMgcGF0Y2ggcmUtaW50cm9kdWNlcyB0aGUgeG1pdF9yZWN1cnNpb24gY291bnRlciBpbmNy ZW1lbnRhdGlvbiBpbgpwcHBfY2hhbm5lbF9wdXNoKCkuIFNpbmNlIHRoZSB4bWl0X3JlY3Vyc2lv biB2YXJpYWJsZSBpcyBub3cgcGFydCBvZgp0aGUgcGFyZW50IHBwcCB1bml0LCBpbmNyZW1lbnRh dGlvbiBpcyBza2lwcGVkIGlmIHRoZSBjaGFubmVsIGRvZXNuJ3QKaGF2ZSBhbnkuIFRoaXMgaXMg ZmluZSBiZWNhdXNlIG9ubHkgcGFja2V0cyByb3V0ZWQgdGhyb3VnaCB0aGUgcGFyZW50CnVuaXQg bWF5IGVudGVyIHRoZSBjaGFubmVsIHJlY3Vyc2l2ZWx5LgoKRmluYWxseSwgd2UgaGF2ZSB0byBl bnN1cmUgdGhhdCBwY2gtPnBwcCBpcyBub3QgZ29pbmcgdG8gYmUgbW9kaWZpZWQKd2hpbGUgZXhl Y3V0aW5nIHBwcF9jaGFubmVsX3B1c2goKS4gSW5zdGVhZCBvZiB0YWtpbmcgdGhpcyBsb2NrIG9u bHkKd2hpbGUgY2FsbGluZyBwcHBfeG1pdF9wcm9jZXNzKCksIHdlIG5vdyBoYXZlIHRvIGhvbGQg aXQgZm9yIHRoZSBmdWxsCnBwcF9jaGFubmVsX3B1c2goKSBleGVjdXRpb24uIFRoaXMgcmVzcGVj dHMgdGhlIHBwcCBsb2NrcyBvcmRlcmluZwp3aGljaCByZXF1aXJlcyBsb2NraW5nIC0+dXBsIGJl Zm9yZSAtPmRvd25sLgoKRml4ZXM6IGU1ZGFkYzY1ZjllMCAoInBwcDogRml4IGZhbHNlIHhtaXQg cmVjdXJzaW9uIGRldGVjdCB3aXRoIHR3byBwcHAgZGV2aWNlcyIpClNpZ25lZC1vZmYtYnk6IEd1 aWxsYXVtZSBOYXVsdCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9wcHAvcHBw X2dlbmVyaWMuYyB8IDE4ICsrKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBw L3BwcF9nZW5lcmljLmMgYi9kcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYwppbmRleCA2Njdm MTk3YWI2NmMuLjk2ZmEwZTYxZDNhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwL3BwcF9n ZW5lcmljLmMKKysrIGIvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMKQEAgLTE5MTQsMjEg KzE5MTQsMjMgQEAgc3RhdGljIHZvaWQgX19wcHBfY2hhbm5lbF9wdXNoKHN0cnVjdCBjaGFubmVs ICpwY2gpCiAJc3Bpbl91bmxvY2tfYmgoJnBjaC0+ZG93bmwpOwogCS8qIHNlZSBpZiB0aGVyZSBp cyBhbnl0aGluZyBmcm9tIHRoZSBhdHRhY2hlZCB1bml0IHRvIGJlIHNlbnQgKi8KIAlpZiAoc2ti X3F1ZXVlX2VtcHR5KCZwY2gtPmZpbGUueHEpKSB7Ci0JCXJlYWRfbG9ja19iaCgmcGNoLT51cGwp OwogCQlwcHAgPSBwY2gtPnBwcDsKIAkJaWYgKHBwcCkKLQkJCXBwcF94bWl0X3Byb2Nlc3MocHBw KTsKLQkJcmVhZF91bmxvY2tfYmgoJnBjaC0+dXBsKTsKKwkJCV9fcHBwX3htaXRfcHJvY2Vzcyhw cHApOwogCX0KIH0KIAogc3RhdGljIHZvaWQgcHBwX2NoYW5uZWxfcHVzaChzdHJ1Y3QgY2hhbm5l bCAqcGNoKQogewotCWxvY2FsX2JoX2Rpc2FibGUoKTsKLQotCV9fcHBwX2NoYW5uZWxfcHVzaChw Y2gpOwotCi0JbG9jYWxfYmhfZW5hYmxlKCk7CisJcmVhZF9sb2NrX2JoKCZwY2gtPnVwbCk7CisJ aWYgKHBjaC0+cHBwKSB7CisJCSgqdGhpc19jcHVfcHRyKHBjaC0+cHBwLT54bWl0X3JlY3Vyc2lv bikpKys7CisJCV9fcHBwX2NoYW5uZWxfcHVzaChwY2gpOworCQkoKnRoaXNfY3B1X3B0cihwY2gt PnBwcC0+eG1pdF9yZWN1cnNpb24pKS0tOworCX0gZWxzZSB7CisJCV9fcHBwX2NoYW5uZWxfcHVz aChwY2gpOworCX0KKwlyZWFkX3VubG9ja19iaCgmcGNoLT51cGwpOwogfQogCiAvKgotLSAKMi4x My40CgoKRnJvbSBhZjA0N2IxZWVjODYxYjIxZmI1MDFhODRiNWJjNzFlZTMzYzJkOGMyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZdWNodW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNv bT4KRGF0ZTogVHVlLCAxIEF1ZyAyMDE3IDEzOjIyOjMyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAw My8xMl0gdGNwOiBhdm9pZCBzZXR0aW5nIGN3bmQgdG8gaW52YWxpZCBzc3RocmVzaCBhZnRlciBj d25kCiByZWR1Y3Rpb24gc3RhdGVzCgpbIFVwc3RyZWFtIGNvbW1pdCBlZDI1NDk3MWVkZWE5MmMz YWM1YzY3YzZhMDUyNDdhOTJhYTYwNzVlIF0KCklmIHRoZSBzZW5kZXIgc3dpdGNoZXMgdGhlIGNv bmdlc3Rpb24gY29udHJvbCBkdXJpbmcgRUNOLXRyaWdnZXJlZApjd25kLXJlZHVjdGlvbiBzdGF0 ZSAoQ0FfQ1dSKSwgdXBvbiBleGl0aW5nIHJlY292ZXJ5IGN3bmQgaXMgc2V0IHRvCnRoZSBzc3Ro cmVzaCB2YWx1ZSBjYWxjdWxhdGVkIGJ5IHRoZSBwcmV2aW91cyBjb25nZXN0aW9uIGNvbnRyb2wu IElmCnRoZSBwcmV2aW91cyBjb25nZXN0aW9uIGNvbnRyb2wgaXMgQkJSIHRoYXQgYWx3YXlzIGtl ZXAgc3N0aHJlc2gKdG8gVENQX0lOSUZJTklURV9TU1RIUkVTSCwgY3duZCBlbmRzIHVwIGJlaW5n IGluZmluaXRlLiBUaGUgc2FmZQpzdGVwIGlzIHRvIGF2b2lkIGFzc2lnbmluZyBpbnZhbGlkIHNz dGhyZXNoIHZhbHVlIHdoZW4gcmVjb3ZlcnkgZW5kcy4KClNpZ25lZC1vZmYtYnk6IFl1Y2h1bmcg Q2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBOZWFsIENhcmR3ZWxsIDxu Y2FyZHdlbGxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9pcHY0L3RjcF9pbnB1dC5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3Rj cF9pbnB1dC5jIGIvbmV0L2lwdjQvdGNwX2lucHV0LmMKaW5kZXggMDEzMzZhYTVmOTczLi4zMmM1 NDAxNDVjMTcgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9pbnB1dC5jCisrKyBiL25ldC9pcHY0 L3RjcF9pbnB1dC5jCkBAIC0yNTYwLDggKzI1NjAsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdGNw X2VuZF9jd25kX3JlZHVjdGlvbihzdHJ1Y3Qgc29jayAqc2spCiAJCXJldHVybjsKIAogCS8qIFJl c2V0IGN3bmQgdG8gc3N0aHJlc2ggaW4gQ1dSIG9yIFJlY292ZXJ5ICh1bmxlc3MgaXQncyB1bmRv bmUpICovCi0JaWYgKGluZXRfY3NrKHNrKS0+aWNza19jYV9zdGF0ZSA9PSBUQ1BfQ0FfQ1dSIHx8 Ci0JICAgICh0cC0+dW5kb19tYXJrZXIgJiYgdHAtPnNuZF9zc3RocmVzaCA8IFRDUF9JTkZJTklU RV9TU1RIUkVTSCkpIHsKKwlpZiAodHAtPnNuZF9zc3RocmVzaCA8IFRDUF9JTkZJTklURV9TU1RI UkVTSCAmJgorCSAgICAoaW5ldF9jc2soc2spLT5pY3NrX2NhX3N0YXRlID09IFRDUF9DQV9DV1Ig fHwgdHAtPnVuZG9fbWFya2VyKSkgewogCQl0cC0+c25kX2N3bmQgPSB0cC0+c25kX3NzdGhyZXNo OwogCQl0cC0+c25kX2N3bmRfc3RhbXAgPSB0Y3BfdGltZV9zdGFtcDsKIAl9Ci0tIAoyLjEzLjQK CgpGcm9tIGEyNjRmY2JkMzMwZmQ4NTJjYWJiZjc1NjliZDQ2OTlmZmVjM2FhNjEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4K RGF0ZTogV2VkLCAyIEF1ZyAyMDE3IDIzOjEwOjQ2IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8x Ml0gbmV0OiBmaXgga2VlcGFsaXZlIGNvZGUgdnMgVENQX0ZBU1RPUEVOX0NPTk5FQ1QKClsgVXBz dHJlYW0gY29tbWl0IDJkZGE2NDAwNDA4NzZjZDhhZTY0NjQwOGI2OWVlYTQwYzI0ZjlhZTkgXQoK c3l6a2FsbGVyIHdhcyBhYmxlIHRvIHRyaWdnZXIgYSBkaXZpZGUgYnkgMCBpbiBUQ1Agc3RhY2sg WzFdCgpJc3N1ZSBoZXJlIGlzIHRoYXQga2VlcGFsaXZlIHRpbWVyIG5lZWRzIHRvIGJlIHVwZGF0 ZWQgdG8gbm90IGF0dGVtcHQKdG8gc2VuZCBhIHByb2JlIGlmIHRoZSBjb25uZWN0aW9uIHNldHVw IHdhcyBkZWZlcnJlZCB1c2luZwpUQ1BfRkFTVE9QRU5fQ09OTkVDVCBzb2NrZXQgb3B0aW9uIGFk ZGVkIGluIGxpbnV4LTQuMTEKClsxXQogZGl2aWRlIGVycm9yOiAwMDAwIFsjMV0gU01QCiBDUFU6 IDE4IFBJRDogMCBDb21tOiBzd2FwcGVyLzE4IE5vdCB0YWludGVkCiB0YXNrOiBmZmZmOTg2ZjYy ZjRiMDQwIHRpOiBmZmZmOTg2ZjYyZmEyMDAwIHRhc2sudGk6IGZmZmY5ODZmNjJmYTIwMDAKIFJJ UDogMDAxMDpbPGZmZmZmZmZmODQwOWNjMGQ+XSAgWzxmZmZmZmZmZjg0MDljYzBkPl0gX190Y3Bf c2VsZWN0X3dpbmRvdysweDhkLzB4MTYwCiBDYWxsIFRyYWNlOgogIDxJUlE+CiAgWzxmZmZmZmZm Zjg0MDlkOTUxPl0gdGNwX3RyYW5zbWl0X3NrYisweDExLzB4MjAKICBbPGZmZmZmZmZmODQwOWRh MjE+XSB0Y3BfeG1pdF9wcm9iZV9za2IrMHhjMS8weGUwCiAgWzxmZmZmZmZmZjg0MGEwZWU4Pl0g dGNwX3dyaXRlX3dha2V1cCsweDY4LzB4MTYwCiAgWzxmZmZmZmZmZjg0MGExNTFiPl0gdGNwX2tl ZXBhbGl2ZV90aW1lcisweDE3Yi8weDIzMAogIFs8ZmZmZmZmZmY4M2IzZjc5OT5dIGNhbGxfdGlt ZXJfZm4rMHgzOS8weGYwCiAgWzxmZmZmZmZmZjgzYjQwNzk3Pl0gcnVuX3RpbWVyX3NvZnRpcnEr MHgxZDcvMHgyODAKICBbPGZmZmZmZmZmODNhMDRkZGI+XSBfX2RvX3NvZnRpcnErMHhjYi8weDI1 NwogIFs8ZmZmZmZmZmY4M2FlMDNhYz5dIGlycV9leGl0KzB4OWMvMHhiMAogIFs8ZmZmZmZmZmY4 M2EwNGMxYT5dIHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCsweDZhLzB4ODAKICBbPGZmZmZmZmZm ODNhMDNlYWY+XSBhcGljX3RpbWVyX2ludGVycnVwdCsweDdmLzB4OTAKICA8RU9JPgogIFs8ZmZm ZmZmZmY4M2ZlZDJlYT5dID8gY3B1aWRsZV9lbnRlcl9zdGF0ZSsweDEzYS8weDNiMAogIFs8ZmZm ZmZmZmY4M2ZlZDJjZD5dID8gY3B1aWRsZV9lbnRlcl9zdGF0ZSsweDExZC8weDNiMAoKVGVzdGVk OgoKRm9sbG93aW5nIHBhY2tldGRyaWxsIG5vIGxvbmdlciBjcmFzaGVzIHRoZSBrZXJuZWwKCmBl Y2hvIDAgPi9wcm9jL3N5cy9uZXQvaXB2NC90Y3BfdGltZXN0YW1wc2AKCi8vIENhY2hlIHdhcm11 cDogc2VuZCBhIEZhc3QgT3BlbiBjb29raWUgcmVxdWVzdAogICAgMCBzb2NrZXQoLi4uLCBTT0NL X1NUUkVBTSwgSVBQUk9UT19UQ1ApID0gMwogICArMCBmY250bCgzLCBGX1NFVEZMLCBPX1JEV1J8 T19OT05CTE9DSykgPSAwCiAgICswIHNldHNvY2tvcHQoMywgU09MX1RDUCwgVENQX0ZBU1RPUEVO X0NPTk5FQ1QsIFsxXSwgNCkgPSAwCiAgICswIGNvbm5lY3QoMywgLi4uLCAuLi4pID0gLTEgRUlO UFJPR1JFU1MgKE9wZXJhdGlvbiBpcyBub3cgaW4gcHJvZ3Jlc3MpCiAgICswID4gUyAwOjAoMCkg PG1zcyAxNDYwLG5vcCxub3Asc2Fja09LLG5vcCx3c2NhbGUgOCxGTyxub3Asbm9wPgogKy4wMSA8 IFMuIDEyMzoxMjMoMCkgYWNrIDEgd2luIDE0NjAwIDxtc3MgMTQ2MCxub3Asbm9wLHNhY2tPSyxu b3Asd3NjYWxlIDYsRk8gYWJjZDEyMzQsbm9wLG5vcD4KICAgKzAgPiAuIDE6MSgwKSBhY2sgMQog ICArMCBjbG9zZSgzKSA9IDAKICAgKzAgPiBGLiAxOjEoMCkgYWNrIDEKICAgKzAgPCBGLiAxOjEo MCkgYWNrIDIgd2luIDkyCiAgICswID4gLiAgMjoyKDApIGFjayAyCgogICArMCBzb2NrZXQoLi4u LCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApID0gNAogICArMCBmY250bCg0LCBGX1NFVEZMLCBP X1JEV1J8T19OT05CTE9DSykgPSAwCiAgICswIHNldHNvY2tvcHQoNCwgU09MX1RDUCwgVENQX0ZB U1RPUEVOX0NPTk5FQ1QsIFsxXSwgNCkgPSAwCiAgICswIHNldHNvY2tvcHQoNCwgU09MX1NPQ0tF VCwgU09fS0VFUEFMSVZFLCBbMV0sIDQpID0gMAogKy4wMSBjb25uZWN0KDQsIC4uLiwgLi4uKSA9 IDAKICAgKzAgc2V0c29ja29wdCg0LCBTT0xfVENQLCBUQ1BfS0VFUElETEUsIFs1XSwgNCkgPSAw CiAgICsxMCBjbG9zZSg0KSA9IDAKCmBlY2hvIDEgPi9wcm9jL3N5cy9uZXQvaXB2NC90Y3BfdGlt ZXN0YW1wc2AKCkZpeGVzOiAxOWY2ZDNmM2M4NDIgKCJuZXQvdGNwLWZhc3RvcGVuOiBBZGQgbmV3 IEFQSSBzdXBwb3J0IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpSZXBvcnRlZC1ieTogRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPgpD YzogV2VpIFdhbmcgPHdlaXdhbkBnb29nbGUuY29tPgpDYzogWXVjaHVuZyBDaGVuZyA8eWNoZW5n QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3BfdGltZXIuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQv dGNwX3RpbWVyLmMgYi9uZXQvaXB2NC90Y3BfdGltZXIuYwppbmRleCBiMWU2NWIzYjQzNjEuLjc0 ZGI0M2I0NzkxNyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX3RpbWVyLmMKKysrIGIvbmV0L2lw djQvdGNwX3RpbWVyLmMKQEAgLTY1NCw3ICs2NTQsOCBAQCBzdGF0aWMgdm9pZCB0Y3Bfa2VlcGFs aXZlX3RpbWVyICh1bnNpZ25lZCBsb25nIGRhdGEpCiAJCWdvdG8gZGVhdGg7CiAJfQogCi0JaWYg KCFzb2NrX2ZsYWcoc2ssIFNPQ0tfS0VFUE9QRU4pIHx8IHNrLT5za19zdGF0ZSA9PSBUQ1BfQ0xP U0UpCisJaWYgKCFzb2NrX2ZsYWcoc2ssIFNPQ0tfS0VFUE9QRU4pIHx8CisJICAgICgoMSA8PCBz ay0+c2tfc3RhdGUpICYgKFRDUEZfQ0xPU0UgfCBUQ1BGX1NZTl9TRU5UKSkpCiAJCWdvdG8gb3V0 OwogCiAJZWxhcHNlZCA9IGtlZXBhbGl2ZV90aW1lX3doZW4odHApOwotLSAKMi4xMy40CgoKRnJv bSA2ZmIyMzhhOWRjM2RjYTUxMTY4ODc0ZWMzOGI5ODM1MjRiNmQzYTA5IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQm9ya21hbm4gPGRhbmllbEBpb2dlYXJib3gubmV0PgpE YXRlOiBGcmksIDQgQXVnIDIwMTcgMTQ6MjA6NTQgKzAyMDAKU3ViamVjdDogW1BBVENIIDA1LzEy XSBicGYsIHMzOTA6IGZpeCBqaXQgYnJhbmNoIG9mZnNldCByZWxhdGVkIHRvIGxkaW1tNjQKClsg VXBzdHJlYW0gY29tbWl0IGIwYTBjMjU2NmYyOGU3MWU1ZTMyMTIxOTkyYWM4MDYwY2VjNzU1MTAg XQoKV2hpbGUgdGVzdGluZyBzb21lIG90aGVyIHdvcmsgdGhhdCByZXF1aXJlZCBKSVQgbW9kaWZp Y2F0aW9ucywgSQpydW4gaW50byB0ZXN0X2JwZiBjYXVzaW5nIGEgaGFuZyB3aGVuIEpJVCBlbmFi bGVkIG9uIHMzOTAuIFRoZQpwcm9ibGVtYXRpYyB0ZXN0IGNhc2Ugd2FzIHRoZSBvbmUgZnJvbSBk ZGM2NjVhNGJiNGIgKGJwZiwgYXJtNjQ6CmZpeCBqaXQgYnJhbmNoIG9mZnNldCByZWxhdGVkIHRv IGxkaW1tNjQpLCBhbmQgdHVybnMgb3V0IHRoYXQgd2UKZG8gaGF2ZSBhIHNpbWlsYXIgaXNzdWUg b24gczM5MCBhcyB3ZWxsLiBJbiBicGZfaml0X3Byb2coKSB3ZQp1cGRhdGUgbmV4dCBpbnN0cnVj dGlvbiBhZGRyZXNzIGFmdGVyIHJldHVybmluZyBmcm9tIGJwZl9qaXRfaW5zbigpCndpdGggYW4g aW5zbl9jb3VudC4gYnBmX2ppdF9pbnNuKCkgcmV0dXJucyBlaXRoZXIgLTEgaW4gY2FzZSBvZgpl cnJvciAoZS5nLiB1bnN1cHBvcnRlZCBpbnNuKSwgMSBvciAyLiBUaGUgbGF0dGVyIGlzIG9ubHkg dGhlCmNhc2UgZm9yIGxkaW1tNjQgZHVlIHRvIHNwYW5uaW5nIDIgaW5zbnMsIGhvd2V2ZXIsIG5l eHQgYWRkcmVzcwppcyBvbmx5IHNldCB0byBpICsgMSBub3QgdGFraW5nIGFjdHVhbCBpbnNuX2Nv dW50IGludG8gYWNjb3VudCwKdGh1cyBmaXggaXMgdG8gdXNlIGluc25fY291bnQgaW5zdGVhZCBv ZiAxLiBicGZfaml0X2VuYWJsZSBpbgptb2RlIDIgcHJvdmlkZXMgYWxzbyBkaXNhc20gb24gczM5 MDoKCkJlZm9yZSBmaXg6CgogIDAwMDAwM2ZmODAwMzQ5YjY6IGE3ZjQwMDAzICAgYnJjICAgICAx NSwzZmY4MDAzNDliYyAgICAgICAgICAgICAgICAgOyB0YXJnZXQKICAwMDAwMDNmZjgwMDM0OWJh OiAwMDAwICAgICAgICAgICAgICAgdW5rbm93bgogIDAwMDAwM2ZmODAwMzQ5YmM6IGUzYjBmMDcw MDAyNCAgICAgICBzdGcgICAgICVyMTEsMTEyKCVyMTUpCiAgMDAwMDAzZmY4MDAzNDljMjogZTNl MGYwODgwMDI0ICAgICAgIHN0ZyAgICAgJXIxNCwxMzYoJXIxNSkKICAwMDAwMDNmZjgwMDM0OWM4 OiAwZGIwICAgICAgICAgICAgICAgYmFzciAgICAlcjExLCVyMAogIDAwMDAwM2ZmODAwMzQ5Y2E6 IGMwZWYwMDAwMDAwMCAgICAgICBsbGlsZiAgICVyMTQsMAogIDAwMDAwM2ZmODAwMzQ5ZDA6IGUz MjBiMDM2MDAwNCAgICAgICBsZyAgICAgICVyMiw1NCglcjExKQogIDAwMDAwM2ZmODAwMzQ5ZDY6 IGUzMzBiMDNlMDAwNCAgICAgICBsZyAgICAgICVyMyw2MiglcjExKQogIDAwMDAwM2ZmODAwMzQ5 ZGM6IGVjMjNmZmVkYTA2NSAgICAgICBjbGdyaiAgICVyMiwlcjMsMTAsM2ZmODAwMzQ5YjYgOyBq bXAKICAwMDAwMDNmZjgwMDM0OWUyOiBlM2UwYjA0NjAwMDQgICAgICAgbGcgICAgICAlcjE0LDcw KCVyMTEpCiAgMDAwMDAzZmY4MDAzNDllODogZTNlMGIwNGUwMDA0ICAgICAgIGxnICAgICAgJXIx NCw3OCglcjExKQogIDAwMDAwM2ZmODAwMzQ5ZWU6IGI5MDQwMDJlICAgbGdyICAgICAlcjIsJXIx NAogIDAwMDAwM2ZmODAwMzQ5ZjI6IGUzYjBmMDcwMDAwNCAgICAgICBsZyAgICAgICVyMTEsMTEy KCVyMTUpCiAgMDAwMDAzZmY4MDAzNDlmODogZTNlMGYwODgwMDA0ICAgICAgIGxnICAgICAgJXIx NCwxMzYoJXIxNSkKICAwMDAwMDNmZjgwMDM0OWZlOiAwN2ZlICAgICAgICAgICAgICAgYmNyICAg ICAxNSwlcjE0CgpBZnRlciBmaXg6CgogIDAwMDAwM2ZmODBlZjNkYjQ6IGE3ZjQwMDAzICAgYnJj ICAgICAxNSwzZmY4MGVmM2RiYQogIDAwMDAwM2ZmODBlZjNkYjg6IDAwMDAgICAgICAgICAgICAg ICB1bmtub3duCiAgMDAwMDAzZmY4MGVmM2RiYTogZTNiMGYwNzAwMDI0ICAgICAgIHN0ZyAgICAg JXIxMSwxMTIoJXIxNSkKICAwMDAwMDNmZjgwZWYzZGMwOiBlM2UwZjA4ODAwMjQgICAgICAgc3Rn ICAgICAlcjE0LDEzNiglcjE1KQogIDAwMDAwM2ZmODBlZjNkYzY6IDBkYjAgICAgICAgICAgICAg ICBiYXNyICAgICVyMTEsJXIwCiAgMDAwMDAzZmY4MGVmM2RjODogYzBlZjAwMDAwMDAwICAgICAg IGxsaWxmICAgJXIxNCwwCiAgMDAwMDAzZmY4MGVmM2RjZTogZTMyMGIwMzYwMDA0ICAgICAgIGxn ICAgICAgJXIyLDU0KCVyMTEpCiAgMDAwMDAzZmY4MGVmM2RkNDogZTMzMGIwM2UwMDA0ICAgICAg IGxnICAgICAgJXIzLDYyKCVyMTEpCiAgMDAwMDAzZmY4MGVmM2RkYTogZWMyMzAwMDZhMDY1ICAg ICAgIGNsZ3JqICAgJXIyLCVyMywxMCwzZmY4MGVmM2RlNiA7IGptcAogIDAwMDAwM2ZmODBlZjNk ZTA6IGUzZTBiMDQ2MDAwNCAgICAgICBsZyAgICAgICVyMTQsNzAoJXIxMSkKICAwMDAwMDNmZjgw ZWYzZGU2OiBlM2UwYjA0ZTAwMDQgICAgICAgbGcgICAgICAlcjE0LDc4KCVyMTEpICAgICAgICAg IDsgdGFyZ2V0CiAgMDAwMDAzZmY4MGVmM2RlYzogYjkwNDAwMmUgICBsZ3IgICAgICVyMiwlcjE0 CiAgMDAwMDAzZmY4MGVmM2RmMDogZTNiMGYwNzAwMDA0ICAgICAgIGxnICAgICAgJXIxMSwxMTIo JXIxNSkKICAwMDAwMDNmZjgwZWYzZGY2OiBlM2UwZjA4ODAwMDQgICAgICAgbGcgICAgICAlcjE0 LDEzNiglcjE1KQogIDAwMDAwM2ZmODBlZjNkZmM6IDA3ZmUgICAgICAgICAgICAgICBiY3IgICAg IDE1LCVyMTQKCnRlc3RfYnBmLmtvIHN1aXRlIHJ1bnMgZmluZSBhZnRlciB0aGUgZml4LgoKRml4 ZXM6IDA1NDYyMzEwNTcyOCAoInMzOTAvYnBmOiBBZGQgczM5MHggZUJQRiBKSVQgY29tcGlsZXIg YmFja2VuZCIpClNpZ25lZC1vZmYtYnk6IERhbmllbCBCb3JrbWFubiA8ZGFuaWVsQGlvZ2VhcmJv eC5uZXQ+ClRlc3RlZC1ieTogTWljaGFlbCBIb2x6aGV1IDxob2x6aGV1QGxpbnV4LnZuZXQuaWJt LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIGFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMgfCAzICsrLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2FyY2gvczM5 MC9uZXQvYnBmX2ppdF9jb21wLmMgYi9hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jCmluZGV4 IGJlZTI4MWYzMTYzZC4uZThkZWU2MjNkNTQ1IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvbmV0L2Jw Zl9qaXRfY29tcC5jCisrKyBiL2FyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMKQEAgLTEyNTIs NyArMTI1Miw4IEBAIHN0YXRpYyBpbnQgYnBmX2ppdF9wcm9nKHN0cnVjdCBicGZfaml0ICpqaXQs IHN0cnVjdCBicGZfcHJvZyAqZnApCiAJCWluc25fY291bnQgPSBicGZfaml0X2luc24oaml0LCBm cCwgaSk7CiAJCWlmIChpbnNuX2NvdW50IDwgMCkKIAkJCXJldHVybiAtMTsKLQkJaml0LT5hZGRy c1tpICsgMV0gPSBqaXQtPnByZzsgLyogTmV4dCBpbnN0cnVjdGlvbiBhZGRyZXNzICovCisJCS8q IE5leHQgaW5zdHJ1Y3Rpb24gYWRkcmVzcyAqLworCQlqaXQtPmFkZHJzW2kgKyBpbnNuX2NvdW50 XSA9IGppdC0+cHJnOwogCX0KIAlicGZfaml0X2VwaWxvZ3VlKGppdCk7CiAKLS0gCjIuMTMuNAoK CkZyb20gYzkwNWZlYTExNDc4NGU0NWQ1NTc1M2UyMzYwM2U1NmE3NjM4MjY1NyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+ CkRhdGU6IFRodSwgMyBBdWcgMjAxNyAyMjo1NDo0OCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDYv MTJdIG5ldC9tbHg0X2VuOiBkb24ndCBzZXQgQ0hFQ0tTVU1fQ09NUExFVEUgb24gU0NUUAogcGFj a2V0cwoKWyBVcHN0cmVhbSBjb21taXQgZTcxOGZlNDUwZTYxNjIyN2I3NGQyN2EyMzNjZGYzN2I0 ZGYwYzgyYiBdCgppZiB0aGUgTklDIGZhaWxzIHRvIHZhbGlkYXRlIHRoZSBjaGVja3N1bSBvbiBU Q1AvVURQLCBhbmQgdmFsaWRhdGlvbiBvZiBJUApjaGVja3N1bSBpcyBzdWNjZXNzZnVsLCB0aGUg ZHJpdmVyIHN1YnRyYWN0cyB0aGUgcHNldWRvLWhlYWRlciBjaGVja3N1bQpmcm9tIHRoZSB2YWx1 ZSBvYnRhaW5lZCBieSB0aGUgaGFyZHdhcmUgYW5kIHNldHMgQ0hFQ0tTVU1fQ09NUExFVEUuIERv bid0CmRvIHRoYXQgaWYgcHJvdG9jb2wgaXMgSVBQUk9UT19TQ1RQLCBvdGhlcndpc2UgQ1JDMzJj IHZhbGlkYXRpb24gZmFpbHMuCgpWMjogZG9uJ3QgdGVzdCBNTFg0X0NRRV9TVEFUVVNfSVBWNiBp ZiBNTFg0X0NRRV9TVEFUVVNfSVBWNCBpcyBzZXQKClJlcG9ydGVkLWJ5OiBTaHVhbmcgTGkgPHNo dWFsaUByZWRoYXQuY29tPgpGaXhlczogZjhjNjQ1NWJiMDRiICgibmV0L21seDRfZW46IEV4dGVu ZCBjaGVja3N1bSBvZmZsb2FkaW5nIGJ5IENIRUNLU1VNIENPTVBMRVRFIikKU2lnbmVkLW9mZi1i eTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+CkFja2VkLWJ5OiBTYWVlZCBN YWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDQvZW5fcnguYyB8IDI5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9yeC5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9yeC5jCmluZGV4IDVkNDg0NTgxYmVjZC4uYmNi YjgwZmY4NmE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0 L2VuX3J4LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9yeC5j CkBAIC03MjQsMTYgKzcyNCwyMSBAQCBzdGF0aWMgaW5saW5lIF9fd3N1bSBnZXRfZml4ZWRfdmxh bl9jc3VtKF9fd3N1bSBod19jaGVja3N1bSwKICAqIGhlYWRlciwgdGhlIEhXIGFkZHMgaXQuIFRv IGFkZHJlc3MgdGhhdCwgd2UgYXJlIHN1YnRyYWN0aW5nIHRoZSBwc2V1ZG8KICAqIGhlYWRlciBj aGVja3N1bSBmcm9tIHRoZSBjaGVja3N1bSB2YWx1ZSBwcm92aWRlZCBieSB0aGUgSFcuCiAgKi8K LXN0YXRpYyB2b2lkIGdldF9maXhlZF9pcHY0X2NzdW0oX193c3VtIGh3X2NoZWNrc3VtLCBzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLAotCQkJCXN0cnVjdCBpcGhkciAqaXBoKQorc3RhdGljIGludCBnZXRf Zml4ZWRfaXB2NF9jc3VtKF9fd3N1bSBod19jaGVja3N1bSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwK KwkJCSAgICAgICBzdHJ1Y3QgaXBoZHIgKmlwaCkKIHsKIAlfX3UxNiBsZW5ndGhfZm9yX2NzdW0g PSAwOwogCV9fd3N1bSBjc3VtX3BzZXVkb19oZWFkZXIgPSAwOworCV9fdTggaXBwcm90byA9IGlw aC0+cHJvdG9jb2w7CisKKwlpZiAodW5saWtlbHkoaXBwcm90byA9PSBJUFBST1RPX1NDVFApKQor CQlyZXR1cm4gLTE7CiAKIAlsZW5ndGhfZm9yX2NzdW0gPSAoYmUxNl90b19jcHUoaXBoLT50b3Rf bGVuKSAtIChpcGgtPmlobCA8PCAyKSk7CiAJY3N1bV9wc2V1ZG9faGVhZGVyID0gY3N1bV90Y3B1 ZHBfbm9mb2xkKGlwaC0+c2FkZHIsIGlwaC0+ZGFkZHIsCi0JCQkJCQlsZW5ndGhfZm9yX2NzdW0s IGlwaC0+cHJvdG9jb2wsIDApOworCQkJCQkJbGVuZ3RoX2Zvcl9jc3VtLCBpcHByb3RvLCAwKTsK IAlza2ItPmNzdW0gPSBjc3VtX3N1Yihod19jaGVja3N1bSwgY3N1bV9wc2V1ZG9faGVhZGVyKTsK KwlyZXR1cm4gMDsKIH0KIAogI2lmIElTX0VOQUJMRUQoQ09ORklHX0lQVjYpCkBAIC03NDQsMTcg Kzc0OSwyMCBAQCBzdGF0aWMgdm9pZCBnZXRfZml4ZWRfaXB2NF9jc3VtKF9fd3N1bSBod19jaGVj a3N1bSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIHN0YXRpYyBpbnQgZ2V0X2ZpeGVkX2lwdjZfY3N1 bShfX3dzdW0gaHdfY2hlY2tzdW0sIHN0cnVjdCBza19idWZmICpza2IsCiAJCQkgICAgICAgc3Ry dWN0IGlwdjZoZHIgKmlwdjZoKQogeworCV9fdTggbmV4dGhkciA9IGlwdjZoLT5uZXh0aGRyOwog CV9fd3N1bSBjc3VtX3BzZXVkb19oZHIgPSAwOwogCi0JaWYgKHVubGlrZWx5KGlwdjZoLT5uZXh0 aGRyID09IElQUFJPVE9fRlJBR01FTlQgfHwKLQkJICAgICBpcHY2aC0+bmV4dGhkciA9PSBJUFBS T1RPX0hPUE9QVFMpKQorCWlmICh1bmxpa2VseShuZXh0aGRyID09IElQUFJPVE9fRlJBR01FTlQg fHwKKwkJICAgICBuZXh0aGRyID09IElQUFJPVE9fSE9QT1BUUyB8fAorCQkgICAgIG5leHRoZHIg PT0gSVBQUk9UT19TQ1RQKSkKIAkJcmV0dXJuIC0xOwotCWh3X2NoZWNrc3VtID0gY3N1bV9hZGQo aHdfY2hlY2tzdW0sIChfX2ZvcmNlIF9fd3N1bSlodG9ucyhpcHY2aC0+bmV4dGhkcikpOworCWh3 X2NoZWNrc3VtID0gY3N1bV9hZGQoaHdfY2hlY2tzdW0sIChfX2ZvcmNlIF9fd3N1bSlodG9ucyhu ZXh0aGRyKSk7CiAKIAljc3VtX3BzZXVkb19oZHIgPSBjc3VtX3BhcnRpYWwoJmlwdjZoLT5zYWRk ciwKIAkJCQkgICAgICAgc2l6ZW9mKGlwdjZoLT5zYWRkcikgKyBzaXplb2YoaXB2NmgtPmRhZGRy KSwgMCk7CiAJY3N1bV9wc2V1ZG9faGRyID0gY3N1bV9hZGQoY3N1bV9wc2V1ZG9faGRyLCAoX19m b3JjZSBfX3dzdW0paXB2NmgtPnBheWxvYWRfbGVuKTsKLQljc3VtX3BzZXVkb19oZHIgPSBjc3Vt X2FkZChjc3VtX3BzZXVkb19oZHIsIChfX2ZvcmNlIF9fd3N1bSludG9ocyhpcHY2aC0+bmV4dGhk cikpOworCWNzdW1fcHNldWRvX2hkciA9IGNzdW1fYWRkKGNzdW1fcHNldWRvX2hkciwKKwkJCQkg ICAoX19mb3JjZSBfX3dzdW0paHRvbnMobmV4dGhkcikpOwogCiAJc2tiLT5jc3VtID0gY3N1bV9z dWIoaHdfY2hlY2tzdW0sIGNzdW1fcHNldWRvX2hkcik7CiAJc2tiLT5jc3VtID0gY3N1bV9hZGQo c2tiLT5jc3VtLCBjc3VtX3BhcnRpYWwoaXB2NmgsIHNpemVvZihzdHJ1Y3QgaXB2NmhkciksIDAp KTsKQEAgLTc3NywxMSArNzg1LDEwIEBAIHN0YXRpYyBpbnQgY2hlY2tfY3N1bShzdHJ1Y3QgbWx4 NF9jcWUgKmNxZSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdm9pZCAqdmEsCiAJfQogCiAJaWYgKGNx ZS0+c3RhdHVzICYgY3B1X3RvX2JlMTYoTUxYNF9DUUVfU1RBVFVTX0lQVjQpKQotCQlnZXRfZml4 ZWRfaXB2NF9jc3VtKGh3X2NoZWNrc3VtLCBza2IsIGhkcik7CisJCXJldHVybiBnZXRfZml4ZWRf aXB2NF9jc3VtKGh3X2NoZWNrc3VtLCBza2IsIGhkcik7CiAjaWYgSVNfRU5BQkxFRChDT05GSUdf SVBWNikKLQllbHNlIGlmIChjcWUtPnN0YXR1cyAmIGNwdV90b19iZTE2KE1MWDRfQ1FFX1NUQVRV U19JUFY2KSkKLQkJaWYgKHVubGlrZWx5KGdldF9maXhlZF9pcHY2X2NzdW0oaHdfY2hlY2tzdW0s IHNrYiwgaGRyKSkpCi0JCQlyZXR1cm4gLTE7CisJaWYgKGNxZS0+c3RhdHVzICYgY3B1X3RvX2Jl MTYoTUxYNF9DUUVfU1RBVFVTX0lQVjYpKQorCQlyZXR1cm4gZ2V0X2ZpeGVkX2lwdjZfY3N1bSho d19jaGVja3N1bSwgc2tiLCBoZHIpOwogI2VuZGlmCiAJcmV0dXJuIDA7CiB9Ci0tIAoyLjEzLjQK CgpGcm9tIGU2MDI3YTIyMzc1NDBmZjlkYWQ0OTc4ZjkwM2Y5OTgxY2EzYWIyOWEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCA5IEF1ZyAyMDE3IDE4OjE1OjE5ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNy8xMl0g bmV0OiBzY2hlZDogc2V0IHh0X3RnY2hrX3BhcmFtIHBhci5uZnRfY29tcGF0IGFzIDAgaW4KIGlw dF9pbml0X3RhcmdldAoKWyBVcHN0cmVhbSBjb21taXQgOTZkOTcwMzA1MGEwMDM2YTMzNjBlYzk4 YmI0MWUxMDdjOTA2NjRmZSBdCgpDb21taXQgNTU5MTdhMjFkMGNjICgibmV0ZmlsdGVyOiB4X3Rh YmxlczogYWRkIGNvbnRleHQgdG8ga25vdyBpZgpleHRlbnNpb24gcnVucyBmcm9tIG5mdF9jb21w YXQiKSBpbnRyb2R1Y2VkIGEgbWVtYmVyIG5mdF9jb21wYXQgdG8KeHRfdGdjaGtfcGFyYW0gc3Ry dWN0dXJlLgoKQnV0IGl0IGRpZG4ndCBzZXQgaXQncyB2YWx1ZSBmb3IgaXB0X2luaXRfdGFyZ2V0 LiBXaXRoIHVuZXhwZWN0ZWQKdmFsdWUgaW4gcGFyLm5mdF9jb21wYXQsIGl0IG1heSByZXR1cm4g dW5leHBlY3RlZCByZXN1bHQgaW4gc29tZQp0YXJnZXQncyBjaGVja2VudHJ5LgoKVGhpcyBwYXRj aCBpcyB0byBzZXQgYWxsIGl0J3MgZmllbGRzIGFzIDAgYW5kIG9ubHkgaW5pdGlhbGl6ZSB0aGUK bm9uLXplcm8gZmllbGRzIGluIGlwdF9pbml0X3RhcmdldC4KCnYxLT52MjoKICBBcyBXYW5nIENv bmcncyBzdWdnZXN0aW9uLCBmaXggaXQgYnkgc2V0dGluZyBhbGwgaXQncyBmaWVsZHMgYXMKICAw IGFuZCBvbmx5IGluaXRpYWxpemluZyB0aGUgbm9uLXplcm8gZmllbGRzLgoKRml4ZXM6IDU1OTE3 YTIxZDBjYyAoIm5ldGZpbHRlcjogeF90YWJsZXM6IGFkZCBjb250ZXh0IHRvIGtub3cgaWYgZXh0 ZW5zaW9uIHJ1bnMgZnJvbSBuZnRfY29tcGF0IikKU3VnZ2VzdGVkLWJ5OiBDb25nIFdhbmcgPHhp eW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54 aW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL2FjdF9pcHQuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9h Y3RfaXB0LmMgYi9uZXQvc2NoZWQvYWN0X2lwdC5jCmluZGV4IDM3OGMxYzk3NjA1OC4uYTFhZWMw YTZjNzg5IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X2lwdC5jCisrKyBiL25ldC9zY2hlZC9h Y3RfaXB0LmMKQEAgLTQ5LDggKzQ5LDggQEAgc3RhdGljIGludCBpcHRfaW5pdF90YXJnZXQoc3Ry dWN0IHh0X2VudHJ5X3RhcmdldCAqdCwgY2hhciAqdGFibGUsCiAJCXJldHVybiBQVFJfRVJSKHRh cmdldCk7CiAKIAl0LT51Lmtlcm5lbC50YXJnZXQgPSB0YXJnZXQ7CisJbWVtc2V0KCZwYXIsIDAs IHNpemVvZihwYXIpKTsKIAlwYXIudGFibGUgICAgID0gdGFibGU7Ci0JcGFyLmVudHJ5aW5mbyA9 IE5VTEw7CiAJcGFyLnRhcmdldCAgICA9IHRhcmdldDsKIAlwYXIudGFyZ2luZm8gID0gdC0+ZGF0 YTsKIAlwYXIuaG9va19tYXNrID0gaG9vazsKLS0gCjIuMTMuNAoKCkZyb20gM2EyNmQ2YzQ3MWU2 MzgxYTk0YjQ5MjVmMjBlNGZjMmI4YmFjNDdjMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUdWUsIDggQXVnIDIw MTcgMDE6NDE6NTggLTA3MDAKU3ViamVjdDogW1BBVENIIDA4LzEyXSB0Y3A6IGZhc3RvcGVuOiB0 Y3BfY29ubmVjdCgpIG11c3QgcmVmcmVzaCB0aGUgcm91dGUKClsgVXBzdHJlYW0gY29tbWl0IDhi YTYwOTI0NzEwY2RlNTY0YTM5MDU1ODhiNjIxOTc0MWQ2MzU2ZDAgXQoKV2l0aCBuZXcgVENQX0ZB U1RPUEVOX0NPTk5FQ1Qgc29ja2V0IG9wdGlvbiwgdGhlcmUgaXMgYSBwb3NzaWJpbGl0eQp0byBj YWxsIHRjcF9jb25uZWN0KCkgd2hpbGUgc29ja2V0IHNrX2RzdF9jYWNoZSBpcyBlaXRoZXIgTlVM TApvciBpbnZhbGlkLgoKICswIHNvY2tldCguLi4sIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCkg PSA0CiArMCBmY250bCg0LCBGX1NFVEZMLCBPX1JEV1J8T19OT05CTE9DSykgPSAwCiArMCBzZXRz b2Nrb3B0KDQsIFNPTF9UQ1AsIFRDUF9GQVNUT1BFTl9DT05ORUNULCBbMV0sIDQpID0gMAogKzAg Y29ubmVjdCg0LCAuLi4sIC4uLikgPSAwCgo8PCBzay0+c2tfZHN0X2NhY2hlIGJlY29tZXMgb2Jz b2xldGUsIG9yIGV2ZW4gc2V0IHRvIE5VTEwgPj4KCiArMSBzZW5kdG8oNCwgLi4uLCAxMDAwLCBN U0dfRkFTVE9QRU4sIC4uLiwgLi4uKSA9IDEwMDAKCldlIG5lZWQgdG8gcmVmcmVzaCB0aGUgcm91 dGUgb3RoZXJ3aXNlIGJhZCB0aGluZ3MgY2FuIGhhcHBlbiwKZXNwZWNpYWxseSB3aGVuIHN5emth bGxlciBpcyBydW5uaW5nIG9uIHRoZSBob3N0IDovCgpGaXhlczogMTlmNmQzZjNjODQyMiAoIm5l dC90Y3AtZmFzdG9wZW46IEFkZCBuZXcgQVBJIHN1cHBvcnQiKQpSZXBvcnRlZC1ieTogRG1pdHJ5 IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQg PGVkdW1hemV0QGdvb2dsZS5jb20+CkNjOiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+CkNj OiBZdWNodW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IFdlaSBXYW5nIDx3 ZWl3YW5AZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IFl1Y2h1bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2lwdjQvdGNwX291dHB1dC5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMgYi9uZXQvaXB2 NC90Y3Bfb3V0cHV0LmMKaW5kZXggZGM0MjU4ZmQxNWRjLi41ZDgzNmIwMzc0NDIgMTAwNjQ0Ci0t LSBhL25ldC9pcHY0L3RjcF9vdXRwdXQuYworKysgYi9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMKQEAg LTMzNDQsNiArMzM0NCw5IEBAIGludCB0Y3BfY29ubmVjdChzdHJ1Y3Qgc29jayAqc2spCiAJc3Ry dWN0IHNrX2J1ZmYgKmJ1ZmY7CiAJaW50IGVycjsKIAorCWlmIChpbmV0X2NzayhzayktPmljc2tf YWZfb3BzLT5yZWJ1aWxkX2hlYWRlcihzaykpCisJCXJldHVybiAtRUhPU1RVTlJFQUNIOyAvKiBS b3V0aW5nIGZhaWx1cmUgb3Igc2ltaWxhci4gKi8KKwogCXRjcF9jb25uZWN0X2luaXQoc2spOwog CiAJaWYgKHVubGlrZWx5KHRwLT5yZXBhaXIpKSB7Ci0tIAoyLjEzLjQKCgpGcm9tIDc3ODYzMTI3 MDIzOWJjM2QwNTkzNmUxN2JhYTRlYzQ5M2I0NDlhOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KRGF0ZTogVHVlLCA4 IEF1ZyAyMDE3IDE0OjIyOjU1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwOS8xMl0gbmV0OiBhdm9p ZCBza2Jfd2Fybl9iYWRfb2ZmbG9hZCBmYWxzZSBwb3NpdGl2ZXMgb24gVUZPCgpbIFVwc3RyZWFt IGNvbW1pdCA4ZDYzYmVlNjQzZjFmYjUzZTQ3MmYwZTEzNWNhZTRlYjk5ZDYyZDE5IF0KCnNrYl93 YXJuX2JhZF9vZmZsb2FkIHRyaWdnZXJzIGEgd2FybmluZyB3aGVuIGFuIHNrYiBlbnRlcnMgdGhl IEdTTwpzdGFjayBhdCBfX3NrYl9nc29fc2VnbWVudCB0aGF0IGRvZXMgbm90IGhhdmUgQ0hFQ0tT VU1fUEFSVElBTApjaGVja3N1bSBvZmZsb2FkIHNldC4KCkNvbW1pdCBiMjUwNGE1ZGJlZjMgKCJu ZXQ6IHJlZHVjZSBza2Jfd2Fybl9iYWRfb2ZmbG9hZCgpIG5vaXNlIikKb2JzZXJ2ZWQgdGhhdCBT S0JfR1NPX0RPREdZIHByb2R1Y2VycyBjYW4gdHJpZ2dlciB0aGUgY2hlY2sgYW5kCnRoYXQgcGFz c2luZyB0aG9zZSBwYWNrZXRzIHRocm91Z2ggdGhlIEdTTyBoYW5kbGVycyB3aWxsIGZpeCBpdAp1 cC4gQnV0LCB0aGUgc29mdHdhcmUgVUZPIGhhbmRsZXIgd2lsbCBzZXQgaXBfc3VtbWVkIHRvCkNI RUNLU1VNX05PTkUuCgpXaGVuIF9fc2tiX2dzb19zZWdtZW50IGlzIGNhbGxlZCBmcm9tIHRoZSBy ZWNlaXZlIHBhdGgsIHRoaXMKdHJpZ2dlcnMgdGhlIHdhcm5pbmcgYWdhaW4uCgpNYWtlIFVGTyBz ZXQgQ0hFQ0tTVU1fVU5ORUNFU1NBUlkgaW5zdGVhZCBvZiBDSEVDS1NVTV9OT05FLiBPbgpUeCB0 aGVzZSB0d28gYXJlIGVxdWl2YWxlbnQuIE9uIFJ4LCB0aGlzIGJldHRlciBtYXRjaGVzIHRoZQpz a2Igc3RhdGUgKGNoZWNrc3VtIGNvbXB1dGVkKSwgYXMgQ0hFQ0tTVU1fTk9ORSBoZXJlIG1lYW5z IG5vCmNoZWNrc3VtIGNvbXB1dGVkLgoKU2VlIGFsc28gdGhpcyB0aHJlYWQgZm9yIGNvbnRleHQ6 Cmh0dHA6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC83OTkwMTUvCgpGaXhlczogYjI1MDRh NWRiZWYzICgibmV0OiByZWR1Y2Ugc2tiX3dhcm5fYmFkX29mZmxvYWQoKSBub2lzZSIpClNpZ25l ZC1vZmYtYnk6IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3Jl L2Rldi5jICAgICAgICAgfCAyICstCiBuZXQvaXB2NC91ZHBfb2ZmbG9hZC5jIHwgMiArLQogbmV0 L2lwdjYvdWRwX29mZmxvYWQuYyB8IDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2Nv cmUvZGV2LmMKaW5kZXggMGFmMDE5ZGZlODQ2Li4xZDBhNzM2OWQ1YTIgMTAwNjQ0Ci0tLSBhL25l dC9jb3JlL2Rldi5jCisrKyBiL25ldC9jb3JlL2Rldi5jCkBAIC0yNzAzLDcgKzI3MDMsNyBAQCBz dGF0aWMgaW5saW5lIGJvb2wgc2tiX25lZWRzX2NoZWNrKHN0cnVjdCBza19idWZmICpza2IsIGJv b2wgdHhfcGF0aCkKIHsKIAlpZiAodHhfcGF0aCkKIAkJcmV0dXJuIHNrYi0+aXBfc3VtbWVkICE9 IENIRUNLU1VNX1BBUlRJQUwgJiYKLQkJICAgICAgIHNrYi0+aXBfc3VtbWVkICE9IENIRUNLU1VN X05PTkU7CisJCSAgICAgICBza2ItPmlwX3N1bW1lZCAhPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWTsK IAogCXJldHVybiBza2ItPmlwX3N1bW1lZCA9PSBDSEVDS1NVTV9OT05FOwogfQpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjQvdWRwX29mZmxvYWQuYyBiL25ldC9pcHY0L3VkcF9vZmZsb2FkLmMKaW5kZXgg YjJiZTFkOTc1N2VmLi42ZGUwMTZmODBmMTcgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3VkcF9vZmZs b2FkLmMKKysrIGIvbmV0L2lwdjQvdWRwX29mZmxvYWQuYwpAQCAtMjMyLDcgKzIzMiw3IEBAIHN0 YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqdWRwNF91Zm9fZnJhZ21lbnQoc3RydWN0IHNrX2J1ZmYgKnNr YiwKIAlpZiAodWgtPmNoZWNrID09IDApCiAJCXVoLT5jaGVjayA9IENTVU1fTUFOR0xFRF8wOwog Ci0Jc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9OT05FOworCXNrYi0+aXBfc3VtbWVkID0gQ0hF Q0tTVU1fVU5ORUNFU1NBUlk7CiAKIAkvKiBJZiB0aGVyZSBpcyBubyBvdXRlciBoZWFkZXIgd2Ug Y2FuIGZha2UgYSBjaGVja3N1bSBvZmZsb2FkCiAJICogZHVlIHRvIHRoZSBmYWN0IHRoYXQgd2Ug aGF2ZSBhbHJlYWR5IGRvbmUgdGhlIGNoZWNrc3VtIGluCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni91 ZHBfb2ZmbG9hZC5jIGIvbmV0L2lwdjYvdWRwX29mZmxvYWQuYwppbmRleCBhMjI2N2Y4MGZlYmIu LmU3ZDM3OGMwMzJjYiAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvdWRwX29mZmxvYWQuYworKysgYi9u ZXQvaXB2Ni91ZHBfb2ZmbG9hZC5jCkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc2tf YnVmZiAqdWRwNl91Zm9fZnJhZ21lbnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJaWYgKHVoLT5j aGVjayA9PSAwKQogCQkJdWgtPmNoZWNrID0gQ1NVTV9NQU5HTEVEXzA7CiAKLQkJc2tiLT5pcF9z dW1tZWQgPSBDSEVDS1NVTV9OT05FOworCQlza2ItPmlwX3N1bW1lZCA9IENIRUNLU1VNX1VOTkVD RVNTQVJZOwogCiAJCS8qIElmIHRoZXJlIGlzIG5vIG91dGVyIGhlYWRlciB3ZSBjYW4gZmFrZSBh IGNoZWNrc3VtIG9mZmxvYWQKIAkJICogZHVlIHRvIHRoZSBmYWN0IHRoYXQgd2UgaGF2ZSBhbHJl YWR5IGRvbmUgdGhlIGNoZWNrc3VtIGluCi0tIAoyLjEzLjQKCgpGcm9tIGRmZjI4NzM4NTU5ZmQw NjViMGQ5MmFkNzdiNTk0MjAxMmIyOGNhNTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IE5pa29sYXkgQm9yaXNvdiA8bmJvcmlzb3ZAc3VzZS5jb20+CkRhdGU6IFdlZCwgOSBBdWcgMjAx NyAxNDozODowNCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTJdIGlnbXA6IEZpeCByZWdyZXNz aW9uIGNhdXNlZCBieSBpZ21wIHN5c2N0bCBuYW1lc3BhY2UKIGNvZGUuCgpbIFVwc3RyZWFtIGNv bW1pdCAxNzE0MDIwZTQyYjE3MTM1MDMyYzg2MDZmNzE4NWIzZmIyYmE1ZDc4IF0KCkNvbW1pdCBk Y2Q4Nzk5OWQ0MTUgKCJpZ21wOiBuZXQ6IE1vdmUgaWdtcCBuYW1lc3BhY2UgaW5pdCB0byBjb3Jy ZWN0IGZpbGUiKQptb3ZlZCB0aGUgaWdtcCBzeXNjdGxzIGluaXRpYWxpemF0aW9uIGZyb20gdGNw X3NrX2luaXQgdG8gaWdtcF9uZXRfaW5pdC4gVGhpcwpmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBh cyBwYXJ0IG9mIHBlci1uYW1lc3BhY2UgaW5pdGlhbGl6YXRpb24sIG9ubHkgaWYKQ09ORklHX0lQ X01VTFRJQ0FTVCBpcyBkZWZpbmVkLCBvdGhlcndpc2UgaWdtcF9tY19pbml0KCkgY2FsbCBpbiBp cF9pbml0IGlzCmNvbXBpbGVkIG91dCwgY2FzdWluZyB0aGUgaWdtcCBwZXJuZXQgb3BzIHRvIG5v dCBiZSByZWdpc3RlcmQgYW5kIHRob3NlIHN5c2N0bApiZWluZyBsZWZ0IGluaXRpYWxpemVkIHdp dGggMC4gSG93ZXZlciwgdGhlcmUgYXJlIGNlcnRhaW4gZnVuY3Rpb25zLCBzdWNoIGFzCmlwX21j X2pvaW5fZ3JvdXAgd2hpY2ggYXJlIGFsd2F5cyBjb21waWxlZCBhbmQgbWFrZSB1c2Ugb2Ygc29t ZSBvZiB0aG9zZQpzeXNjdGxzLiBMZXQncyBkbyBhIHBhcnRpYWwgcmV2ZXJ0IG9mIHRoZSBhZm9y ZW1lbnRpb25lZCBjb21taXQgYW5kIG1vdmUgdGhlCnN5c2N0bCBpbml0aWFsaXphdGlvbiBpbnRv IGluZXRfaW5pdF9uZXQsIHRoYXQgd2F5IHRoZXkgd2lsbCBhbHdheXMgaGF2ZQpzYW5lIHZhbHVl cy4KCkZpeGVzOiBkY2Q4Nzk5OWQ0MTUgKCJpZ21wOiBuZXQ6IE1vdmUgaWdtcCBuYW1lc3BhY2Ug aW5pdCB0byBjb3JyZWN0IGZpbGUiKQpMaW5rOiBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcv c2hvd19idWcuY2dpP2lkPTE5NjU5NQpSZXBvcnRlZC1ieTogR2VyYXJkbyBFeGVxdWllbCBQb3p6 aSA8dm1saW51ejM4NkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IE5pa29sYXkgQm9yaXNvdiA8 bmJvcmlzb3ZAc3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9hZl9pbmV0LmMgfCA3ICsrKysrKysKIG5ldC9p cHY0L2lnbXAuYyAgICB8IDYgLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9hZl9pbmV0LmMgYi9uZXQv aXB2NC9hZl9pbmV0LmMKaW5kZXggZjYwZmU4MmMyYzFlLi5iNTExNmVjMzE3NTcgMTAwNjQ0Ci0t LSBhL25ldC9pcHY0L2FmX2luZXQuYworKysgYi9uZXQvaXB2NC9hZl9pbmV0LmMKQEAgLTE2OTMs NiArMTY5MywxMyBAQCBzdGF0aWMgX19uZXRfaW5pdCBpbnQgaW5ldF9pbml0X25ldChzdHJ1Y3Qg bmV0ICpuZXQpCiAJbmV0LT5pcHY0LnN5c2N0bF9pcF9keW5hZGRyID0gMDsKIAluZXQtPmlwdjQu c3lzY3RsX2lwX2Vhcmx5X2RlbXV4ID0gMTsKIAorCS8qIFNvbWUgaWdtcCBzeXNjdGwsIHdob3Nl IHZhbHVlcyBhcmUgYWx3YXlzIHVzZWQgKi8KKwluZXQtPmlwdjQuc3lzY3RsX2lnbXBfbWF4X21l bWJlcnNoaXBzID0gMjA7CisJbmV0LT5pcHY0LnN5c2N0bF9pZ21wX21heF9tc2YgPSAxMDsKKwkv KiBJR01QIHJlcG9ydHMgZm9yIGxpbmstbG9jYWwgbXVsdGljYXN0IGdyb3VwcyBhcmUgZW5hYmxl ZCBieSBkZWZhdWx0ICovCisJbmV0LT5pcHY0LnN5c2N0bF9pZ21wX2xsbV9yZXBvcnRzID0gMTsK KwluZXQtPmlwdjQuc3lzY3RsX2lnbXBfcXJ2ID0gMjsKKwogCXJldHVybiAwOwogfQogCmRpZmYg LS1naXQgYS9uZXQvaXB2NC9pZ21wLmMgYi9uZXQvaXB2NC9pZ21wLmMKaW5kZXggMTk5MzBkYTU2 YjBhLi4wODU3NWUzYmQxMzUgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lnbXAuYworKysgYi9uZXQv aXB2NC9pZ21wLmMKQEAgLTI5NzQsMTIgKzI5NzQsNiBAQCBzdGF0aWMgaW50IF9fbmV0X2luaXQg aWdtcF9uZXRfaW5pdChzdHJ1Y3QgbmV0ICpuZXQpCiAJCWdvdG8gb3V0X3NvY2s7CiAJfQogCi0J LyogU3lzY3RsIGluaXRpYWxpemF0aW9uICovCi0JbmV0LT5pcHY0LnN5c2N0bF9pZ21wX21heF9t ZW1iZXJzaGlwcyA9IDIwOwotCW5ldC0+aXB2NC5zeXNjdGxfaWdtcF9tYXhfbXNmID0gMTA7Ci0J LyogSUdNUCByZXBvcnRzIGZvciBsaW5rLWxvY2FsIG11bHRpY2FzdCBncm91cHMgYXJlIGVuYWJs ZWQgYnkgZGVmYXVsdCAqLwotCW5ldC0+aXB2NC5zeXNjdGxfaWdtcF9sbG1fcmVwb3J0cyA9IDE7 Ci0JbmV0LT5pcHY0LnN5c2N0bF9pZ21wX3FydiA9IDI7CiAJcmV0dXJuIDA7CiAKIG91dF9zb2Nr OgotLSAKMi4xMy40CgoKRnJvbSAzODNiYmU0NjUxZWU4MDA2MjMyZmQyMjc0NTk4MmNlMGQ5MThk ZGU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxs ZW1iQGdvb2dsZS5jb20+CkRhdGU6IFRodSwgMTAgQXVnIDIwMTcgMTI6Mjk6MTkgLTA0MDAKU3Vi amVjdDogW1BBVENIIDExLzEyXSB1ZHA6IGNvbnNpc3RlbnRseSBhcHBseSB1Zm8gb3IgZnJhZ21l bnRhdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgODVmMWJkOWE3YjVhNzlkNWJhYThiZjQ0YWYxOTY1 OGY3YmY3N2JmYSBdCgpXaGVuIGl0ZXJhdGl2ZWx5IGJ1aWxkaW5nIGEgVURQIGRhdGFncmFtIHdp dGggTVNHX01PUkUgYW5kIHRoYXQKZGF0YWdyYW0gZXhjZWVkcyBNVFUsIGNvbnNpc3RlbnRseSBj aG9vc2UgVUZPIG9yIGZyYWdtZW50YXRpb24uCgpPbmNlIHNrYl9pc19nc28sIGFsd2F5cyBhcHBs eSB1Zm8uIENvbnZlcnNlbHksIG9uY2UgYSBkYXRhZ3JhbSBpcwpzcGxpdCBhY3Jvc3MgbXVsdGlw bGUgc2ticywgZG8gbm90IGNvbnNpZGVyIHVmby4KClNlbmRwYWdlIGFscmVhZHkgbWFpbnRhaW5z IHRoZSBmaXJzdCBpbnZhcmlhbnQsIG9ubHkgYWRkIHRoZSBzZWNvbmQuCklQdjYgZG9lcyBub3Qg aGF2ZSBhIHNlbmRwYWdlIGltcGxlbWVudGF0aW9uIHRvIG1vZGlmeS4KCkEgZ3NvIHNrYiBtdXN0 IGhhdmUgYSBwYXJ0aWFsIGNoZWNrc3VtLCBkbyBub3QgZm9sbG93IHNrX25vX2NoZWNrX3R4Cmlu IHVkcF9zZW5kX3NrYi4KCkZvdW5kIGJ5IHN5emthbGxlci4KCkZpeGVzOiBlODllOWNmNTM5YTIg KCJbSVB2NC9JUHY2XTogVUZPIFNjYXR0ZXItZ2F0aGVyIGFwcHJvYWNoIikKUmVwb3J0ZWQtYnk6 IEFuZHJleSBLb25vdmFsb3YgPGFuZHJleWtudmxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog V2lsbGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvaXBfb3V0cHV0 LmMgIHwgNyArKysrKy0tCiBuZXQvaXB2NC91ZHAuYyAgICAgICAgfCAyICstCiBuZXQvaXB2Ni9p cDZfb3V0cHV0LmMgfCA3ICsrKystLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9pcF9vdXRwdXQuYyBiL25l dC9pcHY0L2lwX291dHB1dC5jCmluZGV4IGU1YzFkYmVmMzYyNi4uOTNjNmNkZGZiYWIxIDEwMDY0 NAotLS0gYS9uZXQvaXB2NC9pcF9vdXRwdXQuYworKysgYi9uZXQvaXB2NC9pcF9vdXRwdXQuYwpA QCAtOTM2LDEwICs5MzYsMTIgQEAgc3RhdGljIGludCBfX2lwX2FwcGVuZF9kYXRhKHN0cnVjdCBz b2NrICpzaywKIAkJY3N1bW1vZGUgPSBDSEVDS1NVTV9QQVJUSUFMOwogCiAJY29yay0+bGVuZ3Ro ICs9IGxlbmd0aDsKLQlpZiAoKChsZW5ndGggPiBtdHUpIHx8IChza2IgJiYgc2tiX2lzX2dzbyhz a2IpKSkgJiYKKwlpZiAoKHNrYiAmJiBza2JfaXNfZ3NvKHNrYikpIHx8CisJICAgICgobGVuZ3Ro ID4gbXR1KSAmJiAKKwkgICAgKHNrYl9xdWV1ZV9sZW4ocXVldWUpIDw9IDEpICYmCiAJICAgIChz ay0+c2tfcHJvdG9jb2wgPT0gSVBQUk9UT19VRFApICYmCiAJICAgIChydC0+ZHN0LmRldi0+ZmVh dHVyZXMgJiBORVRJRl9GX1VGTykgJiYgIXJ0LT5kc3QuaGVhZGVyX2xlbiAmJgotCSAgICAoc2st PnNrX3R5cGUgPT0gU09DS19ER1JBTSkgJiYgIXNrLT5za19ub19jaGVja190eCkgeworCSAgICAo c2stPnNrX3R5cGUgPT0gU09DS19ER1JBTSkgJiYgIXNrLT5za19ub19jaGVja190eCkpIHsKIAkJ ZXJyID0gaXBfdWZvX2FwcGVuZF9kYXRhKHNrLCBxdWV1ZSwgZ2V0ZnJhZywgZnJvbSwgbGVuZ3Ro LAogCQkJCQkgaGhfbGVuLCBmcmFnaGVhZGVybGVuLCB0cmFuc2hkcmxlbiwKIAkJCQkJIG1heGZy YWdsZW4sIGZsYWdzKTsKQEAgLTEyNTUsNiArMTI1Nyw3IEBAIHNzaXplX3QJaXBfYXBwZW5kX3Bh Z2Uoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgZmxvd2k0ICpmbDQsIHN0cnVjdCBwYWdlICpwYWdl LAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWlmICgoc2l6ZSArIHNrYi0+bGVuID4gbXR1KSAmJgor CSAgICAoc2tiX3F1ZXVlX2xlbigmc2stPnNrX3dyaXRlX3F1ZXVlKSA9PSAxKSAmJgogCSAgICAo c2stPnNrX3Byb3RvY29sID09IElQUFJPVE9fVURQKSAmJgogCSAgICAocnQtPmRzdC5kZXYtPmZl YXR1cmVzICYgTkVUSUZfRl9VRk8pKSB7CiAJCWlmIChza2ItPmlwX3N1bW1lZCAhPSBDSEVDS1NV TV9QQVJUSUFMKQpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdWRwLmMgYi9uZXQvaXB2NC91ZHAuYwpp bmRleCA1YmFiNmMzZjdhMmYuLjQzNjNiMWU4OWJkZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRw LmMKKysrIGIvbmV0L2lwdjQvdWRwLmMKQEAgLTgxMyw3ICs4MTMsNyBAQCBzdGF0aWMgaW50IHVk cF9zZW5kX3NrYihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZmxvd2k0ICpmbDQpCiAJaWYg KGlzX3VkcGxpdGUpICAJCQkJIC8qICAgICBVRFAtTGl0ZSAgICAgICovCiAJCWNzdW0gPSB1ZHBs aXRlX2NzdW0oc2tiKTsKIAotCWVsc2UgaWYgKHNrLT5za19ub19jaGVja190eCkgeyAgIC8qIFVE UCBjc3VtIGRpc2FibGVkICovCisJZWxzZSBpZiAoc2stPnNrX25vX2NoZWNrX3R4ICYmICFza2Jf aXNfZ3NvKHNrYikpIHsgICAvKiBVRFAgY3N1bSBvZmYgKi8KIAogCQlza2ItPmlwX3N1bW1lZCA9 IENIRUNLU1VNX05PTkU7CiAJCWdvdG8gc2VuZDsKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9v dXRwdXQuYyBiL25ldC9pcHY2L2lwNl9vdXRwdXQuYwppbmRleCA1YTRiOGU3YmNlZGQuLjI1NWMw ZTY0NjEzNyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvaXA2X291dHB1dC5jCisrKyBiL25ldC9pcHY2 L2lwNl9vdXRwdXQuYwpAQCAtMTM3NiwxMSArMTM3NiwxMiBAQCBzdGF0aWMgaW50IF9faXA2X2Fw cGVuZF9kYXRhKHN0cnVjdCBzb2NrICpzaywKIAkgKi8KIAogCWNvcmstPmxlbmd0aCArPSBsZW5n dGg7Ci0JaWYgKCgoKGxlbmd0aCArIGZyYWdoZWFkZXJsZW4pID4gbXR1KSB8fAotCSAgICAgKHNr YiAmJiBza2JfaXNfZ3NvKHNrYikpKSAmJgorCWlmICgoc2tiICYmIHNrYl9pc19nc28oc2tiKSkg fHwKKwkgICAgKCgobGVuZ3RoICsgZnJhZ2hlYWRlcmxlbikgPiBtdHUpICYmCisJICAgIChza2Jf cXVldWVfbGVuKHF1ZXVlKSA8PSAxKSAmJgogCSAgICAoc2stPnNrX3Byb3RvY29sID09IElQUFJP VE9fVURQKSAmJgogCSAgICAocnQtPmRzdC5kZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9VRk8pICYm ICFydC0+ZHN0LmhlYWRlcl9sZW4gJiYKLQkgICAgKHNrLT5za190eXBlID09IFNPQ0tfREdSQU0p ICYmICF1ZHBfZ2V0X25vX2NoZWNrNl90eChzaykpIHsKKwkgICAgKHNrLT5za190eXBlID09IFNP Q0tfREdSQU0pICYmICF1ZHBfZ2V0X25vX2NoZWNrNl90eChzaykpKSB7CiAJCWVyciA9IGlwNl91 Zm9fYXBwZW5kX2RhdGEoc2ssIHF1ZXVlLCBnZXRmcmFnLCBmcm9tLCBsZW5ndGgsCiAJCQkJCSAg aGhfbGVuLCBmcmFnaGVhZGVybGVuLCBleHRoZHJsZW4sCiAJCQkJCSAgdHJhbnNoZHJsZW4sIG10 dSwgZmxhZ3MsIGZsNik7Ci0tIAoyLjEzLjQKCgpGcm9tIDljZTJmN2I1YzI1YTE4NWRkZTFiZDFm NTM5MWEzMjY5NTIxZTAzZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFdpbGxlbSBk ZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1LCAxMCBBdWcgMjAxNyAxMjo0 MTo1OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMTJdIHBhY2tldDogZml4IHRwX3Jlc2VydmUg cmFjZSBpbiBwYWNrZXRfc2V0X3JpbmcKClsgVXBzdHJlYW0gY29tbWl0IGMyNzkyN2UzNzJmMDc4 NWYzMzAzZThmYWQ5NGI4NTk0NWUyYzk3YjcgXQoKVXBkYXRlcyB0byB0cF9yZXNlcnZlIGNhbiBy YWNlIHdpdGggcmVhZHMgb2YgdGhlIGZpZWxkIGluCnBhY2tldF9zZXRfcmluZy4gQXZvaWQgdGhp cyBieSBob2xkaW5nIHRoZSBzb2NrZXQgbG9jayBkdXJpbmcKdXBkYXRlcyBpbiBzZXRzb2Nrb3B0 IFBBQ0tFVF9SRVNFUlZFLgoKVGhpcyBidWcgd2FzIGRpc2NvdmVyZWQgYnkgc3l6a2FsbGVyLgoK Rml4ZXM6IDg5MTMzMzZhN2U4ZCAoInBhY2tldDogYWRkIFBBQ0tFVF9SRVNFUlZFIHNvY2tvcHQi KQpSZXBvcnRlZC1ieTogQW5kcmV5IEtvbm92YWxvdiA8YW5kcmV5a252bEBnb29nbGUuY29tPgpT aWduZWQtb2ZmLWJ5OiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQv cGFja2V0L2FmX3BhY2tldC5jIHwgMTMgKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvcGFja2V0L2Fm X3BhY2tldC5jIGIvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwppbmRleCA2YTU2M2U2ZTI0ZGUuLjVk MTViM2ZlZjkzOSAxMDA2NDQKLS0tIGEvbmV0L3BhY2tldC9hZl9wYWNrZXQuYworKysgYi9uZXQv cGFja2V0L2FmX3BhY2tldC5jCkBAIC0zNjk4LDE0ICszNjk4LDE5IEBAIHBhY2tldF9zZXRzb2Nr b3B0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUsIGNoYXIgX191 c2VyICpvcHR2CiAKIAkJaWYgKG9wdGxlbiAhPSBzaXplb2YodmFsKSkKIAkJCXJldHVybiAtRUlO VkFMOwotCQlpZiAocG8tPnJ4X3JpbmcucGdfdmVjIHx8IHBvLT50eF9yaW5nLnBnX3ZlYykKLQkJ CXJldHVybiAtRUJVU1k7CiAJCWlmIChjb3B5X2Zyb21fdXNlcigmdmFsLCBvcHR2YWwsIHNpemVv Zih2YWwpKSkKIAkJCXJldHVybiAtRUZBVUxUOwogCQlpZiAodmFsID4gSU5UX01BWCkKIAkJCXJl dHVybiAtRUlOVkFMOwotCQlwby0+dHBfcmVzZXJ2ZSA9IHZhbDsKLQkJcmV0dXJuIDA7CisJCWxv Y2tfc29jayhzayk7CisJCWlmIChwby0+cnhfcmluZy5wZ192ZWMgfHwgcG8tPnR4X3JpbmcucGdf dmVjKSB7CisJCQlyZXQgPSAtRUJVU1k7CisJCX0gZWxzZSB7CisJCQlwby0+dHBfcmVzZXJ2ZSA9 IHZhbDsKKwkJCXJldCA9IDA7CisJCX0KKwkJcmVsZWFzZV9zb2NrKHNrKTsKKwkJcmV0dXJuIHJl dDsKIAl9CiAJY2FzZSBQQUNLRVRfTE9TUzoKIAl7Ci0tIAoyLjEzLjQKCg== ----Next_Part(Thu_Aug_10_22_25_42_2017_848)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_412.mbox" RnJvbSA5OGViMTRhYWI2ZWI2YmY0MzIwNzU1NTMzYTQ2YWRjODU5N2VmMDkxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHYW8gRmVuZyA8Z2ZyZWUud2luZEB2aXAuMTYzLmNvbT4KRGF0 ZTogTW9uLCAxNyBKdWwgMjAxNyAxODozNDo0MiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTVd IHBwcDogRml4IGZhbHNlIHhtaXQgcmVjdXJzaW9uIGRldGVjdCB3aXRoIHR3byBwcHAKIGRldmlj ZXMKClsgVXBzdHJlYW0gY29tbWl0IGU1ZGFkYzY1ZjllMDE3N2ViNjQ5YmNkOWQzMzNmMWViZjg3 MTIyM2UgXQoKVGhlIGdsb2JhbCBwZXJjcHUgdmFyaWFibGUgcHBwX3htaXRfcmVjdXJzaW9uIGlz IHVzZWQgdG8gZGV0ZWN0IHRoZSBwcHAKeG1pdCByZWN1cnNpb24gdG8gYXZvaWQgdGhlIGRlYWRs b2NrLCB3aGljaCBpcyBjYXVzZWQgYnkgb25lIENQVSB0cmllcyB0bwpsb2NrIHRoZSB4bWl0IGxv Y2sgdHdpY2UuIEJ1dCBpdCB3b3VsZCByZXBvcnQgZmFsc2UgcmVjdXJzaW9uIHdoZW4gb25lIENQ VQp3YW50cyB0byBzZW5kIHRoZSBza2IgZnJvbSB0d28gZGlmZmVyZW50IFBQUCBkZXZpY2VzLCBs aWtlIG9uZSBMMlRQIG9uIHRoZQpQUFBvRS4gSXQgaXMgYSBub3JtYWwgY2FzZSBhY3R1YWxseS4K Ck5vdyB1c2Ugb25lIHBlcmNwdSBtZW1iZXIgb2Ygc3RydWN0IHBwcCBpbnN0ZWFkIG9mIHRoZSBn bG9hYmxlIHZhcmlhYmxlIHRvCmRldGVjdCB0aGUgeG1pdCByZWN1cnNpb24gb2Ygb25lIHBwcCBk ZXZpY2UuCgpGaXhlczogNTU0NTRhNTY1ODM2ICgicHBwOiBhdm9pZCBkZWFsb2NrIG9uIHJlY3Vy c2l2ZSB4bWl0IikKU2lnbmVkLW9mZi1ieTogR2FvIEZlbmcgPGdmcmVlLndpbmRAdmlwLjE2My5j b20+ClNpZ25lZC1vZmYtYnk6IExpdSBKaWFueWluZyA8amlhbnlpbmcubGl1QGlrdWFpOC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBkcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYyB8IDMwICsrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMgYi9kcml2ZXJz L25ldC9wcHAvcHBwX2dlbmVyaWMuYwppbmRleCBmOWMwZTYyNzE2ZWEuLjBkOWY3NzY0NDJjYiAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMKKysrIGIvZHJpdmVycy9u ZXQvcHBwL3BwcF9nZW5lcmljLmMKQEAgLTEyMCw2ICsxMjAsNyBAQCBzdHJ1Y3QgcHBwIHsKIAlp bnQJCW5fY2hhbm5lbHM7CS8qIGhvdyBtYW55IGNoYW5uZWxzIGFyZSBhdHRhY2hlZCA1NCAqLwog CXNwaW5sb2NrX3QJcmxvY2s7CQkvKiBsb2NrIGZvciByZWNlaXZlIHNpZGUgNTggKi8KIAlzcGlu bG9ja190CXdsb2NrOwkJLyogbG9jayBmb3IgdHJhbnNtaXQgc2lkZSA1YyAqLworCWludAkJKnht aXRfcmVjdXJzaW9uIF9fcGVyY3B1OyAvKiB4bWl0IHJlY3Vyc2lvbiBkZXRlY3QgKi8KIAlpbnQJ CW1ydTsJCS8qIG1heCByZWNlaXZlIHVuaXQgNjAgKi8KIAl1bnNpZ25lZCBpbnQJZmxhZ3M7CQkv KiBjb250cm9sIGJpdHMgNjQgKi8KIAl1bnNpZ25lZCBpbnQJeHN0YXRlOwkJLyogdHJhbnNtaXQg c3RhdGUgYml0cyA2OCAqLwpAQCAtMTAyNSw2ICsxMDI2LDcgQEAgc3RhdGljIGludCBwcHBfZGV2 X2NvbmZpZ3VyZShzdHJ1Y3QgbmV0ICpzcmNfbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAog CXN0cnVjdCBwcHAgKnBwcCA9IG5ldGRldl9wcml2KGRldik7CiAJaW50IGluZHg7CiAJaW50IGVy cjsKKwlpbnQgY3B1OwogCiAJcHBwLT5kZXYgPSBkZXY7CiAJcHBwLT5wcHBfbmV0ID0gc3JjX25l dDsKQEAgLTEwMzksNiArMTA0MSwxNSBAQCBzdGF0aWMgaW50IHBwcF9kZXZfY29uZmlndXJlKHN0 cnVjdCBuZXQgKnNyY19uZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJSU5JVF9MSVNUX0hF QUQoJnBwcC0+Y2hhbm5lbHMpOwogCXNwaW5fbG9ja19pbml0KCZwcHAtPnJsb2NrKTsKIAlzcGlu X2xvY2tfaW5pdCgmcHBwLT53bG9jayk7CisKKwlwcHAtPnhtaXRfcmVjdXJzaW9uID0gYWxsb2Nf cGVyY3B1KGludCk7CisJaWYgKCFwcHAtPnhtaXRfcmVjdXJzaW9uKSB7CisJCWVyciA9IC1FTk9N RU07CisJCWdvdG8gZXJyMTsKKwl9CisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKKwkJKCpw ZXJfY3B1X3B0cihwcHAtPnhtaXRfcmVjdXJzaW9uLCBjcHUpKSA9IDA7CisKICNpZmRlZiBDT05G SUdfUFBQX01VTFRJTElOSwogCXBwcC0+bWluc2VxID0gLTE7CiAJc2tiX3F1ZXVlX2hlYWRfaW5p dCgmcHBwLT5tcnEpOwpAQCAtMTA1MCwxMSArMTA2MSwxNSBAQCBzdGF0aWMgaW50IHBwcF9kZXZf Y29uZmlndXJlKHN0cnVjdCBuZXQgKnNyY19uZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAK IAllcnIgPSBwcHBfdW5pdF9yZWdpc3RlcihwcHAsIGNvbmYtPnVuaXQsIGNvbmYtPmlmbmFtZV9p c19zZXQpOwogCWlmIChlcnIgPCAwKQotCQlyZXR1cm4gZXJyOworCQlnb3RvIGVycjI7CiAKIAlj b25mLT5maWxlLT5wcml2YXRlX2RhdGEgPSAmcHBwLT5maWxlOwogCiAJcmV0dXJuIDA7CitlcnIy OgorCWZyZWVfcGVyY3B1KHBwcC0+eG1pdF9yZWN1cnNpb24pOworZXJyMToKKwlyZXR1cm4gZXJy OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG5sYV9wb2xpY3kgcHBwX25sX3BvbGljeVtJRkxB X1BQUF9NQVggKyAxXSA9IHsKQEAgLTEzOTgsMTggKzE0MTMsMTYgQEAgc3RhdGljIHZvaWQgX19w cHBfeG1pdF9wcm9jZXNzKHN0cnVjdCBwcHAgKnBwcCkKIAlwcHBfeG1pdF91bmxvY2socHBwKTsK IH0KIAotc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgcHBwX3htaXRfcmVjdXJzaW9uKTsKLQog c3RhdGljIHZvaWQgcHBwX3htaXRfcHJvY2VzcyhzdHJ1Y3QgcHBwICpwcHApCiB7CiAJbG9jYWxf YmhfZGlzYWJsZSgpOwogCi0JaWYgKHVubGlrZWx5KF9fdGhpc19jcHVfcmVhZChwcHBfeG1pdF9y ZWN1cnNpb24pKSkKKwlpZiAodW5saWtlbHkoKnRoaXNfY3B1X3B0cihwcHAtPnhtaXRfcmVjdXJz aW9uKSkpCiAJCWdvdG8gZXJyOwogCi0JX190aGlzX2NwdV9pbmMocHBwX3htaXRfcmVjdXJzaW9u KTsKKwkoKnRoaXNfY3B1X3B0cihwcHAtPnhtaXRfcmVjdXJzaW9uKSkrKzsKIAlfX3BwcF94bWl0 X3Byb2Nlc3MocHBwKTsKLQlfX3RoaXNfY3B1X2RlYyhwcHBfeG1pdF9yZWN1cnNpb24pOworCSgq dGhpc19jcHVfcHRyKHBwcC0+eG1pdF9yZWN1cnNpb24pKS0tOwogCiAJbG9jYWxfYmhfZW5hYmxl KCk7CiAKQEAgLTE5MDMsNyArMTkxNiw3IEBAIHN0YXRpYyB2b2lkIF9fcHBwX2NoYW5uZWxfcHVz aChzdHJ1Y3QgY2hhbm5lbCAqcGNoKQogCQlyZWFkX2xvY2tfYmgoJnBjaC0+dXBsKTsKIAkJcHBw ID0gcGNoLT5wcHA7CiAJCWlmIChwcHApCi0JCQlfX3BwcF94bWl0X3Byb2Nlc3MocHBwKTsKKwkJ CXBwcF94bWl0X3Byb2Nlc3MocHBwKTsKIAkJcmVhZF91bmxvY2tfYmgoJnBjaC0+dXBsKTsKIAl9 CiB9CkBAIC0xOTEyLDkgKzE5MjUsNyBAQCBzdGF0aWMgdm9pZCBwcHBfY2hhbm5lbF9wdXNoKHN0 cnVjdCBjaGFubmVsICpwY2gpCiB7CiAJbG9jYWxfYmhfZGlzYWJsZSgpOwogCi0JX190aGlzX2Nw dV9pbmMocHBwX3htaXRfcmVjdXJzaW9uKTsKIAlfX3BwcF9jaGFubmVsX3B1c2gocGNoKTsKLQlf X3RoaXNfY3B1X2RlYyhwcHBfeG1pdF9yZWN1cnNpb24pOwogCiAJbG9jYWxfYmhfZW5hYmxlKCk7 CiB9CkBAIC0zMDU1LDYgKzMwNjYsNyBAQCBzdGF0aWMgdm9pZCBwcHBfZGVzdHJveV9pbnRlcmZh Y2Uoc3RydWN0IHBwcCAqcHBwKQogI2VuZGlmIC8qIENPTkZJR19QUFBfRklMVEVSICovCiAKIAlr ZnJlZV9za2IocHBwLT54bWl0X3BlbmRpbmcpOworCWZyZWVfcGVyY3B1KHBwcC0+eG1pdF9yZWN1 cnNpb24pOwogCiAJZnJlZV9uZXRkZXYocHBwLT5kZXYpOwogfQotLSAKMi4xMy40CgoKRnJvbSBj NThjMGI0NDEzNDRkZGEyMThmZTgwZDc1NTk1ZjAyOTEwNDg0MTAyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBHdWlsbGF1bWUgTmF1bHQgPGcubmF1bHRAYWxwaGFsaW5rLmZyPgpEYXRl OiBUdWUsIDggQXVnIDIwMTcgMTE6NDM6MjQgKzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzE1XSBw cHA6IGZpeCB4bWl0IHJlY3Vyc2lvbiBkZXRlY3Rpb24gb24gcHBwIGNoYW5uZWxzCgpbIFVwc3Ry ZWFtIGNvbW1pdCAwYTBlMWE4NWM4Mzc3NWE2NDgwNDFiZTJiMTVkZTZkMGEyZjJiOGViIF0KCkNv bW1pdCBlNWRhZGM2NWY5ZTAgKCJwcHA6IEZpeCBmYWxzZSB4bWl0IHJlY3Vyc2lvbiBkZXRlY3Qg d2l0aCB0d28gcHBwCmRldmljZXMiKSBkcm9wcGVkIHRoZSB4bWl0X3JlY3Vyc2lvbiBjb3VudGVy IGluY3JlbWVudGF0aW9uIGluCnBwcF9jaGFubmVsX3B1c2goKSBhbmQgcmVsaWVkIG9uIHBwcF94 bWl0X3Byb2Nlc3MoKSBmb3IgdGhpcyB0YXNrLgpCdXQgX19wcHBfY2hhbm5lbF9wdXNoKCkgY2Fu IGFsc28gc2VuZCBwYWNrZXRzIGRpcmVjdGx5ICh1c2luZyB0aGUKLnN0YXJ0X3htaXQoKSBjaGFu bmVsIGNhbGxiYWNrKSwgaW4gd2hpY2ggY2FzZSB0aGUgeG1pdF9yZWN1cnNpb24KY291bnRlciBp c24ndCBpbmNyZW1lbnRlZCBhbnltb3JlLiBJZiBzdWNoIHBhY2tldHMgZ2V0IHJvdXRlZCBiYWNr IHRvCnRoZSBwYXJlbnQgcHBwIHVuaXQsIHBwcF94bWl0X3Byb2Nlc3MoKSB3b24ndCBub3RpY2Ug dGhlIHJlY3Vyc2lvbiBhbmQKd2lsbCBjYWxsIHBwcF9jaGFubmVsX3B1c2goKSBvbiB0aGUgc2Ft ZSBjaGFubmVsLCBlZmZlY3RpdmVseSBjcmVhdGluZwp0aGUgZGVhZGxvY2sgc2l0dWF0aW9uIHRo YXQgdGhlIHhtaXRfcmVjdXJzaW9uIG1lY2hhbmlzbSB3YXMgc3VwcG9zZWQKdG8gcHJldmVudC4K ClRoaXMgcGF0Y2ggcmUtaW50cm9kdWNlcyB0aGUgeG1pdF9yZWN1cnNpb24gY291bnRlciBpbmNy ZW1lbnRhdGlvbiBpbgpwcHBfY2hhbm5lbF9wdXNoKCkuIFNpbmNlIHRoZSB4bWl0X3JlY3Vyc2lv biB2YXJpYWJsZSBpcyBub3cgcGFydCBvZgp0aGUgcGFyZW50IHBwcCB1bml0LCBpbmNyZW1lbnRh dGlvbiBpcyBza2lwcGVkIGlmIHRoZSBjaGFubmVsIGRvZXNuJ3QKaGF2ZSBhbnkuIFRoaXMgaXMg ZmluZSBiZWNhdXNlIG9ubHkgcGFja2V0cyByb3V0ZWQgdGhyb3VnaCB0aGUgcGFyZW50CnVuaXQg bWF5IGVudGVyIHRoZSBjaGFubmVsIHJlY3Vyc2l2ZWx5LgoKRmluYWxseSwgd2UgaGF2ZSB0byBl bnN1cmUgdGhhdCBwY2gtPnBwcCBpcyBub3QgZ29pbmcgdG8gYmUgbW9kaWZpZWQKd2hpbGUgZXhl Y3V0aW5nIHBwcF9jaGFubmVsX3B1c2goKS4gSW5zdGVhZCBvZiB0YWtpbmcgdGhpcyBsb2NrIG9u bHkKd2hpbGUgY2FsbGluZyBwcHBfeG1pdF9wcm9jZXNzKCksIHdlIG5vdyBoYXZlIHRvIGhvbGQg aXQgZm9yIHRoZSBmdWxsCnBwcF9jaGFubmVsX3B1c2goKSBleGVjdXRpb24uIFRoaXMgcmVzcGVj dHMgdGhlIHBwcCBsb2NrcyBvcmRlcmluZwp3aGljaCByZXF1aXJlcyBsb2NraW5nIC0+dXBsIGJl Zm9yZSAtPmRvd25sLgoKRml4ZXM6IGU1ZGFkYzY1ZjllMCAoInBwcDogRml4IGZhbHNlIHhtaXQg cmVjdXJzaW9uIGRldGVjdCB3aXRoIHR3byBwcHAgZGV2aWNlcyIpClNpZ25lZC1vZmYtYnk6IEd1 aWxsYXVtZSBOYXVsdCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9wcHAvcHBw X2dlbmVyaWMuYyB8IDE4ICsrKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBw L3BwcF9nZW5lcmljLmMgYi9kcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYwppbmRleCAwZDlm Nzc2NDQyY2IuLjE4ZmIwMGQ1NWFhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwL3BwcF9n ZW5lcmljLmMKKysrIGIvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMKQEAgLTE5MTMsMjEg KzE5MTMsMjMgQEAgc3RhdGljIHZvaWQgX19wcHBfY2hhbm5lbF9wdXNoKHN0cnVjdCBjaGFubmVs ICpwY2gpCiAJc3Bpbl91bmxvY2tfYmgoJnBjaC0+ZG93bmwpOwogCS8qIHNlZSBpZiB0aGVyZSBp cyBhbnl0aGluZyBmcm9tIHRoZSBhdHRhY2hlZCB1bml0IHRvIGJlIHNlbnQgKi8KIAlpZiAoc2ti X3F1ZXVlX2VtcHR5KCZwY2gtPmZpbGUueHEpKSB7Ci0JCXJlYWRfbG9ja19iaCgmcGNoLT51cGwp OwogCQlwcHAgPSBwY2gtPnBwcDsKIAkJaWYgKHBwcCkKLQkJCXBwcF94bWl0X3Byb2Nlc3MocHBw KTsKLQkJcmVhZF91bmxvY2tfYmgoJnBjaC0+dXBsKTsKKwkJCV9fcHBwX3htaXRfcHJvY2Vzcyhw cHApOwogCX0KIH0KIAogc3RhdGljIHZvaWQgcHBwX2NoYW5uZWxfcHVzaChzdHJ1Y3QgY2hhbm5l bCAqcGNoKQogewotCWxvY2FsX2JoX2Rpc2FibGUoKTsKLQotCV9fcHBwX2NoYW5uZWxfcHVzaChw Y2gpOwotCi0JbG9jYWxfYmhfZW5hYmxlKCk7CisJcmVhZF9sb2NrX2JoKCZwY2gtPnVwbCk7CisJ aWYgKHBjaC0+cHBwKSB7CisJCSgqdGhpc19jcHVfcHRyKHBjaC0+cHBwLT54bWl0X3JlY3Vyc2lv bikpKys7CisJCV9fcHBwX2NoYW5uZWxfcHVzaChwY2gpOworCQkoKnRoaXNfY3B1X3B0cihwY2gt PnBwcC0+eG1pdF9yZWN1cnNpb24pKS0tOworCX0gZWxzZSB7CisJCV9fcHBwX2NoYW5uZWxfcHVz aChwY2gpOworCX0KKwlyZWFkX3VubG9ja19iaCgmcGNoLT51cGwpOwogfQogCiAvKgotLSAKMi4x My40CgoKRnJvbSBmMzc2MWU3NTkwMjVkYzE0N2ZmMzdjODlkNTk1NjYzNTdmNDA4Y2Y2IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZdWNodW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNv bT4KRGF0ZTogVHVlLCAxIEF1ZyAyMDE3IDEzOjIyOjMyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAw My8xNV0gdGNwOiBhdm9pZCBzZXR0aW5nIGN3bmQgdG8gaW52YWxpZCBzc3RocmVzaCBhZnRlciBj d25kCiByZWR1Y3Rpb24gc3RhdGVzCgpbIFVwc3RyZWFtIGNvbW1pdCBlZDI1NDk3MWVkZWE5MmMz YWM1YzY3YzZhMDUyNDdhOTJhYTYwNzVlIF0KCklmIHRoZSBzZW5kZXIgc3dpdGNoZXMgdGhlIGNv bmdlc3Rpb24gY29udHJvbCBkdXJpbmcgRUNOLXRyaWdnZXJlZApjd25kLXJlZHVjdGlvbiBzdGF0 ZSAoQ0FfQ1dSKSwgdXBvbiBleGl0aW5nIHJlY292ZXJ5IGN3bmQgaXMgc2V0IHRvCnRoZSBzc3Ro cmVzaCB2YWx1ZSBjYWxjdWxhdGVkIGJ5IHRoZSBwcmV2aW91cyBjb25nZXN0aW9uIGNvbnRyb2wu IElmCnRoZSBwcmV2aW91cyBjb25nZXN0aW9uIGNvbnRyb2wgaXMgQkJSIHRoYXQgYWx3YXlzIGtl ZXAgc3N0aHJlc2gKdG8gVENQX0lOSUZJTklURV9TU1RIUkVTSCwgY3duZCBlbmRzIHVwIGJlaW5n IGluZmluaXRlLiBUaGUgc2FmZQpzdGVwIGlzIHRvIGF2b2lkIGFzc2lnbmluZyBpbnZhbGlkIHNz dGhyZXNoIHZhbHVlIHdoZW4gcmVjb3ZlcnkgZW5kcy4KClNpZ25lZC1vZmYtYnk6IFl1Y2h1bmcg Q2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBOZWFsIENhcmR3ZWxsIDxu Y2FyZHdlbGxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9pcHY0L3RjcF9pbnB1dC5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3Rj cF9pbnB1dC5jIGIvbmV0L2lwdjQvdGNwX2lucHV0LmMKaW5kZXggMTc0ZDQzNzZiYWE1Li41N2Jj YWU4MWZlNDIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9pbnB1dC5jCisrKyBiL25ldC9pcHY0 L3RjcF9pbnB1dC5jCkBAIC0yNTE3LDggKzI1MTcsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdGNw X2VuZF9jd25kX3JlZHVjdGlvbihzdHJ1Y3Qgc29jayAqc2spCiAJCXJldHVybjsKIAogCS8qIFJl c2V0IGN3bmQgdG8gc3N0aHJlc2ggaW4gQ1dSIG9yIFJlY292ZXJ5ICh1bmxlc3MgaXQncyB1bmRv bmUpICovCi0JaWYgKGluZXRfY3NrKHNrKS0+aWNza19jYV9zdGF0ZSA9PSBUQ1BfQ0FfQ1dSIHx8 Ci0JICAgICh0cC0+dW5kb19tYXJrZXIgJiYgdHAtPnNuZF9zc3RocmVzaCA8IFRDUF9JTkZJTklU RV9TU1RIUkVTSCkpIHsKKwlpZiAodHAtPnNuZF9zc3RocmVzaCA8IFRDUF9JTkZJTklURV9TU1RI UkVTSCAmJgorCSAgICAoaW5ldF9jc2soc2spLT5pY3NrX2NhX3N0YXRlID09IFRDUF9DQV9DV1Ig fHwgdHAtPnVuZG9fbWFya2VyKSkgewogCQl0cC0+c25kX2N3bmQgPSB0cC0+c25kX3NzdGhyZXNo OwogCQl0cC0+c25kX2N3bmRfc3RhbXAgPSB0Y3BfdGltZV9zdGFtcDsKIAl9Ci0tIAoyLjEzLjQK CgpGcm9tIDljYzE1YWE2M2E0N2ZmYzVlYmEwNzk2MTgwMGYyNTJlNDk3YzI0YjEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4K RGF0ZTogV2VkLCAyIEF1ZyAyMDE3IDIzOjEwOjQ2IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8x NV0gbmV0OiBmaXgga2VlcGFsaXZlIGNvZGUgdnMgVENQX0ZBU1RPUEVOX0NPTk5FQ1QKClsgVXBz dHJlYW0gY29tbWl0IDJkZGE2NDAwNDA4NzZjZDhhZTY0NjQwOGI2OWVlYTQwYzI0ZjlhZTkgXQoK c3l6a2FsbGVyIHdhcyBhYmxlIHRvIHRyaWdnZXIgYSBkaXZpZGUgYnkgMCBpbiBUQ1Agc3RhY2sg WzFdCgpJc3N1ZSBoZXJlIGlzIHRoYXQga2VlcGFsaXZlIHRpbWVyIG5lZWRzIHRvIGJlIHVwZGF0 ZWQgdG8gbm90IGF0dGVtcHQKdG8gc2VuZCBhIHByb2JlIGlmIHRoZSBjb25uZWN0aW9uIHNldHVw IHdhcyBkZWZlcnJlZCB1c2luZwpUQ1BfRkFTVE9QRU5fQ09OTkVDVCBzb2NrZXQgb3B0aW9uIGFk ZGVkIGluIGxpbnV4LTQuMTEKClsxXQogZGl2aWRlIGVycm9yOiAwMDAwIFsjMV0gU01QCiBDUFU6 IDE4IFBJRDogMCBDb21tOiBzd2FwcGVyLzE4IE5vdCB0YWludGVkCiB0YXNrOiBmZmZmOTg2ZjYy ZjRiMDQwIHRpOiBmZmZmOTg2ZjYyZmEyMDAwIHRhc2sudGk6IGZmZmY5ODZmNjJmYTIwMDAKIFJJ UDogMDAxMDpbPGZmZmZmZmZmODQwOWNjMGQ+XSAgWzxmZmZmZmZmZjg0MDljYzBkPl0gX190Y3Bf c2VsZWN0X3dpbmRvdysweDhkLzB4MTYwCiBDYWxsIFRyYWNlOgogIDxJUlE+CiAgWzxmZmZmZmZm Zjg0MDlkOTUxPl0gdGNwX3RyYW5zbWl0X3NrYisweDExLzB4MjAKICBbPGZmZmZmZmZmODQwOWRh MjE+XSB0Y3BfeG1pdF9wcm9iZV9za2IrMHhjMS8weGUwCiAgWzxmZmZmZmZmZjg0MGEwZWU4Pl0g dGNwX3dyaXRlX3dha2V1cCsweDY4LzB4MTYwCiAgWzxmZmZmZmZmZjg0MGExNTFiPl0gdGNwX2tl ZXBhbGl2ZV90aW1lcisweDE3Yi8weDIzMAogIFs8ZmZmZmZmZmY4M2IzZjc5OT5dIGNhbGxfdGlt ZXJfZm4rMHgzOS8weGYwCiAgWzxmZmZmZmZmZjgzYjQwNzk3Pl0gcnVuX3RpbWVyX3NvZnRpcnEr MHgxZDcvMHgyODAKICBbPGZmZmZmZmZmODNhMDRkZGI+XSBfX2RvX3NvZnRpcnErMHhjYi8weDI1 NwogIFs8ZmZmZmZmZmY4M2FlMDNhYz5dIGlycV9leGl0KzB4OWMvMHhiMAogIFs8ZmZmZmZmZmY4 M2EwNGMxYT5dIHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCsweDZhLzB4ODAKICBbPGZmZmZmZmZm ODNhMDNlYWY+XSBhcGljX3RpbWVyX2ludGVycnVwdCsweDdmLzB4OTAKICA8RU9JPgogIFs8ZmZm ZmZmZmY4M2ZlZDJlYT5dID8gY3B1aWRsZV9lbnRlcl9zdGF0ZSsweDEzYS8weDNiMAogIFs8ZmZm ZmZmZmY4M2ZlZDJjZD5dID8gY3B1aWRsZV9lbnRlcl9zdGF0ZSsweDExZC8weDNiMAoKVGVzdGVk OgoKRm9sbG93aW5nIHBhY2tldGRyaWxsIG5vIGxvbmdlciBjcmFzaGVzIHRoZSBrZXJuZWwKCmBl Y2hvIDAgPi9wcm9jL3N5cy9uZXQvaXB2NC90Y3BfdGltZXN0YW1wc2AKCi8vIENhY2hlIHdhcm11 cDogc2VuZCBhIEZhc3QgT3BlbiBjb29raWUgcmVxdWVzdAogICAgMCBzb2NrZXQoLi4uLCBTT0NL X1NUUkVBTSwgSVBQUk9UT19UQ1ApID0gMwogICArMCBmY250bCgzLCBGX1NFVEZMLCBPX1JEV1J8 T19OT05CTE9DSykgPSAwCiAgICswIHNldHNvY2tvcHQoMywgU09MX1RDUCwgVENQX0ZBU1RPUEVO X0NPTk5FQ1QsIFsxXSwgNCkgPSAwCiAgICswIGNvbm5lY3QoMywgLi4uLCAuLi4pID0gLTEgRUlO UFJPR1JFU1MgKE9wZXJhdGlvbiBpcyBub3cgaW4gcHJvZ3Jlc3MpCiAgICswID4gUyAwOjAoMCkg PG1zcyAxNDYwLG5vcCxub3Asc2Fja09LLG5vcCx3c2NhbGUgOCxGTyxub3Asbm9wPgogKy4wMSA8 IFMuIDEyMzoxMjMoMCkgYWNrIDEgd2luIDE0NjAwIDxtc3MgMTQ2MCxub3Asbm9wLHNhY2tPSyxu b3Asd3NjYWxlIDYsRk8gYWJjZDEyMzQsbm9wLG5vcD4KICAgKzAgPiAuIDE6MSgwKSBhY2sgMQog ICArMCBjbG9zZSgzKSA9IDAKICAgKzAgPiBGLiAxOjEoMCkgYWNrIDEKICAgKzAgPCBGLiAxOjEo MCkgYWNrIDIgd2luIDkyCiAgICswID4gLiAgMjoyKDApIGFjayAyCgogICArMCBzb2NrZXQoLi4u LCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApID0gNAogICArMCBmY250bCg0LCBGX1NFVEZMLCBP X1JEV1J8T19OT05CTE9DSykgPSAwCiAgICswIHNldHNvY2tvcHQoNCwgU09MX1RDUCwgVENQX0ZB U1RPUEVOX0NPTk5FQ1QsIFsxXSwgNCkgPSAwCiAgICswIHNldHNvY2tvcHQoNCwgU09MX1NPQ0tF VCwgU09fS0VFUEFMSVZFLCBbMV0sIDQpID0gMAogKy4wMSBjb25uZWN0KDQsIC4uLiwgLi4uKSA9 IDAKICAgKzAgc2V0c29ja29wdCg0LCBTT0xfVENQLCBUQ1BfS0VFUElETEUsIFs1XSwgNCkgPSAw CiAgICsxMCBjbG9zZSg0KSA9IDAKCmBlY2hvIDEgPi9wcm9jL3N5cy9uZXQvaXB2NC90Y3BfdGlt ZXN0YW1wc2AKCkZpeGVzOiAxOWY2ZDNmM2M4NDIgKCJuZXQvdGNwLWZhc3RvcGVuOiBBZGQgbmV3 IEFQSSBzdXBwb3J0IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpSZXBvcnRlZC1ieTogRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPgpD YzogV2VpIFdhbmcgPHdlaXdhbkBnb29nbGUuY29tPgpDYzogWXVjaHVuZyBDaGVuZyA8eWNoZW5n QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3BfdGltZXIuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQv dGNwX3RpbWVyLmMgYi9uZXQvaXB2NC90Y3BfdGltZXIuYwppbmRleCAxNDY3MjU0M2NmMGIuLjA3 MzNlYTdlMTdjZCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX3RpbWVyLmMKKysrIGIvbmV0L2lw djQvdGNwX3RpbWVyLmMKQEAgLTY1NCw3ICs2NTQsOCBAQCBzdGF0aWMgdm9pZCB0Y3Bfa2VlcGFs aXZlX3RpbWVyICh1bnNpZ25lZCBsb25nIGRhdGEpCiAJCWdvdG8gZGVhdGg7CiAJfQogCi0JaWYg KCFzb2NrX2ZsYWcoc2ssIFNPQ0tfS0VFUE9QRU4pIHx8IHNrLT5za19zdGF0ZSA9PSBUQ1BfQ0xP U0UpCisJaWYgKCFzb2NrX2ZsYWcoc2ssIFNPQ0tfS0VFUE9QRU4pIHx8CisJICAgICgoMSA8PCBz ay0+c2tfc3RhdGUpICYgKFRDUEZfQ0xPU0UgfCBUQ1BGX1NZTl9TRU5UKSkpCiAJCWdvdG8gb3V0 OwogCiAJZWxhcHNlZCA9IGtlZXBhbGl2ZV90aW1lX3doZW4odHApOwotLSAKMi4xMy40CgoKRnJv bSBkYThjNGYxZTIyOWFhY2NiYjYyMWFjODQ0Y2M5NzQyMjViODZiODY5IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IFRo dSwgMyBBdWcgMjAxNyAxNDoxMzo0NiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMTVdIGlwdjY6 IHNldCBydDZpX3Byb3RvY29sIHByb3Blcmx5IGluIHRoZSByb3V0ZSB3aGVuIGl0CiBpcyBpbnN0 YWxsZWQKClsgVXBzdHJlYW0gY29tbWl0IGI5MWQ1MzI5MjhkZmYyMTQxZWE5YzEwN2MzZTczMTA0 ZDk4NDM3NjcgXQoKQWZ0ZXIgY29tbWl0IGMyZWQxODgwZmQ2MSAoIm5ldDogaXB2NjogY2hlY2sg cm91dGUgcHJvdG9jb2wgd2hlbgpkZWxldGluZyByb3V0ZXMiKSwgaXB2NiByb3V0ZSBjaGVja3Mg cnQgcHJvdG9jb2wgd2hlbiB0cnlpbmcgdG8KcmVtb3ZlIGEgcnQgZW50cnkuCgpJdCBpbnRyb2R1 Y2VkIGEgc2lkZSBlZmZlY3QgY2F1c2luZyAnaXAgLTYgcm91dGUgZmx1c2ggY2FjaGUnIG5vdAp0 byB3b3JrIHdlbGwuIFdoZW4gZmx1c2hpbmcgY2FjaGVzIHdpdGggaXByb3V0ZSwgYWxsIHJvdXRl IGNhY2hlcwpnZXQgZHVtcGVkIGZyb20ga2VybmVsIHRoZW4gcmVtb3ZlZCBvbmUgYnkgb25lIGJ5 IHNlbmRpbmcgREVMUk9VVEUKcmVxdWVzdHMgdG8ga2VybmVsIGZvciBlYWNoIGNhY2hlLgoKVGhl IHRoaW5nIGlzIGlwcm91dGUgc2VuZHMgdGhlIHJlcXVlc3Qgd2l0aCB0aGUgY2FjaGUgd2hvc2Ug cHJvdG8KaXMgc2V0IHdpdGggUlRQUk9UX1JFRElSRUNUIGJ5IHJ0Nl9maWxsX25vZGUoKSB3aGVu IGtlcm5lbCBkdW1wcwppdC4gQnV0IGluIGtlcm5lbCB0aGUgcnRfY2FjaGUgcHJvdG9jb2wgaXMg c3RpbGwgMCwgd2hpY2ggY2F1c2VzCnRoZSBjYWNoZSBub3QgdG8gYmUgbWF0Y2hlZCBhbmQgcmVt b3ZlZC4KClNvIHRoZSByZWFsIHJlYXNvbiBpcyBydDZpX3Byb3RvY29sIGluIHRoZSByb3V0ZSBp cyBub3Qgc2V0IHdoZW4KaXQgaXMgYWxsb2NhdGVkLiBBcyBEYXZpZCBBaGVybidzIHN1Z2dlc3Rp b24sIHRoaXMgcGF0Y2ggaXMgdG8Kc2V0IHJ0NmlfcHJvdG9jb2wgcHJvcGVybHkgaW4gdGhlIHJv dXRlIHdoZW4gaXQgaXMgaW5zdGFsbGVkIGFuZApyZW1vdmUgdGhlIGNvZGVzIHNldHRpbmcgcnRt X3Byb3RvY29sIGFjY29yZGluZyB0byBydDZpX2ZsYWdzIGluCnJ0Nl9maWxsX25vZGUuCgpUaGlz IGlzIGFsc28gYW4gaW1wcm92ZW1lbnQgdG8ga2VlcCBydDZpX3Byb3RvY29sIGNvbnNpc3RlbnQg d2l0aApydG1fcHJvdG9jb2wuCgpGaXhlczogYzJlZDE4ODBmZDYxICgibmV0OiBpcHY2OiBjaGVj ayByb3V0ZSBwcm90b2NvbCB3aGVuIGRlbGV0aW5nIHJvdXRlcyIpClJlcG9ydGVkLWJ5OiBKaWFu bGluIFNoaSA8amlzaGlAcmVkaGF0LmNvbT4KU3VnZ2VzdGVkLWJ5OiBEYXZpZCBBaGVybiA8ZHNh aGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWls LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9pcHY2L3JvdXRlLmMgfCAxMSArKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9y b3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwppbmRleCBiYzQ5ZjlhODI5OTQuLmFlYjcwOTdhY2Mw YSAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91dGUuYworKysgYi9uZXQvaXB2Ni9yb3V0ZS5jCkBA IC0yMzY2LDYgKzIzNjYsNyBAQCBzdGF0aWMgdm9pZCBydDZfZG9fcmVkaXJlY3Qoc3RydWN0IGRz dF9lbnRyeSAqZHN0LCBzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idQogCWlmIChvbl9saW5r KQogCQlucnQtPnJ0NmlfZmxhZ3MgJj0gflJURl9HQVRFV0FZOwogCisJbnJ0LT5ydDZpX3Byb3Rv Y29sID0gUlRQUk9UX1JFRElSRUNUOwogCW5ydC0+cnQ2aV9nYXRld2F5ID0gKihzdHJ1Y3QgaW42 X2FkZHIgKiluZWlnaC0+cHJpbWFyeV9rZXk7CiAKIAlpZiAoaXA2X2luc19ydChucnQpKQpAQCAt MjQ3MCw2ICsyNDcxLDcgQEAgc3RhdGljIHN0cnVjdCBydDZfaW5mbyAqcnQ2X2FkZF9yb3V0ZV9p bmZvKHN0cnVjdCBuZXQgKm5ldCwKIAkJLmZjX2RzdF9sZW4JPSBwcmVmaXhsZW4sCiAJCS5mY19m bGFncwk9IFJURl9HQVRFV0FZIHwgUlRGX0FERFJDT05GIHwgUlRGX1JPVVRFSU5GTyB8CiAJCQkJ ICBSVEZfVVAgfCBSVEZfUFJFRihwcmVmKSwKKwkJLmZjX3Byb3RvY29sID0gUlRQUk9UX1JBLAog CQkuZmNfbmxpbmZvLnBvcnRpZCA9IDAsCiAJCS5mY19ubGluZm8ubmxoID0gTlVMTCwKIAkJLmZj X25saW5mby5ubF9uZXQgPSBuZXQsCkBAIC0yNTIyLDYgKzI1MjQsNyBAQCBzdHJ1Y3QgcnQ2X2lu Zm8gKnJ0Nl9hZGRfZGZsdF9yb3V0ZXIoY29uc3Qgc3RydWN0IGluNl9hZGRyICpnd2FkZHIsCiAJ CS5mY19pZmluZGV4CT0gZGV2LT5pZmluZGV4LAogCQkuZmNfZmxhZ3MJPSBSVEZfR0FURVdBWSB8 IFJURl9BRERSQ09ORiB8IFJURl9ERUZBVUxUIHwKIAkJCQkgIFJURl9VUCB8IFJURl9FWFBJUkVT IHwgUlRGX1BSRUYocHJlZiksCisJCS5mY19wcm90b2NvbCA9IFJUUFJPVF9SQSwKIAkJLmZjX25s aW5mby5wb3J0aWQgPSAwLAogCQkuZmNfbmxpbmZvLm5saCA9IE5VTEwsCiAJCS5mY19ubGluZm8u bmxfbmV0ID0gZGV2X25ldChkZXYpLApAQCAtMzQzNCwxNCArMzQzNyw2IEBAIHN0YXRpYyBpbnQg cnQ2X2ZpbGxfbm9kZShzdHJ1Y3QgbmV0ICpuZXQsCiAJcnRtLT5ydG1fZmxhZ3MgPSAwOwogCXJ0 bS0+cnRtX3Njb3BlID0gUlRfU0NPUEVfVU5JVkVSU0U7CiAJcnRtLT5ydG1fcHJvdG9jb2wgPSBy dC0+cnQ2aV9wcm90b2NvbDsKLQlpZiAocnQtPnJ0NmlfZmxhZ3MgJiBSVEZfRFlOQU1JQykKLQkJ cnRtLT5ydG1fcHJvdG9jb2wgPSBSVFBST1RfUkVESVJFQ1Q7Ci0JZWxzZSBpZiAocnQtPnJ0Nmlf ZmxhZ3MgJiBSVEZfQUREUkNPTkYpIHsKLQkJaWYgKHJ0LT5ydDZpX2ZsYWdzICYgKFJURl9ERUZB VUxUIHwgUlRGX1JPVVRFSU5GTykpCi0JCQlydG0tPnJ0bV9wcm90b2NvbCA9IFJUUFJPVF9SQTsK LQkJZWxzZQotCQkJcnRtLT5ydG1fcHJvdG9jb2wgPSBSVFBST1RfS0VSTkVMOwotCX0KIAogCWlm IChydC0+cnQ2aV9mbGFncyAmIFJURl9DQUNIRSkKIAkJcnRtLT5ydG1fZmxhZ3MgfD0gUlRNX0Zf Q0xPTkVEOwotLSAKMi4xMy40CgoKRnJvbSBhNDY3YmIzZDNiMmJmNWZjYzdjZjJhNDZlOTZkZDIz ODcxYmE1Njk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQm9ya21hbm4g PGRhbmllbEBpb2dlYXJib3gubmV0PgpEYXRlOiBGcmksIDQgQXVnIDIwMTcgMTQ6MjA6NTQgKzAy MDAKU3ViamVjdDogW1BBVENIIDA2LzE1XSBicGYsIHMzOTA6IGZpeCBqaXQgYnJhbmNoIG9mZnNl dCByZWxhdGVkIHRvIGxkaW1tNjQKClsgVXBzdHJlYW0gY29tbWl0IGIwYTBjMjU2NmYyOGU3MWU1 ZTMyMTIxOTkyYWM4MDYwY2VjNzU1MTAgXQoKV2hpbGUgdGVzdGluZyBzb21lIG90aGVyIHdvcmsg dGhhdCByZXF1aXJlZCBKSVQgbW9kaWZpY2F0aW9ucywgSQpydW4gaW50byB0ZXN0X2JwZiBjYXVz aW5nIGEgaGFuZyB3aGVuIEpJVCBlbmFibGVkIG9uIHMzOTAuIFRoZQpwcm9ibGVtYXRpYyB0ZXN0 IGNhc2Ugd2FzIHRoZSBvbmUgZnJvbSBkZGM2NjVhNGJiNGIgKGJwZiwgYXJtNjQ6CmZpeCBqaXQg YnJhbmNoIG9mZnNldCByZWxhdGVkIHRvIGxkaW1tNjQpLCBhbmQgdHVybnMgb3V0IHRoYXQgd2UK ZG8gaGF2ZSBhIHNpbWlsYXIgaXNzdWUgb24gczM5MCBhcyB3ZWxsLiBJbiBicGZfaml0X3Byb2co KSB3ZQp1cGRhdGUgbmV4dCBpbnN0cnVjdGlvbiBhZGRyZXNzIGFmdGVyIHJldHVybmluZyBmcm9t IGJwZl9qaXRfaW5zbigpCndpdGggYW4gaW5zbl9jb3VudC4gYnBmX2ppdF9pbnNuKCkgcmV0dXJu cyBlaXRoZXIgLTEgaW4gY2FzZSBvZgplcnJvciAoZS5nLiB1bnN1cHBvcnRlZCBpbnNuKSwgMSBv ciAyLiBUaGUgbGF0dGVyIGlzIG9ubHkgdGhlCmNhc2UgZm9yIGxkaW1tNjQgZHVlIHRvIHNwYW5u aW5nIDIgaW5zbnMsIGhvd2V2ZXIsIG5leHQgYWRkcmVzcwppcyBvbmx5IHNldCB0byBpICsgMSBu b3QgdGFraW5nIGFjdHVhbCBpbnNuX2NvdW50IGludG8gYWNjb3VudCwKdGh1cyBmaXggaXMgdG8g dXNlIGluc25fY291bnQgaW5zdGVhZCBvZiAxLiBicGZfaml0X2VuYWJsZSBpbgptb2RlIDIgcHJv dmlkZXMgYWxzbyBkaXNhc20gb24gczM5MDoKCkJlZm9yZSBmaXg6CgogIDAwMDAwM2ZmODAwMzQ5 YjY6IGE3ZjQwMDAzICAgYnJjICAgICAxNSwzZmY4MDAzNDliYyAgICAgICAgICAgICAgICAgOyB0 YXJnZXQKICAwMDAwMDNmZjgwMDM0OWJhOiAwMDAwICAgICAgICAgICAgICAgdW5rbm93bgogIDAw MDAwM2ZmODAwMzQ5YmM6IGUzYjBmMDcwMDAyNCAgICAgICBzdGcgICAgICVyMTEsMTEyKCVyMTUp CiAgMDAwMDAzZmY4MDAzNDljMjogZTNlMGYwODgwMDI0ICAgICAgIHN0ZyAgICAgJXIxNCwxMzYo JXIxNSkKICAwMDAwMDNmZjgwMDM0OWM4OiAwZGIwICAgICAgICAgICAgICAgYmFzciAgICAlcjEx LCVyMAogIDAwMDAwM2ZmODAwMzQ5Y2E6IGMwZWYwMDAwMDAwMCAgICAgICBsbGlsZiAgICVyMTQs MAogIDAwMDAwM2ZmODAwMzQ5ZDA6IGUzMjBiMDM2MDAwNCAgICAgICBsZyAgICAgICVyMiw1NCgl cjExKQogIDAwMDAwM2ZmODAwMzQ5ZDY6IGUzMzBiMDNlMDAwNCAgICAgICBsZyAgICAgICVyMyw2 MiglcjExKQogIDAwMDAwM2ZmODAwMzQ5ZGM6IGVjMjNmZmVkYTA2NSAgICAgICBjbGdyaiAgICVy MiwlcjMsMTAsM2ZmODAwMzQ5YjYgOyBqbXAKICAwMDAwMDNmZjgwMDM0OWUyOiBlM2UwYjA0NjAw MDQgICAgICAgbGcgICAgICAlcjE0LDcwKCVyMTEpCiAgMDAwMDAzZmY4MDAzNDllODogZTNlMGIw NGUwMDA0ICAgICAgIGxnICAgICAgJXIxNCw3OCglcjExKQogIDAwMDAwM2ZmODAwMzQ5ZWU6IGI5 MDQwMDJlICAgbGdyICAgICAlcjIsJXIxNAogIDAwMDAwM2ZmODAwMzQ5ZjI6IGUzYjBmMDcwMDAw NCAgICAgICBsZyAgICAgICVyMTEsMTEyKCVyMTUpCiAgMDAwMDAzZmY4MDAzNDlmODogZTNlMGYw ODgwMDA0ICAgICAgIGxnICAgICAgJXIxNCwxMzYoJXIxNSkKICAwMDAwMDNmZjgwMDM0OWZlOiAw N2ZlICAgICAgICAgICAgICAgYmNyICAgICAxNSwlcjE0CgpBZnRlciBmaXg6CgogIDAwMDAwM2Zm ODBlZjNkYjQ6IGE3ZjQwMDAzICAgYnJjICAgICAxNSwzZmY4MGVmM2RiYQogIDAwMDAwM2ZmODBl ZjNkYjg6IDAwMDAgICAgICAgICAgICAgICB1bmtub3duCiAgMDAwMDAzZmY4MGVmM2RiYTogZTNi MGYwNzAwMDI0ICAgICAgIHN0ZyAgICAgJXIxMSwxMTIoJXIxNSkKICAwMDAwMDNmZjgwZWYzZGMw OiBlM2UwZjA4ODAwMjQgICAgICAgc3RnICAgICAlcjE0LDEzNiglcjE1KQogIDAwMDAwM2ZmODBl ZjNkYzY6IDBkYjAgICAgICAgICAgICAgICBiYXNyICAgICVyMTEsJXIwCiAgMDAwMDAzZmY4MGVm M2RjODogYzBlZjAwMDAwMDAwICAgICAgIGxsaWxmICAgJXIxNCwwCiAgMDAwMDAzZmY4MGVmM2Rj ZTogZTMyMGIwMzYwMDA0ICAgICAgIGxnICAgICAgJXIyLDU0KCVyMTEpCiAgMDAwMDAzZmY4MGVm M2RkNDogZTMzMGIwM2UwMDA0ICAgICAgIGxnICAgICAgJXIzLDYyKCVyMTEpCiAgMDAwMDAzZmY4 MGVmM2RkYTogZWMyMzAwMDZhMDY1ICAgICAgIGNsZ3JqICAgJXIyLCVyMywxMCwzZmY4MGVmM2Rl NiA7IGptcAogIDAwMDAwM2ZmODBlZjNkZTA6IGUzZTBiMDQ2MDAwNCAgICAgICBsZyAgICAgICVy MTQsNzAoJXIxMSkKICAwMDAwMDNmZjgwZWYzZGU2OiBlM2UwYjA0ZTAwMDQgICAgICAgbGcgICAg ICAlcjE0LDc4KCVyMTEpICAgICAgICAgIDsgdGFyZ2V0CiAgMDAwMDAzZmY4MGVmM2RlYzogYjkw NDAwMmUgICBsZ3IgICAgICVyMiwlcjE0CiAgMDAwMDAzZmY4MGVmM2RmMDogZTNiMGYwNzAwMDA0 ICAgICAgIGxnICAgICAgJXIxMSwxMTIoJXIxNSkKICAwMDAwMDNmZjgwZWYzZGY2OiBlM2UwZjA4 ODAwMDQgICAgICAgbGcgICAgICAlcjE0LDEzNiglcjE1KQogIDAwMDAwM2ZmODBlZjNkZmM6IDA3 ZmUgICAgICAgICAgICAgICBiY3IgICAgIDE1LCVyMTQKCnRlc3RfYnBmLmtvIHN1aXRlIHJ1bnMg ZmluZSBhZnRlciB0aGUgZml4LgoKRml4ZXM6IDA1NDYyMzEwNTcyOCAoInMzOTAvYnBmOiBBZGQg czM5MHggZUJQRiBKSVQgY29tcGlsZXIgYmFja2VuZCIpClNpZ25lZC1vZmYtYnk6IERhbmllbCBC b3JrbWFubiA8ZGFuaWVsQGlvZ2VhcmJveC5uZXQ+ClRlc3RlZC1ieTogTWljaGFlbCBIb2x6aGV1 IDxob2x6aGV1QGxpbnV4LnZuZXQuaWJtLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21w LmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMgYi9hcmNoL3MzOTAv bmV0L2JwZl9qaXRfY29tcC5jCmluZGV4IDZlOTdhMmUzZmQ4ZC4uOGNlYTY4NGYxZjUzIDEwMDY0 NAotLS0gYS9hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jCisrKyBiL2FyY2gvczM5MC9uZXQv YnBmX2ppdF9jb21wLmMKQEAgLTEyNTMsNyArMTI1Myw4IEBAIHN0YXRpYyBpbnQgYnBmX2ppdF9w cm9nKHN0cnVjdCBicGZfaml0ICpqaXQsIHN0cnVjdCBicGZfcHJvZyAqZnApCiAJCWluc25fY291 bnQgPSBicGZfaml0X2luc24oaml0LCBmcCwgaSk7CiAJCWlmIChpbnNuX2NvdW50IDwgMCkKIAkJ CXJldHVybiAtMTsKLQkJaml0LT5hZGRyc1tpICsgMV0gPSBqaXQtPnByZzsgLyogTmV4dCBpbnN0 cnVjdGlvbiBhZGRyZXNzICovCisJCS8qIE5leHQgaW5zdHJ1Y3Rpb24gYWRkcmVzcyAqLworCQlq aXQtPmFkZHJzW2kgKyBpbnNuX2NvdW50XSA9IGppdC0+cHJnOwogCX0KIAlicGZfaml0X2VwaWxv Z3VlKGppdCk7CiAKLS0gCjIuMTMuNAoKCkZyb20gYTE4ZWYwMDQ5YWUwYjJlMjQ1ZmNiMDI0MTYw MzY0NmZlNzEzMzdmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWRlIENhcmF0 dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+CkRhdGU6IFRodSwgMyBBdWcgMjAxNyAyMjo1NDo0OCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTVdIG5ldC9tbHg0X2VuOiBkb24ndCBzZXQgQ0hFQ0tT VU1fQ09NUExFVEUgb24gU0NUUAogcGFja2V0cwoKWyBVcHN0cmVhbSBjb21taXQgZTcxOGZlNDUw ZTYxNjIyN2I3NGQyN2EyMzNjZGYzN2I0ZGYwYzgyYiBdCgppZiB0aGUgTklDIGZhaWxzIHRvIHZh bGlkYXRlIHRoZSBjaGVja3N1bSBvbiBUQ1AvVURQLCBhbmQgdmFsaWRhdGlvbiBvZiBJUApjaGVj a3N1bSBpcyBzdWNjZXNzZnVsLCB0aGUgZHJpdmVyIHN1YnRyYWN0cyB0aGUgcHNldWRvLWhlYWRl ciBjaGVja3N1bQpmcm9tIHRoZSB2YWx1ZSBvYnRhaW5lZCBieSB0aGUgaGFyZHdhcmUgYW5kIHNl dHMgQ0hFQ0tTVU1fQ09NUExFVEUuIERvbid0CmRvIHRoYXQgaWYgcHJvdG9jb2wgaXMgSVBQUk9U T19TQ1RQLCBvdGhlcndpc2UgQ1JDMzJjIHZhbGlkYXRpb24gZmFpbHMuCgpWMjogZG9uJ3QgdGVz dCBNTFg0X0NRRV9TVEFUVVNfSVBWNiBpZiBNTFg0X0NRRV9TVEFUVVNfSVBWNCBpcyBzZXQKClJl cG9ydGVkLWJ5OiBTaHVhbmcgTGkgPHNodWFsaUByZWRoYXQuY29tPgpGaXhlczogZjhjNjQ1NWJi MDRiICgibmV0L21seDRfZW46IEV4dGVuZCBjaGVja3N1bSBvZmZsb2FkaW5nIGJ5IENIRUNLU1VN IENPTVBMRVRFIikKU2lnbmVkLW9mZi1ieTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhh dC5jb20+CkFja2VkLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvZW5fcnguYyB8IDI5ICsrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTEg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NC9lbl9yeC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9yeC5j CmluZGV4IDc3YWJkMTgxMzA0Ny4uODAyZjBlOGJmZjNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX3J4LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NC9lbl9yeC5jCkBAIC01NzIsMTYgKzU3MiwyMSBAQCBzdGF0aWMgaW5s aW5lIF9fd3N1bSBnZXRfZml4ZWRfdmxhbl9jc3VtKF9fd3N1bSBod19jaGVja3N1bSwKICAqIGhl YWRlciwgdGhlIEhXIGFkZHMgaXQuIFRvIGFkZHJlc3MgdGhhdCwgd2UgYXJlIHN1YnRyYWN0aW5n IHRoZSBwc2V1ZG8KICAqIGhlYWRlciBjaGVja3N1bSBmcm9tIHRoZSBjaGVja3N1bSB2YWx1ZSBw cm92aWRlZCBieSB0aGUgSFcuCiAgKi8KLXN0YXRpYyB2b2lkIGdldF9maXhlZF9pcHY0X2NzdW0o X193c3VtIGh3X2NoZWNrc3VtLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAotCQkJCXN0cnVjdCBpcGhk ciAqaXBoKQorc3RhdGljIGludCBnZXRfZml4ZWRfaXB2NF9jc3VtKF9fd3N1bSBod19jaGVja3N1 bSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKKwkJCSAgICAgICBzdHJ1Y3QgaXBoZHIgKmlwaCkKIHsK IAlfX3UxNiBsZW5ndGhfZm9yX2NzdW0gPSAwOwogCV9fd3N1bSBjc3VtX3BzZXVkb19oZWFkZXIg PSAwOworCV9fdTggaXBwcm90byA9IGlwaC0+cHJvdG9jb2w7CisKKwlpZiAodW5saWtlbHkoaXBw cm90byA9PSBJUFBST1RPX1NDVFApKQorCQlyZXR1cm4gLTE7CiAKIAlsZW5ndGhfZm9yX2NzdW0g PSAoYmUxNl90b19jcHUoaXBoLT50b3RfbGVuKSAtIChpcGgtPmlobCA8PCAyKSk7CiAJY3N1bV9w c2V1ZG9faGVhZGVyID0gY3N1bV90Y3B1ZHBfbm9mb2xkKGlwaC0+c2FkZHIsIGlwaC0+ZGFkZHIs Ci0JCQkJCQlsZW5ndGhfZm9yX2NzdW0sIGlwaC0+cHJvdG9jb2wsIDApOworCQkJCQkJbGVuZ3Ro X2Zvcl9jc3VtLCBpcHByb3RvLCAwKTsKIAlza2ItPmNzdW0gPSBjc3VtX3N1Yihod19jaGVja3N1 bSwgY3N1bV9wc2V1ZG9faGVhZGVyKTsKKwlyZXR1cm4gMDsKIH0KIAogI2lmIElTX0VOQUJMRUQo Q09ORklHX0lQVjYpCkBAIC01OTIsMTcgKzU5NywyMCBAQCBzdGF0aWMgdm9pZCBnZXRfZml4ZWRf aXB2NF9jc3VtKF9fd3N1bSBod19jaGVja3N1bSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIHN0YXRp YyBpbnQgZ2V0X2ZpeGVkX2lwdjZfY3N1bShfX3dzdW0gaHdfY2hlY2tzdW0sIHN0cnVjdCBza19i dWZmICpza2IsCiAJCQkgICAgICAgc3RydWN0IGlwdjZoZHIgKmlwdjZoKQogeworCV9fdTggbmV4 dGhkciA9IGlwdjZoLT5uZXh0aGRyOwogCV9fd3N1bSBjc3VtX3BzZXVkb19oZHIgPSAwOwogCi0J aWYgKHVubGlrZWx5KGlwdjZoLT5uZXh0aGRyID09IElQUFJPVE9fRlJBR01FTlQgfHwKLQkJICAg ICBpcHY2aC0+bmV4dGhkciA9PSBJUFBST1RPX0hPUE9QVFMpKQorCWlmICh1bmxpa2VseShuZXh0 aGRyID09IElQUFJPVE9fRlJBR01FTlQgfHwKKwkJICAgICBuZXh0aGRyID09IElQUFJPVE9fSE9Q T1BUUyB8fAorCQkgICAgIG5leHRoZHIgPT0gSVBQUk9UT19TQ1RQKSkKIAkJcmV0dXJuIC0xOwot CWh3X2NoZWNrc3VtID0gY3N1bV9hZGQoaHdfY2hlY2tzdW0sIChfX2ZvcmNlIF9fd3N1bSlodG9u cyhpcHY2aC0+bmV4dGhkcikpOworCWh3X2NoZWNrc3VtID0gY3N1bV9hZGQoaHdfY2hlY2tzdW0s IChfX2ZvcmNlIF9fd3N1bSlodG9ucyhuZXh0aGRyKSk7CiAKIAljc3VtX3BzZXVkb19oZHIgPSBj c3VtX3BhcnRpYWwoJmlwdjZoLT5zYWRkciwKIAkJCQkgICAgICAgc2l6ZW9mKGlwdjZoLT5zYWRk cikgKyBzaXplb2YoaXB2NmgtPmRhZGRyKSwgMCk7CiAJY3N1bV9wc2V1ZG9faGRyID0gY3N1bV9h ZGQoY3N1bV9wc2V1ZG9faGRyLCAoX19mb3JjZSBfX3dzdW0paXB2NmgtPnBheWxvYWRfbGVuKTsK LQljc3VtX3BzZXVkb19oZHIgPSBjc3VtX2FkZChjc3VtX3BzZXVkb19oZHIsIChfX2ZvcmNlIF9f d3N1bSludG9ocyhpcHY2aC0+bmV4dGhkcikpOworCWNzdW1fcHNldWRvX2hkciA9IGNzdW1fYWRk KGNzdW1fcHNldWRvX2hkciwKKwkJCQkgICAoX19mb3JjZSBfX3dzdW0paHRvbnMobmV4dGhkcikp OwogCiAJc2tiLT5jc3VtID0gY3N1bV9zdWIoaHdfY2hlY2tzdW0sIGNzdW1fcHNldWRvX2hkcik7 CiAJc2tiLT5jc3VtID0gY3N1bV9hZGQoc2tiLT5jc3VtLCBjc3VtX3BhcnRpYWwoaXB2NmgsIHNp emVvZihzdHJ1Y3QgaXB2NmhkciksIDApKTsKQEAgLTYyNSwxMSArNjMzLDEwIEBAIHN0YXRpYyBp bnQgY2hlY2tfY3N1bShzdHJ1Y3QgbWx4NF9jcWUgKmNxZSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwg dm9pZCAqdmEsCiAJfQogCiAJaWYgKGNxZS0+c3RhdHVzICYgY3B1X3RvX2JlMTYoTUxYNF9DUUVf U1RBVFVTX0lQVjQpKQotCQlnZXRfZml4ZWRfaXB2NF9jc3VtKGh3X2NoZWNrc3VtLCBza2IsIGhk cik7CisJCXJldHVybiBnZXRfZml4ZWRfaXB2NF9jc3VtKGh3X2NoZWNrc3VtLCBza2IsIGhkcik7 CiAjaWYgSVNfRU5BQkxFRChDT05GSUdfSVBWNikKLQllbHNlIGlmIChjcWUtPnN0YXR1cyAmIGNw dV90b19iZTE2KE1MWDRfQ1FFX1NUQVRVU19JUFY2KSkKLQkJaWYgKHVubGlrZWx5KGdldF9maXhl ZF9pcHY2X2NzdW0oaHdfY2hlY2tzdW0sIHNrYiwgaGRyKSkpCi0JCQlyZXR1cm4gLTE7CisJaWYg KGNxZS0+c3RhdHVzICYgY3B1X3RvX2JlMTYoTUxYNF9DUUVfU1RBVFVTX0lQVjYpKQorCQlyZXR1 cm4gZ2V0X2ZpeGVkX2lwdjZfY3N1bShod19jaGVja3N1bSwgc2tiLCBoZHIpOwogI2VuZGlmCiAJ cmV0dXJuIDA7CiB9Ci0tIAoyLjEzLjQKCgpGcm9tIDY2OGZjMGY3NmU0OWQ5MGViODU2MDU5MWI3 OWM3OWMxZTE1NGQ5ZDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxs dWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCA4IEF1ZyAyMDE3IDE1OjI1OjI1ICswODAw ClN1YmplY3Q6IFtQQVRDSCAwOC8xNV0gbmV0OiBzY2hlZDogc2V0IHh0X3RnY2hrX3BhcmFtIHBh ci5uZXQgcHJvcGVybHkgaW4KIGlwdF9pbml0X3RhcmdldAoKWyBVcHN0cmVhbSBjb21taXQgZWMw YWNiMDkzMTMwNzRiYTFhNDk3Njk0NTc5MWQ5YzY4MTVmMzlmYiBdCgpOb3cgeHRfdGdjaGtfcGFy YW0gcGFyIGluIGlwdF9pbml0X3RhcmdldCBpcyBhIGxvY2FsIHZhcmliYWxlLApwYXIubmV0IGlz IG5vdCBpbml0aWFsaXplZCB0aGVyZS4gTGF0ZXIgd2hlbiB4dF9jaGVja190YXJnZXQKY2FsbHMg dGFyZ2V0J3MgY2hlY2tlbnRyeSBpbiB3aGljaCBpdCBtYXkgYWNjZXNzIHBhci5uZXQsIGl0Cndv dWxkIGNhdXNlIGtlcm5lbCBwYW5pYy4KCkphcm9zbGF2IGZvdW5kIHRoaXMgcGFuaWMgd2hlbiBy dW5uaW5nOgoKICAjIGlwIGxpbmsgYWRkIFRlc3RJZmFjZSB0eXBlIGR1bW15CiAgIyB0YyBxZCBh ZGQgZGV2IFRlc3RJZmFjZSBpbmdyZXNzIGhhbmRsZSBmZmZmOgogICMgdGMgZmlsdGVyIGFkZCBk ZXYgVGVzdElmYWNlIHBhcmVudCBmZmZmOiB1MzIgbWF0Y2ggdTMyIDAgMCBcCiAgICBhY3Rpb24g eHQgLWogQ09OTk1BUksgLS1zZXQtbWFyayA0CgpUaGlzIHBhdGNoIGlzIHRvIHBhc3MgbmV0IHBh cmFtIGludG8gaXB0X2luaXRfdGFyZ2V0IGFuZCBzZXQKcGFyLm5ldCB3aXRoIGl0IHByb3Blcmx5 IGluIHRoZXJlLgoKdjEtPnYyOgogIEFzIFdhbmcgQ29uZyBwb2ludGVkLCBJIG1pc3NlZCBpcHRf bmV0X2lkICE9IHh0X25ldF9pZCwgc28gZml4CiAgaXQgYnkgYWxzbyBwYXNzaW5nIG5ldF9pZCB0 byBfX3RjZl9pcHRfaW5pdC4KdjItPnYzOgogIE1pc3NlZCB0aGUgZml4ZXMgdGFnLCBzbyBhZGQg aXQuCgpGaXhlczogZWNiMjQyMWI1ZGRmICgibmV0ZmlsdGVyOiBhZGQgYW5kIHVzZSBuZl9jdF9u ZXRuc19nZXQvcHV0IikKUmVwb3J0ZWQtYnk6IEphcm9zbGF2IEFzdGVyIDxqYXN0ZXJAcmVkaGF0 LmNvbT4KU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpBY2tl ZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvYWN0X2lwdC5j IHwgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25z KCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X2lwdC5jIGIv bmV0L3NjaGVkL2FjdF9pcHQuYwppbmRleCAzNmYwY2VkOWU2MGMuLjk0YmE1Y2ZhYjg2MCAxMDA2 NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF9pcHQuYworKysgYi9uZXQvc2NoZWQvYWN0X2lwdC5jCkBA IC0zNiw4ICszNiw4IEBAIHN0YXRpYyBzdHJ1Y3QgdGNfYWN0aW9uX29wcyBhY3RfaXB0X29wczsK IHN0YXRpYyB1bnNpZ25lZCBpbnQgeHRfbmV0X2lkOwogc3RhdGljIHN0cnVjdCB0Y19hY3Rpb25f b3BzIGFjdF94dF9vcHM7CiAKLXN0YXRpYyBpbnQgaXB0X2luaXRfdGFyZ2V0KHN0cnVjdCB4dF9l bnRyeV90YXJnZXQgKnQsIGNoYXIgKnRhYmxlLAotCQkJICAgdW5zaWduZWQgaW50IGhvb2spCitz dGF0aWMgaW50IGlwdF9pbml0X3RhcmdldChzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB4dF9lbnRy eV90YXJnZXQgKnQsCisJCQkgICBjaGFyICp0YWJsZSwgdW5zaWduZWQgaW50IGhvb2spCiB7CiAJ c3RydWN0IHh0X3RnY2hrX3BhcmFtIHBhcjsKIAlzdHJ1Y3QgeHRfdGFyZ2V0ICp0YXJnZXQ7CkBA IC00OSw2ICs0OSw3IEBAIHN0YXRpYyBpbnQgaXB0X2luaXRfdGFyZ2V0KHN0cnVjdCB4dF9lbnRy eV90YXJnZXQgKnQsIGNoYXIgKnRhYmxlLAogCQlyZXR1cm4gUFRSX0VSUih0YXJnZXQpOwogCiAJ dC0+dS5rZXJuZWwudGFyZ2V0ID0gdGFyZ2V0OworCXBhci5uZXQgICAgICAgPSBuZXQ7CiAJcGFy LnRhYmxlICAgICA9IHRhYmxlOwogCXBhci5lbnRyeWluZm8gPSBOVUxMOwogCXBhci50YXJnZXQg ICAgPSB0YXJnZXQ7CkBAIC05MSwxMCArOTIsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBubGFf cG9saWN5IGlwdF9wb2xpY3lbVENBX0lQVF9NQVggKyAxXSA9IHsKIAlbVENBX0lQVF9UQVJHXQk9 IHsgLmxlbiA9IHNpemVvZihzdHJ1Y3QgeHRfZW50cnlfdGFyZ2V0KSB9LAogfTsKIAotc3RhdGlj IGludCBfX3RjZl9pcHRfaW5pdChzdHJ1Y3QgdGNfYWN0aW9uX25ldCAqdG4sIHN0cnVjdCBubGF0 dHIgKm5sYSwKK3N0YXRpYyBpbnQgX190Y2ZfaXB0X2luaXQoc3RydWN0IG5ldCAqbmV0LCB1bnNp Z25lZCBpbnQgaWQsIHN0cnVjdCBubGF0dHIgKm5sYSwKIAkJCSAgc3RydWN0IG5sYXR0ciAqZXN0 LCBzdHJ1Y3QgdGNfYWN0aW9uICoqYSwKIAkJCSAgY29uc3Qgc3RydWN0IHRjX2FjdGlvbl9vcHMg Km9wcywgaW50IG92ciwgaW50IGJpbmQpCiB7CisJc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRuID0g bmV0X2dlbmVyaWMobmV0LCBpZCk7CiAJc3RydWN0IG5sYXR0ciAqdGJbVENBX0lQVF9NQVggKyAx XTsKIAlzdHJ1Y3QgdGNmX2lwdCAqaXB0OwogCXN0cnVjdCB4dF9lbnRyeV90YXJnZXQgKnRkLCAq dDsKQEAgLTE1OSw3ICsxNjEsNyBAQCBzdGF0aWMgaW50IF9fdGNmX2lwdF9pbml0KHN0cnVjdCB0 Y19hY3Rpb25fbmV0ICp0biwgc3RydWN0IG5sYXR0ciAqbmxhLAogCWlmICh1bmxpa2VseSghdCkp CiAJCWdvdG8gZXJyMjsKIAotCWVyciA9IGlwdF9pbml0X3RhcmdldCh0LCB0bmFtZSwgaG9vayk7 CisJZXJyID0gaXB0X2luaXRfdGFyZ2V0KG5ldCwgdCwgdG5hbWUsIGhvb2spOwogCWlmIChlcnIg PCAwKQogCQlnb3RvIGVycjM7CiAKQEAgLTE5MywxOCArMTk1LDE2IEBAIHN0YXRpYyBpbnQgdGNm X2lwdF9pbml0KHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5sYXR0ciAqbmxhLAogCQkJc3RydWN0 IG5sYXR0ciAqZXN0LCBzdHJ1Y3QgdGNfYWN0aW9uICoqYSwgaW50IG92ciwKIAkJCWludCBiaW5k KQogewotCXN0cnVjdCB0Y19hY3Rpb25fbmV0ICp0biA9IG5ldF9nZW5lcmljKG5ldCwgaXB0X25l dF9pZCk7Ci0KLQlyZXR1cm4gX190Y2ZfaXB0X2luaXQodG4sIG5sYSwgZXN0LCBhLCAmYWN0X2lw dF9vcHMsIG92ciwgYmluZCk7CisJcmV0dXJuIF9fdGNmX2lwdF9pbml0KG5ldCwgaXB0X25ldF9p ZCwgbmxhLCBlc3QsIGEsICZhY3RfaXB0X29wcywgb3ZyLAorCQkJICAgICAgYmluZCk7CiB9CiAK IHN0YXRpYyBpbnQgdGNmX3h0X2luaXQoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmxhdHRyICpu bGEsCiAJCSAgICAgICBzdHJ1Y3QgbmxhdHRyICplc3QsIHN0cnVjdCB0Y19hY3Rpb24gKiphLCBp bnQgb3ZyLAogCQkgICAgICAgaW50IGJpbmQpCiB7Ci0Jc3RydWN0IHRjX2FjdGlvbl9uZXQgKnRu ID0gbmV0X2dlbmVyaWMobmV0LCB4dF9uZXRfaWQpOwotCi0JcmV0dXJuIF9fdGNmX2lwdF9pbml0 KHRuLCBubGEsIGVzdCwgYSwgJmFjdF94dF9vcHMsIG92ciwgYmluZCk7CisJcmV0dXJuIF9fdGNm X2lwdF9pbml0KG5ldCwgeHRfbmV0X2lkLCBubGEsIGVzdCwgYSwgJmFjdF94dF9vcHMsIG92ciwK KwkJCSAgICAgIGJpbmQpOwogfQogCiBzdGF0aWMgaW50IHRjZl9pcHQoc3RydWN0IHNrX2J1ZmYg KnNrYiwgY29uc3Qgc3RydWN0IHRjX2FjdGlvbiAqYSwKLS0gCjIuMTMuNAoKCkZyb20gZWJmNzg3 YzA2NjczMTZmMjRhNTY2NTIzZjY2OTA4YjI1MWNjYTM1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDkgQXVn IDIwMTcgMTg6MTU6MTkgKzA4MDAKU3ViamVjdDogW1BBVENIIDA5LzE1XSBuZXQ6IHNjaGVkOiBz ZXQgeHRfdGdjaGtfcGFyYW0gcGFyLm5mdF9jb21wYXQgYXMgMCBpbgogaXB0X2luaXRfdGFyZ2V0 CgpbIFVwc3RyZWFtIGNvbW1pdCA5NmQ5NzAzMDUwYTAwMzZhMzM2MGVjOThiYjQxZTEwN2M5MDY2 NGZlIF0KCkNvbW1pdCA1NTkxN2EyMWQwY2MgKCJuZXRmaWx0ZXI6IHhfdGFibGVzOiBhZGQgY29u dGV4dCB0byBrbm93IGlmCmV4dGVuc2lvbiBydW5zIGZyb20gbmZ0X2NvbXBhdCIpIGludHJvZHVj ZWQgYSBtZW1iZXIgbmZ0X2NvbXBhdCB0bwp4dF90Z2Noa19wYXJhbSBzdHJ1Y3R1cmUuCgpCdXQg aXQgZGlkbid0IHNldCBpdCdzIHZhbHVlIGZvciBpcHRfaW5pdF90YXJnZXQuIFdpdGggdW5leHBl Y3RlZAp2YWx1ZSBpbiBwYXIubmZ0X2NvbXBhdCwgaXQgbWF5IHJldHVybiB1bmV4cGVjdGVkIHJl c3VsdCBpbiBzb21lCnRhcmdldCdzIGNoZWNrZW50cnkuCgpUaGlzIHBhdGNoIGlzIHRvIHNldCBh bGwgaXQncyBmaWVsZHMgYXMgMCBhbmQgb25seSBpbml0aWFsaXplIHRoZQpub24temVybyBmaWVs ZHMgaW4gaXB0X2luaXRfdGFyZ2V0LgoKdjEtPnYyOgogIEFzIFdhbmcgQ29uZydzIHN1Z2dlc3Rp b24sIGZpeCBpdCBieSBzZXR0aW5nIGFsbCBpdCdzIGZpZWxkcyBhcwogIDAgYW5kIG9ubHkgaW5p dGlhbGl6aW5nIHRoZSBub24temVybyBmaWVsZHMuCgpGaXhlczogNTU5MTdhMjFkMGNjICgibmV0 ZmlsdGVyOiB4X3RhYmxlczogYWRkIGNvbnRleHQgdG8ga25vdyBpZiBleHRlbnNpb24gcnVucyBm cm9tIG5mdF9jb21wYXQiKQpTdWdnZXN0ZWQtYnk6IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdA Z21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBuZXQvc2NoZWQvYWN0X2lwdC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9pcHQuYyBiL25l dC9zY2hlZC9hY3RfaXB0LmMKaW5kZXggOTRiYTVjZmFiODYwLi5kNTE2YmE4MTc4YjggMTAwNjQ0 Ci0tLSBhL25ldC9zY2hlZC9hY3RfaXB0LmMKKysrIGIvbmV0L3NjaGVkL2FjdF9pcHQuYwpAQCAt NDksOSArNDksOSBAQCBzdGF0aWMgaW50IGlwdF9pbml0X3RhcmdldChzdHJ1Y3QgbmV0ICpuZXQs IHN0cnVjdCB4dF9lbnRyeV90YXJnZXQgKnQsCiAJCXJldHVybiBQVFJfRVJSKHRhcmdldCk7CiAK IAl0LT51Lmtlcm5lbC50YXJnZXQgPSB0YXJnZXQ7CisJbWVtc2V0KCZwYXIsIDAsIHNpemVvZihw YXIpKTsKIAlwYXIubmV0ICAgICAgID0gbmV0OwogCXBhci50YWJsZSAgICAgPSB0YWJsZTsKLQlw YXIuZW50cnlpbmZvID0gTlVMTDsKIAlwYXIudGFyZ2V0ICAgID0gdGFyZ2V0OwogCXBhci50YXJn aW5mbyAgPSB0LT5kYXRhOwogCXBhci5ob29rX21hc2sgPSBob29rOwotLSAKMi4xMy40CgoKRnJv bSBiODgwM2RiZTVmMTY2NzJhOWZmYzY4ZDA2NDkyZDhjNDA5MjY1ODZkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6 IFR1ZSwgOCBBdWcgMjAxNyAwMTo0MTo1OCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTVdIHRj cDogZmFzdG9wZW46IHRjcF9jb25uZWN0KCkgbXVzdCByZWZyZXNoIHRoZSByb3V0ZQoKWyBVcHN0 cmVhbSBjb21taXQgOGJhNjA5MjQ3MTBjZGU1NjRhMzkwNTU4OGI2MjE5NzQxZDYzNTZkMCBdCgpX aXRoIG5ldyBUQ1BfRkFTVE9QRU5fQ09OTkVDVCBzb2NrZXQgb3B0aW9uLCB0aGVyZSBpcyBhIHBv c3NpYmlsaXR5CnRvIGNhbGwgdGNwX2Nvbm5lY3QoKSB3aGlsZSBzb2NrZXQgc2tfZHN0X2NhY2hl IGlzIGVpdGhlciBOVUxMCm9yIGludmFsaWQuCgogKzAgc29ja2V0KC4uLiwgU09DS19TVFJFQU0s IElQUFJPVE9fVENQKSA9IDQKICswIGZjbnRsKDQsIEZfU0VURkwsIE9fUkRXUnxPX05PTkJMT0NL KSA9IDAKICswIHNldHNvY2tvcHQoNCwgU09MX1RDUCwgVENQX0ZBU1RPUEVOX0NPTk5FQ1QsIFsx XSwgNCkgPSAwCiArMCBjb25uZWN0KDQsIC4uLiwgLi4uKSA9IDAKCjw8IHNrLT5za19kc3RfY2Fj aGUgYmVjb21lcyBvYnNvbGV0ZSwgb3IgZXZlbiBzZXQgdG8gTlVMTCA+PgoKICsxIHNlbmR0byg0 LCAuLi4sIDEwMDAsIE1TR19GQVNUT1BFTiwgLi4uLCAuLi4pID0gMTAwMAoKV2UgbmVlZCB0byBy ZWZyZXNoIHRoZSByb3V0ZSBvdGhlcndpc2UgYmFkIHRoaW5ncyBjYW4gaGFwcGVuLAplc3BlY2lh bGx5IHdoZW4gc3l6a2FsbGVyIGlzIHJ1bm5pbmcgb24gdGhlIGhvc3QgOi8KCkZpeGVzOiAxOWY2 ZDNmM2M4NDIyICgibmV0L3RjcC1mYXN0b3BlbjogQWRkIG5ldyBBUEkgc3VwcG9ydCIpClJlcG9y dGVkLWJ5OiBEbWl0cnkgVnl1a292IDxkdnl1a292QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IFdlaSBXYW5nIDx3ZWl3YW5A Z29vZ2xlLmNvbT4KQ2M6IFl1Y2h1bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpBY2tlZC1i eTogV2VpIFdhbmcgPHdlaXdhbkBnb29nbGUuY29tPgpBY2tlZC1ieTogWXVjaHVuZyBDaGVuZyA8 eWNoZW5nQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3Bfb3V0cHV0LmMgfCAzICsrKwogMSBmaWxl IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9vdXRw dXQuYyBiL25ldC9pcHY0L3RjcF9vdXRwdXQuYwppbmRleCA0ODU4ZTE5MGY2YWMuLjg5NjNiOGM1 ZmI0MSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX291dHB1dC5jCisrKyBiL25ldC9pcHY0L3Rj cF9vdXRwdXQuYwpAQCAtMzM2MSw2ICszMzYxLDkgQEAgaW50IHRjcF9jb25uZWN0KHN0cnVjdCBz b2NrICpzaykKIAlzdHJ1Y3Qgc2tfYnVmZiAqYnVmZjsKIAlpbnQgZXJyOwogCisJaWYgKGluZXRf Y3NrKHNrKS0+aWNza19hZl9vcHMtPnJlYnVpbGRfaGVhZGVyKHNrKSkKKwkJcmV0dXJuIC1FSE9T VFVOUkVBQ0g7IC8qIFJvdXRpbmcgZmFpbHVyZSBvciBzaW1pbGFyLiAqLworCiAJdGNwX2Nvbm5l Y3RfaW5pdChzayk7CiAKIAlpZiAodW5saWtlbHkodHAtPnJlcGFpcikpIHsKLS0gCjIuMTMuNAoK CkZyb20gOTk3MjZlOGY2ZTQzMWI1MGIxMWRmODgyYjZhODA1OTg2Y2IwZjk2YSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3Ju QG1vcmsubm8+CkRhdGU6IFR1ZSwgOCBBdWcgMjAxNyAxODowMjoxMSArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMTEvMTVdIHFtaV93d2FuOiBmaXggTlVMTCBkZXJlZiBvbiBkaXNjb25uZWN0Ck1JTUUt VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCBiYmFlMDhlNTky NzA2ZGMzMmU1YzdjOTc4MjdiMTNjMWMxNzg2NjhiIF0KCnFtaV93d2FuX2Rpc2Nvbm5lY3QgaXMg Y2FsbGVkIHR3aWNlIHdoZW4gZGlzY29ubmVjdGluZyBkZXZpY2VzIHdpdGgKc2VwYXJhdGUgY29u dHJvbCBhbmQgZGF0YSBpbnRlcmZhY2VzLiAgVGhlIGZpcnN0IGludm9jYXRpb24gd2lsbCBzZXQK dGhlIGludGVyZmFjZSBkYXRhIHRvIE5VTEwgZm9yIGJvdGggaW50ZXJmYWNlcyB0byBmbGFnIHRo YXQgdGhlCmRpc2Nvbm5lY3QgaGFzIGJlZW4gaGFuZGxlZC4gIEJ1dCB0aGUgbWF0Y2hpbmcgTlVM TCBjaGVjayB3YXMgbGVmdApvdXQgd2hlbiBxbWlfd3dhbl9kaXNjb25uZWN0IHdhcyBhZGRlZCwg cmVzdWx0aW5nIGluIHRoaXMgb29wczoKCiAgdXNiIDItMS40OiBVU0IgZGlzY29ubmVjdCwgZGV2 aWNlIG51bWJlciA0CiAgcW1pX3d3YW4gMi0xLjQ6MS42IHd3cDBzMjl1MXU0aTY6IHVucmVnaXN0 ZXIgJ3FtaV93d2FuJyB1c2ItMDAwMDowMDoxZC4wLTEuNCwgV1dBTi9RTUkgZGV2aWNlCiAgQlVH OiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAw MDAwMDAwMDAwMDBlMAogIElQOiBxbWlfd3dhbl9kaXNjb25uZWN0KzB4MjUvMHhjMCBbcW1pX3d3 YW5dCiAgUEdEIDAKICBQNEQgMAogIE9vcHM6IDAwMDAgWyMxXSBTTVAKICBNb2R1bGVzIGxpbmtl ZCBpbjogPHN0cmlwcGVkIGlycmVsZXZhbnQgbW9kdWxlIGxpc3Q+CiAgQ1BVOiAyIFBJRDogMzMg Q29tbToga3dvcmtlci8yOjEgVGFpbnRlZDogRyAgICAgICAgICAgIEUgICA0LjEyLjMtbnI0NC1u b3JtYW5keS1yMTUwMDYxOTgyMCsgIzEKICBIYXJkd2FyZSBuYW1lOiBMRU5PVk8gNDI5MUxSNy80 MjkxTFI3LCBCSU9TIENCRVQ0MDAwIDQuNi04MTAtZzUwNTIyMjU0ZmIgMDcvMjEvMjAxNwogIFdv cmtxdWV1ZTogdXNiX2h1Yl93cSBodWJfZXZlbnQgW3VzYmNvcmVdCiAgdGFzazogZmZmZjhjODgy YjcxNjA0MCB0YXNrLnN0YWNrOiBmZmZmYjhlODAwZDg0MDAwCiAgUklQOiAwMDEwOnFtaV93d2Fu X2Rpc2Nvbm5lY3QrMHgyNS8weGMwIFtxbWlfd3dhbl0KICBSU1A6IDAwMTg6ZmZmZmI4ZTgwMGQ4 N2IzOCBFRkxBR1M6IDAwMDEwMjQ2CiAgUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogMDAwMDAw MDAwMDAwMDAwMCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKICBSRFg6IDAwMDAwMDAwMDAwMDAwMDEg UlNJOiBmZmZmOGM4ODI0ZjNmMWQwIFJESTogZmZmZjhjODgyNGVmNjQwMAogIFJCUDogZmZmZjhj ODgyNGVmNjQwMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwCiAg UjEwOiBmZmZmYjhlODAwZDg3NzgwIFIxMTogMDAwMDAwMDAwMDAwMDAxMSBSMTI6IGZmZmZmZmZm YzA3ZWEwZTgKICBSMTM6IGZmZmY4Yzg4MjRlMmUwMDAgUjE0OiBmZmZmOGM4ODI0ZTJlMDk4IFIx NTogMDAwMDAwMDAwMDAwMDAwMAogIEZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZm OGM4ODM1MzAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKICBDUzogIDAwMTAgRFM6 IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCiAgQ1IyOiAwMDAwMDAwMDAwMDAw MGUwIENSMzogMDAwMDAwMDIyOWNhNTAwMCBDUjQ6IDAwMDAwMDAwMDAwNDA2ZTAKICBDYWxsIFRy YWNlOgogICA/IHVzYl91bmJpbmRfaW50ZXJmYWNlKzB4NzEvMHgyNzAgW3VzYmNvcmVdCiAgID8g ZGV2aWNlX3JlbGVhc2VfZHJpdmVyX2ludGVybmFsKzB4MTU0LzB4MjEwCiAgID8gcW1pX3d3YW5f dW5iaW5kKzB4NmQvMHhjMCBbcW1pX3d3YW5dCiAgID8gdXNibmV0X2Rpc2Nvbm5lY3QrMHg2Yy8w eGYwIFt1c2JuZXRdCiAgID8gcW1pX3d3YW5fZGlzY29ubmVjdCsweDg3LzB4YzAgW3FtaV93d2Fu XQogICA/IHVzYl91bmJpbmRfaW50ZXJmYWNlKzB4NzEvMHgyNzAgW3VzYmNvcmVdCiAgID8gZGV2 aWNlX3JlbGVhc2VfZHJpdmVyX2ludGVybmFsKzB4MTU0LzB4MjEwCgpSZXBvcnRlZC1hbmQtdGVz dGVkLWJ5OiBOYXRoYW5pZWwgUm9hY2ggPG5yb2FjaDQ0QGdtYWlsLmNvbT4KRml4ZXM6IGM2YWRm Nzc5NTNiYyAoIm5ldDogdXNiOiBxbWlfd3dhbjogYWRkIHFtYXAgbXV4IHByb3RvY29sIHN1cHBv cnQiKQpDYzogRGFuaWVsZSBQYWxtYXMgPGRubHBsbUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6 IEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMg fCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jIGIvZHJpdmVycy9uZXQv dXNiL3FtaV93d2FuLmMKaW5kZXggMzJhMjJmNGU4MzU2Li5jNDIxNTNhOTg1YmUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlf d3dhbi5jCkBAIC0xMzQwLDEwICsxMzQwLDE0IEBAIHN0YXRpYyBpbnQgcW1pX3d3YW5fcHJvYmUo c3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsCiBzdGF0aWMgdm9pZCBxbWlfd3dhbl9kaXNjb25u ZWN0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKQogewogCXN0cnVjdCB1c2JuZXQgKmRldiA9 IHVzYl9nZXRfaW50ZmRhdGEoaW50Zik7Ci0Jc3RydWN0IHFtaV93d2FuX3N0YXRlICppbmZvID0g KHZvaWQgKikmZGV2LT5kYXRhOworCXN0cnVjdCBxbWlfd3dhbl9zdGF0ZSAqaW5mbzsKIAlzdHJ1 Y3QgbGlzdF9oZWFkICppdGVyOwogCXN0cnVjdCBuZXRfZGV2aWNlICpsZGV2OwogCisJLyogY2Fs bGVkIHR3aWNlIGlmIHNlcGFyYXRlIGNvbnRyb2wgYW5kIGRhdGEgaW50ZiAqLworCWlmICghZGV2 KQorCQlyZXR1cm47CisJaW5mbyA9ICh2b2lkICopJmRldi0+ZGF0YTsKIAlpZiAoaW5mby0+Zmxh Z3MgJiBRTUlfV1dBTl9GTEFHX01VWCkgewogCQlpZiAoIXJ0bmxfdHJ5bG9jaygpKSB7CiAJCQly ZXN0YXJ0X3N5c2NhbGwoKTsKLS0gCjIuMTMuNAoKCkZyb20gZGJmNTA5MDgwM2M1NGNiZDg5YTMz NGU2NjNlM2MwNjA3NGE5YTcyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogV2lsbGVt IGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpEYXRlOiBUdWUsIDggQXVnIDIwMTcgMTQ6 MjI6NTUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEyLzE1XSBuZXQ6IGF2b2lkIHNrYl93YXJuX2Jh ZF9vZmZsb2FkIGZhbHNlIHBvc2l0aXZlcyBvbiBVRk8KClsgVXBzdHJlYW0gY29tbWl0IDhkNjNi ZWU2NDNmMWZiNTNlNDcyZjBlMTM1Y2FlNGViOTlkNjJkMTkgXQoKc2tiX3dhcm5fYmFkX29mZmxv YWQgdHJpZ2dlcnMgYSB3YXJuaW5nIHdoZW4gYW4gc2tiIGVudGVycyB0aGUgR1NPCnN0YWNrIGF0 IF9fc2tiX2dzb19zZWdtZW50IHRoYXQgZG9lcyBub3QgaGF2ZSBDSEVDS1NVTV9QQVJUSUFMCmNo ZWNrc3VtIG9mZmxvYWQgc2V0LgoKQ29tbWl0IGIyNTA0YTVkYmVmMyAoIm5ldDogcmVkdWNlIHNr Yl93YXJuX2JhZF9vZmZsb2FkKCkgbm9pc2UiKQpvYnNlcnZlZCB0aGF0IFNLQl9HU09fRE9ER1kg cHJvZHVjZXJzIGNhbiB0cmlnZ2VyIHRoZSBjaGVjayBhbmQKdGhhdCBwYXNzaW5nIHRob3NlIHBh Y2tldHMgdGhyb3VnaCB0aGUgR1NPIGhhbmRsZXJzIHdpbGwgZml4IGl0CnVwLiBCdXQsIHRoZSBz b2Z0d2FyZSBVRk8gaGFuZGxlciB3aWxsIHNldCBpcF9zdW1tZWQgdG8KQ0hFQ0tTVU1fTk9ORS4K CldoZW4gX19za2JfZ3NvX3NlZ21lbnQgaXMgY2FsbGVkIGZyb20gdGhlIHJlY2VpdmUgcGF0aCwg dGhpcwp0cmlnZ2VycyB0aGUgd2FybmluZyBhZ2Fpbi4KCk1ha2UgVUZPIHNldCBDSEVDS1NVTV9V Tk5FQ0VTU0FSWSBpbnN0ZWFkIG9mIENIRUNLU1VNX05PTkUuIE9uClR4IHRoZXNlIHR3byBhcmUg ZXF1aXZhbGVudC4gT24gUngsIHRoaXMgYmV0dGVyIG1hdGNoZXMgdGhlCnNrYiBzdGF0ZSAoY2hl Y2tzdW0gY29tcHV0ZWQpLCBhcyBDSEVDS1NVTV9OT05FIGhlcmUgbWVhbnMgbm8KY2hlY2tzdW0g Y29tcHV0ZWQuCgpTZWUgYWxzbyB0aGlzIHRocmVhZCBmb3IgY29udGV4dDoKaHR0cDovL3BhdGNo d29yay5vemxhYnMub3JnL3BhdGNoLzc5OTAxNS8KCkZpeGVzOiBiMjUwNGE1ZGJlZjMgKCJuZXQ6 IHJlZHVjZSBza2Jfd2Fybl9iYWRfb2ZmbG9hZCgpIG5vaXNlIikKU2lnbmVkLW9mZi1ieTogV2ls bGVtIGRlIEJydWlqbiA8d2lsbGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZGV2LmMgICAgICAg ICB8IDIgKy0KIG5ldC9pcHY0L3VkcF9vZmZsb2FkLmMgfCAyICstCiBuZXQvaXB2Ni91ZHBfb2Zm bG9hZC5jIHwgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwppbmRl eCAyNWY5NDYxZWZmM2YuLjUyOGVkYzY4YTY0YSAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMK KysrIGIvbmV0L2NvcmUvZGV2LmMKQEAgLTI2NzAsNyArMjY3MCw3IEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCBza2JfbmVlZHNfY2hlY2soc3RydWN0IHNrX2J1ZmYgKnNrYiwgYm9vbCB0eF9wYXRoKQog ewogCWlmICh0eF9wYXRoKQogCQlyZXR1cm4gc2tiLT5pcF9zdW1tZWQgIT0gQ0hFQ0tTVU1fUEFS VElBTCAmJgotCQkgICAgICAgc2tiLT5pcF9zdW1tZWQgIT0gQ0hFQ0tTVU1fTk9ORTsKKwkJICAg ICAgIHNrYi0+aXBfc3VtbWVkICE9IENIRUNLU1VNX1VOTkVDRVNTQVJZOwogCiAJcmV0dXJuIHNr Yi0+aXBfc3VtbWVkID09IENIRUNLU1VNX05PTkU7CiB9CmRpZmYgLS1naXQgYS9uZXQvaXB2NC91 ZHBfb2ZmbG9hZC5jIGIvbmV0L2lwdjQvdWRwX29mZmxvYWQuYwppbmRleCA3ODEyNTAxNTFkNDAu LjA5MzJjODViNDJhZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdWRwX29mZmxvYWQuYworKysgYi9u ZXQvaXB2NC91ZHBfb2ZmbG9hZC5jCkBAIC0yMzUsNyArMjM1LDcgQEAgc3RhdGljIHN0cnVjdCBz a19idWZmICp1ZHA0X3Vmb19mcmFnbWVudChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCWlmICh1aC0+ Y2hlY2sgPT0gMCkKIAkJdWgtPmNoZWNrID0gQ1NVTV9NQU5HTEVEXzA7CiAKLQlza2ItPmlwX3N1 bW1lZCA9IENIRUNLU1VNX05PTkU7CisJc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9VTk5FQ0VT U0FSWTsKIAogCS8qIElmIHRoZXJlIGlzIG5vIG91dGVyIGhlYWRlciB3ZSBjYW4gZmFrZSBhIGNo ZWNrc3VtIG9mZmxvYWQKIAkgKiBkdWUgdG8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGFscmVhZHkg ZG9uZSB0aGUgY2hlY2tzdW0gaW4KZGlmZiAtLWdpdCBhL25ldC9pcHY2L3VkcF9vZmZsb2FkLmMg Yi9uZXQvaXB2Ni91ZHBfb2ZmbG9hZC5jCmluZGV4IGEyMjY3ZjgwZmViYi4uZTdkMzc4YzAzMmNi IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni91ZHBfb2ZmbG9hZC5jCisrKyBiL25ldC9pcHY2L3VkcF9v ZmZsb2FkLmMKQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICp1ZHA2X3Vm b19mcmFnbWVudChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQlpZiAodWgtPmNoZWNrID09IDApCiAJ CQl1aC0+Y2hlY2sgPSBDU1VNX01BTkdMRURfMDsKIAotCQlza2ItPmlwX3N1bW1lZCA9IENIRUNL U1VNX05PTkU7CisJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1fVU5ORUNFU1NBUlk7CiAKIAkJ LyogSWYgdGhlcmUgaXMgbm8gb3V0ZXIgaGVhZGVyIHdlIGNhbiBmYWtlIGEgY2hlY2tzdW0gb2Zm bG9hZAogCQkgKiBkdWUgdG8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGFscmVhZHkgZG9uZSB0aGUg Y2hlY2tzdW0gaW4KLS0gCjIuMTMuNAoKCkZyb20gOGM2Y2IwYzIzMzY0MDhmY2ViNmJiYTE5ZTgz MjIxMGE2NGExMjVhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmlrb2xheSBCb3Jp c292IDxuYm9yaXNvdkBzdXNlLmNvbT4KRGF0ZTogV2VkLCA5IEF1ZyAyMDE3IDE0OjM4OjA0ICsw MzAwClN1YmplY3Q6IFtQQVRDSCAxMy8xNV0gaWdtcDogRml4IHJlZ3Jlc3Npb24gY2F1c2VkIGJ5 IGlnbXAgc3lzY3RsIG5hbWVzcGFjZQogY29kZS4KClsgVXBzdHJlYW0gY29tbWl0IDE3MTQwMjBl NDJiMTcxMzUwMzJjODYwNmY3MTg1YjNmYjJiYTVkNzggXQoKQ29tbWl0IGRjZDg3OTk5ZDQxNSAo ImlnbXA6IG5ldDogTW92ZSBpZ21wIG5hbWVzcGFjZSBpbml0IHRvIGNvcnJlY3QgZmlsZSIpCm1v dmVkIHRoZSBpZ21wIHN5c2N0bHMgaW5pdGlhbGl6YXRpb24gZnJvbSB0Y3Bfc2tfaW5pdCB0byBp Z21wX25ldF9pbml0LiBUaGlzCmZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGFzIHBhcnQgb2YgcGVy LW5hbWVzcGFjZSBpbml0aWFsaXphdGlvbiwgb25seSBpZgpDT05GSUdfSVBfTVVMVElDQVNUIGlz IGRlZmluZWQsIG90aGVyd2lzZSBpZ21wX21jX2luaXQoKSBjYWxsIGluIGlwX2luaXQgaXMKY29t cGlsZWQgb3V0LCBjYXN1aW5nIHRoZSBpZ21wIHBlcm5ldCBvcHMgdG8gbm90IGJlIHJlZ2lzdGVy ZCBhbmQgdGhvc2Ugc3lzY3RsCmJlaW5nIGxlZnQgaW5pdGlhbGl6ZWQgd2l0aCAwLiBIb3dldmVy LCB0aGVyZSBhcmUgY2VydGFpbiBmdW5jdGlvbnMsIHN1Y2ggYXMKaXBfbWNfam9pbl9ncm91cCB3 aGljaCBhcmUgYWx3YXlzIGNvbXBpbGVkIGFuZCBtYWtlIHVzZSBvZiBzb21lIG9mIHRob3NlCnN5 c2N0bHMuIExldCdzIGRvIGEgcGFydGlhbCByZXZlcnQgb2YgdGhlIGFmb3JlbWVudGlvbmVkIGNv bW1pdCBhbmQgbW92ZSB0aGUKc3lzY3RsIGluaXRpYWxpemF0aW9uIGludG8gaW5ldF9pbml0X25l dCwgdGhhdCB3YXkgdGhleSB3aWxsIGFsd2F5cyBoYXZlCnNhbmUgdmFsdWVzLgoKRml4ZXM6IGRj ZDg3OTk5ZDQxNSAoImlnbXA6IG5ldDogTW92ZSBpZ21wIG5hbWVzcGFjZSBpbml0IHRvIGNvcnJl Y3QgZmlsZSIpCkxpbms6IGh0dHBzOi8vYnVnemlsbGEua2VybmVsLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9MTk2NTk1ClJlcG9ydGVkLWJ5OiBHZXJhcmRvIEV4ZXF1aWVsIFBvenppIDx2bWxpbnV6Mzg2 QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTmlrb2xheSBCb3Jpc292IDxuYm9yaXNvdkBzdXNl LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9pcHY0L2FmX2luZXQuYyB8IDcgKysrKysrKwogbmV0L2lwdjQvaWdtcC5jICAg IHwgNiAtLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2FmX2luZXQuYyBiL25ldC9pcHY0L2FmX2luZXQu YwppbmRleCA1ODkyNWI2NTk3ZGUuLmFiOGViZDQ0MDQyMyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQv YWZfaW5ldC5jCisrKyBiL25ldC9pcHY0L2FmX2luZXQuYwpAQCAtMTczMSw2ICsxNzMxLDEzIEBA IHN0YXRpYyBfX25ldF9pbml0IGludCBpbmV0X2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIAlu ZXQtPmlwdjQuc3lzY3RsX2lwX3Byb3Rfc29jayA9IFBST1RfU09DSzsKICNlbmRpZgogCisJLyog U29tZSBpZ21wIHN5c2N0bCwgd2hvc2UgdmFsdWVzIGFyZSBhbHdheXMgdXNlZCAqLworCW5ldC0+ aXB2NC5zeXNjdGxfaWdtcF9tYXhfbWVtYmVyc2hpcHMgPSAyMDsKKwluZXQtPmlwdjQuc3lzY3Rs X2lnbXBfbWF4X21zZiA9IDEwOworCS8qIElHTVAgcmVwb3J0cyBmb3IgbGluay1sb2NhbCBtdWx0 aWNhc3QgZ3JvdXBzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQgKi8KKwluZXQtPmlwdjQuc3lzY3Rs X2lnbXBfbGxtX3JlcG9ydHMgPSAxOworCW5ldC0+aXB2NC5zeXNjdGxfaWdtcF9xcnYgPSAyOwor CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2lnbXAuYyBiL25ldC9pcHY0 L2lnbXAuYwppbmRleCBlYzlhMzk2ZmE0NjYuLjNkYjFhZGI2YjdhMCAxMDA2NDQKLS0tIGEvbmV0 L2lwdjQvaWdtcC5jCisrKyBiL25ldC9pcHY0L2lnbXAuYwpAQCAtMjk3NCwxMiArMjk3NCw2IEBA IHN0YXRpYyBpbnQgX19uZXRfaW5pdCBpZ21wX25ldF9pbml0KHN0cnVjdCBuZXQgKm5ldCkKIAkJ Z290byBvdXRfc29jazsKIAl9CiAKLQkvKiBTeXNjdGwgaW5pdGlhbGl6YXRpb24gKi8KLQluZXQt PmlwdjQuc3lzY3RsX2lnbXBfbWF4X21lbWJlcnNoaXBzID0gMjA7Ci0JbmV0LT5pcHY0LnN5c2N0 bF9pZ21wX21heF9tc2YgPSAxMDsKLQkvKiBJR01QIHJlcG9ydHMgZm9yIGxpbmstbG9jYWwgbXVs dGljYXN0IGdyb3VwcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0ICovCi0JbmV0LT5pcHY0LnN5c2N0 bF9pZ21wX2xsbV9yZXBvcnRzID0gMTsKLQluZXQtPmlwdjQuc3lzY3RsX2lnbXBfcXJ2ID0gMjsK IAlyZXR1cm4gMDsKIAogb3V0X3NvY2s6Ci0tIAoyLjEzLjQKCgpGcm9tIGM0NDFmODczNTE3M2Yw N2M3NGMzNjQyMGYzZjc1YzljMTFkNDk3ZjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1LCAxMCBBdWcg MjAxNyAxMjoyOToxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMTVdIHVkcDogY29uc2lzdGVu dGx5IGFwcGx5IHVmbyBvciBmcmFnbWVudGF0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCA4NWYxYmQ5 YTdiNWE3OWQ1YmFhOGJmNDRhZjE5NjU4ZjdiZjc3YmZhIF0KCldoZW4gaXRlcmF0aXZlbHkgYnVp bGRpbmcgYSBVRFAgZGF0YWdyYW0gd2l0aCBNU0dfTU9SRSBhbmQgdGhhdApkYXRhZ3JhbSBleGNl ZWRzIE1UVSwgY29uc2lzdGVudGx5IGNob29zZSBVRk8gb3IgZnJhZ21lbnRhdGlvbi4KCk9uY2Ug c2tiX2lzX2dzbywgYWx3YXlzIGFwcGx5IHVmby4gQ29udmVyc2VseSwgb25jZSBhIGRhdGFncmFt IGlzCnNwbGl0IGFjcm9zcyBtdWx0aXBsZSBza2JzLCBkbyBub3QgY29uc2lkZXIgdWZvLgoKU2Vu ZHBhZ2UgYWxyZWFkeSBtYWludGFpbnMgdGhlIGZpcnN0IGludmFyaWFudCwgb25seSBhZGQgdGhl IHNlY29uZC4KSVB2NiBkb2VzIG5vdCBoYXZlIGEgc2VuZHBhZ2UgaW1wbGVtZW50YXRpb24gdG8g bW9kaWZ5LgoKQSBnc28gc2tiIG11c3QgaGF2ZSBhIHBhcnRpYWwgY2hlY2tzdW0sIGRvIG5vdCBm b2xsb3cgc2tfbm9fY2hlY2tfdHgKaW4gdWRwX3NlbmRfc2tiLgoKRm91bmQgYnkgc3l6a2FsbGVy LgoKRml4ZXM6IGU4OWU5Y2Y1MzlhMiAoIltJUHY0L0lQdjZdOiBVRk8gU2NhdHRlci1nYXRoZXIg YXBwcm9hY2giKQpSZXBvcnRlZC1ieTogQW5kcmV5IEtvbm92YWxvdiA8YW5kcmV5a252bEBnb29n bGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBuZXQvaXB2NC9pcF9vdXRwdXQuYyAgfCA4ICsrKysrLS0tCiBuZXQvaXB2NC91ZHAuYyAg ICAgICAgfCAyICstCiBuZXQvaXB2Ni9pcDZfb3V0cHV0LmMgfCA3ICsrKystLS0KIDMgZmlsZXMg Y2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9u ZXQvaXB2NC9pcF9vdXRwdXQuYyBiL25ldC9pcHY0L2lwX291dHB1dC5jCmluZGV4IDUzMmIzNmU5 Y2UyYS4uZTU5NDhjMGM5NzU5IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9pcF9vdXRwdXQuYworKysg Yi9uZXQvaXB2NC9pcF9vdXRwdXQuYwpAQCAtOTY0LDExICs5NjQsMTIgQEAgc3RhdGljIGludCBf X2lwX2FwcGVuZF9kYXRhKHN0cnVjdCBzb2NrICpzaywKIAkJY3N1bW1vZGUgPSBDSEVDS1NVTV9Q QVJUSUFMOwogCiAJY29yay0+bGVuZ3RoICs9IGxlbmd0aDsKLQlpZiAoKCgobGVuZ3RoICsgKHNr YiA/IHNrYi0+bGVuIDogZnJhZ2hlYWRlcmxlbikpID4gbXR1KSB8fAotCSAgICAgKHNrYiAmJiBz a2JfaXNfZ3NvKHNrYikpKSAmJgorCWlmICgoc2tiICYmIHNrYl9pc19nc28oc2tiKSkgfHwKKwkg ICAgKCgobGVuZ3RoICsgKHNrYiA/IHNrYi0+bGVuIDogZnJhZ2hlYWRlcmxlbikpID4gbXR1KSAm JgorCSAgICAoc2tiX3F1ZXVlX2xlbihxdWV1ZSkgPD0gMSkgJiYKIAkgICAgKHNrLT5za19wcm90 b2NvbCA9PSBJUFBST1RPX1VEUCkgJiYKIAkgICAgKHJ0LT5kc3QuZGV2LT5mZWF0dXJlcyAmIE5F VElGX0ZfVUZPKSAmJiAhZHN0X3hmcm0oJnJ0LT5kc3QpICYmCi0JICAgIChzay0+c2tfdHlwZSA9 PSBTT0NLX0RHUkFNKSAmJiAhc2stPnNrX25vX2NoZWNrX3R4KSB7CisJICAgIChzay0+c2tfdHlw ZSA9PSBTT0NLX0RHUkFNKSAmJiAhc2stPnNrX25vX2NoZWNrX3R4KSkgewogCQllcnIgPSBpcF91 Zm9fYXBwZW5kX2RhdGEoc2ssIHF1ZXVlLCBnZXRmcmFnLCBmcm9tLCBsZW5ndGgsCiAJCQkJCSBo aF9sZW4sIGZyYWdoZWFkZXJsZW4sIHRyYW5zaGRybGVuLAogCQkJCQkgbWF4ZnJhZ2xlbiwgZmxh Z3MpOwpAQCAtMTI4Nyw2ICsxMjg4LDcgQEAgc3NpemVfdAlpcF9hcHBlbmRfcGFnZShzdHJ1Y3Qg c29jayAqc2ssIHN0cnVjdCBmbG93aTQgKmZsNCwgc3RydWN0IHBhZ2UgKnBhZ2UsCiAJCXJldHVy biAtRUlOVkFMOwogCiAJaWYgKChzaXplICsgc2tiLT5sZW4gPiBtdHUpICYmCisJICAgIChza2Jf cXVldWVfbGVuKCZzay0+c2tfd3JpdGVfcXVldWUpID09IDEpICYmCiAJICAgIChzay0+c2tfcHJv dG9jb2wgPT0gSVBQUk9UT19VRFApICYmCiAJICAgIChydC0+ZHN0LmRldi0+ZmVhdHVyZXMgJiBO RVRJRl9GX1VGTykpIHsKIAkJaWYgKHNrYi0+aXBfc3VtbWVkICE9IENIRUNLU1VNX1BBUlRJQUwp CmRpZmYgLS1naXQgYS9uZXQvaXB2NC91ZHAuYyBiL25ldC9pcHY0L3VkcC5jCmluZGV4IDFkNjIx OWJmMmQ2Yi4uMzYzZTAxM2UzOTg0IDEwMDY0NAotLS0gYS9uZXQvaXB2NC91ZHAuYworKysgYi9u ZXQvaXB2NC91ZHAuYwpAQCAtODAyLDcgKzgwMiw3IEBAIHN0YXRpYyBpbnQgdWRwX3NlbmRfc2ti KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBmbG93aTQgKmZsNCkKIAlpZiAoaXNfdWRwbGl0 ZSkgIAkJCQkgLyogICAgIFVEUC1MaXRlICAgICAgKi8KIAkJY3N1bSA9IHVkcGxpdGVfY3N1bShz a2IpOwogCi0JZWxzZSBpZiAoc2stPnNrX25vX2NoZWNrX3R4KSB7ICAgLyogVURQIGNzdW0gZGlz YWJsZWQgKi8KKwllbHNlIGlmIChzay0+c2tfbm9fY2hlY2tfdHggJiYgIXNrYl9pc19nc28oc2ti KSkgeyAgIC8qIFVEUCBjc3VtIG9mZiAqLwogCiAJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1f Tk9ORTsKIAkJZ290byBzZW5kOwpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X291dHB1dC5jIGIv bmV0L2lwdjYvaXA2X291dHB1dC5jCmluZGV4IDE2OTlhY2IyZmEyYy4uOTBlOGMzZDU3NDIzIDEw MDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfb3V0cHV0LmMKKysrIGIvbmV0L2lwdjYvaXA2X291dHB1 dC5jCkBAIC0xMzkwLDExICsxMzkwLDEyIEBAIHN0YXRpYyBpbnQgX19pcDZfYXBwZW5kX2RhdGEo c3RydWN0IHNvY2sgKnNrLAogCSAqLwogCiAJY29yay0+bGVuZ3RoICs9IGxlbmd0aDsKLQlpZiAo KCgobGVuZ3RoICsgKHNrYiA/IHNrYi0+bGVuIDogaGVhZGVyc2l6ZSkpID4gbXR1KSB8fAotCSAg ICAgKHNrYiAmJiBza2JfaXNfZ3NvKHNrYikpKSAmJgorCWlmICgoc2tiICYmIHNrYl9pc19nc28o c2tiKSkgfHwKKwkgICAgKCgobGVuZ3RoICsgKHNrYiA/IHNrYi0+bGVuIDogaGVhZGVyc2l6ZSkp ID4gbXR1KSAmJgorCSAgICAoc2tiX3F1ZXVlX2xlbihxdWV1ZSkgPD0gMSkgJiYKIAkgICAgKHNr LT5za19wcm90b2NvbCA9PSBJUFBST1RPX1VEUCkgJiYKIAkgICAgKHJ0LT5kc3QuZGV2LT5mZWF0 dXJlcyAmIE5FVElGX0ZfVUZPKSAmJiAhZHN0X3hmcm0oJnJ0LT5kc3QpICYmCi0JICAgIChzay0+ c2tfdHlwZSA9PSBTT0NLX0RHUkFNKSAmJiAhdWRwX2dldF9ub19jaGVjazZfdHgoc2spKSB7CisJ ICAgIChzay0+c2tfdHlwZSA9PSBTT0NLX0RHUkFNKSAmJiAhdWRwX2dldF9ub19jaGVjazZfdHgo c2spKSkgewogCQllcnIgPSBpcDZfdWZvX2FwcGVuZF9kYXRhKHNrLCBxdWV1ZSwgZ2V0ZnJhZywg ZnJvbSwgbGVuZ3RoLAogCQkJCQkgIGhoX2xlbiwgZnJhZ2hlYWRlcmxlbiwgZXh0aGRybGVuLAog CQkJCQkgIHRyYW5zaGRybGVuLCBtdHUsIGZsYWdzLCBmbDYpOwotLSAKMi4xMy40CgoKRnJvbSBi MDVlZGE4ZTQ0Y2Y3MjQ5YzI4NTI5MjQ1MTJiNGE2NGYyOWZiOTZmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+CkRhdGU6 IFRodSwgMTAgQXVnIDIwMTcgMTI6NDE6NTggLTA0MDAKU3ViamVjdDogW1BBVENIIDE1LzE1XSBw YWNrZXQ6IGZpeCB0cF9yZXNlcnZlIHJhY2UgaW4gcGFja2V0X3NldF9yaW5nCgpbIFVwc3RyZWFt IGNvbW1pdCBjMjc5MjdlMzcyZjA3ODVmMzMwM2U4ZmFkOTRiODU5NDVlMmM5N2I3IF0KClVwZGF0 ZXMgdG8gdHBfcmVzZXJ2ZSBjYW4gcmFjZSB3aXRoIHJlYWRzIG9mIHRoZSBmaWVsZCBpbgpwYWNr ZXRfc2V0X3JpbmcuIEF2b2lkIHRoaXMgYnkgaG9sZGluZyB0aGUgc29ja2V0IGxvY2sgZHVyaW5n CnVwZGF0ZXMgaW4gc2V0c29ja29wdCBQQUNLRVRfUkVTRVJWRS4KClRoaXMgYnVnIHdhcyBkaXNj b3ZlcmVkIGJ5IHN5emthbGxlci4KCkZpeGVzOiA4OTEzMzM2YTdlOGQgKCJwYWNrZXQ6IGFkZCBQ QUNLRVRfUkVTRVJWRSBzb2Nrb3B0IikKUmVwb3J0ZWQtYnk6IEFuZHJleSBLb25vdmFsb3YgPGFu ZHJleWtudmxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogV2lsbGVtIGRlIEJydWlqbiA8d2ls bGVtYkBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3BhY2tldC9hZl9wYWNrZXQuYyB8IDEzICsrKysrKysrKy0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L3BhY2tldC9hZl9wYWNrZXQuYyBiL25ldC9wYWNrZXQvYWZfcGFja2V0LmMK aW5kZXggZTNlZWVkMTljYzdhLi44Y2IzMmNhNDM0MTYgMTAwNjQ0Ci0tLSBhL25ldC9wYWNrZXQv YWZfcGFja2V0LmMKKysrIGIvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwpAQCAtMzcwNSwxNCArMzcw NSwxOSBAQCBwYWNrZXRfc2V0c29ja29wdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWws IGludCBvcHRuYW1lLCBjaGFyIF9fdXNlciAqb3B0dgogCiAJCWlmIChvcHRsZW4gIT0gc2l6ZW9m KHZhbCkpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJaWYgKHBvLT5yeF9yaW5nLnBnX3ZlYyB8fCBw by0+dHhfcmluZy5wZ192ZWMpCi0JCQlyZXR1cm4gLUVCVVNZOwogCQlpZiAoY29weV9mcm9tX3Vz ZXIoJnZhbCwgb3B0dmFsLCBzaXplb2YodmFsKSkpCiAJCQlyZXR1cm4gLUVGQVVMVDsKIAkJaWYg KHZhbCA+IElOVF9NQVgpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJcG8tPnRwX3Jlc2VydmUgPSB2 YWw7Ci0JCXJldHVybiAwOworCQlsb2NrX3NvY2soc2spOworCQlpZiAocG8tPnJ4X3JpbmcucGdf dmVjIHx8IHBvLT50eF9yaW5nLnBnX3ZlYykgeworCQkJcmV0ID0gLUVCVVNZOworCQl9IGVsc2Ug eworCQkJcG8tPnRwX3Jlc2VydmUgPSB2YWw7CisJCQlyZXQgPSAwOworCQl9CisJCXJlbGVhc2Vf c29jayhzayk7CisJCXJldHVybiByZXQ7CiAJfQogCWNhc2UgUEFDS0VUX0xPU1M6CiAJewotLSAK Mi4xMy40Cgo= ----Next_Part(Thu_Aug_10_22_25_42_2017_848)----