From 5cbe490aaecbc8d901fadba344a5eabaf32fd738 Mon Sep 17 00:00:00 2001 From: "jose.rodriguezlabra" Date: Sat, 16 Mar 2019 14:01:32 -0400 Subject: [PATCH] Added link instruction --- CPU9bits_tb_behav.wcfg | 111 ++++++++++++++++++ lab2CA.sim/sim_1/behav/xsim/webtalk.jou | 4 +- ...08.backup.jou => webtalk_14664.backup.jou} | 6 +- ...968.backup.jou => webtalk_4744.backup.jou} | 6 +- .../xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c | 60 +++++----- .../webtalk/xsim_webtalk.tcl | 28 +++-- .../xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem | Bin 15344 -> 15739 bytes lab2CA.srcs/sources_1/new/CPU9bits.v | 36 ++++-- lab2CA.srcs/sources_1/new/ControlUnit.v | 30 ++++- lab2CA.xpr | 5 +- 10 files changed, 225 insertions(+), 61 deletions(-) create mode 100644 CPU9bits_tb_behav.wcfg rename lab2CA.sim/sim_1/behav/xsim/{webtalk_12808.backup.jou => webtalk_14664.backup.jou} (77%) rename lab2CA.sim/sim_1/behav/xsim/{webtalk_17968.backup.jou => webtalk_4744.backup.jou} (77%) diff --git a/CPU9bits_tb_behav.wcfg b/CPU9bits_tb_behav.wcfg new file mode 100644 index 0000000..033cbe2 --- /dev/null +++ b/CPU9bits_tb_behav.wcfg @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + instruction[8:0] + instruction[8:0] + + + clk + clk + + + done + done + + + reset + reset + + + enable + enable + + + write_index[1:0] + write_index[1:0] + + + op0_idx[1:0] + op0_idx[1:0] + + + op1_idx[1:0] + op1_idx[1:0] + + + write_data[8:0] + write_data[8:0] + + + op0[8:0] + op0[8:0] + + + op1[8:0] + op1[8:0] + + + decOut[3:0] + decOut[3:0] + + + r0_out[8:0] + r0_out[8:0] + + + r1_out[8:0] + r1_out[8:0] + + + r2_out[8:0] + r2_out[8:0] + + + r3_out[8:0] + r3_out[8:0] + + + op_idx + op_idx + + + AddrIn[8:0] + AddrIn[8:0] + + + AddrOut[8:0] + AddrOut[8:0] + + + progC_out[8:0] + progC_out[8:0] + + + result_m[8:0] + result_m[8:0] + + + cout + cout + + diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou index eb52ade..d81d9af 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou @@ -2,8 +2,8 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Thu Mar 14 14:24:20 2019 -# Process ID: 14664 +# Start of session at: Sat Mar 16 13:34:35 2019 +# Process ID: 4680 # Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim # Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace # Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_12808.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_14664.backup.jou similarity index 77% rename from lab2CA.sim/sim_1/behav/xsim/webtalk_12808.backup.jou rename to lab2CA.sim/sim_1/behav/xsim/webtalk_14664.backup.jou index cd841e1..eb52ade 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk_12808.backup.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk_14664.backup.jou @@ -2,10 +2,10 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Wed Mar 13 11:21:19 2019 -# Process ID: 12808 +# Start of session at: Thu Mar 14 14:24:20 2019 +# Process ID: 14664 # Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/comparator_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace # Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log # Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou #----------------------------------------------------------- diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_17968.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_4744.backup.jou similarity index 77% rename from lab2CA.sim/sim_1/behav/xsim/webtalk_17968.backup.jou rename to lab2CA.sim/sim_1/behav/xsim/webtalk_4744.backup.jou index f19d8f7..03fe54d 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk_17968.backup.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk_4744.backup.jou @@ -2,10 +2,10 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Wed Mar 13 11:20:32 2019 -# Process ID: 17968 +# Start of session at: Sat Mar 16 12:09:51 2019 +# Process ID: 4744 # Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/comparator_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace # Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log # Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou #----------------------------------------------------------- diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c index e13ebca..ae6a047 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c @@ -46,16 +46,14 @@ typedef void (*funcp)(char *, char *); extern int main(int, char**); extern void execute_2(char*, char *); extern void execute_3(char*, char *); -extern void execute_135(char*, char *); -extern void execute_332(char*, char *); -extern void execute_333(char*, char *); -extern void execute_334(char*, char *); +extern void execute_137(char*, char *); +extern void execute_336(char*, char *); +extern void execute_337(char*, char *); +extern void execute_338(char*, char *); extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); -extern void execute_316(char*, char *); -extern void execute_317(char*, char *); extern void execute_318(char*, char *); +extern void execute_319(char*, char *); extern void execute_320(char*, char *); -extern void execute_321(char*, char *); extern void execute_322(char*, char *); extern void execute_323(char*, char *); extern void execute_324(char*, char *); @@ -66,51 +64,55 @@ extern void execute_328(char*, char *); extern void execute_329(char*, char *); extern void execute_330(char*, char *); extern void execute_331(char*, char *); -extern void execute_140(char*, char *); -extern void execute_141(char*, char *); +extern void execute_332(char*, char *); +extern void execute_333(char*, char *); +extern void execute_334(char*, char *); +extern void execute_335(char*, char *); extern void execute_142(char*, char *); extern void execute_143(char*, char *); extern void execute_144(char*, char *); extern void execute_145(char*, char *); extern void execute_146(char*, char *); +extern void execute_147(char*, char *); +extern void execute_148(char*, char *); extern void execute_7(char*, char *); extern void execute_9(char*, char *); extern void execute_17(char*, char *); -extern void execute_166(char*, char *); extern void execute_168(char*, char *); -extern void execute_169(char*, char *); -extern void execute_147(char*, char *); -extern void execute_148(char*, char *); +extern void execute_170(char*, char *); +extern void execute_171(char*, char *); +extern void execute_149(char*, char *); +extern void execute_150(char*, char *); extern void execute_34(char*, char *); -extern void execute_278(char*, char *); -extern void execute_207(char*, char *); -extern void execute_188(char*, char *); -extern void execute_228(char*, char *); -extern void execute_229(char*, char *); +extern void execute_280(char*, char *); +extern void execute_209(char*, char *); +extern void execute_190(char*, char *); extern void execute_230(char*, char *); extern void execute_231(char*, char *); extern void execute_232(char*, char *); extern void execute_233(char*, char *); -extern void execute_275(char*, char *); -extern void execute_276(char*, char *); +extern void execute_234(char*, char *); +extern void execute_235(char*, char *); +extern void execute_277(char*, char *); +extern void execute_278(char*, char *); extern void execute_102(char*, char *); extern void execute_104(char*, char *); extern void execute_120(char*, char *); -extern void execute_137(char*, char *); -extern void execute_138(char*, char *); extern void execute_139(char*, char *); -extern void execute_335(char*, char *); -extern void execute_336(char*, char *); -extern void execute_337(char*, char *); -extern void execute_338(char*, char *); +extern void execute_140(char*, char *); +extern void execute_141(char*, char *); extern void execute_339(char*, char *); +extern void execute_340(char*, char *); +extern void execute_341(char*, char *); +extern void execute_342(char*, char *); +extern void execute_343(char*, char *); extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); -funcp funcTab[61] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_135, (funcp)execute_332, (funcp)execute_333, (funcp)execute_334, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_316, (funcp)execute_317, (funcp)execute_318, (funcp)execute_320, (funcp)execute_321, (funcp)execute_322, (funcp)execute_323, (funcp)execute_324, (funcp)execute_325, (funcp)execute_326, (funcp)execute_327, (funcp)execute_328, (funcp)execute_329, (funcp)execute_330, (funcp)execute_331, (funcp)execute_140, (funcp)execute_141, (funcp)execute_142, (funcp)execute_143, (funcp)execute_144, (funcp)execute_145, (funcp)execute_146, (funcp)execute_7, (funcp)execute_9, (funcp)execute_17, (funcp)execute_166, (funcp)execute_168, (funcp)execute_169, (funcp)execute_147, (funcp)execute_148, (funcp)execute_34, (funcp)execute_278, (funcp)execute_207, (funcp)execute_188, (funcp)execute_228, (funcp)execute_229, (funcp)execute_230, (funcp)execute_231, (funcp)execute_232, (funcp)execute_233, (funcp)execute_275, (funcp)execute_276, (funcp)execute_102, (funcp)execute_104, (funcp)execute_120, (funcp)execute_137, (funcp)execute_138, (funcp)execute_139, (funcp)execute_335, (funcp)execute_336, (funcp)execute_337, (funcp)execute_338, (funcp)execute_339, (funcp)vlog_transfunc_eventcallback}; -const int NumRelocateId= 61; +funcp funcTab[63] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_137, (funcp)execute_336, (funcp)execute_337, (funcp)execute_338, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_318, (funcp)execute_319, (funcp)execute_320, (funcp)execute_322, (funcp)execute_323, (funcp)execute_324, (funcp)execute_325, (funcp)execute_326, (funcp)execute_327, (funcp)execute_328, (funcp)execute_329, (funcp)execute_330, (funcp)execute_331, (funcp)execute_332, (funcp)execute_333, (funcp)execute_334, (funcp)execute_335, (funcp)execute_142, (funcp)execute_143, (funcp)execute_144, (funcp)execute_145, (funcp)execute_146, (funcp)execute_147, (funcp)execute_148, (funcp)execute_7, (funcp)execute_9, (funcp)execute_17, (funcp)execute_168, (funcp)execute_170, (funcp)execute_171, (funcp)execute_149, (funcp)execute_150, (funcp)execute_34, (funcp)execute_280, (funcp)execute_209, (funcp)execute_190, (funcp)execute_230, (funcp)execute_231, (funcp)execute_232, (funcp)execute_233, (funcp)execute_234, (funcp)execute_235, (funcp)execute_277, (funcp)execute_278, (funcp)execute_102, (funcp)execute_104, (funcp)execute_120, (funcp)execute_139, (funcp)execute_140, (funcp)execute_141, (funcp)execute_339, (funcp)execute_340, (funcp)execute_341, (funcp)execute_342, (funcp)execute_343, (funcp)vlog_transfunc_eventcallback}; +const int NumRelocateId= 63; void relocate(char *dp) { - iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 61); + iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 63); /*Populate the transaction function pointer field in the whole net structure */ } diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl index fb02517..20a4efa 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl @@ -1,6 +1,6 @@ webtalk_init -webtalk_dir C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ webtalk_register_client -client project -webtalk_add_data -client project -key date_generated -value "Thu Mar 14 14:36:57 2019" -context "software_version_and_target_device" +webtalk_add_data -client project -key date_generated -value "Sat Mar 16 13:42:13 2019" -context "software_version_and_target_device" webtalk_add_data -client project -key product_version -value "XSIM v2018.3 (64-bit)" -context "software_version_and_target_device" webtalk_add_data -client project -key build_version -value "2405991" -context "software_version_and_target_device" webtalk_add_data -client project -key os_platform -value "WIN64" -context "software_version_and_target_device" @@ -14,7 +14,7 @@ webtalk_add_data -client project -key target_package -value "not_applicable" -co webtalk_add_data -client project -key target_speed -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key random_id -value "17336daf-0d92-4f07-b4a4-ff1c52043edb" -context "software_version_and_target_device" webtalk_add_data -client project -key project_id -value "0a5803efda44405bb28bbf43ba22e808" -context "software_version_and_target_device" -webtalk_add_data -client project -key project_iteration -value "45" -context "software_version_and_target_device" +webtalk_add_data -client project -key project_iteration -value "53" -context "software_version_and_target_device" webtalk_add_data -client project -key os_name -value "Microsoft Windows 8 or later , 64-bit" -context "user_environment" webtalk_add_data -client project -key os_release -value "major release (build 9200)" -context "user_environment" webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz" -context "user_environment" @@ -22,11 +22,21 @@ webtalk_add_data -client project -key cpu_speed -value "2594 MHz" -context "user webtalk_add_data -client project -key total_processors -value "1" -context "user_environment" webtalk_add_data -client project -key system_ram -value "8.000 GB" -context "user_environment" webtalk_register_client -client xsim -webtalk_add_data -client xsim -key Command -value "xsim" -context "xsim\\command_line_options" -webtalk_add_data -client xsim -key trace_waveform -value "true" -context "xsim\\usage" -webtalk_add_data -client xsim -key runtime -value "70 ns" -context "xsim\\usage" -webtalk_add_data -client xsim -key iteration -value "0" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Time -value "0.00_sec" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Memory -value "5712_KB" -context "xsim\\usage" -webtalk_transmit -clientid 920060351 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" +webtalk_add_data -client xsim -key File_Counter -value "7" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Command -value "xelab" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Vhdl2008 -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key GenDLL -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key SDFModeling -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key HWCosim -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key DPI_Used -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Debug -value "typical" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Simulation_Image_Code -value "92 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Image_Data -value "15 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Nets -value "0" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Processes -value "230" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Instances -value "118" -context "xsim\\usage" +webtalk_add_data -client xsim -key Xilinx_HDL_Libraries_Used -value "secureip unimacro_ver unisims_ver " -context "xsim\\usage" +webtalk_add_data -client xsim -key Compiler_Time -value "0.92_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Compiler_Memory -value "42696_KB" -context "xsim\\usage" +webtalk_transmit -clientid 3357111948 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" webtalk_terminate diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem index 3b54dd3205acfa7f2bf52ba698022b3c67c0e179..ad10912b9dc7945f1746c21703141d29c63e3a9b 100644 GIT binary patch literal 15739 zcmeHtc{r5s7k7*DjY^RvYb7Z}Dk;lMo3x?q`$NSIw=g)Py=6Rku_qoq~*3UW5?AY<2e{&MMwjccX{kbUf z>;6Bf{&)934g607|I@(#H1PjR1BqK(Tde;-{Mi3o{Qf*7xnl?G89(s9@^5tiMfU%^ zUHP5Qc@FQ`0oyrmX8%T5k9XnF{bMIjE;n&nDf(XBp%DXtK_Y8kK~fIwI{o;})lX}Y zd+K-WJRkICF;^9ykc4lk1jOQSA@vsG8Uu#0%3Z&7)Nvt!2@auBin zos<9ZiH;b*7k)(47~7Sn>Mp|r|*DF43U0}{V4L*BMF{?uBs5GPI z4(!srOIGwOPq7RoKQN(EXv$3az?6$5}dXH?3{lkZk7@a1V8_W1_~g`tiXA8Cyc7~FF?Ki1fdz==sc z4r(J=WiJG*3pk*H$01fIVFPI6^Tc*fqWQV$JbeDv~CH$PFnY)PqV#8D!XP)lBWawSx z8#=VvHbSEC=%RbO&Nq679i5}EsC>BUVKTKAEaOf1aC56P6P04+hSqjq8bWWFhvx{r z8NUf~tdM@TvDrKxJdYDAG<{zS=WPMo$!pjrw97IYxVv zUgJ|wy2fHr=l$RAk*?}|${VssX^XmhX{ra$81asPf>_h`D5?ct z_3#DBf8vZIT(t&edNDIlziM-Wdd#E4ToQpYb?mz|`@m#jPj%Pqg{7MEEHX~oU?@$W zNxLkrhJ$vFKFiipy)-jL9GZT!xfz27YLmEF2glHM1^TNk_Lpkr-nSESab6_N)CSyi)&PUa( zi(Nw@w0A>ZL4LV^lS#j*-4mW;oO2M)ptNr2#8=9?`(bZ9EX%>^*I*xGLU1-)C6lK| zkQ*;?A(d+RDQDMUs67V-_uM?2E!iEME~8A23&rdJyB&2>S$|=nuNCeOvK>f)FB_sD zrQgi8QeQ~bD@5fPdTFVuDsVT7t0}(Cr_(mRM=2bBt3ic2m_$lW;pVEjz77vR zQZ@MqQq@W-*>EfuiQT9s;wx4cDNej^c;YDIYVzxJs-P3R^xOLFt>GgMw)wFuFC}Ox zdxA-y)QCeCa$ScbO<7xZbN1}Nqx((R2~MXV3TJ2lgGC~(z*6^s!ZUN{X!rWYt6R!9 zR{O=ANUHMW4S7AbIh@D$`Na4ydm^<=R!1&$AC8cqHj7=6DT?f&Tzm^tP5pV=HaR?5 z?B!BlkK~av-Eh^gU7O{PW*ac6)}&K?_L)8HHrIC~KK}fpG%q9XRKt*a*-q$f+*T8b zZh8ILtE=t7jGmVCr(m4to^PiMzIE&2JMHV}6%S`;VRw>=qXmgF=BFUu78PTk5{#EJ zju|3qjDkOZ#@H8)mYJ?49havEUcBzjS2iPMcdl~uE3Rvyx@~dyUhf*H!@-`Jq*`a+ zf*+07Zg}%yg5GP4FEcLXF(hKd&dqzWuM>^I=cqn`8;;#v_nFYQKE#s8TfSLavdhjT z-j=f#cQ(UVU*t65y6M1Ur)5k5@E8}kaW7X)UY<)8^PQL%2A`!zco#Wfd#ZPB z-(Ed3ZRGf9y3YYiOFB86y1;vyjqlOE#IJ6Qzib!Ad zN?bQibR}1c@aW{6lA9b5sr#a1CTp?wxr`weK<0l%mXiSe>>1moSKd(no?Id?JZCz# z>@PRQfYi};jWU$2_?Ajw{*NT|?!R6)=db(nk_}i3rP>FOPmEUi11FKf25=uP4lWVR zmxRq5n0bxv9?k%tLt>6#$rmg_4H|kTj$7B$64;z^-zNbLbe9TYQ(rEO*i6|k*{y%= zduOd-o=rYb4|RGeha9P*lLN?4MwM@krO-=YD%VT+C``U3uSMy6?4qwTu_b^kS_?fv zDS?&9j5~aX9$gxu+r|RxOb`u=Lpp1k5G-GWdStgxg$@;Rh zU-(%{%^pR332L)E{CAQ6nruyP7x0}~FF&Q`C7==G7?(>^2#xQbrc z_p)0^wDH8UKNk`aL{7a?PxBb7qFj%~&{qhD*T%3vFIRvVacipqZ(1xk$Xw$#(xvUH zMQ$6oY@t-sP@dRx^?-{kw9T%X%$4R)qEyiHO5AoYDJuilX}JJpSGya1cMn{^3B| z8fGZqp4xhL=PkS!psjt|c45%0v10Oo@7#U+R(|-#zG07;76UK%JSTR^-9`PJv1orn zNN;qP1%JfNg}tAW@bA-dw94g>nhvi!TLk*h#ccYHyFwGp^=evneCn##e*~?~N0Dc_ z(5oE~+rn0j6+bP;%!QoZQxfzq8O${@mjjv@&WT2nj}nTfbyar ziOlo6vGGW(?Wi}OMEe9Dc{-mBIZ)|TnKiH^uIzUvWw>uwpu7Fjr(RzhrK%-;9-T;e z`6DXs=_cUCr?{HT;kyG|@9B+ix9ms;_w7#@$+6$A`Tiyue=NPqb5^2LtU5l;YtIdUw5~9kS0xi>)?g3l4>&vySJv1`z|)U>==UkYB9Xx=^~FA zJ9V}|6Jn0ckf$0aNt4gAV#OtiK zs4HioU__*6L9b`v!Cn!?`S zN@(*ToJ%}c*V&i)yvF<8v^Vy%RgzJ4Kl6uOP+9!@ko&JcSk|3M_kNLu-pbq(B(bM& zHXp%#2ePjZ$2z|Wkge5+E9y};zzzpaktl3gcpZsMGvsLL`6|#2k#>C9$0IOWSvrC- z>f|+xJHFq&1eTRnkyIi$mUk-sL_73Mp=8pdS)TXwRC`DvH1Wv>pv0cLCb?q36W7#U zq3sKs554xe7KI+35@d`O|8d`2I(T1Q=rQxu(F)e8SrDO1`{i8pKhzwQ$(IG`Eq}@jIg>peY36^_mj@s5r4b81*nqC34dWY>tp%#eP8(-v9iUvj&;#Hab+T-fY{xZMIiov zhGSomV^3ddd9B_$8yU`ZQC8Ii)ZetEWFbEe1wEM(qE_4*d1e|)ESBjICy1BWE&rr% z$b9UT??`e6s?ey0lNab@p_P89PBzDPH!M2!JB1tBm7(xH7ay7iLZpG@uFhSUq8}Bj zh<4iDzgJK(`OC@7$Z_f{Snyrm5QrE+M;aD9(-&OcFrg#y9C7c<8Uib+`v3zPFLV>d zM_9ScH?9qO$<`cPH<<&<`|`-koX>49rsOpwS0>WRD52&s`!1{%lWv1C2o`aBvF;C%^^$sHA$=&l$<4w>2 z*GBdLxqPq~yTxxUG(MQh88E}nb_m|@CMsy70Sqa3eJ;?asha#6vb(+HiSm!~l=Ud4 z;1xo8-s4YL+7R7TnkBE+^ZpY248==E!p!3hOJH&>ZIEs%`7Z@GKAhs`a$C>VvOi~p z?z!WIJxi^4Z(V#}B`SUrU&}5S8!gA>JOMLvj%(-lp6(__u>G6Fu)9T*JD^yg=(&3V zdf53#55xykb$_gukOmr#qE~P8eft2koVsq~TW3@V6K#CHxv~!OefvFb ztQ#^>jAY2jB@X+XXG3b8#7aw6{Z?yyCy`wn9s9r`CK$3c{m= zd_-`;Z99}9WeO&uC4e+!rO4Plnm^JI?U6Lk2Sy)C(5DJc!_keYjbs5K=dXSrm~h@Tzfd<-*Uj$C4pN#o<)b%6 zBJo{oV~ifh!l}il2taLK2ar-yc_ViexN(z)|{d) z%}TM?-p2n^V|ZzeaxU6>ValT>m`d`hr&Ac`FE!7OOX=+!a;S;YozfG}HMd-}oW_sW zqie?SQJuZj`9C;HQpPznPWjDVv6#eb>P_w;;iV-Kb3-EdyHKjKh#D?~iITcGI8Q2} zJ1`IIbF~JPuO0oPwVR<^vsQY5_SEY&4C`;}8EAys!O;Hum?*tr#AU;|pZ0X@%>lcJJ*w|cr<>Z$7}yshWr zU>CLr=QKX74(3+acRmP1B;-k*o5FXa>odz{pxtP2y1AG^*4^pH4A-J>DoibXxdM;A z>prM6o5=eco<)KQJtA@Jy21P+1`>|4rug+3hXp$^oC5}J5E{?+=j5oA=dG}Yd`0=$ zdGAg-MY5Ch+c@Nhak2R&aNi^ulWDwG2pG-ngG%{2&^jzYMk3y>cKI_J+dA=VfQZ|DqN#nSt4e!POSSc%a{=d zYCS(H!hD{7$h`CB8q#M*K+m_7KM%~1$0&OLGzarP#6;xiO1KsKpu+XyAUI3vE7<|i{L{?D=DK)SOteiARW}t`SOUPbM%h=7KI_ZZwogzNQ6~%5aGs6@>9FH2W1-^gXjD6`rbY!Mk$78-XwQ}mX@AF+E$wb zJ5M^|jnIcu2?_|M8fWgBj3+E7IglwN<=SY~ImETb745lNtPdD97CuAj2_+P(k=^a) z?AzzPQB2^f9~~ zk5FwSxD$VPnRi=1!8Pl>0QoFyEI@*KctGR=w0TlV^(lC{74eBbsIO68hL zo8VF9UbvPnya!~*vcwIaWzRs9D;~O=q<=gs9%k~27(6+DR2RQ)T=v|2#=N|ZX((Bm*!TqeJK1`xJX zu(P>^c0F&p{CZS#G7umPa{j7@ayfO1S;=op06aRSzqrvBqlmJwO2Gcy7Ia{kPLVkJ z{t?w>>I?*(X8_hIUOb+&ogt#|%7f;91&0-$6`fXVw4KbB(8sSUm93W0dPL|H+ru%( z{9vlHKDX4S%<0M7&Ri2gl@zVhSfRtty5}WD&Eq|yE${zIH!Nl!fZzxPsXuTtMTOff z0rHh6Z%PD37<61dr-G=_(!Uc=F55hLt45XG&}Xc0^kmL2uco3>&g0AR zvwQY(1#C`G4nngFJ%=JauSUb#UG#oV)lw5N5OxE`tt~`k4;~y6&vvwaI5q>oZ01fq z2?EsoC5-YKoubvL9E4HV)Pcti+yAvn6_8b(+KK;!gtv4&JZp|$PoJCKI4br8gNEH# z0ZbDA)pyiM^Yt~km;*jyNwSDiJz6jI)UBF%<$e;;;@{kdD|^Dx_gB8Y{2Z?=qhmv< zR6~oOR+80HFM+8NO^S;VuA%`N)TPv=}PkOYS>b)$Vg{?1w? z)f=`bhW)lR2#pIO3ky0+M2(LEvj_DoqjGk55lRvmM>)tk%y$r#P0nW5Gb+OU101G> zRXG;6_K2hfUgMW*Q0)ESfXRZK{AL^PiQYmRDRYmyO*?rvHh3lZ|OE03_JZ+ z38)LtQi+nisJJpv7(7a6+u?1BR@E(p3JjI#d{h7B8q7UxZMQhw@ln zN`4pIjfS@L{xzDnt}RM<`j^eTveB*%EqxU|_!OE?NO)?R?*i${a7c~WeAQPYAA^GarphC0wia zZqtRE?D~}(syN+}RElL0EFX14SXLJ@`BUlc^?Y2l|j_M3vq0W2iKgSVG>ZIHG zQaEX5thLd^Uuz#UastJS7WjKhM{RW^!HfSOGHlh1>_Y7HOwJkasv9H@xqvSN(O~M? z=f3ee{?W4DZ+gZZk;ZS8!htqtD6ZM}bFt z=ajJ!uU-4ilg;U`hM}&hg36s|al1mpDWIpWIQDJ^R!B?^I^}>i{ctMo;xPS{0Cm-A zd?laerTA~afw{RQ7VWtJWx-%s>d&4HY=U}cZ%@jA`%7>JbDq5A{$FU}ghKO#^MKN> z8+o-#%M2$`Jpl6D;O*6wzKX_NZfEXag4dF(T)>|aX8U5H=3bH&boYgYe8fieAnp!J zOVvjsn_HXBWkgJApwJi2I#u)T5du_?`LUH{%Ja4U;J=|zthc;Q$tAEwS$zPn3oku> zdN;bk!#=rp=Vs<~`S(W(YykWlTqrIx^ue0d0s*hkB)mgHRU9z+2tHIVz~7>br12Ww zGxvxYj7hp(L@&RqcU{qhO#BOdCDG!dG3mNS4$$|ix$6Mac*%c)fHF6uYmm8WmIrRU z3&^YT=2K+g%vdrDftaThg|BB*CFN)H?tj{JNcmGpnAHIMm1aS&b1N*SC>B!#g8rG# zkZ|dXar?80$a|Vl{}5WyW_{0VAk}U65oW^MqRO3Kel5M-Oq@|R_HnxLClw>IzE!*B zcX93)-Op?$2C1i=(c>EsvEs4^Nh#$|?b~IoO0);p@n*X!lkkobiN`>qxBHvw++2XZ z$`6doERx;YhQP|U&Ll15*}DJ)`;|wDncrJ~)le;v`rMYup=c{6P@G*u!%Zx%IYw5t z(X0#@sK+GyJd3G$!cSu(C(Qx?Df)q{9^t!JB}jPh?uvq{ihnX?%A3lvbM877AUNm ze=C!Pew^eUxbGLg58&}8ui>yQ=V;vkYE^1CSJ#mDp&Q{kvUhbRSLm4SRRBV!WuF1y?$@O8BE@xv@(PiUTl3Ae zYBEJZFRYy(C=a)4@)$-wSQOmL^rO@VlHIGD+aTB?R(0SL=dU&xsD|*DyA=!MwyWWR z+kM9Xj!swbUD$Rom!{7cZs&cVHPYPh(c@LJt|9=9pd2iTA;$uJuEaAnp%9}#C9&i# zQ11C^wsii$QRuC?jXt44VxtfEJ#bhw&V<*x&vP3!&`MY7eZPBNcZKUGfVga-%PHmG?Kdq)QM_m; z3>XXgB&`kTi@#Wc=_A#X821b3AV_#co!|W+)!W3@{7T(lXp(Vd^~c5*f9^CBoicv< zX)*)e23>2&U-jDD6vv>QN8wy!Ud`mp+FVczt4S~$2a~@L?=KDCI0exr;(aZ{4KJCJ ziPAMZf3Xu45$@%M1q(GD9l=hQ@6_zj0-%7F`P*E(Pmf;Kc!!U|8QUGdlV;ja64NXi zvD}!)!n-{n0R2l)|D-;e?vy9Q_?LxTCKhy5Q-PL2eR8MXm|COWodnJvS8S-9dxv-EbyI>4@z_Ev!eF#!E4K00QQ%rKxRBd9Y#@;ljh}EY`+2 zz3Ld&0t7GSIKbDrVk}RkuiIY$CVj-&>a+M>f>(&5Bx^(Oh6GVyL)wcmjs1XRhzCnw zSsODom-Nd9C=z=KH$uuTvN(JkYh{T}(y2bm+JH-%Fu~eD{Rrj?i_gOb6UA1PocyAw zPW2>uDGPPhr)!Af8I}MgV_^pX0ZdY1_F6^6d;6=2yv{}}0?rUcFiQlrh6G;L4sXXa zScC|pC1aLKHj`loSOVGeI!`hj%>aUsv9qkRGE&D{_pv^s#x%HCpT)m)zz7`+V?9Uc zE$QR%tTSz9!|t(!?LI@O2F|2H+tnTkVX0|`yf;o5*fRr{`hleeF0{^L6KD#{LNj<7 zITqIrw20Xu774gcQ5hi7@`G8aEOi&44kD~Wz`Da6wYOJAS_`o}B@hzT+b!yhj|IL<_jhC|L=+`ql_0kL z-J#ycEM<=pzyqBu!3Qrqwr3r!uEw}DVEe(ijmecRmSdEceJwr5+LQLEcZzkkQS*NW zR#-Ghex8B)?F)A9f%n@N(1QcB<8$lWySavq>PlJu!8Pn&dr1zsz}#7SyuG~YOz$a{ zYmO=(?~P|^uT-zvy|EwgDN#@zzElOEbw)Ipuyj-AH`aO(5X)Y_`YG#_<3}*8aN$Dd zJ=#`HS=3mb(pQ$0Ycj$EW7{I^4RhRfll+jL!vG87R_OG}$u!`rYQAV^2S5$xIb(TV z7?vsK^I6}Bd9uA!w*GTMGK_P# zXo2EClE|%38U(Pa{i}`qLk^h-^elBSz@))5nqf8S#pW$HxsU+gc~=P+r<(8Wh3_Yt zfljRh4avRuwhR~7F&6Yt@hQ_14CfQG#YEI+LcgW1dd6Px%5Q3%EU1s+=z!BS>e{D& zO?D;0PHk{B!S+7)A{;pXg?_4Mru?N1sf7 z_*IQRQi=DQBlpw(u)Ql7Zv4AB->4ooSI884xLYz*+s#xz-`E=H@1sd(k%$;$A8+kf zz+|i^rPxEWvS1qwv40$WGWKN~*D<|Gc&$6(kIExjtb)(-rc<%v2h?2&z}#Sa*huk4 z^dvh`{zF=WjX~ZDhCw%)7*qhvpN!qQ+wSo5Z7X2}P(sf3R4W>i3&uwaH$M}Lt>ZS4 zx=&I)c|bi!@^@X{sJ1XUFng=}b92fOk=W>*7(-QJLP0%m#f&EjPq}Fb0MWBb_QW*K zP}XF~^NC=1w}>Tc0Ovt?!t})co6*QtPcO&+nGF${r#h4KKkU`y16(23w4{C(m<$P- zMw<9MWnQ`W-&%+QT)`3i%N2??Z~mJOL{R~$dl-K)1c+S5)fKjJYk`<`EAql;uXdN+ ziRoxy!uOak5n@^a3|%|UBLIn@9-Yzgh*`&Dk10b&2B5zh>Hg%v*E* zpN~+t?Rh34L+QbSPLkqvl-{9SW1X3thg(xiXPsRj9UY@62-u_e?uxpnjh)3q6bnfN z_d>DOcfy+@vkP=+9w3|jYgI=GQ$V>F`?x4Cs=nV|FrRk3h``?j#~BsawPxpi-5mI; zJ~S25>6&jwX5RDw1gwBqNekS2ev^>bZBK`l5nk^^=Puq6h3sED;;)Dhmd|}!PEc=x z<724ap_X0odM07avM}89DrxP(nQn&e`Z`M7z1QLq3!EVMN?#V9RG(0_t9d*(+MOUj zqArchZalhs)7-zz^Eay&xQ|8~CGX{dk`EjXv%JZ8bae;w%`3c!a6uM-avH^?gEZUo zX%M@BeXz`8dNE0Be5!sY&;`JTyzUEzpPIL`fC4X|RwY)+wfHsD$Ujahnh=m$QT1oU zzA*Axurq5#p+M(uyUWu6Un=lQt7k|SVS%O+)lSG?Ln19hatb>xY#T;J_JBGCTEsGp z5V>@7Blq8(sq><6-cb9WK8&5m{sF{-+IjA?PDpr;*WMPO4a=ido=_w>Ft3=L1kjC% znh@fhtPCLVB5~>IWjg`LuPHHEo#GW5DxrQJd1yETbZsW7-{E&aRrrNib{V%b)&Vfu z5fuo4Q35ZvX_Jw$rfQ7lkq6#D4c~K5F(%Ip46u5c8m&GOQ3B}bJWFKwwETfr1Oey_ z8W6st9>9yJkj3jh%N2fpZ1?(078tXzOq%%0mmPGq#siidH}Z(cB(Cxkauq}7V6Yqq zFh~na4g)=NJ#hdK*N{xh7=1ExiIrK%@r}7)+=#2%_8S4+_uU9>!SJtaa9@#=9NYY% zKu}FHH&Vv!-n_e$MMQ>iRh)nhSus7cPTx5shCiZzd3vh;*><1Ll{T6Q1VoeoRo3$h zoe~N%m>7RcEnpFeuXRT=07Eg|8R422liKys9a-jE}raq)X zl*>Fks&^z^`P*C@ayX&SnULUFbtlF^U*E|p@AJ9Axt*|s#<6*M8iK~T?xuCkyIv$A z323n6GVlHkZ+bAtrLxp5zIGqTA?nd!_BRzAJWKZlujX-di%ygA-IfBw?(C@*MK9l3 zytk=oC;JmbGHLfZ5qxMUqwbl|_@w~O#iPMxP}Q{^A9V{fn(kc>!4JZ8>%-*7 zGI%#bCXR}47Svk2Q?WYIL5D%k5zyAv&~>f4mNGF0@pY9D)qGv;^3&03QL>9^0seM% z4ar%UoXCvR`H!}YD%DC{FW>a0z%q~tS#_f|l zfJ<*=c&_;2Zzm4@L?Omu#AsOF{t(!OTjGz8Yz6=lV3QXOPHG7>xGleXpjnY9)xh9< z4b{6d^(Clm@jC2)>LK{Cm8;XfKXzBL%hr6Tz8M)`eTKdp6H4|wx&MnT(%I=+8{}j@ zzKCE>&6~rahxJdMb>tb|^Ez_!s6S51^J@?|XEBr|rYnb!_VVi`Iu0b+4c>oa@jyP> zyNniiN4UyShEB&z(_>0Qs26U<@E_UCo;Yg58?qqn!r@~G)>Q#&3gc4bqRnD!Yy7x9ob!Gl-0<#;u z?oR4Ae9G%RO%V$UR-M_F^S*@5GP`p!v>A9D;3>FQ=0X7@2WN+TUDxU)!iO%!#GkX% zD|k!r7u-MY&LUyoIt(8_$L8m?gKJcH^I5P>S=h%@uZ?+gGs|dh2Ld<~+_%m*!bhDy zKo13s-05VTYa8W?z3eeyXjhx5_a(%~V$LgLZ=E(KKlZYcpYFL0Y-z|RVwKjI|6Jzz zHs}x%)}zMM6f#9a&NeDGZA_?VUn6F~bPm{Q4cqAY_3Jof?Jdcm zUCsCgrx_hGTQQ&3%^L2RpX)$bXe2ga>5c@;FUas|21dtLm6XA}U1CCYK~3v>CB|0j zi4ngzbv1gHu^y52y*A8eCK%SL>;BJCN+>LDE9W})!^S{v?kPM)_}cJrBF(SgRrH`8 z-cvqPm6(;hnyC1)pK=9wK$OZo)?Fb{!6B_fzeuhAzw_=Cv&|(V~ ztA^tYW=x>Te3iZm;`ku{T<}*~Sdm=(e4ta^8IC-x+(JVKTyTk|+*Va=RQ;ZafaUk` zgpq|NO)0arUSCi@$V00L&ob}Efc5Lciqsn5hqUpN!H4({JI9Jm3#GL~Z!@uWtJUzT zMPxVPCfWHNr8$R#wg+(?7f5y;5^IH9VV_JL^>u!SY?sk`RUYIz9T+wmh(JGn!M0iF zAxg5%Z81bQ@Ha>s;%b%1laD zg0teeY?9*lOdkKpjir@+_;Y6)Gr9RZw9o0wh`1NW*a+_H3%63v`lQqKG4LTAX+HzB}~EGGIwSR(a=z z^2=o^?y&37{Q3HoA8`RZ9paGq@K)~=E~T@l244B4u3dQBS}AcG@-VSd@ds01#QJi~ zwSdirv>3Hm0W*in`kA-M_qZidaS5?i-62O0?v+VGcZm58$hFZOLg9O1u1A@LS!_;s zgv~(aZs{Qxik0kd+N4KSauz4P+v#s@Bsq3wC1a}pbl666)V55w^Qd_I#mKum zD`RQFBH~xhDSa{8B?hU*s)~C*Y5#G|o@e#lPygK|nZ1`Z*`BhY(_XAwO)8Vhc=}2wp)KN Vm70>Qr!*u`)T^1C8nF}W{|BY8Aoc(N literal 15344 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