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=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,FROM_EXCESS_BASE64, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS 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 A9B33C10F0E for ; Mon, 15 Apr 2019 16:30:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7181A2087C for ; Mon, 15 Apr 2019 16:30:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MWSPCu7e" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727661AbfDOQaX (ORCPT ); Mon, 15 Apr 2019 12:30:23 -0400 Received: from mail-yw1-f67.google.com ([209.85.161.67]:42070 "EHLO mail-yw1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727164AbfDOQaW (ORCPT ); Mon, 15 Apr 2019 12:30:22 -0400 Received: by mail-yw1-f67.google.com with SMTP id e76so6226921ywa.9; Mon, 15 Apr 2019 09:30:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jmJTeCCNuzsXQTWNvvDVEtGTkZad8yB68DhpEubY4qk=; b=MWSPCu7eLnGKKYiQD5ba21pFh91Etdf3EyCl5G7cT1fVJpEO5a1oftiaJSKMyRnoTg pcuIHqe5+2dHQ0tXKadW2d8Jb/2yZGciRmPeDME0uknwJ6skDaKhrWfxeX+vvR//os30 yO2JvHpaoO6Ct0T+IViPzDNgDBOvhy5yt1HY1+V0amPV36REVzPaUB4SbSfFqSag8mfe YOcIl24x70JaoGDevKey/iaddERvCF89eCJoWDkx8csw7niyxYMKTGJlSwTw+QWeYUxt rtV8+AxUTLgMyIa8jtjFZOndbot3IqRYputHiepGx4fz90w4yyh3zDhfembExVgMy9uW 85hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=jmJTeCCNuzsXQTWNvvDVEtGTkZad8yB68DhpEubY4qk=; b=VISzeWfZ5b9/03H41B+HBdr1+/f0IeMTNt0fpPR/HuU0ql80XPEYqokeTL3oZBF7su 7lHJx3tTltgwnY9oLdZU8crihGIwCSedkGBv+WPERbpVQqWruUsjQixX6oPbKl0eCoHL vAztbriYGiKRk73t140dWapR8TgHNKwIJw++n7RHp99loVoi5eQwwgeeZ8ISzchL3jbS iZmm9fwVE2w2KpuZaVuu0S4BV1Ptg1q+Ya9REtg9Ej+u0iaFyXsn0O4fo5jzTRWomxZv 5XcAZdPFGHawoQuxf3s8jnj9gO4uZ+/nh0QE3UIOFhPQ7MCl6IJwSNtTiPCnxPXDJz24 UITQ== X-Gm-Message-State: APjAAAVaMLHKoLZCrvQJCJBFqeJJmZcnXANGjqgDyUHD2PSY5IN0/nGo dlKN1ffey4ymGIoBXtKpWbVefaoI4oX1kzFx/Jc= X-Google-Smtp-Source: APXvYqxRT9bwHk1Prfzd3DmiP5H71iF+NNsQ/ei+bA5QUHeQYxO1F20xhpn/FWltbUK+cwayhtkrVlntNYTh+xx4uQo= X-Received: by 2002:a81:7509:: with SMTP id q9mr60379351ywc.216.1555345821706; Mon, 15 Apr 2019 09:30:21 -0700 (PDT) MIME-Version: 1.0 References: <20190411214422.2267-1-peron.clem@gmail.com> <20190411214422.2267-2-peron.clem@gmail.com> <20190415080443.frubh4ln4agrdsfe@flea> <20190415081816.2pay4pioc5d4mojf@flea> <20190415145135.fjbcaldwy7w3eqcs@flea> In-Reply-To: <20190415145135.fjbcaldwy7w3eqcs@flea> From: =?UTF-8?B?Q2zDqW1lbnQgUMOpcm9u?= Date: Mon, 15 Apr 2019 18:30:10 +0200 Message-ID: Subject: Re: [PATCH 1/4] dt-bindings: sound: sun4i-spdif: Add Allwinner H6 compatible To: Maxime Ripard Cc: Rob Herring , Chen-Yu Tsai , Icenowy Zheng , Jagan Teki , Jernej Skrabec , devicetree , linux-kernel , linux-arm-kernel , linux-sunxi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Mon, 15 Apr 2019 at 16:51, Maxime Ripard wro= te: > > On Mon, Apr 15, 2019 at 10:30:38AM +0200, Cl=C3=A9ment P=C3=A9ron wrote: > > On Mon, 15 Apr 2019 at 10:18, Maxime Ripard = wrote: > > > > > > On Mon, Apr 15, 2019 at 10:09:11AM +0200, Cl=C3=A9ment P=C3=A9ron wro= te: > > > > Hi, > > > > > > > > On Mon, 15 Apr 2019 at 10:04, Maxime Ripard wrote: > > > > > > > > > > Hi, > > > > > > > > > > On Thu, Apr 11, 2019 at 11:44:19PM +0200, Cl=C3=A9ment P=C3=A9ron= wrote: > > > > > > Allwinner H6 has a SPDIF controller with an increase of the fif= o > > > > > > size and the possibility to output the master clock. > > > > > > However it's still compatible with the already existing driver = for > > > > > > Allwiner H3. > > > > > > > > > > > > Add this compatible in the device-tree bindings documentation. > > > > > > > > > > How was this tested? > > > > > > > > Using Alsa utils on a Beelink GS1 and I check correct output sound = on > > > > my home cinema. > > > > > > > > > After looking at the datasheet, it looks like it's still signific= antly > > > > > different. In particular: > > > > > > > > > > - The MCLK divider isn't at the same offset > > > > > > > > We don't use the MCLK > > > > > > > > > - The bits to flush the FIFO aren't at the same offset > > > > > - The FIFO trigger levels aren't at the same offset > > > > > - The FIFO status register layout is almost entirely different > > > > > > > > We use DMA not FIFO > > > > > > Well, DMA still uses the FIFOs. And even then, you're kind of missing > > > the point. The device tree's compatible is about whether a particular > > > device can be used as another one. How you are using it in the driver > > > is completely irrelevant. > > > > Sorry I meant " We use DMA not PIO". > > I'm still not quite sure what you mean. Both DMA and PIO would be > using the FIFOs. Just correcting myself but yes we use FIFO with the DMA. > > > I didn't change the driver and the SPDIF is working what's irrelevant > > in declaring the driver as compatible ? > > It's working by accident. > > This won't work for example: > https://elixir.bootlin.com/linux/latest/source/sound/soc/sunxi/sun4i-spdi= f.c#L181 > > > If some feature are missing they can be introduce later as there is a > > special binding for H6 no ? > > Again, that's irrelevant. The only question you need to ask yourself > is whether, if you take an imaginary source code that would support > all the H3 SPDIF features and run it on an H6, it works just as well. > > The examples above that it's not the case, so you can't claim that the > device is compatible. Is it ok if I fix the TX Fifo flush bit and remove the compatible with H3 ? (Looking at the driver this is the only bit used that is incompatible with = H6) Or should I send a new driver with the correct mapping ? Thanks Cl=C3=A9ment > > Maxime > > -- > Maxime Ripard, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com 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=-0.6 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, FROM_EXCESS_BASE64,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS 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 DB18EC10F12 for ; Mon, 15 Apr 2019 16:30:34 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AA3282087C for ; Mon, 15 Apr 2019 16:30:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="SukJ3DEA"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MWSPCu7e" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AA3282087C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=FKdFSsYi2BM0ud8WOmDWkt0FKGmhiBu7BoeiUfXRsU8=; b=SukJ3DEAWHQn3m wkcKpG4jpiqFfz+OMgmG2QfnArMeM6sbWnSYsa2CbuFpkSdSQZI4y7kVSlNypXBEo2uqDPYrVUu7u TLSeQKgAVEBnLVQzR7DfpmGatdPbptabshtvAU4xeXTxyM+DVNMoLe8gjcQWMCQgjcvS9fz9/tLTr ns+3thwb98sX7oVIHfi4GQOgoGvAl8B/uHprGU5/A6+IvA5mFW8F7Nr8fjH1TSjHrskMSTR6UgWIE 1qV7Z8NxpspfFiXcJ0m4+TSPLoIVQpmgYmcF3Rpuh03dO3KWBeChyadYRo14PAzQV/KTjPV8MtqXY EERjp3wBgIiP8enNBmEA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hG4V0-0003YX-TM; Mon, 15 Apr 2019 16:30:26 +0000 Received: from mail-yw1-xc41.google.com ([2607:f8b0:4864:20::c41]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hG4Uw-0003Y6-VV for linux-arm-kernel@lists.infradead.org; Mon, 15 Apr 2019 16:30:24 +0000 Received: by mail-yw1-xc41.google.com with SMTP id u197so6240627ywf.3 for ; Mon, 15 Apr 2019 09:30:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jmJTeCCNuzsXQTWNvvDVEtGTkZad8yB68DhpEubY4qk=; b=MWSPCu7eLnGKKYiQD5ba21pFh91Etdf3EyCl5G7cT1fVJpEO5a1oftiaJSKMyRnoTg pcuIHqe5+2dHQ0tXKadW2d8Jb/2yZGciRmPeDME0uknwJ6skDaKhrWfxeX+vvR//os30 yO2JvHpaoO6Ct0T+IViPzDNgDBOvhy5yt1HY1+V0amPV36REVzPaUB4SbSfFqSag8mfe YOcIl24x70JaoGDevKey/iaddERvCF89eCJoWDkx8csw7niyxYMKTGJlSwTw+QWeYUxt rtV8+AxUTLgMyIa8jtjFZOndbot3IqRYputHiepGx4fz90w4yyh3zDhfembExVgMy9uW 85hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=jmJTeCCNuzsXQTWNvvDVEtGTkZad8yB68DhpEubY4qk=; b=Tvqd/XxMzS58R3MNPx+SowxUjBIXJ2rls1ELSwMirLRCnnJHdJqpJ48vD3uvmSX6LE 2S9gKXQ+lt7skws3xw9WIDUU+C6Np93WWjpZH8Rni5B0gZfznf0y7B706e+dksCajm6t 8lkO8Q/2sadOuygnw9/tePpaRiM0Yqpjz6Gdt4tQaUaT1mEd0H8clQKeIKfHlvrFpteE B4tswYkqMyp8iN9cIf7VK5I2rl3YeHznOUCKKuLpDsIBIU8oUptqlGFu/jUkou5f6QWM sCGfWzujw75XlxNRomsuaMq+9zXLD7rx1heclRgwqBsV6R/vVfO21mBVVg/b9VJ9nz7T 6uRQ== X-Gm-Message-State: APjAAAXZHuulKLAmbwOZR/2BIDBU6fuq3mAzH+nsFrsUVj7jbQiCL2zG bYm+FhOCbrFkFfq6fuVrv/s0Cb+mbPueM5WyUjk= X-Google-Smtp-Source: APXvYqxRT9bwHk1Prfzd3DmiP5H71iF+NNsQ/ei+bA5QUHeQYxO1F20xhpn/FWltbUK+cwayhtkrVlntNYTh+xx4uQo= X-Received: by 2002:a81:7509:: with SMTP id q9mr60379351ywc.216.1555345821706; Mon, 15 Apr 2019 09:30:21 -0700 (PDT) MIME-Version: 1.0 References: <20190411214422.2267-1-peron.clem@gmail.com> <20190411214422.2267-2-peron.clem@gmail.com> <20190415080443.frubh4ln4agrdsfe@flea> <20190415081816.2pay4pioc5d4mojf@flea> <20190415145135.fjbcaldwy7w3eqcs@flea> In-Reply-To: <20190415145135.fjbcaldwy7w3eqcs@flea> From: =?UTF-8?B?Q2zDqW1lbnQgUMOpcm9u?= Date: Mon, 15 Apr 2019 18:30:10 +0200 Message-ID: Subject: Re: [PATCH 1/4] dt-bindings: sound: sun4i-spdif: Add Allwinner H6 compatible To: Maxime Ripard X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190415_093023_033243_76B4ACFD X-CRM114-Status: GOOD ( 30.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree , Jernej Skrabec , linux-sunxi , linux-kernel , Chen-Yu Tsai , Rob Herring , Jagan Teki , linux-arm-kernel , Icenowy Zheng Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgpPbiBNb24sIDE1IEFwciAyMDE5IGF0IDE2OjUxLCBNYXhpbWUgUmlwYXJkIDxtYXhpbWUu cmlwYXJkQGJvb3RsaW4uY29tPiB3cm90ZToKPgo+IE9uIE1vbiwgQXByIDE1LCAyMDE5IGF0IDEw OjMwOjM4QU0gKzAyMDAsIENsw6ltZW50IFDDqXJvbiB3cm90ZToKPiA+IE9uIE1vbiwgMTUgQXBy IDIwMTkgYXQgMTA6MTgsIE1heGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAYm9vdGxpbi5jb20+ IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBNb24sIEFwciAxNSwgMjAxOSBhdCAxMDowOToxMUFNICsw MjAwLCBDbMOpbWVudCBQw6lyb24gd3JvdGU6Cj4gPiA+ID4gSGksCj4gPiA+ID4KPiA+ID4gPiBP biBNb24sIDE1IEFwciAyMDE5IGF0IDEwOjA0LCBNYXhpbWUgUmlwYXJkIDxtYXhpbWUucmlwYXJk QGJvb3RsaW4uY29tPiB3cm90ZToKPiA+ID4gPiA+Cj4gPiA+ID4gPiBIaSwKPiA+ID4gPiA+Cj4g PiA+ID4gPiBPbiBUaHUsIEFwciAxMSwgMjAxOSBhdCAxMTo0NDoxOVBNICswMjAwLCBDbMOpbWVu dCBQw6lyb24gd3JvdGU6Cj4gPiA+ID4gPiA+IEFsbHdpbm5lciBINiBoYXMgYSBTUERJRiBjb250 cm9sbGVyIHdpdGggYW4gaW5jcmVhc2Ugb2YgdGhlIGZpZm8KPiA+ID4gPiA+ID4gc2l6ZSBhbmQg dGhlIHBvc3NpYmlsaXR5IHRvIG91dHB1dCB0aGUgbWFzdGVyIGNsb2NrLgo+ID4gPiA+ID4gPiBI b3dldmVyIGl0J3Mgc3RpbGwgY29tcGF0aWJsZSB3aXRoIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGRy aXZlciBmb3IKPiA+ID4gPiA+ID4gQWxsd2luZXIgSDMuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ IEFkZCB0aGlzIGNvbXBhdGlibGUgaW4gdGhlIGRldmljZS10cmVlIGJpbmRpbmdzIGRvY3VtZW50 YXRpb24uCj4gPiA+ID4gPgo+ID4gPiA+ID4gSG93IHdhcyB0aGlzIHRlc3RlZD8KPiA+ID4gPgo+ ID4gPiA+IFVzaW5nIEFsc2EgdXRpbHMgb24gYSBCZWVsaW5rIEdTMSBhbmQgSSBjaGVjayBjb3Jy ZWN0IG91dHB1dCBzb3VuZCBvbgo+ID4gPiA+IG15IGhvbWUgY2luZW1hLgo+ID4gPiA+Cj4gPiA+ ID4gPiBBZnRlciBsb29raW5nIGF0IHRoZSBkYXRhc2hlZXQsIGl0IGxvb2tzIGxpa2UgaXQncyBz dGlsbCBzaWduaWZpY2FudGx5Cj4gPiA+ID4gPiBkaWZmZXJlbnQuIEluIHBhcnRpY3VsYXI6Cj4g PiA+ID4gPgo+ID4gPiA+ID4gICAtIFRoZSBNQ0xLIGRpdmlkZXIgaXNuJ3QgYXQgdGhlIHNhbWUg b2Zmc2V0Cj4gPiA+ID4KPiA+ID4gPiBXZSBkb24ndCB1c2UgdGhlIE1DTEsKPiA+ID4gPgo+ID4g PiA+ID4gICAtIFRoZSBiaXRzIHRvIGZsdXNoIHRoZSBGSUZPIGFyZW4ndCBhdCB0aGUgc2FtZSBv ZmZzZXQKPiA+ID4gPiA+ICAgLSBUaGUgRklGTyB0cmlnZ2VyIGxldmVscyBhcmVuJ3QgYXQgdGhl IHNhbWUgb2Zmc2V0Cj4gPiA+ID4gPiAgIC0gVGhlIEZJRk8gc3RhdHVzIHJlZ2lzdGVyIGxheW91 dCBpcyBhbG1vc3QgZW50aXJlbHkgZGlmZmVyZW50Cj4gPiA+ID4KPiA+ID4gPiBXZSB1c2UgRE1B IG5vdCBGSUZPCj4gPiA+Cj4gPiA+IFdlbGwsIERNQSBzdGlsbCB1c2VzIHRoZSBGSUZPcy4gQW5k IGV2ZW4gdGhlbiwgeW91J3JlIGtpbmQgb2YgbWlzc2luZwo+ID4gPiB0aGUgcG9pbnQuIFRoZSBk ZXZpY2UgdHJlZSdzIGNvbXBhdGlibGUgaXMgYWJvdXQgd2hldGhlciBhIHBhcnRpY3VsYXIKPiA+ ID4gZGV2aWNlIGNhbiBiZSB1c2VkIGFzIGFub3RoZXIgb25lLiBIb3cgeW91IGFyZSB1c2luZyBp dCBpbiB0aGUgZHJpdmVyCj4gPiA+IGlzIGNvbXBsZXRlbHkgaXJyZWxldmFudC4KPiA+Cj4gPiBT b3JyeSBJIG1lYW50ICIgV2UgdXNlIERNQSBub3QgUElPIi4KPgo+IEknbSBzdGlsbCBub3QgcXVp dGUgc3VyZSB3aGF0IHlvdSBtZWFuLiBCb3RoIERNQSBhbmQgUElPIHdvdWxkIGJlCj4gdXNpbmcg dGhlIEZJRk9zLgoKSnVzdCBjb3JyZWN0aW5nIG15c2VsZiBidXQgeWVzIHdlIHVzZSBGSUZPIHdp dGggdGhlIERNQS4KCj4KPiA+IEkgZGlkbid0IGNoYW5nZSB0aGUgZHJpdmVyIGFuZCB0aGUgU1BE SUYgaXMgd29ya2luZyB3aGF0J3MgaXJyZWxldmFudAo+ID4gaW4gZGVjbGFyaW5nIHRoZSBkcml2 ZXIgYXMgY29tcGF0aWJsZSA/Cj4KPiBJdCdzIHdvcmtpbmcgYnkgYWNjaWRlbnQuCj4KPiBUaGlz IHdvbid0IHdvcmsgZm9yIGV4YW1wbGU6Cj4gaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGlu dXgvbGF0ZXN0L3NvdXJjZS9zb3VuZC9zb2Mvc3VueGkvc3VuNGktc3BkaWYuYyNMMTgxCj4KPiA+ IElmIHNvbWUgZmVhdHVyZSBhcmUgbWlzc2luZyB0aGV5IGNhbiBiZSBpbnRyb2R1Y2UgbGF0ZXIg YXMgdGhlcmUgaXMgYQo+ID4gc3BlY2lhbCBiaW5kaW5nIGZvciBINiBubyA/Cj4KPiBBZ2Fpbiwg dGhhdCdzIGlycmVsZXZhbnQuIFRoZSBvbmx5IHF1ZXN0aW9uIHlvdSBuZWVkIHRvIGFzayB5b3Vy c2VsZgo+IGlzIHdoZXRoZXIsIGlmIHlvdSB0YWtlIGFuIGltYWdpbmFyeSBzb3VyY2UgY29kZSB0 aGF0IHdvdWxkIHN1cHBvcnQKPiBhbGwgdGhlIEgzIFNQRElGIGZlYXR1cmVzIGFuZCBydW4gaXQg b24gYW4gSDYsIGl0IHdvcmtzIGp1c3QgYXMgd2VsbC4KPgo+IFRoZSBleGFtcGxlcyBhYm92ZSB0 aGF0IGl0J3Mgbm90IHRoZSBjYXNlLCBzbyB5b3UgY2FuJ3QgY2xhaW0gdGhhdCB0aGUKPiBkZXZp Y2UgaXMgY29tcGF0aWJsZS4KCklzIGl0IG9rIGlmIEkgZml4IHRoZSBUWCBGaWZvIGZsdXNoIGJp dCBhbmQgcmVtb3ZlIHRoZSBjb21wYXRpYmxlIHdpdGggSDMgPwooTG9va2luZyBhdCB0aGUgZHJp dmVyIHRoaXMgaXMgdGhlIG9ubHkgYml0IHVzZWQgdGhhdCBpcyBpbmNvbXBhdGlibGUgd2l0aCBI NikKCk9yIHNob3VsZCBJIHNlbmQgYSBuZXcgZHJpdmVyIHdpdGggdGhlIGNvcnJlY3QgbWFwcGlu ZyA/CgpUaGFua3MKQ2zDqW1lbnQKCgo+Cj4gTWF4aW1lCj4KPiAtLQo+IE1heGltZSBSaXBhcmQs IEJvb3RsaW4KPiBFbWJlZGRlZCBMaW51eCBhbmQgS2VybmVsIGVuZ2luZWVyaW5nCj4gaHR0cHM6 Ly9ib290bGluLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo=