From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:55766 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751462AbdCYRtG (ORCPT ); Sat, 25 Mar 2017 13:49:06 -0400 Date: Sat, 25 Mar 2017 10:38:59 -0700 (PDT) Message-Id: <20170325.103859.804569026123311893.davem@davemloft.net> To: tmb@mageia.org Cc: stable@vger.kernel.org Subject: Re: [PATCHES] Networking From: David Miller In-Reply-To: <5397a6fd-ed3c-d448-18d0-a0dadf669b72@mageia.org> References: <20170325.005359.2244832719295518110.davem@davemloft.net> <5397a6fd-ed3c-d448-18d0-a0dadf669b72@mageia.org> Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sat_Mar_25_10_38_59_2017_332)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Sat_Mar_25_10_38_59_2017_332)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Thomas Backlund Date: Sat, 25 Mar 2017 11:26:13 +0200 > Den 25.03.2017 kl. 09:53, skrev David Miller: >> >> Please queue up the following bug fixes for v4.9 and v4.10 -stable, >> respectively. >> >> Thanks! >> > > The net_49.mbox is messed up... > > besided the network related patches, it seems to contain every stable > patch from the 4.9.16 -> 4.9.17 update... My bad, this one should be better: ----Next_Part(Sat_Mar_25_10_38_59_2017_332)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_49.mbox" RnJvbSBlNWFlMGU4ODE1OWEyYjZkMjdhYzQzNjkwYTZiMzFkODg3NDhmNWY3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPciBHZXJsaXR6IDxvZ2VybGl0ekBtZWxsYW5veC5jb20+CkRh dGU6IFdlZCwgMTUgTWFyIDIwMTcgMTg6MTA6NDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzE4 XSBuZXQvb3BlbnZzd2l0Y2g6IFNldCB0aGUgaXB2NiBzb3VyY2UgdHVubmVsIGtleSBhZGRyZXNz CiBhdHRyaWJ1dGUgY29ycmVjdGx5CgpbIFVwc3RyZWFtIGNvbW1pdCAzZDIwZjFmN2JkNTc1ZDE0 N2ZmYTc1NjIxZmE1NjBlZWEwYWVjNjkwIF0KCldoZW4gZGVhbGluZyB3aXRoIGlwdjYgc291cmNl IHR1bm5lbCBrZXkgYWRkcmVzcyBhdHRyaWJ1dGUKKE9WU19UVU5ORUxfS0VZX0FUVFJfSVBWNl9T UkMpIHdlIGFyZSB3cm9uZ2x5IHNldHRpbmcgdGhlIHR1bm5lbApkc3QgaXAsIGZpeCB0aGF0LgoK Rml4ZXM6IDZiMjZiYTNhN2Q5NSAoJ29wZW52c3dpdGNoOiBuZXRsaW5rIGF0dHJpYnV0ZXMgZm9y IElQdjYgdHVubmVsaW5nJykKU2lnbmVkLW9mZi1ieTogT3IgR2VybGl0eiA8b2dlcmxpdHpAbWVs bGFub3guY29tPgpSZXBvcnRlZC1ieTogUGF1bCBCbGFrZXkgPHBhdWxiQG1lbGxhbm94LmNvbT4K QWNrZWQtYnk6IEppcmkgQmVuYyA8amJlbmNAcmVkaGF0LmNvbT4KQWNrZWQtYnk6IEpvZSBTdHJp bmdlciA8am9lQG92bi5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9uZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmMgYi9uZXQvb3BlbnZzd2l0Y2gvZmxv d19uZXRsaW5rLmMKaW5kZXggYWUyNWRlZC4uNjc3ZDdjYyAxMDA2NDQKLS0tIGEvbmV0L29wZW52 c3dpdGNoL2Zsb3dfbmV0bGluay5jCisrKyBiL25ldC9vcGVudnN3aXRjaC9mbG93X25ldGxpbmsu YwpAQCAtNTg4LDcgKzU4OCw3IEBAIHN0YXRpYyBpbnQgaXBfdHVuX2Zyb21fbmxhdHRyKGNvbnN0 IHN0cnVjdCBubGF0dHIgKmF0dHIsCiAJCQlpcHY0ID0gdHJ1ZTsKIAkJCWJyZWFrOwogCQljYXNl IE9WU19UVU5ORUxfS0VZX0FUVFJfSVBWNl9TUkM6Ci0JCQlTV19GTE9XX0tFWV9QVVQobWF0Y2gs IHR1bl9rZXkudS5pcHY2LmRzdCwKKwkJCVNXX0ZMT1dfS0VZX1BVVChtYXRjaCwgdHVuX2tleS51 LmlwdjYuc3JjLAogCQkJCQlubGFfZ2V0X2luNl9hZGRyKGEpLCBpc19tYXNrKTsKIAkJCWlwdjYg PSB0cnVlOwogCQkJYnJlYWs7Ci0tIAoyLjEuMAoKCkZyb20gYWE1NmJlMGU1ZDFlMjZiNGQ4ZDRj MzhhMjZkNTIxZjMwNWIxMTY0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmxvcmlh biBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMTUgTWFyIDIwMTcg MTI6NTc6MjEgLTA3MDAKU3ViamVjdDogW1BBVENIIDAyLzE4XSBuZXQ6IGJjbWdlbmV0OiBEbyBu b3Qgc3VzcGVuZCBQSFkgaWYgV2FrZS1vbi1MQU4gaXMKIGVuYWJsZWQKClsgVXBzdHJlYW0gY29t bWl0IDUzNzFiYmY0YjI5NWVlYTMzNGVkNDUzZWZhMjg2YWZhMmMzY2NmZjMgXQoKU3VzcGVuZGlu ZyB0aGUgUEhZIHdvdWxkIGJlIHB1dHRpbmcgaXQgaW4gYSBsb3cgcG93ZXIgc3RhdGUgd2hlcmUg aXQKbWF5IG5vIGxvbmdlciBhbGxvdyB1cyB0byBkbyBXYWtlLW9uLUxBTi4KCkZpeGVzOiBjYzAx M2ZiNDg4OTggKCJuZXQ6IGJjbWdlbmV0OiBjb3JyZWN0bHkgc3VzcGVuZCBhbmQgcmVzdW1lIFBI WSBkZXZpY2UiKQpTaWduZWQtb2ZmLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdt YWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2dlbmV0L2JjbWdlbmV0LmMg fCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21n ZW5ldC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtZ2VuZXQuYwpp bmRleCBhNGU2MGU1Li4wOTc1YWYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9i cm9hZGNvbS9nZW5ldC9iY21nZW5ldC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL2dlbmV0L2JjbWdlbmV0LmMKQEAgLTM0MDIsNyArMzQwMiw4IEBAIHN0YXRpYyBpbnQgYmNt Z2VuZXRfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkKQogCiAJYmNtZ2VuZXRfbmV0aWZfc3RvcChk ZXYpOwogCi0JcGh5X3N1c3BlbmQocHJpdi0+cGh5ZGV2KTsKKwlpZiAoIWRldmljZV9tYXlfd2Fr ZXVwKGQpKQorCQlwaHlfc3VzcGVuZChwcml2LT5waHlkZXYpOwogCiAJbmV0aWZfZGV2aWNlX2Rl dGFjaChkZXYpOwogCkBAIC0zNDk5LDcgKzM1MDAsOCBAQCBzdGF0aWMgaW50IGJjbWdlbmV0X3Jl c3VtZShzdHJ1Y3QgZGV2aWNlICpkKQogCiAJbmV0aWZfZGV2aWNlX2F0dGFjaChkZXYpOwogCi0J cGh5X3Jlc3VtZShwcml2LT5waHlkZXYpOworCWlmICghZGV2aWNlX21heV93YWtldXAoZCkpCisJ CXBoeV9yZXN1bWUocHJpdi0+cGh5ZGV2KTsKIAogCWlmIChwcml2LT5lZWUuZWVlX2VuYWJsZWQp CiAJCWJjbWdlbmV0X2VlZV9lbmFibGVfc2V0KGRldiwgdHJ1ZSk7Ci0tIAoyLjEuMAoKCkZyb20g Yjg2NmQwMzlkYmNkOWFiODk2YzY0N2E4YmMyYzQyMzU4N2ZmZDZmZSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBX ZWQsIDE1IE1hciAyMDE3IDEzOjIxOjI4IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwMy8xOF0gbmV0 OiBwcm9wZXJseSByZWxlYXNlIHNrX2ZyYWcucGFnZQoKWyBVcHN0cmVhbSBjb21taXQgMjJhMGUx OGVhYzdhOWU5ODZmZWM3NmM2MGZhNGEyOTI2ZDEyOTFlMiBdCgpJIG1pc3Rha2VubHkgYWRkZWQg dGhlIGNvZGUgdG8gcmVsZWFzZSBzay0+c2tfZnJhZyBpbgpza19jb21tb25fcmVsZWFzZSgpIGlu c3RlYWQgb2Ygc2tfZGVzdHJ1Y3QoKQoKVENQIHNvY2tldHMgdXNpbmcgc2stPnNrX2FsbG9jYXRp b24gPT0gR0ZQX0FUT01JQyBkbyBubyBjYWxsCnNrX2NvbW1vbl9yZWxlYXNlKCkgYXQgY2xvc2Ug dGltZSwgdGh1cyBsZWFraW5nIG9uZSAob3JkZXItMykgcGFnZS4KCmlTQ1NJIGlzIHVzaW5nIHN1 Y2ggc29ja2V0cy4KCkZpeGVzOiA1NjQwZjc2ODU4MzEgKCJuZXQ6IHVzZSBhIHBlciB0YXNrIGZy YWcgYWxsb2NhdG9yIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L2NvcmUvc29jay5jIHwgMTAgKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQs IDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9z b2NrLmMgYi9uZXQvY29yZS9zb2NrLmMKaW5kZXggYmM2NTQzZi4uNDc4MDllOSAxMDA2NDQKLS0t IGEvbmV0L2NvcmUvc29jay5jCisrKyBiL25ldC9jb3JlL3NvY2suYwpAQCAtMTQzNyw2ICsxNDM3 LDExIEBAIHN0YXRpYyB2b2lkIF9fc2tfZGVzdHJ1Y3Qoc3RydWN0IHJjdV9oZWFkICpoZWFkKQog CQlwcl9kZWJ1ZygiJXM6IG9wdG1lbSBsZWFrYWdlICglZCBieXRlcykgZGV0ZWN0ZWRcbiIsCiAJ CQkgX19mdW5jX18sIGF0b21pY19yZWFkKCZzay0+c2tfb21lbV9hbGxvYykpOwogCisJaWYgKHNr LT5za19mcmFnLnBhZ2UpIHsKKwkJcHV0X3BhZ2Uoc2stPnNrX2ZyYWcucGFnZSk7CisJCXNrLT5z a19mcmFnLnBhZ2UgPSBOVUxMOworCX0KKwogCWlmIChzay0+c2tfcGVlcl9jcmVkKQogCQlwdXRf Y3JlZChzay0+c2tfcGVlcl9jcmVkKTsKIAlwdXRfcGlkKHNrLT5za19wZWVyX3BpZCk7CkBAIC0y NzM4LDExICsyNzQzLDYgQEAgdm9pZCBza19jb21tb25fcmVsZWFzZShzdHJ1Y3Qgc29jayAqc2sp CiAKIAlza19yZWZjbnRfZGVidWdfcmVsZWFzZShzayk7CiAKLQlpZiAoc2stPnNrX2ZyYWcucGFn ZSkgewotCQlwdXRfcGFnZShzay0+c2tfZnJhZy5wYWdlKTsKLQkJc2stPnNrX2ZyYWcucGFnZSA9 IE5VTEw7Ci0JfQotCiAJc29ja19wdXQoc2spOwogfQogRVhQT1JUX1NZTUJPTChza19jb21tb25f cmVsZWFzZSk7Ci0tIAoyLjEuMAoKCkZyb20gMDU2MjAzMTIzM2M0YTM4NmIxZTZlZTA1OGM2NzYx MmI1NjlkYjk0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkxlbmRhY2t5LCBUaG9t YXMiIDxUaG9tYXMuTGVuZGFja3lAYW1kLmNvbT4KRGF0ZTogV2VkLCAxNSBNYXIgMjAxNyAxNTox MToyMyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMThdIGFtZC14Z2JlOiBGaXgganVtYm8gTVRV IHByb2Nlc3Npbmcgb24gbmV3ZXIgaGFyZHdhcmUKClsgVXBzdHJlYW0gY29tbWl0IDYyMmMzNmYx NDNmYzk1NjZiYTQ5ZDdjZWM5OTRjMmRhMTE4MmQ5ZTIgXQoKTmV3ZXIgaGFyZHdhcmUgZG9lcyBu b3QgcHJvdmlkZSBhIGN1bXVsYXRpdmUgcGF5bG9hZCBsZW5ndGggd2hlbiBtdWx0aXBsZQpkZXNj cmlwdG9ycyBhcmUgbmVlZGVkIHRvIGhhbmRsZSB0aGUgZGF0YS4gT25jZSB0aGUgTVRVIGluY3Jl YXNlcyBiZXlvbmQKdGhlIHNpemUgdGhhdCBjYW4gYmUgaGFuZGxlZCBieSBhIHNpbmdsZSBkZXNj cmlwdG9yLCB0aGUgU0tCIGRvZXMgbm90IGdldApidWlsdCBwcm9wZXJseSBieSB0aGUgZHJpdmVy LgoKVGhlIGRyaXZlciB3aWxsIG5vdyBjYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGRhdGEgYnVm ZmVycyB1c2VkIGJ5IHRoZQpoYXJkd2FyZS4gIFRoZSBmaXJzdCBidWZmZXIgb2YgdGhlIGZpcnN0 IGRlc2NyaXB0b3IgaXMgZm9yIHBhY2tldCBoZWFkZXJzCm9yIHBhY2tldCBoZWFkZXJzIGFuZCBk YXRhIHdoZW4gdGhlIGhlYWRlcnMgY2FuJ3QgYmUgc3BsaXQuIFN1YnNlcXVlbnQKZGVzY3JpcHRv cnMgaW4gYSBtdWx0aS1kZXNjcmlwdG9yIGNoYWluIHdpbGwgbm90IHVzZSB0aGUgZmlyc3QgYnVm ZmVyLiBUaGUKc2Vjb25kIGJ1ZmZlciBpcyB1c2VkIGJ5IGFsbCB0aGUgZGVzY3JpcHRvcnMgaW4g dGhlIGNoYWluIGZvciBwYXlsb2FkIGRhdGEuCkJhc2VkIG9uIHdoZXRoZXIgdGhlIGRyaXZlciBp cyBwcm9jZXNzaW5nIHRoZSBmaXJzdCwgaW50ZXJtZWRpYXRlLCBvciBsYXN0CmRlc2NyaXB0b3Ig aXQgY2FuIGNhbGN1bGF0ZSB0aGUgYnVmZmVyIHVzYWdlIGFuZCBidWlsZCB0aGUgU0tCIHByb3Bl cmx5LgoKVGVzdGVkIGFuZCB2ZXJpZmllZCBvbiBib3RoIG9sZCBhbmQgbmV3IGhhcmR3YXJlLgoK U2lnbmVkLW9mZi1ieTogVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L2FtZC94Z2JlL3hnYmUtY29tbW9uLmggfCAgIDYgKy0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L2FtZC94Z2JlL3hnYmUtZGV2LmMgICAgfCAgMjAgKysrLS0tCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRydi5jICAgIHwgMTAyICsrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgNTAg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUv eGdiZS1jb21tb24uaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FtZC94Z2JlL3hnYmUtY29tbW9u LmgKaW5kZXggYmJlZjk1OS4uMTU5MmUxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvYW1kL3hnYmUveGdiZS1jb21tb24uaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWQv eGdiZS94Z2JlLWNvbW1vbi5oCkBAIC05MTcsOCArOTE3LDggQEAKICNkZWZpbmUgUlhfUEFDS0VU X0FUVFJJQlVURVNfQ1NVTV9ET05FX1dJRFRICTEKICNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVU RVNfVkxBTl9DVEFHX0lOREVYCTEKICNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVURVNfVkxBTl9D VEFHX1dJRFRICTEKLSNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVURVNfSU5DT01QTEVURV9JTkRF WAkyCi0jZGVmaW5lIFJYX1BBQ0tFVF9BVFRSSUJVVEVTX0lOQ09NUExFVEVfV0lEVEgJMQorI2Rl ZmluZSBSWF9QQUNLRVRfQVRUUklCVVRFU19MQVNUX0lOREVYCQkyCisjZGVmaW5lIFJYX1BBQ0tF VF9BVFRSSUJVVEVTX0xBU1RfV0lEVEgJCTEKICNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVURVNf Q09OVEVYVF9ORVhUX0lOREVYCTMKICNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVURVNfQ09OVEVY VF9ORVhUX1dJRFRICTEKICNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVURVNfQ09OVEVYVF9JTkRF WAk0CkBAIC05MjcsNiArOTI3LDggQEAKICNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVURVNfUlhf VFNUQU1QX1dJRFRICTEKICNkZWZpbmUgUlhfUEFDS0VUX0FUVFJJQlVURVNfUlNTX0hBU0hfSU5E RVgJNgogI2RlZmluZSBSWF9QQUNLRVRfQVRUUklCVVRFU19SU1NfSEFTSF9XSURUSAkxCisjZGVm aW5lIFJYX1BBQ0tFVF9BVFRSSUJVVEVTX0ZJUlNUX0lOREVYCTcKKyNkZWZpbmUgUlhfUEFDS0VU X0FUVFJJQlVURVNfRklSU1RfV0lEVEgJMQogCiAjZGVmaW5lIFJYX05PUk1BTF9ERVNDMF9PVlRf SU5ERVgJCTAKICNkZWZpbmUgUlhfTk9STUFMX0RFU0MwX09WVF9XSURUSAkJMTYKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FtZC94Z2JlL3hnYmUtZGV2LmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRldi5jCmluZGV4IDFiYWJjYzEuLmNhMTA2ZDQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FtZC94Z2JlL3hnYmUtZGV2LmMKKysrIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUveGdiZS1kZXYuYwpAQCAtMTcyMSwxMCArMTcy MSwxNSBAQCBzdGF0aWMgaW50IHhnYmVfZGV2X3JlYWQoc3RydWN0IHhnYmVfY2hhbm5lbCAqY2hh bm5lbCkKIAogCS8qIEdldCB0aGUgaGVhZGVyIGxlbmd0aCAqLwogCWlmIChYR01BQ19HRVRfQklU U19MRShyZGVzYy0+ZGVzYzMsIFJYX05PUk1BTF9ERVNDMywgRkQpKSB7CisJCVhHTUFDX1NFVF9C SVRTKHBhY2tldC0+YXR0cmlidXRlcywgUlhfUEFDS0VUX0FUVFJJQlVURVMsCisJCQkgICAgICAg RklSU1QsIDEpOwogCQlyZGF0YS0+cnguaGRyX2xlbiA9IFhHTUFDX0dFVF9CSVRTX0xFKHJkZXNj LT5kZXNjMiwKIAkJCQkJCSAgICAgIFJYX05PUk1BTF9ERVNDMiwgSEwpOwogCQlpZiAocmRhdGEt PnJ4Lmhkcl9sZW4pCiAJCQlwZGF0YS0+ZXh0X3N0YXRzLnJ4X3NwbGl0X2hlYWRlcl9wYWNrZXRz Kys7CisJfSBlbHNlIHsKKwkJWEdNQUNfU0VUX0JJVFMocGFja2V0LT5hdHRyaWJ1dGVzLCBSWF9Q QUNLRVRfQVRUUklCVVRFUywKKwkJCSAgICAgICBGSVJTVCwgMCk7CiAJfQogCiAJLyogR2V0IHRo ZSBSU1MgaGFzaCAqLwpAQCAtMTc0NywxOSArMTc1MiwxNiBAQCBzdGF0aWMgaW50IHhnYmVfZGV2 X3JlYWQoc3RydWN0IHhnYmVfY2hhbm5lbCAqY2hhbm5lbCkKIAkJfQogCX0KIAotCS8qIEdldCB0 aGUgcGFja2V0IGxlbmd0aCAqLwotCXJkYXRhLT5yeC5sZW4gPSBYR01BQ19HRVRfQklUU19MRShy ZGVzYy0+ZGVzYzMsIFJYX05PUk1BTF9ERVNDMywgUEwpOwotCi0JaWYgKCFYR01BQ19HRVRfQklU U19MRShyZGVzYy0+ZGVzYzMsIFJYX05PUk1BTF9ERVNDMywgTEQpKSB7Ci0JCS8qIE5vdCBhbGwg dGhlIGRhdGEgaGFzIGJlZW4gdHJhbnNmZXJyZWQgZm9yIHRoaXMgcGFja2V0ICovCi0JCVhHTUFD X1NFVF9CSVRTKHBhY2tldC0+YXR0cmlidXRlcywgUlhfUEFDS0VUX0FUVFJJQlVURVMsCi0JCQkg ICAgICAgSU5DT01QTEVURSwgMSk7CisJLyogTm90IGFsbCB0aGUgZGF0YSBoYXMgYmVlbiB0cmFu c2ZlcnJlZCBmb3IgdGhpcyBwYWNrZXQgKi8KKwlpZiAoIVhHTUFDX0dFVF9CSVRTX0xFKHJkZXNj LT5kZXNjMywgUlhfTk9STUFMX0RFU0MzLCBMRCkpCiAJCXJldHVybiAwOwotCX0KIAogCS8qIFRo aXMgaXMgdGhlIGxhc3Qgb2YgdGhlIGRhdGEgZm9yIHRoaXMgcGFja2V0ICovCiAJWEdNQUNfU0VU X0JJVFMocGFja2V0LT5hdHRyaWJ1dGVzLCBSWF9QQUNLRVRfQVRUUklCVVRFUywKLQkJICAgICAg IElOQ09NUExFVEUsIDApOworCQkgICAgICAgTEFTVCwgMSk7CisKKwkvKiBHZXQgdGhlIHBhY2tl dCBsZW5ndGggKi8KKwlyZGF0YS0+cngubGVuID0gWEdNQUNfR0VUX0JJVFNfTEUocmRlc2MtPmRl c2MzLCBSWF9OT1JNQUxfREVTQzMsIFBMKTsKIAogCS8qIFNldCBjaGVja3N1bSBkb25lIGluZGlj YXRvciBhcyBhcHByb3ByaWF0ZSAqLwogCWlmIChuZXRkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9S WENTVU0pCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRy di5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUveGdiZS1kcnYuYwppbmRleCA3Zjky MTZkLi4wZjBmMzAxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUv eGdiZS1kcnYuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRydi5j CkBAIC0xNzUyLDEzICsxNzUyLDEyIEBAIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqeGdiZV9jcmVh dGVfc2tiKHN0cnVjdCB4Z2JlX3Bydl9kYXRhICpwZGF0YSwKIHsKIAlzdHJ1Y3Qgc2tfYnVmZiAq c2tiOwogCXU4ICpwYWNrZXQ7Ci0JdW5zaWduZWQgaW50IGNvcHlfbGVuOwogCiAJc2tiID0gbmFw aV9hbGxvY19za2IobmFwaSwgcmRhdGEtPnJ4Lmhkci5kbWFfbGVuKTsKIAlpZiAoIXNrYikKIAkJ cmV0dXJuIE5VTEw7CiAKLQkvKiBTdGFydCB3aXRoIHRoZSBoZWFkZXIgYnVmZmVyIHdoaWNoIG1h eSBjb250YWluIGp1c3QgdGhlIGhlYWRlcgorCS8qIFB1bGwgaW4gdGhlIGhlYWRlciBidWZmZXIg d2hpY2ggbWF5IGNvbnRhaW4ganVzdCB0aGUgaGVhZGVyCiAJICogb3IgdGhlIGhlYWRlciBwbHVz IGRhdGEKIAkgKi8KIAlkbWFfc3luY19zaW5nbGVfcmFuZ2VfZm9yX2NwdShwZGF0YS0+ZGV2LCBy ZGF0YS0+cnguaGRyLmRtYV9iYXNlLApAQCAtMTc2NywzMCArMTc2Niw0OSBAQCBzdGF0aWMgc3Ry dWN0IHNrX2J1ZmYgKnhnYmVfY3JlYXRlX3NrYihzdHJ1Y3QgeGdiZV9wcnZfZGF0YSAqcGRhdGEs CiAKIAlwYWNrZXQgPSBwYWdlX2FkZHJlc3MocmRhdGEtPnJ4Lmhkci5wYS5wYWdlcykgKwogCQkg cmRhdGEtPnJ4Lmhkci5wYS5wYWdlc19vZmZzZXQ7Ci0JY29weV9sZW4gPSAocmRhdGEtPnJ4Lmhk cl9sZW4pID8gcmRhdGEtPnJ4Lmhkcl9sZW4gOiBsZW47Ci0JY29weV9sZW4gPSBtaW4ocmRhdGEt PnJ4Lmhkci5kbWFfbGVuLCBjb3B5X2xlbik7Ci0Jc2tiX2NvcHlfdG9fbGluZWFyX2RhdGEoc2ti LCBwYWNrZXQsIGNvcHlfbGVuKTsKLQlza2JfcHV0KHNrYiwgY29weV9sZW4pOwotCi0JbGVuIC09 IGNvcHlfbGVuOwotCWlmIChsZW4pIHsKLQkJLyogQWRkIHRoZSByZW1haW5pbmcgZGF0YSBhcyBh IGZyYWcgKi8KLQkJZG1hX3N5bmNfc2luZ2xlX3JhbmdlX2Zvcl9jcHUocGRhdGEtPmRldiwKLQkJ CQkJICAgICAgcmRhdGEtPnJ4LmJ1Zi5kbWFfYmFzZSwKLQkJCQkJICAgICAgcmRhdGEtPnJ4LmJ1 Zi5kbWFfb2ZmLAotCQkJCQkgICAgICByZGF0YS0+cnguYnVmLmRtYV9sZW4sCi0JCQkJCSAgICAg IERNQV9GUk9NX0RFVklDRSk7Ci0KLQkJc2tiX2FkZF9yeF9mcmFnKHNrYiwgc2tiX3NoaW5mbyhz a2IpLT5ucl9mcmFncywKLQkJCQlyZGF0YS0+cnguYnVmLnBhLnBhZ2VzLAotCQkJCXJkYXRhLT5y eC5idWYucGEucGFnZXNfb2Zmc2V0LAotCQkJCWxlbiwgcmRhdGEtPnJ4LmJ1Zi5kbWFfbGVuKTsK LQkJcmRhdGEtPnJ4LmJ1Zi5wYS5wYWdlcyA9IE5VTEw7Ci0JfQorCXNrYl9jb3B5X3RvX2xpbmVh cl9kYXRhKHNrYiwgcGFja2V0LCBsZW4pOworCXNrYl9wdXQoc2tiLCBsZW4pOwogCiAJcmV0dXJu IHNrYjsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCB4Z2JlX3J4X2J1ZjFfbGVuKHN0cnVjdCB4 Z2JlX3JpbmdfZGF0YSAqcmRhdGEsCisJCQkJICAgICBzdHJ1Y3QgeGdiZV9wYWNrZXRfZGF0YSAq cGFja2V0KQoreworCS8qIEFsd2F5cyB6ZXJvIGlmIG5vdCB0aGUgZmlyc3QgZGVzY3JpcHRvciAq LworCWlmICghWEdNQUNfR0VUX0JJVFMocGFja2V0LT5hdHRyaWJ1dGVzLCBSWF9QQUNLRVRfQVRU UklCVVRFUywgRklSU1QpKQorCQlyZXR1cm4gMDsKKworCS8qIEZpcnN0IGRlc2NyaXB0b3Igd2l0 aCBzcGxpdCBoZWFkZXIsIHJldHVybiBoZWFkZXIgbGVuZ3RoICovCisJaWYgKHJkYXRhLT5yeC5o ZHJfbGVuKQorCQlyZXR1cm4gcmRhdGEtPnJ4Lmhkcl9sZW47CisKKwkvKiBGaXJzdCBkZXNjcmlw dG9yIGJ1dCBub3QgdGhlIGxhc3QgZGVzY3JpcHRvciBhbmQgbm8gc3BsaXQgaGVhZGVyLAorCSAq IHNvIHRoZSBmdWxsIGJ1ZmZlciB3YXMgdXNlZAorCSAqLworCWlmICghWEdNQUNfR0VUX0JJVFMo cGFja2V0LT5hdHRyaWJ1dGVzLCBSWF9QQUNLRVRfQVRUUklCVVRFUywgTEFTVCkpCisJCXJldHVy biByZGF0YS0+cnguaGRyLmRtYV9sZW47CisKKwkvKiBGaXJzdCBkZXNjcmlwdG9yIGFuZCBsYXN0 IGRlc2NyaXB0b3IgYW5kIG5vIHNwbGl0IGhlYWRlciwgc28KKwkgKiBjYWxjdWxhdGUgaG93IG11 Y2ggb2YgdGhlIGJ1ZmZlciB3YXMgdXNlZAorCSAqLworCXJldHVybiBtaW5fdCh1bnNpZ25lZCBp bnQsIHJkYXRhLT5yeC5oZHIuZG1hX2xlbiwgcmRhdGEtPnJ4Lmxlbik7Cit9CisKK3N0YXRpYyB1 bnNpZ25lZCBpbnQgeGdiZV9yeF9idWYyX2xlbihzdHJ1Y3QgeGdiZV9yaW5nX2RhdGEgKnJkYXRh LAorCQkJCSAgICAgc3RydWN0IHhnYmVfcGFja2V0X2RhdGEgKnBhY2tldCwKKwkJCQkgICAgIHVu c2lnbmVkIGludCBsZW4pCit7CisJLyogQWx3YXlzIHRoZSBmdWxsIGJ1ZmZlciBpZiBub3QgdGhl IGxhc3QgZGVzY3JpcHRvciAqLworCWlmICghWEdNQUNfR0VUX0JJVFMocGFja2V0LT5hdHRyaWJ1 dGVzLCBSWF9QQUNLRVRfQVRUUklCVVRFUywgTEFTVCkpCisJCXJldHVybiByZGF0YS0+cnguYnVm LmRtYV9sZW47CisKKwkvKiBMYXN0IGRlc2NyaXB0b3Igc28gY2FsY3VsYXRlIGhvdyBtdWNoIG9m IHRoZSBidWZmZXIgd2FzIHVzZWQKKwkgKiBmb3IgdGhlIGxhc3QgYml0IG9mIGRhdGEKKwkgKi8K KwlyZXR1cm4gcmRhdGEtPnJ4LmxlbiAtIGxlbjsKK30KKwogc3RhdGljIGludCB4Z2JlX3R4X3Bv bGwoc3RydWN0IHhnYmVfY2hhbm5lbCAqY2hhbm5lbCkKIHsKIAlzdHJ1Y3QgeGdiZV9wcnZfZGF0 YSAqcGRhdGEgPSBjaGFubmVsLT5wZGF0YTsKQEAgLTE4NzMsOCArMTg5MSw4IEBAIHN0YXRpYyBp bnQgeGdiZV9yeF9wb2xsKHN0cnVjdCB4Z2JlX2NoYW5uZWwgKmNoYW5uZWwsIGludCBidWRnZXQp CiAJc3RydWN0IG5hcGlfc3RydWN0ICpuYXBpOwogCXN0cnVjdCBza19idWZmICpza2I7CiAJc3Ry dWN0IHNrYl9zaGFyZWRfaHd0c3RhbXBzICpod3RzdGFtcHM7Ci0JdW5zaWduZWQgaW50IGluY29t cGxldGUsIGVycm9yLCBjb250ZXh0X25leHQsIGNvbnRleHQ7Ci0JdW5zaWduZWQgaW50IGxlbiwg cmRlc2NfbGVuLCBtYXhfbGVuOworCXVuc2lnbmVkIGludCBsYXN0LCBlcnJvciwgY29udGV4dF9u ZXh0LCBjb250ZXh0OworCXVuc2lnbmVkIGludCBsZW4sIGJ1ZjFfbGVuLCBidWYyX2xlbiwgbWF4 X2xlbjsKIAl1bnNpZ25lZCBpbnQgcmVjZWl2ZWQgPSAwOwogCWludCBwYWNrZXRfY291bnQgPSAw OwogCkBAIC0xODg0LDcgKzE5MDIsNyBAQCBzdGF0aWMgaW50IHhnYmVfcnhfcG9sbChzdHJ1Y3Qg eGdiZV9jaGFubmVsICpjaGFubmVsLCBpbnQgYnVkZ2V0KQogCWlmICghcmluZykKIAkJcmV0dXJu IDA7CiAKLQlpbmNvbXBsZXRlID0gMDsKKwlsYXN0ID0gMDsKIAljb250ZXh0X25leHQgPSAwOwog CiAJbmFwaSA9IChwZGF0YS0+cGVyX2NoYW5uZWxfaXJxKSA/ICZjaGFubmVsLT5uYXBpIDogJnBk YXRhLT5uYXBpOwpAQCAtMTkxOCw5ICsxOTM2LDggQEAgc3RhdGljIGludCB4Z2JlX3J4X3BvbGwo c3RydWN0IHhnYmVfY2hhbm5lbCAqY2hhbm5lbCwgaW50IGJ1ZGdldCkKIAkJcmVjZWl2ZWQrKzsK IAkJcmluZy0+Y3VyKys7CiAKLQkJaW5jb21wbGV0ZSA9IFhHTUFDX0dFVF9CSVRTKHBhY2tldC0+ YXR0cmlidXRlcywKLQkJCQkJICAgIFJYX1BBQ0tFVF9BVFRSSUJVVEVTLAotCQkJCQkgICAgSU5D T01QTEVURSk7CisJCWxhc3QgPSBYR01BQ19HRVRfQklUUyhwYWNrZXQtPmF0dHJpYnV0ZXMsIFJY X1BBQ0tFVF9BVFRSSUJVVEVTLAorCQkJCSAgICAgIExBU1QpOwogCQljb250ZXh0X25leHQgPSBY R01BQ19HRVRfQklUUyhwYWNrZXQtPmF0dHJpYnV0ZXMsCiAJCQkJCSAgICAgIFJYX1BBQ0tFVF9B VFRSSUJVVEVTLAogCQkJCQkgICAgICBDT05URVhUX05FWFQpOwpAQCAtMTkyOSw3ICsxOTQ2LDcg QEAgc3RhdGljIGludCB4Z2JlX3J4X3BvbGwoc3RydWN0IHhnYmVfY2hhbm5lbCAqY2hhbm5lbCwg aW50IGJ1ZGdldCkKIAkJCQkJIENPTlRFWFQpOwogCiAJCS8qIEVhcmxpZXIgZXJyb3IsIGp1c3Qg ZHJhaW4gdGhlIHJlbWFpbmluZyBkYXRhICovCi0JCWlmICgoaW5jb21wbGV0ZSB8fCBjb250ZXh0 X25leHQpICYmIGVycm9yKQorCQlpZiAoKCFsYXN0IHx8IGNvbnRleHRfbmV4dCkgJiYgZXJyb3Ip CiAJCQlnb3RvIHJlYWRfYWdhaW47CiAKIAkJaWYgKGVycm9yIHx8IHBhY2tldC0+ZXJyb3JzKSB7 CkBAIC0xOTQxLDE2ICsxOTU4LDIyIEBAIHN0YXRpYyBpbnQgeGdiZV9yeF9wb2xsKHN0cnVjdCB4 Z2JlX2NoYW5uZWwgKmNoYW5uZWwsIGludCBidWRnZXQpCiAJCX0KIAogCQlpZiAoIWNvbnRleHQp IHsKLQkJCS8qIExlbmd0aCBpcyBjdW11bGF0aXZlLCBnZXQgdGhpcyBkZXNjcmlwdG9yJ3MgbGVu Z3RoICovCi0JCQlyZGVzY19sZW4gPSByZGF0YS0+cngubGVuIC0gbGVuOwotCQkJbGVuICs9IHJk ZXNjX2xlbjsKKwkJCS8qIEdldCB0aGUgZGF0YSBsZW5ndGggaW4gdGhlIGRlc2NyaXB0b3IgYnVm ZmVycyAqLworCQkJYnVmMV9sZW4gPSB4Z2JlX3J4X2J1ZjFfbGVuKHJkYXRhLCBwYWNrZXQpOwor CQkJbGVuICs9IGJ1ZjFfbGVuOworCQkJYnVmMl9sZW4gPSB4Z2JlX3J4X2J1ZjJfbGVuKHJkYXRh LCBwYWNrZXQsIGxlbik7CisJCQlsZW4gKz0gYnVmMl9sZW47CiAKLQkJCWlmIChyZGVzY19sZW4g JiYgIXNrYikgeworCQkJaWYgKCFza2IpIHsKIAkJCQlza2IgPSB4Z2JlX2NyZWF0ZV9za2IocGRh dGEsIG5hcGksIHJkYXRhLAotCQkJCQkJICAgICAgcmRlc2NfbGVuKTsKLQkJCQlpZiAoIXNrYikK KwkJCQkJCSAgICAgIGJ1ZjFfbGVuKTsKKwkJCQlpZiAoIXNrYikgewogCQkJCQllcnJvciA9IDE7 Ci0JCQl9IGVsc2UgaWYgKHJkZXNjX2xlbikgeworCQkJCQlnb3RvIHNraXBfZGF0YTsKKwkJCQl9 CisJCQl9CisKKwkJCWlmIChidWYyX2xlbikgewogCQkJCWRtYV9zeW5jX3NpbmdsZV9yYW5nZV9m b3JfY3B1KHBkYXRhLT5kZXYsCiAJCQkJCQkJcmRhdGEtPnJ4LmJ1Zi5kbWFfYmFzZSwKIAkJCQkJ CQlyZGF0YS0+cnguYnVmLmRtYV9vZmYsCkBAIC0xOTYwLDEzICsxOTgzLDE0IEBAIHN0YXRpYyBp bnQgeGdiZV9yeF9wb2xsKHN0cnVjdCB4Z2JlX2NoYW5uZWwgKmNoYW5uZWwsIGludCBidWRnZXQp CiAJCQkJc2tiX2FkZF9yeF9mcmFnKHNrYiwgc2tiX3NoaW5mbyhza2IpLT5ucl9mcmFncywKIAkJ CQkJCXJkYXRhLT5yeC5idWYucGEucGFnZXMsCiAJCQkJCQlyZGF0YS0+cnguYnVmLnBhLnBhZ2Vz X29mZnNldCwKLQkJCQkJCXJkZXNjX2xlbiwKKwkJCQkJCWJ1ZjJfbGVuLAogCQkJCQkJcmRhdGEt PnJ4LmJ1Zi5kbWFfbGVuKTsKIAkJCQlyZGF0YS0+cnguYnVmLnBhLnBhZ2VzID0gTlVMTDsKIAkJ CX0KIAkJfQogCi0JCWlmIChpbmNvbXBsZXRlIHx8IGNvbnRleHRfbmV4dCkKK3NraXBfZGF0YToK KwkJaWYgKCFsYXN0IHx8IGNvbnRleHRfbmV4dCkKIAkJCWdvdG8gcmVhZF9hZ2FpbjsKIAogCQlp ZiAoIXNrYikKQEAgLTIwMjQsNyArMjA0OCw3IEBAIHN0YXRpYyBpbnQgeGdiZV9yeF9wb2xsKHN0 cnVjdCB4Z2JlX2NoYW5uZWwgKmNoYW5uZWwsIGludCBidWRnZXQpCiAJfQogCiAJLyogQ2hlY2sg aWYgd2UgbmVlZCB0byBzYXZlIHN0YXRlIGJlZm9yZSBsZWF2aW5nICovCi0JaWYgKHJlY2VpdmVk ICYmIChpbmNvbXBsZXRlIHx8IGNvbnRleHRfbmV4dCkpIHsKKwlpZiAocmVjZWl2ZWQgJiYgKCFs YXN0IHx8IGNvbnRleHRfbmV4dCkpIHsKIAkJcmRhdGEgPSBYR0JFX0dFVF9ERVNDX0RBVEEocmlu ZywgcmluZy0+Y3VyKTsKIAkJcmRhdGEtPnN0YXRlX3NhdmVkID0gMTsKIAkJcmRhdGEtPnN0YXRl LnNrYiA9IHNrYjsKLS0gCjIuMS4wCgoKRnJvbSBjZmM2YWJkMDlmOWQ0ZjQ5ZDhjODU1MDhiOGU0 NjI3YTkyNzA3Y2I4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlzIE11cnBoeSA8 a3Jpc2tlbmRAbGludXgudm5ldC5pYm0uY29tPgpEYXRlOiBUaHUsIDE2IE1hciAyMDE3IDEwOjUx OjI4IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwNS8xOF0gb3BlbnZzd2l0Y2g6IEFkZCBtaXNzaW5n IGNhc2UgT1ZTX1RVTk5FTF9LRVlfQVRUUl9QQUQKClsgVXBzdHJlYW0gY29tbWl0IDhmM2RiZmQ3 OWVkOWVmOTc3MDMwNWE3Y2M0ZTEzZGZkMzFhZDJjZDAgXQoKQWRkZWQgYSBjYXNlIGZvciBPVlNf VFVOTkVMX0tFWV9BVFRSX1BBRCB0byB0aGUgc3dpdGNoIHN0YXRlbWVudAppbiBpcF90dW5fZnJv bV9ubGF0dHIgaW4gb3JkZXIgdG8gcHJldmVudCB0aGUgZGVmYXVsdCBjYXNlCnJldHVybmluZyBh biBlcnJvci4KCkZpeGVzOiBiNDZmNmRlZDkwNmUgKCJsaWJubDogbmxhX3B1dF9iZTY0KCk6IGFs aWduIG9uIGEgNjQtYml0IGFyZWEiKQpTaWduZWQtb2ZmLWJ5OiBLcmlzIE11cnBoeSA8a3Jpc2tl bmRAbGludXgudm5ldC5pYm0uY29tPgpBY2tlZC1ieTogSm9lIFN0cmluZ2VyIDxqb2VAb3ZuLm9y Zz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9vcGVudnN3aXRjaC9mbG93X25ldGxpbmsuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRs aW5rLmMgYi9uZXQvb3BlbnZzd2l0Y2gvZmxvd19uZXRsaW5rLmMKaW5kZXggNjc3ZDdjYy4uMDc5 MjU0MSAxMDA2NDQKLS0tIGEvbmV0L29wZW52c3dpdGNoL2Zsb3dfbmV0bGluay5jCisrKyBiL25l dC9vcGVudnN3aXRjaC9mbG93X25ldGxpbmsuYwpAQCAtNjQ5LDYgKzY0OSw4IEBAIHN0YXRpYyBp bnQgaXBfdHVuX2Zyb21fbmxhdHRyKGNvbnN0IHN0cnVjdCBubGF0dHIgKmF0dHIsCiAJCQl0dW5f ZmxhZ3MgfD0gVFVOTkVMX1ZYTEFOX09QVDsKIAkJCW9wdHNfdHlwZSA9IHR5cGU7CiAJCQlicmVh azsKKwkJY2FzZSBPVlNfVFVOTkVMX0tFWV9BVFRSX1BBRDoKKwkJCWJyZWFrOwogCQlkZWZhdWx0 OgogCQkJT1ZTX05MRVJSKGxvZywgIlVua25vd24gSVAgdHVubmVsIGF0dHJpYnV0ZSAlZCIsCiAJ CQkJICB0eXBlKTsKLS0gCjIuMS4wCgoKRnJvbSAwOTA5ODM0NGE0YWM0OWM5YjI1ZjkwZDUzNTc5 YWRiMDdjYWEzOTcwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXkgVWxhbm92 IDxhbmRyZXl1QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgMTQgTWFyIDIwMTcgMjA6MTY6NDIgLTA3 MDAKU3ViamVjdDogW1BBVENIIDA2LzE4XSBuZXQ6IHVuaXg6IHByb3Blcmx5IHJlLWluY3JlbWVu dCBpbmZsaWdodCBjb3VudGVyIG9mIEdDCiBkaXNjYXJkZWQgY2FuZGlkYXRlcwoKWyBVcHN0cmVh bSBjb21taXQgN2RmOWMyNDYyNWI5OTgxNzc5YWZiOGZjZGJlMmJiNDc2NWU2MTE0NyBdCgpEbWl0 cnkgaGFzIHJlcG9ydGVkIHRoYXQgYSBCVUdfT04oKSBjb25kaXRpb24gaW4gdW5peF9ub3RpbmZs aWdodCgpCm1heSBiZSB0cmlnZ2VyZWQgYnkgYSBzaW1wbGUgY29kZSB0aGF0IGZvcndhcmRzIHVu aXggc29ja2V0IGluIGFuClNDTV9SSUdIVFMgbWVzc2FnZS4KVGhhdCBpcyBjYXVzZWQgYnkgaW5j b3JyZWN0IHVuaXggc29ja2V0IEdDIGltcGxlbWVudGF0aW9uIGluIHVuaXhfZ2MoKS4KClRoZSBH QyBmaXJzdCBjb2xsZWN0cyBsaXN0IG9mIGNhbmRpZGF0ZXMsIHRoZW4gKGEpIGRlY3JlbWVudHMg dGhlaXIKImNoaWxkcmVuJ3MiIGluZmxpZ2h0IGNvdW50ZXIsIChiKSBjaGVja3Mgd2hpY2ggaW5m bGlnaHQgY291bnRlcnMgYXJlCm5vdyAwLCBhbmQgdGhlbiAoYykgaW5jcmVtZW50cyBhbGwgaW5m bGlnaHQgY291bnRlcnMgYmFjay4KKGEpIGFuZCAoYykgYXJlIGRvbmUgYnkgY2FsbGluZyBzY2Fu X2NoaWxkcmVuKCkgd2l0aCBpbmNfaW5mbGlnaHQgb3IKZGVjX2luZmxpZ2h0IGFzIHRoZSBzZWNv bmQgYXJndW1lbnQuCgpDb21taXQgNjIwOTM0NGY1YTM3ICgibmV0OiB1bml4OiBmaXggaW5mbGln aHQgY291bnRpbmcgYnVnIGluIGdhcmJhZ2UKY29sbGVjdG9yIikgY2hhbmdlZCBzY2FuX2NoaWxk cmVuKCkgc3VjaCB0aGF0IGl0IG5vIGxvbmdlciBjb25zaWRlcnMKc29ja2V0cyB0aGF0IGRvIG5v dCBoYXZlIFVOSVhfR0NfQ0FORElEQVRFIGZsYWcuIEl0IGFsc28gYWRkZWQgYSBibG9jawpvZiBj b2RlIHRoYXQgdGhhdCB1bnNldHMgdGhpcyBmbGFnIF9iZWZvcmVfIGludm9raW5nCnNjYW5fY2hp bGRyZW4oLCBkZWNfaWZsaWdodCwgKS4gVGhpcyBtYXkgbGVhZCB0byBpbmNvcnJlY3QgaW5mbGln aHQKY291bnRlcnMgZm9yIHNvbWUgc29ja2V0cy4KClRoaXMgY2hhbmdlIGZpeGVzIHRoaXMgYnVn IGJ5IGNoYW5naW5nIG9yZGVyIG9mIG9wZXJhdGlvbnM6ClVOSVhfR0NfQ0FORElEQVRFIGlzIG5v dyB1bnNldCBvbmx5IGFmdGVyIGFsbCBpbmZsaWdodCBjb3VudGVycyBhcmUKcmVzdG9yZWQgdG8g dGhlIG9yaWdpbmFsIHN0YXRlLgoKICBrZXJuZWwgQlVHIGF0IG5ldC91bml4L2dhcmJhZ2UuYzox NDkhCiAgUklQOiAwMDEwOls8ZmZmZmZmZmY4NzE3ZWJmND5dICBbPGZmZmZmZmZmODcxN2ViZjQ+ XQogIHVuaXhfbm90aW5mbGlnaHQrMHgzYjQvMHg0OTAgbmV0L3VuaXgvZ2FyYmFnZS5jOjE0OQog IENhbGwgVHJhY2U6CiAgIFs8ZmZmZmZmZmY4NzE2Y2ZiZj5dIHVuaXhfZGV0YWNoX2Zkcy5pc3Jh LjE5KzB4ZmYvMHgxNzAgbmV0L3VuaXgvYWZfdW5peC5jOjE0ODcKICAgWzxmZmZmZmZmZjg3MTZm NmE5Pl0gdW5peF9kZXN0cnVjdF9zY20rMHhmOS8weDIxMCBuZXQvdW5peC9hZl91bml4LmM6MTQ5 NgogICBbPGZmZmZmZmZmODZhOTBhMDE+XSBza2JfcmVsZWFzZV9oZWFkX3N0YXRlKzB4MTAxLzB4 MjAwIG5ldC9jb3JlL3NrYnVmZi5jOjY1NQogICBbPGZmZmZmZmZmODZhOTgwOGE+XSBza2JfcmVs ZWFzZV9hbGwrMHgxYS8weDYwIG5ldC9jb3JlL3NrYnVmZi5jOjY2OAogICBbPGZmZmZmZmZmODZh OTgwZWE+XSBfX2tmcmVlX3NrYisweDFhLzB4MzAgbmV0L2NvcmUvc2tidWZmLmM6Njg0CiAgIFs8 ZmZmZmZmZmY4NmE5ODI4ND5dIGtmcmVlX3NrYisweDE4NC8weDU3MCBuZXQvY29yZS9za2J1ZmYu Yzo3MDUKICAgWzxmZmZmZmZmZjg3MTc4OWQ1Pl0gdW5peF9yZWxlYXNlX3NvY2srMHg1YjUvMHhi ZDAgbmV0L3VuaXgvYWZfdW5peC5jOjU1OQogICBbPGZmZmZmZmZmODcxNzkwMzk+XSB1bml4X3Jl bGVhc2UrMHg0OS8weDkwIG5ldC91bml4L2FmX3VuaXguYzo4MzYKICAgWzxmZmZmZmZmZjg2YTY5 NGIyPl0gc29ja19yZWxlYXNlKzB4OTIvMHgxZjAgbmV0L3NvY2tldC5jOjU3MAogICBbPGZmZmZm ZmZmODZhNjk2MmI+XSBzb2NrX2Nsb3NlKzB4MWIvMHgyMCBuZXQvc29ja2V0LmM6MTAxNwogICBb PGZmZmZmZmZmODFhNzZiOGU+XSBfX2ZwdXQrMHgzNGUvMHg5MTAgZnMvZmlsZV90YWJsZS5jOjIw OAogICBbPGZmZmZmZmZmODFhNzcxZGE+XSBfX19fZnB1dCsweDFhLzB4MjAgZnMvZmlsZV90YWJs ZS5jOjI0NAogICBbPGZmZmZmZmZmODE0ODNhYjA+XSB0YXNrX3dvcmtfcnVuKzB4MWEwLzB4Mjgw IGtlcm5lbC90YXNrX3dvcmsuYzoxMTYKICAgWzwgICAgIGlubGluZSAgICAgPl0gZXhpdF90YXNr X3dvcmsgaW5jbHVkZS9saW51eC90YXNrX3dvcmsuaDoyMQogICBbPGZmZmZmZmZmODE0MTI4N2E+ XSBkb19leGl0KzB4MTgzYS8weDI2NDAga2VybmVsL2V4aXQuYzo4MjgKICAgWzxmZmZmZmZmZjgx NDEzODNlPl0gZG9fZ3JvdXBfZXhpdCsweDE0ZS8weDQyMCBrZXJuZWwvZXhpdC5jOjkzMQogICBb PGZmZmZmZmZmODE0NDI5ZDM+XSBnZXRfc2lnbmFsKzB4NjYzLzB4MTg4MCBrZXJuZWwvc2lnbmFs LmM6MjMwNwogICBbPGZmZmZmZmZmODEyMzliNDU+XSBkb19zaWduYWwrMHhjNS8weDIxOTAgYXJj aC94ODYva2VybmVsL3NpZ25hbC5jOjgwNwogICBbPGZmZmZmZmZmODEwMDY2NmE+XSBleGl0X3Rv X3VzZXJtb2RlX2xvb3ArMHgxZWEvMHgyZDAKICBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoxNTYK ICAgWzwgICAgIGlubGluZSAgICAgPl0gcHJlcGFyZV9leGl0X3RvX3VzZXJtb2RlIGFyY2gveDg2 L2VudHJ5L2NvbW1vbi5jOjE5MAogICBbPGZmZmZmZmZmODEwMDk2OTM+XSBzeXNjYWxsX3JldHVy bl9zbG93cGF0aCsweDRkMy8weDU3MAogIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI1OQogICBb PGZmZmZmZmZmODgxNDc4ZTY+XSBlbnRyeV9TWVNDQUxMXzY0X2Zhc3RwYXRoKzB4YzQvMHhjNgoK TGluazogaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTcvMy82LzI1MgpTaWduZWQtb2ZmLWJ5OiBB bmRyZXkgVWxhbm92IDxhbmRyZXl1QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBEbWl0cnkgVnl1 a292IDxkdnl1a292QGdvb2dsZS5jb20+CkZpeGVzOiA2MjA5MzQ0ICgibmV0OiB1bml4OiBmaXgg aW5mbGlnaHQgY291bnRpbmcgYnVnIGluIGdhcmJhZ2UgY29sbGVjdG9yIikKU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC91bml4L2dh cmJhZ2UuYyB8IDE3ICsrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC91bml4L2dhcmJhZ2UuYyBi L25ldC91bml4L2dhcmJhZ2UuYwppbmRleCA2YTBkNDg1Li5jMzY3NTdlIDEwMDY0NAotLS0gYS9u ZXQvdW5peC9nYXJiYWdlLmMKKysrIGIvbmV0L3VuaXgvZ2FyYmFnZS5jCkBAIC0xNDYsNiArMTQ2 LDcgQEAgdm9pZCB1bml4X25vdGluZmxpZ2h0KHN0cnVjdCB1c2VyX3N0cnVjdCAqdXNlciwgc3Ry dWN0IGZpbGUgKmZwKQogCWlmIChzKSB7CiAJCXN0cnVjdCB1bml4X3NvY2sgKnUgPSB1bml4X3Nr KHMpOwogCisJCUJVR19PTighYXRvbWljX2xvbmdfcmVhZCgmdS0+aW5mbGlnaHQpKTsKIAkJQlVH X09OKGxpc3RfZW1wdHkoJnUtPmxpbmspKTsKIAogCQlpZiAoYXRvbWljX2xvbmdfZGVjX2FuZF90 ZXN0KCZ1LT5pbmZsaWdodCkpCkBAIC0zNDEsNiArMzQyLDE0IEBAIHZvaWQgdW5peF9nYyh2b2lk KQogCX0KIAlsaXN0X2RlbCgmY3Vyc29yKTsKIAorCS8qIE5vdyBnY19jYW5kaWRhdGVzIGNvbnRh aW5zIG9ubHkgZ2FyYmFnZS4gIFJlc3RvcmUgb3JpZ2luYWwKKwkgKiBpbmZsaWdodCBjb3VudGVy cyBmb3IgdGhlc2UgYXMgd2VsbCwgYW5kIHJlbW92ZSB0aGUgc2tidWZmcworCSAqIHdoaWNoIGFy ZSBjcmVhdGluZyB0aGUgY3ljbGUocykuCisJICovCisJc2tiX3F1ZXVlX2hlYWRfaW5pdCgmaGl0 bGlzdCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeSh1LCAmZ2NfY2FuZGlkYXRlcywgbGluaykKKwkJ c2Nhbl9jaGlsZHJlbigmdS0+c2ssIGluY19pbmZsaWdodCwgJmhpdGxpc3QpOworCiAJLyogbm90 X2N5Y2xlX2xpc3QgY29udGFpbnMgdGhvc2Ugc29ja2V0cyB3aGljaCBkbyBub3QgbWFrZSB1cCBh CiAJICogY3ljbGUuICBSZXN0b3JlIHRoZXNlIHRvIHRoZSBpbmZsaWdodCBsaXN0LgogCSAqLwpA QCAtMzUwLDE0ICszNTksNiBAQCB2b2lkIHVuaXhfZ2Modm9pZCkKIAkJbGlzdF9tb3ZlX3RhaWwo JnUtPmxpbmssICZnY19pbmZsaWdodF9saXN0KTsKIAl9CiAKLQkvKiBOb3cgZ2NfY2FuZGlkYXRl cyBjb250YWlucyBvbmx5IGdhcmJhZ2UuICBSZXN0b3JlIG9yaWdpbmFsCi0JICogaW5mbGlnaHQg Y291bnRlcnMgZm9yIHRoZXNlIGFzIHdlbGwsIGFuZCByZW1vdmUgdGhlIHNrYnVmZnMKLQkgKiB3 aGljaCBhcmUgY3JlYXRpbmcgdGhlIGN5Y2xlKHMpLgotCSAqLwotCXNrYl9xdWV1ZV9oZWFkX2lu aXQoJmhpdGxpc3QpOwotCWxpc3RfZm9yX2VhY2hfZW50cnkodSwgJmdjX2NhbmRpZGF0ZXMsIGxp bmspCi0Jc2Nhbl9jaGlsZHJlbigmdS0+c2ssIGluY19pbmZsaWdodCwgJmhpdGxpc3QpOwotCiAJ c3Bpbl91bmxvY2soJnVuaXhfZ2NfbG9jayk7CiAKIAkvKiBIZXJlIHdlIGFyZS4gSGl0bGlzdCBp cyBmaWxsZWQuIERpZS4gKi8KLS0gCjIuMS4wCgoKRnJvbSBjNTcxYmYyOWQyZjJhY2U3YzU2YWNj NGI1YTBhMGViYjFiYTBlMTdlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04 P3E/Qmo9QzM9Qjhybj0yME1vcms/PSA8Ympvcm5AbW9yay5ubz4KRGF0ZTogRnJpLCAxNyBNYXIg MjAxNyAxNzoyMDo0OCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMThdIHFtaV93d2FuOiBhZGQg RGVsbCBEVzU4MTFlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFt IGNvbW1pdCA2YmQ4NDVkMWNmOThiNDVjNjM0YmFhY2I4MzgxNDM2ZGFkM2MyZGQwIF0KClRoaXMg aXMgYSBEZWxsIGJyYW5kZWQgU2llcnJhIFdpcmVsZXNzIEVNNzQ1NS4gSXQgaXMgb3BlcmF0aW5n IGluCk1CSU0gbW9kZSBieSBkZWZhdWx0LCBidXQgY2FuIGJlIGNvbmZpZ3VyZWQgdG8gcHJvdmlk ZSB0d28gUU1JL1JNTkVUCmZ1bmN0aW9ucy4KClNpZ25lZC1vZmYtYnk6IEJqw7hybiBNb3JrIDxi am9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMgfCAyICsrCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL3Ft aV93d2FuLmMgYi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwppbmRleCAyNGQ1MjcyLi4wZDUx OWE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYworKysgYi9kcml2ZXJz L25ldC91c2IvcW1pX3d3YW4uYwpAQCAtOTI0LDYgKzkyNCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgdXNiX2RldmljZV9pZCBwcm9kdWN0c1tdID0gewogCXtRTUlfRklYRURfSU5URigweDQxM2Ms IDB4ODFhOSwgOCl9LAkvKiBEZWxsIFdpcmVsZXNzIDU4MDhlIEdvYmkoVE0pIDRHIExURSBNb2Jp bGUgQnJvYWRiYW5kIENhcmQgKi8KIAl7UU1JX0ZJWEVEX0lOVEYoMHg0MTNjLCAweDgxYjEsIDgp fSwJLyogRGVsbCBXaXJlbGVzcyA1ODA5ZSBHb2JpKFRNKSA0RyBMVEUgTW9iaWxlIEJyb2FkYmFu ZCBDYXJkICovCiAJe1FNSV9GSVhFRF9JTlRGKDB4NDEzYywgMHg4MWIzLCA4KX0sCS8qIERlbGwg V2lyZWxlc3MgNTgwOWUgR29iaShUTSkgNEcgTFRFIE1vYmlsZSBCcm9hZGJhbmQgQ2FyZCAocmV2 MykgKi8KKwl7UU1JX0ZJWEVEX0lOVEYoMHg0MTNjLCAweDgxYjYsIDgpfSwJLyogRGVsbCBXaXJl bGVzcyA1ODExZSAqLworCXtRTUlfRklYRURfSU5URigweDQxM2MsIDB4ODFiNiwgMTApfSwJLyog RGVsbCBXaXJlbGVzcyA1ODExZSAqLwogCXtRTUlfRklYRURfSU5URigweDAzZjAsIDB4NGUxZCwg OCl9LAkvKiBIUCBsdDQxMTEgTFRFL0VWLURPL0hTUEErIEdvYmkgNEcgTW9kdWxlICovCiAJe1FN SV9GSVhFRF9JTlRGKDB4MjJkZSwgMHg5MDYxLCAzKX0sCS8qIFdlVGVsZWNvbSBXUEQtNjAwTiAq LwogCXtRTUlfRklYRURfSU5URigweDFlMGUsIDB4OTAwMSwgNSl9LAkvKiBTSU1Db20gNzIzMEUg Ki8KLS0gCjIuMS4wCgoKRnJvbSA2YWUxNWIyY2UyMzcwYmRkZTZhOTI4ZGZiMTlkYmUxYjkyNGIy YWUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNhQGN1bXVs dXNuZXR3b3Jrcy5jb20+CkRhdGU6IEZyaSwgMTcgTWFyIDIwMTcgMTY6MDc6MTEgLTA3MDAKU3Vi amVjdDogW1BBVENIIDA4LzE4XSBuZXQ6IHZyZjogUmVzZXQgcnQ2aV9pZGV2IGluIGxvY2FsIGRz dCBhZnRlciBwdXQKClsgVXBzdHJlYW0gY29tbWl0IDNkYzg1N2YwZThmYzIyNjEwYTU5Y2JiMzQ2 YmE2MmM2ZTkyMTg2M2YgXQoKVGhlIFZSRiBkcml2ZXIgdGFrZXMgYSByZWZlcmVuY2UgdG8gdGhl IGluZXQ2X2RldiBvbiB0aGUgVlJGIGRldmljZSBmb3IKaXRzIHJ0Nl9sb2NhbCBkc3Qgd2hlbiBo YW5kbGluZyBsb2NhbCB0cmFmZmljIHRocm91Z2ggdGhlIFZSRiBkZXZpY2UgYXMKYSBsb29wYmFj ay4gV2hlbiB0aGUgZGV2aWNlIGlzIGRlbGV0ZWQgdGhlIGRyaXZlciBkb2VzIGEgcHV0IG9uIHRo ZSBpZGV2CmJ1dCBkb2VzIG5vdCByZXNldCBydDZpX2lkZXYgaW4gdGhlIHJ0Nl9pbmZvIHN0cnVj dC4gV2hlbiB0aGUgZHN0IGlzCmRlc3Ryb3llZCwgZHN0X2Rlc3Ryb3kgY2FsbHMgaXA2X2RzdF9k ZXN0cm95IHdoaWNoIGRvZXMgYSBzZWNvbmQgcHV0IGZvcgp3aGF0IGlzIGVzc2VudGlhbGx5IHRo ZSBzYW1lIHJlZmVyZW5jZSBjYXVzaW5nIGl0IHRvIGJlIHByZW1hdHVyZWx5IGZyZWVkLgpSZXNl dCBydDZpX2lkZXYgYWZ0ZXIgdGhlIHB1dCBpbiB0aGUgdnJmIGRyaXZlci4KCkZpeGVzOiBiNDg2 OWFhMmY4ODFlICgibmV0OiB2cmY6IGlwdjYgc3VwcG9ydCBmb3IgbG9jYWwgdHJhZmZpYyB0bwog ICAgICAgICAgICAgICAgICAgICAgIGxvY2FsIGFkZHJlc3NlcyIpClNpZ25lZC1vZmYtYnk6IERh dmlkIEFoZXJuIDxkc2FAY3VtdWx1c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3ZyZi5jIHwg NCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdnJmLmMgYi9kcml2ZXJzL25ldC92cmYuYwppbmRleCBi Yzc0NGFjLi5hMmFmYjhlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC92cmYuYworKysgYi9kcml2 ZXJzL25ldC92cmYuYwpAQCAtNDY3LDggKzQ2NywxMCBAQCBzdGF0aWMgdm9pZCB2cmZfcnQ2X3Jl bGVhc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IG5ldF92cmYgKnZyZikKIAl9CiAK IAlpZiAocnQ2X2xvY2FsKSB7Ci0JCWlmIChydDZfbG9jYWwtPnJ0NmlfaWRldikKKwkJaWYgKHJ0 Nl9sb2NhbC0+cnQ2aV9pZGV2KSB7CiAJCQlpbjZfZGV2X3B1dChydDZfbG9jYWwtPnJ0NmlfaWRl dik7CisJCQlydDZfbG9jYWwtPnJ0NmlfaWRldiA9IE5VTEw7CisJCX0KIAogCQlkc3QgPSAmcnQ2 X2xvY2FsLT5kc3Q7CiAJCWRldl9wdXQoZHN0LT5kZXYpOwotLSAKMi4xLjAKCgpGcm9tIDg3Yjkw ZGYzOGIwMjhmNzkyMzFhNWZmMWExYWZlMzFhZTIyZTQxYWMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IE9yIEdlcmxpdHogPG9nZXJsaXR6QG1lbGxhbm94LmNvbT4KRGF0ZTogVHVlLCAy MSBNYXIgMjAxNyAxNTo1OToxMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMThdIG5ldC9tbHg1 OiBBZGQgbWlzc2luZyBlbnRyaWVzIGZvciBzZXQvcXVlcnkgcmF0ZSBsaW1pdAogY29tbWFuZHMK ClsgVXBzdHJlYW0gY29tbWl0IDFmMzBhODZjNTgwOTMwNDZkYzNlNDljMjNkMjYxODg5NGUwOThm N2EgXQoKVGhlIHN3aXRjaCBjYXNlcyBmb3IgdGhlIHJhdGUgbGltaXQgc2V0IGFuZCBxdWVyeSBj b21tYW5kcyB3ZXJlCm1pc3NpbmcsIHdoaWNoIGNvdWxkIGdldCB1cyB3cm9uZyB1bmRlciBmdyBl cnJvciBvciBkcml2ZXIgcmVzZXQKZmxvdywgZml4IHRoYXQuCgpGaXhlczogMTQ2NmNjNWIyM2Qx ICgnbmV0L21seDU6IFJhdGUgbGltaXQgdGFibGVzIHN1cHBvcnQnKQpTaWduZWQtb2ZmLWJ5OiBP ciBHZXJsaXR6IDxvZ2VybGl0ekBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBIYWRhciBIZW4g WmlvbiA8aGFkYXJoQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQg PHNhZWVkbUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvY21kLmMgfCA0ICsrKysKIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvY21kLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvY21kLmMKaW5kZXggYmZl NDEwZS4uM2Y1MWE0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2NtZC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9jbWQuYwpAQCAtMzY3LDYgKzM2Nyw4IEBAIHN0YXRpYyBpbnQgbWx4NV9pbnRlcm5hbF9l cnJfcmV0X3ZhbHVlKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYsIHUxNiBvcCwKIAljYXNlIE1M WDVfQ01EX09QX1FVRVJZX1ZQT1JUX0NPVU5URVI6CiAJY2FzZSBNTFg1X0NNRF9PUF9BTExPQ19R X0NPVU5URVI6CiAJY2FzZSBNTFg1X0NNRF9PUF9RVUVSWV9RX0NPVU5URVI6CisJY2FzZSBNTFg1 X0NNRF9PUF9TRVRfUkFURV9MSU1JVDoKKwljYXNlIE1MWDVfQ01EX09QX1FVRVJZX1JBVEVfTElN SVQ6CiAJY2FzZSBNTFg1X0NNRF9PUF9BTExPQ19QRDoKIAljYXNlIE1MWDVfQ01EX09QX0FMTE9D X1VBUjoKIAljYXNlIE1MWDVfQ01EX09QX0NPTkZJR19JTlRfTU9ERVJBVElPTjoKQEAgLTUwMCw2 ICs1MDIsOCBAQCBjb25zdCBjaGFyICptbHg1X2NvbW1hbmRfc3RyKGludCBjb21tYW5kKQogCU1M WDVfQ09NTUFORF9TVFJfQ0FTRShBTExPQ19RX0NPVU5URVIpOwogCU1MWDVfQ09NTUFORF9TVFJf Q0FTRShERUFMTE9DX1FfQ09VTlRFUik7CiAJTUxYNV9DT01NQU5EX1NUUl9DQVNFKFFVRVJZX1Ff Q09VTlRFUik7CisJTUxYNV9DT01NQU5EX1NUUl9DQVNFKFNFVF9SQVRFX0xJTUlUKTsKKwlNTFg1 X0NPTU1BTkRfU1RSX0NBU0UoUVVFUllfUkFURV9MSU1JVCk7CiAJTUxYNV9DT01NQU5EX1NUUl9D QVNFKEFMTE9DX1BEKTsKIAlNTFg1X0NPTU1BTkRfU1RSX0NBU0UoREVBTExPQ19QRCk7CiAJTUxY NV9DT01NQU5EX1NUUl9DQVNFKEFMTE9DX1VBUik7Ci0tIAoyLjEuMAoKCkZyb20gYzc0NmEzMTVl ZjFmN2E4N2VlZjM4M2VkMGJhNzRmZDc0ZDNiZTAzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogT3IgR2VybGl0eiA8b2dlcmxpdHpAbWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDIxIE1h ciAyMDE3IDE1OjU5OjE1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMC8xOF0gbmV0L21seDVlOiBV c2UgdGhlIHByb3BlciBVQVBJIHZhbHVlcyB3aGVuIG9mZmxvYWRpbmcKIFRDIHZsYW4gYWN0aW9u cwoKWyBVcHN0cmVhbSBjb21taXQgMDljOTFkZGYyY2QzMzQ4OWMyYzE0ZWRmZWY0M2FlMzhkNDEy ODg4ZSBdCgpDdXJyZW50bHkgd2UgdXNlIHRoZSBub24gVUFQSSB2YWx1ZXMgYW5kIHdlIG1pc3Mg ZXJyaW5nIG9uCnRoZSBtb2RpZnkgYWN0aW9uIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQsIGZpeCB0 aGF0LgoKRml4ZXM6IDhiMzI1ODBkZjFjYiAoJ25ldC9tbHg1ZTogQWRkIFRDIHZsYW4gYWN0aW9u IGZvciBTUklPViBvZmZsb2FkcycpClNpZ25lZC1vZmYtYnk6IE9yIEdlcmxpdHogPG9nZXJsaXR6 QG1lbGxhbm94LmNvbT4KUmVwb3J0ZWQtYnk6IFBldHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3gu Y29tPgpSZXZpZXdlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1v ZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMgfCA2ICsrKystLQogMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5jCmluZGV4IGE1NDNlYTYuLjNmZDQ3 MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l bl90Yy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90 Yy5jCkBAIC00MjcsMTQgKzQyNywxNiBAQCBzdGF0aWMgaW50IHBhcnNlX3RjX2ZkYl9hY3Rpb25z KHN0cnVjdCBtbHg1ZV9wcml2ICpwcml2LCBzdHJ1Y3QgdGNmX2V4dHMgKmV4dHMsCiAJCX0KIAog CQlpZiAoaXNfdGNmX3ZsYW4oYSkpIHsKLQkJCWlmICh0Y2Zfdmxhbl9hY3Rpb24oYSkgPT0gVkxB Tl9GX1BPUCkgeworCQkJaWYgKHRjZl92bGFuX2FjdGlvbihhKSA9PSBUQ0FfVkxBTl9BQ1RfUE9Q KSB7CiAJCQkJYXR0ci0+YWN0aW9uIHw9IE1MWDVfRkxPV19DT05URVhUX0FDVElPTl9WTEFOX1BP UDsKLQkJCX0gZWxzZSBpZiAodGNmX3ZsYW5fYWN0aW9uKGEpID09IFZMQU5fRl9QVVNIKSB7CisJ CQl9IGVsc2UgaWYgKHRjZl92bGFuX2FjdGlvbihhKSA9PSBUQ0FfVkxBTl9BQ1RfUFVTSCkgewog CQkJCWlmICh0Y2Zfdmxhbl9wdXNoX3Byb3RvKGEpICE9IGh0b25zKEVUSF9QXzgwMjFRKSkKIAkJ CQkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCiAJCQkJYXR0ci0+YWN0aW9uIHw9IE1MWDVfRkxPV19D T05URVhUX0FDVElPTl9WTEFOX1BVU0g7CiAJCQkJYXR0ci0+dmxhbiA9IHRjZl92bGFuX3B1c2hf dmlkKGEpOworCQkJfSBlbHNlIHsgLyogYWN0aW9uIGlzIFRDQV9WTEFOX0FDVF9NT0RJRlkgKi8K KwkJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJCQl9CiAJCQljb250aW51ZTsKIAkJfQotLSAKMi4x LjAKCgpGcm9tIDIzZjYwMDNhZjQ2OThjMjM4ZTQ0ZjFmNDIwMWE2MWMzNDE3Zjg4MDggTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hb3IgR290dGxpZWIgPG1hb3JnQG1lbGxhbm94LmNv bT4KRGF0ZTogVHVlLCAyMSBNYXIgMjAxNyAxNTo1OToxNyArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MTEvMThdIG5ldC9tbHg1OiBJbmNyZWFzZSBudW1iZXIgb2YgbWF4IFFQcyBpbiBkZWZhdWx0IHBy b2ZpbGUKClsgVXBzdHJlYW0gY29tbWl0IDVmNDBiNGVkOTc1YzI2MDE2Y2Y0MTk1M2I3NTEwZmU5 MDcxOGUyMWMgXQoKV2l0aCBDb25uZWN0WC00IHNoYXJpbmcgU1JRcyBmcm9tIHRoZSBzYW1lIHNw YWNlIGFzIFFQcywgd2UgaGl0IGEKbGltaXQgcHJldmVudGluZyBzb21lIGFwcGxpY2F0aW9ucyB0 byBhbGxvY2F0ZSBuZWVkZWQgUVBzIGFtb3VudC4KRG91YmxlIHRoZSBzaXplIHRvIDI1NksuCgpG aXhlczogZTEyNmJhOTdkYmE5ZSAoJ21seDU6IEFkZCBkcml2ZXIgZm9yIE1lbGxhbm94IENvbm5l Y3QtSUIgYWRhcHRlcnMnKQpTaWduZWQtb2ZmLWJ5OiBNYW9yIEdvdHRsaWViIDxtYW9yZ0BtZWxs YW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3gu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYyB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jCmluZGV4IDBjOWVm ODcuLjdhMTk2YTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL21haW4uYwpAQCAtODcsNyArODcsNyBAQCBzdGF0aWMgc3RydWN0IG1seDVfcHJvZmlsZSBw cm9maWxlW10gPSB7CiAJWzJdID0gewogCQkubWFzawkJPSBNTFg1X1BST0ZfTUFTS19RUF9TSVpF IHwKIAkJCQkgIE1MWDVfUFJPRl9NQVNLX01SX0NBQ0hFLAotCQkubG9nX21heF9xcAk9IDE3LAor CQkubG9nX21heF9xcAk9IDE4LAogCQkubXJfY2FjaGVbMF0JPSB7CiAJCQkuc2l6ZQk9IDUwMCwK IAkJCS5saW1pdAk9IDI1MAotLSAKMi4xLjAKCgpGcm9tIDcyMGIzMGMxNzM4YTdiNGE0ZjYwM2Rk Nzg5NWQzMzVhODkwYzRkMTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEdhbCBQcmVz c21hbiA8Z2FscEBtZWxsYW5veC5jb20+CkRhdGU6IFR1ZSwgMjEgTWFyIDIwMTcgMTU6NTk6MTgg KzAyMDAKU3ViamVjdDogW1BBVENIIDEyLzE4XSBuZXQvbWx4NWU6IENvdW50IEdTTyBwYWNrZXRz IGNvcnJlY3RseQoKWyBVcHN0cmVhbSBjb21taXQgZDNhNGU0ZGE1NGM3YWRiNDIwZDVmNDhlODli ZTkxM2IxNGJkZWZmMSBdCgpUWCBwYWNrZXRzIHN0YXRpc3RpY3MgKCd0eF9wYWNrZXRzJyBjb3Vu dGVyKSB1c2VkIHRvIGNvdW50IEdTTyBwYWNrZXRzCmFzIG9uZSwgZXZlbiB0aG91Z2ggaXQgY29u dGFpbnMgbXVsdGlwbGUgc2VnbWVudHMuClRoaXMgcGF0Y2ggd2lsbCBpbmNyZW1lbnQgdGhlIGNv dW50ZXIgYnkgdGhlIG51bWJlciBvZiBzZWdtZW50cywgYW5kCmFsaWduIHRoZSBkcml2ZXIgd2l0 aCB0aGUgYmVoYXZpb3Igb2Ygb3RoZXIgZHJpdmVycyBpbiB0aGUgc3RhY2suCgpOb3RlIHRoYXQg bm8gaW5mb3JtYXRpb24gaXMgbG9zdCBpbiB0aGlzIHBhdGNoIGR1ZSB0byAndHhfdHNvX3BhY2tl dHMnCmNvdW50ZXIgZXhpc3RlbmNlLgoKQmVmb3JlLCBldGh0b29sIHNob3dlZDoKJCBldGh0b29s IC1TIGVuczYgfCBlZ3JlcCAidHhfcGFja2V0c3x0eF90c29fcGFja2V0cyIKICAgICB0eF9wYWNr ZXRzOiA2MTM0MAogICAgIHR4X3Rzb19wYWNrZXRzOiA2MDk1NAogICAgIHR4X3BhY2tldHNfcGh5 OiAyNDUxMTE1CgpOb3csIHdlIHdpbGwgc2VlIHRoZSBtb3JlIGxvZ2ljYWwgc3RhdGlzdGljczoK JCBldGh0b29sIC1TIGVuczYgfCBlZ3JlcCAidHhfcGFja2V0c3x0eF90c29fcGFja2V0cyIKICAg ICB0eF9wYWNrZXRzOiAyNDUxMTE1CiAgICAgdHhfdHNvX3BhY2tldHM6IDYwOTU0CiAgICAgdHhf cGFja2V0c19waHk6IDI0NTExMTUKCkZpeGVzOiBlNTg2YjNiMGJhZWUgKCJuZXQvbWx4NTogRXRo ZXJuZXQgRGF0YXBhdGggZmlsZXMiKQpTaWduZWQtb2ZmLWJ5OiBHYWwgUHJlc3NtYW4gPGdhbHBA bWVsbGFub3guY29tPgpDYzoga2VybmVsLXRlYW1AZmIuY29tClNpZ25lZC1vZmYtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgpBY2tlZC1ieTogQWxleGVpIFN0YXJvdm9p dG92IDxhc3RAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbl90eC5jIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fdHguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbl90eC5jCmluZGV4IGNmYjY4MzcuLjU3NDMxMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90eC5jCisrKyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90eC5jCkBAIC0yNzIsMTUgKzI3MiwxOCBA QCBzdGF0aWMgbmV0ZGV2X3R4X3QgbWx4NWVfc3FfeG1pdChzdHJ1Y3QgbWx4NWVfc3EgKnNxLCBz dHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCQkJc3EtPnN0YXRzLnRzb19ieXRlcyArPSBza2ItPmxlbiAt IGloczsKIAkJfQogCisJCXNxLT5zdGF0cy5wYWNrZXRzICs9IHNrYl9zaGluZm8oc2tiKS0+Z3Nv X3NlZ3M7CiAJCW51bV9ieXRlcyA9IHNrYi0+bGVuICsgKHNrYl9zaGluZm8oc2tiKS0+Z3NvX3Nl Z3MgLSAxKSAqIGloczsKIAl9IGVsc2UgewogCQliZiA9IHNxLT5iZl9idWRnZXQgJiYKIAkJICAg ICAhc2tiLT54bWl0X21vcmUgJiYKIAkJICAgICAhc2tiX3NoaW5mbyhza2IpLT5ucl9mcmFnczsK IAkJaWhzID0gbWx4NWVfZ2V0X2lubGluZV9oZHJfc2l6ZShzcSwgc2tiLCBiZik7CisJCXNxLT5z dGF0cy5wYWNrZXRzKys7CiAJCW51bV9ieXRlcyA9IG1heF90KHVuc2lnbmVkIGludCwgc2tiLT5s ZW4sIEVUSF9aTEVOKTsKIAl9CiAKKwlzcS0+c3RhdHMuYnl0ZXMgKz0gbnVtX2J5dGVzOwogCXdp LT5udW1fYnl0ZXMgPSBudW1fYnl0ZXM7CiAKIAlpZiAoc2tiX3ZsYW5fdGFnX3ByZXNlbnQoc2ti KSkgewpAQCAtMzc3LDggKzM4MCw2IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCBtbHg1ZV9zcV94bWl0 KHN0cnVjdCBtbHg1ZV9zcSAqc3EsIHN0cnVjdCBza19idWZmICpza2IpCiAJaWYgKGJmKQogCQlz cS0+YmZfYnVkZ2V0LS07CiAKLQlzcS0+c3RhdHMucGFja2V0cysrOwotCXNxLT5zdGF0cy5ieXRl cyArPSBudW1fYnl0ZXM7CiAJcmV0dXJuIE5FVERFVl9UWF9PSzsKIAogZG1hX3VubWFwX3dxZV9l cnI6Ci0tIAoyLjEuMAoKCkZyb20gY2FjZjE4Y2E0NzQ1N2NkNTE3MDk3NTIxY2Q1MTg3NmY5MTk5 MjU1ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogR2FsIFByZXNzbWFuIDxnYWxwQG1l bGxhbm94LmNvbT4KRGF0ZTogVHVlLCAyMSBNYXIgMjAxNyAxNTo1OToxOSArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMTMvMThdIG5ldC9tbHg1ZTogQ291bnQgTFJPIHBhY2tldHMgY29ycmVjdGx5Cgpb IFVwc3RyZWFtIGNvbW1pdCA4YWI3ZTJhZTE1ZDg0YmE3NThiMmM4YzZmNDA3NTcyMmU5YmQyYTA4 IF0KClJYIHBhY2tldHMgc3RhdGlzdGljcyAoJ3J4X3BhY2tldHMnIGNvdW50ZXIpIHVzZWQgdG8g Y291bnQgTFJPIHBhY2tldHMKYXMgb25lLCBldmVuIHRob3VnaCBpdCBjb250YWlucyBtdWx0aXBs ZSBzZWdtZW50cy4KVGhpcyBwYXRjaCB3aWxsIGluY3JlbWVudCB0aGUgY291bnRlciBieSB0aGUg bnVtYmVyIG9mIHNlZ21lbnRzLCBhbmQKYWxpZ24gdGhlIGRyaXZlciB3aXRoIHRoZSBiZWhhdmlv ciBvZiBvdGhlciBkcml2ZXJzIGluIHRoZSBzdGFjay4KCk5vdGUgdGhhdCBubyBpbmZvcm1hdGlv biBpcyBsb3N0IGluIHRoaXMgcGF0Y2ggZHVlIHRvICdyeF9scm9fcGFja2V0cycKY291bnRlciBl eGlzdGVuY2UuCgpCZWZvcmUsIGV0aHRvb2wgc2hvd2VkOgokIGV0aHRvb2wgLVMgZW5zNiB8IGVn cmVwICJyeF9wYWNrZXRzfHJ4X2xyb19wYWNrZXRzIgogICAgIHJ4X3BhY2tldHM6IDQzNTI3Nwog ICAgIHJ4X2xyb19wYWNrZXRzOiAzNTg0NwogICAgIHJ4X3BhY2tldHNfcGh5OiAxOTM1MDY2CgpO b3csIHdlIHdpbGwgc2VlIHRoZSBtb3JlIGxvZ2ljYWwgc3RhdGlzdGljczoKJCBldGh0b29sIC1T IGVuczYgfCBlZ3JlcCAicnhfcGFja2V0c3xyeF9scm9fcGFja2V0cyIKICAgICByeF9wYWNrZXRz OiAxOTM1MDY2CiAgICAgcnhfbHJvX3BhY2tldHM6IDM1ODQ3CiAgICAgcnhfcGFja2V0c19waHk6 IDE5MzUwNjYKCkZpeGVzOiBlNTg2YjNiMGJhZWUgKCJuZXQvbWx4NTogRXRoZXJuZXQgRGF0YXBh dGggZmlsZXMiKQpTaWduZWQtb2ZmLWJ5OiBHYWwgUHJlc3NtYW4gPGdhbHBAbWVsbGFub3guY29t PgpDYzoga2VybmVsLXRlYW1AZmIuY29tClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxz YWVlZG1AbWVsbGFub3guY29tPgpBY2tlZC1ieTogQWxleGVpIFN0YXJvdm9pdG92IDxhc3RAa2Vy bmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yeC5j IHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3J4LmMgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcnguYwppbmRleCA3OTZiZGYwLi43 MzA5YWUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZW5fcnguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZW5fcnguYwpAQCAtNjAyLDYgKzYwMiwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbWx4NWVfYnVp bGRfcnhfc2tiKHN0cnVjdCBtbHg1X2NxZTY0ICpjcWUsCiAJaWYgKGxyb19udW1fc2VnID4gMSkg ewogCQltbHg1ZV9scm9fdXBkYXRlX2hkcihza2IsIGNxZSwgY3FlX2JjbnQpOwogCQlza2Jfc2hp bmZvKHNrYiktPmdzb19zaXplID0gRElWX1JPVU5EX1VQKGNxZV9iY250LCBscm9fbnVtX3NlZyk7 CisJCS8qIFN1YnRyYWN0IG9uZSBzaW5jZSB3ZSBhbHJlYWR5IGNvdW50ZWQgdGhpcyBhcyBvbmUK KwkJICogInJlZ3VsYXIiIHBhY2tldCBpbiBtbHg1ZV9jb21wbGV0ZV9yeF9jcWUoKQorCQkgKi8K KwkJcnEtPnN0YXRzLnBhY2tldHMgKz0gbHJvX251bV9zZWcgLSAxOwogCQlycS0+c3RhdHMubHJv X3BhY2tldHMrKzsKIAkJcnEtPnN0YXRzLmxyb19ieXRlcyArPSBjcWVfYmNudDsKIAl9Ci0tIAoy LjEuMAoKCkZyb20gMjQ5Y2JiYTc0NDE5MWMwZDUxMWM2ZWU5YTY1ZDUwNDA0ZGFjMTU1ZiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQWxleGFuZGVyIFBvdGFwZW5rbyA8Z2xpZGVyQGdv b2dsZS5jb20+CkRhdGU6IFR1ZSwgMjEgTWFyIDIwMTcgMTc6MTQ6MjcgKzAxMDAKU3ViamVjdDog W1BBVENIIDE0LzE4XSBpcHY2OiBtYWtlIHN1cmUgdG8gaW5pdGlhbGl6ZSBzb2NrYy50c2ZsYWdz IGJlZm9yZQogZmlyc3QgdXNlCgpbIFVwc3RyZWFtIGNvbW1pdCBkNTE1Njg0ZDc4MTQ4ODg0ZDVm YzQyNWJhOTA0YzUwZjAzODQ0MDIwIF0KCkluIHRoZSBjYXNlIHVkcF9zayhzayktPnBlbmRpbmcg aXMgQUZfSU5FVDYsIHVkcHY2X3NlbmRtc2coKSB3b3VsZApqdW1wIHRvIGRvX2FwcGVuZF9kYXRh LCBza2lwcGluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2Ygc29ja2MudHNmbGFncy4KRml4IHRoZSBw cm9ibGVtIGJ5IG1vdmluZyBzb2NrYy50c2ZsYWdzIGluaXRpYWxpemF0aW9uIGVhcmxpZXIuCgpU aGUgYnVnIHdhcyBkZXRlY3RlZCB3aXRoIEtNU0FOLgoKRml4ZXM6IGMxNGFjOTQ1MWMzNCAoInNv Y2s6IGVuYWJsZSB0aW1lc3RhbXBpbmcgdXNpbmcgY29udHJvbCBtZXNzYWdlcyIpClNpZ25lZC1v ZmYtYnk6IEFsZXhhbmRlciBQb3RhcGVua28gPGdsaWRlckBnb29nbGUuY29tPgpBY2tlZC1ieTog U29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L3VkcC5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L2lwdjYvdWRwLmMgYi9uZXQvaXB2Ni91ZHAuYwppbmRleCBlNGE4MDAw Li40MGEyODlmIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni91ZHAuYworKysgYi9uZXQvaXB2Ni91ZHAu YwpAQCAtMTAzNyw2ICsxMDM3LDcgQEAgaW50IHVkcHY2X3NlbmRtc2coc3RydWN0IHNvY2sgKnNr LCBzdHJ1Y3QgbXNnaGRyICptc2csIHNpemVfdCBsZW4pCiAJaXBjNi5obGltaXQgPSAtMTsKIAlp cGM2LnRjbGFzcyA9IC0xOwogCWlwYzYuZG9udGZyYWcgPSAtMTsKKwlzb2NrYy50c2ZsYWdzID0g c2stPnNrX3RzZmxhZ3M7CiAKIAkvKiBkZXN0aW5hdGlvbiBhZGRyZXNzIGNoZWNrICovCiAJaWYg KHNpbjYpIHsKQEAgLTExNTYsNyArMTE1Nyw2IEBAIGludCB1ZHB2Nl9zZW5kbXNnKHN0cnVjdCBz b2NrICpzaywgc3RydWN0IG1zZ2hkciAqbXNnLCBzaXplX3QgbGVuKQogCQlmbDYuZmxvd2k2X29p ZiA9IG5wLT5zdGlja3lfcGt0aW5mby5pcGk2X2lmaW5kZXg7CiAKIAlmbDYuZmxvd2k2X21hcmsg PSBzay0+c2tfbWFyazsKLQlzb2NrYy50c2ZsYWdzID0gc2stPnNrX3RzZmxhZ3M7CiAKIAlpZiAo bXNnLT5tc2dfY29udHJvbGxlbikgewogCQlvcHQgPSAmb3B0X3NwYWNlOwotLSAKMi4xLjAKCgpG cm9tIDQyZGZmY2ExYTNlZmZjMDEwNTQ1NjUwNTE0ZWNmYTM5MTFhMzY1ZmIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IERvdWcgQmVyZ2VyIDxvcGVuZG1iQGdtYWlsLmNvbT4KRGF0ZTog VHVlLCAyMSBNYXIgMjAxNyAxNDowMTowNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMThdIG5l dDogYmNtZ2VuZXQ6IHJlbW92ZSBiY21nZW5ldF9pbnRlcm5hbF9waHlfc2V0dXAoKQoKWyBVcHN0 cmVhbSBjb21taXQgMzE3MzllYWU3MzhjY2JlOGI5ZDYyN2MzZjIyNTEwMTdjYTAzZjRkMiBdCgpD b21taXQgNmFjM2NlODI5NWU2ICgibmV0OiBiY21nZW5ldDogUmVtb3ZlIGV4Y2Vzc2l2ZSBQSFkg cmVzZXQiKQpyZW1vdmVkIHRoZSBiY21nZW5ldF9taWlfcmVzZXQoKSBmdW5jdGlvbiBmcm9tIGJj bWdlbmV0X3Bvd2VyX3VwKCkgYW5kCmJjbWdlbmV0X2ludGVybmFsX3BoeV9zZXR1cCgpIGZ1bmN0 aW9ucy4gIEluIHNvIGRvaW5nIGl0IGJyb2tlIHRoZSByZXNldApvZiB0aGUgaW50ZXJuYWwgUEhZ IGRldmljZXMgdXNlZCBieSB0aGUgR0VORVR2MS1HRU5FVHYzIHdoaWNoIHJlcXVpcmVkCnRoaXMg cmVzZXQgYmVmb3JlIHRoZSBVbmlNQUMgd2FzIGVuYWJsZWQuICBJdCBhbHNvIGJyb2tlIHRoZSBp bnRlcm5hbApHUEhZIGRldmljZXMgdXNlZCBieSB0aGUgR0VORVR2NCBiZWNhdXNlIHRoZSBjb25m aWdfaW5pdCB0aGF0IGluc3RhbGxlZAp0aGUgQUZFIHdvcmthcm91bmQgd2FzIG5vIGxvbmdlciBv Y2N1cnJpbmcgYWZ0ZXIgdGhlIHJlc2V0IG9mIHRoZSBHUEhZCnBlcmZvcm1lZCBieSBiY21nZW5l dF9waHlfcG93ZXJfc2V0KCkgaW4gYmNtZ2VuZXRfaW50ZXJuYWxfcGh5X3NldHVwKCkuCkluIGFk ZGl0aW9uIHRoZSBjb2RlIGluIGJjbWdlbmV0X2ludGVybmFsX3BoeV9zZXR1cCgpIHJlbGF0ZWQg dG8gdGhlCiJlbmFibGUgQVBEIiBjb21tZW50IGdvZXMgd2l0aCB0aGUgYmNtZ2VuZXRfbWlpX3Jl c2V0KCkgc28gaXQgc2hvdWxkCmhhdmUgYWxzbyBiZWVuIHJlbW92ZWQuCgpDb21taXQgYmQ0MDYw YTYxMDhiICgibmV0OiBiY21nZW5ldDogUG93ZXIgb24gaW50ZWdyYXRlZCBHUEhZIGluCmJjbWdl bmV0X3Bvd2VyX3VwKCkiKSBtb3ZlZCB0aGUgYmNtZ2VuZXRfcGh5X3Bvd2VyX3NldCgpIGNhbGwg dG8gdGhlCmJjbWdlbmV0X3Bvd2VyX3VwKCkgZnVuY3Rpb24sIGJ1dCBmYWlsZWQgdG8gcmVtb3Zl IGl0IGZyb20gdGhlCmJjbWdlbmV0X2ludGVybmFsX3BoeV9zZXR1cCgpIGZ1bmN0aW9uLiAgSGFk IGl0IGRvbmUgc28sIHRoZQpiY21nZW5ldF9pbnRlcm5hbF9waHlfc2V0dXAoKSBmdW5jdGlvbiB3 b3VsZCBoYXZlIGJlZW4gZW1wdHkgYW5kIGNvdWxkCmhhdmUgYmVlbiByZW1vdmVkIGF0IHRoYXQg dGltZS4KCkNvbW1pdCA1ZGJlYmJiNDRhNmEgKCJuZXQ6IGJjbWdlbmV0OiBTb2Z0d2FyZSByZXNl dCBFUEhZIGFmdGVyIHBvd2VyIG9uIikKd2FzIHN1Ym1pdHRlZCB0byBjb3JyZWN0IHRoZSBmdW5j dGlvbmFsIHByb2JsZW1zIGludHJvZHVjZWQgYnkKY29tbWl0IDZhYzNjZTgyOTVlNiAoIm5ldDog YmNtZ2VuZXQ6IFJlbW92ZSBleGNlc3NpdmUgUEhZIHJlc2V0IikuIEl0CndhcyBpbmNsdWRlZCBp biB2NC40IGFuZCBtYWRlIGF2YWlsYWJsZSBvbiA0LjMtc3RhYmxlLiBVbmZvcnR1bmF0ZWx5LApp dCBkaWRuJ3QgZnVsbHkgcmV2ZXJ0IHRoZSBjb21taXQgYmVjYXVzZSB0aGlzIGJjbWdlbmV0X21p aV9yZXNldCgpCmRvZXNuJ3QgYXBwbHkgdGhlIHNvZnQgcmVzZXQgdG8gdGhlIGludGVybmFsIEdQ SFkgdXNlZCBieSBHRU5FVHY0IGxpa2UKdGhlIHByZXZpb3VzIG9uZSBkaWQuIFRoaXMgcHJldmVu dHMgdGhlIHJlc3RvcmF0aW9uIG9mIHRoZSBBRkUgd29yay0KYXJvdW5kcyBmb3IgaW50ZXJuYWwg R1BIWSBkZXZpY2VzIGFmdGVyIHRoZSBiY21nZW5ldF9waHlfcG93ZXJfc2V0KCkgaW4KYmNtZ2Vu ZXRfaW50ZXJuYWxfcGh5X3NldHVwKCkuCgpUaGlzIGNvbW1pdCB0YWtlcyB0aGUgYWx0ZXJuYXRl IGFwcHJvYWNoIG9mIHJlbW92aW5nIHRoZSB1bm5lY2Vzc2FyeQpiY21nZW5ldF9pbnRlcm5hbF9w aHlfc2V0dXAoKSBmdW5jdGlvbiB3aGljaCBzaG91bGRuJ3QgaGF2ZSBiZWVuIGluIHY0LjMKc28g dGhhdCB3aGVuIGJjbWdlbmV0X21paV9yZXNldCgpIHdhcyByZXN0b3JlZCBpdCBzaG91bGQgaGF2 ZSBvbmx5IGdvbmUKaW50byBiY21nZW5ldF9wb3dlcl91cCgpLiAgVGhpcyB3aWxsIGF2b2lkIHRo ZSBwcm9ibGVtcyB3aGlsZSBhbHNvCnJlbW92aW5nIHRoZSByZWR1bmRhbmN5IChhbmQgaG9wZWZ1 bGx5IHNvbWUgb2YgdGhlIGNvbmZ1c2lvbikuCgpGaXhlczogNmFjM2NlODI5NWU2ICgibmV0OiBi Y21nZW5ldDogUmVtb3ZlIGV4Y2Vzc2l2ZSBQSFkgcmVzZXQiKQpTaWduZWQtb2ZmLWJ5OiBEb3Vn IEJlcmdlciA8b3BlbmRtYkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBGbG9yaWFuIEZhaW5lbGxp IDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2dl bmV0L2JjbW1paS5jIHwgMTUgLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2Vu ZXQvYmNtbWlpLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWku YwppbmRleCBlODc2MDc2Li4yZjkyODE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9icm9hZGNvbS9nZW5ldC9iY21taWkuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9h ZGNvbS9nZW5ldC9iY21taWkuYwpAQCAtMjIwLDIwICsyMjAsNiBAQCB2b2lkIGJjbWdlbmV0X3Bo eV9wb3dlcl9zZXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgYm9vbCBlbmFibGUpCiAJdWRlbGF5 KDYwKTsKIH0KIAotc3RhdGljIHZvaWQgYmNtZ2VuZXRfaW50ZXJuYWxfcGh5X3NldHVwKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IGJjbWdlbmV0X3ByaXYgKnByaXYgPSBuZXRk ZXZfcHJpdihkZXYpOwotCXUzMiByZWc7Ci0KLQkvKiBQb3dlciB1cCBQSFkgKi8KLQliY21nZW5l dF9waHlfcG93ZXJfc2V0KGRldiwgdHJ1ZSk7Ci0JLyogZW5hYmxlIEFQRCAqLwotCXJlZyA9IGJj bWdlbmV0X2V4dF9yZWFkbChwcml2LCBFWFRfRVhUX1BXUl9NR01UKTsKLQlyZWcgfD0gRVhUX1BX Ul9ETl9FTl9MRDsKLQliY21nZW5ldF9leHRfd3JpdGVsKHByaXYsIHJlZywgRVhUX0VYVF9QV1Jf TUdNVCk7Ci0JYmNtZ2VuZXRfbWlpX3Jlc2V0KGRldik7Ci19Ci0KIHN0YXRpYyB2b2lkIGJjbWdl bmV0X21vY2FfcGh5X3NldHVwKHN0cnVjdCBiY21nZW5ldF9wcml2ICpwcml2KQogewogCXUzMiBy ZWc7CkBAIC0yODEsNyArMjY3LDYgQEAgaW50IGJjbWdlbmV0X21paV9jb25maWcoc3RydWN0IG5l dF9kZXZpY2UgKmRldikKIAogCQlpZiAocHJpdi0+aW50ZXJuYWxfcGh5KSB7CiAJCQlwaHlfbmFt ZSA9ICJpbnRlcm5hbCBQSFkiOwotCQkJYmNtZ2VuZXRfaW50ZXJuYWxfcGh5X3NldHVwKGRldik7 CiAJCX0gZWxzZSBpZiAocHJpdi0+cGh5X2ludGVyZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVf TU9DQSkgewogCQkJcGh5X25hbWUgPSAiTW9DQSI7CiAJCQliY21nZW5ldF9tb2NhX3BoeV9zZXR1 cChwcml2KTsKLS0gCjIuMS4wCgoKRnJvbSA3MmU0ZjNlYjAwYWM4OGE5NjQzZWQyMGYwYzQwOGVl MzkyYzk2MzEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgMjEgTWFyIDIwMTcgMTk6MjI6MjggLTA3MDAK U3ViamVjdDogW1BBVENIIDE2LzE4XSBpcHY0OiBwcm92aWRlIHN0cm9uZ2VyIHVzZXIgaW5wdXQg dmFsaWRhdGlvbiBpbgogbmxfZmliX2lucHV0KCkKClsgVXBzdHJlYW0gY29tbWl0IGM2NGMwYjNj YWM0YzViOGNiMDkzNzI3ZDJjMTk3NDNlYTM5NjVjMGIgXQoKQWxleGFuZGVyIHJlcG9ydGVkIGEg S01TQU4gc3BsYXQgY2F1c2VkIGJ5IHJlYWRzIG9mIHVuaW5pdGlhbGl6ZWQKZmllbGQgKHRiX2lk X2luKSBmcm9tIHVzZXIgcHJvdmlkZWQgc3RydWN0IGZpYl9yZXN1bHRfbmwKCkl0IHR1cm5zIG91 dCBubF9maWJfaW5wdXQoKSBzYW5pdHkgdGVzdHMgb24gdXNlciBpbnB1dCBpcyBhIGJpdAp3cm9u ZyA6CgpVc2VyIGNhbiBwcmV0ZW5kIG5saC0+bmxtc2dfbGVuIGlzIGJpZyBlbm91Z2gsIGJ1dCBw cm92aWRlCmF0IHNlbmRtc2coKSB0aW1lIGEgdG9vIHNtYWxsIGJ1ZmZlci4KClJlcG9ydGVkLWJ5 OiBBbGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog RXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvZmliX2Zyb250ZW5k LmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2ZpYl9mcm9udGVuZC5jIGIvbmV0L2lwdjQvZmliX2Zy b250ZW5kLmMKaW5kZXggNWIwM2Q3Zi4uNjc4OWU0OCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvZmli X2Zyb250ZW5kLmMKKysrIGIvbmV0L2lwdjQvZmliX2Zyb250ZW5kLmMKQEAgLTEwODEsNyArMTA4 MSw4IEBAIHN0YXRpYyB2b2lkIG5sX2ZpYl9pbnB1dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCiAJ bmV0ID0gc29ja19uZXQoc2tiLT5zayk7CiAJbmxoID0gbmxtc2dfaGRyKHNrYik7Ci0JaWYgKHNr Yi0+bGVuIDwgTkxNU0dfSERSTEVOIHx8IHNrYi0+bGVuIDwgbmxoLT5ubG1zZ19sZW4gfHwKKwlp ZiAoc2tiLT5sZW4gPCBubG1zZ190b3RhbF9zaXplKHNpemVvZigqZnJuKSkgfHwKKwkgICAgc2ti LT5sZW4gPCBubGgtPm5sbXNnX2xlbiB8fAogCSAgICBubG1zZ19sZW4obmxoKSA8IHNpemVvZigq ZnJuKSkKIAkJcmV0dXJuOwogCi0tIAoyLjEuMAoKCkZyb20gYjRlOTAwZTg1MTBiODIzMmVkYzkx N2FjM2ZjNzI3OTEwMGQ4MTlkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGFuaWVs IEJvcmttYW5uIDxkYW5pZWxAaW9nZWFyYm94Lm5ldD4KRGF0ZTogV2VkLCAyMiBNYXIgMjAxNyAx MzowODowOCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMThdIHNvY2tldCwgYnBmOiBmaXggc2tf ZmlsdGVyIHVzZSBhZnRlciBmcmVlIGluCiBza19jbG9uZV9sb2NrCgpbIFVwc3RyZWFtIGNvbW1p dCBhOTdlNTBjYzRjYjY3ZTFlN2JmZjU2ZjZiNDFjZGE2MmNhODMyMzM2IF0KCkluIHNrX2Nsb25l X2xvY2soKSwgd2UgY3JlYXRlIGEgbmV3IHNvY2tldCBhbmQgaW5oZXJpdCBtb3N0IG9mIHRoZQpw YXJlbnQncyBtZW1iZXJzIHZpYSBzb2NrX2NvcHkoKSB3aGljaCBtZW1jcHkoKSdzIHZhcmlvdXMg c2VjdGlvbnMuCk5vdywgaW4gY2FzZSB0aGUgcGFyZW50IHNvY2tldCBoYWQgYSBCUEYgc29ja2V0 IGZpbHRlciBhdHRhY2hlZCwKdGhlbiBuZXdzay0+c2tfZmlsdGVyIHBvaW50cyB0byB0aGUgc2Ft ZSBpbnN0YW5jZSBhcyB0aGUgb3JpZ2luYWwKc2stPnNrX2ZpbHRlci4KCnNrX2ZpbHRlcl9jaGFy Z2UoKSBpcyB0aGVuIGNhbGxlZCBvbiB0aGUgbmV3c2stPnNrX2ZpbHRlciB0byB0YWtlIGEKcmVm ZXJlbmNlIGFuZCBzaG91bGQgdGhhdCBmYWlsIGR1ZSB0byBoaXR0aW5nIG1heCBvcHRtZW0sIHdl IGJhaWwKb3V0IGFuZCByZWxlYXNlIHRoZSBuZXdzayBpbnN0YW5jZS4KClRoZSBpc3N1ZSBpcyB0 aGF0IGNvbW1pdCAyNzg1NzFiYWNhMmEgKCJuZXQ6IGZpbHRlcjogc2ltcGxpZnkgc29ja2V0CmNo YXJnaW5nIikgd3JvbmdseSBjb21iaW5lZCB0aGUgZGlzbWFudGxlIHBhdGggd2l0aCB0aGUgZmFp bHVyZSBwYXRoCm9mIHhmcm1fc2tfY2xvbmVfcG9saWN5KCkuIFRoaXMgbWVhbnMsIGV2ZW4gd2hl biBjaGFyZ2luZyBmYWlsZWQsIHdlCmNhbGwgc2tfZnJlZV91bmxvY2tfY2xvbmUoKSBvbiB0aGUg bmV3c2ssIHdoaWNoIHRoZW4gc3RpbGwgcG9pbnRzIHRvCnRoZSBzYW1lIHNrX2ZpbHRlciBhcyB0 aGUgb3JpZ2luYWwgc2suCgpUaHVzLCBza19mcmVlX3VubG9ja19jbG9uZSgpIGNhbGxzIGludG8g X19za19kZXN0cnVjdCgpIGV2ZW50dWFsbHkKd2hlcmUgaXQgdGVzdHMgZm9yIHByZXNlbnQgc2tf ZmlsdGVyIGFuZCBjYWxscyBza19maWx0ZXJfdW5jaGFyZ2UoKQpvbiBpdCwgd2hpY2ggcG90ZW50 aWFsbHkgbGV0cyBza19vbWVtX2FsbG9jIHdyYXAgYXJvdW5kIGFuZCByZWxlYXNlcwp0aGUgZUJQ RiBwcm9nIGFuZCBza19maWx0ZXIgc3RydWN0dXJlIGZyb20gdGhlIChzdGlsbCBpbnRhY3QpIHBh cmVudC4KCkZpeCBpdCBieSBtYWtpbmcgc3VyZSB0aGF0IHdoZW4gc2tfZmlsdGVyX2NoYXJnZSgp IGZhaWxlZCwgd2UgcmVzZXQKbmV3c2stPnNrX2ZpbHRlciBiYWNrIHRvIE5VTEwgYmVmb3JlIHBh c3NpbmcgdG8gc2tfZnJlZV91bmxvY2tfY2xvbmUoKSwKc28gdGhhdCB3ZSBkb24ndCBtZXNzIHdp dGggdGhlIHBhcmVudHMgc2tfZmlsdGVyLgoKT25seSBpZiB4ZnJtX3NrX2Nsb25lX3BvbGljeSgp IGZhaWxzLCB3ZSBkaWQgcmVhY2ggdGhlIHBvaW50IHdoZXJlCmVpdGhlciB0aGUgcGFyZW50J3Mg ZmlsdGVyIHdhcyBOVUxMIGFuZCBhcyBhIHJlc3VsdCBuZXdzaydzIGFzIHdlbGwKb3Igd2hlcmUg d2UgcHJldmlvdXNseSBoYWQgYSBzdWNjZXNzZnVsIHNrX2ZpbHRlcl9jaGFyZ2UoKSwgdGh1cyBm b3IKdGhhdCBjYXNlLCB3ZSBkbyBuZWVkIHNrX2ZpbHRlcl91bmNoYXJnZSgpIHRvIHJlbGVhc2Ug dGhlIHByaW9yIHRha2VuCnJlZmVyZW5jZSBvbiBza19maWx0ZXIuCgpGaXhlczogMjc4NTcxYmFj YTJhICgibmV0OiBmaWx0ZXI6IHNpbXBsaWZ5IHNvY2tldCBjaGFyZ2luZyIpClNpZ25lZC1vZmYt Ynk6IERhbmllbCBCb3JrbWFubiA8ZGFuaWVsQGlvZ2VhcmJveC5uZXQ+CkFja2VkLWJ5OiBBbGV4 ZWkgU3Rhcm92b2l0b3YgPGFzdEBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvc29jay5jIHwgNiArKysr KysKIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvY29y ZS9zb2NrLmMgYi9uZXQvY29yZS9zb2NrLmMKaW5kZXggNDc4MDllOS4uNDcwYTIwNCAxMDA2NDQK LS0tIGEvbmV0L2NvcmUvc29jay5jCisrKyBiL25ldC9jb3JlL3NvY2suYwpAQCAtMTUzOCw2ICsx NTM4LDEyIEBAIHN0cnVjdCBzb2NrICpza19jbG9uZV9sb2NrKGNvbnN0IHN0cnVjdCBzb2NrICpz aywgY29uc3QgZ2ZwX3QgcHJpb3JpdHkpCiAJCQlpc19jaGFyZ2VkID0gc2tfZmlsdGVyX2NoYXJn ZShuZXdzaywgZmlsdGVyKTsKIAogCQlpZiAodW5saWtlbHkoIWlzX2NoYXJnZWQgfHwgeGZybV9z a19jbG9uZV9wb2xpY3kobmV3c2ssIHNrKSkpIHsKKwkJCS8qIFdlIG5lZWQgdG8gbWFrZSBzdXJl IHRoYXQgd2UgZG9uJ3QgdW5jaGFyZ2UgdGhlIG5ldworCQkJICogc29ja2V0IGlmIHdlIGNvdWxk bid0IGNoYXJnZSBpdCBpbiB0aGUgZmlyc3QgcGxhY2UKKwkJCSAqIGFzIG90aGVyd2lzZSB3ZSB1 bmNoYXJnZSB0aGUgcGFyZW50J3MgZmlsdGVyLgorCQkJICovCisJCQlpZiAoIWlzX2NoYXJnZWQp CisJCQkJUkNVX0lOSVRfUE9JTlRFUihuZXdzay0+c2tfZmlsdGVyLCBOVUxMKTsKIAkJCS8qIEl0 IGlzIHN0aWxsIHJhdyBjb3B5IG9mIHBhcmVudCwgc28gaW52YWxpZGF0ZQogCQkJICogZGVzdHJ1 Y3RvciBhbmQgbWFrZSBwbGFpbiBza19mcmVlKCkgKi8KIAkJCW5ld3NrLT5za19kZXN0cnVjdCA9 IE5VTEw7Ci0tIAoyLjEuMAoKCkZyb20gYzRlYmJiMDU5MDQ4YzQ1YWM1OTlhZDcyYzhiNWE0YWZi ZDY5ZTk0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVt YXpldEBnb29nbGUuY29tPgpEYXRlOiBXZWQsIDIyIE1hciAyMDE3IDA4OjEwOjIxIC0wNzAwClN1 YmplY3Q6IFtQQVRDSCAxOC8xOF0gdGNwOiBpbml0aWFsaXplIGljc2tfYWNrLmxyY3Z0aW1lIGF0 IHNlc3Npb24gc3RhcnQgdGltZQoKWyBVcHN0cmVhbSBjb21taXQgMTViYjc3NDVlOTRhNjY1Y2Fm NDJiZmFhYmYwY2UwNjI4NDViNTMzYiBdCgppY3NrX2Fjay5scmN2dGltZSBoYXMgYSAwIHZhbHVl IGF0IHNvY2tldCBjcmVhdGlvbiB0aW1lLgoKdGNwaV9sYXN0X2RhdGFfcmVjdiBjYW4gaGF2ZSBi b2d1cyB2YWx1ZSBpZiBubyBwYXlsb2FkIGlzIGV2ZXIgcmVjZWl2ZWQuCgpUaGlzIHBhdGNoIGlu aXRpYWxpemVzIGljc2tfYWNrLmxyY3Z0aW1lIGZvciBhY3RpdmUgc2Vzc2lvbnMKaW4gdGNwX2Zp bmlzaF9jb25uZWN0KCksIGFuZCBmb3IgcGFzc2l2ZSBzZXNzaW9ucyBpbgp0Y3BfY3JlYXRlX29w ZW5yZXFfY2hpbGQoKQoKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpBY2tlZC1ieTogTmVhbCBDYXJkd2VsbCA8bmNhcmR3ZWxsQGdvb2dsZS5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvaXB2NC90Y3BfaW5wdXQuYyAgICAgfCAyICstCiBuZXQvaXB2NC90Y3BfbWluaXNvY2tzLmMg fCAxICsKIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2lucHV0LmMgYi9uZXQvaXB2NC90Y3BfaW5wdXQuYwpp bmRleCBjZTQyZGVkLi43NzI3ZmZlIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfaW5wdXQuYwor KysgYi9uZXQvaXB2NC90Y3BfaW5wdXQuYwpAQCAtNTU3MSw2ICs1NTcxLDcgQEAgdm9pZCB0Y3Bf ZmluaXNoX2Nvbm5lY3Qoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXN0 cnVjdCBpbmV0X2Nvbm5lY3Rpb25fc29jayAqaWNzayA9IGluZXRfY3NrKHNrKTsKIAogCXRjcF9z ZXRfc3RhdGUoc2ssIFRDUF9FU1RBQkxJU0hFRCk7CisJaWNzay0+aWNza19hY2subHJjdnRpbWUg PSB0Y3BfdGltZV9zdGFtcDsKIAogCWlmIChza2IpIHsKIAkJaWNzay0+aWNza19hZl9vcHMtPnNr X3J4X2RzdF9zZXQoc2ssIHNrYik7CkBAIC01Nzg5LDcgKzU3OTAsNiBAQCBzdGF0aWMgaW50IHRj cF9yY3Zfc3luc2VudF9zdGF0ZV9wcm9jZXNzKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1 ZmYgKnNrYiwKIAkJCSAqIHRvIHN0YW5kIGFnYWluc3QgdGhlIHRlbXB0YXRpb24gOCkgICAgIC0t QU5LCiAJCQkgKi8KIAkJCWluZXRfY3NrX3NjaGVkdWxlX2Fjayhzayk7Ci0JCQlpY3NrLT5pY3Nr X2Fjay5scmN2dGltZSA9IHRjcF90aW1lX3N0YW1wOwogCQkJdGNwX2VudGVyX3F1aWNrYWNrX21v ZGUoc2spOwogCQkJaW5ldF9jc2tfcmVzZXRfeG1pdF90aW1lcihzaywgSUNTS19USU1FX0RBQ0ss CiAJCQkJCQkgIFRDUF9ERUxBQ0tfTUFYLCBUQ1BfUlRPX01BWCk7CmRpZmYgLS1naXQgYS9uZXQv aXB2NC90Y3BfbWluaXNvY2tzLmMgYi9uZXQvaXB2NC90Y3BfbWluaXNvY2tzLmMKaW5kZXggNjIz NGViYS4uODYxNWE2YiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX21pbmlzb2Nrcy5jCisrKyBi L25ldC9pcHY0L3RjcF9taW5pc29ja3MuYwpAQCAtNDY2LDYgKzQ2Niw3IEBAIHN0cnVjdCBzb2Nr ICp0Y3BfY3JlYXRlX29wZW5yZXFfY2hpbGQoY29uc3Qgc3RydWN0IHNvY2sgKnNrLAogCQluZXd0 cC0+bWRldl91cyA9IGppZmZpZXNfdG9fdXNlY3MoVENQX1RJTUVPVVRfSU5JVCk7CiAJCW1pbm1h eF9yZXNldCgmbmV3dHAtPnJ0dF9taW4sIHRjcF90aW1lX3N0YW1wLCB+MFUpOwogCQluZXdpY3Nr LT5pY3NrX3J0byA9IFRDUF9USU1FT1VUX0lOSVQ7CisJCW5ld2ljc2stPmljc2tfYWNrLmxyY3Z0 aW1lID0gdGNwX3RpbWVfc3RhbXA7CiAKIAkJbmV3dHAtPnBhY2tldHNfb3V0ID0gMDsKIAkJbmV3 dHAtPnJldHJhbnNfb3V0ID0gMDsKLS0gCjIuMS4wCgo= ----Next_Part(Sat_Mar_25_10_38_59_2017_332)----