From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70C11C43387 for ; Mon, 7 Jan 2019 07:33:20 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3BEF32085A for ; Mon, 7 Jan 2019 07:33:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sFUqO78f" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3BEF32085A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=zonque.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=X2f2xDQB9oI11f85SwjXH29i7S0A0v2a9iJ8FgmQpb0=; b=sFUqO78f4eF69K hlFMWPA6iPfaMj3XG8sy8gD2zQQefGUWIglK0qwrSgQg+yyQq4VzKsKJmvAENO11TcE7hnxmNGPYK HUf49le+lMHvqIJCxkRXVa6V9xOPxKARky1iCu0Qxi0Z0lkEPMV80JOyi6AwNi4NBE5xOn6ugp5y1 shxNrQP8Jso5mFaOIt5+0uQP5wAw8MWq+9sY9n8UhnZTtUyu1NwwEX+N7F/QeTJUl99DrZiuhUjs0 dhHDbgaVyLU6AIFJK/3s2AIrD+YrrEfkTGnzd5vBzmHyyJ2cRIJ6xPhJgCIM/7d/il15jY4kKw9zH Bz0RVfiO4UgZ0duYRYKg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1ggPPQ-0006QQ-CW; Mon, 07 Jan 2019 07:33:16 +0000 Received: from mail.bugwerft.de ([2a03:6000:1011::59]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1ggPPL-0006PX-CW for linux-arm-kernel@lists.infradead.org; Mon, 07 Jan 2019 07:33:15 +0000 Received: from localhost.localdomain (pD95EF9B9.dip0.t-ipconnect.de [217.94.249.185]) by mail.bugwerft.de (Postfix) with ESMTPSA id 41E832E2AB0; Mon, 7 Jan 2019 07:32:07 +0000 (UTC) From: Daniel Mack To: robert.jarzmik@free.fr, haojian.zhuang@gmail.com Subject: [PATCH v2] ARM: pxa: remove raumfeld board files and defconfig Date: Mon, 7 Jan 2019 08:32:57 +0100 Message-Id: <20190107073257.9864-1-daniel@zonque.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190106_233311_710245_7069AEEA X-CRM114-Status: GOOD ( 11.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Mack , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhlc2UgYm9hcmRzIGFyZSBub3cgZnVsbHkgcG9ydGVkIHRvIGRldmljZS10cmVlLCBzbyB0aGUg b2xkIGltcGxlbWVudGF0aW9uCmNhbiBnbyBhd2F5LgoKVGhlIGRlZmNvbmZpZyBuZWVkcyBkb3du c3RyZWFtIHF1aXJrcyBhbnl3YXksIHNvIHdlIGNhbiBqdXN0IHJlbW92ZSBpdCBmcm9tCm1haW5s aW5lLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIE1hY2sgPGRhbmllbEB6b25xdWUub3JnPgotLS0K djEg4oaSIHYyOgoKICogUmVtb3ZlZCBlbnRyaWVzIGZyb20gYXJjaC9hcm0vY29uZmlncy9weGFf ZGVmY29uZmlnCiAqIFJlYmFzZWQgdG8gdjUuMC1yYzEKCiBhcmNoL2FybS9jb25maWdzL3B4YV9k ZWZjb25maWcgICAgICB8ICAgIDQgLQogYXJjaC9hcm0vY29uZmlncy9yYXVtZmVsZF9kZWZjb25m aWcgfCAgMTk3IC0tLS0tCiBhcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnICAgICAgICAgICB8ICAg MTggLQogYXJjaC9hcm0vbWFjaC1weGEvTWFrZWZpbGUgICAgICAgICAgfCAgICAzIC0KIGFyY2gv YXJtL21hY2gtcHhhL3JhdW1mZWxkLmMgICAgICAgIHwgMTE4NyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTQwOSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBhcmNoL2FybS9jb25maWdzL3JhdW1mZWxkX2RlZmNvbmZpZwogZGVsZXRlIG1vZGUg MTAwNjQ0IGFyY2gvYXJtL21hY2gtcHhhL3JhdW1mZWxkLmMKCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9jb25maWdzL3B4YV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWcK aW5kZXggNmJiNTA2ZWRiMWY1Li5lOTZhOTc0M2IyMjAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Nv bmZpZ3MvcHhhX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWcK QEAgLTY2LDkgKzY2LDYgQEAgQ09ORklHX01BQ0hfTUlPQTcwMT15CiBDT05GSUdfUFhBX0VaWD15 CiBDT05GSUdfTUFDSF9NUDkwMEM9eQogQ09ORklHX0FSQ0hfUFhBX1BBTE09eQotQ09ORklHX01B Q0hfUkFVTUZFTERfUkM9eQotQ09ORklHX01BQ0hfUkFVTUZFTERfQ09OTkVDVE9SPXkKLUNPTkZJ R19NQUNIX1JBVU1GRUxEX1NQRUFLRVI9eQogQ09ORklHX1BYQV9TSEFSUFNMPXkKIENPTkZJR19N QUNIX1BPT0RMRT15CiBDT05GSUdfTUFDSF9DT1JHST15CkBAIC00OTgsNyArNDk1LDYgQEAgQ09O RklHX1NORF9QWEEyWFhfU09DX0U4MDA9bQogQ09ORklHX1NORF9QWEEyWFhfU09DX0VNX1gyNzA9 bQogQ09ORklHX1NORF9QWEEyWFhfU09DX1BBTE0yN1g9eQogQ09ORklHX1NORF9TT0NfWllMT05J VEU9bQotQ09ORklHX1NORF9TT0NfUkFVTUZFTEQ9bQogQ09ORklHX1NORF9QWEEyWFhfU09DX0hY NDcwMD1tCiBDT05GSUdfU05EX1BYQTJYWF9TT0NfTUFHSUNJQU49bQogQ09ORklHX1NORF9QWEEy WFhfU09DX01JT0E3MDE9bQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9yYXVtZmVsZF9k ZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3JhdW1mZWxkX2RlZmNvbmZpZwpkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMmRkNTZlOWE0ODRlLi4wMDAwMDAwMDAwMDAKLS0tIGEvYXJj aC9hcm0vY29uZmlncy9yYXVtZmVsZF9kZWZjb25maWcKKysrIC9kZXYvbnVsbApAQCAtMSwxOTcg KzAsMCBAQAotIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAotIyBDT05GSUdf U1dBUCBpcyBub3Qgc2V0Ci1DT05GSUdfTU9EVUxFUz15Ci1DT05GSUdfTU9EVUxFX1VOTE9BRD15 Ci0jIENPTkZJR19MQkRBRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qg c2V0Ci1DT05GSUdfQVJDSF9QWEE9eQotQ09ORklHX01BQ0hfUkFVTUZFTERfUkM9eQotQ09ORklH X01BQ0hfUkFVTUZFTERfQ09OTkVDVE9SPXkKLUNPTkZJR19NQUNIX1JBVU1GRUxEX1NQRUFLRVI9 eQotQ09ORklHX05PX0haPXkKLUNPTkZJR19BRUFCST15Ci0jIENPTkZJR19PQUJJX0NPTVBBVCBp cyBub3Qgc2V0Ci1DT05GSUdfQ01ETElORT0iY29uc29sZT10dHlTMCwxMTUyMDAgcnciCi1DT05G SUdfQ1BVX0ZSRVE9eQotQ09ORklHX0NQVV9JRExFPXkKLUNPTkZJR19QTT15Ci1DT05GSUdfQVBN X0VNVUxBVElPTj15Ci1DT05GSUdfTkVUPXkKLUNPTkZJR19QQUNLRVQ9eQotQ09ORklHX1VOSVg9 eQotQ09ORklHX0lORVQ9eQotQ09ORklHX0lQX01VTFRJQ0FTVD15Ci1DT05GSUdfSVBfUE5QPXkK LUNPTkZJR19TWU5fQ09PS0lFUz15Ci1DT05GSUdfSVBWNj15Ci1DT05GSUdfQ0ZHODAyMTE9eQot Q09ORklHX01BQzgwMjExPXkKLUNPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBs dWciCi1DT05GSUdfTVREPXkKLUNPTkZJR19NVERfQkxPQ0s9eQotQ09ORklHX05GVEw9eQotQ09O RklHX05GVExfUlc9eQotQ09ORklHX01URF9CTE9DSzJNVEQ9eQotQ09ORklHX01URF9OQU5EPXkK LUNPTkZJR19NVERfTkFORF9NQVJWRUxMPXkKLUNPTkZJR19NVERfVUJJPXkKLUNPTkZJR19CTEtf REVWX0xPT1A9eQotQ09ORklHX0lTTDI5MDAzPXkKLUNPTkZJR19JSU89eQotQ09ORklHX0FENTQ0 Nj15Ci1DT05GSUdfU0NTST15Ci1DT05GSUdfQkxLX0RFVl9TRD15Ci1DT05GSUdfQ0hSX0RFVl9T Rz15Ci1DT05GSUdfTkVUREVWSUNFUz15Ci1DT05GSUdfTkVUX0VUSEVSTkVUPXkKLUNPTkZJR19T TVNDOTExWD15Ci1DT05GSUdfTElCRVJUQVM9eQotQ09ORklHX0xJQkVSVEFTX1NESU89bQotQ09O RklHX1VTQl9VU0JORVQ9eQotIyBDT05GSUdfVVNCX05FVF9BWDg4MTdYIGlzIG5vdCBzZXQKLSMg Q09ORklHX1VTQl9ORVRfTkVUMTA4MCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX05FVF9NQ1M3ODMw PXkKLSMgQ09ORklHX1VTQl9ORVRfQ0RDX1NVQlNFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0Jf TkVUX1pBVVJVUyBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfRVZERVY9eQotQ09ORklHX0tFWUJP QVJEX0dQSU89eQotIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAotQ09ORklHX0lOUFVU X1RPVUNIU0NSRUVOPXkKLUNPTkZJR19UT1VDSFNDUkVFTl9FRVRJPW0KLUNPTkZJR19JTlBVVF9N SVNDPXkKLUNPTkZJR19JTlBVVF9HUElPX1JPVEFSWV9FTkNPREVSPXkKLUNPTkZJR19TRVJJQUxf UFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQotQ09ORklHX0hXX1JBTkRPTT15Ci1D T05GSUdfSTJDPXkKLUNPTkZJR19JMkNfQ0hBUkRFVj15Ci1DT05GSUdfSTJDX1BYQT15Ci1DT05G SUdfU1BJPXkKLUNPTkZJR19TUElfREVCVUc9eQotQ09ORklHX1NQSV9HUElPPXkKLUNPTkZJR19T UElfU1BJREVWPXkKLUNPTkZJR19ERUJVR19HUElPPXkKLUNPTkZJR19XMV9NQVNURVJfR1BJTz1t Ci1DT05GSUdfUE9XRVJfU1VQUExZPXkKLUNPTkZJR19QREFfUE9XRVI9eQotQ09ORklHX0JBVFRF UllfRFMyNzYwPW0KLUNPTkZJR19TRU5TT1JTX0xJUzNfU1BJPXkKLUNPTkZJR19SRUdVTEFUT1I9 eQotQ09ORklHX1JFR1VMQVRPUl9ERUJVRz15Ci1DT05GSUdfUkVHVUxBVE9SX0ZJWEVEX1ZPTFRB R0U9eQotQ09ORklHX1JFR1VMQVRPUl9NQVg4NjYwPXkKLUNPTkZJR19GQj15Ci1DT05GSUdfRkJf UFhBPXkKLUNPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQ9eQotIyBDT05GSUdfTENEX0NMQVNT X0RFVklDRSBpcyBub3Qgc2V0Ci1DT05GSUdfQkFDS0xJR0hUX0NMQVNTX0RFVklDRT15Ci0jIENP TkZJR19CQUNLTElHSFRfR0VORVJJQyBpcyBub3Qgc2V0Ci1DT05GSUdfQkFDS0xJR0hUX1BXTT15 Ci0jIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09O U09MRT15Ci1DT05GSUdfTE9HTz15Ci0jIENPTkZJR19MT0dPX0xJTlVYX01PTk8gaXMgbm90IHNl dAotIyBDT05GSUdfTE9HT19MSU5VWF9WR0ExNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19MT0dPX0xJ TlVYX0NMVVQyMjQgaXMgbm90IHNldAotQ09ORklHX1NPVU5EPXkKLUNPTkZJR19TTkQ9eQotIyBD T05GSUdfU05EX0RSSVZFUlMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQiBpcyBub3Qgc2V0 Ci1DT05GSUdfU05EX1NPQz15Ci1DT05GSUdfU05EX1BYQTJYWF9TT0M9eQotQ09ORklHX1NORF9T T0NfUkFVTUZFTEQ9eQotQ09ORklHX0hJRF9EUkFHT05SSVNFPXkKLUNPTkZJR19ISURfR1lSQVRJ T049eQotQ09ORklHX0hJRF9UV0lOSEFOPXkKLUNPTkZJR19ISURfTlRSSUc9eQotQ09ORklHX0hJ RF9QQU5USEVSTE9SRD15Ci1DT05GSUdfSElEX1BFVEFMWU5YPXkKLUNPTkZJR19ISURfU0FNU1VO Rz15Ci1DT05GSUdfSElEX1NPTlk9eQotQ09ORklHX0hJRF9TVU5QTFVTPXkKLUNPTkZJR19ISURf R1JFRU5BU0lBPXkKLUNPTkZJR19ISURfU01BUlRKT1lQTFVTPXkKLUNPTkZJR19ISURfVE9QU0VF RD15Ci1DT05GSUdfSElEX1RIUlVTVE1BU1RFUj15Ci1DT05GSUdfSElEX1pFUk9QTFVTPXkKLUNP TkZJR19VU0I9eQotQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15Ci1DT05GSUdfVVNC X01PTj15Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLUNPTkZJR19VU0JfU1RPUkFHRT15Ci1DT05G SUdfVVNCX1NUT1JBR0VfRlJFRUNPTT15Ci1DT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwPXkKLUNP TkZJR19VU0JfU1RPUkFHRV9VU0JBVD15Ci1DT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5PXkKLUNP TkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQotQ09ORklHX01NQz15Ci1DT05GSUdfTU1DX1BYQT1t Ci1DT05GSUdfTkVXX0xFRFM9eQotQ09ORklHX0xFRFNfQ0xBU1M9eQotQ09ORklHX0xFRFNfR1BJ Tz15Ci1DT05GSUdfTEVEU19MVDM1OTM9eQotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotQ09ORklH X0xFRFNfVFJJR0dFUl9CQUNLTElHSFQ9eQotQ09ORklHX1JUQ19DTEFTUz15Ci1DT05GSUdfUlRD X0RSVl9QWEE9eQotQ09ORklHX0RNQURFVklDRVM9eQotQ09ORklHX1VJTz15Ci1DT05GSUdfRVhU Ml9GUz15Ci1DT05GSUdfRVhUMl9GU19YSVA9eQotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0ZT Q0FDSEU9eQotQ09ORklHX0ZTQ0FDSEVfU1RBVFM9eQotQ09ORklHX0NBQ0hFRklMRVM9eQotQ09O RklHX01TRE9TX0ZTPXkKLUNPTkZJR19WRkFUX0ZTPXkKLUNPTkZJR19UTVBGUz15Ci1DT05GSUdf VUJJRlNfRlM9eQotQ09ORklHX05GU19GUz15Ci1DT05GSUdfTkZTX1YzPXkKLUNPTkZJR19ST09U X05GUz15Ci1DT05GSUdfTkZTX0ZTQ0FDSEU9eQotQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQot Q09ORklHX05MU19DT0RFUEFHRV83Mzc9eQotQ09ORklHX05MU19DT0RFUEFHRV83NzU9eQotQ09O RklHX05MU19DT0RFUEFHRV84NTA9eQotQ09ORklHX05MU19DT0RFUEFHRV84NTI9eQotQ09ORklH X05MU19DT0RFUEFHRV84NTU9eQotQ09ORklHX05MU19DT0RFUEFHRV84NTc9eQotQ09ORklHX05M U19DT0RFUEFHRV84NjA9eQotQ09ORklHX05MU19DT0RFUEFHRV84NjE9eQotQ09ORklHX05MU19D T0RFUEFHRV84NjI9eQotQ09ORklHX05MU19DT0RFUEFHRV84NjM9eQotQ09ORklHX05MU19DT0RF UEFHRV84NjQ9eQotQ09ORklHX05MU19DT0RFUEFHRV84NjU9eQotQ09ORklHX05MU19DT0RFUEFH RV84NjY9eQotQ09ORklHX05MU19DT0RFUEFHRV84Njk9eQotQ09ORklHX05MU19DT0RFUEFHRV85 MzY9eQotQ09ORklHX05MU19DT0RFUEFHRV85NTA9eQotQ09ORklHX05MU19DT0RFUEFHRV85MzI9 eQotQ09ORklHX05MU19DT0RFUEFHRV85NDk9eQotQ09ORklHX05MU19DT0RFUEFHRV84NzQ9eQot Q09ORklHX05MU19JU084ODU5Xzg9eQotQ09ORklHX05MU19DT0RFUEFHRV8xMjUwPXkKLUNPTkZJ R19OTFNfQ09ERVBBR0VfMTI1MT15Ci1DT05GSUdfTkxTX0FTQ0lJPXkKLUNPTkZJR19OTFNfSVNP ODg1OV8xPXkKLUNPTkZJR19OTFNfSVNPODg1OV8yPXkKLUNPTkZJR19OTFNfSVNPODg1OV8zPXkK LUNPTkZJR19OTFNfSVNPODg1OV80PXkKLUNPTkZJR19OTFNfSVNPODg1OV81PXkKLUNPTkZJR19O TFNfSVNPODg1OV82PXkKLUNPTkZJR19OTFNfSVNPODg1OV83PXkKLUNPTkZJR19OTFNfSVNPODg1 OV85PXkKLUNPTkZJR19OTFNfSVNPODg1OV8xMz15Ci1DT05GSUdfTkxTX0lTTzg4NTlfMTQ9eQot Q09ORklHX05MU19JU084ODU5XzE1PXkKLUNPTkZJR19OTFNfS09JOF9SPXkKLUNPTkZJR19OTFNf S09JOF9VPXkKLUNPTkZJR19OTFNfVVRGOD15Ci1DT05GSUdfUFJJTlRLX1RJTUU9eQotQ09ORklH X0RFQlVHX0tFUk5FTD15Ci1DT05GSUdfREVCVUdfSU5GTz15Ci1DT05GSUdfREVCVUdfVVNFUj15 Ci1DT05GSUdfREVCVUdfTEw9eQotIyBDT05GSUdfQ1JZUFRPX0FOU0lfQ1BSTkcgaXMgbm90IHNl dAotIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21h Y2gtcHhhL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnCmluZGV4IGIxODU3OTQ1 NDliZS4uYjhjOWVmZjNhN2JhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9LY29uZmln CisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcKQEAgLTQ1MywyNCArNDUzLDYgQEAgY29u ZmlnIE1BQ0hfVFJFTzY4MAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgaW50ZW5kIHRvIHJ1biB0aGlz IGtlcm5lbCBvbiBQYWxtIFRyZW8gNjgwCiAJICBzbWFydHBob25lLgogCi1jb25maWcgTUFDSF9S QVVNRkVMRF9SQwotCWJvb2wgIlJhdW1mZWxkIENvbnRyb2xsZXIiCi0Jc2VsZWN0IENQVV9QWEEz MDAKLQlzZWxlY3QgUE9XRVJfU1VQUExZCi0Jc2VsZWN0IFBYQTN4eAotCi1jb25maWcgTUFDSF9S QVVNRkVMRF9DT05ORUNUT1IKLQlib29sICJSYXVtZmVsZCBDb25uZWN0b3IiCi0Jc2VsZWN0IENQ VV9QWEEzMDAKLQlzZWxlY3QgUE9XRVJfU1VQUExZCi0Jc2VsZWN0IFBYQTN4eAotCi1jb25maWcg TUFDSF9SQVVNRkVMRF9TUEVBS0VSCi0JYm9vbCAiUmF1bWZlbGQgU3BlYWtlciIKLQlzZWxlY3Qg Q1BVX1BYQTMwMAotCXNlbGVjdCBQT1dFUl9TVVBQTFkKLQlzZWxlY3QgUFhBM3h4Ci0KIGNvbmZp ZyBQWEFfU0hBUlBTTAogCWJvb2wgIlNIQVJQIFphdXJ1cyBTTC01NjAwLCBTTC1DN3h4IGFuZCBT TC1DeHgwMCBNb2RlbHMiCiAJc2VsZWN0IFNIQVJQX1BBUkFNCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9tYWNoLXB4YS9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtcHhhL01ha2VmaWxlCmluZGV4IDBh OGU5NjExMDUyZi4uZjcwNzI4OTMwYzRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9N YWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQpAQCAtODYsOSArODYsNiBA QCBvYmotJChDT05GSUdfTUFDSF9QT09ETEUpCSs9IHBvb2RsZS5vCiBvYmotJChDT05GSUdfTUFD SF9UT1NBKQkJKz0gdG9zYS5vCiBvYmotJChDT05GSUdfTUFDSF9JQ09OVFJPTCkgICAgICs9IGlj b250cm9sLm8gbXhtOHgxMC5vCiBvYmotJChDT05GSUdfQVJDSF9QWEFfRVNFUklFUykJKz0gZXNl cmllcy5vCi1vYmotJChDT05GSUdfTUFDSF9SQVVNRkVMRF9SQykJCSs9IHJhdW1mZWxkLm8KLW9i ai0kKENPTkZJR19NQUNIX1JBVU1GRUxEX0NPTk5FQ1RPUikJKz0gcmF1bWZlbGQubwotb2JqLSQo Q09ORklHX01BQ0hfUkFVTUZFTERfU1BFQUtFUikJKz0gcmF1bWZlbGQubwogb2JqLSQoQ09ORklH X01BQ0hfWklQSVQyKQkrPSB6Mi5vCiAKIG9iai0kKENPTkZJR19QWEFfU1lTVEVNU19DUExEUykJ Kz0gcHhhX2NwbGRzX2lycXMubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcmF1bWZl bGQuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3JhdW1mZWxkLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGUxZGIwNzI3NTZmMi4uMDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gvYXJtL21hY2gt cHhhL3JhdW1mZWxkLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTg3ICswLDAgQEAKLS8qCi0gKiBh cmNoL2FybS9tYWNoLXB4YS9yYXVtZmVsZC5jCi0gKgotICogU3VwcG9ydCBmb3IgdGhlIGZvbGxv d2luZyBSYXVtZmVsZCBkZXZpY2VzOgotICoKLSAqIAkqIENvbnRyb2xsZXIKLSAqICAJKiBDb25u ZWN0b3IKLSAqICAJKiBTcGVha2VyIFMvTQotICoKLSAqIFNlZSBodHRwOi8vd3d3LnJhdW1mZWxk LmNvbSBmb3IgZGV0YWlscy4KLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDkgRGFuaWVsIE1hY2sg PGRhbmllbEBjYWlhcS5kZT4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0KLSNpbmNsdWRl IDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGlu dXgvcHJvcGVydHkuaD4KLSNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KLSNpbmNs dWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9ncGlvLmg+Ci0jaW5jbHVk ZSA8bGludXgvZ3Bpby9tYWNoaW5lLmg+Ci0jaW5jbHVkZSA8bGludXgvc21zYzkxMXguaD4KLSNp bmNsdWRlIDxsaW51eC9pbnB1dC5oPgotI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgotI2lu Y2x1ZGUgPGxpbnV4L2xlZHMuaD4KLSNpbmNsdWRlIDxsaW51eC93MS1ncGlvLmg+Ci0jaW5jbHVk ZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9wd20uaD4KLSNpbmNsdWRlIDxsaW51 eC9wd21fYmFja2xpZ2h0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLmg+Ci0jaW5jbHVkZSA8bGlu dXgvcGxhdGZvcm1fZGF0YS9pMmMtcHhhLmg+Ci0jaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgot I2luY2x1ZGUgPGxpbnV4L3NwaS9zcGlfZ3Bpby5oPgotI2luY2x1ZGUgPGxpbnV4L2xpczNsdjAy ZC5oPgotI2luY2x1ZGUgPGxpbnV4L3BkYV9wb3dlci5oPgotI2luY2x1ZGUgPGxpbnV4L3Bvd2Vy X3N1cHBseS5oPgotI2luY2x1ZGUgPGxpbnV4L3JlZ3VsYXRvci9tYXg4NjYwLmg+Ci0jaW5jbHVk ZSA8bGludXgvcmVndWxhdG9yL21hY2hpbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3Iv Zml4ZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4KLSNpbmNsdWRl IDxsaW51eC9kZWxheS5oPgotCi0jaW5jbHVkZSA8YXNtL3N5c3RlbV9pbmZvLmg+Ci0KLSNpbmNs dWRlIDxhc20vbWFjaC10eXBlcy5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KLQotI2lu Y2x1ZGUgInB4YTMwMC5oIgotI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RhdGEvdXNiLW9oY2kt cHhhMjd4Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGF0YS92aWRlby1weGFmYi5oPgot I2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RhdGEvbW1jLXB4YW1jaS5oPgotI2luY2x1ZGUgPGxp bnV4L3BsYXRmb3JtX2RhdGEvbXRkLW5hbmQtcHhhM3h4Lmg+Ci0KLSNpbmNsdWRlICJnZW5lcmlj LmgiCi0jaW5jbHVkZSAiZGV2aWNlcy5oIgotCi0vKiBjb21tb24gR1BJTwlkZWZpbml0aW9ucyAq LwotCi0vKiBpbnB1dHMgKi8KLSNkZWZpbmUgR1BJT19PTl9PRkYJCSgxNCkKLSNkZWZpbmUgR1BJ T19WT0xFTkNfQQkJKDE5KQotI2RlZmluZSBHUElPX1ZPTEVOQ19CCQkoMjApCi0jZGVmaW5lIEdQ SU9fQ0hBUkdFX0RPTkUJKDIzKQotI2RlZmluZSBHUElPX0NIQVJHRV9JTkQJCSgyNykKLSNkZWZp bmUgR1BJT19UT1VDSF9JUlEJCSgzMikKLSNkZWZpbmUgR1BJT19FVEhfSVJRCQkoNDApCi0jZGVm aW5lIEdQSU9fU1BJX01JU08JCSg5OCkKLSNkZWZpbmUgR1BJT19BQ0NFTF9JUlEJCSgxMDQpCi0j ZGVmaW5lIEdQSU9fUkVTQ1VFX0JPT1QJKDExNSkKLSNkZWZpbmUgR1BJT19ET0NLX0RFVEVDVAko MTE2KQotI2RlZmluZSBHUElPX0tFWTEJCSgxMTcpCi0jZGVmaW5lIEdQSU9fS0VZMgkJKDExOCkK LSNkZWZpbmUgR1BJT19LRVkzCQkoMTE5KQotI2RlZmluZSBHUElPX0NIQVJHRV9VU0JfT0sJKDEx MikKLSNkZWZpbmUgR1BJT19DSEFSR0VfRENfT0sJKDEwMSkKLSNkZWZpbmUgR1BJT19DSEFSR0Vf VVNCX1NVU1AJKDEwMikKLQotLyogb3V0cHV0cyAqLwotI2RlZmluZSBHUElPX1NIVVRET1dOX1NV UFBMWQkoMTYpCi0jZGVmaW5lIEdQSU9fU0hVVERPV05fQkFUVAkoMTgpCi0jZGVmaW5lIEdQSU9f Q0hSR19QRU4yCQkoMzEpCi0jZGVmaW5lIEdQSU9fVEZUX1ZBX0VOCQkoMzMpCi0jZGVmaW5lIEdQ SU9fU1BESUZfQ1MJCSgzNCkKLSNkZWZpbmUgR1BJT19MRUQyCQkoMzUpCi0jZGVmaW5lIEdQSU9f TEVEMQkJKDM2KQotI2RlZmluZSBHUElPX1NQRElGX1JFU0VUCSgzOCkKLSNkZWZpbmUgR1BJT19T UElfQ0xLCQkoOTUpCi0jZGVmaW5lIEdQSU9fTUNMS19EQUNfQ1MJKDk2KQotI2RlZmluZSBHUElP X1NQSV9NT1NJCQkoOTcpCi0jZGVmaW5lIEdQSU9fVzFfUFVMTFVQX0VOQUJMRQkoMTA1KQotI2Rl ZmluZSBHUElPX0RJU1BMQVlfRU5BQkxFCSgxMDYpCi0jZGVmaW5lIEdQSU9fTUNMS19SRVNFVAkJ KDExMSkKLSNkZWZpbmUgR1BJT19XMldfUkVTRVQJCSgxMTMpCi0jZGVmaW5lIEdQSU9fVzJXX1BE TgkJKDExNCkKLSNkZWZpbmUgR1BJT19DT0RFQ19SRVNFVAkoMTIwKQotI2RlZmluZSBHUElPX0FV RElPX1ZBX0VOQUJMRQkoMTI0KQotI2RlZmluZSBHUElPX0FDQ0VMX0NTCQkoMTI1KQotI2RlZmlu ZSBHUElPX09ORV9XSVJFCQkoMTI2KQotCi0vKgotICogR1BJTyBjb25maWd1cmF0aW9ucwotICov Ci1zdGF0aWMgbWZwX2NmZ190IHJhdW1mZWxkX2NvbnRyb2xsZXJfcGluX2NvbmZpZ1tdIF9faW5p dGRhdGEgPSB7Ci0JLyogVUFSVDEgKi8KLQlHUElPNzdfVUFSVDFfUlhELAotCUdQSU83OF9VQVJU MV9UWEQsCi0JR1BJTzc5X1VBUlQxX0NUUywKLQlHUElPODFfVUFSVDFfRFNSLAotCUdQSU84M19V QVJUMV9EVFIsCi0JR1BJTzg0X1VBUlQxX1JUUywKLQotCS8qIFVBUlQzICovCi0JR1BJTzExMF9V QVJUM19SWEQsCi0KLQkvKiBVU0IgSG9zdCAqLwotCUdQSU8wXzJfVVNCSF9QRU4sCi0JR1BJTzFf Ml9VU0JIX1BXUiwKLQotCS8qIEkyQyAqLwotCUdQSU8yMV9JMkNfU0NMIHwgTUZQX0xQTV9GTE9B VCB8IE1GUF9QVUxMX0ZMT0FULAotCUdQSU8yMl9JMkNfU0RBIHwgTUZQX0xQTV9GTE9BVCB8IE1G UF9QVUxMX0ZMT0FULAotCi0JLyogU1BJICovCi0JR1BJTzM0X0dQSU8sCS8qIFNQRElGX0NTICov Ci0JR1BJTzk2X0dQSU8sCS8qIE1DTEtfQ1MgKi8KLQlHUElPMTI1X0dQSU8sCS8qIEFDQ0VMX0NT ICovCi0KLQkvKiBNTUMgKi8KLQlHUElPM19NTUMxX0RBVDAsCi0JR1BJTzRfTU1DMV9EQVQxLAot CUdQSU81X01NQzFfREFUMiwKLQlHUElPNl9NTUMxX0RBVDMsCi0JR1BJTzdfTU1DMV9DTEssCi0J R1BJTzhfTU1DMV9DTUQsCi0KLQkvKiBPbmUtd2lyZSAqLwotCUdQSU8xMjZfR1BJTyB8IE1GUF9M UE1fRkxPQVQsCi0JR1BJTzEwNV9HUElPIHwgTUZQX1BVTExfTE9XIHwgTUZQX0xQTV9QVUxMX0xP VywKLQotCS8qIENIUkdfVVNCX09LICovCi0JR1BJTzEwMV9HUElPIHwgTUZQX1BVTExfSElHSCwK LQkvKiBDSFJHX1VTQl9PSyAqLwotCUdQSU8xMTJfR1BJTyB8IE1GUF9QVUxMX0hJR0gsCi0JLyog Q0hSR19VU0JfU1VTUCAqLwotCUdQSU8xMDJfR1BJTywKLQkvKiBESVNQTEFZX0VOQUJMRSAqLwot CUdQSU8xMDZfR1BJTywKLQkvKiBET0NLX0RFVEVDVCAqLwotCUdQSU8xMTZfR1BJTyB8IE1GUF9M UE1fRkxPQVQgfCBNRlBfUFVMTF9GTE9BVCwKLQotCS8qIExDRCAqLwotCUdQSU81NF9MQ0RfTERE XzAsCi0JR1BJTzU1X0xDRF9MRERfMSwKLQlHUElPNTZfTENEX0xERF8yLAotCUdQSU81N19MQ0Rf TEREXzMsCi0JR1BJTzU4X0xDRF9MRERfNCwKLQlHUElPNTlfTENEX0xERF81LAotCUdQSU82MF9M Q0RfTEREXzYsCi0JR1BJTzYxX0xDRF9MRERfNywKLQlHUElPNjJfTENEX0xERF84LAotCUdQSU82 M19MQ0RfTEREXzksCi0JR1BJTzY0X0xDRF9MRERfMTAsCi0JR1BJTzY1X0xDRF9MRERfMTEsCi0J R1BJTzY2X0xDRF9MRERfMTIsCi0JR1BJTzY3X0xDRF9MRERfMTMsCi0JR1BJTzY4X0xDRF9MRERf MTQsCi0JR1BJTzY5X0xDRF9MRERfMTUsCi0JR1BJTzcwX0xDRF9MRERfMTYsCi0JR1BJTzcxX0xD RF9MRERfMTcsCi0JR1BJTzcyX0xDRF9GQ0xLLAotCUdQSU83M19MQ0RfTENMSywKLQlHUElPNzRf TENEX1BDTEssCi0JR1BJTzc1X0xDRF9CSUFTLAotfTsKLQotc3RhdGljIG1mcF9jZmdfdCByYXVt ZmVsZF9jb25uZWN0b3JfcGluX2NvbmZpZ1tdIF9faW5pdGRhdGEgPSB7Ci0JLyogVUFSVDEgKi8K LQlHUElPNzdfVUFSVDFfUlhELAotCUdQSU83OF9VQVJUMV9UWEQsCi0JR1BJTzc5X1VBUlQxX0NU UywKLQlHUElPODFfVUFSVDFfRFNSLAotCUdQSU84M19VQVJUMV9EVFIsCi0JR1BJTzg0X1VBUlQx X1JUUywKLQotCS8qIFVBUlQzICovCi0JR1BJTzExMF9VQVJUM19SWEQsCi0KLQkvKiBVU0IgSG9z dCAqLwotCUdQSU8wXzJfVVNCSF9QRU4sCi0JR1BJTzFfMl9VU0JIX1BXUiwKLQotCS8qIEkyQyAq LwotCUdQSU8yMV9JMkNfU0NMIHwgTUZQX0xQTV9GTE9BVCB8IE1GUF9QVUxMX0ZMT0FULAotCUdQ SU8yMl9JMkNfU0RBIHwgTUZQX0xQTV9GTE9BVCB8IE1GUF9QVUxMX0ZMT0FULAotCi0JLyogU1BJ ICovCi0JR1BJTzM0X0dQSU8sCS8qIFNQRElGX0NTICovCi0JR1BJTzk2X0dQSU8sCS8qIE1DTEtf Q1MgKi8KLQlHUElPMTI1X0dQSU8sCS8qIEFDQ0VMX0NTICovCi0KLQkvKiBNTUMgKi8KLQlHUElP M19NTUMxX0RBVDAsCi0JR1BJTzRfTU1DMV9EQVQxLAotCUdQSU81X01NQzFfREFUMiwKLQlHUElP Nl9NTUMxX0RBVDMsCi0JR1BJTzdfTU1DMV9DTEssCi0JR1BJTzhfTU1DMV9DTUQsCi0KLQkvKiBF dGhlcm5ldCAqLwotCUdQSU8xX25DUzIsCQkJLyogQ1MgKi8KLQlHUElPNDBfR1BJTyB8IE1GUF9Q VUxMX0hJR0gsCS8qIElSUSAqLwotCi0JLyogU1NQIGZvciBJMlMgKi8KLQlHUElPODVfU1NQMV9T Q0xLLAotCUdQSU84OV9TU1AxX0VYVENMSywKLQlHUElPODZfU1NQMV9GUk0sCi0JR1BJTzg3X1NT UDFfVFhELAotCUdQSU84OF9TU1AxX1JYRCwKLQlHUElPOTBfU1NQMV9TWVNDTEssCi0KLQkvKiBT U1AyIGZvciBTL1BESUYgKi8KLQlHUElPMjVfU1NQMl9TQ0xLLAotCUdQSU8yNl9TU1AyX0ZSTSwK LQlHUElPMjdfU1NQMl9UWEQsCi0JR1BJTzI5X1NTUDJfRVhUQ0xLLAotCi0JLyogTEVEcyAqLwot CUdQSU8zNV9HUElPIHwgTUZQX0xQTV9QVUxMX0xPVywKLQlHUElPMzZfR1BJTyB8IE1GUF9MUE1f RFJJVkVfSElHSCwKLX07Ci0KLXN0YXRpYyBtZnBfY2ZnX3QgcmF1bWZlbGRfc3BlYWtlcl9waW5f Y29uZmlnW10gX19pbml0ZGF0YSA9IHsKLQkvKiBVQVJUMSAqLwotCUdQSU83N19VQVJUMV9SWEQs Ci0JR1BJTzc4X1VBUlQxX1RYRCwKLQlHUElPNzlfVUFSVDFfQ1RTLAotCUdQSU84MV9VQVJUMV9E U1IsCi0JR1BJTzgzX1VBUlQxX0RUUiwKLQlHUElPODRfVUFSVDFfUlRTLAotCi0JLyogVUFSVDMg Ki8KLQlHUElPMTEwX1VBUlQzX1JYRCwKLQotCS8qIFVTQiBIb3N0ICovCi0JR1BJTzBfMl9VU0JI X1BFTiwKLQlHUElPMV8yX1VTQkhfUFdSLAotCi0JLyogSTJDICovCi0JR1BJTzIxX0kyQ19TQ0wg fCBNRlBfTFBNX0ZMT0FUIHwgTUZQX1BVTExfRkxPQVQsCi0JR1BJTzIyX0kyQ19TREEgfCBNRlBf TFBNX0ZMT0FUIHwgTUZQX1BVTExfRkxPQVQsCi0KLQkvKiBTUEkgKi8KLQlHUElPMzRfR1BJTywJ LyogU1BESUZfQ1MgKi8KLQlHUElPOTZfR1BJTywJLyogTUNMS19DUyAqLwotCUdQSU8xMjVfR1BJ TywJLyogQUNDRUxfQ1MgKi8KLQotCS8qIE1NQyAqLwotCUdQSU8zX01NQzFfREFUMCwKLQlHUElP NF9NTUMxX0RBVDEsCi0JR1BJTzVfTU1DMV9EQVQyLAotCUdQSU82X01NQzFfREFUMywKLQlHUElP N19NTUMxX0NMSywKLQlHUElPOF9NTUMxX0NNRCwKLQotCS8qIEV0aGVybmV0ICovCi0JR1BJTzFf bkNTMiwJCQkvKiBDUyAqLwotCUdQSU80MF9HUElPIHwgTUZQX1BVTExfSElHSCwJLyogSVJRICov Ci0KLQkvKiBTU1AgZm9yIEkyUyAqLwotCUdQSU84NV9TU1AxX1NDTEssCi0JR1BJTzg5X1NTUDFf RVhUQ0xLLAotCUdQSU84Nl9TU1AxX0ZSTSwKLQlHUElPODdfU1NQMV9UWEQsCi0JR1BJTzg4X1NT UDFfUlhELAotCUdQSU85MF9TU1AxX1NZU0NMSywKLQotCS8qIExFRHMgKi8KLQlHUElPMzVfR1BJ TyB8IE1GUF9MUE1fUFVMTF9MT1csCi0JR1BJTzM2X0dQSU8gfCBNRlBfTFBNX0RSSVZFX0hJR0gs Ci19OwotCi0vKgotICogU01TQyBMQU45MjIwIEV0aGVybmV0Ci0gKi8KLQotc3RhdGljIHN0cnVj dCByZXNvdXJjZSBzbWM5MXhfcmVzb3VyY2VzW10gPSB7Ci0JewotCQkuc3RhcnQJPSBQWEEzeHhf Q1MyX1BIWVMsCi0JCS5lbmQJPSBQWEEzeHhfQ1MyX1BIWVMgKyAweGZmZmZmLAotCQkuZmxhZ3MJ PSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLnN0YXJ0CT0gUFhBX0dQSU9fVE9fSVJRKEdQ SU9fRVRIX0lSUSksCi0JCS5lbmQJPSBQWEFfR1BJT19UT19JUlEoR1BJT19FVEhfSVJRKSwKLQkJ LmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEgfCBJUlFGX1RSSUdHRVJfRkFMTElORywKLQl9Ci19Owot Ci1zdGF0aWMgc3RydWN0IHNtc2M5MTF4X3BsYXRmb3JtX2NvbmZpZyByYXVtZmVsZF9zbXNjOTEx eF9jb25maWcgPSB7Ci0JLnBoeV9pbnRlcmZhY2UJPSBQSFlfSU5URVJGQUNFX01PREVfTUlJLAot CS5pcnFfcG9sYXJpdHkJPSBTTVNDOTExWF9JUlFfUE9MQVJJVFlfQUNUSVZFX0xPVywKLQkuaXJx X3R5cGUJPSBTTVNDOTExWF9JUlFfVFlQRV9PUEVOX0RSQUlOLAotCS5mbGFncwkJPSBTTVNDOTEx WF9VU0VfMzJCSVQgfCBTTVNDOTExWF9TQVZFX01BQ19BRERSRVNTLAotfTsKLQotc3RhdGljIHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugc21jOTF4X2RldmljZSA9IHsKLQkubmFtZQkJPSAic21zYzkx MXgiLAotCS5pZAkJPSAtMSwKLQkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoc21jOTF4X3Jl c291cmNlcyksCi0JLnJlc291cmNlCT0gc21jOTF4X3Jlc291cmNlcywKLQkuZGV2CQk9IHsKLQkJ LnBsYXRmb3JtX2RhdGEgPSAmcmF1bWZlbGRfc21zYzkxMXhfY29uZmlnLAotCX0KLX07Ci0KLS8q KgotICogTkFORAotICovCi0KLXN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiByYXVtZmVsZF9u YW5kX3BhcnRpdGlvbnNbXSA9IHsKLQl7Ci0JCS5uYW1lCQk9ICJCb290bG9hZGVyIiwKLQkJLm9m ZnNldAkJPSAwLAotCQkuc2l6ZQkJPSAweGEwMDAwLAotCQkubWFza19mbGFncwk9IE1URF9XUklU RUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLwotCX0sCi0JewotCQkubmFtZQkJPSAiQm9vdGxv YWRlckVudmlyb25tZW50IiwKLQkJLm9mZnNldAkJPSAweGEwMDAwLAotCQkuc2l6ZQkJPSAweDIw MDAwLAotCX0sCi0JewotCQkubmFtZQkJPSAiQm9vdGxvYWRlclNwbGFzaFNjcmVlbiIsCi0JCS5v ZmZzZXQJCT0gMHhjMDAwMCwKLQkJLnNpemUJCT0gMHg2MDAwMCwKLQl9LAotCXsKLQkJLm5hbWUJ CT0gIlVCSSIsCi0JCS5vZmZzZXQJCT0gMHgxMjAwMDAsCi0JCS5zaXplCQk9IE1URFBBUlRfU0la X0ZVTEwsCi0JfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcHhhM3h4X25hbmRfcGxhdGZvcm1fZGF0 YSByYXVtZmVsZF9uYW5kX2luZm8gPSB7Ci0JLmtlZXBfY29uZmlnCT0gMSwKLQkucGFydHMJCT0g cmF1bWZlbGRfbmFuZF9wYXJ0aXRpb25zLAotCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUocmF1bWZl bGRfbmFuZF9wYXJ0aXRpb25zKSwKLX07Ci0KLS8qKgotICogVVNCIChPSENJKSBzdXBwb3J0Ci0g Ki8KLQotc3RhdGljIHN0cnVjdCBweGFvaGNpX3BsYXRmb3JtX2RhdGEgcmF1bWZlbGRfb2hjaV9p bmZvID0gewotCS5wb3J0X21vZGUgICAgICA9IFBNTV9HTE9CQUxfTU9ERSwKLQkuZmxhZ3MJCT0g RU5BQkxFX1BPUlQxLAotfTsKLQotLyoqCi0gKiBSb3RhcnkgZW5jb2RlciBpbnB1dCBkZXZpY2UK LSAqLwotCi1zdGF0aWMgc3RydWN0IGdwaW9kX2xvb2t1cF90YWJsZSByYXVtZmVsZF9yb3Rhcnlf Z3Bpb3NfdGFibGUgPSB7Ci0JLmRldl9pZCA9ICJyb3RhcnktZW5jb2Rlci4wIiwKLQkudGFibGUg PSB7Ci0JCUdQSU9fTE9PS1VQX0lEWCgiZ3Bpby0wIiwKLQkJCQlHUElPX1ZPTEVOQ19BLCBOVUxM LCAwLCBHUElPX0FDVElWRV9MT1cpLAotCQlHUElPX0xPT0tVUF9JRFgoImdwaW8tMCIsCi0JCQkJ R1BJT19WT0xFTkNfQiwgTlVMTCwgMSwgR1BJT19BQ1RJVkVfSElHSCksCi0JCXsgfSwKLQl9LAot fTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBwcm9wZXJ0eV9lbnRyeSByYXVtZmVsZF9yb3Rhcnlf cHJvcGVydGllc1tdIF9faW5pdGNvbnN0ID0gewotCVBST1BFUlRZX0VOVFJZX1UzMigicm90YXJ5 LWVuY29kZXIsc3RlcHMtcGVyLXBlcmlvZCIsIDI0KSwKLQlQUk9QRVJUWV9FTlRSWV9VMzIoImxp bnV4LGF4aXMiLAkJICAgICAgUkVMX1gpLAotCVBST1BFUlRZX0VOVFJZX1UzMigicm90YXJ5LWVu Y29kZXIscmVsYXRpdmVfYXhpcyIsICAgIDEpLAotCXsgfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlIHJvdGFyeV9lbmNvZGVyX2RldmljZSA9IHsKLQkubmFtZQkJPSAicm90 YXJ5LWVuY29kZXIiLAotCS5pZAkJPSAwLAotfTsKLQotLyoqCi0gKiBHUElPIGJ1dHRvbnMKLSAq LwotCi1zdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gZ3Bpb19rZXlzX2J1dHRvbltdID0g ewotCXsKLQkJLmNvZGUJCQk9IEtFWV9GMSwKLQkJLnR5cGUJCQk9IEVWX0tFWSwKLQkJLmdwaW8J CQk9IEdQSU9fS0VZMSwKLQkJLmFjdGl2ZV9sb3cJCT0gMSwKLQkJLndha2V1cAkJCT0gMCwKLQkJ LmRlYm91bmNlX2ludGVydmFsCT0gNSwgLyogbXMgKi8KLQkJLmRlc2MJCQk9ICJCdXR0b24gMSIs Ci0JfSwKLQl7Ci0JCS5jb2RlCQkJPSBLRVlfRjIsCi0JCS50eXBlCQkJPSBFVl9LRVksCi0JCS5n cGlvCQkJPSBHUElPX0tFWTIsCi0JCS5hY3RpdmVfbG93CQk9IDEsCi0JCS53YWtldXAJCQk9IDAs Ci0JCS5kZWJvdW5jZV9pbnRlcnZhbAk9IDUsIC8qIG1zICovCi0JCS5kZXNjCQkJPSAiQnV0dG9u IDIiLAotCX0sCi0JewotCQkuY29kZQkJCT0gS0VZX0YzLAotCQkudHlwZQkJCT0gRVZfS0VZLAot CQkuZ3BpbwkJCT0gR1BJT19LRVkzLAotCQkuYWN0aXZlX2xvdwkJPSAxLAotCQkud2FrZXVwCQkJ PSAwLAotCQkuZGVib3VuY2VfaW50ZXJ2YWwJPSA1LCAvKiBtcyAqLwotCQkuZGVzYwkJCT0gIkJ1 dHRvbiAzIiwKLQl9LAotCXsKLQkJLmNvZGUJCQk9IEtFWV9GNCwKLQkJLnR5cGUJCQk9IEVWX0tF WSwKLQkJLmdwaW8JCQk9IEdQSU9fUkVTQ1VFX0JPT1QsCi0JCS5hY3RpdmVfbG93CQk9IDAsCi0J CS53YWtldXAJCQk9IDAsCi0JCS5kZWJvdW5jZV9pbnRlcnZhbAk9IDUsIC8qIG1zICovCi0JCS5k ZXNjCQkJPSAicmVzY3VlIGJvb3QgYnV0dG9uIiwKLQl9LAotCXsKLQkJLmNvZGUJCQk9IEtFWV9G NSwKLQkJLnR5cGUJCQk9IEVWX0tFWSwKLQkJLmdwaW8JCQk9IEdQSU9fRE9DS19ERVRFQ1QsCi0J CS5hY3RpdmVfbG93CQk9IDEsCi0JCS53YWtldXAJCQk9IDAsCi0JCS5kZWJvdW5jZV9pbnRlcnZh bAk9IDUsIC8qIG1zICovCi0JCS5kZXNjCQkJPSAiZG9jayBkZXRlY3QiLAotCX0sCi0JewotCQku Y29kZQkJCT0gS0VZX0Y2LAotCQkudHlwZQkJCT0gRVZfS0VZLAotCQkuZ3BpbwkJCT0gR1BJT19P Tl9PRkYsCi0JCS5hY3RpdmVfbG93CQk9IDAsCi0JCS53YWtldXAJCQk9IDAsCi0JCS5kZWJvdW5j ZV9pbnRlcnZhbAk9IDUsIC8qIG1zICovCi0JCS5kZXNjCQkJPSAib25fb2ZmIGJ1dHRvbiIsCi0J fSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZ3Bpb19rZXlz X3BsYXRmb3JtX2RhdGEgPSB7Ci0JLmJ1dHRvbnMJPSBncGlvX2tleXNfYnV0dG9uLAotCS5uYnV0 dG9ucwk9IEFSUkFZX1NJWkUoZ3Bpb19rZXlzX2J1dHRvbiksCi0JLnJlcAkJPSAwLAotfTsKLQot c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmF1bWZlbGRfZ3Bpb19rZXlzX2RldmljZSA9 IHsKLQkubmFtZQk9ICJncGlvLWtleXMiLAotCS5pZAk9IC0xLAotCS5kZXYgCT0gewotCQkucGxh dGZvcm1fZGF0YQk9ICZncGlvX2tleXNfcGxhdGZvcm1fZGF0YSwKLQl9Ci19OwotCi0vKioKLSAq IEdQSU8gTEVEcwotICovCi0KLXN0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgcmF1bWZlbGRfbGVkc1td ID0gewotCXsKLQkJLm5hbWUJCT0gInJhdW1mZWxkOjEiLAotCQkuZ3BpbwkJPSBHUElPX0xFRDEs Ci0JCS5hY3RpdmVfbG93CT0gMSwKLQkJLmRlZmF1bHRfc3RhdGUJPSBMRURTX0dQSU9fREVGU1RB VEVfT04sCi0JfSwKLQl7Ci0JCS5uYW1lCQk9ICJyYXVtZmVsZDoyIiwKLQkJLmdwaW8JCT0gR1BJ T19MRUQyLAotCQkuYWN0aXZlX2xvdwk9IDAsCi0JCS5kZWZhdWx0X3N0YXRlCT0gTEVEU19HUElP X0RFRlNUQVRFX09GRiwKLQl9Ci19OwotCi1zdGF0aWMgc3RydWN0IGdwaW9fbGVkX3BsYXRmb3Jt X2RhdGEgcmF1bWZlbGRfbGVkX3BsYXRmb3JtX2RhdGEgPSB7Ci0JLmxlZHMJCT0gcmF1bWZlbGRf bGVkcywKLQkubnVtX2xlZHMJPSBBUlJBWV9TSVpFKHJhdW1mZWxkX2xlZHMpLAotfTsKLQotc3Rh dGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmF1bWZlbGRfbGVkX2RldmljZSA9IHsKLQkubmFt ZQk9ICJsZWRzLWdwaW8iLAotCS5pZAk9IC0xLAotCS5kZXYJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRh ID0gJnJhdW1mZWxkX2xlZF9wbGF0Zm9ybV9kYXRhLAotCX0sCi19OwotCi0vKioKLSAqIE9uZS13 aXJlIChXMSBidXMpIHN1cHBvcnQKLSAqLwotCi1zdGF0aWMgdm9pZCB3MV9lbmFibGVfZXh0ZXJu YWxfcHVsbHVwKGludCBlbmFibGUpCi17Ci0JZ3Bpb19zZXRfdmFsdWUoR1BJT19XMV9QVUxMVVBf RU5BQkxFLCBlbmFibGUpOwotCW1zbGVlcCgxMDApOwotfQotCi1zdGF0aWMgc3RydWN0IGdwaW9k X2xvb2t1cF90YWJsZSByYXVtZmVsZF93MV9ncGlvZF90YWJsZSA9IHsKLQkuZGV2X2lkID0gIncx LWdwaW8iLAotCS50YWJsZSA9IHsKLQkJR1BJT19MT09LVVBfSURYKCJncGlvLXB4YSIsIEdQSU9f T05FX1dJUkUsIE5VTEwsIDAsCi0JCQkJR1BJT19BQ1RJVkVfSElHSCB8IEdQSU9fT1BFTl9EUkFJ TiksCi0JfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgdzFfZ3Bpb19wbGF0Zm9ybV9kYXRhIHcxX2dw aW9fcGxhdGZvcm1fZGF0YSA9IHsKLQkuZW5hYmxlX2V4dGVybmFsX3B1bGx1cCA9IHcxX2VuYWJs ZV9leHRlcm5hbF9wdWxsdXAsCi19OwotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBy YXVtZmVsZF93MV9ncGlvX2RldmljZSA9IHsKLQkubmFtZQk9ICJ3MS1ncGlvIiwKLQkuZGV2CT0g ewotCQkucGxhdGZvcm1fZGF0YSA9ICZ3MV9ncGlvX3BsYXRmb3JtX2RhdGEKLQl9Ci19OwotCi1z dGF0aWMgdm9pZCBfX2luaXQgcmF1bWZlbGRfdzFfaW5pdCh2b2lkKQotewotCWludCByZXQgPSBn cGlvX3JlcXVlc3QoR1BJT19XMV9QVUxMVVBfRU5BQkxFLAotCQkJICAgICAgICAiVzEgZXh0ZXJu YWwgcHVsbHVwIGVuYWJsZSIpOwotCi0JaWYgKHJldCA8IDApCi0JCXByX3dhcm4oIlVuYWJsZSB0 byByZXF1ZXN0IEdQSU9fVzFfUFVMTFVQX0VOQUJMRVxuIik7Ci0JZWxzZQotCQlncGlvX2RpcmVj dGlvbl9vdXRwdXQoR1BJT19XMV9QVUxMVVBfRU5BQkxFLCAwKTsKLQotCWdwaW9kX2FkZF9sb29r dXBfdGFibGUoJnJhdW1mZWxkX3cxX2dwaW9kX3RhYmxlKTsKLQlwbGF0Zm9ybV9kZXZpY2VfcmVn aXN0ZXIoJnJhdW1mZWxkX3cxX2dwaW9fZGV2aWNlKTsKLX0KLQotLyoqCi0gKiBGcmFtZWJ1ZmZl ciBkZXZpY2UKLSAqLwotCi1zdGF0aWMgc3RydWN0IHB3bV9sb29rdXAgcmF1bWZlbGRfcHdtX2xv b2t1cFtdID0gewotCVBXTV9MT09LVVAoInB4YTI3eC1wd20uMCIsIDAsICJwd20tYmFja2xpZ2h0 IiwgTlVMTCwgMTAwMDAsCi0JCSAgIFBXTV9QT0xBUklUWV9OT1JNQUwpLAotfTsKLQotLyogUFdN IGNvbnRyb2xsZWQgYmFja2xpZ2h0ICovCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX3B3bV9iYWNr bGlnaHRfZGF0YSByYXVtZmVsZF9wd21fYmFja2xpZ2h0X2RhdGEgPSB7Ci0JLm1heF9icmlnaHRu ZXNzCT0gMTAwLAotCS5kZnRfYnJpZ2h0bmVzcwk9IDEwMCwKLQkuZW5hYmxlX2dwaW8JPSAtMSwK LX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHJhdW1mZWxkX3B3bV9iYWNrbGln aHRfZGV2aWNlID0gewotCS5uYW1lCT0gInB3bS1iYWNrbGlnaHQiLAotCS5kZXYJPSB7Ci0JCS5w YXJlbnQJCT0gJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYsCi0JCS5wbGF0Zm9ybV9kYXRhCT0gJnJh dW1mZWxkX3B3bV9iYWNrbGlnaHRfZGF0YSwKLQl9Ci19OwotCi0vKiBMVDM1OTMgY29udHJvbGxl ZCBiYWNrbGlnaHQgKi8KLXN0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgcmF1bWZlbGRfbHQzNTkzX2xl ZCA9IHsKLQkubmFtZQkJPSAiYmFja2xpZ2h0IiwKLQkuZ3BpbwkJPSBtZnBfdG9fZ3BpbyhNRlBf UElOX0dQSU8xNyksCi0JLmRlZmF1bHRfc3RhdGUJPSBMRURTX0dQSU9fREVGU1RBVEVfT04sCi19 OwotCi1zdGF0aWMgc3RydWN0IGdwaW9fbGVkX3BsYXRmb3JtX2RhdGEgcmF1bWZlbGRfbHQzNTkz X3BsYXRmb3JtX2RhdGEgPSB7Ci0JLmxlZHMJCT0gJnJhdW1mZWxkX2x0MzU5M19sZWQsCi0JLm51 bV9sZWRzCT0gMSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHJhdW1mZWxk X2x0MzU5M19kZXZpY2UgPSB7Ci0JLm5hbWUJPSAibGVkcy1sdDM1OTMiLAotCS5pZAk9IC0xLAot CS5kZXYJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhID0gJnJhdW1mZWxkX2x0MzU5M19wbGF0Zm9ybV9k YXRhLAotCX0sCi19OwotCi1zdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBzaGFycF9scTA0 M3QzZHgwMl9tb2RlID0gewotCS5waXhjbG9jawk9IDExMTAwMCwKLQkueHJlcwkJPSA0ODAsCi0J LnlyZXMJCT0gMjcyLAotCS5icHAJCT0gMTYsCi0JLmhzeW5jX2xlbgk9IDQxLAotCS5sZWZ0X21h cmdpbgk9IDIsCi0JLnJpZ2h0X21hcmdpbgk9IDEsCi0JLnZzeW5jX2xlbgk9IDEwLAotCS51cHBl cl9tYXJnaW4JPSAzLAotCS5sb3dlcl9tYXJnaW4JPSAxLAotCS5zeW5jCQk9IDAsCi19OwotCi1z dGF0aWMgc3RydWN0IHB4YWZiX21hY2hfaW5mbyByYXVtZmVsZF9zaGFycF9sY2RfaW5mbyA9IHsK LQkubW9kZXMJCT0gJnNoYXJwX2xxMDQzdDNkeDAyX21vZGUsCi0JLm51bV9tb2Rlcwk9IDEsCi0J LnZpZGVvX21lbV9zaXplID0gMHg0MDAwMDAsCi0JLmxjZF9jb25uCT0gTENEX0NPTE9SX1RGVF8x NkJQUCB8IExDRF9QQ0xLX0VER0VfRkFMTCwKLSNpZmRlZiBDT05GSUdfUFhBM1hYX0dDVQotCS5h Y2NlbGVyYXRpb25fZW5hYmxlZCA9IDEsCi0jZW5kaWYKLX07Ci0KLXN0YXRpYyB2b2lkIF9faW5p dCByYXVtZmVsZF9sY2RfaW5pdCh2b2lkKQotewotCWludCByZXQ7Ci0KLQlyZXQgPSBncGlvX3Jl cXVlc3QoR1BJT19URlRfVkFfRU4sICJkaXNwbGF5IFZBIGVuYWJsZSIpOwotCWlmIChyZXQgPCAw KQotCQlwcl93YXJuKCJVbmFibGUgdG8gcmVxdWVzdCBHUElPX1RGVF9WQV9FTlxuIik7Ci0JZWxz ZQotCQlncGlvX2RpcmVjdGlvbl9vdXRwdXQoR1BJT19URlRfVkFfRU4sIDEpOwotCi0JbXNsZWVw KDEwMCk7Ci0KLQlyZXQgPSBncGlvX3JlcXVlc3QoR1BJT19ESVNQTEFZX0VOQUJMRSwgImRpc3Bs YXkgZW5hYmxlIik7Ci0JaWYgKHJldCA8IDApCi0JCXByX3dhcm4oIlVuYWJsZSB0byByZXF1ZXN0 IEdQSU9fRElTUExBWV9FTkFCTEVcbiIpOwotCWVsc2UKLQkJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0 KEdQSU9fRElTUExBWV9FTkFCTEUsIDEpOwotCi0JLyogSGFyZHdhcmUgcmV2aXNpb24gMiBoYXMg dGhlIGJhY2tsaWdodCByZWd1bGF0b3IgY29udHJvbGxlZAotCSAqIGJ5IGFuIExUMzU5MywgZWFy bGllciBhbmQgbGF0ZXIgZGV2aWNlcyB1c2UgUFdNIGZvciB0aGF0LiAqLwotCWlmICgoc3lzdGVt X3JldiAmIDB4ZmYpID09IDIpIHsKLQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZyYXVtZmVs ZF9sdDM1OTNfZGV2aWNlKTsKLQl9IGVsc2UgewotCQltZnBfY2ZnX3QgcmF1bWZlbGRfcHdtX3Bp bl9jb25maWcgPSBHUElPMTdfUFdNMF9PVVQ7Ci0JCXB4YTN4eF9tZnBfY29uZmlnKCZyYXVtZmVs ZF9wd21fcGluX2NvbmZpZywgMSk7Ci0JCXB3bV9hZGRfdGFibGUocmF1bWZlbGRfcHdtX2xvb2t1 cCwKLQkJCSAgICAgIEFSUkFZX1NJWkUocmF1bWZlbGRfcHdtX2xvb2t1cCkpOwotCQlwbGF0Zm9y bV9kZXZpY2VfcmVnaXN0ZXIoJnJhdW1mZWxkX3B3bV9iYWNrbGlnaHRfZGV2aWNlKTsKLQl9Ci0K LQlweGFfc2V0X2ZiX2luZm8oTlVMTCwgJnJhdW1mZWxkX3NoYXJwX2xjZF9pbmZvKTsKLQlwbGF0 Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnB4YTN4eF9kZXZpY2VfZ2N1KTsKLX0KLQotLyoqCi0gKiBT UEkgZGV2aWNlcwotICovCi0KLXN0YXRpYyBzdHJ1Y3Qgc3BpX2dwaW9fcGxhdGZvcm1fZGF0YSBy YXVtZmVsZF9zcGlfcGxhdGZvcm1fZGF0YSA9IHsKLQkubnVtX2NoaXBzZWxlY3QJPSAzLAotfTsK LQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmF1bWZlbGRfc3BpX2RldmljZSA9IHsK LQkubmFtZQk9ICJzcGlfZ3BpbyIsCi0JLmlkCT0gMCwKLQkuZGV2IAk9IHsKLQkJLnBsYXRmb3Jt X2RhdGEJPSAmcmF1bWZlbGRfc3BpX3BsYXRmb3JtX2RhdGEsCi0JfQotfTsKLQotc3RhdGljIHN0 cnVjdCBncGlvZF9sb29rdXBfdGFibGUgcmF1bWZlbGRfc3BpX2dwaW9kX3RhYmxlID0gewotCS5k ZXZfaWQgICAgICAgICA9ICJzcGlfZ3BpbyIsCi0JLnRhYmxlICAgICAgICAgID0gewotCQlHUElP X0xPT0tVUCgiZ3Bpby0wIiwgR1BJT19TUElfQ0xLLAotCQkJICAgICJzY2siLCBHUElPX0FDVElW RV9ISUdIKSwKLQkJR1BJT19MT09LVVAoImdwaW8tMCIsIEdQSU9fU1BJX01PU0ksCi0JCQkgICAg Im1vc2kiLCBHUElPX0FDVElWRV9ISUdIKSwKLQkJR1BJT19MT09LVVAoImdwaW8tMCIsIEdQSU9f U1BJX01JU08sCi0JCQkgICAgIm1pc28iLCBHUElPX0FDVElWRV9ISUdIKSwKLQkJR1BJT19MT09L VVBfSURYKCJncGlvLTAiLCBHUElPX1NQRElGX0NTLAotCQkJCSJjcyIsIDAsIEdQSU9fQUNUSVZF X0hJR0gpLAotCQlHUElPX0xPT0tVUF9JRFgoImdwaW8tMCIsIEdQSU9fQUNDRUxfQ1MsCi0JCQkJ ImNzIiwgMSwgR1BJT19BQ1RJVkVfSElHSCksCi0JCUdQSU9fTE9PS1VQX0lEWCgiZ3Bpby0wIiwg R1BJT19NQ0xLX0RBQ19DUywKLQkJCQkiY3MiLCAyLCBHUElPX0FDVElWRV9ISUdIKSwKLQkJeyB9 LAotCX0sCi19OwotCi1zdGF0aWMgc3RydWN0IGxpczNsdjAyZF9wbGF0Zm9ybV9kYXRhIGxpczNf cGRhdGEgPSB7Ci0JLmNsaWNrX2ZsYWdzIAk9IExJUzNfQ0xJQ0tfU0lOR0xFX1ggfAotCQkJICBM SVMzX0NMSUNLX1NJTkdMRV9ZIHwKLQkJCSAgTElTM19DTElDS19TSU5HTEVfWiwKLQkuaXJxX2Nm Zwk9IExJUzNfSVJRMV9DTElDSyB8IExJUzNfSVJRMl9DTElDSywKLQkud2FrZXVwX2ZsYWdzCT0g TElTM19XQUtFVVBfWF9MTyB8IExJUzNfV0FLRVVQX1hfSEkgfAotCQkJICBMSVMzX1dBS0VVUF9Z X0xPIHwgTElTM19XQUtFVVBfWV9ISSB8Ci0JCQkgIExJUzNfV0FLRVVQX1pfTE8gfCBMSVMzX1dB S0VVUF9aX0hJLAotCS53YWtldXBfdGhyZXNoCT0gMTAsCi0JLmNsaWNrX3RocmVzaF94ID0gMTAs Ci0JLmNsaWNrX3RocmVzaF95ID0gMTAsCi0JLmNsaWNrX3RocmVzaF96ID0gMTAsCi19OwotCi0j ZGVmaW5lIFNQSV9BSzQxMDQJXAotewkJCVwKLQkubW9kYWxpYXMJPSAiYWs0MTA0LWNvZGVjIiwJ XAotCS5tYXhfc3BlZWRfaHoJPSAxMDAwMCwJCVwKLQkuYnVzX251bQk9IDAsCQkJXAotCS5jaGlw X3NlbGVjdAk9IDAsCQkJXAotfQotCi0jZGVmaW5lIFNQSV9MSVMzCVwKLXsJCQlcCi0JLm1vZGFs aWFzCT0gImxpczNsdjAyZF9zcGkiLAlcCi0JLm1heF9zcGVlZF9oegk9IDEwMDAwMDAsCQlcCi0J LmJ1c19udW0JPSAwLAkJCVwKLQkuY2hpcF9zZWxlY3QJPSAxLAkJCVwKLQkucGxhdGZvcm1fZGF0 YQk9ICZsaXMzX3BkYXRhLAkJXAotCS5pcnEJCT0gUFhBX0dQSU9fVE9fSVJRKEdQSU9fQUNDRUxf SVJRKSwJXAotfQotCi0jZGVmaW5lIFNQSV9EQUM3NTEyCVwKLXsJXAotCS5tb2RhbGlhcwk9ICJk YWM3NTEyIiwJCVwKLQkubWF4X3NwZWVkX2h6CT0gMTAwMDAwMCwJCVwKLQkuYnVzX251bQk9IDAs CQkJXAotCS5jaGlwX3NlbGVjdAk9IDIsCQkJXAotfQotCi1zdGF0aWMgc3RydWN0IHNwaV9ib2Fy ZF9pbmZvIGNvbm5lY3Rvcl9zcGlfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7Ci0JU1BJX0FLNDEw NCwKLQlTUElfREFDNzUxMiwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8gc3Bl YWtlcl9zcGlfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7Ci0JU1BJX0RBQzc1MTIsCi19OwotCi1z dGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIGNvbnRyb2xsZXJfc3BpX2RldmljZXNbXSBfX2lu aXRkYXRhID0gewotCVNQSV9MSVMzLAotfTsKLQotLyoqCi0gKiBNTUMgZm9yIE1hcnZlbGwgTGli ZXJ0YXMgODY4OCB2aWEgU0RJTwotICovCi0KLXN0YXRpYyBpbnQgcmF1bWZlbGRfbWNpX2luaXQo c3RydWN0IGRldmljZSAqZGV2LCBpcnFfaGFuZGxlcl90IGlzciwgdm9pZCAqZGF0YSkKLXsKLQln cGlvX3NldF92YWx1ZShHUElPX1cyV19SRVNFVCwgMSk7Ci0JZ3Bpb19zZXRfdmFsdWUoR1BJT19X MldfUEROLCAxKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCByYXVtZmVsZF9tY2lf ZXhpdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCi17Ci0JZ3Bpb19zZXRfdmFsdWUo R1BJT19XMldfUkVTRVQsIDApOwotCWdwaW9fc2V0X3ZhbHVlKEdQSU9fVzJXX1BETiwgMCk7Ci19 Ci0KLXN0YXRpYyBzdHJ1Y3QgcHhhbWNpX3BsYXRmb3JtX2RhdGEgcmF1bWZlbGRfbWNpX3BsYXRm b3JtX2RhdGEgPSB7Ci0JLmluaXQJCQk9IHJhdW1mZWxkX21jaV9pbml0LAotCS5leGl0CQkJPSBy YXVtZmVsZF9tY2lfZXhpdCwKLQkuZGV0ZWN0X2RlbGF5X21zCT0gMjAwLAotfTsKLQotLyoKLSAq IEV4dGVybmFsIHBvd2VyIC8gY2hhcmdlIGxvZ2ljCi0gKi8KLQotc3RhdGljIGludCBwb3dlcl9z dXBwbHlfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRp YyB2b2lkIHBvd2VyX3N1cHBseV9leGl0KHN0cnVjdCBkZXZpY2UgKmRldikKLXsKLX0KLQotc3Rh dGljIGludCByYXVtZmVsZF9pc19hY19vbmxpbmUodm9pZCkKLXsKLQlyZXR1cm4gIWdwaW9fZ2V0 X3ZhbHVlKEdQSU9fQ0hBUkdFX0RDX09LKTsKLX0KLQotc3RhdGljIGludCByYXVtZmVsZF9pc191 c2Jfb25saW5lKHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBjaGFyICpyYXVtZmVs ZF9wb3dlcl9zdXBwbGljYW50c1tdID0geyAiZHMyNzYwLWJhdHRlcnkuMCIgfTsKLQotc3RhdGlj IHZvaWQgcmF1bWZlbGRfcG93ZXJfc2lnbmFsX2NoYXJnZWQodm9pZCkKLXsKLQlzdHJ1Y3QgcG93 ZXJfc3VwcGx5ICpwc3kgPQotCQlwb3dlcl9zdXBwbHlfZ2V0X2J5X25hbWUocmF1bWZlbGRfcG93 ZXJfc3VwcGxpY2FudHNbMF0pOwotCi0JaWYgKHBzeSkgewotCQlwb3dlcl9zdXBwbHlfc2V0X2Jh dHRlcnlfY2hhcmdlZChwc3kpOwotCQlwb3dlcl9zdXBwbHlfcHV0KHBzeSk7Ci0JfQotfQotCi1z dGF0aWMgaW50IHJhdW1mZWxkX3Bvd2VyX3Jlc3VtZSh2b2lkKQotewotCS8qIGNoZWNrIGlmIEdQ SU9fQ0hBUkdFX0RPTkUgd2VudCBsb3cgd2hpbGUgd2Ugd2VyZSBzbGVlcGluZyAqLwotCWlmICgh Z3Bpb19nZXRfdmFsdWUoR1BJT19DSEFSR0VfRE9ORSkpCi0JCXJhdW1mZWxkX3Bvd2VyX3NpZ25h bF9jaGFyZ2VkKCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBwZGFfcG93ZXJf cGRhdGEgcG93ZXJfc3VwcGx5X2luZm8gPSB7Ci0JLmluaXQJCQk9IHBvd2VyX3N1cHBseV9pbml0 LAotCS5pc19hY19vbmxpbmUJCT0gcmF1bWZlbGRfaXNfYWNfb25saW5lLAotCS5pc191c2Jfb25s aW5lCQk9IHJhdW1mZWxkX2lzX3VzYl9vbmxpbmUsCi0JLmV4aXQJCQk9IHBvd2VyX3N1cHBseV9l eGl0LAotCS5zdXBwbGllZF90bwkJPSByYXVtZmVsZF9wb3dlcl9zdXBwbGljYW50cywKLQkubnVt X3N1cHBsaWNhbnRzCT0gQVJSQVlfU0laRShyYXVtZmVsZF9wb3dlcl9zdXBwbGljYW50cyksCi0J LnJlc3VtZQkJCT0gcmF1bWZlbGRfcG93ZXJfcmVzdW1lLAotfTsKLQotc3RhdGljIHN0cnVjdCBy ZXNvdXJjZSBwb3dlcl9zdXBwbHlfcmVzb3VyY2VzW10gPSB7Ci0JewotCQkubmFtZSAgPSAiYWMi LAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8Ci0JCQkgSU9SRVNPVVJDRV9JUlFfSElHSEVE R0UgfCBJT1JFU09VUkNFX0lSUV9MT1dFREdFLAotCQkuc3RhcnQgPSBHUElPX0NIQVJHRV9EQ19P SywKLQkJLmVuZCAgID0gR1BJT19DSEFSR0VfRENfT0ssCi0JfSwKLX07Ci0KLXN0YXRpYyBpcnFy ZXR1cm5fdCBjaGFyZ2VfZG9uZV9pcnEoaW50IGlycSwgdm9pZCAqZGV2X2lkKQotewotCXJhdW1m ZWxkX3Bvd2VyX3NpZ25hbF9jaGFyZ2VkKCk7Ci0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi1z dGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSByYXVtZmVsZF9wb3dlcl9zdXBwbHkgPSB7Ci0J Lm5hbWUgPSAicGRhLXBvd2VyIiwKLQkuaWQgICA9IC0xLAotCS5kZXYgID0gewotCQkucGxhdGZv cm1fZGF0YSA9ICZwb3dlcl9zdXBwbHlfaW5mbywKLQl9LAotCS5yZXNvdXJjZSAgICAgID0gcG93 ZXJfc3VwcGx5X3Jlc291cmNlcywKLQkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUocG93ZXJf c3VwcGx5X3Jlc291cmNlcyksCi19OwotCi1zdGF0aWMgdm9pZCBfX2luaXQgcmF1bWZlbGRfcG93 ZXJfaW5pdCh2b2lkKQotewotCWludCByZXQ7Ci0KLQkvKiBTZXQgUEVOMiBoaWdoIHRvIGVuYWJs ZSBtYXhpbXVtIGNoYXJnZSBjdXJyZW50ICovCi0JcmV0ID0gZ3Bpb19yZXF1ZXN0KEdQSU9fQ0hS R19QRU4yLCAiQ0hSR19QRU4yIik7Ci0JaWYgKHJldCA8IDApCi0JCXByX3dhcm4oIlVuYWJsZSB0 byByZXF1ZXN0IEdQSU9fQ0hSR19QRU4yXG4iKTsKLQllbHNlCi0JCWdwaW9fZGlyZWN0aW9uX291 dHB1dChHUElPX0NIUkdfUEVOMiwgMSk7Ci0KLQlyZXQgPSBncGlvX3JlcXVlc3QoR1BJT19DSEFS R0VfRENfT0ssICJDQUJMRV9EQ19PSyIpOwotCWlmIChyZXQgPCAwKQotCQlwcl93YXJuKCJVbmFi bGUgdG8gcmVxdWVzdCBHUElPX0NIQVJHRV9EQ19PS1xuIik7Ci0KLQlyZXQgPSBncGlvX3JlcXVl c3QoR1BJT19DSEFSR0VfVVNCX1NVU1AsICJDSEFSR0VfVVNCX1NVU1AiKTsKLQlpZiAocmV0IDwg MCkKLQkJcHJfd2FybigiVW5hYmxlIHRvIHJlcXVlc3QgR1BJT19DSEFSR0VfVVNCX1NVU1BcbiIp OwotCWVsc2UKLQkJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KEdQSU9fQ0hBUkdFX1VTQl9TVVNQLCAw KTsKLQotCXBvd2VyX3N1cHBseV9yZXNvdXJjZXNbMF0uc3RhcnQgPSBncGlvX3RvX2lycShHUElP X0NIQVJHRV9EQ19PSyk7Ci0JcG93ZXJfc3VwcGx5X3Jlc291cmNlc1swXS5lbmQgPSBncGlvX3Rv X2lycShHUElPX0NIQVJHRV9EQ19PSyk7Ci0KLQlyZXQgPSByZXF1ZXN0X2lycShncGlvX3RvX2ly cShHUElPX0NIQVJHRV9ET05FKSwKLQkJCSZjaGFyZ2VfZG9uZV9pcnEsIElPUkVTT1VSQ0VfSVJR X0xPV0VER0UsCi0JCQkiY2hhcmdlX2RvbmUiLCBOVUxMKTsKLQotCWlmIChyZXQgPCAwKQotCQlw cmludGsoS0VSTl9FUlIgIiVzOiB1bmFibGUgdG8gcmVnaXN0ZXIgaXJxICVkXG4iLCBfX2Z1bmNf XywKLQkJCUdQSU9fQ0hBUkdFX0RPTkUpOwotCWVsc2UKLQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lz dGVyKCZyYXVtZmVsZF9wb3dlcl9zdXBwbHkpOwotfQotCi0vKiBGaXhlZCByZWd1bGF0b3IgZm9y IEFVRElPX1ZBLCAwLTAwNDggbWFwcyB0byB0aGUgY3M0MjcwIGNvZGVjIGRldmljZSAqLwotCi1z dGF0aWMgc3RydWN0IHJlZ3VsYXRvcl9jb25zdW1lcl9zdXBwbHkgYXVkaW9fdmFfY29uc3VtZXJf c3VwcGx5ID0KLQlSRUdVTEFUT1JfU1VQUExZKCJ2YSIsICIwLTAwNDgiKTsKLQotc3RhdGljIHN0 cnVjdCByZWd1bGF0b3JfaW5pdF9kYXRhIGF1ZGlvX3ZhX2luaXRkYXRhID0gewotCS5jb25zdW1l cl9zdXBwbGllcyA9ICZhdWRpb192YV9jb25zdW1lcl9zdXBwbHksCi0JLm51bV9jb25zdW1lcl9z dXBwbGllcyA9IDEsCi0JLmNvbnN0cmFpbnRzID0gewotCQkudmFsaWRfb3BzX21hc2sgPSBSRUdV TEFUT1JfQ0hBTkdFX1NUQVRVUywKLQl9LAotfTsKLQotc3RhdGljIHN0cnVjdCBmaXhlZF92b2x0 YWdlX2NvbmZpZyBhdWRpb192YV9jb25maWcgPSB7Ci0JLnN1cHBseV9uYW1lCQk9ICJhdWRpb192 YSIsCi0JLm1pY3Jvdm9sdHMJCT0gNTAwMDAwMCwKLQkuZW5hYmxlX2hpZ2gJCT0gMSwKLQkuZW5h YmxlZF9hdF9ib290CT0gMCwKLQkuaW5pdF9kYXRhCQk9ICZhdWRpb192YV9pbml0ZGF0YSwKLX07 Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF1ZGlvX3ZhX2RldmljZSA9IHsKLQku bmFtZQk9ICJyZWctZml4ZWQtdm9sdGFnZSIsCi0JLmlkCT0gMCwKLQkuZGV2CT0gewotCQkucGxh dGZvcm1fZGF0YSA9ICZhdWRpb192YV9jb25maWcsCi0JfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qg Z3Bpb2RfbG9va3VwX3RhYmxlIGF1ZGlvX3ZhX2dwaW9kX3RhYmxlID0gewotCS5kZXZfaWQgPSAi cmVnLWZpeGVkLXZvbHRhZ2UuMCIsCi0JLnRhYmxlID0gewotCQlHUElPX0xPT0tVUCgiZ3Bpby1w eGEiLCBHUElPX0FVRElPX1ZBX0VOQUJMRSwKLQkJCSAgICBOVUxMLCBHUElPX0FDVElWRV9ISUdI KSwKLQkJeyB9LAotCX0sCi19OwotCi0vKiBEdW1teSBzdXBwbGllcyBmb3IgQ29kZWMncyBWRC9W TEMgKi8KLQotc3RhdGljIHN0cnVjdCByZWd1bGF0b3JfY29uc3VtZXJfc3VwcGx5IGF1ZGlvX2R1 bW15X3N1cHBsaWVzW10gPSB7Ci0JUkVHVUxBVE9SX1NVUFBMWSgidmQiLCAiMC0wMDQ4IiksCi0J UkVHVUxBVE9SX1NVUFBMWSgidmxjIiwgIjAtMDA0OCIpLAotfTsKLQotc3RhdGljIHN0cnVjdCBy ZWd1bGF0b3JfaW5pdF9kYXRhIGF1ZGlvX2R1bW15X2luaXRkYXRhID0gewotCS5jb25zdW1lcl9z dXBwbGllcyA9IGF1ZGlvX2R1bW15X3N1cHBsaWVzLAotCS5udW1fY29uc3VtZXJfc3VwcGxpZXMg PSBBUlJBWV9TSVpFKGF1ZGlvX2R1bW15X3N1cHBsaWVzKSwKLQkuY29uc3RyYWludHMgPSB7Ci0J CS52YWxpZF9vcHNfbWFzayA9IFJFR1VMQVRPUl9DSEFOR0VfU1RBVFVTLAotCX0sCi19OwotCi1z dGF0aWMgc3RydWN0IGZpeGVkX3ZvbHRhZ2VfY29uZmlnIGF1ZGlvX2R1bW15X2NvbmZpZyA9IHsK LQkuc3VwcGx5X25hbWUJCT0gImF1ZGlvX3ZkIiwKLQkubWljcm92b2x0cwkJPSAzMzAwMDAwLAot CS5pbml0X2RhdGEJCT0gJmF1ZGlvX2R1bW15X2luaXRkYXRhLAotfTsKLQotc3RhdGljIHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgYXVkaW9fc3VwcGx5X2R1bW15X2RldmljZSA9IHsKLQkubmFtZQk9 ICJyZWctZml4ZWQtdm9sdGFnZSIsCi0JLmlkCT0gMSwKLQkuZGV2CT0gewotCQkucGxhdGZvcm1f ZGF0YSA9ICZhdWRpb19kdW1teV9jb25maWcsCi0JfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICphdWRpb19yZWd1bGF0b3JfZGV2aWNlc1tdID0gewotCSZhdWRpb192YV9k ZXZpY2UsCi0JJmF1ZGlvX3N1cHBseV9kdW1teV9kZXZpY2UsCi19OwotCi0vKioKLSAqIFJlZ3Vs YXRvciBzdXBwb3J0IHZpYSBNQVg4NjYwCi0gKi8KLQotc3RhdGljIHN0cnVjdCByZWd1bGF0b3Jf Y29uc3VtZXJfc3VwcGx5IHZjY19tbWNfc3VwcGx5ID0KLQlSRUdVTEFUT1JfU1VQUExZKCJ2bW1j IiwgInB4YTJ4eC1tY2kuMCIpOwotCi1zdGF0aWMgc3RydWN0IHJlZ3VsYXRvcl9pbml0X2RhdGEg dmNjX21tY19pbml0X2RhdGEgPSB7Ci0JLmNvbnN0cmFpbnRzID0gewotCQkubWluX3VWCQkJPSAz MzAwMDAwLAotCQkubWF4X3VWCQkJPSAzMzAwMDAwLAotCQkudmFsaWRfbW9kZXNfbWFzawk9IFJF R1VMQVRPUl9NT0RFX05PUk1BTCwKLQkJLnZhbGlkX29wc19tYXNrCQk9IFJFR1VMQVRPUl9DSEFO R0VfU1RBVFVTIHwKLQkJCQkJICBSRUdVTEFUT1JfQ0hBTkdFX1ZPTFRBR0UgfAotCQkJCQkgIFJF R1VMQVRPUl9DSEFOR0VfTU9ERSwKLQl9LAotCS5jb25zdW1lcl9zdXBwbGllcyA9ICZ2Y2NfbW1j X3N1cHBseSwKLQkubnVtX2NvbnN1bWVyX3N1cHBsaWVzID0gMSwKLX07Ci0KLXN0YXRpYyBzdHJ1 Y3QgbWF4ODY2MF9zdWJkZXZfZGF0YSBtYXg4NjYwX3Y2X3N1YmRldl9kYXRhID0gewotCS5pZAkJ PSBNQVg4NjYwX1Y2LAotCS5uYW1lCQk9ICJ2bW1jIiwKLQkucGxhdGZvcm1fZGF0YQk9ICZ2Y2Nf bW1jX2luaXRfZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgbWF4ODY2MF9wbGF0Zm9ybV9kYXRh IG1heDg2NjBfcGRhdGEgPSB7Ci0JLnN1YmRldnMgPSAmbWF4ODY2MF92Nl9zdWJkZXZfZGF0YSwK LQkubnVtX3N1YmRldnMgPSAxLAotfTsKLQotLyoqCi0gKiBJMkMgZGV2aWNlcwotICovCi0KLXN0 YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gcmF1bWZlbGRfcHdyaTJjX2JvYXJkX2luZm8gPSB7 Ci0JLnR5cGUJCT0gIm1heDg2NjAiLAotCS5hZGRyCQk9IDB4MzQsCi0JLnBsYXRmb3JtX2RhdGEJ PSAmbWF4ODY2MF9wZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gcmF1 bWZlbGRfY29ubmVjdG9yX2kyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgPSB7Ci0JLnR5cGUJPSAi Y3M0MjcwIiwKLQkuYWRkcgk9IDB4NDgsCi19OwotCi1zdGF0aWMgc3RydWN0IGdwaW9kX2xvb2t1 cF90YWJsZSByYXVtZmVsZF9jb250cm9sbGVyX2dwaW9zX3RhYmxlID0gewotCS5kZXZfaWQgPSAi MC0wMDBhIiwKLQkudGFibGUgPSB7Ci0JCUdQSU9fTE9PS1VQKCJncGlvLXB4YSIsCi0JCQkgICAg R1BJT19UT1VDSF9JUlEsICJhdHRuIiwgR1BJT19BQ1RJVkVfSElHSCksCi0JCXsgfSwKLQl9LAot fTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCByZXNvdXJjZSByYXVtZmVsZF9jb250cm9sbGVyX3Jl c291cmNlc1tdIF9faW5pdGNvbnN0ID0gewotCXsKLQkJLnN0YXJ0CT0gUFhBX0dQSU9fVE9fSVJR KEdQSU9fVE9VQ0hfSVJRKSwKLQkJLmVuZAk9IFBYQV9HUElPX1RPX0lSUShHUElPX1RPVUNIX0lS USksCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRIHwgSVJRRl9UUklHR0VSX0hJR0gsCi0JfSwK LX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gcmF1bWZlbGRfY29udHJvbGxlcl9p MmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhID0gewotCS50eXBlCT0gImVldGlfdHMiLAotCS5hZGRy CT0gMHgwYSwKLQkucmVzb3VyY2VzID0gcmF1bWZlbGRfY29udHJvbGxlcl9yZXNvdXJjZXMsCi0J Lm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHJhdW1mZWxkX2NvbnRyb2xsZXJfcmVzb3VyY2Vz KSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpyYXVtZmVsZF9jb21tb25f ZGV2aWNlc1tdID0gewotCSZyYXVtZmVsZF9ncGlvX2tleXNfZGV2aWNlLAotCSZyYXVtZmVsZF9s ZWRfZGV2aWNlLAotCSZyYXVtZmVsZF9zcGlfZGV2aWNlLAotfTsKLQotc3RhdGljIHZvaWQgX19p bml0IHJhdW1mZWxkX2F1ZGlvX2luaXQodm9pZCkKLXsKLQlpbnQgcmV0OwotCi0JcmV0ID0gZ3Bp b19yZXF1ZXN0KEdQSU9fQ09ERUNfUkVTRVQsICJjczQyNzAgcmVzZXQiKTsKLQlpZiAocmV0IDwg MCkKLQkJcHJfd2FybigidW5hYmxlIHRvIHJlcXVlc3QgR1BJT19DT0RFQ19SRVNFVFxuIik7Ci0J ZWxzZQotCQlncGlvX2RpcmVjdGlvbl9vdXRwdXQoR1BJT19DT0RFQ19SRVNFVCwgMSk7Ci0KLQly ZXQgPSBncGlvX3JlcXVlc3QoR1BJT19TUERJRl9SRVNFVCwgImFrNDEwNCBzL3BkaWYgcmVzZXQi KTsKLQlpZiAocmV0IDwgMCkKLQkJcHJfd2FybigidW5hYmxlIHRvIHJlcXVlc3QgR1BJT19TUERJ Rl9SRVNFVFxuIik7Ci0JZWxzZQotCQlncGlvX2RpcmVjdGlvbl9vdXRwdXQoR1BJT19TUERJRl9S RVNFVCwgMSk7Ci0KLQlyZXQgPSBncGlvX3JlcXVlc3QoR1BJT19NQ0xLX1JFU0VULCAiTUNMSyBy ZXNldCIpOwotCWlmIChyZXQgPCAwKQotCQlwcl93YXJuKCJ1bmFibGUgdG8gcmVxdWVzdCBHUElP X01DTEtfUkVTRVRcbiIpOwotCWVsc2UKLQkJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KEdQSU9fTUNM S19SRVNFVCwgMSk7Ci0KLQlncGlvZF9hZGRfbG9va3VwX3RhYmxlKCZhdWRpb192YV9ncGlvZF90 YWJsZSk7Ci0JcGxhdGZvcm1fYWRkX2RldmljZXMoQVJSQVlfQU5EX1NJWkUoYXVkaW9fcmVndWxh dG9yX2RldmljZXMpKTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0IHJhdW1mZWxkX2NvbW1vbl9p bml0KHZvaWQpCi17Ci0JaW50IHJldDsKLQotCS8qIFRoZSBvbi9vZmYgYnV0dG9uIHBvbGFyaXR5 IGhhcyBjaGFuZ2VkIGFmdGVyIHJldmlzaW9uIDEgKi8KLQlpZiAoKHN5c3RlbV9yZXYgJiAweGZm KSA+IDEpIHsKLQkJaW50IGk7Ci0KLQkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZ3Bpb19r ZXlzX2J1dHRvbik7IGkrKykKLQkJCWlmICghc3RyY21wKGdwaW9fa2V5c19idXR0b25baV0uZGVz YywgIm9uX29mZiBidXR0b24iKSkKLQkJCQlncGlvX2tleXNfYnV0dG9uW2ldLmFjdGl2ZV9sb3cg PSAxOwotCX0KLQotCWVuYWJsZV9pcnFfd2FrZShJUlFfV0FLRVVQMCk7Ci0KLQlweGEzeHhfc2V0 X25hbmRfaW5mbygmcmF1bWZlbGRfbmFuZF9pbmZvKTsKLQlweGEzeHhfc2V0X2kyY19wb3dlcl9p bmZvKE5VTEwpOwotCXB4YV9zZXRfb2hjaV9pbmZvKCZyYXVtZmVsZF9vaGNpX2luZm8pOwotCXB4 YV9zZXRfbWNpX2luZm8oJnJhdW1mZWxkX21jaV9wbGF0Zm9ybV9kYXRhKTsKLQlweGFfc2V0X2ky Y19pbmZvKE5VTEwpOwotCXB4YV9zZXRfZmZ1YXJ0X2luZm8oTlVMTCk7Ci0KLQlyZXQgPSBncGlv X3JlcXVlc3QoR1BJT19XMldfUkVTRVQsICJXaTJXaSByZXNldCIpOwotCWlmIChyZXQgPCAwKQot CQlwcl93YXJuKCJVbmFibGUgdG8gcmVxdWVzdCBHUElPX1cyV19SRVNFVFxuIik7Ci0JZWxzZQot CQlncGlvX2RpcmVjdGlvbl9vdXRwdXQoR1BJT19XMldfUkVTRVQsIDApOwotCi0JcmV0ID0gZ3Bp b19yZXF1ZXN0KEdQSU9fVzJXX1BETiwgIldpMldpIHBvd2VydXAiKTsKLQlpZiAocmV0IDwgMCkK LQkJcHJfd2FybigiVW5hYmxlIHRvIHJlcXVlc3QgR1BJT19XMldfUEROXG4iKTsKLQllbHNlCi0J CWdwaW9fZGlyZWN0aW9uX291dHB1dChHUElPX1cyV19QRE4sIDApOwotCi0JLyogdGhpcyBjYW4g YmUgdXNlZCB0byBzd2l0Y2ggb2ZmIHRoZSBkZXZpY2UgKi8KLQlyZXQgPSBncGlvX3JlcXVlc3Qo R1BJT19TSFVURE9XTl9TVVBQTFksICJzdXBwbHkgc2h1dGRvd24iKTsKLQlpZiAocmV0IDwgMCkK LQkJcHJfd2FybigiVW5hYmxlIHRvIHJlcXVlc3QgR1BJT19TSFVURE9XTl9TVVBQTFlcbiIpOwot CWVsc2UKLQkJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KEdQSU9fU0hVVERPV05fU1VQUExZLCAwKTsK LQotCWdwaW9kX2FkZF9sb29rdXBfdGFibGUoJnJhdW1mZWxkX3NwaV9ncGlvZF90YWJsZSk7Ci0J cGxhdGZvcm1fYWRkX2RldmljZXMoQVJSQVlfQU5EX1NJWkUocmF1bWZlbGRfY29tbW9uX2Rldmlj ZXMpKTsKLQlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygxLCAmcmF1bWZlbGRfcHdyaTJjX2JvYXJk X2luZm8sIDEpOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgX19tYXliZV91bnVzZWQgcmF1bWZl bGRfY29udHJvbGxlcl9pbml0KHZvaWQpCi17Ci0JaW50IHJldDsKLQotCXB4YTN4eF9tZnBfY29u ZmlnKEFSUkFZX0FORF9TSVpFKHJhdW1mZWxkX2NvbnRyb2xsZXJfcGluX2NvbmZpZykpOwotCi0J Z3Bpb2RfYWRkX2xvb2t1cF90YWJsZSgmcmF1bWZlbGRfcm90YXJ5X2dwaW9zX3RhYmxlKTsKLQlk ZXZpY2VfYWRkX3Byb3BlcnRpZXMoJnJvdGFyeV9lbmNvZGVyX2RldmljZS5kZXYsCi0JCQkgICAg ICByYXVtZmVsZF9yb3RhcnlfcHJvcGVydGllcyk7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVy KCZyb3RhcnlfZW5jb2Rlcl9kZXZpY2UpOwotCi0Jc3BpX3JlZ2lzdGVyX2JvYXJkX2luZm8oQVJS QVlfQU5EX1NJWkUoY29udHJvbGxlcl9zcGlfZGV2aWNlcykpOwotCi0JZ3Bpb2RfYWRkX2xvb2t1 cF90YWJsZSgmcmF1bWZlbGRfY29udHJvbGxlcl9ncGlvc190YWJsZSk7Ci0JaTJjX3JlZ2lzdGVy X2JvYXJkX2luZm8oMCwgJnJhdW1mZWxkX2NvbnRyb2xsZXJfaTJjX2JvYXJkX2luZm8sIDEpOwot Ci0JcmV0ID0gZ3Bpb19yZXF1ZXN0KEdQSU9fU0hVVERPV05fQkFUVCwgImJhdHRlcnkgc2h1dGRv d24iKTsKLQlpZiAocmV0IDwgMCkKLQkJcHJfd2FybigiVW5hYmxlIHRvIHJlcXVlc3QgR1BJT19T SFVURE9XTl9CQVRUXG4iKTsKLQllbHNlCi0JCWdwaW9fZGlyZWN0aW9uX291dHB1dChHUElPX1NI VVRET1dOX0JBVFQsIDApOwotCi0JcmF1bWZlbGRfY29tbW9uX2luaXQoKTsKLQlyYXVtZmVsZF9w b3dlcl9pbml0KCk7Ci0JcmF1bWZlbGRfbGNkX2luaXQoKTsKLQlyYXVtZmVsZF93MV9pbml0KCk7 Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBfX21heWJlX3VudXNlZCByYXVtZmVsZF9jb25uZWN0 b3JfaW5pdCh2b2lkKQotewotCXB4YTN4eF9tZnBfY29uZmlnKEFSUkFZX0FORF9TSVpFKHJhdW1m ZWxkX2Nvbm5lY3Rvcl9waW5fY29uZmlnKSk7Ci0Jc3BpX3JlZ2lzdGVyX2JvYXJkX2luZm8oQVJS QVlfQU5EX1NJWkUoY29ubmVjdG9yX3NwaV9kZXZpY2VzKSk7Ci0JaTJjX3JlZ2lzdGVyX2JvYXJk X2luZm8oMCwgJnJhdW1mZWxkX2Nvbm5lY3Rvcl9pMmNfYm9hcmRfaW5mbywgMSk7Ci0KLQlwbGF0 Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnNtYzkxeF9kZXZpY2UpOwotCi0JcmF1bWZlbGRfYXVkaW9f aW5pdCgpOwotCXJhdW1mZWxkX2NvbW1vbl9pbml0KCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5p dCBfX21heWJlX3VudXNlZCByYXVtZmVsZF9zcGVha2VyX2luaXQodm9pZCkKLXsKLQlweGEzeHhf bWZwX2NvbmZpZyhBUlJBWV9BTkRfU0laRShyYXVtZmVsZF9zcGVha2VyX3Bpbl9jb25maWcpKTsK LQlzcGlfcmVnaXN0ZXJfYm9hcmRfaW5mbyhBUlJBWV9BTkRfU0laRShzcGVha2VyX3NwaV9kZXZp Y2VzKSk7Ci0JaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJnJhdW1mZWxkX2Nvbm5lY3Rvcl9p MmNfYm9hcmRfaW5mbywgMSk7Ci0KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnNtYzkxeF9k ZXZpY2UpOwotCi0JZ3Bpb2RfYWRkX2xvb2t1cF90YWJsZSgmcmF1bWZlbGRfcm90YXJ5X2dwaW9z X3RhYmxlKTsKLQlkZXZpY2VfYWRkX3Byb3BlcnRpZXMoJnJvdGFyeV9lbmNvZGVyX2RldmljZS5k ZXYsCi0JCQkgICAgICByYXVtZmVsZF9yb3RhcnlfcHJvcGVydGllcyk7Ci0JcGxhdGZvcm1fZGV2 aWNlX3JlZ2lzdGVyKCZyb3RhcnlfZW5jb2Rlcl9kZXZpY2UpOwotCi0JcmF1bWZlbGRfYXVkaW9f aW5pdCgpOwotCXJhdW1mZWxkX2NvbW1vbl9pbml0KCk7Ci19Ci0KLS8qIHBoeXNpY2FsIG1lbW9y eSByZWdpb25zICovCi0jZGVmaW5lCVJBVU1GRUxEX1NEUkFNX0JBU0UJMHhhMDAwMDAwMAkvKiBT RFJBTSByZWdpb24gKi8KLQotI2lmZGVmIENPTkZJR19NQUNIX1JBVU1GRUxEX1JDCi1NQUNISU5F X1NUQVJUKFJBVU1GRUxEX1JDLCAiUmF1bWZlbGQgQ29udHJvbGxlciIpCi0JLmF0YWdfb2Zmc2V0 CT0gMHgxMDAsCi0JLmluaXRfbWFjaGluZQk9IHJhdW1mZWxkX2NvbnRyb2xsZXJfaW5pdCwKLQku bWFwX2lvCQk9IHB4YTN4eF9tYXBfaW8sCi0JLm5yX2lycXMJPSBQWEFfTlJfSVJRUywKLQkuaW5p dF9pcnEJPSBweGEzeHhfaW5pdF9pcnEsCi0JLmhhbmRsZV9pcnEJPSBweGEzeHhfaGFuZGxlX2ly cSwKLQkuaW5pdF90aW1lCT0gcHhhX3RpbWVyX2luaXQsCi0JLnJlc3RhcnQJPSBweGFfcmVzdGFy dCwKLU1BQ0hJTkVfRU5ECi0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19NQUNIX1JBVU1GRUxEX0NP Tk5FQ1RPUgotTUFDSElORV9TVEFSVChSQVVNRkVMRF9DT05ORUNUT1IsICJSYXVtZmVsZCBDb25u ZWN0b3IiKQotCS5hdGFnX29mZnNldAk9IDB4MTAwLAotCS5pbml0X21hY2hpbmUJPSByYXVtZmVs ZF9jb25uZWN0b3JfaW5pdCwKLQkubWFwX2lvCQk9IHB4YTN4eF9tYXBfaW8sCi0JLm5yX2lycXMJ PSBQWEFfTlJfSVJRUywKLQkuaW5pdF9pcnEJPSBweGEzeHhfaW5pdF9pcnEsCi0JLmhhbmRsZV9p cnEJPSBweGEzeHhfaGFuZGxlX2lycSwKLQkuaW5pdF90aW1lCT0gcHhhX3RpbWVyX2luaXQsCi0J LnJlc3RhcnQJPSBweGFfcmVzdGFydCwKLU1BQ0hJTkVfRU5ECi0jZW5kaWYKLQotI2lmZGVmIENP TkZJR19NQUNIX1JBVU1GRUxEX1NQRUFLRVIKLU1BQ0hJTkVfU1RBUlQoUkFVTUZFTERfU1BFQUtF UiwgIlJhdW1mZWxkIFNwZWFrZXIiKQotCS5hdGFnX29mZnNldAk9IDB4MTAwLAotCS5pbml0X21h Y2hpbmUJPSByYXVtZmVsZF9zcGVha2VyX2luaXQsCi0JLm1hcF9pbwkJPSBweGEzeHhfbWFwX2lv LAotCS5ucl9pcnFzCT0gUFhBX05SX0lSUVMsCi0JLmluaXRfaXJxCT0gcHhhM3h4X2luaXRfaXJx LAotCS5oYW5kbGVfaXJxCT0gcHhhM3h4X2hhbmRsZV9pcnEsCi0JLmluaXRfdGltZQk9IHB4YV90 aW1lcl9pbml0LAotCS5yZXN0YXJ0CT0gcHhhX3Jlc3RhcnQsCi1NQUNISU5FX0VORAotI2VuZGlm Ci0tIAoyLjE5LjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==