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 Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3AFD3C43602 for ; Mon, 29 Jun 2026 13:16:03 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weBnh-0004ec-9t; Mon, 29 Jun 2026 09:13:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weBnf-0004dN-0T for qemu-devel@nongnu.org; Mon, 29 Jun 2026 09:13:23 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weBnc-0003CR-8v for qemu-devel@nongnu.org; Mon, 29 Jun 2026 09:13:22 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65TATE8G2647844 for ; Mon, 29 Jun 2026 13:13:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hhoakWVabZ7IJR8eGDuXPSShTsj/f5bhJiXKe7ZTYNg=; b=B63NAvPStorH1v1e UAdF/dYkUykgwSdOYmI0pzLKH77W70I1lV9zfudLtcnyQR28XxwP477dR0Uy30pF c+yoQ6TVjYldxoO4RkjIngffscoEUsXZqkIui5Ba/xk+YVdhiQjATt9D0r5s6xZ9 kivOcLpJa+Uwp0NMwDlAIdQ4Y8mZg2MEr+VYbi4l+6M4LDQuC+9isnzeZfLt3sQC EChS+qSmF3zPt4wPqnNbceWdqWdM8HeuBxXP1efCQCiBP2yG7ktnXtq+wCMmfo3t w/dVceQzy3XUqUh0NM97IWce+wlRmmON3/5Ofp7W6j9c4zH0De/6QTa6dstpjCD9 Y/C2jw== Received: from mail-dl1-f71.google.com (mail-dl1-f71.google.com [74.125.82.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3kyjhe4f-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 13:13:09 +0000 (GMT) Received: by mail-dl1-f71.google.com with SMTP id a92af1059eb24-139b70ca7e5so6898180c88.1 for ; Mon, 29 Jun 2026 06:13:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782738788; x=1783343588; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hhoakWVabZ7IJR8eGDuXPSShTsj/f5bhJiXKe7ZTYNg=; b=YPupvBrql8CKEsuN6oSExYQtAaKaK5PowjWDehNhy+3OPptcwkcNcyPxNdBcu80TR5 TBH+rswUigZQ9R8qbeheFM/8lxBKcbySuxY7kjYyFzGo8D+4U0x+3GstBHEETiPvFQbH iBeFuibaxoOwKc+JFV4EBJdhIWulBku+iiKYMx3cVlqCBekqHspo5Z4IqfnCCG8PQZUo Q7ZrBBi/alVxYeyVITSxole30ERFt+OxhRfIi2b42t+0BOHFnAC9knw7XNarK4elGGFy EhCiIzUB3auMUETjKuc7z5gjkeKU4QXGRdaL4BCnXkObu4+EKS8wAkHhB9CZ5Kqiwhpl 76gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782738788; x=1783343588; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hhoakWVabZ7IJR8eGDuXPSShTsj/f5bhJiXKe7ZTYNg=; b=TeeMiAn6uaJDXtktHaG/QNsbglGCxgbIeo4+Y+OjoLvnvX9zVV1U4cvg9kjSQDnL30 FYhTrC0RX+/94TvHbWnUh1itdPE+/bGXGPt2ib/437aTl0S75cO52nbcL1Z8qo9nv19A 2P8iq1RL4cg0LXfb9okcHnK6l94ps0LyNzK/hD9EP8FKDoIcaWSg4gEEKuGiX08FRzoh iZ/jiizfnV/zk9LL076IyLTAo7PfPF6UXQv2DnFp7mEY55sxgjMgo3dxQ81qiyEYlc8U EKvXQghBhVDxg0bPJnh6T8B80cPVpLM0dMKdXhsHQJf4AGo3Q7Ow5OpLfOlhPdiij3ab SrwQ== X-Gm-Message-State: AOJu0YxoJDATGrwh5VjISu+2rgb9LNtchr3oX3o6F5iUaMx8XB45ETRJ O9rZxdCdxQZWmItfZW5pi78mQvmBW7z3VsBDSgh+hR+JmA8k0C8Xx9qmhquz9ughEKv1Ut06kAs GmfJRu+eZb+RKINrfla+gjkaWhkuo7iN+rVetresATebLAfCmZ3JK4DwpNN2I/1MAmg== X-Gm-Gg: AfdE7clYBehhCvfP1089ilKXiOKGGGxlx0sRKv3BBjJ7xKp8qQ1IPht5PeKj4j1rua7 fMtVnlEae34mDLh+LnJsVR5CKXIbp+QjfaMrFEq51OUovNdp8aMTmDKXc4y+KeISWRr0Sj8rdFY wHDoLhSEz7q+rzugUAP/jiBadKnyDs6tp/DP/j8ks3PU4GBVD+eEmmUFaDKnUyn9slia20GzV+w x6xEur87tNkXqHk/S2OihZWcMoJ2n1Z6cC3vbpkGfgRE87gJ3DCFgFYftGjXTu3upQOO6zSbONx Ea+uaoQMt87dZoGJiIFNkfXZ3Sp0hxzjNNXPGZOhStELpx8axI3D/ciNHQvgl9B1WyUehGKdNJz tEBdf3HNpIdjEM79/7RY1i+nB0N7oaoocxcXiDswSwaXOmTudXI7BvNdrS+Y= X-Received: by 2002:a05:7022:ef08:b0:139:ed5c:768f with SMTP id a92af1059eb24-139ed5c887dmr6640666c88.40.1782738788026; Mon, 29 Jun 2026 06:13:08 -0700 (PDT) X-Received: by 2002:a05:7022:ef08:b0:139:ed5c:768f with SMTP id a92af1059eb24-139ed5c887dmr6640654c88.40.1782738787351; Mon, 29 Jun 2026 06:13:07 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-139e78317f3sm28459106c88.9.2026.06.29.06.13.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 06:13:06 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, stefanha@redhat.com, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, Brian Cain , Pierrick Bouvier Subject: [PULL v5 18/77] target/hexagon: Add imported macro, attr defs for sysemu Date: Mon, 29 Jun 2026 06:11:33 -0700 Message-Id: <20260629131232.2487780-19-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260629131232.2487780-1-brian.cain@oss.qualcomm.com> References: <20260629131232.2487780-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Proofpoint-GUID: 7epwg1DUC1Elqp9_os1HPWbgiPRPUQMr X-Proofpoint-ORIG-GUID: 7epwg1DUC1Elqp9_os1HPWbgiPRPUQMr X-Authority-Analysis: v=2.4 cv=Ftk1OWrq c=1 sm=1 tr=0 ts=6a426f65 cx=c_pps a=JYo30EpNSr/tUYqK9jHPoA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=9WelToRRDTwRCstGtewA:9 a=QEXdDO2ut3YA:10 a=Fk4IpSoW4aLDllm1B1p-:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDEwOSBTYWx0ZWRfXyoNLRIkeDt1W L+tVlWfeAt7v5bPQR1HHtt6OXJJkRCkR1cjDGnPoFlBmz3GLLgs6fPHrl8Y79PbL4CQwag65n/5 bqb8ve+ECbOWJXFtvYNj+iZv3D8ABp8= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDEwOSBTYWx0ZWRfX1rLMfcPK08AZ jTjJEkhKG3LtdK1Cv3el5IlcUt0NuQkukXna09fOe4nWbo1shvL2WrsZOv6c9fbZ6SiEHqdFMuT TdJXw7c5XzFccvDacbiRspn/oK9vhf1v+h9riIsuyy9kASdnqnvAs/V508cRREDsMgie8wUGD1E kee3BFD8rq5tq5szlf/fvZ/WsabAyhxhpyKXTI6uVsaejcGiIbo2mzbMrtxYdoOdSP+YTioRe0Z D+C6HgLH2x3kMkqhyxlUTno/s61cOlADKrD/JBQciUTJPyXPQdQuPpFZavb+4eoVnBD99dxaRYx nRY8I+xf4D9Xf1WKjdQUI90NjU6kJCGqa1oucHdf6795qMOs+HoVmWormoGTuJFWBoD/0WgKBLS WUAfMXDtjk/fWOrJWnFV+8D+y4g8TY5oyaO7X/nI/H9f4Xl2bI5oEmPpxyj020nViJY1qHCATIT B3En3Vtk6bf4tRU8ETg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 phishscore=0 priorityscore=1501 malwarescore=0 spamscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290109 Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UPPERCASE_50_75=0.008 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org RnJvbTogQnJpYW4gQ2FpbiA8YmNhaW5AcXVpY2luYy5jb20+CgpSZXZpZXdlZC1ieTogUGllcnJp Y2sgQm91dmllciA8cGllcnJpY2suYm91dmllckBvc3MucXVhbGNvbW0uY29tPgpTaWduZWQtb2Zm LWJ5OiBCcmlhbiBDYWluIDxicmlhbi5jYWluQG9zcy5xdWFsY29tbS5jb20+Ci0tLQogdGFyZ2V0 L2hleGFnb24vYXR0cmlic19kZWYuaC5pbmMgICB8ICAzNSArKy0KIHRhcmdldC9oZXhhZ29uL2lt cG9ydGVkL21hY3Jvcy5kZWYgfCA0ODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIg ZmlsZXMgY2hhbmdlZCwgNTA0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogbW9kZSBj aGFuZ2UgMTAwNzU1ID0+IDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9tYWNyb3MuZGVm CgpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vYXR0cmlic19kZWYuaC5pbmMgYi90YXJnZXQv aGV4YWdvbi9hdHRyaWJzX2RlZi5oLmluYwppbmRleCA5ZTNhMDVmODgyOC4uNmM1NTA2M2EzMDkg MTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL2F0dHJpYnNfZGVmLmguaW5jCisrKyBiL3Rhcmdl dC9oZXhhZ29uL2F0dHJpYnNfZGVmLmguaW5jCkBAIC01Miw2ICs1Miw5IEBAIERFRl9BVFRSSUIo UkVHV1JTSVpFXzRCLCAiTWVtb3J5IHdpZHRoIGlzIDQgYnl0ZXMiLCAiIiwgIiIpCiBERUZfQVRU UklCKFJFR1dSU0laRV84QiwgIk1lbW9yeSB3aWR0aCBpcyA4IGJ5dGVzIiwgIiIsICIiKQogREVG X0FUVFJJQihNRU1MSUtFLCAiTWVtb3J5LWxpa2UgaW5zdHJ1Y3Rpb24iLCAiIiwgIiIpCiBERUZf QVRUUklCKE1FTUxJS0VfUEFDS0VUX1JVTEVTLCAiZm9sbG93cyBNZW1vcnktbGlrZSBwYWNrZXQg cnVsZXMiLCAiIiwgIiIpCitERUZfQVRUUklCKENBQ0hFT1AsICJDYWNoZSBvcGVyYXRpb24iLCAi IiwgIiIpCitERUZfQVRUUklCKENPUEJZQUREUkVTUywgIkNhY2hlIG9wZXJhdGlvbiBieSBhZGRy ZXNzIiwgIiIsICIiKQorREVGX0FUVFJJQihDT1BCWUlEWCwgIkNhY2hlIG9wZXJhdGlvbiBieSBp bmRleCIsICIiLCAiIikKIERFRl9BVFRSSUIoUkVMRUFTRSwgIlJlbGVhc2VzIGEgbG9jayIsICIi LCAiIikKIERFRl9BVFRSSUIoQUNRVUlSRSwgIkFjcXVpcmVzIGEgbG9jayIsICIiLCAiIikKIApA QCAtMTAxLDcgKzEwNCw5IEBAIERFRl9BVFRSSUIoUk9QU18zLCAiQ29tcG91bmQgaW5zdHJ1Y3Rp b24gd29ydGggMyBSSVNDLW9wcyIsICIiLCAiIikKIAogLyogYWNjZXNzIHRvIGltcGxpY2l0IHJl Z2lzdGVycyAqLwogREVGX0FUVFJJQihJTVBMSUNJVF9XUklURVNfTFIsICJXcml0ZXMgdGhlIGxp bmsgcmVnaXN0ZXIiLCAiIiwgIlVSRUcuTFIiKQorREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19Q QywgIlJlYWRzIHRoZSBwcm9ncmFtIGNvdW50ZXIiLCAiVVJFRy5QQyIsICIiKQogREVGX0FUVFJJ QihJTVBMSUNJVF9XUklURVNfU1AsICJXcml0ZXMgdGhlIHN0YWNrIHBvaW50ZXIiLCAiIiwgIlVS RUcuU1AiKQorREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19TUCwgIlJlYWRzIHRoZSBzdGFjayBw b2ludGVyIiwgIlVSRUcuU1AiLCAiIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX0ZQLCAi V3JpdGVzIHRoZSBmcmFtZSBwb2ludGVyIiwgIiIsICJVUkVHLkZQIikKIERFRl9BVFRSSUIoSU1Q TElDSVRfV1JJVEVTX0xDMCwgIldyaXRlcyBsb29wIGNvdW50IGZvciBsb29wIDAiLCAiIiwgIlVS RUcuTEMwIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX0xDMSwgIldyaXRlcyBsb29wIGNv dW50IGZvciBsb29wIDEiLCAiIiwgIlVSRUcuTEMxIikKQEAgLTExMSwxMyArMTE2LDE5IEBAIERF Rl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1AwLCAiV3JpdGVzIFByZWRpY2F0ZSAwIiwgIiIsICJV UkVHLlAwIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1AxLCAiV3JpdGVzIFByZWRpY2F0 ZSAxIiwgIiIsICJVUkVHLlAxIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1AyLCAiV3Jp dGVzIFByZWRpY2F0ZSAxIiwgIiIsICJVUkVHLlAyIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJ VEVTX1AzLCAiTWF5IHdyaXRlIFByZWRpY2F0ZSAzIiwgIiIsICJVUkVHLlAzIikKLURFRl9BVFRS SUIoSU1QTElDSVRfUkVBRFNfUEMsICJSZWFkcyB0aGUgUEMgcmVnaXN0ZXIiLCAiIiwgIiIpCi1E RUZfQVRUUklCKElNUExJQ0lUX1JFQURTX1AwLCAiUmVhZHMgdGhlIFAwIHJlZ2lzdGVyIiwgIiIs ICIiKQotREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19QMSwgIlJlYWRzIHRoZSBQMSByZWdpc3Rl ciIsICIiLCAiIikKLURFRl9BVFRSSUIoSU1QTElDSVRfUkVBRFNfUDIsICJSZWFkcyB0aGUgUDIg cmVnaXN0ZXIiLCAiIiwgIiIpCi1ERUZfQVRUUklCKElNUExJQ0lUX1JFQURTX1AzLCAiUmVhZHMg dGhlIFAzIHJlZ2lzdGVyIiwgIiIsICIiKQorREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19QMCwg IlJlYWRzIFByZWRpY2F0ZSAwIiwgIlVSRUcuUDAiLCAiIikKK0RFRl9BVFRSSUIoSU1QTElDSVRf UkVBRFNfUDEsICJSZWFkcyBQcmVkaWNhdGUgMSIsICJVUkVHLlAxIiwgIiIpCitERUZfQVRUUklC KElNUExJQ0lUX1JFQURTX1AzLCAiUmVhZHMgUHJlZGljYXRlIDMiLCAiVVJFRy5QMyIsICIiKQog REVGX0FUVFJJQihJTVBMSUNJVF9XUklURVNfVVNSLCAiTWF5IHdyaXRlIFVTUiIsICIiLCAiIikK LURFRl9BVFRSSUIoSU1QTElDSVRfUkVBRFNfU1AsICJSZWFkcyB0aGUgU1AgcmVnaXN0ZXIiLCAi IiwgIiIpCitERUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19DQ1IsICJXcml0ZXMgQ0NSIHJlZ2lz dGVyIiwgIiIsICJVUkVHLkNDUiIpCitERUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19HT1NQLCAi V3JpdGVzIEdPU1AgcmVnaXN0ZXIiLCAiIiwgIlVSRUcuR09TUCIpCitERUZfQVRUUklCKElNUExJ Q0lUX1dSSVRFU19TU1IsICJXcml0ZXMgU1NSIHJlZ2lzdGVyIiwgIiIsICJVUkVHLlNTUiIpCitE RUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19TR1AwLCAiV3JpdGVzIFNHUDAgcmVnaXN0ZXIiLCAi IiwgIlVSRUcuU0dQMCIpCitERUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19TR1AxLCAiV3JpdGVz IFNHUDEgcmVnaXN0ZXIiLCAiIiwgIlVSRUcuU0dQMSIpCitERUZfQVRUUklCKElNUExJQ0lUX1dS SVRFU19JTUFTS19BTllUSFJFQUQsCisgICAgIldyaXRlcyBJTUFTSyBmb3IgYW55IHRocmVhZCIs ICIiLCAiIikKK0RFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1NUSURfUFJJT19BTllUSFJFQUQs CisgICAgIldyaXRlcyBTVElEIHByaW9yaXR5IGZvciBhbnkgdGhyZWFkIiwgIiIsICIiKQogREVG X0FUVFJJQihDT01NVVRFUywgIlRoZSBvcGVyYXRpb24gaXMgY29tbXVuaXRpdmUiLCAiIiwgIiIp CiBERUZfQVRUUklCKERFQUxMT0NSRVQsICJkZWFsbG9jX3JldHVybiIsICIiLCAiIikKIERFRl9B VFRSSUIoREVBTExPQ0ZSQU1FLCAiZGVhbGxvY2ZyYW1lIiwgIiIsICIiKQpAQCAtMTM3LDkgKzE0 OCwxNCBAQCBERUZfQVRUUklCKFJFU1RSSUNUX1NMT1QzT05MWSwgIk11c3QgZXhlY3V0ZSBvbiBz bG90MyIsICIiLCAiIikKIERFRl9BVFRSSUIoUkVTVFJJQ1RfTk9TTE9UMSwgIk5vIHNsb3QgMSBp bnN0cnVjdGlvbiBpbiBwYXJhbGxlbCIsICIiLCAiIikKIERFRl9BVFRSSUIoUkVTVFJJQ1RfUFJF RkVSU0xPVDAsICJUcnkgdG8gZW5jb2RlIGludG8gc2xvdCAwIiwgIiIsICIiKQogREVGX0FUVFJJ QihSRVNUUklDVF9QQUNLRVRfQVhPSywgIk1heSBleGlzdCB3aXRoIEEtdHlwZSBvciBYLXR5cGUi LCAiIiwgIiIpCitERUZfQVRUUklCKFJFU1RSSUNUX1NMT1QxX0FPSywgIlNsb3QgMSBpcyBhbGxv d2VkIiwgIiIsICIiKQogCiBERUZfQVRUUklCKElDT1AsICJJbnN0cnVjdGlvbiBjYWNoZSBvcCIs ICIiLCAiIikKIAorREVGX0FUVFJJQihFWENFUFRJT05fU1dJLCAiU29mdHdhcmUgaW50ZXJydXB0 IGV4Y2VwdGlvbiIsICIiLCAiIikKK0RFRl9BVFRSSUIoRE1BLCAiRE1BIGluc3RydWN0aW9uIiwg IiIsICIiKQorREVGX0FUVFJJQihOT19USU1JTkdfTE9HLCAiRG9lcyBub3QgZ2V0IGxvZ2dlZCB0 byB0aGUgdGltaW5nIG1vZGVsIiwgIiIsICIiKQorCiBERUZfQVRUUklCKEhXTE9PUDBfRU5ELCAi RW5kcyBIVyBsb29wMCIsICIiLCAiIikKIERFRl9BVFRSSUIoSFdMT09QMV9FTkQsICJFbmRzIEhX IGxvb3AxIiwgIiIsICIiKQogREVGX0FUVFJJQihSRVRfVFlQRSwgInJldHVybiB0eXBlIiwgIiIs ICIiKQpAQCAtMTUxLDYgKzE2NywxMCBAQCBERUZfQVRUUklCKERDRkVUQ0gsICJkY2ZldGNoIHR5 cGUiLCAiIiwgIiIpCiAKIERFRl9BVFRSSUIoTDJGRVRDSCwgIkluc3RydWN0aW9uIGlzIGwyZmV0 Y2ggdHlwZSIsICIiLCAiIikKIAorREVGX0FUVFJJQihEQ1RBR09QLCAiRGF0YSBjYWNoZSB0YWcg b3BlcmF0aW9uIiwgIiIsICIiKQorREVGX0FUVFJJQihJQ1RBR09QLCAiSW5zdHJ1Y3Rpb24gY2Fj aGUgdGFnIG9wZXJhdGlvbiIsICIiLCAiIikKK0RFRl9BVFRSSUIoTDJUQUdPUCwgIkwyIGNhY2hl IHRhZyBvcGVyYXRpb24iLCAiIiwgIiIpCisKIERFRl9BVFRSSUIoSUNJTlZBLCAiaWNpbnZhIiwg IiIsICIiKQogREVGX0FUVFJJQihEQ0NMRUFOSU5WQSwgImRjY2xlYW5pbnZhIiwgIiIsICIiKQog CkBAIC0xNjYsNiArMTg2LDkgQEAgREVGX0FUVFJJQihOT1RFX0xBVEVQUkVELCAiVGhlIHByZWRp Y2F0ZSBjYW4gbm90IGJlIHVzZWQgYXMgYSAubmV3IiwgIiIsICIiKQogREVGX0FUVFJJQihOT1RF X05WU0xPVDAsICJDYW4gZXhlY3V0ZSBvbmx5IGluIHNsb3QgMCAoU1QpIiwgIiIsICIiKQogREVG X0FUVFJJQihOT1RFX05PVlAsICJDYW5ub3QgYmUgcGFpcmVkIHdpdGggYSBIVlggcGVybXV0ZSBp bnN0cnVjdGlvbiIsICIiLCAiIikKIERFRl9BVFRSSUIoTk9URV9WQV9VTkFSWSwgIkNvbWJpbmVk IHdpdGggSFZYIEFMVSBvcCAobXVzdCBiZSB1bmFyeSkiLCAiIiwgIiIpCitERUZfQVRUUklCKE5P VEVfU0xPVDFfQU9LLCAiU2xvdCAxIGlzIGFsbG93ZWQiLCAiIiwgIiIpCitERUZfQVRUUklCKE5P VEVfR1VFU1QsICJHdWVzdCBtb2RlIGluc3RydWN0aW9uIiwgIiIsICIiKQorREVGX0FUVFJJQihO T1RFX0JBRFRBR19VTkRFRiwgIkJhZCB0YWcgcmVzdWx0cyBpbiB1bmRlZmluZWQgYmVoYXZpb3Ii LCAiIiwgIiIpCiAKIC8qIFY2IE1NVmVjdG9yIE5vdGVzIGZvciBEb2N1bWVudGF0aW9uICovCiBE RUZfQVRUUklCKE5PVEVfU0hJRlRfUkVTT1VSQ0UsICJVc2VzIHRoZSBIVlggc2hpZnQgcmVzb3Vy Y2UuIiwgIiIsICIiKQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvbWFjcm9z LmRlZiBiL3RhcmdldC9oZXhhZ29uL2ltcG9ydGVkL21hY3Jvcy5kZWYKb2xkIG1vZGUgMTAwNzU1 Cm5ldyBtb2RlIDEwMDY0NAppbmRleCA0YmJjZmRkNWUxOS4uMTNlYjEzYzcxZjcKLS0tIGEvdGFy Z2V0L2hleGFnb24vaW1wb3J0ZWQvbWFjcm9zLmRlZgorKysgYi90YXJnZXQvaGV4YWdvbi9pbXBv cnRlZC9tYWNyb3MuZGVmCkBAIC0zNTMsNiArMzUzLDEyIEBAIERFRl9NQUNSTygKICAgICAoKQog KQogCitERUZfTUFDUk8oCisgICAgZlJFQURfU1NSLCAvKiByZWFkIFNTUiByZWdpc3RlciAqLwor ICAgIChSRUFEX1JSRUcoUkVHX1NTUikpLCAgICAgICAgICAvKiBiZWhhdmlvciAqLworICAgICgp CispCisKIERFRl9NQUNSTygKICAgICBmV1JJVEVfTFIsIC8qIHdyaXRlIGxyICovCiAgICAgV1JJ VEVfUlJFRyhSRUdfTFIsQSksICAgICAgICAgIC8qIGJlaGF2aW9yICovCkBAIC0zNzEsMTIgKzM3 NywzNiBAQCBERUZfTUFDUk8oCiAgICAgKEFfSU1QTElDSVRfV1JJVEVTX1NQKQogKQogCitERUZf TUFDUk8oCisgICAgZldSSVRFX0dPU1AsIC8qIHdyaXRlIGdvc3AgKi8KKyAgICBXUklURV9SUkVH KFJFR19HT1NQLEEpLCAgICAgICAgICAvKiBiZWhhdmlvciAqLworICAgIChBX0lNUExJQ0lUX1dS SVRFU19HT1NQKQorKQorCiBERUZfTUFDUk8oCiAgICAgZlJFQURfU1AsIC8qIHJlYWQgc3RhY2sg cG9pbnRlciAqLwogICAgIChSRUFEX1JSRUcoUkVHX1NQKSksICAgICAgICAgIC8qIGJlaGF2aW9y ICovCiAgICAgKCkKICkKIAorREVGX01BQ1JPKAorICAgIGZSRUFEX0dPU1AsIC8qIHJlYWQgZ3Vl c3Qgb3RoZXIgc3RhY2sgcG9pbnRlciAqLworICAgIChSRUFEX1JSRUcoUkVHX0dPU1ApKSwgICAg ICAgICAgLyogYmVoYXZpb3IgKi8KKyAgICAoKQorKQorCitERUZfTUFDUk8oCisgICAgZlJFQURf R0VMUiwgLyogcmVhZCBndWVzdCBvdGhlciBzdGFjayBwb2ludGVyICovCisgICAgKFJFQURfUlJF RyhSRUdfR0VMUikpLCAgICAgICAgICAvKiBiZWhhdmlvciAqLworICAgICgpCispCisKK0RFRl9N QUNSTygKKyAgICBmUkVBRF9HRVZCLCAvKiByZWFkIGd1ZXN0IG90aGVyIHN0YWNrIHBvaW50ZXIg Ki8KKyAgICAoUkVBRF9SUkVHKFJFR19HRVZCKSksICAgICAgICAgIC8qIGJlaGF2aW9yICovCisg ICAgKCkKKykKKwogREVGX01BQ1JPKAogICAgIGZSRUFEX0NTUkVHLCAvKiByZWFkICBDUyByZWdp c3RlciAqLwogICAgIChSRUFEX1JSRUcoUkVHX0NTQStOKSksICAgICAgICAgIC8qIGJlaGF2aW9y ICovCkBAIC01NzAsNiArNjAwLDExIEBAIERFRl9NQUNSTygKICAgICBXUklURV9QUkVHKDMsVkFM KSwgICAgIC8qIGJlaGF2aW9yICovCiAgICAgKEFfSU1QTElDSVRfV1JJVEVTX1AzKQogKQorREVG X01BQ1JPKAorCWZXUklURV9QM19MQVRFLCAvKiB3cml0ZSBQcmVkaWNhdGUgMCAqLworCXtXUklU RV9QUkVHKDMsVkFMKTsgZkhJREUoTUFSS19MQVRFX1BSRURfV1JJVEUoMykpfSAsICAgICAgICAg IC8qIGJlaGF2aW9yICovCisJKEFfSU1QTElDSVRfV1JJVEVTX1AzLEFfUkVTVFJJQ1RfTEFURVBS RUQpCispCiAKIERFRl9NQUNSTygKICAgICBmUEFSVDEsIC8qIHdyaXRlIFByZWRpY2F0ZSAwICov CkBAIC02NjAsNiArNjk1LDcgQEAgREVGX01BQ1JPKAogICAgICgoc2l6ZThzX3QpKChzaXplMnNf dCkoQSkpKSwKICAgICAvKiBvcHRpb25hbCBhdHRyaWJ1dGVzICovCiApCisKIERFRl9NQUNSTygK ICAgICBmQ0FTVDJfOHUsIC8qIG1hY3JvIG5hbWUgKi8KICAgICAoKHNpemU4dV90KSgoc2l6ZTJ1 X3QpKEEpKSksCkBAIC0xNTMyLDE4ICsxNTY4LDEzNyBAQCBERUZfTUFDUk8oZkVDSE8sCiAvKiBP UyBpbnRlcmZhY2UgYW5kIHN0b3Avd2FpdCAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKK0RFRl9NQUNSTyhSVU5OQUJMRV9U SFJFQURTX01BWCwKKyAgICAvKiAqLywKKyAgICAoKQorKQorCitERUZfTUFDUk8oVEhSRUFEX0lT X09OLAorICAgICgoUFJPQy0+YXJjaF9wcm9jX29wdGlvbnMtPnRocmVhZF9lbmFibGVfbWFzaz4+ VE5VTSkgJiAweDEpLAorICAgICgpCispCisKK0RFRl9NQUNSTyhUSFJFQURfRU5fTUFTSywKKyAg ICAoKFBST0MtPmFyY2hfcHJvY19vcHRpb25zLT50aHJlYWRfZW5hYmxlX21hc2spKSwKKyAgICAo KQorKQorCisKKworREVGX01BQ1JPKFJFQURfSU1BU0ssCisgICAgLyogKi8sCisgICAgKCkKKykK K0RFRl9NQUNSTyhXUklURV9JTUFTSywKKyAgICAvKiAqLywKKyAgICAoQV9JTVBMSUNJVF9XUklU RVNfSU1BU0tfQU5ZVEhSRUFEKQorKQorCisKK0RFRl9NQUNSTyhXUklURV9QUklPLAorICAgIC8q ICovLAorICAgIChBX0lNUExJQ0lUX1dSSVRFU19TVElEX1BSSU9fQU5ZVEhSRUFEKQorKQorCisK K0RFRl9NQUNSTyhET19JQVNTSUdOVywKKyAgICAvKiAqLywKKyAgICAoQV9JTVBMSUNJVF9XUklU RVNfSU1BU0tfQU5ZVEhSRUFEKQorKQorCisKKworCitERUZfTUFDUk8oZkRPX05NSSwKKyAgICAv KiAqLywKKykKKworREVGX01BQ1JPKGZET19UUkFDRSwKKyAgICAvKiAqLywKKykKKworREVGX01B Q1JPKERPX0lBU1NJR05SLAorICAgIC8qICovLAorICAgICgpCispCisKK0RFRl9NQUNSTyhET19T V0ksCisgICAgICAgIC8qICovLAorICAgICAgICAoQV9FWENFUFRJT05fU1dJKQorKQorCitERUZf TUFDUk8oRE9fQ1NXSSwKKyAgICAgICAgTE9HX0dMT0JBTF9SRUdfV1JJVEUoUkVHX0lQRU5ELEdM T0JBTF9SRUdfUkVBRChSRUdfSVBFTkQpICYgfigoUkVHKSAmIEdMT0JBTF9SRUdfUkVBRChSRUdf SUVMKSkpOywKKyAgICAgICAgKCkKKykKKworREVGX01BQ1JPKERPX0NJQUQsCisgICAgICAgIHN5 c19jaWFkKHRocmVhZCxWQUwpOyBMT0dfR0xPQkFMX1JFR19XUklURShSRUdfSUFELEdMT0JBTF9S RUdfUkVBRChSRUdfSUFEKSAmIH4oVkFMKSk7LAorICAgICAgICAoQV9FWENFUFRJT05fU1dJKQor KQorCitERUZfTUFDUk8oRE9fU0lBRCwKKyAgICAgICAgc3lzX3NpYWQodGhyZWFkLFZBTCk7IExP R19HTE9CQUxfUkVHX1dSSVRFKFJFR19JQUQsR0xPQkFMX1JFR19SRUFEKFJFR19JQUQpIHwgKFZB TCkpOywKKyAgICAgICAgKEFfRVhDRVBUSU9OX1NXSSkKKykKKworREVGX01BQ1JPKGZCUkVBSywK KyAgICAvKiAqLywKKyAgICAoKQorKQorCiBERUZfTUFDUk8oZlBBVVNFLAogICAgIHtzeXNfcGF1 c2UodGhyZWFkLCBpbnNuLT5zbG90LCBJTU0pO30sCiAgICAgKCkKICkKIAorCiBERUZfTUFDUk8o ZlRSQVAsCi0gICAgd2FybigiVHJhcCBOUEM9JXggIixmUkVBRF9OUEMoKSk7Ci0gICAgd2Fybigi VHJhcCBleGNlcHRpb24sIFBDWUNMRT0lbGxkIFRZUEU9JWQgTlBDPSV4IElNTT0weCV4Iix0aHJl YWQtPnByb2Nlc3Nvcl9wdHItPnBzdGF0c1twY3ljbGVzXSxUUkFQVFlQRSxmUkVBRF9OUEMoKSxJ TU0pOwotICAgIHJlZ2lzdGVyX3RyYXBfZXhjZXB0aW9uKHRocmVhZCxmUkVBRF9OUEMoKSxUUkFQ VFlQRSxJTU0pOywKKyAgICAvKiAqLywKKyAgICAoQV9FWENFUFRJT05fU1dJKQorKQorCitERUZf TUFDUk8oZkNMRUFSX1JURV9FWCwKKyAgICAgIC8qICovLAorICAgICAgKCkKKykKKworREVGX01B Q1JPKGZUTEJfTE9DS19BVkFJTEFCTEUsCisgICAgKGZSRUFEX0dMT0JBTF9SRUdfRklFTEQoU1lT Q09ORixTWVNDRkdfVExCTE9DSykgPT0gMCksCiAgICAgKCkKICkKIAorREVGX01BQ1JPKGZLMF9M T0NLX0FWQUlMQUJMRSwKKyAgICAoZlJFQURfR0xPQkFMX1JFR19GSUVMRChTWVNDT05GLFNZU0NG R19LMExPQ0spID09IDApLAorICAgICgpCispCisKK0RFRl9NQUNSTyhmU0VUX1RMQl9MT0NLLAor ICAgICAgeworICAgICAgaWYgKGZUTEJfTE9DS19BVkFJTEFCTEUoKSkgeworICAgICAgICBmTE9H X0dMT0JBTF9SRUdfRklFTEQoU1lTQ09ORixTWVNDRkdfVExCTE9DSywxKTsKKyAgICAgIH0gZWxz ZSB7CisgICAgICAgIHN5c193YWl0aW5nX2Zvcl90bGJfbG9jayh0aHJlYWQpOworICAgICAgfQor ICAgICAgfSwKKyAgICAgICgpCispCisKK0RFRl9NQUNSTyhmU0VUX0swX0xPQ0ssCisgICAgICAv KiAqLywKKyAgICAgICgpCispCisKK0RFRl9NQUNSTyhmQ0xFQVJfVExCX0xPQ0ssCisgICAgICAv KiAqLywKKyAgICAgICgpCispCisKK0RFRl9NQUNSTyhmQ0xFQVJfSzBfTE9DSywKKyAgICAgIC8q ICovLAorICAgICAgKCkKKykKKwogREVGX01BQ1JPKGZBTElHTl9SRUdfRklFTERfVkFMVUUsCiAg ICAgKChWQUwpPDxyZWdfZmllbGRfaW5mb1tGSUVMRF0ub2Zmc2V0KSwKICAgICAvKiAqLwpAQCAt MTU1NCw2ICsxNzA5LDI0IEBAIERFRl9NQUNSTyhmR0VUX1JFR19GSUVMRF9NQVNLLAogICAgIC8q ICovCiApCiAKK0RFRl9NQUNSTyhmTE9HX1JFR19GSUVMRCwKKyAgICBMT0dfTUFTS0VEX1JFR19X UklURSh0aHJlYWQsUkVHXyMjUkVHLAorICAgIGZBTElHTl9SRUdfRklFTERfVkFMVUUoRklFTEQs VkFMKSwKKyAgICBmR0VUX1JFR19GSUVMRF9NQVNLKEZJRUxEKSksCisgICAgKCkKKykKKworREVG X01BQ1JPKGZXUklURV9HTE9CQUxfUkVHX0ZJRUxELAorICAgIC8qICovLAorKQorCitERUZfTUFD Uk8oZkxPR19HTE9CQUxfUkVHX0ZJRUxELAorICAgIExPR19NQVNLRURfR0xPQkFMX1JFR19XUklU RShSRUdfIyNSRUcsCisgICAgICAgIGZBTElHTl9SRUdfRklFTERfVkFMVUUoRklFTEQsVkFMKSwK KyAgICAgICAgZkdFVF9SRUdfRklFTERfTUFTSyhGSUVMRCkpLAorICAgICgpCispCisKIERFRl9N QUNSTyhmUkVBRF9SRUdfRklFTEQsCiAgICAgZkVYVFJBQ1RVX0JJVFModGhyZWFkLT5SZWdzW1JF R18jI1JFR10sCiAgICAgICAgIHJlZ19maWVsZF9pbmZvW0ZJRUxEXS53aWR0aCwKQEAgLTE1NjEs NiArMTczNCwxMSBAQCBERUZfTUFDUk8oZlJFQURfUkVHX0ZJRUxELAogICAgIC8qIEFUVFJJQlMg Ki8KICkKIAorREVGX01BQ1JPKGZSRUFEX0dMT0JBTF9SRUdfRklFTEQsCisgICAgLyogKi8sCisg ICAgLyogQVRUUklCUyAqLworKQorCiBERUZfTUFDUk8oZkdFVF9GSUVMRCwKICAgICBmRVhUUkFD VFVfQklUUyhWQUwsCiAgICAgICAgIHJlZ19maWVsZF9pbmZvW0ZJRUxEXS53aWR0aCwKQEAgLTE1 NzYsNiArMTc1NCwxNzQgQEAgREVGX01BQ1JPKGZTRVRfRklFTEQsCiAgICAgLyogQVRUUklCUyAq LwogKQogCitERUZfTUFDUk8oZlNFVF9SVU5fTU9ERV9OT1csCisgICAgICAgIC8qICovLAorKQor CitERUZfTUFDUk8oZklOX0RFQlVHX01PREUsCisgICAgKHRocmVhZC0+ZGVidWdfbW9kZSB8fCAo ZlJFQURfR0xPQkFMX1JFR19GSUVMRChJU0RCU1QsSVNEQlNUX0RFQlVHTU9ERSkgJiAxPDxUTlVN KSksCisgICAgKCkKKykKK0RFRl9NQUNSTyhmSU5fREVCVUdfTU9ERV9OT19JU0RCLAorICAgICh0 aHJlYWQtPmRlYnVnX21vZGUpLAorICAgICgpCispCisKKworREVGX01BQ1JPKGZJTl9ERUJVR19N T0RFX1dBUk4sCisgICAgeworICAgICAgICBpZiAoZlJFQURfR0xPQkFMX1JFR19GSUVMRChJU0RC U1QsSVNEQlNUX0RFQlVHTU9ERSkgJiAxPDxUTlVNKQorICAgICAgICAgICAgd2FybigiSW4gSVNE QiBkZWJ1ZyBtb2RlLCBidXQgVEIgdG9sZCBtZSB0byBzdGVwIG5vcm1hbGx5Iik7CisgICAgfSwK KyAgICAoKQorKQorCitERUZfTUFDUk8oZkNMRUFSX1JVTl9NT0RFLAorICAgIHtmTE9HX0dMT0JB TF9SRUdfRklFTEQoTU9ERUNUTCxNT0RFQ1RMX0UsCisgICAgIGZSRUFEX0dMT0JBTF9SRUdfRklF TEQoTU9ERUNUTCxNT0RFQ1RMX0UpICYgfigxPDwoVE5VTSkpKX0sCisgICAgLyogTk9USElORyAq LworKQorCitERUZfTUFDUk8oZkNMRUFSX1JVTl9NT0RFX05PVywKKyAgICAvKiAqLywKKyAgICAv KiBOT1RISU5HICovCispCisKK0RFRl9NQUNSTyhmR0VUX1JVTl9NT0RFLAorICAgICAgICAvKiAq LywKKykKKworREVGX01BQ1JPKGZTRVRfV0FJVF9NT0RFLAorICAgIHtmTE9HX0dMT0JBTF9SRUdf RklFTEQoTU9ERUNUTCxNT0RFQ1RMX1csCisgICAgZlJFQURfR0xPQkFMX1JFR19GSUVMRChNT0RF Q1RMLE1PREVDVExfVykgfCAxPDwoVE5VTSkpfSwKKyAgICAvKiBOT1RISU5HICovCispCisKK0RF Rl9NQUNSTyhmQ0xFQVJfV0FJVF9NT0RFLAorICAgICAgICAvKiAqLywKKykKKworREVGX01BQ1JP KGZHRVRfV0FJVF9NT0RFLAorICAgICAgICAvKiAqLywKKykKKworCitERUZfTUFDUk8oZlJFU0VU X1RIUkVBRCwKKyAgICAgICAgcmVnaXN0ZXJfcmVzZXRfaW50ZXJydXB0KFQsTlVNKSwKKykKKwor REVGX01BQ1JPKGZSRUFEX0NVUlJFTlRfRVZCLAorICAgIChHTE9CQUxfUkVHX1JFQUQoUkVHX0VW QikpLAorICAgIC8qIG5vdGhpbmcgKi8KKykKKworREVGX01BQ1JPKGZSRUFEX0VMUiwKKyAgICBS RUFEX1JSRUcoUkVHX0VMUiksCisgICAgKCkKKykKKworREVGX01BQ1JPKGZQT1cyX0hFTFBfUk9V TkRVUCwKKyAgICAoKFZBTCkgfCAoKFZBTCkgPj4gMSkgfCAoKFZBTCkgPj4gMikgfCAoKFZBTCkg Pj4gNCkgfCAoKFZBTCkgPj4gOCkgfCAoKFZBTCkgPj4gMTYpKSwKKyAgICAoKQorKQorCitERUZf TUFDUk8oZlBPVzJfUk9VTkRVUCwKKyAgICBmUE9XMl9IRUxQX1JPVU5EVVAoKFZBTCktMSkrMSwK KyAgICAoKQorKQorCitERUZfTUFDUk8oZlRMQl9JRFhNQVNLLAorICAgIC8qICovLAorICAgICgp CispCisKK0RFRl9NQUNSTyhmVExCX05PTlBPVzJXUkFQLAorICAgIC8qICovLAorICAgIC8qIEFU VFJJQlMgKi8KKykKKworREVGX01BQ1JPKGZUTEJXLAorICAgIC8qICovLAorICAgIC8qIEFUVFJJ QlMgKi8KKykKKworREVGX01BQ1JPKGZUTEJfRU5UUllfT1ZFUkxBUCwKKyAgICBmSElERSggKHN5 c19jaGVja19vdmVybGFwKHRocmVhZCxWQUxVRSkhPS0yKSApLAorICAgIC8qIEFUVFJJQlMgKi8K KykKKworREVGX01BQ1JPKGZUTEJfRU5UUllfT1ZFUkxBUF9JRFgsCisgICAgZkhJREUoc3lzX2No ZWNrX292ZXJsYXAodGhyZWFkLFZBTFVFKSksCisgICAgLyogQVRUUklCUyAqLworKQorCisKK0RF Rl9NQUNSTyhmVExCUiwKKyAgICBUTEJfUkVHX1JFQUQoZlRMQl9OT05QT1cyV1JBUChmVExCX0lE WE1BU0soSU5ERVgpKSksCisgICAgLyogQVRUUklCUyAqLworKQorCitERUZfTUFDUk8oZlRMQlAs CisgICAgdGxiX2xvb2t1cCh0aHJlYWQsKChUTEJISSk+PjEyKSwoKFRMQkhJKTw8MTIpLDEpLAor ICAgIC8qIGF0dHJpYnMgKi8KKykKKworCisKK0RFRl9NQUNSTyhSRUFEX1NHUDAsCisgICAgUkVB RF9SUkVHKFJFR19TR1ApLAorICAgICgpCispCisKK0RFRl9NQUNSTyhSRUFEX1NHUDEsCisgICAg UkVBRF9SUkVHKFJFR19TR1ArMSksCisgICAgKCkKKykKKworREVGX01BQ1JPKFJFQURfU0dQMTAs CisgICAgUkVBRF9SUkVHX1BBSVIoUkVHX1NHUCksCisgICAgKCkKKykKKworREVGX01BQ1JPKFJF QURfVUdQLAorICAgIFJFQURfUlJFRyhSRUdfVUdQKSwKKykKKworREVGX01BQ1JPKFdSSVRFX1NH UDAsCisgICAgV1JJVEVfUlJFRyhSRUdfU0dQLFZBTCksCisgICAgKEFfSU1QTElDSVRfV1JJVEVT X1NHUDApCispCisKK0RFRl9NQUNSTyhXUklURV9TR1AxLAorICAgIFdSSVRFX1JSRUcoUkVHX1NH UCsxLFZBTCksCisgICAgKEFfSU1QTElDSVRfV1JJVEVTX1NHUDEpCispCisKK0RFRl9NQUNSTyhX UklURV9TR1AxMCwKKyAgICBXUklURV9SUkVHX1BBSVIoUkVHX1NHUCxWQUwpLAorICAgIChBX0lN UExJQ0lUX1dSSVRFU19TR1AwLEFfSU1QTElDSVRfV1JJVEVTX1NHUDEpCispCisKK0RFRl9NQUNS TyhXUklURV9VR1AsCisgICAgICAgIFdSSVRFX1JSRUcoUkVHX1VHUCxWQUwpLAorKQorCitERUZf TUFDUk8oZlNUQVJULAorICAgIC8qICovLAorICAgICgpCispCisKK0RFRl9NQUNSTyhmUkVTVU1F LAorICAgIGZMT0dfR0xPQkFMX1JFR19GSUVMRChNT0RFQ1RMLE1PREVDVExfVywKKyAgICBmUkVB RF9HTE9CQUxfUkVHX0ZJRUxEKE1PREVDVEwsTU9ERUNUTF9XKSAmICh+KFJFRykpKSwKKyAgICAo KQorKQorCitERUZfTUFDUk8oZkdFVF9UTlVNLAorICAgIHRocmVhZC0+dGhyZWFkSWQsCisgICAg KCkKKykKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwog LyogQ2FjaGUgTWFuYWdlbWVudCAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtMTYwMiwxOSArMTk0OCw0 OSBAQCBERUZfTUFDUk8oZklTWU5DLAogKQogCiAKK0RFRl9NQUNSTyhmSUNGRVRDSCwKKyAgICAs CisgICAgKCkKKykKKwogREVGX01BQ1JPKGZEQ0ZFVENILAogICAgIHN5c19kY2ZldGNoKHRocmVh ZCwgKFJFRyksIGluc24tPnNsb3QpLAogICAgIChBX01FTUxJS0UpCiApCiAKIERFRl9NQUNSTyhm SUNJTlZBLAotICAgIHsKLSAgICAgICAgYXJjaF9pbnRlcm5hbF9mbHVzaCh0aHJlYWQtPnByb2Nl c3Nvcl9wdHIsIDAsIDB4ZmZmZmZmZmYpOwotICAgICAgICBzeXNfaWNpbnZhKHRocmVhZCwgKFJF RyksaW5zbi0+c2xvdCk7Ci0gICAgfSwKKyAgICAvKiAqLywKICAgICAoQV9JQ0lOVkEpCiApCiAK K0RFRl9NQUNSTyhmRENUQUdSLAorICAgICh7RFNUPXN5c19kY3RhZ3IodGhyZWFkLCBJTkRFWCwg aW5zbi0+c2xvdCxEU1RSRUdOTyk7fSkvKiBGSVhNRSAqLywKKyAgICAoKQorKQorCitERUZfTUFD Uk8oZkRDVEFHVywKKyAgICAoc3lzX2RjdGFndyh0aHJlYWQsIElOREVYLCBQQVJUMiwgaW5zbi0+ c2xvdCkpLAorICAgICgpCispCitERUZfTUFDUk8oZklDVEFHUiwKKyAgICAoe0RTVD1zeXNfaWN0 YWdyKHRocmVhZCwgSU5ERVgsIGluc24tPnNsb3QsUkVHTk8pO30pLAorICAgICgpCispCisKK0RF Rl9NQUNSTyhmSUNEQVRBUiwKKyAgICAoe0RTVD1zeXNfaWNkYXRhcih0aHJlYWQsIElOREVYLCBp bnNuLT5zbG90KTt9KSwKKyAgICAoKQorKQorCitERUZfTUFDUk8oZklDVEFHVywKKyAgICAoc3lz X2ljdGFndyh0aHJlYWQsIElOREVYLCBQQVJUMiwgaW5zbi0+c2xvdCkpLAorICAgICgpCispCitE RUZfTUFDUk8oZklDREFUQVcsCisgICAgKHsgZkhJREUoKTsgfSksCisgICAgKCkKKykKKwogREVG X01BQ1JPKGZMMkZFVENILAogICAgIHN5c19sMmZldGNoKHRocmVhZCwgQUREUixIRUlHSFQsV0lE VEgsU1RSSURFLEZMQUdTLCBpbnNuLT5zbG90KSwKICAgICAoQV9NRU1MSUtFLEFfTDJGRVRDSCkK QEAgLTE2MzUsNiArMjAxMSwxMiBAQCBERUZfTUFDUk8oZkRDWkVST0EsCiAgICAgKEFfTUVNTElL RSkKICkKIAorREVGX01BQ1JPKGZEQ0lOVkEsCisgICAgc3lzX2RjaW52YSh0aHJlYWQsIChSRUcp KSwKKyAgICAoQV9NRU1MSUtFKQorKQorCisKIERFRl9NQUNSTyhmQ0hFQ0tGT1JQUklWLAogICAg IHtzeXNfY2hlY2tfcHJpdnModGhyZWFkKTsgaWYgKEVYQ0VQVElPTl9ERVRFQ1RFRCkgcmV0dXJu OyB9LAogICAgICgpCkBAIC0xNjQ1LDYgKzIwMjcsMTYgQEAgREVGX01BQ1JPKGZDSEVDS0ZPUkdV RVNULAogICAgICgpCiApCiAKK0RFRl9NQUNSTyhmVEFLRU5fSU5URVJSVVBUX0VER0VDTEVBUiwK KyAgICAgICAgeyBwcm9jLT5nbG9iYWxfcmVnc1tSRUdfSVBFTkRdICY9IH4oSU5UX05VTVRPTUFT SyhpbnRudW0pICYgcHJvYy0+Z2xvYmFsX3JlZ3NbUkVHX0lFTF0pOyB9LAorICAgICAgICAoKQor KQorCitERUZfTUFDUk8oZlNFVF9JQUQsCisgICAgLyogKi8sCisgICAgKCkKKykKKwogREVGX01B Q1JPKGZCUkFOQ0hfU1BFQ1VMQVRFX1NUQUxMLAogICAgIHsKICAgICAgICAgc3lzX3NwZWN1bGF0 ZV9icmFuY2hfc3RhbGwodGhyZWFkLCBpbnNuLT5zbG90LCBKVU1QX0NPTkQoSlVNUF9QUkVEX1NF VCksCkBAIC0xNjY0LDMgKzIwNTYsNzkgQEAgREVGX01BQ1JPKElWMURFQUQsCiAgICAgLAogICAg ICgpCiApCisKK0RFRl9NQUNSTyhmSU5fTU9OSVRPUl9NT0RFLAorICAgIHN5c19pbl9tb25pdG9y X21vZGUodGhyZWFkKSwKKyAgICAoKQorKQorCitERUZfTUFDUk8oZklOX1VTRVJfTU9ERSwKKyAg ICBzeXNfaW5fdXNlcl9tb2RlKHRocmVhZCksCisgICAgKCkKKykKKworREVGX01BQ1JPKGZJTl9H VUVTVF9NT0RFLAorICAgIHN5c19pbl9ndWVzdF9tb2RlKHRocmVhZCksCisgICAgKCkKKykKKwor REVGX01BQ1JPKGZHUkVfRU5BQkxFRCwKKyAgICBmUkVBRF9SRUdfRklFTEQoQ0NSLENDUl9HUkUp LAorICAgICgpCispCisKK0RFRl9NQUNSTyhmR1RFX0VOQUJMRUQsCisgICAgZlJFQURfUkVHX0ZJ RUxEKENDUixDQ1JfR1JFKSwKKyAgICAoKQorKQorCitERUZfTUFDUk8oZlRSQVAxX1ZJUlRJTlNO LAorICAgICgoZklOX0dVRVNUX01PREUoKSkKKyAgICAgJiYgKGZHUkVfRU5BQkxFRCgpKQorICAg ICAmJiAoICAgKChJTU0pID09IDEpCisgICAgICAgICB8fCAoKElNTSkgPT0gMykKKyAgICAgICAg IHx8ICgoSU1NKSA9PSA0KQorICAgICAgICAgfHwgKChJTU0pID09IDYpKSksCisgICAgKCkKKykK KworREVGX01BQ1JPKGZWSVJUSU5TTl9SVEUsCisgICAgZG8geworICAgICAgICB0aHJlYWQtPnRy YXAxX2luZm8gPSBUUkFQMV9WSVJUSU5TTl9SVEU7CisgICAgICAgIGZMT0dfUkVHX0ZJRUxEKFNT UixTU1JfU1MsZlJFQURfUkVHX0ZJRUxEKEdTUixHU1JfU1MpKTsKKyAgICAgICAgZkxPR19SRUdf RklFTEQoQ0NSLENDUl9HSUUsZlJFQURfUkVHX0ZJRUxEKEdTUixHU1JfSUUpKTsKKyAgICAgICAg ZkxPR19SRUdfRklFTEQoU1NSLFNTUl9HTSwhZlJFQURfUkVHX0ZJRUxEKEdTUixHU1JfVU0pKTsK KyAgICAgICAgZkJSQU5DSCgoZlJFQURfR0VMUigpICYgLTQpLENPRl9UWVBFX1JURSk7CisgICAg ICAgIGZJTlRFUk5BTF9DTEVBUl9TQU1FUEFHRSgpOworICAgIH0gd2hpbGUgKDApLAorICAgIChB X0lNUExJQ0lUX1dSSVRFU19DQ1IsQV9JTVBMSUNJVF9XUklURVNfU1NSKQorKQorCitERUZfTUFD Uk8oZlZJUlRJTlNOX1NFVElFLAorICAgIGRvIHsKKyAgICAgICAgZkxPR19SRUdfRklFTEQoQ0NS LENDUl9HSUUsKFJFRykgJiAxKTsKKyAgICAgICAgUkVHID0gZlJFQURfUkVHX0ZJRUxEKENDUixD Q1JfR0lFKTsKKyAgICAgICAgdGhyZWFkLT50cmFwMV9pbmZvID0gVFJBUDFfVklSVElOU05fU0VU SUU7CisgICAgfSB3aGlsZSAoMCksCisgICAgKEFfSU1QTElDSVRfV1JJVEVTX0NDUikKKykKKwor REVGX01BQ1JPKGZWSVJUSU5TTl9HRVRJRSwKKyAgICB7CisgICAgICAgIHRocmVhZC0+dHJhcDFf aW5mbyA9IFRSQVAxX1ZJUlRJTlNOX0dFVElFOworICAgICAgICBSRUcgPSBmUkVBRF9SRUdfRklF TEQoQ0NSLENDUl9HSUUpOworICAgIH0sCisgICAgKCkKKykKKworREVGX01BQ1JPKGZWSVJUSU5T Tl9TUFNXQVAsCisgICAgZG8geworICAgICAgICBpZiAoZlJFQURfUkVHX0ZJRUxEKEdTUixHU1Jf VU0pKSB7CisgICAgICAgICAgICBzaXplNHVfdCBURU1QID0gUkVHOworICAgICAgICAgICAgUkVH ID0gZlJFQURfR09TUCgpOworICAgICAgICAgICAgZldSSVRFX0dPU1AoVEVNUCk7CisgICAgICAg ICAgICB0aHJlYWQtPnRyYXAxX2luZm8gPSBUUkFQMV9WSVJUSU5TTl9TUFNXQVA7CisgICAgICAg IH0KKyAgICB9IHdoaWxlICgwKSwKKyAgICAoQV9JTVBMSUNJVF9XUklURVNfR09TUCkKKykKLS0g CjIuMzQuMQoK