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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 488DDFD3773 for ; Wed, 25 Feb 2026 17:17:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9E5E910E7D3; Wed, 25 Feb 2026 17:17:45 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="KiWpLnMw"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EDHWIgAy"; dkim-atps=neutral Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 483E810E7D3 for ; Wed, 25 Feb 2026 17:17:44 +0000 (UTC) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61PGkMpZ3632343 for ; Wed, 25 Feb 2026 17:17:43 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= zlhhBeBDZHYroAhwpgIufMaWgUYA4mcK1NKdH2dwIU4=; b=KiWpLnMwbAFkAHaz 89bFWXsfuqfI69YBtIJSlf5qugU+40wlRvv5baioME5yzga3digRu8fT1cE3s/FY hL2PfPgCqykveDZ+Lz2VyB/lCQAyoZ0svQBTXH8rQVDfBzaCiojgbAnFfdBf1Sip a7df93bZQlT+unXcLtfpXjiqIvx6AIO4Le8/LiHzNGV18oad7SOkubvEIhvAeEa2 JMweihFR8NRd0+/WuZyKOLzOJch16TUelt3MYCv+u8l9oYO8gVKubedOcbbAJvsf 2VVNRZ2hm7MYhdbSFxLf2EIc8jO1HelXBn7yktbJYip6uZvo/v//oS03iqIcA8I0 Ahy8DQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cj4w4r3r5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 25 Feb 2026 17:17:42 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb4b8e9112so622012585a.2 for ; Wed, 25 Feb 2026 09:17:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772039862; x=1772644662; darn=lists.freedesktop.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=zlhhBeBDZHYroAhwpgIufMaWgUYA4mcK1NKdH2dwIU4=; b=EDHWIgAyZ/T5We6oasXHF4gle+ESAdvoK6ye6jTxqf9/ygds3pg7mCLjPc29Ap8yeh v/qWcZgtot68hqqAJRduftCsZ51jLuRnFQ+9P7maCEPZUEISao49ES/aiD2Vn5b785x/ 5f1kiIzTbGxNikQz/IXRTVZcx1k24eFq3mAhMoiG8DsF3q4GC4DkbDYLWmoMCnbi4Dp5 WR8mGOeAlCZRBkqGfSxDBdyZGLCAvBFbgy2FGdGVToPe4alVoIC9xOmGrLUw1en9FDYC zdOTqYQnt9ijHgj0Il32Jqad5/f1Jb4U8X7bH4EFRrLSzS2kz+wis4d/L9dfCzTzCt3w ZpPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772039862; x=1772644662; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zlhhBeBDZHYroAhwpgIufMaWgUYA4mcK1NKdH2dwIU4=; b=AFEt0hvEAXbTYr/zPx1AqM+TZinOqj1x8DEVBa/AZ8DvVX8+H9rYbLnoGCyVio4t9M 1zqOMGk0HSfb0iNyP1twd0669dwSJ4H9uYWq4Ef9eP2tnrJSDGFMZC/04y78xuEnDeo/ SBR/qSQzoXJYpb3khDMrZPdl5+Xo4d+uT1f20logxxt3CocSBbmAZWUEMivTjcyCFzgo YUp9fcsj5Pq/LRcl4oxw65/WsScgNnfN9XWniiuEBXwyYUbgdV1tF1xRCFFlHv4qQJX0 SG4Fiys9lU7Htl5WttEnS2PDaiAcwOfgQJtzY6g/t2MZuF7jlLg2tbcOuG6ranZl1YFu G8eg== X-Forwarded-Encrypted: i=1; AJvYcCUz4SAZOKRN7ihkZbktS6vmql3dG7OxlQLXERNa9FNPdODBg6tRzOso42Yhkit2aqKtuwpgsw3QvPo=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxkQsNDlfdQ/rNzVvC5e8hVp+KSGqetkfq3NtNKW/RlrbHBb4fc caNBFPhXCH7k/9aMk+osf7mLXmXacVefV9BQ3T7vTa80F7bU1yhGN2veU4CK6PFwEfF23tejPyt sQA1iTHTzZOE+4vgsQWmOcKnaiIzn0etAFNhKqSd7WJAMEfe1zmgSwbJ3HukHX7q8rI9ek1s= X-Gm-Gg: ATEYQzwsvS8dx0YSNGViz9EAMJPTOhzkOsnCYgAOUmdchcKx6VkeoUF7yIOM4M6HIWs wy2Wq7MsKkQjvZ/37UyYMVz8nap5jVghaU7ZIt6/s+wWUY5gAOaV45DsslbZ8gZtlQDYkR6hUNA LuF3uNXY6dwZfIwLsw8zz9VCHaO9G+7JWd2ztfZfbxJL20mzigYsU3EaeAt84W+AbmjhLXbABFr 6xmMy5s3hQhstnaGNcZUuvKA2zNjy+DxXAxdJXhKPRap9KMaJCTfTYF7SuZGLfMkS49Ms9Gpz+b 52g+8cCPSxyOVNNu7zoQwHYuIlnHoqAJ2WA1SvJ0ErDefQFzZ7jLhc85zmQurE/GXztU+16T9Vk rGdYQAiwozsPfGkcbUPtdy2YTJpLJy7OQdfz0KHbyfDqZDTdOApvl9J5wCOw7Zs3LNJsBgsKrDd UldqOUChbOpx9ze7sOi+4S+ATYVdOBwv6KDdc= X-Received: by 2002:a05:620a:3712:b0:8c6:adfc:48fe with SMTP id af79cd13be357-8cb8c9fe778mr2045652785a.23.1772039862001; Wed, 25 Feb 2026 09:17:42 -0800 (PST) X-Received: by 2002:a05:620a:3712:b0:8c6:adfc:48fe with SMTP id af79cd13be357-8cb8c9fe778mr2045644185a.23.1772039861293; Wed, 25 Feb 2026 09:17:41 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a0eeb16344sm3159248e87.37.2026.02.25.09.17.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 09:17:40 -0800 (PST) Date: Wed, 25 Feb 2026 19:17:38 +0200 From: Dmitry Baryshkov To: Ekansh Gupta Cc: Oded Gabbay , Jonathan Corbet , Shuah Khan , Joerg Roedel , Will Deacon , Robin Murphy , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sumit Semwal , Christian =?utf-8?B?S8O2bmln?= , dri-devel@lists.freedesktop.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, iommu@lists.linux.dev, linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org, Srinivas Kandagatla , Bharath Kumar , Chenna Kesava Raju Subject: Re: [PATCH RFC 01/18] accel/qda: Add Qualcomm QDA DSP accelerator driver docs Message-ID: References: <20260224-qda-firstpost-v1-0-fe46a9c1a046@oss.qualcomm.com> <20260224-qda-firstpost-v1-1-fe46a9c1a046@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: X-Proofpoint-ORIG-GUID: yIcsW5t6jPEsGNavpesbIZehDZ4DrUPd X-Authority-Analysis: v=2.4 cv=IqMTsb/g c=1 sm=1 tr=0 ts=699f2eb7 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=xDAtTkWTXggOwAMwgdAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjI1MDE2NSBTYWx0ZWRfXxJ4VghvQCQTx vyV6x/eorNqd2GIOaeaoBMOUSV5ru+kD/7sbqiBC5Y46YroiYBlngjNGp4+sZItDN+EvzU2xXoB Yf8he32RtrffMJG7VZ5nAS43IAeH+b7+0QQyhgSMIDj7nUlY/Kw9ZxWXZPXqBcYRpNh3xlbJAlj kIwYGJP10llN+UpT1EciQQl3saSgRWNzsmSujn0W4SNwOh4CVeGybsGa5C8D8WPu6/EOlhbTCGh HxktfPSlFhuTCcNdUJeNzCDmQfiRMwHyGNqvZBs7IwWZlRjLJcKPdNXBmv/pWuPAuto1o7hcH+w luoUMqHZlX6VK0iuRWb9bBPE3ABbl0bW8YkhbRlyOaZ6hsyffADPf97ivMoojHQGU37xKujwO6P gSKjV4g8Se3bqlAZewxR+h/qKyvZ4nvn3HGEkzMEtABlmN5fCl7IivlIuRUP3SfJlSnrDDXRkbC LlwHLUTeQu5VV4Cm4pQ== X-Proofpoint-GUID: yIcsW5t6jPEsGNavpesbIZehDZ4DrUPd X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-25_02,2026-02-25_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 spamscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602250165 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gV2VkLCBGZWIgMjUsIDIwMjYgYXQgMDc6Mjc6NDdQTSArMDUzMCwgRWthbnNoIEd1cHRhIHdy b3RlOgo+IAo+IAo+IE9uIDIvMjQvMjAyNiAyOjQ3IEFNLCBEbWl0cnkgQmFyeXNoa292IHdyb3Rl Ogo+ID4gT24gVHVlLCBGZWIgMjQsIDIwMjYgYXQgMTI6Mzg6NTVBTSArMDUzMCwgRWthbnNoIEd1 cHRhIHdyb3RlOgo+ID4+IEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24gZm9yIHRoZSBRdWFsY29t bSBEU1AgQWNjZWxlcmF0b3IgKFFEQSkgZHJpdmVyCj4gPj4gaW50ZWdyYXRlZCBpbiB0aGUgRFJN IGFjY2VsIHN1YnN5c3RlbS4KPiA+Pgo+ID4+IFRoZSBuZXcgZG9jcyBpbnRyb2R1Y2UgUURBIGFz IGEgRFJNL2FjY2VsLWJhc2VkIGltcGxlbWVudGF0aW9uIG9mCj4gPj4gSGV4YWdvbiBEU1Agb2Zm bG9hZCB0aGF0IGlzIGludGVuZGVkIGFzIGEgbW9kZXJuIGFsdGVybmF0aXZlIHRvIHRoZQo+ID4+ IGxlZ2FjeSBGYXN0UlBDIGRyaXZlciBpbiBkcml2ZXJzL21pc2MuIFRoZSB0ZXh0IGRlc2NyaWJl cyB0aGUgZHJpdmVyCj4gPj4gbW90aXZhdGlvbiwgaGlnaC1sZXZlbCBhcmNoaXRlY3R1cmUgYW5k IGludGVyYWN0aW9uIHdpdGggSU9NTVUgY29udGV4dAo+ID4+IGJhbmtzLCBHRU0tYmFzZWQgYnVm ZmVyIG1hbmFnZW1lbnQgYW5kIHRoZSBSUE1zZyB0cmFuc3BvcnQuCj4gPj4KPiA+PiBUaGUgdXNl ci1zcGFjZSBmYWNpbmcgc2VjdGlvbiBkb2N1bWVudHMgdGhlIG1haW4gUURBIElPQ1RMcyB1c2Vk IHRvCj4gPj4gZXN0YWJsaXNoIERTUCBzZXNzaW9ucywgbWFuYWdlIEdFTSBidWZmZXIgb2JqZWN0 cyBhbmQgaW52b2tlIHJlbW90ZQo+ID4+IHByb2NlZHVyZXMgdXNpbmcgdGhlIEZhc3RSUEMgcHJv dG9jb2wsIGFsb25nIHdpdGggYSB0eXBpY2FsIGxpZmVjeWNsZQo+ID4+IGV4YW1wbGUgZm9yIGFw cGxpY2F0aW9ucy4KPiA+Pgo+ID4+IEZpbmFsbHksIHRoZSBkcml2ZXIgaXMgd2lyZWQgaW50byB0 aGUgQ29tcHV0ZSBBY2NlbGVyYXRvcnMKPiA+PiBkb2N1bWVudGF0aW9uIGluZGV4IHVuZGVyIERv Y3VtZW50YXRpb24vYWNjZWwsIGFuZCBhIGJyaWVmIGRlYnVnZ2luZwo+ID4+IHNlY3Rpb24gc2hv d3MgaG93IHRvIGVuYWJsZSBkeW5hbWljIGRlYnVnIGZvciB0aGUgUURBIGltcGxlbWVudGF0aW9u Lgo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogRWthbnNoIEd1cHRhIDxla2Fuc2guZ3VwdGFAb3Nz LnF1YWxjb21tLmNvbT4KPiA+PiAtLS0KPiA+PiAgRG9jdW1lbnRhdGlvbi9hY2NlbC9pbmRleC5y c3QgICAgIHwgICAxICsKPiA+PiAgRG9jdW1lbnRhdGlvbi9hY2NlbC9xZGEvaW5kZXgucnN0IHwg IDE0ICsrKysrCj4gPj4gIERvY3VtZW50YXRpb24vYWNjZWwvcWRhL3FkYS5yc3QgICB8IDEyOSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAzIGZpbGVzIGNoYW5n ZWQsIDE0NCBpbnNlcnRpb25zKCspCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv bi9hY2NlbC9pbmRleC5yc3QgYi9Eb2N1bWVudGF0aW9uL2FjY2VsL2luZGV4LnJzdAo+ID4+IGlu ZGV4IGNiYzdkNGMzODc2YS4uNTkwMWVhN2Y3ODRjIDEwMDY0NAo+ID4+IC0tLSBhL0RvY3VtZW50 YXRpb24vYWNjZWwvaW5kZXgucnN0Cj4gPj4gKysrIGIvRG9jdW1lbnRhdGlvbi9hY2NlbC9pbmRl eC5yc3QKPiA+PiBAQCAtMTAsNCArMTAsNSBAQCBDb21wdXRlIEFjY2VsZXJhdG9ycwo+ID4+ICAg ICBpbnRyb2R1Y3Rpb24KPiA+PiAgICAgYW1keGRuYS9pbmRleAo+ID4+ICAgICBxYWljL2luZGV4 Cj4gPj4gKyAgIHFkYS9pbmRleAo+ID4+ICAgICByb2NrZXQvaW5kZXgKPiA+PiBkaWZmIC0tZ2l0 IGEvRG9jdW1lbnRhdGlvbi9hY2NlbC9xZGEvaW5kZXgucnN0IGIvRG9jdW1lbnRhdGlvbi9hY2Nl bC9xZGEvaW5kZXgucnN0Cj4gPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+PiBpbmRleCAwMDAw MDAwMDAwMDAuLmJjZTE4OGYyMTExNwo+ID4+IC0tLSAvZGV2L251bGwKPiA+PiArKysgYi9Eb2N1 bWVudGF0aW9uL2FjY2VsL3FkYS9pbmRleC5yc3QKPiA+PiBAQCAtMCwwICsxLDE0IEBACj4gPj4g Ky4uIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiA+PiArCj4gPj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ID4+ICsgYWNjZWwvcWRhIFF1YWxjb21tIERT UCBEcml2ZXIKPiA+PiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPj4gKwo+ID4+ ICtUaGUgKiphY2NlbC9xZGEqKiBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgUXVhbGNvbW0g SGV4YWdvbiBEU1BzIChEaWdpdGFsCj4gPj4gK1NpZ25hbCBQcm9jZXNzb3JzKSB3aXRoaW4gdGhl IERSTSBhY2NlbGVyYXRvciBmcmFtZXdvcmsuIEl0IHNlcnZlcyBhcyBhIG1vZGVybgo+ID4+ICty ZXBsYWNlbWVudCBmb3IgdGhlIGxlZ2FjeSBGYXN0UlBDIGRyaXZlciwgb2ZmZXJpbmcgaW1wcm92 ZWQgcmVzb3VyY2UgbWFuYWdlbWVudAo+ID4+ICthbmQgc3RhbmRhcmQgc3Vic3lzdGVtIGludGVn cmF0aW9uLgo+ID4+ICsKPiA+PiArLi4gdG9jdHJlZTo6Cj4gPj4gKwo+ID4+ICsgICBxZGEKPiA+ PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9hY2NlbC9xZGEvcWRhLnJzdCBiL0RvY3VtZW50 YXRpb24vYWNjZWwvcWRhL3FkYS5yc3QKPiA+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uNzQyMTU5ODQxYjk1Cj4gPj4gLS0tIC9kZXYvbnVsbAo+ID4+ICsr KyBiL0RvY3VtZW50YXRpb24vYWNjZWwvcWRhL3FkYS5yc3QKPiA+PiBAQCAtMCwwICsxLDEyOSBA QAo+ID4+ICsuLiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gPj4gKwo+ ID4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPj4gK1F1YWxjb21tIEhl eGFnb24gRFNQIChRREEpIERyaXZlcgo+ID4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Cj4gPj4gKwo+ID4+ICtJbnRyb2R1Y3Rpb24KPiA+PiArPT09PT09PT09PT09Cj4gPj4g Kwo+ID4+ICtUaGUgKipRREEqKiAoUXVhbGNvbW0gRFNQIEFjY2VsZXJhdG9yKSBkcml2ZXIgaXMg YSBuZXcgRFJNLWJhc2VkCj4gPj4gK2FjY2VsZXJhdG9yIGRyaXZlciBmb3IgUXVhbGNvbW0ncyBI ZXhhZ29uIERTUHMuIEl0IHByb3ZpZGVzIGEgc3RhbmRhcmRpemVkCj4gPj4gK2ludGVyZmFjZSBm b3IgdXNlci1zcGFjZSBhcHBsaWNhdGlvbnMgdG8gb2ZmbG9hZCBjb21wdXRhdGlvbmFsIHRhc2tz IHJhbmdpbmcKPiA+PiArZnJvbSBhdWRpbyBwcm9jZXNzaW5nIGFuZCBzZW5zb3Igb2ZmbG9hZCB0 byBjb21wdXRlciB2aXNpb24gYW5kIEFJCj4gPj4gK2luZmVyZW5jZSB0byB0aGUgSGV4YWdvbiBE U1BzIGZvdW5kIG9uIFF1YWxjb21tIFNvQ3MuCj4gPj4gKwo+ID4+ICtUaGlzIGRyaXZlciBpcyBk ZXNpZ25lZCB0byBhbGlnbiB3aXRoIHRoZSBMaW51eCBrZXJuZWwncyBtb2Rlcm4gKipDb21wdXRl Cj4gPj4gK0FjY2VsZXJhdG9ycyoqIHN1YnN5c3RlbSAoYGRyaXZlcnMvYWNjZWwvYCksIHByb3Zp ZGluZyBhIHJvYnVzdCBhbmQgbW9kdWxhcgo+ID4+ICthbHRlcm5hdGl2ZSB0byB0aGUgbGVnYWN5 IEZhc3RSUEMgZHJpdmVyIGluIGBkcml2ZXJzL21pc2MvYCwgb2ZmZXJpbmcKPiA+PiAraW1wcm92 ZWQgcmVzb3VyY2UgbWFuYWdlbWVudCBhbmQgYmV0dGVyIGludGVncmF0aW9uIHdpdGggc3RhbmRh cmQga2VybmVsCj4gPj4gK3N1YnN5c3RlbXMuCj4gPj4gKwo+ID4+ICtNb3RpdmF0aW9uCj4gPj4g Kz09PT09PT09PT0KPiA+PiArCj4gPj4gK1RoZSBleGlzdGluZyBGYXN0UlBDIGltcGxlbWVudGF0 aW9uIGluIHRoZSBrZXJuZWwgdXRpbGl6ZXMgYSBjdXN0b20gY2hhcmFjdGVyCj4gPj4gK2Rldmlj ZSBhbmQgbGFja3MgaW50ZWdyYXRpb24gd2l0aCBtb2Rlcm4ga2VybmVsIG1lbW9yeSBtYW5hZ2Vt ZW50IGZyYW1ld29ya3MuCj4gPj4gK1RoZSBRREEgZHJpdmVyIGFkZHJlc3NlcyB0aGVzZSBsaW1p dGF0aW9ucyBieToKPiA+PiArCj4gPj4gKzEuICAqKkFkb3B0aW5nIHRoZSBEUk0gYWNjZWwgRnJh bWV3b3JrKio6IExldmVyYWdpbmcgc3RhbmRhcmQgdUFQSXMgZm9yIGRldmljZQo+ID4+ICsgICAg bWFuYWdlbWVudCwgam9iIHN1Ym1pc3Npb24sIGFuZCBzeW5jaHJvbml6YXRpb24uCj4gPj4gKzIu ICAqKlV0aWxpemluZyBHRU0gZm9yIE1lbW9yeSoqOiBQcm92aWRpbmcgcHJvcGVyIGJ1ZmZlciBv YmplY3QgbWFuYWdlbWVudCwKPiA+PiArICAgIGluY2x1ZGluZyBETUEtQlVGIGltcG9ydC9leHBv cnQgY2FwYWJpbGl0aWVzLgo+ID4+ICszLiAgKipJbXByb3ZpbmcgSXNvbGF0aW9uKio6IFVzaW5n IElPTU1VIGNvbnRleHQgYmFua3MgdG8gZW5mb3JjZSBtZW1vcnkKPiA+PiArICAgIGlzb2xhdGlv biBiZXR3ZWVuIGRpZmZlcmVudCBEU1AgdXNlciBzZXNzaW9ucy4KPiA+PiArCj4gPj4gK0tleSBG ZWF0dXJlcwo+ID4+ICs9PT09PT09PT09PT0KPiA+PiArCj4gPj4gKyogICAqKlN0YW5kYXJkIEFj Y2VsZXJhdG9yIEludGVyZmFjZSoqOiBFeHBvc2VzIGEgc3RhbmRhcmQgY2hhcmFjdGVyIGRldmlj ZQo+ID4+ICsgICAgbm9kZSAoZS5nLiwgYC9kZXYvYWNjZWwvYWNjZWwwYCkgdmlhIHRoZSBEUk0g c3Vic3lzdGVtLgo+ID4+ICsqICAgKipVbmlmaWVkIE9mZmxvYWQgU3VwcG9ydCoqOiBTdXBwb3J0 cyBhbGwgRFNQIGRvbWFpbnMgKEFEU1AsIENEU1AsIFNEU1AsCj4gPj4gKyAgICBHRFNQKSB2aWEg YSBzaW5nbGUgZHJpdmVyIGFyY2hpdGVjdHVyZS4KPiA+PiArKiAgICoqRmFzdFJQQyBQcm90b2Nv bCoqOiBJbXBsZW1lbnRzIHRoZSByZWxpYWJsZSBSZW1vdGUgUHJvY2VkdXJlIENhbGwKPiA+PiAr ICAgIChGYXN0UlBDKSBwcm90b2NvbCBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBhcHBs aWNhdGlvbiBwcm9jZXNzb3IKPiA+PiArICAgIGFuZCBEU1AuCj4gPj4gKyogICAqKkRNQS1CVUYg SW50ZXJvcCoqOiBTZWFtbGVzcyBzaGFyaW5nIG9mIG1lbW9yeSBidWZmZXJzIGJldHdlZW4gdGhl IERTUAo+ID4+ICsgICAgYW5kIG90aGVyIG11bHRpbWVkaWEgc3Vic3lzdGVtcyAoR1BVLCBDYW1l cmEsIFZpZGVvKSB2aWEgc3RhbmRhcmQgRE1BLUJVRnMuCj4gPj4gKyogICAqKk1vZHVsYXIgRGVz aWduKio6IENsZWFuIHNlcGFyYXRpb24gYmV0d2VlbiB0aGUgY29yZSBEUk0gbG9naWMsIHRoZSBt ZW1vcnkKPiA+PiArICAgIG1hbmFnZXIsIGFuZCB0aGUgUlBNc2ctYmFzZWQgdHJhbnNwb3J0IGxh eWVyLgo+ID4+ICsKPiA+PiArQXJjaGl0ZWN0dXJlCj4gPj4gKz09PT09PT09PT09PQo+ID4+ICsK PiA+PiArVGhlIFFEQSBkcml2ZXIgaXMgY29tcG9zZWQgb2Ygc2V2ZXJhbCBtb2R1bGFyIGNvbXBv bmVudHM6Cj4gPj4gKwo+ID4+ICsxLiAgKipDb3JlIERyaXZlciAoYHFkYV9kcnZgKSoqOiBNYW5h Z2VzIGRldmljZSByZWdpc3RyYXRpb24sIGZpbGUgb3BlcmF0aW9ucywKPiA+PiArICAgIGFuZCBi cmlkZ2VzIHRoZSBkcml2ZXIgd2l0aCB0aGUgRFJNIGFjY2VsZXJhdG9yIHN1YnN5c3RlbS4KPiA+ PiArMi4gICoqTWVtb3J5IE1hbmFnZXIgKGBxZGFfbWVtb3J5X21hbmFnZXJgKSoqOiBBIGZsZXhp YmxlIG1lbW9yeSBtYW5hZ2VtZW50Cj4gPj4gKyAgICBsYXllciB0aGF0IGhhbmRsZXMgSU9NTVUg Y29udGV4dCBiYW5rcy4gSXQgc3VwcG9ydHMgcGx1Z2dhYmxlIGJhY2tlbmRzCj4gPj4gKyAgICAo c3VjaCBhcyBETUEtY29oZXJlbnQpIHRvIGFkYXB0IHRvIGRpZmZlcmVudCBTb0MgbWVtb3J5IGFy Y2hpdGVjdHVyZXMuCj4gPj4gKzMuICAqKkdFTSBTdWJzeXN0ZW0qKjogSW1wbGVtZW50cyB0aGUg RFJNIEdFTSBpbnRlcmZhY2UgZm9yIGJ1ZmZlciBtYW5hZ2VtZW50Ogo+ID4+ICsKPiA+PiArICAg ICogKipgcWRhX2dlbWAqKjogQ29yZSBHRU0gb2JqZWN0IG1hbmFnZW1lbnQsIGluY2x1ZGluZyBh bGxvY2F0aW9uLCBtbWFwCj4gPj4gKyAgICAgIG9wZXJhdGlvbnMsIGFuZCBidWZmZXIgbGlmZWN5 Y2xlIG1hbmFnZW1lbnQuCj4gPj4gKyAgICAqICoqYHFkYV9wcmltZWAqKjogUFJJTUUgaW1wb3J0 IGZ1bmN0aW9uYWxpdHkgZm9yIERNQS1CVUYgaW50ZXJvcGVyYWJpbGl0eSwKPiA+PiArICAgICAg ZW5hYmxpbmcgc2VhbWxlc3MgYnVmZmVyIHNoYXJpbmcgd2l0aCBvdGhlciBrZXJuZWwgc3Vic3lz dGVtcy4KPiA+PiArCj4gPj4gKzQuICAqKlRyYW5zcG9ydCBMYXllciAoYHFkYV9ycG1zZ2ApKio6 IEFic3RyYWN0aW9uIG92ZXIgdGhlIFJQTXNnIGZyYW1ld29yawo+ID4+ICsgICAgdG8gaGFuZGxl IGxvdy1sZXZlbCBtZXNzYWdlIHBhc3Npbmcgd2l0aCB0aGUgRFNQIGZpcm13YXJlLgo+ID4+ICs1 LiAgKipDb21wdXRlIEJ1cyAoYHFkYV9jb21wdXRlX2J1c2ApKio6IEEgY3VzdG9tIHZpcnR1YWwg YnVzIHVzZWQgdG8KPiA+PiArICAgIGVudW1lcmF0ZSBhbmQgbWFuYWdlIHRoZSBzcGVjaWZpYyBj b21wdXRlIGNvbnRleHQgYmFua3MgZGVmaW5lZCBpbiB0aGUKPiA+PiArICAgIGRldmljZSB0cmVl Lgo+ID4gSSdtIHJlYWxseSBub3Qgc3VyZSBpZiBpdCdzIGEgYm9udXMgb3Igbm90LiBJJ20gd2Fp dGluZyBmb3IgaW9tbXUtbWFwCj4gPiBpbXByb3ZlbWVudHMgdG8gbGFuZCB0byBzZW5kIHBhdGNo ZXMgcmV3b3JraW5nIEZhc3RSUEMgQ0IgZnJvbSB1c2luZwo+ID4gcHJvYmUgaW50byBiZWluZyBj cmVhdGVkIGJ5IHRoZSBtYWluIGRyaXZlcjogaXQgd291bGQgcmVtb3ZlIHNvbWUgb2YgdGhlCj4g PiBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbnMgYmV0d2VlbiBtYWluIGRyaXZlciBmaW5pc2hpbmcg cHJvYmUgYW5kIHRoZSBDQgo+ID4gZGV2aWNlcyBwcm9iaW5nIGluIHRoZSBiYWNrZ3JvdW5kLgo+ ID4KPiA+IFdoYXQncyB0aGUgYWN0dWFsIGJlbmVmaXQgb2YgdGhlIENCIGJ1cz8KPiBJIHRyaWVk IGZvbGxvd2luZyB0aGUgVGVncmEgaG9zdDF4IGxvZ2ljIGhlcmUgYXMgd2FzIGRpc2N1c3NlZCBo ZXJlWzFdLiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQKPiB3aXRoIHRoaXMgdGhlIENCIHdpbGwg YmVjb21lIG1vcmUgbWFuYWdlYWJsZSByZWR1Y2luZyB0aGUgc2NvcGUgb2YgcmFjZXMgdGhhdCBl eGlzdHMgaW4gdGhlCj4gY3VycmVudCBmYXN0cnBjIGRyaXZlci4KCkl0J3MgbmljZSwgYnV0IHRo ZW4gaXQgY2FuIGFsc28gYmUgdXNlZCBieSB0aGUgZXhpc3RpbmcgZmFzdHJwYyBkcml2ZXIuCldv dWxkIHlvdSBtaW5kIHNwbGl0dGluZyBpdCB0byBhIHNlcGFyYXRlIGNoYW5nZXNldCBhbmQgc3Vi bWl0dGluZyBpdD8KCj4gCj4gVGhhdCBzYWlkLCBJJ20gbm90IGNvbXBsZXRlbHkgYXdhcmUgYWJv dXQgdGhlIGlvbW11LW1hcCBpbXByb3ZlbWVudHMuIElzIGl0IHRoZSBvbmUKPiBiZWluZyBkaXNj dXNzZWQgZm9yIHRoaXMgcGF0Y2hbMl0/IElmIGl0IGhlbHBzIGluIG1haW4gZHJpdmVyIHRvIGNy ZWF0ZSBDQiBkZXZpY2VzIGRpcmVjdGx5LCB0aGVuIEkKPiB3b3VsZCBiZSBoYXBweSB0byBhZGFw dCB0aGUgZGVzaWduLgoKVGhhdCB3b3VsZCBtb3N0bHkgbWVhbiBhIGNoYW5nZSB0byB0aGUgd2F5 IHdlIGRlc2NyaWJlIENCcyAodXNpbmcgdGhlCnByb3BlcnR5IGluc3RlYWQgb2YgdGhlIGluLXRy ZWUgc3ViZGV2aWNlcykuIEFueXdheSwgYXMgSSB3cm90ZSwgcGxlYXNlCnN1Ym1pdCBpdCBzZXBh cmF0ZWx5LgoKPiAKPiBbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzI0NWQ2MDJmLTMw MzctNGFlMy05YWY5LWQ5OGYzNzI1OGFhZUBvc3MucXVhbGNvbW0uY29tLwo+IFsyXSBodHRwczov L2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNjAxMjYta2FhbmFwYWxpLWlyaXMtdjEtMy1lMjY0NjI0 NmJmYzFAb3NzLnF1YWxjb21tLmNvbS8KPiA+Cj4gPj4gKzYuICAqKkZhc3RSUEMgQ29yZSAoYHFk YV9mYXN0cnBjYCkqKjogSW1wbGVtZW50cyB0aGUgcHJvdG9jb2wgbG9naWMgZm9yCj4gPj4gKyAg ICBtYXJzaGFsbGluZyBhcmd1bWVudHMgYW5kIGhhbmRsaW5nIHJlbW90ZSBpbnZvY2F0aW9ucy4K PiA+PiArCj4gPj4gK1VzZXItU3BhY2UgQVBJCj4gPj4gKz09PT09PT09PT09PT09Cj4gPj4gKwo+ ID4+ICtUaGUgZHJpdmVyIGV4cG9zZXMgYSBzZXQgb2YgRFJNLWNvbXBsaWFudCBJT0NUTHMuIE5v dGUgdGhhdCB0aGVzZSBhcmUgZGVzaWduZWQKPiA+PiArdG8gYmUgZmFtaWxpYXIgdG8gZXhpc3Rp bmcgRmFzdFJQQyB1c2VycyB3aGlsZSBhZGhlcmluZyB0byBEUk0gc3RhbmRhcmRzLgo+ID4+ICsK PiA+PiArKiAgIGBEUk1fSU9DVExfUURBX1FVRVJZYDogUXVlcnkgRFNQIHR5cGUgKGUuZy4sICJj ZHNwIiwgImFkc3AiKQo+ID4+ICsgICAgYW5kIGNhcGFiaWxpdGllcy4KPiA+PiArKiAgIGBEUk1f SU9DVExfUURBX0lOSVRfQVRUQUNIYDogQXR0YWNoIGEgdXNlciBzZXNzaW9uIHRvIHRoZSBEU1An cyBwcm90ZWN0aW9uCj4gPj4gKyAgICBkb21haW4uCj4gPj4gKyogICBgRFJNX0lPQ1RMX1FEQV9J TklUX0NSRUFURWA6IEluaXRpYWxpemUgYSBuZXcgcHJvY2VzcyBjb250ZXh0IG9uIHRoZSBEU1Au Cj4gPiBZb3UgbmVlZCB0byBleHBsYWluIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdv Lgo+IEFjay4KPiA+Cj4gPj4gKyogICBgRFJNX0lPQ1RMX1FEQV9JTlZPS0VgOiBTdWJtaXQgYSBy ZW1vdGUgbWV0aG9kIGludm9jYXRpb24gKHRoZSBwcmltYXJ5Cj4gPj4gKyAgICBleGVjdXRpb24g dW5pdCkuCj4gPj4gKyogICBgRFJNX0lPQ1RMX1FEQV9HRU1fQ1JFQVRFYDogQWxsb2NhdGUgYSBH RU0gYnVmZmVyIG9iamVjdCBmb3IgRFNQIHVzYWdlLgo+ID4+ICsqICAgYERSTV9JT0NUTF9RREFf R0VNX01NQVBfT0ZGU0VUYDogUmV0cmlldmUgbW1hcCBvZmZzZXRzIGZvciBtZW1vcnkgbWFwcGlu Zy4KPiA+PiArKiAgIGBEUk1fSU9DVExfUURBX01BUGAgLyBgRFJNX0lPQ1RMX1FEQV9NVU5NQVBg OiBNYXAgb3IgdW5tYXAgYnVmZmVycyBpbnRvIHRoZQo+ID4+ICsgICAgRFNQJ3MgdmlydHVhbCBh ZGRyZXNzIHNwYWNlLgo+ID4gRG8gd2UgbmVlZCB0byBtYWtlIHRoaXMgc2VwYXJhdGU/IENhbiB3 ZSBtYXAvdW5tYXAgYnVmZmVycyBvbiB0aGVpcgo+ID4gdXNhZ2U/IE9yIHdoZW4gdGhleSBhcmUg Y3JlYXRlZD8gSSdtIHRoaW5raW5nIGFib3V0IHRoYXQgdGhlCj4gPiB2aXJ0dWFsaXphdGlvbi4g Cj4gVGhlIGxpYiBwcm92aWRlcyB3YXlzKGZhc3RycGNfbW1hcC9yZW1vdGVfbW1hcDY0KSBmb3Ig dXNlcnMgdG8gbWFwL3VubWFwIHRoZQo+IGJ1ZmZlcnMgb24gRFNQIGFzIHBlciBwcm9jZXNzZXMg cmVxdWlyZW1lbnQuIFRoZSBpb2N0bHMgYXJlIGFkZGVkIHRvIHN1cHBvcnQgdGhlIHNhbWUuCgpJ ZiB0aGUgYnVmZmVycyBhcmUgbWFwcGVkLCB0aGVuIGxpYnJhcnkgY2FsbHMgYmVjb21lIGVtcHR5 IGNhbGxzLiBMZXQncwpmb2N1cyBvbiB0aGUgQVBJIGZpcnN0IGFuZCBhZGFwdCB0byB0aGUgbGli cmFyeSBsYXRlciBvbi4KCj4gPiBBbiBhbHRlcm5hdGl2ZSBhcHByb2FjaCB3b3VsZCBiZSB0byBt ZXJnZQo+ID4gR0VUX01NQVBfT0ZGU0VUIHdpdGggX01BUDogb25jZSB5b3UgbWFwIGl0IHRvIHRo ZSBEU1AgbWVtb3J5LCB5b3Ugd2lsbAo+ID4gZ2V0IHRoZSBvZmZzZXQuIAo+IF9NQVAgaXMgbm90 IG5lZWQgZm9yIGFsbCB0aGUgYnVmZmVycy4gTW9zdCBvZiB0aGUgcmVtb3RlIGNhbGwgYnVmZmVy cyB0aGF0IGFyZSBwYXNzZWQgdG8gRFNQCj4gYXJlIGF1dG9tYXRpY2FsbHkgbWFwcGVkIGJ5IERT UCBiZWZvcmUgaW52b2tpbmcgdGhlIERTUCBpbXBsZW1lbnRhdGlvbiBzbyB0aGUgdXNlci1zcGFj ZQo+IGRvZXMgbm90IG5lZWQgdG8gY2FsbCBfTUFQIGZvciB0aGVzZS4KCklzIHRoZXJlIGEgcmVh c29uIGZvciB0aGF0PyBJJ2QgcmVhbGx5IHByZWZlciBpZiB3ZSBjaGFuZ2UgaXQsIG1ha2luZyBp dAptb3JlIGVmZmVjdGl2ZSBhbmQgbW9yZSBjb250cm9sbGFibGUuIAoKPiAKPiBTb21lIGJ1ZmZl cnMoZS5nLiwgc2hhcmVkIHBlcnNpc3RlbnQgYnVmZmVycykgZG8gcmVxdWlyZSBleHBsaWNpdCBt YXBwaW5nLCB3aGljaCBpcyB3aHkKPiBNQVAvTVVOTUFQIGV4aXN0cyBpbiBGYXN0UlBDLgo+IAo+ IEJlY2F1c2Ugb2YgdGhpcyBiZWhhdmlvcmFsIGRpZmZlcmVuY2UsIG1lcmdpbmcgR0VUX01NQVBf T0ZGU0VUIHdpdGggTUFQIGlzIG5vdCBhY2N1cmF0ZS4KPiBHRVRfTU1BUF9PRkZTRVQgaXMgZm9y IENQVeKAkXNpZGUgbW1hcCB2aWEgR0VNLCB3aGVyZWFzIE1BUCBpcyBzcGVjaWZpY2FsbHkgZm9y IERTUAo+IHZpcnR1YWwgYWRkcmVzcyBhc3NpZ25tZW50Lgo+ID4KPiA+PiArCj4gPj4gK1VzYWdl IEV4YW1wbGUKPiA+PiArPT09PT09PT09PT09PQo+ID4+ICsKPiA+PiArQSB0eXBpY2FsIGxpZmVj eWNsZSBmb3IgYSB1c2VyLXNwYWNlIGFwcGxpY2F0aW9uOgo+ID4+ICsKPiA+PiArMS4gICoqRGlz Y292ZXJ5Kio6IE9wZW4gYC9kZXYvYWNjZWwvYWNjZWwqYCBhbmQgY2hlY2sKPiA+PiArICAgIGBE Uk1fSU9DVExfUURBX1FVRVJZYCB0byBmaW5kIHRoZSBkZXNpcmVkIERTUCAoZS5nLiwgQ0RTUCBm b3IKPiA+PiArICAgIGNvbXB1dGUgd29ya2xvYWRzKS4KPiA+PiArMi4gICoqSW5pdGlhbGl6YXRp b24qKjogQ2FsbCBgRFJNX0lPQ1RMX1FEQV9JTklUX0FUVEFDSGAgYW5kCj4gPj4gKyAgICBgRFJN X0lPQ1RMX1FEQV9JTklUX0NSRUFURWAgdG8gZXN0YWJsaXNoIGEgc2Vzc2lvbi4KPiA+PiArMy4g ICoqTWVtb3J5Kio6IEFsbG9jYXRlIGJ1ZmZlcnMgdmlhIGBEUk1fSU9DVExfUURBX0dFTV9DUkVB VEVgIG9yIGltcG9ydAo+ID4+ICsgICAgRE1BLUJVRnMgKFBSSU1FIGZkKSBmcm9tIG90aGVyIGRy aXZlcnMgdXNpbmcgYERSTV9JT0NUTF9QUklNRV9GRF9UT19IQU5ETEVgLgo+ID4+ICs0LiAgKipF eGVjdXRpb24qKjogVXNlIGBEUk1fSU9DVExfUURBX0lOVk9LRWAgdG8gcGFzcyBhcmd1bWVudHMg YW5kIGV4ZWN1dGUKPiA+PiArICAgIGZ1bmN0aW9ucyBvbiB0aGUgRFNQLgo+ID4+ICs1LiAgKipD bGVhbnVwKio6IENsb3NlIGZpbGUgZGVzY3JpcHRvcnMgdG8gYXV0b21hdGljYWxseSByZWxlYXNl IHJlc291cmNlcyBhbmQKPiA+PiArICAgIGRldGFjaCB0aGUgc2Vzc2lvbi4KPiA+PiArCj4gPj4g K0ludGVybmFsIEltcGxlbWVudGF0aW9uCj4gPj4gKz09PT09PT09PT09PT09PT09PT09PT09Cj4g Pj4gKwo+ID4+ICtNZW1vcnkgTWFuYWdlbWVudAo+ID4+ICstLS0tLS0tLS0tLS0tLS0tLQo+ID4+ ICtUaGUgZHJpdmVyJ3MgbWVtb3J5IG1hbmFnZXIgY3JlYXRlcyB2aXJ0dWFsICJJT01NVSBkZXZp Y2VzIiB0aGF0IG1hcCB0bwo+ID4+ICtoYXJkd2FyZSBjb250ZXh0IGJhbmtzLiBUaGlzIGFsbG93 cyB0aGUgZHJpdmVyIHRvIG1hbmFnZSBtdWx0aXBsZSBpc29sYXRlZAo+ID4+ICthZGRyZXNzIHNw YWNlcy4gVGhlIGltcGxlbWVudGF0aW9uIGN1cnJlbnRseSB1c2VzIGEgKipETUEtY29oZXJlbnQg YmFja2VuZCoqCj4gPj4gK3RvIGVuc3VyZSBkYXRhIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIENQ VSBhbmQgRFNQIHdpdGhvdXQgbWFudWFsIGNhY2hlCj4gPj4gK21haW50ZW5hbmNlIGluIG1vc3Qg Y2FzZXMuCj4gPj4gKwo+ID4+ICtEZWJ1Z2dpbmcKPiA+PiArPT09PT09PT09Cj4gPj4gK1RoZSBk cml2ZXIgaW5jbHVkZXMgZXh0ZW5zaXZlIGR5bmFtaWMgZGVidWcgc3VwcG9ydC4gRW5hYmxlIGl0 IHZpYSB0aGUKPiA+PiAra2VybmVsJ3MgZHluYW1pYyBkZWJ1ZyBjb250cm9sOgo+ID4+ICsKPiA+ PiArLi4gY29kZS1ibG9jazo6IGJhc2gKPiA+PiArCj4gPj4gKyAgICBlY2hvICJmaWxlIGRyaXZl cnMvYWNjZWwvcWRhLyogK3AiID4gL3N5cy9rZXJuZWwvZGVidWcvZHluYW1pY19kZWJ1Zy9jb250 cm9sCj4gPiBQbGVhc2UgYWRkIGRvY3VtZW50YXRpb24gb24gaG93IHRvIGJ1aWxkIHRoZSB0ZXN0 IGFwcHMgYW5kIGhvdyB0byBsb2FkCj4gPiB0aGVtIHRvIHRoZSBEU1AuCj4gQWNrLgo+ID4KPiA+ PiAtLSAKPiA+PiAyLjM0LjEKPiA+Pgo+IAoKLS0gCldpdGggYmVzdCB3aXNoZXMKRG1pdHJ5Cg==