about summary refs log tree commit diff stats
path: root/apps/crenshaw2-1b
blob: 16591ef0bea56b4a105357607391d2b530c8c973 (plain)
ofshex dumpascii
0000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 02 00 03 00 01 00 00 00 4f 5d 00 09 34 00 00 00 .ELF....................O]..4...
0020 00 00 00 00 00 00 00 00 34 00 20 00 02 00 00 00 00 00 00 00 01 00 00 00 74 00 00 00 74 00 00 09 ........4...............t...t...
0040 74 00 00 09 bb 65 00 00 bb 65 00 00 05 00 00 00 00 10 00 00 01 00 00 00 2f 66 00 00 2f 06 00 0a t....e...e............../f../...
0060 2f 06 00 0a 87 36 00 00 87 36 00 00 06 00 00 00 00 10 00 00 b8 01 00 00 00 cd 80 b8 03 00 00 00 /....6...6......................
0080 cd 80 c3 b8 04 00 00 00 cd 80 c3 b8 05 00 00 00 cd 80 c3 b8 06 00 00 00 cd 80 c3 b8 08 00 00 00 ................................
00a0 cd 80 c3 b8 0a 00 00 00 cd 80 c3 b8 26 00 00 00 cd 80 c3 b8 5a 00 00 00 cd 80 c3 bb 00 00 00 00 ............&.......Z...........
00c0 b8 01 00 00 00 cd 80 55 89 e5 50 51 52 53 8b 5d 08 8b 4d 0c 81 c1 04 00 00 00 8b 55 0c 8b 12 b8 .......U..PQRS.]..M........U....
00e0 04 00 00 00 cd 80 3d 00 00 00 00 0f 8c 08 00 00 00 5b 5a 59 58 89 ec 5d c3 bb ff 00 00 00 b8 01 ......=..........[ZYX..]........
0100 00 00 00 cd 80 68 53 0b 00 0a 68 34 00 00 00 68 34 00 00 00 e8 12 00 00 00 81 c4 0c 00 00 00 bb .....hS...h4...h4...............
0120 00 00 00 00 b8 01 00 00 00 cd 80 55 89 e5 50 51 53 8b 45 08 8b 5d 0c 39 d8 75 17 68 70 0b 00 0a ...........U..PQS.E..].9.u.hp...
0140 68 02 00 00 00 e8 7d ff ff ff 81 c4 08 00 00 00 eb 2f 8b 4d 10 51 68 02 00 00 00 e8 67 ff ff ff h.....}........../.M.Qh.....g...
0160 81 c4 08 00 00 00 68 2f 06 00 0a 68 02 00 00 00 e8 52 ff ff ff 81 c4 08 00 00 00 ff 05 34 06 00 ......h/...h.....R...........4..
0180 0a 5b 59 58 89 ec 5d c3 e8 fa 60 00 00 8b 1d 34 06 00 0a b8 01 00 00 00 cd 80 55 89 e5 51 52 53 .[YX..]...`....4..........U..QRS
01a0 56 57 8b 7d 08 8b 55 0c 8b 12 8b 75 0c 81 c6 04 00 00 00 b9 00 00 00 00 b8 00 00 00 00 bb 00 00 VW.}..U....u....................
01c0 00 00 39 d1 7d 14 8a 07 8a 1e 3d 00 00 00 00 74 19 39 d8 75 15 41 47 46 eb e8 8a 07 3d 00 00 00 ..9.}.....=....t.9.u.AGF....=...
01e0 00 75 07 b8 01 00 00 00 eb 05 b8 00 00 00 00 5f 5e 5b 5a 59 89 ec 5d c3 68 75 0b 00 0a 68 42 06 .u............._^[ZY..].hu...hB.
0200 00 0a e8 93 ff ff ff 81 c4 08 00 00 00 68 79 0b 00 0a 68 01 00 00 00 50 e8 0e ff ff ff 81 c4 0c .............hy...h....P........
0220 00 00 00 c3 68 b1 0b 00 0a 68 42 06 00 0a e8 67 ff ff ff 81 c4 08 00 00 00 68 b8 0b 00 0a 68 00 ....h....hB....g.........h....h.
0240 00 00 00 50 e8 e2 fe ff ff 81 c4 0c 00 00 00 c3 68 f4 0b 00 0a 68 43 06 00 0a e8 3b ff ff ff 81 ...P............h....hC....;....
0260 c4 08 00 00 00 68 fb 0b 00 0a 68 01 00 00 00 50 e8 b6 fe ff ff 81 c4 0c 00 00 00 c3 68 2e 0c 00 .....h....h....P............h...
0280 0a 68 43 06 00 0a e8 0f ff ff ff 81 c4 08 00 00 00 68 35 0c 00 0a 68 00 00 00 00 50 e8 8a fe ff .hC..............h5...h....P....
02a0 ff 81 c4 0c 00 00 00 c3 68 68 0c 00 0a 68 43 06 00 0a e8 e3 fe ff ff 81 c4 08 00 00 00 68 6c 0c ........hh...hC..............hl.
02c0 00 0a 68 00 00 00 00 50 e8 5e fe ff ff 81 c4 0c 00 00 00 c3 68 9f 0c 00 0a 68 43 06 00 0a e8 b7 ..h....P.^..........h....hC.....
02e0 fe ff ff 81 c4 08 00 00 00 68 a5 0c 00 0a 68 00 00 00 00 50 e8 32 fe ff ff 81 c4 0c 00 00 00 c3 .........h....h....P.2..........
0300 68 da 0c 00 0a 68 43 06 00 0a e8 8b fe ff ff 81 c4 08 00 00 00 68 e2 0c 00 0a 68 00 00 00 00 50 h....hC..............h....h....P
0320 e8 06 fe ff ff 81 c4 0c 00 00 00 c3 68 00 00 00 00 68 00 00 00 00 89 e1 51 68 00 10 00 00 e8 17 ............h....h......Qh......
0340 00 00 00 81 c4 08 00 00 00 8b 01 c7 00 34 00 00 00 89 c3 b8 01 00 00 00 cd 80 55 89 e5 50 53 8b .............4............U..PS.
0360 45 08 89 05 4b 06 00 0a bb 47 06 00 0a b8 5a 00 00 00 cd 80 8b 5d 0c 89 03 03 45 08 89 43 04 5b E...K....G....Z......]....E..C.[
0380 58 89 ec 5d c3 e8 fd 5e 00 00 8b 1d 34 06 00 0a b8 01 00 00 00 cd 80 55 89 e5 51 52 56 57 8b 75 X..]...^....4..........U..QRVW.u
03a0 08 8b 7d 0c 8b 0e 39 0f 75 29 81 c6 04 00 00 00 01 f1 81 c7 04 00 00 00 31 c0 31 d2 39 ce 73 0c ..}...9.u)..............1.1.9.s.
03c0 8a 06 8a 17 39 d0 75 0b 46 47 eb f0 b8 01 00 00 00 eb 05 b8 00 00 00 00 5f 5e 5a 59 89 ec 5d c3 ....9.u.FG.............._^ZY..].
03e0 68 16 0d 00 0a 68 1a 0d 00 0a e8 a8 ff ff ff 81 c4 08 00 00 00 68 1e 0d 00 0a 68 01 00 00 00 50 h....h...............h....h....P
0400 e8 26 fd ff ff 81 c4 0c 00 00 00 c3 68 4a 0d 00 0a 68 51 0d 00 0a e8 7c ff ff ff 81 c4 08 00 00 .&..........hJ...hQ....|........
0420 00 68 55 0d 00 0a 68 00 00 00 00 50 e8 fa fc ff ff 81 c4 0c 00 00 00 c3 68 85 0d 00 0a 68 8c 0d .hU...h....P............h....h..
0440 00 0a e8 50 ff ff ff 81 c4 08 00 00 00 68 93 0d 00 0a 68 01 00 00 00 50 e8 ce fc ff ff 81 c4 0c ...P.........h....h....P........
0460 00 00 00 c3 68 b5 0d 00 0a 68 bc 0d 00 0a e8 24 ff ff ff 81 c4 08 00 00 00 68 c3 0d 00 0a 68 00 ....h....h.....$.........h....h.
0480 00 00 00 50 e8 a2 fc ff ff 81 c4 0c 00 00 00 c3 55 89 e5 50 ff 75 0c ff 75 08 e8 f8 fe ff ff 81 ...P............U..P.u..u.......
04a0 c4 08 00 00 00 ff 75 10 68 01 00 00 00 50 e8 78 fc ff ff 81 c4 0c 00 00 00 58 89 ec 5d c3 68 f5 ......u.h....P.x.........X..].h.
04c0 0d 00 0a 68 fc 0d 00 0a e8 c3 ff ff ff 81 c4 08 00 00 00 c3 55 89 e5 50 51 8b 45 08 8b 48 08 8d ...h................U..PQ.E..H..
04e0 4c 08 0c c7 00 00 00 00 00 c7 40 04 00 00 00 00 81 c0 0c 00 00 00 39 c8 73 06 c6 00 00 40 eb f6 L.........@...........9.s....@..
0500 59 58 89 ec 5d c3 55 89 e5 50 8b 45 08 c7 40 04 00 00 00 00 58 89 ec 5d c3 55 89 e5 50 51 8b 4d YX..].U..P.E..@.....X..].U..PQ.M
0520 08 68 63 06 00 0a 51 e8 2e fe ff ff 81 c4 08 00 00 00 8b 05 63 06 00 0a 89 05 5f 06 00 0a 81 e9 .hc...Q.............c....._.....
0540 0c 00 00 00 89 48 08 59 58 89 ec 5d c3 55 89 e5 50 51 52 53 56 57 8b 3d 5f 06 00 0a 8b 75 08 8b .....H.YX..].U..PQRSVW.=_....u..
0560 0f 8b 57 08 56 8d 5c 17 0c 53 8d 5c 0f 0c 53 e8 2d 05 00 00 81 c4 0c 00 00 00 3d 00 00 00 00 74 ..W.V.\..S.\..S.-.........=....t
0580 20 01 07 8b 0f 68 2f 06 00 0a 8d 5c 17 0c 53 8d 5c 0f 0c 53 e8 08 05 00 00 81 c4 0c 00 00 00 01 .....h/....\..S.\..S............
05a0 07 5f 5e 5b 5a 59 58 89 ec 5d c3 ff 35 5f 06 00 0a b8 6b 06 00 0a 89 05 5f 06 00 0a e8 c8 04 00 ._^[ZYX..]..5_....k....._.......
05c0 00 68 03 0e 00 0a e8 82 ff ff ff 81 c4 04 00 00 00 68 09 0e 00 0a 68 41 62 0a 00 b8 6b 06 00 0a .h...............h....hAb...k...
05e0 ff 70 0c e8 43 fb ff ff 81 c4 0c 00 00 00 8f 05 5f 06 00 0a c3 ff 35 5f 06 00 0a b8 6b 06 00 0a .p..C..........._.....5_....k...
0600 89 05 5f 06 00 0a e8 7e 04 00 00 68 22 0e 00 0a e8 38 ff ff ff 81 c4 04 00 00 00 68 27 0e 00 0a .._....~...h"....8.........h'...
0620 e8 28 ff ff ff 81 c4 04 00 00 00 68 2c 0e 00 0a 68 43 0a 44 0a b8 6b 06 00 0a ff 70 0c e8 e9 fa .(.........h,...hC.D..k....p....
0640 ff ff 81 c4 0c 00 00 00 8f 05 5f 06 00 0a c3 ff 35 5f 06 00 0a b8 6b 06 00 0a 89 05 5f 06 00 0a .........._.....5_....k....._...
0660 e8 24 04 00 00 68 46 0e 00 0a e8 de fe ff ff 81 c4 04 00 00 00 68 4a 0e 00 0a 68 00 00 00 00 b8 .$...hF..............hJ...h.....
0680 6b 06 00 0a ff 70 0c e8 9f fa ff ff 81 c4 0c 00 00 00 8f 05 5f 06 00 0a c3 55 89 e5 ff 35 5f 06 k....p.............._....U...5_.
06a0 00 0a e8 5f fe ff ff 81 c4 04 00 00 00 ff 75 0c ff 75 08 e8 0a 00 00 00 81 c4 08 00 00 00 89 ec ..._..........u..u..............
06c0 5d c3 55 89 e5 50 ff 75 08 e8 1f 00 00 00 81 c4 04 00 00 00 ff 75 0c 68 01 00 00 00 50 e8 49 fa ].U..P.u.............u.h....P.I.
06e0 ff ff 81 c4 0c 00 00 00 58 89 ec 5d c3 55 89 e5 51 56 8b 35 5f 06 00 0a 8b 0e ff 76 04 39 4e 04 ........X..].U..QV.5_......v.9N.
0700 7d 3d ff 75 08 56 e8 d1 01 00 00 81 c4 08 00 00 00 3d 00 00 00 00 74 19 56 e8 d2 02 00 00 81 c4 }=.u.V...........=....t.V.......
0720 04 00 00 00 81 c4 04 00 00 00 b8 01 00 00 00 eb 16 56 e8 b9 02 00 00 81 c4 04 00 00 00 eb be 8f .................V..............
0740 46 04 b8 00 00 00 00 59 89 ec 5d c3 ff 35 5f 06 00 0a b8 6b 06 00 0a 89 05 5f 06 00 0a e8 27 03 F......Y..]..5_....k....._....'.
0760 00 00 68 67 0e 00 0a e8 e1 fd ff ff 81 c4 04 00 00 00 68 6d 0e 00 0a e8 71 ff ff ff 81 c4 04 00 ..hg..............hm....q.......
0780 00 00 68 73 0e 00 0a 68 01 00 00 00 50 e8 99 f9 ff ff 81 c4 0c 00 00 00 8f 05 5f 06 00 0a c3 ff ..hs...h....P............._.....
07a0 35 5f 06 00 0a b8 6b 06 00 0a 89 05 5f 06 00 0a e8 d4 02 00 00 68 90 0e 00 0a e8 8e fd ff ff 81 5_....k....._........h..........
07c0 c4 04 00 00 00 68 96 0e 00 0a e8 7e fd ff ff 81 c4 04 00 00 00 68 9c 0e 00 0a e8 0e ff ff ff 81 .....h.....~.........h..........
07e0 c4 04 00 00 00 68 a2 0e 00 0a 68 01 00 00 00 50 e8 36 f9 ff ff 81 c4 0c 00 00 00 8f 05 5f 06 00 .....h....h....P.6..........._..
0800 0a c3 ff 35 5f 06 00 0a b8 6b 06 00 0a 89 05 5f 06 00 0a e8 71 02 00 00 68 d1 0e 00 0a e8 2b fd ...5_....k....._....q...h.....+.
0820 ff ff 81 c4 04 00 00 00 68 d7 0e 00 0a e8 bb fe ff ff 81 c4 04 00 00 00 68 dd 0e 00 0a e8 ab fe ........h...............h.......
0840 ff ff 81 c4 04 00 00 00 68 e3 0e 00 0a 68 00 00 00 00 50 e8 d3 f8 ff ff 81 c4 0c 00 00 00 8f 05 ........h....h....P.............
0860 5f 06 00 0a c3 ff 35 5f 06 00 0a b8 6b 06 00 0a 89 05 5f 06 00 0a e8 0e 02 00 00 68 1d 0f 00 0a _.....5_....k....._........h....
0880 e8 c8 fc ff ff 81 c4 04 00 00 00 68 23 0f 00 0a 68 00 00 00 00 b8 6b 06 00 0a ff 70 04 e8 89 f8 ...........h#...h.....k....p....
08a0 ff ff 81 c4 0c 00 00 00 68 72 0f 00 0a e8 3b fe ff ff 81 c4 04 00 00 00 68 78 0f 00 0a 68 00 00 ........hr....;.........hx...h..
08c0 00 00 b8 6b 06 00 0a ff 70 04 e8 5c f8 ff ff 81 c4 0c 00 00 00 8f 05 5f 06 00 0a c3 55 89 e5 51 ...k....p..\..........._....U..Q
08e0 52 53 56 57 8b 55 0c 8d 72 04 8b 02 8d 0c 06 8b 7d 08 8d 5f 0c 8b 07 8d 14 03 8b 47 04 8d 3c 03 RSVW.U..r.......}.._.......G..<.
0900 39 ce 73 1e b8 00 00 00 00 39 d7 73 2a 31 c0 31 db 8a 07 8a 1e 39 d8 b8 00 00 00 00 75 19 47 46 9.s......9.s*1.1.....9......u.GF
0920 eb de 31 c0 8a 07 3d 0a 00 00 00 b8 01 00 00 00 74 05 b8 00 00 00 00 5f 5e 5b 5a 59 89 ec 5d c3 pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
## the basic editor data structure, and how it displays text to the screen

# temporary main for this layer: just render the given text at the given
# screen dimensions, then stop
def main text:text [
  local-scope
  load-inputs
  open-console
  clear-screen null/screen  # non-scrolling app
  e:&:editor <- new-editor text, 0/left, 5/right
  render null/screen, e
  wait-for-event null/console
  close-console
]

scenario editor-renders-text-to-screen [
  local-scope
  assume-screen 10/width, 5/height
  e:&:editor <- new-editor [abc], 0/left, 10/right
  run [
    render screen, e
  ]
  screen-should-contain [
    # top line of screen reserved for menu
    .          .
    .abc       .
    .          .
  ]
]

container editor [
  # editable text: doubly linked list of characters (head contains a special sentinel)
  data:&:duplex-list:char
  top-of-screen:&:duplex-list:char
  bottom-of-screen:&:duplex-list:char
  # location before cursor inside data
  before-cursor:&:duplex-list:char

  # raw bounds of display area on screen
  # always displays from row 1 (leaving row 0 for a menu) and at most until bottom of screen
  left:num
  right:num
  bottom:num
  # raw screen coordinates of cursor
  cursor-row:num
  cursor-column:num
]

# creates a new editor widget
#   right is exclusive
def new-editor s:text, left:num, right:num -> result:&:editor [
  local-scope
  load-inputs
  # no clipping of bounds
  right <- subtract right, 1
  result <- new editor:type
  # initialize screen-related fields
  *result <- put *result, left:offset, left
  *result <- put *result, right:offset, right
  # initialize cursor coordinates
  *result <- put *result, cursor-row:offset, 1/top
  *result <- put *result, cursor-column:offset, left
  # initialize empty contents
  init:&:duplex-list:char <- push 167/§, null
  *result <- put *result, data:offset, init
  *result <- put *result, top-of-screen:offset, init
  *result <- put *result, before-cursor:offset, init
  result <- insert-text result, s
  <editor-initialization>
]

def insert-text editor:&:editor, text:text -> editor:&:editor [
  local-scope
  load-inputs
  curr:&:duplex-list:char <- get *editor, data:offset
  insert curr, text
]

scenario editor-initializes-without-data [
  local-scope
  assume-screen 5/width, 3/height
  run [
    e:&:editor <- new-editor null/data, 2/left, 5/right
    1:editor/raw <- copy *e
  ]
  memory-should-contain [
    # 1,2 (data) <- just the § sentinel
    # 3,4 (top of screen) <- the § sentinel
    # 5 (bottom of screen) <- null since text fits on screen
    5 <- 0
    6 <- 0
    # 7,8 (before cursor) <- the § sentinel
    9 <- 2  # left
    10 <- 4  # right  (inclusive)
    11 <- 0  # bottom (not set until render)
    12 <- 1  # cursor row
    13 <- 2  # cursor column
  ]
  screen-should-contain [
    .     .
    .     .
    .     .
  ]
]

# Assumes cursor should be at coordinates (cursor-row, cursor-column) and
# updates before-cursor to match. Might also move coordinates if they're
# outside text.
def render screen:&:screen, editor:&:editor -> last-row:num, last-column:num, screen:&:screen, editor:&:editor [
  local-scope
  load-inputs
  return-unless editor, 1/top, 0/left
  left:num <- get *editor, left:offset
  screen-height:num <- screen-height screen
  right:num <- get *editor, right:offset
  # traversing editor
  curr:&:duplex-list:char <- get *editor, top-of-screen:offset
  prev:&:duplex-list:char <- copy curr  # just in case curr becomes null and we can't compute prev
  curr <- next curr
  # traversing screen
  color:num <- copy 7/white
  row:num <- copy 1/top
  column:num <- copy left
  cursor-row:num <- get *editor, cursor-row:offset
  cursor-column:num <- get *editor, cursor-column:offset
  before-cursor:&:duplex-list:char <- get *editor, before-cursor:offset
  screen <- move-cursor screen, row, column
  {
    +next-character
    break-unless curr
    off-screen?:bool <- greater-or-equal row, screen-height
    break-if off-screen?
    # update editor.before-cursor
    # Doing so at the start of each iteration ensures it stays one step behind
    # the current character.
    {
      at-cursor-row?:bool <- equal row, cursor-row
      break-unless at-cursor-row?
      at-cursor?:bool <- equal column, cursor-column
      break-unless at-cursor?
      before-cursor <- copy prev
    }
    c:char <- get *curr, value:offset
    <character-c-received>
    {
      # newline? move to left rather than 0
      newline?:bool <- equal c, 10/newline
      break-unless newline?
      # adjust cursor if necessary
      {
        at-cursor-row?:bool <- equal row, cursor-row
        break-unless at-cursor-row?
        left-of-cursor?:bool <- lesser-than column, cursor-column
        break-unless left-of-cursor?
        cursor-column <- copy column
        before-cursor <- prev curr
      }
      # clear rest of line in this window
      clear-line-until screen, right
      # skip to next line
      row <- add row, 1
      column <- copy left
      screen <- move-cursor screen, row, column
      curr <- next curr
      prev <- next prev
      loop +next-character
    }
    {
      # at right? wrap. even if there's only one more letter left; we need
      # room for clicking on the cursor after it.
      at-right?:bool <- equal column, right
      break-unless at-right?
      # print wrap icon
      wrap-icon:char <- copy 8617/loop-back-to-left
      print screen, wrap-icon, 245/grey
      column <- copy left
      row <- add row, 1
      screen <- move-cursor screen, row, column
      # don't increment curr
      loop +next-character
    }
    print screen, c, color
    curr <- next curr
    prev <- next prev
    column <- add column, 1
    loop
  }
  # save first character off-screen
  *editor <- put *editor, bottom-of-screen:offset, curr
  # is cursor to the right of the last line? move to end
  {
    at-cursor-row?:bool <- equal row, cursor-row
    cursor-outside-line?:bool <- lesser-or-equal column, cursor-column
    before-cursor-on-same-line?:bool <- and at-cursor-row?, cursor-outside-line?
    above-cursor-row?:bool <- lesser-than row, cursor-row
    before-cursor?:bool <- or before-cursor-on-same-line?, above-cursor-row?
    break-unless before-cursor?
    cursor-row <- copy row
    cursor-column <- copy column
    before-cursor <- copy prev
  }
  *editor <- put *editor, bottom:offset, row
  *editor <- put *editor, cursor-row:offset, cursor-row
  *editor <- put *editor, cursor-column:offset, cursor-column
  *editor <- put *editor, before-cursor:offset, before-cursor
  clear-line-until screen, right
  row <- add row, 1
  return row, left/column
]

def clear-screen-from screen:&:screen, row:num, column:num, left:num, right:num -> screen:&:screen [
  local-scope
  load-inputs
  # if it's the real screen, use the optimized primitive
  {
    break-if screen
    clear-display-from row, column, left, right
    return
  }
  # if not, go the slower route
  screen <- move-cursor screen, row, column
  clear-line-until screen, right
  clear-rest-of-screen screen, row, left, right
]

def clear-rest-of-screen screen:&:screen, row:num, left:num, right:num -> screen:&:screen [
  local-scope
  load-inputs
  row <- add row, 1
  # if it's the real screen, use the optimized primitive
  {
    break-if screen
    clear-display-from row, left, left, right
    return
  }
  screen <- move-cursor screen, row, left
  screen-height:num <- screen-height screen
  {
    at-bottom-of-screen?:bool <- greater-or-equal row, screen-height
    break-if at-bottom-of-screen?
    screen <- move-cursor screen, row, left
    clear-line-until screen, right
    row <- add row, 1
    loop
  }
]

scenario editor-prints-multiple-lines [
  local-scope
  assume-screen 5/width, 5/height
  s:text <- new [abc
def]
  e:&:editor <- new-editor s, 0/left, 5/right
  run [
    render screen, e
  ]
  screen-should-contain [
    .     .
    .abc  .
    .def  .
    .     .
  ]
]

scenario editor-handles-offsets [
  local-scope
  assume-screen 5/width, 5/height
  e:&:editor <- new-editor [abc], 1/left, 5/right
  run [
    render screen, e
  ]
  screen-should-contain [
    .     .
    . abc .
    .     .
  ]
]

scenario editor-prints-multiple-lines-at-offset [
  local-scope
  assume-screen 5/width, 5/height
  s:text <- new [abc
def]
  e:&:editor <- new-editor s, 1/left, 5/right
  run [
    render screen, e
  ]
  screen-should-contain [
    .     .
    . abc .
    . def .
    .     .
  ]
]

scenario editor-wraps-long-lines [
  local-scope
  assume-screen 5/width, 5/height
  e:&:editor <- new-editor [abc def], 0/left, 5/right
  run [
    render screen, e
  ]
  screen-should-contain [
    .     .
    .abc .
    .def  .
    .     .
  ]
  screen-should-contain-in-color 245/grey [
    .     .
    .    .
    .     .
    .     .
  ]
]

scenario editor-wraps-barely-long-lines [
  local-scope
  assume-screen 5/width, 5/height
  e:&:editor <- new-editor [abcde], 0/left, 5/right
  run [
    render screen, e
  ]
  # still wrap, even though the line would fit. We need room to click on the
  # end of the line
  screen-should-contain [
    .     .
    .abcd.
    .e    .
    .     .
  ]
  screen-should-contain-in-color 245/grey [
    .     .
    .    .
    .     .
    .     .
  ]
]

scenario editor-with-empty-text [
  local-scope
  assume-screen 5/width, 5/height
  e:&:editor <- new-editor [], 0/left, 5/right
  run [
    render screen, e
    3:num/raw <- get *e, cursor-row:offset
    4:num/raw <- get *e, cursor-column:offset
  ]
  screen-should-contain [
    .     .
    .     .
    .     .
  ]
  memory-should-contain [
    3 <- 1  # cursor row
    4 <- 0  # cursor column
  ]
]

# just a little color for Mu code

scenario render-colors-comments [
  local-scope
  assume-screen 5/width, 5/height
  s:text <- new [abc
# de
f]
  e:&:editor <- new-editor s, 0/left, 5/right
  run [
    render screen, e
  ]
  screen-should-contain [
    .     .
    .abc  .
    .# de .
    .f    .
    .     .
  ]
  screen-should-contain-in-color 12/lightblue, [
    .     .
    .     .
    .# de .
    .     .
    .     .
  ]
  screen-should-contain-in-color 7/white, [
    .     .
    .abc  .
    .     .
    .f    .
    .     .
  ]
]

after <character-c-received> [
  color <- get-color color, c
]

# so far the previous color is all the information we need; that may change
def get-color color:num, c:char -> color:num [
  local-scope
  load-inputs
  color-is-white?:bool <- equal color, 7/white
  # if color is white and next character is '#', switch color to blue
  {
    break-unless color-is-white?
    starting-comment?:bool <- equal c, 35/#
    break-unless starting-comment?
    trace 90, [app], [switch color back to blue]
    return 12/lightblue
  }
  # if color is blue and next character is newline, switch color to white
  {
    color-is-blue?:bool <- equal color, 12/lightblue
    break-unless color-is-blue?
    ending-comment?:bool <- equal c, 10/newline
    break-unless ending-comment?
    trace 90, [app], [switch color back to white]
    return 7/white
  }
  # if color is white (no comments) and next character is '<', switch color to red
  {
    break-unless color-is-white?
    starting-assignment?:bool <- equal c, 60/<
    break-unless starting-assignment?
    return 1/red
  }
  # if color is red and next character is space, switch color to white
  {
    color-is-red?:bool <- equal color, 1/red
    break-unless color-is-red?
    ending-assignment?:bool <- equal c, 32/space
    break-unless ending-assignment?
    return 7/white
  }
  # otherwise no change
  return color
]

scenario render-colors-assignment [
  local-scope
  assume-screen 8/width, 5/height
  s:text <- new [abc
d <- e
f]
  e:&:editor <- new-editor s, 0/left, 8/right
  run [
    render screen, e
  ]
  screen-should-contain [
    .        .
    .abc     .
    .d <- e  .
    .f       .
    .        .
  ]
  screen-should-contain-in-color 1/red, [
    .        .
    .        .
    .  <-    .
    .        .
    .        .
  ]
]
c 00 00 00 68 ef 33 .......RP..h....RQ.i.........h.3 5120 00 0a 68 18 00 00 00 29 c8 50 e8 fc af ff ff 81 c4 0c 00 00 00 68 17 34 00 0a 68 10 00 00 00 ff ..h....).P...........h.4..h..... 5140 31 e8 e5 af ff ff 81 c4 0c 00 00 00 68 3f 34 00 0a 68 67 34 00 0a ff 71 14 e8 32 b3 ff ff 81 c4 1...........h?4..hg4...q..2..... 5160 0c 00 00 00 89 ec 5d c3 55 89 e5 51 52 56 8b 75 08 8d 4e 0c 8b 16 8d 14 11 39 d1 73 28 ff 31 ff ......].U..QRV.u..N......9.s(.1. 5180 75 0c e8 10 b2 ff ff 81 c4 08 00 00 00 3d 00 00 00 00 74 05 8d 41 04 eb 05 03 4d 10 eb db 5e 5a u............=....t..A....M...^Z 51a0 59 89 ec 5d c3 ff 75 14 ff 75 18 e8 dd c6 ff ff 81 c4 08 00 00 00 68 6f 34 00 0a ff 75 18 e8 ca Y..]..u..u............ho4...u... 51c0 c6 ff ff 81 c4 08 00 00 00 ff 75 0c ff 75 18 e8 b9 c6 ff ff 81 c4 08 00 00 00 68 2f 06 00 0a ff ..........u..u............h/.... 51e0 75 18 e8 a6 c6 ff ff 81 c4 08 00 00 00 68 01 00 00 00 ff 75 1c e8 1b be ff ff 81 c4 08 00 00 00 u............h.....u............ 5200 b8 01 00 00 00 cd 80 55 89 e5 68 89 0a 00 0a e8 c0 b2 ff ff 81 c4 04 00 00 00 68 19 0b 00 0a e8 .......U..h...............h..... 5220 b0 b2 ff ff 81 c4 04 00 00 00 81 ec 10 00 00 00 68 10 00 00 00 68 00 00 00 00 68 00 00 00 00 89 ................h....h....h..... 5240 e1 68 00 00 00 00 68 00 00 00 00 89 e2 68 18 00 00 00 52 e8 9d bd ff ff 81 c4 08 00 00 00 68 08 .h....h......h....R...........h. 5260 00 00 00 68 91 34 00 0a 51 e8 56 fb ff ff 81 c4 0c 00 00 00 52 68 15 0b 00 0a 68 99 34 00 0a 68 ...h.4..Q.V.........Rh....h.4..h 5280 08 00 00 00 68 a0 34 00 0a 51 e8 d9 fe ff ff 81 c4 18 00 00 00 68 a8 34 00 0a 68 10 00 00 00 29 ....h.4..Q...........h.4..h....) 52a0 c8 50 e8 84 ae ff ff 81 c4 0c 00 00 00 52 68 15 0b 00 0a 68 c2 34 00 0a 68 08 00 00 00 68 c9 34 .P...........Rh....h.4..h....h.4 52c0 00 0a 51 e8 a0 fe ff ff 59 81 c4 10 00 00 00 5a 68 d1 34 00 0a 68 02 00 00 00 ff 72 04 e8 49 ae ..Q.....Y......Zh.4..h.....r..I. 52e0 ff ff 81 c4 0c 00 00 00 81 c4 24 00 00 00 5d c3 55 89 e5 51 52 56 8b 75 08 8d 4e 0c 8b 16 8d 14 ..........$...].U..QRV.u..N..... 5300 11 39 d1 73 28 ff 31 ff 75 0c e8 1a d5 ff ff 81 c4 08 00 00 00 3d 00 00 00 00 74 05 8d 41 04 eb .9.s(.1.u............=....t..A.. 5320 05 03 4d 10 eb db 5e 5a 59 89 ec 5d c3 ff 75 14 ff 75 18 e8 55 c5 ff ff 81 c4 08 00 00 00 68 eb ..M...^ZY..]..u..u..U.........h. 5340 34 00 0a ff 75 18 e8 42 c5 ff ff 81 c4 08 00 00 00 ff 75 0c ff 75 18 e8 af d9 ff ff 81 c4 08 00 4...u..B..........u..u.......... 5360 00 00 68 2f 06 00 0a ff 75 18 e8 1e c5 ff ff 81 c4 08 00 00 00 68 01 00 00 00 ff 75 1c e8 93 bc ..h/....u............h.....u.... 5380 ff ff 81 c4 08 00 00 00 b8 01 00 00 00 cd 80 55 89 e5 68 89 0a 00 0a e8 38 b1 ff ff 81 c4 04 00 ...............U..h.....8....... 53a0 00 00 68 19 0b 00 0a e8 28 b1 ff ff 81 c4 04 00 00 00 81 ec 10 00 00 00 68 10 00 00 00 68 00 00 ..h.....(...............h....h.. 53c0 00 00 68 00 00 00 00 89 e1 68 00 00 00 00 68 00 00 00 00 89 e2 b8 13 35 00 0a 8b 18 8d 5c 18 04 ..h......h....h........5.....\.. 53e0 05 04 00 00 00 53 50 89 e3 68 18 00 00 00 52 e8 01 bc ff ff 81 c4 08 00 00 00 68 08 00 00 00 68 .....SP..h....R...........h....h 5400 1b 35 00 0a 51 e8 ba f9 ff ff 81 c4 0c 00 00 00 52 68 15 0b 00 0a 68 23 35 00 0a 68 08 00 00 00 .5..Q...........Rh....h#5..h.... 5420 53 51 e8 c9 fe ff ff 59 5b 81 c4 0c 00 00 00 5a 68 2a 35 00 0a 68 10 00 00 00 29 c8 50 e8 e9 ac SQ.....Y[......Zh*5..h....).P... 5440 ff ff 81 c4 0c 00 00 00 b8 4a 35 00 0a 05 04 00 00 00 89 03 05 08 00 00 00 89 43 04 52 68 15 0b .........J5...............C.Rh.. 5460 00 0a 68 56 35 00 0a 68 08 00 00 00 53 51 e8 7d fe ff ff 59 5b 81 c4 0c 00 00 00 5a 68 5d 35 00 ..hV5..h....SQ.}...Y[......Zh]5. 5480 0a 68 02 00 00 00 ff 72 04 e8 9d ac ff ff 81 c4 0c 00 00 00 81 c4 2c 00 00 00 5d c3 55 89 e5 51 .h.....r..............,...].U..Q 54a0 52 56 8b 75 08 8d 4e 0c 8b 16 8d 14 11 39 d1 73 21 ff 31 ff 75 0c e8 dc ae ff ff 81 c4 08 00 00 RV.u..N......9.s!.1.u........... 54c0 00 3d 00 00 00 00 74 05 8d 41 04 eb 0a 03 4d 10 eb db b8 00 00 00 00 5e 5a 59 89 ec 5d c3 55 89 .=....t..A....M........^ZY..].U. 54e0 e5 81 ec 10 00 00 00 68 10 00 00 00 68 00 00 00 00 68 00 00 00 00 89 e1 68 08 00 00 00 68 77 35 .......h....h....h......h....hw5 5500 00 0a 51 e8 bc f8 ff ff 81 c4 0c 00 00 00 68 08 00 00 00 68 7f 35 00 0a 51 e8 7e ff ff ff 81 c4 ..Q...........h....h.5..Q.~..... 5520 0c 00 00 00 68 87 35 00 0a 68 10 00 00 00 29 c8 50 e8 f5 ab ff ff 81 c4 0c 00 00 00 68 9f 35 00 ....h.5..h....).P...........h.5. 5540 0a 68 08 00 00 00 ff 31 e8 de ab ff ff 81 c4 0c 00 00 00 68 b7 35 00 0a 68 cf 35 00 0a ff 71 0c .h.....1...........h.5..h.5...q. 5560 e8 2b af ff ff 81 c4 0c 00 00 00 68 08 00 00 00 68 d7 35 00 0a 51 e8 21 ff ff ff 81 c4 0c 00 00 .+.........h....h.5..Q.!........ 5580 00 68 df 35 00 0a 68 00 00 00 00 50 e8 9a ab ff ff 81 c4 0c 00 00 00 89 ec 5d c3 55 89 e5 51 52 .h.5..h....P.............].U..QR 55a0 56 8b 75 08 8d 4e 0c 8b 16 8d 14 11 39 d1 73 21 ff 31 ff 75 0c e8 6f d2 ff ff 81 c4 08 00 00 00 V.u..N......9.s!.1.u..o......... 55c0 3d 00 00 00 00 74 05 8d 41 04 eb 0a 03 4d 10 eb db b8 00 00 00 00 5e 5a 59 89 ec 5d c3 55 89 e5 =....t..A....M........^ZY..].U.. 55e0 81 ec 10 00 00 00 68 10 00 00 00 68 00 00 00 00 68 00 00 00 00 89 e1 68 08 00 00 00 68 f7 35 00 ......h....h....h......h....h.5. 5600 0a 51 e8 bd f7 ff ff 81 c4 0c 00 00 00 b8 ff 35 00 0a 8b 10 8d 54 10 04 05 04 00 00 00 52 50 89 .Q.............5.....T.......RP. 5620 e2 68 08 00 00 00 52 51 e8 6e ff ff ff 81 c4 0c 00 00 00 68 07 36 00 0a 68 10 00 00 00 29 c8 50 .h....RQ.n.........h.6..h....).P 5640 e8 e6 aa ff ff 81 c4 0c 00 00 00 68 25 36 00 0a 68 08 00 00 00 ff 31 e8 cf aa ff ff 81 c4 0c 00 ...........h%6..h.....1......... 5660 00 00 68 43 36 00 0a 68 61 36 00 0a ff 71 0c e8 1c ae ff ff 81 c4 0c 00 00 00 b8 69 36 00 0a 8b ..hC6..ha6...q.............i6... 5680 10 8d 54 10 04 05 04 00 00 00 52 50 89 e2 68 08 00 00 00 52 51 e8 01 ff ff ff 81 c4 0c 00 00 00 ..T.......RP..h....RQ........... 56a0 68 71 36 00 0a 68 00 00 00 00 50 e8 7b aa ff ff 81 c4 0c 00 00 00 89 ec 5d c3 55 89 e5 50 51 52 hq6..h....P.{...........].U..PQR 56c0 56 57 8b 75 08 8b 4e 08 8b 7d 0c 8b 17 3b 57 08 7d 47 3b 4e 04 7c 26 8d 46 04 50 e8 f4 ad ff ff VW.u..N..}...;W.}G;N.|&.F.P..... 56e0 81 c4 04 00 00 00 31 c9 50 ff 36 e8 d1 b9 ff ff 81 c4 08 00 00 00 3d 00 00 00 00 74 0e 31 c0 8a ......1.P.6...........=....t.1.. 5700 44 0e 10 88 44 17 0c 41 42 eb c2 89 4e 08 89 17 5f 5e 5a 59 58 89 ec 5d c3 68 8f 36 00 0a 68 02 D...D..AB...N..._^ZYX..].h.6..h. 5720 00 00 00 e8 9f a9 ff ff 81 c4 08 00 00 00 bb 01 00 00 00 b8 01 00 00 00 cd 80 68 bb 06 00 0a e8 ..........................h..... 5740 90 ad ff ff 81 c4 04 00 00 00 68 07 07 00 0a e8 80 ad ff ff 81 c4 04 00 00 00 68 d7 06 00 0a e8 ..........h...............h..... 5760 70 ad ff ff 81 c4 04 00 00 00 68 b0 36 00 0a 68 bb 06 00 0a e8 a4 b3 ff ff 81 c4 08 00 00 00 68 p.........h.6..h...............h 5780 d7 06 00 0a 68 03 07 00 0a e8 2c ff ff ff 81 c4 08 00 00 00 68 b9 36 00 0a 68 cb 36 00 0a 68 d7 ....h.....,.........h.6..h.6..h. 57a0 06 00 0a e8 ad b5 ff ff 81 c4 0c 00 00 00 c3 55 89 e5 51 8b 45 08 8b 08 8d 4c 08 04 05 04 00 00 ...............U..Q.E....L...... 57c0 00 51 50 89 e1 51 e8 11 00 00 00 81 c4 04 00 00 00 81 c4 08 00 00 00 59 89 ec 5d c3 55 89 e5 51 .QP..Q.................Y..].U..Q 57e0 8b 4d 08 68 d4 36 00 0a 51 e8 70 e9 ff ff 81 c4 08 00 00 00 3d 00 00 00 00 b8 04 00 00 00 75 5c .M.h.6..Q.p.........=.........u\ 5800 68 dd 36 00 0a 51 e8 53 e9 ff ff 81 c4 08 00 00 00 3d 00 00 00 00 b8 04 00 00 00 75 3f 68 e7 36 h.6..Q.S.........=.........u?h.6 5820 00 0a 51 e8 36 e9 ff ff 81 c4 08 00 00 00 3d 00 00 00 00 b8 02 00 00 00 75 22 68 f0 36 00 0a 51 ..Q.6.........=.........u"h.6..Q 5840 e8 19 e9 ff ff 81 c4 08 00 00 00 3d 00 00 00 00 b8 02 00 00 00 75 05 b8 01 00 00 00 59 89 ec 5d ...........=.........u......Y..] 5860 c3 55 89 e5 68 fa 36 00 0a e8 41 ff ff ff 81 c4 04 00 00 00 68 06 37 00 0a 50 68 01 00 00 00 e8 .U..h.6...A.........h.7..Ph..... 5880 a7 a8 ff ff 81 c4 0c 00 00 00 68 2a 37 00 0a e8 1b ff ff ff 81 c4 04 00 00 00 68 35 37 00 0a 50 ..........h*7.............h57..P 58a0 68 02 00 00 00 e8 81 a8 ff ff 81 c4 0c 00 00 00 68 58 37 00 0a e8 f5 fe ff ff 81 c4 04 00 00 00 h...............hX7............. 58c0 68 63 37 00 0a 50 68 04 00 00 00 e8 5b a8 ff ff 81 c4 0c 00 00 00 68 86 37 00 0a e8 cf fe ff ff hc7..Ph.....[.........h.7....... 58e0 81 c4 04 00 00 00 68 93 37 00 0a 50 68 01 00 00 00 e8 35 a8 ff ff 81 c4 0c 00 00 00 68 b8 37 00 ......h.7..Ph.....5.........h.7. 5900 0a e8 a9 fe ff ff 81 c4 04 00 00 00 68 c6 37 00 0a 50 68 02 00 00 00 e8 0f a8 ff ff 81 c4 0c 00 ............h.7..Ph............. 5920 00 00 68 ec 37 00 0a e8 83 fe ff ff 81 c4 04 00 00 00 68 fa 37 00 0a 50 68 04 00 00 00 e8 e9 a7 ..h.7.............h.7..Ph....... 5940 ff ff 81 c4 0c 00 00 00 68 20 38 00 0a e8 5d fe ff ff 81 c4 04 00 00 00 68 26 38 00 0a 50 68 01 ........h.8...].........h&8..Ph. 5960 00 00 00 e8 c3 a7 ff ff 81 c4 0c 00 00 00 89 ec 5d c3 55 89 e5 50 51 52 57 8b 7d 08 8b 55 0c 8d ................].U..PQRW.}..U.. 5980 4a 04 8b 12 01 ca 31 c0 39 d1 73 17 68 01 00 00 00 8a 01 50 57 e8 da eb ff ff 81 c4 0c 00 00 00 J.....1.9.s.h......PW........... 59a0 41 eb e5 5f 5a 59 58 89 ec 5d c3 55 89 e5 68 67 08 00 0a e8 1c ab ff ff 81 c4 04 00 00 00 68 77 A.._ZYX..].U..hg..............hw 59c0 0a 00 0a e8 0c ab ff ff 81 c4 04 00 00 00 68 01 02 03 00 68 03 00 00 00 89 e1 51 68 73 0a 00 0a ..............h....h......Qhs... 59e0 e8 8d ff ff ff 81 c4 08 00 00 00 68 73 0a 00 0a e8 23 bd ff ff 81 c4 04 00 00 00 68 52 38 00 0a ...........hs....#.........hR8.. 5a00 68 6d 38 00 0a 68 67 08 00 0a e8 b8 b5 ff ff 81 c4 0c 00 00 00 89 ec 5d c3 55 89 e5 50 51 56 57 hm8..hg................].U..PQVW 5a20 8b 75 08 8b 7d 0c 68 20 00 00 00 ff 75 08 e8 ed d6 ff ff 81 c4 08 00 00 00 8b 46 04 3b 06 7c 0f .u..}.h.....u.............F.;.|. 5a40 c7 07 00 00 00 00 c7 47 04 00 00 00 00 eb 57 8b 4e 04 8d 44 0e 0c 89 07 31 c0 8a 44 0e 0c 3d 23 .......G......W.N..D....1..D..=# 5a60 00 00 00 75 10 8b 06 8d 44 06 0c 89 47 04 8b 06 89 46 04 eb 31 31 c0 8a 44 0e 0c 3d 22 00 00 00 ...u....D...G....F..11..D..="... 5a80 75 0c 56 e8 39 dc ff ff 81 c4 04 00 00 00 ff 75 08 e8 38 d9 ff ff 81 c4 04 00 00 00 8b 4e 04 8d u.V.9..........u..8..........N.. 5aa0 44 0e 0c 89 47 04 5f 5e 59 58 89 ec 5d c3 55 89 e5 68 19 07 00 0a e8 19 aa ff ff 81 c4 04 00 00 D...G._^YX..].U..h.............. 5ac0 00 68 00 00 00 00 68 00 00 00 00 89 e1 68 7a 38 00 0a 68 19 07 00 0a e8 41 b0 ff ff 81 c4 08 00 .h....h......hz8..h.....A....... 5ae0 00 00 51 68 19 07 00 0a e8 2c ff ff ff 81 c4 08 00 00 00 68 82 38 00 0a 68 04 00 00 00 b8 19 07 ..Qh.....,.........h.8..h....... 5b00 00 0a ff 70 04 e8 21 a6 ff ff 81 c4 0c 00 00 00 68 c0 38 00 0a 68 0e 00 00 00 8b 01 81 e8 19 07 ...p..!.........h.8..h.......... 5b20 00 0a 50 e8 03 a6 ff ff 81 c4 0c 00 00 00 68 e7 38 00 0a 68 10 00 00 00 8b 41 04 81 e8 19 07 00 ..P...........h.8..h.....A...... 5b40 0a 50 e8 e4 a5 ff ff 81 c4 0c 00 00 00 89 ec 5d c3 55 89 e5 68 19 07 00 0a e8 76 a9 ff ff 81 c4 .P.............].U..h.....v..... 5b60 04 00 00 00 68 00 00 00 00 68 00 00 00 00 89 e1 68 0c 39 00 0a 68 19 07 00 0a e8 9e af ff ff 81 ....h....h......h.9..h.......... 5b80 c4 08 00 00 00 51 68 19 07 00 0a e8 89 fe ff ff 81 c4 08 00 00 00 68 15 39 00 0a 68 05 00 00 00 .....Qh...............h.9..h.... 5ba0 b8 19 07 00 0a ff 70 04 e8 7e a5 ff ff 81 c4 0c 00 00 00 68 69 39 00 0a 68 0e 00 00 00 8b 01 81 ......p..~.........hi9..h....... 5bc0 e8 19 07 00 0a 50 e8 60 a5 ff ff 81 c4 0c 00 00 00 68 a6 39 00 0a 68 11 00 00 00 8b 41 04 81 e8 .....P.`.........h.9..h.....A... 5be0 19 07 00 0a 50 e8 41 a5 ff ff 81 c4 0c 00 00 00 89 ec 5d c3 55 89 e5 68 19 07 00 0a e8 d3 a8 ff ....P.A...........].U..h........ 5c00 ff 81 c4 04 00 00 00 68 00 00 00 00 68 00 00 00 00 89 e1 51 68 19 07 00 0a e8 fb fd ff ff 81 c4 .......h....h......Qh........... 5c20 08 00 00 00 68 e1 39 00 0a 68 00 00 00 00 8b 41 04 2b 01 50 e8 f2 a4 ff ff 81 c4 0c 00 00 00 89 ....h.9..h.....A.+.P............ 5c40 ec 5d c3 55 89 e5 68 19 07 00 0a e8 84 a8 ff ff 81 c4 04 00 00 00 68 00 00 00 00 68 00 00 00 00 .].U..h...............h....h.... 5c60 89 e1 68 1d 3a 00 0a 68 19 07 00 0a e8 ac ae ff ff 81 c4 08 00 00 00 51 68 19 07 00 0a e8 97 fd ..h.:..h...............Qh....... 5c80 ff ff 81 c4 08 00 00 00 68 2e 3a 00 0a 68 0d 00 00 00 8b 01 81 e8 19 07 00 0a 50 e8 8b a4 ff ff ........h.:..h............P..... 5ca0 81 c4 0c 00 00 00 68 6c 3a 00 0a 68 18 00 00 00 8b 41 04 81 e8 19 07 00 0a 50 e8 6c a4 ff ff 81 ......hl:..h.....A.......P.l.... 5cc0 c4 0c 00 00 00 89 ec 5d c3 55 89 e5 68 19 07 00 0a e8 fe a7 ff ff 81 c4 04 00 00 00 68 00 00 00 .......].U..h...............h... 5ce0 00 68 00 00 00 00 89 e1 68 a8 3a 00 0a 68 19 07 00 0a e8 26 ae ff ff 81 c4 08 00 00 00 51 68 19 .h......h.:..h.....&.........Qh. 5d00 07 00 0a e8 11 fd ff ff 81 c4 08 00 00 00 68 b5 3a 00 0a 68 0d 00 00 00 8b 01 81 e8 19 07 00 0a ..............h.:..h............ 5d20 50 e8 05 a4 ff ff 81 c4 0c 00 00 00 68 f8 3a 00 0a 68 15 00 00 00 8b 41 04 81 e8 19 07 00 0a 50 P...........h.:..h.....A.......P 5d40 e8 e6 a3 ff ff 81 c4 0c 00 00 00 89 ec 5d c3 89 e5 68 43 0b 00 0a ff 35 4b 0b 00 0a e8 f9 a5 ff .............]...hC....5K....... 5d60 ff 81 c4 08 00 00 00 81 7d 00 01 00 00 00 7e 27 68 39 3b 00 0a ff 75 08 e8 1d a4 ff ff 81 c4 08 ........}.....~'h9;...u......... 5d80 00 00 00 3d 00 00 00 00 74 0d e8 f8 04 00 00 8b 1d 34 06 00 0a eb 2e 81 ec 08 00 00 00 89 e0 c7 ...=....t........4.............. 5da0 00 00 00 00 00 50 68 02 00 00 00 68 01 00 00 00 68 eb 06 00 0a e8 12 00 00 00 81 c4 10 00 00 00 .....Ph....h....h............... 5dc0 bb 00 00 00 00 b8 01 00 00 00 cd 80 55 89 e5 50 51 ff 75 08 e8 6e 04 00 00 81 c4 04 00 00 00 81 ............U..PQ.u..n.......... 5de0 ec 13 00 00 00 89 e1 c7 41 08 07 00 00 00 51 e8 e0 a6 ff ff 81 c4 04 00 00 00 ff 75 14 ff 75 10 ........A.....Q............u..u. 5e00 51 ff 75 08 e8 67 00 00 00 81 c4 10 00 00 00 68 41 3b 00 0a ff 75 0c e8 01 ad ff ff 81 c4 08 00 Q.u..g.........hA;...u.......... 5e20 00 00 51 ff 75 0c e8 b8 b6 ff ff 81 c4 08 00 00 00 68 2f 06 00 0a ff 75 0c e8 df ac ff ff 81 c4 ..Q.u............h/....u........ 5e40 08 00 00 00 68 55 3b 00 0a ff 75 0c e8 cc ac ff ff 81 c4 08 00 00 00 68 76 3b 00 0a ff 75 0c e8 ....hU;...u............hv;...u.. 5e60 b9 ac ff ff 81 c4 08 00 00 00 59 58 89 ec 5d c3 55 89 e5 ff 35 4f 0b 00 0a e8 e6 03 00 00 81 c4 ..........YX..].U...5O.......... 5e80 04 00 00 00 3d 00 00 00 00 75 16 68 90 3b 00 0a ff 75 10 ff 75 14 e8 61 03 00 00 81 c4 0c 00 00 ....=....u.h.;...u..u..a........ 5ea0 00 50 51 52 53 56 57 8b 75 08 8b 7d 0c 8b 0f 8b 57 08 39 ca 7d 16 68 9b 3b 00 0a ff 75 10 ff 75 .PQRSVW.u..}....W.9.}.h.;...u..u 5ec0 14 e8 c8 b7 ff ff 81 c4 0c 00 00 00 8d 5c 0f 0c 8b 05 4f 0b 00 0a 88 03 41 56 e8 68 03 00 00 81 .............\....O.....AV.h.... 5ee0 c4 04 00 00 00 ff 35 4f 0b 00 0a e8 74 03 00 00 81 c4 04 00 00 00 3d 00 00 00 00 0f 85 b1 ff ff ......5O....t.........=......... 5f00 ff 89 0f 5f 5e 5b 5a 59 58 89 ec 5d c3 55 89 e5 68 bb 06 00 0a e8 ba a5 ff ff 81 c4 04 00 00 00 ..._^[ZYX..].U..h............... 5f20 68 07 07 00 0a e8 aa a5 ff ff 81 c4 04 00 00 00 68 67 08 00 0a e8 9a a5 ff ff 81 c4 04 00 00 00 h...............hg.............. 5f40 68 89 0a 00 0a e8 8a a5 ff ff 81 c4 04 00 00 00 68 c1 3b 00 0a 68 bb 06 00 0a e8 be ab ff ff 81 h...............h.;..h.......... 5f60 c4 08 00 00 00 81 ec 08 00 00 00 89 e0 68 10 00 00 00 50 e8 7d b0 ff ff 81 c4 08 00 00 00 68 03 .............h....P.}.........h. 5f80 07 00 0a e8 bf 02 00 00 81 c4 04 00 00 00 50 68 89 0a 00 0a 68 67 08 00 0a 68 03 07 00 0a e8 cd ..............Ph....hg...h...... 5fa0 fe ff ff 81 c4 10 00 00 00 68 c6 3b 00 0a 68 33 00 00 00 b8 67 08 00 0a ff 70 0c e8 6b a1 ff ff .........h.;..h3....g....p..k... 5fc0 81 c4 0c 00 00 00 81 c4 08 00 00 00 5d c3 55 89 e5 68 bb 06 00 0a e8 f9 a4 ff ff 81 c4 04 00 00 ............].U..h.............. 5fe0 00 68 07 07 00 0a e8 e9 a4 ff ff 81 c4 04 00 00 00 68 67 08 00 0a e8 d9 a4 ff ff 81 c4 04 00 00 .h...............hg............. 6000 00 68 89 0a 00 0a e8 c9 a4 ff ff 81 c4 04 00 00 00 68 ed 3b 00 0a 68 bb 06 00 0a e8 fd aa ff ff .h...............h.;..h......... 6020 81 c4 08 00 00 00 81 ec 08 00 00 00 89 e0 68 10 00 00 00 50 e8 bc af ff ff 81 c4 08 00 00 00 50 ..............h....P...........P 6040 68 89 0a 00 0a 68 67 08 00 0a 68 03 07 00 0a e8 1c fe ff ff 81 c4 10 00 00 00 68 f2 3b 00 0a 68 h....hg...h...............h.;..h 6060 02 00 00 00 ff 70 04 e8 bf a0 ff ff 81 c4 0c 00 00 00 81 c4 08 00 00 00 5d c3 55 89 e5 68 bb 06 .....p..................].U..h.. 6080 00 0a e8 4d a4 ff ff 81 c4 04 00 00 00 68 07 07 00 0a e8 3d a4 ff ff 81 c4 04 00 00 00 68 67 08 ...M.........h.....=.........hg. 60a0 00 0a e8 2d a4 ff ff 81 c4 04 00 00 00 68 89 0a 00 0a e8 1d a4 ff ff 81 c4 04 00 00 00 68 22 3c ...-.........h...............h"< 60c0 00 0a 68 bb 06 00 0a e8 51 aa ff ff 81 c4 08 00 00 00 81 ec 08 00 00 00 89 e0 68 10 00 00 00 50 ..h.....Q.................h....P 60e0 e8 10 af ff ff 81 c4 08 00 00 00 68 03 07 00 0a e8 52 01 00 00 81 c4 04 00 00 00 50 68 89 0a 00 ...........h.....R.........Ph... 6100 0a 68 67 08 00 0a 68 03 07 00 0a e8 60 fd ff ff 81 c4 10 00 00 00 68 2a 3c 00 0a 68 33 34 35 36 .hg...h.....`.........h*<..h3456 6120 b8 67 08 00 0a ff 70 0c e8 fe 9f ff ff 81 c4 0c 00 00 00 81 c4 08 00 00 00 5d c3 55 89 e5 68 bb .g....p..................].U..h. 6140 06 00 0a e8 8c a3 ff ff 81 c4 04 00 00 00 68 07 07 00 0a e8 7c a3 ff ff 81 c4 04 00 00 00 68 67 ..............h.....|.........hg 6160 08 00 0a e8 6c a3 ff ff 81 c4 04 00 00 00 68 89 0a 00 0a e8 5c a3 ff ff 81 c4 04 00 00 00 68 54 ....l.........h.....\.........hT 6180 3c 00 0a 68 bb 06 00 0a e8 90 a9 ff ff 81 c4 08 00 00 00 81 ec 08 00 00 00 89 e0 68 10 00 00 00 <..h.......................h.... 61a0 50 e8 4f ae ff ff 81 c4 08 00 00 00 68 03 07 00 0a e8 91 00 00 00 81 c4 04 00 00 00 50 68 89 0a P.O.........h...............Ph.. 61c0 00 0a 68 67 08 00 0a 68 03 07 00 0a e8 9f fc ff ff 81 c4 10 00 00 00 68 5e 3c 00 0a 68 33 34 35 ..hg...h...............h^<..h345 61e0 36 b8 67 08 00 0a ff 70 0c e8 3d 9f ff ff 81 c4 0c 00 00 00 81 c4 08 00 00 00 5d c3 55 89 e5 68 6.g....p..=...............].U..h 6200 9d 3c 00 0a ff 75 0c e8 11 a9 ff ff 81 c4 08 00 00 00 ff 75 10 ff 75 0c e8 00 a9 ff ff 81 c4 08 .<...u.............u..u......... 6220 00 00 00 68 a8 3c 00 0a ff 75 0c e8 ed a8 ff ff 81 c4 08 00 00 00 68 01 00 00 00 ff 75 08 e8 d2 ...h.<...u............h.....u... 6240 ad ff ff 89 ec 5d c3 55 89 e5 50 ff 75 08 e8 cd b0 ff ff 81 c4 04 00 00 00 89 05 4f 0b 00 0a 58 .....].U..P.u..............O...X 6260 89 ec 5d c3 55 89 e5 b8 00 00 00 00 81 7d 08 30 00 00 00 7c 0e 81 7d 08 39 00 00 00 7f 05 b8 01 ..].U........}.0...|..}.9....... 6280 00 00 00 89 ec 5d c3 e8 6c 9f ff ff e8 93 9f ff ff e8 ba 9f ff ff e8 e1 9f ff ff e8 08 a0 ff ff .....]..l....................... 62a0 e8 2f a0 ff ff e8 56 a0 ff ff e8 31 a1 ff ff e8 58 a1 ff ff e8 7f a1 ff ff e8 a6 a1 ff ff e8 fb ./....V....1....X............... 62c0 a1 ff ff e8 e3 a2 ff ff e8 28 a3 ff ff e8 7d a3 ff ff e8 75 a4 ff ff e8 c3 a4 ff ff e8 21 a5 ff .........(....}....u.........!.. 62e0 ff e8 7f a5 ff ff e8 55 a6 ff ff e8 7c a6 ff ff e8 a3 a6 ff ff e8 ca a6 ff ff e8 2c a7 ff ff e8 .......U....|..............,.... 6300 56 a7 ff ff e8 61 a8 ff ff e8 9f a8 ff ff e8 3d a9 ff ff e8 8f a9 ff ff e8 e1 a9 ff ff e8 b2 aa V....a.........=................ 6320 ff ff e8 04 ab ff ff e8 56 ab ff ff e8 bd ab ff ff e8 24 ac ff ff e8 fc ac ff ff e8 60 ae ff ff ........V.........$.........`... 6340 e8 d6 ae ff ff e8 60 af ff ff e8 1d b0 ff ff e8 74 b0 ff ff e8 db b0 ff ff e8 1d b1 ff ff e8 37 ......`.........t..............7 6360 b2 ff ff e8 97 b2 ff ff e8 ca b3 ff ff e8 25 b4 ff ff e8 d6 b4 ff ff e8 6f b5 ff ff e8 ca b5 ff ..............%.........o....... 6380 ff e8 8b b6 ff ff e8 0a b7 ff ff e8 b6 b7 ff ff e8 42 b8 ff ff e8 07 b9 ff ff e8 3f b9 ff ff e8 .................B.........?.... 63a0 77 b9 ff ff e8 af b9 ff ff e8 e7 b9 ff ff e8 17 ba ff ff e8 4f ba ff ff e8 87 ba ff ff e8 24 bb w...................O.........$. 63c0 ff ff e8 5c bb ff ff e8 94 bb ff ff e8 cc bb ff ff e8 04 bc ff ff e8 3c bc ff ff e8 b1 bc ff ff ...\...................<........ 63e0 e8 d3 bc ff ff e8 1b bd ff ff e8 3d bd ff ff e8 85 bd ff ff e8 1a bf ff ff e8 6a c0 ff ff e8 50 ...........=..............j....P 6400 c1 ff ff e8 c0 c1 ff ff e8 96 c2 ff ff e8 f6 c2 ff ff e8 73 c3 ff ff e8 a3 c3 ff ff e8 d3 c3 ff ...................s............ 6420 ff e8 5c c4 ff ff e8 99 c4 ff ff e8 d6 c4 ff ff e8 13 c5 ff ff e8 50 c5 ff ff e8 85 c5 ff ff e8 ..\...................P......... 6440 c2 c5 ff ff e8 f7 c5 ff ff e8 81 c6 ff ff e8 be c6 ff ff e8 fb c6 ff ff e8 38 c7 ff ff e8 75 c7 .........................8....u. 6460 ff ff e8 b2 c7 ff ff e8 49 c8 ff ff e8 f5 c8 ff ff e8 df c9 ff ff e8 8c ca ff ff e8 12 cb ff ff ........I....................... 6480 e8 96 cb ff ff e8 fc cb ff ff e8 40 cc ff ff e8 bc cc ff ff e8 0f cd ff ff e8 a5 cd ff ff e8 23 ...........@...................# 64a0 ce ff ff e8 76 ce ff ff e8 c9 ce ff ff e8 5f cf ff ff e8 d2 cf ff ff e8 08 d0 ff ff e8 7e d0 ff ....v........._..............~.. 64c0 ff e8 d4 d0 ff ff e8 0a d1 ff ff e8 40 d1 ff ff e8 b6 d1 ff ff e8 1c d2 ff ff e8 8d d2 ff ff e8 ............@................... 64e0 fe d2 ff ff e8 6f d3 ff ff e8 00 d4 ff ff e8 37 d4 ff ff e8 6e d4 ff ff e8 a5 d4 ff ff e8 11 d5 .....o.........7....n........... 6500 ff ff e8 82 d5 ff ff e8 f3 d5 ff ff e8 79 d6 ff ff e8 b0 d6 ff ff e8 e7 d6 ff ff e8 50 d7 ff ff .............y..............P... 6520 e8 61 d8 ff ff e8 9c d8 ff ff e8 d7 d8 ff ff e8 12 d9 ff ff e8 4d d9 ff ff e8 b0 d9 ff ff e8 d2 .a...................M.......... 6540 d9 ff ff e8 1a da ff ff e8 b6 da ff ff e8 37 db ff ff e8 b8 db ff ff e8 82 dc ff ff e8 bf dc ff ..............7................. 6560 ff e8 fc dc ff ff e8 39 dd ff ff e8 76 dd ff ff e8 f9 dd ff ff e8 31 de ff ff e8 69 de ff ff e8 .......9....v.........1....i.... 6580 a1 de ff ff e8 d9 de ff ff e8 11 df ff ff e8 6e df ff ff e8 20 e0 ff ff e8 83 e0 ff ff e8 e3 e0 ...............n................ 65a0 ff ff e8 43 e1 ff ff e8 30 e2 ff ff e8 a6 e2 ff ff e8 1c e3 ff ff e8 92 e3 ff ff e8 08 e4 ff ff ...C....0....................... 65c0 e8 7e e4 ff ff e8 16 e5 ff ff e8 e0 e5 ff ff e8 2a e7 ff ff e8 72 e8 ff ff e8 39 ea ff ff e8 24 .~..............*....r....9....$ 65e0 ec ff ff e8 a7 ed ff ff e8 f1 ee ff ff e8 eb ef ff ff e8 43 f1 ff ff e8 65 f2 ff ff e8 aa f3 ff ...................C....e....... 6600 ff e8 a8 f4 ff ff e8 46 f5 ff ff e8 e4 f5 ff ff e8 2e f6 ff ff e8 af f6 ff ff e8 ee f8 ff ff e8 .......F........................ 6620 aa f9 ff ff e8 51 fa ff ff e8 0d fb ff ff c3 01 00 00 00 0a 00 00 00 00 01 00 00 00 20 01 00 00 .....Q.......................... 6640 00 2f 00 41 62 63 00 00 00 00 00 00 00 00 00 03 00 00 00 22 00 00 00 ff ff ff ff 00 00 00 00 00 ./.Abc............."............ 6660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 08 ................................ 6680 00 00 00 00 00 00 00 08 00 00 00 41 42 41 42 41 0a 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 ...........ABABA................ 66a0 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 08 00 00 00 41 41 41 41 0a 41 41 41 00 00 00 00 00 ...................AAAA.AAA..... 66c0 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 ................................ 66e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 ................................ 6700 00 00 00 bb 06 00 0a 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6720 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 67a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 67c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6820 00 00 00 00 00 19 07 00 0a 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 04 00 00 00 01 ................................ 6840 00 00 00 08 00 00 00 41 42 43 44 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 .......ABCD..................... 6860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 68a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 68c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 68e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 69a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 69c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 69e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 67 08 00 0a 00 00 00 00 00 00 00 00 06 ...................g............ 6a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 6b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 89 0a 00 0a 00 00 00 00 00 00 00 ................................ 6b20 00 06 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 ................................ 6b40 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 19 00 00 00 65 72 72 6f 72 20 69 6e 20 .......................error.in. 6b60 63 68 65 63 6b 2d 69 6e 74 73 2d 65 71 75 61 6c 01 00 00 00 2e 00 00 00 00 34 00 00 00 46 20 2d check-ints-equal.........4...F.- 6b80 20 74 65 73 74 2d 63 6f 6d 70 61 72 65 2d 6e 75 6c 6c 2d 6b 65 72 6e 65 6c 2d 73 74 72 69 6e 67 .test-compare-null-kernel-string 6ba0 2d 77 69 74 68 2d 65 6d 70 74 79 2d 61 72 72 61 79 03 00 00 00 41 62 63 38 00 00 00 46 20 2d 20 -with-empty-array....Abc8...F.-. 6bc0 74 65 73 74 2d 63 6f 6d 70 61 72 65 2d 6e 75 6c 6c 2d 6b 65 72 6e 65 6c 2d 73 74 72 69 6e 67 2d test-compare-null-kernel-string- 6be0 77 69 74 68 2d 6e 6f 6e 2d 65 6d 70 74 79 2d 61 72 72 61 79 03 00 00 00 41 62 63 2f 00 00 00 46 with-non-empty-array....Abc/...F 6c00 20 2d 20 74 65 73 74 2d 63 6f 6d 70 61 72 65 2d 6b 65 72 6e 65 6c 2d 73 74 72 69 6e 67 2d 77 69 .-.test-compare-kernel-string-wi 6c20 74 68 2d 65 71 75 61 6c 2d 61 72 72 61 79 03 00 00 00 41 64 63 2f 00 00 00 46 20 2d 20 74 65 73 th-equal-array....Adc/...F.-.tes 6c40 74 2d 63 6f 6d 70 61 72 65 2d 6b 65 72 6e 65 6c 2d 73 74 72 69 6e 67 2d 77 69 74 68 2d 65 71 75 t-compare-kernel-string-with-equ 6c60 61 6c 2d 61 72 72 61 79 00 00 00 00 2f 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 61 72 65 al-array..../...F.-.test-compare 6c80 2d 6b 65 72 6e 65 6c 2d 73 74 72 69 6e 67 2d 77 69 74 68 2d 65 71 75 61 6c 2d 61 72 72 61 79 02 -kernel-string-with-equal-array. 6ca0 00 00 00 41 62 31 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 61 72 65 2d 6b 65 72 6e 65 6c ...Ab1...F.-.test-compare-kernel 6cc0 2d 73 74 72 69 6e 67 2d 77 69 74 68 2d 73 68 6f 72 74 65 72 2d 61 72 72 61 79 04 00 00 00 41 62 -string-with-shorter-array....Ab 6ce0 63 64 30 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 61 72 65 2d 6b 65 72 6e 65 6c 2d 73 74 cd0...F.-.test-compare-kernel-st 6d00 72 69 6e 67 2d 77 69 74 68 2d 6c 6f 6e 67 65 72 2d 61 72 72 61 79 00 00 00 00 00 00 00 00 28 00 ring-with-longer-array........(. 6d20 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 61 72 65 2d 65 6d 70 74 79 2d 77 69 74 68 2d 65 6d ..F.-.test-compare-empty-with-em 6d40 70 74 79 2d 73 74 72 69 6e 67 03 00 00 00 41 62 63 00 00 00 00 2c 00 00 00 46 20 2d 20 74 65 73 pty-string....Abc....,...F.-.tes 6d60 74 2d 63 6f 6d 70 61 72 65 2d 65 6d 70 74 79 2d 77 69 74 68 2d 6e 6f 6e 2d 65 6d 70 74 79 2d 73 t-compare-empty-with-non-empty-s 6d80 74 72 69 6e 67 03 00 00 00 41 62 63 03 00 00 00 41 62 63 1e 00 00 00 46 20 2d 20 74 65 73 74 2d tring....Abc....Abc....F.-.test- 6da0 63 6f 6d 70 61 72 65 2d 65 71 75 61 6c 2d 73 74 72 69 6e 67 73 03 00 00 00 41 64 63 03 00 00 00 compare-equal-strings....Adc.... 6dc0 41 62 63 2e 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 61 72 65 2d 69 6e 65 71 75 61 6c 2d Abc....F.-.test-compare-inequal- 6de0 73 74 72 69 6e 67 73 2d 65 71 75 61 6c 2d 6c 65 6e 67 74 68 73 03 00 00 00 41 62 63 03 00 00 00 strings-equal-lengths....Abc.... 6e00 41 62 63 02 00 00 00 41 62 15 00 00 00 46 20 2d 20 74 65 73 74 2d 74 72 61 63 65 2d 73 69 6e 67 Abc....Ab....F.-.test-trace-sing 6e20 6c 65 01 00 00 00 43 01 00 00 00 44 16 00 00 00 46 20 2d 20 74 65 73 74 2d 74 72 61 63 65 2d 61 le....C....D....F.-.test-trace-a 6e40 70 70 65 6e 64 73 00 00 00 00 19 00 00 00 46 20 2d 20 74 65 73 74 2d 74 72 61 63 65 2d 65 6d 70 ppends........F.-.test-trace-emp 6e60 74 79 2d 6c 69 6e 65 02 00 00 00 41 62 02 00 00 00 41 62 19 00 00 00 46 20 2d 20 74 65 73 74 2d ty-line....Ab....Ab....F.-.test- 6e80 74 72 61 63 65 2d 73 63 61 6e 2d 66 69 72 73 74 02 00 00 00 41 62 02 00 00 00 63 64 02 00 00 00 trace-scan-first....Ab....cd.... 6ea0 63 64 2b 00 00 00 46 20 2d 20 74 65 73 74 2d 74 72 61 63 65 2d 73 63 61 6e 2d 73 6b 69 70 73 2d cd+...F.-.test-trace-scan-skips- 6ec0 6c 69 6e 65 73 2d 75 6e 74 69 6c 2d 66 6f 75 6e 64 02 00 00 00 41 62 02 00 00 00 41 62 02 00 00 lines-until-found....Ab....Ab... 6ee0 00 41 62 36 00 00 00 46 20 2d 20 74 65 73 74 2d 74 72 61 63 65 2d 73 65 63 6f 6e 64 2d 73 63 61 .Ab6...F.-.test-trace-second-sca 6f00 6e 2d 73 74 61 72 74 73 2d 77 68 65 72 65 2d 66 69 72 73 74 2d 6c 65 66 74 2d 6f 66 66 02 00 00 n-starts-where-first-left-off... 6f20 00 41 62 4b 00 00 00 46 20 2d 20 74 65 73 74 2d 74 72 61 63 65 2d 73 65 63 6f 6e 64 2d 73 63 61 .AbK...F.-.test-trace-second-sca 6f40 6e 2d 73 74 61 72 74 73 2d 77 68 65 72 65 2d 66 69 72 73 74 2d 6c 65 66 74 2d 6f 66 66 2f 70 72 n-starts-where-first-left-off/pr 6f60 65 63 6f 6e 64 69 74 69 6f 6e 2d 66 61 69 6c 75 72 65 02 00 00 00 41 78 36 00 00 00 46 20 2d 20 econdition-failure....Ax6...F.-. 6f80 74 65 73 74 2d 74 72 61 63 65 2d 73 65 63 6f 6e 64 2d 73 63 61 6e 2d 73 74 61 72 74 73 2d 77 68 test-trace-second-scan-starts-wh 6fa0 65 72 65 2d 66 69 72 73 74 2d 6c 65 66 74 2d 6f 66 66 09 00 00 00 62 6c 61 68 20 62 6c 61 68 26 ere-first-left-off....blah.blah& 6fc0 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 6c 69 6e 65 2d 6d 61 74 63 68 65 73 3f 2d 6e ...F.-.test-next-line-matches?-n 6fe0 6f 2d 6d 61 74 63 68 2d 31 00 00 00 00 26 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 6c o-match-1....&...F.-.test-next-l 7000 69 6e 65 2d 6d 61 74 63 68 65 73 3f 2d 6e 6f 2d 6d 61 74 63 68 2d 32 02 00 00 00 41 41 26 00 00 ine-matches?-no-match-2....AA&.. 7020 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 6c 69 6e 65 2d 6d 61 74 63 68 65 73 3f 2d 6e 6f 2d .F.-.test-next-line-matches?-no- 7040 6d 61 74 63 68 2d 33 05 00 00 00 41 42 41 42 41 21 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 match-3....ABABA!...F.-.test-nex 7060 74 2d 6c 69 6e 65 2d 6d 61 74 63 68 65 73 3f 2d 6d 61 74 63 68 1d 00 00 00 46 20 2d 20 74 65 73 t-line-matches?-match....F.-.tes 7080 74 2d 73 6b 69 70 2d 6e 65 78 74 2d 6c 69 6e 65 2d 65 6d 70 74 79 1e 00 00 00 46 20 2d 20 74 65 t-skip-next-line-empty....F.-.te 70a0 73 74 2d 73 6b 69 70 2d 6e 65 78 74 2d 6c 69 6e 65 2d 66 69 6c 6c 65 64 10 00 00 00 73 74 72 65 st-skip-next-line-filled....stre 70c0 61 6d 20 6f 76 65 72 66 6c 6f 77 0a 02 00 00 00 41 62 15 00 00 00 46 20 2d 20 74 65 73 74 2d 77 am.overflow.....Ab....F.-.test-w 70e0 72 69 74 65 2d 73 69 6e 67 6c 65 01 00 00 00 43 01 00 00 00 44 16 00 00 00 46 20 2d 20 74 65 73 rite-single....C....D....F.-.tes 7100 74 2d 77 72 69 74 65 2d 61 70 70 65 6e 64 73 03 00 00 00 41 62 63 03 00 00 00 41 62 63 1a 00 00 t-write-appends....Abc....Abc... 7120 00 46 20 2d 20 74 65 73 74 2d 73 74 72 65 61 6d 2d 64 61 74 61 2d 65 71 75 61 6c 03 00 00 00 41 .F.-.test-stream-data-equal....A 7140 62 63 03 00 00 00 41 62 64 1c 00 00 00 46 20 2d 20 74 65 73 74 2d 73 74 72 65 61 6d 2d 64 61 74 bc....Abd....F.-.test-stream-dat 7160 61 2d 65 71 75 61 6c 2d 32 03 00 00 00 41 62 63 04 00 00 00 41 62 63 64 27 00 00 00 46 20 2d 20 a-equal-2....Abc....Abcd'...F.-. 7180 74 65 73 74 2d 73 74 72 65 61 6d 2d 64 61 74 61 2d 65 71 75 61 6c 2d 6c 65 6e 67 74 68 2d 63 68 test-stream-data-equal-length-ch 71a0 65 63 6b 07 00 00 00 41 62 63 0a 64 65 66 03 00 00 00 41 62 63 30 00 00 00 46 20 2d 20 74 65 73 eck....Abc.def....Abc0...F.-.tes 71c0 74 2d 6e 65 78 74 2d 73 74 72 65 61 6d 2d 6c 69 6e 65 2d 65 71 75 61 6c 2d 73 74 6f 70 73 2d 61 t-next-stream-line-equal-stops-a 71e0 74 2d 6e 65 77 6c 69 6e 65 07 00 00 00 41 62 63 0a 64 65 66 03 00 00 00 64 65 66 32 00 00 00 46 t-newline....Abc.def....def2...F 7200 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 73 74 72 65 61 6d 2d 6c 69 6e 65 2d 65 71 75 61 6c 2d 73 .-.test-next-stream-line-equal-s 7220 74 6f 70 73 2d 61 74 2d 6e 65 77 6c 69 6e 65 2d 32 08 00 00 00 41 62 63 0a 64 65 66 0a 03 00 00 tops-at-newline-2....Abc.def.... 7240 00 41 62 63 03 00 00 00 64 65 66 2d 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 73 74 72 .Abc....def-...F.-.test-next-str 7260 65 61 6d 2d 6c 69 6e 65 2d 65 71 75 61 6c 2d 73 6b 69 70 73 2d 6e 65 77 6c 69 6e 65 07 00 00 00 eam-line-equal-skips-newline.... 7280 41 62 63 0a 64 65 66 03 00 00 00 41 62 63 03 00 00 00 64 65 66 2d 00 00 00 46 20 2d 20 74 65 73 Abc.def....Abc....def-...F.-.tes 72a0 74 2d 6e 65 78 74 2d 73 74 72 65 61 6d 2d 6c 69 6e 65 2d 65 71 75 61 6c 2d 73 6b 69 70 73 2d 6e t-next-stream-line-equal-skips-n 72c0 65 77 6c 69 6e 65 00 00 00 00 36 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 73 74 72 65 ewline....6...F.-.test-next-stre 72e0 61 6d 2d 6c 69 6e 65 2d 65 71 75 61 6c 2d 61 6c 77 61 79 73 2d 66 61 69 6c 73 2d 61 66 74 65 72 am-line-equal-always-fails-after 7300 2d 45 6f 66 00 00 00 00 38 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 73 74 72 65 61 6d -Eof....8...F.-.test-next-stream 7320 2d 6c 69 6e 65 2d 65 71 75 61 6c 2d 61 6c 77 61 79 73 2d 66 61 69 6c 73 2d 61 66 74 65 72 2d 45 -line-equal-always-fails-after-E 7340 6f 66 2f 32 23 00 00 00 46 20 2d 20 74 65 73 74 2d 73 74 6f 70 2d 73 6b 69 70 73 2d 72 65 74 75 of/2#...F.-.test-stop-skips-retu 7360 72 6e 73 2d 6f 6e 2d 65 78 69 74 23 00 00 00 46 20 2d 20 74 65 73 74 2d 73 74 6f 70 2d 73 6b 69 rns-on-exit#...F.-.test-stop-ski 7380 70 73 2d 72 65 74 75 72 6e 73 2d 6f 6e 2d 65 78 69 74 02 00 00 00 41 62 22 00 00 00 46 20 2d 20 ps-returns-on-exit....Ab"...F.-. 73a0 74 65 73 74 2d 72 65 61 64 2d 73 69 6e 67 6c 65 3a 20 72 65 74 75 72 6e 20 76 61 6c 75 65 14 00 test-read-single:.return.value.. 73c0 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 73 69 6e 67 6c 65 02 00 00 00 41 62 01 00 00 00 ..F.-.test-read-single....Ab.... 73e0 43 01 00 00 00 44 19 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 69 73 2d 73 74 61 74 65 C....D....F.-.test-read-is-state 7400 66 75 6c 02 00 00 00 43 44 02 00 00 00 41 62 26 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 ful....CD....Ab&...F.-.test-read 7420 2d 72 65 74 75 72 6e 73 2d 30 2d 6f 6e 2d 65 6e 64 2d 6f 66 2d 66 69 6c 65 02 00 00 00 41 62 22 -returns-0-on-end-of-file....Ab" 7440 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 62 79 74 65 2d 62 75 66 66 65 72 65 64 2d 73 ...F.-.test-read-byte-buffered-s 7460 69 6e 67 6c 65 02 00 00 00 41 62 24 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 62 79 74 ingle....Ab$...F.-.test-read-byt 7480 65 2d 62 75 66 66 65 72 65 64 2d 6d 75 6c 74 69 70 6c 65 27 00 00 00 46 20 2d 20 74 65 73 74 2d e-buffered-multiple'...F.-.test- 74a0 72 65 61 64 2d 62 79 74 65 2d 62 75 66 66 65 72 65 64 2d 65 6e 64 2d 6f 66 2d 66 69 6c 65 08 00 read-byte-buffered-end-of-file.. 74c0 00 00 41 62 63 64 65 66 67 68 2a 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 62 79 74 65 ..Abcdefgh*...F.-.test-read-byte 74e0 2d 62 75 66 66 65 72 65 64 2d 72 65 66 69 6c 6c 73 2d 62 75 66 66 65 72 27 00 00 00 5f 77 72 69 -buffered-refills-buffer'..._wri 7500 74 65 2d 73 74 72 65 61 6d 3a 20 66 61 69 6c 65 64 20 74 6f 20 77 72 69 74 65 20 74 6f 20 66 69 te-stream:.failed.to.write.to.fi 7520 6c 65 0a 02 00 00 00 41 62 1c 00 00 00 46 20 2d 20 74 65 73 74 2d 77 72 69 74 65 2d 73 74 72 65 le.....Ab....F.-.test-write-stre 7540 61 6d 2d 73 69 6e 67 6c 65 02 00 00 00 41 62 01 00 00 00 43 01 00 00 00 44 1d 00 00 00 46 20 2d am-single....Ab....C....D....F.- 7560 20 74 65 73 74 2d 77 72 69 74 65 2d 73 74 72 65 61 6d 2d 61 70 70 65 6e 64 73 02 00 00 00 43 44 .test-write-stream-appends....CD 7580 07 00 00 00 45 72 72 6f 72 3a 20 23 00 00 00 46 20 2d 20 74 65 73 74 2d 77 72 69 74 65 2d 62 79 ....Error:.#...F.-.test-write-by 75a0 74 65 2d 62 75 66 66 65 72 65 64 2d 73 69 6e 67 6c 65 01 00 00 00 41 06 00 00 00 61 62 63 64 65 te-buffered-single....A....abcde 75c0 66 2d 00 00 00 46 20 2d 20 74 65 73 74 2d 77 72 69 74 65 2d 62 79 74 65 2d 62 75 66 66 65 72 65 f-...F.-.test-write-byte-buffere 75e0 64 2d 6d 75 6c 74 69 70 6c 65 2d 66 6c 75 73 68 65 73 07 00 00 00 61 62 63 64 65 66 67 1a 00 00 d-multiple-flushes....abcdefg... 7600 00 61 70 70 65 6e 64 2d 62 79 74 65 3a 20 6f 75 74 20 6f 66 20 73 70 61 63 65 0a 1b 00 00 00 46 .append-byte:.out.of.space.....F 7620 20 2d 20 74 65 73 74 2d 61 70 70 65 6e 64 2d 62 79 74 65 2d 73 69 6e 67 6c 65 01 00 00 00 41 03 .-.test-append-byte-single....A. 7640 00 00 00 41 62 63 1e 00 00 00 46 20 2d 20 74 65 73 74 2d 77 72 69 74 65 2d 62 75 66 66 65 72 65 ...Abc....F.-.test-write-buffere 7660 64 2d 73 69 6e 67 6c 65 03 00 00 00 41 62 63 07 00 00 00 41 62 63 64 65 66 67 3d 00 00 00 46 20 d-single....Abc....Abcdefg=...F. 7680 2d 20 74 65 73 74 2d 77 72 69 74 65 2d 62 75 66 66 65 72 65 64 2d 77 69 74 68 2d 69 6e 74 65 72 -.test-write-buffered-with-inter 76a0 6d 65 64 69 61 74 65 2d 66 6c 75 73 68 3a 20 66 6c 75 73 68 65 64 20 64 61 74 61 40 00 00 00 46 mediate-flush:.flushed.data@...F 76c0 20 2d 20 74 65 73 74 2d 77 72 69 74 65 2d 62 75 66 66 65 72 65 64 2d 77 69 74 68 2d 69 6e 74 65 .-.test-write-buffered-with-inte 76e0 72 6d 65 64 69 61 74 65 2d 66 6c 75 73 68 3a 20 75 6e 66 6c 75 73 68 65 64 20 62 79 74 65 73 18 rmediate-flush:.unflushed.bytes. 7700 00 00 00 46 20 2d 20 74 65 73 74 2d 61 70 70 65 6e 64 2d 62 79 74 65 2d 68 65 78 02 00 00 00 30 ...F.-.test-append-byte-hex....0 7720 61 1c 00 00 00 46 20 2d 20 74 65 73 74 2d 70 72 69 6e 74 2d 62 79 74 65 2d 62 75 66 66 65 72 65 a....F.-.test-print-byte-buffere 7740 64 02 00 00 00 30 61 02 00 00 00 30 78 14 00 00 00 46 20 2d 20 74 65 73 74 2d 70 72 69 6e 74 2d d....0a....0x....F.-.test-print- 7760 69 6e 74 33 32 0a 00 00 00 30 78 30 30 38 38 39 39 61 61 02 00 00 00 30 78 1d 00 00 00 46 20 2d int32....0x008899aa....0x....F.- 7780 20 74 65 73 74 2d 70 72 69 6e 74 2d 69 6e 74 33 32 2d 62 75 66 66 65 72 65 64 0a 00 00 00 30 78 .test-print-int32-buffered....0x 77a0 30 30 38 38 39 39 61 61 02 00 00 00 33 34 13 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 68 65 008899aa....34....F.-.test-is-he 77c0 78 2d 69 6e 74 03 00 00 00 33 34 61 23 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 68 65 78 2d x-int....34a#...F.-.test-is-hex- 77e0 69 6e 74 2d 68 61 6e 64 6c 65 73 2d 6c 65 74 74 65 72 73 03 00 00 00 33 34 71 26 00 00 00 46 20 int-handles-letters....34q&...F. 7800 2d 20 74 65 73 74 2d 69 73 2d 68 65 78 2d 69 6e 74 2d 77 69 74 68 2d 74 72 61 69 6c 69 6e 67 2d -.test-is-hex-int-with-trailing- 7820 63 68 61 72 03 00 00 00 71 33 34 25 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 68 65 78 2d 69 char....q34%...F.-.test-is-hex-i 7840 6e 74 2d 77 69 74 68 2d 6c 65 61 64 69 6e 67 2d 63 68 61 72 19 00 00 00 46 20 2d 20 74 65 73 74 nt-with-leading-char....F.-.test 7860 2d 69 73 2d 68 65 78 2d 69 6e 74 2d 65 6d 70 74 79 04 00 00 00 30 78 33 61 25 00 00 00 46 20 2d -is-hex-int-empty....0x3a%...F.- 7880 20 74 65 73 74 2d 69 73 2d 68 65 78 2d 69 6e 74 2d 68 61 6e 64 6c 65 73 2d 30 78 2d 70 72 65 66 .test-is-hex-int-handles-0x-pref 78a0 69 78 04 00 00 00 2d 33 34 61 24 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 68 65 78 2d 69 6e ix....-34a$...F.-.test-is-hex-in 78c0 74 2d 68 61 6e 64 6c 65 73 2d 6e 65 67 61 74 69 76 65 05 00 00 00 2d 30 78 33 61 2e 00 00 00 46 t-handles-negative....-0x3a....F 78e0 20 2d 20 74 65 73 74 2d 69 73 2d 68 65 78 2d 69 6e 74 2d 68 61 6e 64 6c 65 73 2d 6e 65 67 61 74 .-.test-is-hex-int-handles-negat 7900 69 76 65 2d 30 78 2d 70 72 65 66 69 78 01 00 00 00 61 23 00 00 00 46 20 2d 20 74 65 73 74 2d 70 ive-0x-prefix....a#...F.-.test-p 7920 61 72 73 65 2d 68 65 78 2d 69 6e 74 2d 73 69 6e 67 6c 65 2d 64 69 67 69 74 03 00 00 00 33 34 61 arse-hex-int-single-digit....34a 7940 22 00 00 00 46 20 2d 20 74 65 73 74 2d 70 61 72 73 65 2d 68 65 78 2d 69 6e 74 2d 6d 75 6c 74 69 "...F.-.test-parse-hex-int-multi 7960 2d 64 69 67 69 74 04 00 00 00 30 78 33 34 20 00 00 00 46 20 2d 20 74 65 73 74 2d 70 61 72 73 65 -digit....0x34....F.-.test-parse 7980 2d 68 65 78 2d 69 6e 74 2d 30 78 2d 70 72 65 66 69 78 01 00 00 00 30 1b 00 00 00 46 20 2d 20 74 -hex-int-0x-prefix....0....F.-.t 79a0 65 73 74 2d 70 61 72 73 65 2d 68 65 78 2d 69 6e 74 2d 7a 65 72 6f 02 00 00 00 30 33 1f 00 00 00 est-parse-hex-int-zero....03.... 79c0 46 20 2d 20 74 65 73 74 2d 70 61 72 73 65 2d 68 65 78 2d 69 6e 74 2d 30 2d 70 72 65 66 69 78 03 F.-.test-parse-hex-int-0-prefix. 79e0 00 00 00 2d 30 33 1f 00 00 00 46 20 2d 20 74 65 73 74 2d 70 61 72 73 65 2d 68 65 78 2d 69 6e 74 ...-03....F.-.test-parse-hex-int 7a00 2d 6e 65 67 61 74 69 76 65 14 00 00 00 46 20 2d 20 74 65 73 74 2d 68 65 78 2d 62 65 6c 6f 77 2d -negative....F.-.test-hex-below- 7a20 30 11 00 00 00 46 20 2d 20 74 65 73 74 2d 68 65 78 2d 61 74 2d 30 11 00 00 00 46 20 2d 20 74 65 0....F.-.test-hex-at-0....F.-.te 7a40 73 74 2d 68 65 78 2d 61 74 2d 39 19 00 00 00 46 20 2d 20 74 65 73 74 2d 68 65 78 2d 61 62 6f 76 st-hex-at-9....F.-.test-hex-abov 7a60 65 2d 39 2d 74 6f 2d 61 11 00 00 00 46 20 2d 20 74 65 73 74 2d 68 65 78 2d 61 74 2d 61 11 00 00 e-9-to-a....F.-.test-hex-at-a... 7a80 00 46 20 2d 20 74 65 73 74 2d 68 65 78 2d 61 74 2d 66 14 00 00 00 46 20 2d 20 74 65 73 74 2d 68 .F.-.test-hex-at-f....F.-.test-h 7aa0 65 78 2d 61 62 6f 76 65 2d 66 12 00 00 00 69 6e 76 61 6c 69 64 20 68 65 78 20 63 68 61 72 3a 20 ex-above-f....invalid.hex.char:. 7ac0 07 00 00 00 45 72 72 6f 72 3a 20 02 00 00 00 3a 20 1d 00 00 00 61 6c 6c 6f 63 61 74 65 3a 20 66 ....Error:.....:.....allocate:.f 7ae0 61 69 6c 65 64 20 74 6f 20 61 6c 6c 6f 63 61 74 65 0a 4b 00 00 00 46 20 2d 20 74 65 73 74 2d 61 ailed.to.allocate.K...F.-.test-a 7b00 6c 6c 6f 63 61 74 65 2d 73 75 63 63 65 73 73 3a 20 72 65 74 75 72 6e 73 20 63 75 72 72 65 6e 74 llocate-success:.returns.current 7b20 20 70 6f 69 6e 74 65 72 20 6f 66 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 64 65 73 63 72 69 70 74 6f .pointer.of.allocation.descripto 7b40 72 38 00 00 00 46 20 2d 20 74 65 73 74 2d 61 6c 6c 6f 63 61 74 65 2d 73 75 63 63 65 73 73 3a 20 r8...F.-.test-allocate-success:. 7b60 75 70 64 61 74 65 73 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 64 65 73 63 72 69 70 74 6f 72 27 00 00 updates.allocation.descriptor'.. 7b80 00 46 20 2d 20 74 65 73 74 2d 61 6c 6c 6f 63 61 74 65 2d 66 61 69 6c 75 72 65 3a 20 72 65 74 75 .F.-.test-allocate-failure:.retu 7ba0 72 6e 73 20 6e 75 6c 6c 38 00 00 00 46 20 2d 20 74 65 73 74 2d 61 6c 6c 6f 63 61 74 65 2d 66 61 rns.null8...F.-.test-allocate-fa 7bc0 69 6c 75 72 65 3a 20 75 70 64 61 74 65 73 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 64 65 73 63 72 69 ilure:.updates.allocation.descri 7be0 70 74 6f 72 24 00 00 00 61 6c 6c 6f 63 61 74 65 2d 72 65 67 69 6f 6e 3a 20 66 61 69 6c 65 64 20 ptor$...allocate-region:.failed. 7c00 74 6f 20 61 6c 6c 6f 63 61 74 65 0a 1b 00 00 00 6e 65 77 2d 73 74 72 65 61 6d 3a 20 73 69 7a 65 to.allocate.....new-stream:.size 7c20 20 74 6f 6f 20 6c 61 72 67 65 0a 45 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 77 2d 73 74 72 65 .too.large.E...F.-.test-new-stre 7c40 61 6d 3a 20 72 65 74 75 72 6e 73 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 65 72 20 6f 66 20 61 am:.returns.current.pointer.of.a 7c60 6c 6c 6f 63 61 74 69 6f 6e 20 64 65 73 63 72 69 70 74 6f 72 2a 00 00 00 46 20 2d 20 74 65 73 74 llocation.descriptor*...F.-.test 7c80 2d 6e 65 77 2d 73 74 72 65 61 6d 3a 20 73 65 74 73 20 6c 65 6e 67 74 68 20 63 6f 72 72 65 63 74 -new-stream:.sets.length.correct 7ca0 6c 79 22 00 00 00 72 65 61 64 2d 6c 69 6e 65 2d 62 75 66 66 65 72 65 64 3a 20 6c 69 6e 65 20 74 ly"...read-line-buffered:.line.t 7cc0 6f 6f 20 6c 6f 6e 67 0a 05 00 00 00 61 62 0a 63 64 1b 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 oo.long.....ab.cd....F.-.test-re 7ce0 61 64 2d 6c 69 6e 65 2d 62 75 66 66 65 72 65 64 02 00 00 00 61 62 02 00 00 00 63 64 36 00 00 00 ad-line-buffered....ab....cd6... 7d00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 6c 69 6e 65 2d 62 75 66 66 65 72 65 64 2d 72 65 61 64 F.-.test-read-line-buffered-read 7d20 73 2d 66 69 6e 61 6c 2d 6c 69 6e 65 2d 75 6e 74 69 6c 2d 45 6f 66 02 00 00 00 63 64 19 00 00 00 s-final-line-until-Eof....cd.... 7d40 72 65 61 64 2d 6c 69 6e 65 3a 20 6c 69 6e 65 20 74 6f 6f 20 6c 6f 6e 67 0a 05 00 00 00 61 62 0a read-line:.line.too.long.....ab. 7d60 63 64 12 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 6c 69 6e 65 02 00 00 00 61 62 02 00 cd....F.-.test-read-line....ab.. 7d80 00 00 63 64 2d 00 00 00 46 20 2d 20 74 65 73 74 2d 72 65 61 64 2d 6c 69 6e 65 2d 72 65 61 64 73 ..cd-...F.-.test-read-line-reads 7da0 2d 66 69 6e 61 6c 2d 6c 69 6e 65 2d 75 6e 74 69 6c 2d 45 6f 66 02 00 00 00 63 64 19 00 00 00 46 -final-line-until-Eof....cd....F 7dc0 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 65 6d 70 74 79 2d 74 72 75 65 1a 00 00 00 46 20 2d 20 .-.test-slice-empty-true....F.-. 7de0 74 65 73 74 2d 73 6c 69 63 65 2d 65 6d 70 74 79 2d 66 61 6c 73 65 2e 00 00 00 46 20 2d 20 74 65 test-slice-empty-false....F.-.te 7e00 73 74 2d 73 6c 69 63 65 2d 65 6d 70 74 79 2d 69 66 2d 73 74 61 72 74 2d 67 72 65 61 74 65 72 2d st-slice-empty-if-start-greater- 7e20 74 68 61 6e 2d 65 6e 64 03 00 00 00 41 62 63 03 00 00 00 41 62 63 14 00 00 00 46 20 2d 20 74 65 than-end....Abc....Abc....F.-.te 7e40 73 74 2d 73 6c 69 63 65 2d 65 71 75 61 6c 03 00 00 00 62 63 64 03 00 00 00 41 62 63 1a 00 00 00 st-slice-equal....bcd....Abc.... 7e60 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 65 71 75 61 6c 2d 66 61 6c 73 65 04 00 00 00 41 62 F.-.test-slice-equal-false....Ab 7e80 63 64 03 00 00 00 41 62 63 1d 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 65 71 75 61 cd....Abc....F.-.test-slice-equa 7ea0 6c 2d 74 6f 6f 2d 6c 6f 6e 67 01 00 00 00 41 03 00 00 00 41 62 63 1e 00 00 00 46 20 2d 20 74 65 l-too-long....A....Abc....F.-.te 7ec0 73 74 2d 73 6c 69 63 65 2d 65 71 75 61 6c 2d 74 6f 6f 2d 73 68 6f 72 74 03 00 00 00 41 62 63 1a st-slice-equal-too-short....Abc. 7ee0 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 65 71 75 61 6c 2d 65 6d 70 74 79 02 00 00 ...F.-.test-slice-equal-empty... 7f00 00 41 62 00 00 00 00 1f 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 65 71 75 61 6c 2d .Ab........F.-.test-slice-equal- 7f20 77 69 74 68 2d 65 6d 70 74 79 00 00 00 00 25 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 with-empty....%...F.-.test-slice 7f40 2d 65 71 75 61 6c 2d 65 6d 70 74 79 2d 77 69 74 68 2d 65 6d 70 74 79 02 00 00 00 41 62 1e 00 00 -equal-empty-with-empty....Ab... 7f60 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 65 71 75 61 6c 2d 77 69 74 68 2d 6e 75 6c 6c 03 .F.-.test-slice-equal-with-null. 7f80 00 00 00 41 62 63 01 00 00 00 41 2b 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 73 74 ...Abc....A+...F.-.test-slice-st 7fa0 61 72 74 73 2d 77 69 74 68 2d 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 03 00 00 00 41 62 arts-with-single-character....Ab 7fc0 63 00 00 00 00 27 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 73 74 61 72 74 73 2d 77 c....'...F.-.test-slice-starts-w 7fe0 69 74 68 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 03 00 00 00 41 62 63 02 00 00 00 41 62 2e 00 00 ith-empty-string....Abc....Ab... 8000 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 73 74 61 72 74 73 2d 77 69 74 68 2d 6d 75 6c 74 .F.-.test-slice-starts-with-mult 8020 69 70 6c 65 2d 63 68 61 72 61 63 74 65 72 73 03 00 00 00 41 62 63 03 00 00 00 41 62 63 28 00 00 iple-characters....Abc....Abc(.. 8040 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 73 74 61 72 74 73 2d 77 69 74 68 2d 65 6e 74 69 .F.-.test-slice-starts-with-enti 8060 72 65 2d 73 74 72 69 6e 67 03 00 00 00 41 62 63 03 00 00 00 41 62 64 20 00 00 00 46 20 2d 20 74 re-string....Abc....Abd....F.-.t 8080 65 73 74 2d 73 6c 69 63 65 2d 73 74 61 72 74 73 2d 77 69 74 68 2d 66 61 69 6c 73 03 00 00 00 41 est-slice-starts-with-fails....A 80a0 62 63 02 00 00 00 41 63 22 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 63 65 2d 73 74 61 72 74 bc....Ac"...F.-.test-slice-start 80c0 73 2d 77 69 74 68 2d 66 61 69 6c 73 2d 32 19 00 00 00 77 72 69 74 65 2d 73 6c 69 63 65 3a 20 6f s-with-fails-2....write-slice:.o 80e0 75 74 20 6f 66 20 73 70 61 63 65 03 00 00 00 41 62 63 14 00 00 00 46 20 2d 20 74 65 73 74 2d 77 ut.of.space....Abc....F.-.test-w 8100 72 69 74 65 2d 73 6c 69 63 65 03 00 00 00 41 62 63 03 00 00 00 41 62 63 1d 00 00 00 46 20 2d 20 rite-slice....Abc....Abc....F.-. 8120 74 65 73 74 2d 77 72 69 74 65 2d 73 6c 69 63 65 2d 62 75 66 66 65 72 65 64 03 00 00 00 41 62 63 test-write-slice-buffered....Abc 8140 1e 00 00 00 73 6c 69 63 65 2d 74 6f 2d 73 74 72 69 6e 67 3a 20 6f 75 74 20 6f 66 20 73 70 61 63 ....slice-to-string:.out.of.spac 8160 65 0a 03 00 00 00 41 62 63 03 00 00 00 41 62 63 18 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6c 69 e.....Abc....Abc....F.-.test-sli 8180 63 65 2d 74 6f 2d 73 74 72 69 6e 67 04 00 00 00 20 20 61 62 1a 00 00 00 46 20 2d 20 74 65 73 74 ce-to-string......ab....F.-.test 81a0 2d 6e 65 78 74 2d 74 6f 6b 65 6e 3a 20 73 74 61 72 74 18 00 00 00 46 20 2d 20 74 65 73 74 2d 6e -next-token:.start....F.-.test-n 81c0 65 78 74 2d 74 6f 6b 65 6e 3a 20 65 6e 64 17 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d ext-token:.end....F.-.test-next- 81e0 74 6f 6b 65 6e 2d 45 6f 66 04 00 00 00 20 20 61 62 25 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 token-Eof......ab%...F.-.test-ne 8200 78 74 2d 74 6f 6b 65 6e 2d 66 72 6f 6d 2d 73 6c 69 63 65 3a 20 73 74 61 72 74 23 00 00 00 46 20 xt-token-from-slice:.start#...F. 8220 2d 20 74 65 73 74 2d 6e 65 78 74 2d 74 6f 6b 65 6e 2d 66 72 6f 6d 2d 73 6c 69 63 65 3a 20 65 6e -.test-next-token-from-slice:.en 8240 64 22 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 74 6f 6b 65 6e 2d 66 72 6f 6d 2d 73 6c d"...F.-.test-next-token-from-sl 8260 69 63 65 2d 45 6f 66 04 00 00 00 20 20 20 20 22 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 ice-Eof........"...F.-.test-next 8280 2d 74 6f 6b 65 6e 2d 66 72 6f 6d 2d 73 6c 69 63 65 2d 45 6f 66 04 00 00 00 20 20 61 62 1c 00 00 -token-from-slice-Eof......ab... 82a0 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6d 61 74 63 68 69 6e 67 02 00 00 .F.-.test-skip-chars-matching... 82c0 00 61 62 21 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6d 61 74 63 68 .ab!...F.-.test-skip-chars-match 82e0 69 6e 67 2d 6e 6f 6e 65 04 00 00 00 20 0a 61 62 27 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 ing-none......ab'...F.-.test-ski 8300 70 2d 63 68 61 72 73 2d 6d 61 74 63 68 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 03 00 00 00 61 p-chars-matching-whitespace....a 8320 62 20 20 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6e 6f 74 2d 6d 61 b.....F.-.test-skip-chars-not-ma 8340 74 63 68 69 6e 67 03 00 00 00 20 61 62 25 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 tching.....ab%...F.-.test-skip-c 8360 68 61 72 73 2d 6e 6f 74 2d 6d 61 74 63 68 69 6e 67 2d 6e 6f 6e 65 02 00 00 00 61 62 24 00 00 00 hars-not-matching-none....ab$... 8380 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6e 6f 74 2d 6d 61 74 63 68 69 6e 67 F.-.test-skip-chars-not-matching 83a0 2d 61 6c 6c 03 00 00 00 61 62 0a 2b 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 -all....ab.+...F.-.test-skip-cha 83c0 72 73 2d 6e 6f 74 2d 6d 61 74 63 68 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 04 00 00 00 20 20 rs-not-matching-whitespace...... 83e0 61 62 25 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6d 61 74 63 68 69 ab%...F.-.test-skip-chars-matchi 8400 6e 67 2d 69 6e 2d 73 6c 69 63 65 02 00 00 00 61 62 2a 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b ng-in-slice....ab*...F.-.test-sk 8420 69 70 2d 63 68 61 72 73 2d 6d 61 74 63 68 69 6e 67 2d 69 6e 2d 73 6c 69 63 65 2d 6e 6f 6e 65 04 ip-chars-matching-in-slice-none. 8440 00 00 00 20 0a 61 62 30 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6d .....ab0...F.-.test-skip-chars-m 8460 61 74 63 68 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 2d 69 6e 2d 73 6c 69 63 65 03 00 00 00 61 atching-whitespace-in-slice....a 8480 62 20 29 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6e 6f 74 2d 6d 61 b.)...F.-.test-skip-chars-not-ma 84a0 74 63 68 69 6e 67 2d 69 6e 2d 73 6c 69 63 65 03 00 00 00 20 61 62 2e 00 00 00 46 20 2d 20 74 65 tching-in-slice.....ab....F.-.te 84c0 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6e 6f 74 2d 6d 61 74 63 68 69 6e 67 2d 69 6e 2d 73 6c st-skip-chars-not-matching-in-sl 84e0 69 63 65 2d 6e 6f 6e 65 02 00 00 00 61 62 2d 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d ice-none....ab-...F.-.test-skip- 8500 63 68 61 72 73 2d 6e 6f 74 2d 6d 61 74 63 68 69 6e 67 2d 69 6e 2d 73 6c 69 63 65 2d 61 6c 6c 03 chars-not-matching-in-slice-all. 8520 00 00 00 61 62 0a 34 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 63 68 61 72 73 2d 6e 6f ...ab.4...F.-.test-skip-chars-no 8540 74 2d 6d 61 74 63 68 69 6e 67 2d 77 68 69 74 65 73 70 61 63 65 2d 69 6e 2d 73 6c 69 63 65 09 00 t-matching-whitespace-in-slice.. 8560 00 00 22 61 62 63 22 20 64 65 66 21 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 73 74 72 .."abc".def!...F.-.test-skip-str 8580 69 6e 67 2f 70 72 65 63 6f 6e 64 69 74 69 6f 6e 14 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 ing/precondition....F.-.test-ski 85a0 70 2d 73 74 72 69 6e 67 08 00 00 00 22 61 20 62 22 2f 79 7a 30 00 00 00 46 20 2d 20 74 65 73 74 p-string...."a.b"/yz0...F.-.test 85c0 2d 73 6b 69 70 2d 73 74 72 69 6e 67 2d 69 67 6e 6f 72 65 73 2d 73 70 61 63 65 73 2f 70 72 65 63 -skip-string-ignores-spaces/prec 85e0 6f 6e 64 69 74 69 6f 6e 23 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 73 74 72 69 6e 67 ondition#...F.-.test-skip-string 8600 2d 69 67 6e 6f 72 65 73 2d 73 70 61 63 65 73 09 00 00 00 22 61 5c 22 62 22 2f 79 7a 31 00 00 00 -ignores-spaces...."a\"b"/yz1... 8620 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 73 74 72 69 6e 67 2d 69 67 6e 6f 72 65 73 2d 65 73 63 F.-.test-skip-string-ignores-esc 8640 61 70 65 73 2f 70 72 65 63 6f 6e 64 69 74 69 6f 6e 24 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b apes/precondition$...F.-.test-sk 8660 69 70 2d 73 74 72 69 6e 67 2d 69 67 6e 6f 72 65 73 2d 65 73 63 61 70 65 73 0b 00 00 00 30 20 22 ip-string-ignores-escapes....0." 8680 61 5c 22 62 22 2f 79 7a 2a 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 73 74 72 69 6e 67 a\"b"/yz*...F.-.test-skip-string 86a0 2d 77 6f 72 6b 73 2d 66 72 6f 6d 2d 6d 69 64 2d 73 74 72 65 61 6d 09 00 00 00 22 61 62 63 22 20 -works-from-mid-stream...."abc". 86c0 64 65 66 1d 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 73 74 72 69 6e 67 2d 69 6e 2d 73 def....F.-.test-skip-string-in-s 86e0 6c 69 63 65 08 00 00 00 22 61 20 62 22 2f 79 7a 2c 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 lice...."a.b"/yz,...F.-.test-ski 8700 70 2d 73 74 72 69 6e 67 2d 69 6e 2d 73 6c 69 63 65 2d 69 67 6e 6f 72 65 73 2d 73 70 61 63 65 73 p-string-in-slice-ignores-spaces 8720 09 00 00 00 22 61 5c 22 62 22 2f 79 7a 2d 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 73 ...."a\"b"/yz-...F.-.test-skip-s 8740 74 72 69 6e 67 2d 69 6e 2d 73 6c 69 63 65 2d 69 67 6e 6f 72 65 73 2d 65 73 63 61 70 65 73 04 00 tring-in-slice-ignores-escapes.. 8760 00 00 22 61 62 63 2a 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 73 74 72 69 6e 67 2d 69 .."abc*...F.-.test-skip-string-i 8780 6e 2d 73 6c 69 63 65 2d 73 74 6f 70 73 2d 61 74 2d 65 6e 64 0a 00 00 00 2a 28 61 62 63 29 20 64 n-slice-stops-at-end....*(abc).d 87a0 65 66 2c 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 75 6e 74 69 6c 2d 63 6c 6f 73 65 2d ef,...F.-.test-skip-until-close- 87c0 70 61 72 65 6e 2f 70 72 65 63 6f 6e 64 69 74 69 6f 6e 1f 00 00 00 46 20 2d 20 74 65 73 74 2d 73 paren/precondition....F.-.test-s 87e0 6b 69 70 2d 75 6e 74 69 6c 2d 63 6c 6f 73 65 2d 70 61 72 65 6e 09 00 00 00 2a 28 61 20 62 29 2f kip-until-close-paren....*(a.b)/ 8800 79 7a 3b 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 75 6e 74 69 6c 2d 63 6c 6f 73 65 2d yz;...F.-.test-skip-until-close- 8820 70 61 72 65 6e 2d 69 67 6e 6f 72 65 73 2d 73 70 61 63 65 73 2f 70 72 65 63 6f 6e 64 69 74 69 6f paren-ignores-spaces/preconditio 8840 6e 2e 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 75 6e 74 69 6c 2d 63 6c 6f 73 65 2d 70 n....F.-.test-skip-until-close-p 8860 61 72 65 6e 2d 69 67 6e 6f 72 65 73 2d 73 70 61 63 65 73 0b 00 00 00 30 20 2a 28 61 20 62 29 2f aren-ignores-spaces....0.*(a.b)/ 8880 79 7a 35 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 75 6e 74 69 6c 2d 63 6c 6f 73 65 2d yz5...F.-.test-skip-until-close- 88a0 70 61 72 65 6e 2d 77 6f 72 6b 73 2d 66 72 6f 6d 2d 6d 69 64 2d 73 74 72 65 61 6d 0a 00 00 00 2a paren-works-from-mid-stream....* 88c0 28 61 62 63 29 20 64 65 66 28 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 75 6e 74 69 6c (abc).def(...F.-.test-skip-until 88e0 2d 63 6c 6f 73 65 2d 70 61 72 65 6e 2d 69 6e 2d 73 6c 69 63 65 09 00 00 00 2a 28 61 20 62 29 2f -close-paren-in-slice....*(a.b)/ 8900 79 7a 37 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 75 6e 74 69 6c 2d 63 6c 6f 73 65 2d yz7...F.-.test-skip-until-close- 8920 70 61 72 65 6e 2d 69 6e 2d 73 6c 69 63 65 2d 69 67 6e 6f 72 65 73 2d 73 70 61 63 65 73 05 00 00 paren-in-slice-ignores-spaces... 8940 00 2a 28 61 62 63 35 00 00 00 46 20 2d 20 74 65 73 74 2d 73 6b 69 70 2d 75 6e 74 69 6c 2d 63 6c .*(abc5...F.-.test-skip-until-cl 8960 6f 73 65 2d 70 61 72 65 6e 2d 69 6e 2d 73 6c 69 63 65 2d 73 74 6f 70 73 2d 61 74 2d 65 6e 64 04 ose-paren-in-slice-stops-at-end. 8980 00 00 00 61 62 63 64 1a 00 00 00 46 20 2d 20 74 65 73 74 2d 77 72 69 74 65 2d 73 74 72 65 61 6d ...abcd....F.-.test-write-stream 89a0 2d 64 61 74 61 04 00 00 00 61 62 63 64 22 00 00 00 70 72 69 6e 74 2d 69 6e 74 33 32 2d 64 65 63 -data....abcd"...print-int32-dec 89c0 69 6d 61 6c 3a 20 6f 75 74 20 6f 66 20 73 70 61 63 65 0a 1c 00 00 00 46 20 2d 20 74 65 73 74 2d imal:.out.of.space.....F.-.test- 89e0 70 72 69 6e 74 2d 69 6e 74 33 32 2d 64 65 63 69 6d 61 6c 01 00 00 00 39 21 00 00 00 46 20 2d 20 print-int32-decimal....9!...F.-. 8a00 74 65 73 74 2d 70 72 69 6e 74 2d 69 6e 74 33 32 2d 64 65 63 69 6d 61 6c 2d 7a 65 72 6f 01 00 00 test-print-int32-decimal-zero... 8a20 00 30 2c 00 00 00 46 20 2d 20 74 65 73 74 2d 70 72 69 6e 74 2d 69 6e 74 33 32 2d 64 65 63 69 6d .0,...F.-.test-print-int32-decim 8a40 61 6c 2d 6d 75 6c 74 69 70 6c 65 2d 64 69 67 69 74 73 02 00 00 00 31 30 25 00 00 00 46 20 2d 20 al-multiple-digits....10%...F.-. 8a60 74 65 73 74 2d 70 72 69 6e 74 2d 69 6e 74 33 32 2d 64 65 63 69 6d 61 6c 2d 6e 65 67 61 74 69 76 test-print-int32-decimal-negativ 8a80 65 02 00 00 00 2d 39 35 00 00 00 46 20 2d 20 74 65 73 74 2d 70 72 69 6e 74 2d 69 6e 74 33 32 2d e....-95...F.-.test-print-int32- 8aa0 64 65 63 69 6d 61 6c 2d 6e 65 67 61 74 69 76 65 2d 6d 75 6c 74 69 70 6c 65 2d 64 69 67 69 74 73 decimal-negative-multiple-digits 8ac0 03 00 00 00 2d 31 30 21 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 64 65 63 69 6d 61 6c 2d 64 ....-10!...F.-.test-is-decimal-d 8ae0 69 67 69 74 2d 62 65 6c 6f 77 2d 30 1e 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 64 65 63 69 igit-below-0....F.-.test-is-deci 8b00 6d 61 6c 2d 64 69 67 69 74 2d 61 74 2d 30 1e 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 64 65 mal-digit-at-0....F.-.test-is-de 8b20 63 69 6d 61 6c 2d 64 69 67 69 74 2d 61 74 2d 39 21 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d cimal-digit-at-9!...F.-.test-is- 8b40 64 65 63 69 6d 61 6c 2d 64 69 67 69 74 2d 61 62 6f 76 65 2d 39 04 00 00 00 20 20 61 62 19 00 00 decimal-digit-above-9......ab... 8b60 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 3a 20 73 74 61 72 74 17 00 00 00 46 20 .F.-.test-next-word:.start....F. 8b80 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 3a 20 65 6e 64 05 00 00 00 20 20 23 20 61 2f 00 -.test-next-word:.end......#.a/. 8ba0 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 72 65 74 75 72 6e 73 2d 77 68 6f ..F.-.test-next-word-returns-who 8bc0 6c 65 2d 63 6f 6d 6d 65 6e 74 3a 20 73 74 61 72 74 2d 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 le-comment:.start-...F.-.test-ne 8be0 78 74 2d 77 6f 72 64 2d 72 65 74 75 72 6e 73 2d 77 68 6f 6c 65 2d 63 6f 6d 6d 65 6e 74 3a 20 65 xt-word-returns-whole-comment:.e 8c00 6e 64 2e 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 72 65 74 75 72 6e 73 nd....F.-.test-next-word-returns 8c20 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 2d 6f 6e 2d 65 6f 66 08 00 00 00 61 62 2f 69 6d 6d 33 32 -empty-string-on-eof....ab/imm32 8c40 05 00 00 00 69 6d 6d 33 32 1a 00 00 00 46 20 2d 20 74 65 73 74 2d 68 61 73 2d 6d 65 74 61 64 61 ....imm32....F.-.test-has-metada 8c60 74 61 2d 74 72 75 65 04 00 00 00 61 62 2f 63 01 00 00 00 64 1b 00 00 00 46 20 2d 20 74 65 73 74 ta-true....ab/c....d....F.-.test 8c80 2d 68 61 73 2d 6d 65 74 61 64 61 74 61 2d 66 61 6c 73 65 03 00 00 00 61 2f 62 01 00 00 00 61 21 -has-metadata-false....a/b....a! 8ca0 00 00 00 46 20 2d 20 74 65 73 74 2d 68 61 73 2d 6d 65 74 61 64 61 74 61 2d 69 67 6e 6f 72 65 2d ...F.-.test-has-metadata-ignore- 8cc0 6e 61 6d 65 05 00 00 00 61 2f 62 2f 63 01 00 00 00 63 23 00 00 00 46 20 2d 20 74 65 73 74 2d 68 name....a/b/c....c#...F.-.test-h 8ce0 61 73 2d 6d 65 74 61 64 61 74 61 2d 6d 75 6c 74 69 70 6c 65 2d 74 72 75 65 05 00 00 00 61 2f 62 as-metadata-multiple-true....a/b 8d00 2f 63 01 00 00 00 64 24 00 00 00 46 20 2d 20 74 65 73 74 2d 68 61 73 2d 6d 65 74 61 64 61 74 61 /c....d$...F.-.test-has-metadata 8d20 2d 6d 75 6c 74 69 70 6c 65 2d 66 61 6c 73 65 02 00 00 00 33 34 23 00 00 00 46 20 2d 20 74 65 73 -multiple-false....34#...F.-.tes 8d40 74 2d 69 73 2d 76 61 6c 69 64 2d 6e 61 6d 65 2d 64 69 67 69 74 2d 70 72 65 66 69 78 05 00 00 00 t-is-valid-name-digit-prefix.... 8d60 2d 30 78 33 34 26 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 76 61 6c 69 64 2d 6e 61 6d 65 2d -0x34&...F.-.test-is-valid-name- 8d80 6e 65 67 61 74 69 76 65 2d 70 72 65 66 69 78 04 00 00 00 30 78 33 34 20 00 00 00 46 20 2d 20 74 negative-prefix....0x34....F.-.t 8da0 65 73 74 2d 69 73 2d 76 61 6c 69 64 2d 6e 61 6d 65 2d 30 78 2d 70 72 65 66 69 78 03 00 00 00 2f est-is-valid-name-0x-prefix..../ 8dc0 30 33 2c 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 76 61 6c 69 64 2d 6e 61 6d 65 2d 73 74 61 03,...F.-.test-is-valid-name-sta 8de0 72 74 73 2d 77 69 74 68 2d 70 72 65 2d 64 69 67 69 74 03 00 00 00 71 33 34 2d 00 00 00 46 20 2d rts-with-pre-digit....q34-...F.- 8e00 20 74 65 73 74 2d 69 73 2d 76 61 6c 69 64 2d 6e 61 6d 65 2d 73 74 61 72 74 73 2d 77 69 74 68 2d .test-is-valid-name-starts-with- 8e20 70 6f 73 74 2d 64 69 67 69 74 04 00 00 00 30 78 33 34 28 00 00 00 46 20 2d 20 74 65 73 74 2d 69 post-digit....0x34(...F.-.test-i 8e40 73 2d 76 61 6c 69 64 2d 6e 61 6d 65 2d 73 74 61 72 74 73 2d 77 69 74 68 2d 64 69 67 69 74 04 00 s-valid-name-starts-with-digit.. 8e60 00 00 41 41 41 3a 17 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 6c 61 62 65 6c 3f 3a 74 72 75 ..AAA:....F.-.test-is-label?:tru 8e80 65 03 00 00 00 41 41 41 18 00 00 00 46 20 2d 20 74 65 73 74 2d 69 73 2d 6c 61 62 65 6c 3f 3a 66 e....AAA....F.-.test-is-label?:f 8ea0 61 6c 73 65 1d 00 00 00 46 20 2d 20 74 65 73 74 2d 65 6d 69 74 2d 68 65 78 2d 73 69 6e 67 6c 65 alse....F.-.test-emit-hex-single 8ec0 2d 62 79 74 65 21 00 00 00 46 20 2d 20 74 65 73 74 2d 65 6d 69 74 2d 68 65 78 2d 6d 75 6c 74 69 -byte!...F.-.test-emit-hex-multi 8ee0 70 6c 65 2d 62 79 74 65 2f 31 06 00 00 00 33 34 20 31 32 20 1c 00 00 00 46 20 2d 20 74 65 73 74 ple-byte/1....34.12.....F.-.test 8f00 2d 65 6d 69 74 2d 68 65 78 2d 7a 65 72 6f 2d 70 61 64 2f 31 06 00 00 00 61 62 20 30 30 20 1c 00 -emit-hex-zero-pad/1....ab.00... 8f20 00 00 46 20 2d 20 74 65 73 74 2d 65 6d 69 74 2d 68 65 78 2d 6e 65 67 61 74 69 76 65 2f 31 06 00 ..F.-.test-emit-hex-negative/1.. 8f40 00 00 66 66 20 66 66 20 02 00 00 00 33 30 16 00 00 00 46 20 2d 20 74 65 73 74 2d 65 6d 69 74 2d ..ff.ff.....30....F.-.test-emit- 8f60 6e 75 6d 62 65 72 2f 31 03 00 00 00 33 30 20 02 00 00 00 2d 32 16 00 00 00 46 20 2d 20 74 65 73 number/1....30.....-2....F.-.tes 8f80 74 2d 65 6d 69 74 2d 6e 75 6d 62 65 72 2f 31 06 00 00 00 66 65 20 66 66 20 06 00 00 00 2d 32 2f t-emit-number/1....fe.ff.....-2/ 8fa0 66 6f 6f 22 00 00 00 46 20 2d 20 74 65 73 74 2d 65 6d 69 74 2d 6e 75 6d 62 65 72 2d 77 69 74 68 foo"...F.-.test-emit-number-with 8fc0 2d 6d 65 74 61 64 61 74 61 06 00 00 00 66 65 20 66 66 20 03 00 00 00 78 79 7a 18 00 00 00 46 20 -metadata....fe.ff.....xyz....F. 8fe0 2d 20 74 65 73 74 2d 65 6d 69 74 2d 6e 6f 6e 2d 6e 75 6d 62 65 72 04 00 00 00 78 79 7a 20 04 00 -.test-emit-non-number....xyz... 9000 00 00 78 79 7a 2f 26 00 00 00 46 20 2d 20 74 65 73 74 2d 65 6d 69 74 2d 6e 6f 6e 2d 6e 75 6d 62 ..xyz/&...F.-.test-emit-non-numb 9020 65 72 2d 77 69 74 68 2d 6d 65 74 61 64 61 74 61 05 00 00 00 78 79 7a 2f 20 08 00 00 00 61 62 63 er-with-metadata....xyz/.....abc 9040 64 2f 78 79 7a 2c 00 00 00 46 20 2d 20 74 65 73 74 2d 65 6d 69 74 2d 6e 6f 6e 2d 6e 75 6d 62 65 d/xyz,...F.-.test-emit-non-numbe 9060 72 2d 77 69 74 68 2d 61 6c 6c 2d 68 65 78 2d 64 69 67 69 74 73 09 00 00 00 61 62 63 64 2f 78 79 r-with-all-hex-digits....abcd/xy 9080 7a 20 11 00 00 00 46 20 2d 20 74 65 73 74 2d 7a 65 72 6f 2d 6f 75 74 16 00 00 00 3a 20 67 65 74 z.....F.-.test-zero-out....:.get 90a0 3a 20 6b 65 79 20 6e 6f 74 20 66 6f 75 6e 64 3a 20 04 00 00 00 63 6f 64 65 04 00 00 00 64 61 74 :.key.not.found:.....code....dat 90c0 61 04 00 00 00 63 6f 64 65 0e 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2f 30 04 00 00 00 64 a....code....F.-.test-get/0....d 90e0 61 74 61 0e 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2f 31 1c 00 00 00 3a 20 67 65 74 2d 73 ata....F.-.test-get/1....:.get-s 9100 6c 69 63 65 3a 20 6b 65 79 20 6e 6f 74 20 66 6f 75 6e 64 3a 20 04 00 00 00 63 6f 64 65 04 00 00 lice:.key.not.found:.....code... 9120 00 64 61 74 61 04 00 00 00 63 6f 64 65 14 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 73 6c .data....code....F.-.test-get-sl 9140 69 63 65 2f 30 04 00 00 00 64 61 74 61 14 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 73 6c ice/0....data....F.-.test-get-sl 9160 69 63 65 2f 31 1d 00 00 00 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 3a 20 74 61 62 6c 65 20 69 73 ice/1....get-or-insert:.table.is 9180 20 66 75 6c 6c 0a 04 00 00 00 63 6f 64 65 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f .full.....code....F.-.test-get-o 91a0 72 2d 69 6e 73 65 72 74 2f 30 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f 72 2d 69 6e r-insert/0....F.-.test-get-or-in 91c0 73 65 72 74 2f 31 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 sert/1....F.-.test-get-or-insert 91e0 2f 32 04 00 00 00 63 6f 64 65 04 00 00 00 63 6f 64 65 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 /2....code....code....F.-.test-g 9200 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2f 33 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f et-or-insert/3....F.-.test-get-o 9220 72 2d 69 6e 73 65 72 74 2f 34 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f 72 2d 69 6e r-insert/4....F.-.test-get-or-in 9240 73 65 72 74 2f 35 04 00 00 00 63 6f 64 65 04 00 00 00 64 61 74 61 18 00 00 00 46 20 2d 20 74 65 sert/5....code....data....F.-.te 9260 73 74 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2f 36 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 st-get-or-insert/6....F.-.test-g 9280 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2f 37 18 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f et-or-insert/7....F.-.test-get-o 92a0 72 2d 69 6e 73 65 72 74 2f 38 04 00 00 00 64 61 74 61 29 00 00 00 6c 65 61 6b 79 2d 67 65 74 2d r-insert/8....data)...leaky-get- 92c0 6f 72 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 3a 20 74 61 62 6c 65 20 69 73 20 66 75 6c 6c 0a 04 or-insert-slice:.table.is.full.. 92e0 00 00 00 63 6f 64 65 24 00 00 00 46 20 2d 20 74 65 73 74 2d 6c 65 61 6b 79 2d 67 65 74 2d 6f 72 ...code$...F.-.test-leaky-get-or 9300 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 30 24 00 00 00 46 20 2d 20 74 65 73 74 2d 6c 65 61 6b -insert-slice/0$...F.-.test-leak 9320 79 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 31 24 00 00 00 46 20 2d 20 74 y-get-or-insert-slice/1$...F.-.t 9340 65 73 74 2d 6c 65 61 6b 79 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 32 04 est-leaky-get-or-insert-slice/2. 9360 00 00 00 63 6f 64 65 24 00 00 00 46 20 2d 20 74 65 73 74 2d 6c 65 61 6b 79 2d 67 65 74 2d 6f 72 ...code$...F.-.test-leaky-get-or 9380 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 33 24 00 00 00 46 20 2d 20 74 65 73 74 2d 6c 65 61 6b -insert-slice/3$...F.-.test-leak 93a0 79 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 34 24 00 00 00 46 20 2d 20 74 y-get-or-insert-slice/4$...F.-.t 93c0 65 73 74 2d 6c 65 61 6b 79 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 35 04 est-leaky-get-or-insert-slice/5. 93e0 00 00 00 63 6f 64 65 04 00 00 00 64 61 74 61 24 00 00 00 46 20 2d 20 74 65 73 74 2d 6c 65 61 6b ...code....data$...F.-.test-leak 9400 79 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 36 24 00 00 00 46 20 2d 20 74 y-get-or-insert-slice/6$...F.-.t 9420 65 73 74 2d 6c 65 61 6b 79 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2d 73 6c 69 63 65 2f 37 24 est-leaky-get-or-insert-slice/7$ 9440 00 00 00 46 20 2d 20 74 65 73 74 2d 6c 65 61 6b 79 2d 67 65 74 2d 6f 72 2d 69 6e 73 65 72 74 2d ...F.-.test-leaky-get-or-insert- 9460 73 6c 69 63 65 2f 38 04 00 00 00 64 61 74 61 1e 00 00 00 3a 20 67 65 74 2d 6f 72 2d 73 74 6f 70 slice/8....data....:.get-or-stop 9480 3a 20 6b 65 79 20 6e 6f 74 20 66 6f 75 6e 64 3a 20 04 00 00 00 63 6f 64 65 03 00 00 00 66 6f 6f :.key.not.found:.....code....foo 94a0 04 00 00 00 63 6f 64 65 16 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f 72 2d 73 74 6f 70 ....code....F.-.test-get-or-stop 94c0 2f 30 03 00 00 00 66 6f 6f 04 00 00 00 64 61 74 61 16 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 /0....foo....data....F.-.test-ge 94e0 74 2d 6f 72 2d 73 74 6f 70 2f 31 24 00 00 00 3a 20 67 65 74 2d 73 6c 69 63 65 2d 6f 72 2d 73 74 t-or-stop/1$...:.get-slice-or-st 9500 6f 70 3a 20 6b 65 79 20 6e 6f 74 20 66 6f 75 6e 64 3a 20 04 00 00 00 63 6f 64 65 04 00 00 00 63 op:.key.not.found:.....code....c 9520 6f 64 65 03 00 00 00 66 6f 6f 1c 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 73 6c 69 63 65 ode....foo....F.-.test-get-slice 9540 2d 6f 72 2d 73 74 6f 70 2f 30 08 00 00 00 73 65 67 6d 65 6e 74 32 03 00 00 00 66 6f 6f 16 00 00 -or-stop/0....segment2....foo... 9560 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6f 72 2d 73 74 6f 70 2f 31 04 00 00 00 63 6f 64 65 04 .F.-.test-get-or-stop/1....code. 9580 00 00 00 63 6f 64 65 14 00 00 00 46 20 2d 20 74 65 73 74 2d 6d 61 79 62 65 2d 67 65 74 2f 30 14 ...code....F.-.test-maybe-get/0. 95a0 00 00 00 46 20 2d 20 74 65 73 74 2d 6d 61 79 62 65 2d 67 65 74 2f 31 14 00 00 00 46 20 2d 20 74 ...F.-.test-maybe-get/1....F.-.t 95c0 65 73 74 2d 6d 61 79 62 65 2d 67 65 74 2f 32 04 00 00 00 63 6f 64 65 04 00 00 00 64 61 74 61 14 est-maybe-get/2....code....data. 95e0 00 00 00 46 20 2d 20 74 65 73 74 2d 6d 61 79 62 65 2d 67 65 74 2f 33 04 00 00 00 63 6f 64 65 04 ...F.-.test-maybe-get/3....code. 9600 00 00 00 63 6f 64 65 1a 00 00 00 46 20 2d 20 74 65 73 74 2d 6d 61 79 62 65 2d 67 65 74 2d 73 6c ...code....F.-.test-maybe-get-sl 9620 69 63 65 2f 30 1a 00 00 00 46 20 2d 20 74 65 73 74 2d 6d 61 79 62 65 2d 67 65 74 2d 73 6c 69 63 ice/0....F.-.test-maybe-get-slic 9640 65 2f 31 1a 00 00 00 46 20 2d 20 74 65 73 74 2d 6d 61 79 62 65 2d 67 65 74 2d 73 6c 69 63 65 2f e/1....F.-.test-maybe-get-slice/ 9660 32 04 00 00 00 63 6f 64 65 04 00 00 00 64 61 74 61 1a 00 00 00 46 20 2d 20 74 65 73 74 2d 6d 61 2....code....data....F.-.test-ma 9680 79 62 65 2d 67 65 74 2d 73 6c 69 63 65 2f 33 1d 00 00 00 73 6c 75 72 70 3a 20 64 65 73 74 69 6e ybe-get-slice/3....slurp:.destin 96a0 61 74 69 6f 6e 20 74 6f 6f 20 73 6d 61 6c 6c 0a 05 00 00 00 61 62 0a 63 64 0e 00 00 00 46 20 2d ation.too.small.....ab.cd....F.- 96c0 20 74 65 73 74 2d 73 6c 75 72 70 05 00 00 00 61 62 0a 63 64 05 00 00 00 69 6d 6d 33 32 06 00 00 .test-slurp....ab.cd....imm32... 96e0 00 64 69 73 70 33 32 05 00 00 00 69 6d 6d 31 36 06 00 00 00 64 69 73 70 31 36 08 00 00 00 30 78 .disp32....imm16....disp16....0x 9700 32 2f 69 6d 6d 38 20 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 75 74 65 2d 77 69 64 74 68 2/imm8....F.-.test-compute-width 9720 3a 20 30 78 32 2f 69 6d 6d 38 07 00 00 00 34 2f 69 6d 6d 31 36 1f 00 00 00 46 20 2d 20 74 65 73 :.0x2/imm8....4/imm16....F.-.tes 9740 74 2d 63 6f 6d 70 75 74 65 2d 77 69 64 74 68 3a 20 34 2f 69 6d 6d 31 36 07 00 00 00 34 2f 69 6d t-compute-width:.4/imm16....4/im 9760 6d 33 32 1f 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 75 74 65 2d 77 69 64 74 68 3a 20 34 m32....F.-.test-compute-width:.4 9780 2f 69 6d 6d 33 32 09 00 00 00 66 6f 6f 2f 64 69 73 70 38 21 00 00 00 46 20 2d 20 74 65 73 74 2d /imm32....foo/disp8!...F.-.test- 97a0 63 6f 6d 70 75 74 65 2d 77 69 64 74 68 3a 20 66 6f 6f 2f 64 69 73 70 38 0a 00 00 00 66 6f 6f 2f compute-width:.foo/disp8....foo/ 97c0 64 69 73 70 31 36 22 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 75 74 65 2d 77 69 64 74 68 disp16"...F.-.test-compute-width 97e0 3a 20 66 6f 6f 2f 64 69 73 70 31 36 0a 00 00 00 66 6f 6f 2f 64 69 73 70 33 32 22 00 00 00 46 20 :.foo/disp16....foo/disp32"...F. 9800 2d 20 74 65 73 74 2d 63 6f 6d 70 75 74 65 2d 77 69 64 74 68 3a 20 66 6f 6f 2f 64 69 73 70 33 32 -.test-compute-width:.foo/disp32 9820 02 00 00 00 34 35 28 00 00 00 46 20 2d 20 74 65 73 74 2d 63 6f 6d 70 75 74 65 2d 77 69 64 74 68 ....45(...F.-.test-compute-width 9840 3a 20 34 35 20 28 6e 6f 20 6d 65 74 61 64 61 74 61 29 17 00 00 00 46 20 2d 20 74 65 73 74 2d 65 :.45.(no.metadata)....F.-.test-e 9860 6d 69 74 2d 68 65 78 2d 61 72 72 61 79 09 00 00 00 30 31 20 30 32 20 30 33 20 04 00 00 00 20 20 mit-hex-array....01.02.03....... 9880 61 62 3a 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 2d 73 74 72 69 ab:...F.-.test-next-word-or-stri 98a0 6e 67 2f 75 70 64 61 74 65 73 2d 73 74 72 65 61 6d 2d 72 65 61 64 2d 63 6f 72 72 65 63 74 6c 79 ng/updates-stream-read-correctly 98c0 23 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 2d 73 74 72 69 6e 67 #...F.-.test-next-word-or-string 98e0 3a 20 73 74 61 72 74 21 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 :.start!...F.-.test-next-word-or 9900 2d 73 74 72 69 6e 67 3a 20 65 6e 64 05 00 00 00 20 20 23 20 61 50 00 00 00 46 20 2d 20 74 65 73 -string:.end......#.aP...F.-.tes 9920 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 2d 73 74 72 69 6e 67 2d 72 65 74 75 72 6e 73 2d 77 68 t-next-word-or-string-returns-wh 9940 6f 6c 65 2d 63 6f 6d 6d 65 6e 74 2f 75 70 64 61 74 65 73 2d 73 74 72 65 61 6d 2d 72 65 61 64 2d ole-comment/updates-stream-read- 9960 63 6f 72 72 65 63 74 6c 79 39 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d correctly9...F.-.test-next-word- 9980 6f 72 2d 73 74 72 69 6e 67 2d 72 65 74 75 72 6e 73 2d 77 68 6f 6c 65 2d 63 6f 6d 6d 65 6e 74 3a or-string-returns-whole-comment: 99a0 20 73 74 61 72 74 37 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 2d .start7...F.-.test-next-word-or- 99c0 73 74 72 69 6e 67 2d 72 65 74 75 72 6e 73 2d 77 68 6f 6c 65 2d 63 6f 6d 6d 65 6e 74 3a 20 65 6e string-returns-whole-comment:.en 99e0 64 38 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 2d 73 74 72 69 6e d8...F.-.test-next-word-or-strin 9a00 67 2d 72 65 74 75 72 6e 73 2d 65 6d 70 74 79 2d 73 74 72 69 6e 67 2d 6f 6e 2d 65 6f 66 0d 00 00 g-returns-empty-string-on-eof... 9a20 00 20 22 61 20 62 22 2f 69 6d 6d 33 32 20 3a 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d .."a.b"/imm32.:...F.-.test-next- 9a40 77 6f 72 64 2d 6f 72 2d 73 74 72 69 6e 67 2d 72 65 74 75 72 6e 73 2d 73 74 72 69 6e 67 2d 6c 69 word-or-string-returns-string-li 9a60 74 65 72 61 6c 3a 20 73 74 61 72 74 38 00 00 00 46 20 2d 20 74 65 73 74 2d 6e 65 78 74 2d 77 6f teral:.start8...F.-.test-next-wo 9a80 72 64 2d 6f 72 2d 73 74 72 69 6e 67 2d 72 65 74 75 72 6e 73 2d 73 74 72 69 6e 67 2d 6c 69 74 65 rd-or-string-returns-string-lite 9aa0 72 61 6c 3a 20 65 6e 64 09 00 00 00 20 22 61 5c 22 62 22 2f 78 3f 00 00 00 46 20 2d 20 74 65 73 ral:.end....."a\"b"/x?...F.-.tes 9ac0 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 2d 73 74 72 69 6e 67 2d 72 65 74 75 72 6e 73 2d 73 74 t-next-word-or-string-returns-st 9ae0 72 69 6e 67 2d 77 69 74 68 2d 65 73 63 61 70 65 73 3a 20 73 74 61 72 74 3d 00 00 00 46 20 2d 20 ring-with-escapes:.start=...F.-. 9b00 74 65 73 74 2d 6e 65 78 74 2d 77 6f 72 64 2d 6f 72 2d 73 74 72 69 6e 67 2d 72 65 74 75 72 6e 73 test-next-word-or-string-returns 9b20 2d 73 74 72 69 6e 67 2d 77 69 74 68 2d 65 73 63 61 70 65 73 3a 20 65 6e 64 04 00 00 00 74 65 73 -string-with-escapes:.end....tes 9b40 74 10 00 00 00 62 62 2f 63 6f 70 79 2d 74 6f 2d 65 62 78 20 20 1d 00 00 00 62 38 2f 63 6f 70 79 t....bb/copy-to-ebx......b8/copy 9b60 2d 74 6f 2d 65 61 78 20 20 31 2f 69 6d 6d 33 32 2f 65 78 69 74 0a 16 00 00 00 63 64 2f 73 79 73 -to-eax..1/imm32/exit.....cd/sys 9b80 63 61 6c 6c 20 20 30 78 38 30 2f 69 6d 6d 38 0a 07 00 00 00 69 6e 74 65 67 65 72 22 00 00 00 67 call..0x80/imm8.....integer"...g 9ba0 65 74 2d 6e 75 6d 3a 20 74 6f 6f 20 6d 61 6e 79 20 64 69 67 69 74 73 20 69 6e 20 6e 75 6d 62 65 et-num:.too.many.digits.in.numbe 9bc0 72 01 00 00 00 33 23 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6e 75 6d 2d 72 65 61 64 73 r....3#...F.-.test-get-num-reads 9be0 2d 73 69 6e 67 6c 65 2d 64 69 67 69 74 01 00 00 00 33 2c 00 00 00 46 20 2d 20 74 65 73 74 2d 67 -single-digit....3,...F.-.test-g 9c00 65 74 2d 6e 75 6d 2d 61 62 6f 72 74 73 2d 6f 6e 2d 6e 6f 6e 2d 64 69 67 69 74 2d 69 6e 2d 4c 6f et-num-aborts-on-non-digit-in-Lo 9c20 6f 6b 04 00 00 00 33 34 35 36 26 00 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6e 75 6d 2d 72 ok....3456&...F.-.test-get-num-r 9c40 65 61 64 73 2d 6d 75 6c 74 69 70 6c 65 2d 64 69 67 69 74 73 06 00 00 00 33 34 35 36 20 78 3b 00 eads-multiple-digits....3456.x;. 9c60 00 00 46 20 2d 20 74 65 73 74 2d 67 65 74 2d 6e 75 6d 2d 72 65 61 64 73 2d 6d 75 6c 74 69 70 6c ..F.-.test-get-num-reads-multipl 9c80 65 2d 64 69 67 69 74 73 2d 66 6f 6c 6c 6f 77 65 64 2d 62 79 2d 6e 6f 6e 64 69 67 69 74 07 00 00 e-digits-followed-by-nondigit... 9ca0 00 45 72 72 6f 72 3a 20 0a 00 00 00 20 65 78 70 65 63 74 65 64 0a .Error:......expected.