From 5347e10029fc36e506e970a0cdbc89e469379f46 Mon Sep 17 00:00:00 2001 From: Norman Clarke Date: Mon, 10 May 2010 10:46:37 -0300 Subject: [PATCH] Make mb_chars use a proxy class with 1.9, move Unicode functionality into separate module. [#4595 state:resolved] --- activesupport/bin/generate_tables | 205 ++++---- .../active_support/core_ext/string/multibyte.rb | 30 +- .../lib/active_support/inflector/transliterate.rb | 5 +- activesupport/lib/active_support/multibyte.rb | 20 +- .../lib/active_support/multibyte/chars.rb | 577 +++++--------------- .../lib/active_support/multibyte/unicode.rb | 393 +++++++++++++ .../active_support/multibyte/unicode_database.rb | 71 --- .../lib/active_support/values/unicode_tables.dat | Bin 710734 -> 710743 bytes activesupport/test/core_ext/string_ext_test.rb | 4 +- activesupport/test/multibyte_chars_test.rb | 87 ++-- activesupport/test/multibyte_conformance.rb | 2 +- .../test/multibyte_unicode_database_test.rb | 12 +- 12 files changed, 710 insertions(+), 696 deletions(-) create mode 100644 activesupport/lib/active_support/multibyte/unicode.rb delete mode 100644 activesupport/lib/active_support/multibyte/unicode_database.rb diff --git a/activesupport/bin/generate_tables b/activesupport/bin/generate_tables index f8e0321..8e36f70 100755 --- a/activesupport/bin/generate_tables +++ b/activesupport/bin/generate_tables @@ -11,126 +11,129 @@ require 'tmpdir' module ActiveSupport module Multibyte - class UnicodeDatabase - def load; end - end - - class UnicodeDatabaseGenerator - BASE_URI = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::UNICODE_VERSION}/ucd/" - SOURCES = { - :codepoints => BASE_URI + 'UnicodeData.txt', - :composition_exclusion => BASE_URI + 'CompositionExclusions.txt', - :grapheme_break_property => BASE_URI + 'auxiliary/GraphemeBreakProperty.txt', - :cp1252 => 'http://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT' - } - - def initialize - @ucd = UnicodeDatabase.new - - default = Codepoint.new - default.combining_class = 0 - default.uppercase_mapping = 0 - default.lowercase_mapping = 0 - @ucd.codepoints = Hash.new(default) - end + module Unicode - def parse_codepoints(line) - codepoint = Codepoint.new - raise "Could not parse input." unless line =~ /^ - ([0-9A-F]+); # code - ([^;]+); # name - ([A-Z]+); # general category - ([0-9]+); # canonical combining class - ([A-Z]+); # bidi class - (<([A-Z]*)>)? # decomposition type - ((\ ?[0-9A-F]+)*); # decompomposition mapping - ([0-9]*); # decimal digit - ([0-9]*); # digit - ([^;]*); # numeric - ([YN]*); # bidi mirrored - ([^;]*); # unicode 1.0 name - ([^;]*); # iso comment - ([0-9A-F]*); # simple uppercase mapping - ([0-9A-F]*); # simple lowercase mapping - ([0-9A-F]*)$/ix # simple titlecase mapping - codepoint.code = $1.hex - #codepoint.name = $2 - #codepoint.category = $3 - codepoint.combining_class = Integer($4) - #codepoint.bidi_class = $5 - codepoint.decomp_type = $7 - codepoint.decomp_mapping = ($8=='') ? nil : $8.split.collect { |element| element.hex } - #codepoint.bidi_mirrored = ($13=='Y') ? true : false - codepoint.uppercase_mapping = ($16=='') ? 0 : $16.hex - codepoint.lowercase_mapping = ($17=='') ? 0 : $17.hex - #codepoint.titlecase_mapping = ($18=='') ? nil : $18.hex - @ucd.codepoints[codepoint.code] = codepoint + class Database + def load; end end - def parse_grapheme_break_property(line) - if line =~ /^([0-9A-F\.]+)\s*;\s*([\w]+)\s*#/ - type = $2.downcase.intern - @ucd.boundary[type] ||= [] - if $1.include? '..' - parts = $1.split '..' - @ucd.boundary[type] << (parts[0].hex..parts[1].hex) - else - @ucd.boundary[type] << $1.hex + class DatabaseGenerator + BASE_URI = "http://www.unicode.org/Public/#{UNICODE_VERSION}/ucd/" + SOURCES = { + :codepoints => BASE_URI + 'UnicodeData.txt', + :composition_exclusion => BASE_URI + 'CompositionExclusions.txt', + :grapheme_break_property => BASE_URI + 'auxiliary/GraphemeBreakProperty.txt', + :cp1252 => 'http://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT' + } + + def initialize + @ucd = Unicode::Database.new + + default = Codepoint.new + default.combining_class = 0 + default.uppercase_mapping = 0 + default.lowercase_mapping = 0 + @ucd.codepoints = Hash.new(default) + end + + def parse_codepoints(line) + codepoint = Codepoint.new + raise "Could not parse input." unless line =~ /^ + ([0-9A-F]+); # code + ([^;]+); # name + ([A-Z]+); # general category + ([0-9]+); # canonical combining class + ([A-Z]+); # bidi class + (<([A-Z]*)>)? # decomposition type + ((\ ?[0-9A-F]+)*); # decompomposition mapping + ([0-9]*); # decimal digit + ([0-9]*); # digit + ([^;]*); # numeric + ([YN]*); # bidi mirrored + ([^;]*); # unicode 1.0 name + ([^;]*); # iso comment + ([0-9A-F]*); # simple uppercase mapping + ([0-9A-F]*); # simple lowercase mapping + ([0-9A-F]*)$/ix # simple titlecase mapping + codepoint.code = $1.hex + #codepoint.name = $2 + #codepoint.category = $3 + codepoint.combining_class = Integer($4) + #codepoint.bidi_class = $5 + codepoint.decomp_type = $7 + codepoint.decomp_mapping = ($8=='') ? nil : $8.split.collect { |element| element.hex } + #codepoint.bidi_mirrored = ($13=='Y') ? true : false + codepoint.uppercase_mapping = ($16=='') ? 0 : $16.hex + codepoint.lowercase_mapping = ($17=='') ? 0 : $17.hex + #codepoint.titlecase_mapping = ($18=='') ? nil : $18.hex + @ucd.codepoints[codepoint.code] = codepoint + end + + def parse_grapheme_break_property(line) + if line =~ /^([0-9A-F\.]+)\s*;\s*([\w]+)\s*#/ + type = $2.downcase.intern + @ucd.boundary[type] ||= [] + if $1.include? '..' + parts = $1.split '..' + @ucd.boundary[type] << (parts[0].hex..parts[1].hex) + else + @ucd.boundary[type] << $1.hex + end end end - end - def parse_composition_exclusion(line) - if line =~ /^([0-9A-F]+)/i - @ucd.composition_exclusion << $1.hex + def parse_composition_exclusion(line) + if line =~ /^([0-9A-F]+)/i + @ucd.composition_exclusion << $1.hex + end end - end - def parse_cp1252(line) - if line =~ /^([0-9A-Fx]+)\s([0-9A-Fx]+)/i - @ucd.cp1252[$1.hex] = $2.hex + def parse_cp1252(line) + if line =~ /^([0-9A-Fx]+)\s([0-9A-Fx]+)/i + @ucd.cp1252[$1.hex] = $2.hex + end end - end - def create_composition_map - @ucd.codepoints.each do |_, cp| - if !cp.nil? and cp.combining_class == 0 and cp.decomp_type.nil? and !cp.decomp_mapping.nil? and cp.decomp_mapping.length == 2 and @ucd.codepoints[cp.decomp_mapping[0]].combining_class == 0 and !@ucd.composition_exclusion.include?(cp.code) - @ucd.composition_map[cp.decomp_mapping[0]] ||= {} - @ucd.composition_map[cp.decomp_mapping[0]][cp.decomp_mapping[1]] = cp.code + def create_composition_map + @ucd.codepoints.each do |_, cp| + if !cp.nil? and cp.combining_class == 0 and cp.decomp_type.nil? and !cp.decomp_mapping.nil? and cp.decomp_mapping.length == 2 and @ucd.codepoints[cp.decomp_mapping[0]].combining_class == 0 and !@ucd.composition_exclusion.include?(cp.code) + @ucd.composition_map[cp.decomp_mapping[0]] ||= {} + @ucd.composition_map[cp.decomp_mapping[0]][cp.decomp_mapping[1]] = cp.code + end end end - end - def normalize_boundary_map - @ucd.boundary.each do |k,v| - if [:lf, :cr].include? k - @ucd.boundary[k] = v[0] + def normalize_boundary_map + @ucd.boundary.each do |k,v| + if [:lf, :cr].include? k + @ucd.boundary[k] = v[0] + end end end - end - def parse - SOURCES.each do |type, url| - filename = File.join(Dir.tmpdir, "#{url.split('/').last}") - unless File.exist?(filename) - $stderr.puts "Downloading #{url.split('/').last}" - File.open(filename, 'wb') do |target| - open(url) do |source| - source.each_line { |line| target.write line } + def parse + SOURCES.each do |type, url| + filename = File.join(Dir.tmpdir, "#{url.split('/').last}") + unless File.exist?(filename) + $stderr.puts "Downloading #{url.split('/').last}" + File.open(filename, 'wb') do |target| + open(url) do |source| + source.each_line { |line| target.write line } + end end end + File.open(filename) do |file| + file.each_line { |line| send "parse_#{type}".intern, line } + end end - File.open(filename) do |file| - file.each_line { |line| send "parse_#{type}".intern, line } - end + create_composition_map + normalize_boundary_map end - create_composition_map - normalize_boundary_map - end - def dump_to(filename) - File.open(filename, 'wb') do |f| - f.write Marshal.dump([@ucd.codepoints, @ucd.composition_exclusion, @ucd.composition_map, @ucd.boundary, @ucd.cp1252]) + def dump_to(filename) + File.open(filename, 'wb') do |f| + f.write Marshal.dump([@ucd.codepoints, @ucd.composition_exclusion, @ucd.composition_map, @ucd.boundary, @ucd.cp1252]) + end end end end @@ -138,8 +141,8 @@ module ActiveSupport end if __FILE__ == $0 - filename = ActiveSupport::Multibyte::UnicodeDatabase.filename - generator = ActiveSupport::Multibyte::UnicodeDatabaseGenerator.new + filename = ActiveSupport::Multibyte::Unicode::Database.filename + generator = ActiveSupport::Multibyte::Unicode::DatabaseGenerator.new generator.parse print "Writing to: #{filename}" generator.dump_to filename diff --git a/activesupport/lib/active_support/core_ext/string/multibyte.rb b/activesupport/lib/active_support/core_ext/string/multibyte.rb index 42e053d..3dfe996 100644 --- a/activesupport/lib/active_support/core_ext/string/multibyte.rb +++ b/activesupport/lib/active_support/core_ext/string/multibyte.rb @@ -2,7 +2,7 @@ require 'active_support/multibyte' class String - unless '1.9'.respond_to?(:force_encoding) + if '1.9'.respond_to?(:force_encoding) # == Multibyte proxy # # +mb_chars+ is a multibyte safe proxy for string methods. @@ -37,23 +37,13 @@ class String # For more information about the methods defined on the Chars proxy see ActiveSupport::Multibyte::Chars. For # information about how to change the default Multibyte behaviour see ActiveSupport::Multibyte. def mb_chars - if ActiveSupport::Multibyte.proxy_class.wants?(self) + if ActiveSupport::Multibyte.proxy_class.consumes?(self) ActiveSupport::Multibyte.proxy_class.new(self) else self end end - - # Returns true if the string has UTF-8 semantics (a String used for purely byte resources is unlikely to have - # them), returns false otherwise. - def is_utf8? - ActiveSupport::Multibyte::Chars.consumes?(self) - end - else - def mb_chars #:nodoc - self - end - + def is_utf8? #:nodoc case encoding when Encoding::UTF_8 @@ -64,5 +54,19 @@ class String false end end + else + def mb_chars + if ActiveSupport::Multibyte.proxy_class.wants?(self) + ActiveSupport::Multibyte.proxy_class.new(self) + else + self + end + end + + # Returns true if the string has UTF-8 semantics (a String used for purely byte resources is unlikely to have + # them), returns false otherwise. + def is_utf8? + ActiveSupport::Multibyte::Chars.consumes?(self) + end end end diff --git a/activesupport/lib/active_support/inflector/transliterate.rb b/activesupport/lib/active_support/inflector/transliterate.rb index 2344bb1..bccc542 100644 --- a/activesupport/lib/active_support/inflector/transliterate.rb +++ b/activesupport/lib/active_support/inflector/transliterate.rb @@ -58,8 +58,9 @@ module ActiveSupport # transliterate("Jürgen") # # => "Juergen" def transliterate(string, replacement = "?") - I18n.transliterate(Multibyte::Chars.normalize( - Multibyte::Chars.tidy_bytes(string), :c), :replacement => replacement) + I18n.transliterate(ActiveSupport::Multibyte::Unicode.normalize( + ActiveSupport::Multibyte::Unicode.tidy_bytes(string), :c), + :replacement => replacement) end # Replaces special characters in a string so that it may be used as part of a 'pretty' URL. diff --git a/activesupport/lib/active_support/multibyte.rb b/activesupport/lib/active_support/multibyte.rb index 428c48a..e7a271a 100644 --- a/activesupport/lib/active_support/multibyte.rb +++ b/activesupport/lib/active_support/multibyte.rb @@ -1,30 +1,12 @@ # encoding: utf-8 - require 'active_support/core_ext/module/attribute_accessors' module ActiveSupport #:nodoc: module Multibyte autoload :EncodingError, 'active_support/multibyte/exceptions' autoload :Chars, 'active_support/multibyte/chars' - autoload :UnicodeDatabase, 'active_support/multibyte/unicode_database' - autoload :Codepoint, 'active_support/multibyte/unicode_database' - autoload :UCD, 'active_support/multibyte/unicode_database' + autoload :Unicode, 'active_support/multibyte/unicode' - # A list of all available normalization forms. See http://www.unicode.org/reports/tr15/tr15-29.html for more - # information about normalization. - NORMALIZATION_FORMS = [:c, :kc, :d, :kd] - - # The Unicode version that is supported by the implementation - UNICODE_VERSION = '5.1.0' - - # The default normalization used for operations that require normalization. It can be set to any of the - # normalizations in NORMALIZATION_FORMS. - # - # Example: - # ActiveSupport::Multibyte.default_normalization_form = :c - mattr_accessor :default_normalization_form - self.default_normalization_form = :kc - # The proxy class returned when calling mb_chars. You can use this accessor to configure your own proxy # class so you can support other encodings. See the ActiveSupport::Multibyte::Chars implementation for # an example how to do this. diff --git a/activesupport/lib/active_support/multibyte/chars.rb b/activesupport/lib/active_support/multibyte/chars.rb index cca30d1..429b65b 100644 --- a/activesupport/lib/active_support/multibyte/chars.rb +++ b/activesupport/lib/active_support/multibyte/chars.rb @@ -34,52 +34,12 @@ module ActiveSupport #:nodoc: # # ActiveSupport::Multibyte.proxy_class = CharsForUTF32 class Chars - # Hangul character boundaries and properties - HANGUL_SBASE = 0xAC00 - HANGUL_LBASE = 0x1100 - HANGUL_VBASE = 0x1161 - HANGUL_TBASE = 0x11A7 - HANGUL_LCOUNT = 19 - HANGUL_VCOUNT = 21 - HANGUL_TCOUNT = 28 - HANGUL_NCOUNT = HANGUL_VCOUNT * HANGUL_TCOUNT - HANGUL_SCOUNT = 11172 - HANGUL_SLAST = HANGUL_SBASE + HANGUL_SCOUNT - HANGUL_JAMO_FIRST = 0x1100 - HANGUL_JAMO_LAST = 0x11FF - - # All the unicode whitespace - UNICODE_WHITESPACE = [ - (0x0009..0x000D).to_a, # White_Space # Cc [5] .. - 0x0020, # White_Space # Zs SPACE - 0x0085, # White_Space # Cc - 0x00A0, # White_Space # Zs NO-BREAK SPACE - 0x1680, # White_Space # Zs OGHAM SPACE MARK - 0x180E, # White_Space # Zs MONGOLIAN VOWEL SEPARATOR - (0x2000..0x200A).to_a, # White_Space # Zs [11] EN QUAD..HAIR SPACE - 0x2028, # White_Space # Zl LINE SEPARATOR - 0x2029, # White_Space # Zp PARAGRAPH SEPARATOR - 0x202F, # White_Space # Zs NARROW NO-BREAK SPACE - 0x205F, # White_Space # Zs MEDIUM MATHEMATICAL SPACE - 0x3000, # White_Space # Zs IDEOGRAPHIC SPACE - ].flatten.freeze - - # BOM (byte order mark) can also be seen as whitespace, it's a non-rendering character used to distinguish - # between little and big endian. This is not an issue in utf-8, so it must be ignored. - UNICODE_LEADERS_AND_TRAILERS = UNICODE_WHITESPACE + [65279] # ZERO-WIDTH NO-BREAK SPACE aka BOM - - # Returns a regular expression pattern that matches the passed Unicode codepoints - def self.codepoints_to_pattern(array_of_codepoints) #:nodoc: - array_of_codepoints.collect{ |e| [e].pack 'U*' }.join('|') - end - UNICODE_TRAILERS_PAT = /(#{codepoints_to_pattern(UNICODE_LEADERS_AND_TRAILERS)})+\Z/u - UNICODE_LEADERS_PAT = /\A(#{codepoints_to_pattern(UNICODE_LEADERS_AND_TRAILERS)})+/u attr_reader :wrapped_string alias to_s wrapped_string alias to_str wrapped_string - if '1.9'.respond_to?(:force_encoding) + if RUBY_VERSION >= "1.9" # Creates a new Chars instance by wrapping _string_. def initialize(string) @wrapped_string = string @@ -113,12 +73,6 @@ module ActiveSupport #:nodoc: true end - # Returns +true+ if the Chars class can and should act as a proxy for the string _string_. Returns - # +false+ otherwise. - def self.wants?(string) - $KCODE == 'UTF8' && consumes?(string) - end - # Returns +true+ when the proxy class can handle the string. Returns +false+ otherwise. def self.consumes?(string) # Unpack is a little bit faster than regular expressions. @@ -130,89 +84,131 @@ module ActiveSupport #:nodoc: include Comparable - # Returns -1, 0 or +1 depending on whether the Chars object is to be sorted before, - # equal or after the object on the right side of the operation. It accepts any object that implements +to_s+. - # See String#<=> for more details. - # - # Example: - # 'é'.mb_chars <=> 'ü'.mb_chars #=> -1 - def <=>(other) - @wrapped_string <=> other.to_s - end + if RUBY_VERSION < "1.9" + # Returns +true+ if the Chars class can and should act as a proxy for the string _string_. Returns + # +false+ otherwise. + def self.wants?(string) + $KCODE == 'UTF8' && consumes?(string) + end - # Returns a new Chars object containing the _other_ object concatenated to the string. - # - # Example: - # ('Café'.mb_chars + ' périferôl').to_s #=> "Café périferôl" - def +(other) - self << other - end + # Returns -1, 0 or +1 depending on whether the Chars object is to be sorted before, + # equal or after the object on the right side of the operation. It accepts any object that implements +to_s+. + # See String#<=> for more details. + # + # Example: + # 'é'.mb_chars <=> 'ü'.mb_chars #=> -1 + def <=>(other) + @wrapped_string <=> other.to_s + end - # Like String#=~ only it returns the character offset (in codepoints) instead of the byte offset. - # - # Example: - # 'Café périferôl'.mb_chars =~ /ô/ #=> 12 - def =~(other) - translate_offset(@wrapped_string =~ other) - end + # Returns a new Chars object containing the _other_ object concatenated to the string. + # + # Example: + # ('Café'.mb_chars + ' périferôl').to_s #=> "Café périferôl" + def +(other) + self << other + end - # Works just like String#split, with the exception that the items in the resulting list are Chars - # instances instead of String. This makes chaining methods easier. - # - # Example: - # 'Café périferôl'.mb_chars.split(/é/).map { |part| part.upcase.to_s } #=> ["CAF", " P", "RIFERÔL"] - def split(*args) - @wrapped_string.split(*args).map { |i| i.mb_chars } - end + # Like String#=~ only it returns the character offset (in codepoints) instead of the byte offset. + # + # Example: + # 'Café périferôl'.mb_chars =~ /ô/ #=> 12 + def =~(other) + translate_offset(@wrapped_string =~ other) + end - # Inserts the passed string at specified codepoint offsets. - # - # Example: - # 'Café'.mb_chars.insert(4, ' périferôl').to_s #=> "Café périferôl" - def insert(offset, fragment) - unpacked = self.class.u_unpack(@wrapped_string) - unless offset > unpacked.length - @wrapped_string.replace( - self.class.u_unpack(@wrapped_string).insert(offset, *self.class.u_unpack(fragment)).pack('U*') - ) - else - raise IndexError, "index #{offset} out of string" + # Inserts the passed string at specified codepoint offsets. + # + # Example: + # 'Café'.mb_chars.insert(4, ' périferôl').to_s #=> "Café périferôl" + def insert(offset, fragment) + unpacked = Unicode.u_unpack(@wrapped_string) + unless offset > unpacked.length + @wrapped_string.replace( + Unicode.u_unpack(@wrapped_string).insert(offset, *Unicode.u_unpack(fragment)).pack('U*') + ) + else + raise IndexError, "index #{offset} out of string" + end + self end - self - end - # Returns +true+ if contained string contains _other_. Returns +false+ otherwise. - # - # Example: - # 'Café'.mb_chars.include?('é') #=> true - def include?(other) - # We have to redefine this method because Enumerable defines it. - @wrapped_string.include?(other) - end + # Returns +true+ if contained string contains _other_. Returns +false+ otherwise. + # + # Example: + # 'Café'.mb_chars.include?('é') #=> true + def include?(other) + # We have to redefine this method because Enumerable defines it. + @wrapped_string.include?(other) + end - # Returns the position _needle_ in the string, counting in codepoints. Returns +nil+ if _needle_ isn't found. - # - # Example: - # 'Café périferôl'.mb_chars.index('ô') #=> 12 - # 'Café périferôl'.mb_chars.index(/\w/u) #=> 0 - def index(needle, offset=0) - wrapped_offset = first(offset).wrapped_string.length - index = @wrapped_string.index(needle, wrapped_offset) - index ? (self.class.u_unpack(@wrapped_string.slice(0...index)).size) : nil + # Returns the position _needle_ in the string, counting in codepoints. Returns +nil+ if _needle_ isn't found. + # + # Example: + # 'Café périferôl'.mb_chars.index('ô') #=> 12 + # 'Café périferôl'.mb_chars.index(/\w/u) #=> 0 + def index(needle, offset=0) + wrapped_offset = first(offset).wrapped_string.length + index = @wrapped_string.index(needle, wrapped_offset) + index ? (Unicode.u_unpack(@wrapped_string.slice(0...index)).size) : nil + end + + # Returns the position _needle_ in the string, counting in + # codepoints, searching backward from _offset_ or the end of the + # string. Returns +nil+ if _needle_ isn't found. + # + # Example: + # 'Café périferôl'.mb_chars.rindex('é') #=> 6 + # 'Café périferôl'.mb_chars.rindex(/\w/u) #=> 13 + def rindex(needle, offset=nil) + offset ||= length + wrapped_offset = first(offset).wrapped_string.length + index = @wrapped_string.rindex(needle, wrapped_offset) + index ? (Unicode.u_unpack(@wrapped_string.slice(0...index)).size) : nil + end + + # Returns the number of codepoints in the string + def size + Unicode.u_unpack(@wrapped_string).size + end + alias_method :length, :size + + # Strips entire range of Unicode whitespace from the right of the string. + def rstrip + chars(@wrapped_string.gsub(Unicode::TRAILERS_PAT, '')) + end + + # Strips entire range of Unicode whitespace from the left of the string. + def lstrip + chars(@wrapped_string.gsub(Unicode::LEADERS_PAT, '')) + end + + # Strips entire range of Unicode whitespace from the right and left of the string. + def strip + rstrip.lstrip + end + + # Returns the codepoint of the first character in the string. + # + # Example: + # 'こんにちは'.mb_chars.ord #=> 12371 + def ord + Unicode.u_unpack(@wrapped_string)[0] + end + + else + def =~(other) + @wrapped_string =~ other + end end - # Returns the position _needle_ in the string, counting in - # codepoints, searching backward from _offset_ or the end of the - # string. Returns +nil+ if _needle_ isn't found. + # Works just like String#split, with the exception that the items in the resulting list are Chars + # instances instead of String. This makes chaining methods easier. # # Example: - # 'Café périferôl'.mb_chars.rindex('é') #=> 6 - # 'Café périferôl'.mb_chars.rindex(/\w/u) #=> 13 - def rindex(needle, offset=nil) - offset ||= length - wrapped_offset = first(offset).wrapped_string.length - index = @wrapped_string.rindex(needle, wrapped_offset) - index ? (self.class.u_unpack(@wrapped_string.slice(0...index)).size) : nil + # 'Café périferôl'.mb_chars.split(/é/).map { |part| part.upcase.to_s } #=> ["CAF", " P", "RIFERÔL"] + def split(*args) + @wrapped_string.split(*args).map { |i| i.mb_chars } end # Like String#[]=, except instead of byte offsets you specify character offsets. @@ -234,7 +230,7 @@ module ActiveSupport #:nodoc: if args.first.is_a?(Regexp) @wrapped_string[*args] = replace_by else - result = self.class.u_unpack(@wrapped_string) + result = Unicode.u_unpack(@wrapped_string) if args[0].is_a?(Fixnum) raise IndexError, "index #{args[0]} out of string" if args[0] >= result.length min = args[0] @@ -247,10 +243,10 @@ module ActiveSupport #:nodoc: else needle = args[0].to_s min = index(needle) - max = min + self.class.u_unpack(needle).length - 1 + max = min + Unicode.u_unpack(needle).length - 1 range = Range.new(min, max) end - result[range] = self.class.u_unpack(replace_by) + result[range] = Unicode.u_unpack(replace_by) @wrapped_string.replace(result.pack('U*')) end end @@ -294,33 +290,13 @@ module ActiveSupport #:nodoc: justify(integer, :center, padstr) end - # Strips entire range of Unicode whitespace from the right of the string. - def rstrip - chars(@wrapped_string.gsub(UNICODE_TRAILERS_PAT, '')) - end - - # Strips entire range of Unicode whitespace from the left of the string. - def lstrip - chars(@wrapped_string.gsub(UNICODE_LEADERS_PAT, '')) - end - - # Strips entire range of Unicode whitespace from the right and left of the string. - def strip - rstrip.lstrip - end - - # Returns the number of codepoints in the string - def size - self.class.u_unpack(@wrapped_string).size - end - alias_method :length, :size # Reverses all characters in the string. # # Example: # 'Café'.mb_chars.reverse.to_s #=> 'éfaC' def reverse - chars(self.class.g_unpack(@wrapped_string).reverse.flatten.pack('U*')) + chars(Unicode.g_unpack(@wrapped_string).reverse.flatten.pack('U*')) end # Implements Unicode-aware slice with codepoints. Slicing on one point returns the codepoints for that @@ -336,15 +312,15 @@ module ActiveSupport #:nodoc: elsif (args.size == 2 && !args[1].is_a?(Numeric)) raise TypeError, "cannot convert #{args[1].class} into Integer" # Do as if we were native elsif args[0].kind_of? Range - cps = self.class.u_unpack(@wrapped_string).slice(*args) + cps = Unicode.u_unpack(@wrapped_string).slice(*args) result = cps.nil? ? nil : cps.pack('U*') elsif args[0].kind_of? Regexp result = @wrapped_string.slice(*args) elsif args.size == 1 && args[0].kind_of?(Numeric) - character = self.class.u_unpack(@wrapped_string)[args[0]] + character = Unicode.u_unpack(@wrapped_string)[args[0]] result = character.nil? ? nil : [character].pack('U') else - result = self.class.u_unpack(@wrapped_string).slice(*args).pack('U*') + result = Unicode.u_unpack(@wrapped_string).slice(*args).pack('U*') end result.nil? ? nil : chars(result) end @@ -372,20 +348,12 @@ module ActiveSupport #:nodoc: slice(0...translate_offset(limit)) end - # Returns the codepoint of the first character in the string. - # - # Example: - # 'こんにちは'.mb_chars.ord #=> 12371 - def ord - self.class.u_unpack(@wrapped_string)[0] - end - # Convert characters in the string to uppercase. # # Example: # 'Laurent, où sont les tests ?'.mb_chars.upcase.to_s #=> "LAURENT, OÙ SONT LES TESTS ?" def upcase - apply_mapping :uppercase_mapping + chars(Unicode.apply_mapping @wrapped_string, :uppercase_mapping) end # Convert characters in the string to lowercase. @@ -393,7 +361,7 @@ module ActiveSupport #:nodoc: # Example: # 'VĚDA A VÝZKUM'.mb_chars.downcase.to_s #=> "věda a výzkum" def downcase - apply_mapping :lowercase_mapping + chars(Unicode.apply_mapping @wrapped_string, :lowercase_mapping) end # Converts the first character to uppercase and the remainder to lowercase. @@ -409,9 +377,9 @@ module ActiveSupport #:nodoc: # # * form - The form you want to normalize in. Should be one of the following: # :c, :kc, :d, or :kd. Default is - # ActiveSupport::Multibyte.default_normalization_form - def normalize(form=ActiveSupport::Multibyte.default_normalization_form) - chars(self.class.normalize(@wrapped_string, form)) + # ActiveSupport::Multibyte::Unicode.default_normalization_form + def normalize(form = nil) + chars(Unicode.normalize(@wrapped_string, form)) end # Performs canonical decomposition on all the characters. @@ -420,7 +388,7 @@ module ActiveSupport #:nodoc: # 'é'.length #=> 2 # 'é'.mb_chars.decompose.to_s.length #=> 3 def decompose - chars(self.class.decompose_codepoints(:canonical, self.class.u_unpack(@wrapped_string)).pack('U*')) + chars(Unicode.decompose_codepoints(:canonical, Unicode.u_unpack(@wrapped_string)).pack('U*')) end # Performs composition on all the characters. @@ -429,7 +397,7 @@ module ActiveSupport #:nodoc: # 'é'.length #=> 3 # 'é'.mb_chars.compose.to_s.length #=> 2 def compose - chars(self.class.compose_codepoints(self.class.u_unpack(@wrapped_string)).pack('U*')) + chars(Unicode.compose_codepoints(Unicode.u_unpack(@wrapped_string)).pack('U*')) end # Returns the number of grapheme clusters in the string. @@ -438,14 +406,14 @@ module ActiveSupport #:nodoc: # 'क्षि'.mb_chars.length #=> 4 # 'क्षि'.mb_chars.g_length #=> 3 def g_length - self.class.g_unpack(@wrapped_string).length + Unicode.g_unpack(@wrapped_string).length end # Replaces all ISO-8859-1 or CP1252 characters by their UTF-8 equivalent resulting in a valid UTF-8 string. # # Passing +true+ will forcibly tidy all bytes, assuming that the string's encoding is entirely CP1252 or ISO-8859-1. def tidy_bytes(force = false) - chars(self.class.tidy_bytes(@wrapped_string, force)) + chars(Unicode.tidy_bytes(@wrapped_string, force)) end %w(lstrip rstrip strip reverse upcase downcase tidy_bytes capitalize).each do |method| @@ -459,266 +427,6 @@ module ActiveSupport #:nodoc: end end - class << self - - # Unpack the string at codepoints boundaries. Raises an EncodingError when the encoding of the string isn't - # valid UTF-8. - # - # Example: - # Chars.u_unpack('Café') #=> [67, 97, 102, 233] - def u_unpack(string) - begin - string.unpack 'U*' - rescue ArgumentError - raise EncodingError, 'malformed UTF-8 character' - end - end - - # Detect whether the codepoint is in a certain character class. Returns +true+ when it's in the specified - # character class and +false+ otherwise. Valid character classes are: :cr, :lf, :l, - # :v, :lv, :lvt and :t. - # - # Primarily used by the grapheme cluster support. - def in_char_class?(codepoint, classes) - classes.detect { |c| UCD.boundary[c] === codepoint } ? true : false - end - - # Unpack the string at grapheme boundaries. Returns a list of character lists. - # - # Example: - # Chars.g_unpack('क्षि') #=> [[2325, 2381], [2359], [2367]] - # Chars.g_unpack('Café') #=> [[67], [97], [102], [233]] - def g_unpack(string) - codepoints = u_unpack(string) - unpacked = [] - pos = 0 - marker = 0 - eoc = codepoints.length - while(pos < eoc) - pos += 1 - previous = codepoints[pos-1] - current = codepoints[pos] - if ( - # CR X LF - one = ( previous == UCD.boundary[:cr] and current == UCD.boundary[:lf] ) or - # L X (L|V|LV|LVT) - two = ( UCD.boundary[:l] === previous and in_char_class?(current, [:l,:v,:lv,:lvt]) ) or - # (LV|V) X (V|T) - three = ( in_char_class?(previous, [:lv,:v]) and in_char_class?(current, [:v,:t]) ) or - # (LVT|T) X (T) - four = ( in_char_class?(previous, [:lvt,:t]) and UCD.boundary[:t] === current ) or - # X Extend - five = (UCD.boundary[:extend] === current) - ) - else - unpacked << codepoints[marker..pos-1] - marker = pos - end - end - unpacked - end - - # Reverse operation of g_unpack. - # - # Example: - # Chars.g_pack(Chars.g_unpack('क्षि')) #=> 'क्षि' - def g_pack(unpacked) - (unpacked.flatten).pack('U*') - end - - def padding(padsize, padstr=' ') #:nodoc: - if padsize != 0 - new(padstr * ((padsize / u_unpack(padstr).size) + 1)).slice(0, padsize) - else - '' - end - end - - # Re-order codepoints so the string becomes canonical. - def reorder_characters(codepoints) - length = codepoints.length- 1 - pos = 0 - while pos < length do - cp1, cp2 = UCD.codepoints[codepoints[pos]], UCD.codepoints[codepoints[pos+1]] - if (cp1.combining_class > cp2.combining_class) && (cp2.combining_class > 0) - codepoints[pos..pos+1] = cp2.code, cp1.code - pos += (pos > 0 ? -1 : 1) - else - pos += 1 - end - end - codepoints - end - - # Decompose composed characters to the decomposed form. - def decompose_codepoints(type, codepoints) - codepoints.inject([]) do |decomposed, cp| - # if it's a hangul syllable starter character - if HANGUL_SBASE <= cp and cp < HANGUL_SLAST - sindex = cp - HANGUL_SBASE - ncp = [] # new codepoints - ncp << HANGUL_LBASE + sindex / HANGUL_NCOUNT - ncp << HANGUL_VBASE + (sindex % HANGUL_NCOUNT) / HANGUL_TCOUNT - tindex = sindex % HANGUL_TCOUNT - ncp << (HANGUL_TBASE + tindex) unless tindex == 0 - decomposed.concat ncp - # if the codepoint is decomposable in with the current decomposition type - elsif (ncp = UCD.codepoints[cp].decomp_mapping) and (!UCD.codepoints[cp].decomp_type || type == :compatability) - decomposed.concat decompose_codepoints(type, ncp.dup) - else - decomposed << cp - end - end - end - - # Compose decomposed characters to the composed form. - def compose_codepoints(codepoints) - pos = 0 - eoa = codepoints.length - 1 - starter_pos = 0 - starter_char = codepoints[0] - previous_combining_class = -1 - while pos < eoa - pos += 1 - lindex = starter_char - HANGUL_LBASE - # -- Hangul - if 0 <= lindex and lindex < HANGUL_LCOUNT - vindex = codepoints[starter_pos+1] - HANGUL_VBASE rescue vindex = -1 - if 0 <= vindex and vindex < HANGUL_VCOUNT - tindex = codepoints[starter_pos+2] - HANGUL_TBASE rescue tindex = -1 - if 0 <= tindex and tindex < HANGUL_TCOUNT - j = starter_pos + 2 - eoa -= 2 - else - tindex = 0 - j = starter_pos + 1 - eoa -= 1 - end - codepoints[starter_pos..j] = (lindex * HANGUL_VCOUNT + vindex) * HANGUL_TCOUNT + tindex + HANGUL_SBASE - end - starter_pos += 1 - starter_char = codepoints[starter_pos] - # -- Other characters - else - current_char = codepoints[pos] - current = UCD.codepoints[current_char] - if current.combining_class > previous_combining_class - if ref = UCD.composition_map[starter_char] - composition = ref[current_char] - else - composition = nil - end - unless composition.nil? - codepoints[starter_pos] = composition - starter_char = composition - codepoints.delete_at pos - eoa -= 1 - pos -= 1 - previous_combining_class = -1 - else - previous_combining_class = current.combining_class - end - else - previous_combining_class = current.combining_class - end - if current.combining_class == 0 - starter_pos = pos - starter_char = codepoints[pos] - end - end - end - codepoints - end - - def tidy_byte(byte) - if byte < 160 - [UCD.cp1252[byte] || byte].pack("U").unpack("C*") - elsif byte < 192 - [194, byte] - else - [195, byte - 64] - end - end - private :tidy_byte - - # Replaces all ISO-8859-1 or CP1252 characters by their UTF-8 equivalent resulting in a valid UTF-8 string. - # - # Passing +true+ will forcibly tidy all bytes, assuming that the string's encoding is entirely CP1252 or ISO-8859-1. - def tidy_bytes(string, force = false) - if force - return string.unpack("C*").map do |b| - tidy_byte(b) - end.flatten.compact.pack("C*").unpack("U*").pack("U*") - end - - bytes = string.unpack("C*") - conts_expected = 0 - last_lead = 0 - - bytes.each_index do |i| - - byte = bytes[i] - is_ascii = byte < 128 - is_cont = byte > 127 && byte < 192 - is_lead = byte > 191 && byte < 245 - is_unused = byte > 240 - is_restricted = byte > 244 - - # Impossible or highly unlikely byte? Clean it. - if is_unused || is_restricted - bytes[i] = tidy_byte(byte) - elsif is_cont - # Not expecting contination byte? Clean up. Otherwise, now expect one less. - conts_expected == 0 ? bytes[i] = tidy_byte(byte) : conts_expected -= 1 - else - if conts_expected > 0 - # Expected continuation, but got ASCII or leading? Clean backwards up to - # the leading byte. - (1..(i - last_lead)).each {|j| bytes[i - j] = tidy_byte(bytes[i - j])} - conts_expected = 0 - end - if is_lead - # Final byte is leading? Clean it. - if i == bytes.length - 1 - bytes[i] = tidy_byte(bytes.last) - else - # Valid leading byte? Expect continuations determined by position of - # first zero bit, with max of 3. - conts_expected = byte < 224 ? 1 : byte < 240 ? 2 : 3 - last_lead = i - end - end - end - end - bytes.empty? ? "" : bytes.flatten.compact.pack("C*").unpack("U*").pack("U*") - end - - # Returns the KC normalization of the string by default. NFKC is considered the best normalization form for - # passing strings to databases and validations. - # - # * string - The string to perform normalization on. - # * form - The form you want to normalize in. Should be one of the following: - # :c, :kc, :d, or :kd. Default is - # ActiveSupport::Multibyte.default_normalization_form - def normalize(string, form=ActiveSupport::Multibyte.default_normalization_form) - # See http://www.unicode.org/reports/tr15, Table 1 - codepoints = u_unpack(string) - case form - when :d - reorder_characters(decompose_codepoints(:canonical, codepoints)) - when :c - compose_codepoints(reorder_characters(decompose_codepoints(:canonical, codepoints))) - when :kd - reorder_characters(decompose_codepoints(:compatability, codepoints)) - when :kc - compose_codepoints(reorder_characters(decompose_codepoints(:compatability, codepoints))) - else - raise ArgumentError, "#{form} is not a valid normalization variant", caller - end.pack('U*') - end - - end - protected def translate_offset(byte_offset) #:nodoc: @@ -743,26 +451,23 @@ module ActiveSupport #:nodoc: padsize = padsize > 0 ? padsize : 0 case way when :right - result = @wrapped_string.dup.insert(0, self.class.padding(padsize, padstr)) + result = @wrapped_string.dup.insert(0, padding(padsize, padstr)) when :left - result = @wrapped_string.dup.insert(-1, self.class.padding(padsize, padstr)) + result = @wrapped_string.dup.insert(-1, padding(padsize, padstr)) when :center - lpad = self.class.padding((padsize / 2.0).floor, padstr) - rpad = self.class.padding((padsize / 2.0).ceil, padstr) + lpad = padding((padsize / 2.0).floor, padstr) + rpad = padding((padsize / 2.0).ceil, padstr) result = @wrapped_string.dup.insert(0, lpad).insert(-1, rpad) end chars(result) end - def apply_mapping(mapping) #:nodoc: - chars(self.class.u_unpack(@wrapped_string).map do |codepoint| - cp = UCD.codepoints[codepoint] - if cp and (ncp = cp.send(mapping)) and ncp > 0 - ncp - else - codepoint - end - end.pack('U*')) + def padding(padsize, padstr=' ') #:nodoc: + if padsize != 0 + chars(padstr * ((padsize / Unicode.u_unpack(padstr).size) + 1)).slice(0, padsize) + else + '' + end end def chars(string) #:nodoc: diff --git a/activesupport/lib/active_support/multibyte/unicode.rb b/activesupport/lib/active_support/multibyte/unicode.rb new file mode 100644 index 0000000..f91e50c --- /dev/null +++ b/activesupport/lib/active_support/multibyte/unicode.rb @@ -0,0 +1,393 @@ +module ActiveSupport + module Multibyte + module Unicode + + extend self + + # A list of all available normalization forms. See http://www.unicode.org/reports/tr15/tr15-29.html for more + # information about normalization. + NORMALIZATION_FORMS = [:c, :kc, :d, :kd] + + # The Unicode version that is supported by the implementation + UNICODE_VERSION = '5.1.0' + + # The default normalization used for operations that require normalization. It can be set to any of the + # normalizations in NORMALIZATION_FORMS. + # + # Example: + # ActiveSupport::Multibyte::Unicode.default_normalization_form = :c + attr_accessor :default_normalization_form + @default_normalization_form = :kc + + # Hangul character boundaries and properties + HANGUL_SBASE = 0xAC00 + HANGUL_LBASE = 0x1100 + HANGUL_VBASE = 0x1161 + HANGUL_TBASE = 0x11A7 + HANGUL_LCOUNT = 19 + HANGUL_VCOUNT = 21 + HANGUL_TCOUNT = 28 + HANGUL_NCOUNT = HANGUL_VCOUNT * HANGUL_TCOUNT + HANGUL_SCOUNT = 11172 + HANGUL_SLAST = HANGUL_SBASE + HANGUL_SCOUNT + HANGUL_JAMO_FIRST = 0x1100 + HANGUL_JAMO_LAST = 0x11FF + + # All the unicode whitespace + WHITESPACE = [ + (0x0009..0x000D).to_a, # White_Space # Cc [5] .. + 0x0020, # White_Space # Zs SPACE + 0x0085, # White_Space # Cc + 0x00A0, # White_Space # Zs NO-BREAK SPACE + 0x1680, # White_Space # Zs OGHAM SPACE MARK + 0x180E, # White_Space # Zs MONGOLIAN VOWEL SEPARATOR + (0x2000..0x200A).to_a, # White_Space # Zs [11] EN QUAD..HAIR SPACE + 0x2028, # White_Space # Zl LINE SEPARATOR + 0x2029, # White_Space # Zp PARAGRAPH SEPARATOR + 0x202F, # White_Space # Zs NARROW NO-BREAK SPACE + 0x205F, # White_Space # Zs MEDIUM MATHEMATICAL SPACE + 0x3000, # White_Space # Zs IDEOGRAPHIC SPACE + ].flatten.freeze + + # BOM (byte order mark) can also be seen as whitespace, it's a non-rendering character used to distinguish + # between little and big endian. This is not an issue in utf-8, so it must be ignored. + LEADERS_AND_TRAILERS = WHITESPACE + [65279] # ZERO-WIDTH NO-BREAK SPACE aka BOM + + # Returns a regular expression pattern that matches the passed Unicode codepoints + def self.codepoints_to_pattern(array_of_codepoints) #:nodoc: + array_of_codepoints.collect{ |e| [e].pack 'U*' }.join('|') + end + TRAILERS_PAT = /(#{codepoints_to_pattern(LEADERS_AND_TRAILERS)})+\Z/u + LEADERS_PAT = /\A(#{codepoints_to_pattern(LEADERS_AND_TRAILERS)})+/u + + # Unpack the string at codepoints boundaries. Raises an EncodingError when the encoding of the string isn't + # valid UTF-8. + # + # Example: + # Unicode.u_unpack('Café') #=> [67, 97, 102, 233] + def u_unpack(string) + begin + string.unpack 'U*' + rescue ArgumentError + raise EncodingError, 'malformed UTF-8 character' + end + end + + # Detect whether the codepoint is in a certain character class. Returns +true+ when it's in the specified + # character class and +false+ otherwise. Valid character classes are: :cr, :lf, :l, + # :v, :lv, :lvt and :t. + # + # Primarily used by the grapheme cluster support. + def in_char_class?(codepoint, classes) + classes.detect { |c| database.boundary[c] === codepoint } ? true : false + end + + # Unpack the string at grapheme boundaries. Returns a list of character lists. + # + # Example: + # Unicode.g_unpack('क्षि') #=> [[2325, 2381], [2359], [2367]] + # Unicode.g_unpack('Café') #=> [[67], [97], [102], [233]] + def g_unpack(string) + codepoints = u_unpack(string) + unpacked = [] + pos = 0 + marker = 0 + eoc = codepoints.length + while(pos < eoc) + pos += 1 + previous = codepoints[pos-1] + current = codepoints[pos] + if ( + # CR X LF + one = ( previous == database.boundary[:cr] and current == database.boundary[:lf] ) or + # L X (L|V|LV|LVT) + two = ( database.boundary[:l] === previous and in_char_class?(current, [:l,:v,:lv,:lvt]) ) or + # (LV|V) X (V|T) + three = ( in_char_class?(previous, [:lv,:v]) and in_char_class?(current, [:v,:t]) ) or + # (LVT|T) X (T) + four = ( in_char_class?(previous, [:lvt,:t]) and database.boundary[:t] === current ) or + # X Extend + five = (database.boundary[:extend] === current) + ) + else + unpacked << codepoints[marker..pos-1] + marker = pos + end + end + unpacked + end + + # Reverse operation of g_unpack. + # + # Example: + # Unicode.g_pack(Unicode.g_unpack('क्षि')) #=> 'क्षि' + def g_pack(unpacked) + (unpacked.flatten).pack('U*') + end + + # Re-order codepoints so the string becomes canonical. + def reorder_characters(codepoints) + length = codepoints.length- 1 + pos = 0 + while pos < length do + cp1, cp2 = database.codepoints[codepoints[pos]], database.codepoints[codepoints[pos+1]] + if (cp1.combining_class > cp2.combining_class) && (cp2.combining_class > 0) + codepoints[pos..pos+1] = cp2.code, cp1.code + pos += (pos > 0 ? -1 : 1) + else + pos += 1 + end + end + codepoints + end + + # Decompose composed characters to the decomposed form. + def decompose_codepoints(type, codepoints) + codepoints.inject([]) do |decomposed, cp| + # if it's a hangul syllable starter character + if HANGUL_SBASE <= cp and cp < HANGUL_SLAST + sindex = cp - HANGUL_SBASE + ncp = [] # new codepoints + ncp << HANGUL_LBASE + sindex / HANGUL_NCOUNT + ncp << HANGUL_VBASE + (sindex % HANGUL_NCOUNT) / HANGUL_TCOUNT + tindex = sindex % HANGUL_TCOUNT + ncp << (HANGUL_TBASE + tindex) unless tindex == 0 + decomposed.concat ncp + # if the codepoint is decomposable in with the current decomposition type + elsif (ncp = database.codepoints[cp].decomp_mapping) and (!database.codepoints[cp].decomp_type || type == :compatability) + decomposed.concat decompose_codepoints(type, ncp.dup) + else + decomposed << cp + end + end + end + + # Compose decomposed characters to the composed form. + def compose_codepoints(codepoints) + pos = 0 + eoa = codepoints.length - 1 + starter_pos = 0 + starter_char = codepoints[0] + previous_combining_class = -1 + while pos < eoa + pos += 1 + lindex = starter_char - HANGUL_LBASE + # -- Hangul + if 0 <= lindex and lindex < HANGUL_LCOUNT + vindex = codepoints[starter_pos+1] - HANGUL_VBASE rescue vindex = -1 + if 0 <= vindex and vindex < HANGUL_VCOUNT + tindex = codepoints[starter_pos+2] - HANGUL_TBASE rescue tindex = -1 + if 0 <= tindex and tindex < HANGUL_TCOUNT + j = starter_pos + 2 + eoa -= 2 + else + tindex = 0 + j = starter_pos + 1 + eoa -= 1 + end + codepoints[starter_pos..j] = (lindex * HANGUL_VCOUNT + vindex) * HANGUL_TCOUNT + tindex + HANGUL_SBASE + end + starter_pos += 1 + starter_char = codepoints[starter_pos] + # -- Other characters + else + current_char = codepoints[pos] + current = database.codepoints[current_char] + if current.combining_class > previous_combining_class + if ref = database.composition_map[starter_char] + composition = ref[current_char] + else + composition = nil + end + unless composition.nil? + codepoints[starter_pos] = composition + starter_char = composition + codepoints.delete_at pos + eoa -= 1 + pos -= 1 + previous_combining_class = -1 + else + previous_combining_class = current.combining_class + end + else + previous_combining_class = current.combining_class + end + if current.combining_class == 0 + starter_pos = pos + starter_char = codepoints[pos] + end + end + end + codepoints + end + + # Replaces all ISO-8859-1 or CP1252 characters by their UTF-8 equivalent resulting in a valid UTF-8 string. + # + # Passing +true+ will forcibly tidy all bytes, assuming that the string's encoding is entirely CP1252 or ISO-8859-1. + def tidy_bytes(string, force = false) + if force + return string.unpack("C*").map do |b| + tidy_byte(b) + end.flatten.compact.pack("C*").unpack("U*").pack("U*") + end + + bytes = string.unpack("C*") + conts_expected = 0 + last_lead = 0 + + bytes.each_index do |i| + + byte = bytes[i] + is_ascii = byte < 128 + is_cont = byte > 127 && byte < 192 + is_lead = byte > 191 && byte < 245 + is_unused = byte > 240 + is_restricted = byte > 244 + + # Impossible or highly unlikely byte? Clean it. + if is_unused || is_restricted + bytes[i] = tidy_byte(byte) + elsif is_cont + # Not expecting contination byte? Clean up. Otherwise, now expect one less. + conts_expected == 0 ? bytes[i] = tidy_byte(byte) : conts_expected -= 1 + else + if conts_expected > 0 + # Expected continuation, but got ASCII or leading? Clean backwards up to + # the leading byte. + (1..(i - last_lead)).each {|j| bytes[i - j] = tidy_byte(bytes[i - j])} + conts_expected = 0 + end + if is_lead + # Final byte is leading? Clean it. + if i == bytes.length - 1 + bytes[i] = tidy_byte(bytes.last) + else + # Valid leading byte? Expect continuations determined by position of + # first zero bit, with max of 3. + conts_expected = byte < 224 ? 1 : byte < 240 ? 2 : 3 + last_lead = i + end + end + end + end + bytes.empty? ? "" : bytes.flatten.compact.pack("C*").unpack("U*").pack("U*") + end + + # Returns the KC normalization of the string by default. NFKC is considered the best normalization form for + # passing strings to databases and validations. + # + # * string - The string to perform normalization on. + # * form - The form you want to normalize in. Should be one of the following: + # :c, :kc, :d, or :kd. Default is + # ActiveSupport::Multibyte.default_normalization_form + def normalize(string, form=nil) + form ||= @default_normalization_form + # See http://www.unicode.org/reports/tr15, Table 1 + codepoints = u_unpack(string) + case form + when :d + reorder_characters(decompose_codepoints(:canonical, codepoints)) + when :c + compose_codepoints(reorder_characters(decompose_codepoints(:canonical, codepoints))) + when :kd + reorder_characters(decompose_codepoints(:compatability, codepoints)) + when :kc + compose_codepoints(reorder_characters(decompose_codepoints(:compatability, codepoints))) + else + raise ArgumentError, "#{form} is not a valid normalization variant", caller + end.pack('U*') + end + + def apply_mapping(string, mapping) #:nodoc: + u_unpack(string).map do |codepoint| + cp = database.codepoints[codepoint] + if cp and (ncp = cp.send(mapping)) and ncp > 0 + ncp + else + codepoint + end + end.pack('U*') + end + + # Holds data about a codepoint in the Unicode database + class Codepoint + attr_accessor :code, :combining_class, :decomp_type, :decomp_mapping, :uppercase_mapping, :lowercase_mapping + end + + # Holds static data from the Unicode database + class UnicodeDatabase + ATTRIBUTES = :codepoints, :composition_exclusion, :composition_map, :boundary, :cp1252 + + attr_writer(*ATTRIBUTES) + + def initialize + @codepoints = Hash.new(Codepoint.new) + @composition_exclusion = [] + @composition_map = {} + @boundary = {} + @cp1252 = {} + end + + # Lazy load the Unicode database so it's only loaded when it's actually used + ATTRIBUTES.each do |attr_name| + class_eval(<<-EOS, __FILE__, __LINE__ + 1) + def #{attr_name} # def codepoints + load # load + @#{attr_name} # @codepoints + end # end + EOS + end + + # Loads the Unicode database and returns all the internal objects of UnicodeDatabase. + def load + begin + @codepoints, @composition_exclusion, @composition_map, @boundary, @cp1252 = File.open(self.class.filename, 'rb') { |f| Marshal.load f.read } + rescue Exception => e + raise IOError.new("Couldn't load the Unicode tables for UTF8Handler (#{e.message}), ActiveSupport::Multibyte is unusable") + end + + # Redefine the === method so we can write shorter rules for grapheme cluster breaks + @boundary.each do |k,_| + @boundary[k].instance_eval do + def ===(other) + detect { |i| i === other } ? true : false + end + end if @boundary[k].kind_of?(Array) + end + + # define attr_reader methods for the instance variables + class << self + attr_reader(*ATTRIBUTES) + end + end + + # Returns the directory in which the data files are stored + def self.dirname + File.dirname(__FILE__) + '/../values/' + end + + # Returns the filename for the data file for this version + def self.filename + File.expand_path File.join(dirname, "unicode_tables.dat") + end + end + + private + + def tidy_byte(byte) + if byte < 160 + [database.cp1252[byte] || byte].pack("U").unpack("C*") + elsif byte < 192 + [194, byte] + else + [195, byte - 64] + end + end + + def database + @database ||= UnicodeDatabase.new + end + + end + end +end diff --git a/activesupport/lib/active_support/multibyte/unicode_database.rb b/activesupport/lib/active_support/multibyte/unicode_database.rb deleted file mode 100644 index 074ad86..0000000 --- a/activesupport/lib/active_support/multibyte/unicode_database.rb +++ /dev/null @@ -1,71 +0,0 @@ -# encoding: utf-8 - -module ActiveSupport #:nodoc: - module Multibyte #:nodoc: - # Holds data about a codepoint in the Unicode database - class Codepoint - attr_accessor :code, :combining_class, :decomp_type, :decomp_mapping, :uppercase_mapping, :lowercase_mapping - end - - # Holds static data from the Unicode database - class UnicodeDatabase - ATTRIBUTES = :codepoints, :composition_exclusion, :composition_map, :boundary, :cp1252 - - attr_writer(*ATTRIBUTES) - - def initialize - @codepoints = Hash.new(Codepoint.new) - @composition_exclusion = [] - @composition_map = {} - @boundary = {} - @cp1252 = {} - end - - # Lazy load the Unicode database so it's only loaded when it's actually used - ATTRIBUTES.each do |attr_name| - class_eval(<<-EOS, __FILE__, __LINE__ + 1) - def #{attr_name} # def codepoints - load # load - @#{attr_name} # @codepoints - end # end - EOS - end - - # Loads the Unicode database and returns all the internal objects of UnicodeDatabase. - def load - begin - @codepoints, @composition_exclusion, @composition_map, @boundary, @cp1252 = File.open(self.class.filename, 'rb') { |f| Marshal.load f.read } - rescue Exception => e - raise IOError.new("Couldn't load the Unicode tables for UTF8Handler (#{e.message}), ActiveSupport::Multibyte is unusable") - end - - # Redefine the === method so we can write shorter rules for grapheme cluster breaks - @boundary.each do |k,_| - @boundary[k].instance_eval do - def ===(other) - detect { |i| i === other } ? true : false - end - end if @boundary[k].kind_of?(Array) - end - - # define attr_reader methods for the instance variables - class << self - attr_reader(*ATTRIBUTES) - end - end - - # Returns the directory in which the data files are stored - def self.dirname - File.dirname(__FILE__) + '/../values/' - end - - # Returns the filename for the data file for this version - def self.filename - File.expand_path File.join(dirname, "unicode_tables.dat") - end - end - - # UniCode Database - UCD = UnicodeDatabase.new - end -end \ No newline at end of file diff --git a/activesupport/lib/active_support/values/unicode_tables.dat b/activesupport/lib/active_support/values/unicode_tables.dat index 74b333d41685a1e0a152ea1517ebb73f73e3ed75..10f2cae46553ba73cd8abc867b5fbbeed332d1d7 100644 GIT binary patch literal 710743 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

nC_R51-zn@98~=Jw2$NE=T^$#h)Mf^Nar) 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%0ArlVpyflMdF^dd67=$V3RMPm9GnLZZN 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 Nxi!q1igQxf{{vb}fpP!< literal 710734 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 diff --git a/activesupport/test/core_ext/string_ext_test.rb b/activesupport/test/core_ext/string_ext_test.rb index 97b08da..cb2c77c 100644 --- a/activesupport/test/core_ext/string_ext_test.rb +++ b/activesupport/test/core_ext/string_ext_test.rb @@ -248,8 +248,8 @@ class CoreExtStringMultibyteTest < ActiveSupport::TestCase end if RUBY_VERSION >= '1.9' - def test_mb_chars_returns_string - assert UNICODE_STRING.mb_chars.kind_of?(String) + def test_mb_chars_returns_instance_of_proxy_class + assert UNICODE_STRING.mb_chars.kind_of?(ActiveSupport::Multibyte.proxy_class) end end end diff --git a/activesupport/test/multibyte_chars_test.rb b/activesupport/test/multibyte_chars_test.rb index caf50aa..3551fbd 100644 --- a/activesupport/test/multibyte_chars_test.rb +++ b/activesupport/test/multibyte_chars_test.rb @@ -65,33 +65,32 @@ class MultibyteCharsTest < Test::Unit::TestCase end def test_unpack_utf8_strings - assert_equal 4, @proxy_class.u_unpack(UNICODE_STRING).length - assert_equal 5, @proxy_class.u_unpack(ASCII_STRING).length + assert_equal 4, ActiveSupport::Multibyte::Unicode.u_unpack(UNICODE_STRING).length + assert_equal 5, ActiveSupport::Multibyte::Unicode.u_unpack(ASCII_STRING).length end def test_unpack_raises_encoding_error_on_broken_strings assert_raise(ActiveSupport::Multibyte::EncodingError) do - @proxy_class.u_unpack(BYTE_STRING) + ActiveSupport::Multibyte::Unicode.u_unpack(BYTE_STRING) end end - if RUBY_VERSION < '1.9' - def test_concatenation_should_return_a_proxy_class_instance - assert_equal ActiveSupport::Multibyte.proxy_class, ('a'.mb_chars + 'b').class - assert_equal ActiveSupport::Multibyte.proxy_class, ('a'.mb_chars << 'b').class - end + def test_concatenation_should_return_a_proxy_class_instance + assert_equal ActiveSupport::Multibyte.proxy_class, ('a'.mb_chars + 'b').class + assert_equal ActiveSupport::Multibyte.proxy_class, ('a'.mb_chars << 'b').class + end - def test_ascii_strings_are_treated_at_utf8_strings - assert_equal ActiveSupport::Multibyte.proxy_class, ASCII_STRING.mb_chars.class - end + def test_ascii_strings_are_treated_at_utf8_strings + assert_equal ActiveSupport::Multibyte.proxy_class, ASCII_STRING.mb_chars.class + end - def test_concatenate_should_return_proxy_instance - assert(('a'.mb_chars + 'b').kind_of?(@proxy_class)) - assert(('a'.mb_chars + 'b'.mb_chars).kind_of?(@proxy_class)) - assert(('a'.mb_chars << 'b').kind_of?(@proxy_class)) - assert(('a'.mb_chars << 'b'.mb_chars).kind_of?(@proxy_class)) - end + def test_concatenate_should_return_proxy_instance + assert(('a'.mb_chars + 'b').kind_of?(@proxy_class)) + assert(('a'.mb_chars + 'b'.mb_chars).kind_of?(@proxy_class)) + assert(('a'.mb_chars << 'b').kind_of?(@proxy_class)) + assert(('a'.mb_chars << 'b'.mb_chars).kind_of?(@proxy_class)) end + end class MultibyteCharsUTF8BehaviourTest < Test::Unit::TestCase @@ -111,35 +110,33 @@ class MultibyteCharsUTF8BehaviourTest < Test::Unit::TestCase @byte_order_mark = [65279].pack('U') end - if RUBY_VERSION < '1.9' - def test_split_should_return_an_array_of_chars_instances - @chars.split(//).each do |character| - assert character.kind_of?(ActiveSupport::Multibyte.proxy_class) - end + def test_split_should_return_an_array_of_chars_instances + @chars.split(//).each do |character| + assert character.kind_of?(ActiveSupport::Multibyte.proxy_class) end + end - def test_indexed_insert_accepts_fixnums - @chars[2] = 32 - assert_equal 'こに わ', @chars - end + def test_indexed_insert_accepts_fixnums + @chars[2] = 32 + assert_equal 'こに わ', @chars + end - def test_overridden_bang_methods_return_self - [:rstrip!, :lstrip!, :strip!, :reverse!, :upcase!, :downcase!, :capitalize!].each do |method| - assert_equal @chars.object_id, @chars.send(method).object_id - end + def test_overridden_bang_methods_return_self + [:rstrip!, :lstrip!, :strip!, :reverse!, :upcase!, :downcase!, :capitalize!].each do |method| + assert_equal @chars.object_id, @chars.send(method).object_id end + end - def test_overridden_bang_methods_change_wrapped_string - [:rstrip!, :lstrip!, :strip!, :reverse!, :upcase!, :downcase!].each do |method| - original = ' Café ' - proxy = chars(original.dup) - proxy.send(method) - assert_not_equal original, proxy.to_s - end - proxy = chars('òu') - proxy.capitalize! - assert_equal 'Òu', proxy.to_s + def test_overridden_bang_methods_change_wrapped_string + [:rstrip!, :lstrip!, :strip!, :reverse!, :upcase!, :downcase!].each do |method| + original = ' Café ' + proxy = chars(original.dup) + proxy.send(method) + assert_not_equal original, proxy.to_s end + proxy = chars('òu') + proxy.capitalize! + assert_equal 'Òu', proxy.to_s end if RUBY_VERSION >= '1.9' @@ -151,11 +148,7 @@ class MultibyteCharsUTF8BehaviourTest < Test::Unit::TestCase def test_identity assert_equal @chars, @chars assert @chars.eql?(@chars) - if RUBY_VERSION <= '1.9' - assert !@chars.eql?(UNICODE_STRING) - else - assert @chars.eql?(UNICODE_STRING) - end + assert !@chars.eql?(UNICODE_STRING) end def test_string_methods_are_chainable @@ -207,7 +200,7 @@ class MultibyteCharsUTF8BehaviourTest < Test::Unit::TestCase assert_equal 'こわにちわ', @chars.insert(1, 'わ') assert_equal 'こわわわにちわ', @chars.insert(2, 'わわ') assert_equal 'わこわわわにちわ', @chars.insert(0, 'わ') - assert_equal 'わこわわわにちわ', @chars.wrapped_string if RUBY_VERSION < '1.9' + assert_equal 'わこわわわにちわ', @chars.wrapped_string end def test_insert_should_be_destructive @@ -330,7 +323,7 @@ class MultibyteCharsUTF8BehaviourTest < Test::Unit::TestCase assert_raise(ArgumentError) { @chars.center } end - def test_center_should_count_charactes_instead_of_bytes + def test_center_should_count_characters_instead_of_bytes assert_equal UNICODE_STRING, @chars.center(-3) assert_equal UNICODE_STRING, @chars.center(0) assert_equal UNICODE_STRING, @chars.center(4) diff --git a/activesupport/test/multibyte_conformance.rb b/activesupport/test/multibyte_conformance.rb index caae479..6ec9a83 100644 --- a/activesupport/test/multibyte_conformance.rb +++ b/activesupport/test/multibyte_conformance.rb @@ -28,7 +28,7 @@ end class MultibyteConformanceTest < Test::Unit::TestCase include MultibyteTestHelpers - UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::UNICODE_VERSION}/ucd" + UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd" UNIDATA_FILE = '/NormalizationTest.txt' CACHE_DIR = File.join(Dir.tmpdir, 'cache') diff --git a/activesupport/test/multibyte_unicode_database_test.rb b/activesupport/test/multibyte_unicode_database_test.rb index 405c7c2..26a4157 100644 --- a/activesupport/test/multibyte_unicode_database_test.rb +++ b/activesupport/test/multibyte_unicode_database_test.rb @@ -1,21 +1,25 @@ # encoding: utf-8 require 'abstract_unit' + class MultibyteUnicodeDatabaseTest < Test::Unit::TestCase + + include ActiveSupport::Multibyte::Unicode + def setup - @ucd = ActiveSupport::Multibyte::UnicodeDatabase.new + @ucd = UnicodeDatabase.new end - ActiveSupport::Multibyte::UnicodeDatabase::ATTRIBUTES.each do |attribute| + UnicodeDatabase::ATTRIBUTES.each do |attribute| define_method "test_lazy_loading_on_attribute_access_of_#{attribute}" do @ucd.expects(:load) @ucd.send(attribute) end end - + def test_load @ucd.load - ActiveSupport::Multibyte::UnicodeDatabase::ATTRIBUTES.each do |attribute| + UnicodeDatabase::ATTRIBUTES.each do |attribute| assert @ucd.send(attribute).length > 1 end end -- 1.7.1

)FG4c2hmOv1d=!vnPA@Q9b+EZR<=_))UP- zctK{y!p!^e`N?FJc``HiP?>u$b8nToH#1)^Gh?yL%VcIO?unjRnP>Pi_q5F2Rp#!@ z+)HKd#ms$G=Dyx-+lRNUGfDNH#NMyT-dNcC)QYe(MfIM--aS?Cp6uO6_3p#o2W4+8 z*857?8;g6QS61(tzTUm8cMsLO2YdHcy?e8FKh?V*Z|lh_^JHdzU1r9@%x`oEJ5yEW zsm$CV|TnfV5p z8H;6JDKlenPxQ^oJja*0uVwD7GWTZYekyZ6W*(?A4@747bLRoxZ5>v^(sB9>Cs*Wp6CjdzI{s#XZq4tM^=A?|#<1kLulrz5A=){n>kv z>OBa(k$RfSJdK&(l9{nE^JrwAp)${4=6))3KV}}NG7n_tBQi4<%e-1<#^RpnpOtx@ zFLQs(&{t*d%gh5*<^jw+SY;mU-PVJ=+j_d{J)OPZmc6mC_W<;ssd~?3@BXTHfA$`v zdJkgnqp~*^>%B(y#^RnBkkxy>ulE4!-B0!I$KC@~?}6++MD-rR+j@q|JcF6vk(ser z=HO!u@bj-(s`D&%9-ul8VCTWA^I COc!X&TD07EbfVcS)CX7IuEqY{Z;4w>^w+y z9>mT=Rp+7JeLcjxuV<>@Ga39{85|4m>u&hY-)z-;HhT|Ly$7=Q5Y>AKdmop*u~_eQ zvNskxu_B-PPl01`PYlWuS?CiPWFiBU$N-8ARw9EbGE9jK>K6vPlh3|A1t32~!@z+#y z5iE9MjTFJ+o*0%Ta+yzLn28KgB10%LT!{>)$S5T;ijT%T1u>5hA4v!-1`(Xu5T8da zP!bC$F-%Deqr^xhF_IEDO9?F2d9#$jVkg#02`ui3;aL((eGVyKcBN{JClVgw~d zD~ZwGvoXqhHs&jm`6T&Rl3?Mpu?^40LM5`0BEyx)aEgplBBLmBN{V2y-dm&y7CW&{ ziePb1jK~tX+$S=^M20DmVH6puL`G6%j1n2cXJdhaSU`wRBm@>hR0hN%1+j<_BNW64 zLX1`rqX}_~gur5%w@L^sc4EDRz~Y`5nFVo$4`QT23|A1t2{B4Rj3UHX1u@opG{$(3 z#zG~skRqQ-5iArb84f#(mB?a>j8q~cDKbWhjG@S_QUr_j-X=w`*oh5N1dDrORF=px zpU5Z^8KFc*P-L_c8BLLKN@N@#jYSG#5g|U45LgIt0ACG`QlUpN^jH;oEJNQWLu0Xw z+hu4hc4DIpjm14NIxF;*zR;sB^hgzYBtwt!LaQ$_#-KO<6`%1c`FQUk80S3%i&gu@ zZ2!4zkA>~q;~^NW+K*=YajN||wm&V~W3jS3WP2=jVv}r-#XT`5tNn6c`!UvjlxjbU z?Z>K{d@OJB399%6-sDSE=p_vOg$#{_p${YU7!`U9LyuRX$20U985)aa+$lq2u@jqR zXe{oDv00(>`9hDi(4$r8(F{FKg&xPy6IJMm41JjjeHlZ4DMMpn=r0j^tO`Arp(m)& z6Bzoe42{Jy?vkOg*oiGNG#2;7xagtBS?Dn;^caR7uR@P!=t(N{B!qT<_%hLZAF@;x zU&`WN$>La8{KPc;9-k^cj>RXc;uBf?c3B*Y_1rCsW3dxkWpOO-iSf~kkGJAuRq?Sb zK0y_qz~Ylt@yWckFIS;2XXvkGXe<^wc(^gXz8bGek7wygs`Mn5zC)JAVjcI$(pc=o zHdz{rdtyTL(i5!oI8}NaOHWj#C$jVuReFkdZ%_8_?JHFBE13KnnH&r6?YD4mPf*1t zu=r$Ed@_sQDT`yVo_l3+EOuhMERMxJF)@1aiB^2PDn6dYr>de;dG9V$A(t`aw=yIa zhAi6>?{iehi3~YKg`C2Wcgc`gEYnpoBo;fdLx#lSo|qIpswzH}#qXBIu~^TmWpONaVy7&Q z#XT`O_ce5G5g(pxS1?f(pUC3VRPkxNb(gEq%NhE685#@U?H+H6ce^W9>6I)!S(Tp5 z(qUCP%+mMB(paqHHL^4oJF!ca#^RoslDl*ll%8UxC#lktSbDlDJ)NajsM0G~`UhDW z3vcOxxTROA(5o1FiV8i2p{J?P(-`_*85)aa+$Te0u@k#xXe{oDskuXUMd+y(da?>V znW1N>&@&i%r3$^0p?{R2u`qORyfcl;U! zv4#*~1ra913Nn(-p*YLd;SS zvk0+TL98ak&k_O)Ar1m!t%6ufh-nI98X;yXh?#_VKtf=#%=;w-7CUj3guvpSn4TM= z2Oy>!L|8$D2{A)K%pk;U1u>ftYZSy9Li{2jun^*2K&(>`>j*JjK};vaECn%(5D!WS zESC9zgur4au9gs3+!Hf$L-Yj141<`aAf^#wrh=GBh&c*k4j|mG?`M0TXs%TvYbo-p z6v0A~`yjGjiL9r{3?(vyBD0mqY>GT2MX*@!>!k=5J8_K^!Q!5nnOme6L}r@EbR{yK zBD0jpEQ-ukB6EEr*Ft5T5?M!)-=qi@6A5l@j?YLpD3T2%nW;!-l4On|nM0C?B?%S_ zeo&HNu@n0w2^ROntlT8MK{CroW+;*wB$=&9W|L%|BAEvgNUT>9>nZWOl)yrXgo=>Z zs3bO0VwRGaMTxmeVlE{fkrG&}^C2mL#ZFu+C9t?BX6KgZ1BuyIYNnEyNr^e0L`wYp zg>xp&YY`LnfA83t0}uRcqY-{jLy^q)o|1Xq`>hSiW&>^hkTzIo^QZfiY*IFxXfs>c z%%;seWiyX9k4hUXRz4zau-J*~qzxAL#GKqVePJ`lY-TB&S+tp(x6NGI%))POD4PX7 z8}~ifMrE^+Hh)SREN0{Mo)LC7E1J!unWJdtkY>K3nNOO>Bn=h|e}kmKVkh=X8Z7RK zxw&cjfo87J%vLnBNwZKDUx?xey-9`M#L$1q&{+5o+}{!p!4_3|3ro*crRTEr0#$ke zOFu44W3i5hWoayS;(#oT#XT`Ecj^8pJ?Or`QI`* z7T((r;ojb=if?7{d8+t47GJ1}FJ$p2WN|Fk^N1{t#ZFu=i(_$5%+FnX0E*AI;&WB; zxh%dQ?{_;3_->~eeg{L*EcVg3?{>B*nk}UHN77&+%?qH}rf9a2X1=1CPnt!FW)W$g zlr&f@{834R#ZDZQG+5jd3v$y81kD1YnWt#xk!E4uGz&?Ce=1^$qFDkOh-_6NTPgBC zDT0L}Qy{WkiEO9H0wuD5B8!#CVv0N^MX*@!V^Rc*oj4>#u(&4{<`x+Qk%bm&z7m;F zkwtlnETRa0Pv$Zua+&wAEb-otZBsPcNb|3x!9tqSGsDgfMYDr63l+^m(kxLlOGxvy zq`_k0k4qXXb|NBau(&4{<)#@7nngylK+!B9&EmXi7Lx|wPhF~LmilPi_hZ`?&34k{ z`@_lo2D{&v3}PWoYtZaeG&@PNNYN}J&1H(_GSWOFX|P!M6Osmtowz~LU~x|@&V8jr zaHWflW}%{4NSY;i(<~uPtFUvqqPZM25ZR$bc2FcBMX*q0F+_GLkzEv7tV9-5WT_Ha zN|9%!2o~#oQi@=)6NjY;7Wc%G+#*9Evcy6yQX-2ea#`LYmr&2B}rn>3fJ^p`XJb22>^3wxtXkHtP`TqVDp$*;^i`ISsw8^4{RlCNa) zt5ouSE3W$xmmQT$3P zeuXN21&c4wyZCYzpO0TtQN>rW_|>ZT)hr$>i(_H&I{2RKK2>}li?3A0SF-pySsaV? zyiFFzVkd5t#j&_2mgg=$2E~_K@nx#`G8SKvSv+?B!tptOaIk{C@q>fas`qO4zDD)F zhP~rtZ!GLR3%##Zy{~2ORjT(Y_C7CrW3ig2Wp6BY;wIS}i+dsv3e?_=?JSsV+CH^A3s*Qw&yvG@x0Mbip?(X?8Ltft5- zQUr_jJ|ji2*om8^2o@8G@{!d<_@Q;V5?M}>Re6c5qDT|`eu@%VOOb1p$h8znkRn(p z@*JLl{Yqp%MOG@2l@wW{MAlH`RVjkSdY_ddSnR|pDT2jBqI}>r5q{)dp+r_tWOZI5 zt0~eHKg(Al>nL)a61k2dg`@};iaZ6814`roMOG=1RTNpPMAlN|f)v4Gy>FKySnR|t zQUr^MMESsMBK*j_Qi-gj$eO%F)=&gLO<1o))>CA^64_6Y!cqi_i3HEJ#wVZGE0XI; zvRaX>CdoQQvW_ILNfIm;{0>Qi#ZKHRNw646l#kp-!Vlf66v--*tj&vLElKcGgbj*h z14#}jk^>|uB1y3DA^8KJoE}sn2Pv{fiL9Z>dL^=+BCkskEY|x@DT2jL+$Ke^n8=FU zpG%p@3U_r@E0NU{S(lf{I*Q<@2pg5iMv7doM6RbuQ7M9jBC}?PokL3G5JlE1k+l@r zphPxM`n*KeQv^Re*rY@@QRJW!IY^O2 zDT0OXwnn$XyRC>KiI8NSB3Vb0jf!L=N#2koSS29n?t)6I%xGf569l0zgZCP}c6WSdKJgCeP7CUjf6v1L5YlO%e6IriB)>C9tULu<)f)7YrmB?0# z+@M5mphyWRf`uZ@=7gOiO5_MdHY$;g6xpIgwov44DT2j%-zP<|*oix&2o@7rD@4|s z$Oa{{fg+pp64^`<`x(PFWwMPXhn2};nv|3#SZGoSCP$UYQJQR0CYxxoRhew1$ve^n zixt0LnqaXLcS;j1X0lG0tTU61%48!=w&Z29g(mIs6MrSLogzn+$PtQ^k|J0rQXV45 zl*loPY*r$hDY8w8Y@^7#QUr_jen5&~u@iSm5iBOMUWlwWkxfcu6GgV>C9;(w_!-3x zC9;DeN0rD?ijn8-#Uve87gD3L7`*`-qNV(Q~6^>L;yD^p`(>SaiMQl&o0 z)Z0|*ZA`sWrQXTZAIQ{LEaby7H5NN@uS|`_Qg0HeH(BbfIZ_AS&irqeZ)NKpdENax zc=zK!?Xp{u>?X+xMRI~9Nsy6v4mxu}6vQfr$Gz>^j%A|MZu0Qqi0wO*u(} zg*2x?bCaUEi8MPD%?{G+Ry4aw^O2;%V&NZ^G+6A!{gMWY(QFYkTa0GAqS;QGU3t;$ zBFzH)c8j9f%ZKGgC2}K0%1aR}CK609fUnGNRwOr*WTzt8Ns>K^WDiL`mLym#_+yd; zi=B8tl3+2Ct%78$k?c?;J4muSFOuCPS%zPKQ6yK9mZEJR)0TaZdzxW{;Km$xL9Uwc4Xv?_uj}RqJcn`c~EY zR<=%-t+DX7t~xL5oK~q%Gxb#}^;Jy0Po>_+)L+QdSS;kzGBp-E@u*CV#ZvDQsdriG zy(;xyroPTgt^R%2>rfn@Hm38F#@kf*+ZaA1!((CiMhJgKg+IgaSF7+>GyJtG{Iv}K zr3{b7vOXijW3dyD$?#Y#{B99`w}rn-g};j7_y0%u{g=YKztnzOg+I;kDKb13hVP5; zXI1#K41bLZe+|Q5r@~*y@L$RBSS;(aGCUSL@wg0+#lr6q;rCeht5x``8UBD5KG%QD z_W+6`^%<4=3{$7d)L1NaFt#(^k>9Rb-_F+iRO@|gyed)>y3MbFwuSJMn~U zjm13?*ehD^wN}@t*4ME0^{Vytyt|zP-dCe%RrIrro+hJX;r+b=_xByD`5kP2t!jQP zn;%fk53u<+vN;wj`n+t8#ZEjan`5!&SBd6VS@V6W`93y3=rvC%ylB$A1>p(fX5{?! z)Pr994T!%9|GQnqzn$^ZWqd4*zZdcERPpa*{OeTw>lpuf75{q1|5nDwVrgHH@v+#6 zr(}FA7XNAy|7weWNZrtf&=e`}P$}VkJ3cd3?lvE_c%az9%hR4os( z<#)0r7Ay6lY>CBAJS|&daZd!U5iPH=RuR=Q!j^ZcmUpsc71SdV{i=B8@ro>_?uN5h;wUmdFqtDKvWZMs` z)Q6e+Zk76OrmiMaV`1veNPVwLeJ@iVRH+X#^$jZZ4NU!`OpV1to|CDu*oo(4YAo)F zz;)4E2ClP|*C$4wo$C{Ak0^==DUK+LBc!-TQQSj{>XHHrDQ?E^@7$*-?jyw^MRAA} zhZV(PQv4(-uvqBxk^+mJcwSOqaZd#HM{gb2Z>bL|ii4!MK~da5ild6+C@Jn$6!(&% zhNQqkilcZc?pGA|lOm!hBBVH?D2|ZgXGwv@Lcby@u-J(gBn1|uI3Oqv7{wtUg_EzA z@4sf@93sYHg>je|#}vjfV%(=N?juG`iGhU}cjLKuKw&&Uj2jfj4a7LAFpd)A7m0zz zQokxOu-J(gB?cD5xL#mfZx|6jMj#tTgcwH@#t~v1R~W~MalgX2pBS|y29_+02NlMH z#5k-l4in>;!Z=2Z3oKpv2oouOZVCthP^--oip;Dh<>IYQn z2bj9HOpS%9yWj_T52@4-G4&CZ`Uq1WSE-LP^=mRU7EArIOpV1-dsmuLXx8lZ^Cpd( zp5tr404|vS*`~w(>cMQ)53~9)Rs9&NpH$UPvigIn`h%=qM^?we>LXG8VO9NMRzIq$ zA7%9us`?35e_d9`V%5*d>R7CLMBLyJcXf{VQ|Hf?`Uq1WSE-LP^^Gd^jZFQJO8pR1 z*OjTUF!fxdenh2ygsG3I)W?|mq)L5~sV~aZSS$))!=JEY|v{XnoXLpYXSi&DQz^Ti>Kw-^A9psMfc5_xCC9{(ekFe~i%^%IH`a zJ#8U=buLHL%%8+!uq!&Hnx10Qw`Ef-*7P;m6pJ-ICYm0zx8S6|X*y=Xb>NfBGyVbk@o>0-AV6?_E8W!Gvt#SX|s+!%(X79>oSghGa*$j&{ zJHck+BYEHi-WvM}c5DzIKKum}vK73E1#eLWZ(+gHs^DqfZBMFjPcmE+84e5Ywq5Ss zcAF}98_VT87l?kZ1hH7T_hefvcH#}$7K^n#8U4=)oOD;`W`E5>*=pX*nzyQ&x3cCL zRr8E@Kc4pP$EQ@*r=%!-Bg;~dCKSi>fzU)m!~li)O2OE32MS zRnM^M9jfXbyhoo^F`s437BVIl-lLH|xJPeSHE(Cl{IVt%YxR+=iN#L5BWq%@nx{m~ zQ&#gff6c^fHE(0hv#RD<*1S{Iywkf!@9^%?=Tz3`n6;(MiiKJ4cC+50vfjb01!Pt% z7VTr16^osCS7yaxS#J?pZ?UYW{aK4;%X*qwZ&z7wXV$w^*1LFQ`NqcwF}DHSghqIvNjew@t&-W#XS+Ym2af_jO$ihkbTCLAD?lZ z@wYFYt^FCczeBaZgYEBD?eF$(>ASpJ`UQpX0ufqE1T2Q&{EaVEUs47y(cms+a2E|? zqyZKy{HZj+Vkh3023XACw&*uX;5K)4&ibpD$X5LFk?vGhATg=-T^IjG6 zUc_|2ZFP@#i@v0)zQn3+WmPP!`ZGQ=IH#(fW7T_9)q7YqPFBTY%|4e^vDk?ZWmPOz z^^Es!BKoJfXY6wD55(Q!&s!>6-aDB0K9%=A-m5RGsxPx@J6RQry&1uu-1olcRo3&& zdaufQFSEwWtXM4C7cwgrJModsip8>?%`@v+yB_>2Z+H5$md=*-PG-GdWxe0KYwz>! z+H2yVo~i!t9xI z#w}=({XYv9xE&W{AKe1@=ysPsa+z$A?_%T!ROAPE@19p}&$Dd@*%k}iCiO$xS5@0r z+4g?b_I|c4B->)Ka$m`|SnR|nvMm;Cdxvc6><_yC80Z~#NzVOfd$+%B*=%j^X4?l< z+XuZH_yO+*enmxog^@eT$XFP;fgAaPihO~QA5f7WVC2FwG8RktwTz6#PJAjOW3kA0 zGIGw}a1Y$+uFgIFtV!9j-ova9sjLt2mVH&#e3dmj$(mT`TWN9Fc}>N9jWHioF&|{i zA~GfxOZAP6iN#KQCSzi;n0JYocUjDP{V~gBi+L|&KCEIs?A@aedH3iARrLa^c9vDK zuxe#geO*<3omC%FRUcy2qOvL$Yxb?Iip5TRE~{d(s&~ux1NQF*-i_xK7cwmt zOM8!(Hu`5>_t@p&A4_9&|rm({RXlOJR?EOz26Sq+O-yHC6qz0X~p2mP@sWsCJ7 zV?C~7JR(BZ-3uA4@E%=y<^%!H7kg>2>iXUYxEOz2+84HWWy5GCS3QwLl zZo-1_>{&TK1-&0{acme5amVB^{`KI8{P`+p%l8oTJ)!bFfqZyR>pbo~%5SQUZ?a<# z*%1pncE(Njxa#;gJC>9ku~?;_WJfG^;v3l!i*(~UpV&?CdoUP--?D(YW z_#|(`w^Y8jn6IbIhlTmBLcS+dz9*Qkl+1_4;`}W0VX+h6%6wQX--G{^??KClFEx1^ zKH|?8%9igD=6g!zd&;{FpY(3Sw^hft*|C@Gh{ZYvD-Oix>rbkXPcmd_84`$Y=e)&D{Fy7LbaObd-51$i0=8u+|E!ty@_Kb@5 zjCZd+?cHnds(SCTULRQx3+rt`y{A>Zr&+J8tcS(g{3h#Ru@gVYdRVO9Bffec`0G8A zSgK}36AC3&7nK2S+MV3Pha2^LEd%ovP! z^v|g#&#_5)*#wJS@t?8@7CZ5?Y=Xs_Jnn1qvA@aVnN8f^L3%+od4WwnR82l)lL4{` z7TzX>sVJLZu`B*tHo;;iew9tISd%AxO+NKEdD5MomsE_G7~^9V z<737cBx7JNws;2Z7Rz)SnSIGC);4L6TizgSgg&{ zzBZrx+dOR--JPEcol|Yj`P#Vuip-~~&8KWLM7F`gHeaF5%c{-GY?Cb8V6iLzSGK`o zC;pIauvnXCd~Lq)w|OSBjr*C-dDZ4TpQX=KlFyiAs7!)|N$Rx2&tp}Rb4(JFNwC-j z=L^YS=M3@0pE3y+OY*EQ$(Q~l&t@iZKaY7iIqO(HoC^9u|uiknylsn&+~vIq;P~&2yP)+>gxXWSVnK z^QubosxOWEsC}W*e8DusWg09@(;aDEQE6UbnpBwvi=}a78Z4IPd0(2Z{b`=JG`;yw z=6sGc1v77&^DJ{gmASwN?MoHpO9mMsgJ5BhJ_z!v3i2w0q{$#yEJ#oW!D2yP@CEtC zALND1AntpXmlLy&xsTDMzgh8eqWfB$S5&Z980<9_>^1LJy5K!!U#W6mvD`>m4vUow zUg7@3nio{M3rv?T(_yi6`DHpRmhQ!@CV_8#Q35Y!rgPr|om1(~G2N><(q+AedX?>7 zSM6T+wR0cCuT{IR*>03&4k0a+J|)qTlV z_d9>xmon?R@5Iily60Ks1i=6cb4&c9Vzzh%}j zGAkC#>U_I29CTz=EOtr%{+@No+1_*g`@8KIRrQOk9wVz`vFZU?9gBM+a4zdj2>jr$ ze$Ju{2s`d~4_;OAUuFE)W&GC}|4kMDO<#QX9mRJl{&$Q&R>sG|_)hz9Feu|=vAFsE z$hz`u@$>z`SJQP1eiEt#-k?A=`OXB33B*bxEOx??Mp(?~eAZhU_|b24-i!wF6N3xN z=mL!{<}kYSiNi$_y`_lW0uf}sS2EvIW}KA4Vo8HHjljF`{E`NX{Ye2u6Yyw$#^1?# zQ_;Lhn(C4Ui-nJqG*~SBE57hQ`NO}G8Q%Q_i;B^ALsQ}(2z&i@y9Up-E&gn-5@FM{xNB}GZcm@CkB>)x!2r7V}2k;)?<#?JA%O5d zsqjBB{6rZZ3&U5zM}-&}9*g}!`BnJ*UifqP?_Q4Ek%FGcC;05}JtguUMe0ZqEY`b- z6v1LAVx2OuH-F6@)k+nRV43{k{FL<|G}{Hz9M;_By}YT77Jcfl3=kDagqd!dm`|LkK_+O$s6_#Y&bt@ zeOt-AO_}$U%zKpiP|18qnctMmZK4l(zCU|k(Y#NZj}*;Er1@0Qd`g2#bn;~$^6eR^R8XV2a4nal6Ue@f5Ch4#k zOj${X#ZDBLbXbh;!zgr*x^y3A(z%~$f1>CHRW=`Q`}n?EPrSBmZ{(&dZfemmU1 zcj@Gd*oDlMbXZ8&5FepRN;)j=D{_h{x?&#Pz3an{qv#wybzdsFFG<&2(qXadNs@F} z>_iDkhs8Y+_$YU>z+*1mN11f)x1>K+bf1#$i=1?qe);MP(tWMyz9wBj(FG!QA@d|1 z7NZMR9gk1NOG!H{?rU<2E4$*J-R~RlQ(9#gq}^A_?kn20kak$?g33udEOw%#w8P?_ z2z(sH?s3=d<4imEtEkVE-DkA>GKbxz&qBT=-8YKv8`3$7&WYG{%$IanNY}-sD=q1; zxUb16q3B9@blZ1?o&1U}Kk2?!bYGLMrKH1R7gS!-VX+gXBpnv_MBtMsbWgZ+pJdXx zzd!!DqWhe5Un#n;NcXLx`<8S;MHh_Nbu5r{Sd7jYhIg1{q#PFa6*(o9TuD#P!GGkv zfRZafxo?!*H_llPhs8Y+_%w>#ldjyScBNk^vM)&Xbq=z?r4Mpn z)9gEC_8ragE3^C&yMl$%3=1E(H{8dqtVF|Nmr_chmGaQa&kQ>S6k0UE z)iO$^j3@Ih{(DfdN+y;v-z%B#DbrTUV6iv1vXsGMCz7NL7L)lRip(>v%omw5?iXxd zE19n;^PQCWjxs+gnI9<=qhw+zvqZ{Z;X}0-UnG}RFl9ZMR%^meoPvoX%nu6Y2g0mvV_56C(20}EC%ys6qsjSm@hM7+%LzzQ83>S=KGv5mp-Teo-jWtn4bs}t6*XY zbD4y}LYO}RlcZphJeX#`b1uwR znK14r?B6PwZwd3W>i#pjyT5vS3?BjZ;eT-oAdUb_B>)xz6j%{<$|-5R#!cKw$ zNFcyZ3g9OKbdUg8EN_Ygz+xvVNB}Gb@O2b`=UsrWtsH(E$^BsRodWod0KX`JUwGrk ztM2jae!1+9#kvRIoQRJV0zgcA}T_n zUlq}>B8!}-C(DWY(SMC>hHE^)B%`I&>~Cq>#| zvA4LgvZ?IZ)WXjv5|vFNZGKlaztg6xw83K6Q$^Zfu@fO_gT*}&_#ukTIoIX~dw%d0 zm-|ibpB2&1B>Gbk{pk_?=n)lFL`5U^2CtArSor*mX@KV^RT^P&Uz3xpjFLU0O4sA3 z70Rd>js8$Zf6%C#G{RyRR8<;bu@foM2#b3n@M9FC^RCg4W`uux(EZfx7iIJdjs8+b zf58aB5*1Bi#NN)8k_HQ(o(uSnXPT73Vt-Ib$%H(azN7H72qjaTGJh(WKPl5)%3!hU zsU~Hx*ojmrgT*}&_$i9aE3V8>nKJI@Zoev-Un%pqlKGo5#gt63h`pVwqzo3yoWc9G zbSZVj2>cR7=7KBpOQwwb5$AU$^E+k!r)2&I8TXUw ze^AZ+O2336DiN_ac#R~&LZXC@;b0X>gvEVDPMRW0^N1#H3_GP1Q7IDrqlo??Q7=h^ z#jdBOB*J1RG9(ce_e9{=C`7NhM89Sdxt~=3p@{w<(Z3#1O5sJ5<}C^L18o*Zr%#!r{aDu}WX zd#g4|2rPuy?S4gAQ$k>IUz1Z!K~(b~%1ps`^c6%oLO2S-Aw+)(fyFMUo`k?+Cu&Ft zEbfWGUr`|5av}c8gm6E*4g3d0Aan@=|1xWmf=G(kTeV3-U?IeQ7owJgz~a6pr@Dfu z?mq05akJxFDZ8e{zhYx{UJdG6(rOE35CTjxW0tKVkc@!C@k)Yz~8ywNc>t0 zp#IK;azB%DGNIxo&z_a@KR<-k>UPDi0oBX>>g<{e)U#_YrwGeM?Csqw39;B8;sjQO zgSDj~7W;#0D8U+@;NSS>WCbNyfr0@g7@%N&C77Rr1EnAqyWR#;5R09tB?Ym#Cj$TE zP9Av275v8pujF6)$yY4*G2V^EELbp8IQoBL$_a+-wFPbqgSnt$E=cC`in)BmE^3Qp z#zN-&V6G#XvDjN(Q!&@{m|xt1A0{Z~iez>avqRLelHEhl6z` zDHeM}YAMoM9_hM1_}POZtwhqGA`OzXpdu|u(!r7xi(PLcNs7fz)RClE+!KL+bCWtt z01#c_YNA8zF`_!Vq~QV6h&J z<&A*FPSlk*0v3BK{r`-rga0?*Ki%m5JF58lp)-Ct8Xt#)>Q)HyRw(!%w?e_trCR}C zk;JK6A&$2~C3P!Qir9s1m$w2I-U>VMZoIy{6|mU#*HO1Z9q(3nw?BSfqHcv`-U^Po z6&&6Q1=OujfVV=dx)ox1D-4yl0v7AhMBWNm>_k0zD`2q{(GEDc3Gg>z+!MGJ@Ymqn zTOq%?74q{|i209OAtpqj9Rd6Xmbww*c_UO-H$vrzUDghHBVgelvl%x+19>B0v8%7E zZiKqtjqv!yuoF@@LWnm)P~8YY-UtQNjZly`LY%r0;&>wrlQ#ku>(Nx+2w3by{b*zsNfw}SUxz{M}9@Cy<@&cj#V>WB;3Ys07YJ@D&j>P{%c zJ0Ya*giyq;YnQweu<%Ye+dmv^B<}<)cKP+yolxJq6B6;&TdKMfQh6s7PcGKThx=uL|cFHdg1Ct!#$s3AP!Tuuhy(Zq<#a`yPU09v97E!GMI2A!!iu;s ziAPCdEY_o?B*tPFTF^)A#AJJl3*rQxVtmiU{l;^gB90?*p*)ETg))hYD&nFfPE*8b z5xbEM8N2KVY#cvA+Ak z{TI)DU*5;^55)Ti_vaxA>V8Pz{ZJ&&`=Ln4sPLnSV(NY<#`_^d-47WNyQHh-{eZ>( zkYLN{_)88=6n7Jk`@609@uK3cO73{Y9Z&AUin}nm6BTzNxyMRwEaZlJI5^AwzuHJ{ zEY_x(^mu#k}JKzOU31vOV7M`~&fL$H2R=@-9s8#5}zdLk5ArHdI1sm!Ni4rCl{*m$Xl6 zW1)7%)nTWZ(r)Hy&%O>nDplImsa;5E7ov7irCpTT#g%q(YLA!NSbW-ZT*LhWLCY8MM-YL`^nC8=FaX;+KbC0#4Eu~2&g zw3{pK=AQPS2f|K`9NJm`0zwUP7gpSb$(^XU6UkjdahD+X1j&uX$355OZZEm9SeurT z8;fxl@^L$bvpw8}_y^+QE(GqPin}Pei|5H*JY*91iAO2LU5eb*6?gTBUD9=u8wesGmfj7q9RHogTJnad#T%lix*>}4hA6IXh~m5#4hE4P20)Z7L#3WCuxhtPPCD>SS)!_pY5eb9IAN4A?@0RX0~ z&o(9M_gqVbEIqP7t4oOoiG#!A)v8^&~>zOXc-vO+WMp|sc1`*wv3`JL)vnRwj61v<)qF0 zm>2U=r9#=rSw9`miTG5s!ZIVYD{UdHt$m-)?c5(k|gD2cHcaY-MsQ!3ljTM{Su^t!*WP(~4#A#u4piOYqo{$Tu4uOhBU;`)lX ze#9>6uq4Jp;g zCpt-DEJj?)M||li1}>grfO}7|OI%hFmnCueJc-MPto{)ElCL7JMB)aDxIx4&>4+r8 zVt+`m@eKSFqoXqJ=oyc_BJ4C$#*JuPMj4l(aXDpNj>Z+0aYY)>%xR2&pWFMw7n5CY zPl=4hPIQ*YSPZ$e57{Y`?Kv)u6MT-{?`|e39jC=;XjZlsVKMeLG}Nn|WU zzTiH|ofUFt4|zO(Z>)(zZbIZFg`7m>3JSRbkt-|Y%0$M`ofI-AyWZXs8H=6hDv_}m za#`P>;v{8zlFQ-*pJey;?K@7RpCTzcOm;baq#YJJ(M{T6v7|{k{uFya zp@s((lHLRA+Eq|?6=+vk*;NkNAC#i(QfSvi*)@sSrJRs&~o9>sse zx0$kQM!WLLt~~8R$}U7Z{76XIVY18VEA6n@iSE)4izO}R`%|3q*`B*{IKk)6{Ru)v zWml1Q$)26~yW+_qdu2nz_^T1AiZPXpO%-F)h+Wl5$%uuFKY_8EV(jKI{&p39j;I)$ zld*zgtU$&T#h5}y{HRAUVzSHWCmFHWi5`*>i!qkZ@u%1$2tYi7K=mF$m$8y!tVG68 zCZqUHVkm^y78@RhZ*SnIe`!iGjgrljWV47}*o{&W3nfeAAL8k*B)fZ(7x9&A3nkft zk`L#g-#gv23&d29N zJrr{fk9qvau+vg8w z+MXV5iD~$;pQ3F=+RBQyGHFv3Z3=1A6>U0c7fMoTO!J4!2`1Vr9 zy*%SL@w=X_m2qntCoAJ*8mB7bR2pX};|v-vlEzr7H?}$2UD>e^6CrTa~u0lx?esUCJ%e7K_f&U`dO`PV|+uSgd%mkJiCU`F=Y(87KJo zy5EgRRkW$3&G6AW&jkIiC?mx5C-G{kDdB1qZmon{N9>AjmBLu~$Bct;A0^z!6Rv|_ zxoE3|+fq1138zpvT?waCxT+GaO5r6^7>ix)5GjnsPV|$)SWGzDt8ie8hu3`_{MhRX zrzzny3Rm$7XTBG3fA`0!60$$2x}vR4+BS-|O~fwcHc5-cXoIKScg%g2ZC}r}3I5fU zcFMLLZBvzPDs3~AZ3b4* zC;0SMfo;07O{Z;D&o=r8->Ml$Y$;|v;C^Ne$S@U0fIKd7d%tx4N<%C=p^F6E50#bUP3bi8ZsuW0*wwCC|PS_ehj zfwbw0Hl4Ip6>U}0)=;!HNPBrs+DpG{9mHgpJ6zggu@eKOEf!0j=CgIuvpv6QIDzLE zf2Gv@x~Ph>twP)CKHE9|kG<7HR=zKOdsOk(B5!-e+dg7fb5`~cp)UMzNEkmSW;yy-sPOOGyK@#q5E z<;9l}E^k%ETa~;ue7yJ%UHU#rs}ZvFfhX|HD8LR8dwXw}fLQ)d*j)xlRkmRqhqL6; z-N=B_-QC^Y-9tAbh#=CafHaB>7NVjeiY;GdnZ85YYbx!R`vMy8}FiSISx_z!n57r2tD2u&e?sOTY>WumS;Z)_@q< za{Eg_OzeoB5)cyuEExjCuX=^Um*f#;lw29gm3MMie_$;ivF@#~BNSfqnBCW>B_1Zk z8wI=`3a^L5dk1(e6<$l?l~#DAiC0eHl_Oq7g;$Yyb2T1Dw%h>{4--40m&C)w@Jfa7 zg53u;{~0TfD68f8N+nF}h~82O6H_W3Qu4~gZL!ig0{0ld zbLaob_i_rW9I+}otp7Z{sTi>vs#1l|mDL|(sZxa!sd8Y4DA1NMTh<;4iV45X!vO82 zKzljRm+@0*YX#bxpk)miMgm#Dtzp;MrSw z_I9497vOz5<=KXw<&cidtzkE87w_9u_O9QPfX0SY{=6q7q>6V;t1|b z|4*S+P@Wa&S^1itl_Qq7Ek3H5z_Xh3+yT$l%CmLMmiL_W#Dtz%7e~E5%CnF2oQ|I| z+bYkt^enGD%hR)}@~leFTeT-fwwxi-6B9e4pY+7UJj;bVgZ&9f>`&;r{povFRGt;- zS>>9ZRU(!bf6uCV0?+Es(}QOl<=G}?%X?mWVnWXo*q?osXJ6+zZ#mwUQ=aYUSwVSL zpl9U*|9{OTC8WI!R=I$MuBN=J(R;y_-oYEInAmEEN^VT-i2jlr6T27XL)>14xb0gW zM{xW4FWFa8+?B{()p7d|t6s-Q_$hGJh}~3;1kg1c^rL`otDxJ)Y+)}*XiNw_3mdne zg6`*_-y4cI=@fK(LRVDK6$xEML02Jkbp>6W(6>owOl-BoBs3;=!~hA6iPf(Vf=)Rd zJrHAGgWc_GAG)%Fu1x4^4*KekyVW9AA1}?+Ou${!aX$v`c8a@Q%$E0}>DrNP}_ zarbxJ9-a?$P~08JT}g3QB6n5AU6tH56n71BFT9dFb;>{coP?1rcewP%#Euv!y)iNG ziXm^WQryO_h$FbM{ZFS=QQlSPUHzKg)gzW4zhGA@fp;zEodoap%Da8cmiLnM#)RHu z;XOck4{+Z9EW@=(d3U6DW#wI&-qn1M?2byhF^E__8#|gg3be z<^z@aKxbYDKL>VF=ACF>MVVKDIktvZ+5PZaUExfgQ`B8ZT}@F}BXvzhU6a&x6m=a^FV)l-*>XoqYE0~ip^_RCqps?x zLoY~q)#4t|tKvZ0<@iSzYAE;`gs+_dzIKEPM*v?h0en3N|0Li$EBMYaTj#419uwYV z>LpQch=L#D;1}cH67H(tyAr;-g0BvE|MFhVUEXV{GoTjFfV%1osLL~8*?-P}V=2Gy zg^{g0D$f8+?1*9V48X+BfNK9e15)<92Yc*#oDcrOCPeXpq?+mssL3;+PRbc@)xU^Q zCt?_Q5w3m${rXOS7xcR*{Vp+E<36d63H2}G3O`io4|V#JrsJK%EA+FvSOF9Wh*@V`6u+xn}W5J zcP)C?b>9DZ!Mkq6Zm2;5=LXLCDL8jk&Rt`+to_m%6FLvZE+3|xhdJkb_=_wxm19jh z*15tF|IiM9*V3y)$odMhJ|S0J2^qY?f{86>taQZ0ju;^wF|oWgLXN?%g&=kLg?a;#0qdd@NQIFR!F>~*Dj5q!4{_!IFhqXY1X(*&vwo$79=c2la|Vz$WFq$(y< z9R}6mN_DtX{S&|ZRZFSXqH5hMRa1UC_Ucl#fl_Ti)!U^iCbpb$QWXoELry<&1iFS|K0$-P+ znAlAwjhcbaSB+4lBOK`~xCqr&q_s&}?@H2?2T89UNgFECh9td1l44@(881mOu_H!F zQcR4rR){oZV|l>DMg_1>I*Fup6=_|PHn=8fg9u5V0%_v}q>UYEL6G)Pq&;G`z&9i* zCcMd`*rX$s=tw8}Fh0IlM~T*87$yc*`zl~|C9KVP zJ>^u7P7SZ=)G)$mcfqMi0;eX4oZ1 zZ;WCZ^lHr-vQO_JD;(UVr)dlri!s?#BQiX0>&1OF(VlJD#pGsTh`l>5ffuf+Ib_M z3XWBdW1ZuE{LI!+IX0wYbLG^WPHUtSCU$qHN+(S0i1E@16U)~if|}b;zEczB)PzpWl~ePG-B7Cp zPOY3%COGw1PW@xHtaqgoCg$Y5jHeUh71MaflzJx4KgHCTOf3~tOERsKOqkfcoi3R$ zu_Go*CQPheBgYhaVZv)1x2qcAK-*QR_u#pk!fHya77pv`A24VUv4(B%;jRQ|tsPos zpbb!H17fzwLlO-Wq8$L*1cf%ip|!yu;289(eD%?sGqw^Hb> zh`wH;V`8hFA<;3hBPL07Ozd7X{x5p4MZt|Nic^4F)JJco(3=sx6mkhib1mH;voEO?X6e<=C8#t*+_VDq>m3-~(O>9NRj_tZ*Ep90$d0 zU5BM3CUiUnqDjhel5>21EY4Hq*o=-Xm19dfwo#64=(tfjVq&YgQ95E`M@*59n3!YJ zkYlhbA()I4l}EHtjxFfe`kIcdBbF6!617X<*v>g-gX3W3I5=kOdS5zXLdRwJVCH1y zIN3QqaVLIHMmaX8V=Lv@ijHlSV_Q0Il8%_zYGz4COzeoM(h(DLY!-6#n#b+OW;g;5 zsd&!q{~L8J6=zFwwz(!}n~2rL`w;CDaJF}x*}*wPaSn;u@;;E9n2@sv{-W3v#W}@s zF2U<6Efi-9a<*2St;yL=akeApX32?(t>z}liHRLCO>$yloXta=!L|e>wk2?VPQ1D8 zbGA~Pt;pHdasKDW{I(Ihp$-WcJ2=K1U>vF#hsJDKMDWd&wxMHt<=CE%cS}c1Y&o-~BPMplbm@qR0C>qh!Ry z>b4Fs2D=e}*o{DSyU}NCrx@FjvEx-3J^T&|z7c*e#s36QmjsYq9ON)Sj#Q8%W45rP z5)uzX9iHRLCOG08|b=x?| z(91z7p7!o+8ytpB>AmRrPj}iY&GyvnbQMkeHk~4NYh4pqc6FA+VL3`!j*8jZK9QD~ zm}OF>TkurpMumB!!}Q`2Tm3bP9_V-gb+Th2U*iHRL?lf=Zt^0sxD z_KHBexQlCB9??Mob|7H41VG&!&ouxY~iszuI+FKphFxJpoX6 z2Q(5uQ3Vu@+5P=Y0%5|d;oGOg$1X^>9q1z%)iNjfvUa z{#-I)LZ%nNG+Qyvc1+*n-`wb;7`l+5yJF~0hWjN0CU$QZNCr&oh?^w?CdSYq#1L!~ z0AQN{#b>~;u=&5%+*vVnCPTLfU!5 z#iF(GfuIC%JssR=z>QUKV`H|^V-gM%!u<}oISOu$gPVvS;<_rhu7vBM;Cc}50SSkR z-P_wF942c;y!gY@rT&)ziUJ2lOIk+g` z#woaQF$Y^a!c05Cy)}z_I9#k zAUj^kj*rNwr9j-xo08UCxL7qCp#9h z6O`iOF^e$p(8Crr5J^c6-*B?XG0IQ?^$^*koI9oi;1mg ziKNBEj<{9QVq&yiL$qGExJ}!YNAyspJ!slHp=s}knbt`$?U%r`pEDf~(@Dy7Qp{F( zT$*A+(^J0bd}TV{nNID4(^r~yr)e)`+KZ-rm1$p^?zqx4xYQ?MWD8m_|I=Ylh1!#-eG;Pfi5My$TaAHB^=?(Bw>r~b2I4_qk@Y57KSkD$WRGYvjO^|%lVq6K5w}S)Obn!Zh|KE|w-3AH z2t0W9;+urMlw2>$^-U<(H)3+QxZ)BExd92}1~|Eikej09ro?QaC#4)FlsgT%1xjv# zlY1Q>;_jp5`cSUFlIu^oN3|SAc6XOcIZW(`g;EX^lj{+Z3pN|fu-V|~%gv-*Zzb28 za{Us@^^2Gs_gn*f)G2}7Kqof|a#NMu)R-;w8!3kg<#McwdbcUL+nn4#_&h;hCD)g7 z1C-nV$~~s#FtWS5Lds!cM=X+Zn3!D8ket^mZqN0^5!`eBJAr+aTp!ByPbk+vVsd<1 z1Gzy7v_29bMU3xLjrwA4BY&(TaF^+%M7h zQ^x&hJWv@Ar18!xjZ=P{O~S<1b-N_S#Ew`ji7_$aULoROa{?Ee6X0%h`oseg5)OzM zAupRC9Grk~up^uT!s&`|ddwE`og~D>2)#nse2bLeA}9FRTAZv(u#XeW>je8N!TuB+ zqyz_1@Np@Ki7o36DTs+3u|x`DVuHOxf?l7vP1+kraFhCP5DrWzI51*@_3eQVfL*kKRC)9pcDa8N?QK@mHi4}jj#1b#!E-!%BmRDLsK zwu~R7A13rW3cn@FZ;A6;zXiY3q5S$ezrxOMpz<3?zah$R2>qUvewf&@R!Toi?1*L3 z4-@n28}jq|#qGepI08Emzgpsder<4y-~a!Hm^UdBevy1|#8To-?_mk-hB>?Gu)9&& z-59ea{3z`(q1`92TdM4qI=e%#>#ywkJG+Rp8>H+8(Qc@+8%n!f(hd__)+%X-iOKW} z$pkwKCfHeU@?~zM%#f?dOpcQo60zeu`hQP*cmkW@&So%dW+|IlF(gqXS%z@1^ zWwXrLZ0?H3Xk|0N*%Ws+gO$x-+6+@R!)WuAw86xdwOZO>VmAFlHr{}^UDF>&aM$>M z0Ax@O@r-Lw4*Nz!uVObP&TeP~-!B8?Om9R2y%A0?H}q~&dN;*vnLkTCOsIG1uBf+M z=`DA9Z;Zs_v(g*r^vXHCAxduu^@c0G;ndqL^)Rtz-6i!fvFHOrdcn?u8+H~f-Olp$ z1}nY6)Ejmcy{U0}!y@+mI!5tl>_#TA8|m!wz;3p(n;o-7{vz!#pNckQ|VpLMum9ZuF! zS7DtQ$2uy4@0ZcBV!w__06WIP9s=ww3ig(mE%bK@iwR-(V85=>+*b%EGEG7m!Gz9Ani`%b5aRl}&-XZfZ!Xp&y2*QrO z3ha$>u%jdP{W|)8v2JVv)Ugir2vFxK)Oj&mOVyd4jmtCZ?0r@Co4&R?ZE zoT{Ug>L{v?QL1C8`n*)d#Fn#Bs$ybC+$B{pG1Xxq)nL2A6WbNWzA9ey^;JhI)sa+< zUPX0QoN6>;iD5b}f$2DBdK9MfmFfJLE%A&r#l&vV`wmy&)rxerBQ1gVB}ORH5hNY0 zNJo=&tRfvt(ibEtCKfvhJ2sj$!vCL5QWq0j`WmT=iRlgx>3SpL_Uv%pAoi?(F&?FK zM^SgoRdjEP(;XAB1q|??IE_!>JKp(z3g26m@2xRgz5&bgku8NWE9 zT%&Xyr(DO;b)s^eNY_`SD<*Wc?K;uN-6CBvv9)iIu9%qG=#Z-yjoYrHd4qlV?--6% zykp5b;VQgy<9H`TtTvw8OisW%+3^+u?;^#!C}vCiL-Jxm-h!*ayI%3Gcf1qv4>gZb zykp2aUh$46?R-KQB8i0opW&Rvc(c72496E%LHN!-QyG9AWaC0)-uSp(HV#K{m-)Z7Gf|OEB-xZ}kl}qykm0>e{|6DD z3~196piOsZC4ja}p)HHqGXIolm>618@)|t$ZB}ZVomyMG=Q%;CO`zIjr8b#r)0EmY zs=X%FFtO#_C)F@9wecafV57kcm0{>Mny)rVsZFBV)N82W{Y!j5yr;>HHXEOnN?Y$C~~D6%Oeo36;Flk9a#hKa4_ zeo2OjkxdAZc@yI{+5{ZIjg}0u$%X$AGu$c+KW;(Dk09&EJ zR>W+He@ie->;{w8`J3z>C3cS!yANWMl-MMSO;uu3DKOO#Y8{ zuR^=mp&gurQ&XW$A=-@!_~BoS14JbItuf>3frEeiNI&C7WYn zcjsZ*9209kHPk#f)lnObAmC1QzxfQ+dA#Mj)~o%cLFE*HWhrE3;rfP?J`>hpUvQJ%ix&Uz1bmyV`9Olg@Sw2<4*Ev zI07eSfBtK1Gga`J41Uu!g5w=B1joB({`b4tzue!PAof*&>rrd_vR6q91}}EJ(N5+#}ONe0N^LWUy<=YL3yJ} zej}65zD9DqX@&2HH?sW4SU)+U&rJ}0u8Uq1(eF~x?~2(n)5z$UFnXDdQSW{g{eBmH z_As0bD*DZg{;rIUiQSt=Wpqp|`ixL?Z)V(iJ_AP}IyRgieU^$oi_zy?BRbwrLUg>v z1Oz z3cfaGOH3z&W5VG35d1+E{6QDIA$IdED)=o7{+GB_p{{Kio5)c@8C{Q;&M zaR5*73^>7OtKPHOd+s%QuT#C(#cYM?Wp7N_`ycdv zNcDcm^`4GDqBu|Wp2yyYWp7OE-aIaQV`9B$g?f88#a&Tm;RpoB45Cq5jBYyBH_{>Ox;J3QqrxAR;3cfyOOUxjHW5VEv@VL2M1>f$1f71~sRmQ77 zwa36>%~v4v3G%)K!Nl(E6A}ayyN#PdAi)&}6bJ|&ALJH-+^j%uCdfPo@}IvZJ}+W7 zv>*Y(0*7!02pbf_hL|lYqeQ^O5Rxiy#xwMXmBPbL;ZjeWX-Z)Z6>e1uw^HE)sep;y z-6y32CKhLQNWq&Ew=HJl2yTn?*cNk@!dxoMR|@kZc0;!%P`J%0^n$`hrLZw(%Sx6C zm~boP+#L0GD1;pj;d}hP!_5leW+KchAhyc90=BLN3TXk6jz}a-Y&E+i5+-&Vb3#bL zRsj#T3dr16@sVy(NVgE_R)utH#BOL|0;GiwsW*@|DWpv?TUI8Cgb9%v-yQWHQAm$C zr04OGs<{ejE|KOdr1?a;O(ESzqz@$$CbpWVBoZdp?&c7ZH#cr4-Hao+ll+gk%~MG8 zh_oPtI0_DifMDq7M58uVM3iaY9KnYjpJ~2gnop+NLQKIo0ua6t z(ELwEEl$9+*fHG(rn?o>-7#BO7RiJOnGUs&dXFil#~jlxJl$HL7#5IWkz!axhL0r! zCU$S1mJFC!n_C>iRsPC$Z$IHJI1JCB@N2)fDu-L?u<$Al_7}DnM(mcBBv4r56c$3^ z9;I+k%+{4vDquo|Q&8Bc6m~iV|F5;qSDR%%H_L5G={71YR!WPhbW|!~Vyk&ZDq&*n z<~gPCQ!B5T=L5~-5et;g0_rSMI*TH93riE|EOk0dptD8kY>C-=vPm6Gs59!GsQ0+i zdEDu2!V}M1mCmiyS*UatQfG=Qipr zRyvC#b_>fA=qz(OtDtkQ(z!Qg>&Y&4FfpB^LtF9G`3c4IgyU(659}>aJPXLPNbxKp z&r-#+lsunG9!zXG&q^LlEZ(hQo&|AF2yW#O3l+~o@+?t2OCoj)%M#@uaGQMC;vj8 z{7Y2+CCtBE%#R84XWfSUPpSM*x%{p1S-3?i|03pJs`4*o{uL_!3g$m1^J8N9Uy%7RvHS}| z`Gd0`;c@l@!$13%sQgQq|BeLt?{N8J$bX;8e;@PbmiaMZ{#Abd-75cXmp?z=i(9Pn zFJ}H_D*rO(zg^|Oo%z3z`7yElFUtIwSlmUS{9gCCN9IL5VyVi%l=<&hN$+RUJTfUJ zyj;JqCF(t`iaza%F7Jd>K^0xXqRUm$gn~2+s{jR#0u4O1$(Y`J&Pw# zojz&AlzLbEqZ_MH6+iBJsqo_bLn`eF;Fv)hhjJrhiqY$As5_aQYQ-SKZ}2 z;trMm4yIqF(ywCrHP=qR#--1Q^bf1_4>Ns1nI03S&xZ8RtMt#i^owv?D^=Q+Ona9~ zdl%F0lW8%rv@1esg9|XC;sT7&{ss6>mG(}iU9HltX4s|T^NdKrx|0vTJk?Aq9^hv26 z#E%>=srE0q_Ko`EdZF5{Wc#~R`@7hFooc_1?O&JeG2zuB+`doTqvV}DVzp|&n(f!B z_G{UG!?oLQaP2dp{bQ>AW7gh#Sv7sxHQk6mioZrRTf=7SRkQVM_J(YRi8WgpZq_fZ z*-9R9muhwwo2^sL*0I^fYd72InpMR=a=TMC+sS6HsAjLYX5JWl21+$s%Vrx?vkh!^ zKsLj~nym^qTOGH@SMi87s@WPgTd$g}XR}S$Znnua>x1*`anJnM)pP@!ZdOeVKzE8+#NjVk0uhP+#ayqh8KRUz+X$U`zDCboFb# z5t~)W%?!Ckh1|lBF%>e#kk6=)&oJZx74m=!xfH*_yh(-J#E|!>koPd;Ruyt9L%t_N zVqzgThC&9HP$b0jC}j1|n7dWTyBYFc74lw&+@?ZqW5_)!e#kcVYROf1u;tA%V}pX%AfBkoZl?_tQTD&$s%yibL^k0GB`A)jT) zH&w_tUC6TtdAACAH$&d5Lf*@e+f>MH4EeqciHU{We3g*)Qq*S7x2TL;m@%d@#+dPb zmGORNd`@M2jv3!l8Q*dln~cYEF_rNiX56YWZe_;%RL1+5@dKF=6K>m3MsH%=L(Sbh z;$9W ziHU{0CmeE0T*!NP#8wq@D?{F=Lf*%a52}z4GUN*?Y>jtcpX3z-q0jJ#Kcyq6)j zsgTeyq_T-QXwB=$QM<}7a8(h z74lsdvJYN#+NwfsWyt$f$om-bK^5{rhWto|#Kc108w%-7k2@pp84?peWYXc(p^_=5 zr2kmsPb~G;&;ed7?s?``9DyId@kdPx;fL=BRnZ3{_KhA^MIUC-msQc1WA^p$siN<> zqS^6F{M%H~Z7lkLD*6D6ZdXOOv*=M-6ca1@zATD~EhH8ynv&c@OFZF3U%x0WR({ck zRMCeb_KkL^qB~gh6;xNEo57$sCQr7Il7HUY*#6_N9;R1qEbG>lzUamy)pax_f^XGUCQxY@N4iY<^4?g zkV^RwQ|?eHcQECrG9@OK@`y}{i7n*5P|D!sL`0mN2? zt1^nTBQa;9%`&7z(G5h)>D&-NE@T;cNL073CV(Q0K%Ey@Um`sU@e>ajomMJl@JNjTKr8h6`sndfz;$fBYVWxak zrF=AExA3@1`8ZR)rc%BZv#ni2zG5h+DRmzWD%AfF)`r|6q<4pCX zOofT1`b4I}#O}!UP^w@9BN8?+!ucEc5tZr@rrN1e?TqkEpf&D&iYHaGC)w-`)$EO! z-I1fJ*-_W5EdKWM4t4tN;OX~-YWf75ruyJ2LF{=qCf4*TSsfEQ;!{~26I;r|p&RiQ z#O?KmdBmft`lGD=xT^km#BO1iioJ`m52)A&V)pf)sMw#l*vkju)KIY>VeBVW>?avJ zwTz94rTkjP#>9^JOvc8OsXuk8o8#YLdsL-A)VrA4lc_PWkjG_eOzeoyWok@pDUYbsk8r+IrQXTZ zPpZ^UM(q3VR;hP0^_wd7n=$+P&s6HqTUs69vRGnkNd_jXb3&o+3q( zq`<`g4oN2@1txaHF-d`m-HS&<6y9TTkAaW!h{qMiSG~{luM8Y z20Y4w#($K3LSZ~XjHeXFQxW_6XB5UW#CTg_ydATzKc+B_IgCa4iR5vG@i;MdDU4mj zcv@jRO^mb>0~7ylCVe9@FtH=Plo*)UQg?^;x1E<;|RRwhJOXaf6Z-|GTB9wrB{2*rYlPcy(7xUY3*yb6@>Y)t%HNcvgE#>9^JR>sD}?&Z^=*xoa7XYSKH;#n2@S;l@r#eN}T zw{S$oJ`%I}H!AiwE_OP+Be+M!-ox0>tJu#o_Dd@EON^aG#>T`_{vu;zVn=)@V`E}V zeI^t;IJ1!%XExINXZCX{_H&H=qKf@u#J>JR75l@O&A(N#zjd)s;3E#ts@Tsm_6sWZ z3yl4;iv2QUXO*!r@$Y8RDH$6RJK}p88xvdVo=|LWb=(8o9v<<$iv2uezocTn6tP>_ zTSZ&}_Exd^M+)Pkn9aXa7~eUJS-0SfP#Dh<<3)w>A~9Z37_Sf`o5aAxzne+FN(@Zw zh#w>dCbraP!x+!SU1px;5icl=7l`q)!gx7ixA3aMc$F9*D~yk0_VwQ@jPD)Bd-yju zUQ)4NV(h&t_Fl%$E@NY2DSwl(F|i|ll(8|fr92mk9b9IR8J8KP_b)Rqs@N|w_A4s( zD-rwpeJb`o#y+ZIAC1}9|Da<3;9?&~?3Y#Sml^w275i1j&LLxC;@^#=-(_q}?1-Oa zY)ot^&tE0Bz4HA$=P#+$FERCAm3nW)zW;uedOuTtqEdenv#Seg}UIeq{t~LFtO05B?TsS#Ltof6I<#FisA*%Use<^lj2oH z@oL1r|7(ikHBx-4C_atZ*Z-s_esUBi@cQ3NS5Tx%p?HZDdlkiAQtVe0`$>^YQea}C z&qxYP?1*0^1tzxC7ef@@OL5ox7kR`h3gZ=G>{A%~B6bU}D~#8P@tMN-EM{N-v%>h< zVKnN7OOV2NnHaAsj8}>An!;&w{_AFkT_XK83N57_Tdg*NKrw zVqoIm&7^Y@0~0&qSBZg%E%oKAVA!ShWzJt!6t9xvHAV4S#J>LlMR9->#}vh}n0@^z zMRCee6v1n>dlkiAQtVe0`$_SJqIiQ8c_jrV7W%xTz{HODO;TWDOMT@k6y6`UFJ9ph z`xM4LV!W;}UXR!<98?$wiSdQP_#$Rs|Et3I)nOdQZ{xqJFkU6bYYO8vVjNHy2Z)hR zVqjvaFGvhb?1NZ$#|-zo{tRB*mAC;>(zQ{cnom zH%GAnFH`JO6#Gc=x}tcU6bBW>K~m(G6qs1(KO_YvcEo8(fr%~kRYmbC=dUS>*GO?d zQ5=Za_kT-KyhVzy6vbCD`}*G%#qW;d^1`UMUs3EQ#T$y^4N|saUY)2zNRQ% zBgFwlaex$WDT=p9QBYD~Vxccd3QX*XvyuW6Tk3vAv7hrd6vZ2)cvDfl8L{vGj-q&n z6vq|C@tA%68AWl%QS`z;IdM>>KFHK>tJH5Zbs?D=6AO7+rpCmMI44tMVoQ0=r4Ic= z2HqQSKSaES1Mwbf8~j@{siWQjmHq(JzopW@6|viUSEYZK=})NiCt~*XXI1*MF8#gu z+mUao^lvi#J1YGn0@_u zmHxa-|295heNd%8$n=L)`a?`#RHnzo!u~DOV`4}AA=6`GOF8i0^xm6smz)DQ5b3)_ z@z~3FB0vDXX5A&nmd#dnzEPS0T zjEVL8M;6A!j<_fbV`6vp;I#^SsEaGhK^$t0Cq})uRpYnW_>gLRD8j}cy2kIT#_zN7 zcdGGsF}ve`sK$S!oaOka&tcX0FdG+>jWMx;|H{Ug*b$dxV@&L>zWLwA!3BhcaZdY% zCr45E9aZ=p7Jg3^elNnpAGpFFsKOtx@b{|l_c6QM7ggblu5hv0I3Lt?uq0gL z{TJ+_-usH;eNsdu1tu0cRdLtx%0Hu%gozz-SyEtPYkKRy6y7^=7nHYfAntcJ|AO+a zqIj1ShZV))h~3%|C2)iSKPZ78V)pfyl)xn?uzC*87bWmcNZ=?0K2QQ5P@uRJz{L8d zmI9dA5r0YnOl(bWUrWG4eOz$f#-V0_?QlpL9HPPd%HaKo-QI`F;6obxs0@CL+1FoI z2A7?|Ui|B)?_Ob$HRbJrcVU26at{{}?@1pnVDlr2<_Kv@NE%H1?~vq48cghnza$MN zb}!!fFHLZrA`G^Q4>Q%jPQ9mK-XqKh3g&}|-P%VA<|D%Vq+ouE+1LN6VE%M48zCxl`yG~xzi^JBU|gcPR76Td57Yz zSMTBokhF|?{y*h+SfLyy$`OTfBw{!8u|oNnC_gKdpJVp*e<_r|97^xyxDcu6A29ky zD*8u^euIpTi6u=Vqhn%s^iZg1aFU}Xu0H7N7sY2r{i5%yqVKclhpOm@5xb$Is_0P` z{Y4f1C1y)Wm3)c0e=go)k4->UiFuK8a4t-d3w`4Kk%ST+Bc%}dJWnAjanE1P3t zcl5o`O1#5yXYqSD0?lzp{pKI2<{z;6N2>Wp5xb#JRP#^R{FG{bDrQSbEt_LvxA2c@ z{*P;3b3xSmP&NOM&5x?)N7=lTY>tWD(R8voCU!>;hnffHIcnoPhk)N4@8S8)kErHH z*!*MF{Nsq-(5I^Tr)>VKYW{1?mg33gnAk1+tD67on%BkehJ2)&f5hgWsOF!rd1=`k z6T747WphmIj=mpi?*EQq=wG~lA4i}$-mLSRf2f*&$mT~?^P>^Fq0dzF&)EDo)%>@Z zEhR}d$HZgmK#=@kFw}z zs_17dTJ~x=>_Gz)E1FRj#l-IDk<|aE_dbj}i;v(46vgi+`9(igML%ZIPgT)RBX&c_ zRMBHBdRi4d9kZpRm1i*~b_tWD(PY^i6T71y zhMEUgYt+VB3<1A6UexfLA63ndviWDK`DYQkp)XYPFWCHyYJMhWOGzi2V`8_Eq?#wW z<{#r{*H2aRPucvKYJQB(%gg4N*d5Izn`2^k^rKL7@8h`h{39HJ=BbZGy)=maiHiOS zqkpcVe;%=0`cg&zlF`qq=x1a0^=VYnG%o2v{Oc)4GyZ?urkq0dj{VV$_D#M}Nxxvy z3Nk4s{&z^qER$klxAAc(Y07=@5EG{{0$b9*nDkSX^iw81rjj0u*e!jfl77Xc=Ty>j zG5h+oDrs7mv?yLH|57FUlF2H{WSCg8EHW7;c1Mnel6jxRorOnnggXmU<1GA4CHsuY zzEH`&h}bQCt&)AsWam|~^D+DSbShaomuxqFa{5Xo`-;gb$z+&VvaB*0CU!?Y2_*~8 zGQ`4JhJYz&nV;-)mF#mS`%)$QGGe!MTqQfsWEWJj3o-lp^eS0;m#p5MQSWP&>}w{g zER$hk$+F30nAjcpG?dKyEbc7(6i2wT%zuD6rji|FvaeLKuOfC!CseW%O!kLL_D9UV zK7&e@!6j>t&!T^+9zMS0!^d%z^f;4Nkx4PJq}gRsOze(+7D^hNg@}o>5P?(9LOb;NGzq)K{{NiV9T7h|@T%VI?{*8rvS6?IN1ofFilDs?ci73GjRnAnOw59xTv;!gO_afCbJQ$goTrSm0qjw_wx z5xb>Js{W;z-PbHv*8l&jd>GlcNLKliUH;`uaTclkU%33+T>h_B{;!$;q{@Gi`K!tN znAnnX%KVtvijIZy2b%-ou{nT|vN`9WdyIcE1Y>y`OaUI|XZ z#J)o&RX>xfe*{069amA0GwL@g>Nkv9T}H*k?r1I<6%)IoUtBHf9TxQq9`Ut``88vn zR54FR>=yo1G5?I&eav=c%+%kdykd=!eT&ShW@cBjG5-4KSL$5;%AL!PyL0)3%6@{` zzg5}4W%e2}J0`ZI+%h{RwxTaX*}bpgE+t>$2>(*@8lTi2SNV@K|2HcCHxav~zf}Ie zVs>A%UztBRmoc&LkVVzc;_C11fhQcQ{@19FH?2;p=qDNdI~DyqMz1NOV`2-*Bco$t z_u;Eh^xy)5+_->%z@mS{=qFV46O8_?ivDfHZs~6o{qLCF*BmlBCiWe&s_0n}9X*e$ z-pASd8`b+8_WoY={+_*S$=;aQ8uH5CnAm;%I@H@c9(R&|jU#Z9dnNJj4*5R~pH#t5 zGWd5Y_;(Szsee@Pe`0oLbIRbD*muaLf@fp!R6E2ol~grW_<69oBIfqYAl9~8(B z1gR}SFtIh}lOUMbeLNll2{r&IumQkhAf+70Hwxq%f_$$)zK_^V{i{I!joF>eB|$K; z?~q-AWOtXHzP+PfYNe8zDkqi7NveFORKBCik4oi7s??DxnAk$|OBGCPp(jEr-pROa zaso&Aj|FdVmwc;Gz9q^J3gw50-BPM;>Kxu?^BgL94(uF}Cbou?p_;)tj*d9T(bj5y$C}@%n%}YJkE-U6teINXOl>uj^2k#h6T7cD zRqvec6rYAyKay1RBu4*1MgM`(e^$|dX7qY8Iwlsqpp1@*E##X}bnn}^Q}`Pm@x6-u zJ!Ai*V*eDeTkuqDkFoR0*qGRN$faWE;>n#xbxy<1->FNz}G zw8|l^yT~Yq@9FT9a`=f3rx${8v@{R~Bz5 zi(_KNi^$@bScvaK#e*{+t#Rg~zh4}G&&hw`>?c+HCl)`Yil1Wf->Znn(BG@r9Z9Q1 z(sF|okQ)RO`wn@PSzc#W7Jtw+y)sKrvmce&k2L#5nf*eu-;~*JG;1WyFfp^D(hL(@ z=no+?@5i`Z@&k^5S!bI4tjvC<*{{m%*NENFX=QerX6ck!I+_)fW|-J5%zk6I5yEqs-3Gtm&0z|9?djBSVWw zG)!!zKZnqQjRr1kG!Xh|_zaSd_Nzksm1w6G+Ubbh&^d*6j%XPbT1KK3k!YCMEfiE} z1s&Q5pk-2MnTU2up`9Yy?+WdAqMcP}XNlHKqhVxd#U&ahw$fihXx^!~o%Rck0Gjtx zYX0>3n_~NoY-bePnTXxgdBt{~Y{`l(nQTQR8zy!Og%n#M$95;!GAp*sWcyXI{Ytje zitRMn&MCHYWNWV3Ffz6hk_{7E>8TJ~u-5>Fy#_>M``NMmuGoGj+gZhSHexq*L9tyR zTPDSpiEP(NHcadm3M;n4j;-hVsFy{tWg**ditRVDol$IO$aY?_ohMt1E7^i~9WXJq z>!lhdw$NWgYTj>go9$N|;cvD*Q1hSkpH^z8sdi4Oor~B_{h`$Upju|7mYHhBq#7o6 z3q_P#5vTStKH-*Csb!_w?@H}=s-0D8XQ_5Usa>Gj4blV?TgGo8lVB%713L*qX0jTu zF#9HFl*t*IoL462X>w7ST%<`BWs-#^5ov;nEvBe4De6pK!XNL2X1MT%gA#<#CA~S(QgtdK8x) znAk$DQy$mB1FvmmR}|SvaYj*`A;oz`ah?oiT; zMDg!Jol_#`DDsCA`GX>tmB?j^WK$y9C{jX-U}EbjrbLRl9g=fV)XSk*a**Y$VmV8e z3yS3eSuQD-OJpf6Sun9>oVgZ@2NGPq&ZNL#&!1N?=LvIB!CWNFp9u@Gli|D}~%tC@mE*u{GSF z6mD=AsoE=}US36!mlPKj#YIy5sVM#=#XpMTA5v716qwjD{s>dN5=Zd|kN8`q{+p>& zRpq-pp(ko78_b?Mr>ctWl_6Ro>ZQsNtr+$4sPuW5zKl$diQVUtDt$?p{%@qur_$$R z`b#SPC8qyNrT>fR|5fS#W%`OTJtnq{i{bQ_;?iHl5x6AbZ!Y_v(fvmW{6m4%2?SCH z0-g!vRRVb_P*w_HVt2ii5-7z>P<|CZKjU9k@h>y}-zxs!jGwBkcxN$HS^xeeRg&>B zu@zhj#ZNh1J!Hq@0Vw?Vc<0cM|F4SwFXMX&;(I~-B#WO<#m~q1wq@k=v) z0TsUhMbRov8!TUo}%#O~qcP+afNxHJ1QyCa9av>K0IS3$ShlSr-$#?`2ipvhLFT+XnnYfhut!CQemQ zoiqh`(x}8qOk7na#>BqEU!la_-*G4KUoJ5|XXrm&^i*PxiPI)XoHj_D-Vzs7i3>7u zMVS~AyYJ;x;&LwWUr1b7B`(awsa4|COq@m~PQ%32WMWM0ZvGug9Gu07i?bNP?JUNJ z5BYpBuJNlAYDL^(Fh7Dfc>028~L|AYvijbg+B*4VhcActw9qXn}78^WuvVDCT zRX+{ur&smUvwlrk9}~NURNnvZftNb&Uq?&jS^buH`vTXZBo#l2@zbgJ=@>s_g7_JO z_*pG}Q5C-^<5!jOF|nl;Q}K&2zNg}QjGtD;Ps{ijRQwE#UrWZv#O`70Q2gN3M|Pb0 zpzu%qk&K^4#ZSZd=~evnjGvq!esT~$o5jCQ#lMd6tI7D7*wQMii%(^D@!8oa>P3`L zghEM5D2YPplu$YfWmG~LDO6huVPebhLPB0r-1hJ&gzb?7+as+KN=u;(N+<(`G9?ho z6bNNEp<+s?mA? zwcQTz`=(QU)3I+x)i)#h`j5jI+~aWO1feqrp>tU1hzcEH=&CAoRTsJgK0IAQg)YI+ zX_Nnd6;8=uFCnE(woDlmLVz-bc1mUHPJJHh+qAf2)=@mqJLL@7Q zWI*8k*DMM8X9@b}wEo3a|KjXlP4%zl`oD?47k0hse?9xBQ~lGie@4|mBl~A|{naah znZeKxzgb)kCt>Knq<#}Sl~EaFq(Nq7kQoO4MJkiKNM%cakuAW$>zWSZdWCVlVIRic`F69p$U}CpgQz_MS zO84Mb?Mo@8QdG*QlrmB&vr@`TrEE$m8to~0PnUqo{ zDrHqlS*esGfl`h@39qC&rIJdiB$eu3sr3K9t%8xQua;t}<(Sg-#AmY=Q)x0KE2d;J zWl>C7$dp|%WhYZ3$%Kh5BV&ju*h~PzW&)bOnegXaeWuKcDKnX}DW+^>%9(&EXTXG) zWF1o}#Z=0eyxPj3wlf$FgEGpX3=OiX##z}ohiaUIjT_6xm{{ZFP-8Ds+*U|tV{8Tg zf|W%z&cepoRpabzoGU@&TtQ>JChHoPR*g%uaUIpTj%(bwchoDZ8kc3`Y^rfKHqNOU z=Vaq1vN0ysI8&%`a2}&B&SMmJ=ds^7t7@E;jdQ5RIoLRNg2uUn#(2@yH7=tXmto_& zs&QS{csm-GQ;o~9ady=>I~(UxjdQVaQ`s03Yn(aM*vk@k9%p7_{0@ zs&P&>&Xb^Vo}e*aOm&URs>Ws6xSncU&ov(2KkAiNjmxuf4%IjZ8|PMybF*vQeS3Yc} z{IeDQ#FkfIDb#lg6QEE*DO8|Bwq)_+bhc!>k(^2?CzbLjr94z>E|oB`TgVzx^0LM4 zgsfD;PVlcbIh0ZkD&sTBO)1tzw<21==cQ(7}P z>Qz)q6{(b6DP^ZpE~S)NM=9l@ zQvL)=`2!`q{_2z}D5VNiY9f^|vE?;XN)4UT=pj+Bl2WQfrQAv(Hx=?Jg?v-Ur*H-eRg^*%D&$HQk1M&7?MCt{rMy%spp*(w zskKzX#BL#HNXg3;w^wpf346uAV&zdvd8m|MDdne9p#(~W0wugm>y#=hrOH%lE|oB` ztW0O!=>5O8Gacy!>P;q?ihksjXzf#MY5J#N_3P+fBL2gnw|te=eO*G36suLB&*% zOhpnf74exe`!BBhKd(gbpU*V{|2<-4RTWuPlC_j%nAlRADY9mcY!%*WuCB;Mo{(6uv0#Ob1wVgd;h(GU#quk${1hvs#0pWY zXacdKzF4NPn13DQ2CJsDs!^+z)WXD;*<5KgcUlWaN4*+Ks|L05DXo0eDyXyyQmcs4 zDnhOHQVSDXM&6K?moILA<)s$(mwy>7ptK55tFY24Os(pwcy%l8wNO1kvo&{CUg6vsD^(?}k z#S)zT#r(6MzuC~y|ILOPs(%gkZ>jpXbo~qBMdSjiZvpnbPW8Kv{W{8im{`C3p?+S0 zxbrbT`{8A@lIT}R^((}FMOD9|>=#MUFB0@yVf|{Vel^*zmFm~Z^(&6w&n~F?6=c6+ zs$Vho>m>VOV*Lt)`UU47%HjM&P5=D6k^Ks*eudfZI@Rww_A8#CU-6({M(bBg^{d5x ztyRC)uHS^oKv(?=v0qWOzl(BzM^xVk`*xOnF|ob{Lw&tMapz}2_U*&IMO5D+>|0Fr zEylhj67($*^!>c2zrSm%zO~u6jq2OR^({9ApS)Im3$yQas_%8|TU_-m&c0n_UrelT zp-|u8{6$%uzo_k>zxZP{{{Anj`W9v1i0T_*-|G|fy*}u>#?Ie5s&5_kZL9jWb$yHD zMc*Q-ZxQw_q573zzpk<$Cf2WTsGnCP?))r_et1XxIu-6ZhAXbZ6=%2`5`?=U2sgfq ze`3~E;p#G6I~A^-3%3eatfDGhQHHx-g}a{Ny2)^uSe7E8aKVX(WH|AV(GOQlg)7Ez zB~-W)3|BHixROD*Bs=5ksc`ieuDuG^-i2$3t#X|TcOApspu*k2aNT7%Oe{;$P&n_p zxHGOO!ePgD;2$Q5sD2UlyI%FX9{uobyb|uCH>DDUEER+tYiD466|%mCOzJG3>|N6cNUjP(6~&{xJftvI@(Y*Zpg-6Wn)b2 zu6I(6JGsW4(YWyr@d9e&9rjI%D}&-RD6I@i)1a3$z{GAL5;90R%k7i45ei(d1g@t* zDJ4(}0uU^lAbi;%e1=he_(m#xBZluL!((E%*ja_|?85g%_$DfR6NWFL!k1w9GAeu- zhVL!IV?x?cc&|jJ(U8cvx*3?C% z@8Z%AK>DUCeN(2tUZuaD>C3A0WtqN@Opl4(%@U#XDd)V0=(w^2!ar+Es`Mq9zKlv= zhUv>ENMAlkUwxdPzKKfTgz0<8^qAN^?yAyvb?I+M`erJ9Gp4^mrN4pc%c=C`n7*$} zkBQyQ>qF_i8{*FT>zTfkN?(fU%c}HcnZ81T^c8~irR{>#RHbjq^gU&IOl(cvRQhf% z{T)c(T%~W$^d(jLl1yJ-r7zF){bYJf>~7u=N*|o{h>o)!5cWhwr7z9&` zM4D5iw-mv|mfAy!^l&2cA<|Nbw4_LBB~qFq6_rRuiVTnRCx~Bj64V8+BiAU!u3HntD`js8+ z_iL&8wPe3us$VbH@7&E%ueIven*GWqi>LBslkHAdR(&h8?;zP16Z;NjLVbgC7G-hH zqPBm|j$z;Os&9Grt>pTut4Jke_OBupajyFRRZY;lYS25QJ*2i$y<4$&Z`HfE>z#3K z)N7-9w_)#cs&_f|uA+KZVei4RHzwA*Y^b+aF7A9T%igI!=AR|6pn_Lm@X85-SN4PB zB9Ri@|Nm+UqE`!|qBC zxGDqJND#P25O~%UKX6+WxGe+sQ-S-rz-i}2z4j__dj_tk0#{_<>MC$`1|B8@V`70T zgaQX=Fw)`-Ms7QU&ogjk6}U13S5twjF>uWUfoleVV=Mf??Ns1)4BTG@?(YJhnjiH# zsK6Z|nxD1Sm1+Ewh>{W_8gDWyHK1=RDcdMfMR$<@js&94nt(Bl} zt)MSn*FfL)s&9Mt9iaLSaD8XpiYJGvUuE{IsruDqzY($@Cf2V~s9$h`q8v_8)bvkK zym{vLtE&1{WxpD#Uk&!FouFUspx^GUe!mW?UkCOZsQL{I^{b`&)MB5JvJWQKr*f!| zS0(QJs?0uKMUOkUnkrO{g=(roHCd=mfHTEIdjU#>8%+N~myf2BIy_K=iifo|RnT>Z)*c7OtfV*J9zi z2@2N@3eT}e`A({ECl(&83J-RLvoDQ$T~y&NEL=?$u7<+?Gw-S>Q6K-+QK{=N^=O$I z6Jmx^d)4Aj=Bi9Rkf(AD6}kpP*H)oxGjzQKq3Z>qNA~kKduJ88GeZwip@+E8>kzuD z3f+~V>#BZr*)J;lVPgHNh57}jD#`%|HGM2RZT9~$?wYD!P4=s!`qg2-`U(2g5Bi;) z;rHvJ`gLKyp{n0d*Dv+*sMk&P>&AXHlEtN>MzYnZr~1}o-!ZZ;CiWewU!||T|5P1y z@hrWT%36zA>#D4EnYBTJtPO&!sXO^uyQ-{RnRS@TI?QFQgRI?E*6z$&Q)R7*tp5J5 z?e>3t)we$Tj+K2ev3@mF-x};&TlKBYzV%e!dhFXULEnZ!-vjm>w43VNjeUo!zQbML zBP*g_57oB^`!-P78Zg^9nGF-mR#RoG$!v90wmQsKUuCP$Y>g6RYZPSbZtq8TSJ}EV z+X$6ygv*xU_NdoWW$VdowUfneubpgB8mg=fnRUF(iV1hK%36zA>#D4EnYDq++JIRb zC&=13$U5GhvG-6}dob%rm35@c`plhCub0Z&i&^WataX^Rk;>YLStrP>m{``@Dr;?K zt*5fqW7dW$YeQyjk|1l7AZrf0i1t)jdot@Nm35TM>i@<3-YRQvW^JspHDMH*_tNE)-=fW(|rH2rS93fBbT z{3j0e@yc;+JR9w!iu7TTF{;QISESwsyg#c}+>9%pB3F!wt+;+@#lf>@tkr*d!xcAD zD{jOUH&rWciWTGeVPCb-zFcVk9r3EcsoH;seSO0#)Ps3Lsy9~+nzO-F*#Hx}g$AJp z-ln)uxiw&e#;QSMHfW|AG-HE)szECafH8Ff#6v z(U1+As0K~gpt)+$91Z+4znMGp`>PoJ8DpS|F_1ADs~C+Lqos<`k};;s7?@a$Mxhuf zo5FtNX~YywRf?ue(L$wYffU#h15|+lEHFqF7{mfiRDmWe&`K3(#R4;A0Zi;3HdX~1 zvp_RdpcxCaR0UeHz(7@CAPY2AD{RUYwpJ@_%@xj+E5yWB*d(+ycrkTQZ2M47urTGv<(*O)3$cBL)40gaK%&9il?|0kH(7IsTH^5if@uD#>7_K zJiOwiaVK+guDF$2aVxI4ty*zgtQfRI)k24Ip;OgDr@DpC!(Y#CuNK;#3!N<&iizEg z7U6}ih+Ak2F0{2;XlpLComyx+E_9e$=rAsHnp)^Ix6l?4ZIvvZ)3i#qWpq#>Ixxf> z83Ggg4lTnWTE&HE$q?<;Lfdnp!_`8EbD`7KLZ_#QVxg_oLR)j89o0fRa-lcNg<@h0 zZ53K*aMi*Ran-`I{Zq585^qcK4k|+YFU$hRb#Ue?hpD%F>Bh=E^LX*rHp9vUqLc{97|iJC&s!vvgEh zIx6yRx-1XM1_tx6|!klm4x?SB})5TCa0Hq&8 z>1R>?5R_UBr4~?zQ4~oOrD_n0U!f-)vQ~u1td$xJr3O&mXDIIjrH%uoj*n6#;B{mu z9f8uHq4c*X=38;AvjeO;4zSt`tv1kxQ#46%_ynPO)uXJWYCx;W&}ss$7DKBAw7L$o zx;|RbfY*tkbpqM|hBm;W)fcoH46O#x>M*oAKpR2PBvG{LL1>XHO}J#G387hOwHZon zpwx4q)bmk_$=9nelmJi$GL(T9Wr3j7jE3TWk)Z_o3)f{Rb%8RHqDZ3ug&IL9Ud<>g zsRmH$FqAq#sqa9k@1qnCc%2zaXP^vXD1$7@6G5rRhOUR9N711r(V=Sw4IQ}>WL#MZ zLSR-xEq3_S!r@bwq0|LR0|!b2AEiXV>%vgF0A(;k8EjFSG?EW*7)pJhjHW1(=*aH{ zp?L2{Sqbj}r8YyU4U~Eer5;ckI#3$=C?x}4SBBCRC_@;^5R0-)P#Q3l20$4@Q6y26 z_k&O(SBh}RN)aNnQtB|2IzXw;qfHIV!47Df~8_On_fSl*n zPM`xdWM~b6HkP7EV*U$Z!@UqU+cNLPm_+}LTA^5blp0GAzY>mJ+j%^< zXK3|-)`+1s0$NiCT2miQ&bq@HS~$=~FtiaCEmu={d!C^+0onwLCW)erqG*yRTHO$6 z-Uz*6UR|&?U~CP*)|jz123s=+TQi?c&dYl;ww_=c$=F6(wwrQ6R#V2-6l@bInnlYAUV3|Z&BvFJ_-Jxw-ix920@`SXHrk>ETFS=(46QlP zCQ~#?6m2X;lSI)Pgh2Bq=vrz3wq}f_8CY66SX%lla&F$6vGfMZ7{)TjvTPBS7L26@ zSf)@GNt9(AWsyW#8irz-s4NY^(uA$1CRk0)8C!F(wQ{hvGHh|=&bhA!ygrPr57@>s zwy~D&o_vXU;{@cKtZ@Rocb!tsjLfC0Etzji_)ew1lBn-^>MM!*HVWaZ$7&H#m+AI}?l`79&g#A=U%1?a={B*tsjO}*rrQd-)2OZ_syl(| zN}{@rL+ELarm~ezUFRG{g`h*_>O13+C5F}kXmcoH0OE>>kU~9|R+JdbEW9tC6fP*by*~~qL zhBCIHV4KF+rdhT+!q$ngbpqQw$|i}j&7f?OC|m0gZ2IKT8ffhpT05Y1WN00M*4cs9 z*`k?S{tRPi!+_t@l+ogGFpw2?rY#n5J1w6ucOApv4xGO{L3e-gu zRT4#=Ls2Esf1^D^Z4cB=47C$byD-!)K<(~8?QT%z{MEceBX<$^Mlsk?fSt`?XZt&! zz;>LI=$HETiBG1DNwi95xGuZBcT|!|cQP_DDRuYBn$Y47Hwljn64A^cAwwu73rC8Ix z$P0G}hg)HLGjDGU6CMNMxlDMj6+S4!0VW)Pa1SQj1HwzGup}xxp9)K&!kt10d-L@9 zsS}L5Fyk&T?#_(6!?+yYo9XEg?rDYXjkvwBOn5AW=P}`VR=AveXLV;L+!?~*OgJ3E z%c!sKWT_D_(3HOBXaw;r|3NNI>lBjU!5W;%0&>6nnm~S`uhBM!A z_>>-BAzZHFVX)l++uOpj?`P~SzH-TU8Tp^`fv{DSSrQ$x8$;{{#Bhcf4#Zvzu@?~g zIuQF>M0;OsZxTbC1jNM*aj``-cPHw>5PJZzj{~ufK{Owd2;pi zQ%~mE6Q2F7XYkpN?rQx6QZ7qeO9ds-M=bZ)g^QA?ad-%0{WroP+=~hKf^c6Z+*gEU z=N#aG9bjSYt)soE40bADmoeC77IvG!Mlje2!1iab{QGCS1{uh z*0`s9sbX(t+#ALNnejjvZ=lAKsPQUlEQuQT3Sq4KLN5sSWx{qCJ2SIxy)s{rHS5s|C zRJ%9R?hWmJOuHYn2Quw}qAk1d5C`%QgB%~XPnMhU>g|+!%m1FqfM)`D6$4&nflCPR zUQb4+#4+!u}u}#0Uq0aHxZDs3DY{!@LAAgtHjk zEYPiHbgM00`o7W|qZRoXwzS18NO}T4SLy3e->rH55==D3l}$wT?nbqQ7WA2GtKx0~ypnKn-C~LjX10 zvBHL%6=p8dlrLhK!_ejcZ7oAvYtb$W+AxMT3}{;^nk0(0o}x*jX#E*lf1nLwXoG+@ zl%Wj;+6V{Q2#Y2+4EE+Sw7EcA$I#YUvvNfd1$LmLRR zAq;H@(1tU#;euv%_JQ_{Wt2m2l+}}a0DJS9-hAk7V0s&@UNw2$J(B5-gx(ISCyDB9 zqI#03-XNwo2zo=A-caa`V0t60-XNd75`y#-8f0rWO9y^U6{tmutmdZVDX zlj=#LdYh@9B&s)<=?#Y7Fs3&QdLxXqWp3 zywMD8G|+ZYG)WX~3q_MehZ+(B&10(4F%c=hBg9dqZ!(0K{NZ@NPDD? zbLfq;dU8WwZ!yzb481K(Z;RD4_nsQd^u|JO57m=I^|nzxNmOqb(;Ei8kxXwS^u{o~ zF;;Js)f?~78*laGX1(4LrndxoTbbTgt2bz{JjW*Z|IbQwU5rSelaFJ%Pn)z z+o`T3`fm&mq3f;Hmtn)g}R>lBnLO5PIGQJ<>