From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Elias =?UTF-8?Q?M=C3=A5rtenson?= Newsgroups: gmane.emacs.bugs Subject: bug#25172: 26.0.50; Concurrency feature, sit-for doesn't work (crashing and unexpected behaviour) Date: Wed, 14 Dec 2016 11:02:43 +0800 Message-ID: References: <838trme4jr.fsf@gnu.org> <838trlcals.fsf@gnu.org> <83vauobiou.fsf@gnu.org> <83fulrbxsd.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=94eb2c0656941af94a054395922b X-Trace: blaine.gmane.org 1481684599 24513 195.159.176.226 (14 Dec 2016 03:03:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 14 Dec 2016 03:03:19 +0000 (UTC) Cc: 25172@debbugs.gnu.org, =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Dec 14 04:03:13 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGzqa-0005Im-H8 for geb-bug-gnu-emacs@m.gmane.org; Wed, 14 Dec 2016 04:03:13 +0100 Original-Received: from localhost ([::1]:45207 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGzqe-0001lq-Su for geb-bug-gnu-emacs@m.gmane.org; Tue, 13 Dec 2016 22:03:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58510) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGzqU-0001S5-N4 for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2016 22:03:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGzqQ-000802-Kb for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2016 22:03:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:54086) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cGzqQ-0007zv-Fj for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2016 22:03:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cGzqQ-0008AC-8F for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2016 22:03:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Elias =?UTF-8?Q?M=C3=A5rtenson?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Dec 2016 03:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25172 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25172-submit@debbugs.gnu.org id=B25172.148168457431365 (code B ref 25172); Wed, 14 Dec 2016 03:03:02 +0000 Original-Received: (at 25172) by debbugs.gnu.org; 14 Dec 2016 03:02:54 +0000 Original-Received: from localhost ([127.0.0.1]:41252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGzqG-00089o-VT for submit@debbugs.gnu.org; Tue, 13 Dec 2016 22:02:54 -0500 Original-Received: from mail-qk0-f169.google.com ([209.85.220.169]:35269) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGzqD-00089X-Pr for 25172@debbugs.gnu.org; Tue, 13 Dec 2016 22:02:51 -0500 Original-Received: by mail-qk0-f169.google.com with SMTP id n204so6522932qke.2 for <25172@debbugs.gnu.org>; Tue, 13 Dec 2016 19:02:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=QBif3KuDKF6503ASrfKvSoKUvXu9gJ2yQ5LDMXiGLnc=; b=YlXkRwsEKyryuZtga9F+grWVi7nTMslhvOAo2tLgDhSzsD6L7xfyOWRDcUOKFoEgtE xk8qQRFuynPuf4nfnkVmT5G9JRQIlps3oUYA4wx3+HmtnVp4DAPipl8B9LkbhhWpSZ7H 0NyDsfuwEu/PcVxMY7sWTAGoLm+M50apg0LEv9kZRVWZYyjM+rm/f4cPNsACa0ICbrdv uvQ9e5HN72155hdIHgBDIHgbcKu1VweqJlV3203eweg1oDRcVG5BrJTJmaaGctYyiwnQ SFMmxiBn/PgJD1d8EsIFOts1Zw07KNyehJWQkeDl2dcmNCeG2R4Lsbtn5SJi1+k1yDgR Juvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=QBif3KuDKF6503ASrfKvSoKUvXu9gJ2yQ5LDMXiGLnc=; b=JGL8pZYism/K3W6aZovanpjJO7/uvawK1zXxeca2cZGC5XmmQ8KfUDT2IO76UKelmN R6ldOP8Ok49wFflAV/gpgS4C/f0kIBIWJ2GaxkI4zURlXRP7a0+t6MaEDcR2RO8V+232 MzNAAKInjrw9CfhHyzedR7vsr35TvIgpq0GbFyuGWXoVXCojgg4OH+SC7awUitB6QWvP jGyAhLlOeOzPlOHdNLBN5GdEcU8rajoRC6bXrkILw+LXftHXAjd+IN4yRi96+kqBE1oj tuEMipYi8PA1qUB4hZdd/9YWXS9nQyTvFxzfqXpvj933CCwhK8W/wftU8U0ZMImEn/5l B31Q== X-Gm-Message-State: AKaTC016lW4PxkwcUr3sycYET8KeaRitExc/DTGgq8cDAsNkj5GIaLtf1kPL+zoA496oW7ccrD66/Z0Oh4pUuA== X-Received: by 10.55.176.135 with SMTP id z129mr97799512qke.52.1481684563980; Tue, 13 Dec 2016 19:02:43 -0800 (PST) Original-Received: by 10.55.110.5 with HTTP; Tue, 13 Dec 2016 19:02:43 -0800 (PST) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:127020 Archived-At: --94eb2c0656941af94a054395922b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable This is the second test case. In this case, Emacs didn't crash when I ran the test case and everything seemed to be working properly. I then ran the test case several times in quick succession to get a lot more threads and eventually, after I had tried to create 100 more threads and running out of resources (I got an error suggesting that was the case) and I was about to exit Emacs, it crashed. Here is the backtrace from that session: PID: 30950 (emacs) UID: 50067 (emartenson) GID: 50067 (emartenson) Signal: 6 (ABRT) Timestamp: Wed 2016-12-14 10:56:06 SGT (6min ago) Command Line: dist/bin/emacs -Q Executable: /home/emartenson/src/emacs/dist/bin/emacs-26.0.50 Control Group: /system.slice/system-getty.slice/getty@tty1.service Unit: getty@tty1.service Slice: system-getty.slice Boot ID: 45a62f2ad9804a0b81fed25ad8faffab Machine ID: 50467f3a69eb4dbea19c8a2972949839 Hostname: em-desktop Storage: /var/lib/systemd/coredump/core.emacs.50067.45a62f2ad9804a0b81fed25ad 8faffab.30950.1481684166000000000000.lz4 Message: Process 30950 (emacs) of user 50067 dumped core. Stack trace of thread 30950: #0 0x00007fef6f9ddf5f raise (libpthread.so.0) #1 0x0000000000553ac0 terminate_due_to_signal (emacs-26.0.50) #2 0x0000000000578227 handle_fatal_signal (emacs-26.0.50) #3 0x00000000005781f8 deliver_thread_signal (emacs-26.0.50) #4 0x000000000057825e deliver_fatal_thread_signal (emacs-26.0.50) #5 0x00007fef6f9de080 __restore_rt (libpthread.so.0) #6 0x00007fef6f23004f raise (libc.so.6) #7 0x00007fef6f23147a abort (libc.so.6) #8 0x00007fef6f228ea7 __assert_fail_base (libc.so.6) #9 0x00007fef6f228f52 __assert_fail (libc.so.6) #10 0x00007fef74262c4a n/a (libX11.so.6) #11 0x00007fef74262cfb n/a (libX11.so.6) #12 0x00007fef74262fed _XEventsQueued (libX11.so.6) #13 0x00007fef74254cb7 XPending (libX11.so.6) #14 0x00007fef760c2cde n/a (libgdk-3.so.0) #15 0x00007fef749cec89 g_main_context_prepare (libglib-2.0.so.0) #16 0x00007fef749cf6ab n/a (libglib-2.0.so.0) #17 0x00007fef749cf847 g_main_context_pending (libglib-2.0.so.0) #18 0x00007fef7657ecad gtk_events_pending (libgtk-3.so.0) #19 0x000000000051fc12 XTread_socket (emacs-26.0.50) #20 0x0000000000563d58 gobble_input (emacs-26.0.50) #21 0x00000000005641f1 handle_async_input (emacs-26.0.50) #22 0x0000000000564210 process_pending_signals (emacs-26.0.50) #23 0x00000000005d1812 Fmake_list (emacs-26.0.50) #24 0x00000000005fefa5 concat (emacs-26.0.50) #25 0x00000000005fe9a6 Fcopy_sequence (emacs-26.0.50) #26 0x000000000055f400 timer_check (emacs-26.0.50) #27 0x000000000055d258 readable_events (emacs-26.0.50) #28 0x0000000000563ba1 get_input_pending (emacs-26.0.50) #29 0x0000000000569d9b detect_input_pending_run_timers (emacs-26.0.5 0) #30 0x000000000064dde6 wait_reading_process_output (emacs-26.0.50) #31 0x000000000042516e sit_for (emacs-26.0.50) #32 0x000000000055baae read_char (emacs-26.0.50) #33 0x000000000056857a read_key_sequence (emacs-26.0.50) #34 0x000000000055879f command_loop_1 (emacs-26.0.50) #35 0x00000000005f628a internal_condition_case (emacs-26.0.50) #36 0x0000000000558098 command_loop_2 (emacs-26.0.50) #37 0x00000000005f5b57 internal_catch (emacs-26.0.50) #38 0x000000000055803a command_loop (emacs-26.0.50) #39 0x0000000000557756 recursive_edit_1 (emacs-26.0.50) #40 0x00000000005578d2 Frecursive_edit (emacs-26.0.50) #41 0x00000000005556cd main (emacs-26.0.50) #42 0x00007fef6f21d291 __libc_start_main (libc.so.6) #43 0x000000000041846a _start (emacs-26.0.50) Stack trace of thread 30952: #0 0x00007fef6f2dc48d poll (libc.so.6) #1 0x00007fef749cf786 n/a (libglib-2.0.so.0) #2 0x00007fef749cfb12 g_main_loop_run (libglib-2.0.so.0) #3 0x00007fef74fb5316 n/a (libgio-2.0.so.0) #4 0x00007fef749f70d5 n/a (libglib-2.0.so.0) #5 0x00007fef6f9d4454 start_thread (libpthread.so.0) #6 0x00007fef6f2e57df __clone (libc.so.6) Stack trace of thread 30951: #0 0x00007fef6f2dc48d poll (libc.so.6) #1 0x00007fef749cf786 n/a (libglib-2.0.so.0) #2 0x00007fef749cf89c g_main_context_iteration (libglib-2.0.so.0) #3 0x00007fef749cf8e1 n/a (libglib-2.0.so.0) #4 0x00007fef749f70d5 n/a (libglib-2.0.so.0) #5 0x00007fef6f9d4454 start_thread (libpthread.so.0) #6 0x00007fef6f2e57df __clone (libc.so.6) Stack trace of thread 30953: #0 0x00007fef6f2dc48d poll (libc.so.6) #1 0x00007fef749cf786 n/a (libglib-2.0.so.0) #2 0x00007fef749cf89c g_main_context_iteration (libglib-2.0.so.0) #3 0x00007fef65f434bd n/a (libdconfsettings.so) #4 0x00007fef749f70d5 n/a (libglib-2.0.so.0) #5 0x00007fef6f9d4454 start_thread (libpthread.so.0) #6 0x00007fef6f2e57df __clone (libc.so.6) GNU gdb (GDB) 7.12 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/emartenson/src/emacs/dist/bin/emacs-26.0.50...done. warning: core file may not match specified executable file. [New LWP 30950] [New LWP 30952] [New LWP 30951] [New LWP 30953] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Core was generated by `dist/bin/emacs -Q'. Program terminated with signal SIGABRT, Aborted. #0 0x00007fef6f9ddf5f in raise () from /usr/lib/libpthread.so.0 [Current thread is 1 (Thread 0x7fef778cba00 (LWP 30950))] (gdb) bt full #0 0x00007fef6f9ddf5f in raise () at /usr/lib/libpthread.so.0 #1 0x0000000000553ac0 in terminate_due_to_signal (sig=3D6, backtrace_limit=3D40) at emacs.c:396 #2 0x0000000000578227 in handle_fatal_signal (sig=3D6) at sysdep.c:1685 #3 0x00000000005781f8 in deliver_thread_signal (sig=3D6, handler=3D0x57820= d ) at sysdep.c:1659 old_errno =3D 11 #4 0x000000000057825e in deliver_fatal_thread_signal (sig=3D6) at sysdep.c:1697 #5 0x00007fef6f9de080 in () at /usr/lib/libpthread.so.0 #6 0x00007fef6f23004f in raise () at /usr/lib/libc.so.6 #7 0x00007fef6f23147a in abort () at /usr/lib/libc.so.6 #8 0x00007fef6f228ea7 in __assert_fail_base () at /usr/lib/libc.so.6 #9 0x00007fef6f228f52 in () at /usr/lib/libc.so.6 #10 0x00007fef74262c4a in () at /usr/lib/libX11.so.6 #11 0x00007fef74262cfb in () at /usr/lib/libX11.so.6 #12 0x00007fef74262fed in _XEventsQueued () at /usr/lib/libX11.so.6 #13 0x00007fef74254cb7 in XPending () at /usr/lib/libX11.so.6 #14 0x00007fef760c2cde in () at /usr/lib/libgdk-3.so.0 #15 0x00007fef749cec89 in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0 #16 0x00007fef749cf6ab in () at /usr/lib/libglib-2.0.so.0 #17 0x00007fef749cf847 in g_main_context_pending () at /usr/lib/libglib-2.0.so.0 #18 0x00007fef7657ecad in gtk_events_pending () at /usr/lib/libgtk-3.so.0 #19 0x000000000051fc12 in XTread_socket (terminal=3D0x123de40 , hold_quit=3D0x7ffe6b540fc0) at xterm.c:8897 count =3D 0 event_found =3D false dpyinfo =3D 0x471cd50 #20 0x0000000000563d58 in gobble_input () at keyboard.c:6880 nr =3D 0 hold_quit =3D {kind =3D NO_EVENT, part =3D scroll_bar_nowhere, code =3D 0, modif= iers =3D 0, x =3D 0, y =3D 0, timestamp =3D 0, frame_or_window =3D 0, arg =3D 0} next =3D 0x0 nread =3D 0 err =3D false t =3D 0x123de40 #21 0x00000000005641f1 in handle_async_input () at keyboard.c:7135 nread =3D 32766 #22 0x0000000000564210 in process_pending_signals () at keyboard.c:7149 #23 0x00000000005d1812 in Fmake_list (length=3D0, init=3D0) at alloc.c:2913 val =3D 75342771 size =3D 0 #24 0x00000000005fefa5 in concat (nargs=3D1, args=3D0x7ffe6b541208, target_type=3D Lisp_Cons, last_special=3Dfalse) at fns.c:680 val =3D 13375328 tail =3D 0 this =3D 22175315 toindex =3D 1481684167 toindex_byte =3D 0 result_len =3D 1 result_len_byte =3D 1 argnum =3D 1 last_tail =3D 0 prev =3D 5568549 some_multibyte =3D false textprops =3D 0x0 num_textprops =3D 0 sa_avail =3D 16384 sa_count =3D 4 sa_must_free =3D false #25 0x00000000005fe9a6 in Fcopy_sequence (arg=3D22175315) at fns.c:548 #26 0x000000000055f400 in timer_check () at keyboard.c:4514 nexttime =3D {tv_sec =3D 140730699092560, tv_nsec =3D 13375328} timers =3D 0 idle_timers =3D 140730699096416 tem =3D 0 #27 0x000000000055d258 in readable_events (flags=3D1) at keyboard.c:3345 #28 0x0000000000563ba1 in get_input_pending (flags=3D1) at keyboard.c:6795 #29 0x0000000000569d9b in detect_input_pending_run_timers (do_display=3Dtru= e) ---Type to continue, or q to quit--- at keyboard.c:9935 old_timers_run =3D 104 #30 0x000000000064dde6 in wait_reading_process_output (time_limit=3D30, nsecs=3D0, read_ kbd=3D-1, do_display=3Dtrue, wait_for_cell=3D0, wait_proc=3D0x0, just_wait_= proc=3D0) at process.c:5476 old_timers_run =3D 104 old_buffer =3D 0x48b2800 old_window =3D 19844149 leave =3D false process_skipped =3D false channel =3D 1024 nfds =3D 1 Available =3D {fds_bits =3D {64, 0 }} Writeok =3D {fds_bits =3D {0 }} check_write =3D true check_delay =3D 0 no_avail =3D false xerrno =3D 11 proc =3D 140730699093664 timeout =3D {tv_sec =3D 0, tv_nsec =3D 0} end_time =3D {tv_sec =3D 1481684190, tv_nsec =3D 754967307} timer_delay =3D {tv_sec =3D 0, tv_nsec =3D 499151921} got_output_end_time =3D {tv_sec =3D 1481684190, tv_nsec =3D 75496730= 7} wait =3D TIMEOUT got_some_output =3D -1 retry_for_async =3D false count =3D 3 now =3D {tv_sec =3D 0, tv_nsec =3D -1} #31 0x000000000042516e in sit_for (timeout=3D122, reading=3Dtrue, display_option=3D1) at dispnew.c:5763 sec =3D 30 nsec =3D 0 do_display =3D true #32 0x000000000055baae in read_char (commandflag=3D1, map=3D21961475, prev_event=3D0, used _mouse_menu=3D0x7ffe6b541aff, end_time=3D0x0) at keyboard.c:2722 tem0 =3D 5568549 timeout =3D 30 delay_level =3D 4 buffer_size =3D 3 c =3D 0 jmpcount =3D 3 local_getcjmp =3D {{__jmpbuf =3D {0, 1990301376317110879, 4293696, 140730699096416, 0, 0 , 1990301376688306783, -1989976898492548513}, __mask_was_saved =3D 0, __saved_mask =3D { __val =3D {13648768, 13233360, 6139553, 0, 140730699094336, 5568549, 18271280, 1323336 0, 5703494, 0, 140730699094384, 5568549, 19964883, 140730699094480, 6272103, 0}}}} save_jump =3D {{__jmpbuf =3D {0, 1999463896344836703, 0, 30, 0, 140666480590848, 199 9463894568548959, -1989976898492548513}, __mask_was_saved =3D 0, __saved_ma= sk =3D {__val =3D {80, 0, 4098007, 0, 500000000, 0, 9223372036854775807, 0, 495901993, 0, 91783517, 140663768982032, 5632523, 21931219, 15478450176544054016, 0}}}} tem =3D 21961475 save =3D 0 previous_echo_area_message =3D 0 also_record =3D 0 reread =3D false recorded =3D false polling_stopped_here =3D false orig_kboard =3D 0x46f9900 #33 0x000000000056857a in read_key_sequence (keybuf=3D0x7ffe6b541cb0, bufsize=3D30, prom pt=3D0, dont_downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, fix_current_buffer=3Dtru e, prevent_redisplay=3Dfalse) at keyboard.c:9136 interrupted_kboard =3D 0x46f9900 interrupted_frame =3D 0x12ebc30 key =3D 4544753 used_mouse_menu =3D false echo_local_start =3D 0 last_real_key_start =3D 0 keys_local_start =3D 0 ---Type to continue, or q to quit--- new_binding =3D 5 count =3D 3 t =3D 0 echo_start =3D 0 keys_start =3D 0 current_binding =3D 21961475 first_event =3D 0 first_unbound =3D 31 mock_input =3D 0 fkey =3D {parent =3D 17969043, map =3D 17969043, start =3D 0, end = =3D 0} keytran =3D {parent =3D 13711939, map =3D 13711939, start =3D 0, end= =3D 0} indec =3D {parent =3D 17969059, map =3D 17969059, start =3D 0, end = =3D 0} shift_translated =3D false delayed_switch_frame =3D 0 original_uppercase =3D 0 original_uppercase_position =3D -1 dummyflag =3D false starting_buffer =3D 0x48b2800 fake_prefixed_keys =3D 0 #34 0x000000000055879f in command_loop_1 () at keyboard.c:1373 cmd =3D 140730699095552 keybuf =3D {140730699095312, 6264856, 140730699095360, 4, 140730699095296, 515936, 3, 3, 0, 9555221, 140730699095360, 0, 140730699095392, 6263156, 0, 9567684, 13233360, 515936, 0, 140730699095392, 5568549, 0, 13233360, 5602788, 13233360, 140730699095440 , 0, 140730699095456, 5568549, 5602591} i =3D 1 prev_modiff =3D 0 prev_buffer =3D 0x0 already_adjusted =3D false #35 0x00000000005f628a in internal_condition_case (bfun=3D0x55838e , h andlers=3D19680, hfun=3D0x557b7b ) at eval.c:1336 val =3D 5568549 c =3D 0x45c0290 #36 0x0000000000558098 in command_loop_2 (ignore=3D0) at keyboard.c:1115 val =3D 2 #37 0x00000000005f5b57 in internal_catch (tag=3D47088, func=3D0x55806f , arg=3D0) at eval.c:1101 val =3D 5568549 c =3D 0x45c0160 #38 0x000000000055803a in command_loop () at keyboard.c:1094 #39 0x0000000000557756 in recursive_edit_1 () at keyboard.c:700 count =3D 1 val =3D 140730699095856 #40 0x00000000005578d2 in Frecursive_edit () at keyboard.c:771 count =3D 0 buffer =3D 0 #41 0x00000000005556cd in main (argc=3D2, argv=3D0x7ffe6b542168) at emacs.c:1691 stack_bottom_variable =3D 0 '\000' do_initial_setlocale =3D true dumping =3D false skip_args =3D 0 no_loadup =3D false junk =3D 0x0 dname_arg =3D 0x0 ch_to_dir =3D 0x0 original_pwd =3D 0x0 disable_aslr =3D false rlim =3D {rlim_cur =3D 8720384, rlim_max =3D 18446744073709551615} sockfd =3D -1 On 14 December 2016 at 10:58, Elias M=C3=A5rtenson wrot= e: > On 14 December 2016 at 00:26, Eli Zaretskii wrote: > >> > From: Elias M=C3=A5rtenson >> > Date: Tue, 13 Dec 2016 12:16:41 +0800 >> > Cc: Cl=C3=A9ment Pit--Claudel , >> > 25172@debbugs.gnu.org >> > >> > This is the output from the SIGABRT case. Again, there is a lot of >> information before the actual "bt full" output: >> >> This shows exactly the situation which I imagined could happen: 3 >> threads, including the main thread, all running the code in xg_select >> which calls unblock_input, and aborting due to the block level being >> negative. >> >> Can you try removing the calls to block_input/unblock_input from >> xgselect.c, and see if these crashes then stop? >> > > I have tried this now, and it's much more stable now. It doesn't > immediately crash, and sometimes it doesn't crash at all. > > When it crashes, it does so after several seconds, and I have captured tw= o > of these crashes. > > I will post these backtraces in the following two emails. > > Regards, > Elias > --94eb2c0656941af94a054395922b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+VGhpcyBpcyB0aGUgc2Vjb25kIHRlc3QgY2FzZS4gSW4gdGhpcyBjYXNl LCBFbWFjcyBkaWRuJiMzOTt0IGNyYXNoIHdoZW4gSSByYW4gdGhlIHRlc3QgY2FzZSBhbmQgZXZl cnl0aGluZyBzZWVtZWQgdG8gYmUgd29ya2luZyBwcm9wZXJseS4gSSB0aGVuIHJhbiB0aGUgdGVz dCBjYXNlIHNldmVyYWwgdGltZXMgaW4gcXVpY2sgc3VjY2Vzc2lvbiB0byBnZXQgYSBsb3QgbW9y ZSB0aHJlYWRzIGFuZCBldmVudHVhbGx5LCBhZnRlciBJIGhhZCB0cmllZCB0byBjcmVhdGUgMTAw IG1vcmUgdGhyZWFkcyBhbmQgcnVubmluZyBvdXQgb2YgcmVzb3VyY2VzIChJIGdvdCBhbiBlcnJv ciBzdWdnZXN0aW5nIHRoYXQgd2FzIHRoZSBjYXNlKSBhbmQgSSB3YXMgYWJvdXQgdG8gZXhpdCBF bWFjcywgaXQgY3Jhc2hlZC48ZGl2Pjxicj48L2Rpdj48ZGl2PkhlcmUgaXMgdGhlIGJhY2t0cmFj ZSBmcm9tIHRoYXQgc2Vzc2lvbjo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxl PSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoMCwwLDApIj7C oCDCoCDCoCDCoCDCoCDCoFBJRDogPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xk O2NvbG9yOnJnYigwLDAsMCkiPjMwOTUwPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoMCww LDApIj4gKGVtYWNzKQ0KPC9zcGFuPjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqBVSUQ6IDUwMDY3 IChlbWFydGVuc29uKQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoEdJRDogNTAwNjcgKGVtYXJ0 ZW5zb24pDQo8YnI+IMKgwqDCoMKgwqDCoMKgU2lnbmFsOiA2IChBQlJUKQ0KPGJyPiDCoMKgwqDC oFRpbWVzdGFtcDogV2VkIDIwMTYtMTItMTQgMTA6NTY6MDYgU0dUICg2bWluIGFnbykNCjxicj4g wqBDb21tYW5kIExpbmU6IGRpc3QvYmluL2VtYWNzIC1RDQo8YnI+IMKgwqDCoEV4ZWN1dGFibGU6 IDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkO2NvbG9yOnJnYigwLDAsMCkiPi9ob21lL2Vt YXJ0ZW5zb24vc3JjL2VtYWNzL2Rpc3QvYmluL2VtYWNzLTI2LjAuNTA8L3NwYW4+PHNwYW4gc3R5 bGU9ImNvbG9yOnJnYigwLDAsMCkiPg0KPC9zcGFuPjxicj4gQ29udHJvbCBHcm91cDogL3N5c3Rl bS5zbGljZS9zeXN0ZW0tZ2V0dHkuc2xpY2UvZ2V0dHlAdHR5MS5zZXJ2aWNlDQo8YnI+IMKgwqDC oMKgwqDCoMKgwqDCoFVuaXQ6IGdldHR5QHR0eTEuc2VydmljZQ0KPGJyPiDCoMKgwqDCoMKgwqDC oMKgU2xpY2U6IHN5c3RlbS1nZXR0eS5zbGljZQ0KPGJyPiDCoMKgwqDCoMKgwqBCb290IElEOiA0 NWE2MmYyYWQ5ODA0YTBiODFmZWQyNWFkOGZhZmZhYg0KPGJyPiDCoMKgwqBNYWNoaW5lIElEOiA1 MDQ2N2YzYTY5ZWI0ZGJlYTE5YzhhMjk3Mjk0OTgzOQ0KPGJyPiDCoMKgwqDCoMKgSG9zdG5hbWU6 IGVtLWRlc2t0b3ANCjxicj4gwqDCoMKgwqDCoMKgU3RvcmFnZTogL3Zhci9saWIvc3lzdGVtZC9j b3JlZHVtcC9jb3JlLmVtYWNzLjUwMDY3LjQ1YTYyZjJhZDk4MDRhMGI4MWZlZDI1YWQ8YnI+OGZh ZmZhYi4zMDk1MC4xNDgxNjg0MTY2MDAwMDAwMDAwMDAwLmx6NA0KPGJyPiDCoMKgwqDCoMKgwqBN ZXNzYWdlOiBQcm9jZXNzIDMwOTUwIChlbWFjcykgb2YgdXNlciA1MDA2NyBkdW1wZWQgY29yZS4N Cjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqA8YnI+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoFN0YWNrIHRyYWNlIG9mIHRocmVhZCAzMDk1MDoNCjxicj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzAgwqAweDAwMDA3ZmVmNmY5ZGRmNWYgcmFpc2UgKGxp YnB0aHJlYWQuc28uMCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzEgwqAw eDAwMDAwMDAwMDA1NTNhYzAgdGVybWluYXRlX2R1ZV90b19zaWduYWwgKGVtYWNzLTI2LjAuNTAp DQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMyIMKgMHgwMDAwMDAwMDAwNTc4 MjI3IGhhbmRsZV9mYXRhbF9zaWduYWwgKGVtYWNzLTI2LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCMzIMKgMHgwMDAwMDAwMDAwNTc4MWY4IGRlbGl2ZXJfdGhyZWFk X3NpZ25hbCAoZW1hY3MtMjYuMC41MCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIzQgwqAweDAwMDAwMDAwMDA1NzgyNWUgZGVsaXZlcl9mYXRhbF90aHJlYWRfc2lnbmFsIChl bWFjcy0yNi4wLjUwKQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjNSDCoDB4 MDAwMDdmZWY2ZjlkZTA4MCBfX3Jlc3RvcmVfcnQgKGxpYnB0aHJlYWQuc28uMCkNCjxicj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzYgwqAweDAwMDA3ZmVmNmYyMzAwNGYgcmFpc2Ug KGxpYmMuc28uNikNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzcgwqAweDAw MDA3ZmVmNmYyMzE0N2EgYWJvcnQgKGxpYmMuc28uNikNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIzggwqAweDAwMDA3ZmVmNmYyMjhlYTcgX19hc3NlcnRfZmFpbF9iYXNlIChs aWJjLnNvLjYpDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCM5IMKgMHgwMDAw N2ZlZjZmMjI4ZjUyIF9fYXNzZXJ0X2ZhaWwgKGxpYmMuc28uNikNCjxicj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIzEwIDB4MDAwMDdmZWY3NDI2MmM0YSBuL2EgKGxpYlgxMS5zby42 KQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMTEgMHgwMDAwN2ZlZjc0MjYy Y2ZiIG4vYSAobGliWDExLnNvLjYpDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCMxMiAweDAwMDA3ZmVmNzQyNjJmZWQgX1hFdmVudHNRdWV1ZWQgKGxpYlgxMS5zby42KQ0KPGJy PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMTMgMHgwMDAwN2ZlZjc0MjU0Y2I3IFhQ ZW5kaW5nIChsaWJYMTEuc28uNikNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IzE0IDB4MDAwMDdmZWY3NjBjMmNkZSBuL2EgKGxpYmdkay0zLnNvLjApDQo8YnI+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMxNSAweDAwMDA3ZmVmNzQ5Y2VjODkgZ19tYWluX2NvbnRl eHRfcHJlcGFyZSAobGliZ2xpYi0yLjAuc28uMCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIzE2IDB4MDAwMDdmZWY3NDljZjZhYiBuL2EgKGxpYmdsaWItMi4wLnNvLjApDQo8 YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMxNyAweDAwMDA3ZmVmNzQ5Y2Y4NDcg Z19tYWluX2NvbnRleHRfcGVuZGluZyAobGliZ2xpYi0yLjAuc28uMCkNCjxicj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIzE4IDB4MDAwMDdmZWY3NjU3ZWNhZCBndGtfZXZlbnRzX3Bl bmRpbmcgKGxpYmd0ay0zLnNvLjApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCMxOSAweDAwMDAwMDAwMDA1MWZjMTIgWFRyZWFkX3NvY2tldCAoZW1hY3MtMjYuMC41MCkNCjxi cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzIwIDB4MDAwMDAwMDAwMDU2M2Q1OCBn b2JibGVfaW5wdXQgKGVtYWNzLTI2LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCMyMSAweDAwMDAwMDAwMDA1NjQxZjEgaGFuZGxlX2FzeW5jX2lucHV0IChlbWFjcy0y Ni4wLjUwKQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMjIgMHgwMDAwMDAw MDAwNTY0MjEwIHByb2Nlc3NfcGVuZGluZ19zaWduYWxzIChlbWFjcy0yNi4wLjUwKQ0KPGJyPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMjMgMHgwMDAwMDAwMDAwNWQxODEyIEZtYWtl X2xpc3QgKGVtYWNzLTI2LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCMyNCAweDAwMDAwMDAwMDA1ZmVmYTUgY29uY2F0IChlbWFjcy0yNi4wLjUwKQ0KPGJyPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMjUgMHgwMDAwMDAwMDAwNWZlOWE2IEZjb3B5X3Nl cXVlbmNlIChlbWFjcy0yNi4wLjUwKQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAjMjYgMHgwMDAwMDAwMDAwNTVmNDAwIHRpbWVyX2NoZWNrIChlbWFjcy0yNi4wLjUwKQ0KPGJy PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMjcgMHgwMDAwMDAwMDAwNTVkMjU4IHJl YWRhYmxlX2V2ZW50cyAoZW1hY3MtMjYuMC41MCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIzI4IDB4MDAwMDAwMDAwMDU2M2JhMSBnZXRfaW5wdXRfcGVuZGluZyAoZW1hY3Mt MjYuMC41MCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzI5IDB4MDAwMDAw MDAwMDU2OWQ5YiBkZXRlY3RfaW5wdXRfcGVuZGluZ19ydW5fdGltZXJzIChlbWFjcy0yNi4wLjU8 YnI+MCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzMwIDB4MDAwMDAwMDAw MDY0ZGRlNiB3YWl0X3JlYWRpbmdfcHJvY2Vzc19vdXRwdXQgKGVtYWNzLTI2LjAuNTApDQo8YnI+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMzMSAweDAwMDAwMDAwMDA0MjUxNmUgc2l0 X2ZvciAoZW1hY3MtMjYuMC41MCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IzMyIDB4MDAwMDAwMDAwMDU1YmFhZSByZWFkX2NoYXIgKGVtYWNzLTI2LjAuNTApDQo8YnI+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMzMyAweDAwMDAwMDAwMDA1Njg1N2EgcmVhZF9r ZXlfc2VxdWVuY2UgKGVtYWNzLTI2LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCMzNCAweDAwMDAwMDAwMDA1NTg3OWYgY29tbWFuZF9sb29wXzEgKGVtYWNzLTI2LjAu NTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMzNSAweDAwMDAwMDAwMDA1 ZjYyOGEgaW50ZXJuYWxfY29uZGl0aW9uX2Nhc2UgKGVtYWNzLTI2LjAuNTApDQo8YnI+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMzNiAweDAwMDAwMDAwMDA1NTgwOTggY29tbWFuZF9s b29wXzIgKGVtYWNzLTI2LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCMzNyAweDAwMDAwMDAwMDA1ZjViNTcgaW50ZXJuYWxfY2F0Y2ggKGVtYWNzLTI2LjAuNTApDQo8 YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMzOCAweDAwMDAwMDAwMDA1NTgwM2Eg Y29tbWFuZF9sb29wIChlbWFjcy0yNi4wLjUwKQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAjMzkgMHgwMDAwMDAwMDAwNTU3NzU2IHJlY3Vyc2l2ZV9lZGl0XzEgKGVtYWNzLTI2 LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCM0MCAweDAwMDAwMDAw MDA1NTc4ZDIgRnJlY3Vyc2l2ZV9lZGl0IChlbWFjcy0yNi4wLjUwKQ0KPGJyPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAjNDEgMHgwMDAwMDAwMDAwNTU1NmNkIG1haW4gKGVtYWNzLTI2 LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCM0MiAweDAwMDA3ZmVm NmYyMWQyOTEgX19saWJjX3N0YXJ0X21haW4gKGxpYmMuc28uNikNCjxicj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIzQzIDB4MDAwMDAwMDAwMDQxODQ2YSBfc3RhcnQgKGVtYWNzLTI2 LjAuNTApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPGJyPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTdGFjayB0cmFjZSBvZiB0aHJlYWQgMzA5NTI6DQo8YnI+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMwIMKgMHgwMDAwN2ZlZjZmMmRjNDhkIHBv bGwgKGxpYmMuc28uNikNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzEgwqAw eDAwMDA3ZmVmNzQ5Y2Y3ODYgbi9hIChsaWJnbGliLTIuMC5zby4wKQ0KPGJyPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAjMiDCoDB4MDAwMDdmZWY3NDljZmIxMiBnX21haW5fbG9vcF9y dW4gKGxpYmdsaWItMi4wLnNvLjApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCMzIMKgMHgwMDAwN2ZlZjc0ZmI1MzE2IG4vYSAobGliZ2lvLTIuMC5zby4wKQ0KPGJyPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjNCDCoDB4MDAwMDdmZWY3NDlmNzBkNSBuL2EgKGxp YmdsaWItMi4wLnNvLjApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCM1IMKg MHgwMDAwN2ZlZjZmOWQ0NDU0IHN0YXJ0X3RocmVhZCAobGlicHRocmVhZC5zby4wKQ0KPGJyPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjNiDCoDB4MDAwMDdmZWY2ZjJlNTdkZiBfX2Ns b25lIChsaWJjLnNvLjYpDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPGJy PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBTdGFjayB0cmFjZSBvZiB0aHJlYWQgMzA5 NTE6DQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMwIMKgMHgwMDAwN2ZlZjZm MmRjNDhkIHBvbGwgKGxpYmMuc28uNikNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIzEgwqAweDAwMDA3ZmVmNzQ5Y2Y3ODYgbi9hIChsaWJnbGliLTIuMC5zby4wKQ0KPGJyPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMiDCoDB4MDAwMDdmZWY3NDljZjg5YyBnX21h aW5fY29udGV4dF9pdGVyYXRpb24gKGxpYmdsaWItMi4wLnNvLjApDQo8YnI+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCMzIMKgMHgwMDAwN2ZlZjc0OWNmOGUxIG4vYSAobGliZ2xpYi0y LjAuc28uMCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzQgwqAweDAwMDA3 ZmVmNzQ5ZjcwZDUgbi9hIChsaWJnbGliLTIuMC5zby4wKQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAjNSDCoDB4MDAwMDdmZWY2ZjlkNDQ1NCBzdGFydF90aHJlYWQgKGxpYnB0 aHJlYWQuc28uMCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzYgwqAweDAw MDA3ZmVmNmYyZTU3ZGYgX19jbG9uZSAobGliYy5zby42KQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoDxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgU3RhY2sg dHJhY2Ugb2YgdGhyZWFkIDMwOTUzOg0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAjMCDCoDB4MDAwMDdmZWY2ZjJkYzQ4ZCBwb2xsIChsaWJjLnNvLjYpDQo8YnI+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMxIMKgMHgwMDAwN2ZlZjc0OWNmNzg2IG4vYSAobGliZ2xp Yi0yLjAuc28uMCkNCjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzIgwqAweDAw MDA3ZmVmNzQ5Y2Y4OWMgZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uIChsaWJnbGliLTIuMC5zby4w KQ0KPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjMyDCoDB4MDAwMDdmZWY2NWY0 MzRiZCBuL2EgKGxpYmRjb25mc2V0dGluZ3Muc28pDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCM0IMKgMHgwMDAwN2ZlZjc0OWY3MGQ1IG4vYSAobGliZ2xpYi0yLjAuc28uMCkN Cjxicj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIzUgwqAweDAwMDA3ZmVmNmY5ZDQ0 NTQgc3RhcnRfdGhyZWFkIChsaWJwdGhyZWFkLnNvLjApDQo8YnI+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCM2IMKgMHgwMDAwN2ZlZjZmMmU1N2RmIF9fY2xvbmUgKGxpYmMuc28uNikN Cjxicj4NCjxicj5HTlUgZ2RiIChHREIpIDcuMTINCjxicj5Db3B5cmlnaHQgKEMpIDIwMTYgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo8YnI+TGljZW5zZSBHUEx2Mys6IEdOVSBHUEwg dmVyc2lvbiAzIG9yIGxhdGVyICZsdDs8YSBocmVmPSJodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9n cGwuaHRtbCI+aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw8L2E+Jmd0Ow0KPGJyPlRo aXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmli dXRlIGl0Lg0KPGJyPlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRl ZCBieSBsYXcuwqAgVHlwZSAmcXVvdDtzaG93IGNvcHlpbmcmcXVvdDsNCjxicj5hbmQgJnF1b3Q7 c2hvdyB3YXJyYW50eSZxdW90OyBmb3IgZGV0YWlscy4NCjxicj5UaGlzIEdEQiB3YXMgY29uZmln dXJlZCBhcyAmcXVvdDt4ODZfNjQtcGMtbGludXgtZ251JnF1b3Q7Lg0KPGJyPlR5cGUgJnF1b3Q7 c2hvdyBjb25maWd1cmF0aW9uJnF1b3Q7IGZvciBjb25maWd1cmF0aW9uIGRldGFpbHMuDQo8YnI+ Rm9yIGJ1ZyByZXBvcnRpbmcgaW5zdHJ1Y3Rpb25zLCBwbGVhc2Ugc2VlOg0KPGJyPiZsdDs8YSBo cmVmPSJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvIj5odHRwOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPC9hPiZndDsuDQo8YnI+RmluZCB0aGUgR0RCIG1hbnVh bCBhbmQgb3RoZXIgZG9jdW1lbnRhdGlvbiByZXNvdXJjZXMgb25saW5lIGF0Og0KPGJyPiZsdDs8 YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2RvY3VtZW50YXRpb24vIj5o dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2RvY3VtZW50YXRpb24vPC9hPiZndDsuDQo8 YnI+Rm9yIGhlbHAsIHR5cGUgJnF1b3Q7aGVscCZxdW90Oy4NCjxicj5UeXBlICZxdW90O2Fwcm9w b3Mgd29yZCZxdW90OyB0byBzZWFyY2ggZm9yIGNvbW1hbmRzIHJlbGF0ZWQgdG8gJnF1b3Q7d29y ZCZxdW90Oy4uLg0KPGJyPlJlYWRpbmcgc3ltYm9scyBmcm9tIC9ob21lL2VtYXJ0ZW5zb24vc3Jj L2VtYWNzL2Rpc3QvYmluL2VtYWNzLTI2LjAuNTAuLi5kb25lLg0KPGJyPg0KPGJyPndhcm5pbmc6 IGNvcmUgZmlsZSBtYXkgbm90IG1hdGNoIHNwZWNpZmllZCBleGVjdXRhYmxlIGZpbGUuDQo8YnI+ W05ldyBMV1AgMzA5NTBdDQo8YnI+W05ldyBMV1AgMzA5NTJdDQo8YnI+W05ldyBMV1AgMzA5NTFd DQo8YnI+W05ldyBMV1AgMzA5NTNdDQo8YnI+W1RocmVhZCBkZWJ1Z2dpbmcgdXNpbmcgbGlidGhy ZWFkX2RiIGVuYWJsZWRdDQo8YnI+VXNpbmcgaG9zdCBsaWJ0aHJlYWRfZGIgbGlicmFyeSAmcXVv dDsvdXNyL2xpYi9saWJ0aHJlYWRfZGIuc28uMSZxdW90Oy4NCjxicj5Db3JlIHdhcyBnZW5lcmF0 ZWQgYnkgYGRpc3QvYmluL2VtYWNzIC1RJiMzOTsuDQo8YnI+UHJvZ3JhbSB0ZXJtaW5hdGVkIHdp dGggc2lnbmFsIFNJR0FCUlQsIEFib3J0ZWQuDQo8YnI+IzAgwqAweDAwMDA3ZmVmNmY5ZGRmNWYg aW4gcmFpc2UgKCkgZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkLnNvLjANCjxicj5bQ3VycmVudCB0 aHJlYWQgaXMgMSAoVGhyZWFkIDB4N2ZlZjc3OGNiYTAwIChMV1AgMzA5NTApKV0NCjxicj4oZ2Ri KSBidCBmdWxsDQo8YnI+IzAgwqAweDAwMDA3ZmVmNmY5ZGRmNWYgaW4gcmFpc2UgKCkgYXQgL3Vz ci9saWIvbGlicHRocmVhZC5zby4wDQo8YnI+IzEgwqAweDAwMDAwMDAwMDA1NTNhYzAgaW4gdGVy bWluYXRlX2R1ZV90b19zaWduYWwgKHNpZz02LCBiYWNrdHJhY2VfbGltaXQ9NDApDQo8YnI+IMKg wqDCoGF0IGVtYWNzLmM6Mzk2DQo8YnI+IzIgwqAweDAwMDAwMDAwMDA1NzgyMjcgaW4gaGFuZGxl X2ZhdGFsX3NpZ25hbCAoc2lnPTYpIGF0IHN5c2RlcC5jOjE2ODUNCjxicj4jMyDCoDB4MDAwMDAw MDAwMDU3ODFmOCBpbiBkZWxpdmVyX3RocmVhZF9zaWduYWwgKHNpZz02LCBoYW5kbGVyPTB4NTc4 MjBkICZsdDtoYW5kbGVfZmF0PGJyPmFsX3NpZ25hbCZndDspIGF0IHN5c2RlcC5jOjE2NTkNCjxi cj4gwqDCoMKgwqDCoMKgwqBvbGRfZXJybm8gPSAxMQ0KPGJyPiM0IMKgMHgwMDAwMDAwMDAwNTc4 MjVlIGluIGRlbGl2ZXJfZmF0YWxfdGhyZWFkX3NpZ25hbCAoc2lnPTYpIGF0IHN5c2RlcC5jOjE2 OTcNCjxicj4jNSDCoDB4MDAwMDdmZWY2ZjlkZTA4MCBpbiAmbHQ7c2lnbmFsIGhhbmRsZXIgY2Fs bGVkJmd0OyAoKSBhdCAvdXNyL2xpYi9saWJwdGhyZWFkLnNvLjANCjxicj4jNiDCoDB4MDAwMDdm ZWY2ZjIzMDA0ZiBpbiByYWlzZSAoKSBhdCAvdXNyL2xpYi9saWJjLnNvLjYNCjxicj4jNyDCoDB4 MDAwMDdmZWY2ZjIzMTQ3YSBpbiBhYm9ydCAoKSBhdCAvdXNyL2xpYi9saWJjLnNvLjYNCjxicj4j OCDCoDB4MDAwMDdmZWY2ZjIyOGVhNyBpbiBfX2Fzc2VydF9mYWlsX2Jhc2UgKCkgYXQgL3Vzci9s aWIvbGliYy5zby42DQo8YnI+IzkgwqAweDAwMDA3ZmVmNmYyMjhmNTIgaW4gwqAoKSBhdCAvdXNy L2xpYi9saWJjLnNvLjYNCjxicj4jMTAgMHgwMDAwN2ZlZjc0MjYyYzRhIGluIMKgKCkgYXQgL3Vz ci9saWIvbGliWDExLnNvLjYNCjxicj4jMTEgMHgwMDAwN2ZlZjc0MjYyY2ZiIGluIMKgKCkgYXQg L3Vzci9saWIvbGliWDExLnNvLjYNCjxicj4jMTIgMHgwMDAwN2ZlZjc0MjYyZmVkIGluIF9YRXZl bnRzUXVldWVkICgpIGF0IC91c3IvbGliL2xpYlgxMS5zby42DQo8YnI+IzEzIDB4MDAwMDdmZWY3 NDI1NGNiNyBpbiBYUGVuZGluZyAoKSBhdCAvdXNyL2xpYi9saWJYMTEuc28uNg0KPGJyPiMxNCAw eDAwMDA3ZmVmNzYwYzJjZGUgaW4gwqAoKSBhdCAvdXNyL2xpYi9saWJnZGstMy5zby4wDQo8YnI+ IzE1IDB4MDAwMDdmZWY3NDljZWM4OSBpbiBnX21haW5fY29udGV4dF9wcmVwYXJlICgpIGF0IC91 c3IvbGliL2xpYmdsaWItMi4wLnNvLjANCjxicj4jMTYgMHgwMDAwN2ZlZjc0OWNmNmFiIGluIMKg KCkgYXQgL3Vzci9saWIvbGliZ2xpYi0yLjAuc28uMA0KPGJyPiMxNyAweDAwMDA3ZmVmNzQ5Y2Y4 NDcgaW4gZ19tYWluX2NvbnRleHRfcGVuZGluZyAoKSBhdCAvdXNyL2xpYi9saWJnbGliLTIuMC5z by4wDQo8YnI+IzE4IDB4MDAwMDdmZWY3NjU3ZWNhZCBpbiBndGtfZXZlbnRzX3BlbmRpbmcgKCkg YXQgL3Vzci9saWIvbGliZ3RrLTMuc28uMA0KPGJyPiMxOSAweDAwMDAwMDAwMDA1MWZjMTIgaW4g WFRyZWFkX3NvY2tldCAodGVybWluYWw9MHgxMjNkZTQwICZsdDtic3Nfc2Jya19idWZmZXIrNTc1 MjE2MDxicj4mZ3Q7LCBob2xkX3F1aXQ9MHg3ZmZlNmI1NDBmYzApIGF0IHh0ZXJtLmM6ODg5Nw0K PGJyPiDCoMKgwqDCoMKgwqDCoGNvdW50ID0gMA0KPGJyPiDCoMKgwqDCoMKgwqDCoGV2ZW50X2Zv dW5kID0gZmFsc2UNCjxicj4gwqDCoMKgwqDCoMKgwqBkcHlpbmZvID0gMHg0NzFjZDUwDQo8YnI+ IzIwIDB4MDAwMDAwMDAwMDU2M2Q1OCBpbiBnb2JibGVfaW5wdXQgKCkgYXQga2V5Ym9hcmQuYzo2 ODgwDQo8YnI+IMKgwqDCoMKgwqDCoMKgbnIgPSAwDQo8YnI+IMKgwqDCoMKgwqDCoMKgaG9sZF9x dWl0ID0gwqA8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoHtraW5kID0gTk9fRVZFTlQsIHBhcnQgPSBz Y3JvbGxfYmFyX25vd2hlcmUsIGNvZGUgPSAwLCBtb2RpZmllcnMgPSAwLCB4ID0gPGJyPjAsIHkg PSAwLCB0aW1lc3RhbXAgPSAwLCBmcmFtZV9vcl93aW5kb3cgPSAwLCBhcmcgPSAwfQ0KPGJyPiDC oMKgwqDCoMKgwqDCoG5leHQgPSAweDANCjxicj4gwqDCoMKgwqDCoMKgwqBucmVhZCA9IDANCjxi cj4gwqDCoMKgwqDCoMKgwqBlcnIgPSBmYWxzZQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHQgPSAweDEy M2RlNDAgJmx0O2Jzc19zYnJrX2J1ZmZlcis1NzUyMTYwJmd0Ow0KPGJyPiMyMSAweDAwMDAwMDAw MDA1NjQxZjEgaW4gaGFuZGxlX2FzeW5jX2lucHV0ICgpIGF0IGtleWJvYXJkLmM6NzEzNQ0KPGJy PiDCoMKgwqDCoMKgwqDCoG5yZWFkID0gMzI3NjYNCjxicj4jMjIgMHgwMDAwMDAwMDAwNTY0MjEw IGluIHByb2Nlc3NfcGVuZGluZ19zaWduYWxzICgpIGF0IGtleWJvYXJkLmM6NzE0OQ0KPGJyPiMy MyAweDAwMDAwMDAwMDA1ZDE4MTIgaW4gRm1ha2VfbGlzdCAobGVuZ3RoPTAsIGluaXQ9MCkgYXQg YWxsb2MuYzoyOTEzDQo8YnI+IMKgwqDCoMKgwqDCoMKgdmFsID0gNzUzNDI3NzENCjxicj4gwqDC oMKgwqDCoMKgwqBzaXplID0gMA0KPGJyPiMyNCAweDAwMDAwMDAwMDA1ZmVmYTUgaW4gY29uY2F0 IChuYXJncz0xLCBhcmdzPTB4N2ZmZTZiNTQxMjA4LCB0YXJnZXRfdHlwZT0NCjxicj4gwqDCoMKg TGlzcF9Db25zLCBsYXN0X3NwZWNpYWw9ZmFsc2UpIGF0IGZucy5jOjY4MA0KPGJyPiDCoMKgwqDC oMKgwqDCoHZhbCA9IDEzMzc1MzI4DQo8YnI+IMKgwqDCoMKgwqDCoMKgdGFpbCA9IDANCjxicj4g wqDCoMKgwqDCoMKgwqB0aGlzID0gMjIxNzUzMTUNCjxicj4gwqDCoMKgwqDCoMKgwqB0b2luZGV4 ID0gMTQ4MTY4NDE2Nw0KPGJyPiDCoMKgwqDCoMKgwqDCoHRvaW5kZXhfYnl0ZSA9IDANCjxicj4g wqDCoMKgwqDCoMKgwqByZXN1bHRfbGVuID0gMQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHJlc3VsdF9s ZW5fYnl0ZSA9IDENCjxicj4gwqDCoMKgwqDCoMKgwqBhcmdudW0gPSAxDQo8YnI+IMKgwqDCoMKg wqDCoMKgbGFzdF90YWlsID0gMA0KPGJyPiDCoMKgwqDCoMKgwqDCoHByZXYgPSA1NTY4NTQ5DQo8 YnI+IMKgwqDCoMKgwqDCoMKgc29tZV9tdWx0aWJ5dGUgPSBmYWxzZQ0KPGJyPiDCoMKgwqDCoMKg wqDCoHRleHRwcm9wcyA9IDB4MA0KPGJyPiDCoMKgwqDCoMKgwqDCoG51bV90ZXh0cHJvcHMgPSAw DQo8YnI+IMKgwqDCoMKgwqDCoMKgc2FfYXZhaWwgPSAxNjM4NA0KPGJyPiDCoMKgwqDCoMKgwqDC oHNhX2NvdW50ID0gNA0KPGJyPiDCoMKgwqDCoMKgwqDCoHNhX211c3RfZnJlZSA9IGZhbHNlDQo8 YnI+IzI1IDB4MDAwMDAwMDAwMDVmZTlhNiBpbiBGY29weV9zZXF1ZW5jZSAoYXJnPTIyMTc1MzE1 KSBhdCBmbnMuYzo1NDgNCjxicj4jMjYgMHgwMDAwMDAwMDAwNTVmNDAwIGluIHRpbWVyX2NoZWNr ICgpIGF0IGtleWJvYXJkLmM6NDUxNA0KPGJyPiDCoMKgwqDCoMKgwqDCoG5leHR0aW1lID0ge3R2 X3NlYyA9IDE0MDczMDY5OTA5MjU2MCwgdHZfbnNlYyA9IDEzMzc1MzI4fQ0KPGJyPiDCoMKgwqDC oMKgwqDCoHRpbWVycyA9IDANCjxicj4gwqDCoMKgwqDCoMKgwqBpZGxlX3RpbWVycyA9IDE0MDcz MDY5OTA5NjQxNg0KPGJyPiDCoMKgwqDCoMKgwqDCoHRlbSA9IDANCjxicj4jMjcgMHgwMDAwMDAw MDAwNTVkMjU4IGluIHJlYWRhYmxlX2V2ZW50cyAoZmxhZ3M9MSkgYXQga2V5Ym9hcmQuYzozMzQ1 DQo8YnI+IzI4IDB4MDAwMDAwMDAwMDU2M2JhMSBpbiBnZXRfaW5wdXRfcGVuZGluZyAoZmxhZ3M9 MSkgYXQga2V5Ym9hcmQuYzo2Nzk1DQo8YnI+IzI5IDB4MDAwMDAwMDAwMDU2OWQ5YiBpbiBkZXRl Y3RfaW5wdXRfcGVuZGluZ19ydW5fdGltZXJzIChkb19kaXNwbGF5PXRydWUpDQo8YnI+LS0tVHlw ZSAmbHQ7cmV0dXJuJmd0OyB0byBjb250aW51ZSwgb3IgcSAmbHQ7cmV0dXJuJmd0OyB0byBxdWl0 LS0tDQo8YnI+IMKgwqDCoGF0IGtleWJvYXJkLmM6OTkzNQ0KPGJyPiDCoMKgwqDCoMKgwqDCoG9s ZF90aW1lcnNfcnVuID0gMTA0DQo8YnI+IzMwIDB4MDAwMDAwMDAwMDY0ZGRlNiBpbiB3YWl0X3Jl YWRpbmdfcHJvY2Vzc19vdXRwdXQgKHRpbWVfbGltaXQ9MzAsIG5zZWNzPTAsIHJlYWRfPGJyPmti ZD0tMSwgZG9fZGlzcGxheT10cnVlLCB3YWl0X2Zvcl9jZWxsPTAsIHdhaXRfcHJvYz0weDAsIGp1 c3Rfd2FpdF9wcm9jPTApDQo8YnI+IMKgwqDCoGF0IHByb2Nlc3MuYzo1NDc2DQo8YnI+IMKgwqDC oMKgwqDCoMKgb2xkX3RpbWVyc19ydW4gPSAxMDQNCjxicj4gwqDCoMKgwqDCoMKgwqBvbGRfYnVm ZmVyID0gMHg0OGIyODAwDQo8YnI+IMKgwqDCoMKgwqDCoMKgb2xkX3dpbmRvdyA9IDE5ODQ0MTQ5 DQo8YnI+IMKgwqDCoMKgwqDCoMKgbGVhdmUgPSBmYWxzZQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHBy b2Nlc3Nfc2tpcHBlZCA9IGZhbHNlDQo8YnI+IMKgwqDCoMKgwqDCoMKgY2hhbm5lbCA9IDEwMjQN Cjxicj4gwqDCoMKgwqDCoMKgwqBuZmRzID0gMQ0KPGJyPiDCoMKgwqDCoMKgwqDCoEF2YWlsYWJs ZSA9IHtmZHNfYml0cyA9IHs2NCwgMCAmbHQ7cmVwZWF0cyAxNSB0aW1lcyZndDt9fQ0KPGJyPiDC oMKgwqDCoMKgwqDCoFdyaXRlb2sgPSB7ZmRzX2JpdHMgPSB7MCAmbHQ7cmVwZWF0cyAxNiB0aW1l cyZndDt9fQ0KPGJyPiDCoMKgwqDCoMKgwqDCoGNoZWNrX3dyaXRlID0gdHJ1ZQ0KPGJyPiDCoMKg wqDCoMKgwqDCoGNoZWNrX2RlbGF5ID0gMA0KPGJyPiDCoMKgwqDCoMKgwqDCoG5vX2F2YWlsID0g ZmFsc2UNCjxicj4gwqDCoMKgwqDCoMKgwqB4ZXJybm8gPSAxMQ0KPGJyPiDCoMKgwqDCoMKgwqDC oHByb2MgPSAxNDA3MzA2OTkwOTM2NjQNCjxicj4gwqDCoMKgwqDCoMKgwqB0aW1lb3V0ID0ge3R2 X3NlYyA9IDAsIHR2X25zZWMgPSAwfQ0KPGJyPiDCoMKgwqDCoMKgwqDCoGVuZF90aW1lID0ge3R2 X3NlYyA9IDE0ODE2ODQxOTAsIHR2X25zZWMgPSA3NTQ5NjczMDd9DQo8YnI+IMKgwqDCoMKgwqDC oMKgdGltZXJfZGVsYXkgPSB7dHZfc2VjID0gMCwgdHZfbnNlYyA9IDQ5OTE1MTkyMX0NCjxicj4g wqDCoMKgwqDCoMKgwqBnb3Rfb3V0cHV0X2VuZF90aW1lID0ge3R2X3NlYyA9IDE0ODE2ODQxOTAs IHR2X25zZWMgPSA3NTQ5NjczMDd9DQo8YnI+IMKgwqDCoMKgwqDCoMKgd2FpdCA9IFRJTUVPVVQN Cjxicj4gwqDCoMKgwqDCoMKgwqBnb3Rfc29tZV9vdXRwdXQgPSAtMQ0KPGJyPiDCoMKgwqDCoMKg wqDCoHJldHJ5X2Zvcl9hc3luYyA9IGZhbHNlDQo8YnI+IMKgwqDCoMKgwqDCoMKgY291bnQgPSAz DQo8YnI+IMKgwqDCoMKgwqDCoMKgbm93ID0ge3R2X3NlYyA9IDAsIHR2X25zZWMgPSAtMX0NCjxi cj4jMzEgMHgwMDAwMDAwMDAwNDI1MTZlIGluIHNpdF9mb3IgKHRpbWVvdXQ9MTIyLCByZWFkaW5n PXRydWUsIGRpc3BsYXlfb3B0aW9uPTEpDQo8YnI+IMKgwqDCoGF0IGRpc3BuZXcuYzo1NzYzDQo8 YnI+IMKgwqDCoMKgwqDCoMKgc2VjID0gMzANCjxicj4gwqDCoMKgwqDCoMKgwqBuc2VjID0gMA0K PGJyPiDCoMKgwqDCoMKgwqDCoGRvX2Rpc3BsYXkgPSB0cnVlDQo8YnI+IzMyIDB4MDAwMDAwMDAw MDU1YmFhZSBpbiByZWFkX2NoYXIgKGNvbW1hbmRmbGFnPTEsIG1hcD0yMTk2MTQ3NSwgcHJldl9l dmVudD0wLCB1c2VkPGJyPl9tb3VzZV9tZW51PTB4N2ZmZTZiNTQxYWZmLCBlbmRfdGltZT0weDAp IGF0IGtleWJvYXJkLmM6MjcyMg0KPGJyPiDCoMKgwqDCoMKgwqDCoHRlbTAgPSA1NTY4NTQ5DQo8 YnI+IMKgwqDCoMKgwqDCoMKgdGltZW91dCA9IDMwDQo8YnI+IMKgwqDCoMKgwqDCoMKgZGVsYXlf bGV2ZWwgPSA0DQo8YnI+IMKgwqDCoMKgwqDCoMKgYnVmZmVyX3NpemUgPSAzDQo8YnI+IMKgwqDC oMKgwqDCoMKgYyA9IDANCjxicj4gwqDCoMKgwqDCoMKgwqBqbXBjb3VudCA9IDMNCjxicj4gwqDC oMKgwqDCoMKgwqBsb2NhbF9nZXRjam1wID0gwqA8YnI+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHt7X19qbXBidWYgPSB7MCwgMTk5MDMwMTM3NjMxNzExMDg3OSwgNDI5MzY5NiwgMTQw NzMwNjk5MDk2NDE2LCAwLCAwPGJyPiwgMTk5MDMwMTM3NjY4ODMwNjc4MywgLTE5ODk5NzY4OTg0 OTI1NDg1MTN9LCBfX21hc2tfd2FzX3NhdmVkID0gMCwgX19zYXZlZF9tYXNrID0gezxicj5fX3Zh bCA9IHsxMzY0ODc2OCwgMTMyMzMzNjAsIDYxMzk1NTMsIDAsIDE0MDczMDY5OTA5NDMzNiwgNTU2 ODU0OSwgMTgyNzEyODAsIDEzMjMzMzY8YnI+MCwgNTcwMzQ5NCwgMCwgMTQwNzMwNjk5MDk0Mzg0 LCA1NTY4NTQ5LCAxOTk2NDg4MywgMTQwNzMwNjk5MDk0NDgwLCA2MjcyMTAzLCAwfX19fQ0KPGJy PiDCoMKgwqDCoMKgwqDCoHNhdmVfanVtcCA9IMKgPGJyPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB7e19fam1wYnVmID0gezAsIDE5OTk0NjM4OTYzNDQ4MzY3MDMsIDAsIDMwLCAwLCAx NDA2NjY0ODA1OTA4NDgsIDE5OTxicj45NDYzODk0NTY4NTQ4OTU5LCAtMTk4OTk3Njg5ODQ5MjU0 ODUxM30sIF9fbWFza193YXNfc2F2ZWQgPSAwLCBfX3NhdmVkX21hc2sgPSB7X192YWw8YnI+ID0g ezgwLCAwLCA0MDk4MDA3LCAwLCA1MDAwMDAwMDAsIDAsIDkyMjMzNzIwMzY4NTQ3NzU4MDcsIDAs IDQ5NTkwMTk5MywgMCwgOTE3ODM1MTcsPGJyPiAxNDA2NjM3Njg5ODIwMzIsIDU2MzI1MjMsIDIx OTMxMjE5LCAxNTQ3ODQ1MDE3NjU0NDA1NDAxNiwgMH19fX0NCjxicj4gwqDCoMKgwqDCoMKgwqB0 ZW0gPSAyMTk2MTQ3NQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHNhdmUgPSAwDQo8YnI+IMKgwqDCoMKg wqDCoMKgcHJldmlvdXNfZWNob19hcmVhX21lc3NhZ2UgPSAwDQo8YnI+IMKgwqDCoMKgwqDCoMKg YWxzb19yZWNvcmQgPSAwDQo8YnI+IMKgwqDCoMKgwqDCoMKgcmVyZWFkID0gZmFsc2UNCjxicj4g wqDCoMKgwqDCoMKgwqByZWNvcmRlZCA9IGZhbHNlDQo8YnI+IMKgwqDCoMKgwqDCoMKgcG9sbGlu Z19zdG9wcGVkX2hlcmUgPSBmYWxzZQ0KPGJyPiDCoMKgwqDCoMKgwqDCoG9yaWdfa2JvYXJkID0g MHg0NmY5OTAwDQo8YnI+IzMzIDB4MDAwMDAwMDAwMDU2ODU3YSBpbiByZWFkX2tleV9zZXF1ZW5j ZSAoa2V5YnVmPTB4N2ZmZTZiNTQxY2IwLCBidWZzaXplPTMwLCBwcm9tPGJyPnB0PTAsIGRvbnRf ZG93bmNhc2VfbGFzdD1mYWxzZSwgY2FuX3JldHVybl9zd2l0Y2hfZnJhbWU9dHJ1ZSwgZml4X2N1 cnJlbnRfYnVmZmVyPXRydTxicj5lLCBwcmV2ZW50X3JlZGlzcGxheT1mYWxzZSkgYXQga2V5Ym9h cmQuYzo5MTM2DQo8YnI+IMKgwqDCoMKgwqDCoMKgaW50ZXJydXB0ZWRfa2JvYXJkID0gMHg0NmY5 OTAwDQo8YnI+IMKgwqDCoMKgwqDCoMKgaW50ZXJydXB0ZWRfZnJhbWUgPSAweDEyZWJjMzAgJmx0 O2Jzc19zYnJrX2J1ZmZlcis2NDY0MzM2Jmd0Ow0KPGJyPiDCoMKgwqDCoMKgwqDCoGtleSA9IDQ1 NDQ3NTMNCjxicj4gwqDCoMKgwqDCoMKgwqB1c2VkX21vdXNlX21lbnUgPSBmYWxzZQ0KPGJyPiDC oMKgwqDCoMKgwqDCoGVjaG9fbG9jYWxfc3RhcnQgPSAwDQo8YnI+IMKgwqDCoMKgwqDCoMKgbGFz dF9yZWFsX2tleV9zdGFydCA9IDANCjxicj4gwqDCoMKgwqDCoMKgwqBrZXlzX2xvY2FsX3N0YXJ0 ID0gMA0KPGJyPi0tLVR5cGUgJmx0O3JldHVybiZndDsgdG8gY29udGludWUsIG9yIHEgJmx0O3Jl dHVybiZndDsgdG8gcXVpdC0tLQ0KPGJyPiDCoMKgwqDCoMKgwqDCoG5ld19iaW5kaW5nID0gNQ0K PGJyPiDCoMKgwqDCoMKgwqDCoGNvdW50ID0gMw0KPGJyPiDCoMKgwqDCoMKgwqDCoHQgPSAwDQo8 YnI+IMKgwqDCoMKgwqDCoMKgZWNob19zdGFydCA9IDANCjxicj4gwqDCoMKgwqDCoMKgwqBrZXlz X3N0YXJ0ID0gMA0KPGJyPiDCoMKgwqDCoMKgwqDCoGN1cnJlbnRfYmluZGluZyA9IDIxOTYxNDc1 DQo8YnI+IMKgwqDCoMKgwqDCoMKgZmlyc3RfZXZlbnQgPSAwDQo8YnI+IMKgwqDCoMKgwqDCoMKg Zmlyc3RfdW5ib3VuZCA9IDMxDQo8YnI+IMKgwqDCoMKgwqDCoMKgbW9ja19pbnB1dCA9IDANCjxi cj4gwqDCoMKgwqDCoMKgwqBma2V5ID0ge3BhcmVudCA9IDE3OTY5MDQzLCBtYXAgPSAxNzk2OTA0 Mywgc3RhcnQgPSAwLCBlbmQgPSAwfQ0KPGJyPiDCoMKgwqDCoMKgwqDCoGtleXRyYW4gPSB7cGFy ZW50ID0gMTM3MTE5MzksIG1hcCA9IDEzNzExOTM5LCBzdGFydCA9IDAsIGVuZCA9IDB9DQo8YnI+ IMKgwqDCoMKgwqDCoMKgaW5kZWMgPSB7cGFyZW50ID0gMTc5NjkwNTksIG1hcCA9IDE3OTY5MDU5 LCBzdGFydCA9IDAsIGVuZCA9IDB9DQo8YnI+IMKgwqDCoMKgwqDCoMKgc2hpZnRfdHJhbnNsYXRl ZCA9IGZhbHNlDQo8YnI+IMKgwqDCoMKgwqDCoMKgZGVsYXllZF9zd2l0Y2hfZnJhbWUgPSAwDQo8 YnI+IMKgwqDCoMKgwqDCoMKgb3JpZ2luYWxfdXBwZXJjYXNlID0gMA0KPGJyPiDCoMKgwqDCoMKg wqDCoG9yaWdpbmFsX3VwcGVyY2FzZV9wb3NpdGlvbiA9IC0xDQo8YnI+IMKgwqDCoMKgwqDCoMKg ZHVtbXlmbGFnID0gZmFsc2UNCjxicj4gwqDCoMKgwqDCoMKgwqBzdGFydGluZ19idWZmZXIgPSAw eDQ4YjI4MDANCjxicj4gwqDCoMKgwqDCoMKgwqBmYWtlX3ByZWZpeGVkX2tleXMgPSAwDQo8YnI+ IzM0IDB4MDAwMDAwMDAwMDU1ODc5ZiBpbiBjb21tYW5kX2xvb3BfMSAoKSBhdCBrZXlib2FyZC5j OjEzNzMNCjxicj4gwqDCoMKgwqDCoMKgwqBjbWQgPSAxNDA3MzA2OTkwOTU1NTINCjxicj4gwqDC oMKgwqDCoMKgwqBrZXlidWYgPSDCoDxicj4gwqDCoMKgwqDCoMKgwqDCoMKgezE0MDczMDY5OTA5 NTMxMiwgNjI2NDg1NiwgMTQwNzMwNjk5MDk1MzYwLCA0LCAxNDA3MzA2OTkwOTUyOTYsIDUxNTkz NiwgMyw8YnI+IDMsIDAsIDk1NTUyMjEsIDE0MDczMDY5OTA5NTM2MCwgMCwgMTQwNzMwNjk5MDk1 MzkyLCA2MjYzMTU2LCAwLCA5NTY3Njg0LCAxMzIzMzM2MCwgPGJyPjUxNTkzNiwgMCwgMTQwNzMw Njk5MDk1MzkyLCA1NTY4NTQ5LCAwLCAxMzIzMzM2MCwgNTYwMjc4OCwgMTMyMzMzNjAsIDE0MDcz MDY5OTA5NTQ0MDxicj4sIDAsIDE0MDczMDY5OTA5NTQ1NiwgNTU2ODU0OSwgNTYwMjU5MX0NCjxi cj4gwqDCoMKgwqDCoMKgwqBpID0gMQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHByZXZfbW9kaWZmID0g MA0KPGJyPiDCoMKgwqDCoMKgwqDCoHByZXZfYnVmZmVyID0gMHgwDQo8YnI+IMKgwqDCoMKgwqDC oMKgYWxyZWFkeV9hZGp1c3RlZCA9IGZhbHNlDQo8YnI+IzM1IDB4MDAwMDAwMDAwMDVmNjI4YSBp biBpbnRlcm5hbF9jb25kaXRpb25fY2FzZSAoYmZ1bj0weDU1ODM4ZSAmbHQ7Y29tbWFuZF9sb29w XzEmZ3Q7LCBoPGJyPmFuZGxlcnM9MTk2ODAsIGhmdW49MHg1NTdiN2IgJmx0O2NtZF9lcnJvciZn dDspIGF0IGV2YWwuYzoxMzM2DQo8YnI+IMKgwqDCoMKgwqDCoMKgdmFsID0gNTU2ODU0OQ0KPGJy PiDCoMKgwqDCoMKgwqDCoGMgPSAweDQ1YzAyOTANCjxicj4jMzYgMHgwMDAwMDAwMDAwNTU4MDk4 IGluIGNvbW1hbmRfbG9vcF8yIChpZ25vcmU9MCkgYXQga2V5Ym9hcmQuYzoxMTE1DQo8YnI+IMKg wqDCoMKgwqDCoMKgdmFsID0gMg0KPGJyPiMzNyAweDAwMDAwMDAwMDA1ZjViNTcgaW4gaW50ZXJu YWxfY2F0Y2ggKHRhZz00NzA4OCwgZnVuYz0weDU1ODA2ZiAmbHQ7Y29tbWFuZF9sb29wXzImZ3Q7 LDxicj4gYXJnPTApIGF0IGV2YWwuYzoxMTAxDQo8YnI+IMKgwqDCoMKgwqDCoMKgdmFsID0gNTU2 ODU0OQ0KPGJyPiDCoMKgwqDCoMKgwqDCoGMgPSAweDQ1YzAxNjANCjxicj4jMzggMHgwMDAwMDAw MDAwNTU4MDNhIGluIGNvbW1hbmRfbG9vcCAoKSBhdCBrZXlib2FyZC5jOjEwOTQNCjxicj4jMzkg MHgwMDAwMDAwMDAwNTU3NzU2IGluIHJlY3Vyc2l2ZV9lZGl0XzEgKCkgYXQga2V5Ym9hcmQuYzo3 MDANCjxicj4gwqDCoMKgwqDCoMKgwqBjb3VudCA9IDENCjxicj4gwqDCoMKgwqDCoMKgwqB2YWwg PSAxNDA3MzA2OTkwOTU4NTYNCjxicj4jNDAgMHgwMDAwMDAwMDAwNTU3OGQyIGluIEZyZWN1cnNp dmVfZWRpdCAoKSBhdCBrZXlib2FyZC5jOjc3MQ0KPGJyPiDCoMKgwqDCoMKgwqDCoGNvdW50ID0g MA0KPGJyPiDCoMKgwqDCoMKgwqDCoGJ1ZmZlciA9IDANCjxicj4jNDEgMHgwMDAwMDAwMDAwNTU1 NmNkIGluIG1haW4gKGFyZ2M9MiwgYXJndj0weDdmZmU2YjU0MjE2OCkgYXQgZW1hY3MuYzoxNjkx DQo8YnI+IMKgwqDCoMKgwqDCoMKgc3RhY2tfYm90dG9tX3ZhcmlhYmxlID0gMCAmIzM5O1wwMDAm IzM5Ow0KPGJyPiDCoMKgwqDCoMKgwqDCoGRvX2luaXRpYWxfc2V0bG9jYWxlID0gdHJ1ZQ0KPGJy PiDCoMKgwqDCoMKgwqDCoGR1bXBpbmcgPSBmYWxzZQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHNraXBf YXJncyA9IDANCjxicj4gwqDCoMKgwqDCoMKgwqBub19sb2FkdXAgPSBmYWxzZQ0KPGJyPiDCoMKg wqDCoMKgwqDCoGp1bmsgPSAweDANCjxicj4gwqDCoMKgwqDCoMKgwqBkbmFtZV9hcmcgPSAweDAN Cjxicj4gwqDCoMKgwqDCoMKgwqBjaF90b19kaXIgPSAweDANCjxicj4gwqDCoMKgwqDCoMKgwqBv cmlnaW5hbF9wd2QgPSAweDANCjxicj4gwqDCoMKgwqDCoMKgwqBkaXNhYmxlX2FzbHIgPSBmYWxz ZQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHJsaW0gPSB7cmxpbV9jdXIgPSA4NzIwMzg0LCBybGltX21h eCA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE1fQ0KPGJyPiDCoMKgwqDCoMKgwqDCoHNvY2tmZCA9IC0x PGJyPg0KPGJyPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJy PjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiAxNCBEZWNlbWJlciAyMDE2IGF0IDEwOjU4LCBF bGlhcyBNw6VydGVuc29uIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmxva2Vk aHNAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bG9rZWRoc0BnbWFpbC5jb208L2E+Jmd0Ozwv c3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1h cmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDox ZXgiPjxkaXYgZGlyPSJsdHIiPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48ZGl2IGNsYXNzPSJn bWFpbF9xdW90ZSI+PHNwYW4gY2xhc3M9IiI+T24gMTQgRGVjZW1iZXIgMjAxNiBhdCAwMDoyNiwg RWxpIFphcmV0c2tpaSA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzplbGl6QGdu dS5vcmciIHRhcmdldD0iX2JsYW5rIj5lbGl6QGdudS5vcmc8L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6 PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAu OGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPiZndDsgRnJv bTogRWxpYXMgTcOlcnRlbnNvbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmxva2VkaHNAZ21haWwuY29t IiB0YXJnZXQ9Il9ibGFuayI+bG9rZWRoc0BnbWFpbC5jb208L2E+Jmd0Ozxicj4NCiZndDsgRGF0 ZTogVHVlLCAxMyBEZWMgMjAxNiAxMjoxNjo0MSArMDgwMDxicj4NCjxzcGFuPiZndDsgQ2M6IENs w6ltZW50IFBpdC0tQ2xhdWRlbCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmNsZW1lbnQucGl0QGdtYWls LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmNsZW1lbnQucGl0QGdtYWlsLmNvbTwvYT4mZ3Q7LDxicj4N CiZndDvCoCDCoCDCoCDCoDxhIGhyZWY9Im1haWx0bzoyNTE3MkBkZWJidWdzLmdudS5vcmciIHRh cmdldD0iX2JsYW5rIj4yNTE3MkBkZWJidWdzLmdudS5vcmc8L2E+PGJyPg0KJmd0Ozxicj4NCjwv c3Bhbj48c3Bhbj4mZ3Q7IFRoaXMgaXMgdGhlIG91dHB1dCBmcm9tIHRoZSBTSUdBQlJUIGNhc2Uu IEFnYWluLCB0aGVyZSBpcyBhIGxvdCBvZiBpbmZvcm1hdGlvbiBiZWZvcmUgdGhlIGFjdHVhbCAm cXVvdDtidCBmdWxsJnF1b3Q7IG91dHB1dDo8YnI+DQo8YnI+DQo8L3NwYW4+VGhpcyBzaG93cyBl eGFjdGx5IHRoZSBzaXR1YXRpb24gd2hpY2ggSSBpbWFnaW5lZCBjb3VsZCBoYXBwZW46IDM8YnI+ DQp0aHJlYWRzLCBpbmNsdWRpbmcgdGhlIG1haW4gdGhyZWFkLCBhbGwgcnVubmluZyB0aGUgY29k ZSBpbiB4Z19zZWxlY3Q8YnI+DQp3aGljaCBjYWxscyB1bmJsb2NrX2lucHV0LCBhbmQgYWJvcnRp bmcgZHVlIHRvIHRoZSBibG9jayBsZXZlbCBiZWluZzxicj4NCm5lZ2F0aXZlLjxicj4NCjxicj4N CkNhbiB5b3UgdHJ5IHJlbW92aW5nIHRoZSBjYWxscyB0byBibG9ja19pbnB1dC91bmJsb2NrX2lu cHV0IGZyb208YnI+DQp4Z3NlbGVjdC5jLCBhbmQgc2VlIGlmIHRoZXNlIGNyYXNoZXMgdGhlbiBz dG9wPzxicj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PC9zcGFuPjxkaXY+SSBoYXZlIHRy aWVkIHRoaXMgbm93LCBhbmQgaXQmIzM5O3MgbXVjaCBtb3JlIHN0YWJsZSBub3cuIEl0IGRvZXNu JiMzOTt0IGltbWVkaWF0ZWx5IGNyYXNoLCBhbmQgc29tZXRpbWVzIGl0IGRvZXNuJiMzOTt0IGNy YXNoIGF0IGFsbC48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PldoZW4gaXQgY3Jhc2hlcywgaXQg ZG9lcyBzbyBhZnRlciBzZXZlcmFsIHNlY29uZHMsIGFuZCBJIGhhdmUgY2FwdHVyZWQgdHdvIG9m IHRoZXNlIGNyYXNoZXMuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIHdpbGwgcG9zdCB0aGVz ZSBiYWNrdHJhY2VzIGluIHRoZSBmb2xsb3dpbmcgdHdvIGVtYWlscy48L2Rpdj48ZGl2Pjxicj48 L2Rpdj48ZGl2PlJlZ2FyZHMsPC9kaXY+PGRpdj5FbGlhczwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 Pg0KPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4NCg== --94eb2c0656941af94a054395922b--