From ab77a80e9b861e7ca9677b3163c45bfe1ee7218b Mon Sep 17 00:00:00 2001 From: Max Bruckner Date: Thu, 27 Apr 2017 02:54:33 +0200 Subject: [PATCH] Squashed 'tests/unity/' changes from 1f52255..f96c055 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit f96c055 this is a minor release 2c7629a Documentation Updates b8bfb01 Add support for AStyle in test makefile. It’s going to assume you have it installed. e36d8b5 Merge pull request #276 from wolf99/pdf-to-markdown 1e43967 Add EACH_EQUAL changes e2cc679 Add newlines after headings for best practice, trim trailing spaces & convert sneaky incorrectly coded chars 192d517 Remove PDFs c48f6c9 Add Github Markdown versions of documents 2a5b24f Finished updating all Ruby scripts to match our coding standard. Woo! 3e0a712 Started to flesh out rubocop settings for this project. Added rakefile tasks to do so. Updated first script to make it compliant. 23f9c16 Another round of fixing things that the stylizer “corrected” for me. 3a6cca3 Fixed things that the stylizer “autocorrected” to wrong. ;) 3062c39 Starting to enforce our coding style. The first step is that we’ve pulled in Rubocop to check out Ruby syntax. There is likely a bit of customization to do yet AND there is definitely that backlog of todo’s that we just told it to ignore. 550d58b Attempt to fix remaining issues with casting ee038c2 Ha! Forgot to add the correct comment style d6b3508 Clean up some const issues, particularly when moving between single and double pointers 4ffafce Finish updating documentation to match 083564b Update docs to also understand the new Each Equal handlers 0dddf49 also update strings to support each element of an array. a11a137 Added memory each equal assertion d8d67a7 Added each_equal assertions for float and double b7956ea Added more tests for all the numerical types when performing each_equal assertions 7fe3191 Added some tests to prove this works. Still work in progress 56eeacd prepare for comparing value to array by setting up explicit compare of array to array in ints 7b80885 Merge pull request #272 from FSMaxB/gcc43-wconversion 0781e74 Add our coding standard to documentation c3658a0 Dropped support for pre-2.0 versions of Ruby (not even rubylang supports them anymore) 8a45ccf Use custom mock prefix when searching for mock header files. #263 689610b reorder includes in generated test runners 43c7511 stdlib.h explicitly called in fixtures when malloc used, now. (Fixes issue #268) 1c556d2 Fix -Wconversion with gcc-4.3 8723d50 Turn UNITY_OUTPUT_FLUSH off by default. Added a quick-define for the most common case: UNITY_USE_FLUSH_STDOUT. Clarified documentation. Fixes issue #269 c67a4ff - Add ability to detect TEST_FILE(“filename.c”) specifications in test files 41ee499 Tiny tweaks to make Unity fit in more smoothly with Ceedling git-subtree-dir: tests/unity git-subtree-split: f96c05532b3e00c9ca77e58fc07f9401cd46510d --- .travis.yml | 4 +- README.md | 27 +- auto/colour_prompt.rb | 131 +-- auto/colour_reporter.rb | 40 +- auto/generate_module.rb | 283 +++--- auto/generate_test_runner.rb | 468 ++++----- auto/parseOutput.rb | 224 ----- auto/parse_output.rb | 220 ++++ auto/stylize_as_junit.rb | 228 ++--- auto/test_file_filter.rb | 20 +- auto/type_sanitizer.rb | 4 +- auto/unity_test_summary.rb | 102 +- docs/ThrowTheSwitchCodingStandard.md | 207 ++++ ...tSuitableforPrintingandPossiblyFraming.pdf | Bin 146272 -> 144467 bytes docs/UnityAssertionsReference.md | 716 +++++++++++++ docs/UnityAssertionsReference.pdf | Bin 320499 -> 0 bytes docs/UnityConfigurationGuide.md | 398 ++++++++ docs/UnityConfigurationGuide.pdf | Bin 253175 -> 0 bytes docs/UnityGettingStartedGuide.md | 191 ++++ docs/UnityGettingStartedGuide.pdf | Bin 166200 -> 0 bytes docs/UnityHelperScriptsGuide.md | 242 +++++ docs/UnityHelperScriptsGuide.pdf | Bin 181016 -> 0 bytes examples/example_3/rakefile.rb | 30 +- examples/example_3/rakefile_helper.rb | 191 ++-- extras/fixture/rakefile.rb | 24 +- extras/fixture/rakefile_helper.rb | 175 ++-- .../src/unity_fixture_malloc_overrides.h | 1 + release/version.info | 2 +- src/unity.c | 156 ++- src/unity.h | 48 + src/unity_internals.h | 110 +- test/.rubocop.yml | 58 ++ test/rakefile | 57 +- test/rakefile_helper.rb | 213 ++-- test/targets/clang_strict.yml | 4 +- test/testdata/testRunnerGeneratorSmall.c | 2 + test/tests/test_generate_test_runner.rb | 10 +- test/tests/testunity.c | 943 +++++++++++++++++- 38 files changed, 4251 insertions(+), 1278 deletions(-) delete mode 100644 auto/parseOutput.rb create mode 100644 auto/parse_output.rb create mode 100644 docs/ThrowTheSwitchCodingStandard.md create mode 100644 docs/UnityAssertionsReference.md delete mode 100644 docs/UnityAssertionsReference.pdf create mode 100644 docs/UnityConfigurationGuide.md delete mode 100644 docs/UnityConfigurationGuide.pdf create mode 100644 docs/UnityGettingStartedGuide.md delete mode 100644 docs/UnityGettingStartedGuide.pdf create mode 100644 docs/UnityHelperScriptsGuide.md delete mode 100644 docs/UnityHelperScriptsGuide.pdf create mode 100644 test/.rubocop.yml diff --git a/.travis.yml b/.travis.yml index edf25ee..8ae9fa0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,9 @@ matrix: before_install: - if [ "$TRAVIS_OS_NAME" == "osx" ]; then rvm install 2.1 && rvm use 2.1 && ruby -v; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install --assume-yes --quiet gcc-multilib; fi -install: gem install rspec +install: + - gem install rspec + - gem install rubocop script: - cd test && rake ci - make -s diff --git a/README.md b/README.md index 11759c8..17ab574 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Unity Test API ============== [![Unity Build Status](https://api.travis-ci.org/ThrowTheSwitch/Unity.png?branch=master)](https://travis-ci.org/ThrowTheSwitch/Unity) -__Copyright (c) 2007 - 2014 Unity Project by Mike Karlesky, Mark VanderVoord, and Greg Williams__ +__Copyright (c) 2007 - 2017 Unity Project by Mike Karlesky, Mark VanderVoord, and Greg Williams__ Running Tests ------------- @@ -109,14 +109,6 @@ Compares two integers for equality and display errors as hexadecimal. Like the you can specify the size... here the size will also effect how many nibbles are shown (for example, `HEX16` will show 4 nibbles). - _ARRAY - -You can append `_ARRAY` to any of these macros to make an array comparison of that type. Here you will -need to care a bit more about the actual size of the value being checked. You will also specify an -additional argument which is the number of elements to compare. For example: - - TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, elements) - TEST_ASSERT_EQUAL(expected, actual) Another way of calling TEST_ASSERT_EQUAL_INT @@ -126,6 +118,23 @@ Another way of calling TEST_ASSERT_EQUAL_INT Asserts that the actual value is within plus or minus delta of the expected value. This also comes in size specific variants. +Arrays +------ + + _ARRAY + +You can append `_ARRAY` to any of these macros to make an array comparison of that type. Here you will +need to care a bit more about the actual size of the value being checked. You will also specify an +additional argument which is the number of elements to compare. For example: + + TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, elements) + + _EACH_EQUAL + +Another array comparison option is to check that EVERY element of an array is equal to a single expected +value. You do this by specifying the EACH_EQUAL macro. For example: + + TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, elements) Numerical Assertions: Bitwise ----------------------------- diff --git a/auto/colour_prompt.rb b/auto/colour_prompt.rb index 8adab6e..0f1dc4e 100644 --- a/auto/colour_prompt.rb +++ b/auto/colour_prompt.rb @@ -4,63 +4,62 @@ # [Released under MIT License. Please refer to license.txt for details] # ========================================== -if RUBY_PLATFORM =~/(win|w)32$/ - begin - require 'Win32API' - rescue LoadError - puts "ERROR! \"Win32API\" library not found" - puts "\"Win32API\" is required for colour on a windows machine" - puts " try => \"gem install Win32API\" on the command line" - puts - end - # puts +if RUBY_PLATFORM =~ /(win|w)32$/ + begin + require 'Win32API' + rescue LoadError + puts 'ERROR! "Win32API" library not found' + puts '"Win32API" is required for colour on a windows machine' + puts ' try => "gem install Win32API" on the command line' + puts + end + # puts # puts 'Windows Environment Detected...' - # puts 'Win32API Library Found.' - # puts + # puts 'Win32API Library Found.' + # puts end class ColourCommandLine def initialize - if RUBY_PLATFORM =~/(win|w)32$/ - get_std_handle = Win32API.new("kernel32", "GetStdHandle", ['L'], 'L') - @set_console_txt_attrb = - Win32API.new("kernel32","SetConsoleTextAttribute",['L','N'], 'I') - @hout = get_std_handle.call(-11) - end + return unless RUBY_PLATFORM =~ /(win|w)32$/ + get_std_handle = Win32API.new('kernel32', 'GetStdHandle', ['L'], 'L') + @set_console_txt_attrb = + Win32API.new('kernel32', 'SetConsoleTextAttribute', %w(L N), 'I') + @hout = get_std_handle.call(-11) end def change_to(new_colour) - if RUBY_PLATFORM =~/(win|w)32$/ - @set_console_txt_attrb.call(@hout,self.win32_colour(new_colour)) + if RUBY_PLATFORM =~ /(win|w)32$/ + @set_console_txt_attrb.call(@hout, win32_colour(new_colour)) else - "\033[30;#{posix_colour(new_colour)};22m" - end + "\033[30;#{posix_colour(new_colour)};22m" + end end def win32_colour(colour) case colour - when :black then 0 - when :dark_blue then 1 - when :dark_green then 2 - when :dark_cyan then 3 - when :dark_red then 4 - when :dark_purple then 5 - when :dark_yellow, :narrative then 6 - when :default_white, :default, :dark_white then 7 - when :silver then 8 - when :blue then 9 - when :green, :success then 10 - when :cyan, :output then 11 - when :red, :failure then 12 - when :purple then 13 - when :yellow then 14 - when :white then 15 - else - 0 + when :black then 0 + when :dark_blue then 1 + when :dark_green then 2 + when :dark_cyan then 3 + when :dark_red then 4 + when :dark_purple then 5 + when :dark_yellow, :narrative then 6 + when :default_white, :default, :dark_white then 7 + when :silver then 8 + when :blue then 9 + when :green, :success then 10 + when :cyan, :output then 11 + when :red, :failure then 12 + when :purple then 13 + when :yellow then 14 + when :white then 15 + else + 0 end end - def posix_colour(colour) + def posix_colour(colour) # ANSI Escape Codes - Foreground colors # | Code | Color | # | 39 | Default foreground color | @@ -81,35 +80,39 @@ class ColourCommandLine # | 96 | Light cyan | # | 97 | White | - case colour - when :black then 30 - when :red, :failure then 31 - when :green, :success then 32 - when :yellow then 33 - when :blue, :narrative then 34 - when :purple, :magenta then 35 - when :cyan, :output then 36 - when :white, :default_white then 37 - when :default then 39 - else - 39 + case colour + when :black then 30 + when :red, :failure then 31 + when :green, :success then 32 + when :yellow then 33 + when :blue, :narrative then 34 + when :purple, :magenta then 35 + when :cyan, :output then 36 + when :white, :default_white then 37 + when :default then 39 + else + 39 end end def out_c(mode, colour, str) case RUBY_PLATFORM - when /(win|w)32$/ - change_to(colour) - $stdout.puts str if mode == :puts - $stdout.print str if mode == :print - change_to(:default_white) - else - $stdout.puts("#{change_to(colour)}#{str}\033[0m") if mode == :puts - $stdout.print("#{change_to(colour)}#{str}\033[0m") if mode == :print - end + when /(win|w)32$/ + change_to(colour) + $stdout.puts str if mode == :puts + $stdout.print str if mode == :print + change_to(:default_white) + else + $stdout.puts("#{change_to(colour)}#{str}\033[0m") if mode == :puts + $stdout.print("#{change_to(colour)}#{str}\033[0m") if mode == :print + end end end # ColourCommandLine -def colour_puts(role,str) ColourCommandLine.new.out_c(:puts, role, str) end -def colour_print(role,str) ColourCommandLine.new.out_c(:print, role, str) end +def colour_puts(role, str) + ColourCommandLine.new.out_c(:puts, role, str) +end +def colour_print(role, str) + ColourCommandLine.new.out_c(:print, role, str) +end diff --git a/auto/colour_reporter.rb b/auto/colour_reporter.rb index 5aa1d27..bb1fbfc 100644 --- a/auto/colour_reporter.rb +++ b/auto/colour_reporter.rb @@ -2,38 +2,38 @@ # Unity Project - A Test Framework for C # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams # [Released under MIT License. Please refer to license.txt for details] -# ========================================== +# ========================================== require "#{File.expand_path(File.dirname(__FILE__))}/colour_prompt" $colour_output = true def report(message) - if not $colour_output + if !$colour_output $stdout.puts(message) else - message = message.join('\n') if (message.class == Array) + message = message.join('\n') if message.class == Array message.each_line do |line| line.chomp! - colour = case(line) - when /(?:total\s+)?tests:?\s+(\d+)\s+(?:total\s+)?failures:?\s+\d+\s+Ignored:?/i - ($1.to_i == 0) ? :green : :red - when /PASS/ - :green - when /^OK$/ - :green - when /(?:FAIL|ERROR)/ - :red - when /IGNORE/ - :yellow - when /^(?:Creating|Compiling|Linking)/ - :white - else - :silver - end + colour = case line + when /(?:total\s+)?tests:?\s+(\d+)\s+(?:total\s+)?failures:?\s+\d+\s+Ignored:?/i + Regexp.last_match(1).to_i.zero? ? :green : :red + when /PASS/ + :green + when /^OK$/ + :green + when /(?:FAIL|ERROR)/ + :red + when /IGNORE/ + :yellow + when /^(?:Creating|Compiling|Linking)/ + :white + else + :silver + end colour_puts(colour, line) end end $stdout.flush $stderr.flush -end \ No newline at end of file +end diff --git a/auto/generate_module.rb b/auto/generate_module.rb index 0fbaf55..ade4f1a 100644 --- a/auto/generate_module.rb +++ b/auto/generate_module.rb @@ -12,8 +12,8 @@ require 'rubygems' require 'fileutils' require 'pathname' -#TEMPLATE_TST -TEMPLATE_TST ||= %q[#include "unity.h" +# TEMPLATE_TST +TEMPLATE_TST ||= '#include "unity.h" %2$s#include "%1$s.h" void setUp(void) @@ -28,115 +28,118 @@ void test_%1$s_NeedToImplement(void) { TEST_IGNORE_MESSAGE("Need to Implement %1$s"); } -] +'.freeze -#TEMPLATE_SRC -TEMPLATE_SRC ||= %q[%2$s#include "%1$s.h" -] +# TEMPLATE_SRC +TEMPLATE_SRC ||= '%2$s#include "%1$s.h" +'.freeze -#TEMPLATE_INC -TEMPLATE_INC ||= %q[#ifndef _%3$s_H +# TEMPLATE_INC +TEMPLATE_INC ||= '#ifndef _%3$s_H #define _%3$s_H %2$s #endif // _%3$s_H -] +'.freeze class UnityModuleGenerator - ############################ - def initialize(options=nil) - + def initialize(options = nil) here = File.expand_path(File.dirname(__FILE__)) + '/' @options = UnityModuleGenerator.default_options - case(options) - when NilClass then @options - when String then @options.merge!(UnityModuleGenerator.grab_config(options)) - when Hash then @options.merge!(options) - else raise "If you specify arguments, it should be a filename or a hash of options" + case options + when NilClass then @options + when String then @options.merge!(UnityModuleGenerator.grab_config(options)) + when Hash then @options.merge!(options) + else raise 'If you specify arguments, it should be a filename or a hash of options' end # Create default file paths if none were provided - @options[:path_src] = here + "../src/" if @options[:path_src].nil? + @options[:path_src] = here + '../src/' if @options[:path_src].nil? @options[:path_inc] = @options[:path_src] if @options[:path_inc].nil? - @options[:path_tst] = here + "../test/" if @options[:path_tst].nil? - @options[:path_src] += '/' unless (@options[:path_src][-1] == 47) - @options[:path_inc] += '/' unless (@options[:path_inc][-1] == 47) - @options[:path_tst] += '/' unless (@options[:path_tst][-1] == 47) + @options[:path_tst] = here + '../test/' if @options[:path_tst].nil? + @options[:path_src] += '/' unless @options[:path_src][-1] == 47 + @options[:path_inc] += '/' unless @options[:path_inc][-1] == 47 + @options[:path_tst] += '/' unless @options[:path_tst][-1] == 47 - #Built in patterns - @patterns = { 'src' => {'' => { :inc => [] } }, - 'test'=> {'' => { :inc => [] } }, - 'dh' => {'Driver' => { :inc => [create_filename('%1$s','Hardware.h')] }, - 'Hardware' => { :inc => [] } - }, - 'dih' => {'Driver' => { :inc => [create_filename('%1$s','Hardware.h'), create_filename('%1$s','Interrupt.h')] }, - 'Interrupt'=> { :inc => [create_filename('%1$s','Hardware.h')] }, - 'Hardware' => { :inc => [] } - }, - 'mch' => {'Model' => { :inc => [] }, - 'Conductor'=> { :inc => [create_filename('%1$s','Model.h'), create_filename('%1$s','Hardware.h')] }, - 'Hardware' => { :inc => [] } - }, - 'mvp' => {'Model' => { :inc => [] }, - 'Presenter'=> { :inc => [create_filename('%1$s','Model.h'), create_filename('%1$s','View.h')] }, - 'View' => { :inc => [] } - } - } + # Built in patterns + @patterns = { + 'src' => { + '' => { inc: [] } + }, + 'test' => { + '' => { inc: [] } + }, + 'dh' => { + 'Driver' => { inc: [create_filename('%1$s', 'Hardware.h')] }, + 'Hardware' => { inc: [] } + }, + 'dih' => { + 'Driver' => { inc: [create_filename('%1$s', 'Hardware.h'), create_filename('%1$s', 'Interrupt.h')] }, + 'Interrupt' => { inc: [create_filename('%1$s', 'Hardware.h')] }, + 'Hardware' => { inc: [] } + }, + 'mch' => { + 'Model' => { inc: [] }, + 'Conductor' => { inc: [create_filename('%1$s', 'Model.h'), create_filename('%1$s', 'Hardware.h')] }, + 'Hardware' => { inc: [] } + }, + 'mvp' => { + 'Model' => { inc: [] }, + 'Presenter' => { inc: [create_filename('%1$s', 'Model.h'), create_filename('%1$s', 'View.h')] }, + 'View' => { inc: [] } + } + } end ############################ def self.default_options { - :pattern => "src", - :includes => - { - :src => [], - :inc => [], - :tst => [], + pattern: 'src', + includes: { + src: [], + inc: [], + tst: [] }, - :update_svn => false, - :boilerplates => {}, - :test_prefix => 'Test', - :mock_prefix => 'Mock', + update_svn: false, + boilerplates: {}, + test_prefix: 'Test', + mock_prefix: 'Mock' } end ############################ def self.grab_config(config_file) - options = self.default_options - unless (config_file.nil? or config_file.empty?) + options = default_options + unless config_file.nil? || config_file.empty? require 'yaml' yaml_guts = YAML.load_file(config_file) options.merge!(yaml_guts[:unity] || yaml_guts[:cmock]) raise "No :unity or :cmock section found in #{config_file}" unless options end - return(options) + options end ############################ - def files_to_operate_on(module_name, pattern=nil) - #strip any leading path information from the module name and save for later + def files_to_operate_on(module_name, pattern = nil) + # strip any leading path information from the module name and save for later subfolder = File.dirname(module_name) module_name = File.basename(module_name) - #create triad definition + # create triad definition prefix = @options[:test_prefix] || 'Test' - triad = [ { :ext => '.c', :path => @options[:path_src], :prefix => "", :template => TEMPLATE_SRC, :inc => :src, :boilerplate => @options[:boilerplates][:src] }, - { :ext => '.h', :path => @options[:path_inc], :prefix => "", :template => TEMPLATE_INC, :inc => :inc, :boilerplate => @options[:boilerplates][:inc] }, - { :ext => '.c', :path => @options[:path_tst], :prefix => prefix, :template => TEMPLATE_TST, :inc => :tst, :boilerplate => @options[:boilerplates][:tst] }, - ] + triad = [{ ext: '.c', path: @options[:path_src], prefix: '', template: TEMPLATE_SRC, inc: :src, boilerplate: @options[:boilerplates][:src] }, + { ext: '.h', path: @options[:path_inc], prefix: '', template: TEMPLATE_INC, inc: :inc, boilerplate: @options[:boilerplates][:inc] }, + { ext: '.c', path: @options[:path_tst], prefix: prefix, template: TEMPLATE_TST, inc: :tst, boilerplate: @options[:boilerplates][:tst] }] - #prepare the pattern for use + # prepare the pattern for use pattern = (pattern || @options[:pattern] || 'src').downcase patterns = @patterns[pattern] raise "ERROR: The design pattern '#{pattern}' specified isn't one that I recognize!" if patterns.nil? - #single file patterns (currently just 'test') can reject the other parts of the triad - if (pattern == 'test') - triad.reject!{|v| v[:inc] != :tst } - end + # single file patterns (currently just 'test') can reject the other parts of the triad + triad.select! { |v| v[:inc] == :tst } if pattern == 'test' # Assemble the path/names of the files we need to work with. files = [] @@ -145,26 +148,26 @@ class UnityModuleGenerator submodule_name = create_filename(module_name, pattern_file) filename = cfg[:prefix] + submodule_name + cfg[:ext] files << { - :path => (Pathname.new("#{cfg[:path]}#{subfolder}") + filename).cleanpath, - :name => submodule_name, - :template => cfg[:template], - :boilerplate => cfg[:boilerplate], - :includes => case(cfg[:inc]) - when :src then (@options[:includes][:src] || []) | pattern_traits[:inc].map{|f| f % [module_name]} - when :inc then (@options[:includes][:inc] || []) - when :tst then (@options[:includes][:tst] || []) | pattern_traits[:inc].map{|f| "#{@options[:mock_prefix]}#{f}" % [module_name]} - end + path: (Pathname.new("#{cfg[:path]}#{subfolder}") + filename).cleanpath, + name: submodule_name, + template: cfg[:template], + boilerplate: cfg[:boilerplate], + includes: case (cfg[:inc]) + when :src then (@options[:includes][:src] || []) | (pattern_traits[:inc].map { |f| format(f, module_name) }) + when :inc then (@options[:includes][:inc] || []) + when :tst then (@options[:includes][:tst] || []) | (pattern_traits[:inc].map { |f| format("#{@options[:mock_prefix]}#{f}", module_name) }) + end } end end - return files + files end ############################ - def create_filename(part1, part2="") + def create_filename(part1, part2 = '') if part2.empty? - case(@options[:naming]) + case (@options[:naming]) when 'bumpy' then part1 when 'camel' then part1 when 'snake' then part1.downcase @@ -172,49 +175,45 @@ class UnityModuleGenerator else part1.downcase end else - case(@options[:naming]) + case (@options[:naming]) when 'bumpy' then part1 + part2 when 'camel' then part1 + part2 - when 'snake' then part1.downcase + "_" + part2.downcase - when 'caps' then part1.upcase + "_" + part2.upcase - else part1.downcase + "_" + part2.downcase + when 'snake' then part1.downcase + '_' + part2.downcase + when 'caps' then part1.upcase + '_' + part2.upcase + else part1.downcase + '_' + part2.downcase end end end ############################ - def generate(module_name, pattern=nil) - + def generate(module_name, pattern = nil) files = files_to_operate_on(module_name, pattern) - #Abort if all of the module files already exist + # Abort if all of the module files already exist all_files_exist = true files.each do |file| - if not File.exist?(file[:path]) - all_files_exist = false - end + all_files_exist = false unless File.exist?(file[:path]) end raise "ERROR: File #{files[0][:name]} already exists. Exiting." if all_files_exist # Create Source Modules - files.each_with_index do |file, i| + files.each_with_index do |file, _i| # If this file already exists, don't overwrite it. if File.exist?(file[:path]) puts "File #{file[:path]} already exists!" next end # Create the path first if necessary. - FileUtils.mkdir_p(File.dirname(file[:path]), :verbose => false) + FileUtils.mkdir_p(File.dirname(file[:path]), verbose: false) File.open(file[:path], 'w') do |f| f.write("#{file[:boilerplate]}\n" % [file[:name]]) unless file[:boilerplate].nil? - f.write(file[:template] % [ file[:name], - file[:includes].map{|f| "#include \"#{f}\"\n"}.join, - file[:name].upcase ] - ) + f.write(file[:template] % [file[:name], + file[:includes].map { |ff| "#include \"#{ff}\"\n" }.join, + file[:name].upcase]) end - if (@options[:update_svn]) + if @options[:update_svn] `svn add \"#{file[:path]}\"` - if $?.exitstatus == 0 + if $!.exitstatus.zero? puts "File #{file[:path]} created and added to source control" else puts "File #{file[:path]} created but FAILED adding to source control!" @@ -227,8 +226,7 @@ class UnityModuleGenerator end ############################ - def destroy(module_name, pattern=nil) - + def destroy(module_name, pattern = nil) files_to_operate_on(module_name, pattern).each do |filespec| file = filespec[:path] if File.exist?(file) @@ -243,66 +241,65 @@ class UnityModuleGenerator puts "File #{file} does not exist so cannot be removed." end end - puts "Destroy Complete" + puts 'Destroy Complete' end - end ############################ -#Handle As Command Line If Called That Way -if ($0 == __FILE__) +# Handle As Command Line If Called That Way +if $0 == __FILE__ destroy = false - options = { } + options = {} module_name = nil # Parse the command line parameters. ARGV.each do |arg| - case(arg) - when /^-d/ then destroy = true - when /^-u/ then options[:update_svn] = true - when /^-p\"?(\w+)\"?/ then options[:pattern] = $1 - when /^-s\"?(.+)\"?/ then options[:path_src] = $1 - when /^-i\"?(.+)\"?/ then options[:path_inc] = $1 - when /^-t\"?(.+)\"?/ then options[:path_tst] = $1 - when /^-n\"?(.+)\"?/ then options[:naming] = $1 - when /^-y\"?(.+)\"?/ then options = UnityModuleGenerator.grab_config($1) - when /^(\w+)/ - raise "ERROR: You can't have more than one Module name specified!" unless module_name.nil? - module_name = arg - when /^-(h|-help)/ - ARGV = [] - else - raise "ERROR: Unknown option specified '#{arg}'" + case arg + when /^-d/ then destroy = true + when /^-u/ then options[:update_svn] = true + when /^-p\"?(\w+)\"?/ then options[:pattern] = Regexp.last_match(1) + when /^-s\"?(.+)\"?/ then options[:path_src] = Regexp.last_match(1) + when /^-i\"?(.+)\"?/ then options[:path_inc] = Regexp.last_match(1) + when /^-t\"?(.+)\"?/ then options[:path_tst] = Regexp.last_match(1) + when /^-n\"?(.+)\"?/ then options[:naming] = Regexp.last_match(1) + when /^-y\"?(.+)\"?/ then options = UnityModuleGenerator.grab_config(Regexp.last_match(1)) + when /^(\w+)/ + raise "ERROR: You can't have more than one Module name specified!" unless module_name.nil? + module_name = arg + when /^-(h|-help)/ + ARGV = [].freeze + else + raise "ERROR: Unknown option specified '#{arg}'" end end - if (!ARGV[0]) - puts [ "\nGENERATE MODULE\n-------- ------", - "\nUsage: ruby generate_module [options] module_name", - " -i\"include\" sets the path to output headers to 'include' (DEFAULT ../src)", - " -s\"../src\" sets the path to output source to '../src' (DEFAULT ../src)", - " -t\"C:/test\" sets the path to output source to 'C:/test' (DEFAULT ../test)", - " -p\"MCH\" sets the output pattern to MCH.", - " dh - driver hardware.", - " dih - driver interrupt hardware.", - " mch - model conductor hardware.", - " mvp - model view presenter.", - " src - just a source module, header and test. (DEFAULT)", - " test - just a test file.", - " -d destroy module instead of creating it.", - " -n\"camel\" sets the file naming convention.", - " bumpy - BumpyCaseFilenames.", - " camel - camelCaseFilenames.", - " snake - snake_case_filenames. (DEFAULT)", - " caps - CAPS_CASE_FILENAMES.", - " -u update subversion too (requires subversion command line)", - " -y\"my.yml\" selects a different yaml config file for module generation", - "" ].join("\n") + unless ARGV[0] + puts ["\nGENERATE MODULE\n-------- ------", + "\nUsage: ruby generate_module [options] module_name", + " -i\"include\" sets the path to output headers to 'include' (DEFAULT ../src)", + " -s\"../src\" sets the path to output source to '../src' (DEFAULT ../src)", + " -t\"C:/test\" sets the path to output source to 'C:/test' (DEFAULT ../test)", + ' -p"MCH" sets the output pattern to MCH.', + ' dh - driver hardware.', + ' dih - driver interrupt hardware.', + ' mch - model conductor hardware.', + ' mvp - model view presenter.', + ' src - just a source module, header and test. (DEFAULT)', + ' test - just a test file.', + ' -d destroy module instead of creating it.', + ' -n"camel" sets the file naming convention.', + ' bumpy - BumpyCaseFilenames.', + ' camel - camelCaseFilenames.', + ' snake - snake_case_filenames. (DEFAULT)', + ' caps - CAPS_CASE_FILENAMES.', + ' -u update subversion too (requires subversion command line)', + ' -y"my.yml" selects a different yaml config file for module generation', + ''].join("\n") exit end - raise "ERROR: You must have a Module name specified! (use option -h for help)" if module_name.nil? - if (destroy) + raise 'ERROR: You must have a Module name specified! (use option -h for help)' if module_name.nil? + if destroy UnityModuleGenerator.new(options).destroy(module_name) else UnityModuleGenerator.new(options).generate(module_name) diff --git a/auto/generate_test_runner.rb b/auto/generate_test_runner.rb index 8e8e5bb..2c5e56a 100644 --- a/auto/generate_test_runner.rb +++ b/auto/generate_test_runner.rb @@ -4,75 +4,70 @@ # [Released under MIT License. Please refer to license.txt for details] # ========================================== -$QUICK_RUBY_VERSION = RUBY_VERSION.split('.').inject(0){|vv,v| vv * 100 + v.to_i } -File.expand_path(File.join(File.dirname(__FILE__),'colour_prompt')) +File.expand_path(File.join(File.dirname(__FILE__), 'colour_prompt')) class UnityTestRunnerGenerator - def initialize(options = nil) @options = UnityTestRunnerGenerator.default_options - case(options) - when NilClass then @options - when String then @options.merge!(UnityTestRunnerGenerator.grab_config(options)) - when Hash then @options.merge!(options) - else raise "If you specify arguments, it should be a filename or a hash of options" + case options + when NilClass then @options + when String then @options.merge!(UnityTestRunnerGenerator.grab_config(options)) + when Hash then @options.merge!(options) + else raise 'If you specify arguments, it should be a filename or a hash of options' end require "#{File.expand_path(File.dirname(__FILE__))}/type_sanitizer" end def self.default_options { - :includes => [], - :defines => [], - :plugins => [], - :framework => :unity, - :test_prefix => "test|spec|should", - :setup_name => "setUp", - :teardown_name => "tearDown", - :main_name => "main", #set to :auto to automatically generate each time - :main_export_decl => "", - :cmdline_args => false, - :use_param_tests => false, + includes: [], + defines: [], + plugins: [], + framework: :unity, + test_prefix: 'test|spec|should', + mock_prefix: 'Mock', + setup_name: 'setUp', + teardown_name: 'tearDown', + main_name: 'main', # set to :auto to automatically generate each time + main_export_decl: '', + cmdline_args: false, + use_param_tests: false } end def self.grab_config(config_file) - options = self.default_options - unless (config_file.nil? or config_file.empty?) + options = default_options + unless config_file.nil? || config_file.empty? require 'yaml' yaml_guts = YAML.load_file(config_file) options.merge!(yaml_guts[:unity] || yaml_guts[:cmock]) raise "No :unity or :cmock section found in #{config_file}" unless options end - return(options) + options end - def run(input_file, output_file, options=nil) - tests = [] - testfile_includes = [] - used_mocks = [] - + def run(input_file, output_file, options = nil) @options.merge!(options) unless options.nil? - module_name = File.basename(input_file) - #pull required data from source file + # pull required data from source file source = File.read(input_file) - source = source.force_encoding("ISO-8859-1").encode("utf-8", :replace => nil) if ($QUICK_RUBY_VERSION > 10900) + source = source.force_encoding('ISO-8859-1').encode('utf-8', replace: nil) tests = find_tests(source) headers = find_includes(source) testfile_includes = (headers[:local] + headers[:system]) used_mocks = find_mocks(testfile_includes) testfile_includes = (testfile_includes - used_mocks) - testfile_includes.delete_if{|inc| inc =~ /(unity|cmock)/} + testfile_includes.delete_if { |inc| inc =~ /(unity|cmock)/ } - #build runner file + # build runner file generate(input_file, output_file, tests, used_mocks, testfile_includes) - #determine which files were used to return them + # determine which files were used to return them all_files_used = [input_file, output_file] - all_files_used += testfile_includes.map {|filename| filename + '.c'} unless testfile_includes.empty? + all_files_used += testfile_includes.map { |filename| filename + '.c' } unless testfile_includes.empty? all_files_used += @options[:includes] unless @options[:includes].empty? - return all_files_used.uniq + all_files_used += headers[:linkonly] unless headers[:linkonly].empty? + all_files_used.uniq end def generate(input_file, output_file, tests, used_mocks, testfile_includes) @@ -80,15 +75,16 @@ class UnityTestRunnerGenerator create_header(output, used_mocks, testfile_includes) create_externs(output, tests, used_mocks) create_mock_management(output, used_mocks) - create_suite_setup_and_teardown(output) + create_suite_setup(output) + create_suite_teardown(output) create_reset(output, used_mocks) create_main(output, input_file, tests, used_mocks) end - if (@options[:header_file] && !@options[:header_file].empty?) - File.open(@options[:header_file], 'w') do |output| - create_h_file(output, @options[:header_file], tests, testfile_includes, used_mocks) - end + return unless @options[:header_file] && !@options[:header_file].empty? + + File.open(@options[:header_file], 'w') do |output| + create_h_file(output, @options[:header_file], tests, testfile_includes, used_mocks) end end @@ -96,103 +92,102 @@ class UnityTestRunnerGenerator tests_and_line_numbers = [] source_scrubbed = source.clone - source_scrubbed = source_scrubbed.gsub(/"[^"\n]*"/, '') # remove things in strings + source_scrubbed = source_scrubbed.gsub(/"[^"\n]*"/, '') # remove things in strings source_scrubbed = source_scrubbed.gsub(/\/\/.*$/, '') # remove line comments source_scrubbed = source_scrubbed.gsub(/\/\*.*?\*\//m, '') # remove block comments lines = source_scrubbed.split(/(^\s*\#.*$) # Treat preprocessor directives as a logical line | (;|\{|\}) /x) # Match ;, {, and } as end of lines - lines.each_with_index do |line, index| - #find tests - if line =~ /^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]}).*)\s*\(\s*(.*)\s*\)/ - arguments = $1 - name = $2 - call = $3 - params = $4 - args = nil - if (@options[:use_param_tests] and !arguments.empty?) - args = [] - arguments.scan(/\s*TEST_CASE\s*\((.*)\)\s*$/) {|a| args << a[0]} - end - tests_and_line_numbers << { :test => name, :args => args, :call => call, :params => params, :line_number => 0 } + lines.each_with_index do |line, _index| + # find tests + next unless line =~ /^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]}).*)\s*\(\s*(.*)\s*\)/ + arguments = Regexp.last_match(1) + name = Regexp.last_match(2) + call = Regexp.last_match(3) + params = Regexp.last_match(4) + args = nil + if @options[:use_param_tests] && !arguments.empty? + args = [] + arguments.scan(/\s*TEST_CASE\s*\((.*)\)\s*$/) { |a| args << a[0] } end + tests_and_line_numbers << { test: name, args: args, call: call, params: params, line_number: 0 } end - tests_and_line_numbers.uniq! {|v| v[:test] } + tests_and_line_numbers.uniq! { |v| v[:test] } - #determine line numbers and create tests to run + # determine line numbers and create tests to run source_lines = source.split("\n") - source_index = 0; + source_index = 0 tests_and_line_numbers.size.times do |i| source_lines[source_index..-1].each_with_index do |line, index| - if (line =~ /#{tests_and_line_numbers[i][:test]}/) - source_index += index - tests_and_line_numbers[i][:line_number] = source_index + 1 - break - end + next unless line =~ /#{tests_and_line_numbers[i][:test]}/ + source_index += index + tests_and_line_numbers[i][:line_number] = source_index + 1 + break end end - return tests_and_line_numbers + tests_and_line_numbers end def find_includes(source) - - #remove comments (block and line, in three steps to ensure correct precedence) + # remove comments (block and line, in three steps to ensure correct precedence) source.gsub!(/\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks source.gsub!(/\/\*.*?\*\//m, '') # remove block comments source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain) - #parse out includes + # parse out includes includes = { - :local => source.scan(/^\s*#include\s+\"\s*(.+)\.[hH]\s*\"/).flatten, - :system => source.scan(/^\s*#include\s+<\s*(.+)\s*>/).flatten.map { |inc| "<#{inc}>" } + local: source.scan(/^\s*#include\s+\"\s*(.+)\.[hH]\s*\"/).flatten, + system: source.scan(/^\s*#include\s+<\s*(.+)\s*>/).flatten.map { |inc| "<#{inc}>" }, + linkonly: source.scan(/^TEST_FILE\(\s*\"\s*(.+)\.[cC]\w*\s*\"/).flatten } - return includes + includes end def find_mocks(includes) mock_headers = [] includes.each do |include_path| include_file = File.basename(include_path) - mock_headers << include_path if (include_file =~ /^mock/i) + mock_headers << include_path if include_file =~ /^#{@options[:mock_prefix]}/i end - return mock_headers + mock_headers end - def create_header(output, mocks, testfile_includes=[]) + def create_header(output, mocks, testfile_includes = []) output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */') create_runtest(output, mocks) output.puts("\n/*=======Automagically Detected Files To Include=====*/") - output.puts("#include \"#{@options[:framework].to_s}.h\"") - output.puts('#include "cmock.h"') unless (mocks.empty?) + output.puts("#include \"#{@options[:framework]}.h\"") + output.puts('#include "cmock.h"') unless mocks.empty? output.puts('#include ') output.puts('#include ') - output.puts('#include "CException.h"') if @options[:plugins].include?(:cexception) - if (@options[:defines] && !@options[:defines].empty?) - @options[:defines].each {|d| output.puts("#define #{d}")} + if @options[:defines] && !@options[:defines].empty? + @options[:defines].each { |d| output.puts("#define #{d}") } end - if (@options[:header_file] && !@options[:header_file].empty?) + if @options[:header_file] && !@options[:header_file].empty? output.puts("#include \"#{File.basename(@options[:header_file])}\"") else @options[:includes].flatten.uniq.compact.each do |inc| - output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}") + output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}") end testfile_includes.each do |inc| - output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}") + output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}") end end mocks.each do |mock| - output.puts("#include \"#{mock.gsub('.h','')}.h\"") - end - if @options[:enforce_strict_ordering] - output.puts('') - output.puts('int GlobalExpectCount;') - output.puts('int GlobalVerifyOrder;') - output.puts('char* GlobalOrderError;') + output.puts("#include \"#{mock.gsub('.h', '')}.h\"") end + output.puts('#include "CException.h"') if @options[:plugins].include?(:cexception) + + return unless @options[:enforce_strict_ordering] + + output.puts('') + output.puts('int GlobalExpectCount;') + output.puts('int GlobalVerifyOrder;') + output.puts('char* GlobalOrderError;') end - def create_externs(output, tests, mocks) + def create_externs(output, tests, _mocks) output.puts("\n/*=======External Functions This Runner Calls=====*/") output.puts("extern void #{@options[:setup_name]}(void);") output.puts("extern void #{@options[:teardown_name]}(void);") @@ -203,55 +198,60 @@ class UnityTestRunnerGenerator end def create_mock_management(output, mock_headers) - unless (mock_headers.empty?) - output.puts("\n/*=======Mock Management=====*/") - output.puts("static void CMock_Init(void)") - output.puts("{") - if @options[:enforce_strict_ordering] - output.puts(" GlobalExpectCount = 0;") - output.puts(" GlobalVerifyOrder = 0;") - output.puts(" GlobalOrderError = NULL;") - end - mocks = mock_headers.map {|mock| File.basename(mock)} - mocks.each do |mock| - mock_clean = TypeSanitizer.sanitize_c_identifier(mock) - output.puts(" #{mock_clean}_Init();") - end - output.puts("}\n") + return if mock_headers.empty? - output.puts("static void CMock_Verify(void)") - output.puts("{") - mocks.each do |mock| - mock_clean = TypeSanitizer.sanitize_c_identifier(mock) - output.puts(" #{mock_clean}_Verify();") - end - output.puts("}\n") + output.puts("\n/*=======Mock Management=====*/") + output.puts('static void CMock_Init(void)') + output.puts('{') - output.puts("static void CMock_Destroy(void)") - output.puts("{") - mocks.each do |mock| - mock_clean = TypeSanitizer.sanitize_c_identifier(mock) - output.puts(" #{mock_clean}_Destroy();") - end - output.puts("}\n") + if @options[:enforce_strict_ordering] + output.puts(' GlobalExpectCount = 0;') + output.puts(' GlobalVerifyOrder = 0;') + output.puts(' GlobalOrderError = NULL;') end + + mocks = mock_headers.map { |mock| File.basename(mock) } + mocks.each do |mock| + mock_clean = TypeSanitizer.sanitize_c_identifier(mock) + output.puts(" #{mock_clean}_Init();") + end + output.puts("}\n") + + output.puts('static void CMock_Verify(void)') + output.puts('{') + mocks.each do |mock| + mock_clean = TypeSanitizer.sanitize_c_identifier(mock) + output.puts(" #{mock_clean}_Verify();") + end + output.puts("}\n") + + output.puts('static void CMock_Destroy(void)') + output.puts('{') + mocks.each do |mock| + mock_clean = TypeSanitizer.sanitize_c_identifier(mock) + output.puts(" #{mock_clean}_Destroy();") + end + output.puts("}\n") end - def create_suite_setup_and_teardown(output) - unless (@options[:suite_setup].nil?) - output.puts("\n/*=======Suite Setup=====*/") - output.puts("static void suite_setup(void)") - output.puts("{") - output.puts(@options[:suite_setup]) - output.puts("}") - end - unless (@options[:suite_teardown].nil?) - output.puts("\n/*=======Suite Teardown=====*/") - output.puts("static int suite_teardown(int num_failures)") - output.puts("{") - output.puts(@options[:suite_teardown]) - output.puts("}") - end + def create_suite_setup(output) + return if @options[:suite_setup].nil? + + output.puts("\n/*=======Suite Setup=====*/") + output.puts('static void suite_setup(void)') + output.puts('{') + output.puts(@options[:suite_setup]) + output.puts('}') + end + + def create_suite_teardown(output) + return if @options[:suite_teardown].nil? + + output.puts("\n/*=======Suite Teardown=====*/") + output.puts('static int suite_teardown(int num_failures)') + output.puts('{') + output.puts(@options[:suite_teardown]) + output.puts('}') end def create_runtest(output, used_mocks) @@ -259,124 +259,124 @@ class UnityTestRunnerGenerator va_args1 = @options[:use_param_tests] ? ', ...' : '' va_args2 = @options[:use_param_tests] ? '__VA_ARGS__' : '' output.puts("\n/*=======Test Runner Used To Run Each Test Below=====*/") - output.puts("#define RUN_TEST_NO_ARGS") if @options[:use_param_tests] + output.puts('#define RUN_TEST_NO_ARGS') if @options[:use_param_tests] output.puts("#define RUN_TEST(TestFunc, TestLineNum#{va_args1}) \\") - output.puts("{ \\") + output.puts('{ \\') output.puts(" Unity.CurrentTestName = #TestFunc#{va_args2.empty? ? '' : " \"(\" ##{va_args2} \")\""}; \\") - output.puts(" Unity.CurrentTestLineNumber = TestLineNum; \\") - output.puts(" if (UnityTestMatches()) { \\") if (@options[:cmdline_args]) - output.puts(" Unity.NumberOfTests++; \\") - output.puts(" CMock_Init(); \\") unless (used_mocks.empty?) - output.puts(" UNITY_CLR_DETAILS(); \\") unless (used_mocks.empty?) - output.puts(" if (TEST_PROTECT()) \\") - output.puts(" { \\") - output.puts(" CEXCEPTION_T e; \\") if cexception - output.puts(" Try { \\") if cexception + output.puts(' Unity.CurrentTestLineNumber = TestLineNum; \\') + output.puts(' if (UnityTestMatches()) { \\') if @options[:cmdline_args] + output.puts(' Unity.NumberOfTests++; \\') + output.puts(' CMock_Init(); \\') unless used_mocks.empty? + output.puts(' UNITY_CLR_DETAILS(); \\') unless used_mocks.empty? + output.puts(' if (TEST_PROTECT()) \\') + output.puts(' { \\') + output.puts(' CEXCEPTION_T e; \\') if cexception + output.puts(' Try { \\') if cexception output.puts(" #{@options[:setup_name]}(); \\") output.puts(" TestFunc(#{va_args2}); \\") - output.puts(" } Catch(e) { TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, \"Unhandled Exception!\"); } \\") if cexception - output.puts(" } \\") - output.puts(" if (TEST_PROTECT()) \\") - output.puts(" { \\") + output.puts(' } Catch(e) { TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!"); } \\') if cexception + output.puts(' } \\') + output.puts(' if (TEST_PROTECT()) \\') + output.puts(' { \\') output.puts(" #{@options[:teardown_name]}(); \\") - output.puts(" CMock_Verify(); \\") unless (used_mocks.empty?) - output.puts(" } \\") - output.puts(" CMock_Destroy(); \\") unless (used_mocks.empty?) - output.puts(" UnityConcludeTest(); \\") - output.puts(" } \\") if (@options[:cmdline_args]) + output.puts(' CMock_Verify(); \\') unless used_mocks.empty? + output.puts(' } \\') + output.puts(' CMock_Destroy(); \\') unless used_mocks.empty? + output.puts(' UnityConcludeTest(); \\') + output.puts(' } \\') if @options[:cmdline_args] output.puts("}\n") end def create_reset(output, used_mocks) output.puts("\n/*=======Test Reset Option=====*/") - output.puts("void resetTest(void);") - output.puts("void resetTest(void)") - output.puts("{") - output.puts(" CMock_Verify();") unless (used_mocks.empty?) - output.puts(" CMock_Destroy();") unless (used_mocks.empty?) + output.puts('void resetTest(void);') + output.puts('void resetTest(void)') + output.puts('{') + output.puts(' CMock_Verify();') unless used_mocks.empty? + output.puts(' CMock_Destroy();') unless used_mocks.empty? output.puts(" #{@options[:teardown_name]}();") - output.puts(" CMock_Init();") unless (used_mocks.empty?) + output.puts(' CMock_Init();') unless used_mocks.empty? output.puts(" #{@options[:setup_name]}();") - output.puts("}") + output.puts('}') end def create_main(output, filename, tests, used_mocks) output.puts("\n\n/*=======MAIN=====*/") - main_name = (@options[:main_name].to_sym == :auto) ? "main_#{filename.gsub('.c','')}" : "#{@options[:main_name]}" - if (@options[:cmdline_args]) - if (main_name != "main") + main_name = @options[:main_name].to_sym == :auto ? "main_#{filename.gsub('.c', '')}" : (@options[:main_name]).to_s + if @options[:cmdline_args] + if main_name != 'main' output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv);") end output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv)") - output.puts("{") - output.puts(" int parse_status = UnityParseOptions(argc, argv);") - output.puts(" if (parse_status != 0)") - output.puts(" {") - output.puts(" if (parse_status < 0)") - output.puts(" {") - output.puts(" UnityPrint(\"#{filename.gsub('.c','')}.\");") - output.puts(" UNITY_PRINT_EOL();") - if (@options[:use_param_tests]) + output.puts('{') + output.puts(' int parse_status = UnityParseOptions(argc, argv);') + output.puts(' if (parse_status != 0)') + output.puts(' {') + output.puts(' if (parse_status < 0)') + output.puts(' {') + output.puts(" UnityPrint(\"#{filename.gsub('.c', '')}.\");") + output.puts(' UNITY_PRINT_EOL();') + if @options[:use_param_tests] tests.each do |test| - if ((test[:args].nil?) or (test[:args].empty?)) + if test[:args].nil? || test[:args].empty? output.puts(" UnityPrint(\" #{test[:test]}(RUN_TEST_NO_ARGS)\");") - output.puts(" UNITY_PRINT_EOL();") + output.puts(' UNITY_PRINT_EOL();') else test[:args].each do |args| output.puts(" UnityPrint(\" #{test[:test]}(#{args})\");") - output.puts(" UNITY_PRINT_EOL();") + output.puts(' UNITY_PRINT_EOL();') end end end else - tests.each { |test| output.puts(" UnityPrint(\" #{test[:test]}\");\n UNITY_PRINT_EOL();")} + tests.each { |test| output.puts(" UnityPrint(\" #{test[:test]}\");\n UNITY_PRINT_EOL();") } end - output.puts(" return 0;") - output.puts(" }") - output.puts(" return parse_status;") - output.puts(" }") + output.puts(' return 0;') + output.puts(' }') + output.puts(' return parse_status;') + output.puts(' }') else - if (main_name != "main") + if main_name != 'main' output.puts("#{@options[:main_export_decl]} int #{main_name}(void);") end output.puts("int #{main_name}(void)") - output.puts("{") + output.puts('{') end - output.puts(" suite_setup();") unless @options[:suite_setup].nil? - output.puts(" UnityBegin(\"#{filename.gsub(/\\/,'\\\\\\')}\");") - if (@options[:use_param_tests]) + output.puts(' suite_setup();') unless @options[:suite_setup].nil? + output.puts(" UnityBegin(\"#{filename.gsub(/\\/, '\\\\\\')}\");") + if @options[:use_param_tests] tests.each do |test| - if ((test[:args].nil?) or (test[:args].empty?)) + if test[:args].nil? || test[:args].empty? output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, RUN_TEST_NO_ARGS);") else - test[:args].each {|args| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, #{args});")} + test[:args].each { |args| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, #{args});") } end end else - tests.each { |test| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]});") } + tests.each { |test| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]});") } end - output.puts() - output.puts(" CMock_Guts_MemFreeFinal();") unless used_mocks.empty? - output.puts(" return #{@options[:suite_teardown].nil? ? "" : "suite_teardown"}(UnityEnd());") - output.puts("}") + output.puts + output.puts(' CMock_Guts_MemFreeFinal();') unless used_mocks.empty? + output.puts(" return #{@options[:suite_teardown].nil? ? '' : 'suite_teardown'}(UnityEnd());") + output.puts('}') end def create_h_file(output, filename, tests, testfile_includes, used_mocks) - filename = File.basename(filename).gsub(/[-\/\\\.\,\s]/, "_").upcase - output.puts("/* AUTOGENERATED FILE. DO NOT EDIT. */") + filename = File.basename(filename).gsub(/[-\/\\\.\,\s]/, '_').upcase + output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */') output.puts("#ifndef _#{filename}") output.puts("#define _#{filename}\n\n") - output.puts("#include \"#{@options[:framework].to_s}.h\"") - output.puts('#include "cmock.h"') unless (used_mocks.empty?) + output.puts("#include \"#{@options[:framework]}.h\"") + output.puts('#include "cmock.h"') unless used_mocks.empty? @options[:includes].flatten.uniq.compact.each do |inc| - output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}") + output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}") end testfile_includes.each do |inc| - output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h','')}.h\""}") + output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}") end output.puts "\n" tests.each do |test| - if ((test[:params].nil?) or (test[:params].empty?)) + if test[:params].nil? || test[:params].empty? output.puts("void #{test[:test]}(void);") else output.puts("void #{test[:test]}(#{test[:params]});") @@ -386,50 +386,52 @@ class UnityTestRunnerGenerator end end -if ($0 == __FILE__) - options = { :includes => [] } - yaml_file = nil +if $0 == __FILE__ + options = { includes: [] } - #parse out all the options first (these will all be removed as we go) + # parse out all the options first (these will all be removed as we go) ARGV.reject! do |arg| - case(arg) - when '-cexception' - options[:plugins] = [:cexception]; true - when /\.*\.ya?ml/ - options = UnityTestRunnerGenerator.grab_config(arg); true - when /--(\w+)=\"?(.*)\"?/ - options[$1.to_sym] = $2; true - when /\.*\.h/ - options[:includes] << arg; true - else false + case arg + when '-cexception' + options[:plugins] = [:cexception] + true + when /\.*\.ya?ml/ + options = UnityTestRunnerGenerator.grab_config(arg) + true + when /--(\w+)=\"?(.*)\"?/ + options[Regexp.last_match(1).to_sym] = Regexp.last_match(2) + true + when /\.*\.h/ + options[:includes] << arg + true + else false end end - #make sure there is at least one parameter left (the input file) - if !ARGV[0] + # make sure there is at least one parameter left (the input file) + unless ARGV[0] puts ["\nusage: ruby #{__FILE__} (files) (options) input_test_file (output)", - "\n input_test_file - this is the C file you want to create a runner for", - " output - this is the name of the runner file to generate", - " defaults to (input_test_file)_Runner", - " files:", - " *.yml / *.yaml - loads configuration from here in :unity or :cmock", - " *.h - header files are added as #includes in runner", - " options:", - " -cexception - include cexception support", - " --setup_name=\"\" - redefine setUp func name to something else", - " --teardown_name=\"\" - redefine tearDown func name to something else", - " --main_name=\"\" - redefine main func name to something else", - " --test_prefix=\"\" - redefine test prefix from default test|spec|should", - " --suite_setup=\"\" - code to execute for setup of entire suite", - " --suite_teardown=\"\" - code to execute for teardown of entire suite", - " --use_param_tests=1 - enable parameterized tests (disabled by default)", - " --header_file=\"\" - path/name of test header file to generate too" - ].join("\n") + "\n input_test_file - this is the C file you want to create a runner for", + ' output - this is the name of the runner file to generate', + ' defaults to (input_test_file)_Runner', + ' files:', + ' *.yml / *.yaml - loads configuration from here in :unity or :cmock', + ' *.h - header files are added as #includes in runner', + ' options:', + ' -cexception - include cexception support', + ' --setup_name="" - redefine setUp func name to something else', + ' --teardown_name="" - redefine tearDown func name to something else', + ' --main_name="" - redefine main func name to something else', + ' --test_prefix="" - redefine test prefix from default test|spec|should', + ' --suite_setup="" - code to execute for setup of entire suite', + ' --suite_teardown="" - code to execute for teardown of entire suite', + ' --use_param_tests=1 - enable parameterized tests (disabled by default)', + ' --header_file="" - path/name of test header file to generate too'].join("\n") exit 1 end - #create the default test runner name if not specified - ARGV[1] = ARGV[0].gsub(".c","_Runner.c") if (!ARGV[1]) + # create the default test runner name if not specified + ARGV[1] = ARGV[0].gsub('.c', '_Runner.c') unless ARGV[1] UnityTestRunnerGenerator.new(options).run(ARGV[0], ARGV[1]) end diff --git a/auto/parseOutput.rb b/auto/parseOutput.rb deleted file mode 100644 index e8dbf08..0000000 --- a/auto/parseOutput.rb +++ /dev/null @@ -1,224 +0,0 @@ -#============================================================ -# Author: John Theofanopoulos -# A simple parser. Takes the output files generated during the build process and -# extracts information relating to the tests. -# -# Notes: -# To capture an output file under VS builds use the following: -# devenv [build instructions] > Output.txt & type Output.txt -# -# To capture an output file under GCC/Linux builds use the following: -# make | tee Output.txt -# -# To use this parser use the following command -# ruby parseOutput.rb [options] [file] -# options: -xml : produce a JUnit compatible XML file -# file : file to scan for results -#============================================================ - - -class ParseOutput -# The following flag is set to true when a test is found or false otherwise. - @testFlag - @xmlOut - @arrayList - @totalTests - @classIndex - -# Set the flag to indicate if there will be an XML output file or not - def setXmlOutput() - @xmlOut = true - end - -# if write our output to XML - def writeXmlOuput() - output = File.open("report.xml", "w") - output << "\n" - @arrayList.each do |item| - output << item << "\n" - end - output << "\n" - end - -# This function will try and determine when the suite is changed. This is -# is the name that gets added to the classname parameter. - def testSuiteVerify(testSuiteName) - if @testFlag == false - @testFlag = true; - # Split the path name - testName = testSuiteName.split("/") - # Remove the extension - baseName = testName[testName.size - 1].split(".") - @testSuite = "test." + baseName[0] - printf "New Test: %s\n", @testSuite - end - end - - -# Test was flagged as having passed so format the output - def testPassed(array) - lastItem = array.length - 1 - testName = array[lastItem - 1] - testSuiteVerify(array[@className]) - printf "%-40s PASS\n", testName - if @xmlOut == true - @arrayList.push " " - end - end - -# Test was flagged as having passed so format the output. -# This is using the Unity fixture output and not the original Unity output. - def testPassedUnityFixture(array) - testSuite = array[0].sub("TEST(", "") - testSuite = testSuite.sub(",", "") - testName = array[1].sub(")", "") - if @xmlOut == true - @arrayList.push " " - end - end - -# Test was flagged as being ingored so format the output - def testIgnored(array) - lastItem = array.length - 1 - testName = array[lastItem - 2] - reason = array[lastItem].chomp - testSuiteVerify(array[@className]) - printf "%-40s IGNORED\n", testName - - if testName.start_with? "TEST(" - array2 = testName.split(" ") - @testSuite = array2[0].sub("TEST(", "") - @testSuite = @testSuite.sub(",", "") - testName = array2[1].sub(")", "") - end - - if @xmlOut == true - @arrayList.push " " - @arrayList.push " " + reason + " " - @arrayList.push " " - end - end - -# Test was flagged as having failed so format the line - def testFailed(array) - lastItem = array.length - 1 - testName = array[lastItem - 2] - reason = array[lastItem].chomp + " at line: " + array[lastItem - 3] - testSuiteVerify(array[@className]) - printf "%-40s FAILED\n", testName - - if testName.start_with? "TEST(" - array2 = testName.split(" ") - @testSuite = array2[0].sub("TEST(", "") - @testSuite = @testSuite.sub(",", "") - testName = array2[1].sub(")", "") - end - - if @xmlOut == true - @arrayList.push " " - @arrayList.push " " + reason + " " - @arrayList.push " " - end - end - - -# Figure out what OS we are running on. For now we are assuming if it's not Windows it must -# be Unix based. - def detectOS() - myOS = RUBY_PLATFORM.split("-") - if myOS.size == 2 - if myOS[1] == "mingw32" - @className = 1 - else - @className = 0 - end - else - @className = 0 - end - - end - -# Main function used to parse the file that was captured. - def process(name) - @testFlag = false - @arrayList = Array.new - - detectOS() - - puts "Parsing file: " + name - - - testPass = 0 - testFail = 0 - testIgnore = 0 - puts "" - puts "=================== RESULTS =====================" - puts "" - File.open(name).each do |line| - # Typical test lines look like this: - # /.c:36:test_tc1000_opsys:FAIL: Expected 1 Was 0 - # /.c:112:test_tc5004_initCanChannel:IGNORE: Not Yet Implemented - # /.c:115:test_tc5100_initCanVoidPtrs:PASS - # - # where path is different on Unix vs Windows devices (Windows leads with a drive letter) - lineArray = line.split(":") - lineSize = lineArray.size - # If we were able to split the line then we can look to see if any of our target words - # were found. Case is important. - if ((lineSize >= 4) || (line.start_with? "TEST(")) - # Determine if this test passed - if line.include? ":PASS" - testPassed(lineArray) - testPass += 1 - elsif line.include? ":FAIL:" - testFailed(lineArray) - testFail += 1 - elsif line.include? ":IGNORE:" - testIgnored(lineArray) - testIgnore += 1 - elsif line.start_with? "TEST(" - if line.include? " PASS" - lineArray = line.split(" ") - testPassedUnityFixture(lineArray) - testPass += 1 - end - # If none of the keywords are found there are no more tests for this suite so clear - # the test flag - else - @testFlag = false - end - else - @testFlag = false - end - end - puts "" - puts "=================== SUMMARY =====================" - puts "" - puts "Tests Passed : " + testPass.to_s - puts "Tests Failed : " + testFail.to_s - puts "Tests Ignored : " + testIgnore.to_s - @totalTests = testPass + testFail + testIgnore - if @xmlOut == true - heading = "" - @arrayList.insert(0, heading) - writeXmlOuput() - end - - # return result - end - - end - -# If the command line has no values in, used a default value of Output.txt -parseMyFile = ParseOutput.new - -if ARGV.size >= 1 - ARGV.each do |a| - if a == "-xml" - parseMyFile.setXmlOutput(); - else - parseMyFile.process(a) - break - end - end -end diff --git a/auto/parse_output.rb b/auto/parse_output.rb new file mode 100644 index 0000000..f16cdb0 --- /dev/null +++ b/auto/parse_output.rb @@ -0,0 +1,220 @@ +#============================================================ +# Author: John Theofanopoulos +# A simple parser. Takes the output files generated during the build process and +# extracts information relating to the tests. +# +# Notes: +# To capture an output file under VS builds use the following: +# devenv [build instructions] > Output.txt & type Output.txt +# +# To capture an output file under GCC/Linux builds use the following: +# make | tee Output.txt +# +# To use this parser use the following command +# ruby parseOutput.rb [options] [file] +# options: -xml : produce a JUnit compatible XML file +# file : file to scan for results +#============================================================ + +class ParseOutput + def initialize + @test_flag = false + @xml_out = false + @array_list = false + @total_tests = false + @class_index = false + end + + # Set the flag to indicate if there will be an XML output file or not + def set_xml_output + @xml_out = true + end + + # if write our output to XML + def write_xml_output + output = File.open('report.xml', 'w') + output << "\n" + @array_list.each do |item| + output << item << "\n" + end + output << "\n" + end + + # This function will try and determine when the suite is changed. This is + # is the name that gets added to the classname parameter. + def test_suite_verify(test_suite_name) + return if @test_flag + + @test_flag = true + # Split the path name + test_name = test_suite_name.split('/') + # Remove the extension + base_name = test_name[test_name.size - 1].split('.') + @test_suite = 'test.' + base_name[0] + printf "New Test: %s\n", @test_suite + end + + # Test was flagged as having passed so format the output + def test_passed(array) + last_item = array.length - 1 + test_name = array[last_item - 1] + test_suite_verify(array[@class_name]) + printf "%-40s PASS\n", test_name + + return unless @xml_out + + @array_list.push ' ' + end + + # Test was flagged as having passed so format the output. + # This is using the Unity fixture output and not the original Unity output. + def test_passed_unity_fixture(array) + test_suite = array[0].sub('TEST(', '') + test_suite = test_suite.sub(',', '') + test_name = array[1].sub(')', '') + + return unless @xml_out + + @array_list.push ' ' + end + + # Test was flagged as being ingored so format the output + def test_ignored(array) + last_item = array.length - 1 + test_name = array[last_item - 2] + reason = array[last_item].chomp + test_suite_verify(array[@class_name]) + printf "%-40s IGNORED\n", test_name + + if test_name.start_with? 'TEST(' + array2 = test_name.split(' ') + @test_suite = array2[0].sub('TEST(', '') + @test_suite = @test_suite.sub(',', '') + test_name = array2[1].sub(')', '') + end + + return unless @xml_out + + @array_list.push ' ' + @array_list.push ' ' + reason + ' ' + @array_list.push ' ' + end + + # Test was flagged as having failed so format the line + def test_failed(array) + last_item = array.length - 1 + test_name = array[last_item - 2] + reason = array[last_item].chomp + ' at line: ' + array[last_item - 3] + test_suite_verify(array[@class_name]) + printf "%-40s FAILED\n", test_name + + if test_name.start_with? 'TEST(' + array2 = test_name.split(' ') + @test_suite = array2[0].sub('TEST(', '') + @test_suite = @test_suite.sub(',', '') + test_name = array2[1].sub(')', '') + end + + return unless @xml_out + + @array_list.push ' ' + @array_list.push ' ' + reason + ' ' + @array_list.push ' ' + end + + # Figure out what OS we are running on. For now we are assuming if it's not Windows it must + # be Unix based. + def detect_os + os = RUBY_PLATFORM.split('-') + @class_name = if os.size == 2 + if os[1] == 'mingw32' + 1 + else + 0 + end + else + 0 + end + end + + # Main function used to parse the file that was captured. + def process(name) + @test_flag = false + @array_list = [] + + detect_os + + puts 'Parsing file: ' + name + + test_pass = 0 + test_fail = 0 + test_ignore = 0 + puts '' + puts '=================== RESULTS =====================' + puts '' + File.open(name).each do |line| + # Typical test lines look like this: + # /.c:36:test_tc1000_opsys:FAIL: Expected 1 Was 0 + # /.c:112:test_tc5004_initCanChannel:IGNORE: Not Yet Implemented + # /.c:115:test_tc5100_initCanVoidPtrs:PASS + # + # where path is different on Unix vs Windows devices (Windows leads with a drive letter) + line_array = line.split(':') + + # If we were able to split the line then we can look to see if any of our target words + # were found. Case is important. + if (line_array.size >= 4) || (line.start_with? 'TEST(') + # Determine if this test passed + if line.include? ':PASS' + test_passed(line_array) + test_pass += 1 + elsif line.include? ':FAIL:' + test_failed(line_array) + test_fail += 1 + elsif line.include? ':IGNORE:' + test_ignored(line_array) + test_ignore += 1 + elsif line.start_with? 'TEST(' + if line.include? ' PASS' + line_array = line.split(' ') + test_passed_unity_fixture(line_array) + test_pass += 1 + end + # If none of the keywords are found there are no more tests for this suite so clear + # the test flag + else + @test_flag = false + end + else + @test_flag = false + end + end + puts '' + puts '=================== SUMMARY =====================' + puts '' + puts 'Tests Passed : ' + test_pass.to_s + puts 'Tests Failed : ' + test_fail.to_s + puts 'Tests Ignored : ' + test_ignore.to_s + @total_tests = test_pass + test_fail + test_ignore + + return unless @xml_out + + heading = '' + @array_list.insert(0, heading) + write_xml_output + end +end + +# If the command line has no values in, used a default value of Output.txt +parse_my_file = ParseOutput.new + +if ARGV.size >= 1 + ARGV.each do |a| + if a == '-xml' + parse_my_file.set_xml_output + else + parse_my_file.process(a) + break + end + end +end diff --git a/auto/stylize_as_junit.rb b/auto/stylize_as_junit.rb index 27ac76d..b3d8f40 100644 --- a/auto/stylize_as_junit.rb +++ b/auto/stylize_as_junit.rb @@ -12,7 +12,6 @@ require 'pp' VERSION = 1.0 class ArgvParser - # # Return a structure describing the options. # @@ -20,41 +19,41 @@ class ArgvParser # The options specified on the command line will be collected in *options*. # We set default values here. options = OpenStruct.new - options.results_dir = "." - options.root_path = "." - options.out_file = "results.xml" + options.results_dir = '.' + options.root_path = '.' + options.out_file = 'results.xml' - opts = OptionParser.new do |opts| - opts.banner = "Usage: unity_to_junit.rb [options]" + opts = OptionParser.new do |o| + o.banner = 'Usage: unity_to_junit.rb [options]' - opts.separator "" - opts.separator "Specific options:" + o.separator '' + o.separator 'Specific options:' - opts.on("-r", "--results ", "Look for Unity Results files here.") do |results| - #puts "results #{results}" + o.on('-r', '--results ', 'Look for Unity Results files here.') do |results| + # puts "results #{results}" options.results_dir = results end - opts.on("-p", "--root_path ", "Prepend this path to files in results.") do |root_path| + o.on('-p', '--root_path ', 'Prepend this path to files in results.') do |root_path| options.root_path = root_path end - opts.on("-o", "--output ", "XML file to generate.") do |out_file| - #puts "out_file: #{out_file}" + o.on('-o', '--output ', 'XML file to generate.') do |out_file| + # puts "out_file: #{out_file}" options.out_file = out_file end - opts.separator "" - opts.separator "Common options:" + o.separator '' + o.separator 'Common options:' # No argument, shows at tail. This will print an options summary. - opts.on_tail("-h", "--help", "Show this message") do - puts opts + o.on_tail('-h', '--help', 'Show this message') do + puts o exit end # Another typical switch to print the version. - opts.on_tail("--version", "Show version") do + o.on_tail('--version', 'Show version') do puts "unity_to_junit.rb version #{VERSION}" exit end @@ -62,13 +61,13 @@ class ArgvParser opts.parse!(args) options - end # parse() - -end # class OptparseExample + end # parse() +end # class OptparseExample class UnityToJUnit include FileUtils::Verbose attr_reader :report, :total_tests, :failures, :ignored + attr_writer :targets, :root, :out_file def initialize @report = '' @@ -77,125 +76,115 @@ class UnityToJUnit def run # Clean up result file names - results = @targets.map {|target| target.gsub(/\\/,"/")} - #puts "Output File: #{@out_file}" - f = File.new(@out_file, "w") + results = @targets.map { |target| target.tr('\\', '/') } + # puts "Output File: #{@out_file}" + f = File.new(@out_file, 'w') write_xml_header(f) - write_suites_header( f ) + write_suites_header(f) results.each do |result_file| - lines = File.readlines(result_file).map { |line| line.chomp } - if lines.length == 0 - raise "Empty test result file: #{result_file}" - else - result_output = get_details(result_file, lines) - tests,failures,ignored = parse_test_summary(lines) - result_output[:counts][:total] = tests - result_output[:counts][:failed] = failures - result_output[:counts][:ignored] = ignored - result_output[:counts][:passed] = (result_output[:counts][:total] - result_output[:counts][:failed] - result_output[:counts][:ignored]) - end - #use line[0] from the test output to get the test_file path and name - test_file_str = lines[0].gsub("\\","/") - test_file_str = test_file_str.split(":") - test_file = if (test_file_str.length < 2) - result_file - else - test_file_str[0] + ':' + test_file_str[1] - end + lines = File.readlines(result_file).map(&:chomp) + + raise "Empty test result file: #{result_file}" if lines.empty? + + result_output = get_details(result_file, lines) + tests, failures, ignored = parse_test_summary(lines) + result_output[:counts][:total] = tests + result_output[:counts][:failed] = failures + result_output[:counts][:ignored] = ignored + result_output[:counts][:passed] = (result_output[:counts][:total] - result_output[:counts][:failed] - result_output[:counts][:ignored]) + + # use line[0] from the test output to get the test_file path and name + test_file_str = lines[0].tr('\\', '/') + test_file_str = test_file_str.split(':') + test_file = if test_file_str.length < 2 + result_file + else + test_file_str[0] + ':' + test_file_str[1] + end result_output[:source][:path] = File.dirname(test_file) result_output[:source][:file] = File.basename(test_file) # save result_output - @unit_name = File.basename(test_file, ".*") + @unit_name = File.basename(test_file, '.*') - write_suite_header( result_output[:counts], f) - write_failures( result_output, f ) - write_tests( result_output, f ) - write_ignored( result_output, f ) - write_suite_footer( f ) + write_suite_header(result_output[:counts], f) + write_failures(result_output, f) + write_tests(result_output, f) + write_ignored(result_output, f) + write_suite_footer(f) end - write_suites_footer( f ) + write_suites_footer(f) f.close end - def set_targets(target_array) - @targets = target_array - end - - def set_root_path(path) - @root = path - end - def set_out_file(filename) - @out_file = filename - end - def usage(err_msg=nil) + def usage(err_msg = nil) puts "\nERROR: " puts err_msg if err_msg - puts "Usage: unity_to_junit.rb [options]" - puts "" - puts "Specific options:" - puts " -r, --results Look for Unity Results files here." - puts " -p, --root_path Prepend this path to files in results." - puts " -o, --output XML file to generate." - puts "" - puts "Common options:" - puts " -h, --help Show this message" - puts " --version Show version" + puts 'Usage: unity_to_junit.rb [options]' + puts '' + puts 'Specific options:' + puts ' -r, --results Look for Unity Results files here.' + puts ' -p, --root_path Prepend this path to files in results.' + puts ' -o, --output XML file to generate.' + puts '' + puts 'Common options:' + puts ' -h, --help Show this message' + puts ' --version Show version' exit 1 end protected - def get_details(result_file, lines) - results = get_results_structure + + def get_details(_result_file, lines) + results = results_structure lines.each do |line| - line = line.gsub("\\","/") - src_file,src_line,test_name,status,msg = line.split(/:/) - line_out = ((@root and (@root != 0)) ? "#{@root}#{line}" : line ).gsub(/\//, "\\") - case(status) - when 'IGNORE' then results[:ignores] << {:test => test_name, :line => src_line, :message => msg} - when 'FAIL' then results[:failures] << {:test => test_name, :line => src_line, :message => msg} - when 'PASS' then results[:successes] << {:test => test_name, :line => src_line, :message => msg} + line = line.tr('\\', '/') + _src_file, src_line, test_name, status, msg = line.split(/:/) + case status + when 'IGNORE' then results[:ignores] << { test: test_name, line: src_line, message: msg } + when 'FAIL' then results[:failures] << { test: test_name, line: src_line, message: msg } + when 'PASS' then results[:successes] << { test: test_name, line: src_line, message: msg } end end - return results + results end def parse_test_summary(summary) - if summary.find { |v| v =~ /(\d+) Tests (\d+) Failures (\d+) Ignored/ } - [$1.to_i,$2.to_i,$3.to_i] - else - raise "Couldn't parse test results: #{summary}" - end + raise "Couldn't parse test results: #{summary}" unless summary.find { |v| v =~ /(\d+) Tests (\d+) Failures (\d+) Ignored/ } + [Regexp.last_match(1).to_i, Regexp.last_match(2).to_i, Regexp.last_match(3).to_i] + end + + def here + File.expand_path(File.dirname(__FILE__)) end - def here; File.expand_path(File.dirname(__FILE__)); end private - def get_results_structure - return { - :source => {:path => '', :file => ''}, - :successes => [], - :failures => [], - :ignores => [], - :counts => {:total => 0, :passed => 0, :failed => 0, :ignored => 0}, - :stdout => [], + def results_structure + { + source: { path: '', file: '' }, + successes: [], + failures: [], + ignores: [], + counts: { total: 0, passed: 0, failed: 0, ignored: 0 }, + stdout: [] } end - def write_xml_header( stream ) + def write_xml_header(stream) stream.puts "" end - def write_suites_header( stream ) - stream.puts "" + def write_suites_header(stream) + stream.puts '' end - def write_suite_header( counts, stream ) + def write_suite_header(counts, stream) stream.puts "\t" end - def write_failures( results, stream ) + def write_failures(results, stream) result = results[:failures] result.each do |item| filename = File.join(results[:source][:path], File.basename(results[:source][:file], '.*')) @@ -206,15 +195,14 @@ class UnityToJUnit end end - def write_tests( results, stream ) + def write_tests(results, stream) result = results[:successes] result.each do |item| - filename = File.join(results[:source][:path], File.basename(results[:source][:file], '.*')) stream.puts "\t\t" end end - def write_ignored( results, stream ) + def write_ignored(results, stream) result = results[:ignores] result.each do |item| filename = File.join(results[:source][:path], File.basename(results[:source][:file], '.*')) @@ -226,39 +214,39 @@ class UnityToJUnit end end - def write_suite_footer( stream ) + def write_suite_footer(stream) stream.puts "\t" end - def write_suites_footer( stream ) - stream.puts "" + def write_suites_footer(stream) + stream.puts '' end -end #UnityToJUnit +end # UnityToJUnit if __FILE__ == $0 - #parse out the command options + # parse out the command options options = ArgvParser.parse(ARGV) - #create an instance to work with + # create an instance to work with utj = UnityToJUnit.new begin - #look in the specified or current directory for result files - targets = "#{options.results_dir.gsub(/\\/, '/')}**/*.test*" + # look in the specified or current directory for result files + targets = "#{options.results_dir.tr('\\', '/')}**/*.test*" results = Dir[targets] raise "No *.testpass, *.testfail, or *.testresults files found in '#{targets}'" if results.empty? - utj.set_targets(results) + utj.targets = results - #set the root path - utj.set_root_path(options.root_path) + # set the root path + utj.root = options.root_path - #set the output XML file name - #puts "Output File from options: #{options.out_file}" - utj.set_out_file(options.out_file) + # set the output XML file name + # puts "Output File from options: #{options.out_file}" + utj.out_file = options.out_file - #run the summarizer + # run the summarizer puts utj.run - rescue Exception => e + rescue StandardError => e utj.usage e.message end end diff --git a/auto/test_file_filter.rb b/auto/test_file_filter.rb index 3dbc26a..aad28e3 100644 --- a/auto/test_file_filter.rb +++ b/auto/test_file_filter.rb @@ -2,7 +2,7 @@ # Unity Project - A Test Framework for C # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams # [Released under MIT License. Please refer to license.txt for details] -# ========================================== +# ========================================== require'yaml' @@ -10,14 +10,16 @@ module RakefileHelpers class TestFileFilter def initialize(all_files = false) @all_files = all_files - if not @all_files == true - if File.exist?('test_file_filter.yml') - filters = YAML.load_file( 'test_file_filter.yml' ) - @all_files, @only_files, @exclude_files = - filters[:all_files], filters[:only_files], filters[:exclude_files] - end - end - end + + return false unless @all_files + return false unless File.exist?('test_file_filter.yml') + + filters = YAML.load_file('test_file_filter.yml') + @all_files = filters[:all_files] + @only_files = filters[:only_files] + @exclude_files = filters[:exclude_files] + end + attr_accessor :all_files, :only_files, :exclude_files end end diff --git a/auto/type_sanitizer.rb b/auto/type_sanitizer.rb index 7c2c0ac..dafb882 100644 --- a/auto/type_sanitizer.rb +++ b/auto/type_sanitizer.rb @@ -1,8 +1,6 @@ module TypeSanitizer - def self.sanitize_c_identifier(unsanitized) # convert filename to valid C identifier by replacing invalid chars with '_' - return unsanitized.gsub(/[-\/\\\.\,\s]/, "_") + unsanitized.gsub(/[-\/\\\.\,\s]/, '_') end - end diff --git a/auto/unity_test_summary.rb b/auto/unity_test_summary.rb index 8f992e5..b37dc5f 100644 --- a/auto/unity_test_summary.rb +++ b/auto/unity_test_summary.rb @@ -4,7 +4,7 @@ # [Released under MIT License. Please refer to license.txt for details] # ========================================== -#!/usr/bin/ruby +# !/usr/bin/ruby # # unity_test_summary.rb # @@ -15,37 +15,35 @@ class UnityTestSummary include FileUtils::Verbose attr_reader :report, :total_tests, :failures, :ignored + attr_writer :targets, :root - def initialize(opts = {}) + def initialize(_opts = {}) @report = '' @total_tests = 0 @failures = 0 @ignored = 0 - - end def run # Clean up result file names - results = @targets.map {|target| target.gsub(/\\/,'/')} + results = @targets.map { |target| target.tr('\\', '/') } # Dig through each result file, looking for details on pass/fail: failure_output = [] ignore_output = [] results.each do |result_file| - lines = File.readlines(result_file).map { |line| line.chomp } - if lines.length == 0 - raise "Empty test result file: #{result_file}" - else - output = get_details(result_file, lines) - failure_output << output[:failures] unless output[:failures].empty? - ignore_output << output[:ignores] unless output[:ignores].empty? - tests,failures,ignored = parse_test_summary(lines) - @total_tests += tests - @failures += failures - @ignored += ignored - end + lines = File.readlines(result_file).map(&:chomp) + + raise "Empty test result file: #{result_file}" if lines.empty? + + output = get_details(result_file, lines) + failure_output << output[:failures] unless output[:failures].empty? + ignore_output << output[:ignores] unless output[:ignores].empty? + tests, failures, ignored = parse_test_summary(lines) + @total_tests += tests + @failures += failures + @ignored += ignored end if @ignored > 0 @@ -72,77 +70,67 @@ class UnityTestSummary @report += "\n" end - def set_targets(target_array) - @targets = target_array - end - - def set_root_path(path) - @root = path - end - - def usage(err_msg=nil) + def usage(err_msg = nil) puts "\nERROR: " puts err_msg if err_msg puts "\nUsage: unity_test_summary.rb result_file_directory/ root_path/" - puts " result_file_directory - The location of your results files." - puts " Defaults to current directory if not specified." - puts " Should end in / if specified." - puts " root_path - Helpful for producing more verbose output if using relative paths." + puts ' result_file_directory - The location of your results files.' + puts ' Defaults to current directory if not specified.' + puts ' Should end in / if specified.' + puts ' root_path - Helpful for producing more verbose output if using relative paths.' exit 1 end protected - def get_details(result_file, lines) - results = { :failures => [], :ignores => [], :successes => [] } + def get_details(_result_file, lines) + results = { failures: [], ignores: [], successes: [] } lines.each do |line| - src_file,src_line,test_name,status,msg = line.split(/:/) - line_out = ((@root && (@root != 0)) ? "#{@root}#{line}" : line ).gsub(/\//, "\\") - case(status) - when 'IGNORE' then results[:ignores] << line_out - when 'FAIL' then results[:failures] << line_out - when 'PASS' then results[:successes] << line_out + _src_file, _src_line, _test_name, status, _msg = line.split(/:/) + line_out = (@root && (@root != 0) ? "#{@root}#{line}" : line).gsub(/\//, '\\') + case status + when 'IGNORE' then results[:ignores] << line_out + when 'FAIL' then results[:failures] << line_out + when 'PASS' then results[:successes] << line_out end end - return results + results end def parse_test_summary(summary) - if summary.find { |v| v =~ /(\d+) Tests (\d+) Failures (\d+) Ignored/ } - [$1.to_i,$2.to_i,$3.to_i] - else - raise "Couldn't parse test results: #{summary}" - end + raise "Couldn't parse test results: #{summary}" unless summary.find { |v| v =~ /(\d+) Tests (\d+) Failures (\d+) Ignored/ } + [Regexp.last_match(1).to_i, Regexp.last_match(2).to_i, Regexp.last_match(3).to_i] end - def here; File.expand_path(File.dirname(__FILE__)); end - + def here + File.expand_path(File.dirname(__FILE__)) + end end if $0 == __FILE__ - #parse out the command options - opts, args = ARGV.partition {|v| v =~ /^--\w+/} - opts.map! {|v| v[2..-1].to_sym } + # parse out the command options + opts, args = ARGV.partition { |v| v =~ /^--\w+/ } + opts.map! { |v| v[2..-1].to_sym } - #create an instance to work with + # create an instance to work with uts = UnityTestSummary.new(opts) begin - #look in the specified or current directory for result files + # look in the specified or current directory for result files args[0] ||= './' - targets = "#{ARGV[0].gsub(/\\/, '/')}**/*.test*" + targets = "#{ARGV[0].tr('\\', '/')}**/*.test*" results = Dir[targets] raise "No *.testpass, *.testfail, or *.testresults files found in '#{targets}'" if results.empty? - uts.set_targets(results) + uts.targets = results - #set the root path + # set the root path args[1] ||= Dir.pwd + '/' - uts.set_root_path(ARGV[1]) + uts.root = ARGV[1] - #run the summarizer + # run the summarizer puts uts.run - rescue Exception => e + rescue StandardError => e uts.usage e.message end end diff --git a/docs/ThrowTheSwitchCodingStandard.md b/docs/ThrowTheSwitchCodingStandard.md new file mode 100644 index 0000000..a85adef --- /dev/null +++ b/docs/ThrowTheSwitchCodingStandard.md @@ -0,0 +1,207 @@ +# ThrowTheSwitch.org Coding Standard + +Hi. Welcome to the coding standard for ThrowTheSwitch.org. For the most part, +we try to follow these standards to unify our contributors' code into a cohesive +unit (puns intended). You might find places where these standards aren't +followed. We're not perfect. Please be polite where you notice these discrepancies +and we'll try to be polite when we notice yours. + +;) + + +## Why Have A Coding Standard? + +Being consistent makes code easier to understand. We've made an attempt to keep +our standard simple because we also believe that we can only expect someone to +follow something that is understandable. Please do your best. + + +## Our Philosophy + +Before we get into details on syntax, let's take a moment to talk about our +vision for these tools. We're C developers and embedded software developers. +These tools are great to test any C code, but catering to embedded software has +made us more tolerant of compiler quirks. There are a LOT of quirky compilers +out there. By quirky I mean "doesn't follow standards because they feel like +they have a license to do as they wish." + +Our philosophy is "support every compiler we can". Most often, this means that +we aim for writing C code that is standards compliant (often C89... that seems +to be a sweet spot that is almost always compatible). But it also means these +tools are tolerant of things that aren't common. Some that aren't even +compliant. There are configuration options to override the size of standard +types. There are configuration options to force Unity to not use certain +standard library functions. A lot of Unity is configurable and we have worked +hard to make it not TOO ugly in the process. + +Similarly, our tools that parse C do their best. They aren't full C parsers +(yet) and, even if they were, they would still have to accept non-standard +additions like gcc extensions or specifying `@0x1000` to force a variable to +compile to a particular location. It's just what we do, because we like +everything to Just Work™. + +Speaking of having things Just Work™, that's our second philosophy. By that, we +mean that we do our best to have EVERY configuration option have a logical +default. We believe that if you're working with a simple compiler and target, +you shouldn't need to configure very much... we try to make the tools guess as +much as they can, but give the user the power to override it when it's wrong. + + +## Naming Things + +Let's talk about naming things. Programming is all about naming things. We name +files, functions, variables, and so much more. While we're not always going to +find the best name for something, we actually put quite a bit of effort into +finding *What Something WANTS to be Called*™. + +When naming things, we more or less follow this hierarchy, the first being the +most important to us (but we do all four whenever possible): +1. Readable +2. Descriptive +3. Consistent +4. Memorable + + +#### Readable + +We want to read our code. This means we like names and flow that are more +naturally read. We try to avoid double negatives. We try to avoid cryptic +abbreviations (sticking to ones we feel are common). + + +#### Descriptive + +We like descriptive names for things, especially functions and variables. +Finding the right name for something is an important endeavor. You might notice +from poking around our code that this often results in names that are a little +longer than the average. Guilty. We're okay with a tiny bit more typing if it +means our code is easier to understand. + +There are two exceptions to this rule that we also stick to as religiously as +possible: + +First, while we realize hungarian notation (and similar systems for encoding +type information into variable names) is providing a more descriptive name, we +feel that (for the average developer) it takes away from readability and +therefore is to be avoided. + +Second, loop counters and other local throw-away variables often have a purpose +which is obvious. There's no need, therefore, to get carried away with complex +naming. We find i, j, and k are better loop counters than loopCounterVar or +whatnot. We only break this rule when we see that more description could improve +understanding of an algorithm. + + +#### Consistent + +We like consistency, but we're not really obsessed with it. We try to name our +configuration macros in a consistent fashion... you'll notice a repeated use of +UNITY_EXCLUDE_BLAH or UNITY_USES_BLAH macros. This helps users avoid having to +remember each macro's details. + + +#### Memorable + +Where ever it doesn't violate the above principles, we try to apply memorable +names. Sometimes this means using something that is simply descriptive, but +often we strive for descriptive AND unique... we like quirky names that stand +out in our memory and are easier to search for. Take a look through the file +names in Ceedling and you'll get a good idea of what we are talking about here. +Why use preprocess when you can use preprocessinator? Or what better describes a +module in charge of invoking tasks during releases than release_invoker? Don't +get carried away. The names are still descriptive and fulfill the above +requirements, but they don't feel stale. + + +## C and C++ Details + +We don't really want to add to the style battles out there. Tabs or spaces? +How many spaces? Where do the braces go? These are age-old questions that will +never be answered... or at least not answered in a way that will make everyone +happy. + +We've decided on our own style preferences. If you'd like to contribute to these +projects (and we hope that you do), then we ask if you do your best to follow +the same. It will only hurt a little. We promise. + + +#### Whitespace + +Our C-style is to use spaces and to use 4 of them per indent level. It's a nice +power-of-2 number that looks decent on a wide screen. We have no more reason +than that. We break that rule when we have lines that wrap (macros or function +arguments or whatnot). When that happens, we like to indent further to line +things up in nice tidy columns. + +```C + if (stuff_happened) + { + do_something(); + } +``` + + +#### Case + +- Files - all lower case with underscores. +- Variables - all lower case with underscores +- Macros - all caps with underscores. +- Typedefs - all caps with underscores. (also ends with _T). +- Functions - camel cased. Usually named ModuleName_FuncName +- Constants and Globals - camel cased. + + +#### Braces + +The left brace is on the next line after the declaration. The right brace is +directly below that. Everything in between in indented one level. If you're +catching an error and you have a one-line, go ahead and to it on the same line. + +```C + while (blah) + { + //Like so. Even if only one line, we use braces. + } +``` + + +#### Comments + +Do you know what we hate? Old-school C block comments. BUT, we're using them +anyway. As we mentioned, our goal is to support every compiler we can, +especially embedded compilers. There are STILL C compilers out there that only +support old-school block comments. So that is what we're using. We apologize. We +think they are ugly too. + + +## Ruby Details + +Is there really such thing as a Ruby coding standard? Ruby is such a free form +language, it seems almost sacrilegious to suggest that people should comply to +one method! We'll keep it really brief! + + +#### Whitespace + +Our Ruby style is to use spaces and to use 2 of them per indent level. It's a +nice power-of-2 number that really grooves with Ruby's compact style. We have no +more reason than that. We break that rule when we have lines that wrap. When +that happens, we like to indent further to line things up in nice tidy columns. + + +#### Case + +- Files - all lower case with underscores. +- Variables - all lower case with underscores +- Classes, Modules, etc - Camel cased. +- Functions - all lower case with underscores +- Constants - all upper case with underscores + + +## Documentation + +Egad. Really? We use markdown and we like pdf files because they can be made to +look nice while still being portable. Good enough? + + +*Find The Latest of This And More at [ThrowTheSwitch.org](https://throwtheswitch.org)* diff --git a/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf b/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf index 2bce0ab30f3d8324983e9adcb70741413c0da66e..28f0c32144c4f2b55ff07007555e5777480320ac 100644 GIT binary patch delta 71833 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�hRg7%F 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 diff --git a/docs/UnityAssertionsReference.md b/docs/UnityAssertionsReference.md new file mode 100644 index 0000000..558f6db --- /dev/null +++ b/docs/UnityAssertionsReference.md @@ -0,0 +1,716 @@ +# Unity Assertions Reference + +## Background and Overview + +### Super Condensed Version + +- An assertion establishes truth (i.e. boolean True) for a single condition. +Upon boolean False, an assertion stops execution and reports the failure. +- Unity is mainly a rich collection of assertions and the support to gather up +and easily execute those assertions. +- The structure of Unity allows you to easily separate test assertions from +source code in, well, test code. +- Unity's assertions: +- Come in many, many flavors to handle different C types and assertion cases. +- Use context to provide detailed and helpful failure messages. +- Document types, expected values, and basic behavior in your source code for +free. + + +### Unity Is Several Things But Mainly It's Assertions + +One way to think of Unity is simply as a rich collection of assertions you can +use to establish whether your source code behaves the way you think it does. +Unity provides a framework to easily organize and execute those assertions in +test code separate from your source code. + + +### What's an Assertion? + +At their core, assertions are an establishment of truth - boolean truth. Was this +thing equal to that thing? Does that code doohickey have such-and-such property +or not? You get the idea. Assertions are executable code (to appreciate the big +picture on this read up on the difference between +[link:Dynamic Verification and Static Analysis]). A failing assertion stops +execution and reports an error through some appropriate I/O channel (e.g. +stdout, GUI, file, blinky light). + +Fundamentally, for dynamic verification all you need is a single assertion +mechanism. In fact, that's what the [assert() macro in C's standard library](http://en.wikipedia.org/en/wiki/Assert.h) +is for. So why not just use it? Well, we can do far better in the reporting +department. C's `assert()` is pretty dumb as-is and is particularly poor for +handling common data types like arrays, structs, etc. And, without some other +support, it's far too tempting to litter source code with C's `assert()`'s. It's +generally much cleaner, manageable, and more useful to separate test and source +code in the way Unity facilitates. + + +### Unity's Assertions: Helpful Messages _and_ Free Source Code Documentation + +Asserting a simple truth condition is valuable, but using the context of the +assertion is even more valuable. For instance, if you know you're comparing bit +flags and not just integers, then why not use that context to give explicit, +readable, bit-level feedback when an assertion fails? + +That's what Unity's collection of assertions do - capture context to give you +helpful, meaningful assertion failure messages. In fact, the assertions +themselves also serve as executable documentation about types and values in your +source code. So long as your tests remain current with your source and all those +tests pass, you have a detailed, up-to-date view of the intent and mechanisms in +your source code. And due to a wondrous mystery, well-tested code usually tends +to be well designed code. + + +## Assertion Conventions and Configurations + +### Naming and Parameter Conventions + +The convention of assertion parameters generally follows this order: + + TEST_ASSERT_X( {modifiers}, {expected}, actual, {size/count} ) + +The very simplest assertion possible uses only a single "actual" parameter (e.g. +a simple null check). + +"Actual" is the value being tested and unlike the other parameters in an +assertion construction is the only parameter present in all assertion variants. +"Modifiers" are masks, ranges, bit flag specifiers, floating point deltas. +"Expected" is your expected value (duh) to compare to an "actual" value; it's +marked as an optional parameter because some assertions only need a single +"actual" parameter (e.g. null check). +"Size/count" refers to string lengths, number of array elements, etc. + +Many of Unity's assertions are apparent duplications in that the same data type +is handled by several assertions. The differences among these are in how failure +messages are presented. For instance, a `_HEX` variant of an assertion prints +the expected and actual values of that assertion formatted as hexadecimal. + + +#### TEST_ASSERT_X_MESSAGE Variants + +_All_ assertions are complemented with a variant that includes a simple string +message as a final parameter. The string you specify is appended to an assertion +failure message in Unity output. + +For brevity, the assertion variants with a message parameter are not listed +below. Just tack on `_MESSAGE` as the final component to any assertion name in +the reference list below and add a string as the final parameter. + +_Example:_ + + TEST_ASSERT_X( {modifiers}, {expected}, actual, {size/count} ) + +becomes messageified like thus... + + TEST_ASSERT_X_MESSAGE( {modifiers}, {expected}, actual, {size/count}, message ) + + +#### TEST_ASSERT_X_ARRAY Variants + +Unity provides a collection of assertions for arrays containing a variety of +types. These are documented in the Array section below. These are almost on par +with the `_MESSAGE`variants of Unity's Asserts in that for pretty much any Unity +type assertion you can tack on `_ARRAY` and run assertions on an entire block of +memory. + + TEST_ASSERT_EQUAL_TYPEX_ARRAY( expected, actual, {size/count} ) + +"Expected" is an array itself. +"Size/count" is one or two parameters necessary to establish the number of array +elements and perhaps the length of elements within the array. + +Notes: +- The `_MESSAGE` variant convention still applies here to array assertions. The +`_MESSAGE` variants of the `_ARRAY` assertions have names ending with +`_ARRAY_MESSAGE`. +- Assertions for handling arrays of floating point values are grouped with float +and double assertions (see immediately following section). + + +### TEST_ASSERT_EACH_EQUAL_X Variants + +Unity provides a collection of assertions for arrays containing a variety of +types which can be compared to a single value as well. These are documented in +the Each Equal section below. these are almost on par with the `_MESSAGE` +variants of Unity's Asserts in that for pretty much any Unity type assertion you +can inject _EACH_EQUAL and run assertions on an entire block of memory. + + TEST_ASSERT_EACH_EQUAL_TYPEX( expected, actual, {size/count} ) + +"Expected" is a single value to compare to. +"Actual" is an array where each element will be compared to the expected value. +"Size/count" is one of two parameters necessary to establish the number of array +elements and perhaps the length of elements within the array. + +Notes: +- The `_MESSAGE` variant convention still applies here to Each Equal assertions. +- Assertions for handling Each Equal of floating point values are grouped with +float and double assertions (see immediately following section). + + +### Configuration + +#### Floating Point Support Is Optional + +Support for floating point types is configurable. That is, by defining the +appropriate preprocessor symbols, floats and doubles can be individually enabled +or disabled in Unity code. This is useful for embedded targets with no floating +point math support (i.e. Unity compiles free of errors for fixed point only +platforms). See Unity documentation for specifics. + + +#### Maximum Data Type Width Is Configurable + +Not all targets support 64 bit wide types or even 32 bit wide types. Define the +appropriate preprocessor symbols and Unity will omit all operations from +compilation that exceed the maximum width of your target. See Unity +documentation for specifics. + + +## The Assertions in All Their Blessed Glory + +### Basic Fail and Ignore + +##### `TEST_FAIL()` + +This fella is most often used in special conditions where your test code is +performing logic beyond a simple assertion. That is, in practice, `TEST_FAIL()` +will always be found inside a conditional code block. + +_Examples:_ +- Executing a state machine multiple times that increments a counter your test +code then verifies as a final step. +- Triggering an exception and verifying it (as in Try / Catch / Throw - see the +[CException](https://github.com/ThrowTheSwitch/CException) project). + +##### `TEST_IGNORE()` + +Marks a test case (i.e. function meant to contain test assertions) as ignored. +Usually this is employed as a breadcrumb to come back and implement a test case. +An ignored test case has effects if other assertions are in the enclosing test +case (see Unity documentation for more). + +### Boolean + +##### `TEST_ASSERT (condition)` + +##### `TEST_ASSERT_TRUE (condition)` + +##### `TEST_ASSERT_FALSE (condition)` + +##### `TEST_ASSERT_UNLESS (condition)` + +A simple wording variation on `TEST_ASSERT_FALSE`.The semantics of +`TEST_ASSERT_UNLESS` aid readability in certain test constructions or +conditional statements. + +##### `TEST_ASSERT_NULL (pointer)` + +##### `TEST_ASSERT_NOT_NULL (pointer)` + + +### Signed and Unsigned Integers (of all sizes) + +Large integer sizes can be disabled for build targets that do not support them. +For example, if your target only supports up to 16 bit types, by defining the +appropriate symbols Unity can be configured to omit 32 and 64 bit operations +that would break compilation (see Unity documentation for more). Refer to +Advanced Asserting later in this document for advice on dealing with other word +sizes. + +##### `TEST_ASSERT_EQUAL_INT (expected, actual)` + +##### `TEST_ASSERT_EQUAL_INT8 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_INT16 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_INT32 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_INT64 (expected, actual)` + +##### `TEST_ASSERT_EQUAL (expected, actual)` + +##### `TEST_ASSERT_NOT_EQUAL (expected, actual)` + +##### `TEST_ASSERT_EQUAL_UINT (expected, actual)` + +##### `TEST_ASSERT_EQUAL_UINT8 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_UINT16 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_UINT32 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_UINT64 (expected, actual)` + + +### Unsigned Integers (of all sizes) in Hexadecimal + +All `_HEX` assertions are identical in function to unsigned integer assertions +but produce failure messages with the `expected` and `actual` values formatted +in hexadecimal. Unity output is big endian. + +##### `TEST_ASSERT_EQUAL_HEX (expected, actual)` + +##### `TEST_ASSERT_EQUAL_HEX8 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_HEX16 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_HEX32 (expected, actual)` + +##### `TEST_ASSERT_EQUAL_HEX64 (expected, actual)` + + +### Masked and Bit-level Assertions + +Masked and bit-level assertions produce output formatted in hexadecimal. Unity +output is big endian. + + +##### `TEST_ASSERT_BITS (mask, expected, actual)` + +Only compares the masked (i.e. high) bits of `expected` and `actual` parameters. + + +##### `TEST_ASSERT_BITS_HIGH (mask, actual)` + +Asserts the masked bits of the `actual` parameter are high. + + +##### `TEST_ASSERT_BITS_LOW (mask, actual)` + +Asserts the masked bits of the `actual` parameter are low. + + +##### `TEST_ASSERT_BIT_HIGH (bit, actual)` + +Asserts the specified bit of the `actual` parameter is high. + + +##### `TEST_ASSERT_BIT_LOW (bit, actual)` + +Asserts the specified bit of the `actual` parameter is low. + + +### Integer Ranges (of all sizes) + +These assertions verify that the `expected` parameter is within +/- `delta` +(inclusive) of the `actual` parameter. For example, if the expected value is 10 +and the delta is 3 then the assertion will fail for any value outside the range +of 7 - 13. + +##### `TEST_ASSERT_INT_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_INT8_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_INT16_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_INT32_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_INT64_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_UINT_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_UINT8_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_UINT16_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_UINT32_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_UINT64_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_HEX_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_HEX8_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_HEX16_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_HEX32_WITHIN (delta, expected, actual)` + +##### `TEST_ASSERT_HEX64_WITHIN (delta, expected, actual)` + + +### Structs and Strings + +##### `TEST_ASSERT_EQUAL_PTR (expected, actual)` + +Asserts that the pointers point to the same memory location. + + +##### `TEST_ASSERT_EQUAL_STRING (expected, actual)` + +Asserts that the null terminated (`'\0'`)strings are identical. If strings are +of different lengths or any portion of the strings before their terminators +differ, the assertion fails. Two NULL strings (i.e. zero length) are considered +equivalent. + + +##### `TEST_ASSERT_EQUAL_MEMORY (expected, actual, len)` + +Asserts that the contents of the memory specified by the `expected` and `actual` +pointers is identical. The size of the memory blocks in bytes is specified by +the `len` parameter. + + +### Arrays + +`expected` and `actual` parameters are both arrays. `num_elements` specifies the +number of elements in the arrays to compare. + +`_HEX` assertions produce failure messages with expected and actual array +contents formatted in hexadecimal. + +For array of strings comparison behavior, see comments for +`TEST_ASSERT_EQUAL_STRING` in the preceding section. + +Assertions fail upon the first element in the compared arrays found not to +match. Failure messages specify the array index of the failed comparison. + +##### `TEST_ASSERT_EQUAL_INT_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_INT8_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_INT16_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_INT32_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_INT64_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_UINT_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_UINT8_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_UINT16_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_UINT32_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_UINT64_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_HEX_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_HEX8_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_HEX16_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_HEX32_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_HEX64_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_PTR_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_STRING_ARRAY (expected, actual, num_elements)` + +##### `TEST_ASSERT_EQUAL_MEMORY_ARRAY (expected, actual, len, num_elements)` + +`len` is the memory in bytes to be compared at each array element. + + +### Each Equal (Arrays to Single Value) + +`expected` are single values and `actual` are arrays. `num_elements` specifies +the number of elements in the arrays to compare. + +`_HEX` assertions produce failure messages with expected and actual array +contents formatted in hexadecimal. + +Assertions fail upon the first element in the compared arrays found not to +match. Failure messages specify the array index of the failed comparison. + +#### `TEST_ASSERT_EACH_EQUAL_INT (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_INT8 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_INT16 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_INT32 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_INT64 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_UINT (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_UINT8 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_UINT16 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_UINT32 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_UINT64 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_HEX (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_HEX8 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_HEX16 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_HEX32 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_HEX64 (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_PTR (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_STRING (expected, actual, num_elements)` + +#### `TEST_ASSERT_EACH_EQUAL_MEMORY (expected, actual, len, num_elements)` + +`len` is the memory in bytes to be compared at each array element. + + +### Floating Point (If enabled) + +##### `TEST_ASSERT_FLOAT_WITHIN (delta, expected, actual)` + +Asserts that the `actual` value is within +/- `delta` of the `expected` value. +The nature of floating point representation is such that exact evaluations of +equality are not guaranteed. + + +##### `TEST_ASSERT_EQUAL_FLOAT (expected, actual)` + +Asserts that the ?actual?value is "close enough to be considered equal" to the +`expected` value. If you are curious about the details, refer to the Advanced +Asserting section for more details on this. Omitting a user-specified delta in a +floating point assertion is both a shorthand convenience and a requirement of +code generation conventions for CMock. + + +##### `TEST_ASSERT_EQUAL_FLOAT_ARRAY (expected, actual, num_elements)` + +See Array assertion section for details. Note that individual array element +float comparisons are executed using T?EST_ASSERT_EQUAL_FLOAT?.That is, user +specified delta comparison values requires a custom-implemented floating point +array assertion. + + +##### `TEST_ASSERT_FLOAT_IS_INF (actual)` + +Asserts that `actual` parameter is equivalent to positive infinity floating +point representation. + + +##### `TEST_ASSERT_FLOAT_IS_NEG_INF (actual)` + +Asserts that `actual` parameter is equivalent to negative infinity floating +point representation. + + +##### `TEST_ASSERT_FLOAT_IS_NAN (actual)` + +Asserts that `actual` parameter is a Not A Number floating point representation. + + +##### `TEST_ASSERT_FLOAT_IS_DETERMINATE (actual)` + +Asserts that ?actual?parameter is a floating point representation usable for +mathematical operations. That is, the `actual` parameter is neither positive +infinity nor negative infinity nor Not A Number floating point representations. + + +##### `TEST_ASSERT_FLOAT_IS_NOT_INF (actual)` + +Asserts that `actual` parameter is a value other than positive infinity floating +point representation. + + +##### `TEST_ASSERT_FLOAT_IS_NOT_NEG_INF (actual)` + +Asserts that `actual` parameter is a value other than negative infinity floating +point representation. + + +##### `TEST_ASSERT_FLOAT_IS_NOT_NAN (actual)` + +Asserts that `actual` parameter is a value other than Not A Number floating +point representation. + + +##### `TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE (actual)` + +Asserts that `actual` parameter is not usable for mathematical operations. That +is, the `actual` parameter is either positive infinity or negative infinity or +Not A Number floating point representations. + + +### Double (If enabled) + +##### `TEST_ASSERT_DOUBLE_WITHIN (delta, expected, actual)` + +Asserts that the `actual` value is within +/- `delta` of the `expected` value. +The nature of floating point representation is such that exact evaluations of +equality are not guaranteed. + + +##### `TEST_ASSERT_EQUAL_DOUBLE (expected, actual)` + +Asserts that the `actual` value is "close enough to be considered equal" to the +`expected` value. If you are curious about the details, refer to the Advanced +Asserting section for more details. Omitting a user-specified delta in a +floating point assertion is both a shorthand convenience and a requirement of +code generation conventions for CMock. + + +##### `TEST_ASSERT_EQUAL_DOUBLE_ARRAY (expected, actual, num_elements)` + +See Array assertion section for details. Note that individual array element +double comparisons are executed using `TEST_ASSERT_EQUAL_DOUBLE`.That is, user +specified delta comparison values requires a custom implemented double array +assertion. + + +##### `TEST_ASSERT_DOUBLE_IS_INF (actual)` + +Asserts that `actual` parameter is equivalent to positive infinity floating +point representation. + + +##### `TEST_ASSERT_DOUBLE_IS_NEG_INF (actual)` + +Asserts that `actual` parameter is equivalent to negative infinity floating point +representation. + + +##### `TEST_ASSERT_DOUBLE_IS_NAN (actual)` + +Asserts that `actual` parameter is a Not A Number floating point representation. + + +##### `TEST_ASSERT_DOUBLE_IS_DETERMINATE (actual)` + +Asserts that `actual` parameter is a floating point representation usable for +mathematical operations. That is, the ?actual?parameter is neither positive +infinity nor negative infinity nor Not A Number floating point representations. + + +##### `TEST_ASSERT_DOUBLE_IS_NOT_INF (actual)` + +Asserts that `actual` parameter is a value other than positive infinity floating +point representation. + + +##### `TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF (actual)` + +Asserts that `actual` parameter is a value other than negative infinity floating +point representation. + + +##### `TEST_ASSERT_DOUBLE_IS_NOT_NAN (actual)` + +Asserts that `actual` parameter is a value other than Not A Number floating +point representation. + + +##### `TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE (actual)` + +Asserts that `actual` parameter is not usable for mathematical operations. That +is, the `actual` parameter is either positive infinity or negative infinity or +Not A Number floating point representations. + + +## Advanced Asserting: Details On Tricky Assertions + +This section helps you understand how to deal with some of the trickier +assertion situations you may run into. It will give you a glimpse into some of +the under-the-hood details of Unity's assertion mechanisms. If you're one of +those people who likes to know what is going on in the background, read on. If +not, feel free to ignore the rest of this document until you need it. + + +### How do the EQUAL assertions work for FLOAT and DOUBLE? + +As you may know, directly checking for equality between a pair of floats or a +pair of doubles is sloppy at best and an outright no-no at worst. Floating point +values can often be represented in multiple ways, particularly after a series of +operations on a value. Initializing a variable to the value of 2.0 is likely to +result in a floating point representation of 2 x 20,but a series of +mathematical operations might result in a representation of 8 x 2-2 +that also evaluates to a value of 2. At some point repeated operations cause +equality checks to fail. + +So Unity doesn't do direct floating point comparisons for equality. Instead, it +checks if two floating point values are "really close." If you leave Unity +running with defaults, "really close" means "within a significant bit or two." +Under the hood, `TEST_ASSERT_EQUAL_FLOAT` is really `TEST_ASSERT_FLOAT_WITHIN` +with the `delta` parameter calculated on the fly. For single precision, delta is +the expected value multiplied by 0.00001, producing a very small proportional +range around the expected value. + +If you are expecting a value of 20,000.0 the delta is calculated to be 0.2. So +any value between 19,999.8 and 20,000.2 will satisfy the equality check. This +works out to be roughly a single bit of range for a single-precision number, and +that's just about as tight a tolerance as you can reasonably get from a floating +point value. + +So what happens when it's zero? Zero - even more than other floating point +values - can be represented many different ways. It doesn't matter if you have +0 x 20or 0 x 263.It's still zero, right? Luckily, if you +subtract these values from each other, they will always produce a difference of +zero, which will still fall between 0 plus or minus a delta of 0. So it still +works! + +Double precision floating point numbers use a much smaller multiplier, again +approximating a single bit of error. + +If you don't like these ranges and you want to make your floating point equality +assertions less strict, you can change these multipliers to whatever you like by +defining UNITY_FLOAT_PRECISION and UNITY_DOUBLE_PRECISION. See Unity +documentation for more. + + +### How do we deal with targets with non-standard int sizes? + +It's "fun" that C is a standard where something as fundamental as an integer +varies by target. According to the C standard, an `int` is to be the target's +natural register size, and it should be at least 16-bits and a multiple of a +byte. It also guarantees an order of sizes: + +```C +char <= short <= int <= long <= long long +``` + +Most often, `int` is 32-bits. In many cases in the embedded world, `int` is +16-bits. There are rare microcontrollers out there that have 24-bit integers, +and this remains perfectly standard C. + +To make things even more interesting, there are compilers and targets out there +that have a hard choice to make. What if their natural register size is 10-bits +or 12-bits? Clearly they can't fulfill _both_ the requirement to be at least +16-bits AND the requirement to match the natural register size. In these +situations, they often choose the natural register size, leaving us with +something like this: + +```C +char (8 bit) <= short (12 bit) <= int (12 bit) <= long (16 bit) +``` + +Um... yikes. It's obviously breaking a rule or two... but they had to break SOME +rules, so they made a choice. + +When the C99 standard rolled around, it introduced alternate standard-size types. +It also introduced macros for pulling in MIN/MAX values for your integer types. +It's glorious! Unfortunately, many embedded compilers can't be relied upon to +use the C99 types (Sometimes because they have weird register sizes as described +above. Sometimes because they don't feel like it?). + +A goal of Unity from the beginning was to support every combination of +microcontroller or microprocessor and C compiler. Over time, we've gotten really +close to this. There are a few tricks that you should be aware of, though, if +you're going to do this effectively on some of these more idiosyncratic targets. + +First, when setting up Unity for a new target, you're going to want to pay +special attention to the macros for automatically detecting types +(where available) or manually configuring them yourself. You can get information +on both of these in Unity's documentation. + +What about the times where you suddenly need to deal with something odd, like a +24-bit `int`? The simplest solution is to use the next size up. If you have a +24-bit `int`, configure Unity to use 32-bit integers. If you have a 12-bit +`int`, configure Unity to use 16 bits. There are two ways this is going to +affect you: + +1. When Unity displays errors for you, it's going to pad the upper unused bits +with zeros. +2. You're going to have to be careful of assertions that perform signed +operations, particularly `TEST_ASSERT_INT_WITHIN`.Such assertions might wrap +your `int` in the wrong place, and you could experience false failures. You can +always back down to a simple `TEST_ASSERT` and do the operations yourself. + + +*Find The Latest of This And More at [ThrowTheSwitch.org](https://throwtheswitch.org)* diff --git a/docs/UnityAssertionsReference.pdf b/docs/UnityAssertionsReference.pdf deleted file mode 100644 index d8b10cc8f964cb5f689906b19b80485b1fc9a1b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320499 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

x! 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 Agaq9Y%i_-89H2<)$eR$V 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 diff --git a/docs/UnityConfigurationGuide.md b/docs/UnityConfigurationGuide.md new file mode 100644 index 0000000..283d779 --- /dev/null +++ b/docs/UnityConfigurationGuide.md @@ -0,0 +1,398 @@ +# Unity Configuration Guide + +## C Standards, Compilers and Microcontrollers + +The embedded software world contains its challenges. Compilers support different +revisions of the C Standard. They ignore requirements in places, sometimes to +make the language more usable in some special regard. Sometimes it's to simplify +their support. Sometimes it's due to specific quirks of the microcontroller they +are targeting. Simulators add another dimension to this menagerie. + +Unity is designed to run on almost anything that is targeted by a C compiler. It +would be awesome if this could be done with zero configuration. While there are +some targets that come close to this dream, it is sadly not universal. It is +likely that you are going to need at least a couple of the configuration options +described in this document. + +All of Unity's configuration options are `#defines`. Most of these are simple +definitions. A couple are macros with arguments. They live inside the +unity_internals.h header file. We don't necessarily recommend opening that file +unless you really need to. That file is proof that a cross-platform library is +challenging to build. From a more positive perspective, it is also proof that a +great deal of complexity can be centralized primarily to one place in order to +provide a more consistent and simple experience elsewhere. + + +### Using These Options + +It doesn't matter if you're using a target-specific compiler and a simulator or +a native compiler. In either case, you've got a couple choices for configuring +these options: + +1. Because these options are specified via C defines, you can pass most of these +options to your compiler through command line compiler flags. Even if you're +using an embedded target that forces you to use their overbearing IDE for all +configuration, there will be a place somewhere in your project to configure +defines for your compiler. +2. You can create a custom `unity_config.h` configuration file (present in your +toolchain's search paths). In this file, you will list definitions and macros +specific to your target. All you must do is define `UNITY_INCLUDE_CONFIG_H` and +Unity will rely on `unity_config.h` for any further definitions it may need. + + +## The Options + +### Integer Types + +If you've been a C developer for long, you probably already know that C's +concept of an integer varies from target to target. The C Standard has rules +about the `int` matching the register size of the target microprocessor. It has +rules about the `int` and how its size relates to other integer types. An `int` +on one target might be 16 bits while on another target it might be 64. There are +more specific types in compilers compliant with C99 or later, but that's +certainly not every compiler you are likely to encounter. Therefore, Unity has a +number of features for helping to adjust itself to match your required integer +sizes. It starts off by trying to do it automatically. + + +##### `UNITY_EXCLUDE_STDINT_H` + +The first thing that Unity does to guess your types is check `stdint.h`. +This file includes defines like `UINT_MAX` that Unity can make use of to +learn a lot about your system. It's possible you don't want it to do this +(um. why not?) or (more likely) it's possible that your system doesn't +support `stdint.h`. If that's the case, you're going to want to define this. +That way, Unity will know to skip the inclusion of this file and you won't +be left with a compiler error. + +_Example:_ + #define UNITY_EXCLUDE_STDINT_H + + +##### `UNITY_EXCLUDE_LIMITS_H` + +The second attempt to guess your types is to check `limits.h`. Some compilers +that don't support `stdint.h` could include `limits.h` instead. If you don't +want Unity to check this file either, define this to make it skip the inclusion. + +_Example:_ + #define UNITY_EXCLUDE_LIMITS_H + + +##### `UNITY_EXCLUDE_SIZEOF` + +The third and final attempt to guess your types is to use the `sizeof()` +operator. Even if the first two options don't work, this one covers most cases. +There _is_ a rare compiler or two out there that doesn't support sizeof() in the +preprocessing stage, though. For these, you have the ability to disable this +feature as well. + +_Example:_ + #define UNITY_EXCLUDE_SIZEOF + +If you've disabled all of the automatic options above, you're going to have to +do the configuration yourself. Don't worry. Even this isn't too bad... there are +just a handful of defines that you are going to specify if you don't like the +defaults. + + +##### `UNITY_INT_WIDTH` + +Define this to be the number of bits an `int` takes up on your system. The +default, if not autodetected, is 32 bits. + +_Example:_ + #define UNITY_INT_WIDTH 16 + + +##### `UNITY_LONG_WIDTH` + +Define this to be the number of bits a `long` takes up on your system. The +default, if not autodetected, is 32 bits. This is used to figure out what kind +of 64-bit support your system can handle. Does it need to specify a `long` or a +`long long` to get a 64-bit value. On 16-bit systems, this option is going to be +ignored. + +_Example:_ + #define UNITY_LONG_WIDTH 16 + + +##### `UNITY_POINTER_WIDTH` + +Define this to be the number of bits a pointer takes up on your system. The +default, if not autodetected, is 32-bits. If you're getting ugly compiler +warnings about casting from pointers, this is the one to look at. + +_Example:_ + #define UNITY_POINTER_WIDTH 64 + + +##### `UNITY_INCLUDE_64` + +Unity will automatically include 64-bit support if it auto-detects it, or if +your `int`, `long`, or pointer widths are greater than 32-bits. Define this to +enable 64-bit support if none of the other options already did it for you. There +can be a significant size and speed impact to enabling 64-bit support on small +targets, so don't define it if you don't need it. + +_Example:_ + #define UNITY_INCLUDE_64 + + +### Floating Point Types + +In the embedded world, it's not uncommon for targets to have no support for +floating point operations at all or to have support that is limited to only +single precision. We are able to guess integer sizes on the fly because integers +are always available in at least one size. Floating point, on the other hand, is +sometimes not available at all. Trying to include `float.h` on these platforms +would result in an error. This leaves manual configuration as the only option. + + +##### `UNITY_INCLUDE_FLOAT` + +##### `UNITY_EXCLUDE_FLOAT` + +##### `UNITY_INCLUDE_DOUBLE` + +##### `UNITY_EXCLUDE_DOUBLE` + +By default, Unity guesses that you will want single precision floating point +support, but not double precision. It's easy to change either of these using the +include and exclude options here. You may include neither, either, or both, as +suits your needs. For features that are enabled, the following floating point +options also become available. + +_Example:_ + + //what manner of strange processor is this? + #define UNITY_EXCLUDE_FLOAT + #define UNITY_INCLUDE_DOUBLE + + +##### `UNITY_FLOAT_VERBOSE` + +##### `UNITY_DOUBLE_VERBOSE` + +Unity aims for as small of a footprint as possible and avoids most standard +library calls (some embedded platforms don't have a standard library!). Because +of this, its routines for printing integer values are minimalist and hand-coded. +To keep Unity universal, though, we chose to _not_ develop our own floating +point print routines. Instead, the display of floating point values during a +failure are optional. By default, Unity will not print the actual results of +floating point assertion failure. So a failed assertion will produce a message +like `"Values Not Within Delta"`. If you would like verbose failure messages for +floating point assertions, use these options to give more explicit failure +messages (e.g. `"Expected 4.56 Was 4.68"`). Note that this feature requires the +use of `sprintf` so might not be desirable in all cases. + +_Example:_ + #define UNITY_DOUBLE_VERBOSE + + +##### `UNITY_FLOAT_TYPE` + +If enabled, Unity assumes you want your `FLOAT` asserts to compare standard C +floats. If your compiler supports a specialty floating point type, you can +always override this behavior by using this definition. + +_Example:_ + #define UNITY_FLOAT_TYPE float16_t + + +##### `UNITY_DOUBLE_TYPE` + +If enabled, Unity assumes you want your `DOUBLE` asserts to compare standard C +doubles. If you would like to change this, you can specify something else by +using this option. For example, defining `UNITY_DOUBLE_TYPE` to `long double` +could enable gargantuan floating point types on your 64-bit processor instead of +the standard `double`. + +_Example:_ + #define UNITY_DOUBLE_TYPE long double + + +##### `UNITY_FLOAT_PRECISION` + +##### `UNITY_DOUBLE_PRECISION` + +If you look up `UNITY_ASSERT_EQUAL_FLOAT` and `UNITY_ASSERT_EQUAL_DOUBLE` as +documented in the big daddy Unity Assertion Guide, you will learn that they are +not really asserting that two values are equal but rather that two values are +"close enough" to equal. "Close enough" is controlled by these precision +configuration options. If you are working with 32-bit floats and/or 64-bit +doubles (the normal on most processors), you should have no need to change these +options. They are both set to give you approximately 1 significant bit in either +direction. The float precision is 0.00001 while the double is 10-12. +For further details on how this works, see the appendix of the Unity Assertion +Guide. + +_Example:_ + #define UNITY_FLOAT_PRECISION 0.001f + + +### Toolset Customization + +In addition to the options listed above, there are a number of other options +which will come in handy to customize Unity's behavior for your specific +toolchain. It is possible that you may not need to touch any of these... but +certain platforms, particularly those running in simulators, may need to jump +through extra hoops to operate properly. These macros will help in those +situations. + + +##### `UNITY_OUTPUT_CHAR(a)` + +##### `UNITY_OUTPUT_FLUSH()` + +##### `UNITY_OUTPUT_START()` + +##### `UNITY_OUTPUT_COMPLETE()` + +By default, Unity prints its results to `stdout` as it runs. This works +perfectly fine in most situations where you are using a native compiler for +testing. It works on some simulators as well so long as they have `stdout` +routed back to the command line. There are times, however, where the simulator +will lack support for dumping results or you will want to route results +elsewhere for other reasons. In these cases, you should define the +`UNITY_OUTPUT_CHAR` macro. This macro accepts a single character at a time (as +an `int`, since this is the parameter type of the standard C `putchar` function +most commonly used). You may replace this with whatever function call you like. + +_Example:_ +Say you are forced to run your test suite on an embedded processor with no +`stdout` option. You decide to route your test result output to a custom serial +`RS232_putc()` function you wrote like thus: + + #define UNITY_OUTPUT_CHAR(a) RS232_putc(a) + #define UNITY_OUTPUT_START() RS232_config(115200,1,8,0) + #define UNITY_OUTPUT_FLUSH() RS232_flush() + #define UNITY_OUTPUT_COMPLETE() RS232_close() + +_Note:_ +`UNITY_OUTPUT_FLUSH()` can be set to the standard out flush function simply by +specifying `UNITY_USE_FLUSH_STDOUT`. No other defines are required. If you +specify a custom flush function instead with `UNITY_OUTPUT_FLUSH` directly, it +will declare an instance of your function by default. If you want to disable +this behavior, add `UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION`. + + +##### `UNITY_SUPPORT_WEAK` + +For some targets, Unity can make the otherwise required `setUp()` and +`tearDown()` functions optional. This is a nice convenience for test writers +since `setUp` and `tearDown` don't often actually _do_ anything. If you're using +gcc or clang, this option is automatically defined for you. Other compilers can +also support this behavior, if they support a C feature called weak functions. A +weak function is a function that is compiled into your executable _unless_ a +non-weak version of the same function is defined elsewhere. If a non-weak +version is found, the weak version is ignored as if it never existed. If your +compiler supports this feature, you can let Unity know by defining +`UNITY_SUPPORT_WEAK` as the function attributes that would need to be applied to +identify a function as weak. If your compiler lacks support for weak functions, +you will always need to define `setUp` and `tearDown` functions (though they can +be and often will be just empty). The most common options for this feature are: + +_Example:_ + #define UNITY_SUPPORT_WEAK weak + #define UNITY_SUPPORT_WEAK __attribute__((weak)) + + +##### `UNITY_PTR_ATTRIBUTE` + +Some compilers require a custom attribute to be assigned to pointers, like +`near` or `far`. In these cases, you can give Unity a safe default for these by +defining this option with the attribute you would like. + +_Example:_ + #define UNITY_PTR_ATTRIBUTE __attribute__((far)) + #define UNITY_PTR_ATTRIBUTE near + + +## Getting Into The Guts + +There will be cases where the options above aren't quite going to get everything +perfect. They are likely sufficient for any situation where you are compiling +and executing your tests with a native toolchain (e.g. clang on Mac). These +options may even get you through the majority of cases encountered in working +with a target simulator run from your local command line. But especially if you +must run your test suite on your target hardware, your Unity configuration will +require special help. This special help will usually reside in one of two +places: the `main()` function or the `RUN_TEST` macro. Let's look at how these +work. + + +##### `main()` + +Each test module is compiled and run on its own, separate from the other test +files in your project. Each test file, therefore, has a `main` function. This +`main` function will need to contain whatever code is necessary to initialize +your system to a workable state. This is particularly true for situations where +you must set up a memory map or initialize a communication channel for the +output of your test results. + +A simple main function looks something like this: + + int main(void) { + UNITY_BEGIN(); + RUN_TEST(test_TheFirst); + RUN_TEST(test_TheSecond); + RUN_TEST(test_TheThird); + return UNITY_END(); + } + +You can see that our main function doesn't bother taking any arguments. For our +most barebones case, we'll never have arguments because we just run all the +tests each time. Instead, we start by calling `UNITY_BEGIN`. We run each test +(in whatever order we wish). Finally, we call `UNITY_END`, returning its return +value (which is the total number of failures). + +It should be easy to see that you can add code before any test cases are run or +after all the test cases have completed. This allows you to do any needed +system-wide setup or teardown that might be required for your special +circumstances. + + +##### `RUN_TEST` + +The `RUN_TEST` macro is called with each test case function. Its job is to +perform whatever setup and teardown is necessary for executing a single test +case function. This includes catching failures, calling the test module's +`setUp()` and `tearDown()` functions, and calling `UnityConcludeTest()`. If +using CMock or test coverage, there will be additional stubs in use here. A +simple minimalist RUN_TEST macro looks something like this: + + #define RUN_TEST(testfunc) \ + UNITY_NEW_TEST(#testfunc) \ + if (TEST_PROTECT()) { \ + setUp(); \ + testfunc(); \ + } \ + if (TEST_PROTECT() && (!TEST_IS_IGNORED)) \ + tearDown(); \ + UnityConcludeTest(); + +So that's quite a macro, huh? It gives you a glimpse of what kind of stuff Unity +has to deal with for every single test case. For each test case, we declare that +it is a new test. Then we run `setUp` and our test function. These are run +within a `TEST_PROTECT` block, the function of which is to handle failures that +occur during the test. Then, assuming our test is still running and hasn't been +ignored, we run `tearDown`. No matter what, our last step is to conclude this +test before moving on to the next. + +Let's say you need to add a call to `fsync` to force all of your output data to +flush to a file after each test. You could easily insert this after your +`UnityConcludeTest` call. Maybe you want to write an xml tag before and after +each result set. Again, you could do this by adding lines to this macro. Updates +to this macro are for the occasions when you need an action before or after +every single test case throughout your entire suite of tests. + + +## Happy Porting + +The defines and macros in this guide should help you port Unity to just about +any C target we can imagine. If you run into a snag or two, don't be afraid of +asking for help on the forums. We love a good challenge! + + +*Find The Latest of This And More at [ThrowTheSwitch.org](https://throwtheswitch.org)* diff --git a/docs/UnityConfigurationGuide.pdf b/docs/UnityConfigurationGuide.pdf deleted file mode 100644 index 5ca1a7f9a31fb4e079d97f38bad777301f9c7164..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253175 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 diff --git a/docs/UnityGettingStartedGuide.md b/docs/UnityGettingStartedGuide.md new file mode 100644 index 0000000..50fc91c --- /dev/null +++ b/docs/UnityGettingStartedGuide.md @@ -0,0 +1,191 @@ +# Unity - Getting Started + +## Welcome + +Congratulations. You're now the proud owner of your very own pile of bits! What +are you going to do with all these ones and zeros? This document should be able +to help you decide just that. + +Unity is a unit test framework. The goal has been to keep it small and +functional. The core Unity test framework is three files: a single C file and a +couple header files. These team up to provide functions and macros to make +testing easier. + +Unity was designed to be cross platform. It works hard to stick with C standards +while still providing support for the many embedded C compilers that bend the +rules. Unity has been used with many compilers, including GCC, IAR, Clang, +Green Hills, Microchip, and MS Visual Studio. It's not much work to get it to +work with a new target. + + +### Overview of the Documents + +#### Unity Assertions reference + +This document will guide you through all the assertion options provided by +Unity. This is going to be your unit testing bread and butter. You'll spend more +time with assertions than any other part of Unity. + + +#### Unity Assertions Cheat Sheet + +This document contains an abridged summary of the assertions described in the +previous document. It's perfect for printing and referencing while you +familiarize yourself with Unity's options. + + +#### Unity Configuration Guide + +This document is the one to reference when you are going to use Unity with a new +target or compiler. It'll guide you through the configuration options and will +help you customize your testing experience to meet your needs. + + +#### Unity Helper Scripts + +This document describes the helper scripts that are available for simplifying +your testing workflow. It describes the collection of optional Ruby scripts +included in the auto directory of your Unity installation. Neither Ruby nor +these scripts are necessary for using Unity. They are provided as a convenience +for those who wish to use them. + + +#### Unity License + +What's an open source project without a license file? This brief document +describes the terms you're agreeing to when you use this software. Basically, we +want it to be useful to you in whatever context you want to use it, but please +don't blame us if you run into problems. + + +### Overview of the Folders + +If you have obtained Unity through Github or something similar, you might be +surprised by just how much stuff you suddenly have staring you in the face. +Don't worry, Unity itself is very small. The rest of it is just there to make +your life easier. You can ignore it or use it at your convenience. Here's an +overview of everything in the project. + +- `src` - This is the code you care about! This folder contains a C file and two +header files. These three files _are_ Unity. +- `docs` - You're reading this document, so it's possible you have found your way +into this folder already. This is where all the handy documentation can be +found. +- `examples` - This contains a few examples of using Unity. +- `extras` - These are optional add ons to Unity that are not part of the core +project. If you've reached us through James Grenning's book, you're going to +want to look here. +- `test` - This is how Unity and its scripts are all tested. If you're just using +Unity, you'll likely never need to go in here. If you are the lucky team member +who gets to port Unity to a new toolchain, this is a good place to verify +everything is configured properly. +- `auto` - Here you will find helpful Ruby scripts for simplifying your test +workflow. They are purely optional and are not required to make use of Unity. + + +## How to Create A Test File + +Test files are C files. Most often you will create a single test file for each C +module that you want to test. The test file should include unity.h and the +header for your C module to be tested. + +Next, a test file will include a `setUp()` and `tearDown()` function. The setUp +function can contain anything you would like to run before each test. The +tearDown function can contain anything you would like to run after each test. +Both functions accept no arguments and return nothing. You may leave either or +both of these blank if you have no need for them. If you're using a compiler +that is configured to make these functions optional, you may leave them off +completely. Not sure? Give it a try. If you compiler complains that it can't +find setUp or tearDown when it links, you'll know you need to at least include +an empty function for these. + +The majority of the file will be a series of test functions. Test functions +follow the convention of starting with the word "test" or "spec". You don't HAVE +to name them this way, but it makes it clear what functions are tests for other +developers. Test functions take no arguments and return nothing. All test +accounting is handled internally in Unity. + +Finally, at the bottom of your test file, you will write a `main()` function. +This function will call `UNITY_BEGIN()`, then `RUN_TEST` for each test, and +finally `UNITY_END()`.This is what will actually trigger each of those test +functions to run, so it is important that each function gets its own `RUN_TEST` +call. + +Remembering to add each test to the main function can get to be tedious. If you +enjoy using helper scripts in your build process, you might consider making use +of our handy generate_test_runner.rb script. This will create the main function +and all the calls for you, assuming that you have followed the suggested naming +conventions. In this case, there is no need for you to include the main function +in your test file at all. + +When you're done, your test file will look something like this: + +```C +#include "unity.h" +#include "file_to_test.h" + +void setUp(void) { + // set stuff up here +} + +void tearDown(void) { + // clean stuff up here +} + +void test_function_should_doBlahAndBlah(void) { + //test stuff +} + +void test_function_should_doAlsoDoBlah(void) { + //more test stuff +} + +int main(void) { + UNITY_BEGIN(); + RUN_TEST(test_function_should_doBlahAndBlah); + RUN_TEST(test_function_should_doAlsoDoBlah); + return UNITY_END(); +} +``` + +It's possible that you will require more customization than this, eventually. +For that sort of thing, you're going to want to look at the configuration guide. +This should be enough to get you going, though. + + +## How to Build and Run A Test File + +This is the single biggest challenge to picking up a new unit testing framework, +at least in a language like C or C++. These languages are REALLY good at getting +you "close to the metal" (why is the phrase metal? Wouldn't it be more accurate +to say "close to the silicon"?). While this feature is usually a good thing, it +can make testing more challenging. + +You have two really good options for toolchains. Depending on where you're +coming from, it might surprise you that neither of these options is running the +unit tests on your hardware. +There are many reasons for this, but here's a short version: +- On hardware, you have too many constraints (processing power, memory, etc), +- On hardware, you don't have complete control over all registers, +- On hardware, unit testing is more challenging, +- Unit testing isn't System testing. Keep them separate. + +Instead of running your tests on your actual hardware, most developers choose to +develop them as native applications (using gcc or MSVC for example) or as +applications running on a simulator. Either is a good option. Native apps have +the advantages of being faster and easier to set up. Simulator apps have the +advantage of working with the same compiler as your target application. The +options for configuring these are discussed in the configuration guide. + +To get either to work, you might need to make a few changes to the file +containing your register set (discussed later). + +In either case, a test is built by linking unity, the test file, and the C +file(s) being tested. These files create an executable which can be run as the +test set for that module. Then, this process is repeated for the next test file. +This flexibility of separating tests into individual executables allows us to +much more thoroughly unit test our system and it keeps all the test code out of +our final release! + + +*Find The Latest of This And More at [ThrowTheSwitch.org](https://throwtheswitch.org)* diff --git a/docs/UnityGettingStartedGuide.pdf b/docs/UnityGettingStartedGuide.pdf deleted file mode 100644 index 9d03233c0644d4f10206d076e892023ceda7d72c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166200 zcmc$_1yo#5w`^2+ri$&4&vbr zK&nYj4j^EJRD=*f82Ll0LBrkN!T)ap5Fq@IUNqbtJpe#)q#Swx0X+{72tY{WUyMFd zrvMR&e``4YYCjEu&N$6JK~X6JQZLSRtn>ZVhKW|)?Ydr z^bIE?7l)Nb^t@+t0-)zDl~vW#-GBYZ9c@trOZ7Glg#a5b;ICc(UG4uL7XI(`^?!`V z{l`lG5d+U{oE&@rK#6}D?q80iYy+`z^KkkvzAYsBU%c&q=vMjwG0FdQJ|RKz|GQDF zt^ZmCYG-X@Eog5`Y#oXwn1jhW+6|1^7)$Ecz{i)NYAxsPDDyiuu_qO}d+)l7mL>R{ zgabWo9v3h{(Ek~LPAy7(4O=R8h`=-c^Mq^oEvLB3!HS*rl!O$I!YK+mI?A*tHT(b5 zX2{U}zXD#--Q5G?gY@CQj<5L7zdk_VrJe>dp#KRWMLUR#hx@;hIGrI7PbmQbh_knc zAH> z`m1{}Bq)hX0{_;9L^fo}|MX}*2Oke#Z#$%q|JCp_e~6ks1c`?KaB6}8pd|8cy?@N9 zifrSbWK}_c@ZU<2sHTcUzrR5H_wpau``4xLUv2)!eb2o;?DQS}aVr7jV1u-*gFgfb zmtbUMDgB!&|C?$cCHxDl|MIrKv4>>;V*vT5Z~qaO|HB~rH?|8&2#W~)z41R$uQPb5 z+F>MN<#ot2Il9vq1`YdAJ_i)z#E=_>)HAD0Wl4)Qd^h+H)?xxSlEh=X!#vZ&D=W@kT&? zlTQ2IeEeuP|Ig*tm&oLyH-Bz+|M)&Q#Qz|1)$$Fic+pdG!`bvsjx zmPS8uKg6r?3H5`eJN2}Z%uiuHsJJGmzfbpy(SBp@Q4xr+82$vK19>K5(!FtcHuqbk zpT}-ZZ|(7{K1%`qxX%(UF{j5Z(POe1>|%&T{dh#;gz%NZ&?Vqlc)ix5ua+s5n24c% zpn1FH81j`~oN>xvlv&QvReH6JtH8JiU151E3{DHx=P-&z<33BlHMTaZ;4a8!6iT3x zG2O{v;)|gDAH^p5UIQND=2RzSb7l5*+RW9+EAJ{Ps!pK6z+!Yk9#-6}6HTs@D zvT1A@%NvoT8p~zh1K)x+d^~<i3XqR=pBG1@f(chE{a^v2If zylWb2cwQ11Fp;g9Ae)+2(_<{u{+{MrO6Nt3m*~%?IOm3DlgbV?)39DF(Rs4-A}UV* zAW6(AhhJwsbd^PApgooHj6qM(_oMKxvFacjwZe)tW$ZP+;}Sy0r-y$1gybMr|7#JD z)l)G#fGvzN;+pQ%FV==v!9;84Nm+z_;?j-Ohg-Fw1g##)jyJDYT*o-QBnE~M4bEc zMLyka2}9%H`Snx%;|CHfe}vtd47a4PJ8ciKPk4Se55K%(X+%CC^fR3~+K~bAE4%cH zux{PDaqXG?BWn`*QD?g^Jzr)O9#BcJ7a!?#;!EM4+3KXFjvgsRB754Oa{tlEx zXQ>sXgNx0xtSFzJTlTNREh;YXcld(|bZUPnoUWFuaRg#DO|Cy(#d9B{ZwTzC-xtFE zoW4=(QFw;0JV6mv%eNudSRbRDpie-NI6T}DIHy3Oqnan`E`IGt`ynEjhqbNvmn+)r zoJ6c&sWq9LY3TEd#TF&4CQHX(jRAb90{9+@E|I_xK z*mpnBMGrmM9S<{AWcFXFPV$wxA57$CMwjY=!?XoTv9frjvK+w?|j>wT$lgksfW} z{XG>7Plu$21q$^$Y{6Pm^VcCEQZJ+jF;1}Y1*rhwGnLrh8C%y?C~>6cVSl=ehuVup z$08x0s*+9>Pqxav?D_QgI1CioY zx#gx??;z&4CERn=5d-fF!|=z6)0LGPt=gYjpF{&?@~r351oTbA8XGV_b%{IYuWuM^ z&)IBm1TzG8%s8G`8-%}_@ESil5cyPM$W+_ktIBaF1!E%ktQY4aIa}~byW;g>4%SOo zjk|>h%R6Y$^Uw}BgVb4}aJl&)velT-m-%Q`mT+X81hvgKTKH&togJ+^xrs}x+(2on z?Y-5LZ|>;}&gN^z23z_>Yf#QHu*fga*^S``P*XX@bGh}UAKD+YYFt};8s2X_B{U2R z5Ma zETUaV*F&-I4o9({r)^td#_{PFDiP~&MB)pL9nrqf{ znLOF6`PBD0?L@;q_XP2GM8bX}*$eFZi1)kh*Dg|F`ARjvVtqgJ@fl<_@#&l#(oQ5x zQmaU>Wl(nbSFdb&eP{E(w(dv>PVaUWbnW331(Pr2VXYNnAJ_RsFz+x)p7X8tRj_wO zO=w$FlNwMD1Mb{sA1u+e14LZ;2h1|n8a8M`2oSHcYwwDD%=*C*P4mT3*P;5^YTpvD zJ4u5&UO{RvPdP-L#-)YQ_x8iG$tVvzngOK~c66g6;=(R|Ky!1~tnt^(c|Iq1p}?;7+>(CbCt4{C8b$n}F4)qDa%J1Hr|d`_3GRL- ztS~>~7R1KW_F5v{vmqDfKGDN1YT3C(xK7bo(fH+x1x|R*q?Gi)@4EFO)SG6O>Lds9 zMWtH1G&QtU<}A-S>2%nklGrm0kOG=NPbtc7*1I37>|1s~P2qd}!aL`%3n-T?DHDB1 zgv9Xz57-?}@}i3bAH{w(0lYIbM-&Q!}PE))(2|i)g;jO&-+J3c?~1 zetka}x;Ew4ZH-a>9BAL14#^_avB5RXbH=WW#BS)gbgl4ty$3aa^XX7*(an&XF8=iu zXWvk04F;uhkg7F}T8t#Bl|~bqtZhm5nRtO(yn*l|mYWdI9OxpEq~KU%NJ${y#h8&` zgGr`~6o?sx5Gk<`b7mrrS~Vw7!k+rB6x_33{T*dL=}q8u^#!N!sgRilQ37ehqv`Ln z>M&i{ZLG_fJftJltN0qf$_Tg|rZ%o5HHE>`+s#R$l@ER;WG^#=#-h|1??dAnNm4j3 z1Q-uA`0mk#uk?o}2you8V?w5OBnYUt)R?7RV1j;qbeOM*__IcFm*dH5ucEFwWcntd zD`j3;s+*L>pxx2^$hO}lEZ#2p`nXJ@yVbU0t+J#~ZHX2e>qM`LT}-jllu`86`^OJq z?jm*b`JTClnuBk`DO||&4GRe1GX&+%e`4y;C%CxHrmxAttAO1=fE^>D43PBx#w;hp ze`$p(S%=;J>uve-KTV`)L@)Cuz_2Jnf*ADo4@(ADGtBQ`c>Rn`NfqD+`M&RC4N7A0|FBX z(4F2p1g*d3s>Ne-Feq8&OD13(Nc!TtZK|3zt~uya%yISu+OT{C`WD#wy#tQ}yr=Z( zvqb?*ZkFv{uBp!Ntwng4=cCIQ2`P#l zI_ydgS5w{xl$;-<`oC`#cOG5|qXJZW{l5tgjb*6a7(4BzTj#xBu_fHXI}`GPA58Yqyd!mzte9`oXY0r!SJ?6Y&hC&#>X5vC{|n#!4Yo z8QHANHh;?}-&8GF!PG(_6hREkI*2jc&!Lc#XdT4C%@!IEq2bW`!8T-TM`8K;XH73{ zz@7hY(#ihO7lwg$40z+MaL2?!@Kq4wsdwpDZpresEVUoO)LZISw6uIH)U<;T-J>lY zhMK3df4ucU_7U1Y9NCV16qrr6)ZQ@IN81t~Writ2pKP^!9rKZX6VxHoGBzj{GWNSR z*gko%-`;Alkw#uuVV5Xp7A^S4AN67LHzm7&1nr@)_!A~b13)t+3f8sQZsgA9(8FV=0cu(f& z$sXBMhoJdsC{oXyhA1NReH^5FMHKu>>JLHqk5ZwGiAG(;G$nMHGcgN$tSbRU4-1r; zOmGA5@q0~958eDe&uSYAjnxOUf{yylOiJlBcU6$3>0!M7;MvKitmILDS0QXBc*vYp z&9=HDyTc6cC$H)sRU`2W8jiaywz2ERRffvU!6{cyXCAybq)BR#iq|M2V8 zJ#Z}PJt#nq31hO7m1t}dI}KCaj9*l?Ym-&X5T+aD+4D_?cWdnOWM++!qw34}+PNhI zR?MxS-SWnvX#9juj~|R>_BJ2-UJh9Nr|%vsnKgmC;Da_m;_e+vS+nfdQDl zdsioIIw+*`2KX?ewRTLS?>V)TcGetE7-7&Xf8z}k`U>26?leohQz6lnCV}vaXu?qq z$_mOlLrhCq5jfU;27ZFC02oZ~lq_3F<&Q@Lqyv3b!?Rn~ZNd(8c2^=2G&WUB@REMyKsax;Xe#Y9W z=d}23p-fC3%wrE{T~3)gvYmt4C6F$)e=%o8GK;DDCABv_D3XE-;Luikm5o{-AexCC zgbG{OeoT~=;`!Zz9b{AT(2w}p%@JpH;GB>DbT?i6B>8oj-|9UqIAi-3>5k@arp1Xz{0*v1 z%NC9kcL8_tBzWGR+BJ8U*HOLz$EX^8$M~ca6)o7dycNYefn$>r4xS^+FWWt590SIa z7l}HH5^17H6`lC;5aRRM6O{btSKyZInz={X1EZWS z*-%{XPiz(nZ@$05zrc8qchW46zxS3$njm3sVNUKdpG}73}M9R5W zQtAi7$CU&Ic3210?oz7D1$8xUPRZr+MrG3JRi4CO(ap)sjrNoCB{yBli&l(5#ra;Z z-FjZ4PpXftX3EK+&l&whgg1*-Epzw|Ddv+da99WfoWgsnC@n@ z3|k2KwpTOsn`M>jt6D(JI3C9=xN|8TB&Ce&;VY;+0CcN&rJA{P3ZZ%HR3bdSxZt|h zl*#4h@a~i`4E-3P%ZqXHOp`DMv)2Mv4MU`q&ZL z*fw@Cnb|MR=&tkQ92$bUzlbU<^_^$r*TPlANn~QUV*Zy)}nVxCnE$CmqK$)5+%5DS81>R)g4+-!P zpDaI>y6qP6sbZ-VpIRjuC5q2Gc>XJh%1%Jx8)CPwz*4=hQ92$3Z5pO{G!nma^955y4B@-Ky&u7)N|d4&dAJVL(GZt>kk@!our6) zf9`PK!vzF|;>GWYPFlR+dow~u74E7ix5oEeuTE#9)yxiLWZyflZhQu~|!n;~W@!0cdo z=T@>)W$6>ch7k*rN*k0Tys1c``!YYCC0=_w#y(AxoVmQp_e~68o6^&(OVxF|Rg}cp ztDVc~hw#LfVxOH6;MTI8)Om>r=8S@$c9}NMZH#i&lk8za7CP7oYNySOfG6jX7GGgC+iuu25~OM#mCLYZ82#(F(wm$8 zHUI~u!pi0SZ7Q*PtyV3bWWJHZT6d+`0E-d)Ub_v|PhQIAZy09ZnA!hvbCRZ=VL|9E z9F0qdyhe%oDo(nmcD}gCo}adlfY{z?EP4?CBGfsQ$ElP&*h14}*La6k?K3q1)2T!W zEy`)Clz@4UK1m~UAG!4%Y(Ig^^t@Z)Ne($J|Hc)z;>~hxk`j`a zLA>K;%#%$=hu^OFd8%QuX!qn7W%r}McON|dTpVl&WUO^@5S2??1;w{S3;s|)8Jfb| zsixhpVwP8Errn>@wKW;?KX?E$n+ukaS9JAFQ6;x2oGw^$RUq-#KjC+pYnz*s`R(I0 zkyF8CK(9&H+S{AFvri5*e2i+>{+mv;ild*i`6V0k@(ne{G;bMuX9IoHB$@bJ+Z#;w z%gBzkJ~1V|P4Kj`S%_Q${rPtN{PoiD%QK6w%_#fi9luD9PsQK>WeAz#$}gt|g>L!UtpTf`?^MhN!+D2~UiMm@%M{!H;B_j~~KXc8(w8Y%G& zO8)C?o@5Q89p^g9f>i-P4r#ItC;oaJ%8KmrZz-p>=Go{ma;rtj;1vYxm3OR1c&~*~ zd%$<}KQp~1hCp^~r_#aH<|Fqq0Y5~YrH1vuK+rg`n zDGT%+&Zi9KfLW=QY0r4Ju&Ek8)9Yaf(&EK8lxoiVLdHfGrJ)ZN5mZS zH#*PLMIJV? zu6dF5HWCyk=`my*MmrR;uss5TJ|5?`k4j2+2`a(T^<+pDcD1Q(tE6QR8oDHc!u}Fo zjGk}Xc4lJu=p+OEl)qn~M)8Kyh?V2@yO(%6#74AUpq}t$9D6zzKEp!;>E2S}q$;gY zsC}&M1||W=JpIjac}3-y@-`uL6!I&w%t}6krkzK|ZyEad3ALMr&E7?Tm;+hY$2qU1 z_>k*=@`}%T22VY0tN3N!T2N*UQuFRcjpfPkXSopw4P8L+gvp1icoaeyW?=%q7ivc3KY zD!Z0*THxhzk!nI^+!c{iTN??r%;Fx9mHwui9AkqygW&5pe>s7<6A1yvpo%j~kY{pr z;UH9e`O%zICnT9ka%<4*DkSx-T7)&mfbFF7u^h&*{uhC7h4+jv`OZ_aRy-MOCJBR^ zGEF+^#>o>>?7kZh?AR$&c0)P&H{l*Q?{JTyw(`CXbw7`2J36MLFPh2jDl#7qKn$Em z9MR#M-`CkMXWi)JSLVVp^wiF`{nHGef{$NqEfG5CUHlpZd0PGA3*J<~*Aq;8 znFQCr1lU%COiB*$d5pjHZSGKg;E&ExV`C5cefY*A0DAqc3n3NCOZFC(!3gl+OW-*D zgiD;r>%%;TB6V5|!`5f!-NxYDGt$x*71z8s{poI;61MA&a#45%rbD4;CyatT&s-~( zq4Qi0qaL3MC9ubNA$w=dY27k%rP!@FQM+y&)%GWwPZ>12=ijpIPNyn^9N(`SdRIQw zr(TLn+9j2l`t7M00V7GoY_s{rA#6R`6I&cGY`9GrBq>XKRlsqTSUlz==!-fohd%!| z8*7Kfq16R1MnSjRgrN!OVPubF;cT(Qg@-c(_h^rX>VwkVyPxZDF`Rpq;C%YBvFBA)>GQz_zd}h}C8eD>&OFKrw zgg<<{s1Y7pP7aF)dTTF(h32Z^q-g3!T;3lI-imqjZH(_)S9~kxIFvNzE)@&+vd`%T);niE)Q+ix3=KON zInYK^G&6g1H!7bImVJuhtDXd@36NyG(3vYHD<=!Dh|)SsVQlMh#X~&vZ%?goS2~AU~!anH=8R#35{dDdoV_P(v08Z zt@26VWe0SJ6%Q{Db~OvjXoIg?Mt)si(JMT(t$CvyXe0=sQM<-B3LWf!-&_8XEa4Pl zGBV!#^E4#&`pa(>bw|7s(<~SSb?FH}%ahiwXH4@Oc+4|J;!3tM`k;~ilAhnkjkVSU zGo`R>+NfW<3!~9-Gi^^5q%S=V97rTG_X6%e(ENNHNq3T}E57~!Q=AHH$EXw}B*w5= zIqtA4-fF&(7vd;Q^e;N&;P?^l<*mnGV5c)$j}YQ;2$S3`F;~#h8O7Y*F5z9y_0gj* z;Nft%c~nLg7?lGwUYUdNZbR<;;JY9Fn@GVX>MyLO`SHU zC=-SU*sy7=lyDJB-VdCVlPS|WOd{v@ai)jkRx({{l}f_7zz3=hf#a~Om=%NlK0hL_ zMPBCk_vKM!#+Wkc%+TDUMHB*CfP+T|a|Hd^rSA?7MJ#r;3z$v^OFbJr?d{7cXR=S> zea7!Z2&cmVR#`dKgPtCU1CBoVm@QhMD@8;$A)qia&N0r_r5>TEH>;}AgjAl}b_Wh+ zJHu!J@*qB>nF)@K<;+!a8HuA*sJg(?*yDtL0hC?zxs!>(Ej|2g;AL3X^3im(f$ttG z4r^z|D!oZJ25B;iQs6UlBJLm^%y<2#&1qOtivS5U<$91Nw;d*MrIyUf#d{eN$FMhS zL@Vfc?itR8{`uQ!wWKt}NTOdz;=UgvRmf}d6L!CgD-IU)l-S8#y~fKv3UAw`))1?n z!S%22VcLfprdX5?(=Qpd$jtvi~uwA;IQW7>6~Cb(7s6&Xu;WHr5dYtO@z0 zsb60n0aMT$`jB%WDiIS|*rtH4XsvKLQzXk2$C^Bq#zZ))~&J4#NFfw1N^ zupw3+KW2RdqyZSI+&$yuZ`RCV35agsqtYq$$0AUnhe!0r6FNzYd5csQkwl?!*T$7| z;F<2}-Ojwn^aO%q1SFB~B zsi@Pb=j?cH?oWJlDa6QbQYxMMS2TNlUTS`N5D2-tosY>yOdl4ehRu=q`=iG3 zcWm`2!Ti-p&i9`+&Sow%dR2O+W&62apxIxy=LXbK*a$^_NgC?yNeoIjSw>ycF3(T4 zKB&verYkc(C6V=C?kPEnFTsxz&R^BFRlf&$Y1D;&UomXgsKLTh(LknoseQabW<@El4X@m}=<-7F1NjD?K%A+uEf`_F%pm!YL@#h%R!T*0jp zLMKe$9CtxmZi;m3=LAF?I}aT1oO2t-DxagvgY^cWWKK}uD?Pd!PpanKf?w{)C#pgskA6U}a(GMRG zhq=5CuT8}GObl;GlZiL5TjLMkR~>E(Y;Z&C^S6h^%s&6H`XflvELgv$j7UQNwg+8E za;Von0o5z>)0MA4l3RmdWAXj3;VcJl$|!-PcoTM~EyeoZ%!4`Qqy0M*2eUY4V88a;vuLYW>uMZ+;*&59`p!TBM@2>Q!N#0aC_# zw}m2NvCE&|Jc*x%mKwjQk*)79ukNZa+ENoTo&G?P+mIGdxC4Mh<#Tg1_002+Y;cV1 zbyvC0ZE)0udm9FupAh0?RVs>7Fz{Qi{-MSkOzP`Ooko>H zKBS~hrvM5&SOQDPG(ZjwMd0&6d?(kh7N{#AaQIQ}m{-o#nlVZPl1`KCp|@yXWUcN2 zX-X%zN6wu525B^}x~dhm=CZ}SoVyZTm@0DaSE-Mzq(isf zc_N3kvFR2w`fj{E_Myiklnk;2R_8gqF=c)L-BSDKeqo)sOkq`aS1VmQujPaE zUMUu_Fco+>alcPzUn_-Ho?Vtde%Td2HC(aE;Q6u2|;a#x-__Ok45MOpP`7%@_O!M!jXU#-!Wos(0a>NY8dt%(qdIbH@WTTlwV?0 ze|%Y;8`<0vEU>}(K+CmrOwgyAK7nXdUfrOFbJeuZ(D^2hoY>f=@Wmd>vp z>|rgr)=>C%1W|Hk&?)M#RHEu5BelTk8iXbcROchG&<4!H? z{yMf!9|t-Los{i}N|V`(AfD@sp(u>e4PeYQCXupfel5e#AgY#;ekw=fS@}r-E=lxb6ALNmrzQ z1eY8RhmY^`PZB;sK#kNAga>ZwvG&P-UHaa7y~uVbIn-P$B|>gZ&0+U3_aOfi?|(+r zRobuiNjP?0uF@mSZ>`~&pGt(@qYCu&#JJ#-DZT3G+1ZFRbWFPIY?uJ5C%--xy(5a|v0s+jx|QMRA5^L7Hp@uyi^_WlKlLfYC-#-{yd>&F zg9Fs63jJjsUuBReK@d8teR&h7i2HsU_85|_4dOI?b*%CE@3Qc$LP2BnP2#i@n}$n0 zSyE489CG5>%*oB05E*ZFvA3&jEIQC@s zuUc8Ck~N}3F$p+?#(y8UAEXB2gJq?2hSyLb1P9Fl>TNOy?^Dq+&&wL{PmH@7Jc<#X+TXj>~TgZQ`vJRwhC$utD#* zB4Mj|n>&hovro=~%raD?ok+Xm-um-{YP~#dTk>a+jyJeudxe{K+MesB$>wUCp_dz% zZ2yYzyUNu8=MPU=)w8Zdz3MXh_CD?yUpR9ny-dH!5KdgDW0VdJ);#DiV`D1jnMiHF z%`>TGp*oq2wuTyQ-l%bWRQewq@89mPZ%WS?wHslG33+kyukgIGZv>;ZyMR#XsljH= z!fk{z>VW?3@6wAEwXa!SXaSdj8}}oC@62X05|6$#3jK+D!O} z8J7l+h3|=G6-k!1%ZUStdN${O^!&A8e5&Y9CcgNK(?@sKDRc(1h{e?R{*G%I-MW({ z{SIvDl;^*Wepa7=V%w3+>Hg%Ij8W)i9$u}XM|eL({Q_C7N&J2kknI|q>W)9RZe4P& z@F@APX5Q}+V1MI$YgL6N0N7eIuR_aA2gORg#q7t890-ucje9?kH^xD@PCq>Dgjj~M zD>DPdL98cDsh33c8Ic00i*Dq8$QfTTnsQQ(c6vNwfEko2W zK6Cg{36oA3nx)Z9HLIO{U9*IY?I`c}W(6uMDn0yF zDCv?d)X66?60;pr=Hz{?(Q8HKXItFrl_GKGUUGDB+-oK2)#uA5n}-!x+MA|6a@Rg; z=^Aels1WbwKp7us#qpaLmZFF4r8+Nd@Edvpx(@DzZkkoAaa>AO395*P**rC)=O0z! zjS?<3k^zA-H(}@)2iD6|!n0v2f^+K$pr|Z~mLcatl@sGEVM5*1;76*09QfH2(I&Fl zudBUWxrHA6_wK9uU1`t$#N)F!+q`xUL|C_5!|}`T_Of~!D}BbTO|20$AmmMiAHS#8(kfn%VhHz z_?Wv~`j5X$?<s z<=@~aQ9z%t9PuR6R0%KbX5N_W9&JB^DVxYP^+@u43@o5Bf^;_<~IXAjl7hA*` z%B04VpUyG{PwKd#jeXoNZSM+OrTn?(rLA=KD=TkCnyuc6MIA3XgjECW-I$6>)zm(I z?IkAX5A;ebrL54Q?uZr>82#!e>?UrkPrn!{-1ptRmT%rp6N@C?y-bU@yWf zc6zbWVeH}WsIEo7_|jO~x63aTZht)zKOZo^p{)xR5tAPFHBx}4>N_{K*`yQ3k!>-s~MgiXZ9466*0>c_0+nq-vyh7uCGsRCD z2Q3_*Pj@r3fi|KN#ZwHkqHU;4@%}nyMig22w-*Ppe!yqwZO_6>*2XBJ&*EM99O~vo zK1g+T(u%UA0vMzcHcRJ~fT38gQoki+kzLkwtOnV7CYbu5&hW(4S__-*9i|tfi{4*(VIuc3ELW-LH#~k|@isJz98(178s2&8gGE7i;Tvtszz1 zkMiX!vtr`Ii_+k0TzgI7pT%m4FTD~YYrZpJs4p!i=Dq-GNi%qH{-zsW+h2u7QeN;* zJhW>f>^m|jhFihgAY|>F2$h0Sa;l`wgo;VQ+;>s>C-^ko9_O5L)HgadZp$=D@hKBkh4s$W;DF6z@_T6L6 z42kZ6pdlR5&a3@VuaPsG2zuQ_trTpD$@Hzw6tC7Cj-dgT*QQfWWn@XbUVx@P2nYi$ zE-H6Obn{|3D|LhMbbYHxOc|uCWk~bxGai1fpU9G!V1~AJmJErUp>nRcZf$)bTU1#Y zatiyy&Ua@IP3?yf^^jn`)7ASTgK*FKr3*t_x2P9}Nm-Q`H1N}P5`AvP&EWwSc8(%; zf8>z3T$f@IGtMO2fGb-cj(7NTeU#C+>g%3M1$WgwkC~371cB$y9x{Kdd=%%6?(RcS zHwXh4N$-6Rxqv*Z7?sH>{mZGv2Gl9 z9Eq{qglz&z(vO7Wd`k1kUd$r8-sy~|gfx%%?jheBaLO^q_8LiXe2uE6qUH473EMns zbH=0^v6+_($vEgJdA)>b^*ZK!=Qe0e3sf#(Hu?;S-)+NaC9(;hgh$crcd{rErB0MT zG3|@Nhr>C>=$@#sXsPqWZm)nlsiS2fjg=z2yHne&}!%@(d{uE4(JaES5S`OwbhVhncyPV3x4wViR zMy@XMQ!9mA#jrx(#N|(Y8{uqdt*5OOzXX!Hosn;{__CSYN!dPO#4)8Pu6c=+te(dD z(jD9FY3O@zSt=@y6z}4Ty8bXVW_Y zo9~3TQ4{L9$Rq7s-BO5ER9!@CSk4}f&|yF8Y&%au4)-5od;efmeG-~=AjJUibe(N|Xaw_avjf9!-w8WHYRC{GIT_3q(uwL;t0Qo*Z#QS0=S`F9n zU-%~UKP1dh-&RC+mPu%{I3K)+k7;0^ijp3WL*kq3WH{VGD+fUmVy(tFJOYJte8B#k*88JmbK~yNa$5!PncI_zc`UI<*AgXRhm*UnK6vJi&6J741;OMxe zR+=swRWi*j7OGf25xp9}F|IDciG$I^LlVP7x`HbVZ;>HH6BrGqv#;i))T8ch2fyaPMW9eeB6X0)9$` zSRjH(B2U`UVD2t%6&a*s#PFJ8HLQ2peRu7HBJZBMFVk?m+s;bQmVsNJVXUtd`;gch zqXxBnm$9{MxK{=vAI}Yzpwe zS}jmb z#cdvDSpP8&n10LdFBGQ{w}sy_UXqPBoI&OFE~oY@T1l0FW0%sXGOv}wJ1cMh5&**t zKVbHXYZto%Es}y`88?q)dGWkG_XoGC8}mj~l*H`jQ~qC?9Lu^gK;~F&JS6%)b#yJaj$?g-|1tufOHp_@mc2! z8UoxB)B!AELJlx@f{o89-S4R|5#PenkY32zP)Dl$N)>ssMBpRMqS_J*s`RnOFSrjc zuR!c(bzt;$;YZ)s(uyd5c_2`&KpeV*m{2b*^5K(z!bLlYbcu$~Ae` zZaOgBw&7Hk_Uq|&5ua31)Q@M$++NDxvlj66733oK-LT0b^h#TMyHwy7cC`ELsWhL> z*QW%BmJ8GRf!CTq`dE2vfyw55X|sra3~QHAC@LFx!sql?18VlUFB}tVGPn{l;}Kcf zTNp;X%$nN-$L^50t<)&4MeV2i@D$*)W%}SIMVcyMI9#1(PXZ1R;M*S#c%FZTP! zTeI8ll3bP<>#=Naq=Rr?RK1cu97iTxnd2Q7dqb)$UPR{yGy{`wp1|OD=#_oLT@XSc z=D=E`Z-;2gplHS{SX)Q5^2NII=*6N@Hp%XHB=pl7YT%j*ENy^XRL4=`{7SRRRnxOl zeMqt!_wCc1cMnQzD0n2x&V6TUaS?wmcnx6{_%{Y|K2Ytz0QSpJX{~f8T+=e9ZNMW) zae3}tPs|8SDUXRYyMJBP)3>pH6Kt4OQPeU%+ESE8T-I`H8SGs5&%aLV-P75`(l!0g z6&wKNS0Msk;Y~^Ef>EV*D=ZWSS?u<=oOz4P4S^$W`GNzO_CXmuATLxJ`JdU;os}gk z&91f=X!e?UayGcwUbj%$I8GVl_HLtrgvAu9Exbut-9rNQXv{mBfS<=Fv2u|~%~B^& zi9GV67=hy2!^|Gs@x*e1P9FA1iae}P)(gMkdS)ZF^IK~9S=STHvR+=E{rOfPIio3Z z0aK@H^NCXz8YF5{FG8f?MAmi`;+R!AYuDbN`1>D9)AH=&uvgW;_%sxn!T9J&@x zQbOw_k`B{te4a)HC0ilg&5?pkOp6clN`HI5+mod05XYqN-x8%&afJG~3Ol z)C1A(JfBgP|-ES*2Q$v#}Ni9gVMH3h{3LL^ayY2X!jUSo40wX z27i~(@df1wQ@Q_o)B0BIOgLvfDfd=ScFk_1uww>c5G?Dz#?PJq#LP{>7u#KBO{`{F z2#1SPz|k4JZ%+^7>-=l~^4Mnbo1(Uyc3U_U59$GfuvD{&B~88v`!yJAvFvLqRm|wLYf(Dn+!LMr20f9Dxa3kdNsD>6uO&u4^cGp;BL zOEDbN^dU_0`)jS;8a(DRO{@4*3_R#!2+L8$ZqVP5^`>&O-1zkz{__J9+y)hbfe5=1 zmR_9o-~q|e+*=J0(7oDj7b==Mi%Hhek)RxRFAE(?i>v7=IP7dY>|DS1#tZE^wNFU0 zQdg1C<6{zhwZ#90x?*l`iYLRsi(DWd3x|~C-=+9y13 zsdmCseNO5LVFepbk71J(1fHds!&PE$h()7&idhWItK@Dyup>(yW45{M391~JI8zl! z@{1E7l;VH)bgzmyKv~L9|Nhf9PT9*a#kMjPFB!aM^1mf|<}O)31|_?QLzIn#ogygz z@~zvFmx^^a`q7kK+Anb*O`Ot|C`>_fOoK&Y=F4 zTbo@OK6(lGo1cx7clN;b*yu*9RtHuN6oBlfNVG@!n7aPqw)zZ?lC25pz~C!9ZnKBS1` zvzF(aV<~wul!$u;C7uawx*>%KT3J~FSg5Q#wKIeDqJq)8vF$lIxL*_JwiAS2TMcvf z&bdc#yA21z{;2<&NeehWaMl!q$bB_YlPxej7TX%CR`;31gzra1iXlc8aI?>C8W>02 zXxKK@HZY28#*BQpXCXrj&!qGtS_d$8it8eXc**JJ7>CZRZPyt; z=wHipy8G|9lmd;>b_gV0ul(zLhWNuGSUAiwD}d8B#m7v?Xl~ZoGRzVykhnG`LK>Iu zB2I+ElevK~-=AY`!*vBTfJ^y0e2kQI0~MUkqmmb}-|@_0ejg6q^~%Vl|67+}b=9Ad z*QjxWU0JegOy1@h9`p^?XpoXtH?)#dfO$~Paz@-oDyr({0fm_Dmf#1If^AhO_}o@} z>F3MI2V&ADBh>ggJ(km@{RHRh0vKLx_*G`?sXYMDQ9U@_#;N6wm`;dVK7D}4AWR_> z>5j<3+;_fFz5|^3wNw5DH@x|wUgQP|g+Kt;a;Wz>xOS!VIW^HQejJn_?g+uhq|!`% zf$>VwB(KhgcJb?xWo1?X{#nN()5@G67PwYkc?LLB2AK8+m{}*GcpwRqg<4s_mrzaf zL){R^6H=xNy|keYiDNpR7<(HubO4gthU~>(^9)aW{06uwIHzr!*C4eXw6GI$`q{(> z*$pv$m5LdD2edY42=3AaF`fBb__Fu3TGY;kMRNS$5#re6yn!iB@hsm^4O+H9T=I(9>^z_)H-L^MmK+T{|GaKQTHrn9HzgJMI zfx6Xs_uD#k>)E(Ne#WR7Tq5bX(fa}Yd|s^O&Fy`D)$zluEXId+eg*+P?$O_f$72hA zq76{7=J*eWlfUFoQG$D34$tIG3cli=^BSptrs95H1!>8Q2k&nCzRv6Yc7Oif-u_gg z^Z^EH`T&AobND|;eV?Cu8j<}ZQy)J+f9=^#UT5kK&h&pC!-_{^ChSIO_>o-#KbLiV z6?ZR_UYQRjMcE=uHL-pM3-t4+iF=<|Qx7O$lWRnb&7Vh0BQLesM=TbqO{W$fW@6dE zYaUOmV(Wd2D(H<&p~qb8xHI=9+cl?#d8oG1W;WO;bdixuD3AT^n*=jVT4t-Jp8C-y zRd&(&4k#&vReN&~(+?L)&{5hA4Og#&jn-@J*=R)M$(^~@TA#-@OiTCxt`=9~e&1AY zpw3#Uf` zA6`aH-)NJ^n~oyx7@l71&Qh7Y{6RhG&k4evxHm`BlXOLwt++GgWEu&a_nIR^dYhyR z-uK7Cg&Bl9BD`{PK9Mcf83>0*cH*+oW=gzGq3V8XhIE$f^w1EyoU@~hJS%BL9Jmq* z<91-wdU+8r-1KMW)o*`svU%6qiw64brC3^x?wiIG@)w^e)Z4BI@7oNl3v<#v)cnz~0>e$5{?J(nH& z*@S% zdgUYyno|Du?z6~>ulw7!T$&#}GVCw+r&zpy7h=8@oPID!0>+f>)V}!9Cgptp%O=M7 zALrKpLHEP>&qK$^@lQ+lKlUF+hJUK9|84)d_V)BqIa#^moa=GF$?=^qAr`nX84m<* zL`pR92W}LUfdVE027xw|2&5q-A@PT`16LHZhSjR+5~`VEP=Z=*Q5B%1tAVYFR6uKH zP1#)4B4OV1%*_ZcdH(Xd{^$Yt^!?+d&vKpf&bG}tx148Hfq?trumuCJPSIqqL$~)@ zK+|D>ldos2x&KxzQ+5G`J^|G~mt50Q`=$O_2EMXa`dOo$TBH4%Iz5^K<^dDdt@$n` z4Xf*rDn!a7#aNSqf39kIiTI`-2wz3Z;SDqI&Vlo1=|xJdv$ErI{&TD6^}-DF)`=#| zdp$`UieAAV@cK7Jmim+5UPsUug$?=V?=|lCb3)O_A&?Ow(ho}in%w;F_Q!o9@B2Lh zNziZaLQ8$3G4G#VL*4e$pX65Qo(w$MKzyRx^0lx?pys(D)&o4-H3RvlF`w>`8`XRv zQi}e5U`>XwO*v})q-q6-M9ecD*?F=%{B>Og!ZRVN0kbzK83nwM8Vv-r9c5kgsK4i2eM9M!Z~>T&K-lz;k8rA{@(CjLg=8IC5TL_*Z|z0E~$57jpV*ST{DA( zUZPhtllg8-mc2_PxR*#@=lzdTUc@WO>b$xOZh`8C1EF7+RsIpxM4xa2Q$f~U7#6x` zK~EfOXlCJk(@l0*5_Nm_!VQ5 zcE`maO-4?N{J@n}`#kyr-m$~&$p?m>J_!c|`EsAs#}A#*JNuG%XF^Q=d{7S9ABPd> z`{lTZew3XNFSz5WRT%`Phi&Zv<^FEqXXC>m;1G0)nn!BmeJBFvU?E9P0xZpqql#3tjEWY!@n zLPgT$oSHBi^Rq_%BH9*mt%}VlziC5kS$1=rs4wC+k1q}X-8BqJ6 zu7uw}BH@(FW2U&E-YTWDfzu`>6~w&DQ+ZL7x-8{ilB%&O-F#qL7K7r+_XKTm%JqAH zi&5zw&s~Q1!j+E0it_A|%#hL}e`Ve7IEifo?QS8I-tF*nsj`M2NGcIIo`Jg!o;`YEC)wOf`hCv|NqI#N^@S}2d^yttC zm^CzB>R!NYlly@eg2*k|_Us%~?z>168T(uqMFp0Sfxok4Dv1Z(r(ziiHH0d2=JfBX znHz^rqwNOAd*}$^#83q6+-h&7ZepdSMP@O*L{6)x^y;hZ?e2!RBN&*dQGG2Q!$Xq2 zV@hRdsi{foQrWuh>Pj!MndwczSnDlxcklfgfYMGX9Rg3%oPG(&zZUR%ikNo>De6L%O@;-?^Be1@8@Jd zP?(-*5V z+?QkAVZ{BgrxK54E@N&8CCx~@k-THca4DQ5W^Q7JQo>^Tp}a4_-?ECjlHLTb2Nv!c zzo|jPT*09)mKRJn|5H9G=RE;u`xLxH#nuVtlaL47A$EkH$kW(`BUjz&oGNtq*{^y2 z8D4&_wxm-zoNRCCnJ*0&JB}Kkr~`*rWB+<=9w0(;fuG)QgCD!v?{C*H-mjf6>yIfu zzx|`nBgG;PzoYwW@^8n_Q4|25gbExP7idTpz&Zqk$j4 zh~|4;E^yYkDvp*b)s^NWsEe=t%U$2E{vn8qFZLmjp%*V9?MzHy{%G8q{=ETmqsV5C zzvZU0-L(Gf1L-w3H|7dLkOu*A0N#N(Hstya(+9D2aOTeV6`BXm+yK_ffp;6Y>|oA; z`V*e52s(Bk&4Hc=0uWGF&gb@{fX4;pJjmAJb+dYk~$>Sj;}UgWf6v;0jfI>ZC!x z1~6uShwlN=H`0U=cE27+DAO;36DWD-{fZHG$nfyH{~&!jo{@|(gL1lGWqAPKBQ?mw|*pVi% zR4D#2o9O|a>7XQsNceyv2aw$`M2c42u)RTX4kYpdMDiolY?!WkFzE)ksRod;1DERI zsd|_yM~KyZnd%Wu4(zl269@d+5w7YnPY!%^15mnQ(e-fIc8n}X=yylTRs-s*em0#@ z_5Pi99QA!EosjExEN%yQHzV}g5xc7a*I&V98xn5NS0TQ4Oj%&w`{s8rI*@(-vh#C| z2XwC}pU8Lt`a@B7$XEy39I*S?>|Kk@zFMN5nwAsGlu5oxWO5X}E+&3hv#qWR-iAze*R14B94SiZjXuLfd@V&16Ib z>!TO%yD%-(_-qBFXl=ES%QH09wGxl-m!sIysYYQiN+DDjQ+G$#;Mgy_#CzILQuY3o zmZzI(?&&PG6wu={&r4{PE>dZ;KxU`=CF~^)j^E{xEvCNvDeNUJ36`XTR96w?{DDbV z4p!Pe;VtfWd+F(HEF)VnlyCu{au2i!krD5Z7Wpj;FqQy3ME$9m9zG2j#DEy)OQJb0 z8abFidg>;=ek{+qC{W%8XOFqjfZTyK>>j+@%Ei(1z0K9&{?U>5b43#0`!p%QavfxG z^XSM-4G#NTn}@U%kyDl~`d!Me1MA3}78iH7-}mgSi)5Sa7-p;BjosJ4ZSGRR0az}z zL9LpuhbiaQz%R={ENtR?FeWLfcdi#D+E~&=u*b%p=Bw9X-FNpp#(#^;9t~)gA6>x? zOB0nArP`KhHL)b@WVD2yJ5=hVAHaP6lJt7n=k(=TPh3Jp^T;iE4o4r-Zf=QggHHRL zSyh&X9Ec zhRey=Tj=DVf$AzzdD68oVu`Uh(vqD6moHp)``P!T*^H|zkG+hV(mrW(PHA&G>*dV5 zEt9ud>`rQGdsMYCEP}nKS^^U|KO`KXc8-c^O;J49Y$%ZgykbdeEubzx%KKmuNlla z3IBXVL!W`ub7cT$PAU)$Yzn%TKtpU^Y+hYnq^(temJlIzQ2XYk(yXCeSI6DNrd8IZ%%V zs&)}72DbK?g1}ner}|LKttX&^XY+avB97V5F=(%}%O0tHeBgfFhM&40PLf(;VAm%FP zgci_C>>Xw=K7+vN&Ae$pV9UPkKBUav?J$JRPO+tRYwcU9YGq?>Z@hJS)atp;hu*fb zt^TMo1Iuc^OtEFQ%l=rAvDmu#VU<^zLZ-`kB&F6=;3)h7QPG37)n@qII%<2pMY10G zbhfqGn=-I^RnuF;s*Qayuy66w(ljb(qZ4#Z3WbT8OwpB{S=Y~Z@t32SKmC(HnxLc$ z+6GJw1U4X}U&Mf99!doSG(d;|MFK1u2--&-WG9Z?A{TKx^GrAE)N`!TbGOwZcQ2iF zu1+@djJD|1Q+bKUzC82HHRzPH&>~lVBJ-@i*i+9q^GtP_Crsec!?uJnRVl7QWlbsx zzGUcR(XiTuA{k);xtU|8rh_HSY>6gQa)~8~%vuJtrcoV!O%0+s^UbvjscjWfCq;qN zd(uw;ZqLK|6!5Ce3?8Nmk!ZF8-ilaN2X~ANJmfYuko+!{liM9|jT#TKG4zKyVRn{M zg3!86tVbDL#38%L_wXh#aFLDIiHdzS?P@mkxy+dm8+i+5b1huo{46sH@N*IP6QgfV zR<|ODd=(}F(v}TwSBWl<*$v9B0PByP75^HDN)<0zZkhtPE3Tsrc`op~-Q>`mwfP1|?4QiAdtC}+ zXcfRGi2phNApSjVcW7k@MkTqHBkK0#LxWysF@?x&K+4mq&?nlr6rYspwv^Y=T77tB znd1D=?(kNzwE^*#1g}p`Trgg+&bs{LR~umSM-?BGzZUWP==~M{?F;cDsGaE>UpMTI zi%m!8?-dH=3wQ0<3FQOUTfL9Q+dcn3va@qny{g5fbJoH<+VrqG4HdU zXxXvgROAY*3wZmvXvF+^dEdJP)B$=u=7VF}6*ej8!Jt(n9!Dr&B=}Qr6$$ZR%AuFN zq$2LvprxaemvsFvhedz< z1>JXf`(yFu$VQ!K`gHq-kvIA|Z+J4E!P8L*0FB6=Md=XW1agz`M@{x&Mgx`7@v})= ztin+uxrz`~6Fl6u>0D}_TDImg;j((4eu|keiTtMzrB*5BqWPT|J!DnVwW7#W43;FV zYTeDcqh*j%({s>wa{!lpx51g@8XS3_9*b;X&v7+%)N^i&8L7e0>~p?dfXtkc&4?CZ z1(RAfEo&)xA(wEZ45Kuu>{g5;^X451tmHLB|Big^CTtp+&PHk~!Q-qlE*z?sPv&g- za>Dig;FKe(nUO&<7u(&dlSqt?MaF@kkaV;&Jsrv?uAg^gE7wf}mYF2W9yi8GM9)sQ zYO8Q`PFKWCCqIXODVY#Hj+@5MHZuhy47}$9!Po#;e(gWSoRkd-lNM{P`bN9 ziR&)DYWx12DCshye;b)ilcS0#cnehy`*?ZjGwu8&rTBqy>-{7#=_E&`_ zP->JR4erJYvX0fRY6$w~@fA_<4rl{(xO` z9N2rv{{1inyo;7EmX^&jbBklf%tczKGL~;FLFQe1n3lm^F^HMoC|by8JY-Y6O%xuo zP%JZvmTQ^C9>%#-*Ruos9wH7w4${Nv1X>weA8_$VpXcqnGD$8BfXRWn9ubTFQR?_E zGcDjPU^W-3^ZThKzthVOLBk;FaMYG9{hWqc@{PFPB#U8`4L~jtVJ*hSz)+z>6t;iG z&Wn#22u5qP@rPN-uh=HT@!bX;p+aYMnCX+b6fPrQJ$hQiMQ5t$`-yi+Dh%GlyQEip zz6~gE^%LI20`c}SK8?47u{mk&X#Jf9H+8r=*1+jlj$s5}0wHM?f(Ik%mQ_Nst7l;T zynBZqe1YOPsy?}9!k$bvj5f*`?tCB1(JkhJaOn>ZFUh%oSZ%oI_MJ^m_Z*C%d?z#9_P z;j$XHEf3B&W-{U<3-Jh-wP4R4rU%UnsBYvzK1DOGIV>0cix$?Z-1CPID%z{NVvt6Y8x;rh_%kInx4x&bbxXg787f`AtDQLZ|S-0zt~2 zgM_8zjv!@-Gr2g@!=$9)ID^f^*~mffuyOcrL?ZEmK{IDbx@EZ3Aq%kuOigB82IM(S zB&TO{b9eX?B%1K(Gi%75(P06UoYuX86qhZDyGZU$u|N<9hPG0%e(0)f&sRJquX6fP z1KsDu20FFWGY^i3AIBxrU;V19wy@teZwwUx!i)Wwyy(QPtqG)>iQ6rL^|zv?Ekd35Az9M(FtcX;hKu4($6vZH9%X^o;_(y{nw zDCMPDxgd|g!MBLvYhQ^BlaVrht-LfI+2XlNVh~if7vvMrQ3XFeH8+1Y96dN4t*|79 z6RzT-qvO*THn5vMHxK40cec*9+h0H5%sqdbE|g#*rqNz^7B@DTe{|08#eF$h-Hr#w z%q-Pa&`@|gE)9vB^KjbeoP7?0qrgT@{xiiTB#}^~Z;auZbWzFNm6TPb6BcXgD)#W){HiY&ubjw_}iKU<=htSh5$#VdmNK<`9gzE@S34DgR90{Hryu4uRm>6 zszA@<>+t_bN-`@&RY|sF%2Os-#MdZUGU1Zad?|C2j*=}RbSgBdI3i6ifr|uM-gR)L zG#xtP7|=D$lgslf2Db$bs+D~3O&weE91<<+OGCJ_1u7Zs0NbVI8m4(X8Y9GnmdJf- zCg$97)_?VJW^sMtAYl^}-&j8;Cob@gGIF!~8L=5YCk(duhP5?nJ&}a`d;Yhp;(6f$ zbFvVpycN7=Tg70oQCV;ZT0ro?6W_gZKGp)Zkq2#Lf<^H)69canXeM2FF# zF-Gh84wo_JGYof-?{m=e%T?JGQ;5Gtmr}e!E(3c3X#uyP@?b0&D`Cr|N(<+2V^6EB zQRi|ESbTD}9cA5e0*c>AP@-9hYX263IkCU~?j`l4AMwdho-1HGDSA2Szg;>8HOw z*_*i6OlGkiw|3R-v|9|fdS?)GFan*9e2d6>e5so6SF1&p?}%RzKe_D>dzmwy9+(%U zdA4t?sa5ZQrMj4rVNoz`8gJ@vnx)`WsL4sIv~?T78ag${)vRh52^%tr8|7Mp?b}2L zn($}#j7bkTQZDBlGZS(%Wws5U4as}MkHrF4YX=kmL`X4~em5)3<@i2N4`+FG?SE>| z>K$23*O@aF`M=Dwm16*WNhC4a-;x9_stL31l9|b2iDW1h$eCBxRZ-#<>Lav&;+Dsj z&6n4f_bMRR)CKjLZC7uW-7KX-)yh>ZTsJ#P^{(UHRGRvAoY+evc&&vxw47Yu98B(^ zw{f+Dsc&S~(;OHE(&w?iMZ)7ydZ}i!{fDX=yplj+anWMA#H)nepgg&PUvYM2{~)-Q zQ3)1<_ezj#x+QT-oXur0+6ylQ}6pI%@$xInF2|D6@lw zEq8|C?a->Q$+*usGncFyxxr!+cW^U(U=h_y+@x*Pdm**8iB^TMVR=|R5*k|hXy&gZ zSozz`9mU3_=SX2m$xpeX-l60mILau(SDM>+W!mt1x0-&phN&$_XYM&pS+{+^25jlQ zJ#|(I6W4ZhuTGn(O&d%$eRqno$1Ku!Sc+rByx4a=PZB59*R*yz%dXhqp$Nkk3p7!8JdZj>6%%a$)BFeuqKK3mFO^K zL>yIx$${CoxZ1Q>3-KJD4s)ZplRlG8W}*CB%#`^o0&@)*S~!oyq4mb>zns(h^Q!$M zVS4e5Bz&BNt@&&l=Ea~Co{%}jA1sz(o@JhSnt{=pT7PJm(K_gF3TWyQQTWQr-AXnY zIa?ZxZOnwP1llk8`>ns*J|unYm);!vSru-?vo+HJdt1Jc=YIRPRGN^z;0~H&s3J_{ zjlT9UrgGqxatVBB!&Qaxs_;b15qD$Cfh^Gw;JLP}tvp^+E&M)edntb>(3t&x!p3fE z^j%EHn%D5Y@8?6Jm|tQ$-QCY`!?fj%R3B9@wLWpNg>LscD*Yy1-;dtX#%P3xYLAk* zJL&XY)`IXkaFqVsB}{Plz6A9wp}nP&Uc1{|>Nvr!A%{$)C8t%WISA>_w+sG({~00##kiD#)R6=pK4!S%xzde<9DEmW%)VMo4CHnweQ>g5158tLD%03@{cN>~q&|ZyQ&w8;zo=G~dMI~R z^sCrqT3a!?X0fdNk~b|eF;GpYL%S`2ODE_i6FX;!rALbSNDhJ#PGS=|!lS^pQe_re zb|tDhjyhi87^P%t((wIwoMA1nO((tmXuWJI0LLP0e?dO}EMqUWGD9GBEu6`bmXpJae0(9izR6(xp=gKPM8EZ(nKJ+ zX8}6fQ}9HRjk32yMA<7YDXU0|lc~-MECGEkhRF+tI%=2xI>Nix+i{^qa!#Mq@`RWi z{al{T!-d|v88F-4l-B^5PS;NZJR>@-rnK2+DSSxP18h{}78MhdP%?e!R`Bf2*Kvas zTxb1*;etsyiP%(1u#RFb#Gs?Q;oP10ill2>IAz5qv1|u_$V6$VIum*aaI^cIb}o`b zo2#?BS+CzNBhh<E}zei$avXA%fKObwvAFxVtr_F0`e-g6) zE}`orTt(-UuzK#N^~%w55@uAidSFl8sd=z_lVaEpd>T^VIu$Bc*kP{nM#D#iz5aoL zy{W%yzG})o)ZbR(lOBE|8HPh!x=t@3enh;$8YE$L3_nh#(s8X-Q;)lhmv-EkOBwnU z#!eYR{vo?^Q%a;>`Evs%*KU2?xltP#naGm#27}vB$8twxvA=X95aC0hL?n)=@{80- z&+dEuiE&ZDlcupt!d7O${$cqe6C_TTA5eKV($y7sq~@N?;$quddDKz{INVx#4>Cw8@x&ZjYF6x9c7Z?PSFX5})K>X1iGwo*Y(W_N_#iE^gM#k}Q#H&$Fo zk*FS+YFQEL)RVxER0q9{6rkXHlKJ59GeNHL$3= zeXn5kW<*+V+gBqy*00x&>=pjAtdoQJAe^DV2@LX7VbihlS{QUe1s^MpI1W(^r}RncVKc4%fzEX=)bYmrJg zwi(4KW*She;=HlogcB=;`c(HX_6#C$wjcii7EVDkhZx0PG1QHF6~i=Z$d*3q$ksT+ zI%rlDCB2%8^`ZIxLyV}`9~~~&6c1KiT7|R9ok|d!7Bj7wKUNK}QR^ciq8vXpb{aic zO>}g_MJ4R^2hgg*!Ms{%@T+@_DuA)$iSO0D8w8ryY*iVB%}WF3Xil!(G`;ifvmZ1M_T2|n zT{1&L+@;E3l4V@II0Es5XlkR?YSNV8DypqB_1v_~QZp12W@9<4x@w`c z5GEI^PM12?Q7v1Q{wuTQtxMBJ2<8j>XA_`>fu}8Oq;DvVzge@p3LA-%X5)NPQSzwM zb2neUZpO$?gJZuy=tqk6uXH=#8dOb{hm!L(zo0|ovAN1$>aI2O<^WIK!JX8 zz55;g<+6O_ZGxDhJFu~de*nT{+%NP=jdZHeMY^S^AHPuZTYGTy~^{M`7h9!Kj>5c?9Q?CP|zH#Qq1)S zpA@u$SgoR#Z#;M*=eCNQK#uLqQq~MOc~OgE7_-renS8Om|t$B3^EpGdnP0u6kS?e~DHGWsskIvZE)Kxj&BG2MnWfc~=IxFiNjTW<& zMLFL;m9fvNxUxC6Rcf&dFhEoK0{!XbFJ7I?sEeKxu$*DmQ*P5TSnLj=>4JZ&xZqkx=-I5Bug}Mvwgq#q zR<(ZMUX#IJgKUkze~3IDWV5g&Yin!dM;AoaP!!&(4Q3x_@uF|Qk3_vXa;2;2Rk3bL z&g%|Wn`=El|4y9vhs00!^N6bVk80tI{)BkkjibP-bs=)pmA`W{N=x#t)o)szDe6M4 z(-q|_vSOEIuyZE3>ipdN(FB5kz* z`U~~&^ydyLmVL?{G2axI;HA)`?LuoQzz`9$(A<(G7S6&+)WzQKVV~^aV8-ZL*2sP; z0*kZVxORr_0KF#YBhKTzuaW2m5=r0kx6+AmEhdh=f0br;pV(`RzDNJtcF}B8lG@=_ zs3b{mY!umRA-WMIUmQMhl2Ts)b{lma>>3O)^I#k&jFW z*51=@$1+j#+h4o8lr{|DbX@|4KUOMsu(n3UfSR3W3VWEC>7J@2tx@6Mx;uwh!p3?w zQO3c?>c8ZNVbvC(aD^Ugp0ZtcGnPrZE%)DoIf_2fvo*hAD6^{m)>}{{xjvz|8pnL%6z$Q+7cNzeHbrLeegX z2GiAv2#bTMkfZoiHW7imC1}x%G0g||)}G^4{(#J9aIZO^5ZY~?sYyy7x-&l_&|sDz zL!`c$al`}HDv3f93psTudOTLFDPB$QbZVq)vCb;0A|V4fTpP?tyOPo&Jt7a;iTfp7 zNxSMwows+IzXPC?Nm(kbi40uGd!F7~^8AMfTJ1xYN_1alAJ^_XtO#fv0xe%@3>J7H zm#U~m&`MY;Bt|(R&98O8-~JupVv_&b2B!ZEVEsRA z10w+oE62aFw*Lc1GqG^~n`QjJ;pnR#Paox#XZG%A2f5P*%fwj8OtO&Q7M8FjC5sHr zi> zyy4Hr4gFjTjYv!AzbcH$cUiyoJ1K#I7J>U)PoKHP5y(l?dLf~zX|+M ztR8vn_Zq(rFVrP5h5*TDLrO5nWb$||#${FYf{YJ)*%F6$EFl8kx4N0B!!lq1>g45u zpVc2+w7T=S?91KGp3+Ac&H?Ygr>*LF6|weJS16ZZJ2MX+QWau52()%TiCcb=D#3Q6 z4oJlN2Vyc6zyhruwZoO;TnjyBArf7)GIl?H0V}ystrT!Ix6MsVSwCR$58u6Aveo;I}#i({0$XV?F$9lEt zcwyTK^8{VEep;^+oDGRg*Nypka|+~I1o@^;VH<*{@`wB-Zn(lMHci)$x*%Mqr_Nk0 zPZh|{hr*oFKJ@)9x|TJn7xwHU^(w6+&AIz%Hq3)lglY+02-zATxCzdf*9{LlzIEWL z5r=Aa^!g~uS*V@78~&0J^;dMA9__J-5jXBJJ|XiLo(Swa^06}Zm0)JXB|fSq`=Koc z_3CyvSvJ5$?k9R2$6E&)=aDry?KG@Uu(HF*Zq4YKwLRiQfOQc%983h?3ySPP+n=CM zO==GaMPLHehby8zATCfZot$INZ_!PI^dUSKrZgD)O}Rc)*B?Q{y{;Q)jS=Q;=eHvg z(}n!J*7JZ&a-E&Wk7l^}UG5(B0|U(a(W`Cz>76|)W@ea1v~iC0VbVVQsrfydk%z$<%(5z{#Nb)n=n}Yb^*{Dor%&D($~FSZ#howN7Nvf zO%vFg7Z#=Xa3m*-U_ui`{S9rmJdThU3E?KezwlUCMgWySPq4Ya0eH+bvb%5^YD481 z)Ku6D+cVr**@Uez)I9ks`h0rx{GZnu?~OG5SBUtw@_AIeX7+FLHc zaqcJ4Dy2zfM&ZppenD4yP+<^-wyerI?yTndkP{csZvx#ACm!wb>U4b+G#{kK(mOC$ zA}QE94eQiGVhK!tcB;#!EDIF+%nJ>TxR>f=@qAg$f6Q~&zSuKE^!`}^wl%bEF%8Yo zUxO`zFQoU%7eRy@Q~T+?4CBE&mvg30_cPtOhk@zK)pA-qjvIkAb@$MzE zPky9d@=sdvz6o4{;I-8sd$d3Nz`SI(LRlS@pFu7xIHP}gh+KsJ5>E)VXHlfC5mX{w z{DEr};tg1?gz(oC+Y4<^g3K3y5y0CE`#_0u!*d0mf|Sr7)N2L9I~E_xORy?06*tVK z`W?D-VzJ~v;{|618~#C@;}U|SOX|Efsf1#ixMp2Z|E8GXM3|!Z!xw%igNlySSA@eW zO=Nrw{Zai2*}M?$iR1~dZ<5KSc74L&EHwAh^0$_k=ue0X@nl2&P?&*(N}Y0HJLcJ|s>;g(!jT^$OxQ`{9qhyN z9fTRYeS8z+7o`wPpZ{gi-z?gT*KeOd(`E@ zgSdWQ4=Y+s=?}9tgNxFM>_KCo6Vj^?3x+Ul!ES|r)Tq9L^<$lkd4-@$ z0is2NeW3OBc~3OXtAo5M-ADHM;n<0O zY5BKW0&n6d90MHMb8QFz%7}Nx8mx>L$?hjtCWN6Rx40i6VRP%BBW^+Y5fVQfS%iu5 z+;h+zV=B9MKIna+ddLmUkf<0o0f6Kx4lMQlolBiBgdm1Lx6IfsBr= zND+Wc5s2gl?l&|wrtCt&DaLYE;)wB2g{+^@!A$8f7uY~Z0RYq}Vui_RBq^S0IOgOB zoY!zW6Ru?K17Y`jO@>&+V4Kz7hwb26kBExu^aDxLU_-Bh9*Jv%MhRz(^MT-wUt5f= zs3&0sD#=T641FLFk3v^{KsWnC1~6NZjW3KAZ?^4g>+)VuCnRVeKanpnfj;m-8v@HU zp6R`)ev-|~qw9EhB>ncmt5SW``O_`XYttFe0=+xY-jR=J7geWG&bGPcOE^CxpUJL~ zA4dEOq5RMuW>9$ouS6`%VRZkRYFVG0&nLYGc}+mE(#!ILeS$owB4-?mgxZMS^W*Hr zZ-kof+#GNi(Qm)F7Hto82n4zWyaoS#aH;Ei3&-Shtx$)}-1i8miKSYg@jW1*2B_0~%ob8LJ= z!1&2KeasU;5KbK&f&x*mZLs8z-~55iZV&7Pk9iOM5r6#P2fn$L5eXUG%Ohl?5*BlU zQ;J6r;fj|Hxd2JGk9m6_^F!wOqFM)vqdJ-SK&KSf93Up$cCdYGd9!}`%YSmg=5Zs% zG9lQ+!vo?B=7H2Iu9KzS2kQ)W%-(P_1DJh8{|1E+=F%>ihDOEgBBOs1%Ztdb;8^o0 znKKGF{WM%Q4YsIyV(&-(SCBw*;f_YJsI?D!#&!hP--7KuOqcRq`ewPFYWWCyguO%j z6||u41EeYOL3q6_l6AsuMPHlv#)sr-KMSk%Fr z-uAtRC#`{LNIX3#m)*}%40SYKgps!m(*%sQkji30lq=4?jDJC{5xUF0jBME73_dkV z;ER?2?Jgrf`cQ-vOeycry3o#qFy$upQCakIiGHE~gV1l9Tt1~u^mWNjG-~{gJ`5)V z2zYWWrmp`&T(?J9{7QHqHB8S7T@QN0X9RE;!Yxh3j}qC2gbQjk{5Sz4#eFVuKK*cg zt)0dFq#8{#A)j3!&vnP|x?f`+_La(hyy2g>n8%cU{m4H>nnSG3L*d^|KcS8K4p7hW z{VZXYMI8Et)`H>xvKvlUqCd1in)-hLVnCh0iuhTHAEQ(`zbSDnjtgLGq9S${@vDfP zMf{3%Ez$+Dq|9f4IOmIbf#OmWBq|C4n!cFBl(r1GroDIuD;|SF2e_ZiBumL7WGxAj z6C_N_>D%;O`UNA5F%9#w``JRan5|_Wa6RwMhwx$iQT_yfnm^08@mKk0{H(M~dPDj_ zx*+T21lc7Q$bIDr@v_j>mW?w350C&pvuW zcKi1D4*1^l9rk_Z`_^CR5BR(IEBzz=xA`Z0FMaR)zTiAP-?pCCyX)K67uI*G?_A%l zzIT0j{fzoW^^ezw8%8u1HU1iE2sebo;t4gZQ8>4TY$1opW#rsj$hl7$G;?kaa_%Aa zEGOK^`|zQB8DGv<@pb%VUdun_-%CO1Rq2RyKFT?d9FQyjCFjm3S0}G=>)kPKhue*u zOGnOSyYr)*8;_iO7CE=^D$e!u-0E4@%sC5kE-ocG%DKvvQ3~hW|Aup=&7522TjSf< z%(;WexlfUE1nCfyw*eUYG{A z!&tZlIyHRJaH8Qz!+Q;<8$N0{ELt|KY*^9oQo~yOJlZg`VNSyX4dWVe0KTpO`07OD zss8D?h{wOY_4J(6m%iL^`fkjPgiq)k@V0)w`seG^bPl z$ClcETXV}*Sq9I-9GJ_7!gBZ)=D|a-2%d%)VLgTj3z4m};ZZmbzrYfB0v5o2I05J2 z8Q2KF!LM)u*1=2g4!i}MVFZkXWiSd3!f1FK-h~g~J$N4u!FO;Qd|`-{jr^VLCHu(hWIu5bCv1Tri6imk z4RU}akVKM1lF6IoEw}`i;Vbx>xQLs0ND6tIyhGk42g!TneYBY$5HCq3KH?{b$r17) z`H1|3e2fu78figVl5{u&-;kql3{Jsk@HrfZlkf?ALC%r$PZ7>Bq7oY{TNU}DP@#XiON(()l@^Zq&3x1JvC4xHBmFQP%Dk0HqwU1Qai~c zS=2$DG>*p81e!>bXfkzCH(g9UG=;P!+0;vNXe#wlKTV@8XiJ(-Gw1^Ppk$UT^c~Xe|J&m68Irbvk#5S`nY%ANrcCpvk>+DVTE<1#}`XM{YK4V|7 zFWEQjEURPZ*e~=K`YZj7UZB6zi}VlrC%r^3(|X##v`okJ=v@ddYCV6BKhIy_8~BTS zBj3bd;+xT{Y~ew^mDiwW-p+UMo%|K_GrRb1^wWFzYy9tgFW<*s=ll5^`~ZKGzs29? z@9=l|LH-_ppC95M@WcEF|B!#g|G_`zNBJ@S33{o|_~-mMKf%A?C;2IUnt#c^;$QPK z{2Tr)|Bipp&+;GmkNhWI$A9MM_<8;d|CRs7FYw>V*W?Vp$p7Gf@=N?OuZOKrLl=@< z*a17?4LlufgY9qt9)Q8Neb@jtkPTvGtRL$SzmxCiK7K#!ft65)n)w_& zLW*E1=}e}PhtXd=O74bQav!N9Kl3U+na|==SUDTaZe>GQ1)syG^1Jz5K8?@g_wf0A z0e_G$l@Gpk zNX5`$mBV4g$Wfzj8#8v?_zAa9yyMPERg1S52S-bAp_0K*3!iE<&ZelNOetAo9Yt6Rp zJ9fTOyKDEWdtUqd-hHp{f8)TLZ@vA_y9eKU|Ii1AkHCi?{o~`K$3FS=v(Jy8_~PWL z>#^hY*ztPocs+K!9y?x-9k0iZ*JH=)vEzRiI|e#;4it5|p|E2?euunvxjETwvohPX zZk3VVvPGKTm+DRNxLwIfi3#y>PKQ0#7Gt%TO-6%Wr`4!cvcwrB(5l#5Qt1x*D}&tc zz46A@BJUlJ1;ei>s0_NXsO0K4L3gFn%zbss0JgmCnwEh`%RqBWVs;loVe3}zVy`=R zsGHYaO9uBT!}OAF-g0-aPD%Gv(#w>z0n;82c5oLv$98iENu|3uSTb$w!s5zqc)P7S zZC7vC(c0FnV5?S#Ngbww4)3I`#LL} z;rL42n)ro5=zEW+CO$r}D|{N_i`@(Rmw7$Gq6BaG@NS7)ZLqNKJ=@{}?zpRKTDRJ2 zwnP}a)o6+)^oA=FqnqoLl+s+Jdh~7PED{5y!GkdtOn!}_Ll zFe4+Fo-Ra0)fM*?=h#Wfw`<*MS}pZ@Cz;(ykbO{!yd7R%kcsT~c*F)Tstv#h%ml0Z zltuDx7?Dr|fy|8ZAgvTN`|MBv?x*_~PAaZ!5}exb?nMc~ zlEvl7tFfe@b!RV_m;=rs!UzT~yk;VLBZeWCB32`0rJX3b6EPF97ja&x2{1>^BRPRu zB#RWXZT#)oN_Kc8JETI%ZW~k{p*{OVXt$dp%?cvT+U7=z+jNQ0v{n&n^<`HJsx@Tq z>ukr+{Ro1>B)k%O08E5{3)Zk$2qGwxqa^`m-InUlUcHxbz;J*O3`u?EZLp4 zG)&Kd6;pZehiLJhXOhgf47-BVIFX9|RMZdtSnVt~(q+CV12tnxyyqf88T-I^Cn&{`4 z`ka1_Q~O6vUVip2C6SRCO}Ko~gd-uEu-db0=|?q}TDofK*W26~t~H&r=*JL5P#o-I zy!prAMwB8d5t9%yrjB9i7*r#cA=V&*2pRhv!#>Bb&q2idh+~k22p~!kYI>vwhpDB9 zYy4eYo$d4k`ZhR_sfXx03VolxrO@~2n+kmwX)@A-^sSm?7j)KPJzyU*QZv#_te5EP z+fuEraAynMi|ldXH4{;U=#3bLSc;J8UYb%f%4Nlyyb1@^fGum_tU{lMb!rHVcLn@i zQO4Zj;xD)XQ+QeJUhSs=|MHcX6&L?Qk6=n%{Bss#N?iQ+&cc+q_-~(vDRJ?S8jmS) z@edw`DRJ@l?vE+F)Y4~ONlkO*^`1c7olW#^9rMribFcEK*%as)v&53{ss)s*_1|fKmL#J#L&e4M$^`KaL zQ0@2P^)Mo=+?w)CP%zD+^)otAnlsEdvZaZ{luUXjhm&a@*u^Q|YEfJ8w6^mP!=HZ`K+{=6AEHYk z2{&R{lrF8gl;o-_Cm@-l)RBDf6CctJFh$9?gG9BUxsXUVASW7Yaed4RGPu#Vf)VPjf$)=sIj}sqsy_;F9#*#h$T7qP^ zTWPv0v4d;#L8a*|tXNg!x?hl;t{I8lT@w>`*lkk;R;N_ zd+u}?)FoyM@J^FPaJ%am2LXQ#d;KhF4TB1b}im(e4r zD!sLADMkI}GIvRWpe^PuDK7`7eOi&T$lA%0U()Sg zTq>j2jK6-ISEZAJ%X{=I3vNs*4`z!*IH|lx@KF)V?!xo)`QmQ7@FylfZiM1C#q zE6Q1?Zsp}YYRN#Q9k|Ia*bXJ;7p0v#8Qh{BxYfy#cB>-oeApk`r3!-WG#cj?+~h%JBu4&flNf1ZINj97a2nfW{I@@&yJTdLZ5_); z4iV>oN^kLKL}hT%w6V@$^$53n>&Wux0l{B6V&qsshmQ`Hdq;N*j`VhOZ|ykbUsMkf z)g8Uvw!)C&{$*Q-1V(qO=@{r(>>b{%d|UU@+`OyCda!w{+|qw>vr=)hTrpPnynj)h zC#t)PvGT-Nd19>Yf$qv!pvZV>*;X}lDaWu=q1&iVi}G5T;3@B7H&5!M2yaJ^^Ztb0 zTzs)lhf%m5Pjm)^sA}E0b!Sn9Iwh)%;;rT2M`2-9`e*3I+7v2t;uonH;S~!Gl2f_WY8|=gxJ_|EpF8c@enhOR;j-{U;YY&j;W^mF-U&B?4&q@Xeh!6ymOc%ifY#XK zaaakb$RnB^5WrEYvE|b+8CJ0hPQqitmvIIjxEtrdp(h+7`)CH%74PzF zI2b;FtrDRE#=d@;bd!(o5M=K)N^lG1#Cj48YmGfIYt@ zf6)8!Gn2i=OTt~ih*b`->97%Z#1Bux)9^Ym;7Z+O3VDDWBVW_5bQpb-e#IW+FY=F6!*SI^ zVInMnP4EY?k`AN~xs{A1_mTPJVX~4OB1g#gv@`8bC(v_jEURL#@he;l5{mF7*)E z^-)!*ma2BDK2}$Xr>L+4Ub*sB2RY4Vv0}CZ9-=us4o@r}pga$QQLHCLNu?Xe0y=|i zr>W9(xg+gJdck=-+CN6$qO0je+L84nJxD(oFaD*f_>pZ~{LAk`{sz?XJ-D_H@Xpg^ zJ-MHrll4$Tlz%r(-eg%kgS`izvr|OH*TQkGB@R+YUtpyu1+Vc=QW<#IQ}8mYA~RqI zEe6oms~4jj_aYn7F7zkadKDJ(PoN(Zg%^j9qI9=F3%e3VV0?N8SNSuJa3k9XIiX&3Yq*3>!u6hlKH(R_ zE~168;oG4%?1AT05)4;mL0Z=>~|q z86cq`g2avg1}7s(#yPk?25?^nNWpQu(*aU(-M+5?{Ko*&?geNu5Fj1bpWXn_DjlG8 zCxA9smN^d~Ydt_)95?3!fZSC8?Vbn7>i|&D9-t%6{{|eR=$Y&IzYdhe0Pa~Ae-sC= z<2tV6|7&!m*Kr-!aUIuj9oKOk*Kr-!aUIuj9sk>)M0w#NiEs6*pv!hj&d91-x-t+0 z5L!G|r`76adDgCQW@O-C6@@*`b>=f?8qb_D{|rS%JZEUMMUp}@?{%@}*h^7LY{;EKkJb>@q8xY{CID5)TRYRS!OpO+)6@Dpn$ zwsLvkqCo%r~d1L*N@`cM^eJ$h)xvv>t--5Ogfi!Zdz@>x9XJji8Ftj9u0sERDzNS21G>c}G-1l!+M4fvIvC0bGlTFNj3atBpGZx{x5!c16$lCef7b{ogN zaK?<|qHu{TZhK=Lu~_rlX64}4+GJH)`}TP|50wte&Tr2S9jaR7?-@7zRvfo8siouT zM3m=Nfw)O@5~DpyPaM(-+A1xXjF%Qn@b?8 zG*m9+tdPhY@01BeK!qf%RY%uag?A~cGb=01$6pj$5 zMcGM)6qpmpTpYhBf!-H?UjiKwKRSU<&<{7#!TSD2+TPgBNE71JDh}o}iv3$cv%ihak02~oRHCpcedZd5kmVqsC8 zH9zx=#gQ+>4}YKnm7tx_fljntuHT!YY)eiy7aL@xDzO0aDM_}sO?|b)`n#vBa_)-z z+b4xbLH)!C&Y@wjcA|B z(PpT?NRk61GtF7%G3v3JO7jA?%>1tOmb}k=-mFtgmh!{=6lcpg;kASWbfx-zs#AKlOi%P8Z#Jn8tLRKswTh}9H68mT zvb}K#{B`0M$H$rL>cCl47++U(M&WMVe5p;w4D*5cZJdHAGGNKipKm^Jz;muf6B?^stPa3AztQTF&^emlU0o7d`Qc_*wpys z+Rw-@D@#%mbEMsuOURy3H#(Rs-*xwrMJS`oQKHTwe=U#%=`br$%6W-*p!YWK6wMrs zJT88!G)Xf>H(Q#mlhf=P=1faZwkK&cG1lbt^p-6lF)10jx*|e{BAW-$0d&(61Bv2$i#{W7wd}ZB6^sSQBhF^6=X7T z$lRNfirlfLq6#`xexZ;w)@HTmWVh$r_umkDot$83!QuT)zI06d(i4UgE}}EWyFO1nG^84U8Jiz zvhfykvI*2UQ4P_=yOPY&eNX;t--Rh@-t@LvUGE9BX9+5`td`VV&E+^}ypzg0tzK); zGC9_6v&Yz(oWL9&Vm0E$sZR6|yVl}?40Nd(>G(5?C_>^ur)Q0|Q4|rMC%b(_M$%9) zo*|bu4Zgqpt|`6lefZGa&{mTF@N;d8dp>b{ug#(NrQNYfw~PoKKJY>)^y2XB&F$M3 zpMCz@Khl$h6s$vC5Z~j`!L5NH{2|$c|(q^CZg}Li}mIR1A@D zE@_pN(aF_mBrVDB))H-;f8?!AQrpv9aZ!YBjfJS`nTqTRW++*q`v~FKQ8c=7Z$e^x zVq7AV^?tK2*6;GGecbQ$ISol3u$y8$*w_~1R$(qh@_9(24rRnB&=ek)fX+BU84IseLSKQgzQhb9ygWeIWE_ z_3%7m5j(jabtgrUsj<7jAXGjkHkY$xjdqRph?Z(4N_A>f2DeHjS5zB_f$Aa~Dnu<7 z+oD{#4a99IHB=fV8F0H;42N6CkCiK?q3e*cnrif{ z73Ecv3mYq%_6gTgBm_0bvUk7mRyfzZ@ONyu;-Pv5%%kZT`7SzDUSL>Yku?-!<@kVy zCz~`HzgDaE>nhwa#2pieDUGR&;W5MyJ*+#G0qe{aRTqV~Mft14A)q2A&n_%u`*t{( zO_seW{*GHzlSbY&zQz9X*B^NO5Lx5ga9`Ic_p@Ic;%X0$KPh$-y`|Jw>?WBTXvL)%y1J0|VT&Opxnp^=@C^SM)h=<^>%CdYv{gkL0SJDT<(0K7YN_15Xr;Bv9k_qXe|b^8a(m3O_R*T zTuTSO;+863X-2g{M%HU5bbOVXIXqtXMlVwrX)6P^nRo)OdVhY7M7U zqf&F`mSw5Jts`z-sjgBtNms3tbZT_Hika49&!`WM7`F_?HdkF}HqIE*6A{z%HW3C9 zp$*&Bfs%YQ1N(NCK>=)CzVqYV)w@)vf-U@|F^ zOu}TWNdCFCS!bf!r#QuO6k#G91F<~yHlw@WZU`ZJX7QQGn(F#$jPyog4Df~YF&H5M zW(F$bO~hul*%BNH37ng`P3O=h@E09Bjc*y5!{JPz?xcXFcT8_bAihj0(+n~XundbC z>=@=87(Xaskz*w_$0ajnP1b2*{ca3k;;WNLlF2W46_}p`|t;$Pv}81 zkvzRW^xTP4p*1_+A%p)O`Xh9hao2!N=1EO3MPEUn-gz#_tOnYoR~OSGu?QPX|8sG=?TM&rdreY#_vpKqh9Z}m~0k{ z$zsxLtO?W;Z`aCJi`k%;oEnYY5g(WAaDXR8;hEEEG8xs$e&bVeg*$apYIQ10O>stf z=N0~?DOAP1k2~WOX9QtQqAbK>JR0Jmkl-n2zOhY)gf2!fwb>7Vh#&%5b-<@Kzk z3lF@1@4rOY^li<$AmMiZchh2YLtiZr6=BOfcSN8|}PDcdy}I(+u;} z)G5AsY@zN!!$Q*%^W4D;?4?bbFt1WA6X;v1c#MlXjanzZhJb-+_EqR(PV!mU^pe|Fo6_4>chG*nGJNnMoM~!=bmT}QTvu^F3lQW@3#~stA9-ea7SzJRF z>iurzc~b9yL88gX9#Hn$m=Y{B+8_!gH zYgV367BxNkZl^pFjR__3g`ot=uzB<4--HybMXM^#05+%!X#J)#UZ#Fm&F#W<*wJ<5 z@{Z~fezSU->3QjUlS&WNQcGVAB+43_pH{f-#BDFN(@Og!d$pa}4a)gS^wnTrZAGl` zIk+bo72=?UL2ks5DkccEgkW$RF`!DEtAxB3Ub%l%sQ%**LYF7)@4k7)v7OTHhOJ+O z8lHWK7|ycZ4K;grjMz_XV(uEWJ|#GJE&Lw1F;gPx(1Q82nffe!rT#(ngPLXfefsly zom*e3ryP$mcv9B5)shX*G#K5xsbr&6(hw@0b!#zN8LcLxsanil*CM}EO{&$))R-qE zV4#5(`NJq#N>@`#MTx~Nl}a=VBa~$rww{+Hj8YbC(^YPWL@8BgDylLBoaQPge5^OnjvB@RF}P1tF&IMA&n_$@81erGLunhoA9`#R#UXoPOH^o0d>5?5pV9SA$`CNdc4LW0w9q-JKf?@ zR9svwS+q53v*Y7>Hey8B7$4W@>{UFv+qcb@yD1_RW?MYNYy!qTJ+F)puO?`T=Nruj z4&bHmKvU|<3+{~x_r@Z&(5iLThA&1o%!h^Pe{EPa<}_l-Hhn+}bWrwive>|w$Ogt( zk;LR+peP=X67o#wZ*QMUjqji(jvqei?M-a`?Hi#xUJbpMrgGRq@1jZ+J@NRDsqAE9 zeCVg&7HwxQW0+L2*gd*?{jyPn6Z{R0~)=iZ$MkErP^AuBVf?!^lo5%d()+gM(wB} z!j3t28jSlrLW?pk3QLBjJ3_t{mJEaY3x$@*7S3;zp++5>FCeDOTmjF%ok2eLX* zJc(B8HF~}~d;wVa0#S5Hn0%smXN_{&L*QBVnt6ejdwTnq{FK8{hkhcuI@A z3?+$QHNHY8vYw%m`|g{vjBIJx)+qi1#PFA)acEY51P1YVdMgs|b0Cg)?X0}aX?mB# z&;+~qi=lB3JRqXHo5SDpMBWKnKpsg7Jftyb(&G&A=`9WE>39Z<%}XdqzbU=KP?0{~ zFfP3^YoTFY%T@L#<6ktyJ|DNS#m=}_TO5cx+~T9yFIuR(*@?^Ha%Qwj&&}ugt#0Bs zwi>7|&$vxJE@PU0zW!bPCBvl*OJ1&#aC2sAt|QxHa}H~HXG_{LG1FLNTxwix3>&4@ z#x2HkMrJf7GDj`l7_d7Zw?WSOMf@`n$0?uk1Vnh{Jmu3aH!bo)rxR7&v^_S~W_Nh~OuX5_ zq93=*lxn-V@OW%f|>Uu1)X;sd2qqTQnSX9vM13o;=r9lvL}uk zyUw39dqByixxHrfvKbBWsXpx;t#2r=a#k(s5g2}Ro9XB4=ibnPe9$NX=LHcPRVj`cf0b7r5jClr3{@U4dS(oU@T6b{ zZ%P`&SSUw1EZ_!^)-P_ngqEo^{5`8fsgH+4f$kbTaV2(*>FVeg)6Y>EQ|Wk;KFL-Y)|=PI z>(z!h?RYwljhCkCCmE^@&+B(+c4~L%^>+O{{nwNkQ-+!DG|ev(d;&qcR)J<-BLTt&;G-FU%ai%GVBn}~@cm}kJ(6Kpk6wG3U zTa(Vc{CVh)$!8zje8ROQZsy-+UblY|>J0@ELLq-3(GYTf4+Tw7<5mtzY68I!YR?8ELCb+~@jOIvVpu+&3}b z*v>hAjQd8BAiK+z5ii89N4$_hRU4XWXk#y+?F>C=v7y9vQ{o`)K*JcrH}ZG(%jAO5 zOk$Z)XEvc^=~Na#(PBDh4gsIVzf!dgik`;?QI~f?| zg2Y%lfK^BpngP1eY=U&BX0%Ri1~W0!H0x*5W!uGgRa4AAclCCctq;+=L#A~5|+_LT=pDusw$A0o_ht$qPm#Tv+)cb*3s`(WhhZ{;~7QJ z@DN{B7=8C1Ik}Un$xXr*dF)_Qd6dwZc>Ic8WJ7ni`gzyc&^cl|ag-QI!}r>nxg!@h zeop)7I}CjAz8A?r$Ftjs3vGd(v>f)VpVxKl^CEhPLHAURCqoBp3nbe# z#1xkqmlYR?n-uq?{wc$Y26eolg&`QXFOJ8F)wPIs4=6*)kPhbq zl{%edYo+tqZqXInWKB|BQY)R`*2gM7$JWxV+gl{Y zs1yrkcH;q1*sp5X2S-3i*Ni}CDKXKcElx?)YwfW)z8tO3={({fW=FtL>8N&a$6Y4k zgA`ZlUejUIDO1?QU8W*aZ?uYW8LjT}2!+h(r6}YDaSW~!N5hNaiz~wGR-6&EF#1@l z${}7`D!wxfrHe*1)6uT!4MfZp>UrB1U3S;IW-M?T$+Y0{^LKo>WY4|Nk3PQU??0@3 ze#U(pHs3paLs@(uU-qcMdBH`b@QW3MEM8IFF#gZO(>Jm75BKeT|Bbiaz}=q@z`j>b zpIdi<9mT>B>&W%-cC47~HgG0hN~AjCavf@m-eO}C0aK!+vgx#XpC*vgJ~yl(`!qz; zOF6DOa@*$y?dR=ul6{RmXb;=Do!WfSmsQyKy!eYQZshD~;Lt0!duhbdN1umgAd@nb zFEA-SP=uI@xEW=m%4d}I3B;gAK?Cv7au#G%L|$bnj|pNeUW>vNIo2|N`~CZ-z1(B_ z)Cr|a3egSz`bfq4ry7URwe$bh@1YruucC}CKou)g-fyX3Mxdg%W|?M6ic^Mh_x%{%OETBWDxU<(AFmAZef%_+_wn*K~LoG=v&MB8-fEaX?+4S5Z=~QA~I$4!yF)c&A$1|H=Z}4fg z%XGx0E7JAWFnGIlfYpGRs$0&!P^V_Ux;&60+J5sBp z6nK<^z#J@*IUb1QJWY4xj@(*XroEd@)qc*tmQ~No#4Gz%K6Sp_K~rStZ7ApEa+#`J zGlSnFt<=0Ff5eZ;XXLZ0Kjcg5SgTemF~+HQb*52c2G75~$O|*Zxi9h(O^Z9v)dcrf z{Ka~;P6t{p{%DhwqDB(%x|R4Pei^zRoe!uF<37N1NN<$4IKAOZPxssY;=A&Atg7kx zSoDC5?%9zqo=@^zWp|;e9n8xnGlZ|IX{ZQP;g8 z@jblRC44w09}x$Pn}t8Ij)L|!Tfd}x(Sl1o}GosxKOyquSqOPVBA zOJRwN|D}nth@la8QVdQ!dZ5)n_F))Gudq72Stm0xB3h{!-^t2K#0q9_kG@$(%P9NN z6M5mSU7*2(d1svgE#nz}M)RfP8@F^+y6C13wcD$4Cb%_>d6N_6*hC$wAd$WCac1oi z9}$1io%&E0jlN|TVyPt+JDk2{2_ykifjFQ!ULQFEM8wO~1wvXF#HIRb$@Fc1DJq^3 z8qbI`_=So_<(Uc|3zV0wMG;Z5IIjGbgi&vc@!Ry41Y$MBHknHiwTRWlDvwni;u5i$ zigUiwdaliWe*Cm2T=yS*X5%*RkWP~x+g>*6mRSYd|9G!qBg%Gf+1Z#zpT2!q!Q<;2 zpP)6yhHlxjMMTbIUyFqI(>W!&7#jEHD{_1);m5mf$#d+RICpp(RgU)?U?qoD4)*f{% z)_-y=jwYvap)hjNMYp0ni7gZ+uGz2HWs63u)~d8jHv28IF@c!0)+oco7eY{Z6q$}~ zA3fq;!La%3rhZYmw$!ZMo<8BmDKBvU6I+TW^~|2pIEBu;V`Aq=-ftA&jOvE*a2oQ& z0CDhopu(!s#_7AuH>wB9f=Ue6eDbcR28z-rU-JgSm&97rBFO>T!@Ds|y?j2{$|bS8GoKUPX28IcIL}EO+j`bC)bP31JA?AR!452p6JUWHTZ}NkG|@ z;bxKy+$Fh7LX;}DTGU$C*NR;}*SdV#vM*|_)LL8hS?LpNwV#!KVym{awvYN%c}d=X z&dgl`sO@_t+`0dpIp^QcfBt{wOmb1#8eyHhzIc7vW?_qLDAD3AWk=N4{BM`MUHV$Z z3IBhMi?>YWBVN`K=Tu?dCV%=T@#X52Ys*XxnkwVf& zX}e^TQrI_>%=A_xbk1^pB9!a+T=hCD*ge7ga^07iWJQI3LX);y50|H^9S_aDv+u^E zo73-Hz4o?7&%=XTAAcm3+%swvJahA$nn~`dwzKtv2C&B}(q~(l?YNS& zVd~who*Dg1{IzR-I`F{Aq$jo}AKo>XesI(v!n_r@5%c$re&yj?KV8Uu|CLvM^0Q;V z`Wek8Zh&;@1<;NMeI+!n$%hpio@{HeEwpvodTc41UGxZ|AUb^>(TO+#JD3|FNvykF zz(S?!!#+~!`OGZUyY%^NmU=?ja4JFf%~7G~ookjVA?3v#F1D{>LxS!)Fzs*FJv_vU z8y+~{n7{6d^Dnqy-WC1|Th09g7tVd8cIo_$iIHQJ|M_F@b9;dQX8dO8YFnkha;|uh zxTtD%rCzyByj8ru>S5pG4bO2-vADFPxOrK_uZj!G$SOjV8CWV=FRT~WOY0r$<@L_Z z!e()^wAry)-t638v%l6&pQTkznO(J3TI1-h>8?vnPE~EMx=Z?wd}rO=4c};fNP0|u zu=b(4eKkL=DVjjH4|pqrYlYfsS+bR?HH9`u9%nx(~t_nB7ekO}35 zysf;^F|ibvRs}-7l9s?>vTiS5H5GauDi0o=il>&&prdM_n%_9%$P6-n#`YOxhJrD! zLTZ(}@||pQH9b?n4=jfY>ttdD3;MK%KUHttE*gL`z8<1^f=%4SiR{+GVsj}7)lRFJ z425QmNAW5?g|k;W)iNa3@nyJR8XPM8a5{{gQ*b6gmxd>HGO=yjwrxzDOl;e>ZQHhO z+qV7f>|SiuUwgCH-FJ=ZuJfMf8E0*WRh4s@7(kH-ytEJ<*R`bhbv6VcX%cxuUu3+HEI48o;T1 zd-k=!Y{}bsTvTuEsHmv?ud8vVd&6yCy0#~LmU=f~4n3Q_y~soC)0sL2epR-r_wHgR zA^B3hMUF0aFR{XuZmq@Vx;vFukhj|6%GTJTpSKLd+80UEX;K$Xwj?$P?N=S|FVvW; zB!Z7!LlP9n_?tY!_ro*5u>g;4V|v|+tb#^)<-r_%PH?Kn;%Huq}E6I_~|mx z*_}lrIkXoKa202AGZYTVT)zd1Utqxx1@Bos9cx{$BDW}RTD(s;zdS!Ak`^L2*+j8w zdVO~NL3%zqB0g_bXIAkE_O%)CF~2`(iCt-JDT*7sz)Yv@Uou~E+>w$OKKbGZk(Sj( z*lE2`G7g?wmp<*1_ox%M#LlR?<17huFWG9KNKm?>AP#4 zT+cPit5GgCtpxlwz2pH?X+H6jR_32bBm9%BqkbC=xyD|&M z7$i={Dc_|HFD{j@3W^jVa7|^}HM3UvQO#I$9i7;Een&uXqm255lDnK2x6W(=vcJ*A zxJ^mN|52ZN_`J`Hvs{DbNZ*^k)1>3yeJsaxn1sE2?DIPSr#1bsoS zlx_ZMF@L^m@#0z154w*GMISMc-uNL|nm_C7s26pk`}N7Wg*R7;&&b2L6R471H)+7<}+lffo2!8gS@ zkzJQt)ZN-|Hu2IQ`- zUywdYJQr>ne17o%CV%5p9Iy|+TK|)R?(v!cRA^out`J%D2&5AB;!Gs(-SmBEH`V>R zF81qR6k?BD%K7i_0wz4Wc0Pddq)c{5#~qp%k6pR`1dLwSq=NFpmd+N_QWFKZ*UH*? z8mB5hNU+UZCYf~P=432imULE<07fH_7iFh6v$Gx#2?upzp-g5FGU1#Nqd1z42e`ObF|~mO|i2f4}VWJNvZ@? zx}?nu@u3%I8@7?T>345cOp?Fst~dtn?4xnFV>7lZUhmfIc}724P1kQykB>K zOsBBOoar`s6M0X6kHp;Wt2QoMS|=1~r^MhnRid=oxm}&<_M{tbMV`c!%1CJ*t=kV< zW&OQ+2z$sX*fv+ICQ$zjMp(0hfponN3&d5R2^T|7a<^Dm{{vrNe1 zPTyF)zsf=9x*hE*#f=*}X7GL*ld1zK?;7r=`&oF$KIR?2Y~JM5{Vi(M8u>KdHh3M9 zcR6I!s%$SXMJ5M9PMxqVyOr<&>>)@Z#ftO|8IEJ$vo|zjk^VTzL>{itgWP!lN-v@m zitf3Yy*ifsF9Z>}8bks~5-Ri}eYLrMsRtuWm)sem;^LQgonvk4;x-XQ`&%pNHA$I# zy=5;ea(=F%-ysi9Pbuf$OKs~07uXT!5mIj{v%%HC;6X$48c=lBe zn(FGs+u*ml9CSqf!xi`$Yn5p+yD2%zEuIyPZQ0K2$QkaN zrEM>(>l27ls5rmohFAa8V&TIW{hg?#82j8AtND}C&8&W}QkPL~Cr&3NIzlqU)u-8GiiMPJ*viJq6dLhG$RgSc=n}%C{ve37_l{q0O7ncFZ^J9~bSh zn~=VJ;j=2$4dD<5zQdkWONVS;TDSEAGFYWu^Cqrc`iL=oY|cn85j%+V@in!4lfW$r zJPGl`5Kkl7#+FV|E*p}9JnxR0R#A=#GI{QZ%*c=s(1Y824{xdv21}O~Ps%`?EB3JV zImY6Nj#rot-HGoae$DCfy}6MQ^nk$=~@ zKSR#qlq;=tv~Pya%V_MJS4I~l41JcNwd{+C1lVu3R-fH47v>LWABqw=8>Jvl(#Abf zgNPYAchYlPq!X0ouyhh6d?G^Y&Twez1) z@F8`sTStR`A$_)vmQFqg)HWrF4)DW2kgj*t<%~H`2$CJ|K z+vs&3!UWvQ$<^(0vN#McAGEITQg}%U7~^g}9t<`9rp)t1wEnCKNLy+VG#8d7 zFJ<@qmHvzOwhbhrSnj5Gd?R2r4#dJwFLY%W1`PKd27r$59_l+Pu6wNa9RK(IueULJ z@1*$6@$GZ`=G&&%5!MeDJ|}I~OJdmX`^4q}E&h10b@?wofBKYd_@Q=wd;8qqsfqgS z)8QLgX+3k>N0E=K53Tn&vEGhf)^w#?;E|qXZB4_;BmbJZqV<{}6KfJs4Oja$AK zXvGz*e06qBh0OT2CE%K~4STMpa|-%=%eu^Y{gFUGK-~I1LfQ8Q#;=+W4Lh@QlOT)$ zvCHL`SX$Z~U-+0~FJJV%ugfjcB{Y<}uA1<`vb4v11k}*F#u*>7W?+j;;sfG70bp0; zqwj}&4oUnM#Nuznd<~hq*Te{S2ybKAU)g*QCO?yW3$w4EVRUCc3zSY;84i>1@bCDq zirZsy3h6LO!NH^M8*@>D{-DhUR}QV?d9_-9@827)iY^>Vp!PR@msO$7^SWlHx15jm#&EaLjP7Axmvn;C$i#3Z%rEQJ|o*SzEM63LUwV4 zm#qPcbn6~9HY0sHJsdD<;|W~ZYRgUYq- z2W^M;vFyj`DA)@F+kE&y$x8^}*RI2Dzd}WuDm=Z0L!-&V^2r2?JTpBNMx$BJF-oGm z63EnvMx!ajTfIiRYPxOpHSVWt+IhBrk*C+Y)HUx{;A;n1^n>2-fT2z0lik9?v>ZQE z3N*BC2VBqTHR|J8KfGwx`FZgT2Z%Pcl}!YY7PR}C_rtSvkJag8O5NFN)+K6RdXESE zDXS0r5d*V2^kZ-TSDAtNr51q;+p_p_zy$tS)t%B09H@=?k50v8uqZ}mwJ{bXi=AFa zTN`UmjLc?jJWvuXv(^+3mHD6J|1&6JKq;>ak!V60_zz8vp7_lKPOXx1pbP%_>jkY8 z^J?}|PvTy~PEps>FM7Lwk4bEDh?B5(c8I4f;u!!QSjzM!2rh4QhX)Pg{srUSbkya- zNi2n=!iVEv{mBLtr;VD`xOZKCO z$_2#=GGad@1YdPRnRZC{)j{>NKqF=93&K(~0LhhO7?lq$7OXpuQCt@+9f;;=oMcdh z^aS*(7&7liO}Ww;J71tBuZi+6C&+-EX}D?x3-evVGmME4LMqKaD9Z`WT$2!m)h+bt z+Gv{yU@0tNf_~S*g!P548C`q-J-Gc>akaX~K4h{e+dP(Gi&C1{fPI6M*3ii4yt4x5?h|Lcn7gr%!DFn{Y@~k!a!20Hhp8tJRibC$;#AH zt~R82yNxuw|D$wWbEZP_q#ki(yWN|J*)c&=^Q@U-Fm*8g7ne4T4XZT3;AFAl_!TqT znR%nTY8i(gR2_CQq)8ss%JxG7C#KuZdTya5oRB@0)s%XXTcu>Mj!~@}vrS3051VvIqmr@N;=S-y#|TS&o!K0xu?6Gs$X|{b{oB8M zC?F<%YbDgC@-`C5tJK0H7*}09D391$oyjD7$u9jx4DK@-E4%yJlNR&rYPg{cPfjrFM)F43aVV)261rnVC`9%R!?r)Fe_ z+QRD;W!lWzvoqPCk;;_RHcuKpzI5IurrgVEIiaNJv@<2E*6--g$FelQnL4%&G{}t% zxsyW8G8Ok3OvHe7U3<1;8Q9`^B_qse@PCYumPECx51NhWsaGTSd#^Vd?K3sDM1IF9 zRUspsXXfbz=Sls?>qzSwtsacY$b8HWrx#adS#0-8RU-OBi?J8EqjzgM@i#A7#hU_H z-;vsb!#g;}Pg{ePsaUdfj;u?}&>qt)N#2*>pQJZKDTUW3So@FhAK=gy}$N zOh&Y+ptTS`iYNZ0X<#8+67}@V$sH zPkwQfo6L1=5caaDmegl}oGeQE24-xLxwMjXY=7H%zy2c&$CQ~0x(LyQRADQ9vWohJ zBrju`D}B_cl1CDeBy6Q59JpZTe4)#wWFh-X9-Rb+mI$0M{j^`?yql2v=Yk@wDT%U0 zo4mByJ_@WvNtB(E?6Wx|Y7JcFJ>K#!s&A-nZG_8lW1e`GW{uVgpdY6;c~%+~F&Wun zqYf_Pq7VHx`09Hbu8aXhII})CxU})6;*ckeiMf1N3_mBsHboPvaD)pexFKm$CtB2C zX(s^=I3hC2dgCsLHDj8mB4Wf}n6(0YSP(>FRovM!jEafn`(Zh?P!?Gv#RcRAVo}c$ zL#@BG;NB2Q{S~6@SFFvt?LEB9W`99_K1uMKk<`3k1#(^XRaKQEDuiM!3%W8A!)`bK z_~0&Kz+4Ipsk90v7hh-#rj_AgstLA`U~mfAi$p^z+fF=W7Kzfs60@CKaFx4eZY)78 zB&|E8UFcnh2afq621yl1Y0#tc<_B&okAqv3kd#HeBW8&;>t0h4gO@$4wDqfC!QQeZ zd?Q+?CFB(veJC{OT|%tnNwe3bF(sfdUhm|Fi66ph8;z)+W)xH}c`hQ-GP<%x73y*q z+Rwl?+q5If4V6ci)ag!kuB{eYr~_N!FC%G}4dtG`6G+o@)>xfH2eVWX^qjhG61ee5uH1hAi*9WyHWLBY@p3)Z3hR z?;-CgOx5<2!`_*m)jX3qWqa5bc7TUGo9}Vm%Q{{3k1cVSmbHYG!CdHDWowb=hbr%3 z^X7fx=q+8{>t;I}*u>*PoPfseCdmO==rhANGRWs`7>7{W{Zvsk1eS+Z1Zt5~TLafF zCG4rb7h*4~GM=0cVp0l_O>!`hvaqh#hDPHNd$k-3JVKI&qwVK-kbeo%`J;U zS%+N!mk=<3rKydu_rv}HVx)!#>hYIb2ts6IX;wCJB!;41$->O_?<}WBjb;&5W~8lP z7fn>RV3A{481Z%Ji^KC*`;H8qYb2A7tzst;wpRmR1SJ_k`a=O!kBs&>ZTABt4aT&} zt=S-<>U4G5O z0iNGFA~j?~je9=WdH;=LNQu`Cm8gG?IqW|N0RD|UqxXNs4UGRkaRUJ}Gy8vd8vZ26 z{EAZdHnSmdW-^H2g=Oc;K2=d7(M zHV9spJCvYXxxmY*VC$Ypi~S3WYx*aBvXMXujlaGx%uy4Da8_iCG8es zL;{+S=MgEn2qYz)#3G=JjAKy}Q{qxQ6Lf||xQU!1x_keS4PzG8V!E~t#lk!C#4XZ3 z1SjO0J<4Qq4i~r(T`-o^6da}C7)e4)&IEOA#50$6@RY<2V?_qMjT(#$tc?F@)VTI^*GXPp zxzqZ@obAI*gAbeVCk}`x$O|y_K!Mi}1A+IG^a~RzU<%7KUw2Z>2(4sGU#6X|n!AYD z-n64`-XFf$k(y-bhGYBJMd{3(;Mmjr>JFc=>an}~`uX$j)BDO()41CBy5U*ded4Vm z@T;!RBTnCVxnaVC^*hkxmm`{AL%GGWlYW=U*?aW?z$} z&Xwq$Y(*|Wuw_7D-CZRe4)fUf+&+1z04au+5Uwlwbf*FL-MkDFYVA|LMdz@Uf@fKU z)`E(MeD>R2*x!#(eqPfJ6DuC)Q5%wnj3T$Xy6sgTp9YVsi%Pe@G~`#<)mDAm%r@Zt zD75hPKxVl8t1k*VC$5owf;f6m`wlPZ-7{K!f6gPcfzP|eWlXOj=QY82K~K$AKSmJ| z7J<+GDajmn!|n}qcZ7Ev1pAU4Xo{rAuUtO7!zYKYsy z^V0Q6OHUo4eB<{hGmH{yLP#$Z##FQN#^?vh-j&nJVGCZ!0!H-{mE>-#>%yZ$J&&yH zCU%v4ai0M&M9GF0t^G3Y2+f^k-)SQ{OFmLYBE$gL2sF7%JfgR(J?J#a)9s-cP`Sqx zx3|hIL=IUmmW7SP-PwM$oRd?uzom|k z%%L+RZ>KzeAUR@Pzp=u4b^47|^|=L|@oi5*PA_rdT!7BuYDsnF#?I?BJbp2ie~0NO z>%ccpEGiHXV5%W+TZ@eDLtR7b7o|c4IcB~q<8NWP>DBnX2hFB3>vti6ls{-2dXU|2hE;27cAL6-N>{>dY z1ioM_C&a$vfLED0#%ol6wJA9KR+dz0XXY0jq#=QMIQEx6w9;zbp}jw&FmBE z-3}YJ`RnTlzbhG~up8;cuJeR#ebr(8zA=8*p_g$3_4E#f@+(ZM9aap=m%tOQ`QJs9 zh<^0D)_Aln`mQpWB<$EjwFb^gQ602JLbwc9EKZPtzb+UR%mD>rjOc`h;Q+2$)ZRAn zfoID2a8DP{5(U=@(eeb*CU{tAl{q}cFs2KH4(Tf!So6=X#Uu9eZnPTxL*Ud$zIWR= zdTxEpdruhZfX-uU6bN_x*l=t@%^qS7I$mko`7vz+|GZ71H;b@j$37a|;(G3(x8;S- zCA=UnbN=aVaO(=0+vz=p#XT)nh?2#0wMQSp+0k zCX5noLcvWT7DG@X0J-vu?I3~y> zWrt=z7Q`;7^I81Z^*n*bB9;}R452%?QXumjd(hEZ*5udR;3H*OFWv#R22m}FRh+Uj zq`updj%W%|8^RtC4VTt&mAasd#YRW;whNq`I%0R=ujN7+{d^jJl{h7UNFJ_Zh z6uqhmJIkPWCS5>x6y%j*FONJSW+3s*5Yl@St0+pEg1wG+y)M0c8MOxKLxa8=Ym2u= zXN$L_Uj#fAzuZ#}J~x+c3SJ1BZIwMEzS@IFah>Uo$MNFHvyNVGBfTU!rPoyE*a35= zfwU;fnZDPtr|-w4A^c*&U-w@8JiW*7YDZnOft<14u&$xT{f^+VpG3BEc!V2|n{!+G zItW=KvJ3(520>l{4IinuBB$%qoB(7pQ<|cUr&HPLI!auC1u&D;WObE+feO*($ke4J-JT|!^#{~vxM*4GO!elb z8ePZX4QF-T=AR48n(mtq{wC|SHJ`y~_HD1p>eg+a(QMzXCilrduDg!6-rBdjFMWXs z-{`CIJ7y+MbsWY{0zp z*>vkph;P^9jb~_V7odM0Ar=>KHY6FLZFyc~*(dFM=+=f*JFv;v2j8%|#&|AO{-;CH zLx77!`xx^9xLv2mdhZzoFnMh!-VV`$ydAhryp4Hte*<+BeuML>dc)t|+UZJ40fh)P z4;2m-h%82;lQM?1EaGYCW~gG=JLDfei1dg|jZ~S4C*eVJ{#?YK$oHAzUHLr#45TYK z$hOfLiksIRJGZkszr!w#Fix>~r1@a-Pz|z*@RjotW7oN5Q}5dGucWtw@V&W{isi{| ze!JGwjXuA_9o@aJeT)tZ3XBf|N<;|McME#9z1dmn%C7Evd$F^!ld_}Q-Hy+Hcb|qF zqL|h8GgOkupWF6xBI;3|WacU)ai0H8m1kUf6GcL;7UJ0au- zP+zdE{ht58_b{w?s9tc``wnHn#dWY3`kYpQsB^!b=OAV0V5tpIoBC2o(pl@UYW$q* z(75)2+MsKSw5OKsusZfNc>-<=!KyJr*pd`R5bh{^!bTMYQLoPg$SvG(_y>^PkO1NM zMjT@LBx3vIZ}2_@hXlOfMEW8^Dj)# zJ9M7F`LhAtCnMMqL;k2h-+|FJe2BQ#U+_b2AyJIs<1z+Ri*wOX0`btu^Mg*N1A=Km zfsE0pSMUckAA(D42F98sE@7>$hFjtt~5e-YCn2JJyh>Lt*I3(_Np>oneAVulpc zVleM8vkbrYAhUuB?+9@Mk?;7tf{^WzJnWg|`mNUdInM@lrUt#TB2x8%KY{OnY)3%46@!KH3`yVL%H_*4ou!L zeBtT__2xtQ_%r|7VRVG1OV7wny__7+VOr-lKNv=)!{Vo-cDzb!LL5|91}BGmAQ>4I z;lh1kh+HqStRRwxC0sroueSSVeLRbU@O*d-eRP#4bymq)RGi;0soBz7bZVmpP5)d? z(k;;O!YgK%IKM6w3H1b)!N|FIao@uI!-?lgK9j2|^d`%hqvR^y+6Mzhhk!1Kv||&=xtaLK8ZQUBa~e&EHpsci?ZVY)LIed;`aXJh zS^(j2(?vqEXF?R0`ET-@!vPYKlqkM&WHZ-4f|hL6am_K$Al%J%Iep9S+PPma>R?qQ zPb3w3l9NO-OZlIN=GIncj!cTJ|;1#cxLb_LQPd zX^kwEiDpsU8=a2_nREdVc%@XgW2|hZ{y#$bG$LZ17$`WO%Un-Hq$a12gyHhjGqKVX zvXDMLp~W15?2gqN2@1 zW|q_Ou@Vx-9LrK(b}q-EUHm(}Eg<4J-N)@42E-ve9Vs80T2DQ;+OJWsle7JwVR&sqOTAqM1wFfK z18lX0h^}CHJcV_{Z=#EFV;Tj{w&?3|6wAO!vLAgQ8u)TH_<58$Qc+(+Q!>r zuxv$VpUTl|m=z>l3E?F5q);?bm!aI|4I7bqX{Usa)LmJf+}-+ugN`%o$D7deqOi$D z*YCzi77cZ)y%72B?NNr1Uy%s*iBk~EH)x*PmxamAXnk6gZF`eMH;s?VpR3O%h}cgP zP!7rrW#K3`ocbFDd5Snqjv+8Fjv%#9Tz}V3eRz-7`jwr3{p+8< za2lW0@X0?J`-T*XFy!`jTrUTjL)r zANtzzaJ6G~r$Mbn57Bp+R$XF8l_PLE&UB0!rM;lJr@2tI;dJP<=y)r^(RU`1ld7ml z0TK0PsXP5eGPGdc=#f;*8_G0S`*pao$G^e$*W)vU9zU;G>1H-rt=?l zXU)G{XJFY{d1ZORx$frUHba@x+ygLq`ZG!1ei&^(B?jpK9DhJyxb}_GTx@U@v}Y3J zpx{?AA(SJNV?f1&aY9QdG-;X*+ND2NVEt?xiv0GjrX{s2xUfE`#hjhuLf^{g3`mBT zMi-er&zhK4GrQg9#|*liO5HVAff@l4oY6Nbzd1zjSRwdTYbOjUibvInpg~GE(+bBBv*x6&kU+cv$=tfKdI%q zq*=1VrE6j=224$g*ACcth0Z-i9W==nL;MFgTBn>9!Akq8F2IvTmPhDih7EI{)+)l@ zgJKinWee^Yu?w$kCj~#H>)KY~Pv~#y%MHqPIn|{VX5=jU8WnEBxwhf4wqPj_fHQYc zynL=(K@Yh)!3*3v+4YKPnJklJdZ$C-qYKCqL zk7XPapLrw$$_5^j=Y_{903YD<>-G`wIp|B~_w0r#8agQe3JU}ioG~7S%%5VG?2b0BV|Wcm73?uTd2)O3)GEr{pJB}@~d(|v@(6)Bk3|h%a!iX0R`+7 zC0-*anuRh|3~4Op3CvzPTCKuaCmQVX&M`N4_UNU<9A%4~HaKvx)Rq+V)Yz;IU9gjr zNF*K%An_YF#XgUQ0CAe$c+{7geb+p~pFt^g`4F6yPsU|oW{}b&@#J1%6s>OCW1#Jf zcvS5a4J{g^?Ya2kIohren|W+In43O1FVxsP%?^Ef9V8#ux6A#6r3x#8o=hSJs)G;6 zl5>pWg=pMNS_)F_2O64m8vrazxUo2r zgA-?m1c%AF$xKuOlT(-aimY8;Rg`NCmZYA7uFDG{kPxOtAa6Jg6%!9J?_x1oTmQLV zkkflc@v!ga=ke!k*Lv57k1slJryVOiUm*>z&eiS51vOyR_2*l$3wd%bbk=Ti1C*e* zunU$eXwd0aqf>rS2WxSP(-V=^$$-f;fhOYIYBSpLJ4me$vXK=(eLS7Mkj@dt&Z+e8 z@87q_CUD)iN%5lOBpeVXc0CgMnCJU);zC4t&j2vyzXj;pGdO81&H(YBfPAUa;of<` zM>_qn>+Db&$8W^l!(Kec8MF?>Zl;)-&iM z3eJp-Dkg>LH2O)ZBg={!u=j%$%C(CdmoDX%yYaI4Gnp_V`9j;SOv&!eWYZ)oAC5Sw<%ZTZy>B!_%0T>3*P+FSNV+j{yt__?_ z+)Z3hTnOAy+)^CV(343=)XtQ)jWUU|Tv)T*3|ryo3QFdSuhB`Llk)h7C7<{bpM<@{ zOhI=|F3O%N?X_Q$^{tck1l=+iK$^c+-!+T5d5w^=Dz2c+f2vK0b)Rt0-|z9+r+h(n zX&&*rr+asOVRm91dz4GMc#Ts4XT3d7zI<@oqn?+g)5D*3Y`ok;2|whL8^DWQ=Uhia z8V|Hn#^KEj(m7Q-r=%WV~o)2WoJdw3|wWJ7SC890I4u9Ritl}QsNq0PzKC^efQ^}qJ)^Y@aVpcZ>29aFRB|o-3!E5t^tXK%!4oD z!zi=L^=3Xk&AnV#4zwv*zHEy?4ev&(Z9f}~ma%wDRv{%Fsph!K0}5CYhj^7m17~qq zd6?9d3i28Bd5C4m=x)95+>_o)2kmpq&N$GeH|WK^{FiF*EJ zjHSa@Y0pi@v*>n909-8HrqlTh@-aDDihQSo@XrNA#ful&S1i+(=Mj(`#l5bMQ2DU` zFxCL6%TsW^@kBV|X{Ppc!Z?nl=?M?dC~L&HK5K_0b&`z4w$Oe^eZs$JlhN^4YO*K^ z2XU~Hpr!``BV0Un2oNji;07XPHpP3AL&rS*$jt&LBFI@Mr>M`J|T3m>;nDDoGuDc~orU`L{xkQx^Siw%mCWbJ_j>V_X>?>}s5hkB=~A*rH6h0- ztq2{=_i?9gXv@%s*_O?g{g$;dUrR8AhiX58$P3Z29QNHPh)9vgm~yLvF#JHJgmZSv z?;&QaUnN#UCq>2~WLm|cY;iLy6Rwu?O2yv-3C5vN-;Ay!=mJA-iiV8_sTjgf1*IH) zohDvu?k#vPCZ3~XGI&eGjeAbr5OUoh_ugo32^Xqsg@DoDk);^te7cy_b?1vgu4n%N zY!Xk)e!~}OwD6mL0m3)^d&>oo2=j6ZI{-SQ`y>AgbBfebO5H=mxbpsEC;E*gK$11S zI{s*20xS4k#!*&g;j{GV?;a#|lXY}PkMN*OwT9&)o8=}eSW_EAW~Br?J=5lN!*JEQ zKoOn+Z2z2?=`Oc{kmlG;`5X@M8ZI-|m>%VvM80FxbW+2?ZI=B2e&5ldCED}T6wS^P zfgGmFWm;C6|M#~~R#Hr?{F!1g%k9qSmuHA*;65U0(IRBRIl|5in{#8wpX5BbKa~yb z^GQ|%zZ2aJ$5jzeHsX)Rhna-C^`!Vq{-K5mqw8w3eQx z?3{xChMWes2DJv;!mAH5I&jIYR;`(CTW#BHTk@Lmny6OSXGG9iV59OhW|yJCEst2H znk5_&8PLvav1l?6i*+4 zU;pra$Lp#8IaxqYQBor@!ng%I+=V^VjtTP^CkH0ajtNh6uPc&8+C^Ecz=mqJh`D9x7VyuIly`nB#f7xVx*`q1)faT5MntIA?~k09`x%lWjO%fTa7TxlqSAIHpTJB4d?J;g0h?xO`4ou37$GUR~~BVRiC! z^s}~s|0y3-bZ$^s(i&p)HcUwqnamJgAsPDDNs3?HOJ?b;AnC2@?dvV!EyInp$BhC$ zyBeLGm}Hg=pH2!}4<*^OF|ANYvG&z35a%U(hsj5jJVzKDI10702?)d&2jvk02RaE39`Ip7XiY0zo=Y39oEbQ~= zY4oON$>YjIaBQp0m)YN~J3_5=`k$Biwkg1VzOTtrN{Si{Wrq6ctxx-MrYc^$?bJb9 z3W7^E&Ze8*y~*V(p6Zf8O_KjlA;L`}J*{np9!F(QOjTYqRgO#q%zoUV>@qPT^q{kJ zzHV8%PKmK{N%`86DVNE|cu^qbfK_~?)xK%sdWojcjIW&P;AA6cslFC5?_Vx=vsecy zgH!l`Dh4z!Q(i9=+7>XVp7gH>)Uh{3`H@+h;-dJ0dn=lx*Wp z!ADJ+FtHrs#I~+8ikLY_dW9m>inCCUPhksSlXRP6?2XHgW4U*f4{LE z;3o+Klb%VYqPcuOux0zm?^&iul&Cxp7ja5OE%z(tQtW3r(YkK2QnNyA;02d4GcJ`4LLxKI z*Yfa^A5I%A3OvwKN~*)I*OL_=?>e2$xleeU3OUMVA9hJ^i7vbFu~C}7TL1?>ISge=xR38reE^# z%ExMW-31$2osUqH$8anXm(p5%H&wa@$Fn+wgTRP(IPbh4{k$uxaJ2u{s>ZI;u1Z)s zI9k^+B=sAn`lFyjNq3SpQ%m7~fh5J`sjAv6cZ!M+v#kQJbnY5~?mOQ?q%0C|+#s>h z-im4ug^=7VCPW|kn=sRcCJ8waXKN7GDQz6%^&P?N(be}c5Wt-TGL8K`eOPjP;rSv%4rn9Y9-Qbg;Tx~yKwbcPP%85Nadw{G54q#GK*2uY`j zMP-&WqDz@#g0eQsOb4e~(KL2OH8)FCsT5uONN|g@&G94S@PX8APH4+2bW=Itk^W0h z)>c(|+7J!}}Og20e3nN9%yhf$XgU zMR%m#rpH;dOK4}wNFz(uT835(EgP?!ahuYuD#{gTua@EfNC{OYO7HekpOT9#osgfu zOx28+Ri~|3102-V?{@lxf0Jf4D0DDtl=3`!zf2vpmuq8twoaJCsFQ|P z3@Hw+3vgU-m$oac)(?xMlA;g)!hO^kd%zUZWjRp>e^nGkqyaACfw*|V@QmP{%&}Ex zTWei&UE{tMzslW|-(>A%$_9w_zr~`C*QeJ@8)_SF8nTbt#BO6-#zY5=ooAa`ArGGk zJ{mkyKFXWIP2HcIO%|?-w2Dvis!ZV26D&TNrQ*<;!>0yXqw!lwXsT?4-s1WsB36)2%=jb+->8lU&gfPa5EYsb zr+i3V+IDmwQ32F%dAh!1z6v&LvqQgE@H~CamwN(>S<&V37oSexUQxP|w3&@3BC4N# zy`~0>xgrWKT%}mwwS!#~0s*E;rLAX~&(|Nie-ud3z)*CA|WftMvNo$lH6vd{(*%6_sy1` zc6ETjulL7NbpAT))TXy)1hh9j-)a7;a<8SoAi3*wRS5?|Az5Oae-m88@chl_ofLGq zEZv6(URdS^Xhr}19V;v0pS#MICMW*{r?%UW|G9UEpDj|uVn10w|H1ZnneOH-fjC8Y zJ&3lly$uj1JzNjh+d1f@9=V~ix}P~#Hziw&P^1ZuHc;YE2DH#fcHkARo^d~^JA<)N ztdS8)F{d#JC$)Fw8C-DbUn->Jr_;|7`A}^|QcYz0dv+^+g&xYZ%bIpX5wPcps-|;* z^t!s4wx0aJUO zb*m7w&jYbyGN$!3T2;5ewcv_jnulODtD1bdf`(kc4l@mUkW#2mWRQ)UGP4CP(G04R zy;F7cWMup~^7uevN(=0$${eQOACW)UiN`S_E;M>?WzO=|9$X4Q$*DUx+|0|wRnm;U~zk)^v^ z&3D0Aem4Vr>BV2Y>>QJ%RIaObU#>Olw4&sXCKwOwLESdV;HDc!Fp;K{IBN9PlzO4{Fxp^k+?4l{o&>}b{U_rfcOi93eW>A??J&U$mG{UF3~5cVID}yN zO!k`KnK9cyiSLX27c*#B)crA14ECtnH2wWA8RBSJ?U469;kIaer`fRDz{D)3!EJ)Q zK-e8Q%|hX_j`DcP?O>imErCE%2~|H;_S9xd`KJ29*?Gq@qXD;E-D`a&7!`Unb`W}_ zd9HWPupf|g^4}I9KZXo2}87Te;dtVqHIDPMoaENYQd9_S-a{Q`$fo(pr*5GmzsxHoB8$jzoBk`u8R>etzljZ5f6`DiT$g6FW3_SVwFK5vwyaFLMu{E3Bsw8 z+w-Ruk*J!WiQRl{sA&xF$?;*IOjE}0?;YLt1M6d3WeMz}(<1dE^fOO(<3Z@M&}9*A zX`B_v3X}}SpbbTan4Ee;UD{_>Bx~e;L&4#{YzsO+e{&g^p=O%vTJ zOIk8ER1ZLjeNJJS&1vasO|jr=IzIw~yvcIe zyKHxEB@cy4rHb!G51w@JCWp_rMd~wpP8D|@3aUzO=eQ=%%TX%ZhR-x*iz4vorlkU~ zHjFS0CPndcw@G#~K-FlEdfx&(>Cv`2&Z`r|)L=fS>W!M$Y89hsi1r?8i8Uluh<$_) zwn|bXc((!?#`ikIj}$+tFZZ||+i8&-Ery`zhnRh}3EdDB?V*hOBp4TjyqgVu=>nzf z3%CgDNdsC`pVR>pA8&Y(L*r_{Zztg>RbX~9;5K0$x|PQC;|a@?MQ+gm-+qqWLQy{{ zURxuW!VNY|BxpQ9rDfz+jMEiJygHMUu(Xfcfmj+OYTT}`QvHI=Rr#fIbE{$B*kH27 z2J5Gr#ubF+7J~^w308T@6~Wy>P76d;eY8EP5!vrsB3iMN6>?V%T6;G6?^=bm5A6TK zl~JJ9R+_nFshEE&$pEz|_xVzHx|B0&;%jj|$d1U zOsn{eg}2~=c@>I_CRVS^H*1HMiI3a-@>Zbc+}1pqcQ`8uCi{X(itSWD&^j&-=nuq3 zW!|sAsLk~19Q%p%YC+EIz0i%3eeTzoi8>Q_&AnyfSV&PPQpTZD0j8S0gj0 z{Fw75p4n1QT;s1)J#KE)u$d;A9c3b%o9}ZK%`X<>Br=`2wXzG0ePhUja_6IKbC_6~ z_E`PIcUb&jNp--Kvwg12YqSWG`DC`rTK+56pPtCi(v>XLh5t?!^K-#QVG_xv ziz|z^!aFgPy-UR9BFrZQz^0u=rt{lmPKZq6VH9l){HA3~&1v#8r*8P&hLv)gv|FxW z^m67Z&OLtlQp^c6>PA&o49)NJd!lJ<=KqFU0{%0&B|dHirA%N>+_OxTMqi3vqe zs2HbuCsN4utu|y{o<7MAb-lBRRIHGO_l5KJ4HsZ&^|+34ZuW3tyb@5H&pg`0ppyaS z?qARR8>nb@T%E9Kk4ZJ+-=c$tpkOkXI?q(NB2q%LS?TB?dkcjt`f!NMYBlM2yYS%m z8qvr@=XaeDSCk7qXgfEis}llcnq;^p9n|)4%53_<&aDEIKsreum4QO#9J>wS03i<; zya`^6L>mhBmHRy5P|Os5=4zSO>bD+LLkdd{8^t~johPASokcvRkNX)WKCe`QWRHr;3WS%)qA#sN!@@Cf*BL?)9~#7S%SAaQ@v#;GX6-%ZWY# zTQAxK9qr2-sk+-@DJFU%EB~;c8oQXAz)mgo14>MsO!j0SJ^mMTFa#l%WfbT8g_n(R z{(z;K{i*}!-e`{P!!#};-fBOyhO_in@RQl*IeC&QCR-UuyXYf3dK&FG2oVCdu< zXq<3nT-Aln##1F^SP|}Td(t+44)!kU&S+q(L#~li_w;+$X4CDZ9}fsC?Kl39E+8Ko z9OxvJ<4|+g)m*9zP_ z-xEHe9FhHA6EGSHrP;SQzTom=iG8ag|2&(+>Hv{qgy?zY@%!H8{yQnwCKdX+?N@e^ zW3jm_*07ZL*j(AFPt`8xY06n|K*;QueV(UYTT0vWotP;O!iWytQe{Xs_ZGe7qizn6a1}*s> z`#qe*NgPM~ft+1tR?}wLBAR<3`;}8427W`x(UTXHBkkA4OM>oFk+n->fi)@StQD&_ z(#4X*^rj3hKBl&aW1h||*L%&9&8gFQuyy~`CHM#XmBcZBa-qH2`Gap0BwGd72mC4e z2ZjaCW+9H~M^$ecUF2BEcHJ|%;1mmi|I(+VO zEi*dODRvUlrZz=0C$o6s994?N*QH9IFUsZ_AIFizoMp`EZNw%H#}u9~AQkF2nu~54 zNfmVVZx#M714fdyhW^mr3Y3;*6qZu-ztTAxY=&(2%|N?zhN*qk)OiNUd-N7`v}D+b zZBK6^wJ9tzBwhSKz4O3dg7l2TS^5l)&SeqqyB^5j>EO!eTcm{(iH-`+K5pX;AC+>l3H_{ZbL`;4OxFGD7R$_r%45PAm4~~ho13)%+KWBoG6L-cIib&hPR^X z5SVq@T71LjQs;_Sn&vV7(eq1muWQo*1I}F|n`~_;u5pzrv%%WFZ$#}s-oA`Me@KDj z+7lC@&{+(3ZE9bkWW~i+WD6d6)mJ+9TNJzD6`R%kR&>?XwvoSx$En$WqlTC-#K)!h z<7EGX*lH`Bpq|SqYH#iR>ehPwQTiwyoMTbsTI%rf_s7P!EoH#K$36_(7x%pa!f*c!PYkc9zQ|2(tPgQ7wsM3spR9X9 z0WZ2qH<2u38@;r5oi~;zjvd%qLAh+Fs~$aEbvVNvZilO{S6g~Ii>CtbHnTT@=kM#8 z6087)`fre0#Pi$k9EtWFQZ8-HvRK>FVSlUoZb4pCrHU@EM9fO_rgAtO4k@%7tM=gy z_nUaFI|G0~>|*`(TVzcU?FX(G_#j(%LH98jxzli- z+FsBV?KwRF!sEy<$Z=y=B3nHb!?9zJP&;DUeA>NEVbE9l%F%^m*riKTm`$iP zdybz&_xlU#W&vPFD&5J`_h)o3xxN$$9gt?E`s&p8V=1Zx8wg$`x&)S$0koLu!k@mt zs58CQ?da|g{E4Ae>fvVv>%7lc#w>B1xHc^WIb`Q)={&w-W`)s|W&;Wgk&~}kC^eqN7 z&-c5p$v4_>o#3v#Hxg<`@3rY>_Dw$EFGQ^&$8O%fRHZPFXqqlF7OZITE!Bs`X4yUO zL)#r(E|_ZZSsEGQ#*RIBSPg7-Q${j%GJkX|SZ6}oXh&wu63b(i>y+6;w?w=j4SdO% z4(6u~*mxkf;pi>0abfnh@S=;&Z6{kb9j1Mfb$Of~95cq0;z@kc*t$-NcABZ_tl05G z72<3>)g*4Y` zacR=o98SgoChv?vTQ@be$(>@fy}ibjIH*;@L3r$_%u+WVj4^9~6~F>utA5 zqu{iAfY#*fK9lPePx$OH;Pta72rUrC4ZM0k;;Ge>UZ*$t#;76!JY|H&M5PA*)R+L( z7}1$Hq7FTx9_&=F!;)jI=Ve)^rhIw9lJu4H6bQVYx;pR#uhw6xu~>0BgE@0|{{Bk1 zHehY|{fxvJ@Hc27-^Q+B+#{;}a^1B~g9nl$?M@+|5bnTvHDDes%M~{3)%OD1DePDw#1bD;A9kz7i zsol-h9xHQLd`-w5v@wKhw55;wH`^=uoylhVwB%14883;Jw2Ex3yKNq0J?hsAVT?17 z2mDtEk5I1hhdP@&k7c4Wn`Q32lQJnOES3tLW@jmbzJYtEMy7HVB^}2daLTD__1ZT8 zkh;7=Rh8T2p~9gZAQ4e4Mb2JXgYP4+Z5_QfkScuOwE5z!H(}kZS>FK%2Xj!b0?9W; z*q{Mg@G`@hWU6AR&uGHL$}wcCyq2+mAzdk2QIH5TCX}h7I<@FN;BB>5q`cic@4gmz zpVYfVxz41)g}j?v0sAYjidB}9s#0rS?ViieukAtoXiX(nXRng}1}$l>^9?iyyt|@x zbC}!eA}Ec2dA+U7EAj@qP%UDrZ0=oou4u7sHNLKnStuW~aBQ@+);^I&PdxjWq_+C4 zyL;j_q9otTZ|L&=G`UG#Gi3T(H5U3)9+QzD)0BqA#Oar_;b*R}x3S7>?1nM2U@?I; zP4ZBVQ-Q@MV7>G@y)q5IkhM2P!6676{RuGZb;l%qf zD#_oME349+Hm-GUwa4$cDW$eAR2nFiAfBuJ6SWE}Y@7 zbBO9rR$qEGiQL_pqtn zegDB6;W$H-h#(=Uyafx_wf3XjlOkn|^zp{B%T?pcRjD;~rN&GeGmLw~YTBs^Hq{qO zh?{ncbjaT^OKODl)24`N)tClNo+t9@>M>sCx;dMaCy=X_eF%n?kLllHQ-PMjxbGRLK94=O4e;?3f0)k=%MnW~mkO&3i! z%x-4Y%>u%c6O^r&D2go-P0SOy)QxIMMuNL46p83w53)gPf-1f5BFR^2^d{CBw>PYn zY&JV-bCc1O%+YjOSU%JR<&u$>K2vj?Tcyij$)_WQhysO z4bQ!;T$n-r_Ex=PHmX)>y<%7^STt$Pw&`#v&}i%2c+E1_EjH=+NTe?~CLQRkt()Ix zFBnrN4PVr+lA&tU=<-Q=&*Ri|lTg+0^y>gGcbiZ3+DXp~i;unAplh_`s-)C%z%+Rr zFFEOX{S4mshoC${X}PW`n9M@BS75fYPxh>BS$a;BubNyCy!^C9U{MQ^4}@Qq)>Z6? zKO{a5!@!=kvcC_#-#N8qcbtV*bAuOeBWL(4*g{M9khA{R!IjUql($do_Uta{40|(o zC%<$Vd$}rM8Y->3GodN-#3|JGmlX#z>Qs4VBjuHZI&bN|_ekk&pjBOq&ijO)X>b$M zEo91oVCrW~as(-sNw*3sYjLXL`F0f*E(?l$NC41q=JrSd+4)MW;b#|}6=(KEffu|s zZ=rfXfJce)sr^-N#$00vwkHGisF(c5!Z6cUZlCpL9L@X@w{)Bg5E~a;=|(pKNEf5) z7BlzFeE6(CLR0zAZahw34N_m01OP2i{-j~I`_hbW9dF~VCVmD6pt&2P&9grln)B@4 zK=$tnMI=Ss7tvxy2XXA>kzhv!=DV-MhEVjE>B~L?QswWo1QKH9hXg3CBuf;v9)B%qbEZeqfn-r9javs_C!g)ui_;v82YX+ z#fnNdu#P$+XCVxy!-<`#Lc{E=lPeUdPR}3y7l0kU_Y39vTSCZN zkxaj*9N?GEvOXA+Rv7dQdNKo!`}h@1OFgmSORsmn<`aHtdTxqo7zu14Wkx9EL@WW^ zlMru6tX^Q?R%ogg!4C<_uoQxtoCxZuQAZ(s+!#eA<%fp{Wk(MBH0My1PFt6Q5God- zzK=j!TnpiFscgjZ1n>D(i2MmZ+iC=Bo8{$M)h*TfvO>E(h}v513X6);wP{UKWv%ws zDr>KeVAQzmtzW#6@*c$(0K;|$oH$cfeZf5r!4?Hc)o&;zVT5Bf?9QP$JAn!JK^~E0 zpwjr~&iZ@84ICs3M}$9k1Q=kn%T);|yG4{hIy9LP5oA%sV=Wx-}BkeTH>NSvb6M;cI%la>{Z zvm~6!heUE0kws-R?k7cE{{@X%n<5?={`0zQJ|))`okAb6&%`+oIA|o~D0DBY8BAp4 z)U}oHr?7aaOf&x6SspRcj>gnEok0{`j*1{IbT~vBiF;g&S>`S{U!{N7TwO_r!fIzT zHuN{UKS?lDFoD@pk;WFmPxKSa6@q$>_`#VZqby7g5&s1Nj{Za_B9hACDqjD50@4Cg zcc0kxT3%MfJA?8g`l!t~_sG$ZeSsA?!R_WTif0DCK5C}e&Zno~Sdf$G$4sR1-d0G5R#0$OO5<5N}P9;`1tIu$uj`I7fvu+&6ckStI%ehH4G6ZoC@`R`~%@HP{v9JV~N#3b?u+?<_45i)Ne#y4* z>EQei>0Y7{#|6Z=UquWRhNbu}ER8v>M?H<(r*}dy1pQ~T0+j@gd+;fUz+YZ^@s`pN zxSa444wnq#&hNfKwO>;8y0F#U8^*`vxt@lBu#>~9!_|-p%_~6;fT89=S5)NTcY-=9 zyfbmZlRq17TW@a$l;dTf3DEc{Ww!OSV$9QULSADB36)YuF5uMY@pd9=va?D~|GjGe zNv9rwo^McIhw8wI)Bww@f=~EPWNOpD0r@czj_ErY8_wX{$V7nvVq{0tXy`caPndt_ zCu3}cn;6jcuwLlOt7snAaov}{{4l*L ztq`ec`#B525GRXKDw}Z~nF+5NUdsN1ltaTdQN4GRL9}Qx8s47f$}^`S;TIQno#1?LzxXY14~=< zVF`tD$&a?4&ml3E(#gj@iR_aDF;6=qW6v-T${^#YXJCz|%pRQ6)o|G^42x{N2gSkha%^vt1d;CQcl>;ToD!Ay>gt{U)Mt(!)1}R zc8*U9&QEH-o>;Xq5MJwMN?ALTo0-DqS3RjPWtsisinGy%f)b)!LJX7)6dVW+cES@1 z?}Qx3&T| zP1BhREK1vw*>1;3Oi6581zGMx<+VxmE+=>7_#WaauWL`KVI|~CILEjPfTDVp-x-hgp*NxZgXp6ygzYeiu{ZV0LV;upvC(H}-f)Ud%qKEi zXd^W)$D!$I0V9R`v#=;IzUeXj3}+Ob*yW})raUWAfr!mNTCnv5^E=~Q?!D1(ee=UT z_=!pN`P4}s6Jw_Xx0engE*}FEnJi@=S&W&?ikF0ht<Oc2&qV3Sr0psi;^|q6yMPQ)hdkDh0%S6@!Jj8S1MIF>6k?XSJazC>biU=>Fg!$ zV{f<}ER%vC;tkZQ*mDKx@U-s2vEY9lnV)H_ll$L@xtn}t(X`&1=r?!2)=4fh=9(tR zE5Ssy{q->gkADYV&eNsQPKdNApOh9nK8_!J;uMaLX1pX2ClI#!6LCHudk!md^APdc zfc|eiG5=qBQgpL5!l#wdH&<}9`tLvuJtNy!o)Td*OGhL7udSt?qmiJIfsNr8r!+nT z{XeJd9USrLnf_<~k`7fV8!VQe9giyG^lYJoAzQq<-O+pfR%Z}#YuL~@%!`YN6cWMh z!h1ejA{SMHONtoTFzP5k%l9c-xazxx($er2gM@T@x!<+kjLqG#nH!;g7aG;$!xK9w zo{-7THo(+g-*XKAh6`t%PtA*MFf>6A;d&dH&rVBg-$LtU0kncE){g$(t3xsFsF z8j`tZ6gU~u`}S1k#{d^wm&ewT=y(n=yV@rM?jT($3gZcy=(DreNu6xmm0K(YI!K`Iq9tUuSs(7m-M9bVzwWggqn{ z)esY7y7Qy>$P6qu1;vu0LgSfq586-RSS`Q=Fv|?;*w^$48ufFiMG-59AR!8CCNa7f zQ}OF4#d`SX#qs3vuYMRcf#x`66iGGklUMtbT6D-_(+Mo9>Ln;L>rLyElSflcf!s7L z45$dUSI8UkNyN454q}oz+R}xaX4*z3%$-*S;?J_~M=|z7rfVJ@1s*pUS5k~%1x%=c zmj#JO7*u>u4+(O$3Y<)5xbSmGnO>2d=Mzk}+#N4Vce%eikr2o#)Ln>fVzoBy9u-DdF z(vao0DqFd`vGryuS1^wLcEUsMzH_sQI!&?tBxR3HQ@n6?rf;I0=2aiR5L0h|@U#M$ zJE;$sSn{jVTIB32AZWu80S#Cb|RjtE_y zd!c!1gKWR0Pnt@YK?;H`BzmAWRdz5qq=eC+{GOlbOk;Z%2klQTBpC`4N7s5~7MA5{RphvsBzkucVyXqW$6#hGN+gV+#)zV%q2TiexdZ@P7 zTURD{i{NssG%*vJTmwfQa=sjFq(Jnt=-j=RQSXh5dIUU>1E5lS`uHA4{?^oHQFeM< zHO^#zIo`-Kxt_QOlvd4u5MRa-)teWc6jQ?=VDqiBdRh|oi>*QM>u-sE_Fzk-P+TLW z2ts8|)Z63_T@fBO=WziIu+ynwXW5GZgRm|iGwa~2{(Prf-SETgc+HHTM(Dw6e_}W8T?`B}f!|Pne znhwwjt*Ukq1l!7;j6-tKE3W#Tlf=-;r)ya-X>&yv)kK!iBDVL$6e{N)XBMw_(FX*S z*Z6<=kN-On8K1SajiUp;20kYzJ}uwB{uS_PmE^_nY5(n6_zWD)Y^?uHA~SV#v}LEI zbu_iNad9*?a&R$oG%%&Hu{WV5|8mIqwEQ;qhF=~>utc@K1BUu=k zS@6HaVfva$Fwy@b=>LDRIO|z|DZ$z1OBesSIE-Ife@k54OQWN4FhepV1Wl>f&EyVY;uRbpO6um>&Nt1=_!Q6lTC@{IAZ10skoT z-&96?#((Bie{Q21-Oja(h^X~nGcOpN&dYb)?y zTd^;>|B>L|CMf&G@pTCOWym)A=FtCPx;A_UCI%Mzf39{u(aVv8q! zy3n!9!m=;CKr_W;zj@FU;`iZ|OO;YskyZOd;0m5-d`u&eimKl@M*6wq&2J&jka|W4 zz(Vx_e*<0;ew0t$op!ws;eFo5s8l~RFMWP&yk73negL~Z#;Q;8K5n-@pI&{Sx<1~0 z-VwbAWY?+@*X|KMpTEe>JWn1UQevf^?-P49=oWQd8PuNMn5;AR2q{N4pD#mOpMc;b zm3p4rrLK=PylaaCB)rJV&zGgor#&A8g8k3EFFKFU+gz7+SFijln?|k|9a1v}^VUoAhI4Tjc06&LIrnr0R`Df$FO*;G>V- zy!|k;^u$RilEOi;tLoDMV_~kmXeAx%zUanE5wbZDx&C!gd|^hXu?h42WQl9?Esc8D z!hVp=j^8fn#Q4lx5&AsHsNjP9y4gt4l68o4PWDc`bO&2uLavhX;Hh`k#N||c3|Aqn z8uj+-RQ)*7+%plmMyk2WM_Z&(Wg^$eh2N-9u&)H8jpy7d1}A@Xyn|9(>N}~TLUpuu z_Ob@qsbwB8NL(dZ39JAVw?N|%UL19@otV6=4(Ir5u;WAAB^*>d0cC2@dsuo^$)VLq4P0FUH7+|1?Ny*}#-oMra`c ziHu&H>QT-uv-bCT>HJ_qdG!vH{)K`<9;VO4Eb=*0f&`UaaM6XV`MpxkP2GOR{BY3E zC$Y(8fY8a^qaD)ychY(DtG7m&mIw2~2V|7$A~kLN#Za}4bL?O9mf0)UUTX7Htfwd> z!zlA7dIIgX;xo7J;hSqeR3Oh2%jKKdusdpZCca% z*}ny7tfWix{Ib9B6*7a?{}c%#RIgfS>()np`*d zln+josM$5Q(lu6rrhX@~iYsTL%FhY0Kb^)EKSaI)JF7a8G36QpRX`Euzn8cE+T)s+ zuyiAvBu^DK#Umh3RS*x!KnEx}aflD#es?J})yb*sMkJ6FdIg>I8}{pQ{}I3Y1c}^G)m^3X~&YXv?WOX^e}D+ z#&9QrIgvUbz(3);y{o%0%CM@+8`02{es`5zCF#n!l?)kZmCqFG6j!JAtL0RILEk5q z(wjk)p=5WI@0r~fi@7+c6BbDnM2#3}7#Y-b>7nwwLV%XTfdD|)N$XI7ztYZI3$??}!QerXpq82-55~dtvJP>^NVVs2m zd(_n!O0!(oVpwCle!{YZ2+i1sPc?9EN8k}Sv)O%RB`)p@!l8Mzxqp(&`}Hya2pm1m zF@RJuvDr{?a+=X~?`gMT8sqB4hD>%wLd;&UxfIr=WA7poV;zT5m^=J*~Qh3P?$6Yg=bjL zoIVUr^G$D6WD5t4o`Q-lOW%W;6vJshdiHh_=wY+X)o@5y*6xt(<|{CE;|~aCPEk^D zl4PGr7UkNE23ttc4MLp?ittP7LBbGLx+QI})eC0y^Gj;aP(4mW!oCTHBChT=cauU_ z;-bv*T><~-bwWSk?q$gLQ|9bw;zFg6Wi`*rR|$d2_=6=qd%JX^yLe|#*YUQY?MB$# zJ(SPzwPHnUmHEkazWw)BCO_*wU5C0##vhR!j3r}v7mhwtS{$I(g47t@Di)1=lBQ}7 zCIR$NM!2>kbTQW>g}a}T_Oykas5mc7*SK{817`eVBK|(75=${%k5x7jnxLH{h|fZG zi2rRHG+CT{^hX1b9h%*$*N8e?g&LfTN))Ta%l&8%)dxlR2lf@ZtSzol2@c(sHz}58 zxCj2Bs$7L856Q2xS90it4&?n)ZtiIr(@5+SULF8}i%m?6WX(;clWQB5(V`g@CcFp3 z*^$EUfHOcxkRd@nr~!X>hW5wckq@v!LQ>j*1x8@)MBzRNN>tqYc2nl1#RaB!0q_Vg z%SQtvXpm3?n>-1)+29^b`J<2ZL{pt*QYJ6T_=EooaJgrZ4~C8cFGrK59We%W54Gjm zPpHHn(x;MB)*hcS@{ur%olX&Ifvp81Db1>CpLtgiyxV%|Wn%Z^E zWqx~4xbDQABg0}orWM+PelQwfT1*s~uw4pQudwz7c{#lG>9QQV{i57gqOFDD5UO@Y zIderd|G^IPd@Dy^+&{7KhC^2zsP?}9)bN}@^nkOzFLzl&dh$Ze2DC5@}+&d8F?Q&)`7bR z+l`mMl)P@%ebvQJ#vaNcXYiD%t+EDc51O06_%L@_rOVpHuhLfSIAM96g`7-EOo~EpB_@xOK%Rm`x!pxO(p*GGRXI9oL|pGHep50ygWzC<`Zik7xxdV%pLb-bC%! z-(>Pc-BVfMW%3{g9x+bv9;C9>t_6ds`ona>K!FQ$Sddu8v|Xr9!Zz5(h~@;MU(mNK2+fBg)*(-4SZet+I>9xK2rUKB z8_Kt&E?x@vWEh`HplCMNy#4daRzCA(JU2(x1$Mah-O3(zPqwV~)~{dEC4HDv;VKxz zL2;lOqSqArYY`ZFTGizYu05WhBGn66)t+ksQcCk|sOY&w_jGSkYwg$LV8I0kTuJ?4 z!AF;SxWiGjo$ZDqVbrQ{&p|j;&XY|v!_}yR_rcBu9YLn2XSrmP^fv8*LRHovyr!Mp zdRSxW${0PSv7BmhpohekzG`TdHSWo&n&=ksoN^9s#N({N1%hI>Y_>uBIR49C#OPfD zQ>sJ?Bs9$@!!wB^Hi$*l4Z#%o1cfLze{32qVRP?M3nPOId{zt^_j}p5hkM+qW+(kt zU|1S-5bJLvBU9-fE6cvRg!4me%9uWE6o{Cdk61T=i2`}_ck` z#X1$Pj2_|IXO*@bg`Gp^ouV??zr~oG5nN)eCBHa{0C~mUkM!iWcz4I-nOeqA*o75R zNVHZut`%V;5{O0$@0(~TTN##E6sQB%+vyv_NHT29ozquVF$;Q$RtD!S4(JkQw4%P7 zRl|Q18 zc?``N4yY)S zJTy%_L$JqWzxWn{8xe(-Pe;c~(SJ@~I9E)aCFwy6=qn2?VD|(OYhC(?lri)%PH0kZ zU#TsfeCy_dfYF{B1Y!VMuG|N>F6jhN5G>_pks+9|qZcFEu^hEQTgD{9CQ9>e<%OfN z;LD%4bgjE3$UZbIWE({~#hGb`n$J|pK0&ecc6z9(QlBW;6l7U`V1K4@T28T0icGte zUfT9uds4wLg`}jZtN5u;vF2bbwCQ$tn0tp{O#=AcdwSGd^${d`*U_&T24fV1x?VAL zK+cI|RI5%@cwgITjyiP7L#(yZBajF@G;Zr$93IR)dK^aROFSU{{$jA!9DFjl|9X_1 zY-hN9u@7md&TSSg4V9mQf24i2131S>3XGYPsD z*t>MWRdXe%O{cr`MBL5JIdd1pWOCUqz&r|2z$-Vea28FXVTB`vSe5g-Sag&^v><+b zQ!%caS~^*(oGot@ta9!yoWk^-TWS_?ICys_cNa-qlVbkFWldWOo{YgQ^&?)JiJqSw zWBhN_Dnn^6%#cA4KwoQubrjl!xvC?T39-{G>I0iazEZ6dY62M9gl79}@vc(RQn$Pf0eNQ#yKgGJ{0wlJ`jPQ~bi)&%MqwnaefO3m zmPnwIO1mp;m8y8S+lY=_eRJ;I{`G#zQaNa8a|NKB)N_+seX`I%+q?P>i-Y2`VA)zs zFM6zz`~1?KL!zQX^~eZcil-LX*S>N>7Psi6kD?a~R$ys^K?`Jt4YU;U`c@R5>1C9Z+)2gSMCOanP$y zIVS;S?=kC8fhmGVSoJB9qL|WQ$)j;7qW)mdy0Pcz)=+jQXAEiWqlZh+TP6UEA7hIb z>RFW#1%tqiM|Mm2{g%CqPTdlt<%?#dM4U=a@hIofA*zera>I5BF!x9@QWC2g@UeId z8gwa|F_}*y1t(>0`YEZ9xr0n%Xdao==e|j_1EPyvthRuA40DeW?xq8Z>)S%5GJn=C zGA0W`?w|jz5G;<~c*Lb1EI#;d>#^=2vklUpmBLG=tfM*uV89dWCo?YT4tm^jAC)Bs zXlGr<X(Z zCBvCI{+P&lYt^}AWBiV382DAj0obj$FtduZROZ!v(&b4zeD%%m&wzCF?%CC8h{-8P z7j>JQg}0ORd}qsz_56dY_-_(V3Z?-WFkxR6U4$&)YlwyKU)b+`G3s65uVksGUzkvD znOu?Cw=1@D%Evny?qVF6o^^-S)|8u%3}+hkb{@~l)SfOMM=V(~TR?gG-cXG7RM+ON zkL1IN^3p3tBUjsX+5sqAMdtvJQ50F=+jFG4g0sA#zjDLU0l-TEn$hPk7kX%XpP$5^ zAzOg8T(2ZDPFB+EVi`7rK}N1qbCnhw-5}I`1~IWK4*IWIK<|_8g(I20u&ug2TzGyz z$qzlxg!wd{p>sPJW1*mPYvTd>`t0kjxLZl<7>!5=$rjuN!qsLQ>LNyP$8l=rks!eo zF}?nSKxH}PA3CVLj>R2B265PC?w)c_$;;VEiiiBG*jUZ z$j#(^pH|_QsnDrI4g2x+ntJj1^m=m5eYm4JeC1nv@fB$vMPNr}WHjU3Q0q-Qf)`b; z5Z4liRBBm7c%u}52(Xow1SeN?P{3~OU41|!JcT=Pt73pZM!?bH$r-~Rz&SzY$Q|99 zCBnyNeyH83h;8!|lE4c=C1EFN=Xb@Fzk#v{pz`w>w+@Y~9#I($FQ5(b6TrQ`b+VSCf8}a>|T^?|EsMwH!<-Q>%NM5L@BCjHw5iLB%@- zGOFTvlo}*zC8{E^^bf?-f6Q0gBB3~v#5p{oX)sl#$w#K?Taem$aM~q2@#a>hcg#rXTCRcR?%pen=^KK zKhmN1-s`XC(BBEnZYZod1*bwVi*Gx$4MlIra^Ii&cX>PyIneSpvY#h~thO}QsHU;4wXix(@U;(67?6dm2Hq&v#xx^9J8oSxMQ*|$RV;%oH zs??WAbv&8W@o)6;@6B297{-%j)JP{?5?k0&>2lKvEdPk# z&C{$zhc*=tR|!MGeTvVgmOzRx5jEqlkX3C^*;bDPCDxb8 zf@yZ5zXBZI|MsGi9QGvdj!aW=2slSkh?bg-parMa;S>J?Wv-Q@PU);g!XiW|D<|MJsCpm9Ys)Sa*?3s=^aUmr_mkcHX!P&co-&;7>=CDdne9oPr#BChKSQt z%gKvt7guV-vy%2YQGMOb1eg-zzdR+ohEQ6OinSa>g~aVy%eL5xOjZFPJCs9r<3UMk zVRKOena+Muw}}Q6o#0rcMcy418Dk6GNN$FdK0I?-zO+mNU673;{H+agCgb6x75(FN zM)PcSu2kC^3i7?9y|80KRWO`!L!v_J(2b0@DgMcw7T2nc^1zJX-LTb)`PO+d6HDb2 z%{;6|Hyugdr@H7V(*C-dRceRN@kbQ*P~1Pj>W$a3*!_BskJS!Z(3-&0d(%czZ@iX= zy!R>a-<`AmpN72r$mkoOzp?`lA@}<(efw)Y2f%+1iZ!%M_s~maq_%(ri{F%Qjm!IY z$8Z;|5?v#1$C1E*RR(c(#V`t&sh?S``@GNbj_fRHG^B;Iv&ghE$;ST>gHPO*ainF! z1dB|K*20CIpJeZoh{YZIzTMrMSzYP+VjcU)c$B}xX?@p$Q4$4?tvpJiY!kabBfEJ+ z50`xujKuS>UJKm+W%XM-)gNeI2E~Ude-f>&QS^Z>hgy%&oUITn0pU;>LqATeLH3U z6gV)lY#(O^&NitPf%uC7VRR{e9v8}ZiUMK^>GcnH0TZiBy-whS9)a4C1HrKRY|>>KgHD z&CHJ9)8x^rGM4vXw}P};Fgntx2zn!WA!`n_<-+O8r&ufh{|zy*N-k zX@Tp)R!0z?B;Z;bkvvR3RsEG+%A1NG>TU{bMfjT&*;8aj9|;C8z>PO@3--PIXN739 zB$r#@LuK}%^ZIz+RJBjW+V$IMh-V}n|6{_MB&t8CQ76lo4dU<;sN;&nCYsBgLy+G<#%m!fH;rU}9iDXOICcjA%2K2cA{eVkv6cb6I zjVG5nB(I%ua(7Ijka^cqn5SLh2Nv zDipPbYOH*xkHQ4oE*r6n-8qH0!6lwWM^xIMasY+0>)&sAAjOheuf&a%2RTIc9C1IB zx^Ts3#~2ZXshO&MfD5&;T&-EYR&uXV)GWTl5W*|xxg#w%IowHIqY<1?P9;XzWI-05 zAJIb{+&a8)UKwK>VHQcC!ebjop(3VofeR}2DHEQb5fn-@LrY8EMB)kt- zO|FqaDw7Y3{4zC0&f-YyhT@h!%_vI3o!&d>6umuia}y4VT?uW?kd_%bL5E8$)j$pF zJAYN#nq1{yn6up6r?EO_U77uo#es?_*fqnK*Ond*tgoWMtUv+_gYLO8g-ip9#H+Oq zag9_ptgEZwMbGiolp3k_!?hQbnGb)f+5JkRo!PT|YV3}SxG5RSo>MmW^Vz;9l!^<* z1KhuC#(HsVl;<1(1#?ZyB5I58FZ7Qo8zoF9>rbL6U*)g)7Dga@TaJbr$1KvRrYDta zYBr*`x+JDZ?cVAoBkUzNyOPB>zTO{Dv$4b1N{Xe+F0sR>N|^HF3gvaAf~~jI0lcbU zLfxFrFB3e!B{c))?M_!g2teuGX+UvdgsS9A%TZ?B2Fn%A)!zy-Boqi8y!;dIz8VBq zqDsVEL^)$NzfVyGV+zZsSrR($_4g8a?ZAOoMi3!@6{6+lPKJ+QE}uKxbJ$CW{`FdK zpSO@D2_G&`ez>({xOm-)9f`|H6}Cv+p}MIktiIT|qe=hiJ-&{-h13(S1~j7(NB381 zQoee0s+=n5(fui3ZGI0iH&!%v6Ijs*U*PPNKg&~0wQhv~ik(Be)q zzL&mYe>kNn`ZGjX{Fv`r&=^-o24b4_exPPr9(DEi{lkN+CWK?Y#` z&=N=DrwB}-{yzZyKmxy??7YVd!nQ_DFZQQ_I*#5-+rCAh+YFAD^tymn3xbMou@^k9TXuW=amLJ?51amB$mp+?@Rnn0ybBo}i%?w1=vbKK zLPqP1f2xG{^XtD-!ds5z0{0T$&nQ*Gd;ZqFg!eOQ3-iQiU1^A6QI4etDNZPhc^Nk6 zV$+n_fP7|o3Mmsup#*=TdtME36bP*&XJpYzx)6WFj4bpeJe{7Ag}#Y5P*S4yR|fG- zrJPHi8}l(rH5Gg;rXhrH48sZ@#kz=fH$oroTkF#~153Tt(A~H8>>CygH7jL2Qs63VxG5e-}8I|Y4)tvbxb{UoD5?&a) z7FW{ig2@uwyaG#SdVzBaLFF{PDtiXJ=lNTmeO=n6sLut+ zFl?-Iz5mvO%T=Hey|mr|fpLx|DBQQ!)lYV8N!I&O&}*_|3*L3|TWI|M23tpjNrvq`>ZZ&BERVR{+8IzXkf zaMc>ziBZ*>(pzzkSXZqqZ_PuV5S_dX2fHLmiN@mZZeai79O2}RTC117+l-x#ED;ps zj06P6MO*m(A#EMfzE4N5t;5Y^7tGkJOomYq#8?^a;A03u-MlZ47@qHb*u?KSE0Q+p#&a#U5Rvw_u(+qvU#(JfF`I z?C`3L=}En9NPYb(dA@yXc|4=TI3QfT{k84UF!*qcQsz|4O@oKp6|WiwAN;o_CAnen z)tSoN>J+Wl%>bQmWDb@!5K4O_6a!+bxnol9k*xARv}@AItE~NZJiiK-?vkS!%7VE%yslkuE&SZqgx+qRbJjhw=X~kW zul_yi_oc<*N#*=7;B_vQWsjxWqFF-6;-kp!$&r|)Zqz@mqln%NuE}oH=4%qYIU1mb zSQisGa1-s(@>tvkF%Q{w;X9UN`HmGJ7nrJU#;q+4K`>x9jwx495DXRuH219)#V(Xr z!h9*JZxQ~f!0AqI#=S{QCyay@o1XVbH1)6kqUSv_DG}zswKEp$$^--|h88PE@wo^R zwR`?r{bN||bF^d{;k=|XV}w*nP0g4id-M|Y#Lc*c*w~}D z&luEc6K&4`(6i!ID=mgO-X(uoX)zp+?s#>z9EqmhV(MN_>>j4^YMbsHSIZG>`sx)v ztv~Ip$0aeI$MxJT%9Qz*6RfS)Su$BO8Mdz+igTFY2>)?-Ik5#)M`n5J^pbpA7k$S7 zUUa;=SAnnxVF_udbF`pdE^WEnTPI9N%u#!jT*#mv23a-F`EIil=1ee!B(D;4ooP#& zSBbf9FZ%Kv4Rak<)Rg+Mlt4=;ERt#Km&uk>F?tQNcfxG2ajqV{XDwP_34wcx=ldxY9ol^1;-{R zVb)MxWb_sm>yy3D({e&<^539_xggZelBp6xB`53Gab6dg;l-vN3rDYB4#B>_s!3W_ zEmFg*GI|f5vEp)-(VHiiSaI2|cgOSU!4rH?oYLx`Uj;^KRazbNs}j4(NvnhKPta(+ z_&u(pn5YW2Z_?^$gaqsFm(C-9!5x5q+}iT34FNr~-l`>OV=|G@M4=nC`Ju3*<0y;0 zy7{5tubeN~fU`A3U?({Dv1PUTPE2F?)9Kj#hNvM6W{8IeQ>RVKsi?FU64)FKzz!va+4m@Na0GmI@ZI+Nzkxj z4fD?HvP42y5@9H+vNpa#A9#9g_IRw&jk8(G+j$i9#^Cdqr|OC!&Xo7ithM89)E1ND zi^Bz%c^kFHz6xI)+GQo2+iF(6IP^69y0$8IYAV>sL!F~}OmJVan{j=6VXZsvSn>3F zs&!9el$zuT(XS!~VUm=fUln7`Rqk=HYdgDQxEWX46N2y!dn#5x*&m?yA!oGI#Wy(W zc}5nFb!KPE84c?^v5~hrZ2~*ZH|(kSR$}j*ex(teTR;-r8P3FVw>MZ_c5T1f$*NI< z1#Q;H`!?eilWQz!yNVn|t$Sd?zIFAw&G?YuNaWyI)O}=3F6J<_EX>2+0Om;Q)|$se z^vABGoOw)eM01dPoV2}gnnB$T7LLI|i&aV{OM|Sx56*SUOcn0N4^Q ztjeHp&-byiFtHSa!WHzQC%1FX2GI*o?#m-TQ-W4n%5AX}R@&1_!=(*g0&GxH!!jaL zSG;N|mCVFTitjC@k`F$9j}Kj{zDx3tCuAv=1474h;THR1vSb`xN+$YyF{bL}#GX=F ziOkZp9%?KKiKQ=kXzM>^{57Mbs(EsyRnIwFT&Pa=jl5E0k8*;suK*dB93_67l-QqC z^v{wK>tDmMsK!VqL55{!~)p=huHFDX|`_;qFO^pHV6) z@%*iOQsQS++R_b)1QD{IaSPxiB0=D&lB3)jeqx&)_QM_WTTD0XFn^j{eI^nFWS^gL zHTz3t6UD^qu$}150s3?dIrGrHV~AK6+r*V#=)T>)^^k5jbL`E1Yj;|hZrDxS-bSr1 z7csJ#uNU>G2Eh%Lj3C#=q{JR9*mzsl`mM>v zhtYzK=UZ#(hJ~%C)#?c^M$GN#`D+c7Fx?Q|XZ9Sujk1mou|*}n=m1sNKtb|7k!?pT zbK(0fWK>?WwXo=|)l_Hqkvt6UPwcUYkKn%@1d-lJ>)%Exf6*1Jg}PlQulxZ+H>VkCoYMS=}^i z=KD@(J+F&3WxN|vN&vR}WiUwVw3-5MTAq4FLg6JCjs9D!qmfzH)SI^yHs_$Qu4x#? z!}%Q9$%Ks4rd+*&++DzjXa2fc{su#uKFge|nQx3GC@!P})EG~dnvcjCZRFmYx{q{| zU;^~)Y5(9RP4HKf9L=y8Y@O+8zlBpmcx65sOIr?FX<3p*}Fq>;r4Dl)zz4~g1SGf&I3D%U2t2Xd6 zYD1`CO!V;v-q?r6V-W-=41W-5;Mdr8=*uZUO|e6#>f75oXU;V1a{ILj83;zH{f zl19%}(!N=HYJ*x9RApb0`j+D78Humw|8IlrA>mx2^k(8)b2xSFFw{NYqC%(qJVDc<;=vSrKm;1Pd5sAXl zb52sO8VUz4T9{wuC)s_MGI5 zDSlVi-@dil_V0wfCbbn23F&coiMgfE-BR(+RAnmOfYIdT*S7i=UK0%KX}=}^HTFEM z+0%aah1et=94k+|43_PdmYZDHVE3d}wTx!JMr(NJWzOoqfO7`Eq_q_UJ>R~Xza1L{ zG>fWYojE9JVhMW?3HgK0EV>^x&PK#pea$A=Ot7Qskh?r;SMJ~M8{U!)6fnFpUy zJBS(EjOADzRd*0G#_nMnB}It@g-W&SSHC}(Gkd4EP!uKDysgj?^E|QT3o)3I4fIuf zi;#6+F8ueX4b7lOQ_h|zcBp1PUT3REyHR4x%SjA-#4;4Um~m5cwg!*q)$_p__KvmT zzENU*j3xYvVd=WnugW>G6;U-X$J?mwkr?Yr&1!}>O8oW~TS@P>ogaye250Q~a3WHzj`WlhTdm4-v;w%=t%Ur1jwxN~D#M-Q)-^L-J}OauR^o)9xqQhSjW=aw>Iz;zCO+vhoXd`N5X^m z_i^+5*ekkOCp5LL%rfSj{e9e81X*cYH#FDt9Wo!d=e|g}RZ-PIJmKk2dmokgc4~b( z#p)~Z&_`%q%54xUe93Haq5bOJ!YhJ;vpCY3Co-{#A?mW@=slg29bRXsRdFGEYeJ|R zp0Jpa5pIGxN=g(+Io!73CFTxz0xb%=H_7{G9XQ{h2xkdEPkFpS5zahe1#tc9hk3q3 z=1->!QS|n$6(N)U^c!^J%sB*4X^@3}^}9b!b36ub1MJaEa5UWnDNW4lPH=LXoRMBP zEof=ynAZ)a=+e$9BYcByh}F|K$IvPDqxt43*eiuN$H^ETw5`;Smh|}sSU6L{l0FCI zfaK__66ZCi?w;$uc@@)Lb_f<>LK<4fFsnr^j+<*+8M(eQ|mNC$Sll~byQtT z6es)9%$B8guU2#u`oe`|Fw;}DYKRbpTAwY*6i;7ZgCmc4SO1Pk*Z zF0K6Nd}}S8vlc7EJfEYbbB1bVm}kzhbWR-RVqH0oubNA?Kzw7dD z-&!3xrhb&GAEcO(PBiXMajRclAv)1>G8s$m5h67-405aAo+kJP6^o^7-1fLNri+Ge znKUJ!*fTqWN4c&}gLa0XDZxN;3)7$DUdPBbQ^}Gs1?^{gP28WT`D?O!FEiZK>KRB5 zL{@gI-(79uZo*6OtKVGh0V6b}={RR|wb_E94XYnHQ-V09Bl3k=uAY^X6LxP^^h#_4 z6lXIbe&mV7G?ETQHPn4%3x=AaRYc!LJ+)xy$pUJE62zlQ^Kt+_qc&H&vpOL)eU3f8 z%>Iw^gosB4Su#B5Y~g06u0fnQ+HaMn11B^H8YuT@4St9$qUdF=_JpAw6(!jJx8M>L zd25M4THnnm&h*NOTsW@VG+aiwG`(U6K$C~95iM9&hvoY-c}d?={bWA1sz z%!h(jVpO!ZG~NRKl2m1aZh=)*yPS~;x`eoO67w-Z*C6~PC77VgH!ZJ`w`xa9%wla! z&eE54j03_o=yef4EkIl8bxpQJ8`1OE7O;ht7GZX@q}EkwrPY49$469%nid6@~h9f+@Upv8qVs>^$If`IhskeVYE@D9Sw^RT9o-kN}61$x1oFOzBx=x zsvU7m$%RCuDHV+4@8g;-YyG8hZ-d$+)B&-@Vvu`;+emD&(BvLlPQ(@q+Cqj*dO^Hf z`uf@aBGyc19a54rg1^c;jYrG~{(>~gwJQFCntD+ZcE=MxuTXp<;17QGq^W-9C6>SR ztM=^$tsWKYszEU+b(3pu?IWMX8S^XN~BtCHt)%=L_w+gYGl2tj2)e}{;mtqfIXL>R8${H&-@TDM1N( zpgCXf4d>O<1BD*3N6-%?)?!9J{f(K!RI5+cJhm>Jv-_4TB8i6Gqek7rxX0Bq;knR- zlT>xV-p?Lak1Ai-1oqhY`PSCm;zAvWRj!`Thza-2-HzP@jqKK7*rT^^ZJ4N&cqnBA zb=vem2QIDu){_T1-xcQPTgxzR07uvM@U7n#Nn3Nk#w>LAYcJQ2wcuaBE?wPU^H`a; znG{Xloi%Egx17j3xWmEAs5M!UVc*zc)%tI39xIdin>B2{?S1v;=qvP5vZv5L{EWWD zFpY4g7OC_@y?OZc7TRT49d=Pte8N=e60Vl4=X*tLQ+B+_LvcB=OLW3fVi1k@QEBxSX;H#V zA70k1URlm8D6$?VXF1QNgdJie7ImV;+390kfuJLoGcem{u$HiYp351q?QpQX#`!6i zAAY@gz3^09wsOX^=4RXXZ{Ou8%ZYdT?Yo>QH6X%ES)VxOUxP=<5R7k{w&`(ypCC4v}z(|4WygYL{LGmT$sD(r0%-M!k9@8 zp7vYtm1WPRSPR+n&8)Bt>#Wv7R;}nW&+Dp{ z)xg%$MaNaX?T!Cxd(ljZ zFhQ$_`_|?>CPMsKr_eK1Q(%T^vsPJWN|^JAFO{aakYyE#Z<3z&TUiCwMl*ySv94^P zcEba>eQVt#n;y~>PI6r}GY7?hImNmf3vz1m-+HQWg^iHA=fbT-gY}b1Q=YlKgF!nv zACZdKAFe9CVX;SMM+djVwd&3=h`xeLpHW)|Fd;tQ!KLHs>Ez9?;L`DK5QH^+1(%NJ zlOywI-od5wjFIr_?~MG21ST{N?6nOUFEl(mj&N^TDUh0!y$m?cuh9N+^~~Cx1CqQcj<&F5O;-l+ zagPj3CVXm<;~TnAWme_oj-F>M^Sc}JXVlih4>AtsOX+%#6=qQB*AvM1sMY*0%@ECk z)@WBV!x*RJXoe+&v7ua-H8U($(k3V|2{hZ1w_mmyC*%aQ@xl{p7OJ%=9L4j*-itoL z`kI$Z_&sWU3b+~&<~*aik5>aiIPqRPZiqmUa$*E&G2tr0(VkcK^^vL-Ji(N9FAKM9 zV(`R#7Yd#wCcDgsS!S0KlR31Bxm;P@+REqlUJPB}eA<->U!_IQ6Pu%Lh(NFwvZOtq z+hMJ?rdCe}EkSY*$*XkGpu1}gYLD-*Wb0DOU17=E7cIK3%L0yVCMkXCpiRCHMY%3( zEr{DKEx9Y;2n%M)by>i1rkd0_vIRzCmo<4G8!aZ5e>Zj7uo_=sj4R1uUDppCw3UEA za?tv@oG_Gcc%FVtvSk)3OeO;<>c@2ByMxw`3C?#1tshgW?+)5+lyK0*>TeF(?OSWD zIswRH?9ABd#{}oQgC;1^41mP?{Pknv_1!`1$HZ$EX~tM$sB&F52dy6yuOktdd$1V$ zd0osL#ceGut93DM7Z@jTGwu;NdjROkkJ>8Q?Ezq5jt&tPzK;tuc$_ZwULVH?wD6uZa;jE>Dl1$7Tg^)c zbGDL67HPr~%6^Y)6tNEW47O;ySUuzy3)K zH*JrmHI^?`FQd2YSUPfVq;|2#SqQ#sxzL|cY3owR;`d;959j;HZW@d$ho)9<-84qF z?n&npvflMLa<4mfcaLzt_O5ci9M<5zkA-pe#)5&>mpMx%YM4g@=4De%$m+`&M)j)p zsrnLP+!B1wBAU%K3aeVAC}a|99o_IF#OfKW&0|ptn@3AO4ik2%hRly6^!ZSi_VVMx zD&)4H9qep_G?b$V3sbH%;qyhK9~b78CVboD7D5Xz>-#1z8a@KG9a@x>Fw7%@u?ueTU5-J@>X{6DQ ziy;_R@om(SXnSF{&edev8ej}6t2X6*G!N~KUVA=Awle%euRZfU6GtK9raz(GLj!;D z87e8-GlceqUMp75#L+iaz}YNh2#xu6S+DEz*A|+DZPdVdi~xfoKITfXFlPvio^MY=laFFPpB&sX-LHTsLk7B zWg;AL+s(1gCMIUd#A15=yn1HF=VU!{Zr@rxA=VrYSTOlMYO7x?M0=tgcOSL;gv_7s z%~K*j_=NadtA!L)W%ekfW%9J&d_r6w=+9i`x<+Egelhib%>K7<+`D7ojb3YZAH#9) zj)AvtJ>+t-!4Dq^&+D>qT<&?gbv@>C&Rjk1_XZ>I2}`leKe2kk(n9W5&#P-KWHBJg zF@l`2Fk24-uFE|#Xjj_w{I%y_5_%WjYE*o0LAzQ~mN$)%JpEn8alUC5wtH7`h;sQ00t1Z|-^FXItt%qAFfDp}&(R!w zGqoz(Gp{oHGQknjy2F}+@ZH_7YlFBY;NI2t;LNLR_c3NOu(0#$&E0Fz3X*f^?!jhH zLCP<4_d3iDsgcdyD=CdCXJlQ@WdAU^NAN^@_XAd=psn7?Hn&k*HDROU+q=BmbmYQ2 z+2+jAm5EM_LrJ*`ZxDK$FzQMVnY)*g1){~eSaUc_Uaak>nnUn&?TS}fbI2DtZJR)n zybPJ%-Hy!-W!MfjK#{huRTJX4gXA0w?!9YPKBLka_+oJH-B0s;LRNG5?x!hcWYQF* zm)Er$^bJFR_^;*GZvE}StFc*Qzq8D-n!|TL&CjU6txhyFUwHS^JaZ01fUpzNeA16U z2mwBk=4b9+Ic?9md!JEjCg&|j^D}C5(Qbu@w{NX(6&tz^<`cPZZQ#*hhurIQ>)J~S zZy~_Xx3-ePTL|#{ty_-f?ORW1t}S%`tsRK^76L4%t7zGmgeMJd)KhQ|_L&)uXWBFS zGIeVgdKy zlg;pk;=%-@D$S7nxAs6`eU-utOm!bqCulm~U)+qVd)#5FLbETo_MtZ=jFL;SAMdsW z3c=C6E6K!;CJEMM2#O2Mbqv|Ed(Rwg9ZfK1ImfN6k71SCo0Jn40<_98#a|WzEHLDf zIw1=IhG59nVn+5of#CPIc9kX!0ZsyZHg!Ab?!nb=%V{qzhXwZ_<(6}N3hoj9TFU4Q zbG%u+TGESf`|oU`vjkvp?<<=~tPAcQ*vSBe&i9d7ntX+BQ+N$t@(MZU9% z&UXkl_IEbXneUmU`ISv{zO~HKoFkVym7Fj~E=Ge2I@6wx9L}eDdTp*Fvo!NGbiXr4 zm&UkC7+Kl?EVldV+bB+`vw=jo(pt{6ACc~hXw^5By8`JBK zCy1Gm>R2SxN(p;N&sSXKObM1u8S03-9mGQ|P_|jhoHr0n^wMO5zG2_S+*a+rQkCuP z$5k{b_DDw#X2+29Vhk{i5f^Q>BAtfJXYCxNlxqasn->VsdG(EedtjXEIeK-zXfuJo zytdkAw7!k?H`?mz+t^oawMNkhchIK6X`JOfQB!GH6)B?)50#LcNu72hkO5!Yr6jj3 z&6--5mKAJh=EyHr?dH-BRtwZ#pGN&4y7#oupSgR-TEcrtUO(12I(M&~2+CYeY%$n- z!?C{9ayj#i#>{7YlFauR_Cs-_wuT!PSFtvp{aEdJwdELAMJ~R@TuydS)$6)p!`x=v zqI(}~n9ry!o_NEC>BpMTJ2uQ`)P@9f!*dbmc*AoM^t$1>oY!TDqWx;*cl*}rm;^JS zV|J9-vqu}jkPScfHfnV+nHP$)9#fs8wWfqiI32yx>I!8x1)f(P?Rk&Ix)WUn$LCwC z`@-nny8&E3RuhA1z+c@;a&CKE-Kv)P5?XqcdwgTC%pzA$(G^FnMXsw)D<6xJC#)#1 zwAQDbk$}%}Skt!KjH^RFE8JtSbe7+O(cVhzDXVp5$gd9W8bxtV4y@ZRIZbtIS-Lk9 z-14GsEhB|oDl|E8tF1s&wI2+ zAmK7Xk8Dsft1^o}8=FCEMbE-X@#6Q`v>J%*xqm98T+^7Jx# zZ@57$nrJP!&!^2Yz<`77?zGn!4KYlu=a$rb)^NkRQOG^Q!6ewhVy|vdNAP_thA|~* zPaG@EII7$u8?mKmD6_Y3ZSh3*M1(AqHYS}_LL$thZU@~^>-p`t@X-y$b@VpC=I%k) z!dV@jsw-kmOVnu>64qJfv|QL)@Onl&W2^8{o?YcVM{j5@&9bY!*R;j$h`N`{^jdUp z%Yi+HX22YR5|wDw!&<)ysuG(ICQ)tbb{OW%S9aBT^=z@mcTRU7*FxY1ElQRcnqJVN zL}B-K&RS`P|NjN^I4@NFVOr}Vs{WMYd#p{qL#KX5ZKEk?G}deViaDIoTnsw3Ur7!Ei-yptvn`ZZ9bZ;y!_-T9U2Myd-Y+i#v4(Jo`Esj{ z2p^Geb|GG6T1VUg#!Lt6Rou5WKw9SQhnPc?l%PoMd=7Clu6vwJ_T&Xh1$yOdCxIw9+A+1Z_5op#Ds zU+q2=y{xxoFNSMzzO_~m$>(LgdcOZO!!vUD`9O)jzukz>k z=pN^EiPST_=pK&}J%8=Mq?wW_r71^28ACGV>gCrKn+%jprB}6jL!$}vN^?4+U(2LftkIW*pgrK%MjnD+#^$DiTo^Y2i@ZiQ(}?6>qEgT?8De*Y!jG%Wk8K*sv7VkHe?$Zp`Irm8*cQg@8g+XmLgl4 zA&;ET(PE~cX$+EH1d#knn?BD-07(e_saFs8*zjuoOmE zTEi3x#gE$JoOJG!wM04Z(P|y}4&_Ge-5~>v;}#aJur=IZs{<%CX@AvZm?Bpa^BK>D z$*nN8U9VinR{z!jdRkn8np*`(+t@LA|**%u3A~q=-v|DsLJrf zxVra=brJt2$FbOQTixXRlvkhEWq=g#@@j#S(;*Atg89|2PbQN}HES`>dJf==PTT2lOVcT~>n zx;rZ8Jz8C0Y+>R1t;fU1ow0y&$cDt9W zhiMU}4N$9RjUf!`ruWDi!?$u4tA~O6rJQfy+7M;hw{jNr8s%F#iy4_H3j1OvB_}LV z6b^c9>RZ-}uxA55z0rO(yaN;YVhvHPK1U`;C95zxOB3rwh#h*4-VATJS!2u+ikvZL z!#?q+y{#Tx2%Di*NmT>=ETJtjdW#9dtedgts&1M&P%XEqX-`~#46RK`6N3f~-C!pK zB|7966#XLaHwTJ|R?Yf(iW$L$nN40K-?NJY9E?7s%z@lxN22Z})8@_u7`U(|o0qGb zn?)3>G8ewz+${EHg3I649!p|xrW&*~vG^i5qDY=7nJ88%FI3%9Q~7iVH+`rRf}2nI z)uNMyJ2WUe`sUiDek_$5xf=M%*%~U1m_K8c_nVuQ7~@Lb2G~JJ1 z@A1X-qWk3K#8bT@BZ5)h4wyKMUWJ8MxA&)nm4RpTugb{sR6Bhi+LYaZ^SHfJ>&JY`~d z{`Rfa!AxxU5if`7JR<>dLN-*h+l)_uI2Cuyjd}#cVM=3n-+BVXY3Vv>Q6b6nHArzs zi7nE~l-YN48nODjt9_;fg=K-==qa&2VBAt>#p-YE6vd2$&4Fc=^o$ed2uC|R{@Uv( z;Y<*nT2l31M|q~IL8;=$3%#~37SWom5=iCDg()!_g8`0LH&|AtS%3#?m8)l(#T#A! zGwN@fq^{a!)^xMpiSdtQ! zehW7=%M-F@g{gYZc>>o76cl_mLVH1v~ z&e39mIJfTQ{XOPuF+vm#B>$)yybuM~n14(5zObW}bT~CN9 zvzb)}>JAx5Y7DV9wZ{T2ItOfHH!7{5ERmJeR~q$g)EawB!z%uwhn&71E-uHe}PrRLkt;*A}aU z%&Bd$a@M#ZIHLEM{MvU2o5GZN>rZiBJKf94^n0mkndA!BWx4-b^oL;w_FC<7T}(`6 zC&i%l$oO1kA$5?eXV?MCefiebW{@p*qd^;r)mOIIO*u+is4_o_xMos9TgoXeN08Qp zrJN@C<6e$$E+I8XTI|p*`4)zKV#%-9+FRu#i!D<0HpiNg1y+99#g-ba5iKIO;5F^~ z#EdKbf(vT73TN3%mykwulXuoCADPHA<+?IX2-0gvi~LGVWg)ekkroqNk0{R(P9r6> zwVph4bgP9;ORXQ#`5YT6 zqBRE`p-PTHlLh=pE-^{s-nD&T9XiODW~I@>3dH(9mh=Hd&=oJX8M{- z*m}%vU3<#ury_G4b9gP8G-b<5zpZO^g!q0&=(8+Wf2*P#$INJg=D@zO-rHjJa0y3) zSK{flMmgDCgY8|1oAIH$Mwsbhtz+hWWSTji)CGF{Gfn~a#|U|lTEv}dhlWA~PzPTOiNYqn&WGp{D_7X)T# zS>28V{({AOz1g4F#fT}0U%H|_Bc}7+mQBn^mv98@DlX{NA?n|4*~E+#mhZM~;#-7@ z4x{{Lj}(?8SdZj0-y7a)g&&s`=X`cCPM( z%1*31momrjR>7-Po+I&A;q;afvU7x-cR$rra>dv{V6RL)F z(Mn5-_SK%`$MsNnt}rzFi+xL#7G;!^a9+VvVlmn)u`a^2dcQLlR>Qiu;Jn1@>trHt z{|&vMAHU$d1npU-lX03s&S+&i?`OL+B^bYa!+D*hNj0pCtJm1=TZ>iOn6Wml3f42< zTbslZR$kqZRGEu*H3vDN3Sh@dFwqt){O0&^A)TdJ5)*4TT6`3 zsPzpxF~y<9>oxvdeaCt~c$ry`Vpckgs!`OsSnoI48Yrj}x-e2l$dd0bjMN#6=lj($ z$<`g*s(r+ahJHG&37=R!-94hkyVY;5Bi%hK9(1EN^iu+GhbuwjJj&2d#}#uF^?pP@ z#q9{{Zl}SRQ0Ox&UcFjk#2K5U*R-nB(VMy*meiVqp&FiNyc!@zLp40#4o2;u*bOS? zd_vX$F~E=>YF(@y9PI*>Idjfc6*y|vGZN?q-%a#;f1GwOsj( zT7fmpksIv%DQAQuS8zp|UOl)Fs>1**1n1D*!(lHH^U0B8^ENl*Pb;mgH_S$w9~qAG zFI8I2PmhE3z4=yYHIKP@(LB=8$=vgpb!T1E>Kwc%w{L9`fx9V_xJv;Y`eE(FN$YAirhN zg_Qki?+IrWMpicdo5$Qw1MY9kaFy#~bRjqEO?3O#>NZR&`rf9a>fXDXihfub^m&h$ zQ5w4EuicQ0>_la624Y6S%jT;s2&d5F?bo0C7`wL#8cmJ&&Y`+sGc=~m1hGe%M#vyx--qOD=82uqR+G?mK=B@G^ znM&4*#kkJAYUU>NZuRThlEey|xsF9nY#5D$z0QZek2w;Cx*M4A`5doGtJ#|$^{toR1?t}r-E#h?MuMAnp=EN;4{$e+` zU|@)fzlgpVXRnKl-s-VBQ(?=ZhgP=%MgvWF&l4N%;Tk~=%~T}qS!va-3JNs}k|`xi zdJ?NA-lOF+sMVK{h)h@)S-AClgIQPM2+KVhpap};Qm(%79u3v@%wN_7;Ee%#-Xnx1 zblQahde)EZ3}=`f;o)0f7EL}`G=>A2vvml){n{H}={LX5o^o4SSs{!;8L`NHz%82@ z-kUy!#@?>Id%3cw#1$s%Ca*=p*8PnrlEGlUZ=?ROwa`Wgw_;5dtfTX z(|*T*gbt|G(@OtVCXch5lC&rpFG)3+J1#f}T$oc@ETlaW0?F4Q>$TVZ(w}YhEnyHNI2{ zqB7f%_6p2bS`TB&AQn z_QdLPT>~5)FFf3B)DP13luA1)C3D+88R1*B2PPEAY1{jZ+T3pvG#N1MXVePi&E^N# zjx`UweQR|mDd2Fas{7W~9GtBWd0*YP$`+vs-&jAlb*+wKwH|4g33beRC)VN@DDZ96 z8dd33L2RWUDKS|0QtTyBP<7H}hA-^CwW?)CRRX;0?!NU?wagl+5T_Le-+ui=wS4&X z1D;}F#;srB1562P$UJv!t{Fj>Gb70E+*g|LtrIGqFUa$lm&?`#>|Jbv=U6Ym?sDy2 zd$6tk_w=p#)myNP>LY!Rck}tzd3AlQh%F3b+}p~T z>rGDcY6I#ybG=t=QQq6iLwR+h>C|>&GCa)q+f&G?es{b1^IU%T^@jb(u0eTbN0Yr# z0V{v%@Z7XHt_3oXB~VT_?}>P9_S>xnO0280+3!`udAbs3vBSvt7S@$y? zKkkhRK*t)wBAeG3)kv?w;=e9ePnFnn^yj`kpRmUrT)H;o9@*n=Hmg6mee0peU4cWo z(0+4VSOZXm-oH-OaqSkZg6rGE?4D~^=}tt+{%*r_woV9Q z(%GTfe`|AB>C_f0i8$M7Y;4d8SnB1<=B~1yyIbV`tSKt1Orfnqm3yQM5a(hctkCTQ z3t^gLcHdfUE2ysT1m8bzTM?^~Pg|{ub3aGw9)G<#=Zsv>mQz(XnRt+cz?kwx2|@A| z)ji8?LXbcehEmmiCj?1KBSkN*9w10+Z8^);v)=40sw-w>571Fc(=%o``Z3j^XC$8O zJNA3~*5&a`l8zGUOmh zRifTj5W?Tz)p4EWJKtm*^#jNC$uam@bopFAb!*Z-j~UkYu6^^ELwW})na2!Ry0@K` zK6+iuWUesqiW~LN+wZHzfg1H`ad2DL<|?y~NFK#eVvjC=nimL4R6+~%ZU*4FrtThH zK4zrf;Y{W+`}p1gP>o{S$Toso*B)K|G<+AUx8?=IV9*7+O9%{xbx*RW6danMu z$BmD?dT-@^8@0N=w^r`w)!$pW-zc$l0G!xkHGI+Aj9c6|zX}e>?{QCN?5_$CX<~6>$X>4%cI?gg4gVrm4`&!xqXa1d*t{V2Zhc|Tvhb@de9Y>!84*r=;cJRs z1^i_=1&$|nmw7V&V6Xw_)f0QO!VIeNcD&odr!M8hyDfb7a$Z)-)Yh>#aIFbQ}oH@E$VG88jkTYgO zleJbTXWFx=0tj(EyozrzVmn)qHbAxVm3K7ryhmmVR$`jU84ZWv9nCzi-ZBO2^?Z1) zsWXIuHoWz?t;-Mw#$qXKF?F-$S}f91sD?0b!Pkh@8^XW^Uvt)cgk$-FuQ|&?YnSkb zuQ_v$wM$63Wa*u-w;wCco3xqe_(C4mg<*(S&1xF%d_TRAr{%D7or& z5p)jzM2rvX`T>sT6Z8JeJwDg2-QDBQsMW2y0jVI7I|iBYwM}{Z>>)mtfa#Aj`Ly0-=6|R;DnPsia3QMuN{89p>}3#IlEBqp_5-` z=MHxYyURS_Iz$8QxQ$vP&k0u@j!*f`C>lrEnx@P@T~Tq_vwx+c0`y2H_W4{-H7X|d zOG(hpY7_x=QN3n|otlTI^W#$%FzIv!pyhw!D)_Y_l%*xY|qgrJB2eaknsLA>d zKKiRs@Uo1knyQfejV-k`RVV$r%(MV8il{^o10_hRlI7tvFaueRBD`U1QBsvawFMhZ zlBz6IrA3-0Rg;Bf<}8w`EI@_WVVRd4MT>{M>*T1`+4hu;Fx99|;MLz!br|q!{S76i z0k5{-tR8-F=O0N4zQ)YN&LnbFwANy@c+{w5t;M3IJ;&QIG&v z12Q#=xGULu7pPIqS|fIS+I$;{xetBXeDz3U27TI@ed)mw`m{4U&QA=Iv@i4|VN&bU zW;4byiL)z5CCk_S&8_82MdWk8q)(w+f%uxip;fdTnh z3DKZO%~uQ{y`Iq;+~uZEyI6y}@*62vt-)O#`m~`DUOlwm=nnSm7($wG@Y(j4+<^(@v)$L2S1ISS zp_@?2Xf3N*D4sNFue6n=1W^Q=HFw7mNQCOg%-;u85ns=o;=q0A%Qvu zUNUAF8gKHy-spR3{9mU1zlwCYVCNYS&X)Z@pZPy8KiqG4TYC2Ip-IOd)i3b>yf6A7 zG-O4u>+fox>$h+7`h4`f-|~O`TB_{fl0NbO#?r?do?q_yh_CgpMEQEhcmFzm{{01r z|2p>vJbvvdJ^3R!H6UBhv>+3Yq=9?iG6o#cUJ==8I$t)4<) zz6#)}zxQC7)(@7sN@1rlnBW!z}Wot&nf1@1oau6j}kN%yvmgc(d921%B zir3QhFa2X%#8%-}n9!FMpQIN&Yk!oyEk0DoNAmNhNdDLi*+y%Ru0>(mJ;K0Ct?(u7D7gEtgh5vPD-R@)%z+g{q8&GPYdw=RIzN_Y@r?G-m%GRI@d&AR9yF)(NTNwu@BXG07b@WAi8J4!L|A zt9#tFyCXI4$lrS}y{@NQHHm5W9i?ZQ`~6`4MG&8SzxQ5$#!IuuNP@?-)w$=Q_U=!# z)(3wd1lO-SX0#C=1&;k6{;%)xsHiE!25OvvC-p${dEwq4&7v*-@934sJ2JkQ&EI54Y=GA8d#CMVZohhDLme00t0_)2 zM}8pBaQM}Z78c6z5%pc?aR!fId*TzKEh8S-N6n~Xp?B3o|5M{hCyf?0kkEq`D zwpNk9NI^ihMiEZ4Ui`3vXiO>E)I(5;Y0pI70lp&7)zT2l zu7(ECA7x;lbIwZa1&cChoAWLigy-8`Y+dS8&Cs8PU%38;zdXKfz94Kp8(;nheak;g z9RKiO{KJp(|48vAV`^vaV!`+?0me5C*nbrX85tSa+5ZnZj7uLV7nPwo2iNCZG613w zI`D*S7*s+o5K*86uqJ4KcP61Ud9ox^f=T~G2%<_a8Z4b6pYK%=Au%C*d?aHa->f$99m+o1iwn&vU!U>2T|dP3J5rRb z8&$e=Tw7z1pGi!XiHTT*@?&4(AwR6oH>HK{n>m3%iQYT7!WV&evlIAf(6{}oT7OzD z(9NIM6Ko6G)h(>&;W86K{c3~!Wv^T`zw|Qm(E* z_86Kxr)D9()hCf1e`%C;-i7dbouoqwvQ7pW3+aq>C9o27L(~5OSv|TvIO2rm=YS+> z4;pTk_FVhBR>v9fiAX2*1^3iBqjFM|8@~T1pBgZw(Ay%Vb(S0RgqRoF6Mu9Qlg(Gm zHCjaLE(iTyE%8=)M=sE~AO0<~#Iz8nA>{hZmFfl9fvacw>?A3c>693y5FVY)IU+hC zLH-DX90kNKw9`!G$S3k(qoRMoj=Lb*_)8i9*0+B|ey@A*87+c8%#DXS@R?^XfFZ#y zG?WGUX})?3i{lG!yb}q&-;dAyD`&=Uu{2t+-cgY7*VH+1!QYl>gCVfGcsL^7I$xjy zAVXAM*vC0got|mK&LioJDZzNgSih`TXC5-uzGkl*zEC&2`HOzXmn#U26e$EjN&u2m zoqhR}-V6Sz00hZ9to%%}L)jASw2_Z)=-svWN)!`Dw8rlsEDk>1(N|E5UNEAQ z%C5GWZDSt-LCwkqj-2_$eq2_&k6zoGzzAlvkZbk`_M^btY+aYF7rUheY_5a?-jqur9{x~q;j)n`= z!EfZ*@}Yf>t|PclJPzr(%&Nq=Y>apU`K@m38(MqlIqth_zrI7gdyQ8Ib89sQm3l!= znf3{++JwTBg{$*7bj#Go?m^pPi2z7Xl42k5fzkBrIO8jTZUNtGxjT)pV`zgRNiZXF z3Q{<0bL&_Az>5+7MX$Z*L$4c?&O*<$ zV7|9Mha?GZ-R!dJh)Luy0AF%200^JKR=Rg5ir_8J)zalr` zNlNVd#ME~5Zhk<`KKAqO=tb=RISF?lfuJK;9}eI+LwCj)PO5zzIuE6-eYKML-dXNC zr<*-8l0oifzj^!l1W`2$EYj(P^M3ovrDDYW{oUQ%U+`uisPy=)!6p+ z9CsdI_tzuvjNNBVTIS4>27h~@x9J#8Cd#0Aj^^^gG^=d?;D@wEtXfGAal;>Z?+IIG zT6pYsW724@6`(x_NnKn0eNC!j5iYP{!Br)nJ$elE4K8l$?>ir}o_B~YC4S%i-RD_x!fw?E;J)kj zb6Vx0di!P9;@>wf*FN|aaYxU8z8+Zxe9tdPZA<7u)8WfH&IOJmD>DM_uQNc0OupFAGrhrL_HnjnF?MZSh=w!>hio%8R@ zioUJRF-^ITv8#HHcv38=)mZ7BrlM<$^Mz2KH76vn9#i=+i%I1)%GZm%eTM3{1lth} z@j)A=5)iJx){U7hdHJMdPM|^TNrw+?Ju#!gwnXxoPOX9HV1a2^F{mQpy^*=4;}P=< zhR_7{C=tH-wE*u=*0amEisEO4pE2du$0_KKgFC7&vK`EG%2&1Rc`~5tAe4phch!yK z@74&XigERbV;1*LQz?IO!8U;jKO!&09jDKLSs(kF_Ksjp{5{cy_-iU|aeV^$Fjzp{ zA_T^YjI<#X4gz~omp+l7KfCv=T2F4}4vpbH*#(N5Lpw*@y#zvkEYMaFq*=*j4)%=L z7mfqVuT;-y>py|lFyFyq_k4qE>T%|25}oXV6kE1a`;$BG%%kdImy*S?B0P9Mt~qlB zCA4EMqUF=4r;wqFAbd6 z+xDmB3+fBx4e@onlxT$VjW4RZ!*3(P6cV1s1v|ALwVs%oaJDCJ$Sxrva7uMH<=_|B z&c|aJ#(*)RXb)?x+S=fGOGBrUOFI|8&S9U*&kf9ZS(ZIiJtRIfo7EnXO|oYZ05&(S z**S%-$exo?4oNw6r&7X4Ne*~CQ*=nV4-W6ZU!gp$gUAcag3Zg1|tSX2lXPmP+}v4k(H50$hDAd$*q_&kS7dEj}#jFa82V_pBbOo%d*0=?k8N2 z(2lYvDkoYqmot_#TeI9Vo-?1b_1St1{np?3yob~9xj)0e-5vs`KlLrpmA9^cK0!d)s@!Ozy9U!#nk*IXC zs3()xioHu9ibslVl{#ERxC(A9@)kRbUTe0a{HzZZ+RJcB{+KaV2*KwF!pGcw4xqK{ zgSx|emE)400U0xQo&fqON-r`K6yk2>MaP+lsz@ z$rHw<%$3Xy;R-((WqK3l9o#kJS#$4k?0w9~=l-z4eZ2MJL)U9Ao_cK(w;kg!U8YXZ zbNXVRZ^yM2W3S;D-%8Yk-*YuzDv$0n=j5|p1`)S?J60-x#p`xmKN4r?%H5I}|3P}R zQfPdCOM9=;S5GwZMnKD{<->AqaW#8UBphdkkLSX2Ywi zXfeKFwwK#x|ItM+OQx#u>>V>N_^Z&`9rQL3wSj>fQX3$Urb2JK5Y`(!AB5I{d;_#j zNby}*9^mX-NhvR}wmGhxlgh$}mUo$&U3I5*_DVLigEoiO$T+;wnP zJ1iSu*8|=+7{5bnceUHl&;#($g?JYPL8`zYeg=KNJcr5Zg^Mo0lIum*fTnHR*MnH@ zXRd=!8(^v`Umjq0Kz>T{9?OR$i;)lkG2g{)kKd5TCq(G?JR#L8B=O)RLP!iBBRNo< zxOF9s08K_jmcl1F-!*>;wIPg8jy-^Ch~$xEOQtoU@r<$=(AptdAA@f|@e4(epwX0d zOWZU;@C<88WT_DDuJ<36{i$>qD`{geyZ@5b&On zSW6a5bXkiQONLF7G`9E|ThwLAb14j%^IMQG^}><;6=}jSR!H7C`&ed{B?2)M=z=I) zO67vqm1=7c--w&`SFA4aXS{BoSiO&0uUI2vRRUVQky?L^iSa52TV84dlnrtAAbBH| z4R!W#X(N^mdG=6^k!e-Vq?vjnrwv{9$WbG-nPKY0ctu96Y9qGV-wT@`+M{P0yw(Qr zOQYzF6wZw7)<)5q%-a20D@tx~9cjAZXuh13ydOXO zi2chTG)OPP0lTP2S7INTnPiPFX?;wq25Cb|8r0Ipyeo)o zDR9QCHXK)%S_(ba!)bfLdI`7h>rRqIi>JXs!a@W6B(S{1-eQkYagnj-c-v+6{6#ql z7H9Ty*bEK|PEuA{USdZ(RYbz!rU=txc#KTfQHrl%MI)%_Xz4nfZW}LiP$(3#c}(9y z;aJS(x~gh?fbSiw?p*z2&jo zR^GeidZpd^InR9U`O4evD?i`+vloWG`{9nJ7T@RcQP{rI^QF3VJJ5X_@E1Vf^Ri4r z@KL>gGBU!~?lbHW)joQjfil)zPVYZR%Sb08cJFNu|dnS_^?mCSRd z_lM-sXXzm5>PoGB{>zqQJ>zUwp_kYbgGfktXc#EOsjF7(AZ6f!k+Njyg=EEzgk)*G z@%&52SP-Z*P(eQlNqI4Mym$?wjg$Kn@Ih5~K%>C!&l_jt;2a1~%W|iB$tPSorm;(t zrv;`#dwQnSzj?~Q`IHV+lAR&D(n7#-3DL&Z(IyDx3DLY{(bn40G*Jp$PYF9h$_2C> zv}i35;e^;h85F|{ZMlOn#J~lNLnJNAGvNiQd0VB0M)Eo35!pM2M@G`A=Hm+udxb9{ zA$LtG2vkj3)Vv1R`;ihzKNTn!JeorBa}`L|UtJ8EJ9!@k&TTKje^*IBRWqq-9;J9@ zl;oVBBnEj!^Ds*HL|l4_?k0ws(tvpHYg#*2=^oWqSJRkIua%nyc0s*s>cufR{A5j6 zX-fNbw%&$e%shi=$Cn?)M3r5hp-hcFnnyT~scd^51g(>>RgIsqlvG#bejU`cwLjCL zVVA3DCUtW#l08l<>f0hNc;1wj>j>tg^PJbTa2bXl#oih&{#(LAgV5;y8A_(kxymJL zJ2ynz1UuYtC$XAIOUbN1^57<%7DB6o9# zfu3Ri%_f-~Q5Vk}=~q6au*>w`8WKM8hx{K~DgRR!<IPh9`} zC{Hi+w0e&UBbK~Ky_i8xKeJCI^s~f?7xC|ayb9g25d~CK;&cyKG~-lrPY0p?9?svJ z06YS+tQy0L%seEj&24cv?`tzX3mW0z5>hQLV>fGSht_W7D(>oPGV=D~=EB9fD_up) zB)HP0t_R0A4{Kw`PNk|j_Pi6Q4Eq&x{vyaTvkkc^LFZ$K!+`H=Cnqv*Y4&O&SkwL!&egdd$kEK0_%S79mUKaEER@Z$_1sPkZVhpHSiCtt(R27{(}#PU`aJhT%)&e*3tRSWZnr*qJo)I;u(uN!(_?$5 zi1K~$+G|u!$o$)T$2fPgf~3XB49Fm9t|U|vWME=E%wUNLc*3#n&B+NtyTY-jP6doG zh7mp`jA+^<-)IBIv6hffW1_>m9y}C?A?&WagM$X}B2P0IP07{ME;X>+Jxs7cYm%RF z2T;Saf+nCB$!&jZLLd-}@y6u#ojJ77Yd!uJX}e)gmo_JBa>w-GtUsEB-?AHXlY#NZ z_F(rgd>Z*Iy(Bw!-aa1C4tI?{_QD%?)awe>G>=`nNDGEIHalWtKZiO-)=#YvM%VlS zwSg9jQNv~7_H3z#l?JoQB!!_>$5x!cH)eE0Cu>D%7|}53{03K%g`M0Je#V5r$sKkn zQb@1(jZ?hBmcZ^E1EQc=IHP2fgN2TY&eD1LyT&%T#hdvI>H?t3oom2QZ?`F%@(6|3FWa}q@weTtt@q`9PLrd*x4F{3 z8rzF#wf8JHpLFq*Th-$^wWp<9ix&5@8UOp#pwdw7fnCA7wEg5; zx>tBfo-Dt_*VibYcsPdgQ;ej66cY@lG)l1!6AJAoneI`@5N(?Z98)x&>)I6KN3MgPS6UH+a10spiiKp1 z3HkZih7!b?nhNk~lUyKkyiJ5I8eV*n6J&$9QO69e)Ynd$W;(2-tsJa_KVWDMgJZrkxgr zhM=~3BTx>ykRCY_8~cgz(^5*9ir8Od=17s_j5)9r@C=2P{wfqe_@n!46~YmiO~{@K z%IHU@zc@$Vx?IOI%k{a72Y=DKcgQ9+B|l)-vkmT=66dxN4_2hV!vkjPP<`L`5XWLD z`%TvbW2-WKZ}OATBkettt>30od}PNLKsHJ`0f65+tR*r06)Mr$LlCCvkp3(;hayA> z4}B}wo!&M4dB!U%B>}P&=|LG}Sr?ugMj}$EZeheqXOC?`2&or3-~zn13F6h~fC-Uo z0KfJCy7mU`k`S0BbWM=}1jc~J+S-d(hYz2~T^`Fe3wOafDRT{?w-A){kN`?%AWnzD zG62F6&+OrT9oc$DuUYk=aEy@K6l*Q71M8S=4_V%_?REZ*A??K zto5CvGaP}?c+AC!!g@@zlks@&{1p5RW@{gOk0QI;ykm9b0_CZTMNNy?w*>AM{vplF zx=Xq<-YfsvFN%+~UmzoZ>A07tZl@}1*Q*UlZP$u7BtLvtv6KEP(5)9Xyl1ESQ~BkG zAJHypbPTCyan?d2nMQzHvia!x0WVj&)`{^0!xofz(G^??&%sT4h>w+=J~9?7Yc8)K&sl>+#I7Z-kF~xn5vA;o}lxe@596DW9Mm=pj!T84`IX zbXHP@YFpwzCPcDieSp~CL>FLqC%r@R_v2H~l8}me1yzN9WJtEohPp(e3f3g$rA(o; zKHz^-Lj}Y>uq+qFCglm(Mmri;QxqXq26}mfi1p!ko8Or&lrCDbGhvWs+2izK>A6Z-ZM|%6r;~;Y;(va?vlt z0gJL?%@Dp3yXv1&+RJek5Wbo}wpka!JfuU0dV0~T z=OPH9z38}Kh-xvhzr-hEUOga&t?8?51v3uGG}_5~dG0{WCSp%YY?u(qXGJt5#LrD^ zQ3LD({MoMlB0?TWxEs8E;TGrob->hYA+j3)# zq^6#gPWtrYH*l&IC4@m4d z!sGigp?HzKGHwM0f}EMS9clu;QgJl7dcVjIZLXoHw6VcJ3@|$t7#`19jNsYAGlV9~ zNk%;iCufe&YNdWlCWMuehf83AB=>88W&kq5OY8Cs`!u^CN{frZ!$rX$!bP9ihZ8a^ zd1Jd=CHpkR(2yfLxE~rlA1+X^ z;iNvpr7}!Dtn8+H)6Vi(a=S9*dE&5l@`uOyT>Q_`sk^6CyUSR5Vfcyd?YNM9ULwN> zd-;8tCUg_I)=O5hk&**pX66XfSNuHQD>FYNOGT>f1l*nyets^KyU485P!FdpC|53q z&g&`83O6(~W*Tm>ooDGP+t=#|n#EnG=56nF((GpD_+R)AsiLzt$UiV6sgvreevHBy zU!<+#(AZ^Zy)BI2X_twIg+1f(bM*M9+1BhP%HB(1o3pun{;_dd>MS^@gcMfr81LMG zO1)=yCZHD}h!-Om5hTW4fr0w|8zC5mFC5FnSNKZrKHl#Q3pWQZql5Pi7!?)U(ZIgg zch#o8r-3XDXL;4t&2NKH!R?g}p-5B?=3SOlBVtwlfBDK|USrPjXJheV`FO@9>DZx#W9Z5oWqL~d9 zS3nmcA(jy+1d>q5)Wb1aI6Dz2jKzfPO92-ZNf8umGo%DXLPoU&!eV;up1iA%p^}En3d@t$yv6iby7sDJ?re5JesS@5(wP(1d`{$DyAKsZb>BGO=+jEfi^9x7R zm;vzVj4~spSGEV+KvJoy6Erg#uA&qCB1>HpdNcZc3?3ilrLGCj<2^3-KtvViR^`di zg2hHd2<)4k{_Q~t8_8F&XK3R#t$~IR{*dAESvy4<))G20q2dVTH4=l;CN_gdJ$0%U zXx;v0Y^Un@;5p&?9R&Brg?9Yl4O)ZofT5Bz?+(Kwp{oz3zNFrl`l#w)>WikM`JWXJ zJsbjRgFt-Hf*vScuZSel7u&<{zAnj+NYK)M$xj#thLh+L+$Tp#b39oG;CC~0%SbfH?zJZ+Ww%u(>~uw$;!~}me_v>g!v@Vam;)}0!(KW)pK72xR^1*$Qw(VyT%p{*O_ z;dOmAQzeR{N9dZNs&oah&kmo|v(!)QP__*-h!&~3qwdE3!5;SL4c4lcY^lpcCRBfX zAGnCttGx!J?4!)-4xEc*vTvgBv_-$YP+6el@0-t}ki#`F%5E%jF{fz{XBBJX?kww~ zZlhJJ-CRpMF)9+1rIml{`ZZT>x&CIZhxsJGU23kNL#lV}|06vTLhr2e*}gJp zKik$xhb6brsL;Gr__j@Lq@}jMb=*k(9sj0~dONvdtiGIZzYw|o_Z|t}XUSmOXmLF% zq(-MDqFJd>7@e=F;=VOnwGxFVmUueF!UmBfH4{{4{!Zy;M(Qz*t$6Jw0p8 z)sOpZNL&5k5B+cU8ki$IvwpOhXqom-*bq%QEIaO&OQ*3)O~2Odx*?{(e+&yvEx|OQl$T>brK)_ zb;(yyWg4r+YilKYQDGakkl7YK${-q(P9%Af9Wg!jyF*K)WBM;oo~}`-m8#__1JtY8 z&V&>qw4)eqevArVH)uWzXcs2c{O#ENk<^0^qaQi+87yS5!4GDU;tsk*h=%+cjjAfQ zB5VZRSLb^F6yLc(K8L7?3bc*x*B3V!eOR@qE%XEXyYr^E^P0U5a>kZQy|smyJ=N;U zVVdTlnkDCSEqkjF)a)KT=k2u0HIGBhs-;({FS+s)moJp*7vj2AeNI~|*1FgGNh+&s z?P}IVs~Vkg{ch+!UNe}4IaNctCH0bFjQB$-#b&fhn#EL01v33_qRj|R*XNW5Z5>=R z4C|*wT|GnEJya9HYS)TZT`OMz$>u5X6AtiGKw9)te`#I-Fthlo=Fk2@v0csX0MS@1ZX#HP(vT*=8D-_yT{nqM8>>iX*?< z@z<$PAO5EDGI3M3am@v4wdUO*RtLSEYq~KXKlplWm2y|tdX83B;hnK-{n~E%yrg8d zN1r)gjOVcq4?Hw`*WA)-p`#(s3vI@~VBIyJ@l}_1cSG2J@n<&e#*lmdWBEQfv zW0za@y3gQZLJv4Dr`&R4ZqMDsF`*Knyma}Hr&Q!*u5e>|hgG~dUrTm-o_uQ_FxMnYF#6eKS+W(xB@ z-oLB3DV3enN26uLP1pDai=*|#-p&vDo4JSW9Dk9sg5=vN61`}dMs%5XM<5^aBwiiA zUt3wAn*)U|Kk3izo&Rkk#Q$h8Z(>=ipjFF$FXky)BA0jhX7-Xug29^-3!mR>;l@4~ z=Cb~yW8$d&38oB=K`!sU!0H$!jlUeQ4}N@PR=P_SrP9fj8yzoc&jwSo=k&aCz zwF^s|?W0aaqo|vv1LEA}qEqUmX|1J1syO#$8rN!+4m!8n5_b+;drSG&oPm40sde>` zW&Iz=fWNk_e@xt~O9Y3z(N`5|*A=CU=G9Ca*L3K@=gG9OD@;jB3*vEX1r5JgT$yPHuiFXR(Gbf{rMYOf4c4z5HSIiX$Yl@d z#_Re7G((l0?2YThS+OW*C~T^zhySiaTU_Q=i0mq;7&}B)c5T-_vkA=GiQeDSvYGPo z4&HI#LNC;SS+lnl5{2t;pzbIc?gM07Uvdm+Y3q`B4H7M{V61}%YnVpsgkL3`+n#iQ zcc87(#>TR_7zZzgNuj#0w>O%sBj?C;Ro93Px3@bap0~w#dFMLRYRBTFS4>BdP}@2s z|5YpTm~Z(ViL-8U_?cdb$6=Zhk?hoQ3CHSlCWlkgv7S1fJ{C%c;uuo%?V&JEX})zba0llxS3S?$xaH6gN;JhJBn&)Eo?>+Lfi_6DfewQl&c`nL`F<;e^PJ*- z6U$NyBrgwb8w8E^0lGK}f#qR+^b#wpN@UxhMV|r+Qv9sZ2#2_vbnLv@zGE(3`hJ}j z40vi$5(QbDi#u}|cU>k#8Qehc@baW(;~z$=3P;sH7kfW;f7e5yBQbnBw#{U~q{`Z% z#+q?4@Pm-E^d2%p&-Y(Le;MF++!;yhCYK=ZFYfhwz~JW6P1_)1&Fp1^O-btF%AiMI zST$*0F1no$F{jT)!x6i^YDlZ5=GHQXMJlH>smQrOZ%1i41}eHfd2#0>QX~0H!XFEz zBi|AK0h^tTVVqadG!bmtA@U5l4qTp^|@|K;_&gLpUIaZxvUzu7@Cd6I0w z0Ihi~2ks0ur(!c`RrTDWqOxB@*QS+~X6U-`)R|955@#v7q9*7xpCpTHylHW>dDzDY zeevu}IvR}}0P$N@1TDnt=M_?p;nBmaQx*?{`N@so-Ax~-Wu`DQb8wJZ8Zo2u%}#;v zEvL_@gQv$+-G*ViVPCVI`+h`B%+b-&gV%PyHr`_(r(tq*PMX;jjEo=)G?}ckicy$c zztvIiT>g0Sf@SL(?VU^XC>+L>DW|4CA$QS|u70}W_0iY0zgU-bcj$7Yi`+Xq1k3ta zf)!v{_(ePHOuTRN@^7M$9=3pc#J;n#0l)U&JX7se zxt4U>uV8wMlygA?eWc8&Y5;IH-VZN2UK~HFo)lZ!y%)cNC;7#FId)4W`*H>91Tkq& zr6n>G-F{}$dH&?kO);4t5cLt#QUhS<>=A!s@w$;T4CEQdwW#AB(Sct0=~32h|A%uf z%YWvaOUT5+_<#7~>L&Eb4KN^zTz^LKrU{!;*airrMz*BmLPzvMa6FM~5Vtft!oPak zlu;u?XnSR4E?(R@ds|jR^=^-q!-K#MTlKHf79)D$#+r&kt^IZ=djE!K95!y#J`PZ} zh8Q`+4)7Oog>UM=679ez!1O1HHMxN7sCC9@*Y5o4gR%wc%K~SCcbrpwQ|BbQ!Ci0V zIwP+FWV|~2)ZiCP=-Ak%%yW2`Cluo)E(%2y25RBTm4y{7emxANok2X(QnkmA9H7UG zCZBp1Q7fyOdQsmOYm-mPbZo;^hElpsLX49s^BUj!319n2l{~{Jak+T^54*Ac-|Qx6 zXJ_x?OsGxxkB771zei<4dQ~M!LV6WX2h(qvv5Td>-G7NFEnHk2xajF!ES&7!T`WwU z-7Q^=E$Hl>%;~AVElfx+Wbb5R>h#?k!@nQhZ>MQOmTxvoQ)8EJAtN&U=(8j_upjN`&;XrY4q# zLiQg2ZG1LHCPH>jrhmFpFm(E^NXW$TUlo;1o$Xznj7^>YHL$3Mi@36jp^NFiC27Goe}{>Kykdl)fBLKdd~K4l_g{%4;5kuv{d%zsY*X{X?1Z>((k z@2a9#5E1*HSW^!dLV8JCLvvH1|IUT~JD2>{@SisSwb&HCYkU`>znAPkUibgp+JE4E z|Lt!7&#iv9b9QkuHME8H$f?#{k27tz^{uV_eGIg<^Z^X|gX#8=vk&MsfY1$b@Q2M8 ze}ZUk#agjT+nEaqv&4q-$Yk15xu z^lR|v&~Ef#9|*_u?+Ew2zdfz_k5nx`nmbCu_WCAYW+O{BZxwuWzYIw zfXnBe?mO+n`&K92p2x>l#wM73xh{)xCN`?3P3K7x%W`bC@`V~rsjA49)N?d5S=yNv zsU9avBJug9Er3?7lJ!KgU;SZaXj;^)$mY7$K6O#7rS}(owo1G@{YmDjdThr+=kU+^ z6~B*ra@OHcqLQ`dg^|uJC1zd5rQEEo?ZsMdHbzLpvT29k5t3K5Cw)-n#PqXV@XMJN1BL%A^DNhtZE z?p*I4A?p&&j{NL}2=xhM^a%`i-&oHQMr*hx{YL$gkR|5(Cg8uPwhxl#9YC34Pys-t z^adEjGTBtjG(YQdRK!*ag*HltQ;%b8nX1uu)K3|Y1V%C_5Dmz`BmZPkMY=VGuY#W{ zfv*F}i01r$^cYQ-Xb!#~>p~lY+Q5(hfKDiXSOdu~_%Rq_QPiyq-UcnC_EuW$*bJq` zcFF_XGpJ;2q+iuri)HwP{^N`eEXSf*8+3(L(YOck!>ri23W|dfTqY|PY4&TJ7IwBeJen@H@13z)HF7!jt$Q_b}Ue!@P z!R+Qp=BW#ZLn#+1Vn^X_>jN>>tSV(+Fy3Q|BtiW8xPwHK?>cm$GvqDdj>eMGXdtnm-2l2n*JQ%n#G7ys|Y+1Q|hzWHtSmH>@=>nG(+sCa_$zf8sUr+2gxdUve_la@ zg=ruqv$~Wnnuy3Ay~`R{4f2l3yzri*ATpz$a)Mx9XMrztY=$&EjFjR?_E}q70-_do zcRg5&3`(#IzOt78LP<3Vp!HjgtWSgk$kyDg2YEt%?fi@eL&H!!2_@6F8We?Yjtcl7 z>HtP9BX%LNitT}~7#+KDG1Y)rd$YI-RcQ-#`F_B(mJV-nKjeEwxiUbjyy$0wX{l;JW3f=P>(M%m>qUVrM}3(^ z5?4RDk(r)0^)P0_wQQ-XBm?8}5b=>6XT&dzr1X@ZJ&aS4;84b;Qe-Kw!>tSDp#CUyAit?)_}y*N?pqq0 zebEB_$At(24)=#uIvM#)(-cD)eBIh=p{ZI&HL+Q6*lGKhw$bT*z)_rzA?4c>uXAW*+hm*JvuxOlAuhrpOi`<78KsMd(k$%#7`I z>sVw%f8x4v^_!h_*$m__!UD%jhSv`vAUxO7W+hi?+hJHHk5Ejf+K1?0dOz^BNj`|3 z{-)f6c!WbB-MmS=33X$U#Izskv@%|GVHo3=G|RctFLWu~C(XhtuoO1pKfmVvY)o4&dR*sdn!knB2D7(e zi9%md$F^MRtE%hmw#swNzBDGN&>xk;m)7^Y)=p79X{wKFmkyi>; zOUV#F3zB`=Jb((waltnYhZ@s~S#rv|WFP|qy2dD^* zKEF*T_JKe(epYp$?isIpPR-UfXTT(xX{>v?ydE8z`XMopRCfw6jo;)m9j zM;i8@B@O*ckJ6L+aW|Tz$U<8e5;H`gVj+bhrTa33rx#mXNke6qkON=DtmuIUQHikw zp0l>D0T_g;gfpHiEl(zB${LAMkgydkPY;;N5gR>`oEu6b-BQU)HF_PV%Zu z%k}ol=V%GqP|Xy~qyS!CHzN9j=!Wg!9VMpAj~GbEX6d)WH7>W%1k@mTNL5uOalr!6 zE~ZP&_yxrzA)>XwN0=WVzn}ExW(tI$1Sv zO${CjKl~4+S{|WIFMm=QL39dl+$Mc6B(sNR`itqJi*A{N=2)Y+VpXEB%qr1q$+(o~ zLoDi{9Mvs$;fu^CJ?LjCnKb!}HfZo&3n;tJP9eVqC&_G1n2J z;cDS2g)QTnTDeM5T;pLf;#!MHtv?P@h)9BfWxWuRA1jG$rB9l>S(Dy$=FVxDqC}SGgHR)R;AZD0&`4@%H+qCgQ6sUZ-FD zAZDQ3kupDx| za~S0dOj?`AAPwD-B7*<^4Te6JId6)!ue2_!+qs5m1b_mhXvB@*q(q~Io6@Z(? z;d4tL3-;eN5;iN4aW2zym}m-)Bms-_tVT?EUGuB1Ua;e5!@+T=UgJq1E@|bWqg(jc zGP#QWlJwuuFUQc#K8&!az$E-ziFZc09qoDE0EE`Q*Fk7GTN$ujqHPL3RXpl{oq4ekIK{YMh(DW1O z-KesrniaQ4b=~5uWYzQm7$a-dcA?frHOX~ova#0B#qI++;{Dl>!HX~!C)$5FA1o2TiRHdvHKz(ADpnDJ>m^p$!pxJjz@2>qPMLhP(5YIM~^tq>B=D*skU z;20{&!fK)kI{h#9-YO{W;Q1HDT@oCEhT!h*Zoyf6aVG>1?hxGF-Q8^=1P$(Fu>_ak zvcMu|fB*lfD|KGZ%e_^%>ORbLPfyQm%{=sXr)NIhcAi1T6x65fH}C}@`U8v^8YF(1 zT1Bi4i~5(IejpT{uhNdU*>=!Tf_hmH|3hh7O2lkB*4wa>=?|gb9SOQ$^*^Wc(l!15 zjBKxbvYc?mIGTd^#k?+*dI8F;N1~@z<8WG(tZ0)|fpj9%;s|&DzVd8UQyGN?$yyP1 zyr405*jK3N&%B{J(&w@iy%&wtIlL#RTax+&e**ux& zJ+vF96l@9$rnf=Iv;df`YL7$*UCO4H* z?oU{#I^~9uQV>HeBz*R=YpmS3L?5n*f;7IBb&lCI2R`luo8|C)h*cfI0&Ig3v#rk?Tp#;V`9f3l2`p{6o0yO=&gM??XX5$ZmMPon{sj`*? zw@>s=Dvj=K^3G@V4dm6SZ2`+x=`T1Q98)30G3^tTnW|gB%T;=H zqWtuU)Cddf>(`Gp{EtQ_Avd9 zd7`K!QHTV_5E=#zj?rz$wBkE2{| zD|3PVLd8CHATfg?_s6fj048VHLfR*wV?6B>sig(K_9kdPTVDqbv`s)!(P47bdl;u6 z2HUccr_ujbH&=3oDR`vaCbFL}9tUYEC_%EKqElX_bSdaw!d!)w&z%FP-ga95_U*0Q z#d3FEf?evceL` zvx2QZwR;tbl);@?AwKny+)yOj@9%e4?w00?yeZoR@WeA4HB5^r$&0&%6eik6SonOP zV$X0hR+T?>k?F-Pa5(oj-(NGrdl@R$ulski6FncPHthXv^!Qcq<)ohuZ>i?8A}+>%%|YoszQI^ghNi0l{KR;Ws9BmNu}(JPKRM4R@7t&`wOS+3 z6-3Dg8*8psN^;yU%@q{M8&l13zWxhi#Q$QB@xW1&YDbhzrUg?V zWkt8@H8g^35g>7NI{0h@C~t0$raWo%Jqg8LSv|~R@poE z%$m9W!5X<#21o?;=laQ8|J)?Djk%J&awPa7FU4{pl;xA~^VMqIMd-^r?eA`}&v7X5 zGwULuO9TyzI5iNC3V1$oOrb_(4T;KS_@&H+|D)W3$O_8fWtCAiQj%-olnb!5;FtQf zHjp&lVugcKYy)-R?g~BT;g^CI3})~ zWgx|>s+5m9ZN2+M;M5-AmtxWCUO859>NA&v`n9c*w&u1QFCkq&Kxb*SrlRCk)PWiN zf`BV0r*uI`cxS7qt$8OWEf;Vx2kQ^7C@Eu;lY8NEVD?p^NK@C;Hax`?7AkJ!X z0nh~jOB_qEat8yKrDjf~!g^bC$VxXRPcwN`J4)#~i{Rs}zZX1P%eAWm<^uACcOqY;B zK|S9Z=;33YIGBG>u@QcbQ_5ya*0ND9OUuS%vaaY{($uM((oquYzPnshb*X-tp?0pQ zVbl6oS(bpB;=)70zPMr|Y92{h+-hlb|38<=KZr?1-xZN)o5(SgzR*A*ADE< zM*_g~lOTu#f>UX=gh>Y47!=ApIA2premrDY{8#DvhT|A|wMm3I>ixn3tBhDldV#z@ z)*79bf2?hHFaB8D%!f6%S(bjRy_MjMHk_+*-a{}vVHE|eI*st;1PzSCpj7hsahu9! zu&TxaR&C{){c~7Gvh=1@<7B5C%r^T6F-5iXj#T|`Z6hJ)(B@inm|}-2r`MQW=v6$N z6~hmzQuNVttp6yhpjvivZzEX_u)&UP9rv8IVa*cq6mgr2sPrVgdUm1BMhq^YS0=Mp z4q5FEuf?2DEo9N;1@rrIjBg*yf7S(2q~WygwN+rWzS^r%*i2aKF;As9*63v2ar|2_ zUs(;uX+3As!nbi@YB3K|nYS+JWouz6E*p>R&!K5CZ+w!&=}P80;anG`<}zOqQ+FJy z3;LoP_4~dQhozIeaPckY=c}>U(?hk~pGWOZuGu{U11u@ir))gx%3iIeb0-x2aYEtF zC08Hgq}b>`{Xg0~MM2sP1(dT7Gh**GwXS7x|84tU2`2Uz97P*6WaWN2_|V#ymA$gr zUIx6DRnPc3S-zLkI-g^Ix}p6Zm*Z!kYf!2C=I^+#bX`K5SUe5HKeUn*aMPAtvjj}q zB?>I*4bzE#{0b9K`Azxv1P*Yud2CawX^P}%>1?MeaFZ^Q`_tDqHbC>-3FpT3Z|=5V zFwJfHVq0s#21}SvUe@%G69PsA{X3f}lG*E@G`KmuBBSmKj1wQM*bJ$_#E?}MQ}?Ms zR$G$|RO*S;-{I7EX-1o<=_vwc?_aKq`cavP^`qq>W4a-1Ce2X>46Q?V8@M_mb$Sq^ zTxb`@k#v;~u4KOvp)~d^f+RA*-m?akpuAT<+@Yx#|;M z3w?syxHNLbwiIR_uegEpn4w{^`HCc3QO547m-2 zgXavF=cNGYF$|cf63$qJ5(5s(}-LEIixoKz5oKGNPwBYX+6q=d_B}66CuicNW zql)KHTgU*#oD3F6OM5RHQ8-$NUUt^o#Kd#sR#T34q-3#3_x7*KCOlSU?$+BDO;!`A z6F86h(8e;Ck{uYjlRMM*n_k6OiZUtqlhpT)ScyILNK5z9{LYZ;txjd#PMrG;P7`FtD|6 zUUBq-W0572=;ZQni~MI0Bd*Pucpd%By5sqW)5_kbdY3xL9i8|5n8u1ly~OBUsB;tr z%8H+Xzv>@VW8hQ15fI2CMxR5UB!!MSIb^ER`+avlfs{adsRK z6ZSMH%Ra3~T=4q@Dsnq5CgDy@d04rHQvuex5sRe(t5+L_y^HBw9NG47zl?n|rfkV@ z8|){^p*Eg$ET_?&OuiLli^%S{U()=NjcS1!Q_G3sBg9!g@z3-;k*cU@dFuY^tG0a# zT-^=^RrX%SW1H!-c~)v|-&JzXT`_I6e2TWr`NYf|2#Namim_W0>EYXwT|fQttQX}q z*bT^0n8GDqAa3aL8E-R4G=QM$T%u6CCHX>e&kU%v#igWLi+rCR^^U$`86hoo75&=E zl2yqR#f6DvlS-t=fC%G>XfYx8Z*1QcmogV{V=?^BSQFQAHOH<5qd}S&=G%H=QUrd4 zWA!*_KeaZ|m&MV+H!(#B!891&&^Gk>&R7Z|*k4KbqWJsiKASSE?NFoMg{mKwdxG1S zYziZ}DU7EaB$p-jBP~8EL^fnJfvh~`Z&RLFd3tBCOr!2GAO#aG5ZuPj9_9o%fWq0Q@qiRM&dT@%fGVc*Wp_@vw-tl*M| z-Cn@n)Y#KpYyw2IjBDc9YNSy&88t5*%8s;%qkjCrO<{i|yTZF_#1=Rp%xW9DYzXxg z!wx_pZ!9kkJPY5N^t=d;z1H{nWnQkkXLCu9>m%VM^eh~w!)~B#Y@ZI@iw!i$yu}=4 ztsXX1wGO^v z->Wuz&t_0hnfTqqXB+p^_j^pi=)C6Z-=FI(B3Et_VaHF4jJo%q)Yq`*`<=o&A}hF0 z18^=8ACw#GfGNj!2-`eQ!sii+Ex$1hbL@?VnlV52W*6sADyQ44(yA>s(srixfgBnz%xrluZ z_N`!lm5;NMN+MhS{JsFBT8UYUBp<$!#Gvtc!{ZksDz!<~{Bh@G;G`-}`tP`OO)@ zo5z_ydFlu%#lPeJVVq5`ccF*K$w_7L)%0TjiKZz#d|Xu+4%)Lz-acU??FS< zUn4|S-I^hsAuwrsqUyA>D>ai>weK%FZUCCEVRiXcqi;^spCM2@vhiEAVSgGd3AaYP z|6Z+40JVKt_l5R!DSMhWWw2I)+=6}YI8_9IqIxw*X=H)qb_08B1ja%2Qjfs29OAW;is;>k z+_aYcZUn!p3QlFEohr-nwgx?G>qZ(n)efNFM+T+8{M~D$S?dZBTH>?$9(>wd4BaVvi9F}f(_f@?^6#7CnoKSZ%fs~{Fpa5LZk4~Ea`yZ z&Uts5HaEp!v(J%ggYy6D4W>Bh8YtEHdIJzhtc$HXTs#kQ7f>cW57 zFA=O^1?UvTX=R_gqYAy2?FL?m^zEi5^u9i5hG_lgvcK@^ri$WpHLd^mT*~|~DAH6q zRqS3Nt3SZ6a<_RC6J|`3{lyk)tXy{l(+3u6bWqZL%XGVQInKwt>FQHj!TB>uWxC&! z7f(*B3hf7>D?d5Wz7}j|wgr@BRi%AW9WQQek7lTTr`n_+Boa^NRbg~ zUkjwDPST;HNmcn5>t_5h&eYK6DP|o4%i21hKA~z+L zjCe*k+@}BSlbf7FX6VNE!BNIBU0dIO_K#0B6ru_^4>=r^V|05-+A-0i&SrQds`7T0 z-wpPunJap4d}O6@(#H9{{x$Zm!V9z8<~ixCX*>U=?~nZAyrWoK=7p}>+RD|?hEd$1 zd27;6r$8W>I|Z8n1O!XL7ZiGL(b8X8&G zmBJ4=$az#2te62Q#+_YvjsS=Uw+n0o+nI1>9Y|9(^uN?3@jm@ zRkBsElft#!%Cr!|2;umv(gvyND=)b)u#`tlt8`+sj<|?~=(V)(g$@m+ZpwWJGPJt& z6#DnLD}S_OAd+)cDz!7)FFT#aQKupZCE!UiWJ(VqiNxsCDzZz_`Ks&GqI*<-oS*qG zIwpjeh!b0Gn2r~3U87T5`~2p5oucF^v~yXn7e($0cj>04m`t|xq;^rRsP1(zp^h{2&=_vDcH?dg3!4ijXe-6&_BM2;)1!J2-pvPU&!wPjHI< z)%(=us7swQwjvN#OyscHj(?oxT!@9vzs>Pt|Fp90Q+i5&KLG{L-7825rp8DHXJaY^ ze}rJ9U&pUz^u`h^MiNz>tEilsl28)vsdjB({!H$> z?LLqA+iDWI0ZjT(coxdr2Iu0qMPDPrl{pOAtPg`XS z9f+H$aM+bA%3_jPs1ebOFd5#|%5GR2R7;U_4183krAT3mDz3RH&^}?i{(^y>6A|=w zmUxjU@q9MxVm-oH{aJx1r11H0y^vBORkHg{bq`6CQo`3sKAUP9w^(%dkYgsXql4=A zw%@|j0O;jTt;96o;`03IHB(@30iBa2J${QkPmW5xcmVEzTvyAUp!=R6(8f6 z6uzNzycBY1-cWIj3U*_?KmInTUihY&v?G!&!X1diX8;Sa;vPhCznRJ0x+LDg8NZ~d zmO{lMXHHh#?^QKys|9UgXt`j`T5Ml3*#GD}on4Zl3?;5z5|v?vjr49^DK&q)lV0GOylvPo#?s zVV1SB4t^Y_&aQGCXbKeK7Il`@aeth_T`F_3k>mr0zN}O{S9v(c--BSm0o(~CsKO+Q5Rm_k#8I}G=T#>bN7N;n3cT(qVY#?Yet7gmzjBWlw;%i+@v zt^CJ3c#c<%z0D`YjwANG-l(E; z$l(4L1cbo<+h0KIa!fI2nVmBhz7OytDCudW1ha@Q<9}TVooW&`gMjQ zPq7k+udh+xgW8e=eY6_Xs7^(&sy5_TFvb3jx`%2hKmHV&;$ZuoH zO;^6=EylFhmyRwgPqZs4FL~W*#;UPofa17&rJG|AwV@7wW13g@!#gxzl=gv%FyTVWt?C12T5?O?c1ac$$7(Ddn2&x@e)`_3o z7P+*BdtXC&!^J;i*$$sYW?nmsc$!9btU(Yb{3AYj9uZz@(F+DO}mH<}4n-W2W zuz`i(EIZ|#JyVXYe~cHFl#jpA11c(f-33gY#maQfw6N+T_K@hla zDQL#;E|J?9BMaS&w)oQs*U$C{YV*ggiV!~qr{CxMjxP)evGfbyX-xWn5-01~!hF%l z43vYFd3B7G7OS?MOHY;upLw<$^AHO{;!r4a$|ocmOR@Y5uUYr?YV^iA=IYXlk929W zg~R{)I|2%-l7vbTSjO>dknwon^Avf*jl3d4692hDmK$^oS#s`)8psuLHNhPvgo<#~ zmDx3zGu27J_OcGUy>z@JAd1O{o(%v80FgpR|!zjQ<{hdpyK2+niVVGft1aoRp|ZJyDx4yDr8aN(?EEre-7Au zV5!?ye2&=ch{ki>B)+9xW3gu1k7KNl6D*vI$)5TuEtYN(Gk|qnD?KtR+MKUZIz{Td zwdxB-VGsXxQOaW4j^i{mNpq1Df|+X0935#!|EKLI<26pZ#y4pOda18Iyh^ zCq(m~IU=JsSvLwBx?Mfsnt}x+NfjQ?n+>O_qBSN^J>`Py!-EZk6dbR`NvNw*08D2Hhu!YKh$e}&7QBngGj~mP>-CvZ7_@3d(x;=J-bJ|oC0DNxN6vCUrh5fI5AW|^EuKl1=cQgg zQrg5>(_R|qQuLK#HfavFRLl2*SKq^^-cGYB@%iUscykU2BhN$3s3K#6%Z2|($m8P} zOBd>u%XfXBXZ8y7NTmVGf7BsNeW?&6W8Ixaw|pAaHR|>eb!+>mASJ<%W#lzLrYfly zcA84rb+e4+yx&MOtI1)xlbO|; z@o?}kfUIl2{3Mp9auCJrh_$awEaQx1SU~fiWa(u%6HDafpE$#Znb8i<_l=aZ4o)V-ZbSc&2 zYP*ZCi-W)L51k5P#yj=lUh5P{VF6*iH^=$Lavb_zypH-cr^4*Nb6Q97|W^S(l}lj~;K zVYJs4wIt{OI*kfHkK2HQsa_|JHmEjE2l#6N3?@n9*F*2;09sp_iUU$^B+q=z^_(O{Z8vge8A2=%Vcq1x z^Rd-NMrP~^Xca_z#v|LC*W)p!OVI9==8co!X)*Kq`Bz7f52 zJz=K|yn@{p`Eg?gUORHqrmFv-GlEmfwi^DR8y6XtKFgCZMCyNAOM~WmCRdD9GNNnmEt73aNXQ?~q`j3e%{!k}| zTI@+P^ivkmasU11Lk&ZVCElQ*|IfA^O1-hKC`DJi@nBV6M$4>loXnGG_|4wAp(YOt5M4qj*lbHKac8s~#NPasxp z7*5V1SW+Zd<7_ZoW}cFNW0~5=QX6WaPk|&`FyP7~WHx?hdac@cwlDT`X{LQ@yDPgm zf}^9WMXo_nrs3W}>Kt@wBCr&3u?q0NBz9sB$`>gt{op3lPDXgh`H=8KZhr6l!?vdk zkg<88_Qpiu=|jO9F}Bbo7u^WN-U?LM@fhxPfe`#|$$%neKyr@d11Gd?$EF1NaM?7) zkV|2Z4lR}XF?I_XF2crOezG5vR3)c`c)EYfQUA-B1Lu5FnB9Zzlab52Vq2 zsk7GoJVEW{G7X?Uz+vuzI2s9ufigbIwWs`+m8Ue}Ghfkqrn@n=s$xaf`Zylbx9?kw zT;tHA0*qG9ZSb@|e9#Y0tYc#LfJdI0Ti++1na-bxk6-6o(m+^yv00AAC&B=0jhk^z zhb%)>Rq%KdC5?LxSCx>DR-_=!Xs~{R(lv8jt0SBztDA+`*jAOCa|Zr8NWT2{R?8j- z%rWKHSW$-lMPfJfM0C|=PnLRqZ89lmb`aPk#j0$D9PI9iU=`i5i4}l+BXMB(bJ#92 z^m@{`w)q72c!k)i{d|&Y;R4RTnFI06e3~s|Mj1Lb7kcdYe-3eEZ`YOrH_56oO`7*n!D65Dem&(M@%i8lQ$G}1#oY)yer;Pz%Xo$9Jqr*5;5i$O?w9}8>%>w(GeM= z8r$C+dq0wFAHWhyAq^r6V~=)-o@pIzUwHmr?SUfXXN;W%i5>Flj*~kI2#PDi3G8XH zYbpzoxmBkNpC)Yfj^zP^m+eO$)VF_%l@EmB3_SDA>P}J3Yq_Smyyl=9`lA@^^VLP( zE0{?_-Ipqci$6L9m=M0N-eOnbw5}i&7+)cAxa(m)JaP-gMA+v#bBvJ3f}j&+jlX0$ zMx?xZrJ8?8>|W6z0lfvnF}@eT;Tnn8ZRb!NuI1OTcpW7Sm8=s$ix=1S#Ks8Kclnt@ zDCdWAJt(MdEk34;y#o#*`+cxEfW9|Tz8M3_q8pSfKzR8V1L@-k^Te6fRl7n$^f~(S zMP{L3Vio&MbrA%^I%jUa8+A)Cy5?IlQ!7Sk_frRCR@3zEGKbDG(<2Q@>&O0?x+$yL%s2h?^@cDz6?chzTb? zDy_PgLvSnx?16KfMsQy?p1TdPpO6WlEi}LATTt;QIEc#$O8yu%aF*rP&2ew!&>A<=pm3aDoZ-w@xF(*}shM57<5 zFx2wd`Fd6qTj$En@MApleQhQ#SZk??ZUJZ64~$*$=Ix@jc5NdLJ$8|lSbHY$wOAmW z`c>iActj$Kr&ZYD_M?Sk*33BAZ34{wtp=_Zg?K^S;%;pP1nQUe1X}Gn)v_$`SU*e4 z%ytlKoJE^sbj9Pn2J;B^&P8@zCSO2b^Cl6tkrs{&G}99cNau7X$@MJ&F<9$bA9E55 ziewARH;7bHj!eH9G%EOB*)PHMtJN6N@=najNGZ{?sD_giFn$BIb5<4Cf$eV2gWkkg zo$fZ}9!4AcONStEevgVe56;0aH>;n_-pI<~{0!Xbwh-4Hy6|hWZ9xe4V<1?698AKc4CmF{h-xNLIEUX98z2S; z%?9)v;*}OuxEKQi@op|fw9PBJR|3S$ULHRbHoZZ)~&?#v>2f_&7^e2$l3G`W2K(*4t_fP*}-`BWOC1Dm9xn%yUHo9OOh z`El~9wWQV(=AR5ji@W|&Uc&{ATJnbHbCGMLxa0t#=4B}hQO>g3G<>W=xP=?zlpFN) zo!4OfmJ$FH*6$cDJ7t|Uc22>R>UGUHbIu?AtcUKb@k$*@5$JM|O&rr0`*Z9i|7ERqB1C|=kNN=)uhlsEF+8TwI7kQyi;X#MPlMK%y z^gF7T7g>SaKO~Y19)p9%0@PsL?_k|yoX_a5`S|28^(^ibj0R=$ZVylJLl4UWQbBc( zw9@D)eJiK-j+*ZQgJRlob|JOq)N;0lt|cttv{GfVbMY|7o3A;uDNny2$1&2kVkYLO;@=D#H)(U^d%;~BG~L)PQ{8MC}Q)n&F8f?iv@;BC45ka!RDF6gk2peU;ll=9U)@P@nI|>NtlS0-&bi$ZyE_P|uRsL)E8yFPmH4v&wDu zvhv=h<_mNu*SZ=aC!rPEUMEqqGJH;2dlzE}C2Q|jA`l)iL-Uqf9yW|=T;soruPc9u zarXOq+f%}Y`@zs2yn62-3kw(T+?mG&Zzf=txJ2VUYZy~~cpM5+tBiIg=p;>K^7r=+ z;Z(`NJO2y|4q0=*-^e2*SL*=u&*yRidCQ>(<%d|4wiB99V^)_+zsw0!ZPi;FnKQ3YfER1xu+80>l=kCeVw+K#ah;F8U7crgzNI9{ZVu2_* z5{%9Ly_^U*9p5s0gKCy;(6RMCT$sw-HaD_?F!1m-oW?hQwont_>k}#7F-^47330Dcr-UPuT6d(Zuc8cy8aS9a@l^($)Mk+F zwTc%))98`Suqu)nu3}t}NF3|$lD98k8fnJ;n+E8}`=3obwI?eb8J(@mK_?X%r92P= zfp+rEF|HMk+}9)do2dg_7)|+aN**?nw-0NRn~XS-tXVhY%{H4)MKbln+%5fIg1g76 zCP6FGdUfByJJ>$5ykzX0y)k9>Bi`B5=np;>C(4bZZsUB@mHqjajaFZ98;DEw{cGCE z4qY}7cGi)9j*>X}6vPs0x-JzIK4m!~8U!;vHUxNA5EtvCYrN;_-wI|8-k;AARse-G zy_=effS$_Vl3&oMe|MoqJWTD~2nbn5@Z%!#6wwz*N5*^7=nTV_k!%&u=}DZ(`uc;c z#Z7LujtRmt^oBJqHja3$z$U;0-#3EUmjL;`wuG2JQ2Ao*?jFH5V?%Yjeunn#Vgel0au#{s)h1N&|jSWi06vBctvT$;arW# zuSF*ZjFzR*!aaTMrtdum`E!oj5hi+9ssU?)+rAQkkVAK6%ufK$e96V{$vT+oEzJ!`8XIJ-}>-%Ib3( z7{m7k0ig?6GzuJw5 z3GPK5sVQ)*;>c**3hB2WXF>#5`wXMqeG}vYX(yGNaZ~x^bUQYJ^=581w^{?E-QgZX zcl_M*EPY0SM&lH*>dRgtL~?NC^Y`O2%0h^TZIndp8=z#tD7lER9tspOq-1xf)Qmgn z2Zs>M@^j7=8=vxYbmgXTn}4qJ<3F`l<>N?Q1b7+jI6J4Pl=k#*!Y z@SZ@92`}BZ07@u$>yWfq17-JkxM~IsIfFJ^&)CSQNy4hwhvOJIqjO&D`hm;AZv=Hs zg|j{ONnQZM=;l@S(0vc;Z_#57fGV?=1#eIDG&azqVlwHRmNT=LLHnZk9kl!}2%}ql zWTI~DZvrS)FG^0i9Mo7!pc{_yYAg*0rgtTdCff>)Mo!LC5LXVXbP0<7P`s(~iq&u8 zX9E57#U$>@c!LzXfAW&{jl=np5@16!b zOirs|&nPXsCHJ~S)W@A<9e{s@!Gmx5yY-ZG$MXt8SNGrPP$bi-xGg{}ZmlMTW}x7_ z-&k)<=PvFQ#(en&1{nqPFBj5vDsB z?=-5NLhzqhF;`z5D6jNOB|HkMpOWK69YNas*LEl5VyV^KP~!$PyTXOdd9^tZk8tKl zQ5x%Qi`L(UDt0}qpm8sNjzr^;b@_tH)suh1)?@QFVdDs6j$hnP%t>4Sjpcy5;!MiM zO}=up^~$=@FfFgDiv8BheLU-Fw!Wph{hr}hX+${Hk1RO}@8(QJcBh2W?HJ2+pBfCT zWM!HhiI01AKe4CP_NxeKlGbb7#K3p-jMS}YK8O6POJ@0`eX^{a+zV+b@V=k-N%Jw7 z6@eb9>aMV%R7Nttj~fY$*W6_VbQ=DQ=Gw^!>!UajYwtz%%b%U^tGpjK(F)xp6FZi& zpubo_qj7%0ZhRF+|2335F<^^9Vfov_%qUKTu#0jx!=h=Hv%ojbI#!T8o9&Q_S(ML`4QKN>KGj|&p}?EI#d9{Q{;Fl1$zFS8-(O5;vC%c3+l$k) zJI5umcYn%@g1L5O8@eJt~Q<5q7- z{^p1U4N#UIZV({g?$sQPXq4kf!S#CZ02a zuxR7&v?<=XHiT1nxk67SabFRrYo!8dRnLqabJhLSO%RC@OxVE=Hzj;TY#2<8=z|*N z^K3J|MNmSndPY zO2h@A@!c(L7HH-c40`_uIcZKg0~&e&!zk02qqCFx?RUs|JDID;_q#!dgp8{2V$I^3 zzs@Kx7i^6$JIlct{#qtT&ojFw-mh6HNza9B9snIm%&n=_>9q?aKmYCGdk)~>2pn@8TMZmSexRIDYd5MO{iQRfX!y~xZd}(o{ z&=pg0zUtc`wdUCQi+3d3ymV!A7xMaL$YeEopRKf-0S>qCbJniXs@j)q(4Fl!hFit6G;5UqS)S zvMyr+mQ&8aun5^JfS|=#jX(G?|Z{XlJ*?k#JOL-akKGLX?LH0FB<16 zoU^pGP+9^Ci_o9g_}<^G2Vgg5E=N-l(Nntl$L-k(8n$&m#DaDmHhA{n>O?ObOOa%7)`t1i zSiVdjmteN=o^c7tRz93_O>LyUwZF98#je^@}xp8m9D z`~K1}Nu%{>Vi^#`3{RjY9E{x~rzt*gVL$ zM!564CkmO>v*ooOEPGVgwf;>idokPAALp2uzfD9&OU+0_x-`vWi{dJrb5NbzxM9?8 zFM;fYe~oVq^vCC&Fr53b2U?3=#3W{!*gK$HtDN?>o1nNZQsVE+s_uCjTay>ZQ)Mh* zO#j-qz16=fL_|wY)sCvfaj{0)U(ixS?D)hVd`<1WjTT-45fHs`IIb%~n5j}mm}4AH znk(z8BxaMOwqbH#lc)UijkOK<6Z$>U;j#i?3$k_3z&kS3g+0-=1I|%FUxD+mL2vTqBsE0;Lr}Xz9;s*Z z^{>&yEq3YGKALGr+>pCUimjdX|6uGJqC0z{tz+9x$F^jZOm?K@ z2k1*w=?DJgC2W~%+UBMVg0#I!Uqi~>#G-uZ56^QGmTlZTfGWYf7FOQN8%;C;Z#?hY z?ca}@Xg|BBXql6|(jKA=H;nFw#sk^p2d=~wW06uw3Z5+ zSC25^EkS6wyqY@;F~z7wJ#)Fd+2#$o-!5d5yCNjxfO`Cn-)n&3MXeRMF8q{ASCSw7 zWb=;j4Xd*^F%9ONpGsYX)WX%DjPE(Fw*)?c2P;#_2?DWGGEV$swc~P65wT48i}-fv z4YmjQXev7eoR)OV3!c+RNX;+FXr${OfD6YNQ@R*v#Xz!Hmbe-pguXowcsWKYSb=~< zLXuIdr4yozXQbup$IM`e)KuCAKcfr_2#$0gC|aE&Tw+$3Y3H$fJkGRe<_b9V?RsWU zPWgm=q$MWUlf)inwnO6Z<=R>3!y^|qzjIz zppx&b;Y{kE_M_-T*%lxJa;|6y^8=mcQfk+A2_keM2J@pHmi9gh+yy z(GlQTOUB_kge>{;UWw@#r40j{U)@MiV&aYF{lZr?R2ex^qTO`c%z0f@nC& zIRnLDVv@sdMPqnwGgFUQgf%d-!gkBqjGuF7Ao=>5JeUGvG6rR43|%6kJ)UT)YiDA} z-|KXShM&*XLYkM)6|wTm2%k+eZF6#!-@Pv_>Il{&CL4gN5)lM6*!^B30|Y9ceS#J3 zV49C>d(3;~4?sb}cG8b7{bXssXIi~GJ~PS@M5v+aecq?23%$JGdZGvZ8CiBHdUYEh ztWB z)%X*YMq%q4OJm&y^yRL{F=^Bxa!moW-pA0h;RiHBLk3-h31L=EC)#-qIQN^sU_O6L zf6*66nYs0xS#3szC6Fn3zjcFH zUr$xYp1@~}K816R*WoFx-_NrKPI5-#_4tGX#iSTaw16^m#kPn9r)fYGXWQKGpO`{w zz-QYq9?lbGX}<*)FZ3XEu)Wd`0lp6SE^ZY`XFh{`GG>2xh8oF#DcIkITH=T?+RQkM z6&GzUj-7{6&m(0D{BVMDB%1Bp$@-U*F$Gg^o-AIGVa`29w;4<}w1RzJV|oZ^ZJ zX6kyEO8(L7c0Sru|Hr0yZ){8Mi-T#%v)NUzfub&ndOf5^tMtkp1k^mWO$TP-zBD7t z(U%pA26P^A7J-=P(y-kt0jU}#bK7O$Z+e8LzKRvqvoySI_g zY>l#tbo)Epf8voxhGpohZK!2X2S`;q{U;7!BMDh8eM{GVG_}RClyKeJ=JDJ5rTtY!<<%aDW+~OFjQ8hn=OeBrW44Q`cCv8_Zv0n# zk-IchTD}J)RId%ik{lQ`cW$sQakahkT{^-%I?4}silD8>xmJBW_QMJsD<-v%_~B}~ zh7(iF-a1K2=f~4VOVP2)kT`noec_O%3UO^(+1);%7ajj-fm@NF6r``GA9{JIydH`w ztfT(X7O@W-5KPX{)|Gkw?V{~of6O%_f(7!p*p5(AEMDxvNZ09lUOe>ChOxqF0hitc zST#sWU4sYy%afZpUG-W2boSd^9ramFcLAHTCv`K@a*==L4QD>}H}xVF(>u zwi!Gd7%VOQP7Z$3BbmJ8b>Ux{ji|Xr&)|Oyy5;M6M+d|s?Oey_2{w_!pEU$j9(b97zq55GB>(#<3wS}B){&k-X(u3>fwh=D4~4P055NL zo$w#XTsaLpVi(QkoL?QI$_V|+tJdw=_PAd%g#HYi6y`dr$$dw;r$;lcCe!zGWJa+< z-8e~=42AC65z}{;qnk6@!=3Abm1Kn0gX7?y1Bb~R?64{t0L&p6HQyY|o?b*%#E|Xa zM?^f*%x^B+TXTxV5<9HE7L5ma{O#p7+XNPv*8kDR>hgdieR=i|xg4LYXYHx6?S1&k zWeKOs@WJA^YvWQ&KJ(!3T-PBUV;rw@BmoQL48PuWvP-NfP& zzX!Qj?;m^{837yje+}F&u}4jh+pB-3UBMhbEGsQW*B4?NzAY=CHJxG_X2FWsXIrr6 zt1s1n&>J`XjHHcw;CEaw@zWXTUwmX~?2YgfFk9}UY1c;Y3Z#^a8*-rD`NsU%7(X#475GGo=9vG$j*%5x|E z`Gb9?)&CG3dj9@0_;Yt&lI`JMpdRX7<*{gr?qCdlXa3P1_7#nxF3nryTmN+D#9-RF zb2q?D8wsdt+z^nwR8$w@G(ObxBtI*c)VdF0Hjm#^HM*g>4`wvMQncW3;1gMD;dSfi zFh`fjc)aeZ(`^)V(T@O&#qssT|HKhkm*E1?LF@bw%tAm zJVOKG-LUDBvM>ZMOFo*Vn>)`;03vx~8Y%oozZe8*Jhs=g?^`;o7$pIf> zUUglS1EM}#(Kr*MT_aXaXlAz8X`uUfv5?KL8rY29`lptQ^=HjwaS*-PJpGp#08Ejev( zBA%{ZDtgnTgH)5M6fjLWgoJzx8d)kAY7rxymLKAPJVN8CI6&XJH=#eC7BELsU$XLw zU`K>&3q0vjWc6&b&UudlY~7S&Y0KMXfELJwLk05!*CpvkMQb)mGkFtQ8No zebor31v}Glk$cnEYE+Y4;c;f3CZ6wj9jCtWNb~87>++pkiPp{M{rP?0%S+UKj79Oao*Y23lkpEsvgQ#z!;Q7_UkS=8cV*sUQ@Kr6v(fnehj71XHZlZ{LQuj^=wf1r4GF!EXVof!)q7vF)rrs`W%A7F>9o$6 z=^V7ja~N&QjH_b%Qx)6(oEz32*;j>DQBButaL$=m^%EA}JvPj^kaOEp1`g-H!yu*z z4t1+Dj`hr!xf;i9jgx*+^+{tdiMY+T=%}@b^Bs~c61v!_EmJ=#F5+Yn>?AS%8QT&u zMu?13I)wJ3S>FYx8?stFfW6XZ?b$q#DN&z3;=+Z~&#)ZxK{cw~M!)K*)NUuao@usF zYk`|oB;l{COc$BBE8Ftlx{93X2h_?3O8C(P3alq5A<2wlSjS!Gvx@Qdd#9eczrgNuHWn>=nR zoGSHH=N&A7zGH%Bo+<@89Xn;uD*4>;1)7vj^T(|(oLd0_wLV)d9c!^6EkO*{t#du~ zhR!ZjUF90||2h^PCeo6v0C6VP8xFCWkiWmGN#7U5VDK8v{Z`YMJTU zk=71)ZfslAnncP? zv39VC?;Q*T_MwR1wu#!qBVv$Ar18dLG;~PpvcPim=QAScNDQkJi5OzI3%w3~71Oyw zAI+T81(Ywl?Bw@L)T~G=rQU?TYVzq`O@*-@Vli_)=#GQpA2_$QG48@a2X4W;#lvk) zgUhKe=&A#yLAaL|*EBqAE0P6VPdsHVs#txh# zmMzux**TVi8!a-G3!*Xy>|?Vu3l=!W`j&mA1isA)dZv5o3)}&3K*N8!{A_c~_O?yk z>#0o*691|@#gavYl&2K*HK4$|+4fZ}nlpa@rC$7Z62woez!1?jI^quhr2{%rp72t% z4>e6wuJwkLT0vCC3Fk|}64$9J<$Ew89EX+tfj9Z!=BQ=9?g}^IQiQj)5ht#uF>D*N zg?)D|fJLGR4CKr=Xkni_O=&?`rhZTXZkk60g*`2CA7ej%KJa{y%wZ(~2Yn4wK|JlYb2Nn>zZs{1g@t{LU)_q??2q+=iR(+1dK7PxkNn>m5O zz&>%iy^@5XH}`72YpVPHDg>t)KOZ0lACB2Jo6+oZee13t_@}oOXlG3NQD3GQpC)&d z_td5RGxx-gsUe?fSZ_uR8YR2U04=p}*KB%{_v%Z|n2&Vzs)oBxa+dn)z-str+JCm8 zhvfcQ^8yeh6A?~HNZ82s!yaKOmGoA2Rw)^%Z5>gTCBLc^;)vlRhQZjCil_a(GjCQ} zq9ivReEB05-#B(>E_;<)vIg!_FPMq5OgT%U!n8!mzRet9s8#}T3J$zWwlxf~DSiu`K194vt% z#pz-hO{*s&Ar}mWIzH3cB1E_mx5`Sno}rN&7L_(geWu>cI*zj{g1#NU%sS@me1pN* z-+eA_JIhx!UI~k#UseWK4mg_kBJsvga%SYo1jB*k4D=P^Oz&mhPEu^qTLvPpVX0LF zm50M*%an*}jRvRj=S9+dKhx$ghbBE(Eh@(|HvJ61Qow}@IqZz#s($OVP!{dhZ_Qah zVyhD*RJ#RZzv2vOJ&R(Bl_JD?*&B*O@zT1( zhz(el|6J0cb&VJ>!ZS$b7BQjzIGQ#6eEhb9ti`|(H88Y_J)udxM7u*9r%%v##VXh{ zw*?2B4ySQc3sBOVw9bV;f*A@i^>^p{ZM5K-@arjq@My*8fP%+!pW^%LV79IRSkXaX zkW)JKUE*@Q>%+1eVu1GTW%xGR=5zkR$HDwNgYf$`M7!?GwtegI#2|n*usk8)Js}|= z#O;=l@E||HKkjWu;A=JD{WX9I9WsUc`TJYM*nOh!^ATR?>o#HU#Ng`!GR7oB6Zg|t zaPT=lSRrWsnUL}A0PoKB<%L1yYwKZFXM#HC@59=?%aZvsb5r&aQd!6La-#7CI_9{6 zOHTz6dRxbeg@ZU6fX05s$=srj$vd;x$z_3=oODz1&}Mi!{FrR(*n5??vLCC#O7*pT z+0x+vz{ET`uF6>7* zdiN&t_=~o8B>(iIN~mtpVX{y9OUiMeFPr7D4l+;c<@0T$4Zf4(pV-YfEKOecDDEoL z?fWq`{833z%r4f-sP#s)51qTCfsCw-Z@jjO8n%Ult4hUI)5M#<|HkzeX<)@N`ZLqt zSMxt2F)*F_kpf85Gb}$Q1ZmyW&1p@8L-E->b*(J*BQ6Y!n$+q z|LD255)8E^d!3K0Jv`W6&}DEh1AEn=yZ8{7qtIw9h84{wU&4-PWO{aWYP~1RaNjyK z7kGz@Ez~soI3l7c4S#KhRDu_KfHLj}PcEC9G=eJ~=wLBpeeG={CTrBIWXg0_hL1JJ5=}=>5&^>ub2? zl(p)!15d`63?Fuv&Cus`uK?ice)q|B>{aj8Uvsw`=8~Vkr)4A7u)*K ztsAu1e=)wB*g(5A?~+68{;)$s`XkB{19Pb`gn%VeV50-y--pYC^B(9RwPeuFsZIio zEbtIwBLsrxnh1}+c0*C zt8M7&t_i0g+zpYhNbI4W@2C?a@HK__3)llA$nijlB5VRtP3-^=yD*3bdHE*oz z5G6&B;g=<~Ia&32WoLn>d6UeDgC+{ScoID*+}mEywLB=><|jsKWbJXJ+~Mi^Tv<#D zy5g`)qN5i)&>1(JcvggK2`uP1q;O(Sh+g6fQZT+-JM(_*JJ8+};D#Q|rI6r_VVC4&hm^(u7~f<1p(%+uSs4>MN8I>cn1YO`B^lz?q&-vLU=l1n`vE2` zfY(btoPAtg8RShCji@Kuq}|KIEAiB5(gqRi?T8_YaSaB*q<=&!9?i&+%Qy*mMmW^# zC7cA=fF}}_Aeh8a<&u@jkRO_|<2Sx0+$>S8`XJ0XhS-4I7Hz!9yO{le`if5X7xnil zW=|(yh)_--X5uzcDrhR0GO*lBI@%6^sd(6n=EngJl8hAg$q<(;W!%&g*ehi355CKl zX0*w9Izl^y*E0^K2yfpKI6JYxDv`v_YS8Q}RNzY}nEb&@?ncn0I}~vrOSV5T|4twt z2bOuEYU7)Gzx!dGayza?-H1Q6qcYdsC;@SVWHow6^^b#f>1h1ly5ds#ehPn5X)Ao= zknvOL(krzw4oF9YgIj2O%HfqNLp)_W=zpLjP>9QiFq$A6e=xXygM;Uaxk7oAUcG*UV$S&0Snkc4 zmZZ|`AsL?v9e#Y8GQ8^Lmj9t;EbtV#!{}%_(A&5`0lY;#C^3fyMS?;saN2V(#4xyl z2t=iFCidnnxNj0a`_qAmppci9GB4BahLmb48X z)MKzggS3#eBrzD$>V{)+g?ASTA$X!NDItPLCL%bPyg*erLAExQSBJG6`Z(w3O1$=l zU;a87+mVWlm#Ahd-c%Kg%pJ<^ODPzm;oQ%O43oIkDk$8!A?TJVOZ>+<=wZY#(}3pX zh3s5N;4f^y6SF7hiS;LuLc?yIKjQz9vqf;kDvjTgC)X!Its5wRBGN;sS7F2=RZ3LqFt5KVe_8&L7YtcEX!-gZjAb0*9(OIY zO*~f@y#4mC+1cfI$M>%jm?nIBeoS~&fSL=W-xXOY6>?L=WCgbq(qQDuM5cvGhbV_Q zfds&9>st@R0o%<~w+ZTlOjkfH{GXfBeWjM$`gf19D+^aj(xIw%@yjQqkxRLuP|7c4VA14?` z9{&e6;5y0jjV{FB$R3^v-b}nZ;|2r z%-^=`vO!U&xM{8a^WNQ$k{3lQDK&)61m=7?8g2Zcw-YO)Ox3n|tKJqDS2Za*_c}@v zUp)l77Y9x$&dvklY6fxKUMJ%Levg;q7YeHwgToh%w?YD>5eGv-uJhzuo zkiEXUlRvaP$j#B>WiRRqgM~jAgbbH~c<JNd zMJMOWauWf(_ouZp6N9F%_#P+Qora8rJ(c(#f7{Q7>CwvgM{ac|+SknQOhD#n!_NG< zrPIg8ZQ8Zjiq2i*rPV)@#+F95#t5_a;57Wyt7JX~AKfRc<0dmBtx8#{IO$oLoZmZA zed+nB{#1SkxfBR` z6BV0<@ptP2Eu&X89!_$`Z)XLqy+MIbnSC(^Qv$9|G<~cH0dBXeOuG(}spjA1Ub?O) zX1=2zuV3FL0Jz@M;%q8Ci`(ym{W*>vRE!&qK~P7CYvGMvFoJ={O_g?Gt=PkM&{Z^x zJ=w#i%95Ga6D05e<;6ok3HPf z;OBV>fnb}Ks(FQW%=o{MH$>XmfL%ykJB6TeOTV(BpZ+TErNw#N>>!&ct<#(-@q`oa zhbjj_uTEqQn6_PQfY^iYanw6(+raY;$=fwz;i?3*geP$jhNYN+5!)M{O(A@-XtaI< zp7H50Z?OK9$sZO%3YcP2>SA$*7pWKcuc+P|?>km6h@Oy>F^C6x_N0?>*grbBPHw$v zwjn!vBtH-h(Z;;WdepWUs`rZ2X~-qHcCiTJMxf1CU1U<`9M3D+C4_v=ojD_f`Ny>3Sp14UPX(zsZ73ef&>@*c{wPe}KV(ZExDODLa zRR#DZNjcJ(>?1|bUyCQUEY7W(%syZa*STtw(M(qysPuN{_+VMB(ugR{_ zuidVHJ=60|_RRVX`HlDu_zmYB_a0<-6m%GzGCXL!A$rH>m-o#FEbMSmos@kSf0xlU zr>Qto%g3cB?#A#1@sFr{cz;=aVSj0TaruMxCG89eB&a*G?2I|=wG~4)=Isms4h=-R z+GBR&zQ**w$iB?{3Hu6ua-g(;ID!7YnZAL(@xEcg!<}QqTfhzA4saXsO7ijk0r?T} zq4Y)aW%7mETv>2ia6kHT@PYY}@zWwk`i=h0_U-Y77LYA47%&(x888|!``!ON#&Iuj zD{yb|YVcz48c>+v7cDSaa1wCvJ^nrO4cpqU-kFKkkFW+^m$cX(ydD4beRTsvE2?mf z+gZ>D?svI77wgZ}~(eyaZfslI>S5Va|rJ+ANp=T9zB(3jp9QV{ocChw2X z7uW~vwkiB&?~iQVN%rx08bNmi*vq(`oEOj>t`kQzg73rNYl55;@QLip3P=rzH5e6; z?<=J^m3l+}%>K&DFD^gBeuF#0vVAXCoLEmEyu zlhV%HHe}7BQ_tDjbM4^MA2>lIg%qKxusYj|ovOaf-R%Ad{#$H6yycUc`b0~Up!#sG zr=_-4?$GxIN{`F=$NVO-C<77Ke>ifzGpR&;)qtzah&C2CU^z5OLm`{@D7#|ui`{Qz z%En?k-(~BOW0Ui_EXSe4ZTn-xzVBcL+=H&$XMUed2B6jIJKXbJ(;cu3ipbymw#Q~e z==IRxmLPC@sB%%@fBf%+-S&{3@B8oZ2%S!w-A=>(aG74$^QGU}k>9(4*JBH4UEl4o z4&)C1!%PLO(|d?+ za2Ne;@ElE&B>8hye<7J*E2aw_)jCa?C_{>jR|48p6}%ERbVN~vgb?Q8DrbBms6msdRYgpsBv5Tx@0}F}-k77v zW)|ux*HdX$vfHAxgkm20w_%X?U!4Djk4w6!A=3}U1R?YjNt^WbhR zai+lh%7zYqx2eDUQ9;zI%Z#Gu{y;sz$ZGTc29`R|+=LQwc(8NhB|~~A!9L#ktdY6OeeJ?E?IG%kv+9Ubusox$7O5=Z3>;H zoI}JeR>ES~m9++aksqebR)mWg#WdmQK8M;~_C!}UbuKCP7&O*HRG+ z6(xid-;A%hNQygse#HvPU==gO!@xN~tcc41$2!@BNxF2@Be652d*9HR8q}KncuJ4o zzy%o_-xxls?oc8)e<@$qid9STW<{9{u*^qtAawLH>`zQ;5nkR82eXHSyHJj9!}Mq- zbB-I?Zplp{cU~Hgsu@cy;o)u)uIWrd+!v@AThd?~KO9RlhDWZ%b%XaiaLQXad1r92 zj?Odlh#C*uKv}fCM84LhKU2PD=6f_opqPp{4KyObWKegvsuG89_H=R+{G-2F?`f-I z`_&#;2ur&?9M(R!kF5rOg=QChrN3`mt*;%yz!dc`wu!zmd$q&OE3gnMg~;?TJvEo3 z;5T(#roGx>hK8xjyAi}+^Uy&k-q-<8{o-&?hLIzvYWI${-uMmBIH-5z_+RzeTbfO{ zHtr_V_SIAp99fPG&OB}8KDYB5ZU0j4{c9Z^H-3c+cKCFV?G857$(EX+oH@%bGU+8r z0`}5v>29rQ&@{3QcH$q!sE+M8iE7}N;#4ejvBVp_t#aH zyWt0OIm4d#9B>Cm#=PROHbb8IYupM`3Yhnc!@eDv3<`%@xm#3E(GBUtn~K-Yl7rbq zx&ci1Q))s;i#W7Ru1Kp2vXIVxLl4Z=ZARQc@7Ro2vuZI%{+hKz%?#;U>k(Dk+Go=h znL$TPYvQ+F)x9Vuicv0=qNEMkM^G0?@{w#NjQJ6cSV5>hD77de4shtY;M>RpOvGy_ z!0|DLl%t9xX+|;%mm8=DP#V;|CR9(nIKx>O?|8c5vwDnH7tJ%h0OPdA<&^-8HR6*@p_xVJ*n2gHPUdte=sgjQlL!}306 z>Jl?+F~Q{3sr4ULMhq9-i2h7p8g;W=q``uS&OH3Ben?>41HsTSUu2sPR)iw?(7!e1 z{L=oNzR_3ak$-Uo0>aOmd$0}&E!7KWl^y)nuFOUM$^&t$IbGHJiZK$z>MNIAyb z?npbdYf~qWl(`tnofC7ijVVZsTH9=s8}l?0?`V&QyW<-(?L$C}a~9pUO@hjaMv=>+oQmPVgBteN>$i^B?*Yp-uFZ|?-vo*e?<%$EKxwH* z{1*52Kn*f#ks}?c#NfYIn4Jt?|0VgsM%C31L*6$QYeWK zBN(*X?#+PbMs?i=0cWhT+dHnZ9XH5M>2Uxtjpk13HD_X|sa+RuX)0@U$#4~5Xuz92 zPQ0eMVZH?gKBjf`kD@dXLRAw&VLsl^*;gARlHK|fG!&G}^wIJ8sio=o_CE3R4fFGL zJ#}>26jTlKYf!v7-tza#`~5gqQ9Rv_%YPLmob;Wdek}6m)pHeTya?!;Vm?q1I-K!k zcpbwBRYF6-$H~;@nA+qD$RoK6Iovt@wL)Zz#TAJ9Z9>7ClmLoKjq3wR9Y*(g^3~Ae zL~nCV_-7Nur7C>cJ_|QXv7;rRG(gSJ)@-Yl-(;}>aMvz&m9UY_|D*tcI|(6UF?)Xh zQNSuNoBdvI!8e=#$m^qCAW3+uMZ8L)Gf||0-x+M&8CRJ))(p`|fnT=C+ta>)f1E6WILJ`Ld;0@Gr-)BPtd%U(aYUUg}Hvs%lo zNvQO!nyX(tXSx_R#N+UIcg$4Xf;>^NRV1FIz`ByQk&P0&2CPr8<;8lip*kZh^{87$X2$%#YK~}S13fpt zR*q7hcex@1F)k87B-ZLMrH#mR5eWxw))+J|LMZku#saSysW8y{Hsg|YcBN3hjXSaU zO?Q|VlowKg^Per1?4zF-0vxQW-QI; zyBgRgz36>_Rr?_$Br!IsfWEniG(6|sAYBG$>@oVnltU9~CrckUSDeSUvigQ+$4xTz* zdpQa#+}b?(AX_95lOz6xCZ+%{g^Wt<8YB0{pKZYxe4h!yW?Iu2`s%5NaOxyr9|YzE z0UTuZ{gUT0mRLZfC>f_S1=bS3rnndFwa^>-VudRW-$Yo4$1Cy& ztldV*@#)Ix?7XI}Nj1}x_9cE&uh>iOwq%fZW)R2-Wh-dGJ$G&}V3(I)M7o=EwbvA= z7a+p<1-%e`Nm|~vAjcZs3xK))<#0k6jSwv#!;iLwK@$lty1hSl)F=WRPB11nScEXz zi{J1{YAZNlD{}pcx|lg-SCF@PyQ(}VVvm>^{65> z8(G1KJAYeVW8vxn=rc2aKd=i=gOQ~pr#)@c{Tk|-uI_;41<(K2PXEr>Y+9iRdCS<2 zRZFY94esibQ+$fDa?KV|3Asr~FkXOPXQo5DI{ zEK73w1LYk~Eo_-jWn`z=S3>j!5aj=GDiqF3$mhm!*05aJrVqt$h~(j$l(qxoOFiZx zJhLyuFxD}-uDGxDI^*N_R&Jhe%??p@^}7FpE+_63f>29hFInc(nZ#wbi#pXt|Xbuz88V{hv)Xe=FJ#?k+!8i zm5v-}}^_2T>p*_5B6 z?4Xm(G37?~louHtRML)66%dAFjoFO$<%UmB98MHkAM^K&*oGA|1$lO^>iLoPUomeC zyMWb^gbhd(h^+O1HC~9zrIGM>r#U=hdr9T!9}P>ii53$6x7zsl2bckrk59qAOvQ-V zEAl87h=%IW1 z3IE~D@VRmCDVCJ-1Lu_3<%8H&E0|dYgRea8p)_-7!aT4qtvk4FY0m2b6O9roVK<=& zbjZvwIHW8%x33_w?(NM)e8Ep2WmSLf54j;ANzr^4`4Jaf+7)W?E9e_!K};* z!@8kvM&I=zr57W30_BH4pFzA~)j9&o>J~3fO<(Z%Pqq(<4`Dbb81_#Fj@m&8gkxV0 z?Ip<=w%b^ri1_K?bN_t8DoQ5-OazAb5=4i|)6QU>lz;;B+v;8@`$^T&nAKTFI>bOl47Sbbsj2P>O(7140! zzrk{%L#~cZm_$CN-fJ*a)f0(B|&Wcy5%Y)%Fy?UERmzI-ZHwx@Y~Z3qqYc(vaut z(na0PHK{`O@d|)NNG9Tbk*fYHhq(ILFK~Z>ced^PwVH1I1=zQKpaq&_fi=#x$ILUP z6Z1v$QS=NA}GjH9YjkwmQZJVP&80N*?!DD}`m1L|iR!of%)ch@S9YG&)6Q60%_yWloU@(PR``hXAxJP)AbKy3f$>VV? zA$tIPar>q;mCv)fuJ1=p@QX)hb%eV)tx<+z#8~endJ|7sq5Xq5<{v3M7-t1*A__Gv zYwJlTHt3h4k&u%ASD37lQtz^Hx>KI>?S>yPeE}+5f)5_TEDOK&^2Jqe2DtSi_ND0B zl(h%eiZ?z20JT^2NXD1}^489zWJR;@aDXBPlR$4U;jynsCj%Hq{6PyRlo<;dDE%UUEn+Xke~J($^>}HCqm%>gD_^ z6$yU+Z2_L@oHRu5sg0)YBWKE9QW>%!F44dOSvnj-mAyy#)4lnu;&Hw##QOJk?On>3 z(l1h$b?Fl_^PI9mn25Y}eBPXfzrR|vT~VlJ)GLOh4t!g7hhMoj6|TrZH%{Jha{yGi z^_*MuO>9ckDbcAH>ZX*mg;d1w_th97VKeWG|Gt=MaANoY8XHcnkWxG4D=EDW2ex+9 z0j?A|S6vNtTp)dc5W2`@|EM)?3o0+A7Tu8%Bky>TEar1_P;D)!l59?I4)+H{IvY+i zviAu>uz-SC8jv@ildU9!t&#{}!ot?jb(vf>R8#z;m7;CXR+DhiVh&@_5EGZ99}l^P z<=3RPNg>e*Q&^a&ZAIwHt~yEH$2Ii(BJyekJ`@I+0r1CX@WFhudtkY(Cz!LfWMs#$C&q zJ_F2wu(JWtg8cbaN+MNoE>G@P&Xe=NkT+#*ON`rkWEs^O#YqhFsy_E6@*EAGmPb~s zgih*L*n%{9;+{y31b!rnc5JS7d@ z0Y=4P@7R_s1h>8&b^HQP(6m1GP(l#6Gr9wLmMG>f{#WenI{bR3G1flI5AG8$!%Woz zfgP?j)+u%zEBDo>lO68t3|lL7LH2iT6hC@{Wx5T);v6bYvDBgsD|e4h1qaxIriwCU zY5@Vv@84aZXV@_E)ydNL6{-_TZNcX2amH!G&S3+_OgNkFA=?0BHNT$SJb>QbQM_jq z$Mo4_XRdwU;@+5~!ZRm6dHJHz+yx&i>MI)y7m_0Np&+l3T{=gMxf#`E7B*1?Q)uws znw&LJNUE6Z8Igr(6(uC!Ja^Ab%1o2|_CHZ(_v5)leiqX;xd}nSjXt?L+EtdL%E4Z3 zK48DNFAG1}SrP|R+sWE&>p@o`EHO)R=!jXSM=JA;873p)bH=mTTFhw_>#4Bh>KnRF zP}nBhy|6aC`XJra71Rwo(Px>@sY@3~ZjFz+=>08b)p0mc`5QOO<_?;OK4Kgm_PFVy`nKBH-4du`ZoY}rHRC;Voc%_pm_ z%o-Ep9ehHy?vTes+{Q%cC4+dGneG;jAL8~nQtPVtm88?l84v`BtD*TZ{D~-gsJ!$Y z)jj2posXOslMj!CULCi!HUeO0 z(jSAHnjtp9$}DSfmjEX3yqA#KSlrCr<`Cx{$A(BzHiHWbIV+ozMNx%dmI^1LLrqpI zk_EX`q3yQsx?<1NQZSzpZBaEKTxvtrVr9e-KS2=2_4C?_j)s9127ZXS8^SY(o-%#- z-6^4O5HPwqa536SXLhtIwVs)spZ07(xFw#C>nx(RRU%VN2p5y$GrAcuYFgLhyq4?~ zd)Q35o4rtDE>!g!kb0ejJE0iBOZ~O|$nRM4r-G!{Y(lKE3qB?`MpkBevS%`ExYtJ+ zqnu7bqe@vSI`R0fK|uq(O2z%f(xGE{`cUua|26iNv2nmmn{C6)%*@%~hN)p@W@e^_ z(=anLY?6kVnVFdz#tk&s;Pur>r~CB&xU*!9#va*{$Fe-*@iS5o;e$vHl{pPAg_N;U zl$d9wvkTq=*wLG&so?_fP!D6)E>h7^sti`;D~YLlx2RujGL&bwL_08eblM>~nNfq+ zaVdjvSxsSxlH7=oDqKZC;y)8=IB2Xnb(%Fwj!FuRWLP*eun$Wlg2#nRdW<^Qc%osC zg|Xpm2DOJAZ!AQDzMq|)Nfo{9@0&Cc=AM}j8%ey3F-sLmr49t8C`C!(d6FnYqR6f1 zs3#xyc=SJS7ME06AdTlXRPN+$F?gLNobEv?+eDAb;cb$>Uge&KA5>6l!JQ2@oApcaNA5A-9+n$ixL&m=@}uycBlybqeSRTM?t9UY3HR2{ zoN|6P#Dmy1h97>k_O3!WGX0r+(L3Y4{%P_rvcWTbL~yk!p14I6+t9QLr@dmboUR_x zhL!OW!}u@7?}_^*1B2hDS5hx*-1LOp z-Tz=!ct2o`D^}(y>@aLsYutRbB?T$Kg(O8Mm59&zLAhNcUlk45Q8WJC;7`&_Nlj1B zJz`dy=%(wCqqx6`o}iqRCNH$fNv$pB<{I zl0zZ;O)Cp$ePqCsy6MB5<1bQ+WanV$!b;NGu9re(ai$O%HNDY2c!JeTct^r3t?s8c zvJXWRg^OsVrY~5)>NPgD0Z(;mA{0dFfy`#ID~kW!=JJ(j9J`mwh)zMzomM8$LSuF- zn=y*q)JVZvWQzdf-C8;1jaEcgfg0arlf_iv$ThBYv03MNv2o#`ykOJ9YKoUBjw_J4!yU zvG%)rxg%%_6;1r=+AKDAzBruh<3AS);Q5v>o!?ehh$F2*?MeKP?L^A=bg7O zI>K~K+_3|mZUY_19AMY&Q^F26626mJ&Ls3mNV<6#pTX&dGl#g$qp}K>`~_hB4p4~= zfm6h>99WGz7US$rheZsxR~46opHD8TZ_gk0)vhe5B|YOCPS6jsZSiVkLvu*Oe`pLBPJ_`6>pI}%`#^!!GgPi_JoyN+q2j>#<|0}{kAG` z6+d!5Z~Y((nKf(tK8x8Qd4N{la-Wh;J^`e*>X6p~n1X*I)+d-pZ>MX{$+%~Zahq|m zFgzEN{1YJG^CE=W=uaJ$0ua8(X%7cau;jZrGdm^rFP7U^uCVm7ct;E`7h&@&l-1mF zUmBh_U)tITbhN(?4$hhmD&=N+Q*y% z#z~xOg!30SdSFWmG4)1h^c2|mXXq}N*JKx7#%K^$;&K8MLsBiOwz&noKkj#1ki4!& zPRS}_9IWK{dmD62{Mwz?ewPmq5`VX^M*x??fi0*Aqd`woy;IuBhWP>A zN6eGoN6AkXt}1=#Ug4IpQtF3Xv1T7%#=J+ocj#Rk(m6JwvP=vm&Ib~k@~DurHB7!O zFwp^M`pmJcI0F@u1k`kN3Q!(3nD!deK$wtz-8^}vV}4Pfgswterx?qQaBsrpQX@(( zOjvRH(z0n;-MmMwjbje!tnTx~?IEB3Pr@G+c*DFsy9*;*>3{wVrRiq(_;?IB=p1;k zJBZG6u#MK|wLinbfEwM|v-wln6C;@@T?e?(_)M7giIwxoq3e@$@zVK%Q>F5{T*pdj~v{;L-rff&AjI3f?FTL*PaVjfah`j^uPf_w64=43vcu9N+fhTpHY4OtpS=Y;* zTXfO2dd^nL$hI#l(elM4zHT!!$1&+H=o;_1d&n_t!Dk&FV7^6Y9Sm)n~qKG=O z#izE1%(cjL!|=dq!ALxFd6Jk2uref%^7D4AFgZcR%M8qXGupFm@sReKZL%u{AN%+x z*S`ps_Rr;4pPj?LL;f?V!PGR?t3*MAtImml-hl4>&$8>MFEt;SUmItMe{bft421l2 zhOMe{4)=3t{q4%<`{BgAVz+3XSVjF}BbJ(;nwourd?M0GM=zH_-s#Nc2hUigI11GA zZa7^p3xS}c8~^I*-FHpH+e^&dNe(cYLJCb5-E$*Lxw^qa+*iPfQX%EQ#rY=hwu_un zl3)u?md-{^IxmLPt?>G_IcvHyjf?7|#lN?8# z-)*x^6ZOh1GxsS6p_fDr-O{>pn?#-b;Yl+`S*b$`3vf?$AO0}ibhgebSyf2V1dRr> z@3c>DHT+n9kvQaWMlAr```5Q}=+^lxjlzk&)SHzHxo zrV`NUi5f*3Wmzldz7BY{bAhDK;DY7=rDy%69sB2gwbO zXA7gCR}c-TYiWncZ}wk||K3k~OXy)Pkpo*qJv<;qeRktTcIGiRO$P&5135hmhgCEP zCBv`*#q1Xwf{A4zYCkbw>onVJXg)*Fa?SO_h0GwPTS*Il2&o0)2a#3tu2gDi#xPw=Bn(~ z<9gERQo67K>D-mZt*y<*&#(#|A|kRJ9`h26WU1V| zLcJm~b3-MQe7zw>V@xUU0oJi?5QeJ1s}u;ibLLWNu>>zDZn%T91IDhB@M8L+-tkLn z_lkoH`tL(&k95wf@xE4$?M+5cQJy0 zpNB%)5(IpWv}rss={5;>1x$T5r(-gv%g}B8=Kq>izK1LhH1WxBy5ekZV_RFciVwNJ z(rNXfghB=Gj9=JILgLJNGo(871k6^FIO2L*{n9RLRrv9zT67+}i1!}8%$b$9>(X5- z*Y7ys^LMi3D>6{~Vb5R{^=evFY38SMvn`h9fKWE;Csj7^nD=?NXB9Al@Ap5|^Z)EN$(e4wPU&*xb$x_kxbBkYH^x@2w5|{d^<32hdW5$c z1S;$f&G=xQDA}~Fwe3s2nsA6@Mi;qG2}WAM`2>QkB%UAJ9viQY(IZzfo>+4xiUB9) zJM%M%J7+WHJG!~Dxt02r0sxsNSH@0#m^O&8;F@6K@;CQxQPe=x?oG?oTfuG_fhpw% zDQsT4N;c<%srCnFi~EixjLSk2RvD zH!%4+x2^wpTd7`-BAW+|ggrCr<2DAfi(v1{?X&CVH|O|YO+3-ZNb_bhpS;=UODLj( zb+6HmU|%H}G>P34B=dY584Yb$FWkK-BJO@ii{ZbI+RGZOxuGmV0hTS|H#cL$aYY36CL!xA3kmC;h0h-0qom)yj}XML z{gTQy-uyy(gSpuzoid51K;*C9Qz>#fflILX0#jTzo%8{$giHlnz;+^{w#Y6|kqN+PCjN0FI&RJj!TB3ES>W2#MwcEuA93uWe; zRD5QRV}hxLaH)F)^2f0a*%ot0eeEcuc&T z{`y<{6+y)q*sa|0sSu&-?V+Jw?H?us$iU~OB{j29li%jNC3<9Qifgdvx&O=z;@=o9 zPe+6^g*@_y;r83FF<@@#m`>vodoaD2-rdEg%Fnk^``lXJe7DEh7=mS%ysbHGE;*=2#}R@cObjb$JrQJ2e7n|N`pSpFEn zd*)dV!*vFG2f2^U36WDG(X-=*j>LVrj=|#NEOL=+@v#N`YU}%&L4W$NwZa}1s9iir zfu+sJfO6Y$wo&p@6np?~1bc3nOT^Z!nEkN@*@#z*?Q81lJ*rzY?hbb=WRJb`>8r%* zz?q@oQG8T4B_~qmrNbWMW3aAoiyrH*Q4e#*x3Ow|=-!FLxZ{8zO8N+CIX;ZJIDUTZ z*gy6H3HjUtv)km(0*KQ)4I)1pXNyF20>DGNR$uYBuKWM_9=J9O1XWmO_$PhCGexJB zCOII^gLFz^5P^5}-8+sDm;t0g24$7=;6-QN&hER*^`Xzfs!x}ZCy(6gTDu-FbP+oi zY{vTPH!F;aat@UWa4D0*c@4ObY58$UqN%%C9bQyQAGC9|mDOLCK>j_vb7Xv^-D1+B zlTy5aUo*98g7e>XF46OXZelHx7$oVg9ZxJU`L;c!qj7|WXjZouu?O0#`Uw*}gW5kV z>z>qKApa*j*g)C0zxGZwpn3HA$@{IpDCdWH4|D#prsc`WiP>v(1x1z1K;#a{)7|TO zC($LqqGbtVVnWWn6C{?l!=&qRdv&fxoDkts?t|Z77@)H=ZA}%CQc7ha0_P=+7zgLTd0*@;U2^bf#7gEiCRY znKS~JuGpis9kyQyfzrQeD~2@66r0F6sZOD>%fucBkwdZcDVN&K%|Lmk9rm z5pWUR%3jLqwy>$eZnb+0i>{6^z-lFzrYzUVOaZC9JUBBH1s5<&0obUr2F}~)#u@0+ zlC}>iVNa9sw*?KtG=>8akV93Ra_TVn*lBs^3#!Jn!=Z;~s>Y!nQtPOkM{N1R^X3EE zF(UTXc5+@H;cv3qk$J73F0AqmQPyIn%ywo0QUDnIxiyaYP_*o?tMivJ0zrPI z2P!Xh_n`YKHFA4$L&wHKcG1QxncEI+Td4obmGa*bupZZU}yJo=YkmMLRkLUUc2ZXvAg#eR`%E zwB68{$%5{r93xv+6ZOi0@K7LLiAwb#A8S$0itfaRX+e!95oqN0(-VZbIIEGaA)M<552=qMNOiaoNee<>| zDm;65!d{bsE0#!>RPFo}HCKsYc8RxqhvDDMOZMRty8NTO#5|1&upYE$vK?J(*5;5j z6SFcSc-^6M`{+@3UqizDM`g5h`Hdw_72G_?+*Wp~2Hk84WS1|Kc}&6Jh4(`?Xdyw7 zfyPDBADR-5xVm#hU_@Yhx)bcB$$ZiEGis-$4Gi%2RPnFi@i$}6+j`S<&^Iv!nW80E z%oxJ}GxvYSN|45!x7Pz&K#(1TiH(j6``<@=ohZd73}w`47835iW*=|8^;cPK${I5H zNv8Zd%N2C_aX1*RK_bxc(qFvQwp=VRE9eW3v-;zU}F-@p)GsKr;$qiPjpL=|fH(S|dR;ki3q#5_fZ(mcw*pm^Pc+4WIp-%!0y zvJ&5zP@BK~hs^lazOF1b7Jy#cal=N1nPGjeMD%d4Ntl*vp|PpYc#(R1>ikM6Asyp) zV^ov0jRIWGj=@4>nd0?DwH9rD z3`5T35p2e!w(mKTENai04nSljitgqnz2f{r6t@qIaE&O&d_UPE)4C7n_v(k~FA_W*0;i1xg+l@sFVSVJQ^ROt+4*M?7|&SC^%`Q9ZeFtzmI!X`Pus&Wn6yb zNq%rzdbv)VXdq9_V8c_VD&&qnKL|GUQe9S}aN|llIHSid?tv8PJZTNp{eSV7r0Au) zX)aWN%93}K{Hl_4j>JapAr)(4GmiKH$*++!AeM`D5>+8)GE}FLvd0RnsN4D$@eugA3*v;52ewqY2QQjpQITr-2UvKFWcYdWDf40 zS}dH};qT?MYxa;5+gBS8{T^XGbMWciZSxf|UA5)x`5ApOXQx5uZ#iV8FVEo(|^ zcw7s$Wr2OLp(y~Vkg;7m2+-wpaR+UEco^TF&@+_h7_DHD>T5B4y!Xk3WoX2r)lNMM z*ZiTKR!dtQqV$+IT32b1ygiE}Zt}%Z{**R%+ny-JM?Ct3DXbIBj;vlHZc<$aaEaN$ zjAck&Ni@vYjgP^}h)~rjb|*nr2j+Rf(E;yS6hN96G}+WJK+`fL3DF_hwWmJ-u_^qy zQ;v0f1$L=7y`9=6f_(|J-4)rcVvI1>FPG7Oan^9|iiZKm@9;7?78>dfiyK`)8-kR& z4C>;4_ATx`wH{5zw=Y5SW^DNK5)fah8sn@eb34$fG>g=vAgD^I*{F)x7Lx4z+Wi~z z7O$yQ`=l_@M|7?5ZGd@n>J(K)HauFDsn;&-j-(N2F}5pX8gGsw!F z?r}BzF_|B5@*(6q_Ca&>3}@U85bhv`f|2?d=4^7-zRzSBVv0t`29QCCBvJX#%gL-i zE;=bt_~(p|t;LDs8o466EI#>%e$qUcd8?+NuFq@=>l~P zT5{^dnEtpoB@&nBeyvea)W7g z?uCBF=hTzLlLSdza-&SUNsiUMi`bLb8r>tbF2M@v_6uh*)V(8Sk0o^#F?i#UNuh^Q zY@TUHD^w)X#}<^cilrTg{o@=wUhXz7E;1Fn>F_pmon-bgKW=8Nu?)mxgI={ofDDgx z3U%;BN>ypJm@1KmOnXq_W2p|FE!$v^wfCUymMER7@2XV+l(SQ=LDBwQ_W~JTj1` zkrFyZk8nW}#c2wyXq&bk1HcZ^x&`8Kx+Y1LL8wP57AT5V7>Z5^it3&|19a}?)(NmOW+=G?J|9)N->67zQ}u`)n`{9$H<1UW}Wash<+2M1hJ{mJIYBaOiE64dap=dBNTDcKw+P<~HU-o&1;smA2@a-PjS|;@cwLt1IcwEb8ur z6=%$V=?Z&IPNw_;5A0c%PhhH&<|f^O^miH+)y??(y%`nWpYQ4nDGNJp4rZyE*PKeC z_5LAwyz4I;7mlQhh>L!U5J=sI6t!nN>|G~5G&c%6l~A>hD--?DD1X~OYg;N&91eJ| zu5aF@zrdhU3Zn@IRZ*&vO9ds+MaIEKr7-HONK!3CnRnu&a--LYd=Vssqe~W(*|a_? zWshY)z|#)k324Juv=*f2YbLV11Su>yzm%mYT(%r|Q(A76Q`eYxn)(H9Z+nIVR2mjb zNpE+qA0NS+t(}h7L{8zR<PYk;&aVR<*4(tmru2=(h&7r>P-7gi-e+rIj&D^27?t zXpC_&M)*w=Xx~luwPrIou!)JI;~!!l;vTMvvk5nWX}AQk3JP(KyMjBLopjin93Kfh zw+*O1%31tESHss^osj*P=Vx#odKTE2LH!PUU88y-bFkNugC7XpCtQ(3tFHcwqIp*$ zV9bRrqAVBgfjIxkjH7o=D2CpMD&uhRr zt%o;&0u4@w$Rc;AQu9`(sdQkfmemgmIp0wqc6f9+T@zq%ire?Xhx0AF{^KxcE&9Rd zxgC1x^QBe)>1rV@N2g^p9@o43N!aIF!|GE0yKF5)mKVj`2*J;iYAzjH@oD~>1vdUq zCug&VZjioP+$*_)voB<&ub39QHEpZ-GU)k85cLY%q`!tLJ#{~_Q%--1loQ2)dr zXx(#nl<32uVBQMG`NAj!ITeUfbS_ zX()J_OOta~4T@&z+b8p*NBS=_pYM}*$Id@20M8Kz*B}omJT0yexzIF$c|I=e-MQ=htaE%=J{$V1 zq0B14afu{ewtHUK(Qyf8F$L}`^-CsdI8l+JQA>n&(*b%}B?AjK^57KbZ}c+9s(>GM zlW8A7Y#u_^6!L2c!9LgNA>+orDT78c=FDBr0Hc-+QHu9km6pa7#vW6~c0^%hieg^J(^uhC}7FPc7IWi(Wv7Wt*%^=jzV|>tUrKy!gP? zBdPw=eTb7B_jiOH2G7v$pKH~hZx~Sm9c!v}-;uHZ9m6sM;fO-N$sqgP4=i6!`0r_d zo-^(7EIO{S@I5V1-Ks1Zg@SH86Ycv?!>q`IG*_U%+)KQg2+rHyXS53D5QZ;Crz7P8 zSjQio79eQX2SF^GZmh>0R%}oG_zxyOSXNdSDfG>Z9oJBihiiMueM=svIrUGZsdkEp z@d-m9tSp~xU@IgGvG21L!@^Jb;%MG}q+>C@o;g$odhiC~3>T^2cyJqj7orJnWb5ia z(RHpjeY(*{_T+Z6+Vty`1VRQApkvTj@(wz5V&<Xbt#aTDbUj?n>>?UJ3 z6u-)k81<2GWIe{iuM54%l+kt&O5D8{FS{PVv{gIUv~;B0KS_oH#CM}UB$wLIv4D2( z!9T@lK$~U+fmgJcp2qVc(Q!Y;_;ArLNb#FsgdqtsZdTaYsz(WVQ2F~P8MJU5NvSU! zytpGh6g*rnY^ae|V-UTdVqUZM!tKPK6K`ZCPP()7y_#3rlnhH=(KsMhSJ>(>l|o`W z%x#|{Tss%l_qLjv5$eV+gRF;O($X%klun)Yd&U!M;^JzCu9781$3il=W|K{otGHyJVc3B zqlaowFJrzwFJ^BIBPt`sti@MjEa1gA%~s-jai*(8TPn?E?5MbwJPbu7+T*#81^3sM`Ud@mSf9{Fw)U zfq`ArvO{{=#D8(&oYQ~NvRI?j2x3q4N;9$kMfJ$vWvP{R^HswP>PIDh`Vh6T?AI7` z_*0(!gutZmM^<4~F~xThDx?*T#vkY#&+;NH^Ay_p94Rlu-ko%?^%xzV&iF6<%o8Gq@~fHVejwP)r?=U z9;SXe(4PfrBpMNTEr^L2o^SqA{z|J?$riIu$_Lr4*w}rO2U$rW2&vZP=m$taK_$uu zJ7db+Px={U3)~+ffM!^@T;~Wz6DR=Xwk9fNcgksFD^&8Gs+il$i@Asi)lFk!=MVT5pIU2tUWduP@?><(66 z8VSWtCIG2%WL`X^&lka%n#5Vqt$Him$%!O)<%I+1e`PTZAK2KdRe>`X=T|0`Ov0o@ zYQ3g6%#%uYS{$1`7?u7knYQ=exf?nOan2$%AzwGkxhx3hmZA9)=gaCaVp}m|8&&QA zX26KrS+fh6<}4*-!S>b83`owCqh5x1?y9-cEw>uVnfb#RY_zPe?aT@*{J zPP^(B4#UVqcV8qq`-)GT;4#@Ut0Gr%9R8d=@Y5&GPv+K4=X6{;$zXP@CTVYehE<#R zdfsuT^`uoXymHr@+~Uqq3nr7t9?@p5osWozp|G-)A7DKEgeyR1;Wu#zFTSTGq@tn? zH%7=8P6~WN9pv0%+^ls*?%y%?UO*i!wu9VRJ11^IihFpLI6Gy+;@E_{2otHp`4~1L ztY#OK&vYai25eydgYDM-Ucz6{cP?IfaQ~g@wbVviB3-o*SGjphYj(I}xoq8`4tHjG zWm!x-xzti&3KDBN?z9lD=!j$U3TjGI0HL`D-={A%QO>)pxjnh`S0X{&EV}fv`)uOw zA4TbPr{ zhkB61eI+`uOL)c+IVVk_H+M_nm9h=R*zlH#kNXzOu3>xk3aN&avTL!o}xGk`uE}P1+i2FlbVR>I6Xln ztrTI-;m2rP;a6I8R%`P7^teOp1{-Z&@^o`^?U~ae4+ZS>l$$$L0~P0wIC|Nrt^|h4 z269V~o`}q3RMtR8o0^h{8jr`#+|>Qf*?45;nJ7$&s80z@Da{ihe}`mN+x1wU0L&v{ zjx*m@T&7(OV|fP^nrJ#ziPksgGNn+RC!@mspd@;8Md|WyZg8bq^pgu)bZ2VLaJr?@ zlb|UTGKdvno`NkCyigFxmzfDCP@uVB>`#%NlIeoz9AmalTFE}44KmX*wfUS=Y6`im z3vvjZ3U%3-HD`cKmS$A6dw0~Frn3lj8oblWrg+OJt-Hmm8!NTyq!9` zcs1+ql%|{sK*{l+0*`ja%Ghet1v@f8`Xt8>e5e@dyHK5w(xarDndy@STS?}hSO_*X zb;9@f76{OSS z9i*o;C0Al$>%|xgflXdMCif23Za-f8luWF~9P+nOh6?xg#J)|;Cn{Ut=h^eMfSvdn zDs(n@xV6gFOrkpu7KexZ#OF9D!0GCo00vbTp4Pyj7AJQ!o2h+WLsDfq+?v%`Bc{5N=_C~>F?T;=Zxvf zN*h(eUUumd!*CB1py=6NLa1$c^0O$=?oz1dJgGAL7VI)56T4tD;UEfXemF}rF_nWN z$wg=S3)ECyGx}+Fq-yBP8lhCERpkJM2(+-Kt@Z0h8v0Wx%oU+aMf`1Af{Dk+v}38b zSATP=>0O9_{jucguNGmFipVAc72lB)g(5U5gmEVR4x^Ybt$V+A<6n3pDLG&x9<;`? zoX;GDykXcVBd4=4nxci37;L15V8=f$ugZYxH+yRt9+MkcU#DD-XYMv; zg|}GDfZadgd~mVd65(bVMlcgQT`)v7zKdv^!4`>Z{d zYIxaCnP=-;e;f=g9}DHHJGFAez1U54mp(9-wX_Jmsx>+8CY!ibAkR$I_|<=uDH`(J zp4FdU+92hifrB>DayOn**0>%(wO=X4xs#o%`2F7gu5%6>Z*cj%9GF(xMxlK3=s(bs zr1~-*80*5}J~>N1L zW%W()CrTz5x&PwDVqs@=1rWr1>^@Cw*nTH;!dvfs^4a*C?q+?xY{+VN2@C}B#ej_Q z?}dbXI^fyz1zWt$JsuVxxORqlPylEa{@CXVrGB%fn9s-u^!ppG44F#UX>!zGX-C*& z->4xzzfY=(Z%sJ@F+STR{2Tj+deJM$9gbVIB0gVZ->_qMRsPf4jQ%OqcO1ss`?uu{ zNN{WDaM((~)BBFSZ{gob^tb$ThPU^qxJOV-n%IM7Af&pA$cSK z;~zIE{)WQwr&A8NaorKwmbnY2{*a^S)jjas72BHHU6FV*bXeLoZ*l$0h01m3!#}ip zXxO^mf3z#SHFf=f9*`U$fZuxp{cpzn_~-1m3syeINkG&;sa+t#iDPHnzY(t`{n1qx zM{S+w{jc4Jrr&;kx#jx1YU#Y_zxy8+3=Rt99CYN0AUfcy$O zFHOzU;)K8p)8c8juSi#x+3Pqur>|dNw1i}VPh>gb9kVlfkJ+Ew3*k4^zgarNiL6Tr zf)0aoFQca$5V=Q?zS7)rJNhoL`41{K``OFCO68#)?a^rdJqC^lL3h;;PWxV6kko&E zHNZ^u{x2|VR+j%iG;30JAn<>HSL-KDIs~(zia+^=rk{}y0BbeAOZ}uoj}}~NA`!kx zAjdMrYxsR_JDVVO{tYy^b=z%9U3KnP{hAp{;$f%A(pa-PF~DJ9k8p{YZUFP0ZMpSM z=Gh^91hUXpkZBQ7w7QdZ%yncyQ8U+~vu;`;*767ZfM;dj}vog1~%#HZjQrD~Fl}V@Mk|G4D zlLks#$ynL9W#q0{+sh7#Ny_6L*sHC0dD+R#B`nh@>HOHn#hYhj2LB2jb6xZxgO_z$ z;oAJ$zI~iL;a?HhNE~#&-NB&sbQ}D))>!{9t*LoAnUeyvRLm{@57sy*kQ5+cZRck0 z@{igXyP1obn>w2PlltFO$=Jo-m6V^K6d>wo=Wg%dO3FzJP;xOhvo>{ebRlJB`=@DA zfF`LfDJv=azp76PP__0p|4#=%T8vbepPQA92gqv7#>2(J$-%;E!N$pI4CG`50!>X# zEI3%$1pnU>`u}4$nVNk0N-ZHVZHOp`h&c5sV#Wp$v6P8Gj>puu&maOapv(}!lVa1^ w3|^bJ?6+xQ{qp4@2_^#mzZQn{|EIvax*5B;{cth2fM;U`!c$R+D@wrsFQVBenE(I) diff --git a/docs/UnityHelperScriptsGuide.md b/docs/UnityHelperScriptsGuide.md new file mode 100644 index 0000000..3a93009 --- /dev/null +++ b/docs/UnityHelperScriptsGuide.md @@ -0,0 +1,242 @@ +# Unity Helper Scripts + +## With a Little Help From Our Friends + +Sometimes what it takes to be a really efficient C programmer is a little non-C. +The Unity project includes a couple Ruby scripts for making your life just a tad +easier. They are completely optional. If you choose to use them, you'll need a +copy of Ruby, of course. Just install whatever the latest version is, and it is +likely to work. You can find Ruby at [ruby-lang.org](https://ruby-labg.org/). + + +### `generate_test_runner.rb` + +Are you tired of creating your own `main` function in your test file? Do you +keep forgetting to add a `RUN_TEST` call when you add a new test case to your +suite? Do you want to use CMock or other fancy add-ons but don't want to figure +out how to create your own `RUN_TEST` macro? + +Well then we have the perfect script for you! + +The `generate_test_runner` script processes a given test file and automatically +creates a separate test runner file that includes ?main?to execute the test +cases within the scanned test file. All you do then is add the generated runner +to your list of files to be compiled and linked, and presto you're done! + +This script searches your test file for void function signatures having a +function name beginning with "test" or "spec". It treats each of these +functions as a test case and builds up a test suite of them. For example, the +following includes three test cases: + +```C +void testVerifyThatUnityIsAwesomeAndWillMakeYourLifeEasier(void) +{ + ASSERT_TRUE(1); +} +void test_FunctionName_should_WorkProperlyAndReturn8(void) { + ASSERT_EQUAL_INT(8, FunctionName()); +} +void spec_Function_should_DoWhatItIsSupposedToDo(void) { + ASSERT_NOT_NULL(Function(5)); +} +``` + +You can run this script a couple of ways. The first is from the command line: + +```Shell +ruby generate_test_runner.rb TestFile.c NameOfRunner.c +``` + +Alternatively, if you include only the test file parameter, the script will copy +the name of the test file and automatically append "_Runner" to the name of the +generated file. The example immediately below will create TestFile_Runner.c. + +```Shell +ruby generate_test_runner.rb TestFile.c +``` + +You can also add a [YAML](http://www.yaml.org/) file to configure extra options. +Conveniently, this YAML file is of the same format as that used by Unity and +CMock. So if you are using YAML files already, you can simply pass the very same +file into the generator script. + +```Shell +ruby generate_test_runner.rb TestFile.c my_config.yml +``` + +The contents of the YAML file `my_config.yml` could look something like the +example below. If you're wondering what some of these options do, you're going +to love the next section of this document. + +```YAML +:unity: + :includes: + - stdio.h + - microdefs.h + :cexception: 1 + :suit_setup: "blah = malloc(1024);" + :suite_teardown: "free(blah);" +``` + +If you would like to force your generated test runner to include one or more +header files, you can just include those at the command line too. Just make sure +these are _after_ the YAML file, if you are using one: + +```Shell +ruby generate_test_runner.rb TestFile.c my_config.yml extras.h +``` + +Another option, particularly if you are already using Ruby to orchestrate your +builds - or more likely the Ruby-based build tool Rake - is requiring this +script directly. Anything that you would have specified in a YAML file can be +passed to the script as part of a hash. Let's push the exact same requirement +set as we did above but this time through Ruby code directly: + +```Ruby +require "generate_test_runner.rb" +options = { + :includes => ["stdio.h", "microdefs.h"], + :cexception => 1, + :suite_setup => "blah = malloc(1024);", + :suite_teardown => "free(blah);" +} +UnityTestRunnerGenerator.new.run(testfile, runner_name, options) +``` + +If you have multiple files to generate in a build script (such as a Rakefile), +you might want to instantiate a generator object with your options and call it +to generate each runner thereafter. Like thus: + +```Ruby +gen = UnityTestRunnerGenerator.new(options) +test_files.each do |f| + gen.run(f, File.basename(f,'.c')+"Runner.c" +end +``` + +#### Options accepted by generate_test_runner.rb: + +The following options are available when executing `generate_test_runner`. You +may pass these as a Ruby hash directly or specify them in a YAML file, both of +which are described above. In the `examples` directory, Example 3's Rakefile +demonstrates using a Ruby hash. + + +##### `:includes` + +This option specifies an array of file names to be ?#include?'d at the top of +your runner C file. You might use it to reference custom types or anything else +universally needed in your generated runners. + + +##### `:suite_setup` + +Define this option with C code to be executed _before any_ test cases are run. + + +##### `:suite_teardown` + +Define this option with C code to be executed ?after all?test cases have +finished. + + +##### `:enforce_strict_ordering` + +This option should be defined if you have the strict order feature enabled in +CMock (see CMock documentation). This generates extra variables required for +everything to run smoothly. If you provide the same YAML to the generator as +used in CMock's configuration, you've already configured the generator properly. + + +##### `:plugins` + +This option specifies an array of plugins to be used (of course, the array can +contain only a single plugin). This is your opportunity to enable support for +CException support, which will add a check for unhandled exceptions in each +test, reporting a failure if one is detected. To enable this feature using Ruby: + +```Ruby +:plugins => [ :cexception ] +``` + +Or as a yaml file: + +```YAML +:plugins: + -:cexception +``` + +If you are using CMock, it is very likely that you are already passing an array +of plugins to CMock. You can just use the same array here. This script will just +ignore the plugins that don't require additional support. + + +### `unity_test_summary.rb` + +A Unity test file contains one or more test case functions. Each test case can +pass, fail, or be ignored. Each test file is run individually producing results +for its collection of test cases. A given project will almost certainly be +composed of multiple test files. Therefore, the suite of tests is comprised of +one or more test cases spread across one or more test files. This script +aggregates individual test file results to generate a summary of all executed +test cases. The output includes how many tests were run, how many were ignored, +and how many failed. In addition, the output includes a listing of which +specific tests were ignored and failed. A good example of the breadth and +details of these results can be found in the `examples` directory. Intentionally +ignored and failing tests in this project generate corresponding entries in the +summary report. + +If you're interested in other (prettier?) output formats, check into the +Ceedling build tool project (ceedling.sourceforge.net) that works with Unity and +CMock and supports xunit-style xml as well as other goodies. + +This script assumes the existence of files ending with the extensions +`.testpass` and `.testfail`.The contents of these files includes the test +results summary corresponding to each test file executed with the extension set +according to the presence or absence of failures for that test file. The script +searches a specified path for these files, opens each one it finds, parses the +results, and aggregates and prints a summary. Calling it from the command line +looks like this: + +```Shell +ruby unity_test_summary.rb build/test/ +``` + +You can optionally specify a root path as well. This is really helpful when you +are using relative paths in your tools' setup, but you want to pull the summary +into an IDE like Eclipse for clickable shortcuts. + +```Shell +ruby unity_test_summary.rb build/test/ ~/projects/myproject/ +``` + +Or, if you're more of a Windows sort of person: + +```Shell +ruby unity_test_summary.rb build\teat\ C:\projects\myproject\ +``` + +When configured correctly, you'll see a final summary, like so: + +```Shell +-------------------------- +UNITY IGNORED TEST SUMMARY +-------------------------- +blah.c:22:test_sandwiches_should_HaveBreadOnTwoSides:IGNORE + +------------------------- +UNITY FAILED TEST SUMMARY +------------------------- +blah.c:87:test_sandwiches_should_HaveCondiments:FAIL:Expected 1 was 0 +meh.c:38:test_soda_should_BeCalledPop:FAIL:Expected "pop" was "coke" + +-------------------------- +OVERALL UNITY TEST SUMMARY +-------------------------- +45 TOTAL TESTS 2 TOTAL FAILURES 1 IGNORED +``` + +How convenient is that? + + +*Find The Latest of This And More at [ThrowTheSwitch.org](https://throwtheswitch.org)* diff --git a/docs/UnityHelperScriptsGuide.pdf b/docs/UnityHelperScriptsGuide.pdf deleted file mode 100644 index e1618d75807a6b0982c49a6e99fd04afb8abd671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181016 zcmc$_WmH^Ew=Rln2=3N29^4@iw1LJ6?(XjH76|SR!6gY6Jh&6w-QC^ocHZyX`{=lL z|2X5^?$N8dX3d`UtSL{eUSk!tB1nRXjhPFDy8SNy6@`r*zzVQ8vO*CM0ISkkc@=Gk387K;W}TSlYOlIzd_+ zLl;w!sj;<(y}b*7jq_g}Wr$A!T>rA@_Af{A{Lju| zkpcm<1^BoP4cU45O!&+=*o`^3jM(|OIa!SjS-A{3*?2kFj0FF`HFW=mz}dyg)X)~i zBg@#x#9-arz{tRW7a5rD++kykG3Y_Yh=l@-78fpjbgA;743E->0j75p!hv*P!R*aH zpnpw?6i%vDWx!x)j=nH5`zZf} z^*@S6(a_w~8Nl(kjv!(GSLTTsx)|EnoBwyUz{d68rRV=P50wGDeE*rPZ0x-MV-yVx z{)Uj*+`!OaJZBUz00nQrjS9;UH|P`?xDh2#zyk|Q*&Y-Jv$qN(p36Rk9;!3Q;9Ns4 zfW>!;Q-e0V()eDAP?3@rR+$_>ZWqz0sxyk{-819oejY3Js!_c)z*uW*U|w?Y28#@W zOnY5$!jw+1N7#pN>`*fsWMltpxFH1a-)KX`&d%P&8Bz&<%SYs&qcVU+RY~eU+#zD@ zVrg&pFA<%Ei;IKvM-~=$cXwtdS0hg*8$&yDW_u@d7W#i`Ow``V1X85hkO}_2A%!LZ z;DpqZsj&-0$N{NiE8YP|L3r{8A1rp$;}=TpZ_`>PKaN)|A7PX5G0oW?{FXrV)k|}rgo5YV&j2CA5u|r z5DqpJwg1bsfAfJGLbp78?0;=RI2)q*pQWc{>TK`oWDF_BzcCm0aFJAYf$;o4JxNvo z$KM4)>7NvnfXwlaSOOycH$_W8c>UiqN{a+~;fRpb( zttmR$8!MasQvfWG#TAl)rXDVk<-rz045I&T#s1w&L2&Xr}34bH}vGwB}C@ay-iKLy?!rwQ}(`psPuokAQ!60=wB0j%YB`E z+kSf)%JuVm-5~dWy2uo2%JqL5BY$4YWD#l|+SwC&J?YoqTiYIAe&FGkW7(?oTCgBd zIDbIQSa0xufao{p=Dj=*>HFV*k$cRJ-PzNBecfv3!(Z}$dq{n2eJ!{2z@yX@gV zAK^=}CI>rG1g=lwS|1>89mEC=eEHs^GSu0)P9NeHnr1XI>q4)$u#<9EIi!hUx>;7I z)JhQ~>|{j&-|nx=7*v|V;6iah712yd4c-{X8B}(8b*g?e)-1#W&9UHHq$g685KOAV zpqZ3OM?I8NBpC-@eYp^NHZ5;%-@KnfPcBIo?eu-Y_4h-K1-$hSNtE>{EQcFl!?{l^ zn(pxc=iv%zs3eq{e5uNs2X(8d)^6hsunR>qzp1;QC&7KLP^Ud{8zm|$WPqO&oe%FK z-^m$LM`Et>I|5oz=_m!pF=CGQ{b=eXW6YOdiV&joeptJ z7o*O@m0j*6O+F)=Y#^W)^xlLL#VNA?d)&bYVtk@@R_(V?os3S8cQ;lQ4`TA4rQ8dKlMIcgC4HqQ>|g{?MMYY!Oe znP_VL2osD?8F%5_sCMg;qE&dEYf5p8psg+%=+Q4kzL*Zu=PajhW8A%B;FeG)^zSG| zDDk8n(^qqLw4_Wx+51#x2hb;Q1Liphp5v7yFGUmrd}Xg6sNEZ4sYc{&)T!Qd-1<8I zQ2XQNerQq+rk#~WLDH)B`0#qjwc{5q{HM%?yL{#@8c8f494Px?4?G!NO*&w*eH-8L z5J!5R<2KdVc+SunU&*lAV1ncfr_T1c`L1v9Ebh?EZN9lDm^K3cGJ7FoG*Pe@Y@<2# zAa6$d#rPuu{rKVx(fcA;%pTzh`AEaJ=4(VLkaenz^ul;h+=r&>4EpBrx&U2?f;_tS zJZ;Pk->3d$Qw~;AD$iTfqH*7nmJ!?1OWI9k#2CZiORq&FTr(89nB*_f)6xf>E+i%< z))XH-{K4TPMG#{~^)8iG{Gbsv^+mVtZq*G~wLx;rqi)1WP_k2Ex-mb#84=XBDk{_8 zhRp_T$^5W(>cbgvnfwuvf`4nWlBy438Kw_9Q z3Rdsn*dMuGE0Y5=42ZGNEsxVPN3HZxGG#QAGCGbMg((gc_@WEkHrwazhr@ZjGd?L~ z`ZjQ3#E=t1%IJfd-pCN2D|n4uJOpQ>RMa>&&lC}*kw0)?qSH9nLl333X4MOigQ1fx z$fD^e0-V}H>7`gO%92$m*=X6(X6F;fzxNL_GpkVu88YUhVy*>vyT`XEqtCjKxXdKf z>=Zc}Xe&C8%z^`LMaD|d@ru6)Q$c6yWdCYo?qi5&qf03m&0?~O!e9iV)UeCV$>w13 ziJy7b`^bzI!iV~%QwI$r1mpGBz!y@Qu%ZN788?{3^Z#J+D2)SS<0rx z$%hg;S8^ScPHm+mvE20|x&f=`sn{^m5{wYeUv*-rg}xt{;)@E->4`El2a=nl+dtJ$ zpHX9)lMYm9<@{1I$+faQz$hLcmKNa;U8G%X41K`mOQ00#e8F0Mx47vR)SiBw8f`T` z-NS#o&2^54zL@Ixu_`9bjWz+9W2}rPD9|rg9!6NAA|j}&Ef(%ul7OeVO9S>`Jl(zw zeO=b=0o7KS@-YtG<61bBG`kb^TH=*pwk#vN(@Agj?>WhQkJ0$oJ~QOR6Y9KpV=6Fg zT51;I1`5aL$lpf{peT(olsXmWbOc97YIOWAA;Q)`v=J5{&xl%aP zAYjXa@BSx3eV%hOsZ~;GT1n}UA>a3>7=fUvD4szTP~yd~)cZ+2^Zlug%!u4XhDh5$HCxaeSbN75Awo$#VE&e*fB>6E<0mkxO61cjYM_l+GfcW(=zZ#Q( znwzMM$66Dt>T!iQbRDH~I{wl6WB|75eo(kPN*N3;pQID!JXUrhA*9*B^rMX!AW5L+ zb*q{l2Hi$b92jaq1K}^X>2q$83DDumG7Hn%h`UHU5{GqB`gW=G-Eqfh z(=X*u$|?F3nfj2)Rg~6dqoU*J_KzZlD;p$$KEe}T0qLd7CYfp}%AwyT3+Xjpab+aizPlHmuhuhyBkhT~ty=Oz$NA@!$lC_~Ud6I?=a z?+_~xWcr@t06Wxh8g#V`*pkb{~v3t;}ZhX40b9JRu@z_JK2f?1m|4AfF09YiS1# z5Cq&O%8u=?8Gu3i`i=MjMp^Y9E{@=9NjVr;PZteyD+ZT9+qF}RE>W6N%OwB#oo%(E z77qxcG386wz8EUhuQ+kb7>nUb<494AO+|f1GD=!fFRnQ|K+UdJc?!~p1(`W7v=k%) z8{9pwdXGaB7GsA6c7njJT^{vQaj+w@4U(j1&CSf>ZiMI}n6COv8j&_2BDo@$ zOyt8#062Pf6bD*_D&t3!!3C&%6YSZ2;fiI?4$2Q$Nx>GO%2k%(-(t5+X?)M%=5*L6 z0mhlEKOOjRD$uz>M&YB?Va6ve*brG{uKrFtj?Y`R>Zi)q(ST{(QaHVeSXz2PPFLt$ z7%Rs@iL_yT!z{Bu%8AlV*yPTDWl_RN2TO@ZsG1~2!iS6D&k8n7q~*YPiQ~iMtPxxQ7qC5HS#{w_#Q^MJ;>vLUX6qc53O!fka)i#x6Ro2 z=xzk`UAn%DC4y(@C6vXF@$fn>K}$9NTrixw`Q7-Vryw4$!Cj}Oj1o*ql9xa}t3j3x zcHV@;JdGs_>O!#u#@qEa)P;=EHMc`3#5Eg}mnr_Y7 z;N!=>42u3$ranUJ*#tr zh(-vrEyzT1@FK~;my}p#6z2pOfCFV1JS`U8?}8OKNkg~oIa$rv^#^{G?`GPWb(_<` zo*23%$0Fu<-xWgCA`n}pk!hB6(}Y3`Rmxk_%OzixSNAY#~~0< zARWMzBE|u2?UarPk2bRz0R`u){V@dDDZi98A%#YJ|mk~7ykgix_@rl1cdv zR;C!QNzsyGA2b#;wnIpq&jyFT#F(-p8Do@p+bM(0vtFunCYkp=0Zn`q3ne`%;qz|( zjjIpgm@hj=BHbTT3X3I6UzxhL7<6JvK8^gmA_t2QVX6{=RRMaP}a$qG~|auyxcGu>E$;jymOXxC6vrQLRxWS zpc)cyYGg=2|HP?jM%PGC|AaMCMCupNWERoBfopcSpdN0G2nO$(Ld?3l{3 z!s(SB`CHm~MRQ0rCBBE#AZPpF`zsrerL|#P|K@Bw@-flcnM2%U=HkU~OS;XE^Nu_B z4)IrCtiIdz)pu}pgWF)bbM~3_&H~|eiuGcIUKL)ioZw9~k~cyeCG7;9GnLx2Jo5&D zlu>w(coL2&DP<@1olEXJNI(4I1qaRN^m@#?1<>F zvgoA6AxAt#nBbL=jcP>WyYYzUb_9Rp7{zbbVB3<1izl+B6&2j>`w>rth zYEn~_MTka2xpUjEuln8YU9lguy;N7=JSZ6VE>Q9c))?5PF+{2<{}R_1I?RU=D7Ah> z!j&Tp=bgk9r=kW{q#AwTW6Q2JjfkBI4Tn-Lxn)n_WKM6ZKuQUj+nN?5{ym&vN-gHg zEQq5zhd|||De0R$j?VhCRVTP_@p?H%+(x2hQ+n;DENY6+$XO#)4R-xK4j!l}v`}|v z^MfTh>$y-gIX*tNk-*GyHniev5qW2)@1`1}QNy1}v#&(L!XA`$x@A(o_u75%%YqUm z`b7-x7=#ic|J0pKZVzfX*NDPBTpEs4>7^_5=m}cMpv75r6#F;*L;)$DA8MZTGAHpS z2a^zh$yl!ru2?a}k!#fCJ zb&s1s-f&g3+nXL646qgKgIh_B9CEb7Si*d7If%>EL|*OG*n%+#2fJlgM(eRT0>nU} zjU9d9wvHEk+u>$-2RCPQY$PP3Es+o62D~=xRqx)iZ;z) z&kj%g)s*XFT#|jwjy1i|w?ucC+c$IDV3l51eK$JUR8c^}jPER-@wBD<4x<7r$0}s&MkQ*}jA#jUq3pc5-#_8TOI}g?LC{W3tfmlE9v-%Yg?HHX+WDWEdw;3i{{_`|W_2Y38If9Pf z1oP5P06QM4h^i}@$F?>0J!k_4Dd?noDxB-f`HvZ@c*<++6ufzM>{)hFN&^wRq+~ts z11&O)f~gviYSA_XEm9m%Y<*ZxDAhun@qvR1>(-TSjgoHRv9*a!IHA+92wn$BQ$=pz z7S+arRh|<%lc$2|_Yn=!uDnr+l6Q_`rCcEqz36|pqhI)&s{U?Gk@ zX1vCYswB!~D-%UWNwmYqD^mV4oAGr|XpxttN0=aMb_?@O<|gZE^t~X5!&$RwjG_wY z+I3hYsSx))EG!Btjl7~!UfWZkx;jD`Tjg?8Ub|8!F7hBCYg<>4KR> zQAPszJA>uwqKY7tt8a!ZVCwKslL_cpU8l${0LM(Hh@;2-_f8II+M!>y9HU8O2b-%* zRCYP-Q+RJGK5Y}xIrPWJ)Z_q4!$E`eFR|sca&;SEC^w=z+4x-vKT@W45+tDR;!+Wk zbuezQCz%ovrE3(_d5(5B5>&i+n(Djq&zs(M?uxY*fV?w3gaj_@3+kkRML~JS&Xf>q zyKUIQKdr7X2WvRg_>a7bI8cDv7I80AK2o06{$4jH-|E5s%%haKqCQibgY<8M zh-;DYpcbgIbUJNLtuR(3;I&HbTJC9v1CQ2OzqM3;#@kjv#`b+qX(4`yi z3a6o4Jp1HS3*UE)a0n@AZM!@+Nx0LYU=xp{uV&Y|TfS9}U;3Ziio=D<`Pog1Q^kIg z&`-;T!3@mx(=iW^4cu12I(4Y^x4#jmiXTS0d*PdGfNN&)w0pTJU_ri~BOioot~^Kp zhS26C#RUbJz^q(_hJ0v4#oEt`E*BMz6W()+=x2=+LO1-l#`Vr+7pcdUf9_TLRiH4r zeF6^6>-DuD^_FaBT^#QR95ZI)$acav0e_0xbBzY^>&sni3}_q+79H524Ingq4}XMF z7A>!C!`ctfXR4ovJQq+N!U;e8tRTa_cV7VP-r?&C~mQ#<@>Gie>4-i>ZR~XpnJuv6_C3G^hC)=+J zQP2*y^TJdTC<~fSjW@BR`At>@jQdGvA--PJGBKMaG?pNIi0;P@>cGV^kX9O6@yJW|_>-<5zMjM(_{EBNV#pR;Mmy-nGpM?~<|6-)3(mqW zRTup>_Dh5ON|8&W4)@vyw0>$PG6sAkvJ2xjZS%WkTK0Lu#MuDZu|HO;eH=TW$J6E1 zIPXpl+WdWP`I8;ZV#Xk~#NZ%iu_1n&Li{(A*UUMNdzJUQ;6E61M{AytOERb3gTai$ zspu?E99R)PKcASJhCq`a110-+IdkS)s|pPivk$vA>YSz{bAe@pxte_ikwP3P;1Y}cAaP}Cyn@a z-74TJg0Pjf{yGhBDh-}K$)hh)r&DUOFXJwQk!P^|dl+$~;^4d{VhWb%eB^;%{1 zkYUK4g)~@Lk6*yN1A+hNx4pRK>t~33^haF3q&b4^>f=yF7@Vi?2YVji0zCgJ_3g(c z>JcpO;DYO<`6Hq(xj6&Cuum#v6;Vo;lxnU>o}>|&iJ)3g`)u@aHhZVRhd1s=s%W#z04s#_gE(xFOD8gnmu%|A$ z5ene@N7(y&Gwj#nAc%2MV48i~)Xl6xyG{vw{N|E<6d(9_FXe04R6y|KJ4yJ<8?9qu zCDC0GbFmj3bI$WOT-}(g$5SU=3P~;o>8OQC-Ou?fi0;UVQ~_i}cfFs~kAIT8I;_Fz zF2YAbTmE>2V&s5z2!PORh!@;*ML4gBvUwlV~LtW6S)p_rU(Y6$x6$|ezxhMM zKx>nd%W02-oQrAA373+0 z#Y1#+a~Vd6M~Ky$x4vQ|ab5agw~%f@6^6?vK-GBL!P!uqTaCA1R>|Es*L(9Vxl~lQdx{G$I}YfHT`~L#9Hu*VhAN0EAS^K_vd3vI7Y=g{qen% zBa|2YJ$v}Bt6gy3q$Aa_uZn*7x2K69-AE*9SiIv&&%&$uU|dWdgooqX(gcTkUL1fhbfVJ*4UX#mzY)M ziE%X5jlS6w`(#Oe-kRe%rD#t3v-W$Nfn|~I4ZIA)NjZx~ev$p8fw8i2>>qS<>a6VK zKj>3M{2EGilsmYL2i-}y@;~DBGH?;CO_i_4S`EaeagsV_0}#P`6D4hrTgW-gczCgP zW=*NDhCUyh$+-^e!|h4IOhKvQ3uk;wCs)2O*X%5J$Q}GGtF&>_Pj0zE@U} z?MRv;<7|lt8<$h%UG_Te(&P7cq&Y0MhN5?$1lyVO+4T$_jVStjVavb{S?gCag(wO~ zF5O-!1}CV3l@Fs6cBhJ(oa90`UbR$3kUYZQkc4AE7T+Q3x z;eeX8^UsqXh(%-=v{mh09?*Sfy+61js%(=&u)`!rD3R7tf$;{xAh&UPKCN(JsU$Yx0|_%Y?Ba*Q&Jv0V zmCCTfeXNz3iB(>9FGb;!2XIvUz83HR>0zA6CLKB%N^4&gkV;TndP^{dF+9*y8=~3Q z+WlfwR6cFqNr+IG*89&y9BK`5nWFD2Htm+zAi6NNwa-YjYsyY-St{VRU^VEMM(cqj zY_BEYD!*1LMHbJPqTSI&oY%y5AFvM1>v;q@MP9NeL}55p2}Tl^tkKw`K^Ng!X0#Nm zLOagI(_&4uw+iZRL@Vq$$%?>MWPE2k<1MsI7JV-4!v0daX-MncPf?x~j1Hz`If%RS zF~Utg5tex)khpo`<3a+Z-DRSEXoxTTWp;-QI)}P%X>P^rd_uF;QqWDRZA4F)C9FId z1br{>X+ZnFEa5>vpsx?N@VhV|Ywfrx-&ug<2mVpu44$DEyz8$EVk=&(ByHYpWZ#?N z=p&zgT*AY@hw=|y3gJRc2(C9xR9k~w`vQ){IF?{48EOhNPTut1zOcpzxF1q7K-F&} z^>+wMzO%%{`NznwN@j!A%(N9t9r5eX7bx5qxe^Q( zu+?zOx=wFm?MXCJRWy_>Y1$ScoBG2)O`1pgR+||%jF1n&-@1)_*y360u+{{yXsM2P z5C_okayt~0jcKY7K=TYmV_HNrza1lcY2QjvA~I7@;p0QMmqo_j{o*A=CMMR$`p&Y1 zsfYCxsu2}Q#X6j@)_ca|dxcfdG|0me@9q6D`0!&F;UE%?W?S2d`ptJMpfnf^N65JN z;?CCE##jK45_LTbvomDJ;Mt~9FqA;dlo6c7JN9K-m3U@lQc@K8*;f^vJLB`>`KB|I zLs#X)ir7)p?`ZJYiY;h7!dGu$E!?DZY~6$${sXeas{A=D=o!v6;aQmY_HntDRbo@4 z5K{Z1Lo{*CDIniH{Q5Ly~C)vOLml7WlW5G>HlI%g-rW^m8Qdn6s%5rD}JpF z$gsyd5MbkN3YON5tY2Q`#;R32W&tUpkmUwA8k4LhpXLsSQ3PV>~q_kL2*4fX?0`wUe6$%A5 zr{#|+L~H_46gf{%{hFIo&PS%7>07zYj4@y{@tq=AjJn8B(5M4Kv2NOmYbQF06?UY) z5HRA}(;>Ad+WBz6rcyE0Z6_U(hv)=Mxt1&_l8bhLsUq?2^HvoU%db8G1`$^dmXaYC zzfK|>)Vr)hsnG|UB|e(^aDF!r@*v{el$=Xb-FY2oKl0xFNNEvbEW-$pq)gPz(uEWb z0sH3r7$foXmEx~7Cv|}Z%QuRjPq45yc4oqgq4VASMhPVnB<~E}^d}1u>YLtw#v~npejWO>xw$Rn4W?0?tvRsLB`@nGF z-*miFxQ?RG8}c0VM@o3!qu7Hyb{QtQ z?Uw9G6GmC38%S-}=Me?`uDTc*i~z+)R`-gPkFNwZAIgqD_-R9AcC)+OorU?=d}HY& zKCNYbX{qYNF`X5rh-0_t=g$oH^B(|s6Gyg--qknp_o62!Oa*EmyDIfo>e;Pk7`Hxs zU(%HLnPIwI3J>HXo>Q979h=Lti!C4P^*{~(7MK6Yj>igDNSi*i^O~`U6;vxte{D~U zzMW$oX1`y5kXE2J$XU+R#`sz?zxnIeGz+o9wsdF+M-i|0pTjkwoPm?QNu!2=1rj?< zk=6&R_vSt%uw}~T!AYO95uw9so4A%qKQIIL$wgUIHspubSgYC3Cx<4FYHeu{Dth4o+?uSZ%Q6(J-hi3LEJG zZJGG{IW%=aVQ7cO17e_qU*~w%&D+BF*Q!uN;ad*|2srCIs#+}3+&N8+CD{dbz$UIS zb;@{UQOdw<_f0s!VAbGM>!-{|}rXwt`PYH6S%*yF&Q z9rijh{Lo0fU+|4#DzzVw1+U{pC4q0={2I(`c_dMD6R5^n`h~l~Eu#&2>lX_GiLa4J zUUhrv6low2B{uT!OW^InH*U(zH5yR;yqlGbYw=HOUwrr&>CN4}et1&sqi0W1I=GTqoU3kv2 zU;-k=E-OnLVALVrGRG9+Ed9utQ9G>hUGc}lVSd#$9~+?_shd8`jd>FbEYHF?59hXnR6*}^nZ>uzDp8kDJ07i zqbN1h^~r68q0lN{HMTM8Q}dlId+wyUwJUiI&9hcypi`SS z!}wWciz%ht9BLa0ZmX^7;tnaBrHFne(nV?69YH|C4ezfMLM3d9yr$bQL<>LkKL8L&wB~hm4 z8r#xdg98z!$1b~4Q)0=@QpiX!l?(@-)kMPyWSq>l)KnV_JSRV$k7_B#)I8&*7}+Mq zJ)J+~CC1dZ$1+_L-Xg26FkR!x?Xm2fkGDc;Un;IXh*q~R;hm4?JHrie3RAyksrcO@ zvDL!-D;6c@*G`HN;o`EUQKqOmUjBVx%1?CMud|fy0yB z9^roQ?1|vTXvhHU;Mf`rp=txfsITDiluqCQ}5Pv*F+{D8wgU&RUOy%2i^!W^}@1EpTIi0qMIuP5Ar zeNJt_FPzKBX!+iPSxxTdCR(;Dw04|v@uCmoN0><-5gg`4x@#_RLZ z)O328yZ)3xleLzwJSpD}kGbE7k!$hNAhLg}_SIXx@(_{sANttu`V&j_S3hnF?&{CQ zk319Wuv}H5I&r)`KC)c3qfzPhu)lp=%Y2wqH{p0&a&drt<9=&?wBOZ#dmVYU|5}*o zzqM5SpwAf~nEEhB-IV?ojZ~2$dsS(@Wc%8Ho>=de?r)rA`WhXd@-TN}k^UwJa;Wsl z@YfaRCizZWh}KU8LXVljck8b1D`6t}uHBB-e`xjF;h2W%A8@>C>L(B#$`xKWXUcIb z|4ogR7hB%hH0uqG6;WoA??aB=)x>M#hmMc|NjqM*ttVouDC94k-C;lQeC-W`0&g`l7*N(UCpE(M!CSAFuGZ8G&@{`i8-OCh)jR8BZWz zCds%N^BW#7_-!;cQ=pEKiCw-j*=T&FB7J}uiT~#31F?&==9_KUoj(!j#x2r?wuB2A zxX#bErTS@MPAvI&!DOSju-c8Fn&3Up8qpHvrZ!)N5JbbrU^5<3Uu8IQ+bi9hGhUpg zRxTJ(rQao|DwSCcPf_y6|D){0mC#$k>DvPN!&`~|MXVZpP_4+bi^lD$YUIEb^)Czy ztKe{1L?(}S6I7dhk@VvBnBr{}DG%JmB0cJ9B=CH@bI}Mlb-N~*xNTjlL?>jCrOtOr zdfDPVbvukQ%4sA_IEzNbtn_Mjf?;;Zi9h{V==o&Qwo93vY8PA+!@awcH<=6(xIxzu zomeyrEexr%`P9P-sZFbi)Uv1Sa~}>$sAb*I#n_k(onR64DfyrxOP#phcns^oY{sMY zND_#Ald_49C~XXH)u0af!bF+FS(jsw4&`r4x&CNu(d*SDUZDe0Vy0h3F3*KLCztb# zs)R49+BL~BnZUR^hT`&`3tn*9F3i;qfZUn`KP`7_my*yqkP@1978=sPLp5PXQ#+pK zXeo#9!jxQW8p-Z*o3qN$Os!@uFLd1L6i{FERCdR;b1{*+Ys<8{O$ina+iSa=F-ACZ za48KN5P65Se0s9T*jIVlK_*H=6RT8qrxFMki@D@`m&C zs@T~bh9?`JzcFBD75cOn83}hN?a2AtGU$%nm`Q*${75{fF1 zPmaKwA)QFqecF5B6>~`Gv3#i1XeJFiH=g4=FRlrH21{%kNwu6$$(gYKrgju$JxzWW zM|~kGA8#YgQ$Tj=jA!Mz3zIr=T(O9W;OX7wggXMitB!89@7CB?NmjcHnRH78)=AYK z^_eS($yYxJ_ihq>-~a8hBsbUpzJJY+%1y?0UE?(p@hZc;7SJ66RsndlRC@46rxcowbsv9Nb}<@;Z%2SB;3k@1$PUZ_D3Y zN;JWKi2ERtGD(MXSKQJ#Ln@y3ph4l^b#R{OYV_<_@_}tLA}dBv3!v?XWG6M=1dUk-3&16^nFFq3%Y^CLwOrwkp#*vL#3|zC2 zU=9T>-bFQXmCdxUT#Ul;l3qK85p6ue99Kvyc#Si%iUw^2R#e2ylT ztyV=XnIUj;uKRme|?+#Ip94b}I8wiI+)Bd*7A?jLip zH9vM{KOl{zc>UP&z01*E%^Py8-S=tRGG1T1gL?8*@gq7{e}N87K7)Ps^x%y#JaTe; zW|YuaJ$g`IEP4}^iuHeh=W$n6=%nclf7p8xs!6_=_?5MFmA>(gt80G#^|SfHd@{g^ z{6xp?10%+Bp@)u8DX5ysJ<%&K=t<$EDWd(ep|v*IckHnFvY@PZ?@M*RnVYoFdT03q ztTBnz*(en{s_r~&OJ5QctT9<>O~j1TbHV!+vY8)gL;CA3QE`!y6Ipm?Ta;WY?eC>l ztCySHs~sWF$FwpAGzG3AK344}A7*`fi^?>)SAeSaYt7n!D_OZ{V_G%;va%6gj)4Q_ z$JHZ`+P?L%HY|a8xm>Pjahh+BrB2Nhl`QO<8dpCx4P-sh!V+cZ-Oh2dm217;BF=Lq z781h)w)fS?Qjd9ajDR~>pMs_BVnsRB&c4Wu?}*dXr%11kJxeUcu^2<=6UQ1WtC%WB z2V`-_58~T`&y>+$#IXt+O3cud!6<|M2TuB7sW106(Soo0z5YnQE6GwYE;}i|3BBF7 z9~vkf{V)3p*?1xQZ2k*-V%Q*iQaK@;@cv`FCm#RKJ->f44-ivzBzy~klWVMmL8f4URrx`98XgkUkeTww?qTi!9`foTt!ECSyYEE zW|N(+ah=^R3bkthD#p!(M7?m({Zvj1rQqz&d+%jcsBO*u@_IXKZ`t{b?~c*k5*i5# z)Zv8z_~qxR8%gujjR&PG7*Jd1=la_#RKSedu$VwA>Sx7%7>mtsA946w~j(d|)mi8;9jh_caIUAM~8fWb9S1gk2tfZQfZGnr7~=U;gs>bumTFeyEhqm#y>&@J9${ z*e%3t%@)xrDzPop1AcxlzWI~mJE5DGMXt_2uZe%;9}s+I96gb4;w#Z)p%ewt)ewFs zWd}2Dpu4ia_e%|aX9|FZ$2RHE+0IUB6Vu1U95>#WD`ii@yKrSyZ_U=EqPc+rHT?Gg!z#7v>=q0k9trG2N0R3w{oBksjO{Ke2m zVM+%M&4?x3i04v2Q2GLAlMrdk;QREu;uBK5R4iXTpmYgLwAOr;e-^s|dmKF;(z+m_&+e->)62$S(w@--y}x?}O9i{`6kVSHd=j zo*58rvR4xoPuR!f#p}ba)WUr@P&dG=1G9wu%y{~idC|+xyf*TP)NS~km9QAOz>ub1 zm%<0y>wuW`E6#P-98#qi(V?7(uYCyXbIw>MbSBTJr-A&kpV`zHR73Tn&-!h02aXn& z50T;9H(Pv|MJ}9>FPcBVM2nX&T?iXwX_1ZOhFrvAUN9Ma8XJ5`zXeFnhPd~PwEc-w&e@=uO(bt4Tcsu&A+XCP1x|2OcR@-w^ z87+w+orT|t#@r+Hq3p$;ed+Q&O&l_0pX z4O)oqINV|j;hAt>67!=my?>P^5TYXrf^H_L(O5M)jWXx^a|ySEZcIur5u4cb^3$T< z>6#&PF8dt2%Pnd~Zv^2SI4s&2)Q{>rGjb`ncZL~T$6=EO|^&>|^ev5<*=_squ zDRyrf%IqQ5HPF}Jq;12`pou3yp_AK^@(=4%n!m>T_Xa=Y)X4WXyv006PKY~(-5JR> zM~qfN9ACc4X>_;55WGU0U3zu+kah(75nbbNU)51ZE(6RuU5C{kxmxIp5F4x|;2NgL zgO-ZsFmgnBqtCE|NQ13oaPx2skvYNm1wU8zbCJgxRwD$+=_b4L>Ldi9WITSP`_Oh3 zu}b?u&4rA_{fG!wy3W)~gwE!@MUDF6T#l2|d1H@k(|2KqoyqDqfL$3nl8-21ARwdp z+X41goX}Cwqj6cZQ8Vk^MVDq3N~|b+Tk2Py?wPdjMZ9)p4xeIH;O4d-eIhJGmR^zO zEPo8|uCM4ICic7aiG9*8x-$skMLF@sIpITao?lkH<=B8HplpYWaDxAnC6V5qKYT`! zFm?v7*prE|7Qp)T$pnsAM!qkD43STX=@LVOyeDFEF0R*?XIe-h@73NxhkIA5_CTwa z>&sKMvV3nft56|}VUXF!%e2auI7;n%GKXpcbaCD<6{P;~4OOIl z5e$1nVg;!`i^h1p*uv_F4ld37kb&a zS>UYmL)j#B;V%brknZN@x@K`^tTK$a%g0AMuXE+*5BFbpxe1EOK$=M#+&P_I#$FTZ z%d3G}O;z>GKT=uAN{9SA6T5CE!|Dr|b^HZ;Z(iUwzhDZ*+(YigcX{az&5|D2&NH+{ zH#<~rKjAL1)Cthqk(Ca164e?B&}8Yy;!p3?ZFtEd&l%5#x_VHUJu$6aIgA)tWB5W{ z@g1Yqn^(E!o)I_Rq7UeWBR+=B-mIg0APkl$h_rbmonUuz1d-YqdM97q?v^^pH&i{K>r_F5zS6#2}_0YOv#bKqgnMZHUxjUN2cClq=SAWgv z$iCk0_sQ+rs^i|7pa0y-olW~)+Y|YG^;M@X`lsiCg4hSQCvyMI!IInSQ{PAQF@fJ_ zO?&zt7qL(JUJo6e>UzE>H)8fJ53@_>qrcBu-#Ryh{O>3Fb4ebq_t~OmK4u;4toJx? zff^HZ#Qo%guAzKG{eU|3*GN1lcS!c(UXI0$ia#*zDZBmav-x7EyeCidPZKI2zu}p}PN-5kgG?YS?I*_84s*_sX_D&#| z_TzdO*~Tt8uza8;dRK$Zxg6a*HlF(V&TzUF+SMNG6gPr^eiREoLK|zA)+f5TU|K_U zr}@_ma&Yt63;qgfSMx|Izn!8x?BOczELurXE|`_z`5nLlo?p1*-FSP++FE;NXuH3h zzq-Hq+u>{e*y#h~o&_&`jGnv8Q8jt2p8GL*zdZTL$6Z+7S?6gVn_;#ajjj?IA>X4k zpX&lj?bzonq@2yzV_^%SnnUnNd=zCm`P%En2)W{u`$)aUAoPM;OntLtf2+*y!D@RnQfbTZRl-LHeCEjnICG=v}@J2wveZ zb6rdhM6b|1oefp-`|C(P@a8&Lo#MFg@VkcNA0+92%l>c37{62A_XuL9Xnk z@PHNkLVfU~fcpOQnYvf$81@%k>+Xq^|>!u1PV}o7e{g46tG8%&+Zmlpwtq5Xm zx7B_~d!9M-7p^M2iU8Mf)VmH<2kKR$iZJqT=s7fB26Lt0Ca_^6s9-P$zid-pvOR== zL1IxopkWY=+vY_PY_pZT`zo4}s6%(YV|JO)N1ZDIsJG;t0xau)s6CAZ7O;(hocUGF3d5 zbeXXDhtFuq5z@!&!7Ee|yrrUbCR9>1^i;`*7LXmZU5@t*Qj`S);#Ap(Wq}e(lw6-V z>c;8VGomPrr4Z^SEr`U7%cA=_$-y*(zy%YMtbjxp0+KM}b4;Ho>!r{496r*;ab-PH z#qkG)P;LpLn?Uix|A(=22+johwtZ|n9ou#~wr$(~V&jX|v8_(W?%1|%+t%yq#VVm3kie8x$G!R+9E%s(e214&1hN?u87A+T$r;Qrttsq_b6kHd7ALtT zaO{K+pHh3H@47tea6Qb+{U!K93IM+ED&FvQ2sPfIXG1z2P0=)@ zO;OV@x?p0-mfZE_jA%;F+yW$M^>xybEPN>GwjO)n;012s^{p5`fi9_W7>q8#vPjm zgI-EK!*|wjzN|#D_7H^Nk(-Xwm)>36w8BWWBFstNh3)Q=WC`NCUu6kU(s^SBwuQLa8PFel18&&aO` z2!XGKVeNffxLb@Pb}DGaFm*jP@D+GqVhz9dW+WIK7By8Kz6Pb9v{ssb3XK~*>xAco zj;Z5)X>Xd{R~c5u;l^$q3y!{oT>ep%D%aQB9&pNO8CKT9xm(ANpVp25HZbyOE?-R` zB-d07O0%}V7=rw3v7(1?b4dLmsjVm_5BL6 zqaUW9Ho(E=YxC*&@%_S$gRDM*WGDv;MKQRzZ>_Z_TN&%v^PyMhy>}^KiP=^&wtK5l zN6jPGr7WqOlVf|(>EwVdg$&b>F+Lh~R&XnV8I8rdK>Fb#mj^_oM8FO(N6itCe%#UF zBo5Q*LyO^c#P>x_gqP7u>S@DD9$2rqD3}f~R`Fe-q**OPz#Rw12xp0S`_DH1VrR2T zKD)z0V!7!ME~yRLo%P>R81qHdh~dY;no10!B*CS__QD9?rN;xN0Z4TKP&yc*VZ${%w+f?OwbnXwBlM@5CD&}Hr$p$nu_R8&k5 zWjHIpEI&uAHoQ=hkIUUOH|J-l)+t>IVZ1;T@DuH*IT@nOD{qdJGu!`Z!T!K);X^ri zUtEb#uR+9+z7LC+Or)T+6-YPou!&UfyyQT&%I(u-Spyrdi+Ak#@z)x2L7`@iA8nn_ zM_n(0Ck@GEHEV1uKW3+XXSg$lWANGytn#>u)bi%}%>XRB4B-Z5;du^adcf-iH$=x3 zklUWeea$6_y}2y=@O3fZ<1O7dpO^mkPAJt6vd;x*4wFVgFK#7aC1NF}6}%&ECG=ZT zD@G|?DOxF{7N+2bF-ad7@D)ZKh7jlllSVoro*u%C*Bi?WUw~#zDFP|N(?H&>ingRu=^=mNzR#f?mHH`jCC2Zmg7a`+=0s;4P5JCJc8i(~oAK^5oS7dODkBM$J#EGVl z-b2Gg*;u0x-q=E1!-OZejRBAa&^_d20g$n5NpU*%U!=Yg0cq8>&wS;z&1@X zOuF8K)q4q8XGn5tZmGX&9RgAuHDt0ZH#yGhwEHZc^{<9E`WD>SmS@MBnrwBK;21EA z&Dlmb^x9j^8$hyPzPP!X>s(3hQ{Wch314*5io0OPo?H`Ov_y7 zGdz}ozx>WWn~Z0wU=m=UAoxWff{}!y^NB}ben7wqi=m)Ug9$rTgMSFvs9q51V!pp8 zM1Asym;`9ntZYXrT?EY0Jhe1MeKLsGb<@y2aj{2z{wiKE#KwHL4K@i#p?%VfFcE}_ z+C)8-nQOn`P5bi~jiVZ3mLs?=EW|e5MAZbN!bDk4rnpekHLB1GL%9Hs+Pu?cM*m2a z7TePuy}o?Rk|v~{XZ{(Cr1#uG=9^2h0w2 zdK7#j6F^Lzx3?3(+e=~F5?lodFUmc%z-sPckXxaRcsbUj9@@@UaCmDs0{n}mD~tEt z*wUi^^6G*3<>8Rre1#ju~8~F*twMTG@gH)MPl(DMgXod- z1Gih|tvwB+ctK&rty~FFY`*Z-D_mKaJ!Z0x36KM!|xyQLCDe2@3o#E zHNIbIdqFDJ-_v>CzV6|9rWd_G4NiDOr4xco?#=u%oY~D=cA;?oqu5LXMnVUz6c-EJoC`7EQPV>No8SnS{Q*;Xr#x@`;{7pVnRVkO#%|8k&^OVxraC zFl8`d;Yvibll~OsCp>z~XOwcigv^^T6PJ)t6#foE(=HmpC{^Hi)TT6hK%IX-J>^*R z^DFgu*0eN7Yv5mVaNpt577P9Q3h8@H#IV|06qH_j9|&B6R zB+2R$O`3bBQYTA@~%eM z5^s!r$oJIZqxd3@BE|^Tq7Uhz2X5_fDS)$qMRAD0QUhruo2cgI<*DTSI2J4FS%+Ed zXLXV1s^+%X1o?YOwQ%`pv~R`GKv`=0aSvJ0d6$KNl;{PIXsGmz4^Lc*z|F7Nq<3M{ z`Sw6a67e!oE~CGy1$fQ9gfoGWStwZ+<1Na}nK2Ub8BJWCYoj#zL%2HU2*MSZ5QGe> zL|c+Msm4pumFQJzx`S4x^(@0H#uyb96?5~_@=d2w-frGR{$=|J^{lpkR?*GD+Tkp| z2+W&e#+%dSpU8EjOVP+iNvnJ2gId50A&@>!dy>KhVCa3{#NT)_L9CjFv%pZblmEX{dg=+3K$D~NJV8|;N7c1O-4QU>m&V&7WZ85vpf#$vQ5p#;{C$Bx}9XcfO}~U?cWgNBRkT!E$ImsR&Ej*o)j=2KDj~>%}U|o{r8ZO zOgWrO`E+rlp#|){>OtdRbPRZk8z!>#$z-j?t%=l=5eqgnH}$6#78Lzs=_G`HQi}0E zESvAFO(+{qV{mL+6@{($VkC6o`92BOPF z^lOJP|L?{$&4_ivVuq)a%aE1gc8e%xewsDW+uZ_)5CwgsZ^}A%RF(f_F z6v{Pmnv5Wg6Hd_0%8@Lw9-fm|e39mQZ!}f7v74 zv|dU)g)t?24O3bTb!j9Kd^7xA!M)Y;ARll=MMSf1ag~t=(#rmamdd_mOR^GC%SaSH zI+#yi%r_NoMl2yd@}%U>U-%#G09IY8gWoIEGCvj-Qs&rABNO@v_d)lehms^v;n~-y z4_Bk?@9kon6?9wdv*ep8($2@YB$BL}4~lCksC1@>A{Cl64`d<8`DJ+`?~9Wo!B7)f z(DOW|So5u5J@aAPgdl99@vfF=5*!At*h+Ell^cdVvz*K7mOW=YS3JjlLl>2>8~cM{ zqHX+4F$nd>0FzA_$E3w5>ZhT$TloE(8X>#T<8S$vePnb#Di&^^Kd0h|6mpft;)(M- z75(&fzYCY2N{)YorWf@yYSr1fPwQGE(WXASJI5OjzxKXVA1hI$xq}P&XnCvF4a=;B zt(~h%6bkLT^QzZ_=Q+0K6$P0}?IS@q*V}r0tSRf+uH$)y znRIE3!~3kA3jEx0?01HOK-1RQrZay3u>fGMlKD8@eGp;)h z1YCVkLa=c4NK3MoRf~DJdHiAEVX-(^bg0*QUkgMugLYaG;1n1=5NT3Q4ddMs(@w*I z6R8V|_decs61UVEi#qFKb-K^^3iPtm)BV%bfN|Fsx#8{q$xk#=@nO+_P!O57@L2Tc$E1Z%kG z$AY$Jlr#@<7{=}ARTqTwKp%k6+1q_{h!9zmQ({L8MK?`qE8Y@zU@NoIIxxT`m8+3y zJj%kuQjN1qdM^ej*GAzJNfI*M2wtsXm__?hj!xQG59&F(cr*5gkazIGi4s**GYX9YEt6~B`&Ms15pydd^Y-5m1EZvp5eK*uVXaksaZ3_(1tm+b z8nmsCs2aJZCmyQahHk$x>OSTwG#6`qE3^lTlqVH_@H_J#hcq4EHu-f8-p)BRp(G64%6|q= z(Pl`OSa#%Qo=a9>>vuCqHF`L9d2be!7q9BiZfOWW+t%PI`Uebk!~~a?nWwq?P_OeakP!=>XVlrWupKwa-Zmv_Gi$q$U z?c-welJ7rdPGMuVd-2J#WDv>r!$+ZXzp*YOj=n#Y@Now$!$0I!=W4fF#>-N@ZMS+J z&0@dXuAIfn4#Lm*^ND8m?k`tkdWQ(|R!u1M;+HdBv!gQu0Fx6NsFl4F)7KV*c0=#-u0!t9_AQcf`X|qC=kikP*qP7OrM(zhIlg0Gohht-|m`9r;7Siwf z85bNCHxuN>_nU&9lZv#4D!BZ=1DCZ)&Q09P+xYbB9CE9bm&;Yn}_A&FNTpbxpd{)8F*j`}dygucIJ0 zweTnLe;6cJiOU3-(RhlZC@uNiQmy&lsJEG}t~*_>8$9ujuy1hg{A)qj#o$h8?5`-i zHW46vDm|J45!$pUHK{PM2@sAy7BG3Z=J05eB_`u_eo%qigjSuF}c>=S0)YqJm9 zU)~T7{}ieRBZ8cQdIP^ssDl6-NB$17^G=)W{8_7n9}D2xj>@SLb>sdvle`m(E)Ue!#>*F)21HzpgQ_Y@j$ z+H8YW62aGrohF)nq*`1|Y_WA5+OR}82>K(rB?Kx`W~BBXEBslW;JAp;l_)g+)za;P z?IOW)Y~egt+PLB&^hC-eH8N>c*hi#u90^Dshjb%M8G1t5q>^!$8B*<-iT+`Qu5A4JT&y~$}l(7kJsHUgTdbKJzQS^noU?59(EmtkBh@Zt^%{J=X0`@ z@)_D34*gXnU9VG>L)kRw{+%Y{opuZvqaEa4wJOWpmNd%E)R|baH#^2_r6}UELPeO3 zz(E;ZLfR1`PwBgDwc?vTx&2TcUKu+C|0DSj8a{=gE>$fW1S=tLK-?cK9&IB*N8b!s2wU@7+I7Daqh96b_pxl@88kB4 z&p(+^w5yRdI!Hv{#^$gs@E97}B^ZJG2?)^AkW>7Ac&bv(GW5$77`9u2#)6}ou^{us z?6Q}{BNb~w!7Y!Rfq^nDCIQp@*$}Bu_{y=`n794JAX>fh9ZRS%O#wH`m8do`s@8#y zg)VY`lUSHOKY?+FNCDN{c%rXWSdYUqZ?!b-Dvlx?!@Oy+V%<|w5;mhIT4$VFFgs)Y ztH;PJGxm4JIdgc8-br5Ct9{Jo`b`fv57_{+p~Q@?=e0Q1Ag zh>R&QTKXeekzw_(t$E3D0p01bWwg|gHZ9cmkyeC#R zX6YaaE7}~Qu};WORrqfreXys+ejSDIui<6H>?Nl!g6veD0O&GIh3nl$EJ>a4EcFOV zBQi+iOc8Qzlu}43l1XD7d{Q!!P98a1;;;*tc{uW4mi>)bXumn-&Ig!AC5?H(SUJGG zAC=Hb-9(SjdM}b=vzL%}C0TV84jLm@X)K+1;jE+iGUk^^?q+?vNO&z^1mm7_Mo&Gf z>DZ4VNLV99PZIRHGUrXX{cwv?NI2<4hnA6d&-n$~wcOU~&1uu@RCPP;x0V*S!s-AzozXwfvN|qpUhP_1 z>P)ru&s(=bV$-~J*PUQEZ0+2ih#P!4)p}&CLJyUOzY8vZ`066qMu2wIVr&aaaxV+u zt)bTRm{o`xgxu&Fx7<|T;P)BqTJIWD3$0?|7hz@=pf1n5E4}7nN|HfA5 zQa7Njp`<#MgH@M=1}u}5;g(}EW9gO_Y?(()$F2@-cSLkXXzqJ}%S`Qd49*0Za*-@f zaZEyS&Bc!B57~e5Y<{oZs|dL0uE1HmYmE#Y8&YJ1ecK2KS}t4JIqp0);8yKCRZN_} z_|e>HODH0HgA66av@?-+i1`szg;kw} zKPG(v0QCDL@kizyTioR=|U++nU^ z9BTosRwP;D-3ZsN&(JUa@;J@;o_CfmNw4YkhK}P)nGU!C2o_m-^ytCS7k{|dbpBU3_R9%Yz(pP z;DP)ATi&YGa@nK{pxRiR(ZParW>X{#TXQ8F2TT>k|H|pedOa#0hUcq0nY4E5Y`vS* zT!nCOSo-P#83Oc11>2tVNi$XX*+cK3jx{$Sy>3mf=f76GWHUHL;wRy8*reN4^fVp8 z(PN7YKu(9s{Rs}5{l2RsUM*4GuIj%tqrq0efFC7O$wbYGL=wYPj!c#+jG`7@qY#5G zB$$n~icc<;(vE4QOL&rG_wh)nCM0r{Y514NJxzV+c7wCAPttX0);PB8$c9u0>wsA5*8O%LQQENy`GSd>e)Z`%H4i`e*e1t z?6UIQW;@TxV6&WZanuO}2}F_+4x|(vM$Bb4v0N?zsmlW$pvUEPtM_>Y#+QN}aDx<6 zJ}cm`Tzz>neId;lkq6@7vpfa)#AE2;gU%dN1ulh4AQAChC_OEjdk*_W9Ff)auugSA z&TFF3kPXY{x?6n~gMe7W8tMOZ|Cs3|H`T=w%11xqio@fx4?Y6_MAwSn4|?zF-4E*) zmN)?8Q-(!xOlNj}0TQ*O_#*y_dtB4m0hAGaJiqs-v@?ypi%O@7)ZG<%P z#@7U)6>p!pIER^2+$H3MH9__GgSP8mM}+aqi#gCCD4Yi<22-16MB2O={K_fyeAl(o z#k7Y&iam>rip_8yg%fi!dB5V0d>#Fq-g8|vBh4&y8GLKf?Zgn*qUQ^JC0;r7;QfSX zms)R(f5c_d{fUqd=@{adDywS*nJO6lC|YO7F$XqL)BhlJu}q%1^cyQANfih@M7$Az zFFLQH>HwWwExytGn<~J3Y-RFuwB`RVg;)(KjD*H>msutOrx4JvPY%{{ch}`i0kz@Cx2=JyU zcC_*;v6Egy(!u`Im$3XOtaUR=yJbg#1YIT}PI!RKdyb4b&J8s9Lx(08ItZL1>Hd^` z4~Y|@%{X_5&nNn)G3GQ`8*Ms9wfS_P&MsWzKpS+);omspk?YckieCx=!4iqc7WuwS z!|&5#l|w%MH6#7ZCn5V>5}Bh@bgb;ybuhziYQt1hcoWkDewU%9i#O;YpFU)~dtJ$- zLwBz`FQ?hZzT48>N}SF7;r382My>jw)j8wj*ZuGNoxaLEdf!~3k1G}|caQWcVG)Ob z-yx)y%0`>(oC+=QnTIOw6_+evxYj1Amr1a8kqmQmw!1nLJq2x&fd@P<@r<>wgF zgzu=lcRbXVDCQM$cYtuf(XlblCH#FtwFpn{pn2+aO`J=YleVg7uqCMsz){N<{V;|Y z6Qn~~J5OEm+|xNH4jAh>ZDI{`mfSQGDIccLXUYuJ4|@^;x1#6lWz|D&Mw}xmNNa;* zb!KWe^*>~Ag$zIA#%0jh z%XZn&dj4+y2!MP5{>5}VTDn2ryLG}@zULN1|3f5=4s4Gz@!~1ONcf{bMz>%pRq}^v z1Z|CTz!NJFp9O?L3-d~m{>+OHUTaJ91MUev+8FdF;a7ID2n|0HK)sGRol!C;%ybr= zIXYyU=oE-|a6*~UuAX{kmD8~$(>fJDmJDAGJiZR0o)UM)y!|;g3x$ST1i3sNX4xLS>@tIr)~#-_S^=Dy4O-_@vkOojoarf?prAmwmYg$SU%Hd!yTH;~)-P7@vugv<7eX!5Dr;}*xcNHP2 z9kp|MLnZv1j#@$toL#o>&26<$CFhO9$6pofk5d2IK;*WYK!hxYi-LP4U*uBkLq6k8->~E*$S@0lf2pq>ghTKw( z3N?rlyd|qdeHRJf6FpZesZ}_Owq(TO+~?07_V;_$t2N9vsmTj&zxADz++-(mL!!PD zB-UfF8+?=#?TkZ_Ns!d-B}pYk9;UW+oF?UUClnOy!@2?BCgh6nPkcs}<;Ro=cdg8i?uHk_6ym|$H!;9hdT1ybq zup1g6lZYt)smV%|mTY&RyNIS|pq&KdJ-sXOG3vBL9U?D{D|8{%+Ka`3v6$%+f`RbF zfU9V64Oz3~-AOw~NKyok=QY#POH!C2#4; zJatRDL9qbTme|4`ebjO1kCRFPWDYyFfGJIU)$*G4yf(j9w*V)9&?it6khLh}eAu}y zsr7}~^E-k?Y_3t?>4*-)X@I`VS1M;fUS#+5kg|jA*K6)K7wGg9$-vKumT!;v!6t-d zRMutmvKi!2QNcUzH!6>Q`aqop3XanV`QPDh#Ge@BGv47ph!N5`O;=%xr$N=e<4z;B z{P}{J&2MWt&op`K>^vH4c)h!~622C%!SqBU+nV|3y1n5|*h>S1<%S>9q_&0Hz}CM5 zKP|}kQOauwfUo5de(B$+_ok?j=>}o!Sk|Iq2z|kyX#l5y1H-+U@9k5;VWMva@jP?t zsrkV?FA~3(C7iwPQn&Y4qLZpRiOsKXD(`-_kbj^IWE?iXSbxKtp_Sw9L2fsUXEs+d zt!*cUw`A`tNq}MM`*hSdPKnG%=}R3qV_;L9%XY?l&4$O(7u}qj)Uj+KYhD-M)bTyo zU@^6n5)y=!w=t6H8kkY$(Fg9oF$f&PE-GsXJw<$y8@ZH10y9JL_00208W<{sFqvnl zB#_lOp;qA~@KoD_^B1CtVr|(fzz)2^sHT2;71BBWrSv7lQ+!VLHc@sg!CTt2*jXj= zA%a~~hr~YFAh}ugT6VakJMoD8^N_REbW{4utYv$1Wpg0sbjta-O}Bl$eYoB7FIStP zQ}+QXKMP?N)$0B;`_sei#=h5B15XB}>}aW(tc#tCUOio_u#1jM*+K7Uf9C?755K^T za^4ozd!;})Q*YXy?aBDv;oH!gj9-J_y*&j!ClJx)7#T4(i_ry+?&9&-}&?- z^oRZD;8($y&!=e@cDILb9w5WOK}Wt~b8)f)P@${YQtn{5+1Xa>?fuwyR`#c#L)7Np zCIE2}XxnG}1^lr@o2@I`oJ4l;!{y5UV8aqj?|8%RU<1t*>WRL6iigc*DkB@?P|x{}ITUd99R%R71~_CmRymHlO%aGp`GsYVw@$V0e$8&9 zhXM{*D=0@=7tT^gT7}%&&yW^B{}5F&Rv4)0s{$15Z4dNlj`d#fFeb|SG`u6aD2u}t zXPX&)3R6p;Zsi!%a-#DV4S?suYHF6+YZ=mj^^bR zpcO206?hhR)xOF%R9DL~^TzlV57a_bN6YpUwG|VR1oJ*_51y%}^FA`4d0(GKKdB4_ zBa5G zqBAPj?Ju)CB(Jm%Nu-4S1HXj~A`~WR5`jG`$x)U&lGg}dIRRnh0>W~|AHUSNp^rzM zxj`*=054z)ebz4+UF2ya=6CRGe+)+*58zs5zK8=7yGJ+@CH_bwmQ#?-p+UxmLv! ziQ)LZFS<{|IIC8Fh2#S538n_t5ylbr8dmbA(w`b1TL8NYqYG^c9vc|lN3o0j2LGAz zB~df8eX9Nj{h9P7UNdW>LuLh;lP`HL;-rkXdT)pB6J&3}RL@{X=M!l!T2Y?^xr(F_ zm+D2eKIq<{IWu)(>@%xyZCX>eyy~wpxMc*rl667s6WuwvWqe)#yh7rh-Z>pti@c)j z9^*G6U_#WOxZ>;{>=&hR26%$}IjT^{v})}hmSb*MSF_4>f&X*5%Y3`;dKK~s{5|1w zfU!PrmBKyav(MkWyN>R{;|`H$xVm0&CGUdCJyyLRiMq_39NxXx!4tix2yO)ydRN&K z{HTEOjPU`@8-_o$OGL1sTZ#Aq>#gVd;HS`a-%n zoxxakmQ=8G<-l^K;bgv2V%h>yceJ#D!;V2WJk>j7M$U@ygYpJP8SJ-@vK+O+34;yv zKi7#2ZIeXBJYEdts$FE=(Aou(rJk>dN#gjW^i%1}$Kx57l)UZAZ)fkMQrryf$;=k3 zjGTGe=eQ-We__k@rs?aMy7?Rrx2w4(-Dg66pU12D7Q^r0K2Q&2`Zi0YTO%A+*OeO| z$ryYN?}-)X=h!?YR_D0`8rAE(r=AdGe!kBH+!8jT91fqU4X=CbWCp!P&(S&ac>b?} zBt?b*@4+$kX}?f^rsZeN zPUoG;5Xa8Xf4LO`-jA;Y4rYuUyO(r3j$bt+USSCA*bCJXiZI)=#CmT1#DRy}R#L)u zHB}DJT8G#ilwo_GWB^~e+tSs6B4q$y)R*`5>T8xZ*E-@drwz={Mqary zX3Rz(ste+$B{69wAO9&NI2&*UTAXA1JR(=`^?O_hNW-rk<6c63_`CICAHLAoA5hZm z1zRM-H_eEdbIFu53b>TiP4It`jW>#3Y>WzgB>Vr=i>I(6&?w9!-y`Ai)e=)9Fdmqu z&pT~A3BQLN;|EyY9;LcN-aAyrVvpSs6m9V7YH&^y=&d*G4Cx?uV`1&_*D^i2Q8S(g ziZY2%x?f!m&7NfU1ruk4h_=1Ty!;_O$Ge(5rWh>R6pn4F@-SOHG14DH=d=+&LBtALE0`uft{7CU6^1fgb!r+Zd?qU%^GIf zC{IWBGjf!`1M0ZH`(x_*~DYP6iB`P8t z1i>!OWg|^W=eHkeIkf$0UQD4Mn+&{@Mha__uNqv3j+wb#ay_tYf|nbXLfRQmrMwtT zBY_?gurhoPG&g_OAq$vt<%qs25Hy<(sAG_!ewkl-f+u%NDYN^i_PCb_dAAGKZ>f~V|7 zN<%RQf-rWJlC_aR{cE+Ch{;O`m~i9MgI41IRxUt5_`L3C1j&%YW2&%t+l3_(;Ey8F ztJGtD!jm=HPQ%y-SQcw56l>2{N;&U0qw3Tc19g0HOR{YcanmC^(Mt?LMm zL~-iXA;AiUp_Q6V3^Xd2y0xraWnvcc5F$QFZR=A9qv1+tTeGrGHvohGdoulCQXFPb z$(+fy)YuyBkGPKdjtchqL(p)x#t4c(nyLr5%s233z<)q_fC4Bsy?2b@uP{HqawaP! zc|Zb1vPAqu#z>;}AlotafFYB)^ki}R`z(o2M zVC8ZGRR&lGbi`0djPuY}jv=0SfSyFoV41{V5ri-t{2FonYI8-0U(MB=oNu6h&=(^M zWDokGU5eWpC&q87BHN;wzy}n+cD_+adsi*w6-fzNGWlWegf8U-6X($N^izMcc=(#r z2tF~70pbA_pxE>L!JRQ9{MLawcQKTmHWD^Q8|+dA3G*7}O^YZl;67UL7)fr|Jk}>R z59(uF(Wk=HZ-^S-e{ZnMT*#9UF@Sl2IhtPDW%`MgxF94cO z1j7EVr=NU|l)NX%K9i+gK}%d86TL*=w(_gyW=7%bVoKTmI-}i`m3dB>GbncDry)>~ zAtEVZleT80=?qUUO_+mF$rO_TFMd#;L(^840sHAVW&w>~{D4BUDIr6Zpdv`~m@tQ- zaz@Djma?GgZ&@mGhp93fmPc3Y(KyAti_brzj2zVj9slXyK`0JP(F4J2O(KiUkd1t#osYlG~pICZ3f_cee{E5a{g!oGKPw6M3^hLHGb5HX;Nq_Uj-~KQl|1D zN+XoSnT6!N{AvbD%XHzA|K^zthG@gImhci0ys)5s=5oEHkl3Z zI?mn}^hc#y&$(0WHZR}Ejf2iRA7nUEFaEKp$$d6u=J{b6^w*JSY+Qwqs4*2i|hA*TS4*W8t2eubNyXSo`iT;r5n)e;;;MH#c!~cZN+v&O>jLBm?WfSw>I_YCoh>K zZ+{=+4EJ3bI#yj+Ftj&&~8uGznRmY`APtS({Ft(6U;_xVHZ?eBm~Q8&$Z+=P+a<1g6nt|y`AEQM^up6W%Mv1>Q9e5xH| zBO#quDftz!!43dvu2+S`)>PI zEo>wZge-YjghP`eO)^#~K#@D!2rr~PL4W-7T-ZJ^* z2xJ9eeS~@i>U|fa72#uai*N;YW8WHiy08C+d_t6t6GRqEi0LCj>xEH*A2`CB%U*nsRtpQ%r~a`rRxv2ZDQq$rYX*o@>W%Y_@^G7o!*SS`pQg=mtMfAAi}e{P-Qqup7>E6bE>TgK^XB^&2c-@jWTt zQ-!x#C|5px1~~|hxD^b+ej|)KAIPmwc9}_sKV_1kh<0=psc52>{Sq6ff_&i9y?6tG zbZ$w~2g)wNzM|{1!VkD_O*iB|34X;tVk)|zhk8v`-~v$Kt);ya+efADm@^~^$>>H= zU1EF{*JlJ=5jx3ZFl2zsTDl((7D+4g&eeaF-UQT8cyZpCA0)ZS_^`bT`6dQd1tBY( z&3$&LedF@jZa7dQ<8W^K^WL5)kav$!>(eVWbA_)5l;aX=Mj;!8x|3|8!ct_|a|O)@ z9K?R-uu$}miyETpahLe%^6cCKImiJ z%tBT$nlt_WZLfun3Lm^r)c8R)nL=A)I1_1IbyjdzPOHM8eyQPC$ativY>eIEvR{GZ zqLEH>0N-u|J87m6qa`5ZMF`Oktj3^7aiF|Eb*)b-jhHXiXv92)N@HmZNbHhdo~dX| znMrY_>@;TomRJ8G)5iUtyw-c7)H8c`vM1WfDU zCZTOcQeb7MONxGgEP$5jwXJN@0wLVh_SB{(nK#Csgr3o;z%Ib|Ak$T1dLY3)P$Y>l zaO6rZ#OmW>h98=l-XYE1f4yPH9g^rl8zD#T_o#(c6bHW*piz&axSmz6j2ZfsBeWX* z@th$Ihbl%lK`Guxdy4jnU)rNw8am%6%l%&TU|vAiPX9zob_*dF-l~L_3yT~9c|pbs z1~G^1dqHp05*~_hB+LumG$yoQ-G1wOEzUn9aS}y=l$^~-jqRr_TG=-Zw}6g7VTF-< z`}KQJATURTNC%coj7+!+yay@VyEpKLQVW+5^f{C$T;ezKQ7F;SPlvGkS`5x4o`P^A zFp0Rl{naZ{_k77gq+N-|7=Hzy`9rR2CYNO+m zK^{(i;?!7j29L0(v}D&n7-z61iHtmIWiK@jUIm7xQN`a$NLH%eteSfN17 zw%~s~QVB&@fULHI>Qr^belu`~MZrI}GzmtDwm9Sc&*wG(gj(6)Z^Vc0C#_X`QX(Mn zPhvH~K;Xy}Y`%IO03zE)noly+uaU-TL}m^L-}-KGV{OCXE@h*-sr6U5bt@E;e3s_~ zVFNM~1kS?W&_9_V--(@B>bKj7@L<16_6+b9z&}06BT`&_dTORpsHJo^jfIoQn$22g zRK`d|7)u;PMvSX8xaJ!iLdh5qq3OmhX$_O7b1L{f6uxlp?%Kwhw%xDvl}K2L#imjK z@L8OZs1q3$!d9uc@A}bf+IVq^b-`f=;RaQ&WDf@kWFL6Y;6OMP#f(rv6!=1+fjk-* zwoNnK0<%W7J1|52S@Dto!`L|lX#y-;cpB4~wr$(CZQHhO+x*+M&1u`VZM*wTyv2*S zaW`*Oi`rB~RunQ%p087UGWF8hSE>s@-+Pxpy1H=xag(2WM++C`Id6Dp6u%ei-;xvI zZ>>;n(w=Cn`WLeh)8cQHrcoC-sD?dM;BDetyU2KqRjqDv?f#b2L%dE=_-i>wrN{$n zM&cj7dPV}XocFv7e;+2iGPf|cn4%ERYa&0ygBiU=RXi$ct$$u71Ztx`6R+>@O+C^q zni>8g17>+TMDV;INL2{e3>Z41mfmCcGY2E?eOW3qak8Ud_h!m3&%D&5CZT9>@@ zg?^&0PJ5#Xi6P%L(|v9SZ8qX0I5H#oO{~!DWV4XKSCSq3@w#~q`=Hjl#z?4K@~YD) zV>^PLD^W54en{Ge46+s&8-7Z+t9`^eG`a`-XW&<0*l{udR>r=ozE!<1jgqNHvv@+_ zXwfrngt%PqZR;edssN@pb{QR}b*T4%Hpm3q3!7XFn&;Z^cwzN`wGuR(`U&QE71Vw% zo4H8q-(Kj#gWg|b%7a$32ZXGuptq*Ah~E_p{Fzsa7e*OIbXyRzoQ&~^fMooJA~3Lt zB7y5W+jCkKnR{^V?J81VVBa;luL(>JN{I=_lM!P&KPUK_Kc{u;FhJZU6PT)rBW~2n zsPV3Mf395>AQeq$JkYFW2yzz^_C&Y?q+5wrBqmaeAR@&jq@e&bOobke)V*vPOZ%RR zYw?rNfS4PY-axjs9lO$tat5ZB+T5JAAUGd=;Fx;vWv^urxuTTd1u&~__ zGJa%f>^UHO^CRHCntpb*masXdIt*i$N7DIwizZsjDCyd?-+fC|VtZxzVSgj1ELQ~{ zJ2c%xV5AsgY_XK8tUm}jidJj1%)1^&;jyCB=5Aiq?APa)zC{i+m(4*b^p^h>PXrcP zI3m4=coLVX=hjmv?Ir7>Q5j1!$=0MM{xXO2D553*DfyYY1t<(WPX3J!l&wU-5He7a zqD;YEu#~73|7nK?sSV@ zo8tGMfoZCY_K%p%7ySY7o?Sa znnJG&BDQO@Ez08r`C2!Nj8zsui_+wfZL}hrwGaXAf$PFw7hP%>?7-|u|~i_ zptR{#4YG!2DF+^Z*~V%*!UcGb%IS1E8#ubFxw!hZlRr0 zmtkE5m>P*;&<|l>qa0z-#NgG@fuFn6)Iig3Bg^RzI8Jy6+F!fyI8fUWe9F*m#z|!#M7Uok;B9n8C4W ze!RZV7LVw{=#X!Oo!GEQ?)*yTMY=b0{d?n@;CdcBNQ?~Km}LyiBC9OK>`)`TCi5CW zD{09h&%wJHCO=6_dXKDEumuuuEZ8MUQ!c`y#58sm?j$c!x?}~TDG=GLVZ*>G5Q%n) zYsj!alrMV=4_LkoU}ny;D1T*2LN>|d!Ej}^NmZv}QLLRwn(GpAs#!jN>&{s^tgQyY zrO4tg-w2As$v|2cXu$L8vG83f9dX@2_0-$M0<4;dpPu%i3Ff1Ln^{|JGyn9L*!_sh z{5v6e&QZRz@o+YA!czu`n>CAp1MWgBStK~+D_?U+MpLO(@b+k1mu>Ra*+CYB)vE1W zT8Yl*?fL$+{$uVnU08_~2XKOF_$S3Z3D@ToFIJ(>TgE~)4s~w`{>zU-Z@fyg9!MYW zN;A)L#8*rjmq%*nLdza%G~shf9yqUvt+ZgePn@2}XN!W-cDNi)^{26%Sk$$E|0z5?eG`HIFnYQz=#`9kjHoP?nc1@tc2=`70-R`>_0C`^h4bYU> z)as0YZCegdU347++=#hO4r)N&9@6$WQtsQM(AYyYGKQnFq0$cQEjJ>CM8daXsmtp|uGf~; z85`Q#C~UEf+S7Ps6=xiOfwzhFwYNa{kwFi)XXab+i8+ z%C@f8WYRxQ&pp8*_uQRgiH&NG9EWYlcnZHZ4{LasKU&ZVOgON4-E9#&0n3COqOMuW z$nw}QmAAJPw)E1gy(-JgEcw!U*Pxt7MX6`Bg?#0qHb*lXk)bcypNJaW8AICo3WTWS z&$Qgm|Cy{TOm@gDo2~d06_b_=ySX=*;N8Quh*|mo3u)7%TDTkuY-Foog(5PU|4YK$ znYbENcpO6IY%y>7k8;?Z2+0&=dSUWh% zeu4BwPZ2u3RiXn4O!itd5eF~U(aEDN7OBk|qF&i_Vzq3GX`??2fX+J&E~$Qv&3mXW z-cKbVS(-W!5gC(~d{F2%cf9NK*H?6zrP{pMfV|feqog;;yT#Q63)N{WU$DCKi+Tm( zj4{|_@ID2yz}4|`Y7abpMHxKL<2+2{^F~2J?uW5$yD zVDd@pk_SuH6}~m!I^B75JLSC##LW7Vkj1j7#ZP6EU6{Wp!|rk;UdkQiNz?;SsVF>UW5WB^k`9x zMNCa=ie~u<-42YcgOZ~HETW1MplaPh7w|_WXW`bgXQ3a_FqS67Y#10(ecJ`ljM0>) z9V**;b!wE~(DZC->Fu@-_wj|~D*;k!pODfcIx|^Rf;Ye<{5^X}VZ7jJp&kn;bRdwp zHN9IAEBtshU@otq?^Qj=8Tf7&}Erq-gN3HK}WeK&-D?{A;$ z;aw~qVB{Zbg1feLU~p+&9V0x;Kg#qV^8pbJ4n*@iWJRc(RI+U2;?1N_R&jRH=5(9y z*m!S{uU^HvpUXn0caAu>g75zs1eWn@ul10h{Plq^*4y@d2X#eNekqLzDwQaUbm3O0 z5J4qF96`#5MrPI@QzMG-!h$Rp#MN3oMFuxnHLlTjjLwpCP?S2_FTlxr(A(q1h@AnUqCwmf zc$x!|9TuM3XQ}WHy6XQOU^*~mRMphDx#rpG-I{XtC_!$m?U7#Y>wQ1lvm~OE zISoq#|AI*~;1=h_qOA3i$d5XO&Q7)L&!iK!?t(SF2sBnC_1Aa~Bcj-&|JO?QxdW|f zIkcaSLBxchXFFlLZfeE}(uK*Gf@P#))lU`S9A5dzvt#o8`(I+|*JwAA&7 zg96jcJD>&ZEANGcP&Ap8lAD;F4C6xG8&*J-Y2%pnycPA`B9hsHBxDtw_#wn-XAv1hDndzxx7{rzeMAPMOvQ47XWGc2VsCa~u>x<$%4L)wt6O zwgCCvwfug0R*Ce<^jcje0X_?krOVK`9aRBpFllozQm7DJ1Viu$U7g0FU@X#=sh)#E{+>w7om6@PG6}jz*a<(eCM*6Z*Oi3c+1CP zEhl9Nai8ypp}ohEUNRfH&@~gb61;TeKK8axPB+26S`xe|H(Hy$S4GcnL|xB)7BsBT zct68+3O6&%wAzdh*Vh>tM(3^TEH2}75=nHsn6GYlFO+jOFa82W5~H~C-}wF|iLw>; zVu6!t#BBLzzzFo+QNq}ARVp{S7#t7U&PVG`B0J;bOl4giVrf%ty;4Sk5mnU4beJtR zozGZlfi7h#?X6ZJiT=xWl={EVUlu2avxTwV8#Jm?IzT$5c$S(ZKDUeJL0Hu0)j%K< zhtEqzY_S|RJXg)@Z33$oNmrqLTT{(F^kANsP=_2pg1r(|o$D*3|H=D=6DTPmU$Y#2xWRDnS9xD! zF7o2oUu(Yd%u?tOm&@zjS}Z)tJPy78KL4F*@=p0>(mh>$lV1v*?HaAiY};%ua)a}w z&W2K*9EmA71Z7LJeza%Fm{sw1>GIU*RVGpHnSuF$K7wVQ=lhH=nL5vstf*_~8pR{L z4r+79=sZgsMYw+OhSIS=h2W*_SW`wEGeDqs2y1Pd^*|{4);jo%0I(A2)PyB9-k>|e zgxUk$N*uqPq0wrI&fIxlt!g*)4fyG4Gz^mu^P(SAtFj=?x3S#$3YWIKl(ZE_?beCP zaepc;MkNpNOYg)3wUQF3+grjr0;6@4Sq{_v4 z0&n|!<07+j`en}&z^70y}=w;O3&G10eWR8=v zSD66wU|?{*gN6E36Rob84;LPgI*u#*PbZGF_7@#0F3uRLGCM^Fsmj8>g#c%Kf8b8lnRB$5$;C4Ti`8b z@N{f8scH-T7NQCTjAlng{gRvgjaGjU)M;O27Y(Mh7nUUFjd~Ucsft&Z+IN{hyF!Mo zA;GwaS6}<#9>P}gmKs5#HVJ}~rl7KD+F$fvV;Ztb zdVL}%FlKj&8oyQ~kTb~|3jL|GCmTd}$3pRV#JY-X8?MtOD>|I}D}`j|I15I_HN;!0 z6{E9J?O`U77JIEjCgx21s9Pl2@m;AAqb?`-)#y3sx3+Zk%IVtnEed?UTDW6s+c;UI z%QCqG3~*t~0$0}N?f2J(Cho%y*@U##67F||yXRqRcNnp^&c`1dGG`bU_t!m%iP7iG zNX>7&)sWslF@nwSM4=N7=%t5uWY4?CSL@_)7Z*9pP-THSmqW8S^|!6mO(y7?F!(S)(OsY!yw@H}q4kGTP8!>H%3= z=QplBnm>6D=3jA!y;Zfgc0{zD6A8=oEK~p!wyq=>%T+m@bk|x><#pvR?k}(RUTDAK z3@u{}$fO0OhD!|GN+bE8I~enzU}vKohjND)25aOM^j0i7jNgR}0(ENhG(dm@3M;|D zKlc|FOo*U5L4Ei7w;qa=XInt+y8e7sZXbZx)(;WC1?w6X9f^PGr8Si`XB*bBmJjT) zGm4MmLPQq{55$zrmP5FUHzi}`D77eB-LYyOzZ|U~Cl|Qu`WDb~!<;FF4{7(^T_r;w z+Y~MGTvLrF!niaor6K7JL!)Ze&K0`blgaeS!??ao$o7Hf=&CJ=}EL9 zZnaqvotneo$>0`9B<%@pMOo<@8n&9KYANl6j!}7i%7!f@Hcg&o`g!NvtDZK>m6Lb6 zOFj19*tfCoqzAxYV@=(}8R~+}*)pkN4h6m|!xQ`sO0W25wocNMV^x9#@;;KhlDQF5 zG^f}&15SbqkWPJ#@`!U%1P2o1Z@gj^P@b}8VsToeV?vK2E`)HVa-*p54(g2b4V9Yi zexE|bA^HP8rJcH0uxa)2%_H@U1Lw6k0CX^90W1Cs~ip^@mC}Pv$eHX zSVE2OysS^fC#BLpkVJ1gX|8&n=8C6^r-M$$Z{IyoaoD`i&j^dsJpDURXbR^CyW)9; zqH@}hSBC3rUL%h!Xd}oQx%o2?mC#s6F%F*1edRbZVvvPH6z`CsiUXuyv{SZMwB6gG zbMI`*^rUc%F>F)xkfi+~Pt&C1jg^M!zb5o)vO*?Kanq$aoy(~qIa7!N&Jd*slMSU~ zM>L8~=e5i1XMHy_-~o=xBH9()C@L&5Gn{4a3M8LX^Mj{&JZnMV*eS0=5o)xu%AXR+ zDo(B)(Xu9U?VMzZtL^cI(B^wJ2QD)SOj4s;3GQb{bb@};U3K~!6f3SL(LfKa)>%BB zkQqjPN8}R3>uC_#?LIo6>GgKL-ur(G$u)4|rOcAa%(WX@EGd{?p*2FE!Rj-bH3a?E z#Wp6^xeP#YNMTo?n^DP>+j$Y^A8I-!8WE@CX^G@yaJWLwC`@>1V9)D+g}IxbNQkc_z72{Y4;mU#wjZJ zB`ud>sH1X*nrfO)=+(tK)e=kG$C^)&1qSeYh}qsr=@HxiZFZM_RF6x26%XW<4EN7S zUF7SvjoT9*G{Lm+r$q-tVwN4Ni4$lY<&WQ2<#ua!eFJofzRxgR5l}7xIg4=FuwNvd ztv5IlIhh-_hosj$gLxj5L!+~>C;`Nkq3Ky?)1=e>PJs^?UyY$?Fz4(-K0>n^N5--} z9q$e`Rl>~zvjD^<;?xoiqjdZL*O(Ob0R|w`7Y6v#17Qz--MJ={)cZVb!0xzasF965 z`%6OiZa}3l)aIoT`qWfcR#fc6P(k=wt;m~zo{Wc$VaimZC`tKT(J1)d;pw!^!!NWz(vb@8nlrhBd9c)8OV zr|L`jcSk~p)%uQ6OiVY-Me}n@%}VihL#P#2MW$CK+o;v5z)D}zPF`H8T#!OVeoj72 zBvvZxXTkPMPHuPFdBznhMN8uKssoVPsZ@G>Vx;oaO?i>OEsPzIcnR zWDt*#us#xQ=C1MH%)iyPa~!fxg>lW2m!B$$hFll<&U2$C83%eYPhcU^9sw1r!T zXAd}{j4bZ=_da;E+b_E%dt@s;-vi?^3wYaISA7-$sD00O#!wh@1Z{E0UTuNV0+eEw z!XIu4v&(wHUq=!&mFw$?f0+Cx8CTf5u z(@K0qdXjL;O4-U63*d~Y#(qr2VuDOt$u`Rw%N&#@ot8Psmgbf`8fzm~%O?@N3H^hK zPddl8ghsOff!5Vn9>Pps84oI@MAs0%q+iG~A(4@t>5*+1B!%N<$&Yt~d7=U!-_JIr zMJOV=>%u+k`p=mtHRAQh9$a|kneUD#*-FEY>RC~yw<{x2th`!W;WdC4`5Tf2D?Jem zK%5x0nnzM$;8{Syb*4#Xb7o$Nq?4$VMj>#F6qA5bg$5E0XCD;;caqTxSoS(Z-8QGY^v3WpBK#lZcM74SeyBhM9rGhepXa+jSU|wOM z%FJYe?9fSZk}{;}0webedgIv>SgvZPw3zlkk1x0EJf~sxRu9f)Na7c6$IdZsajJl> zn$4HL5fnS?;i0A(84t!ThbrX?G=NV_4J~FKn}&nHfKbxf}CVJ@?QjB#j(xi%?0@M z<9dh|i|Ku@D`*}p#Pr8eU9|K2(@ZRVUq^lp+SLmIsds!GM5L7opk1~@ei2%sC1NKa z=R&=3^sr~K_s5G^J@?LCFLpgtaU+uFIdLK&#>_L%*5BTNOWj2KbWzG}Am`cw?FEzM zaV#t_NR2G#gM-@N@1@)cy}#d!Hml=taz;TW1&=KJAccRXLy&7IUyKhdYA9PB96PjC zw{Zv*96duWXP3HZ@aNp*Qt2=hv~1Wjmoh80>sFQ=!EZhnVqe9b6qU=^E61aXr2`R~ z{`}6gZimN|dCrBc1_boo^CCjaRO5*1z=giDRh#CcH^~=y&Edk&kvE%Tc<^K{Q40c? zV`dLWFBbganiD0QBdi9Q2rpvOCJJ^D$-;{b)r~*>*75~~=We+u{*b}a%wpoJoQBS0 zHNkfJk}k{>mMSXrAf=?-qD-!1_=H7fD%=;6-1l#I@dpKXU}Xcb9B{bGKBRngX>rr) zx+rz7UoElkZ($1Dl9GtmLvnHl3f~WNm|QX7?fE4D-fyWfeI_OcwIw25IlL$KCAdp~ zW%Dw0@i@SOKPDD`Yiokqm%LJrHAVKqQ4T{ipSVN&7MH1dlmr?C+-ow>5lWhNI+|WA z7H?x7w4P7h4H|}5E2V8(?Nvsp;8w1`krXhY9C#N#Yp2y)JT8{%#9?c87x#13Jq44w zp+a9UGKIb6p0k>Z_ibNwT3yVY48x9lSQ=d|GP(5qYCIX|!PyG5DGS2tn}T$Ns#fA5;-t>f1IinKx_9=E0Ad&SFM;8b!+1Q*s9W zIB#K(i#k^Bw_WBTVO!w{h@}K^fM#M?MPZ^&^rEABWh=BNVnsO5RgudXI<-f3+NxP6 zY80wisb~r$ewmJ;%SmfWB^!KJ;<&pbXT;jz!Z_IJuXa5t^-$}s2rXYr<1ARrLrwm3 zmimO$VJcaXEpWQQS~myd4)RC)PhD#8mSlM`p zEfrgxL8NzWeP%u328|4E={Y8nN~lFQ!tRh|n$A7VIL$igz!$M3Ua)7IAGa#z)#_VC zuZ>-UQ@OH^ls+C!XeOi31BaNjKVexwn3t$x>udwa*$WIklD+;kTu%oEvhM#KBe=kR z{YtsBFI3ukYN?>G{^VxO%_)yN_lW9c6&fzY3_ar>y$Q?#lwfviUr0Cadl1+vi?|`g zN6U@W(N^lcy?GzW@i1-yUEXSJd0M$n#K$X{7{2#4aO3y7yeGu|*fmRjEYPDqJHdtN zu1m+3coWYxK|O=xtd!OnunkB@03@ukIs|%UXk{DCMD$Mhs(I(X+kWwX{C%A}XLwh* zXa7ilrF-#!eI$A56uh6e?m!}|STQa9CMzx;7o0oQP_>h&IJ(0Lf8ll0Uapxg% zWwbtGM32YEY-;Z9plC5qHt#UeI{*6%4z?XgX1R38biwqU%L4rC7iXkz4d2=8uxsC& zjW-Mnf@$5b!KOuW6}oJ|ob4niu1jXP^`G=enPO7YOzZEkGA4#IQa-l*L*212wQqh% z2C<;WV}+ULlK4i0^93J0C>_k7J0iQ3s@kV6W}EqvE2UCvh?s(N)h%(O0!^&UW{a_A z*ZvkFv2E{@B%~XAJ44tGDLW#!NqVYTN}kZsXm<@%s}aveuQg-RFTQFXD0du{3^P;P zYwqhwAGR@>dDqP2B~qDrW{XV3QyLq{V%7jsnr8%k#~b2|=N?bIZcr*@wCWBB;7b2W zynFTh+?u9GiG*Uxd&p~AmnD@urE{|{P(B4`s-1={(vMufX`dpRy6bi4<8P3*P=7=#;_hKEA^%>13<$P zicMsTF`6mXGYfZ~w?cRCQD4i93vWKQJf59z!IAxfTPEend^Pd6htEdQv8al};;D=i zcFl7;OA~zs08bMI^UoHxC+DN(=o#b`9EnhE81{qEOX%yY)2C_KD`a(Umve1M8W)TP z;>nSFNBymRT>};y`n1zW2S<(1$mXiHuk9B0oWja=rry93b8vsa`SmQM?+26NfZ?e} zSIy0%p{;`q8qN~v(kG2hX~(OI&PT^9E!~I%jIiD9Vy~`rO)Bc2*Db94eorc%aDm+A z+Y`;TgMuyj;Z{Lrxr0HO+~!<|2C=L<4UQ!8NkYuEw^fX)cSD20+PM;ZXL> zl+4tX{0hxY_u&`m=j_xk_0ww4;fM0L%kJjVyMQ!YT+MF7JD&kOA78*tUS|FCbyd}6 zS@%T{&*M_AquTP7B*3axTYYP_`FpxApgi@hdd1hcz;hv1rW@+w7%Vx|r1Ir@ z^?5W#uP|qs{(;QbVQ8Qz^3p4n+}TMJNv1?DL=B{l4iqJ}f+CBbvfHszEI^*3jeFZu zamM0XGzEZA>~i0sHJIEc_gQs{UpMTn!A+inC>JGrN8FpF>@)!vvyt?hZC6OeEmbt2 z^%P4U^LJj}ZI5+tsa;h=F3%j*nQ5mJhXWVVv@Z}=RlUic$vYjfNdvS9Pqc}u|ZB8{$oT1G@rRzZ= zB=ngx;0w00?FX)?X!=K=X?_u7ED~7#%VKn z-Ilxek*9Vn3SGX#-1p*=d}CFQ zy2slm?Q*0*>sXRY(q2ho&&J?aMOLlc$oHA`!RPt%4i8thJ+n@m6(L7M*bi~__EoFj zNFSl^xBTh_q+=9L6!JIcj_VE&Z=cwgQciE)h8EjOjqSh>dvE^6p7N1@qblqh753ns z^B8UG;Y*@FJn}`6=8CrXHs;WfVr3`bF`TNHYSStN$V`2c+{V884*Ip`!S2QS{sysd zKG<*E1CXAQ=oRTV{)F;G z&T-6r_D!oi#Fw&T-?jG^^ON<^d&t@AUz<1dM?--)t%6cF7w&i^bO2?rHaA@Z4_A%b z_G^PzVO}J6XGfDju$;OBMa5=uQ$WT^iZ`xQB_WVLt0&D=m6)6C9Vc<5w1Z`+lpVCU zq{2CliKTK!$W4u+&#ennto7!40rU#=#aMkV44JlkQ(#B$9x!kpA1C#GeLHsr4;Y}e z`|Sp`90ZL1Jyy8M72r1PpaEgS&Bmz-V}SRq1dd+a^T}m#jKItNL#HbdWoyUBLoOW$ z1AYSM_ZnVO$@vqL!4w=cz~l4|arSunjl^WuhH|;H3qkhS)J4USqd8jak-8IV7**PbBma*Uh8lZiq0(z0>#8 z`jut(K10_1mBDY|vAenl&lBEH#_`NLEi~Jci!lD#r=D(CSNG{y8hFjF-sc=ID7L?; z+R>q@3dj6~cuzgzWwjpMA0*D$AJBMIz5=ypSsf62YK3@vI{Fn+dJ-R z2m>1EKTBGio!yVb6%D*pPuSLIuRBZ?Kau9-JkFu%%A(pR&qz?ZFE=`C&upbE5oNa1gJ zdU*3kDuK4!GI)AS9m&}vMPT3FijFKnol&9lE*EdHEhrc7ElA%b1v&gnIB>aJB7+r5 zztx$YOTWIE4>@}^ya)RyW1VV2yEmQ=D(vMYSr>7X8Z|Rz-4NU`u73>?z31Z9J!pYq zGNWDrzA_M1l5F>?UNhM+9y5Y_YD!l=Py~uHNr1qJ;`>+Ja~*vdZJ1LQC_jd z47PBqW0)FiUNAFXhpJY&@|!EC0YYzQ+1$7*!GC42WKb`#%&QgP?lz?m8UcA7{%d=& z+sKx0t4ePfl$x{GR^M$+zTPJ_u@a+7EY26(vz#3ET^ozCt)q+!^Y&Z&>*;QB#?j%8P6SbW;}b@u0;GQ_dX_`W|Yu+|%5wxJ#d{iu4Xn)p)spCGKGF zbjujp|3>QfYAJmfI6$Z^Id?i`wF#b|aLm&|yxe2sRg~yeo9G>M^XoOZ?^s;55;R2G z4u-7%werJ3&g~!YE88^Z{RdcbyE%4k^xGt7Gb8Ygs2M*)MoaF~z6HGRU)gkT0l&EY z9=+Rt`PoDITA}MGvHXZ3fna9A?;3+s?TXHP*Kmhtd1`rdjXxo#9nD3U0exNAKl|k; z$&IoL7YPpXX|!(y^zD21{p*L}&IpK?qy)H&B16De9n&=PzKk{iv==k4LxDv;11ot* zLJ!44hz$JCp#E*Gzl2rs*_Tc2;%yF}56pY`0yj5EKgImf&Eb%ykF z+NgX5{`f(DmqaQ-yCy%C<1eA~n$;z>Wj~-(C!%HBK&Of)wWakjzBN6A2BD0!#xsWK z7*B3Z>!(C_@=fSZc?`a>25lLKePr+F%6AVmM)bvtdVP=T=Y)SRL8FR?^+x>@4)dZ2 zKh>JmA-!WkqmHHfCH5ggf_6ctj&+QKfl>XtCwYT(j4g_X{yBx$)6uIVwY=#W)B&2* z=5J)3V1e9~sAh2S_Ex+Ez zc%UW5dbK41W`niCVB4P{nM3y)oG5jp4Ei zM}>f|Gl+E$iD8^wPEF_~UHzb#iv}P#a}1^9S&Ia3(8VeG?J;Hzu2T0l@LAZ(y1v1WjG@7)i8=gZ)U$0KAYZV2v~3^ zlATNlzNt6mc3p5CYtXG0w&<%9k8hror;$jHg(q1C^C&!RY@?ZADYlDekoLw1gVM=}=-kYXBd-58|=X3t5dU@kst51eD z$w6D&eTXAYBiY-*EwsesGpE5crCi}~p40aqw$55ITqgB)Und$p=OQsZ3j zj8h|t*_PR@yH3<)U{l>Aj8rDRn9@bEWkelD(PJ8g6NF{PPT$KUU4}jfnmWCv!Tv#v zEwsBh1!*m?Wjb}!Xc`utJ5P4=>RD)CRLzpXI5sJEH{OXU6oGccifwH#aVK(bJ+xqb zBDbUpX*8}N7YSg+$sPFsvm~4{pXD&NVu(6`!bYnroekSZ7lP_))?6z{+t;FyT~lWp@XSlPaOjfFjNcYzhXcBDc-#yeF0(V0-$;Vi;=%~_C93n(1{uMO z5APS6l^oFnIe|0y;55ewWy%Ht$s2OHZA8!#3l~M^7M-A=nqecZV zQM*dxqc);@mD{#5S~5po8ZdZOwVkgqH{KLx1lk=%Da;x(ZBS2VGY^+jM`0aI-q4lS z_FI=?GELMa7Yr3Y7EJb*(Zv~nwzT6KrAp9GrZvhlNwR1uxgPc|QqdM`hvzeEVy4fb z^Ro;$WgFC=cbm5s-jI#&zb%rq&}*R# zvJdfTB##_dZgw6}J8rzUnyEy-iBa^=JmlNJ~no{Z^68R+$E%BrW9Z7hgzVt2A?KYkijXB1wQ8@zb6uUMxtBgkzg+I)D zXxF7XB-D)j5ZX#<_9XXTb{VpYkxryG)(N80&#IWRG|>_`+h_}PNYGVHechy{?$UY7pGAGAod3Mxp^GcT(D&SaKH|f{GsMWU-Z}D?&w; zN%m>t?WX_3K6~!(gh~Y3tO8!c!&aEK`X=mEf1;Nri0kyLv-V9bU$Je)A%PFoAx^q@ z(t*hE9Q-jsLTM*mnz(Vcs8*sxX{;%sIT4ZvCF-9*Kc?yqD4Ua<(T5#lVlFkhhZpD| z_4&z#Hb6T6Pz-3o*+SFBiulbpVUlIRaP`_x)`0F zAi`9;_Ar-Ql z=-1)A(iLX~ar=lg7QQa44dxpAW&sEx2RwsNgh}GTU(yEpoT#B+!ny(8+>pXm!pv!7 z1!WnR%9GS9pe(YXiVO=5Q~^BmV>E$Pkri;rZ?Ob9RQzB*GPj|%O(C7kX*2|L8@^cHMt2_XULep{o@!7at zMq6q0Rt-pg8&e{imU(^m#qlD;VPp~kF|tW-Qj;QomQ%#vsEw+jge6-_XU5zStLsob z9rLI*NgN4L7-uP3`q)qFHP0wIo)e-}iL#1VH2u0*Vz&nrKEyCBaad3Y;3eV-0y402y#!nS5S83cb3=S-`mhzF%eA`iZ?bZt^IWpAlhUcqNTXelhcNw zmQ->&v!F(RMNSK*#NRvU;9F_01*USc>8roD3fN&MA#wRqCx9*WnIIeMr1OrY11Rjj z3n(Ll%EQjRqSdF-L28*9cU6uGH=d>-A0NsCk@1n3V5K32W{M`mS!_jUQ?$WpNN0u4 z)QK>g%VPSR=F!{M&7Ck^q7e27OAJ*v3xI(TF4N>n+)S)TMDd1)jd8t6*-#r9lagU~ z8gV! zQZrhGHc9pueDx)e3PhWbQKJ}vwa}x9))HgN^}!B2Kkv;Gj`n|{QlS&(85yh1!vez8 zE~Fk)QMS6H9=D6BQk`AhT*vQ^VP;p`oh{thvb@rs&bueP-aX%$O&9?()t9HECl6P5 zfqO(_?r&N2Pt6uYaxOqh@ae$PfJ7sDA#egy5`w?2a}t>?gsJ&(SnOUa4C-(LX)B9vel4ZAl{C&vUXK&S4y zFO1I*hI;9)h~HsXl|(WH7BV&#mvk+J4h2qD+{GeWstYNvIxa`MZ&G&-xMb&l79Mr6 zq4xY}=NuXu)r(#H3dm;sT3ObXvxd&O_-MVmpaq)JyD-Kn?`dDE(+ zJR@2cx^yjZG4vkz1(~SI%HK1G^Q%TvkEL~~i={+hu^xaWug?Ft!g}vhX+MDjGj75E?-()u|6;^|&%nyY zPXB)#0aiwOw*QFPl_sRK_L9frUJUKixlHFFR>oJJ=b_gp_%{`%R-O)nbZ2jIUk=V{{1Z>9u6E z_9d`A>4D?cYujiZba^q99@d|o8qKtSBko#Xt|fBgz|%NZMNX?3Ave@k2+RsY+Gpg4C=fkidF|+ zzU~9wT<4^Z)^V7<1%thI#H9ZN!5b?*Co+DLwkO2ZzV(rR z)9R09t}?CQQafE;dj9#QoShVQ;{8{WQ*C}BzA?O{9k>n2Cgr6|-qa=$q~-IX>CdZ2 zBAJ#ia2ZHENF=F?B#z`W1*hD+w%w{#Ebmb62e%;auXa5#( zjw+t-f84BZ3@e=NVjS`BoaWs0ans#)v)4M;i@TACZMs$h50*>!Uts~g0iAetKZlP5 zlj?}wevkRqS=|82z2wZ9ZSm~s9KHl+wNlAVnew;mibdv^NhAqZIZFmRiK*iWrMGKv zrN*t+lKW;dCB4H3rOs8Ru{52LB)SKo@`|kDa>~IEdS|2Uu-$>VKc3tX8q%!0Z$Jev zzQWGdj9c+tfEF^l;u2%Bm7?*yEcpU~KRHqn8*p~Agxo zG0gy##@p@Ldd}h5`mg;pp5(j(AudMGX$jd6anEI#+?nb6Cww>z9_y!DQB|%ki4T!` z{9KQM#E89+%gX;@>@9=p3c7V&oFIYV!QI_mgA?4{-QC^Y-GaL=+}#Q89vl|#3p>eo z_qqG-d;XlNSx;5J_165+)zw|I#~fn}K3U3>A*`1CaBfB$gkDD&?OfX!`~jT3)?P0- z@IB>L=I3Pzw)$XkzU#kJq##RR8wGexbo)k6ZC0En#%9qSi{t$$HBmFb_ zLUhdWLhZ+gkxJy4U3y}2C#eO4)0nR-Ja!>_p>nNb6(1D0xWe?hF&jMW);qq<-GSke zSff54rWf!=+V$n_?_w|-Rp!0%!9gx@lOoudIZ!TNb9a!~K{~!3te7N|#A|xRUj><;i1qo4V3|?8NP{kWh+Ro=owQD!;GokL z6+fI+4g?~ctH604jbR#zea*H)AKWWCzL^)B6IC&~8)K4Hs~qbzzvhbv11;g|0f=sC z7;^3h*cWNLIK`7>ZAHJpZ>^YR>JK}XVcb*aY0V=>UVzUTH`J3KCSA)1zQIv<$z#)F zYZ@TM-&>ob0?X~ZQ5 z>TcHC`g_V|LhiTow~sI0H*;mUSd{@_u)5@nyI#DhPTjKZ9jywuyK<48wS#xyubHx? zSJx7j6@@duc%6@E^qOlAkW3C*gzS2PkB{-nj5hDkbtLp2`9VkrxZo>7J64+*LZ6mM zezA|Xa21pdwGOKt;`0mVQGx{r>Oyk6FEqOghOEd>OG+ax`iIF3 z4dN|iUkU?ao0?!ooNV#Wfa6%8;reb|-v`n3=sNw_i?UteX98QEG=5@-F0vvzPZ?xL za<=vJYX$m-boVb^e=AwjpG$N5K6mq z^Xxfb%jL~<4rf%ae{jme_KD1q+09nizm^~KmYaTm8U>p%S-B;1P~{lQ;^Ak_wO@Md z&|9ci&r9$=&gvo!+xD6TqWs9+5v&K=L+DmU^W?oD+tR7U9~wm39)9ZS7eH5m z@Pwt~K4;B^mDE;uRA!mq|313g&F_w*nUtrUBW>o=Pl(&Z-8f?^-zcA~Z_PCq-oZFN zXPH`+pw_6y6R{)V_hcME#eTRrYs@VOyZe>dI-dYxe}^!x%*x?+yN>g$f4YI7>!VA~ zq-qj{e-?M|S?OLYJ(DdDQ81KSAM%t`#)lEkOJK>n;UmN)*2+naz(@~@c%J+DBe z^>!^lsr5#4?mEFE=_3p8Sbj#6XVTstL44U5>k429Fra*Hd0qWv^U&n!lUILySEzs< zX=&8Kr9FiX7$#99w-VFYWF%n7=5{`tVl{tf3*EV`Z%FTvVjLJStHH;t4GSgY!Q_y= z^=6CTU|nNfV%-5uIR}<)14aPD3ul&3E?zCs5E@*%=+W3BR0y;bO+u?BU$(;HTTm6g zkmYzWsCoeN<9)raH~YncQ-d*r5nyj*j2(XO0{iFt^TD#c?sp>mSRXhME}GtsrquV_ zj=Dg9Q&ZKqJrC2=)9^Yjc5_c6+%9ZRa=_bk5dNI?i4p=^EP*VpwykwpguPqjm>K0U zZ-{zRGbXt{JdAs+&zf&GdK1u$`>gHh`Ge*+Yd%Q%lgBqNKH!YU2%gY&2hq>%KFs<9 z>9?lU(a;&=4Cd{YsgFyO6j#v9f??)u>^!LE8jif*-@A$uko*VXUBFNX6c>9%d z+D5RCH;1?Q!jEtH1R_^%ef0YHyAtG&%5F#mLbpZ$42|VRqsiG_NxMgXO*(DxSZAct!}c$gToK5 z&Fod`s`@T_(6lpkS`BZk$MjXz8X5xbkJZjytTNGMveY~^^+f(kdUkOe!}$Uu%GQlsoHMqqSr>qL)yR!?Iyc6Kl-17YDCn+S}p}zx*FX@%?JL#z>Y_)lMVF* z{rwu|TdcH&o;QeJ(0$eI+hYQ@m!VlAtD7B_zA?A(C7RJQl?(4`3#H2)>q(7`9AZT{ zC6f~s4Nj>HhSK?`6b*H6eSOof(d9+HfumOs=jkn4I^nZmb$?q77qXiMvd?H+PoMui zY(zM!o$PIMoBI$%-hueagel0A>g~# zWdG_EDKnQ9mekn7@_Gl(kjf>{Zm#L6*%2i)_H44jU1819>SB>s&T0j~!z)?5;5xC$ zUX`bC-uoUVnn!2;!z*%T;2>z^mw2KHMs%o{Y~hl%$41vl!C9#qcJ@?r<<+{`)w=A4 zmTGe@gC+KZNgd-%HMa(c7Us6gIvbWOenpdndDa3Ys}9Gw#pg^ZTPxnz%HY>F?HTMk z?EQPi2T~o?EfP?>(~U@Jg(25QY~ZPkptoYEvbTMj#tPX&RjIdiPH@-OPB)TmY_N%k zW1PL_o-Lh<-UTE5sAEF94lzg3>p|7D#OznK%axq%mFoI-K-zwu?wQ*(L++Fu<6(7m zQ<7z(gJwk;n1x0a-E8S>)BJW`<2-9rdWxFe3Qd`Hs<~Avzm{nO#duh6wF)WI>tQ}b zeQ1r}eGK(FgW>ch+wPW~s{M8kqdsupvdQ#SptPptIi`_iI;$gXxuv>AZpFb~&$b~; zP0PAwvuinP(M9T9K(@2F#^l1!)|~^qbD;Jer&*&`_Z8bt*}6q{zC)i^nL$tg)_0z* zak)j`UnYCWCGAjuW7Fy(f60tKZR`@TPKBvmZy@~BZxO$~kAkjVa7h37>QC#rVHf2^ zN!h7i2YkJ*Vy&#^FDM;Bmn%MIp+MvJgHbr|2uA)J8g|QYfi;BP{Ih*K2hRTU^y?OP zWZytN2}H~i^h0sb%BH#_`G?HMQ6$uhZa(Db`@L&Nem5|pP5`=W7dCdu7TO|PKveS40O8pK(QIC)EUfo(3&$AeWntJsoGjfqo3U1 zdyL%fv2A0U{`+*GMOX{_9c;$1Xy#{pdNd`jd7nBLS6QaY#cnMf0Vjr1c<`~w+}(*X zy4$r>)3;tGTfY3uVqYXZp%Sg&VDECZbEoTpoQ39aJRcVN316j;r7?Cm`H#(3e4V0k z&usi0aC>(Lxn@sdSa;K#HcPMVBBZ=zv6-S5PeIqeFQmUJ4?ecWNY29R3SgMpIo%~# zPyGxD#_}@5TI6{)u@cg6-_u#}y{4`a+5qGxpaH)kooAwo z?1Bu7ND9Of+MEd3=>+1h&tgL135FpdI}w?>#9w4+BQuEWe?`;BPPm8>5yY#gsy+U# zZ|lO#oaGjQ(c|EL7*5A2Huw?3NMJ1pc6)F>e{=Ll3Y?YTB(zC;iiNVZ)0GQV8{v;XqTE@>BH^mq+sl{eS3FaKtpfC*^Cz``tyo~ zB{dT2>(AU1W@CyDh{Q)6d zCp3@tbCDtU=LdIWTVziI?nM2Hc&Y$_m?f(CH-y8&QOS%x(18dYN(^MMb-58RnY&8D zwcULTR8n=!dW8sQL!g)+hpz!OxGHZK>y}MS^l{&n-LYDbRxeMS_^3pJ$+g^&Q{lVOSCsuqzaDZentgG@>eazEJXNJEUq2Oz@tz z&ooq2RZCW2TF4u?4%O915tnnt{De}n7Sc>eL&S(y@G`EX6p1@@p@Tb&b|7;(lr>gc z#Hft^Q?DtO`utdF56!~a5qDHhqgMWA6qZt8-QCYvq%Bq$M?k^Ph6Iy7Umy4>`Fyy$l z^0pcrA2w^AZS75lgXIK%Wa^zLX(2k`$YFi4a;_e~Jago!CtWCNnSO>fq3rg5sEkZO z|1pf=;B#+2?VvEcQo*wNp6Ha8H^r0}Ls!!s7aIwDO|5feZ^gID0#fnhScT?L@d8-5 zl4$cMW+f>Er$(b3@!7UXSy@B*+a~Zu!#Vq>LPk_<2uBMywSy*RG}K087H4a(Bv&%d zxPcxh%3i*|+<0C$!=IuQ&~^7t&x$Y3>i_Oo4e~I)o0h71d%w4H#jURUGZ89tho)5K z<4iBZyXjy1@k)0jIruYL)SG-HR+711!T=xXu8C-M*9IsVM8R-!$ zb{$>JqnYs#T(ie;qU6|}6TNf1{g6Bdlx;a!?Gm!rSo-eM+L~J*gxpi-688KkrY(;j ze;-1lk)o;o6F~^`72=0+k$-^`mxFdPW+TC4Rdrk6(->-STc7D)a6|sEAxB9~M!}D6~tf6IcGu);I#9$syxf zJv~>mW{+g>@5`sl46eDx{7ikflD@EG9(9q?agDBZiJHn50p(7soST&jjvkA+-x^k0 zT*Soxmg2GwpI3$b?P#{uG8=CHET5Mx_|Y0?Ygz55+bw1LNtlq=Z~lLVC0PIO!V*L* zENuTH456DKEI&l_E%fRwiu;m)V>aug#Io?bBwW?_0ahVH4V5>6n*V+WVRdl`k}UqI zXWaOp+52)#EWsWq8;>F`k>+?qiyHz?DN$J2&x7W!YR7s`WD@jh8_DI)<~7F#cFW%` zbMRFzei_*V^EQ>fu?S8se?{Qb@9Q3}dGQzNCVCCLh2m@^MlbOM=uQ`o7Y4iZp*M1Y zmH-7T-S-ye?LVkZ!pm$07AZ=q2(cZV{ua&BP};?ps$@@pACi13Wsx#IbdZq#D~Pu zLZ@tQ*cKPWIGfQ@kx8R^j2++GZ4G1RU}p*AZ>+4}|CCzWw?9b~x;2q^tuAjbViMZ4 zqL%nepsUL1xSi%+{hsu?i}oy?Cl&4&9@2N8c}%$h-85(q_~QC!7j&{di^Y6}VPXa= z`RF%pMWyET#r5^<;B9{F|C_4fVo9a5D94jD_EU}rze*3Ghec{aPHPOd@CYj3Ot>lO zvZ!~S5{O2f=?5W@Y+GEmrhQMu4`xv^d7{>lAyBOC@C3dwZg=e~m8l|oHE-PGP93?K z@)Oglm}R0rMy*NZ`D2eagqfBa(znWzVi>f2bp^{4s&!)40e(Ne627L{lsTRFJzE&-c^lfDQxmF8qY~Sx zIXLa}Y@R^@w~cQ70Z}HLY`;7ZV-7lH_x0<_AdnzUIGF2_uoF!N65M4fb ztdArkQfW3{2D!e>mv9cF2@gPPNkU%;EmHb(=e6gF*&TLE%pTyE7WlBkVA2bT!wE>8 z{T+T!$CfEUWA!(#oXB@>4DAQAZcuIDbyRFhr@R;fz1NH zASE2K#aN;Aolb>_aSa*4z)BJu-~n~TSa+$fW?8)AjzAo97j&pjlE5IaYgD}?Df4H6 zB)XUvzm%jB6Fm^ILjyvwiNLzQJIUKndegTzMdwSC`CUbx{Q0&LVkztgp=i|QCIXIJ z8Sx$19^_&L4*1SJjC*r{jaLc=96mG~)+}mxBXI)c&a^O}7Z`fD2<;m;+;$@2EM=EP z)~vZunV)Z-;4hi4K06j4ens^Q-UFo0YjWEJVB7Iq_vFtr!ylmSr`#)jAl4(3wtT09 zzs+^wg;5z!Xw5T&EQDB(L^iPm%;PE9SVE{Si1uqyC-qkjpYZiHTDH`l!aW-@H9w3? zhF^SRI=@xMK9~yoRZdJumYA_u5ryy%9t}(Es?Wet5XgWB-)50YT!_JqAfGjP4b6^dld_0_~w{z2HSuCIk6S zuixFK2;;i5LSO6z2sz%rI*+^x6p5hd(=Z*Gp`dj2=1v*{37wQM z0e)=P4I*tqv2)>=kjGt8N9)833#OA0sF7ktE}!CwLg`)5179CLa5X90Ft z$@;Xy2lA-P2JTLN&TBf3JJ37FPrSsm{)YTU^hLXCZ|s142IF)8j?enR;-q}2n7xe38u8B+y)WyMm62J&kcCL`39Gu8+lCp$kEp7uML5E1g&5 z@QrAJ)Y{E!R9GO?x5cQ{0>%;1}-7B-M2UUy*9x943UEwlw9~H zrk}eL9;{|?dIGV~r~C*B53pzpi~u1R#n5~pnCoB{USSVg2mX)C--ZTQCcp2!^XuWm z4L@So$TspL!!Q$2jl#Ou9gKf*Xbr0kw$>WsW~N`53RH-DX?m%GG|U?5U?<%?Q@g}_ zq_?ShE54`F9R4)TbLw^iIF&iIHi~&lzev7lwW_xMc#6HO-!7M**M1-eWrCdVqaS4M zb3v*gnTOVst2x2)onrqVpLrk7?{#T1biI`n?BdPk)K*zpWpN5Ji%PCJS_QRgSBh8a zgbk-QiY*%2QS{Sk)>SRJrk!(-LQyG&^2{Zor9;JJr5egC%8g2LQWf%+jWTY4ts|oF z116rSI17m`;|$WJ#0x5y6do-+-MDD{blzGgovYOokDRJpIzt z()NXsvZWICVtPs5D85DDAQ4qO;{HtmhR(aN=Ell_+4p0d3g4j{dNmpc_0;g zLUV%Wkm8Wzkl|3VMB+t(``6uB-h6irZ?WZOsr&i)ubURZrDtN9bkkrfm7+y1RSX

}uZ>7v;-FNj!q!r5n@zdtkmfW-0tiu3sm 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 CE`Z$t diff --git a/examples/example_3/rakefile.rb b/examples/example_3/rakefile.rb index 9f1dbeb..bf9f42b 100644 --- a/examples/example_3/rakefile.rb +++ b/examples/example_3/rakefile.rb @@ -3,41 +3,41 @@ UNITY_ROOT = File.expand_path(File.dirname(__FILE__)) + '/../..' require 'rake' require 'rake/clean' -require HERE+'rakefile_helper' +require HERE + 'rakefile_helper' TEMP_DIRS = [ - File.join(HERE, 'build') -] + File.join(HERE, 'build') +].freeze TEMP_DIRS.each do |dir| directory(dir) CLOBBER.include(dir) end -task :prepare_for_tests => TEMP_DIRS +task prepare_for_tests: TEMP_DIRS include RakefileHelpers # Load default configuration, for now -DEFAULT_CONFIG_FILE = 'target_gcc_32.yml' +DEFAULT_CONFIG_FILE = 'target_gcc_32.yml'.freeze configure_toolchain(DEFAULT_CONFIG_FILE) -task :unit => [:prepare_for_tests] do - run_tests get_unit_test_files +task unit: [:prepare_for_tests] do + run_tests unit_test_files end -desc "Generate test summary" +desc 'Generate test summary' task :summary do report_summary end -desc "Build and test Unity" -task :all => [:clean, :unit, :summary] -task :default => [:clobber, :all] -task :ci => [:default] -task :cruise => [:default] +desc 'Build and test Unity' +task all: %i(clean unit summary) +task default: %i(clobber all) +task ci: [:default] +task cruise: [:default] -desc "Load configuration" -task :config, :config_file do |t, args| +desc 'Load configuration' +task :config, :config_file do |_t, args| configure_toolchain(args[:config_file]) end diff --git a/examples/example_3/rakefile_helper.rb b/examples/example_3/rakefile_helper.rb index ed41d80..a186cf0 100644 --- a/examples/example_3/rakefile_helper.rb +++ b/examples/example_3/rakefile_helper.rb @@ -1,12 +1,11 @@ require 'yaml' require 'fileutils' -require UNITY_ROOT+'/auto/unity_test_summary' -require UNITY_ROOT+'/auto/generate_test_runner' -require UNITY_ROOT+'/auto/colour_reporter' +require UNITY_ROOT + '/auto/unity_test_summary' +require UNITY_ROOT + '/auto/generate_test_runner' +require UNITY_ROOT + '/auto/colour_reporter' module RakefileHelpers - - C_EXTENSION = '.c' + C_EXTENSION = '.c'.freeze def load_configuration(config_file) $cfg_file = config_file @@ -17,22 +16,22 @@ module RakefileHelpers CLEAN.include($cfg['compiler']['build_path'] + '*.*') unless $cfg['compiler']['build_path'].nil? end - def configure_toolchain(config_file=DEFAULT_CONFIG_FILE) + def configure_toolchain(config_file = DEFAULT_CONFIG_FILE) config_file += '.yml' unless config_file =~ /\.yml$/ load_configuration(config_file) configure_clean end - def get_unit_test_files + def unit_test_files path = $cfg['compiler']['unit_tests_path'] + 'Test*' + C_EXTENSION - path.gsub!(/\\/, '/') + path.tr!('\\', '/') FileList.new(path) end - def get_local_include_dirs + def local_include_dirs include_dirs = $cfg['compiler']['includes']['items'].dup - include_dirs.delete_if {|dir| dir.is_a?(Array)} - return include_dirs + include_dirs.delete_if { |dir| dir.is_a?(Array) } + include_dirs end def extract_headers(filename) @@ -40,129 +39,126 @@ module RakefileHelpers lines = File.readlines(filename) lines.each do |line| m = line.match(/^\s*#include\s+\"\s*(.+\.[hH])\s*\"/) - if not m.nil? - includes << m[1] - end + includes << m[1] unless m.nil? end - return includes + includes end def find_source_file(header, paths) paths.each do |dir| src_file = dir + header.ext(C_EXTENSION) - if (File.exists?(src_file)) - return src_file - end + return src_file if File.exist?(src_file) end - return nil + nil end def tackit(strings) - if strings.is_a?(Array) - result = "\"#{strings.join}\"" - else - result = strings - end - return result + result = if strings.is_a?(Array) + "\"#{strings.join}\"" + else + strings + end + result end def squash(prefix, items) result = '' items.each { |item| result += " #{prefix}#{tackit(item)}" } - return result + result end def build_compiler_fields - command = tackit($cfg['compiler']['path']) - if $cfg['compiler']['defines']['items'].nil? - defines = '' - else - defines = squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items']) - end + command = tackit($cfg['compiler']['path']) + defines = if $cfg['compiler']['defines']['items'].nil? + '' + else + squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items']) + end options = squash('', $cfg['compiler']['options']) includes = squash($cfg['compiler']['includes']['prefix'], $cfg['compiler']['includes']['items']) includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) - return {:command => command, :defines => defines, :options => options, :includes => includes} + + { command: command, defines: defines, options: options, includes: includes } end - def compile(file, defines=[]) + def compile(file, _defines = []) compiler = build_compiler_fields - cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{file} " + + cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{file} " \ "#{$cfg['compiler']['object_files']['prefix']}#{$cfg['compiler']['object_files']['destination']}" obj_file = "#{File.basename(file, C_EXTENSION)}#{$cfg['compiler']['object_files']['extension']}" execute(cmd_str + obj_file) - return obj_file + obj_file end def build_linker_fields - command = tackit($cfg['linker']['path']) - if $cfg['linker']['options'].nil? - options = '' - else - options = squash('', $cfg['linker']['options']) - end - if ($cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil?) - includes = '' - else - includes = squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items']) - end - includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) - return {:command => command, :options => options, :includes => includes} + command = tackit($cfg['linker']['path']) + options = if $cfg['linker']['options'].nil? + '' + else + squash('', $cfg['linker']['options']) + end + includes = if $cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil? + '' + else + squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items']) + end.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) + + { command: command, options: options, includes: includes } end def link_it(exe_name, obj_list) linker = build_linker_fields cmd_str = "#{linker[:command]}#{linker[:options]}#{linker[:includes]} " + - (obj_list.map{|obj|"#{$cfg['linker']['object_files']['path']}#{obj} "}).join + - $cfg['linker']['bin_files']['prefix'] + ' ' + - $cfg['linker']['bin_files']['destination'] + - exe_name + $cfg['linker']['bin_files']['extension'] + (obj_list.map { |obj| "#{$cfg['linker']['object_files']['path']}#{obj} " }).join + + $cfg['linker']['bin_files']['prefix'] + ' ' + + $cfg['linker']['bin_files']['destination'] + + exe_name + $cfg['linker']['bin_files']['extension'] execute(cmd_str) end def build_simulator_fields return nil if $cfg['simulator'].nil? - if $cfg['simulator']['path'].nil? - command = '' - else - command = (tackit($cfg['simulator']['path']) + ' ') - end - if $cfg['simulator']['pre_support'].nil? - pre_support = '' - else - pre_support = squash('', $cfg['simulator']['pre_support']) - end - if $cfg['simulator']['post_support'].nil? - post_support = '' - else - post_support = squash('', $cfg['simulator']['post_support']) - end - return {:command => command, :pre_support => pre_support, :post_support => post_support} + command = if $cfg['simulator']['path'].nil? + '' + else + (tackit($cfg['simulator']['path']) + ' ') + end + pre_support = if $cfg['simulator']['pre_support'].nil? + '' + else + squash('', $cfg['simulator']['pre_support']) + end + post_support = if $cfg['simulator']['post_support'].nil? + '' + else + squash('', $cfg['simulator']['post_support']) + end + + { command: command, pre_support: pre_support, post_support: post_support } end - def execute(command_string, verbose=true, raise_on_fail=true) + def execute(command_string, verbose = true, raise_on_fail = true) report command_string output = `#{command_string}`.chomp - report(output) if (verbose && !output.nil? && (output.length > 0)) - if (($?.exitstatus != 0) and (raise_on_fail)) + report(output) if verbose && !output.nil? && !output.empty? + if !$?.exitstatus.zero? && raise_on_fail raise "Command failed. (Returned #{$?.exitstatus})" end - return output + output end def report_summary summary = UnityTestSummary.new - summary.set_root_path(HERE) + summary.root = HERE results_glob = "#{$cfg['compiler']['build_path']}*.test*" - results_glob.gsub!(/\\/, '/') + results_glob.tr!('\\', '/') results = Dir[results_glob] - summary.set_targets(results) + summary.targets = results summary.run - fail_out "FAIL: There were failures" if (summary.failures > 0) + fail_out 'FAIL: There were failures' if summary.failures > 0 end def run_tests(test_files) - report 'Running system tests...' # Tack on TEST define for compiling unit tests @@ -171,7 +167,7 @@ module RakefileHelpers $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil? $cfg['compiler']['defines']['items'] << 'TEST' - include_dirs = get_local_include_dirs + include_dirs = local_include_dirs # Build and execute each unit test test_files.each do |test| @@ -181,9 +177,7 @@ module RakefileHelpers extract_headers(test).each do |header| # Compile corresponding source file if it exists src_file = find_source_file(header, include_dirs) - if !src_file.nil? - obj_list << compile(src_file, test_defines) - end + obj_list << compile(src_file, test_defines) unless src_file.nil? end # Build the test runner (generate if configured to do so) @@ -208,25 +202,24 @@ module RakefileHelpers # Execute unit test and generate results file simulator = build_simulator_fields executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension'] - if simulator.nil? - cmd_str = executable - else - cmd_str = "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" - end + cmd_str = if simulator.nil? + executable + else + "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" + end output = execute(cmd_str, true, false) test_results = $cfg['compiler']['build_path'] + test_base - if output.match(/OK$/m).nil? - test_results += '.testfail' - else - test_results += '.testpass' - end + test_results += if output.match(/OK$/m).nil? + '.testfail' + else + '.testpass' + end File.open(test_results, 'w') { |f| f.print output } end end def build_application(main) - - report "Building application..." + report 'Building application...' obj_list = [] load_configuration($cfg_file) @@ -236,9 +229,7 @@ module RakefileHelpers include_dirs = get_local_include_dirs extract_headers(main_path).each do |header| src_file = find_source_file(header, include_dirs) - if !src_file.nil? - obj_list << compile(src_file) - end + obj_list << compile(src_file) unless src_file.nil? end # Build the main source file @@ -251,8 +242,8 @@ module RakefileHelpers def fail_out(msg) puts msg - puts "Not returning exit code so continuous integration can pass" -# exit(-1) # Only removed to pass example_3, which has failing tests on purpose. -# Still fail if the build fails for any other reason. + puts 'Not returning exit code so continuous integration can pass' + # exit(-1) # Only removed to pass example_3, which has failing tests on purpose. + # Still fail if the build fails for any other reason. end end diff --git a/extras/fixture/rakefile.rb b/extras/fixture/rakefile.rb index eb51d02..7603e57 100644 --- a/extras/fixture/rakefile.rb +++ b/extras/fixture/rakefile.rb @@ -12,34 +12,34 @@ require 'rake/testtask' require HERE + 'rakefile_helper' TEMP_DIRS = [ - File.join(HERE, 'build') -] + File.join(HERE, 'build') +].freeze TEMP_DIRS.each do |dir| directory(dir) CLOBBER.include(dir) end -task :prepare_for_tests => TEMP_DIRS +task prepare_for_tests: TEMP_DIRS include RakefileHelpers # Load default configuration, for now -DEFAULT_CONFIG_FILE = 'gcc_auto_stdint.yml' +DEFAULT_CONFIG_FILE = 'gcc_auto_stdint.yml'.freeze configure_toolchain(DEFAULT_CONFIG_FILE) -task :unit => [:prepare_for_tests] do +task unit: [:prepare_for_tests] do run_tests end -desc "Build and test Unity Framework" -task :all => [:clean, :unit] -task :default => [:clobber, :all] -task :ci => [:no_color, :default] -task :cruise => [:no_color, :default] +desc 'Build and test Unity Framework' +task all: %i(clean unit) +task default: %i(clobber all) +task ci: %i(no_color default) +task cruise: %i(no_color default) -desc "Load configuration" -task :config, :config_file do |t, args| +desc 'Load configuration' +task :config, :config_file do |_t, args| configure_toolchain(args[:config_file]) end diff --git a/extras/fixture/rakefile_helper.rb b/extras/fixture/rakefile_helper.rb index 85d714f..5aa8e56 100644 --- a/extras/fixture/rakefile_helper.rb +++ b/extras/fixture/rakefile_helper.rb @@ -6,28 +6,27 @@ require 'yaml' require 'fileutils' -require HERE+'../../auto/unity_test_summary' -require HERE+'../../auto/generate_test_runner' -require HERE+'../../auto/colour_reporter' +require HERE + '../../auto/unity_test_summary' +require HERE + '../../auto/generate_test_runner' +require HERE + '../../auto/colour_reporter' module RakefileHelpers - - C_EXTENSION = '.c' + C_EXTENSION = '.c'.freeze def load_configuration(config_file) - unless ($configured) - $cfg_file = HERE+"../../test/targets/#{config_file}" unless (config_file =~ /[\\|\/]/) - $cfg = YAML.load(File.read($cfg_file)) - $colour_output = false unless $cfg['colour'] - $configured = true if (config_file != DEFAULT_CONFIG_FILE) - end + return if $configured + + $cfg_file = HERE + "../../test/targets/#{config_file}" unless config_file =~ /[\\|\/]/ + $cfg = YAML.load(File.read($cfg_file)) + $colour_output = false unless $cfg['colour'] + $configured = true if config_file != DEFAULT_CONFIG_FILE end def configure_clean CLEAN.include($cfg['compiler']['build_path'] + '*.*') unless $cfg['compiler']['build_path'].nil? end - def configure_toolchain(config_file=DEFAULT_CONFIG_FILE) + def configure_toolchain(config_file = DEFAULT_CONFIG_FILE) config_file += '.yml' unless config_file =~ /\.yml$/ config_file = config_file unless config_file =~ /[\\|\/]/ load_configuration(config_file) @@ -35,105 +34,105 @@ module RakefileHelpers end def tackit(strings) - if strings.is_a?(Array) - result = "\"#{strings.join}\"" - else - result = strings - end - return result + result = if strings.is_a?(Array) + "\"#{strings.join}\"" + else + strings + end + result end def squash(prefix, items) result = '' items.each { |item| result += " #{prefix}#{tackit(item)}" } - return result + result end def build_compiler_fields - command = tackit($cfg['compiler']['path']) - if $cfg['compiler']['defines']['items'].nil? - defines = '' - else - defines = squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'] + ['UNITY_OUTPUT_CHAR=UnityOutputCharSpy_OutputChar']) - end + command = tackit($cfg['compiler']['path']) + defines = if $cfg['compiler']['defines']['items'].nil? + '' + else + squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'] + ['UNITY_OUTPUT_CHAR=UnityOutputCharSpy_OutputChar']) + end options = squash('', $cfg['compiler']['options']) includes = squash($cfg['compiler']['includes']['prefix'], $cfg['compiler']['includes']['items']) includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) - return {:command => command, :defines => defines, :options => options, :includes => includes} + + { command: command, defines: defines, options: options, includes: includes } end - def compile(file, defines=[]) + def compile(file, _defines = []) compiler = build_compiler_fields - unity_include = $cfg['compiler']['includes']['prefix']+'../../src' - cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{unity_include} #{file} " + - "#{$cfg['compiler']['object_files']['prefix']}#{$cfg['compiler']['object_files']['destination']}" + - "#{File.basename(file, C_EXTENSION)}#{$cfg['compiler']['object_files']['extension']}" + unity_include = $cfg['compiler']['includes']['prefix'] + '../../src' + cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{unity_include} #{file} " \ + "#{$cfg['compiler']['object_files']['prefix']}#{$cfg['compiler']['object_files']['destination']}" \ + "#{File.basename(file, C_EXTENSION)}#{$cfg['compiler']['object_files']['extension']}" + execute(cmd_str) end def build_linker_fields - command = tackit($cfg['linker']['path']) - if $cfg['linker']['options'].nil? - options = '' - else - options = squash('', $cfg['linker']['options']) - end - if ($cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil?) - includes = '' - else - includes = squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items']) - end - includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) - return {:command => command, :options => options, :includes => includes} + command = tackit($cfg['linker']['path']) + options = if $cfg['linker']['options'].nil? + '' + else + squash('', $cfg['linker']['options']) + end + includes = if $cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil? + '' + else + squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items']) + end.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) + + { command: command, options: options, includes: includes } end def link_it(exe_name, obj_list) linker = build_linker_fields cmd_str = "#{linker[:command]}#{linker[:options]}#{linker[:includes]} " + - (obj_list.map{|obj|"#{$cfg['linker']['object_files']['path']}#{obj} "}).join + - $cfg['linker']['bin_files']['prefix'] + ' ' + - $cfg['linker']['bin_files']['destination'] + - exe_name + $cfg['linker']['bin_files']['extension'] + (obj_list.map { |obj| "#{$cfg['linker']['object_files']['path']}#{obj} " }).join + + $cfg['linker']['bin_files']['prefix'] + ' ' + + $cfg['linker']['bin_files']['destination'] + + exe_name + $cfg['linker']['bin_files']['extension'] execute(cmd_str) end def build_simulator_fields return nil if $cfg['simulator'].nil? - if $cfg['simulator']['path'].nil? - command = '' - else - command = (tackit($cfg['simulator']['path']) + ' ') - end - if $cfg['simulator']['pre_support'].nil? - pre_support = '' - else - pre_support = squash('', $cfg['simulator']['pre_support']) - end - if $cfg['simulator']['post_support'].nil? - post_support = '' - else - post_support = squash('', $cfg['simulator']['post_support']) - end - return {:command => command, :pre_support => pre_support, :post_support => post_support} + command = if $cfg['simulator']['path'].nil? + '' + else + (tackit($cfg['simulator']['path']) + ' ') + end + pre_support = if $cfg['simulator']['pre_support'].nil? + '' + else + squash('', $cfg['simulator']['pre_support']) + end + post_support = if $cfg['simulator']['post_support'].nil? + '' + else + squash('', $cfg['simulator']['post_support']) + end + { command: command, pre_support: pre_support, post_support: post_support } end - def execute(command_string, verbose=true) + def execute(command_string, verbose = true) report command_string output = `#{command_string}`.chomp - report(output) if (verbose && !output.nil? && (output.length > 0)) - if ($?.exitstatus != 0) - raise "Command failed. (Returned #{$?.exitstatus})" - end - return output + report(output) if verbose && !output.nil? && !output.empty? + raise "Command failed. (Returned #{$?.exitstatus})" if $?.exitstatus != 0 + output end def report_summary summary = UnityTestSummary.new - summary.set_root_path(HERE) + summary.root = HERE results_glob = "#{$cfg['compiler']['build_path']}*.test*" - results_glob.gsub!(/\\/, '/') + results_glob.tr!('\\', '/') results = Dir[results_glob] - summary.set_targets(results) + summary.targets = results summary.run end @@ -146,34 +145,34 @@ module RakefileHelpers $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil? # Get a list of all source files needed - src_files = Dir[HERE+'src/*.c'] - src_files += Dir[HERE+'test/*.c'] - src_files += Dir[HERE+'test/main/*.c'] + src_files = Dir[HERE + 'src/*.c'] + src_files += Dir[HERE + 'test/*.c'] + src_files += Dir[HERE + 'test/main/*.c'] src_files << '../../src/unity.c' # Build object files src_files.each { |f| compile(f, test_defines) } - obj_list = src_files.map {|f| File.basename(f.ext($cfg['compiler']['object_files']['extension'])) } + obj_list = src_files.map { |f| File.basename(f.ext($cfg['compiler']['object_files']['extension'])) } # Link the test executable - test_base = "framework_test" + test_base = 'framework_test' link_it(test_base, obj_list) # Execute unit test and generate results file simulator = build_simulator_fields executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension'] - if simulator.nil? - cmd_str = executable + " -v -r" - else - cmd_str = "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" - end + cmd_str = if simulator.nil? + executable + ' -v -r' + else + "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" + end output = execute(cmd_str) test_results = $cfg['compiler']['build_path'] + test_base - if output.match(/OK$/m).nil? - test_results += '.testfail' - else - test_results += '.testpass' - end + test_results += if output.match(/OK$/m).nil? + '.testfail' + else + '.testpass' + end File.open(test_results, 'w') { |f| f.print output } end end diff --git a/extras/fixture/src/unity_fixture_malloc_overrides.h b/extras/fixture/src/unity_fixture_malloc_overrides.h index 1b176e7..7daba50 100644 --- a/extras/fixture/src/unity_fixture_malloc_overrides.h +++ b/extras/fixture/src/unity_fixture_malloc_overrides.h @@ -26,6 +26,7 @@ * For example, when using FreeRTOS UNITY_FIXTURE_MALLOC becomes pvPortMalloc() * and UNITY_FIXTURE_FREE becomes vPortFree(). */ #if !defined(UNITY_FIXTURE_MALLOC) || !defined(UNITY_FIXTURE_FREE) + #include #define UNITY_FIXTURE_MALLOC(size) malloc(size) #define UNITY_FIXTURE_FREE(ptr) free(ptr) #else diff --git a/release/version.info b/release/version.info index 0f19985..3b904b6 100644 --- a/release/version.info +++ b/release/version.info @@ -1,2 +1,2 @@ -2.4.0 +2.4.1 diff --git a/src/unity.c b/src/unity.c index 5266364..177af0f 100644 --- a/src/unity.c +++ b/src/unity.c @@ -539,7 +539,8 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, const UNITY_UINT32 num_elements, const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style) + const UNITY_DISPLAY_STYLE_T style, + const UNITY_FLAGS_T flags) { UNITY_UINT32 elements = num_elements; unsigned int length = style & 0xF; @@ -569,17 +570,17 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)expected; actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT16*)actual; break; - default: /* length 4 bytes */ - expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; - actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; - length = 4; - break; #ifdef UNITY_SUPPORT_64 case 8: expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)expected; actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT64*)actual; break; #endif + default: /* length 4 bytes */ + expect_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)expected; + actual_val = *(UNITY_PTR_ATTRIBUTE const UNITY_INT32*)actual; + length = 4; + break; } if (expect_val != actual_val) @@ -601,7 +602,10 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, UnityAddMsgIfSpecified(msg); UNITY_FAIL_AND_BAIL; } - expected = (UNITY_INTERNAL_PTR)(length + (const char*)expected); + if (flags == UNITY_ARRAY_TO_ARRAY) + { + expected = (UNITY_INTERNAL_PTR)(length + (const char*)expected); + } actual = (UNITY_INTERNAL_PTR)(length + (const char*)actual); } } @@ -645,7 +649,8 @@ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) { UNITY_UINT32 elements = num_elements; UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* ptr_expected = expected; @@ -673,7 +678,10 @@ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, UnityAddMsgIfSpecified(msg); UNITY_FAIL_AND_BAIL; } - ptr_expected++; + if (flags == UNITY_ARRAY_TO_ARRAY) + { + ptr_expected++; + } ptr_actual++; } } @@ -771,7 +779,8 @@ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expecte UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) { UNITY_UINT32 elements = num_elements; UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* ptr_expected = expected; @@ -799,7 +808,10 @@ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expecte UnityAddMsgIfSpecified(msg); UNITY_FAIL_AND_BAIL; } - ptr_expected++; + if (flags == UNITY_ARRAY_TO_ARRAY) + { + ptr_expected++; + } ptr_actual++; } } @@ -898,16 +910,16 @@ void UnityAssertNumbersWithin(const UNITY_UINT delta, if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) { if (actual > expected) - Unity.CurrentTestFailed = ((UNITY_UINT)(actual - expected) > delta); + Unity.CurrentTestFailed = (UNITY_UINT)((UNITY_UINT)(actual - expected) > delta); else - Unity.CurrentTestFailed = ((UNITY_UINT)(expected - actual) > delta); + Unity.CurrentTestFailed = (UNITY_UINT)((UNITY_UINT)(expected - actual) > delta); } else { if ((UNITY_UINT)actual > (UNITY_UINT)expected) - Unity.CurrentTestFailed = ((UNITY_UINT)(actual - expected) > delta); + Unity.CurrentTestFailed = (UNITY_UINT)((UNITY_UINT)(actual - expected) > delta); else - Unity.CurrentTestFailed = ((UNITY_UINT)(expected - actual) > delta); + Unity.CurrentTestFailed = (UNITY_UINT)((UNITY_UINT)(expected - actual) > delta); } if (Unity.CurrentTestFailed) @@ -1004,13 +1016,17 @@ void UnityAssertEqualStringLen(const char* expected, } /*-----------------------------------------------*/ -void UnityAssertEqualStringArray(const char** expected, +void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected, const char** actual, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) { - UNITY_UINT32 i, j = 0; + UNITY_UINT32 i = 0; + UNITY_UINT32 j = 0; + const char* exp = NULL; + const char* act = NULL; RETURN_IF_FAIL_OR_IGNORE; @@ -1020,18 +1036,35 @@ void UnityAssertEqualStringArray(const char** expected, UnityPrintPointlessAndBail(); } - if (expected == actual) return; /* Both are NULL or same pointer */ + if ((const void*)expected == (const void*)actual) + { + return; /* Both are NULL or same pointer */ + } + if (UnityIsOneArrayNull((UNITY_INTERNAL_PTR)expected, (UNITY_INTERNAL_PTR)actual, lineNumber, msg)) + { UNITY_FAIL_AND_BAIL; + } + + if (flags != UNITY_ARRAY_TO_ARRAY) + { + exp = (const char*)expected; + } do { - /* if both pointers not null compare the strings */ - if (expected[j] && actual[j]) + act = actual[j]; + if (flags == UNITY_ARRAY_TO_ARRAY) { - for (i = 0; expected[j][i] || actual[j][i]; i++) + exp = ((const char* const*)expected)[j]; + } + + /* if both pointers not null compare the strings */ + if (exp && act) + { + for (i = 0; exp[i] || act[i]; i++) { - if (expected[j][i] != actual[j][i]) + if (exp[i] != act[i]) { Unity.CurrentTestFailed = 1; break; @@ -1040,7 +1073,7 @@ void UnityAssertEqualStringArray(const char** expected, } else { /* handle case of one pointers being null (if both null, test should pass) */ - if (expected[j] != actual[j]) + if (exp != act) { Unity.CurrentTestFailed = 1; } @@ -1054,7 +1087,7 @@ void UnityAssertEqualStringArray(const char** expected, UnityPrint(UnityStrElement); UnityPrintNumberUnsigned(j); } - UnityPrintExpectedAndActualStrings((const char*)(expected[j]), (const char*)(actual[j])); + UnityPrintExpectedAndActualStrings(exp, act); UnityAddMsgIfSpecified(msg); UNITY_FAIL_AND_BAIL; } @@ -1067,7 +1100,8 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, const UNITY_UINT32 length, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber) + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags) { UNITY_PTR_ATTRIBUTE const unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual; @@ -1111,9 +1145,70 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected, ptr_exp++; ptr_act++; } + if (flags == UNITY_ARRAY_TO_VAL) + { + ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected; + } } } +/*-----------------------------------------------*/ + +static union +{ + UNITY_INT8 i8; + UNITY_INT16 i16; + UNITY_INT32 i32; +#ifdef UNITY_SUPPORT_64 + UNITY_INT64 i64; +#endif +#ifndef UNITY_EXCLUDE_FLOAT + float f; +#endif +#ifndef UNITY_EXCLUDE_DOUBLE + double d; +#endif +} UnityQuickCompare; + +UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size) +{ + switch(size) + { + case 1: + UnityQuickCompare.i8 = (UNITY_INT8)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i8); + + case 2: + UnityQuickCompare.i16 = (UNITY_INT16)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i16); + +#ifdef UNITY_SUPPORT_64 + case 8: + UnityQuickCompare.i64 = (UNITY_INT64)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i64); +#endif + default: /* 4 bytes */ + UnityQuickCompare.i32 = (UNITY_INT32)num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.i32); + } +} + +#ifndef UNITY_EXCLUDE_FLOAT +UNITY_INTERNAL_PTR UnityFloatToPtr(const float num) +{ + UnityQuickCompare.f = num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.f); +} +#endif + +#ifndef UNITY_EXCLUDE_DOUBLE +UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num) +{ + UnityQuickCompare.d = num; + return (UNITY_INTERNAL_PTR)(&UnityQuickCompare.d); +} +#endif + /*----------------------------------------------- * Control Functions *-----------------------------------------------*/ @@ -1177,6 +1272,7 @@ void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line) #pragma weak tearDown void tearDown(void) { } #endif + /*-----------------------------------------------*/ void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum) { @@ -1309,9 +1405,9 @@ int UnityParseOptions(int argc, char** argv) int IsStringInBiggerString(const char* longstring, const char* shortstring) { - char* lptr = (char*)longstring; - char* sptr = (char*)shortstring; - char* lnext = lptr; + const char* lptr = longstring; + const char* sptr = shortstring; + const char* lnext = lptr; if (*sptr == '*') return 1; @@ -1343,7 +1439,7 @@ int IsStringInBiggerString(const char* longstring, const char* shortstring) /* Otherwise we start in the long pointer 1 character further and try again */ lptr = lnext; - sptr = (char*)shortstring; + sptr = shortstring; } return 0; } diff --git a/src/unity.h b/src/unity.h index 30d0e91..6434238 100644 --- a/src/unity.h +++ b/src/unity.h @@ -74,6 +74,10 @@ void tearDown(void); * This method allows you to abort a test immediately with a PASS state, ignoring the remainder of the test. */ #define TEST_PASS() TEST_ABORT() +/* This macro does nothing, but it is useful for build tools (like Ceedling) to make use of this to figure out + * which files should be linked to in order to perform a test. Use it like TEST_FILE("sandwiches.c") */ +#define TEST_FILE(a) + /*------------------------------------------------------- * Test Asserts (simple) *-------------------------------------------------------*/ @@ -153,10 +157,31 @@ void tearDown(void); #define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) #define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, NULL) +/* Arrays Compared To Single Value */ +#define TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, NULL) + /* Floating Point (If Enabled) */ #define TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, NULL) #define TEST_ASSERT_EQUAL_FLOAT(expected, actual) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, NULL) #define TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, NULL) #define TEST_ASSERT_FLOAT_IS_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, NULL) #define TEST_ASSERT_FLOAT_IS_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, NULL) #define TEST_ASSERT_FLOAT_IS_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, NULL) @@ -170,6 +195,7 @@ void tearDown(void); #define TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, NULL) #define TEST_ASSERT_EQUAL_DOUBLE(expected, actual) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, NULL) #define TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) +#define TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, NULL) #define TEST_ASSERT_DOUBLE_IS_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, NULL) #define TEST_ASSERT_DOUBLE_IS_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, NULL) #define TEST_ASSERT_DOUBLE_IS_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, NULL) @@ -258,10 +284,31 @@ void tearDown(void); #define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, (message)) +/* Arrays Compared To Single Value*/ +#define TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, (message)) + /* Floating Point (If Enabled) */ #define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, (message)) #define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, (message)) #define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, (message)) @@ -275,6 +322,7 @@ void tearDown(void); #define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, (message)) #define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) +#define TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, (message)) #define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, (message)) #define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, (message)) #define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, (message)) diff --git a/src/unity_internals.h b/src/unity_internals.h index bdcee92..cc20ea4 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -252,14 +252,19 @@ extern void UNITY_OUTPUT_CHAR(int); #endif #ifndef UNITY_OUTPUT_FLUSH -/* Default to using fflush, which is defined in stdio.h */ +#ifdef UNITY_USE_FLUSH_STDOUT +/* We want to use the stdout flush utility */ #include #define UNITY_OUTPUT_FLUSH (void)fflush(stdout) #else - /* If defined as something else, make sure we declare it here so it's ready for use */ - #ifndef UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION +/* We've specified nothing, therefore flush should just be ignored */ +#define UNITY_OUTPUT_FLUSH +#endif +#else +/* We've defined flush as something else, so make sure we declare it here so it's ready for use */ +#ifndef UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION extern void UNITY_OUTPUT_FLUSH(void); - #endif +#endif #endif #ifndef UNITY_OUTPUT_FLUSH @@ -362,6 +367,12 @@ typedef enum UNITY_FLOAT_TRAIT } UNITY_FLOAT_TRAIT_T; #endif +typedef enum +{ + UNITY_ARRAY_TO_VAL = 0, + UNITY_ARRAY_TO_ARRAY +} UNITY_FLAGS_T; + struct UNITY_STORAGE_T { const char* TestFile; @@ -449,7 +460,8 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, const UNITY_UINT32 num_elements, const char* msg, const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); + const UNITY_DISPLAY_STYLE_T style, + const UNITY_FLAGS_T flags); void UnityAssertBits(const UNITY_INT mask, const UNITY_INT expected, @@ -468,18 +480,20 @@ void UnityAssertEqualStringLen(const char* expected, const char* msg, const UNITY_LINE_TYPE lineNumber); -void UnityAssertEqualStringArray( const char** expected, +void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected, const char** actual, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, UNITY_INTERNAL_PTR actual, const UNITY_UINT32 length, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); void UnityAssertNumbersWithin(const UNITY_UINT delta, const UNITY_INT expected, @@ -503,7 +517,8 @@ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); void UnityAssertFloatSpecial(const UNITY_FLOAT actual, const char* msg, @@ -522,7 +537,8 @@ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expecte UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, const UNITY_UINT32 num_elements, const char* msg, - const UNITY_LINE_TYPE lineNumber); + const UNITY_LINE_TYPE lineNumber, + const UNITY_FLAGS_T flags); void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, const char* msg, @@ -530,6 +546,18 @@ void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, const UNITY_FLOAT_TRAIT_T style); #endif +/*------------------------------------------------------- + * Helpers + *-------------------------------------------------------*/ + +UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size); +#ifndef UNITY_EXCLUDE_FLOAT +UNITY_INTERNAL_PTR UnityFloatToPtr(const float num); +#endif +#ifndef UNITY_EXCLUDE_DOUBLE +UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num); +#endif + /*------------------------------------------------------- * Error Strings We Might Need *-------------------------------------------------------*/ @@ -639,30 +667,48 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) #define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) -#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((const char**)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) + +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) expected, sizeof(int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) expected, sizeof(unsigned int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) expected, sizeof(int*)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) +#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) #ifdef UNITY_SUPPORT_64 #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) +#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) @@ -682,6 +728,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) +#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) @@ -693,7 +740,8 @@ int UnityTestMatches(void); #else #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line)) #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line)) +#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) @@ -708,6 +756,7 @@ int UnityTestMatches(void); #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) +#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) @@ -719,7 +768,8 @@ int UnityTestMatches(void); #else #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)line) #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)expected, (UNITY_DOUBLE)actual, (UNITY_LINE_TYPE)(line), message) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)line) +#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_ARRAY_TO_ARRAY) +#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_ARRAY_TO_VAL) #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) diff --git a/test/.rubocop.yml b/test/.rubocop.yml new file mode 100644 index 0000000..c074ca9 --- /dev/null +++ b/test/.rubocop.yml @@ -0,0 +1,58 @@ +# This is the configuration used to check the rubocop source code. + +#inherit_from: .rubocop_todo.yml + +AllCops: + TargetRubyVersion: 2.1 + +# These are areas where ThrowTheSwitch's coding style diverges from the Ruby standard +Style/SpecialGlobalVars: + EnforcedStyle: use_perl_names +Style/FormatString: + Enabled: false +Style/GlobalVars: + Enabled: false +Style/RegexpLiteral: + AllowInnerSlashes: true +Style/HashSyntax: + EnforcedStyle: no_mixed_keys + +# This is disabled because it seems to get confused over nested hashes +Style/AlignHash: + Enabled: false + EnforcedHashRocketStyle: table + EnforcedColonStyle: table + +# We purposefully use these insecure features because they're what makes Ruby awesome +Security/Eval: + Enabled: false +Security/YAMLLoad: + Enabled: false + +# At this point, we're not ready to enforce inline documentation requirements +Style/Documentation: + Enabled: false +Style/DocumentationMethod: + Enabled: false + +# At this point, we're not ready to enforce any metrics +Metrics/AbcSize: + Enabled: false +Metrics/BlockLength: + Enabled: false +Metrics/BlockNesting: + Enabled: false +Metrics/ClassLength: + Enabled: false +Metrics/CyclomaticComplexity: + Enabled: false +Metrics/LineLength: + Enabled: false +Metrics/MethodLength: + Enabled: false +Metrics/ModuleLength: + Enabled: false +Metrics/ParameterLists: + Enabled: false +Metrics/PerceivedComplexity: + Enabled: false diff --git a/test/rakefile b/test/rakefile index 000ab00..4a2f3d2 100644 --- a/test/rakefile +++ b/test/rakefile @@ -32,7 +32,7 @@ configure_toolchain(DEFAULT_CONFIG_FILE) desc "Test unity with its own unit tests" task :unit => [:prepare_for_tests] do - run_tests get_unit_test_files + run_tests unit_test_files end desc "Test unity's helper scripts" @@ -53,7 +53,7 @@ task :summary do end desc "Build and test Unity" -task :all => [:clean, :prepare_for_tests, :scripts, :unit, :summary] +task :all => [:clean, :prepare_for_tests, :scripts, :unit, :style, :summary] task :default => [:clobber, :all] task :ci => [:no_color, :default] task :cruise => [:no_color, :default] @@ -70,3 +70,56 @@ end task :verbose do $verbose = true end + +namespace :style do + desc "Check style" + task :check do + report "\nVERIFYING RUBY STYLE" + report execute("rubocop ../auto ../examples ../extras --config .rubocop.yml", true) + report "Styling Ruby:PASS" + end + + namespace :check do + Dir['../**/*.rb'].each do |f| + filename = File.basename(f, '.rb') + desc "Check Style of #{filename}" + task filename.to_sym => ['style:clean'] do + report execute("rubocop #{f} --color --config .rubocop.yml", true) + report "Style Checked for #{f}" + end + end + end + + desc "Fix Style of all C Code" + task :c do + run_astyle("../src/*.* ../extras/fixture/src/*.*") + end + + namespace :c do + Dir['../{src,extras/**}/*.{c,h}'].each do |f| + filename = File.basename(f)[0..-3] + desc "Check Style of #{filename}" + task filename.to_sym do + run_astyle f + end + end + end + + desc "Attempt to Autocorrect style" + task :auto => ['style:clean'] do + execute("rubocop ../auto ../examples ../extras --auto-correct --config .rubocop.yml") + report "Autocorrected What We Could." + end + + desc "Update style todo list" + task :todo => ['style:clean'] do + execute("rubocop ../auto ../examples ../extras --auto-gen-config --config .rubocop.yml") + report "Updated Style TODO List." + end + + task :clean do + File.delete(".rubocop_todo.yml") if File.exists?(".rubocop_todo.yml") + end +end + +task :style => ['style:check'] diff --git a/test/rakefile_helper.rb b/test/rakefile_helper.rb index 17bfb27..be5bf3e 100644 --- a/test/rakefile_helper.rb +++ b/test/rakefile_helper.rb @@ -11,39 +11,37 @@ require UNITY_ROOT + '../auto/generate_test_runner' require UNITY_ROOT + '../auto/colour_reporter' module RakefileHelpers - - C_EXTENSION = '.c' - + C_EXTENSION = '.c'.freeze def load_configuration(config_file) - unless ($configured) - $cfg_file = "targets/#{config_file}" unless (config_file =~ /[\\|\/]/) - $cfg = YAML.load(File.read($cfg_file)) - $colour_output = false unless $cfg['colour'] - $configured = true if (config_file != DEFAULT_CONFIG_FILE) - end + return if $configured + + $cfg_file = "targets/#{config_file}" unless config_file =~ /[\\|\/]/ + $cfg = YAML.load(File.read($cfg_file)) + $colour_output = false unless $cfg['colour'] + $configured = true if config_file != DEFAULT_CONFIG_FILE end def configure_clean CLEAN.include($cfg['compiler']['build_path'] + '*.*') unless $cfg['compiler']['build_path'].nil? end - def configure_toolchain(config_file=DEFAULT_CONFIG_FILE) + def configure_toolchain(config_file = DEFAULT_CONFIG_FILE) config_file += '.yml' unless config_file =~ /\.yml$/ config_file = config_file unless config_file =~ /[\\|\/]/ load_configuration(config_file) configure_clean end - def get_unit_test_files + def unit_test_files path = $cfg['compiler']['unit_tests_path'] + 'test*' + C_EXTENSION - path.gsub!(/\\/, '/') + path.tr!('\\', '/') FileList.new(path) end - def get_local_include_dirs + def local_include_dirs include_dirs = $cfg['compiler']['includes']['items'].dup - include_dirs.delete_if {|dir| dir.is_a?(Array)} - return include_dirs + include_dirs.delete_if { |dir| dir.is_a?(Array) } + include_dirs end def extract_headers(filename) @@ -51,41 +49,37 @@ module RakefileHelpers lines = File.readlines(filename) lines.each do |line| m = line.match(/^\s*#include\s+\"\s*(.+\.[hH])\s*\"/) - if not m.nil? - includes << m[1] - end + includes << m[1] unless m.nil? end - return includes + includes end def find_source_file(header, paths) paths.each do |dir| src_file = dir + header.ext(C_EXTENSION) - if (File.exists?(src_file)) - return src_file - end + return src_file if File.exist?(src_file) end - return nil + nil end def tackit(strings) - if strings.is_a?(Array) - result = "\"#{strings.join}\"" - else - result = strings - end - return result + result = if strings.is_a?(Array) + "\"#{strings.join}\"" + else + strings + end + result end def squash(prefix, items) result = '' items.each { |item| result += " #{prefix}#{tackit(item)}" } - return result + result end def should(behave, &block) if block - puts "Should " + behave + puts 'Should ' + behave yield block else puts "UNIMPLEMENTED CASE: Should #{behave}" @@ -93,91 +87,103 @@ module RakefileHelpers end def build_compiler_fields(inject_defines) - command = tackit($cfg['compiler']['path']) - if $cfg['compiler']['defines']['items'].nil? - defines = '' - else - defines = squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'] + ['UNITY_OUTPUT_CHAR=putcharSpy'] + inject_defines) - end - options = squash('', $cfg['compiler']['options']) + command = tackit($cfg['compiler']['path']) + defines = if $cfg['compiler']['defines']['items'].nil? + '' + else + squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'] + ['UNITY_OUTPUT_CHAR=putcharSpy'] + inject_defines) + end + options = squash('', $cfg['compiler']['options']) includes = squash($cfg['compiler']['includes']['prefix'], $cfg['compiler']['includes']['items']) includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) - return {:command => command, :defines => defines, :options => options, :includes => includes} + + { :command => command, :defines => defines, :options => options, :includes => includes } end - def compile(file, defines=[]) + def compile(file, defines = []) compiler = build_compiler_fields(defines) - defines = - cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{file} " + + cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{file} " \ "#{$cfg['compiler']['object_files']['prefix']}#{$cfg['compiler']['object_files']['destination']}" obj_file = "#{File.basename(file, C_EXTENSION)}#{$cfg['compiler']['object_files']['extension']}" execute(cmd_str + obj_file) - return obj_file + + obj_file end def build_linker_fields - command = tackit($cfg['linker']['path']) - if $cfg['linker']['options'].nil? - options = '' - else - options = squash('', $cfg['linker']['options']) - end - if ($cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil?) - includes = '' - else - includes = squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items']) - end - includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) - return {:command => command, :options => options, :includes => includes} + command = tackit($cfg['linker']['path']) + options = if $cfg['linker']['options'].nil? + '' + else + squash('', $cfg['linker']['options']) + end + includes = if $cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil? + '' + else + squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items']) + end.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) + + { :command => command, :options => options, :includes => includes } end def link_it(exe_name, obj_list) linker = build_linker_fields cmd_str = "#{linker[:command]}#{linker[:options]}#{linker[:includes]} " + - (obj_list.map{|obj|"#{$cfg['linker']['object_files']['path']}#{obj} "}).join + - $cfg['linker']['bin_files']['prefix'] + ' ' + - $cfg['linker']['bin_files']['destination'] + - exe_name + $cfg['linker']['bin_files']['extension'] + (obj_list.map { |obj| "#{$cfg['linker']['object_files']['path']}#{obj} " }).join + + $cfg['linker']['bin_files']['prefix'] + ' ' + + $cfg['linker']['bin_files']['destination'] + + exe_name + $cfg['linker']['bin_files']['extension'] execute(cmd_str) end def build_simulator_fields return nil if $cfg['simulator'].nil? - if $cfg['simulator']['path'].nil? - command = '' - else - command = (tackit($cfg['simulator']['path']) + ' ') - end - if $cfg['simulator']['pre_support'].nil? - pre_support = '' - else - pre_support = squash('', $cfg['simulator']['pre_support']) - end - if $cfg['simulator']['post_support'].nil? - post_support = '' - else - post_support = squash('', $cfg['simulator']['post_support']) - end - return {:command => command, :pre_support => pre_support, :post_support => post_support} + command = if $cfg['simulator']['path'].nil? + '' + else + (tackit($cfg['simulator']['path']) + ' ') + end + pre_support = if $cfg['simulator']['pre_support'].nil? + '' + else + squash('', $cfg['simulator']['pre_support']) + end + post_support = if $cfg['simulator']['post_support'].nil? + '' + else + squash('', $cfg['simulator']['post_support']) + end + + { :command => command, :pre_support => pre_support, :post_support => post_support } end - def execute(command_string, ok_to_fail=false) + def run_astyle(style_what) + report "Styling C Code..." + command = "AStyle " \ + "--style=allman --indent=spaces=4 --indent-switches --indent-preproc-define --indent-preproc-block " \ + "--pad-oper --pad-comma --unpad-paren --pad-header " \ + "--align-pointer=type --align-reference=name " \ + "--add-brackets --mode=c --suffix=none " \ + "#{style_what}" + execute(command, false) + report "Styling C:PASS" + end + + def execute(command_string, ok_to_fail = false) report command_string if $verbose output = `#{command_string}`.chomp - report(output) if ($verbose && !output.nil? && (output.length > 0)) - if (($?.exitstatus != 0) && !ok_to_fail) - raise "Command failed. (Returned #{$?.exitstatus})" - end - return output + report(output) if $verbose && !output.nil? && !output.empty? + raise "Command failed. (Returned #{$?.exitstatus})" if !$?.exitstatus.zero? && !ok_to_fail + output end def report_summary summary = UnityTestSummary.new - summary.set_root_path(UNITY_ROOT) + summary.root = UNITY_ROOT results_glob = "#{$cfg['compiler']['build_path']}*.test*" - results_glob.gsub!(/\\/, '/') + results_glob.tr!('\\', '/') results = Dir[results_glob] - summary.set_targets(results) + summary.targets = results report summary.run end @@ -187,16 +193,16 @@ module RakefileHelpers # Tack on TEST define for compiling unit tests load_configuration($cfg_file) test_defines = ['TEST'] - $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil? + $cfg['compiler']['defines']['items'] ||= [] $cfg['compiler']['defines']['items'] << 'TEST' - include_dirs = get_local_include_dirs + include_dirs = local_include_dirs # Build and execute each unit test test_files.each do |test| obj_list = [] - if !$cfg['compiler']['aux_sources'].nil? + unless $cfg['compiler']['aux_sources'].nil? $cfg['compiler']['aux_sources'].each do |aux| obj_list << compile(aux, test_defines) end @@ -206,25 +212,23 @@ module RakefileHelpers extract_headers(test).each do |header| # Compile corresponding source file if it exists src_file = find_source_file(header, include_dirs) - if !src_file.nil? - obj_list << compile(src_file, test_defines) - end + + obj_list << compile(src_file, test_defines) unless src_file.nil? end # Build the test runner (generate if configured to do so) test_base = File.basename(test, C_EXTENSION) runner_name = test_base + '_Runner.c' - runner_path = '' - if $cfg['compiler']['runner_path'].nil? - runner_path = $cfg['compiler']['build_path'] + runner_name - else - runner_path = $cfg['compiler']['runner_path'] + runner_name - end + runner_path = if $cfg['compiler']['runner_path'].nil? + $cfg['compiler']['build_path'] + runner_name + else + $cfg['compiler']['runner_path'] + runner_name + end options = $cfg[:unity] - options[:use_param_tests] = (test =~ /parameterized/) ? true : false + options[:use_param_tests] = test =~ /parameterized/ ? true : false UnityTestRunnerGenerator.new(options).run(test, runner_path) obj_list << compile(runner_path, test_defines) @@ -237,21 +241,20 @@ module RakefileHelpers # Execute unit test and generate results file simulator = build_simulator_fields executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension'] - if simulator.nil? - cmd_str = executable - else - cmd_str = "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" - end + cmd_str = if simulator.nil? + executable + else + "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" + end output = execute(cmd_str) test_results = $cfg['compiler']['build_path'] + test_base if output.match(/OK$/m).nil? test_results += '.testfail' else - report output if (!$verbose) #verbose already prints this line, as does a failure + report output unless $verbose # Verbose already prints this line, as does a failure test_results += '.testpass' end File.open(test_results, 'w') { |f| f.print output } - end end end diff --git a/test/targets/clang_strict.yml b/test/targets/clang_strict.yml index b399d76..ee05b2a 100644 --- a/test/targets/clang_strict.yml +++ b/test/targets/clang_strict.yml @@ -36,7 +36,7 @@ compiler: - '-Wbad-function-cast' - '-fms-extensions' - '-fno-omit-frame-pointer' - - '-ffloat-store' + #- '-ffloat-store' - '-fno-common' - '-fstrict-aliasing' - '-std=gnu99' @@ -55,8 +55,6 @@ compiler: - UNITY_INCLUDE_DOUBLE - UNITY_SUPPORT_TEST_CASES - UNITY_SUPPORT_64 - - UNITY_OUTPUT_FLUSH - - UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION object_files: prefix: '-o' extension: '.o' diff --git a/test/testdata/testRunnerGeneratorSmall.c b/test/testdata/testRunnerGeneratorSmall.c index 9f4ec19..c683749 100644 --- a/test/testdata/testRunnerGeneratorSmall.c +++ b/test/testdata/testRunnerGeneratorSmall.c @@ -4,6 +4,8 @@ #include "unity.h" #include "Defs.h" +TEST_FILE("some_file.c") + /* Notes about prefixes: test - normal default prefix. these are "always run" tests for this procedure spec - normal default prefix. required to run default setup/teardown calls. diff --git a/test/tests/test_generate_test_runner.rb b/test/tests/test_generate_test_runner.rb index 55a64c0..a3536d3 100644 --- a/test/tests/test_generate_test_runner.rb +++ b/test/tests/test_generate_test_runner.rb @@ -1170,11 +1170,11 @@ def runner_test(test, runner, expected, test_defines, cmdline_args) simulator = build_simulator_fields cmdline_args ||= "" executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension'] + " #{cmdline_args}" - if simulator.nil? - cmd_str = executable - else - cmd_str = "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" - end + cmd_str = if simulator.nil? + executable + else + "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}" + end output = execute(cmd_str, true) #compare to the expected pass/fail diff --git a/test/tests/testunity.c b/test/tests/testunity.c index f062894..3555fb2 100644 --- a/test/tests/testunity.c +++ b/test/tests/testunity.c @@ -1519,6 +1519,61 @@ void testNotEqualStringArrayLengthZero(void) VERIFY_FAILS_END } +void testEqualStringEachEqual(void) +{ + const char *testStrings1[] = { "foo", "foo", "foo", "foo" }; + const char *testStrings2[] = { "boo", "boo", "boo", "zoo" }; + const char *testStrings3[] = { "", "", "", "" }; + + TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings1, 4); + TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings1, 1); + TEST_ASSERT_EACH_EQUAL_STRING("boo", testStrings2, 3); + TEST_ASSERT_EACH_EQUAL_STRING("", testStrings3, 4); +} + +void testNotEqualStringEachEqual1(void) +{ + const char *testStrings[] = { "foo", "foo", "foo", "moo" }; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4); + VERIFY_FAILS_END +} + +void testNotEqualStringEachEqual2(void) +{ + const char *testStrings[] = { "boo", "foo", "foo", "foo" }; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4); + VERIFY_FAILS_END +} + +void testNotEqualStringEachEqual3(void) +{ + const char *testStrings[] = { "foo", "foo", "foo", NULL }; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4); + VERIFY_FAILS_END +} + +void testNotEqualStringEachEqual4(void) +{ + const char *testStrings[] = { "foo", "foo", "woo", "foo" }; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_STRING("foo", testStrings, 4); + VERIFY_FAILS_END +} + +void testNotEqualStringEachEqual5(void) +{ + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_STRING("foo", NULL, 1); + VERIFY_FAILS_END +} + void testEqualMemory(void) { const char *testString = "whatever"; @@ -1641,6 +1696,65 @@ void testNotEqualIntArraysLengthZero(void) VERIFY_FAILS_END } +void testEqualIntEachEqual(void) +{ + int p0[] = {1, 1, 1, 1}; + int p1[] = {987, 987, 987, 987}; + int p2[] = {-2, -2, -2, -3}; + int p3[] = {1, 5, 600, 700}; + + TEST_ASSERT_EACH_EQUAL_INT(1, p0, 1); + TEST_ASSERT_EACH_EQUAL_INT(1, p0, 4); + TEST_ASSERT_EACH_EQUAL_INT(987, p1, 4); + TEST_ASSERT_EACH_EQUAL_INT(-2, p2, 3); + TEST_ASSERT_EACH_EQUAL_INT(1, p3, 1); +} + +void testNotEqualIntEachEqualNullActual(void) +{ + int* p1 = NULL; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT(1, p1, 4); + VERIFY_FAILS_END +} + +void testNotEqualIntEachEqual1(void) +{ + int p0[] = {1, 1, 1, -2}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT(1, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualIntEachEqual2(void) +{ + int p0[] = {-5, -5, -1, -5}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT(-5, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualIntEachEqual3(void) +{ + int p0[] = {1, 88, 88, 88}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT(88, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualEachEqualLengthZero(void) +{ + UNITY_UINT32 p0[1] = {1}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT(0, p0, 0); + VERIFY_FAILS_END +} + void testEqualPtrArrays(void) { char A = 1; @@ -1721,6 +1835,77 @@ void testNotEqualPtrArrays3(void) VERIFY_FAILS_END } +void testEqualPtrEachEqual(void) +{ + char A = 1; + char B = 2; + char C = 3; + char* p0[] = {&A, &A, &A}; + char* p1[] = {&A, &B, &C, &A}; + char* p2[] = {&B, &B}; + char* p3[] = {&C}; + + TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 1); + TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 3); + TEST_ASSERT_EACH_EQUAL_PTR(&A, p1, 1); + TEST_ASSERT_EACH_EQUAL_PTR(&B, p2, 2); + TEST_ASSERT_EACH_EQUAL_PTR(&C, p3, 1); +} + +void testNotEqualPtrEachEqualNullExpected(void) +{ + char A = 1; + char B = 1; + char* p0[] = {&A, &B}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 2); + VERIFY_FAILS_END +} + +void testNotEqualPtrEachEqualNullActual(void) +{ + char A = 1; + char** p0 = NULL; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 2); + VERIFY_FAILS_END +} + +void testNotEqualPtrEachEqual1(void) +{ + char A = 1; + char B = 1; + char* p0[] = {&A, &A, &A, &B}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_PTR(&A, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualPtrEachEqual2(void) +{ + char A = 1; + char B = 1; + char* p0[] = {&B, &B, &A, &B}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_PTR(&B, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualPtrEachEqual3(void) +{ + char A = 1; + char B = 1; + char* p0[] = {&A, &B, &B, &B}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_PTR(&B, p0, 4); + VERIFY_FAILS_END +} + void testEqualInt8Arrays(void) { UNITY_INT8 p0[] = {1, 8, 117, -2}; @@ -1745,6 +1930,29 @@ void testNotEqualInt8Arrays(void) VERIFY_FAILS_END } +void testEqualInt8EachEqual(void) +{ + UNITY_INT8 p0[] = {1, 1, 1, 1}; + UNITY_INT8 p1[] = {117, 117, 117, -2}; + UNITY_INT8 p2[] = {-1, -1, 117, 2}; + UNITY_INT8 p3[] = {1, 50, 60, 70}; + + TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 1); + TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 4); + TEST_ASSERT_EACH_EQUAL_INT8(117, p1, 3); + TEST_ASSERT_EACH_EQUAL_INT8(-1, p2, 2); + TEST_ASSERT_EACH_EQUAL_INT8(1, p3, 1); +} + +void testNotEqualInt8EachEqual(void) +{ + UNITY_INT8 p0[] = {1, 8, 36, -2}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT8(1, p0, 2); + VERIFY_FAILS_END +} + void testEqualUIntArrays(void) { unsigned int p0[] = {1, 8, 987, 65132u}; @@ -1789,6 +1997,47 @@ void testNotEqualUIntArrays3(void) VERIFY_FAILS_END } +void testEqualUIntEachEqual(void) +{ + unsigned int p0[] = {1, 1, 1, 1}; + unsigned int p1[] = {65132u, 65132u, 65132u, 65132u}; + unsigned int p2[] = {8, 8, 987, 2}; + unsigned int p3[] = {1, 500, 600, 700}; + + TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 1); + TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 4); + TEST_ASSERT_EACH_EQUAL_UINT(65132u, p1, 4); + TEST_ASSERT_EACH_EQUAL_UINT(8, p2, 2); + TEST_ASSERT_EACH_EQUAL_UINT(1, p3, 1); +} + +void testNotEqualUIntEachEqual1(void) +{ + unsigned int p0[] = {1, 65132u, 65132u, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUIntEachEqual2(void) +{ + unsigned int p0[] = {987, 8, 987, 987}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT(987, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUIntEachEqual3(void) +{ + unsigned int p0[] = {1, 1, 1, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT(1, p0, 4); + VERIFY_FAILS_END +} + void testEqualInt16Arrays(void) { UNITY_INT16 p0[] = {1, 8, 117, 3}; @@ -1813,6 +2062,29 @@ void testNotEqualInt16Arrays(void) VERIFY_FAILS_END } +void testEqualInt16EachEqual(void) +{ + UNITY_INT16 p0[] = {1, 1, 1, 1}; + UNITY_INT16 p1[] = {32111, 32111, 32111, 3}; + UNITY_INT16 p2[] = {-1, -1, -1, 2}; + UNITY_INT16 p3[] = {1, 50, 60, 70}; + + TEST_ASSERT_EACH_EQUAL_INT16(1, p0, 1); + TEST_ASSERT_EACH_EQUAL_INT16(1, p0, 4); + TEST_ASSERT_EACH_EQUAL_INT16(32111, p1, 3); + TEST_ASSERT_EACH_EQUAL_INT16(-1, p2, 3); + TEST_ASSERT_EACH_EQUAL_INT16(1, p3, 1); +} + +void testNotEqualInt16EachEqual(void) +{ + UNITY_INT16 p0[] = {127, 127, 127, 3}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT16(127, p0, 4); + VERIFY_FAILS_END +} + void testEqualInt32Arrays(void) { UNITY_INT32 p0[] = {1, 8, 117, 3}; @@ -1837,6 +2109,29 @@ void testNotEqualInt32Arrays(void) VERIFY_FAILS_END } +void testEqualInt32EachEqual(void) +{ + UNITY_INT32 p0[] = {8, 8, 8, 8}; + UNITY_INT32 p1[] = {65537, 65537, 65537, 65537}; + UNITY_INT32 p2[] = {-3, -3, -3, 2}; + UNITY_INT32 p3[] = {1, 50, 60, 70}; + + TEST_ASSERT_EACH_EQUAL_INT32(8, p0, 1); + TEST_ASSERT_EACH_EQUAL_INT32(8, p0, 4); + TEST_ASSERT_EACH_EQUAL_INT32(65537, p1, 4); + TEST_ASSERT_EACH_EQUAL_INT32(-3, p2, 3); + TEST_ASSERT_EACH_EQUAL_INT32(1, p3, 1); +} + +void testNotEqualInt32EachEqual(void) +{ + UNITY_INT32 p0[] = {127, 8, 127, 127}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_INT32(127, p0, 4); + VERIFY_FAILS_END +} + void testEqualUINT8Arrays(void) { UNITY_UINT8 p0[] = {1, 8, 100, 127}; @@ -2104,10 +2399,10 @@ void testNotEqualHEX16Arrays3(void) void testEqualHEX8Arrays(void) { - unsigned short p0[] = {1, 8, 254u, 123}; - unsigned short p1[] = {1, 8, 254u, 123}; - unsigned short p2[] = {1, 8, 254u, 2}; - unsigned short p3[] = {1, 23, 25, 26}; + unsigned char p0[] = {1, 8, 254u, 123}; + unsigned char p1[] = {1, 8, 254u, 123}; + unsigned char p2[] = {1, 8, 254u, 2}; + unsigned char p3[] = {1, 23, 25, 26}; TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 1); TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 4); @@ -2146,6 +2441,293 @@ void testNotEqualHEX8Arrays3(void) VERIFY_FAILS_END } +void testEqualUINT8EachEqual(void) +{ + UNITY_UINT8 p0[] = {127u, 127u, 127u, 127u}; + UNITY_UINT8 p1[] = {1u, 1u, 1u, 1u}; + UNITY_UINT8 p2[] = {128u, 128u, 128u, 2u}; + UNITY_UINT8 p3[] = {1u, 50u, 60u, 70u}; + + TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 1); + TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 4); + TEST_ASSERT_EACH_EQUAL_UINT8(1u, p1, 4); + TEST_ASSERT_EACH_EQUAL_UINT8(128u, p2, 3); + TEST_ASSERT_EACH_EQUAL_UINT8(1u, p3, 1); +} + +void testNotEqualUINT8EachEqual1(void) +{ + unsigned char p0[] = {127u, 127u, 128u, 127u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT8(127u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUINT8EachEqual2(void) +{ + unsigned char p0[] = {1, 1, 1, 127u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT8(1, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUINT8EachEqual3(void) +{ + unsigned char p0[] = {54u, 55u, 55u, 55u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT8(55u, p0, 4); + VERIFY_FAILS_END +} + +void testEqualUINT16EachEqual(void) +{ + unsigned short p0[] = {65132u, 65132u, 65132u, 65132u}; + unsigned short p1[] = {987, 987, 987, 987}; + unsigned short p2[] = {1, 1, 1, 2}; + unsigned short p3[] = {1, 500, 600, 700}; + + TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 1); + TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4); + TEST_ASSERT_EACH_EQUAL_UINT16(987, p1, 4); + TEST_ASSERT_EACH_EQUAL_UINT16(1, p2, 3); + TEST_ASSERT_EACH_EQUAL_UINT16(1, p3, 1); +} + +void testNotEqualUINT16EachEqual1(void) +{ + unsigned short p0[] = {1, 65132u, 65132u, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUINT16EachEqual2(void) +{ + unsigned short p0[] = {65132u, 65132u, 987, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUINT16EachEqual3(void) +{ + unsigned short p0[] = {65132u, 65132u, 65132u, 65133u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT16(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testEqualUINT32EachEqual(void) +{ + UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u}; + UNITY_UINT32 p1[] = {987, 987, 987, 987}; + UNITY_UINT32 p2[] = {8, 8, 8, 2}; + UNITY_UINT32 p3[] = {1, 500, 600, 700}; + + TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 1); + TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 4); + TEST_ASSERT_EACH_EQUAL_UINT32(987, p1, 4); + TEST_ASSERT_EACH_EQUAL_UINT32(8, p2, 3); + TEST_ASSERT_EACH_EQUAL_UINT32(1, p3, 1); +} + +void testNotEqualUINT32EachEqual1(void) +{ + UNITY_UINT32 p0[] = {65132u, 65132u, 987, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT32(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUINT32EachEqual2(void) +{ + UNITY_UINT32 p0[] = {1, 987, 987, 987}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT32(987, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualUINT32EachEqual3(void) +{ + UNITY_UINT32 p0[] = {1, 1, 1, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_UINT32(1, p0, 4); + VERIFY_FAILS_END +} + +void testEqualHEXEachEqual(void) +{ + UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u}; + UNITY_UINT32 p1[] = {987, 987, 987, 987}; + UNITY_UINT32 p2[] = {8, 8, 8, 2}; + UNITY_UINT32 p3[] = {1, 500, 600, 700}; + + TEST_ASSERT_EACH_EQUAL_HEX(65132u, p0, 1); + TEST_ASSERT_EACH_EQUAL_HEX(65132u, p0, 4); + TEST_ASSERT_EACH_EQUAL_HEX(987, p1, 4); + TEST_ASSERT_EACH_EQUAL_HEX(8, p2, 3); + TEST_ASSERT_EACH_EQUAL_HEX(1, p3, 1); +} + +void testNotEqualHEXEachEqual1(void) +{ + UNITY_UINT32 p0[] = {1, 65132u, 65132u, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEXEachEqual2(void) +{ + UNITY_UINT32 p0[] = {987, 987, 987, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX32(987, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEXEachEqual3(void) +{ + UNITY_UINT32 p0[] = {8, 8, 987, 8}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX(8, p0, 4); + VERIFY_FAILS_END +} + +void testEqualHEX32EachEqual(void) +{ + UNITY_UINT32 p0[] = {65132u, 65132u, 65132u, 65132u}; + UNITY_UINT32 p1[] = {987, 987, 987, 987}; + UNITY_UINT32 p2[] = {8, 8, 8, 2}; + UNITY_UINT32 p3[] = {1, 500, 600, 700}; + + TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 1); + TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4); + TEST_ASSERT_EACH_EQUAL_HEX32(987, p1, 4); + TEST_ASSERT_EACH_EQUAL_HEX32(8, p2, 3); + TEST_ASSERT_EACH_EQUAL_HEX32(1, p3, 1); +} + +void testNotEqualHEX32EachEqual1(void) +{ + UNITY_UINT32 p0[] = {65132u, 8, 65132u, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX32(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEX32EachEqual2(void) +{ + UNITY_UINT32 p0[] = {1, 987, 987, 987}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX32(987, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEX32EachEqual3(void) +{ + UNITY_UINT32 p0[] = {8, 8, 8, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX32(8, p0, 4); + VERIFY_FAILS_END +} + +void testEqualHEX16EachEqual(void) +{ + UNITY_UINT16 p0[] = {65132u, 65132u, 65132u, 65132u}; + UNITY_UINT16 p1[] = {987, 987, 987, 987}; + UNITY_UINT16 p2[] = {8, 8, 8, 2}; + UNITY_UINT16 p3[] = {1, 500, 600, 700}; + + TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 1); + TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 4); + TEST_ASSERT_EACH_EQUAL_HEX16(987, p1, 4); + TEST_ASSERT_EACH_EQUAL_HEX16(8, p2, 3); + TEST_ASSERT_EACH_EQUAL_HEX16(1, p3, 1); +} + +void testNotEqualHEX16EachEqual1(void) +{ + unsigned short p0[] = {65132u, 65132u, 987, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX16(65132u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEX16EachEqual2(void) +{ + unsigned short p0[] = {1, 987, 987, 987}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX16(987, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEX16EachEqual3(void) +{ + unsigned short p0[] = {8, 8, 8, 65132u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX16(8, p0, 4); + VERIFY_FAILS_END +} + +void testEqualHEX8EachEqual(void) +{ + unsigned char p0[] = {254u, 254u, 254u, 254u}; + unsigned char p1[] = {123, 123, 123, 123}; + unsigned char p2[] = {8, 8, 8, 2}; + unsigned char p3[] = {1, 23, 25, 26}; + + TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 1); + TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 4); + TEST_ASSERT_EACH_EQUAL_HEX8(123, p1, 4); + TEST_ASSERT_EACH_EQUAL_HEX8(8, p2, 3); + TEST_ASSERT_EACH_EQUAL_HEX8(1, p3, 1); +} + +void testNotEqualHEX8EachEqual1(void) +{ + unsigned char p0[] = {253u, 253u, 254u, 253u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX8(253u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEX8EachEqual2(void) +{ + unsigned char p0[] = {254u, 254u, 254u, 253u}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX8(254u, p0, 4); + VERIFY_FAILS_END +} + +void testNotEqualHEX8EachEqual3(void) +{ + unsigned char p0[] = {1, 8, 8, 8}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_HEX8(8, p0, 4); + VERIFY_FAILS_END +} + void testEqualMemoryArrays(void) { int p0[] = {1, 8, 987, -2}; @@ -2210,6 +2792,71 @@ void testNotEqualMemoryArrays3(void) VERIFY_FAILS_END } +void testEqualMemoryEachEqual(void) +{ + int p0[] = {1, 8, 987, -2}; + int p1[] = {1, 8, 987, -2, 1, 8, 987, -2}; + int p2[] = {8, 8, 8, 2}; + int p3[] = {8, 500, 600, 700}; + int v = 8; + + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p0, sizeof(int)*4, 1); + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 2); + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 1); + TEST_ASSERT_EACH_EQUAL_MEMORY(&v, p2, sizeof(int), 3); + TEST_ASSERT_EACH_EQUAL_MEMORY(&v, p3, sizeof(int), 1); +} + +void testNotEqualMemoryEachEqualExpectedNull(void) +{ + int* p0 = NULL; + int p1[] = {1, 8, 987, 2}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int), 4); + VERIFY_FAILS_END +} + +void testNotEqualMemoryEachEqualActualNull(void) +{ + int p0[] = {1, 8, 987, -2}; + int* p1 = NULL; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int), 4); + VERIFY_FAILS_END +} + +void testNotEqualMemoryEachEqual1(void) +{ + int p0[] = {1, 8, 987, -2}; + int p1[] = {9, 8, 987, -2, 1, 8, 987, -2, 1, 8, 987, -2}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3); + VERIFY_FAILS_END +} + +void testNotEqualMemoryEachEqual2(void) +{ + int p0[] = {1, 8, 987, -2}; + int p1[] = {1, 8, 987, -2, 1, 8, 987, -2, 1, 8, 987, 9}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3); + VERIFY_FAILS_END +} + +void testNotEqualMemoryEachEqual3(void) +{ + int p0[] = {1, 8, 987, -2}; + int p1[] = {1, 8, 987, -2, 1, 9, 987, -2, 1, 8, 987, -2}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_MEMORY(p0, p1, sizeof(int)*4, 3); + VERIFY_FAILS_END +} + void testProtection(void) { volatile int mask = 0; @@ -3255,6 +3902,150 @@ void testNotEqualFloatArraysLengthZero(void) #endif } +void testEqualFloatEachEqual(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {1.0f, 1.0f, 1.0f, 1.0f}; + float p1[] = {-0.123f, -0.123f, -0.123f, -0.123f}; + float p2[] = {25.4f, 25.4f, 25.4f, -0.2f}; + float p3[] = {1.0f, -23.0f, 25.0f, -0.26f}; + + TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 1); + TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4); + TEST_ASSERT_EACH_EQUAL_FLOAT(-0.123f, p1, 4); + TEST_ASSERT_EACH_EQUAL_FLOAT(25.4f, p2, 3); + TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p3, 1); +#endif +} + +void testNotEqualFloatEachEqualActualNull(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float* p0 = NULL; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(5, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualFloatEachEqual1(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {0.253f, 8.0f, 0.253f, 0.253f}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(0.253f, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualFloatEachEqual2(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {8.0f, 8.0f, 8.0f, 0.253f}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(8.0f, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualFloatEachEqual3(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {1.0f, 1.0f, 1.0f, 0.253f}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualFloatEachEqualNegative1(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {-1.0f, -0.253f, -0.253f, -0.253f}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(-0.253f, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualFloatEachEqualNegative2(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {-25.4f, -8.0f, -25.4f, -25.4f}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(-25.4f, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualFloatEachEqualNegative3(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {-8.0f, -8.0f, -8.0f, -0.253f}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(-8.0f, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testEqualFloatEachEqualNaN(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero}; + + TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f / f_zero, p0, 4); +#endif +} + +void testEqualFloatEachEqualInf(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[] = {1.0f / f_zero, 1.0f / f_zero, 25.4f, 0.253f}; + + TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f / f_zero, p0, 2); +#endif +} + +void testNotEqualFloatEachEqualLengthZero(void) +{ +#ifdef UNITY_EXCLUDE_FLOAT + TEST_IGNORE(); +#else + float p0[1] = {0.0f}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f, p0, 0); + VERIFY_FAILS_END +#endif +} + #define TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, actual) { \ startPutcharSpy(); UnityPrintFloat((actual)); endPutcharSpy(); \ TEST_ASSERT_EQUAL_STRING((expected), getBufferPutcharSpy()); \ @@ -3953,6 +4744,150 @@ void testNotEqualDoubleArraysLengthZero(void) #endif } +void testEqualDoubleEachEqual(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {1.0, 1.0, 1.0, 1.0}; + double p1[] = {-0.123, -0.123, -0.123, -0.123}; + double p2[] = {25.4, 25.4, 25.4, -0.2}; + double p3[] = {1.0, -23.0, 25.0, -0.26}; + + TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 1); + TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 4); + TEST_ASSERT_EACH_EQUAL_DOUBLE(-0.123, p1, 4); + TEST_ASSERT_EACH_EQUAL_DOUBLE(25.4, p2, 3); + TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p3, 1); +#endif +} + +void testNotEqualDoubleEachEqualActualNull(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double* p0 = NULL; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(5, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualDoubleEachEqual1(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {0.253, 8.0, 0.253, 0.253}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(0.253, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualDoubleEachEqual2(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {8.0, 8.0, 8.0, 0.253}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(8.0, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualDoubleEachEqual3(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {1.0, 1.0, 1.0, 0.253}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualDoubleEachEqualNegative1(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {-1.0, -0.253, -0.253, -0.253}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(-0.253, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualDoubleEachEqualNegative2(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {-25.4, -8.0, -25.4, -25.4}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(-25.4, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testNotEqualDoubleEachEqualNegative3(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {-8.0, -8.0, -8.0, -0.253}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(-8.0, p0, 4); + VERIFY_FAILS_END +#endif +} + +void testEqualDoubleEachEqualNaN(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {0.0 / d_zero, 0.0 / d_zero, 0.0 / d_zero, 0.0 / d_zero}; + + TEST_ASSERT_EACH_EQUAL_DOUBLE(0.0 / d_zero, p0, 4); +#endif +} + +void testEqualDoubleEachEqualInf(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[] = {1.0 / d_zero, 1.0 / d_zero, 25.4, 0.253}; + + TEST_ASSERT_EACH_EQUAL_DOUBLE(1.0 / d_zero, p0, 2); +#endif +} + +void testNotEqualDoubleEachEqualLengthZero(void) +{ +#ifdef UNITY_EXCLUDE_DOUBLE + TEST_IGNORE(); +#else + double p0[1] = {0.0}; + + EXPECT_ABORT_BEGIN + TEST_ASSERT_EACH_EQUAL_DOUBLE(0.0, p0, 0); + VERIFY_FAILS_END +#endif +} + void testDoublePrinting(void) { #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_EXCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)