From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([149.20.54.216]:39414 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753136AbbJUDes (ORCPT ); Tue, 20 Oct 2015 23:34:48 -0400 Received: from localhost (unknown [211.216.23.73]) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 33999594BCA for ; Tue, 20 Oct 2015 20:34:46 -0700 (PDT) Date: Tue, 20 Oct 2015 20:51:10 -0700 (PDT) Message-Id: <20151020.205110.2063480758920744787.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(Tue_Oct_20_20_51_10_2015_504)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Tue_Oct_20_20_51_10_2015_504)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for 3.14, 3.18, 4.1, and 4.2 -stable, respectively. Thanks! ----Next_Part(Tue_Oct_20_20_51_10_2015_504)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_314.mbox" RnJvbSAwZjQ1NGFlMjYwOWYzMDA4ZWQzM2I5MzMwYTUwMmY1NzM3YTliMjYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQ291emVucyA8bHlueGlzQGZlODAuZXU+CkRh dGU6IE1vbiwgMjggU2VwIDIwMTUgMTE6MzI6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzEx XSBsMnRwOiBwcm90ZWN0IHR1bm5lbC0+ZGVsX3dvcmsgYnkgcmVmX2NvdW50CgpbIFVwc3RyZWFt IGNvbW1pdCAwNmExNWY1MWNmMzYxOGUzMmE3Mzg3MWVlNmE1NDdlZjdmZDkwMmI1IF0KClRoZXJl IGlzIGEgc21hbGwgY2hhbmNlIHRoYXQgdHVubmVsX2ZyZWUoKSBpcyBjYWxsZWQgYmVmb3JlIHR1 bm5lbC0+ZGVsX3dvcmsgc2NoZWR1bGVkCnJlc3VsdGluZyBpbiBhIHplcm8gcG9pbnRlciBkZXJl ZmVyZW5jZS4KClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBDb3V6ZW5zIDxseW54aXNAZmU4MC5l dT4KQWNrZWQtYnk6IEphbWVzIENoYXBtYW4gPGpjaGFwbWFuQGthdGFsaXguY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2wy dHAvbDJ0cF9jb3JlLmMgfCAgIDExICsrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9sMnRwL2wydHBfY29y ZS5jIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKaW5kZXggODVkOWQ5NC4uMzY3OWJkNiAxMDA2NDQK LS0tIGEvbmV0L2wydHAvbDJ0cF9jb3JlLmMKKysrIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKQEAg LTE0MzUsNyArMTQzNSw3IEBAIHN0YXRpYyB2b2lkIGwydHBfdHVubmVsX2RlbF93b3JrKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykKIAl0dW5uZWwgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0 IGwydHBfdHVubmVsLCBkZWxfd29yayk7CiAJc2sgPSBsMnRwX3R1bm5lbF9zb2NrX2xvb2t1cCh0 dW5uZWwpOwogCWlmICghc2spCi0JCXJldHVybjsKKwkJZ290byBvdXQ7CiAKIAlzb2NrID0gc2st PnNrX3NvY2tldDsKIApAQCAtMTQ1Niw2ICsxNDU2LDggQEAgc3RhdGljIHZvaWQgbDJ0cF90dW5u ZWxfZGVsX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCX0KIAogCWwydHBfdHVubmVs X3NvY2tfcHV0KHNrKTsKK291dDoKKwlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQodHVubmVsKTsK IH0KIAogLyogQ3JlYXRlIGEgc29ja2V0IGZvciB0aGUgdHVubmVsLCBpZiBvbmUgaXNuJ3Qgc2V0 IHVwIGJ5CkBAIC0xNzg1LDggKzE3ODcsMTMgQEAgRVhQT1JUX1NZTUJPTF9HUEwobDJ0cF90dW5u ZWxfY3JlYXRlKTsKICAqLwogaW50IGwydHBfdHVubmVsX2RlbGV0ZShzdHJ1Y3QgbDJ0cF90dW5u ZWwgKnR1bm5lbCkKIHsKKwlsMnRwX3R1bm5lbF9pbmNfcmVmY291bnQodHVubmVsKTsKIAlsMnRw X3R1bm5lbF9jbG9zZWFsbCh0dW5uZWwpOwotCXJldHVybiAoZmFsc2UgPT0gcXVldWVfd29yayhs MnRwX3dxLCAmdHVubmVsLT5kZWxfd29yaykpOworCWlmIChmYWxzZSA9PSBxdWV1ZV93b3JrKGwy dHBfd3EsICZ0dW5uZWwtPmRlbF93b3JrKSkgeworCQlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQo dHVubmVsKTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9H UEwobDJ0cF90dW5uZWxfZGVsZXRlKTsKIAotLSAKMS43LjEwLjQKCgpGcm9tIDQzODMxZTI2Nzg4 MDg0NGMxZWU2MjcwNDkwNzNjYjgyYTgwODJjNDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpEYXRlOiBTYXQsIDI2IFNlcCAy MDE1IDE4OjUwOjQyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMi8xMV0gYWZfdW5peDogQ29udmVy dCB0aGUgdW5peF9zayBtYWNybyB0byBhbiBpbmxpbmUKIGZ1bmN0aW9uIGZvciB0eXBlIHNhZmV0 eQoKWyBVcHN0cmVhbSBjb21taXQgNDYxMzAxMmRiMWQ5MTFmODA4OTdmOTQ0NmE0OWRlODE3YjJj NGM0NyBdCgpBcyBzdWdnZXN0ZWQgYnkgRXJpYyBEdW1hemV0IHRoaXMgY2hhbmdlIHJlcGxhY2Vz IHRoZQojZGVmaW5lIHdpdGggYSBzdGF0aWMgaW5saW5lIGZ1bmN0aW9uIHRvIGVuam95CmNvbXBs YWludHMgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbWlzdXNpbmcgdGhlIEFQSS4KClNpZ25lZC1vZmYt Ynk6IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvYWZfdW5p eC5oIHwgICAgNiArKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9hZl91bml4LmggYi9pbmNsdWRlL25l dC9hZl91bml4LmgKaW5kZXggYTE3NWJhNC4uZGZlNGRkZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9u ZXQvYWZfdW5peC5oCisrKyBiL2luY2x1ZGUvbmV0L2FmX3VuaXguaApAQCAtNjQsNyArNjQsMTEg QEAgc3RydWN0IHVuaXhfc29jayB7CiAjZGVmaW5lIFVOSVhfR0NfTUFZQkVfQ1lDTEUJMQogCXN0 cnVjdCBzb2NrZXRfd3EJcGVlcl93cTsKIH07Ci0jZGVmaW5lIHVuaXhfc2soX19zaykgKChzdHJ1 Y3QgdW5peF9zb2NrICopX19zaykKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgdW5peF9zb2NrICp1 bml4X3NrKHN0cnVjdCBzb2NrICpzaykKK3sKKwlyZXR1cm4gKHN0cnVjdCB1bml4X3NvY2sgKilz azsKK30KIAogI2RlZmluZSBwZWVyX3dhaXQgcGVlcl93cS53YWl0CiAKLS0gCjEuNy4xMC40CgoK RnJvbSBkYjYzM2UwZDM2ODRiNTE1YzUyNjczYzMzMDkzYmZhNzQ0NmQzYjM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBYXJvbiBDb25vbGUgPGFjb25vbGVAYnl0aGViLm9yZz4KRGF0 ZTogU2F0LCAyNiBTZXAgMjAxNSAxODo1MDo0MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTFd IGFmX3VuaXg6IHJldHVybiBkYXRhIGZyb20gbXVsdGlwbGUgU0tCcyBvbiByZWN2KCkgd2l0aAog TVNHX1BFRUsgZmxhZwoKWyBVcHN0cmVhbSBjb21taXQgOWYzODllMzU2NzRmNWIwODZlZGQ3MGVk NTI0Y2EwZjI4NzI1OTcyNSBdCgpBRl9VTklYIHNvY2tldHMgbm93IHJldHVybiBtdWx0aXBsZSBz a2JzIGZyb20gcmVjdigpIHdoZW4gTVNHX1BFRUsgZmxhZwppcyBzZXQuCgpUaGlzIGlzIHJlZmVy ZW5jZWQgaW4ga2VybmVsIGJ1Z3ppbGxhICMxMjMyMyBACmh0dHBzOi8vYnVnemlsbGEua2VybmVs Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMjMKCkFzIGRlc2NyaWJlZCBib3RoIGluIHRoZSBCWiBh bmQgbGttbCB0aHJlYWQgQApodHRwOi8vbGttbC5vcmcvbGttbC8yMDA4LzEvOC80NDQgY2FsbGlu ZyByZWN2KCkgd2l0aCBNU0dfUEVFSyBvbiBhbgpBRl9VTklYIHNvY2tldCBvbmx5IHJlYWRzIGEg c2luZ2xlIHNrYiwgd2hlcmUgdGhlIGRlc2lyZWQgZWZmZWN0IGlzCnRvIHJldHVybiBhcyBtdWNo IHNrYiBkYXRhIGhhcyBiZWVuIHF1ZXVlZCwgdW50aWwgaGl0dGluZyB0aGUgcmVjdgpidWZmZXIg c2l6ZSAod2hpY2hldmVyIGNvbWVzIGZpcnN0KS4KClRoZSBtb2RpZmllZCBNU0dfUEVFSyBwYXRo IHdpbGwgbm93IG1vdmUgdG8gdGhlIG5leHQgc2tiIGluIHRoZSB0cmVlCmFuZCBqdW1wIHRvIHRo ZSBhZ2FpbjogbGFiZWwsIHJhdGhlciB0aGFuIGZvbGxvd2luZyB0aGUgbmF0dXJhbCBsb29wCnN0 cnVjdHVyZS4gVGhpcyByZXF1aXJlcyBkdXBsaWNhdGluZyBzb21lIG9mIHRoZSBsb29wIGhlYWQg YWN0aW9ucy4KClRoaXMgd2FzIHRlc3RlZCB1c2luZyB0aGUgcHl0aG9uIHNvY2tldHBhaXIgcHl0 aG9uIGNvZGUgYXR0YWNoZWQgdG8KdGhlIGJ1Z3ppbGxhIGlzc3VlLgoKU2lnbmVkLW9mZi1ieTog QWFyb24gQ29ub2xlIDxhY29ub2xlQGJ5dGhlYi5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdW5peC9hZl91bml4LmMgfCAg IDE0ICsrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC91bml4L2FmX3VuaXguYyBiL25ldC91bml4L2Fm X3VuaXguYwppbmRleCA0NzU3ZjFjLi43YzdjMTlkIDEwMDY0NAotLS0gYS9uZXQvdW5peC9hZl91 bml4LmMKKysrIGIvbmV0L3VuaXgvYWZfdW5peC5jCkBAIC0yMDY0LDggKzIwNjQsMjAgQEAgYWdh aW46CiAJCQlpZiAoVU5JWENCKHNrYikuZnApCiAJCQkJc2lvY2ItPnNjbS0+ZnAgPSBzY21fZnBf ZHVwKFVOSVhDQihza2IpLmZwKTsKIAotCQkJc2tfcGVla19vZmZzZXRfZndkKHNrLCBjaHVuayk7 CisJCQlpZiAoc2tpcCkgeworCQkJCXNrX3BlZWtfb2Zmc2V0X2Z3ZChzaywgY2h1bmspOworCQkJ CXNraXAgLT0gY2h1bms7CisJCQl9CisKKwkJCWlmIChVTklYQ0Ioc2tiKS5mcCkKKwkJCQlicmVh azsKIAorCQkJbGFzdCA9IHNrYjsKKwkJCXVuaXhfc3RhdGVfbG9jayhzayk7CisJCQlza2IgPSBz a2JfcGVla19uZXh0KHNrYiwgJnNrLT5za19yZWNlaXZlX3F1ZXVlKTsKKwkJCWlmIChza2IpCisJ CQkJZ290byBhZ2FpbjsKKwkJCXVuaXhfc3RhdGVfdW5sb2NrKHNrKTsKIAkJCWJyZWFrOwogCQl9 CiAJfSB3aGlsZSAoc2l6ZSk7Ci0tIAoxLjcuMTAuNAoKCkZyb20gMzJiMzI1NDBkNGY3ZmY5Zjdh YWMwZjlmZDJkZTc4YjU4YjZkNDdmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW5k cmV5IFZhZ2luIDxhdmFnaW5Ab3BlbnZ6Lm9yZz4KRGF0ZTogRnJpLCAyIE9jdCAyMDE1IDAwOjA1 OjM2ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gbmV0L3VuaXg6IGZpeCBsb2dpYyBhYm91 dCBza19wZWVrX29mZnNldAoKWyBVcHN0cmVhbSBjb21taXQgZTkxOTNkNjBkMzYzZTRkZmY3NWZm NmQ0M2E0OGYyMmJlMjZkNTljNyBdCgpOb3cgc2VuZCB3aXRoIE1TR19QRUVLIGNhbiByZXR1cm4g ZGF0YSBmcm9tIG11bHRpcGxlIFNLQnMuCgpVbmZvcnR1bmF0ZWx5IHdlIHRha2UgaW50byBhY2Nv dW50IHRoZSBwZWVrIG9mZnNldCBmb3IgZWFjaCBza2IsCnRoYXQgaXMgd3JvbmcuIFdlIG5lZWQg dG8gYXBwbHkgdGhlIHBlZWsgb2Zmc2V0IG9ubHkgb25jZS4KCkluIGFkZGl0aW9uLCB0aGUgcGVl ayBvZmZzZXQgc2hvdWxkIGJlIHVzZWQgb25seSBpZiBNU0dfUEVFSyBpcyBzZXQuCgpDYzogIkRh dmlkIFMuIE1pbGxlciIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+IChtYWludGFpbmVyOk5FVFdPUktJ TkcKQ2M6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4gKGNvbW1pdF9zaWduZXI6 MS8xND03JSkKQ2M6IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpGaXhlczogOWYz ODllMzU2NzRmICgiYWZfdW5peDogcmV0dXJuIGRhdGEgZnJvbSBtdWx0aXBsZSBTS0JzIG9uIHJl Y3YoKSB3aXRoIE1TR19QRUVLIGZsYWciKQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgVmFnaW4gPGF2 YWdpbkBvcGVudnoub3JnPgpUZXN0ZWQtYnk6IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIu b3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L3VuaXgvYWZfdW5peC5jIHwgICAxMiArKysrKysrLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Vu aXgvYWZfdW5peC5jIGIvbmV0L3VuaXgvYWZfdW5peC5jCmluZGV4IDdjN2MxOWQuLjRhZmZlZGIg MTAwNjQ0Ci0tLSBhL25ldC91bml4L2FmX3VuaXguYworKysgYi9uZXQvdW5peC9hZl91bml4LmMK QEAgLTE5NTYsNiArMTk1NiwxMSBAQCBzdGF0aWMgaW50IHVuaXhfc3RyZWFtX3JlY3Ztc2coc3Ry dWN0IGtpb2NiICppb2NiLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAogCQlnb3RvIG91dDsKIAl9CiAK KwlpZiAoZmxhZ3MgJiBNU0dfUEVFSykKKwkJc2tpcCA9IHNrX3BlZWtfb2Zmc2V0KHNrLCBmbGFn cyk7CisJZWxzZQorCQlza2lwID0gMDsKKwogCWRvIHsKIAkJaW50IGNodW5rOwogCQlzdHJ1Y3Qg c2tfYnVmZiAqc2tiLCAqbGFzdDsKQEAgLTIwMDIsNyArMjAwNyw2IEBAIGFnYWluOgogCQkJYnJl YWs7CiAJCX0KIAotCQlza2lwID0gc2tfcGVla19vZmZzZXQoc2ssIGZsYWdzKTsKIAkJd2hpbGUg KHNraXAgPj0gdW5peF9za2JfbGVuKHNrYikpIHsKIAkJCXNraXAgLT0gdW5peF9za2JfbGVuKHNr Yik7CiAJCQlsYXN0ID0gc2tiOwpAQCAtMjA2NCwxNCArMjA2OCwxMiBAQCBhZ2FpbjoKIAkJCWlm IChVTklYQ0Ioc2tiKS5mcCkKIAkJCQlzaW9jYi0+c2NtLT5mcCA9IHNjbV9mcF9kdXAoVU5JWENC KHNrYikuZnApOwogCi0JCQlpZiAoc2tpcCkgewotCQkJCXNrX3BlZWtfb2Zmc2V0X2Z3ZChzaywg Y2h1bmspOwotCQkJCXNraXAgLT0gY2h1bms7Ci0JCQl9CisJCQlza19wZWVrX29mZnNldF9md2Qo c2ssIGNodW5rKTsKIAogCQkJaWYgKFVOSVhDQihza2IpLmZwKQogCQkJCWJyZWFrOwogCisJCQlz a2lwID0gMDsKIAkJCWxhc3QgPSBza2I7CiAJCQl1bml4X3N0YXRlX2xvY2soc2spOwogCQkJc2ti ID0gc2tiX3BlZWtfbmV4dChza2IsICZzay0+c2tfcmVjZWl2ZV9xdWV1ZSk7Ci0tIAoxLjcuMTAu NAoKCkZyb20gMzRjOTBhZjU5Y2FmNzI4ODA3MDgyNDA0NDg4MzVmNDJlNTA0OWU3MSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUHJhdmluIEIgU2hlbGFyIDxwc2hlbGFyQG5pY2lyYS5j b20+CkRhdGU6IFR1ZSwgMjIgU2VwIDIwMTUgMTI6NTc6NTMgLTA3MDAKU3ViamVjdDogW1BBVENI IDA1LzExXSBza2J1ZmY6IEZpeCBza2IgY2hlY2tzdW0gZmxhZyBvbiBza2IgcHVsbAoKWyBVcHN0 cmVhbSBjb21taXQgNmFlNDU5YmRhYWVlYmM2MzJiMTZlNTRkY2JhYmI0OTBjNjkzMWQ2MSBdCgpW WExBTiBkZXZpY2UgY2FuIHJlY2VpdmUgc2tiIHdpdGggY2hlY2tzdW0gcGFydGlhbC4gQnV0IHRo ZSBjaGVja3N1bQpvZmZzZXQgY291bGQgYmUgaW4gb3V0ZXIgaGVhZGVyIHdoaWNoIGlzIHB1bGxl ZCBvbiByZWNlaXZlLiBUaGlzIHJlc3VsdHMKaW4gbmVnYXRpdmUgY2hlY2tzdW0gb2Zmc2V0IGZv ciB0aGUgc2tiLiBTdWNoIHNrYiBjYW4gY2F1c2UgdGhlIGFzc2VydApmYWlsdXJlIGluIHNrYl9j aGVja3N1bV9oZWxwKCkuIEZvbGxvd2luZyBwYXRjaCBmaXhlcyB0aGUgYnVnIGJ5IHNldHRpbmcK Y2hlY2tzdW0tbm9uZSB3aGlsZSBwdWxsaW5nIG91dGVyIGhlYWRlci4KCkZvbGxvd2luZyBpcyB0 aGUga2VybmVsIHBhbmljIG1zZyBmcm9tIG9sZCBrZXJuZWwgaGl0dGluZyB0aGUgYnVnLgoKLS0t LS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCmtlcm5lbCBCVUcgYXQgbmV0L2NvcmUv ZGV2LmM6MTkwNiEKUklQOiAwMDEwOls8ZmZmZmZmZmY4MTUxODAzND5dIHNrYl9jaGVja3N1bV9o ZWxwKzB4MTQ0LzB4MTUwCkNhbGwgVHJhY2U6CjxJUlE+Cls8ZmZmZmZmZmZhMDE2NGMyOD5dIHF1 ZXVlX3VzZXJzcGFjZV9wYWNrZXQrMHg0MDgvMHg0NzAgW29wZW52c3dpdGNoXQpbPGZmZmZmZmZm YTAxNjYxNGQ+XSBvdnNfZHBfdXBjYWxsKzB4NWQvMHg2MCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZm ZmZhMDE2NjIzNj5dIG92c19kcF9wcm9jZXNzX3BhY2tldF93aXRoX2tleSsweGU2LzB4MTAwIFtv cGVudnN3aXRjaF0KWzxmZmZmZmZmZmEwMTY2MjliPl0gb3ZzX2RwX3Byb2Nlc3NfcmVjZWl2ZWRf cGFja2V0KzB4NGIvMHg4MCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmZhMDE2YzUxYT5dIG92c192 cG9ydF9yZWNlaXZlKzB4MmEvMHgzMCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmZhMDE3MTM4Mz5d IHZ4bGFuX3JjdisweDUzLzB4NjAgW29wZW52c3dpdGNoXQpbPGZmZmZmZmZmYTAxNzM0Y2I+XSB2 eGxhbl91ZHBfZW5jYXBfcmVjdisweDhiLzB4ZjAgW29wZW52c3dpdGNoXQpbPGZmZmZmZmZmODE1 N2FkZGM+XSB1ZHBfcXVldWVfcmN2X3NrYisweDJkYy8weDNiMApbPGZmZmZmZmZmODE1N2I1NmY+ XSBfX3VkcDRfbGliX3JjdisweDFjZi8weDZjMApbPGZmZmZmZmZmODE1N2JhN2E+XSB1ZHBfcmN2 KzB4MWEvMHgyMApbPGZmZmZmZmZmODE1NGZkYmQ+XSBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsw eGRkLzB4MjgwCls8ZmZmZmZmZmY4MTU1MDEyOD5dIGlwX2xvY2FsX2RlbGl2ZXIrMHg4OC8weDkw Cls8ZmZmZmZmZmY4MTU0ZmE3ZD5dIGlwX3Jjdl9maW5pc2grMHgxMGQvMHgzNzAKWzxmZmZmZmZm ZjgxNTUwMzY1Pl0gaXBfcmN2KzB4MjM1LzB4MzAwCls8ZmZmZmZmZmY4MTUxYmExZD5dIF9fbmV0 aWZfcmVjZWl2ZV9za2IrMHg1NWQvMHg2MjAKWzxmZmZmZmZmZjgxNTFjMzYwPl0gbmV0aWZfcmVj ZWl2ZV9za2IrMHg4MC8weDkwCls8ZmZmZmZmZmY4MTQ1OTkzNT5dIHZpcnRuZXRfcG9sbCsweDU1 NS8weDZmMApbPGZmZmZmZmZmODE1MWNkMDQ+XSBuZXRfcnhfYWN0aW9uKzB4MTM0LzB4MjkwCls8 ZmZmZmZmZmY4MTA2ODNkOD5dIF9fZG9fc29mdGlycSsweGE4LzB4MjEwCls8ZmZmZmZmZmY4MTYy ZmU2Yz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzAKWzxmZmZmZmZmZjgxMDE2MWE1Pl0gZG9fc29m dGlycSsweDY1LzB4YTAKWzxmZmZmZmZmZjgxMDY4N2JlPl0gaXJxX2V4aXQrMHg4ZS8weGIwCls8 ZmZmZmZmZmY4MTYzMDczMz5dIGRvX0lSUSsweDYzLzB4ZTAKWzxmZmZmZmZmZjgxNjI1ZjJlPl0g Y29tbW9uX2ludGVycnVwdCsweDZlLzB4NmUKClJlcG9ydGVkLWJ5OiBBbnVwYW0gQ2hhbmRhIDxh Y2hhbmRhQHZtd2FyZS5jb20+ClNpZ25lZC1vZmYtYnk6IFByYXZpbiBCIFNoZWxhciA8cHNoZWxh ckBuaWNpcmEuY29tPgpBY2tlZC1ieTogVG9tIEhlcmJlcnQgPHRvbUBoZXJiZXJ0bGFuZC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oIHwgICAgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oIGIvaW5jbHVk ZS9saW51eC9za2J1ZmYuaAppbmRleCBhYjMxMzM3Li5mYTlkNjEyIDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L3NrYnVmZi5oCisrKyBiL2luY2x1ZGUvbGludXgvc2tidWZmLmgKQEAgLTIzNDcs NiArMjM0Nyw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBza2JfcG9zdHB1bGxfcmNzdW0oc3RydWN0 IHNrX2J1ZmYgKnNrYiwKIHsKIAlpZiAoc2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fQ09NUExF VEUpCiAJCXNrYi0+Y3N1bSA9IGNzdW1fc3ViKHNrYi0+Y3N1bSwgY3N1bV9wYXJ0aWFsKHN0YXJ0 LCBsZW4sIDApKTsKKwllbHNlIGlmIChza2ItPmlwX3N1bW1lZCA9PSBDSEVDS1NVTV9QQVJUSUFM ICYmCisJCSBza2JfY2hlY2tzdW1fc3RhcnRfb2Zmc2V0KHNrYikgPD0gbGVuKQorCQlza2ItPmlw X3N1bW1lZCA9IENIRUNLU1VNX05PTkU7CiB9CiAKIHVuc2lnbmVkIGNoYXIgKnNrYl9wdWxsX3Jj c3VtKHN0cnVjdCBza19idWZmICpza2IsIHVuc2lnbmVkIGludCBsZW4pOwotLSAKMS43LjEwLjQK CgpGcm9tIGNlYTE2Y2ViNmI0N2QwZWNlMzY5MWJjZGI1ZTVjYmQwOTBkMDZiNGUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFByYXZpbiBCIFNoZWxhciA8cHNoZWxhckBuaWNpcmEuY29t PgpEYXRlOiBNb24sIDI4IFNlcCAyMDE1IDE3OjI0OjI1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAw Ni8xMV0gc2tidWZmOiBGaXggc2tiIGNoZWNrc3VtIHBhcnRpYWwgY2hlY2suCgpbIFVwc3RyZWFt IGNvbW1pdCAzMWIzM2RmYjBhMTQ0NDY5ZGQ4MDU1MTRjOWU2M2Y0OTkzNzI5YTQ4IF0KCkVhcmxp ZXIgcGF0Y2ggNmFlNDU5YmRhIHRyaWVkIHRvIGRldGVjdCB2b2lkIGNrZWNrc3VtIHBhcnRpYWwK c2tiIGJ5IGNvbXBhcmluZyBwdWxsIGxlbmd0aCB0byBjaGVja3N1bSBvZmZzZXQuIEJ1dCBpdCBk b2VzCm5vdCB3b3JrIGZvciBhbGwgY2FzZXMgc2luY2UgY2hlY2tzdW0tb2Zmc2V0IGRlcGVuZHMg b24KdXBkYXRlcyB0byBza2ItPmRhdGEuCgpGb2xsb3dpbmcgcGF0Y2ggZml4ZXMgaXQgYnkgdmFs aWRhdGluZyBjaGVja3N1bSBzdGFydCBvZmZzZXQKYWZ0ZXIgc2tiLWRhdGEgcG9pbnRlciBpcyB1 cGRhdGVkLiBOZWdhdGl2ZSB2YWx1ZSBvZiBjaGVja3N1bQpvZmZzZXQgc3RhcnQgbWVhbnMgdGhl cmUgaXMgbm8gbmVlZCB0byBjaGVja3N1bS4KCkZpeGVzOiA2YWU0NTliZGEgKCJza2J1ZmY6IEZp eCBza2IgY2hlY2tzdW0gZmxhZyBvbiBza2IgcHVsbCIpClJlcG9ydGVkLWJ5OiBBbmRyZXcgVmFn aW4gPGF2YWdpbkBvZGluLmNvbT4KU2lnbmVkLW9mZi1ieTogUHJhdmluIEIgU2hlbGFyIDxwc2hl bGFyQG5pY2lyYS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oIHwgICAgMiArLQogbmV0L2Nv cmUvc2tidWZmLmMgICAgICB8ICAgIDkgKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3Nr YnVmZi5oIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaAppbmRleCBmYTlkNjEyLi5kOGJlYzQ3IDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCisrKyBiL2luY2x1ZGUvbGludXgvc2ti dWZmLmgKQEAgLTIzNDgsNyArMjM0OCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBza2JfcG9zdHB1 bGxfcmNzdW0oc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAlpZiAoc2tiLT5pcF9zdW1tZWQgPT0gQ0hF Q0tTVU1fQ09NUExFVEUpCiAJCXNrYi0+Y3N1bSA9IGNzdW1fc3ViKHNrYi0+Y3N1bSwgY3N1bV9w YXJ0aWFsKHN0YXJ0LCBsZW4sIDApKTsKIAllbHNlIGlmIChza2ItPmlwX3N1bW1lZCA9PSBDSEVD S1NVTV9QQVJUSUFMICYmCi0JCSBza2JfY2hlY2tzdW1fc3RhcnRfb2Zmc2V0KHNrYikgPD0gbGVu KQorCQkgc2tiX2NoZWNrc3VtX3N0YXJ0X29mZnNldChza2IpIDwgMCkKIAkJc2tiLT5pcF9zdW1t ZWQgPSBDSEVDS1NVTV9OT05FOwogfQogCmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1ZmYuYyBi L25ldC9jb3JlL3NrYnVmZi5jCmluZGV4IDgyMDdmOGQuLjM2NmY3ZmYgMTAwNjQ0Ci0tLSBhL25l dC9jb3JlL3NrYnVmZi5jCisrKyBiL25ldC9jb3JlL3NrYnVmZi5jCkBAIC0yODYyLDExICsyODYy LDEyIEBAIEVYUE9SVF9TWU1CT0woc2tiX2FwcGVuZF9kYXRhdG9fZnJhZ3MpOwogICovCiB1bnNp Z25lZCBjaGFyICpza2JfcHVsbF9yY3N1bShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBp bnQgbGVuKQogeworCXVuc2lnbmVkIGNoYXIgKmRhdGEgPSBza2ItPmRhdGE7CisKIAlCVUdfT04o bGVuID4gc2tiLT5sZW4pOwotCXNrYi0+bGVuIC09IGxlbjsKLQlCVUdfT04oc2tiLT5sZW4gPCBz a2ItPmRhdGFfbGVuKTsKLQlza2JfcG9zdHB1bGxfcmNzdW0oc2tiLCBza2ItPmRhdGEsIGxlbik7 Ci0JcmV0dXJuIHNrYi0+ZGF0YSArPSBsZW47CisJX19za2JfcHVsbChza2IsIGxlbik7CisJc2ti X3Bvc3RwdWxsX3Jjc3VtKHNrYiwgZGF0YSwgbGVuKTsKKwlyZXR1cm4gc2tiLT5kYXRhOwogfQog RVhQT1JUX1NZTUJPTF9HUEwoc2tiX3B1bGxfcmNzdW0pOwogCi0tIAoxLjcuMTAuNAoKCkZyb20g NjQ2ODA5Njc0MDE1NTdkNjQzMmFkMmE5MmYxYWJhNTEyY2I2YzJhMyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBU dWUsIDI5IFNlcCAyMDE1IDE4OjUyOjI1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gbmV0 OiBhZGQgcGZtZW1hbGxvYyBjaGVjayBpbiBza19hZGRfYmFja2xvZygpCgpbIFVwc3RyZWFtIGNv bW1pdCBjN2M0OWI4ZmRlMjZiNzQyNzcxODhiZGM2YzlkY2EzOGRiNmZhMzViIF0KCkdyZWcgcmVw b3J0ZWQgY3Jhc2hlcyBoaXR0aW5nIHRoZSBmb2xsb3dpbmcgY2hlY2sgaW4gX19za19iYWNrbG9n X3JjdigpCgoJQlVHX09OKCFzb2NrX2ZsYWcoc2ssIFNPQ0tfTUVNQUxMT0MpKTsKClRoZSBwZm1l bWFsbG9jIGJpdCBpcyBjdXJyZW50bHkgY2hlY2tlZCBpbiBza19maWx0ZXIoKS4KClRoaXMgd29y a3MgY29ycmVjdGx5IGZvciBUQ1AsIGJlY2F1c2Ugc2tfZmlsdGVyKCkgaXMgcmFuIGluCnRjcF92 WzQ2XV9yY3YoKSBiZWZvcmUgaGl0dGluZyB0aGUgcHJlcXVldWUgb3IgYmFja2xvZyBjaGVja3Mu CgpGb3IgVURQIG9yIG90aGVyIHByb3RvY29scywgdGhpcyBkb2VzIG5vdCB3b3JrLCBiZWNhdXNl IHRoZSBza19maWx0ZXIoKQppcyByYW4gZnJvbSBzb2NrX3F1ZXVlX3Jjdl9za2IoKSwgd2hpY2gg bWlnaHQgYmUgY2FsbGVkIF9hZnRlcl8gYmFja2xvZwpxdWV1aW5nIGlmIHNvY2tldCBpcyBvd25l ZCBieSB1c2VyIGJ5IHRoZSB0aW1lIHBhY2tldCBpcyBwcm9jZXNzZWQgYnkKc29mdGlycSBoYW5k bGVyLgoKRml4ZXM6IGI0YjllMzU1ODUwODkgKCJuZXR2bTogc2V0IFBGX01FTUFMTE9DIGFzIGFw cHJvcHJpYXRlIGR1cmluZyBTS0IgcHJvY2Vzc2luZyIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IEdyZWcgVGhlbGVuIDxndGhl bGVuQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL25ldC9zb2NrLmggfCAgICA4ICsrKysrKysrCiAxIGZp bGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvc29j ay5oIGIvaW5jbHVkZS9uZXQvc29jay5oCmluZGV4IDBjNzlhNzQuLmZmNGY4MjUgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbmV0L3NvY2suaAorKysgYi9pbmNsdWRlL25ldC9zb2NrLmgKQEAgLTgwNSw2 ICs4MDUsMTQgQEAgc3RhdGljIGlubGluZSBfX211c3RfY2hlY2sgaW50IHNrX2FkZF9iYWNrbG9n KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnMKIAlpZiAoc2tfcmN2cXVldWVzX2Z1 bGwoc2ssIHNrYiwgbGltaXQpKQogCQlyZXR1cm4gLUVOT0JVRlM7CiAKKwkvKgorCSAqIElmIHRo ZSBza2Igd2FzIGFsbG9jYXRlZCBmcm9tIHBmbWVtYWxsb2MgcmVzZXJ2ZXMsIG9ubHkKKwkgKiBh bGxvdyBTT0NLX01FTUFMTE9DIHNvY2tldHMgdG8gdXNlIGl0IGFzIHRoaXMgc29ja2V0IGlzCisJ ICogaGVscGluZyBmcmVlIG1lbW9yeQorCSAqLworCWlmIChza2JfcGZtZW1hbGxvYyhza2IpICYm ICFzb2NrX2ZsYWcoc2ssIFNPQ0tfTUVNQUxMT0MpKQorCQlyZXR1cm4gLUVOT01FTTsKKwogCV9f c2tfYWRkX2JhY2tsb2coc2ssIHNrYik7CiAJc2stPnNrX2JhY2tsb2cubGVuICs9IHNrYi0+dHJ1 ZXNpemU7CiAJcmV0dXJuIDA7Ci0tIAoxLjcuMTAuNAoKCkZyb20gNWEwZmE0MzBiZmU2MzZlY2Zh NjYyMTg1YjI4M2I4ZGQzYzVmMjM0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogR3Vp bGxhdW1lIE5hdWx0IDxnLm5hdWx0QGFscGhhbGluay5mcj4KRGF0ZTogV2VkLCAzMCBTZXAgMjAx NSAxMTo0NTozMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTFdIHBwcDogZG9uJ3Qgb3ZlcnJp ZGUgc2stPnNrX3N0YXRlIGluIHBwcG9lX2ZsdXNoX2RldigpCgpbIFVwc3RyZWFtIGNvbW1pdCBl Njc0MDE2NWI4ZjdmMDZkOGNhZWUwZmNlYWIzZmI5ZDc5MGE2ZmVkIF0KClNpbmNlIGNvbW1pdCAy YjAxOGQ1N2ZmMTggKCJwcHBvZTogZHJvcCBQUFBPWF9aT01CSUVzIGluIHBwcG9lX3JlbGVhc2Ui KSwKcHBwb2VfcmVsZWFzZSgpIGNhbGxzIGRldl9wdXQocG8tPnBwcG9lX2RldikgaWYgc2sgaXMg aW4gdGhlClBQUE9YX1pPTUJJRSBzdGF0ZS4gQnV0IHBwcG9lX2ZsdXNoX2RldigpIGNhbiBzZXQg c2stPnNrX3N0YXRlIHRvClBQUE9YX1pPTUJJRSBfYW5kXyByZXNldCBwby0+cHBwb2VfZGV2IHRv IE5VTEwuIFRoaXMgbGVhZHMgdG8gdGhlCmZvbGxvd2luZyBvb3BzOgoKWyAgNTcwLjE0MDgwMF0g QlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQg MDAwMDAwMDAwMDAwMDRlMApbICA1NzAuMTQyOTMxXSBJUDogWzxmZmZmZmZmZmEwMThjNzAxPl0g cHBwb2VfcmVsZWFzZSsweDUwLzB4MTAxIFtwcHBvZV0KWyAgNTcwLjE0NDYwMV0gUEdEIDNkMTE5 MDY3IFBVRCAzZGJjMTA2NyBQTUQgMApbICA1NzAuMTQ0NjAxXSBPb3BzOiAwMDAwIFsjMV0gU01Q ClsgIDU3MC4xNDQ2MDFdIE1vZHVsZXMgbGlua2VkIGluOiBsMnRwX3BwcCBsMnRwX25ldGxpbmsg bDJ0cF9jb3JlIGlwNl91ZHBfdHVubmVsIHVkcF90dW5uZWwgcHBwb2UgcHBwb3ggcHBwX2dlbmVy aWMgc2xoYyBsb29wIGNyYzMyY19pbnRlbCBnaGFzaF9jbG11bG5pX2ludGVsIGppdHRlcmVudHJv cHlfcm5nIHNoYTI1Nl9nZW5lcmljIGhtYWMgZHJiZyBhbnNpX2Nwcm5nIGFlc25pX2ludGVsIGFl c194ODZfNjQgYWJsa19oZWxwZXIgY3J5cHRkIGxydyBnZjEyOG11bCBnbHVlX2hlbHBlciBhY3Bp X2NwdWZyZXEgZXZkZXYgc2VyaW9fcmF3IHByb2Nlc3NvciBidXR0b24gZXh0NCBjcmMxNiBtYmNh Y2hlIGpiZDIgdmlydGlvX25ldCB2aXJ0aW9fYmxrIHZpcnRpb19wY2kgdmlydGlvX3Jpbmcgdmly dGlvClsgIDU3MC4xNDQ2MDFdIENQVTogMSBQSUQ6IDE1NzM4IENvbW06IHBwcC1hcGl0ZXN0IE5v dCB0YWludGVkIDQuMi4wICMxClsgIDU3MC4xNDQ2MDFdIEhhcmR3YXJlIG5hbWU6IFFFTVUgU3Rh bmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TIERlYmlhbi0xLjguMi0xIDA0LzAx LzIwMTQKWyAgNTcwLjE0NDYwMV0gdGFzazogZmZmZjg4MDAzZDMwZDYwMCB0aTogZmZmZjg4MDAz NmI2MDAwMCB0YXNrLnRpOiBmZmZmODgwMDM2YjYwMDAwClsgIDU3MC4xNDQ2MDFdIFJJUDogMDAx MDpbPGZmZmZmZmZmYTAxOGM3MDE+XSAgWzxmZmZmZmZmZmEwMThjNzAxPl0gcHBwb2VfcmVsZWFz ZSsweDUwLzB4MTAxIFtwcHBvZV0KWyAgNTcwLjE0NDYwMV0gUlNQOiAwMDE4OmZmZmY4ODAwMzZi NjNlMDggIEVGTEFHUzogMDAwMTAyMDIKWyAgNTcwLjE0NDYwMV0gUkFYOiAwMDAwMDAwMDAwMDAw MDAwIFJCWDogZmZmZjg4MDAzNDM0MDAwMCBSQ1g6IDAwMDAwMDAwMDAwMDAyMDYKWyAgNTcwLjE0 NDYwMV0gUkRYOiAwMDAwMDAwMDAwMDAwMDA2IFJTSTogZmZmZjg4MDAzZDMwZGQyMCBSREk6IGZm ZmY4ODAwM2QzMGRkMjAKWyAgNTcwLjE0NDYwMV0gUkJQOiBmZmZmODgwMDM2YjYzZTI4IFIwODog MDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNTcwLjE0NDYwMV0gUjEw OiAwMDAwN2ZmZWU5YjUwNDIwIFIxMTogZmZmZjg4MDAzNDM0MDA3OCBSMTI6IGZmZmY4ODAwMzg3 ZWM3ODAKWyAgNTcwLjE0NDYwMV0gUjEzOiBmZmZmODgwMDM4N2VjN2IwIFIxNDogZmZmZjg4MDAz ZTIyMmFhMCBSMTU6IGZmZmY4ODAwMzg3ZWM3YjAKWyAgNTcwLjE0NDYwMV0gRlM6ICAwMDAwN2Y1 NjcyZjQ4NzAwKDAwMDApIEdTOmZmZmY4ODAwM2ZjODAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAw MDAwMDAwMApbICA1NzAuMTQ0NjAxXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAw MDAwMDAwMDgwMDUwMDMzClsgIDU3MC4xNDQ2MDFdIENSMjogMDAwMDAwMDAwMDAwMDRlMCBDUjM6 IDAwMDAwMDAwMzdmN2UwMDAgQ1I0OiAwMDAwMDAwMDAwMDQwNmEwClsgIDU3MC4xNDQ2MDFdIFN0 YWNrOgpbICA1NzAuMTQ0NjAxXSAgZmZmZmZmZmZhMDE4ZjI0MCBmZmZmODgwMDM4N2VjNzgwIGZm ZmZmZmZmYTAxOGYyNDAgZmZmZjg4MDAzODdlYzdiMApbICA1NzAuMTQ0NjAxXSAgZmZmZjg4MDAz NmI2M2U0OCBmZmZmZmZmZjgxMmNhYWJlIGZmZmY4ODAwMzllNGUwMDAgMDAwMDAwMDAwMDAwMDAw OApbICA1NzAuMTQ0NjAxXSAgZmZmZjg4MDAzNmI2M2U1OCBmZmZmZmZmZjgxMmNhYmFkIGZmZmY4 ODAwMzZiNjNlYTggZmZmZmZmZmY4MTEzNDdmNQpbICA1NzAuMTQ0NjAxXSBDYWxsIFRyYWNlOgpb ICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZmZjgxMmNhYWJlPl0gc29ja19yZWxlYXNlKzB4MWEvMHg3 NQpbICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZmZjgxMmNhYmFkPl0gc29ja19jbG9zZSsweGQvMHgx MQpbICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZmZjgxMTM0N2Y1Pl0gX19mcHV0KzB4ZmYvMHgxYTUK WyAgNTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTEzNDhjYj5dIF9fX19mcHV0KzB4OS8weGIKWyAg NTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTA1NjY4Mj5dIHRhc2tfd29ya19ydW4rMHg2Ni8weDkw ClsgIDU3MC4xNDQ2MDFdICBbPGZmZmZmZmZmODEwMDE4OWU+XSBwcmVwYXJlX2V4aXRfdG9fdXNl cm1vZGUrMHg4Yy8weGE3ClsgIDU3MC4xNDQ2MDFdICBbPGZmZmZmZmZmODEwMDFhMjY+XSBzeXNj YWxsX3JldHVybl9zbG93cGF0aCsweDE2ZC8weDE5YgpbICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZm ZjgxM2JhYmIxPl0gaW50X3JldF9mcm9tX3N5c19jYWxsKzB4MjUvMHg5ZgpbICA1NzAuMTQ0NjAx XSBDb2RlOiA0OCA4YiA4MyBjOCAwMSAwMCAwMCBhOCAwMSA3NCAxMiA0OCA4OSBkZiBlOCA4YiAy NyAxNCBlMSBiOCBmNyBmZiBmZiBmZiBlOSBiNyAwMCAwMCAwMCA4YSA0MyAxMiBhOCAwYiA3NCAx YyA0OCA4YiA4MyBhOCAwNCAwMCAwMCA8NDg+IDhiIDgwIGUwIDA0IDAwIDAwIDY1IGZmIDA4IDQ4 IGM3IDgzIGE4IDA0IDAwIDAwIDAwIDAwIDAwIDAwClsgIDU3MC4xNDQ2MDFdIFJJUCAgWzxmZmZm ZmZmZmEwMThjNzAxPl0gcHBwb2VfcmVsZWFzZSsweDUwLzB4MTAxIFtwcHBvZV0KWyAgNTcwLjE0 NDYwMV0gIFJTUCA8ZmZmZjg4MDAzNmI2M2UwOD4KWyAgNTcwLjE0NDYwMV0gQ1IyOiAwMDAwMDAw MDAwMDAwNGUwClsgIDU3MC4yMDA1MThdIC0tLVsgZW5kIHRyYWNlIDQ2OTU2YmFmMTczNDk1NjMg XS0tLQoKcHBwb2VfZmx1c2hfZGV2KCkgaGFzIG5vIHJlYXNvbiB0byBvdmVycmlkZSBzay0+c2tf c3RhdGUgd2l0aApQUFBPWF9aT01CSUUuIHBwcG94X3VuYmluZF9zb2NrKCkgYWxyZWFkeSBzZXRz IHNrLT5za19zdGF0ZSB0bwpQUFBPWF9ERUFELCB3aGljaCBpcyB0aGUgY29ycmVjdCBzdGF0ZSBn aXZlbiB0aGF0IHNrIGlzIHVuYm91bmQgYW5kCnBvLT5wcHBvZV9kZXYgaXMgTlVMTC4KCkZpeGVz OiAyYjAxOGQ1N2ZmMTggKCJwcHBvZTogZHJvcCBQUFBPWF9aT01CSUVzIGluIHBwcG9lX3JlbGVh c2UiKQpUZXN0ZWQtYnk6IE9sZWtzaWkgQmVyZXpobmlhayA8Y29yZUBpcmMubGcudWE+ClNpZ25l ZC1vZmYtYnk6IEd1aWxsYXVtZSBOYXVsdCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJz L25ldC9wcHAvcHBwb2UuYyB8ICAgIDEgLQogMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9wcHAvcHBwb2UuYyBiL2RyaXZlcnMvbmV0L3BwcC9w cHBvZS5jCmluZGV4IDZjOWMxNmQuLmY2MDZiNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Bw cC9wcHBvZS5jCisrKyBiL2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jCkBAIC0zMTMsNyArMzEzLDYg QEAgc3RhdGljIHZvaWQgcHBwb2VfZmx1c2hfZGV2KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJ CQlpZiAocG8tPnBwcG9lX2RldiA9PSBkZXYgJiYKIAkJCSAgICBzay0+c2tfc3RhdGUgJiAoUFBQ T1hfQ09OTkVDVEVEIHwgUFBQT1hfQk9VTkQgfCBQUFBPWF9aT01CSUUpKSB7CiAJCQkJcHBwb3hf dW5iaW5kX3NvY2soc2spOwotCQkJCXNrLT5za19zdGF0ZSA9IFBQUE9YX1pPTUJJRTsKIAkJCQlz ay0+c2tfc3RhdGVfY2hhbmdlKHNrKTsKIAkJCQlwby0+cHBwb2VfZGV2ID0gTlVMTDsKIAkJCQlk ZXZfcHV0KGRldik7Ci0tIAoxLjcuMTAuNAoKCkZyb20gZjIxMDcwN2MzMzkwNTUwYWRmMDUwZGMx ZGU4ZDc1N2YzZGM1M2I0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9lIFBlcmNo ZXMgPGpvZUBwZXJjaGVzLmNvbT4KRGF0ZTogV2VkLCAxNCBPY3QgMjAxNSAwMTowOTo0MCAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIGV0aHRvb2w6IFVzZSBrY2FsbG9jIGluc3RlYWQgb2Yg a21hbGxvYyBmb3IKIGV0aHRvb2xfZ2V0X3N0cmluZ3MKClsgVXBzdHJlYW0gY29tbWl0IDA3N2Ni MzdmY2Y2ZjAwYTQ1ZjM3NTE2MTIwMGI1ZWUwY2Q0ZTkzN2IgXQoKSXQgc2VlbXMgdGhhdCBrZXJu ZWwgbWVtb3J5IGNhbiBsZWFrIGludG8gdXNlcnNwYWNlIGJ5IGEKa21hbGxvYywgZXRodG9vbF9n ZXRfc3RyaW5ncywgdGhlbiBjb3B5X3RvX3VzZXIgc2VxdWVuY2UuCgpBdm9pZCB0aGlzIGJ5IHVz aW5nIGtjYWxsb2MgdG8gemVybyBmaWxsIHRoZSBjb3BpZWQgYnVmZmVyLgoKU2lnbmVkLW9mZi1i eTogSm9lIFBlcmNoZXMgPGpvZUBwZXJjaGVzLmNvbT4KQWNrZWQtYnk6IEJlbiBIdXRjaGluZ3Mg PGJlbkBkZWNhZGVudC5vcmcudWs+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9ldGh0b29sLmMgfCAgICAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9u ZXQvY29yZS9ldGh0b29sLmMgYi9uZXQvY29yZS9ldGh0b29sLmMKaW5kZXggMzAwNzFkZS4uMGIz OWFiNiAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZXRodG9vbC5jCisrKyBiL25ldC9jb3JlL2V0aHRv b2wuYwpAQCAtMTA4MCw3ICsxMDgwLDcgQEAgc3RhdGljIGludCBldGh0b29sX2dldF9zdHJpbmdz KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHZvaWQgX191c2VyICp1c2VyYWRkcikKIAogCWdzdHJp bmdzLmxlbiA9IHJldDsKIAotCWRhdGEgPSBrbWFsbG9jKGdzdHJpbmdzLmxlbiAqIEVUSF9HU1RS SU5HX0xFTiwgR0ZQX1VTRVIpOworCWRhdGEgPSBrY2FsbG9jKGdzdHJpbmdzLmxlbiwgRVRIX0dT VFJJTkdfTEVOLCBHRlBfVVNFUik7CiAJaWYgKCFkYXRhKQogCQlyZXR1cm4gLUVOT01FTTsKIAot LSAKMS43LjEwLjQKCgpGcm9tIDUxYTU4NDQxNmNhM2FlY2EzMGIyNjI3NWUzYjhkZDRlZmQ0MDlj NjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hlbCBTdGFtIDxtLnN0YW1AZnVn cm8ubmw+CkRhdGU6IFRodSwgMiBPY3QgMjAxNCAxMDoyMjowMiArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMTAvMTFdIGFzaXg6IERvbid0IHJlc2V0IFBIWSBvbiBpZl91cCBmb3IgQVNJWCA4ODc3MgoK WyBVcHN0cmVhbSBjb21taXQgM2NjODFkODVlZTAxZTVhMGI3ZWEyZjQxOTBlMmVkMTE2NWY1M2Mz MSBdCgpJJ3ZlIG5vdGljZWQgZXZlcnkgdGltZSB0aGUgaW50ZXJmYWNlIGlzIHNldCB0byAndXAs JywgdGhlIGtlcm5lbApyZXBvcnRzIHRoYXQgdGhlIGxpbmsgc3BlZWQgaXMgc2V0IHRvIDEwMCBN YnBzL0Z1bGwgRHVwbGV4LCBldmVuCndoZW4gZXRodG9vbCBpcyB1c2VkIHRvIHNldCBhdXRvbmVn b3RpYXRpb24gdG8gJ29mZicsIGhhbGYKZHVwbGV4LCAxMCBNYnBzLgpJdCBjYW4gYmUgdGVzdGVk IGJ5OgogaWZjb25maWcgZXRoMCBkb3duCiBldGh0b29sIC1zIGV0aDAgYXV0b25lZyBvZmYgc3Bl ZWQgMTAgZHVwbGV4IGhhbGYKIGlmY29uZmlnIGV0aDAgdXAKClRoZW4gY2hlY2tpbmcgJ2RtZXNn JyBmb3IgdGhlIGxpbmsgc3BlZWQuCgpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgU3RhbSA8bS5zdGFt QGZ1Z3JvLm5sPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jIHwgICAgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jIGIvZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2 aWNlcy5jCmluZGV4IDVkMTk0MDkuLjJjMDVmNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Vz Yi9hc2l4X2RldmljZXMuYworKysgYi9kcml2ZXJzL25ldC91c2IvYXNpeF9kZXZpY2VzLmMKQEAg LTg5MCw3ICs4OTAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRyaXZlcl9pbmZvIGF4ODg3NzJf aW5mbyA9IHsKIAkudW5iaW5kID0gYXg4ODc3Ml91bmJpbmQsCiAJLnN0YXR1cyA9IGFzaXhfc3Rh dHVzLAogCS5saW5rX3Jlc2V0ID0gYXg4ODc3Ml9saW5rX3Jlc2V0LAotCS5yZXNldCA9IGF4ODg3 NzJfcmVzZXQsCisJLnJlc2V0ID0gYXg4ODc3Ml9saW5rX3Jlc2V0LAogCS5mbGFncyA9IEZMQUdf RVRIRVIgfCBGTEFHX0ZSQU1JTkdfQVggfCBGTEFHX0xJTktfSU5UUiB8IEZMQUdfTVVMVElfUEFD S0VULAogCS5yeF9maXh1cCA9IGFzaXhfcnhfZml4dXBfY29tbW9uLAogCS50eF9maXh1cCA9IGFz aXhfdHhfZml4dXAsCi0tIAoxLjcuMTAuNAoKCkZyb20gZGRiNWJkOTk1ZTBmOWVlNGUzMjdlYjlk Nzg1MTdiNDVlZWJkMzRlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ2hhcmxlcyBL ZWVwYXggPGNrZWVwYXhAb3BlbnNvdXJjZS53b2xmc29ubWljcm8uY29tPgpEYXRlOiBUaHUsIDYg Tm92IDIwMTQgMTU6NDk6NDEgKzAwMDAKU3ViamVjdDogW1BBVENIIDExLzExXSBhc2l4OiBEbyBm dWxsIHJlc2V0IGR1cmluZyBheDg4NzcyX2JpbmQKClsgVXBzdHJlYW0gY29tbWl0IDQzNmMyYTUw MzZiNmZmZTgxMzMxMGRmMmNmMzI3ZDNiNjliZTA3MzQgXQoKY29tbWl0IDNjYzgxZDg1ZWUwMSAo ImFzaXg6IERvbid0IHJlc2V0IFBIWSBvbiBpZl91cCBmb3IgQVNJWCA4ODc3MiIpCmNhdXNlcyB0 aGUgZXRoZXJuZXQgb24gQXJuZGFsZSB0byBubyBsb25nZXIgZnVuY3Rpb24uIFRoaXMgYXBwZWFy cyB0bwpiZSBiZWNhdXNlIHRoZSBBcm5kYWxlIGV0aGVybmV0IHJlcXVpcmVzIGEgZnVsbCByZXNl dCBiZWZvcmUgaXQgd2lsbApmdW5jdGlvbiBjb3JyZWN0bHksIGhvd2V2ZXIgc2ltcGx5IHJldmVy dGluZyB0aGUgYWJvdmUgcGF0Y2ggY2F1c2VzCnByb2JsZW1zIHdpdGggZXRodG9vbCBzZXR0aW5n cyBnZXR0aW5nIHJlc2V0LgoKSXQgc2VlbXMgdGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgZXRoZXJu ZXQgaXMgbm90IHByb3Blcmx5IHJlc2V0IGR1cmluZwpiaW5kLCBhbmQgaW5kZWVkIHRoZSBjb2Rl IGluIGF4ODg3NzJfYmluZCB0aGF0IHJlc2V0cyB0aGUgZGV2aWNlIGlzIGEKdmVyeSBzbWFsbCBz dWJzZXQgb2YgdGhlIGFjdHVhbCBheDg4NzcyX3Jlc2V0IGZ1bmN0aW9uLiBUaGlzIHBhdGNoIHVz ZXMKYXg4ODc3Ml9yZXNldCBpbiBwbGFjZSBvZiB0aGUgZXhpc3RpbmcgcmVzZXQgY29kZSBpbiBh eDg4NzcyX2JpbmQgd2hpY2gKcmVtb3ZlcyBzb21lIGNvZGUgZHVwbGljYXRpb24gYW5kIGZpeGVz IHRoZSBldGhlcm5ldCBvbiBBcm5kYWxlLgoKSXQgaXMgc3RpbGwgcG9zc2libGUgdGhhdCB0aGUg b3JpZ2luYWwgcGF0Y2ggY2F1c2VzIHNvbWUgaXNzdWVzIHdpdGgKc3VzcGVuZCBhbmQgcmVzdW1l IGJ1dCB0aGF0IHNlZW1zIGxpa2UgYSBzZXBhcmF0ZSBpc3N1ZSBhbmQgSSBoYXZlbid0CmhhZCBh IGNoYW5jZSB0byB0ZXN0IHRoYXQgeWV0LgoKU2lnbmVkLW9mZi1ieTogQ2hhcmxlcyBLZWVwYXgg PGNrZWVwYXhAb3BlbnNvdXJjZS53b2xmc29ubWljcm8uY29tPgpUZXN0ZWQtYnk6IFJpa3UgVm9p cGlvIDxyaWt1LnZvaXBpb0BsaW5hcm8ub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2aWNl cy5jIHwgICAxNCArLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvYXNpeF9kZXZp Y2VzLmMgYi9kcml2ZXJzL25ldC91c2IvYXNpeF9kZXZpY2VzLmMKaW5kZXggMmMwNWY2Yy4uODE2 ZDUxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FzaXhfZGV2aWNlcy5jCisrKyBiL2Ry aXZlcnMvbmV0L3VzYi9hc2l4X2RldmljZXMuYwpAQCAtNDY1LDE5ICs0NjUsNyBAQCBzdGF0aWMg aW50IGF4ODg3NzJfYmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNl ICppbnRmKQogCQlyZXR1cm4gcmV0OwogCX0KIAotCXJldCA9IGFzaXhfc3dfcmVzZXQoZGV2LCBB WF9TV1JFU0VUX0lQUEQgfCBBWF9TV1JFU0VUX1BSTCk7Ci0JaWYgKHJldCA8IDApCi0JCXJldHVy biByZXQ7Ci0KLQltc2xlZXAoMTUwKTsKLQotCXJldCA9IGFzaXhfc3dfcmVzZXQoZGV2LCBBWF9T V1JFU0VUX0NMRUFSKTsKLQlpZiAocmV0IDwgMCkKLQkJcmV0dXJuIHJldDsKLQotCW1zbGVlcCgx NTApOwotCi0JcmV0ID0gYXNpeF9zd19yZXNldChkZXYsIGVtYmRfcGh5ID8gQVhfU1dSRVNFVF9J UFJMIDogQVhfU1dSRVNFVF9QUlRFKTsKKwlheDg4NzcyX3Jlc2V0KGRldik7CiAKIAkvKiBSZWFk IFBIWUlEIHJlZ2lzdGVyICpBRlRFUiogdGhlIFBIWSB3YXMgcmVzZXQgcHJvcGVybHkgKi8KIAlw aHlpZCA9IGFzaXhfZ2V0X3BoeWlkKGRldik7Ci0tIAoxLjcuMTAuNAoK ----Next_Part(Tue_Oct_20_20_51_10_2015_504)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_318.mbox" RnJvbSBiNzk1YjY2MGMxY2E1MTkyMTI0MzE3M2YyYjljNmEyNmJmMTZlOTIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQ291emVucyA8bHlueGlzQGZlODAuZXU+CkRh dGU6IE1vbiwgMjggU2VwIDIwMTUgMTE6MzI6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzEx XSBsMnRwOiBwcm90ZWN0IHR1bm5lbC0+ZGVsX3dvcmsgYnkgcmVmX2NvdW50CgpbIFVwc3RyZWFt IGNvbW1pdCAwNmExNWY1MWNmMzYxOGUzMmE3Mzg3MWVlNmE1NDdlZjdmZDkwMmI1IF0KClRoZXJl IGlzIGEgc21hbGwgY2hhbmNlIHRoYXQgdHVubmVsX2ZyZWUoKSBpcyBjYWxsZWQgYmVmb3JlIHR1 bm5lbC0+ZGVsX3dvcmsgc2NoZWR1bGVkCnJlc3VsdGluZyBpbiBhIHplcm8gcG9pbnRlciBkZXJl ZmVyZW5jZS4KClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBDb3V6ZW5zIDxseW54aXNAZmU4MC5l dT4KQWNrZWQtYnk6IEphbWVzIENoYXBtYW4gPGpjaGFwbWFuQGthdGFsaXguY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2wy dHAvbDJ0cF9jb3JlLmMgfCAgIDExICsrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9sMnRwL2wydHBfY29y ZS5jIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKaW5kZXggODk1MzQ4ZS4uNTA4MTU0YSAxMDA2NDQK LS0tIGEvbmV0L2wydHAvbDJ0cF9jb3JlLmMKKysrIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKQEAg LTEzMTksNyArMTMxOSw3IEBAIHN0YXRpYyB2b2lkIGwydHBfdHVubmVsX2RlbF93b3JrKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykKIAl0dW5uZWwgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0 IGwydHBfdHVubmVsLCBkZWxfd29yayk7CiAJc2sgPSBsMnRwX3R1bm5lbF9zb2NrX2xvb2t1cCh0 dW5uZWwpOwogCWlmICghc2spCi0JCXJldHVybjsKKwkJZ290byBvdXQ7CiAKIAlzb2NrID0gc2st PnNrX3NvY2tldDsKIApAQCAtMTM0MCw2ICsxMzQwLDggQEAgc3RhdGljIHZvaWQgbDJ0cF90dW5u ZWxfZGVsX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCX0KIAogCWwydHBfdHVubmVs X3NvY2tfcHV0KHNrKTsKK291dDoKKwlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQodHVubmVsKTsK IH0KIAogLyogQ3JlYXRlIGEgc29ja2V0IGZvciB0aGUgdHVubmVsLCBpZiBvbmUgaXNuJ3Qgc2V0 IHVwIGJ5CkBAIC0xNjM5LDggKzE2NDEsMTMgQEAgRVhQT1JUX1NZTUJPTF9HUEwobDJ0cF90dW5u ZWxfY3JlYXRlKTsKICAqLwogaW50IGwydHBfdHVubmVsX2RlbGV0ZShzdHJ1Y3QgbDJ0cF90dW5u ZWwgKnR1bm5lbCkKIHsKKwlsMnRwX3R1bm5lbF9pbmNfcmVmY291bnQodHVubmVsKTsKIAlsMnRw X3R1bm5lbF9jbG9zZWFsbCh0dW5uZWwpOwotCXJldHVybiAoZmFsc2UgPT0gcXVldWVfd29yayhs MnRwX3dxLCAmdHVubmVsLT5kZWxfd29yaykpOworCWlmIChmYWxzZSA9PSBxdWV1ZV93b3JrKGwy dHBfd3EsICZ0dW5uZWwtPmRlbF93b3JrKSkgeworCQlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQo dHVubmVsKTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9H UEwobDJ0cF90dW5uZWxfZGVsZXRlKTsKIAotLSAKMS43LjEwLjQKCgpGcm9tIDkyZmU3MDNiNjM2 N2RiYzA2MjdhYTM4NjVjYzY3NGE2YjdiN2Y0ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpEYXRlOiBTYXQsIDI2IFNlcCAy MDE1IDE4OjUwOjQyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMi8xMV0gYWZfdW5peDogQ29udmVy dCB0aGUgdW5peF9zayBtYWNybyB0byBhbiBpbmxpbmUKIGZ1bmN0aW9uIGZvciB0eXBlIHNhZmV0 eQoKWyBVcHN0cmVhbSBjb21taXQgNDYxMzAxMmRiMWQ5MTFmODA4OTdmOTQ0NmE0OWRlODE3YjJj NGM0NyBdCgpBcyBzdWdnZXN0ZWQgYnkgRXJpYyBEdW1hemV0IHRoaXMgY2hhbmdlIHJlcGxhY2Vz IHRoZQojZGVmaW5lIHdpdGggYSBzdGF0aWMgaW5saW5lIGZ1bmN0aW9uIHRvIGVuam95CmNvbXBs YWludHMgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbWlzdXNpbmcgdGhlIEFQSS4KClNpZ25lZC1vZmYt Ynk6IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvYWZfdW5p eC5oIHwgICAgNiArKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9hZl91bml4LmggYi9pbmNsdWRlL25l dC9hZl91bml4LmgKaW5kZXggYTE3NWJhNC4uZGZlNGRkZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9u ZXQvYWZfdW5peC5oCisrKyBiL2luY2x1ZGUvbmV0L2FmX3VuaXguaApAQCAtNjQsNyArNjQsMTEg QEAgc3RydWN0IHVuaXhfc29jayB7CiAjZGVmaW5lIFVOSVhfR0NfTUFZQkVfQ1lDTEUJMQogCXN0 cnVjdCBzb2NrZXRfd3EJcGVlcl93cTsKIH07Ci0jZGVmaW5lIHVuaXhfc2soX19zaykgKChzdHJ1 Y3QgdW5peF9zb2NrICopX19zaykKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgdW5peF9zb2NrICp1 bml4X3NrKHN0cnVjdCBzb2NrICpzaykKK3sKKwlyZXR1cm4gKHN0cnVjdCB1bml4X3NvY2sgKilz azsKK30KIAogI2RlZmluZSBwZWVyX3dhaXQgcGVlcl93cS53YWl0CiAKLS0gCjEuNy4xMC40CgoK RnJvbSBjYzdhOWRkMDI0OTkyZTYxNjQ0NmI0NjUyMzM1MTVkNzliNGIxMjg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBYXJvbiBDb25vbGUgPGFjb25vbGVAYnl0aGViLm9yZz4KRGF0 ZTogU2F0LCAyNiBTZXAgMjAxNSAxODo1MDo0MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTFd IGFmX3VuaXg6IHJldHVybiBkYXRhIGZyb20gbXVsdGlwbGUgU0tCcyBvbiByZWN2KCkgd2l0aAog TVNHX1BFRUsgZmxhZwoKWyBVcHN0cmVhbSBjb21taXQgOWYzODllMzU2NzRmNWIwODZlZGQ3MGVk NTI0Y2EwZjI4NzI1OTcyNSBdCgpBRl9VTklYIHNvY2tldHMgbm93IHJldHVybiBtdWx0aXBsZSBz a2JzIGZyb20gcmVjdigpIHdoZW4gTVNHX1BFRUsgZmxhZwppcyBzZXQuCgpUaGlzIGlzIHJlZmVy ZW5jZWQgaW4ga2VybmVsIGJ1Z3ppbGxhICMxMjMyMyBACmh0dHBzOi8vYnVnemlsbGEua2VybmVs Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMjMKCkFzIGRlc2NyaWJlZCBib3RoIGluIHRoZSBCWiBh bmQgbGttbCB0aHJlYWQgQApodHRwOi8vbGttbC5vcmcvbGttbC8yMDA4LzEvOC80NDQgY2FsbGlu ZyByZWN2KCkgd2l0aCBNU0dfUEVFSyBvbiBhbgpBRl9VTklYIHNvY2tldCBvbmx5IHJlYWRzIGEg c2luZ2xlIHNrYiwgd2hlcmUgdGhlIGRlc2lyZWQgZWZmZWN0IGlzCnRvIHJldHVybiBhcyBtdWNo IHNrYiBkYXRhIGhhcyBiZWVuIHF1ZXVlZCwgdW50aWwgaGl0dGluZyB0aGUgcmVjdgpidWZmZXIg c2l6ZSAod2hpY2hldmVyIGNvbWVzIGZpcnN0KS4KClRoZSBtb2RpZmllZCBNU0dfUEVFSyBwYXRo IHdpbGwgbm93IG1vdmUgdG8gdGhlIG5leHQgc2tiIGluIHRoZSB0cmVlCmFuZCBqdW1wIHRvIHRo ZSBhZ2FpbjogbGFiZWwsIHJhdGhlciB0aGFuIGZvbGxvd2luZyB0aGUgbmF0dXJhbCBsb29wCnN0 cnVjdHVyZS4gVGhpcyByZXF1aXJlcyBkdXBsaWNhdGluZyBzb21lIG9mIHRoZSBsb29wIGhlYWQg YWN0aW9ucy4KClRoaXMgd2FzIHRlc3RlZCB1c2luZyB0aGUgcHl0aG9uIHNvY2tldHBhaXIgcHl0 aG9uIGNvZGUgYXR0YWNoZWQgdG8KdGhlIGJ1Z3ppbGxhIGlzc3VlLgoKU2lnbmVkLW9mZi1ieTog QWFyb24gQ29ub2xlIDxhY29ub2xlQGJ5dGhlYi5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdW5peC9hZl91bml4LmMgfCAg IDE0ICsrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC91bml4L2FmX3VuaXguYyBiL25ldC91bml4L2Fm X3VuaXguYwppbmRleCA4MjMyMTE4Li4zMGE3MDVlIDEwMDY0NAotLS0gYS9uZXQvdW5peC9hZl91 bml4LmMKKysrIGIvbmV0L3VuaXgvYWZfdW5peC5jCkBAIC0yMDcwLDggKzIwNzAsMjAgQEAgYWdh aW46CiAJCQlpZiAoVU5JWENCKHNrYikuZnApCiAJCQkJc2lvY2ItPnNjbS0+ZnAgPSBzY21fZnBf ZHVwKFVOSVhDQihza2IpLmZwKTsKIAotCQkJc2tfcGVla19vZmZzZXRfZndkKHNrLCBjaHVuayk7 CisJCQlpZiAoc2tpcCkgeworCQkJCXNrX3BlZWtfb2Zmc2V0X2Z3ZChzaywgY2h1bmspOworCQkJ CXNraXAgLT0gY2h1bms7CisJCQl9CisKKwkJCWlmIChVTklYQ0Ioc2tiKS5mcCkKKwkJCQlicmVh azsKIAorCQkJbGFzdCA9IHNrYjsKKwkJCXVuaXhfc3RhdGVfbG9jayhzayk7CisJCQlza2IgPSBz a2JfcGVla19uZXh0KHNrYiwgJnNrLT5za19yZWNlaXZlX3F1ZXVlKTsKKwkJCWlmIChza2IpCisJ CQkJZ290byBhZ2FpbjsKKwkJCXVuaXhfc3RhdGVfdW5sb2NrKHNrKTsKIAkJCWJyZWFrOwogCQl9 CiAJfSB3aGlsZSAoc2l6ZSk7Ci0tIAoxLjcuMTAuNAoKCkZyb20gZDY5MWNkOTgxMWFhYmQwNWQ1 N2JiNzdmZjdmMmY1YmUxYzJmOTFkMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW5k cmV5IFZhZ2luIDxhdmFnaW5Ab3BlbnZ6Lm9yZz4KRGF0ZTogRnJpLCAyIE9jdCAyMDE1IDAwOjA1 OjM2ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gbmV0L3VuaXg6IGZpeCBsb2dpYyBhYm91 dCBza19wZWVrX29mZnNldAoKWyBVcHN0cmVhbSBjb21taXQgZTkxOTNkNjBkMzYzZTRkZmY3NWZm NmQ0M2E0OGYyMmJlMjZkNTljNyBdCgpOb3cgc2VuZCB3aXRoIE1TR19QRUVLIGNhbiByZXR1cm4g ZGF0YSBmcm9tIG11bHRpcGxlIFNLQnMuCgpVbmZvcnR1bmF0ZWx5IHdlIHRha2UgaW50byBhY2Nv dW50IHRoZSBwZWVrIG9mZnNldCBmb3IgZWFjaCBza2IsCnRoYXQgaXMgd3JvbmcuIFdlIG5lZWQg dG8gYXBwbHkgdGhlIHBlZWsgb2Zmc2V0IG9ubHkgb25jZS4KCkluIGFkZGl0aW9uLCB0aGUgcGVl ayBvZmZzZXQgc2hvdWxkIGJlIHVzZWQgb25seSBpZiBNU0dfUEVFSyBpcyBzZXQuCgpDYzogIkRh dmlkIFMuIE1pbGxlciIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+IChtYWludGFpbmVyOk5FVFdPUktJ TkcKQ2M6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4gKGNvbW1pdF9zaWduZXI6 MS8xND03JSkKQ2M6IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpGaXhlczogOWYz ODllMzU2NzRmICgiYWZfdW5peDogcmV0dXJuIGRhdGEgZnJvbSBtdWx0aXBsZSBTS0JzIG9uIHJl Y3YoKSB3aXRoIE1TR19QRUVLIGZsYWciKQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgVmFnaW4gPGF2 YWdpbkBvcGVudnoub3JnPgpUZXN0ZWQtYnk6IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIu b3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L3VuaXgvYWZfdW5peC5jIHwgICAxMiArKysrKysrLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Vu aXgvYWZfdW5peC5jIGIvbmV0L3VuaXgvYWZfdW5peC5jCmluZGV4IDMwYTcwNWUuLjJhZTRhNTkg MTAwNjQ0Ci0tLSBhL25ldC91bml4L2FmX3VuaXguYworKysgYi9uZXQvdW5peC9hZl91bml4LmMK QEAgLTE5NjIsNiArMTk2MiwxMSBAQCBzdGF0aWMgaW50IHVuaXhfc3RyZWFtX3JlY3Ztc2coc3Ry dWN0IGtpb2NiICppb2NiLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLAogCQlnb3RvIG91dDsKIAl9CiAK KwlpZiAoZmxhZ3MgJiBNU0dfUEVFSykKKwkJc2tpcCA9IHNrX3BlZWtfb2Zmc2V0KHNrLCBmbGFn cyk7CisJZWxzZQorCQlza2lwID0gMDsKKwogCWRvIHsKIAkJaW50IGNodW5rOwogCQlzdHJ1Y3Qg c2tfYnVmZiAqc2tiLCAqbGFzdDsKQEAgLTIwMDgsNyArMjAxMyw2IEBAIGFnYWluOgogCQkJYnJl YWs7CiAJCX0KIAotCQlza2lwID0gc2tfcGVla19vZmZzZXQoc2ssIGZsYWdzKTsKIAkJd2hpbGUg KHNraXAgPj0gdW5peF9za2JfbGVuKHNrYikpIHsKIAkJCXNraXAgLT0gdW5peF9za2JfbGVuKHNr Yik7CiAJCQlsYXN0ID0gc2tiOwpAQCAtMjA3MCwxNCArMjA3NCwxMiBAQCBhZ2FpbjoKIAkJCWlm IChVTklYQ0Ioc2tiKS5mcCkKIAkJCQlzaW9jYi0+c2NtLT5mcCA9IHNjbV9mcF9kdXAoVU5JWENC KHNrYikuZnApOwogCi0JCQlpZiAoc2tpcCkgewotCQkJCXNrX3BlZWtfb2Zmc2V0X2Z3ZChzaywg Y2h1bmspOwotCQkJCXNraXAgLT0gY2h1bms7Ci0JCQl9CisJCQlza19wZWVrX29mZnNldF9md2Qo c2ssIGNodW5rKTsKIAogCQkJaWYgKFVOSVhDQihza2IpLmZwKQogCQkJCWJyZWFrOwogCisJCQlz a2lwID0gMDsKIAkJCWxhc3QgPSBza2I7CiAJCQl1bml4X3N0YXRlX2xvY2soc2spOwogCQkJc2ti ID0gc2tiX3BlZWtfbmV4dChza2IsICZzay0+c2tfcmVjZWl2ZV9xdWV1ZSk7Ci0tIAoxLjcuMTAu NAoKCkZyb20gMDYxMTY5NDEzOTQ0MzEwMzU3NTA1ZjA0NTBmOGVjOTIwZTBmN2JiOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUHJhdmluIEIgU2hlbGFyIDxwc2hlbGFyQG5pY2lyYS5j b20+CkRhdGU6IFR1ZSwgMjIgU2VwIDIwMTUgMTI6NTc6NTMgLTA3MDAKU3ViamVjdDogW1BBVENI IDA1LzExXSBza2J1ZmY6IEZpeCBza2IgY2hlY2tzdW0gZmxhZyBvbiBza2IgcHVsbAoKWyBVcHN0 cmVhbSBjb21taXQgNmFlNDU5YmRhYWVlYmM2MzJiMTZlNTRkY2JhYmI0OTBjNjkzMWQ2MSBdCgpW WExBTiBkZXZpY2UgY2FuIHJlY2VpdmUgc2tiIHdpdGggY2hlY2tzdW0gcGFydGlhbC4gQnV0IHRo ZSBjaGVja3N1bQpvZmZzZXQgY291bGQgYmUgaW4gb3V0ZXIgaGVhZGVyIHdoaWNoIGlzIHB1bGxl ZCBvbiByZWNlaXZlLiBUaGlzIHJlc3VsdHMKaW4gbmVnYXRpdmUgY2hlY2tzdW0gb2Zmc2V0IGZv ciB0aGUgc2tiLiBTdWNoIHNrYiBjYW4gY2F1c2UgdGhlIGFzc2VydApmYWlsdXJlIGluIHNrYl9j aGVja3N1bV9oZWxwKCkuIEZvbGxvd2luZyBwYXRjaCBmaXhlcyB0aGUgYnVnIGJ5IHNldHRpbmcK Y2hlY2tzdW0tbm9uZSB3aGlsZSBwdWxsaW5nIG91dGVyIGhlYWRlci4KCkZvbGxvd2luZyBpcyB0 aGUga2VybmVsIHBhbmljIG1zZyBmcm9tIG9sZCBrZXJuZWwgaGl0dGluZyB0aGUgYnVnLgoKLS0t LS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCmtlcm5lbCBCVUcgYXQgbmV0L2NvcmUv ZGV2LmM6MTkwNiEKUklQOiAwMDEwOls8ZmZmZmZmZmY4MTUxODAzND5dIHNrYl9jaGVja3N1bV9o ZWxwKzB4MTQ0LzB4MTUwCkNhbGwgVHJhY2U6CjxJUlE+Cls8ZmZmZmZmZmZhMDE2NGMyOD5dIHF1 ZXVlX3VzZXJzcGFjZV9wYWNrZXQrMHg0MDgvMHg0NzAgW29wZW52c3dpdGNoXQpbPGZmZmZmZmZm YTAxNjYxNGQ+XSBvdnNfZHBfdXBjYWxsKzB4NWQvMHg2MCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZm ZmZhMDE2NjIzNj5dIG92c19kcF9wcm9jZXNzX3BhY2tldF93aXRoX2tleSsweGU2LzB4MTAwIFtv cGVudnN3aXRjaF0KWzxmZmZmZmZmZmEwMTY2MjliPl0gb3ZzX2RwX3Byb2Nlc3NfcmVjZWl2ZWRf cGFja2V0KzB4NGIvMHg4MCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmZhMDE2YzUxYT5dIG92c192 cG9ydF9yZWNlaXZlKzB4MmEvMHgzMCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmZhMDE3MTM4Mz5d IHZ4bGFuX3JjdisweDUzLzB4NjAgW29wZW52c3dpdGNoXQpbPGZmZmZmZmZmYTAxNzM0Y2I+XSB2 eGxhbl91ZHBfZW5jYXBfcmVjdisweDhiLzB4ZjAgW29wZW52c3dpdGNoXQpbPGZmZmZmZmZmODE1 N2FkZGM+XSB1ZHBfcXVldWVfcmN2X3NrYisweDJkYy8weDNiMApbPGZmZmZmZmZmODE1N2I1NmY+ XSBfX3VkcDRfbGliX3JjdisweDFjZi8weDZjMApbPGZmZmZmZmZmODE1N2JhN2E+XSB1ZHBfcmN2 KzB4MWEvMHgyMApbPGZmZmZmZmZmODE1NGZkYmQ+XSBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsw eGRkLzB4MjgwCls8ZmZmZmZmZmY4MTU1MDEyOD5dIGlwX2xvY2FsX2RlbGl2ZXIrMHg4OC8weDkw Cls8ZmZmZmZmZmY4MTU0ZmE3ZD5dIGlwX3Jjdl9maW5pc2grMHgxMGQvMHgzNzAKWzxmZmZmZmZm ZjgxNTUwMzY1Pl0gaXBfcmN2KzB4MjM1LzB4MzAwCls8ZmZmZmZmZmY4MTUxYmExZD5dIF9fbmV0 aWZfcmVjZWl2ZV9za2IrMHg1NWQvMHg2MjAKWzxmZmZmZmZmZjgxNTFjMzYwPl0gbmV0aWZfcmVj ZWl2ZV9za2IrMHg4MC8weDkwCls8ZmZmZmZmZmY4MTQ1OTkzNT5dIHZpcnRuZXRfcG9sbCsweDU1 NS8weDZmMApbPGZmZmZmZmZmODE1MWNkMDQ+XSBuZXRfcnhfYWN0aW9uKzB4MTM0LzB4MjkwCls8 ZmZmZmZmZmY4MTA2ODNkOD5dIF9fZG9fc29mdGlycSsweGE4LzB4MjEwCls8ZmZmZmZmZmY4MTYy ZmU2Yz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzAKWzxmZmZmZmZmZjgxMDE2MWE1Pl0gZG9fc29m dGlycSsweDY1LzB4YTAKWzxmZmZmZmZmZjgxMDY4N2JlPl0gaXJxX2V4aXQrMHg4ZS8weGIwCls8 ZmZmZmZmZmY4MTYzMDczMz5dIGRvX0lSUSsweDYzLzB4ZTAKWzxmZmZmZmZmZjgxNjI1ZjJlPl0g Y29tbW9uX2ludGVycnVwdCsweDZlLzB4NmUKClJlcG9ydGVkLWJ5OiBBbnVwYW0gQ2hhbmRhIDxh Y2hhbmRhQHZtd2FyZS5jb20+ClNpZ25lZC1vZmYtYnk6IFByYXZpbiBCIFNoZWxhciA8cHNoZWxh ckBuaWNpcmEuY29tPgpBY2tlZC1ieTogVG9tIEhlcmJlcnQgPHRvbUBoZXJiZXJ0bGFuZC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oIHwgICAgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oIGIvaW5jbHVk ZS9saW51eC9za2J1ZmYuaAppbmRleCA1MjJkODM3Li42MDNiNWRhIDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L3NrYnVmZi5oCisrKyBiL2luY2x1ZGUvbGludXgvc2tidWZmLmgKQEAgLTI1NDks NiArMjU0OSw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBza2JfcG9zdHB1bGxfcmNzdW0oc3RydWN0 IHNrX2J1ZmYgKnNrYiwKIHsKIAlpZiAoc2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fQ09NUExF VEUpCiAJCXNrYi0+Y3N1bSA9IGNzdW1fc3ViKHNrYi0+Y3N1bSwgY3N1bV9wYXJ0aWFsKHN0YXJ0 LCBsZW4sIDApKTsKKwllbHNlIGlmIChza2ItPmlwX3N1bW1lZCA9PSBDSEVDS1NVTV9QQVJUSUFM ICYmCisJCSBza2JfY2hlY2tzdW1fc3RhcnRfb2Zmc2V0KHNrYikgPD0gbGVuKQorCQlza2ItPmlw X3N1bW1lZCA9IENIRUNLU1VNX05PTkU7CiB9CiAKIHVuc2lnbmVkIGNoYXIgKnNrYl9wdWxsX3Jj c3VtKHN0cnVjdCBza19idWZmICpza2IsIHVuc2lnbmVkIGludCBsZW4pOwotLSAKMS43LjEwLjQK CgpGcm9tIDY0NjM1ZTFhZTI5NjAzOWQ1MGM4YTQzOTQ1ZTAzZmQ4ZDJiMWI4ZTcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFByYXZpbiBCIFNoZWxhciA8cHNoZWxhckBuaWNpcmEuY29t PgpEYXRlOiBNb24sIDI4IFNlcCAyMDE1IDE3OjI0OjI1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAw Ni8xMV0gc2tidWZmOiBGaXggc2tiIGNoZWNrc3VtIHBhcnRpYWwgY2hlY2suCgpbIFVwc3RyZWFt IGNvbW1pdCAzMWIzM2RmYjBhMTQ0NDY5ZGQ4MDU1MTRjOWU2M2Y0OTkzNzI5YTQ4IF0KCkVhcmxp ZXIgcGF0Y2ggNmFlNDU5YmRhIHRyaWVkIHRvIGRldGVjdCB2b2lkIGNrZWNrc3VtIHBhcnRpYWwK c2tiIGJ5IGNvbXBhcmluZyBwdWxsIGxlbmd0aCB0byBjaGVja3N1bSBvZmZzZXQuIEJ1dCBpdCBk b2VzCm5vdCB3b3JrIGZvciBhbGwgY2FzZXMgc2luY2UgY2hlY2tzdW0tb2Zmc2V0IGRlcGVuZHMg b24KdXBkYXRlcyB0byBza2ItPmRhdGEuCgpGb2xsb3dpbmcgcGF0Y2ggZml4ZXMgaXQgYnkgdmFs aWRhdGluZyBjaGVja3N1bSBzdGFydCBvZmZzZXQKYWZ0ZXIgc2tiLWRhdGEgcG9pbnRlciBpcyB1 cGRhdGVkLiBOZWdhdGl2ZSB2YWx1ZSBvZiBjaGVja3N1bQpvZmZzZXQgc3RhcnQgbWVhbnMgdGhl cmUgaXMgbm8gbmVlZCB0byBjaGVja3N1bS4KCkZpeGVzOiA2YWU0NTliZGEgKCJza2J1ZmY6IEZp eCBza2IgY2hlY2tzdW0gZmxhZyBvbiBza2IgcHVsbCIpClJlcG9ydGVkLWJ5OiBBbmRyZXcgVmFn aW4gPGF2YWdpbkBvZGluLmNvbT4KU2lnbmVkLW9mZi1ieTogUHJhdmluIEIgU2hlbGFyIDxwc2hl bGFyQG5pY2lyYS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oIHwgICAgMiArLQogbmV0L2Nv cmUvc2tidWZmLmMgICAgICB8ICAgIDkgKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3Nr YnVmZi5oIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaAppbmRleCA2MDNiNWRhLi4zYjU3YzY3IDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCisrKyBiL2luY2x1ZGUvbGludXgvc2ti dWZmLmgKQEAgLTI1NTAsNyArMjU1MCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBza2JfcG9zdHB1 bGxfcmNzdW0oc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAlpZiAoc2tiLT5pcF9zdW1tZWQgPT0gQ0hF Q0tTVU1fQ09NUExFVEUpCiAJCXNrYi0+Y3N1bSA9IGNzdW1fc3ViKHNrYi0+Y3N1bSwgY3N1bV9w YXJ0aWFsKHN0YXJ0LCBsZW4sIDApKTsKIAllbHNlIGlmIChza2ItPmlwX3N1bW1lZCA9PSBDSEVD S1NVTV9QQVJUSUFMICYmCi0JCSBza2JfY2hlY2tzdW1fc3RhcnRfb2Zmc2V0KHNrYikgPD0gbGVu KQorCQkgc2tiX2NoZWNrc3VtX3N0YXJ0X29mZnNldChza2IpIDwgMCkKIAkJc2tiLT5pcF9zdW1t ZWQgPSBDSEVDS1NVTV9OT05FOwogfQogCmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1ZmYuYyBi L25ldC9jb3JlL3NrYnVmZi5jCmluZGV4IDcyNDAwYTEuLmVhMGJjYzQgMTAwNjQ0Ci0tLSBhL25l dC9jb3JlL3NrYnVmZi5jCisrKyBiL25ldC9jb3JlL3NrYnVmZi5jCkBAIC0yODgxLDExICsyODgx LDEyIEBAIEVYUE9SVF9TWU1CT0woc2tiX2FwcGVuZF9kYXRhdG9fZnJhZ3MpOwogICovCiB1bnNp Z25lZCBjaGFyICpza2JfcHVsbF9yY3N1bShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBp bnQgbGVuKQogeworCXVuc2lnbmVkIGNoYXIgKmRhdGEgPSBza2ItPmRhdGE7CisKIAlCVUdfT04o bGVuID4gc2tiLT5sZW4pOwotCXNrYi0+bGVuIC09IGxlbjsKLQlCVUdfT04oc2tiLT5sZW4gPCBz a2ItPmRhdGFfbGVuKTsKLQlza2JfcG9zdHB1bGxfcmNzdW0oc2tiLCBza2ItPmRhdGEsIGxlbik7 Ci0JcmV0dXJuIHNrYi0+ZGF0YSArPSBsZW47CisJX19za2JfcHVsbChza2IsIGxlbik7CisJc2ti X3Bvc3RwdWxsX3Jjc3VtKHNrYiwgZGF0YSwgbGVuKTsKKwlyZXR1cm4gc2tiLT5kYXRhOwogfQog RVhQT1JUX1NZTUJPTF9HUEwoc2tiX3B1bGxfcmNzdW0pOwogCi0tIAoxLjcuMTAuNAoKCkZyb20g ZWZhMDJiYzQ4NjE1ZDQ1YzkyNjI5OWY5N2FiZWNhMDNlYmEwMTczZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBU dWUsIDI5IFNlcCAyMDE1IDE4OjUyOjI1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gbmV0 OiBhZGQgcGZtZW1hbGxvYyBjaGVjayBpbiBza19hZGRfYmFja2xvZygpCgpbIFVwc3RyZWFtIGNv bW1pdCBjN2M0OWI4ZmRlMjZiNzQyNzcxODhiZGM2YzlkY2EzOGRiNmZhMzViIF0KCkdyZWcgcmVw b3J0ZWQgY3Jhc2hlcyBoaXR0aW5nIHRoZSBmb2xsb3dpbmcgY2hlY2sgaW4gX19za19iYWNrbG9n X3JjdigpCgoJQlVHX09OKCFzb2NrX2ZsYWcoc2ssIFNPQ0tfTUVNQUxMT0MpKTsKClRoZSBwZm1l bWFsbG9jIGJpdCBpcyBjdXJyZW50bHkgY2hlY2tlZCBpbiBza19maWx0ZXIoKS4KClRoaXMgd29y a3MgY29ycmVjdGx5IGZvciBUQ1AsIGJlY2F1c2Ugc2tfZmlsdGVyKCkgaXMgcmFuIGluCnRjcF92 WzQ2XV9yY3YoKSBiZWZvcmUgaGl0dGluZyB0aGUgcHJlcXVldWUgb3IgYmFja2xvZyBjaGVja3Mu CgpGb3IgVURQIG9yIG90aGVyIHByb3RvY29scywgdGhpcyBkb2VzIG5vdCB3b3JrLCBiZWNhdXNl IHRoZSBza19maWx0ZXIoKQppcyByYW4gZnJvbSBzb2NrX3F1ZXVlX3Jjdl9za2IoKSwgd2hpY2gg bWlnaHQgYmUgY2FsbGVkIF9hZnRlcl8gYmFja2xvZwpxdWV1aW5nIGlmIHNvY2tldCBpcyBvd25l ZCBieSB1c2VyIGJ5IHRoZSB0aW1lIHBhY2tldCBpcyBwcm9jZXNzZWQgYnkKc29mdGlycSBoYW5k bGVyLgoKRml4ZXM6IGI0YjllMzU1ODUwODkgKCJuZXR2bTogc2V0IFBGX01FTUFMTE9DIGFzIGFw cHJvcHJpYXRlIGR1cmluZyBTS0IgcHJvY2Vzc2luZyIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IEdyZWcgVGhlbGVuIDxndGhl bGVuQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL25ldC9zb2NrLmggfCAgICA4ICsrKysrKysrCiAxIGZp bGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvc29j ay5oIGIvaW5jbHVkZS9uZXQvc29jay5oCmluZGV4IDQ0MDZkYmUuLmEwOThjZTMgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbmV0L3NvY2suaAorKysgYi9pbmNsdWRlL25ldC9zb2NrLmgKQEAgLTgxOSw2 ICs4MTksMTQgQEAgc3RhdGljIGlubGluZSBfX211c3RfY2hlY2sgaW50IHNrX2FkZF9iYWNrbG9n KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnMKIAlpZiAoc2tfcmN2cXVldWVzX2Z1 bGwoc2ssIGxpbWl0KSkKIAkJcmV0dXJuIC1FTk9CVUZTOwogCisJLyoKKwkgKiBJZiB0aGUgc2ti IHdhcyBhbGxvY2F0ZWQgZnJvbSBwZm1lbWFsbG9jIHJlc2VydmVzLCBvbmx5CisJICogYWxsb3cg U09DS19NRU1BTExPQyBzb2NrZXRzIHRvIHVzZSBpdCBhcyB0aGlzIHNvY2tldCBpcworCSAqIGhl bHBpbmcgZnJlZSBtZW1vcnkKKwkgKi8KKwlpZiAoc2tiX3BmbWVtYWxsb2Moc2tiKSAmJiAhc29j a19mbGFnKHNrLCBTT0NLX01FTUFMTE9DKSkKKwkJcmV0dXJuIC1FTk9NRU07CisKIAlfX3NrX2Fk ZF9iYWNrbG9nKHNrLCBza2IpOwogCXNrLT5za19iYWNrbG9nLmxlbiArPSBza2ItPnRydWVzaXpl OwogCXJldHVybiAwOwotLSAKMS43LjEwLjQKCgpGcm9tIGZkYzM4NDU4YzIzYzcwZjU0ZmJmNTdj Mjg3N2I1YmJiM2QwNmE4MTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEd1aWxsYXVt ZSBOYXVsdCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+CkRhdGU6IFdlZCwgMzAgU2VwIDIwMTUgMTE6 NDU6MzMgKzAyMDAKU3ViamVjdDogW1BBVENIIDA4LzExXSBwcHA6IGRvbid0IG92ZXJyaWRlIHNr LT5za19zdGF0ZSBpbiBwcHBvZV9mbHVzaF9kZXYoKQoKWyBVcHN0cmVhbSBjb21taXQgZTY3NDAx NjViOGY3ZjA2ZDhjYWVlMGZjZWFiM2ZiOWQ3OTBhNmZlZCBdCgpTaW5jZSBjb21taXQgMmIwMThk NTdmZjE4ICgicHBwb2U6IGRyb3AgUFBQT1hfWk9NQklFcyBpbiBwcHBvZV9yZWxlYXNlIiksCnBw cG9lX3JlbGVhc2UoKSBjYWxscyBkZXZfcHV0KHBvLT5wcHBvZV9kZXYpIGlmIHNrIGlzIGluIHRo ZQpQUFBPWF9aT01CSUUgc3RhdGUuIEJ1dCBwcHBvZV9mbHVzaF9kZXYoKSBjYW4gc2V0IHNrLT5z a19zdGF0ZSB0bwpQUFBPWF9aT01CSUUgX2FuZF8gcmVzZXQgcG8tPnBwcG9lX2RldiB0byBOVUxM LiBUaGlzIGxlYWRzIHRvIHRoZQpmb2xsb3dpbmcgb29wczoKClsgIDU3MC4xNDA4MDBdIEJVRzog dW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IDAwMDAw MDAwMDAwMDA0ZTAKWyAgNTcwLjE0MjkzMV0gSVA6IFs8ZmZmZmZmZmZhMDE4YzcwMT5dIHBwcG9l X3JlbGVhc2UrMHg1MC8weDEwMSBbcHBwb2VdClsgIDU3MC4xNDQ2MDFdIFBHRCAzZDExOTA2NyBQ VUQgM2RiYzEwNjcgUE1EIDAKWyAgNTcwLjE0NDYwMV0gT29wczogMDAwMCBbIzFdIFNNUApbICA1 NzAuMTQ0NjAxXSBNb2R1bGVzIGxpbmtlZCBpbjogbDJ0cF9wcHAgbDJ0cF9uZXRsaW5rIGwydHBf Y29yZSBpcDZfdWRwX3R1bm5lbCB1ZHBfdHVubmVsIHBwcG9lIHBwcG94IHBwcF9nZW5lcmljIHNs aGMgbG9vcCBjcmMzMmNfaW50ZWwgZ2hhc2hfY2xtdWxuaV9pbnRlbCBqaXR0ZXJlbnRyb3B5X3Ju ZyBzaGEyNTZfZ2VuZXJpYyBobWFjIGRyYmcgYW5zaV9jcHJuZyBhZXNuaV9pbnRlbCBhZXNfeDg2 XzY0IGFibGtfaGVscGVyIGNyeXB0ZCBscncgZ2YxMjhtdWwgZ2x1ZV9oZWxwZXIgYWNwaV9jcHVm cmVxIGV2ZGV2IHNlcmlvX3JhdyBwcm9jZXNzb3IgYnV0dG9uIGV4dDQgY3JjMTYgbWJjYWNoZSBq YmQyIHZpcnRpb19uZXQgdmlydGlvX2JsayB2aXJ0aW9fcGNpIHZpcnRpb19yaW5nIHZpcnRpbwpb ICA1NzAuMTQ0NjAxXSBDUFU6IDEgUElEOiAxNTczOCBDb21tOiBwcHAtYXBpdGVzdCBOb3QgdGFp bnRlZCA0LjIuMCAjMQpbICA1NzAuMTQ0NjAxXSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJk IFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyBEZWJpYW4tMS44LjItMSAwNC8wMS8yMDE0 ClsgIDU3MC4xNDQ2MDFdIHRhc2s6IGZmZmY4ODAwM2QzMGQ2MDAgdGk6IGZmZmY4ODAwMzZiNjAw MDAgdGFzay50aTogZmZmZjg4MDAzNmI2MDAwMApbICA1NzAuMTQ0NjAxXSBSSVA6IDAwMTA6Wzxm ZmZmZmZmZmEwMThjNzAxPl0gIFs8ZmZmZmZmZmZhMDE4YzcwMT5dIHBwcG9lX3JlbGVhc2UrMHg1 MC8weDEwMSBbcHBwb2VdClsgIDU3MC4xNDQ2MDFdIFJTUDogMDAxODpmZmZmODgwMDM2YjYzZTA4 ICBFRkxBR1M6IDAwMDEwMjAyClsgIDU3MC4xNDQ2MDFdIFJBWDogMDAwMDAwMDAwMDAwMDAwMCBS Qlg6IGZmZmY4ODAwMzQzNDAwMDAgUkNYOiAwMDAwMDAwMDAwMDAwMjA2ClsgIDU3MC4xNDQ2MDFd IFJEWDogMDAwMDAwMDAwMDAwMDAwNiBSU0k6IGZmZmY4ODAwM2QzMGRkMjAgUkRJOiBmZmZmODgw MDNkMzBkZDIwClsgIDU3MC4xNDQ2MDFdIFJCUDogZmZmZjg4MDAzNmI2M2UyOCBSMDg6IDAwMDAw MDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClsgIDU3MC4xNDQ2MDFdIFIxMDogMDAw MDdmZmVlOWI1MDQyMCBSMTE6IGZmZmY4ODAwMzQzNDAwNzggUjEyOiBmZmZmODgwMDM4N2VjNzgw ClsgIDU3MC4xNDQ2MDFdIFIxMzogZmZmZjg4MDAzODdlYzdiMCBSMTQ6IGZmZmY4ODAwM2UyMjJh YTAgUjE1OiBmZmZmODgwMDM4N2VjN2IwClsgIDU3MC4xNDQ2MDFdIEZTOiAgMDAwMDdmNTY3MmY0 ODcwMCgwMDAwKSBHUzpmZmZmODgwMDNmYzgwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAw MDAKWyAgNTcwLjE0NDYwMV0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAw MDA4MDA1MDAzMwpbICA1NzAuMTQ0NjAxXSBDUjI6IDAwMDAwMDAwMDAwMDA0ZTAgQ1IzOiAwMDAw MDAwMDM3ZjdlMDAwIENSNDogMDAwMDAwMDAwMDA0MDZhMApbICA1NzAuMTQ0NjAxXSBTdGFjazoK WyAgNTcwLjE0NDYwMV0gIGZmZmZmZmZmYTAxOGYyNDAgZmZmZjg4MDAzODdlYzc4MCBmZmZmZmZm ZmEwMThmMjQwIGZmZmY4ODAwMzg3ZWM3YjAKWyAgNTcwLjE0NDYwMV0gIGZmZmY4ODAwMzZiNjNl NDggZmZmZmZmZmY4MTJjYWFiZSBmZmZmODgwMDM5ZTRlMDAwIDAwMDAwMDAwMDAwMDAwMDgKWyAg NTcwLjE0NDYwMV0gIGZmZmY4ODAwMzZiNjNlNTggZmZmZmZmZmY4MTJjYWJhZCBmZmZmODgwMDM2 YjYzZWE4IGZmZmZmZmZmODExMzQ3ZjUKWyAgNTcwLjE0NDYwMV0gQ2FsbCBUcmFjZToKWyAgNTcw LjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTJjYWFiZT5dIHNvY2tfcmVsZWFzZSsweDFhLzB4NzUKWyAg NTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTJjYWJhZD5dIHNvY2tfY2xvc2UrMHhkLzB4MTEKWyAg NTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTEzNDdmNT5dIF9fZnB1dCsweGZmLzB4MWE1ClsgIDU3 MC4xNDQ2MDFdICBbPGZmZmZmZmZmODExMzQ4Y2I+XSBfX19fZnB1dCsweDkvMHhiClsgIDU3MC4x NDQ2MDFdICBbPGZmZmZmZmZmODEwNTY2ODI+XSB0YXNrX3dvcmtfcnVuKzB4NjYvMHg5MApbICA1 NzAuMTQ0NjAxXSAgWzxmZmZmZmZmZjgxMDAxODllPl0gcHJlcGFyZV9leGl0X3RvX3VzZXJtb2Rl KzB4OGMvMHhhNwpbICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZmZjgxMDAxYTI2Pl0gc3lzY2FsbF9y ZXR1cm5fc2xvd3BhdGgrMHgxNmQvMHgxOWIKWyAgNTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTNi YWJiMT5dIGludF9yZXRfZnJvbV9zeXNfY2FsbCsweDI1LzB4OWYKWyAgNTcwLjE0NDYwMV0gQ29k ZTogNDggOGIgODMgYzggMDEgMDAgMDAgYTggMDEgNzQgMTIgNDggODkgZGYgZTggOGIgMjcgMTQg ZTEgYjggZjcgZmYgZmYgZmYgZTkgYjcgMDAgMDAgMDAgOGEgNDMgMTIgYTggMGIgNzQgMWMgNDgg OGIgODMgYTggMDQgMDAgMDAgPDQ4PiA4YiA4MCBlMCAwNCAwMCAwMCA2NSBmZiAwOCA0OCBjNyA4 MyBhOCAwNCAwMCAwMCAwMCAwMCAwMCAwMApbICA1NzAuMTQ0NjAxXSBSSVAgIFs8ZmZmZmZmZmZh MDE4YzcwMT5dIHBwcG9lX3JlbGVhc2UrMHg1MC8weDEwMSBbcHBwb2VdClsgIDU3MC4xNDQ2MDFd ICBSU1AgPGZmZmY4ODAwMzZiNjNlMDg+ClsgIDU3MC4xNDQ2MDFdIENSMjogMDAwMDAwMDAwMDAw MDRlMApbICA1NzAuMjAwNTE4XSAtLS1bIGVuZCB0cmFjZSA0Njk1NmJhZjE3MzQ5NTYzIF0tLS0K CnBwcG9lX2ZsdXNoX2RldigpIGhhcyBubyByZWFzb24gdG8gb3ZlcnJpZGUgc2stPnNrX3N0YXRl IHdpdGgKUFBQT1hfWk9NQklFLiBwcHBveF91bmJpbmRfc29jaygpIGFscmVhZHkgc2V0cyBzay0+ c2tfc3RhdGUgdG8KUFBQT1hfREVBRCwgd2hpY2ggaXMgdGhlIGNvcnJlY3Qgc3RhdGUgZ2l2ZW4g dGhhdCBzayBpcyB1bmJvdW5kIGFuZApwby0+cHBwb2VfZGV2IGlzIE5VTEwuCgpGaXhlczogMmIw MThkNTdmZjE4ICgicHBwb2U6IGRyb3AgUFBQT1hfWk9NQklFcyBpbiBwcHBvZV9yZWxlYXNlIikK VGVzdGVkLWJ5OiBPbGVrc2lpIEJlcmV6aG5pYWsgPGNvcmVAaXJjLmxnLnVhPgpTaWduZWQtb2Zm LWJ5OiBHdWlsbGF1bWUgTmF1bHQgPGcubmF1bHRAYWxwaGFsaW5rLmZyPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv cHBwL3BwcG9lLmMgfCAgICAxIC0KIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBwL3BwcG9lLmMgYi9kcml2ZXJzL25ldC9wcHAvcHBwb2Uu YwppbmRleCA2YzljMTZkLi5mNjA2YjViIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9wcHAvcHBw b2UuYworKysgYi9kcml2ZXJzL25ldC9wcHAvcHBwb2UuYwpAQCAtMzEzLDcgKzMxMyw2IEBAIHN0 YXRpYyB2b2lkIHBwcG9lX2ZsdXNoX2RldihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCQkJaWYg KHBvLT5wcHBvZV9kZXYgPT0gZGV2ICYmCiAJCQkgICAgc2stPnNrX3N0YXRlICYgKFBQUE9YX0NP Tk5FQ1RFRCB8IFBQUE9YX0JPVU5EIHwgUFBQT1hfWk9NQklFKSkgewogCQkJCXBwcG94X3VuYmlu ZF9zb2NrKHNrKTsKLQkJCQlzay0+c2tfc3RhdGUgPSBQUFBPWF9aT01CSUU7CiAJCQkJc2stPnNr X3N0YXRlX2NoYW5nZShzayk7CiAJCQkJcG8tPnBwcG9lX2RldiA9IE5VTEw7CiAJCQkJZGV2X3B1 dChkZXYpOwotLSAKMS43LjEwLjQKCgpGcm9tIDNiOGI5ZjFjNzU3YjU3OGRmZWViNDRjYTk5ZjVm OTg0MjQxYTI3NjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtvbnN0YW50aW4gS2hs ZWJuaWtvdiA8a2hsZWJuaWtvdkB5YW5kZXgtdGVhbS5ydT4KRGF0ZTogRnJpLCAyIE9jdCAyMDE1 IDEzOjE4OjIyICswMzAwClN1YmplY3Q6IFtQQVRDSCAwOS8xMV0gb3ZzOiBkbyBub3QgYWxsb2Nh dGUgbWVtb3J5IGZyb20gb2ZmbGluZSBudW1hIG5vZGUKClsgVXBzdHJlYW0gY29tbWl0IDU5OGMx MmQwYmE2ZGU5MDYwZjA0OTk5NzQ2ZWIxZTAxNTc3NDA0NGIgXQoKV2hlbiBvcGVudnN3aXRjaCB0 cmllcyBhbGxvY2F0ZSBtZW1vcnkgZnJvbSBvZmZsaW5lIG51bWEgbm9kZSAwOgpzdGF0cyA9IGtt ZW1fY2FjaGVfYWxsb2Nfbm9kZShmbG93X3N0YXRzX2NhY2hlLCBHRlBfS0VSTkVMIHwgX19HRlBf WkVSTywgMCkKSXQgY2F0Y2hlcyBWTV9CVUdfT04obmlkIDwgMCB8fCBuaWQgPj0gTUFYX05VTU5P REVTIHx8ICFub2RlX29ubGluZShuaWQpKQpbIHJlcGxhY2VkIHdpdGggVk1fV0FSTl9PTighbm9k ZV9vbmxpbmUobmlkKSkgcmVjZW50bHkgXSBpbiBsaW51eC9nZnAuaApUaGlzIHBhdGNoIGRpc2Fi bGVzIG51bWEgYWZmaW5pdHkgaW4gdGhpcyBjYXNlLgoKU2lnbmVkLW9mZi1ieTogS29uc3RhbnRp biBLaGxlYm5pa292IDxraGxlYm5pa292QHlhbmRleC10ZWFtLnJ1PgpBY2tlZC1ieTogUHJhdmlu IEIgU2hlbGFyIDxwc2hlbGFyQG5pY2lyYS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvb3BlbnZzd2l0Y2gvZmxvd190YWJs ZS5jIHwgICAgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvZmxvd190YWJsZS5jIGIvbmV0L29w ZW52c3dpdGNoL2Zsb3dfdGFibGUuYwppbmRleCBjZjJkODUzLi4xOTliMmU3IDEwMDY0NAotLS0g YS9uZXQvb3BlbnZzd2l0Y2gvZmxvd190YWJsZS5jCisrKyBiL25ldC9vcGVudnN3aXRjaC9mbG93 X3RhYmxlLmMKQEAgLTg5LDcgKzg5LDggQEAgc3RydWN0IHN3X2Zsb3cgKm92c19mbG93X2FsbG9j KHZvaWQpCiAKIAkvKiBJbml0aWFsaXplIHRoZSBkZWZhdWx0IHN0YXQgbm9kZS4gKi8KIAlzdGF0 cyA9IGttZW1fY2FjaGVfYWxsb2Nfbm9kZShmbG93X3N0YXRzX2NhY2hlLAotCQkJCSAgICAgIEdG UF9LRVJORUwgfCBfX0dGUF9aRVJPLCAwKTsKKwkJCQkgICAgICBHRlBfS0VSTkVMIHwgX19HRlBf WkVSTywKKwkJCQkgICAgICBub2RlX29ubGluZSgwKSA/IDAgOiBOVU1BX05PX05PREUpOwogCWlm ICghc3RhdHMpCiAJCWdvdG8gZXJyOwogCi0tIAoxLjcuMTAuNAoKCkZyb20gZDBlNmIzY2I0OWYy N2M4YmFkMGYzYmEwYTQ0MzQ4OTU3MzhmNTJjNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSm9lIFBlcmNoZXMgPGpvZUBwZXJjaGVzLmNvbT4KRGF0ZTogV2VkLCAxNCBPY3QgMjAxNSAw MTowOTo0MCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTFdIGV0aHRvb2w6IFVzZSBrY2FsbG9j IGluc3RlYWQgb2Yga21hbGxvYyBmb3IKIGV0aHRvb2xfZ2V0X3N0cmluZ3MKClsgVXBzdHJlYW0g Y29tbWl0IDA3N2NiMzdmY2Y2ZjAwYTQ1ZjM3NTE2MTIwMGI1ZWUwY2Q0ZTkzN2IgXQoKSXQgc2Vl bXMgdGhhdCBrZXJuZWwgbWVtb3J5IGNhbiBsZWFrIGludG8gdXNlcnNwYWNlIGJ5IGEKa21hbGxv YywgZXRodG9vbF9nZXRfc3RyaW5ncywgdGhlbiBjb3B5X3RvX3VzZXIgc2VxdWVuY2UuCgpBdm9p ZCB0aGlzIGJ5IHVzaW5nIGtjYWxsb2MgdG8gemVybyBmaWxsIHRoZSBjb3BpZWQgYnVmZmVyLgoK U2lnbmVkLW9mZi1ieTogSm9lIFBlcmNoZXMgPGpvZUBwZXJjaGVzLmNvbT4KQWNrZWQtYnk6IEJl biBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9ldGh0b29sLmMgfCAg ICAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9uZXQvY29yZS9ldGh0b29sLmMgYi9uZXQvY29yZS9ldGh0b29sLmMKaW5kZXgg MDZkZmIyOS4uMTRiYjE1OCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZXRodG9vbC5jCisrKyBiL25l dC9jb3JlL2V0aHRvb2wuYwpAQCAtMTI1Nyw3ICsxMjU3LDcgQEAgc3RhdGljIGludCBldGh0b29s X2dldF9zdHJpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHZvaWQgX191c2VyICp1c2VyYWRk cikKIAogCWdzdHJpbmdzLmxlbiA9IHJldDsKIAotCWRhdGEgPSBrbWFsbG9jKGdzdHJpbmdzLmxl biAqIEVUSF9HU1RSSU5HX0xFTiwgR0ZQX1VTRVIpOworCWRhdGEgPSBrY2FsbG9jKGdzdHJpbmdz LmxlbiwgRVRIX0dTVFJJTkdfTEVOLCBHRlBfVVNFUik7CiAJaWYgKCFkYXRhKQogCQlyZXR1cm4g LUVOT01FTTsKIAotLSAKMS43LjEwLjQKCgpGcm9tIDA5MzRmN2M3MDEzMzY2MDhhNTliZGU1ZTY5 NGQ4ZmIzMGY4ZmFiNmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBcmFkLCBSb25l biIgPHJvbmVuLmFyYWRAaW50ZWwuY29tPgpEYXRlOiBUaHUsIDE1IE9jdCAyMDE1IDAxOjU1OjE3 IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gbmV0bGluazogVHJpbSBza2IgdG8gYWxsb2Mg c2l6ZSB0byBhdm9pZCBNU0dfVFJVTkMKClsgVXBzdHJlYW0gY29tbWl0IGRiNjVhM2FhZjI5ZWNj ZTJlMzQyNzFkNTJlOGQyMzM2Yjk3YmQ5ZmUgXQoKbmV0bGlua19kdW1wKCkgYWxsb2NhdGVzIHNr YiBiYXNlZCBvbiB0aGUgY2FsY3VsYXRlZCBtaW5fZHVtcF9hbGxvYyBvcgphIHBlciBzb2NrZXQg bWF4X3JlY3Ztc2dfbGVuLgptaW5fYWxsb2Nfc2l6ZSBpcyBtYXhpbXVtIHNwYWNlIHJlcXVpcmVk IGZvciBhbnkgc2luZ2xlIG5ldGRldgphdHRyaWJ1dGVzIGFzIGNhbGN1bGF0ZWQgYnkgcnRubF9j YWxjaXQoKS4KbWF4X3JlY3Ztc2dfbGVuIHRyYWNrcyB0aGUgdXNlciBwcm92aWRlZCBidWZmZXIg dG8gbmV0bGlua19yZWN2bXNnLgpJdCBpcyBjYXBwZWQgYXQgMTZLaUIuClRoZSBpbnRlbnRpb24g aXMgdG8gYXZvaWQgc21hbGwgYWxsb2NhdGlvbnMgYW5kIHRvIG1pbmltaXplIHRoZSBudW1iZXIK b2YgY2FsbHMgcmVxdWlyZWQgdG8gb2J0YWluIGR1bXAgaW5mb3JtYXRpb24gZm9yIGFsbCBuZXQg ZGV2aWNlcy4KCm5ldGxpbmtfZHVtcCBwYWNrcyBhcyBtYW55IHNtYWxsIG1lc3NhZ2VzIGFzIGNv dWxkIGZpdCB3aXRoaW4gYW4gc2tiCnRoYXQgd2FzIHNpemVkIGZvciB0aGUgbGFyZ2VzdCBzaW5n bGUgbmV0ZGV2IGluZm9ybWF0aW9uLiBUaGUgYWN0dWFsCnNwYWNlIGF2YWlsYWJsZSB3aXRoaW4g YW4gc2tiIGlzIGxhcmdlciB0aGFuIHdoYXQgaXMgcmVxdWVzdGVkLiBJdCBjb3VsZApiZSBtdWNo IGxhcmdlciBhbmQgdXAgdG8gbmVhciAyeCB3aXRoIGFsaWduIHRvIG5leHQgcG93ZXIgb2YgMiBh cHByb2FjaC4KCkFsbG93aW5nIG5ldGxpbmtfZHVtcCB0byB1c2UgYWxsIHRoZSBzcGFjZSBhdmFp bGFibGUgd2l0aGluIHRoZQphbGxvY2F0ZWQgc2tiIGluY3JlYXNlcyB0aGUgYnVmZmVyIHNpemUg YSB1c2VyIGhhcyB0byBwcm92aWRlIHRvIGF2b2lkCnRydW5jYWlvbiAoaS5lLiBNU0dfVFJVTkcg ZmxhZyBzZXQpLgoKSXQgd2FzIG9ic2VydmVkIHRoYXQgd2l0aCBtYW55IFZMQU5zIGNvbmZpZ3Vy ZWQgb24gYXQgbGVhc3Qgb25lIG5ldGRldiwKYSBsYXJnZXIgYnVmZmVyIG9mIG5lYXIgNjRLaUIg d2FzIG5lY2Vzc2FyeSB0byBhdm9pZCAiTWVzc2FnZSB0cnVuY2F0ZWQiCmVycm9yIGluICJpcCBs aW5rIiBvciAiYnJpZGdlIFstY1tvbXByZXNzdmxhbnNdXSB2bGFuIHNob3ciIHdoZW4KbWluX2Fs bG9jX3NpemUgd2FzIG9ubHkgbGl0dGxlIG92ZXIgMzJLaUIuCgpUaGlzIHBhdGNoIHRyaW1zIHNr YiB0byBhbGxvY2F0ZWQgc2l6ZSBpbiBvcmRlciB0byBhbGxvdyB0aGUgdXNlciB0bwphdm9pZCB0 cnVuY2F0aW9uIHdpdGggbW9yZSByZWFzb25hYmxlIGJ1ZmZlciBzaXplLgoKU2lnbmVkLW9mZi1i eTogUm9uZW4gQXJhZCA8cm9uZW4uYXJhZEBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvbmV0bGluay9hZl9uZXRs aW5rLmMgfCAgIDM0ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9u ZXQvbmV0bGluay9hZl9uZXRsaW5rLmMgYi9uZXQvbmV0bGluay9hZl9uZXRsaW5rLmMKaW5kZXgg NmZmZDFlYi4uMzI3YzAwMCAxMDA2NDQKLS0tIGEvbmV0L25ldGxpbmsvYWZfbmV0bGluay5jCisr KyBiL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuYwpAQCAtMjYxNSw2ICsyNjE1LDcgQEAgc3RhdGlj IGludCBuZXRsaW5rX2R1bXAoc3RydWN0IHNvY2sgKnNrKQogCXN0cnVjdCBza19idWZmICpza2Ig PSBOVUxMOwogCXN0cnVjdCBubG1zZ2hkciAqbmxoOwogCWludCBsZW4sIGVyciA9IC1FTk9CVUZT OworCWludCBhbGxvY19taW5fc2l6ZTsKIAlpbnQgYWxsb2Nfc2l6ZTsKIAogCW11dGV4X2xvY2so bmxrLT5jYl9tdXRleCk7CkBAIC0yNjIzLDkgKzI2MjQsNiBAQCBzdGF0aWMgaW50IG5ldGxpbmtf ZHVtcChzdHJ1Y3Qgc29jayAqc2spCiAJCWdvdG8gZXJyb3V0X3NrYjsKIAl9CiAKLQljYiA9ICZu bGstPmNiOwotCWFsbG9jX3NpemUgPSBtYXhfdChpbnQsIGNiLT5taW5fZHVtcF9hbGxvYywgTkxN U0dfR09PRFNJWkUpOwotCiAJaWYgKCFuZXRsaW5rX3J4X2lzX21tYXBlZChzaykgJiYKIAkgICAg YXRvbWljX3JlYWQoJnNrLT5za19ybWVtX2FsbG9jKSA+PSBzay0+c2tfcmN2YnVmKQogCQlnb3Rv IGVycm91dF9za2I7CkBAIC0yNjM1LDIzICsyNjMzLDM1IEBAIHN0YXRpYyBpbnQgbmV0bGlua19k dW1wKHN0cnVjdCBzb2NrICpzaykKIAkgKiB0byByZWR1Y2UgbnVtYmVyIG9mIHN5c3RlbSBjYWxs cyBvbiBkdW1wIG9wZXJhdGlvbnMsIGlmIHVzZXIKIAkgKiBldmVyIHByb3ZpZGVkIGEgYmlnIGVu b3VnaCBidWZmZXIuCiAJICovCi0JaWYgKGFsbG9jX3NpemUgPCBubGstPm1heF9yZWN2bXNnX2xl bikgewotCQlza2IgPSBuZXRsaW5rX2FsbG9jX3NrYihzaywKLQkJCQkJbmxrLT5tYXhfcmVjdm1z Z19sZW4sCi0JCQkJCW5say0+cG9ydGlkLAorCWNiID0gJm5say0+Y2I7CisJYWxsb2NfbWluX3Np emUgPSBtYXhfdChpbnQsIGNiLT5taW5fZHVtcF9hbGxvYywgTkxNU0dfR09PRFNJWkUpOworCisJ aWYgKGFsbG9jX21pbl9zaXplIDwgbmxrLT5tYXhfcmVjdm1zZ19sZW4pIHsKKwkJYWxsb2Nfc2l6 ZSA9IG5say0+bWF4X3JlY3Ztc2dfbGVuOworCQlza2IgPSBuZXRsaW5rX2FsbG9jX3NrYihzaywg YWxsb2Nfc2l6ZSwgbmxrLT5wb3J0aWQsCiAJCQkJCUdGUF9LRVJORUwgfAogCQkJCQlfX0dGUF9O T1dBUk4gfAogCQkJCQlfX0dGUF9OT1JFVFJZKTsKLQkJLyogYXZhaWxhYmxlIHJvb20gc2hvdWxk IGJlIGV4YWN0IGFtb3VudCB0byBhdm9pZCBNU0dfVFJVTkMgKi8KLQkJaWYgKHNrYikKLQkJCXNr Yl9yZXNlcnZlKHNrYiwgc2tiX3RhaWxyb29tKHNrYikgLQotCQkJCQkgbmxrLT5tYXhfcmVjdm1z Z19sZW4pOwogCX0KLQlpZiAoIXNrYikKKwlpZiAoIXNrYikgeworCQlhbGxvY19zaXplID0gYWxs b2NfbWluX3NpemU7CiAJCXNrYiA9IG5ldGxpbmtfYWxsb2Nfc2tiKHNrLCBhbGxvY19zaXplLCBu bGstPnBvcnRpZCwKIAkJCQkJR0ZQX0tFUk5FTCk7CisJfQogCWlmICghc2tiKQogCQlnb3RvIGVy cm91dF9za2I7CisKKwkvKiBUcmltIHNrYiB0byBhbGxvY2F0ZWQgc2l6ZS4gVXNlciBpcyBleHBl Y3RlZCB0byBwcm92aWRlIGJ1ZmZlciBhcworCSAqIGxhcmdlIGFzIG1heChtaW5fZHVtcF9hbGxv YywgMTZLaUIgKG1hY19yZWN2bXNnX2xlbiBjYXBwZWQgYXQKKwkgKiBuZXRsaW5rX3JlY3Ztc2co KSkpLiBkdW1wIHdpbGwgcGFjayBhcyBtYW55IHNtYWxsZXIgbWVzc2FnZXMgYXMKKwkgKiBjb3Vs ZCBmaXQgd2l0aGluIHRoZSBhbGxvY2F0ZWQgc2tiLiBza2IgaXMgdHlwaWNhbGx5IGFsbG9jYXRl ZAorCSAqIHdpdGggbGFyZ2VyIHNwYWNlIHRoYW4gcmVxdWlyZWQgKGNvdWxkIGJlIGFzIG11Y2gg YXMgbmVhciAyeCB0aGUKKwkgKiByZXF1ZXN0ZWQgc2l6ZSB3aXRoIGFsaWduIHRvIG5leHQgcG93 ZXIgb2YgMiBhcHByb2FjaCkuIEFsbG93aW5nCisJICogZHVtcCB0byB1c2UgdGhlIGV4Y2VzcyBz cGFjZSBtYWtlcyBpdCBkaWZmaWN1bHQgZm9yIGEgdXNlciB0byBoYXZlIGEKKwkgKiByZWFzb25h YmxlIHN0YXRpYyBidWZmZXIgYmFzZWQgb24gdGhlIGV4cGVjdGVkIGxhcmdlc3QgZHVtcCBvZiBh CisJICogc2luZ2xlIG5ldGRldi4gVGhlIG91dGNvbWUgaXMgTVNHX1RSVU5DIGVycm9yLgorCSAq LworCXNrYl9yZXNlcnZlKHNrYiwgc2tiX3RhaWxyb29tKHNrYikgLSBhbGxvY19zaXplKTsKIAlu ZXRsaW5rX3NrYl9zZXRfb3duZXJfcihza2IsIHNrKTsKIAogCWxlbiA9IGNiLT5kdW1wKHNrYiwg Y2IpOwotLSAKMS43LjEwLjQKCg== ----Next_Part(Tue_Oct_20_20_51_10_2015_504)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_41.mbox" RnJvbSBkMTcxOWZjMmNiYTYxYTI4ZmVkZDAxMTRmYzExNzhlYjAwODc5ZjgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJdmFuIE1pa2hheWxvdiA8aXZhbkBydS5pYm0uY29tPgpEYXRl OiBGcmksIDI1IFNlcCAyMDE1IDExOjUyOjI3ICswNDAwClN1YmplY3Q6IFtQQVRDSCAwMS8xOF0g bmV0L2libS9lbWFjOiBidW1wIHZlcnNpb24gbnVtYmVycyBmb3IgY29ycmVjdCB3b3JrCiB3aXRo IGV0aHRvb2wKClsgVXBzdHJlYW0gY29tbWl0IDY2MWRmYzY1Zjc5ODE0ODFiYTJlMzFhYWE3MDIz NzFlODIzMzZlNTYgXQoKVGhlIHNpemUgb2YgdGhlIE1BQyByZWdpc3RlciBkdW1wIHVzZWQgdG8g YmUgdGhlIHNpemUgc3BlY2lmaWVkIGJ5IHRoZQpyZWcgcHJvcGVydHkgaW4gdGhlIGRldmljZSB0 cmVlLiAgVXNlcmxhbmQgaGFzIG5vIGdvb2Qgd2F5IG9mIGZpbmRpbmcKb3V0IHRoYXQgc2l6ZSwg YW5kIGl0IHdhcyBub3Qgc3BlY2lmaWVkIGNvbnNpc3RlbnRseSBmb3IgZWFjaCBNQUMgdHlwZSwK c28gZXRodG9vbCB3b3VsZCBlbmQgdXAgcHJpbnRpbmcganVuayBhdCB0aGUgZW5kIG9mIHRoZSBy ZWdpc3RlciBkdW1wCmlmIHRoZSBkZXZpY2UgdHJlZSBkaWRuJ3QgbWF0Y2ggdGhlIHNpemUgaXQg YXNzdW1lZC4KClVzaW5nIHRoZSBuZXcgdmVyc2lvbiBudW1iZXJzIGluZGljYXRlcyB1bmFtYmln dW91c2x5IHRoYXQgdGhlIHNpemUgb2YKdGhlIE1BQyByZWdpc3RlciBkdW1wIGlzIGRlcGVuZGVu dCBvbmx5IG9uIHRoZSBNQUMgdHlwZS4KCkZpeGVzOiA1MzY5YzcxZjdjYTIgKCJuZXQvaWJtL2Vt YWM6IGZpeCBzaXplIG9mIGVtYWMgZHVtcCBtZW1vcnkgYXJlYXMiKQpTaWduZWQtb2ZmLWJ5OiBJ dmFuIE1pa2hheWxvdiA8aXZhbkBydS5pYm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJt L2VtYWMvY29yZS5oIHwgICAgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJt L2VtYWMvY29yZS5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJtL2VtYWMvY29yZS5oCmluZGV4 IDI4ZGYzNzQuLmFjMDJjNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2libS9l bWFjL2NvcmUuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pYm0vZW1hYy9jb3JlLmgKQEAg LTQ2MCw4ICs0NjAsOCBAQCBzdHJ1Y3QgZW1hY19ldGh0b29sX3JlZ3Nfc3ViaGRyIHsKIAl1MzIg aW5kZXg7CiB9OwogCi0jZGVmaW5lIEVNQUNfRVRIVE9PTF9SRUdTX1ZFUgkJMAotI2RlZmluZSBF TUFDNF9FVEhUT09MX1JFR1NfVkVSCQkxCi0jZGVmaW5lIEVNQUM0U1lOQ19FVEhUT09MX1JFR1Nf VkVSCTIKKyNkZWZpbmUgRU1BQ19FVEhUT09MX1JFR1NfVkVSCQkzCisjZGVmaW5lIEVNQUM0X0VU SFRPT0xfUkVHU19WRVIJCTQKKyNkZWZpbmUgRU1BQzRTWU5DX0VUSFRPT0xfUkVHU19WRVIJNQog CiAjZW5kaWYgLyogX19JQk1fTkVXRU1BQ19DT1JFX0ggKi8KLS0gCjEuNy4xMC40CgoKRnJvbSBh ZWY3NzY1ZjIzMmYyMTVhMzFhMGQwNGEzODlkYTllZjVmYjQwNGJhIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQ291emVucyA8bHlueGlzQGZlODAuZXU+CkRhdGU6IE1v biwgMjggU2VwIDIwMTUgMTE6MzI6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzE4XSBsMnRw OiBwcm90ZWN0IHR1bm5lbC0+ZGVsX3dvcmsgYnkgcmVmX2NvdW50CgpbIFVwc3RyZWFtIGNvbW1p dCAwNmExNWY1MWNmMzYxOGUzMmE3Mzg3MWVlNmE1NDdlZjdmZDkwMmI1IF0KClRoZXJlIGlzIGEg c21hbGwgY2hhbmNlIHRoYXQgdHVubmVsX2ZyZWUoKSBpcyBjYWxsZWQgYmVmb3JlIHR1bm5lbC0+ ZGVsX3dvcmsgc2NoZWR1bGVkCnJlc3VsdGluZyBpbiBhIHplcm8gcG9pbnRlciBkZXJlZmVyZW5j ZS4KClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBDb3V6ZW5zIDxseW54aXNAZmU4MC5ldT4KQWNr ZWQtYnk6IEphbWVzIENoYXBtYW4gPGpjaGFwbWFuQGthdGFsaXguY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2wydHAvbDJ0 cF9jb3JlLmMgfCAgIDExICsrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9sMnRwL2wydHBfY29yZS5jIGIv bmV0L2wydHAvbDJ0cF9jb3JlLmMKaW5kZXggYTI5YTUwNC4uZTNkYjQ5OCAxMDA2NDQKLS0tIGEv bmV0L2wydHAvbDJ0cF9jb3JlLmMKKysrIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKQEAgLTEzMTks NyArMTMxOSw3IEBAIHN0YXRpYyB2b2lkIGwydHBfdHVubmVsX2RlbF93b3JrKHN0cnVjdCB3b3Jr X3N0cnVjdCAqd29yaykKIAl0dW5uZWwgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGwydHBf dHVubmVsLCBkZWxfd29yayk7CiAJc2sgPSBsMnRwX3R1bm5lbF9zb2NrX2xvb2t1cCh0dW5uZWwp OwogCWlmICghc2spCi0JCXJldHVybjsKKwkJZ290byBvdXQ7CiAKIAlzb2NrID0gc2stPnNrX3Nv Y2tldDsKIApAQCAtMTM0MCw2ICsxMzQwLDggQEAgc3RhdGljIHZvaWQgbDJ0cF90dW5uZWxfZGVs X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCX0KIAogCWwydHBfdHVubmVsX3NvY2tf cHV0KHNrKTsKK291dDoKKwlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQodHVubmVsKTsKIH0KIAog LyogQ3JlYXRlIGEgc29ja2V0IGZvciB0aGUgdHVubmVsLCBpZiBvbmUgaXNuJ3Qgc2V0IHVwIGJ5 CkBAIC0xNjM5LDggKzE2NDEsMTMgQEAgRVhQT1JUX1NZTUJPTF9HUEwobDJ0cF90dW5uZWxfY3Jl YXRlKTsKICAqLwogaW50IGwydHBfdHVubmVsX2RlbGV0ZShzdHJ1Y3QgbDJ0cF90dW5uZWwgKnR1 bm5lbCkKIHsKKwlsMnRwX3R1bm5lbF9pbmNfcmVmY291bnQodHVubmVsKTsKIAlsMnRwX3R1bm5l bF9jbG9zZWFsbCh0dW5uZWwpOwotCXJldHVybiAoZmFsc2UgPT0gcXVldWVfd29yayhsMnRwX3dx LCAmdHVubmVsLT5kZWxfd29yaykpOworCWlmIChmYWxzZSA9PSBxdWV1ZV93b3JrKGwydHBfd3Es ICZ0dW5uZWwtPmRlbF93b3JrKSkgeworCQlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQodHVubmVs KTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9HUEwobDJ0 cF90dW5uZWxfZGVsZXRlKTsKIAotLSAKMS43LjEwLjQKCgpGcm9tIGVmNWZmYWZiYTQwOGM2NjI1 YmY3OTE4ZTg5YTIxN2YzZjc2ZmMyN2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFBy YXZpbiBCIFNoZWxhciA8cHNoZWxhckBuaWNpcmEuY29tPgpEYXRlOiBUdWUsIDIyIFNlcCAyMDE1 IDEyOjU3OjUzIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwMy8xOF0gc2tidWZmOiBGaXggc2tiIGNo ZWNrc3VtIGZsYWcgb24gc2tiIHB1bGwKClsgVXBzdHJlYW0gY29tbWl0IDZhZTQ1OWJkYWFlZWJj NjMyYjE2ZTU0ZGNiYWJiNDkwYzY5MzFkNjEgXQoKVlhMQU4gZGV2aWNlIGNhbiByZWNlaXZlIHNr YiB3aXRoIGNoZWNrc3VtIHBhcnRpYWwuIEJ1dCB0aGUgY2hlY2tzdW0Kb2Zmc2V0IGNvdWxkIGJl IGluIG91dGVyIGhlYWRlciB3aGljaCBpcyBwdWxsZWQgb24gcmVjZWl2ZS4gVGhpcyByZXN1bHRz CmluIG5lZ2F0aXZlIGNoZWNrc3VtIG9mZnNldCBmb3IgdGhlIHNrYi4gU3VjaCBza2IgY2FuIGNh dXNlIHRoZSBhc3NlcnQKZmFpbHVyZSBpbiBza2JfY2hlY2tzdW1faGVscCgpLiBGb2xsb3dpbmcg cGF0Y2ggZml4ZXMgdGhlIGJ1ZyBieSBzZXR0aW5nCmNoZWNrc3VtLW5vbmUgd2hpbGUgcHVsbGlu ZyBvdXRlciBoZWFkZXIuCgpGb2xsb3dpbmcgaXMgdGhlIGtlcm5lbCBwYW5pYyBtc2cgZnJvbSBv bGQga2VybmVsIGhpdHRpbmcgdGhlIGJ1Zy4KCi0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0t LS0tLS0tLQprZXJuZWwgQlVHIGF0IG5ldC9jb3JlL2Rldi5jOjE5MDYhClJJUDogMDAxMDpbPGZm ZmZmZmZmODE1MTgwMzQ+XSBza2JfY2hlY2tzdW1faGVscCsweDE0NC8weDE1MApDYWxsIFRyYWNl Ogo8SVJRPgpbPGZmZmZmZmZmYTAxNjRjMjg+XSBxdWV1ZV91c2Vyc3BhY2VfcGFja2V0KzB4NDA4 LzB4NDcwIFtvcGVudnN3aXRjaF0KWzxmZmZmZmZmZmEwMTY2MTRkPl0gb3ZzX2RwX3VwY2FsbCsw eDVkLzB4NjAgW29wZW52c3dpdGNoXQpbPGZmZmZmZmZmYTAxNjYyMzY+XSBvdnNfZHBfcHJvY2Vz c19wYWNrZXRfd2l0aF9rZXkrMHhlNi8weDEwMCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmZhMDE2 NjI5Yj5dIG92c19kcF9wcm9jZXNzX3JlY2VpdmVkX3BhY2tldCsweDRiLzB4ODAgW29wZW52c3dp dGNoXQpbPGZmZmZmZmZmYTAxNmM1MWE+XSBvdnNfdnBvcnRfcmVjZWl2ZSsweDJhLzB4MzAgW29w ZW52c3dpdGNoXQpbPGZmZmZmZmZmYTAxNzEzODM+XSB2eGxhbl9yY3YrMHg1My8weDYwIFtvcGVu dnN3aXRjaF0KWzxmZmZmZmZmZmEwMTczNGNiPl0gdnhsYW5fdWRwX2VuY2FwX3JlY3YrMHg4Yi8w eGYwIFtvcGVudnN3aXRjaF0KWzxmZmZmZmZmZjgxNTdhZGRjPl0gdWRwX3F1ZXVlX3Jjdl9za2Ir MHgyZGMvMHgzYjAKWzxmZmZmZmZmZjgxNTdiNTZmPl0gX191ZHA0X2xpYl9yY3YrMHgxY2YvMHg2 YzAKWzxmZmZmZmZmZjgxNTdiYTdhPl0gdWRwX3JjdisweDFhLzB4MjAKWzxmZmZmZmZmZjgxNTRm ZGJkPl0gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHhkZC8weDI4MApbPGZmZmZmZmZmODE1NTAx Mjg+XSBpcF9sb2NhbF9kZWxpdmVyKzB4ODgvMHg5MApbPGZmZmZmZmZmODE1NGZhN2Q+XSBpcF9y Y3ZfZmluaXNoKzB4MTBkLzB4MzcwCls8ZmZmZmZmZmY4MTU1MDM2NT5dIGlwX3JjdisweDIzNS8w eDMwMApbPGZmZmZmZmZmODE1MWJhMWQ+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4NTVkLzB4NjIw Cls8ZmZmZmZmZmY4MTUxYzM2MD5dIG5ldGlmX3JlY2VpdmVfc2tiKzB4ODAvMHg5MApbPGZmZmZm ZmZmODE0NTk5MzU+XSB2aXJ0bmV0X3BvbGwrMHg1NTUvMHg2ZjAKWzxmZmZmZmZmZjgxNTFjZDA0 Pl0gbmV0X3J4X2FjdGlvbisweDEzNC8weDI5MApbPGZmZmZmZmZmODEwNjgzZDg+XSBfX2RvX3Nv ZnRpcnErMHhhOC8weDIxMApbPGZmZmZmZmZmODE2MmZlNmM+XSBjYWxsX3NvZnRpcnErMHgxYy8w eDMwCls8ZmZmZmZmZmY4MTAxNjFhNT5dIGRvX3NvZnRpcnErMHg2NS8weGEwCls8ZmZmZmZmZmY4 MTA2ODdiZT5dIGlycV9leGl0KzB4OGUvMHhiMApbPGZmZmZmZmZmODE2MzA3MzM+XSBkb19JUlEr MHg2My8weGUwCls8ZmZmZmZmZmY4MTYyNWYyZT5dIGNvbW1vbl9pbnRlcnJ1cHQrMHg2ZS8weDZl CgpSZXBvcnRlZC1ieTogQW51cGFtIENoYW5kYSA8YWNoYW5kYUB2bXdhcmUuY29tPgpTaWduZWQt b2ZmLWJ5OiBQcmF2aW4gQiBTaGVsYXIgPHBzaGVsYXJAbmljaXJhLmNvbT4KQWNrZWQtYnk6IFRv bSBIZXJiZXJ0IDx0b21AaGVyYmVydGxhbmQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9saW51eC9za2J1ZmYuaCB8 ICAgIDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC9za2J1ZmYuaCBiL2luY2x1ZGUvbGludXgvc2tidWZmLmgKaW5kZXggZWIx YzU1Yi4uN2YwNDI3MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9za2J1ZmYuaAorKysgYi9p bmNsdWRlL2xpbnV4L3NrYnVmZi5oCkBAIC0yNTg4LDYgKzI1ODgsOSBAQCBzdGF0aWMgaW5saW5l IHZvaWQgc2tiX3Bvc3RwdWxsX3Jjc3VtKHN0cnVjdCBza19idWZmICpza2IsCiB7CiAJaWYgKHNr Yi0+aXBfc3VtbWVkID09IENIRUNLU1VNX0NPTVBMRVRFKQogCQlza2ItPmNzdW0gPSBjc3VtX3N1 Yihza2ItPmNzdW0sIGNzdW1fcGFydGlhbChzdGFydCwgbGVuLCAwKSk7CisJZWxzZSBpZiAoc2ti LT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fUEFSVElBTCAmJgorCQkgc2tiX2NoZWNrc3VtX3N0YXJ0 X29mZnNldChza2IpIDw9IGxlbikKKwkJc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9OT05FOwog fQogCiB1bnNpZ25lZCBjaGFyICpza2JfcHVsbF9yY3N1bShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1 bnNpZ25lZCBpbnQgbGVuKTsKLS0gCjEuNy4xMC40CgoKRnJvbSBmZGRlNWVkNThjNDA2OWM1OWM5 MjQzNTdiNTI0ZmU1YzhhNWNlZDUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQcmF2 aW4gQiBTaGVsYXIgPHBzaGVsYXJAbmljaXJhLmNvbT4KRGF0ZTogTW9uLCAyOCBTZXAgMjAxNSAx NzoyNDoyNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMThdIHNrYnVmZjogRml4IHNrYiBjaGVj a3N1bSBwYXJ0aWFsIGNoZWNrLgoKWyBVcHN0cmVhbSBjb21taXQgMzFiMzNkZmIwYTE0NDQ2OWRk ODA1NTE0YzllNjNmNDk5MzcyOWE0OCBdCgpFYXJsaWVyIHBhdGNoIDZhZTQ1OWJkYSB0cmllZCB0 byBkZXRlY3Qgdm9pZCBja2Vja3N1bSBwYXJ0aWFsCnNrYiBieSBjb21wYXJpbmcgcHVsbCBsZW5n dGggdG8gY2hlY2tzdW0gb2Zmc2V0LiBCdXQgaXQgZG9lcwpub3Qgd29yayBmb3IgYWxsIGNhc2Vz IHNpbmNlIGNoZWNrc3VtLW9mZnNldCBkZXBlbmRzIG9uCnVwZGF0ZXMgdG8gc2tiLT5kYXRhLgoK Rm9sbG93aW5nIHBhdGNoIGZpeGVzIGl0IGJ5IHZhbGlkYXRpbmcgY2hlY2tzdW0gc3RhcnQgb2Zm c2V0CmFmdGVyIHNrYi1kYXRhIHBvaW50ZXIgaXMgdXBkYXRlZC4gTmVnYXRpdmUgdmFsdWUgb2Yg Y2hlY2tzdW0Kb2Zmc2V0IHN0YXJ0IG1lYW5zIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2tzdW0u CgpGaXhlczogNmFlNDU5YmRhICgic2tidWZmOiBGaXggc2tiIGNoZWNrc3VtIGZsYWcgb24gc2ti IHB1bGwiKQpSZXBvcnRlZC1ieTogQW5kcmV3IFZhZ2luIDxhdmFnaW5Ab2Rpbi5jb20+ClNpZ25l ZC1vZmYtYnk6IFByYXZpbiBCIFNoZWxhciA8cHNoZWxhckBuaWNpcmEuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9s aW51eC9za2J1ZmYuaCB8ICAgIDIgKy0KIG5ldC9jb3JlL3NrYnVmZi5jICAgICAgfCAgICA5ICsr KysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9za2J1ZmYuaCBiL2luY2x1ZGUvbGludXgvc2ti dWZmLmgKaW5kZXggN2YwNDI3MS4uNDMwN2UyMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9z a2J1ZmYuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCkBAIC0yNTg5LDcgKzI1ODksNyBA QCBzdGF0aWMgaW5saW5lIHZvaWQgc2tiX3Bvc3RwdWxsX3Jjc3VtKHN0cnVjdCBza19idWZmICpz a2IsCiAJaWYgKHNrYi0+aXBfc3VtbWVkID09IENIRUNLU1VNX0NPTVBMRVRFKQogCQlza2ItPmNz dW0gPSBjc3VtX3N1Yihza2ItPmNzdW0sIGNzdW1fcGFydGlhbChzdGFydCwgbGVuLCAwKSk7CiAJ ZWxzZSBpZiAoc2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fUEFSVElBTCAmJgotCQkgc2tiX2No ZWNrc3VtX3N0YXJ0X29mZnNldChza2IpIDw9IGxlbikKKwkJIHNrYl9jaGVja3N1bV9zdGFydF9v ZmZzZXQoc2tiKSA8IDApCiAJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1fTk9ORTsKIH0KIApk aWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tidWZmLmMgYi9uZXQvY29yZS9za2J1ZmYuYwppbmRleCBh MmU0ZTQ3Li4wNzVkMmU3IDEwMDY0NAotLS0gYS9uZXQvY29yZS9za2J1ZmYuYworKysgYi9uZXQv Y29yZS9za2J1ZmYuYwpAQCAtMjk3NiwxMSArMjk3NiwxMiBAQCBFWFBPUlRfU1lNQk9MKHNrYl9h cHBlbmRfZGF0YXRvX2ZyYWdzKTsKICAqLwogdW5zaWduZWQgY2hhciAqc2tiX3B1bGxfcmNzdW0o c3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgaW50IGxlbikKIHsKKwl1bnNpZ25lZCBjaGFy ICpkYXRhID0gc2tiLT5kYXRhOworCiAJQlVHX09OKGxlbiA+IHNrYi0+bGVuKTsKLQlza2ItPmxl biAtPSBsZW47Ci0JQlVHX09OKHNrYi0+bGVuIDwgc2tiLT5kYXRhX2xlbik7Ci0Jc2tiX3Bvc3Rw dWxsX3Jjc3VtKHNrYiwgc2tiLT5kYXRhLCBsZW4pOwotCXJldHVybiBza2ItPmRhdGEgKz0gbGVu OworCV9fc2tiX3B1bGwoc2tiLCBsZW4pOworCXNrYl9wb3N0cHVsbF9yY3N1bShza2IsIGRhdGEs IGxlbik7CisJcmV0dXJuIHNrYi0+ZGF0YTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHNrYl9wdWxs X3Jjc3VtKTsKIAotLSAKMS43LjEwLjQKCgpGcm9tIDA0YTI5NGMzYjhmMDczMGYyZmFhYjViNDg4 YzY3YzgzMWIwODUxNGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpl dCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1LCAxMyBBdWcgMjAxNSAxNTo0NDo1MSAt MDcwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMThdIGluZXQ6IGZpeCBwb3RlbnRpYWwgZGVhZGxvY2sg aW4gcmVxc2tfcXVldWVfdW5saW5rKCkKClsgVXBzdHJlYW0gY29tbWl0IDgzZmNjZmMzOTQwYzRh MmRiOTBmZDdlNzA3OWY1YjQ2NWNkOGM2YWYgXQoKV2hlbiByZXBsYWNpbmcgZGVsX3RpbWVyKCkg d2l0aCBkZWxfdGltZXJfc3luYygpLCBJIGludHJvZHVjZWQKYSBkZWFkbG9jayBjb25kaXRpb24g OgoKcmVxc2tfcXVldWVfdW5saW5rKCkgaXMgY2FsbGVkIGZyb20gaW5ldF9jc2tfcmVxc2tfcXVl dWVfZHJvcCgpCgppbmV0X2Nza19yZXFza19xdWV1ZV9kcm9wKCkgY2FuIGJlIGNhbGxlZCBmcm9t IG1hbnkgY29udGV4dHMsCm9uZSBiZWluZyB0aGUgdGltZXIgaGFuZGxlciBpdHNlbGYgKHJlcXNr X3RpbWVyX2hhbmRsZXIoKSkuCgpJbiB0aGlzIGNhc2UsIGRlbF90aW1lcl9zeW5jKCkgbG9vcHMg Zm9yZXZlci4KClNpbXBsZSBmaXggaXMgdG8gdGVzdCBpZiB0aW1lciBpcyBwZW5kaW5nLgoKRml4 ZXM6IDIyMzVmMmFjNzVmZCAoImluZXQ6IGZpeCByYWNlcyB3aXRoIHJlcXNrIHRpbWVycyIpClNp Z25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0 L2luZXRfY29ubmVjdGlvbl9zb2NrLmMgfCAgICAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9pbmV0X2Nvbm5l Y3Rpb25fc29jay5jIGIvbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYwppbmRleCBiMjdm YzQwLi5lNjY0NzA2IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5j CisrKyBiL25ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMKQEAgLTU4NCw3ICs1ODQsNyBA QCBzdGF0aWMgYm9vbCByZXFza19xdWV1ZV91bmxpbmsoc3RydWN0IHJlcXVlc3Rfc29ja19xdWV1 ZSAqcXVldWUsCiAJfQogCiAJc3Bpbl91bmxvY2soJnF1ZXVlLT5zeW5fd2FpdF9sb2NrKTsKLQlp ZiAoZGVsX3RpbWVyX3N5bmMoJnJlcS0+cnNrX3RpbWVyKSkKKwlpZiAodGltZXJfcGVuZGluZygm cmVxLT5yc2tfdGltZXIpICYmIGRlbF90aW1lcl9zeW5jKCZyZXEtPnJza190aW1lcikpCiAJCXJl cXNrX3B1dChyZXEpOwogCXJldHVybiBmb3VuZDsKIH0KLS0gCjEuNy4xMC40CgoKRnJvbSBjOGY0 ZjI0OTAzYzZlYTViNzcyOGM4YWEyNDM4Y2FlOWQxNmM0ZTg0IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFNhdCwg MTkgU2VwIDIwMTUgMDk6NDg6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIIDA2LzE4XSBpbmV0OiBm aXggcmFjZXMgaW4gcmVxc2tfcXVldWVfaGFzaF9yZXEoKQoKWyBVcHN0cmVhbSBjb21taXQgMjlj Njg1MjYwMmUyNTlkMmMxODgyZjMyMGIyOWQ1YzNmZWMwZGUwNCBdCgpCZWZvcmUgYWxsb3dpbmcg bG9ja2xlc3MgTElTVEVOIHByb2Nlc3NpbmcsIHdlIG5lZWQgdG8gbWFrZQpzdXJlIHRvIGFybSB0 aGUgU1lOX1JFQ1YgdGltZXIgYmVmb3JlIHRoZSByZXEgc29ja2V0IGlzIHZpc2libGUKaW4gaGFz aCB0YWJsZXMuCgpBbHNvLCByZXEtPnJza19oYXNoIHNob3VsZCBiZSB3cml0dGVuIGJlZm9yZSB3 ZSBzZXQgcnNrX3JlZmNudAp0byBhIG5vbiB6ZXJvIHZhbHVlLgoKRml4ZXM6IGZhNzZjZTczMjhi MiAoImluZXQ6IGdldCByaWQgb2YgY2VudHJhbCB0Y3AvZGNjcCBsaXN0ZW5lciB0aW1lciIpClNp Z25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IFlpbmcg Q2FpIDx5Y2FpQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jIHwg ICAgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jIGIvbmV0 L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYwppbmRleCBlNjY0NzA2Li4zOTBmNjFkIDEwMDY0 NAotLS0gYS9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jCisrKyBiL25ldC9pcHY0L2lu ZXRfY29ubmVjdGlvbl9zb2NrLmMKQEAgLTY3NiwyMCArNjc2LDIwIEBAIHZvaWQgcmVxc2tfcXVl dWVfaGFzaF9yZXEoc3RydWN0IHJlcXVlc3Rfc29ja19xdWV1ZSAqcXVldWUsCiAJcmVxLT5udW1f dGltZW91dCA9IDA7CiAJcmVxLT5zayA9IE5VTEw7CiAKKwlzZXR1cF90aW1lcigmcmVxLT5yc2tf dGltZXIsIHJlcXNrX3RpbWVyX2hhbmRsZXIsICh1bnNpZ25lZCBsb25nKXJlcSk7CisJbW9kX3Rp bWVyX3Bpbm5lZCgmcmVxLT5yc2tfdGltZXIsIGppZmZpZXMgKyB0aW1lb3V0KTsKKwlyZXEtPnJz a19oYXNoID0gaGFzaDsKKwogCS8qIGJlZm9yZSBsZXR0aW5nIGxvb2t1cHMgZmluZCB1cywgbWFr ZSBzdXJlIGFsbCByZXEgZmllbGRzCiAJICogYXJlIGNvbW1pdHRlZCB0byBtZW1vcnkgYW5kIHJl ZmNudCBpbml0aWFsaXplZC4KIAkgKi8KIAlzbXBfd21iKCk7CiAJYXRvbWljX3NldCgmcmVxLT5y c2tfcmVmY250LCAyKTsKLQlzZXR1cF90aW1lcigmcmVxLT5yc2tfdGltZXIsIHJlcXNrX3RpbWVy X2hhbmRsZXIsICh1bnNpZ25lZCBsb25nKXJlcSk7Ci0JcmVxLT5yc2tfaGFzaCA9IGhhc2g7CiAK IAlzcGluX2xvY2soJnF1ZXVlLT5zeW5fd2FpdF9sb2NrKTsKIAlyZXEtPmRsX25leHQgPSBsb3B0 LT5zeW5fdGFibGVbaGFzaF07CiAJbG9wdC0+c3luX3RhYmxlW2hhc2hdID0gcmVxOwogCXNwaW5f dW5sb2NrKCZxdWV1ZS0+c3luX3dhaXRfbG9jayk7Ci0KLQltb2RfdGltZXJfcGlubmVkKCZyZXEt PnJza190aW1lciwgamlmZmllcyArIHRpbWVvdXQpOwogfQogRVhQT1JUX1NZTUJPTChyZXFza19x dWV1ZV9oYXNoX3JlcSk7CiAKLS0gCjEuNy4xMC40CgoKRnJvbSBkN2Q0NDE5NGIxNWQ4Y2ZlYjY3 YWFmYWFkMDA3MDU3M2VmNDFiYWNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgMjkgU2VwIDIwMTUgMTg6 NTI6MjUgLTA3MDAKU3ViamVjdDogW1BBVENIIDA3LzE4XSBuZXQ6IGFkZCBwZm1lbWFsbG9jIGNo ZWNrIGluIHNrX2FkZF9iYWNrbG9nKCkKClsgVXBzdHJlYW0gY29tbWl0IGM3YzQ5YjhmZGUyNmI3 NDI3NzE4OGJkYzZjOWRjYTM4ZGI2ZmEzNWIgXQoKR3JlZyByZXBvcnRlZCBjcmFzaGVzIGhpdHRp bmcgdGhlIGZvbGxvd2luZyBjaGVjayBpbiBfX3NrX2JhY2tsb2dfcmN2KCkKCglCVUdfT04oIXNv Y2tfZmxhZyhzaywgU09DS19NRU1BTExPQykpOwoKVGhlIHBmbWVtYWxsb2MgYml0IGlzIGN1cnJl bnRseSBjaGVja2VkIGluIHNrX2ZpbHRlcigpLgoKVGhpcyB3b3JrcyBjb3JyZWN0bHkgZm9yIFRD UCwgYmVjYXVzZSBza19maWx0ZXIoKSBpcyByYW4gaW4KdGNwX3ZbNDZdX3JjdigpIGJlZm9yZSBo aXR0aW5nIHRoZSBwcmVxdWV1ZSBvciBiYWNrbG9nIGNoZWNrcy4KCkZvciBVRFAgb3Igb3RoZXIg cHJvdG9jb2xzLCB0aGlzIGRvZXMgbm90IHdvcmssIGJlY2F1c2UgdGhlIHNrX2ZpbHRlcigpCmlz IHJhbiBmcm9tIHNvY2tfcXVldWVfcmN2X3NrYigpLCB3aGljaCBtaWdodCBiZSBjYWxsZWQgX2Fm dGVyXyBiYWNrbG9nCnF1ZXVpbmcgaWYgc29ja2V0IGlzIG93bmVkIGJ5IHVzZXIgYnkgdGhlIHRp bWUgcGFja2V0IGlzIHByb2Nlc3NlZCBieQpzb2Z0aXJxIGhhbmRsZXIuCgpGaXhlczogYjRiOWUz NTU4NTA4OSAoIm5ldHZtOiBzZXQgUEZfTUVNQUxMT0MgYXMgYXBwcm9wcmlhdGUgZHVyaW5nIFNL QiBwcm9jZXNzaW5nIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpSZXBvcnRlZC1ieTogR3JlZyBUaGVsZW4gPGd0aGVsZW5AZ29vZ2xlLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGlu Y2x1ZGUvbmV0L3NvY2suaCB8ICAgIDggKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9zb2NrLmggYi9pbmNsdWRlL25ldC9z b2NrLmgKaW5kZXggM2E0ODk4ZS4uZWQwMWEwMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvc29j ay5oCisrKyBiL2luY2x1ZGUvbmV0L3NvY2suaApAQCAtODI2LDYgKzgyNiwxNCBAQCBzdGF0aWMg aW5saW5lIF9fbXVzdF9jaGVjayBpbnQgc2tfYWRkX2JhY2tsb2coc3RydWN0IHNvY2sgKnNrLCBz dHJ1Y3Qgc2tfYnVmZiAqcwogCWlmIChza19yY3ZxdWV1ZXNfZnVsbChzaywgbGltaXQpKQogCQly ZXR1cm4gLUVOT0JVRlM7CiAKKwkvKgorCSAqIElmIHRoZSBza2Igd2FzIGFsbG9jYXRlZCBmcm9t IHBmbWVtYWxsb2MgcmVzZXJ2ZXMsIG9ubHkKKwkgKiBhbGxvdyBTT0NLX01FTUFMTE9DIHNvY2tl dHMgdG8gdXNlIGl0IGFzIHRoaXMgc29ja2V0IGlzCisJICogaGVscGluZyBmcmVlIG1lbW9yeQor CSAqLworCWlmIChza2JfcGZtZW1hbGxvYyhza2IpICYmICFzb2NrX2ZsYWcoc2ssIFNPQ0tfTUVN QUxMT0MpKQorCQlyZXR1cm4gLUVOT01FTTsKKwogCV9fc2tfYWRkX2JhY2tsb2coc2ssIHNrYik7 CiAJc2stPnNrX2JhY2tsb2cubGVuICs9IHNrYi0+dHJ1ZXNpemU7CiAJcmV0dXJuIDA7Ci0tIAox LjcuMTAuNAoKCkZyb20gZjVhZTUzZTlmNDQ2OTZmYzY3ZDc4MTc4NDhhZGRkODIyZWQ4ZTcxYiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogR3VpbGxhdW1lIE5hdWx0IDxnLm5hdWx0QGFs cGhhbGluay5mcj4KRGF0ZTogV2VkLCAzMCBTZXAgMjAxNSAxMTo0NTozMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDgvMThdIHBwcDogZG9uJ3Qgb3ZlcnJpZGUgc2stPnNrX3N0YXRlIGluIHBwcG9l X2ZsdXNoX2RldigpCgpbIFVwc3RyZWFtIGNvbW1pdCBlNjc0MDE2NWI4ZjdmMDZkOGNhZWUwZmNl YWIzZmI5ZDc5MGE2ZmVkIF0KClNpbmNlIGNvbW1pdCAyYjAxOGQ1N2ZmMTggKCJwcHBvZTogZHJv cCBQUFBPWF9aT01CSUVzIGluIHBwcG9lX3JlbGVhc2UiKSwKcHBwb2VfcmVsZWFzZSgpIGNhbGxz IGRldl9wdXQocG8tPnBwcG9lX2RldikgaWYgc2sgaXMgaW4gdGhlClBQUE9YX1pPTUJJRSBzdGF0 ZS4gQnV0IHBwcG9lX2ZsdXNoX2RldigpIGNhbiBzZXQgc2stPnNrX3N0YXRlIHRvClBQUE9YX1pP TUJJRSBfYW5kXyByZXNldCBwby0+cHBwb2VfZGV2IHRvIE5VTEwuIFRoaXMgbGVhZHMgdG8gdGhl CmZvbGxvd2luZyBvb3BzOgoKWyAgNTcwLjE0MDgwMF0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtl cm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAwMDAwMDAwMDAwMDRlMApbICA1NzAu MTQyOTMxXSBJUDogWzxmZmZmZmZmZmEwMThjNzAxPl0gcHBwb2VfcmVsZWFzZSsweDUwLzB4MTAx IFtwcHBvZV0KWyAgNTcwLjE0NDYwMV0gUEdEIDNkMTE5MDY3IFBVRCAzZGJjMTA2NyBQTUQgMApb ICA1NzAuMTQ0NjAxXSBPb3BzOiAwMDAwIFsjMV0gU01QClsgIDU3MC4xNDQ2MDFdIE1vZHVsZXMg bGlua2VkIGluOiBsMnRwX3BwcCBsMnRwX25ldGxpbmsgbDJ0cF9jb3JlIGlwNl91ZHBfdHVubmVs IHVkcF90dW5uZWwgcHBwb2UgcHBwb3ggcHBwX2dlbmVyaWMgc2xoYyBsb29wIGNyYzMyY19pbnRl bCBnaGFzaF9jbG11bG5pX2ludGVsIGppdHRlcmVudHJvcHlfcm5nIHNoYTI1Nl9nZW5lcmljIGht YWMgZHJiZyBhbnNpX2Nwcm5nIGFlc25pX2ludGVsIGFlc194ODZfNjQgYWJsa19oZWxwZXIgY3J5 cHRkIGxydyBnZjEyOG11bCBnbHVlX2hlbHBlciBhY3BpX2NwdWZyZXEgZXZkZXYgc2VyaW9fcmF3 IHByb2Nlc3NvciBidXR0b24gZXh0NCBjcmMxNiBtYmNhY2hlIGpiZDIgdmlydGlvX25ldCB2aXJ0 aW9fYmxrIHZpcnRpb19wY2kgdmlydGlvX3JpbmcgdmlydGlvClsgIDU3MC4xNDQ2MDFdIENQVTog MSBQSUQ6IDE1NzM4IENvbW06IHBwcC1hcGl0ZXN0IE5vdCB0YWludGVkIDQuMi4wICMxClsgIDU3 MC4xNDQ2MDFdIEhhcmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgs IDE5OTYpLCBCSU9TIERlYmlhbi0xLjguMi0xIDA0LzAxLzIwMTQKWyAgNTcwLjE0NDYwMV0gdGFz azogZmZmZjg4MDAzZDMwZDYwMCB0aTogZmZmZjg4MDAzNmI2MDAwMCB0YXNrLnRpOiBmZmZmODgw MDM2YjYwMDAwClsgIDU3MC4xNDQ2MDFdIFJJUDogMDAxMDpbPGZmZmZmZmZmYTAxOGM3MDE+XSAg WzxmZmZmZmZmZmEwMThjNzAxPl0gcHBwb2VfcmVsZWFzZSsweDUwLzB4MTAxIFtwcHBvZV0KWyAg NTcwLjE0NDYwMV0gUlNQOiAwMDE4OmZmZmY4ODAwMzZiNjNlMDggIEVGTEFHUzogMDAwMTAyMDIK WyAgNTcwLjE0NDYwMV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjg4MDAzNDM0MDAw MCBSQ1g6IDAwMDAwMDAwMDAwMDAyMDYKWyAgNTcwLjE0NDYwMV0gUkRYOiAwMDAwMDAwMDAwMDAw MDA2IFJTSTogZmZmZjg4MDAzZDMwZGQyMCBSREk6IGZmZmY4ODAwM2QzMGRkMjAKWyAgNTcwLjE0 NDYwMV0gUkJQOiBmZmZmODgwMDM2YjYzZTI4IFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAw MDAwMDAwMDAwMDAwMDAKWyAgNTcwLjE0NDYwMV0gUjEwOiAwMDAwN2ZmZWU5YjUwNDIwIFIxMTog ZmZmZjg4MDAzNDM0MDA3OCBSMTI6IGZmZmY4ODAwMzg3ZWM3ODAKWyAgNTcwLjE0NDYwMV0gUjEz OiBmZmZmODgwMDM4N2VjN2IwIFIxNDogZmZmZjg4MDAzZTIyMmFhMCBSMTU6IGZmZmY4ODAwMzg3 ZWM3YjAKWyAgNTcwLjE0NDYwMV0gRlM6ICAwMDAwN2Y1NjcyZjQ4NzAwKDAwMDApIEdTOmZmZmY4 ODAwM2ZjODAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbICA1NzAuMTQ0NjAxXSBD UzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgIDU3MC4x NDQ2MDFdIENSMjogMDAwMDAwMDAwMDAwMDRlMCBDUjM6IDAwMDAwMDAwMzdmN2UwMDAgQ1I0OiAw MDAwMDAwMDAwMDQwNmEwClsgIDU3MC4xNDQ2MDFdIFN0YWNrOgpbICA1NzAuMTQ0NjAxXSAgZmZm ZmZmZmZhMDE4ZjI0MCBmZmZmODgwMDM4N2VjNzgwIGZmZmZmZmZmYTAxOGYyNDAgZmZmZjg4MDAz ODdlYzdiMApbICA1NzAuMTQ0NjAxXSAgZmZmZjg4MDAzNmI2M2U0OCBmZmZmZmZmZjgxMmNhYWJl IGZmZmY4ODAwMzllNGUwMDAgMDAwMDAwMDAwMDAwMDAwOApbICA1NzAuMTQ0NjAxXSAgZmZmZjg4 MDAzNmI2M2U1OCBmZmZmZmZmZjgxMmNhYmFkIGZmZmY4ODAwMzZiNjNlYTggZmZmZmZmZmY4MTEz NDdmNQpbICA1NzAuMTQ0NjAxXSBDYWxsIFRyYWNlOgpbICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZm ZjgxMmNhYWJlPl0gc29ja19yZWxlYXNlKzB4MWEvMHg3NQpbICA1NzAuMTQ0NjAxXSAgWzxmZmZm ZmZmZjgxMmNhYmFkPl0gc29ja19jbG9zZSsweGQvMHgxMQpbICA1NzAuMTQ0NjAxXSAgWzxmZmZm ZmZmZjgxMTM0N2Y1Pl0gX19mcHV0KzB4ZmYvMHgxYTUKWyAgNTcwLjE0NDYwMV0gIFs8ZmZmZmZm ZmY4MTEzNDhjYj5dIF9fX19mcHV0KzB4OS8weGIKWyAgNTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4 MTA1NjY4Mj5dIHRhc2tfd29ya19ydW4rMHg2Ni8weDkwClsgIDU3MC4xNDQ2MDFdICBbPGZmZmZm ZmZmODEwMDE4OWU+XSBwcmVwYXJlX2V4aXRfdG9fdXNlcm1vZGUrMHg4Yy8weGE3ClsgIDU3MC4x NDQ2MDFdICBbPGZmZmZmZmZmODEwMDFhMjY+XSBzeXNjYWxsX3JldHVybl9zbG93cGF0aCsweDE2 ZC8weDE5YgpbICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZmZjgxM2JhYmIxPl0gaW50X3JldF9mcm9t X3N5c19jYWxsKzB4MjUvMHg5ZgpbICA1NzAuMTQ0NjAxXSBDb2RlOiA0OCA4YiA4MyBjOCAwMSAw MCAwMCBhOCAwMSA3NCAxMiA0OCA4OSBkZiBlOCA4YiAyNyAxNCBlMSBiOCBmNyBmZiBmZiBmZiBl OSBiNyAwMCAwMCAwMCA4YSA0MyAxMiBhOCAwYiA3NCAxYyA0OCA4YiA4MyBhOCAwNCAwMCAwMCA8 NDg+IDhiIDgwIGUwIDA0IDAwIDAwIDY1IGZmIDA4IDQ4IGM3IDgzIGE4IDA0IDAwIDAwIDAwIDAw IDAwIDAwClsgIDU3MC4xNDQ2MDFdIFJJUCAgWzxmZmZmZmZmZmEwMThjNzAxPl0gcHBwb2VfcmVs ZWFzZSsweDUwLzB4MTAxIFtwcHBvZV0KWyAgNTcwLjE0NDYwMV0gIFJTUCA8ZmZmZjg4MDAzNmI2 M2UwOD4KWyAgNTcwLjE0NDYwMV0gQ1IyOiAwMDAwMDAwMDAwMDAwNGUwClsgIDU3MC4yMDA1MThd IC0tLVsgZW5kIHRyYWNlIDQ2OTU2YmFmMTczNDk1NjMgXS0tLQoKcHBwb2VfZmx1c2hfZGV2KCkg aGFzIG5vIHJlYXNvbiB0byBvdmVycmlkZSBzay0+c2tfc3RhdGUgd2l0aApQUFBPWF9aT01CSUUu IHBwcG94X3VuYmluZF9zb2NrKCkgYWxyZWFkeSBzZXRzIHNrLT5za19zdGF0ZSB0bwpQUFBPWF9E RUFELCB3aGljaCBpcyB0aGUgY29ycmVjdCBzdGF0ZSBnaXZlbiB0aGF0IHNrIGlzIHVuYm91bmQg YW5kCnBvLT5wcHBvZV9kZXYgaXMgTlVMTC4KCkZpeGVzOiAyYjAxOGQ1N2ZmMTggKCJwcHBvZTog ZHJvcCBQUFBPWF9aT01CSUVzIGluIHBwcG9lX3JlbGVhc2UiKQpUZXN0ZWQtYnk6IE9sZWtzaWkg QmVyZXpobmlhayA8Y29yZUBpcmMubGcudWE+ClNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBOYXVs dCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9wcHAvcHBwb2UuYyB8ICAgIDEg LQogMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9wcHAvcHBwb2UuYyBiL2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jCmluZGV4IGI2MmE1ZTMuLmRi MmMzY2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jCisrKyBiL2RyaXZlcnMv bmV0L3BwcC9wcHBvZS5jCkBAIC0zMTMsNyArMzEzLDYgQEAgc3RhdGljIHZvaWQgcHBwb2VfZmx1 c2hfZGV2KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJCQlpZiAocG8tPnBwcG9lX2RldiA9PSBk ZXYgJiYKIAkJCSAgICBzay0+c2tfc3RhdGUgJiAoUFBQT1hfQ09OTkVDVEVEIHwgUFBQT1hfQk9V TkQgfCBQUFBPWF9aT01CSUUpKSB7CiAJCQkJcHBwb3hfdW5iaW5kX3NvY2soc2spOwotCQkJCXNr LT5za19zdGF0ZSA9IFBQUE9YX1pPTUJJRTsKIAkJCQlzay0+c2tfc3RhdGVfY2hhbmdlKHNrKTsK IAkJCQlwby0+cHBwb2VfZGV2ID0gTlVMTDsKIAkJCQlkZXZfcHV0KGRldik7Ci0tIAoxLjcuMTAu NAoKCkZyb20gZDk3MmM3OTRhMDg3NTgyY2I0M2Y4MWQyMmM5MWVkNGU0ZWY2MDhhNSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpEYXRlOiBUaHUsIDEgT2N0IDIwMTUgMDU6Mzk6MjYgLTA3MDAKU3ViamVjdDogW1BBVENIIDA5 LzE4XSBpbmV0OiBmaXggcmFjZSBpbiByZXFza19xdWV1ZV91bmxpbmsoKQoKWyBVcHN0cmVhbSBj b21taXQgMjMwNmM3MDRjZTI4MGM5N2E2MGQxZjQ1MzMzYjgyMmI0MDI4MWRlYSBdCgpyZXFza190 aW1lcl9oYW5kbGVyKCkgdGVzdHMgaWYgaWNza19hY2NlcHRfcXVldWUubGlzdGVuX29wdAppcyBO VUxMIGF0IGl0cyBiZWdpbm5pbmcuCgpCeSB0aGUgdGltZSBpdCBjYWxscyBpbmV0X2Nza19yZXFz a19xdWV1ZV9kcm9wKCkgYW5kCnJlcXNrX3F1ZXVlX3VubGluaygpLCBsaXN0ZW5lciBtaWdodCBo YXZlIGJlZW4gY2xvc2VkIGFuZAppbmV0X2Nza19saXN0ZW5fc3RvcCgpIGhhZCBjYWxsZWQgcmVx c2tfcXVldWVfeWFua19hY2NlcHRxKCkKd2hpY2ggc2V0cyBpY3NrX2FjY2VwdF9xdWV1ZS5saXN0 ZW5fb3B0IHRvIE5VTEwKCldlIHRoZXJlZm9yZSBuZWVkIHRvIGNvcnJlY3RseSBjaGVjayBsaXN0 ZW5fb3B0IGJlaW5nIE5VTEwKYWZ0ZXIgaG9sZGluZyBzeW5fd2FpdF9sb2NrIGZvciBwcm9wZXIg c3luY2hyb25pemF0aW9uLgoKRml4ZXM6IGZhNzZjZTczMjhiMiAoImluZXQ6IGdldCByaWQgb2Yg Y2VudHJhbCB0Y3AvZGNjcCBsaXN0ZW5lciB0aW1lciIpCkZpeGVzOiBiMzU3YTM2NGM1N2MgKCJp bmV0OiBmaXggcG9zc2libGUgcGFuaWMgaW4gcmVxc2tfcXVldWVfdW5saW5rKCkiKQpTaWduZWQt b2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkNjOiBZdWNodW5nIENo ZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMg fCAgIDE5ICsrKysrKysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2luZXRfY29ubmVjdGlv bl9zb2NrLmMgYi9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jCmluZGV4IDM5MGY2MWQu LjRkMmJjOGMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMKKysr IGIvbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYwpAQCAtNTY4LDIxICs1NjgsMjIgQEAg RVhQT1JUX1NZTUJPTChpbmV0X3J0eF9zeW5fYWNrKTsKIHN0YXRpYyBib29sIHJlcXNrX3F1ZXVl X3VubGluayhzdHJ1Y3QgcmVxdWVzdF9zb2NrX3F1ZXVlICpxdWV1ZSwKIAkJCSAgICAgICBzdHJ1 Y3QgcmVxdWVzdF9zb2NrICpyZXEpCiB7Ci0Jc3RydWN0IGxpc3Rlbl9zb2NrICpsb3B0ID0gcXVl dWUtPmxpc3Rlbl9vcHQ7CiAJc3RydWN0IHJlcXVlc3Rfc29jayAqKnByZXY7CisJc3RydWN0IGxp c3Rlbl9zb2NrICpsb3B0OwogCWJvb2wgZm91bmQgPSBmYWxzZTsKIAogCXNwaW5fbG9jaygmcXVl dWUtPnN5bl93YWl0X2xvY2spOwotCi0JZm9yIChwcmV2ID0gJmxvcHQtPnN5bl90YWJsZVtyZXEt PnJza19oYXNoXTsgKnByZXYgIT0gTlVMTDsKLQkgICAgIHByZXYgPSAmKCpwcmV2KS0+ZGxfbmV4 dCkgewotCQlpZiAoKnByZXYgPT0gcmVxKSB7Ci0JCQkqcHJldiA9IHJlcS0+ZGxfbmV4dDsKLQkJ CWZvdW5kID0gdHJ1ZTsKLQkJCWJyZWFrOworCWxvcHQgPSBxdWV1ZS0+bGlzdGVuX29wdDsKKwlp ZiAobG9wdCkgeworCQlmb3IgKHByZXYgPSAmbG9wdC0+c3luX3RhYmxlW3JlcS0+cnNrX2hhc2hd OyAqcHJldiAhPSBOVUxMOworCQkgICAgIHByZXYgPSAmKCpwcmV2KS0+ZGxfbmV4dCkgeworCQkJ aWYgKCpwcmV2ID09IHJlcSkgeworCQkJCSpwcmV2ID0gcmVxLT5kbF9uZXh0OworCQkJCWZvdW5k ID0gdHJ1ZTsKKwkJCQlicmVhazsKKwkJCX0KIAkJfQogCX0KLQogCXNwaW5fdW5sb2NrKCZxdWV1 ZS0+c3luX3dhaXRfbG9jayk7CiAJaWYgKHRpbWVyX3BlbmRpbmcoJnJlcS0+cnNrX3RpbWVyKSAm JiBkZWxfdGltZXJfc3luYygmcmVxLT5yc2tfdGltZXIpKQogCQlyZXFza19wdXQocmVxKTsKLS0g CjEuNy4xMC40CgoKRnJvbSAyOWZmOWVlODAwY2JkZTFjYzRmMWY1NDQ0M2IzOTI0YzQzNTkxOTA2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQm9ya21hbm4gPGRhbmllbEBp b2dlYXJib3gubmV0PgpEYXRlOiBGcmksIDIgT2N0IDIwMTUgMTI6MDY6MDMgKzAyMDAKU3ViamVj dDogW1BBVENIIDEwLzE4XSBicGY6IGZpeCBwYW5pYyBpbiBTT19HRVRfRklMVEVSIHdpdGggbmF0 aXZlIGVicGYKIHByb2dyYW1zCgpbIFVwc3RyZWFtIGNvbW1pdCA5M2QwOGI2OTY2Y2Y3MzBlYTY2 OWQ0ZDk4ZjQzNjI3NTk3MDc3MTUzIF0KCldoZW4gc29ja2V0cyBoYXZlIGEgbmF0aXZlIGVCUEYg cHJvZ3JhbSBhdHRhY2hlZCB0aHJvdWdoCnNldHNvY2tvcHQoc2ssIFNPTF9TT0NLRVQsIFNPX0FU VEFDSF9CUEYsIC4uLiksIGFuZCB0aGVuIHRyeSB0bwpkdW1wIHRoZXNlIG92ZXIgZ2V0c29ja29w dChzaywgU09MX1NPQ0tFVCwgU09fR0VUX0ZJTFRFUiwgLi4uKSwKdGhlIGZvbGxvd2luZyBwYW5p YyBhcHBlYXJzOgoKICBbNDk5MDQuMTc4NjQyXSBCVUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVs IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCAobnVsbCkKICBbNDk5MDQuMTc4NzYyXSBJUDog WzxmZmZmZmZmZjgxNjEwZmQ5Pl0gc2tfZ2V0X2ZpbHRlcisweDM5LzB4OTAKICBbNDk5MDQuMTgy MDAwXSBQR0QgODZmYzkwNjcgUFVEIDUzMWExMDY3IFBNRCAwCiAgWzQ5OTA0LjE4NTE5Nl0gT29w czogMDAwMCBbIzFdIFNNUAogIFsuLi5dCiAgWzQ5OTA0LjIyNDY3N10gQ2FsbCBUcmFjZToKICBb NDk5MDQuMjI2MDkwXSAgWzxmZmZmZmZmZjgxNWUzZDQ5Pl0gc29ja19nZXRzb2Nrb3B0KzB4MzE5 LzB4NzQwCiAgWzQ5OTA0LjIyNzUzNV0gIFs8ZmZmZmZmZmY4MTJmNTllMz5dID8gc29ja19oYXNf cGVybSsweDYzLzB4NzAKICBbNDk5MDQuMjI4OTUzXSAgWzxmZmZmZmZmZjgxNWUyZmM4Pl0gPyBy ZWxlYXNlX3NvY2srMHgxMDgvMHgxNTAKICBbNDk5MDQuMjMwMzgwXSAgWzxmZmZmZmZmZjgxMmY1 YTQzPl0gPyBzZWxpbnV4X3NvY2tldF9nZXRzb2Nrb3B0KzB4MjMvMHgzMAogIFs0OTkwNC4yMzE3 ODhdICBbPGZmZmZmZmZmODE1ZGZmMzY+XSBTeVNfZ2V0c29ja29wdCsweGE2LzB4YzAKICBbNDk5 MDQuMjMzMjY3XSAgWzxmZmZmZmZmZjgxNzFiOWFlPl0gZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0 aCsweDEyLzB4NzEKClRoZSB1bmRlcmx5aW5nIGlzc3VlIGlzIHRoZSB2ZXJ5IHNhbWUgYXMgaW4g Y29tbWl0IGIzODJjMDg2NTYwMAooInNvY2ssIGRpYWc6IGZpeCBwYW5pYyBpbiBzb2NrX2RpYWdf cHV0X2ZpbHRlcmluZm8iKSwgdGhhdCBpcywKbmF0aXZlIGVCUEYgcHJvZ3JhbXMgZG9uJ3Qgc3Rv cmUgYW4gb3JpZ2luYWwgcHJvZ3JhbSBzaW5jZSB0aGlzCmlzIG9ubHkgbmVlZGVkIGluIGNCUEYg b25lcy4KCkhvd2V2ZXIsIHNrX2dldF9maWx0ZXIoKSB3YXNuJ3QgdXBkYXRlZCB0byB0ZXN0IGZv ciB0aGlzIGF0IHRoZQp0aW1lIHdoZW4gZUJQRiBjb3VsZCBiZSBhdHRhY2hlZC4gSnVzdCB0aHJv dyBhbiBlcnJvciB0byB0aGUgdXNlcgp0byBpbmRpY2F0ZSB0aGF0IGVCUEYgY2Fubm90IGJlIGR1 bXBlZCBvdmVyIHRoaXMgaW50ZXJmYWNlLgpUaGF0IHdheSwgaXQgY2FuIGFsc28gYmUga25vd24g dGhhdCBhIHByb2dyYW0gX2lzXyBhdHRhY2hlZCAoYXMKb3Bwb3NlZCB0byBqdXN0IHJldHVybiAw KSwgYW5kIGEgZGlmZmVyZW50IChmdXR1cmUpIG1ldGhvZCBuZWVkcwp0byBiZSBjb25zdWx0ZWQg Zm9yIGEgZHVtcC4KCkZpeGVzOiA4OWFhMDc1ODMyYjAgKCJuZXQ6IHNvY2s6IGFsbG93IGVCUEYg cHJvZ3JhbXMgdG8gYmUgYXR0YWNoZWQgdG8gc29ja2V0cyIpClNpZ25lZC1vZmYtYnk6IERhbmll bCBCb3JrbWFubiA8ZGFuaWVsQGlvZ2VhcmJveC5uZXQ+CkFja2VkLWJ5OiBBbGV4ZWkgU3Rhcm92 b2l0b3YgPGFzdEBwbHVtZ3JpZC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9maWx0ZXIuYyB8ICAgIDYgKysrKyst CiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvbmV0L2NvcmUvZmlsdGVyLmMgYi9uZXQvY29yZS9maWx0ZXIuYwppbmRleCBiZjgzMWE4 Li4wZmEyNjEzIDEwMDY0NAotLS0gYS9uZXQvY29yZS9maWx0ZXIuYworKysgYi9uZXQvY29yZS9m aWx0ZXIuYwpAQCAtMTUyNiw5ICsxNTI2LDEzIEBAIGludCBza19nZXRfZmlsdGVyKHN0cnVjdCBz b2NrICpzaywgc3RydWN0IHNvY2tfZmlsdGVyIF9fdXNlciAqdWJ1ZiwKIAkJZ290byBvdXQ7CiAK IAkvKiBXZSdyZSBjb3B5aW5nIHRoZSBmaWx0ZXIgdGhhdCBoYXMgYmVlbiBvcmlnaW5hbGx5IGF0 dGFjaGVkLAotCSAqIHNvIG5vIGNvbnZlcnNpb24vZGVjb2RlIG5lZWRlZCBhbnltb3JlLgorCSAq IHNvIG5vIGNvbnZlcnNpb24vZGVjb2RlIG5lZWRlZCBhbnltb3JlLiBlQlBGIHByb2dyYW1zIHRo YXQKKwkgKiBoYXZlIG5vIG9yaWdpbmFsIHByb2dyYW0gY2Fubm90IGJlIGR1bXBlZCB0aHJvdWdo IHRoaXMuCiAJICovCisJcmV0ID0gLUVBQ0NFUzsKIAlmcHJvZyA9IGZpbHRlci0+cHJvZy0+b3Jp Z19wcm9nOworCWlmICghZnByb2cpCisJCWdvdG8gb3V0OwogCiAJcmV0ID0gZnByb2ctPmxlbjsK IAlpZiAoIWxlbikKLS0gCjEuNy4xMC40CgoKRnJvbSAwZGRiMzJlODI1ZTI0NmQ2ODVjNTI3Y2Ew MjVkMDkwM2Q4MzdkODQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGlu IEtobGVibmlrb3YgPGtobGVibmlrb3ZAeWFuZGV4LXRlYW0ucnU+CkRhdGU6IEZyaSwgMiBPY3Qg MjAxNSAxMzoxODoyMiArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMThdIG92czogZG8gbm90IGFs bG9jYXRlIG1lbW9yeSBmcm9tIG9mZmxpbmUgbnVtYSBub2RlCgpbIFVwc3RyZWFtIGNvbW1pdCA1 OThjMTJkMGJhNmRlOTA2MGYwNDk5OTc0NmViMWUwMTU3NzQwNDRiIF0KCldoZW4gb3BlbnZzd2l0 Y2ggdHJpZXMgYWxsb2NhdGUgbWVtb3J5IGZyb20gb2ZmbGluZSBudW1hIG5vZGUgMDoKc3RhdHMg PSBrbWVtX2NhY2hlX2FsbG9jX25vZGUoZmxvd19zdGF0c19jYWNoZSwgR0ZQX0tFUk5FTCB8IF9f R0ZQX1pFUk8sIDApCkl0IGNhdGNoZXMgVk1fQlVHX09OKG5pZCA8IDAgfHwgbmlkID49IE1BWF9O VU1OT0RFUyB8fCAhbm9kZV9vbmxpbmUobmlkKSkKWyByZXBsYWNlZCB3aXRoIFZNX1dBUk5fT04o IW5vZGVfb25saW5lKG5pZCkpIHJlY2VudGx5IF0gaW4gbGludXgvZ2ZwLmgKVGhpcyBwYXRjaCBk aXNhYmxlcyBudW1hIGFmZmluaXR5IGluIHRoaXMgY2FzZS4KClNpZ25lZC1vZmYtYnk6IEtvbnN0 YW50aW4gS2hsZWJuaWtvdiA8a2hsZWJuaWtvdkB5YW5kZXgtdGVhbS5ydT4KQWNrZWQtYnk6IFBy YXZpbiBCIFNoZWxhciA8cHNoZWxhckBuaWNpcmEuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L29wZW52c3dpdGNoL2Zsb3df dGFibGUuYyB8ICAgIDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L29wZW52c3dpdGNoL2Zsb3dfdGFibGUuYyBiL25l dC9vcGVudnN3aXRjaC9mbG93X3RhYmxlLmMKaW5kZXggYWEzNDk1MS4uZWVkNTYyMiAxMDA2NDQK LS0tIGEvbmV0L29wZW52c3dpdGNoL2Zsb3dfdGFibGUuYworKysgYi9uZXQvb3BlbnZzd2l0Y2gv Zmxvd190YWJsZS5jCkBAIC05Miw3ICs5Miw4IEBAIHN0cnVjdCBzd19mbG93ICpvdnNfZmxvd19h bGxvYyh2b2lkKQogCiAJLyogSW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBzdGF0IG5vZGUuICovCiAJ c3RhdHMgPSBrbWVtX2NhY2hlX2FsbG9jX25vZGUoZmxvd19zdGF0c19jYWNoZSwKLQkJCQkgICAg ICBHRlBfS0VSTkVMIHwgX19HRlBfWkVSTywgMCk7CisJCQkJICAgICAgR0ZQX0tFUk5FTCB8IF9f R0ZQX1pFUk8sCisJCQkJICAgICAgbm9kZV9vbmxpbmUoMCkgPyAwIDogTlVNQV9OT19OT0RFKTsK IAlpZiAoIXN0YXRzKQogCQlnb3RvIGVycjsKIAotLSAKMS43LjEwLjQKCgpGcm9tIGFiODAxYmVh ZjFiY2IxOTY2YjUzMTI1YjI0ZjE3NjQ0MDdkZDMyNTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFdBTkcgQ29uZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpEYXRlOiBUdWUsIDYg T2N0IDIwMTUgMTc6MjM6NDcgLTA3MDAKU3ViamVjdDogW1BBVENIIDEyLzE4XSBhY3RfbWlycmVk OiBjbGVhciBzZW5kZXIgY3B1IGJlZm9yZSBzZW5kaW5nIHRvIHR4CgpbIFVwc3RyZWFtIGNvbW1p dCBkNDA0OTZhNTY0MzBlYWMwZDMzMDM3ODgxNjk1NDYxOTg5OWZlMzAzIF0KClNpbWlsYXIgdG8g Y29tbWl0IGMyOTM5MGM2ZGZlZSAoInhwczogbXVzdCBjbGVhciBzZW5kZXJfY3B1IGJlZm9yZSBm b3J3YXJkaW5nIikKdGhlIHNrYi0+c2VuZGVyX2NwdSBuZWVkcyB0byBiZSBjbGVhcmVkIHdoZW4g bW92aW5nIGZyb20gUngKVHgsIG90aGVyd2lzZSBrZXJuZWwgY291bGQgY3Jhc2guCgpGaXhlczog MmJkODI0ODRiYjRjICgieHBzOiBmaXggeHBzIGZvciBzdGFja2VkIGRldmljZXMiKQpDYzogRXJp YyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzogSmFtYWwgSGFkaSBTYWxpbSA8amhz QG1vamF0YXR1LmNvbT4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDxjd2FuZ0B0d29wZW5zb3Vy Y2UuY29tPgpTaWduZWQtb2ZmLWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNv bT4KQWNrZWQtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hl ZC9hY3RfbWlycmVkLmMgfCAgICAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoK ZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3RfbWlycmVkLmMgYi9uZXQvc2NoZWQvYWN0X21pcnJl ZC5jCmluZGV4IDNmNjNjZWEuLjg0NGRkODUgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3RfbWly cmVkLmMKKysrIGIvbmV0L3NjaGVkL2FjdF9taXJyZWQuYwpAQCAtMTY2LDYgKzE2Niw3IEBAIHN0 YXRpYyBpbnQgdGNmX21pcnJlZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBjb25zdCBzdHJ1Y3QgdGNf YWN0aW9uICphLAogCiAJc2tiMi0+c2tiX2lpZiA9IHNrYi0+ZGV2LT5pZmluZGV4OwogCXNrYjIt PmRldiA9IGRldjsKKwlza2Jfc2VuZGVyX2NwdV9jbGVhcihza2IyKTsKIAllcnIgPSBkZXZfcXVl dWVfeG1pdChza2IyKTsKIAogb3V0OgotLSAKMS43LjEwLjQKCgpGcm9tIGJiMjU0ZjI3NjRlNmJh NDkwYjllNWZjYjJlYTAwYzZiZTAyZGVlYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEpvZSBQZXJjaGVzIDxqb2VAcGVyY2hlcy5jb20+CkRhdGU6IFdlZCwgMTQgT2N0IDIwMTUgMDE6 MDk6NDAgLTA3MDAKU3ViamVjdDogW1BBVENIIDEzLzE4XSBldGh0b29sOiBVc2Uga2NhbGxvYyBp bnN0ZWFkIG9mIGttYWxsb2MgZm9yCiBldGh0b29sX2dldF9zdHJpbmdzCgpbIFVwc3RyZWFtIGNv bW1pdCAwNzdjYjM3ZmNmNmYwMGE0NWYzNzUxNjEyMDBiNWVlMGNkNGU5MzdiIF0KCkl0IHNlZW1z IHRoYXQga2VybmVsIG1lbW9yeSBjYW4gbGVhayBpbnRvIHVzZXJzcGFjZSBieSBhCmttYWxsb2Ms IGV0aHRvb2xfZ2V0X3N0cmluZ3MsIHRoZW4gY29weV90b191c2VyIHNlcXVlbmNlLgoKQXZvaWQg dGhpcyBieSB1c2luZyBrY2FsbG9jIHRvIHplcm8gZmlsbCB0aGUgY29waWVkIGJ1ZmZlci4KClNp Z25lZC1vZmYtYnk6IEpvZSBQZXJjaGVzIDxqb2VAcGVyY2hlcy5jb20+CkFja2VkLWJ5OiBCZW4g SHV0Y2hpbmdzIDxiZW5AZGVjYWRlbnQub3JnLnVrPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZXRodG9vbC5jIHwgICAg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2NvcmUvZXRodG9vbC5jIGIvbmV0L2NvcmUvZXRodG9vbC5jCmluZGV4IDFk MDBiODkuLjRhNjgyNDcgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2V0aHRvb2wuYworKysgYi9uZXQv Y29yZS9ldGh0b29sLmMKQEAgLTEyNzMsNyArMTI3Myw3IEBAIHN0YXRpYyBpbnQgZXRodG9vbF9n ZXRfc3RyaW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB2b2lkIF9fdXNlciAqdXNlcmFkZHIp CiAKIAlnc3RyaW5ncy5sZW4gPSByZXQ7CiAKLQlkYXRhID0ga21hbGxvYyhnc3RyaW5ncy5sZW4g KiBFVEhfR1NUUklOR19MRU4sIEdGUF9VU0VSKTsKKwlkYXRhID0ga2NhbGxvYyhnc3RyaW5ncy5s ZW4sIEVUSF9HU1RSSU5HX0xFTiwgR0ZQX1VTRVIpOwogCWlmICghZGF0YSkKIAkJcmV0dXJuIC1F Tk9NRU07CiAKLS0gCjEuNy4xMC40CgoKRnJvbSAxNzNmMzQ4MjY5ODViNWRkNzVkN2QyZDBjOGI4 ODk0YzUxNDFmZmVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gUGF1bCBNYWxv eSA8am9uLm1hbG95QGVyaWNzc29uLmNvbT4KRGF0ZTogV2VkLCAxNCBPY3QgMjAxNSAwOToyMzox OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMThdIHRpcGM6IG1vdmUgZnJhZ21lbnQgaW1wb3J0 YW5jZSBmaWVsZCB0byBuZXcgaGVhZGVyCiBwb3NpdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgZGRl NGI1YWU2NWRlNjU5YjllYzY0YmFmZGRlMDQzMDQ1OWZjYjQ5NSBdCgpJbiBjb21taXQgZTNlZWEx ZWI0N2EgKCJ0aXBjOiBjbGVhbiB1cCBoYW5kbGluZyBvZiBtZXNzYWdlIHByaW9yaXRpZXMiKQp3 ZSBpbnRyb2R1Y2VkIGEgZmllbGQgaW4gdGhlIHBhY2tldCBoZWFkZXIgZm9yIGtlZXBpbmcgdHJh Y2sgb2YgdGhlCnByaW9yaXR5IG9mIGZyYWdtZW50cywgc2luY2UgdGhpcyB2YWx1ZSBpcyBub3Qg cHJlc2VudCBpbiB0aGUgc3BlY2lmaWVkCnByb3RvY29sIGhlYWRlci4gU2luY2UgdGhlIHZhbHVl IHNvIGZhciBvbmx5IGlzIHVzZWQgYXQgdGhlIHRyYW5zbWl0dGluZwplbmQgb2YgdGhlIGxpbmss IHdlIGhhdmUgbm90IHlldCBvZmZpY2lhbGx5IGRlZmluZWQgaXQgYXMgcGFydCBvZiB0aGUKcHJv dG9jb2wuCgpVbmZvcnR1bmF0ZWx5LCB0aGUgZmllbGQgd2UgdXNlIGZvciBrZWVwaW5nIHRoaXMg dmFsdWUsIGJpdHMgMTMtMTUgaW4KaW4gd29yZCA1LCBoYXMgdHVybmVkIG91dCB0byBiZSBhIHBv b3IgY2hvaWNlOyBpdCBpcyBhbHJlYWR5IHVzZWQgYnkgdGhlCmJyb2FkY2FzdCBwcm90b2NvbCBm b3IgY2FycnlpbmcgdGhlICduZXR3b3JrIGlkJyBmaWVsZCBvZiB0aGUgc2VuZGluZwpub2RlLiBT aW5jZSBwYWNrZXQgZnJhZ21lbnRzIGFsc28gbmVlZCB0byBiZSB0cmFuc3BvcnRlZCBhY3Jvc3Mg dGhlCmJyb2FkY2FzdCBwcm90b2NvbCwgdGhlIHJpc2sgb2YgY29uZmxpY3QgaXMgb2J2aW91cywg YW5kIHdlIHNlZSB0aGlzCmhhcHBlbiB3aGVuIHdlIHVzZSBuZXR3b3JrIGlkZW50aXRpZXMgbGFy Z2VyIHRoYW4gMl4xMy0xLiBUaGlzIGhhcwplc2NhcGVkIG91ciB0ZXN0aW5nIGJlY2F1c2Ugd2Ug aGF2ZSBzbyBmYXIgb25seSBiZWVuIHVzaW5nIHNtYWxsIG5ldHdvcmsKaWQgdmFsdWVzLgoKV2Ug bm93IG1vdmUgdGhpcyBmaWVsZCB0byBiaXRzIDAtMiBpbiB3b3JkIDksIGEgZmllbGQgdGhhdCBp cyBndWFyYW50ZWVkCnRvIGJlIHVudXNlZCBieSBhbGwgaW52b2x2ZWQgcHJvdG9jb2xzLgoKRml4 ZXM6IGUzZWVhMWViNDdhICgidGlwYzogY2xlYW4gdXAgaGFuZGxpbmcgb2YgbWVzc2FnZSBwcmlv cml0aWVzIikKU2lnbmVkLW9mZi1ieTogSm9uIE1hbG95IDxqb24ubWFsb3lAZXJpY3Nzb24uY29t PgpBY2tlZC1ieTogWWluZyBYdWUgPHlpbmcueHVlQHdpbmRyaXZlci5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGlwYy9t c2cuaCB8ICAgIDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdGlwYy9tc2cuaCBiL25ldC90aXBjL21zZy5oCmlu ZGV4IGUxZDM1OTVlLi40Y2JiMGZiIDEwMDY0NAotLS0gYS9uZXQvdGlwYy9tc2cuaAorKysgYi9u ZXQvdGlwYy9tc2cuaApAQCAtMzUzLDcgKzM1Myw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtc2df c2V0X3NlcW5vKHN0cnVjdCB0aXBjX21zZyAqbSwgdTMyIG4pCiBzdGF0aWMgaW5saW5lIHUzMiBt c2dfaW1wb3J0YW5jZShzdHJ1Y3QgdGlwY19tc2cgKm0pCiB7CiAJaWYgKHVubGlrZWx5KG1zZ191 c2VyKG0pID09IE1TR19GUkFHTUVOVEVSKSkKLQkJcmV0dXJuIG1zZ19iaXRzKG0sIDUsIDEzLCAw eDcpOworCQlyZXR1cm4gbXNnX2JpdHMobSwgOSwgMCwgMHg3KTsKIAlpZiAobGlrZWx5KG1zZ19p c2RhdGEobSkgJiYgIW1zZ19lcnJjb2RlKG0pKSkKIAkJcmV0dXJuIG1zZ191c2VyKG0pOwogCXJl dHVybiBUSVBDX1NZU1RFTV9JTVBPUlRBTkNFOwpAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyBp bmxpbmUgdTMyIG1zZ19pbXBvcnRhbmNlKHN0cnVjdCB0aXBjX21zZyAqbSkKIHN0YXRpYyBpbmxp bmUgdm9pZCBtc2dfc2V0X2ltcG9ydGFuY2Uoc3RydWN0IHRpcGNfbXNnICptLCB1MzIgaSkKIHsK IAlpZiAodW5saWtlbHkobXNnX3VzZXIobSkgPT0gTVNHX0ZSQUdNRU5URVIpKQotCQltc2dfc2V0 X2JpdHMobSwgNSwgMTMsIDB4NywgaSk7CisJCW1zZ19zZXRfYml0cyhtLCA5LCAwLCAweDcsIGkp OwogCWVsc2UgaWYgKGxpa2VseShpIDwgVElQQ19TWVNURU1fSU1QT1JUQU5DRSkpCiAJCW1zZ19z ZXRfdXNlcihtLCBpKTsKIAllbHNlCi0tIAoxLjcuMTAuNAoKCkZyb20gODJlZDEzNzJhMmFmNmYw YjEyODI3NzBmZjFlMWYxYzdiYzY3YTM3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog IkFyYWQsIFJvbmVuIiA8cm9uZW4uYXJhZEBpbnRlbC5jb20+CkRhdGU6IFRodSwgMTUgT2N0IDIw MTUgMDE6NTU6MTcgLTA3MDAKU3ViamVjdDogW1BBVENIIDE1LzE4XSBuZXRsaW5rOiBUcmltIHNr YiB0byBhbGxvYyBzaXplIHRvIGF2b2lkIE1TR19UUlVOQwoKWyBVcHN0cmVhbSBjb21taXQgZGI2 NWEzYWFmMjllY2NlMmUzNDI3MWQ1MmU4ZDIzMzZiOTdiZDlmZSBdCgpuZXRsaW5rX2R1bXAoKSBh bGxvY2F0ZXMgc2tiIGJhc2VkIG9uIHRoZSBjYWxjdWxhdGVkIG1pbl9kdW1wX2FsbG9jIG9yCmEg cGVyIHNvY2tldCBtYXhfcmVjdm1zZ19sZW4uCm1pbl9hbGxvY19zaXplIGlzIG1heGltdW0gc3Bh Y2UgcmVxdWlyZWQgZm9yIGFueSBzaW5nbGUgbmV0ZGV2CmF0dHJpYnV0ZXMgYXMgY2FsY3VsYXRl ZCBieSBydG5sX2NhbGNpdCgpLgptYXhfcmVjdm1zZ19sZW4gdHJhY2tzIHRoZSB1c2VyIHByb3Zp ZGVkIGJ1ZmZlciB0byBuZXRsaW5rX3JlY3Ztc2cuCkl0IGlzIGNhcHBlZCBhdCAxNktpQi4KVGhl IGludGVudGlvbiBpcyB0byBhdm9pZCBzbWFsbCBhbGxvY2F0aW9ucyBhbmQgdG8gbWluaW1pemUg dGhlIG51bWJlcgpvZiBjYWxscyByZXF1aXJlZCB0byBvYnRhaW4gZHVtcCBpbmZvcm1hdGlvbiBm b3IgYWxsIG5ldCBkZXZpY2VzLgoKbmV0bGlua19kdW1wIHBhY2tzIGFzIG1hbnkgc21hbGwgbWVz c2FnZXMgYXMgY291bGQgZml0IHdpdGhpbiBhbiBza2IKdGhhdCB3YXMgc2l6ZWQgZm9yIHRoZSBs YXJnZXN0IHNpbmdsZSBuZXRkZXYgaW5mb3JtYXRpb24uIFRoZSBhY3R1YWwKc3BhY2UgYXZhaWxh YmxlIHdpdGhpbiBhbiBza2IgaXMgbGFyZ2VyIHRoYW4gd2hhdCBpcyByZXF1ZXN0ZWQuIEl0IGNv dWxkCmJlIG11Y2ggbGFyZ2VyIGFuZCB1cCB0byBuZWFyIDJ4IHdpdGggYWxpZ24gdG8gbmV4dCBw b3dlciBvZiAyIGFwcHJvYWNoLgoKQWxsb3dpbmcgbmV0bGlua19kdW1wIHRvIHVzZSBhbGwgdGhl IHNwYWNlIGF2YWlsYWJsZSB3aXRoaW4gdGhlCmFsbG9jYXRlZCBza2IgaW5jcmVhc2VzIHRoZSBi dWZmZXIgc2l6ZSBhIHVzZXIgaGFzIHRvIHByb3ZpZGUgdG8gYXZvaWQKdHJ1bmNhaW9uIChpLmUu IE1TR19UUlVORyBmbGFnIHNldCkuCgpJdCB3YXMgb2JzZXJ2ZWQgdGhhdCB3aXRoIG1hbnkgVkxB TnMgY29uZmlndXJlZCBvbiBhdCBsZWFzdCBvbmUgbmV0ZGV2LAphIGxhcmdlciBidWZmZXIgb2Yg bmVhciA2NEtpQiB3YXMgbmVjZXNzYXJ5IHRvIGF2b2lkICJNZXNzYWdlIHRydW5jYXRlZCIKZXJy b3IgaW4gImlwIGxpbmsiIG9yICJicmlkZ2UgWy1jW29tcHJlc3N2bGFuc11dIHZsYW4gc2hvdyIg d2hlbgptaW5fYWxsb2Nfc2l6ZSB3YXMgb25seSBsaXR0bGUgb3ZlciAzMktpQi4KClRoaXMgcGF0 Y2ggdHJpbXMgc2tiIHRvIGFsbG9jYXRlZCBzaXplIGluIG9yZGVyIHRvIGFsbG93IHRoZSB1c2Vy IHRvCmF2b2lkIHRydW5jYXRpb24gd2l0aCBtb3JlIHJlYXNvbmFibGUgYnVmZmVyIHNpemUuCgpT aWduZWQtb2ZmLWJ5OiBSb25lbiBBcmFkIDxyb25lbi5hcmFkQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYyB8ICAgMzQgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL25ldC9uZXRsaW5rL2FmX25ldGxpbmsuYyBiL25ldC9uZXRsaW5rL2FmX25ldGxp bmsuYwppbmRleCA5ODAxMjFlLi5kMTM5YzQzIDEwMDY0NAotLS0gYS9uZXQvbmV0bGluay9hZl9u ZXRsaW5rLmMKKysrIGIvbmV0L25ldGxpbmsvYWZfbmV0bGluay5jCkBAIC0yNjgzLDYgKzI2ODMs NyBAQCBzdGF0aWMgaW50IG5ldGxpbmtfZHVtcChzdHJ1Y3Qgc29jayAqc2spCiAJc3RydWN0IHNr X2J1ZmYgKnNrYiA9IE5VTEw7CiAJc3RydWN0IG5sbXNnaGRyICpubGg7CiAJaW50IGxlbiwgZXJy ID0gLUVOT0JVRlM7CisJaW50IGFsbG9jX21pbl9zaXplOwogCWludCBhbGxvY19zaXplOwogCiAJ bXV0ZXhfbG9jayhubGstPmNiX211dGV4KTsKQEAgLTI2OTEsOSArMjY5Miw2IEBAIHN0YXRpYyBp bnQgbmV0bGlua19kdW1wKHN0cnVjdCBzb2NrICpzaykKIAkJZ290byBlcnJvdXRfc2tiOwogCX0K IAotCWNiID0gJm5say0+Y2I7Ci0JYWxsb2Nfc2l6ZSA9IG1heF90KGludCwgY2ItPm1pbl9kdW1w X2FsbG9jLCBOTE1TR19HT09EU0laRSk7Ci0KIAlpZiAoIW5ldGxpbmtfcnhfaXNfbW1hcGVkKHNr KSAmJgogCSAgICBhdG9taWNfcmVhZCgmc2stPnNrX3JtZW1fYWxsb2MpID49IHNrLT5za19yY3Zi dWYpCiAJCWdvdG8gZXJyb3V0X3NrYjsKQEAgLTI3MDMsMjMgKzI3MDEsMzUgQEAgc3RhdGljIGlu dCBuZXRsaW5rX2R1bXAoc3RydWN0IHNvY2sgKnNrKQogCSAqIHRvIHJlZHVjZSBudW1iZXIgb2Yg c3lzdGVtIGNhbGxzIG9uIGR1bXAgb3BlcmF0aW9ucywgaWYgdXNlcgogCSAqIGV2ZXIgcHJvdmlk ZWQgYSBiaWcgZW5vdWdoIGJ1ZmZlci4KIAkgKi8KLQlpZiAoYWxsb2Nfc2l6ZSA8IG5say0+bWF4 X3JlY3Ztc2dfbGVuKSB7Ci0JCXNrYiA9IG5ldGxpbmtfYWxsb2Nfc2tiKHNrLAotCQkJCQlubGst Pm1heF9yZWN2bXNnX2xlbiwKLQkJCQkJbmxrLT5wb3J0aWQsCisJY2IgPSAmbmxrLT5jYjsKKwlh bGxvY19taW5fc2l6ZSA9IG1heF90KGludCwgY2ItPm1pbl9kdW1wX2FsbG9jLCBOTE1TR19HT09E U0laRSk7CisKKwlpZiAoYWxsb2NfbWluX3NpemUgPCBubGstPm1heF9yZWN2bXNnX2xlbikgewor CQlhbGxvY19zaXplID0gbmxrLT5tYXhfcmVjdm1zZ19sZW47CisJCXNrYiA9IG5ldGxpbmtfYWxs b2Nfc2tiKHNrLCBhbGxvY19zaXplLCBubGstPnBvcnRpZCwKIAkJCQkJR0ZQX0tFUk5FTCB8CiAJ CQkJCV9fR0ZQX05PV0FSTiB8CiAJCQkJCV9fR0ZQX05PUkVUUlkpOwotCQkvKiBhdmFpbGFibGUg cm9vbSBzaG91bGQgYmUgZXhhY3QgYW1vdW50IHRvIGF2b2lkIE1TR19UUlVOQyAqLwotCQlpZiAo c2tiKQotCQkJc2tiX3Jlc2VydmUoc2tiLCBza2JfdGFpbHJvb20oc2tiKSAtCi0JCQkJCSBubGst Pm1heF9yZWN2bXNnX2xlbik7CiAJfQotCWlmICghc2tiKQorCWlmICghc2tiKSB7CisJCWFsbG9j X3NpemUgPSBhbGxvY19taW5fc2l6ZTsKIAkJc2tiID0gbmV0bGlua19hbGxvY19za2Ioc2ssIGFs bG9jX3NpemUsIG5say0+cG9ydGlkLAogCQkJCQlHRlBfS0VSTkVMKTsKKwl9CiAJaWYgKCFza2Ip CiAJCWdvdG8gZXJyb3V0X3NrYjsKKworCS8qIFRyaW0gc2tiIHRvIGFsbG9jYXRlZCBzaXplLiBV c2VyIGlzIGV4cGVjdGVkIHRvIHByb3ZpZGUgYnVmZmVyIGFzCisJICogbGFyZ2UgYXMgbWF4KG1p bl9kdW1wX2FsbG9jLCAxNktpQiAobWFjX3JlY3Ztc2dfbGVuIGNhcHBlZCBhdAorCSAqIG5ldGxp bmtfcmVjdm1zZygpKSkuIGR1bXAgd2lsbCBwYWNrIGFzIG1hbnkgc21hbGxlciBtZXNzYWdlcyBh cworCSAqIGNvdWxkIGZpdCB3aXRoaW4gdGhlIGFsbG9jYXRlZCBza2IuIHNrYiBpcyB0eXBpY2Fs bHkgYWxsb2NhdGVkCisJICogd2l0aCBsYXJnZXIgc3BhY2UgdGhhbiByZXF1aXJlZCAoY291bGQg YmUgYXMgbXVjaCBhcyBuZWFyIDJ4IHRoZQorCSAqIHJlcXVlc3RlZCBzaXplIHdpdGggYWxpZ24g dG8gbmV4dCBwb3dlciBvZiAyIGFwcHJvYWNoKS4gQWxsb3dpbmcKKwkgKiBkdW1wIHRvIHVzZSB0 aGUgZXhjZXNzIHNwYWNlIG1ha2VzIGl0IGRpZmZpY3VsdCBmb3IgYSB1c2VyIHRvIGhhdmUgYQor CSAqIHJlYXNvbmFibGUgc3RhdGljIGJ1ZmZlciBiYXNlZCBvbiB0aGUgZXhwZWN0ZWQgbGFyZ2Vz dCBkdW1wIG9mIGEKKwkgKiBzaW5nbGUgbmV0ZGV2LiBUaGUgb3V0Y29tZSBpcyBNU0dfVFJVTkMg ZXJyb3IuCisJICovCisJc2tiX3Jlc2VydmUoc2tiLCBza2JfdGFpbHJvb20oc2tiKSAtIGFsbG9j X3NpemUpOwogCW5ldGxpbmtfc2tiX3NldF9vd25lcl9yKHNrYiwgc2spOwogCiAJbGVuID0gY2It PmR1bXAoc2tiLCBjYik7Ci0tIAoxLjcuMTAuNAoKCkZyb20gZjc4OTMxNzhiZTg2ZTU2YmE2OTI0 MDM2M2FkZmFmYjUzMDM5ZjExOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQWFyb24g Q29ub2xlIDxhY29ub2xlQGJ5dGhlYi5vcmc+CkRhdGU6IFNhdCwgMjYgU2VwIDIwMTUgMTg6NTA6 NDIgLTA0MDAKU3ViamVjdDogW1BBVENIIDE2LzE4XSBhZl91bml4OiBDb252ZXJ0IHRoZSB1bml4 X3NrIG1hY3JvIHRvIGFuIGlubGluZQogZnVuY3Rpb24gZm9yIHR5cGUgc2FmZXR5CgpbIFVwc3Ry ZWFtIGNvbW1pdCA0NjEzMDEyZGIxZDkxMWY4MDg5N2Y5NDQ2YTQ5ZGU4MTdiMmM0YzQ3IF0KCkFz IHN1Z2dlc3RlZCBieSBFcmljIER1bWF6ZXQgdGhpcyBjaGFuZ2UgcmVwbGFjZXMgdGhlCiNkZWZp bmUgd2l0aCBhIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb24gdG8gZW5qb3kKY29tcGxhaW50cyBieSB0 aGUgY29tcGlsZXIgd2hlbiBtaXN1c2luZyB0aGUgQVBJLgoKU2lnbmVkLW9mZi1ieTogQWFyb24g Q29ub2xlIDxhY29ub2xlQGJ5dGhlYi5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL25ldC9hZl91bml4LmggfCAgICA2 ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2FmX3VuaXguaCBiL2luY2x1ZGUvbmV0L2FmX3VuaXgu aAppbmRleCBhMTc1YmE0Li5kZmU0ZGRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9hZl91bml4 LmgKKysrIGIvaW5jbHVkZS9uZXQvYWZfdW5peC5oCkBAIC02NCw3ICs2NCwxMSBAQCBzdHJ1Y3Qg dW5peF9zb2NrIHsKICNkZWZpbmUgVU5JWF9HQ19NQVlCRV9DWUNMRQkxCiAJc3RydWN0IHNvY2tl dF93cQlwZWVyX3dxOwogfTsKLSNkZWZpbmUgdW5peF9zayhfX3NrKSAoKHN0cnVjdCB1bml4X3Nv Y2sgKilfX3NrKQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCB1bml4X3NvY2sgKnVuaXhfc2soc3Ry dWN0IHNvY2sgKnNrKQoreworCXJldHVybiAoc3RydWN0IHVuaXhfc29jayAqKXNrOworfQogCiAj ZGVmaW5lIHBlZXJfd2FpdCBwZWVyX3dxLndhaXQKIAotLSAKMS43LjEwLjQKCgpGcm9tIDJlYWIy ZWJkOTNkOWJhZDE3Yzk3NzM2YzliNzM3NzkzMzYxMTQwZDcgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpEYXRlOiBTYXQsIDI2 IFNlcCAyMDE1IDE4OjUwOjQzIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxNy8xOF0gYWZfdW5peDog cmV0dXJuIGRhdGEgZnJvbSBtdWx0aXBsZSBTS0JzIG9uIHJlY3YoKSB3aXRoCiBNU0dfUEVFSyBm bGFnCgpbIFVwc3RyZWFtIGNvbW1pdCA5ZjM4OWUzNTY3NGY1YjA4NmVkZDcwZWQ1MjRjYTBmMjg3 MjU5NzI1IF0KCkFGX1VOSVggc29ja2V0cyBub3cgcmV0dXJuIG11bHRpcGxlIHNrYnMgZnJvbSBy ZWN2KCkgd2hlbiBNU0dfUEVFSyBmbGFnCmlzIHNldC4KClRoaXMgaXMgcmVmZXJlbmNlZCBpbiBr ZXJuZWwgYnVnemlsbGEgIzEyMzIzIEAKaHR0cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3Nob3df YnVnLmNnaT9pZD0xMjMyMwoKQXMgZGVzY3JpYmVkIGJvdGggaW4gdGhlIEJaIGFuZCBsa21sIHRo cmVhZCBACmh0dHA6Ly9sa21sLm9yZy9sa21sLzIwMDgvMS84LzQ0NCBjYWxsaW5nIHJlY3YoKSB3 aXRoIE1TR19QRUVLIG9uIGFuCkFGX1VOSVggc29ja2V0IG9ubHkgcmVhZHMgYSBzaW5nbGUgc2ti LCB3aGVyZSB0aGUgZGVzaXJlZCBlZmZlY3QgaXMKdG8gcmV0dXJuIGFzIG11Y2ggc2tiIGRhdGEg aGFzIGJlZW4gcXVldWVkLCB1bnRpbCBoaXR0aW5nIHRoZSByZWN2CmJ1ZmZlciBzaXplICh3aGlj aGV2ZXIgY29tZXMgZmlyc3QpLgoKVGhlIG1vZGlmaWVkIE1TR19QRUVLIHBhdGggd2lsbCBub3cg bW92ZSB0byB0aGUgbmV4dCBza2IgaW4gdGhlIHRyZWUKYW5kIGp1bXAgdG8gdGhlIGFnYWluOiBs YWJlbCwgcmF0aGVyIHRoYW4gZm9sbG93aW5nIHRoZSBuYXR1cmFsIGxvb3AKc3RydWN0dXJlLiBU aGlzIHJlcXVpcmVzIGR1cGxpY2F0aW5nIHNvbWUgb2YgdGhlIGxvb3AgaGVhZCBhY3Rpb25zLgoK VGhpcyB3YXMgdGVzdGVkIHVzaW5nIHRoZSBweXRob24gc29ja2V0cGFpciBweXRob24gY29kZSBh dHRhY2hlZCB0bwp0aGUgYnVnemlsbGEgaXNzdWUuCgpTaWduZWQtb2ZmLWJ5OiBBYXJvbiBDb25v bGUgPGFjb25vbGVAYnl0aGViLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC91bml4L2FmX3VuaXguYyB8ICAgMTQgKysrKysr KysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L3VuaXgvYWZfdW5peC5jIGIvbmV0L3VuaXgvYWZfdW5peC5jCmlu ZGV4IDA2NDMwNTkuLjU2NTAxNTQgMTAwNjQ0Ci0tLSBhL25ldC91bml4L2FmX3VuaXguYworKysg Yi9uZXQvdW5peC9hZl91bml4LmMKQEAgLTIwNDYsOCArMjA0NiwyMCBAQCBhZ2FpbjoKIAkJCWlm IChVTklYQ0Ioc2tiKS5mcCkKIAkJCQlzY20uZnAgPSBzY21fZnBfZHVwKFVOSVhDQihza2IpLmZw KTsKIAotCQkJc2tfcGVla19vZmZzZXRfZndkKHNrLCBjaHVuayk7CisJCQlpZiAoc2tpcCkgewor CQkJCXNrX3BlZWtfb2Zmc2V0X2Z3ZChzaywgY2h1bmspOworCQkJCXNraXAgLT0gY2h1bms7CisJ CQl9CisKKwkJCWlmIChVTklYQ0Ioc2tiKS5mcCkKKwkJCQlicmVhazsKIAorCQkJbGFzdCA9IHNr YjsKKwkJCXVuaXhfc3RhdGVfbG9jayhzayk7CisJCQlza2IgPSBza2JfcGVla19uZXh0KHNrYiwg JnNrLT5za19yZWNlaXZlX3F1ZXVlKTsKKwkJCWlmIChza2IpCisJCQkJZ290byBhZ2FpbjsKKwkJ CXVuaXhfc3RhdGVfdW5sb2NrKHNrKTsKIAkJCWJyZWFrOwogCQl9CiAJfSB3aGlsZSAoc2l6ZSk7 Ci0tIAoxLjcuMTAuNAoKCkZyb20gYWUwNTQyMjg1YWE0OTJmNTJjNjA1YjVkNTU4OWQ2NmExZjE2 NzFiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW5kcmV5IFZhZ2luIDxhdmFnaW5A b3BlbnZ6Lm9yZz4KRGF0ZTogRnJpLCAyIE9jdCAyMDE1IDAwOjA1OjM2ICswMzAwClN1YmplY3Q6 IFtQQVRDSCAxOC8xOF0gbmV0L3VuaXg6IGZpeCBsb2dpYyBhYm91dCBza19wZWVrX29mZnNldAoK WyBVcHN0cmVhbSBjb21taXQgZTkxOTNkNjBkMzYzZTRkZmY3NWZmNmQ0M2E0OGYyMmJlMjZkNTlj NyBdCgpOb3cgc2VuZCB3aXRoIE1TR19QRUVLIGNhbiByZXR1cm4gZGF0YSBmcm9tIG11bHRpcGxl IFNLQnMuCgpVbmZvcnR1bmF0ZWx5IHdlIHRha2UgaW50byBhY2NvdW50IHRoZSBwZWVrIG9mZnNl dCBmb3IgZWFjaCBza2IsCnRoYXQgaXMgd3JvbmcuIFdlIG5lZWQgdG8gYXBwbHkgdGhlIHBlZWsg b2Zmc2V0IG9ubHkgb25jZS4KCkluIGFkZGl0aW9uLCB0aGUgcGVlayBvZmZzZXQgc2hvdWxkIGJl IHVzZWQgb25seSBpZiBNU0dfUEVFSyBpcyBzZXQuCgpDYzogIkRhdmlkIFMuIE1pbGxlciIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+IChtYWludGFpbmVyOk5FVFdPUktJTkcKQ2M6IEVyaWMgRHVtYXpl dCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4gKGNvbW1pdF9zaWduZXI6MS8xND03JSkKQ2M6IEFhcm9u IENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpGaXhlczogOWYzODllMzU2NzRmICgiYWZfdW5p eDogcmV0dXJuIGRhdGEgZnJvbSBtdWx0aXBsZSBTS0JzIG9uIHJlY3YoKSB3aXRoIE1TR19QRUVL IGZsYWciKQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgVmFnaW4gPGF2YWdpbkBvcGVudnoub3JnPgpU ZXN0ZWQtYnk6IEFhcm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3VuaXgvYWZf dW5peC5jIHwgICAxMiArKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3VuaXgvYWZfdW5peC5jIGIvbmV0 L3VuaXgvYWZfdW5peC5jCmluZGV4IDU2NTAxNTQuLjc2ZTY2NjkgMTAwNjQ0Ci0tLSBhL25ldC91 bml4L2FmX3VuaXguYworKysgYi9uZXQvdW5peC9hZl91bml4LmMKQEAgLTE5MzgsNiArMTkzOCwx MSBAQCBzdGF0aWMgaW50IHVuaXhfc3RyZWFtX3JlY3Ztc2coc3RydWN0IHNvY2tldCAqc29jaywg c3RydWN0IG1zZ2hkciAqbXNnLAogCQlnb3RvIG91dDsKIAl9CiAKKwlpZiAoZmxhZ3MgJiBNU0df UEVFSykKKwkJc2tpcCA9IHNrX3BlZWtfb2Zmc2V0KHNrLCBmbGFncyk7CisJZWxzZQorCQlza2lw ID0gMDsKKwogCWRvIHsKIAkJaW50IGNodW5rOwogCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCAqbGFz dDsKQEAgLTE5ODQsNyArMTk4OSw2IEBAIGFnYWluOgogCQkJYnJlYWs7CiAJCX0KIAotCQlza2lw ID0gc2tfcGVla19vZmZzZXQoc2ssIGZsYWdzKTsKIAkJd2hpbGUgKHNraXAgPj0gdW5peF9za2Jf bGVuKHNrYikpIHsKIAkJCXNraXAgLT0gdW5peF9za2JfbGVuKHNrYik7CiAJCQlsYXN0ID0gc2ti OwpAQCAtMjA0NiwxNCArMjA1MCwxMiBAQCBhZ2FpbjoKIAkJCWlmIChVTklYQ0Ioc2tiKS5mcCkK IAkJCQlzY20uZnAgPSBzY21fZnBfZHVwKFVOSVhDQihza2IpLmZwKTsKIAotCQkJaWYgKHNraXAp IHsKLQkJCQlza19wZWVrX29mZnNldF9md2Qoc2ssIGNodW5rKTsKLQkJCQlza2lwIC09IGNodW5r OwotCQkJfQorCQkJc2tfcGVla19vZmZzZXRfZndkKHNrLCBjaHVuayk7CiAKIAkJCWlmIChVTklY Q0Ioc2tiKS5mcCkKIAkJCQlicmVhazsKIAorCQkJc2tpcCA9IDA7CiAJCQlsYXN0ID0gc2tiOwog CQkJdW5peF9zdGF0ZV9sb2NrKHNrKTsKIAkJCXNrYiA9IHNrYl9wZWVrX25leHQoc2tiLCAmc2st PnNrX3JlY2VpdmVfcXVldWUpOwotLSAKMS43LjEwLjQKCg== ----Next_Part(Tue_Oct_20_20_51_10_2015_504)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_42.mbox" RnJvbSBiZTI2MWQ5OTRkN2ZhYjNiNzlmNDBjYjJlOWU0MzFkMzAwZTg1M2ZlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJdmFuIE1pa2hheWxvdiA8aXZhbkBydS5pYm0uY29tPgpEYXRl OiBGcmksIDI1IFNlcCAyMDE1IDExOjUyOjI3ICswNDAwClN1YmplY3Q6IFtQQVRDSCAwMS8yMF0g bmV0L2libS9lbWFjOiBidW1wIHZlcnNpb24gbnVtYmVycyBmb3IgY29ycmVjdCB3b3JrCiB3aXRo IGV0aHRvb2wKClsgVXBzdHJlYW0gY29tbWl0IDY2MWRmYzY1Zjc5ODE0ODFiYTJlMzFhYWE3MDIz NzFlODIzMzZlNTYgXQoKVGhlIHNpemUgb2YgdGhlIE1BQyByZWdpc3RlciBkdW1wIHVzZWQgdG8g YmUgdGhlIHNpemUgc3BlY2lmaWVkIGJ5IHRoZQpyZWcgcHJvcGVydHkgaW4gdGhlIGRldmljZSB0 cmVlLiAgVXNlcmxhbmQgaGFzIG5vIGdvb2Qgd2F5IG9mIGZpbmRpbmcKb3V0IHRoYXQgc2l6ZSwg YW5kIGl0IHdhcyBub3Qgc3BlY2lmaWVkIGNvbnNpc3RlbnRseSBmb3IgZWFjaCBNQUMgdHlwZSwK c28gZXRodG9vbCB3b3VsZCBlbmQgdXAgcHJpbnRpbmcganVuayBhdCB0aGUgZW5kIG9mIHRoZSBy ZWdpc3RlciBkdW1wCmlmIHRoZSBkZXZpY2UgdHJlZSBkaWRuJ3QgbWF0Y2ggdGhlIHNpemUgaXQg YXNzdW1lZC4KClVzaW5nIHRoZSBuZXcgdmVyc2lvbiBudW1iZXJzIGluZGljYXRlcyB1bmFtYmln dW91c2x5IHRoYXQgdGhlIHNpemUgb2YKdGhlIE1BQyByZWdpc3RlciBkdW1wIGlzIGRlcGVuZGVu dCBvbmx5IG9uIHRoZSBNQUMgdHlwZS4KCkZpeGVzOiA1MzY5YzcxZjdjYTIgKCJuZXQvaWJtL2Vt YWM6IGZpeCBzaXplIG9mIGVtYWMgZHVtcCBtZW1vcnkgYXJlYXMiKQpTaWduZWQtb2ZmLWJ5OiBJ dmFuIE1pa2hheWxvdiA8aXZhbkBydS5pYm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJt L2VtYWMvY29yZS5oIHwgICAgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJt L2VtYWMvY29yZS5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJtL2VtYWMvY29yZS5oCmluZGV4 IDI4ZGYzNzQuLmFjMDJjNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2libS9l bWFjL2NvcmUuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pYm0vZW1hYy9jb3JlLmgKQEAg LTQ2MCw4ICs0NjAsOCBAQCBzdHJ1Y3QgZW1hY19ldGh0b29sX3JlZ3Nfc3ViaGRyIHsKIAl1MzIg aW5kZXg7CiB9OwogCi0jZGVmaW5lIEVNQUNfRVRIVE9PTF9SRUdTX1ZFUgkJMAotI2RlZmluZSBF TUFDNF9FVEhUT09MX1JFR1NfVkVSCQkxCi0jZGVmaW5lIEVNQUM0U1lOQ19FVEhUT09MX1JFR1Nf VkVSCTIKKyNkZWZpbmUgRU1BQ19FVEhUT09MX1JFR1NfVkVSCQkzCisjZGVmaW5lIEVNQUM0X0VU SFRPT0xfUkVHU19WRVIJCTQKKyNkZWZpbmUgRU1BQzRTWU5DX0VUSFRPT0xfUkVHU19WRVIJNQog CiAjZW5kaWYgLyogX19JQk1fTkVXRU1BQ19DT1JFX0ggKi8KLS0gCjEuNy4xMC40CgoKRnJvbSBk NzY4OTBiYmI4NjE5YzAzNGY1MDA4YzQ5MDQ4ZjBiYTI0NTIxMjU4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQ291emVucyA8bHlueGlzQGZlODAuZXU+CkRhdGU6IE1v biwgMjggU2VwIDIwMTUgMTE6MzI6NDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzIwXSBsMnRw OiBwcm90ZWN0IHR1bm5lbC0+ZGVsX3dvcmsgYnkgcmVmX2NvdW50CgpbIFVwc3RyZWFtIGNvbW1p dCAwNmExNWY1MWNmMzYxOGUzMmE3Mzg3MWVlNmE1NDdlZjdmZDkwMmI1IF0KClRoZXJlIGlzIGEg c21hbGwgY2hhbmNlIHRoYXQgdHVubmVsX2ZyZWUoKSBpcyBjYWxsZWQgYmVmb3JlIHR1bm5lbC0+ ZGVsX3dvcmsgc2NoZWR1bGVkCnJlc3VsdGluZyBpbiBhIHplcm8gcG9pbnRlciBkZXJlZmVyZW5j ZS4KClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBDb3V6ZW5zIDxseW54aXNAZmU4MC5ldT4KQWNr ZWQtYnk6IEphbWVzIENoYXBtYW4gPGpjaGFwbWFuQGthdGFsaXguY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2wydHAvbDJ0 cF9jb3JlLmMgfCAgIDExICsrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9sMnRwL2wydHBfY29yZS5jIGIv bmV0L2wydHAvbDJ0cF9jb3JlLmMKaW5kZXggZjZiMDkwZC4uYWZjYTJlYiAxMDA2NDQKLS0tIGEv bmV0L2wydHAvbDJ0cF9jb3JlLmMKKysrIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKQEAgLTEzMTks NyArMTMxOSw3IEBAIHN0YXRpYyB2b2lkIGwydHBfdHVubmVsX2RlbF93b3JrKHN0cnVjdCB3b3Jr X3N0cnVjdCAqd29yaykKIAl0dW5uZWwgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGwydHBf dHVubmVsLCBkZWxfd29yayk7CiAJc2sgPSBsMnRwX3R1bm5lbF9zb2NrX2xvb2t1cCh0dW5uZWwp OwogCWlmICghc2spCi0JCXJldHVybjsKKwkJZ290byBvdXQ7CiAKIAlzb2NrID0gc2stPnNrX3Nv Y2tldDsKIApAQCAtMTM0MSw2ICsxMzQxLDggQEAgc3RhdGljIHZvaWQgbDJ0cF90dW5uZWxfZGVs X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCX0KIAogCWwydHBfdHVubmVsX3NvY2tf cHV0KHNrKTsKK291dDoKKwlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQodHVubmVsKTsKIH0KIAog LyogQ3JlYXRlIGEgc29ja2V0IGZvciB0aGUgdHVubmVsLCBpZiBvbmUgaXNuJ3Qgc2V0IHVwIGJ5 CkBAIC0xNjM2LDggKzE2MzgsMTMgQEAgRVhQT1JUX1NZTUJPTF9HUEwobDJ0cF90dW5uZWxfY3Jl YXRlKTsKICAqLwogaW50IGwydHBfdHVubmVsX2RlbGV0ZShzdHJ1Y3QgbDJ0cF90dW5uZWwgKnR1 bm5lbCkKIHsKKwlsMnRwX3R1bm5lbF9pbmNfcmVmY291bnQodHVubmVsKTsKIAlsMnRwX3R1bm5l bF9jbG9zZWFsbCh0dW5uZWwpOwotCXJldHVybiAoZmFsc2UgPT0gcXVldWVfd29yayhsMnRwX3dx LCAmdHVubmVsLT5kZWxfd29yaykpOworCWlmIChmYWxzZSA9PSBxdWV1ZV93b3JrKGwydHBfd3Es ICZ0dW5uZWwtPmRlbF93b3JrKSkgeworCQlsMnRwX3R1bm5lbF9kZWNfcmVmY291bnQodHVubmVs KTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9HUEwobDJ0 cF90dW5uZWxfZGVsZXRlKTsKIAotLSAKMS43LjEwLjQKCgpGcm9tIGJmOWU0ZWQxMWQ2OWFhYzc4 MTYyNTI5ZDJmMTk5YWQ2MmU2ODlhY2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFh cm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpEYXRlOiBTYXQsIDI2IFNlcCAyMDE1IDE4 OjUwOjQyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwMy8yMF0gYWZfdW5peDogQ29udmVydCB0aGUg dW5peF9zayBtYWNybyB0byBhbiBpbmxpbmUKIGZ1bmN0aW9uIGZvciB0eXBlIHNhZmV0eQoKWyBV cHN0cmVhbSBjb21taXQgNDYxMzAxMmRiMWQ5MTFmODA4OTdmOTQ0NmE0OWRlODE3YjJjNGM0NyBd CgpBcyBzdWdnZXN0ZWQgYnkgRXJpYyBEdW1hemV0IHRoaXMgY2hhbmdlIHJlcGxhY2VzIHRoZQoj ZGVmaW5lIHdpdGggYSBzdGF0aWMgaW5saW5lIGZ1bmN0aW9uIHRvIGVuam95CmNvbXBsYWludHMg YnkgdGhlIGNvbXBpbGVyIHdoZW4gbWlzdXNpbmcgdGhlIEFQSS4KClNpZ25lZC1vZmYtYnk6IEFh cm9uIENvbm9sZSA8YWNvbm9sZUBieXRoZWIub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvYWZfdW5peC5oIHwg ICAgNiArKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9hZl91bml4LmggYi9pbmNsdWRlL25ldC9hZl91 bml4LmgKaW5kZXggNGExNjdiMy4uY2IxYjliYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvYWZf dW5peC5oCisrKyBiL2luY2x1ZGUvbmV0L2FmX3VuaXguaApAQCAtNjMsNyArNjMsMTEgQEAgc3Ry dWN0IHVuaXhfc29jayB7CiAjZGVmaW5lIFVOSVhfR0NfTUFZQkVfQ1lDTEUJMQogCXN0cnVjdCBz b2NrZXRfd3EJcGVlcl93cTsKIH07Ci0jZGVmaW5lIHVuaXhfc2soX19zaykgKChzdHJ1Y3QgdW5p eF9zb2NrICopX19zaykKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgdW5peF9zb2NrICp1bml4X3Nr KHN0cnVjdCBzb2NrICpzaykKK3sKKwlyZXR1cm4gKHN0cnVjdCB1bml4X3NvY2sgKilzazsKK30K IAogI2RlZmluZSBwZWVyX3dhaXQgcGVlcl93cS53YWl0CiAKLS0gCjEuNy4xMC40CgoKRnJvbSBl ZDA2Y2IwZjEwZWRmOTVkMTQyZDBjY2IzYjBmODk3MDI5NWQzNTRkIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBBYXJvbiBDb25vbGUgPGFjb25vbGVAYnl0aGViLm9yZz4KRGF0ZTogU2F0 LCAyNiBTZXAgMjAxNSAxODo1MDo0MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMjBdIGFmX3Vu aXg6IHJldHVybiBkYXRhIGZyb20gbXVsdGlwbGUgU0tCcyBvbiByZWN2KCkgd2l0aAogTVNHX1BF RUsgZmxhZwoKWyBVcHN0cmVhbSBjb21taXQgOWYzODllMzU2NzRmNWIwODZlZGQ3MGVkNTI0Y2Ew ZjI4NzI1OTcyNSBdCgpBRl9VTklYIHNvY2tldHMgbm93IHJldHVybiBtdWx0aXBsZSBza2JzIGZy b20gcmVjdigpIHdoZW4gTVNHX1BFRUsgZmxhZwppcyBzZXQuCgpUaGlzIGlzIHJlZmVyZW5jZWQg aW4ga2VybmVsIGJ1Z3ppbGxhICMxMjMyMyBACmh0dHBzOi8vYnVnemlsbGEua2VybmVsLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9MTIzMjMKCkFzIGRlc2NyaWJlZCBib3RoIGluIHRoZSBCWiBhbmQgbGtt bCB0aHJlYWQgQApodHRwOi8vbGttbC5vcmcvbGttbC8yMDA4LzEvOC80NDQgY2FsbGluZyByZWN2 KCkgd2l0aCBNU0dfUEVFSyBvbiBhbgpBRl9VTklYIHNvY2tldCBvbmx5IHJlYWRzIGEgc2luZ2xl IHNrYiwgd2hlcmUgdGhlIGRlc2lyZWQgZWZmZWN0IGlzCnRvIHJldHVybiBhcyBtdWNoIHNrYiBk YXRhIGhhcyBiZWVuIHF1ZXVlZCwgdW50aWwgaGl0dGluZyB0aGUgcmVjdgpidWZmZXIgc2l6ZSAo d2hpY2hldmVyIGNvbWVzIGZpcnN0KS4KClRoZSBtb2RpZmllZCBNU0dfUEVFSyBwYXRoIHdpbGwg bm93IG1vdmUgdG8gdGhlIG5leHQgc2tiIGluIHRoZSB0cmVlCmFuZCBqdW1wIHRvIHRoZSBhZ2Fp bjogbGFiZWwsIHJhdGhlciB0aGFuIGZvbGxvd2luZyB0aGUgbmF0dXJhbCBsb29wCnN0cnVjdHVy ZS4gVGhpcyByZXF1aXJlcyBkdXBsaWNhdGluZyBzb21lIG9mIHRoZSBsb29wIGhlYWQgYWN0aW9u cy4KClRoaXMgd2FzIHRlc3RlZCB1c2luZyB0aGUgcHl0aG9uIHNvY2tldHBhaXIgcHl0aG9uIGNv ZGUgYXR0YWNoZWQgdG8KdGhlIGJ1Z3ppbGxhIGlzc3VlLgoKU2lnbmVkLW9mZi1ieTogQWFyb24g Q29ub2xlIDxhY29ub2xlQGJ5dGhlYi5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdW5peC9hZl91bml4LmMgfCAgIDE1ICsr KysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9uZXQvdW5peC9hZl91bml4LmMgYi9uZXQvdW5peC9hZl91bml4 LmMKaW5kZXggMDNlZTRkMy4uZWYzMWI0MCAxMDA2NDQKLS0tIGEvbmV0L3VuaXgvYWZfdW5peC5j CisrKyBiL25ldC91bml4L2FmX3VuaXguYwpAQCAtMjE3OSw4ICsyMTc5LDIxIEBAIHVubG9jazoK IAkJCWlmIChVTklYQ0Ioc2tiKS5mcCkKIAkJCQlzY20uZnAgPSBzY21fZnBfZHVwKFVOSVhDQihz a2IpLmZwKTsKIAotCQkJc2tfcGVla19vZmZzZXRfZndkKHNrLCBjaHVuayk7CisJCQlpZiAoc2tp cCkgeworCQkJCXNrX3BlZWtfb2Zmc2V0X2Z3ZChzaywgY2h1bmspOworCQkJCXNraXAgLT0gY2h1 bms7CisJCQl9CiAKKwkJCWlmIChVTklYQ0Ioc2tiKS5mcCkKKwkJCQlicmVhazsKKworCQkJbGFz dCA9IHNrYjsKKwkJCWxhc3RfbGVuID0gc2tiLT5sZW47CisJCQl1bml4X3N0YXRlX2xvY2soc2sp OworCQkJc2tiID0gc2tiX3BlZWtfbmV4dChza2IsICZzay0+c2tfcmVjZWl2ZV9xdWV1ZSk7CisJ CQlpZiAoc2tiKQorCQkJCWdvdG8gYWdhaW47CisJCQl1bml4X3N0YXRlX3VubG9jayhzayk7CiAJ CQlicmVhazsKIAkJfQogCX0gd2hpbGUgKHNpemUpOwotLSAKMS43LjEwLjQKCgpGcm9tIDk5ZTRi ZjgxZWRlODVlOWYwYzI4NDhmMTRiZmJkYjMxZTdlNTE2NTMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEFuZHJleSBWYWdpbiA8YXZhZ2luQG9wZW52ei5vcmc+CkRhdGU6IEZyaSwgMiBP Y3QgMjAxNSAwMDowNTozNiArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjBdIG5ldC91bml4OiBm aXggbG9naWMgYWJvdXQgc2tfcGVla19vZmZzZXQKClsgVXBzdHJlYW0gY29tbWl0IGU5MTkzZDYw ZDM2M2U0ZGZmNzVmZjZkNDNhNDhmMjJiZTI2ZDU5YzcgXQoKTm93IHNlbmQgd2l0aCBNU0dfUEVF SyBjYW4gcmV0dXJuIGRhdGEgZnJvbSBtdWx0aXBsZSBTS0JzLgoKVW5mb3J0dW5hdGVseSB3ZSB0 YWtlIGludG8gYWNjb3VudCB0aGUgcGVlayBvZmZzZXQgZm9yIGVhY2ggc2tiLAp0aGF0IGlzIHdy b25nLiBXZSBuZWVkIHRvIGFwcGx5IHRoZSBwZWVrIG9mZnNldCBvbmx5IG9uY2UuCgpJbiBhZGRp dGlvbiwgdGhlIHBlZWsgb2Zmc2V0IHNob3VsZCBiZSB1c2VkIG9ubHkgaWYgTVNHX1BFRUsgaXMg c2V0LgoKQ2M6ICJEYXZpZCBTLiBNaWxsZXIiIDxkYXZlbUBkYXZlbWxvZnQubmV0PiAobWFpbnRh aW5lcjpORVRXT1JLSU5HCkNjOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+IChj b21taXRfc2lnbmVyOjEvMTQ9NyUpCkNjOiBBYXJvbiBDb25vbGUgPGFjb25vbGVAYnl0aGViLm9y Zz4KRml4ZXM6IDlmMzg5ZTM1Njc0ZiAoImFmX3VuaXg6IHJldHVybiBkYXRhIGZyb20gbXVsdGlw bGUgU0tCcyBvbiByZWN2KCkgd2l0aCBNU0dfUEVFSyBmbGFnIikKU2lnbmVkLW9mZi1ieTogQW5k cmV5IFZhZ2luIDxhdmFnaW5Ab3BlbnZ6Lm9yZz4KVGVzdGVkLWJ5OiBBYXJvbiBDb25vbGUgPGFj b25vbGVAYnl0aGViLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIG5ldC91bml4L2FmX3VuaXguYyB8ICAgMTIgKysrKysrKy0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL25ldC91bml4L2FmX3VuaXguYyBiL25ldC91bml4L2FmX3VuaXguYwppbmRleCBlZjMx YjQwLi45NGY2NTgyIDEwMDY0NAotLS0gYS9uZXQvdW5peC9hZl91bml4LmMKKysrIGIvbmV0L3Vu aXgvYWZfdW5peC5jCkBAIC0yMDY0LDYgKzIwNjQsMTEgQEAgc3RhdGljIGludCB1bml4X3N0cmVh bV9yZWFkX2dlbmVyaWMoc3RydWN0IHVuaXhfc3RyZWFtX3JlYWRfc3RhdGUgKnN0YXRlKQogCQln b3RvIG91dDsKIAl9CiAKKwlpZiAoZmxhZ3MgJiBNU0dfUEVFSykKKwkJc2tpcCA9IHNrX3BlZWtf b2Zmc2V0KHNrLCBmbGFncyk7CisJZWxzZQorCQlza2lwID0gMDsKKwogCWRvIHsKIAkJaW50IGNo dW5rOwogCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCAqbGFzdDsKQEAgLTIxMTIsNyArMjExNyw2IEBA IHVubG9jazoKIAkJCWJyZWFrOwogCQl9CiAKLQkJc2tpcCA9IHNrX3BlZWtfb2Zmc2V0KHNrLCBm bGFncyk7CiAJCXdoaWxlIChza2lwID49IHVuaXhfc2tiX2xlbihza2IpKSB7CiAJCQlza2lwIC09 IHVuaXhfc2tiX2xlbihza2IpOwogCQkJbGFzdCA9IHNrYjsKQEAgLTIxNzksMTQgKzIxODMsMTIg QEAgdW5sb2NrOgogCQkJaWYgKFVOSVhDQihza2IpLmZwKQogCQkJCXNjbS5mcCA9IHNjbV9mcF9k dXAoVU5JWENCKHNrYikuZnApOwogCi0JCQlpZiAoc2tpcCkgewotCQkJCXNrX3BlZWtfb2Zmc2V0 X2Z3ZChzaywgY2h1bmspOwotCQkJCXNraXAgLT0gY2h1bms7Ci0JCQl9CisJCQlza19wZWVrX29m ZnNldF9md2Qoc2ssIGNodW5rKTsKIAogCQkJaWYgKFVOSVhDQihza2IpLmZwKQogCQkJCWJyZWFr OwogCisJCQlza2lwID0gMDsKIAkJCWxhc3QgPSBza2I7CiAJCQlsYXN0X2xlbiA9IHNrYi0+bGVu OwogCQkJdW5peF9zdGF0ZV9sb2NrKHNrKTsKLS0gCjEuNy4xMC40CgoKRnJvbSBiNDFhN2RhNDVl OTAyNjZhNzBiNTQxYTVjYjI0MmU1OThkMjk2YjA5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBQcmF2aW4gQiBTaGVsYXIgPHBzaGVsYXJAbmljaXJhLmNvbT4KRGF0ZTogVHVlLCAyMiBT ZXAgMjAxNSAxMjo1Nzo1MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMjBdIHNrYnVmZjogRml4 IHNrYiBjaGVja3N1bSBmbGFnIG9uIHNrYiBwdWxsCgpbIFVwc3RyZWFtIGNvbW1pdCA2YWU0NTli ZGFhZWViYzYzMmIxNmU1NGRjYmFiYjQ5MGM2OTMxZDYxIF0KClZYTEFOIGRldmljZSBjYW4gcmVj ZWl2ZSBza2Igd2l0aCBjaGVja3N1bSBwYXJ0aWFsLiBCdXQgdGhlIGNoZWNrc3VtCm9mZnNldCBj b3VsZCBiZSBpbiBvdXRlciBoZWFkZXIgd2hpY2ggaXMgcHVsbGVkIG9uIHJlY2VpdmUuIFRoaXMg cmVzdWx0cwppbiBuZWdhdGl2ZSBjaGVja3N1bSBvZmZzZXQgZm9yIHRoZSBza2IuIFN1Y2ggc2ti IGNhbiBjYXVzZSB0aGUgYXNzZXJ0CmZhaWx1cmUgaW4gc2tiX2NoZWNrc3VtX2hlbHAoKS4gRm9s bG93aW5nIHBhdGNoIGZpeGVzIHRoZSBidWcgYnkgc2V0dGluZwpjaGVja3N1bS1ub25lIHdoaWxl IHB1bGxpbmcgb3V0ZXIgaGVhZGVyLgoKRm9sbG93aW5nIGlzIHRoZSBrZXJuZWwgcGFuaWMgbXNn IGZyb20gb2xkIGtlcm5lbCBoaXR0aW5nIHRoZSBidWcuCgotLS0tLS0tLS0tLS1bIGN1dCBoZXJl IF0tLS0tLS0tLS0tLS0Ka2VybmVsIEJVRyBhdCBuZXQvY29yZS9kZXYuYzoxOTA2IQpSSVA6IDAw MTA6WzxmZmZmZmZmZjgxNTE4MDM0Pl0gc2tiX2NoZWNrc3VtX2hlbHArMHgxNDQvMHgxNTAKQ2Fs bCBUcmFjZToKPElSUT4KWzxmZmZmZmZmZmEwMTY0YzI4Pl0gcXVldWVfdXNlcnNwYWNlX3BhY2tl dCsweDQwOC8weDQ3MCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmZhMDE2NjE0ZD5dIG92c19kcF91 cGNhbGwrMHg1ZC8weDYwIFtvcGVudnN3aXRjaF0KWzxmZmZmZmZmZmEwMTY2MjM2Pl0gb3ZzX2Rw X3Byb2Nlc3NfcGFja2V0X3dpdGhfa2V5KzB4ZTYvMHgxMDAgW29wZW52c3dpdGNoXQpbPGZmZmZm ZmZmYTAxNjYyOWI+XSBvdnNfZHBfcHJvY2Vzc19yZWNlaXZlZF9wYWNrZXQrMHg0Yi8weDgwIFtv cGVudnN3aXRjaF0KWzxmZmZmZmZmZmEwMTZjNTFhPl0gb3ZzX3Zwb3J0X3JlY2VpdmUrMHgyYS8w eDMwIFtvcGVudnN3aXRjaF0KWzxmZmZmZmZmZmEwMTcxMzgzPl0gdnhsYW5fcmN2KzB4NTMvMHg2 MCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmZhMDE3MzRjYj5dIHZ4bGFuX3VkcF9lbmNhcF9yZWN2 KzB4OGIvMHhmMCBbb3BlbnZzd2l0Y2hdCls8ZmZmZmZmZmY4MTU3YWRkYz5dIHVkcF9xdWV1ZV9y Y3Zfc2tiKzB4MmRjLzB4M2IwCls8ZmZmZmZmZmY4MTU3YjU2Zj5dIF9fdWRwNF9saWJfcmN2KzB4 MWNmLzB4NmMwCls8ZmZmZmZmZmY4MTU3YmE3YT5dIHVkcF9yY3YrMHgxYS8weDIwCls8ZmZmZmZm ZmY4MTU0ZmRiZD5dIGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4ZGQvMHgyODAKWzxmZmZmZmZm ZjgxNTUwMTI4Pl0gaXBfbG9jYWxfZGVsaXZlcisweDg4LzB4OTAKWzxmZmZmZmZmZjgxNTRmYTdk Pl0gaXBfcmN2X2ZpbmlzaCsweDEwZC8weDM3MApbPGZmZmZmZmZmODE1NTAzNjU+XSBpcF9yY3Yr MHgyMzUvMHgzMDAKWzxmZmZmZmZmZjgxNTFiYTFkPl0gX19uZXRpZl9yZWNlaXZlX3NrYisweDU1 ZC8weDYyMApbPGZmZmZmZmZmODE1MWMzNjA+XSBuZXRpZl9yZWNlaXZlX3NrYisweDgwLzB4OTAK WzxmZmZmZmZmZjgxNDU5OTM1Pl0gdmlydG5ldF9wb2xsKzB4NTU1LzB4NmYwCls8ZmZmZmZmZmY4 MTUxY2QwND5dIG5ldF9yeF9hY3Rpb24rMHgxMzQvMHgyOTAKWzxmZmZmZmZmZjgxMDY4M2Q4Pl0g X19kb19zb2Z0aXJxKzB4YTgvMHgyMTAKWzxmZmZmZmZmZjgxNjJmZTZjPl0gY2FsbF9zb2Z0aXJx KzB4MWMvMHgzMApbPGZmZmZmZmZmODEwMTYxYTU+XSBkb19zb2Z0aXJxKzB4NjUvMHhhMApbPGZm ZmZmZmZmODEwNjg3YmU+XSBpcnFfZXhpdCsweDhlLzB4YjAKWzxmZmZmZmZmZjgxNjMwNzMzPl0g ZG9fSVJRKzB4NjMvMHhlMApbPGZmZmZmZmZmODE2MjVmMmU+XSBjb21tb25faW50ZXJydXB0KzB4 NmUvMHg2ZQoKUmVwb3J0ZWQtYnk6IEFudXBhbSBDaGFuZGEgPGFjaGFuZGFAdm13YXJlLmNvbT4K U2lnbmVkLW9mZi1ieTogUHJhdmluIEIgU2hlbGFyIDxwc2hlbGFyQG5pY2lyYS5jb20+CkFja2Vk LWJ5OiBUb20gSGVyYmVydCA8dG9tQGhlcmJlcnRsYW5kLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvc2ti dWZmLmggfCAgICAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvc2tidWZmLmggYi9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCmlu ZGV4IDliODg1MzYuLmUyZWU2YTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2tidWZmLmgK KysrIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaApAQCAtMjYwMSw2ICsyNjAxLDkgQEAgc3RhdGlj IGlubGluZSB2b2lkIHNrYl9wb3N0cHVsbF9yY3N1bShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogewog CWlmIChza2ItPmlwX3N1bW1lZCA9PSBDSEVDS1NVTV9DT01QTEVURSkKIAkJc2tiLT5jc3VtID0g Y3N1bV9zdWIoc2tiLT5jc3VtLCBjc3VtX3BhcnRpYWwoc3RhcnQsIGxlbiwgMCkpOworCWVsc2Ug aWYgKHNrYi0+aXBfc3VtbWVkID09IENIRUNLU1VNX1BBUlRJQUwgJiYKKwkJIHNrYl9jaGVja3N1 bV9zdGFydF9vZmZzZXQoc2tiKSA8PSBsZW4pCisJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1f Tk9ORTsKIH0KIAogdW5zaWduZWQgY2hhciAqc2tiX3B1bGxfcmNzdW0oc3RydWN0IHNrX2J1ZmYg KnNrYiwgdW5zaWduZWQgaW50IGxlbik7Ci0tIAoxLjcuMTAuNAoKCkZyb20gNWQ1NjU4M2RjNDRh YWU4Zjk2OTMxYWI3ZmI4MDBkYmZiYzE0MWUwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogUHJhdmluIEIgU2hlbGFyIDxwc2hlbGFyQG5pY2lyYS5jb20+CkRhdGU6IE1vbiwgMjggU2Vw IDIwMTUgMTc6MjQ6MjUgLTA3MDAKU3ViamVjdDogW1BBVENIIDA3LzIwXSBza2J1ZmY6IEZpeCBz a2IgY2hlY2tzdW0gcGFydGlhbCBjaGVjay4KClsgVXBzdHJlYW0gY29tbWl0IDMxYjMzZGZiMGEx NDQ0NjlkZDgwNTUxNGM5ZTYzZjQ5OTM3MjlhNDggXQoKRWFybGllciBwYXRjaCA2YWU0NTliZGEg dHJpZWQgdG8gZGV0ZWN0IHZvaWQgY2tlY2tzdW0gcGFydGlhbApza2IgYnkgY29tcGFyaW5nIHB1 bGwgbGVuZ3RoIHRvIGNoZWNrc3VtIG9mZnNldC4gQnV0IGl0IGRvZXMKbm90IHdvcmsgZm9yIGFs bCBjYXNlcyBzaW5jZSBjaGVja3N1bS1vZmZzZXQgZGVwZW5kcyBvbgp1cGRhdGVzIHRvIHNrYi0+ ZGF0YS4KCkZvbGxvd2luZyBwYXRjaCBmaXhlcyBpdCBieSB2YWxpZGF0aW5nIGNoZWNrc3VtIHN0 YXJ0IG9mZnNldAphZnRlciBza2ItZGF0YSBwb2ludGVyIGlzIHVwZGF0ZWQuIE5lZ2F0aXZlIHZh bHVlIG9mIGNoZWNrc3VtCm9mZnNldCBzdGFydCBtZWFucyB0aGVyZSBpcyBubyBuZWVkIHRvIGNo ZWNrc3VtLgoKRml4ZXM6IDZhZTQ1OWJkYSAoInNrYnVmZjogRml4IHNrYiBjaGVja3N1bSBmbGFn IG9uIHNrYiBwdWxsIikKUmVwb3J0ZWQtYnk6IEFuZHJldyBWYWdpbiA8YXZhZ2luQG9kaW4uY29t PgpTaWduZWQtb2ZmLWJ5OiBQcmF2aW4gQiBTaGVsYXIgPHBzaGVsYXJAbmljaXJhLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGlu Y2x1ZGUvbGludXgvc2tidWZmLmggfCAgICAyICstCiBuZXQvY29yZS9za2J1ZmYuYyAgICAgIHwg ICAgOSArKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc2tidWZmLmggYi9pbmNsdWRlL2xp bnV4L3NrYnVmZi5oCmluZGV4IGUyZWU2YTcuLjI3NTE1ODggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bGludXgvc2tidWZmLmgKKysrIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaApAQCAtMjYwMiw3ICsy NjAyLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNrYl9wb3N0cHVsbF9yY3N1bShzdHJ1Y3Qgc2tf YnVmZiAqc2tiLAogCWlmIChza2ItPmlwX3N1bW1lZCA9PSBDSEVDS1NVTV9DT01QTEVURSkKIAkJ c2tiLT5jc3VtID0gY3N1bV9zdWIoc2tiLT5jc3VtLCBjc3VtX3BhcnRpYWwoc3RhcnQsIGxlbiwg MCkpOwogCWVsc2UgaWYgKHNrYi0+aXBfc3VtbWVkID09IENIRUNLU1VNX1BBUlRJQUwgJiYKLQkJ IHNrYl9jaGVja3N1bV9zdGFydF9vZmZzZXQoc2tiKSA8PSBsZW4pCisJCSBza2JfY2hlY2tzdW1f c3RhcnRfb2Zmc2V0KHNrYikgPCAwKQogCQlza2ItPmlwX3N1bW1lZCA9IENIRUNLU1VNX05PTkU7 CiB9CiAKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NrYnVmZi5jIGIvbmV0L2NvcmUvc2tidWZmLmMK aW5kZXggN2I4NDMzMC4uN2JmYTE4NyAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvc2tidWZmLmMKKysr IGIvbmV0L2NvcmUvc2tidWZmLmMKQEAgLTI5NTgsMTEgKzI5NTgsMTIgQEAgRVhQT1JUX1NZTUJP TF9HUEwoc2tiX2FwcGVuZF9wYWdlZnJhZ3MpOwogICovCiB1bnNpZ25lZCBjaGFyICpza2JfcHVs bF9yY3N1bShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBpbnQgbGVuKQogeworCXVuc2ln bmVkIGNoYXIgKmRhdGEgPSBza2ItPmRhdGE7CisKIAlCVUdfT04obGVuID4gc2tiLT5sZW4pOwot CXNrYi0+bGVuIC09IGxlbjsKLQlCVUdfT04oc2tiLT5sZW4gPCBza2ItPmRhdGFfbGVuKTsKLQlz a2JfcG9zdHB1bGxfcmNzdW0oc2tiLCBza2ItPmRhdGEsIGxlbik7Ci0JcmV0dXJuIHNrYi0+ZGF0 YSArPSBsZW47CisJX19za2JfcHVsbChza2IsIGxlbik7CisJc2tiX3Bvc3RwdWxsX3Jjc3VtKHNr YiwgZGF0YSwgbGVuKTsKKwlyZXR1cm4gc2tiLT5kYXRhOwogfQogRVhQT1JUX1NZTUJPTF9HUEwo c2tiX3B1bGxfcmNzdW0pOwogCi0tIAoxLjcuMTAuNAoKCkZyb20gYjAyOGQ3Zjk4OWIyMTYyMmYz Yjc3MjFiN2EwYjJjMjQxMGU4NWQxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVml2 aWVuIERpZGVsb3QgPHZpdmllbi5kaWRlbG90QHNhdm9pcmZhaXJlbGludXguY29tPgpEYXRlOiBU dWUsIDI5IFNlcCAyMDE1IDE0OjE3OjU0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwOC8yMF0gbmV0 OiBkc2E6IGZpeCBwcmVwYXJhdGlvbiBvZiBhIHBvcnQgU1RQIHVwZGF0ZQoKWyBVcHN0cmVhbSBj b21taXQgNTdhNDc1MzJjNDMxMjE1OTkzNWM5OGI3ZjFjZjBlNjIyOTZiOTE3MSBdCgpCZWNhdXNl IG9mIHRoZSBkZWZhdWx0IDAgdmFsdWUgb2YgcmV0IGluIGRzYV9zbGF2ZV9wb3J0X2F0dHJfc2V0 LCBhCmRyaXZlciBtYXkgcmV0dXJuIC1FT1BOT1RTVVBQIGZyb20gdGhlIGNvbW1pdCBwaGFzZSBv ZiBhIFNUUCBzdGF0ZSwKd2hpY2ggdHJpZ2dlcnMgYSBXQVJOKCkgZnJvbSBzd2l0Y2hkZXYuCgpU aGlzIGhhcHBlbmVkIG9uIGEgNjE4NSBzd2l0Y2ggd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBoYXJk d2FyZSBicmlkZ2luZy4KCkZpeGVzOiAzNTYzNjA2MjU4Y2YgKCJzd2l0Y2hkZXY6IGNvbnZlcnQg U1RQIHVwZGF0ZSB0byBzd2l0Y2hkZXYgYXR0ciBzZXQiKQpSZXBvcnRlZC1ieTogQW5kcmV3IEx1 bm4gPGFuZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBWaXZpZW4gRGlkZWxvdCA8dml2aWVu LmRpZGVsb3RAc2F2b2lyZmFpcmVsaW51eC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvZHNhL3NsYXZlLmMgfCAgIDExICsr KysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL25ldC9kc2Evc2xhdmUuYyBiL25ldC9kc2Evc2xhdmUuYwppbmRleCAz NWM0N2RkLi4yNWRiYjkxIDEwMDY0NAotLS0gYS9uZXQvZHNhL3NsYXZlLmMKKysrIGIvbmV0L2Rz YS9zbGF2ZS5jCkBAIC0zNDgsMTIgKzM0OCwxNyBAQCBzdGF0aWMgaW50IGRzYV9zbGF2ZV9zdHBf dXBkYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHU4IHN0YXRlKQogc3RhdGljIGludCBkc2Ff c2xhdmVfcG9ydF9hdHRyX3NldChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJCSAgIHN0cnVj dCBzd2l0Y2hkZXZfYXR0ciAqYXR0cikKIHsKLQlpbnQgcmV0ID0gMDsKKwlzdHJ1Y3QgZHNhX3Ns YXZlX3ByaXYgKnAgPSBuZXRkZXZfcHJpdihkZXYpOworCXN0cnVjdCBkc2Ffc3dpdGNoICpkcyA9 IHAtPnBhcmVudDsKKwlpbnQgcmV0OwogCiAJc3dpdGNoIChhdHRyLT5pZCkgewogCWNhc2UgU1dJ VENIREVWX0FUVFJfUE9SVF9TVFBfU1RBVEU6Ci0JCWlmIChhdHRyLT50cmFucyA9PSBTV0lUQ0hE RVZfVFJBTlNfQ09NTUlUKQotCQkJcmV0ID0gZHNhX3NsYXZlX3N0cF91cGRhdGUoZGV2LCBhdHRy LT51LnN0cF9zdGF0ZSk7CisJCWlmIChhdHRyLT50cmFucyA9PSBTV0lUQ0hERVZfVFJBTlNfUFJF UEFSRSkKKwkJCXJldCA9IGRzLT5kcnYtPnBvcnRfc3RwX3VwZGF0ZSA/IDAgOiAtRU9QTk9UU1VQ UDsKKwkJZWxzZQorCQkJcmV0ID0gZHMtPmRydi0+cG9ydF9zdHBfdXBkYXRlKGRzLCBwLT5wb3J0 LAorCQkJCQkJICAgICAgIGF0dHItPnUuc3RwX3N0YXRlKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoK IAkJcmV0ID0gLUVPUE5PVFNVUFA7Ci0tIAoxLjcuMTAuNAoKCkZyb20gMWQ5NjI1YzFlYTgwZDFm YWY3NDQzNGJhZGY2MmExN2JiNzFmY2I2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog RXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBTYXQsIDE5IFNlcCAyMDE1 IDA5OjQ4OjA0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwOS8yMF0gaW5ldDogZml4IHJhY2VzIGlu IHJlcXNrX3F1ZXVlX2hhc2hfcmVxKCkKClsgVXBzdHJlYW0gY29tbWl0IDI5YzY4NTI2MDJlMjU5 ZDJjMTg4MmYzMjBiMjlkNWMzZmVjMGRlMDQgXQoKQmVmb3JlIGFsbG93aW5nIGxvY2tsZXNzIExJ U1RFTiBwcm9jZXNzaW5nLCB3ZSBuZWVkIHRvIG1ha2UKc3VyZSB0byBhcm0gdGhlIFNZTl9SRUNW IHRpbWVyIGJlZm9yZSB0aGUgcmVxIHNvY2tldCBpcyB2aXNpYmxlCmluIGhhc2ggdGFibGVzLgoK QWxzbywgcmVxLT5yc2tfaGFzaCBzaG91bGQgYmUgd3JpdHRlbiBiZWZvcmUgd2Ugc2V0IHJza19y ZWZjbnQKdG8gYSBub24gemVybyB2YWx1ZS4KCkZpeGVzOiBmYTc2Y2U3MzI4YjIgKCJpbmV0OiBn ZXQgcmlkIG9mIGNlbnRyYWwgdGNwL2RjY3AgbGlzdGVuZXIgdGltZXIiKQpTaWduZWQtb2ZmLWJ5 OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkNjOiBZaW5nIENhaSA8eWNhaUBn b29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYyB8ICAgIDggKysrKy0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYyBiL25ldC9pcHY0L2luZXRf Y29ubmVjdGlvbl9zb2NrLmMKaW5kZXggMTM0OTU3MS4uN2JiOWMzOSAxMDA2NDQKLS0tIGEvbmV0 L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYworKysgYi9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rp b25fc29jay5jCkBAIC02ODUsMjAgKzY4NSwyMCBAQCB2b2lkIHJlcXNrX3F1ZXVlX2hhc2hfcmVx KHN0cnVjdCByZXF1ZXN0X3NvY2tfcXVldWUgKnF1ZXVlLAogCXJlcS0+bnVtX3RpbWVvdXQgPSAw OwogCXJlcS0+c2sgPSBOVUxMOwogCisJc2V0dXBfdGltZXIoJnJlcS0+cnNrX3RpbWVyLCByZXFz a190aW1lcl9oYW5kbGVyLCAodW5zaWduZWQgbG9uZylyZXEpOworCW1vZF90aW1lcl9waW5uZWQo JnJlcS0+cnNrX3RpbWVyLCBqaWZmaWVzICsgdGltZW91dCk7CisJcmVxLT5yc2tfaGFzaCA9IGhh c2g7CisKIAkvKiBiZWZvcmUgbGV0dGluZyBsb29rdXBzIGZpbmQgdXMsIG1ha2Ugc3VyZSBhbGwg cmVxIGZpZWxkcwogCSAqIGFyZSBjb21taXR0ZWQgdG8gbWVtb3J5IGFuZCByZWZjbnQgaW5pdGlh bGl6ZWQuCiAJICovCiAJc21wX3dtYigpOwogCWF0b21pY19zZXQoJnJlcS0+cnNrX3JlZmNudCwg Mik7Ci0Jc2V0dXBfdGltZXIoJnJlcS0+cnNrX3RpbWVyLCByZXFza190aW1lcl9oYW5kbGVyLCAo dW5zaWduZWQgbG9uZylyZXEpOwotCXJlcS0+cnNrX2hhc2ggPSBoYXNoOwogCiAJc3Bpbl9sb2Nr KCZxdWV1ZS0+c3luX3dhaXRfbG9jayk7CiAJcmVxLT5kbF9uZXh0ID0gbG9wdC0+c3luX3RhYmxl W2hhc2hdOwogCWxvcHQtPnN5bl90YWJsZVtoYXNoXSA9IHJlcTsKIAlzcGluX3VubG9jaygmcXVl dWUtPnN5bl93YWl0X2xvY2spOwotCi0JbW9kX3RpbWVyX3Bpbm5lZCgmcmVxLT5yc2tfdGltZXIs IGppZmZpZXMgKyB0aW1lb3V0KTsKIH0KIEVYUE9SVF9TWU1CT0wocmVxc2tfcXVldWVfaGFzaF9y ZXEpOwogCi0tIAoxLjcuMTAuNAoKCkZyb20gMzQyMDdiOWRmYzI1MzUxZTc2MTEzM2ZmZGQyODI0 ODkwZTMyMDczYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxl ZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUdWUsIDI5IFNlcCAyMDE1IDE4OjUyOjI1IC0wNzAw ClN1YmplY3Q6IFtQQVRDSCAxMC8yMF0gbmV0OiBhZGQgcGZtZW1hbGxvYyBjaGVjayBpbiBza19h ZGRfYmFja2xvZygpCgpbIFVwc3RyZWFtIGNvbW1pdCBjN2M0OWI4ZmRlMjZiNzQyNzcxODhiZGM2 YzlkY2EzOGRiNmZhMzViIF0KCkdyZWcgcmVwb3J0ZWQgY3Jhc2hlcyBoaXR0aW5nIHRoZSBmb2xs b3dpbmcgY2hlY2sgaW4gX19za19iYWNrbG9nX3JjdigpCgoJQlVHX09OKCFzb2NrX2ZsYWcoc2ss IFNPQ0tfTUVNQUxMT0MpKTsKClRoZSBwZm1lbWFsbG9jIGJpdCBpcyBjdXJyZW50bHkgY2hlY2tl ZCBpbiBza19maWx0ZXIoKS4KClRoaXMgd29ya3MgY29ycmVjdGx5IGZvciBUQ1AsIGJlY2F1c2Ug c2tfZmlsdGVyKCkgaXMgcmFuIGluCnRjcF92WzQ2XV9yY3YoKSBiZWZvcmUgaGl0dGluZyB0aGUg cHJlcXVldWUgb3IgYmFja2xvZyBjaGVja3MuCgpGb3IgVURQIG9yIG90aGVyIHByb3RvY29scywg dGhpcyBkb2VzIG5vdCB3b3JrLCBiZWNhdXNlIHRoZSBza19maWx0ZXIoKQppcyByYW4gZnJvbSBz b2NrX3F1ZXVlX3Jjdl9za2IoKSwgd2hpY2ggbWlnaHQgYmUgY2FsbGVkIF9hZnRlcl8gYmFja2xv ZwpxdWV1aW5nIGlmIHNvY2tldCBpcyBvd25lZCBieSB1c2VyIGJ5IHRoZSB0aW1lIHBhY2tldCBp cyBwcm9jZXNzZWQgYnkKc29mdGlycSBoYW5kbGVyLgoKRml4ZXM6IGI0YjllMzU1ODUwODkgKCJu ZXR2bTogc2V0IFBGX01FTUFMTE9DIGFzIGFwcHJvcHJpYXRlIGR1cmluZyBTS0IgcHJvY2Vzc2lu ZyIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVw b3J0ZWQtYnk6IEdyZWcgVGhlbGVuIDxndGhlbGVuQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL25ldC9z b2NrLmggfCAgICA4ICsrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvc29jay5oIGIvaW5jbHVkZS9uZXQvc29jay5oCmluZGV4 IGYyMWYwNzAuLjRjYTRjM2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L3NvY2suaAorKysgYi9p bmNsdWRlL25ldC9zb2NrLmgKQEAgLTgyNiw2ICs4MjYsMTQgQEAgc3RhdGljIGlubGluZSBfX211 c3RfY2hlY2sgaW50IHNrX2FkZF9iYWNrbG9nKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1 ZmYgKnMKIAlpZiAoc2tfcmN2cXVldWVzX2Z1bGwoc2ssIGxpbWl0KSkKIAkJcmV0dXJuIC1FTk9C VUZTOwogCisJLyoKKwkgKiBJZiB0aGUgc2tiIHdhcyBhbGxvY2F0ZWQgZnJvbSBwZm1lbWFsbG9j IHJlc2VydmVzLCBvbmx5CisJICogYWxsb3cgU09DS19NRU1BTExPQyBzb2NrZXRzIHRvIHVzZSBp dCBhcyB0aGlzIHNvY2tldCBpcworCSAqIGhlbHBpbmcgZnJlZSBtZW1vcnkKKwkgKi8KKwlpZiAo c2tiX3BmbWVtYWxsb2Moc2tiKSAmJiAhc29ja19mbGFnKHNrLCBTT0NLX01FTUFMTE9DKSkKKwkJ cmV0dXJuIC1FTk9NRU07CisKIAlfX3NrX2FkZF9iYWNrbG9nKHNrLCBza2IpOwogCXNrLT5za19i YWNrbG9nLmxlbiArPSBza2ItPnRydWVzaXplOwogCXJldHVybiAwOwotLSAKMS43LjEwLjQKCgpG cm9tIDM0YzJjN2M2ZWY4ZWQ1Mjc5YjdhYTE5M2NhNDQwMWNmODYzMWU5ZDIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEd1aWxsYXVtZSBOYXVsdCA8Zy5uYXVsdEBhbHBoYWxpbmsuZnI+ CkRhdGU6IFdlZCwgMzAgU2VwIDIwMTUgMTE6NDU6MzMgKzAyMDAKU3ViamVjdDogW1BBVENIIDEx LzIwXSBwcHA6IGRvbid0IG92ZXJyaWRlIHNrLT5za19zdGF0ZSBpbiBwcHBvZV9mbHVzaF9kZXYo KQoKWyBVcHN0cmVhbSBjb21taXQgZTY3NDAxNjViOGY3ZjA2ZDhjYWVlMGZjZWFiM2ZiOWQ3OTBh NmZlZCBdCgpTaW5jZSBjb21taXQgMmIwMThkNTdmZjE4ICgicHBwb2U6IGRyb3AgUFBQT1hfWk9N QklFcyBpbiBwcHBvZV9yZWxlYXNlIiksCnBwcG9lX3JlbGVhc2UoKSBjYWxscyBkZXZfcHV0KHBv LT5wcHBvZV9kZXYpIGlmIHNrIGlzIGluIHRoZQpQUFBPWF9aT01CSUUgc3RhdGUuIEJ1dCBwcHBv ZV9mbHVzaF9kZXYoKSBjYW4gc2V0IHNrLT5za19zdGF0ZSB0bwpQUFBPWF9aT01CSUUgX2FuZF8g cmVzZXQgcG8tPnBwcG9lX2RldiB0byBOVUxMLiBUaGlzIGxlYWRzIHRvIHRoZQpmb2xsb3dpbmcg b29wczoKClsgIDU3MC4xNDA4MDBdIEJVRzogdW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBw b2ludGVyIGRlcmVmZXJlbmNlIGF0IDAwMDAwMDAwMDAwMDA0ZTAKWyAgNTcwLjE0MjkzMV0gSVA6 IFs8ZmZmZmZmZmZhMDE4YzcwMT5dIHBwcG9lX3JlbGVhc2UrMHg1MC8weDEwMSBbcHBwb2VdClsg IDU3MC4xNDQ2MDFdIFBHRCAzZDExOTA2NyBQVUQgM2RiYzEwNjcgUE1EIDAKWyAgNTcwLjE0NDYw MV0gT29wczogMDAwMCBbIzFdIFNNUApbICA1NzAuMTQ0NjAxXSBNb2R1bGVzIGxpbmtlZCBpbjog bDJ0cF9wcHAgbDJ0cF9uZXRsaW5rIGwydHBfY29yZSBpcDZfdWRwX3R1bm5lbCB1ZHBfdHVubmVs IHBwcG9lIHBwcG94IHBwcF9nZW5lcmljIHNsaGMgbG9vcCBjcmMzMmNfaW50ZWwgZ2hhc2hfY2xt dWxuaV9pbnRlbCBqaXR0ZXJlbnRyb3B5X3JuZyBzaGEyNTZfZ2VuZXJpYyBobWFjIGRyYmcgYW5z aV9jcHJuZyBhZXNuaV9pbnRlbCBhZXNfeDg2XzY0IGFibGtfaGVscGVyIGNyeXB0ZCBscncgZ2Yx MjhtdWwgZ2x1ZV9oZWxwZXIgYWNwaV9jcHVmcmVxIGV2ZGV2IHNlcmlvX3JhdyBwcm9jZXNzb3Ig YnV0dG9uIGV4dDQgY3JjMTYgbWJjYWNoZSBqYmQyIHZpcnRpb19uZXQgdmlydGlvX2JsayB2aXJ0 aW9fcGNpIHZpcnRpb19yaW5nIHZpcnRpbwpbICA1NzAuMTQ0NjAxXSBDUFU6IDEgUElEOiAxNTcz OCBDb21tOiBwcHAtYXBpdGVzdCBOb3QgdGFpbnRlZCA0LjIuMCAjMQpbICA1NzAuMTQ0NjAxXSBI YXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklP UyBEZWJpYW4tMS44LjItMSAwNC8wMS8yMDE0ClsgIDU3MC4xNDQ2MDFdIHRhc2s6IGZmZmY4ODAw M2QzMGQ2MDAgdGk6IGZmZmY4ODAwMzZiNjAwMDAgdGFzay50aTogZmZmZjg4MDAzNmI2MDAwMApb ICA1NzAuMTQ0NjAxXSBSSVA6IDAwMTA6WzxmZmZmZmZmZmEwMThjNzAxPl0gIFs8ZmZmZmZmZmZh MDE4YzcwMT5dIHBwcG9lX3JlbGVhc2UrMHg1MC8weDEwMSBbcHBwb2VdClsgIDU3MC4xNDQ2MDFd IFJTUDogMDAxODpmZmZmODgwMDM2YjYzZTA4ICBFRkxBR1M6IDAwMDEwMjAyClsgIDU3MC4xNDQ2 MDFdIFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY4ODAwMzQzNDAwMDAgUkNYOiAwMDAw MDAwMDAwMDAwMjA2ClsgIDU3MC4xNDQ2MDFdIFJEWDogMDAwMDAwMDAwMDAwMDAwNiBSU0k6IGZm ZmY4ODAwM2QzMGRkMjAgUkRJOiBmZmZmODgwMDNkMzBkZDIwClsgIDU3MC4xNDQ2MDFdIFJCUDog ZmZmZjg4MDAzNmI2M2UyOCBSMDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAw MDAwClsgIDU3MC4xNDQ2MDFdIFIxMDogMDAwMDdmZmVlOWI1MDQyMCBSMTE6IGZmZmY4ODAwMzQz NDAwNzggUjEyOiBmZmZmODgwMDM4N2VjNzgwClsgIDU3MC4xNDQ2MDFdIFIxMzogZmZmZjg4MDAz ODdlYzdiMCBSMTQ6IGZmZmY4ODAwM2UyMjJhYTAgUjE1OiBmZmZmODgwMDM4N2VjN2IwClsgIDU3 MC4xNDQ2MDFdIEZTOiAgMDAwMDdmNTY3MmY0ODcwMCgwMDAwKSBHUzpmZmZmODgwMDNmYzgwMDAw KDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKWyAgNTcwLjE0NDYwMV0gQ1M6ICAwMDEwIERT OiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpbICA1NzAuMTQ0NjAxXSBDUjI6 IDAwMDAwMDAwMDAwMDA0ZTAgQ1IzOiAwMDAwMDAwMDM3ZjdlMDAwIENSNDogMDAwMDAwMDAwMDA0 MDZhMApbICA1NzAuMTQ0NjAxXSBTdGFjazoKWyAgNTcwLjE0NDYwMV0gIGZmZmZmZmZmYTAxOGYy NDAgZmZmZjg4MDAzODdlYzc4MCBmZmZmZmZmZmEwMThmMjQwIGZmZmY4ODAwMzg3ZWM3YjAKWyAg NTcwLjE0NDYwMV0gIGZmZmY4ODAwMzZiNjNlNDggZmZmZmZmZmY4MTJjYWFiZSBmZmZmODgwMDM5 ZTRlMDAwIDAwMDAwMDAwMDAwMDAwMDgKWyAgNTcwLjE0NDYwMV0gIGZmZmY4ODAwMzZiNjNlNTgg ZmZmZmZmZmY4MTJjYWJhZCBmZmZmODgwMDM2YjYzZWE4IGZmZmZmZmZmODExMzQ3ZjUKWyAgNTcw LjE0NDYwMV0gQ2FsbCBUcmFjZToKWyAgNTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTJjYWFiZT5d IHNvY2tfcmVsZWFzZSsweDFhLzB4NzUKWyAgNTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTJjYWJh ZD5dIHNvY2tfY2xvc2UrMHhkLzB4MTEKWyAgNTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTEzNDdm NT5dIF9fZnB1dCsweGZmLzB4MWE1ClsgIDU3MC4xNDQ2MDFdICBbPGZmZmZmZmZmODExMzQ4Y2I+ XSBfX19fZnB1dCsweDkvMHhiClsgIDU3MC4xNDQ2MDFdICBbPGZmZmZmZmZmODEwNTY2ODI+XSB0 YXNrX3dvcmtfcnVuKzB4NjYvMHg5MApbICA1NzAuMTQ0NjAxXSAgWzxmZmZmZmZmZjgxMDAxODll Pl0gcHJlcGFyZV9leGl0X3RvX3VzZXJtb2RlKzB4OGMvMHhhNwpbICA1NzAuMTQ0NjAxXSAgWzxm ZmZmZmZmZjgxMDAxYTI2Pl0gc3lzY2FsbF9yZXR1cm5fc2xvd3BhdGgrMHgxNmQvMHgxOWIKWyAg NTcwLjE0NDYwMV0gIFs8ZmZmZmZmZmY4MTNiYWJiMT5dIGludF9yZXRfZnJvbV9zeXNfY2FsbCsw eDI1LzB4OWYKWyAgNTcwLjE0NDYwMV0gQ29kZTogNDggOGIgODMgYzggMDEgMDAgMDAgYTggMDEg NzQgMTIgNDggODkgZGYgZTggOGIgMjcgMTQgZTEgYjggZjcgZmYgZmYgZmYgZTkgYjcgMDAgMDAg MDAgOGEgNDMgMTIgYTggMGIgNzQgMWMgNDggOGIgODMgYTggMDQgMDAgMDAgPDQ4PiA4YiA4MCBl MCAwNCAwMCAwMCA2NSBmZiAwOCA0OCBjNyA4MyBhOCAwNCAwMCAwMCAwMCAwMCAwMCAwMApbICA1 NzAuMTQ0NjAxXSBSSVAgIFs8ZmZmZmZmZmZhMDE4YzcwMT5dIHBwcG9lX3JlbGVhc2UrMHg1MC8w eDEwMSBbcHBwb2VdClsgIDU3MC4xNDQ2MDFdICBSU1AgPGZmZmY4ODAwMzZiNjNlMDg+ClsgIDU3 MC4xNDQ2MDFdIENSMjogMDAwMDAwMDAwMDAwMDRlMApbICA1NzAuMjAwNTE4XSAtLS1bIGVuZCB0 cmFjZSA0Njk1NmJhZjE3MzQ5NTYzIF0tLS0KCnBwcG9lX2ZsdXNoX2RldigpIGhhcyBubyByZWFz b24gdG8gb3ZlcnJpZGUgc2stPnNrX3N0YXRlIHdpdGgKUFBQT1hfWk9NQklFLiBwcHBveF91bmJp bmRfc29jaygpIGFscmVhZHkgc2V0cyBzay0+c2tfc3RhdGUgdG8KUFBQT1hfREVBRCwgd2hpY2gg aXMgdGhlIGNvcnJlY3Qgc3RhdGUgZ2l2ZW4gdGhhdCBzayBpcyB1bmJvdW5kIGFuZApwby0+cHBw b2VfZGV2IGlzIE5VTEwuCgpGaXhlczogMmIwMThkNTdmZjE4ICgicHBwb2U6IGRyb3AgUFBQT1hf Wk9NQklFcyBpbiBwcHBvZV9yZWxlYXNlIikKVGVzdGVkLWJ5OiBPbGVrc2lpIEJlcmV6aG5pYWsg PGNvcmVAaXJjLmxnLnVhPgpTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgTmF1bHQgPGcubmF1bHRA YWxwaGFsaW5rLmZyPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwcG9lLmMgfCAgICAxIC0KIDEgZmlsZSBj aGFuZ2VkLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBwL3BwcG9l LmMgYi9kcml2ZXJzL25ldC9wcHAvcHBwb2UuYwppbmRleCAzODM3YWUzLi4yZWQ3NTA2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9wcHAvcHBwb2UuYworKysgYi9kcml2ZXJzL25ldC9wcHAvcHBw b2UuYwpAQCAtMzEzLDcgKzMxMyw2IEBAIHN0YXRpYyB2b2lkIHBwcG9lX2ZsdXNoX2RldihzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2KQogCQkJaWYgKHBvLT5wcHBvZV9kZXYgPT0gZGV2ICYmCiAJCQkg ICAgc2stPnNrX3N0YXRlICYgKFBQUE9YX0NPTk5FQ1RFRCB8IFBQUE9YX0JPVU5EIHwgUFBQT1hf Wk9NQklFKSkgewogCQkJCXBwcG94X3VuYmluZF9zb2NrKHNrKTsKLQkJCQlzay0+c2tfc3RhdGUg PSBQUFBPWF9aT01CSUU7CiAJCQkJc2stPnNrX3N0YXRlX2NoYW5nZShzayk7CiAJCQkJcG8tPnBw cG9lX2RldiA9IE5VTEw7CiAJCQkJZGV2X3B1dChkZXYpOwotLSAKMS43LjEwLjQKCgpGcm9tIGQ5 NmU5ZjNkZDExN2Q3ODA3NjljNjU4MDdkZjBhMjUxNTY2YTM2MTUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1 LCAxIE9jdCAyMDE1IDA1OjM5OjI2IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMi8yMF0gaW5ldDog Zml4IHJhY2UgaW4gcmVxc2tfcXVldWVfdW5saW5rKCkKClsgVXBzdHJlYW0gY29tbWl0IDIzMDZj NzA0Y2UyODBjOTdhNjBkMWY0NTMzM2I4MjJiNDAyODFkZWEgXQoKcmVxc2tfdGltZXJfaGFuZGxl cigpIHRlc3RzIGlmIGljc2tfYWNjZXB0X3F1ZXVlLmxpc3Rlbl9vcHQKaXMgTlVMTCBhdCBpdHMg YmVnaW5uaW5nLgoKQnkgdGhlIHRpbWUgaXQgY2FsbHMgaW5ldF9jc2tfcmVxc2tfcXVldWVfZHJv cCgpIGFuZApyZXFza19xdWV1ZV91bmxpbmsoKSwgbGlzdGVuZXIgbWlnaHQgaGF2ZSBiZWVuIGNs b3NlZCBhbmQKaW5ldF9jc2tfbGlzdGVuX3N0b3AoKSBoYWQgY2FsbGVkIHJlcXNrX3F1ZXVlX3lh bmtfYWNjZXB0cSgpCndoaWNoIHNldHMgaWNza19hY2NlcHRfcXVldWUubGlzdGVuX29wdCB0byBO VUxMCgpXZSB0aGVyZWZvcmUgbmVlZCB0byBjb3JyZWN0bHkgY2hlY2sgbGlzdGVuX29wdCBiZWlu ZyBOVUxMCmFmdGVyIGhvbGRpbmcgc3luX3dhaXRfbG9jayBmb3IgcHJvcGVyIHN5bmNocm9uaXph dGlvbi4KCkZpeGVzOiBmYTc2Y2U3MzI4YjIgKCJpbmV0OiBnZXQgcmlkIG9mIGNlbnRyYWwgdGNw L2RjY3AgbGlzdGVuZXIgdGltZXIiKQpGaXhlczogYjM1N2EzNjRjNTdjICgiaW5ldDogZml4IHBv c3NpYmxlIHBhbmljIGluIHJlcXNrX3F1ZXVlX3VubGluaygpIikKU2lnbmVkLW9mZi1ieTogRXJp YyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzogWXVjaHVuZyBDaGVuZyA8eWNoZW5n QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jIHwgICAxOSArKysr KysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jIGIv bmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYwppbmRleCA3YmI5YzM5Li42MWI0NWExIDEw MDY0NAotLS0gYS9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jCisrKyBiL25ldC9pcHY0 L2luZXRfY29ubmVjdGlvbl9zb2NrLmMKQEAgLTU3NywyMSArNTc3LDIyIEBAIEVYUE9SVF9TWU1C T0woaW5ldF9ydHhfc3luX2Fjayk7CiBzdGF0aWMgYm9vbCByZXFza19xdWV1ZV91bmxpbmsoc3Ry dWN0IHJlcXVlc3Rfc29ja19xdWV1ZSAqcXVldWUsCiAJCQkgICAgICAgc3RydWN0IHJlcXVlc3Rf c29jayAqcmVxKQogewotCXN0cnVjdCBsaXN0ZW5fc29jayAqbG9wdCA9IHF1ZXVlLT5saXN0ZW5f b3B0OwogCXN0cnVjdCByZXF1ZXN0X3NvY2sgKipwcmV2OworCXN0cnVjdCBsaXN0ZW5fc29jayAq bG9wdDsKIAlib29sIGZvdW5kID0gZmFsc2U7CiAKIAlzcGluX2xvY2soJnF1ZXVlLT5zeW5fd2Fp dF9sb2NrKTsKLQotCWZvciAocHJldiA9ICZsb3B0LT5zeW5fdGFibGVbcmVxLT5yc2tfaGFzaF07 ICpwcmV2ICE9IE5VTEw7Ci0JICAgICBwcmV2ID0gJigqcHJldiktPmRsX25leHQpIHsKLQkJaWYg KCpwcmV2ID09IHJlcSkgewotCQkJKnByZXYgPSByZXEtPmRsX25leHQ7Ci0JCQlmb3VuZCA9IHRy dWU7Ci0JCQlicmVhazsKKwlsb3B0ID0gcXVldWUtPmxpc3Rlbl9vcHQ7CisJaWYgKGxvcHQpIHsK KwkJZm9yIChwcmV2ID0gJmxvcHQtPnN5bl90YWJsZVtyZXEtPnJza19oYXNoXTsgKnByZXYgIT0g TlVMTDsKKwkJICAgICBwcmV2ID0gJigqcHJldiktPmRsX25leHQpIHsKKwkJCWlmICgqcHJldiA9 PSByZXEpIHsKKwkJCQkqcHJldiA9IHJlcS0+ZGxfbmV4dDsKKwkJCQlmb3VuZCA9IHRydWU7CisJ CQkJYnJlYWs7CisJCQl9CiAJCX0KIAl9Ci0KIAlzcGluX3VubG9jaygmcXVldWUtPnN5bl93YWl0 X2xvY2spOwogCWlmICh0aW1lcl9wZW5kaW5nKCZyZXEtPnJza190aW1lcikgJiYgZGVsX3RpbWVy X3N5bmMoJnJlcS0+cnNrX3RpbWVyKSkKIAkJcmVxc2tfcHV0KHJlcSk7Ci0tIAoxLjcuMTAuNAoK CkZyb20gMmI0NjYzY2MzZWZmOTMyNDVkNzFhN2E2MTFhNjc2MGE1MjZjYTMwOSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRGFuaWVsIEJvcmttYW5uIDxkYW5pZWxAaW9nZWFyYm94Lm5l dD4KRGF0ZTogRnJpLCAyIE9jdCAyMDE1IDEyOjA2OjAzICswMjAwClN1YmplY3Q6IFtQQVRDSCAx My8yMF0gYnBmOiBmaXggcGFuaWMgaW4gU09fR0VUX0ZJTFRFUiB3aXRoIG5hdGl2ZSBlYnBmCiBw cm9ncmFtcwoKWyBVcHN0cmVhbSBjb21taXQgOTNkMDhiNjk2NmNmNzMwZWE2NjlkNGQ5OGY0MzYy NzU5NzA3NzE1MyBdCgpXaGVuIHNvY2tldHMgaGF2ZSBhIG5hdGl2ZSBlQlBGIHByb2dyYW0gYXR0 YWNoZWQgdGhyb3VnaApzZXRzb2Nrb3B0KHNrLCBTT0xfU09DS0VULCBTT19BVFRBQ0hfQlBGLCAu Li4pLCBhbmQgdGhlbiB0cnkgdG8KZHVtcCB0aGVzZSBvdmVyIGdldHNvY2tvcHQoc2ssIFNPTF9T T0NLRVQsIFNPX0dFVF9GSUxURVIsIC4uLiksCnRoZSBmb2xsb3dpbmcgcGFuaWMgYXBwZWFyczoK CiAgWzQ5OTA0LjE3ODY0Ml0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50 ZXIgZGVyZWZlcmVuY2UgYXQgKG51bGwpCiAgWzQ5OTA0LjE3ODc2Ml0gSVA6IFs8ZmZmZmZmZmY4 MTYxMGZkOT5dIHNrX2dldF9maWx0ZXIrMHgzOS8weDkwCiAgWzQ5OTA0LjE4MjAwMF0gUEdEIDg2 ZmM5MDY3IFBVRCA1MzFhMTA2NyBQTUQgMAogIFs0OTkwNC4xODUxOTZdIE9vcHM6IDAwMDAgWyMx XSBTTVAKICBbLi4uXQogIFs0OTkwNC4yMjQ2NzddIENhbGwgVHJhY2U6CiAgWzQ5OTA0LjIyNjA5 MF0gIFs8ZmZmZmZmZmY4MTVlM2Q0OT5dIHNvY2tfZ2V0c29ja29wdCsweDMxOS8weDc0MAogIFs0 OTkwNC4yMjc1MzVdICBbPGZmZmZmZmZmODEyZjU5ZTM+XSA/IHNvY2tfaGFzX3Blcm0rMHg2My8w eDcwCiAgWzQ5OTA0LjIyODk1M10gIFs8ZmZmZmZmZmY4MTVlMmZjOD5dID8gcmVsZWFzZV9zb2Nr KzB4MTA4LzB4MTUwCiAgWzQ5OTA0LjIzMDM4MF0gIFs8ZmZmZmZmZmY4MTJmNWE0Mz5dID8gc2Vs aW51eF9zb2NrZXRfZ2V0c29ja29wdCsweDIzLzB4MzAKICBbNDk5MDQuMjMxNzg4XSAgWzxmZmZm ZmZmZjgxNWRmZjM2Pl0gU3lTX2dldHNvY2tvcHQrMHhhNi8weGMwCiAgWzQ5OTA0LjIzMzI2N10g IFs8ZmZmZmZmZmY4MTcxYjlhZT5dIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxMi8weDcx CgpUaGUgdW5kZXJseWluZyBpc3N1ZSBpcyB0aGUgdmVyeSBzYW1lIGFzIGluIGNvbW1pdCBiMzgy YzA4NjU2MDAKKCJzb2NrLCBkaWFnOiBmaXggcGFuaWMgaW4gc29ja19kaWFnX3B1dF9maWx0ZXJp bmZvIiksIHRoYXQgaXMsCm5hdGl2ZSBlQlBGIHByb2dyYW1zIGRvbid0IHN0b3JlIGFuIG9yaWdp bmFsIHByb2dyYW0gc2luY2UgdGhpcwppcyBvbmx5IG5lZWRlZCBpbiBjQlBGIG9uZXMuCgpIb3dl dmVyLCBza19nZXRfZmlsdGVyKCkgd2Fzbid0IHVwZGF0ZWQgdG8gdGVzdCBmb3IgdGhpcyBhdCB0 aGUKdGltZSB3aGVuIGVCUEYgY291bGQgYmUgYXR0YWNoZWQuIEp1c3QgdGhyb3cgYW4gZXJyb3Ig dG8gdGhlIHVzZXIKdG8gaW5kaWNhdGUgdGhhdCBlQlBGIGNhbm5vdCBiZSBkdW1wZWQgb3ZlciB0 aGlzIGludGVyZmFjZS4KVGhhdCB3YXksIGl0IGNhbiBhbHNvIGJlIGtub3duIHRoYXQgYSBwcm9n cmFtIF9pc18gYXR0YWNoZWQgKGFzCm9wcG9zZWQgdG8ganVzdCByZXR1cm4gMCksIGFuZCBhIGRp ZmZlcmVudCAoZnV0dXJlKSBtZXRob2QgbmVlZHMKdG8gYmUgY29uc3VsdGVkIGZvciBhIGR1bXAu CgpGaXhlczogODlhYTA3NTgzMmIwICgibmV0OiBzb2NrOiBhbGxvdyBlQlBGIHByb2dyYW1zIHRv IGJlIGF0dGFjaGVkIHRvIHNvY2tldHMiKQpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgQm9ya21hbm4g PGRhbmllbEBpb2dlYXJib3gubmV0PgpBY2tlZC1ieTogQWxleGVpIFN0YXJvdm9pdG92IDxhc3RA cGx1bWdyaWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZmlsdGVyLmMgfCAgICA2ICsrKysrLQogMSBmaWxlIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9j b3JlL2ZpbHRlci5jIGIvbmV0L2NvcmUvZmlsdGVyLmMKaW5kZXggYmUzMDk4Zi4uNGM3NGFlOSAx MDA2NDQKLS0tIGEvbmV0L2NvcmUvZmlsdGVyLmMKKysrIGIvbmV0L2NvcmUvZmlsdGVyLmMKQEAg LTE3MDEsOSArMTcwMSwxMyBAQCBpbnQgc2tfZ2V0X2ZpbHRlcihzdHJ1Y3Qgc29jayAqc2ssIHN0 cnVjdCBzb2NrX2ZpbHRlciBfX3VzZXIgKnVidWYsCiAJCWdvdG8gb3V0OwogCiAJLyogV2UncmUg Y29weWluZyB0aGUgZmlsdGVyIHRoYXQgaGFzIGJlZW4gb3JpZ2luYWxseSBhdHRhY2hlZCwKLQkg KiBzbyBubyBjb252ZXJzaW9uL2RlY29kZSBuZWVkZWQgYW55bW9yZS4KKwkgKiBzbyBubyBjb252 ZXJzaW9uL2RlY29kZSBuZWVkZWQgYW55bW9yZS4gZUJQRiBwcm9ncmFtcyB0aGF0CisJICogaGF2 ZSBubyBvcmlnaW5hbCBwcm9ncmFtIGNhbm5vdCBiZSBkdW1wZWQgdGhyb3VnaCB0aGlzLgogCSAq LworCXJldCA9IC1FQUNDRVM7CiAJZnByb2cgPSBmaWx0ZXItPnByb2ctPm9yaWdfcHJvZzsKKwlp ZiAoIWZwcm9nKQorCQlnb3RvIG91dDsKIAogCXJldCA9IGZwcm9nLT5sZW47CiAJaWYgKCFsZW4p Ci0tIAoxLjcuMTAuNAoKCkZyb20gNThlNGJmMmQ5OGZjZDdlYTNmOGE2OWFkYzQ1ODU1N2M0MDM3 MjI1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS29uc3RhbnRpbiBLaGxlYm5pa292 IDxraGxlYm5pa292QHlhbmRleC10ZWFtLnJ1PgpEYXRlOiBGcmksIDIgT2N0IDIwMTUgMTM6MTg6 MjIgKzAzMDAKU3ViamVjdDogW1BBVENIIDE0LzIwXSBvdnM6IGRvIG5vdCBhbGxvY2F0ZSBtZW1v cnkgZnJvbSBvZmZsaW5lIG51bWEgbm9kZQoKWyBVcHN0cmVhbSBjb21taXQgNTk4YzEyZDBiYTZk ZTkwNjBmMDQ5OTk3NDZlYjFlMDE1Nzc0MDQ0YiBdCgpXaGVuIG9wZW52c3dpdGNoIHRyaWVzIGFs bG9jYXRlIG1lbW9yeSBmcm9tIG9mZmxpbmUgbnVtYSBub2RlIDA6CnN0YXRzID0ga21lbV9jYWNo ZV9hbGxvY19ub2RlKGZsb3dfc3RhdHNfY2FjaGUsIEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPLCAw KQpJdCBjYXRjaGVzIFZNX0JVR19PTihuaWQgPCAwIHx8IG5pZCA+PSBNQVhfTlVNTk9ERVMgfHwg IW5vZGVfb25saW5lKG5pZCkpClsgcmVwbGFjZWQgd2l0aCBWTV9XQVJOX09OKCFub2RlX29ubGlu ZShuaWQpKSByZWNlbnRseSBdIGluIGxpbnV4L2dmcC5oClRoaXMgcGF0Y2ggZGlzYWJsZXMgbnVt YSBhZmZpbml0eSBpbiB0aGlzIGNhc2UuCgpTaWduZWQtb2ZmLWJ5OiBLb25zdGFudGluIEtobGVi bmlrb3YgPGtobGVibmlrb3ZAeWFuZGV4LXRlYW0ucnU+CkFja2VkLWJ5OiBQcmF2aW4gQiBTaGVs YXIgPHBzaGVsYXJAbmljaXJhLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9vcGVudnN3aXRjaC9mbG93X3RhYmxlLmMgfCAg ICAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9mbG93X3RhYmxlLmMgYi9uZXQvb3BlbnZzd2l0 Y2gvZmxvd190YWJsZS5jCmluZGV4IGI1YzNiYmEuLmFmMDhlNmYgMTAwNjQ0Ci0tLSBhL25ldC9v cGVudnN3aXRjaC9mbG93X3RhYmxlLmMKKysrIGIvbmV0L29wZW52c3dpdGNoL2Zsb3dfdGFibGUu YwpAQCAtOTIsNyArOTIsOCBAQCBzdHJ1Y3Qgc3dfZmxvdyAqb3ZzX2Zsb3dfYWxsb2Modm9pZCkK IAogCS8qIEluaXRpYWxpemUgdGhlIGRlZmF1bHQgc3RhdCBub2RlLiAqLwogCXN0YXRzID0ga21l bV9jYWNoZV9hbGxvY19ub2RlKGZsb3dfc3RhdHNfY2FjaGUsCi0JCQkJICAgICAgR0ZQX0tFUk5F TCB8IF9fR0ZQX1pFUk8sIDApOworCQkJCSAgICAgIEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPLAor CQkJCSAgICAgIG5vZGVfb25saW5lKDApID8gMCA6IE5VTUFfTk9fTk9ERSk7CiAJaWYgKCFzdGF0 cykKIAkJZ290byBlcnI7CiAKLS0gCjEuNy4xMC40CgoKRnJvbSBhMGVkMTMxZGM0ZjdhMmFkMzZm ZDU1N2Q1YmNkZDdiMzQyMDM5NTEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXQU5H IENvbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCA2IE9jdCAyMDE1IDE3 OjIzOjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxNS8yMF0gYWN0X21pcnJlZDogY2xlYXIgc2Vu ZGVyIGNwdSBiZWZvcmUgc2VuZGluZyB0byB0eAoKWyBVcHN0cmVhbSBjb21taXQgZDQwNDk2YTU2 NDMwZWFjMGQzMzAzNzg4MTY5NTQ2MTk4OTlmZTMwMyBdCgpTaW1pbGFyIHRvIGNvbW1pdCBjMjkz OTBjNmRmZWUgKCJ4cHM6IG11c3QgY2xlYXIgc2VuZGVyX2NwdSBiZWZvcmUgZm9yd2FyZGluZyIp CnRoZSBza2ItPnNlbmRlcl9jcHUgbmVlZHMgdG8gYmUgY2xlYXJlZCB3aGVuIG1vdmluZyBmcm9t IFJ4ClR4LCBvdGhlcndpc2Uga2VybmVsIGNvdWxkIGNyYXNoLgoKRml4ZXM6IDJiZDgyNDg0YmI0 YyAoInhwczogZml4IHhwcyBmb3Igc3RhY2tlZCBkZXZpY2VzIikKQ2M6IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IEphbWFsIEhhZGkgU2FsaW0gPGpoc0Btb2phdGF0dS5j b20+ClNpZ25lZC1vZmYtYnk6IENvbmcgV2FuZyA8Y3dhbmdAdHdvcGVuc291cmNlLmNvbT4KU2ln bmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkFja2VkLWJ5 OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvYWN0X21pcnJl ZC5jIHwgICAgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQg YS9uZXQvc2NoZWQvYWN0X21pcnJlZC5jIGIvbmV0L3NjaGVkL2FjdF9taXJyZWQuYwppbmRleCAy Njg1NDUwLi5iMTc2ODE5IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X21pcnJlZC5jCisrKyBi L25ldC9zY2hlZC9hY3RfbWlycmVkLmMKQEAgLTE2OCw2ICsxNjgsNyBAQCBzdGF0aWMgaW50IHRj Zl9taXJyZWQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29uc3Qgc3RydWN0IHRjX2FjdGlvbiAqYSwK IAogCXNrYjItPnNrYl9paWYgPSBza2ItPmRldi0+aWZpbmRleDsKIAlza2IyLT5kZXYgPSBkZXY7 CisJc2tiX3NlbmRlcl9jcHVfY2xlYXIoc2tiMik7CiAJZXJyID0gZGV2X3F1ZXVlX3htaXQoc2ti Mik7CiAKIG91dDoKLS0gCjEuNy4xMC40CgoKRnJvbSAxM2U2NjIyZjEwNjI1YmIxOTkzNGEyNTcy Y2YyNjg1OTAzZWU1MTY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4ZWkgU3Rh cm92b2l0b3YgPGFzdEBwbHVtZ3JpZC5jb20+CkRhdGU6IFR1ZSwgNiBPY3QgMjAxNSAyMDo0Njow NyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMjBdIGJwZjogY2xlYXIgc2VuZGVyX2NwdSBiZWZv cmUgeG1pdAoKWyBVcHN0cmVhbSBjb21taXQgNmJmMDU3NzM3NGNmYjZjMjMwMWRiZjQ5MzRhNGYy M2FkM2Q3Mjc2MyBdCgpTaW1pbGFyIHRvIGNvbW1pdCBjMjkzOTBjNmRmZWUgKCJ4cHM6IG11c3Qg Y2xlYXIgc2VuZGVyX2NwdSBiZWZvcmUgZm9yd2FyZGluZyIpCnRoZSBza2ItPnNlbmRlcl9jcHUg bmVlZHMgdG8gYmUgY2xlYXJlZCBiZWZvcmUgeG1pdC4KCkZpeGVzOiAzODk2ZDY1NWY0ZDQgKCJi cGY6IGludHJvZHVjZSBicGZfY2xvbmVfcmVkaXJlY3QoKSBoZWxwZXIiKQpTaWduZWQtb2ZmLWJ5 OiBBbGV4ZWkgU3Rhcm92b2l0b3YgPGFzdEBwbHVtZ3JpZC5jb20+CkFja2VkLWJ5OiBEYW5pZWwg Qm9ya21hbm4gPGRhbmllbEBpb2dlYXJib3gubmV0PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZmlsdGVyLmMgfCAgICAx ICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9jb3Jl L2ZpbHRlci5jIGIvbmV0L2NvcmUvZmlsdGVyLmMKaW5kZXggNGM3NGFlOS4uOGRjZGQ4NiAxMDA2 NDQKLS0tIGEvbmV0L2NvcmUvZmlsdGVyLmMKKysrIGIvbmV0L2NvcmUvZmlsdGVyLmMKQEAgLTE0 MTIsNiArMTQxMiw3IEBAIHN0YXRpYyB1NjQgYnBmX2Nsb25lX3JlZGlyZWN0KHU2NCByMSwgdTY0 IGlmaW5kZXgsIHU2NCBmbGFncywgdTY0IHI0LCB1NjQgcjUpCiAJCXJldHVybiBkZXZfZm9yd2Fy ZF9za2IoZGV2LCBza2IyKTsKIAogCXNrYjItPmRldiA9IGRldjsKKwlza2Jfc2VuZGVyX2NwdV9j bGVhcihza2IyKTsKIAlyZXR1cm4gZGV2X3F1ZXVlX3htaXQoc2tiMik7CiB9CiAKLS0gCjEuNy4x MC40CgoKRnJvbSBkMzE4YzNjOTAxZjdlMzJmMTFjZmQ3ZjY4MjhhMzNiZDFkODUzMzIxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiRXJpYyBXLiBCaWVkZXJtYW4iIDxlYmllZGVybUB4 bWlzc2lvbi5jb20+CkRhdGU6IE1vbiwgMTIgT2N0IDIwMTUgMTE6MDI6MDggLTA1MDAKU3ViamVj dDogW1BBVENIIDE3LzIwXSBpcHY2OiBEb24ndCBjYWxsIHdpdGggcnQ2X3VuY2FjaGVkX2xpc3Rf Zmx1c2hfZGV2CgpbIFVwc3RyZWFtIGNvbW1pdCBlMzMyYmM2N2NmNWU1ZTViNzFhMWFlYzk3NTBk MDc5MWFhYzY1MTgzIF0KCkFzIG9yaWdpbmFsbHkgd3JpdHRlbiBydDZfdW5jYWNoZWRfbGlzdF9m bHVzaF9kZXYgbWFrZXMgbm8gc2Vuc2Ugd2hlbgpjYWxsZWQgd2l0aCBkZXYgPT0gTlVMTCBhcyBp dCBhdHRlbXB0cyB0byBmbHVzaCBhbGwgdW5jYWNoZWQgcm91dGVzCnJlZ2FyZGxlc3Mgb2YgbmV0 d29yayBuYW1lc3BhY2Ugd2hlbiBkZXYgPT0gTlVMTC4gIFdoaWNoIGlzIHNpbXBseQppbmNvcnJl Y3QgYmVoYXZpb3IuCgpGdXJ0aGVybW9yZSBhdCB0aGUgcG9pbnQgcnQ2X2lmZG93biBpcyBjYWxs ZWQgd2l0aCBkZXYgPT0gTlVMTCBubyBtb3JlCm5ldHdvcmsgZGV2aWNlcyBleGlzdCBpbiB0aGUg bmV0d29yayBuYW1lc3BhY2Ugc28gZXZlbiBpZiB0aGUgY29kZSBpbgpydDZfdW5jYWNoZWRfbGlz dF9mbHVzaF9kZXYgd2VyZSB0byBhdHRlbXB0IHNvbWV0aGluZyBzZW5zaWJsZSBpdAp3b3VsZCBi ZSBtZWFuaW5nbGVzcy4KClRoZXJlZm9yZSByZW1vdmUgc3VwcG9ydCBpbiBydDZfdW5jYWNoZWRf bGlzdF9mbHVzaF9kZXYgZm9yIGhhbmRsaW5nCm5ldHdvcmsgZGV2aWNlcyB3aGVyZSBkZXYgPT0g TlVMTCwgYW5kIG9ubHkgY2FsbCBydDZfdW5jYWNoZWRfbGlzdF9mbHVzaF9kZXYKIHdoZW4gcnQ2 X2lmZG93biBpcyBjYWxsZWQgd2l0aCBhIG5ldHdvcmsgZGV2aWNlLgoKRml4ZXM6IDhkMGI5NGFm ZGNhOCAoImlwdjY6IEtlZXAgdHJhY2sgb2YgRFNUX05PQ0FDSEUgcm91dGVzIGluIGNhc2Ugb2Yg aWZhY2UgZG93bi91bnJlZ2lzdGVyIikKU2lnbmVkLW9mZi1ieTogIkVyaWMgVy4gQmllZGVybWFu IiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgpSZXZpZXdlZC1ieTogTWFydGluIEthRmFpIExhdSA8 a2FmYWlAZmIuY29tPgpUZXN0ZWQtYnk6IE1hcnRpbiBLYUZhaSBMYXUgPGthZmFpQGZiLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC9pcHY2L3JvdXRlLmMgfCAgIDEyICsrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9yb3V0 ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwppbmRleCAwMGI2NGQ0Li5kZDZlYmJhIDEwMDY0NAotLS0g YS9uZXQvaXB2Ni9yb3V0ZS5jCisrKyBiL25ldC9pcHY2L3JvdXRlLmMKQEAgLTEzOSw2ICsxMzks OSBAQCBzdGF0aWMgdm9pZCBydDZfdW5jYWNoZWRfbGlzdF9mbHVzaF9kZXYoc3RydWN0IG5ldCAq bmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXN0cnVjdCBuZXRfZGV2aWNlICpsb29wYmFj a19kZXYgPSBuZXQtPmxvb3BiYWNrX2RldjsKIAlpbnQgY3B1OwogCisJaWYgKGRldiA9PSBsb29w YmFja19kZXYpCisJCXJldHVybjsKKwogCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKIAkJ c3RydWN0IHVuY2FjaGVkX2xpc3QgKnVsID0gcGVyX2NwdV9wdHIoJnJ0Nl91bmNhY2hlZF9saXN0 LCBjcHUpOwogCQlzdHJ1Y3QgcnQ2X2luZm8gKnJ0OwpAQCAtMTQ4LDE0ICsxNTEsMTIgQEAgc3Rh dGljIHZvaWQgcnQ2X3VuY2FjaGVkX2xpc3RfZmx1c2hfZGV2KHN0cnVjdCBuZXQgKm5ldCwgc3Ry dWN0IG5ldF9kZXZpY2UgKmRldikKIAkJCXN0cnVjdCBpbmV0Nl9kZXYgKnJ0X2lkZXYgPSBydC0+ cnQ2aV9pZGV2OwogCQkJc3RydWN0IG5ldF9kZXZpY2UgKnJ0X2RldiA9IHJ0LT5kc3QuZGV2Owog Ci0JCQlpZiAocnRfaWRldiAmJiAocnRfaWRldi0+ZGV2ID09IGRldiB8fCAhZGV2KSAmJgotCQkJ ICAgIHJ0X2lkZXYtPmRldiAhPSBsb29wYmFja19kZXYpIHsKKwkJCWlmIChydF9pZGV2LT5kZXYg PT0gZGV2KSB7CiAJCQkJcnQtPnJ0NmlfaWRldiA9IGluNl9kZXZfZ2V0KGxvb3BiYWNrX2Rldik7 CiAJCQkJaW42X2Rldl9wdXQocnRfaWRldik7CiAJCQl9CiAKLQkJCWlmIChydF9kZXYgJiYgKHJ0 X2RldiA9PSBkZXYgfHwgIWRldikgJiYKLQkJCSAgICBydF9kZXYgIT0gbG9vcGJhY2tfZGV2KSB7 CisJCQlpZiAocnRfZGV2ID09IGRldikgewogCQkJCXJ0LT5kc3QuZGV2ID0gbG9vcGJhY2tfZGV2 OwogCQkJCWRldl9ob2xkKHJ0LT5kc3QuZGV2KTsKIAkJCQlkZXZfcHV0KHJ0X2Rldik7CkBAIC0y NTc3LDcgKzI1NzgsOCBAQCB2b2lkIHJ0Nl9pZmRvd24oc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qg bmV0X2RldmljZSAqZGV2KQogCiAJZmliNl9jbGVhbl9hbGwobmV0LCBmaWI2X2lmZG93biwgJmFk bik7CiAJaWNtcDZfY2xlYW5fYWxsKGZpYjZfaWZkb3duLCAmYWRuKTsKLQlydDZfdW5jYWNoZWRf bGlzdF9mbHVzaF9kZXYobmV0LCBkZXYpOworCWlmIChkZXYpCisJCXJ0Nl91bmNhY2hlZF9saXN0 X2ZsdXNoX2RldihuZXQsIGRldik7CiB9CiAKIHN0cnVjdCBydDZfbXR1X2NoYW5nZV9hcmcgewot LSAKMS43LjEwLjQKCgpGcm9tIGIxMGU5MDBiMjY5Y2RiNmMxZDdlODE2ZmM1MTVmNzkxY2NiZGJm ZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvZSBQZXJjaGVzIDxqb2VAcGVyY2hl cy5jb20+CkRhdGU6IFdlZCwgMTQgT2N0IDIwMTUgMDE6MDk6NDAgLTA3MDAKU3ViamVjdDogW1BB VENIIDE4LzIwXSBldGh0b29sOiBVc2Uga2NhbGxvYyBpbnN0ZWFkIG9mIGttYWxsb2MgZm9yCiBl dGh0b29sX2dldF9zdHJpbmdzCgpbIFVwc3RyZWFtIGNvbW1pdCAwNzdjYjM3ZmNmNmYwMGE0NWYz NzUxNjEyMDBiNWVlMGNkNGU5MzdiIF0KCkl0IHNlZW1zIHRoYXQga2VybmVsIG1lbW9yeSBjYW4g bGVhayBpbnRvIHVzZXJzcGFjZSBieSBhCmttYWxsb2MsIGV0aHRvb2xfZ2V0X3N0cmluZ3MsIHRo ZW4gY29weV90b191c2VyIHNlcXVlbmNlLgoKQXZvaWQgdGhpcyBieSB1c2luZyBrY2FsbG9jIHRv IHplcm8gZmlsbCB0aGUgY29waWVkIGJ1ZmZlci4KClNpZ25lZC1vZmYtYnk6IEpvZSBQZXJjaGVz IDxqb2VAcGVyY2hlcy5jb20+CkFja2VkLWJ5OiBCZW4gSHV0Y2hpbmdzIDxiZW5AZGVjYWRlbnQu b3JnLnVrPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L2NvcmUvZXRodG9vbC5jIHwgICAgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZXRodG9v bC5jIGIvbmV0L2NvcmUvZXRodG9vbC5jCmluZGV4IGI0OTVhYjEuLjI5ZWRmNzQgMTAwNjQ0Ci0t LSBhL25ldC9jb3JlL2V0aHRvb2wuYworKysgYi9uZXQvY29yZS9ldGh0b29sLmMKQEAgLTEyODQs NyArMTI4NCw3IEBAIHN0YXRpYyBpbnQgZXRodG9vbF9nZXRfc3RyaW5ncyhzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCB2b2lkIF9fdXNlciAqdXNlcmFkZHIpCiAKIAlnc3RyaW5ncy5sZW4gPSByZXQ7 CiAKLQlkYXRhID0ga21hbGxvYyhnc3RyaW5ncy5sZW4gKiBFVEhfR1NUUklOR19MRU4sIEdGUF9V U0VSKTsKKwlkYXRhID0ga2NhbGxvYyhnc3RyaW5ncy5sZW4sIEVUSF9HU1RSSU5HX0xFTiwgR0ZQ X1VTRVIpOwogCWlmICghZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLS0gCjEuNy4xMC40CgoK RnJvbSAyMTFiN2Y0MjBkZDcyMzY2ZTU1Y2NlODcyZTEzNzVmOGIyMmVlMjg0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gUGF1bCBNYWxveSA8am9uLm1hbG95QGVyaWNzc29uLmNv bT4KRGF0ZTogV2VkLCAxNCBPY3QgMjAxNSAwOToyMzoxOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTkvMjBdIHRpcGM6IG1vdmUgZnJhZ21lbnQgaW1wb3J0YW5jZSBmaWVsZCB0byBuZXcgaGVhZGVy CiBwb3NpdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgZGRlNGI1YWU2NWRlNjU5YjllYzY0YmFmZGRl MDQzMDQ1OWZjYjQ5NSBdCgpJbiBjb21taXQgZTNlZWExZWI0N2EgKCJ0aXBjOiBjbGVhbiB1cCBo YW5kbGluZyBvZiBtZXNzYWdlIHByaW9yaXRpZXMiKQp3ZSBpbnRyb2R1Y2VkIGEgZmllbGQgaW4g dGhlIHBhY2tldCBoZWFkZXIgZm9yIGtlZXBpbmcgdHJhY2sgb2YgdGhlCnByaW9yaXR5IG9mIGZy YWdtZW50cywgc2luY2UgdGhpcyB2YWx1ZSBpcyBub3QgcHJlc2VudCBpbiB0aGUgc3BlY2lmaWVk CnByb3RvY29sIGhlYWRlci4gU2luY2UgdGhlIHZhbHVlIHNvIGZhciBvbmx5IGlzIHVzZWQgYXQg dGhlIHRyYW5zbWl0dGluZwplbmQgb2YgdGhlIGxpbmssIHdlIGhhdmUgbm90IHlldCBvZmZpY2lh bGx5IGRlZmluZWQgaXQgYXMgcGFydCBvZiB0aGUKcHJvdG9jb2wuCgpVbmZvcnR1bmF0ZWx5LCB0 aGUgZmllbGQgd2UgdXNlIGZvciBrZWVwaW5nIHRoaXMgdmFsdWUsIGJpdHMgMTMtMTUgaW4KaW4g d29yZCA1LCBoYXMgdHVybmVkIG91dCB0byBiZSBhIHBvb3IgY2hvaWNlOyBpdCBpcyBhbHJlYWR5 IHVzZWQgYnkgdGhlCmJyb2FkY2FzdCBwcm90b2NvbCBmb3IgY2FycnlpbmcgdGhlICduZXR3b3Jr IGlkJyBmaWVsZCBvZiB0aGUgc2VuZGluZwpub2RlLiBTaW5jZSBwYWNrZXQgZnJhZ21lbnRzIGFs c28gbmVlZCB0byBiZSB0cmFuc3BvcnRlZCBhY3Jvc3MgdGhlCmJyb2FkY2FzdCBwcm90b2NvbCwg dGhlIHJpc2sgb2YgY29uZmxpY3QgaXMgb2J2aW91cywgYW5kIHdlIHNlZSB0aGlzCmhhcHBlbiB3 aGVuIHdlIHVzZSBuZXR3b3JrIGlkZW50aXRpZXMgbGFyZ2VyIHRoYW4gMl4xMy0xLiBUaGlzIGhh cwplc2NhcGVkIG91ciB0ZXN0aW5nIGJlY2F1c2Ugd2UgaGF2ZSBzbyBmYXIgb25seSBiZWVuIHVz aW5nIHNtYWxsIG5ldHdvcmsKaWQgdmFsdWVzLgoKV2Ugbm93IG1vdmUgdGhpcyBmaWVsZCB0byBi aXRzIDAtMiBpbiB3b3JkIDksIGEgZmllbGQgdGhhdCBpcyBndWFyYW50ZWVkCnRvIGJlIHVudXNl ZCBieSBhbGwgaW52b2x2ZWQgcHJvdG9jb2xzLgoKRml4ZXM6IGUzZWVhMWViNDdhICgidGlwYzog Y2xlYW4gdXAgaGFuZGxpbmcgb2YgbWVzc2FnZSBwcmlvcml0aWVzIikKU2lnbmVkLW9mZi1ieTog Sm9uIE1hbG95IDxqb24ubWFsb3lAZXJpY3Nzb24uY29tPgpBY2tlZC1ieTogWWluZyBYdWUgPHlp bmcueHVlQHdpbmRyaXZlci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGlwYy9tc2cuaCB8ICAgIDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9u ZXQvdGlwYy9tc2cuaCBiL25ldC90aXBjL21zZy5oCmluZGV4IDE5YzQ1ZmIuLjQ5ZjlhOTYgMTAw NjQ0Ci0tLSBhL25ldC90aXBjL21zZy5oCisrKyBiL25ldC90aXBjL21zZy5oCkBAIC0zNTcsNyAr MzU3LDcgQEAgc3RhdGljIGlubGluZSB1MzIgbXNnX2ltcG9ydGFuY2Uoc3RydWN0IHRpcGNfbXNn ICptKQogCWlmIChsaWtlbHkoKHVzciA8PSBUSVBDX0NSSVRJQ0FMX0lNUE9SVEFOQ0UpICYmICFt c2dfZXJyY29kZShtKSkpCiAJCXJldHVybiB1c3I7CiAJaWYgKCh1c3IgPT0gTVNHX0ZSQUdNRU5U RVIpIHx8ICh1c3IgPT0gTVNHX0JVTkRMRVIpKQotCQlyZXR1cm4gbXNnX2JpdHMobSwgNSwgMTMs IDB4Nyk7CisJCXJldHVybiBtc2dfYml0cyhtLCA5LCAwLCAweDcpOwogCXJldHVybiBUSVBDX1NZ U1RFTV9JTVBPUlRBTkNFOwogfQogCkBAIC0zNjYsNyArMzY2LDcgQEAgc3RhdGljIGlubGluZSB2 b2lkIG1zZ19zZXRfaW1wb3J0YW5jZShzdHJ1Y3QgdGlwY19tc2cgKm0sIHUzMiBpKQogCWludCB1 c3IgPSBtc2dfdXNlcihtKTsKIAogCWlmIChsaWtlbHkoKHVzciA9PSBNU0dfRlJBR01FTlRFUikg fHwgKHVzciA9PSBNU0dfQlVORExFUikpKQotCQltc2dfc2V0X2JpdHMobSwgNSwgMTMsIDB4Nywg aSk7CisJCW1zZ19zZXRfYml0cyhtLCA5LCAwLCAweDcsIGkpOwogCWVsc2UgaWYgKGkgPCBUSVBD X1NZU1RFTV9JTVBPUlRBTkNFKQogCQltc2dfc2V0X3VzZXIobSwgaSk7CiAJZWxzZQotLSAKMS43 LjEwLjQKCgpGcm9tIDJjMTJiOTJjZTMyYTVjMTgzY2JkYWM3ZTI1MGQwM2IzZWZmZDhmYjYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBcmFkLCBSb25lbiIgPHJvbmVuLmFyYWRAaW50 ZWwuY29tPgpEYXRlOiBUaHUsIDE1IE9jdCAyMDE1IDAxOjU1OjE3IC0wNzAwClN1YmplY3Q6IFtQ QVRDSCAyMC8yMF0gbmV0bGluazogVHJpbSBza2IgdG8gYWxsb2Mgc2l6ZSB0byBhdm9pZCBNU0df VFJVTkMKClsgVXBzdHJlYW0gY29tbWl0IGRiNjVhM2FhZjI5ZWNjZTJlMzQyNzFkNTJlOGQyMzM2 Yjk3YmQ5ZmUgXQoKbmV0bGlua19kdW1wKCkgYWxsb2NhdGVzIHNrYiBiYXNlZCBvbiB0aGUgY2Fs Y3VsYXRlZCBtaW5fZHVtcF9hbGxvYyBvcgphIHBlciBzb2NrZXQgbWF4X3JlY3Ztc2dfbGVuLgpt aW5fYWxsb2Nfc2l6ZSBpcyBtYXhpbXVtIHNwYWNlIHJlcXVpcmVkIGZvciBhbnkgc2luZ2xlIG5l dGRldgphdHRyaWJ1dGVzIGFzIGNhbGN1bGF0ZWQgYnkgcnRubF9jYWxjaXQoKS4KbWF4X3JlY3Zt c2dfbGVuIHRyYWNrcyB0aGUgdXNlciBwcm92aWRlZCBidWZmZXIgdG8gbmV0bGlua19yZWN2bXNn LgpJdCBpcyBjYXBwZWQgYXQgMTZLaUIuClRoZSBpbnRlbnRpb24gaXMgdG8gYXZvaWQgc21hbGwg YWxsb2NhdGlvbnMgYW5kIHRvIG1pbmltaXplIHRoZSBudW1iZXIKb2YgY2FsbHMgcmVxdWlyZWQg dG8gb2J0YWluIGR1bXAgaW5mb3JtYXRpb24gZm9yIGFsbCBuZXQgZGV2aWNlcy4KCm5ldGxpbmtf ZHVtcCBwYWNrcyBhcyBtYW55IHNtYWxsIG1lc3NhZ2VzIGFzIGNvdWxkIGZpdCB3aXRoaW4gYW4g c2tiCnRoYXQgd2FzIHNpemVkIGZvciB0aGUgbGFyZ2VzdCBzaW5nbGUgbmV0ZGV2IGluZm9ybWF0 aW9uLiBUaGUgYWN0dWFsCnNwYWNlIGF2YWlsYWJsZSB3aXRoaW4gYW4gc2tiIGlzIGxhcmdlciB0 aGFuIHdoYXQgaXMgcmVxdWVzdGVkLiBJdCBjb3VsZApiZSBtdWNoIGxhcmdlciBhbmQgdXAgdG8g bmVhciAyeCB3aXRoIGFsaWduIHRvIG5leHQgcG93ZXIgb2YgMiBhcHByb2FjaC4KCkFsbG93aW5n IG5ldGxpbmtfZHVtcCB0byB1c2UgYWxsIHRoZSBzcGFjZSBhdmFpbGFibGUgd2l0aGluIHRoZQph bGxvY2F0ZWQgc2tiIGluY3JlYXNlcyB0aGUgYnVmZmVyIHNpemUgYSB1c2VyIGhhcyB0byBwcm92 aWRlIHRvIGF2b2lkCnRydW5jYWlvbiAoaS5lLiBNU0dfVFJVTkcgZmxhZyBzZXQpLgoKSXQgd2Fz IG9ic2VydmVkIHRoYXQgd2l0aCBtYW55IFZMQU5zIGNvbmZpZ3VyZWQgb24gYXQgbGVhc3Qgb25l IG5ldGRldiwKYSBsYXJnZXIgYnVmZmVyIG9mIG5lYXIgNjRLaUIgd2FzIG5lY2Vzc2FyeSB0byBh dm9pZCAiTWVzc2FnZSB0cnVuY2F0ZWQiCmVycm9yIGluICJpcCBsaW5rIiBvciAiYnJpZGdlIFst Y1tvbXByZXNzdmxhbnNdXSB2bGFuIHNob3ciIHdoZW4KbWluX2FsbG9jX3NpemUgd2FzIG9ubHkg bGl0dGxlIG92ZXIgMzJLaUIuCgpUaGlzIHBhdGNoIHRyaW1zIHNrYiB0byBhbGxvY2F0ZWQgc2l6 ZSBpbiBvcmRlciB0byBhbGxvdyB0aGUgdXNlciB0bwphdm9pZCB0cnVuY2F0aW9uIHdpdGggbW9y ZSByZWFzb25hYmxlIGJ1ZmZlciBzaXplLgoKU2lnbmVkLW9mZi1ieTogUm9uZW4gQXJhZCA8cm9u ZW4uYXJhZEBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmMgfCAgIDM0ICsrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRp b25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvbmV0bGluay9hZl9uZXRs aW5rLmMgYi9uZXQvbmV0bGluay9hZl9uZXRsaW5rLmMKaW5kZXggMDg1N2Y3Mi4uYTEzM2QxNiAx MDA2NDQKLS0tIGEvbmV0L25ldGxpbmsvYWZfbmV0bGluay5jCisrKyBiL25ldC9uZXRsaW5rL2Fm X25ldGxpbmsuYwpAQCAtMjc1MCw2ICsyNzUwLDcgQEAgc3RhdGljIGludCBuZXRsaW5rX2R1bXAo c3RydWN0IHNvY2sgKnNrKQogCXN0cnVjdCBza19idWZmICpza2IgPSBOVUxMOwogCXN0cnVjdCBu bG1zZ2hkciAqbmxoOwogCWludCBsZW4sIGVyciA9IC1FTk9CVUZTOworCWludCBhbGxvY19taW5f c2l6ZTsKIAlpbnQgYWxsb2Nfc2l6ZTsKIAogCW11dGV4X2xvY2sobmxrLT5jYl9tdXRleCk7CkBA IC0yNzU4LDkgKzI3NTksNiBAQCBzdGF0aWMgaW50IG5ldGxpbmtfZHVtcChzdHJ1Y3Qgc29jayAq c2spCiAJCWdvdG8gZXJyb3V0X3NrYjsKIAl9CiAKLQljYiA9ICZubGstPmNiOwotCWFsbG9jX3Np emUgPSBtYXhfdChpbnQsIGNiLT5taW5fZHVtcF9hbGxvYywgTkxNU0dfR09PRFNJWkUpOwotCiAJ aWYgKCFuZXRsaW5rX3J4X2lzX21tYXBlZChzaykgJiYKIAkgICAgYXRvbWljX3JlYWQoJnNrLT5z a19ybWVtX2FsbG9jKSA+PSBzay0+c2tfcmN2YnVmKQogCQlnb3RvIGVycm91dF9za2I7CkBAIC0y NzcwLDIzICsyNzY4LDM1IEBAIHN0YXRpYyBpbnQgbmV0bGlua19kdW1wKHN0cnVjdCBzb2NrICpz aykKIAkgKiB0byByZWR1Y2UgbnVtYmVyIG9mIHN5c3RlbSBjYWxscyBvbiBkdW1wIG9wZXJhdGlv bnMsIGlmIHVzZXIKIAkgKiBldmVyIHByb3ZpZGVkIGEgYmlnIGVub3VnaCBidWZmZXIuCiAJICov Ci0JaWYgKGFsbG9jX3NpemUgPCBubGstPm1heF9yZWN2bXNnX2xlbikgewotCQlza2IgPSBuZXRs aW5rX2FsbG9jX3NrYihzaywKLQkJCQkJbmxrLT5tYXhfcmVjdm1zZ19sZW4sCi0JCQkJCW5say0+ cG9ydGlkLAorCWNiID0gJm5say0+Y2I7CisJYWxsb2NfbWluX3NpemUgPSBtYXhfdChpbnQsIGNi LT5taW5fZHVtcF9hbGxvYywgTkxNU0dfR09PRFNJWkUpOworCisJaWYgKGFsbG9jX21pbl9zaXpl IDwgbmxrLT5tYXhfcmVjdm1zZ19sZW4pIHsKKwkJYWxsb2Nfc2l6ZSA9IG5say0+bWF4X3JlY3Zt c2dfbGVuOworCQlza2IgPSBuZXRsaW5rX2FsbG9jX3NrYihzaywgYWxsb2Nfc2l6ZSwgbmxrLT5w b3J0aWQsCiAJCQkJCUdGUF9LRVJORUwgfAogCQkJCQlfX0dGUF9OT1dBUk4gfAogCQkJCQlfX0dG UF9OT1JFVFJZKTsKLQkJLyogYXZhaWxhYmxlIHJvb20gc2hvdWxkIGJlIGV4YWN0IGFtb3VudCB0 byBhdm9pZCBNU0dfVFJVTkMgKi8KLQkJaWYgKHNrYikKLQkJCXNrYl9yZXNlcnZlKHNrYiwgc2ti X3RhaWxyb29tKHNrYikgLQotCQkJCQkgbmxrLT5tYXhfcmVjdm1zZ19sZW4pOwogCX0KLQlpZiAo IXNrYikKKwlpZiAoIXNrYikgeworCQlhbGxvY19zaXplID0gYWxsb2NfbWluX3NpemU7CiAJCXNr YiA9IG5ldGxpbmtfYWxsb2Nfc2tiKHNrLCBhbGxvY19zaXplLCBubGstPnBvcnRpZCwKIAkJCQkJ R0ZQX0tFUk5FTCk7CisJfQogCWlmICghc2tiKQogCQlnb3RvIGVycm91dF9za2I7CisKKwkvKiBU cmltIHNrYiB0byBhbGxvY2F0ZWQgc2l6ZS4gVXNlciBpcyBleHBlY3RlZCB0byBwcm92aWRlIGJ1 ZmZlciBhcworCSAqIGxhcmdlIGFzIG1heChtaW5fZHVtcF9hbGxvYywgMTZLaUIgKG1hY19yZWN2 bXNnX2xlbiBjYXBwZWQgYXQKKwkgKiBuZXRsaW5rX3JlY3Ztc2coKSkpLiBkdW1wIHdpbGwgcGFj ayBhcyBtYW55IHNtYWxsZXIgbWVzc2FnZXMgYXMKKwkgKiBjb3VsZCBmaXQgd2l0aGluIHRoZSBh bGxvY2F0ZWQgc2tiLiBza2IgaXMgdHlwaWNhbGx5IGFsbG9jYXRlZAorCSAqIHdpdGggbGFyZ2Vy IHNwYWNlIHRoYW4gcmVxdWlyZWQgKGNvdWxkIGJlIGFzIG11Y2ggYXMgbmVhciAyeCB0aGUKKwkg KiByZXF1ZXN0ZWQgc2l6ZSB3aXRoIGFsaWduIHRvIG5leHQgcG93ZXIgb2YgMiBhcHByb2FjaCku IEFsbG93aW5nCisJICogZHVtcCB0byB1c2UgdGhlIGV4Y2VzcyBzcGFjZSBtYWtlcyBpdCBkaWZm aWN1bHQgZm9yIGEgdXNlciB0byBoYXZlIGEKKwkgKiByZWFzb25hYmxlIHN0YXRpYyBidWZmZXIg YmFzZWQgb24gdGhlIGV4cGVjdGVkIGxhcmdlc3QgZHVtcCBvZiBhCisJICogc2luZ2xlIG5ldGRl di4gVGhlIG91dGNvbWUgaXMgTVNHX1RSVU5DIGVycm9yLgorCSAqLworCXNrYl9yZXNlcnZlKHNr Yiwgc2tiX3RhaWxyb29tKHNrYikgLSBhbGxvY19zaXplKTsKIAluZXRsaW5rX3NrYl9zZXRfb3du ZXJfcihza2IsIHNrKTsKIAogCWxlbiA9IGNiLT5kdW1wKHNrYiwgY2IpOwotLSAKMS43LjEwLjQK Cg== ----Next_Part(Tue_Oct_20_20_51_10_2015_504)----