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=-10.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 1A6AAC6377D for ; Thu, 22 Jul 2021 16:19:19 +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 CF32C6128A for ; Thu, 22 Jul 2021 16:19:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CF32C6128A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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.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=gi64Q2oOMQG3RwjtG5lQqXsl5gjeI+H9gwPMylogDC4=; b=1X2emeNb9xLX6C 7itu6s9utvSEIFFVSkMNXpFjunT7WxUKmQ9ZC597cKF/ZbRUZwKq7DtrI2R83AdQ0wO4LOf64EyDR 4IhRGP8x2i+tukLvn9HqObjh8tMzItjaUZISJkk8uV8RXjrfw4oG5Q6e6COskVU+oMRVo9YzeeT++ chffGzPOFdiGxU2JJ+KaGMrGiYVqssQwi+E46FjFh8DSskc0a/S4KSKSae6ItQ4wlK6aE7/sMwI4I ouzp+lcQ4v56Zo3aI8UZe8V6+fWsMVoSnwGbsfjtbKySGngziJSklP0C41i1k8Ta6WQZPUCODa3b3 Z/L/5OgCTS32XN079uJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6bON-0026On-Qy; Thu, 22 Jul 2021 16:17:48 +0000 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6bOH-0026NF-K6 for linux-arm-kernel@lists.infradead.org; Thu, 22 Jul 2021 16:17:44 +0000 Received: by mail-pl1-x62a.google.com with SMTP id v14so5028209plg.9 for ; Thu, 22 Jul 2021 09:17:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=yiONWKJ8wu2j3zyjTdvhBbK76Wzysp+ZJUaaOEcej8E=; b=Fx2tWR9vLJKtTBMDLfk3hUzQUIzUfATqDZI1ESV4SWLGCOXyeTSsjdWQXQmBHTVoU2 F3qyrLxQnMMwTBbXwC1K/x0Kpq8JzN8Up9SPRyw3a1SRsrPtaZlWP/ouJ4N+C5hlar4X R5GXvZngRpm7IL8/lNRUWZTMMZr7s6+kJ6fjFtItLaycGNBVvsVVRLqxHwo2XvQQzhp5 pYGNwh5moFw64cSbhWwculB+qRI2t7qK0JgncHDPsX8VUWxhE8MD8t5Vo8TNQjNN8JKx BvYPJJBRmkxv7wVSv8pWsKFxmTPv+8IofvjRjRBC8gujF1dZJGFkEiTbnDTB5Sbgrqh/ +EAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=yiONWKJ8wu2j3zyjTdvhBbK76Wzysp+ZJUaaOEcej8E=; b=bfgunsDn2RuoUGKver0X36kUrPx6wQNXm9LbIJ33wK/xAwH0X8RPEhE8/aDpBEAKDz DmaChKl2xp2+fE9gYeJ7eX/V1ZmQX+oqm/d0cxColFhb0M4t137AUW1rKGezbboNiAPG hNMVEro3DmOu/etRIuWYeUeris60MptXdBwZVpvMzZdhaw4M4d2w4cy77Cx4i3UJ8JHs 6DU4LxiWRFskm5xQ3uSonExN04l93VZGZUjfRDZxW9jiAofkCaCRp8WtjyP54Iskuc8t Rtw+SpE702Cqf/doQ9kp9Ek08zNtClA/6NPlKLkPGC6o3LYNlDWJhwnSqCUNGsJ4CNh/ cGmw== X-Gm-Message-State: AOAM533IWQtc73Q8veksYgdJd1koCUv2AjzYVz1UwbVfSi1FYpWOa2vW nFzsj2GrkQ+vDk0wG1rUiv2Btg== X-Google-Smtp-Source: ABdhPJwvUSm2qLbieAKCN+0tXRa17saXe12vTlzg7dWRZXbEmc4V2io/icLlAlB5aOILhDBNIev5Mg== X-Received: by 2002:a65:528d:: with SMTP id y13mr746864pgp.276.1626970660813; Thu, 22 Jul 2021 09:17:40 -0700 (PDT) Received: from p14s (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id mz6sm25861736pjb.38.2021.07.22.09.17.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jul 2021 09:17:38 -0700 (PDT) Date: Thu, 22 Jul 2021 10:17:36 -0600 From: Mathieu Poirier To: Mike Leach Cc: Branislav Rankov , Alexander Shishkin , Greg Kroah-Hartman , Coresight ML , Linux Kernel Mailing List , linux-arm-kernel Subject: Re: [PATCH v8 00/10] CoreSight configuration management; ETM strobing Message-ID: <20210722161736.GA2443981@p14s> References: <20210707133003.5414-1-mike.leach@linaro.org> <20210712164413.GA1777012@p14s> <20210721174417.GB2377909@p14s> 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-20210722_091741_791646_9BD876D3 X-CRM114-Status: GOOD ( 72.52 ) 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 T24gV2VkLCBKdWwgMjEsIDIwMjEgYXQgMTA6MzU6MDBQTSArMDEwMCwgTWlrZSBMZWFjaCB3cm90 ZToKPiBISSBNYXRoaWV1LAo+IAo+IE9uIFdlZCwgMjEgSnVsIDIwMjEgYXQgMTg6NDQsIE1hdGhp ZXUgUG9pcmllcgo+IDxtYXRoaWV1LnBvaXJpZXJAbGluYXJvLm9yZz4gd3JvdGU6Cj4gPgo+ID4g T24gRnJpLCBKdWwgMTYsIDIwMjEgYXQgMTE6MjU6NDdBTSArMDEwMCwgTWlrZSBMZWFjaCB3cm90 ZToKPiA+ID4gSEkgTWF0aGlldSwKPiA+ID4KPiA+ID4gQmVsb3cgbXkgY2hhbmdlIG5vdGVzIGZv ciB0aGUgcGF0Y2hlcyBjaGFuZ2VkIGJldHdlZW4gdjcgYW5kIHY4IGluIHRoaXMgc2V0Lgo+ID4g Pgo+ID4gPiBSZWdhcmRzCj4gPiA+Cj4gPiA+IE1pa2UKPiA+ID4KPiA+ID4gMDAwMSwgMDAwMywg MDAwNCwgMDAwNiwgMDAwNywgMDAwOCwgMDAxMCAtIG5vIGNoYW5nZQo+ID4gPgo+ID4gPiAwMDAy IC0KPiA+ID4gY29yZXNpZ2h0LXN5c2NmZy5jCj4gPiA+ICAgICB0b3Agb2YgZmlsZSAtIG11dGV4 IGRlY2xhcmF0aW9uIHJlbW92ZWQuCj4gPiA+ICAgICBjc2NmZ19hZGRfY3NkZXZfY2ZnKCkKPiA+ ID4gICAgICAgICBTcGlubG9jayByZXBsYWNlcyBtdXRleAo+ID4gPiAgICAgY3NjZmdfbG9hZF9m ZWF0X2NzZGV2KCkKPiA+ID4gICAgICAgICBTcGlubG9jayByZXBsYWNlcyBtdXRleAo+ID4gPiAg ICAgY3Njc2dfbGlzdF9hZGRfY3NkZXYoKQo+ID4gPiAgICAgICAgIEluaXQgc3BpbmxvY2sKPiA+ ID4gY29yZXNpZ2h0LmgKPiA+ID4gICAgIHN0cnVjdCBjb3Jlc2lnaHRfZGV2aWNlIHt9Cj4gPiA+ ICAgICAgICAgQWRkIHNwaW5sb2NrIGNzY2ZnX2NzZGV2X2xvY2sgYWxvbmdzaWRlIHRoZSBjc2Rl diBmZWF0dXJlIGFuZAo+ID4gPiBjb25maWcgbGlzdHMgdGhhdCBpdCBwcm90ZWN0cy4KPiA+ID4K PiA+ID4gMDAwNSAtCj4gPiA+IGNvcmVzaWdodC1zeXNjZmcuYwo+ID4gPiAgICAgY3NjZmdfY3Nk ZXZfcmVzZXRfZmVhdHMoKQo+ID4gPiAgICAgICAgICAgICBTcGlubG9jayByZXBsYWNlcyBtdXRl eC4KPiA+ID4KPiA+ID4gICAgIGNzY2ZnX2NzZGV2X2VuYWJsZV9hY3RpdmVfY29uZmlnKCkKPiA+ ID4gICAgICAgICAgICAgU3BpbmxvY2sgcmVwbGFjZXMgbXV0ZXguIEluIGVuYWJsZSBmbGFnIHRv IGF2b2lkIHJhY2Ugd2l0aCBkaXNhYmxlLgo+ID4gPiAgICAgY3NjZmdfY3NkZXZfZGlzYWJsZV9h Y3RpdmVfY29uZmlnKCkKPiA+ID4gICAgICAgICAgICAgU3BpbmxvY2sgcmVwbGFjZXMgbXV0ZXgu IEluIGVuYWJsZSBmbGFnIHRvIGF2b2lkIHJhY2Ugd2l0aCBlbmFibGUuCj4gPiA+Cj4gPgo+ID4g SSdtIGdvb2Qgd2l0aCB0aGUgY2hhbmdlcyBtYWRlIHRvIHRoZSBhYm92ZSB0d28gcGF0Y2hlcy4K PiA+Cj4gPiA+Cj4gPiA+IGNvcmVzaWdodC5oCj4gPiA+ICAgICBzdHJ1Y3QgY29yZXNpZ2h0X2Rl dmljZSB7fQo+ID4gPiAgICAgICAgIEluIGVuYWJsZSBmbGFnIGludHJvZHVjZWQgdG8gY29udHJv bCBwb3NzaWJsZSByYWNlIGJldHdlZW4KPiA+ID4gZW5hYmxlIGFuZCBkaXNhYmxlLiBFLmcuIGlm IHdlIGFyZSBlbmFibGluZyBhIGNvbmZpZywgYnV0IGEgcG93ZXIKPiA+ID4gZXZlbnQgdHJpZXMg dG8gc2h1dCBkb3duIHRoZSBDUFUvRVRNIGNhdXNpbmcgYSBkaXNhYmxlIGNhbGwuIFdlIGRvbuKA mXQKPiA+ID4gd2FudCB0byBob2xkIHRoZSBjc2NmZ19jc2Rldl9sb2NrIHNwaW5sb2NrIHRocm91 Z2hvdXQgdGhlIGVudGlyZQo+ID4gPiBlbmFibGUgcHJvY2VzcyAtIGVzcGVjaWFsbHkgYXMgdGhl IHByb2dyYW1taW5nIGNhbGwgd2lsbCBjbGFpbSB0aGUKPiA+ID4gaW50ZXJuYWwgZHJpdmVyIHNw aW5sb2NrIHdoZW4gd3JpdGluZyBpbnRlcm5hbCBkcml2ZXIgZGF0YSwgYnV0IHdlCj4gPiA+IG5l ZWQgdG8gZW5zdXJlIHRoYXQgaWYgdGhlcmUgaXMgYSBjb25kaXRpb24gdGhhdCBwZXJtaXRzIGEg ZGlzYWJsZQo+ID4gPiBjYWxsIG91dCBvZiBub3JtYWwgc2VxdWVuY2UgdGhlbiB3ZSBhcmUgYWJs ZSB0byBzZWUgaXQgYW5kIGhhbmRsZSBpdC4KPiA+ID4KPiA+Cj4gPiBIZXJlIEknbSBhc3N1bWlu ZyB0aGUgZW5hYmxlIGFuZCBkaXNhYmxlIGNhbGxzIHlvdSBhcmUgcmVmZXJyaW5nIHRvIGFyZQo+ ID4gY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9jb25maWcoKSBhbmQgY3NjZmdfY3NkZXZfZGlz YWJsZV9hY3RpdmVfY29uZmlnKCkuCj4gPgo+IAo+IFllcy4KPiAKPiA+IEZyb20gdGhlIGFib3Zl IHBhcmFncmFwaCBJIHVuZGVyc3RhbmQgdGhhdCBhIGNhbGwgdG8gY3NjZmdfY3NkZXZfZW5hYmxl X2NvbmZpZygpCj4gPiBjYW4gYmUgaW50ZXJydXB0ZWQgYXQgYW55IHRpbWUgd2hlbiB0aGUgQ1BV IGlzIHNodXR0aW5nIGRvd24sIHdoaWNoIGNhbiBvbmx5Cj4gPiBoYXBwZW4gd2hlbiBvcGVyYXRp bmcgZnJvbSBzeXNmcy4KPiA+Cj4gCj4gSSB3YXMgY29uY2VybmVkIGFib3V0IHBvc3NpYmxlIHBv d2VyIG1hbmFnZW1lbnQgaXNzdWVzIHRvbyAtIHRob3VnaAo+IHRoaW5raW5nIGFib3V0IGl0IHdl IHNob3VsZG4ndCBiZSBwb3dlcmluZyBkb3duIGEgUEUgaWYgd2UgYXJlIGFib3V0Cj4gdG8gc3Rh cnQgdHJhY2luZyBvbiBpdCEKCllvdSBhcmUgY29ycmVjdCBpZiB3ZSBhcmUgb3BlcmF0aW5nIGZy b20gdGhlIHBlcmYgaW50ZXJmYWNlLiAgSW4gc3lzZnMgeW91IGdldApubyBndWFyYW50ZWVzLCBh bnl0aGluZyBjYW4gaGFwcGVuLgoKPiAKPiBUcnV0aCBpcywgSSBzcGxpdCB0aGUgc3BpbmxvY2sg Y2xhaW1zIGluCj4gY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9jb25maWcoKSB0byBmb2xsb3cg dGhlIGdlbmVyYWwga2VybmVsCj4gZ3VpZGFuY2UgdG8gaG9sZCB0aGVtIGZvciB0aGUgbWluaW11 bSBhbW91bnQgb2YgdGltZSBuZWVkZWQsIGFuZCB0aGVuCj4gY291bGQgbm90IGNvbnZpbmNlIG15 c2VsZiB0aGF0IGl0IHdhcyBpbXBvc3NpYmxlIGZvcgo+IGNzY2ZnX2NzZGV2X2Rpc2FibGVfYWN0 aXZlX2NvbmZpZygpIHRvIGJlIGNhbGxlZCBwYXJ0IHdheSB0aHJvdWdoLgo+IAo+ID4gV2l0aCB0 aGUgYWJvdmUgaW4gbWluZCBhbmQgbG9va2luZyBhdCB0aGUgaW1wbGVtZW50YXRpb24gaW4gcGF0 Y2ggMDUsIGlmIHRoZQo+ID4gY29kZSBnZXRzIGludGVycnVwdGVkIHJpZ2h0IGFmdGVyIGNzY2Zn X2NzZGV2X2VuYWJsZV9jb25maWcoKSwgZnVuY3Rpb24KPiA+IGNzY2ZnX2NzZGV2X2Rpc2FibGVf Y29uZmlnKCkgaW4gY3NjZmdfY3NkZXZfZGlzYWJsZV9hY3RpdmVfY29uZmlnKCkgd29uJ3QgYmUK PiA+IGNhbGxlZC4KPiA+Cj4gPiBJbiBmdW5jdGlvbiBjc2NmZ19jc2Rldl9lbmFibGVfYWN0aXZl X2NvbmZpZygpLCBjb3VsZCBpdCBiZSBwb3NzaWJsZSB0byBzZXQKPiA+IGNzZGV2LT5hY3RpdmVf Y3NjZmdfY3R4dCBpbnN0ZWFkIG9mIGNzZGV2LT5jc2NmZ19pbl9lbmFibGU/ICBJZgo+ID4gY3Nj ZmdfY3NkZXZfZW5hYmxlX2NvbmZpZygpIGdldHMgaW50ZXJydXB0ZWQgdGhlbiBmdW5jdGlvbgo+ ID4gY3NjZmdfY3NkZXZfZGlzYWJsZV9jb25maWcoKSBjYW4gYmUgY2FsbGVkLiAgQXQgdGhhdCBw b2ludCBkaXNhYmxpbmcgYSBmZWF0dXJlCj4gPiB0aGF0IGhhc24ndCBiZWVuIGVuYWJsZWQgc2hv dWxkbid0IGRvIGFueXRoaW5nLgo+ID4KPiAKPiBUaGUgY29uY2VybiBpcyB0aGF0IHRoZSBkaXNh YmxlIGZ1bmN0aW9uYWxpdHkgaXMgcmVzcG9uc2libGUgZm9yCj4gY29weWluZyBiYWNrIHZhbHVl cyB0aGF0IG1pZ2h0IGhhdmUgY2hhbmdlZCBkdXJpbmcgdGhlIG9wZXJhdGlvbiBvZgo+IHRoZSBj b25maWcgLSBlLmcuIGNvdW50ZXJzIGluIHN0cm9iaW5nIGFyZSByZXN0YXJ0ZWQgYXQgdGhlIHZh bHVlIHRoZXkKPiBsYXN0IGhhZCBpZiB0aGUgcm91dGluZSBpcyByZXN0YXJ0ZWQgb24gdGhlIHNh bWUgRVRNIGF0IGEgbGF0ZXIgdGltZQo+IGluIHRoZSBwZXJmIHNlc3Npb24uIFNvIGlmIHRoZSBl bmFibGUgbmV2ZXIgb2NjdXJyZWQgLyBlcnJvcmVkIC0gd2UKPiB3YW50IHRvIGF2b2lkIGNvcHlp bmcgd2hhdCB3b3VsZCBiZSBhbiB1bmtub3duIHZhbHVlIGJhY2suIFNvIHRoZQo+IHNhZmVzdCB3 YXkgaXMgdG8gb25seSBjb3B5IGJhY2sgaWYgd2Ugc3VjY2VlZGVkIGluIHNldHRpbmcgaW4gdGhl Cj4gZmlyc3QgcGxhY2UgLSBldmVuIEVUTSB3YXMgbmV2ZXIgYWN0dWFsbHkgc3RhcnRlZC4KPiAK PiBDdXJyZW50bHkgd2Ugb25seSBzZXQgY3NkZXYtPmFjdGl2ZV9jc2NmZ19jdHh0IGFmdGVyIHRo ZSBjYWxsIHRvIGRvCj4gdGhlIGFjdHVhbCByZWdpc3RlciBwcm9ncmFtbWluZyAoY2FsbCB0byBj c2NmZ19jc2Rldl9lbmFibGVfY29uZmlnKCkpCj4gaGFzIHN1Y2NlZWRlZCwgd2hpY2ggd2FzIGZp bmUgdXNpbmcgdGhlIG11dGV4LCBidXQgZ2l2ZXMgdXMgdGhlCj4gcHJvYmxlbSB3aXRoIHRoZSBz cGxpdCBzcGlubG9ja3MuCj4gU28gY3NkZXYtPmNzY2ZnX2luX2VuYWJsZSBwcmV2ZW50cyBkaXNh YmxlIHBhdGggZnJvbSBjb3B5aW5nIGJhY2sgYW4KPiBwb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVl LgoKSSBzZWUgdGhlIHByb2JsZW0gYWJvdXQgcG90ZW50aWFsbHkgY29weWluZyBiYWNrIGludmFs aWQgYWx1ZXMuICBJIHN1Z2dlc3QgdG86CgoxKSB1c2Ugc3Bpbl9sb2NrX2lycXNhdmUoKSBpbiBj c2NmZ19zZXRfb25fZW5hYmxlKCkgYW5kIGNzY2ZnX3NhdmVfb25fZGlzYWJsZSgpLAp0aGF0IHdh eSB0aGUgY3JpdGljYWwgc2VjdGlvbiBpbiB0aGVyZSBpcyBuZXZlciBwcmVlbXB0ZWQuCgoyKSBp bnRyb2R1Y2UgY3NjZmdfZmVhdHVyZV9jc2Rldjo6ZW5hYmxlZCB0byBrZWVwIHRyYWNrIG9mIHdo aWNoIGZlYXR1cmUgaGFzCmJlZW4gZW5hYmxlZCwgYW5kIHNldCB0aGF0IGZsYWcgd2hlbiB0aGUg bG9jayBpcyBoZWxkIGluIGNzY2ZnX3NldF9vbl9lbmFibGUoKS4KCkhvcGVmdWxseSB0aGF0IHdp bGwgd29yay4gIEEgZ2VuZXJvdXMgaGVscGluZyBvZiBjb21tZW50cyB3aWxsIGFsc28gZ28gYSBs b25nCndheS4gIAoKPiAKPiBSZWdhcmRzCj4gCj4gTWlrZQo+IAo+IAo+ID4gVGhhbmtzLAo+ID4g TWF0aGlldQo+ID4KPiA+ID4gMDAwOSAtCj4gPiA+ICAgICBLQ29uZmlnCj4gPiA+ICAgICBhZGQg aW4gZGVwZW5kZW5jeSBvbiBDT05GSUdGU19GUyB0byBlbGltaW5hdGUgcHJvYmxlbSBoaWdobGln aHRlZAo+ID4gPiBieSB0aGUga2VybmVsIGJvdCB0ZXN0cy4gVGhpcyBoYWQgY29uZmlndXJlZCBj b3Jlc2lnaHQgYXMgWSwgYnV0Cj4gPiA+IGNvbmZpZ2ZzIGFzIE0gLSBtZWFuaW5nIGxpbmsgaXNz dWVzIGZvciBjb25maWdmcyBjb2RlIGludHJvZHVjZWQgaW4KPiA+ID4gdGhpcyBzZXQuCj4gPiA+ Cj4gPiA+IE9uIFR1ZSwgMTMgSnVsIDIwMjEgYXQgMTA6NDMsIEJyYW5pc2xhdiBSYW5rb3YgPGJy YW5pc2xhdi5yYW5rb3ZAYXJtLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBIaSBNYXRoaWV1 LAo+ID4gPiA+Cj4gPiA+ID4gT24gNy8xMi8yMSA1OjQ0IFBNLCBNYXRoaWV1IFBvaXJpZXIgd3Jv dGU6Cj4gPiA+ID4gPiBHb29kIG1vcm5pbmcgTWlrZSwKPiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiBX ZWQsIEp1bCAwNywgMjAyMSBhdCAwMjoyOTo1M1BNICswMTAwLCBNaWtlIExlYWNoIHdyb3RlOgo+ ID4gPiA+ID4+IFRoaXMgcGF0Y2hzZXQgaW50cm9kdWNlcyBpbml0aWFsIGNvbmNlcHRzIGluIENv cmVTaWdodCBzeXN0ZW0KPiA+ID4gPiA+PiBjb25maWd1cmF0aW9uIG1hbmFnZW1lbnQgc3VwcG9y dC4gdG8gYWxsb3cgbW9yZSBkZXRhaWxlZCBhbmQgY29tcGxleAo+ID4gPiA+ID4+IHByb2dyYW1t aW5nIHRvIGJlIGFwcGxpZWQgdG8gQ29yZVNpZ2h0IHN5c3RlbXMgZHVyaW5nIHRyYWNlIGNhcHR1 cmUuCj4gPiA+ID4gPj4KPiA+ID4gPiA+PiBDb25maWd1cmF0aW9ucyBjb25zaXN0IG9mIDIgZWxl bWVudHM6LQo+ID4gPiA+ID4+IDEpIEZlYXR1cmVzIC0gcHJvZ3JhbW1pbmcgY29tYmluYXRpb25z IGZvciBkZXZpY2VzLCBhcHBsaWVkIHRvIGEgY2xhc3Mgb2YKPiA+ID4gPiA+PiBkZXZpY2Ugb24g dGhlIHN5c3RlbSAoYWxsIEVUTXY0KSwgb3IgaW5kaXZpZHVhbCBkZXZpY2VzLgo+ID4gPiA+ID4+ IDIpIENvbmZpZ3VyYXRpb25zIC0gYSBzZXQgb2YgcHJvZ3JhbW1lZCBmZWF0dXJlcyB1c2VkIHdo ZW4gdGhlIG5hbWVkCj4gPiA+ID4gPj4gY29uZmlndXJhdGlvbiBpcyBzZWxlY3RlZC4KPiA+ID4g PiA+Pgo+ID4gPiA+ID4+IEZlYXR1cmVzIGFuZCBjb25maWd1cmF0aW9ucyBhcmUgZGVjbGFyZWQg YXMgYSBkYXRhIHRhYmxlLCBhIHNldCBvZiByZWdpc3RlciwKPiA+ID4gPiA+PiByZXNvdXJjZSBh bmQgcGFyYW1ldGVyIHJlcXVpcmVtZW50cy4gRmVhdHVyZXMgYW5kIGNvbmZpZ3VyYXRpb25zIGFy ZSBsb2FkZWQKPiA+ID4gPiA+PiBpbnRvIHRoZSBzeXN0ZW0gYnkgdGhlIHZpcnR1YWwgY3Nfc3lz Y2ZnIGRldmljZS4gVGhpcyB0aGVuIG1hdGNoZXMgZmVhdHVyZXMKPiA+ID4gPiA+PiB0byBhbnkg cmVnaXN0ZXJlZCBkZXZpY2VzIGFuZCBsb2FkcyB0aGUgZmVhdHVyZSBpbnRvIHRoZW0uCj4gPiA+ ID4gPj4KPiA+ID4gPiA+PiBJbmRpdmlkdWFsIGRldmljZSBjbGFzc2VzIHRoYXQgc3VwcG9ydCBm ZWF0dXJlIGFuZCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyCj4gPiA+ID4gPj4gd2l0aCBjc19zeXNj ZmcuCj4gPiA+ID4gPj4KPiA+ID4gPiA+PiBPbmNlIGxvYWRlZCBhIGNvbmZpZ3VyYXRpb24gY2Fu IGJlIGVuYWJsZWQgZm9yIGEgc3BlY2lmaWMgdHJhY2UgcnVuLgo+ID4gPiA+ID4+IENvbmZpZ3Vy YXRpb25zIGFyZSByZWdpc3RlcmVkIHdpdGggdGhlIHBlcmYgY3NfZXRtIGV2ZW50IGFzIGVudHJp ZXMgaW4KPiA+ID4gPiA+PiBjc19ldG0vZXZlbnRzLiBUaGVzZSBjYW4gYmUgc2VsZWN0ZWQgb24g dGhlIHBlcmYgY29tbWFuZCBsaW5lIGFzIGZvbGxvd3M6LQo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4g cGVyZiByZWNvcmQgLWUgY3NfZXRtLzxjb25maWdfbmFtZT4vIC4uLgo+ID4gPiA+ID4+Cj4gPiA+ ID4gPj4gVGhpcyBwYXRjaCBzZXQgaGFzIG9uZSBwcmUtbG9hZGVkIGNvbmZpZ3VyYXRpb24gYW5k IGZlYXR1cmUuCj4gPiA+ID4gPj4gQSBuYW1lZCAic3Ryb2JpbmciIGZlYXR1cmUgaXMgcHJvdmlk ZWQgZm9yIEVUTXY0Lgo+ID4gPiA+ID4+IEEgbmFtZWQgImF1dG9mZG8iIGNvbmZpZ3VyYXRpb24g aXMgcHJvdmlkZWQuIFRoaXMgY29uZmlndXJhdGlvbiBlbmFibGVzCj4gPiA+ID4gPj4gc3Ryb2Jp bmcgb24gYW55IEVUTSBpbiB1c2VkLgo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4gVGh1cyB0aGUgY29t bWFuZDoKPiA+ID4gPiA+PiBwZXJmIHJlY29yZCAtZSBjc19ldG0vYXV0b2Zkby8gLi4uCj4gPiA+ ID4gPj4KPiA+ID4gPiA+PiB3aWxsIHRyYWNlIHRoZSBzdXBwbGllZCBhcHBsaWNhdGlvbiB3aGls ZSBlbmFibGluZyB0aGUgImF1dG9mZG8iIGNvbmZpZ3VhdGlvbgo+ID4gPiA+ID4+IG9uIGVhY2gg RVRNIGFzIGl0IGlzIGVuYWJsZWQgYnkgcGVyZi4gVGhpcyBpbiB0dXJuIHdpbGwgZW5hYmxlIHN0 cm9iaW5nIGZvcgo+ID4gPiA+ID4+IHRoZSBFVE0gLSB3aXRoIGRlZmF1bHQgcGFyYW1ldGVycy4g UGFyYW1ldGVycyBjYW4gYmUgYWRqdXN0ZWQgdXNpbmcgY29uZmlnZnMuCj4gPiA+ID4gPj4KPiA+ ID4gPiA+PiBUaGUgc2luayB1c2VkIGluIHRoZSB0cmFjZSBydW4gd2lsbCBiZSBhdXRvbWF0aWNh bGx5IHNlbGVjdGVkLgo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4gQSBjb25maWd1cmF0aW9uIGNhbiBz dXBwbHkgdXAgdG8gMTUgb2YgcHJlc2V0IHBhcmFtZXRlciB2YWx1ZXMsIHdoaWNoIHdpbGwKPiA+ ID4gPiA+PiBzdWJzaXR1dGUgaW4gcGFyYW1ldGVyIHZhbHVlcyBmb3IgYW55IGZlYXR1cmUgdXNl ZCBpbiB0aGUgY29uZmlndXJhdGlvbi4KPiA+ID4gPiA+Pgo+ID4gPiA+ID4+IFNlbGVjdGlvbiBv ZiBwcmVzZXQgdmFsdWVzIGFzIGZvbGxvd3MKPiA+ID4gPiA+PiBwZXJmIHJlY29yZCAtZSBjc19l dG0vYXV0b2ZkbyxwcmVzZXQ9MS8gLi4uCj4gPiA+ID4gPj4KPiA+ID4gPiA+PiAodmFsaWQgcHJl c2V0cyAxLU4sIHdoZXJlIE4gaXMgdGhlIG51bWJlciBzdXBwbGllZCBpbiB0aGUgY29uZmlndXJh dGlvbiwgbm90Cj4gPiA+ID4gPj4gZXhjZWVkaW5nIDE1LiBwcmVzZXQ9MCBpcyB0aGUgc2FtZSBh cyBub3Qgc2VsZWN0aW5nIGEgcHJlc2V0LikKPiA+ID4gPiA+Pgo+ID4gPiA+ID4+IEFwcGxpZXMg dG8gJiB0ZXN0ZWQgYWdhaW5zdCBjb3Jlc2lnaHQvbmV4dCAoNS4xMy1yYzYgYmFzZSkKPiA+ID4g PiA+Pgo+ID4gPiA+ID4+IENoYW5nZXMgc2luY2Ugdjc6Cj4gPiA+ID4gPj4KPiA+ID4gPiA+PiBG aXhlZCBrZXJuZWwgdGVzdCByb2JvdCBpc3N1ZSAtIGNvbmZpZyB3aXRoIENPUkVTSUdIVD15ICYg Q09ORklHRlNfRlM9bSBjYXVzZXMKPiA+ID4gPiA+PiBidWlsZCBlcnJvci4gQWx0ZXJlZCBDT1JF U0lHSFQgY29uZmlnIHRvIHNlbGVjdCBDT05GSUdGU19GUy4KPiA+ID4gPiA+PiBSZXBvcnRlZC1i eToga2VybmVsIHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+Cj4gPiA+ID4gPj4KPiA+ID4gPiA+ PiBSZXBsYWNlZCBtdXRleCB1c2UgdG8gcHJvdGVjdCBsb2FkZWQgY29uZmlnIGxpc3RzIGluIGNv cmVzaWdodCBkZXZpY2VzIHdpdGggcGVyCj4gPiA+ID4gPj4gZGV2aWNlIHNwaW5sb2NrIHRvIHJl bW92ZSBpc3N1ZSB3aGVuIGRpc2FibGUgY2FsbGVkIGluIGludGVycnVwdCBjb250ZXh0Lgo+ID4g PiA+ID4+IFJlcG9ydGVkLWJ5OiBCcmFuaXNsYXYgUmFua292IDxicmFuaXNsYXYucmFua292QGFy bS5jb20+Cj4gPiA+ID4gPj4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBDYW4geW91IGluZGljYXRlIHdo aWNoIHBhdGNoZXMgaGF2ZSBjaGFuZ2VkIHNvIEkgZG9uJ3QgaGF2ZSB0byByZXZpZXcgdGhlIHdo b2xlCj4gPiA+ID4gPiB0aGluZyBhZ2Fpbj8gICBJdCBpcyBhbHNvIGNvbW1vbiBwcmFjdGljZSB0 byByZW1vdmUgdGhlIFJCIHRhZyB3aGVuIHBhdGNoZXMKPiA+ID4gPiA+IGhhdmUgY2hhbmdlZCBl bm91Z2ggdG8gbWFuZGF0ZSBhbm90aGVyIHJldmlldy4gIEluIHRoaXMgY2FzZSBhbGwgcGF0Y2hl cyBzdGlsbAo+ID4gPiA+ID4gYmFyZSBteSBSQiB0YWdzLgo+ID4gPiA+ID4KPiA+ID4gPiA+IEJy YW5pc2xhdiByZXBvcnRlZCB0aGUgcHJvYmxlbSBidXQgaGUgaXMgbm90IGEgcmVjaXBpZW50LiAg SSB3b3VsZCBsaWtlIHRvIGhhdmUKPiA+ID4gPiA+IGEgY29uZmlybWF0aW9uIGZyb20gaGltIHRo YXQgdGhpcyBzZXQgZml4ZXMgdGhlIHByb2JsZW0gaGUgb2JzZXJ2ZWQgYmVmb3JlIEkKPiA+ID4g PiA+IHN0YXJ0IGxvb2tpbmcgYXQgaXQuCj4gPiA+ID4KPiA+ID4gPiBJIGhhdmUgdGVzdGVkIHRo aXMgc2VyaWVzIGFuZCB0aGUgaXNzdWUgSSByZXBvcnRlZCBpcyBmaXhlZC4KPiA+ID4gPiA+Cj4g PiA+ID4gPiBUaGFua3MsCj4gPiA+ID4gPiBNYXRoaWV1Cj4gPiA+ID4gPgo+ID4gPiA+ID4+Cj4g PiA+ID4gPj4gQ2hhbmdlcyBzaW5jZSB2NjoKPiA+ID4gPiA+PiBGaXhlZCBrZXJuZWwgdGVzdCBy b2JvdCBpc3N1ZXMtCj4gPiA+ID4gPj4gUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxs a3BAaW50ZWwuY29tPgo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4gQ2hhbmdlcyBzaW5jZSB2NToKPiA+ ID4gPiA+Pgo+ID4gPiA+ID4+IDEpIEZpeCBjb2RlIHN0eWxlIGlzc3VlcyBmcm9tIGF1dG8tYnVp bGQgcmVwb3J0cywgYXMKPiA+ID4gPiA+PiBSZXBvcnRlZC1ieToga2VybmVsIHRlc3Qgcm9ib3Qg PGxrcEBpbnRlbC5jb20+Cj4gPiA+ID4gPj4gMikgVXBkYXRlIGNvbW1lbnRzIHRvIGdldCBjb25z aXN0ZW50IGRvY3MgZm9yIEFQSSBmdW5jdGlvbnMuCj4gPiA+ID4gPj4gMykgcmVtb3ZlIHVudXNl ZCAjZGVmaW5lIGZyb20gYXV0b2ZkbyBleGFtcGxlLgo+ID4gPiA+ID4+IDQpIGZpeCBwZXJmIGNv ZGUgc3R5bGUgaXNzdWVzIGZyb20gcGF0Y2ggNCAoTWF0aGlldSkKPiA+ID4gPiA+PiA1KSBmaXgg Y29uZmlnZnMgY29kZSBzdHlsZSBpc3N1ZXMgZnJvbSBwYXRjaCA5LiAoTWF0aGlldSkKPiA+ID4g PiA+Pgo+ID4gPiA+ID4+IENoYW5nZXMgc2luY2UgdjQ6IChiYXNlZCBvbiBjb21tZW50cyBmcm9t IE1hdHRoaWV1IGFuZCBTdXp1a2kpLgo+ID4gPiA+ID4+IE5vIGxhcmdlIGZ1bmN0aW9uYWwgY2hh bmdlcyAtIHByaW1hcmlseSBjb2RlIGltcHJvdmVtZW50cyBhbmQgbmFtaW5nIHNjaGVtYS4KPiA+ ID4gPiA+PiAxKSBVcGRhdGVkIGVudGlyZSBzZXQgdG8gZW5zdXJlIGEgY29uc2lzdGVudCBuYW1p bmcgc2NoZW1lIHdhcyB1c2VkIGZvcgo+ID4gPiA+ID4+IHZhcmlhYmxlcyBhbmQgc3RydWN0IG1l bWJlcnMgdGhhdCByZWZlciB0byB0aGUga2V5IG9iamVjdHMgaW4gdGhlIHN5c3RlbS4KPiA+ID4g PiA+PiBTdWZmaXhlcyBfZGVzYyB1c2VkIGZvciBhbGwgcmVmZXJlbmNlcyB0byBmZWF0dXJlIGFu ZCBjb25maWd1cmFpb24gZGVzY3JpcHRvcnMsCj4gPiA+ID4gPj4gc3VmZml4IF9jc2RldiB1c2Vk IGZvciBhbGwgcmVmZXJlbmNlcyB0byBsb2FkIGZlYXR1cmUgYW5kIGNvbmZpZ3MgaW4gdGhlIGNz ZGV2Cj4gPiA+ID4gPj4gaW5zdGFuY2VzLiAoTWF0aGlldSAmIFN1enVraSkuCj4gPiA+ID4gPj4g MikgRHJvcHBlZCB0aGUgJ2NvbmZpZ3VyYXRpb25zJyBzdWIgZGlyIGluIGNzX2V0bSBwZXJmIGRp cmVjdG9yaWVzIGFzIHN1cGVyZmx1b3VzCj4gPiA+ID4gPj4gd2l0aCB0aGUgY29uZmlnZnMgY29u dGFpbmluZyB0aGUgc2FtZSBpbmZvcm1hdGlvbi4gKE1hdGhpZXUpLgo+ID4gPiA+ID4+IDMpIFNp bXBsaWZpZWQgcGVyZiBoYW5kbGluZyBjb2RlIChzdXp1a2kpCj4gPiA+ID4gPj4gNCkgTXVsdGlw bGUgc2ltcGxpZmljYXRpb25zIGFuZCBpbXByb3ZlbWVudHMgZm9yIGNvZGUgcmVhZGFiaWxpdHkg KE1hdHRoaWV1Cj4gPiA+ID4gPj4gYW5kIFN1enVraSkKPiA+ID4gPiA+Pgo+ID4gPiA+ID4+IENo YW5nZXMgc2luY2UgdjM6IChQcmltYXJpbHkgYmFzZWQgb24gY29tbWVudHMgZnJvbSBNYXR0aGll dSkKPiA+ID4gPiA+PiAxKSBMb2NraW5nIG1lY2hhbmlzbXMgc2ltcGxpZmllZC4KPiA+ID4gPiA+ PiAyKSBSZW1vdmVkIHRoZSBwb3NzaWJpbGl0eSB0byBlbmFibGUgZmVhdHVyZXMgaW5kZXBlbmRl bnRseSBmcm9tCj4gPiA+ID4gPj4gY29uZmlndXJhdGlvbnMuT25seSBjb25maWd1cmF0aW9ucyBj YW4gYmUgZW5hYmxlZCBub3cuIFNpbXBsaWZpZXMgcHJvZ3JhbW1pbmcKPiA+ID4gPiA+PiBsb2dp Yy4KPiA+ID4gPiA+PiAzKSBDb25maWd1cmF0aW9uIG5vdyB1c2VzIGFuIGFjdGl2YXRlLT5lbmFi bGUgbWVjaGFuaXNtLiBUaGlzIG1lYW5zIHRoYXQgcGVyZgo+ID4gPiA+ID4+IHdpbGwgYWN0aXZh dGUgYSBzZWxlY3RlZCBjb25maWd1cmF0aW9uIGF0IHRoZSBzdGFydCBvZiBhIHNlc3Npb24gKGR1 cmluZwo+ID4gPiA+ID4+IHNldHVwX2F1eCksIGFuZCBkaXNhYmxlIGF0IHRoZSBlbmQgb2YgYSBz ZXNzaW9uIChhcm91bmQgZnJlZV9hdXgpCj4gPiA+ID4gPj4gVGhlIGFjdGl2ZSBjb25maWd1cmF0 aW9uIGFuZCBhc3NvY2lhdGVkIGZlYXR1cmVzIHdpbGwgYmUgcHJvZ3JhbW1lZCBpbnRvIHRoZQo+ ID4gPiA+ID4+IENvcmVTaWdodCBkZXZpY2UgaW5zdGFuY2VzIHdoZW4gdGhleSBhcmUgZW5hYmxl ZC4gVGhpcyBsb2NrcyB0aGUgY29uZmlndXJhdGlvbgo+ID4gPiA+ID4+IGludG8gdGhlIHN5c3Rl bSB3aGlsZSBpbiB1c2UuIFBhcmFtZXRlcnMgY2Fubm90IGJlIGFsdGVyZWQgd2hpbGUgdGhpcyBp cwo+ID4gPiA+ID4+IGluIHBsYWNlLiBUaGlzIG1lY2hhbmlzbSB3aWxsIGJlIGV4dGVuZGVkIGlu IGZ1dHVyZSBmb3IgZHluYW1pYyBsb2FkIC8gdW5sb2FkCj4gPiA+ID4gPj4gb2YgY29uZmlndXJh dGlvbnMgdG8gcHJldmVudCByZW1vdmFsIHdoaWxlIGluIHVzZS4KPiA+ID4gPiA+PiA0KSBSZW1v dmVkIHRoZSBjdXN0b20gYnVzIC8gZHJpdmVyIGFzIHVuLW5lY2Vzc2FyeS4gQSBzaW5nbGUgZGV2 aWNlIGlzCj4gPiA+ID4gPj4gcmVnaXN0ZXJlZCB0byBvd24gcGVyZiBmcyBlbGVtZW50cyBhbmQg Y29uZmlnZnMuCj4gPiA+ID4gPj4gNSkgVmFyaW91cyBvdGhlciBtaW5vciBpc3N1ZXMgYWRkcmVz c2VkLgo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4gQ2hhbmdlcyBzaW5jZSB2MjoKPiA+ID4gPiA+PiAx KSBBZGRlZCBkb2N1bWVudGF0aW9uIGZpbGUuCj4gPiA+ID4gPj4gMikgQWx0ZXJlZCBjc19zeXNj ZmcgZHJpdmVyIHRvIG5vIGxvbmdlciBiZSBjb3Jlc2lnaHRfZGV2aWNlIGJhc2VkLCBhbmQgbW92 ZWQKPiA+ID4gPiA+PiB0byBpdHMgb3duIGN1c3RvbSBidXMgdG8gcmVtb3ZlIGl0IGZyb20gdGhl IG1haW4gY29yZXNpZ2h0IGJ1cy4gKE1hdGhpZXUpCj4gPiA+ID4gPj4gMykgQWRkZWQgY29uZmln ZnMgc3VwcG9ydCB0byBpbnNwZWN0IGFuZCBjb250cm9sIGxvYWRlZCBjb25maWd1cmF0aW9ucyBh bmQKPiA+ID4gPiA+PiBmZWF0dXJlcy4gQWxsb3dzIGxpc3Rpbmcgb2YgcHJlc2V0IHZhbHVlcyAo WWFiaW4gQ3VpKQo+ID4gPiA+ID4+IDQpIERyb3BwZWQgc3lzZnMgc3VwcG9ydCBmb3IgYWRqdXN0 aW5nIGZlYXR1cmUgcGFyYW1ldGVycyBvbiB0aGUgcGVyIGRldmljZQo+ID4gPiA+ID4+IGJhc2lz LCBpbiBmYXZvdXIgb2YgYSBzaW5nbGUgcG9pbnQgYWRqdXN0bWVudCBpbiBjb25maWdmcyB0aGF0 IGlzIHB1c2hlZCB0byBhbGwKPiA+ID4gPiA+PiBkZXZpY2UgaW5zdGFuY2VzLgo+ID4gPiA+ID4+ IDUpIEFsdGVyZWQgaG93IHRoZSBjb25maWcgYW5kIHByZXNldCBjb21tYW5kIGxpbmUgb3B0aW9u cyBhcmUgaGFuZGxlZCBpbiBwZXJmCj4gPiA+ID4gPj4gYW5kIHRoZSBkcml2ZXJzLiAoTWF0aGll dSBhbmQgU3V6dWtpKS4KPiA+ID4gPiA+PiA2KSBGaXhlcyBmb3IgdmFyaW91cyBpc3N1ZXMgYW5k IHRlY2huaWNhbCBwb2ludHMgKE1hdGhpZXUsIFlhYmluKQo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4g Q2hhbmdlcyBzaW5jZSB2MToKPiA+ID4gPiA+PiAxKSBNb3ZlZCBwcmVsb2FkZWQgY29uZmlndXJh dGlvbnMgYW5kIGZlYXR1cmVzIG91dCBvZiBpbmRpdmlkdWFsIGRyaXZlcnMuCj4gPiA+ID4gPj4g MikgQWRkZWQgY3Nfc3lzY2ZnIGRyaXZlciB0byBtYW5hZ2UgY29uZmlndXJhdGlvbnMgYW5kIGZl YXR1cmVzLiBJbmRpdmlkdWFsCj4gPiA+ID4gPj4gZHJpdmVycyByZWdpc3RlciB3aXRoIGNzX3N5 c2NmZyBpbmRpY2F0aW5nIHN1cHBvcnQgZm9yIGNvbmZpZywgYW5kIHByb3ZpZGUKPiA+ID4gPiA+ PiBtYXRjaGluZyBpbmZvcm1hdGlvbiB0aGF0IHRoZSBzeXN0ZW0gdXNlcyB0byBsb2FkIGZlYXR1 cmVzIGludG8gdGhlIGRyaXZlcnMuCj4gPiA+ID4gPj4gVGhpcyBhbGxvd3MgaW5kaXZpZHVhbCBk cml2ZXJzIHRvIGJlIHVwZGF0ZWQgb24gYW4gYXMgbmVlZGVkIGJhc2lzIC0gYW5kCj4gPiA+ID4g Pj4gcmVtb3ZlcyB0aGUgbmVlZCB0byBjb25zaWRlciBkZXZpY2VzIHRoYXQgY2Fubm90IGJlbmVm aXQgZnJvbSBjb25maWd1cmF0aW9uIC0KPiA+ID4gPiA+PiBzdGF0aWMgcmVwbGljYXRvcnMsIGZ1 bm5lbHMsIHRwaXUuCj4gPiA+ID4gPj4gMykgQWRkZWQgcGVyZiBzZWxlY3Rpb24gb2YgY29uZmln dWFyYXRpb25zLgo+ID4gPiA+ID4+IDQpIFJlYmFzZWQgb250byB0aGUgY29yZXNpZ2h0IG1vZHVs ZSBsb2FkaW5nIHNldC4KPiA+ID4gPiA+Pgo+ID4gPiA+ID4+IFRvIGZvbGxvdyBpbiBmdXR1cmUg cmV2aXNpb25zIC8gc2V0czotCj4gPiA+ID4gPj4gYSkgbG9hZCBvZiBhZGRpdGlvbmFsIGNvbmZp ZyBhbmQgZmVhdHVyZXMgYnkgbG9hZGFibGUgbW9kdWxlLgo+ID4gPiA+ID4+IGIpIGxvYWQgb2Yg YWRkaXRpb25hbCBjb25maWcgYW5kIGZlYXR1cmVzIGJ5IGNvbmZpZ2ZzCj4gPiA+ID4gPj4gYykg ZW5oYW5jZWQgcmVzb3VyY2UgbWFuYWdlbWVudCBmb3IgRVRNdjQgYW5kIGNoZWNraW5nIGZlYXR1 cmVzIGhhdmUgc3VmZmljaWVudAo+ID4gPiA+ID4+IHJlc291cmNlcyB0byBiZSBlbmFibGVkLgo+ ID4gPiA+ID4+IGQpIEVDVCBhbmQgQ1RJIHN1cHBvcnQgZm9yIGNvbmZpZ3VyYXRpb24gYW5kIGZl YXR1cmVzLgo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4gTWlrZSBMZWFjaCAoMTApOgo+ID4gPiA+ID4+ ICAgY29yZXNpZ2h0OiBzeXNjZmc6IEluaXRpYWwgY29yZXNpZ2h0IHN5c3RlbSBjb25maWd1cmF0 aW9uCj4gPiA+ID4gPj4gICBjb3Jlc2lnaHQ6IHN5c2NmZzogQWRkIHJlZ2lzdHJhdGlvbiBhbmQg ZmVhdHVyZSBsb2FkaW5nIGZvciBjcyBkZXZpY2VzCj4gPiA+ID4gPj4gICBjb3Jlc2lnaHQ6IGNv bmZpZzogQWRkIGNvbmZpZ3VyYXRpb24gYW5kIGZlYXR1cmUgZ2VuZXJpYyBmdW5jdGlvbnMKPiA+ ID4gPiA+PiAgIGNvcmVzaWdodDogZXRtLXBlcmY6IHVwZGF0ZSB0byBoYW5kbGUgY29uZmlndXJh dGlvbiBzZWxlY3Rpb24KPiA+ID4gPiA+PiAgIGNvcmVzaWdodDogc3lzY2ZnOiBBZGQgQVBJIHRv IGFjdGl2YXRlIGFuZCBlbmFibGUgY29uZmlndXJhdGlvbnMKPiA+ID4gPiA+PiAgIGNvcmVzaWdo dDogZXRtLXBlcmY6IFVwZGF0ZSB0byBhY3RpdmF0ZSBzZWxlY3RlZCBjb25maWd1cmF0aW9uCj4g PiA+ID4gPj4gICBjb3Jlc2lnaHQ6IGV0bTR4OiBBZGQgY29tcGxleCBjb25maWd1cmF0aW9uIGhh bmRsZXJzIHRvIGV0bXY0Cj4gPiA+ID4gPj4gICBjb3Jlc2lnaHQ6IGNvbmZpZzogQWRkIHByZWxv YWRlZCBjb25maWd1cmF0aW9ucwo+ID4gPiA+ID4+ICAgY29yZXNpZ2h0OiBzeXNjZmc6IEFkZCBp bml0aWFsIGNvbmZpZ2ZzIHN1cHBvcnQKPiA+ID4gPiA+PiAgIERvY3VtZW50YXRpb246IGNvcmVz aWdodDogQWRkIGRvY3VtZW50YXRpb24gZm9yIENvcmVTaWdodCBjb25maWcKPiA+ID4gPiA+Pgo+ ID4gPiA+ID4+ICAuLi4vdHJhY2UvY29yZXNpZ2h0L2NvcmVzaWdodC1jb25maWcucnN0ICAgICAg fCAyNDQgKysrKysrCj4gPiA+ID4gPj4gIERvY3VtZW50YXRpb24vdHJhY2UvY29yZXNpZ2h0L2Nv cmVzaWdodC5yc3QgICB8ICAxNiArCj4gPiA+ID4gPj4gIGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVz aWdodC9LY29uZmlnICAgICAgICAgICB8ICAgMSArCj4gPiA+ID4gPj4gIGRyaXZlcnMvaHd0cmFj aW5nL2NvcmVzaWdodC9NYWtlZmlsZSAgICAgICAgICB8ICAgNyArLQo+ID4gPiA+ID4+ICAuLi4v aHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtY2ZnLWFmZG8uYyAgfCAxNTMgKysrKwo+ID4g PiA+ID4+ICAuLi4vY29yZXNpZ2h0L2NvcmVzaWdodC1jZmctcHJlbG9hZC5jICAgICAgICAgfCAg MzEgKwo+ID4gPiA+ID4+ICAuLi4vY29yZXNpZ2h0L2NvcmVzaWdodC1jZmctcHJlbG9hZC5oICAg ICAgICAgfCAgMTMgKwo+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2ln aHQtY29uZmlnLmMgICAgfCAyNzUgKysrKysrCj4gPiA+ID4gPj4gIC4uLi9od3RyYWNpbmcvY29y ZXNpZ2h0L2NvcmVzaWdodC1jb25maWcuaCAgICB8IDI1MyArKysrKysKPiA+ID4gPiA+PiAgZHJp dmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jb3JlLmMgIHwgIDEyICstCj4gPiA+ ID4gPj4gIC4uLi9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1ldG0tcGVyZi5jICB8IDE1 MCArKystCj4gPiA+ID4gPj4gIC4uLi9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1ldG0t cGVyZi5oICB8ICAxMiArLQo+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jl c2lnaHQtZXRtNHgtY2ZnLmMgfCAxODIgKysrKwo+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2Nv cmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtY2ZnLmggfCAgMzAgKwo+ID4gPiA+ID4+ICAuLi4vY29y ZXNpZ2h0L2NvcmVzaWdodC1ldG00eC1jb3JlLmMgICAgICAgICAgfCAgMzggKy0KPiA+ID4gPiA+ PiAgLi4uL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtc3lzZnMuYyAgICAgICAgIHwgICAzICsK PiA+ID4gPiA+PiAgLi4uL2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lzY2ZnLWNvbmZpZ2ZzLmMgICAg IHwgMzk2ICsrKysrKysrKwo+ID4gPiA+ID4+ICAuLi4vY29yZXNpZ2h0L2NvcmVzaWdodC1zeXNj ZmctY29uZmlnZnMuaCAgICAgfCAgNDUgKwo+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVz aWdodC9jb3Jlc2lnaHQtc3lzY2ZnLmMgICAgfCA4MjkgKysrKysrKysrKysrKysrKysrCj4gPiA+ ID4gPj4gIC4uLi9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1zeXNjZmcuaCAgICB8ICA4 MSArKwo+ID4gPiA+ID4+ICBpbmNsdWRlL2xpbnV4L2NvcmVzaWdodC5oICAgICAgICAgICAgICAg ICAgICAgfCAgMTEgKwo+ID4gPiA+ID4+ICAyMSBmaWxlcyBjaGFuZ2VkLCAyNzQ2IGluc2VydGlv bnMoKyksIDM2IGRlbGV0aW9ucygtKQo+ID4gPiA+ID4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9j dW1lbnRhdGlvbi90cmFjZS9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNvbmZpZy5yc3QKPiA+ID4gPiA+ PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2ln aHQtY2ZnLWFmZG8uYwo+ID4gPiA+ID4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9od3Ry YWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jZmctcHJlbG9hZC5jCj4gPiA+ID4gPj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNmZy1w cmVsb2FkLmgKPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5n L2NvcmVzaWdodC9jb3Jlc2lnaHQtY29uZmlnLmMKPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtY29uZmlnLmgKPiA+ID4g PiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jl c2lnaHQtZXRtNHgtY2ZnLmMKPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv aHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtY2ZnLmgKPiA+ID4gPiA+PiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lz Y2ZnLWNvbmZpZ2ZzLmMKPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0 cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lzY2ZnLWNvbmZpZ2ZzLmgKPiA+ID4gPiA+PiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQt c3lzY2ZnLmMKPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5n L2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lzY2ZnLmgKPiA+ID4gPiA+Pgo+ID4gPiA+ID4+IC0tCj4g PiA+ID4gPj4gMi4xNy4xCj4gPiA+ID4gPj4KPiA+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gPiBDb3JlU2lnaHQgbWFpbGluZyBs aXN0Cj4gPiA+ID4gPiBDb3JlU2lnaHRAbGlzdHMubGluYXJvLm9yZwo+ID4gPiA+ID4gaHR0cHM6 Ly9saXN0cy5saW5hcm8ub3JnL21haWxtYW4vbGlzdGluZm8vY29yZXNpZ2h0Cj4gPiA+ID4gPgo+ ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiAtLQo+ID4gPiBNaWtlIExlYWNoCj4gPiA+IFByaW5jaXBh bCBFbmdpbmVlciwgQVJNIEx0ZC4KPiA+ID4gTWFuY2hlc3RlciBEZXNpZ24gQ2VudHJlLiBVSwo+ IAo+IAo+IAo+IC0tIAo+IE1pa2UgTGVhY2gKPiBQcmluY2lwYWwgRW5naW5lZXIsIEFSTSBMdGQu Cj4gTWFuY2hlc3RlciBEZXNpZ24gQ2VudHJlLiBVSwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=