From 8df2320d6dd5ed01d209775c854dfb5ecaaae2d5 Mon Sep 17 00:00:00 2001 From: opencode Date: Thu, 12 Nov 2026 05:56:56 +0000 Subject: [PATCH] docs(termtris): re-run acceptance at the VR319 default The branch's evidence was captured on an older MAME binary whose frames were VR150 (1024x864). Rebuild MAME from this tree's driver and re-run verify.sh --skip-mame at the VR319 default (1280x1024 active). All six tests pass. Event counts, focus=00400001, tick=887 and quit=1 are unchanged; only the main-loop counts moved with the frame cadence: move 650, panels 648, quit 555 (was 354/346/300). The evidence PNGs are regenerated at 1280x1024. Record the numbers and the geometry change in VT1200.md, TERMTRIS_REPORT.md and HANDOFF.md, and note the qemu-i386 toolchain fallback. --- apps/termtris/HANDOFF.md | 59 +++++++++--------- apps/termtris/VT1200.md | 30 ++++++--- apps/termtris/evidence/render_frame3400.png | Bin 18967 -> 22440 bytes apps/termtris/evidence/termtris_frame3300.png | Bin 19434 -> 22850 bytes apps/termtris/evidence/termtris_move_3200.png | Bin 19584 -> 22948 bytes .../evidence/termtris_panels_3200.png | Bin 22424 -> 25726 bytes apps/termtris/evidence/termtris_quit_3200.png | Bin 19441 -> 22908 bytes harness/mame/TERMTRIS_REPORT.md | 31 +++++---- 8 files changed, 73 insertions(+), 47 deletions(-) diff --git a/apps/termtris/HANDOFF.md b/apps/termtris/HANDOFF.md index 19f2d7c..bf453a8 100644 --- a/apps/termtris/HANDOFF.md +++ b/apps/termtris/HANDOFF.md @@ -36,39 +36,32 @@ high-score panels, moving/rotating/dropping pieces, and `q` to quit. | game integration, scores, COFF | done, `play.sh`/`play_keys.sh` PASS | `41d3cec` | | docs + harness report | done | `3e2ddde` | | review pass (seed, focus, expose, assertions) | done | `7a2cef5` | -| handoff script + this note | done | (this commit) | +| handoff script + this note | done | `a12fb47` | +| qemu-i386 fallback for kernels without 16-bit LDT | done, `verify.sh` PASS | `ce40582` | +| VR319 re-run, regenerated evidence, updated numbers | done, `verify.sh` PASS | (this commit) | `VT1200.md` is the port documentation; `harness/mame/TERMTRIS_REPORT.md` is the harness-side report; the design and plan are in `docs/superpowers/specs/2026-11-03-termtris-vt1200-design.md` and `docs/superpowers/plans/2026-11-03-termtris-vt1200.md`. -## What is *not* done yet — read this first +## The VR319 re-run — done -All screenshots and the acceptance numbers in the docs were produced with an -**older MAME binary** (`/home/arti/code/k-space/mame0289/vt1200d`, 30 Oct) that -predates the driver's VR319 default. That binary has no `VT1200_MONITOR`, and -its frames are 1024×864, i.e. the old VR150 geometry. The driver in this tree -defaults to **VR319** (1280×1024 active, 1696×1063 raster), which changes the -frame cadence and therefore the frame at which the loader and the tests act. +The screenshots and the acceptance numbers used to come from an **older MAME +binary** (`/home/arti/code/k-space/mame0289/vt1200d`, 30 Oct) that predates the +driver's VR319 default. That binary has no `VT1200_MONITOR`, and its frames are +1024×864, i.e. the old VR150 geometry. The driver in this tree defaults to +**VR319** (1280×1024 active, 1696×1063 raster), which changes the frame cadence +and therefore the frame at which the loader and the tests act. -So on the new box, after `harness/mame/build.sh`: - -1. Re-run `apps/termtris/verify.sh --skip-mame` and note the new - `DIAG: loops=... events=... quit=...` values. -2. Re-capture the screenshots (the test scripts write them into - `apps/termtris/evidence/`) and look at them: the board must still be a - bordered well with `[`/`]` tetrominoes, the score/level/lines boxes on the - right, and the preview box. The window is positioned at (80,80) inside a - larger raster, so the PNGs get bigger but the window content is unchanged. -3. Update the numbers in `VT1200.md` ("Acceptance values") and in - `harness/mame/TERMTRIS_REPORT.md`, and say plainly that the earlier figures - were VR150. - -If the behaviour itself changes at VR319 (pieces not visible, no events), that -is a real finding, not a formatting detail — the loader acts at frame 2500 and -the keys at 3100–3290, which may need re-timing if the new raster shifts the -frame budget. +The branch has now been re-run against a fresh MAME 0.289 build of this tree's +driver at the VR319 default. `apps/termtris/verify.sh --skip-mame` passes all +six tests, the evidence PNGs were regenerated at **1280×1024**, and the new +`DIAG` values are in `VT1200.md` and `harness/mame/TERMTRIS_REPORT.md`. The +behaviour did not change: same events, same window (`focus=00400001`), same +`quit=1`, board/panels/preview all visible. Only the loop counts moved, because +the VR319 raster runs at a different emulated frame rate. The loader still acts +at frame 2500 and the keys at 3095–3190; no re-timing was needed. ## Prerequisites on the new box @@ -79,13 +72,21 @@ frame budget. `tools/tms34010-sdk/1990-11 TMS340 Family SDK/`; * `vt1200_v22.bin` in the repo root (the harness ROM dir symlinks to it). +The r5.01 tools are 16-bit OS/2 `NE` programs. If the host kernel was built +without `CONFIG_X86_16BIT`, `lx_loader` cannot create their 16-bit LDT +segments and aborts at its first one; `build.sh` detects that and runs the same +loader under `qemu-i386` (install `qemu-user`), or honours an explicit +`LX_RUNNER=`. This box's cloud kernel is one of those; the generated COFF is +unchanged. + `verify.sh` checks the ROM and the 2ine loader before doing anything, and `harness/mame/build.sh` re-registers the driver in `mame.lst` and builds the single-driver `vt1200` subtarget. ## Expected results -Last run here (older MAME, VR150 geometry): +Last full run (MAME 0.289, this tree's driver, **VR319 default**, 1280×1024 +frames; the earlier figures were VR150): ``` smoke PASS type=2 keycode=194 lookup_n=1 ch=61 ks=0061 @@ -94,9 +95,9 @@ render PASS flus=464C5553 progress=00FFFFFF input PASS bytes 61 9B 41 9B 42 9B 44 9B 43 30 0A 7F 71 70 (a/up/down/left/right/0/Return/Delete/q/p) play PASS DIAG: tick=887 quit=0 -play_keys PASS move DIAG: loops=354 events=18 focus=00400001 quit=0 - panels DIAG: loops=346 events=12 focus=00400001 quit=0 - quit DIAG: loops=300 events=10 focus=00400001 quit=1 +play_keys PASS move DIAG: loops=650 events=18 last=3 focus=00400001 rev=0 quit=0 + panels DIAG: loops=648 events=12 last=3 focus=00400001 rev=0 quit=0 + quit DIAG: loops=555 events=10 last=3 focus=00400001 rev=0 quit=1 ``` `focus=00400001` is the window the process created; `quit=1` is the game's own diff --git a/apps/termtris/VT1200.md b/apps/termtris/VT1200.md index cea1d20..104a283 100644 --- a/apps/termtris/VT1200.md +++ b/apps/termtris/VT1200.md @@ -36,6 +36,16 @@ The 2ine-hosted tools routinely segfault *after* producing their output, so the script treats an output file as success and retries a missing one; `gspac` needs `-i.` for the angle-bracket shim headers. +The r5.01 programs are 16-bit OS/2 `NE` executables. `lx_loader` is 32-bit but +maps them through 16-bit LDT segments, and a Linux kernel built without +`CONFIG_X86_16BIT` rejects those (`modify_ldt` returns `EINVAL`) — the loader +then aborts at its first segment even though it starts. On such a host +`build.sh` probes for that failure and runs the same loader through +`qemu-i386`, whose linux-user `modify_ldt` does implement 16-bit segments. Set +`LX_RUNNER=qemu-i386` to force a runner, or install `qemu-user` so the fallback +is available. The generated COFF is unchanged; only its header timestamp +differs between builds. + Link map (relevant addresses are **bit** addresses, like everything the TMS34010 sees): @@ -76,8 +86,8 @@ earlier per-cell version (four requests per cell) filled the X socket faster than the in-machine server could drain it, and an `XSync` per row deadlocked the client: the debug progress marker stopped at row 20 (`0x00010014`) and the game never reached its main loop. Batching the row makes a full 80×24 redraw a -few hundred bytes of requests and the loop runs (measured: 300+ iterations -between frames 2500 and 3200). +few hundred bytes of requests and the loop runs (measured at the VR319 +default: 650 iterations between frames 2500 and 3200). ## Timing and input @@ -133,17 +143,23 @@ which copies the sections to their linked addresses and calls | `evidence/termtris_quit_3200.png` | after `q`: same screen, and the run reports `quit=1` | | `evidence/render_frame3400.png` | the cell-grid renderer test pattern | -Acceptance values from the last full run (`play_keys.sh`): +Acceptance values from the last full run (`play_keys.sh`, MAME 0.289 with this +tree's driver at the **VR319 default**, 1280×1024 frames). The evidence PNGs +above were regenerated in the same run; they are 1280×1024, where the earlier +ones were 1024×864 VR150 captures. ``` -move DIAG: loops=354 events=18 focus=00400001 quit=0 -panels DIAG: loops=346 events=12 focus=00400001 quit=0 -quit DIAG: loops=300 events=10 focus=00400001 quit=1 +move DIAG: loops=650 events=18 last=3 focus=00400001 rev=0 quit=0 +panels DIAG: loops=648 events=12 last=3 focus=00400001 rev=0 quit=0 +quit DIAG: loops=555 events=10 last=3 focus=00400001 rev=0 quit=1 ``` `focus=00400001` is the window this process created (it is the only one in the run), so the key events were delivered to it, and `quit=1` is the game's own -global after `q`. +global after `q`. The loop counts are higher than the old VR150 figures +(`354`/`346`/`300`) only because the VR319 raster runs at a different emulated +frame rate; the event counts, window, and quit result are unchanged, and the +loader/keys still act at frames 2500/3095–3190. ## Limits, stated plainly diff --git a/apps/termtris/evidence/render_frame3400.png b/apps/termtris/evidence/render_frame3400.png index 05de4424d7c9a7f45ab2e5ee6964311a032c87ec..5ced90fec745a506e675df4cb25369253e1dcd34 100644 GIT binary patch literal 22440 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 literal 18967 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

>kRa&J@12$Jwu-IArdyf83cw<$& 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 diff --git a/apps/termtris/evidence/termtris_frame3300.png b/apps/termtris/evidence/termtris_frame3300.png index 92302fb5c19808d1849bccf7cd06093b8cf6ba85..09b0683c0f8b86b0c994b308e197e71989a46cb5 100644 GIT binary patch literal 22850 zcmeHvd03Oz_O9CYP|Hz&R+Ls5JOv7h5)~8>g=$p{R8bL71R@R~BBl%)ASAJ(wS_`T z6p&dI3K$?FATlIzD1$;k!z5FJM1l+)<)ZBj6#{s4NX|0omp5xF~Be({}Yv*RkkC&!>ygYMIi zcg8KpX?m#6FfGIt18B5mW8IqFXH@@qu0Dpif-ey-+5kP;e*6yX3A&*~)De!jas%s- zPmQyO#(8#mME!e~%~PxtUo2u>VESYDn%!$s_e0OdFly8Vt>#qf=}`>gijWfDT0IC8 zbJUpVyR_;Z)>Osn?(0YwN&Ad@mLRT}QyU+3Ve@;Wf}7hEla{3;q>IAdUDHE2$LEGS zguWwvt=RPIs@B(e5#>ePW62^>v~C&&do?syP}@;n%UG<-J(dnlYfBp;-MHAlpecage}#pL7D+bB11*d`S^EsStV$ zC)H`5RE*~EPNfXPm-5zhIrov`ao{c7+pdY-ioMdcL`q4Ee-2w12R)wLBSR|nV)Od7 zd{J1pJgP-|Nn&4%O)2!a|L0Nel|1gXolZlBES}pb1MeIUr*#@+?O3Tzk4f4;%VvxU}WSZU58V2r5 z>xl=7Z5l79 zclN`c45FCZT8Y#J$b-eGGsslIV#S^o4}d*!U{SjA$U%mAhtx%;Qqr>sScL2n10Zvef#jLL1~1*`f-pm_$*Nm-{kjOFI?z z#GzS+_<{1yQ{iQW&S7uImC`WtmZ^XLQ@qluyMBf}S-#q=ArBV-%|&0)%Up;tyakPZ z-~{h_tICv;MX)D|<)_vB!MH|oA1Op8{#hkb`i$X?DyJMW8#_CdQ2h<;Aq>;!0tEjH`VNbN} zho6=Ml-Rm{n<;Lad85lv)wU8;(i)2THauaB?F@ksUA@-aR76XAb6%sofX3-!|Hw_8 zyr)lo)C_HW>{$e@E{#STTRHXcDh)g={o9A*jhfvwe*8!F=Xe%GNRItw1GE=atIo7U z_;oTa=P^c#QAmOrX7Dz!M9Mv|@p!O7Dcj+~*65+Cf%06+0(-Hj-MFs@65VIV3lcD(Y5-ixM+Ej)8~i&_;4f@W!4zxZ{RWv|$<<40;4%Q&Kzv^ikF! zc~~a2IiDBbNwc~rTTg{%G*~I$6)XcFkO7PxAOUGuj@&4C1apj|jzXK;-YNba5*Oq`S4DEFjXwrMR!Z%gg=D1j9OhQ6}$W?9i*=%2}p&=2$4AEuW z7mo^)7KVc-hGYB{o$trPBK0RPEB;=mcGAnsOV;wkzAuNQKk2Uv_IVx6w|rJtSBFI1 zvb;D#O(N>A3-hz8dYH8n-_d~@%g<2JeS zVxuGdbhGI9scz~!JzO(|j3}^*I;L2(cz9Hdi2N$n-ZEk|r9u*q4-^z5BtzjZVXqj=yBeSR zzNVPDkUzp#5F1hhA6dz_reKmwD)I|~`7HULzQAih4$NVrz|L-*`HC{*VTz38XdAtw zJ|@e0f+#2?9gp(XZ4#Hz^vbeWtvyX^#tDIfdK+|o+jfsyKi_9;(o$>mq(xFgGjBZw zhLdm(KqlVFnKHew!;+t)wJe9L9AR?w#vGa{EKK09Eo$sf1NMP2q?4ozrOZIm#cSv})GAu#eYBZ}65?iDwbMBXVi&ugH`JenPdPN+<{venJq{ecS`o2%WSJbY< z?8i^#7r!<-s06H8003(h?Sf=v4FVCvA7v>6>0{ zPaI>ED?-Kzm3znNU*C{N2cU0^Fia?APQjS|x}!d^kDTr4RC?$a-Uyo1!#08S4+)@a zJU)nO5m$#Y6SDm89R9H##Hk1b&xUj>!=ksgiH34p1U(vsAS`TajQ(EZJUZtR@;@2*-#>hg&E}@2IjAh{Sq43`@)wJq$tE!~_w@VwR#P`+F+|eWu zX>0;E3R*tfYs3_BV$+Um<>HD_VO;-h+{dEZQHuuyty7u7Z^%@7P8oLsW1G(oXK|d| zDCb!HF?6f96ZC>Jx@JjKzg*LC?behAn3uHz5Q}bwxnY95$E){Y_6WzUTJILG9q0!( zMh{!jQr%F7P1eJ=y?$EGO%e1K+I0Bg-ubF;{iWv?;|mVz5{6H(Qpu*zxc2V;l|(6I zt9ZA_WyExyyf>n}6TRLow$Z`d{j8Fx8|~=DwJmFMDYexh?bX6m;ZMSUSd5~quuSng z!Qgh81{#)ut|1qg>-N=z`#u~cc3NanLYlP)OAJg=P#h0%b=1frpY4h*qfY7TGIr2e zlrSEn$FQPLaN4rY?HK1RUQKi)U0vqTa>>7*z_Tt^00(0C#+EMJ! zYxQ1zzU0=_ zxmdn3`Zk5MAyR+cnaX-(*LoZN1agp-rIYmq>GI^~+c59aqbu&}E!)!W-Df#kc5r8t z@Hry*#Zt<7a#_&XLGvRl6E$ET#GdF{`6)IMiY}IU>i})=yZCYBsOg}dZ3XIG&FO6y zb;1T%E4D>zI=I@@FnH=@XWiUt#8K93asJ8bkt`2(yhDcNOF3p`^%|6Aa5W9l%q2=K zOoa*_po_xG9C#;tB9I9R^aGPgh+hv>^T^Q$q& zRoFA5g$K1<0Wb@h06N;B#gF0;h}xRpRX2`1_PM_2(bsd_4dL?jk4V6QAylC(sJ@_p zP5^kH_9CfS-Z2^flR3Vro{}gcLxi;6d@S-SC*);6T-wXxS1c$g-@8jduWJON`Ie*p zeVvk2mad9;#prM#VDrK}XMx(OU5Bp;;x4%i$dtUbL>NvOGi_EsUG}1G5`fOhtTYix zBVD?Pqy2hk>8j9*B0J=Te;D+~ztpT+1Skl^X&{dO8KS_=p571#`=u@{9jv(%| zMRvG1U)a%ydevv`SW`Vh0mv7*>IOdIf$N*Q&akm_ICojWx?33tBg7Z#n*vMj)%l0J zfUIO)SY^OQxXlU5rY-#I5FV01ZgXS;a7yID!Ej4`pNFHF$i)xhy;5H`ID8);`N`hp z?I&8?b0mQq$AW!g>*EJ^!YCivCzgbIZfM!*H4O0nA6AofxXe#`HP3P9adYrCD=x!l z&Mv!uZT6jH43J*W5cGalK#DGDBfRkz2|cs%!}jsN`2#fLxi+QIsDXQgN8PSUPh$4A z_wA<>Yc;FRdgE&AQlQ}Nw!tX0A~cVAVsdL4V1B6lT5bj1VkMF)?Pl^R=g&_1YsAdJSKOIMRUn_f1N63n}eXX`{%K);eSk>+BjFbn%DWHbIz)t(94&&&0;k2+l7 znqs;BtNW5elM9cV48z=CIuWqtf4Swm7@ugj$Ax`EDY)jqsK+F+9dT?uoa#PjEw&q# zWJJNqZB07c0F|Z=lE$qh27ZR+FRpf6?~SDtGJgoI4ZeMB9|~7SBCrP#AGb*B_8;r5>+Y6Gwq7U zy3ECz)~&rlCq!kyWN_t4j$Y-Pq-wmb8?gkzG_?!$5!rZqQC@-AJvlEL!;Hni-p>v;CL~B8pe{Xj zNdHok%(h4^Ka4mCL^dobwN7^Ckn@4NmG_pYyFp^*!uRV5O9XAJ~vzeMEPnoQ}lq2;hihXnuYRnuwm~x>3knEYd0rXygxp)e!3jT3p(Z%K8X+`p8l9UXrQ_RA-?m3&_rApQcG6kL74DJFqB z4ygB82>k;@Ak2iKnYmu$&u(Ab5=d2WZg1JNt=Z8}oF{qd;*wTPN2ajY^N zq@?K>EsiP=@#0@AnhGF&_H}pn_ogjG18$ptT?dv&w_39s9_olD9>-SrA9S6oB8_w< z_nQs9p}yuuaF}o4R^qbZ6z2`U^nYzCw1P?-Fq6nL`xoM}XMkOy(5Pl&8$m<(;!1UQj2Ev%S~J5hK(zfz$uCeNuG0EUQHslIpkESUOg7Mb0g36@ zQFv?ysQ}U0yPo=uN+L+4o)H|G>p>H=l+a8YpB=lRtV1O$85erZF0jJ!^N&g>eyIto z_Nibe>?|bpj*d_5=xc~Bg?ROo7_ZReo=;7M5~vzhooP!LJBdEA4}AN#+7x?j1+nRm zEQ4t5To~?q(tnF7Vh|YHCCWcG5-8b|`1jp51^DtGmie|Y)kG7AFml00O<{a~(|S0U zbd1&>c>)vgmnwxq3*s>zfAioQD}GHNCvUOs=+_n0pe`49C{Cq=$Qh=>KMNE#s$PWJ zBMcgGErQW_>O!7BeKFcwCnO(~Fc{as#F9A^PXQkE>FsuVYUCwv;OmkyE$Vq&9Yc8= zD56wER(!-oayf=T=FRLpqxf4N1KIV%GfSSv1>Y>MB} z8dGfCdp{)D#Y-Ty753PS_>9^><1Htfam3 z6Fa)SYCN~uZfFc8E=lFzz(akeJ!#sCfh+y-sfrvxem4EkzLj10*nY-_1FBc+=NQRs z?h?QLMQ+zee6z)lP8>Ye5_g{J%2bhAb4`uCMoLdoBkdir4}2>zoG?y#cuH;vC*_|$ ze&YV*`BC;RFY8{2L(>3TwNtQ0U{8A}W_gvvsBn zD$o|NuimZhI5EaoR3X0_y;OR+zJ?UkqO^|famAVKq_2@WXV{KV+QD!;q>&!vvl>7r z*xoz)M%N(<+DxTcW7bxN}4bA%^@8ca^2TXE2?mr ze5WC~et+|&4Zilph&-eU^??XL0#P~Z`**bPy0Di}-m7{BG6j{8*DFzCoP8A(`JD>n zH#1yX3vxF$W4CH=h~5-PRr$xf0mUjHCzsv9ANCIsmsy=)%c2;jX}wi!lwUb z=c+3E(OElkM_H!;a<5VpzNF-RACPA?sgmm!&kV`*S5Q!uQvb}bbV-$r8)J^Pqn1dt z$r3;A=liEjpv)`n+4wBuni+d<_TZK=%;y8Kvi)czu!7T&6<~@s^NXRJ3Ta{#aY&KB zLWH0xbKSNj@ir5^_?*kL#XUz|Q*klgBQkXGj?j75{$^_|V{v=OH}9inTi#9cWn1{` zpd12BOJHXgM7=79N?=o#scHoQPl5-I`J1Mf+%h>XNwlLI4=7x1u9?%#n%8_vE|~3J z7!_>-wyJ-ik*%|vM0_KMPkCx$MaZwp^gcLnSB#lsB{fL?hItIL+@PPVG`O>DUx*~l zGIb<%mB?l!%rISZwn@xYqblnxA93ArNfhyxDmCOD2*%A8-z?*L&l9Ygl!D~5-Iv!? zY@8~rH7B6DCzV7&xr#qEIFr&0t#wP;=KT0ZVNF>&*?ujE8wy~VvH59__9gAj z_HEtyUA7BPZ_emyk$Ql%^%*{{t-N~oQ_jZ0{H96w;En9ZVSyD9D6mbzONY3O2il01 zZQLU>&~*Lz1Lt;GcEy&ie69eDaK+)OD#~0^svsDD_D8=p#6M6DAUo1Nd)B_vgeLLe~cimI2@JJTGZPQ(#b)H6GO@c zGYD`=C2rczi67{wQglt8OIeDqH^M& zir1Q^1wiTiENJ!xv$bA?W}6MnTmIm_vsaZi9YhA}vrLsdETG`dEaTf;U7W;nsvwd} zz`F&?fHSU2U(tb}NTeb=Z;NlUMrpkDj5$ae!k@L!Pn9WW*@$bMzla^Yl6(JHzQGiR z&$yKSlJn8Hb1EB~#`puX&2b)J7gJOZJTVemaWGik?n@l7Jejeq-V@gHyAmugg^9iDr{@|W9E#CQ7Y4s{R(v8>g z;fH&_iuqYGu?4|H$zmc`-Vfq914gdOIgZcZk*Y>LFD04I9_HmF6TnkLC zjj`|0-y~6rk|m>atsT95y^^@jBbsIu^0EiIA!=C2f+W{gvu*9TKR6K>2y!AP51His z+jJcPDkm%2STW|0%yI8pr_2GfdkJ4pX}YxLThr^KG&2Q&wl# zw8`d(YbG)8jy{=0Zr)(SurLG`@vX$0?W3yUs7edeeDd4plxzSW)qDg`xOi(F9<+jh zA+ad{(cMZ~Q9#=uLN-@J?B&~!zYKtQl&^sdCE9eOU^?-T0*(u`t|*-;Nn+r;;j zmm5BFB)4$$WF%kY!~@s>h-f^ii&U|xSw=M9CjNXwlRSfd1bW&OC=1l;G`lTCi`+EM z-_~6R9hIWG&8s)8Ze^&w!B>1_L#b2Enkjtphw>n(7)SKF60ncLJZEYkaTz0-PU7cP zhX`J8#uXJG@Tk(fRkxmZ?xpErjgIPR&y#do+-%9 zpd&c`kkqjYE>4+WzMA0?DjWrGo+t-zrq3&xPgjuVg$Cb0@z~cpXT|mnt%R|{UiDcT zsTnB7BF9_b=aW|jx|LgcRF?mJ74&-RspwksYGSYpsF}4dv7;|@nk%Fue+(Q-Yn^od zw`B%(7hE%KF8tHLM=)PVQ#C$t1nMu#La=|g>h$OJa8=E#0W?=YnGJ0NN?nfgOmDgB z9LQ{OwQy#N;0YtH~cHD90^9yAd5{v4`v=3kHUl75(jA*OUj>N6=y@K1Y+67zs z$9{vB+vd982Fov`J`gPuMjN)Ob>KU#v&*9G+bAxR9pUl6Sx|&Owk2^`j%JLbQJXc= zd!i1{C4-9IM0EZaUXA1K11rEGn%{i25;8WYM$~(}#0&4^(1HOW?efUFQLD=p#bf(L z)w$Shx|O48J^GpI=qUbSdgo} z+b`9lzXC;SYhW1AVB{p*Xr#5vq|oxxp(HuwI;vw?Wijbbx z$9GiCz^#%u$24++e6&I;m;0QX-?3|pK7aW3Krthx#x~=%A}F+imP79okN5fjV(>njMPv)_(@|@V5|s6Ss|CkNJaEzlA4~=QUfw`4oWS989|Y0mQt0P1z+N zqB7A$hoFPYDr_=bwv(ar(EkDNZUpY4E!%RUsqBFihESDZp;)6>K>taRq;CS*Av~X~ zRXuM1#)@k3mc=49V{>?FuYVe)?wICb55VciJi6|-AL-0dp#x}@uUIWSZ&Uec8YZ7* z8^P4UNgeU`YJp_t=meBNVx9X1ltb%ZGHu35f`jKeiIW<|gWi^d;SJ+FgD|P17EW5F zo5gc!b^^U1-a*x|hUrt3P)BzF%m|LQKVy)st@rv@i+6TfPP2woUJuWdU8 zlD9JYiF5mDaD{DG{dS0eO%LQx{`9L0yG)8S3d4BEXU-$ez|`BFEA>7}7-)~K zsL~^mSzOb>w4-JB|IAzKH918W`;6RR+$hO#%Auy<{BVb+&F`LC3hQ%hSOcxi!BMRg zK^2YmFJYCnEFdG{B~vg?)%F?=gsM=9m?9V<<5zIv+h4ycHzlocgiRhuN~#vtQ^RT; zg*#;v=-y@YU`~8pr;w;e+MW1NKzLTyr8uk8mL&mD0uI^pnE%4ma+GKH%Oc z9q^}wFkX`iHh(KwZ>IB>r5?jJ#__?qqxpF3lULu$;ilNBnd3UFvo;H27M5|*FVt$G72{u^Z`U{PI5+QNNx!;iCjYbMvdra_keaOH$vvEI;e+>)(3x^f-i$ zZ1u2iD3gPe*e*1jgx9;@G?vOSm*;E=yaAm&Y8|?V0^uOnBcFdsg6>=CP=;Xh9hM;!m5MjYwp=m4^27{5@66_($G8ss8gK-XTT9f{Md@Or$U$& zNCtyfb+g5s`sKrkYvN#LI9~3bTBZAzwS&{@p=&cbWGlOm#;-l#R^Z$;tA{g{<}l-J zy1rY9tCDWD9uM`NbhN+s7icy@7|lw`6?03ig&b6h*kR+6jq)3A^LfL+OI%K?N9*^$ z0Ab@6@>J_4aBQJf(d5S35w3cJqeY=7%BM={kHgvs8Bes^wC(7xMtie8QudKtL@ZO~ zfh}G43*d6l7{52^g_zBb@&9O#D$txvt*nems!bE-e5nt5{35l`?MK2MM9Ut-bZly@ zZ$R<&GyX4>QfWw9;w}QXup)vd;(l*6SBpA)VdFMs6CpfgwWb=<1joqo`c=Q5+^d^X znFS7g6k@fdhu3%`pYKTcDC*gc9|n_9&Ukr>|H9wB^7)NCzO?+-x?QjkX$}$enweWg;WephP1h*pHohB zKArQvsoWU%t>U=j^pu<%1pP~>=JOj?ri7w;ku?T&);B^vS6QwW5XYPsRw8Sp%2sBb zsrXOERvzM0_zuwH{DtW&@`go&QrRd?X+V+^;2KWLxdR<{=dWDN_4?(Nq4$aTK(XQ265OGW$9y+1FNTd)+T48 z(T+DWt~F#fplmBDpnaBaRbKvT2GOl&IU{lokk0~@>b8ze4r~CsDl?pt@BcQ9Jlapl zXd8U+eBqRDDxUzYSnI@gLu2ZCCBKVA-~&(fdIk{ zzsEQNBe^gafd0>pb0j-1ml%CwWb0jTp=sR;5Vj!%UI+i|2-#T}LW>Jkr~Jcdjn>vGW}O}{Jd78rHJ@-rmh4)Lem+1hDd&qu_*&vI@idJ;1SMbyFT;5 zPr?G75DzcjK5lbtHe}in7CDnTiiPzy0dC@la}~Isa4HVggl2%=n}2_8#BBKA2rk7? zEbtG4Jm(_wAwY`^e1G@vzyDv8x%S5682tBswak4xWKX@Rq8x4lASkqfyh_#49)-iS zfnuahP4N=#oXIQ8tjBkn?k5zv%oa@QegA3$U;YF;{6c78yMTW&TIio4cu~uwNF9Ty z1L6`j1PF|*_0}1)-Kvn&Wp4AhA8&XewF2eE%E9A<&dUV+R7`feE`r;ZbyFWy;NtGc zEELt4>mmD4MQ2v3byx?F#@v{+Xvp!lw35e!U+-W zRB+kMciqxzZb0msOPzZO8C>JJaT17S*mCD#%t8MLw=+`Db3LhF_OrBwY^2S&SlG}J z98pEQhz}a*wI`Sr(eQ=ho6(ADWu0l+J%hm}p7><+GhN+B*lcm>HjoHNIp|{D`@H)? z9d9l^aKr)JOz!o=?r&C05Z$_0_jE^8WH{upm9yaFH}FndM9MzQHN}bNy28g6U%?4Y zhv)Dca0h<-{gPEl|BZ1hY`}WP&JN;wm6rfKQ|rMV5OI%IEeC`Oy5tN|OENt*h{k_5A3AmgHes(kg%mP>Pz>f~wC=gtJhJNsu0Zu_TD-#l`!4)Uf zuQ$N4E#+5r&$Z4jRer^O4S0|8EB-M+H&nkK0=!W@$QeX@egf zP=i;^yA0%$s>y62Oj7=w1|3V)uipaRr~HcT8NEeKHQBkD$#T=uuBhhC1~gPPZ{1<` z)MVgx?9?W~8RDsVFHP_F2DsRxn(W@pWCZ~2Rr99L?01uG0(Acz{Dc(EOxE&2xWIxw z2p3q<2g?N>`T-UoJlXL97Jw~$fCb1FKET2USeT+F)36{Xby=D%T5!d4ZIQesrH8cK zLccCKG+Xsva!9X=M7g1-{?;kRsaV{H_v-3C$ffRsy#R3iU)!(YpT+t?dyfSN5RuPa2iU`US#mXQc0tsPCqOH~n1tbcH z3K0QO86q-+Nt}QxNF*3$NChF1Kq7YHFW=U*{Z~HyixRY(otAr_BNDJ-Zx2Zw|Ee5xMJ% z?;fNmY$SX8F;O-@pJ%FFCsvQHI&q}W(}ejA|8UU;qOLU&e~Zoz9-RmM>M0bFk=qtv z#OJ_&F%a7bb5oa(vD+Tk2WU{$tia#&%Bi#YA08974JC8*=Sya~q=l?)hiIJZP6~_*qsXb9aJQt~=Z!%xY#;YpH>;eGccSYJQYXP5>4^>l?9In%sFM z`19NVw$|Ay!p{n^4p+cFO8Arg0;RU*(Pc2zo9q;n8s|on&b1x<`Hve%iQy44i!9kY z7et}>ri7gYhKNJDway}K-hGNvb8H&+FF|FO5+oK&6Tzc9!f2G*Nc(ZR2ku3y=yrts z6m+ms$HZ=5O${I9gHraWIvyty&*kK|1_W@wbHR>@AB)XRQE2u%Xyk80nwWgb;N=tz zKf)|4{0L2LS$Kci+tt>@3|`0B++)^7I>q8Pu*L#|_6XdpX2DJ9t=IVX^LNULLYyPN zOst!&(Jxf~c{Uiqs-Eo(#+WdLnqvu>5+ZB+wi2+>4B0ExIg+Fo5@_EO5iD5Q0j1E9 z4sxWrSWyC2)ur5vd_o(#011|HV+a(rbnyEbCxzUo%^f$;d z@C=O-Eh#Np6Z>GFAyw`7P-keB4$db!ata11Zv8Hk#p}l^A?l;f*o)4jaZar1N)5Xip@t73d#JlFvQnTf-SSnQkXE_z6?v1?+|ZpJD_%Hvh3# zgc$|Q?dUX;MN`{+X9%GNc4=RqNtm^L6xArf&uXScjw=6{&oBqOv{a04CB-1rL?d0E zCw^t>`S`V5&%&ug$K2v3);deJ>j-@zPGwWo`W0KdP->9GpP|&un;hFnonWD?*4Bqx z>?8{yvHF^b5NZP!f+j^5wdf(8(4!pA)0{6iRm}Y}m^1$|$HB#=xYviZ3ycrnucw%M zjD2XE`w-VmLpJ|$Wmt&$FJOV;;RS?QW04Xvc&$QGcGR*~=^XehBa|BNz6?2wGgJsI zSh0SwRH^BJI-1(~P+#beHy1?C`t9|tusiY>kZ2_@n;thlhaS{S8x1)n@+vF}hDHzU ze8am%3fNhZSCt~guT`Ev=cUpIFAgat3})QUkg~bQ;&sh3Dv%p>`^f~d< zw+DE3pIe99Rb~oH42!Z@eedGTtfLyGHoQyf`-qM;h+ZcIFV0t%!XIlkmBs5@^WP6A z2wu)vZSB_j=o-tc`S&3#Rq>q;*nli@V7=F1cBXjtnJ!|5;5%XlSyM}Z)EaGaid>S5 zf0T>=6EpVVYKGqEATaCYF8Gb~0QvLG;<3%nvQQVyQIN}=+5%0rKuI_thMIYkMAIao^?=mIS$AePaR1JhITjG$+cGD z+KxgE`V@)>i^b=#vVudz4f@ zc#zfRoD(3+x+5l5h#xaiJsMYaF*#%E=SJD!bSZVvEV~p~pN{fK+Cymy0k}~{2aX3# z$>}83h`F*B`Q}rKm?3t21}ldeWZ0&~=;51C2jRJX^6dR;!RD6-nwnecB{mF+39jeS z*yA>&>9u4OSE6_AJ$-PowRpf5WsETYUgvCbvSj<~wZEhU#OuyQxD|Fs#(r-^dv>t* z+Mk4NNMgo^N>TqYPkiQ_m`!gKAL4Z{AZXszqGiWD@d?2V4yRQ-vfBKg+#Ot*&S+s3#K zEfP)kX7MY1)?CqEFv)u`i4Ykn_dR&coZ!-N+jxMbMJqtz*(p`}NNJ)PNxQa|ER-#* z9h%yw4;w7xCV&>|Tj%DQmz-R71IVVi&r81EVl8Wzi_2y`$qyw-d5pfh(E{VAwbBKa z$tQkRbo_W(ckTw7D|;z;BV8#?a6;muhv~Q(MEMLq``d6O4*zGTuEtK*-f7aDMCh9R^0hwuQdtXhHU!)TZ zvc%GX_ABq~Fyj2V#am-TF+MGU*9MIDm$!S-^}~8>9t*sF@1 zEDz7#Y%1aBqjG6eP+GJGZES}n3&V2KacJEVV{pBp4p-l~B_g(}f)`wv?A1`uHV$vp z!R1!iK1L@P8aCC|w!b>J_uKwqBL(x4p}Dk6unfn?p>PL83tC%&SlhJ*+#0y^+JhZ* zDD-;I)cuwuwmzTh-M22~U%yQg(ssAO4|Ih|;YqrnKddi>c8Vs}%O2$XB9{7NqI(Mo zsAVPxD%!oca!Y=2;X?k&)-A_{PNpadK9$*IGH95Wq=R?4^1YG3LVd}}yNb60RLzA} zM4?v=ew%x^h!tU-+gZ?^9p_6Y*+N!DPJND61eVWEh2`Y5I|HR<#Y7kn@`c{J2kc-~a8gwrX< z;?{;*2%2Gdbzr{xjdThaz=W7q+%*2T-ICiGiIh1;c$Y~TbozzL3Jkwj$M zLiXWSmsaW!M?w;bb+y|BSq(Qsc+tU@{qDt{g4d{3dJEQ^{wX@)xJE0EUVN2{7ouz^zL;0@Z zUvOrgBg^P+JV8(S$f&jLP5DLJ7hOFgJK8FJpQc*+o7qV|JJYp~kv)7djh&crIWrqAH8z=#He5q`{ImiYv%Lg$Pccb6vIps3Bxzy4;F z+vNZ+&tCHhMWZ7~wA|D6H%Itj9R$3N4&KK`?gE7Mer@oNA80o|jXE@;wL#O0UTmk& z&7m3$H9k4n)a3QJjuzc3^j$IuG%l8_jEqJH$8pNq{tw1s@hbfzqOh0rkZJHy;b;@M zkA31MMjI6fOr{ycnJ5xM&HnMvIX$H?CP8sg8l`YwrH?@FUxPgJ>4U`XItUl);ykVG z3&F(C_gRGF`ZgPfJG&A7)T?!lHHD)Gez}==HDy!M&({Emm-WOC^B6vi?Uqp}gO;8= z*<&XAg-&TZC9&Hb!eq9(?6#GrQ!*1E3%@_Qgi6+OaLrrYli83F7`uq({Lt4;0&rYl>YvL+@tV~qJQe{rk8SvW^7Z^;QEli78tOSS?yEPM=zMb3aH1hmf)OGPLgI*o$3GHX&)g$TPyQsD(y^<@g5> zf{S+1*4kGd_5?UHyh`H1bxxbtvp&wfh?I*LuILebvdpgJYV7%{!3W{an%<HqB4|m(Wyl8?)<8hrc#HtAnD{rM~tz1L@_| zmY#FcH4r=rRz)1lh{~=7;j7Pbq%tWx?R2jDZ|~Z;zM;61t}sXbBVny2%0p;D{=96< z2nPUS5G5xPv5j|#)h~Q3e(+9R0u0_*yCJHf@nmJ{b=J5n3yX%1$lV{8v{MO`_M47UYP9L@<*3D54IKv&%Fu#qfR|fe&0NAXh7-!;R}#62&p+o!ro~OM7r6x6EMm4 zEJcB1cgqq)zS!rXz^CM2M{rugk%fd=lsnSPYm2une<(PYO}nr0RQ$)gYGV*=Z|bx_ zu!3?jN_***xaR7Dvh=LO)#^j0%b>73Hv7vWRgctb+$*R7!_eZ(74pZc9|JFeRfW8+ znUPx)Wwr&WqzJJl`nHurmvs2R%8L;tCGh`F5q67VFD z9?sqH2bdHBgn{`xYnAM!MJwuc<6Au+yy#NdCr4@my&yiJrCzwQ5OXv?tJe$legrsh zd$@&tHD{qw$2%|6akgfEen`8p$RhY50v*w}4(E}-@?L=G($TXz0}v!Zr1mpZU|Ayi zgy_->1Yjh;iXj$$0pXU3Fm%;*Lm)RMsref7`XSfrI-3Y{KXR^%F6OTJ#)kd);t76a zZGRVR;OT7(d(zOt0yShS#4;gby@=WsWYAYNwD1ZFB6dRMlI8nQuBBGx?syNwS&c#M zEl~WeoRvGz-_5cAo~T8uoPtg;FL955lP`Y$<2F&t1jsH*i&Xaq;Hv`Wd5num>xkh= zq-%4>>LCaMoO<3-Ty9Ib*c&Ywt>pJ7vBI(fTTP_8ufTCcCn0(Y#{A~2#NsC0LBdvP z9pIV1T2|LlU`JYw$CkYr-%(pOd5epaPR!{k66$i1lp$j3d6vJJ#Nf<%J*M8ifW!o& zq;+|s6zq~Lu>VI6@oy@m&o?}d3xT3|_xzo2l%c49euw*ivCySKxX}$nIe7(89>j%< zAXU)1XiZk-`O@dEvq4lSfc!3cjx*y@t6qKTAwRB>CpT=#sPXU)%iywWsMdr5%%zM^ z|MsAT*jK6A*kN;*QNGZ5)$;6M5FO50L}hI3(es>zFHEo9_ypvJw-ZD5pMVAPm+_iO zzSi3kN!O&CAjCvc)z0To8~xmHo6BXA+Z5DDe^L5qOF4nuv}Eu|iZA!WmCdvnJO8S+ zJg51PpsftiTH#5Lb&;KIF`{2$mj$gbp2toa@$@~s(r2IWQu67c0tgIkkpfiT2*>wT zBhxayjfQBIoTR(Am3axSV26D%gq*q}%$PM~0gL~%G=*6B;M^6be3~{Fd)u0hT0}JU zw*;DEc}=U*y5Z4>L0s!Ng7+AznGO_LDPa4)BmJc^Q*5uV5SLSzkjJoeT1PAgHfnRW zXc=|{#PguQoi-*1CAzI*>Gp8I6EVZgEw>AAm=k$<{{^090OuGeml7+^0i4I38&bas zc1E;aq|oJTIWEPDslbE#qb%%8rg`u|n~6m2Xa4orYP%0u@yn>1qKu_Ac0b~iA;6!e z<~^NTP}n@rvTXY;OoXt=lgml32N_xXs13__6|JG97?%9> zokbm>{!*-z{X4e;jCQHq?>a~lbzJXSai%Njr@x)?quN>*Y#c}yK z4uRz633h*Vx89g3?j%6Z$lR6pf~VV)waG#0mAg&n2U&d*aNvUVi>*6e+SSgMdPCF! z7`2uC*k7cjs~_37Zot`~@}Bv6(H9U0gX*a(lR!-eO4BnF#NyS&k*4i85^0Jsv~WS+^LI%gQQw`S(-plk0R_u%T{-DJbs9X2z3xV29oN!zH zQ&8EXKTi5RU;u0Fm5zfNtxUCxE&;r_IOJSLu%_1`$-Ddfo3`VoBRWo5`{RI39H4VD zNf&mchX1HxJ0MrYx&+ex%1e%{f-!&U$w{hexWF6my@wuluL7oWbs;!g0;j--D|M!L z1x^|_Ou?pt-@x3cjC7_~L!+oDoUS6pmgr%|vbW*kGoCA*8lq3(KG|BQ`*sy+ttG}f zlJ=wQ9*a}^!lDeMesE52Hk_GNqWA$Z*U$IG%05@8x;s-5i_Lz#l2S5a;rf}oiN|Q( z0o^SXL0hNbQDpqUip=9?x_;&YMT7h^u?V!L36 z3${(vXiLK;MT;`cnC8E)9?02#qgBrd$3}lFjIL)k4X4C8hxA8}EL@H&s|sk)F6Nc7 zi;D9;jR^X(E&!vsvJYL^^2WT3W2!Y3&X74;7VDs52fC11BTlt6Fdeaww2bge$@D9{ z2N*!)Fg-hGzMnN2^Q8~m7u^}jtgb7!m+5r`E6gOfWe$?j)>QTjLTW_rddv7#XYf!6 z{irR#R`Y(3sNNm*s$}`Y{${NKb_=b0WQU#P*b&*SQ|f}K==c{^yKtbeE_!xpe0um7jaNfICvK~qiEdB3Y?#Z4Ax-5y5Y z_{z3=YiPAl{t4ujp~DmFzs3XVm4PcUBR|BHxRZ;#{`Ja7RYO?|gH_!C@U4-YgSrFc zaSQ00q)F_H!j;yawWMx|%8*UE+XNs9o`nNE@uM%XV8}nR6J6`?+6wl@7t(s(bY+EF zg{OMVN47ysNUv^|wZ)*_ZTE#$ge-pck%w00&6gTZ-D|WFj+4M_Kt`|fZ{@-jrLQ8J z&^z!y(;A#Y(3vambts3v$X+T6gcurm`Rk|y6PfT=VNHdGAx$7)n3UVczu`UiDRSVh z#*?7P0wz5jz`cDX08Xp_kYw_2#GGpJ#TX7p-zGsX0VooHV>G*248pP)D3c^)*?Je8TEm zZ#s3TOnOz;9Hl%fXBqVEnUp8@{XPr(3gyC_@z@Ne13He)bI>g^4RkhOhUqIeCm4JtB% zlYR9P`??Wi&0K1;`105VU`~yOmnXDh-jcPG60gICau?35+_tvz_wQUbXUzy5n65(S z`@*kjbjZJ;DQA|NRc!*d)m(e51&YB_!G#VIF>SYdR;RG=O!hb>MvQP~0UpIvF{st# z)5;w3(O+agX%sWG=)a-(L%}#!5i<__Z(C;E_Mlq3%A5?Z?uK&{Cg6C!*l_*G8>tB| z8rx6BK8p5IH5L^|p71#_G_V312r*-mroVOLLrJ)N;jW?K>Dn5@L8+FCvvDdAo%#IE zLBmugNM`$7m0p<{Q@ME3PR7{?w-k(&z#~<}t>V8EFOgy5h&emJF-<^N9-4A zGHJ_7Ks_n9LY45#=-oio%Vk+s@GEe{Ri6BQfHD<>Q58z%|J@q<+&lh=3kK4{2%_&7& znj3eOvhz!tu&781flPb*nikxgBJ3(&fV5_p&!Ec6jN;#%4J1z!DPJA^oU+Nd+S#Q5 zXZ-4V+p0H#s7RcZa-DZ6!bXtqK3-|T2obgn3qQ%>i(1Cee|kaHJP|hyG2kQY3iYUo zmWa1T$iBEJPa*u|bz$8=MO?=6i8MlmbXkr7(seZA9LSu6Erl3-Zl_VoL_v!E(TB>i z$9MsgvNIlCDD_)sTPRMg3=kMhD-#fZIE*-|>vr#>RL|#(n{8pPMw*XTeoduR$qCJG z6xWfN5qG9Y`5*4%eTA%8$?Y0mTR73D`qy91;Nh$%H+8?TDz_qYyhMk=p8-@Dre}w$ zarGxh{mot!o_MxvJFUuj5989uv&fQBp$TU6EYg7m-e5s*%z5_Jb{cFvOS~F}u$aQ| ziz@QEICk4gSu+DlLAT&s>^2QFpZT&*nW?sVH8inQw!ap&=nmQGc7?h$4a6iv$!V_j z9qn&oAB*5r5!2)Ma-tRiS=V^#sXc0u)KMbTZHWCs{jHR7xK#%Qs_7F9jH>oYt=8G? zqSZ>VSgcD-Q} z@$?3jvf|~851vDm>JVDz=8EbN=6 z*NGVe%%QV;FFrcKn#67C$7(^q&&Q+l;hAO3oqvqi*SOPS{ofU?n*zaVqws2= zU|QfD|E6dveTLen69wNX&H{>Qe=Yc4UNaKAZ~&6SU#g0r00WNP_0)nP9QsQR1)j8) zTi9QmE)3-r2gC+vUE%+NzQ;vR!lkv@IQ0c{HLbO??I!b0=z_yI*M%Z}H7^1R#-PX) zdT-@DtZIq=?B%~z&16me>|NzO2uzEXkX>yGs%9<~I~hQE!QVdE+I?d(Hx@e=V1)JW zrxUyDsHuVz)Uci4R@$SLrXeiT&dLH%*?MM^kd;7Vk!k*lveq~gGxrk@x(?S-&UYp8 zc~jM{JqD9EJ~WfKT1hmPjAk}`cO-@W3KaI~0sT2716Idm#dktCtMMX9E};l>u_~Rz z%InM_r8QH_EteGFaF@E0OFFH(Eig`%=MDzEh0z&A9uQ~2o_x89>Q`wjv6Bndd&hmb z|Dc|X6I?J5dFf>LoN%^Pd8YWeU;jQlab}aE=i45BNpolEv&Qrx)@hmbQp41O!F9qb zew64GL`N~t0J-C{8BUHcB+!H-;s6Hz4JRNP*>@kw^g1ay%+WiFyKjbYi{QF(^M*Q} z{H2A`1w@b=1Fj3|6tUmB)Rk=JU1kN-)ANo5zQhi03Vc;{1-cLe>J}gufYG65&Px`* zu}W;79oH)OU_hV*gNEUEC{)*7BrQ;F$8DzDBdFQBK(!;%@--oPb0IoG{)oaHO;vow zxsmO%gyu#m^Xg{vEp9c-g__Z$_Wdn~x2>s<*%GpLvO5E6yH$yne(}FL{smwjik(l` zyfa|Dhk~&H)NoH$J4fsEDw9b#lPG@PzVZtLw@l<;O4c3jxZM2JLyLXTaIa*l;-#z< z#~8#lulypn)YS&+MJNlFGG(p3dFVF-#%th}tNM7rc#lfP1G0+B7h7xJpYBE=8Ac~i zA9%;V$x`jMfHoF+<{CSRPr>yaEiFT0-ppb=@dtn`O^pUb69>|@zVU<<+ED*Tm z@%kV;krYK}!%I-8Ose4Zz`%D)mo5#s-`o+=+ah9cj>wY`lbs&r+Q_?+av9AZc|VZ7 zJ&*OYQ5J0)iIdw2!#c)(@!lgsrT(QQR*N9fUM~1oh3z3M5SIJ6QX2v)>!vu`F&88@>p!S z1j&SQ?3qWZ9I4VSUM>`_j#6(VJgbr|r57k(EDbo0A>rk`#_(UObh8ol*HDy~im|B% z8;Ekiztt1yr~oqSgybL!<-rt^1}~5L-OG}ND>6lIB|?!CDpTfkn9S*TP7a*WS?o=s z(~9z`bWZxnqv!MZVOkNLKS+u=W}SF>uu-;6<>~t+lbOY&XME8k2=LG07l`kgAvV@! zSDau*6#G%0xEpPA|Dnmn?CZperl9sGe?4P1e>LHd@Db}fGEDI+Mk5QH>3MCfrbC=acV-o|8ZVIeCjk4F8~z+K`wf}mUYvNe$NC{{~z<) zmG|sa!|DH39q<21Uk;837c8PP%%|Zeu)@k7XGToVL;+dZWCs9PdL|xCnb9FtLSymi z_%~_Od6h04K<7s5SYDL?xkx~JIu5jU|>_hbpgFgmttLVuN@Fy7RXUxq=9y*NDv!AE;ow2?&>f1b^~VMcca!@7o65oR8#(x6#c)>qd5%=~68Ca}E?ZG_-*A;$&SzMN` zeyCxS{dvwwCTB1HCUnc7r!7%;ZeBIVB0N&mcYvgwPEV4Gl-E2)O}+)U_19cQctVt@ z>WeRrE7P%ddS&8^9&$v}=R{pIigb>dzrOhqOG3LAUFWBiXWGlW7cK9ed|uA9V@Ov~ zsm9*Fd-&ulYd~i#wU+87(Rgk~R>a}O?##ARWkEL zEom1qgI$~>{Pe@zTb*#L;tW#DWzFQviAClL$#04urFRVy7w&2_h9cP8jj68ka_p-W z)(q2i=7*iO#Y*nxCM{O>Pt>vK{6M@-qrn`ocI=Qw1JjO~Mk)?$+}hp&UNy`M*hkdW z&OPGu1}<#Q=CM7Z!N&!cqI&jR#w@^|xpgq~cktbTtpmcq5pHrU;Jx=qhemYe_?K49 ziFxYg%DM`^V{y)B+*O8QAg{&XONE7+HJ4U!m+}7Gnf~D$(suf4Yle$y{`Xc39u~g^ zH?pCP4ZaS;zn6n=GmdJDbK(k$-|`l0{tO$43s$K79pSh{2$y`%O3Ipp-tR!73E-QG zoCUZ>EtLgyOz0XND4?M1-6Wxq;h}7Q{26Pwb-C&jm2>luDsNQoOP><=f)w^e9>SWK z%1on+J&eDa)beh&C{1ER%<#gzFQB?R=P2v>?e&#as!z;SbShJQLsiH%X#(kM8IVbV z$?#Fs2ECtif+3@QdLmNwgiSWl%oyo*%j927%bP=0pHv@hJA+kUa-pJ>TBcBy$@-XZ zxDEGM=IUpRPSq(VNbc!cXK^uG5~CJqyH(CgX2BP}c2r%g6YL%hKqlz+p(%M)_VsD$ z>yazqdIhB8Zg_)jcB`#T+{oGa4(RvqUusxE{07o^JK--gi)NLbKgvD>F0aoT4bJa@ zRXdOcJ{`$xVjfv%f<|kq|AdEoBOktjwMCOT5HlKtd~|1! zlTI1Ow3&O<-+k?w@~i`7N076^$|xc2BcjXQole|)|GNJ0vdbd4^*AnH#mFIG(@oq{ z8#J{|%7^AWgu!ppT4wGH&N?6$h1EH2<^-L~HrIfo0G}IDRqu}DnbQ%%pnt_ zfv=w&FPd|?nUzYMeWLB=w?p+w_Y_#brZe$Ibi!T=+;#jDZ&{ta#nZ4YUIRqL;GFXw~>(L-a^Q-Gy#4 z<6n_BJ;Y}-pKW;B`YXcZJ6ko79t4bUweRzgdrm5GhQUMINC-FknO6oY%Gc{!}E4EfzLMcHgIU9v9ZRjQTwq zmd7u6#lm-_+Z~p0C1&CvqV5;DN4|ce;|1NYzEC~3$Hp-~e;@_hDJVp-jfdA+vROuU zsBI>LUs{7A3L#ZluZALKgQnd>hn_Ykowg8(j}s}kba!`tj6pY^*!m&$)5eqo zIFiSSjn-z&#s>Fq`?zyTdIM;~Y(A-E@aq_C$MU|{ZArR5-q|`{LOpFHxC8KZqj^0M z;~hcSX!(|G=Yl*ebIy(%*hG*V9LPHLh?~o95qI}X7lQARDNK!f;qWC3C~g2NNLf1- z`1b?POP^ucz_V1)IUnLs996)CSk%FrMPFdCw+@y@b8i68vs|xAe!v&f=-bn*6u9>^ z6Ict4*zUWO$5RFkz}#XTRdAeY0o>Oko25SX1Vjjp2Vf7C48}^}Nn~(`wY?tPKqO|w zc2LKe7}%pds|zrb8+;P@J`nuq0X(jSes(k;>^Xs#1oRpnzPx{JuyXja ziP^nCXYm^JV%X1smB7P)(LT9AIeYiS?4JWd0`1Dk4v<;p@CWI&PvGIf6SJqjmFOvt z^XbHKG{8M<F04591P6t&h3PLWkaeqMhKSB@J#)`i@_^2?&Kv@QSzeS zga5gfHrnC{`cQx;8hbqGq}u*n`z=;{Z@6i@@rt#W)4rzzu&4DG%RO@^CRc=`nSLv!g%F5rFz@2Oc^*zU>u I;n>gr1K2DZ#Q*>R diff --git a/apps/termtris/evidence/termtris_move_3200.png b/apps/termtris/evidence/termtris_move_3200.png index b05ec08048f8ecba398a27109a9a12ace133a0ce..3f6884b66ca290c4cb812da24e1ca36513285017 100644 GIT binary patch literal 22948 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 literal 19584 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 UCCo42IW?5I^$*#5j{f|A0O*-0MF0Q* diff --git a/apps/termtris/evidence/termtris_panels_3200.png b/apps/termtris/evidence/termtris_panels_3200.png index 0e67bdef2ce76e0fe832a612762286c675334328..e6767843cbec9c8759344e601dcd5eac9a5db8a3 100644 GIT binary patch literal 25726 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 diff --git a/apps/termtris/evidence/termtris_quit_3200.png b/apps/termtris/evidence/termtris_quit_3200.png index 24bcb9b5802a35f676b56651afa278dfedc83624..98f98978d6dd4ef4e90ba1feb60c1771d1dafefd 100644 GIT binary patch literal 22908 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 A?EnA( literal 19441 zcmeHvd03NIw=Zg~RZgWX3SU*k0gK8ID_RAFSQI6qpr`~5kSa3C5Rp-a#MV+33KT>T z3#15$2q7XvAP7+ruz-L}VU9u}hL9kH5HjEWCJX`XdG0;;`Odxfx#bTDu-`qb;kSNk zt^IoQxYgm$SFBl~q@?sY!s4KflF}#O3F-0shc?|@yd)8$z#gSE$6>SNP zf5Q?jZkocsp-5u5d}c0ujPn;vNmT+p(VCNjRvNxe#oyUC3LfRf1&4^uv&8)#-QM$2qA{conp73KO-{i+FZ8`#k2tm_p@f8ieYx%xM@ zshh>mzo|Tqv0ne~7k`A4{R*XDgU&$H_wpBi(N6%M5Wd^hL}e998AN3?E&%WUVqb-l z1sD)$Btk1q5{t`Vxk!rAh*Sp^B3KMo$e=OmrOTUAS99v6i+{s(3Sdi&(Y9co;6QDu z@_sf!+J+m#Eh-sDYsu8!JbFrZN=2l8byE82Cy7?SaEfMTOA7t2 zLTO5FF_M+IMN^){tU!tS)wbJW223d`TO>PT_Pb`>qP;vyE>FDp5suH6&sB9q_#XUP zfWvS)r@($->%Vic3yZBzAYAD(h880-z++Q_<|z1?(JO4A1I%WL+@7bDpVGT73R{HA zPlr#TP{l*;qmTs4@86Ox{iEDXBA}FD2qPRcU$!$FUc^#qigf84-{Fsp|AB6~NAefd zL6FhWU^w6v5`(cj|69q{5V zAy!_`(lRNH0o$DD82|l>`4~ujeQ{y44_;RR4_?M&&`P#EbU=?;Bo*2ZqC5xFphJ2? zvJL&!E6l!4Gl*pkLj;H6zXkdiA4J$B&g>w>G-^026qxe_r)V@e66|hONxzGPJ|q!D zSf{teklIw9F!3pI6Yorcpqrg^yocbeHNa|(x~azJ#t(Ss-8`K-8XuagtCt=PR?c9H zO9_-dJj*(Ll5#>~6gTmETVR8;@DN$#P_rksM35u8Szo{J`HzRb9$sT?Or~g+6I%is zBCVf@3$7*ciz;wG-IT1u#AeXg6Dgd2RnDS2Nu@DMqIP!h)etuCn~xbc&_6Ta7_W1V zUM}Ii-;7v+PHtT3GK4g0+Im2&qKUAX8vi{Yx$#TzE52m83!j6I)Y^7|q3_U>my}fc zJ2Vr+RicBidC=@&)SEL98ok4SQh8$N&KsPHDscWf43&S##fANDfBJuL;h_?b6B*5E z?w+rc*D3cpk}WYQQT6pbH9YGbb$IF7RoQ-SYf!tgQfm4GSH2p3(y}+R%+IIH#bwBQ z<*wQvvhaMOUkIK;@P3^NLjhw)T3RJbvIe%mtUBXfVlfX(gSa7S7<1+Q0~j)0lD1U|^qn@^}ko`TNdi^`f&h z_%mJH+&%-=gN1g<7GgJ7vF;`%l^Hf|y_SL9 zBdwv_LSmDJNB!V2aD$?+XKYnql88tQo3xKZ=Jliu^!i(ujAv0Qid2c6nG@0Dc9c>|eErZN0KWgF(iuzd@YkS(vN zS89buXUUdXi~8r8h!t|5m_u3V)yXjmkxVq8i=+bWoH6P$F28$N?UlPUf3M%YfKFEr zX}WM7>qSUXfVG{tt%2f5X&9y%jp^ql;<2b(I}AAHKyVMFZ#n3?@GhKNV}jUQ#2Cbl zZYd(W)=*6IOr(ByTN<3kxJ|jK3D+IZ`Ttt2c~MFr3V*%h+hDR0hc=eB52svUBCk7^ zTDqq)rS?F?<8u8ZD2IiKi749?65V=_qaLn=TN|=3EBJYebj@&|#3^4|;>jwdubvcD z3AP*aNO}8s)gfjBx7QMBCAU0H!u(UeN4oh42n~PM*C(!Xi+^SX=b%&E8qw|;cVR7> zCatAvGdfanMz7rI`FjJa*N254aJ@XRl$dOR97^`J?g$qafy6%^xBi4;IoWqFYD_yG~D9TB-a~pdT|-Q0nd;ah$Db2{%4qEz7@V7 zh1#WEV@673H#2f0Ifl>cMJo>{IsGIxIeI)$ONsKGeu zBvzoe$kg~w5}GO0zB34R6LD$*)t+K3 z-k2hO2sUrC{BZ`ogAF^@8CLP80fAxc2O$wyNWc;hR47bd(iJP}0CIrpSmnR;RB`>V+6s-%q zBwJ%&@T6t1v-i?(0iyZVZD#al)@Arat)iTL-0dK|nM1q<_bCn0t0{+KOM|t*Ja#*K zXAVGjnxPsd3=Mlw;$T^8nTQxzvkhBxfk&QHMWVHFn<#%mz$VH-ugdP%F96aP#5#=) zdOtv+9G+PSkmRFls1{>6&Q5xTbWEFdJ?u30$teDZgcd`>h9V4VWqUoAZs*y%WmOuX zWwfSF>N8Q7X^`e)3T%LuK{~{rnoCjLp2m{h51(Wm5GPqi(Isdjj8q1 zF+WSjQMY83oW#>VPA#cR~C^mye~E5-{qd>gk?-})!FNV(I^E-JOLDVlgPmUz@{wrQ#z>~~;NjAIYw;thDzha{a|E(GKPw$86lwM0 zi&(I3pP<6AslC>TAF_mYIYb&d*meiiR49NmtnQF zKcqZ(fjRJ_pmt&MW;aANdGDs!tzrufDA#z|E; z&e{q400JIBEmD&sn@kOh5J%dgy`+|`PL4pwkAEQeFym#rw#~pcV?3Zjf+w{k z&PkbK8%NCJRy{sH7)vYU_#^VA!#gwkqy@GEZEJAnxh)syb>5#p66g=Jv?WU??v9_l z*U=YL+W@H9L(}C@xyd8h$?s22RXh&NO{L4{b{l5qXl=rtP z5*fVR+E*|ztch`wEl^EV@-Sq}R3-AX{jJzrC%RQ6Cp^Z?jJ>Ptw6RYh=2W5dVnjwn zZaJlW#$UW)sjfqePrH9;72r=lpp~B6;yQ#=6deFybmgn79&G@VLOiMnru3~)xKS0glXVD%Hf;aTAE06~)U$d|P$ zP3>y0{>*P;K`veukx?=SNleoipgCg-AOR$WV?{Lxk1B>KBXLAoPVp zm@^g8U6ir54t5lq1i_GeNrrxy&)ZFmV19V%Cw6r{t`HYf*Dl;t=#TQr7^2&~n{0Lv z^aPvR)C?;dnEd5xynu;;xQC@T$&i|Csp+Ux|=^iouwRjHX@1ZdT|Rb8+W;V}MtL0~_42U`O_L*L;po z@5q~2LG|nn+eH=wsv2DfQB|)LY}^nMeTT6T-aQ@TZf}a${DS~^<{Yqt{lB*{w;3H* zE>MDZK|C1<_JllYLp<`|EcEeiZf}8wfbt>yL#m!N* zv^{oL=6pN#3z@SF*1%)>1J=IB{3>Gs#veDgh=L(a8;Nm@xv*)(@RG3#n`)3YKpU3W zr{sXRM$Z3;Ma>Krs<7)RZM;$=B(PD3Y>Q#X`TN&n9ArhhF*yV8OgYl_*Oa_3Gb<-z z{Q|k+N$bZ8Ab5iqBqGl2HoI9}O)pLmkG`{X>UH$anon?0D*65c2?B2ecGv&hyqP<$ z?7RF?!axH^4A1CWxykZ2K^NKF=K6e(0tLV+^%KP91C$mXSjQEq8%MsaxXz8Ua^lnA z^rfiDZy)X_N(<7qCvQuy9roOK9pJfXlBvaC6wM@bo5s`lm$S;=U%Y#gY>BtawHQXt zKQ*B{XLL6zP&3L~ntvnIUeNG0Kc%9G&|=*zn!mG|tPA-1Ce6D9;ZrWMB^ey=jhVTP zbe>yn{M#AFm2aVkpp3Le{py3v11%l*41u-8s=P`x?hThu_u{;{4Q+w6%-xv9{T8n< z^!(4TZbqr_XEcTmz}Eqf)rgb@_}YB4AAPX=n_s0?G@xd@L%zkZts)fdk9&?>D6I{M zx0ZqKyo=kcxTpWbya((KDy*(56)9iMU^S>(TauzRgAW4>j~opmbZ0LOTA zmlbR9Mn*cp@ff$7&>JxazxbZW=Y{ly48!@L>X#?D*hQ|e=@YdM)vOzgZ4X7yCQrjA8`( zvWraEYs2ZD3jpO8V*N6w_n@mk8~i|2k2r;{zIr)$XQ zKhyl&MOyH>T%9&)M#v=1SGNmRBz?fTk|Ls)Qv3&XFMryA0ioD0Z+dCQbVN?Uw?}T0 z6(y|V@hom{D07=^=@juY??z^!^)GEI539Y6mvtMa9V(RVJ(GNTeV3ubox1Sd|60Zc zPITGFj5*mwTEC2WzG_R8M7tNK+g0N%J<-iKipq~k-I&g!a%Hx)J@5Wx)#*`t``H*S z0(O`!t7()*;3@^F6=W&Z2}C%dN>2mTy*_k8>+5n#-aMHxp6fo134rngI6>WfI~3-) z4=V`j6o-IypeoXddoxL~3V9>O4ZcGRY9-T#w;ya~MC4?L`Lr2l%^KKQShGr?_$xPx znb@bf&#MvL*+rnzx(u!j$qzXzrG+%i#A6jgsPnOd$WY-BK!w?76*dZp`DE@1Ef#TB zb9`s0T1L;}ZbGc+Ox+!kA=b-MgIAqwX0Ad_bwc68)aUbe)LP74Wbu=dDNF(N=P?>X zxIIBPPCuak@!5x58?l^kP7Z^RJh;rwqfT_CtD85%c>!|nH<*F}zN#pt;&HmpY6Q#5 z-qy0n@rYyZ%NSoEyC5zwSBPFG!L37tsbQ%dAk6T+*oH^xj>mkB$TqR9>=({Oru9TA8gp1`bWd0rev4e}e0_5>Ez%O%CcCUN|e3bPvZ1FVz zepokpb-o(fH9w*TJ;aJOg=1|YdjC~p2&nOsU^B}&Gk=BIMWzt>LRv!vAv*7rR*|vK z8NIgPZC<+52nUi3P@>cT^yOmULT&4%=uj*jJ2z!Nu)|r9JN`~0ueM4*QaT( zS1!+0u!DXcM8?a5&2-G5aBEsgKQQ4qOPv52!zgJtLG+-QB72*eD20EWjXg} z*vpL|?6LKa!JFX?5NB^wJv+Bd`|U|DAq!Z-Ihq-7Ca3VrQ%!8MAtX+PL2fi_1>nrA zI_LJD^=TfQH!5ye;i$cR?Z>of z_YAovU|;|=@S-eo$Ym0T+%rA^m7E++fP>5Fr+&?O=C!{V^Yu9z;IJy4OqFqTuW?^h zL6?zOD}^bG4T=^!UGB&p04u+ht*ijO@lVLHvXakxC{oGOfsb3^oZEcLjaFu9jP{>V za9*2#m-qZwMB{c zLgg8NCgxjZ={XSBlpvm`eE&9ih_FU4S<}@Xwq5RzXdbQW zZ5?5_)ilfZ141{Cs!a2BW{_@$sk6s*g5^{#c;>4HOye5!X2~??wV%f56p-#bZ>_L4 zv@>9a=vJ^PMV0O0q0aag!zFZ*Eb89Q*+$thLpF&&n#UfI^+AA5%BFAc9UhTQPlS^5 z4%z5wfYV9OQU!7339cDR zeD&)>=bp0TyykqN#qf#gL_tm6C0OnsvO=rP%P!?rh{HL=`vj(kf1}?_MJgFogFzO@ zS{jj&-iB;x=YnPxdB^m=TqgnXIur8aCWafo?UcP6H?<1G(X+e?%I}kMQVT-%Y1kPp zhwN$2=5y};bUfg+1jp_w(O2(kzur`s(*deBA?;h^CXwi4C@OV0Re_=wOjFcXK-KRq zPZc{}=qh~+PA*$F2YIsG$AjcIozFK|vlZk@UI$2RQh@i~<#eiDq=nJz_O^HoX5^NB z{g$U^qm8F2mVXF(^kksQ)Byn24$-~skw=ZcP5zP74S8vf&u%>&@^FsvDg|*>fep#p zHd)a%_v+qu2gkb8f4OxDE6Y^dfFdN{Im}c$=&pRwqA6GHHF=}b#UOlTZ^ZvA=B9XK@Ig@f~1Qj zV_ORrRBY$`ZyK~gvj~5NU@?3)Y}SmRJ~X*p;8@_#d;LxTp>Y|6#xpgy56fX10ESo6 zAQ;~6O^x%`rA!+$C`)~ICXCog7P|S(hw4`_%Eyva(H!xII`_W3yvq}qSHq! ztIaR^e9~lrx<5dVQLRw-Q36*T$d+jP5)1Oe`kSnChDMPrhL6t|hO8++5pEutVfw$J z?`hHd%5DvWd6#d>cA8(>+hzvw(R+q-F=%^lrV8w|7FT~3ueaf&td?A5Em43r= zB}l+R4%{q3uBY_2z}yynu@RqF&du{j^54FhX)l1fAAlTnb^WnA+Gu-qFuu)|bw!ZC z(Tma;H{tDLMy$>feF0OYdhYvEPK!a#23!+Z68g_g(#OOal46L1X9q%AE(5_24G-`hOJ8m=^13&&v=S4|Re z`9ZL%SO&Z~n z@VsTceAUeiwnE7gT$pKQwei-VHeq59K~Wnr!}%D}F@6I)`7uz7(u?WX^toPdCOnP} zoFK7CA^H6`H=ne&odRa=)w?PCzPVhNm4Gc)mWvsZ~f!^{IUBHmF2Ff zDY&y5b<)9UW&$J&YP>q$RF&;`oD|dDcyVN14HwnXMd^6UWa1t+GOOV?4#i9BI5P!w zSxJ}?shr3k!ep`-6lQP%K0!_mH0P!E=d?t$<;t6Lm@pk^= z#-NuW#jP#aUYt923L7SFqclsP#VcPBedOKLt6Jf(-b|Rj{ZL{fr6|A8m3t;c^5V16 zE9xPAWd3FY0D|hi0EqB0h zkJ_;v>wK1d;O-`bibT<|HWefZ+<5IJ?O9pV&h#t~uaq8;+aNR$2`DZ92MbsVbRkdh{GPcDeqK*Rrk?*>BH{mW&;2*` z&SYAF>7Lc%&SfRDzCWKAfp#5m)~fKx4CccAD|7=8xN&60%CtOSk`Ano#Lufple>Fg^l}B!|ty!X(V)m5G3T4@oVr%pNEyEWD zl#9yUN6%yz@?!lSD0FD$$KW0dX*`ly-Z)$kZE7w^SJ#A)~D(g^6%e23sbzB?LiEV7@w`T)A{M&?!hu#uG{(JZL+^InNINNr9lwS9pmR&EaL4;fE_n#s4_6NFv=F2KI4`-o5Y7en z!y5RNp-xVuwut4K=&f+pym$nz=+@DGpERU0@0@oUcuU7{bu32pDVL^X9RPVt8Qi!F zYspjJf?CUA^x~U>Hmv&Qa_!&Eklc z_uwrUGyeJe*b=gHkJ6X&`vXtK_MS=hlEBfs-^XQSCF1_b(yLm=d>13^=U&V8ExEQN z>bcXtQqgGN?rU0z7;o;aUD6vw&6R7??at=PSM7OSRsH86j+gf}cuB&Wf7o>_Tfi5d zk$x>YvDVeAvRA`x6}w;Xwto2Ap~ek}W?xjh;FGDv$K^q-1Rtq)t4_*xFtCW5=t(Ft zl?rc2kBT1XC8&PiZrJne$3t(wO`X|Z;Hl7udEV=ICr~gwTUpU_CHvj^0Z~FO>eJt} z7#f3`_jB+M55T2Ie~UoBiqU z|797cmGZz*;WUS!5mjfpF9j}J6JAz=1uqQw6`s$WCf(4E!TSr^+ZA?b>XTv_mq7|R zf9|(+7rZLfHJoJ|OJj2n1bTB?3KG#1p0_CN&T^IIPj)J?#i%sb)BeS zWvC(yDZOUb%@^XtG=GcIUoc}xca{F4WY z(q$zA?d4H>?Y0~F1+3P-Adz+8-v3Ls5DmKx(aZ?$jmo@tz!ix#lSdB7US(42hHXI@ zIS|Y8Px-wYskOF%k}=3+dT>As6tPWQMhlm`*3$fXL!Rho`{%$Lepe77PME2M$YT2M zNr+gP;!w3bNnW~}))fhTB+ifQ80eJ!uBr1j{x{imm1Ti``D2i1q?4B5eK9K2TX(gF zQQ5d^9OR;x)Tt^wG|&Nt60gPZD`!{RyiP07fp1LQ0ZesBsQm`3U%Um<`Fg zbt_`VJ`~BI_66A$w`Up-p8Fu{T6iuQrJGge0+GDjQg3t}x^fH|z03;co$GY+Z+uyu z=($rUWL5J;!e1^Yd9&JGcrK{!_m4lw)fv~C>4#=orhU~QJ#H#$TKl`^&Ie~X>GIMg4-;a(W@1aJyxqqmvREbua$uNEefE!1@Ubi zrWNHqil=e1e$Ay_J9E zDj`$WR#cx>1YmF%xIlEMd{9Sdsjj0Cs1mfQwowdY9<}EGPaFi%{5sMC*Td1dP}^7a$IRK$^Zl3_uO}$)7!L zc)Joff6Um;gj`=@6KN2$*%3!a<3(BYdcYAb&YLy0tjmMe(G=SS3mU+u8UP-GQi#q$ z52{rYbK6)su*bt~?%lXR|0l%FMS+fzfH8dkL|GoLjKi{w+m+XU;NhHZql>vcp#u*o z>_=oydukNC9G7u`Lz1#zCq5K&#p}hs;6+!0-B+!euA)=WQKt@C+UDo8QjABhbP_r1 z1UiT5Gy`k&9;2~U2#^BfQs+WT%WBx;Q-j?|e0PA*8Hpxzq>c4dCzxf=O$IwfKS!gBvDpF)!IV@dV!0NfACBdb99@~3u5@^;7NQp={_Wu`yGn=Nf}Uq{ z{|$WVf7x5UL&~jkevf(P=R+M~r^vvuApkyU`ZXckw=VZg50biF5Zv>Sg`S4!=&wzH7 zqz%}ge0ax+A^GfvGqX2>`;zkgeF98WHhdYl_AMV?Gc)_w6}ZLn{Qi7L4EScT@V_9;q{l^UV0-G@ yojZ1Hu-oA0eA&z0`<&;7tpPjrcW!WTzw8CgwM`fv_6vAU31Mz^Fwg9VpZ*7TI6zPU diff --git a/harness/mame/TERMTRIS_REPORT.md b/harness/mame/TERMTRIS_REPORT.md index ba7c056..6bf2b52 100644 --- a/harness/mame/TERMTRIS_REPORT.md +++ b/harness/mame/TERMTRIS_REPORT.md @@ -12,15 +12,19 @@ Full port documentation: `apps/termtris/VT1200.md`. ## Build ``` -apps/termtris/build.sh src/vt1200/main.c src/game.c src/vt1200/scoredb.c \ - src/vt1200/x11.c src/vt1200/compat.c src/vt1200/xgfix.c +OUTNAME=termtris apps/termtris/build.sh src/vt1200/main.c src/game.c \ + src/vt1200/scoredb.c src/vt1200/x11.c src/vt1200/compat.c \ + src/vt1200/xgfix.c ``` `build.sh` runs `gspac`/`gspopt`/`gspcg`/`gspa` and `gsplnk` through `/home/arti/os2-work/2ine/build/lx_loader` against the r5.01 SDK zips under `tools/tms34010-sdk/1990-11 TMS340 Family SDK/`. Those 2ine-hosted tools frequently segfault after writing their output, so the wrapper treats an output -file as success and retries a missing one. Two quirks are handled there: +file as success and retries a missing one. A host kernel without +`CONFIG_X86_16BIT` cannot give the 16-bit OS/2 tools their LDT segments; the +wrapper detects that and runs the same loader through `qemu-i386`, whose +linux-user emulation implements them. Two more quirks are handled there: * `gspac` needs `-i.` for the angle-bracket shim headers; * an empty `.cinit` makes `cinit` point at `.text`, whose first instruction the @@ -64,8 +68,8 @@ a single `XFlush`. This is not an optimisation for looks: * an `XSync` per row **deadlocked the client** — the debug marker `_vt_x11_progress` froze at `0x00010014` (row 20), the main-loop counter stayed 0 and the game window never got a preview piece. Batching a row makes - a full redraw a few hundred bytes and `loops` reached 300+ between frames - 2500 and 3200. + a full redraw a few hundred bytes and `loops` reached 650 between frames + 2500 and 3200 (VR319 default). ## Timing and keys @@ -82,7 +86,7 @@ which draws a bogus piece over the top row (blank border plus stray `X` tiles). ## Reproduce ```sh -cd /home/arti/.local/share/opencode/worktree/26e92e/termtris +apps/termtris/verify.sh # the whole acceptance run apps/termtris/tests/play.sh # load, click, snapshot apps/termtris/tests/play_keys.sh # move / panels / quit apps/termtris/run.sh # interactive MAME session @@ -93,16 +97,21 @@ The run is `VT1200_SKIP_LEVEL1=1 LOADER_AT=2500` with the loader payload at bit `dwt/loader/build/loader.bin`, which places the sections and calls `create_process`. -Last full acceptance run: +Last full acceptance run — MAME 0.289 built from this tree's driver at the +**VR319 default** (1280×1024 active), which is the real unit's monitor. The +earlier figures in this report were VR150 (1024×864): ``` -move DIAG: loops=354 events=18 focus=00400001 quit=0 -panels DIAG: loops=346 events=12 focus=00400001 quit=0 -quit DIAG: loops=300 events=10 focus=00400001 quit=1 +move DIAG: loops=650 events=18 last=3 focus=00400001 rev=0 quit=0 +panels DIAG: loops=648 events=12 last=3 focus=00400001 rev=0 quit=0 +quit DIAG: loops=555 events=10 last=3 focus=00400001 rev=0 quit=1 ``` `focus=00400001` is the termtris window, and `quit=1` is the game's global after -`q` — so the keys reached the game, not just the window. +`q` — so the keys reached the game, not just the window. The event counts and +the `tick=887` are unchanged from the VR150 run; only the loop counts moved, +because the VR319 raster changes the emulated frame rate. The evidence PNGs +were regenerated in this run and are now 1280×1024. | evidence | file | |---|---|