tests: Add the new testbench.
authorJoshua Wise <joshua@rebirth.joshuawise.com>
Wed, 14 Jan 2009 07:10:56 +0000 (02:10 -0500)
committerJoshua Wise <joshua@rebirth.joshuawise.com>
Wed, 14 Jan 2009 07:10:56 +0000 (02:10 -0500)
tests/ack.c [new file with mode: 0644]
tests/corecurse.c [new file with mode: 0644]
tests/j4cbo.c [new file with mode: 0644]
tests/ram.hex
tests/testbench.c [new file with mode: 0644]
tests/testbench.hex [new file with mode: 0644]

diff --git a/tests/ack.c b/tests/ack.c
new file mode 100644 (file)
index 0000000..ab57018
--- /dev/null
@@ -0,0 +1,25 @@
+//#test return 61
+
+int ack(int m, int n)
+{
+       if(m == 0) {
+               return n + 1;
+       }
+       else if(n == 0) {
+               return ack(m - 1, 1);
+       }
+       else {
+               return ack(m - 1, ack(m, n - 1));
+       }
+}
+
+void acktest()
+{      int x;
+       if ((x = ack(3, 3)) != 61)
+       {
+               puts("FAIL: Ack test did not return 61\n");
+               puthex(x);
+       }
+       else
+               puts("PASS: Ack test returned 61\n");
+}
diff --git a/tests/corecurse.c b/tests/corecurse.c
new file mode 100644 (file)
index 0000000..33576fe
--- /dev/null
@@ -0,0 +1,25 @@
+int b(int x);
+int a(int x);
+
+int a(int x)
+{
+       if (x)
+               return b(x/2) + a(x - 1);
+       return 1;
+}
+
+int b(int x)
+{
+       if (x)
+               return a(x) + a(x - 1);
+       return 0;
+}
+
+int corecurse()
+{
+       int v = a(35) + b(32) - 4450/28;
+       if (v == 15411)
+               puts("PASS\n");
+       else
+               puts("FAIL\n");
+}
\ No newline at end of file
diff --git a/tests/j4cbo.c b/tests/j4cbo.c
new file mode 100644 (file)
index 0000000..3a1382e
--- /dev/null
@@ -0,0 +1,172 @@
+//#test return 151
+
+/* example tree from http://en.wikipedia.org/wiki/Huffman_coding */
+
+int getbyte(int byte)
+{
+       if (byte == 0) return 106;
+       if (byte == 1) return 139;
+       if (byte == 2) return 120;
+       if (byte == 3) return 183;
+       if (byte == 4) return 69;
+       if (byte == 5) return 197;
+       if (byte == 6) return 147;
+       if (byte == 7) return 207;
+       if (byte == 8) return 35;
+       if (byte == 9) return 155;
+       if (byte == 10) return 122;
+       if (byte == 11) return 244;
+       if (byte == 12) return 125;
+       if (byte == 13) return 215;
+       if (byte == 14) return 69;
+       if (byte == 15) return 219;
+       if (byte == 16) return 2;
+       if (byte == 17) return 224;
+       puts("FAIL [abort]: request for byte #");
+       puthex(byte);
+       while(1);
+       return 0;
+}
+
+int getbit(int bp)
+{
+       int byte;
+       byte = getbyte(bp/8);
+       return (byte >> (7 - (bp % 8))) & 1;
+}
+
+int h(int bitpos)
+{
+       if (getbit(bitpos))
+               return h1(bitpos+1);
+       else
+               return h0(bitpos+1);
+}
+
+int h0(int bitpos)
+{
+       if (getbit(bitpos))
+               return h01(bitpos+1);
+       else
+               return h00(bitpos+1);
+}
+
+int h00(int bitpos)
+{
+       if (getbit(bitpos))
+               return h001(bitpos+1);
+       else
+               return 69+h(bitpos+1);
+}
+
+int h001(int bitpos)
+{
+       if (getbit(bitpos))
+               return h0011(bitpos+1);
+       else
+               return 78+h(bitpos+1);
+}
+
+int h0011(int bitpos)
+{
+       if (getbit(bitpos))
+               return 79+h(bitpos+1);
+       else
+               return 85+h(bitpos+1);
+}
+
+int h01(int bitpos)
+{
+       if (getbit(bitpos))
+               return h011(bitpos+1);
+       else
+               return 65+h(bitpos+1);
+}
+
+int h011(int bitpos)
+{
+       if (getbit(bitpos))
+               return 77+h(bitpos+1);
+       else
+               return 84+h(bitpos+1);
+}
+
+int h1(bitpos)
+{
+       if (getbit(bitpos))
+               return h11(bitpos+1);
+       else
+               return h10(bitpos+1);
+}
+
+int h10(bitpos)
+{
+       if (getbit(bitpos))
+               return h101(bitpos+1);
+       else
+               return h100(bitpos+1);
+}
+
+int h100(bitpos)
+{
+       if (getbit(bitpos))
+               return h1001(bitpos+1);
+       else
+               return 73+h(bitpos+1);
+}
+
+int h1001(bitpos)
+{
+       if (getbit(bitpos))
+               return 80+h(bitpos+1);
+       else
+               return 88+h(bitpos+1);
+}
+
+int h101(bitpos)
+{
+       if (getbit(bitpos))
+               return h1011(bitpos+1);
+       else
+               return 72+h(bitpos+1);
+}
+
+int h1011(bitpos)
+{
+       if (getbit(bitpos))
+               return -2169;
+       else
+               return 83+h(bitpos+1);
+}
+
+int h11(bitpos)
+{
+       if (getbit(bitpos))
+               return 32+h(bitpos+1);
+       else
+               return h110(bitpos+1);
+}
+
+int h110(bitpos)
+{
+       if (getbit(bitpos))
+               return 70+h(bitpos+1);
+       else
+               return h1100(bitpos+1);
+}
+
+int h1100(bitpos)
+{
+       if (getbit(bitpos))
+               return 76+h(bitpos+1);
+       else
+               return 82+h(bitpos+1);
+}
+
+void j4cbo()
+{
+       if (h(0) != 151)
+               puts("Result was not 151\r\n");
+       else
+               puts("Result was 151\r\n");
+}
index 0f379b7..0185b5b 120000 (symlink)
@@ -1 +1 @@
-costas.hex
\ No newline at end of file
+testbench.hex
\ No newline at end of file
diff --git a/tests/testbench.c b/tests/testbench.c
new file mode 100644 (file)
index 0000000..ff9f96c
--- /dev/null
@@ -0,0 +1,109 @@
+extern void putc(unsigned char c);
+
+void puts(unsigned char *s)
+{
+       while (*s)
+               putc(*(s++));
+}
+
+void puthex(unsigned int x)
+{
+       unsigned char *hex = "0123456789ABCDEF";
+       int i;
+       
+       for (i = 7; i >= 0; i--)
+               putc(hex[(x >> (i * 4)) & 0xF]);
+}
+
+#define putchar putc
+#include "ack.c"
+#include "j4cbo.c"
+#include "corecurse.c"
+
+int fact(int n)
+{
+       if (n == 0)
+               return 1;
+       else
+               return n * fact(n-1);
+}
+
+void facttest()
+{
+       if (fact(10) != 3628800)
+               puts("FAIL\n");
+       else
+               puts("PASS\n");
+}
+
+struct tests {
+       char *name;
+       void (*test)();
+};
+
+extern int ldm_bonehead();
+
+__asm__(
+".globl ldm_bonehead\n"
+"ldm_bonehead:;"
+"mov r3, lr;"
+"bl 1f;"
+"nop;"
+"nop;"
+"nop;"
+"nop;"
+"nop;"
+"nop;"
+"nop;"
+"nop;"
+"nop;"
+"mov pc, r3\n;"
+"1:\n"
+"ldr r2, =0x00002FE0;"
+"ldr r1, =0x0000004C;"
+"mov ip, sp;"
+"stmdb sp!, {fp, ip, lr, pc};"
+"mov r0, #0x00880000;"
+"ldmia sp, {fp, sp, pc};"
+"mul r0, r1, r2;"
+"nop;"
+"nop;\n"
+);
+
+void ldm_tester()
+{
+       int x = ldm_bonehead();
+       if (x != 0x00880000)
+       {
+               puts("FAIL: result was ");
+               puthex(x);
+               puts("\n");
+       } else
+               puts("PASS\n");
+}
+
+struct tests tlist[] = {
+       {"ldm pc/mul", ldm_tester},
+       {"fact", facttest},
+       {"j4cbo", j4cbo},
+       {"ack", acktest},
+       {"corecurse", corecurse},
+       {0, 0}};
+
+int main()
+{
+       struct tests *t;
+       
+       puts("Testbench running\n");
+       
+       for (t = tlist; t->name; t++)
+       {
+               puts("Running ");
+               puts(t->name);
+               puts(": ");
+               t->test();
+       }
+       puts("Done!\n");
+       
+       return 0;
+}
diff --git a/tests/testbench.hex b/tests/testbench.hex
new file mode 100644 (file)
index 0000000..ceab6f8
--- /dev/null
@@ -0,0 +1,1039 @@
+e59fd00c
+eb00038c
+eafffffe
+ee000510
+e1a0f00e
+00003ffc
+e1a0c00d
+e92dd800
+e24cb004
+e24dd004
+e50b0010
+ea000007
+e51b3010
+e5d33000
+e1a02003
+e51b3010
+e2833001
+e50b3010
+e1a00002
+ebffffee
+e51b3010
+e5d33000
+e3530000
+1afffff3
+e89da808
+e1a0c00d
+e92dd800
+e24cb004
+e24dd00c
+e50b0018
+e59f3058
+e50b3014
+e3a03007
+e50b3010
+ea00000d
+e51b3010
+e1a02103
+e51b3018
+e1a03233
+e203300f
+e1a02003
+e51b3014
+e0823003
+e5d33000
+e1a00003
+ebffffd4
+e51b3010
+e2433001
+e50b3010
+e51b3010
+e3530000
+aaffffee
+e24bd00c
+e89da800
+00000ee8
+e1a0c00d
+e92dd810
+e24cb004
+e24dd00c
+e50b0014
+e50b1018
+e51b3014
+e3530000
+1a000003
+e51b3018
+e2833001
+e50b301c
+ea000017
+e51b3018
+e3530000
+1a000007
+e51b3014
+e2433001
+e1a00003
+e3a01001
+ebffffea
+e1a03000
+e50b301c
+ea00000c
+e51b3014
+e2434001
+e51b3018
+e2433001
+e51b0014
+e1a01003
+ebffffe0
+e1a03000
+e1a00004
+e1a01003
+ebffffdc
+e1a03000
+e50b301c
+e51b301c
+e1a00003
+e24bd010
+e89da810
+e1a0c00d
+e92dd800
+e24cb004
+e24dd004
+e3a00003
+e3a01003
+ebffffcf
+e1a03000
+e50b3010
+e51b3010
+e353003d
+0a000006
+e59f3024
+e1a00003
+ebffff96
+e51b3010
+e1a00003
+ebffffa6
+ea000002
+e59f300c
+e1a00003
+ebffff8f
+e89da808
+00000efc
+00000f20
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b3010
+e3530000
+1a000002
+e3a0306a
+e50b3014
+ea00006c
+e51b3010
+e3530001
+1a000002
+e3a0308b
+e50b3014
+ea000066
+e51b3010
+e3530002
+1a000002
+e3a03078
+e50b3014
+ea000060
+e51b3010
+e3530003
+1a000002
+e3a030b7
+e50b3014
+ea00005a
+e51b3010
+e3530004
+1a000002
+e3a03045
+e50b3014
+ea000054
+e51b3010
+e3530005
+1a000002
+e3a030c5
+e50b3014
+ea00004e
+e51b3010
+e3530006
+1a000002
+e3a03093
+e50b3014
+ea000048
+e51b3010
+e3530007
+1a000002
+e3a030cf
+e50b3014
+ea000042
+e51b3010
+e3530008
+1a000002
+e3a03023
+e50b3014
+ea00003c
+e51b3010
+e3530009
+1a000002
+e3a0309b
+e50b3014
+ea000036
+e51b3010
+e353000a
+1a000002
+e3a0307a
+e50b3014
+ea000030
+e51b3010
+e353000b
+1a000002
+e3a030f4
+e50b3014
+ea00002a
+e51b3010
+e353000c
+1a000002
+e3a0307d
+e50b3014
+ea000024
+e51b3010
+e353000d
+1a000002
+e3a030d7
+e50b3014
+ea00001e
+e51b3010
+e353000e
+1a000002
+e3a03045
+e50b3014
+ea000018
+e51b3010
+e353000f
+1a000002
+e3a030db
+e50b3014
+ea000012
+e51b3010
+e3530010
+1a000002
+e3a03002
+e50b3014
+ea00000c
+e51b3010
+e3530011
+1a000002
+e3a030e0
+e50b3014
+ea000006
+e59f3024
+e1a00003
+ebffff18
+e51b3010
+e1a00003
+ebffff28
+eafffffe
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+00000f3c
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0014
+e51b3014
+e2832007
+e3530000
+b1a03002
+e1a031c3
+e1a00003
+ebffff76
+e1a03000
+e50b3010
+e51b2014
+e1a03fc2
+e1a01ea3
+e0823001
+e2033007
+e0613003
+e2632007
+e51b3010
+e1a03253
+e2033001
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffffdd
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb0000b5
+e1a03000
+e50b3014
+ea000005
+e51b3010
+e2833001
+e1a00003
+eb000005
+e1a03000
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffffc2
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb000061
+e1a03000
+e50b3014
+ea000005
+e51b3010
+e2833001
+e1a00003
+eb000005
+e1a03000
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffffa7
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb00000d
+e1a03000
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebffffb4
+e1a03000
+e2833045
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffff8b
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb00000d
+e1a03000
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebffff98
+e1a03000
+e283304e
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffff6f
+e1a03000
+e3530000
+0a000007
+e51b3010
+e2833001
+e1a00003
+ebffff83
+e1a03000
+e283304f
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebffff7b
+e1a03000
+e2833055
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffff52
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb00000d
+e1a03000
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebffff5f
+e1a03000
+e2833041
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffff36
+e1a03000
+e3530000
+0a000007
+e51b3010
+e2833001
+e1a00003
+ebffff4a
+e1a03000
+e283304d
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebffff42
+e1a03000
+e2833054
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebffff19
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb000097
+e1a03000
+e50b3014
+ea000005
+e51b3010
+e2833001
+e1a00003
+eb000005
+e1a03000
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffefe
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb000045
+e1a03000
+e50b3014
+ea000005
+e51b3010
+e2833001
+e1a00003
+eb000005
+e1a03000
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffee3
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb00000d
+e1a03000
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebfffef0
+e1a03000
+e2833049
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffec7
+e1a03000
+e3530000
+0a000007
+e51b3010
+e2833001
+e1a00003
+ebfffedb
+e1a03000
+e2833050
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebfffed3
+e1a03000
+e2833058
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffeaa
+e1a03000
+e3530000
+0a000006
+e51b3010
+e2833001
+e1a00003
+eb00000d
+e1a03000
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebfffeb7
+e1a03000
+e2833048
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffe8e
+e1a03000
+e3530000
+0a000005
+e3e03e87
+e50b3014
+e51b3014
+e2433008
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebfffe9c
+e1a03000
+e2833053
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffe73
+e1a03000
+e3530000
+0a000007
+e51b3010
+e2833001
+e1a00003
+ebfffe87
+e1a03000
+e2833020
+e50b3014
+ea000005
+e51b3010
+e2833001
+e1a00003
+eb000005
+e1a03000
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffe57
+e1a03000
+e3530000
+0a000007
+e51b3010
+e2833001
+e1a00003
+ebfffe6b
+e1a03000
+e2833046
+e50b3014
+ea000005
+e51b3010
+e2833001
+e1a00003
+eb000005
+e1a03000
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b0010
+ebfffe3b
+e1a03000
+e3530000
+0a000007
+e51b3010
+e2833001
+e1a00003
+ebfffe4f
+e1a03000
+e283304c
+e50b3014
+ea000006
+e51b3010
+e2833001
+e1a00003
+ebfffe47
+e1a03000
+e2833052
+e50b3014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e3a00000
+ebfffe3b
+e1a03000
+e3530097
+0a000003
+e59f3018
+e1a00003
+ebfffd2a
+ea000002
+e59f300c
+e1a00003
+ebfffd26
+e89da800
+00000f60
+00000f78
+e1a0c00d
+e92dd810
+e24cb004
+e24dd008
+e50b0014
+e51b3014
+e3530000
+0a00000e
+e51b2014
+e1a03fa2
+e0833002
+e1a030c3
+e1a00003
+eb00000e
+e1a04000
+e51b3014
+e2433001
+e1a00003
+ebffffec
+e1a03000
+e0844003
+e50b4018
+ea000001
+e3a03001
+e50b3018
+e51b3018
+e1a00003
+e24bd010
+e89da810
+e1a0c00d
+e92dd810
+e24cb004
+e24dd008
+e50b0014
+e51b3014
+e3530000
+0a00000a
+e51b0014
+ebffffd8
+e1a04000
+e51b3014
+e2433001
+e1a00003
+ebffffd3
+e1a03000
+e0844003
+e50b4018
+ea000001
+e3a03000
+e50b3018
+e51b3018
+e1a00003
+e24bd010
+e89da810
+e1a0c00d
+e92dd810
+e24cb004
+e24dd004
+e3a00023
+ebffffc3
+e1a04000
+e3a00020
+ebffffdd
+e1a03000
+e0843003
+e243309e
+e50b3014
+e51b2014
+e3a03b0f
+e2833033
+e1520003
+1a000003
+e59f3018
+e1a00003
+ebfffcd8
+ea000002
+e59f300c
+e1a00003
+ebfffcd4
+e89da818
+00000f8c
+00000f94
+e1a0c00d
+e92dd800
+e24cb004
+e24dd008
+e50b0010
+e51b3010
+e3530000
+1a000002
+e3a01001
+e50b1014
+ea000007
+e51b3010
+e2433001
+e1a00003
+ebfffff0
+e1a02000
+e51b3010
+e0010293
+e50b1014
+e51b3014
+e1a00003
+e24bd00c
+e89da800
+e1a0c00d
+e92dd800
+e24cb004
+e3a0000a
+ebffffe3
+e1a02000
+e3a039dd
+e2833c1f
+e1520003
+0a000003
+e59f3018
+e1a00003
+ebfffcad
+ea000002
+e59f300c
+e1a00003
+ebfffca9
+e89da800
+00000f94
+00000f8c
+e1a0300e
+eb000009
+e1a00000
+e1a00000
+e1a00000
+e1a00000
+e1a00000
+e1a00000
+e1a00000
+e1a00000
+e1a00000
+e1a0f003
+e59f2130
+e3a0104c
+e1a0c00d
+e92dd800
+e3a00722
+e89da800
+e0000291
+e1a00000
+e1a00000
+e1a0c00d
+e92dd800
+e24cb004
+e24dd004
+ebffffe5
+e1a03000
+e50b3010
+e51b3010
+e3530722
+0a000009
+e59f3030
+e1a00003
+ebfffc84
+e51b3010
+e1a00003
+ebfffc94
+e59f301c
+e1a00003
+ebfffc7e
+ea000002
+e59f3010
+e1a00003
+ebfffc7a
+e89da808
+00000f9c
+00000fb0
+00000f8c
+e1a0c00d
+e92dd800
+e24cb004
+e24dd004
+e59f307c
+e1a00003
+ebfffc6f
+e59f3074
+e50b3010
+ea000010
+e59f306c
+e1a00003
+ebfffc69
+e51b3010
+e5933000
+e1a00003
+ebfffc65
+e59f3054
+e1a00003
+ebfffc62
+e51b3010
+e5933004
+e1a0e00f
+e1a0f003
+e51b3010
+e2833008
+e50b3010
+e51b3010
+e5933000
+e3530000
+1affffea
+e59f3020
+e1a00003
+ebfffc54
+e3a03000
+e1a00003
+e89da808
+00000fe0
+0000100c
+00000ff4
+00001000
+00001004
+00002fe0
+33323130
+37363534
+42413938
+46454443
+00000000
+4c494146
+6341203a
+6574206b
+64207473
+6e206469
+7220746f
+72757465
+3136206e
+0000000a
+53534150
+6341203a
+6574206b
+72207473
+72757465
+2064656e
+000a3136
+4c494146
+62615b20
+5d74726f
+6572203a
+73657571
+6f662074
+79622072
+23206574
+00000000
+75736552
+7720746c
+6e207361
+3120746f
+0a0d3135
+00000000
+75736552
+7720746c
+31207361
+0a0d3135
+00000000
+53534150
+0000000a
+4c494146
+0000000a
+4c494146
+6572203a
+746c7573
+73617720
+00000020
+0000000a
+206d646c
+6d2f6370
+00006c75
+74636166
+00000000
+6263346a
+0000006f
+006b6361
+65726f63
+73727563
+00000065
+74736554
+636e6562
+75722068
+6e696e6e
+00000a67
+6e6e7552
+20676e69
+00000000
+0000203a
+656e6f44
+00000a21
+00000fb4
+00000dd0
+00000fc0
+00000d2c
+00000fc8
+00000b40
+00000fd0
+00000180
+00000fd4
+00000c60
+00000000
+00000000
This page took 0.050551 seconds and 4 git commands to generate.