Simple runtime for bank verification

This commit is contained in:
felsabbagh3 2019-11-05 20:38:41 -05:00
parent cb3e2da584
commit 354086ffd1
4 changed files with 506 additions and 495 deletions

View file

@ -3,13 +3,22 @@
.type _start, @function
.global _start
_start:
la a1, vx_set_sp
li a0, 4
.word 0x00b5106b # wspawn a0(numWarps), a1(PC SPAWN)
jal vx_set_sp
jal main
la a1, 0x40004326
sw a0, 0(a1)
nop
nop
nop
lw a2, 0(a1)
li a0, 0
.word 0x0005006b # tmc a0
# la a1, vx_set_sp
# li a0, 4
# .word 0x00b5106b # wspawn a0(numWarps), a1(PC SPAWN)
# jal vx_set_sp
# jal main
# li a0, 0
# .word 0x0005006b # tmc a0
.type vx_set_sp, @function

View file

@ -5,429 +5,431 @@ vortex_runtime.elf: file format elf32-littleriscv
Disassembly of section .text:
80000000 <_start>:
80000000: 00000597 auipc a1,0x0
80000004: 02058593 addi a1,a1,32 # 80000020 <vx_set_sp>
80000008: 00400513 li a0,4
8000000c: 00b5106b 0xb5106b
80000010: 010000ef jal ra,80000020 <vx_set_sp>
80000014: 56c000ef jal ra,80000580 <main>
80000018: 00000513 li a0,0
8000001c: 0005006b 0x5006b
80000020 <vx_set_sp>:
80000020: 00400513 li a0,4
80000000: 00400513 li a0,4
80000004: 400045b7 lui a1,0x40004
80000008: 32658593 addi a1,a1,806 # 40004326 <_start-0x3fffbcda>
8000000c: 00a5a023 sw a0,0(a1)
80000010: 00000013 nop
80000014: 00000013 nop
80000018: 00000013 nop
8000001c: 0005a603 lw a2,0(a1)
80000020: 00000513 li a0,0
80000024: 0005006b 0x5006b
80000028: 021026f3 csrr a3,0x21
8000002c: 00f69693 slli a3,a3,0xf
80000030: 02002673 csrr a2,0x20
80000034: 00a61593 slli a1,a2,0xa
80000038: 00261613 slli a2,a2,0x2
8000003c: 6ffff137 lui sp,0x6ffff
80000040: 40b10133 sub sp,sp,a1
80000044: 40d10133 sub sp,sp,a3
80000048: 00c10133 add sp,sp,a2
8000004c: 021026f3 csrr a3,0x21
80000050: 00068663 beqz a3,8000005c <RETURN>
80000054: 00000513 li a0,0
80000058: 0005006b 0x5006b
8000005c <RETURN>:
8000005c: 00008067 ret
80000028 <vx_set_sp>:
80000028: 00400513 li a0,4
8000002c: 0005006b 0x5006b
80000030: 021026f3 csrr a3,0x21
80000034: 00f69693 slli a3,a3,0xf
80000038: 02002673 csrr a2,0x20
8000003c: 00a61593 slli a1,a2,0xa
80000040: 00261613 slli a2,a2,0x2
80000044: 6ffff137 lui sp,0x6ffff
80000048: 40b10133 sub sp,sp,a1
8000004c: 40d10133 sub sp,sp,a3
80000050: 00c10133 add sp,sp,a2
80000054: 021026f3 csrr a3,0x21
80000058: 00068663 beqz a3,80000064 <RETURN>
8000005c: 00000513 li a0,0
80000060: 0005006b 0x5006b
80000060 <vx_wspawn>:
80000060: 00b5106b 0xb5106b
80000064 <RETURN>:
80000064: 00008067 ret
80000068 <vx_tmc>:
80000068: 0005006b 0x5006b
80000068 <vx_wspawn>:
80000068: 00b5106b 0xb5106b
8000006c: 00008067 ret
80000070 <vx_barrier>:
80000070: 00b5406b 0xb5406b
80000070 <vx_tmc>:
80000070: 0005006b 0x5006b
80000074: 00008067 ret
80000078 <vx_split>:
80000078: 0005206b 0x5206b
80000078 <vx_barrier>:
80000078: 00b5406b 0xb5406b
8000007c: 00008067 ret
80000080 <vx_join>:
80000080: 0000306b 0x306b
80000080 <vx_split>:
80000080: 0005206b 0x5206b
80000084: 00008067 ret
80000088 <vx_warpID>:
80000088: 02102573 csrr a0,0x21
80000088 <vx_join>:
80000088: 0000306b 0x306b
8000008c: 00008067 ret
80000090 <vx_threadID>:
80000090: 02002573 csrr a0,0x20
80000090 <vx_warpID>:
80000090: 02102573 csrr a0,0x21
80000094: 00008067 ret
80000098 <vx_resetStack>:
80000098: 00400513 li a0,4
8000009c: 0005006b 0x5006b
800000a0: 021026f3 csrr a3,0x21
800000a4: 00f69693 slli a3,a3,0xf
800000a8: 02002673 csrr a2,0x20
800000ac: 00a61593 slli a1,a2,0xa
800000b0: 00261613 slli a2,a2,0x2
800000b4: 6ffff137 lui sp,0x6ffff
800000b8: 40b10133 sub sp,sp,a1
800000bc: 40d10133 sub sp,sp,a3
800000c0: 00c10133 add sp,sp,a2
800000c4: 021026f3 csrr a3,0x21
800000c8: 00068663 beqz a3,800000d4 <RETURN>
800000cc: 00000513 li a0,0
800000d0: 0005006b 0x5006b
80000098 <vx_threadID>:
80000098: 02002573 csrr a0,0x20
8000009c: 00008067 ret
800000d4 <RETURN>:
800000d4: 00008067 ret
800000a0 <vx_resetStack>:
800000a0: 00400513 li a0,4
800000a4: 0005006b 0x5006b
800000a8: 021026f3 csrr a3,0x21
800000ac: 00f69693 slli a3,a3,0xf
800000b0: 02002673 csrr a2,0x20
800000b4: 00a61593 slli a1,a2,0xa
800000b8: 00261613 slli a2,a2,0x2
800000bc: 6ffff137 lui sp,0x6ffff
800000c0: 40b10133 sub sp,sp,a1
800000c4: 40d10133 sub sp,sp,a3
800000c8: 00c10133 add sp,sp,a2
800000cc: 021026f3 csrr a3,0x21
800000d0: 00068663 beqz a3,800000dc <RETURN>
800000d4: 00000513 li a0,0
800000d8: 0005006b 0x5006b
800000d8 <vx_print_str>:
800000d8: ff410113 addi sp,sp,-12 # 6fffeff4 <_start-0x1000100c>
800000dc: 00112023 sw ra,0(sp)
800000e0: 00b12223 sw a1,4(sp)
800000dc <RETURN>:
800000dc: 00008067 ret
800000e4 <bl>:
800000e4: 00054583 lbu a1,0(a0)
800000e8: 00058863 beqz a1,800000f8 <be>
800000ec: 01c000ef jal ra,80000108 <vx_printc>
800000f0: 00150513 addi a0,a0,1
800000f4: ff1ff06f j 800000e4 <bl>
800000e0 <vx_print_str>:
800000e0: ff410113 addi sp,sp,-12 # 6fffeff4 <_start-0x1000100c>
800000e4: 00112023 sw ra,0(sp)
800000e8: 00b12223 sw a1,4(sp)
800000f8 <be>:
800000f8: 00012083 lw ra,0(sp)
800000fc: 00412583 lw a1,4(sp)
80000100: 00c10113 addi sp,sp,12
80000104: 00008067 ret
800000ec <bl>:
800000ec: 00054583 lbu a1,0(a0)
800000f0: 00058863 beqz a1,80000100 <be>
800000f4: 01c000ef jal ra,80000110 <vx_printc>
800000f8: 00150513 addi a0,a0,1
800000fc: ff1ff06f j 800000ec <bl>
80000108 <vx_printc>:
80000108: 000102b7 lui t0,0x10
8000010c: 00b2a023 sw a1,0(t0) # 10000 <_start-0x7fff0000>
80000110: 00008067 ret
80000100 <be>:
80000100: 00012083 lw ra,0(sp)
80000104: 00412583 lw a1,4(sp)
80000108: 00c10113 addi sp,sp,12
8000010c: 00008067 ret
80000114 <vx_print_hex>:
80000114: fe010113 addi sp,sp,-32
80000118: 00112e23 sw ra,28(sp)
8000011c: 00812c23 sw s0,24(sp)
80000120: 02010413 addi s0,sp,32
80000124: fea42623 sw a0,-20(s0)
80000128: 810007b7 lui a5,0x81000
8000012c: fec42703 lw a4,-20(s0)
80000130: 00271713 slli a4,a4,0x2
80000134: 11878793 addi a5,a5,280 # 81000118 <wsapwn_arr+0xffffff30>
80000138: 00f707b3 add a5,a4,a5
8000013c: 0007a783 lw a5,0(a5)
80000140: 00078513 mv a0,a5
80000144: f95ff0ef jal ra,800000d8 <vx_print_str>
80000148: 00000013 nop
8000014c: 01c12083 lw ra,28(sp)
80000150: 01812403 lw s0,24(sp)
80000154: 02010113 addi sp,sp,32
80000158: 00008067 ret
80000110 <vx_printc>:
80000110: 000102b7 lui t0,0x10
80000114: 00b2a023 sw a1,0(t0) # 10000 <_start-0x7fff0000>
80000118: 00008067 ret
8000015c <vx_printf>:
8000015c: fe010113 addi sp,sp,-32
80000160: 00112e23 sw ra,28(sp)
80000164: 00812c23 sw s0,24(sp)
80000168: 02010413 addi s0,sp,32
8000016c: fea42623 sw a0,-20(s0)
80000170: feb42423 sw a1,-24(s0)
80000174: fec42503 lw a0,-20(s0)
80000178: f61ff0ef jal ra,800000d8 <vx_print_str>
8000017c: fe842503 lw a0,-24(s0)
80000180: f95ff0ef jal ra,80000114 <vx_print_hex>
80000184: 810007b7 lui a5,0x81000
80000188: 04078513 addi a0,a5,64 # 81000040 <wsapwn_arr+0xfffffe58>
8000018c: f4dff0ef jal ra,800000d8 <vx_print_str>
80000190: 00000013 nop
80000194: 01c12083 lw ra,28(sp)
80000198: 01812403 lw s0,24(sp)
8000019c: 02010113 addi sp,sp,32
800001a0: 00008067 ret
8000011c <vx_print_hex>:
8000011c: fe010113 addi sp,sp,-32
80000120: 00112e23 sw ra,28(sp)
80000124: 00812c23 sw s0,24(sp)
80000128: 02010413 addi s0,sp,32
8000012c: fea42623 sw a0,-20(s0)
80000130: 810007b7 lui a5,0x81000
80000134: fec42703 lw a4,-20(s0)
80000138: 00271713 slli a4,a4,0x2
8000013c: 11878793 addi a5,a5,280 # 81000118 <wsapwn_arr+0xffffff30>
80000140: 00f707b3 add a5,a4,a5
80000144: 0007a783 lw a5,0(a5)
80000148: 00078513 mv a0,a5
8000014c: f95ff0ef jal ra,800000e0 <vx_print_str>
80000150: 00000013 nop
80000154: 01c12083 lw ra,28(sp)
80000158: 01812403 lw s0,24(sp)
8000015c: 02010113 addi sp,sp,32
80000160: 00008067 ret
800001a4 <test_tmc>:
800001a4: fe010113 addi sp,sp,-32
800001a8: 00112e23 sw ra,28(sp)
800001ac: 00812c23 sw s0,24(sp)
800001b0: 02010413 addi s0,sp,32
800001b4: 810007b7 lui a5,0x81000
800001b8: 08478513 addi a0,a5,132 # 81000084 <wsapwn_arr+0xfffffe9c>
800001bc: f1dff0ef jal ra,800000d8 <vx_print_str>
800001c0: 00400513 li a0,4
800001c4: ea5ff0ef jal ra,80000068 <vx_tmc>
800001c8: ec9ff0ef jal ra,80000090 <vx_threadID>
800001cc: fea42623 sw a0,-20(s0)
800001d0: fec42703 lw a4,-20(s0)
800001d4: 810007b7 lui a5,0x81000
800001d8: fec42683 lw a3,-20(s0)
800001dc: 00269693 slli a3,a3,0x2
800001e0: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800001e4: 00f687b3 add a5,a3,a5
800001e8: 00e7a023 sw a4,0(a5)
800001ec: 00100513 li a0,1
800001f0: e79ff0ef jal ra,80000068 <vx_tmc>
800001f4: 810007b7 lui a5,0x81000
800001f8: 1d87a783 lw a5,472(a5) # 810001d8 <wsapwn_arr+0xfffffff0>
800001fc: 00078513 mv a0,a5
80000200: f15ff0ef jal ra,80000114 <vx_print_hex>
80000204: 810007b7 lui a5,0x81000
80000208: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
8000020c: ecdff0ef jal ra,800000d8 <vx_print_str>
80000210: 810007b7 lui a5,0x81000
80000214: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000218: 0047a783 lw a5,4(a5)
8000021c: 00078513 mv a0,a5
80000220: ef5ff0ef jal ra,80000114 <vx_print_hex>
80000224: 810007b7 lui a5,0x81000
80000228: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
8000022c: eadff0ef jal ra,800000d8 <vx_print_str>
80000230: 810007b7 lui a5,0x81000
80000234: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000238: 0087a783 lw a5,8(a5)
8000023c: 00078513 mv a0,a5
80000240: ed5ff0ef jal ra,80000114 <vx_print_hex>
80000244: 810007b7 lui a5,0x81000
80000248: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
8000024c: e8dff0ef jal ra,800000d8 <vx_print_str>
80000250: 810007b7 lui a5,0x81000
80000254: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000258: 00c7a783 lw a5,12(a5)
8000025c: 00078513 mv a0,a5
80000260: eb5ff0ef jal ra,80000114 <vx_print_hex>
80000264: 810007b7 lui a5,0x81000
80000268: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
8000026c: e6dff0ef jal ra,800000d8 <vx_print_str>
80000270: 00000013 nop
80000274: 01c12083 lw ra,28(sp)
80000278: 01812403 lw s0,24(sp)
8000027c: 02010113 addi sp,sp,32
80000280: 00008067 ret
80000164 <vx_printf>:
80000164: fe010113 addi sp,sp,-32
80000168: 00112e23 sw ra,28(sp)
8000016c: 00812c23 sw s0,24(sp)
80000170: 02010413 addi s0,sp,32
80000174: fea42623 sw a0,-20(s0)
80000178: feb42423 sw a1,-24(s0)
8000017c: fec42503 lw a0,-20(s0)
80000180: f61ff0ef jal ra,800000e0 <vx_print_str>
80000184: fe842503 lw a0,-24(s0)
80000188: f95ff0ef jal ra,8000011c <vx_print_hex>
8000018c: 810007b7 lui a5,0x81000
80000190: 04078513 addi a0,a5,64 # 81000040 <wsapwn_arr+0xfffffe58>
80000194: f4dff0ef jal ra,800000e0 <vx_print_str>
80000198: 00000013 nop
8000019c: 01c12083 lw ra,28(sp)
800001a0: 01812403 lw s0,24(sp)
800001a4: 02010113 addi sp,sp,32
800001a8: 00008067 ret
80000284 <test_divergence>:
80000284: fe010113 addi sp,sp,-32
80000288: 00112e23 sw ra,28(sp)
8000028c: 00812c23 sw s0,24(sp)
80000290: 02010413 addi s0,sp,32
80000294: dfdff0ef jal ra,80000090 <vx_threadID>
80000298: fea42623 sw a0,-20(s0)
8000029c: fec42783 lw a5,-20(s0)
800002a0: 0027b793 sltiu a5,a5,2
800002a4: fef405a3 sb a5,-21(s0)
800002a8: feb44783 lbu a5,-21(s0)
800002ac: 00078513 mv a0,a5
800002b0: dc9ff0ef jal ra,80000078 <vx_split>
800002b4: feb44783 lbu a5,-21(s0)
800002b8: 06078463 beqz a5,80000320 <test_divergence+0x9c>
800002bc: fec42783 lw a5,-20(s0)
800002c0: 0017b793 seqz a5,a5
800002c4: fef40523 sb a5,-22(s0)
800002c8: fea44783 lbu a5,-22(s0)
800002cc: 00078513 mv a0,a5
800002d0: da9ff0ef jal ra,80000078 <vx_split>
800002d4: fea44783 lbu a5,-22(s0)
800002d8: 02078263 beqz a5,800002fc <test_divergence+0x78>
800002dc: 810007b7 lui a5,0x81000
800002e0: fec42703 lw a4,-20(s0)
800002e4: 00271713 slli a4,a4,0x2
800002e8: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800002ec: 00f707b3 add a5,a4,a5
800002f0: 00a00713 li a4,10
800002f4: 00e7a023 sw a4,0(a5)
800002f8: 0200006f j 80000318 <test_divergence+0x94>
800002fc: 810007b7 lui a5,0x81000
80000300: fec42703 lw a4,-20(s0)
80000304: 00271713 slli a4,a4,0x2
80000308: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
8000030c: 00f707b3 add a5,a4,a5
80000310: 00b00713 li a4,11
80000314: 00e7a023 sw a4,0(a5)
80000318: d69ff0ef jal ra,80000080 <vx_join>
8000031c: 0640006f j 80000380 <test_divergence+0xfc>
80000320: fec42783 lw a5,-20(s0)
80000324: 0037b793 sltiu a5,a5,3
80000328: fef404a3 sb a5,-23(s0)
8000032c: fe944783 lbu a5,-23(s0)
80000330: 00078513 mv a0,a5
80000334: d45ff0ef jal ra,80000078 <vx_split>
80000338: fe944783 lbu a5,-23(s0)
8000033c: 02078263 beqz a5,80000360 <test_divergence+0xdc>
80000340: 810007b7 lui a5,0x81000
80000344: fec42703 lw a4,-20(s0)
80000348: 00271713 slli a4,a4,0x2
8000034c: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000350: 00f707b3 add a5,a4,a5
80000354: 00c00713 li a4,12
80000358: 00e7a023 sw a4,0(a5)
8000035c: 0200006f j 8000037c <test_divergence+0xf8>
80000360: 810007b7 lui a5,0x81000
80000364: fec42703 lw a4,-20(s0)
80000368: 00271713 slli a4,a4,0x2
8000036c: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000370: 00f707b3 add a5,a4,a5
80000374: 00d00713 li a4,13
80000378: 00e7a023 sw a4,0(a5)
8000037c: d05ff0ef jal ra,80000080 <vx_join>
80000380: d01ff0ef jal ra,80000080 <vx_join>
80000384: 810007b7 lui a5,0x81000
80000388: 1d87a783 lw a5,472(a5) # 810001d8 <wsapwn_arr+0xfffffff0>
8000038c: 00078513 mv a0,a5
80000390: d85ff0ef jal ra,80000114 <vx_print_hex>
80000394: 810007b7 lui a5,0x81000
80000398: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
8000039c: d3dff0ef jal ra,800000d8 <vx_print_str>
800003a0: 810007b7 lui a5,0x81000
800003a4: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800003a8: 0047a783 lw a5,4(a5)
800003ac: 00078513 mv a0,a5
800003b0: d65ff0ef jal ra,80000114 <vx_print_hex>
800003b4: 810007b7 lui a5,0x81000
800003b8: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800003bc: d1dff0ef jal ra,800000d8 <vx_print_str>
800003c0: 810007b7 lui a5,0x81000
800003c4: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800003c8: 0087a783 lw a5,8(a5)
800003cc: 00078513 mv a0,a5
800003d0: d45ff0ef jal ra,80000114 <vx_print_hex>
800003d4: 810007b7 lui a5,0x81000
800003d8: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800003dc: cfdff0ef jal ra,800000d8 <vx_print_str>
800003e0: 810007b7 lui a5,0x81000
800003e4: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800003e8: 00c7a783 lw a5,12(a5)
800003ec: 00078513 mv a0,a5
800003f0: d25ff0ef jal ra,80000114 <vx_print_hex>
800003f4: 810007b7 lui a5,0x81000
800003f8: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800003fc: cddff0ef jal ra,800000d8 <vx_print_str>
80000400: 00000013 nop
80000404: 01c12083 lw ra,28(sp)
80000408: 01812403 lw s0,24(sp)
8000040c: 02010113 addi sp,sp,32
80000410: 00008067 ret
800001ac <test_tmc>:
800001ac: fe010113 addi sp,sp,-32
800001b0: 00112e23 sw ra,28(sp)
800001b4: 00812c23 sw s0,24(sp)
800001b8: 02010413 addi s0,sp,32
800001bc: 810007b7 lui a5,0x81000
800001c0: 08478513 addi a0,a5,132 # 81000084 <wsapwn_arr+0xfffffe9c>
800001c4: f1dff0ef jal ra,800000e0 <vx_print_str>
800001c8: 00400513 li a0,4
800001cc: ea5ff0ef jal ra,80000070 <vx_tmc>
800001d0: ec9ff0ef jal ra,80000098 <vx_threadID>
800001d4: fea42623 sw a0,-20(s0)
800001d8: fec42703 lw a4,-20(s0)
800001dc: 810007b7 lui a5,0x81000
800001e0: fec42683 lw a3,-20(s0)
800001e4: 00269693 slli a3,a3,0x2
800001e8: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800001ec: 00f687b3 add a5,a3,a5
800001f0: 00e7a023 sw a4,0(a5)
800001f4: 00100513 li a0,1
800001f8: e79ff0ef jal ra,80000070 <vx_tmc>
800001fc: 810007b7 lui a5,0x81000
80000200: 1d87a783 lw a5,472(a5) # 810001d8 <wsapwn_arr+0xfffffff0>
80000204: 00078513 mv a0,a5
80000208: f15ff0ef jal ra,8000011c <vx_print_hex>
8000020c: 810007b7 lui a5,0x81000
80000210: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
80000214: ecdff0ef jal ra,800000e0 <vx_print_str>
80000218: 810007b7 lui a5,0x81000
8000021c: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000220: 0047a783 lw a5,4(a5)
80000224: 00078513 mv a0,a5
80000228: ef5ff0ef jal ra,8000011c <vx_print_hex>
8000022c: 810007b7 lui a5,0x81000
80000230: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
80000234: eadff0ef jal ra,800000e0 <vx_print_str>
80000238: 810007b7 lui a5,0x81000
8000023c: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000240: 0087a783 lw a5,8(a5)
80000244: 00078513 mv a0,a5
80000248: ed5ff0ef jal ra,8000011c <vx_print_hex>
8000024c: 810007b7 lui a5,0x81000
80000250: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
80000254: e8dff0ef jal ra,800000e0 <vx_print_str>
80000258: 810007b7 lui a5,0x81000
8000025c: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000260: 00c7a783 lw a5,12(a5)
80000264: 00078513 mv a0,a5
80000268: eb5ff0ef jal ra,8000011c <vx_print_hex>
8000026c: 810007b7 lui a5,0x81000
80000270: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
80000274: e6dff0ef jal ra,800000e0 <vx_print_str>
80000278: 00000013 nop
8000027c: 01c12083 lw ra,28(sp)
80000280: 01812403 lw s0,24(sp)
80000284: 02010113 addi sp,sp,32
80000288: 00008067 ret
80000414 <simple_kernel>:
80000414: fe010113 addi sp,sp,-32
80000418: 00112e23 sw ra,28(sp)
8000041c: 00812c23 sw s0,24(sp)
80000420: 02010413 addi s0,sp,32
80000424: c65ff0ef jal ra,80000088 <vx_warpID>
80000428: fea42623 sw a0,-20(s0)
8000042c: 810007b7 lui a5,0x81000
80000430: fec42703 lw a4,-20(s0)
80000434: 00271713 slli a4,a4,0x2
80000438: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
8000043c: 00f707b3 add a5,a4,a5
80000440: fec42703 lw a4,-20(s0)
80000444: 00e7a023 sw a4,0(a5)
80000448: fec42783 lw a5,-20(s0)
8000044c: 00078663 beqz a5,80000458 <simple_kernel+0x44>
80000450: 00000513 li a0,0
80000454: c15ff0ef jal ra,80000068 <vx_tmc>
80000458: 00000013 nop
8000045c: 01c12083 lw ra,28(sp)
80000460: 01812403 lw s0,24(sp)
80000464: 02010113 addi sp,sp,32
80000468: 00008067 ret
8000028c <test_divergence>:
8000028c: fe010113 addi sp,sp,-32
80000290: 00112e23 sw ra,28(sp)
80000294: 00812c23 sw s0,24(sp)
80000298: 02010413 addi s0,sp,32
8000029c: dfdff0ef jal ra,80000098 <vx_threadID>
800002a0: fea42623 sw a0,-20(s0)
800002a4: fec42783 lw a5,-20(s0)
800002a8: 0027b793 sltiu a5,a5,2
800002ac: fef405a3 sb a5,-21(s0)
800002b0: feb44783 lbu a5,-21(s0)
800002b4: 00078513 mv a0,a5
800002b8: dc9ff0ef jal ra,80000080 <vx_split>
800002bc: feb44783 lbu a5,-21(s0)
800002c0: 06078463 beqz a5,80000328 <test_divergence+0x9c>
800002c4: fec42783 lw a5,-20(s0)
800002c8: 0017b793 seqz a5,a5
800002cc: fef40523 sb a5,-22(s0)
800002d0: fea44783 lbu a5,-22(s0)
800002d4: 00078513 mv a0,a5
800002d8: da9ff0ef jal ra,80000080 <vx_split>
800002dc: fea44783 lbu a5,-22(s0)
800002e0: 02078263 beqz a5,80000304 <test_divergence+0x78>
800002e4: 810007b7 lui a5,0x81000
800002e8: fec42703 lw a4,-20(s0)
800002ec: 00271713 slli a4,a4,0x2
800002f0: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800002f4: 00f707b3 add a5,a4,a5
800002f8: 00a00713 li a4,10
800002fc: 00e7a023 sw a4,0(a5)
80000300: 0200006f j 80000320 <test_divergence+0x94>
80000304: 810007b7 lui a5,0x81000
80000308: fec42703 lw a4,-20(s0)
8000030c: 00271713 slli a4,a4,0x2
80000310: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000314: 00f707b3 add a5,a4,a5
80000318: 00b00713 li a4,11
8000031c: 00e7a023 sw a4,0(a5)
80000320: d69ff0ef jal ra,80000088 <vx_join>
80000324: 0640006f j 80000388 <test_divergence+0xfc>
80000328: fec42783 lw a5,-20(s0)
8000032c: 0037b793 sltiu a5,a5,3
80000330: fef404a3 sb a5,-23(s0)
80000334: fe944783 lbu a5,-23(s0)
80000338: 00078513 mv a0,a5
8000033c: d45ff0ef jal ra,80000080 <vx_split>
80000340: fe944783 lbu a5,-23(s0)
80000344: 02078263 beqz a5,80000368 <test_divergence+0xdc>
80000348: 810007b7 lui a5,0x81000
8000034c: fec42703 lw a4,-20(s0)
80000350: 00271713 slli a4,a4,0x2
80000354: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000358: 00f707b3 add a5,a4,a5
8000035c: 00c00713 li a4,12
80000360: 00e7a023 sw a4,0(a5)
80000364: 0200006f j 80000384 <test_divergence+0xf8>
80000368: 810007b7 lui a5,0x81000
8000036c: fec42703 lw a4,-20(s0)
80000370: 00271713 slli a4,a4,0x2
80000374: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
80000378: 00f707b3 add a5,a4,a5
8000037c: 00d00713 li a4,13
80000380: 00e7a023 sw a4,0(a5)
80000384: d05ff0ef jal ra,80000088 <vx_join>
80000388: d01ff0ef jal ra,80000088 <vx_join>
8000038c: 810007b7 lui a5,0x81000
80000390: 1d87a783 lw a5,472(a5) # 810001d8 <wsapwn_arr+0xfffffff0>
80000394: 00078513 mv a0,a5
80000398: d85ff0ef jal ra,8000011c <vx_print_hex>
8000039c: 810007b7 lui a5,0x81000
800003a0: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800003a4: d3dff0ef jal ra,800000e0 <vx_print_str>
800003a8: 810007b7 lui a5,0x81000
800003ac: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800003b0: 0047a783 lw a5,4(a5)
800003b4: 00078513 mv a0,a5
800003b8: d65ff0ef jal ra,8000011c <vx_print_hex>
800003bc: 810007b7 lui a5,0x81000
800003c0: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800003c4: d1dff0ef jal ra,800000e0 <vx_print_str>
800003c8: 810007b7 lui a5,0x81000
800003cc: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800003d0: 0087a783 lw a5,8(a5)
800003d4: 00078513 mv a0,a5
800003d8: d45ff0ef jal ra,8000011c <vx_print_hex>
800003dc: 810007b7 lui a5,0x81000
800003e0: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800003e4: cfdff0ef jal ra,800000e0 <vx_print_str>
800003e8: 810007b7 lui a5,0x81000
800003ec: 1d878793 addi a5,a5,472 # 810001d8 <wsapwn_arr+0xfffffff0>
800003f0: 00c7a783 lw a5,12(a5)
800003f4: 00078513 mv a0,a5
800003f8: d25ff0ef jal ra,8000011c <vx_print_hex>
800003fc: 810007b7 lui a5,0x81000
80000400: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
80000404: cddff0ef jal ra,800000e0 <vx_print_str>
80000408: 00000013 nop
8000040c: 01c12083 lw ra,28(sp)
80000410: 01812403 lw s0,24(sp)
80000414: 02010113 addi sp,sp,32
80000418: 00008067 ret
8000046c <test_wsapwn>:
8000046c: fe010113 addi sp,sp,-32
80000470: 00112e23 sw ra,28(sp)
80000474: 00812c23 sw s0,24(sp)
80000478: 02010413 addi s0,sp,32
8000047c: 800007b7 lui a5,0x80000
80000480: 41478793 addi a5,a5,1044 # 80000414 <wsapwn_arr+0xff00022c>
80000484: fef42623 sw a5,-20(s0)
80000488: fec42583 lw a1,-20(s0)
8000048c: 00400513 li a0,4
80000490: bd1ff0ef jal ra,80000060 <vx_wspawn>
80000494: f81ff0ef jal ra,80000414 <simple_kernel>
80000498: 810007b7 lui a5,0x81000
8000049c: 1e87a783 lw a5,488(a5) # 810001e8 <wsapwn_arr+0x0>
800004a0: 00078513 mv a0,a5
800004a4: c71ff0ef jal ra,80000114 <vx_print_hex>
800004a8: 810007b7 lui a5,0x81000
800004ac: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800004b0: c29ff0ef jal ra,800000d8 <vx_print_str>
800004b4: 810007b7 lui a5,0x81000
800004b8: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
800004bc: 0047a783 lw a5,4(a5)
800004c0: 00078513 mv a0,a5
800004c4: c51ff0ef jal ra,80000114 <vx_print_hex>
800004c8: 810007b7 lui a5,0x81000
800004cc: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800004d0: c09ff0ef jal ra,800000d8 <vx_print_str>
800004d4: 810007b7 lui a5,0x81000
800004d8: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
800004dc: 0087a783 lw a5,8(a5)
800004e0: 00078513 mv a0,a5
800004e4: c31ff0ef jal ra,80000114 <vx_print_hex>
800004e8: 810007b7 lui a5,0x81000
800004ec: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800004f0: be9ff0ef jal ra,800000d8 <vx_print_str>
800004f4: 810007b7 lui a5,0x81000
800004f8: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
800004fc: 00c7a783 lw a5,12(a5)
80000500: 00078513 mv a0,a5
80000504: c11ff0ef jal ra,80000114 <vx_print_hex>
80000508: 810007b7 lui a5,0x81000
8000050c: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
80000510: bc9ff0ef jal ra,800000d8 <vx_print_str>
80000514: 00000013 nop
80000518: 01c12083 lw ra,28(sp)
8000051c: 01812403 lw s0,24(sp)
80000520: 02010113 addi sp,sp,32
80000524: 00008067 ret
8000041c <simple_kernel>:
8000041c: fe010113 addi sp,sp,-32
80000420: 00112e23 sw ra,28(sp)
80000424: 00812c23 sw s0,24(sp)
80000428: 02010413 addi s0,sp,32
8000042c: c65ff0ef jal ra,80000090 <vx_warpID>
80000430: fea42623 sw a0,-20(s0)
80000434: 810007b7 lui a5,0x81000
80000438: fec42703 lw a4,-20(s0)
8000043c: 00271713 slli a4,a4,0x2
80000440: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
80000444: 00f707b3 add a5,a4,a5
80000448: fec42703 lw a4,-20(s0)
8000044c: 00e7a023 sw a4,0(a5)
80000450: fec42783 lw a5,-20(s0)
80000454: 00078663 beqz a5,80000460 <simple_kernel+0x44>
80000458: 00000513 li a0,0
8000045c: c15ff0ef jal ra,80000070 <vx_tmc>
80000460: 00000013 nop
80000464: 01c12083 lw ra,28(sp)
80000468: 01812403 lw s0,24(sp)
8000046c: 02010113 addi sp,sp,32
80000470: 00008067 ret
80000528 <intrinsics_tests>:
80000528: ff010113 addi sp,sp,-16
8000052c: 00112623 sw ra,12(sp)
80000530: 00812423 sw s0,8(sp)
80000534: 01010413 addi s0,sp,16
80000538: c6dff0ef jal ra,800001a4 <test_tmc>
8000053c: 810007b7 lui a5,0x81000
80000540: 09478513 addi a0,a5,148 # 81000094 <wsapwn_arr+0xfffffeac>
80000544: b95ff0ef jal ra,800000d8 <vx_print_str>
80000548: 00400513 li a0,4
8000054c: b1dff0ef jal ra,80000068 <vx_tmc>
80000550: d35ff0ef jal ra,80000284 <test_divergence>
80000554: 00100513 li a0,1
80000558: b11ff0ef jal ra,80000068 <vx_tmc>
8000055c: 810007b7 lui a5,0x81000
80000560: 0a878513 addi a0,a5,168 # 810000a8 <wsapwn_arr+0xfffffec0>
80000564: b75ff0ef jal ra,800000d8 <vx_print_str>
80000568: f05ff0ef jal ra,8000046c <test_wsapwn>
8000056c: 00000013 nop
80000570: 00c12083 lw ra,12(sp)
80000574: 00812403 lw s0,8(sp)
80000578: 01010113 addi sp,sp,16
8000057c: 00008067 ret
80000474 <test_wsapwn>:
80000474: fe010113 addi sp,sp,-32
80000478: 00112e23 sw ra,28(sp)
8000047c: 00812c23 sw s0,24(sp)
80000480: 02010413 addi s0,sp,32
80000484: 800007b7 lui a5,0x80000
80000488: 41c78793 addi a5,a5,1052 # 8000041c <wsapwn_arr+0xff000234>
8000048c: fef42623 sw a5,-20(s0)
80000490: fec42583 lw a1,-20(s0)
80000494: 00400513 li a0,4
80000498: bd1ff0ef jal ra,80000068 <vx_wspawn>
8000049c: f81ff0ef jal ra,8000041c <simple_kernel>
800004a0: 810007b7 lui a5,0x81000
800004a4: 1e87a783 lw a5,488(a5) # 810001e8 <wsapwn_arr+0x0>
800004a8: 00078513 mv a0,a5
800004ac: c71ff0ef jal ra,8000011c <vx_print_hex>
800004b0: 810007b7 lui a5,0x81000
800004b4: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800004b8: c29ff0ef jal ra,800000e0 <vx_print_str>
800004bc: 810007b7 lui a5,0x81000
800004c0: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
800004c4: 0047a783 lw a5,4(a5)
800004c8: 00078513 mv a0,a5
800004cc: c51ff0ef jal ra,8000011c <vx_print_hex>
800004d0: 810007b7 lui a5,0x81000
800004d4: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800004d8: c09ff0ef jal ra,800000e0 <vx_print_str>
800004dc: 810007b7 lui a5,0x81000
800004e0: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
800004e4: 0087a783 lw a5,8(a5)
800004e8: 00078513 mv a0,a5
800004ec: c31ff0ef jal ra,8000011c <vx_print_hex>
800004f0: 810007b7 lui a5,0x81000
800004f4: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
800004f8: be9ff0ef jal ra,800000e0 <vx_print_str>
800004fc: 810007b7 lui a5,0x81000
80000500: 1e878793 addi a5,a5,488 # 810001e8 <wsapwn_arr+0x0>
80000504: 00c7a783 lw a5,12(a5)
80000508: 00078513 mv a0,a5
8000050c: c11ff0ef jal ra,8000011c <vx_print_hex>
80000510: 810007b7 lui a5,0x81000
80000514: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffea8>
80000518: bc9ff0ef jal ra,800000e0 <vx_print_str>
8000051c: 00000013 nop
80000520: 01c12083 lw ra,28(sp)
80000524: 01812403 lw s0,24(sp)
80000528: 02010113 addi sp,sp,32
8000052c: 00008067 ret
80000580 <main>:
80000580: ff010113 addi sp,sp,-16
80000584: 00112623 sw ra,12(sp)
80000588: 00812423 sw s0,8(sp)
8000058c: 01010413 addi s0,sp,16
80000590: 00100513 li a0,1
80000594: ad5ff0ef jal ra,80000068 <vx_tmc>
80000598: c0dff0ef jal ra,800001a4 <test_tmc>
8000059c: 810007b7 lui a5,0x81000
800005a0: 0f478513 addi a0,a5,244 # 810000f4 <wsapwn_arr+0xffffff0c>
800005a4: b35ff0ef jal ra,800000d8 <vx_print_str>
800005a8: 00400513 li a0,4
800005ac: abdff0ef jal ra,80000068 <vx_tmc>
800005b0: cd5ff0ef jal ra,80000284 <test_divergence>
800005b4: 00100513 li a0,1
800005b8: ab1ff0ef jal ra,80000068 <vx_tmc>
800005bc: 810007b7 lui a5,0x81000
800005c0: 10878513 addi a0,a5,264 # 81000108 <wsapwn_arr+0xffffff20>
800005c4: b15ff0ef jal ra,800000d8 <vx_print_str>
800005c8: ea5ff0ef jal ra,8000046c <test_wsapwn>
800005cc: 00000793 li a5,0
800005d0: 00078513 mv a0,a5
800005d4: 00c12083 lw ra,12(sp)
800005d8: 00812403 lw s0,8(sp)
800005dc: 01010113 addi sp,sp,16
800005e0: 00008067 ret
80000530 <intrinsics_tests>:
80000530: ff010113 addi sp,sp,-16
80000534: 00112623 sw ra,12(sp)
80000538: 00812423 sw s0,8(sp)
8000053c: 01010413 addi s0,sp,16
80000540: c6dff0ef jal ra,800001ac <test_tmc>
80000544: 810007b7 lui a5,0x81000
80000548: 09478513 addi a0,a5,148 # 81000094 <wsapwn_arr+0xfffffeac>
8000054c: b95ff0ef jal ra,800000e0 <vx_print_str>
80000550: 00400513 li a0,4
80000554: b1dff0ef jal ra,80000070 <vx_tmc>
80000558: d35ff0ef jal ra,8000028c <test_divergence>
8000055c: 00100513 li a0,1
80000560: b11ff0ef jal ra,80000070 <vx_tmc>
80000564: 810007b7 lui a5,0x81000
80000568: 0a878513 addi a0,a5,168 # 810000a8 <wsapwn_arr+0xfffffec0>
8000056c: b75ff0ef jal ra,800000e0 <vx_print_str>
80000570: f05ff0ef jal ra,80000474 <test_wsapwn>
80000574: 00000013 nop
80000578: 00c12083 lw ra,12(sp)
8000057c: 00812403 lw s0,8(sp)
80000580: 01010113 addi sp,sp,16
80000584: 00008067 ret
80000588 <main>:
80000588: ff010113 addi sp,sp,-16
8000058c: 00112623 sw ra,12(sp)
80000590: 00812423 sw s0,8(sp)
80000594: 01010413 addi s0,sp,16
80000598: 00100513 li a0,1
8000059c: ad5ff0ef jal ra,80000070 <vx_tmc>
800005a0: c0dff0ef jal ra,800001ac <test_tmc>
800005a4: 810007b7 lui a5,0x81000
800005a8: 0f478513 addi a0,a5,244 # 810000f4 <wsapwn_arr+0xffffff0c>
800005ac: b35ff0ef jal ra,800000e0 <vx_print_str>
800005b0: 00400513 li a0,4
800005b4: abdff0ef jal ra,80000070 <vx_tmc>
800005b8: cd5ff0ef jal ra,8000028c <test_divergence>
800005bc: 00100513 li a0,1
800005c0: ab1ff0ef jal ra,80000070 <vx_tmc>
800005c4: 810007b7 lui a5,0x81000
800005c8: 10878513 addi a0,a5,264 # 81000108 <wsapwn_arr+0xffffff20>
800005cc: b15ff0ef jal ra,800000e0 <vx_print_str>
800005d0: ea5ff0ef jal ra,80000474 <test_wsapwn>
800005d4: 00000793 li a5,0
800005d8: 00078513 mv a0,a5
800005dc: 00c12083 lw ra,12(sp)
800005e0: 00812403 lw s0,8(sp)
800005e4: 01010113 addi sp,sp,16
800005e8: 00008067 ret
Disassembly of section .rodata:
@ -454,7 +456,7 @@ Disassembly of section .rodata:
8100002a: 0000 unimp
8100002c: 0062 c.slli zero,0x18
8100002e: 0000 unimp
81000030: 00000063 beqz zero,81000030 <main+0xfffab0>
81000030: 00000063 beqz zero,81000030 <main+0xfffaa8>
81000034: 0064 addi s1,sp,12
81000036: 0000 unimp
81000038: 0065 c.nop 25
@ -485,7 +487,7 @@ Disassembly of section .rodata:
8100006e: 0000 unimp
81000070: 0062 c.slli zero,0x18
81000072: 0000 unimp
81000074: 00000063 beqz zero,81000074 <main+0xfffaf4>
81000074: 00000063 beqz zero,81000074 <main+0xfffaec>
81000078: 0064 addi s1,sp,12
8100007a: 0000 unimp
8100007c: 0065 c.nop 25
@ -533,7 +535,7 @@ Disassembly of section .rodata:
810000de: 0000 unimp
810000e0: 0062 c.slli zero,0x18
810000e2: 0000 unimp
810000e4: 00000063 beqz zero,810000e4 <main+0xfffb64>
810000e4: 00000063 beqz zero,810000e4 <main+0xfffb5c>
810000e8: 0064 addi s1,sp,12
810000ea: 0000 unimp
810000ec: 0065 c.nop 25

