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.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,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 732B8C5519F for ; Wed, 18 Nov 2020 22:15:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 90EBC246E1 for ; Wed, 18 Nov 2020 22:15:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="hGi0z4Jr" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726502AbgKRWPj (ORCPT ); Wed, 18 Nov 2020 17:15:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726098AbgKRWPj (ORCPT ); Wed, 18 Nov 2020 17:15:39 -0500 Received: from mail-oi1-x244.google.com (mail-oi1-x244.google.com [IPv6:2607:f8b0:4864:20::244]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17869C0613D4 for ; Wed, 18 Nov 2020 14:15:39 -0800 (PST) Received: by mail-oi1-x244.google.com with SMTP id t16so4000503oie.11 for ; Wed, 18 Nov 2020 14:15:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=GN9ZtLqvPN3P61rjrLUOtMJVIzbOZ2Xaz40VhyPGqmk=; b=hGi0z4Jr7+u8NK75BICl1n+CWRS3wVqHaN9tjkq35EiPiPmyngQZurxMHZzfR3RWly WBvoJXCDs7eHHatUSLLAsnTFdn6fIp3xYskN0gdPhp++F8p1jpmch0yQW5N/8clt40Tt uxDfS0eb8VnWXPk9jbeS2t5VGbkm6cBFYLiak= 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=GN9ZtLqvPN3P61rjrLUOtMJVIzbOZ2Xaz40VhyPGqmk=; b=oNxvmAi/0XcxZlIb+QNkXGyUv+aTK6guiUMSpEQEbXBFkvK1KCTYl76lmgQ3hBbRe0 0nBU/uFBqPA/qxHPjpF+8jaf1FRLEWCLnrk7J2inSaFboz5L3yoxOzea95mwGDLFLnaI l34MVZ/Y9gZZ7QluGRSsc+00PJw4Y/9bC6C+q5avyb9l2dXDIe4ZUxQVkxlVjH69Sw4u 3TS/Pwk32rDekqvBtlNH5rwBRJ27M4wldCYbTj+647QILYVDq8+7ZlSibMZ2jdM1aIJF jGWh26Vl5R+Xu4X0bpN8u+rBlHp9AUymF7ARfFsd+s3cqCTSvo3d9w7Ci07MWZSiyPGY N8cg== X-Gm-Message-State: AOAM532DYYutfcdtf9In4T2kVUSBhIUaH0yjFkRt4H+dk3FBjWj17pG8 AOHpH2tlZii7s7UDIDhlGY/MGHZ0FJ0SPYWCSJK5qw== X-Google-Smtp-Source: ABdhPJxK1ecbSHiRFlGDjudCyBJuhxp+ST5XRMNDeCMoRkeEvKCoak48jQ8NhO0v67V9nsn9PCrOlcucO0wFJEb2BpQ= X-Received: by 2002:aca:4f14:: with SMTP id d20mr960155oib.14.1605737738452; Wed, 18 Nov 2020 14:15:38 -0800 (PST) MIME-Version: 1.0 References: <692820a49ded436591b5fe3a18c68a5e@AcuMS.aculab.com> <0a10da3d-085f-c7a7-0053-dc1e9ea871ed@suse.de> In-Reply-To: From: Daniel Vetter Date: Wed, 18 Nov 2020 23:15:27 +0100 Message-ID: Subject: Re: Linux 5.10-rc4 To: David Laight Cc: Thomas Zimmermann , Linus Torvalds , Linux Kernel Mailing List , Dave Airlie , dri-devel , =?UTF-8?Q?Christian_K=C3=B6nig?= , "Huang, Ray" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 18, 2020 at 11:01 PM David Laight wro= te: > > From: Thomas Zimmermann > > Sent: 18 November 2020 19:37 > > > > Hi > > > > Am 18.11.20 um 19:10 schrieb Linus Torvalds: > > > On Wed, Nov 18, 2020 at 4:12 AM David Laight wrote: > > >> > > >> I've got the 'splat' below during boot. > > >> This is an 8-core C2758 Atom cpu using the on-board/cpu graphics. > > >> User space is Ubuntu 20.04. > > >> > > >> Additionally the X display has all the colours and alignment slightl= y > > >> messed up. > > >> 5.9.0 was ok. > > >> I'm just guessing the two issues are related. > > > > > > Sounds likely. But it would be lovely if you could bisect when > > > exactly the problem(s) started to both verify that, and just to > > > pinpoint the exact change.. > > I don't quite understand what 'git bisect' did. > I was bisecting between v5.9 and v5.10-rc1 but it suddenly started > generating v5.9.0-rc5+ kernels. We queue up patches for -rc1 way before the previous kernel is released, so this is normal. > The identified commit was 13a8f46d803 drm/ttm: move ghost object created. > (retyped - hope it is right). > But the diff to that last 'good' commit is massive. Yeah that's also normal for non-linear history. If you want to double-check, re-test the parent of that commit (which is 2ee476f77ffe ("drm/ttm: add a simple assign mem to bo wrapper")), which should work, and then the bad commit. Also is this the first bad commit for both the splat and the screen corruption issues? > So I don't know if that is anywhere near right. Thomas guessed it could be a ttm change, you hit one, and it looks like it could be the culprit. Now I guess it's up to Dave. Also adding Christian, in case he has an idea. -Daniel > > David > > > > > > > I'm adding Thomas Zimmermann to the cc, because he did that "drm/ast: > > > Program display mode in CRTC's atomic_enable" which looks relevant in > > > that it's right in that call-chain. > > > > > > Did some initialization perhaps get overlooked? > > > > > > And Dave and Daniel and the drm list cc'd as well.. > > > > > > Full splat left quoted below for new people and list. > > > > > > Linus > > > > > >> [ 20.809891] WARNING: CPU: 0 PID: 973 at drivers/gpu/drm/drm_gem_v= ram_helper.c:284 > > drm_gem_vram_offset+0x35/0x40 [drm_vram_helper] > > > > That line is at [1], which comes from > > > > 46642a7d4d80 ("drm/vram-helper: don't use ttm bo->offset v4") > > > > But the patch was merged in 5.9-rc1, so it's probably something else. > > > > We've had a lot of TTM-related changes recently, so my best guess is > > that it's something in TTM with BO initialization. > > > > From some grepping, it looks like we have to call ttm_bo_mem_space() t= o > > fill mm_node (i.e., the pointer that causes the warning). But I cannot > > find where vram helpers do this. Maybe that's a good starting point. > > > > I'm adding the TTM devs to cc. > > > > Best regards > > Thomas > > > > [1] > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/gpu/drm/drm_gem_vram_h > > elper.c?h=3Dv5.10-rc4#n284 > > > > > > >> [ 20.821543] Modules linked in: nls_iso8859_1 dm_multipath scsi_dh= _rdac scsi_dh_emc scsi_dh_alua > > ipmi_ssif intel_powerclamp coretemp kvm_intel kvm joydev input_leds ipm= i_si intel_cstate ipmi_devintf > > ipmi_msghandler mac_hid sch_fq_codel parport_pc ppdev lp parport ip_tab= les x_tables autofs4 btrfs > > blake2b_generic zstd_compress raid10 raid456 async_raid6_recov async_me= mcpy async_pq async_xor > > async_tx libcrc32c xor raid6_pq raid1 raid0 multipath linear ast drm_vr= am_helper drm_kms_helper > > syscopyarea sysfillrect sysimgblt fb_sys_fops cec drm_ttm_helper ttm cr= ct10dif_pclmul crc32_pclmul > > ghash_clmulni_intel gpio_ich drm aesni_intel hid_generic glue_helper cr= ypto_simd igb usbhid cryptd > > ahci i2c_i801 hid libahci i2c_smbus lpc_ich dca i2c_ismt i2c_algo_bit > > >> [ 20.887477] CPU: 0 PID: 973 Comm: gnome-shell Not tainted 5.10.0-= rc4+ #78 > > >> [ 20.894274] Hardware name: Supermicro A1SAi/A1SRi, BIOS 1.1a 08/2= 7/2015 > > >> [ 20.900896] RIP: 0010:drm_gem_vram_offset+0x35/0x40 [drm_vram_hel= per] > > >> [ 20.907342] Code: 00 48 89 e5 85 c0 74 17 48 83 bf 78 01 00 00 00= 74 18 48 8b 87 80 01 00 00 5d > > 48 c1 e0 0c c3 0f 0b 48 c7 c0 ed ff ff ff 5d c3 <0f> 0b 31 c0 5d c3 0f = 1f 44 00 00 0f 1f 44 00 00 55 > > 48 8b 87 18 06 > > >> [ 20.926100] RSP: 0018:ffff9f59811d3a68 EFLAGS: 00010246 > > >> [ 20.931339] RAX: 0000000000000002 RBX: ffff8b46861e20c0 RCX: ffff= ffffc032d600 > > >> [ 20.938479] RDX: ffff8b468f47a000 RSI: ffff8b46861e2000 RDI: ffff= 8b468f9acc00 > > >> [ 20.945622] RBP: ffff9f59811d3a68 R08: 0000000000000040 R09: ffff= 8b46864ce288 > > >> [ 20.952769] R10: 0000000000000000 R11: 0000000000000001 R12: ffff= 8b468f47a000 > > >> [ 20.959915] R13: 0000000000000000 R14: 0000000000000000 R15: ffff= 8b468ad2bf00 > > >> [ 20.967057] FS: 00007f5b37ac5cc0(0000) GS:ffff8b49efc00000(0000)= knlGS:0000000000000000 > > >> [ 20.975149] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > >> [ 20.980904] CR2: 00007f5b3d093f00 CR3: 0000000103438000 CR4: 0000= 0000001006f0 > > >> [ 20.988047] Call Trace: > > >> [ 20.990506] ast_cursor_page_flip+0x22/0x100 [ast] > > >> [ 20.995313] ast_cursor_plane_helper_atomic_update+0x46/0x70 [ast= ] > > >> [ 21.001524] drm_atomic_helper_commit_planes+0xbd/0x220 [drm_kms_= helper] > > >> [ 21.008243] drm_atomic_helper_commit_tail_rpm+0x3a/0x70 [drm_kms= _helper] > > >> [ 21.015062] commit_tail+0x99/0x130 [drm_kms_helper] > > >> [ 21.020050] drm_atomic_helper_commit+0x123/0x150 [drm_kms_helper= ] > > >> [ 21.026269] drm_atomic_commit+0x4a/0x50 [drm] > > >> [ 21.030737] drm_atomic_helper_update_plane+0xe7/0x140 [drm_kms_h= elper] > > >> [ 21.037384] __setplane_atomic+0xcc/0x110 [drm] > > >> [ 21.041953] drm_mode_cursor_universal+0x13e/0x260 [drm] > > >> [ 21.047299] drm_mode_cursor_common+0xef/0x220 [drm] > > >> [ 21.052287] ? alloc_set_pte+0x10d/0x6d0 > > >> [ 21.056244] ? drm_mode_cursor_ioctl+0x60/0x60 [drm] > > >> [ 21.061242] drm_mode_cursor2_ioctl+0xe/0x10 [drm] > > >> [ 21.066067] drm_ioctl_kernel+0xae/0xf0 [drm] > > >> [ 21.070455] drm_ioctl+0x241/0x3f0 [drm] > > >> [ 21.074415] ? drm_mode_cursor_ioctl+0x60/0x60 [drm] > > >> [ 21.079401] __x64_sys_ioctl+0x91/0xc0 > > >> [ 21.083167] do_syscall_64+0x38/0x90 > > >> [ 21.086755] entry_SYSCALL_64_after_hwframe+0x44/0xa9 > > >> [ 21.091813] RIP: 0033:0x7f5b3cf1350b > > >> [ 21.095403] Code: 0f 1e fa 48 8b 05 85 39 0d 00 64 c7 00 26 00 00= 00 48 c7 c0 ff ff ff ff c3 66 > > 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 = 01 c3 48 8b 0d 55 39 0d 00 f7 > > d8 64 89 01 48 > > >> [ 21.114154] RSP: 002b:00007ffef1966588 EFLAGS: 00000246 ORIG_RAX:= 0000000000000010 > > >> [ 21.121730] RAX: ffffffffffffffda RBX: 00007ffef19665c0 RCX: 0000= 7f5b3cf1350b > > >> [ 21.128870] RDX: 00007ffef19665c0 RSI: 00000000c02464bb RDI: 0000= 000000000009 > > >> [ 21.136013] RBP: 00000000c02464bb R08: 0000000000000040 R09: 0000= 000000000004 > > >> [ 21.143157] R10: 0000000000000002 R11: 0000000000000246 R12: 0000= 561ec9d10060 > > >> [ 21.150295] R13: 0000000000000009 R14: 0000561eca2cc9a0 R15: 0000= 000000000040 > > > > -- > > Thomas Zimmermann > > Graphics Driver Developer > > SUSE Software Solutions Germany GmbH > > Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany > > (HRB 36809, AG N=C3=BCrnberg) > > Gesch=C3=A4ftsf=C3=BChrer: Felix Imend=C3=B6rffer > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1= 1PT, UK > Registration No: 1397386 (Wales) --=20 Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch 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=-8.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,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 659ADC63697 for ; Wed, 18 Nov 2020 22:15:42 +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 4ED63246E2 for ; Wed, 18 Nov 2020 22:15:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="hGi0z4Jr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4ED63246E2 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6C3E56E4C5; Wed, 18 Nov 2020 22:15:40 +0000 (UTC) Received: from mail-oi1-x242.google.com (mail-oi1-x242.google.com [IPv6:2607:f8b0:4864:20::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 93BCA6E4C5 for ; Wed, 18 Nov 2020 22:15:39 +0000 (UTC) Received: by mail-oi1-x242.google.com with SMTP id q206so3987542oif.13 for ; Wed, 18 Nov 2020 14:15:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=GN9ZtLqvPN3P61rjrLUOtMJVIzbOZ2Xaz40VhyPGqmk=; b=hGi0z4Jr7+u8NK75BICl1n+CWRS3wVqHaN9tjkq35EiPiPmyngQZurxMHZzfR3RWly WBvoJXCDs7eHHatUSLLAsnTFdn6fIp3xYskN0gdPhp++F8p1jpmch0yQW5N/8clt40Tt uxDfS0eb8VnWXPk9jbeS2t5VGbkm6cBFYLiak= 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=GN9ZtLqvPN3P61rjrLUOtMJVIzbOZ2Xaz40VhyPGqmk=; b=MIi3h1Ye9RaKJXP06ZQI8udeKmutchLDVKkzI3nx471Yfp6kFaWqz/chVUjkpp+mRX pC6aT1ouhYe2N0CCpkbrqEADfyoViZyokGVtWBBTYyJohILuhH1jSaNf4YY7+2WHIhW8 F6ImJ0zynQhGhdFyfxsjFvszavdo2z1GixE9xJdg/Fmw6Zowxi/hwn6UE3w94qnbRVKt og4UinUpBw2POpDAHwzHujF5cknCxobg9lCxEVKSlllXlL9imKUmTJIwcJNfn6KcRUEn 0PNwwdFNnT0/Zs38WkGGuEnPDHyHAQZcfQ8hmDX0gcQSkhcQmrasbbM/JHGFGoOIAE9Q f55g== X-Gm-Message-State: AOAM531wOCq+qhBWgzrsjggk6az8IqPZY28kIqgu6klwQyeV1ZHV6the 7O5QOaaB/2lIw3oKE04p3FMSCexn05LfRYCNMqNFrg== X-Google-Smtp-Source: ABdhPJxK1ecbSHiRFlGDjudCyBJuhxp+ST5XRMNDeCMoRkeEvKCoak48jQ8NhO0v67V9nsn9PCrOlcucO0wFJEb2BpQ= X-Received: by 2002:aca:4f14:: with SMTP id d20mr960155oib.14.1605737738452; Wed, 18 Nov 2020 14:15:38 -0800 (PST) MIME-Version: 1.0 References: <692820a49ded436591b5fe3a18c68a5e@AcuMS.aculab.com> <0a10da3d-085f-c7a7-0053-dc1e9ea871ed@suse.de> In-Reply-To: From: Daniel Vetter Date: Wed, 18 Nov 2020 23:15:27 +0100 Message-ID: Subject: Re: Linux 5.10-rc4 To: David Laight X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linux Kernel Mailing List , dri-devel , "Huang, Ray" , Thomas Zimmermann , Dave Airlie , Linus Torvalds , =?UTF-8?Q?Christian_K=C3=B6nig?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gV2VkLCBOb3YgMTgsIDIwMjAgYXQgMTE6MDEgUE0gRGF2aWQgTGFpZ2h0IDxEYXZpZC5MYWln aHRAYWN1bGFiLmNvbT4gd3JvdGU6Cj4KPiBGcm9tOiBUaG9tYXMgWmltbWVybWFubgo+ID4gU2Vu dDogMTggTm92ZW1iZXIgMjAyMCAxOTozNwo+ID4KPiA+IEhpCj4gPgo+ID4gQW0gMTguMTEuMjAg dW0gMTk6MTAgc2NocmllYiBMaW51cyBUb3J2YWxkczoKPiA+ID4gT24gV2VkLCBOb3YgMTgsIDIw MjAgYXQgNDoxMiBBTSBEYXZpZCBMYWlnaHQgPERhdmlkLkxhaWdodEBhY3VsYWIuY29tPiB3cm90 ZToKPiA+ID4+Cj4gPiA+PiBJJ3ZlIGdvdCB0aGUgJ3NwbGF0JyBiZWxvdyBkdXJpbmcgYm9vdC4K PiA+ID4+IFRoaXMgaXMgYW4gOC1jb3JlIEMyNzU4IEF0b20gY3B1IHVzaW5nIHRoZSBvbi1ib2Fy ZC9jcHUgZ3JhcGhpY3MuCj4gPiA+PiBVc2VyIHNwYWNlIGlzIFVidW50dSAyMC4wNC4KPiA+ID4+ Cj4gPiA+PiBBZGRpdGlvbmFsbHkgdGhlIFggZGlzcGxheSBoYXMgYWxsIHRoZSBjb2xvdXJzIGFu ZCBhbGlnbm1lbnQgc2xpZ2h0bHkKPiA+ID4+IG1lc3NlZCB1cC4KPiA+ID4+IDUuOS4wIHdhcyBv ay4KPiA+ID4+IEknbSBqdXN0IGd1ZXNzaW5nIHRoZSB0d28gaXNzdWVzIGFyZSByZWxhdGVkLgo+ ID4gPgo+ID4gPiBTb3VuZHMgbGlrZWx5LiAgQnV0IGl0IHdvdWxkIGJlIGxvdmVseSBpZiB5b3Ug Y291bGQgYmlzZWN0IHdoZW4KPiA+ID4gZXhhY3RseSB0aGUgcHJvYmxlbShzKSBzdGFydGVkIHRv IGJvdGggdmVyaWZ5IHRoYXQsIGFuZCBqdXN0IHRvCj4gPiA+IHBpbnBvaW50IHRoZSBleGFjdCBj aGFuZ2UuLgo+Cj4gSSBkb24ndCBxdWl0ZSB1bmRlcnN0YW5kIHdoYXQgJ2dpdCBiaXNlY3QnIGRp ZC4KPiBJIHdhcyBiaXNlY3RpbmcgYmV0d2VlbiB2NS45IGFuZCB2NS4xMC1yYzEgYnV0IGl0IHN1 ZGRlbmx5IHN0YXJ0ZWQKPiBnZW5lcmF0aW5nIHY1LjkuMC1yYzUrIGtlcm5lbHMuCgpXZSBxdWV1 ZSB1cCBwYXRjaGVzIGZvciAtcmMxIHdheSBiZWZvcmUgdGhlIHByZXZpb3VzIGtlcm5lbCBpcwpy ZWxlYXNlZCwgc28gdGhpcyBpcyBub3JtYWwuCgo+IFRoZSBpZGVudGlmaWVkIGNvbW1pdCB3YXMg MTNhOGY0NmQ4MDMgZHJtL3R0bTogbW92ZSBnaG9zdCBvYmplY3QgY3JlYXRlZC4KPiAocmV0eXBl ZCAtIGhvcGUgaXQgaXMgcmlnaHQpLgo+IEJ1dCB0aGUgZGlmZiB0byB0aGF0IGxhc3QgJ2dvb2Qn IGNvbW1pdCBpcyBtYXNzaXZlLgoKWWVhaCB0aGF0J3MgYWxzbyBub3JtYWwgZm9yIG5vbi1saW5l YXIgaGlzdG9yeS4gSWYgeW91IHdhbnQgdG8KZG91YmxlLWNoZWNrLCByZS10ZXN0IHRoZSBwYXJl bnQgb2YgdGhhdCBjb21taXQgKHdoaWNoIGlzIDJlZTQ3NmY3N2ZmZQooImRybS90dG06IGFkZCBh IHNpbXBsZSBhc3NpZ24gbWVtIHRvIGJvIHdyYXBwZXIiKSksIHdoaWNoIHNob3VsZAp3b3JrLCBh bmQgdGhlbiB0aGUgYmFkIGNvbW1pdC4KCkFsc28gaXMgdGhpcyB0aGUgZmlyc3QgYmFkIGNvbW1p dCBmb3IgYm90aCB0aGUgc3BsYXQgYW5kIHRoZSBzY3JlZW4KY29ycnVwdGlvbiBpc3N1ZXM/Cgo+ IFNvIEkgZG9uJ3Qga25vdyBpZiB0aGF0IGlzIGFueXdoZXJlIG5lYXIgcmlnaHQuCgpUaG9tYXMg Z3Vlc3NlZCBpdCBjb3VsZCBiZSBhIHR0bSBjaGFuZ2UsIHlvdSBoaXQgb25lLCBhbmQgaXQgbG9v a3MKbGlrZSBpdCBjb3VsZCBiZSB0aGUgY3VscHJpdC4gTm93IEkgZ3Vlc3MgaXQncyB1cCB0byBE YXZlLiBBbHNvIGFkZGluZwpDaHJpc3RpYW4sIGluIGNhc2UgaGUgaGFzIGFuIGlkZWEuCi1EYW5p ZWwKCj4KPiAgICAgICAgIERhdmlkCj4KPiA+ID4KPiA+ID4gSSdtIGFkZGluZyBUaG9tYXMgWmlt bWVybWFubiB0byB0aGUgY2MsIGJlY2F1c2UgaGUgZGlkIHRoYXQgImRybS9hc3Q6Cj4gPiA+IFBy b2dyYW0gZGlzcGxheSBtb2RlIGluIENSVEMncyBhdG9taWNfZW5hYmxlIiB3aGljaCBsb29rcyBy ZWxldmFudCBpbgo+ID4gPiB0aGF0IGl0J3MgcmlnaHQgaW4gdGhhdCBjYWxsLWNoYWluLgo+ID4g Pgo+ID4gPiBEaWQgc29tZSBpbml0aWFsaXphdGlvbiBwZXJoYXBzIGdldCBvdmVybG9va2VkPwo+ ID4gPgo+ID4gPiBBbmQgRGF2ZSBhbmQgRGFuaWVsIGFuZCB0aGUgZHJtIGxpc3QgY2MnZCBhcyB3 ZWxsLi4KPiA+ID4KPiA+ID4gRnVsbCBzcGxhdCBsZWZ0IHF1b3RlZCBiZWxvdyBmb3IgbmV3IHBl b3BsZSBhbmQgbGlzdC4KPiA+ID4KPiA+ID4gICAgICAgICAgICAgIExpbnVzCj4gPiA+Cj4gPiA+ PiBbICAgMjAuODA5ODkxXSBXQVJOSU5HOiBDUFU6IDAgUElEOiA5NzMgYXQgZHJpdmVycy9ncHUv ZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuYzoyODQKPiA+IGRybV9nZW1fdnJhbV9vZmZzZXQrMHgz NS8weDQwIFtkcm1fdnJhbV9oZWxwZXJdCj4gPgo+ID4gVGhhdCBsaW5lIGlzIGF0IFsxXSwgd2hp Y2ggY29tZXMgZnJvbQo+ID4KPiA+ICAgNDY2NDJhN2Q0ZDgwICgiZHJtL3ZyYW0taGVscGVyOiBk b24ndCB1c2UgdHRtIGJvLT5vZmZzZXQgdjQiKQo+ID4KPiA+IEJ1dCB0aGUgcGF0Y2ggd2FzIG1l cmdlZCBpbiA1LjktcmMxLCBzbyBpdCdzIHByb2JhYmx5IHNvbWV0aGluZyBlbHNlLgo+ID4KPiA+ IFdlJ3ZlIGhhZCBhIGxvdCBvZiBUVE0tcmVsYXRlZCBjaGFuZ2VzIHJlY2VudGx5LCBzbyBteSBi ZXN0IGd1ZXNzIGlzCj4gPiB0aGF0IGl0J3Mgc29tZXRoaW5nIGluIFRUTSB3aXRoIEJPIGluaXRp YWxpemF0aW9uLgo+ID4KPiA+ICBGcm9tIHNvbWUgZ3JlcHBpbmcsIGl0IGxvb2tzIGxpa2Ugd2Ug aGF2ZSB0byBjYWxsIHR0bV9ib19tZW1fc3BhY2UoKSB0bwo+ID4gZmlsbCBtbV9ub2RlIChpLmUu LCB0aGUgcG9pbnRlciB0aGF0IGNhdXNlcyB0aGUgd2FybmluZykuIEJ1dCBJIGNhbm5vdAo+ID4g ZmluZCB3aGVyZSB2cmFtIGhlbHBlcnMgZG8gdGhpcy4gTWF5YmUgdGhhdCdzIGEgZ29vZCBzdGFy dGluZyBwb2ludC4KPiA+Cj4gPiBJJ20gYWRkaW5nIHRoZSBUVE0gZGV2cyB0byBjYy4KPiA+Cj4g PiBCZXN0IHJlZ2FyZHMKPiA+IFRob21hcwo+ID4KPiA+IFsxXQo+ID4gaHR0cHM6Ly9naXQua2Vy bmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUv ZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oCj4gPiBlbHBlci5jP2g9djUuMTAtcmM0I24y ODQKPiA+Cj4gPgo+ID4gPj4gWyAgIDIwLjgyMTU0M10gTW9kdWxlcyBsaW5rZWQgaW46IG5sc19p c284ODU5XzEgZG1fbXVsdGlwYXRoIHNjc2lfZGhfcmRhYyBzY3NpX2RoX2VtYyBzY3NpX2RoX2Fs dWEKPiA+IGlwbWlfc3NpZiBpbnRlbF9wb3dlcmNsYW1wIGNvcmV0ZW1wIGt2bV9pbnRlbCBrdm0g am95ZGV2IGlucHV0X2xlZHMgaXBtaV9zaSBpbnRlbF9jc3RhdGUgaXBtaV9kZXZpbnRmCj4gPiBp cG1pX21zZ2hhbmRsZXIgbWFjX2hpZCBzY2hfZnFfY29kZWwgcGFycG9ydF9wYyBwcGRldiBscCBw YXJwb3J0IGlwX3RhYmxlcyB4X3RhYmxlcyBhdXRvZnM0IGJ0cmZzCj4gPiBibGFrZTJiX2dlbmVy aWMgenN0ZF9jb21wcmVzcyByYWlkMTAgcmFpZDQ1NiBhc3luY19yYWlkNl9yZWNvdiBhc3luY19t ZW1jcHkgYXN5bmNfcHEgYXN5bmNfeG9yCj4gPiBhc3luY190eCBsaWJjcmMzMmMgeG9yIHJhaWQ2 X3BxIHJhaWQxIHJhaWQwIG11bHRpcGF0aCBsaW5lYXIgYXN0IGRybV92cmFtX2hlbHBlciBkcm1f a21zX2hlbHBlcgo+ID4gc3lzY29weWFyZWEgc3lzZmlsbHJlY3Qgc3lzaW1nYmx0IGZiX3N5c19m b3BzIGNlYyBkcm1fdHRtX2hlbHBlciB0dG0gY3JjdDEwZGlmX3BjbG11bCBjcmMzMl9wY2xtdWwK PiA+IGdoYXNoX2NsbXVsbmlfaW50ZWwgZ3Bpb19pY2ggZHJtIGFlc25pX2ludGVsIGhpZF9nZW5l cmljIGdsdWVfaGVscGVyIGNyeXB0b19zaW1kIGlnYiB1c2JoaWQgY3J5cHRkCj4gPiBhaGNpIGky Y19pODAxIGhpZCBsaWJhaGNpIGkyY19zbWJ1cyBscGNfaWNoIGRjYSBpMmNfaXNtdCBpMmNfYWxn b19iaXQKPiA+ID4+IFsgICAyMC44ODc0NzddIENQVTogMCBQSUQ6IDk3MyBDb21tOiBnbm9tZS1z aGVsbCBOb3QgdGFpbnRlZCA1LjEwLjAtcmM0KyAjNzgKPiA+ID4+IFsgICAyMC44OTQyNzRdIEhh cmR3YXJlIG5hbWU6IFN1cGVybWljcm8gQTFTQWkvQTFTUmksIEJJT1MgMS4xYSAwOC8yNy8yMDE1 Cj4gPiA+PiBbICAgMjAuOTAwODk2XSBSSVA6IDAwMTA6ZHJtX2dlbV92cmFtX29mZnNldCsweDM1 LzB4NDAgW2RybV92cmFtX2hlbHBlcl0KPiA+ID4+IFsgICAyMC45MDczNDJdIENvZGU6IDAwIDQ4 IDg5IGU1IDg1IGMwIDc0IDE3IDQ4IDgzIGJmIDc4IDAxIDAwIDAwIDAwIDc0IDE4IDQ4IDhiIDg3 IDgwIDAxIDAwIDAwIDVkCj4gPiA0OCBjMSBlMCAwYyBjMyAwZiAwYiA0OCBjNyBjMCBlZCBmZiBm ZiBmZiA1ZCBjMyA8MGY+IDBiIDMxIGMwIDVkIGMzIDBmIDFmIDQ0IDAwIDAwIDBmIDFmIDQ0IDAw IDAwIDU1Cj4gPiA0OCA4YiA4NyAxOCAwNgo+ID4gPj4gWyAgIDIwLjkyNjEwMF0gUlNQOiAwMDE4 OmZmZmY5ZjU5ODExZDNhNjggRUZMQUdTOiAwMDAxMDI0Ngo+ID4gPj4gWyAgIDIwLjkzMTMzOV0g UkFYOiAwMDAwMDAwMDAwMDAwMDAyIFJCWDogZmZmZjhiNDY4NjFlMjBjMCBSQ1g6IGZmZmZmZmZm YzAzMmQ2MDAKPiA+ID4+IFsgICAyMC45Mzg0NzldIFJEWDogZmZmZjhiNDY4ZjQ3YTAwMCBSU0k6 IGZmZmY4YjQ2ODYxZTIwMDAgUkRJOiBmZmZmOGI0NjhmOWFjYzAwCj4gPiA+PiBbICAgMjAuOTQ1 NjIyXSBSQlA6IGZmZmY5ZjU5ODExZDNhNjggUjA4OiAwMDAwMDAwMDAwMDAwMDQwIFIwOTogZmZm ZjhiNDY4NjRjZTI4OAo+ID4gPj4gWyAgIDIwLjk1Mjc2OV0gUjEwOiAwMDAwMDAwMDAwMDAwMDAw IFIxMTogMDAwMDAwMDAwMDAwMDAwMSBSMTI6IGZmZmY4YjQ2OGY0N2EwMDAKPiA+ID4+IFsgICAy MC45NTk5MTVdIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1 OiBmZmZmOGI0NjhhZDJiZjAwCj4gPiA+PiBbICAgMjAuOTY3MDU3XSBGUzogIDAwMDA3ZjViMzdh YzVjYzAoMDAwMCkgR1M6ZmZmZjhiNDllZmMwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAw MDAwCj4gPiA+PiBbICAgMjAuOTc1MTQ5XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1Iw OiAwMDAwMDAwMDgwMDUwMDMzCj4gPiA+PiBbICAgMjAuOTgwOTA0XSBDUjI6IDAwMDA3ZjViM2Qw OTNmMDAgQ1IzOiAwMDAwMDAwMTAzNDM4MDAwIENSNDogMDAwMDAwMDAwMDEwMDZmMAo+ID4gPj4g WyAgIDIwLjk4ODA0N10gQ2FsbCBUcmFjZToKPiA+ID4+IFsgICAyMC45OTA1MDZdICBhc3RfY3Vy c29yX3BhZ2VfZmxpcCsweDIyLzB4MTAwIFthc3RdCj4gPiA+PiBbICAgMjAuOTk1MzEzXSAgYXN0 X2N1cnNvcl9wbGFuZV9oZWxwZXJfYXRvbWljX3VwZGF0ZSsweDQ2LzB4NzAgW2FzdF0KPiA+ID4+ IFsgICAyMS4wMDE1MjRdICBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKzB4YmQvMHgy MjAgW2RybV9rbXNfaGVscGVyXQo+ID4gPj4gWyAgIDIxLjAwODI0M10gIGRybV9hdG9taWNfaGVs cGVyX2NvbW1pdF90YWlsX3JwbSsweDNhLzB4NzAgW2RybV9rbXNfaGVscGVyXQo+ID4gPj4gWyAg IDIxLjAxNTA2Ml0gIGNvbW1pdF90YWlsKzB4OTkvMHgxMzAgW2RybV9rbXNfaGVscGVyXQo+ID4g Pj4gWyAgIDIxLjAyMDA1MF0gIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdCsweDEyMy8weDE1MCBb ZHJtX2ttc19oZWxwZXJdCj4gPiA+PiBbICAgMjEuMDI2MjY5XSAgZHJtX2F0b21pY19jb21taXQr MHg0YS8weDUwIFtkcm1dCj4gPiA+PiBbICAgMjEuMDMwNzM3XSAgZHJtX2F0b21pY19oZWxwZXJf dXBkYXRlX3BsYW5lKzB4ZTcvMHgxNDAgW2RybV9rbXNfaGVscGVyXQo+ID4gPj4gWyAgIDIxLjAz NzM4NF0gIF9fc2V0cGxhbmVfYXRvbWljKzB4Y2MvMHgxMTAgW2RybV0KPiA+ID4+IFsgICAyMS4w NDE5NTNdICBkcm1fbW9kZV9jdXJzb3JfdW5pdmVyc2FsKzB4MTNlLzB4MjYwIFtkcm1dCj4gPiA+ PiBbICAgMjEuMDQ3Mjk5XSAgZHJtX21vZGVfY3Vyc29yX2NvbW1vbisweGVmLzB4MjIwIFtkcm1d Cj4gPiA+PiBbICAgMjEuMDUyMjg3XSAgPyBhbGxvY19zZXRfcHRlKzB4MTBkLzB4NmQwCj4gPiA+ PiBbICAgMjEuMDU2MjQ0XSAgPyBkcm1fbW9kZV9jdXJzb3JfaW9jdGwrMHg2MC8weDYwIFtkcm1d Cj4gPiA+PiBbICAgMjEuMDYxMjQyXSAgZHJtX21vZGVfY3Vyc29yMl9pb2N0bCsweGUvMHgxMCBb ZHJtXQo+ID4gPj4gWyAgIDIxLjA2NjA2N10gIGRybV9pb2N0bF9rZXJuZWwrMHhhZS8weGYwIFtk cm1dCj4gPiA+PiBbICAgMjEuMDcwNDU1XSAgZHJtX2lvY3RsKzB4MjQxLzB4M2YwIFtkcm1dCj4g PiA+PiBbICAgMjEuMDc0NDE1XSAgPyBkcm1fbW9kZV9jdXJzb3JfaW9jdGwrMHg2MC8weDYwIFtk cm1dCj4gPiA+PiBbICAgMjEuMDc5NDAxXSAgX194NjRfc3lzX2lvY3RsKzB4OTEvMHhjMAo+ID4g Pj4gWyAgIDIxLjA4MzE2N10gIGRvX3N5c2NhbGxfNjQrMHgzOC8weDkwCj4gPiA+PiBbICAgMjEu MDg2NzU1XSAgZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQo+ID4gPj4g WyAgIDIxLjA5MTgxM10gUklQOiAwMDMzOjB4N2Y1YjNjZjEzNTBiCj4gPiA+PiBbICAgMjEuMDk1 NDAzXSBDb2RlOiAwZiAxZSBmYSA0OCA4YiAwNSA4NSAzOSAwZCAwMCA2NCBjNyAwMCAyNiAwMCAw MCAwMCA0OCBjNyBjMCBmZiBmZiBmZiBmZiBjMyA2Ngo+ID4gMGYgMWYgNDQgMDAgMDAgZjMgMGYg MWUgZmEgYjggMTAgMDAgMDAgMDAgMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiA3MyAwMSBjMyA0 OCA4YiAwZCA1NSAzOSAwZCAwMCBmNwo+ID4gZDggNjQgODkgMDEgNDgKPiA+ID4+IFsgICAyMS4x MTQxNTRdIFJTUDogMDAyYjowMDAwN2ZmZWYxOTY2NTg4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19S QVg6IDAwMDAwMDAwMDAwMDAwMTAKPiA+ID4+IFsgICAyMS4xMjE3MzBdIFJBWDogZmZmZmZmZmZm ZmZmZmZkYSBSQlg6IDAwMDA3ZmZlZjE5NjY1YzAgUkNYOiAwMDAwN2Y1YjNjZjEzNTBiCj4gPiA+ PiBbICAgMjEuMTI4ODcwXSBSRFg6IDAwMDA3ZmZlZjE5NjY1YzAgUlNJOiAwMDAwMDAwMGMwMjQ2 NGJiIFJESTogMDAwMDAwMDAwMDAwMDAwOQo+ID4gPj4gWyAgIDIxLjEzNjAxM10gUkJQOiAwMDAw MDAwMGMwMjQ2NGJiIFIwODogMDAwMDAwMDAwMDAwMDA0MCBSMDk6IDAwMDAwMDAwMDAwMDAwMDQK PiA+ID4+IFsgICAyMS4xNDMxNTddIFIxMDogMDAwMDAwMDAwMDAwMDAwMiBSMTE6IDAwMDAwMDAw MDAwMDAyNDYgUjEyOiAwMDAwNTYxZWM5ZDEwMDYwCj4gPiA+PiBbICAgMjEuMTUwMjk1XSBSMTM6 IDAwMDAwMDAwMDAwMDAwMDkgUjE0OiAwMDAwNTYxZWNhMmNjOWEwIFIxNTogMDAwMDAwMDAwMDAw MDA0MAo+ID4KPiA+IC0tCj4gPiBUaG9tYXMgWmltbWVybWFubgo+ID4gR3JhcGhpY3MgRHJpdmVy IERldmVsb3Blcgo+ID4gU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJICj4gPiBN YXhmZWxkc3RyLiA1LCA5MDQwOSBOw7xybmJlcmcsIEdlcm1hbnkKPiA+IChIUkIgMzY4MDksIEFH IE7DvHJuYmVyZykKPiA+IEdlc2Now6RmdHNmw7xocmVyOiBGZWxpeCBJbWVuZMO2cmZmZXIKPgo+ IC0KPiBSZWdpc3RlcmVkIEFkZHJlc3MgTGFrZXNpZGUsIEJyYW1sZXkgUm9hZCwgTW91bnQgRmFy bSwgTWlsdG9uIEtleW5lcywgTUsxIDFQVCwgVUsKPiBSZWdpc3RyYXRpb24gTm86IDEzOTczODYg KFdhbGVzKQoKCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29y cG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==