From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:48896 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752785AbeBFUTw (ORCPT ); Tue, 6 Feb 2018 15:19:52 -0500 Received: from localhost (67.110.78.66.ptr.us.xo.net [67.110.78.66]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 6C2BA123FDC5F for ; Tue, 6 Feb 2018 12:19:50 -0800 (PST) Date: Tue, 06 Feb 2018 15:19:49 -0500 (EST) Message-Id: <20180206.151949.2100769804645488842.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_Feb__6_15_19_49_2018_731)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Tue_Feb__6_15_19_49_2018_731)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for 4.9.x, 4.14.x, and 4.15.x -stable, respectively. Thanks! ----Next_Part(Tue_Feb__6_15_19_49_2018_731)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_49.mbox" RnJvbSAzN2RjZTcxMWU1OTM2NDViYWNmZjNkOTM3Njg2MmViZjRlZWFhMDdlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF5IEFsZWtzYW5kcm92IDxuaWtvbGF5QGN1bXVsdXNu ZXR3b3Jrcy5jb20+CkRhdGU6IFdlZCwgMzEgSmFuIDIwMTggMTY6Mjk6MzAgKzAyMDAKU3ViamVj dDogW1BBVENIIDAxLzExXSBpcDZtcjogZml4IHN0YWxlIGl0ZXJhdG9yCgpbIFVwc3RyZWFtIGNv bW1pdCA0YWRmYTc5ZmMyNTRlZmI3YjBlYjNjZDU4ZjYyYzJjM2Y4MDVmMWJhIF0KCldoZW4gd2Ug ZHVtcCB0aGUgaXA2bXIgbWZjIGVudHJpZXMgdmlhIHByb2MsIHdlIGluaXRpYWxpemUgYW4gaXRl cmF0b3IKd2l0aCB0aGUgdGFibGUgdG8gZHVtcCBidXQgd2UgZG9uJ3QgY2xlYXIgdGhlIGNhY2hl IHBvaW50ZXIgd2hpY2ggbWlnaHQKYmUgaW5pdGlhbGl6ZWQgZnJvbSBhIHByaW9yIHJlYWQgb24g dGhlIHNhbWUgZGVzY3JpcHRvciB0aGF0IGVuZGVkLiBUaGlzCmNhbiByZXN1bHQgaW4gbG9jayBp bWJhbGFuY2UgKGFuIHVubmVjZXNzYXJ5IHVubG9jaykgbGVhZGluZyB0byBvdGhlcgpjcmFzaGVz IGFuZCBoYW5ncy4gQ2xlYXIgdGhlIGNhY2hlIHBvaW50ZXIgbGlrZSBpcG1yIGRvZXMgdG8gZml4 IHRoZSBpc3N1ZS4KVGhhbmtzIGZvciB0aGUgcmVsaWFibGUgcmVwcm9kdWNlci4KCkhlcmUncyBz eXpib3QncyB0cmFjZToKIFdBUk5JTkc6IGJhZCB1bmxvY2sgYmFsYW5jZSBkZXRlY3RlZCEKIDQu MTUuMC1yYzMrICMxMjggTm90IHRhaW50ZWQKIHN5emthbGxlcjk3MTQ2MC8zMTk1IGlzIHRyeWlu ZyB0byByZWxlYXNlIGxvY2sgKG1ydF9sb2NrKSBhdDoKIFs8MDAwMDAwMDA2ODk4MDY4ZD5dIGlw bXJfbWZjX3NlcV9zdG9wKzB4ZTEvMHgxMzAgbmV0L2lwdjYvaXA2bXIuYzo1NTMKIGJ1dCB0aGVy ZSBhcmUgbm8gbW9yZSBsb2NrcyB0byByZWxlYXNlIQoKIG90aGVyIGluZm8gdGhhdCBtaWdodCBo ZWxwIHVzIGRlYnVnIHRoaXM6CiAxIGxvY2sgaGVsZCBieSBzeXprYWxsZXI5NzE0NjAvMzE5NToK ICAjMDogICgmcC0+bG9jayl7Ky4rLn0sIGF0OiBbPDAwMDAwMDAwNzQ0YTY1NjU+XSBzZXFfcmVh ZCsweGQ1LzB4MTNkMAogZnMvc2VxX2ZpbGUuYzoxNjUKCiBzdGFjayBiYWNrdHJhY2U6CiBDUFU6 IDEgUElEOiAzMTk1IENvbW06IHN5emthbGxlcjk3MTQ2MCBOb3QgdGFpbnRlZCA0LjE1LjAtcmMz KyAjMTI4CiBIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2ds ZSBDb21wdXRlIEVuZ2luZSwgQklPUwogR29vZ2xlIDAxLzAxLzIwMTEKIENhbGwgVHJhY2U6CiAg X19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6MTcgW2lubGluZV0KICBkdW1wX3N0YWNrKzB4 MTk0LzB4MjU3IGxpYi9kdW1wX3N0YWNrLmM6NTMKICBwcmludF91bmxvY2tfaW1iYWxhbmNlX2J1 ZysweDEyZi8weDE0MCBrZXJuZWwvbG9ja2luZy9sb2NrZGVwLmM6MzU2MQogIF9fbG9ja19yZWxl YXNlIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzozNzc1IFtpbmxpbmVdCiAgbG9ja19yZWxlYXNl KzB4NWY5LzB4ZGEwIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzo0MDIzCiAgX19yYXdfcmVhZF91 bmxvY2sgaW5jbHVkZS9saW51eC9yd2xvY2tfYXBpX3NtcC5oOjIyNSBbaW5saW5lXQogIF9yYXdf cmVhZF91bmxvY2srMHgxYS8weDMwIGtlcm5lbC9sb2NraW5nL3NwaW5sb2NrLmM6MjU1CiAgaXBt cl9tZmNfc2VxX3N0b3ArMHhlMS8weDEzMCBuZXQvaXB2Ni9pcDZtci5jOjU1MwogIHRyYXZlcnNl KzB4M2JjLzB4YTAwIGZzL3NlcV9maWxlLmM6MTM1CiAgc2VxX3JlYWQrMHg5NmEvMHgxM2QwIGZz L3NlcV9maWxlLmM6MTg5CiAgcHJvY19yZWdfcmVhZCsweGVmLzB4MTcwIGZzL3Byb2MvaW5vZGUu YzoyMTcKICBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6NjczIFtpbmxpbmVd CiAgZG9faXRlcl9yZWFkKzB4M2RiLzB4NWIwIGZzL3JlYWRfd3JpdGUuYzo4OTcKICBjb21wYXRf cmVhZHYrMHgxYmYvMHgyNzAgZnMvcmVhZF93cml0ZS5jOjExNDAKICBkb19jb21wYXRfcHJlYWR2 NjQrMHhkYy8weDEwMCBmcy9yZWFkX3dyaXRlLmM6MTE4OQogIENfU1lTQ19wcmVhZHYgZnMvcmVh ZF93cml0ZS5jOjEyMDkgW2lubGluZV0KICBjb21wYXRfU3lTX3ByZWFkdisweDNiLzB4NTAgZnMv cmVhZF93cml0ZS5jOjEyMDMKICBkb19zeXNjYWxsXzMyX2lycXNfb24gYXJjaC94ODYvZW50cnkv Y29tbW9uLmM6MzI3IFtpbmxpbmVdCiAgZG9fZmFzdF9zeXNjYWxsXzMyKzB4M2VlLzB4ZjlkIGFy Y2gveDg2L2VudHJ5L2NvbW1vbi5jOjM4OQogIGVudHJ5X1NZU0VOVEVSX2NvbXBhdCsweDUxLzB4 NjAgYXJjaC94ODYvZW50cnkvZW50cnlfNjRfY29tcGF0LlM6MTI1CiBSSVA6IDAwMjM6MHhmN2Y3 M2M3OQogUlNQOiAwMDJiOjAwMDAwMDAwZTU3NGExNWMgRUZMQUdTOiAwMDAwMDI5MiBPUklHX1JB WDogMDAwMDAwMDAwMDAwMDE0ZAogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAw MDAwMDAwZiBSQ1g6IDAwMDAwMDAwMjBhM2FmYjAKIFJEWDogMDAwMDAwMDAwMDAwMDAwMSBSU0k6 IDAwMDAwMDAwMDAwMDAwNjcgUkRJOiAwMDAwMDAwMDAwMDAwMDAwCiBSQlA6IDAwMDAwMDAwMDAw MDAwMDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMAogUjEwOiAw MDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IDAwMDAwMDAwMDAwMDAw MDAKIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAw MDAwMDAwMDAwMDAwCiBCVUc6IHNsZWVwaW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQg Y29udGV4dCBhdCBsaWIvdXNlcmNvcHkuYzoyNQogaW5fYXRvbWljKCk6IDEsIGlycXNfZGlzYWJs ZWQoKTogMCwgcGlkOiAzMTk1LCBuYW1lOiBzeXprYWxsZXI5NzE0NjAKIElORk86IGxvY2tkZXAg aXMgdHVybmVkIG9mZi4KIENQVTogMSBQSUQ6IDMxOTUgQ29tbTogc3l6a2FsbGVyOTcxNDYwIE5v dCB0YWludGVkIDQuMTUuMC1yYzMrICMxMjgKIEhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUg Q29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TCiBHb29nbGUgMDEvMDEv MjAxMQogQ2FsbCBUcmFjZToKICBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzoxNyBbaW5s aW5lXQogIGR1bXBfc3RhY2srMHgxOTQvMHgyNTcgbGliL2R1bXBfc3RhY2suYzo1MwogIF9fX21p Z2h0X3NsZWVwKzB4MmIyLzB4NDcwIGtlcm5lbC9zY2hlZC9jb3JlLmM6NjA2MAogIF9fbWlnaHRf c2xlZXArMHg5NS8weDE5MCBrZXJuZWwvc2NoZWQvY29yZS5jOjYwMTMKICBfX21pZ2h0X2ZhdWx0 KzB4YWIvMHgxZDAgbW0vbWVtb3J5LmM6NDUyNQogIF9jb3B5X3RvX3VzZXIrMHgyYy8weGMwIGxp Yi91c2VyY29weS5jOjI1CiAgY29weV90b191c2VyIGluY2x1ZGUvbGludXgvdWFjY2Vzcy5oOjE1 NSBbaW5saW5lXQogIHNlcV9yZWFkKzB4Y2I0LzB4MTNkMCBmcy9zZXFfZmlsZS5jOjI3OQogIHBy b2NfcmVnX3JlYWQrMHhlZi8weDE3MCBmcy9wcm9jL2lub2RlLmM6MjE3CiAgZG9fbG9vcF9yZWFk dl93cml0ZXYgZnMvcmVhZF93cml0ZS5jOjY3MyBbaW5saW5lXQogIGRvX2l0ZXJfcmVhZCsweDNk Yi8weDViMCBmcy9yZWFkX3dyaXRlLmM6ODk3CiAgY29tcGF0X3JlYWR2KzB4MWJmLzB4MjcwIGZz L3JlYWRfd3JpdGUuYzoxMTQwCiAgZG9fY29tcGF0X3ByZWFkdjY0KzB4ZGMvMHgxMDAgZnMvcmVh ZF93cml0ZS5jOjExODkKICBDX1NZU0NfcHJlYWR2IGZzL3JlYWRfd3JpdGUuYzoxMjA5IFtpbmxp bmVdCiAgY29tcGF0X1N5U19wcmVhZHYrMHgzYi8weDUwIGZzL3JlYWRfd3JpdGUuYzoxMjAzCiAg ZG9fc3lzY2FsbF8zMl9pcnFzX29uIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjMyNyBbaW5saW5l XQogIGRvX2Zhc3Rfc3lzY2FsbF8zMisweDNlZS8weGY5ZCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzozODkKICBlbnRyeV9TWVNFTlRFUl9jb21wYXQrMHg1MS8weDYwIGFyY2gveDg2L2VudHJ5L2Vu dHJ5XzY0X2NvbXBhdC5TOjEyNQogUklQOiAwMDIzOjB4ZjdmNzNjNzkKIFJTUDogMDAyYjowMDAw MDAwMGU1NzRhMTVjIEVGTEFHUzogMDAwMDAyOTIgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAxNGQK IFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMGYgUkNYOiAwMDAwMDAw MDIwYTNhZmIwCiBSRFg6IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiAwMDAwMDAwMDAwMDAwMDY3IFJE STogMDAwMDAwMDAwMDAwMDAwMAogUkJQOiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAwMDAwMDAw MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6 IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiAwMDAwMDAwMDAwMDAwMDAwCiBSMTM6IDAwMDAwMDAwMDAw MDAwMDAgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAogV0FSTklO RzogQ1BVOiAxIFBJRDogMzE5NSBhdCBsaWIvdXNlcmNvcHkuYzoyNiBfY29weV90b191c2VyKzB4 YjUvMHhjMAogbGliL3VzZXJjb3B5LmM6MjYKClJlcG9ydGVkLWJ5OiBzeXpib3QgPGJvdCtlY2Vi MzIwNDU2MmM0MWE0MzhmYTFmMjMzNWUwZmU0ZjY4ODZkNjY5QHN5emthbGxlci5hcHBzcG90bWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IE5pa29sYXkgQWxla3NhbmRyb3YgPG5pa29sYXlAY3VtdWx1 c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNm1yLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNm1yLmMgYi9uZXQvaXB2Ni9p cDZtci5jCmluZGV4IDExNzQwNWRkMDdhMy4uYTMwZTdlOTI1YzliIDEwMDY0NAotLS0gYS9uZXQv aXB2Ni9pcDZtci5jCisrKyBiL25ldC9pcHY2L2lwNm1yLmMKQEAgLTQ5NSw2ICs0OTUsNyBAQCBz dGF0aWMgdm9pZCAqaXBtcl9tZmNfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBsb2Zm X3QgKnBvcykKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CiAKIAlpdC0+bXJ0ID0gbXJ0Owor CWl0LT5jYWNoZSA9IE5VTEw7CiAJcmV0dXJuICpwb3MgPyBpcG1yX21mY19zZXFfaWR4KG5ldCwg c2VxLT5wcml2YXRlLCAqcG9zIC0gMSkKIAkJOiBTRVFfU1RBUlRfVE9LRU47CiB9Ci0tIAoyLjE0 LjMKCgpGcm9tIGU3YmMwZjAxMDE5OTk4M2U4MmE5MzJmZTQ1NjYyZTRhY2U4MmFiNTQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KRGF0ZTogVGh1LCAxIEZlYiAyMDE4IDEwOjI2OjU3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAw Mi8xMV0gbmV0OiBpZ21wOiBhZGQgYSBtaXNzaW5nIHJjdSBsb2NraW5nIHNlY3Rpb24KClsgVXBz dHJlYW0gY29tbWl0IGU3YWFkYjI3YTU0MTVlODEyNTgzNGI4NGE3NDQ3N2JmYmVlNGVmZjUgXQoK TmV3bHkgYWRkZWQgaWdtcHYzX2dldF9zcmNhZGRyKCkgbmVlZHMgdG8gYmUgY2FsbGVkIHVuZGVy IHJjdSBsb2NrLgoKVGltZXIgY2FsbGJhY2tzIGRvIG5vdCBlbnN1cmUgdGhpcyBsb2NraW5nLgoK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV0FSTklORzogc3VzcGljaW91cyBSQ1UgdXNh Z2UKNC4xNS4wKyAjMjAwIE5vdCB0YWludGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci4vaW5jbHVkZS9saW51eC9pbmV0ZGV2aWNlLmg6MjE2IHN1c3BpY2lvdXMgcmN1X2RlcmVmZXJl bmNlX2NoZWNrKCkgdXNhZ2UhCgpvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0 aGlzOgoKcmN1X3NjaGVkdWxlcl9hY3RpdmUgPSAyLCBkZWJ1Z19sb2NrcyA9IDEKMyBsb2NrcyBo ZWxkIGJ5IHN5emthbGxlcjYxNjk3My80MDc0OgogIzA6ICAoJm1tLT5tbWFwX3NlbSl7KysrK30s IGF0OiBbPDAwMDAwMDAwYmZjZTY2OWU+XSBfX2RvX3BhZ2VfZmF1bHQrMHgzMmQvMHhjOTAgYXJj aC94ODYvbW0vZmF1bHQuYzoxMzU1CiAjMTogICgoJmltLT50aW1lcikpeysuLS59LCBhdDogWzww MDAwMDAwMDYxOWQyZjcxPl0gbG9ja2RlcF9jb3B5X21hcCBpbmNsdWRlL2xpbnV4L2xvY2tkZXAu aDoxNzggW2lubGluZV0KICMxOiAgKCgmaW0tPnRpbWVyKSl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAw NjE5ZDJmNzE+XSBjYWxsX3RpbWVyX2ZuKzB4MWM2LzB4ODIwIGtlcm5lbC90aW1lL3RpbWVyLmM6 MTMxNgogIzI6ICAoJigmaW0tPmxvY2spLT5ybG9jayl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAwNWY4 MzNjNWM+XSBzcGluX2xvY2tfYmggaW5jbHVkZS9saW51eC9zcGlubG9jay5oOjMxNSBbaW5saW5l XQogIzI6ICAoJigmaW0tPmxvY2spLT5ybG9jayl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAwNWY4MzNj NWM+XSBpZ21wdjNfc2VuZF9yZXBvcnQrMHg5OC8weDViMCBuZXQvaXB2NC9pZ21wLmM6NjAwCgpz dGFjayBiYWNrdHJhY2U6CkNQVTogMCBQSUQ6IDQwNzQgQ29tbTogc3l6a2FsbGVyNjE2OTczIE5v dCB0YWludGVkIDQuMTUuMCsgIzIwMApIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1 dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpD YWxsIFRyYWNlOgogPElSUT4KIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjE3IFtpbmxp bmVdCiBkdW1wX3N0YWNrKzB4MTk0LzB4MjU3IGxpYi9kdW1wX3N0YWNrLmM6NTMKIGxvY2tkZXBf cmN1X3N1c3BpY2lvdXMrMHgxMjMvMHgxNzAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQ1OTIK IF9faW5fZGV2X2dldF9yY3UgaW5jbHVkZS9saW51eC9pbmV0ZGV2aWNlLmg6MjE2IFtpbmxpbmVd CiBpZ21wdjNfZ2V0X3NyY2FkZHIgbmV0L2lwdjQvaWdtcC5jOjMyOSBbaW5saW5lXQogaWdtcHYz X25ld3BhY2srMHhlZWYvMHgxMmUwIG5ldC9pcHY0L2lnbXAuYzozODkKIGFkZF9ncmhlYWQuaXNy YS4yNysweDIzNS8weDMwMCBuZXQvaXB2NC9pZ21wLmM6NDMyCiBhZGRfZ3JlYysweGJkMy8weDEx NzAgbmV0L2lwdjQvaWdtcC5jOjU2NQogaWdtcHYzX3NlbmRfcmVwb3J0KzB4ZDUvMHg1YjAgbmV0 L2lwdjQvaWdtcC5jOjYwNQogaWdtcF9zZW5kX3JlcG9ydCsweGM0My8weDEwNTAgbmV0L2lwdjQv aWdtcC5jOjcyMgogaWdtcF90aW1lcl9leHBpcmUrMHgzMjIvMHg1YzAgbmV0L2lwdjQvaWdtcC5j OjgzMQogY2FsbF90aW1lcl9mbisweDIyOC8weDgyMCBrZXJuZWwvdGltZS90aW1lci5jOjEzMjYK IGV4cGlyZV90aW1lcnMga2VybmVsL3RpbWUvdGltZXIuYzoxMzYzIFtpbmxpbmVdCiBfX3J1bl90 aW1lcnMrMHg3ZWUvMHhiNzAga2VybmVsL3RpbWUvdGltZXIuYzoxNjY2CiBydW5fdGltZXJfc29m dGlycSsweDRjLzB4NzAga2VybmVsL3RpbWUvdGltZXIuYzoxNjkyCiBfX2RvX3NvZnRpcnErMHgy ZDcvMHhiODUga2VybmVsL3NvZnRpcnEuYzoyODUKIGludm9rZV9zb2Z0aXJxIGtlcm5lbC9zb2Z0 aXJxLmM6MzY1IFtpbmxpbmVdCiBpcnFfZXhpdCsweDFjYy8weDIwMCBrZXJuZWwvc29mdGlycS5j OjQwNQogZXhpdGluZ19pcnEgYXJjaC94ODYvaW5jbHVkZS9hc20vYXBpYy5oOjU0MSBbaW5saW5l XQogc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KzB4MTZiLzB4NzAwIGFyY2gveDg2L2tlcm5lbC9h cGljL2FwaWMuYzoxMDUyCiBhcGljX3RpbWVyX2ludGVycnVwdCsweGE5LzB4YjAgYXJjaC94ODYv ZW50cnkvZW50cnlfNjQuUzo5MzgKCkZpeGVzOiBhNDYxODJiMDAyOTAgKCJuZXQ6IGlnbXA6IFVz ZSBjb3JyZWN0IHNvdXJjZSBhZGRyZXNzIG9uIElHTVB2MyByZXBvcnRzIikKU2lnbmVkLW9mZi1i eTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90 IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9pZ21wLmMgfCA0ICsrKysK IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9p Z21wLmMgYi9uZXQvaXB2NC9pZ21wLmMKaW5kZXggOWM3YTRjZWExNjI4Li43ZjVmZTA3ZDBiMTMg MTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lnbXAuYworKysgYi9uZXQvaXB2NC9pZ21wLmMKQEAgLTM4 Niw3ICszODYsMTEgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICppZ21wdjNfbmV3cGFjayhzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbXR1KQogCXBpcC0+ZnJhZ19vZmYgPSBo dG9ucyhJUF9ERik7CiAJcGlwLT50dGwgICAgICA9IDE7CiAJcGlwLT5kYWRkciAgICA9IGZsNC5k YWRkcjsKKworCXJjdV9yZWFkX2xvY2soKTsKIAlwaXAtPnNhZGRyICAgID0gaWdtcHYzX2dldF9z cmNhZGRyKGRldiwgJmZsNCk7CisJcmN1X3JlYWRfdW5sb2NrKCk7CisKIAlwaXAtPnByb3RvY29s ID0gSVBQUk9UT19JR01QOwogCXBpcC0+dG90X2xlbiAgPSAwOwkvKiBmaWxsZWQgaW4gbGF0ZXIg Ki8KIAlpcF9zZWxlY3RfaWRlbnQobmV0LCBza2IsIE5VTEwpOwotLSAKMi4xNC4zCgoKRnJvbSAw MzYyYWU3NDU5MjhmYTI0NDI1ZjU0N2ZlYzA4ZDAxYTcyYWI3MTViIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKdW54aWFvIEJpIDxqdW54aWFvLmJpQG9yYWNsZS5jb20+CkRhdGU6IE1v biwgMjkgSmFuIDIwMTggMTc6NTM6NDIgKzA4MDAKU3ViamVjdDogW1BBVENIIDAzLzExXSBxbGNu aWM6IGZpeCBkZWFkbG9jayBidWcKClsgVXBzdHJlYW0gY29tbWl0IDIzM2FjMzg5MTYwN2Y1MDFm MDg4NzkxMzRkNjIzYjMwMzgzOGY0NzggXQoKVGhlIGZvbGxvd2luZyBzb2Z0IGxvY2t1cCB3YXMg Y2F1Z2h0LiBUaGlzIGlzIGEgZGVhZGxvY2sgY2F1c2VkIGJ5CnJlY3VzaXZlIGxvY2tpbmcuCgpQ cm9jZXNzIGt3b3JrZXIvdTQwOjE6MjgwMTYgd2FzIGhvbGRpbmcgc3BpbiBsb2NrICJtYngtPnF1 ZXVlX2xvY2siIGluCnFsY25pY184M3h4X21haWxib3hfd29ya2VyKCksIHdoaWxlIGEgc29mdGly cSBjYW1lIGluIGFuZCBhc2sgdGhlIHNhbWUgc3Bpbgpsb2NrIGluIHFsY25pY184M3h4X2VucXVl dWVfbWJ4X2NtZCgpLiBUaGlzIGxvY2sgc2hvdWxkIGJlIGhvbGQgYnkgZGlzYWJsZQpiaC4uCgpb MTYxODQ2Ljk2MjEyNV0gTk1JIHdhdGNoZG9nOiBCVUc6IHNvZnQgbG9ja3VwIC0gQ1BVIzEgc3R1 Y2sgZm9yIDIycyEgW2t3b3JrZXIvdTQwOjE6MjgwMTZdClsxNjE4NDYuOTYyMzY3XSBNb2R1bGVz IGxpbmtlZCBpbjogdHVuIG9jZnMyIHhlbl9uZXRiYWNrIHhlbl9ibGtiYWNrIHhlbl9nbnRhbGxv YyB4ZW5fZ250ZGV2IHhlbl9ldnRjaG4geGVuZnMgeGVuX3ByaXZjbWQgYXV0b2ZzNCBvY2ZzMl9k bG1mcyBvY2ZzMl9zdGFja19vMmNiIG9jZnMyX2RsbSBvY2ZzMl9ub2RlbWFuYWdlciBvY2ZzMl9z dGFja2dsdWUgY29uZmlnZnMgYm54MmZjIGZjb2UgbGliZmNvZSBsaWJmYyBzdW5ycGMgODAyMXEg bXJwIGdhcnAgYnJpZGdlIHN0cCBsbGMgYm9uZGluZyBkbV9yb3VuZF9yb2JpbiBkbV9tdWx0aXBh dGggaVRDT193ZHQgaVRDT192ZW5kb3Jfc3VwcG9ydCBwY3Nwa3Igc2JfZWRhYyBlZGFjX2NvcmUg aTJjX2k4MDEgc2hwY2hwIGxwY19pY2ggbWZkX2NvcmUgaW9hdGRtYSBpcG1pX2RldmludGYgaXBt aV9zaSBpcG1pX21zZ2hhbmRsZXIgc2cgZXh0NCBqYmQyIG1iY2FjaGUyIHNyX21vZCBjZHJvbSBz ZF9tb2QgaWdiIGkyY19hbGdvX2JpdCBpMmNfY29yZSBhaGNpIGxpYmFoY2kgbWVnYXJhaWRfc2Fz IGl4Z2JlIGRjYSBwdHAgcHBzX2NvcmUgdnhsYW4gdWRwX3R1bm5lbCBpcDZfdWRwX3R1bm5lbCBx bGEyeHh4IHNjc2lfdHJhbnNwb3J0X2ZjIHFsY25pYyBjcmMzMmNfaW50ZWwgYmUyaXNjc2kgYm54 MmkgY25pYyB1aW8gY3hnYjRpIGN4Z2I0IGN4Z2IzaSBsaWJjeGdiaSBpcHY2IGN4Z2IzIG1kaW8g bGliaXNjc2lfdGNwIHFsYTR4eHggaXNjc2lfYm9vdF9zeXNmcyBsaWJpc2NzaSBzY3NpX3RyYW5z cG9ydF9pc2NzaSBkbV9taXJyb3IgZG1fcmVnaW9uX2hhc2ggZG1fbG9nIGRtX21vZApbMTYxODQ2 Ljk2MjQ1NF0KWzE2MTg0Ni45NjI0NjBdIENQVTogMSBQSUQ6IDI4MDE2IENvbW06IGt3b3JrZXIv dTQwOjEgTm90IHRhaW50ZWQgNC4xLjEyLTk0LjUuOS5lbDZ1ZWsueDg2XzY0ICMyClsxNjE4NDYu OTYyNDYzXSBIYXJkd2FyZSBuYW1lOiBPcmFjbGUgQ29ycG9yYXRpb24gU1VOIFNFUlZFUiBYNC0y TCAgICAgIC9BU1NZLE1CLFg0LTJMICAgICAgICAgLCBCSU9TIDI2MDUwMTAwIDA5LzE5LzIwMTcK WzE2MTg0Ni45NjI0ODldIFdvcmtxdWV1ZTogcWxjbmljX21haWxib3ggcWxjbmljXzgzeHhfbWFp bGJveF93b3JrZXIgW3FsY25pY10KWzE2MTg0Ni45NjI0OTNdIHRhc2s6IGZmZmY4ODAxZjJlMzQ2 MDAgdGk6IGZmZmY4ODAwNGNhNWMwMDAgdGFzay50aTogZmZmZjg4MDA0Y2E1YzAwMApbMTYxODQ2 Ljk2MjQ5Nl0gUklQOiBlMDMwOls8ZmZmZmZmZmY4MTAwMTNhYT5dICBbPGZmZmZmZmZmODEwMDEz YWE+XSB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwClsxNjE4NDYuOTYyNTA2XSBSU1A6 IGUwMmI6ZmZmZjg4MDIwMmU0MzM4OCAgRUZMQUdTOiAwMDAwMDIwNgpbMTYxODQ2Ljk2MjUwOV0g UkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjg4MDFmNjk5NmI3MCBSQ1g6IGZmZmZmZmZm ODEwMDEzYWEKWzE2MTg0Ni45NjI1MTFdIFJEWDogZmZmZjg4MDIwMmU0MzNjYyBSU0k6IGZmZmY4 ODAyMDJlNDMzYjAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClsxNjE4NDYuOTYyNTEzXSBSQlA6IGZm ZmY4ODAyMDJlNDMzZDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogZmZmZjg4MDFmZTg5MzIw MApbMTYxODQ2Ljk2MjUxNl0gUjEwOiBmZmZmODgwMWZlNDAwNTM4IFIxMTogMDAwMDAwMDAwMDAw MDIwNiBSMTI6IGZmZmY4ODAyMDJlNGIwMDAKWzE2MTg0Ni45NjI1MThdIFIxMzogMDAwMDAwMDAw MDAwMDA1MCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDEgUjE1OiAwMDAwMDAwMDAwMDAwMjBkClsxNjE4 NDYuOTYyNTI4XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDIwMmU0MDAw MCgwMDAwKSBrbmxHUzpmZmZmODgwMjAyZTQwMDAwClsxNjE4NDYuOTYyNTMxXSBDUzogIGUwMzMg RFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsxNjE4NDYuOTYyNTMzXSBD UjI6IDAwMDAwMDAwMDI2MTI2NDAgQ1IzOiAwMDAwMDAwMWJiNzk2MDAwIENSNDogMDAwMDAwMDAw MDA0MjY2MApbMTYxODQ2Ljk2MjUzNl0gU3RhY2s6ClsxNjE4NDYuOTYyNTM4XSAgZmZmZjg4MDIw MmU0MzYwOCAwMDAwMDAwMDAwMDAwMDAwIGZmZmZmZmZmODEzZjA0NDIgZmZmZjg4MDIwMmU0MzNi MApbMTYxODQ2Ljk2MjU0M10gIDAwMDAwMDAwMDAwMDAwMDAgZmZmZjg4MDIwMmU0MzNjYyBmZmZm ZmZmZjAwMDAwMDAxIDAwMDAwMDAwMDAwMDAwMDAKWzE2MTg0Ni45NjI1NDddICAwMDAwMDAwOTgx M2YwM2Q2IGZmZmY4ODAyMDJlNDMzZTAgZmZmZmZmZmY4MTNmMDQ2MCBmZmZmODgwMjAyZTQzNDQw ClsxNjE4NDYuOTYyNTUyXSBDYWxsIFRyYWNlOgpbMTYxODQ2Ljk2MjU1NV0gIDxJUlE+ClsxNjE4 NDYuOTYyNTY1XSAgWzxmZmZmZmZmZjgxM2YwNDQyPl0gPyB4ZW5fcG9sbF9pcnFfdGltZW91dCsw eDQyLzB4NTAKWzE2MTg0Ni45NjI1NzBdICBbPGZmZmZmZmZmODEzZjA0NjA+XSB4ZW5fcG9sbF9p cnErMHgxMC8weDIwClsxNjE4NDYuOTYyNTc4XSAgWzxmZmZmZmZmZjgxMDE0MjIyPl0geGVuX2xv Y2tfc3Bpbm5pbmcrMHhlMi8weDExMApbMTYxODQ2Ljk2MjU4M10gIFs8ZmZmZmZmZmY4MTAxM2Yw MT5dIF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9sb2NrX3NwaW5uaW5nKzB4MTEvMHgyMApbMTYxODQ2 Ljk2MjU5Ml0gIFs8ZmZmZmZmZmY4MTZlNWM1Nz5dID8gX3Jhd19zcGluX2xvY2srMHg1Ny8weDgw ClsxNjE4NDYuOTYyNjA5XSAgWzxmZmZmZmZmZmEwMjhhY2ZjPl0gcWxjbmljXzgzeHhfZW5xdWV1 ZV9tYnhfY21kKzB4N2MvMHhlMCBbcWxjbmljXQpbMTYxODQ2Ljk2MjYyM10gIFs8ZmZmZmZmZmZh MDI4ZTAwOD5dIHFsY25pY184M3h4X2lzc3VlX2NtZCsweDU4LzB4MjEwIFtxbGNuaWNdClsxNjE4 NDYuOTYyNjM2XSAgWzxmZmZmZmZmZmEwMjhjYWYyPl0gcWxjbmljXzgzeHhfc3JlX21hY2FkZHJf Y2hhbmdlKzB4MTYyLzB4MWQwIFtxbGNuaWNdClsxNjE4NDYuOTYyNjQ5XSAgWzxmZmZmZmZmZmEw MjhjYjhiPl0gcWxjbmljXzgzeHhfY2hhbmdlX2wyX2ZpbHRlcisweDJiLzB4MzAgW3FsY25pY10K WzE2MTg0Ni45NjI2NTddICBbPGZmZmZmZmZmODE2MDI0OGI+XSA/IF9fc2tiX2Zsb3dfZGlzc2Vj dCsweDE4Yi8weDY1MApbMTYxODQ2Ljk2MjY3MF0gIFs8ZmZmZmZmZmZhMDI4NTZlNT5dIHFsY25p Y19zZW5kX2ZpbHRlcisweDIwNS8weDI1MCBbcWxjbmljXQpbMTYxODQ2Ljk2MjY4Ml0gIFs8ZmZm ZmZmZmZhMDI4NWM3Nz5dIHFsY25pY194bWl0X2ZyYW1lKzB4NTQ3LzB4N2IwIFtxbGNuaWNdClsx NjE4NDYuOTYyNjkxXSAgWzxmZmZmZmZmZjgxNjBhYzIyPl0geG1pdF9vbmUrMHg4Mi8weDFhMApb MTYxODQ2Ljk2MjY5Nl0gIFs8ZmZmZmZmZmY4MTYwYWQ5MD5dIGRldl9oYXJkX3N0YXJ0X3htaXQr MHg1MC8weGEwClsxNjE4NDYuOTYyNzAxXSAgWzxmZmZmZmZmZjgxNjMwMTEyPl0gc2NoX2RpcmVj dF94bWl0KzB4MTEyLzB4MjIwClsxNjE4NDYuOTYyNzA2XSAgWzxmZmZmZmZmZjgxNjBiODBmPl0g X19kZXZfcXVldWVfeG1pdCsweDFkZi8weDVlMApbMTYxODQ2Ljk2MjcxMF0gIFs8ZmZmZmZmZmY4 MTYwYmMzMz5dIGRldl9xdWV1ZV94bWl0X3NrKzB4MTMvMHgyMApbMTYxODQ2Ljk2MjcyMV0gIFs8 ZmZmZmZmZmZhMDU3NWJkNT5dIGJvbmRfZGV2X3F1ZXVlX3htaXQrMHgzNS8weDgwIFtib25kaW5n XQpbMTYxODQ2Ljk2MjcyOV0gIFs8ZmZmZmZmZmZhMDU3NjlmYj5dIF9fYm9uZF9zdGFydF94bWl0 KzB4MWNiLzB4MjEwIFtib25kaW5nXQpbMTYxODQ2Ljk2MjczNl0gIFs8ZmZmZmZmZmZhMDU3NmE3 MT5dIGJvbmRfc3RhcnRfeG1pdCsweDMxLzB4NjAgW2JvbmRpbmddClsxNjE4NDYuOTYyNzQwXSAg WzxmZmZmZmZmZjgxNjBhYzIyPl0geG1pdF9vbmUrMHg4Mi8weDFhMApbMTYxODQ2Ljk2Mjc0NV0g IFs8ZmZmZmZmZmY4MTYwYWQ5MD5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHg1MC8weGEwClsxNjE4 NDYuOTYyNzQ5XSAgWzxmZmZmZmZmZjgxNjBiYjFlPl0gX19kZXZfcXVldWVfeG1pdCsweDRlZS8w eDVlMApbMTYxODQ2Ljk2Mjc1NF0gIFs8ZmZmZmZmZmY4MTYwYmMzMz5dIGRldl9xdWV1ZV94bWl0 X3NrKzB4MTMvMHgyMApbMTYxODQ2Ljk2Mjc2MF0gIFs8ZmZmZmZmZmZhMDVjZmE3Mj5dIHZsYW5f ZGV2X2hhcmRfc3RhcnRfeG1pdCsweGIyLzB4MTUwIFs4MDIxcV0KWzE2MTg0Ni45NjI3NjRdICBb PGZmZmZmZmZmODE2MGFjMjI+XSB4bWl0X29uZSsweDgyLzB4MWEwClsxNjE4NDYuOTYyNzY5XSAg WzxmZmZmZmZmZjgxNjBhZDkwPl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDUwLzB4YTAKWzE2MTg0 Ni45NjI3NzNdICBbPGZmZmZmZmZmODE2MGJiMWU+XSBfX2Rldl9xdWV1ZV94bWl0KzB4NGVlLzB4 NWUwClsxNjE4NDYuOTYyNzc3XSAgWzxmZmZmZmZmZjgxNjBiYzMzPl0gZGV2X3F1ZXVlX3htaXRf c2srMHgxMy8weDIwClsxNjE4NDYuOTYyNzg5XSAgWzxmZmZmZmZmZmEwNWFkZjc0Pl0gYnJfZGV2 X3F1ZXVlX3B1c2hfeG1pdCsweDU0LzB4YTAgW2JyaWRnZV0KWzE2MTg0Ni45NjI3OTddICBbPGZm ZmZmZmZmYTA1YWU0ZmY+XSBicl9mb3J3YXJkX2ZpbmlzaCsweDJmLzB4OTAgW2JyaWRnZV0KWzE2 MTg0Ni45NjI4MDddICBbPGZmZmZmZmZmODEwYjBkYWQ+XSA/IHR0d3VfZG9fd2FrZXVwKzB4MWQv MHgxMDAKWzE2MTg0Ni45NjI4MTFdICBbPGZmZmZmZmZmODE1ZjkyOWI+XSA/IF9fYWxsb2Nfc2ti KzB4OGIvMHgxZjAKWzE2MTg0Ni45NjI4MThdICBbPGZmZmZmZmZmYTA1YWUwNGQ+XSBfX2JyX2Zv cndhcmQrMHg4ZC8weDEyMCBbYnJpZGdlXQpbMTYxODQ2Ljk2MjgyMl0gIFs8ZmZmZmZmZmY4MTVm NjEzYj5dID8gX19rbWFsbG9jX3Jlc2VydmUrMHgzYi8weGEwClsxNjE4NDYuOTYyODI5XSAgWzxm ZmZmZmZmZjgxMGJlNTVlPl0gPyB1cGRhdGVfcnFfcnVubmFibGVfYXZnKzB4ZWUvMHgyMzAKWzE2 MTg0Ni45NjI4MzZdICBbPGZmZmZmZmZmYTA1YWUxNzY+XSBicl9mb3J3YXJkKzB4OTYvMHhiMCBb YnJpZGdlXQpbMTYxODQ2Ljk2Mjg0NV0gIFs8ZmZmZmZmZmZhMDVhZjg1ZT5dIGJyX2hhbmRsZV9m cmFtZV9maW5pc2grMHgxYWUvMHg0MjAgW2JyaWRnZV0KWzE2MTg0Ni45NjI4NTNdICBbPGZmZmZm ZmZmYTA1YWZjNGY+XSBicl9oYW5kbGVfZnJhbWUrMHgxN2YvMHgyNjAgW2JyaWRnZV0KWzE2MTg0 Ni45NjI4NjJdICBbPGZmZmZmZmZmYTA1YWZhZDA+XSA/IGJyX2hhbmRsZV9mcmFtZV9maW5pc2gr MHg0MjAvMHg0MjAgW2JyaWRnZV0KWzE2MTg0Ni45NjI4NjddICBbPGZmZmZmZmZmODE2MGQwNTc+ XSBfX25ldGlmX3JlY2VpdmVfc2tiX2NvcmUrMHgxZjcvMHg4NzAKWzE2MTg0Ni45NjI4NzJdICBb PGZmZmZmZmZmODE2MGQ2ZjI+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MjIvMHg3MApbMTYxODQ2 Ljk2Mjg3N10gIFs8ZmZmZmZmZmY4MTYwZDkxMz5dIG5ldGlmX3JlY2VpdmVfc2tiX2ludGVybmFs KzB4MjMvMHg5MApbMTYxODQ2Ljk2Mjg4NF0gIFs8ZmZmZmZmZmZhMDc1MTJlYT5dID8geGVudmlm X2lkeF9yZWxlYXNlKzB4ZWEvMHgxMDAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2Mjg4OV0gIFs8 ZmZmZmZmZmY4MTZlNWExMD5dID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4MjAvMHg1 MApbMTYxODQ2Ljk2Mjg5M10gIFs8ZmZmZmZmZmY4MTYwZTYyND5dIG5ldGlmX3JlY2VpdmVfc2ti X3NrKzB4MjQvMHg5MApbMTYxODQ2Ljk2Mjg5OV0gIFs8ZmZmZmZmZmZhMDc1MjY5YT5dIHhlbnZp Zl90eF9zdWJtaXQrMHgyY2EvMHgzZjAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2MjkwNl0gIFs8 ZmZmZmZmZmZhMDc1M2YwYz5dIHhlbnZpZl90eF9hY3Rpb24rMHg5Yy8weGQwIFt4ZW5fbmV0YmFj a10KWzE2MTg0Ni45NjI5MTVdICBbPGZmZmZmZmZmYTA3NTY3ZjU+XSB4ZW52aWZfcG9sbCsweDM1 LzB4NzAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2MjkyMF0gIFs8ZmZmZmZmZmY4MTYwZTAxYj5d IG5hcGlfcG9sbCsweGNiLzB4MWUwClsxNjE4NDYuOTYyOTI1XSAgWzxmZmZmZmZmZjgxNjBlMWMw Pl0gbmV0X3J4X2FjdGlvbisweDkwLzB4MWMwClsxNjE4NDYuOTYyOTMxXSAgWzxmZmZmZmZmZjgx MDhhYWJhPl0gX19kb19zb2Z0aXJxKzB4MTBhLzB4MzUwClsxNjE4NDYuOTYyOTM4XSAgWzxmZmZm ZmZmZjgxMDhhZTc1Pl0gaXJxX2V4aXQrMHgxMjUvMHgxMzAKWzE2MTg0Ni45NjI5NDNdICBbPGZm ZmZmZmZmODEzZjAzYTk+XSB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDM5LzB4NTAKWzE2MTg0Ni45 NjI5NTBdICBbPGZmZmZmZmZmODE2ZTdmZmU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysw eDFlLzB4NDAKWzE2MTg0Ni45NjI5NTJdICA8RU9JPgpbMTYxODQ2Ljk2Mjk1OV0gIFs8ZmZmZmZm ZmY4MTZlNWM0YT5dID8gX3Jhd19zcGluX2xvY2srMHg0YS8weDgwClsxNjE4NDYuOTYyOTY0XSAg WzxmZmZmZmZmZjgxNmU1YjFlPl0gPyBfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4MWUvMHhhMApb MTYxODQ2Ljk2Mjk3OF0gIFs8ZmZmZmZmZmZhMDI4ZTI3OT5dID8gcWxjbmljXzgzeHhfbWFpbGJv eF93b3JrZXIrMHhiOS8weDJhMCBbcWxjbmljXQpbMTYxODQ2Ljk2Mjk5MV0gIFs8ZmZmZmZmZmY4 MTBhMTRlMT5dID8gcHJvY2Vzc19vbmVfd29yaysweDE1MS8weDRiMApbMTYxODQ2Ljk2Mjk5NV0g IFs8ZmZmZmZmZmY4MTAwYzNmMj5dID8gY2hlY2tfZXZlbnRzKzB4MTIvMHgyMApbMTYxODQ2Ljk2 MzAwMV0gIFs8ZmZmZmZmZmY4MTBhMTk2MD5dID8gd29ya2VyX3RocmVhZCsweDEyMC8weDQ4MApb MTYxODQ2Ljk2MzAwNV0gIFs8ZmZmZmZmZmY4MTZlMTg3Yj5dID8gX19zY2hlZHVsZSsweDMwYi8w eDg5MApbMTYxODQ2Ljk2MzAxMF0gIFs8ZmZmZmZmZmY4MTBhMTg0MD5dID8gcHJvY2Vzc19vbmVf d29yaysweDRiMC8weDRiMApbMTYxODQ2Ljk2MzAxNV0gIFs8ZmZmZmZmZmY4MTBhMTg0MD5dID8g cHJvY2Vzc19vbmVfd29yaysweDRiMC8weDRiMApbMTYxODQ2Ljk2MzAyMV0gIFs8ZmZmZmZmZmY4 MTBhNmIzZT5dID8ga3RocmVhZCsweGNlLzB4ZjAKWzE2MTg0Ni45NjMwMjVdICBbPGZmZmZmZmZm ODEwYTZhNzA+XSA/IGt0aHJlYWRfZnJlZXphYmxlX3Nob3VsZF9zdG9wKzB4NzAvMHg3MApbMTYx ODQ2Ljk2MzAzMV0gIFs8ZmZmZmZmZmY4MTZlNjUyMj5dID8gcmV0X2Zyb21fZm9yaysweDQyLzB4 NzAKWzE2MTg0Ni45NjMwMzVdICBbPGZmZmZmZmZmODEwYTZhNzA+XSA/IGt0aHJlYWRfZnJlZXph YmxlX3Nob3VsZF9zdG9wKzB4NzAvMHg3MApbMTYxODQ2Ljk2MzAzN10gQ29kZTogY2MgNTEgNDEg NTMgYjggMWMgMDAgMDAgMDAgMGYgMDUgNDEgNWIgNTkgYzMgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgNTEgNDEgNTMgYjggMWQgMDAgMDAgMDAg MGYgMDUgPDQxPiA1YiA1OSBjMyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj YyBjYyBjYyBjYyBjYwoKU2lnbmVkLW9mZi1ieTogSnVueGlhbyBCaSA8anVueGlhby5iaUBvcmFj bGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNfODN4eF9o dy5jIHwgMTggKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fs b2dpYy9xbGNuaWMvcWxjbmljXzgzeHhfaHcuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dp Yy9xbGNuaWMvcWxjbmljXzgzeHhfaHcuYwppbmRleCBiZGJjZDJiMDg4YTAuLmMzYzI4ZjA5NjBl NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNf ODN4eF9ody5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGNuaWMvcWxjbmlj XzgzeHhfaHcuYwpAQCAtMzg0OSw3ICszODQ5LDcgQEAgc3RhdGljIHZvaWQgcWxjbmljXzgzeHhf Zmx1c2hfbWJ4X3F1ZXVlKHN0cnVjdCBxbGNuaWNfYWRhcHRlciAqYWRhcHRlcikKIAlzdHJ1Y3Qg bGlzdF9oZWFkICpoZWFkID0gJm1ieC0+Y21kX3E7CiAJc3RydWN0IHFsY25pY19jbWRfYXJncyAq Y21kID0gTlVMTDsKIAotCXNwaW5fbG9jaygmbWJ4LT5xdWV1ZV9sb2NrKTsKKwlzcGluX2xvY2tf YmgoJm1ieC0+cXVldWVfbG9jayk7CiAKIAl3aGlsZSAoIWxpc3RfZW1wdHkoaGVhZCkpIHsKIAkJ Y21kID0gbGlzdF9lbnRyeShoZWFkLT5uZXh0LCBzdHJ1Y3QgcWxjbmljX2NtZF9hcmdzLCBsaXN0 KTsKQEAgLTM4NjAsNyArMzg2MCw3IEBAIHN0YXRpYyB2b2lkIHFsY25pY184M3h4X2ZsdXNoX21i eF9xdWV1ZShzdHJ1Y3QgcWxjbmljX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJCXFsY25pY184M3h4X25v dGlmeV9jbWRfY29tcGxldGlvbihhZGFwdGVyLCBjbWQpOwogCX0KIAotCXNwaW5fdW5sb2NrKCZt YngtPnF1ZXVlX2xvY2spOworCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogfQog CiBzdGF0aWMgaW50IHFsY25pY184M3h4X2NoZWNrX21ieF9zdGF0dXMoc3RydWN0IHFsY25pY19h ZGFwdGVyICphZGFwdGVyKQpAQCAtMzg5NiwxMiArMzg5NiwxMiBAQCBzdGF0aWMgdm9pZCBxbGNu aWNfODN4eF9kZXF1ZXVlX21ieF9jbWQoc3RydWN0IHFsY25pY19hZGFwdGVyICphZGFwdGVyLAog ewogCXN0cnVjdCBxbGNuaWNfbWFpbGJveCAqbWJ4ID0gYWRhcHRlci0+YWh3LT5tYWlsYm94Owog Ci0Jc3Bpbl9sb2NrKCZtYngtPnF1ZXVlX2xvY2spOworCXNwaW5fbG9ja19iaCgmbWJ4LT5xdWV1 ZV9sb2NrKTsKIAogCWxpc3RfZGVsKCZjbWQtPmxpc3QpOwogCW1ieC0+bnVtX2NtZHMtLTsKIAot CXNwaW5fdW5sb2NrKCZtYngtPnF1ZXVlX2xvY2spOworCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1 ZXVlX2xvY2spOwogCiAJcWxjbmljXzgzeHhfbm90aWZ5X2NtZF9jb21wbGV0aW9uKGFkYXB0ZXIs IGNtZCk7CiB9CkBAIC0zOTY2LDcgKzM5NjYsNyBAQCBzdGF0aWMgaW50IHFsY25pY184M3h4X2Vu cXVldWVfbWJ4X2NtZChzdHJ1Y3QgcWxjbmljX2FkYXB0ZXIgKmFkYXB0ZXIsCiAJCWluaXRfY29t cGxldGlvbigmY21kLT5jb21wbGV0aW9uKTsKIAkJY21kLT5yc3Bfb3Bjb2RlID0gUUxDXzgzWFhf TUJYX1JFU1BPTlNFX1VOS05PV047CiAKLQkJc3Bpbl9sb2NrKCZtYngtPnF1ZXVlX2xvY2spOwor CQlzcGluX2xvY2tfYmgoJm1ieC0+cXVldWVfbG9jayk7CiAKIAkJbGlzdF9hZGRfdGFpbCgmY21k LT5saXN0LCAmbWJ4LT5jbWRfcSk7CiAJCW1ieC0+bnVtX2NtZHMrKzsKQEAgLTM5NzQsNyArMzk3 NCw3IEBAIHN0YXRpYyBpbnQgcWxjbmljXzgzeHhfZW5xdWV1ZV9tYnhfY21kKHN0cnVjdCBxbGNu aWNfYWRhcHRlciAqYWRhcHRlciwKIAkJKnRpbWVvdXQgPSBjbWQtPnRvdGFsX2NtZHMgKiBRTENf ODNYWF9NQlhfVElNRU9VVDsKIAkJcXVldWVfd29yayhtYngtPndvcmtfcSwgJm1ieC0+d29yayk7 CiAKLQkJc3Bpbl91bmxvY2soJm1ieC0+cXVldWVfbG9jayk7CisJCXNwaW5fdW5sb2NrX2JoKCZt YngtPnF1ZXVlX2xvY2spOwogCiAJCXJldHVybiAwOwogCX0KQEAgLTQwNzAsMTUgKzQwNzAsMTUg QEAgc3RhdGljIHZvaWQgcWxjbmljXzgzeHhfbWFpbGJveF93b3JrZXIoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogCQltYngtPnJzcF9zdGF0dXMgPSBRTENfODNYWF9NQlhfUkVTUE9OU0VfV0FJ VDsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbWJ4LT5hZW5fbG9jaywgZmxhZ3MpOwogCi0J CXNwaW5fbG9jaygmbWJ4LT5xdWV1ZV9sb2NrKTsKKwkJc3Bpbl9sb2NrX2JoKCZtYngtPnF1ZXVl X2xvY2spOwogCiAJCWlmIChsaXN0X2VtcHR5KGhlYWQpKSB7Ci0JCQlzcGluX3VubG9jaygmbWJ4 LT5xdWV1ZV9sb2NrKTsKKwkJCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogCQkJ cmV0dXJuOwogCQl9CiAJCWNtZCA9IGxpc3RfZW50cnkoaGVhZC0+bmV4dCwgc3RydWN0IHFsY25p Y19jbWRfYXJncywgbGlzdCk7CiAKLQkJc3Bpbl91bmxvY2soJm1ieC0+cXVldWVfbG9jayk7CisJ CXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogCiAJCW1ieF9vcHMtPmVuY29kZV9j bWQoYWRhcHRlciwgY21kKTsKIAkJbWJ4X29wcy0+bm9maXR5X2Z3KGFkYXB0ZXIsIFFMQ184M1hY X01CWF9SRVFVRVNUKTsKLS0gCjIuMTQuMwoKCkZyb20gNmRlYzc5MDc2MWJlYjlmOWFmYWE1MmNm YWE1YmMyNjVmZjhkMjdjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS3Jpc3RpYW4g RXZlbnNlbiA8a3Jpc3RpYW4uZXZlbnNlbkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMzAgSmFuIDIw MTggMTQ6MTI6NTUgKzAxMDAKU3ViamVjdDogW1BBVENIIDA0LzExXSBxbWlfd3dhbjogQWRkIHN1 cHBvcnQgZm9yIFF1ZWN0ZWwgRVAwNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK WyBVcHN0cmVhbSBjb21taXQgYzBiOTFhNTZhMmU1N2E1YTM3MDY1NWIyNWQ2NzdhZTBlYmY4YTJk MCBdCgpUaGUgUXVlY3RlbCBFUDA2IGlzIGEgQ2F0LiA2IExURSBtb2RlbS4gSXQgdXNlcyB0aGUg c2FtZSBpbnRlcmZhY2UgYXMKdGhlIEVDMjAvRUMyNSBmb3IgUU1JLCBhbmQgcmVxdWlyZXMgdGhl IHNhbWUgInNldCBEVFIiLXF1aXJrIHRvIHdvcmsuCgpTaWduZWQtb2ZmLWJ5OiBLcmlzdGlhbiBF dmVuc2VuIDxrcmlzdGlhbi5ldmVuc2VuQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEJqw7hybiBNb3Jr IDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMgfCAxICsKIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9x bWlfd3dhbi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKaW5kZXggZGI2NWQ5YWQ0NDg4 Li5lMWU1ZTg0Mzg0NTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC05NDQsNiArOTQ0LDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHByb2R1Y3RzW10gPSB7CiAJe1FNSV9RVUlSS19T RVRfRFRSKDB4MmM3YywgMHgwMTI1LCA0KX0sCS8qIFF1ZWN0ZWwgRUMyNSwgRUMyMCBSMi4wICBN aW5pIFBDSWUgKi8KIAl7UU1JX1FVSVJLX1NFVF9EVFIoMHgyYzdjLCAweDAxMjEsIDQpfSwJLyog UXVlY3RlbCBFQzIxIE1pbmkgUENJZSAqLwogCXtRTUlfRklYRURfSU5URigweDJjN2MsIDB4MDI5 NiwgNCl9LAkvKiBRdWVjdGVsIEJHOTYgKi8KKwl7UU1JX1FVSVJLX1NFVF9EVFIoMHgyYzdjLCAw eDAzMDYsIDQpfSwJLyogUXVlY3RlbCBFUDA2IE1pbmkgUENJZSAqLwogCiAJLyogNC4gR29iaSAx MDAwIGRldmljZXMgKi8KIAl7UU1JX0dPQkkxS19ERVZJQ0UoMHgwNWM2LCAweDkyMTIpfSwJLyog QWNlciBHb2JpIE1vZGVtIERldmljZSAqLwotLSAKMi4xNC4zCgoKRnJvbSBhYWRhZDRkODZmYzkz NDI5Mjk2OTNiNmNmOWYxY2Y5OTg5YjIyYzVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBDaHVuaGFvIExpbiA8aGF1QHJlYWx0ZWsuY29tPgpEYXRlOiBXZWQsIDMxIEphbiAyMDE4IDAx OjMyOjM2ICswODAwClN1YmplY3Q6IFtQQVRDSCAwNS8xMV0gcjgxNjk6IGZpeCBSVEw4MTY4RVAg dGFrZSB0b28gbG9uZyB0byBjb21wbGV0ZSBkcml2ZXIKIGluaXRpYWxpemF0aW9uLgoKWyBVcHN0 cmVhbSBjb21taXQgMDg2Y2EyM2QwM2MwZDJmNDA4OGY0NzIzODY3NzhkMjkzZTE1YzVmNiBdCgpE cml2ZXIgY2hlY2sgdGhlIHdyb25nIHJlZ2lzdGVyIGJpdCBpbiBydGxfb2NwX3R4X2NvbmQoKSB0 aGF0IGtlZXAgZHJpdmVyCndhaXRpbmcgdW50aWwgdGltZW91dC4KCkZpeCB0aGlzIGJ5IHdhaXRp bmcgZm9yIHRoZSByaWdodCByZWdpc3RlciBiaXQuCgpTaWduZWQtb2ZmLWJ5OiBDaHVuaGFvIExp biA8aGF1QHJlYWx0ZWsuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5j IHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjkuYyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjkuYwppbmRleCAyOThiNzRlYmMxZTkuLjE4 ZTY4YzkxZTY1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2 OS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjkuYwpAQCAtMTM4Nyw3 ICsxMzg3LDcgQEAgREVDTEFSRV9SVExfQ09ORChydGxfb2NwX3R4X2NvbmQpCiB7CiAJdm9pZCBf X2lvbWVtICppb2FkZHIgPSB0cC0+bW1pb19hZGRyOwogCi0JcmV0dXJuIFJUTF9SOChJQklTUjAp ICYgMHgwMjsKKwlyZXR1cm4gUlRMX1I4KElCSVNSMCkgJiAweDIwOwogfQogCiBzdGF0aWMgdm9p ZCBydGw4MTY4ZXBfc3RvcF9jbWFjKHN0cnVjdCBydGw4MTY5X3ByaXZhdGUgKnRwKQpAQCAtMTM5 NSw3ICsxMzk1LDcgQEAgc3RhdGljIHZvaWQgcnRsODE2OGVwX3N0b3BfY21hYyhzdHJ1Y3QgcnRs ODE2OV9wcml2YXRlICp0cCkKIAl2b2lkIF9faW9tZW0gKmlvYWRkciA9IHRwLT5tbWlvX2FkZHI7 CiAKIAlSVExfVzgoSUJDUjIsIFJUTF9SOChJQkNSMikgJiB+MHgwMSk7Ci0JcnRsX21zbGVlcF9s b29wX3dhaXRfbG93KHRwLCAmcnRsX29jcF90eF9jb25kLCA1MCwgMjAwMCk7CisJcnRsX21zbGVl cF9sb29wX3dhaXRfaGlnaCh0cCwgJnJ0bF9vY3BfdHhfY29uZCwgNTAsIDIwMDApOwogCVJUTF9X OChJQklTUjAsIFJUTF9SOChJQklTUjApIHwgMHgyMCk7CiAJUlRMX1c4KElCQ1IwLCBSVExfUjgo SUJDUjApICYgfjB4MDEpOwogfQotLSAKMi4xNC4zCgoKRnJvbSBmODQ5NTNhMjcyMjBhYWM4YTJm ZDk3MmM3MGQ0MDdhNzQ2YTQ3Nzk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMaSBS b25nUWluZyA8bGlyb25ncWluZ0BiYWlkdS5jb20+CkRhdGU6IEZyaSwgMjYgSmFuIDIwMTggMTY6 NDA6NDEgKzA4MDAKU3ViamVjdDogW1BBVENIIDA2LzExXSB0Y3A6IHJlbGVhc2Ugc2tfZnJhZy5w YWdlIGluIHRjcF9kaXNjb25uZWN0CgpbIFVwc3RyZWFtIGNvbW1pdCA5YjQyZDU1YTY2ZDM4OGU0 ZGQ1NTUwMTA3ZGYwNTFhOTYzNzU2NGZjIF0KCnNvY2tldCBjYW4gYmUgZGlzY29ubmVjdGVkIGFu ZCBnZXRzIHRyYW5zZm9ybWVkIGJhY2sgdG8gYSBsaXN0ZW5pbmcKc29ja2V0LCBpZiBza19mcmFn LnBhZ2UgaXMgbm90IHJlbGVhc2VkLCB3aGljaCB3aWxsIGJlIGNsb25lZCBpbnRvCmEgbmV3IHNv Y2tldCBieSBza19jbG9uZV9sb2NrLCBidXQgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGlzIHBh Z2UKaXMgaW5jcmVhc2VkLCBsZWFkIHRvIGEgdXNlIGFmdGVyIGZyZWUgb3IgZG91YmxlIGZyZWUg aXNzdWUKClNpZ25lZC1vZmYtYnk6IExpIFJvbmdRaW5nIDxsaXJvbmdxaW5nQGJhaWR1LmNvbT4K Q2M6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3RjcC5jIHwg NiArKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9u ZXQvaXB2NC90Y3AuYyBiL25ldC9pcHY0L3RjcC5jCmluZGV4IDdlZmE2YjA2MjA0OS4uMGQxYTc2 N2RiMWJiIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3AuYworKysgYi9uZXQvaXB2NC90Y3AuYwpA QCAtMjMxNiw2ICsyMzE2LDEyIEBAIGludCB0Y3BfZGlzY29ubmVjdChzdHJ1Y3Qgc29jayAqc2ss IGludCBmbGFncykKIAogCVdBUk5fT04oaW5ldC0+aW5ldF9udW0gJiYgIWljc2stPmljc2tfYmlu ZF9oYXNoKTsKIAorCWlmIChzay0+c2tfZnJhZy5wYWdlKSB7CisJCXB1dF9wYWdlKHNrLT5za19m cmFnLnBhZ2UpOworCQlzay0+c2tfZnJhZy5wYWdlID0gTlVMTDsKKwkJc2stPnNrX2ZyYWcub2Zm c2V0ID0gMDsKKwl9CisKIAlzay0+c2tfZXJyb3JfcmVwb3J0KHNrKTsKIAlyZXR1cm4gZXJyOwog fQotLSAKMi4xNC4zCgoKRnJvbSA5MGI1Mjg5NGI2ZmZjNTIxYWIwZDk5NWE5YjZmMzQ1ZmRjYWJj ZDJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0By ZWRoYXQuY29tPgpEYXRlOiBUaHUsIDI1IEphbiAyMDE4IDIyOjAzOjUyICswODAwClN1YmplY3Q6 IFtQQVRDSCAwNy8xMV0gdmhvc3RfbmV0OiBzdG9wIGRldmljZSBkdXJpbmcgcmVzZXQgb3duZXIK ClsgVXBzdHJlYW0gY29tbWl0IDRjZDg3OTUxNWQ2ODY4NDllZWM1ZjcxOGFlYWM2MmE3MGIwNjdk ODIgXQoKV2UgZG9uJ3Qgc3RvcCBkZXZpY2UgYmVmb3JlIHJlc2V0IG93bmVyLCB0aGlzIG1lYW5z IHdlIGNvdWxkIHRyeSB0bwpzZXJ2ZSBhbnkgdmlydHF1ZXVlIGtpY2sgYmVmb3JlIHJlc2V0IGRl di0+d29ya2VyLiBUaGlzIHdpbGwgcmVzdWx0IGEKd2FybiBzaW5jZSB0aGUgd29yayB3YXMgcGVu ZGluZyBhdCBsbGlzdCBkdXJpbmcgb3duZXIgcmVzZXR0aW5nLiBGaXgKdGhpcyBieSBzdG9wcGlu ZyBkZXZpY2UgZHVyaW5nIG93bmVyIHJlc2V0LgoKUmVwb3J0ZWQtYnk6IHN5emJvdCtlYjE3YzYx NjI0NzhjYzUwNjMyY0BzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tCkZpeGVzOiAzYTRkNWM5NGU5 NTkzICgidmhvc3RfbmV0OiBhIGtlcm5lbC1sZXZlbCB2aXJ0aW8gc2VydmVyIikKU2lnbmVkLW9m Zi1ieTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvdmhvc3QvbmV0 LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmhvc3QvbmV0LmMgYi9kcml2ZXJzL3Zob3N0L25ldC5jCmluZGV4IDk2YTA2NjEwMTFm ZC4uZTViNzY1MjIzNGZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zob3N0L25ldC5jCisrKyBiL2Ry aXZlcnMvdmhvc3QvbmV0LmMKQEAgLTEwNzgsNiArMTA3OCw3IEBAIHN0YXRpYyBsb25nIHZob3N0 X25ldF9yZXNldF9vd25lcihzdHJ1Y3Qgdmhvc3RfbmV0ICpuKQogCX0KIAl2aG9zdF9uZXRfc3Rv cChuLCAmdHhfc29jaywgJnJ4X3NvY2spOwogCXZob3N0X25ldF9mbHVzaChuKTsKKwl2aG9zdF9k ZXZfc3RvcCgmbi0+ZGV2KTsKIAl2aG9zdF9kZXZfcmVzZXRfb3duZXIoJm4tPmRldiwgdW1lbSk7 CiAJdmhvc3RfbmV0X3ZxX3Jlc2V0KG4pOwogZG9uZToKLS0gCjIuMTQuMwoKCkZyb20gZjc4ZmNm YzNlYWNiMGRmN2JmYmZmZjFlNGVjODIwMmYxMjIzNzBhNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTmVhbCBDYXJkd2VsbCA8bmNhcmR3ZWxsQGdvb2dsZS5jb20+CkRhdGU6IFdlZCwg MzEgSmFuIDIwMTggMTU6NDM6MDUgLTA1MDAKU3ViamVjdDogW1BBVENIIDA4LzExXSB0Y3BfYmJy OiBmaXggcGFjaW5nX2dhaW4gdG8gYWx3YXlzIGJlIHVuaXR5IHdoZW4gdXNpbmcKIGx0X2J3Cgpb IFVwc3RyZWFtIGNvbW1pdCAzYWZmM2I0Yjk4NmU1MWJjZjRhYjI0OWU1ZDQ4ZDM5NTk2ZTBkZjZh IF0KClRoaXMgY29tbWl0IGZpeGVzIHRoZSBwYWNpbmdfZ2FpbiB0byByZW1haW4gYXQgQkJSX1VO SVQgKDEuMCkgd2hlbgp1c2luZyBsdF9idyBhbmQgcmV0dXJuaW5nIGZyb20gdGhlIFBST0JFX1JU VCBzdGF0ZSB0byBQUk9CRV9CVy4KClByZXZpb3VzbHksIHdoZW4gdXNpbmcgbHRfYncsIHVwb24g ZXhpdGluZyBQUk9CRV9SVFQgYW5kIGVudGVyaW5nClBST0JFX0JXIHRoZSBiYnJfcmVzZXRfcHJv YmVfYndfbW9kZSgpIGNvZGUgY291bGQgc29tZXRpbWVzIHJhbmRvbWx5CmVuZCB1cCB3aXRoIGEg Y3ljbGVfaWR4IG9mIDAgYW5kIGhlbmNlIGhhdmUgYmJyX2FkdmFuY2VfY3ljbGVfcGhhc2UoKQpz ZXQgYSBwYWNpbmcgZ2FpbiBhYm92ZSAxLjAuIEluIHN1Y2ggY2FzZXMgdGhpcyB3b3VsZCByZXN1 bHQgaW4gYQpwYWNpbmcgcmF0ZSB0aGF0IGlzIDEuMjV4IGhpZ2hlciB0aGFuIGludGVuZGVkLCBw b3RlbnRpYWxseSByZXN1bHRpbmcKaW4gYSBoaWdoIGxvc3MgcmF0ZSBmb3IgYSBsaXR0bGUgd2hp bGUgdW50aWwgd2Ugc3RvcCB1c2luZyB0aGUgbHRfYncgYQpiaXQgbGF0ZXIuCgpUaGlzIGNvbW1p dCBpcyBhIHN0YWJsZSBjYW5kaWRhdGUgZm9yIGtlcm5lbHMgYmFjayBhcyBmYXIgYXMgNC45LgoK Rml4ZXM6IDBmODc4MmVhMTQ5NyAoInRjcF9iYnI6IGFkZCBCQlIgY29uZ2VzdGlvbiBjb250cm9s IikKU2lnbmVkLW9mZi1ieTogTmVhbCBDYXJkd2VsbCA8bmNhcmR3ZWxsQGdvb2dsZS5jb20+ClNp Z25lZC1vZmYtYnk6IFl1Y2h1bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2Zm LWJ5OiBTb2hlaWwgSGFzc2FzIFllZ2FuZWggPHNvaGVpbEBnb29nbGUuY29tPgpSZXBvcnRlZC1i eTogQmV5ZXJzIENyb25qZSA8YmNyb25qZUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3BfYmJyLmMg fCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfYmJyLmMgYi9uZXQvaXB2NC90Y3BfYmJyLmMK aW5kZXggZTg2YTM0ZmQ1NDg0Li44ZWM2MDUzMmJlMmIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3Rj cF9iYnIuYworKysgYi9uZXQvaXB2NC90Y3BfYmJyLmMKQEAgLTQ1Miw3ICs0NTIsOCBAQCBzdGF0 aWMgdm9pZCBiYnJfYWR2YW5jZV9jeWNsZV9waGFzZShzdHJ1Y3Qgc29jayAqc2spCiAKIAliYnIt PmN5Y2xlX2lkeCA9IChiYnItPmN5Y2xlX2lkeCArIDEpICYgKENZQ0xFX0xFTiAtIDEpOwogCWJi ci0+Y3ljbGVfbXN0YW1wID0gdHAtPmRlbGl2ZXJlZF9tc3RhbXA7Ci0JYmJyLT5wYWNpbmdfZ2Fp biA9IGJicl9wYWNpbmdfZ2FpbltiYnItPmN5Y2xlX2lkeF07CisJYmJyLT5wYWNpbmdfZ2FpbiA9 IGJici0+bHRfdXNlX2J3ID8gQkJSX1VOSVQgOgorCQkJCQkgICAgYmJyX3BhY2luZ19nYWluW2Ji ci0+Y3ljbGVfaWR4XTsKIH0KIAogLyogR2FpbiBjeWNsaW5nOiBjeWNsZSBwYWNpbmcgZ2FpbiB0 byBjb252ZXJnZSB0byBmYWlyIHNoYXJlIG9mIGF2YWlsYWJsZSBidy4gKi8KQEAgLTQ2MSw4ICs0 NjIsNyBAQCBzdGF0aWMgdm9pZCBiYnJfdXBkYXRlX2N5Y2xlX3BoYXNlKHN0cnVjdCBzb2NrICpz aywKIHsKIAlzdHJ1Y3QgYmJyICpiYnIgPSBpbmV0X2Nza19jYShzayk7CiAKLQlpZiAoKGJici0+ bW9kZSA9PSBCQlJfUFJPQkVfQlcpICYmICFiYnItPmx0X3VzZV9idyAmJgotCSAgICBiYnJfaXNf bmV4dF9jeWNsZV9waGFzZShzaywgcnMpKQorCWlmIChiYnItPm1vZGUgPT0gQkJSX1BST0JFX0JX ICYmIGJicl9pc19uZXh0X2N5Y2xlX3BoYXNlKHNrLCBycykpCiAJCWJicl9hZHZhbmNlX2N5Y2xl X3BoYXNlKHNrKTsKIH0KIAotLSAKMi4xNC4zCgoKRnJvbSA1YzI4YTIwZTdmY2RlY2UwZGEzMWUx ODdlOGQyNjMyNTRhZWRhMjUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYW9sbyBB YmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+CkRhdGU6IEZyaSwgMiBGZWIgMjAxOCAxNjowMjoyMiAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIGNsc191MzI6IGFkZCBtaXNzaW5nIFJDVSBhbm5v dGF0aW9uLgoKWyBVcHN0cmVhbSBjb21taXQgMDU4YTZjMDMzNDg4NDk0YTZiMTQ3N2IwNWZlOGUx YTE2ZTM0NDQ2MiBdCgpJbiBhIGNvdXBsZSBvZiBwb2ludHMgb2YgdGhlIGNvbnRyb2wgcGF0aCwg bi0+aHRfZG93biBpcyBjdXJyZW50bHkKYWNjZXNzZWQgd2l0aG91dCB0aGUgcmVxdWlyZWQgUkNV IGFubm90YXRpb24uIFRoZSBhY2Nlc3NlcyBhcmUKc2FmZSwgYnV0IHNwYXJzZSBjb21wbGFpbnRz LiBTaW5jZSB3ZSBhbHJlYWR5IGhlbGQgdGhlCnJ0bmwgbG9jaywgbGV0IHVzZSBydG5sX2RlcmVm ZXJlbmNlKCkuCgpGaXhlczogYTFiN2M1ZmQ3ZmU5ICgibmV0OiBzY2hlZDogYWRkIGNsc191MzIg b2ZmbG9hZCBob29rcyBmb3IgbmV0ZGV2cyIpCkZpeGVzOiBkZTVkZjYzMjI4ZmMgKCJuZXQ6IHNj aGVkOiBjbHNfdTMyIGNoYW5nZXMgdG8ga25vZGUgbXVzdCBhcHBlYXIgYXRvbWljIHRvIHJlYWRl cnMiKQpTaWduZWQtb2ZmLWJ5OiBQYW9sbyBBYmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+CkFja2Vk LWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9jbHNf dTMyLmMgfCAxMiArKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2Nsc191MzIuYyBiL25ldC9z Y2hlZC9jbHNfdTMyLmMKaW5kZXggYWU4M2MzYWVjMzA4Li5kYTU3NGExNmU3YjMgMTAwNjQ0Ci0t LSBhL25ldC9zY2hlZC9jbHNfdTMyLmMKKysrIGIvbmV0L3NjaGVkL2Nsc191MzIuYwpAQCAtNDk2 LDYgKzQ5Niw3IEBAIHN0YXRpYyB2b2lkIHUzMl9jbGVhcl9od19obm9kZShzdHJ1Y3QgdGNmX3By b3RvICp0cCwgc3RydWN0IHRjX3VfaG5vZGUgKmgpCiBzdGF0aWMgaW50IHUzMl9yZXBsYWNlX2h3 X2tub2RlKHN0cnVjdCB0Y2ZfcHJvdG8gKnRwLCBzdHJ1Y3QgdGNfdV9rbm9kZSAqbiwKIAkJCQl1 MzIgZmxhZ3MpCiB7CisJc3RydWN0IHRjX3VfaG5vZGUgKmh0ID0gcnRubF9kZXJlZmVyZW5jZShu LT5odF9kb3duKTsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gdHAtPnEtPmRldl9xdWV1ZS0+ ZGV2OwogCXN0cnVjdCB0Y19jbHNfdTMyX29mZmxvYWQgdTMyX29mZmxvYWQgPSB7MH07CiAJc3Ry dWN0IHRjX3RvX25ldGRldiBvZmZsb2FkOwpAQCAtNTIwLDcgKzUyMSw3IEBAIHN0YXRpYyBpbnQg dTMyX3JlcGxhY2VfaHdfa25vZGUoc3RydWN0IHRjZl9wcm90byAqdHAsIHN0cnVjdCB0Y191X2tu b2RlICpuLAogCW9mZmxvYWQuY2xzX3UzMi0+a25vZGUuc2VsID0gJm4tPnNlbDsKIAlvZmZsb2Fk LmNsc191MzItPmtub2RlLmV4dHMgPSAmbi0+ZXh0czsKIAlpZiAobi0+aHRfZG93bikKLQkJb2Zm bG9hZC5jbHNfdTMyLT5rbm9kZS5saW5rX2hhbmRsZSA9IG4tPmh0X2Rvd24tPmhhbmRsZTsKKwkJ b2ZmbG9hZC5jbHNfdTMyLT5rbm9kZS5saW5rX2hhbmRsZSA9IGh0LT5oYW5kbGU7CiAKIAllcnIg PSBkZXYtPm5ldGRldl9vcHMtPm5kb19zZXR1cF90YyhkZXYsIHRwLT5xLT5oYW5kbGUsCiAJCQkJ CSAgICB0cC0+cHJvdG9jb2wsICZvZmZsb2FkKTsKQEAgLTc4OCw4ICs3ODksOSBAQCBzdGF0aWMg dm9pZCB1MzJfcmVwbGFjZV9rbm9kZShzdHJ1Y3QgdGNmX3Byb3RvICp0cCwgc3RydWN0IHRjX3Vf Y29tbW9uICp0cF9jLAogc3RhdGljIHN0cnVjdCB0Y191X2tub2RlICp1MzJfaW5pdF9rbm9kZShz dHJ1Y3QgdGNmX3Byb3RvICp0cCwKIAkJCQkJIHN0cnVjdCB0Y191X2tub2RlICpuKQogewotCXN0 cnVjdCB0Y191X2tub2RlICpuZXc7CisJc3RydWN0IHRjX3VfaG5vZGUgKmh0ID0gcnRubF9kZXJl ZmVyZW5jZShuLT5odF9kb3duKTsKIAlzdHJ1Y3QgdGNfdTMyX3NlbCAqcyA9ICZuLT5zZWw7CisJ c3RydWN0IHRjX3Vfa25vZGUgKm5ldzsKIAogCW5ldyA9IGt6YWxsb2Moc2l6ZW9mKCpuKSArIHMt Pm5rZXlzKnNpemVvZihzdHJ1Y3QgdGNfdTMyX2tleSksCiAJCSAgICAgIEdGUF9LRVJORUwpOwpA QCAtODA3LDExICs4MDksMTEgQEAgc3RhdGljIHN0cnVjdCB0Y191X2tub2RlICp1MzJfaW5pdF9r bm9kZShzdHJ1Y3QgdGNmX3Byb3RvICp0cCwKIAluZXctPmZzaGlmdCA9IG4tPmZzaGlmdDsKIAlu ZXctPnJlcyA9IG4tPnJlczsKIAluZXctPmZsYWdzID0gbi0+ZmxhZ3M7Ci0JUkNVX0lOSVRfUE9J TlRFUihuZXctPmh0X2Rvd24sIG4tPmh0X2Rvd24pOworCVJDVV9JTklUX1BPSU5URVIobmV3LT5o dF9kb3duLCBodCk7CiAKIAkvKiBidW1wIHJlZmVyZW5jZSBjb3VudCBhcyBsb25nIGFzIHdlIGhv bGQgcG9pbnRlciB0byBzdHJ1Y3R1cmUgKi8KLQlpZiAobmV3LT5odF9kb3duKQotCQluZXctPmh0 X2Rvd24tPnJlZmNudCsrOworCWlmIChodCkKKwkJaHQtPnJlZmNudCsrOwogCiAjaWZkZWYgQ09O RklHX0NMU19VMzJfUEVSRgogCS8qIFN0YXRpc3RpY3MgbWF5IGJlIGluY3JlbWVudGVkIGJ5IHJl YWRlcnMgZHVyaW5nIHVwZGF0ZQotLSAKMi4xNC4zCgoKRnJvbSAwZDRlNzkyY2Q2ODNmYThiODQ2 MWFmNDExNzYyMmMxMGI0MDQ5ZjllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0 aW4gS2FGYWkgTGF1IDxrYWZhaUBmYi5jb20+CkRhdGU6IFdlZCwgMjQgSmFuIDIwMTggMjM6MTU6 MjcgLTA4MDAKU3ViamVjdDogW1BBVENIIDEwLzExXSBpcHY2OiBGaXggU09fUkVVU0VQT1JUIFVE UCBzb2NrZXQgd2l0aCBpbXBsaWNpdAogc2tfaXB2Nm9ubHkKClsgVXBzdHJlYW0gY29tbWl0IDdl Y2U1NGE2MGVlMmJhN2EzODYzMDhjYWU3M2M3OTBiZDU4MDU4OWMgXQoKSWYgYSBza192Nl9yY3Zf c2FkZHIgaXMgIUlQVjZfQUREUl9BTlkgYW5kICFJUFY2X0FERFJfTUFQUEVELCBpdAppbXBsaWNp dGx5IGltcGxpZXMgaXQgaXMgYW4gaXB2Nm9ubHkgc29ja2V0LiAgSG93ZXZlciwgaW4gaW5ldDZf YmluZCgpLAp0aGlzIGFkZHJfdHlwZSBjaGVja2luZyBhbmQgc2V0dGluZyBzay0+c2tfaXB2Nm9u bHkgdG8gMSBhcmUgb25seSBkb25lCmFmdGVyIHNrLT5za19wcm90LT5nZXRfcG9ydChzaywgc251 bSkgaGFzIGJlZW4gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KClRoaXMgaW5jb25zaXN0ZW5jeSBi ZXR3ZWVuIHNrX3Y2X3Jjdl9zYWRkciBhbmQgc2tfaXB2Nm9ubHkgY29uZnVzZXMKdGhlICdnZXRf cG9ydCgpJy4KCkluIHBhcnRpY3VsYXIsIHdoZW4gYmluZGluZyBTT19SRVVTRVBPUlQgVURQIHNv Y2tldHMsCnVkcF9yZXVzZXBvcnRfYWRkX3NvY2soc2ssLi4uKSBpcyBjYWxsZWQuICB1ZHBfcmV1 c2Vwb3J0X2FkZF9zb2NrKCkKY2hlY2tzICJpcHY2X29ubHlfc29jayhzazIpID09IGlwdjZfb25s eV9zb2NrKHNrKSIgYmVmb3JlIGFkZGluZyBzayB0bwpzazItPnNrX3JldXNlcG9ydF9jYi4gIElu IHRoaXMgY2FzZSwgaXB2Nl9vbmx5X3NvY2soc2syKSBjb3VsZCBiZQoxIHdoaWxlIGlwdjZfb25s eV9zb2NrKHNrKSBpcyBzdGlsbCAwIGhlcmUuICBUaGUgZW5kIHJlc3VsdCBpcywKcmV1c2Vwb3J0 X2FsbG9jKHNrKSBpcyBjYWxsZWQgaW5zdGVhZCBvZiBhZGRpbmcgc2sgdG8gdGhlIGV4aXN0aW5n CnNrMi0+c2tfcmV1c2Vwb3J0X2NiLgoKSXQgY2FuIGJlIHJlcHJvZHVjZWQgYnkgYmluZGluZyB0 d28gU09fUkVVU0VQT1JUIFVEUCBzb2NrZXRzIG9uIGFuCklQdjYgYWRkcmVzcyAoIUFOWSBhbmQg IU1BUFBFRCkuICBPbmx5IG9uZSBvZiB0aGUgc29ja2V0IHdpbGwKcmVjZWl2ZSBwYWNrZXQuCgpU aGUgZml4IGlzIHRvIHNldCB0aGUgaW1wbGljaXQgc2tfaXB2Nm9ubHkgYmVmb3JlIGNhbGxpbmcg Z2V0X3BvcnQoKS4KVGhlIG9yaWdpbmFsIHNrX2lwdjZvbmx5IGhhcyB0byBiZSBzYXZlZCBzdWNo IHRoYXQgaXQgY2FuIGJlIHJlc3RvcmVkCmluIGNhc2UgZ2V0X3BvcnQoKSBmYWlsZWQuICBUaGUg c2l0dWF0aW9uIGlzIHNpbWlsYXIgdG8gdGhlCmluZXRfcmVzZXRfc2FkZHIoc2spIGFmdGVyIGdl dF9wb3J0KCkgaGFzIGZhaWxlZC4KClRoYW5rcyB0byBDYWx2aW4gT3dlbnMgPGNhbHZpbm93ZW5z QGZiLmNvbT4gd2hvIGNyZWF0ZWQgYW4gZWFzeQpyZXByb2R1Y3Rpb24gd2hpY2ggbGVhZHMgdG8g YSBmaXguCgpGaXhlczogZTMyZWE3ZTc0NzI3ICgic29yZXVzZXBvcnQ6IGZhc3QgcmV1c2Vwb3J0 IFVEUCBzb2NrZXQgc2VsZWN0aW9uIikKU2lnbmVkLW9mZi1ieTogTWFydGluIEthRmFpIExhdSA8 a2FmYWlAZmIuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvYWZfaW5ldDYuYyB8IDExICsrKysrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY2L2FmX2luZXQ2LmMgYi9uZXQvaXB2Ni9hZl9pbmV0Ni5jCmluZGV4IDVjYWQ3NmY4 NzUzNi4uNDIxMzc5MDE0OTk1IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9hZl9pbmV0Ni5jCisrKyBi L25ldC9pcHY2L2FmX2luZXQ2LmMKQEAgLTI3NCw2ICsyNzQsNyBAQCBpbnQgaW5ldDZfYmluZChz dHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnVhZGRyLCBpbnQgYWRkcl9sZW4p CiAJc3RydWN0IG5ldCAqbmV0ID0gc29ja19uZXQoc2spOwogCV9fYmUzMiB2NGFkZHIgPSAwOwog CXVuc2lnbmVkIHNob3J0IHNudW07CisJYm9vbCBzYXZlZF9pcHY2b25seTsKIAlpbnQgYWRkcl90 eXBlID0gMDsKIAlpbnQgZXJyID0gMDsKIApAQCAtMzc4LDE5ICszNzksMjEgQEAgaW50IGluZXQ2 X2JpbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICp1YWRkciwgaW50IGFk ZHJfbGVuKQogCWlmICghKGFkZHJfdHlwZSAmIElQVjZfQUREUl9NVUxUSUNBU1QpKQogCQlucC0+ c2FkZHIgPSBhZGRyLT5zaW42X2FkZHI7CiAKKwlzYXZlZF9pcHY2b25seSA9IHNrLT5za19pcHY2 b25seTsKKwlpZiAoYWRkcl90eXBlICE9IElQVjZfQUREUl9BTlkgJiYgYWRkcl90eXBlICE9IElQ VjZfQUREUl9NQVBQRUQpCisJCXNrLT5za19pcHY2b25seSA9IDE7CisKIAkvKiBNYWtlIHN1cmUg d2UgYXJlIGFsbG93ZWQgdG8gYmluZCBoZXJlLiAqLwogCWlmICgoc251bSB8fCAhaW5ldC0+Ymlu ZF9hZGRyZXNzX25vX3BvcnQpICYmCiAJICAgIHNrLT5za19wcm90LT5nZXRfcG9ydChzaywgc251 bSkpIHsKKwkJc2stPnNrX2lwdjZvbmx5ID0gc2F2ZWRfaXB2Nm9ubHk7CiAJCWluZXRfcmVzZXRf c2FkZHIoc2spOwogCQllcnIgPSAtRUFERFJJTlVTRTsKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYg KGFkZHJfdHlwZSAhPSBJUFY2X0FERFJfQU5ZKSB7CisJaWYgKGFkZHJfdHlwZSAhPSBJUFY2X0FE RFJfQU5ZKQogCQlzay0+c2tfdXNlcmxvY2tzIHw9IFNPQ0tfQklOREFERFJfTE9DSzsKLQkJaWYg KGFkZHJfdHlwZSAhPSBJUFY2X0FERFJfTUFQUEVEKQotCQkJc2stPnNrX2lwdjZvbmx5ID0gMTsK LQl9CiAJaWYgKHNudW0pCiAJCXNrLT5za191c2VybG9ja3MgfD0gU09DS19CSU5EUE9SVF9MT0NL OwogCWluZXQtPmluZXRfc3BvcnQgPSBodG9ucyhpbmV0LT5pbmV0X251bSk7Ci0tIAoyLjE0LjMK CgpGcm9tIDcwM2EzYzI5NTQ3OTY0MzhlMTI2YmFhYzJmYjJlZGUwZmMxZTllYjYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4K RGF0ZTogRnJpLCAyIEZlYiAyMDE4IDEwOjI3OjI3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMS8x MV0gc29yZXVzZXBvcnQ6IGZpeCBtZW0gbGVhayBpbiByZXVzZXBvcnRfYWRkX3NvY2soKQpNSU1F LVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgNGRiNDI4YTdj OWFiMDdlMDg3ODNlMGZjZGM0Y2EwZjU1NWRhMDU2NyBdCgpyZXVzZXBvcnRfYWRkX3NvY2soKSBu ZWVkcyB0byBkZWFsIHdpdGggYXR0YWNoaW5nIGEgc29ja2V0IGhhdmluZwppdHMgb3duIHNrX3Jl dXNlcG9ydF9jYiwgYWZ0ZXIgYSBwcmlvcgpzZXRzb2Nrb3B0KFNPX0FUVEFDSF9SRVVTRVBPUlRf P0JQRikKCldpdGhvdXQgdGhpcyBmaXgsIG5vdCBvbmx5IGEgV0FSTl9PTkNFKCkgd2FzIGlzc3Vl ZCwgYnV0IHdlIHdlcmUgYWxzbwpsZWFraW5nIG1lbW9yeS4KClRoYW5rcyB0byBzeXNib3QgYW5k IEVyaWMgQmlnZ2VycyBmb3IgcHJvdmlkaW5nIHVzIG5pY2UgQyByZXByb3MuCgotLS0tLS0tLS0t LS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0Kc29ja2V0IGFscmVhZHkgaW4gcmV1c2Vwb3J0IGdy b3VwCldBUk5JTkc6IENQVTogMCBQSUQ6IDM0OTYgYXQgbmV0L2NvcmUvc29ja19yZXVzZXBvcnQu YzoxMTnCoMKgCnJldXNlcG9ydF9hZGRfc29jaysweDc0Mi8weDliMCBuZXQvY29yZS9zb2NrX3Jl dXNlcG9ydC5jOjExNwpLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogcGFuaWNfb25fd2FybiBz ZXQgLi4uCgpDUFU6IDAgUElEOiAzNDk2IENvbW06IHN5emthbGxlcjg2OTUwMyBOb3QgdGFpbnRl ZCA0LjE1LjAtcmM2KyAjMjQ1CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBF bmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLApCSU9TwqDCoApHb29nbGUgMDEvMDEvMjAxMQpD YWxsIFRyYWNlOgrCoCBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzoxNyBbaW5saW5lXQrC oCBkdW1wX3N0YWNrKzB4MTk0LzB4MjU3IGxpYi9kdW1wX3N0YWNrLmM6NTMKwqAgcGFuaWMrMHgx ZTQvMHg0MWMga2VybmVsL3BhbmljLmM6MTgzCsKgIF9fd2FybisweDFkYy8weDIwMCBrZXJuZWwv cGFuaWMuYzo1NDcKwqAgcmVwb3J0X2J1ZysweDIxMS8weDJkMCBsaWIvYnVnLmM6MTg0CsKgIGZp eHVwX2J1Zy5wYXJ0LjExKzB4MzcvMHg4MCBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzoxNzgKwqAg Zml4dXBfYnVnIGFyY2gveDg2L2tlcm5lbC90cmFwcy5jOjI0NyBbaW5saW5lXQrCoCBkb19lcnJv cl90cmFwKzB4MmQ3LzB4M2UwIGFyY2gveDg2L2tlcm5lbC90cmFwcy5jOjI5NgrCoCBkb19pbnZh bGlkX29wKzB4MWIvMHgyMCBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzozMTUKwqAgaW52YWxpZF9v cCsweDIyLzB4NDAgYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUzoxMDc5CgpGaXhlczogZWY0NTYx NDRkYThlICgic29yZXVzZXBvcnQ6IGRlZmluZSByZXVzZXBvcnQgZ3JvdXBzIikKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90K2MwZWEyMjI2Zjc3YTQyOTM2YmY3QHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KQWNrZWQt Ynk6IENyYWlnIEdhbGxlayA8a3JhaWdAZ29vZ2xlLmNvbT4KClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9zb2NrX3JldXNl cG9ydC5jIHwgMzUgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9u ZXQvY29yZS9zb2NrX3JldXNlcG9ydC5jIGIvbmV0L2NvcmUvc29ja19yZXVzZXBvcnQuYwppbmRl eCA3N2YzOTZiNjc5Y2UuLjVkY2U0MjkxZjBlZCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvc29ja19y ZXVzZXBvcnQuYworKysgYi9uZXQvY29yZS9zb2NrX3JldXNlcG9ydC5jCkBAIC05Myw2ICs5Mywx NiBAQCBzdGF0aWMgc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpyZXVzZXBvcnRfZ3JvdyhzdHJ1Y3Qg c29ja19yZXVzZXBvcnQgKnJldXNlKQogCXJldHVybiBtb3JlX3JldXNlOwogfQogCitzdGF0aWMg dm9pZCByZXVzZXBvcnRfZnJlZV9yY3Uoc3RydWN0IHJjdV9oZWFkICpoZWFkKQoreworCXN0cnVj dCBzb2NrX3JldXNlcG9ydCAqcmV1c2U7CisKKwlyZXVzZSA9IGNvbnRhaW5lcl9vZihoZWFkLCBz dHJ1Y3Qgc29ja19yZXVzZXBvcnQsIHJjdSk7CisJaWYgKHJldXNlLT5wcm9nKQorCQlicGZfcHJv Z19kZXN0cm95KHJldXNlLT5wcm9nKTsKKwlrZnJlZShyZXVzZSk7Cit9CisKIC8qKgogICogIHJl dXNlcG9ydF9hZGRfc29jayAtIEFkZCBhIHNvY2tldCB0byB0aGUgcmV1c2Vwb3J0IGdyb3VwIG9m IGFub3RoZXIuCiAgKiAgQHNrOiAgTmV3IHNvY2tldCB0byBhZGQgdG8gdGhlIGdyb3VwLgpAQCAt MTAxLDcgKzExMSw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc29ja19yZXVzZXBvcnQgKnJldXNlcG9ydF9n cm93KHN0cnVjdCBzb2NrX3JldXNlcG9ydCAqcmV1c2UpCiAgKi8KIGludCByZXVzZXBvcnRfYWRk X3NvY2soc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc29jayAqc2syKQogewotCXN0cnVjdCBzb2Nr X3JldXNlcG9ydCAqcmV1c2U7CisJc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpvbGRfcmV1c2UsICpy ZXVzZTsKIAogCWlmICghcmN1X2FjY2Vzc19wb2ludGVyKHNrMi0+c2tfcmV1c2Vwb3J0X2NiKSkg ewogCQlpbnQgZXJyID0gcmV1c2Vwb3J0X2FsbG9jKHNrMik7CkBAIC0xMTIsMTAgKzEyMiwxMyBA QCBpbnQgcmV1c2Vwb3J0X2FkZF9zb2NrKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKnNr MikKIAogCXNwaW5fbG9ja19iaCgmcmV1c2Vwb3J0X2xvY2spOwogCXJldXNlID0gcmN1X2RlcmVm ZXJlbmNlX3Byb3RlY3RlZChzazItPnNrX3JldXNlcG9ydF9jYiwKLQkJCQkJICBsb2NrZGVwX2lz X2hlbGQoJnJldXNlcG9ydF9sb2NrKSksCi0JV0FSTl9PTkNFKHJjdV9kZXJlZmVyZW5jZV9wcm90 ZWN0ZWQoc2stPnNrX3JldXNlcG9ydF9jYiwKLQkJCQkJICAgIGxvY2tkZXBfaXNfaGVsZCgmcmV1 c2Vwb3J0X2xvY2spKSwKLQkJICAic29ja2V0IGFscmVhZHkgaW4gcmV1c2Vwb3J0IGdyb3VwIik7 CisJCQkJCSAgbG9ja2RlcF9pc19oZWxkKCZyZXVzZXBvcnRfbG9jaykpOworCW9sZF9yZXVzZSA9 IHJjdV9kZXJlZmVyZW5jZV9wcm90ZWN0ZWQoc2stPnNrX3JldXNlcG9ydF9jYiwKKwkJCQkJICAg ICBsb2NrZGVwX2lzX2hlbGQoJnJldXNlcG9ydF9sb2NrKSk7CisJaWYgKG9sZF9yZXVzZSAmJiBv bGRfcmV1c2UtPm51bV9zb2NrcyAhPSAxKSB7CisJCXNwaW5fdW5sb2NrX2JoKCZyZXVzZXBvcnRf bG9jayk7CisJCXJldHVybiAtRUJVU1k7CisJfQogCiAJaWYgKHJldXNlLT5udW1fc29ja3MgPT0g cmV1c2UtPm1heF9zb2NrcykgewogCQlyZXVzZSA9IHJldXNlcG9ydF9ncm93KHJldXNlKTsKQEAg LTEzMywxOSArMTQ2LDExIEBAIGludCByZXVzZXBvcnRfYWRkX3NvY2soc3RydWN0IHNvY2sgKnNr LCBzdHJ1Y3Qgc29jayAqc2syKQogCiAJc3Bpbl91bmxvY2tfYmgoJnJldXNlcG9ydF9sb2NrKTsK IAorCWlmIChvbGRfcmV1c2UpCisJCWNhbGxfcmN1KCZvbGRfcmV1c2UtPnJjdSwgcmV1c2Vwb3J0 X2ZyZWVfcmN1KTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgcmV1c2Vwb3J0X2ZyZWVf cmN1KHN0cnVjdCByY3VfaGVhZCAqaGVhZCkKLXsKLQlzdHJ1Y3Qgc29ja19yZXVzZXBvcnQgKnJl dXNlOwotCi0JcmV1c2UgPSBjb250YWluZXJfb2YoaGVhZCwgc3RydWN0IHNvY2tfcmV1c2Vwb3J0 LCByY3UpOwotCWlmIChyZXVzZS0+cHJvZykKLQkJYnBmX3Byb2dfZGVzdHJveShyZXVzZS0+cHJv Zyk7Ci0Ja2ZyZWUocmV1c2UpOwotfQotCiB2b2lkIHJldXNlcG9ydF9kZXRhY2hfc29jayhzdHJ1 Y3Qgc29jayAqc2spCiB7CiAJc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpyZXVzZTsKLS0gCjIuMTQu MwoK ----Next_Part(Tue_Feb__6_15_19_49_2018_731)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_414.mbox" RnJvbSAwMDg0M2Q0NWRkMzkyM2U0YWRhNDhiNDhhZThkNzY5OTdkYTE2MDE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF5IEFsZWtzYW5kcm92IDxuaWtvbGF5QGN1bXVsdXNu ZXR3b3Jrcy5jb20+CkRhdGU6IFdlZCwgMzEgSmFuIDIwMTggMTY6Mjk6MzAgKzAyMDAKU3ViamVj dDogW1BBVENIIDAxLzEzXSBpcDZtcjogZml4IHN0YWxlIGl0ZXJhdG9yCgpbIFVwc3RyZWFtIGNv bW1pdCA0YWRmYTc5ZmMyNTRlZmI3YjBlYjNjZDU4ZjYyYzJjM2Y4MDVmMWJhIF0KCldoZW4gd2Ug ZHVtcCB0aGUgaXA2bXIgbWZjIGVudHJpZXMgdmlhIHByb2MsIHdlIGluaXRpYWxpemUgYW4gaXRl cmF0b3IKd2l0aCB0aGUgdGFibGUgdG8gZHVtcCBidXQgd2UgZG9uJ3QgY2xlYXIgdGhlIGNhY2hl IHBvaW50ZXIgd2hpY2ggbWlnaHQKYmUgaW5pdGlhbGl6ZWQgZnJvbSBhIHByaW9yIHJlYWQgb24g dGhlIHNhbWUgZGVzY3JpcHRvciB0aGF0IGVuZGVkLiBUaGlzCmNhbiByZXN1bHQgaW4gbG9jayBp bWJhbGFuY2UgKGFuIHVubmVjZXNzYXJ5IHVubG9jaykgbGVhZGluZyB0byBvdGhlcgpjcmFzaGVz IGFuZCBoYW5ncy4gQ2xlYXIgdGhlIGNhY2hlIHBvaW50ZXIgbGlrZSBpcG1yIGRvZXMgdG8gZml4 IHRoZSBpc3N1ZS4KVGhhbmtzIGZvciB0aGUgcmVsaWFibGUgcmVwcm9kdWNlci4KCkhlcmUncyBz eXpib3QncyB0cmFjZToKIFdBUk5JTkc6IGJhZCB1bmxvY2sgYmFsYW5jZSBkZXRlY3RlZCEKIDQu MTUuMC1yYzMrICMxMjggTm90IHRhaW50ZWQKIHN5emthbGxlcjk3MTQ2MC8zMTk1IGlzIHRyeWlu ZyB0byByZWxlYXNlIGxvY2sgKG1ydF9sb2NrKSBhdDoKIFs8MDAwMDAwMDA2ODk4MDY4ZD5dIGlw bXJfbWZjX3NlcV9zdG9wKzB4ZTEvMHgxMzAgbmV0L2lwdjYvaXA2bXIuYzo1NTMKIGJ1dCB0aGVy ZSBhcmUgbm8gbW9yZSBsb2NrcyB0byByZWxlYXNlIQoKIG90aGVyIGluZm8gdGhhdCBtaWdodCBo ZWxwIHVzIGRlYnVnIHRoaXM6CiAxIGxvY2sgaGVsZCBieSBzeXprYWxsZXI5NzE0NjAvMzE5NToK ICAjMDogICgmcC0+bG9jayl7Ky4rLn0sIGF0OiBbPDAwMDAwMDAwNzQ0YTY1NjU+XSBzZXFfcmVh ZCsweGQ1LzB4MTNkMAogZnMvc2VxX2ZpbGUuYzoxNjUKCiBzdGFjayBiYWNrdHJhY2U6CiBDUFU6 IDEgUElEOiAzMTk1IENvbW06IHN5emthbGxlcjk3MTQ2MCBOb3QgdGFpbnRlZCA0LjE1LjAtcmMz KyAjMTI4CiBIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2ds ZSBDb21wdXRlIEVuZ2luZSwgQklPUwogR29vZ2xlIDAxLzAxLzIwMTEKIENhbGwgVHJhY2U6CiAg X19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6MTcgW2lubGluZV0KICBkdW1wX3N0YWNrKzB4 MTk0LzB4MjU3IGxpYi9kdW1wX3N0YWNrLmM6NTMKICBwcmludF91bmxvY2tfaW1iYWxhbmNlX2J1 ZysweDEyZi8weDE0MCBrZXJuZWwvbG9ja2luZy9sb2NrZGVwLmM6MzU2MQogIF9fbG9ja19yZWxl YXNlIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzozNzc1IFtpbmxpbmVdCiAgbG9ja19yZWxlYXNl KzB4NWY5LzB4ZGEwIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzo0MDIzCiAgX19yYXdfcmVhZF91 bmxvY2sgaW5jbHVkZS9saW51eC9yd2xvY2tfYXBpX3NtcC5oOjIyNSBbaW5saW5lXQogIF9yYXdf cmVhZF91bmxvY2srMHgxYS8weDMwIGtlcm5lbC9sb2NraW5nL3NwaW5sb2NrLmM6MjU1CiAgaXBt cl9tZmNfc2VxX3N0b3ArMHhlMS8weDEzMCBuZXQvaXB2Ni9pcDZtci5jOjU1MwogIHRyYXZlcnNl KzB4M2JjLzB4YTAwIGZzL3NlcV9maWxlLmM6MTM1CiAgc2VxX3JlYWQrMHg5NmEvMHgxM2QwIGZz L3NlcV9maWxlLmM6MTg5CiAgcHJvY19yZWdfcmVhZCsweGVmLzB4MTcwIGZzL3Byb2MvaW5vZGUu YzoyMTcKICBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6NjczIFtpbmxpbmVd CiAgZG9faXRlcl9yZWFkKzB4M2RiLzB4NWIwIGZzL3JlYWRfd3JpdGUuYzo4OTcKICBjb21wYXRf cmVhZHYrMHgxYmYvMHgyNzAgZnMvcmVhZF93cml0ZS5jOjExNDAKICBkb19jb21wYXRfcHJlYWR2 NjQrMHhkYy8weDEwMCBmcy9yZWFkX3dyaXRlLmM6MTE4OQogIENfU1lTQ19wcmVhZHYgZnMvcmVh ZF93cml0ZS5jOjEyMDkgW2lubGluZV0KICBjb21wYXRfU3lTX3ByZWFkdisweDNiLzB4NTAgZnMv cmVhZF93cml0ZS5jOjEyMDMKICBkb19zeXNjYWxsXzMyX2lycXNfb24gYXJjaC94ODYvZW50cnkv Y29tbW9uLmM6MzI3IFtpbmxpbmVdCiAgZG9fZmFzdF9zeXNjYWxsXzMyKzB4M2VlLzB4ZjlkIGFy Y2gveDg2L2VudHJ5L2NvbW1vbi5jOjM4OQogIGVudHJ5X1NZU0VOVEVSX2NvbXBhdCsweDUxLzB4 NjAgYXJjaC94ODYvZW50cnkvZW50cnlfNjRfY29tcGF0LlM6MTI1CiBSSVA6IDAwMjM6MHhmN2Y3 M2M3OQogUlNQOiAwMDJiOjAwMDAwMDAwZTU3NGExNWMgRUZMQUdTOiAwMDAwMDI5MiBPUklHX1JB WDogMDAwMDAwMDAwMDAwMDE0ZAogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAw MDAwMDAwZiBSQ1g6IDAwMDAwMDAwMjBhM2FmYjAKIFJEWDogMDAwMDAwMDAwMDAwMDAwMSBSU0k6 IDAwMDAwMDAwMDAwMDAwNjcgUkRJOiAwMDAwMDAwMDAwMDAwMDAwCiBSQlA6IDAwMDAwMDAwMDAw MDAwMDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMAogUjEwOiAw MDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IDAwMDAwMDAwMDAwMDAw MDAKIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAw MDAwMDAwMDAwMDAwCiBCVUc6IHNsZWVwaW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQg Y29udGV4dCBhdCBsaWIvdXNlcmNvcHkuYzoyNQogaW5fYXRvbWljKCk6IDEsIGlycXNfZGlzYWJs ZWQoKTogMCwgcGlkOiAzMTk1LCBuYW1lOiBzeXprYWxsZXI5NzE0NjAKIElORk86IGxvY2tkZXAg aXMgdHVybmVkIG9mZi4KIENQVTogMSBQSUQ6IDMxOTUgQ29tbTogc3l6a2FsbGVyOTcxNDYwIE5v dCB0YWludGVkIDQuMTUuMC1yYzMrICMxMjgKIEhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUg Q29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TCiBHb29nbGUgMDEvMDEv MjAxMQogQ2FsbCBUcmFjZToKICBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzoxNyBbaW5s aW5lXQogIGR1bXBfc3RhY2srMHgxOTQvMHgyNTcgbGliL2R1bXBfc3RhY2suYzo1MwogIF9fX21p Z2h0X3NsZWVwKzB4MmIyLzB4NDcwIGtlcm5lbC9zY2hlZC9jb3JlLmM6NjA2MAogIF9fbWlnaHRf c2xlZXArMHg5NS8weDE5MCBrZXJuZWwvc2NoZWQvY29yZS5jOjYwMTMKICBfX21pZ2h0X2ZhdWx0 KzB4YWIvMHgxZDAgbW0vbWVtb3J5LmM6NDUyNQogIF9jb3B5X3RvX3VzZXIrMHgyYy8weGMwIGxp Yi91c2VyY29weS5jOjI1CiAgY29weV90b191c2VyIGluY2x1ZGUvbGludXgvdWFjY2Vzcy5oOjE1 NSBbaW5saW5lXQogIHNlcV9yZWFkKzB4Y2I0LzB4MTNkMCBmcy9zZXFfZmlsZS5jOjI3OQogIHBy b2NfcmVnX3JlYWQrMHhlZi8weDE3MCBmcy9wcm9jL2lub2RlLmM6MjE3CiAgZG9fbG9vcF9yZWFk dl93cml0ZXYgZnMvcmVhZF93cml0ZS5jOjY3MyBbaW5saW5lXQogIGRvX2l0ZXJfcmVhZCsweDNk Yi8weDViMCBmcy9yZWFkX3dyaXRlLmM6ODk3CiAgY29tcGF0X3JlYWR2KzB4MWJmLzB4MjcwIGZz L3JlYWRfd3JpdGUuYzoxMTQwCiAgZG9fY29tcGF0X3ByZWFkdjY0KzB4ZGMvMHgxMDAgZnMvcmVh ZF93cml0ZS5jOjExODkKICBDX1NZU0NfcHJlYWR2IGZzL3JlYWRfd3JpdGUuYzoxMjA5IFtpbmxp bmVdCiAgY29tcGF0X1N5U19wcmVhZHYrMHgzYi8weDUwIGZzL3JlYWRfd3JpdGUuYzoxMjAzCiAg ZG9fc3lzY2FsbF8zMl9pcnFzX29uIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjMyNyBbaW5saW5l XQogIGRvX2Zhc3Rfc3lzY2FsbF8zMisweDNlZS8weGY5ZCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzozODkKICBlbnRyeV9TWVNFTlRFUl9jb21wYXQrMHg1MS8weDYwIGFyY2gveDg2L2VudHJ5L2Vu dHJ5XzY0X2NvbXBhdC5TOjEyNQogUklQOiAwMDIzOjB4ZjdmNzNjNzkKIFJTUDogMDAyYjowMDAw MDAwMGU1NzRhMTVjIEVGTEFHUzogMDAwMDAyOTIgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAxNGQK IFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMGYgUkNYOiAwMDAwMDAw MDIwYTNhZmIwCiBSRFg6IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiAwMDAwMDAwMDAwMDAwMDY3IFJE STogMDAwMDAwMDAwMDAwMDAwMAogUkJQOiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAwMDAwMDAw MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6 IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiAwMDAwMDAwMDAwMDAwMDAwCiBSMTM6IDAwMDAwMDAwMDAw MDAwMDAgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAogV0FSTklO RzogQ1BVOiAxIFBJRDogMzE5NSBhdCBsaWIvdXNlcmNvcHkuYzoyNiBfY29weV90b191c2VyKzB4 YjUvMHhjMAogbGliL3VzZXJjb3B5LmM6MjYKClJlcG9ydGVkLWJ5OiBzeXpib3QgPGJvdCtlY2Vi MzIwNDU2MmM0MWE0MzhmYTFmMjMzNWUwZmU0ZjY4ODZkNjY5QHN5emthbGxlci5hcHBzcG90bWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IE5pa29sYXkgQWxla3NhbmRyb3YgPG5pa29sYXlAY3VtdWx1 c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNm1yLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNm1yLmMgYi9uZXQvaXB2Ni9p cDZtci5jCmluZGV4IGY1NTAwZjU0NDRlOS4uZTEwNjBmMjg0MTBkIDEwMDY0NAotLS0gYS9uZXQv aXB2Ni9pcDZtci5jCisrKyBiL25ldC9pcHY2L2lwNm1yLmMKQEAgLTQ5Niw2ICs0OTYsNyBAQCBz dGF0aWMgdm9pZCAqaXBtcl9tZmNfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBsb2Zm X3QgKnBvcykKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CiAKIAlpdC0+bXJ0ID0gbXJ0Owor CWl0LT5jYWNoZSA9IE5VTEw7CiAJcmV0dXJuICpwb3MgPyBpcG1yX21mY19zZXFfaWR4KG5ldCwg c2VxLT5wcml2YXRlLCAqcG9zIC0gMSkKIAkJOiBTRVFfU1RBUlRfVE9LRU47CiB9Ci0tIAoyLjE0 LjMKCgpGcm9tIDdmMmE2OGQzMWM1NWFiMDlhMzZhYWE0OWE3ODI0MzY1ZTdlZTJmNTQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KRGF0ZTogVGh1LCAxIEZlYiAyMDE4IDEwOjI2OjU3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAw Mi8xM10gbmV0OiBpZ21wOiBhZGQgYSBtaXNzaW5nIHJjdSBsb2NraW5nIHNlY3Rpb24KClsgVXBz dHJlYW0gY29tbWl0IGU3YWFkYjI3YTU0MTVlODEyNTgzNGI4NGE3NDQ3N2JmYmVlNGVmZjUgXQoK TmV3bHkgYWRkZWQgaWdtcHYzX2dldF9zcmNhZGRyKCkgbmVlZHMgdG8gYmUgY2FsbGVkIHVuZGVy IHJjdSBsb2NrLgoKVGltZXIgY2FsbGJhY2tzIGRvIG5vdCBlbnN1cmUgdGhpcyBsb2NraW5nLgoK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV0FSTklORzogc3VzcGljaW91cyBSQ1UgdXNh Z2UKNC4xNS4wKyAjMjAwIE5vdCB0YWludGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci4vaW5jbHVkZS9saW51eC9pbmV0ZGV2aWNlLmg6MjE2IHN1c3BpY2lvdXMgcmN1X2RlcmVmZXJl bmNlX2NoZWNrKCkgdXNhZ2UhCgpvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0 aGlzOgoKcmN1X3NjaGVkdWxlcl9hY3RpdmUgPSAyLCBkZWJ1Z19sb2NrcyA9IDEKMyBsb2NrcyBo ZWxkIGJ5IHN5emthbGxlcjYxNjk3My80MDc0OgogIzA6ICAoJm1tLT5tbWFwX3NlbSl7KysrK30s IGF0OiBbPDAwMDAwMDAwYmZjZTY2OWU+XSBfX2RvX3BhZ2VfZmF1bHQrMHgzMmQvMHhjOTAgYXJj aC94ODYvbW0vZmF1bHQuYzoxMzU1CiAjMTogICgoJmltLT50aW1lcikpeysuLS59LCBhdDogWzww MDAwMDAwMDYxOWQyZjcxPl0gbG9ja2RlcF9jb3B5X21hcCBpbmNsdWRlL2xpbnV4L2xvY2tkZXAu aDoxNzggW2lubGluZV0KICMxOiAgKCgmaW0tPnRpbWVyKSl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAw NjE5ZDJmNzE+XSBjYWxsX3RpbWVyX2ZuKzB4MWM2LzB4ODIwIGtlcm5lbC90aW1lL3RpbWVyLmM6 MTMxNgogIzI6ICAoJigmaW0tPmxvY2spLT5ybG9jayl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAwNWY4 MzNjNWM+XSBzcGluX2xvY2tfYmggaW5jbHVkZS9saW51eC9zcGlubG9jay5oOjMxNSBbaW5saW5l XQogIzI6ICAoJigmaW0tPmxvY2spLT5ybG9jayl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAwNWY4MzNj NWM+XSBpZ21wdjNfc2VuZF9yZXBvcnQrMHg5OC8weDViMCBuZXQvaXB2NC9pZ21wLmM6NjAwCgpz dGFjayBiYWNrdHJhY2U6CkNQVTogMCBQSUQ6IDQwNzQgQ29tbTogc3l6a2FsbGVyNjE2OTczIE5v dCB0YWludGVkIDQuMTUuMCsgIzIwMApIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1 dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpD YWxsIFRyYWNlOgogPElSUT4KIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjE3IFtpbmxp bmVdCiBkdW1wX3N0YWNrKzB4MTk0LzB4MjU3IGxpYi9kdW1wX3N0YWNrLmM6NTMKIGxvY2tkZXBf cmN1X3N1c3BpY2lvdXMrMHgxMjMvMHgxNzAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQ1OTIK IF9faW5fZGV2X2dldF9yY3UgaW5jbHVkZS9saW51eC9pbmV0ZGV2aWNlLmg6MjE2IFtpbmxpbmVd CiBpZ21wdjNfZ2V0X3NyY2FkZHIgbmV0L2lwdjQvaWdtcC5jOjMyOSBbaW5saW5lXQogaWdtcHYz X25ld3BhY2srMHhlZWYvMHgxMmUwIG5ldC9pcHY0L2lnbXAuYzozODkKIGFkZF9ncmhlYWQuaXNy YS4yNysweDIzNS8weDMwMCBuZXQvaXB2NC9pZ21wLmM6NDMyCiBhZGRfZ3JlYysweGJkMy8weDEx NzAgbmV0L2lwdjQvaWdtcC5jOjU2NQogaWdtcHYzX3NlbmRfcmVwb3J0KzB4ZDUvMHg1YjAgbmV0 L2lwdjQvaWdtcC5jOjYwNQogaWdtcF9zZW5kX3JlcG9ydCsweGM0My8weDEwNTAgbmV0L2lwdjQv aWdtcC5jOjcyMgogaWdtcF90aW1lcl9leHBpcmUrMHgzMjIvMHg1YzAgbmV0L2lwdjQvaWdtcC5j OjgzMQogY2FsbF90aW1lcl9mbisweDIyOC8weDgyMCBrZXJuZWwvdGltZS90aW1lci5jOjEzMjYK IGV4cGlyZV90aW1lcnMga2VybmVsL3RpbWUvdGltZXIuYzoxMzYzIFtpbmxpbmVdCiBfX3J1bl90 aW1lcnMrMHg3ZWUvMHhiNzAga2VybmVsL3RpbWUvdGltZXIuYzoxNjY2CiBydW5fdGltZXJfc29m dGlycSsweDRjLzB4NzAga2VybmVsL3RpbWUvdGltZXIuYzoxNjkyCiBfX2RvX3NvZnRpcnErMHgy ZDcvMHhiODUga2VybmVsL3NvZnRpcnEuYzoyODUKIGludm9rZV9zb2Z0aXJxIGtlcm5lbC9zb2Z0 aXJxLmM6MzY1IFtpbmxpbmVdCiBpcnFfZXhpdCsweDFjYy8weDIwMCBrZXJuZWwvc29mdGlycS5j OjQwNQogZXhpdGluZ19pcnEgYXJjaC94ODYvaW5jbHVkZS9hc20vYXBpYy5oOjU0MSBbaW5saW5l XQogc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KzB4MTZiLzB4NzAwIGFyY2gveDg2L2tlcm5lbC9h cGljL2FwaWMuYzoxMDUyCiBhcGljX3RpbWVyX2ludGVycnVwdCsweGE5LzB4YjAgYXJjaC94ODYv ZW50cnkvZW50cnlfNjQuUzo5MzgKCkZpeGVzOiBhNDYxODJiMDAyOTAgKCJuZXQ6IGlnbXA6IFVz ZSBjb3JyZWN0IHNvdXJjZSBhZGRyZXNzIG9uIElHTVB2MyByZXBvcnRzIikKU2lnbmVkLW9mZi1i eTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90 IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9pZ21wLmMgfCA0ICsrKysK IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9p Z21wLmMgYi9uZXQvaXB2NC9pZ21wLmMKaW5kZXggMDEzZmVkNTViNjEwLi5mYmViMzVhZDgwNGIg MTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lnbXAuYworKysgYi9uZXQvaXB2NC9pZ21wLmMKQEAgLTM4 Niw3ICszODYsMTEgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICppZ21wdjNfbmV3cGFjayhzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbXR1KQogCXBpcC0+ZnJhZ19vZmYgPSBo dG9ucyhJUF9ERik7CiAJcGlwLT50dGwgICAgICA9IDE7CiAJcGlwLT5kYWRkciAgICA9IGZsNC5k YWRkcjsKKworCXJjdV9yZWFkX2xvY2soKTsKIAlwaXAtPnNhZGRyICAgID0gaWdtcHYzX2dldF9z cmNhZGRyKGRldiwgJmZsNCk7CisJcmN1X3JlYWRfdW5sb2NrKCk7CisKIAlwaXAtPnByb3RvY29s ID0gSVBQUk9UT19JR01QOwogCXBpcC0+dG90X2xlbiAgPSAwOwkvKiBmaWxsZWQgaW4gbGF0ZXIg Ki8KIAlpcF9zZWxlY3RfaWRlbnQobmV0LCBza2IsIE5VTEwpOwotLSAKMi4xNC4zCgoKRnJvbSBh NjhiN2UyZDQ1NjM5NjM4NmUyOTYzZWE5MjkxNTI4OTllYWQwYjM3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKdW54aWFvIEJpIDxqdW54aWFvLmJpQG9yYWNsZS5jb20+CkRhdGU6IE1v biwgMjkgSmFuIDIwMTggMTc6NTM6NDIgKzA4MDAKU3ViamVjdDogW1BBVENIIDAzLzEzXSBxbGNu aWM6IGZpeCBkZWFkbG9jayBidWcKClsgVXBzdHJlYW0gY29tbWl0IDIzM2FjMzg5MTYwN2Y1MDFm MDg4NzkxMzRkNjIzYjMwMzgzOGY0NzggXQoKVGhlIGZvbGxvd2luZyBzb2Z0IGxvY2t1cCB3YXMg Y2F1Z2h0LiBUaGlzIGlzIGEgZGVhZGxvY2sgY2F1c2VkIGJ5CnJlY3VzaXZlIGxvY2tpbmcuCgpQ cm9jZXNzIGt3b3JrZXIvdTQwOjE6MjgwMTYgd2FzIGhvbGRpbmcgc3BpbiBsb2NrICJtYngtPnF1 ZXVlX2xvY2siIGluCnFsY25pY184M3h4X21haWxib3hfd29ya2VyKCksIHdoaWxlIGEgc29mdGly cSBjYW1lIGluIGFuZCBhc2sgdGhlIHNhbWUgc3Bpbgpsb2NrIGluIHFsY25pY184M3h4X2VucXVl dWVfbWJ4X2NtZCgpLiBUaGlzIGxvY2sgc2hvdWxkIGJlIGhvbGQgYnkgZGlzYWJsZQpiaC4uCgpb MTYxODQ2Ljk2MjEyNV0gTk1JIHdhdGNoZG9nOiBCVUc6IHNvZnQgbG9ja3VwIC0gQ1BVIzEgc3R1 Y2sgZm9yIDIycyEgW2t3b3JrZXIvdTQwOjE6MjgwMTZdClsxNjE4NDYuOTYyMzY3XSBNb2R1bGVz IGxpbmtlZCBpbjogdHVuIG9jZnMyIHhlbl9uZXRiYWNrIHhlbl9ibGtiYWNrIHhlbl9nbnRhbGxv YyB4ZW5fZ250ZGV2IHhlbl9ldnRjaG4geGVuZnMgeGVuX3ByaXZjbWQgYXV0b2ZzNCBvY2ZzMl9k bG1mcyBvY2ZzMl9zdGFja19vMmNiIG9jZnMyX2RsbSBvY2ZzMl9ub2RlbWFuYWdlciBvY2ZzMl9z dGFja2dsdWUgY29uZmlnZnMgYm54MmZjIGZjb2UgbGliZmNvZSBsaWJmYyBzdW5ycGMgODAyMXEg bXJwIGdhcnAgYnJpZGdlIHN0cCBsbGMgYm9uZGluZyBkbV9yb3VuZF9yb2JpbiBkbV9tdWx0aXBh dGggaVRDT193ZHQgaVRDT192ZW5kb3Jfc3VwcG9ydCBwY3Nwa3Igc2JfZWRhYyBlZGFjX2NvcmUg aTJjX2k4MDEgc2hwY2hwIGxwY19pY2ggbWZkX2NvcmUgaW9hdGRtYSBpcG1pX2RldmludGYgaXBt aV9zaSBpcG1pX21zZ2hhbmRsZXIgc2cgZXh0NCBqYmQyIG1iY2FjaGUyIHNyX21vZCBjZHJvbSBz ZF9tb2QgaWdiIGkyY19hbGdvX2JpdCBpMmNfY29yZSBhaGNpIGxpYmFoY2kgbWVnYXJhaWRfc2Fz IGl4Z2JlIGRjYSBwdHAgcHBzX2NvcmUgdnhsYW4gdWRwX3R1bm5lbCBpcDZfdWRwX3R1bm5lbCBx bGEyeHh4IHNjc2lfdHJhbnNwb3J0X2ZjIHFsY25pYyBjcmMzMmNfaW50ZWwgYmUyaXNjc2kgYm54 MmkgY25pYyB1aW8gY3hnYjRpIGN4Z2I0IGN4Z2IzaSBsaWJjeGdiaSBpcHY2IGN4Z2IzIG1kaW8g bGliaXNjc2lfdGNwIHFsYTR4eHggaXNjc2lfYm9vdF9zeXNmcyBsaWJpc2NzaSBzY3NpX3RyYW5z cG9ydF9pc2NzaSBkbV9taXJyb3IgZG1fcmVnaW9uX2hhc2ggZG1fbG9nIGRtX21vZApbMTYxODQ2 Ljk2MjQ1NF0KWzE2MTg0Ni45NjI0NjBdIENQVTogMSBQSUQ6IDI4MDE2IENvbW06IGt3b3JrZXIv dTQwOjEgTm90IHRhaW50ZWQgNC4xLjEyLTk0LjUuOS5lbDZ1ZWsueDg2XzY0ICMyClsxNjE4NDYu OTYyNDYzXSBIYXJkd2FyZSBuYW1lOiBPcmFjbGUgQ29ycG9yYXRpb24gU1VOIFNFUlZFUiBYNC0y TCAgICAgIC9BU1NZLE1CLFg0LTJMICAgICAgICAgLCBCSU9TIDI2MDUwMTAwIDA5LzE5LzIwMTcK WzE2MTg0Ni45NjI0ODldIFdvcmtxdWV1ZTogcWxjbmljX21haWxib3ggcWxjbmljXzgzeHhfbWFp bGJveF93b3JrZXIgW3FsY25pY10KWzE2MTg0Ni45NjI0OTNdIHRhc2s6IGZmZmY4ODAxZjJlMzQ2 MDAgdGk6IGZmZmY4ODAwNGNhNWMwMDAgdGFzay50aTogZmZmZjg4MDA0Y2E1YzAwMApbMTYxODQ2 Ljk2MjQ5Nl0gUklQOiBlMDMwOls8ZmZmZmZmZmY4MTAwMTNhYT5dICBbPGZmZmZmZmZmODEwMDEz YWE+XSB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwClsxNjE4NDYuOTYyNTA2XSBSU1A6 IGUwMmI6ZmZmZjg4MDIwMmU0MzM4OCAgRUZMQUdTOiAwMDAwMDIwNgpbMTYxODQ2Ljk2MjUwOV0g UkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjg4MDFmNjk5NmI3MCBSQ1g6IGZmZmZmZmZm ODEwMDEzYWEKWzE2MTg0Ni45NjI1MTFdIFJEWDogZmZmZjg4MDIwMmU0MzNjYyBSU0k6IGZmZmY4 ODAyMDJlNDMzYjAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClsxNjE4NDYuOTYyNTEzXSBSQlA6IGZm ZmY4ODAyMDJlNDMzZDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogZmZmZjg4MDFmZTg5MzIw MApbMTYxODQ2Ljk2MjUxNl0gUjEwOiBmZmZmODgwMWZlNDAwNTM4IFIxMTogMDAwMDAwMDAwMDAw MDIwNiBSMTI6IGZmZmY4ODAyMDJlNGIwMDAKWzE2MTg0Ni45NjI1MThdIFIxMzogMDAwMDAwMDAw MDAwMDA1MCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDEgUjE1OiAwMDAwMDAwMDAwMDAwMjBkClsxNjE4 NDYuOTYyNTI4XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDIwMmU0MDAw MCgwMDAwKSBrbmxHUzpmZmZmODgwMjAyZTQwMDAwClsxNjE4NDYuOTYyNTMxXSBDUzogIGUwMzMg RFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsxNjE4NDYuOTYyNTMzXSBD UjI6IDAwMDAwMDAwMDI2MTI2NDAgQ1IzOiAwMDAwMDAwMWJiNzk2MDAwIENSNDogMDAwMDAwMDAw MDA0MjY2MApbMTYxODQ2Ljk2MjUzNl0gU3RhY2s6ClsxNjE4NDYuOTYyNTM4XSAgZmZmZjg4MDIw MmU0MzYwOCAwMDAwMDAwMDAwMDAwMDAwIGZmZmZmZmZmODEzZjA0NDIgZmZmZjg4MDIwMmU0MzNi MApbMTYxODQ2Ljk2MjU0M10gIDAwMDAwMDAwMDAwMDAwMDAgZmZmZjg4MDIwMmU0MzNjYyBmZmZm ZmZmZjAwMDAwMDAxIDAwMDAwMDAwMDAwMDAwMDAKWzE2MTg0Ni45NjI1NDddICAwMDAwMDAwOTgx M2YwM2Q2IGZmZmY4ODAyMDJlNDMzZTAgZmZmZmZmZmY4MTNmMDQ2MCBmZmZmODgwMjAyZTQzNDQw ClsxNjE4NDYuOTYyNTUyXSBDYWxsIFRyYWNlOgpbMTYxODQ2Ljk2MjU1NV0gIDxJUlE+ClsxNjE4 NDYuOTYyNTY1XSAgWzxmZmZmZmZmZjgxM2YwNDQyPl0gPyB4ZW5fcG9sbF9pcnFfdGltZW91dCsw eDQyLzB4NTAKWzE2MTg0Ni45NjI1NzBdICBbPGZmZmZmZmZmODEzZjA0NjA+XSB4ZW5fcG9sbF9p cnErMHgxMC8weDIwClsxNjE4NDYuOTYyNTc4XSAgWzxmZmZmZmZmZjgxMDE0MjIyPl0geGVuX2xv Y2tfc3Bpbm5pbmcrMHhlMi8weDExMApbMTYxODQ2Ljk2MjU4M10gIFs8ZmZmZmZmZmY4MTAxM2Yw MT5dIF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9sb2NrX3NwaW5uaW5nKzB4MTEvMHgyMApbMTYxODQ2 Ljk2MjU5Ml0gIFs8ZmZmZmZmZmY4MTZlNWM1Nz5dID8gX3Jhd19zcGluX2xvY2srMHg1Ny8weDgw ClsxNjE4NDYuOTYyNjA5XSAgWzxmZmZmZmZmZmEwMjhhY2ZjPl0gcWxjbmljXzgzeHhfZW5xdWV1 ZV9tYnhfY21kKzB4N2MvMHhlMCBbcWxjbmljXQpbMTYxODQ2Ljk2MjYyM10gIFs8ZmZmZmZmZmZh MDI4ZTAwOD5dIHFsY25pY184M3h4X2lzc3VlX2NtZCsweDU4LzB4MjEwIFtxbGNuaWNdClsxNjE4 NDYuOTYyNjM2XSAgWzxmZmZmZmZmZmEwMjhjYWYyPl0gcWxjbmljXzgzeHhfc3JlX21hY2FkZHJf Y2hhbmdlKzB4MTYyLzB4MWQwIFtxbGNuaWNdClsxNjE4NDYuOTYyNjQ5XSAgWzxmZmZmZmZmZmEw MjhjYjhiPl0gcWxjbmljXzgzeHhfY2hhbmdlX2wyX2ZpbHRlcisweDJiLzB4MzAgW3FsY25pY10K WzE2MTg0Ni45NjI2NTddICBbPGZmZmZmZmZmODE2MDI0OGI+XSA/IF9fc2tiX2Zsb3dfZGlzc2Vj dCsweDE4Yi8weDY1MApbMTYxODQ2Ljk2MjY3MF0gIFs8ZmZmZmZmZmZhMDI4NTZlNT5dIHFsY25p Y19zZW5kX2ZpbHRlcisweDIwNS8weDI1MCBbcWxjbmljXQpbMTYxODQ2Ljk2MjY4Ml0gIFs8ZmZm ZmZmZmZhMDI4NWM3Nz5dIHFsY25pY194bWl0X2ZyYW1lKzB4NTQ3LzB4N2IwIFtxbGNuaWNdClsx NjE4NDYuOTYyNjkxXSAgWzxmZmZmZmZmZjgxNjBhYzIyPl0geG1pdF9vbmUrMHg4Mi8weDFhMApb MTYxODQ2Ljk2MjY5Nl0gIFs8ZmZmZmZmZmY4MTYwYWQ5MD5dIGRldl9oYXJkX3N0YXJ0X3htaXQr MHg1MC8weGEwClsxNjE4NDYuOTYyNzAxXSAgWzxmZmZmZmZmZjgxNjMwMTEyPl0gc2NoX2RpcmVj dF94bWl0KzB4MTEyLzB4MjIwClsxNjE4NDYuOTYyNzA2XSAgWzxmZmZmZmZmZjgxNjBiODBmPl0g X19kZXZfcXVldWVfeG1pdCsweDFkZi8weDVlMApbMTYxODQ2Ljk2MjcxMF0gIFs8ZmZmZmZmZmY4 MTYwYmMzMz5dIGRldl9xdWV1ZV94bWl0X3NrKzB4MTMvMHgyMApbMTYxODQ2Ljk2MjcyMV0gIFs8 ZmZmZmZmZmZhMDU3NWJkNT5dIGJvbmRfZGV2X3F1ZXVlX3htaXQrMHgzNS8weDgwIFtib25kaW5n XQpbMTYxODQ2Ljk2MjcyOV0gIFs8ZmZmZmZmZmZhMDU3NjlmYj5dIF9fYm9uZF9zdGFydF94bWl0 KzB4MWNiLzB4MjEwIFtib25kaW5nXQpbMTYxODQ2Ljk2MjczNl0gIFs8ZmZmZmZmZmZhMDU3NmE3 MT5dIGJvbmRfc3RhcnRfeG1pdCsweDMxLzB4NjAgW2JvbmRpbmddClsxNjE4NDYuOTYyNzQwXSAg WzxmZmZmZmZmZjgxNjBhYzIyPl0geG1pdF9vbmUrMHg4Mi8weDFhMApbMTYxODQ2Ljk2Mjc0NV0g IFs8ZmZmZmZmZmY4MTYwYWQ5MD5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHg1MC8weGEwClsxNjE4 NDYuOTYyNzQ5XSAgWzxmZmZmZmZmZjgxNjBiYjFlPl0gX19kZXZfcXVldWVfeG1pdCsweDRlZS8w eDVlMApbMTYxODQ2Ljk2Mjc1NF0gIFs8ZmZmZmZmZmY4MTYwYmMzMz5dIGRldl9xdWV1ZV94bWl0 X3NrKzB4MTMvMHgyMApbMTYxODQ2Ljk2Mjc2MF0gIFs8ZmZmZmZmZmZhMDVjZmE3Mj5dIHZsYW5f ZGV2X2hhcmRfc3RhcnRfeG1pdCsweGIyLzB4MTUwIFs4MDIxcV0KWzE2MTg0Ni45NjI3NjRdICBb PGZmZmZmZmZmODE2MGFjMjI+XSB4bWl0X29uZSsweDgyLzB4MWEwClsxNjE4NDYuOTYyNzY5XSAg WzxmZmZmZmZmZjgxNjBhZDkwPl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDUwLzB4YTAKWzE2MTg0 Ni45NjI3NzNdICBbPGZmZmZmZmZmODE2MGJiMWU+XSBfX2Rldl9xdWV1ZV94bWl0KzB4NGVlLzB4 NWUwClsxNjE4NDYuOTYyNzc3XSAgWzxmZmZmZmZmZjgxNjBiYzMzPl0gZGV2X3F1ZXVlX3htaXRf c2srMHgxMy8weDIwClsxNjE4NDYuOTYyNzg5XSAgWzxmZmZmZmZmZmEwNWFkZjc0Pl0gYnJfZGV2 X3F1ZXVlX3B1c2hfeG1pdCsweDU0LzB4YTAgW2JyaWRnZV0KWzE2MTg0Ni45NjI3OTddICBbPGZm ZmZmZmZmYTA1YWU0ZmY+XSBicl9mb3J3YXJkX2ZpbmlzaCsweDJmLzB4OTAgW2JyaWRnZV0KWzE2 MTg0Ni45NjI4MDddICBbPGZmZmZmZmZmODEwYjBkYWQ+XSA/IHR0d3VfZG9fd2FrZXVwKzB4MWQv MHgxMDAKWzE2MTg0Ni45NjI4MTFdICBbPGZmZmZmZmZmODE1ZjkyOWI+XSA/IF9fYWxsb2Nfc2ti KzB4OGIvMHgxZjAKWzE2MTg0Ni45NjI4MThdICBbPGZmZmZmZmZmYTA1YWUwNGQ+XSBfX2JyX2Zv cndhcmQrMHg4ZC8weDEyMCBbYnJpZGdlXQpbMTYxODQ2Ljk2MjgyMl0gIFs8ZmZmZmZmZmY4MTVm NjEzYj5dID8gX19rbWFsbG9jX3Jlc2VydmUrMHgzYi8weGEwClsxNjE4NDYuOTYyODI5XSAgWzxm ZmZmZmZmZjgxMGJlNTVlPl0gPyB1cGRhdGVfcnFfcnVubmFibGVfYXZnKzB4ZWUvMHgyMzAKWzE2 MTg0Ni45NjI4MzZdICBbPGZmZmZmZmZmYTA1YWUxNzY+XSBicl9mb3J3YXJkKzB4OTYvMHhiMCBb YnJpZGdlXQpbMTYxODQ2Ljk2Mjg0NV0gIFs8ZmZmZmZmZmZhMDVhZjg1ZT5dIGJyX2hhbmRsZV9m cmFtZV9maW5pc2grMHgxYWUvMHg0MjAgW2JyaWRnZV0KWzE2MTg0Ni45NjI4NTNdICBbPGZmZmZm ZmZmYTA1YWZjNGY+XSBicl9oYW5kbGVfZnJhbWUrMHgxN2YvMHgyNjAgW2JyaWRnZV0KWzE2MTg0 Ni45NjI4NjJdICBbPGZmZmZmZmZmYTA1YWZhZDA+XSA/IGJyX2hhbmRsZV9mcmFtZV9maW5pc2gr MHg0MjAvMHg0MjAgW2JyaWRnZV0KWzE2MTg0Ni45NjI4NjddICBbPGZmZmZmZmZmODE2MGQwNTc+ XSBfX25ldGlmX3JlY2VpdmVfc2tiX2NvcmUrMHgxZjcvMHg4NzAKWzE2MTg0Ni45NjI4NzJdICBb PGZmZmZmZmZmODE2MGQ2ZjI+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MjIvMHg3MApbMTYxODQ2 Ljk2Mjg3N10gIFs8ZmZmZmZmZmY4MTYwZDkxMz5dIG5ldGlmX3JlY2VpdmVfc2tiX2ludGVybmFs KzB4MjMvMHg5MApbMTYxODQ2Ljk2Mjg4NF0gIFs8ZmZmZmZmZmZhMDc1MTJlYT5dID8geGVudmlm X2lkeF9yZWxlYXNlKzB4ZWEvMHgxMDAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2Mjg4OV0gIFs8 ZmZmZmZmZmY4MTZlNWExMD5dID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4MjAvMHg1 MApbMTYxODQ2Ljk2Mjg5M10gIFs8ZmZmZmZmZmY4MTYwZTYyND5dIG5ldGlmX3JlY2VpdmVfc2ti X3NrKzB4MjQvMHg5MApbMTYxODQ2Ljk2Mjg5OV0gIFs8ZmZmZmZmZmZhMDc1MjY5YT5dIHhlbnZp Zl90eF9zdWJtaXQrMHgyY2EvMHgzZjAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2MjkwNl0gIFs8 ZmZmZmZmZmZhMDc1M2YwYz5dIHhlbnZpZl90eF9hY3Rpb24rMHg5Yy8weGQwIFt4ZW5fbmV0YmFj a10KWzE2MTg0Ni45NjI5MTVdICBbPGZmZmZmZmZmYTA3NTY3ZjU+XSB4ZW52aWZfcG9sbCsweDM1 LzB4NzAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2MjkyMF0gIFs8ZmZmZmZmZmY4MTYwZTAxYj5d IG5hcGlfcG9sbCsweGNiLzB4MWUwClsxNjE4NDYuOTYyOTI1XSAgWzxmZmZmZmZmZjgxNjBlMWMw Pl0gbmV0X3J4X2FjdGlvbisweDkwLzB4MWMwClsxNjE4NDYuOTYyOTMxXSAgWzxmZmZmZmZmZjgx MDhhYWJhPl0gX19kb19zb2Z0aXJxKzB4MTBhLzB4MzUwClsxNjE4NDYuOTYyOTM4XSAgWzxmZmZm ZmZmZjgxMDhhZTc1Pl0gaXJxX2V4aXQrMHgxMjUvMHgxMzAKWzE2MTg0Ni45NjI5NDNdICBbPGZm ZmZmZmZmODEzZjAzYTk+XSB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDM5LzB4NTAKWzE2MTg0Ni45 NjI5NTBdICBbPGZmZmZmZmZmODE2ZTdmZmU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysw eDFlLzB4NDAKWzE2MTg0Ni45NjI5NTJdICA8RU9JPgpbMTYxODQ2Ljk2Mjk1OV0gIFs8ZmZmZmZm ZmY4MTZlNWM0YT5dID8gX3Jhd19zcGluX2xvY2srMHg0YS8weDgwClsxNjE4NDYuOTYyOTY0XSAg WzxmZmZmZmZmZjgxNmU1YjFlPl0gPyBfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4MWUvMHhhMApb MTYxODQ2Ljk2Mjk3OF0gIFs8ZmZmZmZmZmZhMDI4ZTI3OT5dID8gcWxjbmljXzgzeHhfbWFpbGJv eF93b3JrZXIrMHhiOS8weDJhMCBbcWxjbmljXQpbMTYxODQ2Ljk2Mjk5MV0gIFs8ZmZmZmZmZmY4 MTBhMTRlMT5dID8gcHJvY2Vzc19vbmVfd29yaysweDE1MS8weDRiMApbMTYxODQ2Ljk2Mjk5NV0g IFs8ZmZmZmZmZmY4MTAwYzNmMj5dID8gY2hlY2tfZXZlbnRzKzB4MTIvMHgyMApbMTYxODQ2Ljk2 MzAwMV0gIFs8ZmZmZmZmZmY4MTBhMTk2MD5dID8gd29ya2VyX3RocmVhZCsweDEyMC8weDQ4MApb MTYxODQ2Ljk2MzAwNV0gIFs8ZmZmZmZmZmY4MTZlMTg3Yj5dID8gX19zY2hlZHVsZSsweDMwYi8w eDg5MApbMTYxODQ2Ljk2MzAxMF0gIFs8ZmZmZmZmZmY4MTBhMTg0MD5dID8gcHJvY2Vzc19vbmVf d29yaysweDRiMC8weDRiMApbMTYxODQ2Ljk2MzAxNV0gIFs8ZmZmZmZmZmY4MTBhMTg0MD5dID8g cHJvY2Vzc19vbmVfd29yaysweDRiMC8weDRiMApbMTYxODQ2Ljk2MzAyMV0gIFs8ZmZmZmZmZmY4 MTBhNmIzZT5dID8ga3RocmVhZCsweGNlLzB4ZjAKWzE2MTg0Ni45NjMwMjVdICBbPGZmZmZmZmZm ODEwYTZhNzA+XSA/IGt0aHJlYWRfZnJlZXphYmxlX3Nob3VsZF9zdG9wKzB4NzAvMHg3MApbMTYx ODQ2Ljk2MzAzMV0gIFs8ZmZmZmZmZmY4MTZlNjUyMj5dID8gcmV0X2Zyb21fZm9yaysweDQyLzB4 NzAKWzE2MTg0Ni45NjMwMzVdICBbPGZmZmZmZmZmODEwYTZhNzA+XSA/IGt0aHJlYWRfZnJlZXph YmxlX3Nob3VsZF9zdG9wKzB4NzAvMHg3MApbMTYxODQ2Ljk2MzAzN10gQ29kZTogY2MgNTEgNDEg NTMgYjggMWMgMDAgMDAgMDAgMGYgMDUgNDEgNWIgNTkgYzMgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgNTEgNDEgNTMgYjggMWQgMDAgMDAgMDAg MGYgMDUgPDQxPiA1YiA1OSBjMyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj YyBjYyBjYyBjYyBjYwoKU2lnbmVkLW9mZi1ieTogSnVueGlhbyBCaSA8anVueGlhby5iaUBvcmFj bGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNfODN4eF9o dy5jIHwgMTggKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fs b2dpYy9xbGNuaWMvcWxjbmljXzgzeHhfaHcuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dp Yy9xbGNuaWMvcWxjbmljXzgzeHhfaHcuYwppbmRleCBmNzA4MGQwYWI4NzQuLjQ2YjAzNzJkZDAz MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNf ODN4eF9ody5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGNuaWMvcWxjbmlj XzgzeHhfaHcuYwpAQCAtMzg5MSw3ICszODkxLDcgQEAgc3RhdGljIHZvaWQgcWxjbmljXzgzeHhf Zmx1c2hfbWJ4X3F1ZXVlKHN0cnVjdCBxbGNuaWNfYWRhcHRlciAqYWRhcHRlcikKIAlzdHJ1Y3Qg bGlzdF9oZWFkICpoZWFkID0gJm1ieC0+Y21kX3E7CiAJc3RydWN0IHFsY25pY19jbWRfYXJncyAq Y21kID0gTlVMTDsKIAotCXNwaW5fbG9jaygmbWJ4LT5xdWV1ZV9sb2NrKTsKKwlzcGluX2xvY2tf YmgoJm1ieC0+cXVldWVfbG9jayk7CiAKIAl3aGlsZSAoIWxpc3RfZW1wdHkoaGVhZCkpIHsKIAkJ Y21kID0gbGlzdF9lbnRyeShoZWFkLT5uZXh0LCBzdHJ1Y3QgcWxjbmljX2NtZF9hcmdzLCBsaXN0 KTsKQEAgLTM5MDIsNyArMzkwMiw3IEBAIHN0YXRpYyB2b2lkIHFsY25pY184M3h4X2ZsdXNoX21i eF9xdWV1ZShzdHJ1Y3QgcWxjbmljX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJCXFsY25pY184M3h4X25v dGlmeV9jbWRfY29tcGxldGlvbihhZGFwdGVyLCBjbWQpOwogCX0KIAotCXNwaW5fdW5sb2NrKCZt YngtPnF1ZXVlX2xvY2spOworCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogfQog CiBzdGF0aWMgaW50IHFsY25pY184M3h4X2NoZWNrX21ieF9zdGF0dXMoc3RydWN0IHFsY25pY19h ZGFwdGVyICphZGFwdGVyKQpAQCAtMzkzOCwxMiArMzkzOCwxMiBAQCBzdGF0aWMgdm9pZCBxbGNu aWNfODN4eF9kZXF1ZXVlX21ieF9jbWQoc3RydWN0IHFsY25pY19hZGFwdGVyICphZGFwdGVyLAog ewogCXN0cnVjdCBxbGNuaWNfbWFpbGJveCAqbWJ4ID0gYWRhcHRlci0+YWh3LT5tYWlsYm94Owog Ci0Jc3Bpbl9sb2NrKCZtYngtPnF1ZXVlX2xvY2spOworCXNwaW5fbG9ja19iaCgmbWJ4LT5xdWV1 ZV9sb2NrKTsKIAogCWxpc3RfZGVsKCZjbWQtPmxpc3QpOwogCW1ieC0+bnVtX2NtZHMtLTsKIAot CXNwaW5fdW5sb2NrKCZtYngtPnF1ZXVlX2xvY2spOworCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1 ZXVlX2xvY2spOwogCiAJcWxjbmljXzgzeHhfbm90aWZ5X2NtZF9jb21wbGV0aW9uKGFkYXB0ZXIs IGNtZCk7CiB9CkBAIC00MDA4LDcgKzQwMDgsNyBAQCBzdGF0aWMgaW50IHFsY25pY184M3h4X2Vu cXVldWVfbWJ4X2NtZChzdHJ1Y3QgcWxjbmljX2FkYXB0ZXIgKmFkYXB0ZXIsCiAJCWluaXRfY29t cGxldGlvbigmY21kLT5jb21wbGV0aW9uKTsKIAkJY21kLT5yc3Bfb3Bjb2RlID0gUUxDXzgzWFhf TUJYX1JFU1BPTlNFX1VOS05PV047CiAKLQkJc3Bpbl9sb2NrKCZtYngtPnF1ZXVlX2xvY2spOwor CQlzcGluX2xvY2tfYmgoJm1ieC0+cXVldWVfbG9jayk7CiAKIAkJbGlzdF9hZGRfdGFpbCgmY21k LT5saXN0LCAmbWJ4LT5jbWRfcSk7CiAJCW1ieC0+bnVtX2NtZHMrKzsKQEAgLTQwMTYsNyArNDAx Niw3IEBAIHN0YXRpYyBpbnQgcWxjbmljXzgzeHhfZW5xdWV1ZV9tYnhfY21kKHN0cnVjdCBxbGNu aWNfYWRhcHRlciAqYWRhcHRlciwKIAkJKnRpbWVvdXQgPSBjbWQtPnRvdGFsX2NtZHMgKiBRTENf ODNYWF9NQlhfVElNRU9VVDsKIAkJcXVldWVfd29yayhtYngtPndvcmtfcSwgJm1ieC0+d29yayk7 CiAKLQkJc3Bpbl91bmxvY2soJm1ieC0+cXVldWVfbG9jayk7CisJCXNwaW5fdW5sb2NrX2JoKCZt YngtPnF1ZXVlX2xvY2spOwogCiAJCXJldHVybiAwOwogCX0KQEAgLTQxMTIsMTUgKzQxMTIsMTUg QEAgc3RhdGljIHZvaWQgcWxjbmljXzgzeHhfbWFpbGJveF93b3JrZXIoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogCQltYngtPnJzcF9zdGF0dXMgPSBRTENfODNYWF9NQlhfUkVTUE9OU0VfV0FJ VDsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbWJ4LT5hZW5fbG9jaywgZmxhZ3MpOwogCi0J CXNwaW5fbG9jaygmbWJ4LT5xdWV1ZV9sb2NrKTsKKwkJc3Bpbl9sb2NrX2JoKCZtYngtPnF1ZXVl X2xvY2spOwogCiAJCWlmIChsaXN0X2VtcHR5KGhlYWQpKSB7Ci0JCQlzcGluX3VubG9jaygmbWJ4 LT5xdWV1ZV9sb2NrKTsKKwkJCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogCQkJ cmV0dXJuOwogCQl9CiAJCWNtZCA9IGxpc3RfZW50cnkoaGVhZC0+bmV4dCwgc3RydWN0IHFsY25p Y19jbWRfYXJncywgbGlzdCk7CiAKLQkJc3Bpbl91bmxvY2soJm1ieC0+cXVldWVfbG9jayk7CisJ CXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogCiAJCW1ieF9vcHMtPmVuY29kZV9j bWQoYWRhcHRlciwgY21kKTsKIAkJbWJ4X29wcy0+bm9maXR5X2Z3KGFkYXB0ZXIsIFFMQ184M1hY X01CWF9SRVFVRVNUKTsKLS0gCjIuMTQuMwoKCkZyb20gYTZjODI1NDE5MzQyMGIyODY4MWRkNjkz ZTQ1YmZkMjYyY2ZiMzljNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS3Jpc3RpYW4g RXZlbnNlbiA8a3Jpc3RpYW4uZXZlbnNlbkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMzAgSmFuIDIw MTggMTQ6MTI6NTUgKzAxMDAKU3ViamVjdDogW1BBVENIIDA0LzEzXSBxbWlfd3dhbjogQWRkIHN1 cHBvcnQgZm9yIFF1ZWN0ZWwgRVAwNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK WyBVcHN0cmVhbSBjb21taXQgYzBiOTFhNTZhMmU1N2E1YTM3MDY1NWIyNWQ2NzdhZTBlYmY4YTJk MCBdCgpUaGUgUXVlY3RlbCBFUDA2IGlzIGEgQ2F0LiA2IExURSBtb2RlbS4gSXQgdXNlcyB0aGUg c2FtZSBpbnRlcmZhY2UgYXMKdGhlIEVDMjAvRUMyNSBmb3IgUU1JLCBhbmQgcmVxdWlyZXMgdGhl IHNhbWUgInNldCBEVFIiLXF1aXJrIHRvIHdvcmsuCgpTaWduZWQtb2ZmLWJ5OiBLcmlzdGlhbiBF dmVuc2VuIDxrcmlzdGlhbi5ldmVuc2VuQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEJqw7hybiBNb3Jr IDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMgfCAxICsKIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9x bWlfd3dhbi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKaW5kZXggMjA5MmZlYmZjYjQy Li44ZDlmMDJiN2E3MWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC0xMjQzLDYgKzEyNDMsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcHJvZHVjdHNbXSA9IHsKIAl7UU1JX1FVSVJL X1NFVF9EVFIoMHgyYzdjLCAweDAxMjUsIDQpfSwJLyogUXVlY3RlbCBFQzI1LCBFQzIwIFIyLjAg IE1pbmkgUENJZSAqLwogCXtRTUlfUVVJUktfU0VUX0RUUigweDJjN2MsIDB4MDEyMSwgNCl9LAkv KiBRdWVjdGVsIEVDMjEgTWluaSBQQ0llICovCiAJe1FNSV9GSVhFRF9JTlRGKDB4MmM3YywgMHgw Mjk2LCA0KX0sCS8qIFF1ZWN0ZWwgQkc5NiAqLworCXtRTUlfUVVJUktfU0VUX0RUUigweDJjN2Ms IDB4MDMwNiwgNCl9LAkvKiBRdWVjdGVsIEVQMDYgTWluaSBQQ0llICovCiAKIAkvKiA0LiBHb2Jp IDEwMDAgZGV2aWNlcyAqLwogCXtRTUlfR09CSTFLX0RFVklDRSgweDA1YzYsIDB4OTIxMil9LAkv KiBBY2VyIEdvYmkgTW9kZW0gRGV2aWNlICovCi0tIAoyLjE0LjMKCgpGcm9tIDRmN2E2MDFjZWVj YmI4ZDM3ODhmN2ZkZTNiZTVjZDgyMmIxYjg3NzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IENodW5oYW8gTGluIDxoYXVAcmVhbHRlay5jb20+CkRhdGU6IFdlZCwgMzEgSmFuIDIwMTgg MDE6MzI6MzYgKzA4MDAKU3ViamVjdDogW1BBVENIIDA1LzEzXSByODE2OTogZml4IFJUTDgxNjhF UCB0YWtlIHRvbyBsb25nIHRvIGNvbXBsZXRlIGRyaXZlcgogaW5pdGlhbGl6YXRpb24uCgpbIFVw c3RyZWFtIGNvbW1pdCAwODZjYTIzZDAzYzBkMmY0MDg4ZjQ3MjM4Njc3OGQyOTNlMTVjNWY2IF0K CkRyaXZlciBjaGVjayB0aGUgd3JvbmcgcmVnaXN0ZXIgYml0IGluIHJ0bF9vY3BfdHhfY29uZCgp IHRoYXQga2VlcCBkcml2ZXIKd2FpdGluZyB1bnRpbCB0aW1lb3V0LgoKRml4IHRoaXMgYnkgd2Fp dGluZyBmb3IgdGhlIHJpZ2h0IHJlZ2lzdGVyIGJpdC4KClNpZ25lZC1vZmYtYnk6IENodW5oYW8g TGluIDxoYXVAcmVhbHRlay5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5 LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCmluZGV4IDk1OGZmOTMxZTc5MC4u NjE5YTFiNzI4MWEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4 MTY5LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCkBAIC0xMzg4 LDcgKzEzODgsNyBAQCBERUNMQVJFX1JUTF9DT05EKHJ0bF9vY3BfdHhfY29uZCkKIHsKIAl2b2lk IF9faW9tZW0gKmlvYWRkciA9IHRwLT5tbWlvX2FkZHI7CiAKLQlyZXR1cm4gUlRMX1I4KElCSVNS MCkgJiAweDAyOworCXJldHVybiBSVExfUjgoSUJJU1IwKSAmIDB4MjA7CiB9CiAKIHN0YXRpYyB2 b2lkIHJ0bDgxNjhlcF9zdG9wX2NtYWMoc3RydWN0IHJ0bDgxNjlfcHJpdmF0ZSAqdHApCkBAIC0x Mzk2LDcgKzEzOTYsNyBAQCBzdGF0aWMgdm9pZCBydGw4MTY4ZXBfc3RvcF9jbWFjKHN0cnVjdCBy dGw4MTY5X3ByaXZhdGUgKnRwKQogCXZvaWQgX19pb21lbSAqaW9hZGRyID0gdHAtPm1taW9fYWRk cjsKIAogCVJUTF9XOChJQkNSMiwgUlRMX1I4KElCQ1IyKSAmIH4weDAxKTsKLQlydGxfbXNsZWVw X2xvb3Bfd2FpdF9sb3codHAsICZydGxfb2NwX3R4X2NvbmQsIDUwLCAyMDAwKTsKKwlydGxfbXNs ZWVwX2xvb3Bfd2FpdF9oaWdoKHRwLCAmcnRsX29jcF90eF9jb25kLCA1MCwgMjAwMCk7CiAJUlRM X1c4KElCSVNSMCwgUlRMX1I4KElCSVNSMCkgfCAweDIwKTsKIAlSVExfVzgoSUJDUjAsIFJUTF9S OChJQkNSMCkgJiB+MHgwMSk7CiB9Ci0tIAoyLjE0LjMKCgpGcm9tIGViNmNjYWEwN2VkZWVhYjY3 MjM3OGMwYTRjZmE0NDcxYTI0NDE3MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExp IFJvbmdRaW5nIDxsaXJvbmdxaW5nQGJhaWR1LmNvbT4KRGF0ZTogRnJpLCAyNiBKYW4gMjAxOCAx Njo0MDo0MSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMTNdIHRjcDogcmVsZWFzZSBza19mcmFn LnBhZ2UgaW4gdGNwX2Rpc2Nvbm5lY3QKClsgVXBzdHJlYW0gY29tbWl0IDliNDJkNTVhNjZkMzg4 ZTRkZDU1NTAxMDdkZjA1MWE5NjM3NTY0ZmMgXQoKc29ja2V0IGNhbiBiZSBkaXNjb25uZWN0ZWQg YW5kIGdldHMgdHJhbnNmb3JtZWQgYmFjayB0byBhIGxpc3RlbmluZwpzb2NrZXQsIGlmIHNrX2Zy YWcucGFnZSBpcyBub3QgcmVsZWFzZWQsIHdoaWNoIHdpbGwgYmUgY2xvbmVkIGludG8KYSBuZXcg c29ja2V0IGJ5IHNrX2Nsb25lX2xvY2ssIGJ1dCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoaXMg cGFnZQppcyBpbmNyZWFzZWQsIGxlYWQgdG8gYSB1c2UgYWZ0ZXIgZnJlZSBvciBkb3VibGUgZnJl ZSBpc3N1ZQoKU2lnbmVkLW9mZi1ieTogTGkgUm9uZ1FpbmcgPGxpcm9uZ3FpbmdAYmFpZHUuY29t PgpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwLmMg fCA2ICsrKysrKwogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggMmE2NWQ4MDZiNTYyLi5mZTEx MTI4ZDdkZjQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5j CkBAIC0yMzc5LDYgKzIzNzksMTIgQEAgaW50IHRjcF9kaXNjb25uZWN0KHN0cnVjdCBzb2NrICpz aywgaW50IGZsYWdzKQogCiAJV0FSTl9PTihpbmV0LT5pbmV0X251bSAmJiAhaWNzay0+aWNza19i aW5kX2hhc2gpOwogCisJaWYgKHNrLT5za19mcmFnLnBhZ2UpIHsKKwkJcHV0X3BhZ2Uoc2stPnNr X2ZyYWcucGFnZSk7CisJCXNrLT5za19mcmFnLnBhZ2UgPSBOVUxMOworCQlzay0+c2tfZnJhZy5v ZmZzZXQgPSAwOworCX0KKwogCXNrLT5za19lcnJvcl9yZXBvcnQoc2spOwogCXJldHVybiBlcnI7 CiB9Ci0tIAoyLjE0LjMKCgpGcm9tIDM2YjNmNjExZGFkYzhhNmE0NWE1NjU1NzA1MTU4YzkyNWQw MjJjODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphc29uIFdhbmcgPGphc293YW5n QHJlZGhhdC5jb20+CkRhdGU6IFRodSwgMjUgSmFuIDIwMTggMjI6MDM6NTIgKzA4MDAKU3ViamVj dDogW1BBVENIIDA3LzEzXSB2aG9zdF9uZXQ6IHN0b3AgZGV2aWNlIGR1cmluZyByZXNldCBvd25l cgoKWyBVcHN0cmVhbSBjb21taXQgNGNkODc5NTE1ZDY4Njg0OWVlYzVmNzE4YWVhYzYyYTcwYjA2 N2Q4MiBdCgpXZSBkb24ndCBzdG9wIGRldmljZSBiZWZvcmUgcmVzZXQgb3duZXIsIHRoaXMgbWVh bnMgd2UgY291bGQgdHJ5IHRvCnNlcnZlIGFueSB2aXJ0cXVldWUga2ljayBiZWZvcmUgcmVzZXQg ZGV2LT53b3JrZXIuIFRoaXMgd2lsbCByZXN1bHQgYQp3YXJuIHNpbmNlIHRoZSB3b3JrIHdhcyBw ZW5kaW5nIGF0IGxsaXN0IGR1cmluZyBvd25lciByZXNldHRpbmcuIEZpeAp0aGlzIGJ5IHN0b3Bw aW5nIGRldmljZSBkdXJpbmcgb3duZXIgcmVzZXQuCgpSZXBvcnRlZC1ieTogc3l6Ym90K2ViMTdj NjE2MjQ3OGNjNTA2MzJjQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KRml4ZXM6IDNhNGQ1Yzk0 ZTk1OTMgKCJ2aG9zdF9uZXQ6IGEga2VybmVsLWxldmVsIHZpcnRpbyBzZXJ2ZXIiKQpTaWduZWQt b2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy92aG9zdC9u ZXQuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aG9zdC9uZXQuYyBiL2RyaXZlcnMvdmhvc3QvbmV0LmMKaW5kZXggYmQxNTMwOWFj NWYxLi4wODI4OTFkZmZkOWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmhvc3QvbmV0LmMKKysrIGIv ZHJpdmVycy92aG9zdC9uZXQuYwpAQCAtMTIxMiw2ICsxMjEyLDcgQEAgc3RhdGljIGxvbmcgdmhv c3RfbmV0X3Jlc2V0X293bmVyKHN0cnVjdCB2aG9zdF9uZXQgKm4pCiAJfQogCXZob3N0X25ldF9z dG9wKG4sICZ0eF9zb2NrLCAmcnhfc29jayk7CiAJdmhvc3RfbmV0X2ZsdXNoKG4pOworCXZob3N0 X2Rldl9zdG9wKCZuLT5kZXYpOwogCXZob3N0X2Rldl9yZXNldF9vd25lcigmbi0+ZGV2LCB1bWVt KTsKIAl2aG9zdF9uZXRfdnFfcmVzZXQobik7CiBkb25lOgotLSAKMi4xNC4zCgoKRnJvbSA4Mjdi NDgzNjU4N2EzMjk0NGU1NTNlNmQzNTExMGZiNzhmZjhjYjMxIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBSb21hbiBHdXNoY2hpbiA8Z3Vyb0BmYi5jb20+CkRhdGU6IEZyaSwgMiBGZWIg MjAxOCAxNToyNjo1NyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTNdIFJldmVydCAiZGVmZXIg Y2FsbCB0byBtZW1fY2dyb3VwX3NrX2FsbG9jKCkiCgpbIFVwc3RyZWFtIGNvbW1pdCBlZGJlNjll ZjJjOTBmYzg2OTk4YTc0YjA4MzE5YTAxYzUwOGJkNDk3IF0KClRoaXMgcGF0Y2ggZWZmZWN0aXZl bHkgcmV2ZXJ0cyBjb21taXQgOWYxYzI2NzRiMzI4ICgibmV0OiBtZW1jb250cm9sOgpkZWZlciBj YWxsIHRvIG1lbV9jZ3JvdXBfc2tfYWxsb2MoKSIpLgoKTW92aW5nIG1lbV9jZ3JvdXBfc2tfYWxs b2MoKSB0byB0aGUgaW5ldF9jc2tfYWNjZXB0KCkgY29tcGxldGVseSBicmVha3MKbWVtY2cgc29j a2V0IG1lbW9yeSBhY2NvdW50aW5nLCBhcyBwYWNrZXRzIHJlY2VpdmVkIGJlZm9yZSBtZW1jZwpw b2ludGVyIGluaXRpYWxpemF0aW9uIGFyZSBub3QgYWNjb3VudGVkIGFuZCBhcmUgY2F1c2luZyBy ZWZjb3VudGluZwp1bmRlcmZsb3cgb24gc29ja2V0IHJlbGVhc2UuCgpBY3R1YWxseSB0aGUgZnJl ZS1hZnRlci11c2UgcHJvYmxlbSB3YXMgZml4ZWQgYnkKY29tbWl0IGMwNTc2ZTM5NzUwOCAoIm5l dDogY2FsbCBjZ3JvdXBfc2tfYWxsb2MoKSBlYXJsaWVyIGluCnNrX2Nsb25lX2xvY2soKSIpIGZv ciB0aGUgY2dyb3VwIHBvaW50ZXIuCgpTbywgbGV0J3MgcmV2ZXJ0IGl0IGFuZCBjYWxsIG1lbV9j Z3JvdXBfc2tfYWxsb2MoKSBqdXN0IGJlZm9yZQpjZ3JvdXBfc2tfYWxsb2MoKS4gVGhpcyBpcyBz YWZlLCBhcyB3ZSBob2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBzb2NrZXQKd2UncmUgY2xvbmluZywg YW5kIGl0IGhvbGRzIGEgcmVmZXJlbmNlIHRvIHRoZSBtZW1jZy4KCkFsc28sIGxldCdzIGRyb3Ag QlVHX09OKG1lbV9jZ3JvdXBfaXNfcm9vdCgpKSBjaGVjayBmcm9tCm1lbV9jZ3JvdXBfc2tfYWxs b2MoKS4gSSBzZWUgbm8gcmVhc29ucyB3aHkgYnVtcGluZyB0aGUgcm9vdAptZW1jZyBjb3VudGVy IGlzIGEgZ29vZCByZWFzb24gdG8gcGFuaWMsIGFuZCB0aGVyZSBhcmUgbm8gcmVhbGlzdGljCndh eXMgdG8gaGl0IGl0LgoKU2lnbmVkLW9mZi1ieTogUm9tYW4gR3VzaGNoaW4gPGd1cm9AZmIuY29t PgpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgpDYzogSm9oYW5uZXMgV2VpbmVyIDxoYW5uZXNAY21w eGNoZy5vcmc+CkNjOiBUZWp1biBIZW8gPHRqQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBtbS9tZW1jb250cm9sLmMg ICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKysKIG5ldC9jb3JlL3NvY2suYyAgICAg ICAgICAgICAgICAgfCAgNSArLS0tLQogbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYyB8 ICAxIC0KIDMgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9tbS9tZW1jb250cm9sLmMgYi9tbS9tZW1jb250cm9sLmMKaW5kZXggNTNm N2M5MTliOTE2Li42NmU3ZWZhYmYwYTEgMTAwNjQ0Ci0tLSBhL21tL21lbWNvbnRyb2wuYworKysg Yi9tbS9tZW1jb250cm9sLmMKQEAgLTU4MjgsNiArNTgyOCwyMCBAQCB2b2lkIG1lbV9jZ3JvdXBf c2tfYWxsb2Moc3RydWN0IHNvY2sgKnNrKQogCWlmICghbWVtX2Nncm91cF9zb2NrZXRzX2VuYWJs ZWQpCiAJCXJldHVybjsKIAorCS8qCisJICogU29ja2V0IGNsb25pbmcgY2FuIHRocm93IHVzIGhl cmUgd2l0aCBza19tZW1jZyBhbHJlYWR5CisJICogZmlsbGVkLiBJdCB3b24ndCBob3dldmVyLCBu ZWNlc3NhcmlseSBoYXBwZW4gZnJvbQorCSAqIHByb2Nlc3MgY29udGV4dC4gU28gdGhlIHRlc3Qg Zm9yIHJvb3QgbWVtY2cgZ2l2ZW4KKwkgKiB0aGUgY3VycmVudCB0YXNrJ3MgbWVtY2cgd29uJ3Qg aGVscCB1cyBpbiB0aGlzIGNhc2UuCisJICoKKwkgKiBSZXNwZWN0aW5nIHRoZSBvcmlnaW5hbCBz b2NrZXQncyBtZW1jZyBpcyBhIGJldHRlcgorCSAqIGRlY2lzaW9uIGluIHRoaXMgY2FzZS4KKwkg Ki8KKwlpZiAoc2stPnNrX21lbWNnKSB7CisJCWNzc19nZXQoJnNrLT5za19tZW1jZy0+Y3NzKTsK KwkJcmV0dXJuOworCX0KKwogCXJjdV9yZWFkX2xvY2soKTsKIAltZW1jZyA9IG1lbV9jZ3JvdXBf ZnJvbV90YXNrKGN1cnJlbnQpOwogCWlmIChtZW1jZyA9PSByb290X21lbV9jZ3JvdXApCmRpZmYg LS1naXQgYS9uZXQvY29yZS9zb2NrLmMgYi9uZXQvY29yZS9zb2NrLmMKaW5kZXggNDE1ZjQ0MWM2 M2I5Li5iZWIxZTI5OWZlZDMgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NvY2suYworKysgYi9uZXQv Y29yZS9zb2NrLmMKQEAgLTE2NzcsMTYgKzE2NzcsMTMgQEAgc3RydWN0IHNvY2sgKnNrX2Nsb25l X2xvY2soY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBjb25zdCBnZnBfdCBwcmlvcml0eSkKIAkJbmV3 c2stPnNrX2RzdF9wZW5kaW5nX2NvbmZpcm0gPSAwOwogCQluZXdzay0+c2tfd21lbV9xdWV1ZWQJ PSAwOwogCQluZXdzay0+c2tfZm9yd2FyZF9hbGxvYyA9IDA7Ci0KLQkJLyogc2stPnNrX21lbWNn IHdpbGwgYmUgcG9wdWxhdGVkIGF0IGFjY2VwdCgpIHRpbWUgKi8KLQkJbmV3c2stPnNrX21lbWNn ID0gTlVMTDsKLQogCQlhdG9taWNfc2V0KCZuZXdzay0+c2tfZHJvcHMsIDApOwogCQluZXdzay0+ c2tfc2VuZF9oZWFkCT0gTlVMTDsKIAkJbmV3c2stPnNrX3VzZXJsb2Nrcwk9IHNrLT5za191c2Vy bG9ja3MgJiB+U09DS19CSU5EUE9SVF9MT0NLOwogCQlhdG9taWNfc2V0KCZuZXdzay0+c2tfemNr ZXksIDApOwogCiAJCXNvY2tfcmVzZXRfZmxhZyhuZXdzaywgU09DS19ET05FKTsKKwkJbWVtX2Nn cm91cF9za19hbGxvYyhuZXdzayk7CiAJCWNncm91cF9za19hbGxvYygmbmV3c2stPnNrX2NncnBf ZGF0YSk7CiAKIAkJcmN1X3JlYWRfbG9jaygpOwpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaW5ldF9j b25uZWN0aW9uX3NvY2suYyBiL25ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMKaW5kZXgg YjQ3YTU5Y2IzNTczLi4wY2MwOGM1MTIyMDIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2luZXRfY29u bmVjdGlvbl9zb2NrLmMKKysrIGIvbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYwpAQCAt NDc1LDcgKzQ3NSw2IEBAIHN0cnVjdCBzb2NrICppbmV0X2Nza19hY2NlcHQoc3RydWN0IHNvY2sg KnNrLCBpbnQgZmxhZ3MsIGludCAqZXJyLCBib29sIGtlcm4pCiAJCX0KIAkJc3Bpbl91bmxvY2tf YmgoJnF1ZXVlLT5mYXN0b3BlbnEubG9jayk7CiAJfQotCW1lbV9jZ3JvdXBfc2tfYWxsb2MobmV3 c2spOwogb3V0OgogCXJlbGVhc2Vfc29jayhzayk7CiAJaWYgKHJlcSkKLS0gCjIuMTQuMwoKCkZy b20gNzIzMGRkN2JmYWEwMGZjZTE0OTg1YTJhYzE4MzhmMGE1YTkzMzZlZCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpEYXRlOiBU aHUsIDI1IEphbiAyMDE4IDIwOjE2OjI5IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwOS8xM10gbmV0 OiBpcHY2OiBzZW5kIHVuc29saWNpdGVkIE5BIGFmdGVyIERBRAoKWyBVcHN0cmVhbSBjb21taXQg Yzc2ZmUyZDk4YzcyNjIyNGE5NzVhMGQwMTk4YzNmYjUwNDA2ZDMyNSBdCgpVbnNvbGljaXRlZCBJ UHY2IG5laWdoYm9yIGFkdmVydGlzZW1lbnRzIHNob3VsZCBiZSBzZW50IGFmdGVyIERBRApjb21w bGV0ZXMuIFVwZGF0ZSBuZGlzY19zZW5kX3Vuc29sX25hIHRvIHNraXAgdGVudGF0aXZlLCBub24t b3B0aW1pc3RpYwphZGRyZXNzZXMgYW5kIGhhdmUgdGhvc2Ugc2VudCBieSBhZGRyY29uZl9kYWRf Y29tcGxldGVkIGFmdGVyIERBRC4KCkZpeGVzOiA0YTZlM2M1ZGVmMTNjICgibmV0OiBpcHY2OiBz ZW5kIHVuc29saWNpdGVkIE5BIG9uIGFkbWluIHVwIikKUmVwb3J0ZWQtYnk6IFZpdmVrIFZlbmth dHJhbWFuIDx2aXZla0BjdW11bHVzbmV0d29ya3MuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBB aGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9hZGRyY29uZi5jIHwgMzAgKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tCiBuZXQvaXB2Ni9uZGlzYy5jICAgIHwgIDUgKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9uZXQvaXB2Ni9hZGRyY29uZi5jIGIvbmV0L2lwdjYvYWRkcmNvbmYuYwppbmRleCBj NTMxOGY1ZjZhMTQuLjZhNzZlNDFlNmQ1MSAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvYWRkcmNvbmYu YworKysgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCkBAIC0xODQsNyArMTg0LDggQEAgc3RhdGljIHN0 cnVjdCBydDZfaW5mbyAqYWRkcmNvbmZfZ2V0X3ByZWZpeF9yb3V0ZShjb25zdCBzdHJ1Y3QgaW42 X2FkZHIgKnBmeCwKIAogc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFkX3N0YXJ0KHN0cnVjdCBpbmV0 Nl9pZmFkZHIgKmlmcCk7CiBzdGF0aWMgdm9pZCBhZGRyY29uZl9kYWRfd29yayhzdHJ1Y3Qgd29y a19zdHJ1Y3QgKncpOwotc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFkX2NvbXBsZXRlZChzdHJ1Y3Qg aW5ldDZfaWZhZGRyICppZnAsIGJvb2wgYnVtcF9pZCk7CitzdGF0aWMgdm9pZCBhZGRyY29uZl9k YWRfY29tcGxldGVkKHN0cnVjdCBpbmV0Nl9pZmFkZHIgKmlmcCwgYm9vbCBidW1wX2lkLAorCQkJ CSAgIGJvb2wgc2VuZF9uYSk7CiBzdGF0aWMgdm9pZCBhZGRyY29uZl9kYWRfcnVuKHN0cnVjdCBp bmV0Nl9kZXYgKmlkZXYpOwogc3RhdGljIHZvaWQgYWRkcmNvbmZfcnNfdGltZXIodW5zaWduZWQg bG9uZyBkYXRhKTsKIHN0YXRpYyB2b2lkIF9faXB2Nl9pZmFfbm90aWZ5KGludCBldmVudCwgc3Ry dWN0IGluZXQ2X2lmYWRkciAqaWZhKTsKQEAgLTM4MjUsMTIgKzM4MjYsMTcgQEAgc3RhdGljIHZv aWQgYWRkcmNvbmZfZGFkX2JlZ2luKHN0cnVjdCBpbmV0Nl9pZmFkZHIgKmlmcCkKIAkgICAgIGlk ZXYtPmNuZi5hY2NlcHRfZGFkIDwgMSkgfHwKIAkgICAgIShpZnAtPmZsYWdzJklGQV9GX1RFTlRB VElWRSkgfHwKIAkgICAgaWZwLT5mbGFncyAmIElGQV9GX05PREFEKSB7CisJCWJvb2wgc2VuZF9u YSA9IGZhbHNlOworCisJCWlmIChpZnAtPmZsYWdzICYgSUZBX0ZfVEVOVEFUSVZFICYmCisJCSAg ICAhKGlmcC0+ZmxhZ3MgJiBJRkFfRl9PUFRJTUlTVElDKSkKKwkJCXNlbmRfbmEgPSB0cnVlOwog CQlidW1wX2lkID0gaWZwLT5mbGFncyAmIElGQV9GX1RFTlRBVElWRTsKIAkJaWZwLT5mbGFncyAm PSB+KElGQV9GX1RFTlRBVElWRXxJRkFfRl9PUFRJTUlTVElDfElGQV9GX0RBREZBSUxFRCk7CiAJ CXNwaW5fdW5sb2NrKCZpZnAtPmxvY2spOwogCQlyZWFkX3VubG9ja19iaCgmaWRldi0+bG9jayk7 CiAKLQkJYWRkcmNvbmZfZGFkX2NvbXBsZXRlZChpZnAsIGJ1bXBfaWQpOworCQlhZGRyY29uZl9k YWRfY29tcGxldGVkKGlmcCwgYnVtcF9pZCwgc2VuZF9uYSk7CiAJCXJldHVybjsKIAl9CiAKQEAg LTM5NTksMTYgKzM5NjUsMjEgQEAgc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFkX3dvcmsoc3RydWN0 IHdvcmtfc3RydWN0ICp3KQogCX0KIAogCWlmIChpZnAtPmRhZF9wcm9iZXMgPT0gMCkgeworCQli b29sIHNlbmRfbmEgPSBmYWxzZTsKKwogCQkvKgogCQkgKiBEQUQgd2FzIHN1Y2Nlc3NmdWwKIAkJ ICovCiAKKwkJaWYgKGlmcC0+ZmxhZ3MgJiBJRkFfRl9URU5UQVRJVkUgJiYKKwkJICAgICEoaWZw LT5mbGFncyAmIElGQV9GX09QVElNSVNUSUMpKQorCQkJc2VuZF9uYSA9IHRydWU7CiAJCWJ1bXBf aWQgPSBpZnAtPmZsYWdzICYgSUZBX0ZfVEVOVEFUSVZFOwogCQlpZnAtPmZsYWdzICY9IH4oSUZB X0ZfVEVOVEFUSVZFfElGQV9GX09QVElNSVNUSUN8SUZBX0ZfREFERkFJTEVEKTsKIAkJc3Bpbl91 bmxvY2soJmlmcC0+bG9jayk7CiAJCXdyaXRlX3VubG9ja19iaCgmaWRldi0+bG9jayk7CiAKLQkJ YWRkcmNvbmZfZGFkX2NvbXBsZXRlZChpZnAsIGJ1bXBfaWQpOworCQlhZGRyY29uZl9kYWRfY29t cGxldGVkKGlmcCwgYnVtcF9pZCwgc2VuZF9uYSk7CiAKIAkJZ290byBvdXQ7CiAJfQpAQCAtNDAw Niw3ICs0MDE3LDggQEAgc3RhdGljIGJvb2wgaXB2Nl9sb25lbHlfbGxhZGRyKHN0cnVjdCBpbmV0 Nl9pZmFkZHIgKmlmcCkKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIHZvaWQgYWRkcmNvbmZf ZGFkX2NvbXBsZXRlZChzdHJ1Y3QgaW5ldDZfaWZhZGRyICppZnAsIGJvb2wgYnVtcF9pZCkKK3N0 YXRpYyB2b2lkIGFkZHJjb25mX2RhZF9jb21wbGV0ZWQoc3RydWN0IGluZXQ2X2lmYWRkciAqaWZw LCBib29sIGJ1bXBfaWQsCisJCQkJICAgYm9vbCBzZW5kX25hKQogewogCXN0cnVjdCBuZXRfZGV2 aWNlICpkZXYgPSBpZnAtPmlkZXYtPmRldjsKIAlzdHJ1Y3QgaW42X2FkZHIgbGxhZGRyOwpAQCAt NDAzOCw2ICs0MDUwLDE2IEBAIHN0YXRpYyB2b2lkIGFkZHJjb25mX2RhZF9jb21wbGV0ZWQoc3Ry dWN0IGluZXQ2X2lmYWRkciAqaWZwLCBib29sIGJ1bXBfaWQpCiAJaWYgKHNlbmRfbWxkKQogCQlp cHY2X21jX2RhZF9jb21wbGV0ZShpZnAtPmlkZXYpOwogCisJLyogc2VuZCB1bnNvbGljaXRlZCBO QSBpZiBlbmFibGVkICovCisJaWYgKHNlbmRfbmEgJiYKKwkgICAgKGlmcC0+aWRldi0+Y25mLm5k aXNjX25vdGlmeSB8fAorCSAgICAgZGV2X25ldChkZXYpLT5pcHY2LmRldmNvbmZfYWxsLT5uZGlz Y19ub3RpZnkpKSB7CisJCW5kaXNjX3NlbmRfbmEoZGV2LCAmaW42YWRkcl9saW5rbG9jYWxfYWxs bm9kZXMsICZpZnAtPmFkZHIsCisJCQkgICAgICAvKnJvdXRlcj0qLyAhIWlmcC0+aWRldi0+Y25m LmZvcndhcmRpbmcsCisJCQkgICAgICAvKnNvbGljaXRlZD0qLyBmYWxzZSwgLypvdmVycmlkZT0q LyB0cnVlLAorCQkJICAgICAgLyppbmNfb3B0PSovIHRydWUpOworCX0KKwogCWlmIChzZW5kX3Jz KSB7CiAJCS8qCiAJCSAqCUlmIGEgaG9zdCBhcyBhbHJlYWR5IHBlcmZvcm1lZCBhIHJhbmRvbSBk ZWxheQpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvbmRpc2MuYyBiL25ldC9pcHY2L25kaXNjLmMKaW5k ZXggMjY2YTUzMDQxNGQ3Li4yYTkzN2M4ZDE5ZTkgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L25kaXNj LmMKKysrIGIvbmV0L2lwdjYvbmRpc2MuYwpAQCAtNTU4LDYgKzU1OCwxMSBAQCBzdGF0aWMgdm9p ZCBuZGlzY19zZW5kX3Vuc29sX25hKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAKIAlyZWFkX2xv Y2tfYmgoJmlkZXYtPmxvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoaWZhLCAmaWRldi0+YWRk cl9saXN0LCBpZl9saXN0KSB7CisJCS8qIHNraXAgdGVudGF0aXZlIGFkZHJlc3NlcyB1bnRpbCBk YWQgY29tcGxldGVzICovCisJCWlmIChpZmEtPmZsYWdzICYgSUZBX0ZfVEVOVEFUSVZFICYmCisJ CSAgICAhKGlmYS0+ZmxhZ3MgJiBJRkFfRl9PUFRJTUlTVElDKSkKKwkJCWNvbnRpbnVlOworCiAJ CW5kaXNjX3NlbmRfbmEoZGV2LCAmaW42YWRkcl9saW5rbG9jYWxfYWxsbm9kZXMsICZpZmEtPmFk ZHIsCiAJCQkgICAgICAvKnJvdXRlcj0qLyAhIWlkZXYtPmNuZi5mb3J3YXJkaW5nLAogCQkJICAg ICAgLypzb2xpY2l0ZWQ9Ki8gZmFsc2UsIC8qb3ZlcnJpZGU9Ki8gdHJ1ZSwKLS0gCjIuMTQuMwoK CkZyb20gYmNlZTExY2ZkYzI1NzYxYWZjMzdkZjlkYzQ2ODU4NTE5MzEyNmViNCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+CkRhdGU6 IFRodSwgMSBGZWIgMjAxOCAxMjoyMToxNSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMTNdIHJv Y2tlcjogZml4IHBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbgogcm9ja2VyX3Jv dXRlcl9maWJfZXZlbnRfd29yawoKWyBVcHN0cmVhbSBjb21taXQgYTgzMTY1ZjAwZjE2YzBlMGVm NWI3Y2VjM2NiZDBkNDc4ODY5OTI2NSBdCgpDdXJyZW50bHksIHJvY2tlciB1c2VyIG1heSBleHBl cmllbmNlIGZvbGxvd2luZyBudWxsIHBvaW50ZXIKZGVyZWZlbmNlIGJ1ZzoKClsgICAgMy4wNjIx NDFdIEJVRzogdW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNl IGF0IDAwMDAwMDAwMDAwMDAwZDAKWyAgICAzLjA2NTE2M10gSVA6IHJvY2tlcl9yb3V0ZXJfZmli X2V2ZW50X3dvcmsrMHgzNi8weDExMCBbcm9ja2VyXQoKVGhlIHByb2JsZW0gaXMgdW5pbml0aWFs aXplZCByb2NrZXItPndvcHMgcG9pbnRlciB0aGF0IGlzIGluaXRpYWxpemVkCm9ubHkgd2l0aCB0 aGUgZmlyc3QgaW5pdGlhbGl6ZWQgcG9ydC4gU28gbW92ZSB0aGUgcG9ydCBpbml0aWFsaXphdGlv bgpiZWZvcmUgcmVnaXN0ZXJpbmcgdGhlIGZpYiBldmVudHMuCgpGaXhlczogOTM2YmQ0ODY1NjRh ICgicm9ja2VyOiB1c2UgRklCIG5vdGlmaWNhdGlvbnMgaW5zdGVhZCBvZiBzd2l0Y2hkZXYgY2Fs bHMiKQpTaWduZWQtb2ZmLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jIHwgMTggKysrKysrKysrLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvcm9ja2VyL3JvY2tlcl9tYWluLmMKaW5kZXggZmM4ZjhiZGY2NTc5 Li4wNTZjYjYwOTM2MzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9y b2NrZXJfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFp bi5jCkBAIC0yOTAyLDYgKzI5MDIsMTIgQEAgc3RhdGljIGludCByb2NrZXJfcHJvYmUoc3RydWN0 IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKIAkJZ290byBl cnJfYWxsb2Nfb3JkZXJlZF93b3JrcXVldWU7CiAJfQogCisJZXJyID0gcm9ja2VyX3Byb2JlX3Bv cnRzKHJvY2tlcik7CisJaWYgKGVycikgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQg dG8gcHJvYmUgcG9ydHNcbiIpOworCQlnb3RvIGVycl9wcm9iZV9wb3J0czsKKwl9CisKIAkvKiBP bmx5IEZJQnMgcG9pbnRpbmcgdG8gb3VyIG93biBuZXRkZXZzIGFyZSBwcm9ncmFtbWVkIGludG8K IAkgKiB0aGUgZGV2aWNlLCBzbyBubyBuZWVkIHRvIHBhc3MgYSBjYWxsYmFjay4KIAkgKi8KQEAg LTI5MTgsMjIgKzI5MjQsMTYgQEAgc3RhdGljIGludCByb2NrZXJfcHJvYmUoc3RydWN0IHBjaV9k ZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKIAogCXJvY2tlci0+aHcu aWQgPSByb2NrZXJfcmVhZDY0KHJvY2tlciwgU1dJVENIX0lEKTsKIAotCWVyciA9IHJvY2tlcl9w cm9iZV9wb3J0cyhyb2NrZXIpOwotCWlmIChlcnIpIHsKLQkJZGV2X2VycigmcGRldi0+ZGV2LCAi ZmFpbGVkIHRvIHByb2JlIHBvcnRzXG4iKTsKLQkJZ290byBlcnJfcHJvYmVfcG9ydHM7Ci0JfQot CiAJZGV2X2luZm8oJnBkZXYtPmRldiwgIlJvY2tlciBzd2l0Y2ggd2l0aCBpZCAlKnBoTlxuIiwK IAkJIChpbnQpc2l6ZW9mKHJvY2tlci0+aHcuaWQpLCAmcm9ja2VyLT5ody5pZCk7CiAKIAlyZXR1 cm4gMDsKIAotZXJyX3Byb2JlX3BvcnRzOgotCXVucmVnaXN0ZXJfc3dpdGNoZGV2X25vdGlmaWVy KCZyb2NrZXJfc3dpdGNoZGV2X25vdGlmaWVyKTsKIGVycl9yZWdpc3Rlcl9zd2l0Y2hkZXZfbm90 aWZpZXI6CiAJdW5yZWdpc3Rlcl9maWJfbm90aWZpZXIoJnJvY2tlci0+ZmliX25iKTsKIGVycl9y ZWdpc3Rlcl9maWJfbm90aWZpZXI6CisJcm9ja2VyX3JlbW92ZV9wb3J0cyhyb2NrZXIpOworZXJy X3Byb2JlX3BvcnRzOgogCWRlc3Ryb3lfd29ya3F1ZXVlKHJvY2tlci0+cm9ja2VyX293cSk7CiBl cnJfYWxsb2Nfb3JkZXJlZF93b3JrcXVldWU6CiAJZnJlZV9pcnEocm9ja2VyX21zaXhfdmVjdG9y KHJvY2tlciwgUk9DS0VSX01TSVhfVkVDX0VWRU5UKSwgcm9ja2VyKTsKQEAgLTI5NjEsOSArMjk2 MSw5IEBAIHN0YXRpYyB2b2lkIHJvY2tlcl9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7 CiAJc3RydWN0IHJvY2tlciAqcm9ja2VyID0gcGNpX2dldF9kcnZkYXRhKHBkZXYpOwogCi0Jcm9j a2VyX3JlbW92ZV9wb3J0cyhyb2NrZXIpOwogCXVucmVnaXN0ZXJfc3dpdGNoZGV2X25vdGlmaWVy KCZyb2NrZXJfc3dpdGNoZGV2X25vdGlmaWVyKTsKIAl1bnJlZ2lzdGVyX2ZpYl9ub3RpZmllcigm cm9ja2VyLT5maWJfbmIpOworCXJvY2tlcl9yZW1vdmVfcG9ydHMocm9ja2VyKTsKIAlyb2NrZXJf d3JpdGUzMihyb2NrZXIsIENPTlRST0wsIFJPQ0tFUl9DT05UUk9MX1JFU0VUKTsKIAlkZXN0cm95 X3dvcmtxdWV1ZShyb2NrZXItPnJvY2tlcl9vd3EpOwogCWZyZWVfaXJxKHJvY2tlcl9tc2l4X3Zl Y3Rvcihyb2NrZXIsIFJPQ0tFUl9NU0lYX1ZFQ19FVkVOVCksIHJvY2tlcik7Ci0tIAoyLjE0LjMK CgpGcm9tIDUxYTI4NjdkYzBlNjVkMDUxNTAzY2E3YTBmZjgyOTA5NWMwZDY5ZjggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29t PgpEYXRlOiBXZWQsIDMxIEphbiAyMDE4IDE1OjQzOjA1IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAx MS8xM10gdGNwX2JicjogZml4IHBhY2luZ19nYWluIHRvIGFsd2F5cyBiZSB1bml0eSB3aGVuIHVz aW5nCiBsdF9idwoKWyBVcHN0cmVhbSBjb21taXQgM2FmZjNiNGI5ODZlNTFiY2Y0YWIyNDllNWQ0 OGQzOTU5NmUwZGY2YSBdCgpUaGlzIGNvbW1pdCBmaXhlcyB0aGUgcGFjaW5nX2dhaW4gdG8gcmVt YWluIGF0IEJCUl9VTklUICgxLjApIHdoZW4KdXNpbmcgbHRfYncgYW5kIHJldHVybmluZyBmcm9t IHRoZSBQUk9CRV9SVFQgc3RhdGUgdG8gUFJPQkVfQlcuCgpQcmV2aW91c2x5LCB3aGVuIHVzaW5n IGx0X2J3LCB1cG9uIGV4aXRpbmcgUFJPQkVfUlRUIGFuZCBlbnRlcmluZwpQUk9CRV9CVyB0aGUg YmJyX3Jlc2V0X3Byb2JlX2J3X21vZGUoKSBjb2RlIGNvdWxkIHNvbWV0aW1lcyByYW5kb21seQpl bmQgdXAgd2l0aCBhIGN5Y2xlX2lkeCBvZiAwIGFuZCBoZW5jZSBoYXZlIGJicl9hZHZhbmNlX2N5 Y2xlX3BoYXNlKCkKc2V0IGEgcGFjaW5nIGdhaW4gYWJvdmUgMS4wLiBJbiBzdWNoIGNhc2VzIHRo aXMgd291bGQgcmVzdWx0IGluIGEKcGFjaW5nIHJhdGUgdGhhdCBpcyAxLjI1eCBoaWdoZXIgdGhh biBpbnRlbmRlZCwgcG90ZW50aWFsbHkgcmVzdWx0aW5nCmluIGEgaGlnaCBsb3NzIHJhdGUgZm9y IGEgbGl0dGxlIHdoaWxlIHVudGlsIHdlIHN0b3AgdXNpbmcgdGhlIGx0X2J3IGEKYml0IGxhdGVy LgoKVGhpcyBjb21taXQgaXMgYSBzdGFibGUgY2FuZGlkYXRlIGZvciBrZXJuZWxzIGJhY2sgYXMg ZmFyIGFzIDQuOS4KCkZpeGVzOiAwZjg3ODJlYTE0OTcgKCJ0Y3BfYmJyOiBhZGQgQkJSIGNvbmdl c3Rpb24gY29udHJvbCIpClNpZ25lZC1vZmYtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBn b29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBZdWNodW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNv bT4KU2lnbmVkLW9mZi1ieTogU29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNv bT4KUmVwb3J0ZWQtYnk6IEJleWVycyBDcm9uamUgPGJjcm9uamVAZ21haWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lw djQvdGNwX2Jici5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2Jici5jIGIvbmV0L2lw djQvdGNwX2Jici5jCmluZGV4IDgzMjJmMjZlNzcwZS4uMjVjNWEwYjYwY2ZjIDEwMDY0NAotLS0g YS9uZXQvaXB2NC90Y3BfYmJyLmMKKysrIGIvbmV0L2lwdjQvdGNwX2Jici5jCkBAIC00ODEsNyAr NDgxLDggQEAgc3RhdGljIHZvaWQgYmJyX2FkdmFuY2VfY3ljbGVfcGhhc2Uoc3RydWN0IHNvY2sg KnNrKQogCiAJYmJyLT5jeWNsZV9pZHggPSAoYmJyLT5jeWNsZV9pZHggKyAxKSAmIChDWUNMRV9M RU4gLSAxKTsKIAliYnItPmN5Y2xlX21zdGFtcCA9IHRwLT5kZWxpdmVyZWRfbXN0YW1wOwotCWJi ci0+cGFjaW5nX2dhaW4gPSBiYnJfcGFjaW5nX2dhaW5bYmJyLT5jeWNsZV9pZHhdOworCWJici0+ cGFjaW5nX2dhaW4gPSBiYnItPmx0X3VzZV9idyA/IEJCUl9VTklUIDoKKwkJCQkJICAgIGJicl9w YWNpbmdfZ2FpbltiYnItPmN5Y2xlX2lkeF07CiB9CiAKIC8qIEdhaW4gY3ljbGluZzogY3ljbGUg cGFjaW5nIGdhaW4gdG8gY29udmVyZ2UgdG8gZmFpciBzaGFyZSBvZiBhdmFpbGFibGUgYncuICov CkBAIC00OTAsOCArNDkxLDcgQEAgc3RhdGljIHZvaWQgYmJyX3VwZGF0ZV9jeWNsZV9waGFzZShz dHJ1Y3Qgc29jayAqc2ssCiB7CiAJc3RydWN0IGJiciAqYmJyID0gaW5ldF9jc2tfY2Eoc2spOwog Ci0JaWYgKChiYnItPm1vZGUgPT0gQkJSX1BST0JFX0JXKSAmJiAhYmJyLT5sdF91c2VfYncgJiYK LQkgICAgYmJyX2lzX25leHRfY3ljbGVfcGhhc2Uoc2ssIHJzKSkKKwlpZiAoYmJyLT5tb2RlID09 IEJCUl9QUk9CRV9CVyAmJiBiYnJfaXNfbmV4dF9jeWNsZV9waGFzZShzaywgcnMpKQogCQliYnJf YWR2YW5jZV9jeWNsZV9waGFzZShzayk7CiB9CiAKLS0gCjIuMTQuMwoKCkZyb20gZGQ0ZTk5M2U1 ZmE4MGIzMWRhOTY4M2U5N2MzYjg3MmE5MDk0NTZhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTWFydGluIEthRmFpIExhdSA8a2FmYWlAZmIuY29tPgpEYXRlOiBXZWQsIDI0IEphbiAy MDE4IDIzOjE1OjI3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxMi8xM10gaXB2NjogRml4IFNPX1JF VVNFUE9SVCBVRFAgc29ja2V0IHdpdGggaW1wbGljaXQKIHNrX2lwdjZvbmx5CgpbIFVwc3RyZWFt IGNvbW1pdCA3ZWNlNTRhNjBlZTJiYTdhMzg2MzA4Y2FlNzNjNzkwYmQ1ODA1ODljIF0KCklmIGEg c2tfdjZfcmN2X3NhZGRyIGlzICFJUFY2X0FERFJfQU5ZIGFuZCAhSVBWNl9BRERSX01BUFBFRCwg aXQKaW1wbGljaXRseSBpbXBsaWVzIGl0IGlzIGFuIGlwdjZvbmx5IHNvY2tldC4gIEhvd2V2ZXIs IGluIGluZXQ2X2JpbmQoKSwKdGhpcyBhZGRyX3R5cGUgY2hlY2tpbmcgYW5kIHNldHRpbmcgc2st PnNrX2lwdjZvbmx5IHRvIDEgYXJlIG9ubHkgZG9uZQphZnRlciBzay0+c2tfcHJvdC0+Z2V0X3Bv cnQoc2ssIHNudW0pIGhhcyBiZWVuIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCgpUaGlzIGluY29u c2lzdGVuY3kgYmV0d2VlbiBza192Nl9yY3Zfc2FkZHIgYW5kIHNrX2lwdjZvbmx5IGNvbmZ1c2Vz CnRoZSAnZ2V0X3BvcnQoKScuCgpJbiBwYXJ0aWN1bGFyLCB3aGVuIGJpbmRpbmcgU09fUkVVU0VQ T1JUIFVEUCBzb2NrZXRzLAp1ZHBfcmV1c2Vwb3J0X2FkZF9zb2NrKHNrLC4uLikgaXMgY2FsbGVk LiAgdWRwX3JldXNlcG9ydF9hZGRfc29jaygpCmNoZWNrcyAiaXB2Nl9vbmx5X3NvY2soc2syKSA9 PSBpcHY2X29ubHlfc29jayhzaykiIGJlZm9yZSBhZGRpbmcgc2sgdG8Kc2syLT5za19yZXVzZXBv cnRfY2IuICBJbiB0aGlzIGNhc2UsIGlwdjZfb25seV9zb2NrKHNrMikgY291bGQgYmUKMSB3aGls ZSBpcHY2X29ubHlfc29jayhzaykgaXMgc3RpbGwgMCBoZXJlLiAgVGhlIGVuZCByZXN1bHQgaXMs CnJldXNlcG9ydF9hbGxvYyhzaykgaXMgY2FsbGVkIGluc3RlYWQgb2YgYWRkaW5nIHNrIHRvIHRo ZSBleGlzdGluZwpzazItPnNrX3JldXNlcG9ydF9jYi4KCkl0IGNhbiBiZSByZXByb2R1Y2VkIGJ5 IGJpbmRpbmcgdHdvIFNPX1JFVVNFUE9SVCBVRFAgc29ja2V0cyBvbiBhbgpJUHY2IGFkZHJlc3Mg KCFBTlkgYW5kICFNQVBQRUQpLiAgT25seSBvbmUgb2YgdGhlIHNvY2tldCB3aWxsCnJlY2VpdmUg cGFja2V0LgoKVGhlIGZpeCBpcyB0byBzZXQgdGhlIGltcGxpY2l0IHNrX2lwdjZvbmx5IGJlZm9y ZSBjYWxsaW5nIGdldF9wb3J0KCkuClRoZSBvcmlnaW5hbCBza19pcHY2b25seSBoYXMgdG8gYmUg c2F2ZWQgc3VjaCB0aGF0IGl0IGNhbiBiZSByZXN0b3JlZAppbiBjYXNlIGdldF9wb3J0KCkgZmFp bGVkLiAgVGhlIHNpdHVhdGlvbiBpcyBzaW1pbGFyIHRvIHRoZQppbmV0X3Jlc2V0X3NhZGRyKHNr KSBhZnRlciBnZXRfcG9ydCgpIGhhcyBmYWlsZWQuCgpUaGFua3MgdG8gQ2FsdmluIE93ZW5zIDxj YWx2aW5vd2Vuc0BmYi5jb20+IHdobyBjcmVhdGVkIGFuIGVhc3kKcmVwcm9kdWN0aW9uIHdoaWNo IGxlYWRzIHRvIGEgZml4LgoKRml4ZXM6IGUzMmVhN2U3NDcyNyAoInNvcmV1c2Vwb3J0OiBmYXN0 IHJldXNlcG9ydCBVRFAgc29ja2V0IHNlbGVjdGlvbiIpClNpZ25lZC1vZmYtYnk6IE1hcnRpbiBL YUZhaSBMYXUgPGthZmFpQGZiLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2FmX2luZXQ2LmMgfCAxMSArKysrKysr LS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvaXB2Ni9hZl9pbmV0Ni5jIGIvbmV0L2lwdjYvYWZfaW5ldDYuYwppbmRl eCBiY2JkNWYzYmY4YmQuLjljY2JmNzRkZWI5OSAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvYWZfaW5l dDYuYworKysgYi9uZXQvaXB2Ni9hZl9pbmV0Ni5jCkBAIC0yODQsNiArMjg0LDcgQEAgaW50IGlu ZXQ2X2JpbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICp1YWRkciwgaW50 IGFkZHJfbGVuKQogCXN0cnVjdCBuZXQgKm5ldCA9IHNvY2tfbmV0KHNrKTsKIAlfX2JlMzIgdjRh ZGRyID0gMDsKIAl1bnNpZ25lZCBzaG9ydCBzbnVtOworCWJvb2wgc2F2ZWRfaXB2Nm9ubHk7CiAJ aW50IGFkZHJfdHlwZSA9IDA7CiAJaW50IGVyciA9IDA7CiAKQEAgLTM4OSwxOSArMzkwLDIxIEBA IGludCBpbmV0Nl9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdWFk ZHIsIGludCBhZGRyX2xlbikKIAlpZiAoIShhZGRyX3R5cGUgJiBJUFY2X0FERFJfTVVMVElDQVNU KSkKIAkJbnAtPnNhZGRyID0gYWRkci0+c2luNl9hZGRyOwogCisJc2F2ZWRfaXB2Nm9ubHkgPSBz ay0+c2tfaXB2Nm9ubHk7CisJaWYgKGFkZHJfdHlwZSAhPSBJUFY2X0FERFJfQU5ZICYmIGFkZHJf dHlwZSAhPSBJUFY2X0FERFJfTUFQUEVEKQorCQlzay0+c2tfaXB2Nm9ubHkgPSAxOworCiAJLyog TWFrZSBzdXJlIHdlIGFyZSBhbGxvd2VkIHRvIGJpbmQgaGVyZS4gKi8KIAlpZiAoKHNudW0gfHwg IWluZXQtPmJpbmRfYWRkcmVzc19ub19wb3J0KSAmJgogCSAgICBzay0+c2tfcHJvdC0+Z2V0X3Bv cnQoc2ssIHNudW0pKSB7CisJCXNrLT5za19pcHY2b25seSA9IHNhdmVkX2lwdjZvbmx5OwogCQlp bmV0X3Jlc2V0X3NhZGRyKHNrKTsKIAkJZXJyID0gLUVBRERSSU5VU0U7CiAJCWdvdG8gb3V0Owog CX0KIAotCWlmIChhZGRyX3R5cGUgIT0gSVBWNl9BRERSX0FOWSkgeworCWlmIChhZGRyX3R5cGUg IT0gSVBWNl9BRERSX0FOWSkKIAkJc2stPnNrX3VzZXJsb2NrcyB8PSBTT0NLX0JJTkRBRERSX0xP Q0s7Ci0JCWlmIChhZGRyX3R5cGUgIT0gSVBWNl9BRERSX01BUFBFRCkKLQkJCXNrLT5za19pcHY2 b25seSA9IDE7Ci0JfQogCWlmIChzbnVtKQogCQlzay0+c2tfdXNlcmxvY2tzIHw9IFNPQ0tfQklO RFBPUlRfTE9DSzsKIAlpbmV0LT5pbmV0X3Nwb3J0ID0gaHRvbnMoaW5ldC0+aW5ldF9udW0pOwot LSAKMi4xNC4zCgoKRnJvbSA2MWM5ODFmNWIwNTEwOWFiOWYxMmZhZjhjMThjNjQ5YWFiMTJmYjBm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdv b2dsZS5jb20+CkRhdGU6IEZyaSwgMiBGZWIgMjAxOCAxMDoyNzoyNyAtMDgwMApTdWJqZWN0OiBb UEFUQ0ggMTMvMTNdIHNvcmV1c2Vwb3J0OiBmaXggbWVtIGxlYWsgaW4gcmV1c2Vwb3J0X2FkZF9z b2NrKCkKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0 IDRkYjQyOGE3YzlhYjA3ZTA4NzgzZTBmY2RjNGNhMGY1NTVkYTA1NjcgXQoKcmV1c2Vwb3J0X2Fk ZF9zb2NrKCkgbmVlZHMgdG8gZGVhbCB3aXRoIGF0dGFjaGluZyBhIHNvY2tldCBoYXZpbmcKaXRz IG93biBza19yZXVzZXBvcnRfY2IsIGFmdGVyIGEgcHJpb3IKc2V0c29ja29wdChTT19BVFRBQ0hf UkVVU0VQT1JUXz9CUEYpCgpXaXRob3V0IHRoaXMgZml4LCBub3Qgb25seSBhIFdBUk5fT05DRSgp IHdhcyBpc3N1ZWQsIGJ1dCB3ZSB3ZXJlIGFsc28KbGVha2luZyBtZW1vcnkuCgpUaGFua3MgdG8g c3lzYm90IGFuZCBFcmljIEJpZ2dlcnMgZm9yIHByb3ZpZGluZyB1cyBuaWNlIEMgcmVwcm9zLgoK LS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCnNvY2tldCBhbHJlYWR5IGluIHJl dXNlcG9ydCBncm91cApXQVJOSU5HOiBDUFU6IDAgUElEOiAzNDk2IGF0IG5ldC9jb3JlL3NvY2tf cmV1c2Vwb3J0LmM6MTE5wqDCoApyZXVzZXBvcnRfYWRkX3NvY2srMHg3NDIvMHg5YjAgbmV0L2Nv cmUvc29ja19yZXVzZXBvcnQuYzoxMTcKS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IHBhbmlj X29uX3dhcm4gc2V0IC4uLgoKQ1BVOiAwIFBJRDogMzQ5NiBDb21tOiBzeXprYWxsZXI4Njk1MDMg Tm90IHRhaW50ZWQgNC4xNS4wLXJjNisgIzI0NQpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xl IENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwKQklPU8KgwqAKR29vZ2xlIDAx LzAxLzIwMTEKQ2FsbCBUcmFjZToKwqAgX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6MTcg W2lubGluZV0KwqAgZHVtcF9zdGFjaysweDE5NC8weDI1NyBsaWIvZHVtcF9zdGFjay5jOjUzCsKg IHBhbmljKzB4MWU0LzB4NDFjIGtlcm5lbC9wYW5pYy5jOjE4MwrCoCBfX3dhcm4rMHgxZGMvMHgy MDAga2VybmVsL3BhbmljLmM6NTQ3CsKgIHJlcG9ydF9idWcrMHgyMTEvMHgyZDAgbGliL2J1Zy5j OjE4NArCoCBmaXh1cF9idWcucGFydC4xMSsweDM3LzB4ODAgYXJjaC94ODYva2VybmVsL3RyYXBz LmM6MTc4CsKgIGZpeHVwX2J1ZyBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzoyNDcgW2lubGluZV0K wqAgZG9fZXJyb3JfdHJhcCsweDJkNy8weDNlMCBhcmNoL3g4Ni9rZXJuZWwvdHJhcHMuYzoyOTYK wqAgZG9faW52YWxpZF9vcCsweDFiLzB4MjAgYXJjaC94ODYva2VybmVsL3RyYXBzLmM6MzE1CsKg IGludmFsaWRfb3ArMHgyMi8weDQwIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6MTA3OQoKRml4 ZXM6IGVmNDU2MTQ0ZGE4ZSAoInNvcmV1c2Vwb3J0OiBkZWZpbmUgcmV1c2Vwb3J0IGdyb3VwcyIp ClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0 ZWQtYnk6IHN5emJvdCtjMGVhMjIyNmY3N2E0MjkzNmJmN0BzeXprYWxsZXIuYXBwc3BvdG1haWwu Y29tCkFja2VkLWJ5OiBDcmFpZyBHYWxsZWsgPGtyYWlnQGdvb2dsZS5jb20+CgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUv c29ja19yZXVzZXBvcnQuYyB8IDM1ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2NvcmUvc29ja19yZXVzZXBvcnQuYyBiL25ldC9jb3JlL3NvY2tfcmV1c2Vw b3J0LmMKaW5kZXggNWVlYjFkMjBjYzM4Li42NzYwOTJkN2JkODEgMTAwNjQ0Ci0tLSBhL25ldC9j b3JlL3NvY2tfcmV1c2Vwb3J0LmMKKysrIGIvbmV0L2NvcmUvc29ja19yZXVzZXBvcnQuYwpAQCAt OTQsNiArOTQsMTYgQEAgc3RhdGljIHN0cnVjdCBzb2NrX3JldXNlcG9ydCAqcmV1c2Vwb3J0X2dy b3coc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpyZXVzZSkKIAlyZXR1cm4gbW9yZV9yZXVzZTsKIH0K IAorc3RhdGljIHZvaWQgcmV1c2Vwb3J0X2ZyZWVfcmN1KHN0cnVjdCByY3VfaGVhZCAqaGVhZCkK K3sKKwlzdHJ1Y3Qgc29ja19yZXVzZXBvcnQgKnJldXNlOworCisJcmV1c2UgPSBjb250YWluZXJf b2YoaGVhZCwgc3RydWN0IHNvY2tfcmV1c2Vwb3J0LCByY3UpOworCWlmIChyZXVzZS0+cHJvZykK KwkJYnBmX3Byb2dfZGVzdHJveShyZXVzZS0+cHJvZyk7CisJa2ZyZWUocmV1c2UpOworfQorCiAv KioKICAqICByZXVzZXBvcnRfYWRkX3NvY2sgLSBBZGQgYSBzb2NrZXQgdG8gdGhlIHJldXNlcG9y dCBncm91cCBvZiBhbm90aGVyLgogICogIEBzazogIE5ldyBzb2NrZXQgdG8gYWRkIHRvIHRoZSBn cm91cC4KQEAgLTEwMiw3ICsxMTIsNyBAQCBzdGF0aWMgc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpy ZXVzZXBvcnRfZ3JvdyhzdHJ1Y3Qgc29ja19yZXVzZXBvcnQgKnJldXNlKQogICovCiBpbnQgcmV1 c2Vwb3J0X2FkZF9zb2NrKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKnNrMikKIHsKLQlz dHJ1Y3Qgc29ja19yZXVzZXBvcnQgKnJldXNlOworCXN0cnVjdCBzb2NrX3JldXNlcG9ydCAqb2xk X3JldXNlLCAqcmV1c2U7CiAKIAlpZiAoIXJjdV9hY2Nlc3NfcG9pbnRlcihzazItPnNrX3JldXNl cG9ydF9jYikpIHsKIAkJaW50IGVyciA9IHJldXNlcG9ydF9hbGxvYyhzazIpOwpAQCAtMTEzLDEw ICsxMjMsMTMgQEAgaW50IHJldXNlcG9ydF9hZGRfc29jayhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVj dCBzb2NrICpzazIpCiAKIAlzcGluX2xvY2tfYmgoJnJldXNlcG9ydF9sb2NrKTsKIAlyZXVzZSA9 IHJjdV9kZXJlZmVyZW5jZV9wcm90ZWN0ZWQoc2syLT5za19yZXVzZXBvcnRfY2IsCi0JCQkJCSAg bG9ja2RlcF9pc19oZWxkKCZyZXVzZXBvcnRfbG9jaykpLAotCVdBUk5fT05DRShyY3VfZGVyZWZl cmVuY2VfcHJvdGVjdGVkKHNrLT5za19yZXVzZXBvcnRfY2IsCi0JCQkJCSAgICBsb2NrZGVwX2lz X2hlbGQoJnJldXNlcG9ydF9sb2NrKSksCi0JCSAgInNvY2tldCBhbHJlYWR5IGluIHJldXNlcG9y dCBncm91cCIpOworCQkJCQkgIGxvY2tkZXBfaXNfaGVsZCgmcmV1c2Vwb3J0X2xvY2spKTsKKwlv bGRfcmV1c2UgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKHNrLT5za19yZXVzZXBvcnRfY2Is CisJCQkJCSAgICAgbG9ja2RlcF9pc19oZWxkKCZyZXVzZXBvcnRfbG9jaykpOworCWlmIChvbGRf cmV1c2UgJiYgb2xkX3JldXNlLT5udW1fc29ja3MgIT0gMSkgeworCQlzcGluX3VubG9ja19iaCgm cmV1c2Vwb3J0X2xvY2spOworCQlyZXR1cm4gLUVCVVNZOworCX0KIAogCWlmIChyZXVzZS0+bnVt X3NvY2tzID09IHJldXNlLT5tYXhfc29ja3MpIHsKIAkJcmV1c2UgPSByZXVzZXBvcnRfZ3Jvdyhy ZXVzZSk7CkBAIC0xMzQsMTkgKzE0NywxMSBAQCBpbnQgcmV1c2Vwb3J0X2FkZF9zb2NrKHN0cnVj dCBzb2NrICpzaywgc3RydWN0IHNvY2sgKnNrMikKIAogCXNwaW5fdW5sb2NrX2JoKCZyZXVzZXBv cnRfbG9jayk7CiAKKwlpZiAob2xkX3JldXNlKQorCQljYWxsX3JjdSgmb2xkX3JldXNlLT5yY3Us IHJldXNlcG9ydF9mcmVlX3JjdSk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHJldXNl cG9ydF9mcmVlX3JjdShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCi17Ci0Jc3RydWN0IHNvY2tfcmV1 c2Vwb3J0ICpyZXVzZTsKLQotCXJldXNlID0gY29udGFpbmVyX29mKGhlYWQsIHN0cnVjdCBzb2Nr X3JldXNlcG9ydCwgcmN1KTsKLQlpZiAocmV1c2UtPnByb2cpCi0JCWJwZl9wcm9nX2Rlc3Ryb3ko cmV1c2UtPnByb2cpOwotCWtmcmVlKHJldXNlKTsKLX0KLQogdm9pZCByZXVzZXBvcnRfZGV0YWNo X3NvY2soc3RydWN0IHNvY2sgKnNrKQogewogCXN0cnVjdCBzb2NrX3JldXNlcG9ydCAqcmV1c2U7 Ci0tIAoyLjE0LjMKCg== ----Next_Part(Tue_Feb__6_15_19_49_2018_731)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_415.mbox" RnJvbSBlMmRjMmEwNmQ5MDU5YWY5ZmUzZWExYmRhMGE5OTYzNjRiNjc4MGVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF5IEFsZWtzYW5kcm92IDxuaWtvbGF5QGN1bXVsdXNu ZXR3b3Jrcy5jb20+CkRhdGU6IFdlZCwgMzEgSmFuIDIwMTggMTY6Mjk6MzAgKzAyMDAKU3ViamVj dDogW1BBVENIIDAxLzE4XSBpcDZtcjogZml4IHN0YWxlIGl0ZXJhdG9yCgpbIFVwc3RyZWFtIGNv bW1pdCA0YWRmYTc5ZmMyNTRlZmI3YjBlYjNjZDU4ZjYyYzJjM2Y4MDVmMWJhIF0KCldoZW4gd2Ug ZHVtcCB0aGUgaXA2bXIgbWZjIGVudHJpZXMgdmlhIHByb2MsIHdlIGluaXRpYWxpemUgYW4gaXRl cmF0b3IKd2l0aCB0aGUgdGFibGUgdG8gZHVtcCBidXQgd2UgZG9uJ3QgY2xlYXIgdGhlIGNhY2hl IHBvaW50ZXIgd2hpY2ggbWlnaHQKYmUgaW5pdGlhbGl6ZWQgZnJvbSBhIHByaW9yIHJlYWQgb24g dGhlIHNhbWUgZGVzY3JpcHRvciB0aGF0IGVuZGVkLiBUaGlzCmNhbiByZXN1bHQgaW4gbG9jayBp bWJhbGFuY2UgKGFuIHVubmVjZXNzYXJ5IHVubG9jaykgbGVhZGluZyB0byBvdGhlcgpjcmFzaGVz IGFuZCBoYW5ncy4gQ2xlYXIgdGhlIGNhY2hlIHBvaW50ZXIgbGlrZSBpcG1yIGRvZXMgdG8gZml4 IHRoZSBpc3N1ZS4KVGhhbmtzIGZvciB0aGUgcmVsaWFibGUgcmVwcm9kdWNlci4KCkhlcmUncyBz eXpib3QncyB0cmFjZToKIFdBUk5JTkc6IGJhZCB1bmxvY2sgYmFsYW5jZSBkZXRlY3RlZCEKIDQu MTUuMC1yYzMrICMxMjggTm90IHRhaW50ZWQKIHN5emthbGxlcjk3MTQ2MC8zMTk1IGlzIHRyeWlu ZyB0byByZWxlYXNlIGxvY2sgKG1ydF9sb2NrKSBhdDoKIFs8MDAwMDAwMDA2ODk4MDY4ZD5dIGlw bXJfbWZjX3NlcV9zdG9wKzB4ZTEvMHgxMzAgbmV0L2lwdjYvaXA2bXIuYzo1NTMKIGJ1dCB0aGVy ZSBhcmUgbm8gbW9yZSBsb2NrcyB0byByZWxlYXNlIQoKIG90aGVyIGluZm8gdGhhdCBtaWdodCBo ZWxwIHVzIGRlYnVnIHRoaXM6CiAxIGxvY2sgaGVsZCBieSBzeXprYWxsZXI5NzE0NjAvMzE5NToK ICAjMDogICgmcC0+bG9jayl7Ky4rLn0sIGF0OiBbPDAwMDAwMDAwNzQ0YTY1NjU+XSBzZXFfcmVh ZCsweGQ1LzB4MTNkMAogZnMvc2VxX2ZpbGUuYzoxNjUKCiBzdGFjayBiYWNrdHJhY2U6CiBDUFU6 IDEgUElEOiAzMTk1IENvbW06IHN5emthbGxlcjk3MTQ2MCBOb3QgdGFpbnRlZCA0LjE1LjAtcmMz KyAjMTI4CiBIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2ds ZSBDb21wdXRlIEVuZ2luZSwgQklPUwogR29vZ2xlIDAxLzAxLzIwMTEKIENhbGwgVHJhY2U6CiAg X19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6MTcgW2lubGluZV0KICBkdW1wX3N0YWNrKzB4 MTk0LzB4MjU3IGxpYi9kdW1wX3N0YWNrLmM6NTMKICBwcmludF91bmxvY2tfaW1iYWxhbmNlX2J1 ZysweDEyZi8weDE0MCBrZXJuZWwvbG9ja2luZy9sb2NrZGVwLmM6MzU2MQogIF9fbG9ja19yZWxl YXNlIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzozNzc1IFtpbmxpbmVdCiAgbG9ja19yZWxlYXNl KzB4NWY5LzB4ZGEwIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzo0MDIzCiAgX19yYXdfcmVhZF91 bmxvY2sgaW5jbHVkZS9saW51eC9yd2xvY2tfYXBpX3NtcC5oOjIyNSBbaW5saW5lXQogIF9yYXdf cmVhZF91bmxvY2srMHgxYS8weDMwIGtlcm5lbC9sb2NraW5nL3NwaW5sb2NrLmM6MjU1CiAgaXBt cl9tZmNfc2VxX3N0b3ArMHhlMS8weDEzMCBuZXQvaXB2Ni9pcDZtci5jOjU1MwogIHRyYXZlcnNl KzB4M2JjLzB4YTAwIGZzL3NlcV9maWxlLmM6MTM1CiAgc2VxX3JlYWQrMHg5NmEvMHgxM2QwIGZz L3NlcV9maWxlLmM6MTg5CiAgcHJvY19yZWdfcmVhZCsweGVmLzB4MTcwIGZzL3Byb2MvaW5vZGUu YzoyMTcKICBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6NjczIFtpbmxpbmVd CiAgZG9faXRlcl9yZWFkKzB4M2RiLzB4NWIwIGZzL3JlYWRfd3JpdGUuYzo4OTcKICBjb21wYXRf cmVhZHYrMHgxYmYvMHgyNzAgZnMvcmVhZF93cml0ZS5jOjExNDAKICBkb19jb21wYXRfcHJlYWR2 NjQrMHhkYy8weDEwMCBmcy9yZWFkX3dyaXRlLmM6MTE4OQogIENfU1lTQ19wcmVhZHYgZnMvcmVh ZF93cml0ZS5jOjEyMDkgW2lubGluZV0KICBjb21wYXRfU3lTX3ByZWFkdisweDNiLzB4NTAgZnMv cmVhZF93cml0ZS5jOjEyMDMKICBkb19zeXNjYWxsXzMyX2lycXNfb24gYXJjaC94ODYvZW50cnkv Y29tbW9uLmM6MzI3IFtpbmxpbmVdCiAgZG9fZmFzdF9zeXNjYWxsXzMyKzB4M2VlLzB4ZjlkIGFy Y2gveDg2L2VudHJ5L2NvbW1vbi5jOjM4OQogIGVudHJ5X1NZU0VOVEVSX2NvbXBhdCsweDUxLzB4 NjAgYXJjaC94ODYvZW50cnkvZW50cnlfNjRfY29tcGF0LlM6MTI1CiBSSVA6IDAwMjM6MHhmN2Y3 M2M3OQogUlNQOiAwMDJiOjAwMDAwMDAwZTU3NGExNWMgRUZMQUdTOiAwMDAwMDI5MiBPUklHX1JB WDogMDAwMDAwMDAwMDAwMDE0ZAogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAw MDAwMDAwZiBSQ1g6IDAwMDAwMDAwMjBhM2FmYjAKIFJEWDogMDAwMDAwMDAwMDAwMDAwMSBSU0k6 IDAwMDAwMDAwMDAwMDAwNjcgUkRJOiAwMDAwMDAwMDAwMDAwMDAwCiBSQlA6IDAwMDAwMDAwMDAw MDAwMDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMAogUjEwOiAw MDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IDAwMDAwMDAwMDAwMDAw MDAKIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAw MDAwMDAwMDAwMDAwCiBCVUc6IHNsZWVwaW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQg Y29udGV4dCBhdCBsaWIvdXNlcmNvcHkuYzoyNQogaW5fYXRvbWljKCk6IDEsIGlycXNfZGlzYWJs ZWQoKTogMCwgcGlkOiAzMTk1LCBuYW1lOiBzeXprYWxsZXI5NzE0NjAKIElORk86IGxvY2tkZXAg aXMgdHVybmVkIG9mZi4KIENQVTogMSBQSUQ6IDMxOTUgQ29tbTogc3l6a2FsbGVyOTcxNDYwIE5v dCB0YWludGVkIDQuMTUuMC1yYzMrICMxMjgKIEhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUg Q29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TCiBHb29nbGUgMDEvMDEv MjAxMQogQ2FsbCBUcmFjZToKICBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzoxNyBbaW5s aW5lXQogIGR1bXBfc3RhY2srMHgxOTQvMHgyNTcgbGliL2R1bXBfc3RhY2suYzo1MwogIF9fX21p Z2h0X3NsZWVwKzB4MmIyLzB4NDcwIGtlcm5lbC9zY2hlZC9jb3JlLmM6NjA2MAogIF9fbWlnaHRf c2xlZXArMHg5NS8weDE5MCBrZXJuZWwvc2NoZWQvY29yZS5jOjYwMTMKICBfX21pZ2h0X2ZhdWx0 KzB4YWIvMHgxZDAgbW0vbWVtb3J5LmM6NDUyNQogIF9jb3B5X3RvX3VzZXIrMHgyYy8weGMwIGxp Yi91c2VyY29weS5jOjI1CiAgY29weV90b191c2VyIGluY2x1ZGUvbGludXgvdWFjY2Vzcy5oOjE1 NSBbaW5saW5lXQogIHNlcV9yZWFkKzB4Y2I0LzB4MTNkMCBmcy9zZXFfZmlsZS5jOjI3OQogIHBy b2NfcmVnX3JlYWQrMHhlZi8weDE3MCBmcy9wcm9jL2lub2RlLmM6MjE3CiAgZG9fbG9vcF9yZWFk dl93cml0ZXYgZnMvcmVhZF93cml0ZS5jOjY3MyBbaW5saW5lXQogIGRvX2l0ZXJfcmVhZCsweDNk Yi8weDViMCBmcy9yZWFkX3dyaXRlLmM6ODk3CiAgY29tcGF0X3JlYWR2KzB4MWJmLzB4MjcwIGZz L3JlYWRfd3JpdGUuYzoxMTQwCiAgZG9fY29tcGF0X3ByZWFkdjY0KzB4ZGMvMHgxMDAgZnMvcmVh ZF93cml0ZS5jOjExODkKICBDX1NZU0NfcHJlYWR2IGZzL3JlYWRfd3JpdGUuYzoxMjA5IFtpbmxp bmVdCiAgY29tcGF0X1N5U19wcmVhZHYrMHgzYi8weDUwIGZzL3JlYWRfd3JpdGUuYzoxMjAzCiAg ZG9fc3lzY2FsbF8zMl9pcnFzX29uIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjMyNyBbaW5saW5l XQogIGRvX2Zhc3Rfc3lzY2FsbF8zMisweDNlZS8weGY5ZCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzozODkKICBlbnRyeV9TWVNFTlRFUl9jb21wYXQrMHg1MS8weDYwIGFyY2gveDg2L2VudHJ5L2Vu dHJ5XzY0X2NvbXBhdC5TOjEyNQogUklQOiAwMDIzOjB4ZjdmNzNjNzkKIFJTUDogMDAyYjowMDAw MDAwMGU1NzRhMTVjIEVGTEFHUzogMDAwMDAyOTIgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAxNGQK IFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMGYgUkNYOiAwMDAwMDAw MDIwYTNhZmIwCiBSRFg6IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiAwMDAwMDAwMDAwMDAwMDY3IFJE STogMDAwMDAwMDAwMDAwMDAwMAogUkJQOiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAwMDAwMDAw MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6 IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiAwMDAwMDAwMDAwMDAwMDAwCiBSMTM6IDAwMDAwMDAwMDAw MDAwMDAgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAogV0FSTklO RzogQ1BVOiAxIFBJRDogMzE5NSBhdCBsaWIvdXNlcmNvcHkuYzoyNiBfY29weV90b191c2VyKzB4 YjUvMHhjMAogbGliL3VzZXJjb3B5LmM6MjYKClJlcG9ydGVkLWJ5OiBzeXpib3QgPGJvdCtlY2Vi MzIwNDU2MmM0MWE0MzhmYTFmMjMzNWUwZmU0ZjY4ODZkNjY5QHN5emthbGxlci5hcHBzcG90bWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IE5pa29sYXkgQWxla3NhbmRyb3YgPG5pa29sYXlAY3VtdWx1 c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9pcHY2L2lwNm1yLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNm1yLmMgYi9uZXQvaXB2Ni9p cDZtci5jCmluZGV4IGEyZTFhODY0ZWI0Ni4uNGZjNTY2ZWM3ZTc5IDEwMDY0NAotLS0gYS9uZXQv aXB2Ni9pcDZtci5jCisrKyBiL25ldC9pcHY2L2lwNm1yLmMKQEAgLTQ5NSw2ICs0OTUsNyBAQCBz dGF0aWMgdm9pZCAqaXBtcl9tZmNfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBsb2Zm X3QgKnBvcykKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CiAKIAlpdC0+bXJ0ID0gbXJ0Owor CWl0LT5jYWNoZSA9IE5VTEw7CiAJcmV0dXJuICpwb3MgPyBpcG1yX21mY19zZXFfaWR4KG5ldCwg c2VxLT5wcml2YXRlLCAqcG9zIC0gMSkKIAkJOiBTRVFfU1RBUlRfVE9LRU47CiB9Ci0tIAoyLjE0 LjMKCgpGcm9tIGEwYTdkYzhkMDRkZDFkZjcwNzFjNTlkMWEzZDg2OTRmNzAyYjNkM2UgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KRGF0ZTogVGh1LCAxIEZlYiAyMDE4IDEwOjI2OjU3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAw Mi8xOF0gbmV0OiBpZ21wOiBhZGQgYSBtaXNzaW5nIHJjdSBsb2NraW5nIHNlY3Rpb24KClsgVXBz dHJlYW0gY29tbWl0IGU3YWFkYjI3YTU0MTVlODEyNTgzNGI4NGE3NDQ3N2JmYmVlNGVmZjUgXQoK TmV3bHkgYWRkZWQgaWdtcHYzX2dldF9zcmNhZGRyKCkgbmVlZHMgdG8gYmUgY2FsbGVkIHVuZGVy IHJjdSBsb2NrLgoKVGltZXIgY2FsbGJhY2tzIGRvIG5vdCBlbnN1cmUgdGhpcyBsb2NraW5nLgoK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV0FSTklORzogc3VzcGljaW91cyBSQ1UgdXNh Z2UKNC4xNS4wKyAjMjAwIE5vdCB0YWludGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci4vaW5jbHVkZS9saW51eC9pbmV0ZGV2aWNlLmg6MjE2IHN1c3BpY2lvdXMgcmN1X2RlcmVmZXJl bmNlX2NoZWNrKCkgdXNhZ2UhCgpvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0 aGlzOgoKcmN1X3NjaGVkdWxlcl9hY3RpdmUgPSAyLCBkZWJ1Z19sb2NrcyA9IDEKMyBsb2NrcyBo ZWxkIGJ5IHN5emthbGxlcjYxNjk3My80MDc0OgogIzA6ICAoJm1tLT5tbWFwX3NlbSl7KysrK30s IGF0OiBbPDAwMDAwMDAwYmZjZTY2OWU+XSBfX2RvX3BhZ2VfZmF1bHQrMHgzMmQvMHhjOTAgYXJj aC94ODYvbW0vZmF1bHQuYzoxMzU1CiAjMTogICgoJmltLT50aW1lcikpeysuLS59LCBhdDogWzww MDAwMDAwMDYxOWQyZjcxPl0gbG9ja2RlcF9jb3B5X21hcCBpbmNsdWRlL2xpbnV4L2xvY2tkZXAu aDoxNzggW2lubGluZV0KICMxOiAgKCgmaW0tPnRpbWVyKSl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAw NjE5ZDJmNzE+XSBjYWxsX3RpbWVyX2ZuKzB4MWM2LzB4ODIwIGtlcm5lbC90aW1lL3RpbWVyLmM6 MTMxNgogIzI6ICAoJigmaW0tPmxvY2spLT5ybG9jayl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAwNWY4 MzNjNWM+XSBzcGluX2xvY2tfYmggaW5jbHVkZS9saW51eC9zcGlubG9jay5oOjMxNSBbaW5saW5l XQogIzI6ICAoJigmaW0tPmxvY2spLT5ybG9jayl7Ky4tLn0sIGF0OiBbPDAwMDAwMDAwNWY4MzNj NWM+XSBpZ21wdjNfc2VuZF9yZXBvcnQrMHg5OC8weDViMCBuZXQvaXB2NC9pZ21wLmM6NjAwCgpz dGFjayBiYWNrdHJhY2U6CkNQVTogMCBQSUQ6IDQwNzQgQ29tbTogc3l6a2FsbGVyNjE2OTczIE5v dCB0YWludGVkIDQuMTUuMCsgIzIwMApIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1 dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpD YWxsIFRyYWNlOgogPElSUT4KIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjE3IFtpbmxp bmVdCiBkdW1wX3N0YWNrKzB4MTk0LzB4MjU3IGxpYi9kdW1wX3N0YWNrLmM6NTMKIGxvY2tkZXBf cmN1X3N1c3BpY2lvdXMrMHgxMjMvMHgxNzAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQ1OTIK IF9faW5fZGV2X2dldF9yY3UgaW5jbHVkZS9saW51eC9pbmV0ZGV2aWNlLmg6MjE2IFtpbmxpbmVd CiBpZ21wdjNfZ2V0X3NyY2FkZHIgbmV0L2lwdjQvaWdtcC5jOjMyOSBbaW5saW5lXQogaWdtcHYz X25ld3BhY2srMHhlZWYvMHgxMmUwIG5ldC9pcHY0L2lnbXAuYzozODkKIGFkZF9ncmhlYWQuaXNy YS4yNysweDIzNS8weDMwMCBuZXQvaXB2NC9pZ21wLmM6NDMyCiBhZGRfZ3JlYysweGJkMy8weDEx NzAgbmV0L2lwdjQvaWdtcC5jOjU2NQogaWdtcHYzX3NlbmRfcmVwb3J0KzB4ZDUvMHg1YjAgbmV0 L2lwdjQvaWdtcC5jOjYwNQogaWdtcF9zZW5kX3JlcG9ydCsweGM0My8weDEwNTAgbmV0L2lwdjQv aWdtcC5jOjcyMgogaWdtcF90aW1lcl9leHBpcmUrMHgzMjIvMHg1YzAgbmV0L2lwdjQvaWdtcC5j OjgzMQogY2FsbF90aW1lcl9mbisweDIyOC8weDgyMCBrZXJuZWwvdGltZS90aW1lci5jOjEzMjYK IGV4cGlyZV90aW1lcnMga2VybmVsL3RpbWUvdGltZXIuYzoxMzYzIFtpbmxpbmVdCiBfX3J1bl90 aW1lcnMrMHg3ZWUvMHhiNzAga2VybmVsL3RpbWUvdGltZXIuYzoxNjY2CiBydW5fdGltZXJfc29m dGlycSsweDRjLzB4NzAga2VybmVsL3RpbWUvdGltZXIuYzoxNjkyCiBfX2RvX3NvZnRpcnErMHgy ZDcvMHhiODUga2VybmVsL3NvZnRpcnEuYzoyODUKIGludm9rZV9zb2Z0aXJxIGtlcm5lbC9zb2Z0 aXJxLmM6MzY1IFtpbmxpbmVdCiBpcnFfZXhpdCsweDFjYy8weDIwMCBrZXJuZWwvc29mdGlycS5j OjQwNQogZXhpdGluZ19pcnEgYXJjaC94ODYvaW5jbHVkZS9hc20vYXBpYy5oOjU0MSBbaW5saW5l XQogc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KzB4MTZiLzB4NzAwIGFyY2gveDg2L2tlcm5lbC9h cGljL2FwaWMuYzoxMDUyCiBhcGljX3RpbWVyX2ludGVycnVwdCsweGE5LzB4YjAgYXJjaC94ODYv ZW50cnkvZW50cnlfNjQuUzo5MzgKCkZpeGVzOiBhNDYxODJiMDAyOTAgKCJuZXQ6IGlnbXA6IFVz ZSBjb3JyZWN0IHNvdXJjZSBhZGRyZXNzIG9uIElHTVB2MyByZXBvcnRzIikKU2lnbmVkLW9mZi1i eTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90 IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9pZ21wLmMgfCA0ICsrKysK IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9p Z21wLmMgYi9uZXQvaXB2NC9pZ21wLmMKaW5kZXggMmQ0OTcxN2E3NDIxLi5mMGIxZmMzNWRkZTEg MTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lnbXAuYworKysgYi9uZXQvaXB2NC9pZ21wLmMKQEAgLTM4 Niw3ICszODYsMTEgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICppZ21wdjNfbmV3cGFjayhzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbXR1KQogCXBpcC0+ZnJhZ19vZmYgPSBo dG9ucyhJUF9ERik7CiAJcGlwLT50dGwgICAgICA9IDE7CiAJcGlwLT5kYWRkciAgICA9IGZsNC5k YWRkcjsKKworCXJjdV9yZWFkX2xvY2soKTsKIAlwaXAtPnNhZGRyICAgID0gaWdtcHYzX2dldF9z cmNhZGRyKGRldiwgJmZsNCk7CisJcmN1X3JlYWRfdW5sb2NrKCk7CisKIAlwaXAtPnByb3RvY29s ID0gSVBQUk9UT19JR01QOwogCXBpcC0+dG90X2xlbiAgPSAwOwkvKiBmaWxsZWQgaW4gbGF0ZXIg Ki8KIAlpcF9zZWxlY3RfaWRlbnQobmV0LCBza2IsIE5VTEwpOwotLSAKMi4xNC4zCgoKRnJvbSAz Y2M2ZWFiMTA0Y2M2NDU0ZWQ0ODNkNGMzZjJlNGQ0YzgxMTYyZDAyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKdW54aWFvIEJpIDxqdW54aWFvLmJpQG9yYWNsZS5jb20+CkRhdGU6IE1v biwgMjkgSmFuIDIwMTggMTc6NTM6NDIgKzA4MDAKU3ViamVjdDogW1BBVENIIDAzLzE4XSBxbGNu aWM6IGZpeCBkZWFkbG9jayBidWcKClsgVXBzdHJlYW0gY29tbWl0IDIzM2FjMzg5MTYwN2Y1MDFm MDg4NzkxMzRkNjIzYjMwMzgzOGY0NzggXQoKVGhlIGZvbGxvd2luZyBzb2Z0IGxvY2t1cCB3YXMg Y2F1Z2h0LiBUaGlzIGlzIGEgZGVhZGxvY2sgY2F1c2VkIGJ5CnJlY3VzaXZlIGxvY2tpbmcuCgpQ cm9jZXNzIGt3b3JrZXIvdTQwOjE6MjgwMTYgd2FzIGhvbGRpbmcgc3BpbiBsb2NrICJtYngtPnF1 ZXVlX2xvY2siIGluCnFsY25pY184M3h4X21haWxib3hfd29ya2VyKCksIHdoaWxlIGEgc29mdGly cSBjYW1lIGluIGFuZCBhc2sgdGhlIHNhbWUgc3Bpbgpsb2NrIGluIHFsY25pY184M3h4X2VucXVl dWVfbWJ4X2NtZCgpLiBUaGlzIGxvY2sgc2hvdWxkIGJlIGhvbGQgYnkgZGlzYWJsZQpiaC4uCgpb MTYxODQ2Ljk2MjEyNV0gTk1JIHdhdGNoZG9nOiBCVUc6IHNvZnQgbG9ja3VwIC0gQ1BVIzEgc3R1 Y2sgZm9yIDIycyEgW2t3b3JrZXIvdTQwOjE6MjgwMTZdClsxNjE4NDYuOTYyMzY3XSBNb2R1bGVz IGxpbmtlZCBpbjogdHVuIG9jZnMyIHhlbl9uZXRiYWNrIHhlbl9ibGtiYWNrIHhlbl9nbnRhbGxv YyB4ZW5fZ250ZGV2IHhlbl9ldnRjaG4geGVuZnMgeGVuX3ByaXZjbWQgYXV0b2ZzNCBvY2ZzMl9k bG1mcyBvY2ZzMl9zdGFja19vMmNiIG9jZnMyX2RsbSBvY2ZzMl9ub2RlbWFuYWdlciBvY2ZzMl9z dGFja2dsdWUgY29uZmlnZnMgYm54MmZjIGZjb2UgbGliZmNvZSBsaWJmYyBzdW5ycGMgODAyMXEg bXJwIGdhcnAgYnJpZGdlIHN0cCBsbGMgYm9uZGluZyBkbV9yb3VuZF9yb2JpbiBkbV9tdWx0aXBh dGggaVRDT193ZHQgaVRDT192ZW5kb3Jfc3VwcG9ydCBwY3Nwa3Igc2JfZWRhYyBlZGFjX2NvcmUg aTJjX2k4MDEgc2hwY2hwIGxwY19pY2ggbWZkX2NvcmUgaW9hdGRtYSBpcG1pX2RldmludGYgaXBt aV9zaSBpcG1pX21zZ2hhbmRsZXIgc2cgZXh0NCBqYmQyIG1iY2FjaGUyIHNyX21vZCBjZHJvbSBz ZF9tb2QgaWdiIGkyY19hbGdvX2JpdCBpMmNfY29yZSBhaGNpIGxpYmFoY2kgbWVnYXJhaWRfc2Fz IGl4Z2JlIGRjYSBwdHAgcHBzX2NvcmUgdnhsYW4gdWRwX3R1bm5lbCBpcDZfdWRwX3R1bm5lbCBx bGEyeHh4IHNjc2lfdHJhbnNwb3J0X2ZjIHFsY25pYyBjcmMzMmNfaW50ZWwgYmUyaXNjc2kgYm54 MmkgY25pYyB1aW8gY3hnYjRpIGN4Z2I0IGN4Z2IzaSBsaWJjeGdiaSBpcHY2IGN4Z2IzIG1kaW8g bGliaXNjc2lfdGNwIHFsYTR4eHggaXNjc2lfYm9vdF9zeXNmcyBsaWJpc2NzaSBzY3NpX3RyYW5z cG9ydF9pc2NzaSBkbV9taXJyb3IgZG1fcmVnaW9uX2hhc2ggZG1fbG9nIGRtX21vZApbMTYxODQ2 Ljk2MjQ1NF0KWzE2MTg0Ni45NjI0NjBdIENQVTogMSBQSUQ6IDI4MDE2IENvbW06IGt3b3JrZXIv dTQwOjEgTm90IHRhaW50ZWQgNC4xLjEyLTk0LjUuOS5lbDZ1ZWsueDg2XzY0ICMyClsxNjE4NDYu OTYyNDYzXSBIYXJkd2FyZSBuYW1lOiBPcmFjbGUgQ29ycG9yYXRpb24gU1VOIFNFUlZFUiBYNC0y TCAgICAgIC9BU1NZLE1CLFg0LTJMICAgICAgICAgLCBCSU9TIDI2MDUwMTAwIDA5LzE5LzIwMTcK WzE2MTg0Ni45NjI0ODldIFdvcmtxdWV1ZTogcWxjbmljX21haWxib3ggcWxjbmljXzgzeHhfbWFp bGJveF93b3JrZXIgW3FsY25pY10KWzE2MTg0Ni45NjI0OTNdIHRhc2s6IGZmZmY4ODAxZjJlMzQ2 MDAgdGk6IGZmZmY4ODAwNGNhNWMwMDAgdGFzay50aTogZmZmZjg4MDA0Y2E1YzAwMApbMTYxODQ2 Ljk2MjQ5Nl0gUklQOiBlMDMwOls8ZmZmZmZmZmY4MTAwMTNhYT5dICBbPGZmZmZmZmZmODEwMDEz YWE+XSB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwClsxNjE4NDYuOTYyNTA2XSBSU1A6 IGUwMmI6ZmZmZjg4MDIwMmU0MzM4OCAgRUZMQUdTOiAwMDAwMDIwNgpbMTYxODQ2Ljk2MjUwOV0g UkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjg4MDFmNjk5NmI3MCBSQ1g6IGZmZmZmZmZm ODEwMDEzYWEKWzE2MTg0Ni45NjI1MTFdIFJEWDogZmZmZjg4MDIwMmU0MzNjYyBSU0k6IGZmZmY4 ODAyMDJlNDMzYjAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClsxNjE4NDYuOTYyNTEzXSBSQlA6IGZm ZmY4ODAyMDJlNDMzZDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogZmZmZjg4MDFmZTg5MzIw MApbMTYxODQ2Ljk2MjUxNl0gUjEwOiBmZmZmODgwMWZlNDAwNTM4IFIxMTogMDAwMDAwMDAwMDAw MDIwNiBSMTI6IGZmZmY4ODAyMDJlNGIwMDAKWzE2MTg0Ni45NjI1MThdIFIxMzogMDAwMDAwMDAw MDAwMDA1MCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDEgUjE1OiAwMDAwMDAwMDAwMDAwMjBkClsxNjE4 NDYuOTYyNTI4XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDIwMmU0MDAw MCgwMDAwKSBrbmxHUzpmZmZmODgwMjAyZTQwMDAwClsxNjE4NDYuOTYyNTMxXSBDUzogIGUwMzMg RFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsxNjE4NDYuOTYyNTMzXSBD UjI6IDAwMDAwMDAwMDI2MTI2NDAgQ1IzOiAwMDAwMDAwMWJiNzk2MDAwIENSNDogMDAwMDAwMDAw MDA0MjY2MApbMTYxODQ2Ljk2MjUzNl0gU3RhY2s6ClsxNjE4NDYuOTYyNTM4XSAgZmZmZjg4MDIw MmU0MzYwOCAwMDAwMDAwMDAwMDAwMDAwIGZmZmZmZmZmODEzZjA0NDIgZmZmZjg4MDIwMmU0MzNi MApbMTYxODQ2Ljk2MjU0M10gIDAwMDAwMDAwMDAwMDAwMDAgZmZmZjg4MDIwMmU0MzNjYyBmZmZm ZmZmZjAwMDAwMDAxIDAwMDAwMDAwMDAwMDAwMDAKWzE2MTg0Ni45NjI1NDddICAwMDAwMDAwOTgx M2YwM2Q2IGZmZmY4ODAyMDJlNDMzZTAgZmZmZmZmZmY4MTNmMDQ2MCBmZmZmODgwMjAyZTQzNDQw ClsxNjE4NDYuOTYyNTUyXSBDYWxsIFRyYWNlOgpbMTYxODQ2Ljk2MjU1NV0gIDxJUlE+ClsxNjE4 NDYuOTYyNTY1XSAgWzxmZmZmZmZmZjgxM2YwNDQyPl0gPyB4ZW5fcG9sbF9pcnFfdGltZW91dCsw eDQyLzB4NTAKWzE2MTg0Ni45NjI1NzBdICBbPGZmZmZmZmZmODEzZjA0NjA+XSB4ZW5fcG9sbF9p cnErMHgxMC8weDIwClsxNjE4NDYuOTYyNTc4XSAgWzxmZmZmZmZmZjgxMDE0MjIyPl0geGVuX2xv Y2tfc3Bpbm5pbmcrMHhlMi8weDExMApbMTYxODQ2Ljk2MjU4M10gIFs8ZmZmZmZmZmY4MTAxM2Yw MT5dIF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9sb2NrX3NwaW5uaW5nKzB4MTEvMHgyMApbMTYxODQ2 Ljk2MjU5Ml0gIFs8ZmZmZmZmZmY4MTZlNWM1Nz5dID8gX3Jhd19zcGluX2xvY2srMHg1Ny8weDgw ClsxNjE4NDYuOTYyNjA5XSAgWzxmZmZmZmZmZmEwMjhhY2ZjPl0gcWxjbmljXzgzeHhfZW5xdWV1 ZV9tYnhfY21kKzB4N2MvMHhlMCBbcWxjbmljXQpbMTYxODQ2Ljk2MjYyM10gIFs8ZmZmZmZmZmZh MDI4ZTAwOD5dIHFsY25pY184M3h4X2lzc3VlX2NtZCsweDU4LzB4MjEwIFtxbGNuaWNdClsxNjE4 NDYuOTYyNjM2XSAgWzxmZmZmZmZmZmEwMjhjYWYyPl0gcWxjbmljXzgzeHhfc3JlX21hY2FkZHJf Y2hhbmdlKzB4MTYyLzB4MWQwIFtxbGNuaWNdClsxNjE4NDYuOTYyNjQ5XSAgWzxmZmZmZmZmZmEw MjhjYjhiPl0gcWxjbmljXzgzeHhfY2hhbmdlX2wyX2ZpbHRlcisweDJiLzB4MzAgW3FsY25pY10K WzE2MTg0Ni45NjI2NTddICBbPGZmZmZmZmZmODE2MDI0OGI+XSA/IF9fc2tiX2Zsb3dfZGlzc2Vj dCsweDE4Yi8weDY1MApbMTYxODQ2Ljk2MjY3MF0gIFs8ZmZmZmZmZmZhMDI4NTZlNT5dIHFsY25p Y19zZW5kX2ZpbHRlcisweDIwNS8weDI1MCBbcWxjbmljXQpbMTYxODQ2Ljk2MjY4Ml0gIFs8ZmZm ZmZmZmZhMDI4NWM3Nz5dIHFsY25pY194bWl0X2ZyYW1lKzB4NTQ3LzB4N2IwIFtxbGNuaWNdClsx NjE4NDYuOTYyNjkxXSAgWzxmZmZmZmZmZjgxNjBhYzIyPl0geG1pdF9vbmUrMHg4Mi8weDFhMApb MTYxODQ2Ljk2MjY5Nl0gIFs8ZmZmZmZmZmY4MTYwYWQ5MD5dIGRldl9oYXJkX3N0YXJ0X3htaXQr MHg1MC8weGEwClsxNjE4NDYuOTYyNzAxXSAgWzxmZmZmZmZmZjgxNjMwMTEyPl0gc2NoX2RpcmVj dF94bWl0KzB4MTEyLzB4MjIwClsxNjE4NDYuOTYyNzA2XSAgWzxmZmZmZmZmZjgxNjBiODBmPl0g X19kZXZfcXVldWVfeG1pdCsweDFkZi8weDVlMApbMTYxODQ2Ljk2MjcxMF0gIFs8ZmZmZmZmZmY4 MTYwYmMzMz5dIGRldl9xdWV1ZV94bWl0X3NrKzB4MTMvMHgyMApbMTYxODQ2Ljk2MjcyMV0gIFs8 ZmZmZmZmZmZhMDU3NWJkNT5dIGJvbmRfZGV2X3F1ZXVlX3htaXQrMHgzNS8weDgwIFtib25kaW5n XQpbMTYxODQ2Ljk2MjcyOV0gIFs8ZmZmZmZmZmZhMDU3NjlmYj5dIF9fYm9uZF9zdGFydF94bWl0 KzB4MWNiLzB4MjEwIFtib25kaW5nXQpbMTYxODQ2Ljk2MjczNl0gIFs8ZmZmZmZmZmZhMDU3NmE3 MT5dIGJvbmRfc3RhcnRfeG1pdCsweDMxLzB4NjAgW2JvbmRpbmddClsxNjE4NDYuOTYyNzQwXSAg WzxmZmZmZmZmZjgxNjBhYzIyPl0geG1pdF9vbmUrMHg4Mi8weDFhMApbMTYxODQ2Ljk2Mjc0NV0g IFs8ZmZmZmZmZmY4MTYwYWQ5MD5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHg1MC8weGEwClsxNjE4 NDYuOTYyNzQ5XSAgWzxmZmZmZmZmZjgxNjBiYjFlPl0gX19kZXZfcXVldWVfeG1pdCsweDRlZS8w eDVlMApbMTYxODQ2Ljk2Mjc1NF0gIFs8ZmZmZmZmZmY4MTYwYmMzMz5dIGRldl9xdWV1ZV94bWl0 X3NrKzB4MTMvMHgyMApbMTYxODQ2Ljk2Mjc2MF0gIFs8ZmZmZmZmZmZhMDVjZmE3Mj5dIHZsYW5f ZGV2X2hhcmRfc3RhcnRfeG1pdCsweGIyLzB4MTUwIFs4MDIxcV0KWzE2MTg0Ni45NjI3NjRdICBb PGZmZmZmZmZmODE2MGFjMjI+XSB4bWl0X29uZSsweDgyLzB4MWEwClsxNjE4NDYuOTYyNzY5XSAg WzxmZmZmZmZmZjgxNjBhZDkwPl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDUwLzB4YTAKWzE2MTg0 Ni45NjI3NzNdICBbPGZmZmZmZmZmODE2MGJiMWU+XSBfX2Rldl9xdWV1ZV94bWl0KzB4NGVlLzB4 NWUwClsxNjE4NDYuOTYyNzc3XSAgWzxmZmZmZmZmZjgxNjBiYzMzPl0gZGV2X3F1ZXVlX3htaXRf c2srMHgxMy8weDIwClsxNjE4NDYuOTYyNzg5XSAgWzxmZmZmZmZmZmEwNWFkZjc0Pl0gYnJfZGV2 X3F1ZXVlX3B1c2hfeG1pdCsweDU0LzB4YTAgW2JyaWRnZV0KWzE2MTg0Ni45NjI3OTddICBbPGZm ZmZmZmZmYTA1YWU0ZmY+XSBicl9mb3J3YXJkX2ZpbmlzaCsweDJmLzB4OTAgW2JyaWRnZV0KWzE2 MTg0Ni45NjI4MDddICBbPGZmZmZmZmZmODEwYjBkYWQ+XSA/IHR0d3VfZG9fd2FrZXVwKzB4MWQv MHgxMDAKWzE2MTg0Ni45NjI4MTFdICBbPGZmZmZmZmZmODE1ZjkyOWI+XSA/IF9fYWxsb2Nfc2ti KzB4OGIvMHgxZjAKWzE2MTg0Ni45NjI4MThdICBbPGZmZmZmZmZmYTA1YWUwNGQ+XSBfX2JyX2Zv cndhcmQrMHg4ZC8weDEyMCBbYnJpZGdlXQpbMTYxODQ2Ljk2MjgyMl0gIFs8ZmZmZmZmZmY4MTVm NjEzYj5dID8gX19rbWFsbG9jX3Jlc2VydmUrMHgzYi8weGEwClsxNjE4NDYuOTYyODI5XSAgWzxm ZmZmZmZmZjgxMGJlNTVlPl0gPyB1cGRhdGVfcnFfcnVubmFibGVfYXZnKzB4ZWUvMHgyMzAKWzE2 MTg0Ni45NjI4MzZdICBbPGZmZmZmZmZmYTA1YWUxNzY+XSBicl9mb3J3YXJkKzB4OTYvMHhiMCBb YnJpZGdlXQpbMTYxODQ2Ljk2Mjg0NV0gIFs8ZmZmZmZmZmZhMDVhZjg1ZT5dIGJyX2hhbmRsZV9m cmFtZV9maW5pc2grMHgxYWUvMHg0MjAgW2JyaWRnZV0KWzE2MTg0Ni45NjI4NTNdICBbPGZmZmZm ZmZmYTA1YWZjNGY+XSBicl9oYW5kbGVfZnJhbWUrMHgxN2YvMHgyNjAgW2JyaWRnZV0KWzE2MTg0 Ni45NjI4NjJdICBbPGZmZmZmZmZmYTA1YWZhZDA+XSA/IGJyX2hhbmRsZV9mcmFtZV9maW5pc2gr MHg0MjAvMHg0MjAgW2JyaWRnZV0KWzE2MTg0Ni45NjI4NjddICBbPGZmZmZmZmZmODE2MGQwNTc+ XSBfX25ldGlmX3JlY2VpdmVfc2tiX2NvcmUrMHgxZjcvMHg4NzAKWzE2MTg0Ni45NjI4NzJdICBb PGZmZmZmZmZmODE2MGQ2ZjI+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MjIvMHg3MApbMTYxODQ2 Ljk2Mjg3N10gIFs8ZmZmZmZmZmY4MTYwZDkxMz5dIG5ldGlmX3JlY2VpdmVfc2tiX2ludGVybmFs KzB4MjMvMHg5MApbMTYxODQ2Ljk2Mjg4NF0gIFs8ZmZmZmZmZmZhMDc1MTJlYT5dID8geGVudmlm X2lkeF9yZWxlYXNlKzB4ZWEvMHgxMDAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2Mjg4OV0gIFs8 ZmZmZmZmZmY4MTZlNWExMD5dID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4MjAvMHg1 MApbMTYxODQ2Ljk2Mjg5M10gIFs8ZmZmZmZmZmY4MTYwZTYyND5dIG5ldGlmX3JlY2VpdmVfc2ti X3NrKzB4MjQvMHg5MApbMTYxODQ2Ljk2Mjg5OV0gIFs8ZmZmZmZmZmZhMDc1MjY5YT5dIHhlbnZp Zl90eF9zdWJtaXQrMHgyY2EvMHgzZjAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2MjkwNl0gIFs8 ZmZmZmZmZmZhMDc1M2YwYz5dIHhlbnZpZl90eF9hY3Rpb24rMHg5Yy8weGQwIFt4ZW5fbmV0YmFj a10KWzE2MTg0Ni45NjI5MTVdICBbPGZmZmZmZmZmYTA3NTY3ZjU+XSB4ZW52aWZfcG9sbCsweDM1 LzB4NzAgW3hlbl9uZXRiYWNrXQpbMTYxODQ2Ljk2MjkyMF0gIFs8ZmZmZmZmZmY4MTYwZTAxYj5d IG5hcGlfcG9sbCsweGNiLzB4MWUwClsxNjE4NDYuOTYyOTI1XSAgWzxmZmZmZmZmZjgxNjBlMWMw Pl0gbmV0X3J4X2FjdGlvbisweDkwLzB4MWMwClsxNjE4NDYuOTYyOTMxXSAgWzxmZmZmZmZmZjgx MDhhYWJhPl0gX19kb19zb2Z0aXJxKzB4MTBhLzB4MzUwClsxNjE4NDYuOTYyOTM4XSAgWzxmZmZm ZmZmZjgxMDhhZTc1Pl0gaXJxX2V4aXQrMHgxMjUvMHgxMzAKWzE2MTg0Ni45NjI5NDNdICBbPGZm ZmZmZmZmODEzZjAzYTk+XSB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDM5LzB4NTAKWzE2MTg0Ni45 NjI5NTBdICBbPGZmZmZmZmZmODE2ZTdmZmU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysw eDFlLzB4NDAKWzE2MTg0Ni45NjI5NTJdICA8RU9JPgpbMTYxODQ2Ljk2Mjk1OV0gIFs8ZmZmZmZm ZmY4MTZlNWM0YT5dID8gX3Jhd19zcGluX2xvY2srMHg0YS8weDgwClsxNjE4NDYuOTYyOTY0XSAg WzxmZmZmZmZmZjgxNmU1YjFlPl0gPyBfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4MWUvMHhhMApb MTYxODQ2Ljk2Mjk3OF0gIFs8ZmZmZmZmZmZhMDI4ZTI3OT5dID8gcWxjbmljXzgzeHhfbWFpbGJv eF93b3JrZXIrMHhiOS8weDJhMCBbcWxjbmljXQpbMTYxODQ2Ljk2Mjk5MV0gIFs8ZmZmZmZmZmY4 MTBhMTRlMT5dID8gcHJvY2Vzc19vbmVfd29yaysweDE1MS8weDRiMApbMTYxODQ2Ljk2Mjk5NV0g IFs8ZmZmZmZmZmY4MTAwYzNmMj5dID8gY2hlY2tfZXZlbnRzKzB4MTIvMHgyMApbMTYxODQ2Ljk2 MzAwMV0gIFs8ZmZmZmZmZmY4MTBhMTk2MD5dID8gd29ya2VyX3RocmVhZCsweDEyMC8weDQ4MApb MTYxODQ2Ljk2MzAwNV0gIFs8ZmZmZmZmZmY4MTZlMTg3Yj5dID8gX19zY2hlZHVsZSsweDMwYi8w eDg5MApbMTYxODQ2Ljk2MzAxMF0gIFs8ZmZmZmZmZmY4MTBhMTg0MD5dID8gcHJvY2Vzc19vbmVf d29yaysweDRiMC8weDRiMApbMTYxODQ2Ljk2MzAxNV0gIFs8ZmZmZmZmZmY4MTBhMTg0MD5dID8g cHJvY2Vzc19vbmVfd29yaysweDRiMC8weDRiMApbMTYxODQ2Ljk2MzAyMV0gIFs8ZmZmZmZmZmY4 MTBhNmIzZT5dID8ga3RocmVhZCsweGNlLzB4ZjAKWzE2MTg0Ni45NjMwMjVdICBbPGZmZmZmZmZm ODEwYTZhNzA+XSA/IGt0aHJlYWRfZnJlZXphYmxlX3Nob3VsZF9zdG9wKzB4NzAvMHg3MApbMTYx ODQ2Ljk2MzAzMV0gIFs8ZmZmZmZmZmY4MTZlNjUyMj5dID8gcmV0X2Zyb21fZm9yaysweDQyLzB4 NzAKWzE2MTg0Ni45NjMwMzVdICBbPGZmZmZmZmZmODEwYTZhNzA+XSA/IGt0aHJlYWRfZnJlZXph YmxlX3Nob3VsZF9zdG9wKzB4NzAvMHg3MApbMTYxODQ2Ljk2MzAzN10gQ29kZTogY2MgNTEgNDEg NTMgYjggMWMgMDAgMDAgMDAgMGYgMDUgNDEgNWIgNTkgYzMgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgNTEgNDEgNTMgYjggMWQgMDAgMDAgMDAg MGYgMDUgPDQxPiA1YiA1OSBjMyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj YyBjYyBjYyBjYyBjYwoKU2lnbmVkLW9mZi1ieTogSnVueGlhbyBCaSA8anVueGlhby5iaUBvcmFj bGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNfODN4eF9o dy5jIHwgMTggKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fs b2dpYy9xbGNuaWMvcWxjbmljXzgzeHhfaHcuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dp Yy9xbGNuaWMvcWxjbmljXzgzeHhfaHcuYwppbmRleCBmNzA4MGQwYWI4NzQuLjQ2YjAzNzJkZDAz MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FsY25pYy9xbGNuaWNf ODN4eF9ody5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xbGNuaWMvcWxjbmlj XzgzeHhfaHcuYwpAQCAtMzg5MSw3ICszODkxLDcgQEAgc3RhdGljIHZvaWQgcWxjbmljXzgzeHhf Zmx1c2hfbWJ4X3F1ZXVlKHN0cnVjdCBxbGNuaWNfYWRhcHRlciAqYWRhcHRlcikKIAlzdHJ1Y3Qg bGlzdF9oZWFkICpoZWFkID0gJm1ieC0+Y21kX3E7CiAJc3RydWN0IHFsY25pY19jbWRfYXJncyAq Y21kID0gTlVMTDsKIAotCXNwaW5fbG9jaygmbWJ4LT5xdWV1ZV9sb2NrKTsKKwlzcGluX2xvY2tf YmgoJm1ieC0+cXVldWVfbG9jayk7CiAKIAl3aGlsZSAoIWxpc3RfZW1wdHkoaGVhZCkpIHsKIAkJ Y21kID0gbGlzdF9lbnRyeShoZWFkLT5uZXh0LCBzdHJ1Y3QgcWxjbmljX2NtZF9hcmdzLCBsaXN0 KTsKQEAgLTM5MDIsNyArMzkwMiw3IEBAIHN0YXRpYyB2b2lkIHFsY25pY184M3h4X2ZsdXNoX21i eF9xdWV1ZShzdHJ1Y3QgcWxjbmljX2FkYXB0ZXIgKmFkYXB0ZXIpCiAJCXFsY25pY184M3h4X25v dGlmeV9jbWRfY29tcGxldGlvbihhZGFwdGVyLCBjbWQpOwogCX0KIAotCXNwaW5fdW5sb2NrKCZt YngtPnF1ZXVlX2xvY2spOworCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogfQog CiBzdGF0aWMgaW50IHFsY25pY184M3h4X2NoZWNrX21ieF9zdGF0dXMoc3RydWN0IHFsY25pY19h ZGFwdGVyICphZGFwdGVyKQpAQCAtMzkzOCwxMiArMzkzOCwxMiBAQCBzdGF0aWMgdm9pZCBxbGNu aWNfODN4eF9kZXF1ZXVlX21ieF9jbWQoc3RydWN0IHFsY25pY19hZGFwdGVyICphZGFwdGVyLAog ewogCXN0cnVjdCBxbGNuaWNfbWFpbGJveCAqbWJ4ID0gYWRhcHRlci0+YWh3LT5tYWlsYm94Owog Ci0Jc3Bpbl9sb2NrKCZtYngtPnF1ZXVlX2xvY2spOworCXNwaW5fbG9ja19iaCgmbWJ4LT5xdWV1 ZV9sb2NrKTsKIAogCWxpc3RfZGVsKCZjbWQtPmxpc3QpOwogCW1ieC0+bnVtX2NtZHMtLTsKIAot CXNwaW5fdW5sb2NrKCZtYngtPnF1ZXVlX2xvY2spOworCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1 ZXVlX2xvY2spOwogCiAJcWxjbmljXzgzeHhfbm90aWZ5X2NtZF9jb21wbGV0aW9uKGFkYXB0ZXIs IGNtZCk7CiB9CkBAIC00MDA4LDcgKzQwMDgsNyBAQCBzdGF0aWMgaW50IHFsY25pY184M3h4X2Vu cXVldWVfbWJ4X2NtZChzdHJ1Y3QgcWxjbmljX2FkYXB0ZXIgKmFkYXB0ZXIsCiAJCWluaXRfY29t cGxldGlvbigmY21kLT5jb21wbGV0aW9uKTsKIAkJY21kLT5yc3Bfb3Bjb2RlID0gUUxDXzgzWFhf TUJYX1JFU1BPTlNFX1VOS05PV047CiAKLQkJc3Bpbl9sb2NrKCZtYngtPnF1ZXVlX2xvY2spOwor CQlzcGluX2xvY2tfYmgoJm1ieC0+cXVldWVfbG9jayk7CiAKIAkJbGlzdF9hZGRfdGFpbCgmY21k LT5saXN0LCAmbWJ4LT5jbWRfcSk7CiAJCW1ieC0+bnVtX2NtZHMrKzsKQEAgLTQwMTYsNyArNDAx Niw3IEBAIHN0YXRpYyBpbnQgcWxjbmljXzgzeHhfZW5xdWV1ZV9tYnhfY21kKHN0cnVjdCBxbGNu aWNfYWRhcHRlciAqYWRhcHRlciwKIAkJKnRpbWVvdXQgPSBjbWQtPnRvdGFsX2NtZHMgKiBRTENf ODNYWF9NQlhfVElNRU9VVDsKIAkJcXVldWVfd29yayhtYngtPndvcmtfcSwgJm1ieC0+d29yayk7 CiAKLQkJc3Bpbl91bmxvY2soJm1ieC0+cXVldWVfbG9jayk7CisJCXNwaW5fdW5sb2NrX2JoKCZt YngtPnF1ZXVlX2xvY2spOwogCiAJCXJldHVybiAwOwogCX0KQEAgLTQxMTIsMTUgKzQxMTIsMTUg QEAgc3RhdGljIHZvaWQgcWxjbmljXzgzeHhfbWFpbGJveF93b3JrZXIoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogCQltYngtPnJzcF9zdGF0dXMgPSBRTENfODNYWF9NQlhfUkVTUE9OU0VfV0FJ VDsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbWJ4LT5hZW5fbG9jaywgZmxhZ3MpOwogCi0J CXNwaW5fbG9jaygmbWJ4LT5xdWV1ZV9sb2NrKTsKKwkJc3Bpbl9sb2NrX2JoKCZtYngtPnF1ZXVl X2xvY2spOwogCiAJCWlmIChsaXN0X2VtcHR5KGhlYWQpKSB7Ci0JCQlzcGluX3VubG9jaygmbWJ4 LT5xdWV1ZV9sb2NrKTsKKwkJCXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogCQkJ cmV0dXJuOwogCQl9CiAJCWNtZCA9IGxpc3RfZW50cnkoaGVhZC0+bmV4dCwgc3RydWN0IHFsY25p Y19jbWRfYXJncywgbGlzdCk7CiAKLQkJc3Bpbl91bmxvY2soJm1ieC0+cXVldWVfbG9jayk7CisJ CXNwaW5fdW5sb2NrX2JoKCZtYngtPnF1ZXVlX2xvY2spOwogCiAJCW1ieF9vcHMtPmVuY29kZV9j bWQoYWRhcHRlciwgY21kKTsKIAkJbWJ4X29wcy0+bm9maXR5X2Z3KGFkYXB0ZXIsIFFMQ184M1hY X01CWF9SRVFVRVNUKTsKLS0gCjIuMTQuMwoKCkZyb20gZDNlZjg2OTRjZDE2YjVkYTFhMThkNDk0 YzJlMDYwZGIzZDNhMTRiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS3Jpc3RpYW4g RXZlbnNlbiA8a3Jpc3RpYW4uZXZlbnNlbkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMzAgSmFuIDIw MTggMTQ6MTI6NTUgKzAxMDAKU3ViamVjdDogW1BBVENIIDA0LzE4XSBxbWlfd3dhbjogQWRkIHN1 cHBvcnQgZm9yIFF1ZWN0ZWwgRVAwNgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK WyBVcHN0cmVhbSBjb21taXQgYzBiOTFhNTZhMmU1N2E1YTM3MDY1NWIyNWQ2NzdhZTBlYmY4YTJk MCBdCgpUaGUgUXVlY3RlbCBFUDA2IGlzIGEgQ2F0LiA2IExURSBtb2RlbS4gSXQgdXNlcyB0aGUg c2FtZSBpbnRlcmZhY2UgYXMKdGhlIEVDMjAvRUMyNSBmb3IgUU1JLCBhbmQgcmVxdWlyZXMgdGhl IHNhbWUgInNldCBEVFIiLXF1aXJrIHRvIHdvcmsuCgpTaWduZWQtb2ZmLWJ5OiBLcmlzdGlhbiBF dmVuc2VuIDxrcmlzdGlhbi5ldmVuc2VuQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEJqw7hybiBNb3Jr IDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMgfCAxICsKIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9x bWlfd3dhbi5jIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKaW5kZXggNzI4ODE5ZmVhYjQ0 Li5lNzExNGMzNGZlNGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCkBAIC0xMjQ1LDYgKzEyNDUsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcHJvZHVjdHNbXSA9IHsKIAl7UU1JX1FVSVJL X1NFVF9EVFIoMHgyYzdjLCAweDAxMjUsIDQpfSwJLyogUXVlY3RlbCBFQzI1LCBFQzIwIFIyLjAg IE1pbmkgUENJZSAqLwogCXtRTUlfUVVJUktfU0VUX0RUUigweDJjN2MsIDB4MDEyMSwgNCl9LAkv KiBRdWVjdGVsIEVDMjEgTWluaSBQQ0llICovCiAJe1FNSV9GSVhFRF9JTlRGKDB4MmM3YywgMHgw Mjk2LCA0KX0sCS8qIFF1ZWN0ZWwgQkc5NiAqLworCXtRTUlfUVVJUktfU0VUX0RUUigweDJjN2Ms IDB4MDMwNiwgNCl9LAkvKiBRdWVjdGVsIEVQMDYgTWluaSBQQ0llICovCiAKIAkvKiA0LiBHb2Jp IDEwMDAgZGV2aWNlcyAqLwogCXtRTUlfR09CSTFLX0RFVklDRSgweDA1YzYsIDB4OTIxMil9LAkv KiBBY2VyIEdvYmkgTW9kZW0gRGV2aWNlICovCi0tIAoyLjE0LjMKCgpGcm9tIGFiYmYxMTUwM2Nj N2Q5ODFmYzBiMmE0ZTU0NTRlOTMxMjY5OWJhMTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IENodW5oYW8gTGluIDxoYXVAcmVhbHRlay5jb20+CkRhdGU6IFdlZCwgMzEgSmFuIDIwMTgg MDE6MzI6MzYgKzA4MDAKU3ViamVjdDogW1BBVENIIDA1LzE4XSByODE2OTogZml4IFJUTDgxNjhF UCB0YWtlIHRvbyBsb25nIHRvIGNvbXBsZXRlIGRyaXZlcgogaW5pdGlhbGl6YXRpb24uCgpbIFVw c3RyZWFtIGNvbW1pdCAwODZjYTIzZDAzYzBkMmY0MDg4ZjQ3MjM4Njc3OGQyOTNlMTVjNWY2IF0K CkRyaXZlciBjaGVjayB0aGUgd3JvbmcgcmVnaXN0ZXIgYml0IGluIHJ0bF9vY3BfdHhfY29uZCgp IHRoYXQga2VlcCBkcml2ZXIKd2FpdGluZyB1bnRpbCB0aW1lb3V0LgoKRml4IHRoaXMgYnkgd2Fp dGluZyBmb3IgdGhlIHJpZ2h0IHJlZ2lzdGVyIGJpdC4KClNpZ25lZC1vZmYtYnk6IENodW5oYW8g TGluIDxoYXVAcmVhbHRlay5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5 LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCmluZGV4IDczNDI4NmViZTVlZi4u ZGQ3MTNkZmY4ZDIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4 MTY5LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OS5jCkBAIC0xMzk1 LDcgKzEzOTUsNyBAQCBERUNMQVJFX1JUTF9DT05EKHJ0bF9vY3BfdHhfY29uZCkKIHsKIAl2b2lk IF9faW9tZW0gKmlvYWRkciA9IHRwLT5tbWlvX2FkZHI7CiAKLQlyZXR1cm4gUlRMX1I4KElCSVNS MCkgJiAweDAyOworCXJldHVybiBSVExfUjgoSUJJU1IwKSAmIDB4MjA7CiB9CiAKIHN0YXRpYyB2 b2lkIHJ0bDgxNjhlcF9zdG9wX2NtYWMoc3RydWN0IHJ0bDgxNjlfcHJpdmF0ZSAqdHApCkBAIC0x NDAzLDcgKzE0MDMsNyBAQCBzdGF0aWMgdm9pZCBydGw4MTY4ZXBfc3RvcF9jbWFjKHN0cnVjdCBy dGw4MTY5X3ByaXZhdGUgKnRwKQogCXZvaWQgX19pb21lbSAqaW9hZGRyID0gdHAtPm1taW9fYWRk cjsKIAogCVJUTF9XOChJQkNSMiwgUlRMX1I4KElCQ1IyKSAmIH4weDAxKTsKLQlydGxfbXNsZWVw X2xvb3Bfd2FpdF9sb3codHAsICZydGxfb2NwX3R4X2NvbmQsIDUwLCAyMDAwKTsKKwlydGxfbXNs ZWVwX2xvb3Bfd2FpdF9oaWdoKHRwLCAmcnRsX29jcF90eF9jb25kLCA1MCwgMjAwMCk7CiAJUlRM X1c4KElCSVNSMCwgUlRMX1I4KElCSVNSMCkgfCAweDIwKTsKIAlSVExfVzgoSUJDUjAsIFJUTF9S OChJQkNSMCkgJiB+MHgwMSk7CiB9Ci0tIAoyLjE0LjMKCgpGcm9tIGNmZDcwYmFmMDc0Mzc4M2Ux ZThhYWQ2Yzc4ZDMyNGUwMGI1Yzk1MzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExp IFJvbmdRaW5nIDxsaXJvbmdxaW5nQGJhaWR1LmNvbT4KRGF0ZTogRnJpLCAyNiBKYW4gMjAxOCAx Njo0MDo0MSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMThdIHRjcDogcmVsZWFzZSBza19mcmFn LnBhZ2UgaW4gdGNwX2Rpc2Nvbm5lY3QKClsgVXBzdHJlYW0gY29tbWl0IDliNDJkNTVhNjZkMzg4 ZTRkZDU1NTAxMDdkZjA1MWE5NjM3NTY0ZmMgXQoKc29ja2V0IGNhbiBiZSBkaXNjb25uZWN0ZWQg YW5kIGdldHMgdHJhbnNmb3JtZWQgYmFjayB0byBhIGxpc3RlbmluZwpzb2NrZXQsIGlmIHNrX2Zy YWcucGFnZSBpcyBub3QgcmVsZWFzZWQsIHdoaWNoIHdpbGwgYmUgY2xvbmVkIGludG8KYSBuZXcg c29ja2V0IGJ5IHNrX2Nsb25lX2xvY2ssIGJ1dCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoaXMg cGFnZQppcyBpbmNyZWFzZWQsIGxlYWQgdG8gYSB1c2UgYWZ0ZXIgZnJlZSBvciBkb3VibGUgZnJl ZSBpc3N1ZQoKU2lnbmVkLW9mZi1ieTogTGkgUm9uZ1FpbmcgPGxpcm9uZ3FpbmdAYmFpZHUuY29t PgpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwLmMg fCA2ICsrKysrKwogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggOGUwNTNhZDdjYWUyLi5jODIx ZjVkNjg3MjAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5j CkBAIC0yNDM0LDYgKzI0MzQsMTIgQEAgaW50IHRjcF9kaXNjb25uZWN0KHN0cnVjdCBzb2NrICpz aywgaW50IGZsYWdzKQogCiAJV0FSTl9PTihpbmV0LT5pbmV0X251bSAmJiAhaWNzay0+aWNza19i aW5kX2hhc2gpOwogCisJaWYgKHNrLT5za19mcmFnLnBhZ2UpIHsKKwkJcHV0X3BhZ2Uoc2stPnNr X2ZyYWcucGFnZSk7CisJCXNrLT5za19mcmFnLnBhZ2UgPSBOVUxMOworCQlzay0+c2tfZnJhZy5v ZmZzZXQgPSAwOworCX0KKwogCXNrLT5za19lcnJvcl9yZXBvcnQoc2spOwogCXJldHVybiBlcnI7 CiB9Ci0tIAoyLjE0LjMKCgpGcm9tIDBkMWY5OGZmNDY1ZjhjZDNmN2M0MDYzNWFkYjQyYzZhMTRk NjJiZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphc29uIFdhbmcgPGphc293YW5n QHJlZGhhdC5jb20+CkRhdGU6IFRodSwgMjUgSmFuIDIwMTggMjI6MDM6NTIgKzA4MDAKU3ViamVj dDogW1BBVENIIDA3LzE4XSB2aG9zdF9uZXQ6IHN0b3AgZGV2aWNlIGR1cmluZyByZXNldCBvd25l cgoKWyBVcHN0cmVhbSBjb21taXQgNGNkODc5NTE1ZDY4Njg0OWVlYzVmNzE4YWVhYzYyYTcwYjA2 N2Q4MiBdCgpXZSBkb24ndCBzdG9wIGRldmljZSBiZWZvcmUgcmVzZXQgb3duZXIsIHRoaXMgbWVh bnMgd2UgY291bGQgdHJ5IHRvCnNlcnZlIGFueSB2aXJ0cXVldWUga2ljayBiZWZvcmUgcmVzZXQg ZGV2LT53b3JrZXIuIFRoaXMgd2lsbCByZXN1bHQgYQp3YXJuIHNpbmNlIHRoZSB3b3JrIHdhcyBw ZW5kaW5nIGF0IGxsaXN0IGR1cmluZyBvd25lciByZXNldHRpbmcuIEZpeAp0aGlzIGJ5IHN0b3Bw aW5nIGRldmljZSBkdXJpbmcgb3duZXIgcmVzZXQuCgpSZXBvcnRlZC1ieTogc3l6Ym90K2ViMTdj NjE2MjQ3OGNjNTA2MzJjQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KRml4ZXM6IDNhNGQ1Yzk0 ZTk1OTMgKCJ2aG9zdF9uZXQ6IGEga2VybmVsLWxldmVsIHZpcnRpbyBzZXJ2ZXIiKQpTaWduZWQt b2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy92aG9zdC9u ZXQuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aG9zdC9uZXQuYyBiL2RyaXZlcnMvdmhvc3QvbmV0LmMKaW5kZXggYzdiZGViNjU1 NjQ2Li41NjM2YzdjYThlYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmhvc3QvbmV0LmMKKysrIGIv ZHJpdmVycy92aG9zdC9uZXQuYwpAQCAtMTIwOCw2ICsxMjA4LDcgQEAgc3RhdGljIGxvbmcgdmhv c3RfbmV0X3Jlc2V0X293bmVyKHN0cnVjdCB2aG9zdF9uZXQgKm4pCiAJfQogCXZob3N0X25ldF9z dG9wKG4sICZ0eF9zb2NrLCAmcnhfc29jayk7CiAJdmhvc3RfbmV0X2ZsdXNoKG4pOworCXZob3N0 X2Rldl9zdG9wKCZuLT5kZXYpOwogCXZob3N0X2Rldl9yZXNldF9vd25lcigmbi0+ZGV2LCB1bWVt KTsKIAl2aG9zdF9uZXRfdnFfcmVzZXQobik7CiBkb25lOgotLSAKMi4xNC4zCgoKRnJvbSA0ZmM2 MDBhYWM0NzQ5ZDMyN2ZkMjFjOTk2NGY0NjZiMGU5NzYyZDgzIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IEZyaSwg MjYgSmFuIDIwMTggMTY6MTA6NDMgLTA4MDAKU3ViamVjdDogW1BBVENIIDA4LzE4XSBpcHY2OiBh ZGRyY29uZjogYnJlYWsgY3JpdGljYWwgc2VjdGlvbiBpbgogYWRkcmNvbmZfdmVyaWZ5X3J0bmwo KQoKWyBVcHN0cmVhbSBjb21taXQgZTY0ZTQ2OWI5YTJjMjJkNDFiM2RkNzE3MjExODc2MGNlYzIy ZDQ3MyBdCgpIZWluZXIgcmVwb3J0ZWQgYSBsb2NrZGVwIHNwbGF0IFsxXQoKVGhpcyBpcyBjYXVz ZWQgYnkgYXR0ZW1wdGluZyBHRlBfS0VSTkVMIGFsbG9jYXRpb24gd2hpbGUgUkNVIGxvY2sgaXMK aGVsZCBhbmQgQkggYmxvY2tlZC4KCldlIGJlbGlldmUgdGhhdCBhZGRyY29uZl92ZXJpZnlfcnRu bCgpIGNvdWxkIHJ1biBmb3IgYSBsb25nIHBlcmlvZCwKc28gaW5zdGVhZCBvZiB1c2luZyBHRlBf QVRPTUlDIGhlcmUgYXMgSWRvIHN1Z2dlc3RlZCwgd2Ugc2hvdWxkIGJyZWFrCnRoZSBjcml0aWNh bCBzZWN0aW9uIGFuZCByZXN0YXJ0IGl0IGFmdGVyIHRoZSBhbGxvY2F0aW9uLgoKWzFdCls4NjIy MC4xMjU1NjJdID09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cls4NjIyMC4xMjU1ODZdIFdB Uk5JTkc6IHN1c3BpY2lvdXMgUkNVIHVzYWdlCls4NjIyMC4xMjU2MTJdIDQuMTUuMC1yYzctbmV4 dC0yMDE4MDExMCsgIzcgTm90IHRhaW50ZWQKWzg2MjIwLjEyNTY0MV0gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KWzg2MjIwLjEyNTY2Nl0ga2VybmVsL3NjaGVkL2NvcmUuYzo2MDI2IEls bGVnYWwgY29udGV4dCBzd2l0Y2ggaW4gUkNVLWJoIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9u IQpbODYyMjAuMTI1NzExXQogICAgICAgICAgICAgICBvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVs cCB1cyBkZWJ1ZyB0aGlzOgoKWzg2MjIwLjEyNTc1NV0KICAgICAgICAgICAgICAgcmN1X3NjaGVk dWxlcl9hY3RpdmUgPSAyLCBkZWJ1Z19sb2NrcyA9IDEKWzg2MjIwLjEyNTc5Ml0gNCBsb2NrcyBo ZWxkIGJ5IGt3b3JrZXIvMDoyLzEwMDM6Cls4NjIyMC4xMjU4MTddICAjMDogICgod3FfY29tcGxl dGlvbikiJXMiKCJpcHY2X2FkZHJjb25mIikpeysuKy59LCBhdDogWzwwMDAwMDAwMGRhOGU5Yjcz Pl0gcHJvY2Vzc19vbmVfd29yaysweDFkZS8weDY4MApbODYyMjAuMTI1ODk1XSAgIzE6ICAoKGFk ZHJfY2hrX3dvcmspLndvcmspeysuKy59LCBhdDogWzwwMDAwMDAwMGRhOGU5YjczPl0gcHJvY2Vz c19vbmVfd29yaysweDFkZS8weDY4MApbODYyMjAuMTI1OTU5XSAgIzI6ICAocnRubF9tdXRleCl7 Ky4rLn0sIGF0OiBbPDAwMDAwMDAwYjA2ZDk1MTA+XSBydG5sX2xvY2srMHgxMi8weDIwCls4NjIy MC4xMjYwMTddICAjMzogIChyY3VfcmVhZF9sb2NrX2JoKXsuLi4ufSwgYXQ6IFs8MDAwMDAwMDBh ZWY1MjI5OT5dIGFkZHJjb25mX3ZlcmlmeV9ydG5sKzB4MWUvMHg1MTAgW2lwdjZdCls4NjIyMC4x MjYxMTFdCiAgICAgICAgICAgICAgIHN0YWNrIGJhY2t0cmFjZToKWzg2MjIwLjEyNjE0Ml0gQ1BV OiAwIFBJRDogMTAwMyBDb21tOiBrd29ya2VyLzA6MiBOb3QgdGFpbnRlZCA0LjE1LjAtcmM3LW5l eHQtMjAxODAxMTArICM3Cls4NjIyMC4xMjYxODVdIEhhcmR3YXJlIG5hbWU6IFpPVEFDIFpCT1gt Q0kzMjFOQU5PL1pCT1gtQ0kzMjFOQU5PLCBCSU9TIEIyNDZQMTA1IDA2LzAxLzIwMTUKWzg2MjIw LjEyNjI1MF0gV29ya3F1ZXVlOiBpcHY2X2FkZHJjb25mIGFkZHJjb25mX3ZlcmlmeV93b3JrIFtp cHY2XQpbODYyMjAuMTI2Mjg4XSBDYWxsIFRyYWNlOgpbODYyMjAuMTI2MzEyXSAgZHVtcF9zdGFj aysweDcwLzB4OWUKWzg2MjIwLjEyNjMzN10gIGxvY2tkZXBfcmN1X3N1c3BpY2lvdXMrMHhjZS8w eGYwCls4NjIyMC4xMjYzNjVdICBfX19taWdodF9zbGVlcCsweDFkMy8weDI0MApbODYyMjAuMTI2 MzkwXSAgX19taWdodF9zbGVlcCsweDQ1LzB4ODAKWzg2MjIwLjEyNjQxNl0gIGttZW1fY2FjaGVf YWxsb2NfdHJhY2UrMHg1My8weDI1MApbODYyMjAuMTI2NDU4XSAgPyBpcHY2X2FkZF9hZGRyKzB4 ZmUvMHg2ZTAgW2lwdjZdCls4NjIyMC4xMjY0OThdICBpcHY2X2FkZF9hZGRyKzB4ZmUvMHg2ZTAg W2lwdjZdCls4NjIyMC4xMjY1MzhdICBpcHY2X2NyZWF0ZV90ZW1wYWRkcisweDI0ZC8weDQzMCBb aXB2Nl0KWzg2MjIwLjEyNjU4MF0gID8gaXB2Nl9jcmVhdGVfdGVtcGFkZHIrMHgyNGQvMHg0MzAg W2lwdjZdCls4NjIyMC4xMjY2MjNdICBhZGRyY29uZl92ZXJpZnlfcnRubCsweDMzOS8weDUxMCBb aXB2Nl0KWzg2MjIwLjEyNjY2NF0gID8gYWRkcmNvbmZfdmVyaWZ5X3J0bmwrMHgzMzkvMHg1MTAg W2lwdjZdCls4NjIyMC4xMjY3MDhdICBhZGRyY29uZl92ZXJpZnlfd29yaysweGUvMHgyMCBbaXB2 Nl0KWzg2MjIwLjEyNjczOF0gIHByb2Nlc3Nfb25lX3dvcmsrMHgyNTgvMHg2ODAKWzg2MjIwLjEy Njc2NV0gIHdvcmtlcl90aHJlYWQrMHgzNS8weDNmMApbODYyMjAuMTI2NzkwXSAga3RocmVhZCsw eDEyNC8weDE0MApbODYyMjAuMTI2ODEzXSAgPyBwcm9jZXNzX29uZV93b3JrKzB4NjgwLzB4Njgw Cls4NjIyMC4xMjY4MzldICA/IGt0aHJlYWRfY3JlYXRlX3dvcmtlcl9vbl9jcHUrMHg0MC8weDQw Cls4NjIyMC4xMjY4NjldICA/IHVtaF9jb21wbGV0ZSsweDQwLzB4NDAKWzg2MjIwLjEyNjg5M10g ID8gY2FsbF91c2VybW9kZWhlbHBlcl9leGVjX2FzeW5jKzB4MTJhLzB4MTYwCls4NjIyMC4xMjY5 MjZdICByZXRfZnJvbV9mb3JrKzB4NGIvMHg2MApbODYyMjAuMTI2OTk5XSBCVUc6IHNsZWVwaW5n IGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQgY29udGV4dCBhdCBtbS9zbGFiLmg6NDIwCls4 NjIyMC4xMjcwNDFdIGluX2F0b21pYygpOiAxLCBpcnFzX2Rpc2FibGVkKCk6IDAsIHBpZDogMTAw MywgbmFtZToga3dvcmtlci8wOjIKWzg2MjIwLjEyNzA4Ml0gNCBsb2NrcyBoZWxkIGJ5IGt3b3Jr ZXIvMDoyLzEwMDM6Cls4NjIyMC4xMjcxMDddICAjMDogICgod3FfY29tcGxldGlvbikiJXMiKCJp cHY2X2FkZHJjb25mIikpeysuKy59LCBhdDogWzwwMDAwMDAwMGRhOGU5YjczPl0gcHJvY2Vzc19v bmVfd29yaysweDFkZS8weDY4MApbODYyMjAuMTI3MTc5XSAgIzE6ICAoKGFkZHJfY2hrX3dvcmsp LndvcmspeysuKy59LCBhdDogWzwwMDAwMDAwMGRhOGU5YjczPl0gcHJvY2Vzc19vbmVfd29yaysw eDFkZS8weDY4MApbODYyMjAuMTI3MjQyXSAgIzI6ICAocnRubF9tdXRleCl7Ky4rLn0sIGF0OiBb PDAwMDAwMDAwYjA2ZDk1MTA+XSBydG5sX2xvY2srMHgxMi8weDIwCls4NjIyMC4xMjczMDBdICAj MzogIChyY3VfcmVhZF9sb2NrX2JoKXsuLi4ufSwgYXQ6IFs8MDAwMDAwMDBhZWY1MjI5OT5dIGFk ZHJjb25mX3ZlcmlmeV9ydG5sKzB4MWUvMHg1MTAgW2lwdjZdCls4NjIyMC4xMjc0MTRdIENQVTog MCBQSUQ6IDEwMDMgQ29tbToga3dvcmtlci8wOjIgTm90IHRhaW50ZWQgNC4xNS4wLXJjNy1uZXh0 LTIwMTgwMTEwKyAjNwpbODYyMjAuMTI3NDYzXSBIYXJkd2FyZSBuYW1lOiBaT1RBQyBaQk9YLUNJ MzIxTkFOTy9aQk9YLUNJMzIxTkFOTywgQklPUyBCMjQ2UDEwNSAwNi8wMS8yMDE1Cls4NjIyMC4x Mjc1MjhdIFdvcmtxdWV1ZTogaXB2Nl9hZGRyY29uZiBhZGRyY29uZl92ZXJpZnlfd29yayBbaXB2 Nl0KWzg2MjIwLjEyNzU2OF0gQ2FsbCBUcmFjZToKWzg2MjIwLjEyNzU5MV0gIGR1bXBfc3RhY2sr MHg3MC8weDllCls4NjIyMC4xMjc2MTZdICBfX19taWdodF9zbGVlcCsweDE0ZC8weDI0MApbODYy MjAuMTI3NjQ0XSAgX19taWdodF9zbGVlcCsweDQ1LzB4ODAKWzg2MjIwLjEyNzY3Ml0gIGttZW1f Y2FjaGVfYWxsb2NfdHJhY2UrMHg1My8weDI1MApbODYyMjAuMTI3NzE3XSAgPyBpcHY2X2FkZF9h ZGRyKzB4ZmUvMHg2ZTAgW2lwdjZdCls4NjIyMC4xMjc3NjJdICBpcHY2X2FkZF9hZGRyKzB4ZmUv MHg2ZTAgW2lwdjZdCls4NjIyMC4xMjc4MDddICBpcHY2X2NyZWF0ZV90ZW1wYWRkcisweDI0ZC8w eDQzMCBbaXB2Nl0KWzg2MjIwLjEyNzg1NF0gID8gaXB2Nl9jcmVhdGVfdGVtcGFkZHIrMHgyNGQv MHg0MzAgW2lwdjZdCls4NjIyMC4xMjc5MDNdICBhZGRyY29uZl92ZXJpZnlfcnRubCsweDMzOS8w eDUxMCBbaXB2Nl0KWzg2MjIwLjEyNzk1MF0gID8gYWRkcmNvbmZfdmVyaWZ5X3J0bmwrMHgzMzkv MHg1MTAgW2lwdjZdCls4NjIyMC4xMjc5OThdICBhZGRyY29uZl92ZXJpZnlfd29yaysweGUvMHgy MCBbaXB2Nl0KWzg2MjIwLjEyODAzMl0gIHByb2Nlc3Nfb25lX3dvcmsrMHgyNTgvMHg2ODAKWzg2 MjIwLjEyODA2M10gIHdvcmtlcl90aHJlYWQrMHgzNS8weDNmMApbODYyMjAuMTI4MDkxXSAga3Ro cmVhZCsweDEyNC8weDE0MApbODYyMjAuMTI4MTE3XSAgPyBwcm9jZXNzX29uZV93b3JrKzB4Njgw LzB4NjgwCls4NjIyMC4xMjgxNDZdICA/IGt0aHJlYWRfY3JlYXRlX3dvcmtlcl9vbl9jcHUrMHg0 MC8weDQwCls4NjIyMC4xMjgxODBdICA/IHVtaF9jb21wbGV0ZSsweDQwLzB4NDAKWzg2MjIwLjEy ODIwN10gID8gY2FsbF91c2VybW9kZWhlbHBlcl9leGVjX2FzeW5jKzB4MTJhLzB4MTYwCls4NjIy MC4xMjgyNDNdICByZXRfZnJvbV9mb3JrKzB4NGIvMHg2MAoKRml4ZXM6IGYzZDk4MzJlNTZjNCAo ImlwdjY6IGFkZHJjb25mOiBjbGVhbnVwIGxvY2tpbmcgaW4gaXB2Nl9hZGRfYWRkciIpClNpZ25l ZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6 IEhlaW5lciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBJZG8g U2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9hZGRyY29uZi5jIHwgMiAr KwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2 L2FkZHJjb25mLmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCmluZGV4IGY0OWJkNzg5N2U5NS4uMTBm YWNkMTc0MjEwIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9hZGRyY29uZi5jCisrKyBiL25ldC9pcHY2 L2FkZHJjb25mLmMKQEAgLTQzNTIsOSArNDM1MiwxMSBAQCBzdGF0aWMgdm9pZCBhZGRyY29uZl92 ZXJpZnlfcnRubCh2b2lkKQogCQkJCQkJc3Bpbl9sb2NrKCZpZnB1Yi0+bG9jayk7CiAJCQkJCQlp ZnB1Yi0+cmVnZW5fY291bnQgPSAwOwogCQkJCQkJc3Bpbl91bmxvY2soJmlmcHViLT5sb2NrKTsK KwkJCQkJCXJjdV9yZWFkX3VubG9ja19iaCgpOwogCQkJCQkJaXB2Nl9jcmVhdGVfdGVtcGFkZHIo aWZwdWIsIGlmcCwgdHJ1ZSk7CiAJCQkJCQlpbjZfaWZhX3B1dChpZnB1Yik7CiAJCQkJCQlpbjZf aWZhX3B1dChpZnApOworCQkJCQkJcmN1X3JlYWRfbG9ja19iaCgpOwogCQkJCQkJZ290byByZXN0 YXJ0OwogCQkJCQl9CiAJCQkJfSBlbHNlIGlmICh0aW1lX2JlZm9yZShpZnAtPnRzdGFtcCArIGlm cC0+cHJlZmVyZWRfbGZ0ICogSFogLSByZWdlbl9hZHZhbmNlICogSFosIG5leHQpKQotLSAKMi4x NC4zCgoKRnJvbSA4YmM5NTQ1MjU2NGUxYzI2NjgwNjQzNTM4M2Q5YmI2ZjZhZjRlZjZlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+CkRh dGU6IEZyaSwgMjYgSmFuIDIwMTggMTE6NDA6MTcgLTA4MDAKU3ViamVjdDogW1BBVENIIDA5LzE4 XSBpcHY2OiBjaGFuZ2Ugcm91dGUgY2FjaGUgYWdpbmcgbG9naWMKClsgVXBzdHJlYW0gY29tbWl0 IDMxYWZlYjQyNWY3ZmFkOGJjZjk1NjFhZWIwYjg0MDU0NzlmOTdhOTggXQoKSW4gY3VycmVudCBy b3V0ZSBjYWNoZSBhZ2luZyBsb2dpYywgaWYgYSByb3V0ZSBoYXMgYm90aCBSVEZfRVhQSVJFIGFu ZApSVEZfR0FURVdBWSBzZXQsIHRoZSByb3V0ZSB3aWxsIG9ubHkgYmUgcmVtb3ZlZCBpZiB0aGUg bmVpZ2hib3IgY2FjaGUKaGFzIG5vIE5URl9ST1VURVIgZmxhZy4gT3RoZXJ3aXNlLCBldmVuIGlm IHRoZSByb3V0ZSBoYXMgZXhwaXJlZCwgaXQKd29uJ3QgZ2V0IGRlbGV0ZWQuCkZpeCB0aGlzIGxv Z2ljIHRvIGFsd2F5cyBjaGVjayBpZiB0aGUgcm91dGUgaGFzIGV4cGlyZWQgZmlyc3QgYW5kIHRo ZW4KZG8gdGhlIGdhdGV3YXkgbmVpZ2hib3IgY2FjaGUgY2hlY2sgaWYgcHJldmlvdXMgY2hlY2sg ZGVjaWRlIHRvIG5vdApyZW1vdmUgdGhlIGV4Y2VwdGlvbiBlbnRyeS4KCkZpeGVzOiAxODU5YmFj MDRmYjYgKCJpcHY2OiByZW1vdmUgZnJvbSBmaWIgdHJlZSBhZ2VkIG91dCBSVEZfQ0FDSEUgZHN0 IikKU2lnbmVkLW9mZi1ieTogV2VpIFdhbmcgPHdlaXdhbkBnb29nbGUuY29tPgpTaWduZWQtb2Zm LWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkFja2VkLWJ5OiBNYXJ0aW4g S2FGYWkgTGF1IDxrYWZhaUBmYi5jb20+CkFja2VkLWJ5OiBQYW9sbyBBYmVuaSA8cGFiZW5pQHJl ZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvaXB2Ni9yb3V0ZS5jIHwgMjAgKysrKysrKysrKysrLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2Ni9yb3V0ZS5jCmluZGV4IDA0NThiNzYxZjNj NS4uYTU2MGZiMWQwMjMwIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9yb3V0ZS5jCisrKyBiL25ldC9p cHY2L3JvdXRlLmMKQEAgLTE1ODYsMTIgKzE1ODYsMTkgQEAgc3RhdGljIHZvaWQgcnQ2X2FnZV9l eGFtaW5lX2V4Y2VwdGlvbihzdHJ1Y3QgcnQ2X2V4Y2VwdGlvbl9idWNrZXQgKmJ1Y2tldCwKIAkg KiBFWFBJUkVTIGV4Y2VwdGlvbnMgLSBlLmcuIHBtdHUtZ2VuZXJhdGVkIG9uZXMgYXJlIHBydW5l ZCB3aGVuCiAJICogZXhwaXJlZCwgaW5kZXBlbmRlbnRseSBmcm9tIHRoZWlyIGFnaW5nLCBhcyBw ZXIgUkZDIDgyMDEgc2VjdGlvbiA0CiAJICovCi0JaWYgKCEocnQtPnJ0NmlfZmxhZ3MgJiBSVEZf RVhQSVJFUykgJiYKLQkgICAgdGltZV9hZnRlcl9lcShub3csIHJ0LT5kc3QubGFzdHVzZSArIGdj X2FyZ3MtPnRpbWVvdXQpKSB7Ci0JCVJUNl9UUkFDRSgiYWdpbmcgY2xvbmUgJXBcbiIsIHJ0KTsK KwlpZiAoIShydC0+cnQ2aV9mbGFncyAmIFJURl9FWFBJUkVTKSkgeworCQlpZiAodGltZV9hZnRl cl9lcShub3csIHJ0LT5kc3QubGFzdHVzZSArIGdjX2FyZ3MtPnRpbWVvdXQpKSB7CisJCQlSVDZf VFJBQ0UoImFnaW5nIGNsb25lICVwXG4iLCBydCk7CisJCQlydDZfcmVtb3ZlX2V4Y2VwdGlvbihi dWNrZXQsIHJ0Nl9leCk7CisJCQlyZXR1cm47CisJCX0KKwl9IGVsc2UgaWYgKHRpbWVfYWZ0ZXIo amlmZmllcywgcnQtPmRzdC5leHBpcmVzKSkgeworCQlSVDZfVFJBQ0UoInB1cmdpbmcgZXhwaXJl ZCByb3V0ZSAlcFxuIiwgcnQpOwogCQlydDZfcmVtb3ZlX2V4Y2VwdGlvbihidWNrZXQsIHJ0Nl9l eCk7CiAJCXJldHVybjsKLQl9IGVsc2UgaWYgKHJ0LT5ydDZpX2ZsYWdzICYgUlRGX0dBVEVXQVkp IHsKKwl9CisKKwlpZiAocnQtPnJ0NmlfZmxhZ3MgJiBSVEZfR0FURVdBWSkgewogCQlzdHJ1Y3Qg bmVpZ2hib3VyICpuZWlnaDsKIAkJX191OCBuZWlnaF9mbGFncyA9IDA7CiAKQEAgLTE2MDYsMTEg KzE2MTMsOCBAQCBzdGF0aWMgdm9pZCBydDZfYWdlX2V4YW1pbmVfZXhjZXB0aW9uKHN0cnVjdCBy dDZfZXhjZXB0aW9uX2J1Y2tldCAqYnVja2V0LAogCQkJcnQ2X3JlbW92ZV9leGNlcHRpb24oYnVj a2V0LCBydDZfZXgpOwogCQkJcmV0dXJuOwogCQl9Ci0JfSBlbHNlIGlmIChfX3J0Nl9jaGVja19l eHBpcmVkKHJ0KSkgewotCQlSVDZfVFJBQ0UoInB1cmdpbmcgZXhwaXJlZCByb3V0ZSAlcFxuIiwg cnQpOwotCQlydDZfcmVtb3ZlX2V4Y2VwdGlvbihidWNrZXQsIHJ0Nl9leCk7Ci0JCXJldHVybjsK IAl9CisKIAlnY19hcmdzLT5tb3JlKys7CiB9CiAKLS0gCjIuMTQuMwoKCkZyb20gN2ZkNzFkOTNl ZWZjN2IyZTE5N2E1MjNkMWJmMzIyODc1ZDA2MGI2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogUm9tYW4gR3VzaGNoaW4gPGd1cm9AZmIuY29tPgpEYXRlOiBGcmksIDIgRmViIDIwMTgg MTU6MjY6NTcgKzAwMDAKU3ViamVjdDogW1BBVENIIDEwLzE4XSBSZXZlcnQgImRlZmVyIGNhbGwg dG8gbWVtX2Nncm91cF9za19hbGxvYygpIgoKWyBVcHN0cmVhbSBjb21taXQgZWRiZTY5ZWYyYzkw ZmM4Njk5OGE3NGIwODMxOWEwMWM1MDhiZDQ5NyBdCgpUaGlzIHBhdGNoIGVmZmVjdGl2ZWx5IHJl dmVydHMgY29tbWl0IDlmMWMyNjc0YjMyOCAoIm5ldDogbWVtY29udHJvbDoKZGVmZXIgY2FsbCB0 byBtZW1fY2dyb3VwX3NrX2FsbG9jKCkiKS4KCk1vdmluZyBtZW1fY2dyb3VwX3NrX2FsbG9jKCkg dG8gdGhlIGluZXRfY3NrX2FjY2VwdCgpIGNvbXBsZXRlbHkgYnJlYWtzCm1lbWNnIHNvY2tldCBt ZW1vcnkgYWNjb3VudGluZywgYXMgcGFja2V0cyByZWNlaXZlZCBiZWZvcmUgbWVtY2cKcG9pbnRl ciBpbml0aWFsaXphdGlvbiBhcmUgbm90IGFjY291bnRlZCBhbmQgYXJlIGNhdXNpbmcgcmVmY291 bnRpbmcKdW5kZXJmbG93IG9uIHNvY2tldCByZWxlYXNlLgoKQWN0dWFsbHkgdGhlIGZyZWUtYWZ0 ZXItdXNlIHByb2JsZW0gd2FzIGZpeGVkIGJ5CmNvbW1pdCBjMDU3NmUzOTc1MDggKCJuZXQ6IGNh bGwgY2dyb3VwX3NrX2FsbG9jKCkgZWFybGllciBpbgpza19jbG9uZV9sb2NrKCkiKSBmb3IgdGhl IGNncm91cCBwb2ludGVyLgoKU28sIGxldCdzIHJldmVydCBpdCBhbmQgY2FsbCBtZW1fY2dyb3Vw X3NrX2FsbG9jKCkganVzdCBiZWZvcmUKY2dyb3VwX3NrX2FsbG9jKCkuIFRoaXMgaXMgc2FmZSwg YXMgd2UgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgc29ja2V0CndlJ3JlIGNsb25pbmcsIGFuZCBp dCBob2xkcyBhIHJlZmVyZW5jZSB0byB0aGUgbWVtY2cuCgpBbHNvLCBsZXQncyBkcm9wIEJVR19P TihtZW1fY2dyb3VwX2lzX3Jvb3QoKSkgY2hlY2sgZnJvbQptZW1fY2dyb3VwX3NrX2FsbG9jKCku IEkgc2VlIG5vIHJlYXNvbnMgd2h5IGJ1bXBpbmcgdGhlIHJvb3QKbWVtY2cgY291bnRlciBpcyBh IGdvb2QgcmVhc29uIHRvIHBhbmljLCBhbmQgdGhlcmUgYXJlIG5vIHJlYWxpc3RpYwp3YXlzIHRv IGhpdCBpdC4KClNpZ25lZC1vZmYtYnk6IFJvbWFuIEd1c2hjaGluIDxndXJvQGZiLmNvbT4KQ2M6 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ2M6IEpvaGFubmVzIFdlaW5lciA8aGFubmVzQGNtcHhjaGcu b3JnPgpDYzogVGVqdW4gSGVvIDx0akBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbW0vbWVtY29udHJvbC5jICAgICAg ICAgICAgICAgICB8IDE0ICsrKysrKysrKysrKysrCiBuZXQvY29yZS9zb2NrLmMgICAgICAgICAg ICAgICAgIHwgIDUgKy0tLS0KIG5ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMgfCAgMSAt CiAzIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbW0vbWVtY29udHJvbC5jIGIvbW0vbWVtY29udHJvbC5jCmluZGV4IGFjMmZmZDVl MDJiOS4uMGE3OGNlNTc4NzJkIDEwMDY0NAotLS0gYS9tbS9tZW1jb250cm9sLmMKKysrIGIvbW0v bWVtY29udHJvbC5jCkBAIC01ODI4LDYgKzU4MjgsMjAgQEAgdm9pZCBtZW1fY2dyb3VwX3NrX2Fs bG9jKHN0cnVjdCBzb2NrICpzaykKIAlpZiAoIW1lbV9jZ3JvdXBfc29ja2V0c19lbmFibGVkKQog CQlyZXR1cm47CiAKKwkvKgorCSAqIFNvY2tldCBjbG9uaW5nIGNhbiB0aHJvdyB1cyBoZXJlIHdp dGggc2tfbWVtY2cgYWxyZWFkeQorCSAqIGZpbGxlZC4gSXQgd29uJ3QgaG93ZXZlciwgbmVjZXNz YXJpbHkgaGFwcGVuIGZyb20KKwkgKiBwcm9jZXNzIGNvbnRleHQuIFNvIHRoZSB0ZXN0IGZvciBy b290IG1lbWNnIGdpdmVuCisJICogdGhlIGN1cnJlbnQgdGFzaydzIG1lbWNnIHdvbid0IGhlbHAg dXMgaW4gdGhpcyBjYXNlLgorCSAqCisJICogUmVzcGVjdGluZyB0aGUgb3JpZ2luYWwgc29ja2V0 J3MgbWVtY2cgaXMgYSBiZXR0ZXIKKwkgKiBkZWNpc2lvbiBpbiB0aGlzIGNhc2UuCisJICovCisJ aWYgKHNrLT5za19tZW1jZykgeworCQljc3NfZ2V0KCZzay0+c2tfbWVtY2ctPmNzcyk7CisJCXJl dHVybjsKKwl9CisKIAlyY3VfcmVhZF9sb2NrKCk7CiAJbWVtY2cgPSBtZW1fY2dyb3VwX2Zyb21f dGFzayhjdXJyZW50KTsKIAlpZiAobWVtY2cgPT0gcm9vdF9tZW1fY2dyb3VwKQpkaWZmIC0tZ2l0 IGEvbmV0L2NvcmUvc29jay5jIGIvbmV0L2NvcmUvc29jay5jCmluZGV4IGMwYjViMmYxNzQxMi4u NzU3MWRhYmZjNGNmIDEwMDY0NAotLS0gYS9uZXQvY29yZS9zb2NrLmMKKysrIGIvbmV0L2NvcmUv c29jay5jCkBAIC0xNjc1LDE2ICsxNjc1LDEzIEBAIHN0cnVjdCBzb2NrICpza19jbG9uZV9sb2Nr KGNvbnN0IHN0cnVjdCBzb2NrICpzaywgY29uc3QgZ2ZwX3QgcHJpb3JpdHkpCiAJCW5ld3NrLT5z a19kc3RfcGVuZGluZ19jb25maXJtID0gMDsKIAkJbmV3c2stPnNrX3dtZW1fcXVldWVkCT0gMDsK IAkJbmV3c2stPnNrX2ZvcndhcmRfYWxsb2MgPSAwOwotCi0JCS8qIHNrLT5za19tZW1jZyB3aWxs IGJlIHBvcHVsYXRlZCBhdCBhY2NlcHQoKSB0aW1lICovCi0JCW5ld3NrLT5za19tZW1jZyA9IE5V TEw7Ci0KIAkJYXRvbWljX3NldCgmbmV3c2stPnNrX2Ryb3BzLCAwKTsKIAkJbmV3c2stPnNrX3Nl bmRfaGVhZAk9IE5VTEw7CiAJCW5ld3NrLT5za191c2VybG9ja3MJPSBzay0+c2tfdXNlcmxvY2tz ICYgflNPQ0tfQklORFBPUlRfTE9DSzsKIAkJYXRvbWljX3NldCgmbmV3c2stPnNrX3pja2V5LCAw KTsKIAogCQlzb2NrX3Jlc2V0X2ZsYWcobmV3c2ssIFNPQ0tfRE9ORSk7CisJCW1lbV9jZ3JvdXBf c2tfYWxsb2MobmV3c2spOwogCQljZ3JvdXBfc2tfYWxsb2MoJm5ld3NrLT5za19jZ3JwX2RhdGEp OwogCiAJCXJjdV9yZWFkX2xvY2soKTsKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2luZXRfY29ubmVj dGlvbl9zb2NrLmMgYi9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jCmluZGV4IDRjYTQ2 ZGMwOGU2My4uMzY2OGM0MTgyNjU1IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rp b25fc29jay5jCisrKyBiL25ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMKQEAgLTQ3NSw3 ICs0NzUsNiBAQCBzdHJ1Y3Qgc29jayAqaW5ldF9jc2tfYWNjZXB0KHN0cnVjdCBzb2NrICpzaywg aW50IGZsYWdzLCBpbnQgKmVyciwgYm9vbCBrZXJuKQogCQl9CiAJCXNwaW5fdW5sb2NrX2JoKCZx dWV1ZS0+ZmFzdG9wZW5xLmxvY2spOwogCX0KLQltZW1fY2dyb3VwX3NrX2FsbG9jKG5ld3NrKTsK IG91dDoKIAlyZWxlYXNlX3NvY2soc2spOwogCWlmIChyZXEpCi0tIAoyLjE0LjMKCgpGcm9tIDky Y2JiZmJiMmNkZjgyMmQ2MjU4MWExOWUxN2MxMmM0MTMxNjdkZWQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAy NSBKYW4gMjAxOCAyMDoxNjoyOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMThdIG5ldDogaXB2 Njogc2VuZCB1bnNvbGljaXRlZCBOQSBhZnRlciBEQUQKClsgVXBzdHJlYW0gY29tbWl0IGM3NmZl MmQ5OGM3MjYyMjRhOTc1YTBkMDE5OGMzZmI1MDQwNmQzMjUgXQoKVW5zb2xpY2l0ZWQgSVB2NiBu ZWlnaGJvciBhZHZlcnRpc2VtZW50cyBzaG91bGQgYmUgc2VudCBhZnRlciBEQUQKY29tcGxldGVz LiBVcGRhdGUgbmRpc2Nfc2VuZF91bnNvbF9uYSB0byBza2lwIHRlbnRhdGl2ZSwgbm9uLW9wdGlt aXN0aWMKYWRkcmVzc2VzIGFuZCBoYXZlIHRob3NlIHNlbnQgYnkgYWRkcmNvbmZfZGFkX2NvbXBs ZXRlZCBhZnRlciBEQUQuCgpGaXhlczogNGE2ZTNjNWRlZjEzYyAoIm5ldDogaXB2Njogc2VuZCB1 bnNvbGljaXRlZCBOQSBvbiBhZG1pbiB1cCIpClJlcG9ydGVkLWJ5OiBWaXZlayBWZW5rYXRyYW1h biA8dml2ZWtAY3VtdWx1c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4g PGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvYWRkcmNvbmYuYyB8IDMwICsrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLQogbmV0L2lwdjYvbmRpc2MuYyAgICB8ICA1ICsrKysrCiAyIGZp bGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjYvYWRkcmNvbmYuYyBiL25ldC9pcHY2L2FkZHJjb25mLmMKaW5kZXggMTBmYWNk MTc0MjEwLi4yNTQ3MjIyNTg5ZmUgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2FkZHJjb25mLmMKKysr IGIvbmV0L2lwdjYvYWRkcmNvbmYuYwpAQCAtMTg2LDcgKzE4Niw4IEBAIHN0YXRpYyBzdHJ1Y3Qg cnQ2X2luZm8gKmFkZHJjb25mX2dldF9wcmVmaXhfcm91dGUoY29uc3Qgc3RydWN0IGluNl9hZGRy ICpwZngsCiAKIHN0YXRpYyB2b2lkIGFkZHJjb25mX2RhZF9zdGFydChzdHJ1Y3QgaW5ldDZfaWZh ZGRyICppZnApOwogc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFkX3dvcmsoc3RydWN0IHdvcmtfc3Ry dWN0ICp3KTsKLXN0YXRpYyB2b2lkIGFkZHJjb25mX2RhZF9jb21wbGV0ZWQoc3RydWN0IGluZXQ2 X2lmYWRkciAqaWZwLCBib29sIGJ1bXBfaWQpOworc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFkX2Nv bXBsZXRlZChzdHJ1Y3QgaW5ldDZfaWZhZGRyICppZnAsIGJvb2wgYnVtcF9pZCwKKwkJCQkgICBi b29sIHNlbmRfbmEpOwogc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFkX3J1bihzdHJ1Y3QgaW5ldDZf ZGV2ICppZGV2KTsKIHN0YXRpYyB2b2lkIGFkZHJjb25mX3JzX3RpbWVyKHN0cnVjdCB0aW1lcl9s aXN0ICp0KTsKIHN0YXRpYyB2b2lkIF9faXB2Nl9pZmFfbm90aWZ5KGludCBldmVudCwgc3RydWN0 IGluZXQ2X2lmYWRkciAqaWZhKTsKQEAgLTM4MzMsMTIgKzM4MzQsMTcgQEAgc3RhdGljIHZvaWQg YWRkcmNvbmZfZGFkX2JlZ2luKHN0cnVjdCBpbmV0Nl9pZmFkZHIgKmlmcCkKIAkgICAgIGlkZXYt PmNuZi5hY2NlcHRfZGFkIDwgMSkgfHwKIAkgICAgIShpZnAtPmZsYWdzJklGQV9GX1RFTlRBVElW RSkgfHwKIAkgICAgaWZwLT5mbGFncyAmIElGQV9GX05PREFEKSB7CisJCWJvb2wgc2VuZF9uYSA9 IGZhbHNlOworCisJCWlmIChpZnAtPmZsYWdzICYgSUZBX0ZfVEVOVEFUSVZFICYmCisJCSAgICAh KGlmcC0+ZmxhZ3MgJiBJRkFfRl9PUFRJTUlTVElDKSkKKwkJCXNlbmRfbmEgPSB0cnVlOwogCQli dW1wX2lkID0gaWZwLT5mbGFncyAmIElGQV9GX1RFTlRBVElWRTsKIAkJaWZwLT5mbGFncyAmPSB+ KElGQV9GX1RFTlRBVElWRXxJRkFfRl9PUFRJTUlTVElDfElGQV9GX0RBREZBSUxFRCk7CiAJCXNw aW5fdW5sb2NrKCZpZnAtPmxvY2spOwogCQlyZWFkX3VubG9ja19iaCgmaWRldi0+bG9jayk7CiAK LQkJYWRkcmNvbmZfZGFkX2NvbXBsZXRlZChpZnAsIGJ1bXBfaWQpOworCQlhZGRyY29uZl9kYWRf Y29tcGxldGVkKGlmcCwgYnVtcF9pZCwgc2VuZF9uYSk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTM5 NjcsMTYgKzM5NzMsMjEgQEAgc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFkX3dvcmsoc3RydWN0IHdv cmtfc3RydWN0ICp3KQogCX0KIAogCWlmIChpZnAtPmRhZF9wcm9iZXMgPT0gMCkgeworCQlib29s IHNlbmRfbmEgPSBmYWxzZTsKKwogCQkvKgogCQkgKiBEQUQgd2FzIHN1Y2Nlc3NmdWwKIAkJICov CiAKKwkJaWYgKGlmcC0+ZmxhZ3MgJiBJRkFfRl9URU5UQVRJVkUgJiYKKwkJICAgICEoaWZwLT5m bGFncyAmIElGQV9GX09QVElNSVNUSUMpKQorCQkJc2VuZF9uYSA9IHRydWU7CiAJCWJ1bXBfaWQg PSBpZnAtPmZsYWdzICYgSUZBX0ZfVEVOVEFUSVZFOwogCQlpZnAtPmZsYWdzICY9IH4oSUZBX0Zf VEVOVEFUSVZFfElGQV9GX09QVElNSVNUSUN8SUZBX0ZfREFERkFJTEVEKTsKIAkJc3Bpbl91bmxv Y2soJmlmcC0+bG9jayk7CiAJCXdyaXRlX3VubG9ja19iaCgmaWRldi0+bG9jayk7CiAKLQkJYWRk cmNvbmZfZGFkX2NvbXBsZXRlZChpZnAsIGJ1bXBfaWQpOworCQlhZGRyY29uZl9kYWRfY29tcGxl dGVkKGlmcCwgYnVtcF9pZCwgc2VuZF9uYSk7CiAKIAkJZ290byBvdXQ7CiAJfQpAQCAtNDAxNCw3 ICs0MDI1LDggQEAgc3RhdGljIGJvb2wgaXB2Nl9sb25lbHlfbGxhZGRyKHN0cnVjdCBpbmV0Nl9p ZmFkZHIgKmlmcCkKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIHZvaWQgYWRkcmNvbmZfZGFk X2NvbXBsZXRlZChzdHJ1Y3QgaW5ldDZfaWZhZGRyICppZnAsIGJvb2wgYnVtcF9pZCkKK3N0YXRp YyB2b2lkIGFkZHJjb25mX2RhZF9jb21wbGV0ZWQoc3RydWN0IGluZXQ2X2lmYWRkciAqaWZwLCBi b29sIGJ1bXBfaWQsCisJCQkJICAgYm9vbCBzZW5kX25hKQogewogCXN0cnVjdCBuZXRfZGV2aWNl ICpkZXYgPSBpZnAtPmlkZXYtPmRldjsKIAlzdHJ1Y3QgaW42X2FkZHIgbGxhZGRyOwpAQCAtNDA0 Niw2ICs0MDU4LDE2IEBAIHN0YXRpYyB2b2lkIGFkZHJjb25mX2RhZF9jb21wbGV0ZWQoc3RydWN0 IGluZXQ2X2lmYWRkciAqaWZwLCBib29sIGJ1bXBfaWQpCiAJaWYgKHNlbmRfbWxkKQogCQlpcHY2 X21jX2RhZF9jb21wbGV0ZShpZnAtPmlkZXYpOwogCisJLyogc2VuZCB1bnNvbGljaXRlZCBOQSBp ZiBlbmFibGVkICovCisJaWYgKHNlbmRfbmEgJiYKKwkgICAgKGlmcC0+aWRldi0+Y25mLm5kaXNj X25vdGlmeSB8fAorCSAgICAgZGV2X25ldChkZXYpLT5pcHY2LmRldmNvbmZfYWxsLT5uZGlzY19u b3RpZnkpKSB7CisJCW5kaXNjX3NlbmRfbmEoZGV2LCAmaW42YWRkcl9saW5rbG9jYWxfYWxsbm9k ZXMsICZpZnAtPmFkZHIsCisJCQkgICAgICAvKnJvdXRlcj0qLyAhIWlmcC0+aWRldi0+Y25mLmZv cndhcmRpbmcsCisJCQkgICAgICAvKnNvbGljaXRlZD0qLyBmYWxzZSwgLypvdmVycmlkZT0qLyB0 cnVlLAorCQkJICAgICAgLyppbmNfb3B0PSovIHRydWUpOworCX0KKwogCWlmIChzZW5kX3JzKSB7 CiAJCS8qCiAJCSAqCUlmIGEgaG9zdCBhcyBhbHJlYWR5IHBlcmZvcm1lZCBhIHJhbmRvbSBkZWxh eQpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvbmRpc2MuYyBiL25ldC9pcHY2L25kaXNjLmMKaW5kZXgg YjNjZWEyMDBjODVlLi5mNjFhNWI2MTNiNTIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L25kaXNjLmMK KysrIGIvbmV0L2lwdjYvbmRpc2MuYwpAQCAtNTY2LDYgKzU2NiwxMSBAQCBzdGF0aWMgdm9pZCBu ZGlzY19zZW5kX3Vuc29sX25hKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAKIAlyZWFkX2xvY2tf YmgoJmlkZXYtPmxvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoaWZhLCAmaWRldi0+YWRkcl9s aXN0LCBpZl9saXN0KSB7CisJCS8qIHNraXAgdGVudGF0aXZlIGFkZHJlc3NlcyB1bnRpbCBkYWQg Y29tcGxldGVzICovCisJCWlmIChpZmEtPmZsYWdzICYgSUZBX0ZfVEVOVEFUSVZFICYmCisJCSAg ICAhKGlmYS0+ZmxhZ3MgJiBJRkFfRl9PUFRJTUlTVElDKSkKKwkJCWNvbnRpbnVlOworCiAJCW5k aXNjX3NlbmRfbmEoZGV2LCAmaW42YWRkcl9saW5rbG9jYWxfYWxsbm9kZXMsICZpZmEtPmFkZHIs CiAJCQkgICAgICAvKnJvdXRlcj0qLyAhIWlkZXYtPmNuZi5mb3J3YXJkaW5nLAogCQkJICAgICAg Lypzb2xpY2l0ZWQ9Ki8gZmFsc2UsIC8qb3ZlcnJpZGU9Ki8gdHJ1ZSwKLS0gCjIuMTQuMwoKCkZy b20gZTkyYWE3OTQ5MzVjODA0YTRiMjgwMTIzMDA3M2MwYWQ3ODM3ZGQwZiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+CkRhdGU6IFRo dSwgMSBGZWIgMjAxOCAxMjoyMToxNSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMThdIHJvY2tl cjogZml4IHBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbgogcm9ja2VyX3JvdXRl cl9maWJfZXZlbnRfd29yawoKWyBVcHN0cmVhbSBjb21taXQgYTgzMTY1ZjAwZjE2YzBlMGVmNWI3 Y2VjM2NiZDBkNDc4ODY5OTI2NSBdCgpDdXJyZW50bHksIHJvY2tlciB1c2VyIG1heSBleHBlcmll bmNlIGZvbGxvd2luZyBudWxsIHBvaW50ZXIKZGVyZWZlbmNlIGJ1ZzoKClsgICAgMy4wNjIxNDFd IEJVRzogdW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0 IDAwMDAwMDAwMDAwMDAwZDAKWyAgICAzLjA2NTE2M10gSVA6IHJvY2tlcl9yb3V0ZXJfZmliX2V2 ZW50X3dvcmsrMHgzNi8weDExMCBbcm9ja2VyXQoKVGhlIHByb2JsZW0gaXMgdW5pbml0aWFsaXpl ZCByb2NrZXItPndvcHMgcG9pbnRlciB0aGF0IGlzIGluaXRpYWxpemVkCm9ubHkgd2l0aCB0aGUg Zmlyc3QgaW5pdGlhbGl6ZWQgcG9ydC4gU28gbW92ZSB0aGUgcG9ydCBpbml0aWFsaXphdGlvbgpi ZWZvcmUgcmVnaXN0ZXJpbmcgdGhlIGZpYiBldmVudHMuCgpGaXhlczogOTM2YmQ0ODY1NjRhICgi cm9ja2VyOiB1c2UgRklCIG5vdGlmaWNhdGlvbnMgaW5zdGVhZCBvZiBzd2l0Y2hkZXYgY2FsbHMi KQpTaWduZWQtb2ZmLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMv bmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jIHwgMTggKysrKysrKysrLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5jIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvcm9ja2VyL3JvY2tlcl9tYWluLmMKaW5kZXggZmM4ZjhiZGY2NTc5Li4w NTZjYjYwOTM2MzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2Nr ZXJfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3JvY2tlci9yb2NrZXJfbWFpbi5j CkBAIC0yOTAyLDYgKzI5MDIsMTIgQEAgc3RhdGljIGludCByb2NrZXJfcHJvYmUoc3RydWN0IHBj aV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKIAkJZ290byBlcnJf YWxsb2Nfb3JkZXJlZF93b3JrcXVldWU7CiAJfQogCisJZXJyID0gcm9ja2VyX3Byb2JlX3BvcnRz KHJvY2tlcik7CisJaWYgKGVycikgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8g cHJvYmUgcG9ydHNcbiIpOworCQlnb3RvIGVycl9wcm9iZV9wb3J0czsKKwl9CisKIAkvKiBPbmx5 IEZJQnMgcG9pbnRpbmcgdG8gb3VyIG93biBuZXRkZXZzIGFyZSBwcm9ncmFtbWVkIGludG8KIAkg KiB0aGUgZGV2aWNlLCBzbyBubyBuZWVkIHRvIHBhc3MgYSBjYWxsYmFjay4KIAkgKi8KQEAgLTI5 MTgsMjIgKzI5MjQsMTYgQEAgc3RhdGljIGludCByb2NrZXJfcHJvYmUoc3RydWN0IHBjaV9kZXYg KnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKIAogCXJvY2tlci0+aHcuaWQg PSByb2NrZXJfcmVhZDY0KHJvY2tlciwgU1dJVENIX0lEKTsKIAotCWVyciA9IHJvY2tlcl9wcm9i ZV9wb3J0cyhyb2NrZXIpOwotCWlmIChlcnIpIHsKLQkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFp bGVkIHRvIHByb2JlIHBvcnRzXG4iKTsKLQkJZ290byBlcnJfcHJvYmVfcG9ydHM7Ci0JfQotCiAJ ZGV2X2luZm8oJnBkZXYtPmRldiwgIlJvY2tlciBzd2l0Y2ggd2l0aCBpZCAlKnBoTlxuIiwKIAkJ IChpbnQpc2l6ZW9mKHJvY2tlci0+aHcuaWQpLCAmcm9ja2VyLT5ody5pZCk7CiAKIAlyZXR1cm4g MDsKIAotZXJyX3Byb2JlX3BvcnRzOgotCXVucmVnaXN0ZXJfc3dpdGNoZGV2X25vdGlmaWVyKCZy b2NrZXJfc3dpdGNoZGV2X25vdGlmaWVyKTsKIGVycl9yZWdpc3Rlcl9zd2l0Y2hkZXZfbm90aWZp ZXI6CiAJdW5yZWdpc3Rlcl9maWJfbm90aWZpZXIoJnJvY2tlci0+ZmliX25iKTsKIGVycl9yZWdp c3Rlcl9maWJfbm90aWZpZXI6CisJcm9ja2VyX3JlbW92ZV9wb3J0cyhyb2NrZXIpOworZXJyX3By b2JlX3BvcnRzOgogCWRlc3Ryb3lfd29ya3F1ZXVlKHJvY2tlci0+cm9ja2VyX293cSk7CiBlcnJf YWxsb2Nfb3JkZXJlZF93b3JrcXVldWU6CiAJZnJlZV9pcnEocm9ja2VyX21zaXhfdmVjdG9yKHJv Y2tlciwgUk9DS0VSX01TSVhfVkVDX0VWRU5UKSwgcm9ja2VyKTsKQEAgLTI5NjEsOSArMjk2MSw5 IEBAIHN0YXRpYyB2b2lkIHJvY2tlcl9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAJ c3RydWN0IHJvY2tlciAqcm9ja2VyID0gcGNpX2dldF9kcnZkYXRhKHBkZXYpOwogCi0Jcm9ja2Vy X3JlbW92ZV9wb3J0cyhyb2NrZXIpOwogCXVucmVnaXN0ZXJfc3dpdGNoZGV2X25vdGlmaWVyKCZy b2NrZXJfc3dpdGNoZGV2X25vdGlmaWVyKTsKIAl1bnJlZ2lzdGVyX2ZpYl9ub3RpZmllcigmcm9j a2VyLT5maWJfbmIpOworCXJvY2tlcl9yZW1vdmVfcG9ydHMocm9ja2VyKTsKIAlyb2NrZXJfd3Jp dGUzMihyb2NrZXIsIENPTlRST0wsIFJPQ0tFUl9DT05UUk9MX1JFU0VUKTsKIAlkZXN0cm95X3dv cmtxdWV1ZShyb2NrZXItPnJvY2tlcl9vd3EpOwogCWZyZWVfaXJxKHJvY2tlcl9tc2l4X3ZlY3Rv cihyb2NrZXIsIFJPQ0tFUl9NU0lYX1ZFQ19FVkVOVCksIHJvY2tlcik7Ci0tIAoyLjE0LjMKCgpG cm9tIDdlYjJlMTI5MzkyMDg2ZDk1MWI3ZmExM2NkMTVhMzdiNjg1ZjcwYzkgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpE YXRlOiBXZWQsIDMxIEphbiAyMDE4IDE1OjQzOjA1IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxMy8x OF0gdGNwX2JicjogZml4IHBhY2luZ19nYWluIHRvIGFsd2F5cyBiZSB1bml0eSB3aGVuIHVzaW5n CiBsdF9idwoKWyBVcHN0cmVhbSBjb21taXQgM2FmZjNiNGI5ODZlNTFiY2Y0YWIyNDllNWQ0OGQz OTU5NmUwZGY2YSBdCgpUaGlzIGNvbW1pdCBmaXhlcyB0aGUgcGFjaW5nX2dhaW4gdG8gcmVtYWlu IGF0IEJCUl9VTklUICgxLjApIHdoZW4KdXNpbmcgbHRfYncgYW5kIHJldHVybmluZyBmcm9tIHRo ZSBQUk9CRV9SVFQgc3RhdGUgdG8gUFJPQkVfQlcuCgpQcmV2aW91c2x5LCB3aGVuIHVzaW5nIGx0 X2J3LCB1cG9uIGV4aXRpbmcgUFJPQkVfUlRUIGFuZCBlbnRlcmluZwpQUk9CRV9CVyB0aGUgYmJy X3Jlc2V0X3Byb2JlX2J3X21vZGUoKSBjb2RlIGNvdWxkIHNvbWV0aW1lcyByYW5kb21seQplbmQg dXAgd2l0aCBhIGN5Y2xlX2lkeCBvZiAwIGFuZCBoZW5jZSBoYXZlIGJicl9hZHZhbmNlX2N5Y2xl X3BoYXNlKCkKc2V0IGEgcGFjaW5nIGdhaW4gYWJvdmUgMS4wLiBJbiBzdWNoIGNhc2VzIHRoaXMg d291bGQgcmVzdWx0IGluIGEKcGFjaW5nIHJhdGUgdGhhdCBpcyAxLjI1eCBoaWdoZXIgdGhhbiBp bnRlbmRlZCwgcG90ZW50aWFsbHkgcmVzdWx0aW5nCmluIGEgaGlnaCBsb3NzIHJhdGUgZm9yIGEg bGl0dGxlIHdoaWxlIHVudGlsIHdlIHN0b3AgdXNpbmcgdGhlIGx0X2J3IGEKYml0IGxhdGVyLgoK VGhpcyBjb21taXQgaXMgYSBzdGFibGUgY2FuZGlkYXRlIGZvciBrZXJuZWxzIGJhY2sgYXMgZmFy IGFzIDQuOS4KCkZpeGVzOiAwZjg3ODJlYTE0OTcgKCJ0Y3BfYmJyOiBhZGQgQkJSIGNvbmdlc3Rp b24gY29udHJvbCIpClNpZ25lZC1vZmYtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29n bGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBZdWNodW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4K U2lnbmVkLW9mZi1ieTogU29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4K UmVwb3J0ZWQtYnk6IEJleWVycyBDcm9uamUgPGJjcm9uamVAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQv dGNwX2Jici5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2Jici5jIGIvbmV0L2lwdjQv dGNwX2Jici5jCmluZGV4IDgzMjJmMjZlNzcwZS4uMjVjNWEwYjYwY2ZjIDEwMDY0NAotLS0gYS9u ZXQvaXB2NC90Y3BfYmJyLmMKKysrIGIvbmV0L2lwdjQvdGNwX2Jici5jCkBAIC00ODEsNyArNDgx LDggQEAgc3RhdGljIHZvaWQgYmJyX2FkdmFuY2VfY3ljbGVfcGhhc2Uoc3RydWN0IHNvY2sgKnNr KQogCiAJYmJyLT5jeWNsZV9pZHggPSAoYmJyLT5jeWNsZV9pZHggKyAxKSAmIChDWUNMRV9MRU4g LSAxKTsKIAliYnItPmN5Y2xlX21zdGFtcCA9IHRwLT5kZWxpdmVyZWRfbXN0YW1wOwotCWJici0+ cGFjaW5nX2dhaW4gPSBiYnJfcGFjaW5nX2dhaW5bYmJyLT5jeWNsZV9pZHhdOworCWJici0+cGFj aW5nX2dhaW4gPSBiYnItPmx0X3VzZV9idyA/IEJCUl9VTklUIDoKKwkJCQkJICAgIGJicl9wYWNp bmdfZ2FpbltiYnItPmN5Y2xlX2lkeF07CiB9CiAKIC8qIEdhaW4gY3ljbGluZzogY3ljbGUgcGFj aW5nIGdhaW4gdG8gY29udmVyZ2UgdG8gZmFpciBzaGFyZSBvZiBhdmFpbGFibGUgYncuICovCkBA IC00OTAsOCArNDkxLDcgQEAgc3RhdGljIHZvaWQgYmJyX3VwZGF0ZV9jeWNsZV9waGFzZShzdHJ1 Y3Qgc29jayAqc2ssCiB7CiAJc3RydWN0IGJiciAqYmJyID0gaW5ldF9jc2tfY2Eoc2spOwogCi0J aWYgKChiYnItPm1vZGUgPT0gQkJSX1BST0JFX0JXKSAmJiAhYmJyLT5sdF91c2VfYncgJiYKLQkg ICAgYmJyX2lzX25leHRfY3ljbGVfcGhhc2Uoc2ssIHJzKSkKKwlpZiAoYmJyLT5tb2RlID09IEJC Ul9QUk9CRV9CVyAmJiBiYnJfaXNfbmV4dF9jeWNsZV9waGFzZShzaywgcnMpKQogCQliYnJfYWR2 YW5jZV9jeWNsZV9waGFzZShzayk7CiB9CiAKLS0gCjIuMTQuMwoKCkZyb20gMTVkMDJiOWU0ZmE3 ZDE2MjFhMmFiNWNkOWVkNjg0ZmIxOGFhY2E0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpEYXRlOiBGcmksIDIgRmViIDIwMTgg MTY6MDI6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDE0LzE4XSBjbHNfdTMyOiBhZGQgbWlzc2lu ZyBSQ1UgYW5ub3RhdGlvbi4KClsgVXBzdHJlYW0gY29tbWl0IDA1OGE2YzAzMzQ4ODQ5NGE2YjE0 NzdiMDVmZThlMWExNmUzNDQ0NjIgXQoKSW4gYSBjb3VwbGUgb2YgcG9pbnRzIG9mIHRoZSBjb250 cm9sIHBhdGgsIG4tPmh0X2Rvd24gaXMgY3VycmVudGx5CmFjY2Vzc2VkIHdpdGhvdXQgdGhlIHJl cXVpcmVkIFJDVSBhbm5vdGF0aW9uLiBUaGUgYWNjZXNzZXMgYXJlCnNhZmUsIGJ1dCBzcGFyc2Ug Y29tcGxhaW50cy4gU2luY2Ugd2UgYWxyZWFkeSBoZWxkIHRoZQpydG5sIGxvY2ssIGxldCB1c2Ug cnRubF9kZXJlZmVyZW5jZSgpLgoKRml4ZXM6IGExYjdjNWZkN2ZlOSAoIm5ldDogc2NoZWQ6IGFk ZCBjbHNfdTMyIG9mZmxvYWQgaG9va3MgZm9yIG5ldGRldnMiKQpGaXhlczogZGU1ZGY2MzIyOGZj ICgibmV0OiBzY2hlZDogY2xzX3UzMiBjaGFuZ2VzIHRvIGtub2RlIG11c3QgYXBwZWFyIGF0b21p YyB0byByZWFkZXJzIikKU2lnbmVkLW9mZi1ieTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQu Y29tPgpBY2tlZC1ieTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQv c2NoZWQvY2xzX3UzMi5jIHwgMTIgKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9jbHNfdTMy LmMgYi9uZXQvc2NoZWQvY2xzX3UzMi5jCmluZGV4IDUwNzg1OWNkZDFjYi4uMzMyOTRiNWIyYzZh IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvY2xzX3UzMi5jCisrKyBiL25ldC9zY2hlZC9jbHNfdTMy LmMKQEAgLTU0NCw2ICs1NDQsNyBAQCBzdGF0aWMgdm9pZCB1MzJfcmVtb3ZlX2h3X2tub2RlKHN0 cnVjdCB0Y2ZfcHJvdG8gKnRwLCB1MzIgaGFuZGxlKQogc3RhdGljIGludCB1MzJfcmVwbGFjZV9o d19rbm9kZShzdHJ1Y3QgdGNmX3Byb3RvICp0cCwgc3RydWN0IHRjX3Vfa25vZGUgKm4sCiAJCQkJ dTMyIGZsYWdzKQogeworCXN0cnVjdCB0Y191X2hub2RlICpodCA9IHJ0bmxfZGVyZWZlcmVuY2Uo bi0+aHRfZG93bik7CiAJc3RydWN0IHRjZl9ibG9jayAqYmxvY2sgPSB0cC0+Y2hhaW4tPmJsb2Nr OwogCXN0cnVjdCB0Y19jbHNfdTMyX29mZmxvYWQgY2xzX3UzMiA9IHt9OwogCWJvb2wgc2tpcF9z dyA9IHRjX3NraXBfc3coZmxhZ3MpOwpAQCAtNTYzLDcgKzU2NCw3IEBAIHN0YXRpYyBpbnQgdTMy X3JlcGxhY2VfaHdfa25vZGUoc3RydWN0IHRjZl9wcm90byAqdHAsIHN0cnVjdCB0Y191X2tub2Rl ICpuLAogCWNsc191MzIua25vZGUuc2VsID0gJm4tPnNlbDsKIAljbHNfdTMyLmtub2RlLmV4dHMg PSAmbi0+ZXh0czsKIAlpZiAobi0+aHRfZG93bikKLQkJY2xzX3UzMi5rbm9kZS5saW5rX2hhbmRs ZSA9IG4tPmh0X2Rvd24tPmhhbmRsZTsKKwkJY2xzX3UzMi5rbm9kZS5saW5rX2hhbmRsZSA9IGh0 LT5oYW5kbGU7CiAKIAllcnIgPSB0Y19zZXR1cF9jYl9jYWxsKGJsb2NrLCBOVUxMLCBUQ19TRVRV UF9DTFNVMzIsICZjbHNfdTMyLCBza2lwX3N3KTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtODQwLDgg Kzg0MSw5IEBAIHN0YXRpYyB2b2lkIHUzMl9yZXBsYWNlX2tub2RlKHN0cnVjdCB0Y2ZfcHJvdG8g KnRwLCBzdHJ1Y3QgdGNfdV9jb21tb24gKnRwX2MsCiBzdGF0aWMgc3RydWN0IHRjX3Vfa25vZGUg KnUzMl9pbml0X2tub2RlKHN0cnVjdCB0Y2ZfcHJvdG8gKnRwLAogCQkJCQkgc3RydWN0IHRjX3Vf a25vZGUgKm4pCiB7Ci0Jc3RydWN0IHRjX3Vfa25vZGUgKm5ldzsKKwlzdHJ1Y3QgdGNfdV9obm9k ZSAqaHQgPSBydG5sX2RlcmVmZXJlbmNlKG4tPmh0X2Rvd24pOwogCXN0cnVjdCB0Y191MzJfc2Vs ICpzID0gJm4tPnNlbDsKKwlzdHJ1Y3QgdGNfdV9rbm9kZSAqbmV3OwogCiAJbmV3ID0ga3phbGxv YyhzaXplb2YoKm4pICsgcy0+bmtleXMqc2l6ZW9mKHN0cnVjdCB0Y191MzJfa2V5KSwKIAkJICAg ICAgR0ZQX0tFUk5FTCk7CkBAIC04NTksMTEgKzg2MSwxMSBAQCBzdGF0aWMgc3RydWN0IHRjX3Vf a25vZGUgKnUzMl9pbml0X2tub2RlKHN0cnVjdCB0Y2ZfcHJvdG8gKnRwLAogCW5ldy0+ZnNoaWZ0 ID0gbi0+ZnNoaWZ0OwogCW5ldy0+cmVzID0gbi0+cmVzOwogCW5ldy0+ZmxhZ3MgPSBuLT5mbGFn czsKLQlSQ1VfSU5JVF9QT0lOVEVSKG5ldy0+aHRfZG93biwgbi0+aHRfZG93bik7CisJUkNVX0lO SVRfUE9JTlRFUihuZXctPmh0X2Rvd24sIGh0KTsKIAogCS8qIGJ1bXAgcmVmZXJlbmNlIGNvdW50 IGFzIGxvbmcgYXMgd2UgaG9sZCBwb2ludGVyIHRvIHN0cnVjdHVyZSAqLwotCWlmIChuZXctPmh0 X2Rvd24pCi0JCW5ldy0+aHRfZG93bi0+cmVmY250Kys7CisJaWYgKGh0KQorCQlodC0+cmVmY250 Kys7CiAKICNpZmRlZiBDT05GSUdfQ0xTX1UzMl9QRVJGCiAJLyogU3RhdGlzdGljcyBtYXkgYmUg aW5jcmVtZW50ZWQgYnkgcmVhZGVycyBkdXJpbmcgdXBkYXRlCi0tIAoyLjE0LjMKCgpGcm9tIDNj ZDc1MWE0NWY1OWMyYWI1ZGVhNGU1NDM2MWMzYmFlOTFmNWY1YWYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IE1hcnRpbiBLYUZhaSBMYXUgPGthZmFpQGZiLmNvbT4KRGF0ZTogV2VkLCAy NCBKYW4gMjAxOCAyMzoxNToyNyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMThdIGlwdjY6IEZp eCBTT19SRVVTRVBPUlQgVURQIHNvY2tldCB3aXRoIGltcGxpY2l0CiBza19pcHY2b25seQoKWyBV cHN0cmVhbSBjb21taXQgN2VjZTU0YTYwZWUyYmE3YTM4NjMwOGNhZTczYzc5MGJkNTgwNTg5YyBd CgpJZiBhIHNrX3Y2X3Jjdl9zYWRkciBpcyAhSVBWNl9BRERSX0FOWSBhbmQgIUlQVjZfQUREUl9N QVBQRUQsIGl0CmltcGxpY2l0bHkgaW1wbGllcyBpdCBpcyBhbiBpcHY2b25seSBzb2NrZXQuICBI b3dldmVyLCBpbiBpbmV0Nl9iaW5kKCksCnRoaXMgYWRkcl90eXBlIGNoZWNraW5nIGFuZCBzZXR0 aW5nIHNrLT5za19pcHY2b25seSB0byAxIGFyZSBvbmx5IGRvbmUKYWZ0ZXIgc2stPnNrX3Byb3Qt PmdldF9wb3J0KHNrLCBzbnVtKSBoYXMgYmVlbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgoKVGhp cyBpbmNvbnNpc3RlbmN5IGJldHdlZW4gc2tfdjZfcmN2X3NhZGRyIGFuZCBza19pcHY2b25seSBj b25mdXNlcwp0aGUgJ2dldF9wb3J0KCknLgoKSW4gcGFydGljdWxhciwgd2hlbiBiaW5kaW5nIFNP X1JFVVNFUE9SVCBVRFAgc29ja2V0cywKdWRwX3JldXNlcG9ydF9hZGRfc29jayhzaywuLi4pIGlz IGNhbGxlZC4gIHVkcF9yZXVzZXBvcnRfYWRkX3NvY2soKQpjaGVja3MgImlwdjZfb25seV9zb2Nr KHNrMikgPT0gaXB2Nl9vbmx5X3NvY2soc2spIiBiZWZvcmUgYWRkaW5nIHNrIHRvCnNrMi0+c2tf cmV1c2Vwb3J0X2NiLiAgSW4gdGhpcyBjYXNlLCBpcHY2X29ubHlfc29jayhzazIpIGNvdWxkIGJl CjEgd2hpbGUgaXB2Nl9vbmx5X3NvY2soc2spIGlzIHN0aWxsIDAgaGVyZS4gIFRoZSBlbmQgcmVz dWx0IGlzLApyZXVzZXBvcnRfYWxsb2Moc2spIGlzIGNhbGxlZCBpbnN0ZWFkIG9mIGFkZGluZyBz ayB0byB0aGUgZXhpc3RpbmcKc2syLT5za19yZXVzZXBvcnRfY2IuCgpJdCBjYW4gYmUgcmVwcm9k dWNlZCBieSBiaW5kaW5nIHR3byBTT19SRVVTRVBPUlQgVURQIHNvY2tldHMgb24gYW4KSVB2NiBh ZGRyZXNzICghQU5ZIGFuZCAhTUFQUEVEKS4gIE9ubHkgb25lIG9mIHRoZSBzb2NrZXQgd2lsbApy ZWNlaXZlIHBhY2tldC4KClRoZSBmaXggaXMgdG8gc2V0IHRoZSBpbXBsaWNpdCBza19pcHY2b25s eSBiZWZvcmUgY2FsbGluZyBnZXRfcG9ydCgpLgpUaGUgb3JpZ2luYWwgc2tfaXB2Nm9ubHkgaGFz IHRvIGJlIHNhdmVkIHN1Y2ggdGhhdCBpdCBjYW4gYmUgcmVzdG9yZWQKaW4gY2FzZSBnZXRfcG9y dCgpIGZhaWxlZC4gIFRoZSBzaXR1YXRpb24gaXMgc2ltaWxhciB0byB0aGUKaW5ldF9yZXNldF9z YWRkcihzaykgYWZ0ZXIgZ2V0X3BvcnQoKSBoYXMgZmFpbGVkLgoKVGhhbmtzIHRvIENhbHZpbiBP d2VucyA8Y2Fsdmlub3dlbnNAZmIuY29tPiB3aG8gY3JlYXRlZCBhbiBlYXN5CnJlcHJvZHVjdGlv biB3aGljaCBsZWFkcyB0byBhIGZpeC4KCkZpeGVzOiBlMzJlYTdlNzQ3MjcgKCJzb3JldXNlcG9y dDogZmFzdCByZXVzZXBvcnQgVURQIHNvY2tldCBzZWxlY3Rpb24iKQpTaWduZWQtb2ZmLWJ5OiBN YXJ0aW4gS2FGYWkgTGF1IDxrYWZhaUBmYi5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9hZl9pbmV0Ni5jIHwgMTEg KysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvYWZfaW5ldDYuYyBiL25ldC9pcHY2L2FmX2luZXQ2 LmMKaW5kZXggYzk0NDFjYTQ1Mzk5Li40MTY5MTc3MTlhNmYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2 L2FmX2luZXQ2LmMKKysrIGIvbmV0L2lwdjYvYWZfaW5ldDYuYwpAQCAtMjg0LDYgKzI4NCw3IEBA IGludCBpbmV0Nl9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdWFk ZHIsIGludCBhZGRyX2xlbikKIAlzdHJ1Y3QgbmV0ICpuZXQgPSBzb2NrX25ldChzayk7CiAJX19i ZTMyIHY0YWRkciA9IDA7CiAJdW5zaWduZWQgc2hvcnQgc251bTsKKwlib29sIHNhdmVkX2lwdjZv bmx5OwogCWludCBhZGRyX3R5cGUgPSAwOwogCWludCBlcnIgPSAwOwogCkBAIC0zODksMTkgKzM5 MCwyMSBAQCBpbnQgaW5ldDZfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2Fk ZHIgKnVhZGRyLCBpbnQgYWRkcl9sZW4pCiAJaWYgKCEoYWRkcl90eXBlICYgSVBWNl9BRERSX01V TFRJQ0FTVCkpCiAJCW5wLT5zYWRkciA9IGFkZHItPnNpbjZfYWRkcjsKIAorCXNhdmVkX2lwdjZv bmx5ID0gc2stPnNrX2lwdjZvbmx5OworCWlmIChhZGRyX3R5cGUgIT0gSVBWNl9BRERSX0FOWSAm JiBhZGRyX3R5cGUgIT0gSVBWNl9BRERSX01BUFBFRCkKKwkJc2stPnNrX2lwdjZvbmx5ID0gMTsK KwogCS8qIE1ha2Ugc3VyZSB3ZSBhcmUgYWxsb3dlZCB0byBiaW5kIGhlcmUuICovCiAJaWYgKChz bnVtIHx8ICFpbmV0LT5iaW5kX2FkZHJlc3Nfbm9fcG9ydCkgJiYKIAkgICAgc2stPnNrX3Byb3Qt PmdldF9wb3J0KHNrLCBzbnVtKSkgeworCQlzay0+c2tfaXB2Nm9ubHkgPSBzYXZlZF9pcHY2b25s eTsKIAkJaW5ldF9yZXNldF9zYWRkcihzayk7CiAJCWVyciA9IC1FQUREUklOVVNFOwogCQlnb3Rv IG91dDsKIAl9CiAKLQlpZiAoYWRkcl90eXBlICE9IElQVjZfQUREUl9BTlkpIHsKKwlpZiAoYWRk cl90eXBlICE9IElQVjZfQUREUl9BTlkpCiAJCXNrLT5za191c2VybG9ja3MgfD0gU09DS19CSU5E QUREUl9MT0NLOwotCQlpZiAoYWRkcl90eXBlICE9IElQVjZfQUREUl9NQVBQRUQpCi0JCQlzay0+ c2tfaXB2Nm9ubHkgPSAxOwotCX0KIAlpZiAoc251bSkKIAkJc2stPnNrX3VzZXJsb2NrcyB8PSBT T0NLX0JJTkRQT1JUX0xPQ0s7CiAJaW5ldC0+aW5ldF9zcG9ydCA9IGh0b25zKGluZXQtPmluZXRf bnVtKTsKLS0gCjIuMTQuMwoKCkZyb20gNDY1NGIxYTQ2NWI3ZTJlOGVlZmNmZjkyOWJkNzEwODI2 Zjg3MTk3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVt YXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDIgRmViIDIwMTggMTA6Mjc6MjcgLTA4MDAKU3Vi amVjdDogW1BBVENIIDE2LzE4XSBzb3JldXNlcG9ydDogZml4IG1lbSBsZWFrIGluIHJldXNlcG9y dF9hZGRfc29jaygpCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFt IGNvbW1pdCA0ZGI0MjhhN2M5YWIwN2UwODc4M2UwZmNkYzRjYTBmNTU1ZGEwNTY3IF0KCnJldXNl cG9ydF9hZGRfc29jaygpIG5lZWRzIHRvIGRlYWwgd2l0aCBhdHRhY2hpbmcgYSBzb2NrZXQgaGF2 aW5nCml0cyBvd24gc2tfcmV1c2Vwb3J0X2NiLCBhZnRlciBhIHByaW9yCnNldHNvY2tvcHQoU09f QVRUQUNIX1JFVVNFUE9SVF8/QlBGKQoKV2l0aG91dCB0aGlzIGZpeCwgbm90IG9ubHkgYSBXQVJO X09OQ0UoKSB3YXMgaXNzdWVkLCBidXQgd2Ugd2VyZSBhbHNvCmxlYWtpbmcgbWVtb3J5LgoKVGhh bmtzIHRvIHN5c2JvdCBhbmQgRXJpYyBCaWdnZXJzIGZvciBwcm92aWRpbmcgdXMgbmljZSBDIHJl cHJvcy4KCi0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpzb2NrZXQgYWxyZWFk eSBpbiByZXVzZXBvcnQgZ3JvdXAKV0FSTklORzogQ1BVOiAwIFBJRDogMzQ5NiBhdCBuZXQvY29y ZS9zb2NrX3JldXNlcG9ydC5jOjExOcKgwqAKcmV1c2Vwb3J0X2FkZF9zb2NrKzB4NzQyLzB4OWIw IG5ldC9jb3JlL3NvY2tfcmV1c2Vwb3J0LmM6MTE3Cktlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5n OiBwYW5pY19vbl93YXJuIHNldCAuLi4KCkNQVTogMCBQSUQ6IDM0OTYgQ29tbTogc3l6a2FsbGVy ODY5NTAzIE5vdCB0YWludGVkIDQuMTUuMC1yYzYrICMyNDUKSGFyZHdhcmUgbmFtZTogR29vZ2xl IEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsCkJJT1PCoMKgCkdv b2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CsKgIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFj ay5jOjE3IFtpbmxpbmVdCsKgIGR1bXBfc3RhY2srMHgxOTQvMHgyNTcgbGliL2R1bXBfc3RhY2su Yzo1MwrCoCBwYW5pYysweDFlNC8weDQxYyBrZXJuZWwvcGFuaWMuYzoxODMKwqAgX193YXJuKzB4 MWRjLzB4MjAwIGtlcm5lbC9wYW5pYy5jOjU0NwrCoCByZXBvcnRfYnVnKzB4MjExLzB4MmQwIGxp Yi9idWcuYzoxODQKwqAgZml4dXBfYnVnLnBhcnQuMTErMHgzNy8weDgwIGFyY2gveDg2L2tlcm5l bC90cmFwcy5jOjE3OArCoCBmaXh1cF9idWcgYXJjaC94ODYva2VybmVsL3RyYXBzLmM6MjQ3IFtp bmxpbmVdCsKgIGRvX2Vycm9yX3RyYXArMHgyZDcvMHgzZTAgYXJjaC94ODYva2VybmVsL3RyYXBz LmM6Mjk2CsKgIGRvX2ludmFsaWRfb3ArMHgxYi8weDIwIGFyY2gveDg2L2tlcm5lbC90cmFwcy5j OjMxNQrCoCBpbnZhbGlkX29wKzB4MjIvMHg0MCBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TOjEw NzkKCkZpeGVzOiBlZjQ1NjE0NGRhOGUgKCJzb3JldXNlcG9ydDogZGVmaW5lIHJldXNlcG9ydCBn cm91cHMiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ ClJlcG9ydGVkLWJ5OiBzeXpib3QrYzBlYTIyMjZmNzdhNDI5MzZiZjdAc3l6a2FsbGVyLmFwcHNw b3RtYWlsLmNvbQpBY2tlZC1ieTogQ3JhaWcgR2FsbGVrIDxrcmFpZ0Bnb29nbGUuY29tPgoKU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC9jb3JlL3NvY2tfcmV1c2Vwb3J0LmMgfCAzNSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NvY2tfcmV1c2Vwb3J0LmMgYi9uZXQvY29yZS9zb2Nr X3JldXNlcG9ydC5jCmluZGV4IDVlZWIxZDIwY2MzOC4uNjc2MDkyZDdiZDgxIDEwMDY0NAotLS0g YS9uZXQvY29yZS9zb2NrX3JldXNlcG9ydC5jCisrKyBiL25ldC9jb3JlL3NvY2tfcmV1c2Vwb3J0 LmMKQEAgLTk0LDYgKzk0LDE2IEBAIHN0YXRpYyBzdHJ1Y3Qgc29ja19yZXVzZXBvcnQgKnJldXNl cG9ydF9ncm93KHN0cnVjdCBzb2NrX3JldXNlcG9ydCAqcmV1c2UpCiAJcmV0dXJuIG1vcmVfcmV1 c2U7CiB9CiAKK3N0YXRpYyB2b2lkIHJldXNlcG9ydF9mcmVlX3JjdShzdHJ1Y3QgcmN1X2hlYWQg KmhlYWQpCit7CisJc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpyZXVzZTsKKworCXJldXNlID0gY29u dGFpbmVyX29mKGhlYWQsIHN0cnVjdCBzb2NrX3JldXNlcG9ydCwgcmN1KTsKKwlpZiAocmV1c2Ut PnByb2cpCisJCWJwZl9wcm9nX2Rlc3Ryb3kocmV1c2UtPnByb2cpOworCWtmcmVlKHJldXNlKTsK K30KKwogLyoqCiAgKiAgcmV1c2Vwb3J0X2FkZF9zb2NrIC0gQWRkIGEgc29ja2V0IHRvIHRoZSBy ZXVzZXBvcnQgZ3JvdXAgb2YgYW5vdGhlci4KICAqICBAc2s6ICBOZXcgc29ja2V0IHRvIGFkZCB0 byB0aGUgZ3JvdXAuCkBAIC0xMDIsNyArMTEyLDcgQEAgc3RhdGljIHN0cnVjdCBzb2NrX3JldXNl cG9ydCAqcmV1c2Vwb3J0X2dyb3coc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpyZXVzZSkKICAqLwog aW50IHJldXNlcG9ydF9hZGRfc29jayhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrICpzazIp CiB7Ci0Jc3RydWN0IHNvY2tfcmV1c2Vwb3J0ICpyZXVzZTsKKwlzdHJ1Y3Qgc29ja19yZXVzZXBv cnQgKm9sZF9yZXVzZSwgKnJldXNlOwogCiAJaWYgKCFyY3VfYWNjZXNzX3BvaW50ZXIoc2syLT5z a19yZXVzZXBvcnRfY2IpKSB7CiAJCWludCBlcnIgPSByZXVzZXBvcnRfYWxsb2Moc2syKTsKQEAg LTExMywxMCArMTIzLDEzIEBAIGludCByZXVzZXBvcnRfYWRkX3NvY2soc3RydWN0IHNvY2sgKnNr LCBzdHJ1Y3Qgc29jayAqc2syKQogCiAJc3Bpbl9sb2NrX2JoKCZyZXVzZXBvcnRfbG9jayk7CiAJ cmV1c2UgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKHNrMi0+c2tfcmV1c2Vwb3J0X2NiLAot CQkJCQkgIGxvY2tkZXBfaXNfaGVsZCgmcmV1c2Vwb3J0X2xvY2spKSwKLQlXQVJOX09OQ0UocmN1 X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChzay0+c2tfcmV1c2Vwb3J0X2NiLAotCQkJCQkgICAgbG9j a2RlcF9pc19oZWxkKCZyZXVzZXBvcnRfbG9jaykpLAotCQkgICJzb2NrZXQgYWxyZWFkeSBpbiBy ZXVzZXBvcnQgZ3JvdXAiKTsKKwkJCQkJICBsb2NrZGVwX2lzX2hlbGQoJnJldXNlcG9ydF9sb2Nr KSk7CisJb2xkX3JldXNlID0gcmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChzay0+c2tfcmV1c2Vw b3J0X2NiLAorCQkJCQkgICAgIGxvY2tkZXBfaXNfaGVsZCgmcmV1c2Vwb3J0X2xvY2spKTsKKwlp ZiAob2xkX3JldXNlICYmIG9sZF9yZXVzZS0+bnVtX3NvY2tzICE9IDEpIHsKKwkJc3Bpbl91bmxv Y2tfYmgoJnJldXNlcG9ydF9sb2NrKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKIAlpZiAocmV1 c2UtPm51bV9zb2NrcyA9PSByZXVzZS0+bWF4X3NvY2tzKSB7CiAJCXJldXNlID0gcmV1c2Vwb3J0 X2dyb3cocmV1c2UpOwpAQCAtMTM0LDE5ICsxNDcsMTEgQEAgaW50IHJldXNlcG9ydF9hZGRfc29j ayhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrICpzazIpCiAKIAlzcGluX3VubG9ja19iaCgm cmV1c2Vwb3J0X2xvY2spOwogCisJaWYgKG9sZF9yZXVzZSkKKwkJY2FsbF9yY3UoJm9sZF9yZXVz ZS0+cmN1LCByZXVzZXBvcnRfZnJlZV9yY3UpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9p ZCByZXVzZXBvcnRfZnJlZV9yY3Uoc3RydWN0IHJjdV9oZWFkICpoZWFkKQotewotCXN0cnVjdCBz b2NrX3JldXNlcG9ydCAqcmV1c2U7Ci0KLQlyZXVzZSA9IGNvbnRhaW5lcl9vZihoZWFkLCBzdHJ1 Y3Qgc29ja19yZXVzZXBvcnQsIHJjdSk7Ci0JaWYgKHJldXNlLT5wcm9nKQotCQlicGZfcHJvZ19k ZXN0cm95KHJldXNlLT5wcm9nKTsKLQlrZnJlZShyZXVzZSk7Ci19Ci0KIHZvaWQgcmV1c2Vwb3J0 X2RldGFjaF9zb2NrKHN0cnVjdCBzb2NrICpzaykKIHsKIAlzdHJ1Y3Qgc29ja19yZXVzZXBvcnQg KnJldXNlOwotLSAKMi4xNC4zCgoKRnJvbSA3NTI4YjQ4ZDc2ZDYzZjk0MDVjZGZjZTYyMDBkZDE4 NGViMzljNjc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdhbmcgPHhpeW91 Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA0IERlYyAyMDE3IDEwOjQ4OjE4IC0wODAw ClN1YmplY3Q6IFtQQVRDSCAxNy8xOF0gbmV0X3NjaGVkOiBnZXQgcmlkIG9mIHJjdV9iYXJyaWVy KCkgaW4KIHRjZl9ibG9ja19wdXRfZXh0KCkKClsgVXBzdHJlYW0gY29tbWl0IGVmYmY3ODk3Mzk3 OGIwZDI1YWY1OWJjMjZjODAxM2E5NDJhZjZlNjQgXQoKQm90aCBFcmljIGFuZCBQYW9sbyBub3Rp Y2VkIHRoZSByY3VfYmFycmllcigpIHdlIHVzZSBpbgp0Y2ZfYmxvY2tfcHV0X2V4dCgpIGNvdWxk IGJlIGEgcGVyZm9ybWFuY2UgYm90dGxlbmVjayB3aGVuCndlIGhhdmUgYSBsb3Qgb2YgdGMgY2xh c3Nlcy4KClBhb2xvIHByb3ZpZGVkIHRoZSBmb2xsb3dpbmcgdG8gZGVtb25zdHJhdGUgdGhlIGlz c3VlOgoKdGMgcWRpc2MgYWRkIGRldiBsbyByb290IGh0Ygpmb3IgSSBpbiBgc2VxIDEgMTAwMGA7 IGRvCiAgICAgICAgdGMgY2xhc3MgYWRkIGRldiBsbyBwYXJlbnQgMTogY2xhc3NpZCAxOiRJIGh0 YiByYXRlIDEwMGtiaXQKICAgICAgICB0YyBxZGlzYyBhZGQgZGV2IGxvIHBhcmVudCAxOiRJIGhh bmRsZSAkKChJICsgMSkpOiBodGIKICAgICAgICBmb3IgSiBpbiBgc2VxIDEgMTBgOyBkbwogICAg ICAgICAgICAgICAgdGMgZmlsdGVyIGFkZCBkZXYgbG8gcGFyZW50ICQoKEkgKyAxKSk6IHUzMiBt YXRjaCBpcCBzcmMgMS4xLjEuJEoKICAgICAgICBkb25lCmRvbmUKdGltZSB0YyBxZGlzYyBkZWwg ZGV2IHJvb3QKCnJlYWwgICAgMG01NC43NjRzCnVzZXIgICAgMG0wLjAyM3MKc3lzICAgICAwbTAu MDAwcwoKVGhlIHJjdV9iYXJyaWVyKCkgdGhlcmUgaXMgdG8gZW5zdXJlIHdlIGZyZWUgdGhlIGJs b2NrIGFmdGVyIGFsbCBjaGFpbnMKYXJlIGdvbmUsIHRoYXQgaXMsIHRvIHF1ZXVlIHRjZl9ibG9j a19wdXRfZmluYWwoKSBhdCB0aGUgdGFpbCBvZiB3b3JrcXVldWUuCldlIGNhbiBhY2hpZXZlIHRo aXMgb3JkZXJpbmcgcmVxdWlyZW1lbnQgYnkgcmVmY250J2luZyB0Y2YgYmxvY2sgaW5zdGVhZCwK dGhhdCBpcywgdGhlIHRjZiBibG9jayBpcyBmcmVlZCBvbmx5IHdoZW4gdGhlIGxhc3QgY2hhaW4g aW4gdGhpcyBibG9jayBpcwpnb25lLiBUaGlzIGFsc28gc2ltcGxpZmllcyB0aGUgY29kZS4KClBh b2xvIHJlcG9ydGVkIGFmdGVyIHRoaXMgcGF0Y2ggd2UgZ2V0OgoKcmVhbCAgICAwbTAuMDE3cwp1 c2VyICAgIDBtMC4wMDBzCnN5cyAgICAgMG0wLjAxN3MKClRlc3RlZC1ieTogUGFvbG8gQWJlbmkg PHBhYmVuaUByZWRoYXQuY29tPgpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpDYzogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+CkNjOiBKYW1hbCBIYWRpIFNhbGlt IDxqaHNAbW9qYXRhdHUuY29tPgpTaWduZWQtb2ZmLWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdj b25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L3NjaF9nZW5lcmljLmggfCAgMSAtCiBuZXQvc2No ZWQvY2xzX2FwaS5jICAgICAgIHwgMzAgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvaW5jbHVkZS9uZXQvc2NoX2dlbmVyaWMuaCBiL2luY2x1ZGUvbmV0L3NjaF9nZW5lcmlj LmgKaW5kZXggYmVjZjg2YWE0YWM2Li5kNmVjNWE1YTY3ODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv bmV0L3NjaF9nZW5lcmljLmgKKysrIGIvaW5jbHVkZS9uZXQvc2NoX2dlbmVyaWMuaApAQCAtMjgw LDcgKzI4MCw2IEBAIHN0cnVjdCB0Y2ZfYmxvY2sgewogCXN0cnVjdCBuZXQgKm5ldDsKIAlzdHJ1 Y3QgUWRpc2MgKnE7CiAJc3RydWN0IGxpc3RfaGVhZCBjYl9saXN0OwotCXN0cnVjdCB3b3JrX3N0 cnVjdCB3b3JrOwogfTsKIAogc3RhdGljIGlubGluZSB2b2lkIHFkaXNjX2NiX3ByaXZhdGVfdmFs aWRhdGUoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IHN6KQpkaWZmIC0tZ2l0IGEvbmV0 L3NjaGVkL2Nsc19hcGkuYyBiL25ldC9zY2hlZC9jbHNfYXBpLmMKaW5kZXggYjlkNjNkMjI0NmU2 Li4yZjhiZjRhYzhkNmYgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9jbHNfYXBpLmMKKysrIGIvbmV0 L3NjaGVkL2Nsc19hcGkuYwpAQCAtMjE3LDggKzIxNywxMiBAQCBzdGF0aWMgdm9pZCB0Y2ZfY2hh aW5fZmx1c2goc3RydWN0IHRjZl9jaGFpbiAqY2hhaW4pCiAKIHN0YXRpYyB2b2lkIHRjZl9jaGFp bl9kZXN0cm95KHN0cnVjdCB0Y2ZfY2hhaW4gKmNoYWluKQogeworCXN0cnVjdCB0Y2ZfYmxvY2sg KmJsb2NrID0gY2hhaW4tPmJsb2NrOworCiAJbGlzdF9kZWwoJmNoYWluLT5saXN0KTsKIAlrZnJl ZShjaGFpbik7CisJaWYgKGxpc3RfZW1wdHkoJmJsb2NrLT5jaGFpbl9saXN0KSkKKwkJa2ZyZWUo YmxvY2spOwogfQogCiBzdGF0aWMgdm9pZCB0Y2ZfY2hhaW5faG9sZChzdHJ1Y3QgdGNmX2NoYWlu ICpjaGFpbikKQEAgLTMyOSwyNyArMzMzLDEzIEBAIGludCB0Y2ZfYmxvY2tfZ2V0KHN0cnVjdCB0 Y2ZfYmxvY2sgKipwX2Jsb2NrLAogfQogRVhQT1JUX1NZTUJPTCh0Y2ZfYmxvY2tfZ2V0KTsKIAot c3RhdGljIHZvaWQgdGNmX2Jsb2NrX3B1dF9maW5hbChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp Ci17Ci0Jc3RydWN0IHRjZl9ibG9jayAqYmxvY2sgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0 IHRjZl9ibG9jaywgd29yayk7Ci0Jc3RydWN0IHRjZl9jaGFpbiAqY2hhaW4sICp0bXA7Ci0KLQly dG5sX2xvY2soKTsKLQotCS8qIEF0IHRoaXMgcG9pbnQsIGFsbCB0aGUgY2hhaW5zIHNob3VsZCBo YXZlIHJlZmNudCA9PSAxLiAqLwotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjaGFpbiwgdG1w LCAmYmxvY2stPmNoYWluX2xpc3QsIGxpc3QpCi0JCXRjZl9jaGFpbl9wdXQoY2hhaW4pOwotCXJ0 bmxfdW5sb2NrKCk7Ci0Ja2ZyZWUoYmxvY2spOwotfQotCiAvKiBYWFg6IFN0YW5kYWxvbmUgYWN0 aW9ucyBhcmUgbm90IGFsbG93ZWQgdG8ganVtcCB0byBhbnkgY2hhaW4sIGFuZCBib3VuZAogICog YWN0aW9ucyBzaG91bGQgYmUgYWxsIHJlbW92ZWQgYWZ0ZXIgZmx1c2hpbmcuCiAgKi8KIHZvaWQg dGNmX2Jsb2NrX3B1dF9leHQoc3RydWN0IHRjZl9ibG9jayAqYmxvY2ssIHN0cnVjdCBRZGlzYyAq cSwKIAkJICAgICAgIHN0cnVjdCB0Y2ZfYmxvY2tfZXh0X2luZm8gKmVpKQogewotCXN0cnVjdCB0 Y2ZfY2hhaW4gKmNoYWluOworCXN0cnVjdCB0Y2ZfY2hhaW4gKmNoYWluLCAqdG1wOwogCiAJaWYg KCFibG9jaykKIAkJcmV0dXJuOwpAQCAtMzY1LDEzICszNTUsMTEgQEAgdm9pZCB0Y2ZfYmxvY2tf cHV0X2V4dChzdHJ1Y3QgdGNmX2Jsb2NrICpibG9jaywgc3RydWN0IFFkaXNjICpxLAogCiAJdGNm X2Jsb2NrX29mZmxvYWRfdW5iaW5kKGJsb2NrLCBxLCBlaSk7CiAKLQlJTklUX1dPUksoJmJsb2Nr LT53b3JrLCB0Y2ZfYmxvY2tfcHV0X2ZpbmFsKTsKLQkvKiBXYWl0IGZvciBleGlzdGluZyBSQ1Ug Y2FsbGJhY2tzIHRvIGNvb2wgZG93biwgbWFrZSBzdXJlIHRoZWlyIHdvcmtzCi0JICogaGF2ZSBi ZWVuIHF1ZXVlZCBiZWZvcmUgdGhpcy4gV2UgY2FuIG5vdCBmbHVzaCBwZW5kaW5nIHdvcmtzIGhl cmUKLQkgKiBiZWNhdXNlIHdlIGFyZSBob2xkaW5nIHRoZSBSVE5MIGxvY2suCisJLyogQXQgdGhp cyBwb2ludCwgYWxsIHRoZSBjaGFpbnMgc2hvdWxkIGhhdmUgcmVmY250ID49IDEuIEJsb2NrIHdp bGwgYmUKKwkgKiBmcmVlZCBhZnRlciBhbGwgY2hhaW5zIGFyZSBnb25lLgogCSAqLwotCXJjdV9i YXJyaWVyKCk7Ci0JdGNmX3F1ZXVlX3dvcmsoJmJsb2NrLT53b3JrKTsKKwlsaXN0X2Zvcl9lYWNo X2VudHJ5X3NhZmUoY2hhaW4sIHRtcCwgJmJsb2NrLT5jaGFpbl9saXN0LCBsaXN0KQorCQl0Y2Zf Y2hhaW5fcHV0KGNoYWluKTsKIH0KIEVYUE9SVF9TWU1CT0wodGNmX2Jsb2NrX3B1dF9leHQpOwog Ci0tIAoyLjE0LjMKCgpGcm9tIGJkNWIzMzE4ZTRhMGRiOWViYTMwMWFhYTJhMGI5MDA1ZTI2ODE5 OTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppcmkgUGlya28gPGppcmlAbWVsbGFu b3guY29tPgpEYXRlOiBGcmksIDggRGVjIDIwMTcgMTk6Mjc6MjcgKzAxMDAKU3ViamVjdDogW1BB VENIIDE4LzE4XSBuZXQ6IHNjaGVkOiBmaXggdXNlLWFmdGVyLWZyZWUgaW4gdGNmX2Jsb2NrX3B1 dF9leHQKClsgVXBzdHJlYW0gY29tbWl0IGRmNDViZjg0ZTRmNWE0OGYyM2Q0YjFhMDdkMjFkNTY2 ZThiNTg3YjIgXQoKU2luY2UgdGhlIGJsb2NrIGlzIGZyZWVkIHdpdGggbGFzdCBjaGFpbiBiZWlu ZyBwdXQsIG9uY2Ugd2UgcmVhY2ggdGhlCmVuZCBvZiBpdGVyYXRpb24gb2YgbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlLCB0aGUgYmxvY2sgbWF5IGJlCmFscmVhZHkgZnJlZWQuIEknbSBoaXR0aW5n IHRoaXMgb25seSBieSBjcmVhdGluZyBhbmQgZGVsZXRpbmcgY2xzYWN0OgoKWyAgMjAyLjE3MTk1 Ml0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClsgIDIwMi4xODAxODJdIEJVRzogS0FTQU46IHVzZS1hZnRlci1mcmVlIGlu IHRjZl9ibG9ja19wdXRfZXh0KzB4MjQwLzB4MzkwClsgIDIwMi4xODc1OTBdIFJlYWQgb2Ygc2l6 ZSA4IGF0IGFkZHIgZmZmZjg4MDIyNTUzOWE4MCBieSB0YXNrIHRjLzc5NgpbICAyMDIuMTk0NTA4 XQpbICAyMDIuMTk2MTg1XSBDUFU6IDAgUElEOiA3OTYgQ29tbTogdGMgTm90IHRhaW50ZWQgNC4x NS4wLXJjMmppcmkrICM1ClsgIDIwMi4yMDMyMDBdIEhhcmR3YXJlIG5hbWU6IE1lbGxhbm94IFRl Y2hub2xvZ2llcyBMdGQuICJNU04yMTAwLUNCMkYiLyJTQTAwMTAxNyIsIEJJT1MgNS42LjUgMDYv MDcvMjAxNgpbICAyMDIuMjEzNjEzXSBDYWxsIFRyYWNlOgpbICAyMDIuMjE2MzY5XSAgZHVtcF9z dGFjaysweGRhLzB4MTY5ClsgIDIwMi4yMjAxOTJdICA/IGRtYV92aXJ0X21hcF9zZysweDE0Ny8w eDE0NwpbICAyMDIuMjI0NzkwXSAgPyBzaG93X3JlZ3NfcHJpbnRfaW5mbysweDU0LzB4NTQKWyAg MjAyLjIyOTY5MV0gID8gdGNmX2NoYWluX2Rlc3Ryb3krMHgxZGMvMHgyNTAKWyAgMjAyLjIzNDQ5 NF0gIHByaW50X2FkZHJlc3NfZGVzY3JpcHRpb24rMHg4My8weDNkMApbICAyMDIuMjM5NzgxXSAg PyB0Y2ZfYmxvY2tfcHV0X2V4dCsweDI0MC8weDM5MApbICAyMDIuMjQ0NTc1XSAga2FzYW5fcmVw b3J0KzB4MWJhLzB4NDYwClsgIDIwMi4yNDg3MDddICA/IHRjZl9ibG9ja19wdXRfZXh0KzB4MjQw LzB4MzkwClsgIDIwMi4yNTM1MThdICB0Y2ZfYmxvY2tfcHV0X2V4dCsweDI0MC8weDM5MApbICAy MDIuMjU4MTE3XSAgPyB0Y2ZfY2hhaW5fZmx1c2grMHgyOTAvMHgyOTAKWyAgMjAyLjI2MjcwOF0g ID8gcWRpc2NfaGFzaF9kZWwrMHg4Mi8weDFhMApbICAyMDIuMjY3MTExXSAgPyBxZGlzY19oYXNo X2FkZCsweDUwLzB4NTAKWyAgMjAyLjI3MTQxMV0gID8gX19sb2NrX2lzX2hlbGQrMHg1Zi8weDFh MApbICAyMDIuMjc1ODQzXSAgY2xzYWN0X2Rlc3Ryb3krMHgzZC8weDgwIFtzY2hfaW5ncmVzc10K WyAgMjAyLjI4MTMyM10gIHFkaXNjX2Rlc3Ryb3krMHhjYi8weDI0MApbICAyMDIuMjg1NDQ1XSAg cWRpc2NfZ3JhZnQrMHgyMTYvMHg3YjAKWyAgMjAyLjI4OTQ5N10gIHRjX2dldF9xZGlzYysweDI2 MC8weDU2MAoKRml4IHRoaXMgYnkgaG9sZGluZyB0aGUgYmxvY2sgYWxzbyBieSBjaGFpbiAwIGFu ZCBwdXQgY2hhaW4gMApleHBsaWNpdGx5LCBvdXQgb2YgdGhlIGxpc3RfZm9yX2VhY2hfZW50cnlf c2FmZSBsb29wIGF0IHRoZSB2ZXJ5CmVuZCBvZiB0Y2ZfYmxvY2tfcHV0X2V4dC4KCkZpeGVzOiBl ZmJmNzg5NzM5NzggKCJuZXRfc2NoZWQ6IGdldCByaWQgb2YgcmN1X2JhcnJpZXIoKSBpbiB0Y2Zf YmxvY2tfcHV0X2V4dCgpIikKU2lnbmVkLW9mZi1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5v eC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvc2NoZWQvY2xzX2FwaS5jIHwgMTMgKysrKysrKy0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQv c2NoZWQvY2xzX2FwaS5jIGIvbmV0L3NjaGVkL2Nsc19hcGkuYwppbmRleCAyZjhiZjRhYzhkNmYu LmU2Yjg1M2YwZWU0ZiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2Nsc19hcGkuYworKysgYi9uZXQv c2NoZWQvY2xzX2FwaS5jCkBAIC0zNDMsMjMgKzM0MywyNCBAQCB2b2lkIHRjZl9ibG9ja19wdXRf ZXh0KHN0cnVjdCB0Y2ZfYmxvY2sgKmJsb2NrLCBzdHJ1Y3QgUWRpc2MgKnEsCiAKIAlpZiAoIWJs b2NrKQogCQlyZXR1cm47Ci0JLyogSG9sZCBhIHJlZmNudCBmb3IgYWxsIGNoYWlucywgZXhjZXB0 IDAsIHNvIHRoYXQgdGhleSBkb24ndCBkaXNhcHBlYXIKKwkvKiBIb2xkIGEgcmVmY250IGZvciBh bGwgY2hhaW5zLCBzbyB0aGF0IHRoZXkgZG9uJ3QgZGlzYXBwZWFyCiAJICogd2hpbGUgd2UgYXJl IGl0ZXJhdGluZy4KIAkgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoYWluLCAmYmxvY2stPmNo YWluX2xpc3QsIGxpc3QpCi0JCWlmIChjaGFpbi0+aW5kZXgpCi0JCQl0Y2ZfY2hhaW5faG9sZChj aGFpbik7CisJCXRjZl9jaGFpbl9ob2xkKGNoYWluKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnko Y2hhaW4sICZibG9jay0+Y2hhaW5fbGlzdCwgbGlzdCkKIAkJdGNmX2NoYWluX2ZsdXNoKGNoYWlu KTsKIAogCXRjZl9ibG9ja19vZmZsb2FkX3VuYmluZChibG9jaywgcSwgZWkpOwogCi0JLyogQXQg dGhpcyBwb2ludCwgYWxsIHRoZSBjaGFpbnMgc2hvdWxkIGhhdmUgcmVmY250ID49IDEuIEJsb2Nr IHdpbGwgYmUKLQkgKiBmcmVlZCBhZnRlciBhbGwgY2hhaW5zIGFyZSBnb25lLgotCSAqLworCS8q IEF0IHRoaXMgcG9pbnQsIGFsbCB0aGUgY2hhaW5zIHNob3VsZCBoYXZlIHJlZmNudCA+PSAxLiAq LwogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjaGFpbiwgdG1wLCAmYmxvY2stPmNoYWluX2xp c3QsIGxpc3QpCiAJCXRjZl9jaGFpbl9wdXQoY2hhaW4pOworCisJLyogRmluYWxseSwgcHV0IGNo YWluIDAgYW5kIGFsbG93IGJsb2NrIHRvIGJlIGZyZWVkLiAqLworCWNoYWluID0gbGlzdF9maXJz dF9lbnRyeSgmYmxvY2stPmNoYWluX2xpc3QsIHN0cnVjdCB0Y2ZfY2hhaW4sIGxpc3QpOworCXRj Zl9jaGFpbl9wdXQoY2hhaW4pOwogfQogRVhQT1JUX1NZTUJPTCh0Y2ZfYmxvY2tfcHV0X2V4dCk7 CiAKLS0gCjIuMTQuMwoK ----Next_Part(Tue_Feb__6_15_19_49_2018_731)----