From b4c5f084e466041457dc98dec649a64f994d9932 Mon Sep 17 00:00:00 2001 From: AngeloJacobo Date: Sun, 13 Oct 2024 16:43:22 +0800 Subject: [PATCH] add makefile for openxc7 (WORKING) --- example_demo/qmtech_wukong/Makefile | 70 +++ example_demo/qmtech_wukong/uart.v | 113 ----- example_demo/qmtech_wukong/uart_rx.v | 313 +++++++----- example_demo/qmtech_wukong/uart_tx.v | 268 ++++++---- example_demo/qmtech_wukong/wukong_ddr3.bit | Bin 3825896 -> 0 bytes example_demo/qmtech_wukong/wukong_ddr3.v | 43 +- example_demo/qmtech_wukong/wukong_ddr3.xdc | 537 +++++++++++++++++++++ 7 files changed, 994 insertions(+), 350 deletions(-) create mode 100644 example_demo/qmtech_wukong/Makefile delete mode 100644 example_demo/qmtech_wukong/uart.v delete mode 100644 example_demo/qmtech_wukong/wukong_ddr3.bit create mode 100755 example_demo/qmtech_wukong/wukong_ddr3.xdc diff --git a/example_demo/qmtech_wukong/Makefile b/example_demo/qmtech_wukong/Makefile new file mode 100644 index 0000000..5bee141 --- /dev/null +++ b/example_demo/qmtech_wukong/Makefile @@ -0,0 +1,70 @@ +PROJECT = wukong_ddr3 +FAMILY = artix7 +PART = xc7a100tfgg676-2 +CHIPDB = ${ARTIX7_CHIPDB} +ADDITIONAL_SOURCES = ../../rtl/ddr3_controller.v ../../rtl/ddr3_phy.v ../../rtl/ddr3_top.v uart_rx.v uart_tx.v clk_wiz.v + +############################################################################################# +NEXTPNR_XILINX_DIR ?= /snap/openxc7/current/opt/nextpnr-xilinx +NEXTPNR_XILINX_PYTHON_DIR ?= ${NEXTPNR_XILINX_DIR}/python +PRJXRAY_DB_DIR ?= ${NEXTPNR_XILINX_DIR}/external/prjxray-db + +DBPART = $(shell echo ${PART} | sed -e 's/-[0-9]//g') +SPEEDGRADE = $(shell echo ${PART} | sed -e 's/.*\-\([0-9]\)/\1/g') + +CHIPDB ?= ./ +ifeq ($(CHIPDB),) +CHIPDB = ./ +endif + +PYPY3 ?= pypy3 + +TOP ?= ${PROJECT} +TOP_MODULE ?= ${TOP} +TOP_VERILOG ?= ${TOP}.v + +PNR_DEBUG ?= # --verbose --debug + +BOARD ?= UNKNOWN +JTAG_LINK ?= --board ${BOARD} + +XDC ?= ${PROJECT}.xdc + +.PHONY: all +all: ${PROJECT}.bit + +.PHONY: program +program: ${PROJECT}.bit + openFPGALoader ${JTAG_LINK} --bitstream $< + +${PROJECT}.json: ${TOP_VERILOG} ${ADDITIONAL_SOURCES} + yosys -p "synth_xilinx -flatten -abc9 ${SYNTH_OPTS} -arch xc7 -top ${TOP_MODULE}; write_json ${PROJECT}.json" $< ${ADDITIONAL_SOURCES} + +# The chip database only needs to be generated once +# that is why we don't clean it with make clean +${CHIPDB}/${DBPART}.bin: + ${PYPY3} ${NEXTPNR_XILINX_PYTHON_DIR}/bbaexport.py --device ${PART} --bba ${DBPART}.bba + bbasm -l ${DBPART}.bba ${CHIPDB}/${DBPART}.bin + rm -f ${DBPART}.bba + +${PROJECT}.fasm: ${PROJECT}.json ${CHIPDB}/${DBPART}.bin ${XDC} + nextpnr-xilinx --chipdb ${CHIPDB}/${DBPART}.bin --xdc ${XDC} --json ${PROJECT}.json --fasm $@ ${PNR_ARGS} ${PNR_DEBUG} + +${PROJECT}.frames: ${PROJECT}.fasm + fasm2frames --part ${PART} --db-root ${PRJXRAY_DB_DIR}/${FAMILY} $< > $@ + +${PROJECT}.bit: ${PROJECT}.frames + xc7frames2bit --part_file ${PRJXRAY_DB_DIR}/${FAMILY}/${PART}/part.yaml --part_name ${PART} --frm_file $< --output_file $@ + +.PHONY: clean +clean: + @rm -f *.bit + @rm -f *.frames + @rm -f *.fasm + @rm -f *.json + @rm -f *.bin + @rm -f *.bba + +.PHONY: pnrclean +pnrclean: + rm *.fasm *.frames *.bit \ No newline at end of file diff --git a/example_demo/qmtech_wukong/uart.v b/example_demo/qmtech_wukong/uart.v deleted file mode 100644 index 8739adc..0000000 --- a/example_demo/qmtech_wukong/uart.v +++ /dev/null @@ -1,113 +0,0 @@ -/* - -Copyright (c) 2014-2017 Alex Forencich - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -// Language: Verilog 2001 - -`timescale 1ns / 1ps - -/* - * AXI4-Stream UART - */ -module uart # -( - parameter DATA_WIDTH = 8 -) -( - input wire clk, - input wire rst, - - /* - * AXI input - */ - input wire [DATA_WIDTH-1:0] s_axis_tdata, - input wire s_axis_tvalid, - output wire s_axis_tready, - - /* - * AXI output - */ - output wire [DATA_WIDTH-1:0] m_axis_tdata, - output wire m_axis_tvalid, - input wire m_axis_tready, - - /* - * UART interface - */ - input wire rxd, - output wire txd, - - /* - * Status - */ - output wire tx_busy, - output wire rx_busy, - output wire rx_overrun_error, - output wire rx_frame_error, - - /* - * Configuration - */ - input wire [15:0] prescale - -); - -uart_tx #( - .DATA_WIDTH(DATA_WIDTH) -) -uart_tx_inst ( - .clk(clk), - .rst(rst), - // axi input - .s_axis_tdata(s_axis_tdata), - .s_axis_tvalid(s_axis_tvalid), - .s_axis_tready(s_axis_tready), - // output - .txd(txd), - // status - .busy(tx_busy), - // configuration - .prescale(prescale) -); - -uart_rx #( - .DATA_WIDTH(DATA_WIDTH) -) -uart_rx_inst ( - .clk(clk), - .rst(rst), - // axi output - .m_axis_tdata(m_axis_tdata), - .m_axis_tvalid(m_axis_tvalid), - .m_axis_tready(m_axis_tready), - // input - .rxd(rxd), - // status - .busy(rx_busy), - .overrun_error(rx_overrun_error), - .frame_error(rx_frame_error), - // configuration - .prescale(prescale) -); - -endmodule diff --git a/example_demo/qmtech_wukong/uart_rx.v b/example_demo/qmtech_wukong/uart_rx.v index 9c7985d..1cb2ead 100644 --- a/example_demo/qmtech_wukong/uart_rx.v +++ b/example_demo/qmtech_wukong/uart_rx.v @@ -1,142 +1,207 @@ -/* -Copyright (c) 2014-2017 Alex Forencich - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -// Language: Verilog 2001 - -`timescale 1ns / 1ps - -/* - * AXI4-Stream UART - */ -module uart_rx # -( - parameter DATA_WIDTH = 8 -) -( - input wire clk, - input wire rst, - - /* - * AXI output - */ - output wire [DATA_WIDTH-1:0] m_axis_tdata, - output wire m_axis_tvalid, - input wire m_axis_tready, - - /* - * UART interface - */ - input wire rxd, - - /* - * Status - */ - output wire busy, - output wire overrun_error, - output wire frame_error, - - /* - * Configuration - */ - input wire [15:0] prescale +// +// Module: uart_rx +// +// Notes: +// - UART reciever module. +// +module uart_rx( +input wire clk , // Top level system clock input. +input wire resetn , // Asynchronous active low reset. +input wire uart_rxd , // UART Recieve pin. +input wire uart_rx_en , // Recieve enable +output wire uart_rx_break, // Did we get a BREAK message? +output wire uart_rx_valid, // Valid data recieved and available. +output reg [PAYLOAD_BITS-1:0] uart_rx_data // The recieved data. ); -reg [DATA_WIDTH-1:0] m_axis_tdata_reg = 0; -reg m_axis_tvalid_reg = 0; +// --------------------------------------------------------------------------- +// External parameters. +// -reg rxd_reg = 1; +// +// Input bit rate of the UART line. +parameter BIT_RATE = 9600; // bits / sec +localparam BIT_P = 1_000_000_000 * 1/BIT_RATE; // nanoseconds -reg busy_reg = 0; -reg overrun_error_reg = 0; -reg frame_error_reg = 0; +// +// Clock frequency in hertz. +parameter CLK_HZ = 50_000_000; +localparam CLK_P = 1_000_000_000 * 1/CLK_HZ; // nanoseconds -reg [DATA_WIDTH-1:0] data_reg = 0; -reg [18:0] prescale_reg = 0; -reg [3:0] bit_cnt = 0; +// +// Number of data bits recieved per UART packet. +parameter PAYLOAD_BITS = 8; -assign m_axis_tdata = m_axis_tdata_reg; -assign m_axis_tvalid = m_axis_tvalid_reg; +// +// Number of stop bits indicating the end of a packet. +parameter STOP_BITS = 1; -assign busy = busy_reg; -assign overrun_error = overrun_error_reg; -assign frame_error = frame_error_reg; +// -------------------------------------------------------------------------- +// Internal parameters. +// + +// +// Number of clock cycles per uart bit. +localparam CYCLES_PER_BIT = BIT_P / CLK_P; + +// +// Size of the registers which store sample counts and bit durations. +localparam COUNT_REG_LEN = 1+$clog2(CYCLES_PER_BIT); + +// -------------------------------------------------------------------------- +// Internal registers. +// + +// +// Internally latched value of the uart_rxd line. Helps break long timing +// paths from input pins into the logic. +reg rxd_reg; +reg rxd_reg_0; + +// +// Storage for the recieved serial data. +reg [PAYLOAD_BITS-1:0] recieved_data; + +// +// Counter for the number of cycles over a packet bit. +reg [COUNT_REG_LEN-1:0] cycle_counter; + +// +// Counter for the number of recieved bits of the packet. +reg [3:0] bit_counter; + +// +// Sample of the UART input line whenever we are in the middle of a bit frame. +reg bit_sample; + +// +// Current and next states of the internal FSM. +reg [2:0] fsm_state; +reg [2:0] n_fsm_state; + +localparam FSM_IDLE = 0; +localparam FSM_START= 1; +localparam FSM_RECV = 2; +localparam FSM_STOP = 3; + +// --------------------------------------------------------------------------- +// Output assignment +// + +assign uart_rx_break = uart_rx_valid && ~|recieved_data; +assign uart_rx_valid = fsm_state == FSM_STOP && n_fsm_state == FSM_IDLE; always @(posedge clk) begin - if (rst) begin - m_axis_tdata_reg <= 0; - m_axis_tvalid_reg <= 0; - rxd_reg <= 1; - prescale_reg <= 0; - bit_cnt <= 0; - busy_reg <= 0; - overrun_error_reg <= 0; - frame_error_reg <= 0; - end else begin - rxd_reg <= rxd; - overrun_error_reg <= 0; - frame_error_reg <= 0; + if(!resetn) begin + uart_rx_data <= {PAYLOAD_BITS{1'b0}}; + end else if (fsm_state == FSM_STOP) begin + uart_rx_data <= recieved_data; + end +end - if (m_axis_tvalid && m_axis_tready) begin - m_axis_tvalid_reg <= 0; - end +// --------------------------------------------------------------------------- +// FSM next state selection. +// - if (prescale_reg > 0) begin - prescale_reg <= prescale_reg - 1; - end else if (bit_cnt > 0) begin - if (bit_cnt > DATA_WIDTH+1) begin - if (!rxd_reg) begin - bit_cnt <= bit_cnt - 1; - prescale_reg <= (prescale << 3)-1; - end else begin - bit_cnt <= 0; - prescale_reg <= 0; - end - end else if (bit_cnt > 1) begin - bit_cnt <= bit_cnt - 1; - prescale_reg <= (prescale << 3)-1; - data_reg <= {rxd_reg, data_reg[DATA_WIDTH-1:1]}; - end else if (bit_cnt == 1) begin - bit_cnt <= bit_cnt - 1; - if (rxd_reg) begin - m_axis_tdata_reg <= data_reg; - m_axis_tvalid_reg <= 1; - overrun_error_reg <= m_axis_tvalid_reg; - end else begin - frame_error_reg <= 1; - end - end - end else begin - busy_reg <= 0; - if (!rxd_reg) begin - prescale_reg <= (prescale << 2)-2; - bit_cnt <= DATA_WIDTH+2; - data_reg <= 0; - busy_reg <= 1; - end +wire next_bit = cycle_counter == CYCLES_PER_BIT || + fsm_state == FSM_STOP && + cycle_counter == CYCLES_PER_BIT/2; +wire payload_done = bit_counter == PAYLOAD_BITS ; + +// +// Handle picking the next state. +always @(*) begin : p_n_fsm_state + case(fsm_state) + FSM_IDLE : n_fsm_state = rxd_reg ? FSM_IDLE : FSM_START; + FSM_START: n_fsm_state = next_bit ? FSM_RECV : FSM_START; + FSM_RECV : n_fsm_state = payload_done ? FSM_STOP : FSM_RECV ; + FSM_STOP : n_fsm_state = next_bit ? FSM_IDLE : FSM_STOP ; + default : n_fsm_state = FSM_IDLE; + endcase +end + +// --------------------------------------------------------------------------- +// Internal register setting and re-setting. +// + +// +// Handle updates to the recieved data register. +integer i = 0; +always @(posedge clk) begin : p_recieved_data + if(!resetn) begin + recieved_data <= {PAYLOAD_BITS{1'b0}}; + end else if(fsm_state == FSM_IDLE ) begin + recieved_data <= {PAYLOAD_BITS{1'b0}}; + end else if(fsm_state == FSM_RECV && next_bit ) begin + recieved_data[PAYLOAD_BITS-1] <= bit_sample; + for ( i = PAYLOAD_BITS-2; i >= 0; i = i - 1) begin + recieved_data[i] <= recieved_data[i+1]; end end end +// +// Increments the bit counter when recieving. +always @(posedge clk) begin : p_bit_counter + if(!resetn) begin + bit_counter <= 4'b0; + end else if(fsm_state != FSM_RECV) begin + bit_counter <= {COUNT_REG_LEN{1'b0}}; + end else if(fsm_state == FSM_RECV && next_bit) begin + bit_counter <= bit_counter + 1'b1; + end +end + +// +// Sample the recieved bit when in the middle of a bit frame. +always @(posedge clk) begin : p_bit_sample + if(!resetn) begin + bit_sample <= 1'b0; + end else if (cycle_counter == CYCLES_PER_BIT/2) begin + bit_sample <= rxd_reg; + end +end + + +// +// Increments the cycle counter when recieving. +always @(posedge clk) begin : p_cycle_counter + if(!resetn) begin + cycle_counter <= {COUNT_REG_LEN{1'b0}}; + end else if(next_bit) begin + cycle_counter <= {COUNT_REG_LEN{1'b0}}; + end else if(fsm_state == FSM_START || + fsm_state == FSM_RECV || + fsm_state == FSM_STOP ) begin + cycle_counter <= cycle_counter + 1'b1; + end +end + + +// +// Progresses the next FSM state. +always @(posedge clk) begin : p_fsm_state + if(!resetn) begin + fsm_state <= FSM_IDLE; + end else begin + fsm_state <= n_fsm_state; + end +end + + +// +// Responsible for updating the internal value of the rxd_reg. +always @(posedge clk) begin : p_rxd_reg + if(!resetn) begin + rxd_reg <= 1'b1; + rxd_reg_0 <= 1'b1; + end else if(uart_rx_en) begin + rxd_reg <= rxd_reg_0; + rxd_reg_0 <= uart_rxd; + end +end + + endmodule diff --git a/example_demo/qmtech_wukong/uart_tx.v b/example_demo/qmtech_wukong/uart_tx.v index 518b6d3..89906d6 100644 --- a/example_demo/qmtech_wukong/uart_tx.v +++ b/example_demo/qmtech_wukong/uart_tx.v @@ -1,115 +1,187 @@ -/* -Copyright (c) 2014-2017 Alex Forencich -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +// +// Module: uart_tx +// +// Notes: +// - UART transmitter module. +// -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -// Language: Verilog 2001 - -`timescale 1ns / 1ps - -/* - * AXI4-Stream UART - */ -module uart_tx # -( - parameter DATA_WIDTH = 8 -) -( - input wire clk, - input wire rst, - - /* - * AXI input - */ - input wire [DATA_WIDTH-1:0] s_axis_tdata, - input wire s_axis_tvalid, - output wire s_axis_tready, - - /* - * UART interface - */ - output wire txd, - - /* - * Status - */ - output wire busy, - - /* - * Configuration - */ - input wire [15:0] prescale +module uart_tx( +input wire clk , // Top level system clock input. +input wire resetn , // Asynchronous active low reset. +output wire uart_txd , // UART transmit pin. +output wire uart_tx_busy, // Module busy sending previous item. +input wire uart_tx_en , // Send the data on uart_tx_data +input wire [PAYLOAD_BITS-1:0] uart_tx_data // The data to be sent ); -reg s_axis_tready_reg = 0; +// --------------------------------------------------------------------------- +// External parameters. +// -reg txd_reg = 1; +// +// Input bit rate of the UART line. +parameter BIT_RATE = 9600; // bits / sec +localparam BIT_P = 1_000_000_000 * 1/BIT_RATE; // nanoseconds -reg busy_reg = 0; +// +// Clock frequency in hertz. +parameter CLK_HZ = 50_000_000; +localparam CLK_P = 1_000_000_000 * 1/CLK_HZ; // nanoseconds -reg [DATA_WIDTH:0] data_reg = 0; -reg [18:0] prescale_reg = 0; -reg [3:0] bit_cnt = 0; +// +// Number of data bits recieved per UART packet. +parameter PAYLOAD_BITS = 8; -assign s_axis_tready = s_axis_tready_reg; -assign txd = txd_reg; +// +// Number of stop bits indicating the end of a packet. +parameter STOP_BITS = 1; -assign busy = busy_reg; +// --------------------------------------------------------------------------- +// Internal parameters. +// -always @(posedge clk) begin - if (rst) begin - s_axis_tready_reg <= 0; - txd_reg <= 1; - prescale_reg <= 0; - bit_cnt <= 0; - busy_reg <= 0; - end else begin - if (prescale_reg > 0) begin - s_axis_tready_reg <= 0; - prescale_reg <= prescale_reg - 1; - end else if (bit_cnt == 0) begin - s_axis_tready_reg <= 1; - busy_reg <= 0; +// +// Number of clock cycles per uart bit. +localparam CYCLES_PER_BIT = BIT_P / CLK_P; - if (s_axis_tvalid) begin - s_axis_tready_reg <= !s_axis_tready_reg; - prescale_reg <= (prescale << 3)-1; - bit_cnt <= DATA_WIDTH+1; - data_reg <= {1'b1, s_axis_tdata}; - txd_reg <= 0; - busy_reg <= 1; - end - end else begin - if (bit_cnt > 1) begin - bit_cnt <= bit_cnt - 1; - prescale_reg <= (prescale << 3)-1; - {data_reg, txd_reg} <= {1'b0, data_reg}; - end else if (bit_cnt == 1) begin - bit_cnt <= bit_cnt - 1; - prescale_reg <= (prescale << 3); - txd_reg <= 1; - end +// +// Size of the registers which store sample counts and bit durations. +localparam COUNT_REG_LEN = 1+$clog2(CYCLES_PER_BIT); + +// --------------------------------------------------------------------------- +// Internal registers. +// + +// +// Internally latched value of the uart_txd line. Helps break long timing +// paths from the logic to the output pins. +reg txd_reg; + +// +// Storage for the serial data to be sent. +reg [PAYLOAD_BITS-1:0] data_to_send; + +// +// Counter for the number of cycles over a packet bit. +reg [COUNT_REG_LEN-1:0] cycle_counter; + +// +// Counter for the number of sent bits of the packet. +reg [3:0] bit_counter; + +// +// Current and next states of the internal FSM. +reg [2:0] fsm_state; +reg [2:0] n_fsm_state; + +localparam FSM_IDLE = 0; +localparam FSM_START= 1; +localparam FSM_SEND = 2; +localparam FSM_STOP = 3; + + +// --------------------------------------------------------------------------- +// FSM next state selection. +// + +assign uart_tx_busy = fsm_state != FSM_IDLE; +assign uart_txd = txd_reg; + +wire next_bit = cycle_counter == CYCLES_PER_BIT; +wire payload_done = bit_counter == PAYLOAD_BITS ; +wire stop_done = bit_counter == STOP_BITS && fsm_state == FSM_STOP; + +// +// Handle picking the next state. +always @(*) begin : p_n_fsm_state + case(fsm_state) + FSM_IDLE : n_fsm_state = uart_tx_en ? FSM_START: FSM_IDLE ; + FSM_START: n_fsm_state = next_bit ? FSM_SEND : FSM_START; + FSM_SEND : n_fsm_state = payload_done ? FSM_STOP : FSM_SEND ; + FSM_STOP : n_fsm_state = stop_done ? FSM_IDLE : FSM_STOP ; + default : n_fsm_state = FSM_IDLE; + endcase +end + +// --------------------------------------------------------------------------- +// Internal register setting and re-setting. +// + +// +// Handle updates to the sent data register. +integer i = 0; +always @(posedge clk) begin : p_data_to_send + if(!resetn) begin + data_to_send <= {PAYLOAD_BITS{1'b0}}; + end else if(fsm_state == FSM_IDLE && uart_tx_en) begin + data_to_send <= uart_tx_data; + end else if(fsm_state == FSM_SEND && next_bit ) begin + for ( i = PAYLOAD_BITS-2; i >= 0; i = i - 1) begin + data_to_send[i] <= data_to_send[i+1]; end end end + +// +// Increments the bit counter each time a new bit frame is sent. +always @(posedge clk) begin : p_bit_counter + if(!resetn) begin + bit_counter <= 4'b0; + end else if(fsm_state != FSM_SEND && fsm_state != FSM_STOP) begin + bit_counter <= {COUNT_REG_LEN{1'b0}}; + end else if(fsm_state == FSM_SEND && n_fsm_state == FSM_STOP) begin + bit_counter <= {COUNT_REG_LEN{1'b0}}; + end else if(fsm_state == FSM_STOP&& next_bit) begin + bit_counter <= bit_counter + 1'b1; + end else if(fsm_state == FSM_SEND && next_bit) begin + bit_counter <= bit_counter + 1'b1; + end +end + + +// +// Increments the cycle counter when sending. +always @(posedge clk) begin : p_cycle_counter + if(!resetn) begin + cycle_counter <= {COUNT_REG_LEN{1'b0}}; + end else if(next_bit) begin + cycle_counter <= {COUNT_REG_LEN{1'b0}}; + end else if(fsm_state == FSM_START || + fsm_state == FSM_SEND || + fsm_state == FSM_STOP ) begin + cycle_counter <= cycle_counter + 1'b1; + end +end + + +// +// Progresses the next FSM state. +always @(posedge clk) begin : p_fsm_state + if(!resetn) begin + fsm_state <= FSM_IDLE; + end else begin + fsm_state <= n_fsm_state; + end +end + + +// +// Responsible for updating the internal value of the txd_reg. +always @(posedge clk) begin : p_txd_reg + if(!resetn) begin + txd_reg <= 1'b1; + end else if(fsm_state == FSM_IDLE) begin + txd_reg <= 1'b1; + end else if(fsm_state == FSM_START) begin + txd_reg <= 1'b0; + end else if(fsm_state == FSM_SEND) begin + txd_reg <= data_to_send[0]; + end else if(fsm_state == FSM_STOP) begin + txd_reg <= 1'b1; + end +end + endmodule diff --git a/example_demo/qmtech_wukong/wukong_ddr3.bit b/example_demo/qmtech_wukong/wukong_ddr3.bit deleted file mode 100644 index 81cf9dd64d69eaf73b026fb07ff2c86c3ac8551c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3825896 zcmeFa4`3xnedk%-YH3=}^1PNTkH=$sRHF>GaEOsDz$|7xH9|JR$q`{&V?r<^I}-wA zmzabw4uNq=md9f3GlMgB2qdiHBQZEx+qqqmEWUssY>vx0*vYa<4j6E99JhPBmz~5+ z$a0Bw-(Pk2`zJl=NqSGO`}tcl>ZtGIrNi1`*ZL7nRoy5t46Q7>WVAX?dsgCZ@Y4I z^u2HYsh@h))vr=Nq0T|cD_%bOs+V6ms*b4MD_{AVSH9{sue@6QqgJC$|6<+PUdS#t5ILYaa^WcS)AS>X_xnBVjWL=zB=%K zje1K--g;d>5&cqPw>PdUWq~)U77=$NPISAJtCQNS7mq3(+m3zkVw*-y?R@Aj6$1&7 zK!XI9*3dI+l%++LI+f|Pyf&`XsZ7`ErTI#o%5+*T@p-SQ%qe9mvX$uyaaFQXr!rlo zRFSFFsZ3X>R3$5QD$`X;N?8@uNSGyoCKBj>zKO<~ZK}6q(5{j?naCo-HmS%+0eyRE{#UutXfjW)j8eX=Ljf~y{1$F_}{%D!IlJK6WKArDPM zT2vx|O%WKnWK-4JU&(FFlAU{pJ+d|Q8|}xtB@gtLYO^v4G(=#}AFQRO*D7RLiwG3| zV~Y%LpINIw0g>%yH-xE)s-BTaUY+f!J?~eBQW$-+nR1d!yR^F(gY$j zK>{Q|0wh2JBtQZrKmsH{0wh2JBtQZ$ass;dGcR%i>^=#QKrRWqVQ1dlE*Lehyq>>B zj3>#|LrMIRy!E5Lze9)Xmu0i$Q7wLTeL0T(`yU;VdsO{T*YnoYE2txHzy3M@wbr%v z`&8|b30*#3CPg}awy#>TItP_}249_@*9R6&%>xcK*?f*i;&t6`ZDgib@qP2ibq!b~$qry^cq#Jsq)5m8=xYBiA_y*qhXPS~W3@>aN!dTd$ywy#4xx zsan_C?^D?$;a>Jfa`Jc3!xBRjLsS6dC`2F5 zPiNw-SCD+N)RY_#^q{26f>KF76X(4vpMED^%cjf)lf)eny*)R*h^I+uXK&$nh*S8v z+;pH(N4-lM)oiOC=7WcSbwa#1F?C9FCm#6ooVbkLdFrWkdlZXoK^1(f<=9Meof4uQ zx$8-JbhHgD+z;FlG7=pU`s-d#%|ZvOE)@Qk*Y-Qp>4HxNG7^_N(51-APx5Pv&h*<}p74<$cvNW?|&U5v6|T z$p=+1a7Etwv4+3DvPM}Zi+-bUV)6J(z5jU5x1U=Wx#eZO7o7da-+k?^pFfaEXE){4 z(36^ZK&bMbyj2yarEcA6zaz@sdDa@(>)u;KOhJB1^wdWRrVnxOnK&-zv)+%!{mcHn zM30W>1w6m_bo$)lqazd8-b#J~-Sj{GsFt|v>BjrqLQS(l+pFpier-)FtJYbgM(gx# zsa5BE|JqcuxgRJi9IEi&9(v%zXl zn3P7Pep_u}THl?!n^QM;p79+OK8+Z*<}!~E@Sa|5lFy&JZR3)qkN{z#9Hi8AM(z}@u){}H8s z#EQX@4Oq>(>R)Ev!Pvh=7g>dAEpr9)Ln|DN9hCPK_=Qf|aw)a*U&MXR;L5bi+dw%k2$3JP+>=U*b$3jd5fLV{*3$4@Q)NGP2`)&NxZmVGTehpD+bSKMM2mV z{eTHx5nVj0JLoyB;+HZy6eYKOoQ4eJVe1F*ZYZ3NSnNFdM}xp(WtyFPtqQJ+)B^S| zwp1baiQ>yM--W1GD;@SlcnW^Ejz)~OIK~=P(LH@y*+Hv5>GdnCnqb+ixSV&tIm z;*Hjh4w@#))97QS!#Tl-3a{ubXm$Cug?Fgo!U?ncWopmd&Y4KvaH*$nzIcyT{ob9K z?!<yb-WF( zwW`Urf75DJs~fQU`A>ds_|_|K{pJUM`Gpsbec%`0_w|qc@%KMC@s=+R{o^m6yzAIM zyZpWX__@D->+~q1#vN4Odi=9Do^$QF-}>OakG=4=pT6m`Z+`5Bz3;yD z{lE0YcmCU2Iq)XAi?~C=(BEghBgNwMnE2S$-`9s1rFM1u*Nk;)y%&IKBrv_FZ?59^Zpk;bi{$cH^A;A8uT?J(|~yjg8?!-{6_zUDIRO zoA)n|jTIhK!&g7OynIHz{+T=QjF2jJpKXtKt!TCXU$w$&Gi}CW^7!M$;?GaZ(^*A~ z$>C*;3C7|d?CYP=?peB}rDnF-URygaYH$1Nw=QFXw|GpuF;Qb<{YA_ZRk$or8kM{5 z)5~h9v*yX(XV<6FUX8oPo*J8$H%4Hd;5_6^QT>~-!_#;*Cyup3>&8TtpUiHrugz)w z&6(df%9VONzo-hv#mRGw>Gv5UJl`10vCM1eu6DftC#v(=%U!D6Pb43D6u&CE=NR<_ zoW%DTlkYM@j$zBl^NdZwSNup*%(TPE)@HbFhs%w$>8o?U+=yN#bb`8Gn7Spa7T8s# z*%1zYI6J;@YNf61Rl(@J;+<84eyE-tSW=6be?Fjb znmdOZ*KMDs>@2Wr4-J+JYPbI(t<*4tJ-Ck>JDB7PTkZ3&xh?N~U32ZV$XdL&@UTw_ z&c$PmefWV9TdrWxJ0HhkZj+{4)N(t_9%x6Sjkc*{MLgcHs1|%|rsnWU2^+s^Wf9RZ z4!5j&WJIaO{Jto81&pqXSBSDFu(IvKi1<_CsO;3kj|BRjL5zfzE5`1rUw<}xZg1A3 zp'&F!kE!5v#F_k_u!^7ZglAC0i1FUUBlh3Doj_rihi$d0CCg7@z--xVu!#9*4> zk-5;>1%*hC#s131dUL-MBZirJCL zDXnhPuNw`X9L6ix?(d$%9%V3^e~GVfyrpdv&IU?- z^nRQ5PHe!x%)iSPU-;E3(mI-ryoI@F@j|QcoT>V#>W%C|;05#8y??UX9S?7y+gVoa ze;~`=iEmSG$KlQkteMcU;<7UC4#e)q8@eVZ{Vntne zma$J2Wc$^5A@k3lL<@NE+8RGNH5{r@PwUC>^4ICR3WXaA<_3Q#nmRX}F*nP#;Z6yA zvC?HbO!yWK_M0D^ocz*-v)?GZZf?ctvAOFpBZ@l)vQ+J*F-_P7|?Al*w zpNCCvd9mphn{4pr6LxgsQ*V0RffwHOUoU#<^fmwGYrp-jyRNxw`M19EwWYWH_+4K+ z^rIj9e{O!?8$0M(Y&=hsli;72p6-6ayK^31+#lQsT$ndKdKTzd6s+*9D;Aemvi3CNh>UT*cY`qKBJ^YI)b z#$@X7)gQR@>gm(V%ih)7?N1Ba!zpn-!u4M{jcu1wxGm!9==?&Vpbjrj9e%}+VB2-t zeWo!V-Dtqep_+TT8>q6)DhH3gq<5{kb3DLP(?@Cdg&MI~tP}39Y?5M)ijMLM> zrTPwuufUj$scChfqs9bxf@C~Q;}h}G(CZH@PcJW@Jy4vGu{i(g%ir(Dr2qcM$53$K zbVr?_WPU?DU0lXId3_%~!?@gyF*!PR_;CMN;Vn-+b#%F}U$$M#V|}NmGqh%H^^`AY z!LjgGecBk_f`PslWa+nG@n{R-qW`po%Jr(6dIhbJKdRk5EB|?Y+uQ2a`tH=#*mGgs zqO25zi6d#8`sJ&+G}&44#edMs{^(X3->_}FvPSJVuheLRB>G?4&}ep=%;c5J3tGCS zZ0QGClMG#Y$dJbAh`Oif(o84C-n(%{fG9gC5Xm3i*88bPhhVjgn zRyzBg*ocRJv=Qa@>f#X-?30r_x{Und7^=mv-^v4A3+;8SsjctL{yd5I?bu%F1siH_ zDc*<7DZFf0y+PUifyE=Ix~0b|O+~)0vEs+qRcW(=QOaGr_PY&!W1Lb0cp4ruY`yR! zinVG9IpjMic-fyP@x16#-BZ|d8P5b0!oNFG6L@_=B#&ixSm<{*=VZE5_@)^`Fl_O> z1MU_c#>=7V}A+l50gFH8DamVmtXu?H&6|j?n_l>OgrpNbtd>jQY zm>>v^8o=9~r*4Q;VM2xD1%F0GKfDtoWcFpfAC3DLW&T?(yTd+gmwIr^kgo?vgWGNl zBYe&j$6U8ZI?_sOJe$2c%)=vqjgHFB3mVmIvz|BLP1q%D#V{n1I`xQ_JUD(zC%c<+kF#o=M+0Op3f{)K&u_HYwk z=Y)RTsh;i7hugK~xa+Zn`JH&}O=0nkxH>#JsouQj#u4A2iEiGFlY7-8yZsIc#ed3t zN91jf2-gL#QFo5`Q-{34Ntq!yRaDb`YQ#6EKBe9@*+KVl5B*Zs$E0uXUd)r8p5@Bu z<6dqzCjFO9FHax+%;)jo>GJtQ%bhePJF-3|=U?5`B|cvFQ!*y9?RpHq1FP=-%a+H~ z@cBd2s<0gGdAftPT|CKxr0h^99oIJq!ZfJYF16s#+ST&r+SNEwiECPA zT>=t>c7ay3|sv!23Dsf(cv6mCcjw89f8 zBe*y$MI90j<)t6mjfhntt=g9t_c!3@&^tGv+(uQ6yB`&9VD5hVO)lE6%MKUx-M@7eOA5M_YH#9#JKEX)1}S*X*LYcWyEb1g$yCb1 zoAf@xwH+IL``YCjDYY9>-i&U1AGcqs8aEhAOTuzuqrcH_RKMI(b5lF+X`Vf^VN;u; zP#%*t8x-47F7KV#waW7+DO#N-+8SHedc4HT(36~ww^;FaY2;_&_@`l4y19i#wZ^tB zvHgwe$F&++_TAcuR(5pa4Hf3VxV+}heKtPI$quDqh(q@^tlDlxBM#_5Zig`bWcQr6 zh`hznSarP{9ArBp?0idRyHUF}iWDY{0zj1^gjgy>K5(vi!J zvc~u2ojnU-sAYuataE-6%Q)q-xnJ~W|Jq7|I|_`iPT@#ucFtGc>-5da@Ai@N`=dw& zYG3Y$qTGSME+?~@GR`fdKpq!R-sFwkBa&zUyLJy_Axk_S6l*!v+%GQr-TGbF)Y(IQ za~mxQsw=qDk}i$C%y76+SX6WBaws5+|F}6)%d$hl$8ysTgJDp9k1=*mtFEBizuA5X zFNM5L9n4J^8gsONrZK%XYT3B$5joyE6}s;-8gKGb*yZCh94F`f(N6>?0()*7J#2E* z(XThzV9U%6tMKH6S%m$82X0hq3EQ$R-;4*31(ybD&_BOr4R5>Q;zzf=$xSwR(E7&j zF6cixF==4p{E0o2W^hkkr{^^A)hHt!GP3(W!71#PoKEyF-(T5J&dKE9u%b0{Zc&mT2dYS5p z-aK;g?h!LEWoD-QzCg{%JIHFz`t#DORsGD(ao5)#KX&YG|M>l5pZ?0{-v7d}H~-6b zU;DycZ$Gr_wWmM&xo;L;Hqc4ujJesz|ImBi`@;KfdEwp5j~{#C{l{MY!h4S$JNC18 zzVWS>zU1K-ZXW2HUUiMjr7+6;cO6Ptm;Fa3`qWtWO_!*yuCeLi;Ua=6P8=N`hEB1h zm;Xd=`Z6}Q zEaT1S#lqnQHzo%T6!2{dj!8S#$m!`D|8C;I)63X)Jw0`JY`Sn*wq47`zCIa~<=o8o z_1P7#USB7Z8aVcq@1IBrjhseyP8eFuPhaeS`1+2~;{ziBHe00-%S+kZC$j$yffVuc z&yOBBvwZmQ#6;f#e6?xp{$DG~=Qfrvxdhv-uI}7iOHKPzKhDpXbe}zZ_@oE*{iKRs3)!3RI z@9wI<-sP?&H^(d8XQ!rQp7b3!eR{fh$t9OwU79Btm9rf*CO?*&`-R=rcrVZegZ17E z&P(FYu~YBbyYH=aH;ddzyDF~5`P@WT^;m&pcM3ue@auEkIe?FHc`JRKV|6+ z`tQ^?RjHAN@T1)->sia1Ys95Sb>wt0{)8?BcEz2YM|aB?jdoA6uKrtZPrRHd~# zQYy3O=ldIH^6PxZh4Zgm*`?O40xR3vfF$J~swAZ)F6B00DdVcUzOi)&?FLP3O5dQ7 zcstc?)WN_TMPqkZgCLf@YW1A~KO z1RFCBpbM*m^W;w%;7eGz!v7yA*pCpA=G#=}~D{v3Xg_rl&R`MG6ZqMzHciET1~ zp%_6^VIi`6Gy?H$t4l+fR0n?6Ce+;Ws9XyqPE-rw-c37r&5~F?odw zC&snCe$F2+_*4GkNHp;KBbO_ArYY!AHZR?1z|UfC-c$14!igh?MxMRp_@95L_}DFv zJ@SFW%m4VUyMn{25DsEYI%u8@t#aQ=14G#cmG}DLcgIJbef@op{QZY7zvcLE{eQ3d zy%#?4gTMIlAoOLP^t8dHRyCQsv*0n@w>^!8f17bn=jrRe za{BaGaTw2NbzI2Zm=ud+%f;p8>07?lcVMh|lw*>GRT2*b$+qjfkK;L%<)gVE+^0{m(24W@bvg%y`mr zM|QrkGTFG41+}-xL$893*fN1ZtIp~Dj zzZ3$_&oWrQdva>?;=G^orzPB!Q*Dvh|b^4%uT9o@(c9XdXM!a-qDOMrf zulfxh%XU(T^Dy0|1C0dl(nhq}tdnfDVlPZ&)QE=-O+y+-xZ_=(VZde+=tzp#+C|c)3yiDBLhIx{-w6VzDj<&HX ziMHK&-lpoks48s~uh}A<{#NYcx9C&7>edy+OQn<8$vSIs;X9krpCC2T;3{Pk{W!LA z=iHj1s@zux=S3S^t%H&3_IlQ=n#02L{#`SjHqA7)nl0QzBzLYzJDv$KSsqh?l0gwk z$AlKFW$vcYmI2b>Z)FTdET*TI-eT{!tif$JeBQOqZ?eVr^;meE+(2ZIlsoQ*qTK*O#gCd%i0?;KK3AP#~w}f=z;wsH@Cj!?P?*qb-P+>Ry*B=g|Fh$N^qq; zajGXgsrcZDB`zW)99U3m54~~@W72za$E&{k!VAZaU3)BV{pe(WyPtUFE4xR#`2Nrg z4YG{M+0o}YCK(!&qessypFQyW*$lb#qIYF@SQWbuba71DxF#guKN(2lHoDTHrX$-T z!!0w53&3)5#gF3epWwX2#y`-vti^3N+|uU~TG5-S!(Go$k3I9uiLZ1$uhiMI_~u#h z;%_|BLDyDPF2`iKIC1pj-;yyIJ%DeXjSYS4iKDF;|2Emo-I$Dyc6U#Yb#?jIcjNfC zyBlAqS&p9V<~(WB3M9=QIB@o?!aOt|o@+yhPXG1WH}|G>YPa8VABLPS)Os3Kx{9mdM%VI ze}5rTPrQ$exDWwliJ24$?E<( zb#X&+ZhteKLO11x;YjHXbvXOVzI$R|i+)i?WMkGjVer2wTzx2-PbTsN& zS+BfaJty~-@9ulVgN+(9MPur8Qs~;I&TMH6R`u~JH4ysv7j@pY>#0>cym6tGDsCYO zIaFxn0(Wn)XakhzAXo*)G3J?N~PhZ7JUYiLP%ptrG#ZA_M!I zX08E4R;ivHIPk)-AlWhD;^y7^94!IQ!Ip2dQuKdjjN3vE8zed^oOh~O-8r}?|!$SZ+`rx+lA&iYwfH(e*B)f6N5dowr9KAZGAhu9D?$gIpQ!vE*USC{|Bm9Rt!AxP8L^Z9F?oVxl96>u#j`{$4|f+c<5H6x z$^ASTexlf^=Z;MpVwxcV5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+H$&Bw*I*Rc(1?{?a;iD|JMrHZQWuU@9|6*XC=ASCltfzqUQ*JCA^Ea+lVyxAVCs zx7DfU^!9bE=Ox?M7F!~Lwi2)#Y`sE1e6CL23LU3Wo3E`_TV9*rZvEQ!m?r@eAOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}fh`i~ z^S5ZAvU*UNVVVR;fCNZ@1W2Hr1TOAsV(VcOZP647kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)3ABK~MH~4(Bfr1cf)Sue5+DH*AOR9+ z4S{nu@_j~rf3Y=#K&vD`0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQb&MxapneMWwNaof1FArc?~5+DH*Xf=U7mEULN_ZM4@oAyb71W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq;ki$I-kFNS}; zT@J7v5+DH*AOR8}ftC=c^X(F?w~o(9WFfCNZ@1W14c+Df3# z_ZQdmX~!R~r@?X(AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5@-W~O@4oIJx_c1ea7_=u{=)%Hu(*+^}4u=-#A+j5z9${1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZj z1%cjgL@Q(ztVTc=;(x1^HCNXAt#F~a7E^26*N3#l&WJs$ik;Du&glimq;tlSJs|-S zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*Ac2e!@LS_Y&lg%_msUxjEd;#Q zw7P4lHFjy01W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-L;KfCt__e(EH)vl6{MIzx^M%&frBxDW3jwb+t?pWCja^zLfleYY^!2>=Cd_*W z=syXN011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^q1Clh!Bpg#<`|1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@ z1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCNZ@1W14cvQD6{<=Bmx(Hz1HZc=gA!<($gY9v4cBtQarB4AqWEcYj^CQSPzKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQb~Ah2_`9j!Llrr)4myVShaG`wr6HFjSVR$H{r>>kfB zJ$?r$!-GTDNPq-LfCNZ@1W14cNPq-LfCNZ@1V~_01fosV+CZhAQyWmGDhZGP36KB@ zkU+Bt=w=zJXJ^+#^-3rw0TLhq5+DH**e(LP1r3F!1xA}_Qa907GflPVHX`TZu1`19 zQ`#bdwh(C1-H+wI>^fOaGu0>o-KgTG^mhHhrmC?L36KB@kN^pgz}5&%sBQxb#x1sH zYW3QC|6z4``=zbx^A`IytbD7KuNIZkb6d2vYW1C8Usaq1;bN=$oQ2NO2NECw5+H%R z5Gahh$02PT2cKL$-}B|PKdYCkQhlYW?WOe+`TXkjdlpl@#E&l~u}x9%RN)4zE1Vx z@{-<>IIj}F)Ogu$fI0@%JS?&j!=0*NkZZ(0sU*5duu3E41{ATypM)?;C3540eq0iw zhLxnoU#b}A7bHShN|vcvmn}7doN*Euv`A=`)`L9=EHvYq3y4RcA-NIP9uf%9kM_JL zPIuzcNT(wFa|xs?<4AQuQXPy6pe_HCFoBf;NiT4Dok$hb5VS)Hp^=;fZ+{#mjDvEC zlMlxA)S!Z07t+|coJsV1Zi`Dhap~AfcYCFGzQH06J|dH(T_ge*92Vn}UP%}itz4e8 zv8+6X$S1P60TV04%P7vJaiBhAHX;d*I zdObo?+Pq`<1{pcKTLd(l_c$WqFnHQ~}#3)w0vf1px!F*KpCM)4OV z{Nw$Hm<|fksBFQ++93WWVjVXu@pwr|^#5Yf?2x+AY`bgOOX%8|xChlx?H2|DDTr6` zc)tMe48$J(DK(2f1cN_|QA>hW>R^)brvP3nPm~>Jk-H4CN$kiPrF!B#T){}i^%E;` z&WqBl%WG$GHx9EVifFvJ> z1tB0uod_0xFryJkVp4U-30Vd~Jlu0Vv$sitnKOVJsHmP$)rOt+eYo*~D zXl_GcW7gL;EnGr{4Myxlv>(I}BJFkp15?^hm>CgIBw#F9qFNyemfYkCy%2}fiC;Pa zEEObZgN0Q}B5B5A&PW)6g%HxDnuREkh0?Ncp>9vRF2q>H!6b2A-K4xWT3cVNucaZ} znjfq)X|S}|fsU(%;qhVPWA*KM)>kJ~-~8}^c7@^|Pzu&~VSNu9BkNzM!eOAf-im{w zWue%k0vqGM2U(E^77>E>4aQoj>+V(Pq z*$bPggoiQ#QbDjEgaFdm$q|Q7YMIIYNpA$F7DjSfR<8*e3tU$)$O1C{ENU93pv-up z+lzV9t%BWsu&si5EfF?}!8l?GSU+6wwUHRza; zMu~q<0jKzd*)SY7%1ATv7y5Qdg#(ZvgJ9hf&N}}?^-dp$#u)!dYxxDzVpI_f{w)5) zg2F&z2(2xzCG);jv*`7#Kda^v^iU5T(=i2`v<8_A_2X2(zMg2L_3w$*O8Hb?6(eI4 zpAvOM@o1%Emg>(Y3TZx#6LEDEuVIne?GQzJH^5+jvcE4@( zoJ(kIiEs>UM1tC=A4(OmBMTg%r5>KEbdMKcqlI1Az6ur5lpr#VC92>La|p3Bh`4M8 z$({)($^RlHldP1kLk1|VY^|_9j%z9Tl3D^(9fw z(od2~f|kEX%^;G!gtAC!B=F~(xRNoDBk5yV6^!H(`Ha*bMK$eWDRDtd-VI%Kxry~< zW$@Ju%qFfPGmz#=`)sn_hkP^LG@fz|}-K2@y*!ad1 znHdjcsg18CkNAjeoV1Z9XON16l;O`pj`Mzl8giClB!&8mD0Ss7)>3svFj8Mi_Q#RZ zlCKP?r?psgYH2K4sg{J`0wmn#GnK?OO1Z5kv@>B6Lus63OHn;}s!&^QDmszsRK@6& zY_}q}|3(T^#Nz+SR1Rh2D}z=3$r6kRNh!x+lq_-PXeEKYIMNd1&jly93deF-xNBe* z$|yn&q|jU%tUFqkLfDpa^-(E5=@cW;UJ#**ZcA$@jDbZ) zY`7#?E{Y%tZj3B|E48qQ*kbPmD_F?ySQ5Elv4nkVjmYD2l!{pGh8Xo-TB-AZR?}%FFFl+Q-&O%Mpf)Eh0I^lsIj-ln?JK zV@YlMMl@HE$Kn#klK$r8re6KTTq&xjS1T`7h!gP`2J!l>0thw!R_0@ESqH@6%5vC2 zMX4W$)NYzj<5aI)u2HnIUTt|r9u=U!>z%2|ZI9tVD}$ak<{jEijxM7i^0GuV_e@gL~$r3Bx~e2Yg8%djmM0jkDxJjadEuVN}2rz=`@%m zAu-l@ZM<013ELq z!INrcQO(@0pH(wU(ai1p5ijbQ+h?9MGiCYF4+grJ?g z9LIVX*+hTsxU6TY>=@KHuzs*)M<@0mbU`PvO5~;Tns$wEQq9VE<_!2aTDT zLb)-R0!f&G9Az`uUcttZnJEwT(XO<2rNPvQ1N>0?N7c8@8RZ|Dg5Hc8hwO+Ed&n>0 zyva?gLzequ}ShS!eYj?gE2`2 z+QlZxVI4?P)v-yWmE|HU%S#G!oqj|OBk#wuRr6)_b@iQUg}sWZF1c0vuD-J47uFi? zpu9m}CU7CqcyXsz&&Or5T)n(pKh~_x$5L4u{H<(HO5$J;tt>Cwi_6uy8hRZWzIelh z;bgRgzWIawQ4rM6$K4-~^)aPZ*Pp`)pIl~7%i~(IL=}Xs+E4307~T35%(-iX?#idd z^l5)yx>y++@~^Ujq_qwgMhp^N;Xw4!8(&v9FUkmY%ai&}$zWNT7ojKH{^(%c`l5qS zx4hQB!l{2|Jek??fwbGPv^noOP_fvEe-+iRM&pMLgY^wRr$^C^@2s0oDoMFsTVJ+L zC3~f|tw;x``SZ7e@tqrYyxroCGIQeTrqt$(%o z)Zf~A58n`mAud45={c?&diC;YJzw+(m&WVrPbyq5E89!!xzqn<*iZZo^u=$)AzU9E z_jaMp=t~wpRp!OV%DnY!^0nm~&DYpl8c+L*b<&0E_Ljz{s{JXoSE`pJOwfg&mPX~= zSg9$~UoW55t5;sG@4+6tN$i#CHO+qPuTnqWCv5~%<~kE#8~SKB7qSN$(nu!$dX{73wPc714fzSLPs zSh$402K*E4${;^5c>%UsIN_2|KOfhsUmn+wwPabFU$6dp<+c9B`W?HR!;s2v<`z2@ z39IC*`o2neRedPe=GUvgUU`*0w9h~SB(Oe#(emy3>nrC=!^5$Gcilmw)bw@z*jKER z@AnLp*3?(Z!!^i~y%LV;>pV!eZa?uiP)1CBAIXpA->e5+DH* zAOR9+B7tCqEt5!Amgq#}uc#veTP5v_b8-oH)c_mi2CP$wZ=R3StJNv%$ED$GSJP@p zW}H^7!G@|fpwxW3ud8WQm-0!fc1VmUbm4GRVx_eE7pH5M)y`Ju%2{h9J?GzR}Z&e$qxg+imrMto@0RwH`rwO7&K_&pl&HFi^NJ6Z4hrs6eSmWc?FlgZrZ zk4p!u>e^B+xy86Nhom6R#1l)Nrb{KIN=c%sQlho@BQ;vKCSNBDTTXL#Ro_d>uB?>X zOk#Dro3SK(Ji)Rbkz_(VTOc9O_!)0jUL1fBX(R?B{HPZ|RpV-m5nd?kfgr*(b4xMf zO9jzV7JqRFkoT3rmHhaXEkPhk2-+y;~GI~WiT}&8|S?^I_G>HC*q|| zGqpov;nCVb*A&NjQz5l39WN`ytw>gkrh$F=!y1xI3CUnxl6A*O(xJdD_W&$8t$a!C zlZ-1&P$3hWtuXFXY8G{hV=IZRvdNmtlI>YV)@0F|?I&&3=|`<6x>m48-ncRyYb24p z;X(DnA-#x%3o-&p2!8+xBLfp}+mO_*NP1ul7LpKGd$qhi-s zSp8KrgTE+z1oOlyY-b|(21YzcihvtY+%lTMtyFR@qJbKF75yG7TOk<>PrD|=8SG;W z)C+1t8+l4z$`L%wDZH-$@si|FBKk%ty|1EIcyL}yWf3bNp(R%iP6KPisj>*VMqv$D zEr>7GA<@&-(weLkIyb7d$~he;u>vQla#7P#T3($3FG6(#nsN8==~?k=6o0q%;?;zq z4fiA6)vR-YJntElfC@z&B7fT^YA_`p6BtODR#>D2(r-R5zaNU(jhNkczM{sc{ zVMy|;MkbbaCxu|*B&iMj5GTR7WqHw%>9YEIj4CzTlP<4EaZ1Z7gZVS3d^m(0^5KX} zh1i~3lp=?@0kM0VhiD*=tgLHdM9XoHMgk$7=wd>GcFWQN>LQUpSJfGkocuY7vl{0w z`j%KU0Ymop6kN^pg011!)36KB@kN^pg011#l z^9ktQ&otjCEpCYb$7DY)N2_xHSAF7J8K zLxqD<4*56~6FnzK*2#ZZNo-AoCK~+jrNY#H$y}+#mQryq1D9W^S5jLeVQR`^TV-KwzE;1ixwVuh8<05Q zjtCbd?|E3dJnq!O5An4jt`k?N{VldKZ&K?Olq!<7W-Ic(+Vw=5t+bfR>cq*Im^#H7 z7MD9IfaYbo*uXax9?MORasOgrQkICUZy`qAR3-UPozsm~@lqC7DjL$9#HlutD?;p2 zd>5-LG#9=vRnlofHiw%D<^FD_cB|`DVX>|?YG;SQFPA91Rj$6ZD!lRpIQmTut; zqwf_W$c-yoxzH;`wGvzS+geerpDW8#iIIesMT4P=OAU?&O>9;z*=~F)sjqt_;q@xd z?U99iLO=2~Hem8raSh?gmr4&0LL`$z8;EdMg@=7N?j16?X&6ZtG^#-XHxS8v!-ZIg zE}A4IQ9n$q2&>3;{bK4&NxQsiq#{$&sV+0ALUv+oiz=Ln*Wp0*C&-P(UCxsRFJ<&G z9A5Ynst?pW^bTA>Lpl> z70w&nVU&7Mh^j?(FvJ&rf&pbT9x3srpl#Hk^z=F~mZK(b0Gwo3(e3O9bLfc72HebM z52BhBp%PSVkZb`h=AyRfv$gm-bqSpeaRAWfA*_a7!n4L`<_hOUkO;#zXUp9DFE zw0>OIh``N$cek_TYC>|iQjN65SzT*CO6Io|qz^cZ7-Rx~^7jKPh9d%7YMYG{Jo{ zcjUduU@piFzDv8qDbHZIupz=LS%kMyCh4`W=HvTxk=KAI9~jq>>b1^>59ETs4I5|g^H}zGFozzXW%O-p;+$T93iz@VELG4o4 z3f9lBYjb@QwHh!fcc=r?!6_B>scxkwWCM%4w=ps}KeXMt&>zVD1Z$=1^&sj*`+|dz zSY_s65tzc=N?uN6_8DX`6lFe8IvLy_?!P2Hrqljx0jqrYh^Lj7DWK3if|k!|CTXOc z%(WM%P^2#U5m|~>Fr|D+E4AR3MsDAaQ`jXU0T*zXqPpR#3+bLF%_U+)uCwLrhEr(^ z8>|@l()-GQ9>lhWfpY-;^L;tus+;wO) z_Sp)(ol~=~1yXo#`+BVj?HQ})=ly67RM9tU=ahf0eZwrum$2=!*7(?(?Zt-N`rQ+1 zcph=V3;iBtbzq=?iDMVfvE%xGbca0HR-uhK$mh`-4B}rJ@ImH^oGOn*s$h_CwTAEs z+gOOBj2S5Q_aZ;5lVT;Snf#T`j!-J2hoIFkIx_0gnOVpbtq9ho2QUl>g(uZXDK+!z z!BA!mCYJ1D@Lf!tK4AXL;F}7V1}Yj@!g2v0U)FufDmC0~!zrwbQ)<{-v=Hq3lz-BK zOK7^ZLO7)cELt{u6n3$p8t>KnpaoP~V`?V&BXuQ)Skyg@MH-yHRZj2uS8*?#aNY`O zCBE6Ktfasn{)%6f0sBDr1y2LNyvl;r(t0)F_RA~?0dyR&{<%%D58+><1naf3J%Q>% zSLHb^Wv!>7BNeO)tnZ#L2?FV?4ltR()my}N=D2mVpy*-cMrHvUv=B38BIbgX0ZmLO zY+nqX7;@u;%-Uh#PfO+VlERzsT$IcOR|u2w1od$0h?=4hS!g0y zgJDD*&k!8vA-ztBO4lIc9l5X6D`bnSQ4iKv4Urps6v>7)FTpqQQ@>%40XeK?8hab` z7CU|9#<8P!{Y66U*9SdiuvQwJq@}??R~yO6NxL7IHy6|qRCf|ALN$Z29!DKHZ;`yL z;64tqU2{m4S99pB6^iBet+;UzU5h_|LKgU25wI1741eBk&z<6|(8!#?7$ZJu&rE`v zMixEWtwtt81NQOu7b*8Y93BrRL+m{64#Qp`2p^1s5rz6;!C-r5jJHpAEEg)RWAL$U zH=yA`$d*n*S$PM2qs62Ijj1WntV?6Db{M!SE%&vFlU7d*?n|YxUQW7{J0usOcJ0)Z zW-pui?+^62BT8&weDShtmtQ&?LrS^-kodb?v2;#$rQU!P0w)fmUFRk>>K{^lzTXoU zI4Q1!^!Onv2zvxv50OhE6(KAX_Nt&lP&aw;$I>Dgb2cz{mAgui7SyqWt3(zmX_r&& zEXU}{tg=VoqU^2RQ;LXXFMzOLwlxSc77~|&HNp;0=a$UdCiGykGfU zvuaUo;4OiTpyc11^U=A$&N&WR1j&oWQ8y< zi~6DO1EsQ4@i<#tDD|Q%Y)P(yWCoQauB>|y`Z?Lh!(p%Mc+Ud-#kkBDFiu_m@A^A~ zS?m1~MnsO0d_S0zj_v(jzhIFFq5;`m2DkU@#3^H-cHQkiI1l*^{vuZ2p1wJMpde%H zX$1?o;zggq9&a`}2rjnAFvS0^k2=-mvBV6sqn8-}BLGNE8)=y`uC!z96;O|B15 z*ahqfQ#t&qnxjy{(L|sMcG#A5GMvEH3PH`@`|z#@=8n&HpZK?@PR!mrd-tQC`^4Vk z_s-6K=lJ|_IhK|9Zh!Wk&nWUiR>=d!uB(L&GNAKvww51iPw@S#7QnR{+d9eVh_hfbZa$7k(? z3f~KwgOfY=985=)ADmpopQK8bjOhsAG-17i>cfXFenx0Cxt-G$(R&R zy=uO&OO8#l9WW;>#>D&Z@rUp4>Y1It@4Xn4p4q#fdf^ifbl*Gc{oluX?A+b9`+w>= zJ~wA=_kqvv`2@z!d-uZ+-|rt+-S2zgfro>;yVdW0_<>(Oe)p{RU#@zz@W@S9{OiX* z|FMr9-+_7Z9L&!izxTrrzv_X7UtZ|_Q*%PkdE>u)LdN8t+1VrUm|SqfUW|!)_#|kp zGba9(DbesDxs(;C`(APLiBBK8;!~I$o+}G##zYOy;hk2h`0!OHTCwdyYb^=IG4*;e zT<9+>v=mdB=Li5JzQ2+QfQ%hW5Ur`1K>QqNh4 z^^4GpZA;$SmkLSv_YWl(cT++A_=2=(YHU>6R_aXm+2UCD*;J1Ba79`br~7bq7>B~s zcB)dI_4KqFi^t@tcr40eax~ovIOfIWWj7|v#mAB{apLlr9CBmwmd7qSTQw%rV{S}J zV}y0URjlBG1GPrNIVHVxOm4cV`|Px;8k2ae5_6@7rm+W7eG`qek_DaVSlr3WRy38SK^E4*Kv8UrP z=}*Q&Hbsu-L^3AvwyQiQ)5(~m+b*|hQ-|Vh*KbT;)Lk_u7=fxWk&Rpl8WPt%)aaOm zA580|V^Uo1>MD+nj;3r_-cw51lv=2sObtEGQ?ZD z#h`mQqPwV?{kAQSg7PmSZ-Fbt!XjP;aDCl)_3ujRacZr%5Vhk5rTMZj66qwr^*!Sd z(b`!}z9AV$(+nzV{dO}lg#*jT9G#a`ynOkJqfe5w@bbcn3y=A>(CGJ9_Xbj#HCfnCvLu+IKNnUsWxrXT+zz;Pm-L!c6n6ZNwQ_(rPbPku{bS+ zP@xhM7in_=#DxA~@H+F=z-vxS7ZL6j0n4!V%JZ{_CQQCDH1=lnqFVWK+|4wprhH&* zdbe#(=Iq>p*$Y!ta7_r-Tb*`V00xsAyA-SmDBWCVS$rnej7KsI=95m$VdJjAvE8(* z6Dz!-neRG>S8Z5C?Rs@tO~3xt(_bxhXu^E?YLvfQnjf|CcgyzMsBzT}No@K3IXfq_ zPV6<^u6Yql2iJk7PVD*#F+Uw$KZ5J{wpbL0<}8He<64jFd$SF!6Q*FDa52AKC$mk+ z=kMY9C;c9oUPG3#_Phq-*G@87Cxdq2KumAMkN*N$kLd*KC}7i_po8Dn8LhKIoje}J zk!m5(2{ZzogzF&SW4n1x;oETn!q=b^-Y4<Fc`dF8UK_}t;NI;i)Jc=XLg4Hop%X8O6os7+0Jgfb-x$FN*C(&FG zHudm&e76+X4Ptrk$Rm@Qk%8?QyEz}*J%)Y|xAu$H z&T%2r1$K*|yEe>!SCAig?FQ*V{!EzuHNkP%BnI)s1IZr5oWuhbJHd&+9G3CLu*|S6 zl6O6G9tz8h@J&BRm-f{uc*F}JVBjAvm}@JB-C(|G5Pa-z1()p@**DjWw<`pK?G_ip z7cauT5k8%Lx4IY}==1QJ_KnuA(GB9t5QX-Q6gwxhV`Te8G@R`im96LQ{6fR^1@()+ z4gGt|NQQtk@^L!q;qtC|l(7@xm_=i}DNYL8LjO89AY|J}2F9aq_Kl6tMbUs-=&zhh zzeH4gk&%Z5`0kfEWZ>{bFvL&Z0S!DB;u{uTmIl6!@T0ylunAg`3Q$3k3DcuWY}7=t znhQ|}sF1GdjW4;0M7{~tHxtO6KNd#FOr&c}NJK>1XPRN_Y~tkBPpp4pj59=-$hU<| za1Na^f$WfxfICSVe*o+}9Y<=#pvECMXzu}{hh9+}zQPX>B0q?Yxs&pYC7?rnczo=@FgGoLkcWv)JTSvlz>FM(iE$!~I%sp8=mY5aS$Grh zzL1Leu^0nIPtb^^Ytp0cNQX9oooFaE5w9LN;@S!6;l`IS95yPAMK~1n!h^MXBHiJM zv1pZgNa5hLgY}`~0)Ks2qnl3prRXGho}jWr)@y!r4XG;rM!Cf~*MH3W;Xe#Iagz z%HeldP^4|&Y(5;)yq%qYPOnDymLZq$xd-DPxMQ%>b_9FB5W`&UpuZSIxIpVS`DO*~{DfG@fX>Fj(S`g>x0b_PeMS z>)X0GZvc_nB0u1T)5b6%Y12D&N|WTE0V@TVlh*CtY$jnIJ%FQH8&cn$q}SKVEd-d zdDPC;AiviwF}TQ#*vc&`c)e&kdO_lJ6j5joSY`SEG(6rYR0B10Oh+$ZHZZ&4S>@Sx zA=HD8f(&308#CYu-iiqj*rXvGV{4J^7_MLqG1A%~j|CBUhskxYvk`Ymp|TCFjQG$5 zU5tZvp37C)TGC)hsG1`*#OSUhM?q&OLH2ZK%2W{}$dz*pPR~%-jAu(}r*_ohVJnJ@ z&63a!Nbt%WSa_}6o!kMIOTwcn56k9rc?Dzy$fO)uV*$Dp5Bd_x41`S;&>S~|mB!UE zA-gDvI}DwOxS~8P!uaX0rzoDm@IakP#^FWa>M#^^ZyDhuAI1KGfcsViVLOS%qXHyM zeVI8Hl47Qf;SNnb)f_!C%p}SvNaR$gRuRMw5*9Y{1g+L&n=&9dmjMoSu$*`*fnpIr ztQ(V9K1G;lSVjsz(Aokp5hZOkIFkdYpwt>lH~5VMjj=k@6lRfB(Aa++H=yt5~a>6YRGPZ`AHje>!Rr(T@!Y5Bf7mN z%z3~AG?|()DB560Y?-i1GgeJfC{9MX#u6F?4P(#&c#LB!In8hdGJpreLQfDbcbNjZ zj6@%)0%?m#fVKnA6`&22U<76{O#sPtTRvX0m6REWlC(ohJI^9U78l=_RGChz_(nX*$AOAlH*_peGbzX_p&lptZS>%MdC_PS9lJF zxf}Zl^X+tsPy^E|WolWb&|0hjRIhRy4V5CS(8L;3g=oJl7NZbPu0V-ju$5G)3Ol+A z8CDCb!4FkK+5%CD2uaMESU9lkG=6+xvUm<-#8Ee5vp+=*J3rk73v0&|t~bNSpPItO z9JvHv5M{?&%&RCy@nGT>jbKi+`W(h>3b(QXSKw#xcNihZb)#=7_S;zc0AtW?Vh|d7 z4);XGUmXzYSua-Uk=P0CUFx#BE4*E8X&_i*itV3e`!m1wv-P_1eHw)XNhlR_Cc|5mTH- z54QkA309QbAbP{q58I)D!D?=SWWB{s&BW@a$X%vBOl-q%Kx;f##BA}n20};wlZ)bn z$R(Q?x)y)99BvvpXm^nVCql3W0&D{F$#Gn=zt!zyJGOnO+CAc*a;Wb`JO41Q|_E<_M{DI~Fm84$o66uO(XU z5OSFc=6dwx<+wReydbiGQWI!7l|)UW;SJJH7@|Tu6h{>hA;PjtkOCVqqdd0}++ka( zE9zLGp&{mzdke*wJOslCQg1Lz$}!Qj3pXC9wh~p{uq;MQ8N}Fr$Pw{f=xyTrM^ciVaP;3gxIK4T z*a*^97i37KE_T*C>o^Tn6PY}hWxz-`7G+q)lK*UBsCAf+oz|x3IxaJ1H z_K6oO2oX9E8s9%V$|_SDBrE*5xhx;<--=t$zRLwOAZ;1u4EsdZp#tvvu(WU>1zf{z zIhLjjmzgQzqN6z+c6J000dLr5tWx6UR#fN2AFUdvY*04PJn(H9q{taja8aCO9A;QW zsDwN;4;ZZ17!8R0AohoKZHE?Xz!5|YF@R%{QXRFF=Tw*zW7&aDtQn$otDw7cJ)Lek zNY@i@_smh#9$QXZs>qM|dmSY(lpHB_0+ZiL8m)46N0i(|tun3D=;^sfC5h%q*qTbG z?A~=VYJl8el0~NKB;vw2gaw*N&RYe}THhtbEj?mE>>{Bt*$|%NLU33^Sf<#Kf&CBB ztaZuk096{J)cR$@y6Ryw?W9Bj_mkCb1LhURbOK9JQ)7+`ofVB*QFaXnGHF;T&^QV!DKo`4HAN5x#xD$7#-d$;@86JLmD zwtNVmWpSL86H6G78G&UPbm=_$`I4Z9iqpWF3I+l6SQDi@(QUWPTDbJ|rPBNSTi#sh zZBt1%JIu4u*;#bim~n7tomeZ(`gc^foZ8Vssa538UFV8bDYLe+w#suCZZ+%@7%qb+ zjU67;Rxv#*DkS5%yWDm6f9cn6I(>cjd$-b2&T>kE#Kmo^cgu=w>K-*6*-{t>=3|R- z#Ud?FY9$&_3da1H!;r|nI-CPVKwh}V9v)tU=YB>!`5Tj;HDmn)uzibF$_~T~Cdqjq zIlP8V-rjKE>RGGHcYSr=&@KD-J^j@|fA52DzwUp3X4OAkm#9|C)obrwv0?@C#drMs zWh?RzZ#ZGYZ`M@G)5_OZP**ck z3~m-WmFPa0i>^Qah2hFm8;{?+@xB+nEchh+f-8^T` z#?wx|;q=xyGqOkg<;TujO;`W*vKb$1T}Yq2`fXk+xsc|K;KP>5i>c1v6FppD=dRdI z!^2rzC(5xWPctVje)BzhSFfHGuV7#VI-v)KlX6_6F1&|8{4jyKe`6i+t-z+-H^L^+US43{+=%A4avJv~S;)FJE%W zkiTQc*E^Bj=Wu6dU*C}b^-lILx#WzAdwcCpZ?5^+4jOgNEMXJ=?AfWVCD`iP*;gu* z3U6$(pV`!(ToUV~*q4RD)dg&&?txX;k^TOT(SE-ldu4a;ZW2$S0Ly`B<~-=6>!57; zh5n8HJ>7%fFLkj_&Ug%hE7IDckI{-7#+RjlC4`=7o($5oOLof%Crpg=W{s>-lt~I zUipKPzY99aWR_4DOfO4?{;n~d#N)un(zIl^0e!|FbUWU)3p(-r(NHJc_NfO}C(c_x zLA2)(I_c_4TuxTR(mX*iBbi%qhv`(UZ-$|N1d&ACtSVZ>u+qNz7hx*fLtCOaj zH*VatX$ki0FWJpEEZd-yn!g95n{{H_jnLH72y;~0MKt#u=;RP{S63;W^!*QQ>o2fQ z(3Z~rWU?P}k91<^u5`M~&OMvrumiSpSCHP2cTS%w9>wPSQ2xj3{x1RdjH=NQ@} zPO@)=z2hg5ANG!H2bp|?O8BS>%4a)9qINFtlS)!+SdXP+`lvkkTz+&P0=vrW%CYj? zN0_G&RN&9~H}HzpHn)ME#bS0=$U7dTxSH!kyVi3$eDFZjL*_L83``H*FX87V_;I@` zX0pQpJdo*fZ7zgYyp#+cKxDIQhsbt`zy;~BC&Wz~><-x;5%!Hp&r5gV6P<(td!I3Bp-^FNF9edoA|A`JLdq5Wm{I;a4vg zQeE%Zyr*Di;m`(%{M{v+k8O#fKTO%3KGp&0Mx*b%&bJKta&S)!>6kq_&w`a*L}%*@ zt~GWvGA(-a1>*a^d70Ds*9EfIpc9OV&sbf( zb?*;$_QMtrUoLpmW`=&Z`mB?R)yWP15SjuCT#F)|U}4}7Zem#sZepDxvawj!8nQe z6Tc6G<;%ozk_pDiJ8!qkBigj#rTx1hu>DuYyFM^@`XWdw94E0*c9X|RsFMpjaTf@k zgyUrES&*02Vd#eAq$`}ekoX$MiM$CqvAUY}y)!@D-Ffn|CM%H^lJ z6CtS)Z`xnVFX1a7-%IuY>Buh$cmU`q1Yt{~WXPN7>E(osD>Tywsd&vcRRDH^HEWNk zLO+a0{N1fM#P*E~Iq;aZJEU0e-D;UZ{Or5)1Mn-UyOlyTqGNkUM4R@BY_~YT>E93N z#Jyv2#)}_@@kbG{5G|}i`c)A=@&mruCb0;V_$i({+#2A-Ps@s22wO+Ac<5_`k-cMh zZe!0}mkbhWsEhrT`28_KgPG-pv4v*9wgspF!J^>5L`cS7(Cl#t1XB~D6JueL#u^e?8TFiP0acK(iAMmPE|7YJgvJ6u3NuWkL&TVOAZC2QoH{;!uoA|~ z`h7z|4HN6(vh-Mi;{}6hg#k-?h6ySB>_5s@ViFXpF-Cxf$H3A=tO+)TNq-EW6U1Yj z6*V2m)fi!;B+??FoAp=#leHNx$;$*S!3TvkJ#M$xSj)ar=q;$)H9(fJs~z_BFuKK`5YmM z824H`+%1n9ZZOuP267LK!p71x9Yzaw_+bWsKbETCJJvxU0NyGS4m69H7_%q?cRYzj zzM8{(`o};a81dNb5zXYFZ-WMbAlyuPl|Uec$po*B$tEw&><2H+CPzsIxhjzu9Gcn8 z%Yk58VbZWQ!JB%HxeC}?-AZ2JMQV!UDtiq^gaOiUmT+_+%yHzgnGncxtO-otgb5>R zT7U)vb|XrYh!q|*0DbAW4{%IH^Qka(>0YEOgeCU6+1f}q9_m37H;qB#L4rfNWXGjx*aN4) z7hr^)31B9~I5J*ooH{;EL2qNSgTh4GgOZFPy&S?|xpE73HAzE8D#Vnmb2HE;JpDDC zQ1|c{wMHXJRIWNcD719z*huF>?)?1Dt%IEO%!Sx5N9eQz4k`3WsU5cheuNgHrCVp5 z9CoPa5l7+FAkw&1$#|7kjZGsCc9x(36-X$UcTh9hEjt9p6Lwi38QU4ySCA=p8^ZP$ z#PIx=6XSc4z5>Akj$(H$l{(~^q;<~0P*sNWqXNxay1SPV8Ny-&&mA3+LDP`ocaobe z?LW!kzLG$rnIX#*>w@JOf{j)YaY-ZHO}MsOd$QN*5MH~19z2jcZZXRO!sR_z%wzwx z#0%{XC20zbqQ#lT)c95guRPk0)P7BTIXlbDU9EHLF60$R42w}$t z;bTiY2Q?5DXOQg407{~ZK0J#z?*C+q44mYVxt5h3Un)JM0i2qi7$?=a&c3lZJs!qoR9Gi>!^OoPv4#GHp8K$9{WTfI1A06{=<1tbY> z)utKM0^gJ1DfI*|7(2i{Y?M#I^GU=@8j-Tl!8wUID%+VMznppSC*|La(u7SgW zsRC@vI1|I52!?n*;l4T^u=SnjNf6y=uyv4T^3@#OH^CN9F=}%$|4@f)#4{56CfSDi z5={0uYuS}XDZ!?L*!`)gr9{(_kB~Vh*|F6>n-2kEH z>J_3RJ_mk`F|De#JtpsWD$ubP2mJ}%!9|N&D_(rSS-ZB{14=H^9YN8-^+Y3v;M4$R z+2T<^8ZA~3is3d?z+*-6XFGUc!xRe_4sZ<{-U4^iiV)vWZNiv3hK6p-!*mcC-r=FjQ7p(rHddL0V$Z-RvGCQrH{ZlQ-*NsoZ{cel5B{B`I$1=4>$0 zN7=AdJ_0!u-Vo!aQfYi{A(kW2Zg@pMMZlqf4m4^&xA%gnUPDrW|H6q8d#0M=pu9KU zTfG47sVAyni1zaGxSgs7VUQMh`)-YNH73_HVg%jSGblHQM5vtiFDPCk zorBwMM;2Z6Lr9E(u%&Sp3krO30Eggk`Xm53m#AAiat)ht=GRk{>rJ(|ts~5GuS*x4 zBr&g6r6$>f%{Ww~Zz$N=DO{RhkHs@r!h`3aDEt$%HYH#&mgyN!;|Z+ib%3uTxRT4a zjEpg-VcTmQ-f`5?pto6bDT#%Z`wiF2sEd!s%?3c!WEHo5E}d3VPOXI&kcPmuLk6=t z(oKwt!W`iq&!1G$)0N|}yyM7d3J^veAwYbBT8?ooL_9@vj#)LT~$yZRAL_TdboU? zNVaIi0x*!2TksT0fL0C!3@;$FSi*hPEraw~YOHg*Jx?UR8%Kl4Im%q>%BmdkP!MW% zGLGp$KRAiLawZlu8O8G%z*u(*IR*eOt5_U01TNEL%oC+?{3URpq7*D#(PIy5l}2cV zrxKV0>Z(+0WM$1L*_b9kB+0a}Pl|22IKYm;3XHO@Fr+ZCxPlDw;~^Ty4f}{U%IpI; z55rRA83S9?SQH`0#-J*R4uc9|WBN__F!sU)FN2#QGF8NN36D$-0u5Z(c#ue*C6Nsw zL=6JtTZ`yafNTN{oKDpWn$Uq2qAPMRFKlv#J3fRFM_XBCyo|+13%W56Dd3UlY0U(N zuQ;Fs7E-4Ij~qlP#u%UtyEld}Ic^M)<`j`GS32Cbn*5ycepl`DEK zIPrbU-JCdQ7PirzcTA6rzpZbnWzi5FQ>)^6UKy*-d$;6H__n4KN~Gpwu4}#V8{QG# zBAB3Mx#jOV!hpE7h2jgIz|gv1o$zS34G&!L3Ridu?y0za7sHN3_m}P}C*Mly+$(?F zl5a65OtY%3y140wtU>?-TC!3zin1o0Wuip*P8AZ>#w;$=smWCh#L{ND>d9YwjamBB zR##_>0}sm6UFtbfX>H=O&{5>9J9`#iaK_SyMar9lrCIp|{&)`VB$39@tlP#8qqE(7 zyZ%OxRzD@Zk!4HiKk{aMP0-rmh^0zS3`>KZ_O0U7MGe{UQP_tzl%@e(ePLvN(M1y1 zlDoD@acW{Z?wj3tJ;H5S>c$@~tP~y9syVV|a$YU#YRUbCvyAe$-3;xh z*u}^6wB@&&j~$P*QO1u37&6|dyJOkfjl+&J4Hg@+cACsiT{bY34{`dO3Z~V@S+pc)8|J<40e}Ct z+c(~HZTSl~tp2N;SFX8n^KIL2KKYq1?igKt>zaT0;fw1x-S*8NUisA9HvIaw!8_JJ z{-t{McKTe%!xo|Gx7EJ6{?4$IqoNdvcz*dGiDNp1JC(r~M6o z`QRN#q~m}2;TglHO`Es4o4@LVp)zI0iC^3I%b~w`-~MObeCjh-U-t5UT>TF_?mPKy z{{BcOx9?bS`&}!_RsZJA`>*)t@BGtqpIQEqXW#jg>puIJ4}9uPUwiT67iIgBEq8A@ z>xOTA<@(C3BU-xl|8&N2PksAM|NI}DkDmMVz2*(qSKcz~`ZdnxIe$WrY;;cEu=>_H z@Am)f#M5v4=DAnyz2{H<{I-8S?!;Ga`PlKWpTrZ+rd*(tf%Ec<J`=lEBC;2$?#`QQhx92)8z zJny}<|&42cJ7%TG&=y%5UP~Rr(zo$O`aoz)*Zt4UT z@CJFZIza$B8BF7FAl_N;gZyARxttY#5Xb;nCw+Y%KE9uK(9`S%e|^fi=k6+XHFbh) zRV)%QEd@%+Y+Lkvf7g6}$&y9y>!(4Wo9nWJ)NuGv(8&Y(I2T!Vc`+dq(}uqu>0F-&dei z7o|j=1IS>USe-ED;5q?I2i3_Yz@GVO*vIYM5a?v)h3nP1=lcC!R`v7u zq%lsYT{x2Gq?@>Hk3astmjazU|588i)t{nJuR|yCOj0i&(+Q<#&u+3iyRTDXhB$ez zpLQIcyLMsjLhmQvKqmylU66LtM|bvP?%KyXiSP1vyfn1EGySsF$u6st{(5KscI9L4 z;z40`vUi+Lwqx!(=s2;1kT6e90-n2AC!L)?SQ*S+=}-UL#TaS*1>eqH&rEhQ&uNzU&!YoUR>fc3fo(wcqD?0t-T`7Wen{WVOI$IMA$KU z*;`J4zo?qMr9%dGh{)5Vi|iCHwsw&1vlin<#_N!C7vmGGp&!MwS>W*`5&J4=Zd7kK z?miIiK{<<+j2?qTsr-!B%UM3G?IL0C%8@@S+HebsL05r30FCG|5l4b_T8KGo08ts* za3W}JIpI$Y;BykEQFhj)RX(H8753ajDRJ`CA~y!RMM zbG(5O_+n1ez7gjyz6t4;9`=c2_K)U^CnX4UPuz;x1o=n4hy~~z_PHGP@t$^0RBw3W zF1&&P+Flc)BW1VYs-AYK4i{imc&GoDP7UqxG@>jCvUXi2NXS zm|X=MXEvUK^;P<;BK4iWw~HsEbi`JCskH?nuN{_K>3zI_@(W$ZlCzS0=T1D7LEL^R z0-q1yJTOm3{&Z(Cl}T}0F=f%6+x@*bd3SK@Cjg)Q?BLeEzOJoZUH!ZIN4vT@{Y!Q* z9`jdJEgt%g+LHleK3|JX6F)hS%sJm>-tiFU9C;d6RNr-u@a~VtOO&D=x%!^Wrg`>4 z4kdN&EA87iiWxHgH{85Vs;?u(Uz!*{mL`{fIO59R9qOd>@nRA7{(GP!7_CRVIN3lw zrzp0=Dp{SBO2=+J^9STFdVbOSSnk#Wo`Ut&Gt*foeN^n)7U-mF{w`$d33M)k2g(En(Z7c4m?;7l!zlRI#^qs$3zkt7LfQVwuQ~@3*JTUyuLFfdlAY3&A ztH6*$kL`1bj#qv<)#Yzw9rX7f>wkDB`R{w_`Ik6uzZ5~i`s(Prn7+>+?Aq4FX@gjM zV%*qobL`qRHcrNLvURIZ(KxYH*@{^whD<+n5;AgduYd3zuVC@UI%)sj-ud(2@yheB z9Jd)d@l(`j)M^_y4%u^-yI^8ms}*;c#!%P%J#5w6=ev1B{avgRb@0Lu6LvZ4gw6Om zi)rY@+JNHwH5ktUcruu~jy$rj6FP~roH2KG9>0P7=^O5Z3(G(LQUnF-D>nb-xoa?$ z33QU04@4UC5L;J|=>%4a;oLP|C(YqW)gnF}fl_18*sDQu@Q5E!dMoOP?cMU5w13L; z-~GYS5ANAhf=+_D>l5d2{sK<%+*c}) z@N46NAA6K&P9+R)MVWvY#=L#I`l{+K@<%Y|2EWQ)WWl`*XCOk>e;DL_t)F;#?#{IQ%-=+G$< z#qZ~bTsMoCR+xcEgA!xxX_kl=AP(+20UED~5D1HdhfNj$;NXi`!loi-2`sHGne#9e z`v!M@28VNDKwJ8%{aU4o~ z2b6CW9Z(-w`6OyJDIP^__BVVeiek%P*e9A81P+24pFEYqp_W39mF=m_pR!B_t_{L5 zQK0GbbP!|>CI;TK0}$9~$8HlMjoKYt(NF{}SLkhn@PuNZYXi~Ta2!q{+ z#z2jMBKhLNPjrYhNW-zk!EvCto)ALuhaQj>{2XN;q#S{3x}|iD-Oa~USi(B+00(#W z7KED6T>|7`bgh`i*AF@HelFlk*z4$(5tEv9C^ED$YJbq6YPf|&bBpof%jquieia6x zc^?E9rK#o_WKDW_vW3$S9nIw{Jf1==n%x>>;=Df<775)}A&%h$3p!9wH=Z4Xivpf_fJ8fUV~hD!t}8Kq-7jlhI~xW+}P zE=6^h8A$Ml+h;DN#9E#qW0c@UHMqlx9+(1TJ!SU=dbRxh%Am192MC6kEsguk6asJt z0cgu6OTq|>A!cVWgSZMBVED4m@*y<0A#>Q&T}JeS5SG`Y3|b0WGP<3kiCB*^D~uU^LYYIu`_y<8zae zDrsuicFx@q7h8obySUmk27Zq2T2Y1!dY*eEX1fl$8Rm;RX+Jwbl^UrW`dH^N z4Vz{ia3bm$yilMq_>LH^7vFN;j7V9~QV9~3Q;MZ7a@Z@&bDI&5DzuJHbrgNju$GqE zaT2^_Mvf^1w!dm+O2iGJI6IpEG>4iHpD8h39D|>JS4q~X&^rPR##j2D$|># z`_J@>Wg5`}ec!;b;>2}U4D>)cP?;(kC`YdlIny)4qo0EySJ^^_xEC-9gP|&W6?RpT!5m)*>POUyvmgjJvgKAI3-_d`E#ugHCH6o4B+Lz*j&y zh&h~unSq@t1&VE)geEhL`A0Ok*8&XHc{vpHP^%|=rhwP@u#L_eQ(;+^d#Tdn8d#3z z(CaXw$lU8Bm7rlP!-hHch^b;u%j9j5)Ot#SpFJrXtLYC)gL@2#YYS?Df&(I#(%kb^ znWGqnl+m8fYUfd81RaVp_zMbIg*B8OVA;A}9n{b5qHMQHsuiNr_kKEB<48v1f-8In zM^TO^D|ao`RI!(f7H|SU%2WefA@l-Lt*~`!(DIn%r-WLzqvep-7~qByy{$#9k@6UP zSjK3g_JO%Anp#}bO)!t5bKMI>i3U#7W(IE5j6);H-L4I6?;rz{l3W;HE0k_c6ve8e z`921fc#=*{XedA-#c>~CGKfC{ZKBWwzb)m~&ZcK)*`C6d+b}=QW-*!N5)NuI8f#wV z=p07M1xN%+K>ZVnn6eS*!d;-V-EOTF2AQ&8Ka&B$aT6v2mY(R@#C;U=m`87Gv|-8b zDKD`ghrS-%tlU!73H^kNPe;HA2wfPxd}T~hwS>XeQ4!uvg1iJSUhXY|+OQ|3G@?nf z4yvZ6HJK6tl*euW?TY<`9jhFQK&$&TtntiZ)qy5p3{dK)IJX4r#WMPmWfV&f9K3v5 zQei#|TB8cwC#F0MdwDO}V%o7@!I@358lgQn!;mKwhNfneEL39{`7k%vIEE^R7k^lH z=8t_0){ouz%0vOQNWe`ZzA;cXmG-PT2GfSdXO5~xTwfJt_dH5_vph=i7dUvu%EJL) zi`FBU`0B_Ag#&6*)^J+^(Com|foENIH2!+ZxGMzAz{UNff?LG>$(MeFV-B}FfM*T8?1^IE+8YA zCLvNt3V4Ak@(APbWVo3u;sI!QS_kT~WC0pq%*l(o0=qW867LoN5#LubjHz>n(lnsT z1rpb`VZh=Knvn{f&5}=X#~8yL8eUT3feF-MD25;Zj{~Lb1VJ>?&}8aT8UxBYiAGgZ z)yRcaBk;Ki9W(V-s#b~32~$<$N+qivPFoZW2u8A~&{=VOAjS@&(unLlzEa&|Mw8285jHExmvN$^y}{fpL- zeP}d^`E$`k7ps?c^zjP%A}rl4G z#_nNoi+tDj@fC#_~EiHCu!w zhGp4S9;)1_fX~lzlV`uN4_vzn+aOQFJb|aYxV4(t4l3l_btK=_dSu51XN+c@ljPCr zQ*`7>DR9(Az)$yqxCY+ep<{FiWk=L>2ouyK1 zZ0TuhR?Kb7;wac$v53zlV0h9N33ocQlV3X8lw11%YbSAlsHPw1UXahI)zjzDk=V(_ z^!F9YnE2eKGz-1Q;Mq@4+uRT8qZfAwUQ6;{V0(E$SyK(M*ch6xT^jB&TjqJmN_-Y> z@v?Fy8H4r9*j#e9Cf!qVJJz{5tfgSS7>~QXMepGc;p~{k$DLV!QleyQkCQmMTdzp9 zEL}&lI#enf8*VT4V7{Y|RhHwEUzE9Sx=ZuosUlqyQ-ANMzTR1So>`ET*UCx-_o0mp zzKSx8A=Btpx*a>teZ`{U<5wIYB1jC*8d zqE3dc&j04@r~dpc-}=tJmmmDe5B9&{f7Sn&z2Etz|NZ?x{#*ZRH~asv^^VUz^Aq3S z^KVc8@CUE_`l!7RednuBUcY1KOMm*q75~e>>h{amoPOl=%ok3+?V+pBf9IdR|65=9 z=Kf<(d;fd8KJtktubMOGCrgKie{tUWCofA zE3REpxyDr7(@qm^Hq{)1T-H>C{Wt&pyrH4@U$$Z4-~Zwh-q5$==Y7)5JMX@Gs8Zo^ z;y?(7`QG=z59~PqzrJVC|HRc-?pr$lF6cQum2P(|_{m2|8&HbaKEr*|dHC{*Mpt-@M_t z+@|**^*49G#`K#1aqaEL}yK=+OTQUK3D>!pZ4SNROV+t+vewzbgaL_zc3d6 z*MHpk@nWe|m~q^U?eQIBk_1w z<~{Fu?)!t#$-nKt(2woeK6K@NlKlm-U2N~)*h$I$GyH8|dFUarJ?(#DQFk%fZ*_uw z`PeFMrH`{;&Vv;r#p6TRHIDk4I_cbmjoXyGuqm)WBL{36UiAF5yXWuf3U$KvjBfv! zPQu((fnm;CsdP8X`y&X5VZRSL+3NfK>A^u5$=S2@&e}Se_4{@{v?0wq>!04Zv1?m# zlRr4v|8xJ>+h2Tf_nyD~=wG~4lKow*6aR~R?$wJg`ro?hDzUwxf|t^jK<><<_wv~S0+cEmTPy8io)jT=+jc4R*ETn;+f zx&4kicE?}YyZIfuSnA@r>x(!!E1kaMj+=Jy+{JtHy))w*z2a9_SA!>XmeEXa|Wh z`SGxj-QRrPbQySiH}=h)f&&tVh%vaBsr41%6;F zNU#}Pf!lBEb9!-^x1u$VhnK*IzG*!Pc8$0lgbGM3gPmjBr{$VUakI|nGJ?)tGf>|J z*zbb#Ao=`9@PYafZ?2B4edU#jn^DJvH7wgEN^%6}LmK+hQODw8kLA@1+XQ?FSrY^j z5n@XFIB(aNGu6DlT;ET$W>#~#fZ?xyJ@5nfyoaBDZcjb+^0RsX#`C3mVdP^}*mWUY zLR;Z~1b&+IvtPti-k?4BMB&eV_V<{oU~j)8)3wXT>Ht?Ntf(LSI$KU+221^j*JSBS zV3mz4$dJ$HHDcc6EEC}nb64!~%%%d2%F_4@#gg5-dA;>dnN9JHI6t-@)|tTfQ8$n+ z*1c(BnNvL0iBB=iee3ei_6>e!Pou$di(qUm#2Dv|n{f6Y>!gk^C)ce`8qmZgSYI}X zb+Xm!q|w+_NJ1y?c@OKvr)Qqo)-?*9ob~aw*W&TVK3Ij>t4i0;Stl2c=>+G{!MqLE z>Pc`2oow6I-`@qD_<>G#BiDxh{!P$G1}8}}9_zYpthfFMmD1VS-;cK*`1}Zulgu{s zT^1H#qE3AO>F2O&@xA*8uqY_i2O4j~?0q5ha|ZnP(uFWdzu#lGu&YiVqs-6VXiFK~ z2K!&W^ReS(!*fSsoT#BCovCA&L;vZ{A-e9Up&{Sr^BRY&-JQ)g<{UyN!8k#O=!^9& ziQ#J`bmTXJagwxe_Q51!i$(Vc+~|8NV}(xb5Ra2wXX!%1IKlnhtLS8K+rHA)t=|15 z=%G|%o$M-HVs)~sz&h!)I)No*qaQli^d8oUPgh(4``^A)*SAJyory7whm%xOzD8B*&i1Ce5<0H-Rf!Ibf%`Rx87?#2ZKv2s8=m`j8W1ird z>Yy-z$%!nFr=MK^L%ySe18mqXu}8dYHzzIF&#-t zO~Uhg!&iZkD2+`WBCw%mN`(FGK3643CqDn%Ntq&I`L$91QBnmmJ(vnY9UAt7Fvf#z zW0=xxFEkSn!3`;z@emPtVV;1hSpZUv^VYE_;*%*zk0l3%kH?IqO@Wa5Z9H(d;-9Lh zIy@8hGi+x>7dJT}4E7#^fd35$s1oI1RFZ^ZWH21CpM+yf@EQT6=C_dAbkNPlgA;_& zM*>V8^A|SJE7S)a7*KHcLG*X2AJm5jc!vV-PhgPN)#Kct$2IqSfdEa!=}g&7fI~js zDvgN7lPnGZfyZ3D^MNCd1|kAZw7|Ar44jq8xL9rTasp!7CQNX+^zmQ|(-G#F=U{^! zlz{w<#*P`dC9VUchO;~D*t$^*Qk(n$9gKJcLYN$n@c;RKP%}T!Yl>Y-g+~%&JSrBM zlxS6crd#LzIaWHzAzhd^w$_Ah!&WnIx(1D7Z z3j1OlJ_eLeIf?4Vd0_a^p6x}p=!tp>Dmd(}Mt?Ejf`1xYJv4j|y(k3M6nc|3K?3@n zceH1CXPbo)xF9Ia^)im9l)$+PAk>~F0V#T(Vk-D3fdiO0fVbe#KQBW&ai zu=H#x5(J|3SNF&E$0J|TQ6Y8PY_8uH6xU4&YfjY|Eev7*vSFUoR2Z6aUZ52PsdGp) z`ODi-uhQ@bY?x*2IZ6#U%8{^B=%q4YN2C)+<8(-a#$ziSB!hrgSDX*?Mmzc;rXkP) z3hayr)QkPfc4o74Og^APnVKKAqc8@+j>3=Q2ESlDsAyW6F^CgP5$n~Q7WDi9n?bXS ze*oOx`;igA?K2#ha)22d-AH48UIyM^Pv&r=4cv*aEYn^pk(H(GRxOw#S4N2~!@9c#md7h`;fNm&I zg++5{$^f_nSnfH_5vv6oc9$S97y8|Fu z$1-O7H1Z)GSZClQl)z?`K=2hKZ@D|_igtWk%q9LIC1)IH0hc(=Rq)t_8goUZ?^kp> zTIHe^14>SrYM_}R$Nt#0{RZ5JpxJmWqk+Z`WcUJzhY?^cb+I0B9EZAL=U(Emmcc0S zaCOI6z*-q+r(vcGO5%c%Kd1%go${!$!wCMX0uL+8)gh>mra6geDyW?!;1nU)#xBBl z6f_v9L&9*fI$ivyJI~5$;r${j?iao(0MuslBKBIv_N4I#kGDJ^Sz@mpL zs$;ck@cf0`I5;B^VSE`ir2@VW$Em%!^1_)n8SaQ=x5&mBoT?mO_cjxiSoX=s&GauJPXPLYk<#D+bm0MOEqk(`=J{M(HJ~(qFY76_e zj#YPCS^=K}dM+`T6l9TMPUHxKCd4$K zuq#FciMBKwZ>DnMM3}HYb$pUxd5(v4-o_#x8)Jp?r$hP9s}Kv}++M*&?He^`pkxh(p-Zi$9(NBH+*jqA20jd=*rGFp@~aVyp^V+q**I z*u+dT0-Xd%PK$U!IAO!KK!otNGfES&sPG6gvCzXEi)3(UJ|^tk|PcRKaBA$OiD6?XO#n`|&=l_k;eveX&ZC$_#fApCkHxn`zu^mP^DF9_X zG`b#yth8!C0_7TTkw@6zHzqcu1T8ll0HAOKuZP0{MDN}m!+MwoIoV86a_FnTH(`f2 zAx-8E6V!-Zl6d*77_IOF)ZOs#6I7`z2AS|$n80ZGO=XLnGENp-Yk0Ssh8(p018W|K zgCC0rAiKMn1a_!a2Hj3Kkl2&pV4s8~Ai-X@gKs`#-xoHrU^gV<6s1~Ua4sYQ97_)y zcZ4;5*fh#GIHf?7_=Kwt3PtUjNydR@{k8-J1!!?juurKQmkXql<6?IQqcV_u*=~hx zAOw^`Y6IPGEA33$_1Hi`x+ zTGWvuypA{td=wp@bhc^}u9NF^OC%sgDjA5vpw(@L@M$yqQ8S=Pqu=r*uL&1xL)fc_ zKg%b+Sq=m_b!ufo0uNSE!p0^zieq+_1eMCYDZuC ztEOA1E$D^FaUh`4Qvfak8w$JQA%nI$^Me(xVc+ndHV_-jqKXj9hjP-asMl<7PZ`oJ zz>*>jViMT0BOL@VJG6=#)e zfik4QFo=k!!`@zr7Vjjd7o}kT{{~K}<$KW}M;mO#EMr@@0ZU48N|@2%@YDin$f?O* zT$nA7Mg{C)L)1LUI*4Xl;Xv-OqHTfZerhPT7LG2ibT3s6s6xPvjhSHRh@j@)W) z4EFJh)}F*JX{ZO!dpv2fQVvT})rv-$0xVZ6E1~2pwib(gvs^TYA#iQ*usNCr&<8R9 z*ei0;3uX|@P8AG-#TlVF|%Caz067IEz$cUbk1_eHb1>xUN1zwUVTF_^$KtMx1SUe14-eg417)GITc!tLb1Zgx-0pMgj@vI>+ zP*IE!#;}JX^b?hsa0R|P!Z|9MYIvZ6^}TX+P30;*s+ZPaJgYkCI;swP!#aTwCYyK+vT^k+iIfxY`P-~0N`=R< z-HCO;XwYyT&Q-*O#yWCWTHItcdjd4*I0F*|}tV;GnoD_|@h&=>f^g+9UQtO#nboE#9cLV1~HoHoOE z8jR^dxhNzAT9ql;NqA+ta$9bc}2AGPyboB-#xZmCKfG z8SRy*tSRHS<|%ivd%=GbGNmvX3y3Zl8IT9dr7J{Y} z?q6V!1eM@6&T-fT5`(IiuPfdaj;yYu73l134rdtyh!!8Ha*w7<R0=?=?a*I9ERJG^T`S_-js6*E~S_`%6G90@C_PKukpJE_NZmTDbhOBzPSse0G zO|ASN_TB|NuIjoMU+2u3@zHqjoDpLq{M;H8GdRQy$Oal7+ENB1Tz_G(H8v%H1f|qT zQ!oT$0*iP%Ott?>&@i*yrkKWwb$Nz?X~vnoU#n*KU&2yLcE7ZR$##5!jJ!YwH4W%=K7kNRUBk*&}hX z;S>1dDzOF6cFC1^_l2@r_LHYrYt)NM8@16Kg5zq%ex0cm@~j}I#7 zvJFq7nL*Dg@)KzkF-!HOVZNazAH(zQ;#QOwX-wy2Y74wfgRpxWP`kia$`T#ijX*)c zU_d!1f@>{s9VlhaJ|Ci*NxcIQE!x!iTO2&62zrcPl8Ic@!>RsR@|4x(IcJb?%bQXA zL5IBv0BmMxAgfn-QH({HnL-{I!+1X;T8Zmoq|Vit{xfjt%J&O6k#9|PJ&YbR|yH* zMVE#uSZmO)(37KE(16}*TcaEl`l(846ly3bLcwuYtBr0N0{&oMBLtMDt|w2!*1%L+ zIOlto{Du>QLU5El>YnGUo&NczvvFm(V_|DHs;fX^!sd-@2!#PHuy6o^>Tquj=EQ(H zRA&;?xtnQJPgpY^$2=JwXd1U*B8C}um=4)PPX?}R683Dq80w_w(QGu%#w#E^6k!As z*%-zVY*k)PSsCqD)QD#Zf1%coof8y?dK`C5J!PYj*DMiMV1bMT7dfxDF~QD;m5-xT-1jbUiAo@fx_@s`4y;L zc*7uwr<)eKEj-E89_X46r6?`{NzEXh#*KrqT(!AQO7>*oK%-J{wpwsw_JvR@P7v1d z0K)@D5p|qkf$Gd}3b{sTP)v$cIc2-oQhD}c?;$WW8JH_>#sGz1YBhVghr)adNkWM( z9=4j$!e;0cF(wI64D;hDD;if-5t^<<+}eV*h3s-?5qo{9di^j6~bIy;*Gu@_HYZG1XrFeYq^2{c?>6}9JuE7CcO= z>~%J+mXgx3*CXOB>T9K#U7!9=o$waYsikK!xu(n3 z+2z?vpfGOydwob^VEB{y$8e2f>G?=863IzUt;Qg|<3-9?dE4$KMWR=JsYD$f4e%x7 zs7gTL_9aYv>5s0r1~Ap~>Seu@X)mTeXbC&*-0`!^z?5?*S7+-d1e9pD6KK0?%-Ft5T=6~+oK7Y^W$N%?h zzdUq`fA~i)zx~tq)Q^AXuCF}%O2(;HGnih>s``^DBzxeXv z|9-gtjj!~-ds<_8ZFEaNZR)ifl~SlHvHSY;N1Wa}e>}di`{r@DKu6-k&yMEBqGktn< z;oSvUQwjkyzJK_t#cMv+^QpUM{FE}EERJve%^bMqC97`$9_d1n9qpZ%NC!NuZKA(4j(F^CZ`|uvIo^|5({Nl+YBGGbN-JgCGI`Jc;(UwHZ;oQ!BhmRZ) zI0Kz^vZ48tGxEE>YVV=3!?|7KCav%+>4}utHLAs(!3ooy5PLK}p%dJ~0a*?~Ar8Im zyKfx;j}s8;1Y>@m#Oxbqsy$Mqc#L(Yb>c_;lmGgfQwvbXOCv4G{r-|ShK6t;vA;^I z*M~hc6bx+>$<~DHU*3BC$iaiGlQDh9W#^6!N9m;SugvIc&uu#r-4Wg4_B=U$1odp& zgXOQqJDZD<(Sv9k`}aRJ^qe2+q-De0)t5Z-`rG!NjDM)`P5r%Z;(YJP#YP*0j5Z84 zH?z)mKqq`h4Ri&3aX(IpUH~nlow#pJZYq&zT(=Wyq(;1Y!H^$0y-0OYR0&WQ3QPTi z{+c~K7j&YXyfo6&nQJ-kt&tHLN@|@9frfQ5nU`AeJ@dxd7v)-TK02jzpB3M+VamSi z$g68?*2(nChrapx-UwH3oI;O-&XWgoksGIc&UIdz7Xf^7m751KG;V)flhFf!LsLWTEsdj(1v2J zW!k^^^s}EOx$mMKLElv?TA0j7D_(WrtwkH#xceG*x(tf8iF->zdJ#A#*$z5q#)me1 zB3JDX!hzCww((=N^Zb?QdKy@Q8_O47PdRP#eJ6}>?Mpv`Wdh$}zTkBPrqhhq@f$qj z1Ri7bu$~#y+`nU5FtUtsaIn1>^gwy~?GgKhBW7_p$7wCQ>%xR;$qw%wxr0i$MvflNb6^8}82SI);1 z%&dz24Bx{-bcc=Okl!}vk|xlKC%igu{}*B?QB!rdwJ@4#IwQRs&6 zNYT9Hl-3FR=Q=K~eb#Z2NAJ-*RhavII`|F&%tGSa-xr&sEvvX`>x+jEL`gmt_N3JkNbLP;<*{{cUQZkp@kWA?Di_@wVV4Xk(@8^58ip?zr z?z<_4t{oTuF^_niVeu$x>pyDjYjmu>#sM5&hVSVJ!3*6w{2Ey)7;8a^SHZy9)<7Nn zt<(rAzJsK$)XMQntq3LWSQ|B|7DX{r>2v z)(P%DGdei{o%qFmTCbDYxigh&=^XQU_I1&b&Yd)$b;9?f)fQ}M;mhXmmUiT<9x6t2 zt5z-L_RMuEd{?MFNLK%tZGL0Ls}aBpL-m~2i` zBnqQAI*J=W0H&R!&`##fv!0HpRC0YTUxV#r1KLSGPiQA+;i|-3f%dZuaE~SoE{8;q zrF$ekwibPp>3awbg9dbnSI51PR*JB>my`HFT*o~Ye>aCxTt_z(PD}&$eR2g^%~~g4 z{9^RniCziMHi=-~^}vB<+OC<=v5wbHT3XJ2J<-DLWZDNQ8R2$9bBZlSC;kEGWPfp# z*01M8QmLIgTRKxd4b7W(()T)3LhGdV+KDbOjJSkhRqy#TewZ5K%cTj2MON%}L(l!t z)L=`EpBdQCSJH0YwQ^@l!d-Fm~X1gXmgzJ5bIvgRI9=3IvCaW?Qy5K{V$~s+D+Kl~-zwQ-= z!0c;`jF>bdBS9XUO*nYbbTz$?(G-NFwz;U9<-jyp1ew{Erh$>r4jVmwH5eacJq1jT z&jcooko4Ga9l}d7jte0dOyJe!LLPNenhWi6LWU|Cn!G0Se%wrc4*^zHo)&-Gz(6oH zT!OyE0KRkwRJ^Yd)ff+S9ELB(66M8A3s_L#`zrndq2jA9)0%GWSJie7O;~Be)t10iG;q%wt!cM zTN84%tN;^647;GoQ6nUD95u6C3E&u9kT9m<741S*NOb7bDOS_`W_Klz-%R>DQEh(fgi+mrDR}v(OUX7VKEVd zE|J3ON5MY4O#nF5t2j%RY6v<9?J@n|1UKA!>4iyN4v{$DAPh+(4*`P{5?D$bu+Di- zq!+LRTo5mW5RxEcCDvashS!9F$UW5I_Pg zVe|pdV^q+Ga}Yvw3M?vHa@J4)$KZVl5;@424wodQv^k{;z&)WUMAURHzp01&N<=`Y zCkwh3fKx}}1p>L(HF-rT3#Xc71PXz4%)3p4sy$PxC|+VI)&kZILWU4pz-380CA=A6 zATfmnY?1>9@LsTh>#Y?Y0fjBFUxKlEh9D`bIF&AxE?oX|-eNCH4bQ9yYS7UBFs+EU3qE`y{}m1KG3W_^t*n30F$^xts`OA3)&;L7ydYDo#t89WpaBv8UN%&`wimJrokh0*FrXS&SI7vf@&5q2GhDucS;i?(@ z4bbC#WV0$G+XwLWKyeVK;|OmHXJH96SP&|ScRT?2HMC`oT`@()RVxmGz8H){HTYG* zZcCIPUH;sFa8T)TdMq9IbGEog^h>wTF3>=Ul%jfU!n3WW1ew7E^aEHbtW1iogsdQ8 z^eL=pB#Z^uI^7JM3{smAptb{_!D&+jZnG68&@ymvMd#pYRD}eZPpCq;d%?b9HR&n@ z7xfX^BlDz(I3Q{any|H?9eolmUt-P_Ogvr;bKz|GT}Q!Wu(x5!q~wvn{h#nkTpuR! z2R~v-?$NOyoe*8RQsEC$l5_>3>GalPDdHef03rL?st8XaBH{j;VT@I_4yO_ZdutHs z4U*8bAi&Bxm<*eY#by_N3IbQ0EX}=&qQWsr)T=ImK*5!O=(dkjYZtG61P^IqRK0*v zv*1ya!`HazaUQ)9MVM7dZ~+vpED6)zxkQi)3XfS6G*Kt@-41X?3+6+gg(d(hnZUaw z1^nZEc?o(OQS_vT6Aao3?3ngx3CS2;0(whC9jURcgYAMHQXxmhde`zKM**p$z%m>% z0->Or-8Jkee8A+^%zji5j8}ZW!|tdp1}p+M7WLs{Di&X2K*{NdlhOgE7C=B?iMzeH ztq5fiWy6zzBp^=6(y?So*^&S#r@($gRnDTol2jQxItXjvwsd|+OD{iB4jY&HNLHcg`WtJ7)N-#uLpfPK_9OU#-)v@w-RpT3ra059`XZOGo}jkJeM41a2=;y68B|U50uK0 z)ukjz`8y75%=8+hK#GmSbYGWqLj*yf<8+}%i(Rz|&SsBCL3O5{$0#}*CBiGJUS`=s z(UoCaWuON^!#LGP$YJ0H@f$|F8ALJd(jaOd5$ZV&x=LY0u_Y3alw!2PcmgVc9%k4v z`j^B_j(1QZ9PLSB43nVIV3EC?+O%qfBC|D>waS5l;t(jir=e!lc{n%aiab_I^kN-k zDu;!~2vMLT)z{{=p{?*&wHPT$?MNM?66W(pGpv1G1DLwDU~|0?)Nq4+ecH=luUpiL zl@&SMBv3X*7Ho$({$q#$QtOb6C&|jH?-OkZu@UZI6C;V36cQ@yXkSLHU1Z~4tvuR* zUOCT+*dPYjnLOTDo`fA>Kss&~fK)4~ds1#=ueCFGT!(;!eeu@7=qT{-U1qRm)`j~dwb zQ<;Fa5{NpC5gvV-u9TK7+i_7^dk!i_vZ7p1UM@YC*B04v&Z&UL)CCzf+V(a{^)aOk z7e|{AF;EgCIZ_}mi+7c4@Wdpzio|47Qx;=X6B9uE^;>YIB$|B}hW#A6XB<7s-q_J; z){5U7Sc?i1wNX{^&OsLfm7X9knE08Jvr}M{5OCO}P$1V@%d;(1QP<&)Zmy^5>KpJv zfTkgtcF(~i+q3ds29q4+VUZFxtsx`oOBIB3Hf<*KI5^rNC0#TTohrnHNvbU*9)2=+ zLye$*N5~1DVqq3|uLGuN&U@;c5XDnZW80D?7m<^RNUIDIG!W&)$`nfs6S`_8blDJ4 zqaZM|f@E^scVL6(W8CcnWZPtZp|bQKu8Fl!4TXT#q)Y91z`m`W?`gd^HmayLig|z1c znu`F1#BVCVxCfFZ`jR)m!KrV6^KuE*MOck^8i`VGemWZQ-I)LK9zDkz1moN%E|f&xp5 za25gl4m=^)aP$$v9n42D@M4N)=_+mr6kE7DDqZN{r9@y_gDw=Y8UT_D1*gXi zK!PHrHOZ=y_#rwP4)L}}j%HbC0vJpHl2xGrUcOlqS_M%QwlHp?bR^!nXj_Z4HbJ2y zgWy;=CS=alnkc{{fBd87Fe7dm>aiRgUIA|wZx*b^V-u_$%!TjvmdDqs*{g6AS^mtZ z=k;wVbXd<17@a7Tg{TCN%reiz^coR$+#q`&ZIKO_;rJTg^Y`wWQara8MWXJ2SpG7NU=O*Sh z;VSvIEsNq;wXTdTv3iN0{85nFgkkUTCF$t(f957T9C<4lwXT@SqF_ zU}7>zth$6Q?Lx;|4w(B{H)1bC89Xo66mz4o#-(bLlH8NsP3>t>muT!zBKxij?OD#f z=b$__3*$Xs?(V+%kl*>h?1xt`UbAM`{h#e#eb)Cs5$;8IAg2=A$(7kHcV7L?k=57T zd+*-jw%w}_H*Edxj}{kC>0Z#^v3gPDeHR}7&TU6Nw0QMhzdUQ-;_gjt{`gft{$KBY zwq<=h{*_tK$(DHk!w#Md_jP~hP*2ZYhm-R!+}cz;>z=I_UOad9XHIQMe*2gGi&if_ z!~chUw|(?uyIy-OHvhJ(&)mI7m8aGT+TU&UxPo}W>{;tJuI1Jgd3$_%?DmxlS3mrT zH*a6~}!~Hha^dsTzgD7mRn$ z|Jc9x-1X?zr&gb}rlaSx50C#a`lBtq3iV4VOyz9{I*EMbTiHAF-+E!?x_j^4-@2{P z_R7PbefdX=*WB~7Q?}l@Ix%xu_xRx+f8*lSf7!j}(CU?&dUlO>Z-2Yz)qjLe_Abk& z);tuy|KS)mt-sd&%AuZ*-gRWw*6h~Iw6o5fG2@)`=g&>K$?I?Jw^zo_@W*a?qi5B( zKeey)-tmIh|3f;CPSAJVfOgWFOvi4$c5MU3hx*IM=FGl*&5Tt)eDvHKx8JvB@ssC0 z@W8)gFXlZLKRW-_Sr`55<-59Hx$~nvE#0Twb6@i;_hhWot5Fz=+x#{8{7%MCUGd&ItN&-A&`Ey!lZmkn8%)21zGLdX z>$%aFF|3S+jJ33kX?g8>DwMU4J-~^Ur*@gXtJ&goX8&zSANE~DBYq^3XgT{LtrJMc z>~jhFt^?Q&gh<+T`gid19JCkAGHRPXuI`7f+b>D^0S%}?I+_r7a8q;^_ z2e9L$SUc#v*Py4IypIuFVb7mu3w$IAIm}bK%>K~E+6bn1!tmqRmGIWG*{66NrN7}~ zuVE{B=j%9yhIY1*?@CyX*~h5E8}I^`>CEGYCY~@_%k|}WpWAj_x&9mRzW6e`)d>U5Lh*vdE@<(K?=0qHsvJCg5y9y=_ASr$-ZA%E=i+FJX&=0fl-7ya$7nIH+VA0nJ?5P%ek?zz zVc`AMkujcZH7Dh8j$cDu9m&tD8e4bi{qpFcd>(NQA141`WM1>jqs8cV$^Yq*myWzl z2VURne?8SPiau%lFbX@G!z`>(yuSA^#uUUn;QOi3LV?9l9P|C$lEjKttIYTnDaL~_ zV`Kw|3&hA|hB679V!#I$3=NsSk;AGX)zX~6PBI^3d2@uK{IcdBB|bKnTHEV={*(oH zb=wo$qs@ip|8>d2?L}IO(Wy{~960HFl*}WS1q-Uvt0nh_4Lf&^j*aA-G1|&uq7~)H z)uWSi@)Y_4HC1M~c`v6*RqDRkn0Z=8mYh|iA|(>~?^ukKm+8V$Gj zU;HzoBO>QJmu>k44fp=hsNOSAbj>xs-+bPM8~2B26BH@Xi67|1_iw%RPzF@ZMVu;d zymJMhlNLbx}Bu(V1a5Y@roB6NgA|OpCbwX^}YKZlC3<8|kIQPv5|r&;R+T^0JH0@_KalL=0$U8w}MfFn#3QzNFGM1SSl zj>UZ!1?^=0*&Ww%J9%aK%+ED*J86y_I1oAe^;`=#$=$oF(>vilA%PPT_`{Td_?_66 zI8d*O?AkKrVSQkKO^Wi^pgqhw4)DS1jWXuz2wwVhlaU<*>=IIP7Ssj>louF*NO5EJMIDutHh}V&8#ZX{G9FLi!Wnt(9PtcAF11991NRAu#cMA|853-s6 z-JoWe6pkn9oOD~M@JJ{24Hbp=l z+Qu9B*fNzxO&R_>Wc6Q6ip7tlCgo8PsKzRUhT*Vvs}ZpAGi@crP!)uAk;`t%Z_Lma zq+?wWYZ6Z^{umBNj zeYvuFY~$!M{Pd0>#loVP1Oh$5=KLIex*ji@;8+5`23zN)DFq@hy#t#;Gi02{ zmLU3aOx&%E_ zO8oG}2n&GW#;ht!LTIc7T#yzzMT_7=fX3(!3~u9-8c(3;0w)so6d)$yKqE9=R-+}% zc^^>Owb}<=NL*n=t;$BHC6GxY4E$?dNl%b$XCHH4i(smC7g*Cpgv8UvF(tD?ljT5_ zqCwu4YG|=%5LyU|n6m~om9(i5^cs6qk`rF*gNP?U*5!O@qMcO2-(ivf8i^m4Elbll z=btMfY=Tdc0gvuz1xeVFx-ceMt(;vzP^&s2UB44v@JFR*7F4FIEu}%_rd{aYe zodm*{dW@Yr=_R=6r#21RC2fVHfElamA#CbVV{ zwPvQ8)qq5u3;fv8hOaFM^3d17ih8)?3|$54qI_1Rz64&Dbuk6wML|W{8dO2PZ)3swK3Wji9E%#tanOY2(=JBj7@RV1r7}IGK)d z+Q(!XLR;vV+NW!`jj>$=0)%k|rke1H3Fm}MD4?;gI0WwvWNCBWE|oLbU7zL0*=<1T zEV*PtWCZd7O1GOZ<_Y_R1Wricgal4V;DiKDNZ^D7PDtQ{1Wricgal4V;DiKDNZ^D7 zPDtQ{1WriczfJ;iiL{SK)j}o z!}u-~4g&;tt~h@kU)GK|&dG5JEYhYJJ8BocAegsf?jtD!A7y;64xf0pt?wH#^oXbL zCxHMW&n|?I{n~&YQf;23o zE^Xs(6NE=bdIkHLFSZ%x{M>}uo5QexhaV#kCirg16Y)FZKM+ty@hXqy8}GuaL4+R2 zDS+Y7ffwZyQ0)$|8imVyDn$5DE1`}mzi}E&LNhlE)I?rJxJr|G?w@LV!r)i+V!~VP zQdLWmtMN7B#)qI|Iho?KQ%Hr?5r$q$7Ky|kPN(D00FU%0(wuNjWTNSU9Ad)J%Ni^e zJfF7`g7zcjijqwJPRNF)ishuYo;h4DnmDsc^lt-tv?I4K$) zm&J$kx^$}$I-^jsmQk6;aSGfjnAeCx6admvu=qEB3|${P5CY4j0EemrPBBJD5h$?0 zpVG7lsznI9Xf6aVY&1Q+B&nG-CTU+V23Raqhp7?e5|TJmhUK7v6M)ntSMdmoOvmIe z?;IIk$73x@O2O7+Iw+A&2`enn*Mq>Mq)o|3q8<&1M#>;TEjWD)D3E)@TqKKAo`G$Z zm^3QRGmXW;3xKs2E!T)75qUU@CpGbM1%S5_B< zn?Z$>12_va4{~14QV&@{mMj@#mRP|BpayUfs#F7BF9@-MM0Sw_Q4+NYq8mWN(QII{ zY74L_w3w9{#3IwvfJg(kf;PA$(-un9rjUw@`zEw%XnwsL?SgjfM$i=SJkm-M>zn(K zAF?AGKizC$GnfT9TIZI*)QoB4#93xGPirAmhb{wW%zD^q&PV5V#q zw+I%CBT2zljdLl-Wc3MMF^~%GUq{d)nptN{I81Iv2N}%^ zBWn!=Dy0f)kSVX!EEo5`CCCHl^-ZLXsin4C3J>3tJ0>fLDU4spcK^wV@wTz7XeeMfVxXI*x{cB5s2RS zl+gnk0uyjSN>&-g(&R9nOP8_e&82=rXSG?OnibM4fnG^B0ve^)T4Bt`?Lvs>AhD8> zj>99p4DWE%p*q}Tf@CIv&X^-Y8(nCYNNC2_k$J}E;T-2s6FTEEsJuu*2noh<@-W%0 zCQpiT`(u#WtT7``mtkbZAC7%xY2N^@jXESd0F1{%NBjh2)&`pol(DD-BE#}Y4lp=i z0WkHtLhgJ(eo~(+8;?Bot32B*!I%pADa( z0TqyF6c{xw+;)oN6%ZV`udaz&sTCb00+~|f=?QE)@n{KO0`@GD1{y^~vJrlG1c@%3 z4SY?3(A;DPE5#kwh(T?lT-sKo{qS(P22iwq^m&h$>_L@Lqy%aw&V)vl&LG%U4oYcr zA0`Qt227h>8XQ!23y{(_$V?%4n?fWa`X^AriP#8s9*0i=yNxS6{@5ME&wxTG1BaCi ziV=glhdkvC+g4(h9Tmt~V7LN>a3AlF%O^Mk5SCy|3}dz!^c3O&BqvsDkgFG9s$hX> zo1gvgBS$j}DFfKeAensz^yiX$=T!e73l~??e8zURZ6g{6g@y4M6_DuTXczp?GhTqA zXkO}-t^&S@GmHeeT?{*tAYd#u2HF#epI|2yj<;>n^;bGblR^eSAh~_?A~6V3K*U&t zO6@>PTG)i!4E`ArrR|l<2om^GM*2 z%^CzeSPO>*tu%ASWT&SXdki$8;>Lp78x<@(vOe18LBI^~Q66mwlBQUJNFtr=3b~?8 zjeI(UY)7CIv!%P#v72J?#>ea8Xd&l#Zf0%+wQ&l0j4SJ8yH`h2prUw`Pa{$0Fl1*5 z?_N}K&q4B*gGdUO-3f%xw1Ei6A!gS7SOcdTaA=sXA{9j;q3jwVV zT$wG%-)==PbR^Vc%JW>$_S66eQ3JM!a5Zp6S&{`gDol?MAqt$p<#1>mXu&abKI94D zLCFUALAV2v!iX?UgM|SJ$dj&sfutCxN#hZrmO14%=*FQ-z|fV>TBShLju{!NrB(sg zx44;9qhkJ~F0n4PsYX*VE~I5{8FFR`em2C-A_T^OQsX)Yci#nN59e%BGRm~I z32wU{1Aa^9xZl7KODS!$^ib5G`i4p5fr2O)93rJ~O@LGY$5AS#6p7Oi!n4r=A1E*g zQQ&e@WywZNenCZoP6A6?(x}uzPd@?% z5nFG#4D$jPg6ji-QOSLzeS%1m0z$~Aag$V*y&Q55`o+`wa7Ll7MWCu#m_3``C!283 zoKi>g$W8qiIEiMsQQV6x+=h8Glc?w(bzG6fArOv=G4VhfIt;J0s4=oxPw8@2dB5E~Za^`&*d#xJ2Zlq(6=nxm0En@HPUq?cGLcY{4kvxp}PJ-{pALmUT`l3vDkW?COO#eTd^ zIIWG}-uQTvXOD3hDx>w`C1eZ7qBgR>&4>u?9ZCIVgHreRKb0-KsO}jY&cv^vlM?3) zc=d_h=cn8HG9}qgPD1g6M&WAOa$%SAydry$A3OS}L)ckz6x@(I;q7&kYt`2gx<7?$ zY;goJ&`tt5O)E&?8sWR|Ix3a1c{t~N*zzWLN5q6YB%DZ5@8|+G{`bu?G(QdF1{#?L{kBe*L94$FI5hbKiaOx$Wa;cE9}6qrcjJ z`^6jn@}jvHKlSp(XTI>!t6zBarZ=zs<3&AN2X24wwb|YNqYoec@O%F4hfB7;dGW=G zZCmPY+aEu}S-h=_N)Ca;5A}V1v-R-3y}#J9rR;ut#|-%*ZU_3|{fjZi9lmbUmo_(+ z2AiHd_(uP>-P;!T^o(!#*v(&m`7btp>%TAG)BV~TyDk`C(DHAqqX*vD9A8)S7E9AAIuoqo(IK_?U$ z?`}G0$*j8pF1>u$I6%Adf?SJZd}lL_05Sd@4k5D zHHR*^ef3K>z18)BBR%t9Soh%za)08xFK=8|{I{J?+Jmz*E6bm&yX_78jMa;`q1if| z{|9MF!kSg*{6)H{ zz*PXCZO+fb92f`xNAfmBFNjboQM`tRskv&}n#AeD41RQn&U1){aH1`6)>l&j*+&Yw z+|s4ESEV>-POhbpBR?KbHm7#x^s^*2chY`7FS%v`H;{zfg|_DPcsjv5N3E0egc9iQ zRy9}Yq?mtd-_D`R`N4j~e|^61;_R`Iee^JhvaGQR6uAu`xgCzs9N5CM26HXVd?7IvMKJ=hu6*VN{n$i^zvg8nyS{ zTT}GZKE4yBxP}q9U8eZ<{*%u$I$5w0M>=CZ(7bxeZNx8jcDDF9jauI&0-g9gC$CL7u1+qX3#Q^2r^sua;OOoMhfhy(-!)Rv2~I($ zox9%tCW7?T1`;n$r<0e^@Tl+YK6ypFljYZ3*cl(@=%jT5855+JY=%yj45D2?CuQ_q z`^OUcwC?8Ueof4V>ARrG=nm)vD#P73#r;V0r0M9ppc9wxsFfPpEp6+2Ofde2@xmw#I{tOI z_XKaRzH?n4-+N*&V;lZ9+=ucA>~FVH`VoxYZTUj|BPLz%eE30U@(K9h^y@ffLAgI7 zy#2&`8ZlvWl|MBr#MxmO{CK5IwAaGixYhHrjZUTw{$T`6SuWsf2Jl8Gxc8)deipI- zV=gmy9qu1tdo5r8UIll^-aFXq(IyiwS3VyLcu-suZ-UgszvUUGpT6vtXZYTe^epz{ z;a(vb~(T(!l~Cw)sAkJCNQqs$0hQny{bw;EPbg^sg)TB0pZXh2sjpVr
$5Id#0oBLt#AXAf{fi9^fIU)on5go<^$)9`=*~kd4Xwi2|gtqZjOiEva8(MI)MDT}nuDKHTokTWo zUUi^3StzXH;lFua^VzR6pS29ElM8x&`#ZmOVmRjVcnkc48{+=yBR=bdG26%4oO@{g zKk=P_Cx1SBRfaPDdHRNqW{j!m--j}{a@d&PIkX148KKcp=%kojaN))zMiZVcVC?k| z4&%a&-&rT_!J~C@lAGUm;J{{Db-+({cCG>oe)By4q9e>_O#=pDcZC+mZ^dRR*@;Pz zX(yRDosMhu4kpc9W(Oz0?IUa_817RT2>j+a>hEyz2bo(j!tO{i`gEJlN_z6rOPg^| z3_3yyiWca^&)h2cVzOd1ilNx_|C+Dg+)nJdN9*LsuMQoG9N4jARRlAG{j0!bF*%Q{ zr*(ogY~cC8KlPg5UMD+~ow}Xy{3jDHo}OrdPBdo6+g!}M4m>oCdyjv<^G};F>m74^ z<;QU^6e{Tt@B-MhlV;q~i+1u7>jdp2K0CJ#_X08#(5UneLMI0g`mB=*{AQiZagWx? zf7_Pd2c6KW$Ovv7T!oehos8h_rlW_xN-nkGh)eLn`x%$R0o!iXd_5m$+nV)y7;YmN z5bhB?Ilg>FyN<{B%6`aLrLPX-h3Rr+1~(=_kJrjfU^#lur}1o9c+Up3;b#T=AHo9G z6yuKumk~_ATxvSFt_$N@whl4rnX@-oZd(kHB zNa=r`vD#HwCi*QwnbaJ-j^|XW)2>RPD(%z{t7w#_sS0JkGFTl{(}pEb{dwU(H*Nk& z{8$7sa2Y>KMu%C_AUKw#k=%voAFODlhX}$D&qOsOHfW4rf9(sS>2yLmW9u(h8qaa2 z(uu+AKsM%xiZgUnQD}DX!ZgUSDg;GksK$ixf6un8%3lR;Nos0NgSMjM zcgm5v948s~5&{y!GUj}rQCKv`xvcsMf zX`cGaD%D9)nS3hbqT+&s`2a|5)}G;EP!*HdLcissAV?SPYnk@7i zEF(X2Z8ZpyPbqDW%APGs=E2?Xu0V z5t}_R?f?ki_f&iC;mU>cSco z>3JE81Zc5T0u)jqOK1ei3ntf$pbqHT53g&!aH7sz*mCEj`pBYQp#M7wsn^;_R2Elw z4XAD`Z--I}tG78zl7A9&k&uEr+r^3_0j$s_9JK*A5Y~2r?X2X&7T_{$vdbZbKLjAe z4Z9}YXi!+JO+-Vn_=~+FFYbLDeMm|L^;*Q7g@_K24Qy(Nv4ALuKY->Z2*TsU8K5mN z0z+yMNp=H7@MAZFPNU+qZ6(nM#W=6%C1}OStqyA@8*Se7O_JLB|j?wSJ8uGtAiVtA`6IV8>?wF#qa9PpP*^@2qS)kwA=TUZ*f4TwvQ5kF%lP63{r z0g~t`ce@!+cr^E1;1!GR8LWU;f-r;$Bx1D0VL%07g^r3HPTIG^bkI6QN zR(!MMEQ^40EoP=`OwmXRJIXc*k(OOoL5vHhE+{iZ#Ai6`n8B|?_S*nDE zq8NaXb+#X?!E?524~t<(AxxkxLB0_s2*8F>EW0Y8Tnic5?qhgP;$6dZYPXEt3hFp^ zi3^#>+OXkR*&eW^jR|6g)D}n5zh2gH38fmzKFtPuwF>C9m^sz}1k@L>i6R0VZ3dkW zJS-UyX(@T|+XL22ta>Dp0)3W)!CyxLiRC!hDWqWuO*al~Wkd&qSHPa+E``5Rd3jFG z85S6?LEg$)T7=5X!-)Y-MQfyj(Rg&L0$PSrmAevg0JAqyb}%h?+CgHb1P+Cgc}xME zlp{Gil2=&Z!m{$z&R#HJEFuv)YQg56@m#T=(6!s65;LX9zF#{8ZwdqmdLghMXSu#u^oRRWgnW_XJWC7z~qI|qm|#y9LD4w{0n zOIXY=N{_pV$8DF{MRm$3F{q~s7WbDm1_Gt}89CdmwmutGisi|*2ko3yWuwlb0B}3X zQE-w|MyCypKra0vj)K=w|4&QkoqBED<2oE+8csp5=<8S;R8WZDg&zuU(@bEXp?VN` z4lWqd^IqE$QBt5g6%@S#2!pIx=P=or0Pq%qVuxrHmReGt3(nTvZl&5vz5VJOS|RVw zi!)^`vG6fl_90v5BlXz;G=yZE*x}ptc}E79|h>GdAF%1^O~=%39e69ZX0A3QZ=<&@Zm%iFyOl zO+=+)EaGD6yd(4N96uwFHr^uS31fQMMXM98SC58}mv~Z56o|Sw(mR4Z@XUx!4r&0+ zDOfko#ceY&nSu1ZRu@M@dRa`9?Lnk@^$Aa@5+pDT z)>|RA05T37Rv!#iCG999@oRWQkSs~awhd#Zl6InwgA{%SY`BqF8#X#J!t1vQ{T1Lr z-ihVd8OL#3--T&KEW<6*k>9~eCV@?;nXG_>+v#sWtH9RrKqqUpWrSDXaG8U9=W-IH z(x%7qVryHQExp^|lX%Axk6@lM!%f@E1l7y)#j@eeQc79|@|py$WEdetgM_Rd*~nWs z7;J%t0#UIW3#+sM*o{(ab9sC%R3q&^Cr7mp59rcuW44P@;v>8}WoQv(beS_rn#rc`fa=DAC&Ktfe00U6FK#LLs$f-E@hI)r1 zWU%qo%OVI{CIw1iquoedF6{XwDZEp0@Q-UDs5W6YOCA*xJw}7D$&H|MVGtxf5oL{V zAuAxcpIZy9X>0;J5rysK#3gp3Nl+J_^()i@t?6zgBQX4{Tq9EASu@6|K@WQOqK@cr zM3$z3Ojuqo#xTcol&Z_;AxrQi&Ze%Wrb@Kye!(J0cY+$4E;Or2*&lF0+>|XX`Jfy$z6#F>8V56!+FYBG|g z!17#v11x9ILGg4`LrEur>LAEX)y20sy6PiP;0JP!fgoceIbAQHRH%rXmx?=$AaJ|h zWn0;hoTD5A3YZ2~EWdTI-!p)&E|xB%t3r~PfuU1{YO|bC1_ab7kiioDn1d5Upz<1p zf`S}+ufXJpUbM4?4otr^rydTa;hAk9X{9t)o9LfW?-s?|oD$wJy7Yqe?K@t?xbP4; zibCj!^Z4BBt^V|)MYdqMbEn7~Z?8hfB4?zx4^q}%g7?LnGcnQT#b>wQ;r@xZ{nH-$ zK+wH!(Kpi5%@b^xmDVO$ZuttlUYRCTT%f~%*mNyM{qt^=0@c}~zD-rEe}YPV z=$NU$^_i@_k)jX$%b_#pUx;m8vu9(b6;mN;BdX+T%%(*qJ$&`tlte%t4>4ZhJA)gY z)r8L+?@NDCiVP z|DI9Lm&>+$M*Q+e&_f{_biw_=Tp$0Ap`CDc>ir{tf$jGJD(cAwq@021LgP)G1SgG-W>1l zzP4k*tnu+h?_G1zy!!t8Z(p5lOTRp4-<==+z`70oDXU*yd)u$q|8dXw;RPGVccMc( zu1>071!`-5FvKh@RW|HkSw3dJ}tRR?%;FTQbk zmb?LrwxFH#Dm?-y`b50MI-#w9@$!eZj<ETbF(}K9PBx@6-Dm)@%YxadS1pF%-QSTe(SZ7 zKi~Mk_*LUSKe+Knhu8am?XPbh|JuLIzvydAw#>I@-~5@}%iSHjf4%XhUtZt6@vPOy zBwDkGPy~^87m%=dZ{?~T+{vOWZ4+M-(lEgZhyx*X@06rxW^tUMS{ub=8Li?idm3%c7(ZPdJ zBnXuSu;QlC#D+)_I!XL9))fPcPR5!G5pqT@^`R49IqX8Fzl}~-t%~nFfPGkKC+V4A zoik@CR*>hBDxza4wBD+Lag(D%1%o$TOL{t$ISS|`WK zAjCZPT&e|qm(6__r0@Tlo9Z0_2{&y;&=xSixF zT^0__!h1lTuk$PW9BjI-T>p)DUwm0>xt^syF>frSwHC0ivD}z$tT*w+ET-dhI4(n; z8rlfQM49*kkIgtJ60cQS%@ZQRb$te^i$Q#Ku*Sg1#1}x|)QDndWa-k>NbVp;74$Oei}6fz(fyU&OLX8s^k7TD^nKXH9zkD& z&5w9GN?n@x`(|wV&Qzy4**!eU{sV=%FGUaXD01o_?Z}uNc%40z>!i{C=HlF!TCf*; z-aH;}_`Cv~P>8b;-g;~Q{#u@Q9e_@D?kpBtTJG$@J|@jK^WL0ljzp5^kRfySS0EgA zp_8Tl5G@74&Yd`zAi1&y=*kdx>&lj zrPDsSxp`>FZ%&OClg@eATWO`{T#8xKPXC>BvR~(SpmV_rPsvsW$0^@rza!rBT3FUY~SBykVJ25(mM556g+DS4QJ$*wn z>8T#?W5f&~fp$aj)2mWE+NtYGq~Psdio;dV0)8CL0L6zSY~Z)Pqy0(pcIR|E;WNpK)rj zu7$IUbe{Zuqm%T)DB8(>ekMUF3O;n=pZxtC+6n3Y7UY7pub`7J)wE9H%OxJcv7Zr^ zwp-Z__c7v5L-;K#ovMU~bZu}{#|!aCrRNgBiixB1v6-G*V*s|)j^_g}#qpvVA3i@F z*cHFcc%n~-bS8cNytravTmoxhA(6J7ubMpJU$%nNs^k^MwWWSv|4`_!75fWVn1I^G z`xeW3|Dqt{7n;N1PD8@ohwKMk#m-mJ>G+EH9!4Qx2kF6Hh*+3gm4Syn5xGKmu{bPnVQpS#qm^|5k11I@&Hmadl#KnAXfbj3ti z!8j+vCW30nHK2JBQ*tylmPv&e4kf}~1G>e1BJ@?+vdVpwGmwssstpq!IIA#33PI8Y zA8o4X`2ITyLS>=?sYwBWCk&q|?DvjS1h(<>c(EoVq^dZ=DmCu$0n%W@lGqbu!i2O< zj%koV7^g8nwlYZQlE3vcRArYn7>Z}O|2h^xN}_@W5rAg zp;jiNEskzoc>PCt>|o%X4i?ZBIuXQ2=My*_q`^;cNDSkICpiq@NaTjaVg;5FTs%)T zS>%x-hmk~O09(dq@ltPDDZd07Ahj77?z`CGNX!awbUTM3GI+9Rrj<6MCSR;)aq0*} za4~%@nwvr%nGT3N>6tdC*M>3qi z;l3J4co{7e$0sV`hj9I4e@%ep*;X%jhim~#l+t)X&V^VAA)(fJ3#~W`9fc1{phgFh za9q`-<(c*1)jghYVB`7*;@t#TY|4pMgW?bU0uqQ}*A!A0c?CffxXX-Uc`z^lEj*+G zP;4OWlC~7r6y1hRD3B~jBT{0a&-)+NHVe%}Nqln@h?uo9jc669W(9#w6#qYWZv$Uf zaUJ@uz0W@K*0Hd*WLXGf!}y>$CyE0CnU4UmM~ZAzN|S?aVVV!5aA_`ul#&E+E+O_v zD7gp0r6!lOq)n59FTFTQUrb(;v<-Pi1^=4ypYaA&15#u|U!WtKGyc~DwBOK}Q4$QXP5k00%(-Y( ztnt!e)1p#ydci4qhx>5Li{U#F8sK6kxs^|N@`ct3suH1Jl#F$cOH_#}P2I6$q~sEd ziv}(HA4CEXJImS)YD$rblu*M#lDl%QOk*@fn+BOxDe#6w=la=_ryf+SB5_nOYtU3P z(M{U=6)Jn?OSz`;q|@_n*DpkW6Da`biwMWq6saVotq}kU@#o9Q) zh{_=AhAKlPnP#9$*Ns>trDb8qoMu=ljq8YGBy?d_P+&A#`bo4A8clVUUUPrIYUJzSMS7kVH=Khd6TN{$RW z$I-MjI_Mck)_`B*KpAcfu;fWcs`0?scH0!?WRz{YO;o)DDu|2CcMXx zUf2V~(ZG^Vm2)HteVD6L4+j9lh9-WQF)Wl+r|mmo6>Wg_$w3J_l|pkrE2vep3Xvan z>ZV@6uNc%bAB@;EnD!K9qi3X2OQH3xmRa27Wm6^SxDxt7~&TV1Nh~xY?n=^x!6wHg2L3>zL3rBg(&WgAAY6d5^PR@i*>< z_{kMr)g^yAjj5(WPzbv>BJVtz+!EOxI-TLEDECpA6>b{*C0+x8Q}hDHSu+?)Ti%a2 zU6-&5UTrM~%%V_m4e=Z>1A;RFxFo&?R4J+?iRovYQtU#|B=E{97NNJG9Tb03@=!o` zI_zpO!q9X1_3g_I>**7C?4-l8LJgA*!it+^gI`n7g~^}TohG?lhIDF6d#F+cI9Sr@ z!zD8LjiJb@h65P}AVacHy2+>`V>{-I%kh9|iHwO&$&g0plH{!Lodut}kuH&Apg|A**CQm~}p;sJU@)M4l&_z<6EeI`Y@KCIX^U&Q*W1n**e3RWeq|4dRW>kvjl zB`9(^VaSQ$my7Z!YbSB{tbP$l1!I+}rt3Vh-F21jwb5;~kAgh9R z5^eI`2*7AH>!WZJh5*uSSfF(lLSzASiX>bBktLc{?}pOV=ees3QQN%_b56=CGAF+l zV?2IKx7%6ruXNfB^G|?Kh*P3g1(XwU&~x12SkMPrZr1UpRjc}GSq_Rt_iOD=3t(iG z3ml}{WvAR`#=A%X*A#^DkYo`kp`T#zOgcj5XR3)FOl;-L;!TD ziZ~tW=fNa0WZ}=}^*FuE1MU(z!i&p{-=y*xh2tMQ^m4WQn2@#UmiYNeB2@(KfS(ya z=C}aGC3mGaH@swH$(VF}EaHrW!DguhIAFk=Uu-Me1#oF&#M_$Y-;Ga$sk}covQegy=t^bQm!t%)rz=#Nbz1 zkj^tcWw2iTxTwcckjTqZ6U~B8tc5IG;^+4^hO;nY7pyq+!K#*e4n|D`mGHLYnQZ0x!S(^%U2H;%l7WoHp|Y&hy(9{Hb|n+u~4&SRZ}Y zQc8_;tro%?Q1-0zF9`|>ue!?dmX@-Odfs2SaB+-gi7hs_$)iK(m6hRV!7Cbl*DeW? zd}Z=t2{*)Rj1F#1vpj@vnu_j{LNM9sVCR@jJ^8o2;ikJg-qw?Byy$%>$zLqzJBbUI z8kw-D%=adKtsMkS(OOEC4snR3WQ+=5*LcuT+9^big)VDyky8#9gVp3D^1uEPq(*SIV_v{d)xFA%9g=P`n6#VL1ydb##7fibo=CsU(HQj#4L$#xO*KOVV z&^z{D@yw1}ZbYweH!mw|w~H>)vL)Yzi?Kne|N>| zTzpPcNS2)O@PoaFz*(f1TiA1l;8_{r|!&k{@(2m zy?k_C(|h-Ref{2}*NxorJ6CME=HT}IH=O>i9ecmL_nIxIpZ@alQ?466eX#8_~FRN z_Mv(GxlzQjU{9$oIu&$3?F%o|_tfSHvk_OOzsrW)VwysqCv~r9AEQ8DUwJsizScEb zlvB!B>fv{CE6+ddL#^>-@^Gpi*qMDwsK|e@nm^UMv83@_Vu-FyU6bYenhUnUh~zVR@k#gqu}>Kdv#V?x-C)w9nfrUP$Yg z9?E2b{sDkY5Xx}hjkPx;llAM-Jm_s5&e5j#(Gw2RPg0q@=Rn#|sNRfLvdr81g|JX2 zFCI>1(mISX!pVKZBM+ikfp+RUUYS8FblIu7+Q>F6Th`WRG7;IaV?Mn?O=a@H1DEV5 z_;SvV%lzNOMG5i&y&w|`g-i}^PW!yRuD}i`$iJt)H97a88WKjzRcv)O9%M36&1xX0 zg9LgUz>yc$pP?vZLN$Jn$s`@S>M}t)WrnTnX#P&s>1dW$!P;{V9)t)MM{C1VDw8&L z@wZBV#W8a8$*We_wr3A|Fxl88^6qypAcEmVR=!Dm!Q$g97)$4WBSG!uVeKcwj9n^| z>wEoOYw6gv-pfSqwnJ8b8JSc?8gc9zd5Qa|tNBGz8;VLJ1?S(UNRqB|S!;Qj;F6wl z`LL353uKZ7pqG18bs|a7p=GCMcVP387oHk!iqUH%YHkg!_q;mE?x}$Wf|VkhSqkaE zpyL+WY{SE+o{Ax}+KUJN?S|cdsbko_eQj+xGBwp&J9^|LQoY=^ud;tXqnh;X(6Inu z?(|n5INl{SX5?_*;S~SJ8ew0+EM=Yt=x7!8NoFs6fETm&|h5OHoc&eCit+9Ul^9Q zI=*l*88v@DPSAnNdvSH^_>8VJsfQ87d)YGw= zZYpfFT86KsdFHtndwdw;0H2990kr4xdVIrO&}VcMs;Vtah5JqyQh$*_x2bG*YzCd!r6V$Yt-Z#KZsk8S9^>p)YCC`{g0HU z>M?5EeAgo?W8M)q|EVXuEzKL=MxgP4mE>!ISr9?Ud4yv%o89;~S*P zD$;NonsY(f`FQm!)YGM*c~?t%I~UH%(P}es*JDij=%RG+dT?n8vd|mA$?7&&(qzu7 zKAZj2p8+X6nA!enDKvwAg4Fw~zg~{I%N=sMvmyodG-bYH zoRi<@*UR&;s_Fpv0$GZ0gDmsUDB`^Azg%y<_8Es?yD+vMHE#p)EKb~jMnkMl?^Sg_ zZquLRad<4h=c4L2Uf?chG;Ozw&0^F08$uaor;k{W988Km_MSdz!(JRE(_aP#SAX@o z;By)TQr@}1Wv$X9x!BZ`@+iHEdzGX}q#w#zc6q4B*Il2_WswUVJ1-b!dn7<*Ir;Lg zklmd?hIs8!(Wh^ui`Imn%gU5iB@L4oGFd8F<2_*6=cBuNQqT@j$`UEg zD^NJ)Pmn}Li1B@5{yj*ARP^mk1_(Mxb1F666{gUgH2@!&e>v%zxw7jGkN|JGxHDc6 zUuF>V(zrBWxXIj2!Ts_ftvR(%ccE-yV-Ubj#5OPy?*PlB7*u@$J|=myiTMeAsHP%` zy3|O``jKdv@>@fZbxK72*l>a!3ZzR`DcT>F%jUhrk|K%*73a8Jvc=*fKIkV4k=YYX z5P;|3gWiDN_(_>2Xq~^$KpM5=L%h-IhpK{>iqB%=a6)14ijAp?$|#-5EJ^xFqp2DW zJeN@G@SF*aFJGr|D8R8-M9X^;UE|jhBUj1Js*D-(~?yF^hT%#Z?r=f?q z{lZp~V5bCzbV4L7uXefA1YH}sf-X`?+$B}mC83paL1_SH6kcgzA~N|w(lo)gFG@$~ z3SUg|o+7N(JOW`5=%KQm0=EP12d#TYKoF_Q=GRkSw7{-w?*T; zM_#3w>tO1hMsQ05T189YjWZNzfK5WXrOO5AMYYo(22rQs6(KRYOD#r!)MAHeqx_bo z5lRz(YM8;OaR!n^sWxvAr8`*?NSmN2V{|PZB={+xx_G`L#`LQoAch(jV6Ny z$!g4rj4My?Qgm`PUYJ@RlF)ilw8HYOkYRwem6Ldf;>6iXK}ANvnvx++5z9nT-D+U@ z>R^P;>l$oS@P)Ipr5lo+5sE26iU{j?+N^_lu!f(>T(K_1e3(ZDiq!o-WKnNmxhRB? zg7MQ8#{dHjr5r|LK7}Ww<*G@}&`=6PGA~enAAckD1;#fAL!?-KDy?*{q{H=)i>-q; z6rLMnbCU2*nZwzVF4b-cozfk*#79L}jFW*-3=J!QP(wmYakZjw#6KhuDy9Xk?xKeJ zS%W>1B*LDq)*tO+zG(AdTSZ7bSZDAp4)s{ZL-`ni?A4Q;7IoM9dSX{%QLqlB^xKc;wLS`pta z7u=_lz+3f{yhtjm=t|R3g{~3?Mf5v@AYS6x*I|<2-b(j<OZ1`had_}Hbp;Q`b-UXK_m)el~3z(W}vBsDZ72m zdn`B`YK$ossOKhI39Y4`anunafJhjTXo)7GeTHI}MlG&$AZL}GW+NXpoO4zTT<&ly zN(oD>rh8bJMlB~K14*=Dzzi0l(tf#A7EKmSH&n8M)Q6;E7mEj^K2#iH4?V9U<4m+40?HG(FEs0YQgfqDlHpZc+zgZ zUP7x$yFwdBRTJ#&i4k1doS{dH+!8kRM@iFNi`Y;S!^;&zNb`~Q_^`j2O(j zqKY#t0+52!TtK_q@|NhNPFl*4Gbq%RCO8%$O5kM;g*NENLo<-6S*T=MS1fm z7)CBwLMMqk%iLc?ova=aOJmRie^;W5ysu-wOiGDl!qocSJ$e2@?_v zkIJQO@!i2!(zw}cq}h_A+>iqBHmn&&9k%;IYNB zqsf`VSz7Sy$3o)}`bd#gv zN+}BQ>1z5|VC_Wb7!9S&2{urXwYj+@K0TM_e<(;h8cSMo3N+ZUbCOQh66t2W@1Y8W z>X+6kO5C*0L2E1*u@Gxua9P=?UJ);j#hGQcvQ(e36_kUS&^pl{B&i4MuPRT@`pBRh zEg|K1%Q8moLw{7W3D=Ngl0k`;C}8vgI9RB#lOI!73Q2e7@sD@(Umz_+hQ~?o-}ZNC zq$YuAhQJ9+-QM7nM7~9W^cDe6Dhm2`NB>!6lan^%u?=}~j*{k1E3~u0_nk}E_Q2{= zp-hPhC+#cFBh(dzmM6+hzWlJdvxH^#QE4eL(aPvY`L_LBe92wKur0Za{uPcaci-xlN~PGd#9bZA2K&B&C=#H}R$U-}jGY4#VQLgLijYFpVnd?n_Wqd-g zcIZt~SR+eiFsQb#+gbVE#eeam{F<{ybMaM?Jn>|mRKvMWt2QQo(;*+S5?L0IX2nw8 zV#T4w^7`OuO&3NTr?n3noxB-Cq^B5ayN>0Qi-UG~*V%<=tqxc%m5UK#Z_8IleWMJE z1sO*`xzkIZGr6TbE6b+aIJrC)dwQwseFI4)+1ZnH+i!f{e0AD%*l_LS_)cV+E~TJv zmUMKqhsmHtVx_n#cuVhikJJx>A)duJb~jbWebG05SI+-nmwiX>FU?i4aG z&*f_i;g-(0eA)VS>(-od!6_r7lZDYurLrXJ&MFi-d)AzK^7f10cEP$GH!f+qp))L( zSKRs1yE=2%zx%~2C;wiWFZ=f4JMaA8pYHko(|eyky7#Rk53WCY_S)^=JOA<}BUc)E%DqYK9oTvhd_HV!9 z-(Fk0@S&rpe?s@+rO<(Ta1!riW;^*aJI+~m({Fxs$9s=#duZ?PTzB&ajy(Iyzp35y zf4uD-w;VmUXZu6fT(IVYZ`<9z{? zzUP9@zy9`xe_Gl8@~J28x%mrw&sl%1Zrt?HT_~*WjCW!uD7kS*@f+Kh|GORUeCT(N zJah9+NB^bv?8o=MblpttcefusW8L;MmY({zKmCJ0yJGzVpa1@Q|6>2C*KPms?UOg0 z_{9buyRtf#KdM_qId)+iYgYNrbcSZX{So$X&TZqInK^KPou=@nwrtz*Ttu!d%b{CA z^^ZNT3K#MEH@+m?R36d&#Dm*%kN5Qj53@sH=4c*PB{^@?k=|Cw$@&*^__WcZQCH4N(Z)W>+541^oUww)1Bx?YSYsr zCr?kmibR7VhPS0Ubg4|{%I$o4cg&U=nczo90i~#Ip7*KU9%Q1Mw^d4+Owv8w7xg{- zSkHBfw&pMr#}u9$9Bgep;j!|FinXonk#FDjrKMZhx;-;{gUo{l>Sj23v{1_j(YevN z%m*8eFOww$nM}y3zP`RcuhnKMFRM&ywdeU$T><%fae-*P=IVCrJsT}NPbMem-sgJx zo*mJ)IoCdC%bR7P;SjScl4cZ^JGFT8TWj{6TEJcuF)bkQ(Cm$5uT z!>&F4_=|@hd;X7}g^k25gq166UM5TbZ1~bg4nK1EhHY(-uRXsom4=pl`vM|-3Aygy zuNE_F)0LNpU+z0d24IKE1YywC_?7v+F#ws|t|cw{vFpG8mwKsHA9TJBdL6+;1{5Fg5>j;nHD1H;Bbvjj9;6I>!0S1N8`V|4$iccE zW8(E1Ss$e^nCdy|+#D*M%#{oeDz&lb=@U{{#OqJ$edmF`3Q%bO11&SlT)IG)e}o$J zeL}-&St)y2qxBvJyNw!eA|4?d6zcXBRc{amg&#=W&Ln+o&h!a6A`Z}aO~+!OBXhy~ z;|IMyWS8ncPE^iYaYOX`AA6M^W6FS!$+*{VygJoygiT)0k%zw2C6(tjVJ`!9mEU^5 zl)~&algUYcqh(IBrD@Q$BvCW++k4-s}z0;8s4e@+2T(slawta1_?|xi$kEji~ ze+&`I+xMNB+(8ic>WO|03YkoDIcD8fU8(f--N=>Kt$dZQ%LINrSbOk*{6uBqd8U)* z)L<%;FA-g>qBkl_mp=5+%*>GkXr~V!sFg=@2Z#GqZ!mx8-WL{aU3CBTH$U>?nJ?t` zNbBPFZu$u;qe5=Pm_2PpRH$eMGR-fO$)%j-e7o8QR9R4-OQRQS`&<1iqd32k@N19d zf6=;LQ@k`KPQsNdk;%4ATOWEJnJ6Ab+E&yd6kd@B4*c+kkIkt3FMXkaY0d_Pc`|uu z{kbZWGnwz7_m3B~Y3(Ob8!a7?)L^0vPh~Q3a9~i}{#J>mXv@2*i&B}?4nyPM!P@ZV z&8bYV7%%JBf9c5mhqoTSamTk0zvGqso&&Wn9oc%gwYF{K;7Cu;o(FX`raGf4=}aa^ zmOb=5tF&R+yqW&-s2o{zxVAq%qs4R5&-Tbl7Oz!_?5n+0thpEq=zV>Aw*BPrk)w}4 zu1d?m@Q6>#*)jB!AO27^_lEo4dt{{HWpdzPt<_0>c;Eh7O`jpWOthaQGtxFV^$o3@ zAG@Z~^_7lY!^ldTx5`AvF04*JD>X;!%`tXu-n@SOp+l{l;K7&L-o@|T^^;9MdD9t- z&OPC=ZQIU1n|^aYW7o(*9lIXP@8K*72=_uGlL?*g`HPCh;l7dD28&FzGonSUckz(Q zWDj%v8f5l+`&v+!b!e^D`aZg+xaK z7h48y^a|^4KZRC(M9_R{{hFUhgUHm~LK;7(JLvPF&-m+>4};iuB%b5t@2cld-Ffsq zUGx)uKJfjq-tV&ow#e!IGWSnXmw1mS{V^`7H9c#$cWui2961beEoeH46I%o z8uTfl{`*-4HB!~+OJ1GEz8W=$vA&Vcg%|jUv!1nc*y&lX_5lxdcQ!_+GO2%3OBUZ$ znT^R_D$j-A&_4U~OCM+w(hV+1Y8Ay=Gj%me!+K3!pUY$X1*BqfbqrxPQL_I*9~mOw zJnVpk_2~I7u?xT_3gzSv&chy?W?mFeCC4Q@FG-_#>$Uj#dY2e_Y? zP`8|jb5bNj5_W<6@&x#Kd6&Z6tujQTIDvjk*Ec|sFKUNQ7MMC> zyP&pSjq~qDV4q=E4lExCKvgtbWh%z|c2#YzK0cS~XHOAE6Dw0~mOWu|ad&VY) z_rB6GWTlynO*|Pl_15tCeXc1e~I99-#+b!PjBYQ|%6kr{y3KpuNze^cGqO zz%pX$-FgXH-_OO_R9qU}P~a%HQ>7@ag>$GdICfw=uPjwn{%wfHDKOo`|ENf0@jDLt zFXA!2?ui~NzmwMLR9qD)xx|@doQ=9zzhIuHD+Lmo?zr2rXUjxYXWsO1%=jekL;T>P z3&(v4;I)=VN`V+Nj!{x0di}OO%Yur*#C=Wc)AsKkW+At0X3r{Z6fBvZ=CP zcW?S{E-mCaPe;Sf_>b@+?}{%q{)PfeY4oSHQeaZ$%8wGWd9%4KX`>Y-!3NGH$Tq@t z5St&IAQ_+oP)A!^+E1{>tb-r}3p2=cau@1{I!!;Jor2MSQxtVrot7h6wk2SHeGui7 zZs!=+`w@Y05mN?=^gs~$rmKr1eryx&u$EnnHqves*eyy?0XGSq_vX}mY+%y<$@+jo zSTNBj_ayJ76jkqxF0hn?X2(i^*pRT7iv}7Eel07IYSWfzt`575#>Les-dz}D+%DqB z`KJOjJKfuBg`}&ZO z`)?}DfmO51aLY;+6O6mX(9yK-C@^Z4l)Qs9NPZTH`S}XmE7wfN$ zb8(av#&>IpTt^IN;=8Hu>1OFz&Yb1zJmEMcLiOY*d?@HCDwgKQKH^ArFRQZ4#gUtD z@(d&eX%=3Sv-ZkMG=1ByNIn&JPj+|3vJtHlnG6u*SZ)_nmJ6GV2rE_~ntl_Rn@2zG zbcCUGIK5p?0uxv7H=i7ss7N8$X} z8hl54QnUv0Y|HlzKcpLpp4`#!Bt!x!yuuI|W-K@piJ z!EA0)>PY8ypRiFcR)qi1*YOL@a?TLdjpX6>iJhE1(8fwj&eWnK0tL^B=0P|XM|b$c zQgr5T>A{Fr(93+mjFiYX3YgqvJKCh*w1s zkNvTpY7dO*CFjT+1nongVOIWfXfgH(i&02{0E-?^t!4bTH?+N}V@3BoHU)HC3%wxIK| zMd$ruF?hI*)72E+fS==7wh89tvAlJl-B=_$)vfZ=G?mC!HN0Eb17uamu@=@c&VioZ zMx-xFiY-t9UkAPU8vq<-47mgmFEau^3Kv1m)+nob%2Og(?58|PpT6d;fIJ-z7=Y#Q zO)vM6*m-6|254UI-dTy0gv#}Xj`P^39r>tofa|8nQ|O=<^yK6oNHf| zGnY~n6~b*=CWYv-)FpG~DNE-g=)3y1peUYIv_rEbIh||4WXT%Vag?@CZ|hF*s0HfNkQjXpeSwt=LDDECh9~O(6<-oMO(W-+sFz3_Enb0lZjx zdUh|DCCjYGC~~~eOTwUeEk`SETvbOmtn26}W5KOs?OXC4pZNIx^Hz3-o36O9y!Dw8 zHKBOkc3E=gIh_p0%g|z^!ckPLxToCk!;gLX)SEiaC~rOW>+4Qga>~lqL;nyy@$_3Z zJ$26VshiIE&~Lsp`NV-jY0H|o?EUH2&)@s+_dN8q?MK)B<>$`$Pfsst{mN54$=2;V z{`Tfue*H+T_4mK|`6c%ROa8}1(|9m`YyO(g+e#g!0w!eS- z`cx*o5L{BgWTxak*%Q0VDxK~fpIdgtWj$L4PWt9K%TGDw zdq029H&@(q*UJA9A(Jqd|LtWRx5}d2qHE9Y9*<94wB*_wwiM#dH!u1(H}>AX`^2}N z@ueHPC*!8mTRU#A_mh)mI>LhX6CJx$Cc*Y~dylSIH?pP9b1xG%GcR7Zu28z{t))7? zfnC4L6EkGnjvV>QSJHB}<#F>z*)xyJ?o$u!9RXLzK4z+x zD;`q2H@rT+BwCa_k*o-K)=BNw$$_?gD`hZuwkNOq_|pk^k*BB3%^on?B&^kfTqP~# z-;_rb@5`k(0pdSQ-MMSc9X?Efj-BJ>P+@SU_T#y94eax^#VlMZ6R*tBmPgxck?Jvc zey4?BC=<8dhyQAL+6$yEli^e*UT32ApTPEEUghz3zI*MtEB@|@zkB!vOr7}mxUDs0 z(zh*>NnOuDNaFsBEv+w%C>|Exnn+CXWWsb{XAa1uRrN?#b;-%TY3=b=Q<_?WZ zAv&w>tGg71)LB*PNL)X5%{0DD2C>sfan(-aJ=kgV`iMaiZtPF>8`WMTuU5Q1p&y@D zRl>h0xWZr-KcFu0(FZa;#<~k#9zmrYS9J(^jm6^u9cnPuZ{(Gt4|iVW?L>y111y|b zju!`{x8wD=gXNA2^nkV{Y|GHsKY+IdsqTOe)-Tv;)H>Al8tdprb=6K|3Hym3w(jy3 zEk*1yj`8Uzwad7|^RmgyB9YYnz(l3D6m{R7B%kv7j~`C;3_I$2jGDi0*Rd;V4po0~ z4fL^zsQViRlT2?>^&JUstlNduFe6}yZADL)bPL^A;d$irfF*kEUMXa5SPy6DEFQa! zb;KLR&HJ}jGt9wz_SAxx{fQAeDKHMyPi>3T8{C()w3w zZ@RVh!WGOUvja!58191Am>~-uCi_flYq^YuW1s4;v4%Rc_kbU_7;cy&>f_(*a8J%O zedvlGlRd>=EgQ2DbGy!Nwu+TU)@Ld74x^igF+$!*&*JKFjqSFI$^;Je1;|9#tXjk8 zkDSAt`uwx14e!femkDxG*3C$@n#p8XeXaSH7PTK(uWMms(fuNuezJKp7JlWTi-w1L z*KgZ4Q|nzXt>qD&UsNXHFD#P+W((7MBoARzZh=e`&+2VMy$s(-WujjR-cT}WWto-F zwe~&Fq#e8>%%N>4tx(@r-^%G<=lJWfg^y5q>DMl$GlUe?M z!%L3`oj00HsE*2He~tAOb*TC02({0cja_Z@6riuj3Qc8#0ZNeUe9E8>{ICd4hm3VSW+uP*J z@-t=9i+NlUzG23$f~B;XeMMdk*Yy~e`bknh!e&qp*VEVWX&8OOem)Rq`i#)~TA?4Z zv*9GuU!1iA*_P2Wb$6ED0GL_5#=1Tu`4-^iF5M(ZI>T!DiEyLU?DczmO#>bZHgzt> zowY#;O+|ALAK8GH`;9n?rTU9ha?VcU>a?tt)KS}p9x9|$c+_9Hq+#?8OB*Y5`jB3a z5qe&K5m)1l(|q@rxSwjAOqvw6ko5K>TW7}embA5u`Yfm$ZHhIz6w9vcj__I>S@VBqnT?`*E=@# zzxrxrTJ(P&MCwN@3hABZ-S0b!vp#P2k~=u-RZo_60q%_wn4JOV3T*JsV?Y{VC7DZs z&+|05Jtjmx-HFOD(VuR?wj@H+;=W5OCd`8oEB9WUZIY2Qewlq1^KjB!$Z zRnaxxrPz#zhR`TK=Z7!d9G!w=&qT;)Vt8x8Si_~4-+X{t#=}^7zW{X0utXM||CzXc z-z=5O+&O3Ek-C(9oR&|8%EaQsQYeL?_h}_ec4NE^2)14(-|H!=A_6w|B!fPNy45$P zq$v{;q>Y>?{!QT8tysQhV4=~135d7-V;FHDrDryWd|Zk(0#Bzu-NF#?rJdLfTzLiJ zBpA{#G!(0QlPX;GjiS$lPJ}PmU|v)$Qg=f(wK=bo=l2b3mL}Bi18wJ$EbK!r3~*7ghRH4QIJvR5RlDBx{=(pqZ~>8 zcoe~!Al({hprc^?wLvZ}D~IQq_iNMAU&@#)S|&7Xd`QoZn}sO0;+kY2k`6wovkZ$R zFJTnPpcJJ!A_tr3SHbaMsK7m}Lj*dzR6PZUV67!M2cMF>^E-vCU!lR;CO!sWE3Tv2 zNubY3;W(+`I6p1t$^Qj4qa-jSqFf=HU;|?6rFDrT4H@Su#Yh$fD!#^tR1Ve`)Kc5_ z*&_J-dkutqjpsMx!lpGVXGZG)2KcI40lXZVJvnYjS04YQR;Pgk4qL=+n(oG);Vp zGGWn#6UZj6!qai$C_zx9bhtp*Z^3A8N9b0V9R-#`nlK_NW*;+-5$UFt=`01Aq7IKp zWVRJ3y0L+C1f1Bcj79Hi^>i?zLJImlP$5a~E$be9_+X>!;~U06-ubg>6`Qj;k;uEYUoJBD&!B`oqkZYqRKk6K(bhMCHzpsXS*D!S-Gi?M>b zcNKgb?hef^h^Q&afqTG|;;;~!-A+O>IBhJwU>g_=Jl1i55~FrA&Iqh6sJ`N=7d&)Y zf5Tb{K*w3rSa`kVR(rS2$*pFxbb^g#vDIPWKZ>C*tqPY4D>0euoy7E(+WZUMtxe;_ zFyFi@ByY-j=pZ3~)k}Dh4;WjF8M9j0=_+GIskBI&wgse5D}fN#ibwDq|6@9W^lKGD zS?o;npeHuLHE5w8k97pjw}C~WYx(qP(gO`7V~|Xv0p$c7d<1md>81MJ8K>B~9k14i z3?k(}pi=WmLYAl0Izo7HSdrZ&8h=>Gn;L6M<-Qn_YRhhHfq#tQE%UC#Q zSrC7VH2_l$lpKG)1O=7>geC5l@l{@~4la*5Zebz{2Fd7?&$&-(7h6oqDiU>(hUDZ= znqE6@qN0%vN^?9UR|-YBPeQ4d!tr};9a*K$Y&i>)MViLwrO|-;Wzg#zZWm1}kxk&V ze(Gdy8q(?9vfQ^YsatTcXj+UytUAU`mL#TE>sgJ)4f895xL;whE)qITG*Zy? zXd?LIRiwSwM)DhN&3}mQ15a*5Y1d)bPT*jmBfoQj8J~7o(mF4`B#0Q>=Pk1Xe`oF! z>J2@Zv^0jUN*J?|9;-ctaC5<0!n29-pRi#w!R|9DRLekDQqVXf{=w6jP>VDk54CI& zT2hw`x)7SWj7wCqjS3Xn(i?Enx?->|mN5c;RO8}ZjRiuUT6FeSz`= zSx2KK8Xt`Oc&)<*D}<<64j8$+!ij&VIG31sAa0ZH6~6;#tfrqO4g#Q6&?G=MHB}6! z*hokdk&aUHA~Z0tJnT{M*VOC7L|Fd}N2u!Zo@Il93F5e4 zUsh=jJ$T53)6GG3>~5(zDEC_qXVPwTHD*hV_D7l4TfPd2(5Yh3^FAK1bep**!RIB0(e4W(|L_4?5pUNJW|j24zT7Gu^ieAB;y>CtER52M&iR0X?Scr4Z~yR_;XVtq!)TjP)&og*VwRQMT$1DdQb(L z$;p{Gv8vEFI26SB5>m<61JRXCy<%WHdRN*YQ}9;a-84J^3|)d5WymD`ZD|*h>?T?2 z<2go={q!{EW`mxV>CZcsYQ`|w@K7I`wgCODRlJqfaKMcUcjGb4E3pfB^q>FiF|RUX zfn|U;GAaeD=)ZD?Yz+#Ix;e+foGfl92FyABjOX+}%IQ>IOs7#W3I;1?YhMDd67e{vJ ze5SiCYnezmSI0M&Fkba&S^6i#;A3|d3 z3Z@`xHpaAfA*@+C&mW6S(RSuV{(kqm&VYAA29o8-u>|AnP@as;x)e0j@FErp+U z_FS5ry?y(W?YDg5+!KGl^ZN7T>bIPITj9y?@9uo~pIiTW`wgT2ZRF5@fAqzl{`Pkd z|I>>vUi0sEeB=4sAGq+&73-e)Z<$Q|4zg4x^bCj6rU3d6P%YU%r=-#8xe02Mv+B3CVYTJ*#g}et+;eGHE}{2d>%7~KW#_vatPZb=R5FSlY& zPO)g?rF)FC{NdW%;{iKpTU$Bh1MRMpPo9~^R?(i?p1$7N;wqMmLjJITTEyzdu$pDd z?nVFdut-xs}m5Jt3nQYspGU>ybl-iek z!^i}k(NypDbqK{LK`C{ZHRtegWum&H$OKEJY|1})P_Xl}d9x0Uvw8~iZj+?`xv|S4 zlbV-Ft#$}=UztqM=FiQyMH^$UmQibj!*px;bnHSV+1OQk;K1KOMaM3z7d<{z+lO5? z9lID;8@8VeN{7B3YQHMeE9^%waC@0z4Z7{n9m*y0PU!e1Nx%89ue&_<>6M zUlb+^8%^2UYxH`NYNv6QZru)KrM;qhlY^-~BP81^O1BOJlC0(1OA)=spQqpG<9YM= zUEb6f%|BS~x-!t`Ne#>clhpMayRH;oEcZ`zT}^Z}FG)jr6LIgMaNfQmdrvwu{X~{r zJgm$ETCoq4zFpJvk=@5?dK3>kKm47skFEITIh`NCKBMX{&gwP#F!ma)zt2YR#>I_w zdJq|!cNCP~c+H=dBfR%&&)#PFm_%ur&3uaZjl?Aq zlTO{ik6CrIZ(qkGZIIx+v6=Cg>3BvCFu>H&jJ&|qRON%}5_;tTP@CB|t>M1!)@lsl ze%%GH^1+dso^_xa)%lsnK^(%CvYIA?a9g2IC+NO5A^ckK3+e{3N8&Ga9me{hSE^xt zxTRk1xf^U5uCxxzAm>?N5bvO{BJ3-ibkbQb&828K--1dI=)1$qWMMg9Et9rsP0@!Y z7qdkwlh$FC$?tiY6eYj^@qC`u*5(-u^m&<#^r^Df|6-YReo!@A^^64070%aKSS>8M z5AFEKM{IARGC3lLc2CtV(1W5I7#7L|4x@kzj?O+0>N4r;Lm$)_)J-LnTVxzX#;#Y}N1rRi8`BqBKb_uI zu#`WD{v>nL#abYeg){q(>`%?W=OX^KAl8h$1xxd13k%Z6!XwALeEPnWbdcHXQkwNV zQC%0)q%`U_Cg;jj$G=t?-l+I7eK{*KdcV;cM{`NT_0X%` z)nXJGlOOtFo!%X*Wf1h7-s5W7sNv5t#{OYOvqBz)N7Jy{bktz3UWVCl9j~#!5}>Q( z6zaaZTgSg{SA{wU3q#^&V^aFO5}iZM#_KXGw>UI2P+khf|mBCWEdBaEc#O-U$ zi>_Yck<@rBA;G`k49o z=KGJA?O%6gY(=IzBP}E$A@BUhBF@FucqYvvj~sWqBk^TEi^6TF=K@WJ<4i7 zh;;kGsNaKNhnp~YVu<5EA6ZL`#jnJ`_~j}u3JLq{0UyeV@wf6j8yDQv;{)=~VjZ$z zhmwa_2o0wGxoh*j>@JaCh+7{MC=sCFhtkq0QKghp^QD;`8GW)wx%@(` zsUixwcRIpNF5RCQX#kiTXWK~|DoZ>56ui;Mj(*Xz^AyZyrm3fu6jC?p&%$s5y$PbyaDXq9g;P&+Wb0vK z6p)>Qa!~t**M;Hxy#`&R*A(J8f9L;%xejzBj+5y_y0V*!BgHs2obU9p6*TwcE}lUr zWK3zZQ*Z+34F{et$1AlqPn&M3kntgDr%#9(=Q>L3OmjIyy~%4}xmST?qn(oSQ-XKX zbVL3th{hEB%#-$)2nIJPlYL4qu3i?1WPVqVTXee7{-py~6jG40CYaW`5qV^x0j?dj zU_6r3i(OIChCDka2M1tEf6iuSMGSl(}t=|y`W=`!7`RJt_sdoob*Uh zIOITb7X8MGxNMZE5FHkEG-3Cu>OSg@`g9~C0)qTI-UwbQrtcMF%w#h9TwPrygGtqdU}MH<|AB?}3Vys%HFE0plxT3oMs< zKJDPf#~6e_wpdA{dYgD@qJx^UPiJ?9fL~OF8*^Z1y&B1=qcaL821oe;=@#<)b!-w1 zB9I6Qv+3bD@`3Ks-NuU-trM55GTb$AyC#`i^4zc8iMfr2aH}}Y;8+9Rs-v9xxi%)4 z*D98O8Gii8aVl$x>N4_4MsRpcLkwlinfSRhN3{ZnV6vsxgmF<>2d_-ZJ54eLOF|jv zv=uk5u`plxMDNfw7&=|(xK1nHvre15`TIs<(QJUG*L4;nq^#u zTv%~&wWJP>8O0|iuuf^3NHAaPr1WUNtPo=`QYbZt2~t^%SC0Q5M3N$kUq3& z2!vJA9!@!tGb{+I)MzUmI?2cKN#gtI6;@lr;N@(3HcWU!@@5Iv7V&18iTo7+9?JdH zsK(s}BTipR>aRZ77uIi>#yu$WR?&^9yPg^_2U&a+^GxZbG8d&j8ZeKUI$?L~Oj1=G z!26X|62y#c85mqhahu#ZfsA^8*W1v$<}3xogCv4NQW_Q0(%lsFc6F48iZZBqy+yQg z($yQy(o*yr8KT%}@snIEy{1{#jIpF0SR)fXt2j0&gOu%2*+ynSnKc$=t1IGX#b7F; z0wvy~;5TgaLNK}>&R->g(REg&59Ii};}X0!k^w`UmW1$06h+<=W9xiO?m?c8VM|OE zm$5ZZa*|1Dg4FMAA9!$XUA0^hJNnVm3(zAYp-NkmStNSuNAX#32aycen6~| zvT+R0kE|W7Ar!Dk6CO?ThzSN!NaV39sG>MLlM)`~lM=;EimN7ZJ}pV#Cw{e+l(v3} z8k4?|rcG?qe){rS9<{|Ye~r<7zccsV)$U6BNAk+rKi?zmotbmaoICS9_sqTX>3gydE+=cJ!3AqEFCydq}#|uRqe?(?I>z*cw_q7 zdwoVpvx5#&+~iQ+MvXJMWFxW%aVUf5nHRNu4S= z&9uN#b`oc3_Gsr*-QjMd0@1Yz1#bVJ^1-XDPXZi+9NvFS+{Zudiw z2m4rF`S&B^=&E~Q8oPsf*4`c8PFrJPgN;xBu0|XSSBa~(M7`ycw$$t$kk{Q3|6znzoMKlkLfp1Je+ zN8bOncYot=b)J6ertf*%@qSrLeb~DD?$*$n-x%6?(@jS&+t#{j|3|ld_21ld$6J2o zpWbxc8wUUGUsUZRo@Mzvt=4Bh-pqdK?x>Uc(C?qBleh^^)Y+ye=kU<&g4j1Z{Plj zlN(=pS*^3}q@*Ce69+Bi=M;H5ouiMQIqRy&@9fk^Q(C$xd3bePUmq9RS9w!Jgt74>N8`CVPq$h> z9hqr>TT)ouuoa2UDG#NOjUpNvTUejE#*ST0L^d z^W#S^?X67uI7gjiowKTw;o(##UzoK0h%MTrFuhKmsh)u|DZ|9*>Pz0&8LZmL_|eyX z?!>^UI?1BXT;QL$ZTx}w1f};I9E`4wC;n}xyfy3m^kVLRGO>2^8;Lr}?pXD4gAO~){%Q)myR*U@&0&(r8K39*SvVfawmZbzt|vzVoRhH+54IU*|4)E{vu z>L^-MR7wB)M>Rv0KFjy$D!rYh=R}^$-yZIsKk3D#R@y7~;@{{!JF@M$%p&ZNsXqcXenM zUAvZxl)Jf`no7zLSokZ<)w_VYG20Hs*-CzCA&araV zI%)pk5BBS%(}^o$28Umf=B<5i*6MUtKh!Vh&{rNUy4$X+Zg|s!uYT;l--@1$`}*6i zk?~rsyX}fY->+rs?z!SCoo|0Awz6qcn~jd9&FAFLMZeUgHEb2Jyc5qjoOsUS@3h_! z3F&!?)iC>TYgd);*W>l9LNn!#t6976v*tg|f9BPH*3WyYk7GY(c@IC6SL>IaRENm{Aa%UpZD`#*StAKQy<3_7h)S;h3+t) zGSxlmob8CFN;}w_X;L|-j+axpXR-gi>Ve6HO&PBm-;|h@F_Bka=&NI+-U`Rpfis55 zc}`_GbL^?~Imb4~Z_g_rl(Vm6F*P}#I+;yNo|bz0WVgMY9zV~R)fdk*7{h@b#qlwDM#

XFu5No)$%%iVjR7kn`K(%&7 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