diff options
author | Andrzej Janik <[email protected]> | 2020-09-02 20:58:54 +0200 |
---|---|---|
committer | Andrzej Janik <[email protected]> | 2020-09-02 20:58:54 +0200 |
commit | efd83981b8d4d26f25389db933bf70756f060f37 (patch) | |
tree | 4372b578c6fa511dd3a7f441bca6e451f2e2bc67 | |
parent | 87cc72494ec492d60011933b76d74d8a82d9393b (diff) | |
download | ZLUDA-efd83981b8d4d26f25389db933bf70756f060f37.tar.gz ZLUDA-efd83981b8d4d26f25389db933bf70756f060f37.zip |
Add support for blocks
-rw-r--r-- | ptx/src/test/_Z9vectorAddPKfS0_Pfi.ptx | 10423 | ||||
-rw-r--r-- | ptx/src/test/spirv_run/block.ptx | 26 | ||||
-rw-r--r-- | ptx/src/test/spirv_run/block.spvtxt | 44 | ||||
-rw-r--r-- | ptx/src/test/spirv_run/mod.rs | 1 | ||||
-rw-r--r-- | ptx/src/translate.rs | 40 |
5 files changed, 10527 insertions, 7 deletions
diff --git a/ptx/src/test/_Z9vectorAddPKfS0_Pfi.ptx b/ptx/src/test/_Z9vectorAddPKfS0_Pfi.ptx new file mode 100644 index 0000000..e5bc3d1 --- /dev/null +++ b/ptx/src/test/_Z9vectorAddPKfS0_Pfi.ptx @@ -0,0 +1,10423 @@ + + + + + + + + +.version 7.0 +.target sm_80, debug +.address_size 64 + + +.func (.param .b32 func_retval0) fabsf +( +.param .b32 fabsf_param_0 +) +; + +.weak .func (.param .b32 func_retval0) cudaMalloc( +.param .b64 cudaMalloc_param_0, +.param .b64 cudaMalloc_param_1 +) +{ +.local .align 8 .b8 __local_depot0[8]; +.reg .b64 %SP; +.reg .b64 %SPL; +.reg .b32 %r<3>; +.reg .b64 %rd<5>; + + +.loc 2 75 1 +func_begin0: +.loc 2 0 0 + +.loc 2 75 1 + +mov.u64 %SPL, __local_depot0; +cvta.local.u64 %SP, %SPL; +ld.param.u64 %rd1, [cudaMalloc_param_0]; +ld.param.u64 %rd2, [cudaMalloc_param_1]; +mov.u64 %rd3, %rd1; +st.u64 [%SP+0], %rd3; +mov.b64 %rd4, %rd2; +func_exec_begin0: +.loc 2 77 3 +tmp0: +mov.u32 %r1, 999; +mov.b32 %r2, %r1; +st.param.b32 [func_retval0+0], %r2; +ret; +tmp1: +func_end0: +} + + +.weak .func (.param .b32 func_retval0) cudaFuncGetAttributes( +.param .b64 cudaFuncGetAttributes_param_0, +.param .b64 cudaFuncGetAttributes_param_1 +) +{ +.local .align 8 .b8 __local_depot1[8]; +.reg .b64 %SP; +.reg .b64 %SPL; +.reg .b32 %r<3>; +.reg .b64 %rd<5>; + + +.loc 2 80 1 +func_begin1: +.loc 2 0 0 + +.loc 2 80 1 + +mov.u64 %SPL, __local_depot1; +cvta.local.u64 %SP, %SPL; +ld.param.u64 %rd1, [cudaFuncGetAttributes_param_0]; +ld.param.u64 %rd2, [cudaFuncGetAttributes_param_1]; +mov.u64 %rd3, %rd1; +st.u64 [%SP+0], %rd3; +mov.u64 %rd4, %rd2; +func_exec_begin1: +.loc 2 82 3 +tmp2: +mov.u32 %r1, 999; +mov.b32 %r2, %r1; +st.param.b32 [func_retval0+0], %r2; +ret; +tmp3: +func_end1: +} + + +.weak .func (.param .b32 func_retval0) cudaDeviceGetAttribute( +.param .b64 cudaDeviceGetAttribute_param_0, +.param .b32 cudaDeviceGetAttribute_param_1, +.param .b32 cudaDeviceGetAttribute_param_2 +) +{ +.reg .b32 %r<7>; +.reg .b64 %rd<3>; + + +.loc 2 85 1 +func_begin2: +.loc 2 0 0 + +.loc 2 85 1 + +ld.param.u64 %rd1, [cudaDeviceGetAttribute_param_0]; +ld.param.u32 %r1, [cudaDeviceGetAttribute_param_1]; +ld.param.u32 %r2, [cudaDeviceGetAttribute_param_2]; +mov.u64 %rd2, %rd1; +mov.b32 %r3, %r1; +mov.b32 %r4, %r2; +func_exec_begin2: +.loc 2 87 3 +tmp4: +mov.u32 %r5, 999; +mov.b32 %r6, %r5; +st.param.b32 [func_retval0+0], %r6; +ret; +tmp5: +func_end2: +} + + +.weak .func (.param .b32 func_retval0) cudaGetDevice( +.param .b64 cudaGetDevice_param_0 +) +{ +.reg .b32 %r<3>; +.reg .b64 %rd<3>; + + +.loc 2 90 1 +func_begin3: +.loc 2 0 0 + +.loc 2 90 1 + +ld.param.u64 %rd1, [cudaGetDevice_param_0]; +mov.u64 %rd2, %rd1; +func_exec_begin3: +.loc 2 92 3 +tmp6: +mov.u32 %r1, 999; +mov.b32 %r2, %r1; +st.param.b32 [func_retval0+0], %r2; +ret; +tmp7: +func_end3: +} + + +.weak .func (.param .b32 func_retval0) cudaOccupancyMaxActiveBlocksPerMultiprocessor( +.param .b64 cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_0, +.param .b64 cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_1, +.param .b32 cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_2, +.param .b64 cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_3 +) +{ +.reg .b32 %r<5>; +.reg .b64 %rd<7>; + + +.loc 2 95 1 +func_begin4: +.loc 2 0 0 + +.loc 2 95 1 + +ld.param.u64 %rd1, [cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_0]; +ld.param.u64 %rd2, [cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_1]; +ld.param.u32 %r1, [cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_2]; +ld.param.u64 %rd3, [cudaOccupancyMaxActiveBlocksPerMultiprocessor_param_3]; +mov.u64 %rd4, %rd1; +mov.u64 %rd5, %rd2; +mov.b32 %r2, %r1; +mov.b64 %rd6, %rd3; +func_exec_begin4: +.loc 2 97 3 +tmp8: +mov.u32 %r3, 999; +mov.b32 %r4, %r3; +st.param.b32 [func_retval0+0], %r4; +ret; +tmp9: +func_end4: +} + + +.weak .func (.param .b32 func_retval0) cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags( +.param .b64 cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_0, +.param .b64 cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_1, +.param .b32 cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_2, +.param .b64 cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_3, +.param .b32 cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_4 +) +{ +.reg .b32 %r<7>; +.reg .b64 %rd<7>; + + +.loc 2 100 1 +func_begin5: +.loc 2 0 0 + +.loc 2 100 1 + +ld.param.u64 %rd1, [cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_0]; +ld.param.u64 %rd2, [cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_1]; +ld.param.u32 %r1, [cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_2]; +ld.param.u64 %rd3, [cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_3]; +ld.param.u32 %r2, [cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_param_4]; +mov.u64 %rd4, %rd1; +mov.u64 %rd5, %rd2; +mov.b32 %r3, %r1; +mov.b64 %rd6, %rd3; +mov.b32 %r4, %r2; +func_exec_begin5: +.loc 2 102 3 +tmp10: +mov.u32 %r5, 999; +mov.b32 %r6, %r5; +st.param.b32 [func_retval0+0], %r6; +ret; +tmp11: +func_end5: +} + + +.visible .entry _Z9vectorAddPKfS0_Pfi( +.param .u64 _Z9vectorAddPKfS0_Pfi_param_0, +.param .u64 _Z9vectorAddPKfS0_Pfi_param_1, +.param .u64 _Z9vectorAddPKfS0_Pfi_param_2, +.param .u32 _Z9vectorAddPKfS0_Pfi_param_3 +) +{ +.reg .pred %p<3>; +.reg .f32 %f<4>; +.reg .b32 %r<7>; +.reg .b64 %rd<13>; + + +.loc 1 33 1 +func_begin6: +.loc 1 0 0 + +.loc 1 33 1 + +ld.param.u64 %rd1, [_Z9vectorAddPKfS0_Pfi_param_0]; +ld.param.u64 %rd2, [_Z9vectorAddPKfS0_Pfi_param_1]; +ld.param.u64 %rd3, [_Z9vectorAddPKfS0_Pfi_param_2]; +ld.param.u32 %r2, [_Z9vectorAddPKfS0_Pfi_param_3]; +func_exec_begin6: +.loc 1 35 11 +tmp12: +mov.u32 %r3, %ntid.x; +mov.u32 %r4, %ctaid.x; +mul.lo.s32 %r5, %r3, %r4; +mov.u32 %r6, %tid.x; +add.s32 %r1, %r5, %r6; +tmp13: +.loc 1 37 5 +setp.lt.s32 %p1, %r1, %r2; +not.pred %p2, %p1; +@%p2 bra BB6_2; +bra.uni BB6_1; + +BB6_1: +.loc 1 39 9 +tmp14: +cvt.s64.s32 %rd4, %r1; +shl.b64 %rd5, %rd4, 2; +add.s64 %rd6, %rd1, %rd5; +ld.f32 %f1, [%rd6]; +cvt.s64.s32 %rd7, %r1; +shl.b64 %rd8, %rd7, 2; +add.s64 %rd9, %rd2, %rd8; +ld.f32 %f2, [%rd9]; +add.f32 %f3, %f1, %f2; +cvt.s64.s32 %rd10, %r1; +shl.b64 %rd11, %rd10, 2; +add.s64 %rd12, %rd3, %rd11; +st.f32 [%rd12], %f3; +tmp15: + +BB6_2: +.loc 1 41 1 +ret; +tmp16: +func_end6: +} + + +.visible .func _ZN4dim3C1Ejjj( +.param .b64 _ZN4dim3C1Ejjj_param_0, +.param .b32 _ZN4dim3C1Ejjj_param_1, +.param .b32 _ZN4dim3C1Ejjj_param_2, +.param .b32 _ZN4dim3C1Ejjj_param_3 +) +{ +.reg .b32 %r<4>; +.reg .b64 %rd<2>; + + +.loc 3 421 1 +func_begin7: +.loc 3 0 0 + +.loc 3 421 1 + +ld.param.u64 %rd1, [_ZN4dim3C1Ejjj_param_0]; +ld.param.u32 %r1, [_ZN4dim3C1Ejjj_param_1]; +ld.param.u32 %r2, [_ZN4dim3C1Ejjj_param_2]; +ld.param.u32 %r3, [_ZN4dim3C1Ejjj_param_3]; +func_exec_begin7: +.loc 3 421 131 +tmp17: +st.u32 [%rd1], %r1; +.loc 3 421 138 +st.u32 [%rd1+4], %r2; +.loc 3 421 145 +st.u32 [%rd1+8], %r3; +.loc 3 421 152 +ret; +tmp18: +func_end7: +} + + +.visible .func _ZN4dim3C2Ejjj( +.param .b64 _ZN4dim3C2Ejjj_param_0, +.param .b32 _ZN4dim3C2Ejjj_param_1, +.param .b32 _ZN4dim3C2Ejjj_param_2, +.param .b32 _ZN4dim3C2Ejjj_param_3 +) +{ +.reg .b32 %r<4>; +.reg .b64 %rd<2>; + + +.loc 3 421 1 +func_begin8: +.loc 3 0 0 + +.loc 3 421 1 + +ld.param.u64 %rd1, [_ZN4dim3C2Ejjj_param_0]; +ld.param.u32 %r1, [_ZN4dim3C2Ejjj_param_1]; +ld.param.u32 %r2, [_ZN4dim3C2Ejjj_param_2]; +ld.param.u32 %r3, [_ZN4dim3C2Ejjj_param_3]; +func_exec_begin8: +.loc 3 421 152 +tmp19: + + { +.reg .b32 temp_param_reg; + + .param .b64 param0; +st.param.b64 [param0+0], %rd1; +.param .b32 param1; +st.param.b32 [param1+0], %r1; +.param .b32 param2; +st.param.b32 [param2+0], %r2; +.param .b32 param3; +st.param.b32 [param3+0], %r3; +call.uni +_ZN4dim3C1Ejjj, +( +param0, +param1, +param2, +param3 +); + + + } + ret; +tmp20: +func_end8: +} + + +.visible .func (.param .b32 func_retval0) _ZSt4fabsf( +.param .b32 _ZSt4fabsf_param_0 +) +{ +.reg .f32 %f<3>; + + +.loc 4 241 1 +func_begin9: +.loc 4 0 0 + +.loc 4 241 1 + +ld.param.f32 %f1, [_ZSt4fabsf_param_0]; +func_exec_begin9: +.loc 4 242 12 +tmp21: + + { +.reg .b32 temp_param_reg; + + .param .b32 param0; +st.param.f32 [param0+0], %f1; +.param .b32 retval0; +call.uni (retval0), +fabsf, +( +param0 +); +ld.param.f32 %f2, [retval0+0]; + + + } + st.param.f32 [func_retval0+0], %f2; +ret; +tmp22: +func_end9: +} + +.func (.param .b32 func_retval0) fabsf( +.param .b32 fabsf_param_0 +) +{ +.reg .f32 %f<3>; + + +ld.param.f32 %f1, [fabsf_param_0]; +abs.f32 %f2, %f1; +st.param.f32 [func_retval0+0], %f2; +ret; +} + +.file 1 "/home/vosen/cuda-samples-dbg/0_Simple/vectorAdd/vectorAdd.cu", 1595524614, 5649 +.file 2 "/usr/local/cuda-11.0/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h", 1595526477, 14970 +.file 3 "/usr/local/cuda-11.0/bin/../targets/x86_64-linux/include/vector_types.h", 1595526477, 13174 +.file 4 "/usr/include/c++/9/cmath", 1586428689, 49130 +.file 5 "/usr/local/cuda-11.0/bin/../targets/x86_64-linux/include/driver_types.h", 1595526477, 105017 + +.section .debug_info { +.b32 8837 +.b8 2 +.b8 0 +.b32 .debug_abbrev +.b8 8 +.b8 1 + +.b8 108 +.b8 103 +.b8 101 +.b8 110 +.b8 102 +.b8 101 +.b8 58 +.b8 32 +.b8 69 +.b8 68 +.b8 71 +.b8 32 +.b8 53 +.b8 46 +.b8 49 + +.b8 0 +.b8 4 +.b8 118 +.b8 101 +.b8 99 +.b8 116 +.b8 111 +.b8 114 +.b8 65 +.b8 100 +.b8 100 +.b8 46 +.b8 99 +.b8 117 + +.b8 0 +.b64 0 +.b32 .debug_line +.b8 47 +.b8 104 +.b8 111 +.b8 109 +.b8 101 +.b8 47 +.b8 118 +.b8 111 +.b8 115 +.b8 101 +.b8 110 +.b8 47 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 45 +.b8 115 +.b8 97 +.b8 109 +.b8 112 +.b8 108 +.b8 101 +.b8 115 +.b8 45 +.b8 100 +.b8 98 +.b8 103 +.b8 47 +.b8 48 +.b8 95 +.b8 83 +.b8 105 +.b8 109 +.b8 112 +.b8 108 +.b8 101 +.b8 47 +.b8 118 +.b8 101 +.b8 99 +.b8 116 +.b8 111 +.b8 114 +.b8 65 +.b8 100 +.b8 100 + +.b8 0 +.b8 2 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 77 +.b8 97 +.b8 108 +.b8 108 +.b8 111 +.b8 99 + +.b8 0 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 77 +.b8 97 +.b8 108 +.b8 108 +.b8 111 +.b8 99 + +.b8 0 +.b8 2 +.b8 75 +.b32 190 +.b8 1 +.b64 func_begin0 +.b64 func_end0 +.b8 1 +.b8 156 +.b8 3 + +.b8 112 + +.b8 0 +.b8 2 +.b8 75 +.b32 8777 +.b8 11 +.b8 3 +.b64 __local_depot0 +.b8 35 +.b8 0 + +.b8 6 +.b8 3 + +.b8 115 + +.b8 0 +.b8 2 +.b8 75 +.b32 8394 +.b8 6 +.b8 144 +.b8 180 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 0 +.b8 4 + +.b32 207 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 95 +.b8 116 + +.b8 0 +.b8 5 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 + +.b8 0 +.b8 4 +.b8 2 +.b8 189 +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 83 +.b8 117 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 + +.b8 0 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 86 +.b8 97 +.b8 108 +.b8 117 +.b8 101 + +.b8 0 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 65 +.b8 108 +.b8 108 +.b8 111 +.b8 99 +.b8 97 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 2 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 105 +.b8 116 +.b8 105 +.b8 97 +.b8 108 +.b8 105 +.b8 122 +.b8 97 +.b8 116 +.b8 105 +.b8 111 +.b8 110 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 + +.b8 0 +.b8 3 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 67 +.b8 117 +.b8 100 +.b8 97 +.b8 114 +.b8 116 +.b8 85 +.b8 110 +.b8 108 +.b8 111 +.b8 97 +.b8 100 +.b8 105 +.b8 110 +.b8 103 + +.b8 0 +.b8 4 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 114 +.b8 111 +.b8 102 +.b8 105 +.b8 108 +.b8 101 +.b8 114 +.b8 68 +.b8 105 +.b8 115 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 114 +.b8 111 +.b8 102 +.b8 105 +.b8 108 +.b8 101 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 73 +.b8 110 +.b8 105 +.b8 116 +.b8 105 +.b8 97 +.b8 108 +.b8 105 +.b8 122 +.b8 101 +.b8 100 + +.b8 0 +.b8 6 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 114 +.b8 111 +.b8 102 +.b8 105 +.b8 108 +.b8 101 +.b8 114 +.b8 65 +.b8 108 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 121 +.b8 83 +.b8 116 +.b8 97 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 114 +.b8 111 +.b8 102 +.b8 105 +.b8 108 +.b8 101 +.b8 114 +.b8 65 +.b8 108 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 121 +.b8 83 +.b8 116 +.b8 111 +.b8 112 +.b8 112 +.b8 101 +.b8 100 + +.b8 0 +.b8 8 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 67 +.b8 111 +.b8 110 +.b8 102 +.b8 105 +.b8 103 +.b8 117 +.b8 114 +.b8 97 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 9 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 80 +.b8 105 +.b8 116 +.b8 99 +.b8 104 +.b8 86 +.b8 97 +.b8 108 +.b8 117 +.b8 101 + +.b8 0 +.b8 12 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 83 +.b8 121 +.b8 109 +.b8 98 +.b8 111 +.b8 108 + +.b8 0 +.b8 13 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 80 +.b8 111 +.b8 105 +.b8 110 +.b8 116 +.b8 101 +.b8 114 + +.b8 0 +.b8 16 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 80 +.b8 111 +.b8 105 +.b8 110 +.b8 116 +.b8 101 +.b8 114 + +.b8 0 +.b8 17 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 + +.b8 0 +.b8 18 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 66 +.b8 105 +.b8 110 +.b8 100 +.b8 105 +.b8 110 +.b8 103 + +.b8 0 +.b8 19 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 67 +.b8 104 +.b8 97 +.b8 110 +.b8 110 +.b8 101 +.b8 108 +.b8 68 +.b8 101 +.b8 115 +.b8 99 +.b8 114 +.b8 105 +.b8 112 +.b8 116 +.b8 111 +.b8 114 + +.b8 0 +.b8 20 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 77 +.b8 101 +.b8 109 +.b8 99 +.b8 112 +.b8 121 +.b8 68 +.b8 105 +.b8 114 +.b8 101 +.b8 99 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 21 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 65 +.b8 100 +.b8 100 +.b8 114 +.b8 101 +.b8 115 +.b8 115 +.b8 79 +.b8 102 +.b8 67 +.b8 111 +.b8 110 +.b8 115 +.b8 116 +.b8 97 +.b8 110 +.b8 116 + +.b8 0 +.b8 22 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 70 +.b8 101 +.b8 116 +.b8 99 +.b8 104 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 23 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 78 +.b8 111 +.b8 116 +.b8 66 +.b8 111 +.b8 117 +.b8 110 +.b8 100 + +.b8 0 +.b8 24 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 121 +.b8 110 +.b8 99 +.b8 104 +.b8 114 +.b8 111 +.b8 110 +.b8 105 +.b8 122 +.b8 97 +.b8 116 +.b8 105 +.b8 111 +.b8 110 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 + +.b8 0 +.b8 25 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 70 +.b8 105 +.b8 108 +.b8 116 +.b8 101 +.b8 114 +.b8 83 +.b8 101 +.b8 116 +.b8 116 +.b8 105 +.b8 110 +.b8 103 + +.b8 0 +.b8 26 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 78 +.b8 111 +.b8 114 +.b8 109 +.b8 83 +.b8 101 +.b8 116 +.b8 116 +.b8 105 +.b8 110 +.b8 103 + +.b8 0 +.b8 27 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 77 +.b8 105 +.b8 120 +.b8 101 +.b8 100 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 69 +.b8 120 +.b8 101 +.b8 99 +.b8 117 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 28 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 89 +.b8 101 +.b8 116 +.b8 73 +.b8 109 +.b8 112 +.b8 108 +.b8 101 +.b8 109 +.b8 101 +.b8 110 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 31 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 86 +.b8 97 +.b8 108 +.b8 117 +.b8 101 +.b8 84 +.b8 111 +.b8 111 +.b8 76 +.b8 97 +.b8 114 +.b8 103 +.b8 101 + +.b8 0 +.b8 32 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 115 +.b8 117 +.b8 102 +.b8 102 +.b8 105 +.b8 99 +.b8 105 +.b8 101 +.b8 110 +.b8 116 +.b8 68 +.b8 114 +.b8 105 +.b8 118 +.b8 101 +.b8 114 + +.b8 0 +.b8 35 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 + +.b8 0 +.b8 37 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 68 +.b8 117 +.b8 112 +.b8 108 +.b8 105 +.b8 99 +.b8 97 +.b8 116 +.b8 101 +.b8 86 +.b8 97 +.b8 114 +.b8 105 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 78 +.b8 97 +.b8 109 +.b8 101 + +.b8 0 +.b8 43 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 68 +.b8 117 +.b8 112 +.b8 108 +.b8 105 +.b8 99 +.b8 97 +.b8 116 +.b8 101 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 78 +.b8 97 +.b8 109 +.b8 101 + +.b8 0 +.b8 44 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 68 +.b8 117 +.b8 112 +.b8 108 +.b8 105 +.b8 99 +.b8 97 +.b8 116 +.b8 101 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 78 +.b8 97 +.b8 109 +.b8 101 + +.b8 0 +.b8 45 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 115 +.b8 85 +.b8 110 +.b8 97 +.b8 118 +.b8 97 +.b8 105 +.b8 108 +.b8 97 +.b8 98 +.b8 108 +.b8 101 + +.b8 0 +.b8 46 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 99 +.b8 111 +.b8 109 +.b8 112 +.b8 97 +.b8 116 +.b8 105 +.b8 98 +.b8 108 +.b8 101 +.b8 68 +.b8 114 +.b8 105 +.b8 118 +.b8 101 +.b8 114 +.b8 67 +.b8 111 +.b8 110 +.b8 116 +.b8 101 +.b8 120 +.b8 116 + +.b8 0 +.b8 49 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 77 +.b8 105 +.b8 115 +.b8 115 +.b8 105 +.b8 110 +.b8 103 +.b8 67 +.b8 111 +.b8 110 +.b8 102 +.b8 105 +.b8 103 +.b8 117 +.b8 114 +.b8 97 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 52 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 114 +.b8 105 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 117 +.b8 114 +.b8 101 + +.b8 0 +.b8 53 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 77 +.b8 97 +.b8 120 +.b8 68 +.b8 101 +.b8 112 +.b8 116 +.b8 104 +.b8 69 +.b8 120 +.b8 99 +.b8 101 +.b8 101 +.b8 100 +.b8 101 +.b8 100 + +.b8 0 +.b8 193 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 70 +.b8 105 +.b8 108 +.b8 101 +.b8 83 +.b8 99 +.b8 111 +.b8 112 +.b8 101 +.b8 100 +.b8 84 +.b8 101 +.b8 120 + +.b8 0 +.b8 194 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 70 +.b8 105 +.b8 108 +.b8 101 +.b8 83 +.b8 99 +.b8 111 +.b8 112 +.b8 101 +.b8 100 +.b8 83 +.b8 117 +.b8 114 +.b8 102 + +.b8 0 +.b8 195 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 121 +.b8 110 +.b8 99 +.b8 68 +.b8 101 +.b8 112 +.b8 116 +.b8 104 +.b8 69 +.b8 120 +.b8 99 +.b8 101 +.b8 101 +.b8 100 +.b8 101 +.b8 100 + +.b8 0 +.b8 196 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 80 +.b8 101 +.b8 110 +.b8 100 +.b8 105 +.b8 110 +.b8 103 +.b8 67 +.b8 111 +.b8 117 +.b8 110 +.b8 116 +.b8 69 +.b8 120 +.b8 99 +.b8 101 +.b8 101 +.b8 100 +.b8 101 +.b8 100 + +.b8 0 +.b8 197 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 70 +.b8 117 +.b8 110 +.b8 99 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 226 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 228 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 229 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 97 +.b8 114 +.b8 116 +.b8 117 +.b8 112 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 117 +.b8 114 +.b8 101 + +.b8 0 +.b8 255 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 75 +.b8 101 +.b8 114 +.b8 110 +.b8 101 +.b8 108 +.b8 73 +.b8 109 +.b8 97 +.b8 103 +.b8 101 + +.b8 0 +.b8 200 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 85 +.b8 110 +.b8 105 +.b8 110 +.b8 105 +.b8 116 +.b8 105 +.b8 97 +.b8 108 +.b8 105 +.b8 122 +.b8 101 +.b8 100 + +.b8 0 +.b8 201 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 77 +.b8 97 +.b8 112 +.b8 66 +.b8 117 +.b8 102 +.b8 102 +.b8 101 +.b8 114 +.b8 79 +.b8 98 +.b8 106 +.b8 101 +.b8 99 +.b8 116 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 205 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 85 +.b8 110 +.b8 109 +.b8 97 +.b8 112 +.b8 66 +.b8 117 +.b8 102 +.b8 102 +.b8 101 +.b8 114 +.b8 79 +.b8 98 +.b8 106 +.b8 101 +.b8 99 +.b8 116 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 206 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 65 +.b8 114 +.b8 114 +.b8 97 +.b8 121 +.b8 73 +.b8 115 +.b8 77 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 + +.b8 0 +.b8 207 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 65 +.b8 108 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 121 +.b8 77 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 + +.b8 0 +.b8 208 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 75 +.b8 101 +.b8 114 +.b8 110 +.b8 101 +.b8 108 +.b8 73 +.b8 109 +.b8 97 +.b8 103 +.b8 101 +.b8 70 +.b8 111 +.b8 114 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 209 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 65 +.b8 108 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 121 +.b8 65 +.b8 99 +.b8 113 +.b8 117 +.b8 105 +.b8 114 +.b8 101 +.b8 100 + +.b8 0 +.b8 210 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 77 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 + +.b8 0 +.b8 211 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 77 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 +.b8 65 +.b8 115 +.b8 65 +.b8 114 +.b8 114 +.b8 97 +.b8 121 + +.b8 0 +.b8 212 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 77 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 +.b8 65 +.b8 115 +.b8 80 +.b8 111 +.b8 105 +.b8 110 +.b8 116 +.b8 101 +.b8 114 + +.b8 0 +.b8 213 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 69 +.b8 67 +.b8 67 +.b8 85 +.b8 110 +.b8 99 +.b8 111 +.b8 114 +.b8 114 +.b8 101 +.b8 99 +.b8 116 +.b8 97 +.b8 98 +.b8 108 +.b8 101 + +.b8 0 +.b8 214 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 85 +.b8 110 +.b8 115 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 +.b8 76 +.b8 105 +.b8 109 +.b8 105 +.b8 116 + +.b8 0 +.b8 215 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 65 +.b8 108 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 121 +.b8 73 +.b8 110 +.b8 85 +.b8 115 +.b8 101 + +.b8 0 +.b8 216 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 101 +.b8 101 +.b8 114 +.b8 65 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 85 +.b8 110 +.b8 115 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 217 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 80 +.b8 116 +.b8 120 + +.b8 0 +.b8 218 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 71 +.b8 114 +.b8 97 +.b8 112 +.b8 104 +.b8 105 +.b8 99 +.b8 115 +.b8 67 +.b8 111 +.b8 110 +.b8 116 +.b8 101 +.b8 120 +.b8 116 + +.b8 0 +.b8 219 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 118 +.b8 108 +.b8 105 +.b8 110 +.b8 107 +.b8 85 +.b8 110 +.b8 99 +.b8 111 +.b8 114 +.b8 114 +.b8 101 +.b8 99 +.b8 116 +.b8 97 +.b8 98 +.b8 108 +.b8 101 + +.b8 0 +.b8 220 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 74 +.b8 105 +.b8 116 +.b8 67 +.b8 111 +.b8 109 +.b8 112 +.b8 105 +.b8 108 +.b8 101 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 70 +.b8 111 +.b8 117 +.b8 110 +.b8 100 + +.b8 0 +.b8 221 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 83 +.b8 111 +.b8 117 +.b8 114 +.b8 99 +.b8 101 + +.b8 0 +.b8 172 +.b8 2 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 70 +.b8 105 +.b8 108 +.b8 101 +.b8 78 +.b8 111 +.b8 116 +.b8 70 +.b8 111 +.b8 117 +.b8 110 +.b8 100 + +.b8 0 +.b8 173 +.b8 2 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 79 +.b8 98 +.b8 106 +.b8 101 +.b8 99 +.b8 116 +.b8 83 +.b8 121 +.b8 109 +.b8 98 +.b8 111 +.b8 108 +.b8 78 +.b8 111 +.b8 116 +.b8 70 +.b8 111 +.b8 117 +.b8 110 +.b8 100 + +.b8 0 +.b8 174 +.b8 2 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 79 +.b8 98 +.b8 106 +.b8 101 +.b8 99 +.b8 116 +.b8 73 +.b8 110 +.b8 105 +.b8 116 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 175 +.b8 2 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 79 +.b8 112 +.b8 101 +.b8 114 +.b8 97 +.b8 116 +.b8 105 +.b8 110 +.b8 103 +.b8 83 +.b8 121 +.b8 115 +.b8 116 +.b8 101 +.b8 109 + +.b8 0 +.b8 176 +.b8 2 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 82 +.b8 101 +.b8 115 +.b8 111 +.b8 117 +.b8 114 +.b8 99 +.b8 101 +.b8 72 +.b8 97 +.b8 110 +.b8 100 +.b8 108 +.b8 101 + +.b8 0 +.b8 144 +.b8 3 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 108 +.b8 108 +.b8 101 +.b8 103 +.b8 97 +.b8 108 +.b8 83 +.b8 116 +.b8 97 +.b8 116 +.b8 101 + +.b8 0 +.b8 145 +.b8 3 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 121 +.b8 109 +.b8 98 +.b8 111 +.b8 108 +.b8 78 +.b8 111 +.b8 116 +.b8 70 +.b8 111 +.b8 117 +.b8 110 +.b8 100 + +.b8 0 +.b8 244 +.b8 3 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 82 +.b8 101 +.b8 97 +.b8 100 +.b8 121 + +.b8 0 +.b8 216 +.b8 4 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 108 +.b8 108 +.b8 101 +.b8 103 +.b8 97 +.b8 108 +.b8 65 +.b8 100 +.b8 100 +.b8 114 +.b8 101 +.b8 115 +.b8 115 + +.b8 0 +.b8 188 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 79 +.b8 117 +.b8 116 +.b8 79 +.b8 102 +.b8 82 +.b8 101 +.b8 115 +.b8 111 +.b8 117 +.b8 114 +.b8 99 +.b8 101 +.b8 115 + +.b8 0 +.b8 189 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 84 +.b8 105 +.b8 109 +.b8 101 +.b8 111 +.b8 117 +.b8 116 + +.b8 0 +.b8 190 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 73 +.b8 110 +.b8 99 +.b8 111 +.b8 109 +.b8 112 +.b8 97 +.b8 116 +.b8 105 +.b8 98 +.b8 108 +.b8 101 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 105 +.b8 110 +.b8 103 + +.b8 0 +.b8 191 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 101 +.b8 101 +.b8 114 +.b8 65 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 65 +.b8 108 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 121 +.b8 69 +.b8 110 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 192 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 80 +.b8 101 +.b8 101 +.b8 114 +.b8 65 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 78 +.b8 111 +.b8 116 +.b8 69 +.b8 110 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 193 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 101 +.b8 116 +.b8 79 +.b8 110 +.b8 65 +.b8 99 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 80 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 + +.b8 0 +.b8 196 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 67 +.b8 111 +.b8 110 +.b8 116 +.b8 101 +.b8 120 +.b8 116 +.b8 73 +.b8 115 +.b8 68 +.b8 101 +.b8 115 +.b8 116 +.b8 114 +.b8 111 +.b8 121 +.b8 101 +.b8 100 + +.b8 0 +.b8 197 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 65 +.b8 115 +.b8 115 +.b8 101 +.b8 114 +.b8 116 + +.b8 0 +.b8 198 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 84 +.b8 111 +.b8 111 +.b8 77 +.b8 97 +.b8 110 +.b8 121 +.b8 80 +.b8 101 +.b8 101 +.b8 114 +.b8 115 + +.b8 0 +.b8 199 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 65 +.b8 108 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 121 +.b8 82 +.b8 101 +.b8 103 +.b8 105 +.b8 115 +.b8 116 +.b8 101 +.b8 114 +.b8 101 +.b8 100 + +.b8 0 +.b8 200 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 78 +.b8 111 +.b8 116 +.b8 82 +.b8 101 +.b8 103 +.b8 105 +.b8 115 +.b8 116 +.b8 101 +.b8 114 +.b8 101 +.b8 100 + +.b8 0 +.b8 201 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 72 +.b8 97 +.b8 114 +.b8 100 +.b8 119 +.b8 97 +.b8 114 +.b8 101 +.b8 83 +.b8 116 +.b8 97 +.b8 99 +.b8 107 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 + +.b8 0 +.b8 202 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 108 +.b8 108 +.b8 101 +.b8 103 +.b8 97 +.b8 108 +.b8 73 +.b8 110 +.b8 115 +.b8 116 +.b8 114 +.b8 117 +.b8 99 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 203 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 77 +.b8 105 +.b8 115 +.b8 97 +.b8 108 +.b8 105 +.b8 103 +.b8 110 +.b8 101 +.b8 100 +.b8 65 +.b8 100 +.b8 100 +.b8 114 +.b8 101 +.b8 115 +.b8 115 + +.b8 0 +.b8 204 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 65 +.b8 100 +.b8 100 +.b8 114 +.b8 101 +.b8 115 +.b8 115 +.b8 83 +.b8 112 +.b8 97 +.b8 99 +.b8 101 + +.b8 0 +.b8 205 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 80 +.b8 99 + +.b8 0 +.b8 206 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 117 +.b8 114 +.b8 101 + +.b8 0 +.b8 207 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 67 +.b8 111 +.b8 111 +.b8 112 +.b8 101 +.b8 114 +.b8 97 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 +.b8 84 +.b8 111 +.b8 111 +.b8 76 +.b8 97 +.b8 114 +.b8 103 +.b8 101 + +.b8 0 +.b8 208 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 80 +.b8 101 +.b8 114 +.b8 109 +.b8 105 +.b8 116 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 160 +.b8 6 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 78 +.b8 111 +.b8 116 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 161 +.b8 6 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 121 +.b8 115 +.b8 116 +.b8 101 +.b8 109 +.b8 78 +.b8 111 +.b8 116 +.b8 82 +.b8 101 +.b8 97 +.b8 100 +.b8 121 + +.b8 0 +.b8 162 +.b8 6 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 121 +.b8 115 +.b8 116 +.b8 101 +.b8 109 +.b8 68 +.b8 114 +.b8 105 +.b8 118 +.b8 101 +.b8 114 +.b8 77 +.b8 105 +.b8 115 +.b8 109 +.b8 97 +.b8 116 +.b8 99 +.b8 104 + +.b8 0 +.b8 163 +.b8 6 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 67 +.b8 111 +.b8 109 +.b8 112 +.b8 97 +.b8 116 +.b8 78 +.b8 111 +.b8 116 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 +.b8 79 +.b8 110 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 164 +.b8 6 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 85 +.b8 110 +.b8 115 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 132 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 73 +.b8 110 +.b8 118 +.b8 97 +.b8 108 +.b8 105 +.b8 100 +.b8 97 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 133 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 77 +.b8 101 +.b8 114 +.b8 103 +.b8 101 + +.b8 0 +.b8 134 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 85 +.b8 110 +.b8 109 +.b8 97 +.b8 116 +.b8 99 +.b8 104 +.b8 101 +.b8 100 + +.b8 0 +.b8 135 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 85 +.b8 110 +.b8 106 +.b8 111 +.b8 105 +.b8 110 +.b8 101 +.b8 100 + +.b8 0 +.b8 136 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 73 +.b8 115 +.b8 111 +.b8 108 +.b8 97 +.b8 116 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b8 137 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 73 +.b8 109 +.b8 112 +.b8 108 +.b8 105 +.b8 99 +.b8 105 +.b8 116 + +.b8 0 +.b8 138 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 100 +.b8 69 +.b8 118 +.b8 101 +.b8 110 +.b8 116 + +.b8 0 +.b8 139 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 67 +.b8 97 +.b8 112 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 87 +.b8 114 +.b8 111 +.b8 110 +.b8 103 +.b8 84 +.b8 104 +.b8 114 +.b8 101 +.b8 97 +.b8 100 + +.b8 0 +.b8 140 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 84 +.b8 105 +.b8 109 +.b8 101 +.b8 111 +.b8 117 +.b8 116 + +.b8 0 +.b8 141 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 71 +.b8 114 +.b8 97 +.b8 112 +.b8 104 +.b8 69 +.b8 120 +.b8 101 +.b8 99 +.b8 85 +.b8 112 +.b8 100 +.b8 97 +.b8 116 +.b8 101 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 117 +.b8 114 +.b8 101 + +.b8 0 +.b8 142 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 85 +.b8 110 +.b8 107 +.b8 110 +.b8 111 +.b8 119 +.b8 110 + +.b8 0 +.b8 231 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 69 +.b8 114 +.b8 114 +.b8 111 +.b8 114 +.b8 65 +.b8 112 +.b8 105 +.b8 70 +.b8 97 +.b8 105 +.b8 108 +.b8 117 +.b8 114 +.b8 101 +.b8 66 +.b8 97 +.b8 115 +.b8 101 + +.b8 0 +.b8 144 +.b8 206 +.b8 0 + +.b8 0 +.b8 2 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 70 +.b8 117 +.b8 110 +.b8 99 +.b8 71 +.b8 101 +.b8 116 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 105 +.b8 98 +.b8 117 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 70 +.b8 117 +.b8 110 +.b8 99 +.b8 71 +.b8 101 +.b8 116 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 105 +.b8 98 +.b8 117 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b8 2 +.b8 80 +.b32 190 +.b8 1 +.b64 func_begin1 +.b64 func_end1 +.b8 1 +.b8 156 +.b8 3 + +.b8 112 + +.b8 0 +.b8 2 +.b8 80 +.b32 8789 +.b8 11 +.b8 3 +.b64 __local_depot1 +.b8 35 +.b8 0 + +.b8 6 +.b8 3 + +.b8 99 + +.b8 0 +.b8 2 +.b8 80 +.b32 8795 +.b8 6 +.b8 144 +.b8 180 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 0 +.b8 2 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 71 +.b8 101 +.b8 116 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 105 +.b8 98 +.b8 117 +.b8 116 +.b8 101 + +.b8 0 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 71 +.b8 101 +.b8 116 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 105 +.b8 98 +.b8 117 +.b8 116 +.b8 101 + +.b8 0 +.b8 2 +.b8 85 +.b32 190 +.b8 1 +.b64 func_begin2 +.b64 func_end2 +.b8 1 +.b8 156 +.b8 3 + +.b8 118 +.b8 97 +.b8 108 +.b8 117 +.b8 101 + +.b8 0 +.b8 2 +.b8 85 +.b32 8806 +.b8 6 +.b8 144 +.b8 178 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 3 + +.b8 97 +.b8 116 +.b8 116 +.b8 114 + +.b8 0 +.b8 2 +.b8 85 +.b32 4881 +.b8 5 +.b8 144 +.b8 179 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 3 + +.b8 100 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 2 +.b8 85 +.b32 8707 +.b8 5 +.b8 144 +.b8 180 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 0 +.b8 2 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 71 +.b8 101 +.b8 116 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 71 +.b8 101 +.b8 116 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 2 +.b8 90 +.b32 190 +.b8 1 +.b64 func_begin3 +.b64 func_end3 +.b8 1 +.b8 156 +.b8 3 + +.b8 100 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 + +.b8 0 +.b8 2 +.b8 90 +.b32 8806 +.b8 6 +.b8 144 +.b8 178 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 0 +.b8 2 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 79 +.b8 99 +.b8 99 +.b8 117 +.b8 112 +.b8 97 +.b8 110 +.b8 99 +.b8 121 +.b8 77 +.b8 97 +.b8 120 +.b8 65 +.b8 99 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 + +.b8 0 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 79 +.b8 99 +.b8 99 +.b8 117 +.b8 112 +.b8 97 +.b8 110 +.b8 99 +.b8 121 +.b8 77 +.b8 97 +.b8 120 +.b8 65 +.b8 99 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 + +.b8 0 +.b8 2 +.b8 95 +.b32 190 +.b8 1 +.b64 func_begin4 +.b64 func_end4 +.b8 1 +.b8 156 +.b8 3 + +.b8 110 +.b8 117 +.b8 109 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 + +.b8 0 +.b8 2 +.b8 95 +.b32 8806 +.b8 6 +.b8 144 +.b8 180 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 3 + +.b8 102 +.b8 117 +.b8 110 +.b8 99 + +.b8 0 +.b8 2 +.b8 95 +.b32 8795 +.b8 6 +.b8 144 +.b8 181 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 3 + +.b8 98 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 83 +.b8 105 +.b8 122 +.b8 101 + +.b8 0 +.b8 2 +.b8 95 +.b32 8707 +.b8 5 +.b8 144 +.b8 178 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 3 + +.b8 100 +.b8 121 +.b8 110 +.b8 97 +.b8 109 +.b8 105 +.b8 99 +.b8 83 +.b8 109 +.b8 101 +.b8 109 +.b8 83 +.b8 105 +.b8 122 +.b8 101 + +.b8 0 +.b8 2 +.b8 95 +.b32 8394 +.b8 6 +.b8 144 +.b8 182 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 0 +.b8 2 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 79 +.b8 99 +.b8 99 +.b8 117 +.b8 112 +.b8 97 +.b8 110 +.b8 99 +.b8 121 +.b8 77 +.b8 97 +.b8 120 +.b8 65 +.b8 99 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 +.b8 87 +.b8 105 +.b8 116 +.b8 104 +.b8 70 +.b8 108 +.b8 97 +.b8 103 +.b8 115 + +.b8 0 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 79 +.b8 99 +.b8 99 +.b8 117 +.b8 112 +.b8 97 +.b8 110 +.b8 99 +.b8 121 +.b8 77 +.b8 97 +.b8 120 +.b8 65 +.b8 99 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 +.b8 87 +.b8 105 +.b8 116 +.b8 104 +.b8 70 +.b8 108 +.b8 97 +.b8 103 +.b8 115 + +.b8 0 +.b8 2 +.b8 100 +.b32 190 +.b8 1 +.b64 func_begin5 +.b64 func_end5 +.b8 1 +.b8 156 +.b8 3 + +.b8 110 +.b8 117 +.b8 109 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 + +.b8 0 +.b8 2 +.b8 100 +.b32 8806 +.b8 6 +.b8 144 +.b8 180 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 3 + +.b8 102 +.b8 117 +.b8 110 +.b8 99 + +.b8 0 +.b8 2 +.b8 100 +.b32 8795 +.b8 6 +.b8 144 +.b8 181 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 3 + +.b8 98 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 83 +.b8 105 +.b8 122 +.b8 101 + +.b8 0 +.b8 2 +.b8 100 +.b32 8707 +.b8 5 +.b8 144 +.b8 179 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 3 + +.b8 100 +.b8 121 +.b8 110 +.b8 97 +.b8 109 +.b8 105 +.b8 99 +.b8 83 +.b8 109 +.b8 101 +.b8 109 +.b8 83 +.b8 105 +.b8 122 +.b8 101 + +.b8 0 +.b8 2 +.b8 100 +.b32 8394 +.b8 6 +.b8 144 +.b8 182 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 3 + +.b8 102 +.b8 108 +.b8 97 +.b8 103 +.b8 115 + +.b8 0 +.b8 2 +.b8 100 +.b32 8761 +.b8 5 +.b8 144 +.b8 180 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 0 +.b8 2 + +.b8 95 +.b8 90 +.b8 57 +.b8 118 +.b8 101 +.b8 99 +.b8 116 +.b8 111 +.b8 114 +.b8 65 +.b8 100 +.b8 100 +.b8 80 +.b8 75 +.b8 102 +.b8 83 +.b8 48 +.b8 95 +.b8 80 +.b8 102 +.b8 105 + +.b8 0 +.b8 95 +.b8 90 +.b8 57 +.b8 118 +.b8 101 +.b8 99 +.b8 116 +.b8 111 +.b8 114 +.b8 65 +.b8 100 +.b8 100 +.b8 80 +.b8 75 +.b8 102 +.b8 83 +.b8 48 +.b8 95 +.b8 80 +.b8 102 +.b8 105 + +.b8 0 +.b8 1 +.b8 33 +.b32 4557 +.b8 1 +.b64 func_begin6 +.b64 func_end6 +.b8 1 +.b8 156 +.b8 3 + +.b8 65 + +.b8 0 +.b8 1 +.b8 33 +.b32 8812 +.b8 9 +.b8 3 +.b64 _Z9vectorAddPKfS0_Pfi_param_0 +.b8 7 +.b8 3 + +.b8 66 + +.b8 0 +.b8 1 +.b8 33 +.b32 8812 +.b8 9 +.b8 3 +.b64 _Z9vectorAddPKfS0_Pfi_param_1 +.b8 7 +.b8 3 + +.b8 67 + +.b8 0 +.b8 1 +.b8 33 +.b32 8823 +.b8 9 +.b8 3 +.b64 _Z9vectorAddPKfS0_Pfi_param_2 +.b8 7 +.b8 3 + +.b8 110 +.b8 117 +.b8 109 +.b8 69 +.b8 108 +.b8 101 +.b8 109 +.b8 101 +.b8 110 +.b8 116 +.b8 115 + +.b8 0 +.b8 1 +.b8 33 +.b32 8707 +.b8 9 +.b8 3 +.b64 _Z9vectorAddPKfS0_Pfi_param_3 +.b8 7 +.b8 7 + +.b64 tmp12 +.b64 tmp16 +.b8 8 + +.b8 105 + +.b8 0 +.b8 1 +.b8 35 +.b32 8707 +.b8 5 +.b8 144 +.b8 177 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 0 +.b8 0 +.b8 9 + +.b8 118 +.b8 111 +.b8 105 +.b8 100 + +.b8 0 +.b8 10 + +.b8 95 +.b8 90 +.b8 78 +.b8 52 +.b8 100 +.b8 105 +.b8 109 +.b8 51 +.b8 67 +.b8 49 +.b8 69 +.b8 106 +.b8 106 +.b8 106 + +.b8 0 +.b8 95 +.b8 90 +.b8 78 +.b8 52 +.b8 100 +.b8 105 +.b8 109 +.b8 51 +.b8 67 +.b8 49 +.b8 69 +.b8 106 +.b8 106 +.b8 106 + +.b8 0 +.b8 3 +.b16 421 +.b32 4557 +.b8 1 +.b64 func_begin7 +.b64 func_end7 +.b8 1 +.b8 156 +.b8 11 + +.b8 116 +.b8 104 +.b8 105 +.b8 115 + +.b8 0 +.b32 8829 +.b8 6 +.b8 144 +.b8 177 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 12 + +.b8 118 +.b8 120 + +.b8 0 +.b8 3 +.b16 421 +.b32 8761 +.b8 5 +.b8 144 +.b8 177 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 12 + +.b8 118 +.b8 121 + +.b8 0 +.b8 3 +.b16 421 +.b32 8761 +.b8 5 +.b8 144 +.b8 178 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 12 + +.b8 118 +.b8 122 + +.b8 0 +.b8 3 +.b16 421 +.b32 8761 +.b8 5 +.b8 144 +.b8 179 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 0 +.b8 10 + +.b8 95 +.b8 90 +.b8 78 +.b8 52 +.b8 100 +.b8 105 +.b8 109 +.b8 51 +.b8 67 +.b8 50 +.b8 69 +.b8 106 +.b8 106 +.b8 106 + +.b8 0 +.b8 95 +.b8 90 +.b8 78 +.b8 52 +.b8 100 +.b8 105 +.b8 109 +.b8 51 +.b8 67 +.b8 50 +.b8 69 +.b8 106 +.b8 106 +.b8 106 + +.b8 0 +.b8 3 +.b16 421 +.b32 4557 +.b8 1 +.b64 func_begin8 +.b64 func_end8 +.b8 1 +.b8 156 +.b8 11 + +.b8 116 +.b8 104 +.b8 105 +.b8 115 + +.b8 0 +.b32 8829 +.b8 6 +.b8 144 +.b8 177 +.b8 200 +.b8 201 +.b8 171 +.b8 2 +.b8 2 +.b8 13 + +.b32 8761 +.b8 5 +.b8 144 +.b8 177 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 13 + +.b32 8761 +.b8 5 +.b8 144 +.b8 178 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 13 + +.b32 8761 +.b8 5 +.b8 144 +.b8 179 +.b8 228 +.b8 149 +.b8 1 +.b8 2 +.b8 0 +.b8 2 + +.b8 95 +.b8 90 +.b8 83 +.b8 116 +.b8 52 +.b8 102 +.b8 97 +.b8 98 +.b8 115 +.b8 102 + +.b8 0 +.b8 95 +.b8 90 +.b8 83 +.b8 116 +.b8 52 +.b8 102 +.b8 97 +.b8 98 +.b8 115 +.b8 102 + +.b8 0 +.b8 4 +.b8 241 +.b32 4872 +.b8 1 +.b64 func_begin9 +.b64 func_end9 +.b8 1 +.b8 156 +.b8 3 + +.b8 95 +.b8 95 +.b8 120 + +.b8 0 +.b8 4 +.b8 241 +.b32 4872 +.b8 5 +.b8 144 +.b8 177 +.b8 204 +.b8 149 +.b8 1 +.b8 2 +.b8 0 +.b8 14 + +.b8 102 +.b8 108 +.b8 111 +.b8 97 +.b8 116 + +.b8 0 +.b8 4 +.b8 4 +.b8 15 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 65 +.b8 116 +.b8 116 +.b8 114 + +.b8 0 +.b8 4 +.b8 2 +.b16 1579 +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 104 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 + +.b8 0 +.b8 1 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 68 +.b8 105 +.b8 109 +.b8 88 + +.b8 0 +.b8 2 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 68 +.b8 105 +.b8 109 +.b8 89 + +.b8 0 +.b8 3 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 68 +.b8 105 +.b8 109 +.b8 90 + +.b8 0 +.b8 4 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 71 +.b8 114 +.b8 105 +.b8 100 +.b8 68 +.b8 105 +.b8 109 +.b8 88 + +.b8 0 +.b8 5 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 71 +.b8 114 +.b8 105 +.b8 100 +.b8 68 +.b8 105 +.b8 109 +.b8 89 + +.b8 0 +.b8 6 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 71 +.b8 114 +.b8 105 +.b8 100 +.b8 68 +.b8 105 +.b8 109 +.b8 90 + +.b8 0 +.b8 7 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 80 +.b8 101 +.b8 114 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 + +.b8 0 +.b8 8 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 84 +.b8 111 +.b8 116 +.b8 97 +.b8 108 +.b8 67 +.b8 111 +.b8 110 +.b8 115 +.b8 116 +.b8 97 +.b8 110 +.b8 116 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 + +.b8 0 +.b8 9 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 87 +.b8 97 +.b8 114 +.b8 112 +.b8 83 +.b8 105 +.b8 122 +.b8 101 + +.b8 0 +.b8 10 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 80 +.b8 105 +.b8 116 +.b8 99 +.b8 104 + +.b8 0 +.b8 11 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 82 +.b8 101 +.b8 103 +.b8 105 +.b8 115 +.b8 116 +.b8 101 +.b8 114 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 + +.b8 0 +.b8 12 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 82 +.b8 97 +.b8 116 +.b8 101 + +.b8 0 +.b8 13 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 65 +.b8 108 +.b8 105 +.b8 103 +.b8 110 +.b8 109 +.b8 101 +.b8 110 +.b8 116 + +.b8 0 +.b8 14 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 71 +.b8 112 +.b8 117 +.b8 79 +.b8 118 +.b8 101 +.b8 114 +.b8 108 +.b8 97 +.b8 112 + +.b8 0 +.b8 15 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 80 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 +.b8 67 +.b8 111 +.b8 117 +.b8 110 +.b8 116 + +.b8 0 +.b8 16 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 75 +.b8 101 +.b8 114 +.b8 110 +.b8 101 +.b8 108 +.b8 69 +.b8 120 +.b8 101 +.b8 99 +.b8 84 +.b8 105 +.b8 109 +.b8 101 +.b8 111 +.b8 117 +.b8 116 + +.b8 0 +.b8 17 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 73 +.b8 110 +.b8 116 +.b8 101 +.b8 103 +.b8 114 +.b8 97 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 18 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 97 +.b8 110 +.b8 77 +.b8 97 +.b8 112 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 + +.b8 0 +.b8 19 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 109 +.b8 112 +.b8 117 +.b8 116 +.b8 101 +.b8 77 +.b8 111 +.b8 100 +.b8 101 + +.b8 0 +.b8 20 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 49 +.b8 68 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 21 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 22 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 23 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 51 +.b8 68 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 24 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 51 +.b8 68 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 25 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 51 +.b8 68 +.b8 68 +.b8 101 +.b8 112 +.b8 116 +.b8 104 + +.b8 0 +.b8 26 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 27 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 28 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 115 + +.b8 0 +.b8 29 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 65 +.b8 108 +.b8 105 +.b8 103 +.b8 110 +.b8 109 +.b8 101 +.b8 110 +.b8 116 + +.b8 0 +.b8 30 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 110 +.b8 99 +.b8 117 +.b8 114 +.b8 114 +.b8 101 +.b8 110 +.b8 116 +.b8 75 +.b8 101 +.b8 114 +.b8 110 +.b8 101 +.b8 108 +.b8 115 + +.b8 0 +.b8 31 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 69 +.b8 99 +.b8 99 +.b8 69 +.b8 110 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 100 + +.b8 0 +.b8 32 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 80 +.b8 99 +.b8 105 +.b8 66 +.b8 117 +.b8 115 +.b8 73 +.b8 100 + +.b8 0 +.b8 33 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 80 +.b8 99 +.b8 105 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 73 +.b8 100 + +.b8 0 +.b8 34 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 84 +.b8 99 +.b8 99 +.b8 68 +.b8 114 +.b8 105 +.b8 118 +.b8 101 +.b8 114 + +.b8 0 +.b8 35 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 67 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 82 +.b8 97 +.b8 116 +.b8 101 + +.b8 0 +.b8 36 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 71 +.b8 108 +.b8 111 +.b8 98 +.b8 97 +.b8 108 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 66 +.b8 117 +.b8 115 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 37 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 76 +.b8 50 +.b8 67 +.b8 97 +.b8 99 +.b8 104 +.b8 101 +.b8 83 +.b8 105 +.b8 122 +.b8 101 + +.b8 0 +.b8 38 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 104 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 80 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 + +.b8 0 +.b8 39 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 65 +.b8 115 +.b8 121 +.b8 110 +.b8 99 +.b8 69 +.b8 110 +.b8 103 +.b8 105 +.b8 110 +.b8 101 +.b8 67 +.b8 111 +.b8 117 +.b8 110 +.b8 116 + +.b8 0 +.b8 40 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 85 +.b8 110 +.b8 105 +.b8 102 +.b8 105 +.b8 101 +.b8 100 +.b8 65 +.b8 100 +.b8 100 +.b8 114 +.b8 101 +.b8 115 +.b8 115 +.b8 105 +.b8 110 +.b8 103 + +.b8 0 +.b8 41 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 49 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 42 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 49 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 115 + +.b8 0 +.b8 43 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 71 +.b8 97 +.b8 116 +.b8 104 +.b8 101 +.b8 114 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 45 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 71 +.b8 97 +.b8 116 +.b8 104 +.b8 101 +.b8 114 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 46 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 51 +.b8 68 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 +.b8 65 +.b8 108 +.b8 116 + +.b8 0 +.b8 47 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 51 +.b8 68 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 +.b8 65 +.b8 108 +.b8 116 + +.b8 0 +.b8 48 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 51 +.b8 68 +.b8 68 +.b8 101 +.b8 112 +.b8 116 +.b8 104 +.b8 65 +.b8 108 +.b8 116 + +.b8 0 +.b8 49 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 80 +.b8 99 +.b8 105 +.b8 68 +.b8 111 +.b8 109 +.b8 97 +.b8 105 +.b8 110 +.b8 73 +.b8 100 + +.b8 0 +.b8 50 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 80 +.b8 105 +.b8 116 +.b8 99 +.b8 104 +.b8 65 +.b8 108 +.b8 105 +.b8 103 +.b8 110 +.b8 109 +.b8 101 +.b8 110 +.b8 116 + +.b8 0 +.b8 51 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 67 +.b8 117 +.b8 98 +.b8 101 +.b8 109 +.b8 97 +.b8 112 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 52 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 67 +.b8 117 +.b8 98 +.b8 101 +.b8 109 +.b8 97 +.b8 112 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 53 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 67 +.b8 117 +.b8 98 +.b8 101 +.b8 109 +.b8 97 +.b8 112 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 115 + +.b8 0 +.b8 54 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 49 +.b8 68 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 55 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 50 +.b8 68 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 56 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 50 +.b8 68 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 57 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 51 +.b8 68 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 58 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 51 +.b8 68 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 59 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 51 +.b8 68 +.b8 68 +.b8 101 +.b8 112 +.b8 116 +.b8 104 + +.b8 0 +.b8 60 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 49 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 61 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 49 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 115 + +.b8 0 +.b8 62 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 63 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 192 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 115 + +.b8 0 +.b8 193 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 67 +.b8 117 +.b8 98 +.b8 101 +.b8 109 +.b8 97 +.b8 112 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 194 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 67 +.b8 117 +.b8 98 +.b8 101 +.b8 109 +.b8 97 +.b8 112 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 195 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 117 +.b8 114 +.b8 102 +.b8 97 +.b8 99 +.b8 101 +.b8 67 +.b8 117 +.b8 98 +.b8 101 +.b8 109 +.b8 97 +.b8 112 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 76 +.b8 97 +.b8 121 +.b8 101 +.b8 114 +.b8 115 + +.b8 0 +.b8 196 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 49 +.b8 68 +.b8 76 +.b8 105 +.b8 110 +.b8 101 +.b8 97 +.b8 114 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 197 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 105 +.b8 110 +.b8 101 +.b8 97 +.b8 114 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 198 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 105 +.b8 110 +.b8 101 +.b8 97 +.b8 114 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 199 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 76 +.b8 105 +.b8 110 +.b8 101 +.b8 97 +.b8 114 +.b8 80 +.b8 105 +.b8 116 +.b8 99 +.b8 104 + +.b8 0 +.b8 200 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 77 +.b8 105 +.b8 112 +.b8 109 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 201 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 50 +.b8 68 +.b8 77 +.b8 105 +.b8 112 +.b8 109 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 +.b8 72 +.b8 101 +.b8 105 +.b8 103 +.b8 104 +.b8 116 + +.b8 0 +.b8 202 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 109 +.b8 112 +.b8 117 +.b8 116 +.b8 101 +.b8 67 +.b8 97 +.b8 112 +.b8 97 +.b8 98 +.b8 105 +.b8 108 +.b8 105 +.b8 116 +.b8 121 +.b8 77 +.b8 97 +.b8 106 +.b8 111 +.b8 114 + +.b8 0 +.b8 203 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 109 +.b8 112 +.b8 117 +.b8 116 +.b8 101 +.b8 67 +.b8 97 +.b8 112 +.b8 97 +.b8 98 +.b8 105 +.b8 108 +.b8 105 +.b8 116 +.b8 121 +.b8 77 +.b8 105 +.b8 110 +.b8 111 +.b8 114 + +.b8 0 +.b8 204 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 84 +.b8 101 +.b8 120 +.b8 116 +.b8 117 +.b8 114 +.b8 101 +.b8 49 +.b8 68 +.b8 77 +.b8 105 +.b8 112 +.b8 109 +.b8 97 +.b8 112 +.b8 112 +.b8 101 +.b8 100 +.b8 87 +.b8 105 +.b8 100 +.b8 116 +.b8 104 + +.b8 0 +.b8 205 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 83 +.b8 116 +.b8 114 +.b8 101 +.b8 97 +.b8 109 +.b8 80 +.b8 114 +.b8 105 +.b8 111 +.b8 114 +.b8 105 +.b8 116 +.b8 105 +.b8 101 +.b8 115 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 206 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 71 +.b8 108 +.b8 111 +.b8 98 +.b8 97 +.b8 108 +.b8 76 +.b8 49 +.b8 67 +.b8 97 +.b8 99 +.b8 104 +.b8 101 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 207 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 76 +.b8 111 +.b8 99 +.b8 97 +.b8 108 +.b8 76 +.b8 49 +.b8 67 +.b8 97 +.b8 99 +.b8 104 +.b8 101 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 208 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 + +.b8 0 +.b8 209 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 82 +.b8 101 +.b8 103 +.b8 105 +.b8 115 +.b8 116 +.b8 101 +.b8 114 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 + +.b8 0 +.b8 210 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 110 +.b8 97 +.b8 103 +.b8 101 +.b8 100 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 + +.b8 0 +.b8 211 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 73 +.b8 115 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 71 +.b8 112 +.b8 117 +.b8 66 +.b8 111 +.b8 97 +.b8 114 +.b8 100 + +.b8 0 +.b8 212 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 71 +.b8 112 +.b8 117 +.b8 66 +.b8 111 +.b8 97 +.b8 114 +.b8 100 +.b8 71 +.b8 114 +.b8 111 +.b8 117 +.b8 112 +.b8 73 +.b8 68 + +.b8 0 +.b8 213 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 78 +.b8 97 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 65 +.b8 116 +.b8 111 +.b8 109 +.b8 105 +.b8 99 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 214 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 83 +.b8 105 +.b8 110 +.b8 103 +.b8 108 +.b8 101 +.b8 84 +.b8 111 +.b8 68 +.b8 111 +.b8 117 +.b8 98 +.b8 108 +.b8 101 +.b8 80 +.b8 114 +.b8 101 +.b8 99 +.b8 105 +.b8 115 +.b8 105 +.b8 111 +.b8 110 +.b8 80 +.b8 101 +.b8 114 +.b8 102 +.b8 82 +.b8 97 +.b8 116 +.b8 105 +.b8 111 + +.b8 0 +.b8 215 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 80 +.b8 97 +.b8 103 +.b8 101 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 65 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 + +.b8 0 +.b8 216 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 110 +.b8 99 +.b8 117 +.b8 114 +.b8 114 +.b8 101 +.b8 110 +.b8 116 +.b8 77 +.b8 97 +.b8 110 +.b8 97 +.b8 103 +.b8 101 +.b8 100 +.b8 65 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 + +.b8 0 +.b8 217 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 109 +.b8 112 +.b8 117 +.b8 116 +.b8 101 +.b8 80 +.b8 114 +.b8 101 +.b8 101 +.b8 109 +.b8 112 +.b8 116 +.b8 105 +.b8 111 +.b8 110 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 218 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 97 +.b8 110 +.b8 85 +.b8 115 +.b8 101 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 80 +.b8 111 +.b8 105 +.b8 110 +.b8 116 +.b8 101 +.b8 114 +.b8 70 +.b8 111 +.b8 114 +.b8 82 +.b8 101 +.b8 103 +.b8 105 +.b8 115 +.b8 116 +.b8 101 +.b8 114 +.b8 101 +.b8 100 +.b8 77 +.b8 101 +.b8 109 + +.b8 0 +.b8 219 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 82 +.b8 101 +.b8 115 +.b8 101 +.b8 114 +.b8 118 +.b8 101 +.b8 100 +.b8 57 +.b8 50 + +.b8 0 +.b8 220 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 82 +.b8 101 +.b8 115 +.b8 101 +.b8 114 +.b8 118 +.b8 101 +.b8 100 +.b8 57 +.b8 51 + +.b8 0 +.b8 221 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 82 +.b8 101 +.b8 115 +.b8 101 +.b8 114 +.b8 118 +.b8 101 +.b8 100 +.b8 57 +.b8 52 + +.b8 0 +.b8 222 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 111 +.b8 112 +.b8 101 +.b8 114 +.b8 97 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 + +.b8 0 +.b8 223 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 111 +.b8 111 +.b8 112 +.b8 101 +.b8 114 +.b8 97 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 76 +.b8 97 +.b8 117 +.b8 110 +.b8 99 +.b8 104 + +.b8 0 +.b8 224 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 83 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 80 +.b8 101 +.b8 114 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 79 +.b8 112 +.b8 116 +.b8 105 +.b8 110 + +.b8 0 +.b8 225 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 67 +.b8 97 +.b8 110 +.b8 70 +.b8 108 +.b8 117 +.b8 115 +.b8 104 +.b8 82 +.b8 101 +.b8 109 +.b8 111 +.b8 116 +.b8 101 +.b8 87 +.b8 114 +.b8 105 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b8 226 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 82 +.b8 101 +.b8 103 +.b8 105 +.b8 115 +.b8 116 +.b8 101 +.b8 114 +.b8 83 +.b8 117 +.b8 112 +.b8 112 +.b8 111 +.b8 114 +.b8 116 +.b8 101 +.b8 100 + +.b8 0 +.b8 227 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 80 +.b8 97 +.b8 103 +.b8 101 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 65 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 85 +.b8 115 +.b8 101 +.b8 115 +.b8 72 +.b8 111 +.b8 115 +.b8 116 +.b8 80 +.b8 97 +.b8 103 +.b8 101 +.b8 84 +.b8 97 +.b8 98 +.b8 108 +.b8 101 +.b8 115 + +.b8 0 +.b8 228 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 68 +.b8 105 +.b8 114 +.b8 101 +.b8 99 +.b8 116 +.b8 77 +.b8 97 +.b8 110 +.b8 97 +.b8 103 +.b8 101 +.b8 100 +.b8 77 +.b8 101 +.b8 109 +.b8 65 +.b8 99 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 70 +.b8 114 +.b8 111 +.b8 109 +.b8 72 +.b8 111 +.b8 115 +.b8 116 + +.b8 0 +.b8 229 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 77 +.b8 97 +.b8 120 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 + +.b8 0 +.b8 234 +.b8 0 + +.b8 6 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 82 +.b8 101 +.b8 115 +.b8 101 +.b8 114 +.b8 118 +.b8 101 +.b8 100 +.b8 83 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 77 +.b8 101 +.b8 109 +.b8 111 +.b8 114 +.b8 121 +.b8 80 +.b8 101 +.b8 114 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 + +.b8 0 +.b8 239 +.b8 0 + +.b8 0 +.b8 4 + +.b32 8406 +.b8 115 +.b8 105 +.b8 122 +.b8 101 +.b8 95 +.b8 116 + +.b8 0 +.b8 14 + +.b8 117 +.b8 110 +.b8 115 +.b8 105 +.b8 103 +.b8 110 +.b8 101 +.b8 100 +.b8 32 +.b8 108 +.b8 111 +.b8 110 +.b8 103 + +.b8 0 +.b8 7 +.b8 8 +.b8 16 + +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 70 +.b8 117 +.b8 110 +.b8 99 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 105 +.b8 98 +.b8 117 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b8 56 +.b8 5 +.b16 1408 +.b8 17 + +.b8 115 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 83 +.b8 105 +.b8 122 +.b8 101 +.b8 66 +.b8 121 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b32 8394 +.b8 5 +.b16 1415 +.b8 0 +.b8 1 +.b8 17 + +.b8 99 +.b8 111 +.b8 110 +.b8 115 +.b8 116 +.b8 83 +.b8 105 +.b8 122 +.b8 101 +.b8 66 +.b8 121 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b32 8394 +.b8 5 +.b16 1421 +.b8 8 +.b8 1 +.b8 17 + +.b8 108 +.b8 111 +.b8 99 +.b8 97 +.b8 108 +.b8 83 +.b8 105 +.b8 122 +.b8 101 +.b8 66 +.b8 121 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b32 8394 +.b8 5 +.b16 1426 +.b8 16 +.b8 1 +.b8 17 + +.b8 109 +.b8 97 +.b8 120 +.b8 84 +.b8 104 +.b8 114 +.b8 101 +.b8 97 +.b8 100 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 + +.b8 0 +.b32 8707 +.b8 5 +.b16 1433 +.b8 24 +.b8 1 +.b8 17 + +.b8 110 +.b8 117 +.b8 109 +.b8 82 +.b8 101 +.b8 103 +.b8 115 + +.b8 0 +.b32 8707 +.b8 5 +.b16 1438 +.b8 28 +.b8 1 +.b8 17 + +.b8 112 +.b8 116 +.b8 120 +.b8 86 +.b8 101 +.b8 114 +.b8 115 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b32 8707 +.b8 5 +.b16 1445 +.b8 32 +.b8 1 +.b8 17 + +.b8 98 +.b8 105 +.b8 110 +.b8 97 +.b8 114 +.b8 121 +.b8 86 +.b8 101 +.b8 114 +.b8 115 +.b8 105 +.b8 111 +.b8 110 + +.b8 0 +.b32 8707 +.b8 5 +.b16 1452 +.b8 36 +.b8 1 +.b8 17 + +.b8 99 +.b8 97 +.b8 99 +.b8 104 +.b8 101 +.b8 77 +.b8 111 +.b8 100 +.b8 101 +.b8 67 +.b8 65 + +.b8 0 +.b32 8707 +.b8 5 +.b16 1458 +.b8 40 +.b8 1 +.b8 17 + +.b8 109 +.b8 97 +.b8 120 +.b8 68 +.b8 121 +.b8 110 +.b8 97 +.b8 109 +.b8 105 +.b8 99 +.b8 83 +.b8 104 +.b8 97 +.b8 114 +.b8 101 +.b8 100 +.b8 83 +.b8 105 +.b8 122 +.b8 101 +.b8 66 +.b8 121 +.b8 116 +.b8 101 +.b8 115 + +.b8 0 +.b32 8707 +.b8 5 +.b16 1465 +.b8 44 +.b8 1 +.b8 17 + +.b8 112 +.b8 114 +.b8 101 +.b8 102 +.b8 101 +.b8 114 +.b8 114 +.b8 101 +.b8 100 +.b8 83 +.b8 104 +.b8 109 +.b8 101 +.b8 109 +.b8 67 +.b8 97 +.b8 114 +.b8 118 +.b8 101 +.b8 111 +.b8 117 +.b8 116 + +.b8 0 +.b32 8707 +.b8 5 +.b16 1474 +.b8 48 +.b8 1 +.b8 0 +.b8 14 + +.b8 105 +.b8 110 +.b8 116 + +.b8 0 +.b8 5 +.b8 4 +.b8 16 + +.b8 100 +.b8 105 +.b8 109 +.b8 51 + +.b8 0 +.b8 12 +.b8 3 +.b16 416 +.b8 17 + +.b8 120 + +.b8 0 +.b32 8761 +.b8 3 +.b16 418 +.b8 0 +.b8 1 +.b8 17 + +.b8 121 + +.b8 0 +.b32 8761 +.b8 3 +.b16 418 +.b8 4 +.b8 1 +.b8 17 + +.b8 122 + +.b8 0 +.b32 8761 +.b8 3 +.b16 418 +.b8 8 +.b8 1 +.b8 0 +.b8 14 + +.b8 117 +.b8 110 +.b8 115 +.b8 105 +.b8 103 +.b8 110 +.b8 101 +.b8 100 +.b8 32 +.b8 105 +.b8 110 +.b8 116 + +.b8 0 +.b8 7 +.b8 4 +.b8 18 + +.b32 8783 +.b8 12 +.b8 18 + +.b32 4557 +.b8 12 +.b8 18 + +.b32 8423 +.b8 12 +.b8 18 + +.b32 8801 +.b8 12 +.b8 19 + +.b32 4557 +.b8 18 + +.b32 8707 +.b8 12 +.b8 18 + +.b32 8818 +.b8 12 +.b8 19 + +.b32 4872 +.b8 18 + +.b32 4872 +.b8 12 +.b8 19 + +.b32 8834 +.b8 18 + +.b32 8714 +.b8 12 +.b8 0 +} +.section .debug_abbrev { +.b8 1 + +.b8 17 + +.b8 1 + +.b8 37 + +.b8 8 + +.b8 19 + +.b8 11 + +.b8 3 + +.b8 8 + +.b8 17 + +.b8 1 + +.b8 16 + +.b8 6 + +.b8 27 + +.b8 8 + +.b8 0 + +.b8 0 + +.b8 2 + +.b8 46 + +.b8 1 + +.b8 135 +.b8 64 + +.b8 8 + +.b8 3 + +.b8 8 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 11 + +.b8 73 + +.b8 19 + +.b8 63 + +.b8 12 + +.b8 17 + +.b8 1 + +.b8 18 + +.b8 1 + +.b8 64 + +.b8 10 + +.b8 0 + +.b8 0 + +.b8 3 + +.b8 5 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 11 + +.b8 73 + +.b8 19 + +.b8 2 + +.b8 10 + +.b8 51 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 4 + +.b8 22 + +.b8 0 + +.b8 73 + +.b8 19 + +.b8 3 + +.b8 8 + +.b8 0 + +.b8 0 + +.b8 5 + +.b8 4 + +.b8 1 + +.b8 3 + +.b8 8 + +.b8 11 + +.b8 11 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 6 + +.b8 40 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 28 + +.b8 13 + +.b8 0 + +.b8 0 + +.b8 7 + +.b8 11 + +.b8 1 + +.b8 17 + +.b8 1 + +.b8 18 + +.b8 1 + +.b8 0 + +.b8 0 + +.b8 8 + +.b8 52 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 11 + +.b8 73 + +.b8 19 + +.b8 2 + +.b8 10 + +.b8 51 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 9 + +.b8 59 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 0 + +.b8 0 + +.b8 10 + +.b8 46 + +.b8 1 + +.b8 135 +.b8 64 + +.b8 8 + +.b8 3 + +.b8 8 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 5 + +.b8 73 + +.b8 19 + +.b8 63 + +.b8 12 + +.b8 17 + +.b8 1 + +.b8 18 + +.b8 1 + +.b8 64 + +.b8 10 + +.b8 0 + +.b8 0 + +.b8 11 + +.b8 5 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 73 + +.b8 19 + +.b8 2 + +.b8 10 + +.b8 51 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 12 + +.b8 5 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 5 + +.b8 73 + +.b8 19 + +.b8 2 + +.b8 10 + +.b8 51 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 13 + +.b8 5 + +.b8 0 + +.b8 73 + +.b8 19 + +.b8 2 + +.b8 10 + +.b8 51 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 14 + +.b8 36 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 62 + +.b8 11 + +.b8 11 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 15 + +.b8 4 + +.b8 1 + +.b8 3 + +.b8 8 + +.b8 11 + +.b8 11 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 5 + +.b8 0 + +.b8 0 + +.b8 16 + +.b8 19 + +.b8 1 + +.b8 3 + +.b8 8 + +.b8 11 + +.b8 11 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 5 + +.b8 0 + +.b8 0 + +.b8 17 + +.b8 13 + +.b8 0 + +.b8 3 + +.b8 8 + +.b8 73 + +.b8 19 + +.b8 58 + +.b8 11 + +.b8 59 + +.b8 5 + +.b8 56 + +.b8 11 + +.b8 50 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 18 + +.b8 15 + +.b8 0 + +.b8 73 + +.b8 19 + +.b8 51 + +.b8 11 + +.b8 0 + +.b8 0 + +.b8 19 + +.b8 38 + +.b8 0 + +.b8 73 + +.b8 19 + +.b8 0 + +.b8 0 + +.b8 0 + +} +.section .debug_ranges { +} +.section .debug_pubnames { +.b32 288 +.b8 2 +.b8 0 +.b32 .debug_info +.b32 8837 +.b32 3565 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 70 +.b8 117 +.b8 110 +.b8 99 +.b8 71 +.b8 101 +.b8 116 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 105 +.b8 98 +.b8 117 +.b8 116 +.b8 101 +.b8 115 +.b8 0 + +.b32 3675 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 71 +.b8 101 +.b8 116 +.b8 65 +.b8 116 +.b8 116 +.b8 114 +.b8 105 +.b8 98 +.b8 117 +.b8 116 +.b8 101 +.b8 0 + +.b32 4362 +.b8 95 +.b8 90 +.b8 57 +.b8 118 +.b8 101 +.b8 99 +.b8 116 +.b8 111 +.b8 114 +.b8 65 +.b8 100 +.b8 100 +.b8 80 +.b8 75 +.b8 102 +.b8 83 +.b8 48 +.b8 95 +.b8 80 +.b8 102 +.b8 105 +.b8 0 + +.b32 3886 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 79 +.b8 99 +.b8 99 +.b8 117 +.b8 112 +.b8 97 +.b8 110 +.b8 99 +.b8 121 +.b8 77 +.b8 97 +.b8 120 +.b8 65 +.b8 99 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 +.b8 0 + +.b32 102 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 77 +.b8 97 +.b8 108 +.b8 108 +.b8 111 +.b8 99 +.b8 0 + +.b32 4693 +.b8 95 +.b8 90 +.b8 78 +.b8 52 +.b8 100 +.b8 105 +.b8 109 +.b8 51 +.b8 67 +.b8 50 +.b8 69 +.b8 106 +.b8 106 +.b8 106 +.b8 0 + +.b32 4805 +.b8 95 +.b8 90 +.b8 83 +.b8 116 +.b8 52 +.b8 102 +.b8 97 +.b8 98 +.b8 115 +.b8 102 +.b8 0 + +.b32 3809 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 71 +.b8 101 +.b8 116 +.b8 68 +.b8 101 +.b8 118 +.b8 105 +.b8 99 +.b8 101 +.b8 0 + +.b32 4105 +.b8 99 +.b8 117 +.b8 100 +.b8 97 +.b8 79 +.b8 99 +.b8 99 +.b8 117 +.b8 112 +.b8 97 +.b8 110 +.b8 99 +.b8 121 +.b8 77 +.b8 97 +.b8 120 +.b8 65 +.b8 99 +.b8 116 +.b8 105 +.b8 118 +.b8 101 +.b8 66 +.b8 108 +.b8 111 +.b8 99 +.b8 107 +.b8 115 +.b8 80 +.b8 101 +.b8 114 +.b8 77 +.b8 117 +.b8 108 +.b8 116 +.b8 105 +.b8 112 +.b8 114 +.b8 111 +.b8 99 +.b8 101 +.b8 115 +.b8 115 +.b8 111 +.b8 114 +.b8 87 +.b8 105 +.b8 116 +.b8 104 +.b8 70 +.b8 108 +.b8 97 +.b8 103 +.b8 115 +.b8 0 + +.b32 4563 +.b8 95 +.b8 90 +.b8 78 +.b8 52 +.b8 100 +.b8 105 +.b8 109 +.b8 51 +.b8 67 +.b8 49 +.b8 69 +.b8 106 +.b8 106 +.b8 106 +.b8 0 + +.b32 0 +} diff --git a/ptx/src/test/spirv_run/block.ptx b/ptx/src/test/spirv_run/block.ptx new file mode 100644 index 0000000..03c552c --- /dev/null +++ b/ptx/src/test/spirv_run/block.ptx @@ -0,0 +1,26 @@ +.version 6.5 +.target sm_30 +.address_size 64 + +.visible .entry block( + .param .u64 input, + .param .u64 output +) +{ + .reg .u64 in_addr; + .reg .u64 out_addr; + .reg .u64 temp; + .reg .u64 temp2; + + ld.param.u64 in_addr, [input]; + ld.param.u64 out_addr, [output]; + + ld.u64 temp, [in_addr]; + add.u64 temp2, temp, 1; + { + .reg .u64 temp2; + add.u64 temp2, temp2, 1; + } + st.u64 [out_addr], temp2; + ret; +} diff --git a/ptx/src/test/spirv_run/block.spvtxt b/ptx/src/test/spirv_run/block.spvtxt new file mode 100644 index 0000000..a780cc3 --- /dev/null +++ b/ptx/src/test/spirv_run/block.spvtxt @@ -0,0 +1,44 @@ + OpCapability GenericPointer
+ OpCapability Linkage
+ OpCapability Addresses
+ OpCapability Kernel
+ OpCapability Int64
+ OpCapability Int8
+ %1 = OpExtInstImport "OpenCL.std"
+ OpMemoryModel Physical64 OpenCL
+ OpEntryPoint Kernel %5 "block"
+ %void = OpTypeVoid
+ %ulong = OpTypeInt 64 0
+ %4 = OpTypeFunction %void %ulong %ulong
+%_ptr_Function_ulong = OpTypePointer Function %ulong
+%_ptr_Generic_ulong = OpTypePointer Generic %ulong
+ %ulong_1 = OpConstant %ulong 1
+ %ulong_1_0 = OpConstant %ulong 1
+ %5 = OpFunction %void None %4
+ %6 = OpFunctionParameter %ulong
+ %7 = OpFunctionParameter %ulong
+ %25 = OpLabel
+ %8 = OpVariable %_ptr_Function_ulong Function
+ %9 = OpVariable %_ptr_Function_ulong Function
+ %10 = OpVariable %_ptr_Function_ulong Function
+ %11 = OpVariable %_ptr_Function_ulong Function
+ OpStore %8 %6
+ OpStore %9 %7
+ %14 = OpLoad %ulong %8
+ %23 = OpConvertUToPtr %_ptr_Generic_ulong %14
+ %13 = OpLoad %ulong %23
+ OpStore %10 %13
+ %16 = OpLoad %ulong %10
+ %15 = OpIAdd %ulong %16 %ulong_1
+ OpStore %11 %15
+ %12 = OpVariable %_ptr_Function_ulong Function
+ %18 = OpLoad %ulong %12
+ %17 = OpIAdd %ulong %18 %ulong_1_0
+ OpStore %12 %17
+ %19 = OpLoad %ulong %9
+ %20 = OpLoad %ulong %11
+ %24 = OpConvertUToPtr %_ptr_Generic_ulong %19
+ OpStore %24 %20
+ OpReturn
+ OpFunctionEnd
+
\ No newline at end of file diff --git a/ptx/src/test/spirv_run/mod.rs b/ptx/src/test/spirv_run/mod.rs index 257fad2..23852a1 100644 --- a/ptx/src/test/spirv_run/mod.rs +++ b/ptx/src/test/spirv_run/mod.rs @@ -50,6 +50,7 @@ test_ptx!(not, [0u64], [u64::max_value()]); test_ptx!(shl, [11u64], [44u64]);
test_ptx!(cvt_sat_s_u, [-1i32], [0i32]);
test_ptx!(cvta, [3.0f32], [3.0f32]);
+test_ptx!(block, [1u64], [2u64]);
struct DisplayError<T: Debug> {
err: T,
diff --git a/ptx/src/translate.rs b/ptx/src/translate.rs index b4d01eb..3fe01cf 100644 --- a/ptx/src/translate.rs +++ b/ptx/src/translate.rs @@ -271,7 +271,6 @@ fn normalize_predicates( let mut result = Vec::with_capacity(func.len());
for s in func {
match s {
- ast::Statement::Block(_) => todo!(),
ast::Statement::Label(id) => result.push(Statement::Label(id)),
ast::Statement::Instruction(pred, inst) => {
if let Some(pred) = pred {
@@ -302,6 +301,8 @@ fn normalize_predicates( ast::Statement::Variable(var) => {
result.push(Statement::Variable(var.name, var.v_type, var.space))
}
+ // Blocks are flattened when resolving ids
+ ast::Statement::Block(_) => unreachable!(),
}
}
result
@@ -659,7 +660,7 @@ fn emit_function_body_ops( }
Statement::Instruction(inst) => match inst {
ast::Instruction::Abs(_, _) => todo!(),
- ast::Instruction::Call(_,_) => todo!(),
+ ast::Instruction::Call(_, _) => todo!(),
// SPIR-V does not support marking jumps as guaranteed-converged
ast::Instruction::Bra(_, arg) => {
builder.branch(arg.src)?;
@@ -1084,7 +1085,13 @@ fn expand_map_variables<'a>( s: ast::Statement<ast::ParsedArgParams<'a>>,
) {
match s {
- ast::Statement::Block(_) => todo!(),
+ ast::Statement::Block(block) => {
+ id_defs.start_block();
+ for s in block {
+ expand_map_variables(id_defs, result, s);
+ }
+ id_defs.end_block();
+ }
ast::Statement::Label(name) => result.push(ast::Statement::Label(id_defs.get_id(name))),
ast::Statement::Instruction(p, i) => result.push(ast::Statement::Instruction(
p.map(|p| p.map_variable(&mut |id| id_defs.get_id(id))),
@@ -1118,7 +1125,7 @@ fn expand_map_variables<'a>( struct StringIdResolver<'a> {
current_id: spirv::Word,
- variables: HashMap<Cow<'a, str>, spirv::Word>,
+ variables: Vec<HashMap<Cow<'a, str>, spirv::Word>>,
type_check: HashMap<u32, ast::Type>,
}
@@ -1126,7 +1133,7 @@ impl<'a> StringIdResolver<'a> { fn new() -> Self {
StringIdResolver {
current_id: 0u32,
- variables: HashMap::new(),
+ variables: vec![HashMap::new(); 1],
type_check: HashMap::new(),
}
}
@@ -1138,13 +1145,30 @@ impl<'a> StringIdResolver<'a> { }
}
+ fn start_block(&mut self) {
+ self.variables.push(HashMap::new())
+ }
+
+ fn end_block(&mut self) {
+ self.variables.pop();
+ }
+
fn get_id(&self, id: &'a str) -> spirv::Word {
- self.variables[id]
+ for scope in self.variables.iter().rev() {
+ match scope.get(id) {
+ Some(id) => return *id,
+ None => continue,
+ }
+ }
+ panic!()
}
fn add_def(&mut self, id: &'a str, typ: Option<ast::Type>) -> spirv::Word {
let numeric_id = self.current_id;
- self.variables.insert(Cow::Borrowed(id), numeric_id);
+ self.variables
+ .last_mut()
+ .unwrap()
+ .insert(Cow::Borrowed(id), numeric_id);
if let Some(typ) = typ {
self.type_check.insert(numeric_id, typ);
}
@@ -1162,6 +1186,8 @@ impl<'a> StringIdResolver<'a> { let numeric_id = self.current_id;
for i in 0..count {
self.variables
+ .last_mut()
+ .unwrap()
.insert(Cow::Owned(format!("{}{}", base_id, i)), numeric_id + i);
self.type_check.insert(numeric_id + i, typ);
}
|