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 A768DC46467 for ; Tue, 10 Jan 2023 14:29:49 +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:In-Reply-To:MIME-Version:References: 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=snKdtSJxLPyTFFbOhrBw217C3ry+e51xkdclIeOjC/s=; b=uiHTaGePSz7rVv 6+bDbaGqs9Fzk5499Ke5gzDaTkYXMDV6tIXUeYIkgcsO202lZQ8bsJp3L1AokGkmyJpSnMLvs/e3u w2bFJv2iIAiu2XPpZhgHgPibBqWgv89SH3qyLl/2Sun0s4l7FF4zz18M/s70SPbBDDzbvewjk727t 2mkv8DnQ1SkaBSJ0xmN3NmF9gYOhb2Y/ITI0PJ3EZbP7E3P42HhpJ1NyH9B7bRTPeMEqh6DVr9GIp oVoJ08uKBv0cNCH17i/SmRZPmOUNRI4BwoRi4TTQ7fL/vgcv6T/CLTuTwOIk9RGA76K8RA6jXhJAN YjK6tq/5GzDtI8D04Iug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFFcO-007J2t-NA; Tue, 10 Jan 2023 14:28:48 +0000 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFFcJ-007J1Z-St for linux-arm-kernel@lists.infradead.org; Tue, 10 Jan 2023 14:28:47 +0000 Received: by mail-pj1-x1036.google.com with SMTP id o1-20020a17090a678100b00219cf69e5f0so16683640pjj.2 for ; Tue, 10 Jan 2023 06:28:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20210112.gappssmtp.com; s=20210112; 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=1uAPm4TvuyfFiFiTXnXvZ5Lp4pJKxecoZo4KRpCVo8o=; b=LEpEW9Ssbm936q/NCQYLaqvHxdrA4k3lsfgfx3ICIdcyrp0eTpywjWLm0mTlN9/BZl c8F3IxrAp/VAsqZMemuJXBgqJjaZZLj1XJ5MIh/oKvSuFfei/k0+FAJc1pxsUIcUSaiT U03iFnov0EREVdJBIBKClDDne8YOWmOO1JT+Ch1rW0wXcPC1kBxPsnQ3SCoykO0WhLWW VewGxF0LIMOI5TUrMfsOX99vsZ013TzLtl6eArCx4OVkXvSzkTXupgXvKTXVmyIjZOwG mg3qfI/KBpyJ0tNezHPXNC/Jsdzsh8bVSAJ1LY6EN6GGEAAT/4qkgO8K8ja0prGlPwAZ sUcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1uAPm4TvuyfFiFiTXnXvZ5Lp4pJKxecoZo4KRpCVo8o=; b=BNfKhB/YGOniFLvtuWG80fhEyN0vJgmw0X9lomXZ63eUdfBeLzMF1Vnl0NDFNJzZFn KIHAhGIvSOU9uk6GRT2uAA6MKzX1tsBEEVVqhSwJKW7BCB/qhj0+E/85wzqEwOZNMumz VpgxuTa9yE09j78urd+9uZMAVhwVXePk8gwdit3V0qZk4Fp1zPNsEG1CneGvHHC3yu4v QTX8559ymYZRgVPgP7BlgJzMHr0ix/DFm46IViHjKhQi04sl53r4KfDz1qovdVVtkZ31 Mp9h/v98CeThhowY5Js5h70g263JCc5oCJiU8OZIgkn6GPKrVixMvD18OKXpba9WFhYk pmIg== X-Gm-Message-State: AFqh2krwX7YgI4bUTXwBGZ9ozrqAhGhtae7WDtsh1IEakMClHG1oX7ZV qKQdtk9SHanlydbF5Pju+j7MFw== X-Google-Smtp-Source: AMrXdXt2WIz7aq75Fyr4MN5VOK1LagUefbYmsLpAC/QqGptcud67imAJxjVJKdRqcJqjooQZQpoZiA== X-Received: by 2002:a05:6a21:32a1:b0:aa:6efd:1883 with SMTP id yt33-20020a056a2132a100b000aa6efd1883mr110130914pzb.37.1673360919947; Tue, 10 Jan 2023 06:28:39 -0800 (PST) Received: from localhost (thunderhill.nvidia.com. [216.228.112.22]) by smtp.gmail.com with ESMTPSA id w65-20020a623044000000b0056c349f5c70sm8179608pfw.79.2023.01.10.06.28.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jan 2023 06:28:39 -0800 (PST) Date: Tue, 10 Jan 2023 15:28:36 +0100 From: Jiri Pirko To: "Kubalewski, Arkadiusz" Cc: Jakub Kicinski , Maciek Machnikowski , 'Vadim Fedorenko' , 'Jonathan Lemon' , 'Paolo Abeni' , "netdev@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-clk@vger.kernel.org" Subject: Re: [RFC PATCH v4 0/4] Create common DPLL/clock configuration API Message-ID: References: <10bb01d90a45$77189060$6549b120$@gmail.com> <20221207152157.6185b52b@kernel.org> <6e252f6d-283e-7138-164f-092709bc1292@machnikowski.net> <20221209083104.2469ebd6@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230110_062843_967553_84FB6FB0 X-CRM114-Status: GOOD ( 22.92 ) 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 VHVlLCBKYW4gMTAsIDIwMjMgYXQgMTE6NTQ6MjBBTSBDRVQsIGFya2FkaXVzei5rdWJhbGV3c2tp QGludGVsLmNvbSB3cm90ZToKPj5Gcm9tOiBKaXJpIFBpcmtvIDxqaXJpQHJlc251bGxpLnVzPgo+ PlNlbnQ6IE1vbmRheSwgSmFudWFyeSA5LCAyMDIzIDU6MzAgUE0KPj4KPj5Nb24sIEphbiAwOSwg MjAyMyBhdCAwMzo0MzowMVBNIENFVCwgYXJrYWRpdXN6Lmt1YmFsZXdza2lAaW50ZWwuY29tIHdy b3RlOgo+Pj4+RnJvbTogSmlyaSBQaXJrbyA8amlyaUByZXNudWxsaS51cz4KPj4+PlNlbnQ6IE1v bmRheSwgRGVjZW1iZXIgMTIsIDIwMjIgMjo1OSBQTQo+Pj4+Cj4+Pj5GcmksIERlYyAwOSwgMjAy MiBhdCAwNTozMTowNFBNIENFVCwga3ViYUBrZXJuZWwub3JnIHdyb3RlOgo+Pj4+Pk9uIEZyaSwg OSBEZWMgMjAyMiAxNTowOTowOCArMDEwMCBNYWNpZWsgTWFjaG5pa293c2tpIHdyb3RlOgo+Pj4+ Pj4gT24gMTIvOS8yMDIyIDEyOjA3IFBNLCBKaXJpIFBpcmtvIHdyb3RlOgo+Pj4+Pj4gPiBMb29r aW5nIGF0IHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBjaGlwcywgdGhleSBhbGwgaGF2ZSBtdXBs dGlwbGUKPj4+PkRQTExzCj4+Pj4+PiA+IG9uIGEgZGllLiBBcmthZGl1c3osIGluIHlvdXIgcHJv cG9zZWQgaW1wbGVtZW50YXRpb24sIGRvIHlvdSBtb2RlbAo+Pj4+ZWFjaAo+Pj4+Pj4gPiBEUExM IHNlcGFyYXRlbGx5PyBJZiB5ZXMsIHRoZW4gSSB1bmRlcnN0YW5kIHRoZSB1cmdlbmN5IG9mIG5l ZWQgb2YgYQo+Pj4+Pj4gPiBzaGFyZWQgcGluLiBTbyBhbGwgRFBMTHMgc2hhcmluZyB0aGUgcGlu IGFyZSBwYXJ0IG9mIHRoZSBzYW1lIGNoaXA/Cj4+Pj4+PiA+Cj4+Pj4+PiA+IFF1ZXN0aW9uOiBj YW4gd2UgaGF2ZSBhbiBlbnRpdHksIHRoYXQgd291bGQgYmUgMToxIG1hcHBlZCB0byB0aGUKPj4+ PmFjdHVhbAo+Pj4+Pj4gPiBkZXZpY2UvY2hpcCBoZXJlPyBMZXQncyBjYWxsIGlzICJhIHN5bmNo cm9uaXplciIuIEl0IHdvdWxkIGNvbnRhaW4KPj4+Pj4+ID4gbXVsdGlwbGUgRFBMTHMsIHVzZXIt ZmFjaW5nLXNvdXJjZXMoaW5wdXRfY29ubmVjdG9yKSwKPj4+Pj4+ID4gdXNlci1mYWNpbmctb3V0 cHV0cyhvdXRwdXRfY29ubmVjdG9yKSwgaS9vIHBpbnMuCj4+Pj4+PiA+Cj4+Pj4+PiA+IEFuIGV4 YW1wbGU6Cj4+Pj4+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTWU5DSFJPTkla RVIKPj4+Pj4+ID4KPj4+Pj4+ID4KPj4+PuKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkAo+Pj4+Pj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICDilIIKPj4+PuKUggo+Pj4+Pj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICDilIIKPj4+PuKUggo+Pj4+Pj4gPiAgIFN5bmNFIGluIGNvbm5lY3RvciAgICAg ICAgICDilIIgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkAo+ Pj4+4pSCICAgICBTeW5jRSBvdXQgY29ubmVjdG9yCj4+Pj4+PiA+ICAgICAgICAgICAgICAgICDi lIzilIDilIDilIDilJAgICAgICAgICDilIJpbiBwaW4gMSAgICAgIOKUgkRQTExfMSAgIOKUgiAg ICAgb3V0IHBpbgo+Pj4+MeKUgiAgICDilIzilIDilIDilIDilJAKPj4+Pj4+ID4gICAgICAgICAg ICAgICAgIOKUgiAgIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpAo+Pj4+4pSc4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSkICAg4pSCCj4+Pj4+ PiA+ICAgICAgICAgICAgICAgICDilIIgICDilIIgICAgICAgICDilIIgICAgICAgICAgICAgIOKU giAgICAgICAgIOKUggo+Pj4+4pSCICAgIOKUgiAgIOKUggo+Pj4+Pj4gPiAgICAgICAgICAgICAg ICAg4pSU4pSA4pSA4pSA4pSYICAgICAgICAg4pSCICAgICAgICAgICAgICDilIIgICAgICAgICDi lIIKPj4+PuKUgiAgICDilJTilIDilIDilIDilJgKPj4+Pj4+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg4pSCICAgICAgICAgICAgICDilIIgICAgICAgICDilIIKPj4+PuKUggo+Pj4+ Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgICAgICAgIOKUjOKUgOKU gOKUpCAgICAgICAgIOKUggo+Pj4+4pSCCj4+Pj4+PiA+ICAgIEdOU1MgaW4gY29ubmVjdG9yICAg ICAgICAgIOKUgiAgICAgICAgICAg4pSCICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDi lJgKPj4+PuKUggo+Pj4+Pj4gPiAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSQICAgICAg ICAg4pSCaW4gcGluIDIgICDilIIgICAgICAgICAgICAgICAgICBvdXQgcGluCj4+Pj4y4pSCICAg ICBFWFQgU01BIGNvbm5lY3Rvcgo+Pj4+Pj4gPiAgICAgICAgICAgICAgICAg4pSCICAg4pSc4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSYCj4+Pj7ilIIgICAg4pSM4pSA4pSA4pSA4pSQCj4+Pj4+PiA+ICAgICAgICAgICAgICAg ICDilIIgICDilIIgICAgICAgICDilIIKPj4+PuKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUpCAgIOKUggo+Pj4+Pj4gPiAgICAgICAgICAgICAgICAg 4pSU4pSA4pSA4pSA4pSYICAgICAgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSC Cj4+Pj7ilIIgICAg4pSCICAg4pSCCj4+Pj4+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggo+Pj4+4pSCICAgIOKUlOKUgOKU gOKUgOKUmAo+Pj4+Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgICAg ICAgICAgICAgICAgICAgICAgICDilIIKPj4+PuKUggo+Pj4+Pj4gPiAgICBFWFQgU01BIGNvbm5l Y3RvciAgICAgICAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKPj4+PuKUggo+ Pj4+Pj4gPiAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSQICAgbXV4ICAg4pSCaW4gcGlu IDMgICAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUggo+Pj4+4pSCCj4+ Pj4+PiA+ICAgICAgICAgICAgICAgICDilIIgICDilJzilIDilIDilIDilIDilKzilIDilIDilIDi lIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUgiAgICAgICAgIOKU giAg4pSCCj4+Pj7ilIIKPj4+Pj4+ID4gICAgICAgICAgICAgICAgIOKUgiAgIOKUgiAgICDilIIg ICAg4pSCICAgICAgICAgICDilIIgIOKUgkRQTExfMiAgIOKUgiAg4pSCCj4+Pj7ilIIKPj4+Pj4+ ID4gICAgICAgICAgICAgICAgIOKUlOKUgOKUgOKUgOKUmCAgICDilIIgICAg4pSCICAgICAgICAg ICDilIIgIOKUgiAgICAgICAgIOKUgiAg4pSCCj4+Pj7ilIIKPj4+Pj4+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgIOKUgiAgICDilIIgICAgICAgICAgIOKUlOKUgOKUgOKUpCAgICAgICAgIOKU nOKUgOKUgOKUmAo+Pj4+4pSCCj4+Pj4+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICDilIIg ICAg4pSCICAgICAgICAgICAgICDilIIgICAgICAgICDilIIKPj4+PuKUggo+Pj4+Pj4gPiAgICBF WFQgU01BIGNvbm5lY3RvciAgICAg4pSCICAgIOKUgiAgICAgICAgICAgICAg4pSCICAgICAgICAg 4pSCCj4+Pj7ilIIKPj4+Pj4+ID4gICAgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUkCAgICDi lIIgICAg4pSCICAgICAgICAgICAgICDilIIgICAgICAgICDilIIKPj4+PuKUggo+Pj4+Pj4gPiAg ICAgICAgICAgICAgICAg4pSCICAg4pSc4pSA4pSA4pSA4pSA4pSYICAgIOKUgiAgICAgICAgICAg ICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYCj4+Pj7ilIIKPj4+Pj4+ID4gICAg ICAgICAgICAgICAgIOKUgiAgIOKUgiAgICAgICAgIOKUggo+Pj4+4pSCCj4+Pj4+PiA+ICAgICAg ICAgICAgICAgICDilJTilIDilIDilIDilJgKPj4+PuKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAo+Pj4+Pj4gPgo+Pj4+Pj4g PiBEbyBJIGdldCB0aGF0IHJlbW90ZWxseSBjb3JyZWN0Pwo+Pj4+Pj4KPj4+Pj4+IEl0IGxvb2tz IGdvb3QsIGhlbmNlIHR3byBjb3JyZWN0aW9ucyBhcmUgbmVlZGVkOgo+Pj4+Pj4gLSBhbGwgaW5w dXRzIGNhbiBnbyB0byBhbGwgRFBMTHMsIGFuZCBhIHNpbmdsZSBzb3VyY2UgY2FuIGRyaXZlIG1v cmUKPj4+Pj4+ICAgdGhhbiBvbmUgRFBMTAo+Pj4+Pj4gLSBUaGUgZXh0ZXJuYWwgbXV4IGZvciBT TUEgY29ubmVjdG9yIHNob3VsZCBub3QgYmUgYSBwYXJ0IG9mIHRoZQo+Pj4+Pj4gICBTeW5jaHJv bml6ZXIgc3Vic3lzdGVtIC0gSSBiZWxpZXZlIHRoZXJlJ3MgYWxyZWFkeSBhIHNlcGFyYXRlIE1V WAo+Pj4+Pj4gICBzdWJzeXN0ZW0gaW4gdGhlIGtlcm5lbCBhbmQgYWxsIGV4dGVybmFsIGNvbm5l Y3Rpb25zIHNob3VsZCBiZQo+PmhhbmRsZWQKPj4+Pj4+ICAgYnkgYSBkZXZ0cmVlIG9yIGEgc2lt aWxhciBjb25jZXB0Lgo+Pj4+Pj4KPj4+Pj4+IFRoZSBvbmx5ICJtdXhpbmciIHRoaW5nIHRoYXQg Y291bGQgcG90ZW50aWFsbHkgYmUgbW9kZWxlZCBpcyBhCj4+Pj4+PiBzeW5jaHJvbml6ZXIgb3V0 cHV0IHRvIHN5bmNocm9uaXplciBpbnB1dCByZWxhdGlvbi4gU29tZSBzeW5jaHJvbml6ZXJzCj4+ Pj4+PiBkb2VzIHRoYXQgaW50ZXJuYWxseSBhbmQgY2FuIHVzZSB0aGUgb3V0cHV0IG9mIG9uZSBE UExMIGFzIGEgc291cmNlCj4+Zm9yCj4+Pj4+PiBhbm90aGVyLgo+Pj4+Pgo+Pj4+Pk15IGV4cGVy aWVuY2Ugd2l0aCBEVCBhbmQgbXV4ZXMgaXMgcmFwaWRseSBhZ2luZywgaGF2ZSB5b3Ugd29ya2Vk IHdpdGgKPj4+Pj50aG9zZSByZWNlbnRseT8gRnJvbSB3aGF0IEkgcmVtZW1iZXIgdGhlIG11eGVz IHdlcmUgcmVhbGx5Li4gImVtYmVkZGVkIgo+Pj4+PmFuZCBzdGF0aWMgY29tcGFyZWQgdG8gd2hh dCB3ZSB3YW50IGhlcmUuCj4+Pj4KPj4+PldoeSBkbyB5b3UgdGhpbmsgd2UgbmVlZCBzb21ldGhp bmcgIm5vbi1zdGF0aWMiPyBUaGUgbXV4IGlzIHBhcnQgb2YgdGhlCj4+Pj5ib2FyZCwgaXNuJ3Qg aXQ/IFRoYXQgc291bmRzIHF1aXRlIHN0YXRpYyB0byBtZS4KPj4+Pgo+Pj4+Cj4+Pj4+Cj4+Pj4+ VXNpbmcgRFQgbWF5IHdvcmsgbmljZWx5IGZvciBkZWZpbmluZyB0aGUgdG9wb2xvZ3ksIGJ1dCBm b3IgY29uZmlnIHdlCj4+Pj4+c3RpbGwgbmVlZCBhIGRpZmZlcmVudCBtZWNoYW5pc20uCj4+Pj4K Pj4+PiJjb25maWciIG9mIHdoYXQ/IEVhY2ggaXRlbSBpbiB0b3BvbG9neSB3b3VsZCBiZSBjb25m aWd1cmUgYWNjb3JkaW5nIHRvCj4+Pj50aGUgaXRlbSB0eXBlLCB3b24ndCBpdD8KPj4+Pgo+Pj4+ Wy4uLl0KPj4+Cj4+Pgo+Pj5IaSBndXlzLAo+Pj4KPj4+V2UgaGF2ZSBiZWVuIHRyeWluZyB0byBm aWd1cmUgb3V0IGZlYXNpYmlsaXR5IG9mIG5ldyBhcHByb2FjaCBwcm9wb3NlZCBvbgo+Pm91cgo+ Pj5sYXRlc3QgbWVldGluZyAtIHRvIGhhdmUgYSBzaW5nbGUgb2JqZWN0IHdoaWNoIGVuY2Fwc3Vs YXRlcyBtdWx0aXBsZQo+PkRQTExzLgo+Pj4KPj4+UGxlYXNlIGNvbnNpZGVyIGZvbGxvd2luZyBl eGFtcGxlOgo+Pj4KPj4+U2hhcmVkIGNvbW1vbiBpbnB1dHM6Cj4+PmkwIC0gR1BTICAvIGV4dGVy bmFsCj4+PmkxIC0gU01BMSAvIGV4dGVybmFsCj4+PmkyIC0gU01BMiAvIGV4dGVybmFsCj4+Pmkz IC0gTVVYMCAvIGNsayByZWNvdmVyZWQgZnJvbSBQSFkwLlggZHJpdmVuIGJ5IE1BQzAKPj4+aTQg LSBNVVgxIC8gY2xrIHJlY292ZXJlZCBmcm9tIFBIWTEuWCBkcml2ZW4gYnkgTUFDMQo+Pj4KPj4+ Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsKPj4+fCBDaGFubmVsIEEgLyBGVzAgICAgICAgICAgICAgKy0tLSsgICAgICAgICAgICAgICAg ICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgICAgICAgICAgICBpMC0tfCAgIHwgICAgICAgICAg ICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgICstLS0rICAgICAgICAgICAgICAgfCAgIHwgICAg ICAgICAgICAgICAgICAgICAgIHwKPj4+fCBQSFkwLjAtLXwgICB8ICAgICAgICAgICBpMS0tfCBE IHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgIHwgICB8ICAgICAgICAgICAg ICAgfCBQIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCBQSFkwLjEtLXwgTSB8ICAgICAg ICAgICBpMi0tfCBMIHwgICArLS0tKyAgICstLS0tLS0tLSsgIHwKPj4+fCAgICAgICAgIHwgVSB8 ICAgICAgICAgICAgICAgfCBMIHwtLS18ICAgfC0tLXwgUEhZMC4wIHwtLXwKPj4+fCBQSFkwLjIt LXwgWCB8LSstLS0tLS0tLS1pMy0tfCAwIHwgICB8ICAgfCAgICstLS0tLS0tLSsgIHwKPj4+fCAg ICAgICAgIHwgMCB8IHwrLS0tLS0tKyAgICAgfCAgIHwtLS18IE0gfC0tLXwgUEhZMC4xIHwtLXwK Pj4+fCAuLi4gICAtLXwgICB8IHx8IE1VWDEgfC1pNC0tfCAgIHwgICB8IEEgfCAgICstLS0tLS0t LSsgIHwKPj4+fCAgICAgICAgIHwgICB8IHwrLS0tLS0tKyAgICAgKy0tLSsgICB8IEMgfC0tLXwg UEhZMC4yIHwtLXwKPj4+fCBQSFkwLjctLXwgICB8IHwgICAgICAgICBpMC0tfCAgIHwgICB8IDAg fCAgICstLS0tLS0tLSsgIHwKPj4+fCAgICAgICAgICstLS0rIHwgICAgICAgICAgICAgfCAgIHwt LS18ICAgfC0tLXwgLi4uICAgIHwtLXwKPj4+fCAgICAgICAgICAgICAgIHwgICAgICAgICBpMS0t fCBEIHwgICB8ICAgfCAgICstLS0tLS0tLSsgIHwKPj4+fCAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgfCBQIHwtLS18ICAgfC0tLXwgUEhZMC43IHwtLXwKPj4+fCAgICAgICAgICAgICAgIHwg ICAgICAgICBpMi0tfCBMIHwgICArLS0tKyAgICstLS0tLS0tLSsgIHwKPj4+fCAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgfCBMIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAg ICAgICAgICAgIFwtLS0tLS0tLS1pMy0tfCAxIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+ fCAgICAgICAgICAgICAgICArLS0tLS0tKyAgICAgfCAgIHwgICAgICAgICAgICAgICAgICAgICAg IHwKPj4+fCAgICAgICAgICAgICAgICB8IE1VWDEgfC1pNC0tfCAgIHwgICAgICAgICAgICAgICAg ICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgICArLS0tLS0tKyAgICAgKy0tLSsgICAgICAgICAg ICAgICAgICAgICAgIHwKPj4+Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsKPj4+fCBDaGFubmVsIEIgLyBGVzEgICAgICAgICAgICAgKy0t LSsgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgICAgICAgICAgICBp MC0tfCAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgICAgICAg ICAgICAgICAgICBpMS0tfCBEIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAgICAg ICstLS0rICAgICAgICAgICAgICAgfCBQIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCBQ SFkxLjAtLXwgICB8ICAgICAgICAgICBpMi0tfCBMIHwgICArLS0tKyAgICstLS0tLS0tLSsgIHwK Pj4+fCAgICAgICAgIHwgICB8ICArLS0tLS0tKyAgICAgfCBMIHwtLS18ICAgfC0tLXwgUEhZMS4w IHwtLXwKPj4+fCBQSFkxLjEtLXwgTSB8ICB8IE1VWDAgfC1pMy0tfCAwIHwgICB8ICAgfCAgICst LS0tLS0tLSsgIHwKPj4+fCAgICAgICAgIHwgVSB8ICArLS0tLS0tKyAgICAgfCAgIHwtLS18IE0g fC0tLXwgUEhZMS4xIHwtLXwKPj4+fCBQSFkxLjItLXwgWCB8LSstLS0tLS0tLS1pNC0tfCAgIHwg ICB8IEEgfCAgICstLS0tLS0tLSsgIHwKPj4+fCAgICAgICAgIHwgMSB8IHwgICAgICAgICAgICAg Ky0tLSsgICB8IEMgfC0tLXwgUEhZMS4yIHwtLXwKPj4+fCAuLi4gICAtLXwgICB8IHwgICAgICAg ICBpMC0tfCAgIHwgICB8IDEgfCAgICstLS0tLS0tLSsgIHwKPj4+fCAgICAgICAgIHwgICB8IHwg ICAgICAgICAgICAgfCAgIHwtLS18ICAgfC0tLXwgLi4uICAgIHwtLXwKPj4+fCBQSFkxLjctLXwg ICB8IHwgICAgICAgICBpMS0tfCBEIHwgICB8ICAgfCAgICstLS0tLS0tLSsgIHwKPj4+fCAgICAg ICAgICstLS0rIHwgICAgICAgICAgICAgfCBQIHwtLS18ICAgfC0tLXwgUEhZMS43IHwtLXwKPj4+ fCAgICAgICAgICAgICAgIHwgICAgICAgICBpMi0tfCBMIHwgICArLS0tKyAgICstLS0tLS0tLSsg IHwKPj4+fCAgICAgICAgICAgICAgIHwrLS0tLS0tKyAgICAgfCBMIHwgICAgICAgICAgICAgICAg ICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgIHx8IE1VWDAgfC1pMy0tfCAxIHwgICAgICAgICAg ICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgIHwrLS0tLS0tKyAgICAgfCAgIHwgICAg ICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgIFwtLS0tLS0tLS1pNC0tfCAg IHwgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+fCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKy0tLSsgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+Ky0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPj4KPj5XaGF0IGlzICJhIGNo YW5uZWwiIGhlcmU/IEFyZSB0aGVzZSAyIGNoYW5uZWxzIHBhcnQgb2YgdGhlIHNhbWUgcGh5c2l2 YWwKPj5jaGlwPyBDb3VsZCB5b3UgYWRkIHRoZSBzeW5jaHJvbml6ZXIgY2hpcC9kZXZpY2UgZW50 aXRpZXMgdG8geW91ciBkcmF3aW5nPwo+Pgo+Cj5Oby4KPkEgIlN5bmNocm9uaXphdGlvbiBDaGFu bmVsIiBvbiBhIHN3aXRjaCB3b3VsZCBhbGxvdyB0byBzZXBhcmF0ZSBncm91cHMKPm9mIHBoeXNp Y2FsIHBvcnRzLiBFYWNoIGNoYW5uZWwvZ3JvdXAgaGFzIG93biAiU3luY2hyb25pemVyIENoaXAi LCB3aGljaCBpcwo+dXNlZCB0byBkcml2ZSBQSFkgY2xvY2tzIG9mIHRoYXQgZ3JvdXAuCj4KPiJT eW5jaHJvbml6ZXIgY2hpcCIgd291bGQgYmUgdGhlIDIgRFBMTHMgb24gb2xkIGRyYXcsIHNvbWV0 aGluZyBsaWtlIHRoaXM6Cj4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj58IENoYW5uZWwgQSAvIEZXMCAgICAgICAgKy0tLS0t LS0tLS0tLS0rICAgKy0tLSsgICArLS0tLS0tLS0rICB8Cj58ICAgICAgICAgICAgICAgICAgICBp MC0tfFN5bmNocm9uaXplcjB8LS0tfCAgIHwtLS18IFBIWTAuMCB8LS18Cj58ICAgICAgICAgKy0t LSsgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgfCAgIHwgICArLS0tLS0tLS0rICB8Cj58IFBI WTAuMC0tfCAgIHwgICAgICBpMS0tfCAgICAgICAgICAgICB8LS0tfCBNIHwtLS18IFBIWTAuMSB8 LS18Cj58ICAgICAgICAgfCAgIHwgICAgICAgICAgfCArLS0tLS0rICAgICB8ICAgfCBBIHwgICAr LS0tLS0tLS0rICB8Cj58IFBIWTAuMS0tfCBNIHwgICAgICBpMi0tfCB8RFBMTDB8ICAgICB8ICAg fCBDIHwtLS18IFBIWTAuMiB8LS18Cj58ICAgICAgICAgfCBVIHwgICAgICAgICAgfCArLS0tLS0r ICAgICB8ICAgfCAwIHwgICArLS0tLS0tLS0rICB8Cj58IFBIWTAuMi0tfCBYIHwtLSstLS1pMy0t fCArLS0tLS0rICAgICB8LS0tfCAgIHwtLS18IC4uLiAgICB8LS18Cj58ICAgICAgICAgfCAwIHwg IHwgICAgICAgfCB8RFBMTDF8ICAgICB8ICAgfCAgIHwgICArLS0tLS0tLS0rICB8Cj58IC4uLiAg IC0tfCAgIHwgIHwgLy1pNC0tfCArLS0tLS0rICAgICB8LS0tfCAgIHwtLS18IFBIWTAuNyB8LS18 Cj58ICAgICAgICAgfCAgIHwgIHwgfCAgICAgKy0tLS0tLS0tLS0tLS0rICAgKy0tLSsgICArLS0t LS0tLS0rICB8Cj58IFBIWTAuNy0tfCAgIHwgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8Cj58ICAgICAgICAgKy0tLSsgIHwgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4rLS0tLS0tLS0tLS0tLS0tLXwtfC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj58IENoYW5uZWwgQiAvIEZXMXwg fCAgICAgKy0tLS0tLS0tLS0tLS0rICAgKy0tLSsgICArLS0tLS0tLS0rICB8Cj58ICAgICAgICAg ICAgICAgIHwgfCBpMC0tfFN5bmNocm9uaXplcjF8LS0tfCAgIHwtLS18IFBIWTEuMCB8LS18Cj58 ICAgICAgICAgKy0tLSsgIHwgfCAgICAgfCAgICAgICAgICAgICB8ICAgfCAgIHwgICArLS0tLS0t LS0rICB8Cj58IFBIWTEuMC0tfCAgIHwgIHwgfCBpMS0tfCAgICAgICAgICAgICB8LS0tfCBNIHwt LS18IFBIWTEuMSB8LS18Cj58ICAgICAgICAgfCAgIHwgIHwgfCAgICAgfCArLS0tLS0rICAgICB8 ICAgfCBBIHwgICArLS0tLS0tLS0rICB8Cj58IFBIWTEuMS0tfCBNIHwgIHwgfCBpMi0tfCB8RFBM TDB8ICAgICB8ICAgfCBDIHwtLS18IFBIWTEuMiB8LS18Cj58ICAgICAgICAgfCBVIHwgIHwgfCAg ICAgfCArLS0tLS0rICAgICB8ICAgfCAxIHwgICArLS0tLS0tLS0rICB8Cj58IFBIWTEuMi0tfCBY IHwgIFwtfC1pMy0tfCArLS0tLS0rICAgICB8LS0tfCAgIHwtLS18IC4uLiAgICB8LS18Cj58ICAg ICAgICAgfCAxIHwgICAgfCAgICAgfCB8RFBMTDF8ICAgICB8ICAgfCAgIHwgICArLS0tLS0tLS0r ICB8Cj58IC4uLiAgIC0tfCAgIHwtLS0tKy1pNC0tfCArLS0tLS0rICAgICB8LS0tfCAgIHwtLS18 IFBIWTEuNyB8LS18Cj58ICAgICAgICAgfCAgIHwgICAgICAgICAgKy0tLS0tLS0tLS0tLS0rICAg Ky0tLSsgICArLS0tLS0tLS0rICB8Cj58IFBIWTEuNy0tfCAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj58ICAgICAgICAgKy0tLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj5BbHNvLCBw bGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgaXMgYW4gZXhhbXBsZSwgdGhlcmUgY291bGQgYmUgZWFz aWx5IDQKPihvciBtb3JlKSBjaGFubmVscyB3aXJlZCBzaW1pbGFybHkuCgoKR29vZC4gU28gdGhl cmUgYXJlIDIgc3luY2hyb25pemVycyBvdXQgdGhlcmUsIGVhY2ggaGFzIGEgbGlzdCBvZiBwaW5z CmFuZCBjb250YWluIG11bHRpcGxlIGRwbGxzLiAxIHN5bmNocm9uaXplciBpcyAxIGRldmljZS4g Tm8gcGluIHNoYXJpbmcKYmV0d2VlbiBkZXZpY2VzLCBqdXN0IGJldHdlZW4gZHBsbHMgaW5zaWRl IG9uZSBkZXZpY2UuIFRoYXQgZWxpbWluYXRlcwp0aGlzIG9kZCBjb25jZXB0IG9mIGZseWluZyBw aW4uIEdvb2QuCgoKPgo+Pgo+Pj4KPj4+VGhpcyBpcyBhIHNpbXBsaWZpZWQgbmV0d29yayBzd2l0 Y2ggYm9hcmQgZXhhbXBsZS4KPj4+SXQgaGFzIDIgc3luY2hyb25pemF0aW9uIGNoYW5uZWxzLCB3 aGVyZSBlYWNoIGNoYW5uZWw6Cj4+Pi0gcHJvdmlkZXMgY2xrIHRvIDggUEhZcyBkcml2ZW4gYnkg c2VwYXJhdGVkIE1BQyBjaGlwcywKPj4+LSBjb250cm9scyAyIERQTExzLgo+Pj4KPj4+QmFzaWNh bGx5IG9ubHkgZ2l2ZW4gRlcgaGFzIGNvbnRyb2wgb3ZlciBpdHMgUEhZcywgc28gYWxzbyBhIGNv bnRyb2wgb3Zlcgo+Pml0J3MKPj4+TVVYIGlucHV0cy4KPj4+QWxsIGV4dGVybmFsIHNvdXJjZXMg YXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBjaGFubmVscy4KPj4+Cj4+PlRoaXMgaXMgd2h5IHdlIGJl bGlldmUgaXQgaXMgbm90IGJlc3QgaWRlYSB0byBlbmNsb3NlIG11bHRpcGxlIERQTExzIHdpdGgK Pj5vbmUKPj4+b2JqZWN0Ogo+Pj4tIHNvdXJjZXMgYXJlIHNoYXJlZCBldmVuIGlmIERQTExzIGFy ZSBub3QgYSBzaW5nbGUgc3luY2hyb25pemVyIGNoaXAsCj4+Pi0gY29udHJvbCBvdmVyIHNwZWNp ZmljIE1VWCB0eXBlIGlucHV0IHNoYWxsIGJlIGNvbnRyb2xsYWJsZSBmcm9tCj4+ZGlmZmVyZW50 Cj4+PmRyaXZlci9maXJtd2FyZSBpbnN0YW5jZXMuCj4+Pgo+Pj5BcyB3ZSBrbm93IHRoZSBwcm9w b3NhbCBvZiBoYXZpbmcgbXVsdGlwbGUgRFBMTHMgaW4gb25lIG9iamVjdCB3YXMgYSB0cnkKPj50 bwo+Pj5zaW1wbGlmeSBjdXJyZW50bHkgaW1wbGVtZW50ZWQgc2hhcmVkIHBpbnMuIFdlIGZ1bGx5 IHN1cHBvcnQgaWRlYSBvZgo+PmhhdmluZwo+Pj5pbnRlcmZhY2VzIGFzIHNpbXBsZSBhcyBwb3Nz aWJsZSwgYnV0IGF0IHRoZSBzYW1lIHRpbWUgdGhleSBzaGFsbCBiZQo+PmZsZXhpYmxlCj4+PmVu b3VnaCB0byBzZXJ2ZSBtYW55IHVzZSBjYXNlcy4KPj4+Cj4+PlJpZ2h0IG5vdyB0aGUgdXNlIGNh c2Ugb2Ygc2luZ2xlICJzeW5jaHJvbml6ZXIgY2hpcCIgaXMgcG9zc2libGUgKDIgRFBMTHMKCkJ0 dywgZml4IHlvdXIgZW1haWwgY2xpZW50IG5vdCB0byBtYW5nbGUgdGhlIHRleHQgeW91IHJlcGx5 IHRvIHdpdGggbGluZQpicmVha3MgbGlrZSB0aGlzIG9uZS4KCgo+PndpdGgKPj4+c2hhcmVkIGlu cHV0cyksIGFzIHdlbGwgYXMgbXVsdGlwbGUgc3luY2hyb25pemVyIGNoaXBzIHdpdGggc2hhcmVk IGlucHV0cy4KPj4+Cj4+PklmIHdlIHdvdWxkIGVudGlyZWx5IGdldCByaWQgb2Ygc2hhcmluZyBw aW5zIGlkZWEgYW5kIGluc3RlYWQgYWxsb3dlZCBvbmx5Cj4+dG8KPj4+aGF2ZSBtdWx0aXBsZSBE UExMcyBpbiBvbmUgb2JqZWN0LCB3ZSB3b3VsZCBmYWxsIGJhY2sgdG8gdGhlIHByb2JsZW0gd2hl cmUKPj4+Y2hhbmdlIG9uIG9uZSBpbnB1dCBpcyBicmFraW5nIGFub3RoZXIgInN5bmNocm9uaXpl ciBjaGlwIiBpbnB1dC4KPj4+SS5lLiBjb25zaWRlcmluZyBhYm92ZSBzY2hlbWUsIHVzZXIgY29u ZmlndXJlZCBib3RoIGNoYW5uZWxzIHRvIHVzZSBTTUExCj4+MU1Iei4KPj4+SWYgU01BMSBpbnB1 dCBpcyBjaGFuZ2VkIHRvIDEwTUh6LCBhbGwgRFBMTHMgYXJlIGFmZmVjdGVkLCB0aHVzIGFsbCB1 c2luZwo+PnRoYXQKPj4KPj5Zb3Ugc2F5ICJTTUExIGlucHV0ICppcyBjaGFuZ2VkKiIuIENvdWxk IHlvdSBhZGQgdG8geW91ciBkcmF3aW5nOgo+PjEpIFdobyBpcyB0aGUgb25lIHRyaWdnZXJpbmcg dGhlIGNoYW5nZS4KPj4yKSBFbnRpdHkgdGhhdCBtYW5hZ2VzIHRoZSBTTUEgaW5wdXQgYW5kIGFw cGxpZXMgdGhlIGNvbmZpZ3VyYXRpb24uCj4+Cj4KPkEgdXNlciBvciBzb21lIHRvb2wsIHRoaXMg Y2hhbmdlIHJlcXVpcmVzIHRvIHN3aXRjaCBhIGZyZXF1ZW5jeSBvbiBhIHNpZ25hbAo+Z2VuZXJh dG9yIGNvbm5lY3RlZCB0byB0aGF0IFNNQTEuIFdoYXRldmVyIHdvdWxkIG1ha2UgdGhlIGNoYW5n ZSBpcyBhbiBleHRlcm5hbAo+ZW50aXR5IGhlcmUuIFRoZSBkcmF3IHNob3cgY29ubmVjdGlvbnMg b24gYm9hcmQsIGRvbid0IHNlZSBhIHBvaW50IG9uIGhhdmluZyBhCj5leHRlcm5hbCBzaWduYWwg Z2VuZXJhdG9yIG9yIHVzZXIgY29ubmVjdGVkIHRvIHRoZSBib2FyZCA6KQo+Cj5JZiBzb21ldGhp bmcgaXMgbm90IGNsZWFyLCB3ZSBjb3VsZCBwcmVwYXJlIHNvbWUgZGlmZmVyZW50IGRyYXcsIHBs ZWFzZSBqdXN0Cj5sZXQgbWUga25vdyB3aGF0IGV4YWN0bHkgd2Ugd2FudCB0byBzZWUuIEl0IHNv dW5kIGxpa2UgYSBzZXF1ZW5jZSBkaWFncmFtPwoKCkkgdGhpbmsgSSBnb3QgaXQuIFRoZSBwaW5z IGFyZSBzaGFyZWQgYmV0d2VlbiBEUExMUyB3aXRoaW4gc2luZ2xlCnN5bmNocm9uaXplciBlbnRp dHkuIFRoYXQgY2xlYXJzIHVwIG15IG1vZGVsaW5nIGNvbmNlcm5zLiBBbHNvIGl0IG1ha2VzCnlv dXIgY29kZSBtdWNoIHNpbXBsaWVyLCB5b3UgZG9uJ3QgbmVlZCBzcGVjaWFsIHNoYXJlZCBwaW4g YmVhc3Qgd2l0aApyZWZlcmVuY2UgY291bnRpbmcgZXRjLiBZb3UganVzdCBoYXZlIGEgcGluIHdp dGggc3luY2hyb25pemVyIGVudGl0eSBhcwpvd25lciBhbmQgZXhwb3NlIHRoZSBsaW5rYWdlIGlu c2lkZSB0aGlzIHN5bmNocm9uaXplciBlbnRpdHkgYmV0d2VlbgppbmRpdmlkdWFsIERQTExzIGFu ZCBwaW5zLgoKCj4KPlRoYW5rcyEKPkFya2FkaXVzego+Cj4+Cj4+PmlucHV0IHNoYWxsIGJlIG5v dGlmaWVkLCBhcyBsb25nIGFzIHRoYXQgaW5wdXQgaXMgc2hhcmVkLgo+Pj5Gb3IgdGhlIGRyaXZl cnMgdGhhdCBoYXZlIHNpbmdsZSBwb2ludCBvZiBjb250cm9sIG92ZXIgZHBsbCwgdGhleSBtaWdo dAo+Pmp1c3QKPj4+c2tpcCB0aG9zZSByZXF1ZXN0cy4gQnV0IGlmIHRoZXJlIGFyZSBtdWx0aXBs ZSBmaXJtd2FyZSBpbnN0YW5jZXMKPj5jb250cm9sbGluZwo+Pj5tdWx0aXBsZSBEUExMcywgdGhl eSB3b3VsZCBwcm9jZXNzIGl0IGluZGVwZW5kZW50bHkuCj4+Pgo+Pj5DdXJyZW50IGltcGxlbWVu dGF0aW9uIGlzIHRoZSBtb3N0IGZsZXhpYmxlIGFuZCBsZWFzdCBjb21wbGV4IGZvciB0aGUKPj5s ZXZlbCBvZgo+Pj5mbGV4aWJpbGl0eSBpdCBwcm92aWRlcy4KPj4+Cj4+PkJSLCBIYXBweSBuZXcg eWVhciEKPj4+QXJrYWRpdXN6CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==