Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1084787pxa; Thu, 20 Aug 2020 01:56:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1n/Kg0KO4/ZEL6lL/mepkx0q33fmgNHX2+zWor1rQCXgXNe1uK+1ssT97EPhkBtsOXP6q X-Received: by 2002:a17:906:d18c:: with SMTP id c12mr2147958ejz.151.1597913771301; Thu, 20 Aug 2020 01:56:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597913771; cv=none; d=google.com; s=arc-20160816; b=oR3qKEajIDlfphkgGET8FGqfEPwFSYEtBh+s/CtKKHeLqYkeAEbTpe5JMGB80OOCLS dvJS2EreG/a+y/6c2d6K7vvGg7RPgmnrBW7aSUea5Ct4IMLJkUtx2WCzPOFZiSTccUM+ RWeO9LASk0FpbZO1zqHKEakfb1gIZfgrIrunjiUKlSUVJQEPDhsgIzSNLRQItc4043l+ KEugfJP/Ozd5j3KIRqHjNK6X5OoYVo8FtMl7r8FLSWd4W3LdkWLjm3UpKlzEo885BgDO fnnmjaWoA4XmE3SGDZiHkI8CVCQOUFVW1WY0CxtECfyQCia9hznTVfsZUJHLU5EOPum9 772w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=FsiUp3ruRsi5oXZPMWfcdmlrrBieGamo/RovbGwagdw=; b=smzE6PRmzkuyc1wyf1M7zCZAY+avmmw3qOy+zUK9qAo1F128AATHC7n/I+IB1BGUGt ytcyxh5xh/Sui5Tmvf6cb7foswrqtvfiTbvTrERO83V3Df8KkJvghRXerxPYEX6EIJlD //M30UsmoWyXXt7DxO4tKaJaRRQ21FWgC9lYzjuFeg5nYwyms1UA/HDdFpsA8Xk/nJKj SvK1Vx9rNNBlwCvVt0DF5TMA//cLgU6/OTubHH2ib5Ut/j9Fxpz16sTGFym4QTZ07BzO mjUdSrfFQNzWMJzaFlhGyUIKidKIxdoZCMZXj0b8PLq1fDdlOjM7rW/h5+KJdVzgfnvQ JW7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=oZHAZDA6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cb11si911179edb.344.2020.08.20.01.55.45; Thu, 20 Aug 2020 01:56:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=oZHAZDA6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726947AbgHTIyW (ORCPT + 99 others); Thu, 20 Aug 2020 04:54:22 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:23587 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726786AbgHTIx3 (ORCPT ); Thu, 20 Aug 2020 04:53:29 -0400 X-UUID: f9f32a2931834cd28324636e5cfbeebd-20200820 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=FsiUp3ruRsi5oXZPMWfcdmlrrBieGamo/RovbGwagdw=; b=oZHAZDA6PMxfr1NYdRkfu9mBevtP85QzODFsW3Aaw6Fn+Ii0eIe/sXfA/QUmP1QznT8miPRZZhLxTlVqCHSpJoEAoUJ2sqSYao1D8kXEMDnBKXHOO9JlDIgnpGlKtXtHIj46+/bu/MkQTI08bnLBnrpGNHDtqJGt7I2fBT4aEV8=; X-UUID: f9f32a2931834cd28324636e5cfbeebd-20200820 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 2019566017; Thu, 20 Aug 2020 16:52:47 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 20 Aug 2020 16:52:44 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 20 Aug 2020 16:52:44 +0800 From: Jiaxin Yu To: , , , , CC: , , , , , , , , Jiaxin Yu Subject: [PATCH v6 1/2] ASoC: mediatek: mt6359: add codec driver Date: Thu, 20 Aug 2020 16:51:32 +0800 Message-ID: <1597913493-10747-2-git-send-email-jiaxin.yu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1597913493-10747-1-git-send-email-jiaxin.yu@mediatek.com> References: <1597913493-10747-1-git-send-email-jiaxin.yu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIHRoZSBtdDYzNTkgY29kZWMgZHJpdmVyLg0KDQpTaWduZWQtb2ZmLWJ5OiBKaWF4aW4gWXUg PGppYXhpbi55dUBtZWRpYXRlay5jb20+DQpSZXZpZXdlZC1ieTogVHp1bmctQmkgU2hpaCA8dHp1 bmdiaUBnb29nbGUuY29tPg0KLS0tDQogc291bmQvc29jL2NvZGVjcy9LY29uZmlnICB8ICAgIDgg Kw0KIHNvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUgfCAgICAyICsNCiBzb3VuZC9zb2MvY29kZWNz L210NjM1OS5jIHwgMjc1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQog c291bmQvc29jL2NvZGVjcy9tdDYzNTkuaCB8IDI2NDAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysNCiA0IGZpbGVzIGNoYW5nZWQsIDU0MDMgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzb3VuZC9zb2MvY29kZWNzL210NjM1OS5jDQogY3JlYXRlIG1vZGUgMTAw NjQ0IHNvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmgNCg0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9j b2RlY3MvS2NvbmZpZyBiL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZw0KaW5kZXggZTJiNTU5NzM3 NGExOC4uZWM5NjY1MmY3NGVlZSAxMDA2NDQNCi0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZp Zw0KKysrIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnDQpAQCAtMTI2LDYgKzEyNiw3IEBAIGNv bmZpZyBTTkRfU09DX0FMTF9DT0RFQ1MNCiAJaW1wbHkgU05EX1NPQ19NTDI2MTI0DQogCWltcGx5 IFNORF9TT0NfTVQ2MzUxDQogCWltcGx5IFNORF9TT0NfTVQ2MzU4DQorCWltcGx5IFNORF9TT0Nf TVQ2MzU5DQogCWltcGx5IFNORF9TT0NfTVQ2NjYwDQogCWltcGx5IFNORF9TT0NfTkFVODU0MA0K IAlpbXBseSBTTkRfU09DX05BVTg4MTANCkBAIC0xNjIyLDYgKzE2MjMsMTMgQEAgY29uZmlnIFNO RF9TT0NfTVQ2MzU4DQogCSAgRW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBwbGF0Zm9ybSB3aGljaCB1 c2VzIE1UNjM1OCBhcw0KIAkgIGV4dGVybmFsIGNvZGVjIGRldmljZS4NCiANCitjb25maWcgU05E X1NPQ19NVDYzNTkNCisJdHJpc3RhdGUgIk1lZGlhVGVrIE1UNjM1OSBDb2RlYyINCisJZGVwZW5k cyBvbiBNVEtfUE1JQ19XUkFQDQorCWhlbHANCisJICBFbmFibGUgc3VwcG9ydCBmb3IgdGhlIHBs YXRmb3JtIHdoaWNoIHVzZXMgTVQ2MzU5IGFzDQorCSAgZXh0ZXJuYWwgY29kZWMgZGV2aWNlLg0K Kw0KIGNvbmZpZyBTTkRfU09DX01UNjY2MA0KIAl0cmlzdGF0ZSAiTWVkaWF0ZWsgTVQ2NjYwIFNw ZWFrZXIgQW1wbGlmaWVyIg0KIAlkZXBlbmRzIG9uIEkyQw0KZGlmZiAtLWdpdCBhL3NvdW5kL3Nv Yy9jb2RlY3MvTWFrZWZpbGUgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlDQppbmRleCBkOWYy OTEzNmYxNTQ2Li5iODBjNjhhZGNiMTRjIDEwMDY0NA0KLS0tIGEvc291bmQvc29jL2NvZGVjcy9N YWtlZmlsZQ0KKysrIGIvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQ0KQEAgLTEyMCw2ICsxMjAs NyBAQCBzbmQtc29jLW1zbTg5MTYtYW5hbG9nLW9ianMgOj0gbXNtODkxNi13Y2QtYW5hbG9nLm8N CiBzbmQtc29jLW1zbTg5MTYtZGlnaXRhbC1vYmpzIDo9IG1zbTg5MTYtd2NkLWRpZ2l0YWwubw0K IHNuZC1zb2MtbXQ2MzUxLW9ianMgOj0gbXQ2MzUxLm8NCiBzbmQtc29jLW10NjM1OC1vYmpzIDo9 IG10NjM1OC5vDQorc25kLXNvYy1tdDYzNTktb2JqcyA6PSBtdDYzNTkubw0KIHNuZC1zb2MtbXQ2 NjYwLW9ianMgOj0gbXQ2NjYwLm8NCiBzbmQtc29jLW5hdTg1NDAtb2JqcyA6PSBuYXU4NTQwLm8N CiBzbmQtc29jLW5hdTg4MTAtb2JqcyA6PSBuYXU4ODEwLm8NCkBAIC00MTIsNiArNDEzLDcgQEAg b2JqLSQoQ09ORklHX1NORF9TT0NfTVNNODkxNl9XQ0RfQU5BTE9HKSArPXNuZC1zb2MtbXNtODkx Ni1hbmFsb2cubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01TTTg5MTZfV0NEX0RJR0lUQUwpICs9 c25kLXNvYy1tc204OTE2LWRpZ2l0YWwubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjM1MSkJ Kz0gc25kLXNvYy1tdDYzNTEubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjM1OCkJKz0gc25k LXNvYy1tdDYzNTgubw0KK29iai0kKENPTkZJR19TTkRfU09DX01UNjM1OSkJKz0gc25kLXNvYy1t dDYzNTkubw0KIG9iai0kKENPTkZJR19TTkRfU09DX01UNjY2MCkJKz0gc25kLXNvYy1tdDY2NjAu bw0KIG9iai0kKENPTkZJR19TTkRfU09DX05BVTg1NDApICAgKz0gc25kLXNvYy1uYXU4NTQwLm8N CiBvYmotJChDT05GSUdfU05EX1NPQ19OQVU4ODEwKSAgICs9IHNuZC1zb2MtbmF1ODgxMC5vDQpk aWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9tdDYzNTkuYyBiL3NvdW5kL3NvYy9jb2RlY3Mv bXQ2MzU5LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAwLi43MmYw NTMzNWI0MjA1DQotLS0gL2Rldi9udWxsDQorKysgYi9zb3VuZC9zb2MvY29kZWNzL210NjM1OS5j DQpAQCAtMCwwICsxLDI3NTMgQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MA0KKy8vDQorLy8gbXQ2MzU5LmMgIC0tICBtdDYzNTkgQUxTQSBTb0MgYXVkaW8gY29kZWMgZHJp dmVyDQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhv cjogS2FpQ2hpZWggQ2h1YW5nIDxrYWljaGllaC5jaHVhbmdAbWVkaWF0ZWsuY29tPg0KKw0KKyNp bmNsdWRlIDxsaW51eC9kZWxheS5oPg0KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+DQorI2lu Y2x1ZGUgPGxpbnV4L21mZC9tdDYzOTcvY29yZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUu aD4NCisjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRm b3JtX2RldmljZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4NCisj aW5jbHVkZSA8bGludXgvc2NoZWQuaD4NCisjaW5jbHVkZSA8c291bmQvc29jLmg+DQorI2luY2x1 ZGUgPHNvdW5kL3Rsdi5oPg0KKw0KKyNpbmNsdWRlICJtdDYzNTkuaCINCisNCitzdGF0aWMgdm9p ZCBtdDYzNTlfc2V0X3BsYXliYWNrX2dwaW8oc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sN CisJLyogc2V0IGdwaW8gbW9zaSBtb2RlLCBjbGsgLyBkYXRhIG1vc2kgKi8NCisJcmVnbWFwX3dy aXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTJfQ0xSLCAweDBmZmUpOw0KKwlyZWdt YXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RFMl9TRVQsIDB4MDI0OSk7DQor DQorCS8qIHN5bmMgbW9zaSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlf R1BJT19NT0RFM19DTFIsIDB4Nik7DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1 OV9HUElPX01PREUzX1NFVCwgMHgxKTsNCit9DQorDQorc3RhdGljIHZvaWQgbXQ2MzU5X3Jlc2V0 X3BsYXliYWNrX2dwaW8oc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJLyogc2V0IHBh ZF9hdWRfKl9tb3NpIHRvIEdQSU8gbW9kZSBhbmQgZGlyIGlucHV0DQorCSAqIHJlYXNvbjoNCisJ ICogcGFkX2F1ZF9kYXRfbW9zaSosIGJlY2F1c2UgdGhlIHBpbiBpcyB1c2VkIGFzIGJvb3Qgc3Ry YXANCisJICogZG9uJ3QgY2xlYW4gY2xrL3N5bmMsIGZvciBtdGthaWYgcHJvdG9jb2wgMg0KKwkg Ki8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTJfQ0xSLCAw eDBmZjgpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19E SVIwLCAweDcgPDwgOSwgMHgwKTsNCit9DQorDQorc3RhdGljIHZvaWQgbXQ2MzU5X3NldF9jYXB0 dXJlX2dwaW8oc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJLyogc2V0IGdwaW8gbWlz byBtb2RlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX01PREUz X0NMUiwgMHgwZTAwKTsNCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9f TU9ERTNfU0VULCAweDAyMDApOw0KKw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfR1BJT19NT0RFNF9DTFIsIDB4MDAzZik7DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9HUElPX01PREU0X1NFVCwgMHgwMDA5KTsNCit9DQorDQorc3RhdGljIHZvaWQgbXQ2 MzU5X3Jlc2V0X2NhcHR1cmVfZ3BpbyhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwkv KiBzZXQgcGFkX2F1ZF8qX21pc28gdG8gR1BJTyBtb2RlIGFuZCBkaXIgaW5wdXQNCisJICogcmVh c29uOg0KKwkgKiBwYWRfYXVkX2Nsa19taXNvLCBiZWNhdXNlIHdoZW4gcGxheWJhY2sgb25seSB0 aGUgbWlzb19jbGsNCisJICogd2lsbCBhbHNvIGhhdmUgMjZtLCBzbyB3aWxsIGhhdmUgcG93ZXIg bGVhaw0KKwkgKiBwYWRfYXVkX2RhdF9taXNvKiwgYmVjYXVzZSB0aGUgcGluIGlzIHVzZWQgYXMg Ym9vdCBzdHJhcA0KKwkgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQ SU9fTU9ERTNfQ0xSLCAweDBlMDApOw0KKw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBN VDYzNTlfR1BJT19NT0RFNF9DTFIsIDB4MDAzZik7DQorDQorCXJlZ21hcF91cGRhdGVfYml0cyhw cml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX0RJUjAsDQorCQkJICAgMHg3IDw8IDEzLCAweDApOw0K KwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19ESVIxLA0KKwkJ CSAgIDB4MyA8PCAwLCAweDApOw0KK30NCisNCitzdGF0aWMgdm9pZCBtdDYzNTlfc2V0X2RlY29k ZXJfY2xrKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiwgYm9vbCBlbmFibGUpDQorew0KKwlyZWdt YXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMywNCisJ CQkgICBSR19SU1RCX0RFQ09ERVJfVkEzMl9NQVNLX1NGVCwNCisJCQkgICAoZW5hYmxlID8gMSA6 IDApIDw8IFJHX1JTVEJfREVDT0RFUl9WQTMyX1NGVCk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10 NjM1OV9tdGthaWZfdHhfZW5hYmxlKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikNCit7DQorCXN3 aXRjaCAocHJpdi0+bXRrYWlmX3Byb3RvY29sKSB7DQorCWNhc2UgTVQ2MzU5X01US0FJRl9QUk9U T0NPTF8yX0NMS19QMjoNCisJCS8qIE1US0FJRiBUWCBmb3JtYXQgc2V0dGluZyAqLw0KKwkJcmVn bWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BRERBX01U S0FJRl9DRkcwLA0KKwkJCQkgICAweGZmZmYsIDB4MDIxMCk7DQorCQkvKiBlbmFibGUgYXVkX3Bh ZCBUWCBmaWZvcyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJ ICAgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUCwNCisJCQkJICAgMHhmZjAwLCAweDM4MDApOw0KKwkJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BVURf UEFEX1RPUCwNCisJCQkJICAgMHhmZjAwLCAweDM5MDApOw0KKwkJYnJlYWs7DQorCWNhc2UgTVQ2 MzU5X01US0FJRl9QUk9UT0NPTF8yOg0KKwkJLyogTVRLQUlGIFRYIGZvcm1hdCBzZXR0aW5nICov DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkgICBNVDYzNTlfQUZF X0FEREFfTVRLQUlGX0NGRzAsDQorCQkJCSAgIDB4ZmZmZiwgMHgwMjEwKTsNCisJCS8qIGVuYWJs ZSBhdWRfcGFkIFRYIGZpZm9zICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LA0KKwkJCQkgICBNVDYzNTlfQUZFX0FVRF9QQURfVE9QLA0KKwkJCQkgICAweGZmMDAsIDB4MzEw MCk7DQorCQlicmVhazsNCisJY2FzZSBNVDYzNTlfTVRLQUlGX1BST1RPQ09MXzE6DQorCWRlZmF1 bHQ6DQorCQkvKiBNVEtBSUYgVFggZm9ybWF0IHNldHRpbmcgKi8NCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsDQorCQkJCSAgIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfQ0ZHMCwN CisJCQkJICAgMHhmZmZmLCAweDAwMDApOw0KKwkJLyogZW5hYmxlIGF1ZF9wYWQgVFggZmlmb3Mg Ki8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCSAgIE1UNjM1OV9B RkVfQVVEX1BBRF9UT1AsDQorCQkJCSAgIDB4ZmYwMCwgMHgzMTAwKTsNCisJCWJyZWFrOw0KKwl9 DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10NjM1OV9tdGthaWZfdHhfZGlzYWJsZShzdHJ1Y3QgbXQ2 MzU5X3ByaXYgKnByaXYpDQorew0KKwkvKiBkaXNhYmxlIGF1ZF9wYWQgVFggZmlmb3MgKi8NCisJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUCwN CisJCQkgICAweGZmMDAsIDB4MzAwMCk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIHpjZF9kaXNhYmxl KHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikNCit7DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9aQ0RfQ09OMCwgMHgwMDAwKTsNCit9DQorDQorc3RhdGljIHZvaWQgaHBfbWFp bl9vdXRwdXRfcmFtcChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wgdXApDQorew0KKwlp bnQgaSA9IDAsIHN0YWdlID0gMDsNCisJaW50IHRhcmdldCA9IDc7DQorDQorCS8qIEVuYWJsZS9S ZWR1Y2UgSFBML1IgbWFpbiBvdXRwdXQgc3RhZ2Ugc3RlcCBieSBzdGVwICovDQorCWZvciAoaSA9 IDA7IGkgPD0gdGFyZ2V0OyBpKyspIHsNCisJCXN0YWdlID0gdXAgPyBpIDogdGFyZ2V0IC0gaTsN CisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjEsDQorCQkJCSAgIFJHX0hQTE9VVFNUR0NUUkxfVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJICAg c3RhZ2UgPDwgUkdfSFBMT1VUU1RHQ1RSTF9WQVVEUDMyX1NGVCk7DQorCQlyZWdtYXBfdXBkYXRl X2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLA0KKwkJCQkgICBSR19I UFJPVVRTVEdDVFJMX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJCSAgIHN0YWdlIDw8IFJHX0hQUk9V VFNUR0NUUkxfVkFVRFAzMl9TRlQpOw0KKwkJdXNsZWVwX3JhbmdlKDYwMCwgNjUwKTsNCisJfQ0K K30NCisNCitzdGF0aWMgdm9pZCBocF9hdXhfZmVlZGJhY2tfbG9vcF9nYWluX3JhbXAoc3RydWN0 IG10NjM1OV9wcml2ICpwcml2LCBib29sIHVwKQ0KK3sNCisJaW50IGkgPSAwLCBzdGFnZSA9IDA7 DQorCWludCB0YXJnZXQgPSAweGY7DQorDQorCS8qIEVuYWJsZS9SZWR1Y2UgSFAgYXV4IGZlZWRi YWNrIGxvb3AgZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJZm9yIChpID0gMDsgaSA8PSB0YXJnZXQ7 IGkrKykgew0KKwkJc3RhZ2UgPSB1cCA/IGkgOiB0YXJnZXQgLSBpOw0KKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwNCisJCQkJICAgMHhm IDw8IDEyLCBzdGFnZSA8PCAxMik7DQorCQl1c2xlZXBfcmFuZ2UoNjAwLCA2NTApOw0KKwl9DQor fQ0KKw0KK3N0YXRpYyB2b2lkIGhwX2luX3BhaXJfY3VycmVudChzdHJ1Y3QgbXQ2MzU5X3ByaXYg KnByaXYsIGJvb2wgaW5jcmVhc2UpDQorew0KKwlpbnQgaSA9IDAsIHN0YWdlID0gMDsNCisJaW50 IHRhcmdldCA9IDB4MzsNCisNCisJLyogU2V0IGlucHV0IGRpZmYgcGFpciBiaWFzIHNlbGVjdCAo SGktRmkgbW9kZSkgKi8NCisJaWYgKHByaXYtPmhwX2hpZmlfbW9kZSkgew0KKwkJLyogUmVkdWNl IEhQIGF1eCBmZWVkYmFjayBsb29wIGdhaW4gc3RlcCBieSBzdGVwICovDQorCQlmb3IgKGkgPSAw OyBpIDw9IHRhcmdldDsgaSsrKSB7DQorCQkJc3RhZ2UgPSBpbmNyZWFzZSA/IGkgOiB0YXJnZXQg LSBpOw0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYz NTlfQVVEREVDX0FOQV9DT04xMCwNCisJCQkJCSAgIDB4MyA8PCAzLCBzdGFnZSA8PCAzKTsNCisJ CQl1c2xlZXBfcmFuZ2UoMTAwLCAxNTApOw0KKwkJfQ0KKwl9DQorfQ0KKw0KK3N0YXRpYyB2b2lk IGhwX3B1bGxfZG93bihzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wgZW5hYmxlKQ0KK3sN CisJaW50IGk7DQorDQorCWlmIChlbmFibGUpIHsNCisJCWZvciAoaSA9IDB4MDsgaSA8PSAweDc7 IGkrKykgew0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjIsDQorCQkJCQkgICBSR19IUFBTSE9SVDJWQ01fVkFVRFAzMl9NQVNLX1NGVCwN CisJCQkJCSAgIGkgPDwgUkdfSFBQU0hPUlQyVkNNX1ZBVURQMzJfU0ZUKTsNCisJCQl1c2xlZXBf cmFuZ2UoMTAwLCAxNTApOw0KKwkJfQ0KKwl9IGVsc2Ugew0KKwkJZm9yIChpID0gMHg3OyBpID49 IDB4MDsgaS0tKSB7DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FVRERFQ19BTkFfQ09OMiwNCisJCQkJCSAgIFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX01BU0tf U0ZULA0KKwkJCQkJICAgaSA8PCBSR19IUFBTSE9SVDJWQ01fVkFVRFAzMl9TRlQpOw0KKwkJCXVz bGVlcF9yYW5nZSgxMDAsIDE1MCk7DQorCQl9DQorCX0NCit9DQorDQorc3RhdGljIGJvb2wgaXNf dmFsaWRfaHBfcGdhX2lkeChpbnQgcmVnX2lkeCkNCit7DQorCXJldHVybiAocmVnX2lkeCA+PSBE TF9HQUlOXzhEQiAmJiByZWdfaWR4IDw9IERMX0dBSU5fTl8yMkRCKSB8fA0KKwkgICAgICAgcmVn X2lkeCA9PSBETF9HQUlOX05fNDBEQjsNCit9DQorDQorc3RhdGljIHZvaWQgaGVhZHNldF92b2x1 bWVfcmFtcChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsDQorCQkJCWludCBmcm9tLCBpbnQgdG8p DQorew0KKwlpbnQgb2Zmc2V0ID0gMCwgY291bnQgPSAxLCByZWdfaWR4Ow0KKw0KKwlpZiAoIWlz X3ZhbGlkX2hwX3BnYV9pZHgoZnJvbSkgfHwgIWlzX3ZhbGlkX2hwX3BnYV9pZHgodG8pKSB7DQor CQlkZXZfd2Fybihwcml2LT5kZXYsICIlcygpLCB2b2x1bWUgaW5kZXggaXMgbm90IHZhbGlkLCBm cm9tICVkLCB0byAlZFxuIiwNCisJCQkgX19mdW5jX18sIGZyb20sIHRvKTsNCisJCXJldHVybjsN CisJfQ0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGZyb20gJWQsIHRvICVkXG4iLCBf X2Z1bmNfXywgZnJvbSwgdG8pOw0KKw0KKwlpZiAodG8gPiBmcm9tKQ0KKwkJb2Zmc2V0ID0gdG8g LSBmcm9tOw0KKwllbHNlDQorCQlvZmZzZXQgPSBmcm9tIC0gdG87DQorDQorCXdoaWxlIChvZmZz ZXQgPiAwKSB7DQorCQlpZiAodG8gPiBmcm9tKQ0KKwkJCXJlZ19pZHggPSBmcm9tICsgY291bnQ7 DQorCQllbHNlDQorCQkJcmVnX2lkeCA9IGZyb20gLSBjb3VudDsNCisNCisJCWlmIChpc192YWxp ZF9ocF9wZ2FfaWR4KHJlZ19pZHgpKSB7DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJl Z21hcCwNCisJCQkJCSAgIE1UNjM1OV9aQ0RfQ09OMiwNCisJCQkJCSAgIERMX0dBSU5fUkVHX01B U0ssDQorCQkJCQkgICAocmVnX2lkeCA8PCA3KSB8IHJlZ19pZHgpOw0KKwkJCXVzbGVlcF9yYW5n ZSg2MDAsIDY1MCk7DQorCQl9DQorCQlvZmZzZXQtLTsNCisJCWNvdW50Kys7DQorCX0NCit9DQor DQorc3RhdGljIGludCBtdDYzNTlfcHV0X3ZvbHN3KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250 cm9sLA0KKwkJCSAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkNCit7DQor CXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50ID0NCisJCQlzbmRfc29jX2tjb250 cm9sX2NvbXBvbmVudChrY29udHJvbCk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNu ZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorCXN0cnVjdCBzb2NfbWl4 ZXJfY29udHJvbCAqbWMgPQ0KKwkJCShzdHJ1Y3Qgc29jX21peGVyX2NvbnRyb2wgKilrY29udHJv bC0+cHJpdmF0ZV92YWx1ZTsNCisJdW5zaWduZWQgaW50IHJlZzsNCisJaW50IGluZGV4ID0gdWNv bnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07DQorCWludCByZXQ7DQorDQorCXJldCA9IHNu ZF9zb2NfcHV0X3ZvbHN3KGtjb250cm9sLCB1Y29udHJvbCk7DQorCWlmIChyZXQgPCAwKQ0KKwkJ cmV0dXJuIHJldDsNCisNCisJc3dpdGNoIChtYy0+cmVnKSB7DQorCWNhc2UgTVQ2MzU5X1pDRF9D T04yOg0KKwkJcmVnbWFwX3JlYWQocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjIsICZyZWcp Ow0KKwkJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9IUE9VVExdID0NCisJCQko cmVnID4+IFJHX0FVREhQTEdBSU5fU0ZUKSAmIFJHX0FVREhQTEdBSU5fTUFTSzsNCisJCXByaXYt PmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfSFBPVVRSXSA9DQorCQkJKHJlZyA+PiBSR19B VURIUFJHQUlOX1NGVCkgJiBSR19BVURIUFJHQUlOX01BU0s7DQorCQlicmVhazsNCisJY2FzZSBN VDYzNTlfWkNEX0NPTjE6DQorCQlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIE1UNjM1OV9aQ0Rf Q09OMSwgJnJlZyk7DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0xJTkVP VVRMXSA9DQorCQkJKHJlZyA+PiBSR19BVURMT0xHQUlOX1NGVCkgJiBSR19BVURMT0xHQUlOX01B U0s7DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0xJTkVPVVRSXSA9DQor CQkJKHJlZyA+PiBSR19BVURMT1JHQUlOX1NGVCkgJiBSR19BVURMT1JHQUlOX01BU0s7DQorCQli cmVhazsNCisJY2FzZSBNVDYzNTlfWkNEX0NPTjM6DQorCQlyZWdtYXBfcmVhZChwcml2LT5yZWdt YXAsIE1UNjM1OV9aQ0RfQ09OMywgJnJlZyk7DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFM T0dfVk9MVU1FX0hTT1VUTF0gPQ0KKwkJCShyZWcgPj4gUkdfQVVESFNHQUlOX1NGVCkgJiBSR19B VURIU0dBSU5fTUFTSzsNCisJCWJyZWFrOw0KKwljYXNlIE1UNjM1OV9BVURFTkNfQU5BX0NPTjA6 DQorCQlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsICZy ZWcpOw0KKwkJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAxXSA9DQor CQkJKHJlZyA+PiBSR19BVURQUkVBTVBMR0FJTl9TRlQpICYgUkdfQVVEUFJFQU1QTEdBSU5fTUFT SzsNCisJCWJyZWFrOw0KKwljYXNlIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE6DQorCQlyZWdtYXBf cmVhZChwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsICZyZWcpOw0KKwkJcHJp di0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAyXSA9DQorCQkJKHJlZyA+PiBS R19BVURQUkVBTVBSR0FJTl9TRlQpICYgUkdfQVVEUFJFQU1QUkdBSU5fTUFTSzsNCisJCWJyZWFr Ow0KKwljYXNlIE1UNjM1OV9BVURFTkNfQU5BX0NPTjI6DQorCQlyZWdtYXBfcmVhZChwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIsICZyZWcpOw0KKwkJcHJpdi0+YW5hX2dhaW5b QVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAzXSA9DQorCQkJKHJlZyA+PiBSR19BVURQUkVBTVAz R0FJTl9TRlQpICYgUkdfQVVEUFJFQU1QM0dBSU5fTUFTSzsNCisJCWJyZWFrOw0KKwl9DQorDQor CWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgbmFtZSAlcywgcmVnKDB4JXgpID0gMHgleCwgc2V0 IGluZGV4ID0gJXhcbiIsDQorCQlfX2Z1bmNfXywga2NvbnRyb2wtPmlkLm5hbWUsIG1jLT5yZWcs IHJlZywgaW5kZXgpOw0KKw0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCisvKiBNVVggKi8NCisNCisv KiBMT0wgTVVYICovDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBsb19pbl9tdXhfbWFwW10g PSB7DQorCSJPcGVuIiwgIlBsYXliYWNrX0xfREFDIiwgIlBsYXliYWNrIiwgIlRlc3QgTW9kZSIN Cit9Ow0KKw0KK3N0YXRpYyBTT0NfRU5VTV9TSU5HTEVfREVDTChsb19pbl9tdXhfbWFwX2VudW0s IFNORF9TT0NfTk9QTSwgMCwgbG9faW5fbXV4X21hcCk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCBzbmRfa2NvbnRyb2xfbmV3IGxvX2luX211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgi TE8gU2VsZWN0IiwgbG9faW5fbXV4X21hcF9lbnVtKTsNCisNCisvKkhQIE1VWCAqLw0KK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgaHBfaW5fbXV4X21hcFtdID0gew0KKwkiT3BlbiIsDQorCSJM b3VkU1BLIFBsYXliYWNrIiwNCisJIkF1ZGlvIFBsYXliYWNrIiwNCisJIlRlc3QgTW9kZSIsDQor CSJIUCBJbXBlZGFuY2UiLA0KK307DQorDQorc3RhdGljIFNPQ19FTlVNX1NJTkdMRV9ERUNMKGhw X2luX211eF9tYXBfZW51bSwNCisJCQkJICBTTkRfU09DX05PUE0sDQorCQkJCSAgMCwNCisJCQkJ ICBocF9pbl9tdXhfbWFwKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9u ZXcgaHBfaW5fbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJIUCBTZWxlY3QiLCBocF9p bl9tdXhfbWFwX2VudW0pOw0KKw0KKy8qIFJDViBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IHJjdl9pbl9tdXhfbWFwW10gPSB7DQorCSJPcGVuIiwgIk11dGUiLCAiVm9pY2UgUGxh eWJhY2siLCAiVGVzdCBNb2RlIg0KK307DQorDQorc3RhdGljIFNPQ19FTlVNX1NJTkdMRV9ERUNM KHJjdl9pbl9tdXhfbWFwX2VudW0sDQorCQkJCSAgU05EX1NPQ19OT1BNLA0KKwkJCQkgIDAsDQor CQkJCSAgcmN2X2luX211eF9tYXApOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250 cm9sX25ldyByY3ZfaW5fbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJSQ1YgU2VsZWN0 IiwgcmN2X2luX211eF9tYXBfZW51bSk7DQorDQorLyogREFDIEluIE1VWCAqLw0KK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgZGFjX2luX211eF9tYXBbXSA9IHsNCisJIk5vcm1hbCBQYXRoIiwg IlNnZW4iDQorfTsNCisNCitzdGF0aWMgaW50IGRhY19pbl9tdXhfbWFwX3ZhbHVlW10gPSB7DQor CTB4MCwgMHgxLA0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKGRh Y19pbl9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9UT1BfQ09OMCwNCisJCQkJICBE TF9TSU5FX09OX1NGVCwNCisJCQkJICBETF9TSU5FX09OX01BU0ssDQorCQkJCSAgZGFjX2luX211 eF9tYXAsDQorCQkJCSAgZGFjX2luX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBz dHJ1Y3Qgc25kX2tjb250cm9sX25ldyBkYWNfaW5fbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9F TlVNKCJEQUMgU2VsZWN0IiwgZGFjX2luX211eF9tYXBfZW51bSk7DQorDQorLyogQUlGIE91dCBN VVggKi8NCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0woYWlmX291dF9tdXhfbWFw X2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9UT1BfQ09OMCwNCisJCQkJICBVTF9TSU5FX09OX1NG VCwNCisJCQkJICBVTF9TSU5FX09OX01BU0ssDQorCQkJCSAgZGFjX2luX211eF9tYXAsDQorCQkJ CSAgZGFjX2luX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tj b250cm9sX25ldyBhaWZfb3V0X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiQUlGIE91 dCBTZWxlY3QiLCBhaWZfb3V0X211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIFNPQ19WQUxVRV9F TlVNX1NJTkdMRV9ERUNMKGFpZjJfb3V0X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZF X1RPUF9DT04wLA0KKwkJCQkgIEFEREE2X1VMX1NJTkVfT05fU0ZULA0KKwkJCQkgIEFEREE2X1VM X1NJTkVfT05fTUFTSywNCisJCQkJICBkYWNfaW5fbXV4X21hcCwNCisJCQkJICBkYWNfaW5fbXV4 X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFp ZjJfb3V0X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiQUlGIE91dCBTZWxlY3QiLCBh aWYyX291dF9tdXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdWxf c3JjX211eF9tYXBbXSA9IHsNCisJIkFNSUMiLA0KKwkiRE1JQyIsDQorfTsNCisNCitzdGF0aWMg aW50IHVsX3NyY19tdXhfbWFwX3ZhbHVlW10gPSB7DQorCVVMX1NSQ19NVVhfQU1JQywNCisJVUxf U1JDX01VWF9ETUlDLA0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNM KHVsX3NyY19tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9MLA0K KwkJCQkgIFVMX1NETV8zX0xFVkVMX0NUTF9TRlQsDQorCQkJCSAgVUxfU0RNXzNfTEVWRUxfQ1RM X01BU0ssDQorCQkJCSAgdWxfc3JjX211eF9tYXAsDQorCQkJCSAgdWxfc3JjX211eF9tYXBfdmFs dWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1bF9zcmNfbXV4 X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJVTF9TUkNfTVVYIFNlbGVjdCIsIHVsX3NyY19t dXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTCh1bDJf c3JjX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX0FEREE2X1VMX1NSQ19DT04wX0ws DQorCQkJCSAgQUREQTZfVUxfU0RNXzNfTEVWRUxfQ1RMX1NGVCwNCisJCQkJICBBRERBNl9VTF9T RE1fM19MRVZFTF9DVExfTUFTSywNCisJCQkJICB1bF9zcmNfbXV4X21hcCwNCisJCQkJICB1bF9z cmNfbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xf bmV3IHVsMl9zcmNfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJVTF9TUkNfTVVYIFNl bGVjdCIsIHVsMl9zcmNfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IG1pc29fbXV4X21hcFtdID0gew0KKwkiVUwxX0NIMSIsDQorCSJVTDFfQ0gyIiwNCisJIlVM Ml9DSDEiLA0KKwkiVUwyX0NIMiIsDQorfTsNCisNCitzdGF0aWMgaW50IG1pc29fbXV4X21hcF92 YWx1ZVtdID0gew0KKwlNSVNPX01VWF9VTDFfQ0gxLA0KKwlNSVNPX01VWF9VTDFfQ0gyLA0KKwlN SVNPX01VWF9VTDJfQ0gxLA0KKwlNSVNPX01VWF9VTDJfQ0gyLA0KK307DQorDQorc3RhdGljIFNP Q19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKG1pc28wX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYz NTlfQUZFX01US0FJRl9NVVhfQ0ZHLA0KKwkJCQkgIFJHX0FEREFfQ0gxX1NFTF9TRlQsDQorCQkJ CSAgUkdfQUREQV9DSDFfU0VMX01BU0ssDQorCQkJCSAgbWlzb19tdXhfbWFwLA0KKwkJCQkgIG1p c29fbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xf bmV3IG1pc28wX211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiTUlTT19NVVggU2VsZWN0 IiwgbWlzbzBfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xF X0RFQ0wobWlzbzFfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfTVRLQUlGX01VWF9D RkcsDQorCQkJCSAgUkdfQUREQV9DSDJfU0VMX1NGVCwNCisJCQkJICBSR19BRERBX0NIMl9TRUxf TUFTSywNCisJCQkJICBtaXNvX211eF9tYXAsDQorCQkJCSAgbWlzb19tdXhfbWFwX3ZhbHVlKTsN CisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgbWlzbzFfbXV4X2NvbnRy b2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJNSVNPX01VWCBTZWxlY3QiLCBtaXNvMV9tdXhfbWFwX2Vu dW0pOw0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChtaXNvMl9tdXhfbWFw X2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9NVEtBSUZfTVVYX0NGRywNCisJCQkJICBSR19BRERB Nl9DSDFfU0VMX1NGVCwNCisJCQkJICBSR19BRERBNl9DSDFfU0VMX01BU0ssDQorCQkJCSAgbWlz b19tdXhfbWFwLA0KKwkJCQkgIG1pc29fbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IG1pc28yX211eF9jb250cm9sID0NCisJU09DX0RBUE1f RU5VTSgiTUlTT19NVVggU2VsZWN0IiwgbWlzbzJfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IGRtaWNfbXV4X21hcFtdID0gew0KKwkiRE1JQ19EQVRBMCIsDQor CSJETUlDX0RBVEExX0wiLA0KKwkiRE1JQ19EQVRBMV9MXzEiLA0KKwkiRE1JQ19EQVRBMV9SIiwN Cit9Ow0KKw0KK3N0YXRpYyBpbnQgZG1pY19tdXhfbWFwX3ZhbHVlW10gPSB7DQorCURNSUNfTVVY X0RNSUNfREFUQTAsDQorCURNSUNfTVVYX0RNSUNfREFUQTFfTCwNCisJRE1JQ19NVVhfRE1JQ19E QVRBMV9MXzEsDQorCURNSUNfTVVYX0RNSUNfREFUQTFfUiwNCit9Ow0KKw0KK3N0YXRpYyBTT0Nf VkFMVUVfRU5VTV9TSU5HTEVfREVDTChkbWljMF9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5 X0FGRV9NSUNfQVJSQVlfQ0ZHLA0KKwkJCQkgIFJHX0RNSUNfQURDMV9TT1VSQ0VfU0VMX1NGVCwN CisJCQkJICBSR19ETUlDX0FEQzFfU09VUkNFX1NFTF9NQVNLLA0KKwkJCQkgIGRtaWNfbXV4X21h cCwNCisJCQkJICBkbWljX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg c25kX2tjb250cm9sX25ldyBkbWljMF9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkRN SUNfTVVYIFNlbGVjdCIsIGRtaWMwX211eF9tYXBfZW51bSk7DQorDQorLyogdWwxIGNoMiB1c2Ug UkdfRE1JQ19BREMzX1NPVVJDRV9TRUwgKi8NCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xF X0RFQ0woZG1pYzFfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfTUlDX0FSUkFZX0NG RywNCisJCQkJICBSR19ETUlDX0FEQzNfU09VUkNFX1NFTF9TRlQsDQorCQkJCSAgUkdfRE1JQ19B REMzX1NPVVJDRV9TRUxfTUFTSywNCisJCQkJICBkbWljX211eF9tYXAsDQorCQkJCSAgZG1pY19t dXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcg ZG1pYzFfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJETUlDX01VWCBTZWxlY3QiLCBk bWljMV9tdXhfbWFwX2VudW0pOw0KKw0KKy8qIHVsMiBjaDEgdXNlIFJHX0RNSUNfQURDMl9TT1VS Q0VfU0VMICovDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKGRtaWMyX211eF9t YXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX01JQ19BUlJBWV9DRkcsDQorCQkJCSAgUkdfRE1J Q19BREMyX1NPVVJDRV9TRUxfU0ZULA0KKwkJCQkgIFJHX0RNSUNfQURDMl9TT1VSQ0VfU0VMX01B U0ssDQorCQkJCSAgZG1pY19tdXhfbWFwLA0KKwkJCQkgIGRtaWNfbXV4X21hcF92YWx1ZSk7DQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGRtaWMyX211eF9jb250cm9s ID0NCisJU09DX0RBUE1fRU5VTSgiRE1JQ19NVVggU2VsZWN0IiwgZG1pYzJfbXV4X21hcF9lbnVt KTsNCisNCisvKiBBREMgTCBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFkY19s ZWZ0X211eF9tYXBbXSA9IHsNCisJIklkbGUiLCAiQUlOMCIsICJMZWZ0IFByZWFtcGxpZmllciIs ICJJZGxlXzEiDQorfTsNCisNCitzdGF0aWMgaW50IGFkY19tdXhfbWFwX3ZhbHVlW10gPSB7DQor CUFEQ19NVVhfSURMRSwNCisJQURDX01VWF9BSU4wLA0KKwlBRENfTVVYX1BSRUFNUExJRklFUiwN CisJQURDX01VWF9JRExFMSwNCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVf REVDTChhZGNfbGVmdF9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09O MCwNCisJCQkJICBSR19BVURBRENMSU5QVVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVREFEQ0xJTlBV VFNFTF9NQVNLLA0KKwkJCQkgIGFkY19sZWZ0X211eF9tYXAsDQorCQkJCSAgYWRjX211eF9tYXBf dmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhZGNfbGVm dF9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkFEQyBMIFNlbGVjdCIsIGFkY19sZWZ0 X211eF9tYXBfZW51bSk7DQorDQorLyogQURDIFIgTVVYICovDQorc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBhZGNfcmlnaHRfbXV4X21hcFtdID0gew0KKwkiSWRsZSIsICJBSU4wIiwgIlJpZ2h0 IFByZWFtcGxpZmllciIsICJJZGxlXzEiDQorfTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1f U0lOR0xFX0RFQ0woYWRjX3JpZ2h0X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVERU5D X0FOQV9DT04xLA0KKwkJCQkgIFJHX0FVREFEQ1JJTlBVVFNFTF9TRlQsDQorCQkJCSAgUkdfQVVE QURDUklOUFVUU0VMX01BU0ssDQorCQkJCSAgYWRjX3JpZ2h0X211eF9tYXAsDQorCQkJCSAgYWRj X211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25l dyBhZGNfcmlnaHRfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJBREMgUiBTZWxlY3Qi LCBhZGNfcmlnaHRfbXV4X21hcF9lbnVtKTsNCisNCisvKiBBREMgMyBNVVggKi8NCitzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IGFkY18zX211eF9tYXBbXSA9IHsNCisJIklkbGUiLCAiQUlOMCIs ICJQcmVhbXBsaWZpZXIiLCAiSWRsZV8xIg0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVN X1NJTkdMRV9ERUNMKGFkY18zX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVERU5DX0FO QV9DT04yLA0KKwkJCQkgIFJHX0FVREFEQzNJTlBVVFNFTF9TRlQsDQorCQkJCSAgUkdfQVVEQURD M0lOUFVUU0VMX01BU0ssDQorCQkJCSAgYWRjXzNfbXV4X21hcCwNCisJCQkJICBhZGNfbXV4X21h cF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFkY18z X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiQURDIDMgU2VsZWN0IiwgYWRjXzNfbXV4 X21hcF9lbnVtKTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBnYV9sX211eF9tYXBb XSA9IHsNCisJIk5vbmUiLCAiQUlOMCIsICJBSU4xIg0KK307DQorDQorc3RhdGljIGludCBwZ2Ff bF9tdXhfbWFwX3ZhbHVlW10gPSB7DQorCVBHQV9MX01VWF9OT05FLA0KKwlQR0FfTF9NVVhfQUlO MCwNCisJUEdBX0xfTVVYX0FJTjENCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5H TEVfREVDTChwZ2FfbGVmdF9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFf Q09OMCwNCisJCQkJICBSR19BVURQUkVBTVBMSU5QVVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVRFBS RUFNUExJTlBVVFNFTF9NQVNLLA0KKwkJCQkgIHBnYV9sX211eF9tYXAsDQorCQkJCSAgcGdhX2xf bXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3 IHBnYV9sZWZ0X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiUEdBIEwgU2VsZWN0Iiwg cGdhX2xlZnRfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBn YV9yX211eF9tYXBbXSA9IHsNCisJIk5vbmUiLCAiQUlOMiIsICJBSU4zIiwgIkFJTjAiDQorfTsN CisNCitzdGF0aWMgaW50IHBnYV9yX211eF9tYXBfdmFsdWVbXSA9IHsNCisJUEdBX1JfTVVYX05P TkUsDQorCVBHQV9SX01VWF9BSU4yLA0KKwlQR0FfUl9NVVhfQUlOMywNCisJUEdBX1JfTVVYX0FJ TjANCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChwZ2FfcmlnaHRf bXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJCSAgUkdf QVVEUFJFQU1QUklOUFVUU0VMX1NGVCwNCisJCQkJICBSR19BVURQUkVBTVBSSU5QVVRTRUxfTUFT SywNCisJCQkJICBwZ2Ffcl9tdXhfbWFwLA0KKwkJCQkgIHBnYV9yX211eF9tYXBfdmFsdWUpOw0K Kw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBwZ2FfcmlnaHRfbXV4X2Nv bnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJQR0EgUiBTZWxlY3QiLCBwZ2FfcmlnaHRfbXV4X21h cF9lbnVtKTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBnYV8zX211eF9tYXBbXSA9 IHsNCisJIk5vbmUiLCAiQUlOMyIsICJBSU4yIg0KK307DQorDQorc3RhdGljIGludCBwZ2FfM19t dXhfbWFwX3ZhbHVlW10gPSB7DQorCVBHQV8zX01VWF9OT05FLA0KKwlQR0FfM19NVVhfQUlOMywN CisJUEdBXzNfTVVYX0FJTjINCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVf REVDTChwZ2FfM19tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwN CisJCQkJICBSR19BVURQUkVBTVAzSU5QVVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVRFBSRUFNUDNJ TlBVVFNFTF9NQVNLLA0KKwkJCQkgIHBnYV8zX211eF9tYXAsDQorCQkJCSAgcGdhXzNfbXV4X21h cF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHBnYV8z X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiUEdBIDMgU2VsZWN0IiwgcGdhXzNfbXV4 X21hcF9lbnVtKTsNCisNCitzdGF0aWMgaW50IG10X3NnZW5fZXZlbnQoc3RydWN0IHNuZF9zb2Nf ZGFwbV93aWRnZXQgKncsDQorCQkJIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJ CSBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25k X3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpw cml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJn KHByaXYtPmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisN CisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyog c2RtIGF1ZGlvIGZpZm8gY2xvY2sgcG93ZXIgb24gKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5y ZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMiwgMHgwMDA2KTsNCisJCS8qIHNjcmFtYmxlciBj bG9jayBvbiBlbmFibGUgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9B RlVOQ19BVURfQ09OMCwgMHhjYmExKTsNCisJCS8qIHNkbSBwb3dlciBvbiAqLw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04yLCAweDAwMDMpOw0KKwkJ Lyogc2RtIGZpZm8gZW5hYmxlICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQUZVTkNfQVVEX0NPTjIsIDB4MDAwYik7DQorDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQUZFX1NHRU5fQ0ZHMCwNCisJCQkJICAgMHhmZjNmLA0KKwkJCQkg ICAweDAwMDApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FG RV9TR0VOX0NGRzEsDQorCQkJCSAgIDB4ZmZmZiwNCisJCQkJICAgMHgwMDAxKTsNCisJCWJyZWFr Ow0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIERMIHNjcmFtYmxlciBkaXNh Ymxpbmcgc2VxdWVuY2UgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9B RlVOQ19BVURfQ09OMiwgMHgwMDAwKTsNCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1U NjM1OV9BRlVOQ19BVURfQ09OMCwgMHhjYmEwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJ YnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10a19ocF9l bmFibGUoc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJaWYgKHByaXYtPmhwX2hpZmlf bW9kZSkgew0KKwkJLyogU2V0IEhQIERSIGJpYXMgY3VycmVudCBvcHRpbWl6YXRpb24sIDAxMDog NnVBICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVD X0FOQV9DT04xMSwNCisJCQkJICAgRFJCSUFTX0hQX01BU0tfU0ZULA0KKwkJCQkgICBEUkJJQVNf NlVBIDw8IERSQklBU19IUF9TRlQpOw0KKwkJLyogU2V0IEhQICYgWkNEIGJpYXMgY3VycmVudCBv cHRpbWl6YXRpb24gKi8NCisJCS8qIDAxOiBaQ0Q6IDR1QSwgSFAvSFMvTE86IDV1QSAqLw0KKwkJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIs DQorCQkJCSAgIElCSUFTX1pDRF9NQVNLX1NGVCwNCisJCQkJICAgSUJJQVNfWkNEXzRVQSA8PCBJ QklBU19aQ0RfU0ZUKTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCQkgICBJQklBU19IUF9NQVNLX1NGVCwNCisJCQkJICAg SUJJQVNfNVVBIDw8IElCSUFTX0hQX1NGVCk7DQorCX0gZWxzZSB7DQorCQkvKiBTZXQgSFAgRFIg YmlhcyBjdXJyZW50IG9wdGltaXphdGlvbiwgMDAxOiA1dUEgKi8NCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjExLA0KKwkJCQkgICBEUkJJ QVNfSFBfTUFTS19TRlQsDQorCQkJCSAgIERSQklBU181VUEgPDwgRFJCSUFTX0hQX1NGVCk7DQor CQkvKiBTZXQgSFAgJiBaQ0QgYmlhcyBjdXJyZW50IG9wdGltaXphdGlvbiAqLw0KKwkJLyogMDA6 IFpDRDogM3VBLCBIUC9IUy9MTzogNHVBICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMiwNCisJCQkJICAgSUJJQVNfWkNEX01BU0tf U0ZULA0KKwkJCQkgICBJQklBU19aQ0RfM1VBIDw8IElCSUFTX1pDRF9TRlQpOw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJ CSAgIElCSUFTX0hQX01BU0tfU0ZULA0KKwkJCQkgICBJQklBU180VUEgPDwgSUJJQVNfSFBfU0ZU KTsNCisJfQ0KKw0KKwkvKiBIUCBkYW1wIGNpcmN1aXQgZW5hYmxlICovDQorCS8qIEVuYWJsZSBI UFJOL0hQTE4gb3V0cHV0IDRLIHRvIFZDTSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMCwgMHgwMDg3KTsNCisNCisJLyogSFAgRmVlZGJhY2sg Q2FwIHNlbGVjdCAyJ2IwMDogMTVwRiAqLw0KKwkvKiBmb3IgPj0gOTZLSHogc2FtcGxpbmcgcmF0 ZTogMidiMDE6IDEwLjVwRiAqLw0KKwlpZiAocHJpdi0+ZGxfcmF0ZVtNVDYzNTlfQUlGXzFdID49 IDk2MDAwKQ0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2 MzU5X0FVRERFQ19BTkFfQ09ONCwNCisJCQkJICAgUkdfQVVESFBIRkNPTVBCVUZHQUlOU0VMX1ZB VURQMzJfTUFTS19TRlQsDQorCQkJCSAgIDB4MSA8PCBSR19BVURIUEhGQ09NUEJVRkdBSU5TRUxf VkFVRFAzMl9TRlQpOw0KKwllbHNlDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT040LCAweDAwMDApOw0KKw0KKwkvKiBTZXQgSFBQL04gU1RCIGVuaGFu Y2UgY2lyY3VpdHMgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERF Q19BTkFfQ09OMiwgMHhmMTMzKTsNCisNCisJLyogRW5hYmxlIEhQIGF1eCBvdXRwdXQgc3RhZ2Ug Ki8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwg MHgwMDBjKTsNCisJLyogRW5hYmxlIEhQIGF1eCBmZWVkYmFjayBsb29wICovDQorCXJlZ21hcF93 cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4MDAzYyk7DQorCS8q IEVuYWJsZSBIUCBhdXggQ01GQiBsb29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjksIDB4MGMwMCk7DQorCS8qIEVuYWJsZSBIUCBkcml2ZXIg YmlhcyBjaXJjdWl0cyAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE REVDX0FOQV9DT04wLCAweDMwYzApOw0KKwkvKiBFbmFibGUgSFAgZHJpdmVyIGNvcmUgY2lyY3Vp dHMgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09O MCwgMHgzMGYwKTsNCisJLyogU2hvcnQgSFAgbWFpbiBvdXRwdXQgdG8gSFAgYXV4IG91dHB1dCBz dGFnZSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T04xLCAweDAwZmMpOw0KKw0KKwkvKiBJbmNyZWFzZSBIUCBpbnB1dCBwYWlyIGN1cnJlbnQgdG8g SFBNIHN0ZXAgYnkgc3RlcCAqLw0KKwlocF9pbl9wYWlyX2N1cnJlbnQocHJpdiwgdHJ1ZSk7DQor DQorCS8qIEVuYWJsZSBIUCBtYWluIENNRkIgbG9vcCAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweDBlMDApOw0KKwkvKiBEaXNhYmxlIEhQ IGF1eCBDTUZCIGxvb3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV RERFQ19BTkFfQ09OOSwgMHgwMjAwKTsNCisNCisJLyogRW5hYmxlIEhQIG1haW4gb3V0cHV0IHN0 YWdlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjEsIDB4MDBmZik7DQorCS8qIEVuYWJsZSBIUFIvTCBtYWluIG91dHB1dCBzdGFnZSBzdGVwIGJ5 IHN0ZXAgKi8NCisJaHBfbWFpbl9vdXRwdXRfcmFtcChwcml2LCB0cnVlKTsNCisNCisJLyogUmVk dWNlIEhQIGF1eCBmZWVkYmFjayBsb29wIGdhaW4gKi8NCisJaHBfYXV4X2ZlZWRiYWNrX2xvb3Bf Z2Fpbl9yYW1wKHByaXYsIHRydWUpOw0KKwkvKiBEaXNhYmxlIEhQIGF1eCBmZWVkYmFjayBsb29w ICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEs IDB4NzdjZik7DQorDQorCS8qIGFwcGx5IHZvbHVtZSBzZXR0aW5nICovDQorCWhlYWRzZXRfdm9s dW1lX3JhbXAocHJpdiwNCisJCQkgICAgRExfR0FJTl9OXzIyREIsDQorCQkJICAgIHByaXYtPmFu YV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfSFBPVVRMXSk7DQorDQorCS8qIERpc2FibGUgSFAg YXV4IG91dHB1dCBzdGFnZSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlf QVVEREVDX0FOQV9DT04xLCAweDc3YzMpOw0KKwkvKiBVbnNob3J0IEhQIG1haW4gb3V0cHV0IHRv IEhQIGF1eCBvdXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FVRERFQ19BTkFfQ09OMSwgMHg3NzAzKTsNCisJdXNsZWVwX3JhbmdlKDEwMCwgMTIwKTsN CisNCisJLyogRW5hYmxlIEFVRF9DTEsgKi8NCisJbXQ2MzU5X3NldF9kZWNvZGVyX2Nsayhwcml2 LCB0cnVlKTsNCisNCisJLyogRW5hYmxlIEF1ZGlvIERBQyAgKi8NCisJcmVnbWFwX3dyaXRlKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwgMHgzMGZmKTsNCisJaWYgKHByaXYt PmhwX2hpZmlfbW9kZSkgew0KKwkJLyogRW5hYmxlIGxvdy1ub2lzZSBtb2RlIG9mIERBQyAqLw0K KwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwgMHhm MjAxKTsNCisJfSBlbHNlIHsNCisJCS8qIERpc2FibGUgbG93LW5vaXNlIG1vZGUgb2YgREFDICov DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAw eGYyMDApOw0KKwl9DQorCXVzbGVlcF9yYW5nZSgxMDAsIDEyMCk7DQorDQorCS8qIFN3aXRjaCBI UEwgTVVYIHRvIGF1ZGlvIERBQyAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT04wLCAweDMyZmYpOw0KKwkvKiBTd2l0Y2ggSFBSIE1VWCB0byBhdWRp byBEQUMgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFf Q09OMCwgMHgzYWZmKTsNCisNCisJLyogRGlzYWJsZSBQdWxsLWRvd24gSFBML1IgdG8gQVZTUzI4 X0FVRCAqLw0KKwlocF9wdWxsX2Rvd24ocHJpdiwgZmFsc2UpOw0KK30NCisNCitzdGF0aWMgdm9p ZCBtdGtfaHBfZGlzYWJsZShzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwkvKiBQdWxs LWRvd24gSFBML1IgdG8gQVZTUzI4X0FVRCAqLw0KKwlocF9wdWxsX2Rvd24ocHJpdiwgdHJ1ZSk7 DQorDQorCS8qIEhQUi9IUEwgbXV4IHRvIG9wZW4gKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkgICAweDBmMDAsIDB4MDAw MCk7DQorDQorCS8qIERpc2FibGUgbG93LW5vaXNlIG1vZGUgb2YgREFDICovDQorCXJlZ21hcF91 cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksDQorCQkJICAg MHgwMDAxLCAweDAwMDApOw0KKw0KKwkvKiBEaXNhYmxlIEF1ZGlvIERBQyAqLw0KKwlyZWdtYXBf dXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCSAg IDB4MDAwZiwgMHgwMDAwKTsNCisNCisJLyogRGlzYWJsZSBBVURfQ0xLICovDQorCW10NjM1OV9z ZXRfZGVjb2Rlcl9jbGsocHJpdiwgZmFsc2UpOw0KKw0KKwkvKiBTaG9ydCBIUCBtYWluIG91dHB1 dCB0byBIUCBhdXggb3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4NzdjMyk7DQorCS8qIEVuYWJsZSBIUCBhdXggb3V0 cHV0IHN0YWdlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNf QU5BX0NPTjEsIDB4NzdjZik7DQorDQorCS8qIGRlY3JlYXNlIEhQTC9SIGdhaW4gdG8gbm9ybWFs IGdhaW4gc3RlcCBieSBzdGVwICovDQorCWhlYWRzZXRfdm9sdW1lX3JhbXAocHJpdiwNCisJCQkg ICAgcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9IUE9VVExdLA0KKwkJCSAgICBE TF9HQUlOX05fMjJEQik7DQorDQorCS8qIEVuYWJsZSBIUCBhdXggZmVlZGJhY2sgbG9vcCAqLw0K KwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLCAweDc3 ZmYpOw0KKw0KKwkvKiBSZWR1Y2UgSFAgYXV4IGZlZWRiYWNrIGxvb3AgZ2FpbiAqLw0KKwlocF9h dXhfZmVlZGJhY2tfbG9vcF9nYWluX3JhbXAocHJpdiwgZmFsc2UpOw0KKw0KKwkvKiBkZWNyZWFz ZSBIUFIvTCBtYWluIG91dHB1dCBzdGFnZSBzdGVwIGJ5IHN0ZXAgKi8NCisJaHBfbWFpbl9vdXRw dXRfcmFtcChwcml2LCBmYWxzZSk7DQorDQorCS8qIERpc2FibGUgSFAgbWFpbiBvdXRwdXQgc3Rh Z2UgKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19B TkFfQ09OMSwgMHgzLCAweDApOw0KKw0KKwkvKiBFbmFibGUgSFAgYXV4IENNRkIgbG9vcCAqLw0K KwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweDBl MDEpOw0KKw0KKwkvKiBEaXNhYmxlIEhQIG1haW4gQ01GQiBsb29wICovDQorCXJlZ21hcF93cml0 ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksIDB4MGMwMSk7DQorDQorCS8q IERlY3JlYXNlIEhQIGlucHV0IHBhaXIgY3VycmVudCB0byAyJ2IwMCBzdGVwIGJ5IHN0ZXAgKi8N CisJaHBfaW5fcGFpcl9jdXJyZW50KHByaXYsIGZhbHNlKTsNCisNCisJLyogVW5zaG9ydCBIUCBt YWluIG91dHB1dCB0byBIUCBhdXggb3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF91cGRhdGVfYml0 cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsDQorCQkJICAgMHgzIDw8IDYs IDB4MCk7DQorDQorCS8qIERpc2FibGUgSFAgZHJpdmVyIGNvcmUgY2lyY3VpdHMgKi8NCisJcmVn bWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJ CQkgICAweDMgPDwgNCwgMHgwKTsNCisNCisJLyogRGlzYWJsZSBIUCBkcml2ZXIgYmlhcyBjaXJj dWl0cyAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVD X0FOQV9DT04wLA0KKwkJCSAgIDB4MyA8PCA2LCAweDApOw0KKw0KKwkvKiBEaXNhYmxlIEhQIGF1 eCBDTUZCIGxvb3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERF Q19BTkFfQ09OOSwgMHgyMDEpOw0KKw0KKwkvKiBEaXNhYmxlIEhQIGF1eCBmZWVkYmFjayBsb29w ICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5B X0NPTjEsDQorCQkJICAgMHgzIDw8IDQsIDB4MCk7DQorDQorCS8qIERpc2FibGUgSFAgYXV4IG91 dHB1dCBzdGFnZSAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlf QVVEREVDX0FOQV9DT04xLA0KKwkJCSAgIDB4MyA8PCAyLCAweDApOw0KK30NCisNCitzdGF0aWMg aW50IG10X2hwX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJICAgICAg IHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJICAgICAgIGludCBldmVudCkNCit7 DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29t cG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2Nv bXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtdXggPSBkYXBtX2tj b250cm9sX2dldF92YWx1ZSh3LT5rY29udHJvbHNbMF0pOw0KKwlpbnQgZGV2aWNlID0gREVWSUNF X0hQOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50IDB4JXgsIGRldl9jb3Vu dGVyW0RFVl9IUF0gJWQsIG11eCAldVxuIiwNCisJCV9fZnVuY19fLCBldmVudCwgcHJpdi0+ZGV2 X2NvdW50ZXJbZGV2aWNlXSwgbXV4KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNO RF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJcHJpdi0+ZGV2X2NvdW50ZXJbZGV2aWNlXSsrOw0KKwkJ aWYgKG11eCA9PSBIUF9NVVhfSFApDQorCQkJbXRrX2hwX2VuYWJsZShwcml2KTsNCisJCWJyZWFr Ow0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1EOg0KKwkJcHJpdi0+ZGV2X2NvdW50ZXJbZGV2 aWNlXS0tOw0KKwkJaWYgKG11eCA9PSBIUF9NVVhfSFApDQorCQkJbXRrX2hwX2Rpc2FibGUocHJp dik7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAw Ow0KK30NCisNCitzdGF0aWMgaW50IG10X3Jjdl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dp ZGdldCAqdywNCisJCQlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQlpbnQgZXZl bnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBt X3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25k X3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRl diwgIiVzKCksIGV2ZW50IDB4JXgsIG11eCAldVxuIiwNCisJCV9fZnVuY19fLCBldmVudCwgZGFw bV9rY29udHJvbF9nZXRfdmFsdWUody0+a2NvbnRyb2xzWzBdKSk7DQorDQorCXN3aXRjaCAoZXZl bnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIERpc2FibGUgaGFuZHNl dCBzaG9ydC1jaXJjdWl0IHByb3RlY3Rpb24gKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjYsIDB4MDAxMCk7DQorDQorCQkvKiBTZXQgUkNWIERS IGJpYXMgY3VycmVudCBvcHRpbWl6YXRpb24sIDAxMDogNnVBICovDQorCQlyZWdtYXBfdXBkYXRl X2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMSwNCisJCQkJICAgRFJC SUFTX0hTX01BU0tfU0ZULA0KKwkJCQkgICBEUkJJQVNfNlVBIDw8IERSQklBU19IU19TRlQpOw0K KwkJLyogU2V0IFJDViAmIFpDRCBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uICovDQorCQkvKiAw MTogWkNEOiA0dUEsIEhQL0hTL0xPOiA1dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCQkgICBJQklBU19aQ0RfTUFT S19TRlQsDQorCQkJCSAgIElCSUFTX1pDRF80VUEgPDwgSUJJQVNfWkNEX1NGVCk7DQorCQlyZWdt YXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMiwNCisJ CQkJICAgSUJJQVNfSFNfTUFTS19TRlQsDQorCQkJCSAgIElCSUFTXzVVQSA8PCBJQklBU19IU19T RlQpOw0KKw0KKwkJLyogU2V0IEhTIFNUQiBlbmhhbmNlIGNpcmN1aXRzICovDQorCQlyZWdtYXBf d3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LCAweDAwOTApOw0KKw0K KwkJLyogU2V0IEhTIG91dHB1dCBzdGFnZSAoMydiMTExID0gOHgpICovDQorCQlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xMCwgMHg3MDAwKTsNCisNCisJ CS8qIEVuYWJsZSBIUyBkcml2ZXIgYmlhcyBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3dyaXRlKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwgMHgwMDkyKTsNCisJCS8qIEVuYWJs ZSBIUyBkcml2ZXIgY29yZSBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwgMHgwMDkzKTsNCisNCisJCS8qIFNldCBIUyBnYWlu IHRvIG5vcm1hbCBnYWluIHN0ZXAgYnkgc3RlcCAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJl Z21hcCwgTVQ2MzU5X1pDRF9DT04zLA0KKwkJCSAgICAgcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5B TE9HX1ZPTFVNRV9IU09VVExdKTsNCisNCisJCS8qIEVuYWJsZSBBVURfQ0xLICovDQorCQltdDYz NTlfc2V0X2RlY29kZXJfY2xrKHByaXYsIHRydWUpOw0KKw0KKwkJLyogRW5hYmxlIEF1ZGlvIERB QyAgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjAsIDB4MDAwOSk7DQorCQkvKiBFbmFibGUgbG93LW5vaXNlIG1vZGUgb2YgREFDICovDQorCQly ZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweDAwMDEp Ow0KKwkJLyogU3dpdGNoIEhTIE1VWCB0byBhdWRpbyBEQUMgKi8NCisJCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjYsIDB4MDA5Yik7DQorCQlicmVhazsN CisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNRDoNCisJCS8qIEhTIG11eCB0byBvcGVuICovDQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042 LA0KKwkJCQkgICBSR19BVURIU01VWElOUFVUU0VMX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJCSAg IFJDVl9NVVhfT1BFTik7DQorDQorCQkvKiBEaXNhYmxlIEF1ZGlvIERBQyAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMCwNCisJCQkJ ICAgMHgwMDBmLCAweDAwMDApOw0KKw0KKwkJLyogRGlzYWJsZSBBVURfQ0xLICovDQorCQltdDYz NTlfc2V0X2RlY29kZXJfY2xrKHByaXYsIGZhbHNlKTsNCisNCisJCS8qIGRlY3JlYXNlIEhTIGdh aW4gdG8gbWluaW11bSBnYWluIHN0ZXAgYnkgc3RlcCAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwgTVQ2MzU5X1pDRF9DT04zLCBETF9HQUlOX05fNDBEQik7DQorDQorCQkvKiBEaXNh YmxlIEhTIGRyaXZlciBjb3JlIGNpcmN1aXRzICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LA0KKwkJCQkgICBSR19BVURIU1BXUlVQ X1ZBVURQMzJfTUFTS19TRlQsIDB4MCk7DQorDQorCQkvKiBEaXNhYmxlIEhTIGRyaXZlciBiaWFz IGNpcmN1aXRzICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlf QVVEREVDX0FOQV9DT042LA0KKwkJCQkgICBSR19BVURIU1BXUlVQX0lCSUFTX1ZBVURQMzJfTUFT S19TRlQsIDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQor CXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X2xvX2V2ZW50KHN0cnVjdCBzbmRfc29j X2RhcG1fd2lkZ2V0ICp3LA0KKwkJICAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9s LA0KKwkJICAgICAgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAq Y21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2 MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQor DQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleCwgbXV4ICV1XG4iLA0KKwkJ X19mdW5jX18sIGV2ZW50LCBkYXBtX2tjb250cm9sX2dldF92YWx1ZSh3LT5rY29udHJvbHNbMF0p KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0K KwkJLyogRGlzYWJsZSBoYW5kc2V0IHNob3J0LWNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwkJcmVn bWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONywgMHgwMDEwKTsN CisNCisJCS8qIFNldCBMTyBEUiBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uLCAwMTA6IDZ1QSAq Lw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFf Q09OMTEsDQorCQkJCSAgIERSQklBU19MT19NQVNLX1NGVCwNCisJCQkJICAgRFJCSUFTXzZVQSA8 PCBEUkJJQVNfTE9fU0ZUKTsNCisJCS8qIFNldCBMTyAmIFpDRCBiaWFzIGN1cnJlbnQgb3B0aW1p emF0aW9uICovDQorCQkvKiAwMTogWkNEOiA0dUEsIEhQL0hTL0xPOiA1dUEgKi8NCisJCWlmIChw cml2LT5kZXZfY291bnRlcltERVZJQ0VfSFBdID09IDApDQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwNCisJCQkJCSAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCQkJ ICAgSUJJQVNfWkNEX01BU0tfU0ZULA0KKwkJCQkJICAgSUJJQVNfWkNEXzRVQSA8PCBJQklBU19a Q0RfU0ZUKTsNCisNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9B VURERUNfQU5BX0NPTjEyLA0KKwkJCQkgICBJQklBU19MT19NQVNLX1NGVCwNCisJCQkJICAgSUJJ QVNfNVVBIDw8IElCSUFTX0xPX1NGVCk7DQorDQorCQkvKiBTZXQgTE8gU1RCIGVuaGFuY2UgY2ly Y3VpdHMgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5B X0NPTjcsIDB4MDExMCk7DQorDQorCQkvKiBFbmFibGUgTE8gZHJpdmVyIGJpYXMgY2lyY3VpdHMg Ki8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcs IDB4MDExMik7DQorCQkvKiBFbmFibGUgTE8gZHJpdmVyIGNvcmUgY2lyY3VpdHMgKi8NCisJCXJl Z21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsIDB4MDExMyk7 DQorDQorCQkvKiBTZXQgTE8gZ2FpbiB0byBub3JtYWwgZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJ CXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMSwNCisJCQkgICAgIHBy aXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfTElORU9VVExdKTsNCisNCisJCS8qIEVu YWJsZSBBVURfQ0xLICovDQorCQltdDYzNTlfc2V0X2RlY29kZXJfY2xrKHByaXYsIHRydWUpOw0K Kw0KKwkJLyogRW5hYmxlIEF1ZGlvIERBQyAoM3JkIERBQykgKi8NCisJCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsIDB4MzExMyk7DQorCQkvKiBFbmFi bGUgbG93LW5vaXNlIG1vZGUgb2YgREFDICovDQorCQlpZiAocHJpdi0+ZGV2X2NvdW50ZXJbREVW SUNFX0hQXSA9PSAwKQ0KKwkJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsDQorCQkJCSAgICAg TVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwgMHgwMDAxKTsNCisJCS8qIFN3aXRjaCBMT0wgTVVYIHRv IGF1ZGlvIDNyZCBEQUMgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9B VURERUNfQU5BX0NPTjcsIDB4MzExYik7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1f UFJFX1BNRDoNCisJCS8qIFN3aXRjaCBMT0wgTVVYIHRvIG9wZW4gKi8NCisJCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjcsDQorCQkJCSAgIFJH X0FVRExPTE1VWElOUFVUU0VMX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJCSAgIExPX01VWF9PUEVO KTsNCisNCisJCS8qIERpc2FibGUgQXVkaW8gREFDICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCQkgICAweDAwMGYsIDB4 MDAwMCk7DQorDQorCQkvKiBEaXNhYmxlIEFVRF9DTEsgKi8NCisJCW10NjM1OV9zZXRfZGVjb2Rl cl9jbGsocHJpdiwgZmFsc2UpOw0KKw0KKwkJLyogZGVjcmVhc2UgTE8gZ2FpbiB0byBtaW5pbXVt IGdhaW4gc3RlcCBieSBzdGVwICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfWkNEX0NPTjEsIERMX0dBSU5fTl80MERCKTsNCisNCisJCS8qIERpc2FibGUgTE8gZHJpdmVy IGNvcmUgY2lyY3VpdHMgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURERUNfQU5BX0NPTjcsDQorCQkJCSAgIFJHX0FVRExPTFBXUlVQX1ZBVURQMzJfTUFT S19TRlQsIDB4MCk7DQorDQorCQkvKiBEaXNhYmxlIExPIGRyaXZlciBiaWFzIGNpcmN1aXRzICov DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T043LA0KKwkJCQkgICBSR19BVURMT0xQV1JVUF9JQklBU19WQVVEUDMyX01BU0tfU0ZULCAweDAp Ow0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsN Cit9DQorDQorc3RhdGljIGludCBtdF9hZGNfY2xrX2dlbl9ldmVudChzdHJ1Y3Qgc25kX3NvY19k YXBtX3dpZGdldCAqdywNCisJCQkJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJ CWludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRf c29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmco cHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisNCisJ c3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToNCisJCS8qIEFE QyBDTEsgZnJvbSBDTEtHRU4gKDYuNU1IeikgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjUsDQorCQkJCSAgIFJHX0FVREFEQ0NMS1JT VEJfTUFTS19TRlQsDQorCQkJCSAgIDB4MSA8PCBSR19BVURBRENDTEtSU1RCX1NGVCk7DQorCQly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0K KwkJCQkgICBSR19BVURBRENDTEtTT1VSQ0VfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBS R19BVURBRENDTEtTRUxfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtH RU5NT0RFX01BU0tfU0ZULA0KKwkJCQkgICAweDEgPDwgUkdfQVVEQURDQ0xLR0VOTU9ERV9TRlQp Ow0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTUQ6DQorCQlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBS R19BVURBRENDTEtTT1VSQ0VfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBREND TEtTRUxfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtHRU5NT0RFX01B U0tfU0ZULCAweDApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FVREVOQ19BTkFfQ09ONSwNCisJCQkJICAgUkdfQVVEQURDQ0xLUlNUQl9NQVNLX1NGVCwgMHgw KTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7 DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfZGNjX2Nsa19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBt X3dpZGdldCAqdywNCisJCQkgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJ ICAgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBz bmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYg KnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9k YmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisN CisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyog RENDIDUwayBDTEsgKGZyb20gMjZNKSAqLw0KKwkJLyogTVQ2MzU5X0FGRV9EQ0NMS19DRkcwLCBi aXQgMyBmb3IgZG0gY2sgc3dhcCAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcwLA0KKwkJCQkgICAweGZmZjcsIDB4MjA2Mik7DQorCQly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX0RDQ0xLX0NGRzAsDQor CQkJCSAgIDB4ZmZmNywgMHgyMDYwKTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdt YXAsIE1UNjM1OV9BRkVfRENDTEtfQ0ZHMCwNCisJCQkJICAgMHhmZmY3LCAweDIwNjEpOw0KKw0K KwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcxLCAweDAx MDApOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcwLA0KKwkJCQkg ICAweGZmZjcsIDB4MjA2MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQUZFX0RDQ0xLX0NGRzAsDQorCQkJCSAgIDB4ZmZmNywgMHgyMDYyKTsNCisJCWJyZWFr Ow0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0 YXRpYyBpbnQgbXRfbWljX2JpYXNfMF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAq dywNCisJCQkgICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAg IGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRf c29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGlu dCBtaWNfdHlwZSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzBdOw0KKw0KKwlkZXZf ZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50IDB4JXgsIG1pY190eXBlICVkXG4iLA0KKwkJX19m dW5jX18sIGV2ZW50LCBtaWNfdHlwZSk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBT TkRfU09DX0RBUE1fUFJFX1BNVToNCisJCXN3aXRjaCAobWljX3R5cGUpIHsNCisJCWNhc2UgTUlD X1RZUEVfTVVYX0RDQ19FQ01fRElGRjoNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVn bWFwLA0KKwkJCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTUsDQorCQkJCQkgICAweGZmMDAs IDB4NzcwMCk7DQorCQkJYnJlYWs7DQorCQljYXNlIE1JQ19UWVBFX01VWF9EQ0NfRUNNX1NJTkdM RToNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5 X0FVREVOQ19BTkFfQ09OMTUsDQorCQkJCQkgICAweGZmMDAsIDB4MTEwMCk7DQorCQkJYnJlYWs7 DQorCQlkZWZhdWx0Og0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJ CQkgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwNCisJCQkJCSAgIDB4ZmYwMCwgMHgwMDAwKTsN CisJCQlicmVhazsNCisJCX0NCisNCisJCS8qIERNSUMgZW5hYmxlICovDQorCQlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLA0KKwkJCSAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTQsIDB4MDAw NCk7DQorCQkvKiBNSVNCSUFTMCA9IDFQOVYgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCQkgICBSR19BVURNSUNCSUFT MFZSRUZfTUFTS19TRlQsDQorCQkJCSAgIE1JQ19CSUFTXzFQOSA8PCBSR19BVURNSUNCSUFTMFZS RUZfU0ZUKTsNCisJCS8qIG5vcm1hbCBwb3dlciBzZWxlY3QgKi8NCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCQkgICBSR19B VURNSUNCSUFTMExPV1BFTl9NQVNLX1NGVCwNCisJCQkJICAgMCA8PCBSR19BVURNSUNCSUFTMExP V1BFTl9TRlQpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJ LyogRGlzYWJsZSBNSUNCSUFTMCwgTUlTQklBUzAgPSAxUDdWICovDQorCQlyZWdtYXBfd3JpdGUo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwgMHgwMDAwKTsNCisJCWJyZWFr Ow0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0 YXRpYyBpbnQgbXRfbWljX2JpYXNfMV9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAq dywNCisJCQkgICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAg IGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRf c29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGlu dCBtaWNfdHlwZSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzFdOw0KKw0KKwlkZXZf ZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50IDB4JXgsIG1pY190eXBlICVkXG4iLA0KKwkJX19m dW5jX18sIGV2ZW50LCBtaWNfdHlwZSk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBT TkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIE1JU0JJQVMxID0gMlA2ViAqLw0KKwkJaWYgKG1p Y190eXBlID09IE1JQ19UWVBFX01VWF9EQ0NfRUNNX1NJTkdMRSkNCisJCQlyZWdtYXBfd3JpdGUo cHJpdi0+cmVnbWFwLA0KKwkJCQkgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE2LCAweDAxNjAp Ow0KKwkJZWxzZQ0KKwkJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsDQorCQkJCSAgICAgTVQ2 MzU5X0FVREVOQ19BTkFfQ09OMTYsIDB4MDA2MCk7DQorDQorCQkvKiBub3JtYWwgcG93ZXIgc2Vs ZWN0ICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5D X0FOQV9DT04xNiwNCisJCQkJICAgUkdfQVVETUlDQklBUzFMT1dQRU5fTUFTS19TRlQsDQorCQkJ CSAgIDAgPDwgUkdfQVVETUlDQklBUzFMT1dQRU5fU0ZUKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0 Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRf bWljX2JpYXNfMl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAg ICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgIGludCBldmVudCkN Cit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9f Y29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29j X2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtaWNfdHlwZSA9 IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzJdOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRl diwgIiVzKCksIGV2ZW50IDB4JXgsIG1pY190eXBlICVkXG4iLA0KKwkJX19mdW5jX18sIGV2ZW50 LCBtaWNfdHlwZSk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1f UFJFX1BNVToNCisJCXN3aXRjaCAobWljX3R5cGUpIHsNCisJCWNhc2UgTUlDX1RZUEVfTVVYX0RD Q19FQ01fRElGRjoNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJ ICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJCQkgICAweGZmMDAsIDB4NzcwMCk7DQor CQkJYnJlYWs7DQorCQljYXNlIE1JQ19UWVBFX01VWF9EQ0NfRUNNX1NJTkdMRToNCisJCQlyZWdt YXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFf Q09OMTcsDQorCQkJCQkgICAweGZmMDAsIDB4MTEwMCk7DQorCQkJYnJlYWs7DQorCQlkZWZhdWx0 Og0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlf QVVERU5DX0FOQV9DT04xNywNCisJCQkJCSAgIDB4ZmYwMCwgMHgwMDAwKTsNCisJCQlicmVhazsN CisJCX0NCisNCisJCS8qIE1JU0JJQVMyID0gMVA5ViAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJCSAgIFJHX0FVRE1J Q0JJQVMyVlJFRl9NQVNLX1NGVCwNCisJCQkJICAgTUlDX0JJQVNfMVA5IDw8IFJHX0FVRE1JQ0JJ QVMyVlJFRl9TRlQpOw0KKwkJLyogbm9ybWFsIHBvd2VyIHNlbGVjdCAqLw0KKwkJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJCSAg IFJHX0FVRE1JQ0JJQVMyTE9XUEVOX01BU0tfU0ZULA0KKwkJCQkgICAwIDw8IFJHX0FVRE1JQ0JJ QVMyTE9XUEVOX1NGVCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6 DQorCQkvKiBEaXNhYmxlIE1JQ0JJQVMyLCBNSVNCSUFTMCA9IDFQN1YgKi8NCisJCXJlZ21hcF93 cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE3LCAweDAwMDApOw0KKwkJ YnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQor DQorc3RhdGljIGludCBtdF9tdGthaWZfdHhfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRn ZXQgKncsDQorCQkJICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAg ICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNu ZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAq cHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2Ri Zyhwcml2LT5kZXYsICIlcygpLCBldmVudCA9IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQor DQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCW10 NjM1OV9tdGthaWZfdHhfZW5hYmxlKHByaXYpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19E QVBNX1BPU1RfUE1EOg0KKwkJbXQ2MzU5X210a2FpZl90eF9kaXNhYmxlKHByaXYpOw0KKwkJYnJl YWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQor c3RhdGljIGludCBtdF91bF9zcmNfZG1pY19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdl dCAqdywNCisJCQkJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJCWludCBldmVu dCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1f dG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRf c29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2 LCAiJXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0KKw0KKwlzd2l0Y2gg KGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBVTCBkbWljIHNl dHRpbmcgKi8NCisJCWlmIChwcml2LT5kbWljX29uZV93aXJlX21vZGUpDQorCQkJcmVnbWFwX3dy aXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9ILA0KKwkJCQkgICAgIDB4 MDQwMCk7DQorCQllbHNlDQorCQkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FG RV9VTF9TUkNfQ09OMF9ILA0KKwkJCQkgICAgIDB4MDA4MCk7DQorCQkvKiBkZWZhdWx0IG9uZSB3 aXJlLCAzLjI1TSAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FGRV9VTF9TUkNfQ09OMF9MLA0KKwkJCQkgICAweGZmZmMsIDB4MDAwMCk7DQorCQlicmVhazsN CisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVn bWFwLA0KKwkJCSAgICAgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9ILCAweDAwMDApOw0KKwkJYnJl YWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQor c3RhdGljIGludCBtdF91bF9zcmNfMzRfZG1pY19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dp ZGdldCAqdywNCisJCQkJICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJCSAg IGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRf c29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmco cHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0KKw0K Kwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBk ZWZhdWx0IHR3byB3aXJlLCAzLjI1TSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwN CisJCQkgICAgIE1UNjM1OV9BRkVfQUREQTZfTF9TUkNfQ09OMF9ILCAweDAwODApOw0KKwkJcmVn bWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9BRERBNl9VTF9TUkNfQ09O MF9MLA0KKwkJCQkgICAweGZmZmMsIDB4MDAwMCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09D X0RBUE1fUE9TVF9QTUQ6DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLA0KKwkJCSAgICAg TVQ2MzU5X0FGRV9BRERBNl9MX1NSQ19DT04wX0gsIDB4MDAwMCk7DQorCQlicmVhazsNCisJZGVm YXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50 IG10X2FkY19sX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgc3Ry dWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1 Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3 LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRf Z2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50 ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwlj YXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToNCisJCXVzbGVlcF9yYW5nZSgxMDAsIDEyMCk7DQor CQkvKiBBdWRpbyBMIHByZWFtcGxpZmllciBEQ0MgcHJlY2hhcmdlIG9mZiAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJ ICAgUkdfQVVEUFJFQU1QTERDUFJFQ0hBUkdFX01BU0tfU0ZULA0KKwkJCQkgICAweDApOw0KKwkJ YnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQor DQorc3RhdGljIGludCBtdF9hZGNfcl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAq dywNCisJCQkgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgaW50IGV2ZW50 KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90 b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9z b2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYs ICIlcygpLCBldmVudCA9IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQorDQorCXN3aXRjaCAo ZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCQl1c2xlZXBfcmFuZ2Uo MTAwLCAxMjApOw0KKwkJLyogQXVkaW8gUiBwcmVhbXBsaWZpZXIgRENDIHByZWNoYXJnZSBvZmYg Ki8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5B X0NPTjEsDQorCQkJCSAgIFJHX0FVRFBSRUFNUFJEQ1BSRUNIQVJHRV9NQVNLX1NGVCwNCisJCQkJ ICAgMHgwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0 dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfYWRjXzNfZXZlbnQoc3RydWN0IHNuZF9zb2Nf ZGFwbV93aWRnZXQgKncsDQorCQkJICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJ CQkgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBz bmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYg KnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9k YmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0K Kw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJ dXNsZWVwX3JhbmdlKDEwMCwgMTIwKTsNCisJCS8qIEF1ZGlvIFIgcHJlYW1wbGlmaWVyIERDQyBw cmVjaGFyZ2Ugb2ZmICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVERU5DX0FOQV9DT04yLA0KKwkJCQkgICBSR19BVURQUkVBTVAzRENQUkVDSEFSR0VfTUFT S19TRlQsDQorCQkJCSAgIDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0K Kwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3BnYV9sX211eF9ldmVu dChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAgICBzdHJ1Y3Qgc25kX2tj b250cm9sICprY29udHJvbCwNCisJCQkgICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25k X3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBt KTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2Ry dmRhdGEoY21wbnQpOw0KKwl1bnNpZ25lZCBpbnQgbXV4ID0gZGFwbV9rY29udHJvbF9nZXRfdmFs dWUody0+a2NvbnRyb2xzWzBdKTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBtdXgg JWRcbiIsIF9fZnVuY19fLCBtdXgpOw0KKwlwcml2LT5tdXhfc2VsZWN0W01VWF9QR0FfTF0gPSBt dXggPj4gUkdfQVVEUFJFQU1QTElOUFVUU0VMX1NGVDsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0 YXRpYyBpbnQgbXRfcGdhX3JfbXV4X2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3 LA0KKwkJCSAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICAgIGlu dCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29j X2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYg PSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBt dXggPSBkYXBtX2tjb250cm9sX2dldF92YWx1ZSh3LT5rY29udHJvbHNbMF0pOw0KKw0KKwlkZXZf ZGJnKHByaXYtPmRldiwgIiVzKCksIG11eCAlZFxuIiwgX19mdW5jX18sIG11eCk7DQorCXByaXYt Pm11eF9zZWxlY3RbTVVYX1BHQV9SXSA9IG11eCA+PiBSR19BVURQUkVBTVBSSU5QVVRTRUxfU0ZU Ow0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9wZ2FfM19tdXhfZXZlbnQoc3Ry dWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJICAgICAgc3RydWN0IHNuZF9rY29udHJv bCAqa2NvbnRyb2wsDQorCQkJICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2Nf Y29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQor CXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRh KGNtcG50KTsNCisJdW5zaWduZWQgaW50IG11eCA9IGRhcG1fa2NvbnRyb2xfZ2V0X3ZhbHVlKHct Pmtjb250cm9sc1swXSk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgbXV4ICVkXG4i LCBfX2Z1bmNfXywgbXV4KTsNCisJcHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBXzNdID0gbXV4ID4+ IFJHX0FVRFBSRUFNUDNJTlBVVFNFTF9TRlQ7DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMg aW50IG10X3BnYV9sX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAg c3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICBpbnQgZXZlbnQpDQorew0KKwlz dHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVu dCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25l bnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwlpbnQgbWljX2dhaW5fbCA9IHByaXYtPmFuYV9nYWlu W0FVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1QMV07DQorCXVuc2lnbmVkIGludCBtdXhfcGdhID0g cHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBX0xdOw0KKwl1bnNpZ25lZCBpbnQgbWljX3R5cGU7DQor DQorCXN3aXRjaCAobXV4X3BnYSkgew0KKwljYXNlIFBHQV9MX01VWF9BSU4wOg0KKwkJbWljX3R5 cGUgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8wXTsNCisJCWJyZWFrOw0KKwljYXNl IFBHQV9MX01VWF9BSU4xOg0KKwkJbWljX3R5cGUgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNf VFlQRV8xXTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJZGV2X2Vycihwcml2LT5kZXYsICIl cygpLCBpbnZhbGlkIHBnYSBtdXggJWRcbiIsDQorCQkJX19mdW5jX18sIG11eF9wZ2EpOw0KKwkJ cmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9T T0NfREFQTV9QUkVfUE1VOg0KKwkJaWYgKElTX0RDQ19CQVNFKG1pY190eXBlKSkgew0KKwkJCS8q IEF1ZGlvIEwgcHJlYW1wbGlmaWVyIERDQyBwcmVjaGFyZ2UgKi8NCisJCQlyZWdtYXBfdXBkYXRl X2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04wLA0KKwkJCQkJICAgUkdf QVVEUFJFQU1QTERDUFJFQ0hBUkdFX01BU0tfU0ZULA0KKwkJCQkJICAgMHgxIDw8IFJHX0FVRFBS RUFNUExEQ1BSRUNIQVJHRV9TRlQpOw0KKwkJfQ0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19E QVBNX1BPU1RfUE1VOg0KKwkJLyogc2V0IG1pYyBwZ2EgZ2FpbiAqLw0KKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJICAgUkdf QVVEUFJFQU1QTEdBSU5fTUFTS19TRlQsDQorCQkJCSAgIG1pY19nYWluX2wgPDwgUkdfQVVEUFJF QU1QTEdBSU5fU0ZUKTsNCisNCisJCWlmIChJU19EQ0NfQkFTRShtaWNfdHlwZSkpIHsNCisJCQkv KiBMIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJCQkgICBSR19BVURQUkVBTVBMREND RU5fTUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwgUkdfQVVEUFJFQU1QTERDQ0VOX1NGVCk7DQor CQl9DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQkvKiBMIHBy ZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJICAgUkdfQVVEUFJFQU1QTERDQ0VOX01BU0tf U0ZULA0KKwkJCQkgICAweDAgPDwgUkdfQVVEUFJFQU1QTERDQ0VOX1NGVCk7DQorCQlicmVhazsN CisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0 aWMgaW50IG10X3BnYV9yX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJ CSAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICBpbnQgZXZlbnQpDQorew0K KwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBv bmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21w b25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwlpbnQgbWljX2dhaW5fciA9IHByaXYtPmFuYV9n YWluW0FVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1QMl07DQorCXVuc2lnbmVkIGludCBtdXhfcGdh ID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBX1JdOw0KKwl1bnNpZ25lZCBpbnQgbWljX3R5cGU7 DQorDQorCXN3aXRjaCAobXV4X3BnYSkgew0KKwljYXNlIFBHQV9SX01VWF9BSU4wOg0KKwkJbWlj X3R5cGUgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8wXTsNCisJCWJyZWFrOw0KKwlj YXNlIFBHQV9SX01VWF9BSU4yOg0KKwljYXNlIFBHQV9SX01VWF9BSU4zOg0KKwkJbWljX3R5cGUg PSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8yXTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0 Og0KKwkJZGV2X2Vycihwcml2LT5kZXYsICIlcygpLCBpbnZhbGlkIHBnYSBtdXggJWRcbiIsDQor CQkJX19mdW5jX18sIG11eF9wZ2EpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJc3dp dGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJaWYgKElTX0RD Q19CQVNFKG1pY190eXBlKSkgew0KKwkJCS8qIEF1ZGlvIFIgcHJlYW1wbGlmaWVyIERDQyBwcmVj aGFyZ2UgKi8NCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE RU5DX0FOQV9DT04xLA0KKwkJCQkJICAgUkdfQVVEUFJFQU1QUkRDUFJFQ0hBUkdFX01BU0tfU0ZU LA0KKwkJCQkJICAgMHgxIDw8IFJHX0FVRFBSRUFNUFJEQ1BSRUNIQVJHRV9TRlQpOw0KKwkJfQ0K KwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJLyogc2V0IG1pYyBw Z2EgZ2FpbiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV REVOQ19BTkFfQ09OMSwNCisJCQkJICAgUkdfQVVEUFJFQU1QUkdBSU5fTUFTS19TRlQsDQorCQkJ CSAgIG1pY19nYWluX3IgPDwgUkdfQVVEUFJFQU1QUkdBSU5fU0ZUKTsNCisNCisJCWlmIChJU19E Q0NfQkFTRShtaWNfdHlwZSkpIHsNCisJCQkvKiBSIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJ CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEs DQorCQkJCQkgICBSR19BVURQUkVBTVBSRENDRU5fTUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwg UkdfQVVEUFJFQU1QUkRDQ0VOX1NGVCk7DQorCQl9DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09D X0RBUE1fUE9TVF9QTUQ6DQorCQkvKiBSIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwNCisJCQkJ ICAgUkdfQVVEUFJFQU1QUkRDQ0VOX01BU0tfU0ZULA0KKwkJCQkgICAweDAgPDwgUkdfQVVEUFJF QU1QUkRDQ0VOX1NGVCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQor DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3BnYV8zX2V2ZW50KHN0cnVjdCBz bmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRy b2wsDQorCQkJICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNt cG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1 OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwlp bnQgbWljX2dhaW5fMyA9IHByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1Q M107DQorCXVuc2lnbmVkIGludCBtdXhfcGdhID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBXzNd Ow0KKwl1bnNpZ25lZCBpbnQgbWljX3R5cGU7DQorDQorCXN3aXRjaCAobXV4X3BnYSkgew0KKwlj YXNlIFBHQV8zX01VWF9BSU4yOg0KKwljYXNlIFBHQV8zX01VWF9BSU4zOg0KKwkJbWljX3R5cGUg PSBwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8yXTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0 Og0KKwkJZGV2X2Vycihwcml2LT5kZXYsICIlcygpLCBpbnZhbGlkIHBnYSBtdXggJWRcbiIsDQor CQkJX19mdW5jX18sIG11eF9wZ2EpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJc3dp dGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJaWYgKElTX0RD Q19CQVNFKG1pY190eXBlKSkgew0KKwkJCS8qIEF1ZGlvIDMgcHJlYW1wbGlmaWVyIERDQyBwcmVj aGFyZ2UgKi8NCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE RU5DX0FOQV9DT04yLA0KKwkJCQkJICAgUkdfQVVEUFJFQU1QM0RDUFJFQ0hBUkdFX01BU0tfU0ZU LA0KKwkJCQkJICAgMHgxIDw8IFJHX0FVRFBSRUFNUDNEQ1BSRUNIQVJHRV9TRlQpOw0KKwkJfQ0K KwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJLyogc2V0IG1pYyBw Z2EgZ2FpbiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV REVOQ19BTkFfQ09OMiwNCisJCQkJICAgUkdfQVVEUFJFQU1QM0dBSU5fTUFTS19TRlQsDQorCQkJ CSAgIG1pY19nYWluXzMgPDwgUkdfQVVEUFJFQU1QM0dBSU5fU0ZUKTsNCisNCisJCWlmIChJU19E Q0NfQkFTRShtaWNfdHlwZSkpIHsNCisJCQkvKiAzIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJ CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIs DQorCQkJCQkgICBSR19BVURQUkVBTVAzRENDRU5fTUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwg UkdfQVVEUFJFQU1QM0RDQ0VOX1NGVCk7DQorCQl9DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09D X0RBUE1fUE9TVF9QTUQ6DQorCQkvKiAzIHByZWFtcGxpZmllciBEQ0NFTiAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkJ ICAgUkdfQVVEUFJFQU1QM0RDQ0VOX01BU0tfU0ZULA0KKwkJCQkgICAweDAgPDwgUkdfQVVEUFJF QU1QM0RDQ0VOX1NGVCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQor DQorCXJldHVybiAwOw0KK30NCisNCisvKiBJdCBpcyBiYXNlZCBvbiBodydzIGNvbnRyb2wgc2Vx dWVuZWNlIHRvIGFkZCBzb21lIGRlbGF5IHdoZW4gUE1VL1BNRCAqLw0KK3N0YXRpYyBpbnQgbXRf ZGVsYXlfMjUwX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICAg IHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICAgIGludCBldmVudCkNCit7 DQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCWNh c2UgU05EX1NPQ19EQVBNX1BSRV9QTUQ6DQorCQl1c2xlZXBfcmFuZ2UoMjUwLCAyNzApOw0KKwkJ YnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQor DQorc3RhdGljIGludCBtdF9kZWxheV8xMDBfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRn ZXQgKncsDQorCQkJICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAg ICAgaW50IGV2ZW50KQ0KK3sNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQ TV9QT1NUX1BNVToNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNRDoNCisJCXVzbGVlcF9yYW5n ZSgxMDAsIDEyMCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQor CXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X2hwX3B1bGxfZG93bl9ldmVudChzdHJ1 Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkJIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtj b250cm9sLA0KKwkJCQkgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50 ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBt dDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsN CisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJ aHBfcHVsbF9kb3duKHByaXYsIHRydWUpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBN X1BPU1RfUE1EOg0KKwkJaHBfcHVsbF9kb3duKHByaXYsIGZhbHNlKTsNCisJCWJyZWFrOw0KKwlk ZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBp bnQgbXRfaHBfbXV0ZV9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkg ICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgIGludCBldmVudCkNCit7 DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29t cG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2Nv bXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2Fz ZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIFNldCBIUFIvSFBMIGdhaW4gdG8gLTIyZEIg Ki8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09OMiwgRExfR0FJ Tl9OXzIyREJfUkVHKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoN CisJCS8qIFNldCBIUEwvSFBSIGdhaW4gdG8gbXV0ZSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwgTVQ2MzU5X1pDRF9DT04yLCBETF9HQUlOX05fNDBEQl9SRUcpOw0KKwkJYnJlYWs7 DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludCBtdF9ocF9kYW1wX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0K KwkJCSAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgaW50IGV2ZW50 KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90 b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9z b2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc3dpdGNoIChldmVudCkgew0K KwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIERpc2FibGUgSFAgZGFtcGluZyBj aXJjdWl0ICYgSFBOIDRLIGxvYWQgKi8NCisJCS8qIHJlc2V0IENNRkIgUFcgbGV2ZWwgKi8NCisJ CXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEwLCAweDAw MDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4g MDsNCit9DQorDQorc3RhdGljIGludCBtdF9lc2RfcmVzaXN0X2V2ZW50KHN0cnVjdCBzbmRfc29j X2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJv bCwNCisJCQkgICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50 ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBt dDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsN CisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJ LyogUmVkdWNlIEVTRCByZXNpc3RhbmNlIG9mIEFVX1JFRk4gKi8NCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjIsDQorCQkJCSAgIFJHX0FV RFJFRk5fREVSRVNfRU5fVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJICAgMHgxIDw8IFJHX0FVRFJF Rk5fREVSRVNfRU5fVkFVRFAzMl9TRlQpOw0KKwkJdXNsZWVwX3JhbmdlKDI1MCwgMjcwKTsNCisJ CWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIEluY3JlYXNlIEVT RCByZXNpc3RhbmNlIG9mIEFVX1JFRk4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjIsDQorCQkJCSAgIFJHX0FVRFJFRk5fREVSRVNf RU5fVkFVRFAzMl9NQVNLX1NGVCwgMHgwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJl YWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfc2RtX2V2ZW50 KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCXN0cnVjdCBzbmRfa2NvbnRyb2wg Kmtjb250cm9sLA0KKwkJCWludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVu dCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3Qg bXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7 DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJ CS8qIHNkbSBhdWRpbyBmaWZvIGNsb2NrIHBvd2VyIG9uICovDQorCQlyZWdtYXBfdXBkYXRlX2Jp dHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjIsDQorCQkJCSAgIDB4ZmZmZCwg MHgwMDA2KTsNCisJCS8qIHNjcmFtYmxlciBjbG9jayBvbiBlbmFibGUgKi8NCisJCXJlZ21hcF93 cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMCwgMHhjYmExKTsNCisJCS8q IHNkbSBwb3dlciBvbiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FGVU5DX0FVRF9DT04yLA0KKwkJCQkgICAweGZmZmQsIDB4MDAwMyk7DQorCQkvKiBzZG0g ZmlmbyBlbmFibGUgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BRlVOQ19BVURfQ09OMiwNCisJCQkJICAgMHhmZmZkLCAweDAwMEIpOw0KKwkJYnJlYWs7DQor CWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyogREwgc2NyYW1ibGVyIGRpc2FibGlu ZyBzZXF1ZW5jZSAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FGVU5DX0FVRF9DT04yLA0KKwkJCQkgICAweGZmZmQsIDB4MDAwMCk7DQorCQlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjAsIDB4Y2JhMCk7DQorCQlicmVh azsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitz dGF0aWMgaW50IG10X3NkbV8zcmRfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncs DQorCQkJICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICBpbnQgZXZl bnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBt X3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25k X3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7 DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQkvKiBzZG0gYXVkaW8gZmlmbyBjbG9j ayBwb3dlciBvbiAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5D X0FVRF9DT04xMSwgMHgwMDA2KTsNCisJCS8qIHNjcmFtYmxlciBjbG9jayBvbiBlbmFibGUgKi8N CisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OOSwgMHhj YmExKTsNCisJCS8qIHNkbSBwb3dlciBvbiAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04xMSwgMHgwMDAzKTsNCisJCS8qIHNkbSBmaWZvIGVuYWJs ZSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04x MSwgMHgwMDBiKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJ CS8qIERMIHNjcmFtYmxlciBkaXNhYmxpbmcgc2VxdWVuY2UgKi8NCisJCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMTEsIDB4MDAwMCk7DQorCQlyZWdtYXBf d3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjksIDB4Y2JhMCk7DQorCQli cmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisN CitzdGF0aWMgaW50IG10X25jcF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywN CisJCQlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQlpbnQgZXZlbnQpDQorew0K KwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBv bmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21w b25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2Ug U05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQUZFX05DUF9DRkcwLCAweGM4MDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVh azsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorLyogREFQTSBXaWRnZXRzICovDQorc3Rh dGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IG10NjM1OV9kYXBtX3dpZGdldHNb XSA9IHsNCisJLyogR2xvYmFsIFN1cHBseSovDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQ0xL X0JVRiIsIFNVUFBMWV9TRVFfQ0xLX0JVRiwNCisJCQkgICAgICBNVDYzNTlfRENYT19DVzEyLA0K KwkJCSAgICAgIFJHX1hPX0FVRElPX0VOX01fU0ZULCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19E QVBNX1NVUFBMWV9TKCJMRE9fVkFVRDE4IiwgU1VQUExZX1NFUV9MRE9fVkFVRDE4LA0KKwkJCSAg ICAgIE1UNjM1OV9MRE9fVkFVRDE4X0NPTjAsDQorCQkJICAgICAgUkdfTERPX1ZBVUQxOF9FTl9T RlQsIDAsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFVREdMQiIsIFNVUFBM WV9TRVFfQVVEX0dMQiwNCisJCQkgICAgICBNVDYzNTlfQVVEREVDX0FOQV9DT04xMywNCisJCQkg ICAgICBSR19BVURHTEJfUFdSRE5fVkEzMl9TRlQsIDEsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RB UE1fU1VQUExZX1MoIkNMS1NRIEF1ZGlvIiwgU1VQUExZX1NFUV9DTEtTUSwNCisJCQkgICAgICBN VDYzNTlfQVVERU5DX0FOQV9DT04yMywNCisJCQkgICAgICBSR19DTEtTUV9FTl9TRlQsIDAsIE5V TEwsIFNORF9TT0NfREFQTV9QUkVfUE1VKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURO Q1BfQ0siLCBTVVBQTFlfU0VRX1RPUF9DSywNCisJCQkgICAgICBNVDYzNTlfQVVEX1RPUF9DS1BE Tl9DT04wLA0KKwkJCSAgICAgIFJHX0FVRE5DUF9DS19QRE5fU0ZULCAxLCBOVUxMLCAwKSwNCisJ U05EX1NPQ19EQVBNX1NVUFBMWV9TKCJaQ0QxM01fQ0siLCBTVVBQTFlfU0VRX1RPUF9DSywNCisJ CQkgICAgICBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wLA0KKwkJCSAgICAgIFJHX1pDRDEzTV9D S19QRE5fU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURfQ0si LCBTVVBQTFlfU0VRX1RPUF9DS19MQVNULA0KKwkJCSAgICAgIE1UNjM1OV9BVURfVE9QX0NLUERO X0NPTjAsDQorCQkJICAgICAgUkdfQVVEX0NLX1BETl9TRlQsIDEsIG10X2RlbGF5XzI1MF9ldmVu dCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUFJFX1BN RCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQVVESUZfQ0siLCBTVVBQTFlfU0VRX1RPUF9D SywNCisJCQkgICAgICBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wLA0KKwkJCSAgICAgIFJHX0FV RElGX0NLX1BETl9TRlQsIDEsIE5VTEwsIDApLA0KKwkvKiBEaWdpdGFsIENsb2NrICovDQorCVNO RF9TT0NfREFQTV9TVVBQTFlfUygiQVVESU9fVE9QX0FGRV9DVEwiLCBTVVBQTFlfU0VRX0FVRF9U T1BfTEFTVCwNCisJCQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUERO X0FGRV9DVExfU0ZULCAxLA0KKwkJCSAgICAgIG10X2RlbGF5XzI1MF9ldmVudCwNCisJCQkgICAg ICBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUFJFX1BNRCksDQorCVNORF9T T0NfREFQTV9TVVBQTFlfUygiQVVESU9fVE9QX0RBQ19DVEwiLCBTVVBQTFlfU0VRX0FVRF9UT1As DQorCQkJICAgICAgTVQ2MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAgICAgIFBETl9EQUNfQ1RM X1NGVCwgMSwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQVVESU9fVE9QX0FE Q19DVEwiLCBTVVBQTFlfU0VRX0FVRF9UT1AsDQorCQkJICAgICAgTVQ2MzU5X0FVRElPX1RPUF9D T04wLA0KKwkJCSAgICAgIFBETl9BRENfQ1RMX1NGVCwgMSwgTlVMTCwgMCksDQorCVNORF9TT0Nf REFQTV9TVVBQTFlfUygiQVVESU9fVE9QX0FEREE2X0FEQ19DVEwiLCBTVVBQTFlfU0VRX0FVRF9U T1AsDQorCQkJICAgICAgTVQ2MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAgICAgIFBETl9BRERB Nl9BRENfQ1RMX1NGVCwgMSwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQVVE SU9fVE9QX0kyU19ETCIsIFNVUFBMWV9TRVFfQVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlfQVVE SU9fVE9QX0NPTjAsDQorCQkJICAgICAgUEROX0kyU19ETF9DVExfU0ZULCAxLCBOVUxMLCAwKSwN CisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfUFdSX0NMSyIsIFNVUFBMWV9TRVFf QVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUFdS X0NMS19ESVNfQ1RMX1NGVCwgMSwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygi QVVESU9fVE9QX1BETl9BRkVfVEVTVE1PREVMIiwgU1VQUExZX1NFUV9BVURfVE9QLA0KKwkJCSAg ICAgIE1UNjM1OV9BVURJT19UT1BfQ09OMCwNCisJCQkgICAgICBQRE5fQUZFX1RFU1RNT0RFTF9D VExfU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1Bf UEROX1JFU0VSVkVEIiwgU1VQUExZX1NFUV9BVURfVE9QLA0KKwkJCSAgICAgIE1UNjM1OV9BVURJ T19UT1BfQ09OMCwNCisJCQkgICAgICBQRE5fUkVTRVJWRURfU0ZULCAxLCBOVUxMLCAwKSwNCisN CisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJTRE0iLCBTVVBQTFlfU0VRX0RMX1NETSwNCisJCQkg ICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRfc2RtX2V2ZW50LA0KKwkJCSAg ICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisJU05E X1NPQ19EQVBNX1NVUFBMWV9TKCJTRE1fM1JEIiwgU1VQUExZX1NFUV9ETF9TRE0sDQorCQkJICAg ICAgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICAgIG10X3NkbV8zcmRfZXZlbnQsDQorCQkJ ICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0K KwkvKiBjaDEyMyBzaGFyZSBTRE0gRklGTyBDTEsgKi8NCisJU05EX1NPQ19EQVBNX1NVUFBMWV9T KCJTRE1fRklGT19DTEsiLCBTVVBQTFlfU0VRX0RMX1NETV9GSUZPX0NMSywNCisJCQkgICAgICBN VDYzNTlfQUZVTkNfQVVEX0NPTjIsDQorCQkJICAgICAgQ0NJX0FGSUZPX0NMS19QV0RCX1NGVCwg MCwNCisJCQkgICAgICBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJOQ1Ai LCBTVVBQTFlfU0VRX0RMX05DUCwNCisJCQkgICAgICBNVDYzNTlfQUZFX05DUF9DRkcwLA0KKwkJ CSAgICAgIFJHX05DUF9PTl9TRlQsIDAsDQorCQkJICAgICAgbXRfbmNwX2V2ZW50LA0KKwkJCSAg ICAgIFNORF9TT0NfREFQTV9QUkVfUE1VKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiREwg RGlnaXRhbCBDbG9jayIsIFNORF9TT0NfTk9QTSwNCisJCQkgICAgMCwgMCwgTlVMTCwgMCksDQor CVNORF9TT0NfREFQTV9TVVBQTFkoIkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMV8yIiwgU05EX1NPQ19O T1BNLA0KKwkJCSAgICAwLCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiREwg RGlnaXRhbCBDbG9jayBDSF8zIiwgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAwLCAwLCBOVUxMLCAw KSwNCisNCisJLyogQUZFIE9OICovDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQUZFX09OIiwg U1VQUExZX1NFUV9BRkUsDQorCQkJICAgICAgTVQ2MzU5X0FGRV9VTF9ETF9DT04wLCBBRkVfT05f U0ZULCAwLA0KKwkJCSAgICAgIE5VTEwsIDApLA0KKw0KKwkvKiBBSUYgUngqLw0KKwlTTkRfU09D X0RBUE1fQUlGX0lOKCJBSUZfUlgiLCAiQUlGMSBQbGF5YmFjayIsIDAsDQorCQkJICAgIFNORF9T T0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9TT0NfREFQTV9BSUZfSU4oIkFJRjJfUlgiLCAiQUlG MiBQbGF5YmFjayIsIDAsDQorCQkJICAgIFNORF9TT0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9T T0NfREFQTV9TVVBQTFlfUygiQUZFX0RMX1NSQyIsIFNVUFBMWV9TRVFfRExfU1JDLA0KKwkJCSAg ICAgIE1UNjM1OV9BRkVfRExfU1JDMl9DT04wX0wsDQorCQkJICAgICAgRExfMl9TUkNfT05fVE1Q X0NUTF9QUkVfU0ZULCAwLA0KKwkJCSAgICAgIE5VTEwsIDApLA0KKw0KKwkvKiBETCBTdXBwbHkg Ki8NCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiREwgUG93ZXIgU3VwcGx5IiwgU05EX1NPQ19OT1BN LA0KKwkJCSAgICAwLCAwLCBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJF U0RfUkVTSVNUIiwgU1VQUExZX1NFUV9ETF9FU0RfUkVTSVNULA0KKwkJCSAgICAgIFNORF9TT0Nf Tk9QTSwNCisJCQkgICAgICAwLCAwLA0KKwkJCSAgICAgIG10X2VzZF9yZXNpc3RfZXZlbnQsDQor CQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0K KwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkxETyIsIFNVUFBMWV9TRVFfRExfTERPLA0KKwkJCSAg ICAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjE0LA0KKwkJCSAgICAgIFJHX0xDTERPX0RFQ19FTl9W QTMyX1NGVCwgMCwNCisJCQkgICAgICBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9T KCJMRE9fUkVNT1RFIiwgU1VQUExZX1NFUV9ETF9MRE9fUkVNT1RFX1NFTlNFLA0KKwkJCSAgICAg IE1UNjM1OV9BVURERUNfQU5BX0NPTjE0LA0KKwkJCSAgICAgIFJHX0xDTERPX0RFQ19SRU1PVEVf U0VOU0VfVkExOF9TRlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9T VVBQTFlfUygiTlZfUkVHVUxBVE9SIiwgU1VQUExZX1NFUV9ETF9OViwNCisJCQkgICAgICBNVDYz NTlfQVVEREVDX0FOQV9DT04xNCwNCisJCQkgICAgICBSR19OVlJFR19FTl9WQVVEUDMyX1NGVCwg MCwNCisJCQkgICAgICBtdF9kZWxheV8xMDBfZXZlbnQsIFNORF9TT0NfREFQTV9QT1NUX1BNVSks DQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiSUJJU1QiLCBTVVBQTFlfU0VRX0RMX0lCSVNULA0K KwkJCSAgICAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCSAgICAgIFJHX0FVRElCSUFT UFdSRE5fVkFVRFAzMl9TRlQsIDEsDQorCQkJICAgICAgTlVMTCwgMCksDQorDQorCS8qIERBQyAq Lw0KKwlTTkRfU09DX0RBUE1fTVVYKCJEQUMgSW4gTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLCAm ZGFjX2luX211eF9jb250cm9sKSwNCisNCisJU05EX1NPQ19EQVBNX0RBQygiREFDTCIsIE5VTEws IFNORF9TT0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9TT0NfREFQTV9EQUMoIkRBQ1IiLCBOVUxM LCBTTkRfU09DX05PUE0sIDAsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fREFDKCJEQUNfM1JEIiwg TlVMTCwgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisNCisJLyogSGVhZHBob25lICovDQorCVNORF9T T0NfREFQTV9NVVhfRSgiSFAgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZocF9p bl9tdXhfY29udHJvbCwNCisJCQkgICBtdF9ocF9ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1f UFJFX1BNVSB8IFNORF9TT0NfREFQTV9QUkVfUE1EKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBM WSgiSFBfU3VwcGx5IiwgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAwLCAwLCBOVUxMLCAwKSwNCisJ U05EX1NPQ19EQVBNX1NVUFBMWV9TKCJIUF9QVUxMX0RPV04iLCBTVVBQTFlfU0VRX0hQX1BVTExf RE9XTiwNCisJCQkgICAgICBTTkRfU09DX05PUE0sDQorCQkJICAgICAgMCwgMCwNCisJCQkgICAg ICBtdF9ocF9wdWxsX2Rvd25fZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUg fCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkhQX01V VEUiLCBTVVBQTFlfU0VRX0hQX01VVEUsDQorCQkJICAgICAgU05EX1NPQ19OT1BNLA0KKwkJCSAg ICAgIDAsIDAsDQorCQkJICAgICAgbXRfaHBfbXV0ZV9ldmVudCwNCisJCQkgICAgICBTTkRfU09D X0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNORF9TT0NfREFQTV9T VVBQTFlfUygiSFBfREFNUCIsIFNVUFBMWV9TRVFfSFBfREFNUElOR19PRkZfUkVTRVRfQ01GQiwN CisJCQkgICAgICBTTkRfU09DX05PUE0sDQorCQkJICAgICAgMCwgMCwNCisJCQkgICAgICBtdF9o cF9kYW1wX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorDQorCS8q IFJlY2VpdmVyICovDQorCVNORF9TT0NfREFQTV9NVVhfRSgiUkNWIE11eCIsIFNORF9TT0NfTk9Q TSwgMCwgMCwNCisJCQkgICAmcmN2X2luX211eF9jb250cm9sLA0KKwkJCSAgIG10X3Jjdl9ldmVu dCwNCisJCQkgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QUkVfUE1EKSwN CisNCisJLyogTE9MICovDQorCVNORF9TT0NfREFQTV9NVVhfRSgiTE9MIE11eCIsIFNORF9TT0Nf Tk9QTSwgMCwgMCwNCisJCQkgICAmbG9faW5fbXV4X2NvbnRyb2wsDQorCQkJICAgbXRfbG9fZXZl bnQsDQorCQkJICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUFJFX1BNRCks DQorDQorCS8qIE91dHB1dHMgKi8NCisJU05EX1NPQ19EQVBNX09VVFBVVCgiUmVjZWl2ZXIiKSwN CisJU05EX1NPQ19EQVBNX09VVFBVVCgiSGVhZHBob25lIEwiKSwNCisJU05EX1NPQ19EQVBNX09V VFBVVCgiSGVhZHBob25lIFIiKSwNCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSGVhZHBob25lIEwg RXh0IFNwayBBbXAiKSwNCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSGVhZHBob25lIFIgRXh0IFNw ayBBbXAiKSwNCisJU05EX1NPQ19EQVBNX09VVFBVVCgiTElORU9VVCBMIiksDQorDQorCS8qIFNH RU4gKi8NCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiU0dFTiBETCBFbmFibGUiLCBNVDYzNTlfQUZF X1NHRU5fQ0ZHMCwNCisJCQkgICAgU0dFTl9EQUNfRU5fQ1RMX1NGVCwgMCwgTlVMTCwgMCksDQor CVNORF9TT0NfREFQTV9TVVBQTFkoIlNHRU4gTVVURSIsIE1UNjM1OV9BRkVfU0dFTl9DRkcwLA0K KwkJCSAgICBTR0VOX01VVEVfU1dfQ1RMX1NGVCwgMSwNCisJCQkgICAgbXRfc2dlbl9ldmVudCwN CisJCQkgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0K KwlTTkRfU09DX0RBUE1fU1VQUExZKCJTR0VOIERMIFNSQyIsIE1UNjM1OV9BRkVfRExfU1JDMl9D T04wX0wsDQorCQkJICAgIERMXzJfU1JDX09OX1RNUF9DVExfUFJFX1NGVCwgMCwgTlVMTCwgMCks DQorDQorCVNORF9TT0NfREFQTV9JTlBVVCgiU0dFTiBETCIpLA0KKw0KKwkvKiBVcGxpbmtzICov DQorCVNORF9TT0NfREFQTV9BSUZfT1VUKCJBSUYxVFgiLCAiQUlGMSBDYXB0dXJlIiwgMCwNCisJ CQkgICAgIFNORF9TT0NfTk9QTSwgMCwgMCksDQorCVNORF9TT0NfREFQTV9BSUZfT1VUKCJBSUYy VFgiLCAiQUlGMiBDYXB0dXJlIiwgMCwNCisJCQkgICAgIFNORF9TT0NfTk9QTSwgMCwgMCksDQor DQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQURDX0NMS0dFTiIsIFNVUFBMWV9TRVFfQURDX0NM S0dFTiwNCisJCQkgICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRfYWRjX2Ns a19nZW5fZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19E QVBNX1BSRV9QTUQpLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkRDQ19DTEsiLCBTVVBQ TFlfU0VRX0RDQ19DTEssDQorCQkJICAgICAgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICAg IG10X2RjY19jbGtfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRf U09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwkvKiBVcGxpbmtzIE1VWCAqLw0KKwlTTkRfU09DX0RB UE1fTVVYKCJBSUYgT3V0IE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgJmFpZl9vdXRf bXV4X2NvbnRyb2wpLA0KKw0KKwlTTkRfU09DX0RBUE1fTVVYKCJBSUYyIE91dCBNdXgiLCBTTkRf U09DX05PUE0sIDAsIDAsDQorCQkJICZhaWYyX291dF9tdXhfY29udHJvbCksDQorDQorCVNORF9T T0NfREFQTV9TVVBQTFkoIkFJRlRYX1N1cHBseSIsIFNORF9TT0NfTk9QTSwgMCwgMCwgTlVMTCwg MCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiTVRLQUlGX1RYIiwgU1VQUExZX1NFUV9V TF9NVEtBSUYsDQorCQkJICAgICAgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICAgIG10X210 a2FpZl90eF9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0Nf REFQTV9QT1NUX1BNRCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiVUxfU1JDIiwgU1VQ UExZX1NFUV9VTF9TUkMsDQorCQkJICAgICAgTVQ2MzU5X0FGRV9VTF9TUkNfQ09OMF9MLA0KKwkJ CSAgICAgIFVMX1NSQ19PTl9UTVBfQ1RMX1NGVCwgMCwNCisJCQkgICAgICBOVUxMLCAwKSwNCisN CisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJVTF9TUkNfRE1JQyIsIFNVUFBMWV9TRVFfVUxfU1JD X0RNSUMsDQorCQkJICAgICAgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICAgIG10X3VsX3Ny Y19kbWljX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19E QVBNX1BPU1RfUE1EKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJVTF9TUkNfMzQiLCBT VVBQTFlfU0VRX1VMX1NSQywNCisJCQkgICAgICBNVDYzNTlfQUZFX0FEREE2X1VMX1NSQ19DT04w X0wsDQorCQkJICAgICAgQUREQTZfVUxfU1JDX09OX1RNUF9DVExfU0ZULCAwLA0KKwkJCSAgICAg IE5VTEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlVMX1NSQ18zNF9ETUlDIiwg U1VQUExZX1NFUV9VTF9TUkNfRE1JQywNCisJCQkgICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQor CQkJICAgICAgbXRfdWxfc3JjXzM0X2RtaWNfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBN X1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwlTTkRfU09DX0RBUE1fTVVY KCJNSVNPMF9NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAsICZtaXNvMF9tdXhfY29udHJvbCksDQor CVNORF9TT0NfREFQTV9NVVgoIk1JU08xX01VWCIsIFNORF9TT0NfTk9QTSwgMCwgMCwgJm1pc28x X211eF9jb250cm9sKSwNCisJU05EX1NPQ19EQVBNX01VWCgiTUlTTzJfTVVYIiwgU05EX1NPQ19O T1BNLCAwLCAwLCAmbWlzbzJfbXV4X2NvbnRyb2wpLA0KKw0KKwlTTkRfU09DX0RBUE1fTVVYKCJV TF9TUkNfTVVYIiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAmdWxfc3JjX211eF9jb250cm9s KSwNCisJU05EX1NPQ19EQVBNX01VWCgiVUwyX1NSQ19NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAs DQorCQkJICZ1bDJfc3JjX211eF9jb250cm9sKSwNCisNCisJU05EX1NPQ19EQVBNX01VWCgiRE1J QzBfTVVYIiwgU05EX1NPQ19OT1BNLCAwLCAwLCAmZG1pYzBfbXV4X2NvbnRyb2wpLA0KKwlTTkRf U09DX0RBUE1fTVVYKCJETUlDMV9NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAsICZkbWljMV9tdXhf Y29udHJvbCksDQorCVNORF9TT0NfREFQTV9NVVgoIkRNSUMyX01VWCIsIFNORF9TT0NfTk9QTSwg MCwgMCwgJmRtaWMyX211eF9jb250cm9sKSwNCisNCisJU05EX1NPQ19EQVBNX01VWF9FKCJBRENf TF9NdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgJmFkY19sZWZ0X211eF9jb250cm9s LCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX01VWF9FKCJBRENfUl9NdXgiLCBTTkRfU09DX05P UE0sIDAsIDAsDQorCQkJICAgJmFkY19yaWdodF9tdXhfY29udHJvbCwgTlVMTCwgMCksDQorCVNO RF9TT0NfREFQTV9NVVhfRSgiQURDXzNfTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAg ICZhZGNfM19tdXhfY29udHJvbCwgTlVMTCwgMCksDQorDQorCVNORF9TT0NfREFQTV9BREMoIkFE Q19MIiwgTlVMTCwgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisJU05EX1NPQ19EQVBNX0FEQygiQURD X1IiLCBOVUxMLCBTTkRfU09DX05PUE0sIDAsIDApLA0KKwlTTkRfU09DX0RBUE1fQURDKCJBRENf MyIsIE5VTEwsIFNORF9TT0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlf UygiQURDX0xfRU4iLCBTVVBQTFlfU0VRX1VMX0FEQywNCisJCQkgICAgICBNVDYzNTlfQVVERU5D X0FOQV9DT04wLA0KKwkJCSAgICAgIFJHX0FVREFEQ0xQV1JVUF9TRlQsIDAsDQorCQkJICAgICAg bXRfYWRjX2xfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VKSwNCisJU05E X1NPQ19EQVBNX1NVUFBMWV9TKCJBRENfUl9FTiIsIFNVUFBMWV9TRVFfVUxfQURDLA0KKwkJCSAg ICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJICAgICAgUkdfQVVEQURDUlBXUlVQX1NG VCwgMCwNCisJCQkgICAgICBtdF9hZGNfcl9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1f UE9TVF9QTVUpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFEQ18zX0VOIiwgU1VQUExZX1NF UV9VTF9BREMsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwNCisJCQkgICAgICBS R19BVURBREMzUFdSVVBfU0ZULCAwLA0KKwkJCSAgICAgIG10X2FkY18zX2V2ZW50LA0KKwkJCSAg ICAgIFNORF9TT0NfREFQTV9QT1NUX1BNVSksDQorDQorCVNORF9TT0NfREFQTV9NVVhfRSgiUEdB X0xfTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZwZ2FfbGVmdF9tdXhfY29udHJv bCwNCisJCQkgICBtdF9wZ2FfbF9tdXhfZXZlbnQsDQorCQkJICAgU05EX1NPQ19EQVBNX1dJTExf UE1VKSwNCisJU05EX1NPQ19EQVBNX01VWF9FKCJQR0FfUl9NdXgiLCBTTkRfU09DX05PUE0sIDAs IDAsDQorCQkJICAgJnBnYV9yaWdodF9tdXhfY29udHJvbCwNCisJCQkgICBtdF9wZ2Ffcl9tdXhf ZXZlbnQsDQorCQkJICAgU05EX1NPQ19EQVBNX1dJTExfUE1VKSwNCisJU05EX1NPQ19EQVBNX01V WF9FKCJQR0FfM19NdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgJnBnYV8zX211eF9j b250cm9sLA0KKwkJCSAgIG10X3BnYV8zX211eF9ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1f V0lMTF9QTVUpLA0KKw0KKwlTTkRfU09DX0RBUE1fUEdBKCJQR0FfTCIsIFNORF9TT0NfTk9QTSwg MCwgMCwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9QR0EoIlBHQV9SIiwgU05EX1NPQ19OT1BN LCAwLCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1BHQSgiUEdBXzMiLCBTTkRfU09DX05P UE0sIDAsIDAsIE5VTEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlBHQV9MX0VO IiwgU1VQUExZX1NFUV9VTF9QR0EsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwN CisJCQkgICAgICBSR19BVURQUkVBTVBMT05fU0ZULCAwLA0KKwkJCSAgICAgIG10X3BnYV9sX2V2 ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwNCisJCQkgICAgICBTTkRfU09D X0RBUE1fUE9TVF9QTVUgfA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNO RF9TT0NfREFQTV9TVVBQTFlfUygiUEdBX1JfRU4iLCBTVVBQTFlfU0VRX1VMX1BHQSwNCisJCQkg ICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xLA0KKwkJCSAgICAgIFJHX0FVRFBSRUFNUFJPTl9T RlQsIDAsDQorCQkJICAgICAgbXRfcGdhX3JfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBN X1BSRV9QTVUgfA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8DQorCQkJICAgICAg U05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJQR0FfM19F TiIsIFNVUFBMWV9TRVFfVUxfUEdBLA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIs DQorCQkJICAgICAgUkdfQVVEUFJFQU1QM09OX1NGVCwgMCwNCisJCQkgICAgICBtdF9wZ2FfM19l dmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8DQorCQkJICAgICAgU05EX1NP Q19EQVBNX1BPU1RfUE1VIHwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0K KwkvKiBVTCBpbnB1dCAqLw0KKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTjAiKSwNCisJU05EX1NP Q19EQVBNX0lOUFVUKCJBSU4xIiksDQorCVNORF9TT0NfREFQTV9JTlBVVCgiQUlOMiIpLA0KKwlT TkRfU09DX0RBUE1fSU5QVVQoIkFJTjMiKSwNCisNCisJU05EX1NPQ19EQVBNX0lOUFVUKCJBSU4w X0RNSUMiKSwNCisJU05EX1NPQ19EQVBNX0lOUFVUKCJBSU4yX0RNSUMiKSwNCisJU05EX1NPQ19E QVBNX0lOUFVUKCJBSU4zX0RNSUMiKSwNCisNCisJLyogbWljIGJpYXMgKi8NCisJU05EX1NPQ19E QVBNX1NVUFBMWV9TKCJNSUNfQklBU18wIiwgU1VQUExZX1NFUV9NSUNfQklBUywNCisJCQkgICAg ICBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwNCisJCQkgICAgICBSR19BVURQV0RCTUlDQklBUzBf U0ZULCAwLA0KKwkJCSAgICAgIG10X21pY19iaWFzXzBfZXZlbnQsDQorCQkJICAgICAgU05EX1NP Q19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RBUE1f U1VQUExZX1MoIk1JQ19CSUFTXzEiLCBTVVBQTFlfU0VRX01JQ19CSUFTLA0KKwkJCSAgICAgIE1U NjM1OV9BVURFTkNfQU5BX0NPTjE2LA0KKwkJCSAgICAgIFJHX0FVRFBXREJNSUNCSUFTMV9TRlQs IDAsDQorCQkJICAgICAgbXRfbWljX2JpYXNfMV9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RB UE1fUFJFX1BNVSksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiTUlDX0JJQVNfMiIsIFNVUFBM WV9TRVFfTUlDX0JJQVMsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsDQorCQkJ ICAgICAgUkdfQVVEUFdEQk1JQ0JJQVMyX1NGVCwgMCwNCisJCQkgICAgICBtdF9taWNfYmlhc18y X2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BP U1RfUE1EKSwNCisNCisJLyogZG1pYyAqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkRNSUNf MCIsIFNVUFBMWV9TRVFfRE1JQywNCisJCQkgICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xMywN CisJCQkgICAgICBSR19BVURESUdNSUNFTl9TRlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQor CVNORF9TT0NfREFQTV9TVVBQTFlfUygiRE1JQ18xIiwgU1VQUExZX1NFUV9ETUlDLA0KKwkJCSAg ICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE0LA0KKwkJCSAgICAgIFJHX0FVRERJR01JQzFFTl9T RlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQorfTsNCisNCitzdGF0aWMgaW50IG10X2RjY19j bGtfY29ubmVjdChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqc291cmNlLA0KKwkJCSAgICAg IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICpzaW5rKQ0KK3sNCisJc3RydWN0IHNuZF9zb2Nf ZGFwbV93aWRnZXQgKncgPSBzaW5rOw0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50 ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9w cml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlp ZiAoSVNfRENDX0JBU0UocHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMF0pIHx8DQorCSAg ICBJU19EQ0NfQkFTRShwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8xXSkgfHwNCisJICAg IElTX0RDQ19CQVNFKHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzJdKSkNCisJCXJldHVy biAxOw0KKwllbHNlDQorCQlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBz bmRfc29jX2RhcG1fcm91dGUgbXQ2MzU5X2RhcG1fcm91dGVzW10gPSB7DQorCS8qIENhcHR1cmUg Ki8NCisJeyJBSUZUWF9TdXBwbHkiLCBOVUxMLCAiQ0xLX0JVRiJ9LA0KKwl7IkFJRlRYX1N1cHBs eSIsIE5VTEwsICJMRE9fVkFVRDE4In0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVREdM QiJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJDTEtTUSBBdWRpbyJ9LA0KKwl7IkFJRlRY X1N1cHBseSIsIE5VTEwsICJBVURfQ0sifSwNCisJeyJBSUZUWF9TdXBwbHkiLCBOVUxMLCAiQVVE SUZfQ0sifSwNCisJeyJBSUZUWF9TdXBwbHkiLCBOVUxMLCAiQVVESU9fVE9QX0FGRV9DVEwifSwN CisJeyJBSUZUWF9TdXBwbHkiLCBOVUxMLCAiQVVESU9fVE9QX1BXUl9DTEsifSwNCisJeyJBSUZU WF9TdXBwbHkiLCBOVUxMLCAiQVVESU9fVE9QX1BETl9SRVNFUlZFRCJ9LA0KKwl7IkFJRlRYX1N1 cHBseSIsIE5VTEwsICJBVURJT19UT1BfSTJTX0RMIn0sDQorCS8qDQorCSAqICpfQURDX0NUTCBz aG91bGQgZW5hYmxlIG9ubHkgaWYgVUxfU1JDIGluIHVzZSwNCisJICogYnV0IGRtIGNrIG1heSBi ZSBuZWVkZWQgZXZlbiBVTF9TUkNfeCBub3QgaW4gdXNlDQorCSAqLw0KKwl7IkFJRlRYX1N1cHBs eSIsIE5VTEwsICJBVURJT19UT1BfQURDX0NUTCJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEws ICJBVURJT19UT1BfQUREQTZfQURDX0NUTCJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJB RkVfT04ifSwNCisNCisJLyogdWwgY2ggMTIgKi8NCisJeyJBSUYxVFgiLCBOVUxMLCAiQUlGIE91 dCBNdXgifSwNCisJeyJBSUYxVFgiLCBOVUxMLCAiQUlGVFhfU3VwcGx5In0sDQorCXsiQUlGMVRY IiwgTlVMTCwgIk1US0FJRl9UWCJ9LA0KKw0KKwl7IkFJRjJUWCIsIE5VTEwsICJBSUYyIE91dCBN dXgifSwNCisJeyJBSUYyVFgiLCBOVUxMLCAiQUlGVFhfU3VwcGx5In0sDQorCXsiQUlGMlRYIiwg TlVMTCwgIk1US0FJRl9UWCJ9LA0KKw0KKwl7IkFJRiBPdXQgTXV4IiwgIk5vcm1hbCBQYXRoIiwg Ik1JU08wX01VWCJ9LA0KKwl7IkFJRiBPdXQgTXV4IiwgIk5vcm1hbCBQYXRoIiwgIk1JU08xX01V WCJ9LA0KKwl7IkFJRjIgT3V0IE11eCIsICJOb3JtYWwgUGF0aCIsICJNSVNPMl9NVVgifSwNCisN CisJeyJNSVNPMF9NVVgiLCAiVUwxX0NIMSIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlTTzBfTVVY IiwgIlVMMV9DSDIiLCAiVUxfU1JDX01VWCJ9LA0KKwl7Ik1JU08wX01VWCIsICJVTDJfQ0gxIiwg IlVMMl9TUkNfTVVYIn0sDQorCXsiTUlTTzBfTVVYIiwgIlVMMl9DSDIiLCAiVUwyX1NSQ19NVVgi fSwNCisNCisJeyJNSVNPMV9NVVgiLCAiVUwxX0NIMSIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlT TzFfTVVYIiwgIlVMMV9DSDIiLCAiVUxfU1JDX01VWCJ9LA0KKwl7Ik1JU08xX01VWCIsICJVTDJf Q0gxIiwgIlVMMl9TUkNfTVVYIn0sDQorCXsiTUlTTzFfTVVYIiwgIlVMMl9DSDIiLCAiVUwyX1NS Q19NVVgifSwNCisNCisJeyJNSVNPMl9NVVgiLCAiVUwxX0NIMSIsICJVTF9TUkNfTVVYIn0sDQor CXsiTUlTTzJfTVVYIiwgIlVMMV9DSDIiLCAiVUxfU1JDX01VWCJ9LA0KKwl7Ik1JU08yX01VWCIs ICJVTDJfQ0gxIiwgIlVMMl9TUkNfTVVYIn0sDQorCXsiTUlTTzJfTVVYIiwgIlVMMl9DSDIiLCAi VUwyX1NSQ19NVVgifSwNCisNCisJeyJVTF9TUkNfTVVYIiwgIkFNSUMiLCAiQURDX0wifSwNCisJ eyJVTF9TUkNfTVVYIiwgIkFNSUMiLCAiQURDX1IifSwNCisJeyJVTF9TUkNfTVVYIiwgIkRNSUMi LCAiRE1JQzBfTVVYIn0sDQorCXsiVUxfU1JDX01VWCIsICJETUlDIiwgIkRNSUMxX01VWCJ9LA0K Kwl7IlVMX1NSQ19NVVgiLCBOVUxMLCAiVUxfU1JDIn0sDQorDQorCXsiVUwyX1NSQ19NVVgiLCAi QU1JQyIsICJBRENfMyJ9LA0KKwl7IlVMMl9TUkNfTVVYIiwgIkRNSUMiLCAiRE1JQzJfTVVYIn0s DQorCXsiVUwyX1NSQ19NVVgiLCBOVUxMLCAiVUxfU1JDXzM0In0sDQorDQorCXsiRE1JQzBfTVVY IiwgIkRNSUNfREFUQTAiLCAiQUlOMF9ETUlDIn0sDQorCXsiRE1JQzBfTVVYIiwgIkRNSUNfREFU QTFfTCIsICJBSU4yX0RNSUMifSwNCisJeyJETUlDMF9NVVgiLCAiRE1JQ19EQVRBMV9MXzEiLCAi QUlOMl9ETUlDIn0sDQorCXsiRE1JQzBfTVVYIiwgIkRNSUNfREFUQTFfUiIsICJBSU4zX0RNSUMi fSwNCisJeyJETUlDMV9NVVgiLCAiRE1JQ19EQVRBMCIsICJBSU4wX0RNSUMifSwNCisJeyJETUlD MV9NVVgiLCAiRE1JQ19EQVRBMV9MIiwgIkFJTjJfRE1JQyJ9LA0KKwl7IkRNSUMxX01VWCIsICJE TUlDX0RBVEExX0xfMSIsICJBSU4yX0RNSUMifSwNCisJeyJETUlDMV9NVVgiLCAiRE1JQ19EQVRB MV9SIiwgIkFJTjNfRE1JQyJ9LA0KKwl7IkRNSUMyX01VWCIsICJETUlDX0RBVEEwIiwgIkFJTjBf RE1JQyJ9LA0KKwl7IkRNSUMyX01VWCIsICJETUlDX0RBVEExX0wiLCAiQUlOMl9ETUlDIn0sDQor CXsiRE1JQzJfTVVYIiwgIkRNSUNfREFUQTFfTF8xIiwgIkFJTjJfRE1JQyJ9LA0KKwl7IkRNSUMy X01VWCIsICJETUlDX0RBVEExX1IiLCAiQUlOM19ETUlDIn0sDQorDQorCXsiRE1JQzBfTVVYIiwg TlVMTCwgIlVMX1NSQ19ETUlDIn0sDQorCXsiRE1JQzFfTVVYIiwgTlVMTCwgIlVMX1NSQ19ETUlD In0sDQorCXsiRE1JQzJfTVVYIiwgTlVMTCwgIlVMX1NSQ18zNF9ETUlDIn0sDQorDQorCXsiQUlO MF9ETUlDIiwgTlVMTCwgIkRNSUNfMCJ9LA0KKwl7IkFJTjJfRE1JQyIsIE5VTEwsICJETUlDXzEi fSwNCisJeyJBSU4zX0RNSUMiLCBOVUxMLCAiRE1JQ18xIn0sDQorCXsiQUlOMF9ETUlDIiwgTlVM TCwgIk1JQ19CSUFTXzAifSwNCisJeyJBSU4yX0RNSUMiLCBOVUxMLCAiTUlDX0JJQVNfMiJ9LA0K Kwl7IkFJTjNfRE1JQyIsIE5VTEwsICJNSUNfQklBU18yIn0sDQorDQorCS8qIGFkYyAqLw0KKwl7 IkFEQ19MIiwgTlVMTCwgIkFEQ19MX011eCJ9LA0KKwl7IkFEQ19MIiwgTlVMTCwgIkFEQ19DTEtH RU4ifSwNCisJeyJBRENfTCIsIE5VTEwsICJBRENfTF9FTiJ9LA0KKwl7IkFEQ19SIiwgTlVMTCwg IkFEQ19SX011eCJ9LA0KKwl7IkFEQ19SIiwgTlVMTCwgIkFEQ19DTEtHRU4ifSwNCisJeyJBRENf UiIsIE5VTEwsICJBRENfUl9FTiJ9LA0KKwkvKg0KKwkgKiBhbWljIGZpZm8gY2gxLzIgY2xrIGZy b20gQURDX0wsDQorCSAqIGVuYWJsZSBBRENfTCBldmVuIHVzZSBBRENfUiBvbmx5DQorCSAqLw0K Kwl7IkFEQ19SIiwgTlVMTCwgIkFEQ19MX0VOIn0sDQorCXsiQURDXzMiLCBOVUxMLCAiQURDXzNf TXV4In0sDQorCXsiQURDXzMiLCBOVUxMLCAiQURDX0NMS0dFTiJ9LA0KKwl7IkFEQ18zIiwgTlVM TCwgIkFEQ18zX0VOIn0sDQorDQorCXsiQURDX0xfTXV4IiwgIkxlZnQgUHJlYW1wbGlmaWVyIiwg IlBHQV9MIn0sDQorCXsiQURDX1JfTXV4IiwgIlJpZ2h0IFByZWFtcGxpZmllciIsICJQR0FfUiJ9 LA0KKwl7IkFEQ18zX011eCIsICJQcmVhbXBsaWZpZXIiLCAiUEdBXzMifSwNCisNCisJeyJQR0Ff TCIsIE5VTEwsICJQR0FfTF9NdXgifSwNCisJeyJQR0FfTCIsIE5VTEwsICJQR0FfTF9FTiJ9LA0K Kwl7IlBHQV9SIiwgTlVMTCwgIlBHQV9SX011eCJ9LA0KKwl7IlBHQV9SIiwgTlVMTCwgIlBHQV9S X0VOIn0sDQorCXsiUEdBXzMiLCBOVUxMLCAiUEdBXzNfTXV4In0sDQorCXsiUEdBXzMiLCBOVUxM LCAiUEdBXzNfRU4ifSwNCisNCisJeyJQR0FfTCIsIE5VTEwsICJEQ0NfQ0xLIiwgbXRfZGNjX2Ns a19jb25uZWN0fSwNCisJeyJQR0FfUiIsIE5VTEwsICJEQ0NfQ0xLIiwgbXRfZGNjX2Nsa19jb25u ZWN0fSwNCisJeyJQR0FfMyIsIE5VTEwsICJEQ0NfQ0xLIiwgbXRfZGNjX2Nsa19jb25uZWN0fSwN CisNCisJeyJQR0FfTF9NdXgiLCAiQUlOMCIsICJBSU4wIn0sDQorCXsiUEdBX0xfTXV4IiwgIkFJ TjEiLCAiQUlOMSJ9LA0KKw0KKwl7IlBHQV9SX011eCIsICJBSU4wIiwgIkFJTjAifSwNCisJeyJQ R0FfUl9NdXgiLCAiQUlOMiIsICJBSU4yIn0sDQorCXsiUEdBX1JfTXV4IiwgIkFJTjMiLCAiQUlO MyJ9LA0KKw0KKwl7IlBHQV8zX011eCIsICJBSU4yIiwgIkFJTjIifSwNCisJeyJQR0FfM19NdXgi LCAiQUlOMyIsICJBSU4zIn0sDQorDQorCXsiQUlOMCIsIE5VTEwsICJNSUNfQklBU18wIn0sDQor CXsiQUlOMSIsIE5VTEwsICJNSUNfQklBU18xIn0sDQorCXsiQUlOMiIsIE5VTEwsICJNSUNfQklB U18wIn0sDQorCXsiQUlOMiIsIE5VTEwsICJNSUNfQklBU18yIn0sDQorCXsiQUlOMyIsIE5VTEws ICJNSUNfQklBU18yIn0sDQorDQorCS8qIERMIFN1cHBseSAqLw0KKwl7IkRMIFBvd2VyIFN1cHBs eSIsIE5VTEwsICJDTEtfQlVGIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIkxET19W QVVEMTgifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQVVER0xCIn0sDQorCXsiREwg UG93ZXIgU3VwcGx5IiwgTlVMTCwgIkNMS1NRIEF1ZGlvIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5 IiwgTlVMTCwgIkFVRE5DUF9DSyJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBseSIsIE5VTEwsICJaQ0Qx M01fQ0sifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQVVEX0NLIn0sDQorCXsiREwg UG93ZXIgU3VwcGx5IiwgTlVMTCwgIkFVRElGX0NLIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5Iiwg TlVMTCwgIkVTRF9SRVNJU1QifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiTERPIn0s DQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVMTCwgIkxET19SRU1PVEUifSwNCisJeyJETCBQb3dl ciBTdXBwbHkiLCBOVUxMLCAiTlZfUkVHVUxBVE9SIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5Iiwg TlVMTCwgIklCSVNUIn0sDQorDQorCS8qIERMIERpZ2l0YWwgU3VwcGx5ICovDQorCXsiREwgRGln aXRhbCBDbG9jayIsIE5VTEwsICJBVURJT19UT1BfQUZFX0NUTCJ9LA0KKwl7IkRMIERpZ2l0YWwg Q2xvY2siLCBOVUxMLCAiQVVESU9fVE9QX0RBQ19DVEwifSwNCisJeyJETCBEaWdpdGFsIENsb2Nr IiwgTlVMTCwgIkFVRElPX1RPUF9QV1JfQ0xLIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5V TEwsICJBVURJT19UT1BfUEROX1JFU0VSVkVEIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5V TEwsICJTRE1fRklGT19DTEsifSwNCisJeyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIk5DUCJ9 LA0KKwl7IkRMIERpZ2l0YWwgQ2xvY2siLCBOVUxMLCAiQUZFX09OIn0sDQorCXsiREwgRGlnaXRh bCBDbG9jayIsIE5VTEwsICJBRkVfRExfU1JDIn0sDQorDQorCXsiREwgRGlnaXRhbCBDbG9jayBD SF8xXzIiLCBOVUxMLCAiREwgRGlnaXRhbCBDbG9jayJ9LA0KKwl7IkRMIERpZ2l0YWwgQ2xvY2sg Q0hfMV8yIiwgTlVMTCwgIlNETSJ9LA0KKw0KKwl7IkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMyIsIE5V TEwsICJETCBEaWdpdGFsIENsb2NrIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayBDSF8zIiwgTlVM TCwgIlNETV8zUkQifSwNCisNCisJeyJBSUZfUlgiLCBOVUxMLCAiREwgRGlnaXRhbCBDbG9jayBD SF8xXzIifSwNCisNCisJeyJBSUYyX1JYIiwgTlVMTCwgIkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMyJ9 LA0KKw0KKwkvKiBETCBQYXRoICovDQorCXsiREFDIEluIE11eCIsICJOb3JtYWwgUGF0aCIsICJB SUZfUlgifSwNCisJeyJEQUMgSW4gTXV4IiwgIlNnZW4iLCAiU0dFTiBETCJ9LA0KKwl7IlNHRU4g REwiLCBOVUxMLCAiU0dFTiBETCBTUkMifSwNCisJeyJTR0VOIERMIiwgTlVMTCwgIlNHRU4gTVVU RSJ9LA0KKwl7IlNHRU4gREwiLCBOVUxMLCAiU0dFTiBETCBFbmFibGUifSwNCisJeyJTR0VOIERM IiwgTlVMTCwgIkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMV8yIn0sDQorCXsiU0dFTiBETCIsIE5VTEws ICJETCBEaWdpdGFsIENsb2NrIENIXzMifSwNCisJeyJTR0VOIERMIiwgTlVMTCwgIkFVRElPX1RP UF9QRE5fQUZFX1RFU1RNT0RFTCJ9LA0KKw0KKwl7IkRBQ0wiLCBOVUxMLCAiREFDIEluIE11eCJ9 LA0KKwl7IkRBQ0wiLCBOVUxMLCAiREwgUG93ZXIgU3VwcGx5In0sDQorDQorCXsiREFDUiIsIE5V TEwsICJEQUMgSW4gTXV4In0sDQorCXsiREFDUiIsIE5VTEwsICJETCBQb3dlciBTdXBwbHkifSwN CisNCisJLyogREFDIDNSRCAqLw0KKwl7IkRBQyBJbiBNdXgiLCAiTm9ybWFsIFBhdGgiLCAiQUlG Ml9SWCJ9LA0KKwl7IkRBQ18zUkQiLCBOVUxMLCAiREFDIEluIE11eCJ9LA0KKwl7IkRBQ18zUkQi LCBOVUxMLCAiREwgUG93ZXIgU3VwcGx5In0sDQorDQorCS8qIExpbmVvdXQgUGF0aCAqLw0KKwl7 IkxPTCBNdXgiLCAiUGxheWJhY2siLCAiREFDXzNSRCJ9LA0KKwl7IkxJTkVPVVQgTCIsIE5VTEws ICJMT0wgTXV4In0sDQorDQorCS8qIEhlYWRwaG9uZSBQYXRoICovDQorCXsiSFBfU3VwcGx5Iiwg TlVMTCwgIkhQX1BVTExfRE9XTiJ9LA0KKwl7IkhQX1N1cHBseSIsIE5VTEwsICJIUF9NVVRFIn0s DQorCXsiSFBfU3VwcGx5IiwgTlVMTCwgIkhQX0RBTVAifSwNCisJeyJIUCBNdXgiLCBOVUxMLCAi SFBfU3VwcGx5In0sDQorDQorCXsiSFAgTXV4IiwgIkF1ZGlvIFBsYXliYWNrIiwgIkRBQ0wifSwN CisJeyJIUCBNdXgiLCAiQXVkaW8gUGxheWJhY2siLCAiREFDUiJ9LA0KKwl7IkhQIE11eCIsICJI UCBJbXBlZGFuY2UiLCAiREFDTCJ9LA0KKwl7IkhQIE11eCIsICJIUCBJbXBlZGFuY2UiLCAiREFD UiJ9LA0KKwl7IkhQIE11eCIsICJMb3VkU1BLIFBsYXliYWNrIiwgIkRBQ0wifSwNCisJeyJIUCBN dXgiLCAiTG91ZFNQSyBQbGF5YmFjayIsICJEQUNSIn0sDQorDQorCXsiSGVhZHBob25lIEwiLCBO VUxMLCAiSFAgTXV4In0sDQorCXsiSGVhZHBob25lIFIiLCBOVUxMLCAiSFAgTXV4In0sDQorCXsi SGVhZHBob25lIEwgRXh0IFNwayBBbXAiLCBOVUxMLCAiSFAgTXV4In0sDQorCXsiSGVhZHBob25l IFIgRXh0IFNwayBBbXAiLCBOVUxMLCAiSFAgTXV4In0sDQorDQorCS8qIFJlY2VpdmVyIFBhdGgg Ki8NCisJeyJSQ1YgTXV4IiwgIlZvaWNlIFBsYXliYWNrIiwgIkRBQ0wifSwNCisJeyJSZWNlaXZl ciIsIE5VTEwsICJSQ1YgTXV4In0sDQorfTsNCisNCitzdGF0aWMgaW50IG10NjM1OV9jb2RlY19k YWlfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLA0KKwkJCQkg ICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcywNCisJCQkJICAgICAgc3RydWN0 IHNuZF9zb2NfZGFpICpkYWkpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50 ID0gZGFpLT5jb21wb25lbnQ7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2Nf Y29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJdW5zaWduZWQgaW50IHJhdGUgPSBwYXJh bXNfcmF0ZShwYXJhbXMpOw0KKwlpbnQgaWQgPSBkYWktPmlkOw0KKw0KKwlkZXZfZGJnKHByaXYt PmRldiwgIiVzKCksIGlkICVkLCBzdWJzdHJlYW0tPnN0cmVhbSAlZCwgcmF0ZSAlZCwgbnVtYmVy ICVkXG4iLA0KKwkJX19mdW5jX18sIGlkLCBzdWJzdHJlYW0tPnN0cmVhbSwgcmF0ZSwgc3Vic3Ry ZWFtLT5udW1iZXIpOw0KKw0KKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NU UkVBTV9QTEFZQkFDSykNCisJCXByaXYtPmRsX3JhdGVbaWRdID0gcmF0ZTsNCisJZWxzZSBpZiAo c3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFKQ0KKwkJcHJpdi0+ dWxfcmF0ZVtpZF0gPSByYXRlOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBt dDYzNTlfY29kZWNfZGFpX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJl YW0sDQorCQkJCSAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkNCit7DQorCXN0cnVjdCBzbmRf c29jX2NvbXBvbmVudCAqY21wbnQgPSBkYWktPmNvbXBvbmVudDsNCisJc3RydWN0IG10NjM1OV9w cml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlk ZXZfZGJnKHByaXYtPmRldiwgIiVzIHN0cmVhbSAlZFxuIiwgX19mdW5jX18sIHN1YnN0cmVhbS0+ c3RyZWFtKTsNCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExB WUJBQ0spDQorCQltdDYzNTlfc2V0X3BsYXliYWNrX2dwaW8ocHJpdik7DQorCWVsc2UgaWYgKHN1 YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSkNCisJCW10NjM1OV9z ZXRfY2FwdHVyZV9ncGlvKHByaXYpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHZv aWQgbXQ2MzU5X2NvZGVjX2RhaV9zaHV0ZG93bihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1 YnN0cmVhbSwNCisJCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpDQorew0KKwlzdHJ1 Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gZGFpLT5jb21wb25lbnQ7DQorCXN0cnVjdCBt dDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsN CisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcyBzdHJlYW0gJWRcbiIsIF9fZnVuY19fLCBzdWJz dHJlYW0tPnN0cmVhbSk7DQorCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RS RUFNX1BMQVlCQUNLKQ0KKwkJbXQ2MzU5X3Jlc2V0X3BsYXliYWNrX2dwaW8ocHJpdik7DQorCWVs c2UgaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSkNCisJ CW10NjM1OV9yZXNldF9jYXB0dXJlX2dwaW8ocHJpdik7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBz dHJ1Y3Qgc25kX3NvY19kYWlfb3BzIG10NjM1OV9jb2RlY19kYWlfb3BzID0gew0KKwkuaHdfcGFy YW1zID0gbXQ2MzU5X2NvZGVjX2RhaV9od19wYXJhbXMsDQorCS5zdGFydHVwID0gbXQ2MzU5X2Nv ZGVjX2RhaV9zdGFydHVwLA0KKwkuc2h1dGRvd24gPSBtdDYzNTlfY29kZWNfZGFpX3NodXRkb3du LA0KK307DQorDQorI2RlZmluZSBNVDYzNTlfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TMTZf TEUgfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSB8XA0KKwkJCVNORFJWX1BDTV9GTVRCSVRfVTE2 X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9VMTZfQkUgfFwNCisJCQlTTkRSVl9QQ01fRk1UQklUX1My NF9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzI0X0JFIHxcDQorCQkJU05EUlZfUENNX0ZNVEJJVF9V MjRfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1UyNF9CRSB8XA0KKwkJCVNORFJWX1BDTV9GTVRCSVRf UzMyX0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfQkUgfFwNCisJCQlTTkRSVl9QQ01fRk1UQklU X1UzMl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfVTMyX0JFKQ0KKw0KK3N0YXRpYyBzdHJ1Y3Qgc25k X3NvY19kYWlfZHJpdmVyIG10NjM1OV9kYWlfZHJpdmVyW10gPSB7DQorCXsNCisJCS5pZCA9IE1U NjM1OV9BSUZfMSwNCisJCS5uYW1lID0gIm10NjM1OS1zbmQtY29kZWMtYWlmMSIsDQorCQkucGxh eWJhY2sgPSB7DQorCQkJLnN0cmVhbV9uYW1lID0gIkFJRjEgUGxheWJhY2siLA0KKwkJCS5jaGFu bmVsc19taW4gPSAxLA0KKwkJCS5jaGFubmVsc19tYXggPSAyLA0KKwkJCS5yYXRlcyA9IFNORFJW X1BDTV9SQVRFXzgwMDBfNDgwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfOTYwMDAgfA0KKwkJ CQkgU05EUlZfUENNX1JBVEVfMTkyMDAwLA0KKwkJCS5mb3JtYXRzID0gTVQ2MzU5X0ZPUk1BVFMs DQorCQl9LA0KKwkJLmNhcHR1cmUgPSB7DQorCQkJLnN0cmVhbV9uYW1lID0gIkFJRjEgQ2FwdHVy ZSIsDQorCQkJLmNoYW5uZWxzX21pbiA9IDEsDQorCQkJLmNoYW5uZWxzX21heCA9IDIsDQorCQkJ LnJhdGVzID0gU05EUlZfUENNX1JBVEVfODAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV8xNjAw MCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV8zMjAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV80 ODAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV85NjAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFU RV8xOTIwMDAsDQorCQkJLmZvcm1hdHMgPSBNVDYzNTlfRk9STUFUUywNCisJCX0sDQorCQkub3Bz ID0gJm10NjM1OV9jb2RlY19kYWlfb3BzLA0KKwl9LA0KKwl7DQorCQkuaWQgPSBNVDYzNTlfQUlG XzIsDQorCQkubmFtZSA9ICJtdDYzNTktc25kLWNvZGVjLWFpZjIiLA0KKwkJLnBsYXliYWNrID0g ew0KKwkJCS5zdHJlYW1fbmFtZSA9ICJBSUYyIFBsYXliYWNrIiwNCisJCQkuY2hhbm5lbHNfbWlu ID0gMSwNCisJCQkuY2hhbm5lbHNfbWF4ID0gMiwNCisJCQkucmF0ZXMgPSBTTkRSVl9QQ01fUkFU RV84MDAwXzQ4MDAwIHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzk2MDAwIHwNCisJCQkJIFNORFJW X1BDTV9SQVRFXzE5MjAwMCwNCisJCQkuZm9ybWF0cyA9IE1UNjM1OV9GT1JNQVRTLA0KKwkJfSwN CisJCS5jYXB0dXJlID0gew0KKwkJCS5zdHJlYW1fbmFtZSA9ICJBSUYyIENhcHR1cmUiLA0KKwkJ CS5jaGFubmVsc19taW4gPSAxLA0KKwkJCS5jaGFubmVsc19tYXggPSAyLA0KKwkJCS5yYXRlcyA9 IFNORFJWX1BDTV9SQVRFXzgwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfMTYwMDAgfA0KKwkJ CQkgU05EUlZfUENNX1JBVEVfMzIwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfNDgwMDAsDQor CQkJLmZvcm1hdHMgPSBNVDYzNTlfRk9STUFUUywNCisJCX0sDQorCQkub3BzID0gJm10NjM1OV9j b2RlY19kYWlfb3BzLA0KKwl9LA0KK307DQorDQorc3RhdGljIGludCBtdDYzNTlfY29kZWNfaW5p dF9yZWcoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCkNCit7DQorCXN0cnVjdCBtdDYz NTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisN CisJLyogZW5hYmxlIGNsayBidWYgKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0RDWE9fQ1cxMiwNCisJCQkgICAweDEgPDwgUkdfWE9fQVVESU9fRU5fTV9TRlQs DQorCQkJICAgMHgxIDw8IFJHX1hPX0FVRElPX0VOX01fU0ZUKTsNCisNCisJLyogc2V0IHRob3Nl IG5vdCBjb250cm9sbGVkIGJ5IGRhcG0gd2lkZ2V0ICovDQorDQorCS8qIGF1ZGlvIGNsayBzb3Vy Y2UgZnJvbSBpbnRlcm5hbCBkY3hvICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIzLA0KKwkJCSAgIFJHX0NMS1NRX0lOX1NFTF9URVNU X01BU0tfU0ZULA0KKwkJCSAgIDB4MCk7DQorDQorCS8qIERpc2FibGUgSGVhZHBob25lTC9IZWFk cGhvbmVSIHNob3J0IGNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCSAgIFJHX0FVREhQTFND RElTQUJMRV9WQVVEUDMyX01BU0tfU0ZULA0KKwkJCSAgIDB4MSA8PCBSR19BVURIUExTQ0RJU0FC TEVfVkFVRFAzMl9TRlQpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCSAgIFJHX0FVREhQUlNDRElTQUJMRV9WQVVEUDMyX01B U0tfU0ZULA0KKwkJCSAgIDB4MSA8PCBSR19BVURIUFJTQ0RJU0FCTEVfVkFVRFAzMl9TRlQpOw0K KwkvKiBEaXNhYmxlIHZvaWNlIHNob3J0IGNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwlyZWdtYXBf dXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LA0KKwkJCSAg IFJHX0FVREhTU0NESVNBQkxFX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJICAgMHgxIDw8IFJHX0FV REhTU0NESVNBQkxFX1ZBVURQMzJfU0ZUKTsNCisJLyogZGlzYWJsZSBMTyBidWZmZXIgbGVmdCBz aG9ydCBjaXJjdWl0IHByb3RlY3Rpb24gKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJl Z21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONywNCisJCQkgICBSR19BVURMT0xTQ0RJU0FCTEVf VkFVRFAzMl9NQVNLX1NGVCwNCisJCQkgICAweDEgPDwgUkdfQVVETE9MU0NESVNBQkxFX1ZBVURQ MzJfU0ZUKTsNCisNCisJLyogc2V0IGdwaW8gKi8NCisJbXQ2MzU5X3Jlc2V0X3BsYXliYWNrX2dw aW8ocHJpdik7DQorCW10NjM1OV9yZXNldF9jYXB0dXJlX2dwaW8ocHJpdik7DQorDQorCS8qIGhw IGhpZmkgbW9kZSwgZGVmYXVsdCBub3JtYWwgbW9kZSAqLw0KKwlwcml2LT5ocF9oaWZpX21vZGUg PSAwOw0KKw0KKwkvKiBEaXNhYmxlIEFVRF9aQ0QgKi8NCisJemNkX2Rpc2FibGUocHJpdik7DQor DQorCS8qIGRpc2FibGUgY2xrIGJ1ZiAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVn bWFwLCBNVDYzNTlfRENYT19DVzEyLA0KKwkJCSAgIDB4MSA8PCBSR19YT19BVURJT19FTl9NX1NG VCwNCisJCQkgICAweDAgPDwgUkdfWE9fQVVESU9fRU5fTV9TRlQpOw0KKw0KKwlyZXR1cm4gMDsN Cit9DQorDQorc3RhdGljIGludCBtdDYzNTlfY29kZWNfcHJvYmUoc3RydWN0IHNuZF9zb2NfY29t cG9uZW50ICpjbXBudCkNCit7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2Nf Y29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc25kX3NvY19jb21wb25lbnRfaW5p dF9yZWdtYXAoY21wbnQsIHByaXYtPnJlZ21hcCk7DQorDQorCXJldHVybiBtdDYzNTlfY29kZWNf aW5pdF9yZWcoY21wbnQpOw0KK30NCisNCitzdGF0aWMgdm9pZCBtdDYzNTlfY29kZWNfcmVtb3Zl KHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQpDQorew0KKwlzbmRfc29jX2NvbXBvbmVu dF9leGl0X3JlZ21hcChjbXBudCk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9E Ql9TQ0FMRShocF9wbGF5YmFja190bHYsIC0yMjAwLCAxMDAsIDApOw0KK3N0YXRpYyBjb25zdCBE RUNMQVJFX1RMVl9EQl9TQ0FMRShwbGF5YmFja190bHYsIC0xMDAwLCAxMDAsIDApOw0KK3N0YXRp YyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShjYXB0dXJlX3RsdiwgMCwgNjAwLCAwKTsNCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgbXQ2MzU5X3NuZF9jb250cm9s c1tdID0gew0KKwkvKiBkbCBwZ2EgZ2FpbiAqLw0KKwlTT0NfRE9VQkxFX0VYVF9UTFYoIkhlYWRz ZXQgVm9sdW1lIiwNCisJCQkgICBNVDYzNTlfWkNEX0NPTjIsIDAsIDcsIDB4MUUsIDAsDQorCQkJ ICAgc25kX3NvY19nZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csDQorCQkJICAgaHBfcGxheWJh Y2tfdGx2KSwNCisJU09DX0RPVUJMRV9FWFRfVExWKCJMaW5lb3V0IFZvbHVtZSIsDQorCQkJICAg TVQ2MzU5X1pDRF9DT04xLCAwLCA3LCAweDEyLCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0X3ZvbHN3 LCBtdDYzNTlfcHV0X3ZvbHN3LCBwbGF5YmFja190bHYpLA0KKwlTT0NfU0lOR0xFX0VYVF9UTFYo IkhhbmRzZXQgVm9sdW1lIiwNCisJCQkgICBNVDYzNTlfWkNEX0NPTjMsIDAsIDB4MTIsIDAsDQor CQkJICAgc25kX3NvY19nZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csIHBsYXliYWNrX3Rsdiks DQorDQorCS8qIHVsIHBnYSBnYWluICovDQorCVNPQ19TSU5HTEVfRVhUX1RMVigiUEdBMSBWb2x1 bWUiLA0KKwkJCSAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsIFJHX0FVRFBSRUFNUExHQUlOX1NG VCwgNCwgMCwNCisJCQkgICBzbmRfc29jX2dldF92b2xzdywgbXQ2MzU5X3B1dF92b2xzdywgY2Fw dHVyZV90bHYpLA0KKwlTT0NfU0lOR0xFX0VYVF9UTFYoIlBHQTIgVm9sdW1lIiwNCisJCQkgICBN VDYzNTlfQVVERU5DX0FOQV9DT04xLCBSR19BVURQUkVBTVBSR0FJTl9TRlQsIDQsIDAsDQorCQkJ ICAgc25kX3NvY19nZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csIGNhcHR1cmVfdGx2KSwNCisJ U09DX1NJTkdMRV9FWFRfVExWKCJQR0EzIFZvbHVtZSIsDQorCQkJICAgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMiwgUkdfQVVEUFJFQU1QM0dBSU5fU0ZULCA0LCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0 X3ZvbHN3LCBtdDYzNTlfcHV0X3ZvbHN3LCBjYXB0dXJlX3RsdiksDQorfTsNCisNCitzdGF0aWMg Y29uc3Qgc3RydWN0IHNuZF9zb2NfY29tcG9uZW50X2RyaXZlciBtdDYzNTlfc29jX2NvbXBvbmVu dF9kcml2ZXIgPSB7DQorCS5uYW1lID0gQ09ERUNfTVQ2MzU5X05BTUUsDQorCS5wcm9iZSA9IG10 NjM1OV9jb2RlY19wcm9iZSwNCisJLnJlbW92ZSA9IG10NjM1OV9jb2RlY19yZW1vdmUsDQorCS5j b250cm9scyA9IG10NjM1OV9zbmRfY29udHJvbHMsDQorCS5udW1fY29udHJvbHMgPSBBUlJBWV9T SVpFKG10NjM1OV9zbmRfY29udHJvbHMpLA0KKwkuZGFwbV93aWRnZXRzID0gbXQ2MzU5X2RhcG1f d2lkZ2V0cywNCisJLm51bV9kYXBtX3dpZGdldHMgPSBBUlJBWV9TSVpFKG10NjM1OV9kYXBtX3dp ZGdldHMpLA0KKwkuZGFwbV9yb3V0ZXMgPSBtdDYzNTlfZGFwbV9yb3V0ZXMsDQorCS5udW1fZGFw bV9yb3V0ZXMgPSBBUlJBWV9TSVpFKG10NjM1OV9kYXBtX3JvdXRlcyksDQorfTsNCisNCitzdGF0 aWMgaW50IG10NjM1OV9wYXJzZV9kdChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwlp bnQgcmV0Ow0KKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBwcml2LT5kZXY7DQorDQorCXJldCA9IG9m X3Byb3BlcnR5X3JlYWRfdTMyKGRldi0+b2Zfbm9kZSwgIm1lZGlhdGVrLGRtaWMtbW9kZSIsDQor CQkJCSAgICZwcml2LT5kbWljX29uZV93aXJlX21vZGUpOw0KKwlpZiAocmV0KSB7DQorCQlkZXZf d2Fybihwcml2LT5kZXYsICIlcygpIGZhaWxlZCB0byByZWFkIGRtaWMtbW9kZVxuIiwNCisJCQkg X19mdW5jX18pOw0KKwkJcHJpdi0+ZG1pY19vbmVfd2lyZV9tb2RlID0gMDsNCisJfQ0KKw0KKwly ZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihkZXYtPm9mX25vZGUsICJtZWRpYXRlayxtaWMtdHlw ZS0wIiwNCisJCQkJICAgJnByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzBdKTsNCisJaWYg KHJldCkgew0KKwkJZGV2X3dhcm4ocHJpdi0+ZGV2LCAiJXMoKSBmYWlsZWQgdG8gcmVhZCBtaWMt dHlwZS0wXG4iLA0KKwkJCSBfX2Z1bmNfXyk7DQorCQlwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNf VFlQRV8wXSA9IE1JQ19UWVBFX01VWF9JRExFOw0KKwl9DQorDQorCXJldCA9IG9mX3Byb3BlcnR5 X3JlYWRfdTMyKGRldi0+b2Zfbm9kZSwgIm1lZGlhdGVrLG1pYy10eXBlLTEiLA0KKwkJCQkgICAm cHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMV0pOw0KKwlpZiAocmV0KSB7DQorCQlkZXZf d2Fybihwcml2LT5kZXYsICIlcygpIGZhaWxlZCB0byByZWFkIG1pYy10eXBlLTFcbiIsDQorCQkJ IF9fZnVuY19fKTsNCisJCXByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzFdID0gTUlDX1RZ UEVfTVVYX0lETEU7DQorCX0NCisNCisJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoZGV2LT5v Zl9ub2RlLCAibWVkaWF0ZWssbWljLXR5cGUtMiIsDQorCQkJCSAgICZwcml2LT5tdXhfc2VsZWN0 W01VWF9NSUNfVFlQRV8yXSk7DQorCWlmIChyZXQpIHsNCisJCWRldl93YXJuKHByaXYtPmRldiwg IiVzKCkgZmFpbGVkIHRvIHJlYWQgbWljLXR5cGUtMlxuIiwNCisJCQkgX19mdW5jX18pOw0KKwkJ cHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMl0gPSBNSUNfVFlQRV9NVVhfSURMRTsNCisJ fQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdDYzNTlfcGxhdGZvcm1fZHJp dmVyX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgbXQ2 MzU5X3ByaXYgKnByaXY7DQorCWludCByZXQ7DQorCXN0cnVjdCBtdDYzOTdfY2hpcCAqbXQ2Mzk3 ID0gZGV2X2dldF9kcnZkYXRhKHBkZXYtPmRldi5wYXJlbnQpOw0KKw0KKwlkZXZfZGJnKCZwZGV2 LT5kZXYsICIlcygpLCBkZXYgbmFtZSAlc1xuIiwNCisJCV9fZnVuY19fLCBkZXZfbmFtZSgmcGRl di0+ZGV2KSk7DQorDQorCXByaXYgPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpw cml2KSwgR0ZQX0tFUk5FTCk7DQorCWlmICghcHJpdikNCisJCXJldHVybiAtRU5PTUVNOw0KKw0K Kwlwcml2LT5yZWdtYXAgPSBtdDYzOTctPnJlZ21hcDsNCisJaWYgKElTX0VSUihwcml2LT5yZWdt YXApKQ0KKwkJcmV0dXJuIFBUUl9FUlIocHJpdi0+cmVnbWFwKTsNCisNCisJZGV2X3NldF9kcnZk YXRhKCZwZGV2LT5kZXYsIHByaXYpOw0KKwlwcml2LT5kZXYgPSAmcGRldi0+ZGV2Ow0KKw0KKwlw cml2LT5hdmRkX3JlZyA9IGRldm1fcmVndWxhdG9yX2dldCgmcGRldi0+ZGV2LCAidmF1ZDE4Iik7 DQorCWlmIChJU19FUlIocHJpdi0+YXZkZF9yZWcpKSB7DQorCQlkZXZfZXJyKCZwZGV2LT5kZXYs ICIlcygpLCBoYXZlIG5vIHZhdWQxOCBzdXBwbHk6ICVsZCIsDQorCQkJX19mdW5jX18sIFBUUl9F UlIocHJpdi0+YXZkZF9yZWcpKTsNCisJCXJldHVybiBQVFJfRVJSKHByaXYtPmF2ZGRfcmVnKTsN CisJfQ0KKw0KKwlyZXQgPSByZWd1bGF0b3JfZW5hYmxlKHByaXYtPmF2ZGRfcmVnKTsNCisJaWYg KHJldCkgew0KKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiJXMoKSwgZmFpbGVkIHRvIGVuYWJsZSBy ZWd1bGF0b3IhXG4iLA0KKwkJCV9fZnVuY19fKTsNCisJCXJldHVybiByZXQ7DQorCX0NCisNCisJ cmV0ID0gbXQ2MzU5X3BhcnNlX2R0KHByaXYpOw0KKwlpZiAocmV0KSB7DQorCQlkZXZfd2Fybigm cGRldi0+ZGV2LCAiJXMoKSBmYWlsZWQgdG8gcGFyc2UgZHRzXG4iLCBfX2Z1bmNfXyk7DQorCQly ZXR1cm4gcmV0Ow0KKwl9DQorDQorCXJldHVybiBkZXZtX3NuZF9zb2NfcmVnaXN0ZXJfY29tcG9u ZW50KCZwZGV2LT5kZXYsDQorCQkJCQkgICAgICAgJm10NjM1OV9zb2NfY29tcG9uZW50X2RyaXZl ciwNCisJCQkJCSAgICAgICBtdDYzNTlfZGFpX2RyaXZlciwNCisJCQkJCSAgICAgICBBUlJBWV9T SVpFKG10NjM1OV9kYWlfZHJpdmVyKSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXQ2MzU5X3BsYXRm b3JtX2RyaXZlcl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0 cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YSgmcGRldi0+ZGV2KTsNCisJ aW50IHJldDsNCisNCisJZGV2X2RiZygmcGRldi0+ZGV2LCAiJXMoKSwgZGV2IG5hbWUgJXNcbiIs DQorCQlfX2Z1bmNfXywgZGV2X25hbWUoJnBkZXYtPmRldikpOw0KKw0KKwlyZXQgPSByZWd1bGF0 b3JfZGlzYWJsZShwcml2LT5hdmRkX3JlZyk7DQorCWlmIChyZXQpIHsNCisJCWRldl9lcnIoJnBk ZXYtPmRldiwgIiVzKCksIGZhaWxlZCB0byBkaXNhYmxlIHJlZ3VsYXRvciFcbiIsDQorCQkJX19m dW5jX18pOw0KKwkJcmV0dXJuIHJldDsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXQ2MzU5X3BsYXRmb3JtX2RyaXZlciA9IHsNCisJ LmRyaXZlciA9IHsNCisJCS5uYW1lID0gIm10NjM1OS1zb3VuZCIsDQorCX0sDQorCS5wcm9iZSA9 IG10NjM1OV9wbGF0Zm9ybV9kcml2ZXJfcHJvYmUsDQorCS5yZW1vdmUgPSBtdDYzNTlfcGxhdGZv cm1fZHJpdmVyX3JlbW92ZSwNCit9Ow0KKw0KK21vZHVsZV9wbGF0Zm9ybV9kcml2ZXIobXQ2MzU5 X3BsYXRmb3JtX2RyaXZlcikNCisNCisvKiBNb2R1bGUgaW5mb3JtYXRpb24gKi8NCitNT0RVTEVf REVTQ1JJUFRJT04oIk1UNjM1OSBBTFNBIFNvQyBjb2RlYyBkcml2ZXIiKTsNCitNT0RVTEVfQVVU SE9SKCJLYWlDaGllaCBDaHVhbmcgPGthaWNoaWVoLmNodWFuZ0BtZWRpYXRlay5jb20+Iik7DQor TU9EVUxFX0FVVEhPUigiRWFzb24gWWVuIDxlYXNvbi55ZW5AbWVkaWF0ZWsuY29tPiIpOw0KK01P RFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsNCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL210 NjM1OS5oIGIvc291bmQvc29jL2NvZGVjcy9tdDYzNTkuaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMDAwMDAuLjM3OTJlNTM0YTkxYjYNCi0tLSAvZGV2L251bGwNCisrKyBi L3NvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmgNCkBAIC0wLDAgKzEsMjY0MCBAQA0KKy8qIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovDQorLyoNCisgKiBDb3B5cmlnaHQgKEMpIDIw MjAgTWVkaWFUZWsgSW5jLg0KKyAqIEF1dGhvcjogQXJndXMgTGluIDxhcmd1cy5saW5AbWVkaWF0 ZWsuY29tPg0KKyAqLw0KKw0KKyNpZm5kZWYgX01UNjM1OV9IXw0KKyNkZWZpbmUgX01UNjM1OV9I Xw0KKw0KKy8qKioqKioqKioqKioqUmVnaXN0ZXIgQml0IERlZmluZSoqKioqKioqKioqKiovDQor I2RlZmluZSBQTUlDX0FDQ0RFVF9JUlFfU0hJRlQJCQkJMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRf RUlOVDBfSVJRX1NISUZUCQkJMg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfSVJRX1NISUZU CQkJMw0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfSVJRX0NMUl9TSElGVAkJCTgNCisjZGVmaW5lIFBN SUNfQUNDREVUX0VJTlQwX0lSUV9DTFJfU0hJRlQJCQkxMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRf RUlOVDFfSVJRX0NMUl9TSElGVAkJCTExDQorI2RlZmluZSBQTUlDX1JHX0lOVF9TVEFUVVNfQUND REVUX1NISUZUCQkJNQ0KKyNkZWZpbmUgUE1JQ19SR19JTlRfU1RBVFVTX0FDQ0RFVF9FSU5UMF9T SElGVAkJNg0KKyNkZWZpbmUgUE1JQ19SR19JTlRfU1RBVFVTX0FDQ0RFVF9FSU5UMV9TSElGVAkJ Nw0KKyNkZWZpbmUgUE1JQ19SR19FSU5UMENPTkZJR0FDQ0RFVF9TSElGVAkJCTExDQorI2RlZmlu ZSBQTUlDX1JHX0VJTlQxQ09ORklHQUNDREVUX1NISUZUCQkJMA0KKyNkZWZpbmUgUE1JQ19BQ0NE RVRfRUlOVDBfSU5WRVJURVJfU1dfRU5fU0hJRlQJCTYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJ TlQxX0lOVkVSVEVSX1NXX0VOX1NISUZUCQk4DQorI2RlZmluZSBQTUlDX1JHX01URVNUX0VOX1NI SUZUCQkJCTgNCisjZGVmaW5lIFBNSUNfUkdfTVRFU1RfU0VMX1NISUZUCQkJCTkNCisjZGVmaW5l IFBNSUNfQUNDREVUX0VJTlQwX01fU1dfRU5fU0hJRlQJCQkxMA0KKyNkZWZpbmUgUE1JQ19BQ0NE RVRfRUlOVDFfTV9TV19FTl9TSElGVAkJCTExDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9D RU5fU1RBQkxFX1NISUZUCQk1DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMV9DRU5fU1RBQkxF X1NISUZUCQkxMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfREFfU1RBQkxFX1NISUZUCQkJMA0KKyNk ZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBfRU5fU1RBQkxFX1NISUZUCQkxDQorI2RlZmluZSBQTUlD X0FDQ0RFVF9FSU5UMF9DTVBFTl9TVEFCTEVfU0hJRlQJCTINCisjZGVmaW5lIFBNSUNfQUNDREVU X0VJTlQxX0VOX1NUQUJMRV9TSElGVAkJNg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfQ01Q RU5fU1RBQkxFX1NISUZUCQk3DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0NUVVJCT19TRUxf U0hJRlQJCTcNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX0NUVVJCT19TV19TSElGVAkJNw0K KyNkZWZpbmUgUE1JQ19SR19FSU5UQ09NUFZUSF9TSElGVAkJCTQNCisjZGVmaW5lIFBNSUNfUkdf RUlOVDBISVJFTkJfU0hJRlQJCQkxMg0KKyNkZWZpbmUgUE1JQ19SR19FSU5UME5PSFlTX1NISUZU CQkJMTANCisjZGVmaW5lIFBNSUNfQUNDREVUX1NXX0VOX1NISUZUCQkJCTANCisjZGVmaW5lIFBN SUNfQUNDREVUX0VJTlQwX01FTV9JTl9TSElGVAkJCTYNCisjZGVmaW5lIFBNSUNfQUNDREVUX01F TV9JTl9TSElGVAkJCTYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UwX1NISUZU CQkwDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0RFQk9VTkNFMV9TSElGVAkJNA0KKyNkZWZp bmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTJfU0hJRlQJCTgNCisjZGVmaW5lIFBNSUNfQUND REVUX0VJTlRfREVCT1VOQ0UzX1NISUZUCQkxMg0KKyNkZWZpbmUgUE1JQ19SR19BQ0NERVQyQVVY U1dFTl9TSElGVAkJCTE0DQorI2RlZmluZSBQTUlDX0FVREFDQ0RFVEFVWEFEQ1NXQ1RSTF9TRUxf U0hJRlQJCTkNCisjZGVmaW5lIFBNSUNfQVVEQUNDREVUQVVYQURDU1dDVFJMX1NXX1NISUZUCQkx MA0KKyNkZWZpbmUgUE1JQ19SR19FSU5UMENUVVJCT19TSElGVAkJCTUNCisjZGVmaW5lIFBNSUNf UkdfRUlOVDFDVFVSQk9fU0hJRlQJCQkxMw0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9NX1BM VUdfSU5fTlVNX1NISUZUCQkxMg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9NX0RFVEVDVF9F Tl9TSElGVAkJMTINCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX1NXX0VOX1NISUZUCQkJMg0K KyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfU1dfRU5fU0hJRlQJCQk0DQorI2RlZmluZSBQTUlD X0FDQ0RFVF9FSU5UX0NNUE1PVVRfU0VMX1NISUZUCQkxMg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRf RUlOVF9DTVBNRU5fU0VMX1NISUZUCQk2DQorI2RlZmluZSBQTUlDX1JHX0hQTE9VVFBVVFNUQkVO SF9WQVVEUDMyX1NISUZUCQkwDQorI2RlZmluZSBQTUlDX1JHX0hQUk9VVFBVVFNUQkVOSF9WQVVE UDMyX1NISUZUCQk0DQorI2RlZmluZSBQTUlDX1JHX0VJTlQwRU5fU0hJRlQJCQkJMg0KKyNkZWZp bmUgUE1JQ19SR19FSU5UMUVOX1NISUZUCQkJCTEwDQorI2RlZmluZSBQTUlDX1JHX05DUF9QRERJ U19FTl9TSElGVAkJCTANCisjZGVmaW5lIFBNSUNfUkdfQUNDREVUU1BBUkVfU0hJRlQJCQkwDQor I2RlZmluZSBQTUlDX1JHX0FDQ0RFVF9SU1RfU0hJRlQJCQkxDQorI2RlZmluZSBQTUlDX1JHX0FV RE1JQ0JJQVMxSFZFTl9TSElGVAkJCTEyDQorI2RlZmluZSBQTUlDX1JHX0FVRE1JQ0JJQVMxVlJF Rl9TSElGVAkJCTQNCisjZGVmaW5lIFBNSUNfUkdfQU5BTE9HRkRFTl9TSElGVAkJCTEyDQorI2Rl ZmluZSBQTUlDX1JHX0FVRE1JQ0JJQVMxRENTVzFQRU5fU0hJRlQJCTgNCisjZGVmaW5lIFBNSUNf UkdfQVVETUlDQklBUzFMT1dQRU5fU0hJRlQJCQkyDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9TRVFf SU5JVF9TSElGVAkJCTENCisjZGVmaW5lIFBNSUNfUkdfRUlOVENPTVBWVEhfTUFTSwkJCTB4Zg0K KyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBfTUVNX0lOX01BU0sJCQkweDMNCisjZGVmaW5lIFBN SUNfQUNDREVUX0VJTlRfREVCT1VOQ0UwX01BU0sJCQkweGYNCisjZGVmaW5lIFBNSUNfQUNDREVU X0VJTlRfREVCT1VOQ0UxX01BU0sJCQkweGYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVC T1VOQ0UyX01BU0sJCQkweGYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfREVCT1VOQ0UzX01B U0sJCQkweGYNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX0lSUV9TSElGVAkJCTINCisjZGVm aW5lIFBNSUNfQUNDREVUX0VJTlQxX0lSUV9TSElGVAkJCTMNCisNCisvKiBBVURFTkNfQU5BX0NP TjE2OiAqLw0KKyNkZWZpbmUgUkdfQVVEX01JQ0JJQVMxX0xPV1BfRU4JCUJJVChQTUlDX1JHX0FV RE1JQ0JJQVMxTE9XUEVOX1NISUZUKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTg6ICovDQorI2Rl ZmluZSBSR19BQ0NERVRfTU9ERV9BTkExMV9NT0RFMQkJCSgweDAwMGYpDQorI2RlZmluZSBSR19B Q0NERVRfTU9ERV9BTkExMV9NT0RFMgkJCSgweDAwOGYpDQorI2RlZmluZSBSR19BQ0NERVRfTU9E RV9BTkExMV9NT0RFNgkJCSgweDAwOGYpDQorDQorLyogQVVYQURDX0FEQzU6ICBBdXhhZGMgQ0g1 IHJlYWQgZGF0YSAqLw0KKyNkZWZpbmUgQVVYQURDX0RBVEFfUkRZX0NINQkJQklUKDE1KQ0KKyNk ZWZpbmUgQVVYQURDX0RBVEFfUFJPQ0VFRF9DSDUJCUJJVCgxNSkNCisjZGVmaW5lIEFVWEFEQ19E QVRBX01BU0sJCQkJKDB4MGZmZikNCisNCisvKiBBVVhBRENfUlFTVDBfU0VUOiAgQXV4YWRjIENI NSByZXF1ZXN0LCByZWxldmFudCAweDA3RUMgKi8NCisjZGVmaW5lIEFVWEFEQ19SUVNUX0NINV9T RVQJCUJJVCg1KQ0KKy8qIEFVWEFEQ19SUVNUMF9DTFI6ICBBdXhhZGMgQ0g1IHJlcXVlc3QsIHJl bGV2YW50IDB4MDdFQyAqLw0KKyNkZWZpbmUgQVVYQURDX1JRU1RfQ0g1X0NMUgkJQklUKDUpDQor DQorI2RlZmluZSBBQ0NERVRfQ0FMSV9NQVNLMAkJCQkoMHhmZikNCisjZGVmaW5lIEFDQ0RFVF9D QUxJX01BU0sxCQkJCSgweGZmIDw8IDgpDQorI2RlZmluZSBBQ0NERVRfQ0FMSV9NQVNLMgkJCQko MHhmZikNCisjZGVmaW5lIEFDQ0RFVF9DQUxJX01BU0szCQkJCSgweGZmIDw8IDgpDQorI2RlZmlu ZSBBQ0NERVRfQ0FMSV9NQVNLNAkJCQkoMHhmZikNCisNCisjZGVmaW5lIEFDQ0RFVF9FSU5UMV9J UlFfQ0xSX0IxMQlCSVQoUE1JQ19BQ0NERVRfRUlOVDFfSVJRX0NMUl9TSElGVCkNCisjZGVmaW5l IEFDQ0RFVF9FSU5UMF9JUlFfQ0xSX0IxMAlCSVQoUE1JQ19BQ0NERVRfRUlOVDBfSVJRX0NMUl9T SElGVCkNCisjZGVmaW5lIEFDQ0RFVF9FSU5UX0lSUV9DTFJfQjEwXzExCSgweDAzIDw8IFwNCisJ CQkJCSBQTUlDX0FDQ0RFVF9FSU5UMF9JUlFfQ0xSX1NISUZUKQ0KKyNkZWZpbmUgQUNDREVUX0lS UV9DTFJfQjgJCUJJVChQTUlDX0FDQ0RFVF9JUlFfQ0xSX1NISUZUKQ0KKw0KKyNkZWZpbmUgQUND REVUX0VJTlQxX0lSUV9CMwkJQklUKFBNSUNfQUNDREVUX0VJTlQxX0lSUV9TSElGVCkNCisjZGVm aW5lIEFDQ0RFVF9FSU5UMF9JUlFfQjIJCUJJVChQTUlDX0FDQ0RFVF9FSU5UMF9JUlFfU0hJRlQp DQorI2RlZmluZSBBQ0NERVRfRUlOVF9JUlFfQjJfQjMJCSgweDAzIDw8IFBNSUNfQUNDREVUX0VJ TlQwX0lSUV9TSElGVCkNCisjZGVmaW5lIEFDQ0RFVF9JUlFfQjAJCQlCSVQoUE1JQ19BQ0NERVRf SVJRX1NISUZUKQ0KKw0KKy8qIEFDQ0RFVF9DT04yNTogUk8sIGFjY2RldCBGU00gc3RhdGUsZXRj LiovDQorI2RlZmluZSBBQ0NERVRfU1RBVEVfTUVNX0lOX09GRlNFVAkoUE1JQ19BQ0NERVRfTUVN X0lOX1NISUZUKQ0KKyNkZWZpbmUgQUNDREVUX1NUQVRFX0FCX01BU0sJCQkJKDB4MDMpDQorI2Rl ZmluZSBBQ0NERVRfU1RBVEVfQUJfMDAJCQkJKDB4MDApDQorI2RlZmluZSBBQ0NERVRfU1RBVEVf QUJfMDEJCQkJKDB4MDEpDQorI2RlZmluZSBBQ0NERVRfU1RBVEVfQUJfMTAJCQkJKDB4MDIpDQor I2RlZmluZSBBQ0NERVRfU1RBVEVfQUJfMTEJCQkJKDB4MDMpDQorDQorLyogQUNDREVUX0NPTjE5 ICovDQorI2RlZmluZSBBQ0NERVRfRUlOVDBfU1RBQkxFX1ZBTCAoKDEgPDwgUE1JQ19BQ0NERVRf REFfU1RBQkxFX1NISUZUKSB8IFwNCisJCQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDBfRU5fU1RB QkxFX1NISUZUKSB8IFwNCisJCQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDBfQ01QRU5fU1RBQkxF X1NISUZUKSB8IFwNCisJCQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDBfQ0VOX1NUQUJMRV9TSElG VCkpDQorDQorI2RlZmluZSBBQ0NERVRfRUlOVDFfU1RBQkxFX1ZBTCAoKDEgPDwgUE1JQ19BQ0NE RVRfREFfU1RBQkxFX1NISUZUKSB8IFwNCisJCQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDFfRU5f U1RBQkxFX1NISUZUKSB8IFwNCisJCQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDFfQ01QRU5fU1RB QkxFX1NISUZUKSB8IFwNCisJCQkJKDEgPDwgUE1JQ19BQ0NERVRfRUlOVDFfQ0VOX1NUQUJMRV9T SElGVCkpDQorDQorLyogVGhlIGZvbGxvd2luZyBhcmUgdXNlZCBmb3IgbXQ2MzU5LmMgKi8NCisv KiBNVDYzNTlfRENYT19DVzEyICovDQorI2RlZmluZSBSR19YT19BVURJT19FTl9NX1NGVAkJCQkx Mw0KKw0KKy8qIExET19WQVVEMThfQ09OMCAqLw0KKyNkZWZpbmUgUkdfTERPX1ZBVUQxOF9FTl9T RlQJCQkJMA0KKyNkZWZpbmUgUkdfTERPX1ZBVUQxOF9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfTERPX1ZBVUQxOF9FTl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBVURfVE9QX0NL UEROX0NPTjAgKi8NCisjZGVmaW5lIFJHX1ZPVzEzTV9DS19QRE5fU0ZUCQkJCTEzDQorI2RlZmlu ZSBSR19WT1cxM01fQ0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19WT1cxM01fQ0tfUERO X01BU0tfU0ZUCQkJKDB4MSA8PCAxMykNCisjZGVmaW5lIFJHX1ZPVzMyS19DS19QRE5fU0ZUCQkJ CTEyDQorI2RlZmluZSBSR19WT1czMktfQ0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19W T1czMktfQ0tfUEROX01BU0tfU0ZUCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVRF9JTlRS UF9DS19QRE5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DS19QRE5fTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisj ZGVmaW5lIFJHX1BBRF9BVURfQ0xLX01JU09fQ0tfUEROX1NGVAkJCTcNCisjZGVmaW5lIFJHX1BB RF9BVURfQ0xLX01JU09fQ0tfUEROX01BU0sJCQkweDENCisjZGVmaW5lIFJHX1BBRF9BVURfQ0xL X01JU09fQ0tfUEROX01BU0tfU0ZUCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19BVUROQ1BfQ0tf UEROX1NGVAkJCQk2DQorI2RlZmluZSBSR19BVUROQ1BfQ0tfUEROX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVUROQ1BfQ0tfUEROX01BU0tfU0ZUCQkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdf WkNEMTNNX0NLX1BETl9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfWkNEMTNNX0NLX1BETl9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfWkNEMTNNX0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisj ZGVmaW5lIFJHX0FVRElGX0NLX1BETl9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVESUZfQ0tfUERO X01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURJRl9DS19QRE5fTUFTS19TRlQJCQkoMHgxIDw8 IDIpDQorI2RlZmluZSBSR19BVURfQ0tfUEROX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURfQ0tf UEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURfQ0tfUEROX01BU0tfU0ZUCQkJCSgweDEg PDwgMSkNCisjZGVmaW5lIFJHX0FDQ0RFVF9DS19QRE5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FD Q0RFVF9DS19QRE5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FDQ0RFVF9DS19QRE5fTUFTS19T RlQJCQkoMHgxIDw8IDApDQorDQorLyogQVVEX1RPUF9DS1BETl9DT04wX1NFVCAqLw0KKyNkZWZp bmUgUkdfQVVEX1RPUF9DS1BETl9DT04wX1NFVF9TRlQJCQkwDQorI2RlZmluZSBSR19BVURfVE9Q X0NLUEROX0NPTjBfU0VUX01BU0sJCQkweDNmZmYNCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tQRE5f Q09OMF9TRVRfTUFTS19TRlQJCSgweDNmZmYgPDwgMCkNCisNCisvKiBBVURfVE9QX0NLUEROX0NP TjBfQ0xSICovDQorI2RlZmluZSBSR19BVURfVE9QX0NLUEROX0NPTjBfQ0xSX1NGVAkJCTANCisj ZGVmaW5lIFJHX0FVRF9UT1BfQ0tQRE5fQ09OMF9DTFJfTUFTSwkJCTB4M2ZmZg0KKyNkZWZpbmUg UkdfQVVEX1RPUF9DS1BETl9DT04wX0NMUl9NQVNLX1NGVAkJKDB4M2ZmZiA8PCAwKQ0KKw0KKy8q IEFVRF9UT1BfQ0tTRUxfQ09OMCAqLw0KKyNkZWZpbmUgUkdfQVVESUZfQ0tfQ0tTRUxfU0ZUCQkJ CTMNCisjZGVmaW5lIFJHX0FVRElGX0NLX0NLU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19B VURJRl9DS19DS1NFTF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRF9DS19D S1NFTF9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVEX0NLX0NLU0VMX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVURfQ0tfQ0tTRUxfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorDQorLyogQVVEX1RP UF9DS1NFTF9DT04wX1NFVCAqLw0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1NFTF9DT04wX1NFVF9T RlQJCQkwDQorI2RlZmluZSBSR19BVURfVE9QX0NLU0VMX0NPTjBfU0VUX01BU0sJCQkweGYNCisj ZGVmaW5lIFJHX0FVRF9UT1BfQ0tTRUxfQ09OMF9TRVRfTUFTS19TRlQJCSgweGYgPDwgMCkNCisN CisvKiBBVURfVE9QX0NLU0VMX0NPTjBfQ0xSICovDQorI2RlZmluZSBSR19BVURfVE9QX0NLU0VM X0NPTjBfQ0xSX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tTRUxfQ09OMF9DTFJfTUFT SwkJCTB4Zg0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1NFTF9DT04wX0NMUl9NQVNLX1NGVAkJKDB4 ZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0tUU1RfQ09OMCAqLw0KKyNkZWZpbmUgUkdfVk9XMTNN X0NLX1RTVFNFTF9TRlQJCQkJOQ0KKyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RTVFNFTF9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19WT1cxM01fQ0tfVFNUU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0K KyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RTVF9ESVNfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfVk9XMTNN X0NLX1RTVF9ESVNfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfVk9XMTNNX0NLX1RTVF9ESVNfTUFT S19TRlQJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19BVUQyNk1fQ0tfVFNUU0VMX1NGVAkJCQk0 DQorI2RlZmluZSBSR19BVUQyNk1fQ0tfVFNUU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RDI2TV9DS19UU1RTRUxfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURJRl9D S19UU1RTRUxfU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0FVRElGX0NLX1RTVFNFTF9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVESUZfQ0tfVFNUU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNk ZWZpbmUgUkdfQVVEX0NLX1RTVFNFTF9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVEX0NLX1RTVFNF TF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX0NLX1RTVFNFTF9NQVNLX1NGVAkJCSgweDEg PDwgMikNCisjZGVmaW5lIFJHX0FVRDI2TV9DS19UU1RfRElTX1NGVAkJCTANCisjZGVmaW5lIFJH X0FVRDI2TV9DS19UU1RfRElTX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRDI2TV9DS19UU1Rf RElTX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0xLX0hXRU5fQ09OMCAq Lw0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NLX1BETl9IV0VOX1NGVAkJCTANCisjZGVmaW5lIFJH X0FVRF9JTlRSUF9DS19QRE5fSFdFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURfSU5UUlBf Q0tfUEROX0hXRU5fTUFTS19TRlQJCSgweDEgPDwgMCkNCisNCisvKiBBVURfVE9QX0NMS19IV0VO X0NPTjBfU0VUICovDQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0tfUE5EX0hXRU5fQ09OMF9TRVRf U0ZUCQkwDQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0tfUE5EX0hXRU5fQ09OMF9TRVRfTUFTSwkJ MHhmZmZmDQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0tfUE5EX0hXRU5fQ09OMF9TRVRfTUFTS19T RlQJKDB4ZmZmZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0xLX0hXRU5fQ09OMF9DTFIgKi8NCisj ZGVmaW5lIFJHX0FVRF9JTlRSUF9DTEtfUEROX0hXRU5fQ09OMF9DTFJfU0ZUCQkwDQorI2RlZmlu ZSBSR19BVURfSU5UUlBfQ0xLX1BETl9IV0VOX0NPTjBfQ0xSX01BU0sJCTB4ZmZmZg0KKyNkZWZp bmUgUkdfQVVEX0lOVFJQX0NMS19QRE5fSFdFTl9DT04wX0NMUl9NQVNLX1NGVAkoMHhmZmZmIDw8 IDApDQorDQorLyogQVVEX1RPUF9SU1RfQ09OMCAqLw0KKyNkZWZpbmUgUkdfQVVETkNQX1JTVF9T RlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVETkNQX1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVETkNQX1JTVF9NQVNLX1NGVAkJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19aQ0RfUlNUX1NG VAkJCQkJMg0KKyNkZWZpbmUgUkdfWkNEX1JTVF9NQVNLCQkJCQkweDENCisjZGVmaW5lIFJHX1pD RF9SU1RfTUFTS19TRlQJCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQUNDREVUX1JTVF9TRlQJ CQkJMQ0KKyNkZWZpbmUgUkdfQUNDREVUX1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQUND REVUX1JTVF9NQVNLX1NGVAkJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURJT19SU1RfU0ZU CQkJCTANCisjZGVmaW5lIFJHX0FVRElPX1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE SU9fUlNUX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisNCisvKiBBVURfVE9QX1JTVF9DT04wX1NF VCAqLw0KKyNkZWZpbmUgUkdfQVVEX1RPUF9SU1RfQ09OMF9TRVRfU0ZUCQkJMA0KKyNkZWZpbmUg UkdfQVVEX1RPUF9SU1RfQ09OMF9TRVRfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUkdfQVVEX1RPUF9S U1RfQ09OMF9TRVRfTUFTS19TRlQJCSgweGYgPDwgMCkNCisNCisvKiBBVURfVE9QX1JTVF9DT04w X0NMUiAqLw0KKyNkZWZpbmUgUkdfQVVEX1RPUF9SU1RfQ09OMF9DTFJfU0ZUCQkJMA0KKyNkZWZp bmUgUkdfQVVEX1RPUF9SU1RfQ09OMF9DTFJfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUkdfQVVEX1RP UF9SU1RfQ09OMF9DTFJfTUFTS19TRlQJCSgweGYgPDwgMCkNCisNCisvKiBBVURfVE9QX1JTVF9C QU5LX0NPTjAgKi8NCisjZGVmaW5lIEJBTktfQVVEWkNEX1NXUlNUX1NGVAkJCQkyDQorI2RlZmlu ZSBCQU5LX0FVRFpDRF9TV1JTVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQkFOS19BVURaQ0RfU1dS U1RfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBCQU5LX0FVRElPX1NXUlNUX1NGVAkJ CQkxDQorI2RlZmluZSBCQU5LX0FVRElPX1NXUlNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBCQU5L X0FVRElPX1NXUlNUX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgQkFOS19BQ0NERVRf U1dSU1RfU0ZUCQkJCTANCisjZGVmaW5lIEJBTktfQUNDREVUX1NXUlNUX01BU0sJCQkJMHgxDQor I2RlZmluZSBCQU5LX0FDQ0RFVF9TV1JTVF9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBB RkVfVUxfRExfQ09OMCAqLw0KKyNkZWZpbmUgQUZFX1VMX0xSX1NXQVBfU0ZUCQkJCTE1DQorI2Rl ZmluZSBBRkVfVUxfTFJfU1dBUF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQUZFX1VMX0xSX1NXQVBf TUFTS19TRlQJCQkJKDB4MSA8PCAxNSkNCisjZGVmaW5lIEFGRV9ETF9MUl9TV0FQX1NGVAkJCQkx NA0KKyNkZWZpbmUgQUZFX0RMX0xSX1NXQVBfTUFTSwkJCQkweDENCisjZGVmaW5lIEFGRV9ETF9M Ul9TV0FQX01BU0tfU0ZUCQkJCSgweDEgPDwgMTQpDQorI2RlZmluZSBBRkVfT05fU0ZUCQkJCQkw DQorI2RlZmluZSBBRkVfT05fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBBRkVfT05fTUFTS19TRlQJ CQkJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfRExfU1JDMl9DT04wX0wgKi8NCisjZGVmaW5lIERM XzJfU1JDX09OX1RNUF9DVExfUFJFX1NGVAkJCTANCisjZGVmaW5lIERMXzJfU1JDX09OX1RNUF9D VExfUFJFX01BU0sJCQkweDENCisjZGVmaW5lIERMXzJfU1JDX09OX1RNUF9DVExfUFJFX01BU0tf U0ZUCQkoMHgxIDw8IDApDQorDQorLyogQUZFX1VMX1NSQ19DT04wX0ggKi8NCisjZGVmaW5lIENf RElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RMX1NGVAkJCTExDQorI2RlZmluZSBDX0RJR01JQ19QSEFT RV9TRUxfQ0gxX0NUTF9NQVNLCQkJMHg3DQorI2RlZmluZSBDX0RJR01JQ19QSEFTRV9TRUxfQ0gx X0NUTF9NQVNLX1NGVAkJKDB4NyA8PCAxMSkNCisjZGVmaW5lIENfRElHTUlDX1BIQVNFX1NFTF9D SDJfQ1RMX1NGVAkJCTgNCisjZGVmaW5lIENfRElHTUlDX1BIQVNFX1NFTF9DSDJfQ1RMX01BU0sJ CQkweDcNCisjZGVmaW5lIENfRElHTUlDX1BIQVNFX1NFTF9DSDJfQ1RMX01BU0tfU0ZUCQkoMHg3 IDw8IDgpDQorI2RlZmluZSBDX1RXT19ESUdJVEFMX01JQ19DVExfU0ZUCQkJNw0KKyNkZWZpbmUg Q19UV09fRElHSVRBTF9NSUNfQ1RMX01BU0sJCQkweDENCisjZGVmaW5lIENfVFdPX0RJR0lUQUxf TUlDX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgNykNCisNCisvKiBBRkVfVUxfU1JDX0NPTjBfTCAq Lw0KKyNkZWZpbmUgRE1JQ19MT1dfUE9XRVJfTU9ERV9DVExfU0ZUCQkJMTQNCisjZGVmaW5lIERN SUNfTE9XX1BPV0VSX01PREVfQ1RMX01BU0sJCQkweDMNCisjZGVmaW5lIERNSUNfTE9XX1BPV0VS X01PREVfQ1RMX01BU0tfU0ZUCQkoMHgzIDw8IDE0KQ0KKyNkZWZpbmUgRElHTUlDXzRQMzNNX1NF TF9DVExfU0ZUCQkJNg0KKyNkZWZpbmUgRElHTUlDXzRQMzNNX1NFTF9DVExfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgRElHTUlDXzRQMzNNX1NFTF9DVExfTUFTS19TRlQJCQkoMHgxIDw8IDYpDQorI2Rl ZmluZSBESUdNSUNfM1AyNU1fMVA2MjVNX1NFTF9DVExfU0ZUCQkJNQ0KKyNkZWZpbmUgRElHTUlD XzNQMjVNXzFQNjI1TV9TRUxfQ1RMX01BU0sJCTB4MQ0KKyNkZWZpbmUgRElHTUlDXzNQMjVNXzFQ NjI1TV9TRUxfQ1RMX01BU0tfU0ZUCQkoMHgxIDw8IDUpDQorI2RlZmluZSBVTF9MT09QX0JBQ0tf TU9ERV9DVExfU0ZUCQkJMg0KKyNkZWZpbmUgVUxfTE9PUF9CQUNLX01PREVfQ1RMX01BU0sJCQkw eDENCisjZGVmaW5lIFVMX0xPT1BfQkFDS19NT0RFX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgMikN CisjZGVmaW5lIFVMX1NETV8zX0xFVkVMX0NUTF9TRlQJCQkJMQ0KKyNkZWZpbmUgVUxfU0RNXzNf TEVWRUxfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBVTF9TRE1fM19MRVZFTF9DVExfTUFTS19T RlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBVTF9TUkNfT05fVE1QX0NUTF9TRlQJCQkJMA0KKyNk ZWZpbmUgVUxfU1JDX09OX1RNUF9DVExfTUFTSwkJCQkweDENCisjZGVmaW5lIFVMX1NSQ19PTl9U TVBfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBNl9MX1NSQ19DT04w X0ggKi8NCisjZGVmaW5lIEFEREE2X0NfRElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RMX1NGVAkJMTEN CisjZGVmaW5lIEFEREE2X0NfRElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RMX01BU0sJCTB4Nw0KKyNk ZWZpbmUgQUREQTZfQ19ESUdNSUNfUEhBU0VfU0VMX0NIMV9DVExfTUFTS19TRlQJKDB4NyA8PCAx MSkNCisjZGVmaW5lIEFEREE2X0NfRElHTUlDX1BIQVNFX1NFTF9DSDJfQ1RMX1NGVAkJOA0KKyNk ZWZpbmUgQUREQTZfQ19ESUdNSUNfUEhBU0VfU0VMX0NIMl9DVExfTUFTSwkJMHg3DQorI2RlZmlu ZSBBRERBNl9DX0RJR01JQ19QSEFTRV9TRUxfQ0gyX0NUTF9NQVNLX1NGVAkoMHg3IDw8IDgpDQor I2RlZmluZSBBRERBNl9DX1RXT19ESUdJVEFMX01JQ19DVExfU0ZUCQkJNw0KKyNkZWZpbmUgQURE QTZfQ19UV09fRElHSVRBTF9NSUNfQ1RMX01BU0sJCTB4MQ0KKyNkZWZpbmUgQUREQTZfQ19UV09f RElHSVRBTF9NSUNfQ1RMX01BU0tfU0ZUCQkoMHgxIDw8IDcpDQorDQorLyogQUZFX0FEREE2X1VM X1NSQ19DT04wX0wgKi8NCisjZGVmaW5lIEFEREE2X0RNSUNfTE9XX1BPV0VSX01PREVfQ1RMX1NG VAkJMTQNCisjZGVmaW5lIEFEREE2X0RNSUNfTE9XX1BPV0VSX01PREVfQ1RMX01BU0sJCTB4Mw0K KyNkZWZpbmUgQUREQTZfRE1JQ19MT1dfUE9XRVJfTU9ERV9DVExfTUFTS19TRlQJCSgweDMgPDwg MTQpDQorI2RlZmluZSBBRERBNl9ESUdNSUNfNFAzM01fU0VMX0NUTF9TRlQJCQk2DQorI2RlZmlu ZSBBRERBNl9ESUdNSUNfNFAzM01fU0VMX0NUTF9NQVNLCQkJMHgxDQorI2RlZmluZSBBRERBNl9E SUdNSUNfNFAzM01fU0VMX0NUTF9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgQUREQTZf RElHTUlDXzNQMjVNXzFQNjI1TV9TRUxfQ1RMX1NGVAkJNQ0KKyNkZWZpbmUgQUREQTZfRElHTUlD XzNQMjVNXzFQNjI1TV9TRUxfQ1RMX01BU0sJCTB4MQ0KKyNkZWZpbmUgQUREQTZfRElHTUlDXzNQ MjVNXzFQNjI1TV9TRUxfQ1RMX01BU0tfU0ZUCSgweDEgPDwgNSkNCisjZGVmaW5lIEFEREE2X1VM X0xPT1BfQkFDS19NT0RFX0NUTF9TRlQJCQkyDQorI2RlZmluZSBBRERBNl9VTF9MT09QX0JBQ0tf TU9ERV9DVExfTUFTSwkJMHgxDQorI2RlZmluZSBBRERBNl9VTF9MT09QX0JBQ0tfTU9ERV9DVExf TUFTS19TRlQJCSgweDEgPDwgMikNCisjZGVmaW5lIEFEREE2X1VMX1NETV8zX0xFVkVMX0NUTF9T RlQJCQkxDQorI2RlZmluZSBBRERBNl9VTF9TRE1fM19MRVZFTF9DVExfTUFTSwkJCTB4MQ0KKyNk ZWZpbmUgQUREQTZfVUxfU0RNXzNfTEVWRUxfQ1RMX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2Rl ZmluZSBBRERBNl9VTF9TUkNfT05fVE1QX0NUTF9TRlQJCQkwDQorI2RlZmluZSBBRERBNl9VTF9T UkNfT05fVE1QX0NUTF9NQVNLCQkJMHgxDQorI2RlZmluZSBBRERBNl9VTF9TUkNfT05fVE1QX0NU TF9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9UT1BfQ09OMCAqLw0KKyNkZWZpbmUg QUREQTZfTVRLQUlGX1NJTkVfT05fU0ZUCQkJNA0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1NJTkVf T05fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1NJTkVfT05fTUFTS19TRlQJCQko MHgxIDw8IDQpDQorI2RlZmluZSBBRERBNl9VTF9TSU5FX09OX1NGVAkJCQkzDQorI2RlZmluZSBB RERBNl9VTF9TSU5FX09OX01BU0sJCQkJMHgxDQorI2RlZmluZSBBRERBNl9VTF9TSU5FX09OX01B U0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgTVRLQUlGX1NJTkVfT05fU0ZUCQkJCTINCisj ZGVmaW5lIE1US0FJRl9TSU5FX09OX01BU0sJCQkJMHgxDQorI2RlZmluZSBNVEtBSUZfU0lORV9P Tl9NQVNLX1NGVAkJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBVTF9TSU5FX09OX1NGVAkJCQkJMQ0K KyNkZWZpbmUgVUxfU0lORV9PTl9NQVNLCQkJCQkweDENCisjZGVmaW5lIFVMX1NJTkVfT05fTUFT S19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgRExfU0lORV9PTl9TRlQJCQkJCTANCisjZGVm aW5lIERMX1NJTkVfT05fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBETF9TSU5FX09OX01BU0tfU0ZU CQkJCSgweDEgPDwgMCkNCisNCisvKiBBVURJT19UT1BfQ09OMCAqLw0KKyNkZWZpbmUgUEROX0FG RV9DVExfU0ZUCQkJCQk3DQorI2RlZmluZSBQRE5fQUZFX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUEROX0FGRV9DVExfTUFTS19TRlQJCQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUEROX0RBQ19D VExfU0ZUCQkJCQk2DQorI2RlZmluZSBQRE5fREFDX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UEROX0RBQ19DVExfTUFTS19TRlQJCQkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUEROX0FEQ19DVExf U0ZUCQkJCQk1DQorI2RlZmluZSBQRE5fQURDX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUERO X0FEQ19DVExfTUFTS19TRlQJCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUEROX0FEREE2X0FEQ19D VExfU0ZUCQkJCTQNCisjZGVmaW5lIFBETl9BRERBNl9BRENfQ1RMX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBQRE5fQUREQTZfQURDX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFBE Tl9JMlNfRExfQ1RMX1NGVAkJCQkzDQorI2RlZmluZSBQRE5fSTJTX0RMX0NUTF9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUEROX0kyU19ETF9DVExfTUFTS19TRlQJCQkJKDB4MSA8PCAzKQ0KKyNkZWZp bmUgUFdSX0NMS19ESVNfQ1RMX1NGVAkJCQkyDQorI2RlZmluZSBQV1JfQ0xLX0RJU19DVExfTUFT SwkJCQkweDENCisjZGVmaW5lIFBXUl9DTEtfRElTX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgMikN CisjZGVmaW5lIFBETl9BRkVfVEVTVE1PREVMX0NUTF9TRlQJCQkxDQorI2RlZmluZSBQRE5fQUZF X1RFU1RNT0RFTF9DVExfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUEROX0FGRV9URVNUTU9ERUxfQ1RM X01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUEROX1JFU0VSVkVEX1NGVAkJCQkwDQor I2RlZmluZSBQRE5fUkVTRVJWRURfTUFTSwkJCQkweDENCisjZGVmaW5lIFBETl9SRVNFUlZFRF9N QVNLX1NGVAkJCQkoMHgxIDw8IDApDQorDQorLyogQUZFX01PTl9ERUJVRzAgKi8NCisjZGVmaW5l IEFVRElPX1NZU19UT1BfTU9OX1NXQVBfU0ZUCQkJMTQNCisjZGVmaW5lIEFVRElPX1NZU19UT1Bf TU9OX1NXQVBfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgQVVESU9fU1lTX1RPUF9NT05fU1dBUF9NQVNL X1NGVAkJCSgweDMgPDwgMTQpDQorI2RlZmluZSBBVURJT19TWVNfVE9QX01PTl9TRUxfU0ZUCQkJ OA0KKyNkZWZpbmUgQVVESU9fU1lTX1RPUF9NT05fU0VMX01BU0sJCQkweDFmDQorI2RlZmluZSBB VURJT19TWVNfVE9QX01PTl9TRUxfTUFTS19TRlQJCQkoMHgxZiA8PCA4KQ0KKyNkZWZpbmUgQUZF X01PTl9TRUxfU0ZUCQkJCQkwDQorI2RlZmluZSBBRkVfTU9OX1NFTF9NQVNLCQkJCTB4ZmYNCisj ZGVmaW5lIEFGRV9NT05fU0VMX01BU0tfU0ZUCQkJCSgweGZmIDw8IDApDQorDQorLyogQUZVTkNf QVVEX0NPTjAgKi8NCisjZGVmaW5lIENDSV9BVURfQU5BQ0tfU0VMX1NGVAkJCQkxNQ0KKyNkZWZp bmUgQ0NJX0FVRF9BTkFDS19TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9BVURfQU5BQ0tf U0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxNSkNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX1dQVFJf U0ZUCQkJCTEyDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19XUFRSX01BU0sJCQkweDcNCisjZGVm aW5lIENDSV9BVURJT19GSUZPX1dQVFJfTUFTS19TRlQJCQkoMHg3IDw8IDEyKQ0KKyNkZWZpbmUg Q0NJX1NDUkFNQkxFUl9DR19FTl9TRlQJCQkJMTENCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfQ0df RU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9DR19FTl9NQVNLX1NGVAkJCSgw eDEgPDwgMTEpDQorI2RlZmluZSBDQ0lfTENIX0lOVl9TRlQJCQkJCTEwDQorI2RlZmluZSBDQ0lf TENIX0lOVl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0xDSF9JTlZfTUFTS19TRlQJCQkJKDB4 MSA8PCAxMCkNCisjZGVmaW5lIENDSV9SQU5EX0VOX1NGVAkJCQkJOQ0KKyNkZWZpbmUgQ0NJX1JB TkRfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9SQU5EX0VOX01BU0tfU0ZUCQkJCSgweDEg PDwgOSkNCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX0NMS19PTl9TRlQJCQk4DQorI2RlZmluZSBD Q0lfU1BMVF9TQ1JNQl9DTEtfT05fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJf Q0xLX09OX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfT05f U0ZUCQkJCTcNCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX09OX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBDQ0lfU1BMVF9TQ1JNQl9PTl9NQVNLX1NGVAkJCSgweDEgPDwgNykNCisjZGVmaW5lIENDSV9B VURfSURBQ19URVNUX0VOX1NGVAkJCTYNCisjZGVmaW5lIENDSV9BVURfSURBQ19URVNUX0VOX01B U0sJCQkweDENCisjZGVmaW5lIENDSV9BVURfSURBQ19URVNUX0VOX01BU0tfU0ZUCQkJKDB4MSA8 PCA2KQ0KKyNkZWZpbmUgQ0NJX1pFUk9fUEFEX0RJU0FCTEVfU0ZUCQkJNQ0KKyNkZWZpbmUgQ0NJ X1pFUk9fUEFEX0RJU0FCTEVfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1pFUk9fUEFEX0RJU0FC TEVfTUFTS19TRlQJCQkoMHgxIDw8IDUpDQorI2RlZmluZSBDQ0lfQVVEX1NQTElUX1RFU1RfRU5f U0ZUCQkJNA0KKyNkZWZpbmUgQ0NJX0FVRF9TUExJVF9URVNUX0VOX01BU0sJCQkweDENCisjZGVm aW5lIENDSV9BVURfU1BMSVRfVEVTVF9FTl9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5l IENDSV9BVURfU0RNX01VVEVMX1NGVAkJCQkzDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFTF9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURUxfTUFTS19TRlQJCQkoMHgxIDw8 IDMpDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFUl9TRlQJCQkJMg0KKyNkZWZpbmUgQ0NJX0FV RF9TRE1fTVVURVJfTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVSX01BU0tf U0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fN0JJVF9TRUxfU0ZUCQkJMQ0K KyNkZWZpbmUgQ0NJX0FVRF9TRE1fN0JJVF9TRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FV RF9TRE1fN0JJVF9TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBDQ0lfU0NSQU1C TEVSX0VOX1NGVAkJCQkwDQorI2RlZmluZSBDQ0lfU0NSQU1CTEVSX0VOX01BU0sJCQkJMHgxDQor I2RlZmluZSBDQ0lfU0NSQU1CTEVSX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFG VU5DX0FVRF9DT04xICovDQorI2RlZmluZSBBVURfU0RNX1RFU1RfTF9TRlQJCQkJOA0KKyNkZWZp bmUgQVVEX1NETV9URVNUX0xfTUFTSwkJCQkweGZmDQorI2RlZmluZSBBVURfU0RNX1RFU1RfTF9N QVNLX1NGVAkJCQkoMHhmZiA8PCA4KQ0KKyNkZWZpbmUgQVVEX1NETV9URVNUX1JfU0ZUCQkJCTAN CisjZGVmaW5lIEFVRF9TRE1fVEVTVF9SX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NETV9U RVNUX1JfTUFTS19TRlQJCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09OMiAqLw0K KyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX01VVEVfU0ZUCQkJNw0KKyNkZWZpbmUgQ0NJX0FVRF9E QUNfQU5BX01VVEVfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX01VVEVfTUFT S19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfUlNUQl9TRUxfU0ZU CQkJNg0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX1JTVEJfU0VMX01BU0sJCQkweDENCisjZGVm aW5lIENDSV9BVURfREFDX0FOQV9SU1RCX1NFTF9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZp bmUgQ0NJX0FVRElPX0ZJRk9fQ0xLSU5fSU5WX1NGVAkJCTQNCisjZGVmaW5lIENDSV9BVURJT19G SUZPX0NMS0lOX0lOVl9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19DTEtJTl9J TlZfTUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX0VOQUJMRV9T RlQJCQkzDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19FTkFCTEVfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgQ0NJX0FVRElPX0ZJRk9fRU5BQkxFX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUg Q0NJX0FDRF9NT0RFX1NGVAkJCQkyDQorI2RlZmluZSBDQ0lfQUNEX01PREVfTUFTSwkJCQkweDEN CisjZGVmaW5lIENDSV9BQ0RfTU9ERV9NQVNLX1NGVAkJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBD Q0lfQUZJRk9fQ0xLX1BXREJfU0ZUCQkJCTENCisjZGVmaW5lIENDSV9BRklGT19DTEtfUFdEQl9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FGSUZPX0NMS19QV0RCX01BU0tfU0ZUCQkJKDB4MSA8 PCAxKQ0KKyNkZWZpbmUgQ0NJX0FDRF9GVU5DX1JTVEJfU0ZUCQkJCTANCisjZGVmaW5lIENDSV9B Q0RfRlVOQ19SU1RCX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfQUNEX0ZVTkNfUlNUQl9NQVNL X1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09OMyAqLw0KKyNkZWZpbmUgU0RN X0FOQTEzTV9URVNUQ0tfU0VMX1NGVAkJCTE1DQorI2RlZmluZSBTRE1fQU5BMTNNX1RFU1RDS19T RUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgU0RNX0FOQTEzTV9URVNUQ0tfU0VMX01BU0tfU0ZUCQkJ KDB4MSA8PCAxNSkNCisjZGVmaW5lIFNETV9BTkExM01fVEVTVENLX1NSQ19TRUxfU0ZUCQkJMTIN CisjZGVmaW5lIFNETV9BTkExM01fVEVTVENLX1NSQ19TRUxfTUFTSwkJCTB4Nw0KKyNkZWZpbmUg U0RNX0FOQTEzTV9URVNUQ0tfU1JDX1NFTF9NQVNLX1NGVAkJKDB4NyA8PCAxMikNCisjZGVmaW5l IFNETV9URVNUQ0tfU1JDX1NFTF9TRlQJCQkJOA0KKyNkZWZpbmUgU0RNX1RFU1RDS19TUkNfU0VM X01BU0sJCQkJMHg3DQorI2RlZmluZSBTRE1fVEVTVENLX1NSQ19TRUxfTUFTS19TRlQJCQkoMHg3 IDw8IDgpDQorI2RlZmluZSBESUdNSUNfVEVTVENLX1NSQ19TRUxfU0ZUCQkJNA0KKyNkZWZpbmUg RElHTUlDX1RFU1RDS19TUkNfU0VMX01BU0sJCQkweDcNCisjZGVmaW5lIERJR01JQ19URVNUQ0tf U1JDX1NFTF9NQVNLX1NGVAkJCSgweDcgPDwgNCkNCisjZGVmaW5lIERJR01JQ19URVNUQ0tfU0VM X1NGVAkJCQkwDQorI2RlZmluZSBESUdNSUNfVEVTVENLX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgRElHTUlDX1RFU1RDS19TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZVTkNf QVVEX0NPTjQgKi8NCisjZGVmaW5lIFVMX0ZJRk9fV0NMS19JTlZfU0ZUCQkJCTgNCisjZGVmaW5l IFVMX0ZJRk9fV0NMS19JTlZfTUFTSwkJCQkweDENCisjZGVmaW5lIFVMX0ZJRk9fV0NMS19JTlZf TUFTS19TRlQJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBVTF9GSUZPX0RJR01JQ19XREFUQV9URVNU U1JDX1NFTF9TRlQJCTYNCisjZGVmaW5lIFVMX0ZJRk9fRElHTUlDX1dEQVRBX1RFU1RTUkNfU0VM X01BU0sJCTB4MQ0KKyNkZWZpbmUgVUxfRklGT19ESUdNSUNfV0RBVEFfVEVTVFNSQ19TRUxfTUFT S19TRlQJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgVUxfRklGT19XREFUQV9URVNURU5fU0ZUCQkJNQ0K KyNkZWZpbmUgVUxfRklGT19XREFUQV9URVNURU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgVUxfRklG T19XREFUQV9URVNURU5fTUFTS19TRlQJCQkoMHgxIDw8IDUpDQorI2RlZmluZSBVTF9GSUZPX1dE QVRBX1RFU1RTUkNfU0VMX1NGVAkJCTQNCisjZGVmaW5lIFVMX0ZJRk9fV0RBVEFfVEVTVFNSQ19T RUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgVUxfRklGT19XREFUQV9URVNUU1JDX1NFTF9NQVNLX1NG VAkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgVUxfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NFTF9TRlQJ CSAzDQorI2RlZmluZSBVTF9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU0VMX01BU0sJCTB4MQ0KKyNk ZWZpbmUgVUxfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NFTF9NQVNLX1NGVAkJKDB4MSA8PCAzKQ0K KyNkZWZpbmUgVUxfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NSQ19TRUxfU0ZUCQkwDQorI2RlZmlu ZSBVTF9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JDX1NFTF9NQVNLCQkweDcNCisjZGVmaW5lIFVM X0ZJRk9fV0NMS182UDVNX1RFU1RDS19TUkNfU0VMX01BU0tfU0ZUCSgweDcgPDwgMCkNCisNCisv KiBBRlVOQ19BVURfQ09ONSAqLw0KKyNkZWZpbmUgUl9BVURfREFDX1BPU19MQVJHRV9NT05PX1NG VAkJCTgNCisjZGVmaW5lIFJfQVVEX0RBQ19QT1NfTEFSR0VfTU9OT19NQVNLCQkJMHhmZg0KKyNk ZWZpbmUgUl9BVURfREFDX1BPU19MQVJHRV9NT05PX01BU0tfU0ZUCQkoMHhmZiA8PCA4KQ0KKyNk ZWZpbmUgUl9BVURfREFDX05FR19MQVJHRV9NT05PX1NGVAkJCTANCisjZGVmaW5lIFJfQVVEX0RB Q19ORUdfTEFSR0VfTU9OT19NQVNLCQkJMHhmZg0KKyNkZWZpbmUgUl9BVURfREFDX05FR19MQVJH RV9NT05PX01BU0tfU0ZUCQkoMHhmZiA8PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT042ICovDQor I2RlZmluZSBSX0FVRF9EQUNfUE9TX1NNQUxMX01PTk9fU0ZUCQkJMTINCisjZGVmaW5lIFJfQVVE X0RBQ19QT1NfU01BTExfTU9OT19NQVNLCQkJMHhmDQorI2RlZmluZSBSX0FVRF9EQUNfUE9TX1NN QUxMX01PTk9fTUFTS19TRlQJCSgweGYgPDwgMTIpDQorI2RlZmluZSBSX0FVRF9EQUNfTkVHX1NN QUxMX01PTk9fU0ZUCQkJOA0KKyNkZWZpbmUgUl9BVURfREFDX05FR19TTUFMTF9NT05PX01BU0sJ CQkweGYNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfU01BTExfTU9OT19NQVNLX1NGVAkJKDB4ZiA8 PCA4KQ0KKyNkZWZpbmUgUl9BVURfREFDX1BPU19USU5ZX01PTk9fU0ZUCQkJNg0KKyNkZWZpbmUg Ul9BVURfREFDX1BPU19USU5ZX01PTk9fTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUl9BVURfREFDX1BP U19USU5ZX01PTk9fTUFTS19TRlQJCSgweDMgPDwgNikNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdf VElOWV9NT05PX1NGVAkJCTQNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfVElOWV9NT05PX01BU0sJ CQkweDMNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfVElOWV9NT05PX01BU0tfU0ZUCQkoMHgzIDw8 IDQpDQorI2RlZmluZSBSX0FVRF9EQUNfTU9OT19TRUxfU0ZUCQkJCTMNCisjZGVmaW5lIFJfQVVE X0RBQ19NT05PX1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUl9BVURfREFDX01PTk9fU0VMX01B U0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUl9BVURfREFDXzNUSF9TRUxfU0ZUCQkJCTEN CisjZGVmaW5lIFJfQVVEX0RBQ18zVEhfU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBSX0FVRF9E QUNfM1RIX1NFTF9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJfQVVEX0RBQ19TV19S U1RCX1NGVAkJCQkwDQorI2RlZmluZSBSX0FVRF9EQUNfU1dfUlNUQl9NQVNLCQkJCTB4MQ0KKyNk ZWZpbmUgUl9BVURfREFDX1NXX1JTVEJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZV TkNfQVVEX0NPTjcgKi8NCisjZGVmaW5lIFVMMl9ESUdNSUNfVEVTVENLX1NSQ19TRUxfU0ZUCQkJ MTANCisjZGVmaW5lIFVMMl9ESUdNSUNfVEVTVENLX1NSQ19TRUxfTUFTSwkJCTB4Nw0KKyNkZWZp bmUgVUwyX0RJR01JQ19URVNUQ0tfU1JDX1NFTF9NQVNLX1NGVAkJKDB4NyA8PCAxMCkNCisjZGVm aW5lIFVMMl9ESUdNSUNfVEVTVENLX1NFTF9TRlQJCQk5DQorI2RlZmluZSBVTDJfRElHTUlDX1RF U1RDS19TRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgVUwyX0RJR01JQ19URVNUQ0tfU0VMX01BU0tf U0ZUCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgVUwyX0ZJRk9fV0NMS19JTlZfU0ZUCQkJCTgNCisj ZGVmaW5lIFVMMl9GSUZPX1dDTEtfSU5WX01BU0sJCQkJMHgxDQorI2RlZmluZSBVTDJfRklGT19X Q0xLX0lOVl9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFVMMl9GSUZPX0RJR01JQ19X REFUQV9URVNUU1JDX1NFTF9TRlQJCTYNCisjZGVmaW5lIFVMMl9GSUZPX0RJR01JQ19XREFUQV9U RVNUU1JDX1NFTF9NQVNLCQkweDENCisjZGVmaW5lIFVMMl9GSUZPX0RJR01JQ19XREFUQV9URVNU U1JDX1NFTF9NQVNLX1NGVAkoMHgxIDw8IDYpDQorI2RlZmluZSBVTDJfRklGT19XREFUQV9URVNU RU5fU0ZUCQkJNQ0KKyNkZWZpbmUgVUwyX0ZJRk9fV0RBVEFfVEVTVEVOX01BU0sJCQkweDENCisj ZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RFU1RFTl9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVm aW5lIFVMMl9GSUZPX1dEQVRBX1RFU1RTUkNfU0VMX1NGVAkJCTQNCisjZGVmaW5lIFVMMl9GSUZP X1dEQVRBX1RFU1RTUkNfU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RF U1RTUkNfU0VMX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2RlZmluZSBVTDJfRklGT19XQ0xLXzZQ NU1fVEVTVENLX1NFTF9TRlQJCTMNCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tf U0VMX01BU0sJCTB4MQ0KKyNkZWZpbmUgVUwyX0ZJRk9fV0NMS182UDVNX1RFU1RDS19TRUxfTUFT S19TRlQJCSgweDEgPDwgMykNCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JD X1NFTF9TRlQJCTANCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JDX1NFTF9N QVNLCQkweDcNCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU1JDX1NFTF9NQVNL X1NGVAkoMHg3IDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjggKi8NCisjZGVmaW5lIFNQTElU VEVSMl9ESVRIRVJfRU5fU0ZUCQkJCTkNCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5fTUFT SwkJCTB4MQ0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9FTl9NQVNLX1NGVAkJCSgweDEgPDwg OSkNCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfRU5fU0ZUCQkJCTgNCisjZGVmaW5lIFNQTElU VEVSMV9ESVRIRVJfRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9FTl9N QVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfR0FJTl9TRlQJ CQk0DQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0dBSU5fTUFTSwkJCTB4Zg0KKyNkZWZpbmUg U1BMSVRURVIyX0RJVEhFUl9HQUlOX01BU0tfU0ZUCQkJKDB4ZiA8PCA0KQ0KKyNkZWZpbmUgU1BM SVRURVIxX0RJVEhFUl9HQUlOX1NGVAkJCTANCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfR0FJ Tl9NQVNLCQkJMHhmDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0dBSU5fTUFTS19TRlQJCQko MHhmIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjkgKi8NCisjZGVmaW5lIENDSV9BVURfQU5B Q0tfU0VMXzJORF9TRlQJCQkxNQ0KKyNkZWZpbmUgQ0NJX0FVRF9BTkFDS19TRUxfMk5EX01BU0sJ CQkweDENCisjZGVmaW5lIENDSV9BVURfQU5BQ0tfU0VMXzJORF9NQVNLX1NGVAkJCSgweDEgPDwg MTUpDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19XUFRSXzJORF9TRlQJCQkxMg0KKyNkZWZpbmUg Q0NJX0FVRElPX0ZJRk9fV1BUUl8yTkRfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJ Rk9fV1BUUl8yTkRfTUFTS19TRlQJCSgweDcgPDwgMTIpDQorI2RlZmluZSBDQ0lfU0NSQU1CTEVS X0NHX0VOXzJORF9TRlQJCQkxMQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9DR19FTl8yTkRfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9DR19FTl8yTkRfTUFTS19TRlQJCSAoMHgx IDw8IDExKQ0KKyNkZWZpbmUgQ0NJX0xDSF9JTlZfMk5EX1NGVAkJCQkxMA0KKyNkZWZpbmUgQ0NJ X0xDSF9JTlZfMk5EX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfTENIX0lOVl8yTkRfTUFTS19T RlQJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgQ0NJX1JBTkRfRU5fMk5EX1NGVAkJCQk5DQorI2Rl ZmluZSBDQ0lfUkFORF9FTl8yTkRfTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9SQU5EX0VOXzJO RF9NQVNLX1NGVAkJCSgweDEgPDwgOSkNCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX0NMS19PTl8y TkRfU0ZUCQkJOA0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfQ0xLX09OXzJORF9NQVNLCQkJMHgx DQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9DTEtfT05fMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDgp DQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9PTl8yTkRfU0ZUCQkJNw0KKyNkZWZpbmUgQ0NJX1NQ TFRfU0NSTUJfT05fMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX09OXzJO RF9NQVNLX1NGVAkJCSgweDEgPDwgNykNCisjZGVmaW5lIENDSV9BVURfSURBQ19URVNUX0VOXzJO RF9TRlQJCQk2DQorI2RlZmluZSBDQ0lfQVVEX0lEQUNfVEVTVF9FTl8yTkRfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgQ0NJX0FVRF9JREFDX1RFU1RfRU5fMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQor I2RlZmluZSBDQ0lfWkVST19QQURfRElTQUJMRV8yTkRfU0ZUCQkJNQ0KKyNkZWZpbmUgQ0NJX1pF Uk9fUEFEX0RJU0FCTEVfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9aRVJPX1BBRF9ESVNB QkxFXzJORF9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgQ0NJX0FVRF9TUExJVF9URVNU X0VOXzJORF9TRlQJCQk0DQorI2RlZmluZSBDQ0lfQVVEX1NQTElUX1RFU1RfRU5fMk5EX01BU0sJ CQkweDENCisjZGVmaW5lIENDSV9BVURfU1BMSVRfVEVTVF9FTl8yTkRfTUFTS19TRlQJCSgweDEg PDwgNCkNCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVMXzJORF9TRlQJCQkzDQorI2RlZmluZSBD Q0lfQVVEX1NETV9NVVRFTF8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVU RUxfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURVJf Mk5EX1NGVAkJCTINCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVSXzJORF9NQVNLCQkJMHgxDQor I2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFUl8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2Rl ZmluZSBDQ0lfQVVEX1NETV83QklUX1NFTF8yTkRfU0ZUCQkJMQ0KKyNkZWZpbmUgQ0NJX0FVRF9T RE1fN0JJVF9TRUxfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURfU0RNXzdCSVRfU0VM XzJORF9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9FTl8yTkRf U0ZUCQkJMA0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9FTl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgQ0NJX1NDUkFNQkxFUl9FTl8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZV TkNfQVVEX0NPTjEwICovDQorI2RlZmluZSBBVURfU0RNX1RFU1RfTF8yTkRfU0ZUCQkJCTgNCisj ZGVmaW5lIEFVRF9TRE1fVEVTVF9MXzJORF9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIEFVRF9TRE1f VEVTVF9MXzJORF9NQVNLX1NGVAkJCSgweGZmIDw8IDgpDQorI2RlZmluZSBBVURfU0RNX1RFU1Rf Ul8yTkRfU0ZUCQkJCTANCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9SXzJORF9NQVNLCQkJCTB4ZmYN CisjZGVmaW5lIEFVRF9TRE1fVEVTVF9SXzJORF9NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorDQor LyogQUZVTkNfQVVEX0NPTjExICovDQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfTVVURV8yTkRf U0ZUCQkJNw0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX01VVEVfMk5EX01BU0sJCQkweDENCisj ZGVmaW5lIENDSV9BVURfREFDX0FOQV9NVVRFXzJORF9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNk ZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX1JTVEJfU0VMXzJORF9TRlQJCTYNCisjZGVmaW5lIENDSV9B VURfREFDX0FOQV9SU1RCX1NFTF8yTkRfTUFTSwkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX0RBQ19B TkFfUlNUQl9TRUxfMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBDQ0lfQVVESU9f RklGT19DTEtJTl9JTlZfMk5EX1NGVAkJNA0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fQ0xLSU5f SU5WXzJORF9NQVNLCQkweDENCisjZGVmaW5lIENDSV9BVURJT19GSUZPX0NMS0lOX0lOVl8yTkRf TUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX0VOQUJMRV8yTkRf U0ZUCQkJMw0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fRU5BQkxFXzJORF9NQVNLCQkJMHgxDQor I2RlZmluZSBDQ0lfQVVESU9fRklGT19FTkFCTEVfMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDMpDQor I2RlZmluZSBDQ0lfQUNEX01PREVfMk5EX1NGVAkJCQkyDQorI2RlZmluZSBDQ0lfQUNEX01PREVf Mk5EX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lfQUNEX01PREVfMk5EX01BU0tfU0ZUCQkJKDB4 MSA8PCAyKQ0KKyNkZWZpbmUgQ0NJX0FGSUZPX0NMS19QV0RCXzJORF9TRlQJCQkxDQorI2RlZmlu ZSBDQ0lfQUZJRk9fQ0xLX1BXREJfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BRklGT19D TEtfUFdEQl8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBDQ0lfQUNEX0ZVTkNf UlNUQl8yTkRfU0ZUCQkJMA0KKyNkZWZpbmUgQ0NJX0FDRF9GVU5DX1JTVEJfMk5EX01BU0sJCQkw eDENCisjZGVmaW5lIENDSV9BQ0RfRlVOQ19SU1RCXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgMCkN CisNCisvKiBBRlVOQ19BVURfQ09OMTIgKi8NCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5f Mk5EX1NGVAkJCTkNCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5fMk5EX01BU0sJCQkweDEN CisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfRU5fMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDkpDQor I2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0VOXzJORF9TRlQJCQk4DQorI2RlZmluZSBTUExJVFRF UjFfRElUSEVSX0VOXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0VO XzJORF9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9HQUlO XzJORF9TRlQJCQk0DQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0dBSU5fMk5EX01BU0sJCQkw eGYNCisjZGVmaW5lIFNQTElUVEVSMl9ESVRIRVJfR0FJTl8yTkRfTUFTS19TRlQJCSgweGYgPDwg NCkNCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfR0FJTl8yTkRfU0ZUCQkJMA0KKyNkZWZpbmUg U1BMSVRURVIxX0RJVEhFUl9HQUlOXzJORF9NQVNLCQkJMHhmDQorI2RlZmluZSBTUExJVFRFUjFf RElUSEVSX0dBSU5fMk5EX01BU0tfU0ZUCQkoMHhmIDw8IDApDQorDQorLyogQUZVTkNfQVVEX01P TjAgKi8NCisjZGVmaW5lIEFVRF9TQ1JfT1VUX0xfU0ZUCQkJCTgNCisjZGVmaW5lIEFVRF9TQ1Jf T1VUX0xfTUFTSwkJCQkweGZmDQorI2RlZmluZSBBVURfU0NSX09VVF9MX01BU0tfU0ZUCQkJCSgw eGZmIDw8IDgpDQorI2RlZmluZSBBVURfU0NSX09VVF9SX1NGVAkJCQkwDQorI2RlZmluZSBBVURf U0NSX09VVF9SX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfUl9NQVNLX1NGVAkJ CQkoMHhmZiA8PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9NT04xICovDQorI2RlZmluZSBBVURfU0NS X09VVF9MXzJORF9TRlQJCQkJOA0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfTF8yTkRfTUFTSwkJCQkw eGZmDQorI2RlZmluZSBBVURfU0NSX09VVF9MXzJORF9NQVNLX1NGVAkJCSgweGZmIDw8IDgpDQor I2RlZmluZSBBVURfU0NSX09VVF9SXzJORF9TRlQJCQkJMA0KKyNkZWZpbmUgQVVEX1NDUl9PVVRf Ul8yTkRfTUFTSwkJCQkweGZmDQorI2RlZmluZSBBVURfU0NSX09VVF9SXzJORF9NQVNLX1NGVAkJ CSgweGZmIDw8IDApDQorDQorLyogQVVEUkNfVFVORV9NT04wICovDQorI2RlZmluZSBBU1lOQ19U RVNUX09VVF9CQ0tfU0ZUCQkJCTE1DQorI2RlZmluZSBBU1lOQ19URVNUX09VVF9CQ0tfTUFTSwkJ CQkweDENCisjZGVmaW5lIEFTWU5DX1RFU1RfT1VUX0JDS19NQVNLX1NGVAkJCSgweDEgPDwgMTUp DQorI2RlZmluZSBSR1NfQVVEUkNUVU5FMVJFQURfU0ZUCQkJCTgNCisjZGVmaW5lIFJHU19BVURS Q1RVTkUxUkVBRF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHU19BVURSQ1RVTkUxUkVBRF9NQVNL X1NGVAkJCSgweDFmIDw8IDgpDQorI2RlZmluZSBSR1NfQVVEUkNUVU5FMFJFQURfU0ZUCQkJCTAN CisjZGVmaW5lIFJHU19BVURSQ1RVTkUwUkVBRF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHU19B VURSQ1RVTkUwUkVBRF9NQVNLX1NGVAkJCSgweDFmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRL QUlGX0ZJRk9fQ0ZHMCAqLw0KKyNkZWZpbmUgQUZFX1JFU0VSVkVEX1NGVAkJCQkxDQorI2RlZmlu ZSBBRkVfUkVTRVJWRURfTUFTSwkJCQkweDdmZmYNCisjZGVmaW5lIEFGRV9SRVNFUlZFRF9NQVNL X1NGVAkJCQkoMHg3ZmZmIDw8IDEpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX0lOVEVO X1NGVAkJCTANCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0ZJRk9fSU5URU5fTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfRklGT19JTlRFTl9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0K Kw0KKy8qIEFGRV9BRERBX01US0FJRl9GSUZPX0xPR19NT04xICovDQorI2RlZmluZSBNVEtBSUZf UlhJRl9XUl9GVUxMX1NUQVRVU19TRlQJCQkxDQorI2RlZmluZSBNVEtBSUZfUlhJRl9XUl9GVUxM X1NUQVRVU19NQVNLCQkJMHgxDQorI2RlZmluZSBNVEtBSUZfUlhJRl9XUl9GVUxMX1NUQVRVU19N QVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfUkRfRU1QVFlfU1RBVFVT X1NGVAkJCTANCisjZGVmaW5lIE1US0FJRl9SWElGX1JEX0VNUFRZX1NUQVRVU19NQVNLCQkweDEN CisjZGVmaW5lIE1US0FJRl9SWElGX1JEX0VNUFRZX1NUQVRVU19NQVNLX1NGVAkJKDB4MSA8PCAw KQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9NT04wICovDQorI2RlZmluZSBNVEtBSUZUWF9WM19T WU5DX09VVF9TRlQJCQkxNQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU1lOQ19PVVRfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU1lOQ19PVVRfTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0K KyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RBVEFfT1VUM19TRlQJCQkxNA0KKyNkZWZpbmUgTVRLQUlG VFhfVjNfU0RBVEFfT1VUM19NQVNLCQkJMHgxDQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFUQV9P VVQzX01BU0tfU0ZUCQkJKDB4MSA8PCAxNCkNCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09V VDJfU0ZUCQkJMTMNCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09VVDJfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RBVEFfT1VUMl9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQor I2RlZmluZSBNVEtBSUZUWF9WM19TREFUQV9PVVQxX1NGVAkJCTEyDQorI2RlZmluZSBNVEtBSUZU WF9WM19TREFUQV9PVVQxX01BU0sJCQkweDENCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09V VDFfTUFTS19TRlQJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfRklGT19TVEFU VVNfU0ZUCQkJMA0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfRklGT19TVEFUVVNfTUFTSwkJCTB4ZmZm DQorI2RlZmluZSBNVEtBSUZfUlhJRl9GSUZPX1NUQVRVU19NQVNLX1NGVAkJKDB4ZmZmIDw8IDAp DQorDQorLyogQUZFX0FEREFfTVRLQUlGX01PTjEgKi8NCisjZGVmaW5lIE1US0FJRlJYX1YzX1NZ TkNfSU5fU0ZUCQkJCTE1DQorI2RlZmluZSBNVEtBSUZSWF9WM19TWU5DX0lOX01BU0sJCQkweDEN CisjZGVmaW5lIE1US0FJRlJYX1YzX1NZTkNfSU5fTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNk ZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4zX1NGVAkJCTE0DQorI2RlZmluZSBNVEtBSUZSWF9W M19TREFUQV9JTjNfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4zX01B U0tfU0ZUCQkJKDB4MSA8PCAxNCkNCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOMl9TRlQJ CQkxMw0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4yX01BU0sJCQkweDENCisjZGVmaW5l IE1US0FJRlJYX1YzX1NEQVRBX0lOMl9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorI2RlZmluZSBN VEtBSUZSWF9WM19TREFUQV9JTjFfU0ZUCQkJMTINCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRB X0lOMV9NQVNLCQkJMHgxDQorI2RlZmluZSBNVEtBSUZSWF9WM19TREFUQV9JTjFfTUFTS19TRlQJ CQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfU0VBUkNIX0ZBSUxfRkxBR19TRlQJ CTExDQorI2RlZmluZSBNVEtBSUZfUlhJRl9TRUFSQ0hfRkFJTF9GTEFHX01BU0sJCTB4MQ0KKyNk ZWZpbmUgTVRLQUlGX1JYSUZfU0VBUkNIX0ZBSUxfRkxBR19NQVNLX1NGVAkJKDB4MSA8PCAxMSkN CisjZGVmaW5lIE1US0FJRl9SWElGX0lOVkFMSURfRkxBR19TRlQJCQk4DQorI2RlZmluZSBNVEtB SUZfUlhJRl9JTlZBTElEX0ZMQUdfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfSU5W QUxJRF9GTEFHX01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorI2RlZmluZSBNVEtBSUZfUlhJRl9JTlZB TElEX0NZQ0xFX1NGVAkJCTANCisjZGVmaW5lIE1US0FJRl9SWElGX0lOVkFMSURfQ1lDTEVfTUFT SwkJCTB4ZmYNCisjZGVmaW5lIE1US0FJRl9SWElGX0lOVkFMSURfQ1lDTEVfTUFTS19TRlQJCSgw eGZmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX01PTjIgKi8NCisjZGVmaW5lIE1US0FJ Rl9UWElGX0lOX0NIMl9TRlQJCQkJOA0KKyNkZWZpbmUgTVRLQUlGX1RYSUZfSU5fQ0gyX01BU0sJ CQkJMHhmZg0KKyNkZWZpbmUgTVRLQUlGX1RYSUZfSU5fQ0gyX01BU0tfU0ZUCQkJKDB4ZmYgPDwg OCkNCisjZGVmaW5lIE1US0FJRl9UWElGX0lOX0NIMV9TRlQJCQkJMA0KKyNkZWZpbmUgTVRLQUlG X1RYSUZfSU5fQ0gxX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgTVRLQUlGX1RYSUZfSU5fQ0gxX01B U0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRkVfQUREQTZfTVRLQUlGX01PTjMgKi8NCisj ZGVmaW5lIEFEREE2X01US0FJRl9UWElGX0lOX0NIMl9TRlQJCQk4DQorI2RlZmluZSBBRERBNl9N VEtBSUZfVFhJRl9JTl9DSDJfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIEFEREE2X01US0FJRl9UWElG X0lOX0NIMl9NQVNLX1NGVAkJKDB4ZmYgPDwgOCkNCisjZGVmaW5lIEFEREE2X01US0FJRl9UWElG X0lOX0NIMV9TRlQJCQkwDQorI2RlZmluZSBBRERBNl9NVEtBSUZfVFhJRl9JTl9DSDFfTUFTSwkJ CTB4ZmYNCisjZGVmaW5lIEFEREE2X01US0FJRl9UWElGX0lOX0NIMV9NQVNLX1NGVAkJKDB4ZmYg PDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfTU9ONCAqLw0KKyNkZWZpbmUgTVRLQUlGX1JY SUZfT1VUX0NIMl9TRlQJCQkJOA0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIMl9NQVNLCQkJ MHhmZg0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIMl9NQVNLX1NGVAkJCSgweGZmIDw8IDgp DQorI2RlZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gxX1NGVAkJCQkwDQorI2RlZmluZSBNVEtBSUZf UlhJRl9PVVRfQ0gxX01BU0sJCQkweGZmDQorI2RlZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gxX01B U0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfTU9ONSAqLw0KKyNk ZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIM19TRlQJCQkJMA0KKyNkZWZpbmUgTVRLQUlGX1JYSUZf T1VUX0NIM19NQVNLCQkJMHhmZg0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfT1VUX0NIM19NQVNLX1NG VAkJCSgweGZmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX0NGRzAgKi8NCisjZGVmaW5l IFJHX01US0FJRl9SWElGX0NMS0lOVl9TRlQJCQkxNQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZf Q0xLSU5WX01BU0sJCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0NMS0lOVl9NQVNLX1NG VAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfVFhJRl9QUk9UT0NPTDJf U0ZUCQk5DQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfVFhJRl9QUk9UT0NPTDJfTUFTSwkJMHgx DQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfVFhJRl9QUk9UT0NPTDJfTUFTS19TRlQJCSgweDEg PDwgOSkNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1BST1RPQ09MMl9TRlQJCQk4DQorI2RlZmlu ZSBSR19NVEtBSUZfUlhJRl9QUk9UT0NPTDJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlG X1JYSUZfUFJPVE9DT0wyX01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19NVEtBSUZf QllQQVNTX1NSQ19NT0RFX1NGVAkJCTYNCisjZGVmaW5lIFJHX01US0FJRl9CWVBBU1NfU1JDX01P REVfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfTVRLQUlGX0JZUEFTU19TUkNfTU9ERV9NQVNLX1NG VAkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX0JZUEFTU19TUkNfVEVTVF9TRlQJCQk1 DQorI2RlZmluZSBSR19NVEtBSUZfQllQQVNTX1NSQ19URVNUX01BU0sJCQkweDENCisjZGVmaW5l IFJHX01US0FJRl9CWVBBU1NfU1JDX1RFU1RfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5l IFJHX01US0FJRl9UWElGX1BST1RPQ09MMl9TRlQJCQk0DQorI2RlZmluZSBSR19NVEtBSUZfVFhJ Rl9QUk9UT0NPTDJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1RYSUZfUFJPVE9DT0wy X01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfUE1JQ19UWElG XzhUTzVfU0ZUCQkzDQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfUE1JQ19UWElGXzhUTzVfTUFT SwkJMHgxDQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfUE1JQ19UWElGXzhUTzVfTUFTS19TRlQJ CSgweDEgPDwgMykNCisjZGVmaW5lIFJHX01US0FJRl9QTUlDX1RYSUZfOFRPNV9TRlQJCQkyDQor I2RlZmluZSBSR19NVEtBSUZfUE1JQ19UWElGXzhUTzVfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdf TVRLQUlGX1BNSUNfVFhJRl84VE81X01BU0tfU0ZUCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19N VEtBSUZfTE9PUEJBQ0tfVEVTVDJfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfTVRLQUlGX0xPT1BCQUNL X1RFU1QyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9MT09QQkFDS19URVNUMl9NQVNL X1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfTVRLQUlGX0xPT1BCQUNLX1RFU1QxX1NGVAkJ CTANCisjZGVmaW5lIFJHX01US0FJRl9MT09QQkFDS19URVNUMV9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19NVEtBSUZfTE9PUEJBQ0tfVEVTVDFfTUFTS19TRlQJCSgweDEgPDwgMCkNCisNCisvKiBB RkVfQUREQV9NVEtBSUZfUlhfQ0ZHMCAqLw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfVk9JQ0Vf TU9ERV9TRlQJCQkxMg0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9ERV9NQVNLCQkJ MHhmDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9WT0lDRV9NT0RFX01BU0tfU0ZUCQkoMHhmIDw8 IDEyKQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREFUQV9CSVRfU0ZUCQkJOA0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYSUZfREFUQV9CSVRfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JY SUZfREFUQV9CSVRfTUFTS19TRlQJCSgweDcgPDwgOCkNCisjZGVmaW5lIFJHX01US0FJRl9SWElG X0ZJRk9fUlNQX1NGVAkJCTQNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0ZJRk9fUlNQX01BU0sJ CQkweDcNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0ZJRk9fUlNQX01BU0tfU0ZUCQkoMHg3IDw8 IDQpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9ERVRFQ1RfT05fU0ZUCQkJMw0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYSUZfREVURUNUX09OX01BU0sJCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9S WElGX0RFVEVDVF9PTl9NQVNLX1NGVAkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JY SUZfREFUQV9NT0RFX1NGVAkJCTANCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0RBVEFfTU9ERV9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9EQVRBX01PREVfTUFTS19TRlQJCSgw eDEgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfUlhfQ0ZHMSAqLw0KKyNkZWZpbmUgUkdf TVRLQUlGX1JYSUZfU1lOQ19TRUFSQ0hfVEFCTEVfU0ZUCQkxMg0KKyNkZWZpbmUgUkdfTVRLQUlG X1JYSUZfU1lOQ19TRUFSQ0hfVEFCTEVfTUFTSwkJMHhmDQorI2RlZmluZSBSR19NVEtBSUZfUlhJ Rl9TWU5DX1NFQVJDSF9UQUJMRV9NQVNLX1NGVAkoMHhmIDw8IDEyKQ0KKyNkZWZpbmUgUkdfTVRL QUlGX1JYSUZfSU5WQUxJRF9TWU5DX0NIRUNLX1JPVU5EX1NGVAk4DQorI2RlZmluZSBSR19NVEtB SUZfUlhJRl9JTlZBTElEX1NZTkNfQ0hFQ0tfUk9VTkRfTUFTSwkweGYNCisjZGVmaW5lIFJHX01U S0FJRl9SWElGX0lOVkFMSURfU1lOQ19DSEVDS19ST1VORF9NQVNLX1NGVAkoMHhmIDw8IDgpDQor I2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX0NIRUNLX1JPVU5EX1NGVAkJNA0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYSUZfU1lOQ19DSEVDS19ST1VORF9NQVNLCQkweGYNCisjZGVmaW5lIFJHX01U S0FJRl9SWElGX1NZTkNfQ0hFQ0tfUk9VTkRfTUFTS19TRlQJKDB4ZiA8PCA0KQ0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYSUZfVk9JQ0VfTU9ERV9QUk9UT0NPTDJfU0ZUCQkwDQorI2RlZmluZSBSR19N VEtBSUZfUlhJRl9WT0lDRV9NT0RFX1BST1RPQ09MMl9NQVNLCTB4Zg0KKyNkZWZpbmUgUkdfTVRL QUlGX1JYSUZfVk9JQ0VfTU9ERV9QUk9UT0NPTDJfTUFTS19TRlQJKDB4ZiA8PCAwKQ0KKw0KKy8q IEFGRV9BRERBX01US0FJRl9SWF9DRkcyICovDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9QMl9J TlBVVF9TRUxfU0ZUCQkJMTUNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1AyX0lOUFVUX1NFTF9N QVNLCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1AyX0lOUFVUX1NFTF9NQVNLX1NGVAkJ KDB4MSA8PCAxNSkNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1NZTkNfV09SRDJfRElTQUJMRV9T RlQJCTE0DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1dPUkQyX0RJU0FCTEVfTUFTSwkJ MHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1dPUkQyX0RJU0FCTEVfTUFTS19TRlQJ KDB4MSA8PCAxNCkNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1NZTkNfV09SRDFfRElTQUJMRV9T RlQJCTEzDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1dPUkQxX0RJU0FCTEVfTUFTSwkJ MHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1dPUkQxX0RJU0FCTEVfTUFTS19TRlQJ KDB4MSA8PCAxMykNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0NMRUFSX1NZTkNfRkFJTF9TRlQJ CTEyDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9DTEVBUl9TWU5DX0ZBSUxfTUFTSwkJMHgxDQor I2RlZmluZSBSR19NVEtBSUZfUlhJRl9DTEVBUl9TWU5DX0ZBSUxfTUFTS19TRlQJCSgweDEgPDwg MTIpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX0NOVF9UQUJMRV9TRlQJCTANCisjZGVm aW5lIFJHX01US0FJRl9SWElGX1NZTkNfQ05UX1RBQkxFX01BU0sJCTB4ZmZmDQorI2RlZmluZSBS R19NVEtBSUZfUlhJRl9TWU5DX0NOVF9UQUJMRV9NQVNLX1NGVAkJKDB4ZmZmIDw8IDApDQorDQor LyogQUZFX0FEREFfTVRLQUlGX1JYX0NGRzMgKi8NCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0xP T1BCQUNLX1VTRV9OTEVfU0ZUCQk3DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9MT09QQkFDS19V U0VfTkxFX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfTE9PUEJBQ0tfVVNFX05M RV9NQVNLX1NGVAkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX1JTUF9Q Uk9UT0NPTDJfU0ZUCQk0DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX1JTUF9QUk9UT0NP TDJfTUFTSwkJMHg3DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9GSUZPX1JTUF9QUk9UT0NPTDJf TUFTS19TRlQJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREVURUNUX09OX1BS T1RPQ09MMl9TRlQJCTMNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0RFVEVDVF9PTl9QUk9UT0NP TDJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9ERVRFQ1RfT05fUFJPVE9DT0wy X01BU0tfU0ZUCSgweDEgPDwgMykNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfU1lOQ1dPUkRfQ0ZH MCAqLw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYX1NZTkNfV09SRDJfU0ZUCQkJNA0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYX1NZTkNfV09SRDJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JY X1NZTkNfV09SRDJfTUFTS19TRlQJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX01US0FJRl9SWF9T WU5DX1dPUkQxX1NGVAkJCTANCisjZGVmaW5lIFJHX01US0FJRl9SWF9TWU5DX1dPUkQxX01BU0sJ CQkweDcNCisjZGVmaW5lIFJHX01US0FJRl9SWF9TWU5DX1dPUkQxX01BU0tfU0ZUCQkoMHg3IDw8 IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX1NZTkNXT1JEX0NGRzEgKi8NCisjZGVmaW5lIFJH X0FEREE2X01US0FJRl9UWF9TWU5DX1dPUkQyX1NGVAkJMTINCisjZGVmaW5lIFJHX0FEREE2X01U S0FJRl9UWF9TWU5DX1dPUkQyX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RY X1NZTkNfV09SRDJfTUFTS19TRlQJCSgweDcgPDwgMTIpDQorI2RlZmluZSBSR19BRERBNl9NVEtB SUZfVFhfU1lOQ19XT1JEMV9TRlQJCTgNCisjZGVmaW5lIFJHX0FEREE2X01US0FJRl9UWF9TWU5D X1dPUkQxX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYX1NZTkNfV09SRDFf TUFTS19TRlQJCSgweDcgPDwgOCkNCisjZGVmaW5lIFJHX0FEREFfTVRLQUlGX1RYX1NZTkNfV09S RDJfU0ZUCQk0DQorI2RlZmluZSBSR19BRERBX01US0FJRl9UWF9TWU5DX1dPUkQyX01BU0sJCTB4 Nw0KKyNkZWZpbmUgUkdfQUREQV9NVEtBSUZfVFhfU1lOQ19XT1JEMl9NQVNLX1NGVAkJKDB4NyA8 PCA0KQ0KKyNkZWZpbmUgUkdfQUREQV9NVEtBSUZfVFhfU1lOQ19XT1JEMV9TRlQJCTANCisjZGVm aW5lIFJHX0FEREFfTVRLQUlGX1RYX1NZTkNfV09SRDFfTUFTSwkJMHg3DQorI2RlZmluZSBSR19B RERBX01US0FJRl9UWF9TWU5DX1dPUkQxX01BU0tfU0ZUCQkoMHg3IDw8IDApDQorDQorLyogQUZF X1NHRU5fQ0ZHMCAqLw0KKyNkZWZpbmUgU0dFTl9BTVBfRElWX0NIMV9DVExfU0ZUCQkJMTINCisj ZGVmaW5lIFNHRU5fQU1QX0RJVl9DSDFfQ1RMX01BU0sJCQkweGYNCisjZGVmaW5lIFNHRU5fQU1Q X0RJVl9DSDFfQ1RMX01BU0tfU0ZUCQkJKDB4ZiA8PCAxMikNCisjZGVmaW5lIFNHRU5fREFDX0VO X0NUTF9TRlQJCQkJNw0KKyNkZWZpbmUgU0dFTl9EQUNfRU5fQ1RMX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBTR0VOX0RBQ19FTl9DVExfTUFTS19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBTR0VO X01VVEVfU1dfQ1RMX1NGVAkJCQk2DQorI2RlZmluZSBTR0VOX01VVEVfU1dfQ1RMX01BU0sJCQkJ MHgxDQorI2RlZmluZSBTR0VOX01VVEVfU1dfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCA2KQ0KKyNk ZWZpbmUgUl9BVURfU0RNX01VVEVfTF9TRlQJCQkJNQ0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVf TF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVfTF9NQVNLX1NGVAkJCSgweDEg PDwgNSkNCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX1JfU0ZUCQkJCTQNCisjZGVmaW5lIFJfQVVE X1NETV9NVVRFX1JfTUFTSwkJCQkweDENCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX1JfTUFTS19T RlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9MXzJORF9TRlQJCQkzDQor I2RlZmluZSBSX0FVRF9TRE1fTVVURV9MXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBSX0FVRF9T RE1fTVVURV9MXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJfQVVEX1NETV9N VVRFX1JfMk5EX1NGVAkJCTINCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX1JfMk5EX01BU0sJCQkw eDENCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX1JfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0K Kw0KKy8qIEFGRV9TR0VOX0NGRzEgKi8NCisjZGVmaW5lIENfU0dFTl9SQ0hfSU5WXzVCSVRfU0ZU CQkJCTE1DQorI2RlZmluZSBDX1NHRU5fUkNIX0lOVl81QklUX01BU0sJCQkweDENCisjZGVmaW5l IENfU0dFTl9SQ0hfSU5WXzVCSVRfTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgQ19T R0VOX1JDSF9JTlZfOEJJVF9TRlQJCQkJMTQNCisjZGVmaW5lIENfU0dFTl9SQ0hfSU5WXzhCSVRf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ19TR0VOX1JDSF9JTlZfOEJJVF9NQVNLX1NGVAkJCSgweDEg PDwgMTQpDQorI2RlZmluZSBTR0VOX0ZSRVFfRElWX0NIMV9DVExfU0ZUCQkJMA0KKyNkZWZpbmUg U0dFTl9GUkVRX0RJVl9DSDFfQ1RMX01BU0sJCQkweDFmDQorI2RlZmluZSBTR0VOX0ZSRVFfRElW X0NIMV9DVExfTUFTS19TRlQJCQkoMHgxZiA8PCAwKQ0KKw0KKy8qIEFGRV9BRENfQVNZTkNfRklG T19DRkcgKi8NCisjZGVmaW5lIFJHX1VMX0FTWU5DX0ZJRk9fU09GVF9SU1RfRU5fU0ZUCQk1DQor I2RlZmluZSBSR19VTF9BU1lOQ19GSUZPX1NPRlRfUlNUX0VOX01BU0sJCTB4MQ0KKyNkZWZpbmUg UkdfVUxfQVNZTkNfRklGT19TT0ZUX1JTVF9FTl9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZp bmUgUkdfVUxfQVNZTkNfRklGT19TT0ZUX1JTVF9TRlQJCQk0DQorI2RlZmluZSBSR19VTF9BU1lO Q19GSUZPX1NPRlRfUlNUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX1VMX0FTWU5DX0ZJRk9fU09G VF9SU1RfTUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FNSUNfVUxfQURDX0NMS19T RUxfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQU1JQ19VTF9BRENfQ0xLX1NFTF9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19BTUlDX1VMX0FEQ19DTEtfU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKw0K Ky8qIEFGRV9BRENfQVNZTkNfRklGT19DRkcxICovDQorI2RlZmluZSBSR19VTDJfQVNZTkNfRklG T19TT0ZUX1JTVF9FTl9TRlQJCTUNCisjZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNU X0VOX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfVUwyX0FTWU5DX0ZJRk9fU09GVF9SU1RfRU5fTUFT S19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNUX1NG VAkJCTQNCisjZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNUX01BU0sJCQkweDENCisj ZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNUX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQor DQorLyogQUZFX0RDQ0xLX0NGRzAgKi8NCisjZGVmaW5lIERDQ0xLX0RJVl9TRlQJCQkJCTUNCisj ZGVmaW5lIERDQ0xLX0RJVl9NQVNLCQkJCQkweDdmZg0KKyNkZWZpbmUgRENDTEtfRElWX01BU0tf U0ZUCQkJCSgweDdmZiA8PCA1KQ0KKyNkZWZpbmUgRENDTEtfSU5WX1NGVAkJCQkJNA0KKyNkZWZp bmUgRENDTEtfSU5WX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgRENDTEtfSU5WX01BU0tfU0ZUCQkJ CSgweDEgPDwgNCkNCisjZGVmaW5lIERDQ0xLX1JFRl9DS19TRUxfU0ZUCQkJCTINCisjZGVmaW5l IERDQ0xLX1JFRl9DS19TRUxfTUFTSwkJCQkweDMNCisjZGVmaW5lIERDQ0xLX1JFRl9DS19TRUxf TUFTS19TRlQJCQkoMHgzIDw8IDIpDQorI2RlZmluZSBEQ0NMS19QRE5fU0ZUCQkJCQkxDQorI2Rl ZmluZSBEQ0NMS19QRE5fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBEQ0NMS19QRE5fTUFTS19TRlQJ CQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgRENDTEtfR0VOX09OX1NGVAkJCQkwDQorI2RlZmluZSBE Q0NMS19HRU5fT05fTUFTSwkJCQkweDENCisjZGVmaW5lIERDQ0xLX0dFTl9PTl9NQVNLX1NGVAkJ CQkoMHgxIDw8IDApDQorDQorLyogQUZFX0RDQ0xLX0NGRzEgKi8NCisjZGVmaW5lIFJFU1lOQ19T UkNfU0VMX1NGVAkJCQkxMA0KKyNkZWZpbmUgUkVTWU5DX1NSQ19TRUxfTUFTSwkJCQkweDMNCisj ZGVmaW5lIFJFU1lOQ19TUkNfU0VMX01BU0tfU0ZUCQkJCSgweDMgPDwgMTApDQorI2RlZmluZSBS RVNZTkNfU1JDX0NLX0lOVl9TRlQJCQkJOQ0KKyNkZWZpbmUgUkVTWU5DX1NSQ19DS19JTlZfTUFT SwkJCQkweDENCisjZGVmaW5lIFJFU1lOQ19TUkNfQ0tfSU5WX01BU0tfU0ZUCQkJKDB4MSA8PCA5 KQ0KKyNkZWZpbmUgRENDTEtfUkVTWU5DX0JZUEFTU19TRlQJCQkJOA0KKyNkZWZpbmUgRENDTEtf UkVTWU5DX0JZUEFTU19NQVNLCQkJMHgxDQorI2RlZmluZSBEQ0NMS19SRVNZTkNfQllQQVNTX01B U0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgRENDTEtfUEhBU0VfU0VMX1NGVAkJCQk0DQor I2RlZmluZSBEQ0NMS19QSEFTRV9TRUxfTUFTSwkJCQkweGYNCisjZGVmaW5lIERDQ0xLX1BIQVNF X1NFTF9NQVNLX1NGVAkJCSgweGYgPDwgNCkNCisNCisvKiBBVURJT19ESUdfQ0ZHICovDQorI2Rl ZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTTzJfTE9PUEJBQ0tfU0ZUCQkxNQ0KKyNkZWZpbmUg UkdfQVVEX1BBRF9UT1BfREFUX01JU08yX0xPT1BCQUNLX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEX1BBRF9UT1BfREFUX01JU08yX0xPT1BCQUNLX01BU0tfU0ZUCSgweDEgPDwgMTUpDQorI2Rl ZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFMl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURf UEFEX1RPUF9QSEFTRV9NT0RFMl9NQVNLCQkJMHg3Zg0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1Bf UEhBU0VfTU9ERTJfTUFTS19TRlQJCSgweDdmIDw8IDgpDQorI2RlZmluZSBSR19BVURfUEFEX1RP UF9EQVRfTUlTT19MT09QQkFDS19TRlQJCTcNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9N SVNPX0xPT1BCQUNLX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfREFUX01JU09f TE9PUEJBQ0tfTUFTS19TRlQJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhB U0VfTU9ERV9TRlQJCQkwDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFX01BU0sJ CQkweDdmDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFX01BU0tfU0ZUCQkoMHg3 ZiA8PCAwKQ0KKw0KKy8qIEFVRElPX0RJR19DRkcxICovDQorI2RlZmluZSBSR19BVURfUEFEX1RP UF9EQVRfTUlTTzNfTE9PUEJBQ0tfU0ZUCQk3DQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRf TUlTTzNfTE9PUEJBQ0tfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlT TzNfTE9PUEJBQ0tfTUFTS19TRlQJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1Bf UEhBU0VfTU9ERTNfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfUEhBU0VfTU9ERTNf TUFTSwkJCTB4N2YNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1BIQVNFX01PREUzX01BU0tfU0ZU CQkoMHg3ZiA8PCAwKQ0KKw0KKy8qIEFGRV9BVURfUEFEX1RPUCAqLw0KKyNkZWZpbmUgUkdfQVVE X1BBRF9UT1BfVFhfRklGT19SU1BfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1RY X0ZJRk9fUlNQX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fUlNQ X01BU0tfU0ZUCQkoMHg3IDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfTVRLQUlGX0NM S19QUk9UT0NPTDJfU0ZUCQkxMQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfTVRLQUlGX0NMS19Q Uk9UT0NPTDJfTUFTSwkweDENCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX01US0FJRl9DTEtfUFJP VE9DT0wyX01BU0tfU0ZUCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9UWF9G SUZPX09OX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fT05fTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfVFhfRklGT19PTl9NQVNLX1NGVAkJKDB4MSA8 PCA4KQ0KKw0KKy8qIEFGRV9BVURfUEFEX1RPUF9NT04gKi8NCisjZGVmaW5lIEFEREFfQVVEX1BB RF9UT1BfTU9OX1NGVAkJCTANCisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OX01BU0sJCQkw eGZmZmYNCisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OX01BU0tfU0ZUCQkJKDB4ZmZmZiA8 PCAwKQ0KKw0KKy8qIEFGRV9BVURfUEFEX1RPUF9NT04xICovDQorI2RlZmluZSBBRERBX0FVRF9Q QURfVE9QX01PTjFfU0ZUCQkJMA0KKyNkZWZpbmUgQUREQV9BVURfUEFEX1RPUF9NT04xX01BU0sJ CQkweGZmZmYNCisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OMV9NQVNLX1NGVAkJCSgweGZm ZmYgPDwgMCkNCisNCisvKiBBRkVfQVVEX1BBRF9UT1BfTU9OMiAqLw0KKyNkZWZpbmUgQUREQV9B VURfUEFEX1RPUF9NT04yX1NGVAkJCTANCisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OMl9N QVNLCQkJMHhmZmZmDQorI2RlZmluZSBBRERBX0FVRF9QQURfVE9QX01PTjJfTUFTS19TRlQJCQko MHhmZmZmIDw8IDApDQorDQorLyogQUZFX0RMX05MRV9DRkcgKi8NCisjZGVmaW5lIE5MRV9SQ0hf SFBHQUlOX1NFTF9TRlQJCQkJMTANCisjZGVmaW5lIE5MRV9SQ0hfSFBHQUlOX1NFTF9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgTkxFX1JDSF9IUEdBSU5fU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxMCkN CisjZGVmaW5lIE5MRV9SQ0hfQ0hfU0VMX1NGVAkJCQk5DQorI2RlZmluZSBOTEVfUkNIX0NIX1NF TF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgTkxFX1JDSF9DSF9TRUxfTUFTS19TRlQJCQkJKDB4MSA8 PCA5KQ0KKyNkZWZpbmUgTkxFX1JDSF9PTl9TRlQJCQkJCTgNCisjZGVmaW5lIE5MRV9SQ0hfT05f TUFTSwkJCQkJMHgxDQorI2RlZmluZSBOTEVfUkNIX09OX01BU0tfU0ZUCQkJCSgweDEgPDwgOCkN CisjZGVmaW5lIE5MRV9MQ0hfSFBHQUlOX1NFTF9TRlQJCQkJMg0KKyNkZWZpbmUgTkxFX0xDSF9I UEdBSU5fU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBOTEVfTENIX0hQR0FJTl9TRUxfTUFTS19T RlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBOTEVfTENIX0NIX1NFTF9TRlQJCQkJMQ0KKyNkZWZp bmUgTkxFX0xDSF9DSF9TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIE5MRV9MQ0hfQ0hfU0VMX01B U0tfU0ZUCQkJCSgweDEgPDwgMSkNCisjZGVmaW5lIE5MRV9MQ0hfT05fU0ZUCQkJCQkwDQorI2Rl ZmluZSBOTEVfTENIX09OX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgTkxFX0xDSF9PTl9NQVNLX1NG VAkJCQkoMHgxIDw8IDApDQorDQorLyogQUZFX0RMX05MRV9NT04gKi8NCisjZGVmaW5lIE5MRV9N T05JVE9SX1NGVAkJCQkJMA0KKyNkZWZpbmUgTkxFX01PTklUT1JfTUFTSwkJCQkweDNmZmYNCisj ZGVmaW5lIE5MRV9NT05JVE9SX01BU0tfU0ZUCQkJCSgweDNmZmYgPDwgMCkNCisNCisvKiBBRkVf Q0dfRU5fTU9OICovDQorI2RlZmluZSBDS19DR19FTl9NT05fU0ZUCQkJCTANCisjZGVmaW5lIENL X0NHX0VOX01PTl9NQVNLCQkJCTB4M2YNCisjZGVmaW5lIENLX0NHX0VOX01PTl9NQVNLX1NGVAkJ CQkoMHgzZiA8PCAwKQ0KKw0KKy8qIEFGRV9NSUNfQVJSQVlfQ0ZHICovDQorI2RlZmluZSBSR19B TUlDX0FEQzFfU09VUkNFX1NFTF9TRlQJCQkxMA0KKyNkZWZpbmUgUkdfQU1JQ19BREMxX1NPVVJD RV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQU1JQ19BREMxX1NPVVJDRV9TRUxfTUFTS19T RlQJCSgweDMgPDwgMTApDQorI2RlZmluZSBSR19BTUlDX0FEQzJfU09VUkNFX1NFTF9TRlQJCQk4 DQorI2RlZmluZSBSR19BTUlDX0FEQzJfU09VUkNFX1NFTF9NQVNLCQkJMHgzDQorI2RlZmluZSBS R19BTUlDX0FEQzJfU09VUkNFX1NFTF9NQVNLX1NGVAkJKDB4MyA8PCA4KQ0KKyNkZWZpbmUgUkdf QU1JQ19BREMzX1NPVVJDRV9TRUxfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQU1JQ19BREMzX1NPVVJD RV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQU1JQ19BREMzX1NPVVJDRV9TRUxfTUFTS19T RlQJCSgweDMgPDwgNikNCisjZGVmaW5lIFJHX0RNSUNfQURDMV9TT1VSQ0VfU0VMX1NGVAkJCTQN CisjZGVmaW5lIFJHX0RNSUNfQURDMV9TT1VSQ0VfU0VMX01BU0sJCQkweDMNCisjZGVmaW5lIFJH X0RNSUNfQURDMV9TT1VSQ0VfU0VMX01BU0tfU0ZUCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19E TUlDX0FEQzJfU09VUkNFX1NFTF9TRlQJCQkyDQorI2RlZmluZSBSR19ETUlDX0FEQzJfU09VUkNF X1NFTF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19ETUlDX0FEQzJfU09VUkNFX1NFTF9NQVNLX1NG VAkJKDB4MyA8PCAyKQ0KKyNkZWZpbmUgUkdfRE1JQ19BREMzX1NPVVJDRV9TRUxfU0ZUCQkJMA0K KyNkZWZpbmUgUkdfRE1JQ19BREMzX1NPVVJDRV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdf RE1JQ19BREMzX1NPVVJDRV9TRUxfTUFTS19TRlQJCSgweDMgPDwgMCkNCisNCisvKiBBRkVfQ0hP UF9DRkcwICovDQorI2RlZmluZSBSR19DSE9QX0RJVl9TRUxfU0ZUCQkJCTQNCisjZGVmaW5lIFJH X0NIT1BfRElWX1NFTF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0NIT1BfRElWX1NFTF9NQVNL X1NGVAkJCSgweDFmIDw8IDQpDQorI2RlZmluZSBSR19DSE9QX0RJVl9FTl9TRlQJCQkJMA0KKyNk ZWZpbmUgUkdfQ0hPUF9ESVZfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0NIT1BfRElWX0VO X01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisNCisvKiBBRkVfTVRLQUlGX01VWF9DRkcgKi8NCisj ZGVmaW5lIFJHX0FEREE2X0VOX1NFTF9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0FEREE2X0VOX1NF TF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQUREQTZfRU5fU0VMX01BU0tfU0ZUCQkJKDB4MSA8 PCAxMikNCisjZGVmaW5lIFJHX0FEREE2X0NIMl9TRUxfU0ZUCQkJCTEwDQorI2RlZmluZSBSR19B RERBNl9DSDJfU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BRERBNl9DSDJfU0VMX01BU0tf U0ZUCQkJKDB4MyA8PCAxMCkNCisjZGVmaW5lIFJHX0FEREE2X0NIMV9TRUxfU0ZUCQkJCTgNCisj ZGVmaW5lIFJHX0FEREE2X0NIMV9TRUxfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FEREE2X0NI MV9TRUxfTUFTS19TRlQJCQkoMHgzIDw8IDgpDQorI2RlZmluZSBSR19BRERBX0VOX1NFTF9TRlQJ CQkJNA0KKyNkZWZpbmUgUkdfQUREQV9FTl9TRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FE REFfRU5fU0VMX01BU0tfU0ZUCQkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FEREFfQ0gyX1NF TF9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQUREQV9DSDJfU0VMX01BU0sJCQkJMHgzDQorI2RlZmlu ZSBSR19BRERBX0NIMl9TRUxfTUFTS19TRlQJCQkoMHgzIDw8IDIpDQorI2RlZmluZSBSR19BRERB X0NIMV9TRUxfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FEREFfQ0gxX1NFTF9NQVNLCQkJCTB4Mw0K KyNkZWZpbmUgUkdfQUREQV9DSDFfU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCAwKQ0KKw0KKy8qIEFG RV9QTUlDX05FV0lGX0NGRzMgKi8NCisjZGVmaW5lIFJHX1VQOFhfU1lOQ19XT1JEX1NGVAkJCQkw DQorI2RlZmluZSBSR19VUDhYX1NZTkNfV09SRF9NQVNLCQkJCTB4ZmZmZg0KKyNkZWZpbmUgUkdf VVA4WF9TWU5DX1dPUkRfTUFTS19TRlQJCQkoMHhmZmZmIDw8IDApDQorDQorLyogQUZFX05DUF9D RkcwICovDQorI2RlZmluZSAgUkdfTkNQX0NLMV9WQUxJRF9DTlRfU0ZUCQkJOQ0KKyNkZWZpbmUg IFJHX05DUF9DSzFfVkFMSURfQ05UX01BU0sJCQkweDdmDQorI2RlZmluZSAgUkdfTkNQX0NLMV9W QUxJRF9DTlRfTUFTS19TRlQJCQkoMHg3ZiA8PCA5KQ0KKyNkZWZpbmUgUkdfTkNQX0FESVRIX1NG VAkJCQk4DQorI2RlZmluZSBSR19OQ1BfQURJVEhfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX05D UF9BRElUSF9NQVNLX1NGVAkJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0VO X1NGVAkJCQk3DQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0VOX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19OQ1BfRElUSEVSX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfTkNQ X0RJVEhFUl9GSVhFRF9DSzBfQUNLMV8yUF9TRlQJCTQNCisjZGVmaW5lIFJHX05DUF9ESVRIRVJf RklYRURfQ0swX0FDSzFfMlBfTUFTSwkJMHg3DQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0ZJWEVE X0NLMF9BQ0sxXzJQX01BU0tfU0ZUCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX05DUF9ESVRIRVJf RklYRURfQ0swX0FDSzJfMlBfU0ZUCQkxDQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0ZJWEVEX0NL MF9BQ0syXzJQX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfTkNQX0RJVEhFUl9GSVhFRF9DSzBfQUNL Ml8yUF9NQVNLX1NGVAkoMHg3IDw8IDEpDQorI2RlZmluZSBSR19OQ1BfT05fU0ZUCQkJCQkwDQor I2RlZmluZSBSR19OQ1BfT05fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBSR19OQ1BfT05fTUFTS19T RlQJCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9OQ1BfQ0ZHMSAqLw0KKyNkZWZpbmUgUkdfWFlf VkFMX0NGR19FTl9TRlQJCQkJMTUNCisjZGVmaW5lIFJHX1hZX1ZBTF9DRkdfRU5fTUFTSwkJCQkw eDENCisjZGVmaW5lIFJHX1hZX1ZBTF9DRkdfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNk ZWZpbmUgUkdfWF9WQUxfQ0ZHX1NGVAkJCQk4DQorI2RlZmluZSBSR19YX1ZBTF9DRkdfTUFTSwkJ CQkweDdmDQorI2RlZmluZSBSR19YX1ZBTF9DRkdfTUFTS19TRlQJCQkJKDB4N2YgPDwgOCkNCisj ZGVmaW5lIFJHX1lfVkFMX0NGR19TRlQJCQkJMA0KKyNkZWZpbmUgUkdfWV9WQUxfQ0ZHX01BU0sJ CQkJMHg3Zg0KKyNkZWZpbmUgUkdfWV9WQUxfQ0ZHX01BU0tfU0ZUCQkJCSgweDdmIDw8IDApDQor DQorLyogQUZFX05DUF9DRkcyICovDQorI2RlZmluZSBSR19OQ1BfTk9OQ0xLX1NFVF9TRlQJCQkJ MQ0KKyNkZWZpbmUgUkdfTkNQX05PTkNMS19TRVRfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX05D UF9OT05DTEtfU0VUX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfTkNQX1BERElT X0VOX1NGVAkJCQkwDQorI2RlZmluZSBSR19OQ1BfUERESVNfRU5fTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX05DUF9QRERJU19FTl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBVURFTkNf QU5BX0NPTjAgKi8NCisjZGVmaW5lIFJHX0FVRFBSRUFNUExPTl9TRlQJCQkJMA0KKyNkZWZpbmUg UkdfQVVEUFJFQU1QTE9OX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBMT05fTUFT S19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURQUkVBTVBMRENDRU5fU0ZUCQkJCTEN CisjZGVmaW5lIFJHX0FVRFBSRUFNUExEQ0NFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE UFJFQU1QTERDQ0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1Q TERDUFJFQ0hBUkdFX1NGVAkJCTINCisjZGVmaW5lIFJHX0FVRFBSRUFNUExEQ1BSRUNIQVJHRV9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBMRENQUkVDSEFSR0VfTUFTS19TRlQJCSgw eDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExQR0FURVNUX1NGVAkJCTMNCisjZGVmaW5l IFJHX0FVRFBSRUFNUExQR0FURVNUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUExQ R0FURVNUX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFZTQ0FM RV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFZTQ0FMRV9NQVNLCQkJMHgzDQorI2Rl ZmluZSBSR19BVURQUkVBTVBMVlNDQUxFX01BU0tfU0ZUCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUg UkdfQVVEUFJFQU1QTElOUFVUU0VMX1NGVAkJCTYNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExJTlBV VFNFTF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURQUkVBTVBMSU5QVVRTRUxfTUFTS19TRlQJ CQkoMHgzIDw8IDYpDQorI2RlZmluZSBSR19BVURQUkVBTVBMR0FJTl9TRlQJCQkJOA0KKyNkZWZp bmUgUkdfQVVEUFJFQU1QTEdBSU5fTUFTSwkJCQkweDcNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExH QUlOX01BU0tfU0ZUCQkJKDB4NyA8PCA4KQ0KKyNkZWZpbmUgUkdfQlVMS0xfVkNNX0VOX1NGVAkJ CQkxMQ0KKyNkZWZpbmUgUkdfQlVMS0xfVkNNX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19C VUxLTF9WQ01fRU5fTUFTS19TRlQJCQkoMHgxIDw8IDExKQ0KKyNkZWZpbmUgUkdfQVVEQURDTFBX UlVQX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfQVVEQURDTFBXUlVQX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVURBRENMUFdSVVBfTUFTS19TRlQJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdf QVVEQURDTElOUFVUU0VMX1NGVAkJCQkxMw0KKyNkZWZpbmUgUkdfQVVEQURDTElOUFVUU0VMX01B U0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURBRENMSU5QVVRTRUxfTUFTS19TRlQJCQkoMHgzIDw8 IDEzKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMSAqLw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUk9O X1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURQUkVBTVBST05fTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX0FVRFBSRUFNUFJPTl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFBS RUFNUFJEQ0NFTl9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkRDQ0VOX01BU0sJCQkJ MHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBSRENDRU5fTUFTS19TRlQJCQkoMHgxIDw8IDEpDQor I2RlZmluZSBSR19BVURQUkVBTVBSRENQUkVDSEFSR0VfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVE UFJFQU1QUkRDUFJFQ0hBUkdFX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJEQ1BS RUNIQVJHRV9NQVNLX1NGVAkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUlBHQVRF U1RfU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUlBHQVRFU1RfTUFTSwkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVEUFJFQU1QUlBHQVRFU1RfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmlu ZSBSR19BVURQUkVBTVBSVlNDQUxFX1NGVAkJCQk0DQorI2RlZmluZSBSR19BVURQUkVBTVBSVlND QUxFX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJWU0NBTEVfTUFTS19TRlQJCQko MHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURQUkVBTVBSSU5QVVRTRUxfU0ZUCQkJNg0KKyNkZWZp bmUgUkdfQVVEUFJFQU1QUklOUFVUU0VMX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFBSRUFN UFJJTlBVVFNFTF9NQVNLX1NGVAkJCSgweDMgPDwgNikNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJH QUlOX1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURQUkVBTVBSR0FJTl9NQVNLCQkJCTB4Nw0KKyNk ZWZpbmUgUkdfQVVEUFJFQU1QUkdBSU5fTUFTS19TRlQJCQkoMHg3IDw8IDgpDQorI2RlZmluZSBS R19CVUxLUl9WQ01fRU5fU0ZUCQkJCTExDQorI2RlZmluZSBSR19CVUxLUl9WQ01fRU5fTUFTSwkJ CQkweDENCisjZGVmaW5lIFJHX0JVTEtSX1ZDTV9FTl9NQVNLX1NGVAkJCSgweDEgPDwgMTEpDQor I2RlZmluZSBSR19BVURBRENSUFdSVVBfU0ZUCQkJCTEyDQorI2RlZmluZSBSR19BVURBRENSUFdS VVBfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ1JQV1JVUF9NQVNLX1NGVAkJCSgweDEg PDwgMTIpDQorI2RlZmluZSBSR19BVURBRENSSU5QVVRTRUxfU0ZUCQkJCTEzDQorI2RlZmluZSBS R19BVURBRENSSU5QVVRTRUxfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FVREFEQ1JJTlBVVFNF TF9NQVNLX1NGVAkJCSgweDMgPDwgMTMpDQorDQorLyogQVVERU5DX0FOQV9DT04yICovDQorI2Rl ZmluZSBSR19BVURQUkVBTVAzT05fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNPTl9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM09OX01BU0tfU0ZUCQkJKDB4MSA8PCAw KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0RDQ0VOX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURQ UkVBTVAzRENDRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNEQ0NFTl9NQVNL X1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNEQ1BSRUNIQVJHRV9TRlQJ CQkyDQorI2RlZmluZSBSR19BVURQUkVBTVAzRENQUkVDSEFSR0VfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVEUFJFQU1QM0RDUFJFQ0hBUkdFX01BU0tfU0ZUCQkoMHgxIDw8IDIpDQorI2RlZmlu ZSBSR19BVURQUkVBTVAzUEdBVEVTVF9TRlQJCQkzDQorI2RlZmluZSBSR19BVURQUkVBTVAzUEdB VEVTVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVAzUEdBVEVTVF9NQVNLX1NGVAkJ CSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNWU0NBTEVfU0ZUCQkJCTQNCisjZGVm aW5lIFJHX0FVRFBSRUFNUDNWU0NBTEVfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1Q M1ZTQ0FMRV9NQVNLX1NGVAkJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNJTlBV VFNFTF9TRlQJCQk2DQorI2RlZmluZSBSR19BVURQUkVBTVAzSU5QVVRTRUxfTUFTSwkJCTB4Mw0K KyNkZWZpbmUgUkdfQVVEUFJFQU1QM0lOUFVUU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCA2KQ0KKyNk ZWZpbmUgUkdfQVVEUFJFQU1QM0dBSU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNH QUlOX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19BVURQUkVBTVAzR0FJTl9NQVNLX1NGVAkJCSgw eDcgPDwgOCkNCisjZGVmaW5lIFJHX0JVTEszX1ZDTV9FTl9TRlQJCQkJMTENCisjZGVmaW5lIFJH X0JVTEszX1ZDTV9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQlVMSzNfVkNNX0VOX01BU0tf U0ZUCQkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0FVREFEQzNQV1JVUF9TRlQJCQkJMTINCisj ZGVmaW5lIFJHX0FVREFEQzNQV1JVUF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDM1BX UlVQX01BU0tfU0ZUCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVREFEQzNJTlBVVFNFTF9T RlQJCQkJMTMNCisjZGVmaW5lIFJHX0FVREFEQzNJTlBVVFNFTF9NQVNLCQkJCTB4Mw0KKyNkZWZp bmUgUkdfQVVEQURDM0lOUFVUU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCAxMykNCisNCisvKiBBVURF TkNfQU5BX0NPTjMgKi8NCisjZGVmaW5lIFJHX0FVRFVMSEFMRkJJQVNfU0ZUCQkJCTANCisjZGVm aW5lIFJHX0FVRFVMSEFMRkJJQVNfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFVMSEFMRkJJ QVNfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURHTEJWT1dMUFdFTl9TRlQJ CQkJMQ0KKyNkZWZpbmUgUkdfQVVER0xCVk9XTFBXRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJH X0FVREdMQlZPV0xQV0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEUFJF QU1QTFBFTl9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFBFTl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgUkdfQVVEUFJFQU1QTFBFTl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5l IFJHX0FVREFEQzFTVFNUQUdFTFBFTl9TRlQJCQkzDQorI2RlZmluZSBSR19BVURBREMxU1RTVEFH RUxQRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RBR0VMUEVOX01BU0tfU0ZU CQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VMUEVOX1NGVAkJCTQNCisj ZGVmaW5lIFJHX0FVREFEQzJORFNUQUdFTFBFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURB REMyTkRTVEFHRUxQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURBRENG TEFTSExQRU5fU0ZUCQkJCTUNCisjZGVmaW5lIFJHX0FVREFEQ0ZMQVNITFBFTl9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVEQURDRkxBU0hMUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNk ZWZpbmUgUkdfQVVEUFJFQU1QSUREVEVTVF9TRlQJCQkJNg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1Q SUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURQUkVBTVBJRERURVNUX01BU0tfU0ZU CQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RBR0VJRERURVNUX1NGVAkJCTgN CisjZGVmaW5lIFJHX0FVREFEQzFTVFNUQUdFSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBS R19BVURBREMxU1RTVEFHRUlERFRFU1RfTUFTS19TRlQJCSgweDMgPDwgOCkNCisjZGVmaW5lIFJH X0FVREFEQzJORFNUQUdFSUREVEVTVF9TRlQJCQkxMA0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RB R0VJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVREFEQzJORFNUQUdFSUREVEVTVF9N QVNLX1NGVAkJKDB4MyA8PCAxMCkNCisjZGVmaW5lIFJHX0FVREFEQ1JFRkJVRklERFRFU1RfU0ZU CQkJMTINCisjZGVmaW5lIFJHX0FVREFEQ1JFRkJVRklERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZp bmUgUkdfQVVEQURDUkVGQlVGSUREVEVTVF9NQVNLX1NGVAkJCSgweDMgPDwgMTIpDQorI2RlZmlu ZSBSR19BVURBRENGTEFTSElERFRFU1RfU0ZUCQkJMTQNCisjZGVmaW5lIFJHX0FVREFEQ0ZMQVNI SUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURBRENGTEFTSElERFRFU1RfTUFTS19T RlQJCQkoMHgzIDw8IDE0KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09ONCAqLw0KKyNkZWZpbmUgUkdf QVVEUlVMSEFMRkJJQVNfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFJVTEhBTEZCSUFTX01BU0sJ CQkJMHgxDQorI2RlZmluZSBSR19BVURSVUxIQUxGQklBU19NQVNLX1NGVAkJCSgweDEgPDwgMCkN CisjZGVmaW5lIFJHX0FVREdMQlJWT1dMUFdFTl9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVER0xC UlZPV0xQV0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURHTEJSVk9XTFBXRU5fTUFTS19T RlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURSUFJFQU1QTFBFTl9TRlQJCQkJMg0KKyNk ZWZpbmUgUkdfQVVEUlBSRUFNUExQRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFJQUkVB TVBMUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzFTVFNUQUdF TFBFTl9TRlQJCQkzDQorI2RlZmluZSBSR19BVURSQURDMVNUU1RBR0VMUEVOX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVRFJBREMxU1RTVEFHRUxQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDMpDQor I2RlZmluZSBSR19BVURSQURDMk5EU1RBR0VMUEVOX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVRFJB REMyTkRTVEFHRUxQRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzJORFNUQUdFTFBF Tl9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVRFJBRENGTEFTSExQRU5fU0ZU CQkJCTUNCisjZGVmaW5lIFJHX0FVRFJBRENGTEFTSExQRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVEUkFEQ0ZMQVNITFBFTl9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FV RFJQUkVBTVBJRERURVNUX1NGVAkJCTYNCisjZGVmaW5lIFJHX0FVRFJQUkVBTVBJRERURVNUX01B U0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFJQUkVBTVBJRERURVNUX01BU0tfU0ZUCQkJKDB4MyA8 PCA2KQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzFTVFNUQUdFSUREVEVTVF9TRlQJCQk4DQorI2RlZmlu ZSBSR19BVURSQURDMVNUU1RBR0VJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFJB REMxU1RTVEFHRUlERFRFU1RfTUFTS19TRlQJCSgweDMgPDwgOCkNCisjZGVmaW5lIFJHX0FVRFJB REMyTkRTVEFHRUlERFRFU1RfU0ZUCQkJMTANCisjZGVmaW5lIFJHX0FVRFJBREMyTkRTVEFHRUlE RFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUkFEQzJORFNUQUdFSUREVEVTVF9NQVNL X1NGVAkJKDB4MyA8PCAxMCkNCisjZGVmaW5lIFJHX0FVRFJBRENSRUZCVUZJRERURVNUX1NGVAkJ CTEyDQorI2RlZmluZSBSR19BVURSQURDUkVGQlVGSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmlu ZSBSR19BVURSQURDUkVGQlVGSUREVEVTVF9NQVNLX1NGVAkJKDB4MyA8PCAxMikNCisjZGVmaW5l IFJHX0FVRFJBRENGTEFTSElERFRFU1RfU0ZUCQkJMTQNCisjZGVmaW5lIFJHX0FVRFJBRENGTEFT SElERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUkFEQ0ZMQVNISUREVEVTVF9NQVNL X1NGVAkJCSgweDMgPDwgMTQpDQorDQorLyogQVVERU5DX0FOQV9DT041ICovDQorI2RlZmluZSBS R19BVURBRENDTEtSU1RCX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURBRENDTEtSU1RCX01BU0sJ CQkJMHgxDQorI2RlZmluZSBSR19BVURBRENDTEtSU1RCX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0K KyNkZWZpbmUgUkdfQVVEQURDQ0xLU0VMX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURBRENDTEtT RUxfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FVREFEQ0NMS1NFTF9NQVNLX1NGVAkJCSgweDMg PDwgMSkNCisjZGVmaW5lIFJHX0FVREFEQ0NMS1NPVVJDRV9TRlQJCQkJMw0KKyNkZWZpbmUgUkdf QVVEQURDQ0xLU09VUkNFX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURBRENDTEtTT1VSQ0Vf TUFTS19TRlQJCQkoMHgzIDw8IDMpDQorI2RlZmluZSBSR19BVURBRENDTEtHRU5NT0RFX1NGVAkJ CQk1DQorI2RlZmluZSBSR19BVURBRENDTEtHRU5NT0RFX01BU0sJCQkweDMNCisjZGVmaW5lIFJH X0FVREFEQ0NMS0dFTk1PREVfTUFTS19TRlQJCQkoMHgzIDw8IDUpDQorI2RlZmluZSBSR19BVURQ UkVBTVBfQUNDRlNfU0ZUCQkJCTcNCisjZGVmaW5lIFJHX0FVRFBSRUFNUF9BQ0NGU19NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QX0FDQ0ZTX01BU0tfU0ZUCQkJKDB4MSA8PCA3KQ0K KyNkZWZpbmUgUkdfQVVEUFJFQU1QQUFGRU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFBSRUFN UEFBRkVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBBQUZFTl9NQVNLX1NGVAkJ CSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0RDQ1ZDTUJVRkxQTU9EU0VMX1NGVAkJCTkNCisjZGVm aW5lIFJHX0RDQ1ZDTUJVRkxQTU9EU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0RDQ1ZDTUJV RkxQTU9EU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfRENDVkNNQlVGTFBT V0VOX1NGVAkJCQkxMA0KKyNkZWZpbmUgUkdfRENDVkNNQlVGTFBTV0VOX01BU0sJCQkJMHgxDQor I2RlZmluZSBSR19EQ0NWQ01CVUZMUFNXRU5fTUFTS19TRlQJCQkoMHgxIDw8IDEwKQ0KKyNkZWZp bmUgUkdfQVVEU1BBUkVQR0FfU0ZUCQkJCTExDQorI2RlZmluZSBSR19BVURTUEFSRVBHQV9NQVNL CQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVRFNQQVJFUEdBX01BU0tfU0ZUCQkJCSgweDFmIDw8IDEx KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09ONiAqLw0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RBR0VT REVOQl9TRlQJCQkwDQorI2RlZmluZSBSR19BVURBREMxU1RTVEFHRVNERU5CX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVREFEQzFTVFNUQUdFU0RFTkJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQor I2RlZmluZSBSR19BVURBREMyTkRTVEFHRVJFU0VUX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVREFE QzJORFNUQUdFUkVTRVRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VSRVNF VF9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVREFEQzNSRFNUQUdFUkVTRVRf U0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVEQURDM1JEU1RBR0VSRVNFVF9NQVNLCQkJMHgxDQorI2Rl ZmluZSBSR19BVURBREMzUkRTVEFHRVJFU0VUX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZp bmUgUkdfQVVEQURDRlNSRVNFVF9TRlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVEQURDRlNSRVNFVF9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDRlNSRVNFVF9NQVNLX1NGVAkJCSgweDEgPDwg MykNCisjZGVmaW5lIFJHX0FVREFEQ1dJREVDTV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVEQURD V0lERUNNX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENXSURFQ01fTUFTS19TRlQJCQko MHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURBRENOT1BBVEVTVF9TRlQJCQkJNQ0KKyNkZWZpbmUg UkdfQVVEQURDTk9QQVRFU1RfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ05PUEFURVNU X01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVEQURDQllQQVNTX1NGVAkJCQk2 DQorI2RlZmluZSBSR19BVURBRENCWVBBU1NfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFE Q0JZUEFTU19NQVNLX1NGVAkJCSgweDEgPDwgNikNCisjZGVmaW5lIFJHX0FVREFEQ0ZGQllQQVNT X1NGVAkJCQk3DQorI2RlZmluZSBSR19BVURBRENGRkJZUEFTU19NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVEQURDRkZCWVBBU1NfTUFTS19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19B VURBRENEQUNGQkNVUlJFTlRfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVEQURDREFDRkJDVVJSRU5U X01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ0RBQ0ZCQ1VSUkVOVF9NQVNLX1NGVAkJCSgw eDEgPDwgOCkNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ0lERFRFU1RfU0ZUCQkJCTkNCisjZGVmaW5l IFJHX0FVREFEQ0RBQ0lERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDREFDSURE VEVTVF9NQVNLX1NGVAkJCSgweDMgPDwgOSkNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ05SWl9TRlQJ CQkJMTENCisjZGVmaW5lIFJHX0FVREFEQ0RBQ05SWl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEQURDREFDTlJaX01BU0tfU0ZUCQkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0FVREFEQ05P REVNX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfQVVEQURDTk9ERU1fTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX0FVREFEQ05PREVNX01BU0tfU0ZUCQkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19B VURBRENEQUNURVNUX1NGVAkJCQkxMw0KKyNkZWZpbmUgUkdfQVVEQURDREFDVEVTVF9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDREFDVEVTVF9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQor I2RlZmluZSBSR19BVURBRENEQUMwUDI1RlNfU0ZUCQkJCTE0DQorI2RlZmluZSBSR19BVURBRENE QUMwUDI1RlNfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ0RBQzBQMjVGU19NQVNLX1NG VAkJCSgweDEgPDwgMTQpDQorI2RlZmluZSBSR19BVURBRENSREFDMFAyNUZTX1NGVAkJCQkxNQ0K KyNkZWZpbmUgUkdfQVVEQURDUkRBQzBQMjVGU19NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURB RENSREFDMFAyNUZTX01BU0tfU0ZUCQkJKDB4MSA8PCAxNSkNCisNCisvKiBBVURFTkNfQU5BX0NP TjcgKi8NCisjZGVmaW5lIFJHX0FVREFEQ1RFU1REQVRBX1NGVAkJCQkwDQorI2RlZmluZSBSR19B VURBRENURVNUREFUQV9NQVNLCQkJCTB4ZmZmZg0KKyNkZWZpbmUgUkdfQVVEQURDVEVTVERBVEFf TUFTS19TRlQJCQkoMHhmZmZmIDw8IDApDQorDQorLyogQVVERU5DX0FOQV9DT044ICovDQorI2Rl ZmluZSBSR19BVURSQ1RVTkVMX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURSQ1RVTkVMX01BU0sJ CQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FTF9NQVNLX1NGVAkJCQkoMHgxZiA8PCAwKQ0K KyNkZWZpbmUgUkdfQVVEUkNUVU5FTFNFTF9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVEUkNUVU5F TFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FTFNFTF9NQVNLX1NGVAkJCSgw eDEgPDwgNSkNCisjZGVmaW5lIFJHX0FVRFJDVFVORVJfU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FV RFJDVFVORVJfTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19BVURSQ1RVTkVSX01BU0tfU0ZUCQkJ CSgweDFmIDw8IDgpDQorI2RlZmluZSBSR19BVURSQ1RVTkVSU0VMX1NGVAkJCQkxMw0KKyNkZWZp bmUgUkdfQVVEUkNUVU5FUlNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FUlNF TF9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorDQorLyogQVVERU5DX0FOQV9DT045ICovDQorI2Rl ZmluZSBSR19BVUQzQ1RVTkVMX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVUQzQ1RVTkVMX01BU0sJ CQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVEM0NUVU5FTF9NQVNLX1NGVAkJCQkoMHgxZiA8PCAwKQ0K KyNkZWZpbmUgUkdfQVVEM0NUVU5FTFNFTF9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVEM0NUVU5F TFNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEM0NUVU5FTFNFTF9NQVNLX1NGVAkJCSgw eDEgPDwgNSkNCisjZGVmaW5lIFJHU19BVURSQ1RVTkUzUkVBRF9TRlQJCQkJNg0KKyNkZWZpbmUg UkdTX0FVRFJDVFVORTNSRUFEX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTNS RUFEX01BU0tfU0ZUCQkJKDB4MWYgPDwgNikNCisjZGVmaW5lIFJHX0FVRDNTUEFSRV9TRlQJCQkJ MTENCisjZGVmaW5lIFJHX0FVRDNTUEFSRV9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVRDNT UEFSRV9NQVNLX1NGVAkJCQkoMHgxZiA8PCAxMSkNCisNCisvKiBBVURFTkNfQU5BX0NPTjEwICov DQorI2RlZmluZSBSR1NfQVVEUkNUVU5FTFJFQURfU0ZUCQkJCTANCisjZGVmaW5lIFJHU19BVURS Q1RVTkVMUkVBRF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHU19BVURSQ1RVTkVMUkVBRF9NQVNL X1NGVAkJCSgweDFmIDw8IDApDQorI2RlZmluZSBSR1NfQVVEUkNUVU5FUlJFQURfU0ZUCQkJCTgN CisjZGVmaW5lIFJHU19BVURSQ1RVTkVSUkVBRF9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHU19B VURSQ1RVTkVSUkVBRF9NQVNLX1NGVAkJCSgweDFmIDw8IDgpDQorDQorLyogQVVERU5DX0FOQV9D T04xMSAqLw0KKyNkZWZpbmUgUkdfQVVEU1BBUkVWQTMwX1NGVAkJCQkwDQorI2RlZmluZSBSR19B VURTUEFSRVZBMzBfTUFTSwkJCQkweGZmDQorI2RlZmluZSBSR19BVURTUEFSRVZBMzBfTUFTS19T RlQJCQkoMHhmZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEU1BBUkVWQTE4X1NGVAkJCQk4DQorI2Rl ZmluZSBSR19BVURTUEFSRVZBMThfTUFTSwkJCQkweGZmDQorI2RlZmluZSBSR19BVURTUEFSRVZB MThfTUFTS19TRlQJCQkoMHhmZiA8PCA4KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTIgKi8NCisj ZGVmaW5lIFJHX0FVRFBHQV9ERUNBUF9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUEdBX0RFQ0FQ X01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQR0FfREVDQVBfTUFTS19TRlQJCQkoMHgxIDw8 IDApDQorI2RlZmluZSBSR19BVURQR0FfQ0FQUkFfU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVRFBH QV9DQVBSQV9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUEdBX0NBUFJBX01BU0tfU0ZUCQkJ KDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEUEdBX0FDQ0NNUF9TRlQJCQkJMg0KKyNkZWZpbmUg UkdfQVVEUEdBX0FDQ0NNUF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUEdBX0FDQ0NNUF9N QVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVREVOQ19TUEFSRTJfU0ZUCQkJCTMN CisjZGVmaW5lIFJHX0FVREVOQ19TUEFSRTJfTUFTSwkJCQkweDFmZmYNCisjZGVmaW5lIFJHX0FV REVOQ19TUEFSRTJfTUFTS19TRlQJCQkoMHgxZmZmIDw8IDMpDQorDQorLyogQVVERU5DX0FOQV9D T04xMyAqLw0KKyNkZWZpbmUgUkdfQVVERElHTUlDRU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FV RERJR01JQ0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURESUdNSUNFTl9NQVNLX1NGVAkJ CQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURESUdNSUNCSUFTX1NGVAkJCQkxDQorI2RlZmlu ZSBSR19BVURESUdNSUNCSUFTX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURESUdNSUNCSUFT X01BU0tfU0ZUCQkJKDB4MyA8PCAxKQ0KKyNkZWZpbmUgUkdfRE1JQ0hQQ0xLRU5fU0ZUCQkJCTMN CisjZGVmaW5lIFJHX0RNSUNIUENMS0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19ETUlDSFBD TEtFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURESUdNSUNQRFVUWV9T RlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVERElHTUlDUERVVFlfTUFTSwkJCQkweDMNCisjZGVmaW5l IFJHX0FVRERJR01JQ1BEVVRZX01BU0tfU0ZUCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVE RElHTUlDTkRVVFlfU0ZUCQkJCTYNCisjZGVmaW5lIFJHX0FVRERJR01JQ05EVVRZX01BU0sJCQkJ MHgzDQorI2RlZmluZSBSR19BVURESUdNSUNORFVUWV9NQVNLX1NGVAkJCSgweDMgPDwgNikNCisj ZGVmaW5lIFJHX0RNSUNNT05FTl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfRE1JQ01PTkVOX01BU0sJ CQkJMHgxDQorI2RlZmluZSBSR19ETUlDTU9ORU5fTUFTS19TRlQJCQkJKDB4MSA8PCA4KQ0KKyNk ZWZpbmUgUkdfRE1JQ01PTlNFTF9TRlQJCQkJOQ0KKyNkZWZpbmUgUkdfRE1JQ01PTlNFTF9NQVNL CQkJCTB4Nw0KKyNkZWZpbmUgUkdfRE1JQ01PTlNFTF9NQVNLX1NGVAkJCQkoMHg3IDw8IDkpDQor DQorLyogQVVERU5DX0FOQV9DT04xNCAqLw0KKyNkZWZpbmUgUkdfQVVERElHTUlDMUVOX1NGVAkJ CQkwDQorI2RlZmluZSBSR19BVURESUdNSUMxRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FV RERJR01JQzFFTl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRERJR01JQ0JJ QVMxX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURESUdNSUNCSUFTMV9NQVNLCQkJCTB4Mw0KKyNk ZWZpbmUgUkdfQVVERElHTUlDQklBUzFfTUFTS19TRlQJCQkoMHgzIDw8IDEpDQorI2RlZmluZSBS R19ETUlDMUhQQ0xLRU5fU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0RNSUMxSFBDTEtFTl9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfRE1JQzFIUENMS0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNk ZWZpbmUgUkdfQVVERElHTUlDMVBEVVRZX1NGVAkJCQk0DQorI2RlZmluZSBSR19BVURESUdNSUMx UERVVFlfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FVRERJR01JQzFQRFVUWV9NQVNLX1NGVAkJ CSgweDMgPDwgNCkNCisjZGVmaW5lIFJHX0FVRERJR01JQzFORFVUWV9TRlQJCQkJNg0KKyNkZWZp bmUgUkdfQVVERElHTUlDMU5EVVRZX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURESUdNSUMx TkRVVFlfTUFTS19TRlQJCQkoMHgzIDw8IDYpDQorI2RlZmluZSBSR19ETUlDMU1PTkVOX1NGVAkJ CQk4DQorI2RlZmluZSBSR19ETUlDMU1PTkVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19ETUlD MU1PTkVOX01BU0tfU0ZUCQkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0RNSUMxTU9OU0VMX1NG VAkJCQk5DQorI2RlZmluZSBSR19ETUlDMU1PTlNFTF9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdf RE1JQzFNT05TRUxfTUFTS19TRlQJCQkJKDB4NyA8PCA5KQ0KKyNkZWZpbmUgUkdfQVVEU1BBUkVW TUlDX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfQVVEU1BBUkVWTUlDX01BU0sJCQkJMHhmDQorI2Rl ZmluZSBSR19BVURTUEFSRVZNSUNfTUFTS19TRlQJCQkoMHhmIDw8IDEyKQ0KKw0KKy8qIEFVREVO Q19BTkFfQ09OMTUgKi8NCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMF9TRlQJCQkJMA0KKyNk ZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMwX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQV0RC TUlDQklBUzBfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURNSUNCSUFTMEJZ UEFTU0VOX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwQllQQVNTRU5fTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBCWVBBU1NFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkN CisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwTE9XUEVOX1NGVAkJCTINCisjZGVmaW5lIFJHX0FVRE1J Q0JJQVMwTE9XUEVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwTE9XUEVOX01B U0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMzX1NGVAkJCQkz DQorI2RlZmluZSBSR19BVURQV0RCTUlDQklBUzNfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FV RFBXREJNSUNCSUFTM19NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRE1JQ0JJ QVMwVlJFRl9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBWUkVGX01BU0sJCQkJMHg3 DQorI2RlZmluZSBSR19BVURNSUNCSUFTMFZSRUZfTUFTS19TRlQJCQkoMHg3IDw8IDQpDQorI2Rl ZmluZSBSR19BVURNSUNCSUFTMERDU1cwUDFFTl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURNSUNC SUFTMERDU1cwUDFFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cwUDFF Tl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMFAyRU5f U0ZUCQkJOQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMFAyRU5fTUFTSwkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMFAyRU5fTUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVm aW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBORU5fU0ZUCQkJMTANCisjZGVmaW5lIFJHX0FVRE1JQ0JJ QVMwRENTVzBORU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXME5FTl9N QVNLX1NGVAkJCSgweDEgPDwgMTApDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyUDFFTl9T RlQJCQkxMg0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMlAxRU5fTUFTSwkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMlAxRU5fTUFTS19TRlQJCSgweDEgPDwgMTIpDQorI2Rl ZmluZSBSR19BVURNSUNCSUFTMERDU1cyUDJFTl9TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQVVETUlD QklBUzBEQ1NXMlAyRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXMlAy RU5fTUFTS19TRlQJCSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyTkVO X1NGVAkJCTE0DQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyTkVOX01BU0sJCQkweDENCisj ZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzJORU5fTUFTS19TRlQJCQkoMHgxIDw8IDE0KQ0KKw0K Ky8qIEFVREVOQ19BTkFfQ09OMTYgKi8NCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMV9TRlQJ CQkJMA0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMxX01BU0sJCQkJMHgxDQorI2RlZmluZSBS R19BVURQV0RCTUlDQklBUzFfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURN SUNCSUFTMUJZUEFTU0VOX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxQllQQVNTRU5f TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFCWVBBU1NFTl9NQVNLX1NGVAkJCSgw eDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxTE9XUEVOX1NGVAkJCTINCisjZGVmaW5l IFJHX0FVRE1JQ0JJQVMxTE9XUEVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMx TE9XUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFWUkVG X1NGVAkJCQk0DQorI2RlZmluZSBSR19BVURNSUNCSUFTMVZSRUZfTUFTSwkJCQkweDcNCisjZGVm aW5lIFJHX0FVRE1JQ0JJQVMxVlJFRl9NQVNLX1NGVAkJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJH X0FVRE1JQ0JJQVMxRENTVzFQRU5fU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFEQ1NX MVBFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMURDU1cxUEVOX01BU0tfU0ZU CQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFEQ1NXMU5FTl9TRlQJCQk5DQor I2RlZmluZSBSR19BVURNSUNCSUFTMURDU1cxTkVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RE1JQ0JJQVMxRENTVzFORU5fTUFTS19TRlQJCQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19CQU5E R0FQR0VOX1NGVAkJCQkxMA0KKyNkZWZpbmUgUkdfQkFOREdBUEdFTl9NQVNLCQkJCTB4MQ0KKyNk ZWZpbmUgUkdfQkFOREdBUEdFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdf QVVETUlDQklBUzFIVkVOX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFIVkVOX01B U0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMUhWRU5fTUFTS19TRlQJCQkoMHgxIDw8 IDEyKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFIVlZSRUZfU0ZUCQkJMTMNCisjZGVmaW5lIFJH X0FVRE1JQ0JJQVMxSFZWUkVGX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxSFZW UkVGX01BU0tfU0ZUCQkJKDB4MSA8PCAxMykNCisNCisvKiBBVURFTkNfQU5BX0NPTjE3ICovDQor I2RlZmluZSBSR19BVURQV0RCTUlDQklBUzJfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFBXREJN SUNCSUFTMl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMyX01BU0tfU0ZU CQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJCWVBBU1NFTl9TRlQJCQkxDQor I2RlZmluZSBSR19BVURNSUNCSUFTMkJZUEFTU0VOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RE1JQ0JJQVMyQllQQVNTRU5fTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURN SUNCSUFTMkxPV1BFTl9TRlQJCQkyDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkxPV1BFTl9NQVNL CQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkxPV1BFTl9NQVNLX1NGVAkJCSgweDEgPDwg MikNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyVlJFRl9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVE TUlDQklBUzJWUkVGX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19BVURNSUNCSUFTMlZSRUZfTUFT S19TRlQJCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czUDFFTl9TRlQJ CQk4DQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czUDFFTl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURNSUNCSUFTMkRDU1czUDFFTl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUg UkdfQVVETUlDQklBUzJEQ1NXM1AyRU5fU0ZUCQkJOQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJE Q1NXM1AyRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJEQ1NXM1AyRU5fTUFT S19TRlQJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNORU5fU0ZUCQkJ MTANCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNORU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVETUlDQklBUzJEQ1NXM05FTl9NQVNLX1NGVAkJCSgweDEgPDwgMTApDQorI2RlZmluZSBS R19BVURNSUNCSUFTU1BBUkVfU0ZUCQkJCTEyDQorI2RlZmluZSBSR19BVURNSUNCSUFTU1BBUkVf TUFTSwkJCQkweGYNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVNTUEFSRV9NQVNLX1NGVAkJCSgweGYg PDwgMTIpDQorDQorLyogQVVERU5DX0FOQV9DT04xOCAqLw0KKyNkZWZpbmUgUkdfQVVEQUNDREVU TUlDQklBUzBQVUxMTE9XX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMwUFVM TExPV19NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMwUFVMTExPV19NQVNL X1NGVAkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzFQVUxMTE9XX1NG VAkJCTENCisjZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMxUFVMTExPV19NQVNLCQkweDENCisj ZGVmaW5lIFJHX0FVREFDQ0RFVE1JQ0JJQVMxUFVMTExPV19NQVNLX1NGVAkJKDB4MSA8PCAxKQ0K KyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzJQVUxMTE9XX1NGVAkJCTINCisjZGVmaW5lIFJH X0FVREFDQ0RFVE1JQ0JJQVMyUFVMTExPV19NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVREFDQ0RF VE1JQ0JJQVMyUFVMTExPV19NQVNLX1NGVAkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEQUND REVUVklOMVBVTExMT1dfU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVklOMVBVTExMT1df TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVklOMVBVTExMT1dfTUFTS19TRlQJCSgw eDEgPDwgMykNCisjZGVmaW5lIFJHX0FVREFDQ0RFVFZUSEFDQUxfU0ZUCQkJCTQNCisjZGVmaW5l IFJHX0FVREFDQ0RFVFZUSEFDQUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVlRI QUNBTF9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVREFDQ0RFVFZUSEJDQUxf U0ZUCQkJCTUNCisjZGVmaW5lIFJHX0FVREFDQ0RFVFZUSEJDQUxfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVEQUNDREVUVlRIQkNBTF9NQVNLX1NGVAkJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJH X0FVREFDQ0RFVFRWREVUX1NGVAkJCQk2DQorI2RlZmluZSBSR19BVURBQ0NERVRUVkRFVF9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVFZERVRfTUFTS19TRlQJCQkoMHgxIDw8IDYp DQorI2RlZmluZSBSR19BQ0NERVRTRUxfU0ZUCQkJCTcNCisjZGVmaW5lIFJHX0FDQ0RFVFNFTF9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQUNDREVUU0VMX01BU0tfU0ZUCQkJCSgweDEgPDwgNykN CisjZGVmaW5lIFJHX1NXQlVGTU9EU0VMX1NGVAkJCQk4DQorI2RlZmluZSBSR19TV0JVRk1PRFNF TF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfU1dCVUZNT0RTRUxfTUFTS19TRlQJCQkJKDB4MSA8 PCA4KQ0KKyNkZWZpbmUgUkdfU1dCVUZTV0VOX1NGVAkJCQk5DQorI2RlZmluZSBSR19TV0JVRlNX RU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX1NXQlVGU1dFTl9NQVNLX1NGVAkJCQkoMHgxIDw8 IDkpDQorI2RlZmluZSBSR19FSU5UME5PSFlTX1NGVAkJCQkxMA0KKyNkZWZpbmUgUkdfRUlOVDBO T0hZU19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDBOT0hZU19NQVNLX1NGVAkJCQkoMHgx IDw8IDEwKQ0KKyNkZWZpbmUgUkdfRUlOVDBDT05GSUdBQ0NERVRfU0ZUCQkJMTENCisjZGVmaW5l IFJHX0VJTlQwQ09ORklHQUNDREVUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwQ09ORklH QUNDREVUX01BU0tfU0ZUCQkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0VJTlQwSElSRU5CX1NG VAkJCQkxMg0KKyNkZWZpbmUgUkdfRUlOVDBISVJFTkJfTUFTSwkJCQkweDENCisjZGVmaW5lIFJH X0VJTlQwSElSRU5CX01BU0tfU0ZUCQkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BQ0NERVQy QVVYUkVTQllQQVNTX1NGVAkJCTEzDQorI2RlZmluZSBSR19BQ0NERVQyQVVYUkVTQllQQVNTX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FDQ0RFVDJBVVhSRVNCWVBBU1NfTUFTS19TRlQJCQkoMHgx IDw8IDEzKQ0KKyNkZWZpbmUgUkdfQUNDREVUMkFVWFNXRU5fU0ZUCQkJCTE0DQorI2RlZmluZSBS R19BQ0NERVQyQVVYU1dFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQUNDREVUMkFVWFNXRU5f TUFTS19TRlQJCQkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzNQVUxM TE9XX1NGVAkJCTE1DQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNCSUFTM1BVTExMT1dfTUFTSwkJ MHgxDQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNCSUFTM1BVTExMT1dfTUFTS19TRlQJCSgweDEg PDwgMTUpDQorDQorLyogQVVERU5DX0FOQV9DT04xOSAqLw0KKyNkZWZpbmUgUkdfRUlOVDFDT05G SUdBQ0NERVRfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfRUlOVDFDT05GSUdBQ0NERVRfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfRUlOVDFDT05GSUdBQ0NERVRfTUFTS19TRlQJCQkoMHgxIDw8IDApDQor I2RlZmluZSBSR19FSU5UMUhJUkVOQl9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfRUlOVDFISVJFTkJf TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQxSElSRU5CX01BU0tfU0ZUCQkJCSgweDEgPDwg MSkNCisjZGVmaW5lIFJHX0VJTlQxTk9IWVNfU0ZUCQkJCTINCisjZGVmaW5lIFJHX0VJTlQxTk9I WVNfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQxTk9IWVNfTUFTS19TRlQJCQkJKDB4MSA8 PCAyKQ0KKyNkZWZpbmUgUkdfRUlOVENPTVBWVEhfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0VJTlRD T01QVlRIX01BU0sJCQkJMHhmDQorI2RlZmluZSBSR19FSU5UQ09NUFZUSF9NQVNLX1NGVAkJCQko MHhmIDw8IDQpDQorI2RlZmluZSBSR19NVEVTVF9FTl9TRlQJCQkJCTgNCisjZGVmaW5lIFJHX01U RVNUX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19NVEVTVF9FTl9NQVNLX1NGVAkJCQkoMHgx IDw8IDgpDQorI2RlZmluZSBSR19NVEVTVF9TRUxfU0ZUCQkJCTkNCisjZGVmaW5lIFJHX01URVNU X1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRFU1RfU0VMX01BU0tfU0ZUCQkJCSgweDEg PDwgOSkNCisjZGVmaW5lIFJHX01URVNUX0NVUlJFTlRfU0ZUCQkJCTEwDQorI2RlZmluZSBSR19N VEVTVF9DVVJSRU5UX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19NVEVTVF9DVVJSRU5UX01BU0tf U0ZUCQkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIFJHX0FOQUxPR0ZERU5fU0ZUCQkJCTEyDQorI2Rl ZmluZSBSR19BTkFMT0dGREVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BTkFMT0dGREVOX01B U0tfU0ZUCQkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19GRFZJTjFQUFVMTExPV19TRlQJCQkJ MTMNCisjZGVmaW5lIFJHX0ZEVklOMVBQVUxMTE9XX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19G RFZJTjFQUFVMTExPV19NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19GREVJTlQw VFlQRV9TRlQJCQkJMTQNCisjZGVmaW5lIFJHX0ZERUlOVDBUWVBFX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19GREVJTlQwVFlQRV9NQVNLX1NGVAkJCQkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgUkdf RkRFSU5UMVRZUEVfU0ZUCQkJCTE1DQorI2RlZmluZSBSR19GREVJTlQxVFlQRV9NQVNLCQkJCTB4 MQ0KKyNkZWZpbmUgUkdfRkRFSU5UMVRZUEVfTUFTS19TRlQJCQkJKDB4MSA8PCAxNSkNCisNCisv KiBBVURFTkNfQU5BX0NPTjIwICovDQorI2RlZmluZSBSR19FSU5UMENNUEVOX1NGVAkJCQkwDQor I2RlZmluZSBSR19FSU5UMENNUEVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMENNUEVO X01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0VJTlQwQ01QTUVOX1NGVAkJCQkx DQorI2RlZmluZSBSR19FSU5UMENNUE1FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDBD TVBNRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfRUlOVDBFTl9TRlQJCQkJ CTINCisjZGVmaW5lIFJHX0VJTlQwRU5fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMEVO X01BU0tfU0ZUCQkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0VJTlQwQ0VOX1NGVAkJCQkJMw0K KyNkZWZpbmUgUkdfRUlOVDBDRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwQ0VOX01B U0tfU0ZUCQkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0VJTlQwSU5WRU5fU0ZUCQkJCTQNCisj ZGVmaW5lIFJHX0VJTlQwSU5WRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwSU5WRU5f TUFTS19TRlQJCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfRUlOVDBDVFVSQk9fU0ZUCQkJCTUN CisjZGVmaW5lIFJHX0VJTlQwQ1RVUkJPX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19FSU5UMENU VVJCT19NQVNLX1NGVAkJCQkoMHg3IDw8IDUpDQorI2RlZmluZSBSR19FSU5UMUNNUEVOX1NGVAkJ CQk4DQorI2RlZmluZSBSR19FSU5UMUNNUEVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5U MUNNUEVOX01BU0tfU0ZUCQkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0VJTlQxQ01QTUVOX1NG VAkJCQk5DQorI2RlZmluZSBSR19FSU5UMUNNUE1FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf RUlOVDFDTVBNRU5fTUFTS19TRlQJCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfRUlOVDFFTl9T RlQJCQkJCTEwDQorI2RlZmluZSBSR19FSU5UMUVOX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgUkdf RUlOVDFFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdfRUlOVDFDRU5fU0ZU CQkJCQkxMQ0KKyNkZWZpbmUgUkdfRUlOVDFDRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJ TlQxQ0VOX01BU0tfU0ZUCQkJCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19FSU5UMUlOVkVOX1NG VAkJCQkxMg0KKyNkZWZpbmUgUkdfRUlOVDFJTlZFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf RUlOVDFJTlZFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfRUlOVDFDVFVS Qk9fU0ZUCQkJCTEzDQorI2RlZmluZSBSR19FSU5UMUNUVVJCT19NQVNLCQkJCTB4Nw0KKyNkZWZp bmUgUkdfRUlOVDFDVFVSQk9fTUFTS19TRlQJCQkJKDB4NyA8PCAxMykNCisNCisvKiBBVURFTkNf QU5BX0NPTjIxICovDQorI2RlZmluZSBSR19BQ0NERVRTUEFSRV9TRlQJCQkJMA0KKyNkZWZpbmUg UkdfQUNDREVUU1BBUkVfTUFTSwkJCQkweGZmZmYNCisjZGVmaW5lIFJHX0FDQ0RFVFNQQVJFX01B U0tfU0ZUCQkJCSgweGZmZmYgPDwgMCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjIyICovDQorI2Rl ZmluZSBSR19BVURFTkNTUEFSRVZBMzBfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVREVOQ1NQQVJF VkEzMF9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIFJHX0FVREVOQ1NQQVJFVkEzMF9NQVNLX1NGVAkJ CSgweGZmIDw8IDApDQorI2RlZmluZSBSR19BVURFTkNTUEFSRVZBMThfU0ZUCQkJCTgNCisjZGVm aW5lIFJHX0FVREVOQ1NQQVJFVkExOF9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIFJHX0FVREVOQ1NQ QVJFVkExOF9NQVNLX1NGVAkJCSgweGZmIDw8IDgpDQorDQorLyogQVVERU5DX0FOQV9DT04yMyAq Lw0KKyNkZWZpbmUgUkdfQ0xLU1FfRU5fU0ZUCQkJCQkwDQorI2RlZmluZSBSR19DTEtTUV9FTl9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQ0xLU1FfRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0K KyNkZWZpbmUgUkdfQ0xLU1FfSU5fU0VMX1RFU1RfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQ0xLU1Ff SU5fU0VMX1RFU1RfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQ0xLU1FfSU5fU0VMX1RFU1RfTUFT S19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19DTV9SRUZHRU5TRUxfU0ZUCQkJCTINCisj ZGVmaW5lIFJHX0NNX1JFRkdFTlNFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQ01fUkVGR0VO U0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVESU9fVk9XX0VOX1NGVAkJ CQkzDQorI2RlZmluZSBSR19BVURJT19WT1dfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FV RElPX1ZPV19FTl9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0NMS1NRX0VOX1ZP V19TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQ0xLU1FfRU5fVk9XX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19DTEtTUV9FTl9WT1dfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19DTEtB TkRfRU5fVk9XX1NGVAkJCQk1DQorI2RlZmluZSBSR19DTEtBTkRfRU5fVk9XX01BU0sJCQkJMHgx DQorI2RlZmluZSBSR19DTEtBTkRfRU5fVk9XX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZp bmUgUkdfVk9XQ0xLX1NFTF9FTl9WT1dfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfVk9XQ0xLX1NFTF9F Tl9WT1dfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfVk9XQ0xLX1NFTF9FTl9WT1dfTUFTS19TRlQJ CQkoMHgxIDw8IDYpDQorI2RlZmluZSBSR19TUEFSRV9WT1dfU0ZUCQkJCTcNCisjZGVmaW5lIFJH X1NQQVJFX1ZPV19NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfU1BBUkVfVk9XX01BU0tfU0ZUCQkJ CSgweDcgPDwgNykNCisNCisvKiBBVURERUNfQU5BX0NPTjAgKi8NCisjZGVmaW5lIFJHX0FVRERB Q0xQV1JVUF9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRERBQ0xQV1JVUF9WQVVEUDMy X01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRERBQ0xQV1JVUF9WQVVEUDMyX01BU0tfU0ZUCQko MHgxIDw8IDApDQorI2RlZmluZSBSR19BVUREQUNSUFdSVVBfVkFVRFAzMl9TRlQJCQkxDQorI2Rl ZmluZSBSR19BVUREQUNSUFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURE QUNSUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEX0RB Q19QV1JfVVBfVkEzMl9TRlQJCQkyDQorI2RlZmluZSBSR19BVURfREFDX1BXUl9VUF9WQTMyX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVRF9EQUNfUFdSX1VQX1ZBMzJfTUFTS19TRlQJCQkoMHgx IDw8IDIpDQorI2RlZmluZSBSR19BVURfREFDX1BXTF9VUF9WQTMyX1NGVAkJCTMNCisjZGVmaW5l IFJHX0FVRF9EQUNfUFdMX1VQX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX0RBQ19Q V0xfVVBfVkEzMl9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVREhQTFBXUlVQ X1ZBVURQMzJfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfQVVESFBMUFdSVVBfVkFVRFAzMl9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19BVURIUExQV1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MSA8PCA0 KQ0KKyNkZWZpbmUgUkdfQVVESFBSUFdSVVBfVkFVRFAzMl9TRlQJCQk1DQorI2RlZmluZSBSR19B VURIUFJQV1JVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQUlBXUlVQX1ZB VURQMzJfTUFTS19TRlQJCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19BVURIUExQV1JVUF9JQklB U19WQVVEUDMyX1NGVAkJNg0KKyNkZWZpbmUgUkdfQVVESFBMUFdSVVBfSUJJQVNfVkFVRFAzMl9N QVNLCQkweDENCisjZGVmaW5lIFJHX0FVREhQTFBXUlVQX0lCSUFTX1ZBVURQMzJfTUFTS19TRlQJ CSgweDEgPDwgNikNCisjZGVmaW5lIFJHX0FVREhQUlBXUlVQX0lCSUFTX1ZBVURQMzJfU0ZUCQk3 DQorI2RlZmluZSBSR19BVURIUFJQV1JVUF9JQklBU19WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZp bmUgUkdfQVVESFBSUFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNk ZWZpbmUgUkdfQVVESFBMTVVYSU5QVVRTRUxfVkFVRFAzMl9TRlQJCTgNCisjZGVmaW5lIFJHX0FV REhQTE1VWElOUFVUU0VMX1ZBVURQMzJfTUFTSwkJMHgzDQorI2RlZmluZSBSR19BVURIUExNVVhJ TlBVVFNFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgzIDw8IDgpDQorI2RlZmluZSBSR19BVURIUFJN VVhJTlBVVFNFTF9WQVVEUDMyX1NGVAkJMTANCisjZGVmaW5lIFJHX0FVREhQUk1VWElOUFVUU0VM X1ZBVURQMzJfTUFTSwkJMHgzDQorI2RlZmluZSBSR19BVURIUFJNVVhJTlBVVFNFTF9WQVVEUDMy X01BU0tfU0ZUCQkoMHgzIDw8IDEwKQ0KKyNkZWZpbmUgUkdfQVVESFBMU0NESVNBQkxFX1ZBVURQ MzJfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0FVREhQTFNDRElTQUJMRV9WQVVEUDMyX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0FVREhQTFNDRElTQUJMRV9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8 IDEyKQ0KKyNkZWZpbmUgUkdfQVVESFBSU0NESVNBQkxFX1ZBVURQMzJfU0ZUCQkJMTMNCisjZGVm aW5lIFJHX0FVREhQUlNDRElTQUJMRV9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV REhQUlNDRElTQUJMRV9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEzKQ0KKyNkZWZpbmUgUkdf QVVESFBMQlNDQ1VSUkVOVF9WQVVEUDMyX1NGVAkJCTE0DQorI2RlZmluZSBSR19BVURIUExCU0ND VVJSRU5UX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURIUExCU0NDVVJSRU5UX1ZB VURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTQpDQorI2RlZmluZSBSR19BVURIUFJCU0NDVVJSRU5U X1ZBVURQMzJfU0ZUCQkJMTUNCisjZGVmaW5lIFJHX0FVREhQUkJTQ0NVUlJFTlRfVkFVRFAzMl9N QVNLCQkweDENCisjZGVmaW5lIFJHX0FVREhQUkJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLX1NGVAkJ KDB4MSA8PCAxNSkNCisNCisvKiBBVURERUNfQU5BX0NPTjEgKi8NCisjZGVmaW5lIFJHX0FVREhQ TE9VVFBXUlVQX1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVESFBMT1VUUFdSVVBfVkFV RFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIUExPVVRQV1JVUF9WQVVEUDMyX01BU0tf U0ZUCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURIUFJPVVRQV1JVUF9WQVVEUDMyX1NGVAkJ CTENCisjZGVmaW5lIFJHX0FVREhQUk9VVFBXUlVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgUkdfQVVESFBST1VUUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZp bmUgUkdfQVVESFBMT1VUQVVYUFdSVVBfVkFVRFAzMl9TRlQJCTINCisjZGVmaW5lIFJHX0FVREhQ TE9VVEFVWFBXUlVQX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURIUExPVVRBVVhQ V1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURIUFJPVVRB VVhQV1JVUF9WQVVEUDMyX1NGVAkJMw0KKyNkZWZpbmUgUkdfQVVESFBST1VUQVVYUFdSVVBfVkFV RFAzMl9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVREhQUk9VVEFVWFBXUlVQX1ZBVURQMzJfTUFT S19TRlQJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0hQTEFVWEZCUlNXX0VOX1ZBVURQMzJfU0ZU CQkJNA0KKyNkZWZpbmUgUkdfSFBMQVVYRkJSU1dfRU5fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2Rl ZmluZSBSR19IUExBVVhGQlJTV19FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2Rl ZmluZSBSR19IUFJBVVhGQlJTV19FTl9WQVVEUDMyX1NGVAkJCTUNCisjZGVmaW5lIFJHX0hQUkFV WEZCUlNXX0VOX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfSFBSQVVYRkJSU1dfRU5f VkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfSFBMU0hPUlQySFBMQVVY X0VOX1ZBVURQMzJfU0ZUCQk2DQorI2RlZmluZSBSR19IUExTSE9SVDJIUExBVVhfRU5fVkFVRFAz Ml9NQVNLCQkweDENCisjZGVmaW5lIFJHX0hQTFNIT1JUMkhQTEFVWF9FTl9WQVVEUDMyX01BU0tf U0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSR19IUFJTSE9SVDJIUFJBVVhfRU5fVkFVRFAzMl9T RlQJCTcNCisjZGVmaW5lIFJHX0hQUlNIT1JUMkhQUkFVWF9FTl9WQVVEUDMyX01BU0sJCTB4MQ0K KyNkZWZpbmUgUkdfSFBSU0hPUlQySFBSQVVYX0VOX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwg NykNCisjZGVmaW5lIFJHX0hQTE9VVFNUR0NUUkxfVkFVRFAzMl9TRlQJCQk4DQorI2RlZmluZSBS R19IUExPVVRTVEdDVFJMX1ZBVURQMzJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfSFBMT1VUU1RH Q1RSTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDgpDQorI2RlZmluZSBSR19IUFJPVVRTVEdD VFJMX1ZBVURQMzJfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0hQUk9VVFNUR0NUUkxfVkFVRFAzMl9N QVNLCQkJMHg3DQorI2RlZmluZSBSR19IUFJPVVRTVEdDVFJMX1ZBVURQMzJfTUFTS19TRlQJCSgw eDcgPDwgMTIpDQorDQorLyogQVVEREVDX0FOQV9DT04yICovDQorI2RlZmluZSBSR19IUExPVVRQ VVRTVEJFTkhfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmluZSBSR19IUExPVVRQVVRTVEJFTkhfVkFV RFAzMl9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19IUExPVVRQVVRTVEJFTkhfVkFVRFAzMl9NQVNL X1NGVAkJKDB4NyA8PCAwKQ0KKyNkZWZpbmUgUkdfSFBST1VUUFVUU1RCRU5IX1ZBVURQMzJfU0ZU CQkJNA0KKyNkZWZpbmUgUkdfSFBST1VUUFVUU1RCRU5IX1ZBVURQMzJfTUFTSwkJCTB4Nw0KKyNk ZWZpbmUgUkdfSFBST1VUUFVUU1RCRU5IX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgNCkNCisj ZGVmaW5lIFJHX0FVREhQU1RBUlRVUF9WQVVEUDMyX1NGVAkJCTcNCisjZGVmaW5lIFJHX0FVREhQ U1RBUlRVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQU1RBUlRVUF9WQVVE UDMyX01BU0tfU0ZUCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19BVURSRUZOX0RFUkVTX0VOX1ZB VURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVEUkVGTl9ERVJFU19FTl9WQVVEUDMyX01BU0sJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkVGTl9ERVJFU19FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgx IDw8IDgpDQorI2RlZmluZSBSR19IUElOUFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJOQ0KKyNkZWZp bmUgUkdfSFBJTlBVVFNUQkVOSF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hQSU5Q VVRTVEJFTkhfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfSFBJTlBV VFJFU0VUMF9WQVVEUDMyX1NGVAkJCTEwDQorI2RlZmluZSBSR19IUElOUFVUUkVTRVQwX1ZBVURQ MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfSFBJTlBVVFJFU0VUMF9WQVVEUDMyX01BU0tfU0ZU CQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdfSFBPVVRQVVRSRVNFVDBfVkFVRFAzMl9TRlQJCQkx MQ0KKyNkZWZpbmUgUkdfSFBPVVRQVVRSRVNFVDBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19IUE9VVFBVVFJFU0VUMF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDExKQ0KKyNkZWZp bmUgUkdfSFBQU0hPUlQyVkNNX1ZBVURQMzJfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0hQUFNIT1JU MlZDTV9WQVVEUDMyX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMy X01BU0tfU0ZUCQkoMHg3IDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVESFBUUklNX0VOX1ZBVURQMzJf U0ZUCQkJMTUNCisjZGVmaW5lIFJHX0FVREhQVFJJTV9FTl9WQVVEUDMyX01BU0sJCQkweDENCisj ZGVmaW5lIFJHX0FVREhQVFJJTV9FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDE1KQ0KKw0K Ky8qIEFVRERFQ19BTkFfQ09OMyAqLw0KKyNkZWZpbmUgUkdfQVVESFBMVFJJTV9WQVVEUDMyX1NG VAkJCTANCisjZGVmaW5lIFJHX0FVREhQTFRSSU1fVkFVRFAzMl9NQVNLCQkJMHgxZg0KKyNkZWZp bmUgUkdfQVVESFBMVFJJTV9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MWYgPDwgMCkNCisjZGVmaW5l IFJHX0FVREhQTEZJTkVUUklNX1ZBVURQMzJfU0ZUCQkJNQ0KKyNkZWZpbmUgUkdfQVVESFBMRklO RVRSSU1fVkFVRFAzMl9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19BVURIUExGSU5FVFJJTV9WQVVE UDMyX01BU0tfU0ZUCQkoMHg3IDw8IDUpDQorI2RlZmluZSBSR19BVURIUFJUUklNX1ZBVURQMzJf U0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVESFBSVFJJTV9WQVVEUDMyX01BU0sJCQkweDFmDQorI2Rl ZmluZSBSR19BVURIUFJUUklNX1ZBVURQMzJfTUFTS19TRlQJCQkoMHgxZiA8PCA4KQ0KKyNkZWZp bmUgUkdfQVVESFBSRklORVRSSU1fVkFVRFAzMl9TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQVVESFBS RklORVRSSU1fVkFVRFAzMl9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19BVURIUFJGSU5FVFJJTV9W QVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDEzKQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09ONCAqLw0K KyNkZWZpbmUgUkdfQVVESFBESUZGSU5QQklBU0FESl9WQVVEUDMyX1NGVAkJMA0KKyNkZWZpbmUg UkdfQVVESFBESUZGSU5QQklBU0FESl9WQVVEUDMyX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfQVVE SFBESUZGSU5QQklBU0FESl9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDApDQorI2RlZmluZSBS R19BVURIUExGQ09NUFJFU1NFTF9WQVVEUDMyX1NGVAkJNA0KKyNkZWZpbmUgUkdfQVVESFBMRkNP TVBSRVNTRUxfVkFVRFAzMl9NQVNLCQkweDcNCisjZGVmaW5lIFJHX0FVREhQTEZDT01QUkVTU0VM X1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX0FVREhQSEZDT01QUkVT U0VMX1ZBVURQMzJfU0ZUCQk4DQorI2RlZmluZSBSR19BVURIUEhGQ09NUFJFU1NFTF9WQVVEUDMy X01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfQVVESFBIRkNPTVBSRVNTRUxfVkFVRFAzMl9NQVNLX1NG VAkJKDB4NyA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVESFBIRkNPTVBCVUZHQUlOU0VMX1ZBVURQMzJf U0ZUCQkxMg0KKyNkZWZpbmUgUkdfQVVESFBIRkNPTVBCVUZHQUlOU0VMX1ZBVURQMzJfTUFTSwkJ MHgzDQorI2RlZmluZSBSR19BVURIUEhGQ09NUEJVRkdBSU5TRUxfVkFVRFAzMl9NQVNLX1NGVAko MHgzIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVESFBDT01QX0VOX1ZBVURQMzJfU0ZUCQkJMTUNCisj ZGVmaW5lIFJHX0FVREhQQ09NUF9FTl9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV REhQQ09NUF9FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDE1KQ0KKw0KKy8qIEFVRERFQ19B TkFfQ09ONSAqLw0KKyNkZWZpbmUgUkdfQVVESFBERUNNR0FJTkFESl9WQVVEUDMyX1NGVAkJCTAN CisjZGVmaW5lIFJHX0FVREhQREVDTUdBSU5BREpfVkFVRFAzMl9NQVNLCQkweDcNCisjZGVmaW5l IFJHX0FVREhQREVDTUdBSU5BREpfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAwKQ0KKyNkZWZp bmUgUkdfQVVESFBERURNR0FJTkFESl9WQVVEUDMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVREhQ REVETUdBSU5BREpfVkFVRFAzMl9NQVNLCQkweDcNCisjZGVmaW5lIFJHX0FVREhQREVETUdBSU5B REpfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCA0KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09ONiAq Lw0KKyNkZWZpbmUgUkdfQVVESFNQV1JVUF9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FV REhTUFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIU1BXUlVQX1ZBVURQ MzJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURIU1BXUlVQX0lCSUFTX1ZB VURQMzJfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQVVESFNQV1JVUF9JQklBU19WQVVEUDMyX01BU0sJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVESFNQV1JVUF9JQklBU19WQVVEUDMyX01BU0tfU0ZUCQkoMHgx IDw8IDEpDQorI2RlZmluZSBSR19BVURIU01VWElOUFVUU0VMX1ZBVURQMzJfU0ZUCQkJMg0KKyNk ZWZpbmUgUkdfQVVESFNNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0sJCTB4Mw0KKyNkZWZpbmUgUkdf QVVESFNNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgzIDw8IDIpDQorI2RlZmluZSBS R19BVURIU1NDRElTQUJMRV9WQVVEUDMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVREhTU0NESVNB QkxFX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFNTQ0RJU0FCTEVfVkFVRFAz Ml9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVESFNCU0NDVVJSRU5UX1ZBVURQ MzJfU0ZUCQkJNQ0KKyNkZWZpbmUgUkdfQVVESFNCU0NDVVJSRU5UX1ZBVURQMzJfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVESFNCU0NDVVJSRU5UX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwg NSkNCisjZGVmaW5lIFJHX0FVREhTU1RBUlRVUF9WQVVEUDMyX1NGVAkJCTYNCisjZGVmaW5lIFJH X0FVREhTU1RBUlRVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhTU1RBUlRV UF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSR19IU09VVFBVVFNUQkVO SF9WQVVEUDMyX1NGVAkJCTcNCisjZGVmaW5lIFJHX0hTT1VUUFVUU1RCRU5IX1ZBVURQMzJfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfSFNPVVRQVVRTVEJFTkhfVkFVRFAzMl9NQVNLX1NGVAkJKDB4 MSA8PCA3KQ0KKyNkZWZpbmUgUkdfSFNJTlBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTgNCisjZGVm aW5lIFJHX0hTSU5QVVRTVEJFTkhfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19IU0lO UFVUU1RCRU5IX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0hTSU5Q VVRSRVNFVDBfVkFVRFAzMl9TRlQJCQk5DQorI2RlZmluZSBSR19IU0lOUFVUUkVTRVQwX1ZBVURQ MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfSFNJTlBVVFJFU0VUMF9WQVVEUDMyX01BU0tfU0ZU CQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19IU09VVFBVVFJFU0VUMF9WQVVEUDMyX1NGVAkJCTEw DQorI2RlZmluZSBSR19IU09VVFBVVFJFU0VUMF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5l IFJHX0hTT1VUUFVUUkVTRVQwX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTApDQorI2RlZmlu ZSBSR19IU09VVF9TSE9SVFZDTV9WQVVEUDMyX1NGVAkJCTExDQorI2RlZmluZSBSR19IU09VVF9T SE9SVFZDTV9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hTT1VUX1NIT1JUVkNNX1ZB VURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTEpDQorDQorLyogQVVEREVDX0FOQV9DT043ICovDQor I2RlZmluZSBSR19BVURMT0xQV1JVUF9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRExP TFBXUlVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETE9MUFdSVVBfVkFVRFAz Ml9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRExPTFBXUlVQX0lCSUFTX1ZB VURQMzJfU0ZUCQkxDQorI2RlZmluZSBSR19BVURMT0xQV1JVUF9JQklBU19WQVVEUDMyX01BU0sJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVETE9MUFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLX1NGVAkJKDB4 MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVETE9MTVVYSU5QVVRTRUxfVkFVRFAzMl9TRlQJCTINCisj ZGVmaW5lIFJHX0FVRExPTE1VWElOUFVUU0VMX1ZBVURQMzJfTUFTSwkJMHgzDQorI2RlZmluZSBS R19BVURMT0xNVVhJTlBVVFNFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgzIDw8IDIpDQorI2RlZmlu ZSBSR19BVURMT0xTQ0RJU0FCTEVfVkFVRFAzMl9TRlQJCQk0DQorI2RlZmluZSBSR19BVURMT0xT Q0RJU0FCTEVfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURMT0xTQ0RJU0FCTEVf VkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVETE9MQlNDQ1VSUkVO VF9WQVVEUDMyX1NGVAkJCTUNCisjZGVmaW5lIFJHX0FVRExPTEJTQ0NVUlJFTlRfVkFVRFAzMl9N QVNLCQkweDENCisjZGVmaW5lIFJHX0FVRExPTEJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLX1NGVAkJ KDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVETE9TVEFSVFVQX1ZBVURQMzJfU0ZUCQkJNg0KKyNk ZWZpbmUgUkdfQVVETE9TVEFSVFVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE TE9TVEFSVFVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNikNCisjZGVmaW5lIFJHX0xPSU5Q VVRTVEJFTkhfVkFVRFAzMl9TRlQJCQk3DQorI2RlZmluZSBSR19MT0lOUFVUU1RCRU5IX1ZBVURQ MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTE9JTlBVVFNUQkVOSF9WQVVEUDMyX01BU0tfU0ZU CQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19MT09VVFBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTgN CisjZGVmaW5lIFJHX0xPT1VUUFVUU1RCRU5IX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUg UkdfTE9PVVRQVVRTVEJFTkhfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUg UkdfTE9JTlBVVFJFU0VUMF9WQVVEUDMyX1NGVAkJCTkNCisjZGVmaW5lIFJHX0xPSU5QVVRSRVNF VDBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19MT0lOUFVUUkVTRVQwX1ZBVURQMzJf TUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX0xPT1VUUFVUUkVTRVQwX1ZBVURQMzJf U0ZUCQkJMTANCisjZGVmaW5lIFJHX0xPT1VUUFVUUkVTRVQwX1ZBVURQMzJfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfTE9PVVRQVVRSRVNFVDBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxMCkN CisjZGVmaW5lIFJHX0xPT1VUX1NIT1JUVkNNX1ZBVURQMzJfU0ZUCQkJMTENCisjZGVmaW5lIFJH X0xPT1VUX1NIT1JUVkNNX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTE9PVVRfU0hP UlRWQ01fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0FVRERBQ1RQ V1JVUF9WQVVEUDMyX1NGVAkJCTEyDQorI2RlZmluZSBSR19BVUREQUNUUFdSVVBfVkFVRFAzMl9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19BVUREQUNUUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4 MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVRF9EQUNfUFdUX1VQX1ZBMzJfU0ZUCQkJMTMNCisjZGVm aW5lIFJHX0FVRF9EQUNfUFdUX1VQX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEX0RB Q19QV1RfVVBfVkEzMl9NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorDQorLyogQVVEREVDX0FOQV9D T044ICovDQorI2RlZmluZSBSR19BVURUUklNQlVGX0lOUFVUTVVYU0VMX1ZBVURQMzJfU0ZUCQkw DQorI2RlZmluZSBSR19BVURUUklNQlVGX0lOUFVUTVVYU0VMX1ZBVURQMzJfTUFTSwkJMHhmDQor I2RlZmluZSBSR19BVURUUklNQlVGX0lOUFVUTVVYU0VMX1ZBVURQMzJfTUFTS19TRlQJKDB4ZiA8 PCAwKQ0KKyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9HQUlOU0VMX1ZBVURQMzJfU0ZUCQk0DQorI2Rl ZmluZSBSR19BVURUUklNQlVGX0dBSU5TRUxfVkFVRFAzMl9NQVNLCQkweDMNCisjZGVmaW5lIFJH X0FVRFRSSU1CVUZfR0FJTlNFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgzIDw8IDQpDQorI2RlZmlu ZSBSR19BVURUUklNQlVGX0VOX1ZBVURQMzJfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVEVFJJTUJV Rl9FTl9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFRSSU1CVUZfRU5fVkFVRFAz Ml9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdfQVVESFBTUEtERVRfSU5QVVRNVVhT RUxfVkFVRFAzMl9TRlQJCTgNCisjZGVmaW5lIFJHX0FVREhQU1BLREVUX0lOUFVUTVVYU0VMX1ZB VURQMzJfTUFTSwkJMHgzDQorI2RlZmluZSBSR19BVURIUFNQS0RFVF9JTlBVVE1VWFNFTF9WQVVE UDMyX01BU0tfU0ZUCSgweDMgPDwgOCkNCisjZGVmaW5lIFJHX0FVREhQU1BLREVUX09VVFBVVE1V WFNFTF9WQVVEUDMyX1NGVAkJMTANCisjZGVmaW5lIFJHX0FVREhQU1BLREVUX09VVFBVVE1VWFNF TF9WQVVEUDMyX01BU0sJMHgzDQorI2RlZmluZSBSR19BVURIUFNQS0RFVF9PVVRQVVRNVVhTRUxf VkFVRFAzMl9NQVNLX1NGVAkoMHgzIDw8IDEwKQ0KKyNkZWZpbmUgUkdfQVVESFBTUEtERVRfRU5f VkFVRFAzMl9TRlQJCQkxMg0KKyNkZWZpbmUgUkdfQVVESFBTUEtERVRfRU5fVkFVRFAzMl9NQVNL CQkJMHgxDQorI2RlZmluZSBSR19BVURIUFNQS0RFVF9FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgx IDw8IDEyKQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09OOSAqLw0KKyNkZWZpbmUgUkdfQUJJREVDX1JT VkQwX1ZBMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQwX1ZBMzJfTUFTSwkJCTB4 ZmYNCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMF9WQTMyX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkN CisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMF9WQVVEUDMyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FC SURFQ19SU1ZEMF9WQVVEUDMyX01BU0sJCQkweGZmDQorI2RlZmluZSBSR19BQklERUNfUlNWRDBf VkFVRFAzMl9NQVNLX1NGVAkJKDB4ZmYgPDwgOCkNCisNCisvKiBBVURERUNfQU5BX0NPTjEwICov DQorI2RlZmluZSBSR19BQklERUNfUlNWRDFfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmluZSBSR19B QklERUNfUlNWRDFfVkFVRFAzMl9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQx X1ZBVURQMzJfTUFTS19TRlQJCSgweGZmIDw8IDApDQorI2RlZmluZSBSR19BQklERUNfUlNWRDJf VkFVRFAzMl9TRlQJCQk4DQorI2RlZmluZSBSR19BQklERUNfUlNWRDJfVkFVRFAzMl9NQVNLCQkJ MHhmZg0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQyX1ZBVURQMzJfTUFTS19TRlQJCSgweGZmIDw8 IDgpDQorDQorLyogQVVEREVDX0FOQV9DT04xMSAqLw0KKyNkZWZpbmUgUkdfQVVEWkNETVVYU0VM X1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEWkNETVVYU0VMX1ZBVURQMzJfTUFTSwkJ CTB4Nw0KKyNkZWZpbmUgUkdfQVVEWkNETVVYU0VMX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwg MCkNCisjZGVmaW5lIFJHX0FVRFpDRENMS1NFTF9WQVVEUDMyX1NGVAkJCTMNCisjZGVmaW5lIFJH X0FVRFpDRENMS1NFTF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRFpDRENMS1NF TF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURCSUFTQURKXzBf VkFVRFAzMl9TRlQJCQk3DQorI2RlZmluZSBSR19BVURCSUFTQURKXzBfVkFVRFAzMl9NQVNLCQkJ MHgxZmYNCisjZGVmaW5lIFJHX0FVREJJQVNBREpfMF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxZmYg PDwgNykNCisNCisvKiBBVURERUNfQU5BX0NPTjEyICovDQorI2RlZmluZSBSR19BVURCSUFTQURK XzFfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmluZSBSR19BVURCSUFTQURKXzFfVkFVRFAzMl9NQVNL CQkJMHhmZg0KKyNkZWZpbmUgUkdfQVVEQklBU0FESl8xX1ZBVURQMzJfTUFTS19TRlQJCSgweGZm IDw8IDApDQorI2RlZmluZSBSR19BVURJQklBU1BXUkROX1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZp bmUgUkdfQVVESUJJQVNQV1JETl9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRElC SUFTUFdSRE5fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA4KQ0KKw0KKy8qIEFVRERFQ19BTkFf Q09OMTMgKi8NCisjZGVmaW5lIFJHX1JTVEJfREVDT0RFUl9WQTMyX1NGVAkJCTANCisjZGVmaW5l IFJHX1JTVEJfREVDT0RFUl9WQTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX1JTVEJfREVDT0RF Ul9WQTMyX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfU0VMX0RFQ09ERVJfOTZL X1ZBMzJfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfU0VMX0RFQ09ERVJfOTZLX1ZBMzJfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfU0VMX0RFQ09ERVJfOTZLX1ZBMzJfTUFTS19TRlQJCSgweDEgPDwgMSkN CisjZGVmaW5lIFJHX1NFTF9ERUxBWV9WQ09SRV9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfU0VMX0RF TEFZX1ZDT1JFX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19TRUxfREVMQVlfVkNPUkVfTUFTS19T RlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURHTEJfUFdSRE5fVkEzMl9TRlQJCQk0DQor I2RlZmluZSBSR19BVURHTEJfUFdSRE5fVkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURH TEJfUFdSRE5fVkEzMl9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVREdMQl9M UF9WT1dfRU5fVkEzMl9TRlQJCQk1DQorI2RlZmluZSBSR19BVURHTEJfTFBfVk9XX0VOX1ZBMzJf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVER0xCX0xQX1ZPV19FTl9WQTMyX01BU0tfU0ZUCQko MHgxIDw8IDUpDQorI2RlZmluZSBSR19BVURHTEJfTFAyX1ZPV19FTl9WQTMyX1NGVAkJCTYNCisj ZGVmaW5lIFJHX0FVREdMQl9MUDJfVk9XX0VOX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVER0xCX0xQMl9WT1dfRU5fVkEzMl9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKw0KKy8qIEFVRERF Q19BTkFfQ09OMTQgKi8NCisjZGVmaW5lIFJHX0xDTERPX0RFQ19FTl9WQTMyX1NGVAkJCTANCisj ZGVmaW5lIFJHX0xDTERPX0RFQ19FTl9WQTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0xDTERP X0RFQ19FTl9WQTMyX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfTENMRE9fREVD X1BERElTX0VOX1ZBMThfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfTENMRE9fREVDX1BERElTX0VOX1ZB MThfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTENMRE9fREVDX1BERElTX0VOX1ZBMThfTUFTS19T RlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0xDTERPX0RFQ19SRU1PVEVfU0VOU0VfVkExOF9T RlQJCTINCisjZGVmaW5lIFJHX0xDTERPX0RFQ19SRU1PVEVfU0VOU0VfVkExOF9NQVNLCQkweDEN CisjZGVmaW5lIFJHX0xDTERPX0RFQ19SRU1PVEVfU0VOU0VfVkExOF9NQVNLX1NGVAkJKDB4MSA8 PCAyKQ0KKyNkZWZpbmUgUkdfTlZSRUdfRU5fVkFVRFAzMl9TRlQJCQkJNA0KKyNkZWZpbmUgUkdf TlZSRUdfRU5fVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19OVlJFR19FTl9WQVVEUDMy X01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfTlZSRUdfUFVMTDBWX1ZBVURQMzJf U0ZUCQkJNQ0KKyNkZWZpbmUgUkdfTlZSRUdfUFVMTDBWX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNk ZWZpbmUgUkdfTlZSRUdfUFVMTDBWX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVm aW5lIFJHX0FVRFBNVV9SU1ZEX1ZBMThfU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFBNVV9SU1ZE X1ZBMThfTUFTSwkJCTB4ZmYNCisjZGVmaW5lIFJHX0FVRFBNVV9SU1ZEX1ZBMThfTUFTS19TRlQJ CQkoMHhmZiA8PCA4KQ0KKw0KKy8qIE1UNjM1OV9aQ0RfQ09OMCAqLw0KKyNkZWZpbmUgUkdfQVVE WkNERU5BQkxFX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURaQ0RFTkFCTEVfTUFTSwkJCQkweDEN CisjZGVmaW5lIFJHX0FVRFpDREVOQUJMRV9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5l IFJHX0FVRFpDREdBSU5TVEVQVElNRV9TRlQJCQkxDQorI2RlZmluZSBSR19BVURaQ0RHQUlOU1RF UFRJTUVfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVEWkNER0FJTlNURVBUSU1FX01BU0tfU0ZU CQkJKDB4NyA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEWkNER0FJTlNURVBTSVpFX1NGVAkJCTQNCisj ZGVmaW5lIFJHX0FVRFpDREdBSU5TVEVQU0laRV9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURa Q0RHQUlOU1RFUFNJWkVfTUFTS19TRlQJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURaQ0RU SU1FT1VUTU9ERVNFTF9TRlQJCQk2DQorI2RlZmluZSBSR19BVURaQ0RUSU1FT1VUTU9ERVNFTF9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURaQ0RUSU1FT1VUTU9ERVNFTF9NQVNLX1NGVAkJKDB4 MSA8PCA2KQ0KKw0KKy8qIE1UNjM1OV9aQ0RfQ09OMSAqLw0KKyNkZWZpbmUgUkdfQVVETE9MR0FJ Tl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVETE9MR0FJTl9NQVNLCQkJCTB4MWYNCisjZGVmaW5l IFJHX0FVRExPTEdBSU5fTUFTS19TRlQJCQkJKDB4MWYgPDwgMCkNCisjZGVmaW5lIFJHX0FVRExP UkdBSU5fU0ZUCQkJCTcNCisjZGVmaW5lIFJHX0FVRExPUkdBSU5fTUFTSwkJCQkweDFmDQorI2Rl ZmluZSBSR19BVURMT1JHQUlOX01BU0tfU0ZUCQkJCSgweDFmIDw8IDcpDQorDQorLyogTVQ2MzU5 X1pDRF9DT04yICovDQorI2RlZmluZSBSR19BVURIUExHQUlOX1NGVAkJCQkwDQorI2RlZmluZSBS R19BVURIUExHQUlOX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVESFBMR0FJTl9NQVNLX1NG VAkJCQkoMHgxZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVESFBSR0FJTl9TRlQJCQkJNw0KKyNkZWZp bmUgUkdfQVVESFBSR0FJTl9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVREhQUkdBSU5fTUFT S19TRlQJCQkJKDB4MWYgPDwgNykNCisNCisvKiBNVDYzNTlfWkNEX0NPTjMgKi8NCisjZGVmaW5l IFJHX0FVREhTR0FJTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVESFNHQUlOX01BU0sJCQkJMHgx Zg0KKyNkZWZpbmUgUkdfQVVESFNHQUlOX01BU0tfU0ZUCQkJCSgweDFmIDw8IDApDQorDQorLyog TVQ2MzU5X1pDRF9DT040ICovDQorI2RlZmluZSBSR19BVURJVkxHQUlOX1NGVAkJCQkwDQorI2Rl ZmluZSBSR19BVURJVkxHQUlOX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19BVURJVkxHQUlOX01B U0tfU0ZUCQkJCSgweDcgPDwgMCkNCisjZGVmaW5lIFJHX0FVRElWUkdBSU5fU0ZUCQkJCTgNCisj ZGVmaW5lIFJHX0FVRElWUkdBSU5fTUFTSwkJCQkweDcNCisjZGVmaW5lIFJHX0FVRElWUkdBSU5f TUFTS19TRlQJCQkJKDB4NyA8PCA4KQ0KKw0KKy8qIE1UNjM1OV9aQ0RfQ09ONSAqLw0KKyNkZWZp bmUgUkdfQVVESU5UR0FJTjFfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRElOVEdBSU4xX01BU0sJ CQkJMHgzZg0KKyNkZWZpbmUgUkdfQVVESU5UR0FJTjFfTUFTS19TRlQJCQkJKDB4M2YgPDwgMCkN CisjZGVmaW5lIFJHX0FVRElOVEdBSU4yX1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURJTlRHQUlO Ml9NQVNLCQkJCTB4M2YNCisjZGVmaW5lIFJHX0FVRElOVEdBSU4yX01BU0tfU0ZUCQkJCSgweDNm IDw8IDgpDQorDQorLyogYXVkaW8gcmVnaXN0ZXIgKi8NCisjZGVmaW5lIE1UNjM1OV9HUElPX0RJ UjAJCQkJMHg4OA0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fRElSMF9TRVQJCQkJMHg4YQ0KKyNkZWZp bmUgTVQ2MzU5X0dQSU9fRElSMF9DTFIJCQkJMHg4Yw0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fRElS MQkJCQkweDhlDQorI2RlZmluZSBNVDYzNTlfR1BJT19ESVIxX1NFVAkJCQkweDkwDQorI2RlZmlu ZSBNVDYzNTlfR1BJT19ESVIxX0NMUgkJCQkweDkyDQorDQorI2RlZmluZSBNVDYzNTlfRENYT19D VzExCQkJCTB4N2E2DQorI2RlZmluZSBNVDYzNTlfRENYT19DVzEyCQkJCTB4N2E4DQorI2RlZmlu ZSBNVDYzNTlfTERPX1ZBVUQxOF9DT04wCQkJCTB4MWM5OA0KKw0KKyNkZWZpbmUgTVQ2MzU5X0dQ SU9fTU9ERTAJCQkJMHhjYw0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTBfU0VUCQkJCTB4Y2UN CisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUwX0NMUgkJCQkweGQwDQorI2RlZmluZSBNVDYzNTlf R1BJT19NT0RFMQkJCQkweGQyDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFMV9TRVQJCQkJMHhk NA0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTFfQ0xSCQkJCTB4ZDYNCisjZGVmaW5lIE1UNjM1 OV9HUElPX01PREUyCQkJCTB4ZDgNCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUyX1NFVAkJCQkw eGRhDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFMl9DTFIJCQkJMHhkYw0KKyNkZWZpbmUgTVQ2 MzU5X0dQSU9fTU9ERTMJCQkJMHhkZQ0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTNfU0VUCQkJ CTB4ZTANCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUzX0NMUgkJCQkweGUyDQorI2RlZmluZSBN VDYzNTlfR1BJT19NT0RFNAkJCQkweGU0DQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFNF9TRVQJ CQkJMHhlNg0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTRfQ0xSCQkJCTB4ZTgNCisNCisjZGVm aW5lIE1UNjM1OV9BVURfVE9QX0lECQkJCTB4MjMwMA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1Bf UkVWMAkJCQkweDIzMDINCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0RCSQkJCQkweDIzMDQNCisj ZGVmaW5lIE1UNjM1OV9BVURfVE9QX0RYSQkJCQkweDIzMDYNCisjZGVmaW5lIE1UNjM1OV9BVURf VE9QX0NLUEROX1RQTTAJCQkweDIzMDgNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLUEROX1RQ TTEJCQkweDIzMGENCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLUEROX0NPTjAJCQkweDIzMGMN CisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLUEROX0NPTjBfU0VUCQkJMHgyMzBlDQorI2RlZmlu ZSBNVDYzNTlfQVVEX1RPUF9DS1BETl9DT04wX0NMUgkJCTB4MjMxMA0KKyNkZWZpbmUgTVQ2MzU5 X0FVRF9UT1BfQ0tTRUxfQ09OMAkJCTB4MjMxMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tT RUxfQ09OMF9TRVQJCQkweDIzMTQNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLU0VMX0NPTjBf Q0xSCQkJMHgyMzE2DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DS1RTVF9DT04wCQkJMHgyMzE4 DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DTEtfSFdFTl9DT04wCQkJMHgyMzFhDQorI2RlZmlu ZSBNVDYzNTlfQVVEX1RPUF9DTEtfSFdFTl9DT04wX1NFVAkJMHgyMzFjDQorI2RlZmluZSBNVDYz NTlfQVVEX1RPUF9DTEtfSFdFTl9DT04wX0NMUgkJMHgyMzFlDQorI2RlZmluZSBNVDYzNTlfQVVE X1RPUF9SU1RfQ09OMAkJCQkweDIzMjANCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX1JTVF9DT04w X1NFVAkJCTB4MjMyMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfUlNUX0NPTjBfQ0xSCQkJMHgy MzI0DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9SU1RfQkFOS19DT04wCQkJMHgyMzI2DQorI2Rl ZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfQ09OMAkJCQkweDIzMjgNCisjZGVmaW5lIE1UNjM1OV9B VURfVE9QX0lOVF9DT04wX1NFVAkJCTB4MjMyYQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5U X0NPTjBfQ0xSCQkJMHgyMzJjDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfTUFTS19DT04w CQkJMHgyMzJlDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfTUFTS19DT04wX1NFVAkJMHgy MzMwDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfTUFTS19DT04wX0NMUgkJMHgyMzMyDQor I2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfU1RBVFVTMAkJCTB4MjMzNA0KKyNkZWZpbmUgTVQ2 MzU5X0FVRF9UT1BfSU5UX1JBV19TVEFUVVMwCQkJMHgyMzM2DQorI2RlZmluZSBNVDYzNTlfQVVE X1RPUF9JTlRfTUlTQ19DT04wCQkJMHgyMzM4DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9NT05f Q09OMAkJCQkweDIzM2ENCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfRFNOX0lECQkJCTB4MjM4 MA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR19EU05fUkVWMAkJCTB4MjM4Mg0KKyNkZWZpbmUg TVQ2MzU5X0FVRElPX0RJR19EU05fREJJCQkJMHgyMzg0DQorI2RlZmluZSBNVDYzNTlfQVVESU9f RElHX0RTTl9EWEkJCQkweDIzODYNCisjZGVmaW5lIE1UNjM1OV9BRkVfVUxfRExfQ09OMAkJCQkw eDIzODgNCisjZGVmaW5lIE1UNjM1OV9BRkVfRExfU1JDMl9DT04wX0wJCQkweDIzOGENCisjZGVm aW5lIE1UNjM1OV9BRkVfVUxfU1JDX0NPTjBfSAkJCTB4MjM4Yw0KKyNkZWZpbmUgTVQ2MzU5X0FG RV9VTF9TUkNfQ09OMF9MCQkJMHgyMzhlDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREE2X0xfU1JD X0NPTjBfSAkJCTB4MjM5MA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBNl9VTF9TUkNfQ09OMF9M CQkJMHgyMzkyDQorI2RlZmluZSBNVDYzNTlfQUZFX1RPUF9DT04wCQkJCTB4MjM5NA0KKyNkZWZp bmUgTVQ2MzU5X0FVRElPX1RPUF9DT04wCQkJCTB4MjM5Ng0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9N T05fREVCVUcwCQkJCTB4MjM5OA0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04wCQkJCTB4 MjM5YQ0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04xCQkJCTB4MjM5Yw0KKyNkZWZpbmUg TVQ2MzU5X0FGVU5DX0FVRF9DT04yCQkJCTB4MjM5ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FV RF9DT04zCQkJCTB4MjNhMA0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT040CQkJCTB4MjNh Mg0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT041CQkJCTB4MjNhNA0KKyNkZWZpbmUgTVQ2 MzU5X0FGVU5DX0FVRF9DT042CQkJCTB4MjNhNg0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9D T043CQkJCTB4MjNhOA0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT044CQkJCTB4MjNhYQ0K KyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT045CQkJCTB4MjNhYw0KKyNkZWZpbmUgTVQ2MzU5 X0FGVU5DX0FVRF9DT04xMAkJCQkweDIzYWUNCisjZGVmaW5lIE1UNjM1OV9BRlVOQ19BVURfQ09O MTEJCQkJMHgyM2IwDQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjEyCQkJCTB4MjNiMg0K KyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9NT04wCQkJCTB4MjNiNA0KKyNkZWZpbmUgTVQ2MzU5 X0FGVU5DX0FVRF9NT04xCQkJCTB4MjNiNg0KKyNkZWZpbmUgTVQ2MzU5X0FVRFJDX1RVTkVfTU9O MAkJCQkweDIzYjgNCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfRklGT19DRkcwCQkw eDIzYmENCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfRklGT19MT0dfTU9OMQkJMHgy M2JjDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX01PTjAJCQkweDIzYmUNCisjZGVm aW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfTU9OMQkJCTB4MjNjMA0KKyNkZWZpbmUgTVQ2MzU5 X0FGRV9BRERBX01US0FJRl9NT04yCQkJMHgyM2MyDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREE2 X01US0FJRl9NT04zCQkJMHgyM2M0DQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX01P TjQJCQkweDIzYzYNCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfTU9ONQkJCTB4MjNj OA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9DRkcwCQkJMHgyM2NhDQorI2RlZmlu ZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX1JYX0NGRzAJCQkweDIzY2MNCisjZGVmaW5lIE1UNjM1 OV9BRkVfQUREQV9NVEtBSUZfUlhfQ0ZHMQkJCTB4MjNjZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9B RERBX01US0FJRl9SWF9DRkcyCQkJMHgyM2QwDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRL QUlGX1JYX0NGRzMJCQkweDIzZDINCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfU1lO Q1dPUkRfQ0ZHMAkJMHgyM2Q0DQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX1NZTkNX T1JEX0NGRzEJCTB4MjNkNg0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9TR0VOX0NGRzAJCQkJMHgyM2Q4 DQorI2RlZmluZSBNVDYzNTlfQUZFX1NHRU5fQ0ZHMQkJCQkweDIzZGENCisjZGVmaW5lIE1UNjM1 OV9BRkVfQURDX0FTWU5DX0ZJRk9fQ0ZHCQkJMHgyM2RjDQorI2RlZmluZSBNVDYzNTlfQUZFX0FE Q19BU1lOQ19GSUZPX0NGRzEJCQkweDIzZGUNCisjZGVmaW5lIE1UNjM1OV9BRkVfRENDTEtfQ0ZH MAkJCQkweDIzZTANCisjZGVmaW5lIE1UNjM1OV9BRkVfRENDTEtfQ0ZHMQkJCQkweDIzZTINCisj ZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfQ0ZHCQkJCTB4MjNlNA0KKyNkZWZpbmUgTVQ2MzU5X0FV RElPX0RJR19DRkcxCQkJCTB4MjNlNg0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUAkJ CQkweDIzZTgNCisjZGVmaW5lIE1UNjM1OV9BRkVfQVVEX1BBRF9UT1BfTU9OCQkJMHgyM2VhDQor I2RlZmluZSBNVDYzNTlfQUZFX0FVRF9QQURfVE9QX01PTjEJCQkweDIzZWMNCisjZGVmaW5lIE1U NjM1OV9BRkVfQVVEX1BBRF9UT1BfTU9OMgkJCTB4MjNlZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9E TF9OTEVfQ0ZHCQkJCTB4MjNmMA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9ETF9OTEVfTU9OCQkJCTB4 MjNmMg0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9DR19FTl9NT04JCQkJMHgyM2Y0DQorI2RlZmluZSBN VDYzNTlfQUZFX01JQ19BUlJBWV9DRkcJCQkweDIzZjYNCisjZGVmaW5lIE1UNjM1OV9BRkVfQ0hP UF9DRkcwCQkJCTB4MjNmOA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9NVEtBSUZfTVVYX0NGRwkJCTB4 MjNmYQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR18yTkRfRFNOX0lECQkJMHgyNDAwDQorI2Rl ZmluZSBNVDYzNTlfQVVESU9fRElHXzJORF9EU05fUkVWMAkJCTB4MjQwMg0KKyNkZWZpbmUgTVQ2 MzU5X0FVRElPX0RJR18yTkRfRFNOX0RCSQkJCTB4MjQwNA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElP X0RJR18yTkRfRFNOX0RYSQkJCTB4MjQwNg0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9QTUlDX05FV0lG X0NGRzMJCQkweDI0MDgNCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfM1JEX0RTTl9JRAkJCTB4 MjQ4MA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR18zUkRfRFNOX1JFVjAJCQkweDI0ODINCisj ZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfM1JEX0RTTl9EQkkJCQkweDI0ODQNCisjZGVmaW5lIE1U NjM1OV9BVURJT19ESUdfM1JEX0RTTl9EWEkJCQkweDI0ODYNCisjZGVmaW5lIE1UNjM1OV9BRkVf TkNQX0NGRzAJCQkJMHgyNGRlDQorI2RlZmluZSBNVDYzNTlfQUZFX05DUF9DRkcxCQkJCTB4MjRl MA0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9OQ1BfQ0ZHMgkJCQkweDI0ZTINCisjZGVmaW5lIE1UNjM1 OV9BVURFTkNfRFNOX0lECQkJCTB4MjUwMA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19EU05fUkVW MAkJCQkweDI1MDINCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfRFNOX0RCSQkJCQkweDI1MDQNCisj ZGVmaW5lIE1UNjM1OV9BVURFTkNfRFNOX0ZQSQkJCQkweDI1MDYNCisjZGVmaW5lIE1UNjM1OV9B VURFTkNfQU5BX0NPTjAJCQkJMHgyNTA4DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04x CQkJCTB4MjUwYQ0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMgkJCQkweDI1MGMNCisj ZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjMJCQkJMHgyNTBlDQorI2RlZmluZSBNVDYzNTlf QVVERU5DX0FOQV9DT040CQkJCTB4MjUxMA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09O NQkJCQkweDI1MTINCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjYJCQkJMHgyNTE0DQor I2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT043CQkJCTB4MjUxNg0KKyNkZWZpbmUgTVQ2MzU5 X0FVREVOQ19BTkFfQ09OOAkJCQkweDI1MTgNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NP TjkJCQkJMHgyNTFhDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xMAkJCQkweDI1MWMN CisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjExCQkJCTB4MjUxZQ0KKyNkZWZpbmUgTVQ2 MzU5X0FVREVOQ19BTkFfQ09OMTIJCQkJMHgyNTIwDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FO QV9DT04xMwkJCQkweDI1MjINCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE0CQkJCTB4 MjUyNA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTUJCQkJMHgyNTI2DQorI2RlZmlu ZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xNgkJCQkweDI1MjgNCisjZGVmaW5lIE1UNjM1OV9BVURF TkNfQU5BX0NPTjE3CQkJCTB4MjUyYQ0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTgJ CQkJMHgyNTJjDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xOQkJCQkweDI1MmUNCisj ZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIwCQkJCTB4MjUzMA0KKyNkZWZpbmUgTVQ2MzU5 X0FVREVOQ19BTkFfQ09OMjEJCQkJMHgyNTMyDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9D T04yMgkJCQkweDI1MzQNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIzCQkJCTB4MjUz Ng0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19EU05fSUQJCQkJMHgyNTgwDQorI2RlZmluZSBNVDYz NTlfQVVEREVDX0RTTl9SRVYwCQkJCTB4MjU4Mg0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19EU05f REJJCQkJCTB4MjU4NA0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19EU05fRlBJCQkJCTB4MjU4Ng0K KyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMAkJCQkweDI1ODgNCisjZGVmaW5lIE1UNjM1 OV9BVURERUNfQU5BX0NPTjEJCQkJMHgyNThhDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9D T04yCQkJCTB4MjU4Yw0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMwkJCQkweDI1OGUN CisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjQJCQkJMHgyNTkwDQorI2RlZmluZSBNVDYz NTlfQVVEREVDX0FOQV9DT041CQkJCTB4MjU5Mg0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFf Q09ONgkJCQkweDI1OTQNCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjcJCQkJMHgyNTk2 DQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT044CQkJCTB4MjU5OA0KKyNkZWZpbmUgTVQ2 MzU5X0FVRERFQ19BTkFfQ09OOQkJCQkweDI1OWENCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5B X0NPTjEwCQkJCTB4MjU5Yw0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTEJCQkJMHgy NTllDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT04xMgkJCQkweDI1YTANCisjZGVmaW5l IE1UNjM1OV9BVURERUNfQU5BX0NPTjEzCQkJCTB4MjVhMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRERF Q19BTkFfQ09OMTQJCQkJMHgyNWE0DQorI2RlZmluZSBNVDYzNTlfQVVEWkNEX0RTTl9JRAkJCQkw eDI2MDANCisjZGVmaW5lIE1UNjM1OV9BVURaQ0RfRFNOX1JFVjAJCQkJMHgyNjAyDQorI2RlZmlu ZSBNVDYzNTlfQVVEWkNEX0RTTl9EQkkJCQkJMHgyNjA0DQorI2RlZmluZSBNVDYzNTlfQVVEWkNE X0RTTl9GUEkJCQkJMHgyNjA2DQorI2RlZmluZSBNVDYzNTlfWkNEX0NPTjAJCQkJCTB4MjYwOA0K KyNkZWZpbmUgTVQ2MzU5X1pDRF9DT04xCQkJCQkweDI2MGENCisjZGVmaW5lIE1UNjM1OV9aQ0Rf Q09OMgkJCQkJMHgyNjBjDQorI2RlZmluZSBNVDYzNTlfWkNEX0NPTjMJCQkJCTB4MjYwZQ0KKyNk ZWZpbmUgTVQ2MzU5X1pDRF9DT040CQkJCQkweDI2MTANCisjZGVmaW5lIE1UNjM1OV9aQ0RfQ09O NQkJCQkJMHgyNjEyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0RTTl9ESUdfSUQJCQkweDI2ODAN CisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfRFNOX0RJR19SRVYwCQkJMHgyNjgyDQorI2RlZmluZSBN VDYzNTlfQUNDREVUX0RTTl9EQkkJCQkJMHgyNjg0DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0RT Tl9GUEkJCQkJMHgyNjg2DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjAJCQkJMHgyNjg4DQor I2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjEJCQkJMHgyNjhhDQorI2RlZmluZSBNVDYzNTlfQUND REVUX0NPTjIJCQkJMHgyNjhjDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjMJCQkJMHgyNjhl DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjQJCQkJMHgyNjkwDQorI2RlZmluZSBNVDYzNTlf QUNDREVUX0NPTjUJCQkJMHgyNjkyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjYJCQkJMHgy Njk0DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjcJCQkJMHgyNjk2DQorI2RlZmluZSBNVDYz NTlfQUNDREVUX0NPTjgJCQkJMHgyNjk4DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjkJCQkJ MHgyNjlhDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjEwCQkJCTB4MjY5Yw0KKyNkZWZpbmUg TVQ2MzU5X0FDQ0RFVF9DT04xMQkJCQkweDI2OWUNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09O MTIJCQkJMHgyNmEwDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjEzCQkJCTB4MjZhMg0KKyNk ZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xNAkJCQkweDI2YTQNCisjZGVmaW5lIE1UNjM1OV9BQ0NE RVRfQ09OMTUJCQkJMHgyNmE2DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjE2CQkJCTB4MjZh OA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xNwkJCQkweDI2YWENCisjZGVmaW5lIE1UNjM1 OV9BQ0NERVRfQ09OMTgJCQkJMHgyNmFjDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjE5CQkJ CTB4MjZhZQ0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04yMAkJCQkweDI2YjANCisjZGVmaW5l IE1UNjM1OV9BQ0NERVRfQ09OMjEJCQkJMHgyNmIyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NP TjIyCQkJCTB4MjZiNA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04yMwkJCQkweDI2YjYNCisj ZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjQJCQkJMHgyNmI4DQorI2RlZmluZSBNVDYzNTlfQUND REVUX0NPTjI1CQkJCTB4MjZiYQ0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04yNgkJCQkweDI2 YmMNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjcJCQkJMHgyNmJlDQorI2RlZmluZSBNVDYz NTlfQUNDREVUX0NPTjI4CQkJCTB4MjZjMA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04yOQkJ CQkweDI2YzINCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMzAJCQkJMHgyNmM0DQorI2RlZmlu ZSBNVDYzNTlfQUNDREVUX0NPTjMxCQkJCTB4MjZjNg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9D T04zMgkJCQkweDI2YzgNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMzMJCQkJMHgyNmNhDQor I2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjM0CQkJCTB4MjZjYw0KKyNkZWZpbmUgTVQ2MzU5X0FD Q0RFVF9DT04zNQkJCQkweDI2Y2UNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMzYJCQkJMHgy NmQwDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjM3CQkJCTB4MjZkMg0KKyNkZWZpbmUgTVQ2 MzU5X0FDQ0RFVF9DT04zOAkJCQkweDI2ZDQNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMzkJ CQkJMHgyNmQ2DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjQwCQkJCTB4MjZkOA0KKyNkZWZp bmUgTVQ2MzU5X01BWF9SRUdJU1RFUgkJCQlNVDYzNTlfWkNEX0NPTjUNCisNCisvKiBkbCBiaWFz ICovDQorI2RlZmluZSBEUkJJQVNfTUFTSyAweDcNCisjZGVmaW5lIERSQklBU19IUF9TRlQgKFJH X0FVREJJQVNBREpfMF9WQVVEUDMyX1NGVCArIDApDQorI2RlZmluZSBEUkJJQVNfSFBfTUFTS19T RlQgKERSQklBU19NQVNLIDw8IERSQklBU19IUF9TRlQpDQorI2RlZmluZSBEUkJJQVNfSFNfU0ZU IChSR19BVURCSUFTQURKXzBfVkFVRFAzMl9TRlQgKyAzKQ0KKyNkZWZpbmUgRFJCSUFTX0hTX01B U0tfU0ZUIChEUkJJQVNfTUFTSyA8PCBEUkJJQVNfSFNfU0ZUKQ0KKyNkZWZpbmUgRFJCSUFTX0xP X1NGVCAoUkdfQVVEQklBU0FESl8wX1ZBVURQMzJfU0ZUICsgNikNCisjZGVmaW5lIERSQklBU19M T19NQVNLX1NGVCAoRFJCSUFTX01BU0sgPDwgRFJCSUFTX0xPX1NGVCkNCisjZGVmaW5lIElCSUFT X01BU0sgMHgzDQorI2RlZmluZSBJQklBU19IUF9TRlQgKFJHX0FVREJJQVNBREpfMV9WQVVEUDMy X1NGVCArIDApDQorI2RlZmluZSBJQklBU19IUF9NQVNLX1NGVCAoSUJJQVNfTUFTSyA8PCBJQklB U19IUF9TRlQpDQorI2RlZmluZSBJQklBU19IU19TRlQgKFJHX0FVREJJQVNBREpfMV9WQVVEUDMy X1NGVCArIDIpDQorI2RlZmluZSBJQklBU19IU19NQVNLX1NGVCAoSUJJQVNfTUFTSyA8PCBJQklB U19IU19TRlQpDQorI2RlZmluZSBJQklBU19MT19TRlQgKFJHX0FVREJJQVNBREpfMV9WQVVEUDMy X1NGVCArIDQpDQorI2RlZmluZSBJQklBU19MT19NQVNLX1NGVCAoSUJJQVNfTUFTSyA8PCBJQklB U19MT19TRlQpDQorI2RlZmluZSBJQklBU19aQ0RfU0ZUIChSR19BVURCSUFTQURKXzFfVkFVRFAz Ml9TRlQgKyA2KQ0KKyNkZWZpbmUgSUJJQVNfWkNEX01BU0tfU0ZUIChJQklBU19NQVNLIDw8IElC SUFTX1pDRF9TRlQpDQorDQorLyogZGwgZ2FpbiAqLw0KKyNkZWZpbmUgRExfR0FJTl9OXzEwREJf UkVHIChETF9HQUlOX05fMTBEQiA8PCA3IHwgRExfR0FJTl9OXzEwREIpDQorI2RlZmluZSBETF9H QUlOX05fMjJEQl9SRUcgKERMX0dBSU5fTl8yMkRCIDw8IDcgfCBETF9HQUlOX05fMjJEQikNCisj ZGVmaW5lIERMX0dBSU5fTl80MERCX1JFRyAoRExfR0FJTl9OXzQwREIgPDwgNyB8IERMX0dBSU5f Tl80MERCKQ0KKyNkZWZpbmUgRExfR0FJTl9SRUdfTUFTSyAweDBmOWYNCisNCisvKiBtaWMgdHlw ZSBtdXggKi8NCisjZGVmaW5lIE1UX1NPQ19FTlVNX0VYVF9JRCh4bmFtZSwgeGVudW0sIHhoYW5k bGVyX2dldCwgeGhhbmRsZXJfcHV0LCBpZCkgXA0KK3sJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1f SUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIC5kZXZpY2UgPSBpZCxcDQorCS5pbmZvID0gc25k X3NvY19pbmZvX2VudW1fZG91YmxlLCBcDQorCS5nZXQgPSB4aGFuZGxlcl9nZXQsIC5wdXQgPSB4 aGFuZGxlcl9wdXQsIFwNCisJLnByaXZhdGVfdmFsdWUgPSAodW5zaWduZWQgbG9uZykmKHhlbnVt KSB9DQorDQorZW51bSB7DQorCU1UNjM1OV9NVEtBSUZfUFJPVE9DT0xfMSA9IDAsDQorCU1UNjM1 OV9NVEtBSUZfUFJPVE9DT0xfMiwNCisJTVQ2MzU5X01US0FJRl9QUk9UT0NPTF8yX0NMS19QMiwN Cit9Ow0KKw0KK2VudW0gew0KKwlNVDYzNTlfQUlGXzEgPSAwLAkvKiBkbDogaHAsIHJjdiwgaHAr bG8gKi8NCisJTVQ2MzU5X0FJRl8yLAkJLyogZGw6IGxvIG9ubHkgKi8NCisJTVQ2MzU5X0FJRl9O VU0sDQorfTsNCisNCitlbnVtIHsNCisJQVVESU9fQU5BTE9HX1ZPTFVNRV9IU09VVEwsDQorCUFV RElPX0FOQUxPR19WT0xVTUVfSFNPVVRSLA0KKwlBVURJT19BTkFMT0dfVk9MVU1FX0hQT1VUTCwN CisJQVVESU9fQU5BTE9HX1ZPTFVNRV9IUE9VVFIsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfTElO RU9VVEwsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfTElORU9VVFIsDQorCUFVRElPX0FOQUxPR19W T0xVTUVfTUlDQU1QMSwNCisJQVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAyLA0KKwlBVURJT19B TkFMT0dfVk9MVU1FX01JQ0FNUDMsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfVFlQRV9NQVgNCit9 Ow0KKw0KK2VudW0gew0KKwlNVVhfTUlDX1RZUEVfMCwJLyogYWluMCwgbWljYmlhcyAwICovDQor CU1VWF9NSUNfVFlQRV8xLAkvKiBhaW4xLCBtaWNiaWFzIDEgKi8NCisJTVVYX01JQ19UWVBFXzIs CS8qIGFpbjIvMywgbWljYmlhcyAyICovDQorCU1VWF9QR0FfTCwNCisJTVVYX1BHQV9SLA0KKwlN VVhfUEdBXzMsDQorCU1VWF9IUCwNCisJTVVYX05VTSwNCit9Ow0KKw0KK2VudW0gew0KKwlERVZJ Q0VfSFAsDQorCURFVklDRV9MTywNCisJREVWSUNFX1JDViwNCisJREVWSUNFX01JQzEsDQorCURF VklDRV9NSUMyLA0KKwlERVZJQ0VfTlVNDQorfTsNCisNCitlbnVtIHsNCisJSFBfR0FJTl9DVExf WkNEID0gMCwNCisJSFBfR0FJTl9DVExfTkxFLA0KKwlIUF9HQUlOX0NUTF9OVU0sDQorfTsNCisN CitlbnVtIHsNCisJSFBfTVVYX09QRU4gPSAwLA0KKwlIUF9NVVhfSFBTUEssDQorCUhQX01VWF9I UCwNCisJSFBfTVVYX1RFU1RfTU9ERSwNCisJSFBfTVVYX0hQX0lNUEVEQU5DRSwNCisJSFBfTVVY X01BU0sgPSAweDcsDQorfTsNCisNCitlbnVtIHsNCisJUkNWX01VWF9PUEVOID0gMCwNCisJUkNW X01VWF9NVVRFLA0KKwlSQ1ZfTVVYX1ZPSUNFX1BMQVlCQUNLLA0KKwlSQ1ZfTVVYX1RFU1RfTU9E RSwNCisJUkNWX01VWF9NQVNLID0gMHgzLA0KK307DQorDQorZW51bSB7DQorCUxPX01VWF9PUEVO ID0gMCwNCisJTE9fTVVYX0xfREFDLA0KKwlMT19NVVhfM1JEX0RBQywNCisJTE9fTVVYX1RFU1Rf TU9ERSwNCisJTE9fTVVYX01BU0sgPSAweDMsDQorfTsNCisNCisvKiBTdXBwbHkgd2lkZ2V0IHN1 YnNlcSAqLw0KK2VudW0gew0KKwkvKiBjb21tb24gKi8NCisJU1VQUExZX1NFUV9DTEtfQlVGLA0K KwlTVVBQTFlfU0VRX0xET19WQVVEMTgsDQorCVNVUFBMWV9TRVFfQVVEX0dMQiwNCisJU1VQUExZ X1NFUV9IUF9QVUxMX0RPV04sDQorCVNVUFBMWV9TRVFfQ0xLU1EsDQorCVNVUFBMWV9TRVFfQURD X0NMS0dFTiwNCisJU1VQUExZX1NFUV9UT1BfQ0ssDQorCVNVUFBMWV9TRVFfVE9QX0NLX0xBU1Qs DQorCVNVUFBMWV9TRVFfRENDX0NMSywNCisJU1VQUExZX1NFUV9NSUNfQklBUywNCisJU1VQUExZ X1NFUV9ETUlDLA0KKwlTVVBQTFlfU0VRX0FVRF9UT1AsDQorCVNVUFBMWV9TRVFfQVVEX1RPUF9M QVNULA0KKwlTVVBQTFlfU0VRX0RMX1NETV9GSUZPX0NMSywNCisJU1VQUExZX1NFUV9ETF9TRE0s DQorCVNVUFBMWV9TRVFfRExfTkNQLA0KKwlTVVBQTFlfU0VRX0FGRSwNCisJLyogcGxheWJhY2sg Ki8NCisJU1VQUExZX1NFUV9ETF9TUkMsDQorCVNVUFBMWV9TRVFfRExfRVNEX1JFU0lTVCwNCisJ U1VQUExZX1NFUV9IUF9EQU1QSU5HX09GRl9SRVNFVF9DTUZCLA0KKwlTVVBQTFlfU0VRX0hQX01V VEUsDQorCVNVUFBMWV9TRVFfRExfTERPX1JFTU9URV9TRU5TRSwNCisJU1VQUExZX1NFUV9ETF9M RE8sDQorCVNVUFBMWV9TRVFfRExfTlYsDQorCVNVUFBMWV9TRVFfSFBfQU5BX1RSSU0sDQorCVNV UFBMWV9TRVFfRExfSUJJU1QsDQorCS8qIGNhcHR1cmUgKi8NCisJU1VQUExZX1NFUV9VTF9QR0Es DQorCVNVUFBMWV9TRVFfVUxfQURDLA0KKwlTVVBQTFlfU0VRX1VMX01US0FJRiwNCisJU1VQUExZ X1NFUV9VTF9TUkNfRE1JQywNCisJU1VQUExZX1NFUV9VTF9TUkMsDQorfTsNCisNCitlbnVtIHsN CisJQ0hfTCA9IDAsDQorCUNIX1IsDQorCU5VTV9DSCwNCit9Ow0KKw0KK2VudW0gew0KKwlEUkJJ QVNfNFVBID0gMCwNCisJRFJCSUFTXzVVQSwNCisJRFJCSUFTXzZVQSwNCisJRFJCSUFTXzdVQSwN CisJRFJCSUFTXzhVQSwNCisJRFJCSUFTXzlVQSwNCisJRFJCSUFTXzEwVUEsDQorCURSQklBU18x MVVBLA0KK307DQorDQorZW51bSB7DQorCUlCSUFTXzRVQSA9IDAsDQorCUlCSUFTXzVVQSwNCisJ SUJJQVNfNlVBLA0KKwlJQklBU183VUEsDQorfTsNCisNCitlbnVtIHsNCisJSUJJQVNfWkNEXzNV QSA9IDAsDQorCUlCSUFTX1pDRF80VUEsDQorCUlCSUFTX1pDRF81VUEsDQorCUlCSUFTX1pDRF82 VUEsDQorfTsNCisNCitlbnVtIHsNCisJTUlDX0JJQVNfMVA3ID0gMCwNCisJTUlDX0JJQVNfMVA4 LA0KKwlNSUNfQklBU18xUDksDQorCU1JQ19CSUFTXzJQMCwNCisJTUlDX0JJQVNfMlAxLA0KKwlN SUNfQklBU18yUDUsDQorCU1JQ19CSUFTXzJQNiwNCisJTUlDX0JJQVNfMlA3LA0KK307DQorDQor LyogZGwgcGdhIGdhaW4gKi8NCitlbnVtIHsNCisJRExfR0FJTl84REIgPSAwLA0KKwlETF9HQUlO XzBEQiA9IDgsDQorCURMX0dBSU5fTl8xREIgPSA5LA0KKwlETF9HQUlOX05fMTBEQiA9IDE4LA0K KwlETF9HQUlOX05fMjJEQiA9IDMwLA0KKwlETF9HQUlOX05fNDBEQiA9IDB4MWYsDQorfTsNCisN CisvKiBNaWMgVHlwZSBNVVggKi8NCitlbnVtIHsNCisJTUlDX1RZUEVfTVVYX0lETEUgPSAwLA0K KwlNSUNfVFlQRV9NVVhfQUNDLA0KKwlNSUNfVFlQRV9NVVhfRE1JQywNCisJTUlDX1RZUEVfTVVY X0RDQywNCisJTUlDX1RZUEVfTVVYX0RDQ19FQ01fRElGRiwNCisJTUlDX1RZUEVfTVVYX0RDQ19F Q01fU0lOR0xFLA0KK307DQorDQorLyogVUwgU1JDIE1VWCAqLw0KK2VudW0gew0KKwlVTF9TUkNf TVVYX0FNSUMgPSAwLA0KKwlVTF9TUkNfTVVYX0RNSUMsDQorfTsNCisNCisvKiBNSVNPIE1VWCAq Lw0KK2VudW0gew0KKwlNSVNPX01VWF9VTDFfQ0gxID0gMCwNCisJTUlTT19NVVhfVUwxX0NIMiwN CisJTUlTT19NVVhfVUwyX0NIMSwNCisJTUlTT19NVVhfVUwyX0NIMiwNCit9Ow0KKw0KKy8qIERN SUMgTVVYICovDQorZW51bSB7DQorCURNSUNfTVVYX0RNSUNfREFUQTAgPSAwLA0KKwlETUlDX01V WF9ETUlDX0RBVEExX0wsDQorCURNSUNfTVVYX0RNSUNfREFUQTFfTF8xLA0KKwlETUlDX01VWF9E TUlDX0RBVEExX1IsDQorfTsNCisNCisvKiBBREMgTCBNVVggKi8NCitlbnVtIHsNCisJQURDX01V WF9JRExFID0gMCwNCisJQURDX01VWF9BSU4wLA0KKwlBRENfTVVYX1BSRUFNUExJRklFUiwNCisJ QURDX01VWF9JRExFMSwNCit9Ow0KKw0KKy8qIFBHQSBMIE1VWCAqLw0KK2VudW0gew0KKwlQR0Ff TF9NVVhfTk9ORSA9IDAsDQorCVBHQV9MX01VWF9BSU4wLA0KKwlQR0FfTF9NVVhfQUlOMSwNCit9 Ow0KKw0KKy8qIFBHQSBSIE1VWCAqLw0KK2VudW0gew0KKwlQR0FfUl9NVVhfTk9ORSA9IDAsDQor CVBHQV9SX01VWF9BSU4yLA0KKwlQR0FfUl9NVVhfQUlOMywNCisJUEdBX1JfTVVYX0FJTjAsDQor fTsNCisNCisvKiBQR0EgMyBNVVggKi8NCitlbnVtIHsNCisJUEdBXzNfTVVYX05PTkUgPSAwLA0K KwlQR0FfM19NVVhfQUlOMywNCisJUEdBXzNfTVVYX0FJTjIsDQorfTsNCisNCitzdHJ1Y3QgbXQ2 MzU5X3ByaXYgew0KKwlzdHJ1Y3QgZGV2aWNlICpkZXY7DQorCXN0cnVjdCByZWdtYXAgKnJlZ21h cDsNCisJdW5zaWduZWQgaW50IGRsX3JhdGVbTVQ2MzU5X0FJRl9OVU1dOw0KKwl1bnNpZ25lZCBp bnQgdWxfcmF0ZVtNVDYzNTlfQUlGX05VTV07DQorCWludCBhbmFfZ2FpbltBVURJT19BTkFMT0df Vk9MVU1FX1RZUEVfTUFYXTsNCisJdW5zaWduZWQgaW50IG11eF9zZWxlY3RbTVVYX05VTV07DQor CXVuc2lnbmVkIGludCBkbWljX29uZV93aXJlX21vZGU7DQorCWludCBkZXZfY291bnRlcltERVZJ Q0VfTlVNXTsNCisJaW50IGhwX2dhaW5fY3RsOw0KKwlpbnQgaHBfaGlmaV9tb2RlOw0KKwlpbnQg bXRrYWlmX3Byb3RvY29sOw0KKwlzdHJ1Y3QgcmVndWxhdG9yICphdmRkX3JlZzsNCit9Ow0KKw0K KyNkZWZpbmUgQ09ERUNfTVQ2MzU5X05BTUUgIm10ay1jb2RlYy1tdDYzNTkiDQorI2RlZmluZSBJ U19EQ0NfQkFTRSh0eXBlKSAoKHR5cGUpID09IE1JQ19UWVBFX01VWF9EQ0MgfHwgXA0KKwkJCSAg ICh0eXBlKSA9PSBNSUNfVFlQRV9NVVhfRENDX0VDTV9ESUZGIHx8IFwNCisJCQkgICAodHlwZSkg PT0gTUlDX1RZUEVfTVVYX0RDQ19FQ01fU0lOR0xFKQ0KKw0KKyNlbmRpZi8qIGVuZCBfTVQ2MzU5 X0hfICovDQotLSANCjIuMTguMA0K