Binary file not shown.

View file

@ -1,99 +1,99 @@
:0200000480007A
:100000009705000093850502130540006B10B500AD
:10001000EF000001EF00C056130500006B00050063
:10002000130540006B000500F32610029396F600BE
:10003000732600029315A6001316260037F1FF6FF2
:100040003301B1403301D1403301C100F326100226
:1000500063860600130500006B0005006780000042
:100060006B10B500678000006B0005006780000022
:100070006B40B500678000006B20050067800000C2
:100080006B3000006780000073251002678000005D
:100090007325000267800000130540006B00050017
:1000A000F32610029396F600732600029315A6001D
:1000B0001316260037F1FF6F3301B1403301D140F1
:1000C0003301C100F3261002638606001305000009
:1000D0006B00050067800000130141FF2320110021
:1000E0002322B1008345050063880500EF00C001AD
:1000F000130515006FF01FFF8320010083254100C9
:100100001301C10067800000B702010023A0B20004
:1001100067800000130101FE232E1100232C8100B3
:10012000130401022326A4FEB70700810327C4FE9F
:100130001317270093878711B307F70083A70700DA
:1001400013850700EFF05FF9130000008320C10161
:10015000032481011301010267800000130101FEE5
:10016000232E1100232C8100130401022326A4FE58
:100170002324B4FE0325C4FEEFF01FF6032584FEFE
:10018000EFF05FF9B707008113850704EFF0DFF4A4
:10019000130000008320C101032481011301010227
:1001A00067800000130101FE232E1100232C810023
:1001B00013040102B707008113854708EFF0DFF150
:1001C00013054000EFF05FEAEFF09FEC2326A4FE5A
:1001D0000327C4FEB70700818326C4FE939626003A
:1001E0009387871DB387F60023A0E700130510004F
:1001F000EFF09FE7B707008183A7871D13850700EE
:10020000EFF05FF1B707008113850709EFF0DFEC2E
:10021000B70700819387871D83A7470013850700D1
:10022000EFF05FEFB707008113850709EFF0DFEA12
:10023000B70700819387871D83A787001385070071
:10024000EFF05FEDB707008113850709EFF0DFE8F6
:10025000B70700819387871D83A7C7001385070011
:10026000EFF05FEBB707008113850709EFF0DFE6DA
:10027000130000008320C101032481011301010246
:1002800067800000130101FE232E1100232C810042
:1002900013040102EFF0DFDF2326A4FE8327C4FE50
:1002A00093B72700A305F4FE8347B4FE1385070028
:1002B000EFF09FDC8347B4FE638407068327C4FE08
:1002C00093B717002305F4FE8347A4FE13850700A8
:1002D000EFF09FDA8347A4FE63820702B70700812D
:1002E0000327C4FE131727009387871DB307F70062
:1002F0001307A00023A0E7006F000002B7070081EA
:100300000327C4FE131727009387871DB307F70041
:100310001307B00023A0E700EFF09FD66F00400660
:100320008327C4FE93B73700A304F4FE834794FEEB
:1003300013850700EFF05FD4834794FE63820702C2
:10034000B70700810327C4FE131727009387871D73
:10035000B307F7001307C00023A0E7006F000002F7
:10036000B70700810327C4FE131727009387871D53
:10037000B307F7001307D00023A0E700EFF05FD02A
:10038000EFF01FD0B707008183A7871D13850700F3
:10039000EFF05FD8B707008113850709EFF0DFD3CF
:1003A000B70700819387871D83A747001385070040
:1003B000EFF05FD6B707008113850709EFF0DFD1B3
:1003C000B70700819387871D83A7870013850700E0
:1003D000EFF05FD4B707008113850709EFF0DFCF97
:1003E000B70700819387871D83A7C7001385070080
:1003F000EFF05FD2B707008113850709EFF0DFCD7B
:10040000130000008320C1010324810113010102B4
:1004100067800000130101FE232E1100232C8100B0
:1004200013040102EFF05FC62326A4FEB707008184
:100430000327C4FE131727009387871EB307F7000F
:100440000327C4FE23A0E7008327C4FE63860700BA
:1004500013050000EFF05FC1130000008320C1010D
:10046000032481011301010267800000130101FED2
:10047000232E1100232C810013040102B7070080F2
:10048000938747412326F4FE8325C4FE13054000CD
:10049000EFF01FBDEFF01FF8B707008183A7871E9D
:1004A00013850700EFF01FC7B70700811385070901
:1004B000EFF09FC2B70700819387871E83A747008D
:1004C00013850700EFF01FC5B707008113850709E3
:1004D000EFF09FC0B70700819387871E83A787002F
:1004E00013850700EFF01FC3B707008113850709C5
:1004F000EFF09FBEB70700819387871E83A7C700D1
:1005000013850700EFF01FC1B707008113850709A6
:10051000EFF09FBC130000008320C1010324810180
:100520001301010267800000130101FF232611005F
:100530002324810013040101EFF0DFC6B707008117
:1005400013854709EFF05FB913054000EFF0DFB105
:10055000EFF05FD313051000EFF01FB1B707008174
:100560001385870AEFF05FB7EFF05FF0130000002C
:100570008320C10003248100130101016780000072
:10058000130101FF2326110023248100130401011C
:1005900013051000EFF05FADEFF0DFC0B70700818B
:1005A0001385470FEFF05FB313054000EFF0DFABAB
:1005B000EFF05FCD13051000EFF01FABB707008120
:1005C00013858710EFF05FB1EFF05FEA930700004B
:1005D000138507008320C10003248100130101015A
:0405E0006780000030
:1000000013054000B74500409385653223A0A50045
:1000100013000000130000001300000003A60500F9
:10002000130500006B000500130540006B00050080
:10003000F32610029396F600732600029315A6008D
:100040001316260037F1FF6F3301B1403301D14061
:100050003301C100F3261002638606001305000079
:100060006B000500678000006B10B5006780000022
:100070006B000500678000006B40B50067800000E2
:100080006B200500678000006B3000006780000077
:10009000732510026780000073250002678000004E
:1000A000130540006B000500F32610029396F6003E
:1000B000732600029315A6001316260037F1FF6F72
:1000C0003301B1403301D1403301C100F3261002A6
:1000D00063860600130500006B00050067800000C2
:1000E000130141FF232011002322B10083450500A5
:1000F00063880500EF00C001130515006FF01FFFB6
:1001000083200100832541001301C10067800000A6
:10011000B702010023A0B20067800000130101FEB6
:10012000232E1100232C8100130401022326A4FE98
:10013000B70700810327C4FE131727009387871191
:10014000B307F70083A7070013850700EFF05FF9F7
:10015000130000008320C101032481011301010267
:1001600067800000130101FE232E1100232C810063
:10017000130401022326A4FE2324B4FE0325C4FE97
:10018000EFF01FF6032584FEEFF05FF9B70700815B
:1001900013850704EFF0DFF4130000008320C10192
:1001A000032481011301010267800000130101FE95
:1001B000232E1100232C810013040102B7070081B4
:1001C00013854708EFF0DFF113054000EFF05FEA19
:1001D000EFF09FEC2326A4FE0327C4FEB70700819F
:1001E0008326C4FE939626009387871DB387F60067
:1001F00023A0E70013051000EFF09FE7B707008189
:1002000083A7871D13850700EFF05FF1B707008113
:1002100013850709EFF0DFECB70700819387871D8F
:1002200083A7470013850700EFF05FEFB707008152
:1002300013850709EFF0DFEAB70700819387871D71
:1002400083A7870013850700EFF05FEDB7070081F4
:1002500013850709EFF0DFE8B70700819387871D53
:1002600083A7C70013850700EFF05FEBB707008196
:1002700013850709EFF0DFE6130000008320C101BA
:10028000032481011301010267800000130101FEB4
:10029000232E1100232C810013040102EFF0DFDF75
:1002A0002326A4FE8327C4FE93B72700A305F4FEEC
:1002B0008347B4FE13850700EFF09FDC8347B4FE4D
:1002C000638407068327C4FE93B717002305F4FE53
:1002D0008347A4FE13850700EFF09FDA8347A4FE4F
:1002E00063820702B70700810327C4FE13172700A4
:1002F0009387871DB307F7001307A00023A0E7002B
:100300006F000002B70700810327C4FE1317270000
:100310009387871DB307F7001307B00023A0E700FA
:10032000EFF09FD66F0040068327C4FE93B73700D7
:10033000A304F4FE834794FE13850700EFF05FD417
:10034000834794FE63820702B70700810327C4FE38
:10035000131727009387871DB307F7001307C00003
:1003600023A0E7006F000002B70700810327C4FE47
:10037000131727009387871DB307F7001307D000D3
:1003800023A0E700EFF05FD0EFF01FD0B7070081A8
:1003900083A7871D13850700EFF05FD8B70700819B
:1003A00013850709EFF0DFD3B70700819387871D17
:1003B00083A7470013850700EFF05FD6B7070081DA
:1003C00013850709EFF0DFD1B70700819387871DF9
:1003D00083A7870013850700EFF05FD4B70700817C
:1003E00013850709EFF0DFCFB70700819387871DDB
:1003F00083A7C70013850700EFF05FD2B70700811E
:1004000013850709EFF0DFCD130000008320C10141
:10041000032481011301010267800000130101FE22
:10042000232E1100232C810013040102EFF05FC67C
:100430002326A4FEB70700810327C4FE1317270055
:100440009387871EB307F7000327C4FE23A0E700A6
:100450008327C4FE6386070013050000EFF05FC129
:10046000130000008320C101032481011301010254
:1004700067800000130101FE232E1100232C810050
:1004800013040102B70700809387C7412326F4FEB7
:100490008325C4FE13054000EFF01FBDEFF01FF8E9
:1004A000B707008183A7871E13850700EFF01FC7DA
:1004B000B707008113850709EFF09FC2B7070081D6
:1004C0009387871E83A7470013850700EFF01FC59A
:1004D000B707008113850709EFF09FC0B7070081B8
:1004E0009387871E83A7870013850700EFF01FC33C
:1004F000B707008113850709EFF09FBEB70700819A
:100500009387871E83A7C70013850700EFF01FC1DD
:10051000B707008113850709EFF09FBC13000000A7
:100520008320C101032481011301010267800000BF
:10053000130101FF2326110023248100130401016C
:10054000EFF0DFC6B707008113854709EFF05FB909
:1005500013054000EFF0DFB1EFF05FD3130510009B
:10056000EFF01FB1B70700811385870AEFF05FB77F
:10057000EFF05FF0130000008320C100032481002E
:100580001301010167800000130101FF2326110000
:10059000232481001304010113051000EFF05FAD67
:1005A000EFF0DFC0B70700811385470FEFF05FB3AF
:1005B00013054000EFF0DFABEFF05FCD1305100047
:1005C000EFF01FABB707008113858710EFF05FB125
:1005D000EFF05FEA93070000138507008320C10056
:0C05E0000324810013010101678000006A
:02000004810079
:10000000300000003100000032000000330000002A
:10001000340000003500000036000000370000000A