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=-11.8 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 90CEDC433E1 for ; Mon, 27 Jul 2020 19:54:16 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5F2BF2072E for ; Mon, 27 Jul 2020 19:54:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bIhZ3RKQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5F2BF2072E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 378DF89DC0; Mon, 27 Jul 2020 19:54:16 +0000 (UTC) Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7AD5389DC0 for ; Mon, 27 Jul 2020 19:54:15 +0000 (UTC) Received: by mail-wr1-x442.google.com with SMTP id y3so16059994wrl.4 for ; Mon, 27 Jul 2020 12:54:15 -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=J4v276q82fB7Tab9YJomPa0fFR3l8SmXFwVrHDevWF0=; b=bIhZ3RKQSkn5aydlBtf4N2aznI7VrHUkfz6FAOLW7Z2NnIPNKIBgSBjAmsVzWmAxa5 /QAE2gqTOBefa630kzPZK/bOU4NHWkOIM1u6EBHqVkudin3XV3jmxOFlq+p2FNWX3DUy +gsqzI1zyi/ZNaAHPMY6Q+q/rgBQVW7HV0tPxLUyzD4VifXlI9aIDSiC9rnSJaRkGY0r 1BLrpZfm+6ZUM7jxJ+GHvNY5pHnplHDBnFNm+/l+TzlqPE/z81b70IsNdAGmJyGFTlcC Fip6t5RSSscJc6xnxHMcVtOAYuRrM5jaG36vYxpDkxHJkKJthEBBcxmC7NtSLmzyPJUF jIlg== 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=J4v276q82fB7Tab9YJomPa0fFR3l8SmXFwVrHDevWF0=; b=SDOIWINozV6wHNdEYxwH08y8Zd8/rF84RofT7Vq/o+0aag8CiUX3but8qvy8jy7MiM ZnXchjlI6omFauwMyFTeXvgLkdEqPAgoY0WihBEoy8YXq5QZHxY9rF28Gwzwu6Ioj6/Z xjTKHT1rvuKlSVVINnB53kID8Z27R8PpZ/SVwQ28RqOtchK3KBYo8txCrkvoB2JjOIoo nHVJ78AgmVRtlAhcvime6u2z1BFvr4qRyb3ClZrj/r1eH5vPtsZVEXN5xksGEKs8+GKi 1rV3N2WDmiq+f7nnS/ruqnNQWyoM8HDxgGMAyB563zFH6NiLmN5k0pPhjV0SJ0q31KDq 9TTA== X-Gm-Message-State: AOAM531hVIjPFrRTJq3DB7Zy9py3VSajhTShsUqsfw48tS6UgfgOm6uB GLopc4urpIUGRoP1dwCjwcQnU15X8MecIQwiLA4= X-Google-Smtp-Source: ABdhPJw1CQNSixkETnlpRZzJMIypPxsbrLUllbZR4NFCJQoxLbcP+M924CU/Lsj6xikz5p4AwPxSVetI0O7wxNf57O4= X-Received: by 2002:adf:fd41:: with SMTP id h1mr23287823wrs.124.1595879653977; Mon, 27 Jul 2020 12:54:13 -0700 (PDT) MIME-Version: 1.0 References: <20200716212251.1539094-1-issor.oruam@gmail.com> <9139d78a-a242-f973-31ac-a07ce6436396@gmail.com> In-Reply-To: From: Alex Deucher Date: Mon, 27 Jul 2020 15:54:02 -0400 Message-ID: Subject: Re: To: Mauro Rossi X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Deucher, Alexander" , Harry Wentland , Christian Koenig , amd-gfx list Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" T24gTW9uLCBKdWwgMjcsIDIwMjAgYXQgMzo0NiBQTSBNYXVybyBSb3NzaSA8aXNzb3Iub3J1YW1A Z21haWwuY29tPiB3cm90ZToKPgo+Cj4KPiBPbiBNb24sIEp1bCAyNywgMjAyMCBhdCA4OjMxIFBN IEFsZXggRGV1Y2hlciA8YWxleGRldWNoZXJAZ21haWwuY29tPiB3cm90ZToKPj4KPj4gT24gU3Vu LCBKdWwgMjYsIDIwMjAgYXQgMTE6MzEgQU0gTWF1cm8gUm9zc2kgPGlzc29yLm9ydWFtQGdtYWls LmNvbT4gd3JvdGU6Cj4+ID4KPj4gPiBIZWxsbywKPj4gPgo+PiA+IE9uIEZyaSwgSnVsIDI0LCAy MDIwIGF0IDg6MzEgUE0gQWxleCBEZXVjaGVyIDxhbGV4ZGV1Y2hlckBnbWFpbC5jb20+IHdyb3Rl Ogo+PiA+Pgo+PiA+PiBPbiBXZWQsIEp1bCAyMiwgMjAyMCBhdCAzOjU3IEFNIE1hdXJvIFJvc3Np IDxpc3Nvci5vcnVhbUBnbWFpbC5jb20+IHdyb3RlOgo+PiA+PiA+Cj4+ID4+ID4gSGVsbG8sCj4+ ID4+ID4gcmUtc2VuZGluZyBhbmQgY29weWluZyBmdWxsIERMCj4+ID4+ID4KPj4gPj4gPiBPbiBX ZWQsIEp1bCAyMiwgMjAyMCBhdCA0OjUxIEFNIEFsZXggRGV1Y2hlciA8YWxleGRldWNoZXJAZ21h aWwuY29tPiB3cm90ZToKPj4gPj4gPj4KPj4gPj4gPj4gT24gTW9uLCBKdWwgMjAsIDIwMjAgYXQg NjowMCBBTSBNYXVybyBSb3NzaSA8aXNzb3Iub3J1YW1AZ21haWwuY29tPiB3cm90ZToKPj4gPj4g Pj4gPgo+PiA+PiA+PiA+IEhpIENocmlzdGlhbiwKPj4gPj4gPj4gPgo+PiA+PiA+PiA+IE9uIE1v biwgSnVsIDIwLCAyMDIwIGF0IDExOjAwIEFNIENocmlzdGlhbiBLw7ZuaWcKPj4gPj4gPj4gPiA8 Y2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+IHdyb3RlOgo+PiA+PiA+PiA+ID4KPj4g Pj4gPj4gPiA+IEhpIE1hdXJvLAo+PiA+PiA+PiA+ID4KPj4gPj4gPj4gPiA+IEknbSBub3QgZGVl cCBpbnRvIHRoZSB3aG9sZSBEQyBkZXNpZ24sIHNvIGp1c3Qgc29tZSBnZW5lcmFsIGhpZ2ggbGV2 ZWwKPj4gPj4gPj4gPiA+IGNvbW1lbnRzIG9uIHRoZSBjb3ZlciBsZXR0ZXI6Cj4+ID4+ID4+ID4g Pgo+PiA+PiA+PiA+ID4gMS4gUGxlYXNlIGFkZCBhIHN1YmplY3QgbGluZSB0byB0aGUgY292ZXIg bGV0dGVyLCBteSBzcGFtIGZpbHRlciB0aGlua3MKPj4gPj4gPj4gPiA+IHRoYXQgdGhpcyBpcyBz dXNwaWNpb3VzIG90aGVyd2lzZS4KPj4gPj4gPj4gPgo+PiA+PiA+PiA+IE15IG1pc3Rha2UgaW4g dGhlIGVkaXRpbmcgb2YgY292ZXJ0IGxldHRlciB3aXRoIGdpdCBzZW5kLWVtYWlsLAo+PiA+PiA+ PiA+IEkgbWF5IGhhdmUgZm9yZ290IHRvIGtlZXAgdGhlIFN1YmplY3QgYXQgdGhlIHRvcAo+PiA+ PiA+PiA+Cj4+ID4+ID4+ID4gPgo+PiA+PiA+PiA+ID4gMi4gVGhlbiB5b3Ugc2hvdWxkIHByb2Jh Ymx5IG5vdGUgaG93IHdlbGwgKGJhZGx5PykgaXMgdGhhdCB0ZXN0ZWQuIFNpbmNlCj4+ID4+ID4+ ID4gPiB5b3Ugbm90ZWQgcHJvb2Ygb2YgY29uY2VwdCBpdCBtaWdodCBub3QgZXZlbiB3b3JrLgo+ PiA+PiA+PiA+Cj4+ID4+ID4+ID4gVGhlIENoYW5nZWxvZyBpcyB0byBiZSByZWFkIGFzOgo+PiA+ PiA+PiA+Cj4+ID4+ID4+ID4gW1JGQ10gd2FzIHRoZSBpbml0aWFsIFByb29mIG9mIGNvbmNlcHQg d2FzIHRoZSBSRkMgYW5kIFtQQVRDSCB2Ml0gd2FzCj4+ID4+ID4+ID4ganVzdCBhIHJlYmFzZSBv bnRvIGFtZC1zdGFnaW5nLWRybS1uZXh0Cj4+ID4+ID4+ID4KPj4gPj4gPj4gPiB0aGlzIHNlcmll cyBbUEFUQ0ggdjNdIGhhcyBhbGwgdGhlIGtub3duIGNoYW5nZXMgcmVxdWlyZWQgZm9yIERDRTYg c3BlY2lmaWNpdHkKPj4gPj4gPj4gPiBhbmQgYmFzZWQgb24gYSBsb25nIG9mZmxpbmUgdGhyZWFk IHdpdGggQWxleGFuZGVyIERldXRjaGVyIGFuZCBwYXN0Cj4+ID4+ID4+ID4gZHJpLWRldmVsIGNo YXRzIHdpdGggSGFycnkgV2VudGxhbmQuCj4+ID4+ID4+ID4KPj4gPj4gPj4gPiBJdCB3YXMgdGVz dGVkIGZvciBteSBwb3NzaWJpbGl0aWVzIG9mIHRlc3Rpbmcgd2l0aCBIRDc3NTAgYW5kIEhENzk1 MCwKPj4gPj4gPj4gPiB3aXRoIGNoZWNrcyBpbiBkbWVzZyBvdXRwdXQgZm9yIG5vdCBnZXR0aW5n ICJtaXNzaW5nIHJlZ2lzdGVycy9tYXNrcyIKPj4gPj4gPj4gPiBrZXJuZWwgV0FSTklORwo+PiA+ PiA+PiA+IGFuZCB3aXRoIGtlcm5lbCBidWlsZCBvbiBVYnVudHUgMjAuMDQgYW5kIHdpdGggYW5k cm9pZC14ODYKPj4gPj4gPj4gPgo+PiA+PiA+PiA+IFRoZSBwcm9wb3NhbCBJIG1hZGUgdG8gQWxl eCBpcyB0aGF0IEFNRCB0ZXN0aW5nIHN5c3RlbXMgd2lsbCBiZSB1c2VkCj4+ID4+ID4+ID4gZm9y IGZ1cnRoZXIgcmVncmVzc2lvbiB0ZXN0aW5nLAo+PiA+PiA+PiA+IGFzIHBhcnQgb2YgcmV2aWV3 IGFuZCB2YWxpZGF0aW9uIGZvciBlbGlnaWJpbGl0eSB0byBhbWQtc3RhZ2luZy1kcm0tbmV4dAo+ PiA+PiA+PiA+Cj4+ID4+ID4+Cj4+ID4+ID4+IFdlIHdpbGwgY2VydGFpbmx5IHRlc3QgaXQgb25j ZSBpdCBsYW5kcywgYnV0IHByZXN1bWFibHkgdGhpcyBpcwo+PiA+PiA+PiB3b3JraW5nIG9uIHRo ZSBTSSBjYXJkcyB5b3UgaGF2ZSBhY2Nlc3MgdG8/Cj4+ID4+ID4KPj4gPj4gPgo+PiA+PiA+IFll cywgbW9zdCBvZiBteSB0ZXN0aW5nIHdhcyBkb25lIHdpdGggYW5kcm9pZC14ODYgIEFuZHJvaWQg Q1RTIChFR0wsIEdMRVMyLCBHTEVTMywgVkspCj4+ID4+ID4KPj4gPj4gPiBJIGFtIGFsc28gaW4g Y29udGFjdCB3aXRoIGEgcGVyc29uIHdpdGggRmlyZXBybyBXNTEzME0gd2hvIGlzIHJ1bm5pbmcg YSBwaWdsaXQgc2Vzc2lvbgo+PiA+PiA+Cj4+ID4+ID4gSSBoYWQgYm91Z2h0IGFuIEhENzg1MCB0 byB0ZXN0IHdpdGggUGl0Y2Fpcm4sIGJ1dCBpdCBhcnJpdmVkIGFzIGRlZmVjdGl2ZSBzbyBJIGNv dWxkIG5vdCB0ZXN0IHdpdGggUGl0Y2Fpcgo+PiA+PiA+Cj4+ID4+ID4KPj4gPj4gPj4KPj4gPj4g Pj4gPiA+Cj4+ID4+ID4+ID4gPiAzLiBIb3cgZmVhdHVyZSBjb21wbGV0ZSAoSERNSSBhdWRpbz8s IEZyZWVzeW5jPykgaXMgaXQ/Cj4+ID4+ID4+ID4KPj4gPj4gPj4gPiBBbGwgdGhlIGNoYW5nZXMg aW4gREMgaW1wYWN0aW5nIERDRTggKGRjL2RjZTgwIHBhdGgpIHdlcmUgcG9ydGVkIHRvCj4+ID4+ ID4+ID4gRENFNiAoZGMvZGNlNjAgcGF0aCkgaW4gdGhlIGxhc3QgdHdvIHllYXJzIGZyb20gaW5p dGlhbCBzdWJtaXNzaW9uCj4+ID4+ID4+ID4KPj4gPj4gPj4gPiA+Cj4+ID4+ID4+ID4gPiBBcGFy dCBmcm9tIHRoYXQgaXQgbG9va3MgbGlrZSBhIHJhdGhlciBpbXByZXNzaXZlIHBpZWNlIG9mIHdv cmsgOikKPj4gPj4gPj4gPiA+Cj4+ID4+ID4+ID4gPiBDaGVlcnMsCj4+ID4+ID4+ID4gPiBDaHJp c3RpYW4uCj4+ID4+ID4+ID4KPj4gPj4gPj4gPiBUaGFua3MsCj4+ID4+ID4+ID4gcGxlYXNlIGNv bnNpZGVyIHRoYXQgbW9zdCBvZiB0aGUgbGF0ZXN0IERDRTYgc3BlY2lmaWMgcGFydHMgd2VyZQo+ PiA+PiA+PiA+IHBvc3NpYmxlIGR1ZSB0byByZWNlbnQgQWxleCBzdXBwb3J0IGluIGdldHRpbmcg dGhlIGNvcnJlY3QgRENFNgo+PiA+PiA+PiA+IGhlYWRlcnMsCj4+ID4+ID4+ID4gaGlzIHN1Z2dl c3Rpb25zIGFuZCBjb250aW51b3VzIGZlZWRiYWNrLgo+PiA+PiA+PiA+Cj4+ID4+ID4+ID4gSSB3 b3VsZCBzdWdnZXN0IHRoYXQgQWxleCBjb21tZW50cyBvbiB0aGUgcHJvcG9zZWQgbmV4dCBzdGVw cyB0byBmb2xsb3cuCj4+ID4+ID4+Cj4+ID4+ID4+IFRoZSBjb2RlIGxvb2tzIHByZXR0eSBnb29k IHRvIG1lLiAgSSdkIGxpa2UgdG8gZ2V0IHNvbWUgZmVlZGJhY2sgZnJvbQo+PiA+PiA+PiB0aGUg ZGlzcGxheSB0ZWFtIHRvIHNlZSBpZiB0aGV5IGhhdmUgYW55IGNvbmNlcm5zLCBidXQgYmV5b25k IHRoYXQgSQo+PiA+PiA+PiB0aGluayB3ZSBjYW4gcHVsbCBpdCBpbnRvIHRoZSB0cmVlIGFuZCBj b250aW51ZSBpbXByb3ZpbmcgaXQgdGhlcmUuCj4+ID4+ID4+IERvIHlvdSBoYXZlIGEgbGluayB0 byBhIGdpdCB0cmVlIEkgY2FuIHB1bGwgZGlyZWN0bHkgdGhhdCBjb250YWlucwo+PiA+PiA+PiB0 aGVzZSBwYXRjaGVzPyAgSXMgdGhpcyB0aGUgcmlnaHQgYnJhbmNoPwo+PiA+PiA+PiBodHRwczov L2dpdGh1Yi5jb20vbWF1cm9zc2kvbGludXgvY29tbWl0cy9rZXJuZWwtNS44cmM0X3NpX25leHQK Pj4gPj4gPj4KPj4gPj4gPj4gVGhhbmtzIQo+PiA+PiA+Pgo+PiA+PiA+PiBBbGV4Cj4+ID4+ID4K Pj4gPj4gPgo+PiA+PiA+IFRoZSBmb2xsb3dpbmcgYnJhbmNoIHdhcyBwdXNoZWQgd2l0aCB0aGUg c2VyaWVzIG9uIHRvcCBvZiBhbWQtc3RhZ2luZy1kcm0tbmV4dAo+PiA+PiA+Cj4+ID4+ID4gaHR0 cHM6Ly9naXRodWIuY29tL21hdXJvc3NpL2xpbnV4L2NvbW1pdHMva2VybmVsLTUuNl9zaV9kcm0t bmV4dAo+PiA+Pgo+PiA+PiBJIGdhdmUgdGhpcyBhIHF1aWNrIHRlc3Qgb24gYWxsIG9mIHRoZSBT SSBhc2ljcyBhbmQgdGhlIHZhcmlvdXMKPj4gPj4gbW9uaXRvcnMgSSBoYWQgYXZhaWxhYmxlIGFu ZCBpdCBsb29rcyBnb29kLiAgQSBmZXcgbWlub3IgcGF0Y2hlcyBJCj4+ID4+IG5vdGljZWQgYXJl IGF0dGFjaGVkLiAgSWYgdGhleSBsb29rIGdvb2QgdG8geW91LCBJJ2xsIHNxdWFzaCB0aGVtIGlu dG8KPj4gPj4gdGhlIHNlcmllcyB3aGVuIEkgY29tbWl0IGl0LiAgSSd2ZSBwdXNoZWQgaXQgdG8g bXkgZmRvIHRyZWUgYXMgd2VsbDoKPj4gPj4gaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9+ YWdkNWYvbGludXgvbG9nLz9oPXNpX2RjX3N1cHBvcnQKPj4gPj4KPj4gPj4gVGhhbmtzIQo+PiA+ Pgo+PiA+PiBBbGV4Cj4+ID4KPj4gPgo+PiA+IFRoZSBuZXcgcGF0Y2hlcyBhcmUgb2sgYW5kIHdp dGggdGhlIGZvbGxvd2luZyBpbmZvbWF0aW9uIGFib3V0IHBpZ2xpdCB0ZXN0cywKPj4gPiB0aGUg c2VyaWVzIG1heSBiZSBnb29kIHRvIGdvLgo+PiA+Cj4+ID4gSSBoYXZlIHBlcmZvcm1lZCBwaWds aXQgdGVzdHMgb24gVGFoaXRpIEhENzk1MCBvbiBrZXJuZWwgNS44LjAtcmM2IHdpdGggQU1EIERD IHN1cHBvcnQgZm9yIFNJCj4+ID4gYW5kIGNvbXBhcmlzb24gd2l0aCB2YW5pbGxhIGtlcm5lbCA1 LjguMC1yYzYKPj4gPgo+PiA+IFJlc3VsdHMgYXJlIHRoZSBmb2xsb3dpbmcKPj4gPgo+PiA+IFtw aWdsaXQgZ3B1IHRlc3RzIHdpdGgga2VybmVsIDUuOC4wLXJjNi1hbWRkY3NpXQo+PiA+Cj4+ID4g dXRlbnRlQHV0ZW50ZS1kZXNrdG9wOn4vcGlnbGl0JCAuL3BpZ2xpdCBydW4gZ3B1IC4KPj4gPiBb MjY3MTQvMjY3MTRdIHNraXA6IDE3MzEsIHBhc3M6IDI0NjY5LCB3YXJuOiAxNSwgZmFpbDogMjg4 LCBjcmFzaDogMTEKPj4gPiBUaGFuayB5b3UgZm9yIHJ1bm5pbmcgUGlnbGl0IQo+PiA+IFJlc3Vs dHMgaGF2ZSBiZWVuIHdyaXR0ZW4gdG8gL2hvbWUvdXRlbnRlL3BpZ2xpdAo+PiA+Cj4+ID4gW3Bp Z2xpdCBncHUgdGVzdHMgd2l0aCB2YW5pbGxhIDUuOC4wLXJjNl0KPj4gPgo+PiA+IHV0ZW50ZUB1 dGVudGUtZGVza3RvcDp+L3BpZ2xpdCQgLi9waWdsaXQgcnVuIGdwdSAuCj4+ID4gWzI2NzE0LzI2 NzE0XSBza2lwOiAxNzMxLCBwYXNzOiAyNDY3Mywgd2FybjogMTMsIGZhaWw6IDI4MywgY3Jhc2g6 IDE0Cj4+ID4gVGhhbmsgeW91IGZvciBydW5uaW5nIFBpZ2xpdCEKPj4gPiBSZXN1bHRzIGhhdmUg YmVlbiB3cml0dGVuIHRvIC9ob21lL3V0ZW50ZS9waWdsaXQKPj4gPgo+PiA+IEluIHRoZSBhdHRh Y2htZW50IHRoZSBjb21wYXJpc29uIG9mICI1LjguMC1yYzYtYW1kZGNzaSIgdnMgIjUuOC4wLXJj NiIgdmFuaWxsYQo+PiA+IGFuZCB2aWNldmVyc2EsIEkgc2VlIG5vIHNpZ25pZmljYW50IHJlZ3Jl c3Npb24gYW5kIGluIHRoZSBkZWx0YSBvZiBmYWlsZWQgdGVzdHMgSSBkb24ndCByZWNvZ25pemUg REMgcmVsYXRlZCB0ZXN0IGNhc2VzLAo+PiA+IGJ1dCB5b3UgbWF5IGFsc28gaGF2ZSBhIGxvb2su Cj4+Cj4+IExvb2tzIGdvb2QgdG8gbWUuICBUaGUgc2VyaWVzIGlzOgo+PiBSZXZpZXdlZC1ieTog QWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgo+Cj4KPiBUaGFuayB5b3Ug QWxleCBmb3IgcmV2aWV3IGFuZCB0aGUgaGVscCBpbiBmaW5hbGl6aW5nIHRoZSBzZXJpZXMKPiBh bmQgdG8gSGFycnkgd2hvIGluaXRpYWxseSBlbmNvdXJhZ2VkIG1lIGFuZCBwcm92aWRlZCB0aGUg ZmVlZGJhY2tzIHRvIHByZXZpb3VzIHYyIHNlcmllcwo+CgpUaGFua3MgZm9yIHN0aWNraW5nIHdp dGggdGhpcyEKCj4KPj4KPj4KPj4gPgo+PiA+IGRtZXNnIGZvciAiNS44LjAtcmM2LWFtZGRjc2ki IGlzIGFsc28gcHJvdmlkZSB0aGUgY2hlY2sgdGhlIGNyYXNoZXMKPj4gPgo+PiA+IFJlZ2FyZGlu ZyB0aGUgb3RoZXIgdXNlciB0ZXN0aW5nIHRoZSBzZXJpZXMgd2l0aCBGaXJlcHJvIFc1MTMwTQo+ PiA+IGhlIGZvdW5kIGFuIGFscmVhZHkgZXhpc3RpbmcgaXNzdWUgaW4gYW1kZ3B1IHNpX3N1cHBv cnQ9MSB3aGljaCBpcyBpbmRlcGVuZGVudCBmcm9tIG15IHNlcmllcyBhbmQgbWF0Y2hlcyBhIHBy b2JsZW0gYWxyYWR5IHJlcG9ydGVkLiBbMV0KPj4gPgo+Pgo+PiBhbWRncHUgZG9lcyBub3QgY3Vy cmVudGx5IGltcGxlbWVudCBHUFUgcmVzZXQgc3VwcG9ydCBmb3IgU0kuCj4+Cj4+IEFsZXgKPgo+ Cj4gSWYgeW91IGhhdmUgaW4gdGhlIHBsYW5zIHRvIGFkZCBzdXBwb3J0IGFuZCBwcmV2ZW50IHRo b3NlIGNyYXNoZXMsCj4gdGhlIHVzZXIgd291bGQgYmUgZ2xhZCB0byBiZSBhdmFpbGFibGUgZm9y IGdseGdlYXJzIGFuZCBwaWdsaXQgdGVzdGluZyBvbiBGaXJlcHJvIFc1MTMwTQoKSW5pdGlhbCBw YXRjaCBoZXJlOgpodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMzgwNjQ4 LwoKQWxleAoKPgo+IFBsZWFzZSBsZXQgbWUga25vdwo+Cj4gTWF1cm8KPgo+Pgo+Pgo+PiA+IE1h dXJvCj4+ID4KPj4gPiBbMV0gaHR0cHM6Ly9iYnMuYXJjaGxpbnV4Lm9yZy92aWV3dG9waWMucGhw P2lkPTI0OTA5Nwo+PiA+Cj4+ID4+Cj4+ID4+Cj4+ID4+ID4KPj4gPj4gPj4KPj4gPj4gPj4KPj4g Pj4gPj4gPgo+PiA+PiA+PiA+IE1hdXJvCj4+ID4+ID4+ID4KPj4gPj4gPj4gPiA+Cj4+ID4+ID4+ ID4gPiBBbSAxNi4wNy4yMCB1bSAyMzoyMiBzY2hyaWViIE1hdXJvIFJvc3NpOgo+PiA+PiA+PiA+ ID4gPiBUaGUgc2VyaWVzIGFkZHMgU0kgc3VwcG9ydCB0byBBTUQgREMKPj4gPj4gPj4gPiA+ID4K Pj4gPj4gPj4gPiA+ID4gQ2hhbmdlbG9nOgo+PiA+PiA+PiA+ID4gPgo+PiA+PiA+PiA+ID4gPiBb UkZDXQo+PiA+PiA+PiA+ID4gPiBQcmVsaW1pbmFyIFByb29mIE9mIENvbmNlcHQsIHdpdGggRENF OCBoZWFkZXJzIHN0aWxsIHVzZWQgaW4gZGNlNjBfcmVzb3VyY2VzLmMKPj4gPj4gPj4gPiA+ID4K Pj4gPj4gPj4gPiA+ID4gW1BBVENIIHYyXQo+PiA+PiA+PiA+ID4gPiBSZWJhc2Ugb24gYW1kLXN0 YWdpbmctZHJtLW5leHQgZGF0ZWQgMTctT2N0LTIwMTgKPj4gPj4gPj4gPiA+ID4KPj4gPj4gPj4g PiA+ID4gW1BBVENIIHYzXQo+PiA+PiA+PiA+ID4gPiBBZGQgc3VwcG9ydCBmb3IgRENFNiBzcGVj aWZpYyBoZWFkZXJzLAo+PiA+PiA+PiA+ID4gPiBhZCBob2MgRENFNiBtYWNyb3MsIGZ1bnRpb25z IGFuZCBmaXhlcywKPj4gPj4gPj4gPiA+ID4gcmViYXNlIG9uIGN1cnJlbnQgYW1kLXN0YWdpbmct ZHJtLW5leHQKPj4gPj4gPj4gPiA+ID4KPj4gPj4gPj4gPiA+ID4KPj4gPj4gPj4gPiA+ID4gQ29t bWl0cyBbMDEvMjddLi5bMDgvMjddIFNJIHN1cHBvcnQgYWRkZWQgaW4gdmFyaW91cyBEQyBjb21w b25lbnRzCj4+ID4+ID4+ID4gPiA+Cj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAwMS8yN10gZHJt L2FtZGdwdTogYWRkIHNvbWUgcmVxdWlyZWQgRENFNiByZWdpc3RlcnMgKHY2KQo+PiA+PiA+PiA+ ID4gPiBbUEFUQ0ggdjMgMDIvMjddIGRybS9hbWQvZGlzcGxheTogYWRkIGFzaWNzIGluZm8gZm9y IFNJIHBhcnRzCj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAwMy8yN10gZHJtL2FtZC9kaXNwbGF5 OiBkYy9kY2U6IGFkZCBpbml0aWFsIERDRTYgc3VwcG9ydCAodjliKQo+PiA+PiA+PiA+ID4gPiBb UEFUQ0ggdjMgMDQvMjddIGRybS9hbWQvZGlzcGxheTogZGMvY29yZTogYWRkIFNJL0RDRTYgc3Vw cG9ydCAodjIpCj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAwNS8yN10gZHJtL2FtZC9kaXNwbGF5 OiBkYy9iaW9zOiBhZGQgc3VwcG9ydCBmb3IgRENFNgo+PiA+PiA+PiA+ID4gPiBbUEFUQ0ggdjMg MDYvMjddIGRybS9hbWQvZGlzcGxheTogZGMvZ3BpbzogYWRkIHN1cHBvcnQgZm9yIERDRTYgKHYy KQo+PiA+PiA+PiA+ID4gPiBbUEFUQ0ggdjMgMDcvMjddIGRybS9hbWQvZGlzcGxheTogZGMvaXJx OiBhZGQgc3VwcG9ydCBmb3IgRENFNiAodjQpCj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAwOC8y N10gZHJtL2FtZC9kaXNwbGF5OiBhbWRncHVfZG06IGFkZCBTSSBzdXBwb3J0ICh2NCkKPj4gPj4g Pj4gPiA+ID4KPj4gPj4gPj4gPiA+ID4gQ29tbWl0cyBbMDkvMjddLi5bMjQvMjddIERDRTYgc3Bl Y2lmaWMgY29kZSBhZGFwdGlvbnMKPj4gPj4gPj4gPiA+ID4KPj4gPj4gPj4gPiA+ID4gW1BBVENI IHYzIDA5LzI3XSBkcm0vYW1kL2Rpc3BsYXk6IGRjL2Nsa19tZ3I6IGFkZCBzdXBwb3J0IGZvciBT SSBwYXJ0cyAodjIpCj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAxMC8yN10gZHJtL2FtZC9kaXNw bGF5OiBkYy9kY2U2MDogc2V0IG1heF9jdXJzb3Jfc2l6ZSB0byA2NAo+PiA+PiA+PiA+ID4gPiBb UEFUQ0ggdjMgMTEvMjddIGRybS9hbWQvZGlzcGxheTogZGNlX2F1ZGlvOiBhZGQgRENFNiBzcGVj aWZpYyBtYWNyb3MsZnVuY3Rpb25zCj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAxMi8yN10gZHJt L2FtZC9kaXNwbGF5OiBkY2VfZG1jdTogYWRkIERDRTYgc3BlY2lmaWMgbWFjcm9zCj4+ID4+ID4+ ID4gPiA+IFtQQVRDSCB2MyAxMy8yN10gZHJtL2FtZC9kaXNwbGF5OiBkY2VfaHdzZXE6IGFkZCBE Q0U2IHNwZWNpZmljIG1hY3JvcyxmdW5jdGlvbnMKPj4gPj4gPj4gPiA+ID4gW1BBVENIIHYzIDE0 LzI3XSBkcm0vYW1kL2Rpc3BsYXk6IGRjZV9pcHA6IGFkZCBEQ0U2IHNwZWNpZmljIG1hY3Jvcyxm dW5jdGlvbnMKPj4gPj4gPj4gPiA+ID4gW1BBVENIIHYzIDE1LzI3XSBkcm0vYW1kL2Rpc3BsYXk6 IGRjZV9saW5rX2VuY29kZXI6IGFkZCBEQ0U2IHNwZWNpZmljIG1hY3JvcyxmdW5jdGlvbnMKPj4g Pj4gPj4gPiA+ID4gW1BBVENIIHYzIDE2LzI3XSBkcm0vYW1kL2Rpc3BsYXk6IGRjZV9tZW1faW5w dXQ6IGFkZCBEQ0U2IHNwZWNpZmljIG1hY3JvcyxmdW5jdGlvbnMKPj4gPj4gPj4gPiA+ID4gW1BB VENIIHYzIDE3LzI3XSBkcm0vYW1kL2Rpc3BsYXk6IGRjZV9vcHA6IGFkZCBEQ0U2IHNwZWNpZmlj IG1hY3JvcyxmdW5jdGlvbnMKPj4gPj4gPj4gPiA+ID4gW1BBVENIIHYzIDE4LzI3XSBkcm0vYW1k L2Rpc3BsYXk6IGRjZV90cmFuc2Zvcm06IGFkZCBEQ0U2IHNwZWNpZmljIG1hY3JvcyxmdW5jdGlv bnMKPj4gPj4gPj4gPiA+ID4gW1BBVENIIHYzIDE5LzI3XSBkcm0vYW1kZ3B1OiBhZGQgc29tZSBy ZXF1aXJlZCBEQ0U2IHJlZ2lzdGVycyAodjcpCj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAyMC8y N10gZHJtL2FtZC9kaXNwbGF5OiBkY2VfdHJhbnNmb3JtOiBEQ0U2IFNjYWxpbmcgSG9yaXpvbnRh bCBGaWx0ZXIgSW5pdAo+PiA+PiA+PiA+ID4gPiBbUEFUQ0ggdjMgMjEvMjddIGRybS9hbWQvZGlz cGxheTogZGNlNjBfaHdfc2VxdWVuY2VyOiBhZGQgRENFNiBtYWNyb3MsZnVuY3Rpb25zCj4+ID4+ ID4+ID4gPiA+IFtQQVRDSCB2MyAyMi8yN10gZHJtL2FtZC9kaXNwbGF5OiBkY2U2MF9od19zZXF1 ZW5jZXI6IGFkZCBEQ0U2IHNwZWNpZmljIC5jdXJzb3JfbG9jawo+PiA+PiA+PiA+ID4gPiBbUEFU Q0ggdjMgMjMvMjddIGRybS9hbWQvZGlzcGxheTogZGNlNjBfdGltaW5nX2dlbmVyYXRvcjogYWRk IERDRTYgc3BlY2lmaWMgZnVuY3Rpb25zCj4+ID4+ID4+ID4gPiA+IFtQQVRDSCB2MyAyNC8yN10g ZHJtL2FtZC9kaXNwbGF5OiBkYy9kY2U2MDogdXNlIERDRTYgaGVhZGVycyAodjYpCj4+ID4+ID4+ ID4gPiA+Cj4+ID4+ID4+ID4gPiA+Cj4+ID4+ID4+ID4gPiA+IENvbW1pdHMgWzI1LzI3XS4uWzI3 LzI3XSBTSSBzdXBwb3J0IGZpbmFsIGVuYWJsZW1lbnRzCj4+ID4+ID4+ID4gPiA+Cj4+ID4+ID4+ ID4gPiA+IFtQQVRDSCB2MyAyNS8yN10gZHJtL2FtZC9kaXNwbGF5OiBjcmVhdGUgcGxhbmUgcm90 YXRpb24gcHJvcGVydHkgZm9yIEJvbmFyaWUgYW5kIGxhdGVyCj4+ID4+ID4+ID4gPiA+IFtQQVRD SCB2MyAyNi8yN10gZHJtL2FtZGdwdTogZW5hYmxlIERDIHN1cHBvcnQgZm9yIFNJIHBhcnRzICh2 MikKPj4gPj4gPj4gPiA+ID4gW1BBVENIIHYzIDI3LzI3XSBkcm0vYW1kL2Rpc3BsYXk6IGVuYWJs ZSBTSSBzdXBwb3J0IGluIHRoZSBLY29uZmlnICh2MikKPj4gPj4gPj4gPiA+ID4KPj4gPj4gPj4g PiA+ID4KPj4gPj4gPj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTWF1cm8gUm9zc2kgPGlzc29yLm9y dWFtQGdtYWlsLmNvbT4KPj4gPj4gPj4gPiA+ID4KPj4gPj4gPj4gPiA+ID4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gPj4gPj4gPiA+ID4gYW1kLWdm eCBtYWlsaW5nIGxpc3QKPj4gPj4gPj4gPiA+ID4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPj4gPj4gPj4gPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9hbWQtZ2Z4Cj4+ID4+ID4+ID4gPgo+PiA+PiA+PiA+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+ID4+ID4+ID4gYW1kLWdmeCBtYWlsaW5n IGxpc3QKPj4gPj4gPj4gPiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiA+PiA+PiA+ IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1h aWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK