diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 12:46:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 12:46:01 +0000 |
commit | 23c86b12fa7151e0942d1c0d12e926816e25cd72 (patch) | |
tree | 37c8fa89d7982fa5c44fb83e5275791a93b9141e /terminfo | |
parent | Initial commit. (diff) | |
download | screen-upstream.tar.xz screen-upstream.zip |
Adding upstream version 4.8.0.upstream/4.8.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'terminfo')
-rw-r--r-- | terminfo/8bits | 17 | ||||
-rw-r--r-- | terminfo/README | 20 | ||||
-rw-r--r-- | terminfo/checktc.c | 204 | ||||
-rw-r--r-- | terminfo/screencap | 23 | ||||
-rw-r--r-- | terminfo/screeninfo.src | 80 | ||||
-rw-r--r-- | terminfo/test.txt | 603 | ||||
-rw-r--r-- | terminfo/tetris.c | 20 |
7 files changed, 967 insertions, 0 deletions
diff --git a/terminfo/8bits b/terminfo/8bits new file mode 100644 index 0000000..b616622 --- /dev/null +++ b/terminfo/8bits @@ -0,0 +1,17 @@ + +We test some umlauts and other characters coded in +the ISO 8859-1 (Latin 1) standard: + +umlaut A Ä umlaut a ä +umlaut O Ö umlaut o ö +umlaut U Ü umlaut u ü +sharp s ß paragraph § +e + / é e + \ è +e + ^ ê a + \ à +u + \ ù degree ° +log. not ¬ + over - ± +<< « >> » +fraction 1/2 ½ fraction 1/4 ¼ +power of 2 ² middle dot · + +--- diff --git a/terminfo/README b/terminfo/README new file mode 100644 index 0000000..45b39e6 --- /dev/null +++ b/terminfo/README @@ -0,0 +1,20 @@ + +This directory contains various file for termcap/terminfo installation +and testing: + +screencap Termcap entry for screen. Add it to /etc/termcap. + On NetBSD, you should run /usr/bin/cap_mkdb afterwards. + +screeninfo.src Terminfo entry. Use 'tic screeninfo.src' + to install (Sun: /usr/5bin/tic). + +checktc.c Termcap/info test program. Checks margin + handling and other things. + +8bits Some chars from the ISO 8859-1 charset. + +test.txt Test file for alternate charset. + +tetris.c The popular game, by John Tromp. This is one of + the winners of the 1989 IOCCC contest. + diff --git a/terminfo/checktc.c b/terminfo/checktc.c new file mode 100644 index 0000000..ccc9485 --- /dev/null +++ b/terminfo/checktc.c @@ -0,0 +1,204 @@ +#include <stdio.h> + +char *CL, *CM, *CS, *SR; +int CO, LI, AM, XN; + +char *tgetstr(), *getenv(); +void PutStr(), CPutStr(), CCPutStr(), GotoPos(), RETURN(); + +main() +{ + char *term, *s; + char tcbuf[1024]; + char tcstr[1024], *tp; + + if ((term = getenv("TERM")) == 0) + { + fprintf(stderr, "No $TERM set\n"); + exit(1); + } + switch (tgetent(tcbuf, term)) + { + case -1: + fprintf(stderr, "Could not open termcap file\n"); + exit(1); + case 0: + fprintf(stderr, "I don't know what a '%s' terminal is.\n", term); + exit(1); + } + tp = tcstr; + if ((CL = tgetstr("cl", &tp)) == 0) + { + fprintf(stderr, "cl capability required\n"); + exit(1); + } + if ((CM = tgetstr("cm", &tp)) == 0) + { + fprintf(stderr, "cm capability required\n"); + exit(1); + } + + if ((s = getenv("COLUMNS"))) + CO = atoi(s); + if ((s = getenv("LINES"))) + LI = atoi(s); + if (CO == 0) + CO = tgetnum("co"); + if (LI == 0) + LI = tgetnum("li"); + if (CO == 0) + CO = 80; + if (LI == 0) + LI = 24; + GotoPos(5, 1); + printf("******* cl capability does not work !!! *******"); + GotoPos(5, 2); + PutStr(CL); + printf("******* cl capability does not home cursor *******"); + GotoPos(0, 0); + printf(" "); + GotoPos(5, 4); + printf("******* cm capability does not work !!! *******"); + GotoPos(5, 4); + printf(" "); + GotoPos(CO/2-12, LI/2); + printf("Your terminal size is"); + GotoPos(CO/2-3, LI/2+1); + printf("%dx%d", CO, LI); + GotoPos(CO/2-2, 0); + printf("top"); + GotoPos(CO/2-3, LI-1); + printf("bottom"); + GotoPos(0, LI/2-2);printf("l"); + GotoPos(0, LI/2-1);printf("e"); + GotoPos(0, LI/2+0);printf("f"); + GotoPos(0, LI/2+1);printf("t"); + GotoPos(CO-1, LI/2-2);printf("r"); + GotoPos(CO-1, LI/2-1);printf("i"); + GotoPos(CO-1, LI/2+0);printf("g"); + GotoPos(CO-1, LI/2+1);printf("h"); + GotoPos(CO-1, LI/2+2);printf("t"); + GotoPos(CO/2-15, LI/2+3); + RETURN(); + AM = tgetflag("am"); + printf("Termcap: terminal does %sauto-wrap", AM ? "" : "not "); + GotoPos(0, 5); + if (AM) + { + printf(" am capability set, but terminal does not wrap"); + GotoPos(CO-1, 3); + } + else + { + printf(" am capability not set, but terminal does wrap"); + GotoPos(CO-1, 4); + } + printf(" \n "); + GotoPos(0, 10); + RETURN(); + if (AM) + { + XN = tgetflag("xn"); + printf("Termcap: terminal has %smagic margins", XN ? "" : "no "); + GotoPos(0, 5); + if ((XN = tgetflag("xn"))) + { + printf(" xn capability set, but terminal has no magic-margins"); + GotoPos(CO-1, 4); + } + else + { + printf(" xn capability not set, but terminal has magic-margins"); + GotoPos(CO-1, 3); + } + printf(" \n"); + printf(" "); + GotoPos(0, 10); + RETURN(); + if (XN) + { + GotoPos(0, 6); + printf(" last col in last row is not usable"); + GotoPos(CO-1, LI-1); + printf(" "); + GotoPos(0, 6); + printf(" "); + GotoPos(0, 0); + printf("testing magic margins in last row"); + GotoPos(0, 10); + RETURN(); + } + } + if ((CS = tgetstr("cs", &tp))) + { + printf("Termcap: terminal has scrollregions"); + GotoPos(0, 5); + printf(" cs capability set, but doesn't work"); + CCPutStr(CS, 4, 5); + GotoPos(0, 5); + printf("\n\n"); + CCPutStr(CS, 0, LI-1); + GotoPos(0, 10); + RETURN(); + } + if ((SR = tgetstr("sr", &tp))) + { + GotoPos(0, 5); + printf(" sr capability set, but doesn't work"); + GotoPos(0, 0); + PutStr(SR); + GotoPos(0, 6); + printf(" "); + GotoPos(0, 0); + printf("Termcap: terminal can scroll backwards"); + GotoPos(0, 10); + RETURN(); + } +} + +void +putcha(c) +char c; +{ + putchar(c); +} + +void +PutStr(s) +char *s; +{ + tputs(s, 1, putcha); + fflush(stdout); +} + +void CPutStr(s, c) +char *s; +int c; +{ + tputs(tgoto(s, 0, c), 1, putcha); + fflush(stdout); +} + +void CCPutStr(s, x, y) +char *s; +int x, y; +{ + tputs(tgoto(s, y, x), 1, putcha); + fflush(stdout); +} + +void GotoPos(x,y) +int x,y; +{ + tputs(tgoto(CM, x, y), 1, putcha); + fflush(stdout); +} + +void +RETURN() +{ + printf("Press <RETURN> to continue"); + fflush(stdout); + while(getchar() != '\n'); + PutStr(CL); +} diff --git a/terminfo/screencap b/terminfo/screencap new file mode 100644 index 0000000..4820d92 --- /dev/null +++ b/terminfo/screencap @@ -0,0 +1,23 @@ +SC|screen|VT 100/ANSI X3.64 virtual terminal:\ + :am:xn:ms:mi:G0:km:\ + :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\ + :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\ + :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\ + :li#24:co#80:us=\E[4m:ue=\E[24m:so=\E[3m:se=\E[23m:\ + :mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:sr=\EM:al=\E[L:\ + :AL=\E[%dL:dl=\E[M:DL=\E[%dM:cs=\E[%i%d;%dr:dc=\E[P:\ + :DC=\E[%dP:im=\E[4h:ei=\E[4l:IC=\E[%d@:\ + :ks=\E[?1h\E=:ke=\E[?1l\E>:vb=\Eg:\ + :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\ + :kh=\E[1~:kI=\E[2~:kD=\E[3~:kH=\E[4~:@7=\E[4~:kP=\E[5~:\ + :kN=\E[6~:eA=\E(B\E)0:as=^N:ae=^O:ti=\E[?1049h:te=\E[?1049l:\ + :vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\ + :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00: +SB|screen-bce|VT 100/ANSI X3.64 virtual terminal with bce:\ + :ut:tc=screen: +SH|screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line:\ + :ts=\E_:fs=\E\\:ds=\E_\E\\:tc=screen: diff --git a/terminfo/screeninfo.src b/terminfo/screeninfo.src new file mode 100644 index 0000000..c5f254a --- /dev/null +++ b/terminfo/screeninfo.src @@ -0,0 +1,80 @@ +screen|VT 100/ANSI X3.64 virtual terminal, + am, km, mir, msgr, xenl, + cols#80, it#8, lines#24, colors#8, pairs#64, + bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, + clear=\E[H\E[J, cr=\r, csr=\E[%i%p1%d;%p2%dr, + cub=\E[%p1%dD, cub1=\b, cud=\E[%p1%dB, cud1=\n, + cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, + cuu=\E[%p1%dA, cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, + dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, + enacs=\E(B\E)0, home=\E[H, + ht=\t, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, + ind=\n, is2=\E)0, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\EOP, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, + kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, + kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kend=\E[4~, + kich1=\E[2~, knp=\E[6~, kpp=\E[5~, nel=\EE, + rc=\E8, rev=\E[7m, ri=\EM, rmcup=\E[?1049l, rmir=\E[4l, + rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7, + sgr0=\E[m, smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, + smso=\E[3m, smul=\E[4m, tbc=\E[3g, smacs=^N, rmacs=^O, flash=\Eg, + civis=\E[?25l, cnorm=\E[34h\E[?25h, cvvis=\E[34l, + op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\054\054hhII00, +screen-bce|VT 100/ANSI X3.64 virtual terminal with bce, + am, bce, km, mir, msgr, xenl, + cols#80, it#8, lines#24, colors#8, pairs#64, + bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, + clear=\E[H\E[J, cr=\r, csr=\E[%i%p1%d;%p2%dr, + cub=\E[%p1%dD, cub1=\b, cud=\E[%p1%dB, cud1=\n, + cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, + cuu=\E[%p1%dA, cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, + dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, + enacs=\E(B\E)0, home=\E[H, + ht=\t, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, + ind=\n, is2=\E)0, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\EOP, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, + kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, + kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kend=\E[4~, + kich1=\E[2~, knp=\E[6~, kpp=\E[5~, nel=\EE, + rc=\E8, rev=\E[7m, ri=\EM, rmcup=\E[?1049l, rmir=\E[4l, + rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7, + sgr0=\E[m, smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, + smso=\E[3m, smul=\E[4m, tbc=\E[3g, smacs=^N, rmacs=^O, flash=\Eg, + civis=\E[?25l, cnorm=\E[34h\E[?25h, cvvis=\E[34l, + op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\054\054hhII00, +screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line, + am, bce, hs, km, mir, msgr, xenl, + cols#80, it#8, lines#24, colors#8, pairs#64, + bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, + clear=\E[H\E[J, cr=\r, csr=\E[%i%p1%d;%p2%dr, + cub=\E[%p1%dD, cub1=\b, cud=\E[%p1%dB, cud1=\n, + cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, + cuu=\E[%p1%dA, cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, + dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, + enacs=\E(B\E)0, home=\E[H, + ht=\t, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, + ind=\n, is2=\E)0, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\EOP, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, + kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, + kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kend=\E[4~, + kich1=\E[2~, knp=\E[6~, kpp=\E[5~, nel=\EE, + rc=\E8, rev=\E[7m, ri=\EM, rmcup=\E[?1049l, rmir=\E[4l, + rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7, + sgr0=\E[m, smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, + smso=\E[3m, smul=\E[4m, tbc=\E[3g, smacs=^N, rmacs=^O, flash=\Eg, + tsl=\E_, fsl=\E\\, dsl=\E_\E\\, + civis=\E[?25l, cnorm=\E[34h\E[?25h, cvvis=\E[34l, + op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\054\054hhII00, +screen-256color|VT 100/ANSI X3.64 virtual terminal, + ccc, + colors#256, pairs#32767, + initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, + setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, + setb=\E[48;5;%p1%dm, setf=\E[38;5;%p1%dm, + use=screen, diff --git a/terminfo/test.txt b/terminfo/test.txt new file mode 100644 index 0000000..2da65e5 --- /dev/null +++ b/terminfo/test.txt @@ -0,0 +1,603 @@ + +<[H[J(A)0[?4h[?5l[m + + + + + + + + + + lqqqqqqqqqwwwqqqqqqqqqk sssssssssssssssssssssssssssss + x[1mMerry Chr[mx[1mx[mx[1mmas * Mer[mx \ / + xry Christx[1mx[mx * Merry x pr rp + x[1mChristmas[mx[1mx[mx[1mMerry Chr[mx oqrs srqo + xistmas * x[1mx[mxry Christx ooppqqwqwqqppoo + tqqqqqqqqqj[1mx[mmqqqqqqqqqu x x + t[1mqqqqqqqqqq`qqqqqqqqqq[mu x x + tqqqqqqqqqk[1mx[mlqqqqqqqqqu x x + xry Christx[1mx[mx * Merry x x x + x[1mChristmas[mx[1mx[mx[1mMerry Chr[mx x x + xistmas * x[1mx[mxry Christx x x + x[1mmas * Mer[mx[1mx[mx[1mChristmas[mx srqqj mqqrs + mqqqqqqqqqvvvqqqqqqqqqj [4m rqpo opqr [m[1;10r +[5;79Hl[8;79Hm[6;79Hx[7;79Hx +[5;78Hlq[8;78Hmq[6;78Hx [7;78Hx +[5;77Hlqw[8;77Hmqv[6;77Hx x[7;77Hx x +[5;76Hlqwq[8;76Hmqvq[6;76Hx x [7;76Hx x +[5;75Hlqwq[8;75Hmqvq[6;75Hx x [7;75Hx x +[5;74Hlqwq[8;74Hmqvq[6;74Hx x [7;74Hx x +[5;73Hlqwq[8;73Hmqvq[6;73Hx x [7;73Hx x +[5;72Hlqwq[8;72Hmqvq[6;72Hx x [7;72Hx x +[5;71Hlqwq[8;71Hmqvq[6;71Hx x [7;71Hx x +[5;70Hlqwq[8;70Hmqvq[6;70Hx x [7;70Hx x +[8;69H/[7;69H/ +[9;69H/[8;68H/ +[10;69H/[9;68H[1m/[m [8;68H /[7;69H [6;69H/ +[11;69H[1;4m/[m[10;68H/ [9;68H [1m/[m[8;68H /[7;68H[1m/[m/ +[12;69H[1m/[m[11;68H[1;4m/ [m[10;68H /[9;69H[1m/[m[8;68H/[7;68H[1m/[m +[13;69H/[12;68H/ [11;68H[4m /[m[10;69H[1m/[m[9;68H[1m/[m/[7;68H /[6;69H[1m/[m +[13;68H[1m/[m [12;68H [1m/[m[10;68H//[9;68H/[8;68H [7;68H[1m/[m [6;69H/ +[13;68H /[11;68H[4m/[m[9;68H [8;68H/ [7;68H//[6;69H +[13;68H/[12;68H[1m/[m[10;68H [9;68H[1m/[m [8;68H/[1m/[m[7;68H [6;69H[1m/[m +[13;68H[1m/[m[12;68H/[11;68Hs[10;68H[1m/[m [9;68H//[8;69H [6;69H +[14;53Hsssssssssss +[13;68H/[12;68H [11;68H[1;4m/ [m[10;68H//[9;69H [8;68H [1m/[m[7;68H/ [6;69H[1m/[m +[14;52Hs[14;64Hs +[13;68H [12;68H/ [11;68H[4m/[1m/[m[10;69H [9;68H /[8;68H/ [7;68H [1m/[m[6;69H/ +[14;53Hrrrrrrrrrrr +[13;68H[1m/[m [12;69H/[11;69Hs[10;68H [1m/[m[9;68H[1m/[m [8;68H /[7;69H/ +[14;54Hqqqqqqqqq +[13;68H/[1m/[m[12;69H [11;68H[4m /[m[10;68H/ [9;68H /[7;68H[1m/[m +[14;52Hsrqqqqqqqqqrs +[13;69H [12;68H [1m/[m[11;68H[4m/ [m[10;68H [1m/[m[8;68H[1m/[m[7;68H/ +[14;51Hsr[14;64Hrs +[13;69H/[12;68H/ [11;68H[4m /[m[10;69H[1m/[m[9;68H[1m/[m/[7;68H /[6;69H[1m/[m +[14;51Hrrqq[14;62Hqqrr +[13;68H[1m/[m [12;68H [1m/[m[10;68H//[9;68H/[8;68H [7;68H[1m/[m [6;69H/ +[14;55Hppppppp +[13;68H /[11;68H[4m/[m[9;68H [8;68H/ [7;68H//[6;69H +[14;51Hrrq[14;63Hqrr +[13;68H/[12;68H[1m/[m[10;68H [9;68H[1m/[m [8;68H/[1m/[m[7;68H [6;69H[1m/[m +[14;51Hrqpp[14;62Hppqr +[13;68H[1m/[m[12;68H/[11;68Hs[10;68H[1m/[m [9;68H//[8;69H [6;69H + +[14;50H[4mr[mqpppooooooopppq[4mr[m +[13;68H/[12;68H [11;68H[1;4m/ [m[10;68H//[9;69H [8;68H [1m/[m[7;68H/ [6;69H[1m/[m +[14;50H[4mq[mppooooooooooopp[4mq[m +[13;68H [12;68H/ [11;68H[4m/[1m/[m[10;69H [9;68H /[8;68H/ [7;68H [1m/[m[6;69H/ + + + +[13;55Hsssssss[14;52Hooo ooo[14;57H. o f + +[13;68H[1m/[m [12;69H/[11;69Hs[10;68H [1m/[m[9;68H[1m/[m [8;68H /[7;69H/[14;56H.f + +[13;53Hss[13;62Hss[14;53H .f + +[13;68H/[1m/[m[12;69H [11;68H[4m /[m[10;68H/ [9;68H /[7;68H[1m/[m[14;53H f + +[13;48Hssssrrrrqqqqqrrrrssss[14;50Hs s + +[13;69H [12;68H [1m/[m[11;68H[4m/ [m[10;68H [1m/[m[8;68H[1m/[m[7;68H/[14;51H. . . + +[13;47Hsssrrrrqqqqqqqqqrrrrsss[14;51Hf f . f + +[13;69H[4m/[m[12;68H/ [11;68H[4m /[m[10;69H[1m/[m[9;68H[1m/[m/[7;68H /[6;69H[14;51H f . + +[13;47Hrrrqqqqpppppppppqqqqrss[14;52H. . o f + +[13;68H[1;4m/[m [12;68H [1m/[m[10;68H//[9;68H/[8;68H [7;68H[1m/[m [6;69H/[14;52Hf .f + +[13;47Hqqqppppooooooooopppqrss[14;52H .f . + +[13;68Hs/[11;68H[4m/[m[9;68H [8;68H/ [7;68H//[6;69H [14;55Hf f + +[12;54Hsssssssss[13;47Hqppoooo oopqrss[13;54H.o .[14;55H + +[13;68H[4m/[m[12;68H[1m/[m[10;68H [9;68H[1m/[m [8;68H/[1m/[m[7;68H [6;69H[1m/[m[13;54Hf f[14;51H. . + +[12;52Hssrrrrrrrrrs[13;47Hqpooo opqrss[13;53Hf [14;51Hf f . f + +[13;68H[1;4m/[m[12;68H/[11;68Hs[10;68H[1m/[m [9;68H//[8;69H [13;53Hf o o[14;51H f . + +[12;46Hssssssrr[12;63Hrrssssss[13;47H [13;64H [6;69H [13;47Hf o o .[14;52H. . o f + +[12;68Hs[11;68H[4m/ [m[10;68H//[9;69H [8;68H [1m/[m[7;69H [13;47H . o o f[14;52Hf .f + +[12;45Hsrrrrrrqqqqqqqqqqqqqqrrssrq[13;49Hf o o . [14;52H .f . + +[12;68H[4m/ [11;68H/[1m/[m[10;69H [9;68H /[8;69H mqvqqqqqq[5;70H lqwqqqqqq[7;70H x x[6;70H x x[13;49H . o f + +[12;45Hrqqqqqqppppppppppppppq[8;71H mqvqqqqq[5;71H lqwqqqqq[7;71H x x[6;71H x x[13;50Hf .o . o[14;55H + +[12;69H[4m/[m[11;69Hs[10;68H [1m/[m[9;69H [8;72H mqvqqqq[5;72H lqwqqqq[7;72H x x[6;72H x x[13;50H f f [14;51 + +[12;45Hqppppppoooooooooooooo[8;73H mqvqqq[5;73H lqwqqq[7;73H x x[6;73H x x[13;53Hf [13;62H .[14;51Hf f . f + +[12;69Hs[11;68H[4m /[m[10;69H [8;74H mqvqq[5;74H lqwqq[7;74H x x[6;74H x x[13;47H. o f o o f[14;51H f + +[12;45Hpoooooo [8;75H mqvq[5;75H lqwq[7;75H x x[6;75H x x[12;49H o o o[13;47Hf o o . + +[11;44H[4mrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[m[12;45H [12;64H [8;76H mqv[5;76H lqw[7;76H x x[6;76H x x[12;47Ho +[8;77H mq[5;77H lq[7;77H x [6;77H x [12;47H . o o o[13;49Hf o o . [14;52H .f . +[8;78H m[5;78H l[7;78H x[6;78H x[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[8;79H [5;79H [7;79H [6;79H [12;45Hf o o f . f[13;50Hf .o . o[14;55H +[1;7m[5;25H#3 Cheers! +[6;25H#4 Cheers! [m + +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H + +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H + +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H + +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H + +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H + +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H + +[12;45H . o o . o f [13;50H f f [14;51H. . . +[5;1H[K#5 +[6;1H[K#5 +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[10;1H /ooooooooooooooo\ +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[10;1H / sss sss \ +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[10;1H x ([4msOs[m) ([4msOs[m) x +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[10;1H x ` x +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[10;1H \ \sssssssss/ / +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[10;1H \ / +[12;45H . o o . o f [13;50H f f [14;51H. . . +[10;1H \sssssssssss/ +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[10;1H ooppqqrrsss +[12;47H f f f [13;47H. o f o o f[14;51H f . +[10;1H ooppqqrrsss +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[10;1H ooppqqrrsss +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[10;1H ooppqqrrsss +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[10;1H ooppqqrrsss +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[10;1H ooppqqrrsss +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[10;1H ooppqqrrsss[12;45H . o o . o f [13;50H f f [14;51H. . . +[HM x ` x +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[HM x ([4msOs[m) ([4msOs[m) x +[12;47H f f f [13;47H. o f o o f[14;51H f . +[HM / sss sss \ +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[HM /ooooooooooooooo\ +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[HM +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[HM +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[HM +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[HM +[12;45H . o o . o f [13;50H f f [14;51H. . . +[10;1H \ / +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[10;1H \sssssssssss/ +[12;47H f f f [13;47H. o f o o f[14;51H f . +[10;1H ooppqqrrsss +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[10;1H ooppqqrrsss +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[10;1H ooppqqrrsss +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[10;1H ooppqqrrsss +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[10;1H ooppqqrrsss[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[HM / sss sss \ +[12;45H . o o . o f [13;50H f f [14;51H. . . +[HM /ooooooooooooooo\ +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[HM +[12;47H f f f [13;47H. o f o o f[14;51H f . +[HM +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[10;1H ooppqqrrsss +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[10;1H ooppqqrrsss +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[10;1H ooppqqrrsss +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[10;1H ooppqqrrsss[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[HM /ooooooooooooooo\ +[12;45H . o o . o f [13;50H f f [14;51H. . . +[HM +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[HM +[12;47H f f f [13;47H. o f o o f[14;51H f . +[HM +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[10;1H \sssssssssss/ +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[10;1H ooppqqrrsss +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[10;1H ooppqqrrsss[r +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H + +[4;45HJin +[12;45H . o o . o f [13;50H f f [14;51H. . . +[4;48Hgle +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[4;52HBells, +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[4;59HJin +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[4;62Hgle +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[4;66HBells, +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[5;45HJin +[12;47H f f f [13;47H. o f o o f[14;51H f . +[5;48Hgle +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[5;52Hall +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[5;56Hthe +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[5;60Hway, +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[6;45HOh! +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[6;50HWhat +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[6;55Hfun +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[6;59Hit +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[6;62His +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[6;65Hto +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[6;68Hride, +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[7;45HOn +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[7;48Ha +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[7;50Hone- +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[7;54Hhorse +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[7;60Hop +[12;47H f f f [13;47H. o f o o f[14;51H f . +[7;62Hen +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[7;65Hsleigh. +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf f + +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf f + +[12;47H o o o[13;49Hf o o [14;52H +[12;45H. o o o [13;49H [14;55H +[12;45Hf o o [13;50H [14;55H +[12;45H +[12;47Ho o o[13;47H . o o f[14;52Hf f + +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf f + +[12;47H o o o[13;49Hf o o [14;52H +[12;45H. o o o [13;49H [14;55H +[12;45Hf o o [13;50H [14;55H +[12;45H + +[4;45H[K[4;55HMerry Christmas +[5;45H[K +[6;45H[K[6;60H- +[7;45H[K +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf f + +[12;47H o o o[13;49Hf o o [14;52H +[12;45H. o o o [13;49H [14;55H +[12;45Hf o o [13;50H [14;55H +[12;45H +[12;47Ho o o[13;47H . o o f[14;52Hf f + +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf .f +[12;47H . o o o[13;49Hf o o . [14;52H .f . +[12;45H. o o f o . .[13;49H . o f[14;55Hf f +[12;45Hf o o f . f[13;50Hf .o . o[14;55H +[12;45H . o o . o f [13;50H f f [14;51H. . . +[12;47Hf . o . f o f[13;53Hf [13;62H .[14;51Hf f . f +[12;47H f f f [13;47H. o f o o f[14;51H f . +[12;49H o o o[13;47Hf o o .[14;52H. . o f +[12;47Ho o o[13;47H . o o f[14;52Hf f + +[12;47H o o o[13;49Hf o o [14;52H +[12;45H. o o o [13;49H [14;55H +[12;45Hf o o [13;50H [14;55H +[12;45H +[22;1H[?4l + diff --git a/terminfo/tetris.c b/terminfo/tetris.c new file mode 100644 index 0000000..e230373 --- /dev/null +++ b/terminfo/tetris.c @@ -0,0 +1,20 @@ +long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K +=0,i=276,j,k,q[276],Q[276],*n=q,*m,x=17,f[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1, +12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12, +1,12,11,-12,-1,1,2,-12,-1,12,13,-12,12,13,14,-11,-1,1,4,-13,-12,12,16,-11,-12, +12,17,-13,1,-1,5,-12,12,11,6,-12,12,24};u(){for(i=11;++i<264;)if((k=q[i])-Q[i] +){Q[i]=k;if(i-++I||i%12<1)printf("\033[%d;%dH",(I=i)/12,i%12*2+28);printf( +"\033[%dm "+(K-k?0:5),k);K=k;}Q[263]=c=getchar();}G(b){for(i=4;i--;)if(q[i?b+ +n[i]:b])return 0;return 1;}g(b){for(i=4;i--;q[i?x+n[i]:x]=b);}main(C,V,a)char* +*V,*a;{h[3]=1000000/(l=C>1?atoi(V[1]):2);for(a=C>2?V[2]:"jkl pq";i;i--)*n++=i< +25||i%12<2?7:0;srand(getpid());system("stty cbreak -echo stop u");sigvec(14,v, +0);t();puts("\033[H\033[J");for(n=f+rand()%7*4;;g(7),u(),g(0)){if(c<0){if(G(x+ +12))x+=12;else{g(7);++w;for(j=0;j<252;j=12*(j/12+1))for(;q[++j];)if(j%12==10){ +for(;j%12;q[j--]=0);u();for(;--j;q[j+12]=q[j]);u();}n=f+rand()%7*4;G(x=17)||(c +=a[5]);}}if(c==*a)G(--x)||++x;if(c==a[1])n=f+4**(m=n),G(x)||(n=m);if(c==a[2])G +(++x)||--x;if(c==a[3])for(;G(x+12);++w)x+=12;if(c==a[4]||c==a[5]){s=sigblock( +8192);printf("\033[H\033[J\033[0m%d\n",w);if(c==a[5])break;for(j=264;j--;Q[j]= +0);while(getchar()-a[4]);puts("\033[H\033[J\033[7m");sigsetmask(s);}}d=popen( +"stty -cbreak echo stop \023;sort -mnr -o HI - HI;cat HI","w");fprintf(d, +"%4d from level %1d by %s\n",w,l,getlogin());pclose(d);} + |