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=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,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 E7465C3F2D2 for ; Fri, 28 Feb 2020 17:25:23 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 A54F7246A3 for ; Fri, 28 Feb 2020 17:25:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="tH6FIaIs" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A54F7246A3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:51254 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7jO6-0001Vb-N2 for qemu-devel@archiver.kernel.org; Fri, 28 Feb 2020 12:25:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58440) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7im6-0005cn-D1 for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7im2-0007Em-J4 for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:06 -0500 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:13250) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j7im0-0005Uz-Nx for qemu-devel@nongnu.org; Fri, 28 Feb 2020 11:46:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1582908360; x=1614444360; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gZRILmLn9DE/qU/H6FKoXqpzG2lyF9uKizs9fCorQZE=; b=tH6FIaIstY2jbNcvBSnzpZJv8afMBdRo2UTdAHA+iUJyko86/dVYJrT2 2Yd6WxaA1ApsMzphwX2Ux96MIXW5hxJSJLH9TKs4ngz9HQNkCTnJQgSHC qCMAUUYQwDBJi2QtXS9mJnigcrTk+W17K43FzBdrKHor33FkhdmiXhuo4 E=; Received: from unknown (HELO ironmsg01-sd.qualcomm.com) ([10.53.140.141]) by alexa-out-sd-01.qualcomm.com with ESMTP; 28 Feb 2020 08:44:32 -0800 Received: from vu-tsimpson-aus.qualcomm.com (HELO vu-tsimpson1-aus.qualcomm.com) ([10.222.150.1]) by ironmsg01-sd.qualcomm.com with ESMTP; 28 Feb 2020 08:44:31 -0800 Received: by vu-tsimpson1-aus.qualcomm.com (Postfix, from userid 47164) id 4A45C115A; Fri, 28 Feb 2020 10:44:31 -0600 (CST) From: Taylor Simpson To: qemu-devel@nongnu.org Subject: [RFC PATCH v2 40/67] Hexagon TCG generation - step 02 Date: Fri, 28 Feb 2020 10:43:36 -0600 Message-Id: <1582908244-304-41-git-send-email-tsimpson@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1582908244-304-1-git-send-email-tsimpson@quicinc.com> References: <1582908244-304-1-git-send-email-tsimpson@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 199.106.114.38 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: riku.voipio@iki.fi, richard.henderson@linaro.org, laurent@vivier.eu, Taylor Simpson , philmd@redhat.com, aleksandar.m.mail@gmail.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" T3ZlcnJpZGUgbG9hZCBpbnN0cnVjdGlvbnMKClNpZ25lZC1vZmYtYnk6IFRheWxvciBTaW1wc29u IDx0c2ltcHNvbkBxdWljaW5jLmNvbT4KLS0tCiB0YXJnZXQvaGV4YWdvbi9oZWxwZXJfb3ZlcnJp ZGVzLmggfCA0MDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHRhcmdl dC9oZXhhZ29uL2dlbnB0ci5jICAgICAgICAgICB8ICAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDQw NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGFyZ2V0L2hleGFnb24vaGVscGVy X292ZXJyaWRlcy5oCgpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vaGVscGVyX292ZXJyaWRl cy5oIGIvdGFyZ2V0L2hleGFnb24vaGVscGVyX292ZXJyaWRlcy5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjZhNjlmYzYKLS0tIC9kZXYvbnVsbAorKysgYi90YXJnZXQvaGV4 YWdvbi9oZWxwZXJfb3ZlcnJpZGVzLmgKQEAgLTAsMCArMSw0MDQgQEAKKy8qCisgKiAgQ29weXJp Z2h0KGMpIDIwMTktMjAyMCBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBBbGwgUmln aHRzIFJlc2VydmVkLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGlj ZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq ICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u CisgKi8KKworI2lmbmRlZiBIRVhBR09OX0hFTFBFUl9PVkVSUklERVNfSAorI2RlZmluZSBIRVhB R09OX0hFTFBFUl9PVkVSUklERVNfSAorCisvKgorICogSGVyZSBpcyBhIHByaW1lciB0byB1bmRl cnN0YW5kIHRoZSB0YWcgbmFtZXMgZm9yIGxvYWQvc3RvcmUgaW5zdHJ1Y3Rpb25zCisgKgorICog RGF0YSB0eXBlcworICogICAgICBiICAgICAgICBzaWduZWQgYnl0ZSAgICAgICAgICAgICAgICAg ICAgICAgcjAgPSBtZW1iKHIyKyMwKQorICogICAgIHViICAgICAgICB1bnNpZ25lZCBieXRlICAg ICAgICAgICAgICAgICAgICAgcjAgPSBtZW11YihyMisjMCkKKyAqICAgICAgaCAgICAgICAgc2ln bmVkIGhhbGYgd29yZCAoMTYgYml0cykgICAgICAgIHIwID0gbWVtaChyMisjMCkKKyAqICAgICB1 aCAgICAgICAgdW5zaWduZWQgaGFsZiB3b3JkICAgICAgICAgICAgICAgIHIwID0gbWVtdWgocjIr IzApCisgKiAgICAgIGkgICAgICAgIGludGVnZXIgKDMyIGJpdHMpICAgICAgICAgICAgICAgICBy MCA9IG1lbXcocjIrIzApCisgKiAgICAgIGQgICAgICAgIGRvdWJsZSB3b3JkICg2NCBiaXRzKSAg ICAgICAgICAgICByMTowID0gbWVtZChyMisjMCkKKyAqCisgKiBBZGRyZXNzaW5nIG1vZGVzCisg KiAgICAgX2lvICAgICAgIGluZGlyZWN0IHdpdGggb2Zmc2V0ICAgICAgICAgICAgICByMCA9IG1l bXcocjErIzQpCisgKiAgICAgX3VyICAgICAgIGFic29sdXRlIHdpdGggcmVnaXN0ZXIgb2Zmc2V0 ICAgICByMCA9IG1lbXcocjE8PCM0KyMjdmFyaWFibGUpCisgKiAgICAgX3JyICAgICAgIGluZGly ZWN0IHdpdGggcmVnaXN0ZXIgb2Zmc2V0ICAgICByMCA9IG1lbXcocjErcjQ8PCMyKQorICogICAg IGdwICAgICAgICBnbG9iYWwgcG9pbnRlciByZWxhdGl2ZSAgICAgICAgICAgcjAgPSBtZW13KGdw KyMyMDApCisgKiAgICAgX3NwICAgICAgIHN0YWNrIHBvaW50ZXIgcmVsYXRpdmUgICAgICAgICAg ICByMCA9IG1lbXcocjI5KyMxMikKKyAqICAgICBfYXAgICAgICAgYWJzb2x1dGUgc2V0ICAgICAg ICAgICAgICAgICAgICAgIHIwID0gbWVtdyhyMT0jI3ZhcmlhYmxlKQorICogICAgIF9wciAgICAg ICBwb3N0IGluY3JlbWVudCByZWdpc3RlciAgICAgICAgICAgcjAgPSBtZW13KHIxKyttMSkKKyAq ICAgICBfcGJyICAgICAgcG9zdCBpbmNyZW1lbnQgYml0IHJldmVyc2UgICAgICAgIHIwID0gbWVt dyhyMSsrbTE6YnJldikKKyAqICAgICBfcGkgICAgICAgcG9zdCBpbmNyZW1lbnQgaW1tZWRpYXRl ICAgICAgICAgIHIwID0gbWVtYihyMSsrIzEpCisgKiAgICAgX3BjaSAgICAgIHBvc3QgaW5jcmVt ZW50IGNpcmN1bGFyIGltbWVkaWF0ZSByMCA9IG1lbXcocjErKyM0OmNpcmMobTApKQorICogICAg IF9wY3IgICAgICBwb3N0IGluY3JlbWVudCBjaXJjdWxhciByZWdpc3RlciAgcjAgPSBtZW13KHIx KytJOmNpcmMobTApKQorICovCisKKy8qIE1hY3JvcyBmb3IgY29tcGxleCBhZGRyZXNzaW5nIG1v ZGVzICovCisjZGVmaW5lIEdFVF9FQV9hcCBcCisgICAgZG8geyBcCisgICAgICAgIGZFQV9JTU0o VWlWKTsgXAorICAgICAgICB0Y2dfZ2VuX21vdmlfdGwoUmVWLCBVaVYpOyBcCisgICAgfSB3aGls ZSAoMCkKKyNkZWZpbmUgR0VUX0VBX3ByIFwKKyAgICBkbyB7IFwKKyAgICAgICAgZkVBX1JFRyhS eFYpOyBcCisgICAgICAgIGZQTV9NKFJ4ViwgTXVWKTsgXAorICAgIH0gd2hpbGUgKDApCisjZGVm aW5lIEdFVF9FQV9wYnIgXAorICAgIGRvIHsgXAorICAgICAgICBmRUFfQlJFVlIoUnhWKTsgXAor ICAgICAgICBmUE1fTShSeFYsIE11Vik7IFwKKyAgICB9IHdoaWxlICgwKQorI2RlZmluZSBHRVRf RUFfcGkgXAorICAgIGRvIHsgXAorICAgICAgICBmRUFfUkVHKFJ4Vik7IFwKKyAgICAgICAgZlBN X0koUnhWLCBzaVYpOyBcCisgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgR0VUX0VBX3BjaSBcCisg ICAgZG8geyBcCisgICAgICAgIGZFQV9SRUcoUnhWKTsgXAorICAgICAgICBmUE1fQ0lSSShSeFYs IHNpViwgTXVWKTsgXAorICAgIH0gd2hpbGUgKDApCisjZGVmaW5lIEdFVF9FQV9wY3IoU0hJRlQp IFwKKyAgICBkbyB7IFwKKyAgICAgICAgZkVBX1JFRyhSeFYpOyBcCisgICAgICAgIGZQTV9DSVJS KFJ4ViwgZlJFQURfSVJFRyhNdVYsIChTSElGVCkpLCBNdVYpOyBcCisgICAgfSB3aGlsZSAoMCkK KworLyoKKyAqIE1hbnkgaW5zdHJ1Y3Rpb25zIHdpbGwgd29yayB3aXRoIGp1c3QgbWFjcm8gcmVk ZWZpbml0aW9ucworICogd2l0aCB0aGUgY2F2ZWF0IHRoYXQgdGhleSBuZWVkIGEgdG1wIHZhcmlh YmxlIHRvIGNhcnJ5IGEKKyAqIHZhbHVlIGJldHdlZW4gdGhlbS4KKyAqLworI2RlZmluZSBmV1JB UF90bXAoU0hPUlRDT0RFKSBcCisgICAgZG8geyBcCisgICAgICAgIFRDR3YgdG1wID0gdGNnX3Rl bXBfbmV3KCk7IFwKKyAgICAgICAgU0hPUlRDT0RFOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUo dG1wKTsgXAorICAgIH0gd2hpbGUgKDApCisKKy8qIEJ5dGUgbG9hZCBpbnN0cnVjdGlvbnMgKi8K KyNkZWZpbmUgZldSQVBfTDJfbG9hZHJ1Yl9pbyhHRU5ITFBSLCBTSE9SVENPREUpICAgICAgU0hP UlRDT0RFCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRyYl9pbyhHRU5ITFBSLCBTSE9SVENPREUpICAg ICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MNF9sb2FkcnViX3VyKEdFTkhMUFIsIFNIT1JU Q09ERSkgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldSQVBfTDRfbG9hZHJiX3VyKEdFTkhMUFIs IFNIT1JUQ09ERSkgICAgICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRydWJfcnIo R0VOSExQUiwgU0hPUlRDT0RFKSAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MNF9sb2Fk cmJfcnIoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldSQVBf TDJfbG9hZHJ1YmdwKEdFTkhMUFIsIFNIT1JUQ09ERSkgICAgICAgZldSQVBfdG1wKFNIT1JUQ09E RSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJiZ3AoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICAg ZldSQVBfdG1wKFNIT1JUQ09ERSkKKyNkZWZpbmUgZldSQVBfU0wxX2xvYWRydWJfaW8oR0VOSExQ UiwgU0hPUlRDT0RFKSAgICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX1NMMl9sb2FkcmJfaW8o R0VOSExQUiwgU0hPUlRDT0RFKSAgICAgIFNIT1JUQ09ERQorCisvKiBIYWxmIHdvcmQgbG9hZCBp bnN0cnVjdGlvbiAqLworI2RlZmluZSBmV1JBUF9MMl9sb2FkcnVoX2lvKEdFTkhMUFIsIFNIT1JU Q09ERSkgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJoX2lvKEdFTkhMUFIs IFNIT1JUQ09ERSkgICAgICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRydWhfdXIo R0VOSExQUiwgU0hPUlRDT0RFKSAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MNF9sb2Fk cmhfdXIoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldSQVBf TDRfbG9hZHJ1aF9ycihHRU5ITFBSLCBTSE9SVENPREUpICAgICAgU0hPUlRDT0RFCisjZGVmaW5l IGZXUkFQX0w0X2xvYWRyaF9ycihHRU5ITFBSLCBTSE9SVENPREUpICAgICAgIFNIT1JUQ09ERQor I2RlZmluZSBmV1JBUF9MMl9sb2FkcnVoZ3AoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICBmV1JB UF90bXAoU0hPUlRDT0RFKQorI2RlZmluZSBmV1JBUF9MMl9sb2FkcmhncChHRU5ITFBSLCBTSE9S VENPREUpICAgICAgICBmV1JBUF90bXAoU0hPUlRDT0RFKQorI2RlZmluZSBmV1JBUF9TTDJfbG9h ZHJ1aF9pbyhHRU5ITFBSLCBTSE9SVENPREUpICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldSQVBf U0wyX2xvYWRyaF9pbyhHRU5ITFBSLCBTSE9SVENPREUpICAgICAgU0hPUlRDT0RFCisKKy8qIFdv cmQgbG9hZCBpbnN0cnVjdGlvbnMgKi8KKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJpX2lvKEdFTkhM UFIsIFNIT1JUQ09ERSkgICAgICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRyaV91 cihHRU5ITFBSLCBTSE9SVENPREUpICAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MNF9s b2FkcmlfcnIoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldS QVBfTDJfbG9hZHJpZ3AoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICAgZldSQVBfdG1wKFNIT1JU Q09ERSkKKyNkZWZpbmUgZldSQVBfU0wxX2xvYWRyaV9pbyhHRU5ITFBSLCBTSE9SVENPREUpICAg ICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX1NMMl9sb2Fkcmlfc3AoR0VOSExQUiwgU0hPUlRD T0RFKSAgICAgIGZXUkFQX3RtcChTSE9SVENPREUpCisKKy8qIERvdWJsZSB3b3JkIGxvYWQgaW5z dHJ1Y3Rpb25zICovCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRyZF9pbyhHRU5ITFBSLCBTSE9SVENP REUpICAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MNF9sb2FkcmRfdXIoR0VOSExQUiwg U0hPUlRDT0RFKSAgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldSQVBfTDRfbG9hZHJkX3JyKEdF TkhMUFIsIFNIT1JUQ09ERSkgICAgICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRy ZGdwKEdFTkhMUFIsIFNIT1JUQ09ERSkgICAgICAgIGZXUkFQX3RtcChTSE9SVENPREUpCisjZGVm aW5lIGZXUkFQX1NMMl9sb2FkcmRfc3AoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgIGZXUkFQX3Rt cChTSE9SVENPREUpCisKKy8qIEluc3RydWN0aW9ucyB3aXRoIG11bHRpcGxlIGRlZmluaXRpb25z ICovCisjZGVmaW5lIGZXUkFQX0xPQURfQVAoUkVTLCBTSVpFLCBTSUdOKSBcCisgICAgZG8geyBc CisgICAgICAgIGZNVVNUX0lNTUVYVChVaVYpOyBcCisgICAgICAgIGZFQV9JTU0oVWlWKTsgXAor ICAgICAgICBmTE9BRCgxLCBTSVpFLCBTSUdOLCBFQSwgUkVTKTsgXAorICAgICAgICB0Y2dfZ2Vu X21vdmlfdGwoUmVWLCBVaVYpOyBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBmV1JBUF9M NF9sb2FkcnViX2FwKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX0xPQURfQVAoUmRW LCAxLCB1KQorI2RlZmluZSBmV1JBUF9MNF9sb2FkcmJfYXAoR0VOSExQUiwgU0hPUlRDT0RFKSBc CisgICAgZldSQVBfTE9BRF9BUChSZFYsIDEsIHMpCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRydWhf YXAoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfTE9BRF9BUChSZFYsIDIsIHUpCisj ZGVmaW5lIGZXUkFQX0w0X2xvYWRyaF9hcChHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBmV1JB UF9MT0FEX0FQKFJkViwgMiwgcykKKyNkZWZpbmUgZldSQVBfTDRfbG9hZHJpX2FwKEdFTkhMUFIs IFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX0xPQURfQVAoUmRWLCA0LCB1KQorI2RlZmluZSBmV1JB UF9MNF9sb2FkcmRfYXAoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfTE9BRF9BUChS ZGRWLCA4LCB1KQorCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRydWJfcGNpKEdFTkhMUFIsIFNIT1JU Q09ERSkgXAorICAgICAgZldSQVBfdG1wKFNIT1JUQ09ERSkKKyNkZWZpbmUgZldSQVBfTDJfbG9h ZHJiX3BjaShHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICAgIGZXUkFQX3RtcChTSE9SVENPREUp CisjZGVmaW5lIGZXUkFQX0wyX2xvYWRydWhfcGNpKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAg ICAgZldSQVBfdG1wKFNIT1JUQ09ERSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJoX3BjaShHRU5I TFBSLCBTSE9SVENPREUpIFwKKyAgICAgIGZXUkFQX3RtcChTSE9SVENPREUpCisjZGVmaW5lIGZX UkFQX0wyX2xvYWRyaV9wY2koR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgICBmV1JBUF90bXAo U0hPUlRDT0RFKQorI2RlZmluZSBmV1JBUF9MMl9sb2FkcmRfcGNpKEdFTkhMUFIsIFNIT1JUQ09E RSkgXAorICAgICAgZldSQVBfdG1wKFNIT1JUQ09ERSkKKworI2RlZmluZSBmV1JBUF9QQ1IoU0hJ RlQsIExPQUQpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgVENHdiBpcmVnID0gdGNnX3RlbXBfbmV3 KCk7IFwKKyAgICAgICAgVENHdiB0bXAgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBmRUFf UkVHKFJ4Vik7IFwKKyAgICAgICAgZlJFQURfSVJFRyhNdVYsIFNISUZUKTsgXAorICAgICAgICBn ZW5fZmNpcmNhZGQoUnhWLCBpcmVnLCBNdVYsIGZSRUFEX0NTUkVHKE11TikpOyBcCisgICAgICAg IExPQUQ7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZSh0bXApOyBcCisgICAgICAgIHRjZ190ZW1w X2ZyZWUoaXJlZyk7IFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRy dWJfcGNyKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgICAgZldSQVBfUENSKDAsIGZMT0FEKDEs IDEsIHUsIEVBLCBSZFYpKQorI2RlZmluZSBmV1JBUF9MMl9sb2FkcmJfcGNyKEdFTkhMUFIsIFNI T1JUQ09ERSkgXAorICAgICAgZldSQVBfUENSKDAsIGZMT0FEKDEsIDEsIHMsIEVBLCBSZFYpKQor I2RlZmluZSBmV1JBUF9MMl9sb2FkcnVoX3BjcihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICAg IGZXUkFQX1BDUigxLCBmTE9BRCgxLCAyLCB1LCBFQSwgUmRWKSkKKyNkZWZpbmUgZldSQVBfTDJf bG9hZHJoX3BjcihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICAgIGZXUkFQX1BDUigxLCBmTE9B RCgxLCAyLCBzLCBFQSwgUmRWKSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJpX3BjcihHRU5ITFBS LCBTSE9SVENPREUpIFwKKyAgICAgIGZXUkFQX1BDUigyLCBmTE9BRCgxLCA0LCB1LCBFQSwgUmRW KSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJkX3BjcihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAg ICAgIGZXUkFQX1BDUigzLCBmTE9BRCgxLCA4LCB1LCBFQSwgUmRkVikpCisKKyNkZWZpbmUgZldS QVBfTDJfbG9hZHJ1Yl9wcihHRU5ITFBSLCBTSE9SVENPREUpICAgICAgU0hPUlRDT0RFCisjZGVm aW5lIGZXUkFQX0wyX2xvYWRydWJfcGJyKEdFTkhMUFIsIFNIT1JUQ09ERSkgICAgIFNIT1JUQ09E RQorI2RlZmluZSBmV1JBUF9MMl9sb2FkcnViX3BpKEdFTkhMUFIsIFNIT1JUQ09ERSkgICAgICBT SE9SVENPREUKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJiX3ByKEdFTkhMUFIsIFNIT1JUQ09ERSkg ICAgICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRyYl9wYnIoR0VOSExQUiwgU0hP UlRDT0RFKSAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MMl9sb2FkcmJfcGkoR0VOSExQ UiwgU0hPUlRDT0RFKSAgICAgICBTSE9SVENPREU7CisjZGVmaW5lIGZXUkFQX0wyX2xvYWRydWhf cHIoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MMl9s b2FkcnVoX3BicihHRU5ITFBSLCBTSE9SVENPREUpICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldS QVBfTDJfbG9hZHJ1aF9waShHRU5ITFBSLCBTSE9SVENPREUpICAgICAgU0hPUlRDT0RFOworI2Rl ZmluZSBmV1JBUF9MMl9sb2FkcmhfcHIoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICBTSE9SVENP REUKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJoX3BicihHRU5ITFBSLCBTSE9SVENPREUpICAgICAg U0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRyaF9waShHRU5ITFBSLCBTSE9SVENPREUp ICAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MMl9sb2FkcmlfcHIoR0VOSExQUiwgU0hP UlRDT0RFKSAgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldSQVBfTDJfbG9hZHJpX3BicihHRU5I TFBSLCBTSE9SVENPREUpICAgICAgU0hPUlRDT0RFCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRyaV9w aShHRU5ITFBSLCBTSE9SVENPREUpICAgICAgIFNIT1JUQ09ERQorI2RlZmluZSBmV1JBUF9MMl9s b2FkcmRfcHIoR0VOSExQUiwgU0hPUlRDT0RFKSAgICAgICBTSE9SVENPREUKKyNkZWZpbmUgZldS QVBfTDJfbG9hZHJkX3BicihHRU5ITFBSLCBTSE9SVENPREUpICAgICAgU0hPUlRDT0RFCisjZGVm aW5lIGZXUkFQX0wyX2xvYWRyZF9waShHRU5ITFBSLCBTSE9SVENPREUpICAgICAgIFNIT1JUQ09E RQorCisvKgorICogVGhlc2UgaW5zdHJ1Y3Rpb25zIGxvYWQgMiBieXRlcyBhbmQgcGxhY2VzIHRo ZW0gaW4KKyAqIHR3byBoYWx2ZXMgb2YgdGhlIGRlc3RpbmF0aW9uIHJlZ2lzdGVyLgorICogVGhl IEdFVF9FQSBtYWNybyBkZXRlcm1pbmVzIHRoZSBhZGRyZXNzaW5nIG1vZGUuCisgKiBUaGUgZkdC IG1hY3JvIGRldGVybWluZXMgd2hldGhlciB0byB6ZXJvLWV4dGVuZCBvcgorICogc2lnbi1leHRl bmQuCisgKi8KKyNkZWZpbmUgZldSQVBfbG9hZGJYdzIoR0VUX0VBLCBmR0IpIFwKKyAgICBkbyB7 IFwKKyAgICAgICAgVENHdiBpcmVnID0gdGNnX3RlbXBfbmV3KCk7IFwKKyAgICAgICAgVENHdiB0 bXAgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBUQ0d2IHRtcFYgPSB0Y2dfdGVtcF9uZXco KTsgXAorICAgICAgICBUQ0d2IEJZVEUgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBpbnQg aTsgXAorICAgICAgICBHRVRfRUE7IFwKKyAgICAgICAgZkxPQUQoMSwgMiwgdSwgRUEsIHRtcFYp OyBcCisgICAgICAgIHRjZ19nZW5fbW92aV90bChSZFYsIDApOyBcCisgICAgICAgIGZvciAoaSA9 IDA7IGkgPCAyOyBpKyspIHsgXAorICAgICAgICAgICAgZlNFVEhBTEYoaSwgUmRWLCBmR0IoaSwg dG1wVikpOyBcCisgICAgICAgIH0gXAorICAgICAgICB0Y2dfdGVtcF9mcmVlKGlyZWcpOyBcCisg ICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAgICAgICB0Y2dfdGVtcF9mcmVlKHRtcFYp OyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUoQllURSk7IFwKKyAgICB9IHdoaWxlICgwKQorCisj ZGVmaW5lIGZXUkFQX0wyX2xvYWRiencyX2lvKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZX UkFQX2xvYWRiWHcyKGZFQV9SSShSc1YsIHNpViksIGZHRVRVQllURSkKKyNkZWZpbmUgZldSQVBf TDRfbG9hZGJ6dzJfdXIoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJYdzIo ZkVBX0lScyhVaVYsIFJ0ViwgdWlWKSwgZkdFVFVCWVRFKQorI2RlZmluZSBmV1JBUF9MMl9sb2Fk YnN3Ml9pbyhHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBmV1JBUF9sb2FkYlh3MihmRUFfUkko UnNWLCBzaVYpLCBmR0VUQllURSkKKyNkZWZpbmUgZldSQVBfTDRfbG9hZGJzdzJfdXIoR0VOSExQ UiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJYdzIoZkVBX0lScyhVaVYsIFJ0ViwgdWlW KSwgZkdFVEJZVEUpCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRiencyX2FwKEdFTkhMUFIsIFNIT1JU Q09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHcyKEdFVF9FQV9hcCwgZkdFVFVCWVRFKQorI2RlZmlu ZSBmV1JBUF9MMl9sb2FkYnp3Ml9wcihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBmV1JBUF9s b2FkYlh3MihHRVRfRUFfcHIsIGZHRVRVQllURSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGJ6dzJf cGJyKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHcyKEdFVF9FQV9wYnIs IGZHRVRVQllURSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGJ6dzJfcGkoR0VOSExQUiwgU0hPUlRD T0RFKSBcCisgICAgZldSQVBfbG9hZGJYdzIoR0VUX0VBX3BpLCBmR0VUVUJZVEUpCisjZGVmaW5l IGZXUkFQX0w0X2xvYWRic3cyX2FwKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xv YWRiWHcyKEdFVF9FQV9hcCwgZkdFVEJZVEUpCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRic3cyX3By KEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHcyKEdFVF9FQV9wciwgZkdF VEJZVEUpCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRic3cyX3BicihHRU5ITFBSLCBTSE9SVENPREUp IFwKKyAgICBmV1JBUF9sb2FkYlh3MihHRVRfRUFfcGJyLCBmR0VUQllURSkKKyNkZWZpbmUgZldS QVBfTDJfbG9hZGJzdzJfcGkoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJY dzIoR0VUX0VBX3BpLCBmR0VUQllURSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGJ6dzJfcGNpKEdF TkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHcyKEdFVF9FQV9wY2ksIGZHRVRV QllURSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGJzdzJfcGNpKEdFTkhMUFIsIFNIT1JUQ09ERSkg XAorICAgIGZXUkFQX2xvYWRiWHcyKEdFVF9FQV9wY2ksIGZHRVRCWVRFKQorI2RlZmluZSBmV1JB UF9MMl9sb2FkYnp3Ml9wY3IoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJY dzIoR0VUX0VBX3BjcigxKSwgZkdFVFVCWVRFKQorI2RlZmluZSBmV1JBUF9MMl9sb2FkYnN3Ml9w Y3IoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJYdzIoR0VUX0VBX3Bjcigx KSwgZkdFVEJZVEUpCisKKy8qCisgKiBUaGVzZSBpbnN0cnVjdGlvbnMgbG9hZCA0IGJ5dGVzIGFu ZCBwbGFjZXMgdGhlbSBpbgorICogZm91ciBoYWx2ZXMgb2YgdGhlIGRlc3RpbmF0aW9uIHJlZ2lz dGVyIHBhaXIuCisgKiBUaGUgR0VUX0VBIG1hY3JvIGRldGVybWluZXMgdGhlIGFkZHJlc3Npbmcg bW9kZS4KKyAqIFRoZSBmR0IgbWFjcm8gZGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHplcm8tZXh0ZW5k IG9yCisgKiBzaWduLWV4dGVuZC4KKyAqLworI2RlZmluZSBmV1JBUF9sb2FkYlh3NChHRVRfRUEs IGZHQikgXAorICAgIGRvIHsgXAorICAgICAgICBUQ0d2IGlyZWcgPSB0Y2dfdGVtcF9uZXcoKTsg XAorICAgICAgICBUQ0d2IHRtcCA9IHRjZ190ZW1wX25ldygpOyBcCisgICAgICAgIFRDR3YgdG1w ViA9IHRjZ190ZW1wX25ldygpOyBcCisgICAgICAgIFRDR3YgQllURSA9IHRjZ190ZW1wX25ldygp OyBcCisgICAgICAgIGludCBpOyBcCisgICAgICAgIEdFVF9FQTsgXAorICAgICAgICBmTE9BRCgx LCA0LCB1LCBFQSwgdG1wVik7ICBcCisgICAgICAgIHRjZ19nZW5fbW92aV9pNjQoUmRkViwgMCk7 IFwKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeyBcCisgICAgICAgICAgICBmU0VU SEFMRihpLCBSZGRWLCBmR0IoaSwgdG1wVikpOyAgXAorICAgICAgICB9ICBcCisgICAgICAgIHRj Z190ZW1wX2ZyZWUoaXJlZyk7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZSh0bXApOyBcCisgICAg ICAgIHRjZ190ZW1wX2ZyZWUodG1wVik7IFwKKyAgICAgICAgdGNnX3RlbXBfZnJlZShCWVRFKTsg XAorICAgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGJ6dzRfaW8oR0VOSExQ UiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJYdzQoZkVBX1JJKFJzViwgc2lWKSwgZkdF VFVCWVRFKQorI2RlZmluZSBmV1JBUF9MNF9sb2FkYnp3NF91cihHRU5ITFBSLCBTSE9SVENPREUp IFwKKyAgICBmV1JBUF9sb2FkYlh3NChmRUFfSVJzKFVpViwgUnRWLCB1aVYpLCBmR0VUVUJZVEUp CisjZGVmaW5lIGZXUkFQX0wyX2xvYWRic3c0X2lvKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAg IGZXUkFQX2xvYWRiWHc0KGZFQV9SSShSc1YsIHNpViksIGZHRVRCWVRFKQorI2RlZmluZSBmV1JB UF9MNF9sb2FkYnN3NF91cihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBmV1JBUF9sb2FkYlh3 NChmRUFfSVJzKFVpViwgUnRWLCB1aVYpLCBmR0VUQllURSkKKyNkZWZpbmUgZldSQVBfTDJfbG9h ZGJ6dzRfcGNpKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHc0KEdFVF9F QV9wY2ksIGZHRVRVQllURSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGJzdzRfcGNpKEdFTkhMUFIs IFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHc0KEdFVF9FQV9wY2ksIGZHRVRCWVRFKQor I2RlZmluZSBmV1JBUF9MMl9sb2FkYnp3NF9wY3IoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAg ZldSQVBfbG9hZGJYdzQoR0VUX0VBX3BjcigyKSwgZkdFVFVCWVRFKQorI2RlZmluZSBmV1JBUF9M Ml9sb2FkYnN3NF9wY3IoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJYdzQo R0VUX0VBX3BjcigyKSwgZkdFVEJZVEUpCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRienc0X2FwKEdF TkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHc0KEdFVF9FQV9hcCwgZkdFVFVC WVRFKQorI2RlZmluZSBmV1JBUF9MMl9sb2FkYnp3NF9wcihHRU5ITFBSLCBTSE9SVENPREUpIFwK KyAgICBmV1JBUF9sb2FkYlh3NChHRVRfRUFfcHIsIGZHRVRVQllURSkKKyNkZWZpbmUgZldSQVBf TDJfbG9hZGJ6dzRfcGJyKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHc0 KEdFVF9FQV9wYnIsIGZHRVRVQllURSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGJ6dzRfcGkoR0VO SExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGJYdzQoR0VUX0VBX3BpLCBmR0VUVUJZ VEUpCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRic3c0X2FwKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAor ICAgIGZXUkFQX2xvYWRiWHc0KEdFVF9FQV9hcCwgZkdFVEJZVEUpCisjZGVmaW5lIGZXUkFQX0wy X2xvYWRic3c0X3ByKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRiWHc0KEdF VF9FQV9wciwgZkdFVEJZVEUpCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRic3c0X3BicihHRU5ITFBS LCBTSE9SVENPREUpIFwKKyAgICBmV1JBUF9sb2FkYlh3NChHRVRfRUFfcGJyLCBmR0VUQllURSkK KyNkZWZpbmUgZldSQVBfTDJfbG9hZGJzdzRfcGkoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAg ZldSQVBfbG9hZGJYdzQoR0VUX0VBX3BpLCBmR0VUQllURSkKKworLyoKKyAqIFRoZXNlIGluc3Ry dWN0aW9ucyBsb2FkIGEgaGFsZiB3b3JkLCBzaGlmdCB0aGUgZGVzdGluYXRpb24gcmlnaHQgYnkg MTYgYml0cworICogYW5kIHBsYWNlIHRoZSBsb2FkZWQgdmFsdWUgaW4gdGhlIGhpZ2ggaGFsZiB3 b3JkIG9mIHRoZSBkZXN0aW5hdGlvbiBwYWlyLgorICogVGhlIEdFVF9FQSBtYWNybyBkZXRlcm1p bmVzIHRoZSBhZGRyZXNzaW5nIG1vZGUuCisgKi8KKyNkZWZpbmUgZldSQVBfbG9hZGFsaWduaChH RVRfRUEpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgVENHdiBpcmVnID0gdGNnX3RlbXBfbmV3KCk7 IFwKKyAgICAgICAgVENHdiB0bXAgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBUQ0d2IHRt cFYgPSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBUQ0d2X2k2NCB0bXBfaTY0ID0gdGNnX3Rl bXBfbmV3X2k2NCgpOyBcCisgICAgICAgIFJFQURfUkVHX1BBSVIoUnl5ViwgUnl5Tik7IFwKKyAg ICAgICAgR0VUX0VBOyAgXAorICAgICAgICBmTE9BRCgxLCAyLCB1LCBFQSwgdG1wVik7ICBcCisg ICAgICAgIHRjZ19nZW5fZXh0dV9pMzJfaTY0KHRtcF9pNjQsIHRtcFYpOyBcCisgICAgICAgIHRj Z19nZW5fc2hsaV9pNjQodG1wX2k2NCwgdG1wX2k2NCwgNDgpOyBcCisgICAgICAgIHRjZ19nZW5f c2hyaV9pNjQoUnl5ViwgUnl5ViwgMTYpOyBcCisgICAgICAgIHRjZ19nZW5fb3JfaTY0KFJ5eVYs IFJ5eVYsIHRtcF9pNjQpOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUoaXJlZyk7IFwKKyAgICAg ICAgdGNnX3RlbXBfZnJlZSh0bXApOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wVik7IFwK KyAgICAgICAgdGNnX3RlbXBfZnJlZV9pNjQodG1wX2k2NCk7IFwKKyAgICB9IHdoaWxlICgwKQor CisjZGVmaW5lIGZXUkFQX0w0X2xvYWRhbGlnbmhfdXIoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisg ICAgZldSQVBfbG9hZGFsaWduaChmRUFfSVJzKFVpViwgUnRWLCB1aVYpKQorI2RlZmluZSBmV1JB UF9MMl9sb2FkYWxpZ25oX2lvKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRh bGlnbmgoZkVBX1JJKFJzViwgc2lWKSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGFsaWduaF9wY2ko R0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGFsaWduaChHRVRfRUFfcGNpKQor I2RlZmluZSBmV1JBUF9MMl9sb2FkYWxpZ25oX3BjcihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAg ICBmV1JBUF9sb2FkYWxpZ25oKEdFVF9FQV9wY3IoMSkpCisjZGVmaW5lIGZXUkFQX0w0X2xvYWRh bGlnbmhfYXAoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGFsaWduaChHRVRf RUFfYXApCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRhbGlnbmhfcHIoR0VOSExQUiwgU0hPUlRDT0RF KSBcCisgICAgZldSQVBfbG9hZGFsaWduaChHRVRfRUFfcHIpCisjZGVmaW5lIGZXUkFQX0wyX2xv YWRhbGlnbmhfcGJyKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRhbGlnbmgo R0VUX0VBX3BicikKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGFsaWduaF9waShHRU5ITFBSLCBTSE9S VENPREUpIFwKKyAgICBmV1JBUF9sb2FkYWxpZ25oKEdFVF9FQV9waSkKKworLyogU2FtZSBhcyBh Ym92ZSwgYnV0IGxvYWRzIGEgYnl0ZSBpbnN0ZWFkIG9mIGhhbGYgd29yZCAqLworI2RlZmluZSBm V1JBUF9sb2FkYWxpZ25iKEdFVF9FQSkgXAorICAgIGRvIHsgXAorICAgICAgICBUQ0d2IGlyZWcg PSB0Y2dfdGVtcF9uZXcoKTsgXAorICAgICAgICBUQ0d2IHRtcCA9IHRjZ190ZW1wX25ldygpOyBc CisgICAgICAgIFRDR3YgdG1wViA9IHRjZ190ZW1wX25ldygpOyBcCisgICAgICAgIFRDR3ZfaTY0 IHRtcF9pNjQgPSB0Y2dfdGVtcF9uZXdfaTY0KCk7IFwKKyAgICAgICAgUkVBRF9SRUdfUEFJUihS eXlWLCBSeXlOKTsgXAorICAgICAgICBHRVRfRUE7ICBcCisgICAgICAgIGZMT0FEKDEsIDEsIHUs IEVBLCB0bXBWKTsgIFwKKyAgICAgICAgdGNnX2dlbl9leHR1X2kzMl9pNjQodG1wX2k2NCwgdG1w Vik7IFwKKyAgICAgICAgdGNnX2dlbl9zaGxpX2k2NCh0bXBfaTY0LCB0bXBfaTY0LCA1Nik7IFwK KyAgICAgICAgdGNnX2dlbl9zaHJpX2k2NChSeXlWLCBSeXlWLCA4KTsgXAorICAgICAgICB0Y2df Z2VuX29yX2k2NChSeXlWLCBSeXlWLCB0bXBfaTY0KTsgXAorICAgICAgICB0Y2dfdGVtcF9mcmVl KGlyZWcpOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWUodG1wKTsgXAorICAgICAgICB0Y2dfdGVt cF9mcmVlKHRtcFYpOyBcCisgICAgICAgIHRjZ190ZW1wX2ZyZWVfaTY0KHRtcF9pNjQpOyBcCisg ICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBmV1JBUF9MMl9sb2FkYWxpZ25iX2lvKEdFTkhMUFIs IFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRhbGlnbmIoZkVBX1JJKFJzViwgc2lWKSkKKyNk ZWZpbmUgZldSQVBfTDRfbG9hZGFsaWduYl91cihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBm V1JBUF9sb2FkYWxpZ25iKGZFQV9JUnMoVWlWLCBSdFYsIHVpVikpCisjZGVmaW5lIGZXUkFQX0wy X2xvYWRhbGlnbmJfcGNpKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRhbGln bmIoR0VUX0VBX3BjaSkKKyNkZWZpbmUgZldSQVBfTDJfbG9hZGFsaWduYl9wY3IoR0VOSExQUiwg U0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGFsaWduYihHRVRfRUFfcGNyKDApKQorI2RlZmlu ZSBmV1JBUF9MNF9sb2FkYWxpZ25iX2FwKEdFTkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQ X2xvYWRhbGlnbmIoR0VUX0VBX2FwKQorI2RlZmluZSBmV1JBUF9MMl9sb2FkYWxpZ25iX3ByKEdF TkhMUFIsIFNIT1JUQ09ERSkgXAorICAgIGZXUkFQX2xvYWRhbGlnbmIoR0VUX0VBX3ByKQorI2Rl ZmluZSBmV1JBUF9MMl9sb2FkYWxpZ25iX3BicihHRU5ITFBSLCBTSE9SVENPREUpIFwKKyAgICBm V1JBUF9sb2FkYWxpZ25iKEdFVF9FQV9wYnIpCisjZGVmaW5lIGZXUkFQX0wyX2xvYWRhbGlnbmJf cGkoR0VOSExQUiwgU0hPUlRDT0RFKSBcCisgICAgZldSQVBfbG9hZGFsaWduYihHRVRfRUFfcGkp CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vZ2VucHRyLmMgYi90YXJnZXQv aGV4YWdvbi9nZW5wdHIuYwppbmRleCA1YTYwMmJkLi42YjljYzBkIDEwMDY0NAotLS0gYS90YXJn ZXQvaGV4YWdvbi9nZW5wdHIuYworKysgYi90YXJnZXQvaGV4YWdvbi9nZW5wdHIuYwpAQCAtMjYs NiArMjYsNyBAQAogI2luY2x1ZGUgInRyYW5zbGF0ZS5oIgogI2luY2x1ZGUgIm1hY3Jvcy5oIgog I2luY2x1ZGUgImdlbnB0cl9oZWxwZXJzLmgiCisjaW5jbHVkZSAiaGVscGVyX292ZXJyaWRlcy5o IgogCiAjaW5jbHVkZSAicWVtdV93cmFwX2dlbmVyYXRlZC5oIgogCi0tIAoyLjcuNAoK