From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com [IPv6:2607:f8b0:4864:20::b35]) by sourceware.org (Postfix) with ESMTPS id 061F53858D39 for ; Wed, 2 Mar 2022 21:03:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 061F53858D39 Received: by mail-yb1-xb35.google.com with SMTP id w16so5940106ybi.12 for ; Wed, 02 Mar 2022 13:03:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vg1jK5vAwrv2PJQxdcZrsbHEN/dD0Ni8gxQW4d1gnc8=; b=Y3FWWywX5NebaV7kS5hrQt0l2apKvATPwjOj3CysiWZ9IjSwUxq2jDl6c1aEQ9bqof g/D2j75aAEiqNY2zKECeKrD3sr65bdqlUexUCnaWpG3qcFALeVWd1oslFlGgNUbwqTs4 PeV+nX2Lias3rieU9jNUvtR1vC6Gcvagb5ThUkbCnb6965Ma5MAUAUWtiwLFMKyzs7Ta q7CDCSljb9Rz4CNgDCR4/vUuhU2q+YW03fDoO0KOtfJQQ8p0Kv7fRhTsbboI+fJrVQQz kh2nM08adjcsd0DtUXGv2ax/dEoWsozx+iEP8P1YxHbiE/LzgxvPZcSlgKTv/+WiXfhC CLEA== X-Gm-Message-State: AOAM530CV12WzG1kIv6u7YCNBuXnS1Vr8rBY7jp41q1rUGVb2BZNucAD 7dbRzRLbacC9KL68SNvH9DlBjoRNcw2xJaayANosBNTFTQE= X-Google-Smtp-Source: ABdhPJypBR2ReqUmlklnLtQeiovRonE3AD5GpFdlMzK0+VK6OKkGB1LFqfjCjsD0L9Ot3HdP+k5cnidHpjpP8XM979M= X-Received: by 2002:a25:c5c3:0:b0:628:b6f5:f721 with SMTP id v186-20020a25c5c3000000b00628b6f5f721mr2339738ybe.624.1646254982283; Wed, 02 Mar 2022 13:03:02 -0800 (PST) MIME-Version: 1.0 References: <87y21sxpra.fsf@redhat.com> In-Reply-To: <87y21sxpra.fsf@redhat.com> From: William Tambe Date: Wed, 2 Mar 2022 15:02:51 -0600 Message-ID: Subject: Re: Help figuring out why `info registers` is showing with gdbserver target To: Andrew Burgess Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary="0000000000006e0dd305d9429bdf" X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, KAM_LOTSOFHASH, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Mar 2022 21:03:07 -0000 --0000000000006e0dd305d9429bdf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Mar 2, 2022 at 10:50 AM Andrew Burgess wrote: > > William Tambe via Gdb-patches writes: > > > Regarding this issue, support for gdbserver has been implemented here: > > https://github.com/fontamsoc/binutils-gdb/blob/b2eeeae0/gdbserver/linux= -pu32-low.cc > > > > Support for gdb has been implemented here: > > https://github.com/fontamsoc/binutils-gdb/blob/b2eeeae0/gdb/pu32-tdep.c > > > > gdb is able to successfully connect to gdbserver and start a program > > on the target; however, gdb is unable to fetch registers and instead > > shows as follow: > > > > (gdb) info registers > > r0 > > r1 > > r2 > > r3 > > r4 > > r5 > > r6 > > r7 > > r8 > > r9 > > r10 > > r11 > > r12 > > r13 > > r14 > > r15 > > pc > > > > Find attached full `gdbserver --debug --remote-debug` logs as well as > > gdb logs. > > You should consider using 'set debug remote 1' on the GDB side to > capture the remote packets from that perspective. I'm particularlly > interested in the reply to the 'g' packet, but the complete logs would > be useful. This information doesn't seem to be visible in the gdbserver > output (or I'm missing it). Please, find attached similar gdb and gdbserver logs; with `set debug remote 1` used on the GDB side. > > Thanks, > Andrew > > > > > Any idea what might have been missed while implementing gdbserver suppo= rt ? > > Would you suggest ways to debug the issue ? > > tambewilliam@kubuntu20200502:~$ sudo /opt/pu32-toolchain/bin/pu32-elf-g= db -x buildroot-build/staging/usr/share/buildroot/gdbinit -ex 'target exten= ded-remote /dev/ttyUSB2' -ex 'set cwd /' && -ex 'monitor set debug 1' -ex '= monitor set remote-debug 1' > > GNU gdb (GDB) 11.0.50.20210718-git > > Copyright (C) 2021 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 "--host=3Dx86_64-pc-linux-gnu --target=3Dpu3= 2-elf". > > 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". > > warning: File "/home/tambewilliam/.gdbinit" auto-loading has been decli= ned by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". > > To enable execution of this file add > > add-auto-load-safe-path /home/tambewilliam/.gdbinit > > line to your configuration file "/root/.config/gdb/gdbinit". > > To completely disable this security protection add > > set auto-load safe-path / > > line to your configuration file "/root/.config/gdb/gdbinit". > > For more information about this security protection see the > > "Auto-loading safe path" section in the GDB manual. E.g., run from the= shell: > > info "(gdb)Auto-loading safe path" > > buildroot-build/staging/usr/share/buildroot/gdbinit: No such file or di= rectory. > > Remote debugging using /dev/ttyUSB2 > > (gdb) set remote exec-file /bin/ls > > (gdb) r -l / > > Starting program: -l / > > Reading /usr/bin/busybox from remote target... > > warning: File transfers from remote targets can be slow. Use "set sysro= ot" to access files locally instead. > > Reading /usr/bin/busybox from remote target... > > Reading symbols from target:/usr/bin/busybox... > > (No debugging symbols found in target:/usr/bin/busybox) > > warning: Target-supplied registers are not supported by the current arc= hitecture > > PC register is not available > > (gdb) info registers > > r0 > > r1 > > r2 > > r3 > > r4 > > r5 > > r6 > > r7 > > r8 > > r9 > > r10 > > r11 > > r12 > > r13 > > r14 > > r15 > > pc > > (gdb) > > # gdbserver --debug --remote-debug --multi /dev/ttyS1 & > > [2] 94 > > root@buildroot:~ > > # sigchld_handler > > sigchld_handler > > sigchld_handler > > sigchld_handler > > sigchld_handler > > Remote debugging using /dev/ttyS1 > > > > root@buildroot:~ > > # > > root@buildroot:~ > > # > > root@buildroot:~ > > # > > root@buildroot:~ > > # handling possible serial event > > [getpkt: discarding char '+'] > > getpkt ("qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-ev= ents+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+= ;memory-tagging+"); [sending ack] > > [sent ack] > > putpkt ("$PacketSize=3D47ff;QPassSignals+;QProgramSignals+;QStartupWith= Shell+;QEnvironmentHexEncoded+;QEnvironmentReset+;QEnvironmentUnset+;QSetWo= rkingDir+;qXfer:libraries-svr4:read+;augmented-libraries-svr4-read+;qXfer:a= uxv:read+;qXfer:siginfo:read+;qXfer:siginfo:write+;qXfer:features:read+;qXf= er:osdata:read+;multiprocess+;fork-events+;vfork-events+;exec-events+;QNonS= top+;QDisableRandomization+;qXfer:threads:read+;ConditionalBreakpoints+;Bre= akpointCommands+;QAgent+;Qbtrace:bts+;Qbtrace-conf:bts:size+;Qbtrace:pt+;Qb= trace-conf:pt:size+;Qbtrace:off+;qXfer:btrace:read+;qXfer:btrace-conf:read+= ;swbreak+;hwbreak+;qXfer:exec-file:read+;vContSupported+;QThreadEvents+;no-= resumed+#21"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vMustReplyEmpty"); [sending ack] > > [sent ack] > > putpkt ("$#00"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("!"); [sending ack] > > [sent ack] > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("QProgramSignals:0;1;3;4;6;7;8;9;a;b;c;d;e;f;10;11;12;13;14;15;= 16;17;18;19;1a;1b;1c;1d;1e;1f;20;21;22;23;24;25;26;27;28;29;2a;2b;2c;2d;2e;= 2f;30;31;32;33;34;35;36;37;38;39;3a;3b;3c;3d;3e;3f;40;41;42;43;44;45;46;47;= 48;49;4a;4b;4c;4d;4e;4f;50;51;52;53;54;55;56;57;58;59;5a;5b;5c;5d;5e;5f;60;= 61;62;63;64;65;66;67;68;69;6a;6b;6c;6d;6e;6f;70;71;72;73;74;75;76;77;78;79;= 7a;7b;7c;7d;7e;7f;80;81;82;83;84;85;86;87;88;89;8a;8b;8c;8d;8e;8f;90;91;92;= 93;94;95;96;97;"); [sending ack] > > [sent ack] > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("Hgp0.0"); [sending ack] > > [sent ack] > > putpkt ("$E01#a6"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qXfer:features:read:target.xml:0,1000"); [sending ack] > > [sent ack] > > putpkt ("$E01#a6"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("QNonStop:0"); [sending ack] > > [sent ack] > > linux_async (0), previous=3D0 > > [all-stop mode enabled] > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qTStatus"); [sending ack] > > [sent ack] > > putpkt ("$#00"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("?"); [sending ack] > > [sent ack] > >>>>> entering void linux_process_target::stop_all_lwps(int, lwp_info*) > > stop_all_lwps (stop, except=3Dnone) > > wait_for_sigstop: pulling events > > LWFE: waitpid(-1, ...) returned -1, > > LLW: exit (no unwaited-for LWP) > > stop_all_lwps done, setting stopping_threads back to !stopping > > <<<< exiting void linux_process_target::stop_all_lwps(int, lwp_info*) > > putpkt ("$W00#b7"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("QDisableRandomization:1"); [sending ack] > > [sent ack] > > [address space randomization disabled] > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("QStartupWithShell:1"); [sending ack] > > [sent ack] > > [Inferior will be started with shell]putpkt ("$OK#9a"); [looking for ac= k] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("QEnvironmentReset"); [sending ack] > > [sent ack] > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("QSetWorkingDir:2f"); [sending ack] > > [sent ack] > > [Set the inferior's current directory to /] > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vRun;2f62696e2f6c73;2d6c;2f"); [sending ack] > > [sent ack] > > args: -l / > >>>>> entering ptid_t linux_process_target::wait_1(ptid_t, target_waitsta= tus*, target_wait_flags) > > wait_1: [Process 97] > > LWFE: waitpid(-1, ...) returned 0, ERRNO-OK > > leader_pid=3D97, leader_lp!=3DNULL=3D1, num_lwps=3D1, zombie=3D0 > > sigsuspend'ing > > sigchld_handler > > LWFE: waitpid(-1, ...) returned 97, ERRNO-OK > > LLW: waitpid 97 received SIGTRAP - Trace/breakpoint trap (stopped) > > LWFE: waitpid(-1, ...) returned 0, ERRNO-OK > > Hit a non-gdbserver trap event. > >>>>> entering void linux_process_target::stop_all_lwps(int, lwp_info*) > > stop_all_lwps (stop, except=3Dnone) > > wait_for_sigstop: pulling events > > LWFE: waitpid(-1, ...) returned 0, ERRNO-OK > > leader_pid=3D97, leader_lp!=3DNULL=3D1, num_lwps=3D1, zombie=3D0 > > LLW: exit (no unwaited-for LWP) > > stop_all_lwps done, setting stopping_threads back to !stopping > > <<<< exiting void linux_process_target::stop_all_lwps(int, lwp_info*) > > Checking whether LWP 97 needs to move out of the jump pad...no > > wait_1 ret =3D LWP 97.97, 1, 5 > > <<<< exiting ptid_t linux_process_target::wait_1(ptid_t, target_waitsta= tus*, target_wait_flags) > >>>>> entering virtual void linux_process_target::resume(thread_resume*, = size_t) > > linux_resume: > > already continuing LWP 97 at GDB's request > > Resuming, no pending status or step over needed > > linux_resume done > > <<<< exiting virtual void linux_process_target::resume(thread_resume*, = size_t) > >>>>> entering ptid_t linux_process_target::wait_1(ptid_t, target_waitsta= tus*, target_wait_flags) > > wait_1: [Process 97] > > LWFE: waitpid(-1, ...) returned 0, ERRNO-OK > > RSRL: resuming stopped-resumed LWP LWP 97.97 at 0: step=3D0 > > Resuming lwp 97 (continue, signal 0, stop not expected) > > leader_pid=3D97, leader_lp!=3DNULL=3D1, num_lwps=3D1, zombie=3D0 > > sigsuspend'ing > > sigchld_handler > > LWFE: waitpid(-1, ...) returned 97, ERRNO-OK > > LLW: waitpid 97 received SIGTRAP - Trace/breakpoint trap (stopped) > > LWFE: waitpid(-1, ...) returned 0, ERRNO-OK > > Hit a non-gdbserver trap event. > >>>>> entering void linux_process_target::stop_all_lwps(int, lwp_info*) > > stop_all_lwps (stop, except=3Dnone) > > wait_for_sigstop: pulling events > > LWFE: waitpid(-1, ...) returned 0, ERRNO-OK > > leader_pid=3D97, leader_lp!=3DNULL=3D1, num_lwps=3D1, zombie=3D0 > > LLW: exit (no unwaited-for LWP) > > stop_all_lwps done, setting stopping_threads back to !stopping > > <<<< exiting void linux_process_target::stop_all_lwps(int, lwp_info*) > > Checking whether LWP 97 needs to move out of the jump pad...no > > wait_1 ret =3D LWP 97.97, 1, 5 > > <<<< exiting ptid_t linux_process_target::wait_1(ptid_t, target_waitsta= tus*, target_wait_flags) > > Process /bin/ls created; pid =3D 97 > > Writing resume reply for LWP 97.97:1 > > putpkt ("$T0500:0*"00;0e:0*"00;0f:0*"00;10:0*"00;thread:p61.61;core:0;#= 90"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qAttached:61"); [sending ack] > > [sent ack] > > putpkt ("$0#30"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qXfer:exec-file:read:61:0,1000"); [sending ack] > > [sent ack] > > putpkt ("$l/usr/bin/busybox#98"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:setfs:0"); [sending ack] > > [sent ack] > > putpkt ("$F0#76"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:open:6a7573742070726f62696e67,0,1c0"); [sending ack] > > [sent ack] > > putpkt ("$F-1,2#02"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:setfs:61"); [sending ack] > > [sent ack] > > putpkt ("$F0#76"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:open:2f7573722f62696e2f62757379626f78,0,0"); [sending a= ck] > > [sent ack] > > putpkt ("$F4#7a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:4,47ff,0"); [sending ack] > > [sent ack] > > putpkt ("$F4734;ELF"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:4,47ff,1ce288"); [sending ack] > > [sent ack] > > putpkt ("$F370;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:fstat:4"); [sending ack] > > [sent ack] > > putpkt ("$F40;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:4,47ff,34"); [sending ack] > > [sent ack] > > putpkt ("$F4733;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:4,47ff,1ce1a1"); [sending ack] > > [sent ack] > > putpkt ("$F457;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:4,47ff,b4"); [sending ack] > > [sent ack] > > putpkt ("$F4733;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:fstat:4"); [sending ack] > > [sent ack] > > putpkt ("$F40;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:open:2f7573722f62696e2f62757379626f78,0,0"); [sending a= ck] > > [sent ack] > > putpkt ("$F5#7b"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:5,47ff,0"); [sending ack] > > [sent ack] > > putpkt ("$F4734;ELF"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:5,47ff,1ce288"); [sending ack] > > [sent ack] > > putpkt ("$F370;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:fstat:5"); [sending ack] > > [sent ack] > > putpkt ("$F40;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:5,47ff,34"); [sending ack] > > [sent ack] > > putpkt ("$F4733;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:5,47ff,1ce1a1"); [sending ack] > > [sent ack] > > putpkt ("$F457;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:5,47ff,b4"); [sending ack] > > [sent ack] > > putpkt ("$F4733;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:fstat:5"); [sending ack] > > [sent ack] > > putpkt ("$F40;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qSymbol::"); [sending ack] > > [sent ack] > > Trying host libthread_db library: libthread_db.so.1. > > dlopen failed: libthread_db.so.1: cannot open shared object file: No su= ch file or directory. > > thread_db_load_search returning 0 > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qSymbol::"); [sending ack] > > [sent ack] > > Trying host libthread_db library: libthread_db.so.1. > > dlopen failed: libthread_db.so.1: cannot open shared object file: No su= ch file or directory. > > thread_db_load_search returning 0 > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qXfer:exec-file:read:61:0,1000"); [sending ack] > > [sent ack] > > putpkt ("$l/usr/bin/busybox#98"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qOffsets"); [sending ack] > > [sent ack] > > putpkt ("$#00"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("Hgp61.61"); [sending ack] > > [sent ack] > > putpkt ("$OK#9a"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qXfer:features:read:target.xml:0,1000"); [sending ack] > > [sent ack] > > putpkt ("$l > > > > > > pu32 > > GNU/Linux > > > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > * > > > > > > #ef"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("vFile:pread:4,47ff,b4"); [sending ack] > > [sent ack] > > putpkt ("$F4733;"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("g"); [sending ack] > > [sent ack] > > putpkt ("$x*}x*C#04"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qXfer:libraries-svr4:read::0,1000"); [sending ack] > > [sent ack] > > putpkt ("$E01#a6"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("qXfer:auxv:read::0,1000"); [sending ack] > > [sent ack] > > putpkt ("$l"); [looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000034,20"); [sending ack] > > [sent ack] > > putpkt ("$010*050*"050f9cb1c00f9cb1c00050*"0010*!#ce"); [looking for ac= k] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000054,20"); [sending ack] > > [sent ack] > > putpkt ("$010*"fccb1c00fcdb1c50fcdb1c50a5150* 1c370*!60*"0010*!#1c"); [= looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000074,20"); [sending ack] > > [sent ack] > > putpkt ("$040*"b40*"b40* 50b40* 5020*"020*"0040*"040*"#58"); [looking f= or ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000094,20"); [sending ack] > > [sent ack] > > putpkt ("$070*"fccb1c00fcdb1c50fcdb1c50180*"540*"040*"040*"#ff"); [look= ing for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000034,20"); [sending ack] > > [sent ack] > > putpkt ("$010*050*"050f9cb1c00f9cb1c00050*"0010*!#ce"); [looking for ac= k] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000054,20"); [sending ack] > > [sent ack] > > putpkt ("$010*"fccb1c00fcdb1c50fcdb1c50a5150* 1c370*!60*"0010*!#1c"); [= looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000074,20"); [sending ack] > > [sent ack] > > putpkt ("$040*"b40*"b40* 50b40* 5020*"020*"0040*"040*"#58"); [looking f= or ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000094,20"); [sending ack] > > [sent ack] > > putpkt ("$070*"fccb1c00fcdb1c50fcdb1c50180*"540*"040*"040*"#ff"); [look= ing for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000034,20"); [sending ack] > > [sent ack] > > putpkt ("$010*050*"050f9cb1c00f9cb1c00050*"0010*!#ce"); [looking for ac= k] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000054,20"); [sending ack] > > [sent ack] > > putpkt ("$010*"fccb1c00fcdb1c50fcdb1c50a5150* 1c370*!60*"0010*!#1c"); [= looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000074,20"); [sending ack] > > [sent ack] > > putpkt ("$040*"b40*"b40* 50b40* 5020*"020*"0040*"040*"#58"); [looking f= or ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000094,20"); [sending ack] > > [sent ack] > > putpkt ("$070*"fccb1c00fcdb1c50fcdb1c50180*"540*"040*"040*"#ff"); [look= ing for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000034,20"); [sending ack] > > [sent ack] > > putpkt ("$010*050*"050f9cb1c00f9cb1c00050*"0010*!#ce"); [looking for ac= k] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000054,20"); [sending ack] > > [sent ack] > > putpkt ("$010*"fccb1c00fcdb1c50fcdb1c50a5150* 1c370*!60*"0010*!#1c"); [= looking for ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000074,20"); [sending ack] > > [sent ack] > > putpkt ("$040*"b40*"b40* 50b40* 5020*"020*"0040*"040*"#58"); [looking f= or ack] > > [received '+' (0x2b)] > > handling possible serial event > > getpkt ("m50000094,20"); [sending ack] > > [sent ack] > > putpkt ("$070*"fccb1c00fcdb1c50fcdb1c50180*"540*"040*"040*"#ff"); [look= ing for ack] > > [received '+' (0x2b)] > > > > root@buildroot:~ > --0000000000006e0dd305d9429bdf Content-Type: text/plain; charset="UTF-8"; name="gdb.txt" Content-Disposition: attachment; filename="gdb.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l0a1pbuw0 dGFtYmV3aWxsaWFtQGt1YnVudHUyMDIwMDUwMjp+JCBzdWRvIC9vcHQvcHUzMi10b29sY2hhaW4v YmluL3B1MzItZWxmLWdkYiAteCB+L0RvY3VtZW50cy9idWlsZHJvb3QtYnVpbGQvc3RhZ2luZy91 c3Ivc2hhcmUvYnVpbGRyb290L2dkYmluaXQgLWV4ICdjZCAvaG9tZS90YW1iZXdpbGxpYW0vRG9j dW1lbnRzL2J1aWxkcm9vdC1idWlsZC9zdGFnaW5nLycgLWV4ICd0YXJnZXQgZXh0ZW5kZWQtcmVt b3RlIC9kZXYvdHR5VVNCMicgLWV4ICdzZXQgY3dkIC8nIC1leCAnbW9uaXRvciBzZXQgZGVidWcg MScgLWV4ICdtb25pdG9yIHNldCByZW1vdGUtZGVidWcgMScgLWV4ICdzZXQgZGVidWcgcmVtb3Rl IDEnCkdOVSBnZGIgKEdEQikgMTEuMC41MC4yMDIxMDcxOC1naXQKQ29weXJpZ2h0IChDKSAyMDIx IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2 ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlz IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0 ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxh dy4KVHlwZSAic2hvdyBjb3B5aW5nIiBhbmQgInNob3cgd2FycmFudHkiIGZvciBkZXRhaWxzLgpU aGlzIEdEQiB3YXMgY29uZmlndXJlZCBhcyAiLS1ob3N0PXg4Nl82NC1wYy1saW51eC1nbnUgLS10 YXJnZXQ9cHUzMi1lbGYiLgpUeXBlICJzaG93IGNvbmZpZ3VyYXRpb24iIGZvciBjb25maWd1cmF0 aW9uIGRldGFpbHMuCkZvciBidWcgcmVwb3J0aW5nIGluc3RydWN0aW9ucywgcGxlYXNlIHNlZToK PGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4KRmluZCB0aGUgR0RCIG1h bnVhbCBhbmQgb3RoZXIgZG9jdW1lbnRhdGlvbiByZXNvdXJjZXMgb25saW5lIGF0OgogICAgPGh0 dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGIvZG9jdW1lbnRhdGlvbi8+LgoKRm9yIGhlbHAs IHR5cGUgImhlbHAiLgpUeXBlICJhcHJvcG9zIHdvcmQiIHRvIHNlYXJjaCBmb3IgY29tbWFuZHMg cmVsYXRlZCB0byAid29yZCIuCndhcm5pbmc6IEZpbGUgIi9ob21lL3RhbWJld2lsbGlhbS8uZ2Ri aW5pdCIgYXV0by1sb2FkaW5nIGhhcyBiZWVuIGRlY2xpbmVkIGJ5IHlvdXIgYGF1dG8tbG9hZCBz YWZlLXBhdGgnIHNldCB0byAiJGRlYnVnZGlyOiRkYXRhZGlyL2F1dG8tbG9hZCIuClRvIGVuYWJs ZSBleGVjdXRpb24gb2YgdGhpcyBmaWxlIGFkZAogICAgICAgIGFkZC1hdXRvLWxvYWQtc2FmZS1w YXRoIC9ob21lL3RhbWJld2lsbGlhbS8uZ2RiaW5pdApsaW5lIHRvIHlvdXIgY29uZmlndXJhdGlv biBmaWxlICIvcm9vdC8uY29uZmlnL2dkYi9nZGJpbml0Ii4KVG8gY29tcGxldGVseSBkaXNhYmxl IHRoaXMgc2VjdXJpdHkgcHJvdGVjdGlvbiBhZGQKICAgICAgICBzZXQgYXV0by1sb2FkIHNhZmUt cGF0aCAvCmxpbmUgdG8geW91ciBjb25maWd1cmF0aW9uIGZpbGUgIi9yb290Ly5jb25maWcvZ2Ri L2dkYmluaXQiLgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHNlY3VyaXR5IHByb3Rl Y3Rpb24gc2VlIHRoZQoiQXV0by1sb2FkaW5nIHNhZmUgcGF0aCIgc2VjdGlvbiBpbiB0aGUgR0RC IG1hbnVhbC4gIEUuZy4sIHJ1biBmcm9tIHRoZSBzaGVsbDoKICAgICAgICBpbmZvICIoZ2RiKUF1 dG8tbG9hZGluZyBzYWZlIHBhdGgiCldvcmtpbmcgZGlyZWN0b3J5IC9ob21lL3RhbWJld2lsbGlh bS9Eb2N1bWVudHMvYnVpbGRyb290LWJ1aWxkL3N0YWdpbmcKIChjYW5vbmljYWxseSAvaG9tZS90 YW1iZXdpbGxpYW0vRG9jdW1lbnRzL2J1aWxkcm9vdC1idWlsZC9ob3N0L3B1MzItYnVpbGRyb290 LWxpbnV4LWdudS9zeXNyb290KS4KUmVtb3RlIGRlYnVnZ2luZyB1c2luZyAvZGV2L3R0eVVTQjIK RGVidWcgb3V0cHV0IGVuYWJsZWQuClByb3RvY29sIGRlYnVnIG91dHB1dCBlbmFibGVkLgooZ2Ri KSBzZXQgcmVtb3RlIGV4ZWMtZmlsZSBiaW4vbHMKKGdkYikgZmlsZSBiaW4vbHMKUmVhZGluZyBz eW1ib2xzIGZyb20gYmluL2xzLi4uCihnZGIpCihnZGIpIHIgLWwgLwpTdGFydGluZyBwcm9ncmFt OiAvaG9tZS90YW1iZXdpbGxpYW0vRG9jdW1lbnRzL2J1aWxkcm9vdC1idWlsZC9ob3N0L3B1MzIt YnVpbGRyb290LWxpbnV4LWdudS9zeXNyb290L3Vzci9iaW4vbHMgLWwgLwpbcmVtb3RlXSBTZW5k aW5nIHBhY2tldDogJFFEaXNhYmxlUmFuZG9taXphdGlvbjoxI2NmCltyZW1vdGVdIFJlY2VpdmVk IEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6IE9LCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0 OiAkUVN0YXJ0dXBXaXRoU2hlbGw6MSM0MwpbcmVtb3RlXSBSZWNlaXZlZCBBY2sKW3JlbW90ZV0g UGFja2V0IHJlY2VpdmVkOiBPSwpbcmVtb3RlXSBTZW5kaW5nIHBhY2tldDogJFFFbnZpcm9ubWVu dFJlc2V0I2U5CltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6 IE9LCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0OiAkUVNldFdvcmtpbmdEaXI6MmYjNGYKW3JlbW90 ZV0gUmVjZWl2ZWQgQWNrCltyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogT0sKW3JlbW90ZV0gU2Vu ZGluZyBwYWNrZXQ6ICR2UnVuOzYyNjk2ZTJmNmM3MzsyZDZjOzJmIzMwCltyZW1vdGVdIFJlY2Vp dmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6IFQwNTAwOjAwMDAwMDAwOzBlOjAwMDAw MDAwOzBmOjAwMDAwMDAwOzEwOjAwMDAwMDAwO3RocmVhZDpwNWIuNWI7Y29yZTowOwpbcmVtb3Rl XSBwYWNrZXRfb2s6IFBhY2tldCB2UnVuIChydW4pIGlzIHN1cHBvcnRlZApbcmVtb3RlXSBTZW5k aW5nIHBhY2tldDogJHFBdHRhY2hlZDo1YiM2MApbcmVtb3RlXSBSZWNlaXZlZCBBY2sKW3JlbW90 ZV0gUGFja2V0IHJlY2VpdmVkOiAwCltyZW1vdGVdIHBhY2tldF9vazogUGFja2V0IHFBdHRhY2hl ZCAocXVlcnktYXR0YWNoZWQpIGlzIHN1cHBvcnRlZApbcmVtb3RlXSBTZW5kaW5nIHBhY2tldDog JHFYZmVyOmV4ZWMtZmlsZTpyZWFkOjViOjAsMTAwMCNiMApbcmVtb3RlXSBSZWNlaXZlZCBBY2sK W3JlbW90ZV0gUGFja2V0IHJlY2VpdmVkOiBsL3Vzci9iaW4vYnVzeWJveApbcmVtb3RlXSBTZW5k aW5nIHBhY2tldDogJHFPZmZzZXRzIzRiCltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQ YWNrZXQgcmVjZWl2ZWQ6CltyZW1vdGVdIFNlbmRpbmcgcGFja2V0OiAkSGdwNWIuNWIjN2IKW3Jl bW90ZV0gUmVjZWl2ZWQgQWNrCltyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogT0sKW3JlbW90ZV0g U2VuZGluZyBwYWNrZXQ6ICRxWGZlcjpmZWF0dXJlczpyZWFkOnRhcmdldC54bWw6MCwxMDAwIzBj CltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6IGw8P3htbCB2 ZXJzaW9uPSIxLjAiPz5cbjwhRE9DVFlQRSB0YXJnZXQgU1lTVEVNICJnZGItdGFyZ2V0LmR0ZCI+ XG48dGFyZ2V0PlxuICA8YXJjaGl0ZWN0dXJlPnB1MzI8L2FyY2hpdGVjdHVyZT5cbiAgPG9zYWJp PkdOVS9MaW51eDwvb3NhYmk+XG4gIDxmZWF0dXJlIG5hbWU9Im9yZy5nbnUuZ2RiLnB1MzIuY29y ZSI+XG4gICAgPHJlZyBuYW1lPSJzcCIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVt PSIwIi8+XG4gICAgPHJlZyBuYW1lPSJyMSIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVn bnVtPSIxIi8+XG4gICAgPHJlZyBuYW1lPSJyMiIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIg cmVnbnVtPSIyIi8+XG4gICAgPHJlZyBuYW1lPSJyMyIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQz MiIgcmVnbnVtPSIzIi8+XG4gICAgPHJlZyBuYW1lPSJyNCIgYml0c2l6ZT0iMzIiIHR5cGU9InVp bnQzMiIgcmVnbnVtPSI0Ii8+XG4gICAgPHJlZyBuYW1lPSJyNSIgYml0c2l6ZT0iMzIiIHR5cGU9 InUgWzcwNSBieXRlcyBvbWl0dGVkXQp3YXJuaW5nOiBUYXJnZXQtc3VwcGxpZWQgcmVnaXN0ZXJz IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGFyY2hpdGVjdHVyZQpbcmVtb3RlXSBT ZW5kaW5nIHBhY2tldDogJGcjNjcKW3JlbW90ZV0gUmVjZWl2ZWQgQWNrCltyZW1vdGVdIFBhY2tl dCByZWNlaXZlZDogeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eApbcmVtb3RlXSBTZW5kaW5nIHBhY2tl dDogJHFYZmVyOmxpYnJhcmllcy1zdnI0OnJlYWQ6OjAsMTAwMCMyMApbcmVtb3RlXSBSZWNlaXZl ZCBBY2sKW3JlbW90ZV0gUGFja2V0IHJlY2VpdmVkOiBFMDEKW3JlbW90ZV0gU2VuZGluZyBwYWNr ZXQ6ICRxWGZlcjphdXh2OnJlYWQ6OjAsMTAwMCM2YgpbcmVtb3RlXSBSZWNlaXZlZCBBY2sKW3Jl bW90ZV0gUGFja2V0IHJlY2VpdmVkOiBsXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBc MDA2XDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMjFcMDAwXDAwMFwwMDBkXDAwMFwwMDBc MDAwXDAwM1wwMDBcMDAwXDAwMDRcMDAwXDAwMFBcMDA0XDAwMFwwMDBcMDAwIFwwMDBcMDAwXDAw MFwwMDVcMDAwXDAwMFwwMDBcMDA0XDAwMFwwMDBcMDAwXGFcMDAwXDAwMFwwMDBcMDAwXDAwMFww MDBcMDAwXGJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXHRcMDAwXDAwMFwwMDBgXDAwM1ww MDBQXDAxM1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcZlwwMDBcMDAwXDAwMFwwMDBcMDAw XDAwMFwwMDBcclwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE2XDAwMFwwMDBcMDAwXDAw MFwwMDBcMDAwXDAwMFwwMjdcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAzMVwwMDBcMDAw XDAwMO+/vV/vv73vv71cMDM3XDAwMFwwMDBcMDAw77+9X++/ve+/vVwwMDBcMDAwXDAwMFwwMDBc MDAwXDAwMFwwMDBcMDAwCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0OiAkbTUwMDAwMDM0LDIwIzg3 CltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6IDAxMDAwMDAw MDAwMDAwMDAwMDAwMDA1MDAwMDAwMDUwZjljYjFjMDBmOWNiMWMwMDA1MDAwMDAwMDAxMDAwMDAK W3JlbW90ZV0gU2VuZGluZyBwYWNrZXQ6ICRtNTAwMDAwNTQsMjAjODkKW3JlbW90ZV0gUmVjZWl2 ZWQgQWNrCltyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogMDEwMDAwMDBmY2NiMWMwMGZjZGIxYzUw ZmNkYjFjNTBhNTE1MDAwMDFjMzcwMDAwMDYwMDAwMDAwMDEwMDAwMApbcmVtb3RlXSBTZW5kaW5n IHBhY2tldDogJG01MDAwMDA3NCwyMCM4YgpbcmVtb3RlXSBSZWNlaXZlZCBBY2sKW3JlbW90ZV0g UGFja2V0IHJlY2VpdmVkOiAwNDAwMDAwMGI0MDAwMDAwYjQwMDAwNTBiNDAwMDA1MDIwMDAwMDAw MjAwMDAwMDAwNDAwMDAwMDA0MDAwMDAwCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0OiAkbTUwMDAw MDk0LDIwIzhkCltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6 IDA3MDAwMDAwZmNjYjFjMDBmY2RiMWM1MGZjZGIxYzUwMTgwMDAwMDA1NDAwMDAwMDA0MDAwMDAw MDQwMDAwMDAKW3JlbW90ZV0gU2VuZGluZyBwYWNrZXQ6ICRtNTAwMDAwMzQsMjAjODcKW3JlbW90 ZV0gUmVjZWl2ZWQgQWNrCltyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogMDEwMDAwMDAwMDAwMDAw MDAwMDAwMDUwMDAwMDAwNTBmOWNiMWMwMGY5Y2IxYzAwMDUwMDAwMDAwMDEwMDAwMApbcmVtb3Rl XSBTZW5kaW5nIHBhY2tldDogJG01MDAwMDA1NCwyMCM4OQpbcmVtb3RlXSBSZWNlaXZlZCBBY2sK W3JlbW90ZV0gUGFja2V0IHJlY2VpdmVkOiAwMTAwMDAwMGZjY2IxYzAwZmNkYjFjNTBmY2RiMWM1 MGE1MTUwMDAwMWMzNzAwMDAwNjAwMDAwMDAwMTAwMDAwCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0 OiAkbTUwMDAwMDc0LDIwIzhiCltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQg cmVjZWl2ZWQ6IDA0MDAwMDAwYjQwMDAwMDBiNDAwMDA1MGI0MDAwMDUwMjAwMDAwMDAyMDAwMDAw MDA0MDAwMDAwMDQwMDAwMDAKW3JlbW90ZV0gU2VuZGluZyBwYWNrZXQ6ICRtNTAwMDAwOTQsMjAj OGQKW3JlbW90ZV0gUmVjZWl2ZWQgQWNrCltyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogMDcwMDAw MDBmY2NiMWMwMGZjZGIxYzUwZmNkYjFjNTAxODAwMDAwMDU0MDAwMDAwMDQwMDAwMDAwNDAwMDAw MApbcmVtb3RlXSBTZW5kaW5nIHBhY2tldDogJG01MDAwMDAzNCwyMCM4NwpbcmVtb3RlXSBSZWNl aXZlZCBBY2sKW3JlbW90ZV0gUGFja2V0IHJlY2VpdmVkOiAwMTAwMDAwMDAwMDAwMDAwMDAwMDAw NTAwMDAwMDA1MGY5Y2IxYzAwZjljYjFjMDAwNTAwMDAwMDAwMTAwMDAwCltyZW1vdGVdIFNlbmRp bmcgcGFja2V0OiAkbTUwMDAwMDU0LDIwIzg5CltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3Rl XSBQYWNrZXQgcmVjZWl2ZWQ6IDAxMDAwMDAwZmNjYjFjMDBmY2RiMWM1MGZjZGIxYzUwYTUxNTAw MDAxYzM3MDAwMDA2MDAwMDAwMDAxMDAwMDAKW3JlbW90ZV0gU2VuZGluZyBwYWNrZXQ6ICRtNTAw MDAwNzQsMjAjOGIKW3JlbW90ZV0gUmVjZWl2ZWQgQWNrCltyZW1vdGVdIFBhY2tldCByZWNlaXZl ZDogMDQwMDAwMDBiNDAwMDAwMGI0MDAwMDUwYjQwMDAwNTAyMDAwMDAwMDIwMDAwMDAwMDQwMDAw MDAwNDAwMDAwMApbcmVtb3RlXSBTZW5kaW5nIHBhY2tldDogJG01MDAwMDA5NCwyMCM4ZApbcmVt b3RlXSBSZWNlaXZlZCBBY2sKW3JlbW90ZV0gUGFja2V0IHJlY2VpdmVkOiAwNzAwMDAwMGZjY2Ix YzAwZmNkYjFjNTBmY2RiMWM1MDE4MDAwMDAwNTQwMDAwMDAwNDAwMDAwMDA0MDAwMDAwCltyZW1v dGVdIFNlbmRpbmcgcGFja2V0OiAkbTUwMWQwNjM0LDQjOTQKW3JlbW90ZV0gUmVjZWl2ZWQgQWNr CltyZW1vdGVdIFBhY2tldCByZWNlaXZlZDogMDAwMDAwMDAKW3JlbW90ZV0gU2VuZGluZyBwYWNr ZXQ6ICRtNTAxZDA2MzAsNCM5MApbcmVtb3RlXSBSZWNlaXZlZCBBY2sKW3JlbW90ZV0gUGFja2V0 IHJlY2VpdmVkOiAwMDAwMDAwMApbcmVtb3RlXSBTZW5kaW5nIHBhY2tldDogJG01MDFkMDYzNCw0 Izk0CltyZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6IDAwMDAw MDAwCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0OiAkbTUwMDAwMDM0LDIwIzg3CltyZW1vdGVdIFJl Y2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6IDAxMDAwMDAwMDAwMDAwMDAwMDAw MDA1MDAwMDAwMDUwZjljYjFjMDBmOWNiMWMwMDA1MDAwMDAwMDAxMDAwMDAKW3JlbW90ZV0gU2Vu ZGluZyBwYWNrZXQ6ICRtNTAwMDAwNTQsMjAjODkKW3JlbW90ZV0gUmVjZWl2ZWQgQWNrCltyZW1v dGVdIFBhY2tldCByZWNlaXZlZDogMDEwMDAwMDBmY2NiMWMwMGZjZGIxYzUwZmNkYjFjNTBhNTE1 MDAwMDFjMzcwMDAwMDYwMDAwMDAwMDEwMDAwMApbcmVtb3RlXSBTZW5kaW5nIHBhY2tldDogJG01 MDAwMDA3NCwyMCM4YgpbcmVtb3RlXSBSZWNlaXZlZCBBY2sKW3JlbW90ZV0gUGFja2V0IHJlY2Vp dmVkOiAwNDAwMDAwMGI0MDAwMDAwYjQwMDAwNTBiNDAwMDA1MDIwMDAwMDAwMjAwMDAwMDAwNDAw MDAwMDA0MDAwMDAwCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0OiAkbTUwMDAwMDk0LDIwIzhkClty ZW1vdGVdIFJlY2VpdmVkIEFjawpbcmVtb3RlXSBQYWNrZXQgcmVjZWl2ZWQ6IDA3MDAwMDAwZmNj YjFjMDBmY2RiMWM1MGZjZGIxYzUwMTgwMDAwMDA1NDAwMDAwMDA0MDAwMDAwMDQwMDAwMDAKW3Jl bW90ZV0gU2VuZGluZyBwYWNrZXQ6ICRtNTAxNDI1YjQsMiM5MgpbcmVtb3RlXSBSZWNlaXZlZCBB Y2sKW3JlbW90ZV0gUGFja2V0IHJlY2VpdmVkOiBkMWZmCltyZW1vdGVdIFNlbmRpbmcgcGFja2V0 OiAkbTUwMTk3Y2UyLDIjY2IKW3JlbW90ZV0gUmVjZWl2ZWQgQWNrCltyZW1vdGVdIFBhY2tldCBy ZWNlaXZlZDogZDFmZgpQQyByZWdpc3RlciBpcyBub3QgYXZhaWxhYmxlCihnZGIpIFtyZW1vdGVd IHdhaXQ6IGVudGVyCltyZW1vdGVdIHdhaXQ6IGV4aXQKCihnZGIpIGluZm8gcmVnaXN0ZXJzCnIw ICAgICAgICAgICAgIDx1bmF2YWlsYWJsZT4KcjEgICAgICAgICAgICAgPHVuYXZhaWxhYmxlPgpy MiAgICAgICAgICAgICA8dW5hdmFpbGFibGU+CnIzICAgICAgICAgICAgIDx1bmF2YWlsYWJsZT4K cjQgICAgICAgICAgICAgPHVuYXZhaWxhYmxlPgpyNSAgICAgICAgICAgICA8dW5hdmFpbGFibGU+ CnI2ICAgICAgICAgICAgIDx1bmF2YWlsYWJsZT4KcjcgICAgICAgICAgICAgPHVuYXZhaWxhYmxl PgpyOCAgICAgICAgICAgICA8dW5hdmFpbGFibGU+CnI5ICAgICAgICAgICAgIDx1bmF2YWlsYWJs ZT4KcjEwICAgICAgICAgICAgPHVuYXZhaWxhYmxlPgpyMTEgICAgICAgICAgICA8dW5hdmFpbGFi bGU+CnIxMiAgICAgICAgICAgIDx1bmF2YWlsYWJsZT4KcjEzICAgICAgICAgICAgPHVuYXZhaWxh YmxlPgpyMTQgICAgICAgICAgICA8dW5hdmFpbGFibGU+CnIxNSAgICAgICAgICAgIDx1bmF2YWls YWJsZT4KcGMgICAgICAgICAgICAgPHVuYXZhaWxhYmxlPgooZ2RiKQo= --0000000000006e0dd305d9429bdf Content-Type: text/plain; charset="US-ASCII"; name="gdbserver.txt" Content-Disposition: attachment; filename="gdbserver.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l0a1pbv21 cm9vdEBidWlsZHJvb3Q6fgojIGdkYnNlcnZlciAtLWRlYnVnIC0tcmVtb3RlLWRlYnVnIC0tbXVs dGkgL2Rldi90dHlTMSAmClsyXSA4Nwpyb290QGJ1aWxkcm9vdDp+CiMKcm9vdEBidWlsZHJvb3Q6 fgojCnJvb3RAYnVpbGRyb290On4KIwpyb290QGJ1aWxkcm9vdDp+CiMgc2lnY2hsZF9oYW5kbGVy CnNpZ2NobGRfaGFuZGxlcgpzaWdjaGxkX2hhbmRsZXIKc2lnY2hsZF9oYW5kbGVyCnNpZ2NobGRf aGFuZGxlcgpSZW1vdGUgZGVidWdnaW5nIHVzaW5nIC9kZXYvdHR5UzEKCnJvb3RAYnVpbGRyb290 On4KIyBoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKW2dldHBrdDogZGlzY2FyZGluZyBj aGFyICcrJ10KZ2V0cGt0ICgicVN1cHBvcnRlZDptdWx0aXByb2Nlc3MrO3N3YnJlYWsrO2h3YnJl YWsrO3FSZWxvY0luc24rO2ZvcmstZXZlbnRzKzt2Zm9yay1ldmVudHMrO2V4ZWMtZXZlbnRzKzt2 Q29udFN1cHBvcnRlZCs7UVRocmVhZEV2ZW50cys7bm8tcmVzdW1lZCs7bWVtb3J5LXRhZ2dpbmcr Iik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJFBhY2tldFNpemU9NDdmZjtR UGFzc1NpZ25hbHMrO1FQcm9ncmFtU2lnbmFscys7UVN0YXJ0dXBXaXRoU2hlbGwrO1FFbnZpcm9u bWVudEhleEVuY29kZWQrO1FFbnZpcm9ubWVudFJlc2V0KztRRW52aXJvbm1lbnRVbnNldCs7UVNl dFdvcmtpbmdEaXIrO3FYZmVyOmxpYnJhcmllcy1zdnI0OnJlYWQrO2F1Z21lbnRlZC1saWJyYXJp ZXMtc3ZyNC1yZWFkKztxWGZlcjphdXh2OnJlYWQrO3FYZmVyOnNpZ2luZm86cmVhZCs7cVhmZXI6 c2lnaW5mbzp3cml0ZSs7cVhmZXI6ZmVhdHVyZXM6cmVhZCs7cVhmZXI6b3NkYXRhOnJlYWQrO211 bHRpcHJvY2Vzcys7Zm9yay1ldmVudHMrO3Zmb3JrLWV2ZW50cys7ZXhlYy1ldmVudHMrO1FOb25T dG9wKztRRGlzYWJsZVJhbmRvbWl6YXRpb24rO3FYZmVyOnRocmVhZHM6cmVhZCs7Q29uZGl0aW9u YWxCcmVha3BvaW50cys7QnJlYWtwb2ludENvbW1hbmRzKztRQWdlbnQrO1FidHJhY2U6YnRzKztR YnRyYWNlLWNvbmY6YnRzOnNpemUrO1FidHJhY2U6cHQrO1FidHJhY2UtY29uZjpwdDpzaXplKztR YnRyYWNlOm9mZis7cVhmZXI6YnRyYWNlOnJlYWQrO3FYZmVyOmJ0cmFjZS1jb25mOnJlYWQrO3N3 YnJlYWsrO2h3YnJlYWsrO3FYZmVyOmV4ZWMtZmlsZTpyZWFkKzt2Q29udFN1cHBvcnRlZCs7UVRo cmVhZEV2ZW50cys7bm8tcmVzdW1lZCsjMjEiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVk ICcrJyAoMHgyYildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJ2TXVz dFJlcGx5RW1wdHkiKTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkIzAwIik7 IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJs ZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgiISIpOyAgW3NlbmRpbmcgYWNrXQpbc2VudCBhY2tdCnB1 dHBrdCAoIiRPSyM5YSIpOyBbbG9va2luZyBmb3IgYWNrXQpbcmVjZWl2ZWQgJysnICgweDJiKV0K aGFuZGxpbmcgcG9zc2libGUgc2VyaWFsIGV2ZW50CmdldHBrdCAoIlFQcm9ncmFtU2lnbmFsczow OzE7Mzs0OzY7Nzs4Ozk7YTtiO2M7ZDtlO2Y7MTA7MTE7MTI7MTM7MTQ7MTU7MTY7MTc7MTg7MTk7 MWE7MWI7MWM7MWQ7MWU7MWY7MjA7MjE7MjI7MjM7MjQ7MjU7MjY7Mjc7Mjg7Mjk7MmE7MmI7MmM7 MmQ7MmU7MmY7MzA7MzE7MzI7MzM7MzQ7MzU7MzY7Mzc7Mzg7Mzk7M2E7M2I7M2M7M2Q7M2U7M2Y7 NDA7NDE7NDI7NDM7NDQ7NDU7NDY7NDc7NDg7NDk7NGE7NGI7NGM7NGQ7NGU7NGY7NTA7NTE7NTI7 NTM7NTQ7NTU7NTY7NTc7NTg7NTk7NWE7NWI7NWM7NWQ7NWU7NWY7NjA7NjE7NjI7NjM7NjQ7NjU7 NjY7Njc7Njg7Njk7NmE7NmI7NmM7NmQ7NmU7NmY7NzA7NzE7NzI7NzM7NzQ7NzU7NzY7Nzc7Nzg7 Nzk7N2E7N2I7N2M7N2Q7N2U7N2Y7ODA7ODE7ODI7ODM7ODQ7ODU7ODY7ODc7ODg7ODk7OGE7OGI7 OGM7OGQ7OGU7OGY7OTA7OTE7OTI7OTM7OTQ7OTU7OTY7OTc7Iik7ICBbc2VuZGluZyBhY2tdCltz ZW50IGFja10KcHV0cGt0ICgiJE9LIzlhIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAn KycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgiSGdwMC4w Iik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJEUwMSNhNiIpOyBbbG9va2lu ZyBmb3IgYWNrXQpbcmVjZWl2ZWQgJysnICgweDJiKV0KaGFuZGxpbmcgcG9zc2libGUgc2VyaWFs IGV2ZW50CmdldHBrdCAoInFYZmVyOmZlYXR1cmVzOnJlYWQ6dGFyZ2V0LnhtbDowLDEwMDAiKTsg IFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkRTAxI2E2Iik7IFtsb29raW5nIGZv ciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZl bnQKZ2V0cGt0ICgiUU5vblN0b3A6MCIpOyAgW3NlbmRpbmcgYWNrXQpbc2VudCBhY2tdCmxpbnV4 X2FzeW5jICgwKSwgcHJldmlvdXM9MApbYWxsLXN0b3AgbW9kZSBlbmFibGVkXQpwdXRwa3QgKCIk T0sjOWEiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgyYildCmhhbmRsaW5n IHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJxVFN0YXR1cyIpOyAgW3NlbmRpbmcgYWNr XQpbc2VudCBhY2tdCnB1dHBrdCAoIiQjMDAiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVk ICcrJyAoMHgyYildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCI/Iik7 ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KPj4+PiBlbnRlcmluZyB2b2lkIGxpbnV4X3Byb2Nl c3NfdGFyZ2V0OjpzdG9wX2FsbF9sd3BzKGludCwgbHdwX2luZm8qKQpzdG9wX2FsbF9sd3BzIChz dG9wLCBleGNlcHQ9bm9uZSkKd2FpdF9mb3Jfc2lnc3RvcDogcHVsbGluZyBldmVudHMKTFdGRTog d2FpdHBpZCgtMSwgLi4uKSByZXR1cm5lZCAtMSwKTExXOiBleGl0IChubyB1bndhaXRlZC1mb3Ig TFdQKQpzdG9wX2FsbF9sd3BzIGRvbmUsIHNldHRpbmcgc3RvcHBpbmdfdGhyZWFkcyBiYWNrIHRv ICFzdG9wcGluZwo8PDw8IGV4aXRpbmcgdm9pZCBsaW51eF9wcm9jZXNzX3RhcmdldDo6c3RvcF9h bGxfbHdwcyhpbnQsIGx3cF9pbmZvKikKcHV0cGt0ICgiJFcwMCNiNyIpOyBbbG9va2luZyBmb3Ig YWNrXQpbcmVjZWl2ZWQgJysnICgweDJiKV0KaGFuZGxpbmcgcG9zc2libGUgc2VyaWFsIGV2ZW50 CmdldHBrdCAoInFSY21kLDczNjU3NDIwNjQ2NTYyNzU2NzIwMzEiKTsgIFtzZW5kaW5nIGFja10K W3NlbnQgYWNrXQpwdXRwa3QgKCIkTzQ0NjU2Mjc1NjcyMDZmNzU3NDcwNzU3NDIwNjU2ZTYxNjI2 YzY1NjQyZTBhIzQzIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpw dXRwa3QgKCIkT0sjOWEiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgyYild CmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJxUmNtZCw3MzY1NzQyMDcy NjU2ZDZmNzQ2NTJkNjQ2NTYyNzU2NzIwMzEiKTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpw dXRwa3QgKCIkTzUwNzI2Zjc0NmY2MzZmNmMyMDY0NjU2Mjc1NjcyMDZmNzU3NDcwNzU3NDIwNjU2 ZTYxNjI2YzY1NjQyZTBhI2I2Iik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4 MmIpXQpwdXRwa3QgKCIkT0sjOWEiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAo MHgyYildCgpyb290QGJ1aWxkcm9vdDp+CiMgaGFuZGxpbmcgcG9zc2libGUgc2VyaWFsIGV2ZW50 CmdldHBrdCAoIlFEaXNhYmxlUmFuZG9taXphdGlvbjoxIik7ICBbc2VuZGluZyBhY2tdCltzZW50 IGFja10KW2FkZHJlc3Mgc3BhY2UgcmFuZG9taXphdGlvbiBkaXNhYmxlZF0KcHV0cGt0ICgiJE9L IzlhIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBw b3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgiUVN0YXJ0dXBXaXRoU2hlbGw6MSIpOyAgW3Nl bmRpbmcgYWNrXQpbc2VudCBhY2tdCltJbmZlcmlvciB3aWxsIGJlIHN0YXJ0ZWQgd2l0aCBzaGVs bF1wdXRwa3QgKCIkT0sjOWEiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgy YildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJRRW52aXJvbm1lbnRS ZXNldCIpOyAgW3NlbmRpbmcgYWNrXQpbc2VudCBhY2tdCnB1dHBrdCAoIiRPSyM5YSIpOyBbbG9v a2luZyBmb3IgYWNrXQpbcmVjZWl2ZWQgJysnICgweDJiKV0KaGFuZGxpbmcgcG9zc2libGUgc2Vy aWFsIGV2ZW50CmdldHBrdCAoIlFTZXRXb3JraW5nRGlyOjJmIik7ICBbc2VuZGluZyBhY2tdCltz ZW50IGFja10KW1NldCB0aGUgaW5mZXJpb3IncyBjdXJyZW50IGRpcmVjdG9yeSB0byAvXQpwdXRw a3QgKCIkT0sjOWEiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgyYildCmhh bmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJ2UnVuOzYyNjk2ZTJmNmM3Mzsy ZDZjOzJmIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KYXJnczogLWwgLwo+Pj4+IGVudGVy aW5nIHB0aWRfdCBsaW51eF9wcm9jZXNzX3RhcmdldDo6d2FpdF8xKHB0aWRfdCwgdGFyZ2V0X3dh aXRzdGF0dXMqLCB0YXJnZXRfd2FpdF9mbGFncykKd2FpdF8xOiBbUHJvY2VzcyA5MV0KTFdGRTog d2FpdHBpZCgtMSwgLi4uKSByZXR1cm5lZCAwLCBFUlJOTy1PSwpsZWFkZXJfcGlkPTkxLCBsZWFk ZXJfbHAhPU5VTEw9MSwgbnVtX2x3cHM9MSwgem9tYmllPTAKc2lnc3VzcGVuZCdpbmcKc2lnY2hs ZF9oYW5kbGVyCkxXRkU6IHdhaXRwaWQoLTEsIC4uLikgcmV0dXJuZWQgOTEsIEVSUk5PLU9LCkxM Vzogd2FpdHBpZCA5MSByZWNlaXZlZCBTSUdUUkFQIC0gVHJhY2UvYnJlYWtwb2ludCB0cmFwIChz dG9wcGVkKQpMV0ZFOiB3YWl0cGlkKC0xLCAuLi4pIHJldHVybmVkIDAsIEVSUk5PLU9LCkhpdCBh IG5vbi1nZGJzZXJ2ZXIgdHJhcCBldmVudC4KPj4+PiBlbnRlcmluZyB2b2lkIGxpbnV4X3Byb2Nl c3NfdGFyZ2V0OjpzdG9wX2FsbF9sd3BzKGludCwgbHdwX2luZm8qKQpzdG9wX2FsbF9sd3BzIChz dG9wLCBleGNlcHQ9bm9uZSkKd2FpdF9mb3Jfc2lnc3RvcDogcHVsbGluZyBldmVudHMKTFdGRTog d2FpdHBpZCgtMSwgLi4uKSByZXR1cm5lZCAwLCBFUlJOTy1PSwpsZWFkZXJfcGlkPTkxLCBsZWFk ZXJfbHAhPU5VTEw9MSwgbnVtX2x3cHM9MSwgem9tYmllPTAKTExXOiBleGl0IChubyB1bndhaXRl ZC1mb3IgTFdQKQpzdG9wX2FsbF9sd3BzIGRvbmUsIHNldHRpbmcgc3RvcHBpbmdfdGhyZWFkcyBi YWNrIHRvICFzdG9wcGluZwo8PDw8IGV4aXRpbmcgdm9pZCBsaW51eF9wcm9jZXNzX3RhcmdldDo6 c3RvcF9hbGxfbHdwcyhpbnQsIGx3cF9pbmZvKikKQ2hlY2tpbmcgd2hldGhlciBMV1AgOTEgbmVl ZHMgdG8gbW92ZSBvdXQgb2YgdGhlIGp1bXAgcGFkLi4ubm8Kd2FpdF8xIHJldCA9IExXUCA5MS45 MSwgMSwgNQo8PDw8IGV4aXRpbmcgcHRpZF90IGxpbnV4X3Byb2Nlc3NfdGFyZ2V0Ojp3YWl0XzEo cHRpZF90LCB0YXJnZXRfd2FpdHN0YXR1cyosIHRhcmdldF93YWl0X2ZsYWdzKQo+Pj4+IGVudGVy aW5nIHZpcnR1YWwgdm9pZCBsaW51eF9wcm9jZXNzX3RhcmdldDo6cmVzdW1lKHRocmVhZF9yZXN1 bWUqLCBzaXplX3QpCmxpbnV4X3Jlc3VtZToKYWxyZWFkeSBjb250aW51aW5nIExXUCA5MSBhdCBH REIncyByZXF1ZXN0ClJlc3VtaW5nLCBubyBwZW5kaW5nIHN0YXR1cyBvciBzdGVwIG92ZXIgbmVl ZGVkCmxpbnV4X3Jlc3VtZSBkb25lCjw8PDwgZXhpdGluZyB2aXJ0dWFsIHZvaWQgbGludXhfcHJv Y2Vzc190YXJnZXQ6OnJlc3VtZSh0aHJlYWRfcmVzdW1lKiwgc2l6ZV90KQo+Pj4+IGVudGVyaW5n IHB0aWRfdCBsaW51eF9wcm9jZXNzX3RhcmdldDo6d2FpdF8xKHB0aWRfdCwgdGFyZ2V0X3dhaXRz dGF0dXMqLCB0YXJnZXRfd2FpdF9mbGFncykKd2FpdF8xOiBbUHJvY2VzcyA5MV0KTFdGRTogd2Fp dHBpZCgtMSwgLi4uKSByZXR1cm5lZCAwLCBFUlJOTy1PSwpSU1JMOiByZXN1bWluZyBzdG9wcGVk LXJlc3VtZWQgTFdQIExXUCA5MS45MSBhdCAwOiBzdGVwPTAKUmVzdW1pbmcgbHdwIDkxIChjb250 aW51ZSwgc2lnbmFsIDAsIHN0b3Agbm90IGV4cGVjdGVkKQpsZWFkZXJfcGlkPTkxLCBsZWFkZXJf bHAhPU5VTEw9MSwgbnVtX2x3cHM9MSwgem9tYmllPTAKc2lnc3VzcGVuZCdpbmcKc2lnY2hsZF9o YW5kbGVyCkxXRkU6IHdhaXRwaWQoLTEsIC4uLikgcmV0dXJuZWQgOTEsIEVSUk5PLU9LCkxMVzog d2FpdHBpZCA5MSByZWNlaXZlZCBTSUdUUkFQIC0gVHJhY2UvYnJlYWtwb2ludCB0cmFwIChzdG9w cGVkKQpMV0ZFOiB3YWl0cGlkKC0xLCAuLi4pIHJldHVybmVkIDAsIEVSUk5PLU9LCkhpdCBhIG5v bi1nZGJzZXJ2ZXIgdHJhcCBldmVudC4KPj4+PiBlbnRlcmluZyB2b2lkIGxpbnV4X3Byb2Nlc3Nf dGFyZ2V0OjpzdG9wX2FsbF9sd3BzKGludCwgbHdwX2luZm8qKQpzdG9wX2FsbF9sd3BzIChzdG9w LCBleGNlcHQ9bm9uZSkKd2FpdF9mb3Jfc2lnc3RvcDogcHVsbGluZyBldmVudHMKTFdGRTogd2Fp dHBpZCgtMSwgLi4uKSByZXR1cm5lZCAwLCBFUlJOTy1PSwpsZWFkZXJfcGlkPTkxLCBsZWFkZXJf bHAhPU5VTEw9MSwgbnVtX2x3cHM9MSwgem9tYmllPTAKTExXOiBleGl0IChubyB1bndhaXRlZC1m b3IgTFdQKQpzdG9wX2FsbF9sd3BzIGRvbmUsIHNldHRpbmcgc3RvcHBpbmdfdGhyZWFkcyBiYWNr IHRvICFzdG9wcGluZwo8PDw8IGV4aXRpbmcgdm9pZCBsaW51eF9wcm9jZXNzX3RhcmdldDo6c3Rv cF9hbGxfbHdwcyhpbnQsIGx3cF9pbmZvKikKQ2hlY2tpbmcgd2hldGhlciBMV1AgOTEgbmVlZHMg dG8gbW92ZSBvdXQgb2YgdGhlIGp1bXAgcGFkLi4ubm8Kd2FpdF8xIHJldCA9IExXUCA5MS45MSwg MSwgNQo8PDw8IGV4aXRpbmcgcHRpZF90IGxpbnV4X3Byb2Nlc3NfdGFyZ2V0Ojp3YWl0XzEocHRp ZF90LCB0YXJnZXRfd2FpdHN0YXR1cyosIHRhcmdldF93YWl0X2ZsYWdzKQpQcm9jZXNzIGJpbi9s cyBjcmVhdGVkOyBwaWQgPSA5MQpXcml0aW5nIHJlc3VtZSByZXBseSBmb3IgTFdQIDkxLjkxOjEK cHV0cGt0ICgiJFQwNTAwOjAqIjAwOzBlOjAqIjAwOzBmOjAqIjAwOzEwOjAqIjAwO3RocmVhZDpw NWIuNWI7Y29yZTowOyNmMCIpOyBbbG9va2luZyBmb3IgYWNrXQpbcmVjZWl2ZWQgJysnICgweDJi KV0KaGFuZGxpbmcgcG9zc2libGUgc2VyaWFsIGV2ZW50CmdldHBrdCAoInFBdHRhY2hlZDo1YiIp OyAgW3NlbmRpbmcgYWNrXQpbc2VudCBhY2tdCnB1dHBrdCAoIiQwIzMwIik7IFtsb29raW5nIGZv ciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZl bnQKZ2V0cGt0ICgicVhmZXI6ZXhlYy1maWxlOnJlYWQ6NWI6MCwxMDAwIik7ICBbc2VuZGluZyBh Y2tdCltzZW50IGFja10KcHV0cGt0ICgiJGwvdXNyL2Jpbi9idXN5Ym94Izk4Iik7IFtsb29raW5n IGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwg ZXZlbnQKZ2V0cGt0ICgicU9mZnNldHMiKTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRw a3QgKCIkIzAwIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5k bGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgiSGdwNWIuNWIiKTsgIFtzZW5kaW5n IGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkT0sjOWEiKTsgW2xvb2tpbmcgZm9yIGFja10KW3Jl Y2VpdmVkICcrJyAoMHgyYildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3Qg KCJxWGZlcjpmZWF0dXJlczpyZWFkOnRhcmdldC54bWw6MCwxMDAwIik7ICBbc2VuZGluZyBhY2td CltzZW50IGFja10KcHV0cGt0ICgiJGw8P3htbCB2ZXJzaW9uPSIxLjAiPz4KPCFET0NUWVBFIHRh cmdldCBTWVNURU0gImdkYi10YXJnZXQuZHRkIj4KPHRhcmdldD4KICA8YXJjaGl0ZWN0dXJlPnB1 MzI8L2FyY2hpdGVjdHVyZT4KICA8b3NhYmk+R05VL0xpbnV4PC9vc2FiaT4KICA8ZmVhdHVyZSBu YW1lPSJvcmcuZ251LmdkYi5wdTMyLmNvcmUiPgogKiA8cmVnIG5hbWU9InNwIiBiaXRzaXplPSIz MiIgdHlwZT0idWludDMyIiByZWdudW09IjAiLz4KICogPHJlZyBuYW1lPSJyMSIgYml0c2l6ZT0i MzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIxIi8+CiAqIDxyZWcgbmFtZT0icjIiIGJpdHNpemU9 IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMiIvPgogKiA8cmVnIG5hbWU9InIzIiBiaXRzaXpl PSIzMiIgdHlwZT0idWludDMyIiByZWdudW09IjMiLz4KICogPHJlZyBuYW1lPSJyNCIgYml0c2l6 ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSI0Ii8+CiAqIDxyZWcgbmFtZT0icjUiIGJpdHNp emU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iNSIvPgogKiA8cmVnIG5hbWU9InI2IiBiaXRz aXplPSIzMiIgdHlwZT0idWludDMyIiByZWdudW09IjYiLz4KICogPHJlZyBuYW1lPSJyNyIgYml0 c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSI3Ii8+CiAqIDxyZWcgbmFtZT0icjgiIGJp dHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iOCIvPgogKiA8cmVnIG5hbWU9InI5IiBi aXRzaXplPSIzMiIgdHlwZT0idWludDMyIiByZWdudW09IjkiLz4KICogPHJlZyBuYW1lPSJyMTAi IGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTAiLz4KICogPHJlZyBuYW1lPSJy MTEiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTEiLz4KICogPHJlZyBuYW1l PSJyMTIiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTIiLz4KICogPHJlZyBu YW1lPSJyMTMiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTMiLz4KICogPHJl ZyBuYW1lPSJyMTQiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTQiLz4KICog PHJlZyBuYW1lPSJyMTUiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTUiLz4K ICogPHJlZyBuYW1lPSJwYyIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIxNiIv PgogIDwvZmVhdHVyZT4KPC90YXJnZXQ+CiNlZiIpOyBbbG9va2luZyBmb3IgYWNrXQpbcmVjZWl2 ZWQgJysnICgweDJiKV0KaGFuZGxpbmcgcG9zc2libGUgc2VyaWFsIGV2ZW50CmdldHBrdCAoImci KTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkeCp9eCpDIzA0Iik7IFtsb29r aW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJp YWwgZXZlbnQKZ2V0cGt0ICgicVhmZXI6bGlicmFyaWVzLXN2cjQ6cmVhZDo6MCwxMDAwIik7ICBb c2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJEUwMSNhNiIpOyBbbG9va2luZyBmb3Ig YWNrXQpbcmVjZWl2ZWQgJysnICgweDJiKV0KaGFuZGxpbmcgcG9zc2libGUgc2VyaWFsIGV2ZW50 CmdldHBrdCAoInFYZmVyOmF1eHY6cmVhZDo6MCwxMDAwIik7ICBbc2VuZGluZyBhY2tdCltzZW50 IGFja10KcHV0cGt0ICgiJGwiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgy YildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJtNTAwMDAwMzQsMjAi KTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkMDEwKjA1MCoiMDUwZjljYjFj MDBmOWNiMWMwMDA1MCoiMDAxMCohI2NlIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAn KycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAw MDU0LDIwIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJDAxMCoiZmNjYjFj MDBmY2RiMWM1MGZjZGIxYzUwYTUxNTAqIDFjMzcwKiE2MCoiMDAxMCohIzFjIik7IFtsb29raW5n IGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwg ZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDc0LDIwIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10K cHV0cGt0ICgiJDA0MCoiYjQwKiJiNDAqIDUwYjQwKiA1MDIwKiIwMjAqIjAwNDAqIjA0MCoiIzU4 Iik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3Nz aWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDk0LDIwIik7ICBbc2VuZGluZyBhY2td CltzZW50IGFja10KcHV0cGt0ICgiJDA3MCoiZmNjYjFjMDBmY2RiMWM1MGZjZGIxYzUwMTgwKiI1 NDAqIjA0MCoiMDQwKiIjZmYiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgy YildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJtNTAwMDAwMzQsMjAi KTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkMDEwKjA1MCoiMDUwZjljYjFj MDBmOWNiMWMwMDA1MCoiMDAxMCohI2NlIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAn KycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAw MDU0LDIwIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJDAxMCoiZmNjYjFj MDBmY2RiMWM1MGZjZGIxYzUwYTUxNTAqIDFjMzcwKiE2MCoiMDAxMCohIzFjIik7IFtsb29raW5n IGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwg ZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDc0LDIwIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10K cHV0cGt0ICgiJDA0MCoiYjQwKiJiNDAqIDUwYjQwKiA1MDIwKiIwMjAqIjAwNDAqIjA0MCoiIzU4 Iik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3Nz aWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDk0LDIwIik7ICBbc2VuZGluZyBhY2td CltzZW50IGFja10KcHV0cGt0ICgiJDA3MCoiZmNjYjFjMDBmY2RiMWM1MGZjZGIxYzUwMTgwKiI1 NDAqIjA0MCoiMDQwKiIjZmYiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgy YildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJtNTAwMDAwMzQsMjAi KTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkMDEwKjA1MCoiMDUwZjljYjFj MDBmOWNiMWMwMDA1MCoiMDAxMCohI2NlIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAn KycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAw MDU0LDIwIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJDAxMCoiZmNjYjFj MDBmY2RiMWM1MGZjZGIxYzUwYTUxNTAqIDFjMzcwKiE2MCoiMDAxMCohIzFjIik7IFtsb29raW5n IGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwg ZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDc0LDIwIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10K cHV0cGt0ICgiJDA0MCoiYjQwKiJiNDAqIDUwYjQwKiA1MDIwKiIwMjAqIjAwNDAqIjA0MCoiIzU4 Iik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3Nz aWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDk0LDIwIik7ICBbc2VuZGluZyBhY2td CltzZW50IGFja10KcHV0cGt0ICgiJDA3MCoiZmNjYjFjMDBmY2RiMWM1MGZjZGIxYzUwMTgwKiI1 NDAqIjA0MCoiMDQwKiIjZmYiKTsgW2xvb2tpbmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgy YildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlhbCBldmVudApnZXRwa3QgKCJtNTAxZDA2MzQsNCIp OyAgW3NlbmRpbmcgYWNrXQpbc2VudCBhY2tdCnB1dHBrdCAoIiQwKiIwMCNkYyIpOyBbbG9va2lu ZyBmb3IgYWNrXQpbcmVjZWl2ZWQgJysnICgweDJiKV0KaGFuZGxpbmcgcG9zc2libGUgc2VyaWFs IGV2ZW50CmdldHBrdCAoIm01MDFkMDYzMCw0Iik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10K cHV0cGt0ICgiJDAqIjAwI2RjIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4 MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMWQwNjM0LDQi KTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkMCoiMDAjZGMiKTsgW2xvb2tp bmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgyYildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlh bCBldmVudApnZXRwa3QgKCJtNTAwMDAwMzQsMjAiKTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNr XQpwdXRwa3QgKCIkMDEwKjA1MCoiMDUwZjljYjFjMDBmOWNiMWMwMDA1MCoiMDAxMCohI2NlIik7 IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJs ZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDU0LDIwIik7ICBbc2VuZGluZyBhY2tdCltz ZW50IGFja10KcHV0cGt0ICgiJDAxMCoiZmNjYjFjMDBmY2RiMWM1MGZjZGIxYzUwYTUxNTAqIDFj MzcwKiE2MCoiMDAxMCohIzFjIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4 MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMDAwMDc0LDIw Iik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJDA0MCoiYjQwKiJiNDAqIDUw YjQwKiA1MDIwKiIwMjAqIjAwNDAqIjA0MCoiIzU4Iik7IFtsb29raW5nIGZvciBhY2tdCltyZWNl aXZlZCAnKycgKDB4MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgi bTUwMDAwMDk0LDIwIik7ICBbc2VuZGluZyBhY2tdCltzZW50IGFja10KcHV0cGt0ICgiJDA3MCoi ZmNjYjFjMDBmY2RiMWM1MGZjZGIxYzUwMTgwKiI1NDAqIjA0MCoiMDQwKiIjZmYiKTsgW2xvb2tp bmcgZm9yIGFja10KW3JlY2VpdmVkICcrJyAoMHgyYildCmhhbmRsaW5nIHBvc3NpYmxlIHNlcmlh bCBldmVudApnZXRwa3QgKCJtNTAxNDI1YjQsMiIpOyAgW3NlbmRpbmcgYWNrXQpbc2VudCBhY2td CnB1dHBrdCAoIiRkMWZmIzYxIik7IFtsb29raW5nIGZvciBhY2tdCltyZWNlaXZlZCAnKycgKDB4 MmIpXQpoYW5kbGluZyBwb3NzaWJsZSBzZXJpYWwgZXZlbnQKZ2V0cGt0ICgibTUwMTk3Y2UyLDIi KTsgIFtzZW5kaW5nIGFja10KW3NlbnQgYWNrXQpwdXRwa3QgKCIkZDFmZiM2MSIpOyBbbG9va2lu ZyBmb3IgYWNrXQpbcmVjZWl2ZWQgJysnICgweDJiKV0K --0000000000006e0dd305d9429bdf--