From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Smirl Subject: rage/radeon fb driver patch again! Date: Sat, 16 Aug 2003 20:43:44 -0700 (PDT) Sender: linux-fbdev-devel-admin@lists.sourceforge.net Message-ID: <20030817034344.12442.qmail@web14901.mail.yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0-270351802-1061091824=:12158" Return-path: Received: from web14901.mail.yahoo.com ([216.136.225.53]) by sc8-sf-list1.sourceforge.net with smtp (Exim 3.31-VA-mm2 #1 (Debian)) id 19oESK-0004wu-00 for ; Sat, 16 Aug 2003 20:43:48 -0700 Errors-To: linux-fbdev-devel-admin@lists.sourceforge.net List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: To: dri-devel , fb-devel --0-270351802-1061091824=:12158 Content-Type: text/plain; charset=us-ascii Content-Id: Content-Disposition: inline linux/pci_ids.h changed which stomped my patch again. I am really getting tired of editing patches consiting of hundreds of hex numbers. I spent a full day collecting this set of Rage and Radeon PCI IDs and it is a real pain that it is being added to pci_ids.h piecemeal. This patch sorts the list, adds more missing entries, removes some known wrong ones, and fixes some spelling. The IGP PCIs should be added in the X0/X1/X2 form, not as RS300_speed. If we are going to switch to chip family/speed for the name then do it to all of the IDs not just a couple. ===== Jon Smirl jonsmirl@yahoo.com __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com --0-270351802-1061091824=:12158 Content-Type: application/octet-stream; name="ati.patch" Content-Transfer-Encoding: base64 Content-Description: ati.patch Content-Disposition: attachment; filename="ati.patch" ZGlmZiAtTnJ1IGEvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMgYi9kcml2 ZXJzL2lkZS9wY2kvYWxpbTE1eDMuYwotLS0gYS9kcml2ZXJzL2lkZS9wY2kv YWxpbTE1eDMuYwlGcmkgQXVnIDE1IDIxOjE5OjAyIDIwMDMKKysrIGIvZHJp dmVycy9pZGUvcGNpL2FsaW0xNXgzLmMJRnJpIEF1ZyAxNSAyMToxOTowMiAy MDAzCkBAIC04NjAsNyArODYwLDcgQEAKIHsKIAlpZGVfcGNpX2RldmljZV90 ICpkID0gJmFsaTE1eDNfY2hpcHNldHNbaWQtPmRyaXZlcl9kYXRhXTsKIAkK LQlpZihwY2lfZmluZF9kZXZpY2UoUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9E RVZJQ0VfSURfQVRJX1JBREVPTl9JR1AsIE5VTEwpKQorCWlmKHBjaV9maW5k X2RldmljZShQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElf UlMxMDAsIE5VTEwpKQogCQlwcmludGsoS0VSTl9FUlIgIldhcm5pbmc6IEFU SSBSYWRlb24gSUdQIE5vcnRoYnJpZGdlIGlzIG5vdCB5ZXQgZnVsbHkgdGVz dGVkLlxuIik7CiAKICNpZiBkZWZpbmVkKENPTkZJR19TUEFSQzY0KQpkaWZm IC1OcnUgYS9kcml2ZXJzL3ZpZGVvL2F0eS9hdHkxMjhmYi5jIGIvZHJpdmVy cy92aWRlby9hdHkvYXR5MTI4ZmIuYwotLS0gYS9kcml2ZXJzL3ZpZGVvL2F0 eS9hdHkxMjhmYi5jCUZyaSBBdWcgMTUgMjE6MTk6MDIgMjAwMworKysgYi9k cml2ZXJzL3ZpZGVvL2F0eS9hdHkxMjhmYi5jCUZyaSBBdWcgMTUgMjE6MTk6 MDIgMjAwMwpAQCAtMjQsNiArMjQsMTAgQEAKICAqCQkgIFBhdWwgTXVuZHQg CiAgKgkJICAJLSBQQ0kgaG90cGx1ZwogICoKKyAqCQkgIEpvbiBTbWlybCA8 am9uc21pcmxAeWFob28uY29tPgorICogCQkJLSBQQ0kgSUQgdXBkYXRlCisg KiAJCQktIHJlcGxhY2UgUk9NIEJJT1Mgc2VhcmNoCisgKgogICogIEJhc2Vk IG9mZiBvZiBHZWVydCdzIGF0eWZiLmMgYW5kIHZmYi5jLgogICoKICAqICBU T0RPOgpAQCAtNDMsNiArNDcsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvY29u ZmlnLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8 bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwu aD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4 L3N0cmluZy5oPgpAQCAtMTM2LDggKzE0MSwyNSBAQAogLyogQ2hpcCBnZW5l cmF0aW9ucyAqLwogZW51bSB7CiAJcmFnZV8xMjgsCisJcmFnZV8xMjhfcGNp LAogCXJhZ2VfMTI4X3BybywKLQlyYWdlX00zCisJcmFnZV8xMjhfcHJvX3Bj aSwKKwlyYWdlX00zLAorCXJhZ2VfTTNfcGNpLAorCXJhZ2VfTTQsCisJcmFn ZV8xMjhfdWx0cmEsCit9OworCisvKiBNdXN0IG1hdGNoIGFib3ZlIGVudW0g Ki8KK3N0YXRpYyBjb25zdCBjaGFyICpyMTI4X2ZhbWlseVtdIF9fZGV2aW5p dGRhdGEgPSB7CisJIkFHUCIsCisJIlBDSSIsCisJIlBSTyBBR1AiLAorCSJQ Uk8gUENJIiwKKwkiTTMgQUdQIiwKKwkiTTMgUENJIiwKKwkiTTQgQUdQIiwK KwkiVWx0cmEgQUdQIiwKIH07CiAKIC8qCkBAIC0xNDksMzIgKzE3MSwxMDAg QEAKIAogLyogc3VwcG9ydGVkIFJhZ2UxMjggY2hpcHNldHMgKi8KIHN0YXRp YyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBhdHkxMjhfcGNpX3RibFtdID0gewot CXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0Ux MjhfUkUsCi0JICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdl XzEyOCB9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUkYsCi0JICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCByYWdlXzEyOCB9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9E RVZJQ0VfSURfQVRJX1JBR0UxMjhfUkksCi0JICBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCByYWdlXzEyOCB9LAotCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUkssCi0JICBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOCB9LAotCXsgUENJX1ZF TkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUkwsCi0J ICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOCB9LAot CXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JhZ2Ux MjhfUEQsCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFHRTEyOF9MRSwKKwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAs IDAsIHJhZ2VfTTNfcGNpIH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFHRTEyOF9MRiwKKwkgIFBDSV9BTllfSUQsIFBD SV9BTllfSUQsIDAsIDAsIHJhZ2VfTTMgfSwKKwl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X01GLAorCSAgUENJX0FO WV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV9NNCB9LAorCXsgUENJX1ZF TkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfTUwsCisJ ICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlX000IH0sCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEy OF9QQSwKKwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2Vf MTI4X3BybyB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUEIsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCByYWdlXzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJ LCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BDLAorCSAgUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QRCwK KwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3By b19wY2kgfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1BFLAogCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgcmFnZV8xMjhfcHJvIH0sCiAJeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QRiwKIAkgIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAotCXsgUENJX1ZF TkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUFIsCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEy OF9QRywKKwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2Vf MTI4X3BybyB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUEgsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCByYWdlXzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJ LCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BJLAorCSAgUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QSiwK KwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3By byB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJ X1JBR0UxMjhfUEssCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAw LCByYWdlXzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1BMLAorCSAgUENJX0FOWV9JRCwgUENJ X0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lfVkVORE9S X0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QTSwKKwkgIFBD SV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAor CXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0Ux MjhfUE4sCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdl XzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNF X0lEX0FUSV9SQUdFMTI4X1BPLAogCSAgUENJX0FOWV9JRCwgUENJX0FOWV9J RCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCiAJeyBQQ0lfVkVORE9SX0lEX0FU SSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QUCwKKwkgIFBDSV9BTllf SUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3Byb19wY2kgfSwKKwl7 IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X1BRLAogCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8x MjhfcHJvIH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9J RF9BVElfUkFHRTEyOF9VMywKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1BSLAorCSAgUENJX0FOWV9JRCwgUENJ X0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvX3BjaSB9LAorCXsgUENJX1ZF TkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUFMsCiAJ ICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF9wcm8g fSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S QUdFMTI4X1UxLAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUFQsCiAJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCByYWdlXzEyOF9wcm8gfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJ LCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X0xFLAotCSAgUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV9NMyB9LAotCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfTEYsCi0JICBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlX00zIH0sCisJeyBQ Q0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9Q VSwKKwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4 X3BybyB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUFYsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCByYWdlXzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQ Q0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BXLAorCSAgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lfVkVO RE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QWCwKKwkg IFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9 LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfUkUsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBy YWdlXzEyOF9wY2kgfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X1JGLAorCSAgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgcmFnZV8xMjggfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJ LCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JHLAorCSAgUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjggfSwKKwl7IFBDSV9WRU5E T1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JLLAorCSAg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfcGNpIH0s CisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFH RTEyOF9STCwKKwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJh Z2VfMTI4IH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9J RF9BVElfUkFHRTEyOF9TRSwKKwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQs IDAsIDAsIHJhZ2VfMTI4IH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFHRTEyOF9TRiwKKwkgIFBDSV9BTllfSUQsIFBD SV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BjaSB9LAorCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfU0csCisJICBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOCB9LAorCXsg UENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhf U0gsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEy OCB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJ X1JBR0UxMjhfU0ssCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAw LCByYWdlXzEyOCB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBR0UxMjhfU0wsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5Z X0lELCAwLCAwLCByYWdlXzEyOCB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEks IFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfU00sCisJICBQQ0lfQU5ZX0lE LCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOCB9LAorCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfU04sCisJICBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOCB9LAorCXsg UENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhf VEYsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEy OF91bHRyYSB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfVEwsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCByYWdlXzEyOF91bHRyYSB9LAorCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfVFIsCisJICBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF91bHRyYSB9LAorCXsg UENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhf VFMsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEy OF91bHRyYSB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfVFQsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCByYWdlXzEyOF91bHRyYSB9LAorCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfVFUsCisJICBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF91bHRyYSB9LAogCXsg MCwgfQogfTsKIApAQCAtMjUwLDE0ICszNDAsNyBAQAogCS5hY2NlbAkJPSBG Ql9BQ0NFTF9BVElfUkFHRTEyOCwKIH07CiAKLSNpZmRlZiBNT0RVTEUKIHN0 YXRpYyBjaGFyICptb2RlIF9faW5pdGRhdGEgPSBOVUxMOwotI2lmZGVmIENP TkZJR19NVFJSCi1zdGF0aWMgaW50ICBub210cnIgX19pbml0ZGF0YSA9IDA7 Ci0jZW5kaWYgLyogQ09ORklHX01UUlIgKi8KLSNlbmRpZiAvKiBNT0RVTEUg Ki8KLQotc3RhdGljIGNoYXIgKm1vZGVfb3B0aW9uIF9faW5pdGRhdGEgPSBO VUxMOwogCiAjaWZkZWYgQ09ORklHX1BQQ19QTUFDCiBzdGF0aWMgaW50IGRl ZmF1bHRfdm1vZGUgX19pbml0ZGF0YSA9IFZNT0RFXzEwMjRfNzY4XzYwOwpA QCAtMzc0LDcgKzQ1Nyw3IEBACiAjaWYgIWRlZmluZWQoQ09ORklHX1BQQykg JiYgIWRlZmluZWQoX19zcGFyY19fKQogc3RhdGljIHZvaWQgX19pbml0IGF0 eTEyOF9nZXRfcGxsaW5mbyhzdHJ1Y3QgYXR5MTI4ZmJfcGFyICpwYXIsCiAJ CQkJICAgICAgdm9pZCAqYmlvcyk7Ci1zdGF0aWMgdm9pZCBfX2luaXQgKmF0 eTEyOF9tYXBfUk9NKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKK3N0YXRpYyB2 b2lkIF9faW5pdCAqYXR5MTI4X21hcF9ST00oc3RydWN0IHBjaV9kZXYgKnBk ZXYsIGNvbnN0IHN0cnVjdCBhdHkxMjhmYl9wYXIgKnBhcik7CiBzdGF0aWMg dm9pZCBfX2luaXQgYXR5MTI4X3VubWFwX1JPTShzdHJ1Y3QgcGNpX2RldiAq ZGV2LCB2b2lkICogcm9tKTsKICNlbmRpZgogc3RhdGljIHZvaWQgYXR5MTI4 X3RpbWluZ3Moc3RydWN0IGF0eTEyOGZiX3BhciAqcGFyKTsKQEAgLTE0MTAs NjEgKzE0OTMsNiBAQAogCXJldHVybiAwOwogfQogCi1pbnQgX19pbml0Ci1h dHkxMjhmYl9zZXR1cChjaGFyICpvcHRpb25zKQotewotCWNoYXIgKnRoaXNf b3B0OwotCi0JaWYgKCFvcHRpb25zIHx8ICEqb3B0aW9ucykKLQkJcmV0dXJu IDA7Ci0KLQl3aGlsZSAoKHRoaXNfb3B0ID0gc3Ryc2VwKCZvcHRpb25zLCAi LCIpKSAhPSBOVUxMKSB7Ci0jaWZkZWYgQ09ORklHX1BNQUNfUEJPT0sKLQkJ aWYgKCFzdHJuY21wKHRoaXNfb3B0LCAibGNkOiIsIDQpKSB7Ci0JCQlkZWZh dWx0X2xjZF9vbiA9IHNpbXBsZV9zdHJ0b3VsKHRoaXNfb3B0KzQsIE5VTEws IDApOwotCQkJY29udGludWU7Ci0JCX0gZWxzZSBpZiAoIXN0cm5jbXAodGhp c19vcHQsICJjcnQ6IiwgNCkpIHsKLQkJCWRlZmF1bHRfY3J0X29uID0gc2lt cGxlX3N0cnRvdWwodGhpc19vcHQrNCwgTlVMTCwgMCk7Ci0JCQljb250aW51 ZTsKLQkJfQotI2VuZGlmCi0jaWZkZWYgQ09ORklHX01UUlIKLQkJaWYoIXN0 cm5jbXAodGhpc19vcHQsICJub210cnIiLCA2KSkgewotCQkJbXRyciA9IDA7 Ci0JCQljb250aW51ZTsKLQkJfQotI2VuZGlmCi0jaWZkZWYgQ09ORklHX1BQ Q19QTUFDCi0JCS8qIHZtb2RlIGFuZCBjbW9kZSBkZXByZWNhdGVkICovCi0J CWlmICghc3RybmNtcCh0aGlzX29wdCwgInZtb2RlOiIsIDYpKSB7Ci0JCQl1 bnNpZ25lZCBpbnQgdm1vZGUgPSBzaW1wbGVfc3RydG91bCh0aGlzX29wdCs2 LCBOVUxMLCAwKTsKLQkJCWlmICh2bW9kZSA+IDAgJiYgdm1vZGUgPD0gVk1P REVfTUFYKQotCQkJCWRlZmF1bHRfdm1vZGUgPSB2bW9kZTsKLQkJCWNvbnRp bnVlOwotCQl9IGVsc2UgaWYgKCFzdHJuY21wKHRoaXNfb3B0LCAiY21vZGU6 IiwgNikpIHsKLQkJCXVuc2lnbmVkIGludCBjbW9kZSA9IHNpbXBsZV9zdHJ0 b3VsKHRoaXNfb3B0KzYsIE5VTEwsIDApOwotCQkJc3dpdGNoIChjbW9kZSkg ewotCQkJY2FzZSAwOgotCQkJY2FzZSA4OgotCQkJCWRlZmF1bHRfY21vZGUg PSBDTU9ERV84OwotCQkJCWJyZWFrOwotCQkJY2FzZSAxNToKLQkJCWNhc2Ug MTY6Ci0JCQkJZGVmYXVsdF9jbW9kZSA9IENNT0RFXzE2OwotCQkJCWJyZWFr OwotCQkJY2FzZSAyNDoKLQkJCWNhc2UgMzI6Ci0JCQkJZGVmYXVsdF9jbW9k ZSA9IENNT0RFXzMyOwotCQkJCWJyZWFrOwotCQkJfQotCQkJY29udGludWU7 Ci0JCX0KLSNlbmRpZiAvKiBDT05GSUdfUFBDX1BNQUMgKi8KLQkJbW9kZV9v cHRpb24gPSB0aGlzX29wdDsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KIAogLyoK ICAqICBJbml0aWFsaXNhdGlvbgpAQCAtMTQ3Niw3ICsxNTA0LDcgQEAKIAlz dHJ1Y3QgZmJfaW5mbyAqaW5mbyA9IHBjaV9nZXRfZHJ2ZGF0YShwZGV2KTsK IAlzdHJ1Y3QgYXR5MTI4ZmJfcGFyICpwYXIgPSBpbmZvLT5wYXI7CiAJc3Ry dWN0IGZiX3Zhcl9zY3JlZW5pbmZvIHZhcjsKLQljaGFyIHZpZGVvX2NhcmRb MjVdOworCWNoYXIgdmlkZW9fY2FyZFtERVZJQ0VfTkFNRV9TSVpFXTsKIAl1 OCBjaGlwX3JldjsKIAl1MzIgZGFjOwogCkBAIC0xNDg2LDQzICsxNTE0LDEz IEBACiAJLyogR2V0IHRoZSBjaGlwIHJldmlzaW9uICovCiAJY2hpcF9yZXYg PSAoYXR5X2xkX2xlMzIoQ09ORklHX0NOVEwpID4+IDE2KSAmIDB4MUY7CiAK LQlzd2l0Y2ggKHBkZXYtPmRldmljZSkgewotCQljYXNlIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUkU6Ci0JCQlzdHJjcHkodmlkZW9fY2FyZCwgIlJh Z2UxMjggUkUgKFBDSSkiKTsKLQkJCWJyZWFrOwotCQljYXNlIFBDSV9ERVZJ Q0VfSURfQVRJX1JBR0UxMjhfUkY6Ci0JCQlzdHJjcHkodmlkZW9fY2FyZCwg IlJhZ2UxMjggUkYgKEFHUCkiKTsKLQkJCWJyZWFrOwotCQljYXNlIFBDSV9E RVZJQ0VfSURfQVRJX1JBR0UxMjhfUks6Ci0JCQlzdHJjcHkodmlkZW9fY2Fy ZCwgIlJhZ2UxMjggUksgKFBDSSkiKTsKLQkJCWJyZWFrOwotCQljYXNlIFBD SV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUkw6Ci0JCQlzdHJjcHkodmlkZW9f Y2FyZCwgIlJhZ2UxMjggUkwgKEFHUCkiKTsKLQkJCWJyZWFrOwotCQljYXNl IFBDSV9ERVZJQ0VfSURfQVRJX1JhZ2UxMjhfUEQ6Ci0JCQlzdHJjcHkodmlk ZW9fY2FyZCwgIlJhZ2UxMjggUHJvIFBEIChQQ0kpIik7Ci0JCQlicmVhazsK LQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BGOgotCQkJc3Ry Y3B5KHZpZGVvX2NhcmQsICJSYWdlMTI4IFBybyBQRiAoQUdQKSIpOwotCQkJ YnJlYWs7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QUjoK LQkJCXN0cmNweSh2aWRlb19jYXJkLCAiUmFnZTEyOCBQcm8gUFIgKFBDSSki KTsKLQkJCWJyZWFrOwotCQljYXNlIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0Ux MjhfVTM6Ci0JCQlzdHJjcHkodmlkZW9fY2FyZCwgIlJhZ2UxMjggUHJvIFRS IChBR1ApIik7Ci0JCQlicmVhazsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FU SV9SQUdFMTI4X1UxOgotCQkJc3RyY3B5KHZpZGVvX2NhcmQsICJSYWdlMTI4 IFBybyBURiAoQUdQKSIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgUENJX0RFVklD RV9JRF9BVElfUkFHRTEyOF9MRToKLQkJCXN0cmNweSh2aWRlb19jYXJkLCAi UmFnZSBNb2JpbGl0eSBNMyAoUENJKSIpOwotCQkJYnJlYWs7Ci0JCWNhc2Ug UENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9MRjoKLQkJCXN0cmNweSh2aWRl b19jYXJkLCAiUmFnZSBNb2JpbGl0eSBNMyAoQUdQKSIpOwotCQkJYnJlYWs7 Ci0JCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gLUVOT0RFVjsKLQl9CisJc3RyY3B5 KHZpZGVvX2NhcmQsICJSYWdlMTI4IFhYICIpOworCXZpZGVvX2NhcmRbOF0g PSBlbnQtPmRldmljZSA+PiA4OworCXZpZGVvX2NhcmRbOV0gPSBlbnQtPmRl dmljZSAmIDB4RkY7CisJICAgIAorCS8qIHJhbmdlIGNoZWNrIHRvIG1ha2Ug c3VyZSAqLworCWlmIChlbnQtPmRyaXZlcl9kYXRhIDwgKHNpemVvZihyMTI4 X2ZhbWlseSkvc2l6ZW9mKGNoYXIgKikpKQorCSAgICBzdHJuY2F0KHZpZGVv X2NhcmQsIHIxMjhfZmFtaWx5W2VudC0+ZHJpdmVyX2RhdGFdLCBzaXplb2Yo dmlkZW9fY2FyZCkpOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiYXR5MTI4ZmI6 ICVzIFtjaGlwIHJldiAweCV4XSAiLCB2aWRlb19jYXJkLCBjaGlwX3Jldik7 CiAKQEAgLTE1MzYsMTcgKzE1MzQsMTcgQEAKIAkvKiBmaWxsIGluIGluZm8g Ki8KIAlpbmZvLT5mYm9wcyA9ICZhdHkxMjhmYl9vcHM7CiAJaW5mby0+Zmxh Z3MgPSBGQklORk9fRkxBR19ERUZBVUxUOwotCisJCiAjaWZkZWYgQ09ORklH X1BNQUNfUEJPT0sKIAlwYXItPmxjZF9vbiA9IGRlZmF1bHRfbGNkX29uOwog CXBhci0+Y3J0X29uID0gZGVmYXVsdF9jcnRfb247CiAjZW5kaWYKLQorCQog CXZhciA9IGRlZmF1bHRfdmFyOwogI2lmZGVmIENPTkZJR19QUENfUE1BQwog CWlmIChfbWFjaGluZSA9PSBfTUFDSF9QbWFjKSB7Ci0JCWlmIChtb2RlX29w dGlvbikgewotCQkJaWYgKCFtYWNfZmluZF9tb2RlKCZ2YXIsIGluZm8sIG1v ZGVfb3B0aW9uLCA4KSkKKwkJaWYgKG1vZGUpIHsKKwkJCWlmICghbWFjX2Zp bmRfbW9kZSgmdmFyLCBpbmZvLCBtb2RlLCA4KSkKIAkJCQl2YXIgPSBkZWZh dWx0X3ZhcjsKIAkJfSBlbHNlIHsKIAkJCWlmIChkZWZhdWx0X3Ztb2RlIDw9 IDAgfHwgZGVmYXVsdF92bW9kZSA+IFZNT0RFX01BWCkKQEAgLTE1NzUsOCAr MTU3MywxMiBAQAogCQkJaWYgKG1hY2hpbmVfaXNfY29tcGF0aWJsZSgiUG93 ZXJCb29rMywyIikpCiAJCQkJZGVmYXVsdF92bW9kZSA9IFZNT0RFXzExNTJf NzY4XzYwOwogCQotCQkJaWYgKGRlZmF1bHRfY21vZGUgPCBDTU9ERV84IHx8 IGRlZmF1bHRfY21vZGUgPiBDTU9ERV8zMikKLQkJCQlkZWZhdWx0X2Ntb2Rl ID0gQ01PREVfODsKKwkJCWlmIChkZWZhdWx0X2Ntb2RlID4gMTYpIAorCQkJ ICAgIGRlZmF1bHRfY21vZGUgPSBDTU9ERV8zMjsKKwkJCWVsc2UgaWYgKGRl ZmF1bHRfY21vZGUgPiA4KSAKKwkJCSAgICBkZWZhdWx0X2Ntb2RlID0gQ01P REVfMTY7CisJCQllbHNlIAorCQkJICAgIGRlZmF1bHRfY21vZGUgPSBDTU9E RV84OwogCiAJCQlpZiAobWFjX3Ztb2RlX3RvX3ZhcihkZWZhdWx0X3Ztb2Rl LCBkZWZhdWx0X2Ntb2RlLCAmdmFyKSkKIAkJCQl2YXIgPSBkZWZhdWx0X3Zh cjsKQEAgLTE1ODQsOSArMTU4NiwxMCBAQAogCX0gZWxzZQogI2VuZGlmIC8q IENPTkZJR19QUENfUE1BQyAqLwogCXsKLQkJaWYgKGZiX2ZpbmRfbW9kZSgm dmFyLCBpbmZvLCBtb2RlX29wdGlvbiwgTlVMTCwgMCwKLQkJCQkgJmRlZmF1 bHRtb2RlLCA4KSA9PSAwKQotCQkJdmFyID0gZGVmYXVsdF92YXI7CisJCWlm IChtb2RlKQorCQkJaWYgKGZiX2ZpbmRfbW9kZSgmdmFyLCBpbmZvLCBtb2Rl LCBOVUxMLCAKKwkJCQkJIDAsICZkZWZhdWx0bW9kZSwgOCkgPT0gMCkKKwkJ CQl2YXIgPSBkZWZhdWx0X3ZhcjsKIAl9CiAKIAl2YXIuYWNjZWxfZmxhZ3Mg Jj0gfkZCX0FDQ0VMRl9URVhUOwpAQCAtMTYxNCw3ICsxNjE3LDcgQEAKIAl2 YXIuYWN0aXZhdGUgPSBGQl9BQ1RJVkFURV9OT1c7CiAKIAlhdHkxMjhfaW5p dF9lbmdpbmUocGFyKTsKLQorCQogCWlmIChyZWdpc3Rlcl9mcmFtZWJ1ZmZl cihpbmZvKSA8IDApCiAJCXJldHVybiAwOwogCkBAIC0xNzE2LDcgKzE3MTks NyBAQAogCX0KIAogI2lmICFkZWZpbmVkKENPTkZJR19QUEMpICYmICFkZWZp bmVkKF9fc3BhcmNfXykKLQlpZiAoIShiaW9zID0gYXR5MTI4X21hcF9ST00o cGRldikpKQorCWlmICghKGJpb3MgPSBhdHkxMjhfbWFwX1JPTShwZGV2LCBw YXIpKSkKIAkJcHJpbnRrKEtFUk5fSU5GTyAiYXR5MTI4ZmI6IEJJT1Mgbm90 IGxvY2F0ZWQsIGd1ZXNzaW5nIHRpbWluZ3MuXG4iKTsKIAllbHNlIHsKIAkJ cHJpbnRrKEtFUk5fSU5GTyAiYXR5MTI4ZmI6IFJhZ2UxMjggQklPUyBsb2Nh dGVkIGF0ICVseFxuIiwKQEAgLTE3NzYsOCArMTc3OSw2IEBACiAKIAlyZWxl YXNlX21lbV9yZWdpb24ocGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsIDApLAog CQkJICAgcGNpX3Jlc291cmNlX2xlbihwZGV2LCAwKSk7Ci0JcmVsZWFzZV9t ZW1fcmVnaW9uKHBjaV9yZXNvdXJjZV9zdGFydChwZGV2LCAxKSwKLQkJCSAg IHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMSkpOwogCXJlbGVhc2VfbWVtX3Jl Z2lvbihwY2lfcmVzb3VyY2Vfc3RhcnQocGRldiwgMiksCiAJCQkgICBwY2lf cmVzb3VyY2VfbGVuKHBkZXYsIDIpKTsKICNpZmRlZiBDT05GSUdfUE1BQ19Q Qk9PSwpAQCAtMTc5MCwzMyArMTc5MSw0NyBAQAogCiAvKiBQUEMgYW5kIFNw YXJjIGNhbm5vdCByZWFkIHZpZGVvIFJPTSAqLwogI2lmICFkZWZpbmVkKENP TkZJR19QUEMpICYmICFkZWZpbmVkKF9fc3BhcmNfXykKLXN0YXRpYyB2b2lk ICogX19pbml0IGF0eTEyOF9tYXBfUk9NKHN0cnVjdCBwY2lfZGV2ICpkZXYp CitzdGF0aWMgdm9pZCAqIF9faW5pdCBhdHkxMjhfbWFwX1JPTShzdHJ1Y3Qg cGNpX2RldiAqZGV2LCBjb25zdCBzdHJ1Y3QgYXR5MTI4ZmJfcGFyICpwYXIp CiB7CiAJLy8gSWYgdGhpcyBpcyBhIHByaW1hcnkgY2FyZCwgdGhlcmUgaXMg YSBzaGFkb3cgY29weSBvZiB0aGUKIAkvLyBST00gc29tZXdoZXJlIGluIHRo ZSBmaXJzdCBtZWcuIFdlIHdpbGwganVzdCBpZ25vcmUgdGhlIGNvcHkKIAkv LyBhbmQgdXNlIHRoZSBST00gZGlyZWN0bHkuCiAJCisgICAgCS8qIEZpeCBm cm9tIEFUSSBmb3IgcHJvYmxlbSB3aXRoIFJhZ2UxMjggaGFyZHdhcmUgbm90 IGxlYXZpbmcgUk9NIGVuYWJsZWQgKi8KKyAgICAJdW5zaWduZWQgaW50IHRl bXA7CisJdGVtcCA9IGF0eV9sZF9sZTMyKFJBR0UxMjhfTVBQX1RCX0NPTkZJ Ryk7CisJdGVtcCAmPSAweDAwZmZmZmZmdTsKKwl0ZW1wIHw9IDB4MDQgPDwg MjQ7CisJYXR5X3N0X2xlMzIoUkFHRTEyOF9NUFBfVEJfQ09ORklHLCB0ZW1w KTsKKwl0ZW1wID0gYXR5X2xkX2xlMzIoUkFHRTEyOF9NUFBfVEJfQ09ORklH KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKIAkvLyBubyBuZWVkIHRvIHNlYXJjaCBm b3IgdGhlIFJPTSwganVzdCBhc2sgdGhlIGNhcmQgd2hlcmUgaXQgaXMuCiAJ c3RydWN0IHJlc291cmNlICpyID0gJmRldi0+cmVzb3VyY2VbUENJX1JPTV9S RVNPVVJDRV07Ci0JdW5zaWduZWQgY2hhciAqYWRkcjsKKwl2b2lkICpyb207 CiAJCiAJLy8gYXNzaWduIHRoZSBST00gYW4gYWRkcmVzcyBpZiBpdCBkb2Vz bid0IGhhdmUgb25lCiAJaWYgKHItPnN0YXJ0ID09IDApCiAJCXBjaV9hc3Np Z25fcmVzb3VyY2UoZGV2LCBQQ0lfUk9NX1JFU09VUkNFKTsKIAkKIAkvLyBl bmFibGUgaWYgbmVlZGVkCi0JaWYgKCEoci0+ZmxhZ3MgJiBQQ0lfUk9NX0FE RFJFU1NfRU5BQkxFKSkKKwlpZiAoIShyLT5mbGFncyAmIFBDSV9ST01fQURE UkVTU19FTkFCTEUpKSB7CiAJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2 LCBkZXYtPnJvbV9iYXNlX3JlZywgci0+c3RhcnQgfCBQQ0lfUk9NX0FERFJF U1NfRU5BQkxFKTsKKwkJci0+ZmxhZ3MgfD0gUENJX1JPTV9BRERSRVNTX0VO QUJMRTsKKwl9CiAJCi0JYWRkciA9IGlvcmVtYXAoci0+c3RhcnQsIHItPmVu ZCAtIHItPnN0YXJ0ICsgMSk7CisJcm9tID0gaW9yZW1hcChyLT5zdGFydCwg ci0+ZW5kIC0gci0+c3RhcnQgKyAxKTsKKwlpZiAoIXJvbSkgeworCQlwcmlu dGsoS0VSTl9FUlIgImF0eTEyOGZiOiBST00gZmFpbGVkIHRvIG1hcFxuIik7 CisJCXJldHVybiBOVUxMOworCX0KIAkKIAkvLyBWZXJ5IHNpbXBsZSB0ZXN0 IHRvIG1ha2Ugc3VyZSBpdCBhcHBlYXJlZAotCWlmIChhZGRyICYmICgqYWRk ciAhPSAweDU1KSkgewotCQlwcmludGsoImF0eTEyOGZiOiBJbnZhbGlkIFJP TSBzaWduYXR1cmUgJXhcbiIsICphZGRyKTsKLQkJaW91bm1hcChhZGRyKTsK KwlpZiAocmVhZGIocm9tKSAhPSAweDU1KSB7CisJCXByaW50ayhLRVJOX0VS UiAiYXR5MTI4ZmI6IEludmFsaWQgUk9NIHNpZ25hdHVyZSAleCBzaG91bGQg YmUgMHg1NVxuIiwgcmVhZGIocm9tKSk7CisJCWF0eTEyOF91bm1hcF9ST00o ZGV2LCByb20pOwogCQlyZXR1cm4gTlVMTDsKIAl9Ci0JcmV0dXJuICh2b2lk ICopYWRkcjsKKwlyZXR1cm4gcm9tOwogfQogCiBzdGF0aWMgdm9pZCBfX2lu aXQgYXR5MTI4X3VubWFwX1JPTShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB2b2lk ICogcm9tKQpAQCAtMTgyNiwxMCArMTg0MSwxMiBAQAogCQogCWlvdW5tYXAo cm9tKTsKIAkKLQlyLT5mbGFncyAmPSAhUENJX1JPTV9BRERSRVNTX0VOQUJM RTsKKwlyLT5mbGFncyAmPSB+UENJX1JPTV9BRERSRVNTX0VOQUJMRTsKIAly LT5lbmQgLT0gci0+c3RhcnQ7CiAJci0+c3RhcnQgPSAwOworCS8qIFRoaXMg d2lsbCBkaXNhYmxlIGFuZCBzZXQgYWRkcmVzcyB0byB1bmFzc2lnbmVkICov CiAJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIGRldi0+cm9tX2Jhc2Vf cmVnLCAwKTsKKwlyZWxlYXNlX3Jlc291cmNlKHIpOwogfQogCiBzdGF0aWMg dm9pZCBfX2luaXQKQEAgLTIzMzksMTMgKzIzNTYsMzAgQEAKIAlwY2lfdW5y ZWdpc3Rlcl9kcml2ZXIoJmF0eTEyOGZiX2RyaXZlcik7CiB9CiAKKyNpZmRl ZiBNT0RVTEUKK21vZHVsZV9pbml0KGF0eTEyOGZiX2luaXQpOworbW9kdWxl X2V4aXQoYXR5MTI4ZmJfZXhpdCk7CisjZW5kaWYKKwogTU9EVUxFX0FVVEhP UigiKGMpMTk5OS0yMDAzIEJyYWQgRG91Z2xhcyA8YnJhZEBuZXJ1by5jb20+ Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkZCRGV2IGRyaXZlciBmb3IgQVRJ IFJhZ2UxMjggLyBQcm8gY2FyZHMiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwi KTsKLU1PRFVMRV9QQVJNKG1vZGUsICJzIik7Cittb2R1bGVfcGFyYW0obW9k ZSwgY2hhcnAsIDApOwogTU9EVUxFX1BBUk1fREVTQyhtb2RlLCAiU3BlY2lm eSByZXNvbHV0aW9uIGFzIFwiPHhyZXM+eDx5cmVzPlstPGJwcD5dW0A8cmVm cmVzaD5dXCIgIik7CiAjaWZkZWYgQ09ORklHX01UUlIKLU1PRFVMRV9QQVJN KG5vbXRyciwgImkiKTsKLU1PRFVMRV9QQVJNX0RFU0Mobm9tdHJyLCAiRGlz YWJsZSBNVFJSIHN1cHBvcnQgKDAgb3IgMT1kaXNhYmxlZCkgKGRlZmF1bHQ9 MCkiKTsKK21vZHVsZV9wYXJhbV9uYW1lZChub210cnIsIG10cnIsIGludmJv b2wsIDApOworTU9EVUxFX1BBUk1fREVTQyhtdHJyLCAiYm9vbDogRGlzYWJs ZSBNVFJSIHN1cHBvcnQgKDAgb3IgMT1kaXNhYmxlZCkgKGRlZmF1bHQ9MCki KTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19QUENfUE1BQworbW9kdWxlX3Bh cmFtX25hbWVkKHZtb2RlLCBkZWZhdWx0X3Ztb2RlLCBpbnQsIDApOworTU9E VUxFX1BBUk1fREVTQyhkZWZhdWx0X3Ztb2RlLCAiRGVwcmVjYXRlZDogdmlk ZW8gbW9kZSBpbnQiKTsKK21vZHVsZV9wYXJhbV9uYW1lZChjbW9kZSwgZGVm YXVsdF9jbW9kZSwgaW50LCAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZGVmYXVs dF9jbW9kZSwgIkRlcHJlY2F0ZWQ6IGNvbG9yIG1vZGUgaW50Iik7CisjZW5k aWYKKyNpZmRlZiBDT05GSUdfUE1BQ19QQk9PSworbW9kdWxlX3BhcmFtX25h bWVkKGxjZCwgZGVmYXVsdF9sY2Rfb24sIGJvb2wsIDApOworTU9EVUxFX1BB Uk1fREVTQyhkZWZhdWx0X2xjZF9vbiwgImJvb2w6IERlZmF1bHQgTENEIG9u Iik7Cittb2R1bGVfcGFyYW1fbmFtZWQoY3J0LCBkZWZhdWx0X2NydF9vbiwg Ym9vbCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKGRlZmF1bHRfY3J0X29uLCAi Ym9vbDogRGVmYXVsdCBDUlQgb24iKTsKICNlbmRpZgogCmRpZmYgLU5ydSBh L2RyaXZlcnMvdmlkZW8vcmFkZW9uZmIuYyBiL2RyaXZlcnMvdmlkZW8vcmFk ZW9uZmIuYwotLS0gYS9kcml2ZXJzL3ZpZGVvL3JhZGVvbmZiLmMJRnJpIEF1 ZyAxNSAyMToxOTowMiAyMDAzCisrKyBiL2RyaXZlcnMvdmlkZW8vcmFkZW9u ZmIuYwlGcmkgQXVnIDE1IDIxOjE5OjAyIDIwMDMKQEAgLTIzLDYgKzIzLDkg QEAKICAqCTIwMDItMDYtMDMJTVRSUiBzdXBwb3J0LCBQZXRlciBIb3J0b24s IDAuMS41CiAgKgkyMDAyLTA5LTIxCXJ2MjUwLCByMzAwLCBtOSBpbml0aWFs IHN1cHBvcnQsCiAgKgkJCWFkZGVkIG1pcnJvciBvcHRpb24sIDAuMS42Cisg KiAJMjAwMy0wOC0xMglhZGRlZCBhIGJ1bmNoIG1vcmUgUENJIElEcyBmb3Ig dmFyaW91cyBSYWRlb25zCisgKgkJCWNvbnZlcnRlZCBtb2R1bGUgcGFyYW1z IHRvIDIuNiBzY2hlbWUKKyAqCQkJSm9uIFNtaXJsIDxqb25zbWlybEB5YWhv by5jb20+CiAgKgogICoJU3BlY2lhbCB0aGFua3MgdG8gQVRJIERldlJlbCB0 ZWFtIGZvciB0aGVpciBoYXJkd2FyZSBkb25hdGlvbnMuCiAgKgpAQCAtMzQs NiArMzcsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvY29uZmlnLmg+CiAjaW5j bHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxl cGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRl IDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpA QCAtOTEsODkgKzk1LDQxIEBACiAvLyBYWFgKICN1bmRlZiBDT05GSUdfUE1B Q19QQk9PSwogCi0KLWVudW0gcmFkZW9uX2NoaXBzIHsKLQlSQURFT05fUUQs Ci0JUkFERU9OX1FFLAotCVJBREVPTl9RRiwKLQlSQURFT05fUUcsCi0JUkFE RU9OX1FZLAotCVJBREVPTl9RWiwKLQlSQURFT05fTFcsCi0JUkFERU9OX0xY LAotCVJBREVPTl9MWSwKLQlSQURFT05fTFosCi0JUkFERU9OX1FMLAotCVJB REVPTl9RTiwKLQlSQURFT05fUU8sCi0JUkFERU9OX1FsLAotCVJBREVPTl9C QiwKLQlSQURFT05fUVcsCi0JUkFERU9OX1FYLAotCVJBREVPTl9JZCwKLQlS QURFT05fSWUsCi0JUkFERU9OX0lmLAotCVJBREVPTl9JZywKLQlSQURFT05f TGQsCi0JUkFERU9OX0xlLAotCVJBREVPTl9MZiwKLQlSQURFT05fTGcsCi0J UkFERU9OX05ELAotCVJBREVPTl9ORSwKLQlSQURFT05fTkYsCi0JUkFERU9O X05HLAotCVJBREVPTl9RTQotfTsKLQogZW51bSByYWRlb25fYXJjaCB7Cisg ICAgICAgIFJBREVPTl9JR1AsCiAJUkFERU9OX1IxMDAsCiAJUkFERU9OX1JW MTAwLAogCVJBREVPTl9SMjAwLAogCVJBREVPTl9SVjIwMCwKIAlSQURFT05f UlYyNTAsCiAJUkFERU9OX1IzMDAsCisJUkFERU9OX1JTMzAwLAorCVJBREVP Tl9SMzUwLAogCVJBREVPTl9NNiwKIAlSQURFT05fTTcsCi0JUkFERU9OX005 CisJUkFERU9OX005LAorCVJBREVPTl9SMjAwX1NFQywKKwlSQURFT05fUlYy NTBfU0VDLAorCVJBREVPTl9SMzAwX1NFQywKKwlSQURFT05fUjM1MF9TRUMs CisJUkFERU9OX005X1NFQywKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcmFkZW9u X2NoaXBfaW5mbyB7Ci0JY29uc3QgY2hhciAqbmFtZTsKLQl1bnNpZ25lZCBj aGFyIGFyY2g7Ci19IHJhZGVvbl9jaGlwX2luZm9bXSBfX2RldmluaXRkYXRh ID0gewotCXsgIlFEIiwgUkFERU9OX1IxMDAgfSwKLQl7ICJRRSIsIFJBREVP Tl9SMTAwIH0sCi0JeyAiUUYiLCBSQURFT05fUjEwMCB9LAotCXsgIlFHIiwg UkFERU9OX1IxMDAgfSwKLQl7ICJWRSBRWSIsIFJBREVPTl9SVjEwMCB9LAot CXsgIlZFIFFaIiwgUkFERU9OX1JWMTAwIH0sCi0JeyAiTTcgTFciLCBSQURF T05fTTcgfSwKLQl7ICJNNyBMWCIsIFJBREVPTl9NNyB9LAotCXsgIk02IExZ IiwgUkFERU9OX002IH0sCi0JeyAiTTYgTFoiLCBSQURFT05fTTYgfSwKLQl7 ICI4NTAwIFFMIiwgUkFERU9OX1IyMDAgfSwKLQl7ICI4NTAwIFFOIiwgUkFE RU9OX1IyMDAgfSwKLQl7ICI4NTAwIFFPIiwgUkFERU9OX1IyMDAgfSwKLQl7 ICI4NTAwIFFsIiwgUkFERU9OX1IyMDAgfSwKLQl7ICI4NTAwIEJCIiwgUkFE RU9OX1IyMDAgfSwKLQl7ICI3NTAwIFFXIiwgUkFERU9OX1JWMjAwIH0sCi0J eyAiNzUwMCBRWCIsIFJBREVPTl9SVjIwMCB9LAotCXsgIjkwMDAgSWQiLCBS QURFT05fUlYyNTAgfSwKLQl7ICI5MDAwIEllIiwgUkFERU9OX1JWMjUwIH0s Ci0JeyAiOTAwMCBJZiIsIFJBREVPTl9SVjI1MCB9LAotCXsgIjkwMDAgSWci LCBSQURFT05fUlYyNTAgfSwKLQl7ICJNOSBMZCIsIFJBREVPTl9NOSB9LAot CXsgIk05IExlIiwgUkFERU9OX005IH0sCi0JeyAiTTkgTGYiLCBSQURFT05f TTkgfSwKLQl7ICJNOSBMZyIsIFJBREVPTl9NOSB9LAotCXsgIjk3MDAgTkQi LCBSQURFT05fUjMwMCB9LAotCXsgIjk3MDAgTkUiLCBSQURFT05fUjMwMCB9 LAotCXsgIjk3MDAgTkYiLCBSQURFT05fUjMwMCB9LAotCXsgIjk3MDAgTkci LCBSQURFT05fUjMwMCB9LAotCXsgIjkxMDAgUU0iLCBSQURFT05fUjIwMCB9 CitzdGF0aWMgY29uc3QgY2hhciAqcmFkZW9uX2ZhbWlseVtdIF9fZGV2aW5p dGRhdGEgPSB7CisJIklHUCIsCisJIlIxMDAiLAorCSJWRSBSVjEwMCIsCisJ Ijg1MDAgUjIwMCIsCisJIjc1MDAgUlYyMDAiLAorCSI5MDAwIFJWMjUwIiwK KwkiOTcwMCBSMzAwIiwKKwkiOTcwMCBSUzMwMCIsCisJIjk4MDAgUjM1MCIs CisJIk1vYmlsaXR5IE02IiwKKwkiTW9iaWxpdHkgTTciLAorCSJNb2JpbGl0 eSBNOSIsCiB9OwotCi0KKwkJICAgIAogZW51bSByYWRlb25fbW9udHlwZQog ewogCU1UX05PTkUsCkBAIC0xODYsMzYgKzE0Miw2NyBAQAogCiAKIHN0YXRp YyBzdHJ1Y3QgcGNpX2RldmljZV9pZCByYWRlb25mYl9wY2lfdGFibGVbXSA9 IHsKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fUUQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVP Tl9RRH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX1FFLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBS QURFT05fUUV9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9RRiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwg MCwgUkFERU9OX1FGfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fUUcsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQs IDAsIDAsIFJBREVPTl9RR30sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFERU9OX1FZLCBQQ0lfQU5ZX0lELCBQQ0lfQU5Z X0lELCAwLCAwLCBSQURFT05fUVl9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEks IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RWiwgUENJX0FOWV9JRCwgUENJ X0FOWV9JRCwgMCwgMCwgUkFERU9OX1FafSwKLQl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTFcsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9MV30sCi0JeyBQQ0lfVkVORE9S X0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xYLCBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fTFh9LAotCXsgUENJX1ZF TkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MWSwgUENJ X0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0xZfSwKLQl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTFos IFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9MWn0sCi0J eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X1FMLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUUx9 LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9RTiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9O X1FOfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FU SV9SQURFT05fUU8sIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJB REVPTl9RT30sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX1FsLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAw LCBSQURFT05fUWx9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9CQiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgUkFERU9OX0JCfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fUVcsIFBDSV9BTllfSUQsIFBDSV9BTllf SUQsIDAsIDAsIFJBREVPTl9RV30sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FYLCBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCBSQURFT05fUVh9LAotCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9JZCwgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0lkfSwKLQl7IFBDSV9WRU5ET1Jf SURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fSWUsIFBDSV9BTllf SUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9JZX0sCi0JeyBQQ0lfVkVO RE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0lmLCBQQ0lf QU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fSWZ9LAotCXsgUENJ X1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9JZywg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0lnfSwKLQl7 IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f TGQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9MZH0s Ci0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX0xlLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05f TGV9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJ X1JBREVPTl9MZiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFE RU9OX0xmfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fTGcsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAs IFJBREVPTl9MZ30sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX05ELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCBSQURFT05fTkR9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9E RVZJQ0VfSURfQVRJX1JBREVPTl9ORSwgUENJX0FOWV9JRCwgUENJX0FOWV9J RCwgMCwgMCwgUkFERU9OX05FfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fTkYsIFBDSV9BTllfSUQsIFBDSV9B TllfSUQsIDAsIDAsIFJBREVPTl9ORn0sCi0JeyBQQ0lfVkVORE9SX0lEX0FU SSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05HLCBQQ0lfQU5ZX0lELCBQ Q0lfQU5ZX0lELCAwLCAwLCBSQURFT05fTkd9LAotCXsgUENJX1ZFTkRPUl9J RF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RTSwgUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1FNfSwKKwl7IFBDSV9WRU5E T1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQTYsIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9JR1B9LAorCXsgUENJ X1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9BNywg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0lHUH0sCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X0FELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjMw MH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX0FFLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURF T05fUjMwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX0FGLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAw LCBSQURFT05fUjMwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RF VklDRV9JRF9BVElfUkFERU9OX0FHLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCBSQURFT05fUjMwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX0FkLCBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCBSQURFT05fUjMwMF9TRUN9LAorCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9CNywgUENJX0FO WV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0lHUH0sCisJeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0JCLCBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjIwMH0sCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X0M2LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fSUdQ fSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fQzcsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVP Tl9JR1B9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9ENywgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwg UkFERU9OX0lHUH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX0lkLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCBSQURFT05fUlYyNTB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBD SV9ERVZJQ0VfSURfQVRJX1JBREVPTl9JZSwgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgUkFERU9OX1JWMjUwfSwKKwl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fSWYsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SVjI1MH0sCisJeyBQQ0lfVkVO RE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0lnLCBQQ0lf QU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUlYyNTB9LAorCXsg UENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9J biwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1JWMjUw X1NFQ30sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX0xXLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBS QURFT05fTTd9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9MWCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwg MCwgUkFERU9OX003fSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fTFksIFBDSV9BTllfSUQsIFBDSV9BTllfSUQs IDAsIDAsIFJBREVPTl9NNn0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFERU9OX0xaLCBQQ0lfQU5ZX0lELCBQQ0lfQU5Z X0lELCAwLCAwLCBSQURFT05fTTZ9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEks IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZCwgUENJX0FOWV9JRCwgUENJ X0FOWV9JRCwgMCwgMCwgUkFERU9OX005fSwKKwl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTGUsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9NOX0sCisJeyBQQ0lfVkVORE9S X0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xmLCBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fTTl9LAorCXsgUENJX1ZF TkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZywgUENJ X0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX005fSwKKwl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTG4s IFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9NOV9TRUN9 LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9ORCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9O X1IzMDB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9ORSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwg UkFERU9OX1IzMDB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9ORiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgUkFERU9OX1IzMDB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBD SV9ERVZJQ0VfSURfQVRJX1JBREVPTl9ORywgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgUkFERU9OX1IzMDB9LAorCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9OSCwgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1IzNTB9LAorCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9OZCwgUENJX0FO WV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1IzMDBfU0VDfSwKKwl7 IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f TmUsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMzAw X1NFQ30sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX05mLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBS QURFT05fUjMwMF9TRUN9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9E RVZJQ0VfSURfQVRJX1JBREVPTl9OZywgUENJX0FOWV9JRCwgUENJX0FOWV9J RCwgMCwgMCwgUkFERU9OX1IzMDBfU0VDfSwKKwl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTmgsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMzUwX1NFQ30sCisJeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FELCBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjEwMH0sCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X1FFLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjEw MH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX1FGLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURF T05fUjEwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX1FHLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAw LCBSQURFT05fUjEwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RF VklDRV9JRF9BVElfUkFERU9OX1FILCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCBSQURFT05fUjIwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FJLCBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCBSQURFT05fUjIwMH0sCisJeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FKLCBQQ0lfQU5ZX0lE LCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjIwMH0sCisJeyBQQ0lfVkVO RE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FLLCBQQ0lf QU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjIwMH0sCisJeyBQ Q0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FM LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjIwMH0s CisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX1FNLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05f UjIwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX1FOLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBS QURFT05fUjIwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX1FPLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCBSQURFT05fUjIwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFERU9OX1FXLCBQQ0lfQU5ZX0lELCBQQ0lfQU5Z X0lELCAwLCAwLCBSQURFT05fUlYyMDB9LAorCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RWCwgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1JWMjAwfSwKKwl7IFBDSV9WRU5E T1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVksIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SVjEwMH0sCisJeyBQ Q0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1Fa LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUlYxMDB9 LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9RaCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9O X1IyMDBfU0VDfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fUWksIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAs IDAsIFJBREVPTl9SMjAwX1NFQ30sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FqLCBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCBSQURFT05fUjIwMF9TRUN9LAorCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RaywgUENJX0FO WV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1IyMDBfU0VDfSwKKwl7 IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f UWwsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMjAw X1NFQ30sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX1g0LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBS QURFT05fUlMzMDB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9YNSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgUkFERU9OX1JTMzAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fWDYsIFBDSV9BTllfSUQsIFBDSV9B TllfSUQsIDAsIDAsIFJBREVPTl9SUzMwMH0sCisJeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1g3LCBQQ0lfQU5ZX0lE LCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUlMzMDB9LAogCXsgMCwgfQog fTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCByYWRlb25mYl9wY2lfdGFi bGUpOwpAQCAtMzUwLDcgKzMzNyw3IEBACiAJc3RydWN0IHJhZGVvbl9yZWdz IHN0YXRlOwogCXN0cnVjdCByYWRlb25fcmVncyBpbml0X3N0YXRlOwogCi0J Y2hhciBuYW1lWzMyXTsKKwljaGFyIG5hbWVbREVWSUNFX05BTUVfU0laRV07 CiAJY2hhciByYW1fdHlwZVsxMl07CiAKIAl1bnNpZ25lZCBsb25nIG1taW9f YmFzZV9waHlzOwpAQCAtNjc5LDEyICs2NjYsMTQgQEAKICAqLwogICAgICAg ICAKIHN0YXRpYyBjaGFyICptb2RlX29wdGlvbiBfX2luaXRkYXRhOwotc3Rh dGljIGNoYXIgbm9hY2NlbCA9IDE7Ci1zdGF0aWMgY2hhciBtaXJyb3IgPSAw Oworc3RhdGljIGludCBub2FjY2VsID0gMTsKK3N0YXRpYyBpbnQgbWlycm9y ID0gMDsKIHN0YXRpYyBpbnQgcGFuZWxfeXJlcyBfX2luaXRkYXRhID0gMDsK LXN0YXRpYyBjaGFyIGZvcmNlX2RmcCBfX2luaXRkYXRhID0gMDsKK3N0YXRp YyBpbnQgZm9yY2VfZGZwIF9faW5pdGRhdGEgPSAwOwogc3RhdGljIHN0cnVj dCByYWRlb25mYl9pbmZvICpib2FyZF9saXN0ID0gTlVMTDsKLXN0YXRpYyBj aGFyIG5vbXRyciBfX2luaXRkYXRhID0gMDsKKyNpZmRlZiBDT05GSUdfTVRS Ugorc3RhdGljIGludCBub210cnIgX19pbml0ZGF0YSA9IDA7CisjZW5kaWYK IAogLyoKICAqIHByb3RvdHlwZXMKQEAgLTY5OCw3ICs2ODcsMTAgQEAKIHN0 YXRpYyBpbnQgX19kZXZpbml0IHJhZGVvbl9zZXRfZmJpbmZvIChzdHJ1Y3Qg cmFkZW9uZmJfaW5mbyAqcmluZm8pOwogc3RhdGljIGludCBfX2RldmluaXQg cmFkZW9uX2luaXRfZGlzcCAoc3RydWN0IHJhZGVvbmZiX2luZm8gKnJpbmZv KTsKIHN0YXRpYyBpbnQgcmFkZW9uX2luaXRfZGlzcF92YXIgKHN0cnVjdCBy YWRlb25mYl9pbmZvICpyaW5mbywgc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZv ICp2YXIpOwotc3RhdGljIGNoYXIgKnJhZGVvbl9maW5kX3JvbShzdHJ1Y3Qg cmFkZW9uZmJfaW5mbyAqcmluZm8pOworI2lmIGRlZmluZWQoX19pMzg2X18p CitzdGF0aWMgdm9pZCBfX2luaXQgKnJhZGVvbl9tYXBfUk9NKHN0cnVjdCBy YWRlb25mYl9pbmZvICpyaW5mbywgc3RydWN0IHBjaV9kZXYgKnBkZXYpOwor c3RhdGljIHZvaWQgX19pbml0IHJhZGVvbl91bm1hcF9ST00oc3RydWN0IHBj aV9kZXYgKmRldiwgdm9pZCAqIHJvbSk7CisjZW5kaWYKIHN0YXRpYyB2b2lk IHJhZGVvbl9nZXRfcGxsaW5mbyhzdHJ1Y3QgcmFkZW9uZmJfaW5mbyAqcmlu Zm8sIGNoYXIgKmJpb3Nfc2VnKTsKIHN0YXRpYyB2b2lkIHJhZGVvbl9nZXRf bW9uaW5mbyAoc3RydWN0IHJhZGVvbmZiX2luZm8gKnJpbmZvKTsKIHN0YXRp YyBpbnQgcmFkZW9uX2dldF9kZnBpbmZvIChzdHJ1Y3QgcmFkZW9uZmJfaW5m byAqcmluZm8pOwpAQCAtNzMxLDc0ICs3MjMsNjUgQEAKICNlbmRpZiAvKiBD T05GSUdfUFBDX09GICovCiAKIAotc3RhdGljIGNoYXIgKnJhZGVvbl9maW5k X3JvbShzdHJ1Y3QgcmFkZW9uZmJfaW5mbyAqcmluZm8pCi17ICAgICAgIAog I2lmIGRlZmluZWQoX19pMzg2X18pCi0gICAgICAgIHUzMiAgc2Vnc3RhcnQ7 Ci0gICAgICAgIGNoYXIgKnJvbV9iYXNlOwotICAgICAgICBjaGFyICpyb207 Ci0gICAgICAgIGludCAgc3RhZ2U7Ci0gICAgICAgIGludCAgaSxqOyAgICAg ICAKLSAgICAgICAgY2hhciBhdHlfcm9tX3NpZ1tdID0gIjc2MTI5NTUyMCI7 Ci0gICAgICAgIGNoYXIgKnJhZGVvbl9zaWdbXSA9IHsKLSAgICAgICAgICAi Ukc2IiwKLSAgICAgICAgICAiUkFERU9OIgotICAgICAgICB9OwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0g ICAgICAgIGZvcihzZWdzdGFydD0weDAwMGMwMDAwOyBzZWdzdGFydDwweDAw MGYwMDAwOyBzZWdzdGFydCs9MHgwMDAwMTAwMCkgewotICAgICAgICAgICAg ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgc3RhZ2UgPSAxOwotICAg ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIHJvbV9iYXNlID0gKGNo YXIgKilpb3JlbWFwKHNlZ3N0YXJ0LCAweDEwMDApOwotCi0gICAgICAgICAg ICAgICAgaWYgKCgqcm9tX2Jhc2UgPT0gMHg1NSkgJiYgKCgoKihyb21fYmFz ZSArIDEpKSAmIDB4ZmYpID09IDB4YWEpKQotICAgICAgICAgICAgICAgICAg ICAgICAgc3RhZ2UgPSAyOwotICAgICAgICAgICAgICAgIAotICAgICAgICAg ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBpZiAoc3RhZ2UgIT0gMikg ewotICAgICAgICAgICAgICAgICAgICAgICAgaW91bm1hcChyb21fYmFzZSk7 Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgcm9tID0gcm9tX2Jhc2U7 Ci0gICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmb3Ig KGkgPSAwOyAoaSA8IDEyOCAtIHN0cmxlbihhdHlfcm9tX3NpZykpICYmIChz dGFnZSAhPSAzKTsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp ZiAoYXR5X3JvbV9zaWdbMF0gPT0gKnJvbSkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaWYgKHN0cm5jbXAoYXR5X3JvbV9zaWcsIHJvbSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cmxlbihhdHlfcm9tX3NpZykpID09IDApCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhZ2UgPSAzOwotICAgICAg ICAgICAgICAgICAgICAgICAgcm9tKys7Ci0gICAgICAgICAgICAgICAgfQot ICAgICAgICAgICAgICAgIGlmIChzdGFnZSAhPSAzKSB7Ci0gICAgICAgICAg ICAgICAgICAgICAgICBpb3VubWFwKHJvbV9iYXNlKTsKLSAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAg ICAgICAgICAgICAgICByb20gPSByb21fYmFzZTsKLSAgICAgICAgCi0gICAg ICAgICAgICAgICAgZm9yIChpID0gMDsgKGkgPCA1MTIpICYmIChzdGFnZSAh PSA0KTsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIGZvcihqID0gMDtq IDwgc2l6ZW9mKHJhZGVvbl9zaWcpL3NpemVvZihjaGFyICopO2orKykgewot ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJhZGVvbl9zaWdbal1bMF0g PT0gKnJvbSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg KHN0cm5jbXAocmFkZW9uX3NpZ1tqXSwgcm9tLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4ocmFkZW9uX3Np Z1tqXSkpID09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdGFnZSA9IDQ7Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg ICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIAot ICAgICAgICAgICAgICAgICAgICAgICAgcm9tKys7Ci0gICAgICAgICAgICAg ICAgfSAgICAgICAKLSAgICAgICAgICAgICAgICBpZiAoc3RhZ2UgIT0gNCkg ewotICAgICAgICAgICAgICAgICAgICAgICAgaW91bm1hcChyb21fYmFzZSk7 Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg ICAgICAgICB9ICAgICAgIAotICAgICAgICAgICAgICAgIAotICAgICAgICAg ICAgICAgIHJldHVybiByb21fYmFzZTsKLSAgICAgICAgfQotI2VuZGlmICAg ICAgICAgIAotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyB2b2lkICog X19pbml0IHJhZGVvbl9tYXBfUk9NKHN0cnVjdCByYWRlb25mYl9pbmZvICpy aW5mbywgc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwkvLyBJZiB0aGlzIGlz IGEgcHJpbWFyeSBjYXJkLCB0aGVyZSBpcyBhIHNoYWRvdyBjb3B5IG9mIHRo ZQorCS8vIFJPTSBzb21ld2hlcmUgaW4gdGhlIGZpcnN0IG1lZy4gV2Ugd2ls bCBqdXN0IGlnbm9yZSB0aGUgY29weQorCS8vIGFuZCB1c2UgdGhlIFJPTSBk aXJlY3RseS4KKyAgICAKKyAgICAJLyogRml4IGZyb20gQVRJIGZvciBwcm9i bGVtIHdpdGggUmFkZW9uIGhhcmR3YXJlIG5vdCBsZWF2aW5nIFJPTSBlbmFi bGVkICovCisgICAgCXVuc2lnbmVkIGludCB0ZW1wOworCXRlbXAgPSBJTlJF RyhSQURFT05fTVBQX1RCX0NPTkZJRyk7CisJdGVtcCAmPSAweDAwZmZmZmZm dTsKKwl0ZW1wIHw9IDB4MDQgPDwgMjQ7CisJT1VUUkVHKFJBREVPTl9NUFBf VEJfQ09ORklHLCB0ZW1wKTsKKwl0ZW1wID0gSU5SRUcoUkFERU9OX01QUF9U Ql9DT05GSUcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCS8vIG5vIG5lZWQgdG8g c2VhcmNoIGZvciB0aGUgUk9NLCBqdXN0IGFzayB0aGUgY2FyZCB3aGVyZSBp dCBpcy4KKwlzdHJ1Y3QgcmVzb3VyY2UgKnIgPSAmZGV2LT5yZXNvdXJjZVtQ Q0lfUk9NX1JFU09VUkNFXTsKKwl2b2lkICpyb207CisJCisJLy8gYXNzaWdu IHRoZSBST00gYW4gYWRkcmVzcyBpZiBpdCBkb2Vzbid0IGhhdmUgb25lCisJ aWYgKHItPnN0YXJ0ID09IDApCisJCXBjaV9hc3NpZ25fcmVzb3VyY2UoZGV2 LCBQQ0lfUk9NX1JFU09VUkNFKTsKKwkKKwkvLyBlbmFibGUgaWYgbmVlZGVk CisJaWYgKCEoci0+ZmxhZ3MgJiBQQ0lfUk9NX0FERFJFU1NfRU5BQkxFKSkg eworCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgZGV2LT5yb21fYmFz ZV9yZWcsIHItPnN0YXJ0IHwgUENJX1JPTV9BRERSRVNTX0VOQUJMRSk7CisJ CXItPmZsYWdzIHw9IFBDSV9ST01fQUREUkVTU19FTkFCTEU7CisJfQorCQor CXJvbSA9IGlvcmVtYXAoci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsg MSk7CisJaWYgKCFyb20pIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJyYWRlb25m YjogUk9NIGZhaWxlZCB0byBtYXBcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9 CisJCisJLy8gVmVyeSBzaW1wbGUgdGVzdCB0byBtYWtlIHN1cmUgaXQgYXBw ZWFyZWQKKwlpZiAocmVhZGIocm9tKSAhPSAweDU1KSB7CisJCXByaW50ayhL RVJOX0VSUiAicmFkZW9uZmI6IEludmFsaWQgUk9NIHNpZ25hdHVyZSAleCBz aG91bGQgYmUgMHg1NVxuIiwgcmVhZGIocm9tKSk7CisJCXJhZGVvbl91bm1h cF9ST00oZGV2LCByb20pOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJu IHJvbTsKIH0KIAotCi0KK3N0YXRpYyB2b2lkIF9faW5pdCByYWRlb25fdW5t YXBfUk9NKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHZvaWQgKiByb20pCit7CisJ Ly8gbGVhdmUgaXQgZGlzYWJsZWQgYW5kIHVuYXNzaWduZWQKKwlzdHJ1Y3Qg cmVzb3VyY2UgKnIgPSAmZGV2LT5yZXNvdXJjZVtQQ0lfUk9NX1JFU09VUkNF XTsKKwkKKwlpb3VubWFwKHJvbSk7CisJCisJci0+ZmxhZ3MgJj0gflBDSV9S T01fQUREUkVTU19FTkFCTEU7CisJci0+ZW5kIC09IHItPnN0YXJ0OworCXIt PnN0YXJ0ID0gMDsKKwkvKiBUaGlzIHdpbGwgZGlzYWJsZSBhbmQgc2V0IGFk ZHJlc3MgdG8gdW5hc3NpZ25lZCAqLworCXBjaV93cml0ZV9jb25maWdfZHdv cmQoZGV2LCBkZXYtPnJvbV9iYXNlX3JlZywgMCk7CisJcmVsZWFzZV9yZXNv dXJjZShyKTsKK30KKyNlbmRpZiAgICAgICAgICAKIAogc3RhdGljIHZvaWQg cmFkZW9uX2dldF9wbGxpbmZvKHN0cnVjdCByYWRlb25mYl9pbmZvICpyaW5m bywgY2hhciAqYmlvc19zZWcpCiB7CkBAIC0xMDgxLDEyICsxMDY0LDEyIEBA CiAJCXJldHVybiAwOwogCiAJaWYgKCEoZnBiaW9zc3RhcnQgPSByaW5mby0+ Ymlvc19zZWcgKyByZWFkdyhyaW5mby0+Ymlvc19zZWcgKyAweDQ4KSkpIHsK LQkJcHJpbnRrKCJyYWRlb25mYjogRmFpbGVkIHRvIGRldGVjdCBERlAgcGFu ZWwgaW5mbyB1c2luZyBCSU9TXG4iKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJy YWRlb25mYjogRmFpbGVkIHRvIGRldGVjdCBERlAgcGFuZWwgaW5mbyB1c2lu ZyBCSU9TXG4iKTsKIAkJcmV0dXJuIDA7CiAJfQogCiAJaWYgKCEodG1wID0g cmluZm8tPmJpb3Nfc2VnICsgcmVhZHcoZnBiaW9zc3RhcnQgKyAweDQwKSkp IHsKLQkJcHJpbnRrKCJyYWRlb25mYjogRmFpbGVkIHRvIGRldGVjdCBERlAg cGFuZWwgaW5mbyB1c2luZyBCSU9TXG4iKTsKKwkJcHJpbnRrKEtFUk5fRVJS ICJyYWRlb25mYjogRmFpbGVkIHRvIGRldGVjdCBERlAgcGFuZWwgaW5mbyB1 c2luZyBCSU9TXG4iKTsKIAkJcmV0dXJuIDA7CiAJfQogCkBAIC0xMTcyLDcg KzExNTUsNyBAQAogCQkJCXJpbmZvLT5wYW5lbF94cmVzID0gMTYwMDsKIAkJ CQlicmVhazsKIAkJCWRlZmF1bHQ6Ci0JCQkJcHJpbnRrKCJyYWRlb25mYjog RmFpbGVkIHRvIGRldGVjdCBERlAgcGFuZWwgc2l6ZVxuIik7CisJCQkJcHJp bnRrKEtFUk5fRVJSICJyYWRlb25mYjogRmFpbGVkIHRvIGRldGVjdCBERlAg cGFuZWwgc2l6ZVxuIik7CiAJCQkJcmV0dXJuIDA7CiAJCX0KIApAQCAtMjc5 NCwxMCArMjc3NywyMSBAQAogCQkJCSAgY29uc3Qgc3RydWN0IHBjaV9kZXZp Y2VfaWQgKmVudCkKIHsKIAlzdHJ1Y3QgcmFkZW9uZmJfaW5mbyAqcmluZm87 Ci0Jc3RydWN0IHJhZGVvbl9jaGlwX2luZm8gKnJjaSA9ICZyYWRlb25fY2hp cF9pbmZvW2VudC0+ZHJpdmVyX2RhdGFdOwogCXUzMiB0bXA7CiAKIAlSVFJB Q0UoInJhZGVvbmZiX3BjaV9yZWdpc3RlciBCRUdJTlxuIik7CisJCisJLyog VGhlIGRyaXZlciBhY2tub3dsZWRnZXMgb3duaW5nIHNlY29uZGFyeSBkZXZp Y2VzIGJ1dCB0aGV5IGFyZSBoYW5kbGVkIGJ5IHByaW1hcnkgKi8KKwlzd2l0 Y2ggKGVudC0+ZHJpdmVyX2RhdGEpIHsKKwljYXNlIFJBREVPTl9SMjAwX1NF QzoKKwljYXNlIFJBREVPTl9SVjI1MF9TRUM6CisJY2FzZSBSQURFT05fUjMw MF9TRUM6CisJY2FzZSBSQURFT05fUjM1MF9TRUM6CisJY2FzZSBSQURFT05f TTlfU0VDOgorCQlyZXR1cm4gMDsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9 CiAKIAkvKiBFbmFibGUgZGV2aWNlIGluIFBDSSBjb25maWcgKi8KIAlpZiAo cGNpX2VuYWJsZV9kZXZpY2UocGRldikgIT0gMCkgewpAQCAtMjgwNywxNSAr MjgwMSwyMyBAQAogCiAJcmluZm8gPSBrbWFsbG9jIChzaXplb2YgKHN0cnVj dCByYWRlb25mYl9pbmZvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFyaW5mbykg ewotCQlwcmludGsgKCJyYWRlb25mYjogY291bGQgbm90IGFsbG9jYXRlIG1l bW9yeVxuIik7CisJCXByaW50ayAoS0VSTl9FUlIgInJhZGVvbmZiOiBjb3Vs ZCBub3QgYWxsb2NhdGUgbWVtb3J5XG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7 CiAJfQogCiAJbWVtc2V0IChyaW5mbywgMCwgc2l6ZW9mIChzdHJ1Y3QgcmFk ZW9uZmJfaW5mbykpOwotCS8vaW5mbyA9ICZyaW5mby0+aW5mbzsKKwogCXJp bmZvLT5wZGV2ID0gcGRldjsKLQlzdHJjcHkocmluZm8tPm5hbWUsIHJjaS0+ bmFtZSk7Ci0JcmluZm8tPmFyY2ggPSByY2ktPmFyY2g7CisJCisJc3RyY3B5 KHJpbmZvLT5uYW1lLCAiQVRJIFJhZGVvbiBYWCAiKTsKKwlyaW5mby0+bmFt ZVsxMV0gPSBlbnQtPmRldmljZSA+PiA4OworCXJpbmZvLT5uYW1lWzEyXSA9 IGVudC0+ZGV2aWNlICYgMHhGRjsKKwkJCisJLyogcmFuZ2UgY2hlY2sgdG8g bWFrZSBzdXJlICovCisJaWYgKGVudC0+ZHJpdmVyX2RhdGEgPCAoc2l6ZW9m KHJhZGVvbl9mYW1pbHkpL3NpemVvZihjaGFyICopKSkKKwkgICAgc3RybmNh dChyaW5mby0+bmFtZSwgcmFkZW9uX2ZhbWlseVtlbnQtPmRyaXZlcl9kYXRh XSwgc2l6ZW9mKHJpbmZvLT5uYW1lKSk7CisJCisJcmluZm8tPmFyY2ggPSBl bnQtPmRyaXZlcl9kYXRhOwogCiAJLyogU2V0IGJhc2UgYWRkcnMgKi8KIAly aW5mby0+ZmJfYmFzZV9waHlzID0gcGNpX3Jlc291cmNlX3N0YXJ0IChwZGV2 LCAwKTsKQEAgLTI4MjQsMzAgKzI4MjYsMjEgQEAKIAkvKiByZXF1ZXN0IHRo ZSBtZW0gcmVnaW9ucyAqLwogCWlmICghcmVxdWVzdF9tZW1fcmVnaW9uIChy aW5mby0+ZmJfYmFzZV9waHlzLAogCQkJCSBwY2lfcmVzb3VyY2VfbGVuKHBk ZXYsIDApLCAicmFkZW9uZmIiKSkgewotCQlwcmludGsgKCJyYWRlb25mYjog Y2Fubm90IHJlc2VydmUgRkIgcmVnaW9uXG4iKTsKLQkJa2ZyZWUgKHJpbmZv KTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXByaW50ayAoS0VSTl9FUlIgInJh ZGVvbmZiOiBjYW5ub3QgcmVzZXJ2ZSBGQiByZWdpb25cbiIpOworCQlnb3Rv IGZyZWVfcmluZm87CiAJfQogCiAJaWYgKCFyZXF1ZXN0X21lbV9yZWdpb24g KHJpbmZvLT5tbWlvX2Jhc2VfcGh5cywKIAkJCQkgcGNpX3Jlc291cmNlX2xl bihwZGV2LCAyKSwgInJhZGVvbmZiIikpIHsKLQkJcHJpbnRrICgicmFkZW9u ZmI6IGNhbm5vdCByZXNlcnZlIE1NSU8gcmVnaW9uXG4iKTsKLQkJcmVsZWFz ZV9tZW1fcmVnaW9uIChyaW5mby0+ZmJfYmFzZV9waHlzLAotCQkJCSAgICBw Y2lfcmVzb3VyY2VfbGVuKHBkZXYsIDApKTsKLQkJa2ZyZWUgKHJpbmZvKTsK LQkJcmV0dXJuIC1FTk9ERVY7CisJCXByaW50ayAoS0VSTl9FUlIgInJhZGVv bmZiOiBjYW5ub3QgcmVzZXJ2ZSBNTUlPIHJlZ2lvblxuIik7CisJCWdvdG8g cmVsZWFzZV9mYjsKIAl9CiAKIAkvKiBtYXAgdGhlIHJlZ2lvbnMgKi8KIAly aW5mby0+bW1pb19iYXNlID0gKHVuc2lnbmVkIGxvbmcpIGlvcmVtYXAgKHJp bmZvLT5tbWlvX2Jhc2VfcGh5cywgUkFERU9OX1JFR1NJWkUpOwogCWlmICgh cmluZm8tPm1taW9fYmFzZSkgewotCQlwcmludGsgKCJyYWRlb25mYjogY2Fu bm90IG1hcCBNTUlPXG4iKTsKLQkJcmVsZWFzZV9tZW1fcmVnaW9uIChyaW5m by0+bW1pb19iYXNlX3BoeXMsCi0JCQkJICAgIHBjaV9yZXNvdXJjZV9sZW4o cGRldiwgMikpOwotCQlyZWxlYXNlX21lbV9yZWdpb24gKHJpbmZvLT5mYl9i YXNlX3BoeXMsCi0JCQkJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMCkp OwotCQlrZnJlZSAocmluZm8pOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcHJp bnRrIChLRVJOX0VSUiAicmFkZW9uZmI6IGNhbm5vdCBtYXAgTU1JT1xuIik7 CisJCWdvdG8gcmVsZWFzZV9tbWlvOwogCX0KIAogCXJpbmZvLT5jaGlwc2V0 ID0gcGRldi0+ZGV2aWNlOwpAQCAtMjkyNCw3ICsyOTE3LDcgQEAKIAkJCWJy ZWFrOwogCX0KIAotCXJpbmZvLT5iaW9zX3NlZyA9IHJhZGVvbl9maW5kX3Jv bShyaW5mbyk7CisJcmluZm8tPmJpb3Nfc2VnID0gcmFkZW9uX21hcF9ST00o cmluZm8sIHBkZXYpOwogCXJhZGVvbl9nZXRfcGxsaW5mbyhyaW5mbywgcmlu Zm8tPmJpb3Nfc2VnKTsKIAogCS8qCkBAIC0yOTY2LDI2ICsyOTU5LDE0IEBA CiAJaWYgKChyaW5mby0+ZHZpRGlzcF90eXBlID09IE1UX0RGUCkgfHwgKHJp bmZvLT5kdmlEaXNwX3R5cGUgPT0gTVRfTENEKSB8fAogCSAgICAocmluZm8t PmNydERpc3BfdHlwZSA9PSBNVF9ERlApKSB7CiAJCWlmICghcmFkZW9uX2dl dF9kZnBpbmZvKHJpbmZvKSkgewotCQkJaW91bm1hcCAoKHZvaWQqKXJpbmZv LT5tbWlvX2Jhc2UpOwotCQkJcmVsZWFzZV9tZW1fcmVnaW9uIChyaW5mby0+ bW1pb19iYXNlX3BoeXMsCi0JCQkJCSAgICBwY2lfcmVzb3VyY2VfbGVuKHBk ZXYsIDIpKTsKLQkJCXJlbGVhc2VfbWVtX3JlZ2lvbiAocmluZm8tPmZiX2Jh c2VfcGh5cywKLQkJCQkJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMCkp OwotCQkJa2ZyZWUgKHJpbmZvKTsKLQkJCXJldHVybiAtRU5PREVWOworCQkJ Z290byB1bm1hcF9yb207CiAJCX0KIAl9CiAKIAlyaW5mby0+ZmJfYmFzZSA9 ICh1bnNpZ25lZCBsb25nKSBpb3JlbWFwIChyaW5mby0+ZmJfYmFzZV9waHlz LCByaW5mby0+dmlkZW9fcmFtKTsKIAlpZiAoIXJpbmZvLT5mYl9iYXNlKSB7 Ci0JCXByaW50ayAoInJhZGVvbmZiOiBjYW5ub3QgbWFwIEZCXG4iKTsKLQkJ aW91bm1hcCAoKHZvaWQqKXJpbmZvLT5tbWlvX2Jhc2UpOwotCQlyZWxlYXNl X21lbV9yZWdpb24gKHJpbmZvLT5tbWlvX2Jhc2VfcGh5cywKLQkJCQkgICAg cGNpX3Jlc291cmNlX2xlbihwZGV2LCAyKSk7Ci0JCXJlbGVhc2VfbWVtX3Jl Z2lvbiAocmluZm8tPmZiX2Jhc2VfcGh5cywKLQkJCQkgICAgcGNpX3Jlc291 cmNlX2xlbihwZGV2LCAwKSk7Ci0JCWtmcmVlIChyaW5mbyk7Ci0JCXJldHVy biAtRU5PREVWOworCQlwcmludGsgKEtFUk5fRVJSICJyYWRlb25mYjogY2Fu bm90IG1hcCBGQlxuIik7CisJCWdvdG8gdW5tYXBfcm9tOwogCX0KIAogCS8q IEkgU0hPVUxEIEZJWCBUSEFUIENSQVAgISBJIHNob3VsZCBwcm9iYWJseSBt aW1taWMgWEZyZWUgRFJJCkBAIC0zMDM1LDE1ICszMDE2LDggQEAKIAlib2Fy ZF9saXN0ID0gcmluZm87CiAKIAlpZiAocmVnaXN0ZXJfZnJhbWVidWZmZXIg KChzdHJ1Y3QgZmJfaW5mbyAqKSByaW5mbykgPCAwKSB7Ci0JCXByaW50ayAo InJhZGVvbmZiOiBjb3VsZCBub3QgcmVnaXN0ZXIgZnJhbWVidWZmZXJcbiIp OwotCQlpb3VubWFwICgodm9pZCopcmluZm8tPmZiX2Jhc2UpOwotCQlpb3Vu bWFwICgodm9pZCopcmluZm8tPm1taW9fYmFzZSk7Ci0JCXJlbGVhc2VfbWVt X3JlZ2lvbiAocmluZm8tPm1taW9fYmFzZV9waHlzLAotCQkJCSAgICBwY2lf cmVzb3VyY2VfbGVuKHBkZXYsIDIpKTsKLQkJcmVsZWFzZV9tZW1fcmVnaW9u IChyaW5mby0+ZmJfYmFzZV9waHlzLAotCQkJCSAgICBwY2lfcmVzb3VyY2Vf bGVuKHBkZXYsIDApKTsKLQkJa2ZyZWUgKHJpbmZvKTsKLQkJcmV0dXJuIC1F Tk9ERVY7CisJCXByaW50ayAoS0VSTl9FUlIgInJhZGVvbmZiOiBjb3VsZCBu b3QgcmVnaXN0ZXIgZnJhbWVidWZmZXJcbiIpOworCQlnb3RvIHVubWFwX2Zi OwogCX0KIAogI2lmZGVmIENPTkZJR19NVFJSCkBAIC0zMDY1LDcgKzMwMzks NyBAQAogCX0KICNlbmRpZgogCi0JcHJpbnRrICgicmFkZW9uZmI6IEFUSSBS YWRlb24gJXMgJXMgJWQgTUJcbiIsIHJpbmZvLT5uYW1lLCByaW5mby0+cmFt X3R5cGUsCisJcHJpbnRrICgicmFkZW9uZmI6ICVzICVzICVkIE1CXG4iLCBy aW5mby0+bmFtZSwgcmluZm8tPnJhbV90eXBlLAogCQkocmluZm8tPnZpZGVv X3JhbS8oMTAyNCoxMDI0KSkpOwogCiAJaWYgKHJpbmZvLT5oYXNDUlRDMikg ewpAQCAtMzA3OCw5ICszMDUyLDI0IEBACiAJCQlHRVRfTU9OX05BTUUocmlu Zm8tPmNydERpc3BfdHlwZSkpOwogCX0KIAorCXJhZGVvbl91bm1hcF9ST00o cGRldiwgcmluZm8tPmJpb3Nfc2VnKTsKIAlSVFJBQ0UoInJhZGVvbmZiX3Bj aV9yZWdpc3RlciBFTkRcbiIpOwogCiAJcmV0dXJuIDA7Cit1bm1hcF9mYjoK Kwlpb3VubWFwICgodm9pZCopcmluZm8tPmZiX2Jhc2UpOwordW5tYXBfcm9t OgkKKwlyYWRlb25fdW5tYXBfUk9NKHBkZXYsIHJpbmZvLT5iaW9zX3NlZyk7 CisJaW91bm1hcCAoKHZvaWQqKXJpbmZvLT5tbWlvX2Jhc2UpOworcmVsZWFz ZV9tbWlvOgorCXJlbGVhc2VfbWVtX3JlZ2lvbiAocmluZm8tPm1taW9fYmFz ZV9waHlzLAorCQkJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMikpOwor cmVsZWFzZV9mYjoJCisJcmVsZWFzZV9tZW1fcmVnaW9uIChyaW5mby0+ZmJf YmFzZV9waHlzLAorCQkJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMCkp OworZnJlZV9yaW5mbzoJCisJa2ZyZWUgKHJpbmZvKTsKKwlyZXR1cm4gLUVO T0RFVjsKIH0KIAogCkBAIC0zMTM3LDQwICszMTI2LDI1IEBACiAJcGNpX3Vu cmVnaXN0ZXJfZHJpdmVyICgmcmFkZW9uZmJfZHJpdmVyKTsKIH0KIAotCi1p bnQgX19pbml0IHJhZGVvbmZiX3NldHVwIChjaGFyICpvcHRpb25zKQotewot ICAgICAgICBjaGFyICp0aGlzX29wdDsKLQotICAgICAgICBpZiAoIW9wdGlv bnMgfHwgISpvcHRpb25zKQotICAgICAgICAgICAgICAgIHJldHVybiAwOwot IAotCXdoaWxlICgodGhpc19vcHQgPSBzdHJzZXAgKCZvcHRpb25zLCAiLCIp KSAhPSBOVUxMKSB7Ci0JCWlmICghKnRoaXNfb3B0KQotCQkJY29udGludWU7 Ci0gICAgICAgICAgICAgICAgaWYgKCFzdHJuY21wKHRoaXNfb3B0LCAibm9h Y2NlbCIsIDcpKSB7Ci0JCQlub2FjY2VsID0gMTsKLSAgICAgICAgICAgICAg ICB9IGVsc2UgaWYgKCFzdHJuY21wKHRoaXNfb3B0LCAibWlycm9yIiwgNikp IHsKLQkJCW1pcnJvciA9IDE7Ci0JCX0gZWxzZSBpZiAoIXN0cm5jbXAodGhp c19vcHQsICJkZnAiLCAzKSkgewotCQkJZm9yY2VfZGZwID0gMTsKLQkJfSBl bHNlIGlmICghc3RybmNtcCh0aGlzX29wdCwgInBhbmVsX3lyZXM6IiwgMTEp KSB7Ci0JCQlwYW5lbF95cmVzID0gc2ltcGxlX3N0cnRvdWwoKHRoaXNfb3B0 KzExKSwgTlVMTCwgMCk7Ci0JCX0gZWxzZSBpZiAoIXN0cm5jbXAodGhpc19v cHQsICJub210cnIiLCA2KSkgewotCQkJbm9tdHJyID0gMTsKLSAgICAgICAg ICAgICAgICB9IGVsc2UKLQkJCW1vZGVfb3B0aW9uID0gdGhpc19vcHQ7Ci0g ICAgICAgIH0KLQotCXJldHVybiAwOwotfQotCiAjaWZkZWYgTU9EVUxFCiBt b2R1bGVfaW5pdChyYWRlb25mYl9pbml0KTsKIG1vZHVsZV9leGl0KHJhZGVv bmZiX2V4aXQpOwogI2VuZGlmCiAKLQogTU9EVUxFX0FVVEhPUigiQW5pIEpv c2hpIik7CiBNT0RVTEVfREVTQ1JJUFRJT04oImZyYW1lYnVmZmVyIGRyaXZl ciBmb3IgQVRJIFJhZGVvbiBjaGlwc2V0Iik7CiBNT0RVTEVfTElDRU5TRSgi R1BMIik7Cittb2R1bGVfcGFyYW0obm9hY2NlbCwgYm9vbCwgMCk7CitNT0RV TEVfUEFSTV9ERVNDKG5vYWNjZWwsICJib29sOiBkaXNhYmxlIGFjY2VsZXJh dGlvbiIpOworbW9kdWxlX3BhcmFtKG1pcnJvciwgYm9vbCwgMCk7CitNT0RV TEVfUEFSTV9ERVNDKG1pcnJvciwgImJvb2w6IG1pcnJvciB0aGUgZGlzcGxh eSB0byBib3RoIG1vbml0b3JzIik7Cittb2R1bGVfcGFyYW0oZm9yY2VfZGZw LCBib29sLCAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZm9yY2VfZGZwLCAiYm9v bDogZm9yY2UgZGlzcGxheSB0byBkZnAiKTsKKyNpZmRlZiBDT05GSUdfTVRS UgorbW9kdWxlX3BhcmFtKG5vbXRyciwgYm9vbCwgMCk7CitNT0RVTEVfUEFS TV9ERVNDKG5vbXRyciwgImJvb2w6IGRpc2FibGUgdXNlIG9mIE1UUlIgcmVn aXN0ZXJzIik7CisjZW5kaWYKK21vZHVsZV9wYXJhbShwYW5lbF95cmVzLCBp bnQsIDApOworTU9EVUxFX1BBUk1fREVTQyhmb3JjZV9kZnAsICJpbnQ6IHNl dCBwYW5lbCB5cmVzIik7Cittb2R1bGVfcGFyYW0obW9kZV9vcHRpb24sIGNo YXJwLCAwKTsKK01PRFVMRV9QQVJNX0RFU0MobW9kZV9vcHRpb24sICJTcGVj aWZ5IHJlc29sdXRpb24gYXMgXCI8eHJlcz54PHlyZXM+Wy08YnBwPl1bQDxy ZWZyZXNoPl1cIiAiKTsKZGlmZiAtTnJ1IGEvaW5jbHVkZS9saW51eC9wY2lf aWRzLmggYi9pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaAotLS0gYS9pbmNsdWRl L2xpbnV4L3BjaV9pZHMuaAlGcmkgQXVnIDE1IDIxOjE5OjAyIDIwMDMKKysr IGIvaW5jbHVkZS9saW51eC9wY2lfaWRzLmgJRnJpIEF1ZyAxNSAyMToxOTow MiAyMDAzCkBAIC0xODIsOCArMTgyLDIxIEBACiAjZGVmaW5lIFBDSV9ERVZJ Q0VfSURfTFNJXzYzQzgxNQkweDEwMDAKIAogI2RlZmluZSBQQ0lfVkVORE9S X0lEX0FUSQkJMHgxMDAyCi0vKiBNYWNoNjQgKi8KKy8qIFJhZGVvbiAqLwor I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQTYJMHg0MTM2Cisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9BNwkweDQxMzcKKyNk ZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0FECTB4NDE0NAorI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQUUJMHg0MTQ1CisjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9BRgkweDQxNDYKKyNkZWZp bmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0FHCTB4NDE0NwogI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV82ODgwMAkJMHg0MTU4CisjZGVmaW5lIFBD SV9ERVZJQ0VfSURfQVRJX1JBREVPTl9BZAkweDQxNjQKKyNkZWZpbmUgUENJ X0RFVklDRV9JRF9BVElfUkFERU9OX0I3CTB4NDIzNworI2RlZmluZSBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fQkIJMHg0MjQyCisjZGVmaW5lIFBDSV9E RVZJQ0VfSURfQVRJX1JBREVPTl9DNgkweDQzMzYKKyNkZWZpbmUgUENJX0RF VklDRV9JRF9BVElfUkFERU9OX0M3CTB4NDMzNworI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fRDcJMHg0MzM3CisvKiBNYWNoNjQgKi8KICNk ZWZpbmUgUENJX0RFVklDRV9JRF9BVElfMjE1Q1QyMjIJMHg0MzU0CiAjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJXzIxMDg4OENYCTB4NDM1OAogI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV8yMTVFVDIyMgkweDQ1NTQKQEAgLTIwMCw2 ICsyMTMsMTMgQEAKICNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfMjE1X0lX CTB4NDc1NwogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV8yMTVfSVoJMHg0 NzVBCiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJXzIxMDg4OEdYCTB4NDc1 OAorLyogUmFkZW9uIFJWMjUwICg5MDAwKSAqLworI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fSWQJMHg0OTY0CisjZGVmaW5lIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9JZQkweDQ5NjUKKyNkZWZpbmUgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX0lmCTB4NDk2NgorI2RlZmluZSBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fSWcJMHg0OTY3CisjZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9JbgkweDQ5NmUKKy8qIE1hY2g2NCAvIFJhZ2UgKi8K ICNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfMjE1X0xCCTB4NGM0MgogI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV8yMTVfTEQJMHg0YzQ0CiAjZGVmaW5l IFBDSV9ERVZJQ0VfSURfQVRJXzIxNV9MRwkweDRjNDcKQEAgLTIwOSwxNSAr MjI5LDQwIEBACiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJXzIxNV9MUgkw eDRjNTIKICNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfMjE1X0xTCTB4NGM1 MwogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV8yNjRfTFQJMHg0YzU0Ci0v KiBSYWRlb24gTTQgKi8KLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX0xFCTB4NGQ0NQotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURF T05fTEYJMHg0ZDQ2CisvKiBSYWRlb24gTTcgKi8KKyNkZWZpbmUgUENJX0RF VklDRV9JRF9BVElfUkFERU9OX0xXCTB4NGM1NworI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fTFgJMHg0YzU4CisvKiBSYWRlb24gTTYgKi8K KyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xZCTB4NGM1OQor I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTFoJMHg0YzVhCisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZAkweDRjNjQKKyNk ZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xlCTB4NGM2NQorI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTGYJMHg0YzY2CisjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZwkweDRjNjcKKyNkZWZp bmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xuCTB4NGM2ZQorLyogUmFn ZTEyOCBNMyAqLworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X0xFCTB4NGM0NQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X0xGCTB4NGM0NgorLyogUmFnZTEyOCBNNCAqLworI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X01GCTB4NGQ0NgorI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X01MCTB4NGQ0YworLyogUmFkZW9uIFIzMDAg KDk3MDApICovCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9O RAkweDRlNDQKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05F CTB4NGU0NQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTkYJ MHg0ZTQ2CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9ORwkw eDRlNDcKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05ICTB4 NGU0OAorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTmQJMHg0 ZTY0CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9OZQkweDRl NjUKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05mCTB4NGU2 NgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTmcJMHg0ZTY3 CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9OaAkweDRlNjgK IC8qIFJhZ2UxMjggUHJvIEdMICovCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JhZ2UxMjhfUEEJMHg1MDQxCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JhZ2UxMjhfUEIJMHg1MDQyCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JhZ2UxMjhfUEMJMHg1MDQzCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JhZ2UxMjhfUEQJMHg1MDQ0Ci0jZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JhZ2UxMjhfUEUJMHg1MDQ1CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUEEJMHg1MDQxCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUEIJMHg1MDQyCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUEMJMHg1MDQzCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUEQJMHg1MDQ0CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUEUJMHg1MDQ1CiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBR0UxMjhfUEYJMHg1MDQ2CiAvKiBSYWdlMTI4IFBybyBWUiAqLwog I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BHCTB4NTA0NwpA QCAtMjQ0LDc4ICsyODksNjAgQEAKICNkZWZpbmUgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX1FFCTB4NTE0NQogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FU SV9SQURFT05fUUYJMHg1MTQ2CiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJ X1JBREVPTl9RRwkweDUxNDcKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX1FICTB4NTE0OAorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fUUkJMHg1MTQ5CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9RSgkweDUxNGEKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX1FLCTB4NTE0YgogLyogUmFkZW9uIFIyMDAgKDg1MDApICovCiAjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RTAkweDUxNGMKKyNkZWZp bmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FNCTB4NTE0ZAogI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUU4JMHg1MTRlCiAjZGVmaW5l IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RTwkweDUxNGYKLSNkZWZpbmUg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FsCTB4NTE2YwotI2RlZmluZSBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fQkIJMHg0MjQyCiAvKiBSYWRlb24g UlYyMDAgKDc1MDApICovCiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9RVwkweDUxNTcKICNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX1FYCTB4NTE1OAotLyogUmFkZW9uIE5WLTEwMCAqLwotI2RlZmluZSBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fTjEJMHg1MTU5Ci0jZGVmaW5lIFBD SV9ERVZJQ0VfSURfQVRJX1JBREVPTl9OMgkweDUxNWEKIC8qIFJhZGVvbiBS VjEwMCAoVkUpICovCiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9RWQkweDUxNTkKICNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X1FaCTB4NTE1YQotLyogUmFkZW9uIFJWMjUwICg5MDAwKSAqLwotI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fSWQJMHg0OTY0Ci0jZGVmaW5l IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9JZQkweDQ5NjUKLSNkZWZpbmUg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX0lmCTB4NDk2NgotI2RlZmluZSBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fSWcJMHg0OTY3Ci0jZGVmaW5lIFBD SV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RTQkweDUxNGQKLS8qIFJhZGVvbiBS MzAwICg5NzAwKSAqLwotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURF T05fTkQJMHg0ZTQ0Ci0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9ORQkweDRlNDUKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X05GCTB4NGU0NgotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f TkcJMHg0ZTQ3Ci0vKiBSYWRlb24gTTYgKi8KLSNkZWZpbmUgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX0xZCTB4NGM1OQotI2RlZmluZSBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fTFoJMHg0YzVhCi0vKiBSYWRlb24gTTcgKi8KLSNk ZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xXCTB4NGM1NwotI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTFgJMHg0YzU4Ci0jZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZAkweDQ5NjQKLSNkZWZp bmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xlCTB4NDk2NQotI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTGYJMHg0OTY2Ci0jZGVmaW5l IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZwkweDQ5NjcKLS8qIFJhZGVv biAqLwotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUkEJMHg1 MTQ0Ci0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9SQgkweDUx NDUKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1JDCTB4NTE0 NgotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUkQJMHg1MTQ3 Ci0vKiBSYWdlMTI4IEdMICovCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJ X1JBREVPTl9RaAkweDUxNjgKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX1FpCTB4NTE2OQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fUWoJMHg1MTZhCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9RawkweDUxNmIKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX1FsCTB4NTE2YworLyogUmFnZTEyOCBWUiAqLwogI2RlZmluZSBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1JFCTB4NTI0NQogI2RlZmluZSBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1JGCTB4NTI0NgotI2RlZmluZSBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1JHCTB4NTM0YgotI2RlZmluZSBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1JICTB4NTM0YwotI2RlZmluZSBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1JJCTB4NTM0ZAotLyogUmFnZTEyOCBW UiAqLworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JHCTB4 NTI0NwogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JLCTB4 NTI0YgogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JMCTB4 NTI0YwotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JNCTB4 NTM0NQotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JOCTB4 NTM0NgotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JPCTB4 NTM0NwotLyogUmFnZTEyOCBNMyAqLwotI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X0xFCTB4NGM0NQotI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X0xGCTB4NGM0NgorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NFCTB4NTM0NQorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NGCTB4NTM0NgorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NHCTB4NTM0NworI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NICTB4NTM0OAorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NLCTB4NTM0YgorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NMCTB4NTM0YworI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NNCTB4NTM0ZAorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NOCTB4NTM0ZQogLyogUmFnZTEyOCBQcm8gVWx0cmEg Ki8KLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9VMQkweDU0 NDYKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9VMgkweDU0 NEMKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9VMwkweDU0 NTIKLS8qIE1hY2g2NCBWVCAqLwotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FU SV8yNjRWVAkJMHg1NjU0Ci0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJXzI2 NFZVCQkweDU2NTUKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfMjY0VlYJ CTB4NTY1NgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RG CTB4NTQ0NgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RM CTB4NTQ0QworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RS CTB4NTQ1MgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RT CTB4NTQ1MworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RU CTB4NTQ1NAorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RV CTB4NTQ1NQorLyogUmFkZW9uIFJTMzAwICovCisjZGVmaW5lIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9YMAkweDU4MzAKKyNkZWZpbmUgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX1gxCTB4NTgzMQorI2RlZmluZSBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fWDIJMHg1ODMyCisjZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9YMwkweDU4MzMKKyNkZWZpbmUgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX1g0CTB4NTgzNAorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fWDUJMHg1ODM1CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9YNgkweDU4MzYKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX1g3CTB4NTgzNwogLyogUmFkZW9uSUdQICovCiAjZGVmaW5l IFBDSV9ERVZJQ0VfSURfQVRJX1JTMTAwCQkweGNhYjAKICNkZWZpbmUgUENJ X0RFVklDRV9JRF9BVElfUlMyMDAJCTB4Y2FiMgogI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FUSV9SUzI1MAkJMHhjYWIzCi0jZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JTMzAwXzEwMAkweDU4MzAKLSNkZWZpbmUgUENJX0RFVklDRV9J RF9BVElfUlMzMDBfMTMzCTB4NTgzMQotI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SUzMwMF8xNjYJMHg1ODMyCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JTMzAwXzIwMAkweDU4MzMKIAogI2RlZmluZSBQQ0lfVkVORE9SX0lE X1ZMU0kJCTB4MTAwNAogI2RlZmluZSBQQ0lfREVWSUNFX0lEX1ZMU0lfODJD NTkyCTB4MDAwNQpkaWZmIC1OcnUgYS9pbmNsdWRlL3ZpZGVvL2F0eTEyOC5o IGIvaW5jbHVkZS92aWRlby9hdHkxMjguaAotLS0gYS9pbmNsdWRlL3ZpZGVv L2F0eTEyOC5oCUZyaSBBdWcgMTUgMjE6MTk6MDIgMjAwMworKysgYi9pbmNs dWRlL3ZpZGVvL2F0eTEyOC5oCUZyaSBBdWcgMTUgMjE6MTk6MDIgMjAwMwpA QCAtNDE2LDQgKzQxNiw3IEBACiAKICNkZWZpbmUgUE1JX1BNU0NSX1JFRwkJ CQkweDYwCiAKKy8qIHVzZWQgYnkgQVRJIGJ1ZyBmaXggZm9yIGhhcmR3YXJl IFJPTSAqLworI2RlZmluZSBSQUdFMTI4X01QUF9UQl9DT05GSUcgICAgICAg ICAgICAJMHgwMWMwCisKICNlbmRpZgkJCQkvKiBSRUdfUkFHRTEyOF9IICov CmRpZmYgLU5ydSBhL2luY2x1ZGUvdmlkZW8vcmFkZW9uLmggYi9pbmNsdWRl L3ZpZGVvL3JhZGVvbi5oCi0tLSBhL2luY2x1ZGUvdmlkZW8vcmFkZW9uLmgJ RnJpIEF1ZyAxNSAyMToxOTowMiAyMDAzCisrKyBiL2luY2x1ZGUvdmlkZW8v cmFkZW9uLmgJRnJpIEF1ZyAxNSAyMToxOTowMiAyMDAzCkBAIC04NzIsNSAr ODcyLDggQEAKIAogI2RlZmluZSBHVUlfQUNUSVZFCQkJMHg4MDAwMDAwMAog CisvKiB1c2VkIGJ5IEFUSSBidWcgZml4IGZvciBoYXJkd2FyZSBST00gKi8K KyNkZWZpbmUgUkFERU9OX01QUF9UQl9DT05GSUcgICAgICAgICAgICAweDAx YzAKKwogI2VuZGlmCS8qIF9SQURFT05fSCAqLwogCg== --0-270351802-1061091824=:12158-- ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01