From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.devel Subject: Re: server.el test failures (was: Re: bug#9800: Incomplete truncated file buffers from the /proc filesystem) Date: Fri, 24 Feb 2023 09:48:02 -0800 Message-ID: References: <877h40vb8h.fsf@mail.jurta.org> <4EA4D31B.4050604@cs.ucla.edu> <4EA5E08D.8070903@cs.ucla.edu> <861qmvcglp.fsf@aarsen.me> <98e880a0-d076-cfd9-b39d-50c84fa8975a@gmail.com> <811d85e0-4032-68df-bc0c-1073ff5d1b96@cs.ucla.edu> <5a38c18d-263c-223b-7335-8395a10eb494@gmail.com> <83wn47o5zm.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------x2RaItMb39CRCBqgimHEBewk" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8441"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 24 18:48:44 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pVcBX-0001wI-Ki for ged-emacs-devel@m.gmane-mx.org; Fri, 24 Feb 2023 18:48:43 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVcAy-0005Gc-9B; Fri, 24 Feb 2023 12:48:08 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVcAw-0005GS-Vg for emacs-devel@gnu.org; Fri, 24 Feb 2023 12:48:07 -0500 Original-Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pVcAu-0005WC-DV; Fri, 24 Feb 2023 12:48:06 -0500 Original-Received: by mail-pl1-x633.google.com with SMTP id u14so253754ple.7; Fri, 24 Feb 2023 09:48:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=ZkE4MGK/loln8x+Px5VVqwRIBMfcC7djWvrCfSMPf+U=; b=Okpgm4ZbZQ2M3c/vLyMWPiAt3q6DtpVM/QGMSjzgY8+OOaqQ8UiegWWGjNfnjetSWH i4VR0HRDr6DjjSp7WVycECSeJM/NFLW0ZLzPs24sFfTd4KvMWPggiIC79mjCYq4O+1vf l64TT0ItmbcPFlkaxfL8txdxXvb+jl9Ui1HTqIN+Ix9Ql+0w/biRTiEd4xpKzc2tJkrY 8yD6o+kk//bDFTmNlIMQ6qmNYAr3MSfQ/4uJ3JidmnpvXLd4igf6azuCTJnDAjjWoc7D RDLmQ+Wj17SD99js+5IhcnghXYqviQJTaCEIXXZWCLLPhoHsETwC9F9Ygx1n1TcNuheo WYlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=ZkE4MGK/loln8x+Px5VVqwRIBMfcC7djWvrCfSMPf+U=; b=IebLEJJ8mf5X4QT7XLBXkW+tfX/bFK66jsv7uao0pZiJUKVvT229bao3u53VyhZmYN Su0S1GYuthW1PXtd9qkMwEM6jaGBzoxCkLCl402xjVjz9YqQjoJkdLd9sC9ZqbLjlyD2 y55dqCXHSqFV0fqFEIVSIm0wgy1m2lOSMgUVsTIh877oKZW1oO+7HxabuKWwDQ9wajHH HRnvgxc26t9wo/TOZPl8Q9jw0ntv0N8f/1KZ30U+gSuqJ+wKA3B+cDe0NoS2p/dpyik2 j/PxNZlju4VmG45RVeJUg638Yu+QEvf7PmdZAMYxoPexxMhuoBGWMqo0Ah7FnWODK31B CtDw== X-Gm-Message-State: AO0yUKUAFk+MFZ4fcfG72O7xO1wuKuh3I2qRHU7We+3qdJNSXBone2Zb qG0h4HkwnRPiDR9II0dEfHLkYLcooi0= X-Google-Smtp-Source: AK7set+ekbqb2N4Nkbuv08ItiRpEHLmI4c6dXYLSjtav9MEiAr8XGiIrtxJ9SwVY2uUZM3yLX+BvgQ== X-Received: by 2002:a17:903:1cb:b0:198:fc0a:192b with SMTP id e11-20020a17090301cb00b00198fc0a192bmr19825642plh.64.1677260882384; Fri, 24 Feb 2023 09:48:02 -0800 (PST) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id jo16-20020a170903055000b0019aa4c00ff4sm1470969plb.206.2023.02.24.09.48.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 24 Feb 2023 09:48:01 -0800 (PST) Content-Language: en-US In-Reply-To: <83wn47o5zm.fsf@gnu.org> Received-SPF: pass client-ip=2607:f8b0:4864:20::633; envelope-from=jporterbugs@gmail.com; helo=mail-pl1-x633.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:303751 Archived-At: This is a multi-part message in MIME format. --------------x2RaItMb39CRCBqgimHEBewk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/23/2023 11:52 PM, Eli Zaretskii wrote: >> Date: Thu, 23 Feb 2023 18:20:39 -0800 >> From: Jim Porter >> Cc: emacs-devel@gnu.org >> >> The segfault is in FACE_FROM_ID_OR_NULL, called from >> Finternal_merge_in_global_face. It happens because the face_cache is >> null during these tests (since Emacs is noninteractive). >> >> The attached patch fixes the issue for me, though I'm not totally sure >> it's the *right* fix. Any thoughts? (I'm also not 100% sure this is the >> same issue you're seeing...) > > Please show the C backtrace from the crash, and include the Lisp > backtrace (the "xbacktrace" command in src/.gdbinit). Ok, I ran Emacs (master branch) under GDB with the following arguments: -Q -L ":../test" -l ert -l lisp/server-tests.el --batch --eval '(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))' Attached is the backtrace from 'xbacktrace'. I think this only occurs when starting the Emacs server in a batch-mode Emacs process and then starting a client via "emacsclient -c". I see the segfault when running any of the tests in test/lisp/server-tests.el that create a frame (e.g. 'server-tests/server-start/stop-prompt-with-client'). This also only seems to occur if the first face that 'face-set-after-frame-default' passes to 'internal-merge-in-global-face' is the default face. --------------x2RaItMb39CRCBqgimHEBewk Content-Type: text/plain; charset=UTF-8; name="gdb.txt" Content-Disposition: attachment; filename="gdb.txt" Content-Transfer-Encoding: base64 IzAgIHJhaXNlIChzaWc9c2lnQGVudHJ5PTExKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9yYWlzZS5jOjUwCiMxICAweDAwMDA1NWY4ZDYyODljY2IgaW4gdGVybWluYXRlX2R1 ZV90b19zaWduYWwKICAgIChzaWc9c2lnQGVudHJ5PTExLCBiYWNrdHJhY2VfbGltaXQ9YmFj a3RyYWNlX2xpbWl0QGVudHJ5PTQwKQogICAgYXQgLi4vLi4vc3JjL2VtYWNzLmM6NDY0CiMy ICAweDAwMDA1NWY4ZDYyOGEyMTEgaW4gaGFuZGxlX2ZhdGFsX3NpZ25hbCAoc2lnPXNpZ0Bl bnRyeT0xMSkKICAgIGF0IC4uLy4uL3NyYy9zeXNkZXAuYzoxNzgzCiMzICAweDAwMDA1NWY4 ZDYzZGI5N2QgaW4gZGVsaXZlcl90aHJlYWRfc2lnbmFsCiAgICAoc2lnPXNpZ0BlbnRyeT0x MSwgaGFuZGxlcj0weDU1ZjhkNjI4YTIwMCA8aGFuZGxlX2ZhdGFsX3NpZ25hbD4pCiAgICBh dCAuLi8uLi9zcmMvc3lzZGVwLmM6MTc3NQojNCAgMHgwMDAwNTVmOGQ2M2RiOWZkIGluIGRl bGl2ZXJfZmF0YWxfdGhyZWFkX3NpZ25hbCAoc2lnPTExKQogICAgYXQgLi4vLi4vc3JjL3N5 c2RlcC5jOjE3OTUKIzUgIGhhbmRsZV9zaWdzZWd2IChzaWc9MTEsIHNpZ2luZm89PG9wdGlt aXplZCBvdXQ+LCBhcmc9PG9wdGltaXplZCBvdXQ+KQogICAgYXQgLi4vLi4vc3JjL3N5c2Rl cC5jOjE4ODgKIzYgIDB4MDAwMDdmNjI3OGQ3ZDQyMCBpbiA8c2lnbmFsIGhhbmRsZXIgY2Fs bGVkPiAoKQogICAgYXQgL2xpYi94ODZfNjQtbGludXgtZ251L2xpYnB0aHJlYWQuc28uMAoj NyAgRkFDRV9GUk9NX0lEX09SX05VTEwgKGY9MHg1NWY4ZDg1ZjJmMjgsIGlkPTApIGF0IC4u Ly4uL3NyYy9mcmFtZS5oOjE1MDUKIzggIEZpbnRlcm5hbF9tZXJnZV9pbl9nbG9iYWxfZmFj ZSAoZmFjZT08b3B0aW1pemVkIG91dD4sIGZyYW1lPTB4NTVmOGQ4NWYyZjJkKQogICAgYXQg Li4vLi4vc3JjL3hmYWNlcy5jOjQxODkKIzkgIDB4MDAwMDU1ZjhkNjQ5NDUxNyBpbiBleGVj X2J5dGVfY29kZQogICAgKGZ1bj08b3B0aW1pemVkIG91dD4sIGFyZ3NfdGVtcGxhdGU9PG9w dGltaXplZCBvdXQ+LCBuYXJncz08b3B0aW1pemVkIG91dD4sIGFyZ3M9PG9wdGltaXplZCBv dXQ+KSBhdCAuLi8uLi9zcmMvYnl0ZWNvZGUuYzo4MDkKIzEwIDB4MDAwMDU1ZjhkNjQ0YTBm MCBpbiBGZnVuY2FsbCAobmFyZ3M9MiwgYXJncz0weDdmNjI3NDA0NzdiOCkKICAgIGF0IC4u Ly4uL3NyYy9ldmFsLmM6Mjk5NwojMTEgMHgwMDAwNTVmOGQ2NDRhNWIyIGluIEZhcHBseSAo bmFyZ3M9MiwgYXJncz0weDdmNjI3NDA0NzdiOCkKICAgIGF0IC4uLy4uL3NyYy9ldmFsLmM6 MjYyNQojMTIgMHgwMDAwNTVmOGQ2NDk0NTE3IGluIGV4ZWNfYnl0ZV9jb2RlCiAgICAoZnVu PTxvcHRpbWl6ZWQgb3V0PiwgYXJnc190ZW1wbGF0ZT08b3B0aW1pemVkIG91dD4sIG5hcmdz PTxvcHRpbWl6ZWQgb3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9i eXRlY29kZS5jOjgwOQojMTMgMHgwMDAwNTVmOGQ2NDRhMGYwIGluIEZmdW5jYWxsIChuYXJn cz0zLCBhcmdzPTB4N2ZmZDhkODc1NDcwKQogICAgYXQgLi4vLi4vc3JjL2V2YWwuYzoyOTk3 CiMxNCAweDAwMDA1NWY4ZDY0NGE0MjggaW4gRmFwcGx5CiAgICAobmFyZ3M9bmFyZ3NAZW50 cnk9MiwgYXJncz1hcmdzQGVudHJ5PTB4N2ZmZDhkODc1NTEwKQogICAgYXQgLi4vLi4vc3Jj L2V2YWwuYzoyNjY4CiMxNSAweDAwMDA1NWY4ZDY0NGE2OTAgaW4gYXBwbHkxIChmbj08b3B0 aW1pemVkIG91dD4sIGFyZz08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9zcmMvZXZh bC5jOjI4ODQKIzE2IDB4MDAwMDU1ZjhkNjQ0ODk4YyBpbiBpbnRlcm5hbF9jb25kaXRpb25f Y2FzZV8xCiAgICAoYmZ1bj1iZnVuQGVudHJ5PTB4NTVmOGQ2NDk3M2QwIDxyZWFkX3Byb2Nl c3Nfb3V0cHV0X2NhbGw+LCBhcmc9MHg1NWY4ZDg1ZGQxZjMsIGhhbmRsZXJzPWhhbmRsZXJz QGVudHJ5PTB4MCwgaGZ1bj1oZnVuQGVudHJ5PTB4NTVmOGQ2NDk3MzEwIDxyZWFkX3Byb2Nl c3Nfb3V0cHV0X2Vycm9yX2hhbmRsZXI+KSBhdCAuLi8uLi9zcmMvZXZhbC5jOjE0OTgKIzE3 IDB4MDAwMDU1ZjhkNjQ5YTRkNyBpbiByZWFkX2FuZF9kaXNwb3NlX29mX3Byb2Nlc3Nfb3V0 cHV0CiAgICAoY29kaW5nPTB4NTVmOGQ4NWQxM2QwLCBuYnl0ZXM9MTU2NCwgY2hhcnM9MHg3 ZmZkOGQ4NzU1NzAgIi1lbnYgUFdEPS9ob21lL2ppbS9zcmMvZW1hY3MvYnVpbGQvdGVzdCAt ZW52IE9MRFBXRD0vaG9tZS9qaW0vY29uZmlnL2VtYWNzLmQvdGhlbWUgLWVudiBTU0hfVFRZ PS9kZXYvcHRzLzAgLWVudiBEQlVTX1NFU1NJT05fQlVTX0FERFJFU1M9dW5peDpwYXRoPS9y dW4vdXNlci8xMDAwL2J1cyAtZW52IFZJUlRVQUxFTlZXUkFQUEVSX0hPT0tfRElSPS9oIi4u LiwgcD0weGZmZmZmZmZmZmZmZmZmZmIpIGF0IC4uLy4uL3NyYy9wcm9jZXNzLmM6NjI5NAoj MTggcmVhZF9wcm9jZXNzX291dHB1dAogICAgKHByb2M9cHJvY0BlbnRyeT0weDU1ZjhkODVl Mjg1NSwgY2hhbm5lbD1jaGFubmVsQGVudHJ5PTEwKQogICAgYXQgLi4vLi4vc3JjL3Byb2Nl c3MuYzo2MjA0CiMxOSAweDAwMDA1NWY4ZDY0YTBlMWMgaW4gd2FpdF9yZWFkaW5nX3Byb2Nl c3Nfb3V0cHV0CiAgICAodGltZV9saW1pdD10aW1lX2xpbWl0QGVudHJ5PTAsIG5zZWNzPW5z ZWNzQGVudHJ5PTEwMDAwMDAwMCwgcmVhZF9rYmQ9cmVhZF9rYmRAZW50cnk9MCwgZG9fZGlz cGxheT1kb19kaXNwbGF5QGVudHJ5PWZhbHNlLCB3YWl0X2Zvcl9jZWxsPXdhaXRfZm9yX2Nl bGxAZW50cnk9MHgwLCB3YWl0X3Byb2M9d2FpdF9wcm9jQGVudHJ5PTB4MCwganVzdF93YWl0 X3Byb2M9PG9wdGltaXplZCBvdXQ+KQogICAgYXQgLi4vLi4vc3JjL3Byb2Nlc3MuYzo1ODg4 CiMyMCAweDAwMDA1NWY4ZDYyOTM1ZWIgaW4gRnNsZWVwX2ZvcgogICAgKHNlY29uZHM9PG9w dGltaXplZCBvdXQ+LCBtaWxsaXNlY29uZHM9PG9wdGltaXplZCBvdXQ+KQogICAgYXQgLi4v Li4vc3JjL2xpc3AuaDoxMTY0CiMyMSAweDAwMDA1NWY4ZDY0OTQ1MTcgaW4gZXhlY19ieXRl X2NvZGUKICAgIChmdW49PG9wdGltaXplZCBvdXQ+LCBhcmdzX3RlbXBsYXRlPTxvcHRpbWl6 ZWQgb3V0PiwgbmFyZ3M9PG9wdGltaXplZCBvdXQ+LCBhcmdzPTxvcHRpbWl6ZWQgb3V0Pikg YXQgLi4vLi4vc3JjL2J5dGVjb2RlLmM6ODA5CiMyMiAweDAwMDA1NWY4ZDY0NGYxODEgaW4g YXBwbHlfbGFtYmRhCiAgICAoZnVuPTxvcHRpbWl6ZWQgb3V0PiwgYXJncz08b3B0aW1pemVk IG91dD4sIGNvdW50PWNvdW50QGVudHJ5PS4uLikKICAgIGF0IC4uLy4uL3NyYy9ldmFsLmM6 MzEwNQojMjMgMHgwMDAwNTVmOGQ2NDRkYWM2IGluIGV2YWxfc3ViIChmb3JtPTxvcHRpbWl6 ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9ldmFsLmM6MjU5MAojMjQgMHgwMDAwNTVmOGQ2 NDRlMjJkIGluIEZwcm9nbiAoYm9keT0weDAsIGJvZHlAZW50cnk9MHg1NWY4ZDg1NWEwODMp CiAgICBhdCAuLi8uLi9zcmMvZXZhbC5jOjQzNgojMjUgMHgwMDAwNTVmOGQ2NDRlZmY1IGlu IHByb2dfaWdub3JlIChib2R5PTB4NTVmOGQ4NTVhMDgzKQogICAgYXQgLi4vLi4vc3JjL2V2 YWwuYzo0NDcKIzI2IEZ3aGlsZSAoYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3Ny Yy9ldmFsLmM6MTA0NwojMjcgMHgwMDAwNTVmOGQ2NDRlMDYyIGluIGV2YWxfc3ViIChmb3Jt PTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiMyOCAweDAw MDA1NWY4ZDY0NGUyMmQgaW4gRnByb2duIChib2R5PTB4MCkgYXQgLi4vLi4vc3JjL2V2YWwu Yzo0MzYKIzI5IDB4MDAwMDU1ZjhkNjQ0ZjZmYiBpbiBGbGV0IChhcmdzPTxvcHRpbWl6ZWQg b3V0PikgYXQgLi4vLi4vc3JjL2xpc3AuaDo3NjUKIzMwIDB4MDAwMDU1ZjhkNjQ0ZTA2MiBp biBldmFsX3N1YiAoZm9ybT08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9zcmMvbGlz cC5oOjc2NQojMzEgMHgwMDAwNTVmOGQ2NDRlMjJkIGluIEZwcm9nbiAoYm9keT0weDU1Zjhk ODU1OGU2MykgYXQgLi4vLi4vc3JjL2V2YWwuYzo0MzYKIzMyIDB4MDAwMDU1ZjhkNjQ0ZjZm YiBpbiBGbGV0IChhcmdzPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vc3JjL2xpc3AuaDo3 NjUKIzMzIDB4MDAwMDU1ZjhkNjQ0ZTA2MiBpbiBldmFsX3N1YiAoZm9ybT08b3B0aW1pemVk IG91dD4pCiAgICBhdCAuLi8uLi9zcmMvbGlzcC5oOjc2NQojMzQgMHgwMDAwNTVmOGQ2NDRl MjJkIGluIEZwcm9nbiAoYm9keT0weDApIGF0IC4uLy4uL3NyYy9ldmFsLmM6NDM2CiMzNSAw eDAwMDA1NWY4ZDY0NGY2ZmIgaW4gRmxldCAoYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4u Ly4uL3NyYy9saXNwLmg6NzY1CiMzNiAweDAwMDA1NWY4ZDY0NGUwNjIgaW4gZXZhbF9zdWIg KGZvcm09PG9wdGltaXplZCBvdXQ+KQogICAgYXQgLi4vLi4vc3JjL2xpc3AuaDo3NjUKIzM3 IDB4MDAwMDU1ZjhkNjQ0ZTIyZCBpbiBGcHJvZ24gKGJvZHk9MHgwKSBhdCAuLi8uLi9zcmMv ZXZhbC5jOjQzNgojMzggMHgwMDAwNTVmOGQ2NDRlMDYyIGluIGV2YWxfc3ViIChmb3JtPTxv cHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiMzOSAweDAwMDA1 NWY4ZDY0NGZjNDggaW4gRnVud2luZF9wcm90ZWN0IChhcmdzPTB4NTVmOGQ4NTVlNDYzKQog ICAgYXQgLi4vLi4vc3JjL2xpc3AuaDo3NjUKIzQwIDB4MDAwMDU1ZjhkNjQ0ZTA2MiBpbiBl dmFsX3N1YiAoZm9ybT08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9zcmMvbGlzcC5o Ojc2NQojNDEgMHgwMDAwNTVmOGQ2NDRlMjJkIGluIEZwcm9nbiAoYm9keT0weDApIGF0IC4u Ly4uL3NyYy9ldmFsLmM6NDM2CiM0MiAweDAwMDA1NWY4ZDY0NGY2ZmIgaW4gRmxldCAoYXJn cz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiM0MyAweDAwMDA1 NWY4ZDY0NGUwNjIgaW4gZXZhbF9zdWIgKGZvcm09PG9wdGltaXplZCBvdXQ+KQogICAgYXQg Li4vLi4vc3JjL2xpc3AuaDo3NjUKIzQ0IDB4MDAwMDU1ZjhkNjQ0ZTIyZCBpbiBGcHJvZ24g KGJvZHk9MHgwKSBhdCAuLi8uLi9zcmMvZXZhbC5jOjQzNgojNDUgMHgwMDAwNTVmOGQ2NDRm YWVjIGluIEZsZXRYIChhcmdzPTB4NTVmOGQ4NTY0YmEzKSBhdCAuLi8uLi9zcmMvbGlzcC5o Ojc2NQojNDYgMHgwMDAwNTVmOGQ2NDRlMDYyIGluIGV2YWxfc3ViIChmb3JtPTxvcHRpbWl6 ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiM0NyAweDAwMDA1NWY4ZDY0 NGUyMmQgaW4gRnByb2duIChib2R5PTB4NTVmOGQ4NTYzMTAzKSBhdCAuLi8uLi9zcmMvZXZh bC5jOjQzNgojNDggMHgwMDAwNTVmOGQ2NDRmNmZiIGluIEZsZXQgKGFyZ3M9PG9wdGltaXpl ZCBvdXQ+KSBhdCAuLi8uLi9zcmMvbGlzcC5oOjc2NQojNDkgMHgwMDAwNTVmOGQ2NDRlMDYy IGluIGV2YWxfc3ViIChmb3JtPTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9s aXNwLmg6NzY1CiM1MCAweDAwMDA1NWY4ZDY0NGUyMmQgaW4gRnByb2duIChib2R5PTB4MCkg YXQgLi4vLi4vc3JjL2V2YWwuYzo0MzYKIzUxIDB4MDAwMDU1ZjhkNjQ0ZTU1NSBpbiBmdW5j YWxsX2xhbWJkYQogICAgKGZ1bj0weDU1ZjhkODU3Njc4MywgbmFyZ3M9MCwgYXJnX3ZlY3Rv cj0weDdmNjI3NDA0NzQ2OCkKICAgIGF0IC4uLy4uL3NyYy9ldmFsLmM6MzIzNQojNTIgMHgw MDAwNTVmOGQ2NDk0NjYyIGluIGV4ZWNfYnl0ZV9jb2RlCiAgICAoZnVuPTxvcHRpbWl6ZWQg b3V0PiwgYXJnc190ZW1wbGF0ZT08b3B0aW1pemVkIG91dD4sIG5hcmdzPTxvcHRpbWl6ZWQg b3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9ieXRlY29kZS5jOjgx MQojNTMgMHgwMDAwNTVmOGQ2NDRmMTgxIGluIGFwcGx5X2xhbWJkYQogICAgKGZ1bj08b3B0 aW1pemVkIG91dD4sIGFyZ3M9PG9wdGltaXplZCBvdXQ+LCBjb3VudD1jb3VudEBlbnRyeT0u Li4pCiAgICBhdCAuLi8uLi9zcmMvZXZhbC5jOjMxMDUKIzU0IDB4MDAwMDU1ZjhkNjQ0ZGFj NiBpbiBldmFsX3N1YiAoZm9ybT08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9zcmMv ZXZhbC5jOjI1OTAKIzU1IDB4MDAwMDU1ZjhkNjQ1MDIxNCBpbiBGZXZhbCAoZm9ybT0weDU1 ZjhkODVhNDk4MywgbGV4aWNhbD08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9zcmMv ZXZhbC5jOjIzNjMKIzU2IDB4MDAwMDU1ZjhkNjQ5NDUxNyBpbiBleGVjX2J5dGVfY29kZQog ICAgKGZ1bj08b3B0aW1pemVkIG91dD4sIGFyZ3NfdGVtcGxhdGU9PG9wdGltaXplZCBvdXQ+ LCBuYXJncz08b3B0aW1pemVkIG91dD4sIGFyZ3M9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8u Li9zcmMvYnl0ZWNvZGUuYzo4MDkKIzU3IDB4MDAwMDU1ZjhkNjQ0ZjE4MSBpbiBhcHBseV9s YW1iZGEKICAgIChmdW49PG9wdGltaXplZCBvdXQ+LCBhcmdzPTxvcHRpbWl6ZWQgb3V0Piwg Y291bnQ9Y291bnRAZW50cnk9Li4uKQogICAgYXQgLi4vLi4vc3JjL2V2YWwuYzozMTA1CiM1 OCAweDAwMDA1NWY4ZDY0NGRhYzYgaW4gZXZhbF9zdWIgKGZvcm09PG9wdGltaXplZCBvdXQ+ KQogICAgYXQgLi4vLi4vc3JjL2V2YWwuYzoyNTkwCiM1OSAweDAwMDA1NWY4ZDY0NTAyMTQg aW4gRmV2YWwgKGZvcm09MHg3ZjYyNzRjMTUwMGIsIGxleGljYWw9PG9wdGltaXplZCBvdXQ+ KQogICAgYXQgLi4vLi4vc3JjL2V2YWwuYzoyMzYzCiM2MCAweDAwMDA1NWY4ZDY0NDg4Zjcg aW4gaW50ZXJuYWxfY29uZGl0aW9uX2Nhc2UKICAgIChiZnVuPWJmdW5AZW50cnk9MHg1NWY4 ZDYzYmFlNzAgPHRvcF9sZXZlbF8yPiwgaGFuZGxlcnM9aGFuZGxlcnNAZW50cnk9MHg5MCwg aGZ1bj1oZnVuQGVudHJ5PTB4NTVmOGQ2M2MxZTkwIDxjbWRfZXJyb3I+KSBhdCAuLi8uLi9z cmMvZXZhbC5jOjE0NzQKIzYxIDB4MDAwMDU1ZjhkNjNiY2E0YSBpbiB0b3BfbGV2ZWxfMSAo aWdub3JlPWlnbm9yZUBlbnRyeT0weDApCiAgICBhdCAuLi8uLi9zcmMva2V5Ym9hcmQuYzox MTQxCiM2MiAweDAwMDA1NWY4ZDY0NDg4MzkgaW4gaW50ZXJuYWxfY2F0Y2gKICAgICh0YWc9 dGFnQGVudHJ5PTB4MTA0NzAsIGZ1bmM9ZnVuY0BlbnRyeT0weDU1ZjhkNjNiY2EyMCA8dG9w X2xldmVsXzE+LCBhcmc9YXJnQGVudHJ5PTB4MCkgYXQgLi4vLi4vc3JjL2V2YWwuYzoxMTk3 CiM2MyAweDAwMDA1NWY4ZDYzYmFkYTAgaW4gY29tbWFuZF9sb29wICgpIGF0IC4uLy4uL3Ny Yy9saXNwLmg6MTE2NAojNjQgMHgwMDAwNTVmOGQ2M2MxOWU3IGluIHJlY3Vyc2l2ZV9lZGl0 XzEgKCkgYXQgLi4vLi4vc3JjL2tleWJvYXJkLmM6NzExCiM2NSAweDAwMDA1NWY4ZDYzYzFk OTAgaW4gRnJlY3Vyc2l2ZV9lZGl0ICgpIGF0IC4uLy4uL3NyYy9rZXlib2FyZC5jOjc5NAoj NjYgMHgwMDAwNTVmOGQ2MjkyMmIwIGluIG1haW4gKGFyZ2M9PG9wdGltaXplZCBvdXQ+LCBh cmd2PTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9lbWFjcy5jOjI1MzAKU3Rh cnRpbmcgcHJvZ3JhbTogL2hvbWUvamltL3NyYy9lbWFjcy9idWlsZC9zcmMvZW1hY3MgLVEg LUwgIjouLi90ZXN0IiAtbCBlcnQgLWwgbGlzcC9zZXJ2ZXItdGVzdHMuZWwgLS1iYXRjaCAt LWV2YWwgJyhlcnQtcnVuLXRlc3RzLWJhdGNoLWFuZC1leGl0IChxdW90ZSAobm90IChvciAo dGFnIDp1bnN0YWJsZSkgKHRhZyA6bmF0aXZlY29tcCkpKSkpJwpbVGhyZWFkIGRlYnVnZ2lu ZyB1c2luZyBsaWJ0aHJlYWRfZGIgZW5hYmxlZF0KVXNpbmcgaG9zdCBsaWJ0aHJlYWRfZGIg bGlicmFyeSAiL2xpYi94ODZfNjQtbGludXgtZ251L2xpYnRocmVhZF9kYi5zby4xIi4KW05l dyBUaHJlYWQgMHg3ZmZmZWIxOTY3MDAgKExXUCA2MTI5ODYpXQpbRGV0YWNoaW5nIGFmdGVy IHZmb3JrIGZyb20gY2hpbGQgcHJvY2VzcyA2MTI5ODddCgpUaHJlYWQgMSAiZW1hY3MiIHJl Y2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24gZmF1bHQuCkZpbnRlcm5hbF9t ZXJnZV9pbl9nbG9iYWxfZmFjZSAoZmFjZT08b3B0aW1pemVkIG91dD4sIAogICAgZnJhbWU9 WElMKDB4NTU1NTU2MTc0ZWM1KSkgYXQgLi4vLi4vc3JjL3hmYWNlcy5jOjQxODkKNDE4OQkg ICAgICBzdHJ1Y3QgZmFjZSAqbmV3ZmFjZSwgKm9sZGZhY2UgPSBGQUNFX0ZST01fSURfT1Jf TlVMTCAoZiwgREVGQVVMVF9GQUNFX0lEKTsKVW5kZWZpbmVkIGNvbW1hbmQ6ICJTdGFydGlu ZyIuICBUcnkgImhlbHAiLgojMCAgRmludGVybmFsX21lcmdlX2luX2dsb2JhbF9mYWNlCiAg ICAoZmFjZT08b3B0aW1pemVkIG91dD4sIGZyYW1lPVhJTCgweDU1NTU1NjE3NGVjNSkpCiAg ICBhdCAuLi8uLi9zcmMveGZhY2VzLmM6NDE4OQojMSAgMHgwMDAwNTU1NTU1N2IxNTE3IGlu IGV4ZWNfYnl0ZV9jb2RlCiAgICAoZnVuPTxvcHRpbWl6ZWQgb3V0PiwgYXJnc190ZW1wbGF0 ZT08b3B0aW1pemVkIG91dD4sIG5hcmdzPTxvcHRpbWl6ZWQgb3V0PiwgYXJncz08b3B0aW1p emVkIG91dD4pIGF0IC4uLy4uL3NyYy9ieXRlY29kZS5jOjgwOQojMiAgMHgwMDAwNTU1NTU1 NzY3MGYwIGluIEZmdW5jYWxsIChuYXJncz0yLCBhcmdzPTB4N2ZmZmViMTk3N2I4KQogICAg YXQgLi4vLi4vc3JjL2V2YWwuYzoyOTk3CiMzICAweDAwMDA1NTU1NTU3Njc1YjIgaW4gRmFw cGx5IChuYXJncz0yLCBhcmdzPTB4N2ZmZmViMTk3N2I4KQogICAgYXQgLi4vLi4vc3JjL2V2 YWwuYzoyNjI1CiM0ICAweDAwMDA1NTU1NTU3YjE1MTcgaW4gZXhlY19ieXRlX2NvZGUKICAg IChmdW49PG9wdGltaXplZCBvdXQ+LCBhcmdzX3RlbXBsYXRlPTxvcHRpbWl6ZWQgb3V0Piwg bmFyZ3M9PG9wdGltaXplZCBvdXQ+LCBhcmdzPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4v c3JjL2J5dGVjb2RlLmM6ODA5CiM1ICAweDAwMDA1NTU1NTU3NjcwZjAgaW4gRmZ1bmNhbGwg KG5hcmdzPTMsIGFyZ3M9MHg3ZmZmZmZmZmJjODApCiAgICBhdCAuLi8uLi9zcmMvZXZhbC5j OjI5OTcKIzYgIDB4MDAwMDU1NTU1NTc2NzQyOCBpbiBGYXBwbHkKICAgIChuYXJncz1uYXJn c0BlbnRyeT0yLCBhcmdzPWFyZ3NAZW50cnk9MHg3ZmZmZmZmZmJkMjApCiAgICBhdCAuLi8u Li9zcmMvZXZhbC5jOjI2NjgKIzcgIDB4MDAwMDU1NTU1NTc2NzY5MCBpbiBhcHBseTEgKGZu PTxvcHRpbWl6ZWQgb3V0PiwgYXJnPTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL3Ny Yy9ldmFsLmM6Mjg4NAojOCAgMHgwMDAwNTU1NTU1NzY1OThjIGluIGludGVybmFsX2NvbmRp dGlvbl9jYXNlXzEKICAgIChiZnVuPWJmdW5AZW50cnk9MHg1NTU1NTU3YjQzZDAgPHJlYWRf cHJvY2Vzc19vdXRwdXRfY2FsbD4sIGFyZz1YSUwoMHg1NTU1NTYxNjYzOTMpLCBoYW5kbGVy cz1oYW5kbGVyc0BlbnRyeT1YSUwoMCksIGhmdW49aGZ1bkBlbnRyeT0weDU1NTU1NTdiNDMx MCA8cmVhZF9wcm9jZXNzX291dHB1dF9lcnJvcl9oYW5kbGVyPikgYXQgLi4vLi4vc3JjL2V2 YWwuYzoxNDk4CiM5ICAweDAwMDA1NTU1NTU3Yjc0ZDcgaW4gcmVhZF9hbmRfZGlzcG9zZV9v Zl9wcm9jZXNzX291dHB1dAogICAgKGNvZGluZz0weDU1NTU1NjE1YTNlMCwgbmJ5dGVzPTEz NTEsIGNoYXJzPTB4N2ZmZmZmZmZiZDgwICItZW52IFBXRD0vaG9tZS9qaW0vc3JjL2VtYWNz L2J1aWxkIC1lbnYgQ09MVU1OUz04MCAtZW52IExJTkVTPTc1IC1lbnYgXz0vaG9tZS9qaW0v c3JjL2VtYWNzL2J1aWxkL3NyYy9lbWFjcyAtZW52IExEX0xJQlJBUllfUEFUSD0vaG9tZS9q aW0vbGliIC1lbnYgRURJVE9SPWVtYWNzIC1lbnYgTEVTU09QRU49fCZfL2hvbWUvamltL2Nv bmZpZy9zb3VyYyIuLi4sIHA9MHhmZmZmZmZmZmZmZmZmZmZiKSBhdCAuLi8uLi9zcmMvcHJv Y2Vzcy5jOjYyOTQKIzEwIHJlYWRfcHJvY2Vzc19vdXRwdXQKICAgIChwcm9jPXByb2NAZW50 cnk9WElMKDB4NTU1NTU2MTY5NzI1KSwgY2hhbm5lbD1jaGFubmVsQGVudHJ5PTEwKQogICAg YXQgLi4vLi4vc3JjL3Byb2Nlc3MuYzo2MjA0CiMxMSAweDAwMDA1NTU1NTU3YmRlMWMgaW4g d2FpdF9yZWFkaW5nX3Byb2Nlc3Nfb3V0cHV0CiAgICAodGltZV9saW1pdD10aW1lX2xpbWl0 QGVudHJ5PTAsIG5zZWNzPW5zZWNzQGVudHJ5PTEwMDAwMDAwMCwgcmVhZF9rYmQ9cmVhZF9r YmRAZW50cnk9MCwgZG9fZGlzcGxheT1kb19kaXNwbGF5QGVudHJ5PWZhbHNlLCB3YWl0X2Zv cl9jZWxsPXdhaXRfZm9yX2NlbGxAZW50cnk9WElMKDApLCB3YWl0X3Byb2M9d2FpdF9wcm9j QGVudHJ5PTB4MCwganVzdF93YWl0X3Byb2M9PG9wdGltaXplZCBvdXQ+KQogICAgYXQgLi4v Li4vc3JjL3Byb2Nlc3MuYzo1ODg4CiMxMiAweDAwMDA1NTU1NTU1YjA1ZWIgaW4gRnNsZWVw X2ZvcgogICAgKHNlY29uZHM9PG9wdGltaXplZCBvdXQ+LCBtaWxsaXNlY29uZHM9PG9wdGlt aXplZCBvdXQ+KQogICAgYXQgLi4vLi4vc3JjL2xpc3AuaDoxMTY0CiMxMyAweDAwMDA1NTU1 NTU3YjE1MTcgaW4gZXhlY19ieXRlX2NvZGUKICAgIChmdW49PG9wdGltaXplZCBvdXQ+LCBh cmdzX3RlbXBsYXRlPTxvcHRpbWl6ZWQgb3V0PiwgbmFyZ3M9PG9wdGltaXplZCBvdXQ+LCBh cmdzPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vc3JjL2J5dGVjb2RlLmM6ODA5CiMxNCAw eDAwMDA1NTU1NTU3NmMxODEgaW4gYXBwbHlfbGFtYmRhCiAgICAoZnVuPTxvcHRpbWl6ZWQg b3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4sIGNvdW50PWNvdW50QGVudHJ5PS4uLikKICAg IGF0IC4uLy4uL3NyYy9ldmFsLmM6MzEwNQojMTUgMHgwMDAwNTU1NTU1NzZhYWM2IGluIGV2 YWxfc3ViIChmb3JtPTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9ldmFsLmM6 MjU5MAojMTYgMHgwMDAwNTU1NTU1NzZiMjJkIGluIEZwcm9nbiAoYm9keT1YSUwoMCksIGJv ZHlAZW50cnk9WElMKDB4NTU1NTU2MGRlZTEzKSkKICAgIGF0IC4uLy4uL3NyYy9ldmFsLmM6 NDM2CiMxNyAweDAwMDA1NTU1NTU3NmJmZjUgaW4gcHJvZ19pZ25vcmUgKGJvZHk9WElMKDB4 NTU1NTU2MGRlZTEzKSkKICAgIGF0IC4uLy4uL3NyYy9ldmFsLmM6NDQ3CiMxOCBGd2hpbGUg KGFyZ3M9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9zcmMvZXZhbC5jOjEwNDcKIzE5IDB4 MDAwMDU1NTU1NTc2YjA2MiBpbiBldmFsX3N1YiAoZm9ybT08b3B0aW1pemVkIG91dD4pCiAg ICBhdCAuLi8uLi9zcmMvbGlzcC5oOjc2NQojMjAgMHgwMDAwNTU1NTU1NzZiMjJkIGluIEZw cm9nbiAoYm9keT1YSUwoMCkpIGF0IC4uLy4uL3NyYy9ldmFsLmM6NDM2CiMyMSAweDAwMDA1 NTU1NTU3NmM2ZmIgaW4gRmxldCAoYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3Ny Yy9saXNwLmg6NzY1CiMyMiAweDAwMDA1NTU1NTU3NmIwNjIgaW4gZXZhbF9zdWIgKGZvcm09 PG9wdGltaXplZCBvdXQ+KQogICAgYXQgLi4vLi4vc3JjL2xpc3AuaDo3NjUKIzIzIDB4MDAw MDU1NTU1NTc2YjIyZCBpbiBGcHJvZ24gKGJvZHk9WElMKDB4NTU1NTU2MGRkNDEzKSkKICAg IGF0IC4uLy4uL3NyYy9ldmFsLmM6NDM2CiMyNCAweDAwMDA1NTU1NTU3NmM2ZmIgaW4gRmxl dCAoYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiMyNSAw eDAwMDA1NTU1NTU3NmIwNjIgaW4gZXZhbF9zdWIgKGZvcm09PG9wdGltaXplZCBvdXQ+KQog ICAgYXQgLi4vLi4vc3JjL2xpc3AuaDo3NjUKIzI2IDB4MDAwMDU1NTU1NTc2YjIyZCBpbiBG cHJvZ24gKGJvZHk9WElMKDApKSBhdCAuLi8uLi9zcmMvZXZhbC5jOjQzNgojMjcgMHgwMDAw NTU1NTU1NzZjNmZiIGluIEZsZXQgKGFyZ3M9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9z cmMvbGlzcC5oOjc2NQojMjggMHgwMDAwNTU1NTU1NzZiMDYyIGluIGV2YWxfc3ViIChmb3Jt PTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiMyOSAweDAw MDA1NTU1NTU3NmIyMmQgaW4gRnByb2duIChib2R5PVhJTCgwKSkgYXQgLi4vLi4vc3JjL2V2 YWwuYzo0MzYKIzMwIDB4MDAwMDU1NTU1NTc2YjA2MiBpbiBldmFsX3N1YiAoZm9ybT08b3B0 aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9zcmMvbGlzcC5oOjc2NQojMzEgMHgwMDAwNTU1 NTU1NzZjYzQ4IGluIEZ1bndpbmRfcHJvdGVjdCAoYXJncz1YSUwoMHg1NTU1NTYwZTM5ZjMp KQogICAgYXQgLi4vLi4vc3JjL2xpc3AuaDo3NjUKIzMyIDB4MDAwMDU1NTU1NTc2YjA2MiBp biBldmFsX3N1YiAoZm9ybT08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9zcmMvbGlz cC5oOjc2NQojMzMgMHgwMDAwNTU1NTU1NzZiMjJkIGluIEZwcm9nbiAoYm9keT1YSUwoMCkp IGF0IC4uLy4uL3NyYy9ldmFsLmM6NDM2CiMzNCAweDAwMDA1NTU1NTU3NmM2ZmIgaW4gRmxl dCAoYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiMzNSAw eDAwMDA1NTU1NTU3NmIwNjIgaW4gZXZhbF9zdWIgKGZvcm09PG9wdGltaXplZCBvdXQ+KSBh dCAuLi8uLi9zcmMvbGlzcC5oOjc2NQojMzYgMHgwMDAwNTU1NTU1NzZiMjJkIGluIEZwcm9n biAoYm9keT1YSUwoMCkpIGF0IC4uLy4uL3NyYy9ldmFsLmM6NDM2CiMzNyAweDAwMDA1NTU1 NTU3NmNhZWMgaW4gRmxldFggKGFyZ3M9WElMKDB4NTU1NTU2MGU5OTUzKSkgYXQgLi4vLi4v c3JjL2xpc3AuaDo3NjUKIzM4IDB4MDAwMDU1NTU1NTc2YjA2MiBpbiBldmFsX3N1YiAoZm9y bT08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiMzOSAweDAwMDA1 NTU1NTU3NmIyMmQgaW4gRnByb2duIChib2R5PVhJTCgweDU1NTU1NjBlODY5MykpIGF0IC4u Ly4uL3NyYy9ldmFsLmM6NDM2CiM0MCAweDAwMDA1NTU1NTU3NmM2ZmIgaW4gRmxldCAoYXJn cz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9saXNwLmg6NzY1CiM0MSAweDAwMDA1 NTU1NTU3NmIwNjIgaW4gZXZhbF9zdWIgKGZvcm09PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8u Li9zcmMvbGlzcC5oOjc2NQojNDIgMHgwMDAwNTU1NTU1NzZiMjJkIGluIEZwcm9nbiAoYm9k eT1YSUwoMCkpIGF0IC4uLy4uL3NyYy9ldmFsLmM6NDM2CiM0MyAweDAwMDA1NTU1NTU3NmI1 NTUgaW4gZnVuY2FsbF9sYW1iZGEgKGZ1bj1YSUwoMHg1NTU1NTYwZmI1MzMpLCBuYXJncz0w LCBhcmdfdmVjdG9yPTB4N2ZmZmViMTk3NDY4KSBhdCAuLi8uLi9zcmMvZXZhbC5jOjMyMzUK IzQ0IDB4MDAwMDU1NTU1NTdiMTY2MiBpbiBleGVjX2J5dGVfY29kZSAoZnVuPTxvcHRpbWl6 ZWQgb3V0PiwgYXJnc190ZW1wbGF0ZT08b3B0aW1pemVkIG91dD4sIG5hcmdzPTxvcHRpbWl6 ZWQgb3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9ieXRlY29kZS5j OjgxMQojNDUgMHgwMDAwNTU1NTU1NzZjMTgxIGluIGFwcGx5X2xhbWJkYSAoZnVuPTxvcHRp bWl6ZWQgb3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4sIGNvdW50PWNvdW50QGVudHJ5PS4u LikgYXQgLi4vLi4vc3JjL2V2YWwuYzozMTA1CiM0NiAweDAwMDA1NTU1NTU3NmFhYzYgaW4g ZXZhbF9zdWIgKGZvcm09PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9zcmMvZXZhbC5jOjI1 OTAKIzQ3IDB4MDAwMDU1NTU1NTc2ZDIxNCBpbiBGZXZhbCAoZm9ybT1YSUwoMHg1NTU1NTYx MjlmMTMpLCBsZXhpY2FsPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vc3JjL2V2YWwuYzoy MzYzCiM0OCAweDAwMDA1NTU1NTU3YjE1MTcgaW4gZXhlY19ieXRlX2NvZGUgKGZ1bj08b3B0 aW1pemVkIG91dD4sIGFyZ3NfdGVtcGxhdGU9PG9wdGltaXplZCBvdXQ+LCBuYXJncz08b3B0 aW1pemVkIG91dD4sIGFyZ3M9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9zcmMvYnl0ZWNv ZGUuYzo4MDkKIzQ5IDB4MDAwMDU1NTU1NTc2YzE4MSBpbiBhcHBseV9sYW1iZGEgKGZ1bj08 b3B0aW1pemVkIG91dD4sIGFyZ3M9PG9wdGltaXplZCBvdXQ+LCBjb3VudD1jb3VudEBlbnRy eT0uLi4pIGF0IC4uLy4uL3NyYy9ldmFsLmM6MzEwNQojNTAgMHgwMDAwNTU1NTU1NzZhYWM2 IGluIGV2YWxfc3ViIChmb3JtPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vc3JjL2V2YWwu YzoyNTkwCiM1MSAweDAwMDA1NTU1NTU3NmQyMTQgaW4gRmV2YWwgKGZvcm09WElMKDB4N2Zm ZmVjMmQ1MDBiKSwgbGV4aWNhbD08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL3NyYy9ldmFs LmM6MjM2MwojNTIgMHgwMDAwNTU1NTU1NzY1OGY3IGluIGludGVybmFsX2NvbmRpdGlvbl9j YXNlIChiZnVuPWJmdW5AZW50cnk9MHg1NTU1NTU2ZDdlNzAgPHRvcF9sZXZlbF8yPiwgaGFu ZGxlcnM9aGFuZGxlcnNAZW50cnk9WElMKDB4OTApLCBoZnVuPWhmdW5AZW50cnk9MHg1NTU1 NTU2ZGVlOTAgPGNtZF9lcnJvcj4pIGF0IC4uLy4uL3NyYy9ldmFsLmM6MTQ3NAojNTMgMHgw MDAwNTU1NTU1NmQ5YTRhIGluIHRvcF9sZXZlbF8xIChpZ25vcmU9aWdub3JlQGVudHJ5PVhJ TCgwKSkgYXQgLi4vLi4vc3JjL2tleWJvYXJkLmM6MTE0MQojNTQgMHgwMDAwNTU1NTU1NzY1 ODM5IGluIGludGVybmFsX2NhdGNoICh0YWc9dGFnQGVudHJ5PVhJTCgweDEwNDcwKSwgZnVu Yz1mdW5jQGVudHJ5PTB4NTU1NTU1NmQ5YTIwIDx0b3BfbGV2ZWxfMT4sIGFyZz1hcmdAZW50 cnk9WElMKDApKSBhdCAuLi8uLi9zcmMvZXZhbC5jOjExOTcKIzU1IDB4MDAwMDU1NTU1NTZk N2RhMCBpbiBjb21tYW5kX2xvb3AgKCkgYXQgLi4vLi4vc3JjL2xpc3AuaDoxMTY0CiM1NiAw eDAwMDA1NTU1NTU2ZGU5ZTcgaW4gcmVjdXJzaXZlX2VkaXRfMSAoKSBhdCAuLi8uLi9zcmMv a2V5Ym9hcmQuYzo3MTEKIzU3IDB4MDAwMDU1NTU1NTZkZWQ5MCBpbiBGcmVjdXJzaXZlX2Vk aXQgKCkgYXQgLi4vLi4vc3JjL2tleWJvYXJkLmM6Nzk0CiM1OCAweDAwMDA1NTU1NTU1YWYy YjAgaW4gbWFpbiAoYXJnYz08b3B0aW1pemVkIG91dD4sIGFyZ3Y9PG9wdGltaXplZCBvdXQ+ KSBhdCAuLi8uLi9zcmMvZW1hY3MuYzoyNTMwCgpMaXNwIEJhY2t0cmFjZToKImludGVybmFs LW1lcmdlLWluLWdsb2JhbC1mYWNlIiAoMHhlYjE5NzhmOCkKImZhY2Utc2V0LWFmdGVyLWZy YW1lLWRlZmF1bHQiICgweGViMTk3ODk4KQoidHR5LWNyZWF0ZS1mcmFtZS13aXRoLWZhY2Vz IiAoMHhlYjE5Nzg0MCkKMHhlYmVmOTc2MCBQVkVDX0NPTVBJTEVECiJhcHBseSIgKDB4ZWIx OTc3YjgpCiJmcmFtZS1jcmVhdGlvbi1mdW5jdGlvbiIgKDB4ZWIxOTc3NTgpCiJtYWtlLWZy YW1lIiAoMHhlYjE5NzZkOCkKInNlcnZlci0tY3JlYXRlLWZyYW1lIiAoMHhlYjE5NzY1OCkK InNlcnZlci1jcmVhdGUtdHR5LWZyYW1lIiAoMHhlYjE5NzViOCkKInNlcnZlci1wcm9jZXNz LWZpbHRlciIgKDB4ZmZmZmJjODgpCiJzbGVlcC1mb3IiICgweGViMTk3NGQ4KQoic2l0LWZv ciIgKDB4ZmZmZmQzOTApCiJ3aGlsZSIgKDB4ZmZmZmQ1MzgpCiJsZXQiICgweGZmZmZkNmE4 KQoibGV0IiAoMHhmZmZmZDgxOCkKImxldCIgKDB4ZmZmZmQ5OTgpCiJwcm9nbiIgKDB4ZmZm ZmRhNzgpCiJ1bndpbmQtcHJvdGVjdCIgKDB4ZmZmZmRiNTgpCiJsZXQiICgweGZmZmZkY2M4 KQoibGV0KiIgKDB4ZmZmZmRlMTgpCiJsZXQiICgweGZmZmZkZjg4KQoweDU2MGZiNTQwIExp c3AgdHlwZSAzCiJlcnQtLXJ1bi10ZXN0LWludGVybmFsIiAoMHhlYjE5NzNmOCkKImVydC1y dW4tdGVzdCIgKDB4ZWIxOTczODgpCiJlcnQtcnVuLW9yLXJlcnVuLXRlc3QiICgweGViMTk3 MzE4KQoiZXJ0LXJ1bi10ZXN0cyIgKDB4ZWIxOTcyOTApCiJlcnQtcnVuLXRlc3RzLWJhdGNo IiAoMHhlYjE5NzIzOCkKImVydC1ydW4tdGVzdHMtYmF0Y2gtYW5kLWV4aXQiICgweGZmZmZl MTUwKQoiZXZhbCIgKDB4ZWIxOTcxYzApCiJjb21tYW5kLWxpbmUtMSIgKDB4ZWIxOTcwYjgp CiJjb21tYW5kLWxpbmUiICgweGViMTk3MDQwKQoibm9ybWFsLXRvcC1sZXZlbCIgKDB4ZmZm ZmUzNTApCg== --------------x2RaItMb39CRCBqgimHEBewk--