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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id B8B50C433EF for ; Wed, 6 Jul 2022 13:18:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LLmMbZGq5560FkRPBCXJh/J63u96M5fJIWelVJcy/sw=; b=31K1JxqZiupSpf JK+Xg0W+0DKzytX9GuEL6tphcUydQkWBKoZL1y3Tv+DWwOKVwCiSMuUmdhSuu+5TB69QqwbRPMC0c rB6MymU3rVie8tpXlWxB5j6ZM58UjGpUZnn5hl5xTmBo8ftaH9Ez3Zyqe/fusH9MLOxuJfR7sMFix PTlDuCjemEAldH7JQxayPgkdMtMprfNM8CkwgeL7hfkA14S4LzDw96+NJb7sr7tGV3SgWpA76h88t ZABfA60S3nZWteNss8yRJrauR7ZYrJFNivbeKsdLEASZV9DRxJFCWV9EX9+21vg9DDbaUYaQn/+YW C/KHjbuXTPGgmCeJdn9Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o94u6-00ADsg-Lp; Wed, 06 Jul 2022 13:17:18 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o94u1-00ADkK-OR for linux-arm-kernel@lists.infradead.org; Wed, 06 Jul 2022 13:17:17 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2118C106F; Wed, 6 Jul 2022 06:17:01 -0700 (PDT) Received: from donnerap.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6860C3F792; Wed, 6 Jul 2022 06:16:59 -0700 (PDT) Date: Wed, 6 Jul 2022 14:16:55 +0100 From: Andre Przywara To: Jernej =?UTF-8?B?xaBrcmFiZWM=?= Cc: Samuel Holland , Chen-Yu Tsai , Rob Herring , Krzysztof Kozlowski , Icenowy Zheng , linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v11 3/6] arm64: dts: allwinner: Add Allwinner H616 .dtsi file Message-ID: <20220706141655.15d2dd0e@donnerap.cambridge.arm.com> In-Reply-To: <5278570.Sb9uPGUboI@kista> References: <20220428230933.15262-1-andre.przywara@arm.com> <22699277.6Emhk5qWAg@kista> <20220704225534.3e1a901a@slackpad.lan> <5278570.Sb9uPGUboI@kista> Organization: ARM X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.32; aarch64-unknown-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220706_061713_940736_DFD4C8DB X-CRM114-Status: GOOD ( 88.27 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCAwNSBKdWwgMjAyMiAxOTozMjoyNiArMDIwMApKZXJuZWogxaBrcmFiZWMgPGplcm5l ai5za3JhYmVjQGdtYWlsLmNvbT4gd3JvdGU6CgpIaSBKZXJuZWosCgpzbyBhZnRlciBzZWVtaW5n bHkgaGF2aW5nIGZpbmlzaGVkIHdyaXRpbmcgdGhpcyBlbWFpbCwgSSByZWFsaXNlZCB0aGF0CnRo aXMgd29uJ3QgcmVhbGx5IGhlbHAsIGFzIEkgdGhpbmsgdGhpcyBkaXZlcnRzIHRoZSBkaXNjdXNz aW9uLiBBbmQgdGhlCnByb2JsZW0gaGFzIGJlZW4gYXJvdW5kIGZvciBhIHdoaWxlLCBhbmQgd29u J3QgcHJvYmFibHkgYmUgc29sdmVkIGVhc2lseQpvciBxdWlja2x5LiBJIHRoaW5rIHdlIGFncmVl IHRvIGRpc2FncmVlIGhlcmUsIG9yIHdlIHNob3VsZCBhZG1pdCB0aGF0CnRoZXJlIGFyZSBkaWZm ZXJlbnQgYXBwcm9hY2hlcyAoImJ1bmRsZWQgZmlybXdhcmUiIHZzLiAiVUVGSSIpLCBzbyBpbiB0 aGUKaW50ZXJlc3Qgb2Ygbm90IGJsb2NraW5nIHRoZSBINjE2IHNlcmllczoKClNoYWxsIEkganVz dCBrZWVwIHRoZSBmaXJtd2FyZSBub2RlPyBUaGlzIHdvdWxkIHdvcmsgYm90aCB3YXlzLCB3aGVy ZWFzCmRyb3BwaW5nIHRoZSBub2RlIHdvdWxkIGltcGVkZSB0aGUgImJ1bmRsZWQgZmlybXdhcmUi IGFwcHJvYWNoPwoKQW5zd2VycyBhbmQgcmVwbGllcywgYXMgbWVudGlvbmVkIGdvaW5nIHBvdGVu dGlhbGx5IGEgYml0IG9mZi10b3BpYywgYmVsb3cuCgo+IERuZSBwb25lZGVsamVrLCAwNC4ganVs aWogMjAyMiBvYiAyMzo1ODowMiBDRVNUIGplIEFuZHJlIFByenl3YXJhIG5hcGlzYWwoYSk6Cj4g PiBPbiBNb24sIDA0IEp1bCAyMDIyIDIwOjQyOjQ3ICswMjAwCj4gPiBKZXJuZWogxaBrcmFiZWMg PGplcm5lai5za3JhYmVjQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiAKPiA+IEhpIEplcm5laiwKPiA+ ICAgCj4gPiA+IERuZSBwb25lZGVsamVrLCAwNC4ganVsaWogMjAyMiBvYiAxNTozMDo1NyBDRVNU IGplIEFuZHJlIFByenl3YXJhICAgCj4gbmFwaXNhbChhKToKPiA+ID4gPiBPbiBTYXQsIDAyIEp1 bCAyMDIyIDIzOjE2OjUzICswMjAwCj4gPiA+ID4gSmVybmVqIMWga3JhYmVjIDxqZXJuZWouc2ty YWJlY0BnbWFpbC5jb20+IHdyb3RlOgo+ID4gPiA+IAo+ID4gPiA+IEhpIEplcm5laiwKPiA+ID4g PiAgIAo+ID4gPiA+ID4gRG5lIMSNZXRydGVrLCAzMC4ganVuaWogMjAyMiBvYiAwMjowNDoxMCBD RVNUIGplIEFuZHJlIFByenl3YXJhICAgCj4gbmFwaXNhbChhKToKPiA+ID4gPiA+ID4gT24gVHVl LCAwMyBNYXkgMjAyMiAyMTowNToxMSArMDIwMAo+ID4gPiA+ID4gPiBKZXJuZWogxaBrcmFiZWMg PGplcm5lai5za3JhYmVjQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4g PiBIaSBKZXJuZWosCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBtYW55IHRoYW5rcyBmb3IgdGFr aW5nIHRoZSB0aW1lIHRvIHdhZGUgdGhyb3VnaCB0aGlzIGZpbGUhCj4gPiA+ID4gPiA+ICAgCj4g PiA+ID4gPiA+ID4gRG5lIHBldGVrLCAyOS4gYXByaWwgMjAyMiBvYiAwMTowOTozMCBDRVNUIGpl IEFuZHJlIFByenl3YXJhICAKPiA+ID4gCj4gPiA+IG5hcGlzYWwoYSk6ICAKPiA+ID4gPiA+ID4g PiA+IFRoaXMgKHJlbGF0aXZlbHkpIG5ldyBTb0MgaXMgc2ltaWxhciB0byB0aGUgSDYsIGJ1dCBk cm9wcyB0aGUgIAo+ID4gPiAKPiA+ID4gKGJyb2tlbikKPiA+ID4gICAKPiA+ID4gPiA+ID4gPiA+ IFBDSWUgc3VwcG9ydCBhbmQgdGhlIFVTQiAzLjAgY29udHJvbGxlci4gSXQgYWxzbyBnZXRzIHRo ZQo+ID4gPiA+ID4gPiA+ID4gbWFuYWdlbWVudAo+ID4gPiA+ID4gPiA+ID4gY29udHJvbGxlciBy ZW1vdmVkLCB3aGljaCBpbiB0dXJuIHJlbW92ZXMgKnNvbWUqLCBidXQgbm90IGFsbCBvZgo+ID4g PiA+ID4gPiA+ID4gdGhlCj4gPiA+ID4gPiA+ID4gPiBkZXZpY2VzIGZvcm1lcmx5IGRlZGljYXRl ZCB0byB0aGUgQVJJU0MgKENQVVMpLgo+ID4gPiA+ID4gPiA+ID4gQW5kIHdoaWxlIHRoZXJlIGlz IHN0aWxsIHRoZSBleHRyYSBzdW54aSBpbnRlcnJ1cHQgY29udHJvbGxlciwKPiA+ID4gPiA+ID4g PiA+IHRoZQo+ID4gPiA+ID4gPiA+ID4gcGFja2FnZSBsYWNrcyB0aGUgY29ycmVzcG9uZGluZyBO TUkgcGluLCBzbyBubyBpbnRlcnJ1cHRzIGZvcgo+ID4gPiA+ID4gPiA+ID4gdGhlICAKPiA+ID4g Cj4gPiA+IFBNSUMuCj4gPiA+ICAgCj4gPiA+ID4gPiA+ID4gPiBUaGUgcmVzZXJ2ZWQgbWVtb3J5 IG5vZGUgaXMgYWN0dWFsbHkgaGFuZGxlZCBieSBUcnVzdGVkIEZpcm13YXJlICAKPiA+ID4gCj4g PiA+IG5vdywKPiA+ID4gICAKPiA+ID4gPiA+ID4gPiA+IGJ1dCBVLUJvb3QgZmFpbHMgdG8gcHJv cGFnYXRlIHRoaXMgdG8gYSBzZXBhcmF0ZWx5IGxvYWRlZCBEVEIsCj4gPiA+ID4gPiA+ID4gPiBz byB3ZQo+ID4gPiA+ID4gPiA+ID4ga2VlcCBpdCBpbiBoZXJlIGZvciBub3csIHVudGlsIFUtQm9v dCBsZWFybnMgdG8gZG8gdGhpcwo+ID4gPiA+ID4gPiA+ID4gcHJvcGVybHkuCj4gPiA+ID4gPiA+ ID4gPiAKPiA+ID4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRy ZS5wcnp5d2FyYUBhcm0uY29tPgo+ID4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ID4gPiAK PiA+ID4gPiA+ID4gPiA+ICAuLi4vYXJtNjQvYm9vdC9kdHMvYWxsd2lubmVyL3N1bjUwaS1oNjE2 LmR0c2kgfCA1NzQKPiA+ID4gPiA+ID4gPiA+ICArKysrKysrKysrKysrKysgIAo+ID4gPiAKPiA+ ID4gKysrCj4gPiA+ICAgCj4gPiA+ID4gPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDU3NCBpbnNl cnRpb25zKCspCj4gPiA+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4gPiA+ ID4gPiAgYXJjaC9hcm02NC9ib290L2R0cy9hbGx3aW5uZXIvc3VuNTBpLWg2MTYuZHRzaQo+ID4g PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290 L2R0cy9hbGx3aW5uZXIvc3VuNTBpLWg2MTYuZHRzaQo+ID4gPiA+ID4gPiA+ID4gYi9hcmNoL2Fy bTY0LyAgCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gYm9vdC9kdHMvYWxsd2lubmVyL3N1 bjUwaS1oNjE2LmR0c2kKPiA+ID4gPiA+ID4gPiAgIAo+ID4gPiA+ID4gPiA+ID4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPiA+ID4gPiA+ID4gPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uY2MwNmNkZDE1 YmE1Cj4gPiA+ID4gPiA+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ID4gPiA+ID4gPiArKysgYi9h cmNoL2FybTY0L2Jvb3QvZHRzL2FsbHdpbm5lci9zdW41MGktaDYxNi5kdHNpCj4gPiA+ID4gPiA+ ID4gPiBAQCAtMCwwICsxLDU3NCBAQAo+ID4gPiA+ID4gPiA+ID4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlUKQo+ID4gPiA+ID4gPiA+ID4gKy8vIENvcHlyaWdo dCAoQykgMjAyMCBBcm0gTHRkLgo+ID4gPiA+ID4gPiA+ID4gKy8vIGJhc2VkIG9uIHRoZSBINiBk dHNpLCB3aGljaCBpczoKPiA+ID4gPiA+ID4gPiA+ICsvLyAgIENvcHlyaWdodCAoQykgMjAxNyBJ Y2Vub3d5IFpoZW5nIDxpY2Vub3d5QGFvc2MuaW8+Cj4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4g PiA+ID4gPiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyL2FybS1n aWMuaD4KPiA+ID4gPiA+ID4gPiA+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svc3VuNTBp LWg2MTYtY2N1Lmg+Cj4gPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2Nr L3N1bjUwaS1oNi1yLWNjdS5oPgo+ID4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxkdC1iaW5kaW5n cy9yZXNldC9zdW41MGktaDYxNi1jY3UuaD4KPiA+ID4gPiA+ID4gPiA+ICsjaW5jbHVkZSA8ZHQt YmluZGluZ3MvcmVzZXQvc3VuNTBpLWg2LXItY2N1Lmg+Cj4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ ID4gPiA+ID4gPiArLyB7Cj4gPiA+ID4gPiA+ID4gPiArCWludGVycnVwdC1wYXJlbnQgPSA8Jmdp Yz47Cj4gPiA+ID4gPiA+ID4gPiArCSNhZGRyZXNzLWNlbGxzID0gPDI+Owo+ID4gPiA+ID4gPiA+ ID4gKwkjc2l6ZS1jZWxscyA9IDwyPjsKPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ ICsJY3B1cyB7Cj4gPiA+ID4gPiA+ID4gPiArCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiA+ID4g PiA+ID4gPiA+ICsJCSNzaXplLWNlbGxzID0gPDA+Owo+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gPiA+ID4gKwkJY3B1MDogY3B1QDAgewo+ID4gPiA+ID4gPiA+ID4gKwkJCWNvbXBhdGlibGUg PSAiYXJtLGNvcnRleC1hNTMiOwo+ID4gPiA+ID4gPiA+ID4gKwkJCWRldmljZV90eXBlID0gImNw dSI7Cj4gPiA+ID4gPiA+ID4gPiArCQkJcmVnID0gPDA+Owo+ID4gPiA+ID4gPiA+ID4gKwkJCWVu YWJsZS1tZXRob2QgPSAicHNjaSI7Cj4gPiA+ID4gPiA+ID4gPiArCQkJY2xvY2tzID0gPCZjY3Ug Q0xLX0NQVVg+Owo+ID4gPiA+ID4gPiA+ID4gKwkJfTsKPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4g PiA+ID4gPiA+ICsJCWNwdTE6IGNwdUAxIHsKPiA+ID4gPiA+ID4gPiA+ICsJCQljb21wYXRpYmxl ID0gImFybSxjb3J0ZXgtYTUzIjsKPiA+ID4gPiA+ID4gPiA+ICsJCQlkZXZpY2VfdHlwZSA9ICJj cHUiOwo+ID4gPiA+ID4gPiA+ID4gKwkJCXJlZyA9IDwxPjsKPiA+ID4gPiA+ID4gPiA+ICsJCQll bmFibGUtbWV0aG9kID0gInBzY2kiOwo+ID4gPiA+ID4gPiA+ID4gKwkJCWNsb2NrcyA9IDwmY2N1 IENMS19DUFVYPjsKPiA+ID4gPiA+ID4gPiA+ICsJCX07Cj4gPiA+ID4gPiA+ID4gPiArCj4gPiA+ ID4gPiA+ID4gPiArCQljcHUyOiBjcHVAMiB7Cj4gPiA+ID4gPiA+ID4gPiArCQkJY29tcGF0aWJs ZSA9ICJhcm0sY29ydGV4LWE1MyI7Cj4gPiA+ID4gPiA+ID4gPiArCQkJZGV2aWNlX3R5cGUgPSAi Y3B1IjsKPiA+ID4gPiA+ID4gPiA+ICsJCQlyZWcgPSA8Mj47Cj4gPiA+ID4gPiA+ID4gPiArCQkJ ZW5hYmxlLW1ldGhvZCA9ICJwc2NpIjsKPiA+ID4gPiA+ID4gPiA+ICsJCQljbG9ja3MgPSA8JmNj dSBDTEtfQ1BVWD47Cj4gPiA+ID4gPiA+ID4gPiArCQl9Owo+ID4gPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiA+ID4gKwkJY3B1MzogY3B1QDMgewo+ID4gPiA+ID4gPiA+ID4gKwkJCWNvbXBhdGli bGUgPSAiYXJtLGNvcnRleC1hNTMiOwo+ID4gPiA+ID4gPiA+ID4gKwkJCWRldmljZV90eXBlID0g ImNwdSI7Cj4gPiA+ID4gPiA+ID4gPiArCQkJcmVnID0gPDM+Owo+ID4gPiA+ID4gPiA+ID4gKwkJ CWVuYWJsZS1tZXRob2QgPSAicHNjaSI7Cj4gPiA+ID4gPiA+ID4gPiArCQkJY2xvY2tzID0gPCZj Y3UgQ0xLX0NQVVg+Owo+ID4gPiA+ID4gPiA+ID4gKwkJfTsKPiA+ID4gPiA+ID4gPiA+ICsJfTsK PiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ICsJcmVzZXJ2ZWQtbWVtb3J5IHsKPiA+ ID4gPiA+ID4gPiA+ICsJCSNhZGRyZXNzLWNlbGxzID0gPDI+Owo+ID4gPiA+ID4gPiA+ID4gKwkJ I3NpemUtY2VsbHMgPSA8Mj47Cj4gPiA+ID4gPiA+ID4gPiArCQlyYW5nZXM7Cj4gPiA+ID4gPiA+ ID4gPiArCj4gPiA+ID4gPiA+ID4gPiArCQkvKiA1MTJLaUIgcmVzZXJ2ZWQgZm9yIEFSTSBUcnVz dGVkIEZpcm13YXJlIChCTDMxKSAgIAo+ICovCj4gPiA+ID4gPiA+ID4gPiArCQlzZWNtb25fcmVz ZXJ2ZWQ6IHNlY21vbkA0MDAwMDAwMCB7Cj4gPiA+ID4gPiA+ID4gPiArCQkJcmVnID0gPDB4MCAw eDQwMDAwMDAwIDB4MCAweDgwMDAwPjsKPiA+ID4gPiA+ID4gPiA+ICsJCQluby1tYXA7Cj4gPiA+ ID4gPiA+ID4gPiArCQl9Owo+ID4gPiA+ID4gPiA+ID4gKwl9OyAgCj4gPiA+ID4gPiA+ID4gCj4g PiA+ID4gPiA+ID4gSSdtIG5vdCBhIGZhbiBvZiBhYm92ZS4gSWYgYW55dGhpbmcgY2hhbmdlcyBp biBmdXR1cmUgaW4gQkwzMSwKPiA+ID4gPiA+ID4gPiBVLUJvb3QKPiA+ID4gPiA+ID4gPiB3b3Vs ZAo+ID4gPiA+ID4gPiA+IG5lZWQgdG8gcmVjb25maWd1cmUgaXQgYW55d2F5LiBDYW4gd2UganVz dCBza2lwIGl0PyAgCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBJIGFtIG5vdCBhIGZhbiBuZWl0 aGVyLCBidXQgbGFzdCB0aW1lIEkgY2hlY2tlZCB0aGlzIGlzIG5lZWRlZCB0bwo+ID4gPiA+ID4g PiBib290Lgo+ID4gPiA+ID4gPiBJbmRlZWQgVEYtQSBpbnNlcnRzIHRoaXMgbm9kZSwgd2l0aCB0 aGUgcmlnaHQgdmFsdWVzLCBpbnRvIFUtQm9vdCdzCj4gPiA+ID4gPiA+IERULgo+ID4gPiA+ID4g PiBBbmQgdGhhdCdzIG5pY2VseSBwcmVzZXJ2ZWQgaWYgeW91IHVzZSB0aGF0IERUICgkZmR0Y29u dHJvbGFkZHIpIGZvcgo+ID4gPiA+ID4gPiB0aGUga2VybmVsIGFzIHdlbGwuCj4gPiA+ID4gPiA+ IEJ1dCBpZiBzb21lb25lICpsb2FkcyogYSBEVEIgaW50byBVLUJvb3QgKHRvICRmZHRfYWRkcl9y KSwgdGhlbgo+ID4gPiA+ID4gPiBVLUJvb3QgZmFpbHMgdG8gcHJvcGFnYXRlIHRoZSAvcmVzZXJ2 ZWQtbWVtb3J5IG5vZGUgaW50byB0aGF0IGNvcHkuCj4gPiA+ID4gPiA+IFRoZXJlIGRvZXMgbm90 IHNlZW0gdG8gYmUgYSBnbG9iYWwgbm90aW9uIG9mIHJlc2VydmVkIG1lbW9yeSBpbgo+ID4gPiA+ ID4gPiBVLUJvb3QuCj4gPiA+ID4gPiA+IFNvbWUgY29tbWFuZHMgKGxpa2UgdGZ0cCkgZXhwbGlj aXRseSBwYXJzZSB0aGUgY29udHJvbCBEVCB0byBmaW5kCj4gPiA+ID4gPiA+IGFuZAo+ID4gPiA+ ID4gPiByZXNwZWN0IHJlc2VydmVkIG1lbW9yeSByZWdpb25zLiBib290bSBkb2VzIHRoYXQgYWxz bywgYnV0IG9ubHkgdG8KPiA+ID4gPiA+ID4gYXZvaWQgcGxhY2luZyB0aGUgcmFtZGlzayBvciBE VEIgaW50byByZXNlcnZlZCBtZW1vcnkuIFRoZQo+ID4gPiA+ID4gPiBpbmZvcm1hdGlvbgo+ID4g PiA+ID4gPiBlbmRzIHVwIGluIGltYWdlcy0+bG1iLCBidXQgaXMgbm90IHVzZWQgdG8gZ2VuZXJh dGUgb3IgYW1lbmQgbm9kZXMKPiA+ID4gPiA+ID4gaW4KPiA+ID4gPiA+ID4gdGhlIHRhcmdldCBE VC4KPiA+ID4gPiA+ID4gU28gdGhlIGJpdHMgYW5kIHBpZWNlcyBhcmUgdGhlcmUsIGJ1dCBpdCB3 aWxsIHJlcXVpcmUgc29tZSBjb2RlIHRvCj4gPiA+ID4gPiA+IGJlCj4gPiA+ID4gPiA+IGFkZGVk IHRvIHRoZSBnZW5lcmljIFUtQm9vdCBjb2RlLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gU28g d2hhdCBkbyB5b3UgdGhpbms/IExlYXZpbmcgdGhpcyBvdXQgd2lsbCBwcmV2ZW50IGxvYWRpbmcg RFRCcwo+ID4gPiA+ID4gPiBpbnRvCj4gPiA+ID4gPiA+IFUtQm9vdCwgYXQgdGhlIG1vbWVudCwg d2hpY2ggc291bmRzIGJhZC4gSSBzdWdnZXN0IHdlIGtlZXAgaXQgaW4sCj4gPiA+ID4gPiA+IGZv cgo+ID4gPiA+ID4gPiBub3csIGl0IHNob3VsZCBub3QgcmVhbGx5IGh1cnQuIFUtQm9vdCB3aWxs IGhvcGVmdWxseSBzdGFydCB0byBkbwo+ID4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+ID4gcmlnaHQg dGhpbmcgc29vbiwgdGhlbiB3ZSBjYW4gZWl0aGVyIHBoYXNlIGl0IG91dCBoZXJlIChtYXliZSB3 aGVuCj4gPiA+ID4gPiA+IHdlCj4gPiA+ID4gPiA+IGFjdHVhbGx5IGNoYW5nZSBzb21ldGhpbmcg aW4gVEYtQSksIG9yIGxldCBVLUJvb3QgZml4IGl0LiAgCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRC SCwgaWYgInNvb24iIGlzIHJlYWxseSBzb29uLCBJIHdvdWxkIHJhdGhlciB3YWl0IHdpdGggSDYx NiBEVCB1bnRpbAo+ID4gPiA+ID4gVS0gIAo+ID4gPiAKPiA+ID4gQm9vdAo+ID4gPiAgIAo+ID4g PiA+ID4gc3VwcG9ydHMgY2Fycnlpbmcgb3ZlciByZXNlcnZlZCBtZW1vcnkgbm9kZXMuICAKPiA+ ID4gPiAKPiA+ID4gPiBCdXQgdGhpcyBhbHNvIGNhcnJpZXMgY29tcGF0aWJpbGl0eSBpc3N1ZXMu IFUtQm9vdCBzdXBwb3J0IHRoZSBINjE2IGZvcgo+ID4gPiA+IG1vcmUgdGhhbiBhIHllYXIgbm93 LCBhbmQgdGhlIGVhcmxpZXN0IHBvc3NpYmxlIFUtQm9vdCByZWxlYXNlIGhhdmluZwo+ID4gPiA+ IHRoYXQKPiA+ID4gPiBwcm9wYWdhdGlvbiBjb2RlIHdvdWxkIGJlIHRoZSBvbmUgcmVsZWFzZWQg aW4gT2N0b2Jlci4gIAo+ID4gPiAKPiA+ID4gSSB3YXMgaG9waW5nIHlvdSB3b3VsZCBzYXkgSnVs eSAobmV4dCBVLUJvb3QgcmVsZWFzZSkgOikuICAKPiA+IAo+ID4gV2VsbCwgMjAyMi4wNyB3YXMg c3VwcG9zZWQgdG8gYmUgcmVsZWFzZWQgdG9kYXksIGFuZCBldmVuIGlmIHRoYXQgaXMKPiA+IGRl bGF5ZWQgYnkgYSBiaXQsIHRoYXQncyBvYnZpb3VzbHkgZmFyIHRvbyBsYXRlIDstKQo+ID4gICAK PiA+ID4gPiBBbmQgdGhlbiBwZW9wbGUKPiA+ID4gPiB3b3VsZCBzdGlsbCBuZWVkIHRvIHVwZGF0 ZSBmaXJzdCwgc28gdGhhdCdzIHF1aXRlIHNvbWUgbW9udGhzIG91dC4KPiA+ID4gPiBBbmQgSSB3 YXMgYWN0dWFsbHkgaG9waW5nIHRvIGdldCBhdCBsZWFzdCB0aGUgSDYxNiBEVCBwYXRjaGVzIG9m ZiBteQo+ID4gPiA+IHBsYXRlLCBhbmQgZ2V0IHRoZW0gaW50byB0aGUgdHJlZSB0byBoYXZlIGEg c3RhYmxlIGFuZCBhZ3JlZWQgdXBvbiBiYXNlCj4gPiA+ID4gKGJlZm9yZSB0aGlzIHNlcmllcyB0 dXJucyBpbnRvIGEgdGVlbmFnZXIgOy0pICAKPiA+ID4gCj4gPiA+IFllYWgsIEkgd291bGQgbGlr ZSB0aGF0IHRvby4KPiA+ID4gICAKPiA+ID4gPiBUaGVuIHdlIGNvdWxkIGZvciBpbnN0YW5jZSB1 cGRhdGUgdGhlIFUtQm9vdCBINjE2IHN1cHBvcnQuCj4gPiA+ID4gICAKPiA+ID4gPiA+IFdoYXRl dmVyIHdlIGRvIG5vdywgaXQgd2lsbCBoYXZlCj4gPiA+ID4gPiBjb21wYXRpYmlsaXR5IGlzc3Vl cy4gSWYgd2UgaW50cm9kdWNlIHJlc2VydmVkIG1lbW9yeSBub2RlIG5vdywgd2UKPiA+ID4gPiA+ IGNhbid0Cj4gPiA+ID4gPiBlYXNpbHkgZHJvcCBpdCBsYXRlci4gQm9vdGxvYWRlcnMgYXJlIG5v dCB2ZXJ5IG9mdGVuIHVwZGF0ZWQsIGJ1dAo+ID4gPiA+ID4ga2VybmVscyAgCj4gPiA+IAo+ID4g PiBhbmQKPiA+ID4gICAKPiA+ID4gPiA+IERUQiBmaWxlcyBhcmUsIGF0IGxlYXN0IGluIG15IGV4 cGVyaWVuY2UuIFNvIHdoZW4gd2UgZGVjaWRlIHRvIGRyb3AKPiA+ID4gPiA+IHRoZSAgCj4gPiA+ IAo+ID4gPiBub2RlPwo+ID4gPiAgIAo+ID4gPiA+IEkgdGhpbmsgb2YgdGhlIHRocmVlIHBvc3Np YmlsaXRpZXM6Cj4gPiA+ID4gLSBEcm9wIHRoZSBub2RlIG5vdywgYW5kIGFzayBwZW9wbGUgdG8g bm90IGxvYWQgRFRCcyBleHBsaWNpdGx5Cj4gPiA+ID4gLSBEcm9wIHRoZSBub2RlIHdoZW4gVS1C b290IGxlYXJuZWQgdG8gcHJvcGFnYXRlIHRoZSByZXNlcnZhdGlvbgo+ID4gPiA+IC0gS2VlcCB0 aGUgbm9kZQo+ID4gPiA+IHRoZSBsYXN0IG9uZSBpcyB0aGUgbGVhc3QgcGFpbmZ1bDogaGF2aW5n IHRoaXMgbm9kZSBpbiBkb2VzIG5vdCByZWFsbHkKPiA+ID4gPiBodXJ0LCBzbyB3ZSBjYW4gYmUg dmVyeSByZWxheGVkIHdpdGggdGhpcyByZW1vdmFsIGRlY2lzaW9uOgo+ID4gPiA+IC0gSWYgVS1C b290IGRvZXMgbm90IGFkZCB0aGUgcmVzZXJ2ZWQgbm9kZSwgd2UgYXJlIGNvdmVyZWQuCj4gPiA+ ID4gLSBJZiBVLUJvb3QgYWRkcyB0aGUgbm9kZSwgaXQgd2lsbCBkbyBzbyBpbiBhIHdheSB3aGVy ZSBpdCBkZWFscyB3aXRoCj4gPiA+ID4gZXhpc3RpbmcgcmVzZXJ2YXRpb25zLiBTbyBlaXRoZXIg aXQgZG9lc24ndCBhY3R1YWxseSBjaGFuZ2UgYW55dGhpbmcsIG9yCj4gPiA+ID4gaXQgZXh0ZW5k cyB0aGUgcmVzZXJ2YXRpb24uCj4gPiA+ID4gLSBTaG91bGQgdGhlIFRGLUEgbG9jYXRpb24gYWN0 dWFsbHkgbW92ZSAoYW5kIHdlIGhhdmUgbm8gcGxhbnMgb3IgbmVlZHMKPiA+ID4gPiB0bwo+ID4g PiA+IGRvIHRoYXQpLCBwZW9wbGUgd291bGQgb25seSBnZXQgdGhpcyBieSB1cGRhdGluZyB0aGUg ZmlybXdhcmUsIGF0IHdoaWNoCj4gPiA+ID4gcG9pbnQgdGhlIFUtQm9vdCBwYXJ0IHdvdWxkIHN1 cmVseSBiZSBpbiBwbGFjZSBhbHJlYWR5LiBXZSBkb24ndCByZWFsbHkKPiA+ID4gPiBzdXBwb3J0 IHVwZGF0aW5nIGp1c3QgQkwzMSBpbiBhbiBleGlzdGluZyBiaW5hcnkgZmlybXdhcmUgaW1hZ2Us IHNvIHlvdQo+ID4gPiA+IHdvdWxkIGdldCBhbiB1cGRhdGVkIFUtQm9vdCBhcyB3ZWxsLgo+ID4g PiA+IAo+ID4gPiA+IEkgdGhpbmsgdGhlIHdvcnN0IGNhc2Ugc2NlbmFyaW8gaXMgdGhhdCB1c2Vy cyBlbmQgdXAgd2l0aCBhbiB1bm5lZWRlZAo+ID4gPiA+IDUxMksKPiA+ID4gPiByZXNlcnZhdGlv bi4gSWYgdGhleSBjYXJlLCBhIGZpcm13YXJlIHVwZGF0ZSBzaG91bGQgc29sdmUgdGhpcyBwcm9i bGVtLgo+ID4gPiA+IAo+ID4gPiA+IEFzIGZvciB0aGUgdGltZSB0byByZW1vdmUgdGhhdCBub2Rl OiB3ZSBjb3VsZCBkbyB0aGF0IGF0IHRoZSB0aW1lIHdoZW4KPiA+ID4gPiAob3IgcmF0aGVyOiBp Zikgd2UgYWN0dWFsbHkgY2hhbmdlIHRoZSBURi1BIHJlc2VydmF0aW9uLiBBdCB0aGUgbW9tZW50 Cj4gPiA+ID4gdGhlcmUgYXJlIG5vIHBsYW5zIHRvIGRvIHRoaXMsIGFuZCB0aGUgc2l6ZSByZXNl cnZhdGlvbiBpcyBtb3JlIHRoYW4KPiA+ID4gPiBnZW5lcm91cyAodGhlIGN1cnJlbnQgZGVidWcg YnVpbGQgaXMgYWN0dWFsbHkgNzcgS0Igb3Igc28gb25seSkuIElmCj4gPiA+ID4gdGhlcmUKPiA+ ID4gPiBpcyBubyBjaGFuZ2UsIGFuZCB0aGUgbm9kZSBzdGF5cyBpbiB0aGUgLmR0c2ksIGl0IGRv ZXNuJ3QgcmVhbGx5IGh1cnQsCj4gPiA+ID4gc2VlCj4gPiA+ID4gYWJvdmUuICAKPiA+ID4gCj4g PiA+IEkgc2VlIHlvdXIgcG9pbnQsIGJ1dCBJIHdvdWxkIGxpa2UgdG8gZ2V0IHNvbWUgaW5wdXQg ZnJvbSBTYW11ZWwgZmlyc3QuCj4gPiA+IAo+ID4gPiBTYW11ZWwsIHdoYXQgZG8geW91IHRoaW5r Pwo+ID4gPiAgIAo+ID4gPiA+ID4gQWZ0ZXIgMTAgeWVhcnM/IEFsdGVybmF0aXZlbHksIHJlc2Vy dmVkIG1lbW9yeSBub2RlIGNhbiBiZSBqdXN0Cj4gPiA+ID4gPiBkcm9wcGVkICAKPiA+ID4gCj4g PiA+IGFuZAo+ID4gPiAgIAo+ID4gPiA+ID4gYW55b25lIGxvYWRpbmcgRFRCIGZpbGUgZnJvbSBv dXRzaWRlIHdvdWxkIG5lZWQgdG8gbWFrZSBzdXJlIGl0J3MKPiA+ID4gPiA+IHBhdGNoZWQuICAK PiA+ID4gCj4gPiA+IEJ1dAo+ID4gPiAgIAo+ID4gPiA+ID4gdGhhdCdzIHVuZXhwZWN0ZWQgZnJv bSB1c2VyIHBlcnNwZWN0aXZlLCBhbHRob3VnaCBwYXRjaGluZyBEVCBmaWxlcyBpcwo+ID4gPiA+ ID4gZG9uZSAgCj4gPiA+IAo+ID4gPiBieQo+ID4gPiAgIAo+ID4gPiA+ID4gc29tZSBkaXN0cm9z LiAgCj4gPiA+ID4gCj4gPiA+ID4gWWVhaCwgbGV0J3Mgbm90IGdvIHRoZXJlLiBBcyB5b3Uga25v dywgSSBhbHJlYWR5IGRpc2xpa2UgdGhlIGlkZWEgb2YKPiA+ID4gPiBleHBsaWNpdGx5IGxvYWRp bmcgRFRCcyBhdCBhbGwsIGJ1dCBJIHVuZGVyc3RhbmQgdGhpcyBpcyB3aGF0IHBlb3BsZSwKPiA+ ID4gPiBhbmQKPiA+ID4gPiBkaXN0cmlidXRpb25zLCBkbywgc28gSSdkIHJhdGhlciBoYXZlIHRo ZW0gY292ZXJlZC4gSGVuY2UgdGhlIG5vZGUgdG8KPiA+ID4gPiB3b3JrIHdpdGggZXhpc3Rpbmcg ZmlybXdhcmUuICAKPiA+ID4gCj4gPiA+IFJldXNpbmcgRFRCIGZyb20gVS1Cb290IGlzIG9ubHkg dXNlZnVsIHdoZW4geW91J3JlIGhhcHB5IHdpdGggY29tcGxldGVuZXNzCj4gPiA+IG9mIERUIGFu ZCB3aXRoIHRoZSBsYWNrIG9mIGJ1Z3MgaW4gaXQuIFRoZW4geW91IGNhbiBzYXZlIHRyb3VibGVz IHdpdGgKPiA+ID4gc2tpcHBpbmcgZXh0ZXJuYWwgRFRCIGxvYWQgc3RlcCBhbmQgbGlmZSBpcyBl YXNpZXIuIEJ1dCBhcyB5b3Uga25vdywKPiA+ID4gZmVhdHVyZXMgYW5kIHRodXMgbm9kZXMgYXJl IGFkZGVkIGluIHN0ZXBzIGFuZCBzb21ldGltZXMgc29tZSBidWdzIGFyZQo+ID4gPiBmaXhlZCwg d2hpY2ggbWVhbnMgaXQncyBleHRyZW1lbHkgaGFuZHkgdG8gaGF2ZSBlYXNpbHkgdXBkYXRhYmxl IERUQgo+ID4gPiBmaWxlLiAgCj4gPiAKPiA+IFllcywgZGVmaW5pdGVseSwgc2VlIG15IHJlcGx5 IHRvIFNhbXVlbC4gSSBqdXN0IGhlbGQgYmFjayB3aXRoIHRoZSBEVAo+ID4gdXBkYXRlIGluIFUt Qm9vdCBiZWNhdXNlIG9mIHRoZSBjb25mbGljdCBiZXR3ZWVuICJ3ZSBvbmx5IHRha2UgcHVyZQo+ ID4ga2VybmVsIHRyZWUgRFRzIiBhbmQgInRoZXJlIGlzIGEgYnJlYWtpbmcgY2hhbmdlIiAocl9p bnRjIGJpbmRpbmcpLgo+ID4gCj4gPiBJZiB3ZSBmaW5kIGEgd2F5IGZvcndhcmQgd2l0aCB0aGUg RFQgc3RhYmlsaXR5IHByb2JsZW0sIEkgYW0gaGFwcHkgdG8KPiA+IHB1c2ggZm9yIGEgbXVjaCBt b3JlIGZyZXF1ZW50IERUIHVwZGF0ZSwgb3IgZXZlbiB1cGRhdGUganVzdCB0aGUgRFQgaW4KPiA+ IGFuIGV4aXN0aW5nIGZpcm13YXJlIGluc3RhbGxhdGlvbi4gVGhpcyBjYW4gYmUgYXV0b21hdGVk LCBzaW5jZSB0aGUgRFRCCj4gPiBpcyBqdXN0IGEgbWVtYmVyIGluIHRoZSBGSVQgaW1hZ2UsIHdo aWNoIGNhbiBiZSByZS1hc3NlbWJsZWQgd2l0aCBhbgo+ID4gdXBkYXRlZCBEVEIgYnkgc29tZSB0 b29sIG9yIHNjcmlwdC4gT3Igd2UgdXNlIGNhcHN1bGUgdXBkYXRlcywgb2YganVzdAo+ID4gdGhl IERUQiwgc2VwYXJhdGVseSAoaWYgdGhpcyBpcyBwb3NzaWJsZSk/ICAKPiAKPiBJIHdvdWxkIGxp a2UgdG8gaGF2ZSBmb3J3YXJkIGNvbXBhdGliaWxpdHkgdG9vLCBidXQgSU1PIGl0J3Mgbm90IHZl cnkgCj4gcmVhbGlzdGljLiBTb29uZXIgb3IgbGF0ZXIgd2UnbGwgZmluZCBzb21ldGhpbmcsIGxp a2Ugcl9pbnRjLCBhZ2FpbiB0aGF0IHdvbid0IAo+IGJlIHBvc3NpYmxlIHRvIGludGVncmF0ZSBp biBmb3J3YXJkIGNvbXBhdGlibGUgbWFubmVyLiAKClRoYXQncyBhIHNoYW1lLCBJIHRoaW5rIHdl IHNob3VsZCBhdCBsZWFzdCB0cnkuIEFuZCB3aXRoIG15IHg4NiBiYWNrZ3JvdW5kCmxldCBtZSB0 ZWxsIHlvdTogdGhlcmUgYXJlIHNvbHV0aW9ucyB0byB0aG9zZSBjb21wYXRpYmlsaXR5IHByb2Js ZW1zIDstKQpUaGUgbW9yZSBuYXN0eSBvbmVzIG1pZ2h0IGJlIGJvcmRlcmxpbmUgaGFja2lzaCwg YnV0IGl0J3MgYSBxdWVzdGlvbiBvZgpwcmlvcml0aWVzLCBJIGd1ZXNzLgoKPiA+ID4gWWVzLCBV LUJvb3QgY2FuIGJlCj4gPiA+IGF1dG9tYXRlZCwgYnV0IGl0J3MgdGVkaW91cyBmb3IgZGlzdHJv IHRvIG1haW50YWluIG9uZSBib290bG9hZGVyIHBhY2thZ2UKPiA+ID4gcGVyIGJvYXJkLiBJZGVh bGx5LCBkaXN0cm8gc2hvdWxkbid0IGNhcmUgYXQgYWxsIGFib3V0IHRoYXQsICAKPiA+IAo+ID4g WWVzLCBJIHRvdGFsbHkgYWdyZWUsIGRpc3Ryb3Mgc2hvdWxkIG5vdCBzaGlwIGZpcm13YXJlLiBT aW5jZSBsZWF2aW5nCj4gPiB0aGlzIHRvIHRoZSBib2FyZCB2ZW5kb3JzIGlzIG5vdCByZWFsaXN0 aWMsIEkgd29uZGVyIGlmIHdlIChhcyAidGhlCj4gPiBzdW54aSBjb21tdW5pdHkiKSBzaG91bGQg c3RlcCB1cCBoZXJlLCBhbmQgcHJvdmlkZSBiaW5hcnkgYnVpbGRzIChwdXJlbHkKPiA+IGZvciBj b252ZW5pZW5jZSByZWFzb25zKSBvZiBib2FyZCBmaXJtd2FyZT8gVGhhdCBjb3VsZCBiZSB1cGRh dGVkIGZyb20KPiA+IGEgcnVubmluZyBMaW51eCwgb3IgcHV0IG9uIGFuIFNEIGNhcmQsIG9yIGZl dGNoZWQgYnkgZGlzdHJvcyB0bwo+ID4gZ2VuZXJhdGUgYW4gaW5zdGFsbGVyPyBXYXNuJ3QgdGhl cmUgZXZlbiBzb21lIGNlbnRyYWwgc3RvcmFnZSBvZmZlcmVkCj4gPiBsYXRlbHkgYnkgTGludXgs IHRvIGhvbGQgKFVFRkkpIGZpcm13YXJlIHVwZGF0ZSBmaWxlcz8gIAo+IAo+IEFzIHNvbWVvbmUg d2hvJ3Mgd29ya2luZyBvbiBkaXN0cm8gd2hpY2ggc3VwcG9ydHMgbWFueSBTb0NzIGZyb20gdmFy aWV0eSBvZiAKPiB2ZW5kb3JzLAoKQnV0IHRoYXQgaXMgcmVsYXRpdmUsIGlzbid0IGl0PyBJIGNv dW50IDIzIHN1cHBvcnRlZCBBbGx3aW5uZXIgZGV2aWNlcyBpbgpMaWJyZUVMRUMsIG91dCBvZiB0 aGUgMTYwIGRlZmNvbmZpZ3MgaW4gVS1Cb290IG9yID4xODAgc3VueGkgLmR0cyBmaWxlcyBpbgp0 aGUga2VybmVsLgpTbyBhcyBtb3N0IGRpc3RyaWJ1dGlvbnMsIGV2ZW4gd2l0aCB5b3VyIEFSTSBk ZXZpY2UgZm9jdXMsIHlvdSBjaG9zZSB0bwpsaW1pdCB0aGUgbnVtYmVyIG9mIHN1cHBvcnRlZCBk ZXZpY2VzLCBhcyB0aGF0IGFwcHJvYWNoIGluaGVyZW50bHkKZG9lc24ndCBzY2FsZS4KCkkgc2Vl IHRoZSByZWFzb25zIGJlaGluZCB0aGlzLCBiZWNhdXNlIG9mIHRoZSBzcGVjaWFsIGZvY3VzIG9m IExpYnJlRUxFQywKYW5kIHByb2JhYmx5IHRoZSBpZGVhIG9mIGdpdmluZyBhIHNtb290aCB1c2Vy IGV4cGVyaWVuY2UsIGJ1dCB5b3UgY291bGQKcG90ZW50aWFsbHkgY292ZXIgbXVjaCBtb3JlIGRl dmljZXMgYnkgb2ZmZXJpbmcgYSBnZW5lcmljIFVFRkkgaW1hZ2UsIGFzCm1vc3QgKmdlbmVyaWMq IGRpc3RyaWJ1dGlvbnMgZG8sIGFuZCBhcyBMRSBkb2VzIGZvciB4ODYuIEJ1dCB0aGlzIHJlbGll cwpvbiBoYXZpbmcgYSBzdGFibGUgRFQgZm9yIHRoZSBwbGF0Zm9ybS4KCkkgdGhpbmsgY29uY2Vw dHVhbGx5IHRoaXMgcHJvYmxlbSBoYXMgYmVlbiBzb2x2ZWQgYSBsb25nIHRpbWUgYWdvOiB0aGVy ZQppcyBzb21lIGludGVyZmFjZSBiZXR3ZWVuIGZpcm13YXJlIGFuZCB0aGUga2VybmVsLCB3aGlj aCBhbGxvd3MgYSBnZW5lcmljCmtlcm5lbCB0byBjb25maWd1cmUgaXRzZWxmIGFjY29yZGluZ2x5 LiBJIHJlZnVzZSB0aGUgaWRlYSB0aGF0IEFybSBiYXNlZApkZXZpY2Ugc2hvdWxkIGJlIGFueSBk aWZmZXJlbnQgaW4gdGhpcyByZXNwZWN0LiBIaXN0b3JpY2FsbHksIGJlY2F1c2UgbWFueQpBcm0g YmFzZWQgbWFjaGluZXMgaGF2ZSBhIHN0cm9uZyBlbWJlZGRlZCBiYWNrZ3JvdW5kLCB0aGF0IHdh cyBub3QgdGhlCmNhc2UsIGJ1dCBJIHRoaW5rIHdlIHNob3VsZCBtb3ZlIG9uIGZyb20gdGhvc2Ug ZGFyayBhZ2VzIChpbiB0ZXJtcyBvZgpzdXBwb3J0IGFuZCBtYWludGFpbmFiaWxpdHkpLgoKPiBJ IGNhbiB0ZWxsIHlvdSB0aGF0IHdlJ2xsIHNoaXAgYm9vdGxvYWRlciBpbnRlZ3JhdGVkIGludG8g b3VyIGltYWdlIAo+IGZvciB5ZWFycyB0byBjb21lLiBBbnl3YXksIEkgYWxzbyBsaWtlIHRvIGJ1 aWxkIFUtQm9vdCB1c2luZyBteSBvd24gb3B0aW9ucy4gCj4gRm9yIGV4YW1wbGUsIEkgZGlzYWJs ZSBIRE1JIGRyaXZlciBmb3IgQTY0LCBIMyBhbmQgSDUsIGJlY2F1c2UgaXQgdHVybnMgb3V0IAo+ IHRoYXQgYXQgbGVhc3Qgb24gSDUsIGl0IGNhbiBjbGFzaCB3aXRoIExpbnV4IGRyaXZlci4KClRo YXQgaXMgZ29vZCB0byBoZWFyLCBwbGVhc2UgdGVsbCB0aGUgc3VueGkgVS1Cb290IG1haW50YWlu ZXIsIHNvIHRoYXQgd2UKY2FuIGZpeCBpdCA7LSkKCj4gT3RoZXIgZGlzdHJvcyBwcmVmZXIgdG8g Cj4gc2hvdyBzb21lIHNwbGFzaCBzY3JlZW4sIGV0Yy4gT25lIHNpemUgZml0cyBhbGwgc29sdXRp b24gZG9lc24ndCBzZWVtcyAKPiByZWFsaXN0aWMgdG8gbWUuIE1heWJlIG9ubHkgaWYgKmV2ZXJ5 dGhpbmcqIHdvdWxkIGJlIGNvbmZpZ3VyYWJsZSBhbmQgdGhlcmUgCj4gd291bGQgYmUgYSB3YXkg Zm9yIGRpc3RybyB0byBwcmVjb25maWd1cmUgaXQuCj4gCj4gVEJILCBidWlsZGluZyBVLUJvb3Qs IENydXN0IGFuZCBURi1BIGlzIGVhc3kgYW5kIGFiaWxpdHkgdG8gY3VzdG9taXplIHRoZW0gaXMg Cj4gdmVyeSBoYW5keS4KPiA+ID4gYnV0IG1hbnkgYm9hcmRzIGRvbid0Cj4gPiA+IGhhdmUgZGVz aWduYXRlZCBib290bG9hZGVyIHN0b3JhZ2UgKFNQSSBOT1IgZmxhc2ggaW4gQVcgY2FzZSksIHNv IHRoZXkKPiA+ID4gaGF2ZSB0byBiZSBjb21iaW5lZCBvbiBzYW1lIHN0b3JhZ2UsIHBhcnRpdGlv biBldmVuLCBhcyBkaXN0cm8uICAKPiA+IAo+ID4gSGF2ZSB5b3UgdHJpZWQgZU1NQyBib290IHBh cnRpdGlvbnM/IEkgZm91bmQgdGhlbSBlcXVhbGx5IGNvbnZlbmllbnQgYXMKPiA+IFNQSSBmbGFz aCwgYW5kIHdoaWxlIG5vdCB0b28gbWFueSBib2FyZHMgYWN0dWFsbHkgaGF2ZSBTUEkgZmxhc2gs Cj4gPiBxdWl0ZSBzb21lIGhhdmUgZU1NQyAodGhpbmtpbmcgYWJvdXQgVFYgYm94ZXMpLiBJIHJl Y2VudGx5IGV2ZW4KPiA+IHVzZWQgImR1YWwgYm9vdCIgd2l0aCBhIEJTUCBpbnN0YWxsYXRpb24u Cj4gPiBBbmQgZXZlbiB0aGUgc21hbGxlc3QgZU1NQ3Mgc2VlbSB0byBoYXZlIDQgTUIgcGVyIGJv b3QgcGFydGl0aW9uLCBzbwo+ID4gcGxlbnR5IG9mIHNwYWNlIGZvciBVLUJvb3QgKHBsdXMgVEYt QSBwbHVzIGNydXN0KS4gIAo+IAo+IE5vLCBJIGRpZG4ndC4gSSBkb24ndCBzZWUgYW55IGJlbmVm aXQgb2YgdXNpbmcgZU1NQyBib290IHBhcnRpdGlvbiBvdmVyIAo+IHRyZWF0aW5nIGVNTUMgYXMg dXN1YWwgU0QgY2FyZCBhbmQgaW5zdGFsbGluZyBib290bG9hZGVyIHRvIHNlY3RvciAxNi4KClRo ZSBmaXJtd2FyZSBpcyBvdXQgb2YgdGhlIHdheSBvZiBub3JtYWwgKGFjY2lkZW50YWwpIGFjY2Vz c2VzLCBhcyBpdApsaXZlcyBpbiBhIHNlcGFyYXRlIGJsb2NrIGRldmljZSwgd2hpY2ggaXMgcmVh ZC1vbmx5LCBpbml0aWFsbHkuCkFuZCBpdCBkb2Vzbid0IGNsYXNoIHdpdGggcGFydGl0aW9uIHRh Ymxlcy4gVGhpcyBnaXZlcyB0aGUga2luZCBvZgpzZXBhcmF0aW9uIHRoYXQgcGVvcGxlIGFyZSB1 c2VkIHRvIG9uIG90aGVyIGNvbXB1dGVyczogdGhlIGZpcm13YXJlCmJlbG9uZ3MgdG8gdGhlIGRl dmljZSwgdGhlIE9TIGlzIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLgpXZSBkb2N1bWVudGVkIGhvdyB0 byBpbnN0YWxsIGZpcm13YXJlIHRoZXJlIGluIFUtQm9vdCdzIHN1bnhpLnJzdC4gCgo+IEFueXdh eSwgdGhhdCB3b24ndCBjaGFuZ2Ugc2l0dWF0aW9uIGF0IGFsbC4gU0QgY2FyZCBpbWFnZSB3aXRo IGludGVncmF0ZWQgCj4gYm9vdGxvYWRlciBpcyBzdGlsbCBraW5nLgoKU3VyZSwgaWYgeW91IGRv bid0IGhhdmUgYW55IG90aGVyIHN0b3JhZ2UsIHRoZW4gU0QgY2FyZCBpdCBpcy4gQnV0IHRoaXMK c3RpbGwgZG9lcyBub3QgcmVxdWlyZSBtYXJyeWluZyBmaXJtd2FyZSBhbmQgT1M6IHlvdSBjb3Vs ZCBzdGFydCB3aXRoIGEKImp1c3QgZmlybXdhcmUgU0QgY2FyZCIsIHRoZW4gaW5zdGFsbCB0aGUg T1MgZnJvbSBhIFVTQiBkZXZpY2UsIG9yIGZyb20gYQpnZW5lcmljIGltYWdlIGZpbGUgY29waWVk IHRvIHNvbWUgU0QgcGFydGl0aW9uLiBBbmQgdGhlbiBzdWRkZW5seSB0aGUKcHVyZSBmaXJtd2Fy ZSBpbWFnZSBiZWNvbWVzIE9TL2Rpc3RybyBhZ25vc3RpYy4KQW5kIGNvbmNlcHR1YWxseSB0aGlz IGFwcHJvYWNoIGRvZXNuJ3QgKnByZXZlbnQqIHNlcGFyYXRpbmcgZmlybXdhcmUgYW5kCmtlcm5l bC9kaXN0cm8sIGl0IGp1c3QgYWxsb3dzIHlvdSB0byBnZXQgYXdheSB3aXRoIGl0LgoKPiBUaGVy ZSBhcmUgc2V2ZXJhbCByZWFzb25zIGZvciB0aGF0Ogo+IC0gY2hlYXBlc3QgYm9hcmRzIGFyZSBt b3N0IHBvcHVsYXIgYW5kIHVzdWFsbHkgaGF2ZSBvbmx5IFNEIGNhcmQgZm9yIHN0b3JhZ2UgCj4g KHRoaW5rIE9yYW5nZVBpIFBDKS4gVGhlcmUgaXMgbm90aGluZyB0aGF0IHlvdSBjYW4gZG8gYWJv dXQgaXQsIGV4Y2VwdCAKPiBpbmNsdWRpbmcgYm9vdGxvYWRlciBvbiBTRCBjYXJkIGltYWdlLgo+ IC0gaWYgeW91IHdhbnQgdG8gc3dpdGNoIGZyb20gQW5kcm9pZCB0byBvdXIgZGlzdHJvLCB5b3Ug bmVlZCBib290YWJsZSBTRCBjYXJkIAo+IGR1ZSB0byBoaWdoZXIgYm9vdCBwcmlvcml0eSAoc3Bl YWtpbmcgZm9yIEFXIFNvQ3MpCj4gLSBub3QgZXZlcnlvbmUgd2FudHMgdG8gb3ZlcndyaXRlIGVN TUMuIFNvbWUgcHJlZmVyIGtlZXBpbmcgQW5kcm9pZCwgc28gaXQgY2FuIAo+IGJlIHVzZWQgbGF0 ZXIgZm9yIHdoYXRldmVyIHB1cnBvc2UuCj4gLSBzb21lIHVzZXJzIGhhdmUgc2V2ZXJhbCBkaXN0 cm9zIGZvciBzYW1lIGJvYXJkLCBlYWNoIG9uIGl0J3Mgb3duIFNEIGNhcmQuIAo+IE5lZWRsZXNz IHRvIHNheSwgZWFjaCBkaXN0cm8gYWRqdXN0ZWQgYm9vdGxvYWRlciB0byBpdHMgbmVlZHMuCgpB bGwgZmluZSwgYnV0IEkgZG9uJ3Qgc2VlIGhvdyB0aGlzIGFmZmVjdHMgdGhpcyBkaXNjdXNzaW9u IGhlcmUuIFllcywgeW91CmNhbiB0cmVhdCB0aG9zZSBtYWNoaW5lcyBsaWtlIGVtYmVkZGVkIGRl dmljZXMsIGFuZCBidW5kbGUgZmlybXdhcmUgYW5kCk9TLCBidXQgdGhpcyBpcyBzdXJlbHkgbm90 IHRoZSBvbmx5IHdheSBvZiBkZXBsb3ltZW50IHdlIHNob3VsZCBzdXBwb3J0LgpCZWluZyBhYmxl IHRvIGp1c3Qgb2ZmZXIgb25lIGdlbmVyaWMgVUVGSSBiYXNlZCBpbWFnZSBzZWVtcyBtdWNoIG1v cmUKc2NhbGFibGUgdG8gbWUuCgo+IEkgbGlrZSB0byBvZmZlciBmbGV4aWJpbGl0eSBpbiBib290 IG9wdGlvbnMsIGVzcGVjaWFsbHkgYmVjYXVzZSBpdCdzIGN1cnJlbnRseSAKPiBlYXN5LCB0aGFu a3MgdG8gaW50ZWdyYXRlZCBjdXN0b21pemVkIGJvb3Rsb2FkZXIgYW5kIGV4dGVybmFsIGxvYWRp bmcgb2YgZHRiIAo+IGZpbGVzIDopCgpUaG91Z2ggSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB5b3Ug cmVxdWlyZSBleHRlcm5hbCBEVEIgbG9hZGluZzogaWYgeW91Cm1hcnJ5IGRpc3RybyBhbmQgZmly bXdhcmUgYW55d2F5LCB5b3UgY291bGQgYXMgd2VsbCBwdXQgeW91ciBEVEIgb2YgY2hvaWNlCmlu dG8gVS1Cb290IChpbiB0aGUgVS1Cb290IHNvdXJjZSB0cmVlLCBvciByZXBsYWNlIGl0IGluIHRo ZSBnZW5lcmF0ZWQgRklUCmltYWdlKS4gVGhhdCBsb29rcyBsaWtlIGEgb25lLXRpbWUgZWZmb3J0 IGluIHlvdXIgYnVpbGQgc3lzdGVtPwoKPiA+ID4gT24gdGhlIG90aGVyIGhhbmQsCj4gPiA+IHdo ZW4gYnVpbGRpbmcga2VybmVsLCB5b3UgYXV0b21hdGljYWxseSBidWlsZCBhbGwgcmVsZXZhbnQg RFRCIGZpbGVzLAo+ID4gPiB3aGljaCB5b3UgY2FuIHRoZW4ganVzdCBjb3B5IHRvIGNvbW1vbiBw bGFjZS4gTm8gZGV2aWNlIHNwZWNpZmljIGhhbmRsaW5nCj4gPiA+IG5lZWRlZC4gQWxzbywgVS1C b290IGRvZXNuJ3Qgc3luYyBEVCBmaWxlcyBldmVyeSByZWxlYXNlLCBzbyBsYXRlc3QKPiA+ID4g VS1Cb290IGRvZXNuJ3QgbmVjZXNzYXJseSBtZWFuIGxhdGVzdCBEVC4gIAo+ID4gCj4gPiBZZXMs IGZvciB0aGUgY29tcGF0aWJpbGl0eSByZWFzb25zIG1lbnRpb25lZC4gSSBhbSBtb3JlIHRoYW4g aGFwcHkgdG8KPiA+IG1ha2UgdGhpcyBhIHJlZ3VsYXIgZXhlcmNpc2UgKHNheSBhdCBlYWNoIGtl cm5lbCdzIC1yYzMgb3Igc28pLiAgCj4gCj4gV2hhdCBhYm91dCBicmVha2luZyBjaGFuZ2VzPyBU aGV5IGNhbiBiZSBpbXBvcnRhbnQgZm9yIG5ldywgdXNlZnVsIAo+IGZ1bmN0aW9uYWxpdHkgYnV0 IG9sZGVyIGtlcm5lbHMgd29uJ3Qga25vdyB3aGF0IHRvIGRvLgoKWWVzLCB0aGF0IGlzIHRoZSBj b3JlIG9mIHRoaXMgZGlzY3Vzc2lvbi4gRG9pbmcgdGhpcyByZWxpZXMgb24gbm90IGhhdmluZwp0 aGVtIGluIHRoZSBmaXJzdCBwbGFjZS4gVGhlcmUgaXMgbm8gcHJvYmxlbSB3aGVuIHRoaXMgYWZm ZWN0cyBuZXcKZmVhdHVyZXMsIG9yIGZ1bmN0aW9uYWxpdHkgdGhhdCB0aGUgb2xkIGtlcm5lbCBk aWRuJ3Qgc3VwcG9ydCBhbnl3YXkuCkJ1dCB3ZSBtdXN0IGF2b2lkIGNoYW5nZSBhZmZlY3Rpbmcg b2xkZXIga2VybmVscy4KQXQgbGVhc3QgSSB3b3VsZCBsaWtlIHRvIGFzayBmb3IgdXMgdG8gdHJ5 OiBpbiBteSBleHBlcmllbmNlIHdpdGggc29tZQp0aGlua2luZyBhbmQgY2xldmVyIGNvZGUgd2Ug Y2FuIHB1bGwgdGhpcyBvZmYuIE90aGVyIHBsYXRmb3JtcyBzZWVtIHRvIGJlCmFibGUgdG8gY29t bWl0IHRvIHRoaXMuCgpBcyBhIGNvbXByb21pc2UsIEkgd2FzIHdvbmRlcmluZyBpZiB3ZSBzaG91 bGQgZGVmaW5lIHNvbWUgdGltZSBvZiBncmFjZQpwZXJpb2QsIGluaXRpYWxseSwgd2VyZSB3ZSBk b24ndCBndWFyYW50ZWUgbm9uLWJyZWFraW5nIGNoYW5nZXMgb25seS4KU28gdGhlIGZpcnN0LCBz YXkgdGhyZWUsIGtlcm5lbHMgY291bGQgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLCBidXQKYWZ0 ZXJ3YXJkcyB3ZSBzdGljayB0byBzdXBwb3J0IGF0IGxlYXN0IHRoaXMga2VybmVsLCB3aXRoIGV2 ZXJ5IG5ldyBEVCB0bwpjb21lLgoKPiA+IFNhZGx5LCBJIGRvbid0IHRoaW5rIHdlJ3JlIGV2ZW4g Y2xvc2UgdG8gYXZvaWRpbmcgc2hpcHBpbmcgYm9vdGxvYWRlciBpbiAgIAo+IGRpc3RybyBpbWFn ZXMgb3IgZXZlbiBleHRlcm5hbCBEVEIgbG9hZGluZy4KPiA+ID4gQWJvdmUgaXMgYSBiaXQgb2Zm IHRvcGljLCBidXQgSSBob3BlIHlvdSB1bmRlcnN0YW5kIHdoeSBkaXN0cm9zIG9wdCB0byB1c2UK PiA+ID4gZXh0ZXJuYWwgRFRCIGZpbGVzIChzcGVha2luZyBmcm9tIG15IG93biBleHBlcmllbmNl cykuICAKPiA+IAo+ID4gWWVzLCBJIHVuZGVyc3RhbmQgd2hlcmUgdGhleSAoaW5jbHVkaW5nIExF KSBhcmUgY29taW5nIGZyb20sIHRvIHByb3ZpZGUKPiA+IGEgcHJhZ21hdGljIHNvbHV0aW9uIHRv IHRoZSB1c2VycycgcHJvYmxlbXMuIEFuZCB0aGF0J3Mgd2h5IEkgd2FudGVkIHRvCj4gPiBzdGls bCBnaXZlIHRoZSBwb3NzaWJpbGl0eSB0byBsb2FkIGEgRFRCLCBldmVuIHRob3VnaCBJIHRoaW5r IHRoaXMKPiA+IHNob3VsZCBub3QgYmUgdGhlIHN0YW5kYXJkIHdheS4gIAo+IAo+IEkgdGhpbmsg bG9hZGluZyBleHRlcm5hbCBEVEIgc3VwcG9ydCBpcyBpbXBvcnRhbnQgYW5kIHNob3VsZG4ndCBi ZSBkaXRjaGVkIAo+IGFueXRpbWUgc29vbi4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwgdGhh dCdzIGFuIGlzc3VlIG9ubHkgb24gU29DcyB3aXRoIFRGLQo+IEEsIHdoaWNoIG1lYW5zIG9ubHkg NjQtYml0IEFXIFNvQ3MuIFllcywgMzItYml0IEFXIFNvQ3MgYXJlIHN0aWxsIGEgdGhpbmcgYW5k IAo+IHN0aWxsIHVzZWQgYW5kIG5vLCBJIGRvbid0IHdhbnQgVEYtQSB0aGVyZSA6KS4KCkkgdGhp bmsgaXQncyBhIGNvbmNlcHR1YWwgaXNzdWUsIG5vdCBURi1BIHJlbGF0ZWQ6IEEgRFQgd2FzIGFs d2F5cyBtZWFudAp0byBiZSBhbWVuZGVkIGJ5IGZpcm13YXJlICh0aGluayBvZiB0aGUgbWVtb3J5 IG5vZGUsIG9yIHRoZSBNQUMgYWRkcmVzcykuClUtQm9vdCBqdXN0IGRlY2lkZWQgdG8gbWFrZSB0 aG9zZSBjaGFuZ2VzIHZlcnkgbGF0ZSwganVzdCBiZWZvcmUgbGF1bmNoaW5nCnRoZSBrZXJuZWws IHNvIHRoYXQgdGhpcyBuZXdseSBsb2FkZWQgRFRCIGlzIGFscmVhZHkgYXZhaWxhYmxlLiBCdXQg aWYgdGhlClNQTCBkZWNpZGVzIHRvIG1ha2UgY2hhbmdlcywgb3IgcGlja3MgYSBjZXJ0YWluIERU LCB5b3UgaGF2ZSB0aGlzIHByb2JsZW0KYXMgd2VsbC4KCkNoZWVycywKQW5kcmUKCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=