Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752316AbaGHFYz (ORCPT ); Tue, 8 Jul 2014 01:24:55 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:51022 "EHLO mx08-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751236AbaGHFYx (ORCPT ); Tue, 8 Jul 2014 01:24:53 -0400 From: Mohit KUMAR DCG To: Viresh Kumar Cc: Bartlomiej Zolnierkiewicz , Pratyush ANAND , "Arnd Bergmann (arnd@arndb.de)" , "'Bjorn Helgaas' (bhelgaas@google.com)" , spear-devel , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-pci@vger.kernel.org" , Mark Nicholson Date: Tue, 8 Jul 2014 13:24:26 +0800 Subject: RE: [PATCH V8 0/9] PCI: Add SPEAr13xx PCie support Thread-Topic: [PATCH V8 0/9] PCI: Add SPEAr13xx PCie support Thread-Index: Ac+aZSHMhzF8+3mKRROZQamq+gKeUQABOtQg Message-ID: <2CC2A0A4A178534D93D5159BF3BCB661A17A3E4639@EAPEX1MAIL1.st.com> References: <2CC2A0A4A178534D93D5159BF3BCB6619B94997E2B@EAPEX1MAIL1.st.com> <20140522113119.GA2646@pratyush-vbox> <8677743.Bty96DiF3F@amdc1032> <2CC2A0A4A178534D93D5159BF3BCB661A17A3E45ED@EAPEX1MAIL1.st.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/mixed; boundary="_002_2CC2A0A4A178534D93D5159BF3BCB661A17A3E4639EAPEX1MAIL1st_" MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.14,0.0.0000 definitions=2014-07-08_03:2014-07-07,2014-07-08,1970-01-01 signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --_002_2CC2A0A4A178534D93D5159BF3BCB661A17A3E4639EAPEX1MAIL1st_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hello Viresh, > -----Original Message----- > From: viresh.linux@gmail.com [mailto:viresh.linux@gmail.com] On Behalf Of > Viresh Kumar > Sent: Tuesday, July 08, 2014 9:59 AM > To: Mohit KUMAR DCG > Cc: Bartlomiej Zolnierkiewicz; Pratyush ANAND; Arnd Bergmann > (arnd@arndb.de); 'Bjorn Helgaas' (bhelgaas@google.com); spear-devel; > linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; linux- > pci@vger.kernel.org; Mark Nicholson > Subject: Re: [PATCH V8 0/9] PCI: Add SPEAr13xx PCie support >=20 > On Tue, Jul 8, 2014 at 9:21 AM, Mohit KUMAR DCG > wrote: > > - These patches are rebased over 3-16-rc3 to go through arm-soc tree. > > Somehow we are having 'sync' issue in providing web link for spear > > public repository with these patches. > > > > It will be resolve soon, and I will provide the link. >=20 > I can push these to some Linaro repo of mine if you want. And you can sen= d a > pull request from there then. Pls find attached patches to push through your repo. These are rebased ove= r the top of 3.16-rc3.=20 Thanks Mohit =20 --_002_2CC2A0A4A178534D93D5159BF3BCB661A17A3E4639EAPEX1MAIL1st_ Content-Type: application/x-tar; name="spear1310_pcie_3.16-rc3.tar" Content-Description: spear1310_pcie_3.16-rc3.tar Content-Disposition: attachment; filename="spear1310_pcie_3.16-rc3.tar"; size=71680; creation-date="Tue, 08 Jul 2014 05:20:48 GMT"; modification-date="Tue, 08 Jul 2014 05:19:19 GMT" Content-Transfer-Encoding: base64 djgtMy4xNi1yYzMvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDExMzcz NQAwMDAyNTczADAwMDAwMDAwMDAwADEyMzU2Njc3NDY2ADAxMjEyMAAgNQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAG1vaGl0a3UAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAc3dkZXYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2 OC0zLjE2LXJjMy8wMDAxLWNsay1TUEVBcjEzWFgtRml4LXBjaWUtY2xvY2stbmFtZS5wYXRjaAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMTEzNzM1 ADAwMDI1NzMAMDAwMDAwMDUwNjcAMTIzNTY2NzcxMzUAMDIxMjc2ACAwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAbW9oaXRrdQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABzd2RldgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZy b20gYWNjMDM2ZmQ3MjdiODY0ZjcxN2M0MzZhMmY3YjNhNTM0ZmUwMDRmNCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogUHJhdHl1c2ggQW5hbmQgPHByYXR5dXNoLmFuYW5kQHN0LmNvbT4K RGF0ZTogTW9uLCAyOSBPY3QgMjAxMiAxMjozMToyMCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggMS85 XSBjbGs6IFNQRUFyMTNYWDogRml4IHBjaWUgY2xvY2sgbmFtZQpDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9InV0Zi04IgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpG b2xsb3cgZHQgY2xvY2sgbmFtaW5nIGNvbnZlbnRpb24gZm9yIFBDSWUgY2xvY2tzLgoKU2lnbmVk LW9mZi1ieTogUHJhdHl1c2ggQW5hbmQgPHByYXR5dXNoLmFuYW5kQHN0LmNvbT4KQWNrZWQtYnk6 IFZpcmVzaCBLdW1hciA8dmlyZXNoLmt1bWFyQGxpbmFyby5vcmc+CkNjOiBNb2hpdCBLdW1hciA8 bW9oaXQua3VtYXJAc3QuY29tPgpDYzogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KQ2M6 IHNwZWFyLWRldmVsQGxpc3Quc3QuY29tCkNjOiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKLS0tCiBkcml2ZXJzL2Nsay9zcGVhci9zcGVhcjEzMTBfY2xvY2suYyB8ICAgIDYg KysrLS0tCiBkcml2ZXJzL2Nsay9zcGVhci9zcGVhcjEzNDBfY2xvY2suYyB8ICAgIDIgKy0KIDIg ZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvY2xrL3NwZWFyL3NwZWFyMTMxMF9jbG9jay5jIGIvZHJpdmVycy9jbGsvc3Bl YXIvc3BlYXIxMzEwX2Nsb2NrLmMKaW5kZXggNjU4OTRmNy4uNGRhYTU5NyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9jbGsvc3BlYXIvc3BlYXIxMzEwX2Nsb2NrLmMKKysrIGIvZHJpdmVycy9jbGsvc3Bl YXIvc3BlYXIxMzEwX2Nsb2NrLmMKQEAgLTc0MiwxOSArNzQyLDE5IEBAIHZvaWQgX19pbml0IHNw ZWFyMTMxMF9jbGtfaW5pdCh2b2lkIF9faW9tZW0gKm1pc2NfYmFzZSwgdm9pZCBfX2lvbWVtICpy YXNfYmFzZSkKIAljbGsgPSBjbGtfcmVnaXN0ZXJfZ2F0ZShOVUxMLCAicGNpZV9zYXRhXzBfY2xr IiwgImFoYl9jbGsiLCAwLAogCQkJU1BFQVIxMzEwX1BFUklQMV9DTEtfRU5CLCBTUEVBUjEzMTBf UENJRV9TQVRBXzBfQ0xLX0VOQiwKIAkJCTAsICZfbG9jayk7Ci0JY2xrX3JlZ2lzdGVyX2Nsa2Rl dihjbGssIE5VTEwsICJkd19wY2llLjAiKTsKKwljbGtfcmVnaXN0ZXJfY2xrZGV2KGNsaywgTlVM TCwgImIxMDAwMDAwLnBjaWUiKTsKIAljbGtfcmVnaXN0ZXJfY2xrZGV2KGNsaywgTlVMTCwgImIx MDAwMDAwLmFoY2kiKTsKIAogCWNsayA9IGNsa19yZWdpc3Rlcl9nYXRlKE5VTEwsICJwY2llX3Nh dGFfMV9jbGsiLCAiYWhiX2NsayIsIDAsCiAJCQlTUEVBUjEzMTBfUEVSSVAxX0NMS19FTkIsIFNQ RUFSMTMxMF9QQ0lFX1NBVEFfMV9DTEtfRU5CLAogCQkJMCwgJl9sb2NrKTsKLQljbGtfcmVnaXN0 ZXJfY2xrZGV2KGNsaywgTlVMTCwgImR3X3BjaWUuMSIpOworCWNsa19yZWdpc3Rlcl9jbGtkZXYo Y2xrLCBOVUxMLCAiYjE4MDAwMDAucGNpZSIpOwogCWNsa19yZWdpc3Rlcl9jbGtkZXYoY2xrLCBO VUxMLCAiYjE4MDAwMDAuYWhjaSIpOwogCiAJY2xrID0gY2xrX3JlZ2lzdGVyX2dhdGUoTlVMTCwg InBjaWVfc2F0YV8yX2NsayIsICJhaGJfY2xrIiwgMCwKIAkJCVNQRUFSMTMxMF9QRVJJUDFfQ0xL X0VOQiwgU1BFQVIxMzEwX1BDSUVfU0FUQV8yX0NMS19FTkIsCiAJCQkwLCAmX2xvY2spOwotCWNs a19yZWdpc3Rlcl9jbGtkZXYoY2xrLCBOVUxMLCAiZHdfcGNpZS4yIik7CisJY2xrX3JlZ2lzdGVy X2Nsa2RldihjbGssIE5VTEwsICJiNDAwMDAwMC5wY2llIik7CiAJY2xrX3JlZ2lzdGVyX2Nsa2Rl dihjbGssIE5VTEwsICJiNDAwMDAwMC5haGNpIik7CiAKIAljbGsgPSBjbGtfcmVnaXN0ZXJfZ2F0 ZShOVUxMLCAic3lzcmFtMF9jbGsiLCAiYWhiX2NsayIsIDAsCmRpZmYgLS1naXQgYS9kcml2ZXJz L2Nsay9zcGVhci9zcGVhcjEzNDBfY2xvY2suYyBiL2RyaXZlcnMvY2xrL3NwZWFyL3NwZWFyMTM0 MF9jbG9jay5jCmluZGV4IGZlODM1YzEuLjVhNWM2NjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2xr L3NwZWFyL3NwZWFyMTM0MF9jbG9jay5jCisrKyBiL2RyaXZlcnMvY2xrL3NwZWFyL3NwZWFyMTM0 MF9jbG9jay5jCkBAIC04MzksNyArODM5LDcgQEAgdm9pZCBfX2luaXQgc3BlYXIxMzQwX2Nsa19p bml0KHZvaWQgX19pb21lbSAqbWlzY19iYXNlKQogCWNsayA9IGNsa19yZWdpc3Rlcl9nYXRlKE5V TEwsICJwY2llX3NhdGFfY2xrIiwgImFoYl9jbGsiLCAwLAogCQkJU1BFQVIxMzQwX1BFUklQMV9D TEtfRU5CLCBTUEVBUjEzNDBfUENJRV9TQVRBX0NMS19FTkIsCiAJCQkwLCAmX2xvY2spOwotCWNs a19yZWdpc3Rlcl9jbGtkZXYoY2xrLCBOVUxMLCAiZHdfcGNpZSIpOworCWNsa19yZWdpc3Rlcl9j bGtkZXYoY2xrLCBOVUxMLCAiYjEwMDAwMDAucGNpZSIpOwogCWNsa19yZWdpc3Rlcl9jbGtkZXYo Y2xrLCBOVUxMLCAiYjEwMDAwMDAuYWhjaSIpOwogCiAJY2xrID0gY2xrX3JlZ2lzdGVyX2dhdGUo TlVMTCwgInN5c3JhbTBfY2xrIiwgImFoYl9jbGsiLCAwLAotLSAKMS43LjAuMQoKAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHY4LTMuMTYt cmMzLzAwMDItU1BFQXIxM1hYLUZpeC1zdGF0aWMtbWFwcGluZy10YWJsZS5wYXRjaAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAxMTM3MzUAMDAwMjU3 MwAwMDAwMDAwNDAzNQAxMjM1NjY3NzEzNQAwMjE2MDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABtb2hpdGt1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHN3ZGV2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARnJvbSBhMTYx NjBiZDJkZjVmNWY5MmE0ZjkyODYxNTU5YzBmMWU2YzIxMjJiIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBQcmF0eXVzaCBBbmFuZCA8cHJhdHl1c2guYW5hbmRAc3QuY29tPgpEYXRlOiBG cmksIDI5IE5vdiAyMDEzIDE1OjU3OjM1ICswNTMwClN1YmplY3Q6IFtQQVRDSCAyLzldIFNQRUFy MTNYWDogRml4IHN0YXRpYyBtYXBwaW5nIHRhYmxlCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD0idXRmLTgiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClNQRUFyMTNY WCB3YXMgdXNpbmcgdmlydHVhbCBhZGRyZXNzIHNwYWNlIDB4RkUwMDAwMDAgdG8gbWFwIHBoeXNp Y2FsIGFkZHJlc3MKc3BhY2UgMHhCMzAwMDAwMC4gcGNpX3JlbWFwX2lvIHVzZXMgMHhGRUUwMDAw MCBhcyB2aXJ0dWFsIGFkZHJlc3MuIFNvCmNoYW5nZSAweEZFMDAwMDAwIHRvIDB4RjkwMDAwMDAu CgpTaWduZWQtb2ZmLWJ5OiBQcmF0eXVzaCBBbmFuZCA8cHJhdHl1c2guYW5hbmRAc3QuY29tPgpT aWduZWQtb2ZmLWJ5OiBNb2hpdCBLdW1hciA8bW9oaXQua3VtYXJAc3QuY29tPgpBY2tlZC1ieTog VmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9yZz4KQWNrZWQtYnk6IEFybmQgQmVy Z21hbm4gPGFybmRAYXJuZGIuZGU+CkNjOiBzcGVhci1kZXZlbEBsaXN0LnN0LmNvbQpDYzogc3Rh YmxlQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCi0tLQogYXJjaC9hcm0vbWFjaC1zcGVhci9pbmNsdWRlL21hY2gvc3BlYXIuaCB8ICAgIDQg KystLQogYXJjaC9hcm0vbWFjaC1zcGVhci9zcGVhcjEzeHguYyAgICAgICAgICB8ICAgIDIgKy0K IDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2FyY2gvYXJtL21hY2gtc3BlYXIvaW5jbHVkZS9tYWNoL3NwZWFyLmggYi9hcmNoL2Fy bS9tYWNoLXNwZWFyL2luY2x1ZGUvbWFjaC9zcGVhci5oCmluZGV4IDVjZGM1M2QuLmYyZDZhMDEg MTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtc3BlYXIvaW5jbHVkZS9tYWNoL3NwZWFyLmgKKysr IGIvYXJjaC9hcm0vbWFjaC1zcGVhci9pbmNsdWRlL21hY2gvc3BlYXIuaApAQCAtNTIsMTAgKzUy LDEwIEBACiAjaWZkZWYgQ09ORklHX0FSQ0hfU1BFQVIxM1hYCiAKICNkZWZpbmUgUEVSSVBfR1JQ Ml9CQVNFCQkJCVVMKDB4QjMwMDAwMDApCi0jZGVmaW5lIFZBX1BFUklQX0dSUDJfQkFTRQkJCUlP TUVNKDB4RkUwMDAwMDApCisjZGVmaW5lIFZBX1BFUklQX0dSUDJfQkFTRQkJCUlPTUVNKDB4Rjkw MDAwMDApCiAjZGVmaW5lIE1DSUZfU0RIQ0lfQkFTRQkJCQlVTCgweEIzMDAwMDAwKQogI2RlZmlu ZSBTWVNSQU0wX0JBU0UJCQkJVUwoMHhCMzgwMDAwMCkKLSNkZWZpbmUgVkFfU1lTUkFNMF9CQVNF CQkJCUlPTUVNKDB4RkU4MDAwMDApCisjZGVmaW5lIFZBX1NZU1JBTTBfQkFTRQkJCQlJT01FTSgw eEY5ODAwMDAwKQogI2RlZmluZSBTWVNfTE9DQVRJT04JCQkJKFZBX1NZU1JBTTBfQkFTRSArIDB4 NjAwKQogCiAjZGVmaW5lIFBFUklQX0dSUDFfQkFTRQkJCQlVTCgweEUwMDAwMDAwKQpkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vbWFjaC1zcGVhci9zcGVhcjEzeHguYyBiL2FyY2gvYXJtL21hY2gtc3Bl YXIvc3BlYXIxM3h4LmMKaW5kZXggYzk4OTdlYS4uNTNhNzYxNCAxMDA2NDQKLS0tIGEvYXJjaC9h cm0vbWFjaC1zcGVhci9zcGVhcjEzeHguYworKysgYi9hcmNoL2FybS9tYWNoLXNwZWFyL3NwZWFy MTN4eC5jCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQgX19pbml0IHNwZWFyMTN4eF9sMngwX2luaXQo dm9pZCkKIC8qCiAgKiBGb2xsb3dpbmcgd2lsbCBjcmVhdGUgMTZNQiBzdGF0aWMgdmlydHVhbC9w aHlzaWNhbCBtYXBwaW5ncwogICogUEhZU0lDQUwJCVZJUlRVQUwKLSAqIDB4QjMwMDAwMDAJCTB4 RkUwMDAwMDAKKyAqIDB4QjMwMDAwMDAJCTB4RjkwMDAwMDAKICAqIDB4RTAwMDAwMDAJCTB4RkQw MDAwMDAKICAqIDB4RUMwMDAwMDAJCTB4RkMwMDAwMDAKICAqIDB4RUQwMDAwMDAJCTB4RkIwMDAw MDAKLS0gCjEuNy4wLjEKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHY4LTMuMTYtcmMzLzAw MDMtcGh5LVNQRUFyMTMxMC00MC1taXBoeS1BZGQtYmluZGluZy1pbmZvcm1hdGlvbi5wYXRjaAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAxMTM3MzUAMDAwMjU3MwAwMDAw MDAwNDcyMAAxMjM1NjY3NzEzNgAwMjM1MjEAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABtb2hpdGt1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHN3 ZGV2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARnJvbSBjYjY1YmJlZWZk MTI0ZTI0ZTBhMmZhZDI2MjYxY2Q3N2RjYzllMDQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBQcmF0eXVzaCBBbmFuZCA8cHJhdHl1c2guYW5hbmRAc3QuY29tPgpEYXRlOiBUdWUsIDEx IEZlYiAyMDE0IDExOjUzOjA2ICswNTMwClN1YmplY3Q6IFtQQVRDSCAzLzldIHBoeTogU1BFQXIx MzEwLzQwLW1pcGh5OiBBZGQgYmluZGluZyBpbmZvcm1hdGlvbgpDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9InV0Zi04IgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpT UEVBcjEzMTAvNDAgdXNlcyBtaXBoeSBmb3IgUENJZSwgU0FUQS4gVGhpcyBwYXRjaCBhZGRzIGRv Y3VtZW50YXRpb24KZm9yIHRoZSBiaW5kaW5nIG9uIHRoZSB0b3Agb2YgZ2VuZXJpYyBwaHkgYmlu ZGluZ3MuCgpTaWduZWQtb2ZmLWJ5OiBQcmF0eXVzaCBBbmFuZCA8cHJhdHl1c2guYW5hbmRAc3Qu Y29tPgpBY2tlZC1ieTogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KQ2M6IE1vaGl0IEt1 bWFyIDxtb2hpdC5rdW1hckBzdC5jb20+CkNjOiBWaXJlc2ggS3VtYXIgPHZpcmVzaC5saW51eEBn bWFpbC5jb20+CkNjOiBLaXNob24gVmlqYXkgQWJyYWhhbSBJIDxraXNob25AdGkuY29tPgpDYzog c3BlYXItZGV2ZWxAbGlzdC5zdC5jb20KQ2M6IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnCi0t LQogLi4uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L3N0LXNwZWFyMTMxMC1taXBoeS50eHQgfCAg IDEyICsrKysrKysrKysrKwogLi4uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L3N0LXNwZWFyMTM0 MC1taXBoeS50eHQgfCAgIDExICsrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2Vy dGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9zdC1zcGVhcjEzMTAtbWlwaHkudHh0CiBjcmVhdGUg bW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BoeS9zdC1zcGVh cjEzNDAtbWlwaHkudHh0CgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3BoeS9zdC1zcGVhcjEzMTAtbWlwaHkudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL3BoeS9zdC1zcGVhcjEzMTAtbWlwaHkudHh0Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmI5YjI4MWEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L3N0LXNwZWFyMTMxMC1taXBoeS50eHQKQEAgLTAs MCArMSwxMiBAQAorU1QgU1BFQXIxMzEwLW1pcGh5IERUIGRldGFpbAorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKworU1BFQXIxMzEwLW1pcGh5IGlzIGEgcGh5IGNvbnRyb2xs ZXIgc3VwcG9ydGluZyBQQ0llIGFuZCBTQVRBLgorCitSZXF1aXJlZCBwcm9wZXJ0aWVzOgorLSBj b21wYXRpYmxlIDogc2hvdWxkIGJlICJzdCxzcGVhcjEzMTAtbWlwaHkiCistIHJlZyA6IG9mZnNl dCBhbmQgbGVuZ3RoIG9mIHRoZSBQSFkgcmVnaXN0ZXIgc2V0LgorLSBtaXNjOiBwaGFuZGxlIGZv ciB0aGUgc3lzY29uIG5vZGUgdG8gYWNjZXNzIG1pc2MgcmVnaXN0ZXJzCistIHBoeS1pZDogSW5z dGFuY2UgaWQgb2YgdGhlIHBoeS4KKy0gI3BoeS1jZWxscyA6IGZyb20gdGhlIGdlbmVyaWMgUEhZ IGJpbmRpbmdzLCBtdXN0IGJlIDEuCisJLSBjZWxsWzFdOiAwIGlmIHBoeSB1c2VkIGZvciBTQVRB LCAxIGZvciBQQ0llLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL3BoeS9zdC1zcGVhcjEzNDAtbWlwaHkudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL3BoeS9zdC1zcGVhcjEzNDAtbWlwaHkudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjdlYjUzMzUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvcGh5L3N0LXNwZWFyMTM0MC1taXBoeS50eHQKQEAgLTAsMCAr MSwxMSBAQAorU1QgU1BFQXIxMzQwLW1pcGh5IERUIGRldGFpbAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKworU1BFQXIxMzQwLW1pcGh5IGlzIGEgcGh5IGNvbnRyb2xsZXIg c3VwcG9ydGluZyBQQ0llIGFuZCBTQVRBLgorCitSZXF1aXJlZCBwcm9wZXJ0aWVzOgorLSBjb21w YXRpYmxlIDogc2hvdWxkIGJlICJzdCxzcGVhcjEzNDAtbWlwaHkiCistIHJlZyA6IG9mZnNldCBh bmQgbGVuZ3RoIG9mIHRoZSBQSFkgcmVnaXN0ZXIgc2V0LgorLSBtaXNjOiBwaGFuZGxlIGZvciB0 aGUgc3lzY29uIG5vZGUgdG8gYWNjZXNzIG1pc2MgcmVnaXN0ZXJzCistICNwaHktY2VsbHMgOiBm cm9tIHRoZSBnZW5lcmljIFBIWSBiaW5kaW5ncywgbXVzdCBiZSAxLgorCS0gY2VsbFsxXTogMCBp ZiBwaHkgdXNlZCBmb3IgU0FUQSwgMSBmb3IgUENJZS4KLS0gCjEuNy4wLjEKCgAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHY4LTMuMTYtcmMzLzAwMDQtU1BF QXItbWlzYy1BZGQtYmluZGluZy1pbmZvcm1hdGlvbi5wYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAxMTM3MzUAMDAwMjU3MwAwMDAwMDAwMjYy MgAxMjM1NjY3NzEzNgAwMjIwMDIAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAdXN0YXIgIABtb2hpdGt1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHN3ZGV2AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARnJvbSA1NGI0MjUyYjQ4MTQ2Nzcx ZGYyNTcwYjJjM2IyYzZjOGJlNTI5NzE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQ cmF0eXVzaCBBbmFuZCA8cHJhdHl1c2guYW5hbmRAc3QuY29tPgpEYXRlOiBUdWUsIDExIEZlYiAy MDE0IDEyOjEwOjQ3ICswNTMwClN1YmplY3Q6IFtQQVRDSCA0LzldIFNQRUFyOiBtaXNjOiBBZGQg YmluZGluZyBpbmZvcm1hdGlvbgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9InV0 Zi04IgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpTUEVBciBTT0NzIGhhdmUgc29t ZSBtaXNjZWxsYW5lb3VzIHJlZ2lzdGVycyB3aGljaCBhcmUgdXNlZCB0byBjb25maWd1cmUKZmV3 IHByb3BlcnRpZXMgb2YgZGlmZmVyZW50IHBlcmlwaGVyYWwgY29udHJvbGxlcnMuCgpTaWduZWQt b2ZmLWJ5OiBQcmF0eXVzaCBBbmFuZCA8cHJhdHl1c2guYW5hbmRAc3QuY29tPgpBY2tlZC1ieTog QXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KQ2M6IE1vaGl0IEt1bWFyIDxtb2hpdC5rdW1h ckBzdC5jb20+CkNjOiBWaXJlc2ggS3VtYXIgPHZpcmVzaC5saW51eEBnbWFpbC5jb20+CkNjOiBz cGVhci1kZXZlbEBsaXN0LnN0LmNvbQpDYzogZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmcKLS0t CiAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vc3BlYXItbWlzYy50eHQgICAgICAgICB8ICAg IDkgKysrKysrKysrCiAxIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvYXJtL3NwZWFyLW1pc2MudHh0CgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2FybS9zcGVhci1taXNjLnR4dCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9hcm0vc3BlYXItbWlzYy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uY2Y2NDk4MgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9hcm0vc3BlYXItbWlzYy50eHQKQEAgLTAsMCArMSw5IEBACitTUEVBciBN aXNjIGNvbmZpZ3VyYXRpb24KKz09PT09PT09PT09PT09PT09PT09PT09PT09PQorU1BFQXIgU09D cyBoYXZlIHNvbWUgbWlzY2VsbGFuZW91cyByZWdpc3RlcnMgd2hpY2ggYXJlIHVzZWQgdG8gY29u ZmlndXJlCitmZXcgcHJvcGVydGllcyBvZiBkaWZmZXJlbnQgcGVyaXBoZXJhbCBjb250cm9sbGVy cy4KKworbWlzYyBub2RlIHJlcXVpcmVkIHByb3BlcnRpZXM6CisKKy0gY29tcGF0aWJsZSBTaG91 bGQgYmUJInN0LHNwZWFyMTM0MC1taXNjIiwgInN5c2NvbiIuCistIHJlZzogQWRkcmVzcyByYW5n ZSBvZiBtaXNjIHNwYWNlIHVwdG8gOEsKLS0gCjEuNy4wLjEKCgAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdjgtMy4xNi1yYzMvMDAwNS1waHktU1BF QXIxMzEwLTQwLW1pcGh5LUFkZC1waHktZHJpdmVyLWZvci1QQ0llLWFuZC1TLnBhdGNoAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDExMzczNQAwMDAyNTczADAwMDAwMDcwNTAwADEy MzU2Njc3MTM2ADAyNDE2MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAB1c3RhciAgAG1vaGl0a3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc3dkZXYAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGcm9tIDMxOWQxZjQxZWU2MzgyOTQ3Yjlj NjA0ZWVhNzRmNDMzYWQwNDE2YmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFByYXR5 dXNoIEFuYW5kIDxwcmF0eXVzaC5hbmFuZEBzdC5jb20+CkRhdGU6IE1vbiwgMTQgQXByIDIwMTQg MTU6Mjc6MzYgKzA1MzAKU3ViamVjdDogW1BBVENIIDUvOV0gcGh5OiBTUEVBcjEzMTAvNDAtbWlw aHk6IEFkZCBwaHkgZHJpdmVyIGZvciBQQ0llIGFuZCBTQVRBCkNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD0idXRmLTgiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClNQ RUFyMTMxMC80MCB1c2VzIG1pcGh5IGZvciBQQ0llIGFuZCBTQVRBIHBoeS4gVGhpcyBkcml2ZXIg YWRkcwpzdXBwb3J0IGZvciB0aGUgc2FtZS4KCkFIQ0kgcGh5IGhvb2t1cHMgZnJvbSBhcmNoIHNw ZWNpZmljIGNvZGUgaGFzIGJlZW4gY2xlYW5lZCB1cC4KClNpZ25lZC1vZmYtYnk6IFByYXR5dXNo IEFuYW5kIDxwcmF0eXVzaC5hbmFuZEBzdC5jb20+ClRlc3RlZC1ieTogTW9oaXQgS3VtYXIgPG1v aGl0Lmt1bWFyQHN0LmNvbT4KQWNrZWQtYnk6IEFybmQgQmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+ CkNjOiBWaXJlc2ggS3VtYXIgPHZpcmVzaC5saW51eEBnbWFpbC5jb20+CkNjOiBLaXNob24gVmlq YXkgQWJyYWhhbSBJIDxraXNob25AdGkuY29tPgpDYzogc3BlYXItZGV2ZWxAbGlzdC5zdC5jb20K Q2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcKLS0tCiBhcmNoL2FybS9ib290L2R0cy9z cGVhcjEzMTAtZXZiLmR0cyB8ICAgIDQgKwogYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxMzEwLmR0 c2kgICAgfCAgIDM5ICsrKystCiBhcmNoL2FybS9ib290L2R0cy9zcGVhcjEzNDAtZXZiLmR0cyB8 ICAgIDQgKwogYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxMzQwLmR0c2kgICAgfCAgIDEyICsrLQog YXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxM3h4LmR0c2kgICAgfCAgICA1ICsKIGFyY2gvYXJtL21h Y2gtc3BlYXIvS2NvbmZpZyAgICAgICAgIHwgICAgMyArCiBhcmNoL2FybS9tYWNoLXNwZWFyL3Nw ZWFyMTM0MC5jICAgICB8ICAxMjcgKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9waHkvS2NvbmZp ZyAgICAgICAgICAgICAgICAgfCAgIDEyICsrCiBkcml2ZXJzL3BoeS9NYWtlZmlsZSAgICAgICAg ICAgICAgICB8ICAgIDIgKwogZHJpdmVycy9waHkvcGh5LXNwZWFyMTMxMC1taXBoeS5jICAgfCAg Mjc0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL3BoeS9waHktc3Bl YXIxMzQwLW1pcGh5LmMgICB8ICAzMDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIDExIGZpbGVzIGNoYW5nZWQsIDY1MiBpbnNlcnRpb25zKCspLCAxMzAgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9waHkvcGh5LXNwZWFyMTMxMC1taXBoeS5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9waHkvcGh5LXNwZWFyMTM0MC1taXBoeS5jCgpkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxMzEwLWV2Yi5kdHMgYi9hcmNoL2FybS9i b290L2R0cy9zcGVhcjEzMTAtZXZiLmR0cwppbmRleCBiNTZhODAxLi5kNDJjODRiIDEwMDY0NAot LS0gYS9hcmNoL2FybS9ib290L2R0cy9zcGVhcjEzMTAtZXZiLmR0cworKysgYi9hcmNoL2FybS9i b290L2R0cy9zcGVhcjEzMTAtZXZiLmR0cwpAQCAtMTA2LDYgKzEwNiwxMCBAQAogCQkJc3RhdHVz ID0gIm9rYXkiOwogCQl9OwogCisJCW1pcGh5QGViODAwMDAwIHsKKwkJCXN0YXR1cyA9ICJva2F5 IjsKKwkJfTsKKwogCQljZkBiMjgwMDAwMCB7CiAJCQlzdGF0dXMgPSAib2theSI7CiAJCX07CmRp ZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9zcGVhcjEzMTAuZHRzaSBiL2FyY2gvYXJtL2Jv b3QvZHRzL3NwZWFyMTMxMC5kdHNpCmluZGV4IDEyMmFlOTQuLjY0ZTdkZDUgMTAwNjQ0Ci0tLSBh L2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTMxMC5kdHNpCisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRz L3NwZWFyMTMxMC5kdHNpCkBAIC0yOSwyNCArMjksNTcgQEAKIAkJCSNncGlvLWNlbGxzID0gPDI+ OwogCQl9OwogCi0JCWFoY2lAYjEwMDAwMDAgeworCQltaXBoeTA6IG1pcGh5QGViODAwMDAwIHsK KwkJCWNvbXBhdGlibGUgPSAic3QsbWlwaHkiLCAic3Qsc3BlYXIxMzEwLW1pcGh5IjsKKwkJCXJl ZyA9IDwweGViODAwMDAwIDB4NDAwMD47CisJCQltaXNjID0gPCZtaXNjPjsKKwkJCXBoeS1pZCA9 IDwwPjsKKwkJCSNwaHktY2VsbHMgPSA8MT47CisJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9 OworCisJCW1pcGh5MTogbWlwaHlAZWI4MDQwMDAgeworCQkJY29tcGF0aWJsZSA9ICJzdCxtaXBo eSIsICJzdCxzcGVhcjEzMTAtbWlwaHkiOworCQkJcmVnID0gPDB4ZWI4MDQwMDAgMHg0MDAwPjsK KwkJCW1pc2MgPSA8Jm1pc2M+OworCQkJcGh5LWlkID0gPDE+OworCQkJI3BoeS1jZWxscyA9IDwx PjsKKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJCX07CisKKwkJbWlwaHkyOiBtaXBoeUBlYjgw ODAwMCB7CisJCQljb21wYXRpYmxlID0gInN0LG1pcGh5IiwgInN0LHNwZWFyMTMxMC1taXBoeSI7 CisJCQlyZWcgPSA8MHhlYjgwODAwMCAweDQwMDA+OworCQkJbWlzYyA9IDwmbWlzYz47CisJCQlw aHktaWQgPSA8Mj47CisJCQkjcGh5LWNlbGxzID0gPDE+OworCQkJc3RhdHVzID0gImRpc2FibGVk IjsKKwkJfTsKKworCQlhaGNpMDogYWhjaUBiMTAwMDAwMCB7CiAJCQljb21wYXRpYmxlID0gInNu cHMsc3BlYXItYWhjaSI7CiAJCQlyZWcgPSA8MHhiMTAwMDAwMCAweDEwMDAwPjsKIAkJCWludGVy cnVwdHMgPSA8MCA2OCAweDQ+OworCQkJcGh5cyA9IDwmbWlwaHkwIDA+OworCQkJcGh5LW5hbWVz ID0gInNhdGEtcGh5IjsKIAkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CiAJCX07CiAKLQkJYWhjaUBi MTgwMDAwMCB7CisJCWFoY2kxOiBhaGNpQGIxODAwMDAwIHsKIAkJCWNvbXBhdGlibGUgPSAic25w cyxzcGVhci1haGNpIjsKIAkJCXJlZyA9IDwweGIxODAwMDAwIDB4MTAwMDA+OwogCQkJaW50ZXJy dXB0cyA9IDwwIDY5IDB4ND47CisJCQlwaHlzID0gPCZtaXBoeTEgMD47CisJCQlwaHktbmFtZXMg PSAic2F0YS1waHkiOwogCQkJc3RhdHVzID0gImRpc2FibGVkIjsKIAkJfTsKIAotCQlhaGNpQGI0 MDAwMDAwIHsKKwkJYWhjaTI6IGFoY2lAYjQwMDAwMDAgewogCQkJY29tcGF0aWJsZSA9ICJzbnBz LHNwZWFyLWFoY2kiOwogCQkJcmVnID0gPDB4YjQwMDAwMDAgMHgxMDAwMD47CiAJCQlpbnRlcnJ1 cHRzID0gPDAgNzAgMHg0PjsKKwkJCXBoeXMgPSA8Jm1pcGh5MiAwPjsKKwkJCXBoeS1uYW1lcyA9 ICJzYXRhLXBoeSI7CiAJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwogCQl9OwogCmRpZmYgLS1naXQg YS9hcmNoL2FybS9ib290L2R0cy9zcGVhcjEzNDAtZXZiLmR0cyBiL2FyY2gvYXJtL2Jvb3QvZHRz L3NwZWFyMTM0MC1ldmIuZHRzCmluZGV4IGQ2YzMwYWUuLmIyM2UwNWUgMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTM0MC1ldmIuZHRzCisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRz L3NwZWFyMTM0MC1ldmIuZHRzCkBAIC0xMjIsNiArMTIyLDEwIEBACiAJCQlzdGF0dXMgPSAib2th eSI7CiAJCX07CiAKKwkJbWlwaHlAZWI4MDAwMDAgeworCQkJc3RhdHVzID0gIm9rYXkiOworCQl9 OworCiAJCWRtYUBlYTgwMDAwMCB7CiAJCQlzdGF0dXMgPSAib2theSI7CiAJCX07CmRpZmYgLS1n aXQgYS9hcmNoL2FybS9ib290L2R0cy9zcGVhcjEzNDAuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRz L3NwZWFyMTM0MC5kdHNpCmluZGV4IDU0ZDEyOGQuLmI4YjMyYzcgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtL2Jvb3QvZHRzL3NwZWFyMTM0MC5kdHNpCisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFy MTM0MC5kdHNpCkBAIC0zMSwxMCArMzEsMjAgQEAKIAkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CiAJ CX07CiAKLQkJYWhjaUBiMTAwMDAwMCB7CisJCW1pcGh5MDogbWlwaHlAZWI4MDAwMDAgeworCQkJ Y29tcGF0aWJsZSA9ICJzdCxtaXBoeSIsICJzdCxzcGVhcjEzNDAtbWlwaHkiOworCQkJcmVnID0g PDB4ZWI4MDAwMDAgMHg0MDAwPjsKKwkJCW1pc2MgPSA8Jm1pc2M+OworCQkJI3BoeS1jZWxscyA9 IDwxPjsKKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJCX07CisKKwkJYWhjaTA6IGFoY2lAYjEw MDAwMDAgewogCQkJY29tcGF0aWJsZSA9ICJzbnBzLHNwZWFyLWFoY2kiOwogCQkJcmVnID0gPDB4 YjEwMDAwMDAgMHgxMDAwMD47CiAJCQlpbnRlcnJ1cHRzID0gPDAgNzIgMHg0PjsKKwkJCXBoeXMg PSA8Jm1pcGh5MCAwPjsKKwkJCXBoeS1uYW1lcyA9ICJzYXRhLXBoeSI7CiAJCQlzdGF0dXMgPSAi ZGlzYWJsZWQiOwogCQl9OwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9zcGVhcjEz eHguZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTN4eC5kdHNpCmluZGV4IDQzODI1NDcu LjNhNzI1MDggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTN4eC5kdHNpCisr KyBiL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTN4eC5kdHNpCkBAIC0yMjAsNiArMjIwLDExIEBA CiAJCQkJICAweGQ4MDAwMDAwIDB4ZDgwMDAwMDAgMHgwMTAwMDAwMAogCQkJCSAgMHhlMDAwMDAw MCAweGUwMDAwMDAwIDB4MTAwMDAwMDA+OwogCisJCQltaXNjOiBzeXNjb25AZTA3MDAwMDAgewor CQkJCWNvbXBhdGlibGUgPSAic3Qsc3BlYXIxMzQwLW1pc2MiLCAic3lzY29uIjsKKwkJCQlyZWcg PSA8MHhlMDcwMDAwMCAweDEwMDA+OworCQkJfTsKKwogCQkJZ3BpbzA6IGdwaW9AZTA2MDAwMDAg ewogCQkJCWNvbXBhdGlibGUgPSAiYXJtLHBsMDYxIiwgImFybSxwcmltZWNlbGwiOwogCQkJCXJl ZyA9IDwweGUwNjAwMDAwIDB4MTAwMD47CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXNwZWFy L0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXNwZWFyL0tjb25maWcKaW5kZXggOTBkZjIwMi4uYjVh OGQ5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zcGVhci9LY29uZmlnCisrKyBiL2FyY2gv YXJtL21hY2gtc3BlYXIvS2NvbmZpZwpAQCAtMTksNiArMTksNyBAQCBjb25maWcgQVJDSF9TUEVB UjEzWFgKIAlzZWxlY3QgSEFWRV9BUk1fU0NVIGlmIFNNUAogCXNlbGVjdCBIQVZFX0FSTV9UV0Qg aWYgU01QCiAJc2VsZWN0IFBJTkNUUkwKKwlzZWxlY3QgTUZEX1NZU0NPTgogCWhlbHAKIAkgIFN1 cHBvcnRzIGZvciBBUk0ncyBTUEVBUjEzWFggZmFtaWx5CiAKQEAgLTI3LDEyICsyOCwxNCBAQCBp ZiBBUkNIX1NQRUFSMTNYWAogY29uZmlnIE1BQ0hfU1BFQVIxMzEwCiAJYm9vbCAiU1BFQXIxMzEw IE1hY2hpbmUgc3VwcG9ydCB3aXRoIERldmljZSBUcmVlIgogCXNlbGVjdCBQSU5DVFJMX1NQRUFS MTMxMAorCXNlbGVjdCBQSFlfU1RfU1BFQVIxMzEwX01JUEhZCiAJaGVscAogCSAgU3VwcG9ydHMg U1QgU1BFQXIxMzEwIG1hY2hpbmUgY29uZmlndXJlZCB2aWEgdGhlIGRldmljZS10cmVlCiAKIGNv bmZpZyBNQUNIX1NQRUFSMTM0MAogCWJvb2wgIlNQRUFyMTM0MCBNYWNoaW5lIHN1cHBvcnQgd2l0 aCBEZXZpY2UgVHJlZSIKIAlzZWxlY3QgUElOQ1RSTF9TUEVBUjEzNDAKKwlzZWxlY3QgUEhZX1NU X1NQRUFSMTM0MF9NSVBIWQogCWhlbHAKIAkgIFN1cHBvcnRzIFNUIFNQRUFyMTM0MCBtYWNoaW5l IGNvbmZpZ3VyZWQgdmlhIHRoZSBkZXZpY2UtdHJlZQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9t YWNoLXNwZWFyL3NwZWFyMTM0MC5jIGIvYXJjaC9hcm0vbWFjaC1zcGVhci9zcGVhcjEzNDAuYwpp bmRleCA3YjZiZmY3Li41ZjA2MTY2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXNwZWFyL3Nw ZWFyMTM0MC5jCisrKyBiL2FyY2gvYXJtL21hY2gtc3BlYXIvc3BlYXIxMzQwLmMKQEAgLTExLDEz OCArMTEsMTMgQEAKICAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3Ig aW1wbGllZC4KICAqLwogCi0jZGVmaW5lIHByX2ZtdChmbXQpICJTUEVBcjEzNDA6ICIgZm10Ci0K LSNpbmNsdWRlIDxsaW51eC9haGNpX3BsYXRmb3JtLmg+Ci0jaW5jbHVkZSA8bGludXgvYW1iYS9z ZXJpYWwuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L29mX3Bs YXRmb3JtLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgogI2luY2x1ZGUgImdlbmVyaWMu aCIKLSNpbmNsdWRlIDxtYWNoL3NwZWFyLmg+Ci0KLS8qIEZJWE1FOiBNb3ZlIFNBVEEgUEhZIGNv ZGUgaW50byBhIHN0YW5kYWxvbmUgZHJpdmVyICovCi0KLS8qIEJhc2UgYWRkcmVzc2VzICovCi0j ZGVmaW5lIFNQRUFSMTM0MF9TQVRBX0JBU0UJCQlVTCgweEIxMDAwMDAwKQotCi0vKiBQb3dlciBN YW5hZ2VtZW50IFJlZ2lzdGVycyAqLwotI2RlZmluZSBTUEVBUjEzNDBfUENNX0NGRwkJCShWQV9N SVNDX0JBU0UgKyAweDEwMCkKLSNkZWZpbmUgU1BFQVIxMzQwX1BDTV9XS1VQX0NGRwkJCShWQV9N SVNDX0JBU0UgKyAweDEwNCkKLSNkZWZpbmUgU1BFQVIxMzQwX1NXSVRDSF9DVFIJCQkoVkFfTUlT Q19CQVNFICsgMHgxMDgpCi0KLSNkZWZpbmUgU1BFQVIxMzQwX1BFUklQMV9TV19SU1QJCQkoVkFf TUlTQ19CQVNFICsgMHgzMTgpCi0jZGVmaW5lIFNQRUFSMTM0MF9QRVJJUDJfU1dfUlNUCQkJKFZB X01JU0NfQkFTRSArIDB4MzFDKQotI2RlZmluZSBTUEVBUjEzNDBfUEVSSVAzX1NXX1JTVAkJCShW QV9NSVNDX0JBU0UgKyAweDMyMCkKLQotLyogUENJRSAtIFNBVEEgY29uZmlndXJhdGlvbiByZWdp c3RlcnMgKi8KLSNkZWZpbmUgU1BFQVIxMzQwX1BDSUVfU0FUQV9DRkcJCQkoVkFfTUlTQ19CQVNF ICsgMHg0MjQpCi0JLyogUENJRSBDRkcgTUFTa3MgKi8KLQkjZGVmaW5lIFNQRUFSMTM0MF9QQ0lF X0NGR19ERVZJQ0VfUFJFU0VOVAkoMSA8PCAxMSkKLQkjZGVmaW5lIFNQRUFSMTM0MF9QQ0lFX0NG R19QT1dFUlVQX1JFU0VUCSgxIDw8IDEwKQotCSNkZWZpbmUgU1BFQVIxMzQwX1BDSUVfQ0ZHX0NP UkVfQ0xLX0VOCQkoMSA8PCA5KQotCSNkZWZpbmUgU1BFQVIxMzQwX1BDSUVfQ0ZHX0FVWF9DTEtf RU4JCSgxIDw8IDgpCi0JI2RlZmluZSBTUEVBUjEzNDBfU0FUQV9DRkdfVFhfQ0xLX0VOCQkoMSA8 PCA0KQotCSNkZWZpbmUgU1BFQVIxMzQwX1NBVEFfQ0ZHX1JYX0NMS19FTgkJKDEgPDwgMykKLQkj ZGVmaW5lIFNQRUFSMTM0MF9TQVRBX0NGR19QT1dFUlVQX1JFU0VUCSgxIDw8IDIpCi0JI2RlZmlu ZSBTUEVBUjEzNDBfU0FUQV9DRkdfUE1fQ0xLX0VOCQkoMSA8PCAxKQotCSNkZWZpbmUgU1BFQVIx MzQwX1BDSUVfU0FUQV9TRUxfUENJRQkJKDApCi0JI2RlZmluZSBTUEVBUjEzNDBfUENJRV9TQVRB X1NFTF9TQVRBCQkoMSkKLQkjZGVmaW5lIFNQRUFSMTM0MF9TQVRBX1BDSUVfQ0ZHX01BU0sJCTB4 RjFGCi0JI2RlZmluZSBTUEVBUjEzNDBfUENJRV9DRkdfVkFMCShTUEVBUjEzNDBfUENJRV9TQVRB X1NFTF9QQ0lFIHwgXAotCQkJU1BFQVIxMzQwX1BDSUVfQ0ZHX0FVWF9DTEtfRU4gfCBcCi0JCQlT UEVBUjEzNDBfUENJRV9DRkdfQ09SRV9DTEtfRU4gfCBcCi0JCQlTUEVBUjEzNDBfUENJRV9DRkdf UE9XRVJVUF9SRVNFVCB8IFwKLQkJCVNQRUFSMTM0MF9QQ0lFX0NGR19ERVZJQ0VfUFJFU0VOVCkK LQkjZGVmaW5lIFNQRUFSMTM0MF9TQVRBX0NGR19WQUwJKFNQRUFSMTM0MF9QQ0lFX1NBVEFfU0VM X1NBVEEgfCBcCi0JCQlTUEVBUjEzNDBfU0FUQV9DRkdfUE1fQ0xLX0VOIHwgXAotCQkJU1BFQVIx MzQwX1NBVEFfQ0ZHX1BPV0VSVVBfUkVTRVQgfCBcCi0JCQlTUEVBUjEzNDBfU0FUQV9DRkdfUlhf Q0xLX0VOIHwgXAotCQkJU1BFQVIxMzQwX1NBVEFfQ0ZHX1RYX0NMS19FTikKLQotI2RlZmluZSBT UEVBUjEzNDBfUENJRV9NSVBIWV9DRkcJCShWQV9NSVNDX0JBU0UgKyAweDQyOCkKLQkjZGVmaW5l IFNQRUFSMTM0MF9NSVBIWV9PU0NfQllQQVNTX0VYVAkJKDEgPDwgMzEpCi0JI2RlZmluZSBTUEVB UjEzNDBfTUlQSFlfQ0xLX1JFRl9ESVYyCQkoMSA8PCAyNykKLQkjZGVmaW5lIFNQRUFSMTM0MF9N SVBIWV9DTEtfUkVGX0RJVjQJCSgyIDw8IDI3KQotCSNkZWZpbmUgU1BFQVIxMzQwX01JUEhZX0NM S19SRUZfRElWOAkJKDMgPDwgMjcpCi0JI2RlZmluZSBTUEVBUjEzNDBfTUlQSFlfUExMX1JBVElP X1RPUCh4KQkoeCA8PCAwKQotCSNkZWZpbmUgU1BFQVIxMzQwX1BDSUVfU0FUQV9NSVBIWV9DRkdf U0FUQSBcCi0JCQkoU1BFQVIxMzQwX01JUEhZX09TQ19CWVBBU1NfRVhUIHwgXAotCQkJU1BFQVIx MzQwX01JUEhZX0NMS19SRUZfRElWMiB8IFwKLQkJCVNQRUFSMTM0MF9NSVBIWV9QTExfUkFUSU9f VE9QKDYwKSkKLQkjZGVmaW5lIFNQRUFSMTM0MF9QQ0lFX1NBVEFfTUlQSFlfQ0ZHX1NBVEFfMjVN X0NSWVNUQUxfQ0xLIFwKLQkJCShTUEVBUjEzNDBfTUlQSFlfUExMX1JBVElPX1RPUCgxMjApKQot CSNkZWZpbmUgU1BFQVIxMzQwX1BDSUVfU0FUQV9NSVBIWV9DRkdfUENJRSBcCi0JCQkoU1BFQVIx MzQwX01JUEhZX09TQ19CWVBBU1NfRVhUIHwgXAotCQkJU1BFQVIxMzQwX01JUEhZX1BMTF9SQVRJ T19UT1AoMjUpKQotCi0vKiBTQVRBIGRldmljZSByZWdpc3RyYXRpb24gKi8KLXN0YXRpYyBpbnQg c2F0YV9taXBoeV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCBfX2lvbWVtICphZGRyKQot ewotCXdyaXRlbChTUEVBUjEzNDBfU0FUQV9DRkdfVkFMLCBTUEVBUjEzNDBfUENJRV9TQVRBX0NG Ryk7Ci0Jd3JpdGVsKFNQRUFSMTM0MF9QQ0lFX1NBVEFfTUlQSFlfQ0ZHX1NBVEFfMjVNX0NSWVNU QUxfQ0xLLAotCQkJU1BFQVIxMzQwX1BDSUVfTUlQSFlfQ0ZHKTsKLQkvKiBTd2l0Y2ggb24gc2F0 YSBwb3dlciBkb21haW4gKi8KLQl3cml0ZWwoKHJlYWRsKFNQRUFSMTM0MF9QQ01fQ0ZHKSB8ICgw eDgwMCkpLCBTUEVBUjEzNDBfUENNX0NGRyk7Ci0JbXNsZWVwKDIwKTsKLQkvKiBEaXNhYmxlIFBD SUUgU0FUQSBDb250cm9sbGVyIHJlc2V0ICovCi0Jd3JpdGVsKChyZWFkbChTUEVBUjEzNDBfUEVS SVAxX1NXX1JTVCkgJiAofjB4MTAwMCkpLAotCQkJU1BFQVIxMzQwX1BFUklQMV9TV19SU1QpOwot CW1zbGVlcCgyMCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotdm9pZCBzYXRhX21pcGh5X2V4aXQoc3Ry dWN0IGRldmljZSAqZGV2KQotewotCXdyaXRlbCgwLCBTUEVBUjEzNDBfUENJRV9TQVRBX0NGRyk7 Ci0Jd3JpdGVsKDAsIFNQRUFSMTM0MF9QQ0lFX01JUEhZX0NGRyk7Ci0KLQkvKiBFbmFibGUgUENJ RSBTQVRBIENvbnRyb2xsZXIgcmVzZXQgKi8KLQl3cml0ZWwoKHJlYWRsKFNQRUFSMTM0MF9QRVJJ UDFfU1dfUlNUKSB8ICgweDEwMDApKSwKLQkJCVNQRUFSMTM0MF9QRVJJUDFfU1dfUlNUKTsKLQlt c2xlZXAoMjApOwotCS8qIFN3aXRjaCBvZmYgc2F0YSBwb3dlciBkb21haW4gKi8KLQl3cml0ZWwo KHJlYWRsKFNQRUFSMTM0MF9QQ01fQ0ZHKSAmICh+MHg4MDApKSwgU1BFQVIxMzQwX1BDTV9DRkcp OwotCW1zbGVlcCgyMCk7Ci19Ci0KLWludCBzYXRhX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2 KQotewotCWlmIChkZXYtPnBvd2VyLnBvd2VyX3N0YXRlLmV2ZW50ID09IFBNX0VWRU5UX0ZSRUVa RSkKLQkJcmV0dXJuIDA7Ci0KLQlzYXRhX21pcGh5X2V4aXQoZGV2KTsKLQotCXJldHVybiAwOwot fQotCi1pbnQgc2F0YV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQotewotCWlmIChkZXYtPnBv d2VyLnBvd2VyX3N0YXRlLmV2ZW50ID09IFBNX0VWRU5UX1RIQVcpCi0JCXJldHVybiAwOwotCi0J cmV0dXJuIHNhdGFfbWlwaHlfaW5pdChkZXYsIE5VTEwpOwotfQotCi1zdGF0aWMgc3RydWN0IGFo Y2lfcGxhdGZvcm1fZGF0YSBzYXRhX3BkYXRhID0gewotCS5pbml0ID0gc2F0YV9taXBoeV9pbml0 LAotCS5leGl0ID0gc2F0YV9taXBoeV9leGl0LAotCS5zdXNwZW5kID0gc2F0YV9zdXNwZW5kLAot CS5yZXN1bWUgPSBzYXRhX3Jlc3VtZSwKLX07Ci0KLS8qIEFkZCBTUEVBcjEzNDAgYXV4ZGF0YSB0 byBwYXNzIHBsYXRmb3JtIGRhdGEgKi8KLXN0YXRpYyBzdHJ1Y3Qgb2ZfZGV2X2F1eGRhdGEgc3Bl YXIxMzQwX2F1eGRhdGFfbG9va3VwW10gX19pbml0ZGF0YSA9IHsKLQlPRl9ERVZfQVVYREFUQSgi c25wcyxzcGVhci1haGNpIiwgU1BFQVIxMzQwX1NBVEFfQkFTRSwgTlVMTCwKLQkJCSZzYXRhX3Bk YXRhKSwKLQl7fQotfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHNwZWFyMTM0MF9kdF9pbml0KHZv aWQpCiB7Ci0Jb2ZfcGxhdGZvcm1fcG9wdWxhdGUoTlVMTCwgb2ZfZGVmYXVsdF9idXNfbWF0Y2hf dGFibGUsCi0JCQlzcGVhcjEzNDBfYXV4ZGF0YV9sb29rdXAsIE5VTEwpOworCW9mX3BsYXRmb3Jt X3BvcHVsYXRlKE5VTEwsIG9mX2RlZmF1bHRfYnVzX21hdGNoX3RhYmxlLCBOVUxMLCBOVUxMKTsK IAlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfc2ltcGxlKCJzcGVhci1jcHVmcmVxIiwgLTEsIE5V TEwsIDApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9LY29uZmlnIGIvZHJpdmVycy9w aHkvS2NvbmZpZwppbmRleCAxNmEyZjA2Li5lOGY4YTJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Bo eS9LY29uZmlnCisrKyBiL2RyaXZlcnMvcGh5L0tjb25maWcKQEAgLTE3OCw0ICsxNzgsMTYgQEAg Y29uZmlnIFBIWV9YR0VORQogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBm b3IgQVBNIFgtR2VuZSBTb0MgbXVsdGktcHVycG9zZSBQSFkuCiAKK2NvbmZpZyBQSFlfU1RfU1BF QVIxMzEwX01JUEhZCisJdHJpc3RhdGUgIlNUIFNQRUFSMTMxMC1NSVBIWSBkcml2ZXIiCisJc2Vs ZWN0IEdFTkVSSUNfUEhZCisJaGVscAorCSAgU3VwcG9ydCBmb3IgU1QgU1BFQXIxMzEwIE1JUEhZ IHdoaWNoIGNhbiBiZSB1c2VkIGZvciBQQ0llIGFuZCBTQVRBLgorCitjb25maWcgUEhZX1NUX1NQ RUFSMTM0MF9NSVBIWQorCXRyaXN0YXRlICJTVCBTUEVBUjEzNDAtTUlQSFkgZHJpdmVyIgorCXNl bGVjdCBHRU5FUklDX1BIWQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIFNUIFNQRUFyMTM0MCBNSVBI WSB3aGljaCBjYW4gYmUgdXNlZCBmb3IgUENJZSBhbmQgU0FUQS4KKwogZW5kbWVudQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9waHkvTWFrZWZpbGUgYi9kcml2ZXJzL3BoeS9NYWtlZmlsZQppbmRleCBi NGYxZDU3Li5kMzk2MDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BoeS9NYWtlZmlsZQorKysgYi9k cml2ZXJzL3BoeS9NYWtlZmlsZQpAQCAtMjAsMyArMjAsNSBAQCBwaHktZXh5bm9zLXVzYjItJChD T05GSUdfUEhZX0VYWU5PUzRYMTJfVVNCMikJKz0gcGh5LWV4eW5vczR4MTItdXNiMi5vCiBwaHkt ZXh5bm9zLXVzYjItJChDT05GSUdfUEhZX0VYWU5PUzUyNTBfVVNCMikJKz0gcGh5LWV4eW5vczUy NTAtdXNiMi5vCiBvYmotJChDT05GSUdfUEhZX0VYWU5PUzVfVVNCRFJEKQkrPSBwaHktZXh5bm9z NS11c2JkcmQubwogb2JqLSQoQ09ORklHX1BIWV9YR0VORSkJCQkrPSBwaHkteGdlbmUubworb2Jq LSQoQ09ORklHX1BIWV9TVF9TUEVBUjEzMTBfTUlQSFkpCSs9IHBoeS1zcGVhcjEzMTAtbWlwaHku bworb2JqLSQoQ09ORklHX1BIWV9TVF9TUEVBUjEzNDBfTUlQSFkpCSs9IHBoeS1zcGVhcjEzNDAt bWlwaHkubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvcGh5LXNwZWFyMTMxMC1taXBoeS5jIGIv ZHJpdmVycy9waHkvcGh5LXNwZWFyMTMxMC1taXBoeS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjYxMzY2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3BoeS9waHkt c3BlYXIxMzEwLW1pcGh5LmMKQEAgLTAsMCArMSwyNzQgQEAKKy8qCisgKiBTVCBTUEVBcjEzMTAt bWlwaHkgZHJpdmVyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFNUIE1pY3JvZWxlY3Ryb25p Y3MKKyAqIFByYXR5dXNoIEFuYW5kIDxwcmF0eXVzaC5hbmFuZEBzdC5jb20+CisgKiBNb2hpdCBL dW1hciA8bW9oaXQua3VtYXJAc3QuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBh cworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICov CisKKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgor I2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+ CisjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5o PgorI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BoeS9waHku aD4KKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KKworLyogU1BFQXIxMzEwIFJlZ2lzdGVycyAq LworI2RlZmluZSBTUEVBUjEzMTBfUENJRV9TQVRBX0NGRwkJCTB4M0E0CisJI2RlZmluZSBTUEVB UjEzMTBfUENJRV9TQVRBMl9TRUxfUENJRQkJKDAgPDwgMzEpCisJI2RlZmluZSBTUEVBUjEzMTBf UENJRV9TQVRBMV9TRUxfUENJRQkJKDAgPDwgMzApCisJI2RlZmluZSBTUEVBUjEzMTBfUENJRV9T QVRBMF9TRUxfUENJRQkJKDAgPDwgMjkpCisJI2RlZmluZSBTUEVBUjEzMTBfUENJRV9TQVRBMl9T RUxfU0FUQQkJQklUKDMxKQorCSNkZWZpbmUgU1BFQVIxMzEwX1BDSUVfU0FUQTFfU0VMX1NBVEEJ CUJJVCgzMCkKKwkjZGVmaW5lIFNQRUFSMTMxMF9QQ0lFX1NBVEEwX1NFTF9TQVRBCQlCSVQoMjkp CisJI2RlZmluZSBTUEVBUjEzMTBfU0FUQTJfQ0ZHX1RYX0NMS19FTgkJQklUKDI3KQorCSNkZWZp bmUgU1BFQVIxMzEwX1NBVEEyX0NGR19SWF9DTEtfRU4JCUJJVCgyNikKKwkjZGVmaW5lIFNQRUFS MTMxMF9TQVRBMl9DRkdfUE9XRVJVUF9SRVNFVAlCSVQoMjUpCisJI2RlZmluZSBTUEVBUjEzMTBf U0FUQTJfQ0ZHX1BNX0NMS19FTgkJQklUKDI0KQorCSNkZWZpbmUgU1BFQVIxMzEwX1NBVEExX0NG R19UWF9DTEtfRU4JCUJJVCgyMykKKwkjZGVmaW5lIFNQRUFSMTMxMF9TQVRBMV9DRkdfUlhfQ0xL X0VOCQlCSVQoMjIpCisJI2RlZmluZSBTUEVBUjEzMTBfU0FUQTFfQ0ZHX1BPV0VSVVBfUkVTRVQJ QklUKDIxKQorCSNkZWZpbmUgU1BFQVIxMzEwX1NBVEExX0NGR19QTV9DTEtfRU4JCUJJVCgyMCkK KwkjZGVmaW5lIFNQRUFSMTMxMF9TQVRBMF9DRkdfVFhfQ0xLX0VOCQlCSVQoMTkpCisJI2RlZmlu ZSBTUEVBUjEzMTBfU0FUQTBfQ0ZHX1JYX0NMS19FTgkJQklUKDE4KQorCSNkZWZpbmUgU1BFQVIx MzEwX1NBVEEwX0NGR19QT1dFUlVQX1JFU0VUCUJJVCgxNykKKwkjZGVmaW5lIFNQRUFSMTMxMF9T QVRBMF9DRkdfUE1fQ0xLX0VOCQlCSVQoMTYpCisJI2RlZmluZSBTUEVBUjEzMTBfUENJRTJfQ0ZH X0RFVklDRV9QUkVTRU5UCUJJVCgxMSkKKwkjZGVmaW5lIFNQRUFSMTMxMF9QQ0lFMl9DRkdfUE9X RVJVUF9SRVNFVAlCSVQoMTApCisJI2RlZmluZSBTUEVBUjEzMTBfUENJRTJfQ0ZHX0NPUkVfQ0xL X0VOCQlCSVQoOSkKKwkjZGVmaW5lIFNQRUFSMTMxMF9QQ0lFMl9DRkdfQVVYX0NMS19FTgkJQklU KDgpCisJI2RlZmluZSBTUEVBUjEzMTBfUENJRTFfQ0ZHX0RFVklDRV9QUkVTRU5UCUJJVCg3KQor CSNkZWZpbmUgU1BFQVIxMzEwX1BDSUUxX0NGR19QT1dFUlVQX1JFU0VUCUJJVCg2KQorCSNkZWZp bmUgU1BFQVIxMzEwX1BDSUUxX0NGR19DT1JFX0NMS19FTgkJQklUKDUpCisJI2RlZmluZSBTUEVB UjEzMTBfUENJRTFfQ0ZHX0FVWF9DTEtfRU4JCUJJVCg0KQorCSNkZWZpbmUgU1BFQVIxMzEwX1BD SUUwX0NGR19ERVZJQ0VfUFJFU0VOVAlCSVQoMykKKwkjZGVmaW5lIFNQRUFSMTMxMF9QQ0lFMF9D RkdfUE9XRVJVUF9SRVNFVAlCSVQoMikKKwkjZGVmaW5lIFNQRUFSMTMxMF9QQ0lFMF9DRkdfQ09S RV9DTEtfRU4JCUJJVCgxKQorCSNkZWZpbmUgU1BFQVIxMzEwX1BDSUUwX0NGR19BVVhfQ0xLX0VO CQlCSVQoMCkKKworCSNkZWZpbmUgU1BFQVIxMzEwX1BDSUVfQ0ZHX01BU0soeCkgKCgweEYgPDwg KHggKiA0KSkgfCBCSVQoKHggKyAyOSkpKQorCSNkZWZpbmUgU1BFQVIxMzEwX1NBVEFfQ0ZHX01B U0soeCkgKCgweEYgPDwgKHggKiA0ICsgMTYpKSB8IFwKKwkJCUJJVCgoeCArIDI5KSkpCisJI2Rl ZmluZSBTUEVBUjEzMTBfUENJRV9DRkdfVkFMKHgpIFwKKwkJCShTUEVBUjEzMTBfUENJRV9TQVRB IyN4IyNfU0VMX1BDSUUgfCBcCisJCQlTUEVBUjEzMTBfUENJRSMjeCMjX0NGR19BVVhfQ0xLX0VO IHwgXAorCQkJU1BFQVIxMzEwX1BDSUUjI3gjI19DRkdfQ09SRV9DTEtfRU4gfCBcCisJCQlTUEVB UjEzMTBfUENJRSMjeCMjX0NGR19QT1dFUlVQX1JFU0VUIHwgXAorCQkJU1BFQVIxMzEwX1BDSUUj I3gjI19DRkdfREVWSUNFX1BSRVNFTlQpCisJI2RlZmluZSBTUEVBUjEzMTBfU0FUQV9DRkdfVkFM KHgpIFwKKwkJCShTUEVBUjEzMTBfUENJRV9TQVRBIyN4IyNfU0VMX1NBVEEgfCBcCisJCQlTUEVB UjEzMTBfU0FUQSMjeCMjX0NGR19QTV9DTEtfRU4gfCBcCisJCQlTUEVBUjEzMTBfU0FUQSMjeCMj X0NGR19QT1dFUlVQX1JFU0VUIHwgXAorCQkJU1BFQVIxMzEwX1NBVEEjI3gjI19DRkdfUlhfQ0xL X0VOIHwgXAorCQkJU1BFQVIxMzEwX1NBVEEjI3gjI19DRkdfVFhfQ0xLX0VOKQorCisjZGVmaW5l IFNQRUFSMTMxMF9QQ0lFX01JUEhZX0NGR18xCQkweDNBOAorCSNkZWZpbmUgU1BFQVIxMzEwX01J UEhZX0RVQUxfT1NDX0JZUEFTU19FWFQJQklUKDMxKQorCSNkZWZpbmUgU1BFQVIxMzEwX01JUEhZ X0RVQUxfQ0xLX1JFRl9ESVYyCUJJVCgyOCkKKwkjZGVmaW5lIFNQRUFSMTMxMF9NSVBIWV9EVUFM X1BMTF9SQVRJT19UT1AoeCkJKHggPDwgMTYpCisJI2RlZmluZSBTUEVBUjEzMTBfTUlQSFlfU0lO R0xFX09TQ19CWVBBU1NfRVhUCUJJVCgxNSkKKwkjZGVmaW5lIFNQRUFSMTMxMF9NSVBIWV9TSU5H TEVfQ0xLX1JFRl9ESVYyCUJJVCgxMikKKwkjZGVmaW5lIFNQRUFSMTMxMF9NSVBIWV9TSU5HTEVf UExMX1JBVElPX1RPUCh4KQkoeCA8PCAwKQorCSNkZWZpbmUgU1BFQVIxMzEwX1BDSUVfU0FUQV9N SVBIWV9DRkdfU0FUQV9NQVNLICgweEZGRkYpCisJI2RlZmluZSBTUEVBUjEzMTBfUENJRV9TQVRB X01JUEhZX0NGR19QQ0lFX01BU0sgKDB4RkZGRiA8PCAxNikKKwkjZGVmaW5lIFNQRUFSMTMxMF9Q Q0lFX1NBVEFfTUlQSFlfQ0ZHX1NBVEEgXAorCQkJKFNQRUFSMTMxMF9NSVBIWV9EVUFMX09TQ19C WVBBU1NfRVhUIHwgXAorCQkJU1BFQVIxMzEwX01JUEhZX0RVQUxfQ0xLX1JFRl9ESVYyIHwgXAor CQkJU1BFQVIxMzEwX01JUEhZX0RVQUxfUExMX1JBVElPX1RPUCg2MCkgfCBcCisJCQlTUEVBUjEz MTBfTUlQSFlfU0lOR0xFX09TQ19CWVBBU1NfRVhUIHwgXAorCQkJU1BFQVIxMzEwX01JUEhZX1NJ TkdMRV9DTEtfUkVGX0RJVjIgfCBcCisJCQlTUEVBUjEzMTBfTUlQSFlfU0lOR0xFX1BMTF9SQVRJ T19UT1AoNjApKQorCSNkZWZpbmUgU1BFQVIxMzEwX1BDSUVfU0FUQV9NSVBIWV9DRkdfU0FUQV8y NU1fQ1JZU1RBTF9DTEsgXAorCQkJKFNQRUFSMTMxMF9NSVBIWV9TSU5HTEVfUExMX1JBVElPX1RP UCgxMjApKQorCSNkZWZpbmUgU1BFQVIxMzEwX1BDSUVfU0FUQV9NSVBIWV9DRkdfUENJRSBcCisJ CQkoU1BFQVIxMzEwX01JUEhZX0RVQUxfT1NDX0JZUEFTU19FWFQgfCBcCisJCQlTUEVBUjEzMTBf TUlQSFlfRFVBTF9QTExfUkFUSU9fVE9QKDI1KSB8IFwKKwkJCVNQRUFSMTMxMF9NSVBIWV9TSU5H TEVfT1NDX0JZUEFTU19FWFQgfCBcCisJCQlTUEVBUjEzMTBfTUlQSFlfU0lOR0xFX1BMTF9SQVRJ T19UT1AoMjUpKQorCisjZGVmaW5lIFNQRUFSMTMxMF9QQ0lFX01JUEhZX0NGR18yCQkweDNBQwor CitlbnVtIHNwZWFyMTMxMF9taXBoeV9tb2RlIHsKKwlTQVRBLAorCVBDSUUsCit9OworCitzdHJ1 Y3Qgc3BlYXIxMzEwX21pcGh5X3ByaXYgeworCS8qIGluc3RhbmNlIGlkIG9mIHRoaXMgcGh5ICov CisJdTMyCQkJCWlkOworCS8qIHBoeSBtb2RlOiAwIGZvciBTQVRBIDEgZm9yIFBDSWUgKi8KKwll bnVtIHNwZWFyMTMxMF9taXBoeV9tb2RlCW1vZGU7CisJLyogcmVnbWFwIGZvciBhbnkgc29jIHNw ZWNpZmljIG1pc2MgcmVnaXN0ZXJzICovCisJc3RydWN0IHJlZ21hcAkJCSptaXNjOworCS8qIHBo eSBzdHJ1Y3QgcG9pbnRlciAqLworCXN0cnVjdCBwaHkJCQkqcGh5OworfTsKKworc3RhdGljIGlu dCBzcGVhcjEzMTBfbWlwaHlfcGNpZV9pbml0KHN0cnVjdCBzcGVhcjEzMTBfbWlwaHlfcHJpdiAq cHJpdikKK3sKKwl1MzIgdmFsOworCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQ RUFSMTMxMF9QQ0lFX01JUEhZX0NGR18xLAorCQkJU1BFQVIxMzEwX1BDSUVfU0FUQV9NSVBIWV9D RkdfUENJRV9NQVNLLAorCQkJU1BFQVIxMzEwX1BDSUVfU0FUQV9NSVBIWV9DRkdfUENJRSk7CisK Kwlzd2l0Y2ggKHByaXYtPmlkKSB7CisJY2FzZSAwOgorCQl2YWwgPSBTUEVBUjEzMTBfUENJRV9D RkdfVkFMKDApOworCQlicmVhazsKKwljYXNlIDE6CisJCXZhbCA9IFNQRUFSMTMxMF9QQ0lFX0NG R19WQUwoMSk7CisJCWJyZWFrOworCWNhc2UgMjoKKwkJdmFsID0gU1BFQVIxMzEwX1BDSUVfQ0ZH X1ZBTCgyKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQRUFSMTMxMF9QQ0lFX1NBVEFfQ0ZHLAor CQkJU1BFQVIxMzEwX1BDSUVfQ0ZHX01BU0socHJpdi0+aWQpLCB2YWwpOworCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBpbnQgc3BlYXIxMzEwX21pcGh5X3BjaWVfZXhpdChzdHJ1Y3Qgc3BlYXIx MzEwX21pcGh5X3ByaXYgKnByaXYpCit7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2Ms IFNQRUFSMTMxMF9QQ0lFX1NBVEFfQ0ZHLAorCQkJU1BFQVIxMzEwX1BDSUVfQ0ZHX01BU0socHJp di0+aWQpLCAwKTsKKworCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5taXNjLCBTUEVBUjEzMTBf UENJRV9NSVBIWV9DRkdfMSwKKwkJCVNQRUFSMTMxMF9QQ0lFX1NBVEFfTUlQSFlfQ0ZHX1BDSUVf TUFTSywgMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzcGVhcjEzMTBfbWlwaHlf aW5pdChzdHJ1Y3QgcGh5ICpwaHkpCit7CisJc3RydWN0IHNwZWFyMTMxMF9taXBoeV9wcml2ICpw cml2ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7CisJaW50IHJldCA9IDA7CisKKwlpZiAocHJpdi0+ bW9kZSA9PSBQQ0lFKQorCQlyZXQgPSBzcGVhcjEzMTBfbWlwaHlfcGNpZV9pbml0KHByaXYpOwor CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBzcGVhcjEzMTBfbWlwaHlfZXhpdChzdHJ1 Y3QgcGh5ICpwaHkpCit7CisJc3RydWN0IHNwZWFyMTMxMF9taXBoeV9wcml2ICpwcml2ID0gcGh5 X2dldF9kcnZkYXRhKHBoeSk7CisJaW50IHJldCA9IDA7CisKKwlpZiAocHJpdi0+bW9kZSA9PSBQ Q0lFKQorCQlyZXQgPSBzcGVhcjEzMTBfbWlwaHlfcGNpZV9leGl0KHByaXYpOworCisJcmV0dXJu IHJldDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3BlYXIxMzEwX21p cGh5X29mX21hdGNoW10gPSB7CisJeyAuY29tcGF0aWJsZSA9ICJzdCxzcGVhcjEzMTAtbWlwaHki IH0sCisJeyB9LAorfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHNwZWFyMTMxMF9taXBoeV9v Zl9tYXRjaCk7CisKK3N0YXRpYyBzdHJ1Y3QgcGh5X29wcyBzcGVhcjEzMTBfbWlwaHlfb3BzID0g eworCS5pbml0ID0gc3BlYXIxMzEwX21pcGh5X2luaXQsCisJLmV4aXQgPSBzcGVhcjEzMTBfbWlw aHlfZXhpdCwKKwkub3duZXIgPSBUSElTX01PRFVMRSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGh5 ICpzcGVhcjEzMTBfbWlwaHlfeGxhdGUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQlzdHJ1Y3Qg b2ZfcGhhbmRsZV9hcmdzICphcmdzKQoreworCXN0cnVjdCBzcGVhcjEzMTBfbWlwaHlfcHJpdiAq cHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJaWYgKGFyZ3MtPmFyZ3NfY291bnQgPCAx KSB7CisJCWRldl9lcnIoZGV2LCAiRFQgZGlkIG5vdCBwYXNzIGNvcnJlY3Qgbm8gb2YgYXJnc1xu Iik7CisJCXJldHVybiBOVUxMOworCX0KKworCXByaXYtPm1vZGUgPSBhcmdzLT5hcmdzWzBdOwor CisJaWYgKHByaXYtPm1vZGUgIT0gU0FUQSAmJiBwcml2LT5tb2RlICE9IFBDSUUpIHsKKwkJZGV2 X2VycihkZXYsICJEVCBkaWQgbm90IHBhc3MgY29ycmVjdCBwaHkgbW9kZVxuIik7CisJCXJldHVy biBOVUxMOworCX0KKworCXJldHVybiBwcml2LT5waHk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0 IHNwZWFyMTMxMF9taXBoeV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorewor CXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7CisJc3RydWN0IHNwZWFyMTMxMF9taXBo eV9wcml2ICpwcml2OworCXN0cnVjdCBwaHlfcHJvdmlkZXIgKnBoeV9wcm92aWRlcjsKKworCXBy aXYgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnByaXYpLCBHRlBfS0VSTkVMKTsKKwlpZiAo IXByaXYpIHsKKwkJZGV2X2VycihkZXYsICJjYW4ndCBhbGxvYyBzcGVhcjEzMTBfbWlwaHkgcHJp dmF0ZSBkYXRlIG1lbW9yeVxuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCXByaXYtPm1p c2MgPQorCQlzeXNjb25fcmVnbWFwX2xvb2t1cF9ieV9waGFuZGxlKGRldi0+b2Zfbm9kZSwgIm1p c2MiKTsKKwlpZiAoSVNfRVJSKHByaXYtPm1pc2MpKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVk IHRvIGZpbmQgbWlzYyByZWdtYXBcbiIpOworCQlyZXR1cm4gUFRSX0VSUihwcml2LT5taXNjKTsK Kwl9CisKKwlpZiAob2ZfcHJvcGVydHlfcmVhZF91MzIoZGV2LT5vZl9ub2RlLCAicGh5LWlkIiwg JnByaXYtPmlkKSkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBmaW5kIHBoeSBpZFxuIik7 CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXByaXYtPnBoeSA9IGRldm1fcGh5X2NyZWF0ZShk ZXYsICZzcGVhcjEzMTBfbWlwaHlfb3BzLCBOVUxMKTsKKwlpZiAoSVNfRVJSKHByaXYtPnBoeSkp IHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gY3JlYXRlIFNBVEEgUENJZSBQSFlcbiIpOwor CQlyZXR1cm4gUFRSX0VSUihwcml2LT5waHkpOworCX0KKworCWRldl9zZXRfZHJ2ZGF0YShkZXYs IHByaXYpOworCXBoeV9zZXRfZHJ2ZGF0YShwcml2LT5waHksIHByaXYpOworCisJcGh5X3Byb3Zp ZGVyID0KKwkJZGV2bV9vZl9waHlfcHJvdmlkZXJfcmVnaXN0ZXIoZGV2LCBzcGVhcjEzMTBfbWlw aHlfeGxhdGUpOworCWlmIChJU19FUlIocGh5X3Byb3ZpZGVyKSkgeworCQlkZXZfZXJyKGRldiwg ImZhaWxlZCB0byByZWdpc3RlciBwaHkgcHJvdmlkZXJcbiIpOworCQlyZXR1cm4gUFRSX0VSUihw aHlfcHJvdmlkZXIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRm b3JtX2RyaXZlciBzcGVhcjEzMTBfbWlwaHlfZHJpdmVyID0geworCS5wcm9iZQkJPSBzcGVhcjEz MTBfbWlwaHlfcHJvYmUsCisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAic3BlYXIxMzEwLW1pcGh5 IiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNo X3B0cihzcGVhcjEzMTBfbWlwaHlfb2ZfbWF0Y2gpLAorCX0sCit9OworCitzdGF0aWMgaW50IF9f aW5pdCBzcGVhcjEzMTBfbWlwaHlfcGh5X2luaXQodm9pZCkKK3sKKwlyZXR1cm4gcGxhdGZvcm1f ZHJpdmVyX3JlZ2lzdGVyKCZzcGVhcjEzMTBfbWlwaHlfZHJpdmVyKTsKK30KK21vZHVsZV9pbml0 KHNwZWFyMTMxMF9taXBoeV9waHlfaW5pdCk7CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBzcGVhcjEz MTBfbWlwaHlfcGh5X2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigm c3BlYXIxMzEwX21pcGh5X2RyaXZlcik7Cit9Cittb2R1bGVfZXhpdChzcGVhcjEzMTBfbWlwaHlf cGh5X2V4aXQpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlNUIFNQRUFSMTMxMC1NSVBIWSBkcml2 ZXIiKTsKK01PRFVMRV9BVVRIT1IoIlByYXR5dXNoIEFuYW5kIDxwcmF0eXVzaC5hbmFuZEBzdC5j b20+Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Bo eS9waHktc3BlYXIxMzQwLW1pcGh5LmMgYi9kcml2ZXJzL3BoeS9waHktc3BlYXIxMzQwLW1pcGh5 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2JhZjI4NAotLS0gL2Rldi9u dWxsCisrKyBiL2RyaXZlcnMvcGh5L3BoeS1zcGVhcjEzNDAtbWlwaHkuYwpAQCAtMCwwICsxLDMw MCBAQAorLyoKKyAqIFNUIHNwZWFyMTM0MC1taXBoeSBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQg KEMpIDIwMTQgU1QgTWljcm9lbGVjdHJvbmljcworICogUHJhdHl1c2ggQW5hbmQgPHByYXR5dXNo LmFuYW5kQHN0LmNvbT4KKyAqIE1vaGl0IEt1bWFyIDxtb2hpdC5rdW1hckBzdC5jb20+CisgKgor ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgor I2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4K KyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+ CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+ CisjaW5jbHVkZSA8bGludXgvcGh5L3BoeS5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgor CisvKiBTUEVBcjEzNDAgUmVnaXN0ZXJzICovCisvKiBQb3dlciBNYW5hZ2VtZW50IFJlZ2lzdGVy cyAqLworI2RlZmluZSBTUEVBUjEzNDBfUENNX0NGRwkJCTB4MTAwCisJI2RlZmluZSBTUEVBUjEz NDBfUENNX0NGR19TQVRBX1BPV0VSX0VOCQlCSVQoMTEpCisjZGVmaW5lIFNQRUFSMTM0MF9QQ01f V0tVUF9DRkcJCQkweDEwNAorI2RlZmluZSBTUEVBUjEzNDBfU1dJVENIX0NUUgkJCTB4MTA4CisK KyNkZWZpbmUgU1BFQVIxMzQwX1BFUklQMV9TV19SU1QJCQkweDMxOAorCSNkZWZpbmUgU1BFQVIx MzQwX1BFUklQMV9TV19SU0FUQQkJQklUKDEyKQorI2RlZmluZSBTUEVBUjEzNDBfUEVSSVAyX1NX X1JTVAkJCTB4MzFDCisjZGVmaW5lIFNQRUFSMTM0MF9QRVJJUDNfU1dfUlNUCQkJMHgzMjAKKwor LyogUENJRSAtIFNBVEEgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgKi8KKyNkZWZpbmUgU1BFQVIx MzQwX1BDSUVfU0FUQV9DRkcJCQkweDQyNAorCS8qIFBDSUUgQ0ZHIE1BU2tzICovCisJI2RlZmlu ZSBTUEVBUjEzNDBfUENJRV9DRkdfREVWSUNFX1BSRVNFTlQJQklUKDExKQorCSNkZWZpbmUgU1BF QVIxMzQwX1BDSUVfQ0ZHX1BPV0VSVVBfUkVTRVQJQklUKDEwKQorCSNkZWZpbmUgU1BFQVIxMzQw X1BDSUVfQ0ZHX0NPUkVfQ0xLX0VOCQlCSVQoOSkKKwkjZGVmaW5lIFNQRUFSMTM0MF9QQ0lFX0NG R19BVVhfQ0xLX0VOCQlCSVQoOCkKKwkjZGVmaW5lIFNQRUFSMTM0MF9TQVRBX0NGR19UWF9DTEtf RU4JCUJJVCg0KQorCSNkZWZpbmUgU1BFQVIxMzQwX1NBVEFfQ0ZHX1JYX0NMS19FTgkJQklUKDMp CisJI2RlZmluZSBTUEVBUjEzNDBfU0FUQV9DRkdfUE9XRVJVUF9SRVNFVAlCSVQoMikKKwkjZGVm aW5lIFNQRUFSMTM0MF9TQVRBX0NGR19QTV9DTEtfRU4JCUJJVCgxKQorCSNkZWZpbmUgU1BFQVIx MzQwX1BDSUVfU0FUQV9TRUxfUENJRQkJKDApCisJI2RlZmluZSBTUEVBUjEzNDBfUENJRV9TQVRB X1NFTF9TQVRBCQkoMSkKKwkjZGVmaW5lIFNQRUFSMTM0MF9QQ0lFX1NBVEFfQ0ZHX01BU0sJCTB4 RjFGCisJI2RlZmluZSBTUEVBUjEzNDBfUENJRV9DRkdfVkFMCShTUEVBUjEzNDBfUENJRV9TQVRB X1NFTF9QQ0lFIHwgXAorCQkJU1BFQVIxMzQwX1BDSUVfQ0ZHX0FVWF9DTEtfRU4gfCBcCisJCQlT UEVBUjEzNDBfUENJRV9DRkdfQ09SRV9DTEtfRU4gfCBcCisJCQlTUEVBUjEzNDBfUENJRV9DRkdf UE9XRVJVUF9SRVNFVCB8IFwKKwkJCVNQRUFSMTM0MF9QQ0lFX0NGR19ERVZJQ0VfUFJFU0VOVCkK KwkjZGVmaW5lIFNQRUFSMTM0MF9TQVRBX0NGR19WQUwJKFNQRUFSMTM0MF9QQ0lFX1NBVEFfU0VM X1NBVEEgfCBcCisJCQlTUEVBUjEzNDBfU0FUQV9DRkdfUE1fQ0xLX0VOIHwgXAorCQkJU1BFQVIx MzQwX1NBVEFfQ0ZHX1BPV0VSVVBfUkVTRVQgfCBcCisJCQlTUEVBUjEzNDBfU0FUQV9DRkdfUlhf Q0xLX0VOIHwgXAorCQkJU1BFQVIxMzQwX1NBVEFfQ0ZHX1RYX0NMS19FTikKKworI2RlZmluZSBT UEVBUjEzNDBfUENJRV9NSVBIWV9DRkcJCTB4NDI4CisJI2RlZmluZSBTUEVBUjEzNDBfTUlQSFlf T1NDX0JZUEFTU19FWFQJCUJJVCgzMSkKKwkjZGVmaW5lIFNQRUFSMTM0MF9NSVBIWV9DTEtfUkVG X0RJVjIJCUJJVCgyNykKKwkjZGVmaW5lIFNQRUFSMTM0MF9NSVBIWV9DTEtfUkVGX0RJVjQJCSgy IDw8IDI3KQorCSNkZWZpbmUgU1BFQVIxMzQwX01JUEhZX0NMS19SRUZfRElWOAkJKDMgPDwgMjcp CisJI2RlZmluZSBTUEVBUjEzNDBfTUlQSFlfUExMX1JBVElPX1RPUCh4KQkoeCA8PCAwKQorCSNk ZWZpbmUgU1BFQVIxMzQwX1BDSUVfTUlQSFlfQ0ZHX01BU0sJCTB4RjgwMDAwRkYKKwkjZGVmaW5l IFNQRUFSMTM0MF9QQ0lFX1NBVEFfTUlQSFlfQ0ZHX1NBVEEgXAorCQkJKFNQRUFSMTM0MF9NSVBI WV9PU0NfQllQQVNTX0VYVCB8IFwKKwkJCVNQRUFSMTM0MF9NSVBIWV9DTEtfUkVGX0RJVjIgfCBc CisJCQlTUEVBUjEzNDBfTUlQSFlfUExMX1JBVElPX1RPUCg2MCkpCisJI2RlZmluZSBTUEVBUjEz NDBfUENJRV9TQVRBX01JUEhZX0NGR19TQVRBXzI1TV9DUllTVEFMX0NMSyBcCisJCQkoU1BFQVIx MzQwX01JUEhZX1BMTF9SQVRJT19UT1AoMTIwKSkKKwkjZGVmaW5lIFNQRUFSMTM0MF9QQ0lFX1NB VEFfTUlQSFlfQ0ZHX1BDSUUgXAorCQkJKFNQRUFSMTM0MF9NSVBIWV9PU0NfQllQQVNTX0VYVCB8 IFwKKwkJCVNQRUFSMTM0MF9NSVBIWV9QTExfUkFUSU9fVE9QKDI1KSkKKworZW51bSBzcGVhcjEz NDBfbWlwaHlfbW9kZSB7CisJU0FUQSwKKwlQQ0lFLAorfTsKKworc3RydWN0IHNwZWFyMTM0MF9t aXBoeV9wcml2IHsKKwkvKiBwaHkgbW9kZTogMCBmb3IgU0FUQSAxIGZvciBQQ0llICovCisJZW51 bSBzcGVhcjEzNDBfbWlwaHlfbW9kZQltb2RlOworCS8qIHJlZ21hcCBmb3IgYW55IHNvYyBzcGVj aWZpYyBtaXNjIHJlZ2lzdGVycyAqLworCXN0cnVjdCByZWdtYXAJCQkqbWlzYzsKKwkvKiBwaHkg c3RydWN0IHBvaW50ZXIgKi8KKwlzdHJ1Y3QgcGh5CQkJKnBoeTsKK307CisKK3N0YXRpYyBpbnQg c3BlYXIxMzQwX21pcGh5X3NhdGFfaW5pdChzdHJ1Y3Qgc3BlYXIxMzQwX21pcGh5X3ByaXYgKnBy aXYpCit7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQRUFSMTM0MF9QQ0lFX1NB VEFfQ0ZHLAorCQkJU1BFQVIxMzQwX1BDSUVfU0FUQV9DRkdfTUFTSywgU1BFQVIxMzQwX1NBVEFf Q0ZHX1ZBTCk7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQRUFSMTM0MF9QQ0lF X01JUEhZX0NGRywKKwkJCVNQRUFSMTM0MF9QQ0lFX01JUEhZX0NGR19NQVNLLAorCQkJU1BFQVIx MzQwX1BDSUVfU0FUQV9NSVBIWV9DRkdfU0FUQV8yNU1fQ1JZU1RBTF9DTEspOworCS8qIFN3aXRj aCBvbiBzYXRhIHBvd2VyIGRvbWFpbiAqLworCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5taXNj LCBTUEVBUjEzNDBfUENNX0NGRywKKwkJCVNQRUFSMTM0MF9QQ01fQ0ZHX1NBVEFfUE9XRVJfRU4s CisJCQlTUEVBUjEzNDBfUENNX0NGR19TQVRBX1BPV0VSX0VOKTsKKwltc2xlZXAoMjApOworCS8q IERpc2FibGUgUENJRSBTQVRBIENvbnRyb2xsZXIgcmVzZXQgKi8KKwlyZWdtYXBfdXBkYXRlX2Jp dHMocHJpdi0+bWlzYywgU1BFQVIxMzQwX1BFUklQMV9TV19SU1QsCisJCQlTUEVBUjEzNDBfUEVS SVAxX1NXX1JTQVRBLCAwKTsKKwltc2xlZXAoMjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRp YyBpbnQgc3BlYXIxMzQwX21pcGh5X3NhdGFfZXhpdChzdHJ1Y3Qgc3BlYXIxMzQwX21pcGh5X3By aXYgKnByaXYpCit7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQRUFSMTM0MF9Q Q0lFX1NBVEFfQ0ZHLAorCQkJU1BFQVIxMzQwX1BDSUVfU0FUQV9DRkdfTUFTSywgMCk7CisJcmVn bWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQRUFSMTM0MF9QQ0lFX01JUEhZX0NGRywKKwkJ CVNQRUFSMTM0MF9QQ0lFX01JUEhZX0NGR19NQVNLLCAwKTsKKworCS8qIEVuYWJsZSBQQ0lFIFNB VEEgQ29udHJvbGxlciByZXNldCAqLworCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5taXNjLCBT UEVBUjEzNDBfUEVSSVAxX1NXX1JTVCwKKwkJCVNQRUFSMTM0MF9QRVJJUDFfU1dfUlNBVEEsCisJ CQlTUEVBUjEzNDBfUEVSSVAxX1NXX1JTQVRBKTsKKwltc2xlZXAoMjApOworCS8qIFN3aXRjaCBv ZmYgc2F0YSBwb3dlciBkb21haW4gKi8KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+bWlzYywg U1BFQVIxMzQwX1BDTV9DRkcsCisJCQlTUEVBUjEzNDBfUENNX0NGR19TQVRBX1BPV0VSX0VOLCAw KTsKKwltc2xlZXAoMjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc3BlYXIxMzQw X21pcGh5X3BjaWVfaW5pdChzdHJ1Y3Qgc3BlYXIxMzQwX21pcGh5X3ByaXYgKnByaXYpCit7CisJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQRUFSMTM0MF9QQ0lFX01JUEhZX0NGRywK KwkJCVNQRUFSMTM0MF9QQ0lFX01JUEhZX0NGR19NQVNLLAorCQkJU1BFQVIxMzQwX1BDSUVfU0FU QV9NSVBIWV9DRkdfUENJRSk7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPm1pc2MsIFNQRUFS MTM0MF9QQ0lFX1NBVEFfQ0ZHLAorCQkJU1BFQVIxMzQwX1BDSUVfU0FUQV9DRkdfTUFTSywgU1BF QVIxMzQwX1BDSUVfQ0ZHX1ZBTCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzcGVh cjEzNDBfbWlwaHlfcGNpZV9leGl0KHN0cnVjdCBzcGVhcjEzNDBfbWlwaHlfcHJpdiAqcHJpdikK K3sKKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+bWlzYywgU1BFQVIxMzQwX1BDSUVfTUlQSFlf Q0ZHLAorCQkJU1BFQVIxMzQwX1BDSUVfTUlQSFlfQ0ZHX01BU0ssIDApOworCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5taXNjLCBTUEVBUjEzNDBfUENJRV9TQVRBX0NGRywKKwkJCVNQRUFSMTM0 MF9QQ0lFX1NBVEFfQ0ZHX01BU0ssIDApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg c3BlYXIxMzQwX21pcGh5X2luaXQoc3RydWN0IHBoeSAqcGh5KQoreworCXN0cnVjdCBzcGVhcjEz NDBfbWlwaHlfcHJpdiAqcHJpdiA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOworCWludCByZXQgPSAw OworCisJaWYgKHByaXYtPm1vZGUgPT0gU0FUQSkKKwkJcmV0ID0gc3BlYXIxMzQwX21pcGh5X3Nh dGFfaW5pdChwcml2KTsKKwllbHNlIGlmIChwcml2LT5tb2RlID09IFBDSUUpCisJCXJldCA9IHNw ZWFyMTM0MF9taXBoeV9wY2llX2luaXQocHJpdik7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0 aWMgaW50IHNwZWFyMTM0MF9taXBoeV9leGl0KHN0cnVjdCBwaHkgKnBoeSkKK3sKKwlzdHJ1Y3Qg c3BlYXIxMzQwX21pcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKKwlpbnQg cmV0ID0gMDsKKworCWlmIChwcml2LT5tb2RlID09IFNBVEEpCisJCXJldCA9IHNwZWFyMTM0MF9t aXBoeV9zYXRhX2V4aXQocHJpdik7CisJZWxzZSBpZiAocHJpdi0+bW9kZSA9PSBQQ0lFKQorCQly ZXQgPSBzcGVhcjEzNDBfbWlwaHlfcGNpZV9leGl0KHByaXYpOworCisJcmV0dXJuIHJldDsKK30K Kworc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3BlYXIxMzQwX21pcGh5X29mX21h dGNoW10gPSB7CisJeyAuY29tcGF0aWJsZSA9ICJzdCxzcGVhcjEzNDAtbWlwaHkiIH0sCisJeyB9 LAorfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHNwZWFyMTM0MF9taXBoeV9vZl9tYXRjaCk7 CisKK3N0YXRpYyBzdHJ1Y3QgcGh5X29wcyBzcGVhcjEzNDBfbWlwaHlfb3BzID0geworCS5pbml0 ID0gc3BlYXIxMzQwX21pcGh5X2luaXQsCisJLmV4aXQgPSBzcGVhcjEzNDBfbWlwaHlfZXhpdCwK Kwkub3duZXIgPSBUSElTX01PRFVMRSwKK307CisKKyNpZmRlZiBDT05GSUdfUE1fU0xFRVAKK3N0 YXRpYyBpbnQgc3BlYXIxMzQwX21pcGh5X3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQorewor CXN0cnVjdCBzcGVhcjEzNDBfbWlwaHlfcHJpdiAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYp OworCWludCByZXQgPSAwOworCisJaWYgKHByaXYtPm1vZGUgPT0gU0FUQSkKKwkJcmV0ID0gc3Bl YXIxMzQwX21pcGh5X3NhdGFfZXhpdChwcml2KTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRp YyBpbnQgc3BlYXIxMzQwX21pcGh5X3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3Ry dWN0IHNwZWFyMTM0MF9taXBoeV9wcml2ICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJ aW50IHJldCA9IDA7CisKKwlpZiAocHJpdi0+bW9kZSA9PSBTQVRBKQorCQlyZXQgPSBzcGVhcjEz NDBfbWlwaHlfc2F0YV9pbml0KHByaXYpOworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZgorCitz dGF0aWMgU0lNUExFX0RFVl9QTV9PUFMoc3BlYXIxMzQwX21pcGh5X3BtX29wcywgc3BlYXIxMzQw X21pcGh5X3N1c3BlbmQsCisJCXNwZWFyMTM0MF9taXBoeV9yZXN1bWUpOworCitzdGF0aWMgc3Ry dWN0IHBoeSAqc3BlYXIxMzQwX21pcGh5X3hsYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJ c3RydWN0IG9mX3BoYW5kbGVfYXJncyAqYXJncykKK3sKKwlzdHJ1Y3Qgc3BlYXIxMzQwX21pcGh5 X3ByaXYgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCWlmIChhcmdzLT5hcmdzX2Nv dW50IDwgMSkgeworCQlkZXZfZXJyKGRldiwgIkRUIGRpZCBub3QgcGFzcyBjb3JyZWN0IG5vIG9m IGFyZ3NcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlwcml2LT5tb2RlID0gYXJncy0+YXJn c1swXTsKKworCWlmIChwcml2LT5tb2RlICE9IFNBVEEgJiYgcHJpdi0+bW9kZSAhPSBQQ0lFKSB7 CisJCWRldl9lcnIoZGV2LCAiRFQgZGlkIG5vdCBwYXNzIGNvcnJlY3QgcGh5IG1vZGVcbiIpOwor CQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gcHJpdi0+cGh5OworfQorCitzdGF0aWMgaW50 IF9faW5pdCBzcGVhcjEzNDBfbWlwaHlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2OworCXN0cnVjdCBzcGVhcjEz NDBfbWlwaHlfcHJpdiAqcHJpdjsKKwlzdHJ1Y3QgcGh5X3Byb3ZpZGVyICpwaHlfcHJvdmlkZXI7 CisKKwlwcml2ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFwcml2KSB7CisJCWRldl9lcnIoZGV2LCAiY2FuJ3QgYWxsb2Mgc3BlYXIxMzQwX21p cGh5IHByaXZhdGUgZGF0ZSBtZW1vcnlcbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlw cml2LT5taXNjID0KKwkJc3lzY29uX3JlZ21hcF9sb29rdXBfYnlfcGhhbmRsZShkZXYtPm9mX25v ZGUsICJtaXNjIik7CisJaWYgKElTX0VSUihwcml2LT5taXNjKSkgeworCQlkZXZfZXJyKGRldiwg ImZhaWxlZCB0byBmaW5kIG1pc2MgcmVnbWFwXG4iKTsKKwkJcmV0dXJuIFBUUl9FUlIocHJpdi0+ bWlzYyk7CisJfQorCisJcHJpdi0+cGh5ID0gZGV2bV9waHlfY3JlYXRlKGRldiwgJnNwZWFyMTM0 MF9taXBoeV9vcHMsIE5VTEwpOworCWlmIChJU19FUlIocHJpdi0+cGh5KSkgeworCQlkZXZfZXJy KGRldiwgImZhaWxlZCB0byBjcmVhdGUgU0FUQSBQQ0llIFBIWVxuIik7CisJCXJldHVybiBQVFJf RVJSKHByaXYtPnBoeSk7CisJfQorCisJZGV2X3NldF9kcnZkYXRhKGRldiwgcHJpdik7CisJcGh5 X3NldF9kcnZkYXRhKHByaXYtPnBoeSwgcHJpdik7CisKKwlwaHlfcHJvdmlkZXIgPQorCQlkZXZt X29mX3BoeV9wcm92aWRlcl9yZWdpc3RlcihkZXYsIHNwZWFyMTM0MF9taXBoeV94bGF0ZSk7CisJ aWYgKElTX0VSUihwaHlfcHJvdmlkZXIpKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJl Z2lzdGVyIHBoeSBwcm92aWRlclxuIik7CisJCXJldHVybiBQVFJfRVJSKHBoeV9wcm92aWRlcik7 CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHNw ZWFyMTM0MF9taXBoeV9kcml2ZXIgPSB7CisJLnByb2JlCQk9IHNwZWFyMTM0MF9taXBoeV9wcm9i ZSwKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJzcGVhcjEzNDAtbWlwaHkiLAorCQkub3duZXIg PSBUSElTX01PRFVMRSwKKwkJLnBtID0gJnNwZWFyMTM0MF9taXBoeV9wbV9vcHMsCisJCS5vZl9t YXRjaF90YWJsZSA9IG9mX21hdGNoX3B0cihzcGVhcjEzNDBfbWlwaHlfb2ZfbWF0Y2gpLAorCX0s Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBzcGVhcjEzNDBfbWlwaHlfcGh5X2luaXQodm9pZCkK K3sKKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZzcGVhcjEzNDBfbWlwaHlfZHJp dmVyKTsKK30KK21vZHVsZV9pbml0KHNwZWFyMTM0MF9taXBoeV9waHlfaW5pdCk7CisKK3N0YXRp YyB2b2lkIF9fZXhpdCBzcGVhcjEzNDBfbWlwaHlfcGh5X2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9y bV9kcml2ZXJfdW5yZWdpc3Rlcigmc3BlYXIxMzQwX21pcGh5X2RyaXZlcik7Cit9Cittb2R1bGVf ZXhpdChzcGVhcjEzNDBfbWlwaHlfcGh5X2V4aXQpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlNU IFNQRUFSMTM0MC1NSVBIWSBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIlByYXR5dXNoIEFuYW5k IDxwcmF0eXVzaC5hbmFuZEBzdC5jb20+Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7Ci0t IAoxLjcuMC4xCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2OC0zLjE2LXJjMy8wMDA2LVNQRUFyMTNY WC1BZGQtYmluZGluZy1pbmZvcm1hdGlvbi1mb3ItUENJZS1jb250cm9sbGUucGF0Y2gAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMTEzNzM1ADAwMDI1NzMAMDAwMDAwMDMxNzYAMTIz NTY2NzcxMzYAMDI1MDQ1ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHVzdGFyICAAbW9oaXRrdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzd2RldgAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZyb20gYWU0YTc4M2E2YTg1YzQ2MDRmMDUx MzUzNzY1MjAzNjg3ZjdiZjc3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUHJhdHl1 c2ggQW5hbmQgPHByYXR5dXNoLmFuYW5kQHN0LmNvbT4KRGF0ZTogVHVlLCAxMSBGZWIgMjAxNCAx MTowMjo1NCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggNi85XSBTUEVBcjEzWFg6IEFkZCBiaW5kaW5n IGluZm9ybWF0aW9uIGZvciBQQ0llIGNvbnRyb2xsZXIKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PSJ1dGYtOCIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKU1BFQXIx M1hYIHVzZXMgZGVzaWdud2FyZSBQQ0llIGNvbnRyb2xsZXIuIFRoaXMgcGF0Y2ggYWRkcyBpbmZv cm1hdGlvbgpmb3IgdGhlIFBDSWUgYmluZGluZyBwcm9wZXJ0aWVzIHdoaWNoIGFyZSBzcGVjaWZp YyB0byBTUEVBcjEzWFggU29DCnNlcmllcy4KClNpZ25lZC1vZmYtYnk6IFByYXR5dXNoIEFuYW5k IDxwcmF0eXVzaC5hbmFuZEBzdC5jb20+CkFja2VkLWJ5OiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFy bmRiLmRlPgpDYzogTW9oaXQgS3VtYXIgPG1vaGl0Lmt1bWFyQHN0LmNvbT4KQ2M6IFZpcmVzaCBL dW1hciA8dmlyZXNoLmxpbnV4QGdtYWlsLmNvbT4KQ2M6IHNwZWFyLWRldmVsQGxpc3Quc3QuY29t CkNjOiBkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZwotLS0KIC4uLi9kZXZpY2V0cmVlL2JpbmRp bmdzL3BjaS9zcGVhcjEzeHgtcGNpZS50eHQgICAgIHwgICAxNCArKysrKysrKysrKysrKwogMSBm aWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wY2kvc3BlYXIxM3h4 LXBjaWUudHh0CgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdz L3BjaS9zcGVhcjEzeHgtcGNpZS50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvcGNpL3NwZWFyMTN4eC1wY2llLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi40OWVhNzZkCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL3BjaS9zcGVhcjEzeHgtcGNpZS50eHQKQEAgLTAsMCArMSwxNCBAQAorU1BFQXIx M1hYIFBDSWUgRFQgZGV0YWlsOgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwor U1BFQXIxM1hYIHVzZXMgc3lub3BzaXMgZGVzaWdud2FyZSBQQ0llIGNvbnRyb2xsZXIgYW5kIFNU IE1pUEhZIGFzIHBoeQorY29udHJvbGxlci4KKworUmVxdWlyZWQgcHJvcGVydGllczoKKy0gY29t cGF0aWJsZSA6IHNob3VsZCBiZSAic3Qsc3BlYXIxMzQwLXBjaWUiLCAic25wcyxkdy1wY2llIi4K Ky0gcGh5cwkJICAgIDogcGhhbmRsZSB0byBwaHkgbm9kZSBhc3NvY2lhdGVkIHdpdGggcGNpZSBj b250cm9sbGVyCistIHBoeS1uYW1lcwkgICAgOiBtdXN0IGJlICJwY2llLXBoeSIKKy0gQWxsIG90 aGVyIGRlZmluaXRpb25zIGFzIHBlciBnZW5lcmljIFBDSSBiaW5kaW5ncworCisgT3B0aW9uYWwg cHJvcGVydGllczoKKy0gc3QscGNpZS1pcy1nZW4xIGluZGljYXRlcyB0aGF0IGZvcmNlZCBnZW4x IGluaXRpYWxpemF0aW9uIGlzIG5lZWRlZC4KLS0gCjEuNy4wLjEKCgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdjgtMy4xNi1yYzMvMDAwNy1TUEVBcjEzWFgtZHRz LUFkZC1QQ0llLW5vZGUtaW5mb3JtYXRpb24ucGF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAADAwMDA2NDQAMDExMzczNQAwMDAyNTczADAwMDAwMDA3NDc2ADEyMzU2Njc3 MTM2ADAyMjM3NQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAG1vaGl0a3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc3dkZXYAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGcm9tIGY3ZTJmODI3NDM4ZGIyMTBkZjk1ZTQ5MmI4 MWQzOTk3NDM3ODg0ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFByYXR5dXNoIEFu YW5kIDxwcmF0eXVzaC5hbmFuZEBzdC5jb20+CkRhdGU6IFR1ZSwgMTEgRmViIDIwMTQgMTE6MzI6 MzMgKzA1MzAKU3ViamVjdDogW1BBVENIIDcvOV0gU1BFQXIxM1hYOiBkdHM6IEFkZCBQQ0llIG5v ZGUgaW5mb3JtYXRpb24KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJ1dGYtOCIK Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKU1BFQXIxMzEwIGFuZCBTUEVBcjEzNDAg c3VwcG9ydHMgMyBhbmQgMSBQQ0llIGNvbnRyb2xsZXIgcmVzcGVjdGl2ZWx5LgpUaGVzZSBjb250 cm9sbGVycyBhcmUgYmFzZWQgb24gc3lub3BzeXMgZGVzaWdud2FyZSBjb250cm9sbGVyLgoKU2ln bmVkLW9mZi1ieTogUHJhdHl1c2ggQW5hbmQgPHByYXR5dXNoLmFuYW5kQHN0LmNvbT4KQWNrZWQt Ynk6IEFybmQgQmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+CkNjOiBNb2hpdCBLdW1hciA8bW9oaXQu a3VtYXJAc3QuY29tPgpDYzogVmlyZXNoIEt1bWFyIDx2aXJlc2gubGludXhAZ21haWwuY29tPgpD Yzogc3BlYXItZGV2ZWxAbGlzdC5zdC5jb20KQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwotLS0KIGFyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTMxMC5kdHNpIHwgICA0OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogYXJjaC9hcm0vYm9vdC9kdHMv c3BlYXIxMzQwLmR0c2kgfCAgIDE2ICsrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2NCBp bnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3Qv ZHRzL3NwZWFyMTMxMC5kdHNpIGIvYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxMzEwLmR0c2kKaW5k ZXggNjRlN2RkNS4uNTNmNzNhMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIx MzEwLmR0c2kKKysrIGIvYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxMzEwLmR0c2kKQEAgLTgzLDYg KzgzLDU0IEBACiAJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwogCQl9OwogCisJCXBjaWUwOiBwY2ll QGIxMDAwMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAic3Qsc3BlYXIxMzQwLXBjaWUiLCAic25wcyxk dy1wY2llIjsKKwkJCXJlZyA9IDwweGIxMDAwMDAwIDB4NDAwMD47CisJCQlpbnRlcnJ1cHRzID0g PDAgNjggMHg0PjsKKwkJCWludGVycnVwdC1tYXAtbWFzayA9IDwwIDAgMCAwPjsKKwkJCWludGVy cnVwdC1tYXAgPSA8MHgwIDAgJmdpYyAwIDY4IDB4ND47CisJCQludW0tbGFuZXMgPSA8MT47CisJ CQkjYWRkcmVzcy1jZWxscyA9IDwzPjsKKwkJCSNzaXplLWNlbGxzID0gPDI+OworCQkJZGV2aWNl X3R5cGUgPSAicGNpIjsKKwkJCXJhbmdlcyA9IDwweDAwMDAwODAwIDAgMHg4MDAwMDAwMCAweDgw MDAwMDAwIDAgMHgwMDAyMDAwMCAgIC8qIGNvbmZpZ3VyYXRpb24gc3BhY2UgKi8KKwkJCQkweDgx MDAwMDAwIDAgMAkgMHg4MDAyMDAwMCAwIDB4MDAwMTAwMDAgICAvKiBkb3duc3RyZWFtIEkvTyAq LworCQkJCTB4ODIwMDAwMDAgMCAweDgwMDMwMDAwIDB4YzAwMzAwMDAgMCAweDBmZmQwMDAwPjsg Lyogbm9uLXByZWZldGNoYWJsZSBtZW1vcnkgKi8KKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJ CX07CisKKwkJcGNpZTE6IHBjaWVAYjE4MDAwMDAgeworCQkJY29tcGF0aWJsZSA9ICJzdCxzcGVh cjEzNDAtcGNpZSIsICJzbnBzLGR3LXBjaWUiOworCQkJcmVnID0gPDB4YjE4MDAwMDAgMHg0MDAw PjsKKwkJCWludGVycnVwdHMgPSA8MCA2OSAweDQ+OworCQkJaW50ZXJydXB0LW1hcC1tYXNrID0g PDAgMCAwIDA+OworCQkJaW50ZXJydXB0LW1hcCA9IDwweDAgMCAmZ2ljIDAgNjkgMHg0PjsKKwkJ CW51bS1sYW5lcyA9IDwxPjsKKwkJCSNhZGRyZXNzLWNlbGxzID0gPDM+OworCQkJI3NpemUtY2Vs bHMgPSA8Mj47CisJCQlkZXZpY2VfdHlwZSA9ICJwY2kiOworCQkJcmFuZ2VzID0gPDB4MDAwMDA4 MDAgMCAweDkwMDAwMDAwIDB4OTAwMDAwMDAgMCAweDAwMDIwMDAwICAgLyogY29uZmlndXJhdGlv biBzcGFjZSAqLworCQkJCTB4ODEwMDAwMDAgMCAwICAweDkwMDIwMDAwIDAgMHgwMDAxMDAwMCAg IC8qIGRvd25zdHJlYW0gSS9PICovCisJCQkJMHg4MjAwMDAwMCAwIDB4OTAwMzAwMDAgMHg5MDAz MDAwMCAwIDB4MGZmZDAwMDA+OyAvKiBub24tcHJlZmV0Y2hhYmxlIG1lbW9yeSAqLworCQkJc3Rh dHVzID0gImRpc2FibGVkIjsKKwkJfTsKKworCQlwY2llMjogcGNpZUBiNDAwMDAwMCB7CisJCQlj b21wYXRpYmxlID0gInN0LHNwZWFyMTM0MC1wY2llIiwgInNucHMsZHctcGNpZSI7CisJCQlyZWcg PSA8MHhiNDAwMDAwMCAweDQwMDA+OworCQkJaW50ZXJydXB0cyA9IDwwIDcwIDB4ND47CisJCQlp bnRlcnJ1cHQtbWFwLW1hc2sgPSA8MCAwIDAgMD47CisJCQlpbnRlcnJ1cHQtbWFwID0gPDB4MCAw ICZnaWMgMCA3MCAweDQ+OworCQkJbnVtLWxhbmVzID0gPDE+OworCQkJI2FkZHJlc3MtY2VsbHMg PSA8Mz47CisJCQkjc2l6ZS1jZWxscyA9IDwyPjsKKwkJCWRldmljZV90eXBlID0gInBjaSI7CisJ CQlyYW5nZXMgPSA8MHgwMDAwMDgwMCAwIDB4YzAwMDAwMDAgMHhjMDAwMDAwMCAwIDB4MDAwMjAw MDAgICAvKiBjb25maWd1cmF0aW9uIHNwYWNlICovCisJCQkJMHg4MTAwMDAwMCAwIDAJIDB4YzAw MjAwMDAgMCAweDAwMDEwMDAwICAgLyogZG93bnN0cmVhbSBJL08gKi8KKwkJCQkweDgyMDAwMDAw IDAgMHhjMDAzMDAwMCAweGMwMDMwMDAwIDAgMHgwZmZkMDAwMD47IC8qIG5vbi1wcmVmZXRjaGFi bGUgbWVtb3J5ICovCisJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9OworCiAJCWdtYWMxOiBl dGhANWM0MDAwMDAgewogCQkJY29tcGF0aWJsZSA9ICJzdCxzcGVhcjYwMC1nbWFjIjsKIAkJCXJl ZyA9IDwweDVjNDAwMDAwIDB4ODAwMD47CmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9z cGVhcjEzNDAuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTM0MC5kdHNpCmluZGV4IGI4 YjMyYzcuLmJjNDkyZjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTM0MC5k dHNpCisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTM0MC5kdHNpCkBAIC00OCw2ICs0OCwy MiBAQAogCQkJc3RhdHVzID0gImRpc2FibGVkIjsKIAkJfTsKIAorCQlwY2llMDogcGNpZUBiMTAw MDAwMCB7CisJCQljb21wYXRpYmxlID0gInN0LHNwZWFyMTM0MC1wY2llIiwgInNucHMsZHctcGNp ZSI7CisJCQlyZWcgPSA8MHhiMTAwMDAwMCAweDQwMDA+OworCQkJaW50ZXJydXB0cyA9IDwwIDY4 IDB4ND47CisJCQlpbnRlcnJ1cHQtbWFwLW1hc2sgPSA8MCAwIDAgMD47CisJCQlpbnRlcnJ1cHQt bWFwID0gPDB4MCAwICZnaWMgMCA2OCAweDQ+OworCQkJbnVtLWxhbmVzID0gPDE+OworCQkJI2Fk ZHJlc3MtY2VsbHMgPSA8Mz47CisJCQkjc2l6ZS1jZWxscyA9IDwyPjsKKwkJCWRldmljZV90eXBl ID0gInBjaSI7CisJCQlyYW5nZXMgPSA8MHgwMDAwMDgwMCAwIDB4ODAwMDAwMDAgMHg4MDAwMDAw MCAwIDB4MDAwMjAwMDAgICAvKiBjb25maWd1cmF0aW9uIHNwYWNlICovCisJCQkJMHg4MTAwMDAw MCAwIDAJIDB4ODAwMjAwMDAgMCAweDAwMDEwMDAwICAgLyogZG93bnN0cmVhbSBJL08gKi8KKwkJ CQkweDgyMDAwMDAwIDAgMHg4MDAzMDAwMCAweGMwMDMwMDAwIDAgMHgwZmZkMDAwMD47IC8qIG5v bi1wcmVmZXRjaGFibGUgbWVtb3J5ICovCisJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9Owor CiAJCWkycy1wbGF5QGIyNDAwMDAwIHsKIAkJCWNvbXBhdGlibGUgPSAic25wcyxkZXNpZ253YXJl LWkycyI7CiAJCQlyZWcgPSA8MHhiMjQwMDAwMCAweDEwMDAwPjsKLS0gCjEuNy4wLjEKCgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAdjgtMy4xNi1yYzMvMDAwOC1wY2llLVNQRUFyMTN4eC1BZGQtZGVz aWdud2FyZS13cmFwcGVyLXN1cHBvcnQucGF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA2NDQAMDExMzczNQAwMDAyNTczADAwMDAwMDQwNzc2ADEyMzU2Njc3MTM2ADAyNDEx NgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAG1v aGl0a3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc3dkZXYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABGcm9tIDZhMjI5NTY0MDhkMGIyODU5ZGFmMTY4YTA0NzIzZjA3Y2Zk MmNmNzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFByYXR5dXNoIEFuYW5kIDxwcmF0 eXVzaC5hbmFuZEBzdC5jb20+CkRhdGU6IFR1ZSwgMTEgRmViIDIwMTQgMTE6Mzk6MjYgKzA1MzAK U3ViamVjdDogW1BBVENIIDgvOV0gcGNpZTogU1BFQXIxM3h4OiBBZGQgZGVzaWdud2FyZSB3cmFw cGVyIHN1cHBvcnQKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJ1dGYtOCIKQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKU1BFQXIxMzEwIGFuZCBTUEVBcjEzNDAgU09D IHVzZXMgZGVzaWdud2FyZSBQQ0llIGNvbnRyb2xsZXIuIEFkZApTUEVBcjEzeHggUENJZSBkcml2 ZXIgYmFzZWQgb24gZGVzaWdud2FyZSBjb250cm9sbGVyIGRyaXZlci4KClNQRUFyMTMxMCBoYXMg MyBQQ0llIHBvcnRzIGFuZCBTUEVBcjEzNDAgaGFzIDEsIHdoaWNoIGFyZSBtdWx0aXBsZXhlZAp3 aXRoIGFoY2kvc2F0YSBwaW5zLiBCeSBkZWZhdWx0IGV2YWx1YXRpb24gYm9hcmQgb2YgYm90aCBj b250cm9sbGVyCndvcmtzIGZvciBhaGNpIG1vZGUuClRvIHVzZSB0aGVzZSBwYXRjaGVzIG9uIFNQ RUFyMTM0MC8xMzEwIGV2YWx1YXRpb24gYm9hcmQsIGRvIHRoZQpuZWNlc3NhcnkgbW9kaWZpY2F0 aW9ucyBvbiBib2FyZCBhbmQgZW5hYmxlIChva2F5KSBwY2llIGFuZCBtaXBoeQpmcm9tIHJlc3Bl Y3RpdmUgZXZiIGR0c2kgZmlsZS4KCkFkZCBNb2hpdCBLdW1hciBhcyBtYWludGFpbmVyIGZvciBT VCBTUEVBcjEzeHggUENJZSBkcml2ZXIuCgpTaWduZWQtb2ZmLWJ5OiBQcmF0eXVzaCBBbmFuZCA8 cHJhdHl1c2guYW5hbmRAc3QuY29tPgpTaWduZWQtb2ZmLWJ5OiBNb2hpdCBLdW1hciA8bW9oaXQu a3VtYXJAc3QuY29tPgpBY2tlZC1ieTogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KQWNr ZWQtYnk6IEJqb3JuIEhlbGdhYXMgPGJoZWxnYWFzQGdvb2dsZS5jb20+CkFja2VkLWJ5OiBKaW5n b28gSGFuIDxqZzEuaGFuQHNhbXN1bmcuY29tPgpDYzogVmlyZXNoIEt1bWFyIDx2aXJlc2gubGlu dXhAZ21haWwuY29tPgpDYzogc3BlYXItZGV2ZWxAbGlzdC5zdC5jb20KQ2M6IGxpbnV4LXBjaUB2 Z2VyLmtlcm5lbC5vcmcKLS0tCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgfCAg ICA2ICsKIGFyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTMxMC5kdHNpICB8ICAgIDYgKwogYXJjaC9h cm0vYm9vdC9kdHMvc3BlYXIxMzQwLmR0c2kgIHwgICAgMiArCiBhcmNoL2FybS9ib290L2R0cy9z cGVhcjEzeHguZHRzaSAgfCAgICA0ICstCiBhcmNoL2FybS9tYWNoLXNwZWFyL0tjb25maWcgICAg ICAgfCAgICAxICsKIGRyaXZlcnMvcGNpL2hvc3QvS2NvbmZpZyAgICAgICAgICB8ICAgIDggKwog ZHJpdmVycy9wY2kvaG9zdC9NYWtlZmlsZSAgICAgICAgIHwgICAgMSArCiBkcml2ZXJzL3BjaS9o b3N0L3BjaWUtc3BlYXIxM3h4LmMgfCAgNDA2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDggZmlsZXMgY2hhbmdlZCwgNDMyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wY2kvaG9zdC9wY2llLXNwZWFyMTN4eC5j CgpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwppbmRleCA3MDJjYTEwLi40 NDNkZDA1IDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtNjgy MCw2ICs2ODIwLDEyIEBAIFM6CU1haW50YWluZWQKIEY6CURvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9wY2kvaG9zdC1nZW5lcmljLXBjaS50eHQKIEY6CWRyaXZlcnMvcGNpL2hvc3Qv cGNpLWhvc3QtZ2VuZXJpYy5jCiAKK1BDSUUgRFJJVkVSIEZPUiBTVCBTUEVBUjEzWFgKK006CU1v aGl0IEt1bWFyIDxtb2hpdC5rdW1hckBzdC5jb20+CitMOglsaW51eC1wY2lAdmdlci5rZXJuZWwu b3JnCitTOglNYWludGFpbmVkCitGOglkcml2ZXJzL3BjaS9ob3N0L3BjaWUtc3BlYXIxM3h4LmMK KwogUENNQ0lBIFNVQlNZU1RFTQogUDoJTGludXggUENNQ0lBIFRlYW0KIEw6CWxpbnV4LXBjbWNp YUBsaXN0cy5pbmZyYWRlYWQub3JnCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9zcGVh cjEzMTAuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTMxMC5kdHNpCmluZGV4IDUzZjcz YTIuLjc3YmViYWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTMxMC5kdHNp CisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTMxMC5kdHNpCkBAIC05MCw2ICs5MCw4IEBA CiAJCQlpbnRlcnJ1cHQtbWFwLW1hc2sgPSA8MCAwIDAgMD47CiAJCQlpbnRlcnJ1cHQtbWFwID0g PDB4MCAwICZnaWMgMCA2OCAweDQ+OwogCQkJbnVtLWxhbmVzID0gPDE+OworCQkJcGh5cyA9IDwm bWlwaHkwIDE+OworCQkJcGh5LW5hbWVzID0gInBjaWUtcGh5IjsKIAkJCSNhZGRyZXNzLWNlbGxz ID0gPDM+OwogCQkJI3NpemUtY2VsbHMgPSA8Mj47CiAJCQlkZXZpY2VfdHlwZSA9ICJwY2kiOwpA QCAtMTA2LDYgKzEwOCw4IEBACiAJCQlpbnRlcnJ1cHQtbWFwLW1hc2sgPSA8MCAwIDAgMD47CiAJ CQlpbnRlcnJ1cHQtbWFwID0gPDB4MCAwICZnaWMgMCA2OSAweDQ+OwogCQkJbnVtLWxhbmVzID0g PDE+OworCQkJcGh5cyA9IDwmbWlwaHkxIDE+OworCQkJcGh5LW5hbWVzID0gInBjaWUtcGh5IjsK IAkJCSNhZGRyZXNzLWNlbGxzID0gPDM+OwogCQkJI3NpemUtY2VsbHMgPSA8Mj47CiAJCQlkZXZp Y2VfdHlwZSA9ICJwY2kiOwpAQCAtMTIyLDYgKzEyNiw4IEBACiAJCQlpbnRlcnJ1cHQtbWFwLW1h c2sgPSA8MCAwIDAgMD47CiAJCQlpbnRlcnJ1cHQtbWFwID0gPDB4MCAwICZnaWMgMCA3MCAweDQ+ OwogCQkJbnVtLWxhbmVzID0gPDE+OworCQkJcGh5cyA9IDwmbWlwaHkyIDE+OworCQkJcGh5LW5h bWVzID0gInBjaWUtcGh5IjsKIAkJCSNhZGRyZXNzLWNlbGxzID0gPDM+OwogCQkJI3NpemUtY2Vs bHMgPSA8Mj47CiAJCQlkZXZpY2VfdHlwZSA9ICJwY2kiOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0v Ym9vdC9kdHMvc3BlYXIxMzQwLmR0c2kgYi9hcmNoL2FybS9ib290L2R0cy9zcGVhcjEzNDAuZHRz aQppbmRleCBiYzQ5MmY1Li4wZDhmZTMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib290L2R0cy9z cGVhcjEzNDAuZHRzaQorKysgYi9hcmNoL2FybS9ib290L2R0cy9zcGVhcjEzNDAuZHRzaQpAQCAt NTUsNiArNTUsOCBAQAogCQkJaW50ZXJydXB0LW1hcC1tYXNrID0gPDAgMCAwIDA+OwogCQkJaW50 ZXJydXB0LW1hcCA9IDwweDAgMCAmZ2ljIDAgNjggMHg0PjsKIAkJCW51bS1sYW5lcyA9IDwxPjsK KwkJCXBoeXMgPSA8Jm1pcGh5MCAxPjsKKwkJCXBoeS1uYW1lcyA9ICJwY2llLXBoeSI7CiAJCQkj YWRkcmVzcy1jZWxscyA9IDwzPjsKIAkJCSNzaXplLWNlbGxzID0gPDI+OwogCQkJZGV2aWNlX3R5 cGUgPSAicGNpIjsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRzL3NwZWFyMTN4eC5kdHNp IGIvYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxM3h4LmR0c2kKaW5kZXggM2E3MjUwOC4uYTZlYjU0 MyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYm9vdC9kdHMvc3BlYXIxM3h4LmR0c2kKKysrIGIvYXJj aC9hcm0vYm9vdC9kdHMvc3BlYXIxM3h4LmR0c2kKQEAgLTgzLDggKzgzLDggQEAKIAkJI3NpemUt Y2VsbHMgPSA8MT47CiAJCWNvbXBhdGlibGUgPSAic2ltcGxlLWJ1cyI7CiAJCXJhbmdlcyA9IDww eDUwMDAwMDAwIDB4NTAwMDAwMDAgMHgxMDAwMDAwMAotCQkJICAweGIwMDAwMDAwIDB4YjAwMDAw MDAgMHgxMDAwMDAwMAotCQkJICAweGQwMDAwMDAwIDB4ZDAwMDAwMDAgMHgwMjAwMDAwMAorCQkJ ICAweDgwMDAwMDAwIDB4ODAwMDAwMDAgMHgyMDAwMDAwMAorCQkJICAweGIwMDAwMDAwIDB4YjAw MDAwMDAgMHgyMjAwMDAwMAogCQkJICAweGQ4MDAwMDAwIDB4ZDgwMDAwMDAgMHgwMTAwMDAwMAog CQkJICAweGUwMDAwMDAwIDB4ZTAwMDAwMDAgMHgxMDAwMDAwMD47CiAKZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL21hY2gtc3BlYXIvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtc3BlYXIvS2NvbmZpZwpp bmRleCBiNWE4ZDk4Li42ZmQ0ZGM4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXNwZWFyL0tj b25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1zcGVhci9LY29uZmlnCkBAIC0yMCw2ICsyMCw3IEBA IGNvbmZpZyBBUkNIX1NQRUFSMTNYWAogCXNlbGVjdCBIQVZFX0FSTV9UV0QgaWYgU01QCiAJc2Vs ZWN0IFBJTkNUUkwKIAlzZWxlY3QgTUZEX1NZU0NPTgorCXNlbGVjdCBNSUdIVF9IQVZFX1BDSQog CWhlbHAKIAkgIFN1cHBvcnRzIGZvciBBUk0ncyBTUEVBUjEzWFggZmFtaWx5CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvcGNpL2hvc3QvS2NvbmZpZyBiL2RyaXZlcnMvcGNpL2hvc3QvS2NvbmZpZwpp bmRleCAyMWRmNDc3Li4yZDhhNGQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjaS9ob3N0L0tjb25m aWcKKysrIGIvZHJpdmVycy9wY2kvaG9zdC9LY29uZmlnCkBAIC00Niw0ICs0NiwxMiBAQCBjb25m aWcgUENJX0hPU1RfR0VORVJJQwogCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0byBzdXBwb3J0 IGEgc2ltcGxlIGdlbmVyaWMgUENJIGhvc3QKIAkgIGNvbnRyb2xsZXIsIHN1Y2ggYXMgdGhlIG9u ZSBlbXVsYXRlZCBieSBrdm10b29sLgogCitjb25maWcgUENJRV9TUEVBUjEzWFgKKwl0cmlzdGF0 ZSAiU1RNaWNyb2VsZWN0cm9uaWNzIFNQRUFyIFBDSWUgY29udHJvbGxlciIKKwlkZXBlbmRzIG9u IEFSQ0hfU1BFQVIxM1hYCisJc2VsZWN0IFBDSUVQT1JUQlVTCisJc2VsZWN0IFBDSUVfRFcKKwlo ZWxwCisJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IFBDSWUgc3VwcG9ydCBvbiBTUEVBcjEzWFgg U29Dcy4KKwogZW5kbWVudQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvaG9zdC9NYWtlZmlsZSBi L2RyaXZlcnMvcGNpL2hvc3QvTWFrZWZpbGUKaW5kZXggNjExYmE0Yi4uMGRhZWM3OSAxMDA2NDQK LS0tIGEvZHJpdmVycy9wY2kvaG9zdC9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3BjaS9ob3N0L01h a2VmaWxlCkBAIC02LDMgKzYsNCBAQCBvYmotJChDT05GSUdfUENJX1RFR1JBKSArPSBwY2ktdGVn cmEubwogb2JqLSQoQ09ORklHX1BDSV9SQ0FSX0dFTjIpICs9IHBjaS1yY2FyLWdlbjIubwogb2Jq LSQoQ09ORklHX1BDSV9SQ0FSX0dFTjJfUENJRSkgKz0gcGNpZS1yY2FyLm8KIG9iai0kKENPTkZJ R19QQ0lfSE9TVF9HRU5FUklDKSArPSBwY2ktaG9zdC1nZW5lcmljLm8KK29iai0kKENPTkZJR19Q Q0lFX1NQRUFSMTNYWCkgKz0gcGNpZS1zcGVhcjEzeHgubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9w Y2kvaG9zdC9wY2llLXNwZWFyMTN4eC5jIGIvZHJpdmVycy9wY2kvaG9zdC9wY2llLXNwZWFyMTN4 eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNDg3NGEKLS0tIC9kZXYv bnVsbAorKysgYi9kcml2ZXJzL3BjaS9ob3N0L3BjaWUtc3BlYXIxM3h4LmMKQEAgLTAsMCArMSw0 MDYgQEAKKy8qCisgKiBQQ0llIGhvc3QgY29udHJvbGxlciBkcml2ZXIgZm9yIFNUIE1pY3JvZWxl Y3Ryb25pY3MgU1BFQXIxM3h4IFNvQ3MKKyAqCisgKiBTUEVBcjEzeHggUENJZSBHbHVlIExheWVy IFNvdXJjZSBDb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTQgU1QgTWljcm9lbGVj dHJvbmljcworICogUHJhdHl1c2ggQW5hbmQgPHByYXR5dXNoLmFuYW5kQHN0LmNvbT4KKyAqIE1v aGl0IEt1bWFyIDxtb2hpdC5rdW1hckBzdC5jb20+CisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vu c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl IHZlcnNpb24gMi4gVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkK KyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAq LworCisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNp bmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNp bmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9vZi5oPgorI2luY2x1ZGUg PGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L3BoeS9waHkuaD4KKyNpbmNsdWRlIDxsaW51 eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9yZXNvdXJjZS5oPgorCisjaW5j bHVkZSAicGNpZS1kZXNpZ253YXJlLmgiCisKK3N0cnVjdCBzcGVhcjEzeHhfcGNpZSB7CisJdm9p ZCBfX2lvbWVtCQkqYXBwX2Jhc2U7CisJc3RydWN0IHBoeQkJKnBoeTsKKwlzdHJ1Y3QgY2xrCQkq Y2xrOworCXN0cnVjdCBwY2llX3BvcnQJcHA7CisJYm9vbAkJCWlzX2dlbjE7Cit9OworCitzdHJ1 Y3QgcGNpZV9hcHBfcmVnIHsKKwl1MzIJYXBwX2N0cmxfMDsJCS8qIGNyMCAqLworCXUzMglhcHBf Y3RybF8xOwkJLyogY3IxICovCisJdTMyCWFwcF9zdGF0dXNfMDsJCS8qIGNyMiAqLworCXUzMglh cHBfc3RhdHVzXzE7CQkvKiBjcjMgKi8KKwl1MzIJbXNnX3N0YXR1czsJCS8qIGNyNCAqLworCXUz Mgltc2dfcGF5bG9hZDsJCS8qIGNyNSAqLworCXUzMglpbnRfc3RzOwkJLyogY3I2ICovCisJdTMy CWludF9jbHI7CQkvKiBjcjcgKi8KKwl1MzIJaW50X21hc2s7CQkvKiBjcjggKi8KKwl1MzIJbXN0 X2JtaXNjOwkJLyogY3I5ICovCisJdTMyCXBoeV9jdHJsOwkJLyogY3IxMCAqLworCXUzMglwaHlf c3RhdHVzOwkJLyogY3IxMSAqLworCXUzMgljeHBsX2RlYnVnX2luZm9fMDsJLyogY3IxMiAqLwor CXUzMgljeHBsX2RlYnVnX2luZm9fMTsJLyogY3IxMyAqLworCXUzMgl2ZW5fbXNnX2N0cmxfMDsJ CS8qIGNyMTQgKi8KKwl1MzIJdmVuX21zZ19jdHJsXzE7CQkvKiBjcjE1ICovCisJdTMyCXZlbl9t c2dfZGF0YV8wOwkJLyogY3IxNiAqLworCXUzMgl2ZW5fbXNnX2RhdGFfMTsJCS8qIGNyMTcgKi8K Kwl1MzIJdmVuX21zaV8wOwkJLyogY3IxOCAqLworCXUzMgl2ZW5fbXNpXzE7CQkvKiBjcjE5ICov CisJdTMyCW1zdF9ybWlzYzsJCS8qIGNyMjAgKi8KK307CisKKy8qIENSMCBJRCAqLworI2RlZmlu ZSBSWF9MQU5FX0ZMSVBfRU5fSUQJCQkwCisjZGVmaW5lIFRYX0xBTkVfRkxJUF9FTl9JRAkJCTEK KyNkZWZpbmUgU1lTX0FVWF9QV1JfREVUX0lECQkJMgorI2RlZmluZSBBUFBfTFRTU01fRU5BQkxF X0lECQkJMworI2RlZmluZSBTWVNfQVRURU5fQlVUVE9OX1BSRVNTRURfSUQJCTQKKyNkZWZpbmUg U1lTX01STF9TRU5TT1JfU1RBVEVfSUQJCQk1CisjZGVmaW5lIFNZU19QV1JfRkFVTFRfREVUX0lE CQkJNgorI2RlZmluZSBTWVNfTVJMX1NFTlNPUl9DSEdFRF9JRAkJCTcKKyNkZWZpbmUgU1lTX1BS RV9ERVRfQ0hHRURfSUQJCQk4CisjZGVmaW5lIFNZU19DTURfQ1BMRURfSU5UX0lECQkJOQorI2Rl ZmluZSBBUFBfSU5JVF9SU1RfMF9JRAkJCTExCisjZGVmaW5lIEFQUF9SRVFfRU5UUl9MMV9JRAkJ CTEyCisjZGVmaW5lIEFQUF9SRUFEWV9FTlRSX0wyM19JRAkJCTEzCisjZGVmaW5lIEFQUF9SRVFf RVhJVF9MMV9JRAkJCTE0CisjZGVmaW5lIERFVklDRV9UWVBFX0VQCQkJCSgwIDw8IDI1KQorI2Rl ZmluZSBERVZJQ0VfVFlQRV9MRVAJCQkJKDEgPDwgMjUpCisjZGVmaW5lIERFVklDRV9UWVBFX1JD CQkJCSg0IDw8IDI1KQorI2RlZmluZSBTWVNfSU5UX0lECQkJCTI5CisjZGVmaW5lIE1JU0NUUkxf RU5fSUQJCQkJMzAKKyNkZWZpbmUgUkVHX1RSQU5TTEFUSU9OX0VOQUJMRQkJCTMxCisKKy8qIENS MSBJRCAqLworI2RlZmluZSBBUFBTX1BNX1hNVF9UVVJOT0ZGX0lECQkJMgorI2RlZmluZSBBUFBT X1BNX1hNVF9QTUVfSUQJCQk1CisKKy8qIENSMyBJRCAqLworI2RlZmluZSBYTUxIX0xUU1NNX1NU QVRFX0RFVEVDVF9RVUlFVAkJMHgwMAorI2RlZmluZSBYTUxIX0xUU1NNX1NUQVRFX0RFVEVDVF9B Q1QJCTB4MDEKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9QT0xMX0FDVElWRQkJMHgwMgorI2Rl ZmluZSBYTUxIX0xUU1NNX1NUQVRFX1BPTExfQ09NUExJQU5DRQkweDAzCisjZGVmaW5lIFhNTEhf TFRTU01fU1RBVEVfUE9MTF9DT05GSUcJCTB4MDQKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9Q UkVfREVURUNUX1FVSUVUCTB4MDUKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9ERVRFQ1RfV0FJ VAkJMHgwNgorI2RlZmluZSBYTUxIX0xUU1NNX1NUQVRFX0NGR19MSU5LV0RfU1RBUlQJMHgwNwor I2RlZmluZSBYTUxIX0xUU1NNX1NUQVRFX0NGR19MSU5LV0RfQUNFUFQJMHgwOAorI2RlZmluZSBY TUxIX0xUU1NNX1NUQVRFX0NGR19MQU5FTlVNX1dBSVQJMHgwOQorI2RlZmluZSBYTUxIX0xUU1NN X1NUQVRFX0NGR19MQU5FTlVNX0FDRVBUCTB4MEEKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9D RkdfQ09NUExFVEUJCTB4MEIKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9DRkdfSURMRQkJMHgw QworI2RlZmluZSBYTUxIX0xUU1NNX1NUQVRFX1JDVlJZX0xPQ0sJCTB4MEQKKyNkZWZpbmUgWE1M SF9MVFNTTV9TVEFURV9SQ1ZSWV9TUEVFRAkJMHgwRQorI2RlZmluZSBYTUxIX0xUU1NNX1NUQVRF X1JDVlJZX1JDVlJDRkcJCTB4MEYKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9SQ1ZSWV9JRExF CQkweDEwCisjZGVmaW5lIFhNTEhfTFRTU01fU1RBVEVfTDAJCQkweDExCisjZGVmaW5lIFhNTEhf TFRTU01fU1RBVEVfTDBTCQkJMHgxMgorI2RlZmluZSBYTUxIX0xUU1NNX1NUQVRFX0wxMjNfU0VO RF9FSURMRQkweDEzCisjZGVmaW5lIFhNTEhfTFRTU01fU1RBVEVfTDFfSURMRQkJMHgxNAorI2Rl ZmluZSBYTUxIX0xUU1NNX1NUQVRFX0wyX0lETEUJCTB4MTUKKyNkZWZpbmUgWE1MSF9MVFNTTV9T VEFURV9MMl9XQUtFCQkweDE2CisjZGVmaW5lIFhNTEhfTFRTU01fU1RBVEVfRElTQUJMRURfRU5U UlkJCTB4MTcKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9ESVNBQkxFRF9JRExFCQkweDE4Cisj ZGVmaW5lIFhNTEhfTFRTU01fU1RBVEVfRElTQUJMRUQJCTB4MTkKKyNkZWZpbmUgWE1MSF9MVFNT TV9TVEFURV9MUEJLX0VOVFJZCQkweDFBCisjZGVmaW5lIFhNTEhfTFRTU01fU1RBVEVfTFBCS19B Q1RJVkUJCTB4MUIKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9MUEJLX0VYSVQJCTB4MUMKKyNk ZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9MUEJLX0VYSVRfVElNRU9VVAkweDFECisjZGVmaW5lIFhN TEhfTFRTU01fU1RBVEVfSE9UX1JFU0VUX0VOVFJZCTB4MUUKKyNkZWZpbmUgWE1MSF9MVFNTTV9T VEFURV9IT1RfUkVTRVQJCTB4MUYKKyNkZWZpbmUgWE1MSF9MVFNTTV9TVEFURV9NQVNLCQkJMHgz RgorI2RlZmluZSBYTUxIX0xJTktfVVAJCQkJKDEgPDwgNikKKworLyogQ1I0IElEICovCisjZGVm aW5lIENGR19NU0lfRU5fSUQJCQkJMTgKKworLyogQ1I2ICovCisjZGVmaW5lIElOVEFfQ1RSTF9J TlQJCQkJKDEgPDwgNykKKyNkZWZpbmUgSU5UQl9DVFJMX0lOVAkJCQkoMSA8PCA4KQorI2RlZmlu ZSBJTlRDX0NUUkxfSU5UCQkJCSgxIDw8IDkpCisjZGVmaW5lIElOVERfQ1RSTF9JTlQJCQkJKDEg PDwgMTApCisjZGVmaW5lIE1TSV9DVFJMX0lOVAkJCQkoMSA8PCAyNikKKworLyogQ1IxOSBJRCAq LworI2RlZmluZSBWRU5fTVNJX1JFUV9JRAkJCQkxMQorI2RlZmluZSBWRU5fTVNJX0ZVTl9OVU1f SUQJCQk4CisjZGVmaW5lIFZFTl9NU0lfVENfSUQJCQkJNQorI2RlZmluZSBWRU5fTVNJX1ZFQ1RP Ul9JRAkJCTAKKyNkZWZpbmUgVkVOX01TSV9SRVFfRU4JCSgodTMyKTB4MSA8PCBWRU5fTVNJX1JF UV9JRCkKKyNkZWZpbmUgVkVOX01TSV9GVU5fTlVNX01BU0sJKCh1MzIpMHg3IDw8IFZFTl9NU0lf RlVOX05VTV9JRCkKKyNkZWZpbmUgVkVOX01TSV9UQ19NQVNLCQkoKHUzMikweDcgPDwgVkVOX01T SV9UQ19JRCkKKyNkZWZpbmUgVkVOX01TSV9WRUNUT1JfTUFTSwkoKHUzMikweDFGIDw8IFZFTl9N U0lfVkVDVE9SX0lEKQorCisjZGVmaW5lIFBDSV9DQVBfSURfRVhQX09GRlNFVAkJCTB4NzAKKwor I2RlZmluZSB0b19zcGVhcjEzeHhfcGNpZSh4KQljb250YWluZXJfb2YoeCwgc3RydWN0IHNwZWFy MTN4eF9wY2llLCBwcCkKKworc3RhdGljIGludCBzcGVhcjEzeHhfcGNpZV9lc3RhYmxpc2hfbGlu ayhzdHJ1Y3QgcGNpZV9wb3J0ICpwcCkKK3sKKwl1MzIgdmFsOworCWludCBjb3VudCA9IDA7CisJ c3RydWN0IHNwZWFyMTN4eF9wY2llICpzcGVhcjEzeHhfcGNpZSA9IHRvX3NwZWFyMTN4eF9wY2ll KHBwKTsKKwlzdHJ1Y3QgcGNpZV9hcHBfcmVnICphcHBfcmVnID0gc3BlYXIxM3h4X3BjaWUtPmFw cF9iYXNlOworCXUzMiBleHBfY2FwX29mZiA9IFBDSV9DQVBfSURfRVhQX09GRlNFVDsKKworCWlm IChkd19wY2llX2xpbmtfdXAocHApKSB7CisJCWRldl9lcnIocHAtPmRldiwgImxpbmsgYWxyZWFk eSB1cFxuIik7CisJCXJldHVybiAwOworCX0KKworCWR3X3BjaWVfc2V0dXBfcmMocHApOworCisJ LyoKKwkgKiB0aGlzIGNvbnRyb2xsZXIgc3VwcG9ydCBvbmx5IDEyOCBieXRlcyByZWFkIHNpemUs IGhvd2V2ZXIgaXRzCisJICogZGVmYXVsdCB2YWx1ZSBpbiBjYXBhYmlsaXR5IHJlZ2lzdGVyIGlz IDUxMiBieXRlcy4gU28gZm9yY2UKKwkgKiBpdCB0byAxMjggaGVyZS4KKwkgKi8KKwlkd19wY2ll X2NmZ19yZWFkKHBwLT5kYmlfYmFzZSwgZXhwX2NhcF9vZmYgKyBQQ0lfRVhQX0RFVkNUTCwgNCwg JnZhbCk7CisJdmFsICY9IH5QQ0lfRVhQX0RFVkNUTF9SRUFEUlE7CisJZHdfcGNpZV9jZmdfd3Jp dGUocHAtPmRiaV9iYXNlLCBleHBfY2FwX29mZiArIFBDSV9FWFBfREVWQ1RMLCA0LCB2YWwpOwor CisJZHdfcGNpZV9jZmdfd3JpdGUocHAtPmRiaV9iYXNlLCBQQ0lfVkVORE9SX0lELCAyLCAweDEw NEEpOworCWR3X3BjaWVfY2ZnX3dyaXRlKHBwLT5kYmlfYmFzZSwgUENJX0RFVklDRV9JRCwgMiwg MHhDRDgwKTsKKworCS8qCisJICogaWYgaXNfZ2VuMSBpcyBzZXQgdGhlbiBoYW5kbGUgaXQsIHNv IHRoYXQgc29tZSBidWdneSBjYXJkCisJICogYWxzbyB3b3JrcworCSAqLworCWlmIChzcGVhcjEz eHhfcGNpZS0+aXNfZ2VuMSkgeworCQlkd19wY2llX2NmZ19yZWFkKHBwLT5kYmlfYmFzZSwgZXhw X2NhcF9vZmYgKyBQQ0lfRVhQX0xOS0NBUCwgNCwKKwkJCQkmdmFsKTsKKwkJaWYgKCh2YWwgJiBQ Q0lfRVhQX0xOS0NBUF9TTFMpICE9IFBDSV9FWFBfTE5LQ0FQX1NMU18yXzVHQikgeworCQkJdmFs ICY9IH4oKHUzMilQQ0lfRVhQX0xOS0NBUF9TTFMpOworCQkJdmFsIHw9IFBDSV9FWFBfTE5LQ0FQ X1NMU18yXzVHQjsKKwkJCWR3X3BjaWVfY2ZnX3dyaXRlKHBwLT5kYmlfYmFzZSwgZXhwX2NhcF9v ZmYgKworCQkJCQlQQ0lfRVhQX0xOS0NBUCwgNCwgdmFsKTsKKwkJfQorCisJCWR3X3BjaWVfY2Zn X3JlYWQocHAtPmRiaV9iYXNlLCBleHBfY2FwX29mZiArIFBDSV9FWFBfTE5LQ1RMMiwKKwkJCQk0 LCAmdmFsKTsKKwkJaWYgKCh2YWwgJiBQQ0lfRVhQX0xOS0NBUF9TTFMpICE9IFBDSV9FWFBfTE5L Q0FQX1NMU18yXzVHQikgeworCQkJdmFsICY9IH4oKHUzMilQQ0lfRVhQX0xOS0NBUF9TTFMpOwor CQkJdmFsIHw9IFBDSV9FWFBfTE5LQ0FQX1NMU18yXzVHQjsKKwkJCWR3X3BjaWVfY2ZnX3dyaXRl KHBwLT5kYmlfYmFzZSwgZXhwX2NhcF9vZmYgKworCQkJCQlQQ0lfRVhQX0xOS0NUTDIsIDQsIHZh bCk7CisJCX0KKwl9CisKKwkvKiBlbmFibGUgbHRzc20gKi8KKwl3cml0ZWwoREVWSUNFX1RZUEVf UkMgfCAoMSA8PCBNSVNDVFJMX0VOX0lEKQorCQkJfCAoMSA8PCBBUFBfTFRTU01fRU5BQkxFX0lE KQorCQkJfCAoKHUzMikxIDw8IFJFR19UUkFOU0xBVElPTl9FTkFCTEUpLAorCQkJJmFwcF9yZWct PmFwcF9jdHJsXzApOworCisJLyogY2hlY2sgaWYgdGhlIGxpbmsgaXMgdXAgb3Igbm90ICovCisJ d2hpbGUgKCFkd19wY2llX2xpbmtfdXAocHApKSB7CisJCW1kZWxheSgxMDApOworCQljb3VudCsr OworCQlpZiAoY291bnQgPT0gMTApIHsKKwkJCWRldl9lcnIocHAtPmRldiwgImxpbmsgRmFpbFxu Iik7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0KKwlkZXZfaW5mbyhwcC0+ZGV2LCAibGlu ayB1cFxuIik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlycXJldHVybl90IHNwZWFyMTN4 eF9wY2llX2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKK3sKKwlzdHJ1Y3QgcGNpZV9w b3J0ICpwcCA9IGFyZzsKKwlzdHJ1Y3Qgc3BlYXIxM3h4X3BjaWUgKnNwZWFyMTN4eF9wY2llID0g dG9fc3BlYXIxM3h4X3BjaWUocHApOworCXN0cnVjdCBwY2llX2FwcF9yZWcgKmFwcF9yZWcgPSBz cGVhcjEzeHhfcGNpZS0+YXBwX2Jhc2U7CisJdW5zaWduZWQgaW50IHN0YXR1czsKKworCXN0YXR1 cyA9IHJlYWRsKCZhcHBfcmVnLT5pbnRfc3RzKTsKKworCWlmIChzdGF0dXMgJiBNU0lfQ1RSTF9J TlQpIHsKKwkJaWYgKCFJU19FTkFCTEVEKENPTkZJR19QQ0lfTVNJKSkKKwkJCUJVRygpOworCQlk d19oYW5kbGVfbXNpX2lycShwcCk7CisJfQorCisJd3JpdGVsKHN0YXR1cywgJmFwcF9yZWctPmlu dF9jbHIpOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgdm9pZCBzcGVhcjEz eHhfcGNpZV9lbmFibGVfaW50ZXJydXB0cyhzdHJ1Y3QgcGNpZV9wb3J0ICpwcCkKK3sKKwlzdHJ1 Y3Qgc3BlYXIxM3h4X3BjaWUgKnNwZWFyMTN4eF9wY2llID0gdG9fc3BlYXIxM3h4X3BjaWUocHAp OworCXN0cnVjdCBwY2llX2FwcF9yZWcgKmFwcF9yZWcgPSBzcGVhcjEzeHhfcGNpZS0+YXBwX2Jh c2U7CisKKwkvKiBFbmFibGUgTVNJIGludGVycnVwdCAqLworCWlmIChJU19FTkFCTEVEKENPTkZJ R19QQ0lfTVNJKSkgeworCQlkd19wY2llX21zaV9pbml0KHBwKTsKKwkJd3JpdGVsKHJlYWRsKCZh cHBfcmVnLT5pbnRfbWFzaykgfAorCQkJCU1TSV9DVFJMX0lOVCwgJmFwcF9yZWctPmludF9tYXNr KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc3BlYXIxM3h4X3BjaWVfbGlua191cChzdHJ1Y3QgcGNp ZV9wb3J0ICpwcCkKK3sKKwlzdHJ1Y3Qgc3BlYXIxM3h4X3BjaWUgKnNwZWFyMTN4eF9wY2llID0g dG9fc3BlYXIxM3h4X3BjaWUocHApOworCXN0cnVjdCBwY2llX2FwcF9yZWcgKmFwcF9yZWcgPSBz cGVhcjEzeHhfcGNpZS0+YXBwX2Jhc2U7CisKKwlpZiAocmVhZGwoJmFwcF9yZWctPmFwcF9zdGF0 dXNfMSkgJiBYTUxIX0xJTktfVVApCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyB2b2lkIHNwZWFyMTN4eF9wY2llX2hvc3RfaW5pdChzdHJ1Y3QgcGNpZV9wb3J0ICpwcCkK K3sKKwlzcGVhcjEzeHhfcGNpZV9lc3RhYmxpc2hfbGluayhwcCk7CisJc3BlYXIxM3h4X3BjaWVf ZW5hYmxlX2ludGVycnVwdHMocHApOworfQorCitzdGF0aWMgc3RydWN0IHBjaWVfaG9zdF9vcHMg c3BlYXIxM3h4X3BjaWVfaG9zdF9vcHMgPSB7CisJLmxpbmtfdXAgPSBzcGVhcjEzeHhfcGNpZV9s aW5rX3VwLAorCS5ob3N0X2luaXQgPSBzcGVhcjEzeHhfcGNpZV9ob3N0X2luaXQsCit9OworCitz dGF0aWMgaW50IGFkZF9wY2llX3BvcnQoc3RydWN0IHBjaWVfcG9ydCAqcHAsIHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsK KwlpbnQgcmV0OworCisJcHAtPmlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7CisJaWYg KCFwcC0+aXJxKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBpcnFcbiIpOworCQly ZXR1cm4gLUVOT0RFVjsKKwl9CisJcmV0ID0gZGV2bV9yZXF1ZXN0X2lycShkZXYsIHBwLT5pcnEs IHNwZWFyMTN4eF9wY2llX2lycV9oYW5kbGVyLAorCQkJCUlSUUZfU0hBUkVELCAic3BlYXIxMzQw LXBjaWUiLCBwcCk7CisJaWYgKHJldCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXF1 ZXN0IGlycSAlZFxuIiwgcHAtPmlycSk7CisJCXJldHVybiByZXQ7CisJfQorCisJcHAtPnJvb3Rf YnVzX25yID0gLTE7CisJcHAtPm9wcyA9ICZzcGVhcjEzeHhfcGNpZV9ob3N0X29wczsKKworCXJl dCA9IGR3X3BjaWVfaG9zdF9pbml0KHBwKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoZGV2LCAi ZmFpbGVkIHRvIGluaXRpYWxpemUgaG9zdFxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHNwZWFyMTN4eF9wY2llX3Byb2JlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNwZWFyMTN4eF9wY2llICpzcGVh cjEzeHhfcGNpZTsKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcDsKKwlzdHJ1Y3QgZGV2aWNlICpkZXYg PSAmcGRldi0+ZGV2OworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBwZGV2LT5kZXYub2Zfbm9k ZTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKmRiaV9iYXNlOworCWludCByZXQ7CisKKwlzcGVhcjEzeHhf cGNpZSA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqc3BlYXIxM3h4X3BjaWUpLAorCQkJCUdG UF9LRVJORUwpOworCWlmICghc3BlYXIxM3h4X3BjaWUpIHsKKwkJZGV2X2VycihkZXYsICJubyBt ZW1vcnkgZm9yIFNQRUFyMTN4eCBwY2llXG4iKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJ c3BlYXIxM3h4X3BjaWUtPnBoeSA9IGRldm1fcGh5X2dldChkZXYsICJwY2llLXBoeSIpOworCWlm IChJU19FUlIoc3BlYXIxM3h4X3BjaWUtPnBoeSkpIHsKKwkJcmV0ID0gUFRSX0VSUihzcGVhcjEz eHhfcGNpZS0+cGh5KTsKKwkJaWYgKHJldCA9PSAtRVBST0JFX0RFRkVSKQorCQkJZGV2X2luZm8o ZGV2LCAicHJvYmUgZGVmZXJyZWRcbiIpOworCQllbHNlCisJCQlkZXZfZXJyKGRldiwgImNvdWxk bid0IGdldCBwY2llLXBoeVxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJcGh5X2luaXQoc3Bl YXIxM3h4X3BjaWUtPnBoeSk7CisKKwlzcGVhcjEzeHhfcGNpZS0+Y2xrID0gZGV2bV9jbGtfZ2V0 KGRldiwgTlVMTCk7CisJaWYgKElTX0VSUihzcGVhcjEzeHhfcGNpZS0+Y2xrKSkgeworCQlkZXZf ZXJyKGRldiwgImNvdWxkbid0IGdldCBjbGsgZm9yIHBjaWVcbiIpOworCQlyZXR1cm4gUFRSX0VS UihzcGVhcjEzeHhfcGNpZS0+Y2xrKTsKKwl9CisJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHNw ZWFyMTN4eF9wY2llLT5jbGspOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihkZXYsICJjb3VsZG4n dCBlbmFibGUgY2xrIGZvciBwY2llXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlwcCA9ICZz cGVhcjEzeHhfcGNpZS0+cHA7CisKKwlwcC0+ZGV2ID0gZGV2OworCisJZGJpX2Jhc2UgPSBwbGF0 Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCXBwLT5kYmlfYmFz ZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIGRiaV9iYXNlKTsKKwlpZiAoSVNfRVJSKHBw LT5kYmlfYmFzZSkpIHsKKwkJZGV2X2VycihkZXYsICJjb3VsZG4ndCByZW1hcCBkYmkgYmFzZSAl cFxuIiwgZGJpX2Jhc2UpOworCQlyZXQgPSBQVFJfRVJSKHBwLT5kYmlfYmFzZSk7CisJCWdvdG8g ZmFpbF9jbGs7CisJfQorCXNwZWFyMTN4eF9wY2llLT5hcHBfYmFzZSA9IHBwLT5kYmlfYmFzZSAr IDB4MjAwMDsKKworCWlmIChvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wobnAsICJzdCxwY2llLWlzLWdl bjEiKSkKKwkJc3BlYXIxM3h4X3BjaWUtPmlzX2dlbjEgPSB0cnVlOworCisJcmV0ID0gYWRkX3Bj aWVfcG9ydChwcCwgcGRldik7CisJaWYgKHJldCA8IDApCisJCWdvdG8gZmFpbF9jbGs7CisKKwlw bGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBzcGVhcjEzeHhfcGNpZSk7CisJcmV0dXJuIDA7CisK K2ZhaWxfY2xrOgorCWNsa19kaXNhYmxlX3VucHJlcGFyZShzcGVhcjEzeHhfcGNpZS0+Y2xrKTsK KworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgX19leGl0IHNwZWFyMTN4eF9wY2llX3Jl bW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzcGVhcjEzeHhf cGNpZSAqc3BlYXIxM3h4X3BjaWUgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCWNs a19kaXNhYmxlX3VucHJlcGFyZShzcGVhcjEzeHhfcGNpZS0+Y2xrKTsKKworCXBoeV9leGl0KHNw ZWFyMTN4eF9wY2llLT5waHkpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIHNwZWFyMTN4eF9wY2llX29mX21hdGNoW10gPSB7CisJeyAuY29tcGF0 aWJsZSA9ICJzdCxzcGVhcjEzNDAtcGNpZSIsIH0sCisJe30sCit9OworTU9EVUxFX0RFVklDRV9U QUJMRShvZiwgc3BlYXIxM3h4X3BjaWVfb2ZfbWF0Y2gpOworCitzdGF0aWMgc3RydWN0IHBsYXRm b3JtX2RyaXZlciBzcGVhcjEzeHhfcGNpZV9kcml2ZXIgPSB7CisJLnByb2JlCQk9IHNwZWFyMTN4 eF9wY2llX3Byb2JlLAorCS5yZW1vdmUJCT0gc3BlYXIxM3h4X3BjaWVfcmVtb3ZlLAorCS5kcml2 ZXIgPSB7CisJCS5uYW1lCT0gInNwZWFyLXBjaWUiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwK KwkJLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfcHRyKHNwZWFyMTN4eF9wY2llX29mX21hdGNo KSwKKwl9LAorfTsKKworLyogU1BFQXIxM3h4IFBDSWUgZHJpdmVyIGRvZXMgbm90IGFsbG93IG1v ZHVsZSB1bmxvYWQgKi8KKworc3RhdGljIGludCBfX2luaXQgcGNpZV9pbml0KHZvaWQpCit7CisJ cmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3Rlcigmc3BlYXIxM3h4X3BjaWVfZHJpdmVyKTsK K30KK21vZHVsZV9pbml0KHBjaWVfaW5pdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiU1QgTWlj cm9lbGVjdHJvbmljcyBTUEVBcjEzeHggUENJZSBob3N0IGNvbnRyb2xsZXIgZHJpdmVyIik7CitN T0RVTEVfQVVUSE9SKCJQcmF0eXVzaCBBbmFuZCA8cHJhdHl1c2guYW5hbmRAc3QuY29tPiIpOwor TU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwotLSAKMS43LjAuMQoKAAB2OC0zLjE2LXJjMy8wMDA5 LVNQRUFyMTN4eC1kZWZjb25maWctVXBkYXRlLnBhdGNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMTEzNzM1ADAwMDI1NzMAMDAwMDAw MDQzNDAAMTIzNTY2NzcxMzYAMDIwMzIyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAbW9oaXRrdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzd2Rl dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZyb20gYWZiNDc4YzRkMWRl OWJiYmMzMzY1YWQ1M2U0MWE2NDY2ODMwZjM4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTW9oaXQgS3VtYXIgPG1vaGl0Lmt1bWFyQHN0LmNvbT4KRGF0ZTogV2VkLCAxMSBEZWMgMjAx MyAwOTo1NjowOCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggOS85XSBTUEVBcjEzeHg6IGRlZmNvbmZp ZzogVXBkYXRlCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkVuYWJsZSBQQ0llLCBFQUJJLCBWRlAgYW5kIE5G UyBjb25maWdzIGluIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmaWxlIGZvcgpTUEVBcjEzeHguCgpT aWduZWQtb2ZmLWJ5OiBNb2hpdCBLdW1hciA8bW9oaXQua3VtYXJAc3QuY29tPgpBY2tlZC1ieTog VmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9yZz4KQ2M6IFByYXR5dXNoIEFuYW5k IDxwcmF0eXVzaC5hbmFuZEBzdC5jb20+CkNjOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRl PgpDYzogc3BlYXItZGV2ZWxAbGlzdC5zdC5jb20KQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwotLS0KIGFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZyB8 ICAgMTYgKysrKysrKysrKysrKysrKwogMSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCsp LCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4 X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZwppbmRleCA4 MmVhYTU1Li5kMjcxYjI2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3NwZWFyMTN4eF9k ZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnCkBAIC0x MSwxMyArMTEsMjQgQEAgQ09ORklHX0FSQ0hfU1BFQVIxM1hYPXkKIENPTkZJR19NQUNIX1NQRUFS MTMxMD15CiBDT05GSUdfTUFDSF9TUEVBUjEzNDA9eQogIyBDT05GSUdfU1dQX0VNVUxBVEUgaXMg bm90IHNldAorQ09ORklHX1BDST15CitDT05GSUdfUENJX01TST15CitDT05GSUdfUENJRV9TUEVB UjEzWFg9eQogQ09ORklHX1NNUD15CiAjIENPTkZJR19TTVBfT05fVVAgaXMgbm90IHNldAogIyBD T05GSUdfQVJNX0NQVV9UT1BPTE9HWSBpcyBub3Qgc2V0CitDT05GSUdfQUVBQkk9eQogQ09ORklH X0FSTV9BUFBFTkRFRF9EVEI9eQogQ09ORklHX0FSTV9BVEFHX0RUQl9DT01QQVQ9eQorQ09ORklH X1ZGUD15CiBDT05GSUdfQklORk1UX01JU0M9eQogQ09ORklHX05FVD15CitDT05GSUdfVU5JWD15 CitDT05GSUdfSU5FVD15CitDT05GSUdfSVBfUE5QPXkKK0NPTkZJR19JUF9QTlBfREhDUD15CitD T05GSUdfSVBfUE5QX0JPT1RQPXkKK0NPTkZJR19ORVRfSVBJUD15CiBDT05GSUdfVUVWRU5UX0hF TFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX01URD15CiBDT05GSUdfTVREX09GX1BB UlRTPXkKQEAgLTI3LDYgKzM4LDcgQEAgQ09ORklHX01URF9OQU5EPXkKIENPTkZJR19NVERfTkFO RF9GU01DPXkKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fU0laRT0x NjM4NAorQ09ORklHX0JMS19ERVZfU0Q9eQogQ09ORklHX0FUQT15CiAjIENPTkZJR19TQVRBX1BN UCBpcyBub3Qgc2V0CiBDT05GSUdfU0FUQV9BSENJX1BMQVRGT1JNPXkKQEAgLTY2LDYgKzc4LDcg QEAgQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKIENP TkZJR19VU0JfRUhDSV9IQ0Q9eQogQ09ORklHX1VTQl9PSENJX0hDRD15CitDT05GSUdfVVNCX1NU T1JBR0U9eQogQ09ORklHX01NQz15CiBDT05GSUdfTU1DX1NESENJPXkKIENPTkZJR19NTUNfU0RI Q0lfU1BFQVI9eQpAQCAtNzksMTEgKzkyLDE0IEBAIENPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZPXkK IENPTkZJR19FWFQzX0ZTPXkKIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKIENPTkZJR19BVVRP RlM0X0ZTPW0KK0NPTkZJR19GVVNFX0ZTPXkKIENPTkZJR19NU0RPU19GUz1tCiBDT05GSUdfVkZB VF9GUz1tCiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJhc2NpaSIKIENPTkZJR19UTVBG Uz15CiBDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX05GU19GUz15CitDT05GSUdfUk9PVF9ORlM9 eQogQ09ORklHX05MU19ERUZBVUxUPSJ1dGY4IgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQog Q09ORklHX05MU19BU0NJST1tCi0tIAoxLjcuMC4xCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== --_002_2CC2A0A4A178534D93D5159BF3BCB661A17A3E4639EAPEX1MAIL1st_-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/