From ba54a79a4a71829537c36307d725572251efb961 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 29 Jul 2018 16:34:39 -0400 Subject: [PATCH 01/65] Update gem dependencies --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0f2d1325..9708a713 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -28,7 +28,7 @@ GEM ffi (1.9.25) fspath (3.1.0) highline (1.7.10) - html-pipeline (2.8.3) + html-pipeline (2.8.4) activesupport (>= 2) nokogiri (>= 1.4) i18n (1.0.1) @@ -63,14 +63,14 @@ GEM rack (2.0.5) rack-protection (2.0.3) rack - rack-test (1.0.0) + rack-test (1.1.0) rack (>= 1.0, < 3) rake (12.3.1) rb-fsevent (0.10.3) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) rr (1.2.1) - sass (3.5.6) + sass (3.5.7) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -107,18 +107,18 @@ GEM strings (~> 0.1.0) tty-screen (~> 0.6.4) tty-which (~> 0.3.0) - tty-screen (0.6.4) + tty-screen (0.6.5) tty-which (0.3.0) typhoeus (1.3.0) ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) - uglifier (4.1.14) + uglifier (4.1.17) execjs (>= 0.3.0, < 3) unicode-display_width (1.3.3) unicode_utils (1.4.0) unix_utils (0.0.15) - yajl-ruby (1.4.0) + yajl-ruby (1.4.1) PLATFORMS ruby From 4bc4d24e3fb37b3bc2c5c6ed35fe99240e173005 Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Mon, 16 Jul 2018 11:15:33 +0200 Subject: [PATCH 02/65] Add a .editorconfig file This commit adds an .editorconfig file: it ensures that the coding conventions of DevDocs (https://github.com/freeCodeCamp/devdocs/blob/master/CONTRIBUTING.md#coding-conventions) are applied. Learn more about the .editorconfig file format: https://editorconfig.org/ --- .editorconfig | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..73db316c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true From 6f4f3485a4939edfb3c7c658b3510f49806ac741 Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Sun, 29 Jul 2018 16:56:35 -0400 Subject: [PATCH 03/65] Add pygame documentation --- lib/docs/filters/pygame/clean_html.rb | 104 ++++++++++++++++++++++++++ lib/docs/filters/pygame/entries.rb | 35 +++++++++ lib/docs/scrapers/pygame.rb | 26 +++++++ public/icons/docs/pygame/16.png | Bin 0 -> 6782 bytes public/icons/docs/pygame/16@2x.png | Bin 0 -> 10305 bytes 5 files changed, 165 insertions(+) create mode 100644 lib/docs/filters/pygame/clean_html.rb create mode 100644 lib/docs/filters/pygame/entries.rb create mode 100644 lib/docs/scrapers/pygame.rb create mode 100644 public/icons/docs/pygame/16.png create mode 100644 public/icons/docs/pygame/16@2x.png diff --git a/lib/docs/filters/pygame/clean_html.rb b/lib/docs/filters/pygame/clean_html.rb new file mode 100644 index 00000000..5e81fe2c --- /dev/null +++ b/lib/docs/filters/pygame/clean_html.rb @@ -0,0 +1,104 @@ +module Docs + class Pygame + class CleanHtmlFilter < Filter + def call + + @doc = at_css '.body' + + if root_page? + # remove unneeded stuff + at_css('.modindex-jumpbox').remove + css('[role="navigation"],.pcap, .cap, .footer').each do |node| + node.remove + end + # table -> list + list = at_css('table') + list.replace(list.children) + list.name = 'ul' + css('tr').each do |row| + row.name = 'li' + row['class'] = '' + end + return doc + end + + # remove unwanted stuff + # .headerlink => ΒΆ after links + # .toc => table of content + # .tooltip-content => tooltips after links to functions + if toremove = css('table.toc.docutils, .headerlink, .tooltip-content') + toremove.each do |node| + node.remove + end + end + + # Remove wrapper .section + section = at_css('.section') + definition = at_css('.definition') + definition['id'] = section['id'] + section.replace(section.children) + + # Format code for it be highlighted + css('.highlight-default.notranslate').each do |node| + pre = node.at_css('pre') + node.replace(pre) + # gets rid of the already existing syntax highlighting + pre.inner_html = pre.inner_text + pre['class'] = 'language-python' + pre['data-language'] = "python" + end + + # change descriptions of functions/attributes to blockquote + css('.line-block').each do |node| + node.name = 'blockquote' + end + + # change functions + css('.definition').each do |d| + + # the header is the function/attribute name. It might look something like + # this: + # pygame.image.load() + # It'll end up being something like this: + # pygame.image.load(filename) -> Surface + # pygame.image.load(fileobj, namehint="") -> Surface + + header = d.at_css('dt.title') + if d['class'].include?('class') or d['class'].include?('module') + header.name = 'h1' + @section = header.content.strip + else + header.name = 'h3' + end + # save the original header + initial_header = header.content.strip + # save the real name for the entries + header['data-name'] = initial_header + # empty the header + if header.name == 'h3' + header.inner_html = '' + end + # to replace it with the signatures + next_el = header.next_element + signatures = next_el.css('.signature') + signatures.each do |sig| + sig.name = 'code' + if header.name == 'h3' + sig.parent = header + # the signature don't contain pygame.module. I think it's better + # to display them, as it avoids confusion with methods (have a + # look at the pygame.Rect page) + if initial_header.start_with?(@section) + sig.content = @section + '.' + sig.text + end + # seperate the signatures on different lines. + header.add_child "
" + end + end + end + + doc + end + end + end +end diff --git a/lib/docs/filters/pygame/entries.rb b/lib/docs/filters/pygame/entries.rb new file mode 100644 index 00000000..5d589a63 --- /dev/null +++ b/lib/docs/filters/pygame/entries.rb @@ -0,0 +1,35 @@ +module Docs + class Pygame + class EntriesFilter < Docs::EntriesFilter + def get_name + return 'pygame' + end + + def get_type + at_css('h1').content + end + + def include_default_entry? + return false + end + + def additional_entries + return ['pygame'] if root_page? + + entries = [] + css('h1,h2,h3').each do |node| + parentclass = node.parent['class'] + name = node['id'] + if not name + name = node['data-name'] + elsif parentclass.include?('function') or parentclass.include?('method') + name += '()' + end + name = name.sub('pygame.', '') + entries << [name, node['id'], nil] + end + entries + end + end + end +end diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb new file mode 100644 index 00000000..8dcc4515 --- /dev/null +++ b/lib/docs/scrapers/pygame.rb @@ -0,0 +1,26 @@ +module Docs + class Pygame < UrlScraper + + self.type = 'simple' + + self.release = 'v1.9.4.dev0' + + self.initial_paths = ['py-modindex.html'] + self.base_url = 'https://www.pygame.org/docs/' + self.root_path = 'py-modindex.html' + self.initial_paths = [] + + self.links = { + home: 'https://www.pygame.org/', + code: 'https://github.com/pygame/pygame' + } + + html_filters.push 'pygame/clean_html', 'pygame/entries' + + options[:only_patterns] = [/ref\//] + + options[:attribution] = <<-HTML + © Pygame Developpers. + HTML + end +end diff --git a/public/icons/docs/pygame/16.png b/public/icons/docs/pygame/16.png new file mode 100644 index 0000000000000000000000000000000000000000..f6edae5900951559787169e71bed46ea86cc324e GIT binary patch literal 6782 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 Nxj49!Pb^=T@IUEajA;M> literal 0 HcmV?d00001 diff --git a/public/icons/docs/pygame/16@2x.png b/public/icons/docs/pygame/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9ef9a9e713961590bcc26fbec51230a6b5ffa34c GIT binary patch literal 10305 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 Date: Sun, 29 Jul 2018 17:16:32 -0400 Subject: [PATCH 04/65] Finish Pygame scraper --- assets/images/docs-2.png | Bin 17646 -> 18350 bytes assets/images/docs-2@2x.png | Bin 42718 -> 45073 bytes assets/javascripts/news.json | 3 ++ .../templates/pages/about_tmpl.coffee | 5 ++++ assets/stylesheets/global/_icons.scss | 1 + lib/docs/filters/pygame/clean_html.rb | 20 ++++++------- lib/docs/filters/pygame/entries.rb | 28 +++++++----------- lib/docs/scrapers/pygame.rb | 12 ++------ public/icons/docs-2.pxm | Bin 1215418 -> 1247113 bytes public/icons/docs-2@2x.pxm | Bin 1320761 -> 1358142 bytes public/icons/docs/pygame/16.png | Bin 6782 -> 791 bytes public/icons/docs/pygame/16@2x.png | Bin 10305 -> 2311 bytes 12 files changed, 32 insertions(+), 37 deletions(-) diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index d096eaa23f1472bc809063bc3a1207dccfd1ef0d..dfc88c6809a0cc93746f3bb243ecf43b01327ef3 100644 GIT binary patch delta 8925 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 VkUkbM<9`C&M+J5HT3NH;{{v>9`Aq-- diff --git a/assets/images/docs-2@2x.png b/assets/images/docs-2@2x.png index 961063eb6877de1b67fa924c09c5ef10dc7a9379..07c8c9d43066c84349dba73945b47f712a481c60 100644 GIT binary patch delta 12920 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 AM*si- delta 10547 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" + ], [ "2018-07-08", "New documentations: Leaflet, Terraform and Koa" ], [ diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index fef9a024..b3047573 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -545,6 +545,11 @@ credits = [ '1996-2018 The PostgreSQL Global Development Group
© 1994 The Regents of the University of California', 'PostgreSQL', 'https://www.postgresql.org/about/licence/' + ], [ + 'Pygame', + 'Pygame Developpers', + 'LGPLv2.1', + 'https://raw.githubusercontent.com/pygame/pygame/master/LICENSE' ], [ 'Python', '2001-2018 Python Software Foundation
Python is a trademark of the Python Software Foundation.', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index d7e24591..546cc26e 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -173,3 +173,4 @@ ._icon-babel:before { background-position: -2rem -3rem; @extend %doc-icon-2; } ._icon-leaflet:before { background-position: -3rem -3rem; @extend %doc-icon-2; } ._icon-terraform:before { background-position: -4rem -3rem; @extend %doc-icon-2; } +._icon-pygame:before { background-position: -5rem -3rem; @extend %doc-icon-2; } diff --git a/lib/docs/filters/pygame/clean_html.rb b/lib/docs/filters/pygame/clean_html.rb index 5e81fe2c..8ef7d2d6 100644 --- a/lib/docs/filters/pygame/clean_html.rb +++ b/lib/docs/filters/pygame/clean_html.rb @@ -2,23 +2,21 @@ module Docs class Pygame class CleanHtmlFilter < Filter def call - @doc = at_css '.body' if root_page? # remove unneeded stuff at_css('.modindex-jumpbox').remove - css('[role="navigation"],.pcap, .cap, .footer').each do |node| - node.remove - end + css('[role="navigation"],.pcap, .cap, .footer').remove # table -> list list = at_css('table') list.replace(list.children) list.name = 'ul' css('tr').each do |row| row.name = 'li' - row['class'] = '' + row.remove_attribute('class') end + at_css('h1').content = 'Pygame' return doc end @@ -26,11 +24,7 @@ module Docs # .headerlink => ΒΆ after links # .toc => table of content # .tooltip-content => tooltips after links to functions - if toremove = css('table.toc.docutils, .headerlink, .tooltip-content') - toremove.each do |node| - node.remove - end - end + css('table.toc.docutils, .headerlink, .tooltip-content').remove # Remove wrapper .section section = at_css('.section') @@ -43,7 +37,7 @@ module Docs pre = node.at_css('pre') node.replace(pre) # gets rid of the already existing syntax highlighting - pre.inner_html = pre.inner_text + pre.content = pre.content pre['class'] = 'language-python' pre['data-language'] = "python" end @@ -97,6 +91,10 @@ module Docs end end + css('> dl', '> dl > dd', 'h1 code').each do |node| + node.before(node.children).remove + end + doc end end diff --git a/lib/docs/filters/pygame/entries.rb b/lib/docs/filters/pygame/entries.rb index 5d589a63..94c171b6 100644 --- a/lib/docs/filters/pygame/entries.rb +++ b/lib/docs/filters/pygame/entries.rb @@ -2,33 +2,27 @@ module Docs class Pygame class EntriesFilter < Docs::EntriesFilter def get_name - return 'pygame' + at_css('h1').content.remove('pygame.') end def get_type at_css('h1').content end - def include_default_entry? - return false - end - def additional_entries - return ['pygame'] if root_page? + return [] if root_page? + + css('h1, h2, h3').each_with_object [] do |node, entries| + name = node['id'] || node['data-name'] - entries = [] - css('h1,h2,h3').each do |node| - parentclass = node.parent['class'] - name = node['id'] - if not name - name = node['data-name'] - elsif parentclass.include?('function') or parentclass.include?('method') - name += '()' + if node.parent['class'].include?('function') or node.parent['class'].include?('method') + name << '()' end - name = name.sub('pygame.', '') - entries << [name, node['id'], nil] + + name.remove!('pygame.') + + entries << [name, node['id']] unless name == self.name end - entries end end end diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb index 8dcc4515..9da3148d 100644 --- a/lib/docs/scrapers/pygame.rb +++ b/lib/docs/scrapers/pygame.rb @@ -1,15 +1,8 @@ module Docs class Pygame < UrlScraper - self.type = 'simple' - - self.release = 'v1.9.4.dev0' - - self.initial_paths = ['py-modindex.html'] - self.base_url = 'https://www.pygame.org/docs/' + self.release = '1.9.4' self.root_path = 'py-modindex.html' - self.initial_paths = [] - self.links = { home: 'https://www.pygame.org/', code: 'https://github.com/pygame/pygame' @@ -20,7 +13,8 @@ module Docs options[:only_patterns] = [/ref\//] options[:attribution] = <<-HTML - © Pygame Developpers. + © Pygame Developpers.
+ Licensed under the GNU LGPL License version 2.1. HTML end end diff --git a/public/icons/docs-2.pxm b/public/icons/docs-2.pxm index 7549a0ab79b870050c8d93d9a7155786971f00ca..82696ea88a4f56231a4308d9bf3c30a148373556 100644 GIT binary patch delta 43578 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 delta 33831 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 diff --git a/public/icons/docs-2@2x.pxm b/public/icons/docs-2@2x.pxm index ea8fee7ca032b0149ec9ad15523e74dff954bcf3..7bb215b3fad609397247b99775e2c3e1b8aeb36b 100644 GIT binary patch delta 46377 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 wPy7j&Fc1M^;^yAcbe7jHLE{psz)HkkDD$~ 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

1dWr2@jk8$db8;4Mpw% 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 diff --git a/public/icons/docs/pygame/16.png b/public/icons/docs/pygame/16.png index f6edae5900951559787169e71bed46ea86cc324e..bf491003e2acd88c1188b9d366be3ac078f1f4d3 100644 GIT binary patch delta 768 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 Nxj49!Pb^=T@IUEajA;M> diff --git a/public/icons/docs/pygame/16@2x.png b/public/icons/docs/pygame/16@2x.png index 9ef9a9e713961590bcc26fbec51230a6b5ffa34c..10d68ab4bc9b303aff1c1f1f6f508b7ef7b4a95a 100644 GIT binary patch delta 2300 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 Date: Sun, 29 Jul 2018 17:20:43 -0400 Subject: [PATCH 05/65] Add Bash documentation --- .../templates/pages/about_tmpl.coffee | 5 ++ assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_bash.scss | 22 ++++++ lib/docs/filters/bash/clean_html.rb | 63 ++++++++++++++++++ lib/docs/filters/bash/entries.rb | 56 ++++++++++++++++ lib/docs/scrapers/bash.rb | 21 ++++++ public/icons/docs/bash/16.png | Bin 0 -> 1486 bytes public/icons/docs/bash/16@2x.png | Bin 0 -> 2210 bytes public/icons/docs/bash/SOURCE | 1 + 10 files changed, 170 insertions(+) create mode 100644 assets/stylesheets/pages/_bash.scss create mode 100644 lib/docs/filters/bash/clean_html.rb create mode 100644 lib/docs/filters/bash/entries.rb create mode 100644 lib/docs/scrapers/bash.rb create mode 100644 public/icons/docs/bash/16.png create mode 100644 public/icons/docs/bash/16@2x.png create mode 100644 public/icons/docs/bash/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index b3047573..88298882 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -115,6 +115,11 @@ credits = [ '2010-2016 Jeremy Ashkenas, DocumentCloud', 'MIT', 'https://raw.githubusercontent.com/jashkenas/backbone/master/LICENSE' + ], [ + 'Bash', + '2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.', + 'GFDL', + 'https://www.gnu.org/licenses/fdl-1.3.en.html' ], [ 'Bluebird', '2013-2017 Petka Antonov', diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index 4500f90f..e0d85477 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -35,6 +35,7 @@ 'pages/angularjs', 'pages/apache', 'pages/async', + 'pages/bash', 'pages/bootstrap', 'pages/c', 'pages/cakephp', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index f7321135..251d83e9 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -35,6 +35,7 @@ 'pages/angularjs', 'pages/apache', 'pages/async', + 'pages/bash', 'pages/bootstrap', 'pages/c', 'pages/cakephp', diff --git a/assets/stylesheets/pages/_bash.scss b/assets/stylesheets/pages/_bash.scss new file mode 100644 index 00000000..c22d0493 --- /dev/null +++ b/assets/stylesheets/pages/_bash.scss @@ -0,0 +1,22 @@ +._bash { + // The page title is always the first element on the page, but not always the same type of element + // The exception is the homepage, where the links element comes first + > *:first-child:not(._links) { + @extend h1; + @extend %lined-heading; + } + + dl > dt > code, + dl > dt > kbd { + @extend %note, %note-blue; + display: block; + padding: 1px 7px 2px 7px; + margin: 28px 0 14px 0; + font-weight: bold; + font-family: $baseFont; + } + + th[align=left] { + border-left: 1px solid #d8d8d8; + } +} diff --git a/lib/docs/filters/bash/clean_html.rb b/lib/docs/filters/bash/clean_html.rb new file mode 100644 index 00000000..d35bac63 --- /dev/null +++ b/lib/docs/filters/bash/clean_html.rb @@ -0,0 +1,63 @@ +module Docs + class Bash + class CleanHtmlFilter < Filter + def call + # Remove the navigation header and footer and the lines underneath and above it + at_css('.header + hr').remove + line_above = at_xpath('//div[@class="header"]/preceding::hr[1]') + line_above.remove unless line_above.nil? + css('.header').remove + + # Remove chapter and section numbers from title + title_node = at_css('h1, h2, h3, h4, h5, h6') + title_node.content = title_node.content.gsub(/(\d+\.?)+/, '').strip + + # Remove the "D. " from names like "D. Concept Index" and "D. Function Index" + title_node.content = title_node.content[3..-1] if title_node.content.start_with?("D. ") + + # Remove columns containing a single space from tables + # In the original reference they are used to add width between two columns + xpath('//td[text()=" " and not(descendant::*)]').remove + + # Add id's to additional entry nodes + css('dl > dt > code').each do |node| + # Only take the direct text (i.e. "

Hello World
" becomes "Hello") + node['id'] = node.xpath('text()').to_s.strip + end + + # Fix hashes of index entries so they link to the correct hash on the linked page + css('table[class^=index-] td[valign=top] > a').each do |node| + path = node['href'].split('#')[0] + hash = node.content + + # Fix the index entries linking to the Special Parameters page + # There are multiple index entries that should link to the same paragraph on that page + # Example: the documentation for "$!" is equal to the documentation for "!" + if path.downcase.include?('special-parameters') + if hash.size > 1 && hash[0] == '$' + hash = hash[1..-1] + end + end + + node['href'] = path + '#' + hash + end + + # Fix index table letter hashes (the "Jump to" hashes) + css('table[class^=index-] th > a').each do |node| + node['id'] = node['name'] + end + + # Remove the rows with a horizontal line in them from the index tables + css('td[colspan="4"]').remove + + # Remove additional text from menu entry and index entry cells + css('td[valign=top]').each do |node| + link = node.at_css('a') + node.children = link unless link.nil? + end + + doc + end + end + end +end diff --git a/lib/docs/filters/bash/entries.rb b/lib/docs/filters/bash/entries.rb new file mode 100644 index 00000000..3489020f --- /dev/null +++ b/lib/docs/filters/bash/entries.rb @@ -0,0 +1,56 @@ +module Docs + class Bash + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('hr + a + *').content.gsub(/(\d+\.?)+/, '') + + # Remove the "D. " from names like "D. Concept Index" and "D. Function Index" + name = name[3..-1] if name.start_with?('D. ') + + name + end + + def get_type + return 'Manual: Appendices' if name.start_with?('Appendix') + return 'Manual: Indexes' if at_css('a[rel=up]').content.include?("Index") + "Manual" + end + + def additional_entries + entry_type = { + "Function Index" => "Functions", + "Index of Shell Builtin Commands" => "Builtin Commands", + "Index of Shell Reserved Words" => "Reserved Words", + "Parameter and Variable Index" => "Parameters and Variables" + }[name] + + # Only extract additional entries from certain index pages + return [] if entry_type.nil? + + entries = [] + + css('table[class^=index-] td[valign=top] > a').each_slice(2) do |entry_node, section_node| + entry_name = entry_node.content + + page = section_node['href'].split('#')[0] + hash = entry_name + + # The Special Parameters page has multiple additional entries which should link to the same paragraph + # Example: the documentation for "$!" is equal to the documentation for "!" + if page == 'special-parameters' + if hash.size > 1 && hash[0] == '$' + hash = hash[1..-1] + end + end + + # Construct path to the page which the index links to + entry_path = '/html_node/' + page + '#' + hash + + entries << [entry_name, entry_path, entry_type] + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/bash.rb b/lib/docs/scrapers/bash.rb new file mode 100644 index 00000000..feb0ddce --- /dev/null +++ b/lib/docs/scrapers/bash.rb @@ -0,0 +1,21 @@ +module Docs + class Bash < UrlScraper + self.type = 'bash' + self.release = '4.4' + self.base_url = 'https://www.gnu.org/software/bash/manual' + self.root_path = '/html_node/index.html' + self.links = { + home: 'https://www.gnu.org/software/bash/', + code: 'http://git.savannah.gnu.org/cgit/bash.git' + } + + html_filters.push 'bash/entries', 'bash/clean_html' + + options[:only_patterns] = [/\/html_node\//] + + options[:attribution] = <<-HTML + Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ Licensed under the GNU Free Documentation License. + HTML + end +end diff --git a/public/icons/docs/bash/16.png b/public/icons/docs/bash/16.png new file mode 100644 index 0000000000000000000000000000000000000000..2dbb2ebd62ff6757d8d8a78bbca26f66569d590d GIT binary patch literal 1486 zcmaJ>drT8|9KTrs!(f9UikijqKpE-UyK60_H)^RAgh&Y@8!Xwd*WLk5?cMF}SPz1O zVPsKfaDr3D%-$i<2|gCsLZUpU#${**IHwtCK$jp;V3T&#-mVC^KgKS(`#tjce7>(w z?qE*#j_}a+p#T7cXJ(jkr8Oe(t_qgE8)rmZTGsJt1^jNhhnhOe$Go&nRcf-R0SNwsMC}M?i*cV6uQo0#1_0LBY9~;xIuE&Ff;)K5z{~;5>wP z=%J@c6_|6tRGKA0jWSVTLs1me>XfJ^Nv+bn3aSuP10y;ZMHC2%p$Mizz=a2rqOn8~ zmTO91h$Wr$Pzld77!12yE~QJYq}gH^)#-FFqJmW_g@jOWWfYGK3W|$eR4|d8jkPnp zou)D(jw4o{(q>`xrFBUT=H4I|0&Gn zl`$loOLBB6Ym)|76dMS|V5uyL^E8`B(|Z@Ym{UUYG*?11U~1}o*T7fu?G!<~xP*C* z*^FgU9FJ2rGSj4oBo(FIPGH7#1VvORVocwzM$t5l(YRHehHBBIByA$1(&`quCfZi& zBq@H8OFZME%W?yDa57S46Uo}&C5d#Fc7pR|WAf++)T5`uf$f^_Ic@oASc% z_}=z!Z5SMJH5FF*cBOh^yH^>iu>-xwMze$AZ6jDzYR!S#ipFIkilT+0U~h1y5@V~ z_Muzi!Ih0|RHXwaqx_yJTX4;l+RvEgJLkL;l`nNn>i{)8;sq2t+%tYvwOvAQJkF|s`PA?l6Cj z?XT*6|Hq1u@`v)M4f5-4t%Dy=4~!*NbRf@-?D^bUs(HO;{|B||a~VFua?fJ*h!2OF zw0#>-h~B@()JX}4Q;uC=Glc$Q*YjJtqkcNl*ycYo*7(FV6Yi&pQO}-VI;JmwTm2w3 z@r7&+j&Cv*ru>}ctL~x(N{__px~_`t&hSYEWr3_$CqENEQ$;KVKdXRP0iaa)&Bqwf=e6# literal 0 HcmV?d00001 diff --git a/public/icons/docs/bash/16@2x.png b/public/icons/docs/bash/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b9456a24e7323dd9b80e26d84db1e069061b8b20 GIT binary patch literal 2210 zcmaJ@eK=J49v@+iw@}_mr=g_GyD2l7q!}->8d+?tm)0?JFpp-=F>_>0+QwT#U8F=S zA?b=$d5cxvCM9(hm*sJVHfr;%P}(S6ceH8mAJ;w4bI$MO`FuX#x6dCZ&D+aeSIb-r zgTd%>JlH>Brd{& zA_X2YG2|=r^5e;(cyvC_c{kuBWhe!N5DEfP;USTPA!Xt|=`xi25JLv>6&5=r>*#i_3nMNehiDVL|c1S~6pVQ>t}#3?iVvjidXMOGyF+$Lqih*A(Ck_n{cl2(9R?*E4hg>77y?mP><7b#R=VgN38Szi5=H

r>Z&t^NWL zAC8sSed2Jr430>Gf+8NoVKZ?`6@oy(XVBSn2S>W2gNxf~j1Ur`D_s6xT-vJKWjhEFWn?xa79587Zemynd@7qESUnfYs(PQf{MB=z zuF54UlOZk-_rHd{a;0?8^7e~$m4`3pheS%pi#(;p*s%<@wR;SscQ=zvIyCbdR2U|$c znW-0`omj$pfycIFEshv}yxXU<#m2rmv2-E(m#SEaB&o2_YOJBnO{I!z(|l3rHF`C- zeIe)7X`>d!GR2r_4?=d-s3OD6Lh^ir|=26hSbHixC>v0-Kum zkBp>Qs(%Y_{CcRMYPR6zhGM^M_tbU%-hcfNbco{_Wg)hy9RmG)KiIYhpY3`jN_hHVHHza}6zg?FX9y=^*k z@3CXfj=YK+KmHULbyI%iC-GpjwO-X|gC@?_7BS1Ht1Ft~*5dQOLz>Dphl4}#g=42r zmI+KB+~BwjSz|70A|Z^YW#c!Cfh7qx zZ%R)`;drpsdON+^Br$PpVzWW(v)Rh}5s^w}XzLmZwYO+4-mFq;z1Fb7av{E%%kj{! z@BBdvJK&@)Nm{eXM!H)XCu_f7)A9I{OrDc{{&5_S*QaXeT0NL<A8B61Ro;0;+}^@3 z$L`59&1v#{JJvji>GW{wwpjmQF^X^YmZvhze=~LWR^{*o#Z`@?zLUwl*Ij2gf9$|& z#anfs%}vO#-59^VZp`vd`-y_oe0}`}W{z6h+{pAWNHObaz$|K9+PH9K{2ujMOXH5G zL;1h@40~5*Vk4q^kH5W6wbf3a2}~(bRjV?LoSrHEP+*$(gI473Q;N3EGwHc`3C$XH zHXLS%y5ko4zTf*TV){M*+1p!RwSTDe=RXFx6|AhAQ9Jn)&l4((4cK9}p)$^62dvyU zYfn#+mA73@(2tXs>R75R*@kZ)QXF<$PC9!BqO#c_&9oGHT+_p@56lCa3ol=2OW{b> z-2>W@>!f?NP(_lh(LYWZba^dUSwEN*{-*j|1RaTbU%2?>!GVsB0i+E`2y#IK2inQIXdgt z6Vb0K`j{ab>qp9uK}9X^UXKg!ls&N9ls&I*$QM1@AUM0-+rkR`=30q~iEGKZ(w^h; z#y2hN8EK1_al5SQ&OCQdbz}R7#}^2t_;8wqspb2orqqGg<-w1Z)`wyeONbT6pB7Fm P|21%2z1UTILlgf4wU39W literal 0 HcmV?d00001 diff --git a/public/icons/docs/bash/SOURCE b/public/icons/docs/bash/SOURCE new file mode 100644 index 00000000..1baa51d0 --- /dev/null +++ b/public/icons/docs/bash/SOURCE @@ -0,0 +1 @@ +https://github.com/odb/official-bash-logo From a71f48ea10a012f3ac8103991bfb86eeae68e117 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 29 Jul 2018 17:33:26 -0400 Subject: [PATCH 06/65] Finish Bash scraper --- assets/images/docs-2.png | Bin 18350 -> 18790 bytes assets/images/docs-2@2x.png | Bin 45073 -> 46115 bytes assets/javascripts/news.json | 2 +- assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_bash.scss | 18 ++++-------------- lib/docs/filters/bash/clean_html.rb | 11 +++++++++++ public/icons/docs-2.pxm | Bin 1247113 -> 1282041 bytes public/icons/docs-2@2x.pxm | Bin 1358142 -> 1391520 bytes public/icons/docs/bash/16.png | Bin 1486 -> 547 bytes public/icons/docs/bash/16@2x.png | Bin 2210 -> 1157 bytes 10 files changed, 17 insertions(+), 15 deletions(-) diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index dfc88c6809a0cc93746f3bb243ecf43b01327ef3..2bd5bdbeb0cc65017b74653b8c3259ac240980c6 100644 GIT binary patch delta 9351 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 Gf&T+%N9p?j delta 8925 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 diff --git a/assets/images/docs-2@2x.png b/assets/images/docs-2@2x.png index 07c8c9d43066c84349dba73945b47f712a481c60..ed34377ac2321589ba97fb7111f44a9dfc4357dc 100644 GIT binary patch delta 13809 zcmch-MO2+l6D@pz0~}m}y99y+cXtTx8az0`gUbU4cY;H3cL@^Q3GVI^+}-8A-{4>W z=uU49diC0?dr;NYUAw#Y&rR6;1K2of*t(-yniF3j(6%>0B)n(|JG%BBN|9Hx7*_^? zL_|PwQ07w?6;JX^QDLD5-*rH^8ep*Xw0A<|4J|BkgidMC>p7|WDD=kk5#3>2NI-z2 zHT}bt<8vD{RQ0}_{2Wd1{?h|B?;!_R*j<;oq~d^PTioHNuQdprhGv6lC7&>UBe_zTXjrxJ0#$5=G^)${c(t9pYZw zmOH{uRiV%l`K1@P79lB&fx0zt03x)ZExi^qe;fLQBFA=@yPMkc>|5U;aME< z+k4T)7`wP%iCq&g9p$UE%gdq=z&-$JsqHWmvFS_7EvOyS=bly>%g`)X7(>H>4zZl zG&XX#q8q)a{p_e2;S52gkwxE(F&??;otyd@)i-}<<8D~YKd3-OpM<|!ghwfEy8 z_IcoA613_g%c<5?cCHQwlwI!bRi^@-{p;6)mkpbsU)rTP`p{-2;RXytVg#8M7G(~9 zRZIQO%J^N%Guo|^Vz|rtiSGJb2%KsejW!MDY|(0$Q5nBj+qbAO%w-vs#)upL@VPRO zy>7yzXbe|mb2>jAktZBp>o}|f;7`|&p3{+TB884Zu6>d;`YX2qO4Izhe9qKPb)imAFU86nEg_$YBSJ8lV(HLXaN8oX!~T2OArIk*Y4_zkC~u zBPn!dw6U?9G9mD>R9|E$LMTqC?hYj$veqi3D2%D^j_Rs&R~mok))IRK7DYrPeZwbu zQr7<-LV2bNrQl)*@(Dx3YzZBD^mATxNU5<_H&atHpy)^eRG~=K=Msz`|Fc? zlvs(_%IWGV#3kY~L*AhK?G9-=FiJzg*SQkPz6Et4LaBUBtw!l4$@%yCop(P$I*ZKH zm1I>X$2tQ*#^i)0_H;Wx*NsWqp|+PbCQgSJ4u8Bc(BQLR{JS3RnS`PYzc=LD#P;NU zvmC=#nSV|nWZy-by0kcv5=MFC>^0FaY;01Hcz)~jH@MG}7jGfSI`4CIG$lcX7XhDv!ko^wIPXN63!#3 zR7P5~j~wyKtK&fda8`s-62~=M~09Mob~wE#&?-TxEky zEYf>EbklVhPEDP|ApiNI#m@j9nL7Ose4N!;Q#ilS7sB*;?y=u{ z@Pe`0=EHCA5LaK2bQJw!ZBpVrFMwMWD(ug+*yV!|+slq@%+~oTh34YphJ}G;s{aU4Ey z9e|jctceINx0bkvRdXQUgMDwiEx(|%ak?@s=**=(SkWi=jQOS}7HAz(5f#M{*!VpJ zM4~#f)qj~nDY!KOhd=Gj`NsGMl6yfI-1-@0)aE%B(@L{7Tp@aMB3|=}^`@F>M>WsR zcmvTve}c%n4JP(-;`%R1UTwwq{sJ06Cc=EdIPhA|1sSN5u_hrI^P!q5V+7AK3YQG) zLSinnReTFyJA7GausqPMlqZoVN!XNi3aeB0e3SZpXfL<4M~y-*G-N+-_GSq2)I}OI z`~yk#V+4f9InDm2QlS@?--m}8H1c*;!OYWO#d?T=gM!SjBW~$tZcjiN5Ko|8&WQmg znj>h7BK?43aqGu`iXfTXe%We%kUIIj!>{DxrtJ8tjc1P99k`J=XTRAB{TT(;%0KZd zK$HJj;gYdlFpI76YIWoJKkhz-w~-pS6{8Y>m((TdFYG@@MZAXAS)-4tzB(I$Nr?)A zAxa!qdzCd1_<<6V3&mkX!*RfccP~qFoq`y-mAYmT79tXKE1rr)Qi_z`^~E=knXS17 zPDsiVOo1zS&^qXnD0~1TKY=Krp+$)@?9EGQ8YbH38+bT_?j3Dzqs3$6(7m9fa6N~+ zy6pMa)+^8m zSClwEwa8P18&cqjN2Mv#Lh-6etJ;?hDk-jPikde3pwtHYXZ^v88{194@Nfkj&;DfQ ze3HF4H8E%LYpgkPe+2Bcu`sHAY15JkHP#TD9O&Iojcx$}%E>C~LF}j>QGOLj{x5c{ z-H5# zbSA*E9+GGX!QW%noJ(=d@}0b4jaE+> zX8*SXF-RE-=k7arvx$SFCx)2aDTk&4ZV#{@tB1yw;-LFO@t3}^crtm)B$g7Z#$Y`< zuOD09ZtdQ&jMs2lRsR0wBa=5>*$S~y0)}$%NpfWr0P)CRqFgn5bw=$JGVL)b3qixA zqu_P8RQYkKRAC72gRBOVMKO;JmYrXB<)r+Ba&TbT9(g`Lts|>?ij^MR^Nk18*$Jcq3v zh*m)L*3E!x2JBKlr}`cux}?m>dUW(qe4#J{2jiJyhRPN_Uty0+nOX3kHvQo96J1;w zpoJfo($=pUveH&c^-|4*y9GFuhAq~%Q#o&}M?AliP<)H+b^l%tS!(Klh0)&X^iYLw z9P=^$LADAa*H1R-ClnLaMYm5lcUmJTc&fZ( zJ|THp_^1I3`Ig03TX2Escb~$rPHa}*poTl=kXA;p2y!eud3p?4E`H_ofUV2HMBEGy z;V`G#%P!)h&%`-hr)*1Ho9Gq9_G_*3!jM2kwV2-etPDhKH|#DsPz%?C)D#BL+K(td zgw2sCzZ8>wILfu!o=Fs(akuKc{Hm{&OPHVeNn(+3yPT|(uZ0+8fJIV>R$=mr-xFJ6 zL2>qA)XV-&KE<@b9qAW7s-y!mq`l1;_3P3LSz}+2X)19G%(eHyscJuu*{R5DoY}vJ6Sl zg6mrr4He(P34F2&MiMR7+tUEdmDrr&+~_f@N$0)H(CWW(fA62z?8@>kot?e*@6Hte z4(RR~tv7R=Up3l!ro6ogY?xl}y`T_t?_?Xba=)*pb3IyWR}PEReb;?UE0n(;!)F>7 zDa=m*oVR*j5{QT%KkZEb6CzbrS%A;k>dQZuy&ZCO^%0SxvUEU0m+w6+&$J^ADxP&% zZ|!OE`}ZTl)fIi-zk%c0;7~N}=_H=7okXpJKiIFAART#HxK++ye@(%~UvMSF90$=< z&Nx(9nG02RPs(enu6%ER#2co1 z(NVNJm2A)GS?D_NFXUTNtZ9D!ks+fHi@x$j^K`^M#gv4zFKVhfs%hy^6!82|jl@gn z3>%O%>KUZSI{r^S+kV?s>9VF6hgsBaqW-WhewwzN0yV%hkN;t(XX1;-V_`Bbr&V(F zoyZWk5Rcd@>`cBs0F#d-eaejAl(CV*j2v6amVV`Yb$4mt6T}9ZEiqQattKBgkC2N2zr+fs1`H z*>lN}Vrl#njsqamt$ru8ory`xrbIG(qJjlEjUt#=dEFnOWC`m2aW zsei{#URKyMMclq7YO7{^7%Rq!soZm=d{$ak*`$l0oXFVh_sY#U*4EkCn^zX2j*LDZ zNwKDfKmFF~Pszoy!%2m*RSe2WtD0F1x7xbtv+-8|Dk1$~!ZG?}Q}o{-?|d7c&U=O~ zc1q1<;k*S0<1Lvv->k`4y(cR@NTYuVp1Pz6)?9s!Wqv4gZ{6fs*sR!CZBP)J&Ps9- zm)X6vL~`e@Yt zx$TxwIUHq{TU?JBGBOR~vqgYr5|AEEHH_evTOoZsHKucCN|8dlYC1!jUOImR1dW$b z{+Hh4XSb_g6wgzt%*pxOg^2P$98@lcbZgsz;Pcg8ZE7y|&%O9<9hvn9F)n-CB+odR z_~`VJBxh!y$KAiojnyH4lbL$n}7T&^ueI2JUwINAof3_Gqp=hhC?;qyD<}Mx8r;p(yf8uBJyd&HC{>BSLWfGp z#$#@?A}Em)=n)+8{>5@G3|-iNG`PtAbA_P%+^iUduvmPc)gm}s-q!sU5@Q_+itSD= zMjFRRPF%UF*PdV0Ic6^&NWzR3YIIuWLobcovVh{PhRyhyZ51-lgFrn3BV$qkCbKDz zg^y_(sh&yp)-7Dn$~}nKRviMlfcrF1j=3w0C&wY#wWinPJdwPlL@NzcZM3>aUdkry zrrG1YQj8UUG7CiuAaJLw;V;y(vA4Gob^M+@bN{M*ZH}v%kYON{!@YKW2iLFb!qM?u zdreiO_|Ea9rKCjm0t@XrYlH(}SRMW&2sckd25%J=6{KR_xtqacHpVItNvQ$<;uN0M z7S~7+#9_USZFY-VT7LE zSr!1osb@uv{=}C3rKsp>1onHVScMA)1pN+PY^{?V*&3!d_aPV0D~Nj2T0>;;${Isi zVkIDS7t-X_52`X+f&+e5QK`gp5wDW^g{tpaFs2nj?vc^S`S!+te%QM>x+N}A?x&$~ ze0rh5B;)9Y6JhMGKLo^WP&hgLSN$HXXJA^-nrY%P7nxs`3u-O~H8}Ccb4{=?2ju;4 zq7()v0O$(4As9xq4)MsS@Qa(o#M#{nD!oT01(Nj}HkgZf7La;C%NgLe$qmnmmLm3_ z*ETttxQ;z1_qx}7N&Fq!{lV~3@UM{S&r|-8QmGW^9#ftCG?V+V{;>Esn=jI8zc%|m zqWqTH;PyXhb8pLY!*? z`y(-u=y(N}1+aT#BAf>e3=}YA)$~*&c>J(h!w!{ukx{{M)5|nKarm7q<~dK`(SIC# z@l5o6d^BKn_48)mKPhUk6c$v@@iNFQCPh2HY(~WWwX%9E-SumP`V2=-t=9!BF}MAi z?t1$@=!s@E(|QKKG=Sh}-Kg1ytKw^CuJbUCEG7{p81Q&or(>%fZ8)Cqjz}ucaoHd5 z@Horgi$O*~DI7eezL+|?8+@LMOHD+@xI{eHH8Fwr0=}hMAZIC@sazT#ZAcBpPqbA< zcC(L>c@Es6k25Rz;hz;f$@z~Kj3@7WVx8OZ(!Cido=W&bO*ev>h3m&7-AO3?P^|Z7 zMjuse0|)>~cGYH)qp;6E{sRaT$$3TOl3c*Ltt{qW^KprHhRS8yL#l=|xE{L+?40W#gkc>c= zQ`;|!rjzKhuA>$V_COl)kw zaUV&VkA?ckNN9*q3ax;pPIVhSenGDcM94tg9*$Vs}4K5=+>xO;n8lYoh>AHR3oN#U0;;Cj3+l&Jsy(DxCl-@Zo<5J+Zi z1;oz2O(VGg4vQBHBA7kYRFq_t8IKewE&%++c7G(70*9F`GyB?IJw(}C$sM@-DWVH( zoE^jO>~{B-N*G=gnRP^E!^ZY}3RsS^uj2CTFfUc_!}6)s&#IyDV*jjqj-|2?BM_-_ zyD?e!&*WgF8^b82`!*Hcan%kWLJ>y~)1jkp2%qy(tSNATy76hCjX#dz2!`ff=b1)| z-Ug4s=XCM?kz$AqBA&G^I#?y^{zKY*kBnAONE!Xxy1jCHCI4kw7+al!(%C!YW; zm82bC9w{Uk{UKz!-sFO_f>bi7NlbAVh(~d+43W?+g6Ip@%~#I%gI|FsB>Hk|!7+~u zOg(u|m9+!e*{+Ro(p(Ea@iXX)~&PbtrGI4prmg`zA)YPz{DYemHtcX zh=GDJRBBB@$wnFY2pJw5GYAKn33d8+x%bDK-F&HYai)Lq4Sw}E_{Bv{zhPc*5Qg3a z4JRDK__~N}sv5C_PzIdE%ebHRh5a`2d(;Xor9DFGyGsQ_$%BU`Olf&oukXQjxhf+kE%zI3$`R--JEsl$hn9FR;tbGRhKSCCv+I~h{$ zfdl8<|4@L2hNogm%S9?0P9>!O`k{-nkfIG9!R7o~nak2v9t3c(UIw8jY;C@GVBW%l zj{)iFBw&Q6o;mragV%6TCpCZ$@{UeLCBFF|i~H`Uq7r-Uyt#h6^}WPrMw~jcR7!mp z*P*}|JeBTsd&Kqdgcy+67BBEM$$rMN+!_u6b<=O}Tw7QjDQ&&T+$oCG}n_v;sdw&e`qAPoHNuj`L(YxD7VduisHfi26b4nS0I z5sXR2Q6UfrzCGZye3kQ@sM36bn<-+JyfAk(ac~=y)X85d-z+|VcVOz*zP$yl%S|@- z!9@GJGua4}w9pLUaUHxc1(EMPZ!(jiz{YSy=IA<(0=FU#KRFsPv8$Y7kSUqqMaO?= zI3xeC*sW024z1qkH9I=}3E@{p_dn%Lw&ipT1CwS)gaDqgwxB8YwMhYJ=(2B@j>|I0i>eOe!y%RX_K`nApb~xFnCuc9g_Y zr8tTFq1=oDc%8-7iHW^1;I*%uR-Zu=X@_RGL4LPn{{8fD-ER^6JGuDxboZ1&K?vQz zp*o`R`(2u`>vxJKT?_=}W5Z3`HA2+4B~%Vexq!p1Kuw#!%y*wkE#u%f6Be-??{;Eb z6u5-E?tu z%*3oLve_b&-ViC)%7Xf+s9u~W1cYD!Hn{r+E*ZMzZZF4xE20LJ%6lQ4TcqoNhuUA(@JZ$hKf91(KUtjw$>c3OXjgwIwwU3B@F0mx z4}iNeCc|-PpSu#Qqthk%@L7w=_dwr}^uTrb?z=i3Cb8tV@P3$g&I5qPrI4d9Y{Rfh zVUsjyx$m$8>XRNe$y!H_9LC1RI_(re{H-nOsVG8-(f+x4 z{~$hgpcm*znPwp#9v+}XzO=Md#UMF3IqAP@nTYs3NloN!a+JC{_R0??^*z$D1;y#t zAMwAesvgOYITcM!9-`$SR>kR{>obUd^`jjtSZEYQJaI&49$Rog!u~<>&d2HZN7C$( zi+Fp-d|sh~K}z!>gz~WFYB#+ogkOvB8r_8#DWY2CnYWs>4p_i><*o1${HWkw(Xuhc zahW-W6lDF87qs*Cx)3b0=xPR&O1w;LpLK#fLER})Q~TI~ure}h?Ktg0v@@XbO2VbM z(U68FEQ}7P2j_p7hG9iZ@U%Vg4@Aj^?)9IWur%%82GDg{bcpLMVh~74Nf&>+@{kC4 zqE}R}1=(`D`2+7T0WmJl^quHczn>*;7lWtdg+n1l6hQ#losKJK^V!jXSAO^lSn|V;!Qj)}`64z1QN|I^ zBW6jWbtU6%c~S5pBfG@(^ixY*uD_3W4n4xz8};`X?6mtaA$9%!&CV(UU`fj=1g{4M z)1S~RHUKaeD9K(L8aSI3SpL1n{sYCieKPp*N?RDkQ=$+qGKgA&ba%c?tkV+}e39%8 ze0*!G_ihLp@#bW%gt3(sgjyzM)Vefu76%vi_U`_U+2vIN-~N^qbmog7O3=dse;S^E z(n!#z*HsU7?4QFMe|Bl6(!0Dr>X@(?e#Ktu1n%!GjDWEcwULi0``2|uOYqO&z$Wp* zN{$|frO_)CzjYUkud!C=MNrn((}4y`vx_lc{N})00FUl{{)#Ke37-HY=?twpm{SbBP)Ik17{nIuR<3L2HMQuloRJbmp(eCi>pT|uV=GJew+5ZEaag1^ z$_84B=qbepv^l`#KEgCp7}}caHprg61?Yd0erQ zNy=)$(BSOJ10=90ED7nK|MF;o+4*?uCy&M=5}aAOL}ALZ_XAANgomvA;swv$+t6+A zy#$D1*im>U+}|Bj(eOX95P=Hdu}T#jeo+&a*jkR~zjm>;IqeMs-x8xDLAnMI-qmjJ z31*P<`imf4&gpxsD;y8~JR7VtHY-><$-CxR}+FA52tIACm<|9QV`5MX^Ii|+g0XGh!>7@mrO@JLXhYp|ad(lOjSTr#Ya}-8bBvb7}*K<0}Y8n&VAMg86?}Jww zCY6AjHwh;S;VeAzC<{HEINFWU&zjSbZJlP{ZGWaO?s_Tyawx&5;WRkH^a84pe9W|C zqf1EmHxZxi&jvYF@qP9bdrD)A8$5yfBb$_d0@fyO7+#iIZXjQ{tNdsBopjX<@Esk* zH@Q{&54P|mSFfyj`9ZiC52U5m#Q4c_gQEI+wiNiYe(fCC6a=0>8~EFmjwZh~D5f}w zZr~-E+L$VfmhWGF0Ml(EUP?vrWKH5q?Dn_mfrh^3!l+zhCN_rVm-9CWTWNRr8 z@u^Ma4iEbmkkZNXS+518Z*Xed?L*k)X#v@hLg6XFrR{g1`>xLh8>M*PW9>pcIhST= z7Kj13+gO8IygaZ$x{HcG)u9DD8X3vRxp=AEAitrbjm}OKl&*(-l`Za9Qc&in4-aKJ zg>dhwJv#%!oT0Ly)lg}EFdYp|;mIDeFy!LS?_WheYWJ}#rE@8N5Ctd!%l}bpp{XB{ ziD6UrJ%}umWACzLAH!_j6FA*4QjU9u7Xo?}A%lnx4|Uyb-v5k~lqR6r0)J*KQ^+{g zQ{eU;Bqpk)&(AGh#21}RI8R!5L$3U9Vd98N8CejlE6me#`OCUuYvn5bSh=lJEEChw zxXQ#^7u=CAHjl5|ll4)&h_gjpAYTNEEL4JI4{I0o%n|Nigtmqou4}$G(4H&_VgqM} zgb<|lUJ4#(UcqQGge4Pk%s_Yy#K?deCtVg^zZ1~lSQ_FHqgHPgaNmu4jACUmqle;; zgRrvxI}|`C4Y@P$st@imYNGRrHijW+z+e#4TqH3L4&?2wvS<~;-t1%SsS7T|IzEen)8>#%<`mpSFruYROd_CT!GzuR_gTeh}cITRy(rT0gDr z_odeR9EK4=^i79fcA|!mvD+ST3MfgHA-jq?5~KX^bT5;Ncz?VC#VlM==?)r;F-3`f zzi2pGkZ4r|6cIh=pyXF8EwE!pwfNhqwMi}WdTql+=|Ce8+d0Aw$WF5i;p;LQ_3_NQ z_slwvj1meD^Rgqe0Dtb{cteS6`-DVa`c7c4ds=6-eEY<>yG0qrpLj z?~B=M$01J)>407lD(B7iAUAM63&_AM{^nHE_L=ORe7cc19aBf92RX%9xGGPdI4CyV zQs}1(MhY_)o1ZCSdC_>2s-~R={gD`b|HgmQy_P4UdL(wp@ZZ|3`msHK*ezjH%gp`a z-1Thf%irOiLTdb82W{6RJ+$2s zWnt)tb{P{dn+phn0)b>bBhiU~xv)R4jO~>-Gn&2Noi^h2mAN zZonVmM*{{{o5MDmv1DvUq+ORaUMpm_b{Vx>as5r38Dn|~Ca-v^b0BO^;RN>97{th( zmo6EX9yuJ}PYix=h_(>%jJwL=E|}b!l1d>S4X5O&j=_yP;7&ZAk@$bY!CYNkWe#&U zom^A_^!20Kz3;_?OxzDN9dK>m+(*0L(oP}07_%@BLZl9lCLI%T%7}#bx{95qmDTCjv)@?wro;{=eux$Q z+S;9rVqxz`lK)_~ok>o5?|05yBDVMI#-AK28S_59ZWZA9wtnCAFW>Bf9wMZ8qC1a-4DiH!M1m ze8RNt7#o+@~A zQQbE>dhO$UIibU96IKw^j*}BD(tifaH2>c?j1C_Ptk8<6iwg%bGBQ86D2^JBivPIq z?@vfl9JKlV$(>0!exIx#y`6#p1(trqCUz%+_U)^n)KhvFnQtq@SSh`Gzx*ynaT0F2 z;m9FHLMyalYuMcP z5*dJTkCpVGv`o#^`C$rMapGJ{op@9`kAy4H0+_|7Mi)C4KXcyS`V=#1MtZ+Su6?p# zbVQkVkr>lvcFYKZuT`zJ&)lBe<_o;M8ilbcZzng(^emX+0POGqDy+vng}%uuM=LYB zqGzvfzx87*jqb$yh~Tjk8m;GLs`Z&(y?R5_qZbQx8nj-mM=TAHMQaJEl6$w)a&*p? zqcb5WwymgefiQU3&%KUA6BD61s!Vwo31XR+&;L*-4?hWXE*p=MB5}>t*rsz(hEah} z4VJwB6DY_!?=BYtbTy6A!G{j&J~^XK^|Bi_E;a>)CO;fJgLADy!$l6T2=FWc6WOSS zqI~L$82OFJ0Mq?H%$3XPw1+Ub#lm6%?rP*Pbl+Eg{}?JV_pKFf6JaKOtSf0hzuCNw zPA*);6(YIb>Ae^ip!~Ah0OJ%+T;n^yuQ=<~FGHv+U?F!8nXRjra1I^5(In0XDQXP zyW80NgAta_D=S`|9A;Oy7EK?=U3k8ZHn-C<;RuYNBmMpG8QQdhaLa8q2iU`ooLlNl z3DXl{kMpKB;MG1ft4{fG&TQ5zCgmn40pXAgt*hxYLOWkPIu6%1%)mB!s*D{cxFmBN zb|C~!>{|!SIL@uue50RE1H*%;n3#=7>Heza?8L_d_~!GuBceIws-85xr43|}r9~vp zXYV%G)Y2v5Wy`)33|Z-h9hfA!;Hn&n%;jhdfM3MJ0Ehl&mb|lYx302Set0&T zas6*_6S&^6*(-Ydty$j7)cWxP1P5p1a9B8Bpv>i0y>5xtzJHH$nU}vk@`p#@V6r|$ z*kSDZ#nMmb9eBn=p6$aW!JK@tmQdJ>j!HJw?s7b0%1>`%ZGXlvr$!W2GTtERwiOq* z18z;8z)uUmvAnH*JigX3N7m+Qh{$OeGKZA3MTY)#YY*H|sOM2O0Wn zSQ;D0(Q{u~4Sp2L$qQt|sWJIsU=5S`{M^|o3?wR{&3Gpo8a@;GGP)=|0}}FUcPBG` z`*Z{!`t2|-eGlC!hzgASs`~YhUk;BE8-X_~f8wp-AFrQ;?xH+Vo941n;iL6Q z2NOEGFKuZ|(Gj_oh-~_Y6|OHFK4=26*-tl4t|a?(leK!yc14rP$x1 z0Jgsb-=hBCHm@l{yqKW>*%bh52Tm}l=EKm`4F3PY|2xL6saYt*OYy(Cm{;$v60ra4 c{eRY_V;)Z<{9 delta 12755 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 cPXFIZK~IN~OZ2tv5$STW}OPK`yKlfF<0RR91 diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index aa7a99c8..875cef4f 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ "2018-07-29", - "New documentation: Pygame" + "New documentations: Bash and Pygame" ], [ "2018-07-08", "New documentations: Leaflet, Terraform and Koa" diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 546cc26e..098f176b 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -174,3 +174,4 @@ ._icon-leaflet:before { background-position: -3rem -3rem; @extend %doc-icon-2; } ._icon-terraform:before { background-position: -4rem -3rem; @extend %doc-icon-2; } ._icon-pygame:before { background-position: -5rem -3rem; @extend %doc-icon-2; } +._icon-bash:before { background-position: -6rem -3rem; @extend %doc-icon-2; } diff --git a/assets/stylesheets/pages/_bash.scss b/assets/stylesheets/pages/_bash.scss index c22d0493..b6ca1808 100644 --- a/assets/stylesheets/pages/_bash.scss +++ b/assets/stylesheets/pages/_bash.scss @@ -1,22 +1,12 @@ ._bash { - // The page title is always the first element on the page, but not always the same type of element - // The exception is the homepage, where the links element comes first - > *:first-child:not(._links) { - @extend h1; - @extend %lined-heading; - } - dl > dt > code, dl > dt > kbd { - @extend %note, %note-blue; - display: block; - padding: 1px 7px 2px 7px; - margin: 28px 0 14px 0; - font-weight: bold; - font-family: $baseFont; + @extend %block-label, %label-blue; } th[align=left] { - border-left: 1px solid #d8d8d8; + border-left: 1px solid $boxBorder; } + + code { @extend %label; } } diff --git a/lib/docs/filters/bash/clean_html.rb b/lib/docs/filters/bash/clean_html.rb index d35bac63..13234027 100644 --- a/lib/docs/filters/bash/clean_html.rb +++ b/lib/docs/filters/bash/clean_html.rb @@ -11,6 +11,7 @@ module Docs # Remove chapter and section numbers from title title_node = at_css('h1, h2, h3, h4, h5, h6') title_node.content = title_node.content.gsub(/(\d+\.?)+/, '').strip + title_node.name = 'h1' # Remove the "D. " from names like "D. Concept Index" and "D. Function Index" title_node.content = title_node.content[3..-1] if title_node.content.start_with?("D. ") @@ -56,6 +57,16 @@ module Docs node.children = link unless link.nil? end + css('tt', 'code', 'table').remove_attr('class') + + css('tt').each do |node| + node.name = 'code' + end + + css('pre').each do |node| + node.content = node.content + end + doc end end diff --git a/public/icons/docs-2.pxm b/public/icons/docs-2.pxm index 82696ea88a4f56231a4308d9bf3c30a148373556..37cdd6d7b688c71b54eb26723ab89a0dccece6b7 100644 GIT binary patch delta 33601 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

0j3PL zQ7%-ZRaZ>m>#$9Wfl%xvoO06^68553cO;8&f)gE8%Mi!wcoY)-(-4^y~s3h!wEj#R(!)e&ae+llC zzG@P+lJ2#k2wd5N%w*eng(UM!LSox^dm$6NBWodXCd)GCTFP5IB(_B;6R~!+Xy#hW zeXOQDh$k&59Ov{Vd+}rw0GxXeR{`4$blXRcVm}AbP-*Uz;fZ+B*Q6Oc4p8H9lRjiN zyDtl5G(?usG8<<=jV0Nqygo@>Gr41=to-F84b@`bgV!dJnViSluYW5+^f-UH$kkFL z+4E@ENa;xkBNx-hotWY?E2$spN$N-W4IW4wB7y)XWvp}ot)f1lV#)8>pUDi^CUwH0 zfkC1c6jxw2b5@8wr}6>9DxraDpQ^9&rgEy%tk|pQOP`^_#e3+HIGH#^E#)?`XC>8k zue0SaOf)gLCoZ4NC%O|88BbMjau?$E6@fhR{vA+wXJsJTi!1k2X*hf-C+%55TqG_pmTIBR6w8&8o}cwCXlu%4Y zMn^`r=!un6M-awipOLNnQddvlbZ8Hm@9|g~=Adb74qly&f!m@Sp$zyo`FYbb9`bbv4!A=bN_I&xkl`l?7Pf; zW;(>gZPe%0g=)39O^g#x3O3b05a@?0%atP(|0u8`ia*5EqxaKs)DMu6apY<;8Zx>< zBobRd-3NH4YMDzk3kr)ykka;V0=5+JCj2sh8HL{oVEW5js2p+3tM`3unm&@=<7ZhK z9(zV;-o?YRp;RYDlY_sPN=Y_N0^U)d2J;jzZFzca6^CL#@+eQ*x`d5X5WVLcBXd&T z`t0XHUr+;h&*28lhd=Zq)kG*9QqVM0A66%zGT7&sMw}so#6Z+R_>9OG;x+3ag&C>* zOZmRCA>>N^`A7VG@K}erB=$Z#gAHPKGx3l)PNRLPJyarjkDLzU^k-l%6!pP7U%+D8 zFn4M8`!&bZ!=#0c^?M`y?~V zKJ=RXN|psP2Fil3(CkshYs$Pt6QjYuy=0CunV?n4SSCuU?8#%<73|Va*erAhPeW`W z?%i3*;axA71lb^>TNsh7Y}nb~yjEQ5zidwM&v8oL%PM&o_II!Cmg~K?`&Vq$FvoPD zPP#lY+8WU!GOAUVW|84in<>mApr?8Y4^p@ISp!Y1XP}8Q#7mpT0rWzG`-Pj#(d;tz z9p*4Ih<->f)U47(tIw!Mz;=^c41}$*9;!-Ju}Y)duI!=sRpC+-b9&CvRW^v=#f!;YE1;Sd*;xjG;yA1S=?xv0YOs5UaBNWyd?$NALi{fJU$60x)>#g(!AZ4J0x`* zoIR3F_HUF^M7B|Bzg}on!^pO4lhcii*$CzzcVJAGP_sS@(jvTF&lp| zmm9^-^15T0?lp0aTFxY_6<7_4T=>~ME{~ZB2)QDcn>Xka$yD%k!H%=J&FToopjKT{#DN|4ezTZii!RC8cw#+ZBY_K}zG0JR| zDOLBEg9DU}7g?3LC>KAsDvQ~4uW_r2Rm#Q<{e`c@Dhttna6)Hg8hRrA86Y1KVgL3X zz>qm5v;L=dSxVQ{Uj8wzii1u(^{z*`!n+>-@Eq)-973a)5<_)}_5#~`C{x+z5ZQne zl25G2@kZ~S%AZhmGFJ?2In0TtGB*f#S=j2>| zy$!X*g?IUogrCp^u<@G-=_E~oQv{{Vsec-8xSAH3rsr|0vXe$ZT=OiGYFDQ|Q70x3x$aV6kIAu26SuqjyYrL+?Hbf;PB zgRhq)g;WafneE9=6Yh1NpBy{VX_TZG_?9ED8DCuV)O4o-T1+g>qEXt>}aPB+DW6{Qfg9?;cse z&A1?0qwaEYj8g+S@DSH(%UiT3>vBPcqOs?}6J{cd?+?%}>%2V6sfLaw({I}_oXs&JY` zBtcp}h4!IVQO(FBuvVs#QclfEXZ1#S;7nj5Vn4P)PkTyPKy|RO)9bZmg6y?F!p+9; zY3LKYcnqJ8HcNlJ84SDi-+SfM`U8A$ET75l@MfXjCMEB(9WN^8bMTrZlEYt(g=H$m zAIugh%fkixsBE+ipBl%HV>fwY5Gk{gGsp3G=Xl=6PWARkB3EY;-tb4xz##k~(PZ3b zB6Lbh`SF4|9FLPH^25;t>Gou~XGOST8kC9lsi7^_7 zKcCF!u@k)+J21VPe;i}w3`stB=nd3qDJpa?z8c^;^_(BTfvaXZA#UL0X0Vi6;r+{) zK+pT<$;KQ-5G&n<5A~iAy9JdJ$23GmxbmRDdK#=_CL<4Xi~OCElABey>U-pen>{9Z z&(z0c6B@@nBn8}W8)H^DLe3EN;0)R$jBb&2@S>+Y@0s_I4CZm8{Y;R;FnO|f0eccw zqPi4X?K%Aklc>Zy8Y13vgJu%sXw*+qu{w(1 z@?pr1kk3NC2q_Oa6mmG^bjXE}iy@aneh#S$xgPRMJ*r;)dd-@qHO*+6({y~(DNUy} zbu^vPbXL>ZP3JaU5_v4remwGYJya|)h{YJYG71h)U+r^lrw5!)Z!?2RB6=usEtuOqjpDq8uf)W z-I{3~W1V81W_4Jd*6G&y)`ix^R=0Jj6G*&e9e7{1m zmO|@2B`ug(r3WVSAcHn|%8JP%&QlqM{xo^ceWzH4LZql!qy&ODaXUFHdx6bmS!NAW zm)=YFqHa>-C;_a%ZIT-4Y=ku_ifpDKI6X)?TS9OqrJUd>LxGZ{aNEYT#o8p&h{IEn z2>cCjADbc@;%&)M*VGzh>_J=e8p~v7J*Y0`{;ih0yzj$OV>qwnQ=NfOnS{Llx!@O8M|F1wc>FUI zH#lZ34EqC5;e4jE!n5;&;sA?2^jLSPw!s>0&hXOm>Y`>HlK3}!3brv91W(-GipCWB z=)bOxEpMz2m)SEhOnHrlpmAt~GKY-N~4^pNO6!ddTN@p zxh%4OUJy zZ5G=#BB~i4`mrh*J1AC%?|z`Fj^BU5z1ONT*c;y5=HVJub#8Oro2y6!8HGUCaLGDV zE>oomC&pp4O_eR3TUX%46r1O^Wacnl=O87rQf};dQl_%d?9X0oMQ%m*YFDNH)u6;z zq<*BJOE}>}RW`aT^`trr`UwYZRu$tI4MUTFT-!dbPLDm$HmhDDcZcj@_{&n&dC6*@ z!Vz0l$EDJCk2RiZQk`<74^S#N^oeKZHo6FTDu*lQtI-Zm**0bttnFJ=kVijBIhaB_ zUt8O|USHcEE8k&oO0bHaA^qCrPWvUmIHn&)!7km z-=$1vJHYINrX{9n`d~@Zm{s*hI@<#Xsmx~Effm9tloeOfC(hXxD18FG6sa2d3YSQUxN;Kb4`>b} zdR|Twa$xu);nalZ%Phrq3f_!>_h|^?Q(PDzJn=YOyr$Z7dUhRAe$Jx3o}~Bq?XNCj z#sT~uPyROM2f@?jwz3h0_Wjot{Mj2Tcx)X{PN3=u1=yA?Se4BtfJ|To!|sSTIiPIL z-nc`EDh>6*Wg)=O6Bv31OAPPg?0PDJ?ctT8d2=&4!GuDE#vRSxd3)H|68%aS=iymhHch6RVP=_MzI zJ3D&{LREjU%pMr-0grXOqA|O7Hh+@zWJIfY4juIDoCrtL}PT>gX?2FV*O4PsLQS zuiz>FQMC;O)LW1Qq!OGoD`6BMAZaHJpR$7WtxhB*)B|)yqA#;54K+Se+IIlC)sm%z zk_99Of#|A(BbNU3OLHItzpqLF6jQD;7f%lX)7fz_ranH`H)G)#G zU3XzUg-*O?o=(1Qo+b-t5IfP^p^C|TCeG1`Dh#DQ06uByYn`0qA*d1VAo@&}a~v*k zz=$La5hN=yNq)3G?pGp=V8;LzWGGX^|KW|Kvj_({fn5r@LD`_e_s*0v%k-9nBezV+nH7eZ;Y0WV%GjANI3vzL-(fNIKM zX~FwKZv|R`zgQ)V!V8Oe4yUey7p}bN#!9@nM3mEwI+$D|j7%<-^1M(Yk5GT7PFIug znnP=NnZl-esai^&ryayeQb`*%t;n(TUG#xw4T>W2_!w1?a)+|J;wMFsLdAbX?Vx(X z;j3(pW7n{u%swW`U3S%%@d9!WR*LYl*IJbxSFD1P7i>I@6IY0Z>?u%0SYI-Ww9kmX z$G@)>v)PmX-YVmoC%lkd`6}^UdCSOp+zZ^kMV<=@d3~$!ztM~tYmaKxj5l16hay3n z*s%^QEetsm-<3)aSBeQtJHOkrW+q5MEl}MC~PoKAHry4U7IHdQ&!;;kH0iSv60ZV{m zEK9U-Z~!q8qG~PtW0T!3utXC+E2krG*#s z)`?;|D@s$Zz@_okr$nesmw@xt;z-V=f-3M%P?e7#xM@zYVx&t6G|4&5;oxk77t&?` z@^yiC(})?I3m|U_;vcAo?K%Knv87l|DI)rT*`7$IKo%VhS$0AYG1LCbRn$q6Vo^s0c}dbiPWZ~ec&SP_-8*c zgPjI7(094U8^#?S>6{8g=)CO06BBh($DLDf^8hiEoeWjrQe_t{xl?6y%WA-Q5=Mby zF1q|$#2P9>#Cqkmh_$&05$o00BG&HWR0{p{T8#1Y8!?8MMxrv@dYYJr7meXL=_D4m z%n%K3?NBvG@?Pg_TP4WQA-C4MwraWLJ$jN<;45~q2(6Z0X-;QXF*J%BhNYWoy>i_W z(FQ)dq(mIYZjgc$*yx-q0yZjbbmlq5VxHu@np@kpq`f@JdQDypRZifQJjr-1PYu~1 z<*-Jcq+jRu0x3L6z1eLkScU`T_~+?j7EdCtpR8?6c4Q=hq0`mptu}hJGsVH2CufbQ zqF8`Tq_`i>lY#5c=ZyGZp_;?LmWp|-KU6^oD_2Rd1?PfI6G=s6imW0dUB3A47`6Pq zwn|m=MU*M7I(Wf)aT+pXaRbB%Cg~XpoVXEO=MEb150?@Dv;p+MfO~EfN3qh@1O%$E zHr|zx93AKKksgiYg(Sy^CsJHG&!SD@KP-Jc%caE&w~9HqvQ%WfYfZwX+DgHZFLQ^0 zuUgFJ8o;Ua;mjR4>Kv{9UY#yJg*QXr5snEN0#dD0wN!qo?5nt=a4O7zQ6vK3mCCqx zTusEovo(b%0iVj&q_X|J5sz&Yo60L^Y)& z)}(4O*lylnLpt&yV-q+m7tVM5ma0ibog@w~h=89-R8JZ-(FF&lYl`ue;Tqn3Ew(K# z&CnRU!QwyZ8u)rjqV&)dW&n)#Mh%{|R|Gukm;Vzy>(?4Q>yij~)^Gnc8@~BQHtaIv ziGuo1bo;+ayG?3HyMO=h)9yPpX?I&Sq}_M_>x1sS@gOPf&Qsr_Bm_!QLNtyaffMsN zhIBQ?Ulyv1*hZ2bC@{Q#*#~=75YR|T1!an)f_%0s6iARm0co)K@285UxEkQmW7N~& zG#_YaHd{}6Mz!vGv9TMV=wFRhXG&DnW0()wgw(Ll_@*8ZAADJu%(TrH)pDI_jjxq~vn(IZYIT~WB>HFb`RJ@)jkZ36O3 zLGArS(iB$2#@dzz*zJLwfc|R|H;s9RwypkRUKw(lYqt0{l_3>t5MQc0D30 zN=nGHUCr^y8|qPPGhhI*!8}5KBY{7zFra|gq+4Y0$JMk3{E05^bjFfV`1 zX^N{8cJ$RuLmlzUzM55@lB7{7>Hw|C|9P(fgVlST&$4Bb z|B{Y_9u+=8YhOuo7_kI}11ttsP;z1%`oA)Z97^)0g#Rq9@i^Z}X;daUhEFUJ)6loL zS*|7E6;$B!N2Gi`CNdAI~kD!!Pu1n0j`N)9hzS zg#KFxgvc5Pv{KWMf^Utz;ekG2NJRfPF6e~j9>pdxGQ1}P9}=>MQ>Mc$6uTSJJAg)z!S-4$?J&#C6-Jon64U=+Eq3iGEa>s>f*`2paD_WRv>zzZWpEgu++8y}GB6zN1%_S8 zzz6b^`2ZM(yr@5J-bI^_`r)-*w3&QgPDX|kWDd!+3Y_%$B^LgvJ^3318}Io(S-X}) z8c(IDP$JKS;o8S)r1caIqXr9}qZ75802O|&l~Cc2wQFe>LU#!jKCOlmrIOlE`K}!N z(++JR9F9xesZC=g)B}_R7!sIgTathLCt8bwOs#MlUviyWx8ZQ*efF` zC#;nKEGkI?UU5fCJEE>Me0sMwTLOfoG0Qd5m^qgXC{py&SzEI+>XJ;d6uwBaRUqw* zCb>pHrYBRWCIry!<1>8#@9`LO;4JUSm`(_-4uE?iM{juekHWvlq z`Ny=ytO+Cr+h~Q~X_KS_`<_wXL3V>ouR+u2wE#_<|AnUE9o7q46TW|53()jWT7ahO z)IigJX#tw{eNDmrURUs@x=l131ep}B%Vx)em_VuFjUBI2^EMYC9n!LwNRnccu424D z0$9fa9l`>cRZ?bN{yODk*BCsfg>I^ZW=NVW%{$Dalpd$K3UOhiE1cXtV z$VfRo&T{3$O)!;mjaPj~<84v8eAs^vY^lrSb7l1foLS3rx*rfZoyXhO=+e09 z66`RHugxv7jK5E3@zk}tY;HOOwLR zw|a$4q5x0MHr+A}H(eq1ldkQH3>tVc59-=C^ql=o*NOD3zoCnuJU+K|1}f>JpV2t@ z{2U?uiw7T@Ynzx+H0GVRfX$H6$IMlqiNsdX$6zO*Z34il2`H^xy}V18>2rQNx$?#6 ziUU8^t$#SKsUvl3OfT(@@W{*G#B~Xn^6=S@_Bs=u-~RgL;infjgoPbHX=&Nov3h6O ziz{=@C!Kpzn1Sz%c$Pmp=YV$e0Ns04F^P$mf+xqbKe6V#hdv$b} zmxt8(La*1mwFZOXr~MQ4Av<i+!Y%XMw?uGvTF*Su`IW!KBzW0POByS)6M&S*3? z-1zd(Z?C`X{OrohQRLmI)5*{CZJWFAc_DSs6Zyl-{Egd$v7gv0?2%I+zxmgc(QHPiw}>)zi4$~z+d@gAFD6i zPaVmsJ0&C}Z2xP_$gA8(@ti0BDzPQ``G_T}9@?*8I{$LMc>cwzeZRkKb-v&8`{{Xq zFPSxKmU#&qH+{yTWnn8{25sbg?N|0sq_&Rx`^JlxMyAcn;`X1uSoN3x%T}in|87+N zy_q^QmtL|h?D(>wUrzGfXcS`pw%Sa0et+`w>0>v)+*I*zOMC94eAiPR{* z9OBqRO|_YxI(K!=qm;i6wcmf53&~V2zBJb-gv<@`yqN1Vd|pMHdn?jIvn$4 z@y4%CJ!r4v-aR)~w>d0w9?pnPcL^{8of^U!*9^Dl~Ojys33B z{q$=U8?*fgVz`<4X2Fa0T&5=jt0(%5u(Ki1ODf~byD9ytDG3VQ2hnjQ=DMyE#?Q{sl%qhTLN<3NbsJf0;!M&JqjK(I+tG`N zfa}ZC7o6VG@|y?evR!}rJIX^JP%bIliEPB+7n;VhUY*uU59aCRX(yDdKnVZj>E4npiwDUS;#60gD z6U7qYewNOQg0&UB>Z6z=jQyw93cs|JNeit)1CIYV@cPkd>VjydJX|f>9BRgTqy0CP zw^V5BD7vgFf{S1?iS&B2c7|(b3=&E9>v;s2)tf8s^f#OcN~O;j@d(q zi#NY>w9b9)SC#(LcP`?%<$natYdsTH4i~J;?fOGg`mmPt+b8Or@mum|#DJu@$gYFF z)zYTW_&HaHT(QTzQzy-kCK64DmD4L5Y`p0V?A|}}NY)7gr8J$95^9Yf(_Qr>ENZ6X zjNjqi%NmsSSE3lg*VQ^xap>aUxk;Hb9i=`*X-XJf85UsP$MA=bPg}6)Pk-WRH%)4z z{5cOBHHvRE*s`HgTXIUP=rRa1vHNE)tPJyseR`IA+-;hDzEj{u^s?rr7 zEJ{?CBoa$!wN4d+rxV0`K4VHQwd8`2x0%&wVRp#!eoA}E65gr}VM}B9B;8+AxCkQ~ ziHe^|;}K0sEw5gERhAr7mkqzi4sx~Y((5m9$f^Mks} z$L#fQ++3G8*@r5he~tJ}AcVyeTF(xnPD#K%4`*PUW)oo`yTy5gA=tRqM zUx?8g%`nU-W17vPQ&Qn8Qda}fv@t}CeL8`5M8n?31Wmw%#XFx))s<@F6cyc~I)Aqe z5%uF|>q1*nUHj5KOl;VF(HvK9*AjW*;Ab2{5e2%_~=T#tM%fIrA^;2CpOFnXd&gM zPbahom)`U-vAd3MBu0ne12=t|*%_zsbLE4|=4^29wzzDjAMul#=s}mCDvM2wPgP!T z9({d#$6$i?4Iau_@6jpIb;^Yx+l!_Z7wTHB5rhw6UEcsb`G_ze&GrE6aVm!Jw_Q>= z2qEQ|8p_tqlS{ji+6m^0MKn6Vmv1#Wx_;mFreVI)&+$HAIcJ`I`Z<5=zVs@C?r4#z zqG)nyI9cALXUPG-%Km|g#{<<@#qe{MuWu4D)32AzGneM8Q%(L4?hr(0O^DiD@RT6t zYbwWC%H|E~(^gXzqOdGcq+CJ47XniV(snq&_KYv7ud5v39})i9*G_fJG0JgIQ&~wP zt;sqeuw)q(V{cAW-D4etQE4twt|Vf#X4}lbiv5D+roUx%VA)S~b0#&JHHl8yt8`qT z%UX~`C~}xkc~F}p(U!YM33SB&!Ku-6LXacivQr4K?GHjx7L_$=MJ!j8 zt~SK%;!*@vDc=Jeb;-T?=uBNzm}t4DDzh-0T!VJ0EBc#Ceh53XnOK~Pb-(-Q?PB>i*2=qi+yAbNrN2%C z0})ViAP5~&S8g>`P716z7gTYie~dsjZl4;H$;T8J%0}1QbTc^VaoxqwEuRuo^ zFvfD6PBm~TV_9Sn9IO3HZ!1dYTz2@8J=Hk^ii| zbZK0JGW*5=!dbU6ldGuLGh!mGefUMW_?sm#Se1w6VISn*JVuR2+xsc#qXr7Nk*D1~G5@X9g07Bh7V|EXKWe^T=Ia8#sEykjVR zc4kvfaLi#LWxv5Pfh!%WDj!PrDq@M014-*we`+5Z)AR~K7}}%|eigeyRR_Dr+|i+X z!m(fdY^^$1HjHbL7Fv|kq~uIsQUG7MTInEymW7>+yGIzl9B3gvIiJz!k-Krxs`w>S z)3;P=5v?uTt|^}xKqL}`xx4knMQ9csxNCbq=$HMXr@=CQ$Y&WaSHSx=xEodE-#pr6h+E3vvqAi z*%@<1Za~>Nb6GAE(^V+H;b-0NQ`J5?2EJdr&%dO#y7`%a`i+9O-^3$aJ`L>;yPJH= znw!ds{9?{oF6eCi<8A9d@JG9{iFt~>ja0-IWt2L$s+Z9^m{1Z8_IBuct}wm-`1Ff) zwpG;kDQgi}dXcG^Gsfi?V?9&XINu)R4=_%`3DE8pkJ1{-btZm-kk_T{PG6tH|RbJ@tXX^5RfKLwy2eu>`+PyN?yzHO-J8}Dp9_>#d;QAC`TBLxrk`sO!y;QZ zA4^}O^+yMfuqP0B@kU)6fwn50~B>6**S3xiWkCFAN=uD+O<(7o%$8f|{ss{IJHFc5K+ z?YZY~zi%%2oowJ#5(`Mjdc9RkSM{6|{7d($dv#0h)GsHg;P-rO*Zj&-%)u9ZO1?>& zcgWKFLGPIQWVwM_xrnbAOPhU|;4Qv?t-qZ*m@ZA;X&f5AaW|~W|D(Ng4{GYlf3 ztHr6CtUTPx3L~zL%Ct~{QmFz02^b!Got+l{-e_jjlg5rB(NPl603D#By|_9nwn6%i`Z0 ztKrqw$dMI^Q9topv-yAK@G~ih*6z9fdk%jpuJM60^4KN3tp0XwuNQDMo^?_zPzS!F zks?t09`3-K&f;92Xim&;r3|PL6wn*yn2N~9jq+Fg(d&1`E9KcXB7};BJ2p@qZfz!0 zUm~cWwBZ-PcLySeu>1~0?#$p#kwpm@ZyjRDW$}+SE1H~)BU(292FLiCm3ft`ulLd~ z?rtZ33GPsYgUjwl&=vpaH!#1@g(9n#`~G`4#QlMnUczXsp(|p5v4!pnwqI8W8&p)( z88`T0>*)NXQ&(EQ7Yl`CWV0>rNsm5>taD{I@NDHuDLTxJJ(#*I#)tb-#z)SLZA`yM*|T14{O`2U#f1|Yr8w2zsg2Rr7sxOkFtGNmj?|3_NtF% z9+k2oMg=c>w^|T#kHm1Sh+^4Mj~y~k&MyoqZzZn}td&+bHLu(As7i8S+un`r6)!4g ziqBljxDkD6?ZehjU6CgSzPw>o;V+tP&$^$C&Oc4QxkGZSr+TEVz^SPO<9+t@@o$JAx*{Ph1S?5y@+1$VSgV!~kAyt9q_6(@k$CjT-yvT9zVRnWzMf_YRJ+jS6_{nmd z5b`mh&PM(16hb>bQTCIg-n1{ERs7mq)ZYEqkI`Xc^Qpe^!~UOF?eD?kn;ryituJ>^ zN}lK#)6BVWS>^v6nmj!3a&FhPr?1RK3tX-icKHzmZgW$W-aIUa~jE&E7jyEtdp4-n41IS|6es zyzLV*Nxu90P__I0O`(&L-amw?)1Ut_Y_j-;Z@9W;)IWT(ZF1{Q^`IqS=M)7KMdW(W z#1T_cTpF31!3m0-DshuV<(?OWL`}7C3X9Gi^4}RfO%X@NVS#CgZs#*s=z#BUe2H?y)xo{_d2j3Dq7exX% z@Rm?qV*unoA|}>bh>5eY0Dfm77y6z^TgU4=>Reoh=+;20A3#?4%odw?CrXr$n=uPz8olt_gP$cX$uYaB9xP-2Akx+$pupAHg8KZBtWg zzpr$J42#K`n30tAic~H%oR*h5C^oTCYQJxR5o7Xf$?2)4gp616_!ib5Uyz+J zt(I*YOrc-yq^yir{eBNqNU){AcI4JD*@@laipCXW*CLA*o+LWp$qb@X$@Ir=-|KSL5EC0-x~ zv5oSv+GX6oui+eUu*!C17$*Sf*=?8lZ-Q^K)}2IS|1T z0Yn4hZK55~k?2a?B_1IPtb-ASAd8Dpm{GB-siI-8-$@zSk<21jkjKe?skf*^YBu#P zbyX55=_i>YDVMC4te0$*Y?kbo9F$Z^PDoBk&PlFG?n+)tX{l1`Ck>XqC7mjr?pmry zw4aimmtK@!mHtH|nx!>#ARSCMq?^+%>2`E9ZJ~S6@pJ+`lpagl=xlm2J(Vt|OXwx^ za(XqrhW?V?LVrW=r1#SY>67&D^m+OUeVhJ^{)ZtLl2I~#OaK$YG-8@CEtvL96w{rF zW8#^?%xGpTlg8vS6YR`1#>vcPN|+BA%&cHOW4>TEFm7f$Q_1|u9AT=M-Rl0_`Ts#z^-WW!i9+k}l|+pz7}Xx75^VF$8<*^z7to5p6dli8_k5xbBrVO{JB zb``sZUC(Z0-K>Y*%N}8WVSi;WuwM2OYrn$YW}nEUGDaqoDP+7%B@2`V%R*%)Sp!+P ztdXp%Y@7_sev(siwOl7R$o=Jk@?iN;`6zj+JYPOVK1*IKpC>Pqe=c7y-y`2AKTL=} zB;S%XW`kU>IzPwo_bll=pN0hI|OOoSQKrXdkdyhSu38WRJF5yVJh6fv3@ zL!=VfL=G{Tm;x@$LCgmiwiF!LN8r9b1?RO6T-UeYxORivItWgy3S8E2;IJ-%yZRHH z)kAPq&*3!Ca2`}hjX>9t88o&TdKVkTpo+us-K*P{*WJNZVfih7(nuung znP@hegBGJDs1#xJAu2}|=u7k!+Jd&C@6k@Q5A8>X(U0gT`URavzoIkf61t48pg+(} zbQ|44chNock|an(k|ag?lP1zkHXs|4Z`BIxL&-5@8aa;4CG*Is z=s@pGs#Q2uasXZJ4xDY-7>lt<1!7TkrC&NV}`jL z136^C$5WXM*VyDCIL|CmYjhK&MN~Et2C-&9aWuC6C{J)X()H*aSLXQX@(EDWNo2y6 zZ%GnxLLV|14RW1J%~fqsBoRueLfK@uZtt{l?HM;7J;K#GX_|^t94Dmd&@?<5>JxEM z0yzMCCbBAd09QfStT0kPaU^W%MY3{WOw0ntWD=uDO*}47MSdz&%`YTmV}aZc>epb4 zoF6PsT496lJMx8zleqFeGeDe_0wOnp*bL)Q18@wY6R~MC#VLqgKt1dmFosoHB=GeN zen~4ch0@^mcd+_ZyTya@7Q3j=XV(-`%$op0-gYyPI5U?$^nqBTfzh&c) z)O9jjCvh}$G;d?cW1l9eZPWi(+<&W!>SJf$3)G4p2 zQ~sh(`72_9U7VFL!1_8Bo9dLe)+v8ir@XyRd1sySo;u~db;|qeln=cs+Z7Oc`$Qv5 z;#i&Xi8|$<>y&@3Q$Aa#e7;WETc>=vPWft`@(rPEhdmJnzE!8s8TMZYR>rDz@q_voOtRr0_fbm0UdxCwSKf4UGe|D}_xR!_L>SMJ z6wJCGSnMp6)cK50r!x5#J%JRp5zrg$18b1 z-k%TT8}i|NBfb?M!MEl+@tyf-z8Bw{@5>M32lGSuvAmT};>Yt@d=5W_pUO|?i}~5S zeJ)?hm+|lMAM-2tRs0wHTK+43EB_7u9lwY7@O$~6_#^x={#X7Cf0n<@U*WIvfAM$u z`}|Y>8UI4bC|RXksZ;8eMrD}Nq->ykTN$J5tsJ5pr_53c77%`31q({w_u5b8M1t7* z!+92k$p}BfA7aBmB8UhkLL733&5`6tc8qi6I`SMY*Tz|gsl<(HS6GW6{O$)lw=~ND zro`YnRyZ(7NFW7$97GHyLRS-mi6IWo!LKHU5yM?w?1P!Hgq5%nN%)>w`!)@wWFiHJ zHP9Me7wxPrjmW6iXuRu*Jx-TP(b zRpE+s_S1bvtgT1?%2n!&(`_I&*Q0NB-2u9r*inzZ)78H?PUj(hs7K%LS_kyQ#F2XR zV=l$)INeF&mwNPHU754{>3%0J)T4V{hi1nGTp_O2qu+p4wuDv2OzQGVYPaDizbUo* zz!l+>nmM0+Ewx7gJiN*I6gXQ$f1gZwEwz`3e3J`FTrqR|=~$$wN9SFi%#G7&kiH%r zA{w9vqL6y@FxTjLak_@6Q9XJS*G`}}N3H77BV9rB<8u0nsR?9=$uP zrW>s0Zb7swWC5$|h5FXxh;v0P=og%T2GyevftEc*jdVq(zfwr_E*e#jaSSl__K7y~ zQ>tU_CZHsgT90!aaP}3u6rzdOeU3*t^*Hl@GtS4UX-jshRbMm-O{vE@&81n?Pd5uW z>d~F9T%gZI3+mF*LbS+rbWxnH47uvkiDBpiSM!p70n5>fdh}H=lVKo0^Mo$0qb00v zHTtX`#}}^a(DG}vp&oq`v>XX7tMa46Y7Z&cGV~2{*W=vo`f_ocZWr>@qwjUGOJeOO z39w1%06I9v=g|P#5o4K8fp&;UsSRz$s*N*dL^L?8p9PtK2M_{nmWf)5)y}^)d2aY)chdQBl8tLTtH+Zsu zWuC}VtBvFYa?%?t1;DaEWXY@TWjZf{3?Z2J^QJK&6DE(=Q9MehDz zqgjYw^N}6RL+_#GfH15>8_*`e8NNZ^p>1df`UxN&!v#jC@Q!A)mRbmkqEFqef9SyXEb&q-> zVI+D0J#+azips50R-o!x6|L#yXdD3%kYef(J)5Fp9y4wnGwu5 zCX2~o@|Xf<3SezB09iZ0{KOn(jx#?qr;iTX zyO@2CeV<*%eh84+CH5M7gZ-1e%id=nvX5kKWihgzvfi@3vH`M0*&x{v*?Y22WNT!f z%ht-)%Qnh3%eKny%AU(fxkOIO6>?s#l56Dg@{w|@JV~A+&ybIoXUlWt>*U+zyX7AF zUim@!Vfjz;qY8z>->wKzgelC5Mv5kiW{T#DOvMz%Ohuu>p_rqXr&yp^q&TcNt@vGW zUU5-zMR8SeU2&6Z!nNZ%a-F$ot~+EEy|_M*KfKQ^=RW3ELgKK7`k{V)&oJr}3Zin|S-Tyqn+7?-oP+eM(ZP5<_@@We9}vW@SUA zRhg~KS58t+R?bk)QreY8%00>>$`i^{%3qXcmFJWflwMV+>TOkosi+5h>cQ%v z>f!1UYOG$P{!;z5dcAs!`Wy9k>TT-3HKc~o$TSL#TBFtIHAc-Kja8GX8K=q6Mv zkMxiAPxLPh$UqsShCoAWLt8_Pp{Jp@p|4?pA<;0%FvKv-kYdO%j5lN(@(q&=lMPc1 z(+%?sC59!2GQ$T3Y*=pi*s#*@m0_b{vtg@Yn_-7xr(w6@CqtFtq~T}7Z-(Cu=M5JP z_FIN~h6jef4NnZu3@?m?kvD3MdZW=8WDGHe8O_F)#x}-w#&?XJjnPJnv70g0m}neo z9Bv$89BZ^0lZ~myamGo;X~r4GSw^REwsEd;zHy-u8&?=t8Ox2I8NV=oY5dx_-nhfK z$5?6n!Fb5{qw$FGn6b)u-gwD)g*0Aum3|zM8s-=7*T}DlUkkrhevy7{{49Pw{CfHI z@r(CM@Ehni*w5yd=9li5>6hy_!Ed5pfnTBD+(1>JCNMCtNnoqM_JO?v`v(s6<&(8p zCb_3Jzx4eM9K5yi{10gB{FPhC|8VF3@8izRXh&m56Gzjnv)AvZrHgW!eAIJm{5O^W zbjVeDwE6!#Ji4kgAFh@zCsad~>y(He#;xZ_#V|10NH&!HnnldJ;D2c8a?qe}C9bOT zJK6C~=pu?hV{ui8wv%i7rRHqo8nAoWM7E==@#S>X$W?ZEEqcq<;mQ|qab11oOVrS{ z=#Q^l-m5IOC8;{Ord~})W>@vquK-6cx%L$s#uQN^Tz;=7*~vBSdO90gLveW=om}BJ z(ou+O@r^Ip;8(ahWW27aH`4({ufF*e3UrnH`6U}rTe~z;(a|;KR$B4=+wS?d5lWyX zSK$661($XqLn6puiJ!n{O(jyu0;&i4Orl4vrE%0(vK_Mi-~wl{T4o*7kG=*MVJ7JY z$)7knPiDk(y8;YtZ3|I1T7Vs0$uzpy2lU?UNs2&k2y)`h(c~~(zK~Jk{=LXd^$iP zB7Gzofm?Pb2V-lpOhKXs!U#6$LP)|oU`GO(jn%z041SnEj-pL~XV=Bg>3}+fglRGr z3K6=pB0pT(olK?8nZQ5Rhqns@;_N=qRaz{WjQj$Af!e+YnTA5~${u6^ zZJZ1fE$~g$IvSZsRES&kCNoe|yrM5GUzjO_TKS|^(HEpul|Y8#oIbF~7Aep+5sOp- zpjtPfUTUmj)=!Rb)+b%QsSSi2gbq)<4p>{&Ls|+@&Y1v~71X zUR(lR*;B(}97B$OEn{TDiHR`$7kFnPnTGkvG6wHWgcXY8uE$FUl9TDr#)!rI?e#)q6{<0Y|kUFR;gK`P9 zkjTIZGi9mRI!z$MW@u2JbUPu>Cfjw0YAs%GxT?n_2x_WO1XB$O=@1+2NKK;%;UNqG==#8wI}KWw}fdeRn%oP2p~l#19|2|`LZ`#=p$06QCKD$im(~%I z?=Wr_w4hekspJz$G2Zna0w;>ijc>;xP-7F_{#MFVQO6!xA$ms3G^ zKsDfkRJ@0zJHo2K9f$*SYK9?pm{y;+~hy%Ef zlJInfP&HJ%e)Pf&liYdNWd5|U8^_3b`9|8EZ)E&>HAbu8Iw6k$WBgLSRo+8(K{ipw zu;pwtk%u}EzesrMYbu8P32%DN`|HVZOgdUczn~Y;A<}Kq0g^u?4%mTUygLi7fQ18{ z=u_&%WF`UolzOmGnL_uMI0#!mT)hY?1eq{M^lCMCtZ>-%I4hM&7PO8kKsYfKy^Hhu zlSUjkp2?&WY(VaZ#cqAAhx!hOND&SP6HgG-?jZ>f3SDJJPDK;N6~8(2K0 z1wa^(=p%qfQDVO&#zyxOMOZU}=)}QUBr)UBARLzrGl=umFHK<*am02?MWO*XG=<4V z193?TGa2=D!`=63Ni;k@NCY7}q541-!H2*#Rf6IV$Xm7YwencmS=l7UO8-kQrQee7 zkR}M?lNhLFR10!1IT{{#u*1oVL2f#ic`jqqih2q<8-gpQGNOaw$PR7Y>C>1mRA>tJ zS{WPOJq6s!rA59=>JYlXCwx)HKH<;68x}HRz`>(QLOBJGod#{LTA@wEPRM_K%Yr5Y zae{?Zp_%yHB4#{29gYRu*9%<<=Lf%>UOSTD;_1mg4=Ro%C?}1k!Mdlr)z@TGMI9?e z?y}D$U6K3bGRA#+5L7lIG6~fus`ij2C-OIWJFkO#yuKhDhay=1rM#Eyyey4<%r0dc zF+0F*-GgV08cTlwA>EP81}*%AiXxAaHh@4sL~Ylb8Zot(L9v>4``Yw||9CNFu=}q}8~~L|F>@SokGqv9iW+i!7pdTkeyRuUk<$ zKE+j&WaCiPNZm^3=!{5%7*#r~5z?W(Nv^_$6up>8Gdq|Jm_pTi%-PLHKK zS_UC_FZx$HizcNjq-`YMO5&(XR3XKYtKkq8lI%EV5Hubl5uUJ#$5mEYFs5VVS#*Ff z8<~$P9DiW+2h!*oQh6R@Af0|VrkgySHbO-K@$xr{ad6(%Jv5sZ;W8aXT3 zsmDvZ%Ts9`)C~y2F+Jo1@ZG5lFNMQYr+hdhl{F%VA{ zuZ$P_a(m}+iy0aoKOW~);#pSNIAI4qbXWg?mV@k1k*ARR@gFi5gO+2oM)DFDwv_7J ztM15dE73>p&39!TIc(V>rLm_EXLjF~$yZV6W4CFmq?_Dr8OQIC3f--6-50RgFbQR&1csmVG!2c{S#>qCGBVctmW<{>!qhT zchYouQwmkMtMkbOIfnjOHzadkNYQHd<^s~e_(=M1QL&#JuajSr&`m%gVLMPCh;pm$ zNezs%F;GBPfHIy*ayEi*pe9?u0ebFnY6u~BZINfv;Xv*eW4g>mFwq`4JQUjaq335{0b`PuAabO#sZut~HHYzV0I=3LhI;1NBd4na&x#^80i ztQ8H%d>)%hC&6Ka#7X2AV+_`c^k6%uLS@}}gdwAt^HVNJRZU);2q0z#!e5oaal6~Qy zxGG^zkQ#-|Vl$ykFH-UibVE#d00p4kQa&1qr=)$c?BiE{Rl3KyC1gNJTQ; z8mi%F3)RANXH=3i5+7-;NI?-evW;REYK1qpQDjJ43cBgjy>dZmT3|<8#dydaZ^1A6 zZKwrB5j7XQ9VkjOL092j8R=)R{Pk{4FA6+iUa{;r=|0s{ zv5iI>+|?(@4RueH)B&s;-HX>tf92fCnTjS9+VnpU)aH5zYLdTu{z}Co3U$Nw3PlDT z151QcWHWF+i;JH|DrESifg6A~tyU;eSG;F6utft~KeLam>^{eXW>tOZYxD$UsO>5E_cky=$mO>fq25`Bj&C-Fwyzl*f9TfITrp7R;Gc4rksDdeuNC)?iCljn+$b@TvXhrt<)hrma$ zKBO}qmuk3ty1%fMU@(LV!S2v;KoGovKu{;ijC4OB^z-u(1PjEAZ#2ww_654&9Rx=2 zAa!HeZ)wgxK9Px=A&87hcJ{_*J(o)Nf*SA)Cxm?wJwpfZ3=!ZNdg6O}E)(^@qYPXw zip56^TpHV5^b8-j6!%N;4A1D{Ag--)@;YIH*E6U+)Vt(kz6E!fOH({lxD?Ig-;jRt zc-a-Sj<_rKQ(bpo=k@aCNn{} zYPZ~q&fv&B;L3g#lN9`N54bX4pmZ8P*#j2&7ct-RRS3Z!gMRjzKao{1f5ub%QbJu& zCnpl~_*V~QD)7~xd*x0EebQ$}eB-G2@MRtd9R#Qc9T(;^7$>NCUh1=B0+V3J z&@o|-KFdj;@L4jk1D_>3;to43A4ft8Pv*XU6x27W&{Lf!QL*``e4Mmit|jdPvf1e_ z%0X(z9riN`G5PtoxD5>2^~KT_Qsgda$-Pvf-EPei)RuFDzx|1FFFLPCZ|Qz8gM%fF zg1r`$Eg#IVcd0~2@hQbA+cY;twwsmW90C=B-xHKkOfu7*gMkDZCz2BM zN+s?*n`7xgKouOJz-Vcw@Ph6D^NU7eW_*KoIxS+U1J%Em!)}Z`c5vT#{gB3mC&7F{uRgjI!B8q zc4dM{^~G{RXtmcp|2fx4f|lWph@XsG_9hveB;`e*Pwy@z`8XLW!RHkGc=~;a5`>&f z!HYQ;S`1B;HIQYQFM1d1#0QvZc$kMEeySgypCWO=2r!gmNAQeW*_@w+&=E+`qjBC; z5`G-xEcERJAoieu&R^k&dGSdaz2A`f<+LtMeMFdTPEQaAMwff_&tuntv})g zGolCUoR6P>#HZ3=g9NpK20qwf*gyA#01+q;7HK^<5nA&Y^YB(4094z|&oLr72vxUfLBN)yS40>LUOgPLVmJ95n0I4_>L^GbM-M zJKhrvYV)JdM^-A~Knp%H010pZXnnwWRO^Vy7VUdP`C@XB$0v%PYGjp|1pWbFA-cs2k2px2Q4&!lVuddQ{$fZ`N9QXR}e0c=pY`g z<_oa>PZfh32Ji>m^LeF$qSc@?;59dEL9@VX>d9gieyLXG(@LlSr&;|_nc(uoE3s(_ z&j@Vd8D_^7bAqykh!o!)MeR$DGm8~?omN>WAPoYC&lV-i^!R)!bg_3aY#TUB4Oz_M zXF6pT%>W-bN0HBxs`7)IP0?401kqO&OMxQzDm~1y>@!LwIchDIxHlM-Pie{T>BSUY zAFRv-P(n07VmrYA30C*q8(DTcC1ly>|Bo#DLT#2kLJ3*+#s8TUc_9k%=}_K_+^uz6rklrU~w^D$~(IP6+A?_t!P}MsZW12$`8c5tIP; zzpt$M3YmtAEN+ZPC8;v$M!*LUhsY-+81kC;foB%OHCnQ&5bicNCaW^&hQbIkd@lt~ zenK0-po<$|M~Z5^)C?74arHge4^c!W_zofh@xK<4RDeJP%@sDKHfb$}Tsut#N$Yix z)Lr+zYcgCD;o)CDQiWi{RhddC8QmS0aRV8WxQDCT@-P% zdU0EPQ~s*@nHNE~uXl>rahLFd?-qym#F9`siD&M8$E zEhPM)RX&lY!b-)G?}RrOMngV|nA{(aD}LKu{)_4wqxws52aVv>N#bKPk$5g#iv+az zK|Wk|OEyQ=kloF`%lyr_n5Ohrx~J4Doh(&IK9j^!UTP*4Kz>2?MCT!@>V>;rRwd!F zmsACKXA@9~fk_ZZ3U?sP-=f_mefhFzc-!MmdZ`t4#u|fk0@JqU=E#>%i?@ayT_-Yz z`aD4!C?=zKgcgHE{D+BzYb7)UfMFqF7XkiG_>)G;Os0cquYCgv85PsIhEwcWa0*O2 z(Qwz!1uQpo5zoqOi1a=CnGDv0Eby3w{gsbQn zpQBuQ5jFx|o#Rn2ygpo6Gi{4dPKMN1^On*|M~f4|!0O9n@XAKYny!Sff$r(^G(x>F zalki9s#U3UH=mnXS`8xzm+R6Vuv3rUG>4B=ZkidNDqE`D1BY-pFp+EoX(09h?2CK)@0L6&D>bxq2%_;5(-;yb@ollE9 z00FcZ&P*b_oT-!?9a|jbUOZF{X7L}8%uBcJ2NX~Xyi80}!_xv46XE4u;aF?j&vMkI zN(k}0c9Hh2i@3B{s2)Qhvfi;qRNZ6kp1)qbL?AQQ@nUB}BEc~% z$mRuH{nPFVImlF-{onpYy^2AMdue})L+%eRs2?a1>)z~D0}}NbbHDMgdNqY)^@SsU zQ#c_SnNG|gL1V-#Vo^HwN{|kG%>p1eCsLD4j}%2Ba`;k};t{xWYfUOG;02JX_->aW z!xLJmbbLxamH1V8V0Jwqs%533(xWN^AiYS z9E!`gXc!toZDGHlPanGK!*YhE6$^F_6xp|tHMu2CB^Sd}Xj?%vg7k#sQg~+>Qeu@1 zpdQFA(~Fa^^&3s5h+BY@7wdgHCnOp|XezX*fhCH^iYgAUgh2Jd5}@J;uBnmXwb-ta z*n3PPajOn!W-{@g9|0%m0AUot=U)KZP)OB7Pqb7@I;GaUY$z<_#91*I` zAd9ErkKs2{JQYk-zpz(HqEZI0??kqrl~FtePYBaylEstp`7kX!M+Z9(Ui^57R`lX( z$!vA;B=>rgRzs4-6S1d(HkF1<34|$%UN8zWNW`J5{YO9xn(JHqK`k3-F)P(+CVL3?ep5H>d48pFNZc`U+d1Lp>G;Jj1 z_M~XLlJ1C1t)6oKma8?jm2X`B#W#cD@u0z(xRpj1PG%Ik8?Vuh8P>65{2$xze7xaS zF`CmfesE|?qB_>k(n}J!yiuPrSU?;V|&=I(;e zJk^f1H!491mm0{6{5@MfIe3GJz|P3sSs_>R^@hE@&xFED2abwO@9gs~4NOkyt(ow+ z^NEoQkSB^RS~@tqh&@S})^x!yftMd=wyk`^d#pOC!z3jp z>?WwYWno3vhbzqU&FA7`<|ir}7$U5yy@WkRZ^~~(R`+cx^>@;aszArm58KegSD8Ld zaen&C=hS6FWlX9Xsm$X8JiT>fj%hrf_*E-s*+9A3zwltEBnW8QSS!*|T78mcn5T4*Y=#mKPtIR$6(|NDV(N>%O=55_=MN zggDeom1H%`Hw8-gMgD}^@{uJ$O-Rl-17bY6yzN}OZjUF^N&fm`Q*)mA-b$GKCB%dm z;l@&~5uFZNPS3CoA4?DxwkVwlYM3y#Eb@YRp64A| zvPr3myxPToQjax*m%P_PJtpEnlLLXo&}9UBtY4oKl8#HyjVn3v5kY!}$vtt-C0F0` zyGdm5Xid8X<0SnoYxSgqXhY{6(aqWPt#S2H9$CVX#WP&y86MRt&o0+2`0#m%`FeYF zw=8sD!bQWSgoGst-^BFtn5lA;cH!oh@;Q^dVV>dPbMAevy8ifiki=ir&N9l>gXm!_ zw<;apsDIcqk3!d+VUa12pgqS!y7ze)THc)YSpAoWduElcY4c8e-X`6r330LtN$c)$ zXB>laa>^=Jwc8glm9m#x!{=x|Y)4(sU2(Z{$_K4G{*_p$FfCh)ue7};fTZ|Jz~mCVN;KC6$vBcgmpw%@m)KL+!-~`vrS{WrI}}P zDlLv=S<&o_IYoOr^zv+=94S=M2~$|5X(?;D&Pp{z!-K?jZMT{E%T`M|ABy0oITB*z zL`jPxOC;&B|6H(S;Y`wFl@rWu#m3mlw-J1v^&Zawn~5h1s>v^UY4=TtZFks zWbsAt5+!xu@tX11!(!7V8ZvJnuYTZ|GWXtv*kHd!&u_IQ>3<1wMj=5q;5@`KuZ4)a zn?OWOwGaWLniJBTVE$0^o5M}+h2*`~jb?j~g=aL87pWT%Qvc8OtDAIXyiY<-4fHd0 zzl}R0T^m%6bCAwRf0?z0NGI_^q-$YUu0__Q9>!viA>tDrJd$dmLiFSv(bu#U^ zIO@+`)4LJs!v@dw8P16Ik&cK5VSh|5C@s505WUI3@bXzF67*!p$CrXV=>)&|td1a( zxr##sU$ORnj7k02`8b6{J2lQt-$-U0zd36}>@Gsx?bq)9V~XuNyB&B5NxpsFef5MX z|9Xg?&n>r{C8=``cYnN8W^VGP=UCUeh z>P#lm>W{3!=<B)hW8LIm4(hrorCrOC%0e{|%bsq#Qjg*V81M_!%9R9*;)xf8tP z^M)Q;;;|?^C#Bv5WrZZLVw<)?dv9^9xu_)2dROJ>OnJXjJM|A1Px{r#B@?W%+QQhp zv}0&sxiP5XKsT>ddU$8DbAAk7Sjx3e#l5vxArox2%TDK&#{D=x|QC1E%7X51Mww5T1BD|TbB|_miq_XC#9TAi# zl;WQ4s`iFDh+`XeOH6S?TZft|4+T|vgH3njl{rksxsaG!!Ktx?r@`X1aN0VXL4A#v zI*xG~xVxwLytC$*JE7H8K?mjB@z2es$&AHn*H{k8Dt9Q$KVsKCMCIXM6nR7T4MoT0 z$F1_NhxLtMk8V97yra%mZ_6+5E9o{OFvi20U(nW>+6KK%-DJA=&bRnuzS4VF730tl z<)My3g7ClWC4wrg1iBKsx;>kV8JqbeJ!Ab;HZfT@wblH1LgYIxYCIse2w$vB&N;$1Y5_QD}m1k}+kw6f} z%hfNAn212Mt3k|rp?~b)O>6&goYfYcF;+Cu+QM}kB-+ZB{9w<6D^c1?wYnmYsu*Z6 zEuqlE#-3n>^}EofbJdQh(D!dQi2WIr8||gG5jx9Iqi%Ybr89T$F1t4`ta=Y!P9w)T z&h$>8=LcktH=2JA_B_@=r2$#4pFk?2*PURh98zMG zBr&nsYGWWO39c+roA&ux%fisDqRX*ky+dhY8B;wep!&xU^Gsvqk0CMBjV8}viS>vw zW=&8pVwM=6RAFhpQ zrZb=A9i#leP)Dwj1Xs*8T^(FyYVf>B;%90ZP)(@3j}?{grc`_`UzYHoyK{jfimK?$ zIkqR7R|R-!RK0p`^-RvYPgj0cWxC7FnJx1!B(3Ed$76{tPT{!{glPZjk3wUVQqMqS zcZ^Y%AEO)(nS=52nD+XLV}UUZbk&Cd`A)jh>;q!S(ee_bMcH9#t1dB{0&P1hy`dhk@CcU|lDyD>M^8IjA*zkfy!!L1-OGX66cy!gx0&U-Ei}Y_*pBdBL zqW<|uf6H9f`yNvXi9yW8w@A4k(D0dZz^G%RwsnkcY2n6m{kw+~R-?YCfn91I95R=c zqF`OcA>OjK%rc!VpGlhbhQyo=vo_KV-Kme6?q764y@m+8da3)35~h;Yn@Wsdjv>7M zA(dx(Ox!=Kd<1Rn3&#*e%FW@&EXeec>7-xL@Svi$-G|H>{y|B=rC=kP$`IW`-|HJp z#j1!$%4&zKe6`$KXs}lf8-wnLb+gLd@dR2O*!US`jiS6n*H51XqQQC(L7x0PtYt?6 zJqn6g8*1%Kl@n^u3yn$Lxae80cNUdSeQc_>8jB`}c~_w376PJY^djWj17?ew^bmel zS{3t5kD_!aj^7TJaf)m5EmQ2tw&tOl3T05aT4%OfB$oDJ`zD9}dT95QLzVlTa$*VT zSgnguORD>2RQ?fRz7tk-E8Ig;=J^4(OMw+uKl2%F(ZP2r2b$J5?{5hwJ$mXxFffxO z28-1ERY0|S&KWB~^py^;>@1nyFJgL7#ibzcGevd23{?%J%erlwF(Jxf-Zp3chb6&N z%j|7iBuR*cn(9VcTS~k)Y{`{lgnwM{mWM;`{Fq#7b(9m@>h`*FLXymkDKBI;S1ig= zcCg*l*f?#A_Kl*RuG#j)zj9fi?FC)^qk>F8N^e;8{oUaOEoQe4Dj(x#A~a^Xs&c3y z&|x%qLbn}h+iEB6ounqLlIn$oZG4j5Yay3-wcmZCtZbl-3D>0jI>17sO0CKgYbb9` zdN?K~-@j>9pm|+r(R)GWouSo}-!FO`aA|7TgS#WFA1SY%N=3i+mA?y~);^eJA za}}c`js^kcCe}J(y7_9@psJ9V(@QR8?LdLB>!>=Wjes2`;56Y=6D?&5KCABnwlDE{{Ba9TOC+^UB`TDNRlkMro}CIU6B2t z&0(nAVTg%RS1jZ2oDS>kpAf%~vCbi@CE8ZF}t#;~P1VVDNs<79ElkW$Y3! z;WfBcD?S)7RaY6CUv45DB?QU~Fh4Y+CH|EwbmlEVXq#Wq%AX!TCQ4Y!dbQfKjwQND zti7eCmK4#JOq$#{=1{P0Z;0KzHqf>@z%|$yb=M#{&3O)Sjth(_T4E|OR4)rKcN|@j zV%R@B8U9|8rwLI$!=WA&)p^7PqPMiX5o6h>A~H3W1lrP!t~?!Fc`NwCydYbwABqn$ zH~TC8@yNX$8{XZdD6a}OA2C)8Ux7}Cgm+eWHZU=hWR^(*o`v5Ww&yPTsU>Q-yaHWl zXl;r9y8m-Y3QxQUF-2$FE>8@u{QY_5xi0(9%{qK;*U@v&Pn_@a%lTQqo!@o-{PXGy zUH-T*>&As$w=X=ucd^Ug7iax@ao6*UFOWA{>MfLcck|vCn(AmnbzwmD?vUyi=1b9U zT`FvPX?KfDFCs5Tx4T@};qvY-_RB9~u0;2^QrPFp?*3O^B>oXSo^|a-(e>y#*9#Y1-@W+yi={WBKe$o2{KoE;H(pfS zjQ;Fq;g>geufO?X^Pkb*{#m&F&)vKJd{KETdjGA$!?$)Hz4hY6?dV@_7yfp8_xal| zs_#VqamQYGlRfL7yxjb>>$gws+n?^)_4H-sv#$G}*$+S4bM)EE6VJQ;a_$mI z;21T)9GS6roLV=A%qYMI)w+&kW*m+z)ERMrM#rgMVO0muRiii{Q zm`?aCP^tabH28Q5%=2IotRa0atl|AD8eBA282hFMcg=)Oqvt{0fq78pe_Mku&Vvbt z{iVTwO@O+O=fnC&-_zh0lb{#%0{GVPp$2ze08Een(cn!`Pz-PKsF&;sbrQle{0o|WP8B~ZJM!(RBUc&OCY?uGDR zaVNZdv91;QuNwcj7`Q&w&uKWi6|& zJ+7-O*t=j^yMldPdv|T`xf5{F=XpN)<^Aw?e;a1bJ@?MN=bnD<%%9J@=fCNpitf`T zqD$KzVcmFw5KAmiJhm}2{=o<8j|vPWba zhgEdmVD^k@-=SF#j0e(ZRAB9uR+N;JX8b~+eek@_86&@}@LBy*{5wY6P1!) zG3sUL(JLoy=zp}iX7=nBQPErqPYF-UNf?rn9bW;v1zp<40PVkwc^4oiX)}T=kp6~_ z9Wv4rhGZvv+3SaZ)+u4=n6xj1egd-#Hx5bo0(cJV?wnvuOiTDO_$#w#-yR9s*~Y|- z>@U-P3qwVZNiwE?Ay4#sAZoaAc(R7j$Tg^1Xm>*Tcb4F=93g}lqW&sGA{mk+3eo0B zb7ylGbCkL3D#RiV8k9(7jyCszhMwkL=H9k9+pgO*3Pz_xdgNMwT+H1Hkip#D95Yzc z*p^$@VEeqirYq5r=!86w=YXh~h?KYyDH+3z*<+R?4_mInRaO;MvuR%%JW*BTK}1Q? z8JRF9AwDcSE;(gnLUswNfoj@{6?)}!;w?;yN3O`*_Cn!{hS*$`)!ME`*GMJVf*eLJ zB}>TnvYN6O*<_hrc3R)DouE!p#ndJ07IlYuNWG#NTA&TI4_%e6O$X7zbaOg_ZbwJbJ?LKa06KwA zqKDJt>524@^j!KUdKtZjUPu2%@1%Fp`{?8JN%|sPM&F_z&@bp$^hbtfSVqTqGTuxz zrXEwDX~?u-S}`4&?o1D+9}~wUn3yyshZ)6~n5oP(W-hacS;8!5eq}Z=+n7DfUgj`U z%$#BVVs0>H%md~H^NRVvQY^#rte$mcJ=p4OO}0MUm~F~7XCv5lY*)4q+mAJ}scafM zoE^_jWT&us>|AyMyPRFgu4A{d+u1$rA@&G+hP}dGV@tEjICPy{K`6xoV#im8g3 z3Y%hqVu|7x#csuZ#d*bL#SI6ek)-1R z8BEwMFklbCe7yqWh0PWNl7NjCHdw&Bs4l99f>9&X6176@PLfQ zi5{Xy=rMYNUZOYXE&3O|Cpl69?5-ktvMO1JtV`A-{mDjT2-%8kO|~aHkkMoxGL}px zGs!G+4CywOw2)SEIyr;UWRcCgM(3@WHQJM*K}{o?Hf-0loqwZ- z?Hc(9M+7$YZyMI5jeong!2wMg2et_eYa8qz*f==2p??7W7ZTPcxM9P9z;+Q$&SVxcu$$(6b{pcm_$LqRXnW+-pXWBZ{i!y*hQB_!a zN&gTkB7}$)1NU+6GHlQ5As^e_dI2QS$krM8h;J?;!4~1K-x}-RTtn?64Jh4~-?FYP zr&R&tO6ST5cCc;p-_32mhWpu~JJDQC1Cxt#WymP{z9yU54z^B4dRzU_wGlO4m|R&d zLdNe{x|mhWHAA!wh1T18F?61at)>nE?nS<~kzFE4b%=cqPal%m^Lcu;Y-{bFv*fa% zz@}Sw^}R=$2;@EqSLsNfbd)BeJ82ysbiN&`_XGJKqcxU5IV&;3&(Mti|B|-e001p)lI%uNBP5+P@ z0c}&Mngg7eHyAgR-4h0IyoTr<2c5glO%4ThLBvQSk->o>cspXm$AMIDn@<|A*a^2; zc)*@wzMAPOji^MJmJJ*a4{Je1i}~#}o=hY^fuBGmi@v^eFX*e%p|wIsbuhs{Cpe&k zY#?+h6;)68Aqs%1gVpdmKs3E3`^cfiOKkZZWeWht+erKo3(t%c%jT%Mig_J0DrGE& zO8*AU+o$Lao;UvY3y=s6M&jlhWE7^bi)Jten`@eDnQNQtU~$Nq7%X;8M2u}?x-*S6 znz^p+V0sh-=D6ozO*4rjw?+>W<*mMhuLo-s-qE zN&f$iN)5kPy53#sdT*uceU+{cR=Pe?>H2u3>r<7kODbKTBTNqZ;MHHK)Nr}d^|eaZ zrIoI4Rl2@g>H6<9jan$KejUqrtD8ti1yi*jEyuI$v85B zOd?arq2wC!uB@6YR<=}jRqihDE&o}57JRQR)O6}7_*rdfD_ux`0*`1cvy*wnHe@r| z4eUQ$EiQpu0bYieVgUFPe<^j!Zpzup6DozOgQ}aVyQ+t3pek9Fr829gsAj9?s|r-h zRV!5+R2x;BRKJ^4yHvYX2UUkuM^q)MGpci{YpUz2Qq|w82damvSE|>lw>;uWUe5Ep zz-xFn-kta0tMfJZT6`cM#0T>&`Br==-;wXccjkNYz4$)7ksrdx^XdFBK9e8AkLAbn zKk$?Jsr(#%F8>q1gkQ?%^K1Ea{Ca*nZ`#4{Jx6@C@=2>XP?SYZ%Eg^%Tgu<5AuPdF;h8Az`2ySh@+uDiU zJ!l*|LA>xSy@$nf_?_1F= ziAepXTbfxgJDD}M=wYq=DzGw%;oo580G7_I!P>5yfoWEy0&@&8{u|7RwmfrZXAAMe zH}EO8Cjg%g8tv<8=h>oiBb|RD#BbmWZ0iBOgvkE}zTBp;M7sS#to;W5E6mUb)^U17 zE8BVt>-HP51+IS{2;gssf4_l$u7v1M)*Pzrm~xm@Qx%e*145kUt9e1}g}# zS~iIMbXgZ;u&$ysqxDILkC`p>{iVn*M?{L3cckKQfER>HP+cGbEcz=CEj0r%jF9?0f0be0B z2Lw}P1S1*$6+#3cNH+n-6pW$Cub4(Qne!FSNI>~fLMg038Ane13I&fc zT|z0XK$%2N`3hw!pv=T5T0~Uf%p~(nUm?u_q}dK6p9-XT$ANWPgahYHRfDRA|y&#VYcmGSSlsrrx5lj23^=&fINMr@2 zI}a^E8__1T1@cTg&`z{Va?wwt638^2hfLEYbOl|5d{Y@of~?es98x?vfwYnNRzn02x%I`rE_8<8psxH-pYDu-G z!l-ss2dWd*nVLq4)M9EWl~1iQQLCx7)UVWi>J{}b^?~|C%V-KB1`aZ@F?1igA7o;U zbexopT}f}IcS!lyy>t=1pFYUQ7!BjX7#KIki}7KqGJebuCW9HljATYL6Clx=%UGEr z<`i?5InP{Rt}@q|QsyS>!}_y9Y%m)FiBwZdwly2Zn%Eia9M;DE%r0aXvrE~0$d^8V zWa%^Z1x}W-AJ|Wj6z#}GanW3Nt~b}0>(3437ILe(_1s2o6StkSbH8(caBmfqLZMJ8 z1ckH0MPY#SX)i^bB3Y3NsnaaQa7B({lwzBrNO4GUL~%@UT2W$BoK>7xIxBsY)s;1s zwUzai0m>j{urga|QchA%R!&vUgotR4(xxm?URT~y-cjCDK2$zdK2<(f1*lr8!c`Hf zcB)8K7gbk?m}aXMLyWXSwMw;4wO)#n9;@E-gcJmEyb=N-HQ$Br#}9@;Cyr0%Q+ZPw z#5%u1AhUx+7bXf;;Rj)g@S|{8 zI44{Zt_atJo5F43u5e#nL)}o_MBPl?LLH`Vqi(Biub!lyqn@XpuU@ELrY=ygP_I(o zR6kL_RKHfgRew}})*zEc29=61O_U}^(^J!1Ge9#)6RR1bS*BU9*{s>B*{<28*{%6g zQ>giterzcLYojy4m zoPC^qovS$qI5%=`?A+A3m2;?bxO0SataFa@DCbGe)17BJ&vu^UJl}bt^J3?v&iT%E z=l#xqIp1>r+xfN5M^{x>SJzP2MAt>vOV?kQqqFE{>SpWa=xn;5b)s&$Zl&%Q-5T9G z-Fn?d-ErM@-HXn;SGrFw)m>`3)OM-s;_uSHCD5gzOCy)YE=^sUyR>v^?GonF#-*)G zdzX$bkuH5)2D%J(F}ftWB)g=#q`Bm}EO1%mvc_eD%Wp25U3S>!EOaxKxjc4x;quDm zjmrm@PkKU6>g9T^Uaxo6yX(F6zWQqV>iQskV|`P7bA6~jTpyutr;pM1(f892&>Qt} z`UHKFeuRFEew==S-lCtRpRAv%|5?9KzgWLize2xCzgoXm|Eqqdevf{yzDR#ae?)&w ze?osse??!azp1}%(*LdhNB>CwME^|x$sjXO2F9Q=2nLP8$>3tBYN%cUk&2_)gb)6x29|;q^TLR3omADt-meZ z?f+Nhh~jxFKMfU2sCz+X2=RR&BPLV!Rcuty+yHh9t6&Dx+i4{gTT!DJNM<8NZmrt5 zDgxyaTkhoMw%>0hv$e|0Bw|55y16a>b`lg~PuyP1)+k35pPf}Vx9z->4978i@2+P3 zD)76N2+eKEdr53Hrn~~P`JB+qw(VXrs%rDRznb-}7y*ahHs(aJ+AmKT1^O)^xAHD!#!rvr(-Q zx28Vol7_1<_Fa9^W-BdsBm9UVV%9a}*+%v&nSkv}2E5spGml#5xkiS9ixdbrl zbAbSRnBMejdam3?H=z2;=Y6dg;&9zT484Q8iJSgLDiVzr^Y5T|l!O2D7JW)N6@#** ziUG!oo_7oBNR%lKx{Xrk5sA>drv#U35eypcs6${(sSZJBJL)SA02E#5QR&bp&e2D6 zm2-6&DW6TKbI8D;kahu$nl|>YG-mWaf|eRX^(EvsV{$xYgr1R(p12A@jfJKBC5Al* zM=(zO?Kz4AELqf|Ns z7oi49BRP1r0mez7gVF#V=Xe4pG~Fl%067i-o-BoHkG}R?yYg?!UK~VckoH3qx$0gF zrvmPXC)gHnbYTGf1kOr$Q`@L0`6KmWbra#d5GRoQ0@((3DJmdKiQ`1PEK)v|94Gf9 zS{-OjZ zeo5-kRdLw|(!pU2y5iU!2Rh!J%VOGdvO-WVId%lMIu?IXEO|~E=?jjHk$T~^(tkPR z9sm_`Uy8?x7tMzhjA(fY1w6dP$RL{Dk`4mXzA!khpS~m=^;6p0L23+eJk1qjC(um6&9xDgjn#ejdwc*-FP(j;*=r|YmG+H^870z@gWX@z6JDCr5Q7Ah^GgLwT3bi-UicXyCmY7CgGGEfeR z;d{p#I%4ERy0c?45}ve%t_~7PfWkwX>Z0i-EY-uok+8C8vGAxuNmq4nwzO1 zEdd;y?Ssp#6`bvcZ{jFVSZbi%xI&e|PPsN$6 zwh0~iYy3!Fr}|CRNqJW}T&Y#8Rs?YSxc=-@b`tB!{K531pV2dEcWNha=>>U;oRo>O zy5s?J2>J-a^@nHSe-aDKO^z1vv>4)#%47oyhsQ`OCch)oCl-augBjw3`bXkeH~gf+ z_oUk1J&5{4hH^!16RLbKr-+#$R5opLFy-dPR0UK1Ag*srRj8hc_$D4%a7QB=FK%uM z{iRKv?ATQ3SS~}89J`7Ej$NIAu@h;tV^<|aX;-a|U6lZsGsDM8ocUdg4)dpLiJLBP zO!My{-R94BBz|m0rHE#mN{)KkpRG{cVC-GmQeGEhQ4r|8 zA%y%9q}}xDxwFf_!Q_rNQ$ky}OJf&KuYNR}-j91DO%M{JI zi(Dc{L7J-u^E(qm|4qA6c1h>`_apx4PbDxfBt-$f(-ut}4e9?Sgk02CqZ8>@RCj_J zh_4+w2E7*t)}`anzhY5cdMJ7)`q!h=#Rd;pMm*?Gb;DjKiQdffr&H+HlFVXthYt^l zQv<2v6r40_Su3xSk=?~>r7LF}p zUB;l5mAYZKlSHdUwKtuH)``(o!82VBJ|pTcM*G1zCv05p6Kc?lW#aW(bPvf*6|YvK z@8Aa*(KB&bb$TTIR8o3#le^8Et#U?o+xw&;Vv!%6O}zwq#oJK_Duoh@KeD1d^Q@)> z*;_ZF8(fU`L){6s3-b>%nenCf(48Q`Ig#Sziy;#hC>(+!Kfy2No2bsK;#8z^fwG!n zha#H0%Z=k)*lqGAvU9R5@-rNGZG`rs?lKv<7+3a##HT!?76m7!Kb;Eoh*5EllTO9A z5KlSW3hCsNq`XrcZiNKE${QK&o;oIpEJw_$0!O5L9`mlu4w>07x`c~s*$1mq+F^DQS4Q8;~sD(&RG^tmdeMn z8`(~frOjcK^eVbJoYYN~Z6L>!u28V+0rl=A+h*QbRKH{%i5p)qJ#Ep+O1tGbQxAzZ zUh+MqS&0+gGAVMZ2kTs6R1zrPm~KBRF06{kfqr-o#g%?#r%O}jW)>^ z1W)KG{~mjom7=cICeuQ|KX<}aoV_J9kT7BorZ*@s=zyx^Sv zXAd!NqT29(3|1%z3CJ%0Tazp&i8=ORk2J9=x@mAdpQa&VaYugI|K3f^T=;*DC~7aO z-2b;pw5p^2-{AJtI_i-mnrk=CR);I>n`)vx6tdYjH&Bmd?ENFu7S^8Xsiid@sRR^h z+~8n+3+gnLEdL}o$z5d|WF5%!WGYU{b|7WR7C}reW>aZiVs5cpd(BXGh(#rFC_c#u zUTq00kQSx5sf0~oEDFpl2HfIMRlM}N&Ugza?YmfXh3hMpo?*SiEiA_L{2opSJImGz zw=ghH&+n2J--gN>VKfZW)%$y~CE*_It+K{1@5MUT9PgWyF9O^{hT1z_S#nH6%0A z2(>Q+l2QC^I05La+MGFap@dM3aAa6Ph4i3qjk&?^-^XK{f3@F z`%u4Az2(oL4q97wST>NnM~(%fl8pG_8k@?Hw8N~2J!HE&GGKPm^Cp|a{3e+;QY`yi;m5qc$u5wUTRikP z>&S>Pq|A{Lk)Dk`E|Ns}+2uJAl8|BqQEHab0iVR;>uf6ej3<=a6Oe0s#ti1>n0Woj0OqfA6K|^TI&d- z0p1V$SFU3IRqhzJ81wB}?WuQPIgh7bu}c}Wz+URlD3E>hC-#+q7TPzb%loP9N8Gqo zGPLL`rMmcQrP`8{Iio7#uxKs?G8~XaWbvyJQIfCC7%gsie?;Q}(2Sc(keal(iW|ED zssZ4UE)G=e-7)w*z;PD6IH5Z?fp!7XMS40Y5GwF0v40H5(K>+kwxBk%k_*!3y?S&R=bI!=9D03EE<4xLl`Go%&bmnWZf-l`}m&RBL?2&}^swU3b&n3`R z@ve9}b_M9pb3xMBaTZ^3-~nj&f%dLaJII8Z=M_yuB!py(w^;umOxg<&fbqLwOJ z75j)&bXTah5!K;MX~-(xP>xZ$f-#8Z9znR~&TfXNWsMQSDsC5XI+8G?q2nHnYz#p6HHYc~u^uG|Ax zO@>GWafG#!woMa1YvGxx<#s{sunPthCmbQvJ;^3PVS!Bp!`t{*CM532JeE?+<#fSG zToyfYWDp$G#^nU`Q1m>aNJIZ%D#tMoK#>gVS^kO+7D|N?KXx!`(k>9w9LyF@u0Ij4 zA5bJye*^X!d)W>pM14>ZNhj^`uQ`rEYweqt@Y%>-`iYw{tZCP?G-7m^9mmp z?GVGR%huTS*A>0hwhPtN+i#$|N-^IJ`PnDGQ{019rz`QQ>ninfx-X23SG`i%RV<7} zI3Xu@?wpa-uT&^=(|b@Dg9DTpnCyeASdBq^9?9H0TSu#=!KWBgg3;;S$Y5z zG#ZQr*^v^pt2iu3$l&TE&x1uTvi4zv8 zQkZ=NA={Epig1cRQp>t8FXEAC?f;(rLmTXxV;V2Ad>Ycrc2WhYk7F7V086#Zu;0r@mNg|k3p6hg2a}K+6d+f%>aBdN&fCiEF^KF&$8T6-^ z6-0l;-iot*VwCcUfc9>m!!=Pk82MO=a)k^Pex(nJzSakO5UsIiE>SWv8q_Xk@&Yvz zC1UHwSg_Iq(FRB=@Gs=HFpEp=*u7&cc#UfmtOwc{;=a+ikHlj+Ik^6XGm`#f%lo1bPtk0v-pElKc-r5dyZmG4_fE zieW32sX(yxE0r0LZS`2COl12pka)E&=`M|Ek6uOPF*LCo=yt&V%&r_$QC9A?U1?y^ zLD9HYwbVg3??07MYIMlH*;D4JvQNLHyeUJ6zoOZZuW9yCIn9Y4j@eo+hTVb6Ianzd z(vmI4YE;=`p;<*^@IWy3nScZY!bp-5h_hq>1YBXM8zztnf0tvtWf*{gLK3)mzpN(b zooIoaKXz;+T4KLg5rq9OOrSLJnUgAk2J?v>GzkHCQ&5LA#yJ=ukYtFYjf)bou0$!K zzfP5blEo!DRU(@tk!o4A)D@G8XIUWBe)#{meRGUjQ*Iifs;j(NbV3ZP&#bi@>Z^LG z(MjxA_}fdDFb|dXDIHaJW$4sbv^xDYt;!2XOghbH_6kR!0O=6T;m5nBfMP^kzjWcxvxi2`FsIo-McyUgyDw!T95%Ei- z#A+E96-SSS2B4%wT}(;w+H#6v<1J(G6CK-wb(5B{j0Omh6fogL2>86>dMorF1yInd zQh!I(fkQ5^Jq}1Cc@@S2ZW30r00Hk0`@Y37mJ#;%lT^c4>KG9AjJ=x^PlEKWP<`ak zSxm-OUvhEHX#2;ls!R@@6Q3nhnfB{@RI}CSynS;Q`n1yC@{%e*j{dSg8?4;M;cV9~ zN(^m=W?`jp!Co{M-KOoO!Dt#Qnptj^J@uo?q5)}q#Pi9tGw=v3vET{LNQcSQv=u@q zVA*Fp#L)RGD2?c?<{4TGKv*H5#j)vDh@h}#g}bPE34#Z$hI?3>BkqQXO3~daIHWCB zLc%QcGoym(TuQP+9!*js(Al9ztdL8S)Ch)PFPSx3m3Tz%OC-;;Nmd1burk39m0V>j z2M}c-+ z00GSlsO3^H-NGwyxF<;g9>76Ci1#EZkRTHEJOF~F;8leboQ$w*{Iyj+gf=-n|P4WrvIMqNr6Nf#4x)6>~7~-W= zpp{y2)ys`?O$nTq~Y7;KvKrj7znCvnpoJPf!-;_9b-nv`M# zzor~Xva7$n;m=W6!Q@oH``MT6RT$x<96{2NCpa=FWPuW0~{djF*IXLS}1bG8{)&PN$(>R33 z&iXm<{;;!7S{sUGu|gJ&!*}eXpBE$_ooB3p0KrcBIYH7nvP3H!b{irj!(mN_SAI^A zymGgBaRNh2p}VI;-Xwz@2vrxz#>83u#jH3XfvyL=zzUUHN3B=Kzn5D;I0lpC>|q1JHw#8bjUB!8W3 z4HJhI3#oJ{V1dk5xYwSvwKeW12BxW{h);uBiJMD=RMb-RI0N`CpcT{+#&@`XX9Ny4 z$ApggFJsdX$k9z)Ve@Imw`M|2Tb3L|2-9^9CZ*M&H6ZHzaB6#6&_ zCVXN;YL>Fp$HaQ2LJob@0WT?oZc=F8PRzO`l%L3J>xc}bMjRQC5U8FggXOkKgVEwd zsX@vmhl9X@K9m4bj1cBXcRK+1lwl|yH-T>Ln5G1mqK{UUdg5>cD7xV`Ot?kmiQ&9P zb16&Xc!ZRsX=Zk&sNC2L5|f;kdjIz;Su|e>g7h${iP84UWsd6^=`7H8?Ks?SYwcc!BAQ<1!OV z`3E~1F27UBahbU~wToKgsz7T9UwCg{k<5MMM0oMbN48tJK-Nhd+fox`-_}wy2+`~! zqDQ2ZVUMyWw$^k(XuGXtViwvews^=IWn<75d{LeQ+Toy;RN{~}cayzqxMrtJPJDn| z%(G(T$c%|8?KJb{IO4${j4{%?9Q2X8Nx7VzVpJKMf;NjSI%s04Ka?Mc#BxjrZ2{8} zsWRwySl`gWVx_+Jl8%}MGBI_aItNbkmJU=W;RFGe3OEAqkcvHn)Eq742*9O(AoNv^ z3o1{@T6>5AgVhN*DS#kJJmpfqL8YN14}At zOzAO_^KI=UUQJae(;cA!mV+CxkgN9|pSJ9}wpWr>%KCUZw1p##acIqWYkSc@O`S-$ z144kfgL;s>4MEWm;yegrQmk!7l&&61BI183WaOxqFeHLBn4^+0QTKBAE-cu~N3K|icc5teI4e>HzzoliWak?F% z*%a$wQGHfD6oSyvrhuIYkU7MBeTd|)+8sVdX4eMM10@TtwO@U#o+BVm zEbUCsw3nLEKjj%Qg+dc2LyE7+sjN&+kX=@TAHmzpma87I_Wr#zP7D(41=%RBeDIrt zG}GaWouUtqI@zC|q?)MgPseB`$dKl%akZ7lwWlu8%yPy#XzVw_Ya|Z8QEU~Ug?s|O z#Y<+aI2y;fiF$N5>C`%iMYh;tizbx@m5M7Q5-#?TIL8+a$6GT+^;XS9lp)UAs!66H z0LO8XBT){aAZbk(2X500m5wtF7B`)SU4cki&sf1P#Daz~B|*b_0t8LE#}$J%))c#P zhh`AtuTp>>aAKzrYEkVYY!M>)Qho%_tA16rQ4q|idNiVt}pwXol@~G4Nu!; z_@Ksh`)pBVcVx8CK5@=sRrz_{BVyDdRW?%y94PB5CAlgRWQW9}MUY$Ci~mTecM|Q# z9gS#@cxt99kvS~+wB?C0tkjr;l2_}1U@jpcqXei9x0Xdkl3QEe0oyX>faKVgL%`Bh zr5v`*kpKf*M!^@tkjs~|D(M{3<3lE&)yRNPihNc>VpTi5zP+@r_Jxd@L^^i%S)exB zX6~sYCm}I3K%2!(A{;v!b^|KYI1ZrknIRBG43Of(MC(L=Kt35D{S@Wj108RjAU+J# zPNeZE9GpDCEFy*c$Ah$-lp(;;u*65$<371U3&BT2Z4!-h0XPE2O^)aW=K^4(9T3Sq z!g&DLYJd!+<8zB+tt0J^gSF#W3O8vUj?+wDVp*n>vuQbuO=t*WG%)6b&N01ph5bkSCq!>*6un86*WD}q z?-l<3+dAa4wWd|sk}xsiaJ!KC%_2B!-ob=jt=ok-&zp0iU_s1|Ih*gFn31@kZhdpD zo$*< zVtQ>!&%XEK;Mr|;?nXZETW8|ExbT%>b9*1}wBz&Taj*K%U$n^j?%kOC@5`F6x!AXv zz7D^xTHI~F(Nmtkxw5U<*~=HkJ|6z`zz;iKY^r~{mCr99mK7zvHJ>}5KW%2Sac`H{ z%Vxj7wWjY+M~`yJ%`UU#_&rZJli#?G>G-J5swVFPxA(s4;bjqrzCKlN zaE)}I-*tZTRBH!kO&m6F>xvC7F&}I0YB10|lNy>qPhA@{_wwvX?I)4BtpZ#9mGxmy zyZMXf7aksCOdRXp>eEx#fPOj50%zqeeO0G!3zu7V|FOS~?CsR9JI5vIme#!I8Rab9AdID7cm zX~JLk5-hIeK3*`szdJK+L(JTp1HHNyt@gff(V6;v{gu>nn!uC*Nxn+pT`_F6#7MMHPvs{3;CbyQhcd|o_#NA>-)vScQMO8{nqdF z=7}RVoIYy)OOTkQ5Jg*{u}?bPh;hg!PU zwiRAFySg;GO-sLnwSQbh??1aXwpK^k&@&Cj(#-IC6 z8FjO+?#{BA8{6jl4e9pom*sr58{@Cdtle_oyUiOfz8JiAgJreiMaPy$uE%+un6Rs( zGI8>!>OI^CbjgnFP|qb{ev55cpZ_#1{QZjk)5p|p#k2p>+#@f@{u=A@`#-g+?OXU^ z(!QVPKQ%seRs_9V`1bW(_4S(fuIf?;?tK6ICU@sc{m!ntKWy{VV?`b>p@o9(~gCvGI?K?TeeYY^$uXXKaMK$F@Z+s#Ps&T(+gS^xp@^44*wbb|R}RD*JAg z4v&sDaBrCUOVxe1pUh2Pbs+c8Ne`VDh4`N8)^l^*w8di@uAA@j==K|{=iV1yxup$` zFKiQMui@fUl&lC%YFfQc6-3mjB0ihoRF!lOw%4{f?=B5q5z(9&Ad77w_f@dOB-T7F z&qwZBd$KEes!HhF%;H>*|NeGGM~l02?Z*;>lIe&Rq7MCZzID6` z?t1x$`=%JiT^u!K{@7^qF`co4t|(aU6A|F^QcXN2&?MI|3sD+R$0mBBGoJ7Fz_ghIkR^oM&T&_-BsJo4nvI-pJ8a5$4VY@Gn)W z-E=Jwb8m|5NL_7hlT@$24-LyFM$4Y%7Cj^kg<^f9b933EF{Pq;q|Qw?eMpqJcqCA5 zxsSMeq^?El2i``#J}h2e`ftqnW_P0R66OuQ#CT2Y2X*XAdEs2PaB>&l@vb2jjZvW~ zDs(kYG!zi^a$nxuC0l>_^z>MfAEon?$88|JAUol#*I%hYpiM}m z+gQ;!N*8OYnRuU;=Rb8aoAo{&sQg+~?cKg9_ z;ulZ9y;;?m@2(V3(L-e+Aq#CmCyYMq^h+z>hh8D6y~B0xXj|*tzr0Jg^;Wzkh)!e? zcx*kWYHwYQ`La+#6Xxnp6uTNHxn9aIjoU;MO=P7J8uJ4o{~;H9KzXYLn*48e(bE!> zZ@6yvG_9wXp`frz?k07T%B?wb*0W)x&vHfSCM6o6_IWkLd|!xP@5)WqB}92IUg|s6 z-8U9*Rqlo>5qY`^%Mvy;i z$bukEX=mryrEFm>?xw2q`>Byc0J+-KuIjp%zD9*pmR{rQCnkG_U9Q!eo(EsqMZd5&BfN7LcX8_@_c_8BXqemv`z&=@tb146 zj543k%`EuKlfM1S+HL*g&bWn*^$5$<6rM2@Zm50X=MZaWcGe)?XQ8sRJ8up$$qGH^ zT(8mN);iCB;efv%nO8qNH`Y0KopWvrEt<#Ik7|El`+=+7mPTyzK*#hb%B^Ucf-5B$^L+S1t;{D#w%o_vRC19(&pph4ob>4~GZW76T{qtoLM+UsRi~x%mKXXJ z5I#cbE@kOHzVN;fdKD4vRF)hy`Vfh*z{Jr zOCIX~Hn*R`XQd+6IG)gWmn}M2D4Q7G!Trs@hQjVtXb*Yp^!K5ye2$p*>54k(awmH& zJH&;1j@y2WF`Z$`^x9kxS0=nQ_dL>bV)sQ=GgfvgF*|t|{MCn`lw&nu&N%pPR{w-YAhWiC|e0X4tdjay< zR13X)JJC$!$9mL~(PLXIEo2rIJs?z5!t)9K0C6d~*`>q#p5LCUd^TJExb~Zm>~ko=QRv-AWycx!5({|c&B&6Q?{fYsO9*dn3M&a!{O~&OUX_B( zO$otWYlz1mU4Lw9y)0wHlhy^TFfx>AQpFHUv{Fw>y)>f#PqD;U=Q*Kh{V-HW9BAfw z(|2Xc!aM)$*kI16wY#|&OKOQ$v#rJ9zEjE`hPg)2zO&-ZV1pt&R{cG)e_s2tm*Z_y zn|^dXvL$%7U&o*xVvUYlMl7q)&=JWjU`nFi$&zVOjw`R&YS&8J%4?x;twJJpSg z6_;K=C#c%pdlB+Lq0RinOB+*Wr5A~zXMWn?A9+@HvQd|_KRs$0O8VsaCAcLT7rL)# zUyQ<*jW~L*w;7d=@W?yj`ljmzMX~q5+&j5L`YtX^m_+#{6(Z+cMIV=h+UrKYY%yDA zY@8yWyZzWO@kX+9PJ^avh|x>#%_nk}Fqwo_Ui#0XMU77$y*+9fQ}TL(_v(v&%G$^3 zE?#hN!Lyg+&*xth#fiFxkdZn*QCCYyYL{E+MxguoL(Fb7=ZeUr3o*_3Y+f+6yU)~p z#>rir4&>F)$O`Xlc(tUx@iM{Rn*Vsr&p!l4_c!K^>*7$a2$Yf23M?{Cw^6(}yB95-pc0Sm#sm*5Q9ctD7$R}NVv9B!OM{~ez zl3SvkEde@(0zM#_7E7?31DYJ(Im_9a*F-(%W$Q_28le18S#Fq#tz`-LU2fi~kX7Av z;)ruwLY6snmJcBhEwG1{cJi3>>}ku{wU@Lk2`gCecUyt2YHhJ%blR-oLrh^&mr;pj zO+0QLIuvn#vRl}PK3vKApHIdN4V~(?(f6-XYw`3E!w&e|Xgz0J6UueId$ss>%=6$D zZqL?{`8_;-@M*{H*UYGDDjj6djH+>Gz#j`5g?8q0HNn-a_v=^54e(Ss{SG*)$hb<0=!pCLhv1Ya!du{Rd z8r4?jgchv}AYBQj^v>Vh=4iIv+Z18n39a|j9?IOQ>-AN4_xd5AgNa?ezGF=Eh-ovP zEe|dv()gm?gZRLuLHioEou1QaORs(>`~K55#iu~0`Ku(SEnOB-Yu}%{2(-B2Av3}G z)}F(U{Xn?PZ%UAF2g7$Lg3is4-yBNxxp?khvR7aKDn3MyX}MA7{^>qnXUU6E<#pzY znuPSMzkUAteT%mg_U)`6Vmi@RF;3@3o?qazdJ>_1F33Yi%gL%!+gs)&tI--Y(=M2x zGXH8c*>$(8b$4w|lf2Nv0E+N&tu4>1<098&%SoL&w@|}Y&%5v0X-(^?WrfYBC*Rl9 z%rpIHq1WZTxJGoW7iOIkJQ6h-G(}T7S}3_qFq-R4%qv~Vh9d~m3D>t?TMm$Jx2_X+ z>m5jrKQcn-lh=~Tdrc5CbiuVV!;Wda^;Jiw{&;C_(EiX*-YY&lw~bkOC2<|M@X@jK z#@QK750AK|HU67%%6WXR4%#SL={6@z^a(%s@+egxU)*(6y@rd6J}Z19eBldbZtXf` zlBJ!e9nWLAP~w``z5ymewrNaM2cHu6n(u3G@wr}Qe;Hll*Orx5} zw!VL=Die@E5&|R;AOXaHs0auV0V{|QQ85T2AYy{3h=_<2BABWGNuU7(qTn1H5N%p< zXfN8@ogfO@Y6qN9(M~{Z92*tAXxsKvx1ZrY@7MQT>-|J!v9eev`_y38Qak}N;w5Gnr268V19Hs&4{+7Qof zXR<5gz9fS`%^684Rgw&bpi9_G*GsRYxIh2_T@cw2QMXqBIKIzcu@2^|0#Jo7Ni5=G5h|? zj>1S6{UYXQd%kl)W||=rsv0Bd+VSPLL&r_P|FT~B*s&iCtwfJUP}{yNkLt651UYt) zempa+j;gvR%Rag1es0@++cv0mGI^xS=JE)gB)B;MH*8#{x1l+=?2VW^Qo)3zYbgG8 z;|#A32rxgZ#Q1dqLavzB9{J!>W5*P#_Y2+`Y<=~l>R$}k7WY46JkPB^G$Wd6reh$J zu3YNPY-dWhK%Fu7Rg~AK1rl;c)N!5gahP;u9ZOIeSHY5w-?B3>S|Fyr(A^F$#VVQR zg=!ss$ay)11@YNLkRZ`=J3jY`>L9(do8qR6rIlp41uxP5)jA#?nuK_z!#XinaSt&U zj0NvWauBbu^&XcFpef``Hc81$;XY=8v<$UDp6gw-?e$jnV*t$Xd^bG>2G?!FfZ>VrMSO?4kS7UEx=>@(3 zko8%l>$Zi_$Cn5=(2{=O?JM!T>52l^#@lWHkY`(mptRuw%jzV0ZsT>H!kPgUSqWdb zNrsCD5{Km^l03`?bWlhl<{@i%>xlPikKEPX^Y9H^Lo;o{zb;ijcuIUe3m|o|a4}3X`VKUm}o_RCUmEA5Q0?IJ%c;dcGU< zBt+Qeayivm@e@f?e?eB9a<1LUo-x6`M-RYd-%R!y5a*14KTfbvR5b#OnU0byJ~kG?e3K7-_GGG( zEoY7gZ1~B-cWyjnXR)8Kq7gxJD8QNWbdZc^?blnw-zc>%^bR+S3(0A2f>15T?$c-2DHJ1WVYsib~ENp|c&TgHLDfwsT>iG>5XSzK_0wm}8-T_?2fgm$6 zoyY(n2x8b$4Y@xbSmr1!A}gWK)`lw%X7)I8s^Hx;uYee@Q*+0RuW+=iv*27dBmz*Y zi{$JSk9|!Ztg(SMV{3~=>@v~t-kHPtUQA67YIed-$C?4{%$YfsA7-@#@9ob%t&qA~ z;%Dn&$1^5EpJ-m*3M#tG8XLBge|E^u2wR#8K^6{b>+~WOQYe=>wpTkgrn}2?X_%U1 zF~*O@DLBUtjbiB^(^0YQyu8aRvqPTPh{+xE8%?fxy9B6hr2#+#VnB@v*1Yqy_;D21 z?e)Vf;g5`RzWe3MgsdQd?xBN3hItPil`S4BW5FSs)eD7-0dS1WT!~zY>GUI3Gos61e&~_+p?0! z+RnoyyzWNlsHxLfEn~rTy5STLyJ;oNrpP0ZSzp~zxL8unE32f*^Atqc!|aOTrTK2g z;g?3KBTTZ!D)|R1V4Ez#rM1CIynqM7ebL8Ua}+MQ6`#R~&Y$5`J7i-W4=Pa)eQ>iXw}~d$~lh+PewPQ+^T5QUBHG$F}%8>NCmu zR4YlpgCx-t-@=_<>qeQm$}LOJ)_cOUz$=FN zk^{V`CK#Kz${WjyO6LpDxLUgGK&zuU&kgEz`xsR$4}uLUEBaX~*y3t=;%q#ae%g}$ z{BpXPCvY?hPdm5AQgU8%^o!>)<(UNm=7`883Rrs_4P= z`9zp)iC!i2vzLV14_2leY`SHyOsQGF9)`bX^X)(5G^)U#7IJ@K zRH(sI%a@$TF*)T)5rpwmh}`h}HrGaDni9&RuD_brmA+1%MNRVJ81uahPLinbh{P- ztD)0-{Wf_Cwt20*vMzts*Hfggi9wuKim&J8z}a}}Qe1Y(xbqRgaR7P(0+b&1iZEx% z8#^K3Fx4NEmVdKhW%S)VrKQc~2xhDQXlDRC$xgciwLXz^BFmtvyY(}7?5+M`%IP1% zB!Zq1sEcg~hGHJO8;j%y5@o)~-SYDq<5$;?CU4I@Oks2Z2!Io^7+~90{rgnaTL!kez%VNgl++KXV&#p>fws0oQ$5fVb1wI^#Qz zBGeU?Qv?|#;p>YnlVS4&7^B0M4EuA>B?c}7fcTdAExx?)_Ds~ zS(*K86#h*8Z2Qc)49gpLID#Sg=%Q%l80D@Zp#>rePzug4%yJfXieZr3#{A#_FFp7> z_|>wH$9MvnJtgQo@^yy&+zVr^qFjXgTqVct%*EZ3?k|i_J#;!9kF0{ zNaiTKZDZWSYt%o7moKYZxokLZK|s=Sw8=(b{O(*zVrIttrIe);5Q3$BjZA@}(E8DBM@7OTJ+mY>R50(wcan4mqufQ#bdto8@F6b4+pX#= z^!qi~_7yC+N!J68^g6r3-`4O@g#BoZ`O}4dOnt09N;m4QZ165O^c_nnykM<8(U*~X zeq57{`~Yk|Z)bRnSYQO50L;O^2_qaNCU>l#DLHS)&T?;bF8eG729cf6k0!~c2nrE& zRh24_FFcnix!^KaMZWW0j=|3x4h@Oe=^#4Jv#9xvwf{;>n(JOcA65?n5(u_3w~`Nh zv@`BW^FibgBnQQ7;sz{tH|M4tN{cw%8P??G7>@~gv4~A>MP&U<7v6=x-``Z-$9lP z@fr{C1r5%UL(Wfh-ha;c<_FtUV=4DUwT--8Nx!X~qUF!Ld2!4#*4&`szNsYdN2{t` zLhk+a{T~H`Z0~RE6jwG_zBmghA}sl{;;Tzzh9~|KK0p~R3A2H?Vmy8&09N`Pe@K=w zt`-T1Z_pvoy($z#Xz|GqV}8W}`q`G*S`1_wVHqQjvd z2a13-CF$7FmIsCP1Cu{-r2>+b>l|pnxaTZyGLdZbPg|4x{f22brNRB>rkBMo2PgV& znaBlf8+ggV{w(b&8x4eqF8oU=2HybGZsYgG`#M)*z^wBJ>63|27n8XKhkaE}GuV9C zye6|Y?BuMuM=pJMd1gS`0iD_;F9@9FGf=%C_HEYnY(bm?)pq0rIJk8SbZFXS{-To= zrOZLBRYyTc9wWJHZvK{jef;jsQ z;+X{#fvt~rnH10wkO&X#>--@PtvT+~vz`b%VwsR0QmsG^PAXc=?Rc0)>6GUg0vMF5 zUNJ1RBkFe zUwFjWr`tF7=oesn$a01#C!XodBMFGhP8~jHDpFw}Fon^4RYbb`H0AXoYn)M-!FL3k zC2db6>=_(k&8v0abQ%lfXQ^JtC}+(;@QV@vZLSOP>@`i=DdSeV&PiCLK`SDqB3}+E zOBRm{#3T}{^nO>t)~J~md;^<3BEAVU7R;kikfFzRIvB;Qtk#MN>EJh9AahtQ8Ijb+ zSjDd2d!+YOWusHT9=CFw)*-HuSo}#i7G%1z``PVlxx1-Mz$vqE0i(pMyfD0Ff8E=p zS-YYdBcpjO)ARZ=ee7$Wo;zNMK6GE+-MV_)p_=2l_Fh?W%t}xBJT`q`XHlk2#;m&^ zZ^Re}b6rY%A8*>X%(5F*p*jx+n^aC;O_As^f4;hqe+)-#k{2hU5-nbiBVx*#B%+)su+sPlA9=e~ry~$n5=9D)H z4|f+X#t_kM@$5U&Ks$`|e8NmXRXo^$AQwvi)Qoi6z zOMzZj;wc=d)E=R^M)Fp3+hvg`Y z`(JPXZAv)Y?;4IeETY#*>#gg*=OYpGHoR?0NEJB?Hb=riy5i2Tf!CFoJ9RORlDhECj-xVwp(os+qul{803Z)n?OxNPJUO>k| z1fa;>MC5Ur-vhX9J}T4)Mdty!MK@s_6Scv>Gk$58ypm0$7?N)TV0PLgL#YWU0jOaJ z2wXGyYU>*}Z*!h)h}56rw~&Nhm<*uwiPsWu!NiOb_Bmz+-YrtHJor(iisqmzT|aCT zOm;gstkU(2`>9|eqyNI%+#{t0<(efqxs2NvgdGb*H%03atbhf_u6#V_=tc37pqJx( z=g&I2J@`nXX+dIi*6m|hm$Hg00@S>p0}WblAITx_t-IUAm;NN!(Tp9$vZHlC7${c- zI7_>-w=B`eYATe())=5)+e4agZ|Ei$>J73-h7~s3!b0}QY~16_WZQFq7RIKR_>oi+)+B?>56^wXX`TR!+{E7+;6htMT4l9EG zPNzvwF9>}+Zfi#0LKO7zX?3XfZF|5KU9X!`m#jWvf>QiOWORAUG`0UQqZB&neI@5+ zmF1M!fCOGdD>;IPebjA3uUwJa1vI&7qN?E@@6ypRu~*Y>k16kTy<}KH@5TZyF=bID zdjo#dud{=?)U1B#uRvg}O`Bd}hYyC`sCmvm@)Vs_VenVWo_vq)4$rRX+OQY}%Bh_z zD_k$Nti1^J4R@l?t_=7ssmudco|&gmu~)!$t#$JyUKZa|una)8;a6L~wBRz2@h6W3 zMa$aQa9A8^TNZMfX-9{)3#?dNkCfMb1#_8`DWBZtlwrp>YCYn7QaeeF0#0N@A_kc% zsxVT`*7cM34ROOd{U66oS00I3vU%E}bvw58>`FXR@~3~u70PZB@?~lNw&{f!&5c$e z%Zi#jzj01u8xR~$18^25v2!_Rg7o#rp?G)h~+)dCu0=<35#o=;m1~YRMG& zd5VFy>U8{<$vc~Evuu+1VA-Bu-k%$H`4qtvwc zs^6y9-`vh|Qhu@OiN1wSqzHa@w{2K!O(X+j%%z?o-{$E|bxsm=BLn)vrT4N}3oe|lE_xis)#+Oq1#WYDo# z7blOGdx)gv@xiWW%I^SqQq))@^ND&U<1L8-wl&w3JJCVc<&CeVO>gxjo3e)7d=m4k zgR^a*yh-y)hE8m4{CK44b|0%fv!2A9!Z0=yt2`jV<{gpJ{>}lClkQZmc@Xa1^(nz1 zqcmapHaPggXl#i9Ut1!U)Wjv3y~t$q72Xwd13M!k``NX$w{-%<+vw$)Ej!}~w|t-& zlqO)6`)4aDtLCmefb0wql>YIO=al$92c~ma^hmF>pmJmJ#v_-%-h24R{`J3>O*Dj) zR}Vl-MlxP{jCVB9xKwLdR@)s~b~h6uEyRGz@B%>Ye{f4S|K-S3<5(ifUB2~Omy$}7 zok)G&YS>rnfM>-LOTKDsGueMOP%?`t;#{kSU1wWOj;$u3O+4M~i}Z%6M2n5FuOiH2 zRsPm+`38uP^v)tbi2T62 zzYmvjdDpBW6rQ|KbIAp96#X31NR(PWS@SNQ+J88d*Szi0LD=R{X#5AL*%@ESVT$KK zfJw;s?n>T#q7@)m$T%V)4u3+Dry$+g*ou|Zwr&8zkfW*NM$SMqdq^>k#3d5><5ay> zIMZHv*)X>(fY6BB=wpD?=K@MiJUbojq8`9p&+kPv(ieX!m%g(rg*sw_#e7@}NXb#8 zR*r_5r{U%>^iEKN^Y=pw%JRIy+X+1D9jDg})Z$Eyb`w3}Wo>f;8RBc8R~U#cRZ)Rr zI|it@?gVB5--ai7cSQmoh^m>?8I-+hhdIB0lCH@6!hys9rjhjn}ItX(sOVEX}$zdl8e}RXa zr|Q*e{6k4^1Y(YX0R_;+n$}eExk!SVIx=Viy0=o99fT+arLsuMpv%t%98KRj<~Ogc zwMWa)SX`O}b6qj52M6t=HWcn{7immNwJeLO1DMGM^WUP;7LKuBNF4%dkV!3ASEfzV z$mcM)N`F2>yJGH4e_LEY#S5mDnmx)444g?lno6nyo9c+nM?q$lxL9+QhUd933aph_ zyUST&I2GH_F*2hhPp&dAr*QMjR7awgK(#?J9a_12GAXW&P%{oz4Q8n@AJqs;GXgox zQfQJl@MWaw`P;yzm0EKj^_aA_fXpf__JVI}CFwi63NIJTCJSfbOt>R{M^)+~4Uyh# zu=nca;3LA&<`7XqF4W}?lptAy^{evS?R3*h2BWc_o2dLq6BB{7-munJ&HBwQ&jvf0 z%%K+^EdYV%f*{l$_XpvFJOIY3miQxRFmm8KYHKMld3*F(sB$@rR!q&?J(s(iH?oCl z%2S(GsJKNMLlMPmThF5j^IlIt_WDytq7!(rskG{Z#%>iUDP4&(uWM?U*3i-U zP|rznco={ddFs4x4H6Y9PynQfT!5ltTwJ-G_3P;$rj}_Jl;Htod2>MXW;HFlwxB3V zMy(&Q26Z1nRv;ntR3)|d zIkjseMYmGZyk0%K5)@hXDJPfR-m=~OH2D&UO&^`xiu-;z!vW6~lm>F4>x_GZ)P8qk7 zDq3GHqG37Zs@~PN+muxQoj^Y~a3qJ)wgLlb6wh$nZ4P@Zp za&9RWUeX&5wfVsZ&er)wupFE&*3LQ$`SF{5-~xbLRldN0tjuK^*37o)ML^38s&2(G zl5G`+R5cWy8_J?`SF3xc%)>2r%ZzER?Lj&kDZGPPcmXlSlDG3Q8vUm%fQ5ae4y`V0 zR{uD2Dwf4^kO|7NfXl92>Y^S19~-M*@F?~onS6zo6}3Ovdy&?sq`?=?OQJTbx{d~_!K!6?2Nd51^6>arYK09B4!rh4Gxg#VwpisB`z(t zlB!?Yt}CK8dz;EtJn5bX@yJQp<3K{9pE^s7^(w|dU? z@XqbQ2AM}wBBl%#QCnwLDMy0TqJ%UQte1$A0#tIdSuH4Lyu<`2e8NmaBhEbJnb z{XOn^o{TPZt!?O(KaROa15I$5Ii&W^!|Sw{~6AlT(iEd|2!Wz!DWIEbH=J*6cOYH4YOo za2g@D8AZ4RYvrFui$TFGGBdw4J4G|Jkp9LkBSK~y`VNT4BESJL_#pm{$X=}mrD(XT zC$&+)Cg!1Qb1nvz-{gF(YNWX;4QXZQDl!^J5-lx>plEt82Q`y1DFYk&9Wl=UBMjA= zJC(VtsM;o<5d@QshfSg~9a&>u3=?;7?fBAysTXRtTZYJ>WOBtC6Y>0oS4l{1MDS;g z{qZZ6xz4R2hl;pp&Un`rAP!O|+}{oZwpf?7W+bUBIfX=1E+(55c?QFrT+|Ha$ z63CF8)38LfGP$_*OLq<)p3a0YDGwTAz{E{&AeG!snr31{GTYZOhwPts)^MUY zLs=C6wQ6bXVbLV2e;#$m!K?m+u(%7Z9CU`{5>nONRP6BcaI9s-4L9?UyfJv!DpJMb z^49Sx`H3H5D=;x7j&?<3f|s?$levQw+0rV*$i+unc`viirN&dx3I)qsR;>E+P{CY*o@!>#J{=?V)jM+omE-%Fq==dp|UZ|EVXDYMJyx9mLb~J zl-7-u`R%k*RuIY#seXaw?lp24^P1t~=vAi8#LdZ*l|zeF!wVLVdrfQ>!NdVD%@anaA%o$F z!4?{Hot9P2mW)9JL8tLx?Q;!d=P{~b-Tl^8rJ}-f0c}aj)KB|&ZEDs*iNqXm-t(;S zP+7za0l(1t)5&6Ma&?G-n@H8B7bZt*uj@b6{!%hD4H=1swS1^cta(q!?@|>N%2z7j zPR$D><`?j(jcU7qdHu7nP3-`?*}H!?hf4x77+_=IUJjxz#AU%i&j86*mmb92U}f`0 zZc>xiQuXU8%oO!d61gpbVvy#D3UAnUZWB|m0w>5{T=M(`!VMu0X2J%~xPwxR<_h(? zAW|W&%_cQF;#2yR)UINy(|Cr|5trWYZutmWt&c&0Rp23QrFO3&L!I1@B}1IM-+d#i zEW^@kMJZ~LHQc=PI+`?Z&?bvZD=|zgVY!#+LXc$Aw}U=#yI&Re#Kl8&sx+Sp=H{E% zl?vN4LfZcN>5Hr}I&pErrN<{&xQ>t{+Tw zD?c#!Afo2b^VIa6P0t@}X>5Lxy6@<*7Y}|s+43^=@wwwKAAB{ozFO#Z_0+3}5#48A zFHFCG_VvRpmbNzw_dP%V=HZWTcL?eyHF56#!AJD3p^+EUd9I!B{Ya_72w|AE#P@4fE+&qh?fQko$-IYWU~+w zk_Jjf?#KzNp@}nd8O%Pel<3IQ}1v6W-S^Yv%az z{=1ccO8(bTY0LQ+Vlo}ky0YuvHgockG$Ffw;YpUX{`gUj4>HS_UH{-HXAKfFo?Rbz zjFWG(b`tx)m7EBXNO)>J7Q-w_s9<^Q%=^9OOB;Nyga$8w^> zf3jx&r$xtc!lEymUH|AfCm&A8ua7@Lobf zc0g3w|D5IjL6@q&<`{=pU*F1cgf~~zpJ?T*MI5#gqvElp^{Y-24ykQm*Qa_Czy1A( z4xc1GxO87V{S+~3_Q87W6k#Ad%C3JNNPHyXG%;$ZrGCX}qP6{0{iD;IwKn71{%4$j z3rg=eLpWp1Pwe{FGYJ#s_k_vCOZ8K~=d6W4cGb6jPq-oF2H~n?qIK0-qIG3YeZyIz z_4J*3#y^OTRS)a&e-IsyGyl8e_-{h%r?e3rw>>5F9P35v9U3x7t0pC8WcDrG@G74 zfCLhegb+g#g?b$PDX3y?> zj!OPXJo03aGJg2L=z+ZwBiiu@3Al!N2#S`6;9;v`I~UAC1;~LGpv7nzT8UPp zHE11Lk2axFv<>Yuv92?`!X8A39Fc&RIctA2@?48E)eINj_NB-+mr(NP!YipM9DT=a1Qb&Ou~*=OQwp zS)=m+pN;0Axg%l+x0#%umoYKT?msjpV`7TA?RnG>^+$G8=){zvz>bPg?C{vZgC(Te zaq|H?F)8ca#0j;KMF8oQmt~unRts5b_fL#UPf4x)zQXQ5WRNX8*;Wf!W%nNym6M#( zFKuE*eo9^~_&vM-$bJ)3v!+asw&fSpVG96GOqn=2CoeTCXId@t2k?--w&^Lg-#6O* zheb@BoH0JD4pbrzoROO{I4Lh9H@_BfYwdo+Y9TvdXk=c_w8?Ll@}a%Je^j5?A?DsW zdHH#^iM6PE?EZuML`Btp-3N<^Psz)w{r)LDF(TKNl%8Ua�rvXR!a+DcSKeYS9kC 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 diff --git a/public/icons/docs/bash/16.png b/public/icons/docs/bash/16.png index 2dbb2ebd62ff6757d8d8a78bbca26f66569d590d..083d83b281e856074c002e25624844505fc05ef7 100644 GIT binary patch delta 523 zcmV+m0`&dP3!?;(BYy$vNklLtrF97=_oiZH?_&+qP}ny02~9h;7@pTc^qG zrKV#iuUYzjwxB4g)k6(Y2(F{4dxM9b>!&y1Gxm{XhW#{zq3kb?<%E9==By8V%2m?n6 zp)pUVX@(hK1@!jz_0MVOpv6**+YcT?tTtijSTV*()G$t+Q$*2p|3(46{(+diXa%t< zz*urnpwKrRkbjq70GVzQMvIh?>nCHpOp6I}UDE-vaq+}u2~M87gmag#V}w9n3(#N^ zW8)L}xc~gO#oEm~F-D}qcu83Z)8^6yFu+>IPQU)zq}Bz9OGxD7-gEF6zJC9WaS9b= zv(*?Y)xb1uZgvqxb>$mLt2eIt^8F`M3qU-uZoYZTzXfc0&{Mis`fFzBjjX`6wzWTg%MM%z;fU0LSsi2i7d4CjbBd N07*qoLdrT8|9KTrs!(f9UikijqKpE-UyK60_H)^RAgh&Y@8!Xwd*WLk5?cMF}SPz1O zVPsKfaDr3D%-$i<2|gCsLZUpU#${**IHwtCK$jp;V3T&#-mVC^KgKS(`#tjce7>(w z?qE*#j_}a+p#T7cXJ(jkr8Oe(t_qgE8)rmZTGsJt1^jNhhnhOe$Go&nRcf-R0SNwsMC}M?i*cV6uQo0#1_0LBY9~;xIuE&Ff;)K5z{~;5>wP z=%J@c6_|6tRGKA0jWSVTLs1me>XfJ^Nv+bn3aSuP10y;ZMHC2%p$Mizz=a2rqOn8~ zmTO91h$Wr$Pzld77!12yE~QJYq}gH^)#-FFqJmW_g@jOWWfYGK3W|$eR4|d8jkPnp zou)D(jw4o{(q>`xrFBUT=H4I|0&Gn zl`$loOLBB6Ym)|76dMS|V5uyL^E8`B(|Z@Ym{UUYG*?11U~1}o*T7fu?G!<~xP*C* z*^FgU9FJ2rGSj4oBo(FIPGH7#1VvORVocwzM$t5l(YRHehHBBIByA$1(&`quCfZi& zBq@H8OFZME%W?yDa57S46Uo}&C5d#Fc7pR|WAf++)T5`uf$f^_Ic@oASc% z_}=z!Z5SMJH5FF*cBOh^yH^>iu>-xwMze$AZ6jDzYR!S#ipFIkilT+0U~h1y5@V~ z_Muzi!Ih0|RHXwaqx_yJTX4;l+RvEgJLkL;l`nNn>i{)8;sq2t+%tYvwOvAQJkF|s`PA?l6Cj z?XT*6|Hq1u@`v)M4f5-4t%Dy=4~!*NbRf@-?D^bUs(HO;{|B||a~VFua?fJ*h!2OF zw0#>-h~B@()JX}4Q;uC=Glc$Q*YjJtqkcNl*ycYo*7(FV6Yi&pQO}-VI;JmwTm2w3 z@r7&+j&Cv*ru>}ctL~x(N{__px~_`t&hSYEWr3_$CqENEQ$;KVKdXRP0iaa)&Bqwf=e6# diff --git a/public/icons/docs/bash/16@2x.png b/public/icons/docs/bash/16@2x.png index b9456a24e7323dd9b80e26d84db1e069061b8b20..3b7aa0bcb3b1529624924f41503b72b2897d0bfc 100644 GIT binary patch delta 1137 zcmV-%1djWn5rqkmBYy-;Nkl!F%f{qZRSoQ zo!GfY-;5{Ep2JwZeEkN!1`NsZ2@IP>?&V_?fUSc|vkKK}KRa^b6#lPHpSytSbsD{~ zcXn$>T4nxA0DqFVNFY-mUa({ZGBPqzSjx`M!SdDXA=AX1A|+M*5Fj8Zm{+-G{n+O( zUxO*>KEki2tUOvk20E(BXxaINFXJAq(DXBPh<~)ek;dgJ}ni&9MeYNHvs59esUQ&Y_tvx=zk`euo|{#ivX4Y5dyjXp@=S( zOd9R?C4lpQp(Ed;5S5gijPaAFgCkKRh%EwFs?k4+h?G#qlur5-8|TXyz`lcrY0U7C z;Daqz8O#|6c=qBYT@w(@5hIKzHJCCEke!{4g-cgJqA7+zmVm}?Fk~Fy@snq$QNM{k zZkAACFn?kiz|hgkRIa5r=gG7bfEv*Ee+S^?nR5s%A~f8%MER05P_jZbI^LNFIC$ik9)Oy~l&*w_kDlP{`HOT2{#^iChRxe{ zV%(%@uyOM;9`(UA01-ks5?sG|8~5%%#DAitEA?rxgvwt5BohF?FBYRXd$N0Z zXKDg;(xDU384`bPULI!6TZDiJf!>fU(1Ig20DwgR)Wyms#>FRie6<{xs!(P3%U7>W z0-$lzp=e9u-?noPrp=m%fN&u=#9ZA}3QbEXI6`ef0%8>uk;PBybUL%I00M(UWpx|3 zNPqdD`(!i#9sgBoH^iv%lX3I*9Yhwd0FFwIk|PBuIYIzY36(wto;;Gyl3Br_;W7XD ze!BzKDx*qVShHaZa&zp9F^Y#u1nby7U!1SljU*H*eNHxX4Ch_y-ky#-u?tI&S$H^s4 zquwzB1N(fIdM1{;vkS|90xO>1N}75H1%yN#$T155!WX9&yxk(J00000NkvXXu0mjf D3}-6? literal 2210 zcmaJ@eK=J49v@+iw@}_mr=g_GyD2l7q!}->8d+?tm)0?JFpp-=F>_>0+QwT#U8F=S zA?b=$d5cxvCM9(hm*sJVHfr;%P}(S6ceH8mAJ;w4bI$MO`FuX#x6dCZ&D+aeSIb-r zgTd%>JlH>Brd{& zA_X2YG2|=r^5e;(cyvC_c{kuBWhe!N5DEfP;USTPA!Xt|=`xi25JLv>6&5=r>*#i_3nMNehiDVL|c1S~6pVQ>t}#3?iVvjidXMOGyF+$Lqih*A(Ck_n{cl2(9R?*E4hg>77y?mP><7b#R=VgN38Szi5=H

r>Z&t^NWL zAC8sSed2Jr430>Gf+8NoVKZ?`6@oy(XVBSn2S>W2gNxf~j1Ur`D_s6xT-vJKWjhEFWn?xa79587Zemynd@7qESUnfYs(PQf{MB=z zuF54UlOZk-_rHd{a;0?8^7e~$m4`3pheS%pi#(;p*s%<@wR;SscQ=zvIyCbdR2U|$c znW-0`omj$pfycIFEshv}yxXU<#m2rmv2-E(m#SEaB&o2_YOJBnO{I!z(|l3rHF`C- zeIe)7X`>d!GR2r_4?=d-s3OD6Lh^ir|=26hSbHixC>v0-Kum zkBp>Qs(%Y_{CcRMYPR6zhGM^M_tbU%-hcfNbco{_Wg)hy9RmG)KiIYhpY3`jN_hHVHHza}6zg?FX9y=^*k z@3CXfj=YK+KmHULbyI%iC-GpjwO-X|gC@?_7BS1Ht1Ft~*5dQOLz>Dphl4}#g=42r zmI+KB+~BwjSz|70A|Z^YW#c!Cfh7qx zZ%R)`;drpsdON+^Br$PpVzWW(v)Rh}5s^w}XzLmZwYO+4-mFq;z1Fb7av{E%%kj{! z@BBdvJK&@)Nm{eXM!H)XCu_f7)A9I{OrDc{{&5_S*QaXeT0NL<A8B61Ro;0;+}^@3 z$L`59&1v#{JJvji>GW{wwpjmQF^X^YmZvhze=~LWR^{*o#Z`@?zLUwl*Ij2gf9$|& z#anfs%}vO#-59^VZp`vd`-y_oe0}`}W{z6h+{pAWNHObaz$|K9+PH9K{2ujMOXH5G zL;1h@40~5*Vk4q^kH5W6wbf3a2}~(bRjV?LoSrHEP+*$(gI473Q;N3EGwHc`3C$XH zHXLS%y5ko4zTf*TV){M*+1p!RwSTDe=RXFx6|AhAQ9Jn)&l4((4cK9}p)$^62dvyU zYfn#+mA73@(2tXs>R75R*@kZ)QXF<$PC9!BqO#c_&9oGHT+_p@56lCa3ol=2OW{b> z-2>W@>!f?NP(_lh(LYWZba^dUSwEN*{-*j|1RaTbU%2?>!GVsB0i+E`2y#IK2inQIXdgt z6Vb0K`j{ab>qp9uK}9X^UXKg!ls&N9ls&I*$QM1@AUM0-+rkR`=30q~iEGKZ(w^h; z#y2hN8EK1_al5SQ&OCQdbz}R7#}^2t_;8wqspb2orqqGg<-w1Z)`wyeONbT6pB7Fm P|21%2z1UTILlgf4wU39W From 7d6e45c325d2e9010cb4dc3f0bcb932544c198da Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 29 Jul 2018 18:01:07 -0400 Subject: [PATCH 07/65] Add Graphite documentation --- .../templates/pages/about_tmpl.coffee | 5 +++ assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_graphite.scss | 26 +++++++++++ lib/docs/filters/graphite/clean_html.rb | 18 ++++++++ lib/docs/filters/graphite/entries.rb | 44 +++++++++++++++++++ lib/docs/scrapers/graphite.rb | 20 +++++++++ 7 files changed, 115 insertions(+) create mode 100644 assets/stylesheets/pages/_graphite.scss create mode 100644 lib/docs/filters/graphite/clean_html.rb create mode 100644 lib/docs/filters/graphite/entries.rb create mode 100644 lib/docs/scrapers/graphite.rb diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 88298882..a2c264db 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -295,6 +295,11 @@ credits = [ '2014-2018 Juan Linietsky, Ariel Manzur, Godot Engine contributors', 'MIT', 'https://raw.githubusercontent.com/godotengine/godot/master/LICENSE.txt' + ], [ + 'Graphite', + '2008-2012 Chris Davis; 2011-2016 The Graphite Project', + 'Apache', + 'https://raw.githubusercontent.com/graphite-project/graphite-web/master/LICENSE' ], [ 'Grunt', 'GruntJS Team', diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index e0d85477..3d9efa6c 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -55,6 +55,7 @@ 'pages/git', 'pages/github', 'pages/go', + 'pages/graphite', 'pages/haskell', 'pages/jekyll', 'pages/jquery', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 251d83e9..d72487c2 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -55,6 +55,7 @@ 'pages/git', 'pages/github', 'pages/go', + 'pages/graphite', 'pages/haskell', 'pages/jekyll', 'pages/jquery', diff --git a/assets/stylesheets/pages/_graphite.scss b/assets/stylesheets/pages/_graphite.scss new file mode 100644 index 00000000..8522976c --- /dev/null +++ b/assets/stylesheets/pages/_graphite.scss @@ -0,0 +1,26 @@ +._graphite { + @extend %simple; + + h1 { + @extend %lined-heading; + } + + .section:first-child h1 { + margin-top: 0; + } + + dl > dt { + @extend %note, %note-blue; + padding: 1px 0.5rem 2px 0.5rem; + font-weight: bold; + } + + dl.function > dt { + code { + font-weight: bold; + } + em { + font-style: normal; + } + } +} diff --git a/lib/docs/filters/graphite/clean_html.rb b/lib/docs/filters/graphite/clean_html.rb new file mode 100644 index 00000000..d820a299 --- /dev/null +++ b/lib/docs/filters/graphite/clean_html.rb @@ -0,0 +1,18 @@ +module Docs + class Graphite + class CleanHtmlFilter < Filter + def call + # Remove the paragraph icon after all headers + css('.headerlink').remove + + # Extract the text from function titles to get rid of the inconsistent styling + css('dl.function > dt').each do |node| + node['data-name'] = node.at_css('.descname').inner_html.to_s + node.content = node.text + end + + doc + end + end + end +end diff --git a/lib/docs/filters/graphite/entries.rb b/lib/docs/filters/graphite/entries.rb new file mode 100644 index 00000000..d33f63c1 --- /dev/null +++ b/lib/docs/filters/graphite/entries.rb @@ -0,0 +1,44 @@ +module Docs + class Graphite + class EntriesFilter < Docs::EntriesFilter + def get_name + at_css('h1').children[0].to_s + end + + def get_type + get_name + end + + def additional_entries + entries = [] + + # Sections + css('.section > .section').each do |node| + title = node.at_css('h2, h3') + + next if title.nil? + + # Move the id attribute to the title + # If this is excluded, the complete section will be highlighted in yellow when someone navigates to it + title['id'] = node['id'] + node.remove_attribute('id') + + parent_title_selector = "parent::div[@class='section']/preceding::#{title.name == 'h2' ? 'h1' : 'h2'}" + + entries << [ + title.children[0].to_s, + title['id'], + title.xpath(parent_title_selector).last.children[0].to_s + ] + end + + # Functions + css('dl.function > dt').each do |node| + entries << [node['data-name'], node['id'], 'List of functions'] + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/graphite.rb b/lib/docs/scrapers/graphite.rb new file mode 100644 index 00000000..31f39c3e --- /dev/null +++ b/lib/docs/scrapers/graphite.rb @@ -0,0 +1,20 @@ +module Docs + class Graphite < UrlScraper + self.type = 'graphite' + self.release = '1.1.3' + self.base_url = 'http://graphite.readthedocs.io/en/latest/' + self.links = { + code: 'https://github.com/graphite-project/graphite-web' + } + + html_filters.push 'graphite/clean_html', 'graphite/entries' + + options[:container] = '.document > div' + options[:skip] = %w(releases.html who-is-using.html composer.html search.html py-modindex.html genindex.html) + + options[:attribution] = <<-HTML + © 2008-2012 Chris Davis; 2011-2016 The Graphite Project
+ Licensed under the Apache License, Version 2.0. + HTML + end +end From 4e56a77012091a6c11ad514af80a292d9cd50056 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 29 Jul 2018 18:12:33 -0400 Subject: [PATCH 08/65] Finish Graphite scraper --- assets/javascripts/news.json | 2 +- .../templates/pages/about_tmpl.coffee | 2 +- assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_graphite.scss | 21 +------------------ lib/docs/filters/graphite/clean_html.rb | 15 ++++++++++--- lib/docs/filters/graphite/entries.rb | 4 +++- lib/docs/scrapers/graphite.rb | 7 ++++--- 7 files changed, 23 insertions(+), 29 deletions(-) diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index 875cef4f..435913f6 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ "2018-07-29", - "New documentations: Bash and Pygame" + "New documentations: Bash, Graphite and Pygame" ], [ "2018-07-08", "New documentations: Leaflet, Terraform and Koa" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index a2c264db..60ed00c2 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -297,7 +297,7 @@ credits = [ 'https://raw.githubusercontent.com/godotengine/godot/master/LICENSE.txt' ], [ 'Graphite', - '2008-2012 Chris Davis; 2011-2016 The Graphite Project', + '2008-2012 Chris Davis
© 2011-2016 The Graphite Project', 'Apache', 'https://raw.githubusercontent.com/graphite-project/graphite-web/master/LICENSE' ], [ diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 098f176b..5dfb1034 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -94,6 +94,7 @@ ._icon-marionette:before { background-position: -6rem -5rem; } ._icon-jsdoc:before, ._icon-koa:before, +._icon-graphite:before, ._icon-mongoose:before { background-position: -7rem -5rem; } ._icon-phpunit:before { background-position: -8rem -5rem; } ._icon-nokogiri:before { background-position: -9rem -5rem; @extend %darkIconFix !optional; } diff --git a/assets/stylesheets/pages/_graphite.scss b/assets/stylesheets/pages/_graphite.scss index 8522976c..341d581c 100644 --- a/assets/stylesheets/pages/_graphite.scss +++ b/assets/stylesheets/pages/_graphite.scss @@ -1,26 +1,7 @@ ._graphite { @extend %simple; - h1 { - @extend %lined-heading; - } - - .section:first-child h1 { - margin-top: 0; - } - dl > dt { - @extend %note, %note-blue; - padding: 1px 0.5rem 2px 0.5rem; - font-weight: bold; - } - - dl.function > dt { - code { - font-weight: bold; - } - em { - font-style: normal; - } + @extend %block-label, %label-blue; } } diff --git a/lib/docs/filters/graphite/clean_html.rb b/lib/docs/filters/graphite/clean_html.rb index d820a299..783b788a 100644 --- a/lib/docs/filters/graphite/clean_html.rb +++ b/lib/docs/filters/graphite/clean_html.rb @@ -5,10 +5,19 @@ module Docs # Remove the paragraph icon after all headers css('.headerlink').remove - # Extract the text from function titles to get rid of the inconsistent styling css('dl.function > dt').each do |node| - node['data-name'] = node.at_css('.descname').inner_html.to_s - node.content = node.text + node.content = node.content + end + + css('.section').each do |node| + node.before(node.children).remove + end + + css('div[class*="highlight-"]').each do |node| + node.content = node.content.strip + node.name = 'pre' + node['data-language'] = node['class'][/highlight\-(\w+)/, 1] + node.remove_attribute('class') end doc diff --git a/lib/docs/filters/graphite/entries.rb b/lib/docs/filters/graphite/entries.rb index d33f63c1..32d96ce6 100644 --- a/lib/docs/filters/graphite/entries.rb +++ b/lib/docs/filters/graphite/entries.rb @@ -34,7 +34,9 @@ module Docs # Functions css('dl.function > dt').each do |node| - entries << [node['data-name'], node['id'], 'List of functions'] + name = node.at_css('.descname').content + name << '()' + entries << [name, node['id'], 'Functions'] end entries diff --git a/lib/docs/scrapers/graphite.rb b/lib/docs/scrapers/graphite.rb index 31f39c3e..692fda33 100644 --- a/lib/docs/scrapers/graphite.rb +++ b/lib/docs/scrapers/graphite.rb @@ -2,18 +2,19 @@ module Docs class Graphite < UrlScraper self.type = 'graphite' self.release = '1.1.3' - self.base_url = 'http://graphite.readthedocs.io/en/latest/' + self.base_url = 'https://graphite.readthedocs.io/en/latest/' self.links = { code: 'https://github.com/graphite-project/graphite-web' } - html_filters.push 'graphite/clean_html', 'graphite/entries' + html_filters.push 'graphite/entries', 'graphite/clean_html' options[:container] = '.document > div' options[:skip] = %w(releases.html who-is-using.html composer.html search.html py-modindex.html genindex.html) options[:attribution] = <<-HTML - © 2008-2012 Chris Davis; 2011-2016 The Graphite Project
+ © 2008–2012 Chris Davis
+ © 2011–2016 The Graphite Project
Licensed under the Apache License, Version 2.0. HTML end From 0429e077611c30a3202017def8a4a580a54f5326 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 13 Jul 2018 16:26:02 +0200 Subject: [PATCH 09/65] Add Dart documentation --- .../templates/pages/about_tmpl.coffee | 5 ++ assets/javascripts/vendor/prism.js | 24 ++++++++ assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_dart.scss | 12 ++++ lib/docs/filters/dart/clean_html.rb | 51 +++++++++++++++ lib/docs/filters/dart/entries.rb | 58 ++++++++++++++++++ lib/docs/scrapers/dart.rb | 34 ++++++++++ public/icons/docs/dart/16.png | Bin 0 -> 1129 bytes public/icons/docs/dart/16@2x.png | Bin 0 -> 4217 bytes public/icons/docs/dart/SOURCE | 1 + 11 files changed, 187 insertions(+) create mode 100644 assets/stylesheets/pages/_dart.scss create mode 100644 lib/docs/filters/dart/clean_html.rb create mode 100644 lib/docs/filters/dart/entries.rb create mode 100644 lib/docs/scrapers/dart.rb create mode 100644 public/icons/docs/dart/16.png create mode 100644 public/icons/docs/dart/16@2x.png create mode 100644 public/icons/docs/dart/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 60ed00c2..d90c338a 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -215,6 +215,11 @@ credits = [ '2010-2018 Michael Bostock', 'BSD', 'https://raw.githubusercontent.com/d3/d3/master/LICENSE' + ], [ + 'Dart', + '2012 the Dart project authors', + 'CC BY-SA', + 'https://creativecommons.org/licenses/by-sa/4.0/' ], [ 'Django', 'Django Software Foundation and individual contributors', diff --git a/assets/javascripts/vendor/prism.js b/assets/javascripts/vendor/prism.js index 3dc04a14..a99402d9 100644 --- a/assets/javascripts/vendor/prism.js +++ b/assets/javascripts/vendor/prism.js @@ -2113,3 +2113,27 @@ Prism.languages.yaml = { 'punctuation': /---|[:[\]{}\-,|>?]|\.\.\./ }; +Prism.languages.dart = Prism.languages.extend('clike', { + 'string': [ + { + pattern: /r?("""|''')[\s\S]*?\1/, + greedy: true + }, + { + pattern: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, + greedy: true + } + ], + 'keyword': [ + /\b(?:async|sync|yield)\*/, + /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/ + ], + 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ +}); + +Prism.languages.insertBefore('dart','function',{ + 'metadata': { + pattern: /@\w+/, + alias: 'symbol' + } +}); diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index 3d9efa6c..38346905 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -46,6 +46,7 @@ 'pages/crystal', 'pages/d', 'pages/d3', + 'pages/dart', 'pages/dojo', 'pages/drupal', 'pages/elixir', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index d72487c2..64916112 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -46,6 +46,7 @@ 'pages/crystal', 'pages/d', 'pages/d3', + 'pages/dart', 'pages/dojo', 'pages/drupal', 'pages/elixir', diff --git a/assets/stylesheets/pages/_dart.scss b/assets/stylesheets/pages/_dart.scss new file mode 100644 index 00000000..87159057 --- /dev/null +++ b/assets/stylesheets/pages/_dart.scss @@ -0,0 +1,12 @@ +._dart { + @extend %simple; + + dl:not(.dl-horizontal) dt, .multi-line-signature { + @extend %note, %note-blue; + padding: 1px 0.5rem 2px 0.5rem; + + .features { + float: right; + } + } +} diff --git a/lib/docs/filters/dart/clean_html.rb b/lib/docs/filters/dart/clean_html.rb new file mode 100644 index 00000000..ce1733af --- /dev/null +++ b/lib/docs/filters/dart/clean_html.rb @@ -0,0 +1,51 @@ +module Docs + class Dart + class CleanHtmlFilter < Filter + def call + # Move the title into the main content node in the v1 docs + title = at_css('h1.title') + unless title.nil? + name = title.children.last.content.strip + kind = title.at_css('.kind').content + at_css('.main-content').prepend_child("

#{name} #{kind}

") + end + + # Add a title to the homepage of the v2 docs + if subpath == 'index.html' && at_css('.main-content > h1').nil? + at_css('.main-content').prepend_child('

Dart SDK

') + end + + # Add the library to the main content (it is not always visible in the menu entry) + breadcrumbs = at_css('.breadcrumbs').css('li:not(.self-crumb) > a') + if breadcrumbs.length > 1 + library = breadcrumbs[1].content + + # Generate the link to the homepage of the library + with_hypens = library.gsub(/:/, '-') + location = "#{'../' * subpath.count('/')}#{with_hypens}/#{with_hypens}-library" + link = "#{library}" + + # Add the link to the main title, just like how the "Homepage" and "Source code" links appear + at_css('.main-content').prepend_child("

#{link}

") + end + + # Extract the actual content + # We can't use options[:container] here because the entries filter uses the breadcrumbs node + @doc = at_css('.main-content') + + # Move the features (i.e. "read-only, inherited") into the blue header + css('.features').each do |node| + header = node.xpath('parent::dd/preceding::dt').last + header.add_child node unless header.nil? + end + + # Make code blocks detectable by Prism + css('pre').each do |node| + node['data-language'] = 'dart' + end + + doc + end + end + end +end diff --git a/lib/docs/filters/dart/entries.rb b/lib/docs/filters/dart/entries.rb new file mode 100644 index 00000000..f94c451b --- /dev/null +++ b/lib/docs/filters/dart/entries.rb @@ -0,0 +1,58 @@ +module Docs + class Dart + class EntriesFilter < Docs::EntriesFilter + def get_name + title = get_title + kind = get_kind + + breadcrumbs = at_css('.breadcrumbs').css('li:not(.self-crumb) > a') + first_part = '' + + if breadcrumbs.length == 2 && !kind.include?('class') + first_part = breadcrumbs[1].content + elsif breadcrumbs.length == 3 + first_part = breadcrumbs[2].content + end + + separator = '' + unless first_part.empty? + if kind.include?('class') + separator = ':' + else + separator = '.' + end + end + + first_part + separator + title + end + + def get_type + at_css('.breadcrumbs > li:nth-child(2)').content.split(' ')[0] + end + + def get_title + title = at_css('h1.title') + + if not title.nil? + # v1 + title.children.last.content.strip + else + # v2 + at_css('.main-content > h1').content[/(.*)( )/, 1].split(' top-level')[0] + end + end + + def get_kind + title = at_css('h1.title') + + if not title.nil? + # v1 + title.at_css('.kind').content + else + # v2 + at_css('.main-content > h1').content[/(.*)( )(.+)/, 3] + end + end + end + end +end diff --git a/lib/docs/scrapers/dart.rb b/lib/docs/scrapers/dart.rb new file mode 100644 index 00000000..b06960b2 --- /dev/null +++ b/lib/docs/scrapers/dart.rb @@ -0,0 +1,34 @@ +module Docs + class Dart < FileScraper + self.type = 'dart' + self.root_path = 'index.html' + self.links = { + home: 'https://www.dartlang.org/', + code: 'https://github.com/dart-lang/sdk' + } + + html_filters.push 'dart/entries', 'dart/clean_html' + + options[:fix_urls] = ->(url) do + # localhost/dart-web_audio/..dart-io/dart-io-library.html > localhost/dart-io/dart-io-library.html + url.sub(/(([^\/]+)\/\.\.)/, '') + end + + options[:attribution] = <<-HTML + © 2012, the Dart project authors
+ Licensed under the Creative Commons Attribution-ShareAlike License v4.0. + HTML + + # Download the documentation from https://www.dartlang.org/tools/sdk/archive + + version '1' do + self.release = '1.24.3' + self.dir = '/home/jasper/Documents/dart-docs-1.24.3' + end + + version '2' do + self.release = '2.0.0-dev.68.0' + self.dir = '/home/jasper/Documents/dart-docs-2.0.0-dev.68.0' + end + end +end diff --git a/public/icons/docs/dart/16.png b/public/icons/docs/dart/16.png new file mode 100644 index 0000000000000000000000000000000000000000..3272c1d7648b62aedb7a62ebd9ce9835b0a476f8 GIT binary patch literal 1129 zcmZuvO=uHQ5T1FP#%7b4q#Ly~2Cc1WlVV$=!6wwwhJ>~vLHt4L!5_qf2cam42k{^% zcoA=csCe-t3VIPQ5)~sJ`~eT`q4-yOC{;8TEp4{@oVS~oY-47boq6AU^S$?G_sX8! zuvcwS0l+&tlG#hqFTBx7?+x?(7zNk($k-VGwD5eh`=~?3#0r4)6|`BvQ0$`AxtLPrNTA7@Hh2q>Qe%%uq>OA)3F>4&euyt zJqwSHo7b_9cL&%gnPLD_NwY540-5qN2fv(Rj%zbxT z%_~JLAqazm_tU%@P7^?%9$lg!Ex2v#n&6h$Z>v?DKxUMeXN25{GaAg{a+4yPWeoQA ztk$}_{>XK`C}v;|O-#7f1funHyS1+954v}yZ09m==wnowlGQ3rA^^d7ucpO1r)?UQ zB7=J;XAA{~XtXnuP*-GoJRFE@o{+msuJs?>J@E}1SsIPykFp>{>@K!k+n0#?+S}e% zwx^^zT3QS|<6%JloYIZtm7@Jb9KrbVB0n(u?)@wp^a!He(ghyk2IL8Ax8owO2r1B- yPvU2RSyvEQ*`B6w1{n+zd6In5?nGG>&Wx(o_`dr`rZ0Cq6z!wgT;@Ug=*55V48VT? literal 0 HcmV?d00001 diff --git a/public/icons/docs/dart/16@2x.png b/public/icons/docs/dart/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cad29d188f36091e768731a47a711bbf87f18f3b GIT binary patch literal 4217 zcmb_fU1(fI6h1S1v)P|C*}tT25~Z}5CfO9zO>Hf9X_QDCZG(s_RYX*ohY&z$)eyWqsZ=T8EJ3^;u;!~XIT&@%x_EHpTU36Ei- zur1jl6L4TU!+x~cU55=5$jpj%jl(I7^aeJ2Vl}}cR-|DPbqRP#ye<;11lF0@GYLlm zJ3hGfdVXQ?MXvc;80XE{nt<_U&Y7PxUo&pJCdL@{Oj9$GE=0+~ec%s=?}j!fM!$b5 zI%~(taW#SLr|koW_kTJ6>z{$88#mJxU^P_EIrRcJ0*U7L=Y(z?TKnvkADnR9Zsc4) zZWN4QXC{-5Y}@(=gW}JQt2ZVulEUh0T-OWVz>PCixw*~vEa8yAMrOyK0cy*<(G z56-KOc>JJNvtUak(ALI*f9piTN`U$3h_wkrr_0Qg&5u0X9qa4K(SQ=y6FWv$0{t9G zR0tfN3~??_Py(Sd++>wh9lLkMror~I6+OrhRN4>O-ia5GglNsz8tc2$qE%ho*}a;7c!|u}eDJDi;3=>?0(FjbBms$mezQ8XX7_d5J*{KR8{p8taeis~Af!_?7>_~v>`MW~Jq#3;Kab`G*ws(-C)P!#!gR7|E?yazr% zdd?755-QLOiH@PcrdX;suP#E3MY=jyBtTY^1bfp27={I8+UT!AX&*|5qrKbjNVwbT zX})+BOXT&hu8M)N+pV$4lm2AV@$FaZ(orkb(%l)ozhXTr!^2@vY% zuYU?W`hvgZ{_eea9nd|oZV7jFwHEUE- Date: Mon, 6 Aug 2018 17:15:13 -0400 Subject: [PATCH 10/65] Update Prism.js --- assets/javascripts/vendor/prism.js | 1009 +++++++++++++++++----------- 1 file changed, 633 insertions(+), 376 deletions(-) diff --git a/assets/javascripts/vendor/prism.js b/assets/javascripts/vendor/prism.js index a99402d9..09d6df87 100644 --- a/assets/javascripts/vendor/prism.js +++ b/assets/javascripts/vendor/prism.js @@ -1,4 +1,5 @@ -/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+c+bash+cpp+coffeescript+ruby+d+django+elixir+erlang+go+java+json+kotlin+lua+nginx+nim+perl+php+python+jsx+crystal+rust+scss+sql+typescript+yaml */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+c+bash+cpp+coffeescript+ruby+d+dart+django+elixir+markup-templating+erlang+go+java+json+kotlin+lua+crystal+nginx+nim+perl+php+sql+scss+python+jsx+typescript+rust+yaml */ var _self = (typeof window !== 'undefined') ? window // if in browser : ( @@ -16,11 +17,12 @@ var _self = (typeof window !== 'undefined') var Prism = (function(){ // Private helper vars -var lang = /\blang(?:uage)?-(\w+)\b/i; +var lang = /\blang(?:uage)?-([\w-]+)\b/i; var uniqueId = 0; var _ = _self.Prism = { manual: _self.Prism && _self.Prism.manual, + disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler, util: { encode: function (tokens) { if (tokens instanceof Token) { @@ -44,23 +46,38 @@ var _ = _self.Prism = { }, // Deep clone a language definition (e.g. to extend it) - clone: function (o) { + clone: function (o, visited) { var type = _.util.type(o); + visited = visited || {}; switch (type) { case 'Object': + if (visited[_.util.objId(o)]) { + return visited[_.util.objId(o)]; + } var clone = {}; + visited[_.util.objId(o)] = clone; for (var key in o) { if (o.hasOwnProperty(key)) { - clone[key] = _.util.clone(o[key]); + clone[key] = _.util.clone(o[key], visited); } } return clone; case 'Array': - return o.map(function(v) { return _.util.clone(v); }); + if (visited[_.util.objId(o)]) { + return visited[_.util.objId(o)]; + } + var clone = []; + visited[_.util.objId(o)] = clone; + + o.forEach(function (v, i) { + clone[i] = _.util.clone(v, visited); + }); + + return clone; } return o; @@ -155,6 +172,10 @@ var _ = _self.Prism = { plugins: {}, highlightAll: function(async, callback) { + _.highlightAllUnder(document, async, callback); + }, + + highlightAllUnder: function(container, async, callback) { var env = { callback: callback, selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' @@ -162,7 +183,7 @@ var _ = _self.Prism = { _.hooks.run("before-highlightall", env); - var elements = env.elements || document.querySelectorAll(env.selector); + var elements = env.elements || container.querySelectorAll(env.selector); for (var i=0, element; element = elements[i++];) { _.highlightElement(element, async === true, env.callback); @@ -185,11 +206,13 @@ var _ = _self.Prism = { // Set language on the element, if not present element.className = element.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language; - // Set language on the parent, for styling - parent = element.parentNode; + if (element.parentNode) { + // Set language on the parent, for styling + parent = element.parentNode; - if (/pre/i.test(parent.nodeName)) { - parent.className = parent.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language; + if (/pre/i.test(parent.nodeName)) { + parent.className = parent.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language; + } } var code = element.textContent; @@ -251,8 +274,15 @@ var _ = _self.Prism = { }, highlight: function (text, grammar, language) { - var tokens = _.tokenize(text, grammar); - return Token.stringify(_.util.encode(tokens), language); + var env = { + code: text, + grammar: grammar, + language: language + }; + _.hooks.run('before-tokenize', env); + env.tokens = _.tokenize(env.code, env.grammar); + _.hooks.run('after-tokenize', env); + return Token.stringify(_.util.encode(env.tokens), env.language); }, matchGrammar: function (text, strarr, grammar, index, startPos, oneshot, target) { @@ -300,15 +330,9 @@ var _ = _self.Prism = { continue; } - pattern.lastIndex = 0; - - var match = pattern.exec(str), - delNum = 1; - - // Greedy patterns can override/remove up to two previously matched tokens - if (!match && greedy && i != strarr.length - 1) { + if (greedy && i != strarr.length - 1) { pattern.lastIndex = pos; - match = pattern.exec(text); + var match = pattern.exec(text); if (!match) { break; } @@ -327,11 +351,8 @@ var _ = _self.Prism = { } } - /* - * If strarr[i] is a Token, then the match starts inside another Token, which is invalid - * If strarr[k - 1] is greedy we are in conflict with another greedy pattern - */ - if (strarr[i] instanceof Token || strarr[k - 1].greedy) { + // If strarr[i] is a Token, then the match starts inside another Token, which is invalid + if (strarr[i] instanceof Token) { continue; } @@ -339,6 +360,11 @@ var _ = _self.Prism = { delNum = k - i; str = text.slice(pos, p); match.index -= pos; + } else { + pattern.lastIndex = 0; + + var match = pattern.exec(str), + delNum = 1; } if (!match) { @@ -350,7 +376,7 @@ var _ = _self.Prism = { } if(lookbehind) { - lookbehindLength = match[1].length; + lookbehindLength = match[1] ? match[1].length : 0; } var from = match.index + lookbehindLength, @@ -480,18 +506,21 @@ Token.stringify = function(o, language, parent) { // // in Node.js // return _self.Prism; // } -// // In worker -// _self.addEventListener('message', function(evt) { -// var message = JSON.parse(evt.data), -// lang = message.language, -// code = message.code, -// immediateClose = message.immediateClose; - -// _self.postMessage(_.highlight(code, _.languages[lang], lang)); -// if (immediateClose) { -// _self.close(); -// } -// }, false); + +// if (!_.disableWorkerMessageHandler) { +// // In worker +// _self.addEventListener('message', function (evt) { +// var message = JSON.parse(evt.data), +// lang = message.language, +// code = message.code, +// immediateClose = message.immediateClose; + +// _self.postMessage(_.highlight(code, _.languages[lang], lang)); +// if (immediateClose) { +// _self.close(); +// } +// }, false); +// } // return _self.Prism; // } @@ -535,7 +564,8 @@ Prism.languages.markup = { 'doctype': //i, 'cdata': //i, 'tag': { - pattern: /<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, + pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, + greedy: true, inside: { 'tag': { pattern: /^<\/?[^\s>\/]+/i, @@ -600,13 +630,13 @@ Prism.languages.css = { pattern: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: true }, - 'property': /[\w-]+(?=\s*:)/i, + 'property': /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, 'important': /\B!important\b/i, 'function': /[-a-z0-9]+(?=\()/i, 'punctuation': /[(){};:]/ }; -Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css); +Prism.languages.css['atrule'].inside.rest = Prism.languages.css; if (Prism.languages.markup) { Prism.languages.insertBefore('markup', 'tag', { @@ -614,10 +644,11 @@ if (Prism.languages.markup) { pattern: /()[\s\S]*?(?=<\/style>)/i, lookbehind: true, inside: Prism.languages.css, - alias: 'language-css' + alias: 'language-css', + greedy: true } }); - + Prism.languages.insertBefore('inside', 'attr-value', { 'style-attr': { pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, @@ -644,7 +675,8 @@ Prism.languages.clike = { }, { pattern: /(^|[^\\:])\/\/.*/, - lookbehind: true + lookbehind: true, + greedy: true } ], 'string': { @@ -661,51 +693,53 @@ Prism.languages.clike = { 'keyword': /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, 'boolean': /\b(?:true|false)\b/, 'function': /[a-z0-9_]+(?=\()/i, - 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i, + 'number': /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, 'punctuation': /[{}[\];(),.:]/ }; Prism.languages.javascript = Prism.languages.extend('clike', { 'keyword': /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/, - 'number': /\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/, + 'number': /\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444) - 'function': /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\s*\()/i, + 'function': /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i, 'operator': /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ }); Prism.languages.insertBefore('javascript', 'keyword', { 'regex': { - pattern: /(^|[^/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/, + pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/, lookbehind: true, greedy: true }, // This must be declared before keyword because we use "function" inside the look-forward 'function-variable': { - pattern: /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)\s*=>))/i, + pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i, alias: 'function' - } + }, + 'constant': /\b[A-Z][A-Z\d_]*\b/ }); Prism.languages.insertBefore('javascript', 'string', { 'template-string': { - pattern: /`(?:\\[\s\S]|[^\\`])*`/, + pattern: /`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/, greedy: true, inside: { 'interpolation': { - pattern: /\$\{[^}]+\}/, + pattern: /\${[^}]+}/, inside: { 'interpolation-punctuation': { - pattern: /^\$\{|\}$/, + pattern: /^\${|}$/, alias: 'punctuation' }, - rest: Prism.languages.javascript + rest: null // See below } }, 'string': /[\s\S]+/ } } }); +Prism.languages.javascript['template-string'].inside['interpolation'].inside.rest = Prism.languages.javascript; if (Prism.languages.markup) { Prism.languages.insertBefore('markup', 'tag', { @@ -713,7 +747,8 @@ if (Prism.languages.markup) { pattern: /()[\s\S]*?(?=<\/script>)/i, lookbehind: true, inside: Prism.languages.javascript, - alias: 'language-javascript' + alias: 'language-javascript', + greedy: true } }); } @@ -723,7 +758,7 @@ Prism.languages.js = Prism.languages.javascript; Prism.languages.c = Prism.languages.extend('clike', { 'keyword': /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/, 'operator': /-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/]/, - 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i + 'number': /(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i }); Prism.languages.insertBefore('c', 'string', { @@ -768,7 +803,7 @@ delete Prism.languages.c['boolean']; }, /^\$\(\(/ ], - number: /\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee]-?\d+)?)\b/, + number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/, // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic operator: /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/, // If there is no $ sign at the beginning highlight (( and )) as punctuation @@ -778,6 +813,7 @@ delete Prism.languages.c['boolean']; // Command Substitution { pattern: /\$\([^)]+\)|`[^`]+`/, + greedy: true, inside: { variable: /^\$\(|^`|\)$|`$/ } @@ -804,7 +840,7 @@ delete Prism.languages.c['boolean']; inside: insideString }, { - pattern: /(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/, + pattern: /(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/, greedy: true, inside: insideString } @@ -812,7 +848,7 @@ delete Prism.languages.c['boolean']; 'variable': insideString.variable, // Originally based on http://ss64.com/bash/ 'function': { - pattern: /(^|[\s;|&])(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|[\s;|&])/, + pattern: /(^|[\s;|&])(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|[\s;|&])/, lookbehind: true }, 'keyword': { @@ -828,15 +864,18 @@ delete Prism.languages.c['boolean']; }; var inside = insideString.variable[1].inside; + inside.string = Prism.languages.bash.string; inside['function'] = Prism.languages.bash['function']; inside.keyword = Prism.languages.bash.keyword; - inside.boolean = Prism.languages.bash.boolean; + inside['boolean'] = Prism.languages.bash['boolean']; inside.operator = Prism.languages.bash.operator; inside.punctuation = Prism.languages.bash.punctuation; + + Prism.languages.shell = Prism.languages.bash; })(Prism); Prism.languages.cpp = Prism.languages.extend('c', { - 'keyword': /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, + 'keyword': /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, 'boolean': /\b(?:true|false)\b/, 'operator': /--?|\+\+?|!=?|<{1,2}=?|>{1,2}=?|->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|\|?|\?|\*|\/|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ }); @@ -847,6 +886,15 @@ Prism.languages.insertBefore('cpp', 'keyword', { lookbehind: true } }); + +Prism.languages.insertBefore('cpp', 'string', { + 'raw-string': { + pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, + alias: 'string', + greedy: true + } +}); + (function(Prism) { // Ignore comments starting with { to privilege string interpolation highlighting @@ -947,10 +995,13 @@ delete Prism.languages.coffeescript['template-string']; (function(Prism) { Prism.languages.ruby = Prism.languages.extend('clike', { 'comment': [ - /#(?!\{[^\r\n]*?\}).*/, - /^=begin(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?=end/m + /#.*/, + { + pattern: /^=begin(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?=end/m, + greedy: true + } ], - 'keyword': /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/ + 'keyword': /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/ }); var interpolation = { @@ -960,7 +1011,7 @@ delete Prism.languages.coffeescript['template-string']; pattern: /^#\{|\}$/, alias: 'tag' }, - rest: Prism.util.clone(Prism.languages.ruby) + rest: Prism.languages.ruby } }; @@ -1009,7 +1060,10 @@ delete Prism.languages.coffeescript['template-string']; } ], 'variable': /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/, - 'symbol': /:[a-zA-Z_]\w*(?:[?!]|\b)/ + 'symbol': { + pattern: /(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/, + lookbehind: true + } }); Prism.languages.insertBefore('ruby', 'number', { @@ -1127,6 +1181,30 @@ Prism.languages.insertBefore('d', 'function', { alias: 'variable' } }); +Prism.languages.dart = Prism.languages.extend('clike', { + 'string': [ + { + pattern: /r?("""|''')[\s\S]*?\1/, + greedy: true + }, + { + pattern: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, + greedy: true + } + ], + 'keyword': [ + /\b(?:async|sync|yield)\*/, + /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/ + ], + 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ +}); + +Prism.languages.insertBefore('dart','function',{ + 'metadata': { + pattern: /@\w+/, + alias: 'symbol' + } +}); // Django/Jinja2 syntax definition for Prism.js syntax highlighter. // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations. @@ -1170,15 +1248,15 @@ if (Prism.languages.css) { Prism.languages.jinja2 = Prism.languages.django; Prism.languages.elixir = { - // Negative look-ahead is needed for string interpolation - // Negative look-behind is needed to avoid highlighting markdown headers in - // multi-line doc strings 'comment': { - pattern: /(^|[^#])#(?![{#]).*/m, + pattern: /#.*/m, lookbehind: true }, // ~r"""foo""" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r"foo", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r - 'regex': /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/, + 'regex': { + pattern: /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/, + greedy: true + }, 'string': [ { // ~s"""foo""" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s"foo", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s @@ -1225,7 +1303,7 @@ Prism.languages.elixir = { alias: 'variable' }, 'attribute': { - pattern: /@[\S]+/, + pattern: /@\w+/, alias: 'variable' }, 'number': /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i, @@ -1256,13 +1334,102 @@ Prism.languages.elixir.string.forEach(function(o) { pattern: /^#\{|\}$/, alias: 'punctuation' }, - rest: Prism.util.clone(Prism.languages.elixir) + rest: Prism.languages.elixir } } }; }); +Prism.languages['markup-templating'] = {}; + +Object.defineProperties(Prism.languages['markup-templating'], { + buildPlaceholders: { + // Tokenize all inline templating expressions matching placeholderPattern + // If the replaceFilter function is provided, it will be called with every match. + // If it returns false, the match will not be replaced. + value: function (env, language, placeholderPattern, replaceFilter) { + if (env.language !== language) { + return; + } + + env.tokenStack = []; + + env.code = env.code.replace(placeholderPattern, function(match) { + if (typeof replaceFilter === 'function' && !replaceFilter(match)) { + return match; + } + var i = env.tokenStack.length; + // Check for existing strings + while (env.code.indexOf('___' + language.toUpperCase() + i + '___') !== -1) + ++i; + + // Create a sparse array + env.tokenStack[i] = match; + + return '___' + language.toUpperCase() + i + '___'; + }); + + // Switch the grammar to markup + env.grammar = Prism.languages.markup; + } + }, + tokenizePlaceholders: { + // Replace placeholders with proper tokens after tokenizing + value: function (env, language) { + if (env.language !== language || !env.tokenStack) { + return; + } + + // Switch the grammar back + env.grammar = Prism.languages[language]; + + var j = 0; + var keys = Object.keys(env.tokenStack); + var walkTokens = function (tokens) { + if (j >= keys.length) { + return; + } + for (var i = 0; i < tokens.length; i++) { + var token = tokens[i]; + if (typeof token === 'string' || (token.content && typeof token.content === 'string')) { + var k = keys[j]; + var t = env.tokenStack[k]; + var s = typeof token === 'string' ? token : token.content; + + var index = s.indexOf('___' + language.toUpperCase() + k + '___'); + if (index > -1) { + ++j; + var before = s.substring(0, index); + var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar, language), 'language-' + language, t); + var after = s.substring(index + ('___' + language.toUpperCase() + k + '___').length); + var replacement; + if (before || after) { + replacement = [before, middle, after].filter(function (v) { return !!v; }); + walkTokens(replacement); + } else { + replacement = middle; + } + if (typeof token === 'string') { + Array.prototype.splice.apply(tokens, [i, 1].concat(replacement)); + } else { + token.content = replacement; + } + + if (j >= keys.length) { + break; + } + } + } else if (token.content && typeof token.content !== 'string') { + walkTokens(token.content); + } + } + }; + + walkTokens(env.tokens); + } + } +}); Prism.languages.erlang = { 'comment': /%.+/, 'string': { @@ -1282,7 +1449,7 @@ Prism.languages.erlang = { 'number': [ /\$\\?./, /\d+#[a-z0-9]+/i, - /(?:\b|-)\d*\.?\d+([Ee][+-]?\d+)?\b/ + /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i ], 'function': /\b[a-z][\w@]*(?=\()/, 'variable': { @@ -1312,7 +1479,7 @@ Prism.languages.go = Prism.languages.extend('clike', { 'builtin': /\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/, 'boolean': /\b(?:_|iota|nil|true|false)\b/, 'operator': /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./, - 'number': /\b(-?(0x[a-f\d]+|(\d+\.?\d*|\.\d+)(e[-+]?\d+)?)i?)\b/i, + 'number': /(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i, 'string': { pattern: /(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/, greedy: true @@ -1322,7 +1489,7 @@ delete Prism.languages.go['class-name']; Prism.languages.java = Prism.languages.extend('clike', { 'keyword': /\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/, - 'number': /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i, + 'number': /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i, 'operator': { pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m, lookbehind: true @@ -1337,14 +1504,25 @@ Prism.languages.insertBefore('java','function', { } }); +Prism.languages.insertBefore('java', 'class-name', { + 'generics': { + pattern: /<\s*\w+(?:\.\w+)?(?:\s*,\s*\w+(?:\.\w+)?)*>/i, + alias: 'function', + inside: { + keyword: Prism.languages.java.keyword, + punctuation: /[<>(),.:]/ + } + } +}); + Prism.languages.json = { 'property': /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i, 'string': { pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, greedy: true }, - 'number': /\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee][+-]?\d+)?)\b/, - 'punctuation': /[{}[\]);,]/, + 'number': /-?\d+\.?\d*([Ee][+-]?\d+)?/, + 'punctuation': /[{}[\],]/, 'operator': /:/g, 'boolean': /\b(?:true|false)\b/i, 'null': /\bnull\b/i @@ -1356,7 +1534,7 @@ Prism.languages.jsonp = Prism.languages.json; Prism.languages.kotlin = Prism.languages.extend('clike', { 'keyword': { // The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get - pattern: /(^|[^.])\b(?:abstract|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|else|enum|final|finally|for|fun|get|if|import|in|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|out|override|package|private|protected|public|reified|return|sealed|set|super|tailrec|this|throw|to|try|val|var|when|where|while)\b/, + pattern: /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/, lookbehind: true }, 'function': [ @@ -1366,7 +1544,7 @@ Prism.languages.jsonp = Prism.languages.json; lookbehind: true } ], - 'number': /\b(?:0[bx][\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?[fFL]?)\b/, + 'number': /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/, 'operator': /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ }); @@ -1400,7 +1578,7 @@ Prism.languages.jsonp = Prism.languages.json; pattern: /^\$\{|\}$/, alias: 'variable' }, - rest: Prism.util.clone(Prism.languages.kotlin) + rest: Prism.languages.kotlin } }, { @@ -1414,6 +1592,7 @@ Prism.languages.jsonp = Prism.languages.json; }; }(Prism)); + Prism.languages.lua = { 'comment': /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m, // \z may be used to skip the following space @@ -1434,16 +1613,68 @@ Prism.languages.lua = { ], 'punctuation': /[\[\](){},;]|\.+|:+/ }; +(function(Prism) { + Prism.languages.crystal = Prism.languages.extend('ruby', { + keyword: [ + /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/, + { + pattern: /(\.\s*)(?:is_a|responds_to)\?/, + lookbehind: true + } + ], + + number: /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/ + }); + + Prism.languages.insertBefore('crystal', 'string', { + attribute: { + pattern: /@\[.+?\]/, + alias: 'attr-name', + inside: { + delimiter: { + pattern: /^@\[|\]$/, + alias: 'tag' + }, + rest: Prism.languages.crystal + } + }, + + expansion: [ + { + pattern: /\{\{.+?\}\}/, + inside: { + delimiter: { + pattern: /^\{\{|\}\}$/, + alias: 'tag' + }, + rest: Prism.languages.crystal + } + }, + { + pattern: /\{%.+?%\}/, + inside: { + delimiter: { + pattern: /^\{%|%\}$/, + alias: 'tag' + }, + rest: Prism.languages.crystal + } + } + ] + }); + +}(Prism)); + Prism.languages.nginx = Prism.languages.extend('clike', { - 'comment': { - pattern: /(^|[^"{\\])#.*/, - lookbehind: true - }, - 'keyword': /\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|events|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types)\b/i + 'comment': { + pattern: /(^|[^"{\\])#.*/, + lookbehind: true + }, + 'keyword': /\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|events|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types)\b/i }); Prism.languages.insertBefore('nginx', 'keyword', { - 'variable': /\$[a-z_]+/i + 'variable': /\$[a-z_]+/i }); Prism.languages.nim = { 'comment': /#.*/, @@ -1497,31 +1728,31 @@ Prism.languages.perl = { pattern: /\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/, greedy: true }, - + // q a...a { pattern: /\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/, greedy: true }, - + // q(...) { pattern: /\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/, greedy: true }, - + // q{...} { pattern: /\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/, greedy: true }, - + // q[...] { pattern: /\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/, greedy: true }, - + // q<...> { pattern: /\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/, @@ -1547,31 +1778,31 @@ Prism.languages.perl = { pattern: /\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/, greedy: true }, - + // m a...a { pattern: /\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/, greedy: true }, - + // m(...) { pattern: /\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/, greedy: true }, - + // m{...} { pattern: /\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/, greedy: true }, - + // m[...] { pattern: /\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/, greedy: true }, - + // m<...> { pattern: /\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/, @@ -1586,42 +1817,42 @@ Prism.languages.perl = { lookbehind: true, greedy: true }, - + // s a...a...a { pattern: /(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/, lookbehind: true, greedy: true }, - + // s(...)(...) { pattern: /(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/, lookbehind: true, greedy: true }, - + // s{...}{...} { pattern: /(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/, lookbehind: true, greedy: true }, - + // s[...][...] { pattern: /(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/, lookbehind: true, greedy: true }, - + // s<...><...> { pattern: /(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/, lookbehind: true, greedy: true }, - + // /.../ // The look-ahead tries to prevent two divisions on // the same line from being highlighted as regex. @@ -1665,7 +1896,7 @@ Prism.languages.perl = { } }, 'keyword': /\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/, - 'number': /\b-?(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/, + 'number': /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/, 'operator': /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/, 'punctuation': /[{}[\];(),:]/ }; @@ -1682,110 +1913,211 @@ Prism.languages.perl = { * Adds the following new token classes: * constant, delimiter, variable, function, package */ +(function (Prism) { + Prism.languages.php = Prism.languages.extend('clike', { + 'keyword': /\b(?:and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i, + 'constant': /\b[A-Z0-9_]{2,}\b/, + 'comment': { + pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, + lookbehind: true + } + }); -Prism.languages.php = Prism.languages.extend('clike', { - 'keyword': /\b(?:and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i, - 'constant': /\b[A-Z0-9_]{2,}\b/, - 'comment': { - pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, - lookbehind: true - } -}); + Prism.languages.insertBefore('php', 'string', { + 'shell-comment': { + pattern: /(^|[^\\])#.*/, + lookbehind: true, + alias: 'comment' + } + }); -// Shell-like comments are matched after strings, because they are less -// common than strings containing hashes... -Prism.languages.insertBefore('php', 'class-name', { - 'shell-comment': { - pattern: /(^|[^\\])#.*/, - lookbehind: true, - alias: 'comment' - } -}); + Prism.languages.insertBefore('php', 'keyword', { + 'delimiter': { + pattern: /\?>|<\?(?:php|=)?/i, + alias: 'important' + }, + 'variable': /\$+(?:\w+\b|(?={))/i, + 'package': { + pattern: /(\\|namespace\s+|use\s+)[\w\\]+/, + lookbehind: true, + inside: { + punctuation: /\\/ + } + } + }); -Prism.languages.insertBefore('php', 'keyword', { - 'delimiter': { - pattern: /\?>|<\?(?:php|=)?/i, - alias: 'important' - }, - 'variable': /\$\w+\b/i, - 'package': { - pattern: /(\\|namespace\s+|use\s+)[\w\\]+/, - lookbehind: true, - inside: { - punctuation: /\\/ + // Must be defined after the function pattern + Prism.languages.insertBefore('php', 'operator', { + 'property': { + pattern: /(->)[\w]+/, + lookbehind: true } - } -}); + }); -// Must be defined after the function pattern -Prism.languages.insertBefore('php', 'operator', { - 'property': { - pattern: /(->)[\w]+/, - lookbehind: true - } -}); + Prism.languages.insertBefore('php', 'string', { + 'nowdoc-string': { + pattern: /<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/, + greedy: true, + alias: 'string', + inside: { + 'delimiter': { + pattern: /^<<<'[^']+'|[a-z_]\w*;$/i, + alias: 'symbol', + inside: { + 'punctuation': /^<<<'?|[';]$/ + } + } + } + }, + 'heredoc-string': { + pattern: /<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i, + greedy: true, + alias: 'string', + inside: { + 'delimiter': { + pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i, + alias: 'symbol', + inside: { + 'punctuation': /^<<<"?|[";]$/ + } + }, + 'interpolation': null // See below + } + }, + 'single-quoted-string': { + pattern: /'(?:\\[\s\S]|[^\\'])*'/, + greedy: true, + alias: 'string' + }, + 'double-quoted-string': { + pattern: /"(?:\\[\s\S]|[^\\"])*"/, + greedy: true, + alias: 'string', + inside: { + 'interpolation': null // See below + } + } + }); + // The different types of PHP strings "replace" the C-like standard string + delete Prism.languages.php['string']; -// Add HTML support if the markup language exists -if (Prism.languages.markup) { + var string_interpolation = { + pattern: /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/, + lookbehind: true, + inside: { + rest: Prism.languages.php + } + }; + Prism.languages.php['heredoc-string'].inside['interpolation'] = string_interpolation; + Prism.languages.php['double-quoted-string'].inside['interpolation'] = string_interpolation; - // Tokenize all inline PHP blocks that are wrapped in - // This allows for easy PHP + markup highlighting - Prism.hooks.add('before-highlight', function(env) { - if (env.language !== 'php' || !/(?:<\?php|<\?)/ig.test(env.code)) { + Prism.hooks.add('before-tokenize', function(env) { + if (!/(?:<\?php|<\?)/ig.test(env.code)) { return; } - env.tokenStack = []; - - env.backupCode = env.code; - env.code = env.code.replace(/(?:<\?php|<\?)[\s\S]*?(?:\?>|$)/ig, function(match) { - var i = env.tokenStack.length; - // Check for existing strings - while (env.backupCode.indexOf('___PHP' + i + '___') !== -1) - ++i; - - // Create a sparse array - env.tokenStack[i] = match; - - return '___PHP' + i + '___'; - }); + var phpPattern = /(?:<\?php|<\?)[\s\S]*?(?:\?>|$)/ig; + Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern); + }); - // Switch the grammar to markup - env.grammar = Prism.languages.markup; + Prism.hooks.add('after-tokenize', function(env) { + Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php'); }); - // Restore env.code for other plugins (e.g. line-numbers) - Prism.hooks.add('before-insert', function(env) { - if (env.language === 'php' && env.backupCode) { - env.code = env.backupCode; - delete env.backupCode; +}(Prism)); +Prism.languages.sql= { + 'comment': { + pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, + lookbehind: true + }, + 'string' : { + pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\])*\2/, + greedy: true, + lookbehind: true + }, + 'variable': /@[\w.$]+|@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, + 'function': /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i, // Should we highlight user defined functions too? + 'keyword': /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i, + 'boolean': /\b(?:TRUE|FALSE|NULL)\b/i, + 'number': /\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i, + 'operator': /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, + 'punctuation': /[;[\]()`,.]/ +}; +Prism.languages.scss = Prism.languages.extend('css', { + 'comment': { + pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, + lookbehind: true + }, + 'atrule': { + pattern: /@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/, + inside: { + 'rule': /@[\w-]+/ + // See rest below } - }); + }, + // url, compassified + 'url': /(?:[-a-z]+-)*url(?=\()/i, + // CSS selector regex is not appropriate for Sass + // since there can be lot more things (var, @ directive, nesting..) + // a selector must start at the end of a property or after a brace (end of other rules or nesting) + // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable + // the end of a selector is found when there is no rules in it ( {} or {\s}) or if there is a property (because an interpolated var + // can "pass" as a selector- e.g: proper#{$erty}) + // this one was hard to do, so please be careful if you edit this one :) + 'selector': { + // Initial look-ahead is used to prevent matching of blank selectors + pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()]|&|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m, + inside: { + 'parent': { + pattern: /&/, + alias: 'important' + }, + 'placeholder': /%[-\w]+/, + 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ + } + } +}); - // Re-insert the tokens after highlighting - Prism.hooks.add('after-highlight', function(env) { - if (env.language !== 'php' || !env.tokenStack) { - return; +Prism.languages.insertBefore('scss', 'atrule', { + 'keyword': [ + /@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, + { + pattern: /( +)(?:from|through)(?= )/, + lookbehind: true } + ] +}); - // Switch the grammar back - env.grammar = Prism.languages.php; +Prism.languages.scss.property = { + pattern: /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/i, + inside: { + 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ + } +}; - for (var i = 0, keys = Object.keys(env.tokenStack); i < keys.length; ++i) { - var k = keys[i]; - var t = env.tokenStack[k]; +Prism.languages.insertBefore('scss', 'important', { + // var and interpolated vars + 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ +}); - // The replace prevents $$, $&, $`, $', $n, $nn from being interpreted as special patterns - env.highlightedCode = env.highlightedCode.replace('___PHP' + k + '___', - "" + - Prism.highlight(t, env.grammar, 'php').replace(/\$/g, '$$$$') + - ""); - } +Prism.languages.insertBefore('scss', 'function', { + 'placeholder': { + pattern: /%[-\w]+/, + alias: 'selector' + }, + 'statement': { + pattern: /\B!(?:default|optional)\b/i, + alias: 'keyword' + }, + 'boolean': /\b(?:true|false)\b/, + 'null': /\bnull\b/, + 'operator': { + pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/, + lookbehind: true + } +}); - env.element.innerHTML = env.highlightedCode; - }); -} -; +Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss; Prism.languages.python = { 'comment': { pattern: /(^|[^\\])#.*/, @@ -1811,7 +2143,7 @@ Prism.languages.python = { 'keyword': /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|pass|print|raise|return|try|while|with|yield)\b/, 'builtin':/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, 'boolean': /\b(?:True|False|None)\b/, - 'number': /\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i, + 'number': /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i, 'operator': /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/, 'punctuation': /[{}[\];(),.:]/ }; @@ -1821,93 +2153,134 @@ Prism.languages.python = { var javascript = Prism.util.clone(Prism.languages.javascript); Prism.languages.jsx = Prism.languages.extend('markup', javascript); -Prism.languages.jsx.tag.pattern= /<\/?[\w.:-]+\s*(?:\s+(?:[\w\.:-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+|(?:\{[^}]*\})))?|\{\.{3}\w+\}))*\s*\/?>/i; +Prism.languages.jsx.tag.pattern= /<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s{'">=]+|\{(?:\{(?:\{[^}]*\}|[^{}])*\}|[^{}])+\}))?|\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}))*\s*\/?)?>/i; +Prism.languages.jsx.tag.inside['tag'].pattern = /^<\/?[^\s>\/]*/i; Prism.languages.jsx.tag.inside['attr-value'].pattern = /=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i; Prism.languages.insertBefore('inside', 'attr-name', { 'spread': { - pattern: /\{\.{3}\w+\}/, + pattern: /\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}/, inside: { - 'punctuation': /[{}]|\.{3}/, + 'punctuation': /\.{3}|[{}.]/, 'attr-value': /\w+/ } } }, Prism.languages.jsx.tag); -var jsxExpression = Prism.util.clone(Prism.languages.jsx); - -delete jsxExpression.punctuation; - -jsxExpression = Prism.languages.insertBefore('jsx', 'operator', { - 'punctuation': /=(?={)|[{}[\];(),.:]/ -}, { jsx: jsxExpression }); - Prism.languages.insertBefore('inside', 'attr-value',{ 'script': { - // Allow for one level of nesting - pattern: /=(\{(?:\{[^}]*\}|[^}])+\})/i, - inside: jsxExpression, + // Allow for two levels of nesting + pattern: /=(\{(?:\{(?:\{[^}]*\}|[^}])*\}|[^}])+\})/i, + inside: { + 'script-punctuation': { + pattern: /^=(?={)/, + alias: 'punctuation' + }, + rest: Prism.languages.jsx + }, 'alias': 'language-javascript' } }, Prism.languages.jsx.tag); -}(Prism)); +// The following will handle plain text inside tags +var stringifyToken = function (token) { + if (!token) { + return ''; + } + if (typeof token === 'string') { + return token; + } + if (typeof token.content === 'string') { + return token.content; + } + return token.content.map(stringifyToken).join(''); +}; -(function(Prism) { - Prism.languages.crystal = Prism.languages.extend('ruby', { - keyword: [ - /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/, - { - pattern: /(\.\s*)(?:is_a|responds_to)\?/, - lookbehind: true - } - ], +var walkTokens = function (tokens) { + var openedTags = []; + for (var i = 0; i < tokens.length; i++) { + var token = tokens[i]; + var notTagNorBrace = false; + + if (typeof token !== 'string') { + if (token.type === 'tag' && token.content[0] && token.content[0].type === 'tag') { + // We found a tag, now find its kind + + if (token.content[0].content[0].content === ' 0 && openedTags[openedTags.length - 1].tagName === stringifyToken(token.content[0].content[1])) { + // Pop matching opening tag + openedTags.pop(); + } + } else { + if (token.content[token.content.length - 1].content === '/>') { + // Autoclosed tag, ignore + } else { + // Opening tag + openedTags.push({ + tagName: stringifyToken(token.content[0].content[1]), + openedBraces: 0 + }); + } + } + } else if (openedTags.length > 0 && token.type === 'punctuation' && token.content === '{') { - number: /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[0-9a-fA-F_]*[0-9a-fA-F]|(?:\d(?:[0-9_]*\d)?)(?:\.[0-9_]*\d)?(?:[eE][+-]?[0-9_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/ - }); + // Here we might have entered a JSX context inside a tag + openedTags[openedTags.length - 1].openedBraces++; - var rest = Prism.util.clone(Prism.languages.crystal); + } else if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces > 0 && token.type === 'punctuation' && token.content === '}') { - Prism.languages.insertBefore('crystal', 'string', { - attribute: { - pattern: /@\[.+?\]/, - alias: 'attr-name', - inside: { - delimiter: { - pattern: /^@\[|\]$/, - alias: 'tag' - }, - rest: rest - } - }, + // Here we might have left a JSX context inside a tag + openedTags[openedTags.length - 1].openedBraces--; - expansion: [ - { - pattern: /\{\{.+?\}\}/, - inside: { - delimiter: { - pattern: /^\{\{|\}\}$/, - alias: 'tag' - }, - rest: rest + } else { + notTagNorBrace = true } - }, - { - pattern: /\{%.+?%\}/, - inside: { - delimiter: { - pattern: /^\{%|%\}$/, - alias: 'tag' - }, - rest: rest + } + if (notTagNorBrace || typeof token === 'string') { + if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces === 0) { + // Here we are inside a tag, and not inside a JSX context. + // That's plain text: drop any tokens matched. + var plainText = stringifyToken(token); + + // And merge text with adjacent text + if (i < tokens.length - 1 && (typeof tokens[i + 1] === 'string' || tokens[i + 1].type === 'plain-text')) { + plainText += stringifyToken(tokens[i + 1]); + tokens.splice(i + 1, 1); + } + if (i > 0 && (typeof tokens[i - 1] === 'string' || tokens[i - 1].type === 'plain-text')) { + plainText = stringifyToken(tokens[i - 1]) + plainText; + tokens.splice(i - 1, 1); + i--; + } + + tokens[i] = new Prism.Token('plain-text', plainText, null, plainText); } } - ] - }); + + if (token.content && typeof token.content !== 'string') { + walkTokens(token.content); + } + } +}; + +Prism.hooks.add('after-tokenize', function (env) { + if (env.language !== 'jsx' && env.language !== 'tsx') { + return; + } + walkTokens(env.tokens); +}); }(Prism)); +Prism.languages.typescript = Prism.languages.extend('javascript', { + // From JavaScript Prism keyword list and TypeScript language spec: https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#221-reserved-words + 'keyword': /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|module|declare|constructor|namespace|abstract|require|type)\b/, + 'builtin': /\b(?:string|Function|any|number|boolean|Array|symbol|console)\b/, +}); + +Prism.languages.ts = Prism.languages.typescript; /* TODO Add support for Markdown notation inside doc comments Add support for nested block comments... @@ -1932,10 +2305,18 @@ Prism.languages.rust = { greedy: true }, { - pattern: /b?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, + pattern: /b?"(?:\\.|[^\\\r\n"])*"/, greedy: true } ], + 'char': { + pattern: /b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/, + alias: 'string' + }, + 'lifetime-annotation': { + pattern: /'[^\s>']+/, + alias: 'symbol' + }, 'keyword': /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/, 'attribute': { @@ -1955,7 +2336,7 @@ Prism.languages.rust = { }, // Hex, oct, bin, dec numbers with visual separators and type suffix - 'number': /\b-?(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/, + 'number': /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/, // Closure params should not be confused with bitwise OR | 'closure-params': { @@ -1966,107 +2347,8 @@ Prism.languages.rust = { } }, 'punctuation': /[{}[\];(),:]|\.+|->/, - 'operator': /[-+*\/%!^=]=?|@|&[&=]?|\|[|=]?|<>?=?/ + 'operator': /[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<>?=?/ }; -Prism.languages.scss = Prism.languages.extend('css', { - 'comment': { - pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, - lookbehind: true - }, - 'atrule': { - pattern: /@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/, - inside: { - 'rule': /@[\w-]+/ - // See rest below - } - }, - // url, compassified - 'url': /(?:[-a-z]+-)*url(?=\()/i, - // CSS selector regex is not appropriate for Sass - // since there can be lot more things (var, @ directive, nesting..) - // a selector must start at the end of a property or after a brace (end of other rules or nesting) - // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable - // the end of a selector is found when there is no rules in it ( {} or {\s}) or if there is a property (because an interpolated var - // can "pass" as a selector- e.g: proper#{$erty}) - // this one was hard to do, so please be careful if you edit this one :) - 'selector': { - // Initial look-ahead is used to prevent matching of blank selectors - pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()]|&|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m, - inside: { - 'parent': { - pattern: /&/, - alias: 'important' - }, - 'placeholder': /%[-\w]+/, - 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ - } - } -}); - -Prism.languages.insertBefore('scss', 'atrule', { - 'keyword': [ - /@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, - { - pattern: /( +)(?:from|through)(?= )/, - lookbehind: true - } - ] -}); - -Prism.languages.scss.property = { - pattern: /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/i, - inside: { - 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ - } -}; - -Prism.languages.insertBefore('scss', 'important', { - // var and interpolated vars - 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ -}); - -Prism.languages.insertBefore('scss', 'function', { - 'placeholder': { - pattern: /%[-\w]+/, - alias: 'selector' - }, - 'statement': { - pattern: /\B!(?:default|optional)\b/i, - alias: 'keyword' - }, - 'boolean': /\b(?:true|false)\b/, - 'null': /\bnull\b/, - 'operator': { - pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/, - lookbehind: true - } -}); - -Prism.languages.scss['atrule'].inside.rest = Prism.util.clone(Prism.languages.scss); -Prism.languages.sql= { - 'comment': { - pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, - lookbehind: true - }, - 'string' : { - pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\])*\2/, - greedy: true, - lookbehind: true - }, - 'variable': /@[\w.$]+|@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, - 'function': /\b(?:COUNT|SUM|AVG|MIN|MAX|FIRST|LAST|UCASE|LCASE|MID|LEN|ROUND|NOW|FORMAT)(?=\s*\()/i, // Should we highlight user defined functions too? - 'keyword': /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR VARYING|CHARACTER (?:SET|VARYING)|CHARSET|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|DATA(?:BASES?)?|DATE(?:TIME)?|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITER(?:S)?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE(?: PRECISION)?|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE KEY|ELSE|ENABLE|ENCLOSED BY|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPE(?:D BY)?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTO|INVOKER|ISOLATION LEVEL|JOIN|KEYS?|KILL|LANGUAGE SQL|LAST|LEFT|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MODIFIES SQL DATA|MODIFY|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL(?: CHAR VARYING| CHARACTER(?: VARYING)?| VARCHAR)?|NATURAL|NCHAR(?: VARCHAR)?|NEXT|NO(?: SQL|CHECK|CYCLE)?|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READ(?:S SQL DATA|TEXT)?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEATABLE|REPLICATION|REQUIRE|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE MODE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|START(?:ING BY)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED BY|TEXT(?:SIZE)?|THEN|TIMESTAMP|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNPIVOT|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?)\b/i, - 'boolean': /\b(?:TRUE|FALSE|NULL)\b/i, - 'number': /\b-?(?:0x)?\d*\.?[\da-f]+\b/, - 'operator': /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, - 'punctuation': /[;[\]()`,.]/ -}; -Prism.languages.typescript = Prism.languages.extend('javascript', { - // From JavaScript Prism keyword list and TypeScript language spec: https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#221-reserved-words - 'keyword': /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|false|true|module|declare|constructor|string|Function|any|number|boolean|Array|symbol|namespace|abstract|require|type)\b/ -}); - -Prism.languages.ts = Prism.languages.typescript; Prism.languages.yaml = { 'scalar': { pattern: /([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/, @@ -2105,35 +2387,10 @@ Prism.languages.yaml = { greedy: true }, 'number': { - pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+\-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im, + pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im, lookbehind: true }, 'tag': /![^\s]+/, 'important': /[&*][\w]+/, 'punctuation': /---|[:[\]{}\-,|>?]|\.\.\./ }; - -Prism.languages.dart = Prism.languages.extend('clike', { - 'string': [ - { - pattern: /r?("""|''')[\s\S]*?\1/, - greedy: true - }, - { - pattern: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, - greedy: true - } - ], - 'keyword': [ - /\b(?:async|sync|yield)\*/, - /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/ - ], - 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ -}); - -Prism.languages.insertBefore('dart','function',{ - 'metadata': { - pattern: /@\w+/, - alias: 'symbol' - } -}); From 17964b67d4f515ae014303bd3179c88779584939 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Mon, 6 Aug 2018 18:30:48 -0400 Subject: [PATCH 11/65] Finish Dart scraper --- assets/images/docs-2.png | Bin 18790 -> 19197 bytes assets/images/docs-2@2x.png | Bin 46115 -> 46805 bytes assets/javascripts/news.json | 3 ++ assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_dart.scss | 4 +-- lib/docs/filters/dart/clean_html.rb | 17 +++++++++++- lib/docs/filters/dart/entries.rb | 38 ++++++++------------------ lib/docs/scrapers/dart.rb | 19 +++++++------ public/icons/docs-2.pxm | Bin 1282041 -> 1312856 bytes public/icons/docs-2@2x.pxm | Bin 1391520 -> 1419962 bytes public/icons/docs/dart/16.png | Bin 1129 -> 472 bytes public/icons/docs/dart/16@2x.png | Bin 4217 -> 749 bytes 12 files changed, 44 insertions(+), 38 deletions(-) diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index 2bd5bdbeb0cc65017b74653b8c3259ac240980c6..089ecbded23ea65f60e613809f7887a40f9a376f 100644 GIT binary patch delta 9779 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 delta 9351 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 Gf&T-MGwP!N diff --git a/assets/images/docs-2@2x.png b/assets/images/docs-2@2x.png index ed34377ac2321589ba97fb7111f44a9dfc4357dc..c8234813332d846a12bd0d9d7f19b6d0c3ea5e75 100644 GIT binary patch delta 14558 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 diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index 435913f6..ffdb2615 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,5 +1,8 @@ [ [ + "2018-08-06", + "New documentation:
Dart" + ], [ "2018-07-29", "New documentations: Bash, Graphite and Pygame" ], [ diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 5dfb1034..14c12346 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -176,3 +176,4 @@ ._icon-terraform:before { background-position: -4rem -3rem; @extend %doc-icon-2; } ._icon-pygame:before { background-position: -5rem -3rem; @extend %doc-icon-2; } ._icon-bash:before { background-position: -6rem -3rem; @extend %doc-icon-2; } +._icon-dart:before { background-position: -7rem -3rem; @extend %doc-icon-2; } diff --git a/assets/stylesheets/pages/_dart.scss b/assets/stylesheets/pages/_dart.scss index 87159057..3c011db7 100644 --- a/assets/stylesheets/pages/_dart.scss +++ b/assets/stylesheets/pages/_dart.scss @@ -2,11 +2,11 @@ @extend %simple; dl:not(.dl-horizontal) dt, .multi-line-signature { - @extend %note, %note-blue; - padding: 1px 0.5rem 2px 0.5rem; + @extend %block-label; .features { float: right; + color: $textColorLight; } } } diff --git a/lib/docs/filters/dart/clean_html.rb b/lib/docs/filters/dart/clean_html.rb index ce1733af..c0021aae 100644 --- a/lib/docs/filters/dart/clean_html.rb +++ b/lib/docs/filters/dart/clean_html.rb @@ -4,7 +4,7 @@ module Docs def call # Move the title into the main content node in the v1 docs title = at_css('h1.title') - unless title.nil? + if title name = title.children.last.content.strip kind = title.at_css('.kind').content at_css('.main-content').prepend_child("

#{name} #{kind}

") @@ -39,11 +39,26 @@ module Docs header.add_child node unless header.nil? end + css('section').each do |node| + if node['id'] && node.first_element_child + node.first_element_child['id'] ||= node['id'] + end + + node.before(node.children).remove + end + + css('span').each do |node| + node.before(node.children).remove + end + # Make code blocks detectable by Prism css('pre').each do |node| node['data-language'] = 'dart' + node.content = node.content end + css('.properties', '.property', '.callables', '.callable').remove_attr('class') + doc end end diff --git a/lib/docs/filters/dart/entries.rb b/lib/docs/filters/dart/entries.rb index f94c451b..f3c42bbf 100644 --- a/lib/docs/filters/dart/entries.rb +++ b/lib/docs/filters/dart/entries.rb @@ -2,8 +2,15 @@ module Docs class Dart class EntriesFilter < Docs::EntriesFilter def get_name - title = get_title - kind = get_kind + title = at_css('h1.title') + if title # v1 + name = title.element_children.last.content.strip + kind = title.at_css('.kind').content + else # v2 + title = at_css('.main-content > h1') + name = title.content[/(.*)( )/, 1].split(' top-level')[0] + kind = title.content[/(.*)( )(.+)/, 3] + end breadcrumbs = at_css('.breadcrumbs').css('li:not(.self-crumb) > a') first_part = '' @@ -15,6 +22,7 @@ module Docs end separator = '' + unless first_part.empty? if kind.include?('class') separator = ':' @@ -23,36 +31,12 @@ module Docs end end - first_part + separator + title + "#{first_part}#{separator}#{name}" end def get_type at_css('.breadcrumbs > li:nth-child(2)').content.split(' ')[0] end - - def get_title - title = at_css('h1.title') - - if not title.nil? - # v1 - title.children.last.content.strip - else - # v2 - at_css('.main-content > h1').content[/(.*)( )/, 1].split(' top-level')[0] - end - end - - def get_kind - title = at_css('h1.title') - - if not title.nil? - # v1 - title.at_css('.kind').content - else - # v2 - at_css('.main-content > h1').content[/(.*)( )(.+)/, 3] - end - end end end end diff --git a/lib/docs/scrapers/dart.rb b/lib/docs/scrapers/dart.rb index b06960b2..83ccc1b5 100644 --- a/lib/docs/scrapers/dart.rb +++ b/lib/docs/scrapers/dart.rb @@ -11,24 +11,27 @@ module Docs options[:fix_urls] = ->(url) do # localhost/dart-web_audio/..dart-io/dart-io-library.html > localhost/dart-io/dart-io-library.html - url.sub(/(([^\/]+)\/\.\.)/, '') + url.remove!(/[^\/]+\/\.\./) + url end options[:attribution] = <<-HTML - © 2012, the Dart project authors
+ © 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0. HTML # Download the documentation from https://www.dartlang.org/tools/sdk/archive - version '1' do - self.release = '1.24.3' - self.dir = '/home/jasper/Documents/dart-docs-1.24.3' + version '2' do + self.release = '2.0.0' + self.dir = '/Users/Thibaut/DevDocs/Docs/Dart2' + self.base_url = "https://api.dartlang.org/stable/#{release}/" end - version '2' do - self.release = '2.0.0-dev.68.0' - self.dir = '/home/jasper/Documents/dart-docs-2.0.0-dev.68.0' + version '1' do + self.release = '1.24.3' + self.dir = '/Users/Thibaut/DevDocs/Docs/Dart1' + self.base_url = "https://api.dartlang.org/stable/#{release}/" end end end diff --git a/public/icons/docs-2.pxm b/public/icons/docs-2.pxm index 37cdd6d7b688c71b54eb26723ab89a0dccece6b7..7039ec5f5990382c85ad1fc5281d6ff66b1c65a2 100644 GIT binary patch delta 30055 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 bf;IA3RewJEg<=4-LH`tT06INUpsW7})SYMB delta 24982 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 Vym)&VU2;PI)~NvKK3#*J{ttXxQ@j8G diff --git a/public/icons/docs-2@2x.pxm b/public/icons/docs-2@2x.pxm index fcc1aafb2cfe02c5ebffc182eda84ea72192ab4a..e0dd2df57bc1442b11f2f2fc43403530cc279d69 100644 GIT binary patch delta 64570 zcmeFacX$+4+c-RD`poXkZpvmuNk~F30a6GZvUCWf&;$Y`n_fu>O@xr$L${fBe4dd+~BIbD#U1Idjgr`+d%C z{A28!N5@-JCyW|2YVcTBnZ_^}on=F~cBnm$9K^Rn6IUen)G8S-^8mAmd4yTYtT6IA zB}F2{A`bB=5Cx%NGa8)&PKa)HmdCVA!R9kN$V2{l%=`yys z7Vnj@cqfNN>k_7qP+=SNGh9IQdrmS zF6ct4I|rtt%#T#X?51CoKdZ!DH$v~j`$m?{uKU7|YQH6}w&_oy(g^pAQkc+M&}Y!+ z)LC`CIp7JKFt{W)duByh-RloSJ44(h*>@mEtDw_E%W}%<#_daJCb_V*w$*Q-%J^9& z#dpT$geNR*P;K#Pc*}s2S-Dw-6*;xAvruL57+7m{ZGK4OX>#t3iNJ(J1e&i@GE@x$Xs_`Np4-^*F0ep$L3a4xbw;?>bm_GG?h9x z-(6ZaJb%NO4sg#XsO`aRcpl`gKr>e=&KLn%n9ffl5lKi!3Q|2IJ)=Cyo)k~&)5wZ6 zD6k>BC(Sbs3dVcx@k}s=Ddz%0QB%}>6Kdiay$Ln*jPZ;$`l&-YN1({b$zui;X3s1v zo93>VyBS3=$>U-=ck3K8F0OO;&T(Vlp3)#{gWBS&15~F7cYuT=2dY7>Q3updz@on$q(A6w3DWRI{nx%S*R zZV~qecYzP*Q}}uOQ~Wdhc76x{8viN3m;anU${*uT@jvmu37nt`fkHDOLTGQSvW%%Z zEPO6}A)FL`6n+wZ5pIZ@7%YZ~ZNzqB7qN%fOLU1N#F1i}I7yr=W{JgOsW?}x7Vj6A ziI0hE#HYoV#BJhh;ydDQ@e}coctkuQelPwgUJ?HiZ%CYEm2|18)KY3KwU=V0c&Vo} zKpG^aNE4($sOfrIbQB7_m^Gr2zjJDPM#`f%K37+Tp`butL6LU zCGu+dF?oahto)q3O@2duOMYMeOx`blDW8_VldCSszskSM*A-3?6jiY*x?)$FC~cG& zB~Iz4bXR&Ry_F%#FlB@?Qb|@)mC;JEVkqw`f2dv5K5Bo}r4CYusKeB1b&8r88(Sj6j4vXlMjlaA%l!{^dg_4(7cTO2_H^-d^~5~&aEHZ9Jh4zW z-jiUw7&*A=(N!Bgafj0<>llbw>dy>b{`@?H3PppH7&N=Rx z?h*8brS6$!6`pQTbHm0dbu~dixS!mxDRVp!6x>3+C)W+8MC9p~VGo!wdgy?N;e!Vz z#Pm!^h>qFMdU`T6HPy*<5+jL2x#E>rR{%A#g!MQApvLJy#2 zXbpPCxDw??hmFxKyQGihCUWWA6fT2vb9r0=SHzWY)3|bOF1MK5#BJkV<92edbGx|D zxP#o6+;Q$4cZK_f`-2yFg}3t#z8N3J$M8M)-h5xaKR+ zPDz;Jt;sZ8s?!+JC%~AWuHf5WuvVTuz#gQEL)GJq1Z3ZWiC`ju^jk8mnAS`irY$p; znaoUKrZO2!CX>&UG3Cs?%v{hfs+osDzc83bnJ1Wa%+t&>%uCG6jE{Mp+0E=>K4t#J z9A=I%-!R`YXPI-%CFW=58uJHp8!?pA1%M{f6g8u|M<*1Gx>cbB)DQJXL(wpliqg!0 zg^r^W=rsBfT|hsfi|88q1O18qLbq7NvMkREY!DmFI@l1_$#!Dn*=}qC+pRm>pG{q#3idvB9$UlS&n{+{u&dbB?0R+syM=w3^|9}=AG3Rn0d0ouSlVU| z>fOT?=NcRvmk>Q5Hokjwd|YgN^ngLJanU_vy2Zx#j87Qi8ayC6wr7uo?$KT0U);c+ z34>$e6ymc#te{i8vttJiG(0-7!UQt0#ss0OF{o3d^a!(< zS;8zg3Oc1afu#qIYc*|FNy!mLp?aN_>CR*s0jN3ZV01#ruV?gc5!aAIg=o@3En%lzHFS-M0l>)WmqCUx^$l zd6AbxZhZ9y+so+Lzd&|MUXDUG6)C-qv;7NDh%qX0tL&(SyFZtE8$DeGa&Rr=)M*JY zT?Ht}7&YKoIj|NUFpBSO^ca|r0*s9VOOf5s2R$d-XsPVRuHR8_ zmt&L+eCQzC+c-72m2st?sI(LPy)h2m-`jY7L;(_v$fT`CM3QVAPTDMU{+An`+}?(7 zWbR;ZTb6(ja^JH3m3rU9i#|}pGQ57ZKfPbU5wi~u-n zZ6Dg+wY_26VSCZG#kR?|*0##F%=VD2##U*YW1DU(w&mI~Y!hu`Y@=*LZ7y4HTettG zRfn&pDGr>uN^I}bogj~KRa*%Uuoc(^FE@_=pMR9u?x};aBhdy;mCAS7)T-TDSfUOs zr73sUQV6zBvFnK%G&SWen{wdY=}NFG+X`(ZIqt4o4rBRL%V1C_XU?}kbF-woY;N@t z6s0Yme{1uHU+1fW7mee|Doe&2`>DY@`cJ@!?H04+%ZcaMDp+d~_uJswXC4L zuDTaopR8^N*R|En;QDAaskOKo!Sw;}Ot{|b%?BHknd2P`4`tqga4qmAz}4+-57&ua zP-&PnFLaI>;UzlH0O%XjtpF}@F-%* zTP1CZ^}PI@+E?4J98ijE(fUX(fKL(@vd^I7f_9Z#Ahcu$^4rmT?u_xtlzbx~V=T-@ zAdb2zO~BIzR>t<6T+|Zp`P!BxMis#{W#Fsd*i!NGUs;D3SptA;6HtCr z3Kg>9In8{w-;iwhof4%0g+m+T@Tn85T@0HJ2&E=MYEPlL*t}ki@-s+B&2ac}TOn!+ zZy!h22Wo;7kJx4zDLGQFyIdc5`2@vcY`eRLyknHsu8=JFj1+Wt{fTlp=y={uGte6+ z-hBfFxq|6b+)Z1QD=z;XIa>zNN%?ne!6JL15J+nZb`_{8gcmr%%T*uKWHt=QEOt=W zxNd`n#KuG?#0>yc_%|9`58E<@U2r=Pm!vC&0*2e0c$8b6Y0I`+o?v)*ZjlGo$Kk}^ zQ7TSsF9xV@12EiND-mY^NY;ulP#?+^<6Z5=dCnOxRu-xo55(M&|Wqh+mjGuyxDozbv6~BYAM)7lmXC5_&~lg4rd;= zSyd-Imli;kbbR_}DGgsa#0G|r0wCjQp!5N_ zB>Kyh@|*G>;4!FBURExt9n}K$8TC6$gk`E_t>r6gh;^)WrFE_K3F~_67V9h4x2*rN z9kZR^*(w(eW*T6AEA%Y$Lizt3_VlN(u?&HeVRT;zgNFcuhH++k7%_0RPE`Z4{I{+kWif^4C-Fv3X~rfHpvq^Sw0 zz1mvfJ(b#!c8W*x$R6ccCWLV^p-dB|DbtK;&V+eXPp&7=lkX|^%<#u!rnnJ$sd2q(WYBbGW+V7)W1=Ui`F%`fBY2fZ_k?)t z!2U2Xo?6v*q=tF05#}Pm3^g%{p;m{vm|4~ca|K{FC78YNrf!yAb(pJ|#~NX-0nFwm z=IOssuV%GxU(al6g!!ZqQ=JsFg?X+K`~_oK^~j)Yz}p%Q+iS+p0DpsdyAk{yV^qz^ zp!b*$8^J#|UI6%BW`862LBn$Y$e_=eV~yZn8AbOe1s!KjHG+focmK%d=b0ZH!GD4; z?QDK2F?{RBufBQbeK% z^{$(M*=TMf%y~w@BS}G3sJapSexnTFi_jzW;b<{hV(fclWY9{qsy>{Vh_KOVaZ=D) zw7wC1qwz4npF&$2!M7SeEKX|vBHGpn{tEOwo%VdybS;M1Nz9P0U59iBZL`~u+VR_o z-e^?qEo1AFkwNdG_Zq=JFyy5pn|y-yHiGYi*SKN4^%?!DYFj;oK5vBe1z=^<&iv2y ze+ZKSi$q_eZyLLN0roAEch7LY+c(1=GH+hjP7!h4dQ^6bm=_xl_pxzZD=VpzfKD=F zHr8=tbOxP+zM}8YSxbWepbb6F3|b##NVpufTKc+>DL>({H??B#8i0d;U-SxH&NW^|j$%diKgP8d^C zn4JqDKyX5*CJ&8;C>7!Pxh%Jta{DgJBRjDoYh}WpM&GeAt3asN0==5$ne8d`%y}A} zXLZ(w7Bds!{r7t28uOQrsS0I4>IAY)*rseVwmBQdhO;f$2sV<9Vq3DU*w$$=xv)HrLv)r@NV|X6*tn#d`8y7a3?F!?Gy=&Zt=+|;reg+}s<_EkOD-VJd30B#k*wI}+Q1nXi4H9#2* zC|-(^S&K4)9n}CO8Bl5{il-K33_HF7N(`$*r>gGt*lRJ;S;7$Rbh{5=RKZ}?A!M_8 z4G;zcg10_GF*~gRLNXxK)JK@X&TfD(rwTA0A{h3KwcVHx{*wCL@Bqpq6lHfU$^-18 z1}F~!$`XolsupD_yP^TgN8z8I&gcStg zF#8GA|CIgLj<<}JY>USzS+Jk6`x*sk0JI;JqLS6kxI^q=eCtzN$iSKCJ{l!hgEpa8 zAU3cQy^h{QZ$o@wH+l~pK}XRsh!1=N5rUHtA@~lR0|E4 z%xu1fU&KGmFXmV92EU5O5dS>QpXYzzFYuT7tNgG0??RlAC=3>c3d4nDAypVHj1^W2 z8-%BXXM|^k7psJqh3&!);fiomWJO*SMGJ&QZDN3!ET)T@5C+W=3u!2{OngCng9bm} z6F(L|759QsV39(lFsX$UDYcQ>Ngbq4Qjs)AnlCMoJP_qvC_N-SB7F)`&2OaR(n;y8 zbYA*Fx*)fcyUD%eK5{>Kpj@d0pA1ysPX{-d7n_Qv=mtHAHQuhN&&o zNOh`Otd^@4>P&U6I!~=ss~}qWsk&c12rQ`0jH|lXqGfO*5w55wB#*$#^Vd-V* zW4X_=(6ZRF)Uw>N%7QJA6T`-G-tv>>lI61HH_J84pO)*^9@fFu5!R8`Wa}8~IO{#u ziB@cV%DUD1y!AyedtSBfw7zb=26m3DshU*_(1J9F=G4Y%Sz5kUs1;L7rfQ}(Tic=S z);`oe);`ttQ*-5WJy35!t&w(mG*~1tdYoRaSL)T&;&?<~0#?Tg{eb?hep>%dKc`>N zFX}(*S8ScZp`K_PU>jr`Zc73edx~wb?Qz?B+eX`FaK~@8Jr8dA3${OOf7@=^8M|PY z>`Im0Vz=6d+sE6}!R?%3&#~v(3+zSqE%sOKZ`j|m@3OyV|G@r{{gVJ8ATYog&?KN) zKtw=PK&yZ@0oeiN0kZ<;1k4Rs5a0=@4!A$yy?_G&p9g#q@MXa9fRh2I1HKE44D1{j z7uYSZdtjfyeu0UB0|GsPO9EF0J{q_>aBbkaz^V;_n*vV;UJSe%_-o+rf!7274!jk_ z1oaCV8ZFalf}n*#i-H~w!a+|2tqRD_*(Fv z!PkTT4!-43raCMR&0%u{ID#AwN33J8W0GUCBiFImvDC5LvC{FVW3}Tk#~Q~Ij`fa> zj?Ipz9M3qObv);I!SRw~o8uM7yN(YWA2~j8>~kD&9C93S{1C!~upzdP;E<4z(2y{r z<80@Qc6M>bIOCk% zoCBOgox`0;&Q#}U=UC@>=LBc2v&dQEoaUV2oaLP3oa>zLe8{=fx!k$ZiJgx-*E-iZ zH#%Q*zT$kg7=N{*N=Mm>o=P~EE&J)g4&NI%-&flEZGM#@qZ#r*>qEIf> z9_k2nhBgTe4~+)xz|g^=$)V$$o@{!$>4m0$Hoe_UY!=!q ztXY(4+SVGp?2%ei*ZkY86)|{+;)9i15A%}9LFjGKx{v=i4*-&B{x=WcfAawTf0_r- zcE`dO-xbBLyFOX8>a!gqUmexte{%x<@5~7}Ufw2v-^tj<>o4d?yT|&Hm9tEQ)G%I| zEWaYlQYNI$Sp+w~voWi`!}R})cd0kIFwWbqgYnau=j8VO^ao?poZiNl-{qrrM&jA6 zsI76~>~nG(l6rw4dm}Q%*30c~ZIzqXB2NDU@;vUnSb&-tr!Q_XPFz$maa$TK`{j|Sn;pk+sHrcryS1I@yK+YE zjC{)-`T)dt?-bD;f4Nf#^SyiyzLwwy_=;OjqBYSs@LgdZ@|HzeiM{~9G-#{D=uHchRRWgAu$W08aVtfITUZ~qba`UkP;!| zAzusOs$<@~*x2|^5j_)pC2QCgAgz5X0@+j*C*GsUzO!4{EdmPm?b%>kB>940W3Po& zMLrk#LgX8fZ$<8k{8!{>k^3XRi98#5KJtgi3y~Kie~$y<|OO5T?IO7g48yVA4MbJM4#&r4s_ zA^qX>#pz4am#42xe>8nl`jhETr*BE$n*MzHi|H??zn*Ky{S%Fwp?^?w=U|Yb(9xiKzd%>+65BZ~kYwa^|@Ge>?le z_vJ+ND%U=UsbL_It0Tm-#%e!n4``Bgqcy>D*pjJUWB&$EMqBWDjAkw}#)@6zrTkV9 zIZq0M{405mfU3HT>0=5^CZ(>}-tdqT3nDt8uy0VX65?aqM)PaRZ( zr1ItfDU}HxNy-wNk){;#M#w!lBx_<*08CM67s(7sxlI6&)Pw*?5{qW;3z;7Z&{+~` zcp~~6`4j0-ORoK+G-puKT-ljKDcT#6jfOiGKp>sAy#kRywOdL~pB z219chcaslC6J53q;DZx`ps8%`?t13H_FT59D?1R{O8a+tF0TJ~`KyE`L$D_o=|o0` z`mVmuJ|y~B(#E^2ua*2@ZkkPB5zm77S4eL zmWNH%2W(pho8KL8I*1Cy1V~;fg|zK#Hkl^6NbYU`fwdZw3+X8b55dNaczogzV8#JF zsR_j-OH?*Dxy*~jFCIqo#TZf=1`)kvN^@jw32JP7Wp-C67^lzzNOlPjyTEfw3;LWG zZ?WmIJ%Bb7DhoOTJVQ1cfK)NIG#Y>QIhuw#8QZeP;pIn>9d-0=I*QIqazuUy(kO47 z&Q2lp7A&@hXCOE7c9Qucx!VCC&3r4#5|i@V0ssh(V3hY)9jFcNnuQ9*)&QO*K||B9 zXB020U;dzSFF`)|6ag2wy&K z<|~ECkmg78giH`gFhVt?W)7;x-ycVL;sa)~60HIGbRpdRd@KCqX*5HA5MC{%qprB> z404MLp$|ur@WCs8YK>-327K|rP3%1M8k2jGmwHlfc&|K47U{x!3)l! zOq7UEo&}~k!p!BP*;OQ$4-LcH&Y?o&BE@F59vXx_=OKrED86(a(%Acx&X^fZ;(Stj ziuqwA2~4b{31AdpT$vidqItN_53tH+X98jpcKuM>_4#Jk0bpizi8IZvQ^4+RmS8;i z0^q_*wW1lg{{@sS&Z%o7m1YD^$NevoE|OfUdFE%(+B79`E}1DvPb2LUR*XG6EfOAl z5oL(8%xpyy7xLW1duIXeEQ(7yt(B|1&P2kd0q#X^5M3}mQ8Zhm9A+j9W0i8Wmia_@ zi#^2u!ZP4Segt&-H>6SGdDza=qIR8-zvir-z63oWvx=U_e_uA2i-w-YOD{uc_BjH| zL0hr=3XJ))_}fb;4{gB_*H8s|2JgLs3eaFOT|gyXml-eVCwF(M#kN=9sbQMf}dsC|h^|l3qLG>A#>%@pThFktEWoEFVveHL=VLI*Hj{uRA0oPJGf_ zKeT^z{XAu^9{{ASzQIPI&A88>uzV6>>JcoTKcQb_gS zpfK!s5RziyF2vVkHX0+LD7@l~eAB49736zj0lKWCmcH#C)Pu@~cKAwrj`v-89IXWb z5zP_-u@|j^Yzc;GyK|AWsNpMI$ahv?w@9cRj^x;1pv@5cy}(9Lx#N3RXFtpL==eO*LdeA7n?PJ}Z%OB;w4J6IPyP@$`D z$v)wj)t9}7ZO5UQf7+k1ckIviLdEg$$slRAm-WUAc->)i&1r#?_OpsO4hledggq81 zB=g(>%k16#Y_>QC;8SE1PDR#eyyO6kT^bp?7ABk!yJcQnED89>Ru-mW_d&J@7TaeB z**r0sG_072WC)e}?W15rNBV=4O&BP!&5bKzqR&1+U4zg_yy>zup0Iw6%}>GspR)zx z2(t+?i)8HwfS5S-Ia?$S12`FR0#6jA5OF8~vN;n#R3$ch2yT7`s0y0XxqTUfeM`Pz zuZ!cNRrxmO-xwb;=OLD9l(;c1~*dYMONue)ng#5dDa!{LN;eXngS!OC@X|UVfRa zK;L8gFDwEomLK!U4arCL3XamG=1+#c@Q{d9v%J60{~{%TKbg?=vr2D*p3F-{j*4panHCRJ%>bhiyP7{ zI=kS&|ve?DX!O1{?b{FPbc$^gwD!@xl0D3;qI53(6Cs|YX6W#DWPzd&)1azYN zvH7|9Unc=G2jEF9DJHeC>g`FNmyOq-V&{uQwE!)a5-F<(*Qv6i5>uH&h7vT{xSqCNK zpwO-9uz0%ryh8;^Bzz9n${`REHw13EgnH}<_?1JxWjgn_j(YkIUE(sWzKiX-4IJv# zSS<8zBo;W%j{5#P_L|25d+qn{*=zq=_WCdf>^1S9?A3LLz1|z@TfB?A!HGma173Ri zN5ZdQUzG^C`9us603E6s@C?QcJWr7dhzc}?KKQkhJfdqRHKXWcXmtN62=mJU4t6+g zH**xEGxQWXSt#0OlC2xLTr6!N?8PuBj>uoe&L z%w?8ami3kd>39AG;YX<*pGf43&{TY%`&LZlf`lqaFvwGGD65os`Ji0FZevp*gR2~I z%sOfaN(_?=uN{Y7la*AHG}quhla&&2ouAW8R;WVe6jwFcjDSYrZ-16Dq04#pfw&qW~On6$MGmb9Ie_j|H{{vCLMS@w-$ZK6|Gw-WDL)#4RQVqKyLw3TByS zNdG`JCW`9QCfhMz1%?On6yA7Q$_DNOfBcruNb+^#$O?dUbor8$D<+dRGstcXb0-t1 zm%D$Kn&a~QY)?vBXbeI0+d<=u>F#`-G07$w&WwrpQkEhagR+Y7)NDn>Qhg0UL6cI*E(sa?@A`$ z%kN!?xej?iXjo&49^R0m!+2ohPvB+Ie28!#FL6)&mt!g|yVk3vK9aY6iosl)2YJY9rG&z2EOv+gUH?i`>cQN#l}CzWWdZ z`-i*028tqG)SlF0tOu?6mMfNOOEYzwI!HOL%u_<-?eZw;Yvv)TTvEjKVyv)NC=_^p z1K*qbiYsIPf*tj3z(JkH{6t2+o8TtjfZg{1*Cn68vLU#|FQM4hv)-bma5E>-ZphXW7F{7csbdwyzO^32z`cA(iAs3 zh_|OH+0r4(DcM?_V9G9~BaNU2FkqJ1i%*V*n)|V9jFKnqqk3Y!npdt#A<_ZpFE^zg z)a15@Ngb0DO3ddbBc~smIo=kG>^OCtQX%T5WFT-N86-B?WaAW(E)-U~10j8q*nm3& zN0y1iT1=Th>qMj|0iwgyXDNVKf)X1<`)Cd}WeKdct`a!M&Lf+|+DvH#wI;1}Yb+ax zC*K1@%BmpsP&#%^fQceo@L04K_nDw%qD^?+1Z6sU9NQ);S>gux6p(~~1`GNR)+Ro7 z2LK(n0jGpoFn`36vDz8L559w}st5SakasaZ}&kjwFg;{H)Wo(Q1`LZ7rIrO#%0-VlHR8>KW$>2tvmSq2(& z;3X}ET;M~*`)d{x_ph4ZSB$(tIHQ$NB!Y*XXhyU?(Two6r%XnYOl)|;dmzbc_ibt| zoR`LpF)6f&VTzdjC>C8qt60$U`KH_sZkQYoXW0}>qPPiM3I7rb_*?uUn*kQ(`}zd! z7j1<^6VphcbV-a9X*bm~z-}DHm*EyoBpC-DhP~y>|AaHi-oux_vK2|k=t`t0 zpwq;FljCc;5-DUNPK_0Gbe!&HmO@SPCatAVg@|Ro!O2H$Zgd)NJ8G+tzJfk-DYRya zscN0X5ue*klkH1#n}fc^`}f=2;urL_tM}VXEsbSP;T!vG#o`H*Fg6w`qj7n<&4wcJ z+9IV`Y+;fR!2L#ZXdPmz$&{M;)j5JeP1SI}k_7-_sXT`0b;Xy0J1&&&K_^F%Uoy@lYIfhggHWE zBd2(<0Ji=V0)EyPpDf&C!`p9)(L2MrD;D3gg~E3n%4keXnGK0)iBK6x0ue-Ofpa%Z zt%dcr!_zkk6%Zkyx(Y4W?PlT3jy3=xbVX1JUCDXg)&K(YgMg^E;y+1kzPA+)+bk@A zZS_xV779rGlK93Ss-gfwRe0Z%f+9u$6r3~^N|>Qs>V=Rdp)Lv{)FpYt z0g{F&gbLm-76>=0oI{csQvoDnHHT9RB4*dY~9o{LtA)*{# zT9E!S0xzOWd}PCPlJ3lJYyA&Gz!y9TJO-{6LinoJrS%~_%Uweqx3VpI$4rh4pmN;#)sayu_i>#_MTX!}U}t z<_DsI_{uV|NEiUUD#cfLDU}Qb>viG%%ONX15y0^MS9xL{q^iKW!HK#8Qsw(W0nwaD z0kK!rFJ1XwaH$dv*K}l^X03V**reds@PcQR3EnGb(L5tk0~TPx;66&BYh>!1l#O+!2SY`&-tBS z2x;M+VS8%2_807)?PA?)od7xQi!Bayi<+n$RSFeW-YECxqqujtB=$$P3PN#fP#p6~ zo%Y%V+Y$mq+&V_cLA&wDu7as^u+01TYK%|{>^UP=m@U3zY9Ij#0x&1SeV5|IIKeGG zN+Tec!U@L~7gH8$0%%}hB|Z@^_&tY@m@LlKM*uUmyWkW9OcqA~GytLC@V-K!ILQs8 z0RafIxt|J#O!GAqKwmS#e2t0mIuPr@Km6`V67%_k%@NbgHacq?6CUT?=X-$wwd!PwNS~L6E7UZR!PMOI0819RO8*?D&aZLMDq;e5)5|48f*; zM)9u{DPj0nZy_6(7b`O6d&8?pTvQ+@pj7+^OZFKNEZG?iEZLVuuw-Zc(~|v{2$t-u z#zZ!|A(34YGwtG7m@;s*5!HG3Sfv%-)=w2AFY&*FSIw_b2V;|Kj|S)z`3{tL<|S_$ zKvSCCffACDAvh6VS>R2@%WeZ>NdXk_2G%u4IdZO-IO!qpgMcH(C@mCvd}v&bchsu= zQoc0O^w-zca`-?EeG5t6B&d~!YQe!kc3`=Tz%O%Bp*S4MfSQ5!fwcikXT8I)hnI@M z+P?^Y#34{lG%Ug!hyeul*I?Ql1(_7QzqfagFGiHcOK7@pQD0s}5Tskyk1rHqIT3g3 z_E0eNU?nt{-Cm;6f*I~Q2fmTr{dpbb-~;^u71lXP7$B&G6)Wb+rt`d6cw-`837L)I zF2ExGQ|K<*Z>#0R8ThgbOzNpn0L%soa^z{=DQ2%h|Cxv*x>@Yd>&a%XiAv<}buVwa zZ^J--oTSVx@Dfich+-(N6Dh<|3Y{l4Op!vIq|kK&@Xs%CkOE6JAw;BPd&dJP$w5KX z>>%f{&i9VP)=_*Fy3d#PKHFX*IUM_uucnP8OK6@iGFB`mvM|6WcadszG#~HD(a5Pv z!aU!>ORB@_iya|NW3#f9k zE}1q-+~rFoaAZR21hddLeWB!R>{`LUbdUq_!ynmI-x5*2C89;Xm^1Peb9S!l@(LY2 zgk53mFrR(DkN|G5iDI~~T?aXvLk~9|z(*Pm;3#>1kW`J}vtb0`5I3swHOI5vaw&C1 z!OEggGH`g`AsAQlkr+|=-b&o!h)fPqvRG=*ke%kmCmn|1kw-eCDsT`S- zvd$HG=i+HOatXQ@f0H8@i*w-JK+9yvftFEI$xFC72xD?^jh`q+dT03}^5lFe?Lk!- z4d)%^F#JWn`ro-VIM@)1`mtXzIhLi|4z!h>#q5;=`A~}!PT3rw9D}nsdDtD-7tX<( zDQ*zEfw2_q7ci)I02M@b!IXFKOj8fS#C@hjq5zOc4zw5V?-}41tDl+Ti5AkNnEj@7 zqyQ>}kKn(11r&>iO|fOdiQnT8X(b0-8!zp!6p9Bx$b3j~jX9nw^EjkI98o~0}FV*$N(K4s>*=~yA49G3Z$Xf#Fm z(k+dWQ6~BgpH2uUMStLw?g6tQb_Z|u%m06wVw;SIDYiewE&2vPI1KnHNr0e76cNL; z)HF;ffQs&1+~;*m7U-rMUbkceuZBOS?-{QzP-Q&ebxSgJRje*l;gmb_Wcn#eaOXEI zMFN=H%rf7Vh0<}7P%gq5iHe9(PoWqeOaxs3?o58nR$K6aLvo>1t-`tnCQM2w6DG$D z&#zYS#=~+YTP+h>Dv+v)>kkM9$jmSMs(~FGk&D=B0Z;y1E|RKwlVT_#n$oYDGf9Sk zOp-Z}RLw%FnS5RnmcrMr_C-#UzmV`TRSEM|os+FHk2^E5*gb=F_@25Xe{VyN`4-=l z!Pa@aF~?ZbkYhwEC4n>R)I`jw z2A>NA@F<9kgGLVnpI;pUVB(4)n4s{tRo=|6b`aDsb1*6E1y_tBRf7wL3S2VARNF7A z4gwI^k962gZGWJm5LXNpzyy)RF7dmcgATajpltFQ-1R6tk~-$79n7q@`K*JLdGfeb zre|ga1Ls8DgriOO!g-?IZ0l^j^e^>%U4oNx+FReYj<;O2c)^eQraE5vMOmhV$#2VJ zq;GjcI4Ifpw%latJ^_i(aqo-W+3P|c(fj-2)0t{9tlcU_&k+lVe{Kqmnwc?}TqC@+ z5S19aOYXs`f573ZIRw#+w~N!CG&99XLXydM%uM?55WP&AL}J+~bx<=f&1Pnkz%wK} zLAo3}kv?R>5JF>_V14xEp-r+TBsb}4MqTaT)ruY>k`D&K*&w8hCXiaWQaW|C_zNMw zg@_{(?Y0a0EOC53OjNo#QG~IgLYN}zIJ2NKoGj|)pkBT!>TXEXij?#$lt=!UT!}KA z^}gxT*a*pQTwj`{te4OR--=4vihPePP=3|XM(}!Fmwo9KX%9%Iz31&LY?r)!SF>Lp%_#uGM6~wD5zA`9RLEuPMR@?ec#mT z_P(V<)W1aZ6lA@r_mku)Ek!L9!7d}q2u_8nO+>C9L2Bc)RQO2Z(}blo9FIx`++k1v z=_mx3ETy1&zv3{jdMFeUeoh)9{G9(buX+gHl%^JlV62h;!^SLAGIIshgK+t1==wk? zfki`0h@oB^kRN>f6_1{PmqQ)Q`F}8 zT)J996Y+o+06JODuLf5U2?kIcGQE%(88JmI9D{bkaoYEBmbu{4f1C|wF354xCsLM# z#C6tf)=`#kv|#NgZ5D*rCa^#At+;piWx}h9O-Pg1@mIu9+r!L#DAjVzGRyj`GD97x zZn5?wo6Xt?#5w@2jT|0HJj=>#c$2BxU1p?Ezu(EOVZ`Z#?8>>AXG`lFtrh zt7B*;tJK4yFvU|?9NAyZmQi;q-dIY8f~okDc1;oU@PAT#(GC1l6KOimXbY)s*-fR% z=uz?=+2WG=UqFXqwb>}?8r4UcGdQvd48d|xyAvQ+mQEnam7QaLRo!u*s2p!BP&36c zvjGAp4TxwOaI}~HgBxhJ3T~j68@Pe0RB!`r`==XdjXDWb&YLRDhE*R!=vCizU2jn< zOD-N&H%RC;kR`~1eE5X=n~rw+R;-gIT7BpKQlEjGr^aIB^@d_3%yK(WB%TGJ9oRr= z>U1LUEC44U05GJ(MdDWgGJ@wRazXWYcmgt_=v1-Gs~!g+@ck1IVF#*f8vVJF`PF0b zhFHr2$S(()KWwdSBbW;*B87y!iMevd zBn1jE?T*vflMZJIpE9Y^#3aG-lQ?;@tpuIGZ%wvkL!7L|6kCD#ZN2K$?EA(f8Cs2+ zKVRc!DS-bKu1c{LieJ`yKaI~GGnXO3r|TGffp@3cGGX{5(`>oYXiD*{$(V_KDy7jN zF@?BgG>X2?Uryd9B?0B3G(QA`q zO%^AOq)f3E3Amz^LVImO%x(|Gr}x>K;?#R=y?hXNUyFnc=m(_rj)xC}_2rv1!Pb+e zhQIxvB4QSZi0!J4h*|EjK^}tZCfCWAc*0JDVipLBz1x^Lb~hxBB^FO0^%(+j9P|-k zmZFA0c-bnF$0A%7X(h=a*4pHdYBE|RImGI>c-+-w#36-;)FvIbzz^rlt9Anrr2i+A=Q|l5}EwfX;TB)fh6*{cu+Zr zhY<*f)+Xi-TRj=~f67u0itDzgEcx;znyU#>F@ixHPa*OIpqRH*&IS2-Zcbb*b`U;< zZ9sqX55a*q@#s(Xh};8pl(M+NXf>R6_7Pjghln?&{rWq48c0L076P&{1y1x?XlbRs zqNXW7z;UL6yn%ZG9}g3AFxiCzzu|xnM2O%nAsRc&;FNH&2;Iiz9Ywcviy8}%fH4P> zKElOdbLwy66)nUpmIZfHgjm9ZyX{x}HgF&eDH4Ggjzcb#9yc8tbrq>Amt_%NA1PKq zcsd|T%toIWsfA|zcn{p=h#$hBg8>CcC4&J4Vhh6H5Om42dQq~;3zuM9ik2`($JeQw;{%pl#x8UoxGtlqnrJi6_aoUe|@QXkgOk+MLJ)JF|-q%0diHJoD2@9g`fne|Ct zoB>h=0)cQk20m4w22){$Dpp5Yr;9|cLo~3ih}d#q4?!4&Y%8q;lL_OptIKd=lr@(I zKOiT&wv_zdgdX&U^GPu?uNvG+BrrmSqG_Dcz(`DGc6ABlNyRUCQYqAaP^ToLNzbvLZW$Q%i85pR2R-!{cVh!h|8ivptkKtqy zzYnttFIaA^Sam`Z@wMgF46zarK*Oa7{y~8t*b4Zpc~AnPo0gcl2`%!fA;A_#qi&=q zFEzzCWGG};&&4(as@_XR;95;tPOom zR3efl1Zf>le`-C?p`(p8qAwb1M3=0K>`3lGedTPu@zBBBdIV21#5y z1VW^$;@1GV6Zhch zM*yexh=J1$jonom7`ta`jotMc7`xxq8oO_3VC4?Wpqp_b%dYO61G!sk^ zS@bO9#fM(9WTLn5#+G6(j`#|;xNI(>fqPASgBq{KCU^!#KLovwU9H6u@Tz!UwPcGs zsiAC^l5ojuqzTia6<;OdwUm|-qZ#cWRs37BU%}H`iG^r8c`>z;HT+U*ah7E6Eu#IM zEHevp$n?-Bpmk7HWyaG0)Kb*N`>Do>x4&kg2Lnh8`~g||$>4YkkQSL1i}}UG`6oU| zl#?m64xMDFs(vM+RLKkx=J4|_{-Faeqxb*_95^X}zKM9VD(T0QAD^jB-(827v=KAW zllbR0;&ezX&uj|^-EIO^9lXU9jqYVy1Jhh=0>D?GE6jTM1eC;fBQ{d5xcLq~DQ21V zq*aKlfO#f726cb*ZAyS&2=y&*qJ`1Zx^775g75Tc`Ng_a&B40pA?IWMST z>ZP~m(8YfS11{YO2Glq)F42EOm;X~BScgFHmAXJMoD7SuHVg#oG!Sg#yZDxUrVG62 zg3khm3x}Qgv(Rf2@$G~9bT~y~`XR77Afu7^1qOnjh_aEq8rZ6TST7KXM;h1&sYpEm z&5!7c2q@%|`7kEwWP?44N`k&T z$p#w+v*D+F`{AFn-~fySoRO`#;W&gn*-94bM*jHsx%DK-H2Vd`;TCzYJ%V`q;QWP= zxe#XSO~_>mZJ5k996PFzwLdDEIfz#*UK1U$GhVsWhEDQ4p2Gv%31cPb=qvE^{ zM#Z1?jEbLiFe?74Gb$|YeU}v5dJbK0EJklM6r<6$UUs^XpG2Ax;n&e<@=gu-aESy5 zh(Ex0Cb1^P_e4J%sEW4=YLfBdL|c(K3a~&EAy}ql8cC`t6ksN4)g<8qF2EcC1rT8) zm{j+8e1OeD^8VZfU0_ zY)nuy(cjoQ6(UGv4YCmR*j}V&iPxz(!vRxC?1{*;zi?HtS^^8;VzHVHNjWV_)dEQH zfttDE?^J@B$W(;=MzBl~CjLq+wJByHtY-)Mg}jvtGpl&jbZx(7lv<^3bX}X_9FjDr0j2HBR{aaR2f5FYy4J5oo!fC#bgj;X*cjd55sPo+ zsKrt|d?@VWstpzSs^dNd z{xLw)$$d5)enO%>5cP+MT`ro7bzLeF=D=dO{cntn*=uYeICG5+jEoZ7e1zM@Yv2g3 z)S?^N8D$EKkl)a#gagOnw{P!Q8tr@;kJ~!(EaH4IHOgz$$`~rb5tPVxI*L0_?F^@~ zWzjC19WOd=n*~WDw~pKLiJKnmRPqxkt1q*`RJMF`!lsZj0*GvZ<2p@)1k6-(4^wuH z8z-LxS|K7DLf(L3W;7b56D6*oCIg3`0z!ejRzfJWzDX$Hd8ULi**00s@g7L4ne59v zZTm@r?3etSbe#Gl1S%k#m6#v27SY5wcg;lH=>kMDCg9~4009C_wcR4LZl}Ne4nO=p zuVy@y0Kt>0|EIk-k7_De+ed5f%prtKK!6YuKn$oD5D^eDVRk~C5fu|;5~qNufM|9| zNCE^%2L!~iQ4tY`P7rCdQNgKc+qUnfyU#h_`R={{{MP;Fu0^u4 zvQoRMcB*zw?^Dn7)<`MHKitYY^qjspQMpKG`UOq-7ybF4;bWu&5R;V)(6XbwePrO! zq2?5ggdz_kZrPOcbq;UPO&7v{^D#bIpnMGCzxWv6EKoiM>A(0GHnd6Q`9 zQs&XNq0Q*sJTw+cGDS_Me?6+ddNC$hxlU)8Pg@JE)lFDHTQh>Dp!U+g%HoTQzl++!4zBKN}B!E3{S6NTr}0_kTi1W+&Z`dOG2+ z5E>tkx~33YQ2&u>|0|k+7_Z!pCLCeG|7#y(^8=>t~97+4Tr|F(J)6MW1Xeeq7qK)Qnv!9?G0gli<_g6dnyU%Sw zL(s_yP5Cz!f*hpWOc+4}4g~7XIML@`9Gq;18*vTR9A6NPhUk) zQP2n|eD+s_zt_7eGhIamJ&~XyqnFU`{MV(wRF~rtRiu&nv;V99&zjo9OU@_va;%?|7&H{O-EN&7wG89%ISZs ztgh10m6h{+SSfdo>$a5E#wV`IYX#jV`IW@UTaNeh$anwv5!$e){KVM{$Cj<$=rSRpZt^;>5c~b` z)~no?yFmP=Gbg&c%Nx_ru@8A2Ir%E!jq%iy{E2?)FD%a$QT^6+ee3@I-U@TICFbJH zC0D=S=(WDTk@R}whvSQWI%NCk>+726HQQp2l)wG%LHmd5MdunW*Ho=sIj6i!Uc}xH z?Ry*1=6JYaNyMf{@2Ib?Ean|6{sp(4t9bPAXF~Ks`q_nTn-e!X-^jO^yWo%AcapzU z#SC#jG(b~3UiBVHF*U#3LT8CswNKL2nV4@ktjxFl;5A^@cZT(4D&bcj|5vrX3XbO4 zVyDTf?fNt0pEmVXT(hhl2YW(^_V6F_aM_$wS?tf{rPVw8L%VP8d69K>s%$+r6$-QW zKIx*79ecs~Wd8j*=d)=GgCoS7uiXVRqE55#noGPTKQ*q5fPdVelec{6OWxD+yr8sT z-lYEB*;_DWc8ytj_qnZG!jFa1xrEG#)!V1O$4sjdJRggDNAQ_~{5JkK&+ZbZKb_?| z`kyyBj|ty=uI<=y!ZmTb{$i@{3o^@e>4)S4KkfW<<|r-T!*!c4YZiGg`F3Nk^A+mz z-*(2`>>l_7bKcG6r}Oglgm+(WZxddiO>bZ3`|Eb&Gw?HBcqr$C!>zra(tkd*qaO1P z|JM!6rb}&Ze9m#`_YQfSKGBdtzny6MIw=3TE`Kax_yq-{6S!FXff!{Wi6OlXuG14f zXuk@3s2~0c`h7;F<@dydbHepor&As@f}ej+?nxSYw-b$Cs9x`8_NVJBJZD&Xwr57} zW7aPQ3w;pz=|0@{D;Z;(EX@Ozkvfv~YVOH5tcbq( zg?>BDx}nf?^Hh=U^LoQRhd#ag>%pI>C)f4u+iMlR5qe9?pB{0r>#Tb{v3!%q(9B&_ zZsMx;7WUxu^S{R3UwtFbtL;O=%=fV~RpaNnPZ#=u;Rrj( zE+&6qJT*?8B{Cap5MYoRDlozZHQ7+J-H1w`jW#BP4K*-~gBH+RPGf`J?W6Y%ZrIs< zd&PbB6)h6)E$)rF=nkeGKE21_4jXk_JD7avzV2WLlM8Q<=)Uh@*2(oN5V~B%p%@#8 zd=*7f&Njqg^xkRGuOQe;|8uB)#Z$g`xiu2Om3p$oda|j;)^ydX$7LoD#v12@@%%9c zPg08v=s8?zFBdAagK9ZYg1zZE*Xod+wyXm5kdYcQ-g7F_V{UN7=@;WXi)>A2cQ*1E zVmGdIwhv1Y$f$VDmG*QvS`}}6wTe=M(brM+uQ8G;b4e$V&=y|{P~sA7MZH90Ay<4d z;^I(2*K;qP4%^8b!!HhARfq}1?&D%FoM1wAv$1z=rAKXffbGo%P>21L0Nu<^CJ&_@ zuIXgjQA>YBL#ynZde{}ZoIqVkC)16l=e}xPuLtRvp&b4Iu>PpK+sT}Y`EeUhM|s4w z!4w}6=>(6^`l^=b!XGiG!cjb3&LgIa`~po%rZpPa((Tq2V7%gE&zZ|VOWa`nv>j3P zWKoBC)V2J0Qhr5`tpz=`E|^sidCe|m%KK1A8i1Z%K~JKFp05{eUBLr#7GK1IT&M?b zs%b$BjDZ+E11svL@Vv~8m&qcbnbBdYks~|$Izn;VKDd@8U2ZQp;UNCT-I(rRpxE=f z9i)Abfd!;rNrrq_;)drf-r9Q^j6LPR{|3L2wBSocBv(avI&4V!Vy0TlPVhp(o-%ENno?k~^D3u>^xR z;UqhaT~XfN7tv%3q{9r!d$zvYx-rJCLbxJRWN#ayGj%bU^50QbpNs(FC<Q1r6IvznO)| zP9p%TA8)A#IMMv+3bifp0uYw2(3?YQwzxnafu9N_7$g8IChd?6kR;7!FZ?0(m()h# z;5~jI>w7lc{)Baf!A?BS$ zG1J=h;CO!Kc7BQwaOPfuVyvJzJH*$7gmn{}wjK++e00|3$}Nv8*W3CEb$1^#9pJAF z)Jp@?%IvWxf9+;K*E(E{)6u$_tYvejRmba=t-5a`&g6(?G{b#s!%5diH@uaziG?xdy!~dz`R0fx#$aE{ zy}R(m3HvXZI(avf&AwCi?5L`a1KqTOB5WFKX!^J1&~47#S+163RopV!w!z^ngmrU~lliNRG2-$)cAvf_Pi?fgm(;uwka9u583Zhz z&LLwF^mx&T8DE3>MXe_(AErW)cqNcLn33j{?88=SHs8v4OOJ5lysZ#v8Nd74Tx*m! zL_$rymv-l`n>=pmh0nsqL#aFw2W$2~UC=*Cp9AnPf~>U)Y8;&FIhnK}@yaJfxJxN+ z>^XXGvI?7RsK0paBfw#RiN|*B&)^zhuS^8A`H>M|_7&KD8L!wt@?y()OtMMTrL+ue_8=hBp|e;tUkJm)3=)FW!*G0HS1uqsM={iA*h_3 z{aV_ZhVBiPB<*yX@qXLEpHsfd9TFb|9{Wym)|h1T_cq;8 zS*iS>dLU=PBg;FRRy^ACX4}dtqt=;Z6S}lCL0x_CBZy3VmY&g#u6OMT&Yt*bT~@al zgeORbBx-M>&?ZGO!)6c!8w2;^RwO5vPqT0`bj^9LI$3uTCpSg1ohWd%XP6ETb#FNk zIy8{N33GiPb?Dg8wH{8;1d1z>NW>&nYTqFQQVh)Xlx_L zw=~G6Xay%^(x1Q}8*gEKO_s)6NKot>zd&C=SFPArRRMg;3H#0_KS~ymF-m>E-dAZD zJmLSHUc}DehThw4S*U1^5s;clj9~Ln$pD#}9sO7@TPW?<$0D|SI&^VHrmuW|(R^B< za5g(OX%>m+LIi`Hn8ESc)QYaDBCvrfeVUQiI9rfS`|7_+ST>fX=R?E=6utl(AdB@4 zDgDkasC~=M+Bq1~+2g!x16y~}zY4MGVE|LNA-_~=(SsFh=b4KjS*IN)sh{(rY$Jec z0VJDkRrp+KjXK9#JT#|{OCZ(O9w6{bJoUys|sGkD>FFd7z#FeGKo=A9L?4G6f$ORkoy z+ney$w7C{Q8wMm4NlW-S`=9|2!o0KW>utX|H0AHd%6Vy6m|bLHESd?+LScnC6kzU@ zA&`{|f&DAJNtQ~0-Uny~_lFq0h(IRb<7lDQydrBz6t^V00$ytX>&;V|0noC%`#GfG zK3hOAeD<$O`*ns@TjDWJI`0JKeSzt$&jYpt1~>W50hMv%PCGy5VRk%WNHR9`>=OCp z2oIQ-@I|vc&mz!$(XAroHoUss$cmLD6%?}_+S&)#^i`7;k*O>N+I9nlI~3_p#m|mh z*h1}p2nk)VqV_@yef@f@Ax$`Q9>y-H3>|ACEkcF?%siT1&{*${fX&n!LO)I9x8cyP zt0D*rwrCu@8CLrN-Pw=52c@pprA5TIGaa33CJdH0 zM!Mr2YoqdpqFIeR$Ex?PD_icnO={IX08s4|{7|}AYx*tXoqdaF5;81Ghe=J&vTP7T zye=T(6wc~;#qcZ1aeTWO&XJ902JxJXEWL_|DU>`cxPV>t?tgE7jmFsa{Fv5qfXOkDhxa`KMU~zzNbBAZ}3iW?=%EB;mqZQ+i2QPS*pQ@%)0UMYQ@*-VZXg}`8e*ykmMuV*@5`@}z*FkDmQSVm|}8iTDU4Oal3Ss=;hnETVjsk^_i0=0qk9-3!< zkr8LuXUS6zz;Gm(5>~4NV1T>iEYT}8_uC_L$`tirCxEJXmONmmbixP7r4qn>@$hhd zMV9~o9iwS2z=~8Tn6RD-8Bt^OI~OE;XfBdP{egdY^3BLZ3+3P#O5@&1EtkB4f9-O| z({6e*-%Zl>LtB+vcZu>|CS%@Gd0@Y|f3Z9c9faW4c99_A~+c+3$Q z7Q@RTxs%XCupqg9C)DHz4*4#*NZG%9g$A|7{WL|t=Y4#B@WG>cn@#$3$waX?DSOIN z7v52HU;qri_US}B!|cuTMUoABKJuX-FRbUkon`<(z71-N+Y+4)@IOROH=e!<-}7`) z8QV+lmq+c~^Mof%?%#zO9*2uOL2vo9*!o~U+86V%O>*sC8d9K!qb{f( zjzfrg>ku1Ef&dY#(7QwW4mYgc%`*GY1+qbi145g1YRUaIv6S#adXsx7?Jc!89gxow zG?r}vB)!UABXy=>pBll3{51vihJ5PsIIJiRSj_v`bYLG3LKlLsS~~&Wa6b#A(d4|` z`>A7p3~ULaM4Ow|Gr(&$a>@aE>!7~iVjK^P))J5;Tm|+M!o^jFPM#w?k~scBoL?Hh z)>g6I1~g1G2#KP*oAg!Gz8WxlVDg-VW2?T=#eghsrbtRGjecdZL`dRXYf7^rwh}-- zgW`SA)XY(|z2)z(5qEN=^1`*ibJjb5VPfxFLa$?mii5i2fr{8IE<}lnM0BK1=>MS! zn|Y^%$Xo8{c$p`Dt~LOwf`R4xvH0OuwWnO-Vj%<9WazLH^XLjH{G-67@u+QLI340J zP#aFHWjB9$gL>yV!{bWt+L>yxrU#4{S{{N22G)5oP0oQu^9>@LKA6K};6Dz@WF-$=1Hk8+QCI#Q{ZNIP7#rC9?82QJ-gzzjg)K-Ws&%=xgpD^4@Lk{D8^7r z5lI3SWRc#L1}DPDT;Z1y*3x`3lKl;-W#C$|f~uhQ#hs_#x>TxQkvp@3hOcNR7-Fm) z%>_IF=><8a8oSs4E3qt|mq&0(!y@6XBJTdPrQ3sz@*iQ<6uyxglxnAFSlU=+H&jSK z3Y;S@<8IXor8Uouz(LV&rUwbLX7VbWS^7vjUati|3J0%d09(jlpdjsbd}n$iOP_*p zLk=?6L^;7!kd*KA_$%U0C><5XO>HAdJkxP3B~h&8CqjadBrJ{}^%%fU>J zk%2R={kj9;nL2F5B@Xx$)h2ba;iwCy&J~x~~o^;GehVvKNnHO02WzfIrsKb2@MMB zalX;?qa(R~&DssPGFwI2cfb=<3|@=e%EDuJLl!p`DE@^D(VJ{;C2C=Bk4ViZl4C}iB6Rh}I zI63r%Y-qJKGREP`cpq|o9u)g7*ysDBz{-^NUdm=bf^Sfr-Kt%#ulw4YG*drZ^WS*O zzefvlBS;n0-#@it(8tM(!|}Tznll_rq6Eg;EB4zoezmWtu^aCt_9FA{trqq8xQvNb zSA1i8SzSt#CvHxU0&0pkVvU?jlE?w^LjD}nmDLmAD#v64Kit7IFPR5hU8u%4;pcDO z!U6lq$VUsw7t7>6|M)TpGPwe(_3P)5G{LH=(5fQFL9(8RsIjKT^~V|$r7R0kFkSzg zBJ!awxO|`DJ*C$yvJbzsvE4qUk0+v*7yrZx__lk=XO2a>TpBFH** zvbe#vv75vDXeN~r#69*ELvzM#<$++VAps`^bb~i+RFhIW9?X9-;e8L5@w5Bcw?XIS z6Juo*!)-G;zm#I!Wu;HR7`<*+d;|g(+f=&Ts3zd&LlT$T!3c$Pz+rA1OCjNjs)>y^ zef0eJ^9*#lvsM&gI=swHh1l@D_TF!cQ}`+Hpww;f8->$4N;rLEi>MYt8O-@r?37ygrI6q2WX^(1p;+;x3z8SM4iKymMX| z|A{%p$0_fIcXCC)y|~$-G1($zQDS{de*9)4_%+|OonyM?Qt{qi6Ana<$Mr%?($m)x z085r(<0J!*`15DBv4|*5Eda;OIyYk_0T3_TN`cb6WLS|u#0$N1&0l&g z)xK!}KxZFA-`LWi%-=&5bvRgU@5?6p?#YBT2T=ChOH%vLAwO1G?85U!Y$Zx_%&uM3Tyn9>*+b%EfJGy;= z=Zc;8BPj!137)d1*K#k}Omt{&u8OC457rs2r7A~#J5{_EODwVXT(gor-Dfyx<#&Rm zdcZV=rijNg#r~Sr)D_qEiDJ*IcQ^V+t=}f@0=yEMq85x9f2UN1H^w;dXgIJ`y}&Q1 zqFa8BxY<^9^~n80J4h|(_Dnc;OAW+t?HfBBD&nYbCgdMjbbi%0a&@OIv=C>Uc~B3m zkIW4R{Q!Dz=fURiYr@6PxyoAt5ujGA$Q4Igo}+Ll=>h0AyZI|2HQ9P=wS#HHWh0E4 zTIXZi!!!kO8qYM08=JD;4YTz&Mlq{ME^ct(OIRW@w<3xR&%8W+lo4FV~)A>v-J%RQY^Oh zu+JnO9_Gg|B~ey}OuT_hFk5R`vEE)fK;iY-@eVtX;&a+^A~s0OjPlobDGO&v#Q^1@ zi+MpccYPGicGdgwV11Z@4YhRr=^gH}q|m;iF$3+~TMlK86QmI4shBySJ4Y5tz}C6 zZN+ab_<%)!ke5wZ>GybLX{c6QZ+FZ<)ql1y02}c>=j>gsfpeCHK&QLb`PbwTc`$)@ zlXX|c(+3iG2@XaY))2YA?1an9+4cv<+h6g>_OeKjPaAixGqDaMuUj^w?#aCK2VXvq zU2iVbaunk+5>__!)w*@=w2Q#ObZfWi&*?pJzKt*|(SYHNnTxcOrY4bkt9XiwJ$k^o zDg@Nl=Vop1+%Mxq4ZPJ!uZ&N6^`A+`P>h)9P?5)GCfJ<53MoD(21-i~TyWrrGAlap zKpud&J>*%kS(`K6#tB8#*huF?HA)zft&`iIW5E$GN5>E^uw+M@B2vgvW~f$mK!v z;B|MR7u`85dtzMRM01G}u{W+8aadOt<~@-DD^?93;B{3gq9; zdvU!!?R0(Vx%=l5HsI^+9lRik!~Dzpd9|HRrUuSL3O-c;p!@c6Wh$#82_qe}gktSQ z4K|JYZ7s@Nwxz604_Vn}?T5cWmYn6`0cL4!7r-t=l-3OYgRRfMz!t;m9p$=}}vsW}Ba!X%FXu+YwMFLl{MaACQ-0o!ojQTYA1#Lnb{G)FEp zy_L53;G#`2r=q+Y%_@D02Mrb3F*{3rD0o1eeq6zn`<8&i7_dvTe%{3;cj|OE6-x3_ z@|Zagg3uf%d-rB==S}E2y37ORo``s{kAvM;Ot-t%PitRJwJRO_FhXN$!9MfnUcdAu z^wKRKHUSv)?`IK1s$;oI@wu62%Un!1fnDppHh^n9kxI%oWDAV^8`)PY5qyR^b)U2F zzIgRBN^rw$xc}(2&;L@3Q!yF z3=w0>osM1VLl5$tfln=~EOwMTTsM8J^U@P9xRc`sYsT#e0)h0gF26M?ty+A^faWA^ zMW@E5^R`Fk`8$`};a{X}JUDg`Y_gXpc7Yfh>Ab;&{bPxxt8GIsW!6IHc^n}{DLy-c z-W=%>^qrcXw+ex~nkG3JqpX0_v3_8#6t#g2ZX&wp6=eh#@s4?^Kg2k_B8ToeYBCP5 zMSy@o2tJ;du)pfnP0vF$7j4rwRnK(HuXaqjjl!XfFN=PU$FEzgJN4y6FgyhCjFiyNbNfdO)y$OfG;DrbLQBRt&)B)@=fi zdj2>kT+||+O~R>ITdzv8P_gnm_LhT$UO~54DWM`V0wI`6e^BU&Sb$NqFIj8jUC&v% z=lY=9-Ar0>rQkzqg?%> z*It-whPxA#PLXUJ*mPgG*y@<{n=dWF6r5(Cc>n#5^61yQ7&xRfEr1!wk26yu5|>l+ z1d6v?*HvW{u6fLxcC)Y58EVQN&Y9bO#yIat9HxtlwAsw&-P-fupi!1>uXbMAq@--4%2&?p`RX?uJS zf9f^E#~_7FNC8h>tw6C-&4v$KDt-Bd}3Mr2ujtxzO}{ssZHD4r2i{=tp1< ztLY+;LiO^3VvD6qdy!&B;B3D}S*+zv3SGIUKD2Yldo1?Vb{0cDZ>FzJ@XO#T*6{O& zRT&H1Dwo$ZCJk{{b!<(<4?=nKe&Yqo+yAty>5vy(Py>Z%nR`&uB6`YT0m(STJrV4e z+gJxMqS=V3jfMmcSoEg%JMba_v@dcavAzWItXs5mwZsyloMY!^$uM2R^MggX^gxx3 zh4j9)#?Zia4o(f`*=p~Rroz0Zb|_eAi(%iCLmc~YEnD4ZiRP1dk#2G_WJ|`eNx(?N z60cqM54vaakM}6vjbaDlbXN#5{HhoNsNupOrOeRo+>!@y;JfL8lo?d|Ouy?%zf+r~ zyYCzpS_De?6mfG1rcnrsq(6^WZlfU3Wp4rv;CK!6?~DQ87exNykQcltH|6LU95LUf zvbQRX{rP?NHTms~=AlVD&wTX84He~GdsGqc?jRA{-%}J0WUp?rFR{+f6l#kl$MT7Qf#JMCHu*$BF0&wPG0BY#8 zc7J?dFiBx~GkT`X$eB?+E6-PiSA;KdGP;rT;V*Gj8E2y^(u9lLPA+ax zq)kLITuMc?&jiFw0B$n@oHi?$2c{B|-T>&M7)5D)Vz;$Bvu&!2MJ zp4oX+ancHfV7`0M@;yZt3zv|x?>O9C2w{rHhk&|z5H(pzmwgSz&YMN8urQ-W&7XL9 z(Q9Zpjga>u*jLk5$&d(0(3IJbro`MK_U##n!P%e++-|W7#Hbsm6b7Fh7{8tkA&s-g zK;b6{#-~JV@m;^&kqanqnv*YzyR1S^CMmY`l@uE;W18-+MT$OS)hfO&BP z3Y6wEo$|Mk6>)ye2Z6(3|9lHhdPq}J436JBi7>dHk2qai5${2=kiNo%%Gx#!dmU8r zQpve>y}sA_vv%J5HU`txN`(g&nSYm(dHkV&#>=cMi{ehdP~;I^&L2oCyjLhB^naUx zurLr!ankB$KsGI$*^1n=F@Q;G(IwYL;O-Gr z^g}*9yUoyLW{Ut0{A(c*ylLTM2Qa{M-`V|eb-Sa z(-Iz&EhmAGGwF_;V3oAmtM$gqx|w?xbVns7PgqoQzNJlmoX&MzF!;nyxoNsK#p?9Q z{Wq4ToKIZ7>4+8N^SV!Yn1E zsl#d0%b1kzJ&EOKIy3KMaof@o3L*>?&F?tJ7xMb}B4aSqtmr;7#I1d=$G6k78bZ;n zHNjyK>_TkJbu^tAE>yU2{Vib@oIMz3xY85kBOyrIXItD;xrfW1pVE)tHm;rJ_rXBR zL9Oc@9?{bv#2c?yKP$ZVxbtTJY$7syESb+Chxni)&mfL0jr9vF%A&8@z8QfwW8{bg z12qcy3gLcR*l26c(=&j6!|v8{RG1UM;{27du>I zXX2YM;<{rIA?m@$kqdLguy7vu!N6VgqBf0CosJcH;RapR^@)V}oXK>K>*K!jf^!5} zI=(1D4dRtF0S#;{y6>-$w{xMkAZ+>!lvM)U$lvY1tTax;+)5xEnM@R65ZJj=C{zl3 z%?C+&_w|z^H%}h~g!IkdRc|3gHEASUCK%HQ!X|apsy+L22&DjO<3e44;Ctg}yT^fA znOcPU6^+weswDKR&DJ}*q$jJj@i;>`Ha!9kKT8ZJfONSKdT4hVr%troVwrrXnB1SA<6;Rcd0t@(yVYhYZucF@Wz!maYwI>`Dm8)yvW5 zx>a661IVDGSy7Tl*Og%8te22gC;<=bGhQJ3*>KMPaug&F2xgO-J+BzOt61bxQ2$izD73hjq*+q5Zr z?sbF+PZj&DQ73J}>%|ye3@l97$g+aFwUasc!qxAyiD{ZuQAgV4R>w+1u-cibEZUDKI^WaKhLK++G>QZ=^43W+tOy+klw(6nzW z*^$sB3&Y;1$R<)f5L-p54FVS6ek)c8$n^r;&TxSD*}PYfsksr3=<%ln9EFTVFnTMa z0zg)STytwO`O9J?90w12D1Fe4ycwztN!e}x`kqGxrb;;6DKvZnY;e0Mv?Eo|nuATj zCWW`w;t|OuLf1jWES;E^s%;ipzB-L0rK^Y6;5+8+~)<-z^l!NW6<-`=1s8ij~e z%sV~v4D6&$!-JIuM5gf}ImK-ZDb|L_4}YBT%slc*P4*rOf`0KmB2F_H+ghzDXa`8+ zSi)e^ch`QT6l4rv?Ca)VAOqO4T< zKrHHPwRQp401?_(se9Mh&dwrr$0LB4Gh39cpQdbc%=u%|^f6R8-3jRBf@6S%>p9sz7TI0C*d(s%6~-#smn>P2zg+yoJ~8MnsTZ*rvHgVmDBa?OX?gq}~gJj)A~*WFrv;Ygb;YH>DJe8aZWP&n7taf$}zDFGjhtXV;$ zO*c+f7ELoB#1|8{9*hJSgJ0pQ<^#1fh0w~8EmrmexPF3`KJ}4yZjNw|5^V7mLh4KA z*mfI6I}x#|gxOB5;Y92oa|mq8ai67x;e*+7A5ObZh)OgI3Qr*rQ?$Y}3Ym?fMrNMm z0^U3CYkqYy`B4Qr=4dlG&3`!37T{nj0&D^xRHeisu?0jQ8@r@8#QJo66qYE1$*Y!@ zXdy!XHZ^S>zBVZvR9-GBRS0;>C<_b_tMsUUYnw<>ZF^*GcWpVrX9ccSo=QMAYPOoU zpP?PDYO>ZF1Git7b(jPa6R;iw%e*uab=Xq$_^1a|qEq+eZVH-i7Ym zz#HS1SM#+7FWmV%nA`T>hfiGo^%k){$*Fys(ini1@qh#x=t*lJdegs zvy9Kg%#>%J6!q%>jTYjp9YN%z@E9UD+RsJdi)Q zAAb6LEe6uMz*;vopOeu2gIiYEXaomuH zbP>KSLzBMkGCz2k_DW>)RQXSPSH}OgL|HB+42LENF5&KuLujOSKkgxPRBu~2(Jj&} zoD5Z8fgW7Q30TLw9EBb?**6Tpg%kk769r(tz~{2#?6TY9W_DCgdK9gF3AUZAsh8yI zahjG`kgf%KlGK1#3MU~Tj6mC<{F;>vhBgEZuOUL zE7xXeQX&b}o78g#R*pY_FZlV2&yIZkj*?RnVi($qn=!H=Mb`qDD1dll+1i7}KI`z+ zG63(S)sn#_nqoU{f_inq(r1Cj7y?_OO7g`MT{YDigpO|>ebiZE!L7wKmj^6>SYo24 zV1#mMw!kr4Lh|BR=Ni*AKC+Uc^|-7CK!!jO#jA*foLC^WC2My@nj72B?~74&&D&R< zs#*F1(c-&(Ca8yR5(YP#4U@4SL-2+*>QaC+#0L8?9*4^{ZJBsVTbD(f5 zNE?pnnx<^G%Qm=8ZTN+{+5hC$FnJimu?D!p=>T){CzQI8!wCV^49j*5I2lVQTHUy9 z0#S=8=+C@`j;ZVo>Mq~7riTSl#Ox$5rIw-$4^_zyE#qfRq~&Yai?D+Un(8dzWAiSu z^z@|fR&W2hq3t0+g5LFSX`uO=6)jzcn$kDM0wTs_kmHA=wGE%m<&k&=?Fvj>jKHUx zWSa)tz*J0Xj@-hZ7bzp|P|chMCo`rMLAb9k)4ZyT~2UV#M40aHZQ6 z^^P!`Sy}r-`@=U#`y8x@nNzZx&}O5EWbA2Qjt5%^v?P3OCVoXI!H}Wumuc$btASjE z&Wc_6Q@6|iAP?IphN*Cok1C3b9SQ_dgzxsn-dz2tcWAP!+is+vR#9PliW(+sV-tZ=@C6D^w%ML}{`Kryeh z`IW^%;&VP5CmE<<7dac)T`x$jsTL|t0s^CgO-tW$eEJSW_RmyxI zwzq2Y2UcXkyP$eA_Vy3MTk%Ey*=xBSft`|IYKbm3ztk43D-s>ZeF) zxEz-vL%0|6_Er`|!6pL)N6>x_O-*!Nrv1JM5cW(A4^#<)uwAz2MV^G(=sh$HVfNS+ z2PcNLIc0lwWsCSZZEjmh^1@}Oue6<>c+-AQxS%b;R$tj$BHe?^Z`doz)mp?hhI-xJT+ z8eo7(0oy6G*<(a_)%&%zCp+CzzI>@p_aZP$Z$Wzk=ZIdem}>vyx!X2>)b^yL7$iOv zhNlC52V87${)qaxz{ZLrH-B@p`041TD;Lf6tsBqIKX$<*_qH)(a{cq)>Z4qyaODL! zt+O_qJD%PCXawLqI96IH2_W}pa`8d3y_^HVxnJaC;I7gv0IJ^Qy2ks1N8+0&> zZH~e?yPmaDSM=w(uZ`he=`n=8htnDfDyr8H~CN;Ri)!XIP z;q{fSd8rjs=RWuY617JNN)y^!O5=l%5sK@w%e_{A+j@}bI-FU-6LNomB=5;2JW)U; zx%7St2b4`d(MsDATdk9}M^q{*I3kWsw@?mau?LSG2;K$rcYKj&(2o4pW`{S`M{Hdh zc0Q^LS0S>pZ{6cjv#$I|4`t)h3s0%L0IyVt$uSuU%`CF@w{3Iv1|K4F^WMj-L&ttQ z99!1vD+;ku<~FRcZ(USB>@1;S>B=TUGaHAwM8*Q6e!TLBK?(sjy0JIg<1s#kc6Pyr zP>bV)eZ3e&4kP*B!=h`KA+RR%=!K$YrL7C$=j;I30fDO49zx{ zaABf!-9Z~$CEf12m2&5`!Ed2tz9H4;P%A$lf((X7;@qk{ZeIf|c`YBnXka zy?-c@~SJ^}I1=Qju{i1&ZtdK!q~~!>IvAFPqTI& zj`Y>cu*B&rC&IGXRiawUxMpORMQ_~H>$zLlM<&bywb-c$u*V3ZlslkIF|M=)RxFIq zuh5TkxVI2C2nh<>p!GFcoH-1Sh{W2k&|(W)O{-#97{%8g4w zWE8AupY25Y>uJ}W?q-;H&RE_sRUx`flj!NX!)vDzYH@%j+hxJ;o#8;=?qu*Gco)qk ziqO3wkxYK2XkkNu=CQyM9%k&MdyWk;aF?#SxvnHIlq#l;!8wvnV2iT6@on88C~2*^ zG~aJGPd*3p7I$x#7N4zMZO&7968YHhBl|boN;}4=&UJf+&he~%$UVAn|DO4;56kNo?|&HmOZ>W%53klQ zv3K}1?mmk=Z`ZoT~rAGn%E9@%M-c~-m{3vE%#ewsi z-@bfy<LKQOX&k8mzKx>RL&WmQ7X<_Q~z9b;)V5oDl7h z%b4b_L#)`cMR`LB6I!}{V6WoD=MPm)ZtePsv#M-U;ZWbS>s^2H;y5`)?_EOL9y>V4 zmF?N}K4H#{$I}JzoXV2-Rf}#uUO7I#?EK#MeJgG~mJ1U&Eu|k^;%`4bB ze6{_UqaUmG-0xmFd-cJ|RUi8fKIoQ5CfkQpe{!kp=svVC`QV}xpAt?!?EWEYjeUI0 zr>gUv-C6|EU8S%dUi2_y#lt$CIm-#=dFvX?S?(||LO1Z&cYuyVW%)($Vo>`U0OCJy z@ET>TdXxeH$D*N+{<;EQ9|90(3V^u#P?YYk_kYW5|A*@CD3#?rs=6Ch-Hod5q@$|4 zQPth3>TXnZH>$cDRo#uM?nYI2qpG`6)!nG-Zd7$Qs=6Ch-Hod5MpbvCs=I_y)!nG- zZd7$Qs=6Ch-Hod5MpbvCs=HCu-KgqrRCPD1x*Jv9jjHZORd=JRyHVBMsOoN1bvLTI z8&%zns_sTrccZGiQPth3>TXnZH>$cDRo#uM?nYI2qpG`6)!nG-?*EUfJMaH9)t&B) znArmAn9Pw+*neHE+Q#_*;^0jFI7=H{i<_ktd|sh@=4QDOlbgfPW$+o{x&z}Z zUCq)9|9zX?;#@x+X}sk`IIURcH{Nn1tly(MjecX69c1Wc`JzeIO|W!@oAkQU3Fy`P zRXTHb%Z+Brntx}Z8?qtz=~~<^Ct{w|Gjz8WqG_g2MAM9I&?Qeq(|m5${e*sF=H6oH zrYACH=*orYRnm{T8$vV`>160+sc0IF2m03t-T%qgXd+D2efF@NXqNioKcUhN;#A!l zPxNjnuNXRM4w~QCah6QoZ=Ps*tKaJAlhD5x_~AbZhJJ_rbT=lU34TD&GCN(0-m2ag zO|aO@(h9Q+X6iP0S*Bp76PUV*N6^g1PquW$M4$(32OLLZ>PLRL)0jGL&EJ2Kr4x8t zT4LT=F?Awu%T!D>hpC%ckEZ+PjmDhs#MHS>L9=^3mZ>YBVwq~@G=cfAN4nc%v!8B} z4_Y3z$G-zd&V@(+9vX@%^=9gR_d)YC`Z9GgUo@A~)0w(MPteRK_@S9c1v7O^{m|f- lGnl$NerQC+0;VqI9b<;&EF6BMA-SS&Cfa0+OD)k~{}(vU(Aoe1 delta 55860 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
uECVs^_%$Vw-dJ7*U4i|;kLTs@rZZ!Zl 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 diff --git a/public/icons/docs/dart/16@2x.png b/public/icons/docs/dart/16@2x.png index cad29d188f36091e768731a47a711bbf87f18f3b..c27da76f1bb0bdc2b01de204d44b2f1e1fb8041e 100644 GIT binary patch delta 726 zcmV;{0xA9ZAngT^BYy(4Nkl*Q)e2;g||BdH{9e^HT608YR;Ch%0&%+hi5GBDd zhECnY%S_@D9uoj;JilwNAlCv<*edANWwl^Wh z(qr5`ZR>6+T^8;-)hyltNb`87A#k}?scT=hO!D}7o!>0ZvBu)QaoV!|GjvujtzLufYB9K?qWF7Yqk7=A8tk>u6hm*8dY)Wu|C{ZL+>=@tJb__qN^^b z1QlpNB4$G?_T$5U0%aFp(r~0tn)*v0O7M0oK+`zAM1P!fqW;g3W#``$0V)9k5>x=1 z#Z=s5cb63{*q597KSz|D{YnKWebbLXD;9=`2sDo=f5wh{M}qc6|L5@HGrxHPc9bwH zz&`A$B~Ww*xB^7Ngh2H>Q30e6lMok(cc>x)6qFD+2CAdX3!sGhn}+iQ@FFxz|L3qm z6fiE)Yk!UUowxQ>fJ&f%2?_ZlXYHu~N;qd~1BT|G0=yZCNLU#?R!FZ%I7a|0-Z5iP znoI-`elUW!@;bw*0Il9j_omslfBJzEqG-!^Te9z}ApxvWTVBo68XzL!NS6h>PGY!M z0$9HLzRwLj^y@bRkRT3$br5jq*Qb6f4o}oh`A`3dcLeiiLNd(6M{QBU{t_fU9g|>& zc(AyDumlMHv>a=>YJwh0Uqrk0#vr7!~g&Q07*qo IM6N<$g25wE-~a#s literal 4217 zcmb_fU1(fI6h1S1v)P|C*}tT25~Z}5CfO9zO>Hf9X_QDCZG(s_RYX*ohY&z$)eyWqsZ=T8EJ3^;u;!~XIT&@%x_EHpTU36Ei- zur1jl6L4TU!+x~cU55=5$jpj%jl(I7^aeJ2Vl}}cR-|DPbqRP#ye<;11lF0@GYLlm zJ3hGfdVXQ?MXvc;80XE{nt<_U&Y7PxUo&pJCdL@{Oj9$GE=0+~ec%s=?}j!fM!$b5 zI%~(taW#SLr|koW_kTJ6>z{$88#mJxU^P_EIrRcJ0*U7L=Y(z?TKnvkADnR9Zsc4) zZWN4QXC{-5Y}@(=gW}JQt2ZVulEUh0T-OWVz>PCixw*~vEa8yAMrOyK0cy*<(G z56-KOc>JJNvtUak(ALI*f9piTN`U$3h_wkrr_0Qg&5u0X9qa4K(SQ=y6FWv$0{t9G zR0tfN3~??_Py(Sd++>wh9lLkMror~I6+OrhRN4>O-ia5GglNsz8tc2$qE%ho*}a;7c!|u}eDJDi;3=>?0(FjbBms$mezQ8XX7_d5J*{KR8{p8taeis~Af!_?7>_~v>`MW~Jq#3;Kab`G*ws(-C)P!#!gR7|E?yazr% zdd?755-QLOiH@PcrdX;suP#E3MY=jyBtTY^1bfp27={I8+UT!AX&*|5qrKbjNVwbT zX})+BOXT&hu8M)N+pV$4lm2AV@$FaZ(orkb(%l)ozhXTr!^2@vY% zuYU?W`hvgZ{_eea9nd|oZV7jFwHEUE- Date: Mon, 30 Jul 2018 14:09:58 +0200 Subject: [PATCH 12/65] Add DuckDuckGo shortcut Added an alias ```alt + d``` to be DuckDuckGo shortcut --- assets/javascripts/app/shortcuts.coffee | 3 +++ assets/javascripts/templates/pages/help_tmpl.coffee | 3 +++ assets/javascripts/views/search/search.coffee | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/assets/javascripts/app/shortcuts.coffee b/assets/javascripts/app/shortcuts.coffee index 5bc24806..5755a71d 100644 --- a/assets/javascripts/app/shortcuts.coffee +++ b/assets/javascripts/app/shortcuts.coffee @@ -149,6 +149,9 @@ class app.Shortcuts when 40 @trigger 'altDown' false + when 68 + @trigger 'altD' + false when 70 @trigger 'altF', event when 71 diff --git a/assets/javascripts/templates/pages/help_tmpl.coffee b/assets/javascripts/templates/pages/help_tmpl.coffee index 3997528d..9fb4ed48 100644 --- a/assets/javascripts/templates/pages/help_tmpl.coffee +++ b/assets/javascripts/templates/pages/help_tmpl.coffee @@ -131,6 +131,9 @@ app.templates.helpPage = ->
alt + s
Search on Stack Overflow +
+ alt + d +
Search on DuckDuckGo

Tip: If the cursor is no longer in the search field, press / or diff --git a/assets/javascripts/views/search/search.coffee b/assets/javascripts/views/search/search.coffee index b6c83e1a..8fab885c 100644 --- a/assets/javascripts/views/search/search.coffee +++ b/assets/javascripts/views/search/search.coffee @@ -17,6 +17,7 @@ class app.views.Search extends app.View typing: 'focus' altG: 'google' altS: 'stackoverflow' + altD: 'duckduckgo' @routes: after: 'afterRoute' @@ -113,6 +114,10 @@ class app.views.Search extends app.View @externalSearch "https://stackoverflow.com/search?q=" return + duckduckgo: => + @externalSearch "https://duckduckgo.com/?t=devdocs&q=" + return + onResults: (results) => @hasResults = true if results.length @trigger 'results', results, @flags From d022785b733272b368a80995a623877c29be41d4 Mon Sep 17 00:00:00 2001 From: Colin Zheng Date: Sat, 11 Aug 2018 23:24:55 +0800 Subject: [PATCH 13/65] Fix #835 --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 7a2efbbc..2c216e96 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM ruby:2.5.1 +ENV LANG=C.UTF-8 + WORKDIR /devdocs RUN apt-get update && \ From 67b5e3cb47c80b0f59be30bdd32d5242a2edad6b Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Fri, 20 Jul 2018 13:41:02 +0200 Subject: [PATCH 14/65] Add Qt scraper --- .../templates/pages/about_tmpl.coffee | 5 + assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_qt.scss | 63 ++++++++ lib/docs/filters/qt/clean_html.rb | 21 +++ lib/docs/filters/qt/entries.rb | 139 ++++++++++++++++++ lib/docs/scrapers/qt.rb | 121 +++++++++++++++ public/icons/docs/qt/16.png | Bin 0 -> 456 bytes public/icons/docs/qt/16@2x.png | Bin 0 -> 986 bytes public/icons/docs/qt/SOURCE | 1 + 10 files changed, 352 insertions(+) create mode 100644 assets/stylesheets/pages/_qt.scss create mode 100644 lib/docs/filters/qt/clean_html.rb create mode 100644 lib/docs/filters/qt/entries.rb create mode 100644 lib/docs/scrapers/qt.rb create mode 100644 public/icons/docs/qt/16.png create mode 100644 public/icons/docs/qt/16@2x.png create mode 100644 public/icons/docs/qt/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index d90c338a..96febbc2 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -575,6 +575,11 @@ credits = [ '2009-2017 Kristopher Michael Kowal', 'MIT', 'https://raw.githubusercontent.com/kriskowal/q/master/LICENSE' + ], [ + 'Qt', + '2012-2018 The Qt Company Ltd', + 'GFDL', + 'https://doc.qt.io/qt-5/licensing.html' ], [ 'Ramda', '2013-2016 Scott Sauyet and Michael Hurley', diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index 38346905..821ebc36 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -83,6 +83,7 @@ 'pages/postgres', 'pages/pug', 'pages/python', + 'pages/qt', 'pages/ramda', 'pages/rdoc', 'pages/react_native', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 64916112..245a8012 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -83,6 +83,7 @@ 'pages/postgres', 'pages/pug', 'pages/python', + 'pages/qt', 'pages/ramda', 'pages/rdoc', 'pages/react_native', diff --git a/assets/stylesheets/pages/_qt.scss b/assets/stylesheets/pages/_qt.scss new file mode 100644 index 00000000..8efecaaf --- /dev/null +++ b/assets/stylesheets/pages/_qt.scss @@ -0,0 +1,63 @@ +._qt { + @extend %simple; + + h1 { + margin-top: 0; + @extend %lined-heading; + } + + // Home page + .landingicons { + .icons1of3 { + display: flex; + flex-wrap: wrap; + align-items: center; + margin: 1em 0; + + @if $style == 'dark' { + &:nth-child(3) img { + filter: invert(1) hue-rotate(180deg) brightness(1.5) + } + } + } + + h2 { + flex: 1; + margin: 0; + margin-left: 10px; + } + + h2 + p { + width: 100%; + padding-left: 70px; + } + + .centerAlign, + .centerAlign img { // Icon + width: 60px; + height: 60px; + margin: 0; + } + } + + // Syntax highlighting + .pre { + .operator { @extend .token, .operator; } + .number { @extend .token, .number; } + .keyword { @extend .token, .keyword; } + .type { @extend .token, .function; } + .type a { color: inherit; } + .pun, .comment { @extend .token, .punctuation; } + .kwd, .preprocessor { @extend .token, .keyword; } + .str, .string { @extend .token, .string; } + } + + // Function headers + h3.fn code { + @extend %label; + float: right; + font-size: .8em; + padding: 0; + margin-right: -.5em; + } +} diff --git a/lib/docs/filters/qt/clean_html.rb b/lib/docs/filters/qt/clean_html.rb new file mode 100644 index 00000000..18e57baa --- /dev/null +++ b/lib/docs/filters/qt/clean_html.rb @@ -0,0 +1,21 @@ +module Docs + class Qt + class CleanHtmlFilter < Filter + def call + # Remove unneeded elements + css('.copy-notice, .navigationbar, .headerNavi, .footerNavi, .sidebar, .toc, #ec_toggle').remove + + # QML property/method header + css('.qmlproto').each do |node| + id = node.at_css('tr')['id'] + node.inner_html = node.at_css('td').inner_html + node.name = 'h3' + node.add_class '_qml_header' + node['id'] = id + end + + doc + end + end + end +end diff --git a/lib/docs/filters/qt/entries.rb b/lib/docs/filters/qt/entries.rb new file mode 100644 index 00000000..c9e172d0 --- /dev/null +++ b/lib/docs/filters/qt/entries.rb @@ -0,0 +1,139 @@ +module Docs + class Qt + class EntriesFilter < Docs::EntriesFilter + def get_name + header = at_css('h1.title + .small-subtitle a') || at_css('h1.title') || at_css('.context h2') + name = header.content + name.sub! %r{ Class$}, ' (class)' + name.sub! %r{ QML Type$}, ' (QML type)' + name.sub! %r{ QML Basic Type$}, ' (QML basic type)' + + # Add '(class)' to the class pages where the subtitle name is used (e.g. qset-const-iterator.html) + if at_css('h1.title').content.strip.end_with?(' Class') and !name.include?('(class)') + name = "#{name} (class) " + end + + name + end + + def get_type + breadcrumb = css('#main_title_bar + ul li') + category = if breadcrumb.length < 3 + then 'Qt' + else breadcrumb.at(1).content + end + + if category == 'Qt' + return 'Qt Platforms' if name.include? ' for ' or name == 'Qt Platform Abstraction' + return 'Qt Quick' if name == 'Qt Quick Test' or name == 'Qt Quick Test Reference Documentation' + + alwaysInQt = ["Qt Configure Options", "Qt Image Formats"] + category = name if name.start_with?('Qt ') && !alwaysInQt.include?(name) + end + + qtPlatformsTypes = ['Qt Platform Headers', 'Qt Android Extras', 'Qt Mac Extras', 'Qt Windows Extras', 'Qt X11 Extras'] + return 'Qt Platforms' if qtPlatformsTypes.include? category + + category.sub! ' Manual', '' + category + end + + def include_default_entry? + name != 'All Classes' and name != 'All QML Types' + end + + def additional_entries + entries = [] + titles = [] + + className = at_css('h1.title').content.strip.sub ' Class', '' + displayedClassName = className + alternativeClassName = at_css('h1.title + .small-subtitle a') + displayedClassName = alternativeClassName.content if alternativeClassName + + # Functions signatures + css('h3.fn').each do |node| + header = node.clone + + # Skip typenames + next if header.content.strip.start_with? 'typename ' + + # Remove leading + header.children.css('a[name]').remove + + # Remove leading tag (virtual/static/… attributes) + code = header.children.first + code.remove if code.name == 'code' + + # Remove leading β€˜const’ + header.children.first.remove if header.content.strip.start_with? 'const ' + + # Remove return type + returnType = header.children.first + returnType.remove if returnType['class'] == 'type' + + title = header.content.strip + + # Remove leading '&'/'*' + title[0] = '' if title[0] == '&' || title[0] == '*' + + # Ignore operator overloads + next if title.start_with? 'operator' + + # Remove function parameters + title.sub! %r{\(.*\)}, '()' + + # Remove template generics + title.sub! %r{^<.*> }, '' + + # Remove β€˜const’ at the end + title.sub! %r{ const$}, '' + + # Enum/typedef formatting + title.sub! %r{(enum|typedef) (.*)}, '\2 (\1)' + + # Remove property type + title = "#{displayedClassName}::#{title}" if title.sub! %r{ : .*$}, '' + + # Replace the class name by the alternative class name if available + title.sub! className, displayedClassName if alternativeClassName + + unless titles.include? title # Remove duplicates (function overloading) + entries << [title, header['id']] + titles.push title + end + end + + # QML properties/functions + qmlTypeName = at_css('h1.title').content.sub ' QML Type', '' + css('.qmlproto').each do |node| + title = node.content.strip + id = node.at_css('tr')['id'] + + # Remove options + title.sub! %r{^\[.*\] }, '' + + # Remove function parameters + title.sub! %r{\(.*\)}, '()' + + # Remove property type + title.sub! %r{ : .*$}, '' + + # Remove return type + title.sub! %r{.* }, '' + + # Remove return type + title.sub! %r{.* }, '' + + title = "#{qmlTypeName}.#{title.strip}" + unless titles.include? title # Remove duplicates (function overloading) + entries << [title, id] + titles.push title + end + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/qt.rb b/lib/docs/scrapers/qt.rb new file mode 100644 index 00000000..c4ff2db9 --- /dev/null +++ b/lib/docs/scrapers/qt.rb @@ -0,0 +1,121 @@ +module Docs + class Qt < UrlScraper + self.name = 'Qt' + self.type = 'qt' + self.initial_paths = %w(classes.html qmltypes.html) + self.root_path = 'index.html' + self.links = { + home: 'https://www.qt.io', + code: 'https://code.qt.io/cgit/' + } + + html_filters.push 'qt/entries', 'qt/clean_html' + + options[:container] = '.main' + + options[:skip_patterns] = [ + # License, copyright attributions + /3rdparty/, + /attribution/, + /license/, + /licensing/, + + # Examples, guides, tutorials + /example/, + /guide$/, + /tutorial/, + /porting/, + /usecase/, + /topic/, + /^modelview/, + /deploy(ing|ment)/, + /building/, + + # Old versions, changelog + /obsolete/, + /compatibility/, + /^whatsnew/, + /^newclasses/, + + # Deprecated modules + /(qtopengl|qgl)/, + /qt?script/, + + # Indexes + /members/, + /module/, + /overview/, + /^qopenglfunctions/, + + # Tooling + /^(qt)?(linguist|assistant|qdbusviewer)/, + ] + + options[:skip] = [ + "qt5-intro.html", + "compatmap.html", + + # Indexes + "classes.html", + "qtmodules.html", + "modules-qml.html", + "modules-cpp.html", + "functions.html", + "namespaces.html", + "qmltypes.html", + "qt3d-qml.html", + "qmlbasictypes.html", + "guibooks.html", + "annotated.html", + "overviews-main.html", + "reference-overview.html", + + # Tutorials + "qtvirtualkeyboard-build.html", + + # Copyright + "trademarks.html", + "lgpl.html", + "bughowto.html", + + # Changelogs + "changes.html", + "qtlocation-changes.html", + "sourcebreaks.html", + + # Best practice guides + "accessible.html", + "accessible-qtquick.html", + "sharedlibrary.html", + "exceptionsafety.html", + "scalability.html", + "session.html", + "appicon.html", + "accelerators.html", + + # Other + "ecmascript.html", + "qtremoteobjects-interaction.html", + ] + + options[:attribution] = <<-HTML + © The Qt Company Ltd
+ Licensed under the GNU Free Documentation License, Version 1.3. + HTML + + version '5.11' do + self.release = '5.11' + self.base_url = 'https://doc.qt.io/qt-5/' + end + + version '5.9' do + self.release = '5.9' + self.base_url = 'https://doc.qt.io/qt-5.9/' + end + + version '5.6' do + self.release = '5.6' + self.base_url = 'https://doc.qt.io/qt-5.6/' + end + end +end diff --git a/public/icons/docs/qt/16.png b/public/icons/docs/qt/16.png new file mode 100644 index 0000000000000000000000000000000000000000..9d601d7372d07645802e30ffc933ff52543cec1e GIT binary patch literal 456 zcmV;(0XP1MP)-z`0c=cc3_pRkzyOHN z$;`oUqs25_XoxL_J3 z3_#9Ll!^d*0pw&SAsdFqyFFlqAO3t~@D_1lU}0otI0Xz77(g*#``f(?U;ln((B;u& zkYE#I`1a>J11!LLA5CYl6|i9V4}{2o(eZ2$st8n;iGhisO}UC;$%{2`Lr^p_F#cs^ y{GX1~0A$7JY(_@LUyKY)(R+4P)4K(2nO&j0rjiTml+ zjcQ1$r_Qba!l~YeT+&olL7-ltM3bHoi<=Eea2V5Il`ZhA0jTu)6QHOPxdei!UeFs} zYFmu5^z|s1l&_IhqT|VJ6GXI z)&WS8gs#9RZZz3oM!sbhmZTP9(d2okd|QQQ!>yX_)s7Wd<8b3fZ+(IRXsXeOMNYwi z%w631wccB(?z~J}gm59d(S{Sb$B}KGhC@^LVt?DwXytL76p?JPtq?2-PiP3|J8LxO zOum0~5Er|yqAI5nGgD^3Wy(N+jN(w%KFmtV;U}K$w|Di^YMT7yQ8=YLXH}E-Dho47O zKL&#y*p$h9Iyy$WQTl8*&w|@tj5_+&H9gm9ixGH3zPL6RQ5b+(Hgl!nkXNWIOW{4n zO2x)Teu1q3CVF0gu@3{VKOCC%=zEp28H#r*ydNF9zEhG9r;WUGIw{d>tAq?P& zrx|SHnd#!$=h_jG=kH|NANw0m zFhzs`FrhOY7r_GAmaz$0NiKftm2c7j?+--J_ Date: Sun, 12 Aug 2018 18:10:30 -0400 Subject: [PATCH 15/65] Finish Qt scraper --- assets/images/docs-2.png | Bin 19197 -> 19346 bytes assets/images/docs-2@2x.png | Bin 46805 -> 47420 bytes assets/javascripts/news.json | 4 +- assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_qt.scss | 58 +------------------------- lib/docs/filters/qt/clean_html.rb | 14 ++++++- lib/docs/filters/qt/entries.rb | 50 +++++++++++----------- lib/docs/scrapers/qt.rb | 2 +- public/icons/docs-2.pxm | Bin 1312856 -> 1343093 bytes public/icons/docs-2@2x.pxm | Bin 1419962 -> 1456026 bytes public/icons/docs/qt/16.png | Bin 456 -> 362 bytes public/icons/docs/qt/16@2x.png | Bin 986 -> 681 bytes 12 files changed, 44 insertions(+), 85 deletions(-) diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index 089ecbded23ea65f60e613809f7887a40f9a376f..2af0f5b90dd7a33c12a4d8514446be6b527b753e 100644 GIT binary patch delta 9896 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 delta 14415 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 diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index ffdb2615..aff770f4 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ - "2018-08-06", - "New documentation:
Dart" + "2018-08-12", + "New documentations: Dart and Qt" ], [ "2018-07-29", "New documentations: Bash, Graphite and Pygame" diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 14c12346..42e5be23 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -177,3 +177,4 @@ ._icon-pygame:before { background-position: -5rem -3rem; @extend %doc-icon-2; } ._icon-bash:before { background-position: -6rem -3rem; @extend %doc-icon-2; } ._icon-dart:before { background-position: -7rem -3rem; @extend %doc-icon-2; } +._icon-qt:before { background-position: -8rem -3rem; @extend %doc-icon-2; } diff --git a/assets/stylesheets/pages/_qt.scss b/assets/stylesheets/pages/_qt.scss index 8efecaaf..db2554ce 100644 --- a/assets/stylesheets/pages/_qt.scss +++ b/assets/stylesheets/pages/_qt.scss @@ -1,63 +1,9 @@ ._qt { @extend %simple; - h1 { - margin-top: 0; - @extend %lined-heading; - } - - // Home page - .landingicons { - .icons1of3 { - display: flex; - flex-wrap: wrap; - align-items: center; - margin: 1em 0; - - @if $style == 'dark' { - &:nth-child(3) img { - filter: invert(1) hue-rotate(180deg) brightness(1.5) - } - } - } - - h2 { - flex: 1; - margin: 0; - margin-left: 10px; - } - - h2 + p { - width: 100%; - padding-left: 70px; - } - - .centerAlign, - .centerAlign img { // Icon - width: 60px; - height: 60px; - margin: 0; - } - } - - // Syntax highlighting - .pre { - .operator { @extend .token, .operator; } - .number { @extend .token, .number; } - .keyword { @extend .token, .keyword; } - .type { @extend .token, .function; } - .type a { color: inherit; } - .pun, .comment { @extend .token, .punctuation; } - .kwd, .preprocessor { @extend .token, .keyword; } - .str, .string { @extend .token, .string; } - } - // Function headers - h3.fn code { - @extend %label; + h3.fn > code { float: right; - font-size: .8em; - padding: 0; - margin-right: -.5em; + color: $textColorLight; } } diff --git a/lib/docs/filters/qt/clean_html.rb b/lib/docs/filters/qt/clean_html.rb index 18e57baa..f8f7ebd0 100644 --- a/lib/docs/filters/qt/clean_html.rb +++ b/lib/docs/filters/qt/clean_html.rb @@ -3,17 +3,27 @@ module Docs class CleanHtmlFilter < Filter def call # Remove unneeded elements - css('.copy-notice, .navigationbar, .headerNavi, .footerNavi, .sidebar, .toc, #ec_toggle').remove + css('.copy-notice, .navigationbar, .headerNavi, .footerNavi, .sidebar, .toc, #ec_toggle', '.landingicons img', 'br').remove # QML property/method header css('.qmlproto').each do |node| id = node.at_css('tr')['id'] node.inner_html = node.at_css('td').inner_html node.name = 'h3' - node.add_class '_qml_header' node['id'] = id end + css('.main-rounded', '.content', '.line', '.context', '.descr', '.types', '.func', '.table', 'div:not([class])', '.landing', '.col-1', '.heading', '.qmlitem', '.qmldoc', 'div.pre').each do |node| + node.before(node.children).remove + end + + css('pre').each do |node| + node.content = node.content + node['data-language'] = 'cpp' if node['class'].include?('cpp') + node['data-language'] = 'qml' if node['class'].include?('qml') + node.remove_attribute('class') + end + doc end end diff --git a/lib/docs/filters/qt/entries.rb b/lib/docs/filters/qt/entries.rb index c9e172d0..64d342f1 100644 --- a/lib/docs/filters/qt/entries.rb +++ b/lib/docs/filters/qt/entries.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Docs class Qt class EntriesFilter < Docs::EntriesFilter @@ -9,7 +11,7 @@ module Docs name.sub! %r{ QML Basic Type$}, ' (QML basic type)' # Add '(class)' to the class pages where the subtitle name is used (e.g. qset-const-iterator.html) - if at_css('h1.title').content.strip.end_with?(' Class') and !name.include?('(class)') + if at_css('h1.title').content.strip.end_with?(' Class') && !name.include?('(class)') name = "#{name} (class) " end @@ -19,34 +21,34 @@ module Docs def get_type breadcrumb = css('#main_title_bar + ul li') category = if breadcrumb.length < 3 - then 'Qt' + then 'Qt'.dup else breadcrumb.at(1).content end if category == 'Qt' - return 'Qt Platforms' if name.include? ' for ' or name == 'Qt Platform Abstraction' - return 'Qt Quick' if name == 'Qt Quick Test' or name == 'Qt Quick Test Reference Documentation' + return 'Qt Platforms' if name.include?(' for ') || name == 'Qt Platform Abstraction' + return 'Qt Quick' if name == 'Qt Quick Test' || name == 'Qt Quick Test Reference Documentation' - alwaysInQt = ["Qt Configure Options", "Qt Image Formats"] + alwaysInQt = ['Qt Configure Options', 'Qt Image Formats'] category = name if name.start_with?('Qt ') && !alwaysInQt.include?(name) end qtPlatformsTypes = ['Qt Platform Headers', 'Qt Android Extras', 'Qt Mac Extras', 'Qt Windows Extras', 'Qt X11 Extras'] - return 'Qt Platforms' if qtPlatformsTypes.include? category + return 'Qt Platforms' if qtPlatformsTypes.include?(category) - category.sub! ' Manual', '' + category.remove!(' Manual') category end def include_default_entry? - name != 'All Classes' and name != 'All QML Types' + name != 'All Classes' && name != 'All QML Types' end def additional_entries entries = [] titles = [] - className = at_css('h1.title').content.strip.sub ' Class', '' + className = at_css('h1.title').content.strip.remove(' Class') displayedClassName = className alternativeClassName = at_css('h1.title + .small-subtitle a') displayedClassName = alternativeClassName.content if alternativeClassName @@ -56,7 +58,7 @@ module Docs header = node.clone # Skip typenames - next if header.content.strip.start_with? 'typename ' + next if header.content.strip.start_with?('typename ') # Remove leading header.children.css('a[name]').remove @@ -66,7 +68,7 @@ module Docs code.remove if code.name == 'code' # Remove leading β€˜const’ - header.children.first.remove if header.content.strip.start_with? 'const ' + header.children.first.remove if header.content.strip.start_with?('const ') # Remove return type returnType = header.children.first @@ -78,57 +80,57 @@ module Docs title[0] = '' if title[0] == '&' || title[0] == '*' # Ignore operator overloads - next if title.start_with? 'operator' + next if title.start_with?('operator') # Remove function parameters title.sub! %r{\(.*\)}, '()' # Remove template generics - title.sub! %r{^<.*> }, '' + title.remove!(%r{^<.*> }) # Remove β€˜const’ at the end - title.sub! %r{ const$}, '' + title.remove!(%r{ const$}) # Enum/typedef formatting title.sub! %r{(enum|typedef) (.*)}, '\2 (\1)' # Remove property type - title = "#{displayedClassName}::#{title}" if title.sub! %r{ : .*$}, '' + title = "#{displayedClassName}::#{title}" if title.sub!(%r{ : .*$}, '') # Replace the class name by the alternative class name if available - title.sub! className, displayedClassName if alternativeClassName + title = title.sub(className, displayedClassName) if alternativeClassName - unless titles.include? title # Remove duplicates (function overloading) + unless titles.include?(title) # Remove duplicates (function overloading) entries << [title, header['id']] titles.push title end end # QML properties/functions - qmlTypeName = at_css('h1.title').content.sub ' QML Type', '' + qmlTypeName = at_css('h1.title').content.remove(' QML Type', '') css('.qmlproto').each do |node| title = node.content.strip id = node.at_css('tr')['id'] # Remove options - title.sub! %r{^\[.*\] }, '' + title.remove!(%r{^\[.*\] }) # Remove function parameters title.sub! %r{\(.*\)}, '()' # Remove property type - title.sub! %r{ : .*$}, '' + title.remove!(%r{ : .*$}) # Remove return type - title.sub! %r{.* }, '' + title.remove!(%r{.* }) # Remove return type - title.sub! %r{.* }, '' + title.remove!(%r{.* }) title = "#{qmlTypeName}.#{title.strip}" - unless titles.include? title # Remove duplicates (function overloading) + unless titles.include?(title) # Remove duplicates (function overloading) entries << [title, id] - titles.push title + titles.push(title) end end diff --git a/lib/docs/scrapers/qt.rb b/lib/docs/scrapers/qt.rb index c4ff2db9..412eca6d 100644 --- a/lib/docs/scrapers/qt.rb +++ b/lib/docs/scrapers/qt.rb @@ -12,7 +12,7 @@ module Docs html_filters.push 'qt/entries', 'qt/clean_html' options[:container] = '.main' - + options[:max_image_size] = 156_000 options[:skip_patterns] = [ # License, copyright attributions /3rdparty/, diff --git a/public/icons/docs-2.pxm b/public/icons/docs-2.pxm index 7039ec5f5990382c85ad1fc5281d6ff66b1c65a2..1d81916effc9a4e2f90794f5dfe0ebc37df39971 100644 GIT binary patch delta 25224 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 Q&>pB&0Cak)MnmZT00V1TPyhe` diff --git a/public/icons/docs-2@2x.pxm b/public/icons/docs-2@2x.pxm index e0dd2df57bc1442b11f2f2fc43403530cc279d69..ca26ef6fa89c607d0acb6e139d45a12e6f98d3fc 100644 GIT binary patch delta 47841 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 Um+wp^R+xFgqLlbH}GW!LkXOmk-966jouW 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 B7VrQ7 diff --git a/public/icons/docs/qt/16.png b/public/icons/docs/qt/16.png index 9d601d7372d07645802e30ffc933ff52543cec1e..3c14a85f3e17b9591b8a49a6bb17dbb9291dd3e6 100644 GIT binary patch delta 336 zcmV-W0k8hZ1L^{hBYy!gNkl}f9BYyw{XF*Lt006O%3;baP0004hNkliJ?uoiebr%HE=^vG%_&$Wn}!Hj?(~S#VF`(Mn=Y8j0{ZCdyQ7FL6@UH Z9{@Q_d&N8*2Q~lz002ovPDHLkV1kwJzvTb` diff --git a/public/icons/docs/qt/16@2x.png b/public/icons/docs/qt/16@2x.png index 5140eb23b8d116709088c80476cd3df126af4221..858b2245f0b51aebffe5f33a24e88819b3200d53 100644 GIT binary patch delta 658 zcmV;D0&V@;2dM>+BYy&LNklO)5$?@^*(~JcbMC9#K~wV9=P6p zKd^h?=g2>hmjfSM7OM%Pvi<6 z+GkcTgUQ^QRp#$s^uGtW+5I4}0HqakKqDTx+xx_(Erl-u4M=1_Gh{O~-|Kw}LftRm zk&p%xlQvZ+-VJ@h=i#3i(hi%45`WXLZPj?d01E&B07*qoM6N<$f*$=w<^TWy delta 965 zcmV;$13LVv1=4K(2nO&j0 zrjQ)J903o&r?O(hN%!&Ky){SaNs;ADa|H7%>hg{NBRzaX%p+u9O5sRA* zNpKj`V3jTKs{yF=`V*k261fC|s9w+;UTRy6vh?*Rn3S)PRifh2U=wP3YVp$dMx!%i zzI8UT%$a!q?SBKFd)uOT@eayZ&euCv;Yij2NRouEz$b1r*EcZJvfh zQ}<$j+tFy{ahw#9Y_Y8nEC^3%2KRyML~tDyI@NQ)a+r%0PgO;!xH; z%u31OCW~wf;50cnev@XSdH6ZUV;{l*@+`Srw$1w%Argw!L!+lfqp|*Y;eCZ=sYM#i zl{5wHX7Hf@p+=8IgaM=*om{pz@Htk8pGQTeu1q3CVF0gu@3{VKOCC%= zzEp28H#r*ydNF9zEhG9r;WUGIw{d>tAq?P&r+*o2~GZ+8_HfcXIs8 zXg^;2-fMiH8g95uvrD6mg$SFl%in`reGS->z7FN-8&G6hNFBYSX*XhyH4khSxGK_>y>ZP z0DtcfM9=trI`akA+gLbhE+5eWItjF0gdn+_O2b7Hii8;sqn($7m8D`zIo3K?^7-D= zdKi79Uw)w-pDjTO340(`h1I&#-;HkiQ#wmC^EvR9uj*sd55|fnbf#JHO9qsWSptzI zFKx6_?bRr;FGXEny+}+ Date: Sun, 19 Aug 2018 17:42:31 -0400 Subject: [PATCH 16/65] Update Apache HTTP Server documentation (2.4.34) --- lib/docs/scrapers/apache.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/apache.rb b/lib/docs/scrapers/apache.rb index 596e6703..b36dfb0e 100644 --- a/lib/docs/scrapers/apache.rb +++ b/lib/docs/scrapers/apache.rb @@ -3,7 +3,7 @@ module Docs self.name = 'Apache HTTP Server' self.slug = 'apache_http_server' self.type = 'apache' - self.release = '2.4.33' + self.release = '2.4.34' self.base_url = 'https://httpd.apache.org/docs/2.4/en/' self.links = { home: 'https://httpd.apache.org/' From 5ad781b13546ab9fcdd972ed8ff6ef031513e1f9 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 17:43:04 -0400 Subject: [PATCH 17/65] Update Flow documentation (0.79.1) --- lib/docs/scrapers/flow.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/flow.rb b/lib/docs/scrapers/flow.rb index bc559486..94fee822 100644 --- a/lib/docs/scrapers/flow.rb +++ b/lib/docs/scrapers/flow.rb @@ -1,7 +1,7 @@ module Docs class Flow < UrlScraper self.type = 'flow' - self.release = '0.75.0' + self.release = '0.79.1' self.base_url = 'https://flow.org/en/docs/' self.links = { home: 'https://flow.org/', From 5f04c2ed3f205eb85ec0b452d5be3db33233a24e Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 17:45:36 -0400 Subject: [PATCH 18/65] Update Node.js documentation (10.9.0) --- lib/docs/scrapers/node.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/docs/scrapers/node.rb b/lib/docs/scrapers/node.rb index 322ea192..bc6ceee4 100644 --- a/lib/docs/scrapers/node.rb +++ b/lib/docs/scrapers/node.rb @@ -23,17 +23,17 @@ module Docs HTML version do - self.release = '10.6.0' + self.release = '10.9.0' self.base_url = 'https://nodejs.org/dist/latest-v10.x/docs/api/' end version '8 LTS' do - self.release = '8.11.2' + self.release = '8.11.4' self.base_url = 'https://nodejs.org/dist/latest-v8.x/docs/api/' end version '6 LTS' do - self.release = '6.14.2' + self.release = '6.14.4' self.base_url = 'https://nodejs.org/dist/latest-v6.x/docs/api/' end From 9fcf5cb770b70db53ccd84b9d0472e6de214af31 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 17:45:58 -0400 Subject: [PATCH 19/65] Fix Dockerfile-alpine --- Dockerfile-alpine | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile-alpine b/Dockerfile-alpine index 73c45225..1c162d23 100644 --- a/Dockerfile-alpine +++ b/Dockerfile-alpine @@ -1,5 +1,7 @@ FROM ruby:2.5.1-alpine +ENV LANG=C.UTF-8 + WORKDIR /devdocs COPY . /devdocs From 3d316a20c19570c79af3ee45b26f78014773f0c1 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 17:50:09 -0400 Subject: [PATCH 20/65] Update Jasmine documentation (3.2.1) --- lib/docs/scrapers/jasmine.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/docs/scrapers/jasmine.rb b/lib/docs/scrapers/jasmine.rb index 3be0163a..eef52115 100644 --- a/lib/docs/scrapers/jasmine.rb +++ b/lib/docs/scrapers/jasmine.rb @@ -1,8 +1,8 @@ module Docs class Jasmine < UrlScraper self.type = 'jasmine' - self.release = '3.1.0' - self.base_url = 'https://jasmine.github.io/api/3.0/' + self.release = '3.2.1' + self.base_url = 'https://jasmine.github.io/api/3.2/' self.root_path = 'index.html' self.links = { home: 'https://jasmine.github.io/', From 13abd91dc927b29eddfee244c46c4450b76a00c6 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 17:52:01 -0400 Subject: [PATCH 21/65] Update Jest documentation (23.5.0) --- lib/docs/scrapers/jest.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/jest.rb b/lib/docs/scrapers/jest.rb index efd05133..e20f148f 100644 --- a/lib/docs/scrapers/jest.rb +++ b/lib/docs/scrapers/jest.rb @@ -1,7 +1,7 @@ module Docs class Jest < UrlScraper self.type = 'jest' - self.release = '23.3.0' + self.release = '23.5.0' self.base_url = 'https://jestjs.io/docs/en/' self.root_path = 'getting-started' self.links = { From 1bbc6204eaa21de5da5a05714649972c802f0a0f Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 17:52:48 -0400 Subject: [PATCH 22/65] Update Laravel documentation (5.6.33) --- lib/docs/scrapers/laravel.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/laravel.rb b/lib/docs/scrapers/laravel.rb index 5bbc299a..33c4ea26 100644 --- a/lib/docs/scrapers/laravel.rb +++ b/lib/docs/scrapers/laravel.rb @@ -30,7 +30,7 @@ module Docs HTML version '5.6' do - self.release = '5.6.12' + self.release = '5.6.33' self.root_path = '/api/5.6/index.html' self.initial_paths = %w(/docs/5.6/installation /api/5.6/classes.html) From 380eee61df4be72d6ddab241a5faec0774ac892b Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 17:59:55 -0400 Subject: [PATCH 23/65] Update PHP documentation (7.2.9) --- lib/docs/scrapers/php.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/php.rb b/lib/docs/scrapers/php.rb index 74336296..a99bb34c 100644 --- a/lib/docs/scrapers/php.rb +++ b/lib/docs/scrapers/php.rb @@ -4,7 +4,7 @@ module Docs self.name = 'PHP' self.type = 'php' - self.release = '7.2.5' + self.release = '7.2.9' self.base_url = 'https://secure.php.net/manual/en/' self.root_path = 'index.html' self.initial_paths = %w( From 76e9e15a2233bed9f82f726c8badaa9f3150cd5e Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:00:01 -0400 Subject: [PATCH 24/65] Update Crystal documentation (0.26.0) --- lib/docs/scrapers/crystal.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/crystal.rb b/lib/docs/scrapers/crystal.rb index bf8e8392..04ca802e 100644 --- a/lib/docs/scrapers/crystal.rb +++ b/lib/docs/scrapers/crystal.rb @@ -1,7 +1,7 @@ module Docs class Crystal < UrlScraper self.type = 'crystal' - self.release = '0.25.1' + self.release = '0.26.0' self.base_url = 'https://crystal-lang.org/' self.root_path = "api/#{release}/index.html" self.initial_paths = %w(docs/index.html) From 77e35fbb6150cd61ff6ea87dfe3c6a5aaadc5496 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:00:58 -0400 Subject: [PATCH 25/65] Update Bootstrap documentation (4.1.3) --- lib/docs/scrapers/bootstrap.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/bootstrap.rb b/lib/docs/scrapers/bootstrap.rb index 5b29b992..7b2406b8 100644 --- a/lib/docs/scrapers/bootstrap.rb +++ b/lib/docs/scrapers/bootstrap.rb @@ -16,7 +16,7 @@ module Docs HTML version '4' do - self.release = '4.1.1' + self.release = '4.1.3' self.base_url = 'https://getbootstrap.com/docs/4.1/' self.root_path = 'getting-started/introduction/' From 5eb4ae59492129f485b6ac60e35d980c55ee3f68 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:01:09 -0400 Subject: [PATCH 26/65] Update npm documentation (6.4.0) --- lib/docs/scrapers/npm.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/npm.rb b/lib/docs/scrapers/npm.rb index 3e15848b..2c854e6e 100644 --- a/lib/docs/scrapers/npm.rb +++ b/lib/docs/scrapers/npm.rb @@ -2,7 +2,7 @@ module Docs class Npm < UrlScraper self.name = 'npm' self.type = 'npm' - self.release = '6.1.0' + self.release = '6.4.0' self.base_url = 'https://docs.npmjs.com/' self.force_gzip = true self.links = { From 7b64b43ad346f237558ae21090559062260b54da Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:07:37 -0400 Subject: [PATCH 27/65] Update TypeScript documentation (3.0.1) --- lib/docs/filters/typescript/entries.rb | 1 + lib/docs/scrapers/typescript.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/docs/filters/typescript/entries.rb b/lib/docs/filters/typescript/entries.rb index ab10340a..19bcbe3f 100644 --- a/lib/docs/filters/typescript/entries.rb +++ b/lib/docs/filters/typescript/entries.rb @@ -9,6 +9,7 @@ module Docs def get_type return 'Declaration Files' if subpath.include?('declaration-files') + return 'Project Configuration' if slug == 'handbook/configuring-watch' type = at_css('#main-nav a.active').ancestors('.panel').first.at_css('> a').content type = name if type == 'Handbook' type diff --git a/lib/docs/scrapers/typescript.rb b/lib/docs/scrapers/typescript.rb index e8004fe9..b0db7daf 100644 --- a/lib/docs/scrapers/typescript.rb +++ b/lib/docs/scrapers/typescript.rb @@ -2,7 +2,7 @@ module Docs class Typescript < UrlScraper self.name = 'TypeScript' self.type = 'typescript' - self.release = '2.9.0' + self.release = '3.0.1' self.base_url = 'https://www.typescriptlang.org/docs/' self.root_path = 'tutorial.html' self.links = { From 17b70ac46fb14198f5be1245664f773f8113577a Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:08:05 -0400 Subject: [PATCH 28/65] Update Yarn documentation (1.9.4) --- lib/docs/scrapers/yarn.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/yarn.rb b/lib/docs/scrapers/yarn.rb index 7923f346..72a88d9e 100644 --- a/lib/docs/scrapers/yarn.rb +++ b/lib/docs/scrapers/yarn.rb @@ -1,7 +1,7 @@ module Docs class Yarn < UrlScraper self.type = 'yarn' - self.release = '1.7.0' + self.release = '1.9.4' self.base_url = 'https://yarnpkg.com/en/docs/' self.links = { home: 'https://yarnpkg.com/', From 7c4f71dd8d4280267f2f92d4f6126005921760da Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:11:22 -0400 Subject: [PATCH 29/65] Update Redis documentation (4.0.11) --- lib/docs/filters/redis/entries.rb | 3 ++- lib/docs/scrapers/redis.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/docs/filters/redis/entries.rb b/lib/docs/filters/redis/entries.rb index a35b7c48..ceef20be 100644 --- a/lib/docs/filters/redis/entries.rb +++ b/lib/docs/filters/redis/entries.rb @@ -12,7 +12,7 @@ module Docs when 'HDEL' then 'Hashes' when 'BLPOP' then 'Lists' when 'SADD' then 'Sets' - when 'ZADD' then 'Sorted Sets' + when 'BZPOPMAX' then 'Sorted Sets' when 'PSUBSCRIBE' then 'Pub/Sub' when 'DISCARD' then 'Transactions' when 'EVAL' then 'Scripting' @@ -21,6 +21,7 @@ module Docs when 'PFADD' then 'HyperLogLog' when 'CLUSTER ADDSLOTS' then 'Cluster' when 'GEOADD' then 'Geo' + when 'XADD' then 'Stream' else 'Miscellaneous' end end diff --git a/lib/docs/scrapers/redis.rb b/lib/docs/scrapers/redis.rb index 0314e273..d23114c7 100644 --- a/lib/docs/scrapers/redis.rb +++ b/lib/docs/scrapers/redis.rb @@ -1,7 +1,7 @@ module Docs class Redis < UrlScraper self.type = 'redis' - self.release = '4.0.9' + self.release = '4.0.11' self.base_url = 'https://redis.io/commands' self.links = { home: 'https://redis.io/', From 2c96165a93f6b984841540bfe35562478b4d0e85 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:12:41 -0400 Subject: [PATCH 30/65] Update Elixir documentation (1.7.2) --- lib/docs/scrapers/elixir.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/docs/scrapers/elixir.rb b/lib/docs/scrapers/elixir.rb index 4a8e33cd..7dbe5644 100644 --- a/lib/docs/scrapers/elixir.rb +++ b/lib/docs/scrapers/elixir.rb @@ -33,6 +33,19 @@ module Docs "https://elixir-lang.org/getting-started/introduction.html" ] end + version '1.7' do + self.release = '1.7.2' + self.base_urls = [ + "https://hexdocs.pm/elixir/#{release}/", + "https://hexdocs.pm/eex/#{release}/", + "https://hexdocs.pm/ex_unit/#{release}/", + "https://hexdocs.pm/iex/#{release}/", + "https://hexdocs.pm/logger/#{release}/", + "https://hexdocs.pm/mix/#{release}/", + 'https://elixir-lang.org/getting-started/' + ] + end + version '1.6' do self.release = '1.6.5' self.base_urls = [ From 33f3400ea98fd65ca2bdecbb9a0c4306e7efbcdb Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:13:34 -0400 Subject: [PATCH 31/65] Update webpack documentation (4.16.5) --- lib/docs/scrapers/webpack.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/webpack.rb b/lib/docs/scrapers/webpack.rb index 86632aa8..255c1bb4 100644 --- a/lib/docs/scrapers/webpack.rb +++ b/lib/docs/scrapers/webpack.rb @@ -4,7 +4,7 @@ module Docs self.type = 'webpack' version do - self.release = '4.12.0' + self.release = '4.16.5' self.base_url = 'https://webpack.js.org/' self.root_path = 'guides/' self.initial_paths = %w( From 082376dfb1f044cc8ddedd7e9f4aeacd165a55fa Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:14:37 -0400 Subject: [PATCH 32/65] Update Marionette.js documentation (4.0.0) --- lib/docs/scrapers/marionette.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/docs/scrapers/marionette.rb b/lib/docs/scrapers/marionette.rb index fbcc71cf..6171e028 100644 --- a/lib/docs/scrapers/marionette.rb +++ b/lib/docs/scrapers/marionette.rb @@ -18,6 +18,13 @@ module Docs Licensed under the MIT License. HTML + version '4' do + self.release = '4.0.0' + self.base_url = "https://marionettejs.com/docs/v#{release}/" + + html_filters.push 'marionette/entries_v3' + end + version '3' do self.release = '3.5.1' self.base_url = "https://marionettejs.com/docs/v#{release}/" From 5cbfdf4fd83e3e0f4ddc1070db6f0496ffa62c01 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:16:44 -0400 Subject: [PATCH 33/65] Update Julia documentation (1.0.0) --- lib/docs/scrapers/julia.rb | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/docs/scrapers/julia.rb b/lib/docs/scrapers/julia.rb index 6a411b70..799d1ccf 100644 --- a/lib/docs/scrapers/julia.rb +++ b/lib/docs/scrapers/julia.rb @@ -12,9 +12,29 @@ module Docs Licensed under the MIT License. HTML + version '1.0' do + self.release = '1.0.0' + self.base_url = "https://docs.julialang.org/en/v#{release}/" + self.type = 'julia' + + html_filters.push 'julia/entries', 'julia/clean_html' + + options[:container] = '#docs' + end + + version '0.7' do + self.release = '0.7.0' + self.base_url = "https://docs.julialang.org/en/v#{release}/" + self.type = 'julia' + + html_filters.push 'julia/entries', 'julia/clean_html' + + options[:container] = '#docs' + end + version '0.6' do self.release = '0.6.2' - self.base_url = 'https://docs.julialang.org/en/release-0.6/' + self.base_url = "https://docs.julialang.org/en/v#{release}/" self.type = 'julia' html_filters.push 'julia/entries', 'julia/clean_html' @@ -24,7 +44,7 @@ module Docs version '0.5' do self.release = '0.5.2' - self.base_url = 'https://docs.julialang.org/en/release-0.5/' + self.base_url = "https://docs.julialang.org/en/v#{release}/" self.type = 'sphinx_simple' html_filters.push 'julia/entries_sphinx', 'julia/clean_html_sphinx', 'sphinx/clean_html' From 1820fe328c89ff758fa49090d1ad654424ad7e27 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:22:51 -0400 Subject: [PATCH 34/65] Update CMake documentation (3.12.1) --- .../javascripts/templates/pages/about_tmpl.coffee | 2 +- lib/docs/scrapers/cmake.rb | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 96febbc2..629682fb 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -167,7 +167,7 @@ credits = [ 'https://github.com/clojure/clojure/blob/master/epl-v10.html' ], [ 'CMake', - '2000-2017 Kitware, Inc. and Contributors', + '2000-2018 Kitware, Inc. and Contributors', 'BSD', 'https://cmake.org/licensing/' ], [ diff --git a/lib/docs/scrapers/cmake.rb b/lib/docs/scrapers/cmake.rb index 1cb00dd1..c455e4fd 100644 --- a/lib/docs/scrapers/cmake.rb +++ b/lib/docs/scrapers/cmake.rb @@ -16,12 +16,22 @@ module Docs options[:skip_patterns] = [/\Agenerator/, /\Ainclude/, /\Arelease/] options[:attribution] = <<-HTML - © 2000–2017 Kitware, Inc. and Contributors
+ © 2000–2018 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License. HTML + version '3.12' do + self.release = '3.12.1' + self.base_url = 'https://cmake.org/cmake/help/v3.12/' + end + + version '3.11' do + self.release = '3.11.4' + self.base_url = 'https://cmake.org/cmake/help/v3.11/' + end + version '3.10' do - self.release = '3.10.1' + self.release = '3.10.3' self.base_url = 'https://cmake.org/cmake/help/v3.10/' end From fff3bc2123f4a94deaa779ff83ba123fb04e667d Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:23:29 -0400 Subject: [PATCH 35/65] Update Django documentation (2.1.0) --- lib/docs/scrapers/django.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/docs/scrapers/django.rb b/lib/docs/scrapers/django.rb index cfedac46..c03c19af 100644 --- a/lib/docs/scrapers/django.rb +++ b/lib/docs/scrapers/django.rb @@ -34,6 +34,12 @@ module Docs Licensed under the BSD License. HTML + version '2.1' do + self.release = '2.1.0' + self.dir = '/Users/Thibaut/DevDocs/Docs/Django21' + self.base_url = 'https://docs.djangoproject.com/en/2.1/' + end + version '2.0' do self.release = '2.0.7' self.dir = '/Users/Thibaut/DevDocs/Docs/Django20' From 73a41a1c99a43a5e069b7571c3d3314fa42b7650 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 18:40:56 -0400 Subject: [PATCH 36/65] Update Rust documentation (1.28.0) --- lib/docs/filters/rust/clean_html.rb | 7 +++++-- lib/docs/scrapers/rust.rb | 10 +++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/docs/filters/rust/clean_html.rb b/lib/docs/filters/rust/clean_html.rb index 1550c89c..416e6e44 100644 --- a/lib/docs/filters/rust/clean_html.rb +++ b/lib/docs/filters/rust/clean_html.rb @@ -5,7 +5,7 @@ module Docs puts subpath if at_css('#versioninfo') if slug.start_with?('book') || slug.start_with?('reference') - @doc = at_css('#content') + @doc = at_css('#content main') elsif slug == 'error-index' css('.error-undescribed').remove @@ -30,7 +30,7 @@ module Docs css('.rusttest', '.test-arrow', 'hr').remove css('a.header').each do |node| - node.first_element_child['id'] = node['name'] + node.first_element_child['id'] = node['name'] || node['id'] node.before(node.children).remove end @@ -62,6 +62,9 @@ module Docs node['data-language'] = 'rust' if node['class'] && node['class'].include?('rust') end + doc.first_element_child.name = 'h1' if doc.first_element_child.name = 'h2' + at_css('h1').content = 'Rust Documentation' if root_page? + doc end end diff --git a/lib/docs/scrapers/rust.rb b/lib/docs/scrapers/rust.rb index e6019ac5..ba2f41ed 100644 --- a/lib/docs/scrapers/rust.rb +++ b/lib/docs/scrapers/rust.rb @@ -1,9 +1,9 @@ module Docs class Rust < UrlScraper self.type = 'rust' - self.release = '1.26.0' + self.release = '1.28.0' self.base_url = 'https://doc.rust-lang.org/' - self.root_path = 'book/first-edition/index.html' + self.root_path = 'book/second-edition/index.html' self.initial_paths = %w( reference/introduction.html collections/index.html @@ -17,13 +17,13 @@ module Docs html_filters.push 'rust/entries', 'rust/clean_html' options[:only_patterns] = [ - /\Abook\/first-edition\//, + /\Abook\/second-edition\//, /\Areference\//, /\Acollections\//, /\Astd\// ] - options[:skip] = %w(book/first-edition/README.html) - options[:skip_patterns] = [/(?(url) do url.sub! %r{(#{Rust.base_url}.+/)\z}, '\1index.html' From bec78bf6ed466b8e4a24739b0fcb114ad53262a1 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 19 Aug 2018 21:53:39 -0400 Subject: [PATCH 37/65] Update MDN documentation --- lib/docs/filters/dom/entries.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/docs/filters/dom/entries.rb b/lib/docs/filters/dom/entries.rb index 305b32a3..6f7e2f61 100644 --- a/lib/docs/filters/dom/entries.rb +++ b/lib/docs/filters/dom/entries.rb @@ -26,6 +26,7 @@ module Docs 'Geometry' => 'Geometry', 'High Resolution Time' => 'Performance', 'Intersection' => 'Intersection Observer', + 'Media Capabilities' => 'Media', 'Media Capture' => 'Media', 'Media Session' => 'Media', 'Media Source' => 'Media', @@ -99,6 +100,7 @@ module Docs 'MediaSession' => 'Media Session', 'MediaTrack' => 'Media Streams', 'Message' => 'Channel Messaging', + 'Mutation' => 'DOM', 'NamedNode' => 'Nodes', 'Node' => 'Nodes', 'Notification' => 'Notification', @@ -116,6 +118,7 @@ module Docs 'Shadow' => 'Shadow DOM', 'StaticRange' => 'Range', 'Streams' => 'Media Streams', + 'StyleProperty' => 'CSS', 'StyleSheet' => 'CSS', 'Stylesheet' => 'CSS', 'SVG' => 'SVG', From 9cd28087180b44ee1b4222c59b2c0e4e1d049640 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 23 Sep 2018 14:52:39 -0400 Subject: [PATCH 38/65] Update gems --- Gemfile.lock | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9708a713..eb4a3210 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,13 +1,13 @@ GEM remote: https://rubygems.org/ specs: - activesupport (5.2.0) + activesupport (5.2.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - backports (3.11.3) - better_errors (2.4.0) + backports (3.11.4) + better_errors (2.5.0) coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) @@ -27,41 +27,41 @@ GEM exifr (1.3.4) ffi (1.9.25) fspath (3.1.0) - highline (1.7.10) + highline (2.0.0) html-pipeline (2.8.4) activesupport (>= 2) nokogiri (>= 1.4) - i18n (1.0.1) + i18n (1.1.0) concurrent-ruby (~> 1.0) - image_optim (0.26.1) + image_optim (0.26.2) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) - image_size (~> 1.5) + image_size (>= 1.5, < 3) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) image_optim_pack (0.5.1) fspath (>= 2.1, < 4) image_optim (~> 0.19) - image_size (1.5.0) + image_size (2.0.0) in_threads (1.5.0) method_source (0.9.0) mini_portile2 (2.3.0) minitest (5.11.3) multi_json (1.13.1) - mustermann (1.0.2) - newrelic_rpm (5.2.0.345) + mustermann (1.0.3) + newrelic_rpm (5.4.0.347) nokogiri (1.8.4) mini_portile2 (~> 2.3.0) options (2.3.2) progress (3.4.0) - progress_bar (1.2.0) - highline (~> 1.6) + progress_bar (1.3.0) + highline (>= 1.6, < 3) options (~> 2.3.0) pry (0.11.3) coderay (~> 1.1.0) method_source (~> 0.9.0) rack (2.0.5) - rack-protection (2.0.3) + rack-protection (2.0.4) rack rack-test (1.1.0) rack (>= 1.0, < 3) @@ -70,32 +70,34 @@ GEM rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) rr (1.2.1) - sass (3.5.7) + sass (3.6.0) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sinatra (2.0.3) + sinatra (2.0.4) mustermann (~> 1.0) rack (~> 2.0) - rack-protection (= 2.0.3) + rack-protection (= 2.0.4) tilt (~> 2.0) - sinatra-contrib (2.0.3) + sinatra-contrib (2.0.4) activesupport (>= 4.0.0) backports (>= 2.8.2) multi_json mustermann (~> 1.0) - rack-protection (= 2.0.3) - sinatra (= 2.0.3) + rack-protection (= 2.0.4) + sinatra (= 2.0.4) tilt (>= 1.3, < 3) sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-helpers (1.2.1) sprockets (>= 2.2) - strings (0.1.1) - unicode-display_width (~> 1.3.0) + strings (0.1.4) + strings-ansi (~> 0.1.0) + unicode-display_width (~> 1.4.0) unicode_utils (~> 1.4.0) + strings-ansi (0.1.0) thin (1.7.2) daemons (~> 1.0, >= 1.0.9) eventmachine (~> 1.0, >= 1.0.4) @@ -113,9 +115,9 @@ GEM ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) - uglifier (4.1.17) + uglifier (4.1.19) execjs (>= 0.3.0, < 3) - unicode-display_width (1.3.3) + unicode-display_width (1.4.0) unicode_utils (1.4.0) unix_utils (0.0.15) yajl-ruby (1.4.1) From 8e37605d9f034f48e6ce1acd421ff04ef12ae31a Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 23 Sep 2018 15:05:22 -0400 Subject: [PATCH 39/65] Add a 512x512 icon to the web app manifest --- public/images/webapp-icon-512.png | Bin 0 -> 246851 bytes public/manifest.json | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 public/images/webapp-icon-512.png diff --git a/public/images/webapp-icon-512.png b/public/images/webapp-icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..1824be8fc4998bf8ce7548b0652c2995afd87307 GIT binary patch literal 246851 zcmeFYg;yQT(=Lj;Z8Ye{A-KD{1P|^m!QD3Q?(QBOf&_O9!GgQHyTc{#_nmXz`&-{x z>;3_kwOKP$UC&h4Gu1uaT|ME7@{-61cnDx%V93%^V#;7(5Fe)yU~n)Wha2~qr;h`; zld_};SoJu;;l~BMy_BXC7#JeP-+yqhjI2*!U{I8nUp1UHEHg*U-q$#hIU!^sk}+{r6w>bhb46 zKbCBr{@bk&2O0mCFfubRG5$|5Q+Lb%3+!*n{}pCp{J*`jcX71-$0rkGMpJ838&g|n zrw<(S|7h-m+y4#xe^t`m(Eh)S{X^n^`NsFR<~+)#PIlHVe<@J4wR9F>;rqv-{}lfp zM*a&WYG-5bXzJwj0TW>QZ^*x8|EaI>f6NGQ{x2K<7XBwd!O`-=Q^UXY5@7ys1OJx& zr@rR@WZ>Vze*ykd&!cGRZfdO|X8A$rKVGmie^l##Ecs8QsGYT)ql&$uvFYEM{R8=z z=s&gpv7`Bawezo%e<4kbd7NB~tW1ra|Mk2+p4varFJfrU_%AUZ9)IN13Z|3l|rHTYX1>S$`{Z0GpZ&dyrkA2)3N zUJ|o1a5DTi_TL)+4d!F~+mim(vi_^t{v-Wpw*m+sR{vKYAb{|;X>JMzCIlueCj8YM z{G>sF+ z%E{$Fy2{_z)|(m5wbqxsYHm+oyRuqZzRLm9NSVY9BDyjCKSQWMmB4-Z{{{b_`EUXF zBOe>3Op}+wW$^$sKx5TJvF4uo?R6`!x3Mds-BxQym!LBF%D>FYn?MnjLphM{GcD$j z+S7;`c+;<`1J@uuT)yB{+)oa@rWgw{tgW7du5kt9aIP9=pYp4VIBk{`KAwj?0a>jY zDOU``my!~=%1pSM+c_^vdEb|e`JeiehhFcZf;XbEj|q&A2}8Lad+GbRK2L|S%k`$C z+>w!yu~WyD!NI|-H%rW24nCtH$k&L<8Vj|CeS?pW$cRoSoWJcb$0aVsGBX7o#Xtbg zGCoEicRk%>->BpYf8~<5yT_x{d1{OWUo&5GgSUx?rH6;d`(|J0IluG4B)=y}tA_Xf zeEoeyx6O6c=YG{~{fX1}nzQ+3A@+44yS}j!XTZ0;bbb4hRK%oNkM5@PaN6f@w1tvD zkf;0;eixGxc{LT6IX*ad`DHjZ+l=p5jDnkgWEo!zSSMB-4pXX@8J1d2kD+N!_UX#Y z>~u61cmxHzT1i-N@>aBKNcW)SxTNdy zP{H?!W3|V3(PKaRe&%$!S-;-$dT+>1ONUQg{B6oJdwliD{Cs>QFpmm8w2^C}@q-Rs zSQMhx?TsE#^U30m^TB1?wo^#YfD83=(7D&W6-S5A0Y4%n9%6tV=1tn`%-_c5js`dg zx+VTfIrSOhm;(aT;aq2a4k5V2r~|s4&Am@5<=Z_p&vDpOX|i3uV{Ecry?PiJ2$np) zpR@|gO{a(-20f?t z#xf^nx1Z>TLNd#8<)9v3di)__&lZ|}*X6w2PTzpd>kdQDdXK-<-yTB+Up7I#gp5dY zo`{=2m<12z0bIMJlkjIrnG0jR{y_JWdC=;7$HmEy37^5c z(^Ak>3Vr5;dR^#!9$s^)jfI>zNJas;rk&W4aOsDpUQWei6MB2@lMBw4b`sZTMee-&eZtfvj7AtTVLg~kQ_J{1=-}j zpqJiTQTrXkL)Wc#*X=+mXw#H&#bFOuztd)UPS(Zk{UBl5c8=&Pf8qr|vwpJ?Q+>*7 z;W>Tx`Aj^AehhmWB-JeG<-)exgGWI2`{~EplDpK5_Cd}oK3;L~B-Iq3a^iF`Nj zX-?2IZ1EH##2Uv2Gy$X5Icr9f3e=o56j60$t$Z)1+% z+4oQ=l%rWY{5&3?s>xiKk3MP^uJSiW=@DJ2N7X*u4flAC`uZ-Tp2u!-X~&sMjn~NI ze)fCsw1VL2=O>fSvkP<6AfhVpgBo`hK@37ml14TB&z0!#rH>t{laquztV_&Nkk*&Z zqLpsw4b;@c6XFeI1;S%ihEP!5<(qyUQRBos&T0r%!kxY(n3mfctQ>h9v})W;b5^Iq z=cTde;rZh)xQ-AU)=nwQ&~ukWq8@2wg?;X~ZRb}8hmzsL*| z??)7teu0|%>8z0cD2Jgb2sm&`2jRSmzZ$KjxOH7;zwceb6zsN_oqhv6@V9G`wsWceY?YqJaB-!5!s9h+^}lZi49jbgLU z%5kkYB?LGGB2p33{O{oA=G9WZ$vy^)S(8x}Ze}b38(7*v~wC^?+9K0{)zAhpPoL>u^ z7n`3fT<+35l>!OF3t3*jnEZAW407tJ*e!SCAM`o zN6U0k%o~Ama-F~XGyh1_7^ub5@NIuQ`}{rB_aT&1@Og2< zr!R$}K8N39v_$`h zHb{)|NGjwkFUiQxb}v3X>Q^q<)7gp!8Edp-1F{2gdAhmqE!dHou7djOrL}gs12ToM zfODD}0c%8mBG&diUq+}*cy@UAZQ_31k2zFjc68@%Ib1gzk-{;VOL^g=4S`{B25(G%BWV<%ZR_pfgc z#OufU?@v^pFMVP=tM3W0URl*J2`IeLd6T^$RYwQHya`&5W1j>r8|$nk7A2fj`^75@ z4m?>>a2J_88ihtsXcC&kDsR13t8oSyKW7zIU<<<9D7CIX1B#t1*%l^J;)RVqbJuMf-{Y@nu_%J-D>yks5fXA3Y&F*V^r~L+wdCVa3? zvVZgkvBPjPrk7ziHjY-W5`Ne9`j~HWsXC4$P3w=@>mG~HI64_yx&V6A`5Pgp+!m!b1#urz>UO1&hTgUv>egYL*E
^sm=+#)`O@L?jyQ(Ns~ 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 c9XQLVfr>vD099qS9{vE*Z<5OIpyx%bsM3$`R z=KI?D>)KG)%P!;l#D133IAYQZ&NE8fN&0;^#VHiGOmEa`mRVb72W=p0abjhpKbSX! zXvzM2a^7KPP7zXrX|jE&Go6t(3u6i%J6J*<)6^D3_faN!#m&GdVaXt#yLI%9jm9rs z9TcFvLuoB=?l>&66T#Q8AS0lEm7ioF=4_#H|1C=-dfhb$;*XJ324^OgmXqY3u7N%F z`&Jh=CLSy5#A*y{3KAEd*SWMTOoxXDG2N%RcvKO9rZYB7f^G_{52>>IADNYuVrKop z;vY(pP>h%y^-^iM+LOj%9`xvgV|Q|BO&9G3{Y_a-+KUT*)VnxNQte-8LGZ~Fqb&8y!@s|&%}n11ZIU_X^Q#L8h*s9Kqj0$%H@^%V|D9M`B2A^YR%K7(**y0 zMe+t`pMB>5#7N`BPm<6G11(d<9Vve`F?B){ZEn#iunIMnsJOsH%%d2@5SwAZH*Rg& zK@IBwap5BF&u#cmN92TPktIx;@X#ak<2eNR-4zRrgm=0xhS8}hSHo+Ax?HMY#rq;! zAsy3$>;0dl&cY>R zPsD4hKatKhuI2yW5BqHNa4a68dZA5VD9*@I2|r0)fCGaVskLXVk*2L-pp;h% zt3^kQ*+QT>VN}*y3mXA23ynlbhJEhT7y>5^X)I6 zg>d$*ayB2Ur|970gnA4w>n~&L-s9i&t~2Iyo)?_DY`0$q>9dD;bluEk|Mclxr95U2 zBWny8i*q1p)lL>m>zh=BLo@gjG?PRv*%jDMC z(6$@{UN`$>pG28yu39Vf_4NLbd1HmE#gTieI*B${pS|qDIr@0pbZZD1s>SwXsLScz zd7b(1TKWy%DL>UunZoPVeQgupp9-L%mxbQi9kZv3h2GSfCMqa@+)x;N{Yo5(iH&g) zU}reu_7y6zGY6Y#(SR!=J$JZeJ7tXLEKuQrxb0_1$Uf;~bVlFHAaqA`9u+jA<|pd~ zMFqq`Dj~Wd!N(~{DuFF~@u6`}{hKRD1lGG=Ns!BlBqc2o+QJ28AOS4gmg&C0Wo>(S zv`Xu6%17*0e^-JMP7+q$pV@qU_g*IKy3d&J+>=~;nrrq^Mw=GN+vYkI{NUJ3{)6Md zaIk$OMwSaoQ0n8<`);Z46Z<~@UERCuc5iQ!j7xI6Up57k#P;46u`9WRW3r`_BMtPp zP+|o%dJg(d1O)MsMHb)EFQs}t@PsqzI=}c*+)d=1B6G{zZPBwWWpb3`GhN`)pUAc+ zQJ-}pFE9_vrRz1$!X{(g=7&&KKWD11DKmer; zH?tkFmko!{V)O6*Efkt_!fv580RvfRy@!X*;9!l1UaMYZJuVY~0iiJ09=dcSU8m=x zk@pu$gtR)yjU)X6O&`C30O-T35g$yLj7x1T&rt(mJKO`o2bQnKEmlgk_lXBMZ*c1uNfO zCllcp0tF}~EgkdR_Mj!+kk4Pg^{>8?2>zPab9>AoaglYK3n_4)axbZp*n)**;Ky-F zL{OKAwKuQkzn$GxH6JHanQG%dl zxc7XiDmr6-Yrcy5_myB|;f^`0!ky482lbKayhRgSmcEptR*`bFjJfAHV-_}Vz9L?) z*HbsF7t!9&gCS zUK^tcF!IMe1Mnzth_Idy=3VY5XQ;=P)L0-3p=|fqq;;6GC*o)=Z$&AOEk6{8K2&54 zrm~-&bXtr;S38teat@QkRZ^buz$1cqy?SO3evG=L;+FP_bWO* zVkcV$~3OcPdLFf)C_cVYJ4(tvTe*UQdEPZAP~EuD|(qzC9iL?r=|dj4v0>2~zhjvbdwH zeM|`}W5D+3{vNTw$5F3%n^m;+-UsLPFWDJiGTy%p#So^}eEp<6L-$QH@314cE}uyz zBm*m5Q8HaNU}TyVslwHh%>&Jq2y>nw~8-N&T!Qd?jz>NF**>g0SO?%W1d zFv~XQtxV}eg^~n*7{*yso(7!`f2D4+*-tALN`y4)-QF0QVyG%K+|I>hVr1IJC2Y8d zWcdZ(Al=Z=7X@7Bnb>FxJr~!5xu@Y$rOtVZF_%D91dKAQ_mWhs?iz`F2!fnw6nem# zBX?L9O3pXU-oY?&jm1E?)&P%Hfs7+z8ch%+Amq0~%04*vt2x_X5=|!>PSttKgzj)l zaik!5PGTc?RG^SjYOvK_jl=pNk=%**eAS~5__hgrJO8^_SDo7L(^0aHrh!{-*+2sU z+N&Z}=yM?gA4k;l$<+s5@ZLApfKDfJyv~gE%Xk`@Mn%yNcO<$eKh>+jeXeGOk;cZ2 zRP`McH=k4c!_H!8Vt|%6ZPSlqiDr3cp}?|tmV@K=l;okzCBQSqs6a^^UdSj{` zdK4AMn0O14h3hC7{%WIQ)0}9NHGoD3w4x(2o;T^R(7DbR-JlcU)ESf5$xmM`npf?ZF1p3b&&&kZE>?j%1yMt z+skn5%kcd{V1Qc~8%SW|EubUjF-u$}la%Qrc%g!GhhCR&EH0lJ+b?=k85tOIuu1B& zy+UTN9nHlg_Bb^msW$Oy7NVimnP8%x<1~tE9m9ym^kRfU3MRH+Az^hVq;pa8(FheV4ff<$UgO2!7*;%97YUe>fC^;=(Dz@~*NwZd<#puJO52 z$+^mHwpsP;9Q;OEmTU<(GHa9EUv4NHy7GIC)9n<5<7X_*77Nis_~su7+qfShMUZ|0 zd;Rs+9Z%shR37l9WAYQ{0_McF{J~y$bU<;r)+fm9_GMc>OppF5@P#Bg1O+4^A)gW; zie4dAtBdl1j)f#mg8dIyWSxsChOLWXEmxg9if*r~9+WiGsZ^k<(b#>#pyw8HC$%d= z1`c(?5D`b3h*5ZDH*sz0_sB1T@XV@_8N*^wB;n!`5NfJ<5qM~TSIqu^aPz%T5pN4N zfVaf+x3~>-5AR9AAt2K9HvX$PNY7w;Z_K9xOjbjoZ~JUQDjjtj_xw{rajmBtl63r+ z?4ByMU+&3A<@qKei_LE5Rr9YOQ_`WDr}CO7GQgvEcY@xR_cuBz6RT2Bs4JyK6;R6b z%NZkt2@k?M_G{JE#Ov$&`)jkF=V9@C=2;j~V+rZwu0|EcTUv9DBs{=Uh<&gdM zn^gbdXNWMM%JXh?6cryZ2E1a6cH8mneRIjl4T$=FixqtQJPe#u}jdy{}(I)mFBo+W=XBs-U`fk; z!z|+HS5@20j2kzHNYkIw9M@krqMPsOyRcKgJva&6J9VlFPP*)_b$GomyUgnjk>=^1 zylNd`ykf=*gH9v3uO!zh?4BoNt%u^=H#CUKBWBzc3 z`E)-oq=R7_{4%BN?SAf;z&Y?<8^M=r>!zd(JS-P+gr)ikKwpnCh%bw01By$WM3@n! zS!i*55`_*X>PDw#6O~5HK8b@`b!3pS-lE&18|7NPDty3{{YB!|fgN(T=1xKkan~R{ zl~_4oluC*(;k>wox`3=(i`|D#|0nnx@>IKqpZe31TV>TWa~+3Mc;f>_6*!yPmeU@( zTi%e}9k<02BJs6f(0xWl?JEaDh-H(hl3jfn?ihwXWUevUBOgG7GcrallXJ{wtzpr3 zx;yRu$H<8qB4K8$7R|P!1=jV#jH*cC=0X8Bhu7QN`THAHP5afadD)_M?6e%1sIA7e z)-0fkwl84g=k-i9?Ax*lbKZtAz^n6{JPIL9{xez;-3oIR4xBZ@fgc3GLmy__r^W$fJ>+3DIDs?gGd{OLD-E|4u$Fs%u-bjtw z^dfg%DEOHRxYfjxpsOC9aR1M`Ztak4^gKqmk^Fke<4lY>Kg;}@GNAGNI`#~Shz%?f z-*Ymk@1h@=CW4|LC5RNJX<&$DhQD$gSeWQQ8As(1o=%9nhZ(Z>8i!6Lw@)Cyprdpx z*D49}H4NARE;f6bV)uSwBX44P*o@45izcdR)TeLuB*@I^BvxCBKKYw3%>O&Jd>Q}X z^87ta>}eT-$wSVDP~2emu`Y(PGp6(xbLourpKs5|oGTZ7IJ(|bs!xw=V=>aDe#WM8 zJE)QTwPUZ;E2v%i<05eipBtyeDkU*ICL=K{UsGT zY2O(9(2CFd0DyGZ9KJyNUPbN?A#QcbpOr7-R`F9zZC`m-@_EO^=w@5asvQdbB8Vn@=h5Eq}_FU zyZ2A)Hzl0>r@@TwoA^z+O|PT{tfN@+rO9q)UrkyG6J>f&#B6$uWumzT^i_~TG9tTw z3$C9Y0|d_xfph1lZCt|~7*3vU1*o>M_Wp&q`0>Ey*xkelkyt~o~}b%b|a(~{d`@>Pk=Ihs!VEU1bRCbBF^BH3hQY6u2y zkQ^?-7#w0q^z=0}0%lX{T2uzixJFHjsBnJ(>}lXf$PGU*Z&i$4I5Q^?zBg%;k2~yq z$y1*03!h|#MW1gVq6i^r%BQeRjzrD|6rNnbMqpqjPGiX&*U>PJqUGBDxNBgxG{HB9 zV0*d)<0(&;kMZfn$a2DZhxxtSx%UvSezo8ts49&Qc|$b7-b3ybGqyXBOH|=fDr;$a zo69M)-hDF|=gfURxBb|BT=2c!Zj!Oal36j`;Pz!?h8)qd+9N?@XW^;XCTez)D0cQ> zI);VK_ySyDZFxT?H@DCwpZL3M|GoL2+xwZ#$2kS0i0~G$zyUqR&+%5DJ5tQZ78wk_ zentp1Eea`VWTxyO8DM3jc-CYV{@DKo9qa<*-{7)d&N3tQgh^pwJ(f)MCOXg=?2X1I z0!=VBRd4}Na;ihmUProk`Nc`=UsMO0s$`8Gc1#Q8z3Ne5u2sEAQ?kFR@FPX(VhB^< zGKF2JRdWD1Bgxg(TgSXTC}0-RiodDrK=xI#!hY`~crakm9g_DN8us@)i+`W$sMXA~R`};CI(Oq@@s{MQG%S*z&H2Kts^)-4ym`H`_6eP>SuGDR1Gbmy zmuXfAWdIo5KOBxN*B_az3jsbNAd6*XYn&{#iaM$K)VRVFL|Mo*JFeSyGU%vn@D3>0 zJ|k2cSxBtmX|IrTP7(K$AHHXN=lVtn-Le0gA$nM5%}I*R9#-zR&``?$aSN8~1cqUA z|G0i)BAhjj{nH=-=qqtEmq~~iBwkEi&)IO}Onp^E{6vSRa{!q4M(c~FgV<>{B52;4 zRuqU%r$YX{-07HBEX!pX_S2y|EWlNhT#6djq1F;UN_zy5DDnKM>sd4_%y0-zdDz1r zhpiGH`E;R@nJ1IOCgWp^Y2>?<(oU80jMQ_4q#=>C{Hh8Cgk&yr>95}<9`@GK$=NMNwbqxR7=SM zvOiB2;wnHov2hihpPmcWuCFgoJfGHCdR*FIc-)>g<3c9zkTzsVWLJwjZpXxO#zYtT zP$>0|J>VY9&rgZCpF0$+QNgEo#)qV zo-sGcU2A8LzJse=5z>+GG?ofY5WR{{j;{ScT~8}13e0I&sA6JC=wy@`uH_Xp7~{V9#}+7tg_yB!#Ud?yr8<$K`gN568Lvk@kr z`~C)RfQ$jVN36T2yyRmU|xpuJ5|I`!3zT>UqiL*9U$zBVPw+KdW#$6A6~e=k}_t|9Ye@ zc-W+E_c}_Y<9tbb3#)_;!a~IrCw!8D=xifFG4XGmlQtZ2mk~LVh;EQzF)Zq2Rb@-K z0{bq}d+2k@JH@%Ur>zqh7>e@ybg9M3_WmsU&Bh1q%F-jj=dr|D%;?UpYda9;!MLe* zfmbO~es7B*vmk)JcH?f*#!?Do3`Lq70ESZEL!Fl9;jUP~WxAuD)>3T}l77 zsp-%YYW%qmoh5`;2RuCwx%2X^b>}lBrt-@|_v#O-o#9l65x79qLIBRZ`dyhzr|agC zhV&Ty+peXwb^i9Y1xWM$SE+;YOS@EDR;>S>G7bhYEd0FrGgQ9Tq;oEWC#>Q-ZVCdeBK$}nLyIxnY_?NuGKtiVJT4tis z^_2^mVzve5*}M7rz<{{fP&?f=!ASiqp#=&5dOq&0g2(hePSwls9H2#$&jp$(OMl1Va57%@&GxvP)fi-@$MMqBX6OQwl53I0)^h#L;;DYBh_?Udw z8`TtPxQOjZW_ua;Yw>k)P^^*{7Zi51H&FHWTkPP2qXz-j9G+7yboh)I^}fF|A$M9L z#*M_2toui&Gy0>_FK@uX?U@5g+8&~`P?TuXCV){QQP9gNRob`t!k}n05zg<}bc$ps zQEfdOQvLPx!VE`Q`%G>0Jy(Z>wNp zzY5dRo2cxdB+NHPc*94WB>jv>U|%`-Z@(*mZtULg?B0L1?B_gNM@vV`L&;-Eg)6qT zUeJbfg_F|RQp|LY3XhCrb|fzn%g`8>Vix(_NibzbJ1K4=UnOrn7_1AtYUTO_$UR|F zM+8-A79`S1ypRjICy6Go;X3IxJCO57IP7yhZyQn3QEiiR9dz~;ZF3vJ<|0$bxLL(k zKW>4ctoN$IVZdqr(REKoUT`ItLQsmZ-3!?zA8SXK>A(?lVLN$> z4P8!%4=~I}z&{mF95Oi-iSpL$8=r)PHY0PY%W9)SWAFfvz*DykA12>NR5t8!cD7ue zM#_!yXO|y;ybg_CTqy>`C)&Qp-!DTW-~g5&lqNdfS7nD!0~V&^qX?a5uw zYldmExtxdF)#;D7QdNrUJJ%~RUa{^6+~|RB44H;Dp|a}e=X=XY1lIa~5IQ5wu$%#> zfH+S->|O@#ycb~wF8td}OkakA*|L^K2*Bktzh}Py6xBvyUvF@_bBenVeQrNOV*Ij! z=Cfj2BKglbryi#kw}Oz7kqt2m4r6q*kpOFwk{c=E5oT5-^F#~09t{cw-(fBXDdYFL zgqDuyyU!!ExT8|VO%F^aRDlab;y-drx6Pp(XyFsI_1=`iK$4N=Jeb)pc*Ji;OH1IB zV$>W4nmXDz2z#F)5_~2)U}ErH<5H2>d)xxW^g(BO{4x0lDh)?xu^#*OwW&6H^s9HV zEf3H8y;r3E{2B~RNH_I0?j;2P*r;un8CEu z3Ij&GBgV!zzlM5e`=C;S0U;U|_j34BG6aRI-aj&%v8V3sxn#+P2|6)7WP z3D_?qwGRueE=_2D^N!)!H+kPT$+Y!Ho$KNW$=KUb;@!!ZwnK-w_pzl$kvyfe!6~Ka zoy7!8JKhuLb)3djpGNb18TM|#g<&su)^7j;kLL9P=G~WMT|0q3oZbgRj4cnnsfP>| z?;9-)#=64-zm~Z2X+9s20)g&VsThIKiBMU;rC{b_ZA+o{d4FWlE1H@7X2=t#A)QO` zL!m#se^h;V9OxXBt|rxlhXp42Ww#bkau<{8Y{c_I!?8Wxsq-rMS#__(O%Zxhv}V*} zMlrx!syjCD4MthujE%0+J6ELB&Y;si!{dGBd|rmE9L^anv3_Kb=feS=3d4Es^ncgr z{w^ITK7VG&k4@~sfSuT2;gD2(!=SVq-;S+Y7#&msXD z(P47It4*uWj|&6_1@x0PcH?r?iu*9+Gg(bY-^S^f&3vii?i(9fme*()a_@3WAm3h! z=uu2W*M!RF3A-5#@HM>2X4o|GFAZ)Q=yD7EeXc#m)}*AixaCUr7h^-cGhxUv0B}S$ zeu1qv(@OlDR$0z9_vsoPpGQ+cY6L+dHjt2_FjqRh`t6MTIGp|1^|0^tb?*Di_21-? zo37)CxcY9}D?5ofw2e1=WC~pmMUB5Qtg&ekiF7=i3^jBE7FlK+!q-W_#7MOX6t;3S zvuy7lv|l8zkE_|d=h@3YyzW;Ld};*UWRsTM1Bpj4^{<9iWG;dXp@e7*6Ka3m))po4 zs;BYSO`bITWopX0mP`tXf#+Za`jQA{{i zC4`+{!Rz-W*FMDo5-ULBg|*%LhKMf1ft_>pND@(NQ#xgFku&~jGkTGS=n?Jvr?B~$ zV4^(f5>J@oQZbH#D$PZ)&XWa&A$gPVYnOTcr`nB zMDP`6CUZ#|%m1)D`)lYo`;_fLDyQc5%V@io2%N5m0lURk(@|sZ{39)AbczaUl{mUA zC^m9ta(pU!F+J^E=s#qS+_)Ob7t%=5;9z1+=dDYb>Bwl=B1Y;_rW8#bUiXiTl_Yj5 zOUp5*;d@2Vawo`o$qi*3V*&$MzGgYndR#tsi+j>XAaxpX=SM1h8!suVXyZgv9IWk6 zP0o{9kLJ=sCx*3~%U(&FyCo~P_K?0gLbLh3IJuwlNR+<0(up;8ZCzrE5>USf^OI^a zdXE^!@>=lh2Ef>Ew9!S{LWMI+K)Y?4SMYO8a*BU^+VdNx>6u4{+A7IO;-f>2CPoBH zsHi2kqtmAAboE!3{PObS$Y6*m&C%F!s~Mot&c<9>U*Q37Ug-X6(o=qij3492UMqTe zr_G7*vA3EU88lKWICvC!SY9-JFkbkp`{wONWeW$$JWly#nZ`4xz zGj9UUI$L{T*mOjA#>G#}N3ULgj&nui#}ZG6wh{McH(QFP(r$dXDw^gH+JeYERk^!$&V z$9ris{yygfgLQR}jF`@D_JudV2@5vJK#OII2x&lHy4MYiJQ536qIFm@5yforD7flq zS`~ZkV>e*usBgEk*Gv;dXwIALfXollNj7h=aeN-DVouh?9WiwL<%zG%Lg=E5#PT-D zzpdxx<7RNbiwv6!nnfpoj)D<{Ob4VJFVir95c=BAy=h$iTp*8tap7Uy>3c!$9=UDanHxU77_-CeL+0 zEBClOcS#Xf;3H${z0C!1%L_LzUcnX{8N~YIQwV5KL1QD6)d(z0+w-Ys|*ZH_?X#d za@t&)L*1B6T;;Wl2)CHuUm|91ldVW{4lE}&z7zVY@JZ)K8{r@^|B5sABYf5n`+8&d zcyR^(N+17zP1|)vyH5S*h8`T4miUd8w}2{j{dh_{220aVACvo(4EVe-i<9NHHt%TT z8h?bj!LQ!>ew>h^h#tgts9wJDBxyFs1a2q=nanj6+Mb|ZU^IR+xnFa2y4pO?!OKjl zM0`_#kQEUesba|6w^bAYD-E;n@%8+?3YA4@mToJ7jhudwoCe7t-b<&|qXsLQZT0># zODDQb+_R<7#l3)5`!P%S49sC5_KZHt4C!8^I|*v!a$JWjM1SM?G5Do`;R!c*=UJow zhr5E{o4Z=Nis|!ZEGf4HA;#&{wrE&RI*bHk$JSN}N+F*=<8w|nmT_XWY6BGq5*(IU z8WCt{EnsWfJF1_2<&*ijas0Uic>q5rGohD9D2dkMga}e0!O%lIBve4bdUEOlA~2Na z&F9RR@5Zu!<^EnkIX|4Uc6Q3Y7FOtcDCmJ9Lv5JL0$pUmn|khIA(D7%6C)Erxdl%2 zEl?M+U}L_nIj0sgC5G3lGvtVo?tnfC`E9UU?Uj4$2{EYNKO=KHPmj>I-O3HKcU+51XC%KC zF51s&fNZ9Dq)HR&Cz3~v%_yz@<1eZe*JYb?)l1*H>X{Yt-TLvy@``2*P5t&3bP&aH z{Y(xNDXE7aZ9CVI=& zYvNB883uAfOtWbDfH-j4U&w!ov~##Gobd6^PprR=BR@ zhl1vFSwIWGhP_*QQtpAgB@_*@B9QeRK=Fv1n!2pbL5j?xb2^7j)OPe_$r{U;0 z*Fx}v&c&{8!-5D5VqUpXUq%{fT3^aEA;150cnOGjS>yM*#m&fmGbEX`j4?p2&C>h> z{s|uM%`(rx-;BGiYHvh>wf@pD4biF!wZvgmb|#>CGvIpMmzg_!g?tOUqhtaaEhjPW zktqktr`jB6#9K#k`DXQP|A^M7tHI;Cgb)<{yhO>3~^gYx6>u zloyfvyAVblMkRYCzVHDxu8el)uV%OPoR;Fi7m~Wky3BryZ^R}44*-!sZolH#FBL&K z;(r1g%-g0V<0y{Vn06Gj>acaAx&Qz`07*naRHNWzu5pqn2+Ra=Xu7k_z=ekZ!t@Oo z7!+%(Bo4ts#!8^rw=$wW{zBGVwaI5YIQ*d0QAXDyg-wP)CgX_%0rb26fQ-tCJ zvJx}AJrMzS>9d8wy#2L4sFJmV=%|qRkvtAFVJ0u9YaOHk>cj_zWPme*42%y!ir`f&fk7TO^A$$;{Fe;=wA=1w z&d3HFUGQZYLG3lFu{|+X;>sMEb`YC};^3e79J|HE&2!uIjRF4Pko~nUh6*00kQG#) zUqvxpENNJxwkT+9C*f8@gl3oUJcD?s5ro!JUw^3UUVT;YJN26Ze<}`d3GnF`!aTJ{ zXasUhAEC}oZaH82D}I0d*YE$nCqD5>ubQ9dQ$e`|9UrbkCnB!)ikLG{B_okcCJDhN zA*ttLY8B{6kZ6KzJSQRujWgQ=({0~A{es_qUF#A>C0HqPxz{E6>7`_4K5`T!?eWF8 zqS`s(u?HxQR-wg`sK&-`B|R53$vH`r)X_(iB+uP2O|zuK9I;=CJ+XoXtJW2aOH^?Gu@!-Ff4 z7Qitlofuhvfq*ps=!Ng|TXHd9xVS33{Dy(_)!(*dtN-ATHMKE@jcDW8dSFk>kYt3T z7kfH_NuP1G@L@ujVGQR~>G+UvZb^zQ`{m^$OCS5#M_>1)U;3p#t>O5qf*MZkkrn|T z;zycOlRv)nI5xcBfBHv0`q9^)fByL|aq{3Q^QG38X6y(D29bbV(>QYS5nDIq6y`2uVg(ix_DV3>ej$4I`) z{xS=g7)jEsIUz5}vQL5*2GjILTaD)_MxF~}jL@D~NRCtNq6UvjRLGIbQHM6g~zTa2zRYo}`AF zXZwg9iWLfedLj;Qt)v**vdsrKR zt?+p)VtFPjT>Xza^TjK+IrcE1WHXb44mNfR!oG7@Z~eq4-u9#?J?RzF+NBqt3jo3} z+E48f5&>Tlj}TubHxdD^LypVlCp_T^XY22Czx@J=zpuh1kX%KG>59s(5~L|es#(Lm z;kuJzE@|PY??fXB5{xmSSrfGerk`ec<(_?ec|Y=AEdt0&YUlyzSL|}P?5q%GlA>s6 zIB~MCj79P=i1_Z?G(L(!Ho+G$oM3hP78J}OsKhT&ddvcS7Z&c88H--bV537qE}O_8 z<-LU|2ozh2k2n-KjfVMwr{<)rqXZ6+JnD`iZAJ7P&6FQ?cZ{XXN1{&TXy6DOJ0v{e z6s8!#mp-o9N8&*xlRf_q0cPbV+W76FTS?!Anu8|3Wy>FC%kjx#ME)V;gNrC!hC9%7Cr+A z0Yl=>UJXbFJSi~_J{R3Q`9slU9!T?#&tmxV10woZE7tG{GoD0FI8|eWdK|kQ}Gygf^v~A8a9lpZS0CbvNV9WZ5O@)NW>Pge9yxe1%{`H@@UvzXh07O zaZ;ng6}di<4J(TU)R-@M9xdyFEgC#0d1Um@A2hUG`Gufp6a*TYCgBV*5e=EdiN5$I zA{|*o>GRk62*`1Igcz~Ob0`ALQOpTggAZu z^YJ7ISVu^Wc!q<7dMvOIVUx-qA!9QWUgDvMu6Myi#Jb>=2xE>fals2>m<5&W2tPjM z9JOD_BZnoMLS959Jtz7ze0572GCY20>#+Zzmfj+q+ql4Q2drulLy`ZshlJIeXM&j# zVmxYNF~}K@sG~02ZQHh9@Gal^tzUc3-Mim?{q=vtHw3s`nBmkOArY7s0FRIZAvd^u zI38Pn?&p5)OJDUp-}A>?w{GLtw(h^JxbP&dt9nct`a=gu4OWa}W+0gz9Fou;-SzW> zK7Mp*Q6;I)eomCp0CbWX1&M?wuIS3ePJ$kbFk4gr7!0;~ zdO*jh*%hCG@5(&ZfXu2sg-;eib+TsDkK|j_ixK-L9h{LY$vXvIKxBU)mEn!#A%#vI z^vK|*u`g?YJ62fkn1UZ!Cw>j_5sUT@IgNoEH=vL)q~j(zVPlDwXfrSRLC!QpkUYiR z4Yv6rk8BAu1jlMUYluFc!soEi(4Or}SB7m{ zEV#JmgH$JOG^{3aBa|TX@gd>JY*=eRN9DMZo6CO_S^oXC@ zKD@N74+<`N&S>9Pi~o`sJKlp8v>A$ZX2X@eRXX}<<1?S}tbg?l=RNMcYv29ucYjjC zd@!&gyi#=<9sdZdI$X!!fytsHz;R&NzU^&qd)tei^{i)Iy|}n(TVhk!3KGsd5B}P* zYQP@!_TV9Xr+>G;)31NQk$qgy07_$%hMcIB%}lGr1=%Ue`$$Ezr-Pu9;gD4d+@7kh zIWuj)=gTdilAIR}0>+Y)C$c0%RW{oKOGSYM+yeL%$LL`rtYmP+MMDph`j_9**VxZ; zk)>~DR2ZwZJ&JI?x+q<4aD^2sNXb)FQ86)Cj^5zs2rG`pULG;PEFZvA8*mUH`OE9T zYKS4^z4O@KF!mhfkNsn&5p?7fUgLlVgl!|EvEs|S6VbCXDo5dY@lf%wV`U>BDpWjh zUjO}A8!T)BVPyOa&1#~-r1*1Y^w&78En24xjsOHx(Z65y7r`4<+XLS6)!GhXULAPA_VqC}8!M9Op zW*aZYIsbUFGC=8C*{071Y|=tt&1PY^=?ud)6^_k74~ULK`!<%=Pl50K^Y{GuRWEt* zOWrOz-w@y{L&H%T%TE2{7Xcr;<7aNNbc_g)&M5xd-}~P8zT&dWE_;o>-gAs+c*oGZ zU((u_^f-yEhKbe@fA{!+e$*$|DM?w~I%7yT405rPg!JDe%7QD$D4&%Qh6=;UqA{SO zEHNIj_nlvgS}bA62^gptjZOPdNgo*TF~NpAS_-&rS_Ev}7=pqOp5=|-1-LbqSGYx(ip z686Y*BM8_aK%p{dU1%vVp~6wm14-w9#_HQwL=X_3;|3_r!C+8$5}w6PWU%msiFv`M zy@;6!U1A#AU@!#9lo8CL!NHD-`Y6rfX$DfZ&nU~4;Kv>d6BcdwXZ!NKEVQ~^$obq) zL*f;rm^jVk7UV6srdHUROBTsbt8bOo>V9Hn(AJ%jV7cN#SjnYbou8W7(z^-fXyb&o2e)tkrjqWKK)O5zDuK-j|au8YF!Y$8^|fvN4#E1brG^Cc@b7<5nM# z58zs0lY zkgy0u%@!FJE-?B!m)|bHZarMFKp&MH<+6nyIM^NAH1^0>@rT6%wlOpWyN_L3BnlQ-GLU9LFdh!V83qT;tl)st?=I;`-G2|ipuBx4>ru zEYqC(-aiP@`vzLUJ#ys6kKgpB%fI-GUoA4<5a_=sxI$_g9G?h`&y(Y0akA18pltYS zejoklM}I|M^LtS5^?Z*^n1ge0Y6hnNo~xX5Yp!#ttkX<-77f}x?A5rSzguf0Jf*)b{AQU)_|kmT&x z>y!BYaUF!gDu4aKy?Q#+=O-*=5=>bE2xc7zc=4%3YGg4q)v-8gI_qZAA|PwQQ0<2l za?D_LpB~aV>%jE82%G?>V7_4|Fa0$^R(exA&JpNy z^f;Sc_vW}nDgKZ8$AA3Cx1M|Mx&OHMor>07bC?+4(dzF+bWlqB-PnDr0I7q&;5^9p1ikpd|qY59lWGksq zaRP4FmwPF(Cfg^V+yjU_&pwt_R7sgC@;)wRqryX29}+oK{7y zZ%O^U7`*t>#csF@#3lLan@~YD8g`IPBs@Yej(Ki59!U6ue&Vr5B%U(^xHS5TC_7Uy z3LNo+#zwLXP;jAT&sc=8J>)&?s*OHZ90PP{y#3<&XH~;O#tRS#aGpwKj>8n%EzjyZ8XMe?sc8mA<_wLQ__mfzC*KMbict{+ox=DNN$w_Sc zI?YFqaz~Z)XeAeDr5qA_C3K@yLQ6U#7?oHBnICYeG7G$D&Rt4+JQ)p+qxVo#F6P~Uh4 z=Y3|2*p@w!F!R|^Kjs5WY}1J>09}v`<4yPh>c~M$oHyvxhxli=ypJPZI5>vf)oVe5 zed2_ZiY32Oz=td=$eOPBtuJ|x9amxFSMi4*(2+&({KSC0ChP@_C7BTa?Umz1%!sEK zD3Wo*C;jtXz2btnEy*5xS8#)3o#PNaFpL)g&y6z(e>^>#M;5v4katX=^+IAKCu(^m z1^wq(an8{JVpu>jpve~a{9}S1d5)0lTtQ9@+_ulwVeHvS6D?~Rk0&m`v3w-{{;dLC zheQc6aF`!Mjv)hLLWl&JctMMX#DWbhnA^AM1A?2m2RX6rQ=j_OfB%9n_=1=0-MjZ5 zd7?iZYDaN)YR4f0&RNI7&SWB&D)HW|qJQRf*IoCEC%X8P9QeaMd-YmA%r&P};{+m( z6BEfx34?4SS?}x8G=&VLr0C@2@<--TimEKs7$ndnNpO)+kr0VS?lPn@6RFP099R;# z$1F%FE@(lKjO;E8lpG3`f5sAl#0fU88C$G8LYHJGG&Tr?mMZ(<-Dj+=cDjd_EK9qlZy z5o7)vi41 z*I$SphybXJW*XY-81&C7V=h1ZBsy_Ik8=QU7J||vDyD1i7P#^&dK@F41`^2pq*qSn zTxM>PwVS!Fa$K{;DaR6J32|;QpTRDE*cZ>9P^dv;n#3>)cqLQ(P|qnCJ!rc)8= zNC4t{uOJ|=Ok^`oVq%N$J3ooq1;&z5YV_Wwfmb$Xv5|r*S=_XOne~&qXi1l13bZXN z6>?XJF!BJ(k0fQ;LK0y=GK~n2zj3wwO!7qtjM{4iDteGW;%Nzbr0s~|uf}@ONpiM_ zB9ttJ4Tf|bHCIRUQKHb*UVvTzVM82zPBrjMV)q^&uqS;;`0a0=XpDK_yl~Qd{X|8QV)>Qx z#STg?F-shrnnTzUz_y@GR}Sb+yCe-=bUryGf$8&HtRpztDg@gW%+S>{X!bd z{)=`_QV^6lNF6Cg7H~p?kHJ&by%uA7~JA~}*T|J9u(P6k$!3^?hF#H_Rxfun;A|1`AUEgK2TfD0c1f-4dO+v#I#4AGI#;z%+y1+3hRnrXEW!^b095NqzS z;RP9S!JZ=uR^|W^Tztv`Mk2D6&l*_V$B0Fa8?s<|#gw?@P%_7Eo`7XMFNPd&RdRgr zlDEt=5}*{dH$cV8a}gO|(1R&u7V8HO9GIKe-xAoU*NJLdwrqLKOJ4Gl7wK)$KfLkA z8}+-!9iS8C(fY7^;*R+Gh%c8QSL2rFJ@0wvz2z-$`RzwP`s}BjsHu}94(!t}`t8>B z#r01jCQ;!~C$MCnAKuK((QlU~17?@%QtXCx0II;L?Sl^|pk3CCQ zpW8v^0@3qh&I~cFmrD)}W2@?hMFyf-+j>ZT_KOaad8y0K7QZ#K77*vIw59uLjXcuVPF8>jO>A0)cE+z(v zqeUzu$stB)F}F10?HH>L@}o-$kobCv!0E%$q(s_(=BT3O%I}6pC zqkvqDVU#^{G|W8F(aZlcg9@oM017h=T_Y z*n^GwkRXUBqHW&1`K%Yd;Duj%`#<0Qj=%f6zvFiTPVA$J6A^^tY;#%wJbVG?D&kVy z^5Pf2_;cRyi@*5)oO$M%Pk#8!-8V8H?&E#G{rmS@kYwx>MP^VEaZ(elvq%>oCugSw zo?()O6AUD0P$e9bm2ODFQiKjEDJ;6qhoxw#K*b+pxohhvhn-FyBGS(1qqL07cBckMKd3fqe#{P;94-EMJaTxR<;a}^sV33Yu#hyDi{!y_y01{`8 z6t{dpjWK*Ay;G4>{NP&~RX8?ZloCWkxJ(88#0Xr5+LSM7+Y{U1SXx{}I#v#N!9o$k z7(NF~h=2a&J#$fkA*Ef@(Hesvf4gqD2)6?PLz0uU&7!RI!?GC8aAy4KW{lT3ez$VXyQo(<0zu zJODnf4lGumjDzr3+kqvH< z&5lKUgXc&6?!qjdCs;mrp=n;lZbhQSKN}oj&(P#|u#jp=CKHREn(1(%dFx}qJaCRh z2S*3(TErm*ujCveas8PN)a19eRzYrf5`&JK7enr9Q~qOtW=(X|_uae$4X2Kxcs|bp z#Sy|A`-3ivC@X_eGFdpl)yvg5=Z+65WXbvNUU9KGKji^TEP=qA{q@5r#0v>_&U|n=Efu4nR1*o5M4TpvqmuVRn-&70YPsIqw&_%8KD0$(5 zSQz3;d*~w%lVy^6(9!muo;qR2C+RNf^8g3+t)K<{gz)S)5zsq+O@GJW^eg}6m0xrF zZMXl?^d#Wnjr+6!c>4DQ0up@e&O#G?xHRWo&(o7M!9~oB*}UvOaxN;-B>^T`;{af6 zvSYSsV8nX+)xM`#mKbx9T+ca4UOe0ai}(d*D86P6W=QOOlnz3O=|yRH^of(EkVKt^|Ozoo)nS7N_ME&Oi z$&!#56GJq!&mqXX05c12xl0FmKfY!@NFW5Aj^yI8qa57YdJ!4}5<+PJ4Fm`_B%T*- z5-GIdJS(4aR*TwpLEyh|sm986l@nhA_fSK=GKdc959WMkzLM_1A0qfe&hVy!p4W_SIIr22fkqu@XTjE<3%6* z;D`R;;~)Pxe>;FRbbI$pf_Z1JW*_8+3 zXv(qm??+DTef#&#?c1}@k2yOZGF{7WJ+-8zwT(!rLiq-fZw0Jso9iU*aK#4J7>H|?ATNxbUgpZ~i*!b3{< zBsOc%HvrmYM;-JtHZx`#+YB~p?%P^yYMVk?G*6`Z_$YbXt3CsN7>qsXjH;~v_O0S< zOVG-s*$8vDsDWMZrc_Y}q~x=xlMhyeQ*#qPYQ?Z#Hja_bfi5f@9-L=vY4?TYVSHA(zFDCql6@F#W4`@&2j^!VGBB3yb7!y4>@va&D_Ev+uuz~JA9t-2 zVAF`T7{GaK9Q7RsXu$=_LUEgc@ZhPHE&#r!01`2#yFWXptcz0nW*Bt!*U9vE1h$TT zJuup~vSPCqeTC4m2KS@5YuBzDU+{t#Jo|XWoS+9A&5YoF%JRK1VIG2 z95+Au(T_gs{qKMOuRiv%k9`ir`#i_*lZp0&Z(O*1w|~Dr-Rrv6qbD`)39twh9gNb77gFr;i*U4CV|3_ zZ{`n7(QQ5-Tw`8AL^po<(YalalKeB-=)j8Rc-gzK;1R&)F~+_y)N`{Z)}x?BcVKGl zqKn%u*6R2Phh{2K?($J#s#Ycbbo9S5e5YH+5QmA)SQA6UjO%o3RpvL&ybM=a3BwggFBn>xkv{(zdjTOp1*Emj{G(A{_6 z{gJ0V?P<@|&j;Tn)#=BA9KnZX^T3Y4Lu2byMFHt{^M**RB65|Je8gYtz>%1=YMwi!_wkPKp(v6X3ew2+t8`5@6phQ%4KQ_`P;|H1 z7e2|?cFH-V^WYzUN&L7YeElOYhR4$db7sjEzk^iRv29JT6Nq?&s9wQksSsN!;F^0u zSq)L!(mUH?1Wz=}%;wF|=H;Y|A7hLZmXkSiEk6b$vd;Gr5G45yiP4l&Hi!rnL*@cZ zFBSTyh$BWpt2_Ccw~vA3XY*-0d=^6}GQ$za8a?+-lUJjsC=RTIhj7YYYsneAW*bmI z%H2Laq|nW;Fk(X(mSKyMj-}qzwpRN*7(pB<>GOd(t4B6RPJJMt^NV{#MS~Pi=4k~s zgT>4vzFQA{$+_-gfW=bF!=tYan4XpU5Q!g>!9pk>yu?;)`{*)v@pyX)4*!`+&jP9o zukf(rjrKuBKCu)hxOF}fXBY87wtN*GPv{9@t9LY|9Q<-dqjcbUgYq3O+*uA@v-mRuHTY$)?3kbElnl8j-V!Lh-KLib~_J zof2_M!6cy{j8`~CVPZ|+=3bONf2 zJC6ecK+Yhw;JA|&d(H;Qrx51U@XhH6gXCj5r-F8pedyr}L!Wfd2gr)S4s2&--pi&b z0jiUvq7J~w0OE=-&q!u&}NX8Nv|A~%Xv*ej%iVjRb#Mi*%PN1@n zZFF%keH(I2P(ud`o%U^u4GIaMu^9r6ICujVHY|;RS`I{L$m5saA3#pNNZwG$(aRw6 z1B8jT7a!`$L*;TKv9PmNxhbI8f~T;tAUpW%_?p~C@P!hd(%1_x|8k)eh=&W9V@q8U zjdSN0JMp3qhp)q}$eKT12b{wV`NA3tO=X9TEjf5@|%(dfh+Y$gW8*J$KAVf1m zGzZO!>i6+;1SLOel6T!Erm;5I^A8l+_s9=^Nj5qN+kT0|08HjTtvnSMT>?^^fs?6JqE_RZ|Q zujjt6wbt+O{T9TcXUa7ZO7Hr}Im9zC=^V-_k#e z?=~p#ZRgu`ynB+_{L?tN29zrqSUZBqvzZg-X4#l{j%foECl+6odhv5N65Z_8X~{zW zEYRk(U#i1rw}#o#*kVw;7$}vsw>yYO%q0aqeTR$H#ah0QM(A!jYWV&99Mw{>D=?B9 zm)RDiRFLc4PL>3*O&*Nolg!qmKj!So+rbcAliJqgwM86VSiqO2Z$@V~Sw=hds^go( zXZ3>v>c*Jx`r|kui-OR09BOWe#|D_$%BFoJs4_Zf1wXvwW)mDQh%{Og_PW=${ew&w zMv6T7ELY3=`my7Wl=3Z7eP>$$N=XWvWl0h|8xsVv9UG%tLZ|2#3Kh($jh_7`g-mU8 z(!W&nXyehZ2)^(A@9XP=VP#t&4|H_p_+ZV$ob6bt$X&ZO_73|M1yVQG=tKFe&;IOx z?ZL9^hba6Kl}2p`11e79qyCa zgl=ZQXns6XwmNy4a2@vvU126)0!)DDojw8KKs)Nw(|JZCM7)j~<#)^<{>04k`G8~s@rTm)O70Cz#kF9H%* z+b&x3P-N-`tFF8P7k6^1OnxE<;^@zG{(+RLP@+<{8Cmx?;yE|rgG->pz6~rY)oFCC!v&93;E4xH(mq zfQ7_<(9~x_f67GhIe$E)__W`3?$q)VMqDB7^SWIbMAKO?$cUkg+8RtT3@Kg+B;W}d zW9;GpAXV&F{aH?A@+4>Tki2U!-z?SjkSn?yHU-bd2{gw{uE}PcI~8mzE9J# zIWR`(2-*K1=YNL0|9!s2c)n5$wtpu8YduBo(2qw>uAg#_QB|Mu)jz>JuY@Vo=Y8Ji z{*V9RKm3RPCDl*k>Do&IUO#@V8F)Q;zt+rcnED-=Py0)M=`a09U-i{r{U1F>E(5xO z40FqtLzlxbf65wL*&zGJbc5NVsLYwc+dz|6oytMBp#I?xf8@pcUwZ$GpXayzoun-u zN-}BFMa;VaZk`@(RBd!jd@mAQl(l>Cob-zJVW*>aquGY0-u!8C>s3VF`@$7PZEWGu zp2Ro0+v=EZVN8A{?8O_w7V2)7=!4s$B~4Wv+=678=tI_aaZ`zltl@a_LP(sN*p}~k z1Am)IvWKEy=41yrF(W}+GHfi6AytfEwStW0B|f( zC_>1#83)PIK7%U{HPlXVq7Xx)2AUVcFP>=T2Oc7(QhZOUcsQo=Mn7yPO1*sOt=w}c zpbZHHN{jlU*Z%6so2YXIp^U!ow8wrLIb}``+Y1Tnxw3e> zwm>*vj-09i=E}oD$*i5&N1uJ` ze7@@6`dfeNZ+$yeF9KYHk2bZ}k6%>=&M^K}>AWty0q4Mb*LQu_cYPDz_y6CNl+CJ> z9|!FHlfjA4tMA27Fg&blmWa zp*>6zf9(}$Cw}FRrneG`Srf*^U+;^%KqKo0Zp>X!iJ&QpxYQ*XRCblih#R>~kNNG& z8y=2%r};sb>IMx4k8oP>F&ea(8ue)(qMr%dV9L=U&7J+Q_LPz2p^Q4oQhRYrU4)g!WHT8|9;nuMZDjylu z3lIG}041(o94l+^WTU&$PXm!Ih=JIhGHf*77$f$vDi+u|*0ZTuP3V`7+{|1V&2^C% z#$v8N^d?w*0K_?~4==s+!51I;5Wg&{9U-;0ij59!WbU-`&ARgH`3Ky*Q9nVovN^#^ zvy~$+zJj~0KlDTY?H`2mE}pMn1T00r>htSA1oW#;nIrIpd3)EN{F8t3>-d@9|MHD* zeAC-nI9w=TICxtC6IFb)Rgh@JA6a#raLR0Kr~lO6G;KCKCho_Zcz(xU(zO~c9<)Jd zBc$i$(*zPfWY}VCn@t7A-E5R%lQ5_vvv2`!{$EN9@_qGCD23P*&VxItY2<6JU5kfi zzFZ8HnctQkdby1%HWq_780Yl$2PZPLn9E3xqj2e*;EC&`8?YrLgz9> z5aocqeI?XhFzU_vN~`OCYU0U4uT76?IuwiS5F(cW*|@j-nY;Ayp?1hf{G~?|m2O2fkhNO~ zyYMOwZ5)|$kQ~Hlg5nkBL)JwXwWqJ6)Pqs6Bb4~rI zuMA(-VsCsPq$|tKq3d(R_2Xd7ukjpElTcG-F=;r_rKP_d4Qjp`_eVeavxM-57jJp% zn{{!rLUPm=j7Nv103N4453k4-37$4!wG|b zN5+-=u7# z!j-FI-zd&`mr1lCJi)l++dBBSu#`-!-cH}{CTV!4%8RAM<@-QBew&Ro4li(GS|m-& zQk?yHkvo4QA1)jC!G+p|QF_^!ez>$lkzQTo(JV^~IK?OdW6sAJdGbeo9>J;xtBbGO z7E7=rN3p}4=g#t?NE_~T@ru!Q{9U!9jIM$rUxn2oj+L+X0&&=aLH42r`@PMfA1TSA zR>RXQZp`X~?M0i+acGgT^YQ^?<9{nZ9~{fv9hv5qHV*v5;^n6yv!0sVb)h&BJn>rO z`y8eIhBtoMmwnmq;&)g6@(=yc5B&sI{J#MQS);EXzgz}hzX15a z<+o91J^9%^?KVT}u&S#=BXHHVH&SPLZV(D2L;YD(uf*@Ru>QpJ#39{30GF0qKYV#- zwbJg5`D6p`tqp78p{pN4s8jXWy=18e&(al9No`Db0OCKt$WTT~K*>34&9?W34&Tj}D~@Z= z)-GO^RbL3Dhhgj&H(FvERdicon`@Nmo@x>}oULeKFUM+oJjUP}xO4qiV%dAt)bCj| zXiRpm+~=L)_stPY`SzXI9P;v}I~fx6Vg6MUn~*jqHX|S{ZJsE%6luH z%X4fb%vodVdGeWYP5?aSUA$o`mE0-PGY85;t9r1cyz$L%ddt^*&DZ=-{`o)qXW#pG z{?6Zd{htS!w_nAveE%vGUc;i!?zerx7kt5I|CPV;SH9D)q&y8~hpdC!f$A9V#CZd^ zDM!^~6X(>SJ*`nlJF$|pTh2ta>H+=bmtK1D5#IM#?&J4+_OHO*BuO~yGthUGACp{M zY{3%x{%DV_I5_BszFgGjfzrnbotN4K*C~!U3>ltv%2}|AW}g9oclctp;Bq@w*INX1 z<}9B2fv_B&PetELZhalST)|Ei(sko0!D8&tv_5wYp?4BEZiI#9iMZ#p5x{@MoA~3j z4d@9!C+;gNu(v^8{p%z0Jhbd9@V!#pCRWa1Tz`@xFlEcW{hdR)U`{WlZ5aYf7a?s* zg`jbX-^Ux2N|B0(_LAS`CunbUWGJ}#sZO3Kk4#P-&n&XDw-L56jyCTPzXD(8RdBYZ zOHrODo3**F!^yVkKNH)CG$&7f-2B`eh_)D4_F>L8vsW@gxFJ%m&wU|@x8Tp`Tgu0+ z=)+ydh{++Zd{}1&8Al9G=8nJq*9LM9WAw>IYJI50EJ)qO%=%w5 z(8{Of1-sQtn2kPDfs?o2{5(dHYLB}xy&ZGsJFO>m3{IT8D@E68%*?ym;E%O4C{ zo8sAl{25RAc{s|ZKoNR21;mels8eRGJWhN(>iF^g_rL$2e%;r7-S7OT|MZ_e|H{D0nSuY}x?d_fMOsDsgN|dr!3` zCz{4x%>BTRez&0=d0JXts~LuhP`xMn;N)W#mIwrli1$O&akB*j8%qT%PiCPCs+#lsf#{G7bOwn_B0L-IcHYY}|<3*DJ85ah|@zKhO+F4nPZdU6p` zmrSNdl@(OXh9vqEdc6!m2zB?~HUcX3&^M~so0*L_{kfYKV$^AeYGa3_@>vrpRitR7 z3sOk*Q=6!446Of;P4u!&;5SAQ1{e6L&-}wr40jQOXxK3B=F^8TOJtVn%En%}VCo@0 zDRN1p>bVzS=3Aa8j+^ir$2aQMCUIiYha+?K9ar0%ms6FL&Vch2c|VG{w{d76&<7Ge z_=}8BZ*N?I9Ms$Tw~OEG%NJ*Ijk!o79-eZJEppH=|DAcHo;ZyUrOks_1~XMfj?IG? z>rNJg?3bkU!S%#3%v%9(dpkcE^y}czMl5XvP3;s`xnr;~l=M!mA&MY;B&p6)p+c>R zO?!PVfBeP2_{pFAQGO`se~RMI@O=G;f=uBrb3EG>ei_NvF54XSUH>2XkstXZU;3qA z@-3#qLDvTD2yG%bKppBEsGS}0RvOH=4xxtw7in~z8BPKjHj_^$(u)tg{{wvGhFfgD zYDUNRWu4T?O}$0H4e=74L@h@7rip`}aX+}UJx-f(BrvyI0Q5)V2ofxF-$hc^Ua}?$2S3YpsD-@Zki=p3?2Pd_t zyD(|NHx6xze?B_Dg=qe$6I4cyEcG@loAMP{Wq027nWLDHt!r|0n~S1oCADu1D08UF z!)YQy%V$|U+bqzot4^==25P8g2>UUV%u(<8|WvT`J+sEKs_~Wh-;gt z7j>s|PujGjj`=!cLSOU6&3``SFZ9d?U=FmPA7U?N&sgZLow!{Pi3O1}f;6CmN>B`*taih+Pl4g-qShutGXj2zp^fs{$#u3!U4sKNKg%)% zWb|*=;U8J?r7COPQ*~&jbT#I;C+zq5qmhbSfZ+wv5WR@KI7J`3We5#wCrTH`Fh=sTx;Q?Fy4)NtfE7oT@ zhuXZ7RUI{)MGS_%2(p>rogc?&{<_-DBz~^X9V^DB#`;GPp4c{1j}ebv(Zt?(JyAr@ zI5KY1UIcrXi~D&1vF_n~Gq$;M{1D#&`U)a3R6?s0kcZ#65?94SJTamtNelb-KWF2n zkIb|3+TRaXNwMu&AB~d(yeRgoQHu#d?oC^5g~e72zNszUVn{Ovo_;3aCEl`(c5JCy zAeI`FFrpL=Y#OK-7Rp#D;3KMn^usfbnPVV57+1Ne86%XQ>+^2oXce9!bR2dwX zzm|kCKJXH+{QHl7TZWR|tZcAPaTDB$s#VX^r_{kgRcK%SV^gN>VwD(jz8a8sR8T(G zhs`jlP5Tx(XPpbXo|T6ur2&WwxC=E_Sbq_4Bb9#QTU{&gn7qDv^ddq3wd6m;87%ee zJ;kFD_1%y3QY(m8D+q&;8ckpIV*b|;;Pt9fyZV!%mEw9l`pb62z=S=1(njT81Sw|z z9$3a7&eX%hmb4Bkw$jT6?UDl5MG&wGg^%8JIh#*pZHw!E;IWG=`83qw*+HTA<;l{- zpzoroourCU#d;wV>b8L^5lerUyZco|Wn|~N_Nvdf4KOVmi@QvYmHRf|-1D zB}(IthuJ``4GP)J(55tYiUO=eOEix*bz-%T+hA4bPy!mRwHZTB2g21=Oc@{fq%M{8 zxX}*t>EN6KRaxujt}b7_$WUe{4su@?5%I}-P5#Y z$QDf`sXZO$%`wn1h{IGEy766cD}u~uWjs#Y3HTp=)mMGh-~FEN`JNw#@%q;TNx~;P zUcUhN#WUkra`wFacmM9+{l$OukN(mB<{fW;`)Az&)~lW8dNO>Tv3pq!atC#aleyI? zNW03E)yH|6AKCZ_zw&o)eQuEx3nOf9!=a9joA}iq{WI(}tc zaQb=DR!qcc_X;Xsp8T7~vsWA}a#={^*lK};;G*T*CfcNF?$Y-Fl|X90WJ1!U%HQ=d zpJ|Ocxh`}B*=ii#B%UGM1^ce}<`~f6+2p1PIf z0|QULe1toFtFw1TPJDIA1w|F~caa5Atb2$DKnrp#iOTG1FDCD`Zs_q^ZpKxdd&A=Fc$ez&JfQN$? z#9agkbS@|I&r|TAtnQfGt$6dZJXq1kY;n$8^CMqKx%i$v&YKo8ydN|C0;XQ81fh%H zx?Zvn6xVrp=V;?5jX20BgcM3twdc{rg1T$KTSg<`U?z0ui-AhiT>Q`gQ{iMVX|l=b>%V$8f&J_w1y* zGM0}?CSAhiJ87HHEJk;cauQ2x6`1Z_Y~5`1;bJ%euN+Im-R9AEp`0BTk(|3ltG}A+ zLOd5Nt~SxMa9nf~voo|QrsAzm`7Er0D#~|l#fPI)nhwt0m*uxHqLS^94|d=g$f5$1 z!7IUA+_V8*2}yeNpf7&C-M{jkzxtDp$X@&EdJKt*wpi`669<7KV=+5A=%!H%6>2eu zvLEJA`Jg`H!5`%GL-`iz>?upTAcy<3!N}2)cW<_NCJRm9TkzG>hV5i;n-Zbe@aoKj z@QY1P@5`NeQ^k{V#m}2PwB7jZzq{Gimjuy2B|75z6Oc|wGdOXypnZHd;K-J?9V-fR zXm;}QtkSdR0zmEI%;!h1gX8BoLf~W^9&4L-v8L-d%Xa*;**g|I5Si@Sp3BUWf`szy z_%ENq>d*AGmBcU@s4-CLnxKfJtuUGWPKpQtQ^xJ$z`H8&u zz3+Yh_=~>ii+(3Uum20-S7hp`(b#%wzFs2(jw3(x_v`-ZU;V59tGoH%dHWcR4*o=^ zu*_|w3gA)8S#$?*tHl}(cUVp0WH$jm$glf-i0}HZb*6%PKA2$ru09RIL7db_G<*aYeBcuR*9(fkT0kVx(J7OX?>y#XQ(p|>UIKFyE!bN+F zFmlx0pu$KNyANHqMHVA(OP4N;BF-`Y2pfX2QTRNuuTN|x5Wh_Xi7i1nFg>bz_%U)K z_6ei-)bC;?B;!QV+-1p_Q?Aup5kr`J1mvHM{7ec>U-m=RkNdyhw^)O%ppdF*Q+ovg zq5R2^29bxGp*FP8E7ip48&D;`bFgkV>$-PyPGFIIT|{S4;hP~+;TnCfbz%F^;Apx z(uE17IkK(a%c~L`=E;Ko)GujvNijD!jd6{OoudTu)brjA%R;2x*5Bm#$FQ2){ z%yD9zm9j}TN-%rh(TM|qG8VQdoh5nG;x*5j+f7V2NA0@kr>#xhwQ${Ct^gU9%(jEhzd>WD{9pAufTdTpZLA_#xh6&~!_#!-bM zJSXcdh=99|l)HG~fZM_(rV2b9{JOAwz*k2(Pdsm1S+Pw(Uzd}htb~|~g92{Yk~uQN zNgW{p!KcHt*&h|*Jg#1tS{GL<6VL@~iiy()0Oii~)ZGD1Lb;~YW*BPiXyG?#b(I74 zkzdD>kNlq9oR55XQ_UAQ=t&W$ejGEsQm5|5bu3leWrjXwzOoA)Bqgc_M% zZg+PG*zCKz=VpRvV}4+QnXdhTO&+nD(g!FkL{THHd4u`}FDRFT&)g zrm{AH&qr)D2K57q7cbdV2xt9E+M-!>n|=&8{8y!`@_=~^z-~NFg_<{d`#yfew{yzhjpvU?3 z&j379(Xcch@A$)i_z(Xpzwh7w_y4bNdh?s#{=|MZ7M~OU|5X3Thd=z{123`pJIR=w zcaAhcI^7BToR8dHC|K>L#RPA`P!5`Wd<-w#Gg(G>cz>vCD;Iy7ZZHARbYo}%5!?xw zkwbrYKwAuVhhCCVh9}N2ZA)@dx(kw?3g?nK=O;cBaKS=4)&-oOh_hgeC;W0kBXrM7 zn;`YqZlTe~{*+Y@-jOLzXbW?C#WX_5%4f660~zABxhOi6PZa3dw=KHbRbN`hu_3mP z1FY5j$)-YXX;24@nWH-|l+I!Kt)mI5Cz4pgyJ%LCvBQ`zCX{uzUZs`%-WtfgbmHch zo5<{C_d?T{`Pr^xke~Has&~+oEf*<4?G^ky*jZorYa>-jnbV%3kVN*7WQ}5VgPO{- zF?;MAf4&`so9ELsO!L{e(k668q}#pu(bWRH>&vmFY#B&Ne<#m59C^nJYU(dvih0OA zs>69ur5o)-Vz$xm1GkXVJ5u^+5V;r6c3?;D)DfsZMHXNKX>~=SY5CTV9}x^%#yN`h zS)Hoi4tV36-t^+lZ+0*KWXBW8YBw97O#YXozu^nM;Pb!kb3W&D{<|Oi!5{qZk$nB< zf}f@9^$UQfWSEP$eeKtN?dSig@A!`Y=AG|)*B3q?zfWSHtoAFDzEZao?PvL#-%EVg z-!*T?hP~$|xfK*P;U(Th0-~#svra&cUQJcsByIj~M#paxQ)MkCHjUb1>cHJ(&=1>% z;4G_&K9r;1B}kAqt0y+3+qfkp<0wx3;}1eUQtxr&QAOFvp7e*!iR!t&fe(;!;=nV4 zwG)?7`-lur*_^nd_^ks90q&o1jBw~8n}f6Bm$R%Ldka8o=?nD;Bfp?aeBf$Dnc-3m zKcbB)NeqapHiI~4H&Ts6lh2>=Yo~B5+4L?yRAZ=uWR>AcEIx6b`3Qo9`8fdERbH`4 z2$kJg16!e8M$ALwoQ&EU-&mubvZR0qpOA9$Rpi0*j<2~0GMn!1KqQ#fE}m_xqwiH8 zZTD$E)aEhYf=3R)9{OsYbWHb7PLF)$|j%8A%SWx;6y%(1hA!4p2obY@@LB({ug!cMa9 z{W_VOw9JEWgE)Q--~ ztqh!Gj6}}^oGc2p&=(g!1GIsAwv*34>PHuT3_+s4;>R|4Slx{c4(LSrr+8B`Jw zY@S+r|E3oHbRmGvdEt1AS63NsAw9kyF1L5|HeuQ%QAo`Y7V^e3T`?gB?GkF~LO*QRN z+uI15+PLuThkaOc{=rcTJ#AOzF2IWypZ@8e@ya^^@)S+TvWAsk`SHMbrHbUA`j`Lm zZ++R9ec8W7)ei-}{!4)*VLeLaHGDYAydU+hzxWsb;(y@g?_hbw*lQe~!Fb1HLJDrU zZW^sE<%&I34iARYPxX)SJ=yp3%Kv`g=S;g679H3!G<+wxhsf$W3HPq4R5uF*ptXqm z{-0zH)efsx3qJ&Z@89nC95f^0n4lar3}juzTtqJatOLH!7#yesxBel;uQU zTHGCZsc~u{bI~VejVME*i{kq-uZ1t>Q*QI;sJm8`)nvp_(N{y90eX6MrXYB-;TNky z+K?_;>r|{OS9$8P`Vf|jA`BPMNgVq+q9>5ISldMD;>^)-yYrC#WZdw(7!ug`xB2Tm zZ7;Ua&tN#n)nCTtp(EraJL=HCLR_9W$5VZ|n}4w%o8<|qbT|psHghmt+*{NGRw~Kj zT#pwxbdkot-ent-?K?VVTVD~^SM!<7d|&@Spwb1<#KPXY(Nv9@!n}lIwKgaG25C=m zm#}hV2-?qvJloMIlU*m(ANedFc@-N=H&6QJ=13_&v(j{gSj(NZjcN481US3UNszjl zJED6rsz11a+I+1d##5}qH%3r}!`bn^TI)d*6~72>A6~si6ulbq_1!4w9rLCQZR^A7 z7qPX{xU5iLTuS08M)Y%9edSf@Kn9xgP>5_(e&7S|fARCY@QJ3}l}GleAw#8K=Fku2 z4#w3mM;@l{GvE7}U;Eep`d|Ow)AUDzUjIA*N!UFYDzDMQ;bIQn!FT1kVf`3k&j#A5!rL)f>WMon)qOgu!~2={y`PQvyd~uTj=>a$cNZjy zx8CBR7Z6-_!fzv>?g-bCU;9xe5GYRWgSW{If2)1C7vpY5n|tV7C((T#L5sQOTnt&L zTp$#7v26o)aZ^`!IEItAhjjVsB%!y--B-0Pf>8E~PFvz!K%^wdvm>?(ilwx( znM`Av>ImpjV(=|rIT1=#1QMat4`bE?nfD?kFKA!C)Qe_LN@8x*59_T-?5lXzIZWLW ze(ZV)sO3HPi+1MXkc#WHwG6{okse)Csl8z2@+aE77cv$n`_6hFlZ)=j@LbTTnjqyy zlu*vHk?4#jcVcZEryTc&IgI7sJh=GMT_+9;w??M^UD5 z(_3SOsNE?!qQdI?Lq9c{DN|7QN$};saggqz*ZOb7FLRV0%6k^TT3D*;OKW5_{5+wf0Um%_a6wQ zE1()GdFV4ZcPu>UI%wk*$)=`XaFae;drhFf8uJ)Gdc0iUtd`x??O0h74uUBoYTME zN<9mp!uYaRMJkGOVnb8wa*P?vXAJ+x_D9mOGy7Wnx?-M;ZF0oyRC zf@KeNSh%ZTtxba3V{RQI_S98KRfYfYvCx`9Ul62Kc73@^#{JPq3VwPrQi4K zo%81rRYShMHxbC<-SPOu3r*`-<8N5y)qJ#R%YyD$w+c?apL$bD%o1&hndJS7A-xDe zJ@Mf@s~vhI?ZVIS5yf6#D3@2IU_I(md=8rofmHIt7}5}T)QQ{=&N!1XRAV6C}0I+$DUP^^!TZQ6GsCi zrxhMvH1)}Kz5(>eg|c+c$K14#cf#Fx)ZdX~bhBLZ&4akENptDuy4bD`5h$9|l;u>O zaUHrm=v_1#vl})z%bg27avGt$3$$LA8SNubJc*1>HT}h@Pi{8w3_%~VN!>WK6&j`U zf@8zT4c22cHzxJ%_`WhZ4;;MssB=Bym!9nCDWm}L0U`a6X6{#_*w}|CrSW7xD^1hV z@dBP^Jo>GGDJNsjjl*2!MS;$h#f$EO(*5Ps(A7RVxyuRiATYLmFn37O?~iYWWED*0 zg{@x)fSi8H3#M{_$O)c2(J4SaC#P@$l}{b4&m*hgAW zf8$qv<-fP_az_|L#{t!_IAenmu|(LQrro*CXJ@TLx!tQz6;CePgHb* zv=XXFrAel)L?@D1VtPd_4pUBSkL)P`RoZPIwu)90r?SOofYMxOwco@<(ps+u)p6mc z6vMx?2`rtEhLZ?5EmH7Z#Dr}zD=vMB2ur|QO8axt&nwh#O?-@`RxbTQRGBmzgzgh{}D z^TBidN6B%dPCb)hWZqnhcYI1ejk7R{efr(1ubLxy)-OO}n*(@pA#5W-K`|AMR=(xt znc_OJL6C?UH-M0)2)o1x5^u2?q+uFAb@OjYVUFfhhLba&Z43xps^T+21!}L#^+zXt zDoA@{TW!2j!OdHy02cfyBZ^~Jy7hitkcykRd;A2bfUS@Ig$ZkBaUP!a6bM^4w4mKS zA9GWIsDNIiP+$WY?N*in60tr}->A>d?q1c5rn>AJU+7E^1nP zb326VUN}U#0${C1iGky zW)CanZ>7f2Ga2cFBStQfFZ9Zd6OzNPL4W8&{7?|h=5%=wVEo*YXG|Uxt3lLR3*(H) z$v#rX=hc!Q(2Eye_=TVUJ9!)6-vjA2{rdo~)z1JJ_uIeeo4)Bc{GmVehyKi4-ul*G z*GO@&@n~e7>K$A%9Q5NejLyJxQQEPg*&=yJjJJ8PA#Bb)Cmgob^N_AErS$SLP>Fk}=;13H{=$xD3p2)B4$O&uCw*kgK=$gFoPw`C zZHExbFvL?`n_?z${4HjgGq8M{cg3+|X$+Tt`vIRk?pQFHlR^g@p&{EsmrwGgBWP}= zAvCMgy%%Al&e!3e94K838GfpQe0ApU;fFq}O2{*?2gHpk=6K>Pc4}6xhx&TV-)vZ( z$1F9VG<4iNwnUNW+ep^koHmA(lVTR8{E&qry&EHG)f{kxVOTehYh4udz;)BQ^u;{% zK^qL?D%*NDS>@K>NL_K9*t~g0OAi5I4vORDe&8;e_Vq)90#h@}VCPVc>>=COb3V+q zV{`h;QxHM9;R(?+5i=uJu&iDGPW}}#7aAL9wv_1s3rf1y=ASJ8j$ded6wfjC2%&Kz z)``Eof~0_8Gp%y%Z_D z94L;;Ep}9Cwt!c5f~bTC?X!441}`K>>qq|^H7KzE@I1L9qzL{l^^FzcHf1M6TIgU65$ zVoriad2c};@mV|=4?DEym$2ATuf7y-ZT0(HhPMuQIiyU!RjThR&l97ihgg=Eo|Vxq zT|M2g9}(1Cc{`feK;mo$F@|_V^;)Ez1(HjWXK}OOcQEu~kdVM}D5y!2)Bp)a57^u!*Ht`EculV<{L;Sr%6V z98m&7{*;SvK28uuJm(f0y-jmQWpnQ$nO5w3i#y{OX#%Jm041~xsbh;c^hbYJSL5h=+FbW zXr_10`s}fO+dL6Ms;=L7E>2M6a$dall^XAU_q$)bnF|5522gErsWK_gw=S_vpB!fu zUCS$TOZ4`L{Zl{n)Bo^Gzw}GL5iu_UUUOd!bQHao4o8F|>s{aXec$){e*Lfi_1|y@ z!yVEagc~eRiP=DMG_J;(0e8k%)FxZZGoh43pux}S1AN`DLF(X>)#iWG@1k-iqMlgi zF9WyK8@EZl00fM5m`PGy>_bDR$weEf2UbM!nu)`loyD}x0=9dn;3{)UMst7~%c!&i zcQG~(;;F}>Gx<&7=5I57kf`j|rnsO>$LVuPGeI~mzVX!+``p*nucc%%=10lwTGtR1 zaeH+XPr4FGEmu?%Ey!nmkcdu!;op%H)ll@)6<_~4D77iRCZZme?KV-`+e}5&7c`Ym zdV1?W>BzBUh03EOf!E0bs^XnPcUXpcUz#b10;hY&9JtGoEb zhHx8~%Gy|FQv`fjJ94%3gTA$XZ9{SB&1H$`Ddt6>g>g0B%_}q&k9>S&Bv{WE%DHl_ zCw_9GPxxOR#-BX_dxX;@&y0r8F%cT4QULhl*g?x@`N4R(SU{~GAxKwOb@P=77DLIrH<1p0q>w&!K8O9NY57W5Lu@L6> z#na2`R_vQ(@#(~CS!RtvJ_7G~&wIc6ul=>Z_Maj8n*3_uYw0Zjhecoc`y+qkkNgk5 z^;^I7Kj#;s_z<9Ej%S0*!P6Lm>;QcXAnJ`8#jQH5kGi8RE#;v}j!)@#{Xfc2VD9#= z90p%<4M&=mE~k{RT|hlLSBGvHbH#@Dmf*W+gvO}0t>_Te7TXCiIu$3gPvkaHj^DPM zFxuN9lT3bys1^O6)^lHTQRpOeKuk5nu`S1gvwlAAHq3VN!S0SgcLq@HgJ9~YCPseS zo~5WdnVH#aL4kDp>mgel^WESR0W;e(K=nqcuRDZ)q$Pf0!g5SMFyyi=`TD1>evcI2 zM%hJGy2o;gPxyG<%tHjOr`2@kP(&V&v-WuQDmLorbLt+R#hv_0BOMzmRU?UDMLVfp znV6guJiL6FSmK=Q^Yyrv^dYdIf;*JZlt)^L*`m;#U=IRS0He_fPjhGJjj`iSIOr9Z zm|_TpzvV^&@i|ROCP#i)Ir*gR2LkWMZC-xZwMQDiBn?Ikzagw#It=2dNEZ=UrhWzR-Ef5Vq< zyCMS$M|C;7@lF8ElcxzFsE-c~kwfdE>gTy*`u4ZK-EJF|()qVAj}LHi?*bxIc+%4w ze&b~@Nrv;V{Dv3r{ml3NtGpfXqkrKq{DuDyVy~&U0#2ID&a3`#w|pD7mp+I85&eDd zeb0M;(}wc~k%@3HHMAH-4abd?2Gw|Xz$G~PMr8Ff+#Z8Zzz=@#Lp)zb!2>JMRMEo5 z;4HW3Ywu1Rq&Fod)+f@tNC-&nVbuif1R&iQoUG!z5F2=}yjw&idv(26vh%~bK+-8Z z`796W%k&fXUa9M#GU8W(wuQx31`AN1pma-tazW=;7Y*IomYxSE9{kpZUr*BMUTNW5 z&S68FNbWYR3yLkFq3Kuk6LE}5tFfFQ0LE<_=hfRQ#1<6H zOn<$kxei0(&n+$g5URz+PTB|>V>wv(rA(eW9@`W`2ureFkH^_6xTQ%RILo`X?}5h6 zf0mV7|6TdmM?uK@Rl6*i2WU$<6y&7qn-wv7ue# ztzC|7D(fR<{ow0l;USy&L_fmQUU=0XEpxB>C^sIx_5bU>=X<{AKjtfcZT=0= z6TE|`1;b(V7$6YOsA`Bhev;>`SoJ%|Y)ctWmcQ}ezxIW!Uel{ZVRCLR-6n6SL8CX6 zyCW|t2dN9U%aAjiM|akb&TJym;9dl6h$11|clVjl{!7{x>AW0oaCZVbC7Gz2fSs(9 z6@T0cwC$3iy~TkoXltPawNGew``IQ^kV7!2iC}|@o4+VIFkkfF#ZKdX^1fSuXMs>| zPjvK6j8!O+MNU;Smp{bnBJXDaj3a3m+=@Al?y6PlehT*u{xL=$KPfuB@e5 zly;oT-)I*D32pU+Hf_HtfwqsHdMAip@34GhNkZnVAj*zpUKR(WbcQoPd#KN51f^1x zj46LJy|Ix{UAHImSkP=f$T@dBoJy@#&_8Uf)(ZeV<@s!8wqX zM_u>M7US<@@*6QzFi@KL$C$~dgUUkAUKD_!-sGbyL}Ic6GOTu=+5i>hupEw zfDYgJ%QKhBbwdQQK6XK4j-fPhI$+{m_3xtzwyM@GJoiX zqp?*Kscth%3W;cOaNhaOcYW^nfB*OYF$n(aVD}1LdetAVg|`6gNXOtizwO(;?YI8B zzvuV-N&Yv)o9o@@UHq(W)xp&9pg*-Aq@5+BT-+RCc7~r3p3S&nLSR@w531h#>1i~Ole() zSSBn_X<{@lN=nCoJx;4c@Cs)y{fAcQ<=?jKdLIK<`%JbtQuUN2&-1Yl= zuUzR@?mQ}aduhlNr#V8<+_#xNMO7S)X?Ys(nZx*so_meQaK%A{`0TyW50|E!zgX&t zW!jYt6#My%?~9=kQMYQN3q_3QOV$iR26{lWQAi5S>?5lei1e0}ov07|X<4goSMd*2 z%3iHGA80(zU@<(Y=kRmdqG(zM9Fq`sOe3yQ4{}hlo%+@FQsyQ zrDDg4`mW~DHr4}@HRtA0o`eDc6u-3cZw&oS*jD*V89?HbW8RX39?YTkm0-BpJYzcz z5>$>fNh}W?+8^bc0dIZV+joafJLbrvV&05!Vy{CU?6Go6g?SfuMuL%Q^WC5E?%(*H z_kQ+Y`=KBDLEj4axhcQ8&nKI&>L8saZ{zt{KlWok_T8WJxu5gf9?{-`aR)Gr#+U+U zyg0;Kw52up?jV}XL*6Dj%{fGV`u#t{4_y2_lancOvK%A={oo5SZCsr9isRUU-bDmp zE-b$CX+qt_0uXKP!*?2-Ul!SS8=|qrSXa2# zk54>r+R~mKxlZKWqO68pnRBU9r#zrtpDZUfAgskVCXd!YN^|n~bu#s(nF{L&*Dn&o zgBa6Hi7)qH$*%#y1fihk#*yr~^)Ef!*xhD+7Tpn{!Ecw=Q4maOcw%nx-ZuqAazio0 zZtUdS)s4d*P^UW+sF~;Tr|q1ypG5PZ(nGt%L%qZ)D}zpJ!=Tln02qqd;rA^bb7iC( zM?&1pDSvgT>hrN2WO*?cB03Jl)emDwTJ@21Wl)DUxf3f=TC_j4p_XR*`f7oqlnvpL zIH1irap9?}{Cy>Rv$-Ff*~O-6`Kph|b_YSbVAd01WuB9%g^p>XzOpf{pNuEiPxjNG z4GyTBv}-?WdA@hCr9DXXGnW~JH_SswSv32U zM*}DH@~I4viB5hL`$No&J+sL{cU_5s!S($GG1gtM)R(B62c>WRYTpYP9XdJe;@W;W zajCgpL76BOZ4BAW?)49J+I}tYJ@0;xT#i}I|3aXq*cm6~K`|Xec1)|(OX9QYgC?fO z$6vhv10VQ*^WpHXr}2|KU-fSVY%Ur5tMjm5z02_~fAoR>3H{p~7>)5WKpu0Y_8B+N zbCK}TN%->y!3$=ANwd5kn&ses5D9?A<(aDh(jHgOHCWKU^xW2MchdU zt-AR9fz#D;I4Okf$!-Onpi$0j*LeZje5ykvWMrc^AyxeuXk-#RBZI2ODk>#z$P*N`L;eQ4)lB^`3QPKbBv{ zYn)`)ByhAq))5Q_aPNm7cX5afF9ZNHFKU=q`=*OA2*poZ0c9WnTJKe63pq$U^;-@5 zW3jqy-(P3b>n;Ke$|Jz#dQBbSQPA2z+Y1nk8Y7H+Eh*F`6`z&IVI3U`(uY7g=?j-V$0>N~&M-vThccl_Sp`+L9g z_y7Li|6lO`r@a$!jyqaDN&iA-?A>wm7%HDcdcq)oo#7vzn_CVgwg zMy_WUo6R%|2yNz&8oUnRGbwgOKBt&Q4OoZg=DYToN-Yd3E64e9XIC0MuQc^L3B*%n{P z(GL3I+m8c9h3Z5AvZ93rMa>I^D+;qgBm3Z0-o80GPytcLz2WU7uH@Z@pR42t0mbWz zA}hm$0=^qOyxzh&cEoZsx?^GR81o^K2<+YJYa?(V!hey?!$vx@KmazJv-1W!2QTGMI zv0o~50T~bbJjD2pn}bgB8luq6ee0fB!6%%R)-FKI?X1Ep|KMm;5N*Xb7OO-h1T8ND zSijG|50@(=Xu}%r+@mVn=Ebwz5?h9 z7(<&#E@zm%5ZK>jl<4F*Q^Wch#mVLg^7An3^pW&!MYOc}hg49m7SIHijm;a|;{0v=Mpt z+`9p`(hr^i8>UzZW^cYj(ivliIltiKAE$>M*M9rv0>qkJ9cC`Xl7D!X zJcmrKY25yk^Vs?zJ~kwMXoG~CUk78335^eW4ywQ>Khd!req1f{JpSaUb;lm`ect7W z?5azMAl=Po`owhn+m#3gPY`Z;yJ$9Fp-w*_+Z+$S%QiH9jFWG34_bGl=D<}kyf)oc z(4%5VqDXsKo1gN$!0I^3Hm?&aW9i$z`F{9^Pl|dOckk@vt8w{uL07iN&cpPGtpap$=g(SVz~Ls0ARQA zS|e6(qsWUhL74!|y!pj4)hxW0DVZ$tuHR0VEelRA<<7)KuZ6TlW5)Mh_55&lH$m-n zz@|An&T9$2D$!2jG{HUOADy+OKiv{m%-r=`@2P}-e3Bqnq2)E$cf1)tTs{Ktp$w1LCTRhW9IOmk7#S_&1<~#+VCPSv*3)Jy1E7 z<%!p(AWC)FS6_mB6)bsn_eHXJo|T!L0Ub|=rH&MhD3VR>(vZibpaqZ8LYh2%4J$D% zRe7AL^f`{~j;s8VBd!pkg_{+8Q1ava)Qja>s;p=8$N+0DhuQO_ODj|^-2Jvd-Y-6M z(;}wlb9HZ@ocI7~yef%*n#;kAi#sdj3z__EQu+S6;~Rx!a8i5XNt3MO7gJJl<9Um{ z@dquBl{+@YL8_-v9ZX2s(OtNBlqO|01J^ZX0Z?RX3j2Hwb@+QRGkSMN^jXks9|tOC zL!S_V&4v3zMg?v9|5QHu;)5^qPlKKxV?U=n>c0f*A@j*9U;DLR`-i^yo4@%>;rrI{ zt8%YAJ@Cm=@F__*CU5<}=WqVazxf?s@fBb3du|jChNpmE*;3{XmM593`Ae7nYu}&w zsrLcy1odXumKU{}Y)zONXQ7aTHAcJd*=w&4gh}iEanlR-@v(`vi5rE0PXdV26v2u)>^k%Z#|>p#s5VcA7aE z=aypdO3GLEOtUbhaTrIQ$(N81E+ocC+fAfJl6>apa;02(jW-kBm6Z-qFxNJO-A2c6 znX_aTp2ccQ4u6O|HXvo^>eOs%DCdp_#_lF6C8~TMYs})D%0F{yVBN+wpP9k-vluhs zV(r*-jZ)>*h3!B-?y)CMc5~4@>Nc_EqxwdOzliNF_7pa*2Z<2;EJ7H6{+-q_emDB0 zjqM1PSM;>)81R_IP3|L~RS1Fop``+VW*ZOcr=d6xo2~$2; zP$6p8vQ7Ee?ZOB9eo#~Yowin#O&lEGGSYu3k4VH%2w~qQQus(^p4T4+4kij4 zpD4O9d&f@5?5yl=)rnW@Ipl82xbPb;$>KwP#t$GLbx57&mXgMC{>))K6qkm{j;Ib? z^(i+ulZFOhJgd-3sB#(7gDhz4Xsk_3Rpm?B!Lace{J(&=yoDF$VJXCs@T#voi+Ybw z6uK5K|CQxW{KP-|@4oUYzv`Qz{xnbD3V06oO5snz)}0=og0BCfF5A0(@b8cR@jw1` zU;gD^{_j3X*>CH+oj-9POfu@};)+whx=(nk`NJPCz5o48#7z{bTl8$RI5c5w4 ze4;Eo(Vg(&*g})`Ja(~yq3tM^^RE~)0)z5u7=QD#OZm{U7!9EzP!gN6+H%9ue2UO- zj#_Y~Ym=Ox%#1?rv}vOJKvr0TBd-M$-$h9`U9>f#eRZ_4S2e*&QVJqS;w6w*&_|Q6 z&d?zjx0ZQg(^os;i(NvOS1%eudcf&}_B=_n^wkgj+oo?DTNG^sV(AmP>eZFLQTLPH z=|-nYIp^e2#h)v$XJRP7O=|V}K|R%pr`zQyJ2Dy_*^SLf+I;crk@th18>85KI=3e1OH@zl(Z}W> z+HtIgC+D{|)bI>#Lvpd`;Q=e2=^cG9LX~KoU}O3`Ex(_^MAWhhMFKvB8;)0R*L?Or z`6vJ6|NdE@`B}gD_Wg#$&JK77=z^Da(r~Mk8^D+2@N}p?37nzZdr}|z(1)3MU^sx! zz!6~ol*Q|D4l$3qg@k>+nX2Yty0|d5n?Tl^e24AQv9{U@@o>@8uCs!jQ~YF_fy&WR zR1xg~zVG!*hJiwhIDB;}TDL6S0F>$u1+n<&+-zygZtQf-Rhvilu!KSVXcD&>VkbY5 z(-|W@o13k2Y2fAz!~0aVzJh~%zjM95N?Ah+I_+XX8MF)#N0_$@P!q3taq`OLb z#bE$$7$76eX))Y80wpIFcwTt%a<7sY+=zkYP}{hOfp&S74%`;A$#oH>ZR0;`ZDi>cAX;r_0#A*Oo_Vog>@e1B;C4p z%$XeO;b2)h{4QjDS!}}xbjM$H0Na2x8iIY11zL{O#Hi03IewC(oI;hWOjS>P=mKuJ zcKnRj*Xf)W4L6W;Y`#7G#3w(n`NlS5W164k?ZonAs;q~<(Sjjl)atS3oOis>OU{k( za^1HTPEH=Niy#iZ3~OIc?4rwHm~X~L4gS0_rZY+NVN7$O6i;$r42t;&%eMNhLvl_-Q~B$-`2;F0@W#xg=NWB?Pu}owlK8OCC6V^T}~^a6&s{L25q8LuPA?w${!t zGDmz(8e+ZuZSQ#TX`ki~_vzg^GV;iHa&n$qPx8n;aUkd;*yd|8;NbrUUw-+Y@xKCo zJ2bx)@T&T4fX%Rl`>B4m*Stb|=XZVAcm2;l>$A@0Z%1>;bb!^lG#U`{>~ssB9)~pf z+fGleC`xRIeE4TS%-8-t6jgG!glUDPD0M#^<^XqM?3Dt#PBb88ny-Dm;?dEdM$(1EjZXX37tLKW+-O^5#YVALbH=Vy z94+ebvYC^o9)Jr@VqoAgjc$t`T^FqOR-oE=+c4&$^7&+`oUY=$VH&&E^=zAj{wOca zSdit}hwyB8=<~dIT)^PAh{I0T7NQ2K741TCqoI;5Z|;0KXGUwG9Jp+j`p&=Is!nIBllV{ZB&?R0GA682s(egNYZDej8Dw_M`!87PTHc; z<7sPhE{$j&51&$r$2?e~$Sc-!e&e^cyc36k*{^t!PnLB~{B2OS+l2L*82fgJvFcb) ziXluDJWZOY8>1VavZb0t)wihkv&qP{K^_csa=#AJFEsT5V!lc!1;+!M@QWWC`v77F zi$yPV+}zBLJ!YhG_%kSuOHKSr7=!)^r}LER)PMG~JeBcHpPO%##TN#3^~{%UM4PPb z=Lb+=-F{ZZnTns+CY5XxYe-&j>vVeX^g%$%4}at%FFx`S?#e@mCY@R~Jn;}Ef&$R? zM>U2_kE5Nl$8PjS%8Pft>s_D!!$17r{-=;$bsq?93>WLC{>h$uEC0~pbHD!Uzy3cd zoYUbA00~H(u3ke8o)t2zJQWEy+@L?{O~zaBFMr_WXV5NA8>x2^*mR)vgD$AGd}U0! zL(v&ST{U*TGtI_pgt{;&$0VWcn7)HpG&`@`+0^e}LanX{YoAkZ8GsQav=&sIbdnVq zr<`U3NtdSW4iNGc(X&{UCsmNmXC{C0UR(&t$yXJv$~fKPppw`IAs)}J_$6US99eDj z@ob<2B^9xiJpRo${4L1k&IQz0B|&W#zRWDQ8~bP|>e0Ca_i1jURZ>jitX6)1bi&Pr%?c7p9wT@x?%s7`rg1y+7K> z);Eq9ZHv_$)31n>CPsYyQ%(au*3RBS0}BRfrmOLRa9;sMsJD=`XOc}&^PMX49;fTW zNJK;A@}-wv!n8UZ`e3;MC77)>jZfdqlJ@5$?UPGc94G2<(oXipi{JE{e)I49hHvJWNc}1^FdY~`zb!Z#*aPHj*eU5$>N;TB; zktJnK9J&AiKmbWZK~zC|Lehrh3`ti`yZ8<*zvS6ek{l_Y7-b6(6Sunr;&8O^4mCaf ze_CMl86i$CAXG}bWe;9e%AYN1)C?aAE-1~3R*R?l+Jn}Cov9#g<@gDPsWz7G-q
oHln=0H%<_dAWbc$;&XT`U@$<{IM2H*{zFTxzssj z!;vzdBu6wC>d^A73me+?8I~RZ?o*+wcgK{HMS`Kw#p2n9sd4J!Taj*H_W~d?baUjz zLm}yWhStArnC&i*O}KIaDNjQK=diWIu?8JN#mQCkr#PPU(niR5?f`f|hrdP|S9M)c zx8ljpDD$~koSVjHp7Lk-^`TY$B^R3ZBG9t@VR!vJz837)a#6>jb2ihbxSuXahr8fF zT3-vkNzf4MqEClSgtG;6QFC|ja zq3O=)fcksLJJ)w}?2w_9x3uy_BUi-u5~`-}HtzzS&XGm9do`jUeh9m<^LdKSQR0vq?fq;CaM@*ue43$oN_Q zLB-22@l_NT4+qPN#$1h^wjnr9w{!^C;Y7J(&dE2T!&`h>0nRILMLHO3-I378NT*Ie4Io9p!mnT?lv`#J@xJ@L;di0T2z?uLL_kf zG5#zaVfY5Ag~uZD@cZ}#FWb^fh?RqKoC+ofs>RQl9O9&$CS`ZvMf&(Tpuxlr^i|Fj{R?IaZ|Us=&+kn)W68oZ2A)rkjwc$v{>`7#}4E4ygA zI43tE=Qwi3RQcp9s49!FPhp<=bgbm8a<-kK_K|GUtOGw6djHMNIn z%wZizR9C^~fq(IHeEs?@Z+`QOH}T97WR{oXhh84P;?EUL(G2}ytuB6hNB(M#HugUK zGd}${yyG43_<#KH5C8CgkLs)97Xr<}r~2U<;BA@D{JVem@BZm8{-Q7bUEBDfY<$(p z2Dw2&Clj?-b#-h)&jyrqRVSoUICl`(_^F@zDPH~i>g5=45HY}997<^QVbs31DxqIB zeR6P7io4CjSL{%D$g_OJGpVHavc*NfI3#&;DNsi&O8v;U!wE~VmTh=@WpP6tL>ln4 z?-MCsfrhRXIUZ70Oyj;vxtwEL8T?U3FD^Hq_2<&Cqm_JW_fTF;HK?1k15s#4FRLR= zHuu2kRp=BJANBGvyf$=44zcBxCPGk5TTjNG`v`D2Ky}!ZmJJaezAR$p6dhSx(2tCT zA?5+~H0-+qg?If$&@tfn>Me%MAa$@Cdx(ovo=#o5hP8j()W|{C6C2_TUru?kT+*^j z>!g23#Q^`&C4eUb-ZA+Yp1o2v&-#G62p!s`@-z=?Oh$Qp(glt5e!QCH1{(Fzv>SQ( zm!E;fGYjw|UVG{wr2k>&e3<3IpxThNr_PhCw$j!Pjm>xXd2#I6Jniy71elkc0925v zh66L~+Yiq$7SLoLeV;aXURgTlbn(tS#ANCgY!G#Gm|^Kl%6gcGddm zhK&J!iXL{QF}&kDzT-Ro^)LFOFZws^@H+kkRDUYfVdvB3r<0q24hVP+6v{^(nGK97 zPv_&j@_+fo&$Ib^Bg}CVS3KnrYC@brw#9UE4z#3mP;8q{0O|K|K<>gKKWU|x2ny<2 zN9TB*k51O^2*UF{v|%f%5s2DAM%51QNjgCkgx4+D@-kXBV^Q-S9hyaqjF7tFVXWE> zSrhqXW~?Vd-9Hr6N#7PUKiu6$)|v)V z26H%tmGf{hR6l5l)a>GKD{FY>DG01pwV_ek=GKlPn zy(R+Q1yi(K1+NAEw50({v>h-4Cv16Gr>e~L4^kMaE9N21_o|gKKhvio-s3p+F!3Nk zWk**#E5$&yL2S&{h2%ssiWwc}_iUjlhO{uufo=3sR0nMBPK-L0?hq@@aJcKrVX>J zakL%IO*EyO0c#JQGn-5sZ9Z{gP~9Qbn9QH!41@-Hy(0Dkq?j)UW44VE2Kvo77e4;B zNyxBfd?yzztWq`^uNTvoj!u`|Xs9&J$eFR-ta@_~w^}iy96REV7Ty?V2!ADr;~#Z+Fu zHHKYv55@`zcjG{J-L4$iQ?0bVvLJgzUPJZu=VvMo~5 zOSi9n^m;z|IR))YX#?g~Z6CTidC)6ml}M)6$#e0+`vh5IEv`ns>^ienuf1SCUtGhV zp%nAZ+;Y{~*f9uJ|6tq&%n2kna@C&lY3#>%{vJLu9+_yoJ=yQQX0gIF#$8+%tQwk* zdH@bSmcpxx6hhQjyE=BdZT{+9lAMjn=8?DDXKNrvKfEK4!enW$ru=MV-#p6M1B}^j zBtUzzJQ#Ccf1jyvpfp;4+>5AO$@Vk==RN(yAhW9K zvvANo=87$q2*r~BR|H*Tri{`W|6l6fKGxqfuj@PeFf%)|>=U~zi@U7sf`FnBTponb ziVZ;%HL0ZvltKx$)@Vu-YicSI8WW<%+9rUBX-xdLCQS@6{fnfUwxQNmqBXU#JfjFG z3+&U(&g{%?U$58uy1(ZPyP7oa^fz;zbKm!MeIDMQhwF1)_x=5z?>T2o=ubcW%s+qc zd*AarKKjv*{t`m`4tQmu!Yi(w*?YzLt;0@dKl}gdfBmoj``-MmN+W7Bbx?3Z7PbWf`7)Hgf&y;lTyUAU}44cC61MqU(U~gB;I4)?1Obm>3aU#=B_{5k~QZ-Nz`k)ydHP!$d zYD0wZkN8ECP8NdBo+&~-g0&-DO?>0wAPJU{o7~LnKZ5cyEGm5C@!&fj8|sHn=o5#h z<8HbT6xSDZ64hB7vLa7ny3M(M9RVLeSN{e9wH)sTrBUT{X+DV|s5L7`2IxMS*e4N% z5bM|lRvi&NudlwE*2i@14^KK@`CN*fvw2Wn z*428KLqi;{3B$M9SJ#ID-H7ahu;(D#UiD2(eR$RWR{-Qo=k_j&YRai1pT3@^S05_F z_K|~^U4KCHfQDWFZ{wUeA`!j)mQx|t2By$ z$=ftDRoA>-gsz+Tcuu%79BSP(FZnXF!T#3&$5t?v4$`g^KNTy6V%qj5Zr_505&Tt9 z-Xz`p6~66ej(3x+Km~K-_Z66SyrCv9EzNH9-MaJ}Z1r61A?uU&!Ph^3QBJ~@3neFt zP&ZzD%$_%Y@zocA=BqRpon!Iz*{d>ch2Xbw5SLeft?hc%qxZ>~1AW4%KSs#Lv7;|S zSA^1xN4uQcOk%j@A_HSL5bZ+YM*za^m@ToyT&yCIKS62TR7Gdl-$ID&?{X`Xq>OwN z&CS6t5qH-9axspvz-7l0YEpu04cQa3aTE&@ZuExKCWlcs<}9J(wfV({)aK3F(x#Xl z_!sWv7rd+jfcPL@RLUH7e36!0+N^^QLNYLRo1bYp&^Nl{iR%-5J;QljQZX!ZP>v^Q zS2?p{xg7Y}(~!k>FscVh!kz1KaQQBnSjuqor9Wh@*w1&b>ML|>LyOdjvBF(AmC~Uy z!i4diHa4`yXDkJZZT+nVr#h!i2KkkjiJt86$>f~8@3$ougEIE!%pkcclpY#EIyC94gJvloo`2!_ zyJwz$M$X~YJHAK0wVhLxR8Yy+Cb6Qv57W&ep7VB79ADXMJ}m;<$N4wE z{=RABt9TuuYhkx3(sR*Q%i4CAr(nFr^yg?Z3Yd4Y3W?Oy-P>Jm_tW1E|9HR-s!bP0 zuXt5wp}MguA&e{bs>?PVSpw^Ng4)54bI7`W7P-E%SOFI+y^_yWH|g_$AlQDt{I*SL zUFkLqSG{3vO}k)5_w~}e(MKb}sccQgn>cFa>TstKQ5o~cQO?gh99b1cgKiA?(St`r z^p9ug6o(kdMimzgC9ekqr1tGbB&3@pKAO62kh%d4hA;zL(KCP zxK1z@*wFUpiFM2y0rZvF>JQ0ey~t|~@?(#j&JyC_a5L*+4l(}%V4i9RojqWY1BR}d z>I5iV5OVWPM;bC$?wfB(_+tk9fZQz>Z1$x+b()#<^*^pY)$M`#AP?1n*w&Eo*f&pCUok>4i&kCVj8W+O!+uVSJ$v3tmuz0wGqw#5 zwcMmC0u5ZD9?%zbtaKlL;_;_`=!bsrd!YC(fcK(@<`}**8rgeAHk1AMmwxG&zWvL- z?90BZS!-6IHo365D&({`skiAFZ`>nvr9f7~ou-GrH~)4%_^ne5xkaiXm3PCoAl**X zw~rh}+@_V;vqY4?s?d!&d0^bs9Ua-*;I@HjP21?q#c;HQq2r1+yrqc6wFN4hMRqps zybr>j4QU~yd1DhxOI}W1>q-z0EywHA^V=}wz~9D++yG>pjeB;sxrG1*9-M~{I^k}^ z5G~NfvAql0g|9TtT)ELpPahvHS$sF9E6QG7s#CB^Hwe@DG;88G0U^3Wwg~_drvBlT zxlDIZ()Ml7>?n*~jK@Z1+a!h_$&j7s`T}Lg4TvaA>i* zM8=L3Z*mN@+_nh3GWa@83c2!J^ra*c@}A4=^^Nn55dJFG&#% z?V%)vh+D2?16_sGv2?}Juj<5%=o@2mV@pQmbau6$kPdkin6%-}PxElVAf#eWFl4=I zuZN8w^cUqhgn8ss$gGSZgX7#>Q>Fe^kNQPIEoej`>_f|!AZ6vj988 z&B^rTefY!txE9u0Lf4>c57G4sLMx|Tz0os&lRF~#CilJX{rrFX>%ac%U(tUYXccqf zdWBq^A)mOO`mg`%|LPC(0l>HF_gRv5X`8&;*H2un~tBL=LfG z2;Ro08_KDwvbkYHbW@iKX{T->b@wV$4f!4f3SRnB(eW+y;i)c&@*s+>EWTTKTbS$Nv zDeZXg?_Db6N<*%=-XOeL$tO0L*FR!9!1=O#fU8;j5<_2P_K=Eyj>RyKwPUM?Ca6A8 zKfJMP(}$R_xN2j14{{5^{H{4K^wd#YBAuy1u>K+H-LCMP$}-LUT;KFJQI!v#K%sT5 zzL?MXv%LEbgAzOBodd*fw1<~pXML3YZo;~0wU}q9sM;^Cox(GE=TRG-bkvRvTXRls ztZU~}EV^Rlk1{8R`H><0HeZW%b1beP=$b#SuJhThD)KW123!ZaP-)RoL%nDc^?4vd z!s~*9Foq6u1RN{}^k3IMN-E+^mZ`;(n&UK-Twh_F`RyHoGN|&wCCWbEG zk3Ig_lYj9q{>ATw^NRf}z-I43ysv<+K0nU?YJSI;e(9I}2baH1sI%koaBiEi5jt-M zf1S{U^5A+f{NSH;wlW18`fYI?@ok9XU9W7$T5-0zAoR0m%kwxgoNK`l7QVH(kBr(r zWK@C~#)gZiP25dj#kq|US$#vv8)Hk&s=ihR6mNYl{sYBT1?8bB>WYhoey%%~E_PcU z@?yYLj;k!2uMSk-`VsdmG5tjr3bINU6=OF<#xmTHxLzOBdLWjL+I=Y|w8BDpYU8-@ z<=Y2)kVpS0st13nNTJ)Sw`8S`Z;thUfy*Rz<0%o2Ty%UVdJ{ZDSho}M%m5PY?NoHMS&^ke**u4EbYN;#p_{KK#*K%WX=If0Tfk~l zV6av}aj_X(V%NO&`H5~!$f9%IWPC6-kHV;@9oLKVWgP`?KZd9IZ@wkluKT$;u=Hy1 zoL?2iSX+#jqU!k<-`Hs7XVS_oeeeLe>={_n`d5@WjM5zHfldgA&fmyLs_0ptAWF|i zh2in7|MT0u!SU$I-D(q(x(61ulm;QsF|Fs1=J|#BfK9*V&*HJa@f4;${Tv8sI@y6$ z1nQ|GrjuclcL0?+C|s=}=f-ydc<1(C((dCq0`~w9G?cm+Cxvn!D1Y92KJWK_<2Qce z=R$o&{)ymM+5>>8_mlsx=imMQ$B#e$#GC2gH|OepzD9pI{#5*X?N91G{mj$-{Qn{2 zS{TvX4E=J!K&VeAliAvmRaU;un%$zCoHrl{aJaf5u#&cECEl9dx)lA;v=DLEZEV96 zX`YOyz25S5bGRX>?jlF@_^!5oDX+da^xgOpao?YI0vpU0bbwrTj;9Yz1zqq2Ke$Mo zj1$Uun$xbr#|Kjaxfs3DU~!6?uDe(ME9v(HlI^5?d6j*9lSaRTi~8m!(d-L!d_8j0 z6oYo~h9JO28)ZO}FRd%eU6mhB=OZO?8f4e3DWVyn;XOU zb|O1M$G+X;f0KFUad`5G+x)Acyr(c6(`kqHN;^tsY8&#EUl`yjH6416t#SQOmljW< ziA%YrHmRHaM2^jKQFcu{`{-J07ada8usI);hNwtIjFx?E^QCO1x&%4mfQNoR?oci> zvuEB_4^!ND=kfqo`f3t9#mv33F09jacqRrCBV?p?W23%jSAv2xd^|IB@&&{E9z9K5 zW~A@oM)e~ngjnL>hG@xg@nOK`Pa8I;i*k9o?DhyaLG{g-E-QFUiBMaV8mNOqj zvOffv=k}ve!gIo5df-nU`dDsB3S)cVi$Qs!)E^;_KYbwZ89xyC$?d?sn32(kq!&xw zMz;>{0=)LIC;t4O|MTC6*6TUEH+>SyL&TR`|CROtpubP>&wk$d+kWeB`}UVInSLtT zKP=%wsR~;mTa;H(y0H54ZSGSPS8Z7G@@&@vbwldyLoloNxT}|5xhpQu#jh^ka(iW# z(W97<5{%oy)T6KPSs3!_8h|*L!NjBuU!^0Wm;mu^Hy-d^Y+}j3-ogx1QI2tp*e+-N zS0OB^CmwxeXgn?4&IcHlvGkO$&}l^p=Hye4o3&K6!vUrt*^VdqEUP?S`4Q>R+-Q4O z1ReX@vV~LJ4m`#y5}0i?UJu)_(nlZ}#%gQ=Mw||eS{|W9IjeAFlhIGw3&z8BueQC} zZ!ArJ_I9WOM61I%v4;i)5?P$Esy}oz7G`IKLPHm2ch+p{FE_@yk;rAayh=Z6)iZr> z1VW`ACX)J<$q6qu;*NfJc_bWT43@)F`^UsgiG3MG&eGb=Cj$(;*#m~u^|0%RVJGqR zwVDKf`ud^>4_k+}JV6V8ehn7EgWn5)`Zoiy@CrQ{^N$O3ZLPxkIlczCtXY{HwYF?1-{n>z4d;ID6(ufRtHu(PrPn~CA}g? zSQu@1FF3owtIw;1N?%?1`a(yf##aZuHoa5)nLnpK#V;L|)K!(29jSpZ#DDB;qmVtG zI+-_kbq-b=CDLN;SJ@EMsk0!}5yOQiQm<;=xDA{n2Cpud!74Odhu&K!=4#&@ zfUW+qp(o)ZXALY53g{JA?V`{hI)Y~Q6jMu|#hHi74!e?2f;2c6X&k##DPr_!y(N~r z$ZBjEy6V#Dt2R;WMR0Lh71|Sx3w>kS@BCc;IDaZl^memio%CFmo#T0d>#JZlg$T~& zB8Ep`-BbbHo}#SwckaJGVsrB&jlMDA?s70*z93f=M|kz2#%a*6hpsZn*j#E%OuNOV zammr`(s4gDCVBdUCC$h?=9ruLp11(M)1|y#F(<-H5ciCt4IdtVZP4Eecq!X!Ui0e5 z|BFBMr~XT9yyD&kaBg2IO<$k*J-_GoeC}`l&A<8IdnuiMo?jt(`WgPf6N{`u!q{rg z!dwBi5cJ4}ND*H}e=9;ZfGsK(W~;ygKk}BU#S7>bnal2sm2qd1C(U!4iS(@{t362J z@W=k8zYl-U>n!S{hQkAZenSIl6X7b8X0%<8zhbWCMPjqX7*Q9U>#)U&&)cNc7*4Nh z==aHD7p~@!-@hXxwf|&UR~I$C6JsupZs8}WxaZHx^5)Pd2B?)K&mH2^`w-IaRhjf4t4## za#hNK+RBK8v$uQ%>uA3cxXUJ4j+GXNxzZNkv`n2Q3v?gp1^3e z#ylz~&zm@YEG}K&Z5m0`7-`o+7Te@PvyP#J>%)-btELk@ahaRkQ#c3&!EwI&pkQ{Z zDCEq)(VeEE<{TnlbDp3#FL1^i+k81zzi70fIZpzGVZMji(E8DiG6q%dLPeZGYWiw) zp(5&4noM+T6sUM3>7(-vjy0W-b|>Eo(ggf#Uli!0AAP!i7!=-1bb9x1{JekbJHPWg ze-rSpsCNOJnpZ+|T6^{XXa3Be`D2eg_LxsvFIn?fNKA|ir>g};A-ONO2rcGr?ojQ! zh$SzXNFwj^xQod`JoVYe(UZBt7Pz{}3FroLWZTpfkbfO#Gq?C*xgqP!HV2kKD`eL; zEAhnFcX+)5#w%ZGX-3p*LqlwK+*J4yN&}j(IlLak+j#Ur=aG?DjOJ>J=_%69)`V%$ z4Tc1{Nor$1>!z=dikMt|1yA{2$$`IpL=7$Nx-=c!=*Mp$?q2~0lg-@X)W(k!%?)F( zX$Ey{L)V{WgflPann!5i7&dVvVocp!huy2!70kSH9&bp~+1ywk#^U@PdnU(bn9h*~ zIJ{Km~)Ag2U7lEhr11J<*G^`aBB@Syu@ z&rjTw28dwM7eiFzu@2QJhcfU>|HpNXB+nEOg7V^gWj7(=o!;F7!j|HyL1OSEfxr?IPFw(G{us#?}cFieA~Uc~q-+ zWX?w@q1)F*WckijlcfSQ^LxBJJ{Y(f0&+#h7X;#3kBe@6*S623!@@7RhGpEUI&Ze- zRA%GdV8&Q5++-Ot1d~@y?YpN^#{w_lxSSog9;HEeq z+EXE!t-RJTKwLLHG+;m-b1p#8zmQ1=`u5=u{mVZPi1xpB4onQRLU-XAwN^{RW%dh?M>mx31s%s@y@h(-6C^k1i zt}O-&aa~K*Lf=AwYGHDb?@iccx@xxPij-#wH>y}$f#6DYvq&3z6}pnS;SG{L5H3rl zC+FA&tsl@3k=J5yMJn%VfYIg;DP&~Bh@aZ=7b=^L3(5`hven`Q&l{nb`L-Pz>*v+G zzH5u4INX`)Ykr%C$y&Z3-FLtPlX05}Y7+E8gPJU2Xv%F%z=Jcc19e_W#6g_w!OIBn z%h<0gOxVh+A)UUy8~34l4WEu5xODE_q|1x(GEO^NWfI+CTsO!7l!7dtUiB(QT@MY^ zAwq=qbLo;x?nTod9iZ=Il%M%<0VZ|B*=@qHZ8F;2VcW$@CW0fL!ubx>DL#H%%W@*{2U zAgDqAIx}b9xToY?j#FNp3lj>C^<4}6*w7^ntD?VLjlBme)eKa9Y&Z|)#&NR8PQI%% zAK->@VLDbaGsyZN?fOnT;?~1tz#;xjBH@?%9h~NyU`U?_WRd!ND3XguU(m6yMw^K) z1JGpo5R&zSjvnzSuAR8*tIoA|5yR5tr1C0=Pw=bU+t(F;soFc=^{(H^zoUOI_^+6E z0dDp7QYGcnfa@Il>i?-f{ipx*cfR(ukNG>7FIoHWN1onIl0sbVV4h0dh?2DETv%0| zEQ^g1MQh!{I_)gpLsQSz26=8c8Gs&79PPLOXl@K`EcCAjf!2mH6KFx`hm+`rrH&6S zlbgrExl%78nWpUQ%=B<9&Q+-eSVqUs!oT{`Xa1+)Z$xX+Au<3nL%=U%tG{|R3)a;;8 zzA~kbzNn9`vSM^IQjJ6Zv}s6^dLVEhntnn&UenRWrKp1VN6%QaC)>AIyxGaGp60Wx z1Evt)Dxdi`DxB;0__bo}h}>+W>>L%>aUoYgGTXkpb$hr&2-P;`;!;P=*1CrVJsM0O zJ&mnuYSMH_uaGgnniEGIy1n6UhnAFcFTWOwn&86KCo#f8fVoH%mb6?#b?X40^O3C! zyQ&e1HXF;1HR3$N!RO{AOvJ1OFnTyp#W_R92OQj?t=?1(`0OFoO0?qxZ2d|Iyw;Gp zu(=^gquZJ~Vy3SK!>Bihi83Pd)`T~0(4o&@LA9Gc6x(A5Xe77qTH z3;p%o7@OHOMlpPt-1HBjSWc}Z4A;MJkS2hdoe!_#L)|a!y8y3w^{Zd|pZ&={`JZF* z74vrimf>aY<$89eAOD=s`JB)EtzYt6zvZQL@>yQ}`ycK%xJhhTP@fH5U>14HgKGsZPuQ?eUrc7Er`n_uK)!8OJ;ZudZ^u3|V(O>& zx!oMKHQ~MLm(PK`UiO5qKP<8yIuezyGof)|u@#Ft3QRkrS6@E;HUt@}yOFg@9WN*5 zKsy#(DqPEp$iZ^bc?OOVSEBE0@i)-76UT&(eWhmveDXj)IE0E%X!LrE7nL4n!kT^$ zMd={Vm$}#T@~IzlD6eu$zV30%FR*nqX4wM6Sk%?$**8zgpg#-vqHh`qOFWt}LNb>o z({0ZmH-zJiL)N$$>1ikX4lkf%L7YIH6nHB8%FGLTN_#kNqsO*>S~s~nD<{?qYdYl( z?aN|R%&Z2re{3@Idts&#Vz&^qtvjBObPb&D4G-zlkToaaDb8&{eYs-DDLK|QTF82D zQ>QElB%M+Aj?QdDHFvox=J7AhVdR(EbV4DRY6zM)Zf{IizM31cY}!#FRIRg)^*j5= zrCC%II^HIqDr2a9tK&-Nda#Qt#NltBQuqh})LKL)J;xep;_;(BMw^nv_km)!91xp&$66Kg8esH?c2SyZ&%QMTTWd^Ey{;FuIvQt#~QO6`Er5R_xc`85hSQ zwUk?e7O=QhxENg&kjQtk?nB5^#E}n89qC&sE;APeW1BKZPM2G+f{ULMNyUf+(*CH1 zY;P*qQyh$oAFS{lf*XSu&NBdOv=b!UX>ZfrD4ggQPyIvX+QX6$A<8)R3r7-(;8-8` zYDbj(9NY=dykEG@3{rx5lr={1uNM=5{6^C?RrrzECvceh=o!& zgv0N~BF>RXOIhTkX#-=mWE^uCzj$74!)EM*0IdfSy3#M+@-P2^Eg1 zB{NE={$jY!@{Dm;1iJBXZMOha;DhClC$v0Yj$@1sO}Y$ihA6u+mWqc#f-*R64;<<# zD18{+Xy|J?A}kGrt6%sm$)<>LSK}83r z!r>hp))37wge-3m z%LyYhogjp*Llv;2{P9(hNkQxhl8b<7pL8iKaac;zS0Y7*A9?yy{YHTDpPu%_Bxv)bJe1xue}YgtRTnU zywFed)4eTYU=D4)A!bL%jse^^{P)CzZBt6({n1w?a^pA zfOL<<=IYo<31wmtZO#4w#jgpO%f4R0KfLs^$sqEr`Rrz6h>{oII6do(v&#OC%MDH*proGD!8YW83GIR7IOa4}&X-(~HH5TyJX-+WNaZ^R8qi-m`8_)f zphYaN^^dJ|flu5$|FP%!t$>H`0?3`5$p7*dN;Z?(@KcI^;TM15H^K1N)V+5t zZJ$!|(Gy)2FV|+`^zX^P@>l-KH@^8zZ+@>6%Z$(8>$*|r7iIcP&~0j8G+_@VEuc^I zM}MSVMU+Gfp%R2cIW_ia6E1j{yvB2ay&r)-kJ|Y>_Fj>o|ftW7!%ZuI1HyO$~VbY>=HGgVw z@{rlM?tI*j6rg4&k>XaaS3vrG`5Z7_a}{s?Tn4=^r#HWXGv3|0mo13L$*Kx`b3ISR z6+emQD7WArZ;zYW(dF4o9cOb@sPb{e3|(5YqKoPv0I=B@{(P60Wri8hPa7BCl{23` zJVHn$W%%gX^_fW9yQx?4$mtACY#l7vtta16kTy?_7<^%Rkcu>HX~idmn8rbkOCP3d zr~y2MtcRTzFz(!C$9U`^%i>e#n6tfTj z93fYn0~nP3?E_PiN;?eI=}qjuv{+Ba!FL45}Qap}9RiM^&Rjcaml>Jkp|mhwvYlcylj zp*{Q2XZrV%PO@vPH6^B-I$v%Jq70f(qC3&xE0?^(L(@-|h9}_A_Ie6KNI`CI?>Raf z+zlRDg{?V%0EQ7ap9=cSmNqT_DjZY#xCNlUc^VCg(2~xV@l>@ghckO_`;xV#ONr<= zhg!y(!m&_H1xvKx* zjdJje>LZKoq?yC3Ch|ELZ1(f-;cWv2Du1{>usdrO0&|V-Ra=DyH6>zrwf@NGD0lI| zXKZ}Oo25W``M3=Gc5|APWOE`<=QoZp2l(s*i1uxUO@Bk@4Q=Y9m~h1D7>^m&7uB+R z^!s2LRbjpmzAU%CFzQ?F>0PF>$KWDzb*=azys!uEIV^oyfqO;9x9_b*^%j&?a#BCL zA&qj*02vQo>03Kj^6@uaMO;Mvcm%$19I6Se$tg>3 z^ADv-2A8<^&ytp>c|Sc+HvEUy*6V%i6lDMikU;@xBa;E#l?cGZFt^fZG+9BY$Re}Nu@Zwxm_LY1CIKK1wj$FzEta`f-~k+ zU&YflXK0O}CeWro%5ajUbR<78aKyARXmF?8+-Y1(%@Ii!r~js?LWwqRWEz73)q_yd^Qw-% zNMDUa$zXX^@`ho5^^vW#v4!o`ylNupu$a?Twg)U&uKV^_eX?e}bn0xcLtY|FZ2lRN z9W9t}=hTOgK6@eEG1|JY&mRo?T9Z@TJPP&U4?WFUG!HGWIdZJu^2WXRSNsO)2Y>Jfzk%-cD}fgXq?b=K7cbZ5zx@4-f9DVUf&Ym4s6w_O>F%a!j+0jl z!HVVT)U9pmoI-mR)YUeP%HQ?#Api1Tm7{<-z6yco)3mKm-%@lfZtIr5pZH$UIrTfT zqz}r9!y(TFX?Y5oto}9}KH^7CiA!Itqp3hEHVbsOcv2EbP%v9mbQOQ~c_o#q3#yy* zywS>j){3BdeS3o61v^~V@Inymcn`X5INl7;LheBzReeWG<%D@<(U3E=+lTpFs@{;{ z^$J~hgUDHJbBF`gym@wBLsQ9olK-aXY}}euW^!omDPkMA^I#bAbuj<5!)rbawQ=b$ z_Cp{xugdRt*45?cq#^i*#FtID-N^7z$Gf}w2qV*zDxkUPN#I*^3it}FF|=+}y;P!) zF`@Qu$~Ml`zg`*7uG-GIK#&g(o_8Ra%cI6JbFwKeC@_7q*E)+^{PxA3yd(3nHk_E! zRD{G7uw*zL-!)nu6_=?3eRH6StD#)pJKr4a0bFV2l{vbXTx7Uc@`M*XdmEI`+}!*L zp}0slJo@={a;Sj$y#IUs3VUdft4Zv*su7xjV7&S<80SkB{my^+3W$672-vl`r>v2a z`m3ge3=f)k1$bdfFc-qfx2pmjVXH4X!ydjWrxIb<->ZFlwo=JeIb-tO00+a?#s*5e zq*Nd!SY!`YIC$$3IG&qhY-kNf*kL49P z>}s>Rl6Q`+NnC*Ge%$=phwr-p&-m9~%L4?PdY-xhh^$y^cEsUw@ejxG?YP|J%6|#` zZaBUR;Jxf++5D8^%dz#z|8M{HZ~rad`mNvkeI))h6!6GCJG@b(yCIg zjisFlyq7@l6L-J%YrjT?xY*8H`-ojn+G=mp6^@G6W~*L~4LX}k1%{W8*+gSOfr-<6Updl#zt$CBxx5{JJD4WG%&KV3r?I%f z?%|KV8<-*n4KEMeMZ;Cy`Ni}mRlwx6mY!T~Tj%sz*HJn5Ws?3l>uFgx0Iil8urB-#T|H$~TW%kUHDz_%44WGnX z93UO~F3Um1dD%$E)3LeUuu;kve^i41y;G3olRq=6txH!I7<^ox#ai8IA|-Ir5oh|ops>zu<>vTc9jhWM75skwg^%4m_2g40KS?i+ zBa>jk2sWa5)s|SxE4Z?9fU7Wxe&X)+uYc;Zc*pU7{Lvr%(VvIvC(LJr&da5_9$s#Z z^zG07{*gcON4|^6e9YV~cN9xAaKd(1*e%dCn^Y{5YB8WB|w(O(Vm21UDUqB?Fsf*LDJ-3O4R~j#Yd6%=YIh#CJ~Yi zem*E0@jysL-da~De9q0WIIiL2Pj(S$&qTTeAX;py>RXAEb+Ewr`12pXd$xB0lt?P$ z+S}Km$qe?MnuhZh%V3O+^N~w|C;V^wwr~5BkYBcc9@uhtxi$0n_&eV5j<@g!6@EYS zL{>SSNieaS#4=sRW!YRr6Fnv41c_$BBru#y{+XxwtAB1y|bvTop4nT z4?>mg7#q#{SqRD?e3oi;py|}kNqId|w+$|QtmqgUtIeWT>cYtmA{Mea5o$ML2bOx^ zXk4)hatG+z&J79jSNMZ#fN1 zF7;|cegLsfIA|g)J=5yZv|U9Xc__%wez*oEzQW1Kr;c#wvY`{VAA^X04&|2@@n&Dz zW&ymIqx;Zk411v0PXukz7-LV|2r255z98ULR>Dym8R+Gsc&=N=TQ`QoAVqE4N7w0z zCfxEqyF%VP*Aj=qlW)$U?dBhu(}@k7Ypt%t|udNfqFn1PRGCN2ywtkV7EAEH+ zy8!mhnN9zLaR4n?&eDu?F?of?QM~Z-i=fTMSeugcMOmi6wP--eJ zr4FabL{}FbDSKvGte27U0W(?m0UYcZ!zFw9qb`R!eHc^BhO^nGe$lu(m*#dFhv6_h zbmdRAeCR`8CP({SFPnMDzZK=G6Jcz_>hlYiZup%P>c|V_IkY#}d*77vm2_AA_1hs= zrC#7@$Y~oGJarP`ETE$<7d^`467+O>jc$hk06+jqL_t(&%4I-ZiAUc-eI@T-IXcq! zZOX$@qj)UhY;!e+gX`^~26;cLSKQf9o&!C5w+$0LDXqV0Hr_jDYAgr&E2eI!Gj}4Z zX7rNeiysA{t*@JP$l^`;KnxQN=l!Cke;ZFntTxOAkQMzf;%us%gA#6;5bDdTxWbn(?u~-`tAch)WI)?d{I~#uh-#l ziso*vI;MF!UFEZTK`0xWGkD9d2**3+W~}p{1|}04(R`X(G}s>?2w@@a0u9b_KFDhaj>+gt&C(&xp@HjxAm{%!+`%G ztk-dPZ&U1L(_W4b0DbuHE570@{-8yAzDd~nX3hdM|K@lJuP1AaIQFA-+I(4rBYxx~ zKKWUS;(^VvnUP{$Y3~4?Kw`hxMCGWhBZR^@(!w})(!cc?<($eBS0}$aX~m`j43!Vv z_^v1NB;+BWPxHe#&dNCg+dx;S#iFhBuCg^gzBGqTUVDJ$;2Z;HWFf0OthkD1s8%mJ3MLjt_HOZ+fh2WjPQ@F&oK^*0!PF$%zWHT#TlDRmTx{ zcBLA-%=`dI?mf=>m)&slVf1pvIC`j_AT()GWfFJph`c7mEr*I=P}$Od36+n@aptR8 znxEn=aZ!hS`7YqA?w;me5TJMqARFaa2R5=Je1~4FuRZ%B%PbPE2MT}r_w|2(;q_s_ zxsb%8KfN3u0G{ywD)YDh-)BOd4-25i#q|1hYw{hE)?T4o-1Z?wu3#p875m5dd;iaV z>^XtAV8rKWBlKp&@YVisUVu*U0<=KwjNF2NzvVibzWHN>d{7i2ZwZbsxMC6mISYEP zBpEA{kg^Ppjz$1&zi@NXYyOf8H>|Tf zA!?Py!`*P7T@dy-sZK8GHxZl9!7&z=uQmxB(DkvS6RN!)-~OMg3DSpFZzO@@2=_e z6$dOD(Tj8Z2p|cuUGFNctn4)AdSS>b*LI*@@^m)#d~(+wP=8j`NWUS@>6=bXwWU8) z<*;}Z5-GpXk#%mgtD12n7MSee`DTYdQr!xL9x(qY@VSri7Xm+)+-e5i1*BhMA6&6w zIllFzNJlC~M>c3U^X50d`Q6|1J>T=?5d4+ExhDH%&@6|SOEWQj`u{t=<2$~U4~?AC zhDtV#gK=|Dsa+9a{RE`a5lB7&{-&NEXYXdDecfS)%Q^!^uMhei?Y$CJP`>i_ zo&u>9S}Jz6qny}8rJ5YcECyfg8LP3Uf=rOpLhy{wRbDA)W?Y$mx#`%-OafpY5XIaa z$JeuS^VmyMnfX?}7~MQEugBT_hJ&u?KXC|0zj5ATM7sU%M)2{eSF$={U#I;pUidU0 z(yqCc?Yx%-`#$)H*A?Lt5R~RdGv+UB+4%|{I_9<;%tj0#=$&xN(VP!ABipiwCSr?8 z6+vK<_ZNNe4#V2&=fv`z1L0{4b$N(%=I6McH{}H1i%or#34s4(DA$~46>>IsZW!Fa z@(ps9yy8DH^LY*^qd-{@R_4t)6|XgQatPaZp-hB2w#18>arqU{WUt+RTOx5Yhu;~t za%ifdqFj4Hc~lA*W#M`B@BqbD4CtvZqP-r7CFlzmuRi#ii2mUd#IR(+Q>dJZV9^7b zp7}-4`EqQeep}N@B$G|ZIwB8QzvOk(E-6CJJAKfabA$-WPe+Mf*up^a zxQ&r%YNm7;W&WW$m}0%^Rp0bY-}J}myzKrz!2RmNyGPv2?c;BF!yDf8MPKwqzwgCU z@M6zag3v6irsRHdq&R=$9291%9+UBL{|XeJ{FGmz0pm^9M|KyB3$Ub69o3H$OjT*q zMcUJ}crx|anzicU>l23vU~VHw2Kj=ev2KI2X(34x*H74c zb#dh>4CVa5o||w~2y;U%@y|^L<8G3E^$BOevw(hp!z~l2x|l`WoRr1QUqt6hc>FXj z;{dA-jvIS_j7a=&#G2i1<_LZK_%si5Vh*0))gIy%hoCET>O^uoWubZ0&&9nN%=7W}NNNsJ4-4wK$rM|1i=(xo8!F>pdzE>!ULY-FV(SYy9L}}Ls)h+vIPtC2 z4bUeS?TN;$u3&xB&(4&pFB8DGc{Y(qFcx1zNsB%lvCdHMlw(}|738sJo=1T$|oN}^7ch@bJG$0svzn1JGrNDS{Tl_rT4%Gi&3A{(h)a7TW-0FYEz*~ z7P^~;UkDUGV6%IQPtiDZ_@1ZA>lFv^i$h3kLN6yrHvi47W7)#Ywb_-YU(u$kf4R+7 z`Pc&RZPQm*YjSp7(9k`4#RXwmb4w5t4o2G$;5Y}qBHs;zYq~{$fQS;}_6{Q!`OJs1 zYz*F1z0q}3%6DasFWv==A^Mda_&LfA61;rZH{{%07mI#sKv`)5>Mxi6*bdi>OvF-9 zL=VM~o6pWEg57{1U%cYiHNO-rrjwVcNB4oHn7tABRlf21@<}c>3{xjn4HZm%+5?U^ zUwGuoJhaiG*L8%j(*wYHGf+)=)5-2R!(A@USl_(m+geYz`pF%r8uTLYy5_!DX%J-P z_lgXGWoW)=Yxbq~Wj^VxF<<(rdEu=iI_9ExOyp&IcGX|Ks*jR7hp&IlF{kFT^?8`) zS7F;(SIJnrkU-_k;qn%zymw;A7*>CvNm-b1`XS$$=dNI zERN0ioByI0Q-6jbm|teGK1zrqdHfAfgTr=>?sxSiSvQ(Dmf4hGW$UUydl+&al*7`M zllqxNE@l|!NL-sSdSBnH&FA6}yrf}slG#yG>pLUD9OZtAu%?V-wROeYJ0Z}N?E%4n zW(usKJy zZDF*qk#OSMbm+K{swp%oHf1@YwP97g(46d?d{hMd{?x3mLLs`hT{t4zD* z>G+q6h_O8>eZaXoypiUV`PG7^+sMozeSOb2PaH`L?6)_+WaukLpYP(BBxCD?x-|xQ z*PO00loin#KkdjhPZ2M_G#G+_!%-dG{1AqgbTuHRI-@TR2S&#iIq!xS-N5&X%K_QAc@&vF9N<%1K9@A})?F=y(Z(;n8XUk|^H1{rTA%INb7 z3Ldn4PzqUicCNbCiRD}_H(2zro~hw7uvuS;WME_L_jf?J#v?b?GNAdRb-?`#pU$W1 zwmeC}Y28iT8Ishz>u|~09JDuyZ7c%luz}`}xmmx53u)+noV)(^KJ$`M4et;_En=;n z#j|m_9w@H;Rhe$y^20d^OIFflUpe~F-AjVhaQ;|*@;JRlnr7e96Dd#lH#Qy)HDakF>p9{zRe4c>G(w z=~Aq))GmxVrcD{Uv{eFP;eA$U>s8zJ8Gt{SNLdVtG8M7)#GwsNB@D z#R-e^1tim~hx=9=o_^VrY`(=FZJU`oXd#lWR}L|~7xc=*e9;%z(;k!-!^ik{)GzP> z)sOLkq^F;G=I$9bq^FQ|N6V9IG%j+b$3s^_VK${Kla+Y*K%C> zy3N74x#gs}D+&5%(?^{*CQjb5qI%xvR}3Wx=L67kLjQ!wm8_gRGy~1sawS7^rbPI3 zH=3S!Vx_a}XHR*QwASZ2#Nq2|^*0gs@u~uC<|n%c;;bikTc2X9k5k@E^#AfshaHR4 ziv(E-K$oXi%F{Qt=6+OYd3>%aqPk1+j=E7o({6<*tubfpkfvTScauw3%E^s3lSapf z1&mj>tmkf)$}6M4-sm-PG#Z3wU_nk6iFlf4{*5V8%En8JC{tfxJ7@C6)>i!CLMeBF z#Fu^i*Km4j&X^Imrj^w;tt|Ku+d~6{=-S&FuZEiw;k2*Pxr*aZFzdNZo(n!d!&-a& zQ%?;JRxNB!U7_5=9KLoh=186&QsutoGvD(0-~HX+{Utx}13$o@pS|N#=#ReX+|MH!iY)_8}y2*Q!vj(mL zw0uIkT`XWpo@n&}J4Ib#He7LDh05&#e>8A(Tsgi4c3S0rTO^Yiv|t=Ah)izrOS)XU z4>Ai_Ix;cbutu5Rb5%duL?x1p3wu~Dh^$}3l+0Ojbhas-7?r}I+&uls=5UL2XaJO4 zMq+W|G8-eEY_tkbpG&exBQqP*nXbMl+6lgx_C4?Fj@v)|X^xI;2~-OifQBI=jlmvp zW?@FJ{5xmj;t%Y-y8-V^r6!Wd52c6&TbEbq`7q*LAiK+(H?5~X`t+TDjq=w%@PWHu zegFHrx&P{~{p#HZKls5mA|C`^@NZR|)<(XG3tzmN?&X^!2W$REz$YGm{O)y6KFLGD z8}8onmbcu!<;`!t`^>k#m48<9CLRo)x_j!WCrOt&M~{m?^YzCB-OL;dXO6s<#~V?C zRGJZQw5$2EKGlPQzByOjaqCRgB{ltQkl5-ML1mp)>(;)_vAE$eUcb)${7g_uEw3Fn z+w`Fr@(aauB;u=~OIoq1FMo6?-B_5*TXr&SXx z?l_Gp>9hE(pgv%A7Sk5t3aRO%dqxer{Q_i(`D)L_VZQ>Tmvjo-9(DTK1Y}p5_<5f7 z;oY`TP^7DX94q4Xmal|ykmsSMMXJpVsX;?m9edIr#wYP=uC$})Wxf-9WKPmxsFJUZ zV;|ntU)<$O$%Ez1v;JkrMG_ixKuvRePluDO7O%FI6O;mZ=rP)MRAste-;0N^y#|~eBeWOzx@7R zx%3`_MA2Q5OUkmHx=To2>&S&sIz=x9V-v0Kt-|<&B>-)|De|+os z(yhQ$mYXXFzKdZ@CdD~(E=o{IIW$NP7q!=f&RSr&Cngy*GJ|mcyJAWs-_A?E_A?=t zB<6XhIrq&NdN(%+RfD2OabwQnh)pL1aiCRGm(7BbHlBtroJ&L<w^Xa;cIF!1Z%J<@qPoYI~EI2wH2`hgzqjvicb*-uilyK!%c;AM>Y} za^(0&fA1R19~H(vLSSWL#^`Ibq=c>XT=43yc<_wx(t#M-1LMun@%@S+sqimf$qVD- ziI&3bDkhA}Mt(Q8@La#kX*K7&f*8C?(*9?@^)v4td(79Q$G3Vf?jKT@%ZH2B_}3E; z^VyF+`@wg7&O7)O_q$)<@B?X@eq`-Y{|LaEa6ftCd%yR4zv7c`{`Xn@q@D!ZRX`&B zx;C8&_|}dh)md_IuY$T2kBpU)|LZ#aUK%PY&Uvz?ztRh+g}QP>BRS|Tj@fRp((OYp zz8chu3#ILfaRjd}6p*<_I%jY4?Zm=MgRgVf5k^{%%uIOhZ>p=jINWI?A{i42i2)#+)ITDl(A zZicgYJemk{w~iX~w|UcNQ4Zg@>>iB|eegqfANtUT?tc1beg>I4epmTTcc1;)@3?!{ zyWZ6U!Q0;UHhzroL_8Dx0(JWuV!G9GNM!?DAFiAaGlxgk1a{Zwiru{6G>#p-1=E}= z;N>u{3)iUC!Nu$b7JUzNw|Zo9&AaQTTIJe9;(=}Q@i9N3nZ22>x(4Usd3h4LqUvp<(|HKjCaUvvsU-Tr|imgt{zAU;E<#4HBS2zuBkWv<-h!wzwwX% z@jw3GL3)-$36Dq89`yr&LHE1=-|!9J@cU27ZrQjd(M9eg)|xc(CE=DfJD0#c`Jz|^ z&wP}h|5Ly%T68ym7Pm#?@{(u4U<IH)jK;J_}%7(ykGTCE$po}^+=q#Cx$i`NMWPi&+SXR+TOGf*Oxv3 zxmqYUFxp(qgA)qaG}wKmIFe}2X%h!S3l5$ z$v^(b|M>1rZ+z3;=lq6u+AIzIN?%{cLLbskRr0f$lhQffv(nVfd+SD)fO3FpIO7#g| zInhr>d|z^_!zvlCk=Hp)D&_}xv2yTrn8V9i?_yb!*NxOzYtV0d9RBR{EUNBHaHnPa z$f~kW(wm=h%2fvj#(DWQ=j!@m=YGFE?vNi#K?LKQwswZ4Z%siMWR@iMVNa8pUuMyu z`7T%XH=eV~i>Fheamm{B^h@g~``bc!fNXo7SLX&9?-if%#y2w60cr7OM%!yw=ep_{ z`VPUEllpe?rBeqCzxHdt_L~{~Fb98vkiYo-2-^ei9*Gyu!c!dYWV8I+Z+OFJyrY7H z;F2+UOXW!@^re|j5~MuVB{#mj=tue)e%AWI54?B-u1FAS`H3N-N-)|$&YfYbrD;AX zv!cqH0k;-6ZKQ zNCaTqXJDJxF`uo4;=<74-%4PR#Zra?BO~jc$yUv|R65IgV zM)l1m2R!uMY}&(Q2(Gv>E5d18_Gso}xw?6rA-z-GqrEPFw@Hd(oaHg+l?L2?iBW=< zNu%}Eqi6Fl9}CKL74r@BX}Qsv7WS>wNa9^Yk2o(8SJa8z}h{d4OCT9UpYWY1fuMorOSW z#EYj;et{*gx83RYP|U>j{~_dLA3E|PASrbCn|CPisz3CabL(1Z>V7wsRYCwcC6`JT zlh{IR9SMB@z*0pkgTXX_tZ)2vjA6E~dynDtYFT6EUxtor4_iJw7#pzJ_2$}(ko=(* z0Vu}&L`^$2V_59sf4o=VtSaPiz4au&K3QmgV37$^h3i9cTqx$v6cr^*BfJFknf@{D zWjth5f?$oDl_L|HQujWJreLus8Qw-hIJ6d5n}=}fOdIYO*539xpg?MUYNi}b$Jr80 zUo78wkm=2ldMA)K@(zIiDmY(J(>pG9%7uM1e9^SI0d!=d>-a@f*9Pg?=brsAKX&^H zM*f>%fA`R69!c}n_oHg&Nc&Iy*+2Vdzy9mK?%((hQ|!bw*(UBJuw+&VrjyaFkM>qa zc}{K;<~g3U5AmU@=RfYhR^f};QQabN67U7u0q9)YTC*H+=556Vg|%?loA*&MR6|dfhd6H@_ASY!0jg3(`l2~^g z{1A1*(CsP;p;sUx;rA?ysxLHzCO7>s)CvllIWWD@V5ALSV;A0jmMVrDmk%r8YoBXT zIBdKa)$>8;r+@ON?*5k_{n5L>_kaBFy{+!w7q7O=RW`7uLE3U74j5;*2ov6|_K)u- zz#Mq84s5%DF3!fD^u<)#m{xsa&fRpup9pdi z9H7^QZgxSKj8MiAuu+HHI!PC~Qn^?bj`P0Q^(1yMXP1h{KjPvE%n!%{2neTrua+3M zUkZ?Y$MhYZ?c=bnEK94FodET2A`cAKx0c@?0T58)YF zAijckfmC&=^T1~DTX$Tqo3Ym0c=W)R3#r_DB*f)s(P*2m7OM@CJRW0}&yLsV4wWCan?ePj=ImcL_F_ZLP0j7}dW7D?07M}#pB2sz@UWZz_`J
#lDY}^pdJKxFXyfK+a@g#RP0v$UKN&0^ly0_fvc_{aXl+znet$ z;%5THM_i3^;gwFggJIVba@)L*>@K(b-<$|&^J_QPnk4(skN-1u497_^yO%vFAsjJX zy>1|+J%8PBrTam}fAo+3@4KJ+>7TlL_q#s#?zesEm)(8-d)|BZDpqhg1PMt`$=mhl zj}AEp&RMap>h=yo8qpP2sw*!oH|3a4m`nTbCBV@KOAa@zFi zoOt$lZfwRS9T{z(yk0hn1-b&`4Xk^CR2MHcUf?%yp8wbjcdvadw@8hlqLv9W9T)LF z`U%Lp*75Bj0RTlB@&iwkt=heb0l3IGYg?Tg-i;HEr)(oo7|KHP=~~Tg zNcHafCl;-&3BLX?@-ls`IhsfF_=;`x*-87s0#+$G7{viR}ht zM<40jHn+wH)4b9yF*mn)$Q4`JS2wfDYR8Ka(D-Axq^`v7`+>SOdF+FIr`1l zFa6R#zx%Nt`?0&9`0*d_clE86>O~t1A`=g5Bj8byDMOLUf9}n13}FXb;53)&Jcwzz zJ^IEain8k|y&&!lLO5|CUj)aVf?H!(jvOm}AjCSY_B(W|lRoOt6-%#LS#gZLQS??nSMlAX%}u_}rRZ5feszc5 znfpk9>|y1yCJ;?#pawo(g#0`_a1_a=4-k&3ef>3Gqd_uk*yOWZDQRwH+}r7uu+B%u zW_^Kp=qxGFri8?qYpm42jJR)T))sBH^d>p%P4wQ5HSHsayWXXmyU?5yHDNUeUK@Ck z6YRl~6Y1m<+}qFV_4~xIeU>5Pg+Kkk(DBB5-Mr=W(9qeD*n4;v$5{N!t0gmE=EQX) zUrwRX(gfS<##6`-2$#+YqB@#fvxSLQ@gsmI@7~DgVQhs1T6he$r$C3&ckZG)bLn_8 zW}EbRAO^qx_v~{Y`RsS}+W?RB#{iG&M*ya&xBtKY&;7Y?_}Z`inr~Z%%A)CN*v7BhD*-w( z^I;Y|JHGexSiN-EjEy>b;hzm;2|^g2n4M-LJD2zHP|q({@)n>#(ndd?A?WzzJ^>X+ z6Xe=dvN?|mtq>g}E0#+07vFdl;u{DG8mU5lwFx3`^P;ZJ%Qkzj$1{i@`Oru1{@#!M zy}Q5lxBgZi@O$3BDceouQ(gmnC+Ah}G0HVgWAh|eUk_oqyA6q^ zzCLUY2c$SOfU|tbFtF=sW@0cGw|An9O?VcnxAp_iJ$z*{+7WT-|Vjt zJ~>QctPZq8%T9BC`oe<|ev`63^1Lu1*2KgDjao*dUKJq7bCoIav+yet> zxZ1mLA@nx+!BNh4+nQU20ZI43+Rvvj6c|5Tv7~THUzw{Ol+(J*yio7Z9iFp&!;X+GqcsLw_PItoxnKVv1vE^RH`M3FlfJQ)cXjN8XP&%5Pn(mx zMl!Uo3*fxK+I~HMNNc_*F$|^V1?L8b!sW7GUc|}%WdVUH_|C%P{Lh=8{ox<};r|n< zNA_cYNBJXw9svH$ulu^+YcidJGmZ33hP<;7?32Pl1Ve$*bi%XJyMPI>X_Ny>zPBDe05JHU_9P*WI@_v4IP|zJZfHfN4HvFDRp=EGrax%zy6)S(~UoGJe_2o7se8hRa#s3 zh>}*Hu#{*VKql{V2E*LLY90>O2{@jpm$#xBwbJ*Pjv`4_0N#;O^lGu@ZKPlvBMWc3 zjYNsohyK9YXC?Rq6F>I&yMOn8yZgzX{>i(q{;IFO`{FP9!n@Zz_BgV8tNUioN#OgM z-vLU(3XV_CxQ{<4uX?c()Tb*JZ;E?(YyM8YhOzZ6pyRw?-h1eDGG{Sfk!cUyJn)r0 zxW-z%ireyi6kP~eaP`nH7xoV?*G=Fg=fjDAI&!KkJ14KlW-iEEjm{tH5Kwc<`Q%93 zjau8{y6=>uq5}gLdP^IgKKgNUm%*YX03G&nToFyT5G}6uu?00J^_61@IzFA@IAu|Z zS7TV1UK-|wK4@+BD)=huv((8=3l`Jn} zv*0sVL4iL}Wa)hTg;(_#H~p)cNkH3!CRYup*Sy+?8ID~$Rd%#`0^_gyrCnos-}~P8 zP4xVAz(@9DfPB%P|DT(6_!R#j;axxV(?9(`^H$5-ob4;QCbFk46J{du^0xR*UwkK2 z_ZckTg^+ywySrcg)nDQFu%9*8H<5{2XcUf>SersTjP-Olfd`74&@3kIc+uqry>lGeKTez6Z08wylKT;JxUHX0kz=}8W8NCR-PJ3wRvZxt|HKd8_w$9{u(v!_nLFQ&GR<1S!?$d8oP`T z5*%B{iUl8OYbhQ3yODB~h+5+r`7yG_UeqJ;fp?AC)=uX9S!Zpx-G2M_j-Pw`cFon- z&NyYj7%zOw7;BzsjLmqr`;L(mh8Hgwqx~zf%JD+6taS)L)^Tk2!U_P!bbzeubiZEM zbyL|Ob+BV9YfFrHqiTH2!UM+>5wytAZ(7o-^SeFsTM0xBwd*;UU^}1Eh@PkLH85aC zuh^+0>?&uhvIsRpI}M~Lv~0#1_~Z1DkcC~G6Lg}<{qUp$Zgb*3=)izE_Vgk6Nfn<9 zF!}f=24>?sgN4Bq|9eLs=7ik0Sd{Ee2;e7#BNV~B*9@vUa_r_&J zM6g@T3$#TDoHp&}pkCKMAx;DEAA`6jm zGxQ7?e!ACS*9`?qePiCh(`SVM7=PCo3YzWCIAb^UVrfnb3lF#A7Y0)9yYK$(?z=y; zedV9NlHcinHWYFVKtc2$!I6j6ARtab^w4Z)5khZsjsWgCtQqq+^4&;{zKUt;gF@*n zKSb42Eekt7s2DtGz*ed`g>d2tXOu=(g+&Sga{-@RzuA?)m(NDrlixo$KR+V$va7Di z6iL2A_pJkbOKiC6sHWiwXYg|2d`F)mhpzX@Njj)OG%YbgpOm+M;MocjJB*u> z2-zx1^A~KWkueTLC=ppY)M)5)e0u)b=eLV5=Kp)96i%H{)FIq=I-tMsL>lZ4?&yJa zMqVj9`<&ZuyY0R|_=7+AnY|4#BfO$}$!abDE_m0w-t`ejB*|FM_*Q=Lgh8|R*aWxP zL25P`Oa{I3U;GC>_lbR89C9Vm2!PYNJV<`*`6#=tHS=ej{n?FPey1WRQ^ zvVejSTTEgn7?-E9r!P`4!Lyp+hzh%{Rx=D>=3WlRmVQ4teMtzUQPI>rK^g*lSgb|~ z$hzgY;CcD%crojD6j0Oi$rbx8#jjX#a^7>u#(_ytnOwroBbL;UN_u+TMeV5gZ22}w9jVn$Y86wEbw036j+ZU_XEe&-%Q zeElbJ=+|@Gm%jX^?GOL(54U^r6*w^VSjic<;89Q&H8r#x7)nUip;eU3z&I-DmIo(% zL6He{@z7TYesx8e_J|Isoca)k_P`l^vxt-4@rP!Q_*xeIM&$58N3LSFdk8^V^MMq( z`(b`^`%{1X$J=NA^zQBPA3f@P(F)*T#Sm&u))8)uIoD$ddk8!Cf~oN+adBp*nBo%$ zlK6(N8BT4`0Rv05br6z+Aaen{2ogI}v@f+|r?&a#iC-H`pVOVXDx^&u_=GZLbg-vC zLxbz*Llo)S^cp?#+`wIh%M)=Eb7A?dg~}}%pRq@U*eJM@W0p6uMt?cLQ*?MSNkzWg zgZNzlW$;twV$ci&9;=x@5qfbICVQ>#k3i`;V zLS$XoVOIgzv6U)$@VLtc#CF`Q{eJ zi+)bzl@6bY8qiu{MPMW|jKwySxQm0+pUYVyNW3xdt1zUX&wJ2mU0 zu~#^lNc5pkS;PU+k6wTPjKA1R+YN*TI`;Qmf-Q3E?0V=h`}K_$eTZrFW!UC{*&>gH z77*jZCpJk_LJpEq@dN=jd~7BkEKFk0gC+oMx=WnJMr>TC@L7$DVm z3a{oSmk^|nopwueqJ^-0h#)!U!tL37jp~bE_~Q15fAmM&1NVQsV;^~ZtQ~-vPoZ_f z3F8>0&sd_=*pbb=SaRw0A|1Mt!R^{HN5rHGy{v)ox_+W3Aag4MX*1tK1qSByQzMsq z-*!VE0c4spbU0by5ILvZ{|x+0SwL=wI9=$VM{ z>0?D7(xiZ^y|js+eB&ZF=Xb5RVGnDj-b^^bZ0@%^{Y;Q4Ni3+qExy z*&9OQ+i;u{3zo)9Rely%9SqNfzw#@;a>pk=@rnPFn9W5F%q+ubYKx;k%z~m)L1RLA%slNmj;m;l*-c$H;+vDscAET1`E4Dhsr5& z=`$ahSWZ^yaOM^|94YZ1{o05Q{o#q_BCh<(*@|;bO!PtX`?p!7$az8(JKNeU4rK7u zq7Y`eC@4pJVft*GGdm~y^t-{(#WLW~asVIN-Y1XP4&Q7jy~kIu(3G#AD0n#nTyBg* zF9L#4Q}st3WTF=X+HVgE49nUOj7#5L=QxymG6TR0 zd3gt}yL@WK-gT8Z<4jRqY9NIpQ4X_$hYOY&CVQnjmTP8DgXzFM>d^@G1qa2AzA%ERr?WyOhkm-to15j7au@+T7 zo0BVUV?Y&~uyWAs$kzpI;YWJ81IdF=^|QX$ezn%>N;Q!g3o;XL)b!tZk@ngFLiJ9t z${-h8e6^MNOP(qM_unhStLTYB=)b6(bN1QiXP^1=&wcK5_k{J5e;a_TzLbRwaM5vI zPX2e9<%}i+%wY{k2@olA+noNIj7P-1iF9AG=}#=1a%VbIp%ccF1?^Crd@N3SOuPsk zEOI4Uf>+VBne>t0Hw{415QF)VwlwFsSJU93?@NVXC^Hii4Rkq4r_QMlN z$S{GF#oyr5m7n9{g$_fc!c7S2MAvX!35^#TL_|f49sKFbZSV-EK58@sH!}3%qSpl7 zNibX#i8P}ZA6a*Z)533jZUo`PUKf_ZD2tLh+TtZpdU_EGD&+%aKQwSwM^hLI!8V6! z)ON&^FJU>!mzh88`Ofx7|Lwo!FFU`kf*S{piv?Z^{lT&iZ|BRHK5cwn{Nbg$Lmo)u zK?u?c$gz0?WQzPF#gG~LmZ2ZBkJ}1~I(8tWA0rhzQCO(+<4NescfL5U;~W=N zpUztXfBjc~y}giES=RbP)RSFs7z^i}{-n)(54?KnBR+ z^xHlFAQ74dzyl?+%+VC-juU+_d2}9|Se)QlF1Iv!c8Vlz=S_H={2XcdGNeT+x1Jh% z0UJehv$h#CU&@yNVv8{|H*>26{3+5}74(csHS&aE?)cq(hF7vy>BRsV6p-VWVU~uM zK6}S0_94W?OdDSsEL1de3knBv5gzjWN$3#MaqF6VhXs0$VMJDKe9gmgV;ly#b5lz|1H&dd2nuA(rKRlax_g&zp+>#ID)+3 z)>q&9^FNixqtx!HIw2h$@SXSXxXhn9Aj3p=aMNN6x~VX8gDHm1O4c>0ZH|l^1e3r; z$;#DI!G{42BiB``T<~(uDOYr zys)@v_q{!}V;|h;W6z5QAn6$cnrUJmd2PeRMjpx`(YC(2TRF61sYG7AioXORa z7D{EfnsbO~WNKXTMC4WD_%R{I|9C;Wv_x=+2cd&ML6;7hIOVAi}!#aUc zt8*-8VKD+HmKXPjy8=2XdofQ$vZwq($vKi-K9%=T|KczIa=ZIa|I9yIA!GQ@9PV&3 zUXw=#hIv6>CMO!Wxm zhe#YYxS&YkoU;2V<@j*q>@j&1igg0xgiii}^Bp0q&jE~gCy1Q3PNO?*@IM7iaOYfe z%{7<3{JNLF<)^qOBTR0~>Y$%YY|$9R{MkafGikHffbc5TiOgmq8{%P57cI521Lz5g z37tL@xD#s$$3_{cX|w~^c4)R!FH?wha~bLM@ww=9s@rEM(Gz#cpbI}GI%~4`oQLg@ zSs2(gR>i7=e88bwQrVJTKg;8K9qd(i=hQ5RbeqdM;)obrFt9z(LTU{gyP?`u4gXlQ z@M0|we9?z<{ax(?(xHXUiM^8% zid@N`l3vV{)|_;BRqFXX`~Tt>zmT_BKE3hP%8mu6L*@fx94{lvg|WPJIgeG2S=k#x z%ueSEu0)`1I*IEnM5H~uW+|sk?AT2ItplM-_ zP@#Zb51j8If=h8NS&#jwuOZ&o1)_Oie=Qpf^m75x!=y2$X0k^Jnt4+4R|UW^fJg#e zi;agk^MH=NE=(Iyvz&(OHvu-!jAdbzfgj~kK|zc8L~9QCL{ESFs`6n^KOiNHqMK+DUqPTkw+cQH~!^cazgr(?XjGYv|Ph5tGF9ZpHi?xLw<#ikIEh&!oucfIU#(F}5 zSJ?L1eCU-QoCM<9h%;+%m{egTc(Edn`L)`?8uj(LjCzBSJfeptHa&6sjGBb)L5Qm? zabzqQAM>UTqVY2T&0zP7#wEP=F{ZhYunAEU27BNj2b+ZVKSIV24KiMp^~hn^sT z=e+D>b5a}zoV2cI8RWPN7f)139f6L&O;=@D`-EiD>$pJOcvw*>y+FvsWyP!=X_r?b zhiac78+)L#;q-a}2SQ;npvGdrzpm8!jCr~6YMXV%%Y%s3N_l=jSqqUP%+(IQ&$Q^{ zGaO9=jz_)m-kRJTTu_npT6yW9hkTgGQTk^&Sc+~yNeAy!h`PYiBThi0uJ3#f!Vb2< zk8Pjj2vDC^?)b(g@#<9gc-hZU7zs`|tfS?a^h1F7+t|MT^{;K8&dLAr#~;@le6O?h z$^MKXZXbl?^gtL>%+H>?MP1C)fE>w-0DC}$zd0mw&xYiOEhm0ouFbQ#)<{?5to#$- zS^3eOv+_qJY)WUHwKheeLYSy+sVC)GGN zmjcp2*D+%Th`7;Pk6?xDC)xG3{(B5|SP{%PrwtN)VloyKE$N#hY!kx*C(o4+gf@FZ z2(@OEM+V=;M*w|ksfo{$TKXsgFik(}pjh)zay)U+LQ^nV1$*TkV=2vf>R4AV`Qg<= zy)nTtqbcag9Xe`;?!`oML~ILJfhd@pdcu(~s=sKA1Gz^wyvXE-dj|Q`SGT?4whsiA zpB#KCpOpL6gHs>P$q`AtU;oR?9r^m-=_$`V^K>UT@EJ9~qLPN6O3h%h09Z`SH3pp7 zgJb=G9>Yvw_C+F-gz;zU@jg2*t+@f9wyspE*=&R2NnA8x(_&IW4-~diTq8g^vBGdw zg@>(lSqzAx3xN*EK zxU3@v9(5GSHx+pbeT^};fyEn+-~6|4ZFhg>?(K;ua`HbxZZH7R;T<+wr4fcsqNmi< zV`J&TtJV7CW)h;Qh%CAG4vjG&rnK>gPaR*B2fwd>K_2`y>3Qd#znyd5dHFlhUI1k3 zxnI8U!gKlB-LrY?>*;J#Pj62?`Na0)AM;AslZh|w{9JGIFy7Q`Xk&l*8M_8_+)rCS zNxtIb6dw_SkdDoji;_$15edbI*tlQV{_UIJ+CKHEPj4Um&gKm}Ouv|D^HttGdJfw{w{NQB9SLuic zL>7b z%sfr@!+1{q5srcDK~HtVPBvGK30@oH#7O(6$q zBzAoj+g9l0H3V{jFG%O0IeHM>XuC#_{pz|UaII*=L+#tm^&E@Z6d^o zrS6`Ly~;JNSV-430k+au!bkS^TmbmiGR(%4#wja#Tm1OzfX@VYyf|ehP71^c`K2mk z?c87f;lfBU6j$_}Fx%a+%w$I%CCma71$;;(zSYtYMJks6qIr{YJfib|srz2&rk%c2b zY6^MYOR*OUqId@GC6`>ZU3ukI+Z9(`v0Zh=)!XHlU$$Lx>80Dn7v&=0{0q0UGWRAE z=8w${oc>4*Cm~ERar%nEleqwR^2bkXkNoII+oO*>vi%@G&hvwZf3Q9L@b|aJf6T9r z);1XRCr4cuNWP$OLn0NP6EsX%wWt~*P0XO3NME--ocscUwzu;nW_4m zgSAc{@PdkYeZal+dvXnRM48XY%)*ks-^KcL%MC%43mHq=b^`l;XKGhHS=Nte|*1qREEi!c03y3%P*Lyl52 z4c)bzx@*zED+@2!&u89xvY*Ld6)}9`gzJ+r@&IfMvlIJ?f1HSZ_t@E=qwJXDGs8+D z**Fyvm>imOWFg`=!RWbm95>)m3m+CVU%3QZ(a8lI_#r>{+zZ>&Pd~HeC+x9wN=yE9 z=<;9x^Saq7*vLKAI!|M{X;5D znhY=}MP>?%mr2uw$mE0C3E&AdVxz)53g0P)Ms&JRQSv0Sa9DUDbRMx`6c?*ZqUB$0 zg*VR@nBq0U4CWpl3j(0D*Q92)@{({TagHpCaln&-hC|B@+1kTe7ZH6=?6D`dvs>xN zCVKFY$%E(%7oS)q>9{Ns2#dA-up&$t<_<-Dq)G>TwSpBtxxg__tfbkoiOnqJUbta{ zGJc?s6BHM7?RA4KJ&~wGj%>t!plzFfeRxivAA0D)oc#YZzgG9d+8b=VM3=DI1RKA` zAG`Qee|qvMuPQk%`*kAvD5VVMsFoJiMfr)*>#x6lyZ*ZCx2s=vO`Zi`nZF;sIBH;_ zjXvX)%qBm?`Fy^ToQJ0YB;!d~D}oEXbsZSQPkGJboaD6o#EOfgFBEAHek2R8}8BFG>Ii zn|N}e0Eyyy%)){W9*b<9u)JuEzUUf6xjC_p2Id<_{ElIN*k^PI4NNa!Fb_W!Gl+ch zrn_-5_f}fMp}5YF!Cr3WM<0Sfj8wUS4=yn?e=WAL#XbfFixhlJJDu)(=mbMT*uh2T zSRNh};-pbOilZNKq^$a&EPf(_lM9=g;s8Le_r$%1N2Jhs8{l+Y0AT)OANyZEkqdy& zrOCOHgpFfqou=|qT>#)dL0xd`t+&4OG{xd~H9I3Z8O&b>m$7#8xEfeZr8zmmgDVXw zCv`nE`?GMRWJWOgGcQtiva$%A!b~iUM~kaU6k^9Z3f9tG$BwSuC5w0-o#d&335B|J znSmZm0K>3SU``Z>rSE1af5neGYav7y|5YBK(L>oSF|sa*&@KAOG6)@39+s%PP^YU$ z=*BZICc?*p_L9q9$RHdU_AHtl;*7jS z?9m@>cYpS7f3Mz?9X?RPC#%J(4o-pAI{Yx#iJ)}!WUC8CF(KD)bw(H(F(P-}b=PgL ze)X%j8*aQYf0}dEcHVgxMmG|O%!A~3g6CoqU&3(1%t?TYE#Xq((-V0$;Nd(2zc;^o@Ne6L4}KR&ae?2X$Da^tGE@g7 zJ#1AlJ`?*W143uyda{s-z$nqcFZW`{=U>0^jqOkK0ju|a-~+zx!P^?(0Oj}!Sse6C zR2Sl$e6p15O2IpotHdDSafI{27~Jv_3k_|hRBf-o-% zhG?IpSH5x4?!^m!Vbyg)9LZt1v7vDG@zkBm5!~(4j{N9%yqcxqfEU0K5-mW2Hl1b z46U0cGvzRwBNH}#aXQhYMV|S@Wc3O%V)U6a(&C-{0zi%cGzApq`I*nyz)}@2U~wGW zfZ(T7uZF|V!h{~FNXNBai0G%JSr9s)(9Y68tw?hN(Yea8x(pwSp}Qg2jt?4?Se_ox zkGByvhICn|?8oeeP>l+@CJ-K5sbZ}XVnYv;wqWEd6k?@T5}6b*CNI?BEUfCbhoI>U z9v_C|rN*Z+H~#F;|7^SWo_hgNTsd0UO{oq>D8<($1oR2|vN*O>3X??9wpJbCVn&Bo zH(vS58@JnUf5Ud;O*iG4{v|;zI&V{TJn82_?8aA2+ZiBU>G9?6NbxL9a~N?0uWY@~ zyoM}X#)ZL6fp^C9oLJAy=L#;|Zn*x!?fM(y(`|3q?t9?=?JHmTO8)Bj-r&X?Ly2Bh z)rTks14BtQts`F+tK(=miV_oz!6cqEokLlF*!${Nzq*}w{sr6n?s{K7=P>I;--~6A zBBx6z6XYsu-pOxnFwi`r89jsI`9Aj6%mOD|PN0!#gvfTi?GeV7u8;$Kk7VPCI(7m9 zd@YSrjH8nD@c`es9l0Lcyb73fhzLpi*xC2}V;5K9((+lZkH#@L000<7^%9Qv$Jc8;up5h+f3 z+5p!l4q$+bQA9!yZ|y-P_7$Fk|B-hgR9E|GkppyxfTg+)W=iZx&=7s^Hu#(kAFf^B zXhHl`l}j(X^u}Nv|17XBo+|v4;k;CzIP}^7CqMbgJ3jvLkN+QagxDtGX`R?xu4ZUh zY=}j`da+(qKba3a@na(u%HT%Fg)=p#isNwG?)#@Ko&m!Sr8B?nWnB9RpkHiQ%#~%6 z&Z4OXf`lc5US(jx1JSA2Ms3r!(1?NF>u1)AvEqIMqZ$F@M-DwWnBxk&GPS)x!be^u@05Z!cA z_rxd2!4ISYyq+yo3&hB=(?suY@+)+I|D`Vhmc<)+%!=JZPY$IckFK%n01$2XtRM{Q z(U*m(+(2D%Et&k#$M&B0{Fm*{JKyO`{^y;WuM&}??BoeKO*~mIM1zsXo(tL-3NDpa zvRUGztYtMEXb7Lda?>Gk)WT;QY_^@leKqNfe8%AX?b>T!w!P|Aui9RA%{AK-`HaA0 z`DR3t4ybm73&8S0VmsQEGkn(se%fd3Fx;ZIyDxevgE@oXck@aFA9B1gua1C;31XV( z?CBKu&>!#!?m5A2*2!W4k}|VDa?LwAc93gCiG6&bp>K^`9y?wccxMYXq6SP0(OM(+ zN-LlsG^GxQ$V7t+0d%#6P%NaP@9ZFN_&lZA**k_)%cU(*G?3+@fV}OW%7>v)=f;wA zUc{#P#IG>maljwW*DX>*1YJj4hY2D#TVSn80I5M$79P4ti$kj-#ZAY;oR4Wll?}3( zwPVh}8N4<8^#HOSiX^^)G)xa%}%VJ+uxo z|D)E~0eJ<6c+%bk!Syx{Kjwm#wT9;+SmRm4g9&lEJcU>!^oMU==m*119L3zLMLVtVCL*6L zA<#vqfyzj$Nj(>z!^8m;MwhQ3g1sCeK4QU99H%Ysd7oMS#b5mS_AEa`>t{kHcKL`` zOVu0}q_KIx3m)Vzbq>U*7Q%!<9Us^r@Dc9i`DFV$-*xBqp8xzFzw>_1xo7(X4Ec!m zLIk71^Rpn)b$n7|0nFyLCf2d^?hchByTz&VbdF20&1?t8Aj{j3nKACW`R){MFIa-04a@?bh?>&-*O6O=ysFX|PP^NZm(D4NL!uH^I zAJqQK^0^4))xdrpV&TX8sP#kzPT`T)G-nGt*eXsxLBZTXC`DWw>M*B*KF=H@ z1g53qjhge^hMn;rA#8Nd?pIXP*C+f=8*E&{mo&&Fc_nnuY-yaC3;TUN3Lj=J*q9#+ z3rm6PgDM#25ITz&8}1bqk_UNmATK%O2@ta=+Ntv}7hS7spOCDBwZZ%1hB&&F!z5!8 zUTp9&AECqr+5lHCyyO=e$0zgm zzf7ur@McZx;AQf<>8A#rgPUy{U`ld=r)4*j$d?nDq;Ru2rg0`OL*)ZHeo8-fP^mUD zDeGcFD@@l}Sc4^>4Gx#0=p56B=%&xhu5JeDz>C$i5C(isc2RV5;H6;s*yUc|Xq%WZ z;MFp|BIe3XdnWv`57@_J<$TGJ$sXCzeYQX&WqtjrUwdo}YXi^`7TUbLh6Xt>Ptfr* zzPS0>3EmpS(AhjV5%F@hVMM?3=`A@n!mRqfr!OF`2fMhuTI8l4n-^(o`a81X@?zx>?i@~wbN^A^QT`t7^{C*qtGm}Zz!+s;Bx z9ljSV%=IOt59Bd?bgetrx@QDazmrFT0Gphk5FEpWZmtAgAfbV_3JNJ*XwfG(=n;3? ziZ%zp!Q#V%Qo`KV6K(bz9AFOt5C0f7<*M77~W$x}}{=`-0- zWuY-S!|epYui1bhyNMT}{PGMYWKX!(ktJB$t(jd|K35_OB(3zN zbEzE;F^WUXNY1Ew(&8+WU;}^e&m7$(&YvXeq=eB z_|jn(JsYUVYzFuySZGo7q9C+p6D>^BPfpA?{o+&eFq~P7$hj|QlU^{i15m^R!uW9^ z@RKK>-ah~NzxBgz;@|Hm@yQ&-Pftt}sPBKqm>W7d00VJu@nLPk^qZQ_8&2Z=oW{sAASh2o(?KKm zAcoMB8}c(IY3WmVpsPb3EuqDMtFF9q`_KnJuzlpiAKLQS9pl!g$v1h3iO6aYaPAOl zH_fo~AV%o6##Y+Q1MP>WWad%UCUm~K_}~BhFY_wIBO2j@d*s9maq!26d8v^ia6;0F zaPSRYWQinIdsm5DNjTtC5NTpONp4g$8lL8?Ar?se%$D-5EA-+5H* zte{{?!H(E~F;=Ofv;2|(5xP!;7CBG!Y3d&u*dsg~z^f+GZ%&0Ioo^W^8GeLKTWYBN z8X$RK%!8#sp6*mnAmZOovdM zWK0h5*@W3#z{@nlo}++#N*Hdep3pd%<(Xz^`k=4)%|!5?YAzfwV?dz9_iT<%GA3_) zYakkkOW{Y%2~8ccS~^t%G|sf-10PbQ&mne(y2N2kd0{Gg9MzYjL!t{M|KsceB&gPuBRcDc4MU1pkuQ9AWumc`(<-}IA^z^%x z;y_@4#ovOrgAM!*ajZp_7B_P3_GAw~I&cJ?VtY{#0fHV3;LQ>t1g)`&Ra_zZMy&|;4ru=F2D=0@|z2PXS=1gj>p$^YwL zfBW|Fk9};r?e^Q!O}uQrjLZ1WRHBfL)+>re+anyDFQzrFq;SHoM)e^>yZ`?Cwl94C z^ZtV%_MXpYCYaB@9FF4Br{Tn5eTN@ea^?7uA4IiFOsIuYQ)%aB8}A2D0-T8DfP1J* zu?;@V(nSn`eMh0F|8Oh?9K_voi48l90W`X0B06$$o>+;Y z0aT93kGHMTiXt7xC&s*`25*KeA2{a~dK8LnV?UrD6zy|ZkILJfrfnrEbMeI&UG||5 zedxN7UXlxd)BPC$!o>1HxJ!W4i1|I$~*?A*vx|tC^~QpXd{H$Ui9TF#@t8{v)!5rA}K!V zD-+6goD2c365yua{}2y_J0dd+mTzc`%f{!kxfQ-9M|a^Wtf}B3SYeMjkfS=5I=p%W zqjW3wr|2qcz?|Bqqz@LweT*20C5o8iEf#Ik2c6hasPNcJx51{4Aa~@_PO}@=YSWL6 zSP6unP#S`ZH68U^`%EJC^kRJf&Ue1EefI9p`s;Z5si>CHQe9u|937B7vAmcteSA%` zCzdm|H{Wr`cGq3+&yV= zpO`x#>?fk}4@@tj6b_O3hclT|!r5$o?*@@^NgODo%%l5fA zMNCE8jx2=6hwrijK<)vi_N1j0l#t4Uk49fvG9>xT3&xegMIf>2yZA;2N1yOjqnM;Y zKvvAB=;<)D*c`S3=~rGB?8r8!o%aaifsD$g>5~h*lZX7o2?0?ZPlLkz1{hgLCYBoC z!VZJ^iOV`L`vbcdzHvD)NWq95On?Dq3cARtk0dxLn&AL}oQ36Hn4GF%Q^KIQfF%phc!b83K0(QpEzSlUZNFiolvIz(khGz&c(9RW^JUSfurhD7n`+ znz{MRAw;ahpwLa1UkuslgR{#aM*+6DB#QhL*ZNSW_E>AV%g9ZOZyQf!!p= zi;d_3;T*)qnnwu?x|5uzCV%$T?q#-U&{(O_+!yo)meyK3O+BavVeS_9ITK|3- z7e}DI6KMEmA%Fb(+H>3A{PpMZ2SN`S-WgoyBNC^Vq_5QJJGMb1)^G(b4v^%j@Asog zURtk{RsoC9lf;T8Kn$A(K?x@L%#FL`B#m6r{Cnyur2? z8Dk7CS8G{-tig=Fd)L`ZfXxB;KgsMY@wFpdB~2@Tl@nQ@Dwl^J8Foe$H(;LU_Z97z4mc6!N74U zZpsWva&+RWBCEe*6*FELU;wD6GN*KLBy{?`1yCOqgBcc-0~I^=qGKMYrIFt>#u0hZ z*Jk|4Z-nqu`TQQhWG=1KR8F@6;^(D|^Yh_`JBT4+k}8@jJEbKV@LIwrSw|GLX0Ud- zG}s_s$a^vl67n*8LV`wN!gfIi5oqbNq7_*aF6yxhh(|}O7}YxPoZO-xyj(s2;n<1= zCVgTaEco#9aQ(yaVqy5;${}@_ z^3@&-sTqXv6Co?w-Kn z69-wN#yAv8b)eIBQy$)Atz#7*kXSi$qlXrC{R|VDcF5$5KJ_N)v8gS0}mD#9yM6IXu0O1Zy*8g#XxlzB(ZqWV!V2d z=duZu+xk-<=88NZNDd_x%hYk9Kk)m7hawY$Ig9`}!S480M>mxno5Y24y^Gs%$8=(Y zSA-CPA6VCIKz;ivT=SuW#Ue$zjgOO6YMdH%U)w`ZQsx6Wb)Yzwt^sqKV~ zgJwHO6Q@d%89i)PI>)rHzWVCdhRX%OX@48wrMLh%E6)}#&YvB;)&bgsB{6wW_L@!? zQj=C5QY&>xm?b7aZciWmL4z`6vkH+5CD=YAXEKED00Tj;!*iVW5vZ;U9AV@I>*7G! z$q+0DJ<4t~;xL5Ri<(Tf`85$Sh-7Zst!?7o?fX71a^S#Ud4PnS@y7t@>z;J%2xJ_U z6GK0Ww|rkdvT0&Nb7?m*V>38Cx2CT;bYvqKOkIfY!q>gxMCy4yNgi3oMr=G?g6Lpt zc~AVvLY$K~QF&7iACX57%qi%l!-t9(UrwCmy|6u+-@gC5FMcs^i8kNWUy3KIchr+H zOFI@xEX*7Jtml32ziYeW&2KRp9AbRyYbu)Kmz%Fh66JBR;D*#~9ks?vu2#NY6gN?7 z!z4ClPtf=$Uim9ip0L4LmrgCChvS0g`ulYkoeyB^2SW5+(YbIrzx{1>mMur7L38tr( zEi?c3snOheZv}AYBH}s~C zb%8x=e1Wc7f(eEf3ZbEZ3-yqZGQtp2&l3xM1S~~Nuo|5G+9@CVND(8M>^lfep!RnS z+(0fC15kK0G#!GdIF@#ERY3{OEvC|4z8eUnsB)rio*JJPB0HDZ^*?gNP9gR6cubF< z^#~q9^eWZ!QN4yfLzf{+JP6~&LJXm|kdjlz`k9~b&6p$KA~8u&w&sJo`zUAtDn{=} z!5;Q5x%iT6a}mJL4f6K+I5_N6T%FDf037FW&aeI2ue~w9ad1BQp&SAayLai`$Qhgz z5^KFOkRGGrqzI!R+tc~?GbGj~ptd~p8A#9=bOxe>5A1qM>rz2}J;enW6==w#&j;(& zWjcZz+Ss5mFX%=#L>@R3Jzj2%nmS%Krr(PZURw3~T%2wu>9ej6%U3tzg)((2)>(&O z>H_|>IGM`|2F}HHD&*R&Bs5~;WjSB6WMU5pT7pB%Zo@{REg76p(YHK)qoz8&$f^;Zfno!s|NF~d_W$NV zKCyt@a%j;PUAx1s6N`dyMG{{cv30=(=Wp+Q-~0RpJ;xz5Kg<+SKZqBFMCj&At78?| zI0@YX)C>@*SmP%*8&J2~$jk>qd(t4z=4*lQTNeA7A;ji^aR?F@l>u++-0eF?5khXA zxLQ})P`R)gKhfpGSkR@Ri|>i~>Z`8aKJ?)aZ@1iXOWg@iePt(&ly=Vj5S6i5$fm?!xYK*S_((Kv!9+OSdZQ3%8wAP zOoqq_=sXWK5*GF>wG9x`;(-xP42m6&Xe26l zmBJ4#KpIT++8*mk%i=;|-j3|5!xxsg^5`q3$dCk#;bWQ+qGn9IIMI)V1#SVORhd-g zJ@men1Y^zr=A2;GI>L_Gh)w={juI{)wVQrSOQqr3!scMm;!z$A`nefH@)X@O^IzY; z^;^I7U&6{ShM6`Ikv-Lgm2f%>_~*Xi4R3gpVH-v#14d050~Wd`XY#n{2v9;ZVRnW~ zmLiGHQ+fa20bwHK;deYkcS8^t{WMq&U{Q@7AYIE2{%pDt@Wc}y{=w(W94ZX~)@IGX zcj_YvII-YYB$*IQ0Cdo_Pu+g@PrMBWXENcKSjiT?L6!rg%4}L`;|C0i*x>>cCH+L0 z?vkO))vQW-=!qX;^Mt&Uotjt@qgdoGKFq@foRfkJFIZhXQ2__N_}y0&xU2yRIvm=? z!6)2etSE3@j3JhWO@vb$OyzAN6Bhj14nbLTDcy7*dhmOBmiSM#iG|4YrjT?F_+inN z@rSC-8b&JplA?oO!8`Z7bGKi3&wKlc_zX&hEs_UW<>EB5elUvw@RbK9k_f-@m3H;e z&A5`Fh~${~6Az6Pzd9AFCldJTD-|xrdm*NYbXV?-(xflY!NxDH{=m*ny_N64_SFjf zuRIQQ_G1U7Xc;q;^?ConkH7Q1<(6B-Lv#HocKJraq_XVze`z7QYZItv;nV?`lOZhHZne23r(HZ1ipMXsB? z(B?z|->dj&U@MQFN|2BQQfuLSdB4 zg&+t6oHkyyV8xT>#3`KlKu&IA=Lt)TR1R1~m>j1qtW-P>Jto(Mr8z~Mo4OJ7>jdG< z6E8d@pVc|+Bh5#!VgOa-@P#K=j^{jCz$EE`j}h@AV9HROJTac=VZJ#iDt3`QSb{6_@|HpZ6C?rCog>Lxi%=TOqa-0o*TLE8`KgyYD|j~V3sSm4`}t}I zO^C=kfzXw(1~LR97Ze7=GK(T-GA2T)=yB5RLSS(Cu^G6u#f&g8=y)cS$Cd;Fvf-IHor0Y2GYzPm**MIT?GuZ}6dpKQh*@&6wC8LYT_#VaHkdG^MCw@oH z*qT2sFfgT1I-FeD{MH5n{U86~AGRO;=rLo)v!$XMsy0?H{4`y#!$Y2;uF5$?h7a%& zH$PJI?w^16_QpH7p2arNC;2Vi4{}H)BX$=-BlPgy1C%+ zYn_R|8_oEdr1|XuOkf(sw7nQ$ti}ge%rHj6yggRyUx7Gk`FL*A>^=(Ep@|lYal-7Z|7PxGMy0&7FC2jnZ%IK zfK?_>wZeMwz5b+27V@FFLQ}zCnoY9SKY{BcrSMbsX zrvB4_kk~@R59cQW#*a5kCq(5k#>N)^QsW^~eNse>5epEmXgWB|S9}5=<7k8=HVkCf z#WJ0aY2&L34n@X_TnhqF$1_HsVr>l@h@XyQp8Lw(Snh>(O(r}`2Chy3QEepv%F7zUk>KWhvPcv;M5mSSL zEqW}_&M9X|u+ztI9(}2{a{CD?pe#7OTRyH;liHVCqs!)k4&S+V=3vm$so7uf!VU{7 zb?h=pvFl{V-x$J9RYPE-ViFSrlU}vZ(l8~#!e^h6fEmT6icYq`bm*h!GfWymV`*wS z2ioQdzi}OZxC#g^i?uiOXmwi!!BM2vV0iIe_#C%V>jsca0(JG&l~jHoe7iJ$2s zsXx$gR~k{lAQouY+Wd9Ax4z|V@gwoG@BzRBaPe_~um#Jns*#J(ITh(^>KklJ7SN^NXbcGu0fxkj#gX&oCg+SF>Q6|LI-1RsSY&d@evZ1qnml+fa`2=h+)kEp8y2UIgcy3agtOo zqnYcT5YrE+7a5s{uGf&=1GFDSeGW2-;f@YIgsxlIT)tu@ap2N;Ya8p@iURt*Xp930 z%0nLAJhh1YA_rVMcT=#Coh#%;o6Au>)m|^SlODL%usUg{NqS~DM+2EO^WdMEX0=E{ znuX8_Rj8wJX8uGjpsASzoETXCEIDkluwaze_=_|PJM4aSh)pcE(`RntlP?p;8y7A1$whZ?l zDFO8>J8XxMpE%_aS7;D@mXS6;SNrIX9>u!Y$nEhct%e&4P!W=k-0DLnpJCx-83N^# z@A+xpJKy;(PrBwqK{N+fWpvYzPB%|{X>1Ww)+!B+$eB-l2tV~b_kJsXVVsLS z7|fFp8ymT7M!b|kd9s1e+|~sSX60fG&=g5FBbg5Kw4+pRZNOU>13?QA*x*vkQO2n7 z9Pxy4#7wy0;t3~ObmD(CX*QN-AaryVpH2#+@6^=5!9UhHJ|pFL(@Bpf4Sh?Ae&oT7 z|IDlPb`L(87nCEQU0jU}xN0(%VS8|Dr6(3AO(H5wnY0->XpJry>2RWsJ1J@4A07KJ z(+t@J(uF?0v=b!eG6q6lfX>_LrnjziJ z{@BMpcKvzhpLdc!P(Dh;QL~w!ctbydwfou0$kkU*c9C+>*pQaSEEE{r;afBLJ1vzw zYBR7EVuE42N9T_1(3VJM8(a>^iH}Y;LWvwR==DY+2<bC9$(pD8Vn1+HmJvd8i$R!@pzI#M*Lut z4DnNQqD$M$b60Cv*id$Krq9MiaY5z^ts5}%Dc~hod7-EopShU%!4JN_-Se$`kV?N> zyh_nQcjbm2u5|p3N~USmXU)_GIgJtYUv}-a+kbxd&u{0Qll2$?pLyc|{0NDgj?W*Y zW2A96Lx|FXX-f1P{EB0%C>T|4Hb-TM14lf7P#om+T`$?=BBy>N5DCUo=}9sW(b3cJ z8#j0g)wa6{*9n5Uk6YWt^r*5ldy-a`XTr6+?)@UgXgQ+@fdG9TN$3D@z)9MveCv1d zz+)VQBZkV71xnwlXxkh{zOFV804`tmnw&)U8Rp>0icTS+(Y;!tV{LVRsy^qOv(Nq2 zU;Wiv!#J&91w36B0K^CO*>~M_*KI!)-AQpAA`09b6uHc~4S z?C@Yyic~C52)Ix;&{Co`D9cai#iw;>bJYzti)q;l+t_PYU(m(=7#DxwSVWwMy40EQ zT{1o4gM}^+!yDV_OhJF|(TEN6IY{O`?dBo^3ddiXA!gg^&_R#iUG(Dv*gAJczVrW$ z?fc*VK1%8-L0+4z@kWrwZ&D)*heICb%7I9SJ{xZE_^$uE@baQi`7*fh*B`1P>%0mn8r zu!hhgr9sK2tRK#QXeiVl>{ymgY9#6genH5EQ61f0^O{%Z)slCFp69+X#WOz(K+BK8 z2FW-krf$x~Zz9Xr-{>NS?fdV$fBV)w-xRO2EXU<%B#b3;jTQ|Y87keQM>z2&gaEW| z-?&Go?lEFGA(ZmsKsAUu;E|kQrj=sYu`96L9HJYcee9KppEZuPlxX2TH30ZD&7RcL zi9GxBF{h1Rc)W8I{YCr5iHcJ8A3Nb$J%jmV38SH zU2JHgRHB$-a9~of!OUbyzmp>@-c(9qEm&q^(5}qUgn|~kY;wzoy2^ykBRA}hTh_HM za+G7sIEhuSWb}kd6K!nFftn_O1J7=HowpV!P*_dx9D< z2ysTYBC9Xh!+rQ36KMo|CP9tuDaadqV(N!`@)N&rzGJ)fHLp?EANe6(_|d@!Y;iDG z;tV$9i7YpS%tP&Y0uEh&w3&S4W5j$AZyxvtn?vVtg&C!_ z*RSX$kc!0y%Bbdm&w9Tw@P`;EM>JFT*oBe=q z?fUXK^vF53@r5==#{RkJ^@K#;;Pe8@_|nIg^N&~vGId{@iXH&)^(3<6GtUs>PP#~xtOnCK?HiGy7Bbvk0cu4gn4V2+UpwF-yiEZ4ZfFm-U=%g5% z&Ea5Lp{M-xiE)=tgSIA@4w#9Dz2d}z)G9}9!LU#(OM)!@R0-*Z8*X@G z=%@9Y04&+lQHa|2|MMH(yo_-uFOJougl(QyDh@)6JpyE0EMIyt@0{2eygV}Khd~@n z2a%!2fI_AlN(*=e@B~0NET3Jf0Lw4mEpya#Z@WFzHe z@wm3ju74A&E_gl3bO8hIohlEGjR=UM+DMa^+EO7BSEw+wTH*Q988PL(IV^PnvibGHG^h=0;smgs;}O1a)Fu$Kxv+MbnEHwz`%Q}D z+_!7C?SVWK{O)(ZE4~|OWDiAS0b0=uYPYu6f=>^T2COn>h-b zlRH!wevvp1Nb2M>;&XnkM={{I7z@#jPm>QQC1q<1&AbKE%}fuN?2X5aIDlXtZ9Zx0 z7p?@PHz=`Xd^OTBPgXtqXP%931Fuc=n~#8|X&Kyt1)ZD>Tk#md3_j(n%-cKP`R?r% z*S=hJ$2&|fZ14@il)5#Y^q1cbp9{YS9=M;Ldh4b9o{+)rCj#Iz7VE;) zd}tuKjuK-Xk<2+pArI{`4jQ!f18LzBhab38AKl30&Sz#CBlEv;nZL9_aa@9J?VM(8 zVFu5MlFm_1*hd&*^O14t1xaMcT`Umejte<5xa+QA9a?VsG%Ym}tWz1EV!IcBYm6H+ zI$R7j{k4NL*fSCW1e0`y$i;+x{Dnm^rxTDs=%>#`Iw@8qlwg^Yi3j{8i= zAr7}WlQyy@k>CI4{l82WW>d7#b1zJn6vJ`I$-DZQ9BcF$>InCwM?12}MbJr>1zA)k z6erZ+hXXgzm@I&o;;pid0D`=Zdpl=bN4Uf$WJ&x#xs-H9n zGIj2344x$D>PPJM?2(I<%4kp=kb?~_P7Ey#H$oQ=>?}Co{lskgO}Pe|2Y4vuu%$J~(-pGaN;{ReI&u?+}s2XANbcD>#}VBae{F71{88))znTyZ_$&7}QUq8c$4Y z^x_P+Rh$RtX($yr!xm2OH0bGplUshcYJ10>|7pAUq6;(4;z7iT$rG-&oM`F`EiBGP zJA#b$VZ6c&W^+;Jk-R^wX zo!hzj>;!f={ZX)iJ`XU-E2WreEP_-R#MsWVgT==me|-DqH@|7_oDa$nLmIfiIOU;! zVnm0rDHJlC^5b)zHqqMowg3P?07*naRR8#id4DSbqfL$DkEX7n3M@$hGdC_i%wtGe zSb?S1A8o`Z_|XT)6LAR5X!IqLLkv`ieTa4H*F0^9P9FziiMv($&2PsdpxQlPOE6bW zdR6N~HT~0|fUOI|{o*pd^Ol$&V6J(<8%xZaBIrKo<&m~|aNv?vYjl*3ua)OQ!?%el z9e%Xb4S!pBYSOOy9dCN5$8M$1yC}YQ9?drfDUV3 z7W#|}dL!!^ikjWj{v-nDIoD%fpU96q4m`jGnFhxouoSYLSGwMV# z{#7vI5fJ@n(EOJ2HW8U zYx#m7kV4^*(imvD;VS4h?fd=@Jn(>altr1M-l2Ku(jwN>+;Nb`=y~$j@ojtE>t46r z{K}gd+{~wJkZuTUyoGm@46|t90yD9h_Xr}J*mYSO$g$O=got_YNHg)8yIqb(<(UB7 zJPRQl*76;FwGmB+3l-zbh%-&~7h9gJ7B9j$6-i?D>zkSrZ1l-{@R)q~wy@xmi_}IU z0A)a$zYO?6!I@Ahy$1d1CxD9-&M=&6k6opGy`95dIw$ieYY$rU^{dTtue_~Q@Ja8X4bxshY` z86~6S$s_!|3=KZiUW_pMU|^+1UqR8hR`o+}{BXF5-+TRJDA%h`@GFZCUH=IT@yyxS zO1#<&#&~;BfFiwfWt4ChFY`ddF5pR5{7x{{NxqyLrUz?DQ*)?GIrJhpb<|98Xht5n z#;aD>yGqdqiM)=#?lW8zBqp5k6`PS=G%>kgMMg>TM!WWK(;Sdv+RR_afDS739o_D6 zX>&!_AxWD#6Pk$31^A&+n8(j@E&^xDQPX(ZH?l~im%BbIzoa|%xCJ~i7hiPIrFk3R z;`Dem{h*@WsW}|Y*i!>IC^&oeCqMbgThBc6tg|PcvgoW(jC3^8ZelwL5Mlrn4zCj? zH1tzQI_eAygGt>i#_~SmlvmVu6ZhtVc=pZ()zLTSsRgw9yD&N z=uf)6n8E`=JjzRcIwEjFVR9sQq|7)0C4B+xw;v*t4s(JrH-qGkwu!9uW)`J9q7Pu_ z5gqz@Ox(_2`pNzNY7=Inqbi;e7c}q?1UP&?eICQxTk_ipc`^XA1w0;<)T_B#ti3w7 zn7hZSbc`b%xd$J7aQn`;zoUFF5Op19?BfR^rsioThC=Hoq!V(-7JH?dU)nn_Z8}Qu zDh6u70E-fyeVU;E0lI<%r$0+ zMHz^FxC>087E4c^2Vg=i4*78mg^DID(iIt+@~HE0Erw1UTwo|GkJzdMEPGS6(~$vq zV=Oqh%_I8{r*ACmc>01p$p9KDz9d!A4P(Us2V%X|Ut`3e5B{3+0}FOkR3g@qN6ICP!S85%e+gM*HGO?sx{ z8E58a^nWhg^+7=b$O@Uw_ys0r@HYZtPre{F!zu$n&iJ@oO9lxffvMDshraXBG%4#E~FqFS~0jU^~K$DedUve&a5FXL6)G;TNgT zTq1~w$;Ua+(T@z9V){s%cYII;Gz^5E8?R_+Q))QSgXi!87nx#mB!>FOm35;F1rg+G zJ~jH-hy+;hoCGiAM}jWh-u5>C4LodgRSv&6^iXZV9-W&rFh+`(OZDps@JWh0ikM7Mlsyjtg5mY4+tC)|fB*Fa_i3X>(s93@8x6N~=f z6YV^l3lTJ5Bj*oVjSLFdLeICMFq(VW$v3=`CcU6eiEOh*AK%f!7HP)M>61g$Uuka%PUfO<%vXABKs@e*)y2 z0M0u^a1@VB0&NPGp+Tqs)H-tj#mcQ&(nooI1ck0{7gj zuetihjvsY5e|if!C8rAL2<>!OJGdlo-`|?kw~i|+FC}~$O8x1 z6vU&APZ-bO%a1aiN3IhE`>=CJ0k?|>EY#U7Sj@Ehz*p|r;JB{r>FsYzfEPR34jn89 zKkbDA$l{BKAM#lQpiK!@B!i8>WT{TO7}sJ~!x$4k4yPzaO(!I3CvqI(Mh@7M4%ViH zEt)$ovaC#KYeuC_*Zhnen-AXe@*K9C(6I}c{$aVLVbqUhte$P#WBJ#=?|dg8{M4ZfD?06_6Fl>U-Wh&1@aCIuUfjJd&fZO9j31Ns_U_nDLH@pc z5cJVU9#xZ9np_HzSUIRLk;j(=(KvCjcuU@14(1I1j~HethqV`Ij6c3)KvKZ&*c210 z-x`sd0|ac_M4EjlBoAuG@A`%VMTtP9nxjUu^5ZjGbn!E1DRJnck^^JqSlWT0aA>J% zhQ6$n)4p>Y*{FzxpUf9DNDNS;>64h)-|e7KFn#9a*;lP1QOIJZBM+?Da?gQ-d;m00 zm)IbVUD>4|s6V`23%KLLg>46~Sg0b8@hNz_obeoz?&6ApP5c8Nog|XAg-l^Wts|j{ zZr^hf^vF^?=1}Y$OBP!!Ipv~boY8BjwFmdgE3dpM)oJ@Cz}l{3WCI*>Ns$U@BYIE-Uzn*v^;GM+^KYpsP=(X=y zvl&ee2TffOqtx-FX3%g=%o5a!vj9re$8T_I_8m1;V zwFW*|PMu&JqQQDtIk-onOwpO*I4|;=HREVunPDeNS|4mB$PMSPX6S7`BxoWMjO zb-Fg~a-cWLD~5|NzW5bk{QvS5fO9Up0z6oadEUGYSP13IKtkzya*uw8^X&EtAZ& z*G_*!e_CcO6RpLDTHt_@n1QP5bI#))nO_m4DB#0_9&xX`zr*tmKHM8aMj}d4W6sZa zd5*8ReL=G^fC~HJhdPvpZGF%#_2$_fwHx11|NKw??CIOz{)=>9$7vg?e)GdX-}%nd zFMqLL2K_`Y46GRPjOJF0QQSRY^S2B%KF(_6+*`q-22yOI*vneEbbu#g#srwOH$AlC z(WaJTM!F$L&b~Q;d9Pqv^TMqvGU;S&V`g*v#cXYm6y58YsXvWHY`NR@db{t$f z*>414$t6|ux!(M}>&PX%rC@9Z=JP11tg1Ne_0%sg!+l_)b9iek7k8M=&aeHabmfXl z6SrJ*mzF(G92IJfd7!v#KeImg(g*$|@Vx;zjMrB==l>AJaNqgxOCNqS@CJ}p2_i&- zHPCWk{1bv-qe0ne{Uj73<0kzRHvTZuyb$ z`ssMn1z}@>bbFPHP5rB_2?4ch1t+CUCo6V3*+1K}DFm<4h3>Zu^xDnt7ySPAclq+y z%8CE~E0UHsAyxQ4x*@4p0zB0`r zh`wS^ms9ADsWgkqRTo?W_6<&FsofgI>*KC7U%GJ7{=ygE<9{mrADaWnM-TD$KmC7v z5%A|f|JmlHb3911v$BuKjD>!=#m}zJ5O|iWh2S*ag{Z`s1&aB$wh)U-v*DS%LUW`Q znw)efVJLw{7aHOYOFoDDLi5Mh0Vk!}5 zY`-&CA|lXVZj>A5SN$O==gnGQ`WC1}NK*>3&KpmE3TPaHP&Qh4VgDYdIlBpQIywbP2U*2;{dszN{|oPbg|0UMMMwQw zi}`uoMMuSb=YubQ@JD8#^d9$D5#l2pxFuCLAesQG*q%C0R*u{!pYRs|PD;=4?;`U{ zF&DTA5Y`5WCcv}RfAM1m_~ScbG#NCkug7>3cg9s~qDkuuA;~cXU^pSYgUnz0ZfbY4 z(L;mLwx4^8vyHuJ9v#Ygf`LGr>4Ro8TPi~JiYp$pf#tJNtPd8Mm({C~X1}tFy&8v? zIeb0Pvc=fObYu~JEF1)kPjMGqIVVoP1#Is28Ke^0Mwla$BXBl$4)T_B(($8I1JHj@ zRJ}znQ*AEzRQjNA{iiNvp#6fs`~RLl{kv}U?{(4~<tCp*559o+seW%d5UoaA%gKYGy?l{{LPUEY8-EFa-}YM8?Ail3(3#?FkjjW(F^87L;lk}=2Ve9($7@j{DgVuExIy5L zi5E^^Irc@zXZ&M4n^K?cVFQ&zXkq6^V9=?}*J9I#(NeJS6F&3(5nlqdTuXI+hm)xg zna|pu{?#AO{}&maJpG=r1WLliZ_3?d14mB3;n!0 zXYE7jh90|eMc9oFeVN+FZY6awbE@2#2M>{&A7Y}o2U>#6nIQU|72+3adJ}1H(ViYv z+a~3nz`w83yUBv&n&k<+^32BjVj>?QH3kF9Jf}NW-Jt0)0K=b>(&1|l#^RZMdNzhj z_`WE`x)kbL%prZBk-^PBI}ujLe9?b!-*|fKjkn(XPygvZ{cn)|Aio80hZ6kPQp}u~ zZ~yy$|L?zDj4xufc@y%S0PUU$ptj}KpKq(}U@*Xrr-trkXn*1~oc)0)Pt*CyfV<^7 zNhB6{?M(#l@OQV4LK8?C^*sbQ^!mdPx&s{L_O8KbGMs2Y*T84tne?d<|! ze4?JsR*m9;RKVb}aJ`W1M2)i1X{0-Rb!hi(dt}3B2AhL6{CPoNkcBpHFm&9~&n7>$ zuSAJ%xr3iO#M^K0i=mG8eRcNFz&arjlI`F@U&mCtq#JH zzW==+>`ON?uS|l!%V{>g@r`djef^KVfu}hM?8d~D-&Z^v2XcWQZLT_ne7@m#Etn!M z=Nm=GH5ur}+Z^U4x9#R{E=)*_EURE%sE-A@c%zu}6S_I8kC1-nGk$-{h06_5O$BS| zpN&yBHzS}4ed7(2_KjI}FLGA;(D-p`O-M}--6k#_1*v$homMkP%0vH8zV#>FaEa*} zd0pkN|K@Laao|R*BU?WYY~5@A0cU_EOu$%@NQ$X&VD?dZ(Z=hvN)@R>Wy6 z8wZhHEAAh=NtW5oT=^FBjF)`l_vm6wEs*=0i6PhJ$NeYsoFwqfHE^_j*Rfzu35zkN zi}0ek{pBUTW0^1>UwLZBzYqndsBh8h+R`J9f2L9EWOB<(_T4*>*Pf@=w070!*j%D6 z5o*&$QF(T(#V4&}qherv`(N5zD1E)igBBmgUBfE3uQ---d}!FWzjrrObljw+Kw}tF zS>BY=w{8IOqrCybC%-|q!BgTmrM~i#Iv;xda~ks>bVgSGv!{Re@BW?tQ1AX0z$+R@ z@prBo>)%=Xw=3%4+keha7(Li8T>g9to>{am^VR~;e(w4wfP1UON#7)bd-)DbrN;QK zt82rBIT>2ccqU2f&I#qCAs^skv89=H59n9QAWk zR3K*I#FP!%T{(0F9R!r|vsMPhMF_wZwI_n*e^C&L0Fi zWj5(#Pol_{IBUK*kE+oTm9}ZkrSyNNx;FqcUteKazxE>LJKy;D zZ{dHQwDF-h21Gr$6T7 z7E5xq{^3dNe@?j=KmF-XpMK0oLz>%XG#^`<=+Tq|8vpf#yy?R#ekhCe-ZfF<79iQXc zL@=U`b5%pFjN?!CA#V?fosK7^PY|`u(PEMzfVi%e;Y&4JVp?lQ*Q0qBP=Fd#IYOPh zWObEJNk!U%3`o^fpnu|v(^G`4JR1K9;qV_~k4C0a;-3Qj8IAirfD80m>eqb(U|PBX zz-j+}@wFGfZMgw-@(lhC)-~o5+oaQ-Ba|?0p2^pQ?*u%PFj3p8QLL1`ljBYlB-l@| z0aLcqW4g+&>4r19(l7W1VanR{ zVk*tJIqQ(&D3>lBUNXx+P_~GNJPaC1AJbELXv__hn&PM%Gj%8Yh%34IHKYN{U$zg3 zU=JVX-?YTTl;*@nW*4s2Ij$Z76od73OlZf?>O73wvFu_7YZtN9cjDi4BbwetvYVG+ z1&P4NAAkJx0pGh=nT^wVRFi&mUu_6vp>B@R{0%P-zW;sS9WwtLJAJu1&9Q=1;-W8F ze_s-NvUKSUL4GWHUAge3jglHoq2KKz=rO~1sAukE9ZL(LQQ(Vc~( zte6zn4y3sJ^zyw~k1PF*Up{3g#e*xvGjT5@^z|I!?&iW5Q74fo;a|x*y1f%fI~hHB z_SKl&7Z%%*SN##ZE-W%-{0OETgQe?ogw>v|+BQZx3Z&ygNEW;B(s2z+a|2Xd5tNOw zZu=Ml$If2x;Az-bW&9LoPQVKnrs7D2)4S7AU+?L|4?pB*Ngp==nR{Ip8uQl$c5uXe z`^#Vc@*m^|;M3j#FzGy;4LqAmwkeM`X>yBffD~i0DA9)1IkOdSFvqZhsHh~4{83bfO=B{r4V3%L6Yjn&}+eU;gqJPe1$V&*Gb_jb0F=aTY3*gL%*o zQh1#jP;LOY5PkIFhnP1v%`BZQj%(^JcdKDwJ> z8=^wY1&2jBZ`_s&u!Do@sy7zDrvN{j0@|9;e9&QX;X5v0;lBl19EOTmk7DOC9z+^P z=(29D2&^Ce@cR=1bZrnAD=1yOjBQ(Tq< zcniY&iwy{Zs%_lrTm{74EBo$)^5JMlB(VoQ%L>?^<1}qmHplP_fby@l%z{x;)7Akz z6dOI{6cg9IBU{v}>yNcqyAHq)c)UKgWXv)A!nQF+qF%1D4bhu+F`d2-A(|R-1zLC0 zlB;xNDbJ(4(ed5sKSbfzN&PJVKLTj9UZ;)M4v2H6=pCH?+Us=mV);4CP5Nj~3^TJq zvE#sOXyi0XZD5ictTTJ=1G}QOH2Ir)Xg>~ph(W-4 zf(%a}5f#H_XF)+0fh;Swp@FBHHn$)rs{GtXT3hH^!g8T0uev9F<*~eJQ=g^kgy%ZQ zsh~I~NeB2BKmWyk_g$WhglN%>B>5KEmE)K4#wpEa`25$cFMpXoxB0>@2%*foi*Ibo z_E{)(`Siz^#38<7L!dsB!sxQm&Pz`Vc6k~Yq8pJppdzvbixp+{ zfvknYdDf5a1 zh7^72Rs;X}PiIdbedVJGo{tbusLGG=jCw&@Pi+6p~<-;XP)32r+I@a zg7Yl8WU0EEh}=EOheV_;{<&%`WmW0`PnqM8uasNADp0b7Tr&2%!pz171S@BO=J!d$ zMiguGT@}}BGpONc?niL)&ng_p0zG}~H!Cj2aTvMwo`wYP)DuG=MKeG)gv~*)Hgt&? zqil=&kZSsz?0}$Y7%cj}OX|a?^WPgN5Bt_;Ia&HDApG{6<{WDcEakfhhpDf` zFJCM$`de0b54~udFq2AS^gKQ-BQ5Jjt_(}r5$Mw{FAkvjwNE8~9^o&2Z#aJQ>*tRE zka%t7-FM&ht+GGJZvouleO=C)Ix*k=!WX`9-`{&(*x`Kgo2JSJwUONgraNLs>kP62 zH5ui*0dzy$=)uKH2XJ@wjWYO~Q1{~2;Im-cH#qsZqOXXWj7)}J)y)X)W(5;J6p~;X zkmWH;)=;Rr*eckhcfy)BeYe`?WJigYuSg|`>voViBf!Zpg`mueHIEmtEiU?+>TVZV zu~RlD?&#@TyD{8N0GZt(q^sMx+k&?wV=zertoKVd`ttu*UC3 zh^FrV@PzMXhTHeXa%6FxU&o#}K8U^VuY{yzBM-D= zV_rqUUv-f!zT>~^!G8GXqNDF#)w5y%=ygHXNqC!i3LQKJ@x3{prC6LO#zduvhhfd0 zKF-gQBwbrcId^FxEamH8+>g~Kl^F_D69-a zm)VU>O{|Ayd@9Mt+ngs?D47Pvu}o#^Jlf~ zwGNMN7ala6cUxER&-e-1`egkyXVB4?F09D-jzcl)u>LuBdb(~lpAMl4BDTc}hW5dO zU{iv%{D9+M)#-_=w02t)nsOqTD~VpD^+zQ8u-Yb~ZBB$wyh`=1VfH5B zGo-nxvO?gQv&<`SY))QDNG(+T^@ai+5j1K9sz`~jJWghG^&PEx%Gx}7wt~@beATqx z`Il0^=}!Tbc)jJ_ci(vr#QP3F-n=dg%I5h`-9v7nB;94m~jy_z#CEL zhu?_Rf#yUrO0OI&hLyg&2A)}9yFc}Xhzch zJqCnHJPZIq-NZ3{zC{!lKW;bCbTj7-U@G~$c%0nQ(K(xc3tuKHB3HEK#I^%guPg<{ zfaJZUd)Vl;aLs6TwQa6&#+jiSKz7p?6rK41&Hgpjf{?NWckjx}D?H%^oIj$9r2*sT zpjM_~l3UL7ZBcleXE4@O5v zJ1f-0-R6&q*s<_c^Pzb0GKb8aE|ThV_->Knwu_3uxg`p+8Mjlj3+2(^vUTfcL-P-bTR>%S#`n*)R2+9NWe> zpOrrSTI>D%XFq@X#V`ENfPziOwE7zzU9>`&F|`w;YkXZZT`&xcJ#&Www?BYRSzp?BwM_&QYpGO#6(Pi*RzEnoCiIiHFpNU8D_9b+BLt{ zhJ{r?8e{b&7K`iyj;Qo*q+qwNWRMqv$O4zxg*`dGk$wkL&f9 zPZ)p(#Q|_&oKOyGo%8MhBixj4@omy<2Sbu^SEq4D-$`u8Wg*UHr!`Z+2?slTSEd`g zlTWq`Ij7%Z7qNQOP{^=%9%b_mWw!+9u8KO8qCrh{=~&HBl6 zH$YP8J4XyH3yx#@GoH69$G3jt>BFyn<>_7iBEY;gzZ9K;XCEIb^PR2^IgGE$I6sxb7W#<@;lUo@yvRH}Us?Ct48(Ntn^QQ_ zILu|*o%#P0FScn2|k1CL;SY{)aL{ey!zo1DdZl|Mma*uYc#y|Np5J_R7kEz{pAY zE+h^Xqtb@ONOuu)l$v4Y3k{X@?iOc61M1MJK7H9v3KugJ9(5qxR}flmxThyBrMapb zO;Rb-S4j7)+mL2?cotPo!7;;sv6wb#z9`xwz<( zBZ;%l_X|U7xO}T#S#|gx!_D!<+J#Dq&HQq7Ff?Z#w4mNv`jZP+V?r9!hAvL2oJ~uf zK$)Q zA1@vdk-MVCE~>`hQ;K-Kb8__&_WKdW^T^jRda>@lhkEE*)*Fw<$&UMe0Z{kU-;wlr zUsQ!9&-s5r%HNU2k>{8%KDD`FpDIUJF$X|K=arj)=;-_t<)0yv_P_nV{;glC_j--j zudfLBx{8i@y!Gur{r3OD4Zumksa}chbJ_XCKQVHl^l;pe-t#fQ(ip;d(hM1hgJVnX z#!ad5x@&}If14E@@2W)-DyPmOmm0+MA1KHv3;VgjM>w-ZQJDq8(=K+p6cflV& z5;z#)tH9C1RZgrRSI2`d%`6@+_GU9XQ+S3JGg+&c>3{G0e9OCX^KwR^DghO$%EL#yj@QYebPWXKKb^bw2_q`bkw}6jibXA9yKhx36N9g zUE>Dc{866_c^61aniSM0py~y8(8aYD*fv#|QY2?>`r{?WX*zA<3c}ojw#K4O#+542ajikWf?Zh=`q9MCi)U*58DXd-<`O z!mfL{VoVK;Kq5_GYzQyobS!31y@y-2rHj`K6%BAmy|p~%L+{*yX|cNV)_o;v4kf%8 z+N%_ve2tWCO)emscc#$b={%mV<0KuX`-J0B$mq3yfoTk4Ehoojwh)Getib3)ad5>~ z)Xh!(F6ZJ8nOaPN^=*f=JN?i5P1)PUM`S*$-9C>RN~feR^bA&QF+YftR`3*C9xm{* zL8ndVTpYBvx9pVxhi9>xhwef~4-uMZohKBseru#JrD1!Y+bgQ%idu?whb&2!{Z66J z_cf=4LfMc;yU)^363VGk@Ujoq&-fCcMQHQZ%}JE`T+!4R_}fsIYaDoe)`i=n|X0I&2FQV83c{xp?Qh2I>uri`r?z4(0#?9Z}!h&3t+m) zi<6#^j_r{P&^|@ylxaR-tFHQouJxQ2OPVU<8-uj@U@mDNd56B~qb?m|QGNh=GXHp8 zOq<@>N%BJ+MKuS#@08e4TU^`3_zpK;@4x@W=$%s10*{AZ>JKbm5wt6glG?t-)~BC* z#>YhbTVRP0%DZ)I%@y*DrGVpV{M-0Nw2Y>HYl^yg33GPSO!6o|PzVyvIj&|bOj>up zdAhqrAP+yWryJ`*74&=f<*`G)#S!DOPbn zF8$JBOe*cQ1-Z__9~LzMsnS?et8q*7a2!ZjGI)y9KDhcD+g?=2)698XtZIzp+VL}5 z?^;}6Q3kXgOzYe=km$!ZgVb(cTGm)d2+?dkqKSMDV=E$h=qV|j5WPrM=|z$EkC$gV zugbinfA;jXkG^(40{ExlUIqD|_Rg~XpUVAn1$6GMkG}S`ujVDEg|Q@+;EVJ!zC$zr zlRQkSmtuYdFbYy&Yr_faSnW%3Gw2|N)S%jCkvM1$_`Um+Cda`|!pW-E#h6YTA2`j2 zm(HYv#+eMUkn8Ve;oZ;3eM8Q;JXY}G5}@gS8^Hr-n7#D|o?iMl+m>AnT2d&=aU#a> z#M9k23UvB*Z9&q1o+}Fxjl;tM`qi>(1ZC5a<9O%@Z*Gh*o^G)Ug}Ynk&OQ z+yt1QHor*}gEDuh7-u7OVQYU}#WGLbhx|+W2 zY)vt*>Dtj(w&!+5^mP(u7Ydy0RbbM9!4m;fVHb}G=EaUY+l?lDX$9a7ih>va#D$z# z{wZwhDH%NW1|_(AiOnUj#HWI7>0K-FHP6Y90P=}b`3L;ol$eK;u_=q+p-(o8jJE!t z0^^sz`UUo+DS=@Fp|7g6*68ua8-r5eMI&q&#%4z!JJ7MNv-MZXpqUGyazWqGTl!?G zQ*}<0ElwEwrur}%L!&Kz^zwIc>dVdQnFT^;cgAN^-Gz-FP8d!%$k4lx<|zKFtRjuw zSE{E!)E=VihXC{yw`sY1fJA98=brGEK6->H4lpM`F;6qF-8zPIlIaNTap&6dAw3*~ z8v-r+#KDeyokLenKcJ{l9Ja+4Xzzl+A^6r8Oylpn7HTw?XG5HO1Gbw$=(i}>TsZ_- z-hjR=^S3{={VbkpdpUja5&B>{bgLW_6eb%QXzp)E_7qDZ;L4~(s%S}xqp*R-= zgR+U*pLszWJ{X7hSd=2L!nzOy49>aRY-KbdbYmNaR!p!<%5v@Lr*62Fv{~2Jo@6vq znv8P&U9n)qZ{O&QvnAv@w$GuSVj-6cH@gVD0z%5kN*75A8v3g(9iwfPICA~oK*C;x zXvl|~xb_$<>B$Qygks3)k0Dv?_0*Pl@~G9cyYICRARXlT3MbC^7ab3e#ir*Cz{M7A zpflEm?AR4sI~mXBVQ6*c!tvj@_Wxt`$oyh6wt>+I0$gB zSxqlv`XRrhkqcDxErB*4fDudW@-a6YS=rYeo<_@4U@lHzBKd zq>&%}Xn+};<-k6-)0H^^ef|y3mlLI9VNZawKJ-&SS-p!>%yjU}%=j=D`gr$?`~}V% zn0zr65WC=}5oGT)wARoS%QdG^vFEEUiB5gp%MN`+#qL1H8_f11WcADoQUA*x87V^V zEtW!yCa2NWK$fhbsly(S-806L_Ra___fPZVcOB64B58d;F9$TV{dkfQ@F;lmq$4@g zUe!CB_}adOoHrJG4P(COW7s*NdV8hG1!FGb1iWTbxOoW;4CInAFSfElOJ5JJ;H?4N z$vxEXexmlXECSv{gW(!qq7k ze?pfOwfLgs?L(K})%hyqe;GFb@4x>(HvliABUz{4z@7FaI6p+s0Jqwfmkrw5{U3lM z?%=e*M0W5Wm=}XVE%O_YnhZ2gl8Ve@pf=&07}D)2t4ohR)p6o!H(g)T53`A_V7g$V z?8FwU4H%&N>Ro_4A-hnuA_bhj6RM`Rg4dvS^;w5Fj&rIi-8&*WM%jhLMdidq(8)bc zIK!G=SYmMWR$X%RTm1SD!9{?;F6f%pxHQvad^Yu!!&;?Y9+V`LcQ&*utG>Vo7cD`y zV9XPJ$Mn?R*nR2+E-m#e&l`BT)HYchr{g!&=C*e7L>~6-u*9LBy_SvGZ zUq~opVCr>aXqeQw9v%4R2$LyqmIlP*a>^B@5Y{u5q*hBH&*A zxKVMp_0P0a){#v@dmXNlKLUYO`uPpOOm^VoIPm_kQ< zzQm>HlrjKpB4(p}>qoC^|r95S<6u-hP;QPWq)T^zKrEjc%^ZnKweimaP0rQ(ebJ=4o!5j|A!X z>x0iv`Jp=7%e{z)7tH#Hc;@fHJp7z9F7*Z(hifW7R`R$3$deeq=gA>@T}7un-umK~ zzVwwdWulZ^gDD_6B!Z5@cd;4p)K@EG7L-{wNv<<^WQghq*hH#V){(nY$xUa#VL2IU zh&g1=P91c@HSr)R#>u6%3l24X?dewouVXdTHXi7?Lt7q(H-W@+g{vn+4^pn3Karp1 zoz&S8uK>1q+9_Ot7>XR8ULhX_r&ir!lGH^?rmXw~CFO$DKv<7Wt_yz=%}@KhBHw{f4o=i*Fha{0+%xFL5VG|>h~-7oOPv6njHmv3u3 zw`d!}Xr3j^A?2@Z`PG*5z&NoX{^bXERrAx_I>yVpYF_qBsaj&B%~^SK1V5cXy~(t% zlzF1*cso~VTGDfyHUVr%TJ)FzGL<;uShU2WA0}<4)bnM!ofs8j1t2GIDW|fP-O3rf} z_0B0J5jF0C9LJ~J00hB&%)eNRu~)685Zlw3eHHq6f(Bk>5HZ^JM4N?L>N?JurS@$N z64{Lpw8kPW^MztcV!pVzs9*BIHEzV3M;a2V@fb~#MVU9egA=ottiyNjGT+WUp6PEt zqdntC*@zlS`bQ~6h_c)}oM>Ws@`4@^pmcjTgGTQP6hFi>=4z0@gM++&h!vRm@>WdU z%^DrXU8AU(Dw2|#hZ4WfhJ>;5K zd{UI+EU=?VrJR7a6S%PpdE%iWHg=JGL{37ntP)cU$(|6MThVjSRv2*zy0sedGrlYH zzQ3FOFXJ5m{;cZ50yQ8G12N(PYBUYepiMJ8gEheldx~|2MmA*6ehJX}uxlrku?Z#% zo@TO{l&}zd#!zehElR!FowN%t5hVhfZ~MINc)hs-vL=*AR$-pIORvfGP+iT&(22(} z8*)a=FBYH{pyWdvO8oiIZwi>lDQABdFm%9fUN&T8%mo(w|$(VHk)}KT<+i=YDdvf&VD}FuR zmJQc!$IXYD{^s@OR`KMun6LV8PAjk+M{m-+{hB8v8wpU?{sHjV`RIFB&vFxn>t}1)#bfzBQ|T$bBmJjZvuM`?St{(_@z?TPJ+5dh@7pQ*8nv(}uG%7{yY zr>5q~`rU%)lzLzuixMcxz+|&5KDfec7R(o==EL%@eDls)1Qb5;8ik(N5>MvhE2E_T zZ@wxZ^^}^EQZFD`K%Jih_6ERZ{o2ZF1;Z;`eR`80S9#y$l@{VC8894Bi@YRl)K-$D z#`8>JG#h*p6bIds3+uoHl*}}*+QGhp;GwWh&}Lr2bVgFSAxyLLhMeZ%No=w;P}AO| zl;id+{zZKisTGZ0?>sc<>R1FfE+-p9?IbVGO<5Dvq(2E$(p1d~XWCk7qB`qCgHLns zRH(n0hdn#ybkS-bTVBjj;+#EETTlUF6%gS|MQ8i;B&3D3HxYHEPyYI^4;@J>l;Wvr zs~Da>=mm#;j^b5ckz-SF|CMa^ohxtD%zeUiSO8<+TFJ1z6BlDGz9gTZf>N;l* zfm$Dx?dDK^{qf7AeGc6e-+aoI*Pp4;nKWnkwXKnB&J^DnA59G|JBU5(Ee%mbZoVoU z-qG{zT<3zreq(s}tDyX9T{)VUKz|z+a`MU%QpVGG8QZZ3sM;IR(GJ>B)g4OX+BK?Ht=bV?%~`Ztx4NcrQ<%mM?i?-rd4D2abN=n`U9ef_`*#&YOno zo9N9U>wrQCT{InSkF=hL$X|UWjCZ>l48f`#4_&b~*109YzKfuS=bG`2-LaW)Iz#5x zK|u~bCWEwTcIiAMT+i$(?4`#gX>-B2~ zG#-8f@XdE@7{7z&2;3=CeMW@%S4!Y%ANhL7l_2G5IB^eu5H~hlL?LN zqjUW{6WlvkZOXr_MR#p7U5jCm+dL$=DCTso(%e3*t;yEU?qixRJfPK4TU*=2z@!~k z@ZvPm2AW*_Ym?fCe)v|m@w?c21t>kP^(l&;?!)GB{HtI0yD%%;$kqNWYH@ei`bfjitv?o*1617^{%|U8}=a*KlPs7ee z*dZL^WP%skL~27@Hc$M{Luc$s4Q*w;LA8~)s#Lrt?A?I%wL6K^r`p9CGwClQ%4}|2 zIk3wMoIW~QS8o2Eh9jhywBrID*Kmeu9>2v$MvuGkwid&=(8Kof5hD8a;J23+yh>>i zK7TX28-Ryd`oDL1-FFl^#|`+K{9!eY+q>=>;AwYvTV|F3W$KcUl6Lwkn^@JB2F?kt zn)64dQQCxdh;Um2@ zD4}cgCV>k_>8&I2z(+*Cb^xDipt9%-L3`pEcdxE(Yu|vTS59;@|3L~fS967KcXr_z zkpkyp&|*%{$k6pIFCKRyEV{GdA*bE556mZRfu}pVX*pgkc7c|{!P!CIfZRvp9)(8*tPHD(xJ|GNJfb49-^4||7UB`f-}@bKxGtQ7yj>(~5t{QY_1 z0ZkQq$sT=r#~S(2U&Eu$XJwBrbn_)&-_0Ll9LV%CLOI$7lM3%31g1C0Lmpiv_0G^i zlqJ)lRA;=SBQ3mnB4mSFLwV;H0zJi=UtZ|f6I!KnP{jjuYeJ2eHfCq?r!7{_(SO*P zL~YSOn}~)~A(%e+iMVwu%kD##zTl9oi2VdfZBu#A@x`RqO~HigKjw>k1eCcS z4F-U-^?G1z*H3;)u>$Hl0`_>&t@s4w0@8$zf0)9A-It28K3OJ$) zlM{J6*q6dWy|9}a;%y(!6Ha%g2rF$jCz{!qG)AoJt@XTr$v`ql;ybCmyCfW;($ez9nRyz{;e8Vj}yP!{bQ z3mD}FzZA_b_|N|jeRx@&O0l~kn7DGcrf?{7*1=BX+i?N7*jv=9X^YP&@gbYuXqVn;ad+^G*&)(H_4Cvi3S7rOd-~!R-cO>_!?9TTmVZ|w2qS-mdbp$gl0Pf_`Oo<6 z_`0*{jarKpdk@oXUGk0E!FJ|=+y*8U0G}MuclSu{{pNJwV7X}@8NZkToMZoZ1w+i+ zAf0D0!BDj?ZQ3@^O=4#uw$Uw5(C@eG=a+LecXTOVouK++Tzam1-iZ5lx#Mh{S;dDN zWt$d)4Vy^m1c>}@43sV28sb4Pj&rlqnh{*Tt&sCi&1|T$-*uQz`aC@A-#%&yh*QJ* zInI&!VJH8zaFI_OMrasloheAr-V_;|yk%DBu#CTc8%G=Zp-c(VK@(>@vKvh5VwM!x z&`PL^;Dec!uot((Z=Q;rad8^u#~^|i)}mQYj)&$ODaR?t=87{Sw>TYhD)BH*WUkLa zfvkP862=cNVsy0wbn=>Ye)T;Mql3_#u&q3pyO5)%U3H7=%yX<;+_Qbb)VoyptR-!! zbBrY=M-{#HY<6_?cvh{7i19X!@^M;f>Zc&cP%jq-q#g>Fhor8m7mZe!bglO;t?MYo zhgf}O@_n8PvA@o3{c7*?}noX5j=H$*9eNG|P+Zlp6R~-2MjOQl_fTV{w4*hU%(qkOFmUI|Y_> z2ieKG$%1%x9V9p#K?TRZQ-zJI4Hqyswm{nuSR^7Ai*~g|?F?gP*q2nY!Ov8F9Q*K$ zG7Q@Ybhqy!Q(k3GO<3Cd%LFH%{-%s=7M%k0i`y7s8mH(j)S7A`2F~NIT^)9yeKt3L zy|8t0>%y^EAMr^uzu>!w-3+#YU{M>u$Ukm@_?|&N2WI7JUb^rRK#AO^!<2~42 z)XO*C!&2{YGjRPsvb)Q}Fr|&Yld&x>Z^VortGSsE4yJPO%oC~0@#mSmNF4VzUj>R2 zIawCwrmonxZoK3%cb#iqK*W=0-jh{W9D|Y@lP=tiIXKz`q3{#q0;cOnP1Ja2Z3wB& zeHjVgIJos1Sx!+ojk0uT|N0jY> zvqfy~H6b`YxvVYbWBxh}Nch(n3GL=Uz7O3luNY`OT`+V8wM+@IVs?NFl9M>vO+c{u zX@)gdbU3d1{Ljs^#zi!bNct3$lX_{YXGa_IJ=xXQ7_6}+O*{9GhCt}fMx*_cNm}}Pr{0UB; z^X7-jE3s)BRp!D_?|_y7Wsju(zxo#dYP^=>w(`14VF32Vn{WFO!0jG*gSw;>SCjs< zixvKjUC|UwIIYA?kb~a`MKa(yxx9d1RXXnn$p~K8(^Bd z$UA@s7l|gafk;Bu0aUZkelQ^BCK!BYk$Bp7)8nxkUTyu@L;6`0G-oe=;7jk%f7HU4 z$KPK&dI~Ka_~PC2(W0`|0y|c40@Rv2 zOa&U-+b=HJI%Ql`Kl<^H)9FSgXB80qjG3l9;B7G%DW-D(8gdT0I?{9?Cl3GkFlhN3 zQ{|0oHyay7y${P|n9~^!uN=TP=e@IH?G2_3Fr9hZshtG!T!3_=3BPaHEyJl(YN4? z+bMTwbK7~PPYP*|IzE)vJet-R($83;fwOp>*2wvV3PZ0<6`?Z4uPX)M#} zY%usx9LAc1(lVEg`Hb}S8KxKhB7muGYu3y)*|h##^uO`CBpuFcb&bi>Van6s%L0#| zEWhsne2)22@PEDiJkS2ub^kGqH~6@sU-xJLkji5NyoZ{$UtvhRc_1+_dXpo!46YL? z7zV>~Ur{y)2zD_effr#wj7mz|44eo~0%=x`W&^KQaw0q6xaj1tyV;k5l;nj~2BqZa zH2yi6l_rFFQ0^YtR&c;rWs+v=(qORZ2;)SDm5=sy(1&$>B(fBMka4G@oGpXGUhj-R z^VRDecqI&UT8KKc!2-Sdq0bC=lIIPE%Z*x@xOQerNHN^3+)!u3)vK-fZT>D+5(89G z%gLJ48tNG@kN3a$1^*;wWaz*^olawq=+PQAjD&zda!E@_Im?g#{>M+h@h67!&x*#` zY$kKF<%ToL{73EuzPnJbZVov(PaNLf*z9lnjlH}yD8tA_{oCQssrJK6h-~=G8$y6s zS-h^ddD=EEp0N(!8?iRXHt~d<1U5F7<`miHqdFXBvb7|hKAtt#^#HEEEOzAWs2}G1 zYmSBEoHmx}Agw3|PFu4n|ALQR_6|TKsWo=iPyIXf(N^FQfA|no&==(2_Wuj;F%edg zbIy)#z+OyRPmoR;P}#T)b8BhIX$s`0!bFl?(T+h(g6O({vhyM=sm4jtbl)EX)3WQw z9jG-XjPLR|1{`8EKVA3O)4yU+F1~Vkp|RwPn;f)cwWFx=98B}448M#P`8GSNdoh%!i#|A199SM4mDQTPSePQv<_*wwP84J@{Pk5 zu+x*y16Ru@e0>wOIc$C)v|35v@~r^vBYQj#rx%j>aT5wsfQv&PY^}ECyI54W$iPT5 z$i+yEoKJZvcu|HIV5e*0g{-7wF`&cZ$FvOVg<#y@`*e4<-y7%v=pY{fcmq)0?Jiyk zpDzXbg81k^8ZVfp#Rr8%oA^z@(aVj4#|X(bRZa>?BOn(emM9Xq&N8SiaOnuEb9mi< zO5)*U8LX2`8v;|1w|G(Qm6rBhNR;r_#10J(A91PK6fKxgo z9vLO;9zTre`kU|cT}s>d0YJ|pPH+EN1F#nX%Bin_xmeML8PQ+yE!jZOi;e)Ae=LX_ zm_7=U%yOFk16V!%zl&1rF{S$dgFS-XKdi_QdkRi`>emPe0sNdUvvrA_#cF-zB3VyoA_@#sAGYyB%cuQs0Y3uB zrh4pfq>#eAR4@OnS6s8v0;i=86JJ>~bK|_jGN%NbA0nym*|I%Ao@18QWaU360zNYK z=jdeUN-i$vj5_%vjX>;b>)G40u$ z=!?e~TQ}ipEcgiEKlceW%dcP^-4XdX)mIh(=lEpwPii&L=BAhEhW3vlssjPzNevtrW-Y zR9`!<5a}G9Q~Aw$h-RUbeO~%^?Z56D0R4E}0L-c9;2%ytLRbPH^na{z*O9|=^J2|m z)$obwATdf!(8q;l7rR+f0YMK3TiI-G0@&O%zk}@^pArnXYUrhLoJcpe3+YT|<@LjH zQr<2I_k!D^ffb|b$g2lNrAk|O^@t(nyxYZKzKE?2drAdSjBI?mFhtJ!$a!M+aF0V1 z0n7sAl$OJ}lowz=7A_b^Mc6uh!3SbtKq__=WjiMMN8QEn#8EWILFp%2Fw_d-h5wQG zhWFb~AAR_haPm<(r4CL8Q-%;s9!xpe$?bc`uZp(8zxac&&Jq^ zAsC75BF}Ez!`vD#59PXmLQ~XNI3`Lcfx?!2j6{}h!=zA;h0c+Ap1bhlA~ZnUL&@>d zt{9Gs{y+;8j4ph3BFrB;**abdoIUlzwvt$^wel}{ZHxODMFs6Q^6PL`Y`1-U^ukTo zFMr{80D4+IOA9Y#V=(oQ6rwC^!)_ioCjDX>9|63}Me#&|{4Vk4U|PkKQS^`Pi#i!M zarEI8R<+LLe10Bhr{+0dsY|$iP1zb&eb*1v;V3Up2U6Bw+ebdWqG`Zm2WgnLp9!OQ zL!-{IZ@z{z{=^PN;R04szV)$JSK{@9R$>V@s*gM?rEbLuy11r^4U495>KT!iPU>AX zI@wQ}6MO}p`8fQ?gcIw|?oIP>g3MIL z9{y?RehH}ToFI#BqN%p2(2s7w&1wME7cJkheGHv!V%wOc-vfW`ln~Hl=BG8hssb3* z7_T4dDWyz^`jhE$FLf*xXsJlW4`Muh^wqD>9ah9JmBv3}HtY&A#&9U&fBy$hzxmCt!GN!Q&kw*^$AK`CnA^)2&=utKTU(Sb zefdlLZ>P7CX?#5Ckh=Pr+^q4_Vi_@>^Q5mZ`6CIA;St~l&Um;OIFQKbv*|J4HZE?X zAx{{1cb}pcw4bRLA_6{+_GwKh7d&ks!dA{eujiYF)0g#Gzmj@xtSdH=A+?(C}Y1+(+ z_|A&Ch%UJ=57FgrXA0XkPUy!XLzec|?_(svidY_VK>4wgm$qw&`ub?b@rVV!BrgD#9g4^I$<3!U;S!kQ0htWvp6JrPY@|*pI7)M7Hyhp zH|`BQ+K_$wEfof>ZOVxZqF)}&0*( zxoGsa1Ez~wq2Ag9<9-i8y*AI2f^d-5kNrz!JkuZZ5`H3;*>9PM%2!JWA2y{Oh0?=Sn3VBwbZArAERk^F@C~@|A#;P!I5M2 zBx8Utiat4r@Z{uUtt+FFjN5;scZZxKkudBfqMNqxnb+ATmMJ}UXmbdzEqjExoD4N|hYu)K@67##&4yJ=4y zJZ$v>k$9$b6VhL2B<@KMF=XqW#ovpUjg$R5H+Ap+>1gAouOb&iXw!9^PDv*L=Y@0K zNGW0^hY#s5N7{3*PRN>$V)<8%UnYk(oU_l8NMjy(xkT0ccY`JzMufvkT79utyuhcc zzRsxQM`6wb?LNi;zMt^7cO5;)wfT^71q4}fjr9S5hCf$cAw4>eM)3`4v}e=-;e*Ro z<_o3I8TlQ$g1+{`7Z$k%zafy)Tz=`dgL3+f0xl%(i6hq0zkE1O1P8W3x+)I8GpbqS z0E5h8b6i>&8ZUQjh$8|o695Z??iT87>dP>YWHr?yH?2lZ2ZdszBQE$}K)o}}56E34 zz(caqCM&80eRYNDmy`Y2Zlj{Dh=Y=7_LMhbRQSesBu;Kfs`A`~bg`)>^1!G$kJ#T?RK@FeR+7~_smbBjUwl>CJP` zRcMohg^X$pSTQ3zoia;!tRifl8JFG9_>5G4zxVwgKK+=F0JLd&oRzOLio9GDJ1OYc zeC3_LBc$9{zxK7zfSDr1`^C)@;Ta>?${0Yg9(#26@j(EKZ;2{4b&^DH7thQM15Vk| z(D8P!I9*?GoIXh)aLj4IdC^7Y=)@93Tj=N!hg<+>K7=)H31+CEtV$9R-r&F! zv!gu9_mFZ7*`jGW%vVFNug6YfpSbgLx{jmUP(m9tI}~h!F%otAPlE8w0KUTCu9WL( zB_U?9;Dc?j9%D_vn9B(m_7U>0QwoLt7DFyX3YgQICdx6Ry|}H#C_vhB%$2?qqsFOS z!;07zz7Yn;8!km!fAZ0Hu0O9?X_gx|%@kC+Wr+1?zL3<=4jVkVseOfg5q{r#Gwb(7 zc~w70UG^`F@%)1#(OGANNBmh2LP~cc9T{fbAqSUy1YsD^6On_PpaTaVPIeUSRVegr zV9=e>2;Kj*)t|8;D7KS9RrQ`HvRD$qws|Jt-Vs1YJZ6p)O+6QnK6DdjqcXpmU1C7? z!gue;)!9Y_OFl=Nh?us`!>*KBapEep|4gQVV~5Jcn0=^y=}|UiuIPvHbGT^L^I2t% zmK*W)ZD}2za&PdB-()#;7Y$Lj+OrPMy=!)8+~~s5QgLl_^3M?QWE+~mFpJ4uhNr%{ z1pF7GU;5IQd!=ViD)LVw$fJ@TLRaic9m9Z~*pc|jPk!?BKfe22RDAacUrfgt!xLbA zbu9byD04z5(tOuXlVl#-NMpl`$_#Nw5g&p#5ZZfo5FSa|yM2P1BkDcF>{U6+*RBZ5 zCpfnpADf2xBNm5u1c{kx9{NCjTL-f6M?V!UzB2|3NlV74gvY@Uq`gTewIeIZ-pP?| z&#_m_vybm_!}Vjndtuq!jkSJfC11t7`jTf0B#85xzX0(2As_Ld$RR$~3ci?f<%dU8 zol?7iuF(|-?qP}Fg@^h!RLwK}4h`XOfP(2jji(7d@Te}}G%#+2#r06%SY- z1ZgDc=!NS{y7>dZaitO}I6l$=4J8(yB(B z|6yxGd(aO41jvCjRXd%zQd?d6@oJ`eMO7Q`Qp9+Dr5wLLxFLPwe^)U9C1R0vE*fP_ zo=LEIYTJ}cf2f`r>;&+lsKZSv^!BRDz5`<2(A3!U*#sGN1NJ;1vlQOR?e1EyUuTdV zIc8WMO_(!w+mH8CqJ7|&Pbz~jVLES zNUk-FVWIgVXD+CF-IzaJqlL}+FgFmp9(8u@QfA8sQ{3LKWfwqWZ!uRpA9K}e_ z{)Hwh<82pleC`4UVLSKH0a&Lgn#e2qZ4mav z?#6Ta=D>@+bHhCKS0l(d=kGg8gInGl6BmQ|&jS68?Q$=UcDpzzi?a6eBb}T=N0z5; z*0MaDgB`|5-?^ypZfcMa98!B<0uUMyv9!%dm5vA?fb?1j?O++$}Mzr3SKlm~q4}G|J^1%GDN&xjiN|4ku9?ic4q&o3yN7)%bX0YW| zvKL|b;)H0thc-3eE}pNRuU}n|y5ms((l>!Lp--N@FqwQHF@Ocr>^PK9+5kDO{_>`J z=1vuF!n-ihmu@M}I?S^pSA2)7PueKR0u}q%Rt7tpTN~?RF?{iMQ!~#^!{XLgB+CnW zId`Uxn9ebHuCEmoX?jB?B{#6(m=+K1atG5Gg%f+eo4+$RwCQ0k1X}bi4+kw?RQQ%= z05O>FZfJ4Cbm)Zjt~9h-U*;AJwbD7V<}R<1*I)IiO+@1-g|2vV6Sq^L&m*2XFin{R z^ONes*ELwXMRovQTUCx;8`^;QJ_`R~#V9N{IYeh-Oy$Z+%8O{X5iK=pE1R?!7tWbx zM+V7Cj=rrX`eP86$jt{aS9&Mq?A}t{66Y)W+Q~_@#LT$ZvvWnI-_68X(sv4!XR51Qa-|n$+@r3%Y4dM-lCq1LlUCfwrZe69UTE zx52a6=A%CODk*#~M#(9oJP6doLmuqSzmo}sZ%&G-c#m#+@DI>(Y8>G3@SGpmGbi?2 zN7|QQ!LTyxIf62^$QfJjz59iyZ+`Qe^t1_G_K~(#*TyNsdB(W(>X@4a-}%mWp1%9n ze_h;WS`YNYheS+k5I0fssbSkyPCR21^;svj<2^Ebk=60=;wa;8bSFc`FI`;O$#b?3 zAse=vUpG%OHlE#Bpp&k0M{hCF(Z7iBZ0pPE&-3ZtadKR|@Hmm%42_{V!@NONnn>d2 zA1!kvmV+BD8~b+s4}b8(r|*9EuZvHKmt`o25>v{nC3A=LxPd_IYk%~${sLeb*-g~u z-KN-F#IFO{1@3gNsatpBb!{MTzPe;++>2v3MC7HUj%J|RGnbr~60;zvbY#u7Dtp)Q z$Z&DMMW<1o7?-X*VanC_uJ!=F^eSMkz%{`{qAalHDqTwndjujZgt2M@;%z zI?%tHj;`o>A453b0v+yrGacA-`s)h(QUXnz-ZbTlKzM-DWAa zBSO)Lh|P8Chc0+Lx&~M$rKE9SWVrUebCi`|y7M28)($FEJ{L%5pkj#U*cOX)}cuu#8MvP8`y;^syy#g5l*UfCQGp@p$cO+6*G#`HZo3-9Qa8{a-gLRS>lVsGQo z?+#e{SaNFJ9L4Z-?Vmc88J@iPQkNT@)6!7>o#kJ=`tZ$_nw#P$R;SFx+Aqy56@nm^ zob5q?pnSZ|H**nyMlIIK>xZ=YD3TzXtILZ1bU@#$+W>|q0|%0y&|@wPL%yv9%l$my z>_XCc31bUPL7te~`0ADg$oj<%1CQ^1_kTQn@9(|`jb8o_=BOia%A;`!zomX5^YJ%7 zZcbbh-VI9|`nXdd$v`tYeX7Rq{LwFX#&HMFEM1ukAinDj2EuTu?=+E>NtuUex}>&t z9qa}iJ?O4uZMVHlu^amb&c)Z(13AN)UmEpME&%15*tDss1QwSF2tfAc%=i`Y+)6)v zXvYtOY>y~F^%C_=nUEpM9uj-SvFEO##@%BQIXn$$_u4Ms@_d#b@zjvOMLE5PQwpJb z`^K*9!=sJm_1Q!qdeG)9o$_t|HNiu(vu&<82AO=>p`V`*FqB;jj-R%V4b2*t`g!Qd zB+<7@_))1V1A;{{+Z@}E`EudEkaqxb`_te2<~K`+2_UIN+=Wf<3GPma2A{0$!ndFc z{0QEJPSvx;$&jW~^O0Z&CJ~p>1u=q zT|G&sIK)jNzMOeYt*RZ4=y%eH5Ix4^#g*184R!QDIf&TNjd=+TS1Qfs*}+@*s3k8~ z?35C%uYg6!_*>{99~? zvVDAFpWV{OSHAL9z6|*Mp8*5>Z6|Gdyi#5z6xXr+U;pyIKK(6!5l~#^^Uj46hjJX- ztWFHXm!F2H(-@rAT237Kj#ICU$(u7ZNf>)EVFQ}^y87l<#k6UZZ*54Yj~}yiWvulL zL+a(rX!`=}Gc8;k5T+YA^jb?YB+jYuPihXfc$Dr3^>^Jxt!>@vlz;l;(=qiG?x);j zedoXb_orX`=YM{YYU=S%^PjAY_?2?(`_2E4KmIsdo(f$zTs3qsCUwR-Ei~iJl*tiGoi4~sh}|e1hfXr{{g~7q(pi<%UJ9o3 zM2^AD{IPC_I2{L*;7qeLB$7HfBer#^%u06Xq>I9QpOwjL_gJk~cy@K7cSC?uFD%=E zpPsJiuWGiEL&$aU0#EzO?GS{6Q!fjg+6ln*K4VM;X3V&x>AzOW$HiBd+%MvlOWM8#uDlm^-EG2alUz6GVJgRgNJ5V@sYAB6)QVL= z@s!l=^wi0J`Z{nQcK5as9%_tOTwMB_4m3C9{i!nTVwFb$r%7zSFqBTg4QI}u*Ub8! zPt@xAjs%aw3`(lU$%Fa0@lPZ9(@fS$oUhqLyI}QySYc<=80LqYDkjpGHJuahabe>x zZ~l}M1oeM!(_!N?|G?ypr!Rl-rKdmsS8VvN6!mT~O8WVBXt7_)Eb^;i?SBURzyHgB z;f@=*vpO~x!~)TeVQ3!o#=&uSOzuYm;$+(fEyq8r;vIi((@_0LsIe|T%Iw0}y9FX> z&y(dSI{wVIm{>Tt+HrglfIlm7t9<$IqmRA{ zf%*H%0gHFrit67~Y?(o0yVK3ia%l|m>A~Fi&5qO}@?AH_RdTR2l+~R5yQyTyzJfAs zbBI49k;V~w>rmT!IJbI+A9g;7VFdbz7BazcdSKyL-pbP^z52Ekrg)B4LqpS!c}^G4 zsb?H`I5*HNc;|n3O6n1{@tK(Ltd)Tsjf#g|MO*i&*zvg-dSRX4N{X?{R2G?-who&P zBG`{G89iOUOd&9N^V~bITEYp&sAD#|r${I@g zktRQC=aYqe(9cBC%eEaMICulVV1uWAZKW}NZD@1wGu}ew20*{@x6D#CLyHBDVV~g4 z&lR(M0#=W1JZt-J`8ISOyGRg3cz5FB(^bqNtg%Ir42#uGR*A_BFP9Q_(xiMQIPw7c z@F~V)pcGV=qYDE~J5G`fxC$#_(p;^cc*7nBde|=;&L99=S}3@Ggyad;=YLY7G&;s^ z-9t>}!H5or#nB#=aUIq)wKqLNDkmA0>>w8#JYyNQg6dJ{84Y;57|rkOi6bj1&ve}& zwarsM`ewadY36{M7O0kCZK2XuM?SXZoN*nTBmd@GZ$5qNkH5vYqGv~s%Wr(ewQ+oa zm9YYT2t<>$qBj%!&;R*9^Cy9S9flq%)4z5W4~%QexmF&DCvAB)^xGh$@)W_IH0Ns% zv3M;0g(-4-S|`P|1Px{9@32?rg?J%T)7GqS7`i)*(AF?YHd&F z67|VrMV}MN&cFKBx1K)ufS-uQLFYvK1DJlcu9i2@q%dDpjE|%G+n6#*%MpDqmaZRf zU45sq-|~mw`q4O$-O!2$t`_dPeT9eJ){=qZlRR_rDWCb9clFG84{W+l6on9vR{C9F z>>R%wgIx|>7brD|5N)fUA)3U{{z5?hiE|HR)xQ^HaT=ea*SxST6o(G=h13h3Nl%E7 z+eF%2od@($Dpd4(p#_Ap@;q#plaaB318qWE3x#mvap?MAB4FwBolkZgm-Z3y3qt&Z zwb776!KVVIHr7b`X8Xi(2Sct5>h>O+LK>vAA>Mh{3j4e1g{_SKgoq#Lb+bUD>8Je~ zi0C$z<&re3Qhq85VQ6_09@l@rK%?YqEo9*TXYW0m?MtpY&8_nC21&>}5OO03A^HVK z&d8B?4PQS{dY>VZ37x`HNtwMLP$ z;0j}5Z~uFp0JZ7_`~A5fm~Bps+i20zTKPftHLrQi@#g*L)p#HALa{zzI4+q+W3z_DvuTi4{3es(SxL?Sto`5K!d1qYwBfum?#8hVdhjF;ZTPtpJU!)5o-fF9 zrUb#mwVsSo%6z&%cn%l!1*<&FpUE-srgk;M`3YbA^Yw3hT?W5dw%5>uKhxx&dZ%27 zvG)~aLy*SL8{hcG{t?ikqQ7oTtUVR^wYGQc{RIv2&PHua`r(C=hp8ZL5tKLXT0$@p zkneo>R|eLzYg(-?y6~G@1hg&Q;wIAtP#Z1^@u?Ml8Ea{5B_AEW_Ozj_*h}X8CS)q9 z)jM&3hXVdAS-vIQ;h0ul#|G~ zzZFwlnc^S4{S02YaI~){VR68(ENU>?=+6udArt9of7({h-cl5&Uie&>=l4* zX`%gMr;8Q(i{YGWKlS*NPhOeeAmi@2$Fq4tH@?L*VU13LFzqL^^@p&FIGq-ZLQ|+7 zgVK3v>LY2ffXtT|?gz91rNu zq@yRLLo95Ssc=(?tN^mcK}&q)&{mSDFJo7U*V`QDi!LT;HBsS^GXZ_>Hh-*OT-&_!0aD3zI zUq8O{o$r-%Sqn0m^qd^1xu(BKfCjk@eSzj1w7z5txp3e$N5zz3!)wkeHp7uz!&-ie zt7Qvoa;E)#Q<}ogv1ill8JQiYw)G%iaUizE;9QtcXkPGo)~ti-DgTm=m$gl|Q~Kv~S!(5*t*J z#q~Ga`oY7{=fZ}i`mP-{omXWdcNp&=bYnO-TRQ0SA3sO9wPqycb!;#MmCKtVu2qu| zWqdQw3lN96NJz4ws+!-hR47O|ek7Uyf##mp57|9LGXykdNkQi3dAOH6;VR@sWeFRU9Qsi;xDXmzOtS#?U}{4 zpJf#*YR0F0F@UHspIt9>t4|3zt3csvYcx4dETXHMql!}TwO!FT}cw&1pGJjwdWQBfa*I5DjL$Q;L&$F3Y-_`>Ip#~yk(`DV$h z0gA=3lNV+AW*?FM-kwf!Cc=hp7uM{qBo17zY`Zz*##mw#MtRO17oKybG36B1mUCj< zPDjtA%wMx>%xZJSow;dnL=#AP^qm*~{Apggm8it>U!jak|sldv(j$kWF1Z={hUTem^@hs1l7=-}KdU4wwf4 zTt_;D9Gf4#FCQ%?;=p_y^j= zc_swjSYNcKjkVj0>MPKvi=LtUTwN>UvYX!naCQSA{L{i?yr*cHK2O?tf9tJ;c+rq8 z+PW)h5*EezXhF~70v*s4}j}tHoEafPz$nz$X_#AeeRLf;-ouPAKWQmr-<>A z8%y3rE@wHpD-YeGVS~^{SkUS3_t^wGT?8FuQyFbB_7~$l#07M}?C!Rcc$Rc9HbQhd zO4Ez=48<-yBXXT51z%gqO_J(s+n@ZvNDDwcA=V}lLhuulxI)$Hh=7JP@$zMcJKt?> z$&R1N1z_F=%otnnjNkCaH}UCjzY}2Qqy!X~)@|#!F;6z7>knrEi@!r!(r){~t;ZK` zypeH$&H3bS+v z+u#LhblDmc<%SDTvmt9Cs;htU?Kj}yD-mAE7a_fDPcYD(yfhTT6kHubFYE<)@ruS6 z$d3%714K6`CYyMC#?Nn#NYZwD8@#Y3*%SxJn(VEW97Pt^xOZV|_8X!u7tjN?){*A7 z5cAdC2r#!fqRj`Up)R%f#^@tiA>>beiM7}A+@cti#H7imwG&*1^;P{@E1o5&p#Mv0 zRG<5(j3Ce1o~b{A>q+(2+UMs)_@@x{`m)V&|gEY6hL2HB&-OZ=XgVM7kC1AQ4Z#$#4aI!lx9#ubFDHm;TBcarmo;;W7$VG zad#K&-FoW}j$60^$RG0~(wXlx)Oe?AXme1qVhqyB@f zB>Xg~<&%z|HEQaY{w)CA)%z!}T)Fb_neR{QuJE2l`^OIYU>M0OH&#Xy+^n?V+U#RG zIkQ2VYm0X#$l{d%cP*5}MP$w|rX0Cd9O}%gAo|l{ZY)hmh3RY4u{u2@uCc4oAp*rB-5f}=-$P|{Gdki9 zZ_Wj79LStB#VF2^@#dr62rQe%BhuJW+mZKL+0CaC<)CUA|M3kE}Z7I4#A}UN|o} ze*M?p!3P3gtyHuW7@;({o#hG^n%u_C4|q~T4VzKttB!~GK;UOS``P1x`yZVA^m?DV zLYdRq`W)M=Jm=O}drmU0(q9thjNch~bii33?eegx-*4kV>%t+^U9!1AZ~5!CqYbU* zL(otZQ75_4JK0;Cm;%}L<^T3CaG=d9k|(NX{ajcIq=ziZd+zu8QeGb)dF0XKbD#Sh zAFO4sjRsP2 zsILb!!*V%_Im1z3u`a0PvHHpxw>lmsU*|r{?-ycXK8sXNWbNk6GUl^K$a5itHd06{ z?`UjH0K*qU#C{SQ*?{tip0??qa9V2miY|0-L_=q+g=u4PZ0TpwEe!F{Pz2TT0705K zkxhcUz!cVowjv~>tiPu{176ylg{p${vzw$0EJXB-$vtF&ao(|W>$?1DkCC3?6<@j> z=B{W;%gB<^M?o3KNA5&dk>6|vf@ucR9XI6D>utUX^%pyWecrA-{`g~zXTr`IzhJ-R z{tIH9tLyfY4?XnI{Fje&&L#A(x(0Xk7%LTw=c&HXcg{RJS8G0JaWih;On2!q!Ihe{ zs#>j;5-O;>V(2Fu8DI{eoo^TxP9JVtcK1J3@jd<)pvAE+6ewRf*9Fu$RZ(zDh;t-8 z!xwb*&4=FEJbRPj#@4enDU8!qfI!;_#T1q}MP9%s7o_aXk?x6ZXKpseH|>peGzy=y zn8xj$B7dd;06+jqL_t&!z6~}^XvQqbwI2)XWm@^=Q?VEmw22)E`+H8ZxvY*kcoJtI zM<2!Y{a-Hx3V3}U-zFPEHb!#PJ=$bU)4S7fk;m_m{o$>*9iROlpY_|gSm5i~J$8#5 zf79i3K2B2*=(=RVm}`BUW^&|tz}ISlzU3#D2Y=Vyl0HtZA<9T%ol$F_#ol~4YH%T! zuCc3Dk&d63pAi`7Y0psTtm#;}ug0Xwr`iNKH`-o1St8oQGWz~kJkJx?1YCV)qrk93X4J!=vO4QHpQ+f9+NRC* zP|Bobz|eU5jd!7wzpz{n?p`)=eYl|KB&Pn(m;p=?<=R7!-x*e~(W$Dab>M%;9SO5$^NR9(nlT2f;PaOkI`@ zE8sGl&OLem{SV%EnV=iX?*Xt7dtb>(nn4R=o=H!USU668lj%g!>4_Wi7n?9Z3RvVC z@ZbWf(xpS1+3sRn@yT}E5RcyJ?i9K=7gJ~!iFcxdp|5Suu_;~U1i+vk`k%4tN#B^g zj3ix>MLF`lJPV%B6y{Uq>w1Cl_Pnrz(fQ(uwCU;^7?1IvBMwFB&!1c*vh_V%AiBhui-v)g$28_ElgTW-GPxbeoDayE6n zG$6I-uA`LqZ%2bbUmRr0rMnVX){i>Qz5e;%4P!|+6#WtwBO5;(8s*WmF4EgYR~h}# zfINQulP2rG&yo_Q#qQ;rbSl;YA@1Nv?Ll*_kO!wCW&T=5&GW27r^Z^6Nv-_chB1$~m| zd*t$Gtzd|;bM73rS7-~_-Wt-7vg$ZTbj7jP&9VuHsHgf{`iMa5$37&g%cQD==}e2a-6 zLb?7^PKg*MjFCscxN$!F9-I&N0L6V6m#rH?_owzY^|U;3>{xOgKiX|Gg$&ruP5x{> zaKxIHlY+@9<%Jgy>tnWUK?CT?xac+$nfSy5;m_cL`TYzjr5vj@gna451?XOf$K@811! zcO0l$Y-(1-feC2!>W$Y&QR&T`S)_{%acJ4gjuF_hLSH=ey~yI%JZm2R@;R3WU9ENf zX;Yu~`n2s&f29nRWe<&<`NMGb7kyvxxc1!$PkTV#fPsL1U*wm*ror~K^@|xH|J|^> zz2PV0SZ^4#Spbk($3k^>Bcg9Uz|o#_v_4`zwuFXWw)CB!-fki1{&&D%`}JQ7tP8R@ z8$9iiM_?JvgYf1sHl-T#H1f9U!Y|_b-2eE@@y&03b1vA%ke?XQ*{*8%3=tvZ*7>U)nDh6eFgk@YL(iyFcJeU{fgWOwhy_B4sblD@54P~&Q zIqU1>t43*h5l!FF>td>3I6JNplROSx6vSCSGA8aPkNfYv_xRMOK6O0w;6sq1Qd@$&zi7el~di;MVt{(H08{5-SCHMp0qpj)_Q{BJ~Z=7KJ$aMfb#rkWo!vv z{x}NW&3V44WX+@+&}`N-ZGD^Ub#gus{2@2ITuEL#uZd+MBBPIabxSM z=jjyy-a_-5dg-47upTa}nQI?U+(Wx8&~u!tS?qr3LZ^MEHJ|%sFqKcSI0;Nf1*7Kl zJzJZ=on-7|uUE3&c9`BJ2Y4;$rD`Awyz+dS4f8mO@?RJy*C~ z4J&?OaiY4?3-MH{iLbWC)boI>S5h{EaSIw9py9dUYcGxpjitFTv^z0FS3x}(^yoN1 zhM&XzoZLmKkUJB5mPu z&}YGqKK$tM@sEG}_|a{*LR8;NtMh>0)R9}sW~@`4498pP4vq9;4@quq_ziK6rI4W1cPRL zbHhA-&W+yi^iBP4Jm@|4*ki{hKm95G>CcZ7FjcnGMIPZr%H~+k!;xFZEz>XyqiB8l z$^W;%`K zXRgFTR=l8)7fv;?WT;#*s5v9Qn!Rl^weTQQR- zbyb?YN>jC0bLprnjtj{8HWyk!d>S#S(31m*)+Pyb&Z>Fi(R*>rp(FWJRL%mxuQ|NB$r!lHJl=o*{rm~dFZT_A@tWEv?!EWk z=j8_AD*hXw6L0dJY$rC8>paE602xUZMjPjnkEn-roLse$RM?5*SN7023OFkX;$o^E zU6#d#jD_I>7JzdLIOoQXk#`$WLeDKu`W4vVZI6pV9%P&H`mmPI!q(P)C}f`&$%~OH zo+XH^@A{=ENViCb)9%orp=bY3=RXJddF)9=O%lJqPT&_uUsk}{jd zU{8GZTgIc^5EOQ_HWU+RJ{CY0mU%DIejogM-}7FDlF#i%&v8Jnxz)yM%{zTrw$5wN zMFLsxZ9n=qA3N^k3vGy&{R)3u^a8mV=@pw7c^(9#CVpbr8x;g%k_NByxFTICb7Pwe znmK3S1=vmxxdrdYTC~euPmKlfNMK)k4 zHe=JwlYD5Js0mQ{&+?(auYK)nN#OL78eUqXJp6q;qfPv0ge3!1_%D3ni;j1{``tYI zpFg!NhuxT)bA+gcxlk}%<>LHJ&4asgE>nNKXxX|sQ{VXYI!9z0*wkQhD|&6|(@K6f zf56quS6vQfpi#_S>CS_qQx)1Xn-^z!L-D%QlM}JjLD5sDA^77(E4Xbcs`5n=&t4Z; zA<#=y^CWop*ksM<8$$agRmC#S+0U=2wSGC-*Ux2BU&?PH z)s&>dRnr`1TjJncb@erhTzb3jzI%QG=zawNtC!QJ`Ys1c6dilwjyvw~ZspROf9q@0 z2I!P7os@*2dS!B{G5ZO!Gm*!?xExTz=G~JIdQR+k-r}sSE7qX5W3k_2yq@U60s;(E?j6X9Qi&v zfMJYFNBg#Nf?@B-T`a>#D86_q`0zM>3}x~igF~-yB!|ohZ6&4f69sFUSb5$oy|c8 zxu88@%aJKatUf($Nfbll$k~(*_O$w!oO2R_=V_I~%DHcY4Clg+ zqcM2eh$8;NOO`Q;^0qba-+DHWzWxZ%KA1pC8cBy!@yk-yTs$GKoPh~LnedCz*R~vw z%oYf`LWV(Wj`z4cA@7BC*V~RkVfvBlf~1f}rLvCosoXPJk(D=Qouf5}0<1PRfXPeq zk{0$k*Of*y9+Xq%uwU`PC+*a2kLV)l{viec$WlrmHV^ts=$*%4ZP;zxKRGI3+f z*kD~W`nn+2kQHEzpeG;Y5}}D=7Fo|Gp!Cvgf?x-v^I~b(Gt4yybzQ`g7)iF1d z##0p7#541WPIk7jnZ#(q1(^c~tY;VEjexqCJfy z&;_fW{3X+=IUX6uFMjchkN3a-{k_bsF7D9A-=5VXKl3m?d%>QCu?@`%-*Fd@5Hw%E zDX#56D(G_tjkqVzk&T(A%^Jf+%Kv23nQ*#z8;jy={!c@7W5`~3gR1cAsjCmj`bbCi zXed?9z<@Ps$&b(KwZN$z^&R>myUpXK?Hfy}{wItu6ABD=+-L%wrLlohFVc>jE(os7@b$bAEVu5x45P zGt}Hv16Y(y7;6$SI+uJ421W(pS)3|~{kigpr=57kIfb-6m}}H8 zncuM7D3q2cE1o`|<#KLHU_xur$>+l1d*n7#G=2=$JQGt~%LX(2V3o|yc$NKOw47wA za%wr{C?(EgNtu0JGKc!+KTw+Y27QTAUnY0jYm@Lo<#ooV~LhNqL*yPZN4G-t;4=6lxP$*Ny)bL;V!ANkAU z@9(;EHd6wVKT@19+J7s|IC@}a&kYk}&RsPD(VWODtYv%WvyI#6krB$5K5hAe(#da? z1yKr&>JDbPmc_$b=tny9v~xNb|>pYs|)RBzUb#upZsKBp)7K9 zfz+v~BHk#R$j{YTS<(_sA8i2~?|kR4^N)YtBzbH=R(`{`rjuWnH`d<1a127pPuHAx ze^BuFtZ&d7io0SK+?YIOE1;>};pq;XbjDY)BP=Z^IKB!Qkw3U@Ew)Lkas~&0zIb+Q zzz8VQ=gy)q&W_4F2rW^G%4##8<*m!30J1&fkSCk5Ug$}}7Yk!52Omyv{n6p!Vfhj<-3w2r}3>+uw85uPv9%BJ~Z{BcrU2pzuDj=8x6_KAO zaL!;AIx%-mk+1zMDrpeW&b{rG)3uj}yL_6II{&(49|M|3WD^Zsc*DJMj{U;5Hb$0zu3V@;W5SN3W} zz68epV7>OWuRDI5S9fOJAS@=y^%T51Ydp9RDsZ__jEipjMrT$`wY7{H?@49hqTl++ z0`;!w!kG0;JkWL>#SBxM@ak(GTdNR6-Zd`V{ttw$bG3R(JrS5KbF9vObwXs*=2_ba z$d!7EryEN)IzN-6|8nPpeqzo1spnuYATGeL1n+kZjO^K$2jcV?|ja8 zdTgH%Qihz(2bFz2Xxe1Yil>Pc4&ybq3x2LmL~0Zsr?-?!Ba)LeiM94;dSXnw=tV`3 zZ#8`Clb`(LUGVo?0Ovwm@#i}47=JG1=TOoyGxfwHk390=PQgs;Go)7{T8yyVc+A}1 zh{_1#nO=2)CgE3IGam$OvSzm1tlUrsQaP~};7ZlpBp|hTv4sV zSaC-vw-{>^Gw}792eQS2rg2Z>EPY+sc~O2;MDIE_v?E& zUdz7;{@@2cSRCT8Bb@BzPdXlKI*jFNL>w>3ls)6gl@n6N5^0M`F}sY!+*Og zq4TbVr6|J(O2z$##e~J!R;jw&%|~ zFz0lBCd!UZq6?%+<3!gy*vydKHr;XI;1>V*+~0og_~a))(Kr5iC%WHX9ox&7PWm@_ zHqt%!)hD=(;rpYt-I}X4e922*#Gn7YnDBXd+8d_m<6wGq2fg`&?>d>!Crp1;OYq|b zlT~d%Lcdy(i*7YdF1!?ID__CW3|b>l(scxCzbeX|SSo3qfjJi+aY$fwp$GN{e=r?G zS0(H@X@OqzDt&x|q#(?m)F{M5Uz>*l*K$_uP?D})D0_WbH`=OM7s%#c)+#pv@d`P4 zvww7x$yoEbfb#=W6y>K{k%)ovN`IcXjFatQAx~|(ey4u)k64Q*0Bm?>CLp?pxEG8i zsm8#=yy!a&?+3DLL`?#6%(K$FMh#9~1R-P7e9yC~u-xau(J!Y3brEcHw(H|eDoJZFd zGSZQ8u9GGIbF+<&mDlzS4cFk89BY4aP@$`r$+<}s-G|s-`gBHo+td^M*5U+NbOwWy z8y|Ky)Ja=HJ@Ynb9=kbFsI{fv^vUJyagN6qRAuCo=gbM2XA{3&y>_IQbJW?f#ymK0 zb~(5n?6<$tX>PZl%G36Zgo1kxGRwZ*pE-+%Y_)){{#Ogy@+z(eVd;C;mb}=Rm@%y7 z4fN%idsa@!n;48o6x(&{I{*fMXamV{gF|lbP+vt^Va%L*4Vt9K($MkPl`D@T>HpU$ zRL+;yPNjHhh~xJY4?OU|-Ni@X#@^KL%#;i$O}>dhz(~u;@}$Z$7tnbi74kLQWvSOo zcTsn7x`><%e#FtZjs7Y3npqK>$=RS{zTh!dBiabcXaf6 z-ii>!(Ll8EueqGqwbZiBrjVw@#XcKI*4AbX4*qtt1E%RYEi&WCl**#aX5mfkBmo;b zp`Tjhisa=&&t`*y)rL3v`jprDuFaIy^+&tf_h?%*WTZ6O@(E{nafnM3X)b+1^ts=W zb#TH?estuv6xo=@zil1qXpEVN>#n)(_?_SRH^;BM`qj&jmz( z#9qz3?5B{vaqbQ48JSy}Z~?wTtc^W4VkS;3(wy!xZ3KX>uL$B+E^ zUmUzIdHQU!ya44JZ*WTyaGKu*wP%Q8TmiPKL5qfAD{m8r}?Y_ z`ypcbTn!{ntiTv|>qCyg7`t@x(0U_wmD?}iCFA^)z%DQg3r6*11gCk>U79wfYf$V~ z+Uj>2IR$pz&$DH4EvkOCGkZqx%3{=9Iu>FKKnJi(rz~O3Nhf@P zw^Y#KhXfa=c|b}zbJN~?0-ic9RusGj7-d%TPd$8D7yb+slNOLVi$6(>nDgc~-?YsS zxMAwVI84Xp{yA8VlrAP@#JIX^)3U|b-o!nAjgERKz{r|0CONSVSNrzn_~;{j4e);X zKk8*2CV!WOR@TbJ9R!4J;_UW9BxIG(m76giXe2Ee5DOp zkI)v&cunO=x`ACmlJyjidVU7U3ARXwZIg@rLUhq+OL zQ{^k84nF9%@EWtF481#N#M6bYplr=?cI`!Jth^nTzC<3L+u*bVsh9Cwq>4#^?_IWN zUaM5-l?xXq{aLqyDT)G$(v7ze3``vPYw^3;$$#~)yz2Nj+yq>A{dHinVQ^K}W;mS7 z_b75CYdTd+Vth|-Ovue=&d!-gw%$ARSwGMIeHGxp|JOg~3xj@S8jzTu)4b?3vCR#Y zeuf}mVdTMzZ)`xBK$FRVk^)`bHEC+=H8Y%(;Scz{`moT0;^r?miWi-XrWTx{d9&7w zPWnpCx4-?J8mx{X4 zLo6HP^1@KM5msyFXMo!ycD`fw)x~oxYJFFGQw+;voEvP&mM$+)lz2(A)-n? z&P>wB>+GrSy5?tzJE`-EC1T>~FIYYj35*{4u0&}b^VJbKQKTEL<*z(~i$9poB+Ncrk4r0zl7HCFv%AT~UGZrTPxktbcxaHFIT6`4WuxV_>Gs~S_!#5nc` zq85af<|94(w3+9G84#Vh*B3EZN3;B1aCB|T-U3#nfbt}^I%m+?iIv7r zuK>7+$e^fAj(j>Bzh^RL7@a#sMMMY_a>9QC{wABU^24wv2CIb0gi~$RgW9G;b^+%fIu`PrzE%%aLq@ib< z?&QglK2DrDpHGmiHVb-fOy{A@GbDK0wAsP#_TeN8A@4LH9uhv=Qm))eQ+Va3517eZ zvO^y$9$ipg-)7F8d-}@bK-M9Q^yH(F_;@jpfoEU2cm2k@j-T9p_wl*Uex~{BS(Ac@ zp`4y`wzEq(6?-{+a~UB_?z)^GJ^YyR6}70gem zP<44YIOc5ScHAHQe8dlwBrm7O4=6o<5m4+A*is{_6&PL)6i`HaK5N^xF%;}ugqA51 zBQx4?e>=> zWG?J&TfB@#7<}U(bL0J-^l2nG+Ce9;=-0!rKThb>5Hce+xkM^NZP^m_5DLRNS9{oU zBFtAe{PEP$_pF4uJkSB*CV#2QF)oQhjiiL~6BJJs*OLo{Cb#sGM>oJYiCXSLn1vSo?HWIFriJ7>9&C(rzk&8)ZSco zAxQ6~s|=596Cai)*94y>Ua7F)xfkZCre$=PbA`lMSKR?HzuI&vz%GLAsL6O$lP*jf za?UJ_yn#{N(1Z~bUn?bw*j{bhiaj#rIJ(6%xd_?ZyK^}!ZeT$SKt2lS4wik+XZ$r# zBE5<6JkN3BZ~Ld4A)yRn3G6BH3HaLAzn-i(>8?3A^<$KA1Qs3|wQ*(-IGbt3^w3(O?|aJm zaU2hF(e(T9Z@cZb;{zY~!0|@DzSgg@5SQ=HL)ZUpu}Z@;7~3X85vzM&?aD$s>%1zW zUTb0}QKWLDCRhy1n`G$9TeFEks74et#+Y*GtgG3igCI7rm{UU1#t&@MLMMu@=%Pm&tITh9G=x-)N%O& zQk0k@sRv7VWuUxCBxli<_lUeCY|P+U+L1?LiI*xwOs7;vr+`Jvj|W zC^`@uP9US0jWJa%A!CFc6kb?6=Q8g2`@i>30QV~ZN?%&L>>B`MA*IKa?|k>Wx0;mZ z!och}&h-f|-X@l*4hX?dryQb6qN}Q>N^(+tNQE9CUaFTTj}ow9CezoZ2oYUL`pm<{x1LAUhZ220j5eTCTqMAWm!w}{_%c-&KmEy9aS=#H8qJus zoz4`+T;v9OggjbolgM6Dq{6)!8aQNkj7a)Y`d-$5-_q_K#$E*1Zh5aW;Voth^anBI> z(f4v^CN+*EdFaAXjqSj9|JqJvK6L^0ogzLRe} zyy>Q!k8gbA8-2gOQu0rqqD~K@Eo?09{1wzj#?Bh+??j~SrN=3|#<*!PTl0?3n*!OI zHT9)0&9@Hz-iLngxc0hh`OAd40c&m%G=;c4I^xu~nrE#KmMeSJ_7bU9=^Kw27N9s~ z+Z=VH2VFof{>o&}u~hTuo)Z-Ub3)(T%?Ayg#F=k>P&y2;9ix~%`w%8)bC%c7n!lZM zZK>pkq}S3C8arFtn2ppV_^^#1?GM?~UjrDr61`or7PEbD7R>t>{%~65X9RGIQj2Crkol&3Nz<%pNCJ*-t>vz7}McWL$iE+O-?;PzLZ8o=^ zM(AnBSo}+gav-R#Ol63@W@pheH@M|}WM__y=c;vW3Pfwo<0(eQ0(Da)&!Gp+axUt| z90FB<2LIOYfB!r5dcg@Zr`dZ5&Hx|J%&mo_a9&PYswL!wGm?4a1F#|$I zj<{}a;<;cL1!**s17-T%bb(N9(F+COvY2}#t`Q%!T&2&sul$6b503R!Rz6P#^+*%V zY0d~TI&E??Z3*e~SelzY8OkmU;?axzqu)&kgs3Ra9rgH@hM3_>d+NCEh8wu}zWVs# zZ9hC7e#DotMOzO}_H5Es8|6Cda3-|%;A}mG%Ej`xX_dg^i6Ib>zws!eB)T{!9^#V))7A)G3i;jDGNsBfpNAtGZ)rG zH+bVHMBXyz8x8;d&O7+m$6uOPFZjm8C)Pz3$iYm~s5j`u*f1~T;f?Yt4P$5=r=8Q4 zetN53qKX4|2~-OP!|#42;`ZBr%qOKEJKp%ZHyl@Ado4iniBFxJux}37(xLf^nCaUq z!u8_%H#N3wxJ)(bFOR+e3}r>CJ8vw-M0Z^>=*R8c8WgM>P~-%mIdA)do`2HpEIWhe zycPn7@!1LNl{{lZShReyvufbP!PY$Ub^0gvQB!#2b5$a7_BZ&F%d3uzaeZ-*^tx(^ z=%#r6a`K6d5$`-2e=!-W4|Li)^9P?0o;3?EdqNS{N<=pl2$@wSX5ZED%IiSJRYn^# zugGUpP{s3nF!Fos>HV}OH+`K~l_OY0V4l$l+p}Fgf>%x%n zI;f-9iGxz21RR!*MpKkWCv0T0dKg(5fA(j8_J8r+I^RU{K^~_2(wcTJvx(=c3a{kx zF1{}HFR#Al>T4yIR6{nwjB9l+QZvLgKKJaTF#5N#DLwY+W8j=kOvN>cEOpH)5~OP; z)yZd*b&~0g>6sKQPJ`dYTU>qi;N2ueiIOjqS;Vt>PJfD5Pe4Sdn*waMm=>xwmqD=H z=)s~$?aXF0elZX{zU*|+4cpi!xa46Uza zA`tOj++mXglc~X}asj3(i>4c_&m0?yoh1=z%SW?W4jI$cc@O={&^KFJ*lBZQoM;?q z{LBZc#-E;Pq1&?%e3;K4tg{z7aY7iB?|t`s$6x-{U-IFa`|%ZiJ}e{IKu((CHoGTM z*$Z#a%LqODIPqgUoUvoq2w(QHmmR`g z{mEf5TO8_nM4@@v@n`dtWBp5Ne36dtTQ=nZ8=-yF5DoDQ?iknH1udZ=q(b0({(kc} zf9v=Vuku`f-SvI;@9LG%iG9t6iPFJ*l4cG03r;-yW|X;LJU0sM0QjJ;e4^1&hwK;b zY38}NYFtqIgnn_u6Qkt2p46*_BBO^RAJw(m)$K^m3=Lnub>b2ZnWK>HZ zZ+QK`W8{C=+8+iy7a75y^Z0zd1>pM?kKK3gy?4FpRj+#8DH}UIPji2#Y)8O&Cs`6z zI%VwuMSid4F8|R-ABD~j6YLzh$U;Kd0t$pvMXoB9u#-)VR2W^{U95pfU8SZ0kuG&V*Vpq?o@#hh629C>0+lZfBv)vJS?sK}enqHKPVccgPw$`}l9F2l!KG?&1 z*f$D)eq(-7abpEup~C8q4j0L}!`6}c z9v`el7M|J!Xp8|hhGv}pbYZaWoq=hdyTM#F7CrsJb5H5UAwj*H1>UL)2QM_S@a)g$ z74*@I;jA@d*+N|;381%JQ0$_oePdoiTAJ9@a}9u1P|7&>Ykfx}9)s3~T460D=fOyX+f)?T(+k zx^mC`_ulzRZvb?81-}J6KL=^p$e(y5={#cl*YIUP6k&R< zDeZ!stP2Z5vHlL;!c&gB`ig-E|29IpEzGCbmt}Yv0}4@5SnonA*~xDJ*@__#*3I7X^G(Mn)^nSXOh0UqG{IS4q|Hs%if1_B3&58Iz3W}a07DF45H-me_rjd2CA z&ik}tlWj|Gy4juX&p2*<9UZ?O=9%}mzV$7hb${!4#misOcNYBWYhT-26~FSTUpZd- z(wC4QcR%D&n|Y?w4O(Ol;OYR)94Od4VZ;B&z|7OGIv#)W%JIPc5Aa_M?>g?d<4*p= z*q!z7x#zy}m8x?A*m$bJe%E0|xoP2&XH}prZq&uP=+i^wXSao;(6eNpM%ex#i1F&f zGe0-qd~?bl`tXN(C1AfIwW~lcD*;r^%iJuY(#=BKI)lkyFW)01a?L<(47*U<-GO^& z6~mJ??P#(H<4S?(!1*1!Xl5V%Q}aSQfSuhGy1A(3Xhc#?ZNtE*Jr36>p2x=~1rgH-2l`2o~w3DQU3*jAgaXAKTTL~-k-jvvp7d3Y`P0A!LO8O(`c=?ggQd7PJ zjQr$b>^iM^m#r-ZuL*Q75l=h;0+ru~s${ifEu%~=0^!?n$20LE5|DmV06JTVlU zIe~yo8{x9EV>36?lpCO4M)byJ#iCuMPJYl|(B)LQ=6NE>_6V4>y-~j4_|4z^%}nvn zHs+J==0E4ggP(fbET{UdfAGNvd)&zf@@)Qzk#Bu@_Hi{| zJ9;h8I=sp3zholg&5j?~dz>%G@n*n>FZ1(NqI^2uClF6>&ET4+CoRICvz=o3IrX2V z_HzPO`_6MXa^z(x}BPjNgIKis2Kl3n8 zo|I5`Y>43woE7wiXv<n7 zNN=0?$_9Mp<~t&uI^NGszzg^T{ZD<0e`>=^@^ZEQ&)J@S(}8#V`iw&_y!r8KaDDtD zt+!lESfE7cg#G`l?HV+;FMs*V)yRiF{QJiZFI*oCtlmj)uPjZTIhKpLX|z5htmIEY z&i(;I-2RmHls7BIirISPR8{15HP21#$~85-Z^ z^hFu%%sSDN+=cGi@rI{A+Y^ExsWoEr)xA-d4xiJkrF8*hkZCdGA>*@SJ#e7BG47ij z-)Qn8Zfmbi0U71ca|Qa@imjt>wsNTq{bHq43iQ!^)3bu+e#sc|I01#d278mk zR&wO$%-eLgBH$|kk}thkFPGhP)O26D>BbwsHEu&Hi<%;^6^f)&GB$DXE*R=qj9VBD ze*N|@TSaFfTBVMQ$jP;MEK0Q@!tT%3EF_5j=;chKIFsRC1#lqWslcQ6><)>ME?Va#U-<(33M&td89=SY8C&4y^MmMtoTQ z>UCma;VLS=hgjgts@q6+J@E9yNjx=t>qZEodS=7VGq`wqKxt7kcF|5G;_-k-XN;yf z3tOMEzjEarcr-EeK{b)=M-a;fUmMXF8HZT?${U&F%oDi%<0w4z1)gkrqF8(eqWt^c z_rBu~{@~vpFMi33Mc>8+`k&AYgjz8lJWSu@f_&5Q1AzMOv;S^ppk17yE3;^&-aPVf zJyZ|o_kTiE|6C?r6NF#;@>jmXTRa~-9(|a9SVYuM@US}D6YP@+Q*46fhzVY{>_h8D2i1|rM`+T!F%ivuuO^}v;6W;<))nK4QHFc# z@<9J&W)EEZT4_x7GY(tZ99(ZI1$gO3&0lHmktaxj|sU~G$T9AzFm+s|@t z?v+BeT*LRnf?D+0e!_V-F%su6`|Qelj{2mM4kG>!fY#r5p1Q2v!rp_^c?3>kbw-kK zYmRQd`AgizK7VfkxE($pjkFw({XhTZzkHj&D}LNSs)Ch?ibR^@n4YK8R4>||cBjps z#%1;e{T;Pqe+Q&VY@sXEg>{?s7wmbgTqW73{%*Uq5{5Is5pbZ+)5W4)$e^o zsXQ`*o?i%r$Y4QKoQEcCV!OU)4L|^6UzFWL#TLwU)4nDJy87vctc<_bTiwhICKw2} zhr%15*ZKsOp(R7}yelX^gv1Q?W_-Cg%sU!Nsu~@hE@@KGMKBGk!Yj+l(b^hdk z{?Gq6-*nYq0pR`RH%sEOn_=kem3!~K_rd-rfYV^UiE!7|7+sUsU?r}_Cc#Nm2~`n; z@Gu42doF;<8clkz%aRucl%{|Zz%(@NtASAe4;$7r6d}*b0#iQ2y^xhr&qD5EA{O}G z_02}BjvMd5=wopB7fvJkt!{OtyO6+8hOtfTp;44#m@H`Xk|7>ID?SWatbJTzDB)#4 zgW}>V8_d`d1O3_ga?;$m6Yggm#@7WnN8q)yahgcRztA*bGgvklH#7U$qKkw2IM-r$ zIMpVz)kM@$S;%q^3A$)a=PZ{B~yWwTS2-aNt5IAuU zV0iO^{M+94w&RcgC_>*uQr4rvbTPHU zm<^MgMGIn0oG-^OFBDpj>Gih3s?NCv&7{u?m|`no9Oj0i?PBg6rHRI&2#nPQ5Z=0z zgr}$7)mk}tJU0-d+h&k=dI&Z$$>YpmPduX7+?ZVWnsC7x`@U!0ORfv1+VYjhr~Rr! zFe^tPYDYu5uDnIv-T3Iw`*mU{G8>e4)-85*0>MXZ;M6P#7mc2dpZSxVF6lW(PI|6T z8=8FclOZ;T99kq;f$0JK{mPH{J~TRh=+F=+H{wZ4N<AK_m$GoP(JBAT^4^XoMCOmG!-)ar=(gh|Cr zX_kp@5l;095qIIyOwh|3f*{2jfR~B0w+oRVW>Gk><*ay7D}>StD|IqL%;4B zJ_f@Zj$ScnG2*KX1og%9tV;Xivl#Aqnj3%gXC9JU<_0W7QHf%1 znmR6ceH`rooWco5)Ej?rXT3RiCCW?Z>kX80T4qidieIf$EI$(i_yNyV>8MP0Ci@eiD@Zs9JbGm<*`aGk*!<2W1KO;eZA1N`hbm6KGHU&Z zJ$ys=Ra4tm@kZZ0L=4yFI7h7DG)_>a=r;5XfYane+V(|ZWoM0#g5C^yPH16g_9iG` z%?xwa_w1yx?2Dx_<@8{lQrU}x!q#bO!Sl(e_#=~G*z_)%!sFn{U+wGcNpDFTu14jpqlEr(&8MB~hw`0puF~ z4C-obgGaaO09TVs-^q2#n()v|_Sha@T18+*6G<>3md%+T%0;>l1U-4~nRJ6;8jj3J z$xP3qki~|c2~YL}s**)&{0TBE)7P&SMHgG&cZTR(`ANt+jJ^t_y|83v% zE$yeapT#><`bUcWLK+v!|8#2?y1xv)?f*Xi(|mfC)=c;DwXc5d_&7HKz8%nW$F=4y zMKAuISLsZR?2_RuW)Eeo6I=XN+tiK{E|i*;y6_b2cXk2SOK6_zRn^J2>A2o_xUKcA zm^jr?2W-Cg}ATu$uDklD?+ie*J#UInElh* zH!s*x&b;KDb3!s_I2y%Q5Xxwm<~Sw$L||;2R$m0g_+v{%ukv4faxS7E;0v*74tj7b zc9}sWBw7+4^ts1zeD{0b`8z1y0F*|~m)@SQ8vtYK6@b6_o4@(0iP{%HlVoBhWW@aC zL5ipE83B&9nZg-4Cvs*J=L>;+>E%q)yUP;X>%xOO`f6#HJdW{-xCwL8g+EQWW+T{% z9IJ^J(=rr>qlE~hFH)z1nsBvsGg6t+uP9-RANb=WE9iko5p%9QR}o}Km$kEiz4&&s zpstFI1;K_snQLf+CqD-@kPlOU+ExeRDz>l~_W{bF^-=1~*Vaf*Oqn!~`{6jB7sZW6 zzjiYOYeC=Y!`S(-7oslJGX@o)@|)i|ly(xcl(k_~E(7#E4{dIsHs7<7qiKI$`4}%Z z-uBJ+gvEUKyWeyC>7V}T@s4-AU6to->g2<7axaL9T@3$Wl>t82_^ExoeMWnhwF~}9 zcz0I*FC^$~p2X+kkMNdyZi&qujL~?Gsch|&{6#79Z=t_- ze2klb2YDqRzb)w{*qMWCbk+-uYR|K{Q-dd571liMuBAUJDWs!reCrQ+Rk|2TpG}74 zicRQiDfja8tPzg91mCs-u(X;!1`JISip3M=_@E>0!COnmY~tt#k1>y&JaOc;_VhCg zTH!HC455o7;taA0-_KTc0Z#yeU}A9&c0ExUx`0w0c`0%aTRtpl^AI|CuFv9!R+QRU z{q5oSGCKR1ZQ%7_|M+=_FqV)Wj?0V6U~Fh$IHo2c&if+mv;XlC-u88=D6^6?Jm^Af zyMwQH8&9tMfR2xR+a*8`|gOkj%=MHhm%VkrAbQ`s!7)+2rf)L zni~&qWYpqEXTnf!nz{CxDP23gB4cdIl2tL)>r>Un;0GA6RhVMcSC$4*56zbzG)GH6 zzXelNd%L0Ehdb9-DX$3OE}^Z$u({OPXdWgew;`o{%qP8LCGU3xe1#8_-FV{{`;s0+ z&YBwAq4V>ZNZl>B=+78FTLgh}Eob`9kFn*Xe$QwDUdZLnqF$I0L&y-$bf7IEy|-QH z%y>=IFeD}TEUD4lKCc?qM-?yp7T~#jm%iJ=?zCjjNlWaxJa`W8Hz?=vMZMqPa~^;2 z2fu&3m~UMy{z}r?g^SpPq2FyD)T6bnFRGG z#A}b*>tAWz?WjWO@d7^kMI_@+0u1_M6{5b`<23bPCr)-@*19p#Cq>nFPR{nq@zK4( z*&&t@T$ttos<1qI66INBl)5A79vODF&DMhAff zJ^8F8HF8Rhz7CDp&IP=j3~uT3vHvTNU3tr!-}1*$zslp%{|V4?&S`sIn%Qv%`XFFm zX3(S?pQ+f*tTT!L-C5X76DoU)uAbs8KN#2Fu>bsGl3H;lV9^65^eX;~q_2q(7vh*4 zpVo3IDZRvxh@X4uZV$)&$sc{x4<8id{AGZ)pc}Pk7NYT3oO7{()`w`6Su{b!@Oc%x3D4^)0C-bl*?d7C$=^)^*vN=*`2ui|}qov$L zYxIJrud)|({aHyR5L9IVL(2ROwN#u7~Ul)IwLW%X{aXnuq^T7{%;P~JE!++@2 zfcf(<4Y+kkPDH!~#P zu(zNgRKuHaIxpoFW7s1IW2$dSY{ASlNN4PM%-%_O=sAENCx7cnnEBM6{R`iWaOb3G zPl#tAKZ7=wgykK|J`?Z&Uyp2F_Fu}B3#_#MbpXfpeLjmuM_CDr-oB_L4jZSpHI)U+ll;}X(SY_On~vtK-Oh8UZ)Qf@bw`iiZcOx9Fn+zk zNT@sZjXpQr?j8E-PjQJcY6z+qKuUcks-%onZ(Gs?BU`E}t`3;q&<{jJy8OUnG`2#` z;dIJXc>`Ip{?aKAE?eYX!>(JS8)J%SYx$rrrx@suLnj<yE?$EOo0o-1~FRu zx_O=P4PJwk7e8-CH!Wmp4C<|eUZG$Zi@)SJ)q{TDz4v+1-yZ-pyd|`BF6p$k-b+Gz zI*bl?1MuV9fAl@mV!Ue}O6G{~xaQnVz`|J+M)Xjuh~zos#H$MQ34wtb3fx5qp_iYV zNhg$X0tVT(t#@IVJ++|dyb zaLAXK+Z47L#bM7geEm)o-LaUT`jQNC`7wo*C_KONR6XPE?iPreHhj6kIPocyj9tL_ zP~PZ=ukEqfD-`+e-7oqX;y|2jj=IxhZY#oNHq>`vwg%j+q>a_Q&dKyR2y323d1M)w zhi+uRYLQMP*`Bqf@2X=f41 zDZvBx^{;>Z@xT7bpB(>=&jxt+-#iFMn^!lGV8J%`$gd7as9d(MNlk4R+$pH^Ks1O9J<*T3Nn{Lg}yUievW z^t5NMH5{xX+d4CE+v>@42<-;}QFx``;tPNt24cb-EzSZ6( z3q2n5O5~Om3-a0oys)>AKx^+2kA5;nD!ls+u1=pbewc-63bP*-ioo)H$|Btc!F)Ie z;=t>lroov#3^{+*6XevIDMm1zlLTfcayfxl-ZcR&p9o@ZgtP_CeLWxMR3HCu;A^Iv zM{^46{Lw%)i5~Dh0|{}6&Iz9)nPVh<+)hc)Z>MnX>!a0yI~%9oDCqC}70P?x`~Ks9 z|BwIi_`q*}fNv1w9WL2oW3N{{3QBA(NXvv$^@Cq-nG5+=Li9PzQFU7h^E`MHtMXtk zJw_*fU5ETsxA>C}ixF&x$yGik9g0#Yqr*@OV~5PUk;a;TgZesdi2N4C|KmUXC(eIx zyo7&PG)*}@8~Kj;E_Z10p;edJmbWz&TXF?UfBDkzgb`U5l#x%ZV29G0A(oxO=016K zpE|zz&2R9*z>oFMlCDOt_u{)rtWwH>x<)f0U`JEV_mooDV%f1~^k*)N>_zm)%c-;0 zvNhb#$a+jCS>)E{#j1>MIQp=6l`cxiOzxy3w`#7v$C}ovpefRU->VG&A9ruotZ!D{ z=e<1$x|<#}075_`S?q*CR44VCj5VwKJvtDHzDmP$ix z0kZLg<=6rQ0z^v!#2}$==5C)rd$prn%icf0)T{XT20d-&bMy4QN1ci8V1 z>|7|vIfU>AdN;hjtVy7UWj>5Mm-J==1J*Sv1MO_PGF64PPb$>Y72VKhhT+UxY$Kn4 z@?;|DD{kdFEj6X7Ydx9~bK+=dlTZ8eqrC2vVK*CaTgS#PGs4JA$X^V^!`WI-sG3FN zj;0<#h~-W1_5W~)sDS==T%`|T0=Pp4mdO#hX5vwVuhIV`&0T%}AN;-;%l2*^r0??J z>t6S|AN$##{n@|qgNd_SpYzx~b2v)>|5Fq;61t_{D$meq>D3ADJbWRq@1 zsi>C}w8beUAOzKxKVL#&Z}8?KI$|pV$8wZEJ@-f{{${1hb^xCy>Qr?8DbxGr`GQ({ zARsKsg{@kPa{$NJs4E{`lSo?Vfk;$w!t9RSSRu_mz6`Yxl`q%+YM%7ui&XQQKL!#I zVCwqgSY6slZ&ZlV)!nX9Ys8#ibq`-a_MZ+*%zCNjgR8=#G8 zERT<%7GpkOW1}8D1vfUm9~ankPH-E9Jl}?T!%sebc|Fg5J^U|wynm+_BfU_{aI~-_ zTiBWy8RKRE?MiYu0>e{3rh0V9ow231x<_E-PE3ggtOo<(S!1`nq#y5Ub9|FJwFj4Z zFc<3H$G_x$&1+tB`Ky2RKe_zp|HXfHdF@ZU2KK#|AO6uFxjgphBbPt@)6e!#h{Oz6 zd-fa%LOcGUA>Nq>3;v2rOCcifE5O~)0#r|{R zPrUXg`f``?SYaOg-rEIj#%kEJe)}>k7wI1EBTa4wv~zT%%W_Z2;l}4?(dCe-+8h67 zW7_##U9ERPOU3@$Fs@nH1Liqf@b!bfk{yiAcLa@>FULACN3ts;xiP2NTlDcpc9{4n z3Hrgd6+-Rt89heFEq#xjotf*|_14bJCU^iF+fmH6n(QUH!HJmc&X=SiN?+#O2!L(O z$9UX{K@WVzWE>Fy3d$3wAPug5+j-~}4__XB=pmUmhuA*uI1cd^-X`lmdh$dY0X4!O-W^u1+JifOZ1s+w68x&= zX(9zrZ0yZNbTN0a^a=RYJBrsFxxx7iK)9oZUOwx)`4@K$YUgZL#WRfdwZRUG)9R$J zt7Fk#Y0;l!FdsILX`(9_yYIZ5cl>EL9^aAx6Z`;g%+^z1R(_PE^rVcpD)?$v7#z!s;jXAc} zpXIH##2lKK1R8y@j_J9u!izY32iaeJ8xPa2{LA>-)1TmrlK#pYfBN#qpZ@8~gAYEK z9pMK@>3c4p_~aj6-uJ%uUB1rC>Iq0*KeMq;WE%OY!4n^283GoceGZenM(()qKtC*c z(>IC%VZ0!X$HvfzRb5aMsq_5huMpR}-}&y#!@R0v{^kHA<+{C2qS-8^HSKCp9D=n#FmoZ$=YxicdR&V4DvYOnspnEos zZ4LA)!~thaf_!B`UKj7R6k7WOJ@q^(i|hREvGJlTttVgFGCaoDxs$6pbK0vC1vj~U z^{Zb=jXZJy{~z0Mle+1BKPCQ)=W{>vGe7e;_$J*C!T%zUyY|n3?$&<;JaJj--{fDL ze)V&o{p^#Ezu^sU9mdTx9Kr9U9L`_f`ma7KEdUP2PA#)$A^TQ<6!{}ze~wYQ86$sI z-3?fx4wKuCg(6}L*dlDmc%LQA1u)OXssg>NMP<^LZ?#Q%zv9;xdOV^4Wh+y_I%xsgyrnQQpKPl^WjwLkH?-V6V;FZ|i%lTUu~@|jP4`tteD zf4+asJFaUdlyHR8o<0St5aT(<7Y&SWN-ig(j^RN%7eqCbmmPik2SdLDsiVvlaTL-T z8~HTCeA@ZZ%WGfvy30?#;ioQ-KmIuHecpWg*%hVQpOH5Q);rH)<}W4;AgA#DCd%+XgfyflYjVRV7{&KXrF0N znBNSJ_327q0UPehkdmXN^4hvnK$k7 z&yV)izU+^+=t0*b9xv_(SK0uK1JZpX*SA9yicgo-Smh7JJt$}-Lb zCu#0e?usZci1g?CH`5URUmu#EMy>?#s4eNzR5$wckQ^FHvmTI!@HNS zKlw*be)Q%B;Dw9F|B-$lllmS05Be09MqMaQ*4%~X#hJ`CeV#EntUzrWcxKuwK5$qZ zH+U0Lg*4JrEEY|LhbAHw4}9yr50lxiWQMb<``&j}vFY8XJ|nY5?9?|DRQ*IPJ?IR) z7!D1Bv;#cDo@|^u+3#%Ow^UUMa>!|I`VRHI0SaRk zH0Q?P&6s+r%2O51v10$$F|f#_YdVt_{nF*LpZ)CR zQ@kR;w_@_?-Y@0KnnlBWV8~#u$Bx(EvteHSPk3fqwNuM8*ZPu|ax&A+=+@A&W7g$o zc)KGFX{db>k{@_{Js1AhzW#NWSHAL9Jfpmi=q65!vm4%uG&OQNzI%aq)0_M%<$L** z{rkEJ(1l}F=?QO$lYeXECKX0;bC_pF2Oyhj4e?xbm7j~m=&slm^vDY~dDD-vRQ^!Y z2XEf!UEakj0gpWLFc(thwZa_-^yScni_c6*O(2+1mB%Ana* zY3&z>_8<*D`tbF1DovL1qdW4@P$_;{yXJ+l=w~l8kAveSZ&pA^tqTc*p`Xw*A%HSE zQkQh*rtbSIftnm&zkjw7m#nIp?Om z-RnN4Z{ic!+0&ah@RZdLUnLRU{O2kOtLGq*nQ32cC?AmTyZ3&+jn)^qU-)C+|L31p zT%Y;p)(dZG{#O5P;2umJ_x+1+eDH%G`aSNb|J%cOA={U~{6W6jlYBXW%)FE72Gs1e zAu(~ZJtJ(R#x1LalM_0VJz8_7#9@fy;+bdb)kmJ6EQ1H zK(WTZQ@9oAR+mlIDBQ{!p-8Es*M)2SX%Wl@)MkK&zE5AREo!Dj$9H(aU3xJ$8BH8{c?&`Y)ckeBtw7;BA6WT|P(qr7wLsU&7Kg z!||YB&6(dN+M7d9ILyP!C)G*9jpXFxXe}L)nb)Du86s@)9^fVYSHJ32m)G){hS&VW zYx^q)U*<0lY=GbKo7}Rk0@|)CXDogHOw`$PjwZivB5q^w?SQX+?dx(fSri!5<4%zq zU595R%ha3WovPK-ju_UYLiNVNOlI`4;W;D8G3Yo{@nP^wC#=im$xlAXzVZC!o$vnH z%cH&>0DCUNh*h9g0+nvahO7RBAB>l#@oD6=;KjFgZO94J0ATg@6&EDyFMGv@6)$8M zab3yNybvemY)b>f8=1nu_h1n`?s+6qAMtOTmT4W?3~?XvH!e6my6u7R;;SkmU0i{!{!bn~YxIw-uSfw7uK zYc>KueA|Z(k3dB?MQGK^XBW-|i+ADzPB|*Mg@bN)`Czw5T$aUzuGK4lV~}oYhPw1d zQsB_EXwn)O-Cu@Kqbz^v<-`rk*ubAn?`olEjbcs)v$B2)rw_=2HF+_XoPdDN&O;v1 zck#+@`I`&|$C8e9fheiVL#O%7*^-GExQ04r%m0MZSyRO}AFjftHnIi19c1LDvWuXN zN=IfB13WowkeqKm^X%m-U;E1CsXu?}^0_a3uA73Vo_?wi5RUT`f&O?*UX5lB<8@SC zx4)cx)2r`yD7v05o0l>9B=e(>{qW^gzGCs}AHTek_cb5mV)q~)aO%pooBVt#eh`?E zkea7LW9+(c#&Fu7*~B54TLSpxC;ssA-rsrek(9Ietj_p`_~#s)eAKcvar*uY^Zp#6}QhLWR)95 zguJNFWYH*79LlOYgM8B`#=E=?0})m{I{w+S^>!v*nnxFJ0fkWl$EHMys%5Y5F^jXD zl~JQ6c6^)#;zeChJFuYUFNEWGEw?K5wz zY^>sD#!g3GH{Xh^*U2;@H-19jug-o2pIY{B^?&q7e)RGqd}7~?j1TGZ*9;F_?!W(s zNQpVuKU^-%vr#h!ksC7LWh@sNVy2S>DpS;Me#oI$xmF~`@Z+`!9e~I4|;!j zJkD1piZH|V0Q&9&x#n)$Bo0lVWp+T+k?X;j;Z@?6jv~f-Jou?M{M6;0?|K)1;qa)$ zIg;ljrjM;#{cgUU>+PE-ZMmaZcC**WA4YkFo~zQpGksMF%IC98;wrWkxg{*cWAtnk zvVJY~rokx1JWR*@==R*S;Td+T<<`e$4SqKa`qW;h6|r)0;sHckgC|4VYYXG;A?|~& zhKfq3^w|f(YND@+(NY$>##%8sc5fcL>Gkqk*_pU>h(p+@bflPXaRaPjEVxqI^A!So ztaK3!C3!6>i*Rx@3#62vhw*=fywJy&Ie4=CUxWJxJf7xpS6>CVo1XzNH>TS8@N)oP z`;$NZlaJkv8-V#ThWjvP`8r>mnK%uzo7F!To-V>lbX%(IDSD^dg41bH=BO4xnj&^1 z_QFI^fVZHgYAcfSe&}rY>RUiv&PNB>3QBwmJ52hs=qhoFjMj@-#g^;i4~{4gB&~EE z(1$6~DfdjyrXY^Opx=uR^TOfybl#^fH=--+n&hX20If|b@$pWa;bnF((NiZLZ5M3) z&OvWH%$u<)<;5D&7AhSs>}?XoI&(C0BRR4y@?)+;OA+!*j(^^Cpp zg75#dpT~2>bq_i9Z}flY{+DsFzn@R+KX7@F3;RP4J;>t~{eAue4?M_)o`0mp_hR;xJ!2Pir2TuX)y6Cd~*A!t8y;++nGM4U?$!jic8AlYHu|YV)E7iOg6C_1FwSIT3 zuia><0&~`ml2$us_SV;^(gOTyl2bqIj0nwI(wI6GE-Ylsx8{dfOWBT|m*6~+b6gpmHk{ZFxtn|>; zEw38$V6uH>L3%skSV<>W;F&}FSzI!kC-}^w{G2rJ1Mq~YH4pPXK@!7ejW)SoyK!$A>WJZq7P)<*1*|IkM z1hpDIm2U&L&(X`hcJ%4wZW1zaD8ml|JyRT$k}hRQvEdE!m;nE?MApEm(U zJUDU_;RJQ_FX?(Da7N;d4sm0{j$c=@XVV& z&8WzDW$0dBL7PwRt2Ao_!L0X$i9(#nA(eymnGmZMMT4Z1-ei6Nl7QYQ+vCIBz$-a7 zr8^DdS}?QEp@_eeG5s4`H#d~`aI^khfBV0tUWkSdpZceNFUtG>`fC;4?ZXsy1Mr)_ z`I~;Y;jSDH`S-{k7W*!osYuPc5SUaao1ryhfhp^_3on@%I{Ge3u{ftwkx-}+DPCJ> zz5F~%Nn0cXC_CT*mD@ts7M2AT}8neEo&e1u8VhgMTefHMH+yS7u;~RZ0B| ze$>WhsC89dI|yiuX8fj=B;K+Nex4;N2Qg%64z)fcVLaR*7IG~j7gI?(_Vth9NJ?6~ zBoYW;8>Y6rCCxx0{kid?>#;WNcF|I-9|?nTY&3~LK<*J7`p%E9T!fBuGe=6PX#)+J zo9Jc{HLuFBxwXOeYJ^&Qq@(`OZtIT|+VIFS&%|ew)M^}kTfU$3sLw|4GyeV^DWA^2 z&x<|`AI8@Yc0Kp`N*Ug1-)U2j3X@3U1n=Of1S=59O|dAJ7@UWPU${qm)1Sp5T%X;Yf|K+a_<& z!7q2i^(NrG?|JX#X+FSdPW1C!M8&9b0Hm{A0XWHLVWv@lIP1 z8BE>bK&oKh(cF|Qqa0R__%+;-RqmQkFH_k-o!IOfSIP{IhQ!sHe8NjEnYoEV%S;I| z$5nZCTRcN_P3woAm8RwSirU>exJLdC*#AM@0GKOt{_Jo4)^Gh0&(eKgNN!559Wa?K7>m(ylfUwgwrVOl;S{kb_#Ga_ zBHfs-e#m4TrWc2lNQhu-Cz>Z|=a|Bi)MhY>nbVl|uKo;E-d=AiT>Shbhprf>@W)5> zkzinq9-xLpz&Tbol;F^15^!E_TzQrnoo9;2(eGsN2F{Aw$r#AmwlU*z|@C zu;8Pt@A|e*)EW!yIl;p~W6sLz(!mqP8 z9^VIHNkyO^cN~ttAMFmII|fJE>HCvU{mJEh?|o07({Mfyd~=7^cjw*>%uCh?62d6gY=E^n=hlgnJ7FnZ#hocg=_+&Au4L7jtF9biqxv zjzQ0(tJK*KwdZ0BE60)!!7N=5lHrqEy#jDcGl;)*Eb}iBc=p+6 zp80!!@9%vWDZc_(H}3keTftqmW5@<$P+$A>XFl`sJFJ<}j?>=eF3s7$mAP^l?MC)K z{^ZK{WqME7Nt2)2&GgPD<=R0CnLw1p~ICl)s! z!Squx`ubr5(M@F}=$n@W0gyfl`7i+DD9>@8g*wvDaY0U-|Aw1vKCNvb^Jjff{+f*f z9{;hV;NT*m+m27(WM@`D4z=G$u@*{;x|Jf;+f~SkKmmhFb?s0z(Y+0NJ;ajPI;B+a8NHme9!wPGcbKH@@*r zmv_AV?R-Ar`@E!@d>}Wc@1cDc;S6cl)r~!)H#qdn_U+@Sj)MGi2sVA2SwGwa{K=p2 zO2B(APxIFs)|oG97bCEJ7+K-wOLa12&aHWW%#j5nFzwX#u^v#y?7uNuScyUH9KV>yRjA_%n%ecne&$UL}#HP8P7jnkxUO9BayiK^X|7U;x=bwY(`~T+# zV6EIK_dygH_0j(iw(@VgQQ~wG4?$zUm|&cqRuBWR7s2fO8nDu``vjiG#>jn!6<=b`3_SEsad zGq#$B;-+J*X)jIll)c<2{&SN!8~JD+e7$XsxEN0J-{QNJjWC3&Z=ZHwPh7g$Ab{?Rm4GId{e&|7NRs|8bW3Aa-$J@O_2ATm% zTiKdqhVY4xf8yW4_3vc8R<3vS?&4wYUW~&Cy8-x>U-^~yUlTy^vnjwW2PRzNHAgpj z)=OoQqrD@M5SbvKNyKjADNH8~x$ba@bQaqbRd>%-`cCpLCX3AXRr5>TY|bWXSF@ho zC*4rzn4+AwebI%NEGJt}U6c{;Ml}*d#w|Yl5NTv*5vw*EgE9cRdXSh28$}mR*u`l9 zD+9?``!JY3LNIWga|2P{|8(b~Xrq8O@7JoU2P)7faJ}-sC!WP7PdAQV%KH}vYNpL8 zH?7@@ee!=cBL_c2{z8MqQsMQInECh1{WFl z-Q3WUfHo8JGCwna?tG4kI@_F@OVbPyD%{K=C$_LNf#J&(URm4vJ2rRv(#9zVy^(>6 zp0QPvP?K}00U6mzC7UT~pSn16lRs%reFvv*xuc!J5fo$w!O9<>&8uZ1y;jpbls9f# zuo|tdq;it~;E?orYiMdp{xR!(v|J8`sG8^W#wXrZNc+S|2KdAs&xWg;sn;2b6V+KK#mL*Q_zme{4j{pqm6* z#FIsH+MvPE2EUp_$bG^+L|uAr9kf2i3q96$drR8RnGXiKq#nK~!yeYEH8AtL zH>N7V&XQt0Y{v5BM91{YEp0M^8J$H}*?Fb%Mz6QS%!$y*x!1IxOACQ>{mFeG;J^%1 z8SQ%?+@2YZmcO$f035qn)DIO`W|Fvph#9yt9NUOAF%J1K{`X(`mEVAJZU7Xy>&IE2 zcij*M{6^_#-t(UK{P7q5>-| zHOUlR94CWHQLM|b_5ur7yXlVQcQJ#`F&AijLwh!J z>GL-WI_yS`kdmd=A~+_rcQzCeT&!aB?Qi;+Ad44>dDc4dbOD0r-sfDLVEWr#F~RCY z-h-&sFLS3MP8jqB=`NDa55IfcGO7}IbjFZ3c4uB-aE$LwQS<9I1s>22^TM{IV3!?b zHr<&=$UT6%>gXyCViw4R5~B5BOg-5nVX;IFK>S0iCzhK&}UfLu^BtL%5Z$3 zbB?G>;XH%BbkBQkQ;6NE;bMDI|D$3{MU7|MO-GoQJ<_r34!`x_G9 z_0^xgm7|FjXOKP!W?=BojeBGB<^#RBHi&9|)+N3XOLYyF^;)hGa3y9Tzx7O}FcVMf zLNI+YGP{a-XcK{%50ETP5vd0+=J~G7iQKtSS8RRlp*a;fr!Swrvi$fqi8bL~48u-n z=}0dsSaQKtYxW&^YV2&7jN+x$i5g=9K}`HqUjLm>U4xXq2~%B}gsyw60$P|n2CK;8 zt8*XMmIwInpX%w`0E_Fvc`;|av^b)kW8{Fi9-8>dSHAM)U;YRG;3E*9;o-INMLDJl z@4hMH?*@SOD*Mic7FGk4YG;NwAFyO_u!8tHdBb_z?dbNPTOJ z2{HAm&Vq9C!J`1B&DBZ|#_s6MWZi28ySh#RxLO>Fr3R;&Z*-yi->7Ec4z5;1os~2= z79)E3M@PQbqP{T;H4m}%z>Cx@_&kN^WeA(N)#As$xzH=EYsv{WjYejxHfG6aX;=Yg zJ-)&&JLmvA3dz9gNx@HKwbdv+$&BnH8i(Q0I&pQK1>K`-nr6f?59)AGC*{Mr_%v&L%U@2Jl}Q_;Uf9{yK;PM;o5>Jk|k`HC8|0VDnpe_T2p31S4i! ze}vHAwBgZP|D<{pAKh}WJ8hbp_oq!zy9hhi&8v#I={OwE5GFy1&NC}R*?31~a>Wfz zH+QHAD~f&{-=Y$$uG$yY*ASe0?Q|0$ZS|F!oQR7r=vqs=deZL3I%DIpv5BnhgfUh| z3@}q@)6K6uKn}V$;ct4=oA_YhJNXZT`YIj;$tDdWx;r<>_7-U}I^_+ub7aK3Cx{2# z+|Et27y=Hg?QDyK?AW=~f1mYx^FMozv}0dv4)Y$=v|W%vFUQbPMa7#@GL?coj{Mag zW7i4eZY1?xDvCfCgBF$aJoTnO!y7N+B$F$|-V*}X1Gp2F{+Ua@uYfM6B1J{83a)Yn_^MCfw z|D{1UQ@7(R(G$0cHGvl6$%HEP&1Zw<906o|8^A=%-%U%lV=={RYO4~6{_^nBQ?Xl4 z7N-lr%7f>lzgx9>I;NlmZNW+l555amJNr;2JVc5q{W+;J7Z?oapuY;ixa#PO4qhLM z%@300L)P?1wi^*-^sUW7Lma&&q7K9I!%2Hc4uCvRvV|J+oNUjIG+|UowZkZ@{|g*#p%zKZ!lW zuru+c9}D@CJAA!WOi7P&VS8vR8&BCi(#ua}86AMtGgnII53POw+0*=qARi1w&hLTn z6%~){Da^yz(=e?ESG-wZbS8%6Sd7itg6OUpX|8EiFN6>e*tAtB2FkT2Zwp5i6e)Sm z4V^A_@wA(}3f&yYW+Lj40-8=)CV3Qs<`{C<~m8JFB1nixBJn9e*XYp`R&HR_E}Z&TP8ra3Enn7{@PIj?wd{$eHT zxvmdmS3CnWB)d09jD|+u&kE>Q4>W%FcYpW&2>HLW@9J0o-uN{=KF;`}9;WMMAO7%% zzx}uW_W%4h@4ff_`)6aCjFi~pjMI9*IM4SVn*1j#PJY-4A7om@ z=R&W(hzO4PooE#lS_211Gbr15WR}xRIP}DASLVnoBR=Ce2O~a=6JJgwwEiftcBTiN z@|4U%NS%w&U?w@j8B=j!=KVLM2JS{CfFZ`y$53s`N*B#?g;v{BR7&0Y`(zk~}ZKRx@1%xRZ}7k>3`9Rlcw$6{xbe(uHg zq$ZoO%JH<*AXVu<#@7@3b;Vv#zy0lRC%We8gQl%>&^@CQqcXW7?>ursB?!AlCIa#J zT?5h%PNeKy5eIO6NFUuDhQmv_ePiS6UjO*z{+IvI)GC;{T%5Q4$I`}RmM0{(-03xJq9dK-YRJAUfPC!hSNloB$$nGpIV z&B`E2UIfVKCRGKKmr&hRZPF&mzEtx-6H#?l2xG@-@mcY8LDV0Fx$~Q8OAj;J5z}M7 zTmyam;ke2>k^0JU$5~w-KKUC6V%dJ7EpNhMFqIR|ob*MH_b?9bOnaZMXPt1$&)Urh zGRI-%#YARahTA|EanpLhp(^WneDU1F3p0Pfeg|iv($R{pC|^>1MuEI~@FK|ryWA<* zF?rL+E(pX_YQ<8Pwz0^?gq$tJAd(x|gLs`RB>d59?bBps7N$dLU~#n5rh(wtRhUO= z8=?L%4y&Fr`rkT$<#Zu{gRE+b zL3@gG#XTKk~#+ z4m48P63eD^AL@;W_U7QtqHY!#X95eziIvQX&DxS@zThKJe%IZwf=~gu#mXJ}-qvMX zLAvAXf>#gH1Q@yOE9XrEbS0}(_=!M{=mxsLaD?VD{?kRrzCg3qTZ;OhloH4Yp&3rD znz*_WuJ*JaA>s8VB{h_PkT0#8Z`ss?SVCr3q{)Yp;t%$@j)f=j#*vX)sLy}l^MCr( zQ%`*n;*0wJKlaLp?Tc}g0u1>Q$5%h};Sc?;Nizo~ss!5d(`F^lD)F!=X)4Yp3nm2F zZQ6;9jDQcn;t?t7AeF44`mC!dN>TERvx=CaE4&T-DjY*rjw_CWw2*rSr+rBJ?%dYe z2dM2CJBOypk@MoCso~j5@O}NZ+b|KheI%liFIA0eMhBT=2#$=S4>TTi7pAg>DLr`(N1vbNyl$15uFQa*uMBX=fpsGa@Mg$YP*{5cmKWvj()6 zaWEKmQ3PL~MW*P>)BofE-}Gg#JTwtVAUJhFHucT; z)LZcIpiB!RyCYLg=zv&05K@1I>WwGRG6KH2MB<4jxC!u21iJ}PV=!UOfsjbbdXk$a z{aTpXADO|N`5ztqKi+H3`kQ1K@>r)od2%}0HGokRKg2SMYS zbfcOz!oYQm^qeuE05KY?N3wRHo3~0bF$lEXFs7uC>to`1m@lmIsD8xcm^CkyibI@u z##+82*ZichvgSj5ADsU16My)7bZ@`>FY84)s-YLf(ikzY{xQ%m{~y2nekbE3!9u-TH-X5dYpY=&s@~BD81hW+@aDsM zJGrewl_(Kvq?ez9K@Ugjraz@9eixm!GaIUdS-_U)?HhFwDxiQeBZSm+HgE|Y>Uwm+ z1Iu)YX+i7pyz+sNz6s%vA+FxM|7Z^55RW$#@NqPr23jqnW3JmQ!7vBHh@~z6^PGHX ze#gLMfb*F{80NxdFy5_l+Tz?eR)Gq(yWw1hu>zJiL&b(~-Ov;psLE>{<(^fnEr`X$ z89g$U{`hb%vPEwo>R`hkvHMpr(#^{gZ}!WAxC!8&7)8tR z@$1YjMnZ|dy~H3$EB+!Ldxp{`QgIUSnw;D0>)=tn+! z`Ob6x_4CM%PbHgZiPvdf``K;2#66?0KM@o{b}CYp@zZql#9}eZf~q?n`w$$To121gg+LZoe^t;Ht)i|+bFKct zlyL#`+|wq%{+8ww-kCfaIC#t6Ts(F$-p4JjjO8#2ye7EV3pY{?x+Y z^uZ)_O~!1_tIC4uLv7k@<`r@(2gg=N`cPUu7H!N7<$r~40g4Q>%?5TGx3vagHt4`) zY!QRI3$ge)wV1Q6RY5W_6#EsiabgelJj+$m3yFRzPpd{gU^9nk)OS$|x_m;dU+n6c zG+T69L?Y2Q-)c?kCgAplguh|ZDg(U>@5;6?v#T@XiWi#l!B`uB=5v=XliMQ>wh@9q zf(hq?-(AqB+Z9K2ihSlkaTAf><_no#Iv*E`!|__)Xvnw~^mlS1j8Sy+-3h*Yx3YxqO z#?+X`rnXA4b|Ag^&2QnA0KPGh|7@t=#x}ZUX%5@bnT|QV5*kb_BQ0xVqcI-mZrqI! zH?^Zc+uUGWA4VM`8TCY$#`zw^=P#dp@{^aR{5%prt_^c${O2&{6Lo%P+EF7yq3ZrnsTK7YqQ4aEzC4F%o#ti85e7b~lUUAyiZ)epd#P{s>q z^9XGg1iJ2j@VJQPYV=usCTHZdnm6meb_Q6#&EY(Yr=?I%q~|Rs%X4o}TH7N5qIQGH z!!XYcjk))jT({!D)mQquM{B71<-RfN-jO{1(Hwu3(%vQ^qCV4KQvHGtr7wyyky5q64GlLi5Y}yRcKXv%Z$Nu1Be)AE>l<0PA zZjyF05!XyIVdm8=*Q(*TL*j)G5j{K;i9iMKglk7RH~u;UQlVHq9u`9nikJddY-G`n z&g5Dw^k)h+JuAWahK&5#UTcBE!;p`8A~RRK8+%{mfweAPfUp(r#K?R9z0)>(x? z9EbAk_->&S3;4z}E6i3+v|Ld+P2qPDaBQXwe#DK-p_{mN4tV$y~{kcIw4LN<7 z8v%2Z^x(&X$z&*(fe?}B@L&4&>>H6@ZCq`K*p&n5-e?Y=Mg<i4j#i*Jm13NDP7I!F(BbHdWA%Wot;L-i=`^*{p_Ea+iEj*iJ8uVgW3NQM(~fu3 z-qtj|3DRK1^YvJFZ(+daH~-ViOXTltTl41U9Gk1bNBcGlnXiBS>zB`e?sL(bDQZeY zZ{WP*l#`-^Xh1%=Ko^tA;$c0{9PES$z)@;L8@uB>k}&2*TS0l`7n+#ytS4o#)%87m z>qdLpa87n;eaQzSeb4e5O&gC%3Qs%Y2d91K90hGj*964~g*n%jJ~0kc8FPcoj^!t8 zyyhkPVk(>;j_JC0F%G?Pr;*TxxkA4g$cAqNs)Ah_PkrXbyHiy=(4znF!w>I>=I|yF zLk}mEmCFnI&?0kMz431bTK@E>KmC&Y`CpE5a(%tnhbifE0DLLXKRL$BQ-fI~hrStX z*hH66i^W2}k!ot4Er`03A*TYTNoMzbucR)pwXw@46=b(4p&~RdY6hFXvLEm3p#enS;g**=QX2FUbdgK=EQFQY_aW;?z1 za%Vm9JKxv`lYTkD*`AfscJW*jPTpMO%-QI|8qWluq+v(B&8u|_Z!$g7tOdOV6NG8>F?t?@5e8hthU+kFryNcAz@v$3~$ndjgovQ!_7vjoy zqJ<J@BfeDi*(+yd6BG*8KduOf&cE`{ktFFC6K4D$&Ejg zeD&xgUcxombWSl``RG|O^Lx4XzI!gO@T-B(-+7H5* z;I+V1MPTw7&;Sa4e9PAGL>RBkMk13lZ&1M38Mm0EIUQWbh)g`gom>{hi9~l3qT}z( zldz5K*!QMFuA&>$Fo=JBP|hgL>7WNPm{HQ_)196i#T&a3C#NGlHda(ho6C~Ho- z`RByJn3~*shpzeUM;a6lF-ydxombJ+@+hCp*Ueb}ly5uG4<8Wb<{3Hh(&a1w&gQGe z`1R3j$+O=!Km=l>Y@1L<#mb)Zsk#$R&$k{50it0JHOS&0p)wu?ITY7nA-&4?jd*I#~8JdtTyqkFqnwk+>yyi^re+J@fNF z|MS0vd?nF$nGVd0pbSK*e;0n!)fHu^psbCaf)DPl91()3L@zA^%h6BmiFe{)kO_5U>;=*oR6TRCS_!rEHVB(8y4losLG(K-$J&4!+tu`3 zKp3t+X{}9Oa|sV@b@YjLWV0SlIZS^uoWqAN06NDneNr}@i4AA{jnho7bH?0-HG0Sl6#-QDW<^0EJx(j%!zVm;dz(QWK~Yq0;OXltgz->2(-%P>{qa|MX|uwj=EIc< z&qGe-qT7Pv_}J2pL?i@qZ=mfj$_{w?obEVA`wo%=F}~+m;@0bvPd@nvTm${;$Zzm) zLwM1Tm*NJX^b%>G1Ne>K_>JHGzPb7VsYv#F6mAID9`o{$f4h0#KEu9+*CyOtTXbqL zaJKF3mC+)YGO{KZP%KF@dC@Hv^iqQ{HxL#N{HgmXB*$Xes-eDxo17T>FiWt)a}3Yo zc72=+UoK{GY&o8b4n&djOB-65We{CZc!v`$i;4+i>&Zr0J3R7n={S<8Y&#y?DA%hK z>5cpX+=$Sd=qFZVFAq}16a$*}d*FabBb~Kk4MY3c0t0!GJ=D8xqYG8O4hkmF<7LiT zu_q=26Cu7pA}Yg?56$KH6Aj_$6oi^1gAF>(dvzjp+^o|{+W6{xm;;ZIv~wcSz#xYS zs}?~uQ0;M}i9w0xZqY(w1A~;0T|l+DSa$5|!hBw3Fw{3cZph_;yQSkN;?TUQ?cLjM zQuHSy>u-KT>>{LrlOKBuJ4c7EKj=AJ7UP)EZ1p7z^c_uptQ+gan}E0TuY~)a0CC4a zV1ts{4?c~F@8z$u)Be53LB3O2e{VdUl&GsqkN@Q3@yv-)v}P411}|=qR)G#f^KpzOu$o+ZrXAH$}5);A1)6Pr02A8zP+lyBHi zLRozQqrKAh*u`OG+V`XyLt`-%%#aF0&rDul_fkQ}KV{HSCY!2LE9UZ+&AQ=@jVUEG z?Hr#+A?xm#9oZHhpSgCtf@?^I4&X@LIv+<4NvCcfXFTorJbm5*|4k&n%)@J;4jf^+ zFV68&+yEGvf%dh)zxa#4_^-e8r7!Kj(mJe_aQNMa8T^5haVN`~@Kt~|{nBgcSOfzq zzX@SDo6%q&nrM}-S@I=u6}>Z5-4lZT*iXl<^mv`SgkAyIAzC z*Bob|U#k@3-JGB=r)N2;XgH_oG1m7soRYl@o(pki<*Q2L(Z;~oR)I~?w$jLbxlucW z8yR$@co^%<(&Qu>>Nf(&`e|qk^!~jp_;b@ReRX<;lGw`;UK&U92~eNkSis3Cew#ON ze0e)1T?W`V`k-C&&!7!R3-UQ>VB?z1kP&so(#FPi=5V}Fd4!aSX08t?E~M?IjNNnC zs~+Ir8e&X?YTBmaG+Gpg60oqAR19LsaK*yQU-Z*&b zt8tSF&p8PInexpFrR&_4dsWGCuQX|2ylM&hqUVD{57^G*^@dDr=ZIE!gUg#GohNqp?l zEehue9Vgs_rj5)AN6)Qo?ha+rZ>B6Xi%*wGRg2JjMRkN&U*V6ug1a-ya_Ct-i>rm{ zCN?~&eZ*~T_}t1;ZPBQQfEVS~reKX|+|Y4AeZ6b3Wddt1RCrA+ef=utUVl_b9vbEl zV{`K`{+tV-_$N>1%y_kJiR>2@WSh#IYp(=6@F0I8s1F)B z$FW_Wq?z9NOwSh`Eyar7{Pk?9=MW&-~2K%qPgR51&?kf7*v$ zQ0aY_-@7h`KX#qLQy>A)MG?2gU;R$2uy^ntd**0M5yjwIN}pVEjdGPf`M znb)3f`0%~j3SWew8=o7ld>!_Jp!sto2SJ&pi^lcVXB(75KXjE6#s>tlU{0Xt7gAk_ z80lB>A%8CyI?^z-d=rKr5@Sw;m+yjw+{2vth@3!hq9(5$zQ@{(8KH z?=JBB3wF5q8|7nOUi%T`GHV{45b1LoV}-mi!9O?fl`%Erzb2n2FXN-HZmF(Dxajy} zQmt?M&Rcna){VHWG<=_Yi;?i4xCWg!YcwHH+Ec{I9H(8+&Lz6el~tf`#Vnl*e{Wli zA>^h`Chm#fetYPcpL(J1(K5kKzBW17H~!wKl;ah`HwIEdkrjOioDpz zy7OY2&7QW&@a2^}{-ck45{uEpFY%j$Ar`7CDcJ1H1}wL!-lSQq^G%K+InaS8g= zq67xv*$0hfpB=wq?Ono4oKhfP6sE2{tc}-V5Ai%4# zm~-Qqn2x82R4-s)OJ8r-S9L0l0?~51itv*fCf0zR{4fg`bcoF=r-l@=03EoE*|gTbaVEuo_RHC9a&b&9p-gzsTWU{_mlM z*5-_m1veMxk?PE;sk2ti3~d*;d~kyVz>RcPhT9nwgrI3({Oxry>DneuCbG#j_6}BG z_Bo`+v1d$fxW*}9@42mQExD+zTW=18D>q_0*55Hy4EYEtIYsJd)c#ESUpm z{Si|9j7jU7Z`?Ij=W^eJ0MBMKzZBzv1{qVN;GWx3L*2>x4!lAHeLzndjbIS;#&OhZu@X%w0VGc zJ#qjrevReiPKiMp*`uPkA(k^_jNwFa~!P2=p|=`kFdb(9y`gp94d#ZnxqWONA{)cXsept&8m(ia#gA&QD?Q`g zG3Em3T2@Y5&eQa>u0Pm!zHeVZ^*lj@Q_XSoG?@OZzmQxDiQ^G+y@gbM6cl&j8XSbL zhx{C9U3#->Y+2MEpx&gVeYNZN$2`J4uxJ`pzu)mQ+K$IO^ohaqYF$<9NY@^6`u|(M z^_%DA|Cj93|2Wg3S1;wE{qr`!TR;5a5B+aH@*_Vw|8yCK8?PC?rnku;iMAdzU7#!q zlk0>GxpNCc2>5*G!sSz+`qXk2O!+E3Go~y!@_J0q1v7OouloROjoeyR5sn8sS3gCO zK6?6*kBNeW+}KM*<*U`SI89w{1|(_+5WDKPp>C^l(&N&puNi3bodkpDXC8`2jE+%M zuRKcAH~sdt?JhbJ2OU=HKUX--JdLJWXCkh6%H+kcd`VOp{W=%t$<6o?hUOITXijJy zYum<)uQyvd13jOlFFzShS{b!rxZHhaub>?BdqBk)s*3I~F(KOe(AFAIc5#YV7QE*3 zsOgMxCVNE&N2JL}B91p7h-Svqfj{`;!VTteDV?kQ#H-OPoP^}ZNKP!+*^tWpbL4_~ ziNtAGN5HW}^!sIGU-r3B<-g3yX>;$qU3Cyg1_{(gPJL|$B-S1yB^3IyInG;XGeTqO z`LGyGQwe?k^3jid?DGD9`cH4(4%q9$=pAEYyBY$h3sgQrzvAEWVPk@Z{@H0_dz#u%@VJ>^82Y4GXK-}wx}VP=f7kVl+Bd)5pqK{`UjO*xmk0Rl zm^LQ7p$|3^Yujexpoi1>ty=|@@g&Bn0sHFLzV@{@Kk@J*+$ZoI)9;H7ioGV~=6} z7oU#7oXu&V-LQ(j7&#&0afYj&JLL*O_tQB#ixN+A;k20TGXB&1<!G!|$(7~<9h7=@sf+*vGJJ+( z+x8Z(x!EZ7C*Jyi{xP{G;AeTx8q^5C{=3?-FtoX78;4^=bTRaqkGJr(!Ef_>0{Gfs z>up{r(7Lu$=`=W_*%V1l!1!10v=@-bx91f-@XB4jY9Bxg zW9PxP3#Q57m|Z~o!~&^^m7zBmw05Os$VGN_>2d?29FO(Sc=A`t1E`(zszV6Qkw4(& z8uqm5TGB0j1*f%0-#t!`+Lv^pxjL_4&g(^{aV$G``cuQnv4;pFGehmmrA>A&{&qbg zwYScAiU(@HoQxB`KJ|)hN;)UcphR|PAKS5vOJak|%cvJWG~Q63r?cab1n7~EX)>N) zMn`lsjk#-@bPRpuqrd-e=>B{0^1r_B{kz?l&~gD-`A=@)+C7k}+L-+7K30w-gN zqatep6>X-bFd6MU)Q+^ok=Y7DWF}UQe-e1-#YE~2Ze|j9)`m6D7M0^@Hql__?al`2 zL|b^vC#CIG3|o^f6iw{Whi#BmK0S12fgylg@A9v_i*Fnm%X2()t=9sO~}-nhNv zfFVks7jWsra~Y(k;f=FJvz#DtP^mV^R?7GwZV3!5$cEKOE#-1nT=D zz`SiSJ}FqdDsuF49etmOOVSsQHn8Ki*kB&t-SFm>8Z2i=`F)shj%_09!yNdeJR9O{ zkmF+;pq2qCqQFqnz7M-zSvY14L7W}m$Q?svv@GZM!8y1gc~VZM-N|<6jEJs8A6r}} zke4@%bk*-dLmQ`){*90({VR;AVFvciwcX?HdG%F;S5@mMWyCzseNFABD|s7ha-j-T4z3F|p? zzMPAyM&P4TJ!F(2Z66?=&2Zg70^Mr%BpKuLGy0-=6d!Fq>!5PzcpsoS)g3F)+7$(( zP|{Vuk&Z+)&e;Q_c*6ikX<;6Fglhyg)R}Z0tPCN;SReGozM7tL#CH9Fmp=6Mz-!O* zzwp2Q!rw>AKmU8lU;f93D$Vw#Jj{Pz3iL1j#lQIE$3ON7{xzb>Be|QzlHF`gQcbBx zq|tT+1RqGB+ZBKs3^wP+03vldXk-FH!K!I z+HRg#xlprMcURm{fTNU6hPd_#u*%xRQFC7LC1otHS) zQ$4-0$2^E-cP~&{+2opa=5B4pRBgr1+s%2A$Po3;cV$Ce!b9Pe#^{cZe- zpx+ZP`jEpLR7W0+FzB?+yo;$rBRet-72wy$%ZbWisC$51#ovPeo-0UYb*?5}6$ z{19mKAgTsWV}5Yb8|CV_e5qxw#+KmzSz&v(KK1E;*GHW4q-^Vlj-QFp$GG@1Yfp6T zKvobr>!xjKal+%|KH0pr7sJ#ynl92h-tXY+PKQGofy|AxrhJ>}5k9{WS0@okOoF~@ z3mtuf5Zj*f-dH@THXSg;>G%1|Xa4jvpZWD)|Md^U@}K{B%}X=Um*`X}y+pQ;S(9+y z26*Z>e)Bi@=Lk1NWirdF(n!t%rN2qOX0Q&EqP(&kPS{nDp3lA?d(QOhvdXz%7QgoN)s@Ae9mkOYn23TNKSx}_ zZ2F8@hB@sb6CWP5vq|c|_69X^OprHY)HMS2nf`d-bBc(x`a+6iAUL1Kr>hNgV>U+! z5UBZ*YwXTj7jcC15g_LTw^K7rvGuu^N_8?HxnWC{&CAV1x^m)*!HG&6ydQEPZ&hiUA6R>K<@#9`>? zRw(+eP5lsCpB=M_w_cs1vxVr%!jGBc8#RmkD>hh}OfWiW~Y+(Gusg5LJm_j>}eCtck+9E~I$ z$+6Z>{pA{$Y%t#7%l_|vH-GB)=+r5UshiPL&Wi5PSNS+SHz5xBfi{noTr;g@<@GfI z!DI$9G!tOmNaYl+tz%C+ho=@K27yd@&nNRcO6?nHH>8ff!y+x(0I@?`H!5?%-lj^9Xj!wdK{*^Hoc@Jpd~PQ#0Nbx?H;BKOb!=|AJz zcDeoC|Ej*E2Y(#*@5N!decb_a#YT5J9 zueJ(0VtJl>_8GZgyFj2n8tQ;)lGVtsl(QjqIJ77rIdaL{l}ke#j?&B1qTR`(t(P4T z+BEhRAIAtCUF+ux4e#dWaIl<&b0HLe&~u^O9_90at!}RH%}*)MhBLCxnumX8cA_HH zdq^|09N4QQ8H|@^fL@ak5t(fhAHHFAGhqz&oiFjwHCL*1R9J4ZdjWwsx!lOOA{B#4 z(HHpJtuy1v-igW4$(uTA8JaF%bGsd}?H0OVIr;qMm9Ko|<-vy@ynObvpS^th+s~DA zxHrcEx>8iWIa)&wG5Us{`TK!C{<26t9{MsD(aj~aqF5O7YmUyR%dO$LWQ~n@W+Qo> zK7G3q(N}1?(Il5au**+=*w?l^#7Km`O-2q6Ldv$&pBwSzODZ>bJD?Lg>d;aIYzxm(&&7c3) zx4z{k(ftA-|0C`gqVrN6=Iq~x!$g>nuRZ(hvw!}t|JA?#C)dQw;bHN0Tqkvg*25jg z@@-OGwKEg<-FF}V;DP_|47~*!pL}5!u=*l=iznHOIF;8api9Bq!6#xfqbbH%E zRV!Gta*a3p`Z{v9u8Q$xh+|Xb0JejSa*EjEP4RcDn=$;bpD=HLq14HIeh8T(-CSH+Z_<|iLdKIGeXZbq&m)K75B z?befjQX@Gc5P$r#t$CFTFb_j8zv8aX*PGVZI)bLqOxLQCo?Y7(y!1A|Z%` z_}n5|Bt!*Lzc}Fwh0s=%R8bhJBuyX;H4rDk8AzZFNt)Phn%D{P6l2GB?DV>>-`dan zp5vJLi2w0=pJ%VN?%{V2YuI}~)B7v${_S1~*v|&gj z<8SN(e^;*Knai9)&x`qd1V>zo{^+o;I$4}Uex{)rh{(PkNaHxJ$38t?zS!EGx44Qf zN6u;Y8EqA=CQm$_ki(IPq<8m0B2QfU+^dSrsm4*JKIs26vehdL$wGBXpSWTcdq%^E zC%g+m9ys}v$H42Z&n!3x5?G|ni|hON;)tql{N-EpAn&Y=HV zZ2g3zlA#Xh#r*F7^Lcw%nXB9`xFkT9b3D34#^7k~j=%%nND_YV2Y>MIeB>h^`DvQ| z_WvVs^4G6YZ{uHbF}J=A@N+yr@F)JnpZG=w()smf0TFFa)-rXx+ z@l+FKQZlyjI&ms&N|hGKnk^Qa7;LaEygkQ0BJNduhN>et@MN%?(D0`wb)wnN9)acnSc}HqE>aa$Bp) z`giCjRu`QohHD|o7N?VocI_v#j*=}@yA*j&L#z2|w9OQNGOx1LG zCmi9Ty9(r!`X=X2gqkm#o`Gf3`;-^4CO`!*DD{)azDXb%hIvR@osIX9)WybtAt^;^ zo@z`W{ez~UEXUKBwdYeZd2-IpYl)OgXUd4cmv-sc(XN75^Y|`aJosHaB74nsI6ydY zdZ4N=oD-gU#Rv-A$`R7cGs`n*x$;bz`~EL{?bm*-AO7>x|DNMK*F6IP%D;s2sJsR6 zF!blY>s{}9-hc9+{>Q)m6|Z;&|4e(uvHvG3pHWc8a_*}DALVxeKK=%s$n z4#dl!N$V82vr|*LF!;4Q?iz{BVPio+=Tp<_p-E&x=eq1t|WT0J6tED2G zHYYLcYgqgWSat_HidY0y?v$r*l^zY_P5sd02BMHXh0?gL!z8EYrW9UDlT822m1G8C zb4J3|T9Q`x?P${TX1Mxx>1Zl0M@|SwYWne@++=JEzJy-ynR*d8jKhDRcLDYygKiD% zBIlwQne7*gXMA@%==|?5lz9Fv$mXPmD$fX`Ula*@lT)je28DW zseq>O90hC7!?I>UJ}vAy!-6&D2MbD_$*O}K07|bcSMrm|89MsE$FR+zJcxZDlJ4bI zD#d&0%##ZrMYMB#0x_x`@$_xrvEk)Pn{2LQbQcqGcBcmd#? zdGZUs;0s><>wev@`wh=lmL7ln`F9`w*`E#m;l$f~bnTyFQq*5^sG5}M>RSGouX)G zdDTb+ZuHQ}pYe_;c0>++V_FZj?)*dAsg#ST#^gA0U<-OKc|1OZIZtv#)*MCzOq_G0 z&-RU{t?3{_Ien6JqvPAtdgczMv39aLHtZ`W{-9Pnb{Ce4lRK8|i^X%X8==q9q)&1f z_jz*;`8twv%qI1-)>Ni~syz@`k%7pLpW#!~gKZcc1vUAIeTZ zG;p8C_rYIu_sf6zFTZ>9o8Nr*EBGMcst;l;Nz`_qg!h)({_w<~|g%k&={ve?^= zM^B7!t>s3yp0Q5YN46YgbmM!b{|WWzBBW}?wv9tGCA&xo1fE>yx=+u(B1##(>hxM~ z56D-Xkq-Tmw+wbR{)&8k3=B_k5qBS@hc2>uYK9e zUiPnl_xF6y|N7FGyky_Ycoy7z_dDNx_wkQ^+*cf#4l7QctrsQ=jV7C3-6orx;<<{4 zpL`Qi8T$Y*yuQrT`@6y(Ij6fFwFTZ(v>s0DV+)oi?)^tW^E!F2llI9e#YWGK$~9AWGOMf#?k2Nc@5h|EtbOB0{JEo^Ih#(R9zMt^02Rw~Fj zSPt;whmgWHjOA-5&tm$e$ejZKf{-927S48gE1o>#iA5~Lg4tj?AC^u zpBy*Bnl>_v`8_icT5g+sTMYsh2#wyCB4Tdd|yXNV{@4%iGwSzG8|`76A9hXrq5 za7ZWN4>w_AF3LAR7OMvQfGf>OStb0}VF+-S|s zsaq^rL4Qc#__8!Z-ZwuwUM!F`hmyOQo7aDG?dF(pqB>b>nI6WDp=hjgw6j`sGc%2jD&?`UL|YqJJ4W z!L?RTEWlP48Qz*R$BUYdxyxH9FL>g~yEne^jmbV6hmZZ-$3FgR-}Gz$vk!dW1K$t+dwE{p z|9>{j{ZnK5sfS0YFf4sQf}8W7{pol7?Z5pue$#LIP5thH0u_a6Nrg~f_0mUbFKyIBy)}-%gl3e`ncw$bDakVj_7t$k=DeQ z5fHjAY<&Ysg?wq3L-^DOM)tMYI@?{O&ivG{P=wmxFBWy5TZd*CJAnzd#o2<#1c9l9 zeK&-IiC^9!cp~4148sMgIEQ@oB&Z_Ab=p_?@?V-UkH57$nsgsmZ!3QG13C#5Pb0lL zk^HfvvfA1<0lsJ7o1n|zVn3TDV$;f<#>vgKD1?z*-@!f?P39b2tHmh-u>^#!m@+!i zQlmE;JBo=aWcvD-f|SdKXr44Z`aF84pT2REfSp8j6qyTN9;9*_9frD%;ZF2!di$RU z%ZAFG0Q8Gz{?QVDAB@!#efDtXzdX8@`QZ$nt?a{;E^Z;_7bsyMX>AeM!IYpP0@u8- z-ddcW`yiKi;F>P*I{~0``DSc4ze2NzCIcq?E*hNQv!Z>+!uNmq3G%yt<6ryL8^2;1 zPmksSQ0O)G%|l%`H}k(aNxKm7Vi&*I_Y-biXlcv`2j=C*+|bq7{K}Gp7rv74;A^F0 z;Kw+XaWz+ft9IUjmX5Mc%m`HJYFnDQQ&!*TUt%_$-*9GImPGW570e^wUZuL`WaGCN zuJ)S)Vu;K7qe93rfEyg>#@!m&no~x1ONU}AtH$58cWk_sKjU`>qxr36RGLP4u^fvM zt;XWbw6Z*(dg`g{JX?pq|3iQO2RQkA;`gQhN9MzSSG;88ktz<;^4K;auIbE;fHQf$^e=uhlkB2xO}51-VGfuVk9UPO?q-7QTziNLU%S=}q4S z>kj4O@@)WhNKOVnjN%j4zCj&By+I6ME?-5Oqs@XqeJV$r2HVO%p|InN!tUy)K12j z&W8()6`wsJwQ=F7TR^!q7FD&gstr+NdJuIAA~<9F*1j$*6z~4s~)jzu`eMG40Z;_6ovm1%;sF zvkOt^v_&m5#uQ(9iq6pTFaNZ0^r`akNLKm1bn~yC{DIi8DQ$L)ZzG{W<@FgEv6Xdv zZPVF*!1Kg4KdlF>jIt;mo*X|x@8I|i3@2PC?4uE&peLtgRekc+no&jV>iZLz!;t6s zrz}r|gbGYYh{4b;u4~^i(Ut85@UvlmHyf&U0St(8#;#w|SFrC@6vg>mePk5!hlBb< zr+K1)bJG&Ij2d;9Z+XKMvH+4mZNH0LjEcVxTcT6&5*(7{SjTJ|-)8mfI8NK+G^#zG z`e@#*Y;Sm`FWyuqr;eJ)Ej0Tluc&J4u_qqC^BnMO6@2{ESAX?a|7r03?*Ak8;lC^9 zjo8(DG-`&Y|Bw8$Z-4vSfB5^q|NGzZthvREdFmCfY{GP+U~)N0oJmb!W{&gxwt(Za z?A=rl?XDkre<-D^Uud^Y;o5wieS2&UgZ*$VwUC{>$TS!`IwONcgMLkVF2odE8LfhA0c_<2dHmU3kryoZqNawlr>c%!7&$PuhLqMTUjo$c zZ0bPvX8#xbbTJ$~+jAgdyNMMyr0b4;M)LvyiZSA>u-@s|5aDvk#$JH|Dd@#vQnev1 zd5(^yuYBBy(%L|g5YXKvwnk{5O~1%YSVlE2&n^-56p{G!)4VCGRe8!Cr`rQ%X&2|N zuRKK(p}e8T&Z()?#DKR?W*aN{G;eO=+R|r5vDsV|M*=+ceB=Q*j*libPh>!`FHtQO zZF}cN)xS?2r@jg80w^W7ZqtPisvSRVS85zgT|FnAl+2HLK}Oq+wreH~>0Y3wgaKl8 zOc)C6KWmA5 zIlun&#N$t}i82v3!&Wyjm?qM&zIoGhjo%fjlhMWJG)Bgj?LBDOB*W3#qy=MgE9-)? zgg;pXZ~C2(T?qVLo1T*v5rw7)&jsp2+S+6TXtPsD;PDU&w+%QOTVQThN;wJKoc!Bn zj-CvQwy@EL1#NcFVP{!RF5|{^Vg}VekyRI@4fwPVF>LvH;Ypa>xLIJm4M4xLkqHlH znX3eYr5|FcY}ed^m)G49o9BF#?w@K}o1SAR-xKP!aVvyK^yR>yQS_-E%r?N2pz`7& zmYcWA=WS$A{4m7qw+yRRDN87AC_G<=LMV0c~3~Qi8;b?|g^sNldD7E)#SOkVi>| z=O(;#dV*JaV>|ST6?X|WwxUFbwvL%wNOrFYn*ZAM>50HK5TDWDgwq8E3e6Mk2a&*H zL~XxgAg*zTL|aT~jTCxx9ftsvQIMyVb{k(hv~W@3IQdIQsgC+C%i2{Sbz9Ofc40Re zZQV{>I*{_g(h#~!J2dm71uJx^I}LhKBK0pKcmC!)h%_*eKqoClXfLT8XLZ?#W^|WS+b3tR`|ua zC!gelpf9ietQ_#|&;Hpz`)9!RgMXgO9+|KHJ&dgs?ei`=R=SK~lD{_aj6K6tsJnz|_lHG}j$u_<%SU46WzAG|?MTm58_ zx0qc~J$B)O({9-Lj-YG6_0evA&I0OW;5OM3oCr<5NiR#g%$%{9^H;yJA4f+{AF2;* z&UVg;SVO;bXEN%-Aztfv&Yw&A(5=itvbQ!;wk3x>nL->9o(=u<1ayL3GSkwY7ja&+ zd*aNoE|!tSUM8RB@a!!XA+Ug6b4FV}j5a_};%CocITS{u{pGFa9$-`A?AYm-CaJPw;8bU5{!BrQ75>SHw=P zobb4fqIKC7HvJ~5ocjsxWcT4_v<*pU+9AM_JyWhEM4g;kpG*rr41Hjg9brV8_`93E z0UTZX+CwNg8~VP*u{$#Lq4V_5>;Ej~5Ut~L`br$1@?D)wsA;*KRxrB_D81vu^-4!4 zb2kc=v1TYc3`LgoVb=nGzFaTGDxojMUu~`>fSSk3WwbkN>XhVBG+er2-H!~iL32150_`Fbbp7`w?liqIKuo^EdsKU%t0H*n-DBu;Hk2PwXoY(S zdMxI3!IzDAqsvouo@hfKPDyw+o4?wYHHTJf`-qEZuX#*5FAMtJUK0C~Ml|QC!kG3> zJo@CHVmi7(B3-y=t{-&u*wDvXc?1bv9Gkd)nPFd@ari7v1$LMGP&|mmytN{zl781=AGL+_%E3Jx+H3u&>@7yFa5k(~CD$ifc!I^Ee&5Ly4UgHKkohyz=b31KeBu#!H0C(ANR_9J&tvFJA6B zFMFx40{CMPpmI0f#-vgc$)ZCVk#zUVgxh|l95M)OOH$Rv1kDG}TTw?J zr76?PdrWrh-tHn2MgaZ*Iv%Q)@@mAKI#{bNaHRM<7}{G~H|emmZ$qpZb|K{0>=pwX zMw^iOJkyzAcDf_Xl2UW23nMcKR&S|f5l7D=?Zj#9`s=~7%!4zHcL=?AcyRqT#r?~# zJ0bT{q!vl$-cA6*TS#Y%D zTS59zN}MEeHD%GP7&KcfT7lbLVX)){?` zHN}oFcP9-8LTwp}Pq-Yp4(f9BW$HTlq!L}?SQL)+E*J_rEU|sgzGJLU;YkMDqZdmX zqn+rBQz->J8&YdSl;)OrhgTjEy)Jr&iLmO(W%>A^?DUR3#G2hG^;trhC#TH|VZTFhxRXTki$sIoxQL5TlYygI=Fq>DG?{eVdm$7VYHZSz#!Y?o! z+Pu1IbWEIrXy4x6Ic?C6!0c2vS zwODs{Y9VZbBH#S*aQt*a@`u~axb2+^)EZ#x zMo&_CZIlEt5Wput>!41ytd)Ul%#MH?M;~4*-}u*tnzIV(EQf$m3l%--JRs+taYXbY zLfgYuNZ;)58ccj>imQ*TW``v~V2Vv;OqNM8w8RLT0B3iL^H;ubeJ?)0GBulG zYnpNCE|b3H`u=(s-%X!o@qW%M*5-q5sf07l9Q_Ct5);SMpP#(HPL9espF1I`)+BK< zo_rx6AIJ4uZ1Z~Mz?@AVx)akm#U$`VZtk!Y_T}4b!xQP^7qp^lbfoQE>I7=c*>~SE zo&!$1_v@Y4PSTmK)>i~?^O0U97d2p9*HPhYAfIt(;Rwo1kd{nr?8MD@>aTfnE~Y2u zBGod_Q~f*e+v^aE_8K*OGNaqHRCzv!+oe9)u> z4d9UdmE~1WWh>ie#>QiO+aNs2Am@V9SwUQAI!)KjH7a!k40&P@+0EKbD%ln=w!ttb z%Z_k#kdf9n$?F;}>UTIn!||!;+@3)qX_} zo17HAtM<9UQAHr4qR!$Ohk9O|0DBvgoX>#__X&RSA(`JcG#%TcxRdsvJ3hfTA8wzL zWmI2&G%7K|@nB?&PGgrnRpFTs{J)53|X@$ReJs>gGht+PdhFxAwIs==z(V<_0zVh1xLF>men)si4f5 z=}UQ28a9f~P3Nc=YvM?^bfMF{!3IR*BMS*E!xG0cH=DETD|D@`WtF+4-3D}ZZZWpa zJ9(g2=?mXbxk_@_?V_AyU2{E;h)3M}KWB-)T-rLuQ%u2o`^9-Z4Fk@m7$sRzqtoBz zQ*t>ruR;-Q<4@DfZQS8u$3N$S=mDeHT6K-^khWaWwwyWOhTGeVs_BbJ8qLo+;FQC0 zQ@(kioWbVj_KCfOqrV8@k2p`Tx4-nIFGWs+7J)4A!I+#n6L@%>+%t}sI%M(H|Gw}0 zJKx30|0f~&%Jn0C_ir@!v&-J2S4^>ApZF-x_x;g7_DBCb|1S7r5*x7F06J(6f@Oo< zC_91)JCTk6w4Jn)xXp!4wY$4l^G`yyz}01usn$#dHv>yqh)%p_338BQX9+sOzAWv@ z(21#XF9E_&#e)jk2okIIJzN5``_A&&T(&{9*QBec>#3L3v18=+=i&N&hzUGHI0k6g z--7MrW8X~{8GUhc)k|YYjf~jRUK?*`TV>@!Wbqa+#`U3Cqibncw$g(>fif4U0@3_uf;anbu$58F9Lb~a z+)7N}xLR<%cmZix`BCm|c`8Fn|7q{*kix425Go5n8N19I=VRl8)QPVTYAP@x zVM#f;My^W&uspE}nLouUHa=jx`E&g41gE8f*M|PA0H>F9cryQH{?v}K_HRx@hbG1G z&qsK>!-Pi;oY~=_=Wsu~5EE;5mkaapX(ws&qmGgwgr>dx%CMfUaXc}AO5;E)J#jP! z&k&^5)+e66CD@4@5xfBZK-~e#dL7Y@4fGIEswL{rfAZ%)`G^1T zAO4dlzK^HptVi;zfB1DP=I~K3=Gq@o_|Omk@DIQ1Z~o1{`BxewM)evl1)LNOHiI?( z89qBMhH*!v?=W5i?D(Qyc?nmDFX6vKxrkcuu9b9|oNXpf^h*^E%1v@6@vhcYm^~-& zW9oo?zfsP%Coq9p0P=n2f$g=dT*TWe>EsJE{P$#fe+OeUY(C(%1?AvQ2*pJ|{QO$m zAKzHe#3LSmK0K*(mw%kuW{HkFgC*>?C)7_6u{hAp=SiNt*@4Hylacb*?#{(#^lZQ}Siy+jxbloV@uBiMBqgVNUSHJS?(uVRv_>3FA7xY6Ixz z1!N--!;>L^vr&s4W475kyW1Ga9l*{zr7h-CJGF(0F0O{wUEGt&RQh>6loEB^2m^g` zAX&G&_-GEz$9QPw1F*)V58dAeQzh9OUO z&R}Z`N(-L1_C!hg_0~Z)!^ljSjrm;2MbI1b4Lknxr|s5L4Wq~kk{W8X^7TZHP2-TR z0wtN%jUGN+W4#NI=;w9|(xD7^Eu$4`a=(xQ;Az$G|m76>bQ|Gz4)&)&HQ3?VuZvJt#*L{`0-7D-4#`VzhhEu*qg*|y0d>)17g}kgM7FErb+E2md?}7 zs)b-beHZ0?PU^JVJP=)(4uW)%>R|-K@M0mGP})dwaH0a3H*G7uQr@&9L!UJ~QKXF1 zvJ4gD)A+H{2{Ra4faK2s3I$B>_QcE*PBli!YIho4q}7yftms)0hnoGt&(8wWy9w#G z498>;lb2RM|HfRtZSzb|2W_jPK{v#-nopVtgogNboGN~ z%tw`s?Ggcb0q0tv*^{pj;wYB;REfj7)Z2(ifAn0GcVzYZ!fcJ#mjb<5rf=jK3)~)k zKy*zXnjiGbk0)*o$itSWx;d3-da@>PbjWwm_h6|va9-FXE;_c2CHn{W_;Ao4;3BUZ z9E>}cv}1dKS7UhP8PZwrzMasRgeVYrxl;7$TsV4GTO+hJY_m++l?%RqUC3agSE$$o zX9Es$*+4Pf5~4k{ejf^3ey6*5!jICRqCK3Fv+y;gKN7iLdWr4yL}&%F3!Xcp69I9OBwJ zQoXHF`(UQX!8)aTEJQ#v3WJ*(k=gEo9#)XEMjYX1J!YFbIl2j0kXWok!huJtl3h<()_mp z&vKmlSmgWIMXW>2z94OKQ*w=OdP;1;N>Bq3txYfx8Imf#<`u15gQu@^M+qz zA?W7pH>T)zN9#`jLt`J7yd)qxzE-tozCvuVm;)N_vYge0^4Zm=#0iHk{{ zqc<~`eQN3I2ZNoH!z-_G5F1}eS}F*16pPnxd4{)#!lA0;pAThK5)IJR`v#m~ro^tr{x%_v>7d-ib@|bf+BE3ujaMcIvh=7|F zx(LvWUC$O&>>AGZe((2w_dDM4jvs>bL7tE7*Z%bRVR^2-0-*2D=l=t||F?blTmF5% zw)aHKunD!n@#vT}8E806XR647cTJPYJxoSCCjxrD3h==XeBgn0$ZSM{H(NR}wpat1 zt<$XPaLMM0zMKNi78!W@Squk58<*$VOJs@wxB!YP<1T>fIu1;59%!dyUmKglS3TM@ zdGtW7>ZdInKss!UUXBrmng4D zL)V9VJG6E~b0jYq@okwaj(}RnRnC?eG=?K@veA&xk1OxW8}?$MR-B_4owQ;^ItPWt zpJ6ctTs8WIf52kSpP}d6Wpu)b+Ng6=b9RFm)x_nK6oSq!a5oA4Jwa$?_U3Z009*k= zvdr4$HGK%f6vwAy#R0wf;F0cms(&fz*A-LqiEb~~YefaC6o%0$v%YL~wL!62M0QZC zuli)h7duhAEBY%Q^}-aTE~FzB#Id7ReGfbkR(^g!pv(sC81g1)Zp#0p@R2Otk~e%~ zIvymI5otjWXEfxciOHYF>=!qO#gIVa*%5I-lUFa1q|u@7mi=IdtY4E`>zY}DU2uZv z0s040L~R+f3Ay*tK0Pn$boQojp-a*aIiB>7NI0W4E)&7T@UOVkxs99H=|Au8`CO>J z{`H@K_t^8@MUXi;(vVX6d#_jT*4M-YPEBQbNLS?JpZLTle%J5%U4M{&CHH|Oeqd)r2zxvny+P6559I|VW?6=8oB}Q)|D&t5|lBag5^w;W#TCIeW zgsY6lo`3hsSG}q`g669%HMpYmPrM7e$tR8HF+-ESPs---_}$&aLRNoAR&^6g+PNE% z)_bQkL>`=mr?iWP-NC8s9cl%3n~u)-q@;qe?$k4UEi&}lT@g}Wc$+>^(%~Zv$;pB1)DS<6VeQy)c1w&~U;`N`_j)7fpslp&+(sm7Xf-3Irz|r?^ z%L^iX-+RCaA$VP>_t6LAztHeSzvQ3n9n=Rhm$aD1;M)l~k=H;WYaWVYi%PblP|@+_ zOM8h`=aVgM`&9nmt8?KGS3QKl=fET3bltd>w_G+3qbiv9Vq5dl*v)`cSQB8_@yf~`?}do$foz47h)nnL2;t!j@(=k*?8{PgI-*k z`GD`a3w^nOsxbhR^`cdT(I88QpZ&x_QR0YO9*#NG!q~Oq z%S}#(le_+>?q2!oSKU4K_}L>NH|O;^iTSFH_R_Ft@7|;`G19QPy$EVX@9w_)d%owp ze&7dw;D-_Lj`2Bj_isSY#a96I`!POj@&2#)?Z2H@0r+KyCY?j-=$ygY9Ej!wy%pIP zPd(c4qbYblIbOi403ZH`AL9L;>jmY5?Fr_Z6ip`ec)Hk*At`NcRJo*ThPF{mOcXV) zqiZ1KL$f_x#Z(vfl4;@wBz63}M^@BDBF_m<H3L`)v7@C2k#cCiyPtrJ7-qB(Mt?ky7yL3Q)Ly$qj}{zHMU{mUQI z---P?DXIbx8gJ3ttZYzq0xT~a#PrFr zv$uIXM41}3Yh~YxdgFU?31cc8y~sFubwhQW8Y2O&c(NuKBLS`P4***8lg{cm=b=Eao`z(c^Cr{|2U5;;WwSk?l$6iKKfto?_kpVy5>`X_xU7uY{D^MT5 zZQ2GsU+9>hYqaGTeBtZ@ZT8YsI}Aadx?3la_w`qqwE0vDwqC2hP;*@ z@};y-{1;#Om4D!U?|Yvg{(H{6_kYD^>Yq!+dEgb+2l=qYyT9$*{>nEuPE5FMJWk20 z*m9r_kI`zwNn+E>N$VhXNU>h?tH}rJ)vtc75-5v(@SWg3cs`sw-G#R6YjZr*^1}Vf zyW8Fiye60S;a6BlUAW?hq}!B7!0({JWe2a!meh0EtalK&&j1r6pbr^y~z*R zSe*FlVUT|B>*Cbaplto{#+js96=swnuB{pwUvm_f)aB z$(GMTQ9|1|=Bpvf8jqw4t%(O+q)tHM8CQwXkLhnN>mSG`5BpIWQr#{6skP3ZH&Th>kobaPzLVbVJsFxSA1j^V!a|#*~JxC{}fJ zo~K7Hp&6JLExF$jW^ha1@QwW<^-lbPy$Q6I2Bo*fQygT0a|MnmGkstX{ zI?uVgf8%?uz5-zOpZ{Io^Ed&>`3+TjbELmC*NzaH95AOMdQkN21CS9!aw}8Oi|6`}V z`~o+hTOAq}D9W)#Tc6?29`edYQy#iG=w#rgbljIFj&c zp=J+k^QyQ)=je~U=!1DqHXg0w(!MU}vnR3Cnh%}41DVbI%oXfNqTLBonJb52i&2b@ zho)x$`}1vc0^Q;lV-YG=O8|1Ey5=tb_SQ+exPp~cXcgjO!aLZ*d|EsJ<_^bv$e#jQ zE@-BSUx%8Fa}A)w`J|M5v6?&LgW(`WW&NC zvGhBlZ3$A*&jjf>|G{=D)PuZ$<2HZL3Z8W($%i!b$1 z60nVj(?32d@X??9xsU&j-|;*C06+Zm|G<6D-TfPqv+TK6Tz-DV;sZbZ(?9*=-}0Bf zp@Us0h8U;DJL ztw4;Usfl#ED<$vVPzl=!Tc5?GukKD9dQ96_OaOHwzuuD$tbsvCpV0LgV3jnUMWD3t zFDLCW+KnRb$}=&TC-lvsRHd$EWiBis<>-7)LHi;aLxR+_%}McD!%)qb0I5CyRM3tH zmYo=j$$2F<{#+Rze|}tdwnd=5W4|AqGF}*_saQ3m19;H38>Z%96s%i2BFG%EUU|^c z{DN5vZRdGH@C=f&m+6s&E=hBZN%~-7V`>M@4tTql)#m7(plp^%@s`srv><=V-v@|q zROHMP%2dNE81vwt7#KFQw;!QVI0dNq)OtZaNG~$rId-VuV>nsC+Q~mO9YhxFBX2a7 zslwI{6!?7>hK@c-G-|zSen`6fR5oAc2O^b4gBX4s(bh=pY$!Iv%`bXg_&|DkehK)( zq&6N;$l^Oc^NPBmJ%VPYH68psak`XMFd+A&Y9GtL9hzFwdzF*e6m)I(YNU8PAG;=y zuWTIm#NWJSuEKxyt6qKcTM+d;EEMx8;fTmQwjy#EcfDIXki&!cUElegZ+j;NDewND z6JPsVMEA$%@+$yF@%*=c``h35m0$4{|LzNX!+xU+`PL}XYtZYQ!@b0P>zR5N%=4fB ze45X@`?-&Nq={tP8SlhUyTwo4of)%m8&XoqZ-YG3hy~;Z;$QQL6}>Ba>O&KGHZnt7 zJK8)L&U7zCa)Seym+m&jqpyG)K>99gP+Y*(wtmk8--m?;u}@wMac{Yw1A&+WEzfpMg(Y@3dR+u*SGB~o+yf0F|SMlI-zw7!2)0$z)@Noayid2m6JldlJ(104_2DOf82})>6VHjMba7Cx zHe#(Ebe;Rz1)}6xSB`(N#eJ9~W3Z2)2Ys+jp*gr{$Y>CXe?E+5cBZ6!{3B<~gEDT5 zN1f+E^OdiDCI9e;-}@gkiKic?9p=TjNLT+KQ-74(|KIvsf9rqq;SYcKM-hELPv4sU zj28bfaR1WSrSxB#^?!E5Cc0MvKKQ{8{`jB!3xDAof|BY$wkV?1-DdyvvAOkVPut}Afp zVWD0h`qNeniwW(sF63=AI;G97rt^(%$@o5w+YoV7oJo04@@E) zj0?Aj6=)vp&Ji8m!j^Wr(N(+#_GPB7Js#w%%|9Kzf|hxG)i^egxlUNB)6>A}B9gMF z)akp8ibi@&AW1+A-&S`qDb}Ep>kd;}7|9REb_Ub4efb}KfawOV8Syg(~5p+seIQuwp;fxc1TE28y58#CqeZk zmND2?1_CulDv9b4#nns#z5-+3J^8{H+&%S*SJaIxi}J8NSt(}Zlv`u{$rIbfe^^8O z>wo>P{iXN3=RNO+eBJ#&1L2{wXdl8XS=|>@^m( zu~It$)C>Sx6*PHE)}f0R^7Qr14J|xKLrQj7Wv-?Z^LmRWNpK$KCJ60q3m=AV(kjfg z;OAWS??)c0ZXheo&UADQNc*k$G_H*`#<@7Pw&laVJ)gFr|B6Hi3^ zi#NNARXOEVzZ6RK_uJ`B<4q_Vabp9V|E9G))6yz#<;#&wckM<5FFmz{v=D{K33FaZHO zv$rf}<|dIQdh>toYLnKbJBVyW)`Z?^t2ow_`o=fDvEOj9{V$|kHXeZSiT@9L@fUyb zSAO!7pZvcd`yc=O-G48io^z#j_nh;34m&iy3h+S&;wS(3SO4)pOFbVLa}%~k4!wLSF+)v43=4Ew7w1sX6ji>5<9l#M zF$)K>xpkc!=O*!AKo^d+HgWX2lO2k9`ac^UFS?dXI(qpMxc(v~R7A&IZ`a?vk`^-r zTi3-%NZ|-@@^|L?rBQx|hyZfoDQl zI}~Wg%F*{<5DR=QZ{09Y*0*noWM4o~PJ4TnLaE>5=ILE`{=O6ZPhJ3eSf0_1rOywF z`S@S{%%Az6Ip_QYWPkO~bI>oQ`9SN@Z9Z2&1Mo1TCjWWg_jkVUBVYQZU-m_O@ALH! zna>!%dsbTa-A`{#z^U9!I|46y(TneX_QN0ChjaozaxNSvwX|cj3C&{gea2lJ$Ur_B z=+v9^VvO!)*wWzTL3!yR*Sb^;?iTlS`*f|d(nZi!!mjC#rRc8U+glJ}hzruu6IFem zTHn#-xtCGf#1uLHxB)3W0##t6grnmmLh{XVZ22DTwhBLGFPN_gD92Mw>fB2aQHsrr zZoNC}(YCqLP7Ym^&%G>^W$8h-u#v!CeYu@6wdn~1-{5CoMEuh?`<~4F>XP<$VuS8` zz7tOFayfsGj(!PHdLtJaxkk%^G0taW5&abP#j7i}uG&{3tqG1bKHSaJy7{uVJ`h#^ zn(KDNN!N?A`7p9Jjvd8nQ|)T8zSJwm_zOBnG4hbZUOl|x%GgamXmN~*1T+tv>nc0N zk6k^n%%^4Fz(z$%#Th#BCZ0wpzA|7|+*`y}Q=Kd3NZ{#*T=u{|(}JvheTmM|3m)^E z&(|w?bccK7wNWsakI)ftWGqiU@#Nj-zy9^mL{-@OVXN+gLr&A5T#N_J2_jQW^bX`Z z-}z(j{4am!@BAO2{J%WC0C?p8{>=MVj%|L$u){_&50 z;_QJNv|9+*fI~Qgd1KXhz^{L88uzn83BMBe+Sk68O@m&BoaC%y=$$eZR}fz8#K596 zBxIS791NROnhjWY|^v=a7NueTqbc?YOyWOUps*2PXn<2GBSFfa?ca= zoIK!~qx{25DI> zy_`nlAmLUn*+aCt_|+cF!%e||_xq_o@<;y2S3~h-|L4qq{JW3f(_4<>bGbN5P9NWc z`I+zh&hPwt{6z4#Zv0^}c+MBg>eD%cdU_jo7rb&wuW=juo0^U1-M#3=FTH!&%RdK9 z(ie#h6$9HiuiE7*+mnRFiHdM`SiDVa`Z8G!L-t5JvXgyx5iLNvdf0+;AvkhPc^7IH1pr4dYup1VP`Fm)-*>gtk&Bs3}EU;`d+v|afl zVSH>1dr4LR`sV|9yAZ$!NIK^U$6ZM~9l&do%7#KPCY*nrCmVtf)7bY{av zt{hNz^NUO;1(ft)o6Oww<<&OODI#J1#l?>$qsce6yhJ$cgHz^QRK<6KlA;ha<8>3J zXMVP!D^EcrAL$l94(e;09Yzd^-dv!y-)WeyK#pg1;`h#2dM7Txn?ssBak-&ic%Ep3 z0N*L5NcL#xyExNx&gV!%&4TcdD@5b74W2su8JB?0JwGCSaoXxM|1Ft9rRbCr5E!Zsd}P60b7o(W1VCUN((T6C<}OZp1q5EvT=63Bt7mF0 zV7cO|$03HW2F-em4Tk|raor{O2eEZcC zzDPRqz2Eb_@A#%~`lfdv@iRQH_x&#fNYB0U+42^EgW&VAw}1P$|I}N){L8=Wg)e;3 z3mch@BZKOqpyLE=gd=U@Dbq}Iaa@CVjVpwUCP^GHUi^|5-+kyqTm*WONMQ0iv9km^ zJ5BzY=)%a)58Z{(guNDJ#>MwkB!80mrj~nhG3cGjL2RQrzDmt(N5N)dV`_Wc zRafqg6FN_`Vb2k;PTi&{`}9p}7hn3G?L{GOv0cH&J~=qHcd|C&0upzXiju@#xghc# zx&4IetTt}QE2~SEPCRrBLookjIz9=}UEZ%ONl;JuX*8=&I_~2l@0Uy}2;2yQGd=)& z?%9b0z9Jm_ZGzyOXS91Irjz;%cm1u8NzK>EL&=s0bkR>rTmwo-Rzlfd4Ck1d8vGeF zI?iNs-IW+L$*|Lve3eeF;9~V6A!bjsm8(6B50lT~-P2TXbhu4UvPCle-z)6vG| znKbX*FFEV|Xp~s`G0gd_!@C$D;4D4%`19|6$?Ja!820D?e7Jnm_=SG8#NjbVrbWlG zyCiS+P7r(m{O8{Cmbd)ZeCy2L{PzOj=XjpcqV*gt&c4s5;=AYo06+jqL_t)B;y^ec z@8`#X-u?Ao|MmZy1L;QF)VgYE4mX49*jrlQHc(jGnGr{BlLYl>+f427U#9qNfY-kE zHQW)LNlzwS4C3wzdMBP?+18UyQa@03EgVlw8wB`3ch?DKG$*@=Gs)baKM)~-VMAQy z)TQSQNcJK0^TA5Eu-#BD2cdohWg{?%K5aVbPzM?#kklG_t6Lb{W} zS{DiOO&W+-)2!A@*TZZtrrGK?5SAxW)y;XY0J#Z6b53Y1TV45RgIwTHa}WNIl<$!p zb$gB+t=tg!#v478U~ZK)CXs21)AdbB!j@xAdCa88ueLL5RWbpY&Hqy zVlRG&5Y#Jr;2mXSR!w+9sDXLNY{y33yMU~0WBgofOx*z&=1uZ&crp< zvsdDvE!6=PM+cp;C<|-ILDrriw)CqYq3EjM_`I(ZPQL7Un~SWl^IuGhN@e7mWkP+IM_SkaTnLrlrZqO)~EEkF3lYQ6P?to}8p_A<-#9Sg?+UtNFtsSg{1tyiL8 zJ!;X$>iH!JL)F*Y$pSX+J6TT=E zz=cp{0nqRf4-&KNqWRjZ6y(O(c(n9(GD>tFiT zZ+_Ri-u0tM`JMmIijzNa-121mxn7(neJzmsSH1o1Z-46>-tYzgisR|Ta1b9(3WMF` zoJ1qvWRRiKbkvq0MhHhHDsu06?|be(`2G)#&urQTtt4${7n9YKLlfB(_$1q0GStFB z&XXRCI2+=$bYZ%{={en99AV~zPV#i2>8^jS3ny_s+t3wh32pHxYY_st8o_aB(?DB& znaSAXc`Za=hVvvcKPJ=8g21lUfz;?RG&JLobPS%2FMM4v*RAQxbIlK+VMuQaJ``Bm zcQf(j&AkUMntowLThwVtrer%vsNS8(O-}m=lsx3L5peBbaYS)#GoD7otF+vNP$9YoK^8eq$CVu7XrE4by3pbU5s*yO!8Ey znx{bwLy%6YhCuszJEZ)oDV8TtoLj83yLqi{LiukjBj`K@``KP+T`A5rd>UIBi-FJ% zkhUjAx=)MOIB>q3fPz3Rc{2#!ebST!PdntBU~FaZ+GNB|&x3YLg1EM+Ih2ze5#KSO z6El@$rTZujk34?nAN+&&{hD9%YrYbtALQx#|6TxmlIL^2oDq1=$6){ty&nklhZ)}U z*0;X(YauZWoC0T@>)Dp(C_BKXmPcEVj_|4>NJH>&l#3AmHLrfn-4jndKD?m7b|Xy2 z$+x>Sf9pV9n8TtMmN2R8@@Q|@Yh{AZBLR?%$Ip7#*>`u&P9jI z9(8xgCpW5vr8aF4+SGy*TcUMRV3Qx;+s|j{x6PTh9{BX6nv?ZKN85RV?b`a=z)XG@ ze%qI|?*mI#Jw48M=;~U+y4rGiI?rf%aiYF|%N#A|yEYwnqzo(cv#Bdvp&Huw$~DH= z%k&@=N+TGAJjpdK5|kCiJmEolQN}Y1IMj({E<*`OABJ-rq*69dL+I;`%KG%}xnioUU7hPJ>0c#H}oyYDTfBeZ_ zfz3zh6f=0Fs6;qLe0c#JnhqcOg`pky5BnV?;LD%>(|_t~p?KoIe)MO{=0H7{tIvkd z06a7QjXVFJ`J-=s^PAuJ1#fu6FKu!<1)2a3{03Sk@Pi-vKse1Ap^$Tf+k0V5f0Z$)?xo*kKht#bo2Xg1Cg)9Ftuv9sx7)pVcrCOe z>m+u8dMfi+d>FId3G%{H;mXVWN>;g{hUns*`!JpngK{l31+q2D1O*DLh20(W!F7W@ z7AGRE$%{NYiFzpa)Z!y@yJwBu+l8F1zU_baEM*J}a>@4EWlLHU8`)hx^HLFp|rk z=Ecch7e5KXCr4!nu;rb8gRd@l;dnS+8vEhr(FEoXgz4U6d7?WY`LnSXTVZp2dHKK( zxP8Df4flGbPi&2onA3|6TkY(mGr!A^y2hp-r$pzVug!w^FlF?#f)oANksbsNX#3U| zlzzNJmWSQV6ZxvpcO9yWFPjt4oTKTgGrz@-{{Zyze{*`W0UtZsL)+>U8jhL$a%C+` zza;5T8qx9W_@pz+jCUOqQe8}IF|0Y3!$T0&IHWh9PPY@gp~s0^ryO7M=H>9ID(ZPH z<3)UyY3Dg~E&q}?yy5PN#~(jDB@h6lxG#)TR~-ZGe+sIhkD?vDBSJoA%j5q|`8~hq z_r4Xu&x)`88S%s7_DZ?8!WX^Z?p6NtiHiZfmj#u&CO7qMVVun%G)1oKN!#)S-yz6) zlI7b8*Y`AIAcjJ+&RmKw)}`E7ufLpJcf3cXw;t4*W}zSdgWymc zdIQ!2$@zC^0Cd8X-(9A30nB$mL+Oan?u=t3QxHeamof4KxyDVb411s)T$`OtP3Yyn zMB3M@4YIl(lWd-FMt_#SgZH2}k!BjFO}s@m|8HZu_|o?bArt3taeis%YUi}$kBsC? zmiD1c6l_bhBV%Vd8r+}Ock^> zhU;f}o|sfYjL9;&t2G0LA-7i$Z3xNp`tOJFr5!o<+86PYziJh)Dk`Xpa*^AYAX&wF zaBQx7{8ZrZtCoEgKl+i6eC(^f>Z|@38b8U?bINo2JOB9qY2~x^6#z&77yOj|lTW_z z=l`uYzxg*@gKh?{AwKitOaLa1T9(^{csOmD9SLmGZN5o!);#a-#V>l%-9P*Y|2FvN zf1asxmXNc}wRRRj%Rq7DHKnSM*WEx+`GAe&WcpMP1$jQ{TV2aI5hy#!&gXpq@Wh1t zg*TU!1&U5OLJF;%$k6xF-};9Nxd?g*+171?rqv6gGqOb{j&85Yj?Qb}l4$nVzb+VJ zYyZgQ*rjl=v@JkBSSKq@V1*H+(ZFNL`g2j}!|Cf;N1!`1echnW9^#t2k3%(xK44sb2?agMlx-i~terfd z>^SzGbr`~3Nb)Yf1*Ei*ZhRYmLAAf6=UXFj^K*8cofD-`qxE79RZk>#cb6W0K3L&J zgIe=I8IqA5G<>OzvC@;q)1$9qoIFF$h~uToH9R}FN$?@2K3HZ&-!?2XE{-w^MVkMO z0ff@uhuikemUN|em2*7v<#YT|omRNkUEE92LEnZjS_}<)@#@dH9zkzKgieliov=_O zQo^^Jzc!$FVI&{o_{T5o>Q@&Q`imj6Ae^Px(o@SwO{nEI;-(w0u?B#=%AY-rvBa%s5qL z;*0Mg;bOyA^y|Ow>%Z>n{=d7c*v&F6mkY`g%tMx}xJj_-K;2fpmf zzU+(m@t)7ybb2s?473w_SK_GMCdU1Ik+c!N*KPveWG{*5-Mz%G27d5^Ou#L;uoVVC z?X9q3r}YphBT`q|*z}F3Yr(h6t`FHb;jg=@eEy zEzNITQBtGfkPZEWwmC{m1>|yFaR*fSuw?}@lD*j4k*=b$Q?7McfRXgZ~1L+`R_q^H%~wL@8`=(C-rAd`E0)caKIk>{_p?(_xzUM@>{<2@y8#3 zVzc1Ez$4H^k#rWHqiZ*kM<0h^wMl*GG6Ud$6F>hk-j{mf?n58`Fw`v&SuO5Xx+X#p zg^mjl37)dse3PpKZ|{O;0KE%m8@wA^OO!nU{T8^cfhi<^mv)|jyRBm$CFlAEx4Sv@ zz-tqy7Qu%_m-JQH>td-5ReF9|Ee?gZ$mzTJ9bb-9VO^W0{tp6d{Zl+Ve3AiIp9&Ow zH=Gm1O-{2ZQsLs7((J2Tdw%!zp|Ozlgqe|W&sLcqyI#sy7%>Gtv@HDH#>qa z&r|~_ugEzQl_O~VEC&kl=pJoP>8!~CWVwNP*vDt++lh>S>!+qx9%mnp0n{|$jJ5L6WF(;_T ztdu>m(pp|5`am?1MCZS2)({QU&qG{!kW!S$4pL1DGFuP&?wq1_jT^|#hO$md6QQ;Y zXxcB=_D`%ces3dD^~Id7HxpeHL5&V?zBPGo@bdhs;FbU79my*{*+y6Ru+dNm{B_NR zHWiS!y~;i1q8WVa_j)-5(a-z5&%5)d*e@wOKk_L?zcDXTxdt_7Z~>M1tKA`mvQFxs zpnTO={oeof-S2+)--YmAo*&`)S@Eg=0(@}zY`y?6OlR&d{M1kV)F)s4n%6w>Yrpu5 zf9+y#2-8oe-R^*J7hqy(bgB zg-xHLHRWu%X17%6yK-0*{zb2yFsv=yUSed1=P~tx-{g07wHVNs5!Z@^YabuBD92LU z#p0FsM6pWyS|^<(vjrczvRz1^?nZ49*5@E-*)i5OE$Z~Z4b-j14Z^!kc*@cWDIX=M zBaSwybSW`uHY_K80b~jvIaFE~rZ(h|Veoc-KDp81@~f$+F!*Gl^dE^R5A!)O5~s|Hs#S&DZ!Z=6{^0@BM$)z4T8^l`H0}|Jhc1f#W5kZyNoox4rFcf9#k2 zvS0Qq|4~7jkR}zi3&%BZX5&3Wp421U)%N~obldL$bEcf6x9pu_ngvC}bpY=W;I54sa$n}Em<RwQsZ$EthVxZp@uGQ0i?3_ZH%q%@Ap~W#EFl z)!{)c6X>~#^nHA=i!FWaAp>|ZX$PJBJDZ^n`SmPgTjH^L2A~{kzBqM?j(rMHbn`Iw z5rTu3JY|kjS(3HA@l4KG{HhvtzL;m?_k(BpnzTj^ zgmT8(PZSR-c%{WPug*2c$6QJc<)YEoY1qlwU0->zmm_gXpmH?paEB{Q*qoLRwWeo35`7;&cOg7~BOoAbz9mG{KJCrWwVUbK`;=DzjBo2ua0ky^CZ-Yf zMbH?>CP;>hVPm}f<(ntjRswl}&_%R)6UQ;ALE8j0zpS+@Lm$OD_B3eIjpm5#w+{6F zj6L+@ZMx!wA=cEieC*Mrt@f2MZF(c1*T(te3tx2iOW*hf=<1JL56W2U#6`3_9Yqwp z*eMl{!m(1TGiKEHzV|&p^(9~OCI1zjALQv*|2}K){)z4Gv;7qSV{|S$>W}@{kNwzB z|K|VbH-9O=;`ixsZ*D37ph(<=*_0V;)CUSRIh@*g`qG!ags%qrQ^6p}a>8C%^`SR$ zoygbJXBoH>D63pJ#{+fZ94@+Y4Q?`%oyegmqurycm3)Apgghx7b^4TBQ#~AUJI_}o zZAb@0ta$2OG3dA(7AtQjB!i@AOJLoor0civjJ0r;J#~x-UE4 zpD>XhP@c7!X*0W4VCXmQ4GUUvNS|sxijLYoD0ewCU(gtyhQy`x>Ofun5(fjSL#9jzw)ZOM-^S(k$^*9aX}rPrl569k)tKZG)O-PQ@MD?xlZOboD4Jy> zDf@Pp`oLZiIt#5()B-QR8#DCbZQO<#E|X{OSs$ll7>GqzX-;DpDd-#Y#)QGryZ&3F zt^An!?Rb;L2PbU6RK*B>13vrvI--WvMlnF!7M)q%ofo|Ymxygg1fHt2lk3D96-@#4 zm6C3)bS^uK6E=R8=VbqX_TD|_*0e11{Hiu}J|BTPP@q_-QPGKx2LxJM1*BU8bd1`z ze@INs^dFj-v^|QG_LPwhiJduQ#`KstPC98Dk5L$>0i7A6mWo8vElO1>MHNsW7Fg%K zch%lC*Y9`T&%4&%wF?HMiZuIszHhzn^W67!U-$jo?{j$9`qo-stl-lUUaGZ4q_4EM zH#gQpVEF;YxPcHkJn_B8jIX{#(?n8%9tXnglRlIn&uZe`a;h}#XRyQ@UfeO}j45}j zlLoe0)X){!I6I(T0G?tf&y?GGHN9%Z)mi4Wyo zxE;sh%WM26PMmzh8{Y8K`Q+cbg5#zChx7QXeCdDX;mI4}(tLKEy$QJMuDg!E@P#kD z;tRgu3%>A7-Rqz@ljal1&R}@t+#?4U=A$b2-~WIEeJvg|gfn(i>w??Kum(SqIKQ0^ zPQJnBq?wZhOj^vM6pv~58F+9`Fr=AK^5Hl5)R9{En3lg;WV6t$1;?F#Vq`rcPV5A; z2t>%F2f`7ZK2z)BRvp?2(b$NG1+Lp(biAV){}QFbIa(RVu)3-imIVS#H-Bs>Y0pmy zD*?%?A#5l-C&Y*Dkb@7YZqaSdkW^Zhz5bdDJQ*cc`t}$nxHQcFmxt>TP zZxrKg`ix;sH4I^VX%1KYlJDN65Mj9+D>lPNED}{i(*QCfa8)&x0gnHgB!-BMZ>`8t z7&!{e2Hy^@o}fU7vt5pgMTo2e+l|(nq3K_=V?+EM%=(7hiPs(TRbl146m;PDci_ zag?+Eqsa>b6K^_4l;&E0_1l{afIPtB2V~1wH8zBp1+!cuz|U5qFqdKAno*X%*L5*Z zzeb5$t8m9=Ln%*d2~Z+iZ5*WBc;k&(M=xySsgBrwoU*UpuVX@cx%~a#|NY%}&AjS}jL69dlanuJFh%D`m*$!C{)B`oppAEC zR9}{?+(j&M&fxT8aI*l64`?+t44%}$rAqci%YQi-SpJa*LJUBP`z<#tisJ|HF~ZmXIP}>Ja+N|!;m|!{9;~HpH0^Rs@mYhJPiih^^ATT)R%?^mH!GtY0wlSzYb*_Q^E=yYKb+hpgE)cCHsApfh zG^Y_NUolN&kzIS;wFlQ+bIl6#X+7U}-+h1gRbTa0uYdH>N8cSseC&^B|0ICuK5NU_ z@(KVKkPCS-FY}y}KLvdFn_vCSFMrmNe3jJGTrSSLR*xP%c5wW$+Gc)VR_x zMr2%>(u23p%poyO)1cQ(X~ z>v9e^{W>KA+KWS?(rq$x2X6*?4&C_Ez=nYkS$$QtDPkIzM2L(ZC6(qGA6Ui7J&*H7>9@e_}q_|Z4~=o|m+&;E>m^~;z3 zte5@??6bO@bvFRHnor~g;MjH7UU%M?ec6}2_?fu6mu4_O_`rj?`{2!_Ocq{<&cJ6u z$!y?ezzO5RG1HUDM6fw>W-@}b>JeGAOYUTqU5l>wweA8Yi}MXumlmAL&MOJw*JmfQ z;>}Mg3yQzNAv7X+n8*WL6PozIxOfC79U&{91&j8RWAooDvpq9U#hi!F|B?sy z>SL^VCfb`nvIkopktt1e|0Vva887pLUJG)B4DROM4j^+d5hT3hBB%PvQD3nPuH6EJ z8kxOHeBo6@T*Qp8(s6AF0y#Jp5(P0-H2WsD;yC)IR7~3e+!@2UJQGC7MMRfERgdsR zw&qN4nj+9R%JjvuS4D!EHwqa<{vBFD4tu765W`iPoDqOYJif;w2r?iBD0Pn5q(%ZA zJIcvMe&iS;u~@7h%@M>7Tio$ey$X420}fy6r6d+OIB-JO^~6`=IuW#C-{w^<-y?t- z!$ez6)5tlwUv$`atq2&~6rvJ1Tr`obYgyY!c7wv0ninm#Cnx2i*;n8=n*(AaFn*Kw z^Ugc};3hurZ?M5X&E>aJ-uT8h{`mk)??qXkKSNrW%12FUFg&V&qQ5| zApPnh5;7J?eprOzC0>8$!! zPwM#J#sGDHV@}TKW!ibF)$sLNfWhjViyAEX#t$-#nrmYztsxm$IxUkNQI1}-)Xg7` zv6!T6FGH_1j1P%)9Z$gFTDi`7|7CY#=|;c1VQb>CgBW~{__R6ELmHi9Kp&u!p3AMaL;3NpmqGB$qkker@vg7PZ!1k$F-atk*7F$tiusk?+e0 zw!Y9UU-+I98RM(Ns{ItVVWkR4fgEB3@&{M(*U^>;XDHOFHeL|&kkYi|R$U(1<@S|If_6M)+<=W=uSJBWjEGog$bkf@2j3e^D*gtOIL&p(wf=4QV}h(B=jOdr z&&xah`JVr0qU2xv-t(H*yynN_>%Dp0m&dU@lFhTDoQ*dC3}^ldd(I#J;cf4K?Q38A z@(V7w;1j&d&;BRk~2ejX`V^KY-46pXERD;H~BNgqT@kf z;`UB?*@lLNC~_AHKwy2n4qJ>-Gif;o>yCsN9sYC5%(e!I*dk=|@-19@PrxA%Us4R= z02}+@`$aE2Ly^J-1Kzc1;$IAlN-+9iRf*gP@SA+Ncu0@G#RgMxh?FyR)1Pi}VJMYx zg%So1!K9WLiHyZ+_nGDB)3(SdFyt)o{8S|(MB6nf~0Yf~gtQ(ev z^=8Ug;Uy9?u^N&$AAned$ss`Up&DuN+!)}4=nA*rR^^U?R%z%gXZr6=5Lrx{U&oKP z7pk#eg_|h)!p)31;B$`}X+3>_D#c5tHQ4-N2zOHxKg1+|Y|xFK_~5ogwu)J50vfA{Zit`HDW%2v)}Yn2gU23xFdIEKxd~;9^7!l4F?xr+%Nly^l2^m zd;hW5zy9?W#dBU9qs{Lg@VQ(#7aHx1@zLW*}^%4K5Alw@)dR$u;XP@R(j(~FcYf(;!k zQT1n7T%gd_xMXoO^KY#`i6y^td(kHiE}uQD{w;C$JfI}&aN>8rnq zEp;~lx(i?0q@a09g#|anK0Cume6Q#Bj5K0$vo;dQi8}&qn;y8)aEhLr!__(bMuv_9 zV#4tam8qQM*)uxI)`w!WjD7XwG8Db=9a7k^IcHRXX}{`?wt0*<^5%SrOy|VT55b3% zltGI>gA5<6ZuDYw92K!lF3K>uAt&(?j{Hucfe)Iko03qSOMcW9&CQr&J%GZAF2$gz z70;P#N`67|YMY!R$3%z1*Ni6KV2KYo%uo{8mfLU|PvpUrefk-BL=!?cehG**@j17Q z6RVWa($ra!NWaWu=D1AgNN!q$KukR#iXgv?x5nDMEQmY+NOZh$~>3?PTY`p@?M zeDOsGCmuWD8v`Bo8HinMm;$S0!cxtoW}wotJqt#}+RWT5&dI%|JH~Xe6BBFf-J4O3 z4iZq}TzG>bp8Vj$#YXS7U^Vcgg0XYK0Iq#GY#8WH-WVgKFP!9VTr3hSL&`AbSNr;5 zLBbF5EG0G87TVNjbx8$J;hGx)awZ}mHyZ!G0X}l$NL`!w@ES-OE84_~pUHzZy$<+w zjZ6^ahZu|_2CJ`dKmw03(1efUW)O5@Le9bS9BBb_@y(fW;;T9#q~05`QZ-?H$rW?| z-aDK`+&mzNKNHuy8EX!l$p>e?kSD3IUj)yM-PVr2xlJWetY^bU2k-LjMwS=}o?RPe zep5Arhyuo^MLR^u29JU&n00N$PfmmFkEHVN-vIIqlyM44Ul}oL_A!CU4V{!QEg#S& z2DtIR#uBk{V{3fDGA_s$j=kA44A}4oKfc>XZ%nEorImXehDn4LD=FkNT*RgC20FYs zr7eUw@tI>wf#}vNTD)S%ys%f$iOx|HbZqM!7pi={(SWEA-#iP5PH3C@iWh70!VmDs zIm5f4-Vinc8wMRWbNIUQ$}119zyA7IJToP4`1`Z(`@Zk{AL8wbW+7q` z_iu=q*)9m^v17JpGb0`+J6_0#%>fU6Bx49xzyn$66E@f!(K-M4xav@*GqZV4Nrt> zNMEM8<=Uv`3H5@f%Ok4hlh>yI|PxEig{&BeLwH8d)nG8BslP6$2a%j(b1aCZ? z=p&F|qz%3|I2vls`hyN!@zuG8d964^%kKu1GGeW?gN⩔=JV2i+$-IzGtF*>|-B$ z;MK2w^}jrJ?AV?0_cwVwn#X7L7ydj|UJq{ovZv+G00;NnbNAo8>Q%3L`5C_@@Ts!* zDask>mtA&Q-Vg9_zI`hHK6o4WnE?EJs zF{CfV3dh9bnkT=#ihg*^L+hH(hJ=rueQk(>e1twBr_b~Uo*Jgo916<;SV>@`8U}56 zX4=<#l%WH^Vv3=7?K!j`bseM&xnOa9<7hw;IUYh}R}p0_dNatFHS~abp>igkh!M>> zHDg@wB9B#IGnjA?U~}7?G#7A3C$_=U9~?3dK(1%&-r5ca{+TOWBI>C%G@8pk=QaP3 zu~GVG57Uz3H9reCHp=+xj=ZXWdKxE7NE5 z4FEY{UNE;${?%Xo)zSR7sq?-h1;wYexEQR7P-Z3=9}j#W9}je)SDc9vc_(WplnX#4 zE>ep^KqgFPoC{3asJd`cp`9P`EQu*Juw#~rMwoTR6|ZVB!mu7(Vvm=$heA6Jbs*Ab z0PyD5$5`1g9^fe37Z_P2k#MkGwF05E#|JQhaBVUHg&1xLJm%n;1vHjblZo*;bn6); zdMxDT{SR9^l{Ql8GTxOA^jrh=^+RZQ;L(>imw9Ejhz(rq@VCWhjW8lZnRazKcXic{ zc+f0aJs?pbZ;Xr0S*AI#@M1@k(!CllaF!PW*XOhyciN^u5n_qXxDsdkfOQIT9{g#8 z%`YN(0%||WN;!;!d?ptER{)0Lu6+%)RW51C4Sf2l!w7;gJq>{X^kdJBefCpaP#RS0 z9Am#fN8mCLvJ{)S6ysyhx3+^Fn{lWAx=SpJZ-{zrF-{@&oVJ`+s9=qA^)Q09Z&6Qd z1n715rWZP#p-+h+I_%d2g|#fYa@wirbdP)?S&(a^hpDT@Z*X126L9yd$clH=uayU%Spe3=B?8+e zMO!}vmij6?-@)^TQdWmOeWOL@G7^rQaZG54J+^_rE^vOd_5LX(>3z+Sd2I}NcPWlW0b}eji(5?wVy?g8e zjF>n8M^Bu#+mrwu`5kV@=fLYADhonLatgjK+D6tG_k$Ui;-~)&qVXW7&A@1_25DJV zT*hA9=FN&d(;nZxHwQjSY@A1Jv}@MUQ7O*ukdrkwBJP`b3o*WgXV!)jYwe*R3AF6C zz%+Kgs}`t7$IsZEn}3~t^UXKs6@UxmIMYGeQPk7vC=h4XoC$fy?YIB+>t6S|pNQ_R zJpMM1{L9v^SUI1SB{T7?E{q^He+B{r;-2sMp6~e|KlGswejxQz%l>GLrbCaxm+5hu z?o`9mTEPk*n+x-wu5P&TxyoEnSzLVcl+1#CE)`eH4-4ZM^qiG`ZCWKK!0^O}(}S}Q zrZT!bBH-f736{FNaA)~dG4`wqEE4%oZ)>u%Xef&vlOBe?=Sz>v&_#W>ssQHY>4re7 zo7=SUpVICdkqQ5vaihU;3cZCH-`0bP znW?KH@-Y*H5?*qWYtjA=K%#Jk0~?&TFR9PVMtB3}wFQ#`#sUpCX%H$vR2@5B94?VX zQ(_&x?X*^`jsxt6gL4ZpO?>fWoOlG6Nrd-8IX8%9D|eJ9Ge6`N7)%BaV|OP511B

7nNvZ@BT`qO5%_0)y;%gfPtGRQb~H&Zp^5Yl8c` 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 kr~d!@|NRG`wfy7zpXK5A&#E2$FwmERjEZ! Date: Mon, 17 Sep 2018 22:47:21 +0200 Subject: [PATCH 40/65] Tell Travis to cache bundle --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index e3fceec9..d5e5a6aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,7 @@ language: ruby + +cache: bundler + before_script: - gem update --system - gem install bundler From e2336eebc7209c6c9b2f62f12675da3a90e54582 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 17 Sep 2018 22:41:35 +0200 Subject: [PATCH 41/65] Add light background to images and iframes --- assets/stylesheets/global/_base.scss | 4 ++++ assets/stylesheets/global/_variables-dark.scss | 2 ++ assets/stylesheets/global/_variables.scss | 2 ++ 3 files changed, 8 insertions(+) diff --git a/assets/stylesheets/global/_base.scss b/assets/stylesheets/global/_base.scss index 33c77a5e..b4a7bdd7 100644 --- a/assets/stylesheets/global/_base.scss +++ b/assets/stylesheets/global/_base.scss @@ -218,6 +218,10 @@ button:focus { outline: -webkit-focus-ring-color auto 5px; } +img, iframe { + background: $externalsBackground; +} + input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; diff --git a/assets/stylesheets/global/_variables-dark.scss b/assets/stylesheets/global/_variables-dark.scss index 17129d9f..2f962de4 100644 --- a/assets/stylesheets/global/_variables-dark.scss +++ b/assets/stylesheets/global/_variables-dark.scss @@ -13,6 +13,8 @@ $sidebarMediumWidth: 16rem; $documentBackground: #222; $contentBackground: #33373a; +$externalsBackground: #fff; + $textColor: #cbd0d0; $textColorLight: #9da5ad; $textColorLighter: #77787a; diff --git a/assets/stylesheets/global/_variables.scss b/assets/stylesheets/global/_variables.scss index bbdedf9f..b3ae528e 100644 --- a/assets/stylesheets/global/_variables.scss +++ b/assets/stylesheets/global/_variables.scss @@ -13,6 +13,8 @@ $sidebarMediumWidth: 16rem; $documentBackground: #f3f3f3; $contentBackground: #fff; +$externalsBackground: $contentBackground; + $textColor: #333; $textColorLight: #666; $textColorLighter: #888; From 93dfb6a6ae9944698d62a559d60299afe3b720c3 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 18 Sep 2018 23:00:19 +0200 Subject: [PATCH 42/65] Fix linebreaks in Elixir code blocks --- lib/docs/filters/elixir/clean_html.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/docs/filters/elixir/clean_html.rb b/lib/docs/filters/elixir/clean_html.rb index 6e2bd366..7ff3a86a 100644 --- a/lib/docs/filters/elixir/clean_html.rb +++ b/lib/docs/filters/elixir/clean_html.rb @@ -59,6 +59,7 @@ module Docs css('pre').each do |node| node['data-language'] = 'elixir' + node.content = node.content end end end From 39aeffdd80b941b10f319bd43b9d4d6cacf02d7e Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 23 Sep 2018 15:12:41 -0400 Subject: [PATCH 43/65] Update Elixir documentation (1.7.3) --- lib/docs/scrapers/elixir.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/elixir.rb b/lib/docs/scrapers/elixir.rb index 7dbe5644..10d5aac1 100644 --- a/lib/docs/scrapers/elixir.rb +++ b/lib/docs/scrapers/elixir.rb @@ -34,7 +34,7 @@ module Docs end version '1.7' do - self.release = '1.7.2' + self.release = '1.7.3' self.base_urls = [ "https://hexdocs.pm/elixir/#{release}/", "https://hexdocs.pm/eex/#{release}/", From a6b7bd53c2f1f6594850d28c342128e785152802 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 2 Aug 2018 23:33:15 +0200 Subject: [PATCH 44/65] Add Puppeteer documentation --- .../templates/pages/about_tmpl.coffee | 5 +++ lib/docs/filters/puppeteer/clean_html.rb | 22 ++++++++++ lib/docs/filters/puppeteer/entries.rb | 41 ++++++++++++++++++ lib/docs/scrapers/puppeteer.rb | 18 ++++++++ public/icons/docs/puppeteer/16.png | Bin 0 -> 661 bytes public/icons/docs/puppeteer/16@2x.png | Bin 0 -> 1034 bytes public/icons/docs/puppeteer/SOURCE | 1 + 7 files changed, 87 insertions(+) create mode 100644 lib/docs/filters/puppeteer/clean_html.rb create mode 100644 lib/docs/filters/puppeteer/entries.rb create mode 100644 lib/docs/scrapers/puppeteer.rb create mode 100644 public/icons/docs/puppeteer/16.png create mode 100644 public/icons/docs/puppeteer/16@2x.png create mode 100644 public/icons/docs/puppeteer/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 629682fb..753c0058 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -560,6 +560,11 @@ credits = [ '1996-2018 The PostgreSQL Global Development Group
© 1994 The Regents of the University of California', 'PostgreSQL', 'https://www.postgresql.org/about/licence/' + ], [ + 'Puppeteer', + '2017 Google Inc', + 'Apache', + 'https://raw.githubusercontent.com/GoogleChrome/puppeteer/master/LICENSE' ], [ 'Pygame', 'Pygame Developpers', diff --git a/lib/docs/filters/puppeteer/clean_html.rb b/lib/docs/filters/puppeteer/clean_html.rb new file mode 100644 index 00000000..dac3b5ef --- /dev/null +++ b/lib/docs/filters/puppeteer/clean_html.rb @@ -0,0 +1,22 @@ +module Docs + class Puppeteer + class CleanHtmlFilter < Filter + def call + # None of the elements to remove have classes, so the order of the remove calls is trivial + + # Remove links to previous versions of the reference + at_css('h5').remove + + # Remove table of contents + at_css('h5').remove + at_css('ul').remove + + # Make headers bigger by transforming them into a bigger variant + css('h3').each {|node| node.name = 'h2'} + css('h4').each {|node| node.name = 'h3'} + + doc + end + end + end +end diff --git a/lib/docs/filters/puppeteer/entries.rb b/lib/docs/filters/puppeteer/entries.rb new file mode 100644 index 00000000..db80d25d --- /dev/null +++ b/lib/docs/filters/puppeteer/entries.rb @@ -0,0 +1,41 @@ +module Docs + class Puppeteer + class EntriesFilter < Docs::EntriesFilter + # The entire reference is one big page, so get_name and get_type are not necessary + + def additional_entries + entries = [] + + css('h3').each do |node| + name = node.content.split(': ').last + + # Find all sub-items (all h4's between the current h3 and the next) + current = node.next + while !current.nil? && current.name != 'h3' + if current.name == 'h4' + current_name = current.content + + # Prepend events with the class name + if current_name.start_with?('event: ') + current_name = "#{name} event: '#{current_name[/'(.*)'/, 1]}'" + end + + # Remove arguments from functions + if current_name.include?('(') + current_name = current_name.split('(')[0] + '()' + end + + entries << [current_name, current['id'], name] + end + + current = current.next + end + + entries << [name, node['id'], name] + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/puppeteer.rb b/lib/docs/scrapers/puppeteer.rb new file mode 100644 index 00000000..210f6dd3 --- /dev/null +++ b/lib/docs/scrapers/puppeteer.rb @@ -0,0 +1,18 @@ +module Docs + class Puppeteer < Github + self.release = '1.6.2' + self.base_url = 'https://github.com/GoogleChrome/puppeteer/blob/v1.6.2/docs/api.md' + self.links = { + code: 'https://github.com/GoogleChrome/puppeteer' + } + + html_filters.push 'puppeteer/entries', 'puppeteer/clean_html' + + options[:container] = '.markdown-body' + + options[:attribution] = <<-HTML + © 2017 Google Inc
+ Licensed under the Apache License 2.0. + HTML + end +end diff --git a/public/icons/docs/puppeteer/16.png b/public/icons/docs/puppeteer/16.png new file mode 100644 index 0000000000000000000000000000000000000000..558e83c2823b42628f3e90795b2fc3e397f30cc6 GIT binary patch literal 661 zcmV;G0&4wPx#+fYnYMNDaN-QC>)C>#KTVE`o=0CrbhU0qdGRUaWB zgoA_teO;)isHmu@O-)TaJ3Pk5#$;q<000000|5Xi8vr5~+1c3u2?YRSNdO%al$4aI zsi^=@IRH&K0FP<_lx_e%EC2ui0DfKot%9PVqCGr4k&uzf%F1G5VgLXDH#RrP$;qv) ztpE}W0002Gy1D=#6aX|N-rn8-9uojFBmi7P0C!gad0GHeKL7v!<>lqPyS)DX{`>p; zprD|~$H%U&uIK0H(b3V*&(F2AwYIjlrlzLX*Vp#;_L!KMFiPPP0000ubW%=J0PbJ@ zfBP{o5_S8purV&~k~|%`GVL3Rj+C)X!~XF>2&M7tvFz?KZm{m|UtR86WA1u{!>+W* zUgf6n00027Nkl=iTum-mQY|A01uv^0AdKgaSDHpqdK(oHimNF6gmL_g zXB3337rX<{_w$LM`vKK74o@!lvI6;x#X;^) z4C~Ixyacl21AIbUeKHFfibH@>48q*|_wNVNl@*oz{QL(F91s)~1c}1|2MdFdG9x1+ zgSIR~nooLq`n-Ab;F1i+Dhy1F3~okn5mr`^jSM>S4BTu`L06;l^74|BlJc^0ph!VM z0Z2UFwXUv?K~bE+PKUung~8X7A<>=T(p-iDkdGLY#4Rl?fpl_GGKkB-U}Iy$V64o* z#mXQp#NcWKGQTRC!OfUKL6kvRf?--AFE8(ZFt~d4D$s?GA3bI`HkDy}7ejv*!=7G{ zUG1q15snP8E)O0&`1eQ*(vu015HtqSd=QnQLU?>h{xVwzu;6#QHyO@}mw{PFJwY42RdX&LNi=i=r zp(~xCE{@^QM23^oD_6yB0y;XlB*-tA;gxdX50T66KLc4z_@z_+YR&rl_j|OQ!PU(d z#Y1x)E&i>Z!TImcpUcnhRh~V+;qR$mKmR?QwEXCSAGa^<-?X&)=F~TjbLRf@g?J83 z{?mH6CLb7+?Vc`T%JT-~)prS*8X4sl{MzR?~Iyiw_xYS^~3 zapt})>i*XEcb1nMi#JVs@g?Ym^zt~y#txRoA2V}SdK8+-H9T!t;2QVNL++GDkYv?7 z#i9-tfr8*I6Ou(_+$&WaMYkzeZD3E^uOU+OUL{{pxnNO9(ias-5a4y;L{Ckyo#E+}iO4AaqPKjFkNq6?bW2c0U%yZm* z*MD>7uA@1Q#$JUInGB8(Os|7c1~Fr`uc3xw&1m)-lcsP*70td zdh_|t_jbFkik6yf<>Wfd_IHY2>93NReoL!L`t#OEZn~i%_P_9KJWE}`4kv+%DPAYJ zPPu;K-0W6#qpYp56&T~;RUr{2L5bxG1x5L3nK`KnC6xuK3Yi5Zz+_x8=kX^Vj>0ev zjZ^-o&v-r!VqjM0)=TCVRu=Z2EW#|T;L>1nIE7hxbBMy}8&^&oIdeqj2>a; Date: Sun, 23 Sep 2018 18:09:42 -0400 Subject: [PATCH 45/65] Finish Puppeteer scraper --- assets/images/docs-2.png | Bin 19346 -> 19808 bytes assets/images/docs-2@2x.png | Bin 47420 -> 48188 bytes assets/javascripts/news.json | 3 +++ assets/stylesheets/global/_icons.scss | 1 + lib/docs/filters/puppeteer/clean_html.rb | 12 +++++++----- lib/docs/filters/puppeteer/entries.rb | 2 +- lib/docs/scrapers/puppeteer.rb | 4 ++-- public/icons/docs-2.pxm | Bin 1343093 -> 1377733 bytes public/icons/docs-2@2x.pxm | Bin 1456026 -> 1488713 bytes public/icons/docs/puppeteer/16.png | Bin 661 -> 484 bytes public/icons/docs/puppeteer/16@2x.png | Bin 1034 -> 857 bytes 11 files changed, 14 insertions(+), 8 deletions(-) diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index 2af0f5b90dd7a33c12a4d8514446be6b527b753e..e13c9042570baa1e3deaa82cf95fb469c5ea9bf6 100644 GIT binary patch delta 10346 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%0A4xqB`}{CTIlIP&<&FjE#*rS7|3iMH@Jx~rQhFg* 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 IM6N<$f*8RV#{d8T delta 9877 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 Q>3VVLiFL^zH+H4&TGM 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�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
%TyeN)w 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 diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index aff770f4..0642e282 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,5 +1,8 @@ [ [ + "2018-09-23", + "New documentation: Puppeteer" + ], [ "2018-08-12", "New documentations: Dart and Qt" ], [ diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 42e5be23..5ad216ee 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -178,3 +178,4 @@ ._icon-bash:before { background-position: -6rem -3rem; @extend %doc-icon-2; } ._icon-dart:before { background-position: -7rem -3rem; @extend %doc-icon-2; } ._icon-qt:before { background-position: -8rem -3rem; @extend %doc-icon-2; } +._icon-puppeteer:before { background-position: -9rem -3rem; @extend %doc-icon-2; } diff --git a/lib/docs/filters/puppeteer/clean_html.rb b/lib/docs/filters/puppeteer/clean_html.rb index dac3b5ef..d9f6460f 100644 --- a/lib/docs/filters/puppeteer/clean_html.rb +++ b/lib/docs/filters/puppeteer/clean_html.rb @@ -2,18 +2,20 @@ module Docs class Puppeteer class CleanHtmlFilter < Filter def call + at_css('h1').content = 'Puppeteer Documentation' + # None of the elements to remove have classes, so the order of the remove calls is trivial # Remove links to previous versions of the reference - at_css('h5').remove + at_css('h1 + ul').remove # Remove table of contents - at_css('h5').remove - at_css('ul').remove + at_css('h1 + h5').remove + at_css('h1 + ul').remove # Make headers bigger by transforming them into a bigger variant - css('h3').each {|node| node.name = 'h2'} - css('h4').each {|node| node.name = 'h3'} + css('h3').each { |node| node.name = 'h2' } + css('h4').each { |node| node.name = 'h3' } doc end diff --git a/lib/docs/filters/puppeteer/entries.rb b/lib/docs/filters/puppeteer/entries.rb index db80d25d..3b1e1ba6 100644 --- a/lib/docs/filters/puppeteer/entries.rb +++ b/lib/docs/filters/puppeteer/entries.rb @@ -17,7 +17,7 @@ module Docs # Prepend events with the class name if current_name.start_with?('event: ') - current_name = "#{name} event: '#{current_name[/'(.*)'/, 1]}'" + current_name = "#{name} event: #{current_name[/'(.*)'/, 1]}" end # Remove arguments from functions diff --git a/lib/docs/scrapers/puppeteer.rb b/lib/docs/scrapers/puppeteer.rb index 210f6dd3..d83b28d1 100644 --- a/lib/docs/scrapers/puppeteer.rb +++ b/lib/docs/scrapers/puppeteer.rb @@ -1,7 +1,7 @@ module Docs class Puppeteer < Github - self.release = '1.6.2' - self.base_url = 'https://github.com/GoogleChrome/puppeteer/blob/v1.6.2/docs/api.md' + self.release = '1.8.0' + self.base_url = 'https://github.com/GoogleChrome/puppeteer/blob/v1.8.0/docs/api.md' self.links = { code: 'https://github.com/GoogleChrome/puppeteer' } diff --git a/public/icons/docs-2.pxm b/public/icons/docs-2.pxm index 1d81916effc9a4e2f90794f5dfe0ebc37df39971..594ef18e5bdc8d027e46975a19f5133aa118c5fa 100644 GIT binary patch delta 41877 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 ms2TaRInQ$GR?xE%N?kw;Yx58%!5A$)5 delta 36623 zcmeFZcYGAp_cuOw`poXkwq!S*gf2A&LWd-T&>^8oPnPtMKoW}7WH%d%NMGb4QWA;+ zDpHh15lt*0ev~F6Dq^An7D}+7BEs+7nFK>Vzwh(BUeD|G{P*C?&Fr~n?%aFsy{Ej- znf>6IF~8qWF(!{6o;ZBKnD}QDio(gfVrM#_jyOJDYKtbW8_}b*ges$!QcqJWsWsGk z>RDKE#F>QCx#>H$KCMI7RhfJ9_R4ita_Q4k775vVz8fm)+Bs4aS8Y|9yQ zydv6R9poba4R#H24RsB3O-MDzcvI+r!xs?Gpf=vG*wJc4+<8i-3{(m=@KtkrZ*OiK z?F#WaJBE9Ya9v9S&qGrw<)YjZMvU$>Yj$z&jBHovxM8_7GQ*?JQ-i4?l!q!$HJe6^ z9zJKbb6S4pXpLtlke5&+#*Y}Se{bk!Iov!ZJ-_pq=?#=;fHI&s-#H_@fwI~aI;MY4 zW)^%e)tkOR!o3N_GoPCE?@(Tb5e^(NHaux&@$6#fj0VnEU7@1~_V3^D^$-jqIkPyw z;rr__)c8VYdQN6|axRgFKL4XI{}FQvlIJ(@9fKhZojE%{_ff}h!w{048L&Jv8XM&uSWJm@mqF>X%&^nYdZjVm-Iv7z}} zct}G2oYKr`xy2a`#H(=6fYGq`9(DRd!vwlC@caxn4w_kzIjuPJ(OTaEt|6Jz=jT5X z^c@&of^%BtBf@Vm?_rtFto+PJegEMKolrU^v$)uqHM989xbHz<$@8ucg_FOr) z)O*qJWa(AzHg|{nlSjOb58_+!9r#XsSH3SF#}DL_`BD6nd>TKE&*6*sS$rwKoL|8| z%WvZ=_?P(C_#^x={(b%gf13ZC|APOXzscX`@A3}?BuIi)@Dsv?CxrGwXQ8{$Q|KoQ z5{3w4g{eZCkR{9%iiCNBTkw<$&j=fYjlwqJMPaY7U+@WU2vx!<;XlHs!e!x#@U8H( za8tM|JQR^AiWbo(28zwamSS5mN{kVEiv7g_;y^K393@T?GsG;hK%6Vi6HCSA;tJ6# zZV|VMyT$$D0r80Vj#w?863>el#4F-;@kg;v{7d{>Dy1YzGDv1APzsj9q;RRZ)Kcmw z^^^uk1Es;zP-(a{Qkp1DmZnN+(ljYU%92W@7p2c-gWO+EmPgBDUF)myGf{TlQtXpug0NU+MFd zK#5c{Dx8X-no}*PmQ*XMHPwb1OHHAsQmIrL<)m_`LaK7kwh8@T~2Q^Cu#DAU7e4~4_$k=L%U}_&f<3$i*64Tu%|UZf2`WX)&~mgEtwZb4X7oJTiFTov(JSb6 zbOgPP-a#kPhv+OihrU2xqHoc6=sNlV{fvG^zoFmJU7Dg1P16i5(gxZ{t8f}Z=`gw( z9ZpBkv2pAZw(u}f0d?j7U1 zL`HT@?9nx$ds5PX*#1%dJI2ID_lWHnN&dxjjY>-B8k^8Hv0GUh!)BJ}LstRbzHR5A zUf6j`?&ZDJHpj4a$16uZICbvJ8@GS+I-h8U?jCkO@jK#K#HOE&)t>Eb-;N1Eq1v)a z6SZZ{q_Vs>+mB_u)MoGC4r6S@)5y=SS7(%w>P}^N-D83n;!B+CFwXl#$8qS@!(Vmm zW;O&dh4cwJ1kIvOVc0|K7Ms7xO;>v4kPw%gNvyt69so!4FU!x-@ zPT}~T-lVu3Dz6I{IGh<$XRr`|wK%eGOu3Q!CiWD9U?h_%LsT>hO&j zfsUx9K#DAH4xdkyTj8^LIR~FXo_X+T^Gt_Nqh~67vYr&U`yWpteBSkRgU{QZcJNu_ z35CxuJmBV0XUgWo=Z9sv@L63p89v`E8wsC>%M#%8rLwN@xvQ)#d~PfYhR-!+3I$JF z>YnFaJ!L|>Gn7e~X@qA58@?7(4RfU!dAq5(ae$(#dz5R!_tHsWrW|X+Xv|^D)Q@>` zc&`_8Zl(YirK-s|`MMg)l>u=X{`ft)h=r@U_{?-+uKWyKwwex{so4D*lk8oaZ|6Rg zc2F5O|2=sOjzqjco&r2L4|t~F$fZK^#z4-W``n;Xt+4qM+0R0{)t*K7?@A^!4+qm? zE)NV8brv6sv}SNG!{s@A`ht|loi^^La_|{J)H~<;!*|xZCp*_$k(bG}2F4$7X)u>= zNK}-SR9dd~*vi9(WUp(aKn9+IhckSULa9^KcUARW_)AUnzMMT8q(lC_tWP`Ys393w zxVaFXx@KBW4aF5!ZXgj$+8pR{4kkU~xZk*N86=N5m>mKM{GyH|5-^M=J#l2MuH%ZS zY6iE25WF=dUA%9045M8gy+^sO-oP0Vhx^WWl0AIBSmaIXsPz@DPUkg!w2{KzI<{5m zM)2LAdve6+cyI>hgHJnhS|0d6y5IbKJwNfGw>7%1Y;?V=(e;asuJ<*%ex=d%fkxMd zsr9AWfXD-mG-`OG(e+!6uHR{N{cfY{4;o#6*y#E{jjm5Ox<2>ly3_#rSCd1>xbAPT0Q^Nv^;!Gxh^#Cx(n<~=O}o8$6& z7mkwY_H;+OGaW_8cyBIDDXpR(Fuj=t%u(idHij)^_p?89PjK1XF0Phu#!u!q^Opp> zFh*D>oDq%UU~!rFzJ#QH(jw_i=}$RUo((3y&d|w_Z`fC@$q` zWrea*c~;q|Y*H$f9m+1{6=lD2KzT!XQ+Z4IKslj&sGL*ID;Jcnl`Be(@}u&TazpuD zxvTuCB9&HI6||XZRs+=_HAHQtwpQD!QEIf>MeU>ZRpZpb>JW99I#wO0mX24Q>NGV& zEl_8uh3b5Dfx1XtqApdJtLxPD>IQYIx=pQ6_p1BUm(|zRBkEDL8kEKR>L==H^{o1Z z`lWhVy{cYQe^BqJzo@^d|ELd4lu0tlCZoyUWH$wvB23LqElnLw{Y^tmPnvQ~GfcCH z3ZN+B5CxG76b>Ja{+Z^$7s)%gb(oUv%5mko3S4tsb6wAQZ!bQ@jv;34t&(wGztZu+ z4MuMqHGvA-K|M*0cNtyE4r(Gb$@_Ha7-1TfPGwM;-n7H*dAP`;vc0PhJHmC(pUS23 zo7^?SrMj#xv-iNvzAYR2E~e%*;d%#1-(4Y48ndJ#mzmE zBc4#sLBpGHjs(s`!r2q2(A=ZtL8H;Q zCY1fYwF#%w8^2Vfr^^YXL%n0{VBAd34M`w z$}>Z4F63!KU*bIm^rz9v#&om_t@Z}492V$B8ynN9iD(myd@Ssj%BT7?Y(KOGZEwO= z30zO=lDP97-?L%=q1|Xt6V83WIRW~+@>HKkT>H_%CR~SsYZ7p&vpV!7O0YhF=rW*3 zQn!Te39(T<>h%lqp*Ne{`xe|gMVGbZ5cBW)RiXEqaDD)ssr9SUwGrnj^l=l;)4=J} zIjg^r{_XQT`m71(=fIh+a~}Ll`FEwiLRXq_)_9B7B<7x{Kp&&;(bcJspi0f1+X=L5 zRCa@Rmuj{zTo~CQyh~)a#T~*IMt6bh=$OdGi!~Pn{YZ_eaAh^fs9Yc3?+wo_d<29Qg|+$V3^3j zIk_2`$uno=dXKDsqBMaX@EC6r@VW`FIlNxX^iX=lV=NLjOqwWze}|m}9BvTSBZdOH@G*vwz~E`jFo&M^7{hpA zSkjnbG3|Pc!CeX*&kzoCa>Fo|(oa9evjSLFX)I|CENkfXkFj`xWsSyC*ub)he*Q6* zEx@u)V{tXGRMNYs(#8|s4Ln|rXKe$|KKhl%x^aVGpCN*6U^qm-{usjwU?6+!5yP7_ zG2{PA)e8)39x)`r{(qPL;4zLZz_IQT2QYj@fASau>}D7zJmWkKs4M*`ec^D#v+L>B zoAu*!k^X$jqeD(o0Xyl7^d%~L9H64`jo_R%mi~&q46eGp|2*){pFv)<4V35+bQHab z-U1Y;3cZWoM<>wdfC7DmzDD1mT0nxX0v7ZmEz`{b=@|*2&Jy~00C5iD_=%FuJ8sjU z(wWR`W-c?2S{@m`yMcX&+#&EFQtTrph>2p7I8+=ijucbGHDc)&u~OU#sOLWMWexefDc%zwLd?QQq9jX3NtK34 z6YAm2Y$;coE)_`oB%kz_^tMzbeIT8bPD%ffMcH2tl0)P$xrN+HZX-V-XUVhVdGZ2z zk?fW|@)CKO{Jwlnz9?Ukzm&g`Yvu3ctA-Ya$WlXBLpMVYLtjIjA;FMnC^M`vY%pvz zY%**$Y&TRIb{c98w+z1;emDGKxNmr1q>QvN&N$pS$~eY2&N#_9#h3~~)OO>`#)HPg z#@CH+8s9R$ZLBgrPz;J$u|hZ%2mw{7(oC76DZknacQx+(TAaXheaZ%|f${7fb zE-IIlFO|y>0JTv&sGZbEwX51q?VEJQ1VAYK_}N->Q#jfJ>ngQ?Q=f@zOwpXpW8LDON=>!x2!4d*%c5FW4UU%Zu!yjv-JsUthJZ5kF}pQ z(VAo(WF2B%Zhh9e*}BEL&AQXN+xnt)ul2h1H*4u%*1xU)*k~JT<87iX$u`r^z-?>?{~|u&hIaO2y{&W53`7iKa2D@T6*)4XP-QVu82ijZP+uJ+ZJKMY1W9{ATJ?$gy+4fxfT>C=%Vtc8* z+`iPl+`huT(*B%%o4vxm!~UXuul*%^=_~eE?Qhwu?eEz?uzzI#*nZl6)_&gpjs1K3 zHTw_toA%rGJN924l!J2!4#}Z9%nqx=&k^Bh?P%+0=jiN+a>O{gIuaZM9fKW19m$SS zjxmmLj&w(kBhQiVD00kl%yB&BnD1EXc*e2HvBt5%vC*-~vDvZ3vDdNRaiG+3$l-Im z;W*|v?s&)XvE!WMQ^#kHFCCX1R~$8tZymQCzd7zY{&f7~co={Jm;f%o8sG>B3f0_FrP2v`(Q65t6~ z60j`b>41#^&j)M`*dDMe;Dvxa0p0cm91b`ZoEV%GJTiDna7OU-;KjjZ!OMtismI*f z->Bi~<As9bKTrxk z-iVtO;J-vO7b)wCp z=3#k9yfs@XK=V-^{snYYr>*WQ@p?Wc@_wDAOH5;KKKWips7CWpym@|hXT zQ;fY%trIjb(eVz1TkBK_#$> zY!W-3&0`DLqQl3IN1D+o?~PAd|6fizo$qUCXJa-~rm^ZvDpJOQ<3Jn6%dg0^^dxvd zNEpYz%(L7i_8==Tn@Q$0pAo0G=iLm2QoWYty}SXn9mIAGS+42_LQn6~+8p$R_jc`G zu`Qt^WAo!&+h4McOyp(Y+yV$nC|8M>_(R7>P_F(n}|;4QX%U* z0pI9DhxIsy{**podecQxI(kBUKwlD{p(dc!kk{KIB=DE`0$$)=;1bv?>_S#z_GlKt z35lJdIIb_9jMEM=Mzjm}>Pr{!6&XNJ(dlbXOD41(tNrL)ep?pM#}ax9PM$7U9MFw5 z9Yw`PcZ-c55Y;g$GU^dWGCnYrwxFFjGM-N7cj);t@+6WiLX{g6=rq(BI}_+4TyR|# za7qe28K14c8i@;oIhAjn4ml=xR0@o*aI~P%s2zULA8u@kQxoY-ocg1F;|Q(K4mffE zor_wLwlR3EA7`df+l@(dK5CB(lIS_81^%WVUCeK3JiGk{6aRc8F_7#XUX>?^IKD3p z!{B*;Ve?#=_8c0g6st37vJemobI2o!3!l>~S7Z0fw z1M>otK%e2ip)=8KP)Q-wc*P9+&&cf&;>FwIVll+{ys?$xs9}`+gS=RFNJpem?0F_q zxrKgF7ECl z1p$}61~MnfTmC&={v=0>HTj>yXM9WsdYAlp5+^Sa{B&-z<}|9p{~QH!-BCs{z{3qA zQFPaCJtB!Xvd~9fOIikA_bPLe7Ix!_2O#&m)-5PN)$TCzVG2tp;c1~Q{|-L^3Wdr|n@v5` z&(tDSg_KmH@wCxt_}j3~&|0pNQ>DKpEOimz%$okM_kU zqUF5L^&5W{`Qlr1yFVXIt5Ae9lQMOL{MiUpsr;anQ0M6|B^32BzCq124m52yTrp(J zf643RHqtR^jQESV3QW-ZLJAaCE#bqs!`wi&2C#}iu+7QzExH^^EP^?0e9zW`EXjVx zbq5W?v)}TX_T%qsa@87%SowSTFqw4i`+-A-K(lEzWuAk&ckdCK7y}h73D_j@88mv} zyOCh|gynSQWifzUwfVIhWI0P?i^6B)h=<%&4z?7Ur1f?-kn`jJ(&V9i*Us7>jh?>W zV8)UCEU7g54fjEO4vl^%4{K1#e`1B^XA9_8txK}hP*ossRw(r$J0Z;~f>bR9bZmT7 zbWE3S13Jb;lJ0c1#XW?^X}*K~QGjsdGpHNFvAuZHvRXUutF;TsvYzFMhv*U4fS?i|fTgKG9iLwynHLI91{ z;f{F%FcXW4@s>=X7_GskEMXe%oeFea-HgYTuN%f{Mv|YV>-hLoLDTVknqE0VzH1f; zO(4u!{Nw^S*y&iKukA|*@Tr<*(g|?%+u~o37}EJ4oWM2|lX?!Kegx{4t`Mrzb%o&D zpD%Pn94r}=;w40KGJV~hLI;G;O%*6N})xlqC#DXbPE#lTX(- zjW!%@7fd2uj?{;vXC|lIsjK)pxZ(xMHBYMEgFNFSKTd-KR|JP3_ex zb&PUTc}8h%tTs+D{A5^e2$T29eWXj$OoEk%3RqNn}~YOgCArp@BLR*_4uAB)rHy4bLbR7m3+! zZ6k$ZNa&8lRV?S{`}8-#DiO8ke(VgsB$|A+OGQCIWxmQ!(Nu)L>cm-mVZi6Uhb@&n z8*DB)h-2&JOY{Mg>(0lYd@oMtwGGg)6d%xb!A%ZxI-`pjPOSr*=K^$0&R7bnr&__; z&2XO{>dx_%Tobc|(Joo6fMU)<%Cy2bnJSbI8SaRC4Ixl&F~YD~x~x=6vmlf?E<6c) zq>K*%Jo-uYSHQKynB&YC`Wt!{xSP8nUwqNjPCW@#AGGllsIf3?Hb4=X=G)QMjsJma zH8OaV?d$lF?50s3PN@c(rnm}8rCJf6qua!AMbwQBnt^Xt$(mJE$yGXPhhE$5?rJpFBXj+|jwOi7dIgxEwfs!SAs z-HMpb`{`z(>H*nu;A7IX4J?pQge;^T9(do+eP*)4sEUVg)bYG#VlL2HzLABea4Tjw45{ zS2^sU_(O|SKH7`dYO#VQl(5@ zf`&PQ)&P}zLUY_ZO%iz#OxMs*Qs)V7d>4a167c>s;O2ooGFYdt{hd>#?vRj;T%1$J z;S#5m2dW4>3Z}lDY-HC)mKDkvAj3}9x?5YnlY5lWzN%@`7(rT_U50=Gj;8*+A_%C; zD4>A8(r-aZsNgOook%(b6qZSFmjDGOMR>GRn&Vy!l%Wwij~1te=Sv3Ky$E;AmlpBv zg)rHn*hLOH=qd$Q+*bs_y#T0iQpsW0Hancu`FK%*ln-V)<+!}g7uOcTVqf@d=|c&v z_qos0)9bZYW~t;+5hQz$8^;`pMOOu1;T~l$i(!#k`qpfgCNOA2Q)Tw-IPupei=lyg+z$Qt-;qkO8 z=9bxjG_szDEI8isy(Do~pr+!8sUXJ+qQJ^5K!9~8+Y4(7Ec^un$D4r)%dS)Fmwi^5 z$@lYBX|=#^$|+Ov;+s;AAj1w0r%&J;$IY!m#Ad>4!XUmD-Y^J)R9Xt45sO$W^E}g$ zK0(Y|35};t6?k9lav=%fzWbRVye1LKrHIpsj^e3Hz={&}giAVG1>B}w$mfsfPDh*@ z4kU3p__uTutr0Yv{dyyUIm&9s8B2so=rG>u28(@Mx7dVRv)IRQ)e<2OzY`7p?{tF_ z(j#FXo_@kyz`vMw2|B6hb#&M6%N{1X5!&vH zdZ4rweC8$m0EDH5a)_^ZoIF=R71)wNKO`Q5&G+|I`KF30eNn3=r_ncLfxL}DJDMJ{ zosS=~t+Hz4+rk+jIwpk%od!CFE^C9Q9+ZnvYkc;goX)p`cA`z7ooEv#tE?s7c1X_Q zTj+;JyAg_;Bk;n*vcxwBDx4lTYZGv47nz8&+%`BLFJQ}G3e-Q}b^ObiM<$q=G3R3um6A zIQaIu_%wp1ZFDQsPM0B&0hJpqsGR$g)UqdhKgAmE@uuA}yv^By%A=Sn>RYxWzN2uq zmrc0Bxm zAwB3OGlcRROD8~fAtts*e8+^Os4g9eS3Op*gC|;n@2N)`@%s%U^^^Y#R*oAqr^g?>tD(hwdVooNhu?YwV#b@gI;nocFlyr} z!5^=A(~!r1ucL=r#Xro%g05rdF+&0R37Kq5Un^0Fl0 z(Ffp#01Y1bv5_G3@D^SI*l)b{pTiJj0U=I@na59C}=xtTH@jLkYOF(vZu?!=e?40L0gu z=s5Te=OQAQo6KaF^~3M%0H(e`9O|zzk?{-UEz^Z%eemj?hQ(ZOZF04{KvJ3&?giiB zAUKE8sZ4HJPyF>RI0HR^2xkC@Da0=oXOwjZ3Yc8&Z2fC;y8#vSh<+@!GjO_BS*&mM z3x;t5_X>#Tb)WM+G`At1BpSWrNy9N79r2}niuTv556%UgKHpETaGx7}RX-U(k01SS z?eRtv?J+yRcQw>_m%$~K1_6H?VNB;oXwtz4@2PpBvuwC78~0z};1HdG-`Zi2aPtJL8bFaaK-+Ij3>tY0N@AzZh zUOyvvdvE^_-rhtbczf?O-8of{@0`WP=WS>*cCRz$p-K40I%6?_9;xe%833tj$`cYj zBR9?>#%Vn6>@{ZbPXZl0H$um*e5o}yZ!og_IG73;A5C1Ee?AtMY%pf>V}K5Z2P8a6 zUf2VS4)M)L;}Oq-d`4;VAosxQINA1k!;_*5MPCzr!}KUi_O0D$93ybYKq~L~&ZOQ;=*xelh0*W zas>1rj4q%Dx`gh9DYsPgu`jBGPBZ!j_f)ns=#!=rI{mnWrYOD4LfL#69Gq^b9s4CMxr&gYa7&kiI@7&O?YjMxpZ+u9wP-6kLi=qHUpU>_!@ zY!>cR48kQa$k1kb3(-=RM{ip%Dg)(CcA?%4M2YJB$-lne0SK91^D=Ec%l|sGh{i(7X*GMAIY8OGT58+HRcVrj9y^im765?)(}px%%>ojCjbDF@$C=g=?MIgPF4+v zRV4X1CCwqA0dDrLT)>OEVbpFReu_XFbo=SbQgwHHzwU68?<5#%hTlIarw|)V(*mxF zwq~JyqUpyNCGXXt&SU#X5oGlpmHyR~zL!a)Wh>vBJIbZNIt11Ovhk-Oe$)b_tGM)Q zDHC16SH6;p(APNmvXstWCW>PU*0{91)>rjT1-VUkD!#GVEeZULy4^gRxiN8xL9p+%j8xRwYFmyCj$zwnuqjc<;Ewe!0u74jbw zhiek9`U04=nA3!BUzD84AE$gS74wQ7Yii9Jz-_}7r==Y94dK#}eF4e(gMeui3A9bf z4LAC4W%QCKKHFlH@_wk>~<)RF8QJ&r5n6&cp|)2 z@4Nc7l4j-=5FaS_%31JMC<(LDJw|-+7N`q@u471pX6fWjA7*=GAcB5z7r-Nm%u!L%@RmUL#kn2Sdw3jo2lP6J58eU2&T4vn zOLNlaH0_6Cd=InG0v?CYLmSyIb36=w`7cmTH1q?SQ}4&kg$f=76i}TSMOU333g5n` zRUYpyR0{|yMP{wlI*?h5IUc~J$PyBg z9_V=hm?D9m#-s;&+Ap0f@&w>v#cBx;z!X_VZEe#M&Hnh|ZH3prMiL*+FI7qq{FhPir2E zz`?zs?j{_U_5$tR4A=IuPDf$no2G+|@G}Ch_O@p6A*LSGw2}Jz?4Yg`Laon2(Jip6 zk5w;Tpy}rLoorRtUwFoAjELLhsA=eFd?QDlj+Wun3^fnAa6}I95YY^z}(o5zXoGa_w|j7r$PnpltK`NhF&GF#_NioBLz$+@jH>$H1x7&<$Aq9>{lRn zgA#s%N`_WYdOwxBVcHI9-!p24@~5&+>1_PSm}x{%p59e{M;;~Jkjf+n-~q`5dOXD8 z5pT;pF8c)lSuLG8LQf!&SKRdik}>$oUurro3Fbt672+IXSD-#=%5Am2egO@IDMOxE zy9N9Q3qMvjVp@@bZp8ZH(ojyr2&@h7&_e}+2K6QBCQxJ6puT>DHaGHr|eZimh zw8o3mO}PZ4BYvoM13+;t@YD>Gz_$b{XctZU5bXkGTxT;(Sp=dZRzjm|;B~*<2F?%_ z3sxcmnn2NLO}do`$L1_kAsiKVmML2d)2zgE3p5U29A8 z4N$O>4w9^!rCRa!&rBS_+Q{s6xf3<3W|;(Rzi66{U0KjUb)bkTH= z=jveUe?Eq+Tr-IRP5t#4v~t_zQEBSl|A4K?=5Y*7{oPb)-hW(ab~LZG;nU|#yf;3d zXmC5~k89)2#e4z`8gzJ(j{zM{&;!$_CJ6WQ8*C6DFJOZRK~K=u{{Yt_Pd~h>zqy11 z5C%Y`+C(UrBBJ8@!1uA5i0iXHp5FNDMDui>05D{4Xp2ImW4Z{^0g-3naIilb76Vb3 z*4~iK>gDO~Tb*PEkmV1M)I(oUvLJJYbdGO?P_|-E4 zNMMyUWz!rIi0iEn2=#~6fM+7cBY?cTD1BXZx9|`2-=*1bH zAwVNgOMZPmD9VXVzi3h=plkl458RKxn4+aktYcSIV@(Xfjsal!{wSXQdgMCvN z%h&NMApz#&hQqH|<*_WYnPyQ1>I34|{^{SqeX?KY%->ZJr~e8XuaFjPQ1~?YS2Yce1%CTiwTPyE#ZkY3 zU%L9JLBzH?H3gelQ9*zj*Qx0=b(e7KR+y&h@QlC7mu^-Ie@~yY^H(sWXa7;`c=elr z!A*n5kRO%-q#0PD8ul3UN{IT(d;(v+C$b9BZQS9Ul*^wd5I})0DPrExS$yU^gidG3 zAA%w){HKou0+lla%0!<~6q7PVzex+qPB)371auB+6-(#nELy_pe-}f+f}VohJ_)hv zW2i^r97leyNBD0g{J9yFu-H@yBdI|N-!lVJ!$TJ1^jkXj4e0Lz)lFm$r z0Hunx=y8mO>p>`hE=Z|ju4f!H15^S>ax&iB)gtp_fdD!Pnl-$anc*3OEwPqDel#?I z^3e~zcAh{>kAftJ1++8|vQe?~xa_XaS)0dLF2Rr5`3|PjsrC5xgjCBK6`6f^R!Nmc z---p6sSL6-(aFgAxK7?`S#8t68KR6{g;YjlbE6;a$-`F;T8i+i(H0($J!F~6lcWGq zL9ZI>Q)r%S9Cp}}qak`k<-BT`f$trL`4J}w6wQ6zHZ4QXdWpr(Ayss7a$otpXl#$O4eE z=#~Q?&sFn@^UZ>v%B1VJ=t?May82XoM58@a!&J&iwBh7ekPS5nqwDZ=LgzztUs)q) zI8k$a|C(Bag7A#%>NE&<&Rtj2Q6TxFLpq_2ZqW6WL-)V6E{G0?P$}(42tAwWp0!5T z^jJV6Mh!wk!Mc;Jv1m?qnC@h21kK5|`$~RRvuVgfq0q-s;_22vmD`y9oBT7f_vb=k$beV9(8Te%&kFRW_d^z4N*j7b2ik#@BqS;;2S$3;_{FR z8qh>qJ2;Fc0;dD6lH*x~kMFYP;%2R&>OpJOj62D^;x+%$>QmQ4Jo9}IcU!Lt9Q>#u zY6;a!j8nvrjqBu7F46_$C&%C|jC0dyt>&qRjL%%BB_B!6A)o6 zRVW9zfaL3dML(=Uxd|vB&v+zG6VuB9IUq+?YbP5B*I8`>0kMdV2P)u|JDFDU^W(D1 zjUaOnttN8~3y)fyQEtFBHd_`?a4hhfw6;f~h}<=Dac;Q;O{v&f3DLY3iIj^t+}~CR zC0FbGZP_BP=OHF)_mbnhUV!pv)B^r*|JW9*`i%C&bwg~Duc)={DFJn8yu~`%V2gEZ z*kVI$kcjBiRDzu!mtcV{!K{T)AfA+-)+tO*c?4cnV#_1t4J4%!(aSm+Z~dJU#GLYG zWbVxfpH>E{N+ihwfmV4KK3!^?t^rI?nWVK7F{;{c7RO|ihro@X=d=a_r_1H$@?dx) zYtqum^}TgvLcC{vystC`uuQr<2#0!XnOZ3n2wPhhZ6A+}VPGGZ2jCl|82~4;jkRVX zZ@GJvHlUnxJ3d|xbMOZSFeGFJ|ILP#`vDc~h<;ncUM{!!9xkz66%6f29Un41OPQdE z>xya-eUVqx1p)}Bg>Ugz+c<-7;4#}~#`ozS+aHo|w$Jt{%nWK*?H^i1J>>CKFn7BZS}5P_zkV84({aY z2fc+X-?M}JySf_@Rr_b5DAMy*N-H9&rU^n^RXc_a4-hHW_3B%t&A7@%bD!HCF?sgd z7vi_gcPvj15nVM0t_%>C1mu{hOGyK3*lpg5QmXI3s(+d_505ocFT^B?SM4>!46cga zw*FK*HNxDEj;xw6uW?W=LqBbJz|#z%04`v*N)DTlR4PG4EHBc!bRz*+lCnhlvSETP)fPeg38`_yE^ zlD512rinpJTppd2_Hp2}d1b5C%cX0^Z8B|&>pkI_`1~GKT~49!VbZbqm%AqId0UPj z)VAFDch{3Y1)+*aB%!iSGj_$uJ z%~tUE%VG+i|RGtq>45W)n5GXT|EM z16@vBa?5eQm8?nm{`7}A4k>(gM|vG3CZw=doi3z$q9(7t+M}BL&R9BarL%&YQAIu1 z^0lqz{(EDS=6w=aL3Q8?UuHjSdn-4hF9)%{}3Lz?ZBwd!8H< zai1$2lp2(FfBu^Id$D3^WLTc-Xxs{FMaQ_RP*hdSS`OamGx&g+j_X1x?rlAnZt&|9 zH(qg7MGZOS`n%bntnFKB)7m6eY_cVY8A~_MG3>qBFQR|%>C4mV-~cdIyH?jwa>S;^T*S66Nta#?uZk1h<{eiOlQ%07o1#-O-m~1p3wj7LMkoq^R z-P2qN-_*;4+76*mX`6`fh#$<|jeVE>6+HZ@*y~^05_s38VC%P0Uo9=m+8iI(j*FuU zw$v_hn5|HCKr5Uh-qi9h8CNe>fi3fu|~{lCy9AHgM*0uXo4d zFJ~s3=pJTfOC%LNpypdgnO_$}&DIUee)uE&?BU4KKe-ZSwa((hclF6V9?)%Bz$%v+l zZn~fZowand%suNXwSv94SVOt0{(A}O@lv2^%m_|7w zF2f*$<8Neq8*=5DiYxE#;c82z+6vLU>p^^PT-F?Z^TB%dH44QTDyWdiDhfRdcgbfz z=1aeo_bw^p4qW1Dqiyls1K&*=9M|r%3d%3nXc^qnRB>x~VyE!37G0{;u z-d=q%xYBH`e&3Kbn@!|MQAAeS5#bzfrMa0ocwOMd? z5yN+|)Q6$&^Px2qT@m^AwNYPYYzVK#&tLJ2Zhoe@$<+Fn9e!7TycFQ9P-<$}ieZXe z+{(O>GL8HF)v0%z*18Sy2{%AHL7JNYuX5N73HYC98f_8I=>IBq0Hfl>iK)2 zzfu9U-v+v%q zt{e{wQQKS!-%u*0T}BZXL(?eQ`F@D=zUXdgsTmg>vm|-|tHyoAxNez1bjWOvpBL)h z$i#J`YH#tbiKrrsN&hGI78KW zt|nQnWP>V?S}ScKojXLhR|ciknOwb@ntkRn|FF)J@6yI}O0?I;3C$1Ubo~yc>K|jq7_{Dya3AhT~#=$PVkE#6qL4Ea+Pji zT6SqBms6;Vtu|q2d~d%vDy+)|O1-x;yyd3&FN13j1;vdEb^g#SV}n$w23Og))c(f& zX9QYzCA{)NKzvE4^GZm>xqw~s+wa@*<*3&}Q6o@z5`}U?-S95%_oYnLSqfEzm9Gu71yN{r=$Y@Lr*BQ3)h?o9lT@+A zFYb_#W;9fYL#p6asatE&`DO+<8@DV~l&RvbiK152zGlDPcT~i}$r0mjoxL!B$9SrC zsx3Y`B#pMZqv?w1P;`MpAF8e^0co3*n#;lm<#a`Bs-lD4*_*4(=Ssr|p}4G&+6&F% z?*|^p360pb)pskAZRdvDPH~iysLg&2P&L#CqQ~8Q=hB|6=-TnXCJM*t5 z&aZ*bOjeQ*5;9pJ3zJA?bHR$sD-<$-f=Vq?h=^zt5Q;z%2vU?tCIL5!78f!>Elm)2 zYH`DzCb)pO6f7tz^_!@zYiU*70O@yp&uKmHfAId0IVWdwp65RIxs!7;Gtd1z_gK0h^+BmoHUaK?7$A z?oQjR;6)eBjvh#mqxycCvs2ub#_CbYkz$%s%~iI$*-x@9Tj>Y-K#T7g&>=mi0=tg< z;b25u>>X`m0sVIYN9tS6@e*VfIWol?wbA7xRJG1?lBvfsYSzHv*+nNq&}y&GB^;2! zMSw%(jp3MZetn`J>BmnUK665Tr)YXfY9rf5*O4wztv&fmS$c79xA3{>}f00SbB!vG)B{v3uBWU*ZhfcItflijW1qYaTfea{g- zxEhjQmWW_!akI?n;3Ok-a+up2e}=6Sw9)wpOB7=yIl_pwE=L(jQeSxU+3IBFNrrM9 z)6Ql)qIv3JuDwMl*NN;7zO!B8d@fpdz{lCa1^yzVFiU-agj{D@9Ntb(ffJMV90{5D z7_j+r}wI1?74haEFChzm%4OIf3 zBz0JwtDPGLftO>OV74*WRA-x4ZC<>OQ5givlCCuZrvl5 z_e=pcxY_mq;3IP$eU1Y(9PEq9`6;5?IVbUm>{z!C8a{X;-4a<{dTmJP5bR>RITDSFuhg~hgg!G?D$qaw*j0;J63SYzqV zA_xftW3rIrjv}xv0s|;O>bvF{5v{N{SS7JnagcLDb+r%pbWM8n7Y-E_FwvYvUd|4w zTqm%1NYNDnTOwI~nTbuS7n5z6*l=9W!|wjAX^k|B8OmaoM&c>==NaiS8lw=M z0|13&XC447rWolTMK*{HEr?-`FuxN=w|Y9Wh4Ka>Gqvf&(!%*gftn`q=xVxcn;B_h zSa#%{8wcAH`4(X3-37H@&n&uGN3pc>)evNxMY9MD{Pap$kb6ecp^v<4Dey>!lpkp`HI4cFIa(B-!d zIBSB_ge$jt%dNhi){mu@UW&c4xZGQbc8Jp08FL;(6IC3v5OUUWfDsSuG=KXRZ}r}b zrv}HZOC@2`cs5Zxb8DlQv+l69zRI9uInMDcw>*$%-)G=0TG%gf7XzIPTd#Vf3ZAo_ z%}Vh(T@twuruVnf?TdkXW}vsD-MUMBl@7iRCt*>t+O8l?9&Bxb<)b~&Dpqh{NT~eK zf`DKn!*4^R7`5@7fyY4H=OHZAf7U21?_^kxj&-(5$kmXIQ)NsEoS28(En-?$;`-6v zhO0$D7zDVNp)Br+H^UwG1?3O`BI6<- z9WGKUAn=X^Z1PSp$}|JMw$p*xz4RLu#=75cehODwH)`^X=CZ?0xf;+Sg(g=L#&ew8g@x$ zIcTq+>KV>vZ(FgK?9rr#?vIsJP!sEkB=FH*H5SjcPm^HXjCJiaOC`;wV9C3s)>n{b zQYRWMw62vp8A@;@&o_K0pyOyF>Gte;gbf<{q!shNxzkIrWRg!^14E2*->XUx*`>ZF zG$e}+AyEtG9V!i!+torWpFGwq(Q9lW%D+6+{UTs11KCA$rt(Wy_{axF1N(0(0dINz zD&=Gn7XGUuLS;yVZ2)xru}|<58hSVq{GHqq#<7iX5ssf>*e57ub!e`qeILtmjwMne z03Bw#QF5DaW6+YgLx8-R)_Ipm6kQsLU_f;f8F-~_gMiMQTK$2p42EnIZU$g3o5aj| zr7Wpexnt?o^DhgQLwZ}^rAg@v@Am5|)!)8-13*KiXJQ^S1LI1Qj2OnR2(B6c5~lGn z>W-d+s{Ij|$Mp{W_Aj+#ByP7SU469d)ItGs`t9NEZZS5@iICpi>OM^T_b9!rfsuGW z9wR+3?zlemQWEl6&S}1Cebh13tp->-d1S*U>n~h5{vsjp$`eNhG&R0{YqVQ;V{y*K z`!7p>lG%beW3NQp}1rg^I``tnDLBcD^Z=HP|=2s;wXp*Jia zJ<~LkBP08?J$eO5+cX^jh?R^c%0`G7RR$y;n7uitdd6-5tS*ybGGnLR92G^siMZ@-D&(K{+P(!tH}~xd=rA^1j^9#G z)qlU{?Ldx4W^(f~;Tpx+S>4MN)O4@R+7a>g`c^X;YV>+u;j`(2io8cBVV_&)JCnOCu!L$*izLzCqTCdg(H2~k zYW7=h$=cdx-ITkn?L={jEXG-<_i20Em3Q=RRtujUnSaic^QGJA0t1?r$s=5V2sM81 zVE%@vV>hE`)HZk}&i0OWA3GPbjZ;WglMBMw<%-z)eI`zvkZK>;qttUqk@Oqm_;y5* zX@o@inEi3~lPuqU(jthH>BC_1~JyV`CmQf@w_ zY!*<^NcSKBDrp=?Z2AaeKc+4Db#L9R`Q3%vr^hL^9vyQ>Mh-Zpj$xNum;0;DO67!Y z$hupbPVAj`bIW+D9(*=X{2lF6W|?gFk~8{&cQFY!jDu)j5wyED&;DK0|BQV5$wLQ3 zIfK!sDKP4~%XTV=E$ryl{J2TNv1i4n88W&mLDDFZO}EDP;uwxp_S?H|%n?kcy4CxS zj@h>Q?VpmZ53Iqjvt!})J<~9M7Kk}xv*=8PvYAV3D${!!)V@Fr-T19_AcE$w@y`|| zx!D;XpDlSI8}-|ph+u&53WU;?or1M;MJ%culSvPtBEO9YjF>;)8K+Y8lr;5QsCw4U83%fGoFfU%rWGL+(jNHDtR_sGmrIcL;)ro9voIuX1Fu zyW_rxky90PA^9S&zGDI75$n7jqYEGmmTj>2g-V4a*teeTz3+-WNuz z?hja%`~wh`oK@u%eX_>#d_jfV&Mxy^s=cIIX#9%|?gjL#P8CS)hg-di(ycjBNmF}vpTeKo56Nh=PjvU?WnuPOd9Y0#dW!%uIlF&$Q|=t{{+ z%K4$D`Iu_ZnVO@o(H^L|ern!|XNz)rN`I_*_0zl|P@T&!Z!!taCYN&4a+AI}Xqw!X zJS1P7TeJC)Np)#{>4ePOo^6Ls#XrvJ&I{gP5TH~Xuk{YOpBH&TW)xnI>B zZZ=)Ny`Z!p@2j3u$4syOvtY=OpT|FY92eY6E!|j{mvrd_KKX$@b;w$jSM$qBT=isO z>A~W>p4+GJ;y)J-*-Mu4@14d?FBX+{tyr4$zk3N{p64{bBQ_DLT$R2K@O+G~ZQ7V9={ zDpbwBSUbgU@vwDEq3QFE+Ic}4x`U>|>kBT`emy>8*lyMe(l6KI6Ek&PTeYg3E49a_ zWDYyGYfaj#wKqb))IF=yUN1el`2G3?BzA!S#H%r2!5=+?MNmODE-ix>LHXP8m1XcW zsGt!4{y8kbe=dVrj1Rm62br(}azPFka6t|ia6t|i`2P(#0t6g_+7h4l(IOuX9KZ7%_VxNF z&O`8_hxisS$iu}i;GloIMgOOJ`C8ulppYnLtCR=iYL;gdYR7Lz^QPesUclo?mwb3Q z)54pH-xz>-__6_509_#>bp~K9Dc~a>zGNrS755SjVAlKpI~p$_D*xiAUc%#{urc`4 zmvA9uAB(GB5o3;w=iw=hyjWcJ8V(>GoxsBv9Qa51uGfU})DXPoHC)J?IQfIR_hqQ@ z;x~jf)M-5Y=AnNEkl(@r(syAzJpU-6@qZ00A)273aJ>30Tu9=eJUre`NY5E0Y?r)) z>G-dMFdKRrjsGzSYneeY|IV?Qs}03>4G~kM&f?*ZE))8YVZy@vPkH#epZ}R~&oH5# zLSz#eCbY8>czA6$A-M7#901Kq#P_^|wUFODTslHr@NX&jM&itzzUbdM-Y0tt#b^Fa z{4D8ee8t~{R6{!6|2JXD&WsOIL<*qLn%(^IkXKesFJB8a=HQ=#d@VC{=?9tjm7Z`a z#2?T6sPNy`&Ch-d#Y>4sD5(f6;aI$h!l$tVi9n&Xo&azohuEPA{1954z_#|f zMqLZobuH++uDY&*eeKxSb@ewV5f^=)_xfGWci-#%=Y91u&bj9^_nEopp1I3RvgFyo zQ%?s=qX&K${#}=TAzNesa6at>YJm^*JTgNNV=cn)5I zH{eh30epfO6hRVFPz)td3hki-bc9aO8M?qG&=WR=EnrLN1-)ZDOhUL?(VgZ0_F#Lm zk?eQu;8@1rv>kKU`3n>XU^CNIVPASGdl86%1oQ@7w=!O)_M-k6m~1K$4Ul$Y?JlAU z7UY8hQ@zN}SOliVGV-Xt-;Ehog=RD>12iN@m(MkjznOXao(U z)qKMV*-3p9a?`R$H&EB1{zj%{Ch7dF6k|TvfZB%UW{n&5PggdhE_RKI(M4qCj?Oh? zHZ z*}(O8)S~~Gj1m9Hrj~W;9o|rV8@(koV@y(fT5e(k?H+2311*ukdPTW*-5#e_-+-JnMWbY=ThKzBBV?H|juGr4xqnEu|{)E{&QJzz7~d}vhP z@U(={X<3bu%72#FkZ^ApmXTo8L6EBGmq=+O)n$(bX zqzl=MY(cgn+mS(}p6pKcB)=p3lLJWunNDVqqsU3*6mlwAOqP&~$x3oHxslvO?k4w> z$H)`pdGZQ*jl4rXA)k@PH{>S@QaB~2Y$!G5Lb*~NlsDCy3Zgntov6-KH!6mTqvEMV zDw#^9(y1}jIBEiwM@^=TR6ezYI!wI~dy0pPM~E}U+2T>+G2(IJ?P9aIN_hfMJ{WQg}7Gkh2s z;h&HRzJv_$@5ub#L&opAaIm%NtxJT9v%HDgnAePyTcx^59|wv zz@ab^Cc%+Lm1gxBD2 z@HV^yAHyfG9=?FD;otBh{Dc8aj7cylCc_k%EvCk_m>t#>Ylbz)T3{_PJ=P8Dj`hHL zVtuiG*idX3mV_l^nOKvt*c5CUR*cQVIIIjS$11S(*amC|wiEjiJA(a${fzyF-83b6 zhMSI0cBazUban)r#g5y#-m^Cp4HpW(%QxvdXif4?R7g-nc)P#|-vIB3wq5+a1N?)+ zy@Nvhe7t@9d;-GSgm&={2=e##Z`;P#+lT)X*v2>9uS-Zognwv3tU#Dll#XUeYns?> zjJ|yr|G+lw!h9mU+xZ8CdIvpx-l7y+I;ptb zKSQ;^4Z2%2gV@Rp1q2{Xt-WH1QZS!)$xPF|`e~2{1Dt z&mvKCbGPYeyW%>BL2hS3%v>Qir(8@DsUlH6j3v2{4U#CX_9$k%GkdLpLYwJq0bwI_NJ!8mNh4z138&5 zK$NEvPwJxhN2#-9t8A3?gS1%ONp^=CK?%rwxjVgn=i^}mNFl;4<0}4AjBpg2fpQG$ z(-QGZPF(( z60je2Q8Jom!@*9%UL5ll>P+KOAHc|+acRRKoMk$gJ`sPDfe;Ct?{%^lS8`Bn$FmBv zz9}a_*n55kP05#nVTlM8!|69jdU4xigeVlD_F235pQ;cS(nX-*bR(dP1ZJYHw$4HQ zAIbF|OGk68o6u2;gpU3s#i2L%`Qtxj2pg4!jmku$vba%M)~L)hDl7jfH-qYb9-v*Lvg7A6QWzBI>8!q*3v>m` zOzrYq1s=#X<6X7)5FnS*7V2PAQ$b!I5?+Fr;T3qzbR(~~aVj<)n~BZF<|3PLMj#e+ z6HFBx76M_ga1!#;-iq3Yaz$H3Pwr~L zi9^M#_@MYNNswf$WT&KF+De)sT`#>aYa(kUYc2DYwU>2~MahQA5@i{(F|sK#qby%G z%P5;In=4x+<7A6vm9kZ`HL@+Tt+MU1eX<{A2V}=(CuFB&7iB-oev#df-IUeI9?Blc zp2*(F-pc-@F&b?@G)>EC8`_?Bpq*$>x+&e9_M`pjHgquEnGT_Q&^_tz=>GHodJr8? zC(ucBCY?p+&=cuAdNMtYHcqE!((`E(y^vl(ucRyJ4fIBOGrgNO(|hT|^bz_PeU3g) zU!bqiztO+b_vridAM^|QCHEu8_d)IFc>&jf`MQVD`jPsUt_a4aiBr_zg1O1oI=6Q^AaH=(9|5h+YgzzoDBk*P-j8SH>isU)eNCZa{fVG23Nm9{f1C25NcR5w$dMsz8Ze?zx1{V^?4X$!UA(Ctm#rbpU2qrK=WT|_Y{&9+D5TRAqkVSIdc>Kl|7 zLUpu^&*a;0sAz-==lQkgO3uSC$`1R%0pB18nQCW7Du=pN4uEjmE)@?_~Ngo3x(==Qc*bVmOcO zgE9yVWy;R{qG@me$9 z$U#hTj((b~tzdaU8~T?7-!mC%^1d zuo@oyhU0OBjI|=Gq2kNRfv4fwZ;5OxH}Fr?RrnUZV>8&1mGC_*W;0EWCBbeO#6%di z3d1k~CS3605t1Y=NCYGXQ765Jknrl^~k5>p|c zH7qM5E4LC;g49?>5k0VPMp{A=N{Ws&jE;`#>K9;vf)q?sX|YD_O5NJoV>;lx2EN4{ zF(>#Ab3whDz)oaGvUzLJtKBenSPX`s*H2<6BORuBk=jQO>|@H`p)##5^*4F}WE>Tk zH`WSkjrm}{m>=ek1z>HkwpcqX5DUWEV;!)LSSKu)ox&EdMeH>Zbu_TArjsfz&LE;SAanXFtstjh!uPVh)00wjRDiKSziHW8xdkI zk6_9hx>16ezQQa(ka-qJRRd%(w(Kj&as(;0Kx!KxmDrlEAZroC#6xT#Xuxd5w(vg3 zKO^3XKntxPT?1$rX8sB@8;N!DJm4aB9ku@*yRq}gg87)|GV6k>#p;HAS@--2$11EA zy9HAFqjWBM;`6ggA$AwLhrE8>%tU3>Ah8BZS?A(}X5rnQ)14nXp2* zO1MV24&{66g>QuKgztr)L{KCUi9}(dXi_uqL^csXt!vO=zvjl zNK`F4f&*NJD{vLA#vO1c+y!^VhvOsgY&;hqjj}0u_+;FOQog6~b9fDY5&spxivNcH zPB;+F2yaWGw=EG!v?n?e6H#7w4pB^$5DN*8SWGNMx!iliBjO41jCe)7A>I-1$w0CT z*@KKEqsYFbF$P6CgGde~YuBT6?PhX^C1tyZd`)2#K~a>1VkiZrLRs2=l;LwWHjB!k zMxmVS4(bqflsZnGq|Q?3sSDK4Vn*yFb`yJ`+-ys+x45;~7v*R3P~=n~E)vfa&lb-W z&l8^!Uq$)ZT9l!^FaE93f7v+l4QBEak2@rJQ*u1kQs|)(_}|vH7Er8RdyAHVYRYb zvOBaJ-I@-d+tPt_Crh9eMzi!>6iF?h7tu@U<(63LCjFSMx5P^C=@0ZrIgkg-d&;9x zJk(DLUnw6yWD@v{lAX=^jehP9b$ zGu>vUO|eah&3u~$HWzJf+T5|ZXY;`3iOn;cdYhLDUq!GYOwmQrRS~I(Qba5IC`uH| z6_twBinWT3ip>h+R>gM3GsOobR0@}dr5vJ+Q^qS3m1)Wm%8|+})+5TjE+4hR)Y<3)M^1%hW5>sxvSx&4q$W!NPJluQl&AA2c7eK#OVRT9sC<)oPuz zE?QTuyS9nePuor#r0t;9YeTi++6ZlTZGY_$?J#YuHc^|bP1UArM`|Z(joN%|p>~FL zmUfP|Si4kPuC3Ir)~?rX)Na;p)$Z3;YmaD;X-{jJ2m-#rzZcGpPEp7a*A!m`mm;hn^WnO>`>PMbah^|3YTrSIxlE#}N+{ZO+2wyi1c$1cVN zC{6BvamY}v?AzdsTO8MryuY|qvTQkeXqAW@wjR-Gl@Uzt+!t*-=9^elj}BkReryo4Px6@ZrsRr zU^|!`e)Pr|(&8DKTJ9e$OGn3#MmQDug-hUC)296f!B5!lCgym9B+SkO1WU=}j~y8z9{x6-tJPw~29TD7l@ah*elUr)MyZnbbb z(ZRI)K?-y=IsdVN)L9xKW_(t|Bz~Aex_o}Qsq={TrkxK{!aSWnWB&6TfT=#RJ)}(a z54?6dJbIP+zc@TJ=MRQN5wR4Vmx@9LD%`4(0b5? z!NuIkn=p%5{<+EXJA9L6-11tOOspJ%(6Jb&zb)&{>HUN%xPr^BgJWPhcdrhn!U}V* zTQFRNFG@$aVVs3)&1t4bg0{norixw8vE*|7Qy+vKzk2pcp#lK-M{*9{XH{L<> zjdxgi7nJ|t*kHj)0>iBDuR+I~mg7MT4e&r`K>~pRD_cvAmF*{Pu3lh(AGv3G!C3e= z2YaA{(UMbQsrf{RAW?*26zAPlkVIf)0vc*B&e9Yesmch9u!!4AVGmMj93P1w306YY z6;gv?BL2MtIQ<oM4UxeV1)QeyuC=wFT{4}{D(gg zg@@3AFMlE`!1fwiz686!$>E_#ua!JAukrTQ=;=%(We?#IJaJUW<$tvJ^s)De-DgXIJo zaZrd1sDnK}zaxZ^LLcsNHI)oobHgUn7NKxMCetY#JBp6se13-#0-UqH60zvR>H3kh zx%*K{4^iBS7K@cpbSEL|Y|}=pbtfn(Y{Ge;pwgiy_vr*R7Weq9F=r{O#=sxAnx3Mdjc-x3;(GJdmU)GH(M-eMR!Y@*QjYIvL}0Iza=4r4(2sjABBXE|7yJ{I zgzrO|1!Jv^Sb|W)J)Haul?J!-)%`518Sdh4o}n_JnTtG2jS+1{4(3pENEx0lGFK&F z!?EdWeh``0{D6yk!tWPuBn)s1Cxb*TT+6YLNPwHTzeR*~72<2GnieM`knn4v#=ILN zHVWW+)GWr*Eqs+#cs>MS6&?mRb1eyC1isO-1Qu>1qB(vA5OB2xX(3qloOKr7mS=Rx zuf;cvMFJmVc`iRoxlNCv2y+xg1|Ne@xw+@aTzG%cc`_Z|uLUF7fPh9}LI&`wHk5gn98Vq*jREu?&c_ zyr}$d=!)OAYKY}t1OH~2&z11+;qMUO)6rc6IMUh+eq|BRXw?`5kDi|)gHt)L>tuiH z?l^@nCvfv38G>7MogB z3SG3|(sJl@{JM3^KvcA?piY}R=hEFEw=$ za_z%qW@32@ZEIN3DJNI4@v*?i6#+>^>5e?B6 z23DAT-w~xEbIlG(4Q6h7naY0vOStt1#pgtG@q93x^ND2oppBd~Up^$>Acdt|{uyx^ zoW+$yGI4MwTHoR^q8W(M7IXa$rWwJ{?>T7Re_1R(5$y?f0Cb+*mOe!HMknP)nNqq* z+Cy?z!b%*)>&0EE->Fpc14?DJB90=L>l3~V4-)+a?1$aL#{W;;zt)_d zm6Cz~sW-*n{_zaYM8^?X1xVfCNb*1D6edtF%9ncli@t;jv}opKoeQ#2SB6plsw%`WnO4A$bN!pJHQyLU z{YEMN3oeiwPSf_b|CR2gYiF)mfyYC0>?uitkSm!8h3I16S+kyozYDnRvqBH^=?jt} zBx9SG=NIJfr3CnCcHQN&pCw&Jh~+2*Tfc# zCXn?hTsiUIuu_|S?kP$MP8SYKNn~I7>sA-d)h}h~q}gY!bRhwM=6a7pVVqAdp^f>{ z7HK^VFPTH0V!=|b>Z-`i?0H(cQeZyTNtV)zTlpg+H3xo>azZFuSR+d%3Z-bQBS}6p z5QVIS6ILkUHbGfDRw(8ej0aE%&{M+$29cI;rsNfpTrDP>gcTCpaDgm^D8vyYhT;{P zR}(>6p@{Pq%F^*dA*zVwwzJY+mN_B{1&EL!K*%I6JBAbzg%~3AhL*KZ)kbV1=vfHO zzlmh`2+Q@|t7f>1(Kh&sTWn<-61hySH>mCAan7AB=yJ@B?)=-wu-9LId3_ zOKoNL&XBnXp*{CqHtL5Rat+ZKYi{xZw3`qOQp>f>ktIS6SCWHLPipS399a^yTBzW*jzZjQ_(54E_IXr{WmFa@7rjv8KorU?!{W9>8H)a= zO67tcg|vC-7+Df2x`O7f*4$ew%MqEkje=R2dF@o03kmBu*C}u#cYCU=1y?gwMsiD5 z;1cteVsxSbZ=oOy^EUew!^aZy&GoW-0(jf(dPEp1Hs^87J`wN0-T9#ojwZ~TS2Ht6 z^Wn3y84PS@?s-G@7*h9A3!5Sl#0XJd$Z|oM;a1klaNN@(7YmUW3sKkv5qeV=0&nL8 zsf8ZglsYtKcT~~S!BW8+UHRv4Buy%GLlt8PE8p#6S8>&Z!Gkmp&ZZQ)au;sN(vZ#S za9fs)yC7IECqCPQ;s>cD&(E(dy7)0UtsQ|%Ltd9GQ~7T=lsF^A&i@&{Ks zQ;^Mle?p=(ccdE;tELz%0;qYD|l1De^MPMm8R3J1^@E8`BDL4YY1 zFc&;ZhKu|rCl-2hTSw5zxR+&;EOW^&5Yh6WAd8(&D{P4>kjDEGM4}+Gum$%tgU*J{ zx!93(VqYQ!c!J45=qZZBmkEBvUJ$s@ga--+ijHHY!nc?MxJ@60(Xu&UGTbM7D_I$?M^LxO)l@d|J4J9g^APvenKaI!t6i2og@k`uf*8y~ zu}0GGxGk$BX~YXlX!N;)kBx|W>&<&Bl#jtWKeuB3)i!Ji{yI-g;->`rSDY-i6i%>& z)c=YTvZb=l<1Indh>;m0tw{$ zPNVHP{WSWs1^!q}pP=Cjvw@-8NEg|Y9%h#f^jZOY`KiB|>YjF7$ZPa%0P7cm^9s9LcW-piGmzVM zOQxliyV9rr@?%P2H*Q-UorZTsyK)T0l{|&LEDlO~VFZ_di_U;uxTm-15qLPNM>dtO z=e-hpK|)~|_tR}Ug$%XW)x{I7b^mXN-b4z9DaQEY1SdbITvmxv(?G zJVqT3Mi^vtEEtQ?Nhs{Z)jmchup_ELM#tKEyV#SfdP3jES4(G3ev>j?=w%Qs6v`M3+OkT`#`D5$mGl43i} zEqhIm!A~ItLW#xNHz-TUx{GAyF>mN-0=_f*9^s8EN^{LKpKXG7hGvS8@5kYv=89bO zjY-}eC(V;v<6UU3%1JIF-(N&$9TM<@>n$U5%=%z_xYWF?g}k`{{$<{76hw>7>Sl1O z2rY~J0s%{yBig`^YIFEdc|L?6zs{K^%Q*sm;x6ove6)J~zhugv(HI2gkYK#C#qD=C zyU&tW2+T+SmWx`OPwkhBgeVVozDk~k4@P>0R52%qws`zR;UGllO<4$BbS=%mft>uX zJPjRx4fkjIT23aIhOfNm74}DHG;Y2*_xvZuog90mgjkYX7{kRKk*A9Kq3Re8)>>x{ z`67L})<@;(cppSZJ_OQc%a;h%L}714LHda(4Z%P(qV$GVj3pZAQP|6T{h0hNA^IDo zzC{gD&t>@n0)u$tu;+#xg*`+=*wbC=Zf^QszCr-WZ&oR!zFMVDOnU~7;QsbzvSB)x z*@{Ua(=3bQNPGU|wU-$!4iiM{0!mX0(dNUi3!dI+U8HcnzDzF8CuMjco+pQqsf9@S z_~l`N^2-B}_#{$K7b}VPp`~BG!au1nfxGF)Oo8#dz*BJp5(8S;yo4YTmdUs)B2~1*5lUv@zXUj-T{CO|%Ef+^~J{L*l zy3zXD&=A!rk zD$KsF@Ck0#{{Ra}6LV^=`S50D41-VMRl$zC5P|j;UKJ?o?@df9oXnLUM0zlZb2)_c zAkV4?4L-0SrEntm^bnJV^Z6X42Ykin2$avuAU&{9ta`xbRgfN7C>A~FT{zafq?&n5 zP^y$dUiwItEw%g>FSQ01{MTX8*1(hbWB^e(iswRo=8LulJQop=Vp|$o_Wk6-9KN^K zZ9>xU0~dLP+1&Dh=k_Xfn^V$lh6|v}x7)7nt8I6#jevn} zW?v33#rcEap_qB+S{nrc-OV;Pun~}}%ETyh`>i&!Y3RYRGBT7mn0oYz?ou~%`e~aX zd_qgXPxJ>HcM){tdP7Azbl~% z!iyBP_$T-7q(D1S%m0!(H@mf0tm4yKiZ3ba48*V?#L}&Vz$>lRX zXmTwCYci+ElgrLQ&?cy+rvrE4I5k-Q`KNg%6?s^tVu2&6c#5yKOeu2bkxo`o@vB$t zhf)ImC}mLO#(9rYB;&3KfP`X^CDLLgj`I3xMLG_SR*YD57s)>t6`(VBW3(cLbh4&% zCR*VCq;pFBkW8A1k?*M_qkw#Y+?)Q1PNt!3xvYisq;$CCfh132E8Zy9Q`gWhiP)lh zS?DKU{ty0!$N%VeLfZZRA4HoY-zZ}EoE`LS@MxwfP#)K>u|rd=Kn{)nKMoDb<8Dx_ z6u^LQS5}*^R@Pa?0$be2I&F1#713OIfIyD>@l)2CtG{lo zdm}2^cMuh&c#6C@cvq2)^LZb%%~+ro8xmR6!hG$n;ywX=%!mJ0I0?(^U#{QRAPdz-m?xSvw*&RLevxUOP~JWdW4it`u6r|X)}(1rWd9M{iG z)%P6fp;=gSxLHVaMd!GZ5`%ACxLbFsv}gA&_s32-Z+EeK(v1;|raZ5|aXs(+xO1J1 z&T}?(UHhW!;^sM;<~=g}7DSaU+CRi-KX0Y!ZOVu{e|-$QxMjqI)0=O_wT?YM)=>DQ z*kk?WANs8swjk;5=^l5#^BosEJIzTo>R{BA%FTJ(bDpm_F}(Y#5BoZ~t^Ip**^(jg zHQl134wnBlwshs>P|sN{66;^BiPb#nUtoyVQ0JbF5#+VjxBMRdwfWh*MwQ6*1r zH0d>2Wb`X^-gRsI%XYY^eS zqpe^<%G{x&ZgxAnzPG-6>-M7EZx>#cKJLk-tobhf@@377D0y0iCrWzpWPW_|zXKMf9`C&rE}DE-jExI9GuL)Q+MTem4cc&6#< zR+~oc-ahQ`+Z&sYhdlFqvY_jRg===ro_M~wFZXx+mfas84S4(Ojh60h>G(DMyY5$9 z{@ZWOu<^9>!uxkLbHDp=+|55}-u06~%~x)(2!1tZONYIko2{8vI%O?!yNkN*rCv9; zwp?EDaq|Gw@2v}>lG$aGdmG!YAEvr;uEn2G*Frt+Us=>*X6Lh>+pFKKx|k`uI4St% zPp4;{p1NVfhURyh4xGH^n);XI4ZC-bJ@)8zapn3sl1W(|I&?6;efxIl!GpoGZ{NP1 zeDAk8BhP&-Ym-_rb8N@#AAe6-vSi7k4(;1V>X>a;e*b0U#EBC#cD^-iP0P$29-(|P z-dHs#e#Nq70Ts~?4$Z&^kNsONlX;g3;pUN_-u(UZOLuqo_ourQ=$+c#ys4&BVcaeUM32f_D)ZeQv=YPx#Vj45GZNA@-K zA3S_`=8TGIoyR$jYf}FVY=9WJL-u z^f^wIb}pXWW|sL>iPE8m_)W~7)>B$QFa;%euPHsS<}-fqv{lv_Takjpjq@lMGXUIRU$GW|NMTi!OVv$v~@&&x*htCGd$yT#?f_@U1}GyGp3%fdAw8)sJLt@4mj5RHljMy&d{pA z>)+mo)u)~g(D(iIp~5gsu76I~0&Pf>c+OLWZhc(5Mw2Pg@#(-6!PE@0t_mP5JT<=K4d10&+yBmItTGsdbNi&k-UtWD*UkmIFJAz$j*^SS3&Ht#)4^UN~ zqbs&KENnGwOfd1FqqOR%T$gUsWH-<`gDM78e{%6iu$f)`bXoF4bcWqoo9TSz(`v~5 zdfT=QG01fa_t*)b3xp~=L0RD@uJs*TXKbsE>vhMrBkah{xnt{zQY;mRR9fR)?Ip4P zl5F73;wDtF;g)^ilX==#cI|%-F5eA6qA)$2s+|~B#RdW3e8ER;n0BfnPP^B(G(W)g z+WOS^X0BCnKsG@GwywMCLwKaa$g$cWovmS#OO^O)-1_ydu|l1gjGIR0zhaZYWb%&*TFQu_ASXq_n`s>d9p;27iHF?}FN!&iBKpL8MvXf3VKo6X*PXw^m z>E0dUhl>D)s-RvG_s6Mj24S0Ep{_mDh0Dqh3-mW6<*NnYAbfcco)AZ^e&ASrsV9uE zt-d&`;+0F?{dV~uK=nnZiZ{-2j!=)gR4pT`JhAe4QHt?k&vI;H-3ymmp>1`plOa;3 zf8!8$vi^=|Pkk#ku7?~pBVj!HZ5@p5v-GgKq{X{gr~O>lh3d6rXnaw3y$zh>jQNrJeE7p8~IzBYtTeC%3|yX1SyU1!NECfU~Q zQ;L3#o??EskxBQjyXFil?efd)*$=YU_I3-N9jnw4ARE`8v?;&mT+tR*sh#z}x!l9n zBN6{|mz$y7UP8m_$CBSZ3aXL^%*knyaLc*+_K0I#NVTe^aUG3!0C55~SQtXh)jg)- zj!JHKgwx*VRzJVs8mc;Q%f>lZQ&HuRzfGPZ+uvHS_pep^;@a)|aci+CvvR5V$34&H z1-`xRca8vn(DhvhA_Z*p@{o_CsO;1X*AwAAPjne~uSuqT&uw2 z?+JXcbrEhGUbz~?iX1iLs&mxcaJ^dYnlTpG%y2nW2CA~f`uSM-VTOGm1k;>Ct~DFb zf02HX6s{$2g}dZ0`_8_FP%bR7_or0>-npqPMQ{LYg{Q$xqU`W3xp@9hBRNjBv!Rl;98qKR78T#F7s*x2d=#U zh~RUOu_PHmqVA|I6uz6 z_}2*shCkzed;M{rq*_pNzx4L#eLdo*YBrC02UZUbVqJZf_Wk4o`mT#I0xaL@F%ST| zD&ol5i(t}$VL@a*pnuU8dyBR{&;tj=!nmyc68XbTNedvQ8{p!>RJWl z1y9}f*$SJLj8(gJUH@XHI@#{>R;uDbi(;5sIzPQKB4^i3rxO)#fFt3%8`z()+YkH& z?$6|56^yr+ZRL#B&8LCzgT}>c4P{{Yx|}P({@(U2u_D*#el|0VJ4=Emx!6=h_E|8^ z?vG%q+u}c3)C4FlIn`ABsgAHY4yXt~{NfB?zlClhr~{hr<#F9VxRLSN^wfUd-h?#2 zJPya_x;+SJLkpO|4of}jpOU7jA?L=3AfuRETo~9|&W$L@KAyHg48P2yaeWjeF@u5ja@i#cn-!^ z*&qDLdAcd|&lQ`ub#Mk=+jpcoC1<~Dt#Rw-M&;{jHUvyPN{;pr+|n!X*g$`;nd`-U zeP*v`Csm$V65)F;xuh^;l1KH4GueN5^>jP4D7ksY)!KF<#eso}u-o(+A5dPUb((Rut;zPq3fnJ9SNd^*|5%sdvi94h3wsGY-%(Z-fZWv{LQ`oSRO#2b@wut^;96VEcP7xa}uZDx%}F;K?q5 zaomk3wgJYQr<;idh2;;*g9@vjZ|JxYZCDeWBQBV1ix++9*bM#Brov4SeTJ^;M+I#! z546>G5(`uysL9b#vficHTIn!JY2v)9TSH*E$BTKs*V|QrI+w#WK%mR8=~45@X*!cU zdsP%ueMJc1<8D~UShu6>HuA&=EJ)Xf3H6E88sk%YQaVo(Ja+ZCPS~_?QF(OOA|(sN?7fS&@OfAh2*eARn!RDr>gkc>H{KXki$;`>)4-4&Uk(aF*(!5^ay16znfsseEKywG1f zR_XI&ha-XMGQ+OOpoEUmGyaTf9%)>^$RYnjCs=e|=)SvvK6ULokSYanyM!!@D~W+m zTtaJa0$8d4CHj-BqDVH~M&S&ZVsKFh#HGpYr(cPuS0(z+D}B*rs! z?XQk{K<0;K=3id@4hU-Vocp%V`+n4F|6iu$F){dri04-w)8@$Y3zp(%4`&CRn0tV_ zAoVMJw@tZfP|GFj%JLci17Tac5EYsYuTO>?ob8^PE%x;Zh&VY%ekXN&(93=z{r5p) z{T!QVuG%hD`yc6^T`>ODdHSpVRb@&{m)e!68QKnuYp-n?m@lh1Cjp=tQHd6z_;g4_ z?R5t|=s+ZvIfZ?1EOO6?)d9AWsC_rm{mO)576bya8YqLaL)zbo?Aq<&q9gs{x|dI( z4JAu$K~dJUlE+@vHlIZLJ=$5-@hy*~_7$?Tu0~Io+IEKV`}6khXy{ef9gfxhY0uI%cXuq;*$bI|cdNjCP3VZjRoJ+O;vu*ueeiS-!mQXJ-}hritZ))cnakwwwCV#phlG$!g~5w{oDn>>-Va_ z_nHikzO(N#kHYE&4trU*0;i6xw#>NRY^rv^!)V|?ZQ@D| z#P3pB;;((K51g%fj}02+?GUh_pLo)VvZisy)vAKB#Dcges(L4xzoo~N1@{K`6_xE& zhprrk>wnlG>s<$glM3@4Hwn8i^F(en&Vp!XdQN7BEMcHwcJ+)7F9%`eN2LM~jlqJF z?#Qf%5IVi9{+%NP1?J-XONYbW6*~&{>@Lp7CJ^t+bQw+LVb{O6FVY4nyT&P}8XrCy z)|GvN{LmcP?HS?_*1erxT0JlS(Gb>kMWGj zremA%C)4Z<XemJSrQ|)pwTY3d2)ZK7C(% zWPFw^4%ipKJ^=3V^GUeZhJ{Z%4Q+PXselDkj+bW@2q!}TS~|7P)Qn&3cMTQJQ@taq z9{bt54_$+2zw3-epRr5mIK&j*Ya3Q;kgm%3j_U1(n}u1b(~f}hHTpi*=B1hS`tdT~ zCBD_#XMguED=a8k;H+m_i`}#gR@J^8(EAZpCZ`hL8ZCi2!^2L%^V3?N6P2kaZjr^Q z4~rkXn3wuqS6g6LzWRFMk}kF5VQmHgYq6@b19A3?n(5rjfgQZnxw=OyG?co>4)N)@ zPP-ShhoCJm!u`&5hXMTFdG*@ZGe^U!uEp#6DbOyUPt|pg)`cu{2+MWa^w{yt^YfAK zHXGgy4;7ZV$?$Rply3skk2T(S&1M=&7&=G$s`{yOEwHQia1JR|Y|K30dWWHW zfHH2d(ltPtU%onxSyTOD<@$Hmjz?8gd=OV{5SJHg>f#FZS1*R`p{isp_eF6|jvbuw%1`swG0* zKDye2gl*9;cWtcOV(+>?La=C=E?j_qsHx(z|P z;y=LITUtY^Lv^MCJk+vVT;NlexjN4(FHE07u&JU7qsT7KS+pjiP1L>}CpJA6wx8s> z%|3sM9oXNx%7@gSn_Rw@zV8L1#yjTUE;|~EM+3i}^%H$klN4m4TLt>@+*87eIekz}tS>=7j!U=B zzVg7!SYK5jI_%c6Qt0&HApj3-bfL=9uz&e-BGJ6R zr{R*ede&US9>*p#=00aUvsLxdLTEfQ6LS+`ajTEq{z$RSrh;37@^c63&bWm9jMro* z{()kO{xJ3W>7=9Ur)lZxJw57HI~N^v1y2RFS9$`^r`5xqLNflUIH_FgK-_76ro5W~ zqI7Kl#xA;0eQ%55<9V+)^9}Xl^=w#G$C`4btahkSzkd{bP#-6aVS!_X@tQggIJwsL zaTETWdIMXKsx|x?Q9HgVc-b`$^fu6*-unOy>XxVws^-{TIO*8D+W*)bdE7gBz9Ut> zgsQ!D!z*rOK}mDHy0YS&bI2_Rc2uOUzkv?wUifi!8m)Ad3M;z#>6(el9pQ{bn~JuM zhRe#3NXOc%-&F;QbtOiO-6SfHf^kDD%7uFh#A%+9vj4BW^A2kw`~Ur!bXpQ1ga8R7 zh!Cm)1Q8J?)QE_v2(gE11VoxrR5B?fG%+ZW*aM=XvMVaOsH_ICAhzf#qH77*SacPY zRn~RgJNy0p?!C|Nzx&+3nLP7MW=_duCUY|L{=CoYbOVQ`TKZ5qOZS+avgZIA#1yS{ z8^T!Yt8ET603(~#J($<>Gm*XYPFs$VmTP(pii$7#umpTJB;eKjq zZqhNDZrG)mT0omjIHQhH%fmia12`J1Z#RcU;ZjprqI36e&Tw6Q#PwjjZAz^vB6o({ ztq74gcU{EYZSUvix*h@;*vGnwN@y|=^($?iEs`uuF_n+)yU$D+O1CB4CFu&*!2+DD z0UAA!9CrZowu~E5;0V2#!Rd6k!mv-d7{e|h-FKttm)}bx*x%l8U3$mj)yr8jk`+G| z4@pjv;g2>*LX-7UNUt|X3=SL@%Wm57dpF*_Vq10l!`(1V)$Vx5(Y;yAuF|H%bVq)_ zL(`AAq5Esz++ZVdB+*jS6(=CX-l5iJyHJr@iH`wt%vbx(H5DG^;6zrU~ zw#O`3{4%&rg|R-JF3a(cPOo6dw7xP$FDwq-=q zImchh%$rU`V<=&TUrC?70~!`iaf3U^OXk&uy|`3xFFN<;rZr7P?5rzQb?L9_-p;7} z=*0PRVKYAFw};lEBnQrs;*rO~q1h!OV4hsd_uhvaYIR7~8X5~C?nDAfcRHOfW+HCU zh(~(M*D17<=|dg&lD54}VcIvfP=>5Gy>TdgVMWl3AYE>jPDrmQ0y^$f&WVDQ5eT6J zDSEy50i!?f%I~26!qujScHZ&!(h&xHi^A_P>g*wL_`%#kX<}veXUW)VxDqCXNL7Mhg+na-2`!6`8 zw6Ib-D7r3NxO_eIDQhYKIufK~;`Q-l_BWg{++6gS+giqtWRxuwpTc98?f7}Q%_V3@ zU(_GB-lyhbg^zI@GFiXW;ktZfZP_Iksy(MuB9wl0ygWuI-U9*V@w;16rh=|0Ywdq3>AJxHk(^396_jO%$iIPK0Ixj-8I@Jc6u5m{gM@Ni&%x z-DTJPjn&lV;C+cdgUTK-o(htk;*8g!awvC<#3>?7&Gi)3VqlawK8CY#b>x376dkgM zuK;q}x^OWOVH1pi8pUJlI_(u&C;s;o7CCj$2uSDB=M9}d^kdy=S=K|oz-ef~ zVI78kPKr&%Ei6q88*eeuwNl{El%}Mgd#|J*R7aa!FjW3COs5wSAbyt3&}V|Nk|c^} z+Fw%GR|oKE6gbjS_tYE?A}7_3-n=s7g_$y1nIbi?iuxsNnB0Om`d4u=!uT5JP^<1} zW_K`!Z{=VdJd*M){fghd8v=8XXkpxA4hyLK3l7pt5VB%1_UUr|S0`C01luWItYk{{ zUER0iuk9k};$47cM{lA-cN?pzhXS9m1x1dWM@|fG8f_Q{#}PzHREUWc`H)1KW#o&? zBn(Zs3Nw{-hmp%Y>6f5QSpnlbm2o6~E3-iC*Y=YuR*64wid_ z;n@8Ln~%yII8&rn>$`Jz;P7lcu$9(F=q_0d)#2uBV+HrIAI{07XJj_6U2S{MVW_7q zg<(153Lvqq?b26r0?*~U8-1%}iKKYVnSHFeH*j#7If5hTyFO#cI5ukEc?E$)ywPFj z^F)?(&+?{6_9u7|4}Vh1GIGO7S9KUi={+V~PUY{8IFM-Zh=yJX7~M7iH8}G3@9plS z$~yYfzti=i(r}VxN>66@QO6&YG^&!%F?IOZW!viAA=`P*Y1+x zEM){!XX0M>M<`_cX?ohKj25 zGHvgqm#YHlti;5Jdye%G{@&H^D)q7&;?Z^Kc->MH{;*Bd3#XxSM#MHpqS-GIAsA4n zN~tpeN?VD0zv;Fw1I``)6%L_GQNLv#4i16X(XZqoYkCVMFV;x>nvaf_xLVnB8e&CU%-_?C+@hm~dK~yqnaCIl zq$i>hy!5@9i2@6Ik=W`nT^@1hsUyG5e%9{Vjr(hVJ-j7m^nK8vr)VVsB$4#Nn5NIR z>!IjUzLzyWWNR$Ry?Osy+38Ct z_hyrzfVK_O6&P zF9ZB{tnPb6{dYS_K$|C@gqxpt2+8h+25m*avitIZ=ZQAP<<>^f-0J>&#p7@2|Fvt~vOYjfVQq;lK($+%8P?v9nM` z46W;Qw>RA^J7R1tQRL2K0h^^(HVIv^R?=yL1kMSA1pJwE0wL2+vBCSYFaX%*q|qM< zh>hv}K4|!3DPnPOm}#dT0zRXZKYotG*c}5-f2c9#ov(6|FY%J^m0im?1XyebWRyu5WX`nD^=zid)q-l1TnL8s?iN22`t1G5yZxcTb zA(D3`r*>_ffnD73Ic3(rtte@N%{g_1d**SkuA^9Yd4+kU0~U5FYF z=xzNZkwX~N3;L!<;__+cu=$$K+}%bnI(w@gYRI(H0~+pXyTBxp9rJteA5vt=i-O&U zI^)-)#C;i1O>vKV<_wVv?DiYsI9e!-&$}ENld?~YwiB({oa}zi?50n{_FaQ#7FR=# zuk-IYQC?&yOlEMBT(O+~;w=0OL>68uZ+0Z1x>78W(KA-{qr+=O?OEeNPH zsboWOMK*dUsF2q2h>l96>x;Hxq`CHsl_}~>CIT~X{~*Mpw7o#+(Jyg&J!Tsxe-#*; zZod=W_aLox%@mm?uR+*7j4W#R+9E&2a>!TZYUD@nat{iw`~WQa-_nc z3;_kBA|O2m2p3KQ{8D3=?D5&mp1`+hgZnJyk({roS^!OC?!LX`bNTVp{a=smpK2Gp zo&Z&*QujT^-E1EdBR-};e>OG#CrG=LK!|~^*;ivZtxKn?j$mYaNbZki`}>S1-6XP} zhrDpbr6)cR;-%6OuMwz&2EMOTEcuI*cI|9qlnMWtK)(@lG4-@SnYdaY+Q(8D4c`2{1AT)pd$ z!U|_<5yylR>7_K|esO%hCl{9F2QyXT-|fP0yaqvR2pc3e>lNXF?^Dv1iC1n=2Nw+> zTS$*=jH%?QDBYjq8O^?P-&khaC?AE^x4vOfba-UE0jrn3<3u+ZEQWfv@U=cMsM=&( zAL|VUCu}g6*5ilv_(vnhrc_N3TJg9hn*VQ{%ZvjRyps$71|**E1w`;d7TUMHf05e- z+s2IG$A*(liCGQnWxCF@aHl(|x=VEojY8S9x^dS1{zQGh?D&9b@0J(7Y3i5Tr!*UFkphQOn}$_ZfgWlWJ_)uzSDOKVEF5j zG{PyIgsHnL3RA+_ZtP1k%7+U+ruvTyYQ@hg@2o7j%B5SdL7{nfXactMDS*7P5Gcn7 z{{(N6;uT3NI1K4d;7p>r)N)FRhs{y?62Qa9@pHJ+ zymL)r`hSKl?4GP%z!LIn4U)j?F#!hKf_!okff-|&X8X!>zgYF6$m=F0ct`6G=5{3hq&kq{NO#_h? z#_RY9W9Ami9&3X7uKn=%$;;w)-KA|637?Bn%oi=C_mVPai@Z0)Pys=2umgAo8a*FU z!hqOYe=f*<bB+-VZLsYO?=E z+Gh}X`6tX5ahNk+eaIqxQe&NV-m5^=)U9Z{RPwo~!Z$HBAiDj&Q}e6{T-RurDQlgT z`&)^O?3=z-S+@wl?S3}Wb6v!VKSFZE(DwHBDHKMl?dw`s#ZS3jz3Ybom_Wl>&4H=~ zuL(f!NnMci07|%Se{S5~$ugXuMlbh5-lt(dm^wrV^o}xJ{Fyu213(O=A$crJ*FwL1 zm`qRYl;C)s^lsgq$MUdLKfNOsmar){GLa2Bnj{%UV29_mo6uWHyXe-V_Pye=ijQVL z_YI;CK~xiBf`KU4uQn5<2Y^1G^CWH?{RDF+$+wfMg5NkrQl%8{TM-c33nLl{HPKai zA)QPJnfJm8zjF4~GhghUvqq3St72(M0G{;QbJlqI%BYFs4zj*E5@LNdU1gYXYFn*V z9}5%njs8}bM6$XCccN~&83ls7&6hu(jF$|HSgI#K3!W#So) z{~Kp3(Qq9T6hnfHvxvwzN8ic7wnWo-mLVNhTALZhN@M-|RWh^~Oq&5M+i~Jyb9aKL*UZ+ky~t=0;WCd)7y7_*q>jaY3Jy zdPSH|o<)Mnlbq^e<(4s``^3?%f09AK0w4HfcMikrv<(KS@S zMflQuB5$Gp9EHEI;*>a6KPZI0Q9uMKxTKCPWhl+9iTZ$U0eAY`s6%a5c+W_gL85#k zQcbKqQvyM-cm3E}zwVc9MiiM?wig5|Uf{5>YY5j4GMNXcPABz6#6D91B*#Gio=R#g ztrJ(VL@(1(dnQteIA7?kC224cCy2t6?1=3}vawBgqp03cFnfe>q~zzSL6Wr70d+iL zVPEBs*ml8(Pz;0~8MYNVV67Arc};B*NJQRd-|>~8B;S?`f^tt!huIRyPW z#mF2&XD+TUS{g)^lL8@u6*g#Q#aKFK(B-@&C0?a3V+YNXmz1isxr8<2h}r~HTHp|Y zg0~J*+hYK>an@foeWgT{wht0;V{;MUjp_6PV15i5S!;LpVmm^e?}3)2*PpUN@`%(E zip~WM1`9~wxjpC$fg!5s+gK5lh#wEG{}x^|Yry$B)cojHg<<7EuAe+X667nuG#Jdg zbO1LpSD^;PR6GJg71Rimn&w3<*N zQHin$=OV)FGGa_^!)7_R=r1D%Y(vljC}B?3^(<7qBrYW4+6z#=93p@a7~rUu*iHbU zWU_n_@z7?G)8S_6>Ab*h@|NtYr00gtP6$Uk{TWg;_uUX41!0 zw6}o{KTA*dN=pHW8f85gEMxvf^t^}vz`P~lNx`OnKuI#UwUF4iP@%;GwaM8$EOGl) z;^2xtn6$fr&R(50ndwt1dE{w2Ly3Z1+6z@xXWj4-qZc9 zN?d`S3&1szjd_4h9#%9B8Jq$1W`IWl!Mo7ktn!0DP86qN6yxC~M4@EPWnoMux5O|~ zArnu71R-)>n6xv((KEEAP-`-{k$B)LA%Dc=+V7B>DP72qER{8>%T*Jx*ugX`vZ5kk zZR|_(Rc67t_N`>WdX+#-=!}#P7OBK(N>Hx)z(KfJP)Q|LmMB}#dyO!q1_x|OgaVFG zASU2|DY2U)(e~UpIkwoAD<)LMVuSoJFFYXJT_Uf5mTnzTVu1*=T*hp*eN-@_KsM3= zzye0seNLVESeFXq*Dyo`cY7(-R-ORxC98f4NZ6KO16i9wY>H)Hq#`I%#>*mTbB@-w zSpPN9{0rvTro*v{BbFc30K_O_-xD52`A8-r^dyV^^A_!+F*Pn77m7}+7R!kd1`IV2 zq1wrAhLTW~t_Ma0)+ZX~wT-N&sWy^9L9$y5K~*;apkS*01}HGzqr8$D5U(x5wT3KTUWW$>b7Z$7ddb~Zl5;1p6eX#23=TS4f^fr@&Bx7xTrq4DS>6I%9<5@gyUK{i z^MoovDb^UJ{1#_gLIffR$#capOl0Ee7^4MNK!ezLsPiuIlspLaWg7E{oe~8pMn%d{ zs&j}f69{e|z@L9oDa9bZQel{!F&k=!9o_3@N=mwvV>!oZ8ON!X(ukgC6BH(60}(D$ zArV;qZbIj3;-ZJYj2dF598CmQhqLRI|S z=_4|!cZD!R6PrkuoTa*jkK6T!QM;;-)x}(wtp>-fq68j$!0p%-N2d z-2sk#Hsd7|6PBTW+r%lWD_Qo!O`2_`2SB1=BpfF~1(~6H)h4DL=>t-C zOXv1v)gf8@m=q&S6$_T)_bCC09NGNW%fiA6G(5;lM|7EZg9D(hy&{$nIx>->?A^M( z2;zCVa~T9%Rs{L25qqx&Cy`~96>Nc2kcf#}gb}SHT3^MqPgk}tCVbk66}mtZB2%?yI6H;H<7o%0xrj~Wv4T>q>`za-~N=tVN!i$qB3S$&|a0U zbi42CeKn*-X*p@q4cXG)s}0#o@p^)ek7cjK@Jdv9o6;{mU-a3e;n8E~fT(jN^h;w= zxXM_?V6b`#!8PqF9$u(;<)d7(N+l?0W0R3l$;XDW_n_6Ri(5jhd8*>(UlG%xJVyOk z`HarZ#D@mr4~rCeac4@{$V-y6)$Sl^5&o}aDc5vc0{&o0nkw5&)%p@Zu9X6&G>=L& z2Fit@pe&Pkt(!FN4HBkd8U9LR98Me4-g4;qz1IF+B!^RSumI4$KoJpqFMn5$DQ zN8UGziU?qpu{}>U^Wa5#)grnuEbF+@NYL-_G+TbR0Rp z)$H;e194=Pv^AMFuy(2B@(=h*(}Gs)*pb`NZEspDKI8-_&;vm-y(Tn2er3Tj`z)Cz zfT-)O5aU&2srA%nmaPEk`IR^(?)&?fR_B*e6u>~DV_Sj0+EU40R}|t$qB8I?(S%Zq zt&E`YnvP2PW&b};N`-WVE*wV^6WbTz^bpaIrZk?vQOlY28^^mM&QzwGE$?%#_(!-Z z{$%B#n~Z0Qsg07t3oX~&((AKRC-B8-ZE7}enp>1RT9}GklfHq zLyDJF8ksWGPB1tVCw5efeCGX@S<{zG=*oO{_e1oykJ1EGySCDLWwSuC!kC3K%vT69 zu|mnBJp;F2U5W9H%qiKBQ=^u)+Dmhp=O^YtfC{Sp^?0HbVIZ{=P0FEql zBS7Zg(B~u9-s0%geV0(7ZT(XN%_0-PD%6Zq(3UTW3J%Sko*1O=TAz0?rXMc z1$oDwR`4VVvlH@&=9vnyV15E2n)4g9edAG{l!#>97(QTjGkPz8h$EYo)U||mu?(91 zkSc|^Y`Ktv1$>1Lm1gXm45vPDUYM~9D-6qs>=I&7@$H9cO9;Y?a}Ogzh>|y7nhY_6 zwr3tI#CGOpTOU?^e@g7jlJ{j`^y@1o3MIA_E;6<4mRSLz61xjos~TgWF${!Cm*%e{ zQpQY|6n;oIXcG6@$^NsO(oEphRXp58uYpwitvE0Kuw63N(2Dq!AR zR$J9gW{Q{1pYPKTz|Rqk-d$GxQLgHZp-z^U&>-aS=cV3yFaz5G$N+&Mwtx*N6cQkJ zEVMi~Xkx^{`NP2u5ktrL)t^^4xSDb zXZ>EA$Ue8Cb_20DmGm8R^MLrAxEiCqV7cE&MLQD;@&`7sL_k8tB4~F3A~f=m-Q#%p z#0Y>y3vng;Vk*Igy{ZI2Rd5)fY~Sm45Jy9eiXv121o##S%&47`2DR5#`AVZ zYn7Y!6T2%PNM)o;;qvG8j_iQF@j`PMmxybcSv$md(i3d*{@~x^7=Y1>&k+AD^DAz4o*3I@I-3P zN;qh48AAAb46tkmLCGpT;2_U_`i>z*9X>`b8iE={w=|Xe(M60>E3wIP9BCisMwRN?7T+SlS8881peAr*K-z~o-d*9(D z+peB^T{R(Y&s@stXp$VO`}^Jzm`8=AY58PULk~%3Wum7Njtjjw9a(#9&z@#ukPGIv zXN|y2I8Zr-l&(?P$)f9`Nr%ez#oRr8Kadh}@AK?m3SWE;y?wQ#MJCd+Z7kCAZlqK; zbG0S_@p7%&>o&6ou%d@nxd3+2aj8sz(;rYTTPIFJI24AuCV7-`-TG|_f3#4 zlF-OLGvimmcV_P<0P#aSU@&O^JPw#iEByeNiq++fZml1gekq~SN_TdtjUmsJFY>j5 z-p*F(a_Jb|0uQ4F{?H5Kp6$&W08BbgsyAiBAjy;;0*LCb&+w!J3MA1AbQIth=s((v zC2`=Angr?Xy&b1?ipjng0(-aZcB<<88=~&AkEpb>aGoAx8IbvBLVu6*l-k86L%U|j z=!t}E+(ECX+LQD|#kQ;3ati13D{S6nlZZ=e>V~$JielfnHD993^r-zoOT*+;)bsiM zYQl}vXrIRAA*yYuF@7saO$_JO`p2^*)e}~jIOeeWGc|vy>^f`F?8B$20n_zBzv~i1 z;ipU-g%Q>6-mZ{%D}q-8fUs=iR#4;}L&yzmP21+Ma8PVYo4A z`=|->@pOb|ZynCIuHoExDb;%5PE;;8haLwhkpV}!S00%^7II}|$nm+?#$EZFB9srw zzOIt z%k<~Sg2h%NctoNOBudSh)%oi&de|i7xZ>;n!cQwJ)iewOTj3LqT2<(H1Z2!wiue#< z@PZlt%^I9=22drp7!B9NjyoER^ufOP&>T2HJyesh3;)LHf9&!cc2o5}OC zbQG_-@oVm((w$Ap-a(L%uFu+%-wp_aPaJM@a8%!~$p@D1a;g>FVD)F->_mtNGWH$lh~~C{tPGed69L3OKxSfw^mU>z}L?^+vPB z_aIf=pPm&Z>K#V5We*Q9hS;1MiTX%OPjqp}4_z2(dpHq>t4y1`%&^^X<|gBFaLfkGT!D!qiya=L{A- zK;s&z_`X($a9uoUL8ILpHH|I;^-%zUYieEgPfr8P|~^d22xTIN0Jr<3|T@8tl?Y zIQB|Y9YE@6PV%MA(y#tdmxEMqKUB?-Hd6R|?3!B6-_&nmm*9{De2OUr{zw6v%tR;f zEk#qqT}Nt+7v`EfS4c9Y;z!BSK|9WkT;u0Q{P7j>PqCsF3(){h|H4YjJsub8OuqHI z&%p1;|0XMw-bESTsYd~M?ERdMjj-141colkpvsaQqdU%Ib~p{aV`1!_s|v5sU^n@BMhI)fyZJwY+zAkL%xuI6_@D!1tc zRrj5VO)a?oTF}n(|wb{8~4;>j)};4V;;%qML}B4^;sr5 z9=19t1nnU>g=f#HW_H)nAetRAjGAVaf7s{Ke6Gs)-xfVQct>q<##A(N4D?Nstv?d~ zeb~B1GUhn&d8lK9Cw=7@>1qmU7Z_czWI?g{E%&&7YBzh_s3i^=O93ecI^^JKPUmbR zN=5XPOj~1@HKU(J7LCDBB#bTezj=bGXFl zg=ujub?#!z>{&y@zEHJYS~VoXY3t&8FphMnY({q`L&r63YV_@1G7IB^xmk^2kC_=S zp|(ac{MbTd)vIeU16^yTMth9xbK>7cZBy3WPe;2+#n~AVI)D{5Tfp~l?e{IVK0fMq zmAvp~Oh=A1bxoJsk_m9?zCrxEchoc8f^&mlJPcVAMAq%76aBS5s zOpXqkJL(_DXiVv6@sGz#JAI&ioSrt$@xNkpDf9Ii({y>n-x?iL)+cm}Q~1AFcI;fR z!`?X^z5SsQ*dyBs6fe8IjceRNL| zvlfoSIpc6}(2?OE7dCz7rzF_wV;wnu)=hcX8x6nykHN9|kQt|4> zjjIPFV!B+Mq!KsQhzGW=p>JQ4q*>Frd(FW9EV|@CR?^|D#$#Cn$Fu3DvXg$wZakko za50D8o0D`kr}28u!0om4U)Cl)SljsP+JR@e^yj%ruX7vUC3vtzt#=> zlV^*~OD5)N%<>*k@@=j2lWp@g4*3t93T&qoB)b)8JPRI7E41}5OrBAwnN|28tjIQ^ zC^@D`GgngdVE%gBMeCE3*K3xof3RwUZQ6$9)f+U~8y>7Hwk<49E-uz=EPfy>a%jV<D{~e(vGMT@(1rFwx1-Dx|YTsT9noh2U(Q!pYF!We~iu3~V01!GZ# zFu6jztYUDLl98qqu2yQZm4oY4j6#*LSf$;l8kAHryx8NIc_tF_wewS%{}Fn-x0e6U6P>z2W1 zb&ThA!q;`$H+6&Ww=zC$6@J;O{cG#sKWaOydI?dz(@g!4Qg3Hnzl83SiqTA)Lcjl$ z`WvkhgYk&hc)8Gh(2;pG%m1@X($u=pgX29mfPW{_f4{(6I{<=x0KlN)CptjLzbW7? z2i4-{1BiP9K>zhhn2W{H{w?>P>Hp#nc3^CrC+P>1^n*$I!6f})l78?^KS@8Bq#sPu z4<_jclk|g0`oSdqV3K|?Nk5pRA578@Cg}&0^n*$I!6f})l728rKbWK+Owtb~=?9ba zgGu_qB>iBLelSTtn4}*}(hnx-2b1)JN&3Mg{a})QFiAg{q#sPu4<_jclk|g0`oSdq zV3K|?Nk5pRA578@Cg}&0^n*$I!6f})l728rKbWK+Owtb~=?9bagGu_qB>iBLelSTt zn4}*}(hvTh=?8)TfAj-Q_f$H~7Kp6Dzq7^v#vuG>c~0XtmF{9!?g4>+XZrt0tSGh7 zq)(-L{-0#V|46-Y``c=cM(ahl*2KEf>DcjnYt0i=>p7Y>SGqg4 zZ@snV9b_%gu-(wLpUSN@C&=j93|BP!VK+J*b4seY=teKZKC7_SJhVZJm2>Itm|a^m zN4WF?3{1I=rHM6=NY&70Y#dGCSd4LEJB znHGiS{m~Omtvj!I=t(cc2rg>kz0lN)SFAN>lhCr}-e^tH{ni?IDVp~`JJjHf?$C)} zG;Q8!f%b<5<2$X*&O1Cdxl3U`7Nl z+Ixoo^l}i_OL+IDZ@kfu2$cd)W`lFk7y3jNh)9LxxZ(N#2`tKXE4^6{6haQ#C05oHg zFHMsbfNq{TgQj^JfR?y5i>4X7idM8c5KUjkr)f6dL~~PTple@ZX_}B3^aQde@C4ti M0GQG8@2~HF0p4j{*#H0l delta 47418 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 diff --git a/public/icons/docs/puppeteer/16.png b/public/icons/docs/puppeteer/16.png index 558e83c2823b42628f3e90795b2fc3e397f30cc6..1a15e128e554a939fc2531f557b2bbbd19b180b0 100644 GIT binary patch delta 469 zcmV;`0V@8L1>^&e8Gi-<001BJ|6u?C0jo(wK~#7FV(`f`pK=C;nqt+w>8H!E9fP!(cgPMp?WDfNWr>jM~D`pMUj_p*Hq62!q+>;p-UW zgsbox0M=X<4%P&=Q9~vkjANV+gIqz_3-TgS3>wlqL7LT;>`G%B~lu0ekEv48nNY2*Ab|XkFh5DJ zN9iM_;#p|%Fa8Qw2{295D9chT%R=)!YrzZ-TqVG=tkXD-g8md7xJrQII7S@DBFi%B z`<~jiWvZ$I{M>aNHBBRI+g85-hk2e0$oLPg>vB($giZ;9fO}on2+*%EO%t!M?>lYV z#vLW41ix3n;V=v@hs8B* delta 648 zcmV;30(br71C<4k8Gi!+001a04^sdD00d`2O+f$vv5yPr}%-2f;Y0E1xwB^dyAS6y9QRaI3VAs~cU2EWMlvU0009404N&(A{W`&*#HRz0Aoo29TSw4l&Pty0Dn(808Kamk7@vvZU8;kdeyD%3@+-0000tHaE%1$*rxe01^uT006qWx&R*(05l}t z-rfKn696+L09-==cUJ&;S^!i&|NsBx<>kD)y#D_F`}_N#prFUc$F8of=jZ3q(b3P( z&$YC*wzjsWrhlf_*Vp#;_L!KMFiPPP0000ubW%=J0PbJ@fBP{o5_S8purV&~k~|%` zGVL3Rj+C)X!~XF>2&M7tvFz?KZm{m|UtR86WA1u{!>+W*Ugf6n00027NklzARvtAk5`&TQFlBD(%YU*gNs?{-{`dl}g%&fYBo~nY0038dR9JLUVRs;Ka&Km7Y-J#Hd2nSQX>fF7 z004NLa^O4*9@yRApWP2kb zi7m1I>Ld+{os*80pGn$e(?ld|L_%0IkWs{xq>>a0ae45ILW(r4)7%?hY7l0?lGhdQMC48h_QOH6I zVGrP$Io3FMLTklF%H{HvtZt`Chh+i481dwVG z5IVpSe;&59qAdY}SK4GwTH0O&vN$#qVn~7>9O0*CqL_UQp|`LhMbr%uuv-Jw z$Rkw^xrL8n2R5WoM0!Q12xpQCp6viz0|)JX6gv#uG4p2w*cy1jr=?{9pTdrDH9Rm7 z+aj>R_J1;Iup|J2ym|8;XwtZecgKz$@Av55;|l22vzH}c+oDB_fLyt99fLE<0{G~i zKYza0h7B8Z<;s-`&YwT8PaZ$9j2F*eC|qzxS-^k){a2!E*RKB4r%%_(lP4>fGkXq1 zma%BzBJI(mhd-Q_1fcrn&6|4d+O=o_4!A4}IDc^9fVaA6z-3FocL7xX-o1O(!^1-( z8}Ht|bG?8uW5y_bOeG_RwxqIm?AW36=FL;Yu|}Kr@84gyZr#efxz2v}*cL$hK}I`r zK>POXgWYM>x^?R+LWd6@uCyD1S?A6kI^p2KgFdzd@FC*s>#GkRKGb8!j^RCC;VGXB z%tjL#?q=JaK7E>Z^Nzi%ijZ1>kURK_yWqP3V>pZozJQ@C02iE=f0Xj4(iMO!ymQ_I Xut7Ew?p#Ah00000NkvXXu0mjf;BlE? literal 1034 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~Ixyacl21AIbUeKHFfibH@>48q*|_wNVNl@*oz{QL(F91s)~1c}1|2MdFdG9x1+ zgSIR~nooLq`n-Ab;F1i+Dhy1F3~okn5mr`^jSM>S4BTu`L06;l^74|BlJc^0ph!VM z0Z2UFwXUv?K~bE+PKUung~8X7A<>=T(p-iDkdGLY#4Rl?fpl_GGKkB-U}Iy$V64o* z#mXQp#NcWKGQTRC!OfUKL6kvRf?--AFE8(ZFt~d4D$s?GA3bI`HkDy}7ejv*!=7G{ zUG1q15snP8E)O0&`1eQ*(vu015HtqSd=QnQLU?>h{xVwzu;6#QHyO@}mw{PFJwY42RdX&LNi=i=r zp(~xCE{@^QM23^oD_6yB0y;XlB*-tA;gxdX50T66KLc4z_@z_+YR&rl_j|OQ!PU(d z#Y1x)E&i>Z!TImcpUcnhRh~V+;qR$mKmR?QwEXCSAGa^<-?X&)=F~TjbLRf@g?J83 z{?mH6CLb7+?Vc`T%JT-~)prS*8X4sl{MzR?~Iyiw_xYS^~3 zapt})>i*XEcb1nMi#JVs@g?Ym^zt~y#txRoA2V}SdK8+-H9T!t;2QVNL++GDkYv?7 z#i9-tfr8*I6Ou(_+$&WaMYkzeZD3E^uOU+OUL{{pxnNO9(ias-5a4y;L{Ckyo#E+}iO4AaqPKjFkNq6?bW2c0U%yZm* z*MD>7uA@1Q#$JUInGB8(Os|7c1~Fr`uc3xw&1m)-lcsP*70td zdh_|t_jbFkik6yf<>Wfd_IHY2>93NReoL!L`t#OEZn~i%_P_9KJWE}`4kv+%DPAYJ zPPu;K-0W6#qpYp56&T~;RUr{2L5bxG1x5L3nK`KnC6xuK3Yi5Zz+_x8=kX^Vj>0ev zjZ^-o&v-r!VqjM0)=TCVRu=Z2EW#|T;L>1nIE7hxbBMy}8&^&oIdeqj2>a; Date: Thu, 2 Aug 2018 20:03:49 +0200 Subject: [PATCH 46/65] Add Handlebars.js documentation --- .../templates/pages/about_tmpl.coffee | 5 ++ assets/stylesheets/pages/_simple.scss | 1 + lib/docs/filters/handlebars/clean_html.rb | 44 ++++++++++++++++++ lib/docs/filters/handlebars/entries.rb | 19 ++++++++ lib/docs/scrapers/handlebars.rb | 23 +++++++++ public/icons/docs/handlebars/16.png | Bin 0 -> 1129 bytes public/icons/docs/handlebars/16@2x.png | Bin 0 -> 4217 bytes public/icons/docs/handlebars/SOURCE | 1 + 8 files changed, 93 insertions(+) create mode 100644 lib/docs/filters/handlebars/clean_html.rb create mode 100644 lib/docs/filters/handlebars/entries.rb create mode 100644 lib/docs/scrapers/handlebars.rb create mode 100644 public/icons/docs/handlebars/16.png create mode 100644 public/icons/docs/handlebars/16@2x.png create mode 100644 public/icons/docs/handlebars/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 753c0058..26ca8e7e 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -310,6 +310,11 @@ credits = [ 'GruntJS Team', 'MIT', 'https://github.com/gruntjs/grunt-docs/blob/master/package.json#L10' + ], [ + 'Handlebars', + '2011-2017 Yehuda Katz', + 'MIT', + 'https://raw.githubusercontent.com/wycats/handlebars.js/master/LICENSE' ], [ 'Haskell', 'The University of Glasgow', diff --git a/assets/stylesheets/pages/_simple.scss b/assets/stylesheets/pages/_simple.scss index fe36579d..078a5055 100644 --- a/assets/stylesheets/pages/_simple.scss +++ b/assets/stylesheets/pages/_simple.scss @@ -27,6 +27,7 @@ ._flow, ._gnu, ._grunt, +._handlebars, ._haxe, ._immutable, ._influxdata, diff --git a/lib/docs/filters/handlebars/clean_html.rb b/lib/docs/filters/handlebars/clean_html.rb new file mode 100644 index 00000000..f99aa1df --- /dev/null +++ b/lib/docs/filters/handlebars/clean_html.rb @@ -0,0 +1,44 @@ +module Docs + class Handlebars + class CleanHtmlFilter < Filter + def call + # Remove the t-shirt shop advertisement + css('#callout').remove + + # The title filter is used to add titles to pages without one, remove original headers + css('h1').remove + + # Remove the link to the issue tracker + css('.issue-tracker').remove + + css('pre').each do |node| + # Remove nested nodes inside pre tags + node.content = node.content + + # Add syntax highlighting + node['data-language'] = 'html' + end + + # Transform 'Learn More' links to headers in the "Getting Started" part of the homepage + # If this step is skipped, that section looks cluttered with 4 sub-sections without any dividers + css('#getting-started + .contents a.more-info').each do |node| + clone = node.clone + + # Move it to the top of the sub-section + node.parent.prepend_child(clone) + + # Turn it into a header + clone.name = 'h3' + + # Remove the "Learn More: " part + clone.content = clone.content[12..-1] + end + + # Remove class attributes from div elements to reduce file size + css('div').remove_attr('class') + + doc + end + end + end +end diff --git a/lib/docs/filters/handlebars/entries.rb b/lib/docs/filters/handlebars/entries.rb new file mode 100644 index 00000000..24d46c6c --- /dev/null +++ b/lib/docs/filters/handlebars/entries.rb @@ -0,0 +1,19 @@ +module Docs + class Handlebars + class EntriesFilter < Docs::EntriesFilter + def get_name + subpath[0..-6].titleize + end + + def get_type + name + end + + def additional_entries + css('h2, h3').to_a.map do |node| + [node.content.strip, node['id'], root_page? ? 'Manual' : nil] + end + end + end + end +end diff --git a/lib/docs/scrapers/handlebars.rb b/lib/docs/scrapers/handlebars.rb new file mode 100644 index 00000000..b7712f6f --- /dev/null +++ b/lib/docs/scrapers/handlebars.rb @@ -0,0 +1,23 @@ +module Docs + class Handlebars < UrlScraper + self.name = 'Handlebars.js' + self.slug = 'handlebars' + self.type = 'handlebars' + self.release = '4.0.11' + self.base_url = 'https://handlebarsjs.com/' + self.links = { + home: 'https://handlebarsjs.com/', + code: 'https://github.com/wycats/handlebars.js/' + } + + html_filters.push 'handlebars/entries', 'handlebars/clean_html', 'title' + + options[:container] = '#contents' + options[:root_title] = 'Handlebars.js' + + options[:attribution] = <<-HTML + © 2011-2017 by Yehuda Katz
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/handlebars/16.png b/public/icons/docs/handlebars/16.png new file mode 100644 index 0000000000000000000000000000000000000000..1b87778333abf219a29a41698acb79a140cea24d GIT binary patch literal 1129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wk0|Se+ zr;B5Vg&?B<%lqFzHA5XRhK4dQzkaB0=y2-hxdsM?|Bfc=iHr>Y(-?sS!{7g{{}>rw zGcq#v0zJyY$iOgR@0nXGf$aazW-69KU)j$xI-01pGX7`KWMTT7|K}fbEdwJ%DpII` z0_iUhb0CQ=X8HBE;L}Gd=O}>B2?i!px7KQ|H$v(K7agv zXx|QDAU_!>Cj`W?f7qA|fi&BH28L%$zy2|G09|_k=!#E3CvIhAU`+YW`b}p4ncL-h zh9=KUEFJFbJ#({+`~MeNpr?SY`@e>P0caH?!^J;;|20A_#7^zryfJm_`t`xsWg((W z_$2=ULl2)kNDi+7jEulIAOP?hKtL~8ngy>SpdVNn8UEo@gVzO&OpMR}{{R0Tp8>-_ Y&etR5{?3IP_&{FqboFyt=akR{03fq>-v9sr literal 0 HcmV?d00001 diff --git a/public/icons/docs/handlebars/16@2x.png b/public/icons/docs/handlebars/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..426288c71d81861fc958c541870af5b44802cbc2 GIT binary patch literal 4217 zcmeHIO-NKx6h7y^H`AzCWLS(2s?hIkhoKC4~tSEf*3kA`5?}W}JIE*IW$al*(N?2kv|K{NC?=_q_YA94g-* zADbKt0P${@vx47tHEdRX);Bgz^DE|ztGXT_Zi5;Kckd+uBxJdrg-4FXpgrO9B*#Q0 z%D^gT0GG3WM}Ah4kbydm-315|2;U0`+8Hwfqkc35f84ZBc#JVl4&^H0HBq&XRLbkDQQ<(oZ zB3w?ik6dbLfuQm^9Cn*AZ9Pi}i4rVVJ@33<(V3UJPNF%+{9?g|VSYvx55yVb+DqAb@4hkvzYtgG*>BIvJwYy`=kiZ zz}P4wYEb$=lGIP-77CH^s&AyUdtkV|DMGBWDIdoiP_g_q+~m9|9+8CEhjX5{!{dAu zf5n-Xxl;;R14P@IUO@yS?CBz(<&DSdRUj5gCM0I$Bvk3fU{ z`Bd#A(Cs2^0K}rhf;Ir1#Z|5*03yEgwLU{rX9s)-HU}mC(5Vs4jWQ5rpizF`a@?I> PqnL0PmpfaF>Mr~N8w3F- literal 0 HcmV?d00001 diff --git a/public/icons/docs/handlebars/SOURCE b/public/icons/docs/handlebars/SOURCE new file mode 100644 index 00000000..aa446ef6 --- /dev/null +++ b/public/icons/docs/handlebars/SOURCE @@ -0,0 +1 @@ +https://github.com/yahoo/formatjs-site/tree/master/public/img From 24abe4c9d914562e16cf16853994243bc3adcdcd Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 23 Sep 2018 18:20:33 -0400 Subject: [PATCH 47/65] Finish Handlebars.js scraper --- assets/images/docs-2.png | Bin 19808 -> 20060 bytes assets/images/docs-2@2x.png | Bin 48188 -> 48657 bytes assets/javascripts/news.json | 2 +- assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_simple.scss | 1 - lib/docs/scrapers/handlebars.rb | 6 +++--- public/icons/docs-2.pxm | Bin 1377733 -> 1411876 bytes public/icons/docs-2@2x.pxm | Bin 1488713 -> 1523904 bytes public/icons/docs/handlebars/16.png | Bin 1129 -> 303 bytes public/icons/docs/handlebars/16@2x.png | Bin 4217 -> 534 bytes 10 files changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index e13c9042570baa1e3deaa82cf95fb469c5ea9bf6..bd9d44a8d4aa9e40883f9c8dd614caaf01e4e0d8 100644 GIT binary patch delta 769 zcmV+c1OEKrngQIL0gxjCP9w1;2upumNK;`P$MF+IMOIXpX(b`Ltq20!rZ`aC7Nel| zG7_}xy_@i=jG~%IK^8?hp^PGW(al=N<(4&xZp;F2ii#Q|5h^bNk%}nR#nW?Et`U|i zja~Hpz@M|7my5xV=j{B?;W=+=j%ZWUClsK1=lqGa`?JqgtW7_ZlA_Frjt+l+=~j5x zxP1)^D~@`L!t!(*8v*@2o4%;e%C9!wD@|1rRKD!BO>0mm5ABl@KsLSP*aOrZ{^c_NV)ykmz)Oc~}_!NI}*PSUkeObbP zahB*($BOIqhKSdDHbY6wxLjlY-ZKs7`}2zyy-Q8cJP`kQQz9XhL3=Li^I&DWFXkvC zOzZ8rB#+1AbGzLwaitEFw#_9)`+xudAgM}9l+nd`2GjRB=|)*ihRrsU{-NEhe_&sz zTWU4x^5yrA=sJ^r{lI?}q&+XEphQlrqX5HUHR%uAjQSf6b9Sa&HprlfxQfX7^wYXa zjs@9i+A;F;X$2S#yV-C`2I-{?Vs~7~`m841(PK3Soz;6PtL!F2t+wvRcHI-X49R0$ z3NRdn#(5cblkU76(H_ZDtY3z0OF_Zx=$(f<{+rtas=DUeBs4-ZC&+!a%J5y2;d^Q` z>zfO6bEYf6ztZ07+ZGKVkPO-gNC1&E!9dFn0tf<#|5LElw=>w%vPuDxp*?VOMVqP? zE0Y0DIFk@f6ehm52Zsaz0001j{=fEy0RZ47jS^aR&_gSk00000NkvXXu0mjflbM0v delta 530 zcmV+t0`2|WoB`mP0gxjCO((G>2upv>OBGQV2jCk-23n*@DIy_(1wl|Pgu9TCkXjTG z5(!%N2Slqd3`>!MM2b*BjUxKcYh*XcvJaw7S>UQgm|O_Kk3}F-5ri$KnS~b#%Uig7 z9{8=!*$lkQ%z5W%zt$(Ona?U1?0VUT)g=*JDld@+uq7HNTskn+qnVrqgYgl5IOi*XQQ$k1eBOBq$0u zAEd$rzh}=v-UjJwS;+z%A0L084GS$Qyd@KjMRWdCfUD#2czyVeH{6@JH!(Q$^xNR0 z;jg#v^rhO{+xx=5WFL)X;PcGPsflMV9*6&^IQ$Qr7FHcUQdnMEx-LJqLT-#y#UG3v zdmT2N=fl>_r~dafP3f;6nMpUOYr~ar^}(>|yNu@gL(dae*9N!RHUw5L6UD*EU`a4^ zvnUu%t_kjUZk-<(=q`+9CTr*JvNK&h*XPR0_kPJQC~jQ5y(yC-3=3^6%#Wo~@g~?D zTVYXeuOrmo-#?g0BpxnGav{-JG$)!H1C#MhIVa#(dvHhq0000W=>KbP7ytl90{a~C UXGCSg6#xJL07*qoM6N<$f;tNMr~m)} diff --git a/assets/images/docs-2@2x.png b/assets/images/docs-2@2x.png index 5ad952c809ff875fea5f29e028b352b5e10e142d..512ea7a5d0f77136a8c19d9256e79a140ac83cbc 100644 GIT binary patch delta 5378 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 HX&v%E><^Gy delta 4829 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 diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index 0642e282..32da738e 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ "2018-09-23", - "New documentation: Puppeteer" + "New documentations: Puppeteer and Handlebars.js" ], [ "2018-08-12", "New documentations: Dart and Qt" diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 5ad216ee..87d9e1d2 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -179,3 +179,4 @@ ._icon-dart:before { background-position: -7rem -3rem; @extend %doc-icon-2; } ._icon-qt:before { background-position: -8rem -3rem; @extend %doc-icon-2; } ._icon-puppeteer:before { background-position: -9rem -3rem; @extend %doc-icon-2; } +._icon-handlebars:before { background-position: 0 -4rem; @extend %doc-icon-2; @extend %darkIconFix !optional; } diff --git a/assets/stylesheets/pages/_simple.scss b/assets/stylesheets/pages/_simple.scss index 078a5055..fe36579d 100644 --- a/assets/stylesheets/pages/_simple.scss +++ b/assets/stylesheets/pages/_simple.scss @@ -27,7 +27,6 @@ ._flow, ._gnu, ._grunt, -._handlebars, ._haxe, ._immutable, ._influxdata, diff --git a/lib/docs/scrapers/handlebars.rb b/lib/docs/scrapers/handlebars.rb index b7712f6f..22935d21 100644 --- a/lib/docs/scrapers/handlebars.rb +++ b/lib/docs/scrapers/handlebars.rb @@ -2,8 +2,8 @@ module Docs class Handlebars < UrlScraper self.name = 'Handlebars.js' self.slug = 'handlebars' - self.type = 'handlebars' - self.release = '4.0.11' + self.type = 'simple' + self.release = '4.0.12' self.base_url = 'https://handlebarsjs.com/' self.links = { home: 'https://handlebarsjs.com/', @@ -16,7 +16,7 @@ module Docs options[:root_title] = 'Handlebars.js' options[:attribution] = <<-HTML - © 2011-2017 by Yehuda Katz
+ © 2011–2017 by Yehuda Katz
Licensed under the MIT License. HTML end diff --git a/public/icons/docs-2.pxm b/public/icons/docs-2.pxm index 594ef18e5bdc8d027e46975a19f5133aa118c5fa..ba5ce1b59766e6e104df3f6d2bea70b130202416 100644 GIT binary patch delta 30345 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 diff --git a/public/icons/docs-2@2x.pxm b/public/icons/docs-2@2x.pxm index 7ffd7e606c0535cfd93ea4f752eee921d6d87f92..3c390953d91e82d0a32c77d92f7bef6e95b05101 100644 GIT binary patch delta 37582 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 z zfOTyXj;FY-{>5Qpp)8JuX_*jkn)MPlO@*z-WKzxwaV(Wd*xiw2t`MtH2XcIcm?yP| zVjw44%oGLeZbzP2345+B6aX<91)%bXAGIuWM-sPBESB2PHrW(_9$=79Ym&A~EJG3G zz$&p+Y6S?;X~ra|#FX7F0Ro+75a_g>PjR>K-&`$zCy)CDDCj{>e_ZbkCn0jJzk^e+ zi{+qYlKEHjN^^J9+onDw*wWb6j9%rXRJandvlTnqM6^?I0n%Ey8+J?UqeiIaLK$M)=92&EaU zlxewm7`gJKm=8WX_+wa+GET|?q!gox6U!_XX@If!S(}s*$#~$cb|?+lWSn3S0mY$K zzl@U&wU+@v?UiwVL$%+u6Bd)XY+qXQwAdj2UNgiWD>Ib(gNz{)fHb&lUm;KI6a&)l z0DZ_qhoOaR^a9CwS}c%WWdeiNNHtuxFB>9{HA+bqe9(Z{;Ici$?c`{>@SPY(OS8Hf`8adlq%#||fq&9eYm?W6d1OWDg2EJs#XN&_)Au}VPJCo_8 zWiihX?GBns2DKGSKna3UBRT{AWvv~6o~0bnIFu)IFHkl$lQ0HIg)90e8Pgty`Y(DS zFkjpYi<#-KzKOn&{cr9U*G`ps0zPPBZ99pEstgh(mK?W9H7JH8+TnzMG$6pfcXxn! zr-~zX_aOElsaWa`1+ed-CR30*soM(OQLuSIelS`{;H_2-wE5URi}Kvvpa2Mg7SNre zl(_E(2&n#7%XHuuO!e;@56WcRqGI=5P?SZoS5QuJ&Kic@UCD+JsS4a5BT#7=R8< zb`JnRN=pi0ey@h_cPw=GCl|faVhMc3R6Me|VB!(HzLYmHKy*jJj@^C8fP1A<2|TaV zd|?IDe39MYJ*Di4O&2H{P9@JB4%V=Ql2(#&6)7np7E zoq>UZ#wW`;!ne{2ey7wLpB2Zz@*Dq{g@odU#K!jQ$w&{AP4$*SjAoJPDd4lLY6y7c zcrEGV#Aix~G~1x!!@O)rFlnZ7LX-ihQH*M6RTe3d(H!*??!6SULZR5y?*5nP$EFMh zpc_C#e#U8V&pxq3;(L=l3BXsVN~PdPM)|Bi%qEu0fDrj<5K#-br7&(mW)9|Sq;S@T z;nHGCE^bZzS^3Cu%dLfROWJxi#-a3#YawbwT8`k$qzGd?)UFP=!(eL2AyLjjSQ7v{#|s`kuFPLuflkW)7gkH%6&UTwckv_CWf1ItaJ`hJgBS7Xs!=b-mVXPCKUytF=WgYAc4`aYT#{#^HPRQqU5?$ z=!RDf5cM}>_b9UbD&UTUf|RzbfD#^=`lDo#MgR~P3~PXzrlt=Qi`>I0W`seqRkEf4 z%K&$Rdl*UkNh*|vLTM_aUlO^`q+3~-s>D46z*!1ZN+)NwfNktfCQE;os!$U7>u0G* zNo3B14U3Id8~Dl3GC5IDz!&F)_wG0q*H!Z-t!C zd;rrS%tcFGn{B{2rxAChTneoGBK%=N17HzQo=$9=Od+y+G98=Ks6oRBRvJd=neU!N z-$RvfG0RkMb5CrDCtR(BZ3RdATi%K%$nFfl1)jp*N+Sw#k(F?Jds%Px=~oQYbT!FT%G{9LjUb82JOaR2G1*^$?FT19_t`kbj#mh0j4e zgj=EgXcYH3cMrr_+S7yal&{#qth~EeFO!!uy27_?8_YdOkqYI98<-i@`KThHaLXFl z34?$pfw}uhYMx$sVMb4Jr zWmYeksy%Hp6!bZC17)!%2;Wd9`Kh5ZT*(EY#?<_gIeG)Re@GVR>gDJY@=}3bi%yf# zrFyZnomrIhpggQ(y=0QP-3^v}DYQTZxU|jCWB>)EAxmL+nnccoez9QtR(hW&J=NF_ zXu1$>mo~GG(uV08+ofHstL)h@jCPV0D=a0_mRop+b@Zg6*szLJ5#x3+bJ%E!P2VQ} zF=8pg{_~4u2?3wFxL7WcsKbVamZ+U?X#dn@1GH{HnD$>my14)qR)|G*0hQ9aYJ9S6 zfxDdCaLJ1#%0sCM3g1{Twkut0y89`>kg+9Xvpen$O^C_VWLWg02@2nLrbW`Ub@GOQ0Jgc)vvv(Gd^y$h9f0Y(gsQAyUfsY`e zg~WbPe3$GwBs}FW*dTi~>ZeOEhmfju)>{8zm-dI5wE0u*>|gnUJdsC>oAceeW_(xX zZOFYZ<}!E|Z0D6Bh$ta2ZY=!O0n#bjQL!ie&MA*tN_2F|VRWB|mtoPQ!jOs}1{U(br1ZRQP%i+X`@E zl5GX0$^+&;mG>0Fe2_}6Cyc&CH9$<>dqPRKB(+oufdU{NhI^&PY87V{FZ2YH8%gS7 z6htRu0y&YahC;3r8zG$#LsWTeWXup1{3%dCX`fD_F+ytW!w4CKjnE1JO8OMVFr+;e z|IMN5H-jen4&~9g(Jse~4?u4#F!Cu3mvhp%2hZ?pJC`$Ek++>D_ZES^AD*Si~43a{WVP z4*G-KIH?pvUOm}!T&Y1fDN26O4M?VXItBL{5*O1a2f7R?ZHB{wCQUu?|4#Ic{#YrN zmNdwKkBvQIlF{(!WG)5_`j3qtw6C%-Nq%+r&O}M*mj+DN7&f_qUrl@&js@82h*9hUV5J z#)D);8GmPPXu5A=9NipQf2SFiFw~1Wey0DOW>{)f-@iL3nldK$hcQuG6iAe%NCeA| z5Y^gdr)3JjO{-49svMgQSc4!@d`0ztRHW(>dd#0TM?J~=51uqHQT#*at6O-qwz+J2{C3&2PAw0T zIzmsW_}*b|5Z|5-E_jf2xI2B*3YdW^hny)EA08 z;Mt@S2{`yv@`X=S_0~52}fAx}_qxeU?udbge#nR0Q{+(o=`DtZO z3;?L^2>_~lwx%vCrg|~}vf9AHV7^<1K|PQln!tO7Kmt(^Q{U*vV;6X$016{zh=$4e zVUY)XS9GXs_|&PT((K4skiU16Gd&?dcNZOSOImIOd#yA*G8)F)m5!Gj*`ua08HGJv zNb7i073xfu#hZ$hPDTuSMnlUDc4ry*u?Ct(X0xnH=!^SV6APtxRxcHMlA%SavOWiK zK5B7Vn8oQy0x-x~x8F8hDfT476E!?35;Z(!PXa)ohfr?xP>q4WGi3C629wl{rc&k@ zqtX;=P-ml3;Gv!|YKqb}s41#YQ#2;uGk`4JWGa&TH<+MMo=d;ztTr)0J=9AEf*0PF zP7{l)e4(c=soZKRmioZ-g2DpRJA*Iw^d^J0!OMFA5MB;IFruREA+iVjVoZ&r>&Kkp zo;ZL|HI71<)p=}&r>FnIlcqnVhRD(y4nFDGTRtsU%d++&_nW@fdPRLpMcP!9Z+%!T zvbNyX=rPhtaPuD#CkvN_2ZgTu>!2|pyc|cPH!WK&z0D`hMW*YfHKuqf%)vRZ$CfQc z83vKQALfRpbK|ZA?X%@cU6?o{SNlUmhvrIw=j>vCAq&kTqX!68U>6-6AmpHXNSlE| zE~=t`CbBduG@Ig0pqoyrU_6Po!PFZxm+a{QVe~nS<1sMP5T(jncx>6F8nBWeW0+Nh zPD!;?^Q|?W!AJuKPRet(5~+U;<(oEvjnmynZv zg%Xqtg$-Wo0>d8X*lP zv@^_6wj3-j(3VctG^3X^Y=?1Y+I{Ayw_)4~@;XiRNSX*(KshnrYoH9($*{{Z00L|S zj>|N#jR^n%Dgpq|>pRFQd%#n|Vm{w#xk`y=96Y78XBFt`X-&SHy}*-BTzgH6ApP>@ zUfAg1C7~Og(Jr%DJ!8qSf0|0gF;I|25)YVQO2M@)d%#OZ_d3Hg_BuGp=w4?K!^6_g zGs-{zS<_^h`pM`hXc>!9c}9?d2TawFgZ_^LraYFYO?~y0WiXeMXDC^8&{RzGB%Zn5 zf%U%0^a4wVf##48I2TMxFlh0x=2VM!A5$BY##~PhrDqbe5|9ifKAS|XG?z-$)=jZ9 zR5~AG`s{_C8RYs(^J37DnF+_{mc;?6Yd>~To+pzIfX(q(X3WbT$cdpjC4dT30&xKH z^eVF|O$8`01!Hk&48SvmM6NbhBFL#-Z7x(M$utJAF5AE`@_#}tKPc za6n=oKSGIv$a@+h{6$sCFgg2!r4|0CcY%*#ZKR?lmciDO?7CdatDs%n{On0V%d9 zfgIRk&OyV7d#l;l)@U%jpG2Z}nzQA$lwPKTZ<{(6sA$66S<>U*YN342FeMBJ17$qi zH{{qKL0_QrWY6^=!G3q-#bR3pHg8QL~; zrODq@M+-Qw43`Ftm48cC>@*ijce4WauKCWZg8dA$l!! z0UMpKHJ&MbqDY`mewwd34|dOPbFI%Zvqq$wER`HNq#6Nh|BHvzYskO+_n?9Bg+7iu z;IGctK9>Ej>^HBRN?l7-=0SME*rZ@mSCS((ON~?kB|xx8c$ho7Gi49$3=jZ=u!xQa zxHm*}7=&(8Q(^`Cj{8DS8JQVmS&T}_#UM)wgszWLv&>UW4hCChO0eKmWntuC z*qPL$1Oy8-Glf*mM0VK&E;J_ZD9JE_Ju$_T@2?8A)G8y`R^(f7P3+6omVa8tn9spE zj8M~l(>V19^%1p|azL4&KQ3Q@+>BPz0oeY(iK`*${FpF_|DLbsTNr5|1is$9hPcmZ zCFK1xTEhw~G6dAwFEuKl!X=l%A=xvmfP&_-U5k8)Q^y*K4L8@DBl-Wqy__p0-=YI1 z*ajK`ixLW*PiZ*JFYrC~3<`!c)R1tDkm#<52=c-w&G{&ioPE+>LB_hm70daK_1ldyu5Riy~ z0uhYUNE1$Ec^3OiMe74)5_p}cM1-TVR3e6uRh8G^vD6J1YRsV>>nYdB+whyU+{rY?ifHw9#fsBC-a$tCO_ZR!G?-2WDGKB`Xv| zAK9FM)NUnN06-PgPr&&CU9@4Z*?+UvT3rhJv+4}gXb&p}TLTXH8giA-^|m8p&sy_o z{s`q+tc1Fju{V;m{u27w1`42$tiUiv+7x1ly_O>Jg&p}6800MNKHNd*=1ORj$0D;*Z zd{gX=Av4mnQkD(?<48=WdK3sa7)K8>AYIEx-N~kOtrSHO%Q&rA>SlDF;n4}!=1raA z`1V+l_iiYF0T>fOttlf#Am4iznK51~l)6GW3;@cRt)eS*>n|$tb|Ennv@)=r)=ki= zfDvdJT9MMx*w@(&%{7=%7v(OnvA;0XfHR!Z7k)FKNU-urvM6no`tv))H}M&9hVYFr zkNkB*ayY}_i~PyzM{0$tDBB@DGa4O2)489y#gr-B^*^1_ID&a|jgLz=#JnXcRp7*_ zd!XG&a#Ap)y)ltaKS6B-ey~6eolr_K=E>3zm2!;!Z+=B|6%fF zK2qSAFC03R;Jd*b_wBx`sRxi>dtN;)_^TcTUh6+GTaO5MWX6_jYZ3a6>4O9g(>wfo z{N`TLzSTFYRVr=1Cr6Hez4!JT=3syMVr`+0F8Hrr#(T{q@*&*O|I%YxR{>r0@4d#y zVgJT<*d@~gX~QL!sCUVq6Nb-8^hBCN^`ASad2KYN4HQqm8bA`B7DK3G96}=AA>`z7 ztw2hK(p01L%12sgAeE*kv+uo0Pzr%>TG#fD7DnysP!O`#6Ivx`ri)H!h00*r(4=p@ z;FdN`j(@00)H?tywy~VC*@0y6M_M%+K=yv58!#!9hSd0$>{63-b7W0jiM4m~7 z=y-=doAn;>a4fH%*iw(rEA7+$yBvnhdT5Rs^Fh@um{{c)bix6fYXDS3&B;pX?HJdmBo~IknENtl= z4uF)>WJici}G5`ErzocRAFMrGoA=}~~`KP{tClg*1?EWjd5_{{ICqlO? zY*DIYYo&1T6B2vm1nE7(LgN!bE)&RM*SZGa;wool)K?{=edF=jGwo zsm9TUPvrEK`rX=LZG!a@e5bCH<%ngv`FryN=GIDk;bX}mPZTQnE%Fg@gmhIfNsIYJ zakuFyQ-Ae6wM^xdwYT=)OOSXDOHf3CGWfYEWHud)Q(67Q0VmC(Sy$=Q{bJoyx} z&9IS11co}C=6Jg)h@R#^@6h@==qRaPWhs$0zvY^3EcSmh(^k@*q**LaIA+JW<5tG4idz%+Xx!SkC*sz} zZH(I-w~rvJCAjX3xQlU@$cKlldR#U(COn|10SeWpCXf|95)4&I;eC zl^>KlNY8>(^>cBqs0%BEF8m>WD*hHPZXm%c$tY4O@`55tZA|#Il%X$Flgt=fH7I$< zV;~Sv38mD2gHoCx9fm51dy8#6fxHF_xfW|vS;iAJ0Ql&U0 z;*NP8InvYCHt>ChJTK4;I9KnuHOAAaw>rTK#sM(JJ8sE1g-*S>flpBs({JX0DtgCF zvd&Tez+mb+%H!|2A$r_6I>AeQV(IA4TY+=kosuVd3z_!3q4P-nQ32CM?a zfgipRw2{Y2(nS6%@d5ml7>3RY!%>;;6ZUW$^)6Z#GD%1II_))3ns17iEIeeYM4MhW zO_P_Zf5MN@#mYY`hvg_Rh~Vhh1nSwOM<*|Uz0M3W3|sZQW<*nvvgV97TgEao?FhIG z8`2O_JyUxqggHPk@{)mPwOrmK>>;3bRbgx@hRXDv zEH4&Yj4%&vj(H6*B)~znJiI_62^X~@8Cx5>z|u}a&^*gLE~pj{?b#>3cXITwsNTRV z;f+QR4P%Wg`xZvQa?7V1@4Nc7(ODT~Qtc*{P=H}NgVX-v*U+;`Mn6~q^1a@nc8fV; z(_w}0op!q;wl$*5ktO5cTa(6&RUAa%mrZgowv*}$T8WHpM)PzfsVtYU4$WBuN0^4$ z9+km6mGdsXVW`J{jJ5rsA>HqGX?-j-m#~9>XsK-rk8I5xn#g{;e*B27uMO8@61m=1 ziR%$rvEEjw)^p4xd8HrwNi6C{W(TfI5&dDU;9@Vh=%|yPdJAYSrBdakxq{#*VjcxH z)w$k907@s(n`smpj1$-c-8O@QMRNt=R5bH6fN#Ry_)DP+z4M_6I45g_x#{L*hI-R> z6nf`T9$U;(1tFYtWGiiwov-rVL(;a|%FrBgU@NpumjIME#(J6ZMgygwyfyG*dc4Xz z%YSp5?Q2=2LkanRF#i8-1LGgEJ|P(NAB=zSJ~lD_KevJL@3>|BxAy<*4_mZ=!u=;- z5%#Op>>ni|r+)=P-$?!wA@)$`1QVYOhrB8|K9_$LzFEB*y!4#D9?l!T3qO;iS+`od zW0iZ)@+w--Ra)}!9P?kOzxfgIH2&Be20COSe9yU5<&{m!07$Q%C3DhxDGpMo;VAlB zY61G4{%JVD^rJx|IY%Kofqj9_I5A5Az>)xD^sBMqa^40EcE;%!l6h3kLqC(HN7Q2J zC#vjb_^uYVXwXvG0WU*K9ZnwE2nYR)qsxE-u^%{ki9RQ-pM*nipEAD-1;b9aOCK;@ zk6|%Q?;|)<3%z8d{fD8Vo_&?(Q1pZkI^^fj-9i|EVU!wfA_g!>I@eH(0n!lTE+&bu zseu@G4t>a%3U0MSoz@tl6USd>p)p8vD>3wF+NKc#D>6c0##`xGuxyH5DCHUYHAAGa zmqH`@#hzL8Ylgva=%h9T+11Wb`=uoqz%LY?nSd^)tAIRC))mn6k{IFRp;^%Si z!%=WG2Yu|jSeOSXVu#xgIw)r zX99sQs<#t+w7poar>=5v;Im2zXS5I_uwAbM7$`3QZoTGNlU=TdEKN#&44MYcsKB|W zchc*v{(~|0i?YzFsNO<$_oYpn0ULNopbcmm4wg#wCfW$=3i~<$u2;#WeiUDUfPC~@q&7p9PV#li0dUXXaGeQVIpXhKHzlaOX~%q544xzdY&vCXfH<*fy|>} z_VqGqP245g9|n8I=#ZQYla59;ezkc)eOq#TlYJ42B%?Rm zOGFwf$RO_B@ZFyO)82K5HI;1fdv742iKKABS9B2K3W$Z?i7WyMMX*rB0zwobg08yuj^)iw#P+>^-o8Jd$#=gb)9%Tc zJ7>~tAh z(UeACPBXM#A%j~3q*N!fby8hs2~)@(AuH&lx{SpA&e7dl3lEUtU{f~zC)B1NTwOwk z;OZe?fU7I%5L`X<1Gu`84#CyKzMhqaf6l$*J=q3kj^y&1Y2ZeBz&DI%_$qG6nvjWVdL1&s`oygF6z`-$1&G}eR zXKlvNd=P5@J-~`|LIal6d4Oesa6{+;_CGp#!Ek3Iz4eOq716&@T`7tyID#IitTO;=sSj z!x<6Ok>sObNJj33I5e3v`~??AWHGJkX|PP@1e4&?EZt+`Z>l@{d!q~@@knu`Ek@4q z2i7nQV9*ThNY)MzIHk}HVKhRSJxrVj$T6a`49iBq1h@^V8%F(hRbw(Tq0A0u!6#pr zMFL1|e9gqMUox?Q5z2t(_t{;HPzVMo>wmM@G#tylot*SMi%f>>n%~*ww0ca0nIfTr>jrW+t>pwL9VP8$> z5~okHh&;q|e828VWkTK4?Q`AJlnHfD_b+r$J0|4Jgs(aC-Itu1!HhSjYE9HuADF;2 zVbNryX&MS@En9T*%@a&p$_yhhlH~u;W@zCVvPm!n$~efV5MYMu>(OK$Fa^puSmvXr zL(_DbNbz|xH6b&x}1~dvmQ3m6RXg}AXOZZq`UV)E+Pra|V-JeTk$;;-g7jDM3 zOW&X_cXwsvcRNKn6dG@=`t1=ve9Dxek%pcP`p!@Cf`@Fndz^35y`;J&<8?qnLPDu1 z!nJTUEXE-OHI18$7RM$q=6M2 zvW!VDv;|(HJqam>mFgmKlICuh}x5CWX;{>BgYr}gc0IUesMi= zd9xmpu7Bs?iN!148-|#&-_Z(~X*jiQeAF6gRC3@{&y`1tGOmXNvH$AnwRnylqjTdX zjEz3G*%CSG6hzQs)B~q3Ql2XHnCzdf&+6qzO+{0 z13ND2%-cp>fnof%#bJmGmdrJYwnX`+R1+5@@;Y14+^O-IsCpR|SsUKUi?Fbc@EsNc zk!H!BE2Ft44_EM1y@aU6O2dwl-mi|HNI`5&l^zt~P&4L_S5xQnBJWs9lR2V#$%S0D ze%Dk=aHyA%s+m52f#5MAXtYw9bO*Par3(UzQx_{IU|oYvJ=>5Vn;V+zbm_CmF%}U( zu>q8AXsz6c-CD`lL%SmMlRY?!(`b#DC(0t$3hA0gtCX9p;mL?ooF3xH9D5#Z8tc}b zz}qVqC{5=NUE`){ca?^+CDK2Lt{kcA4L8{l6S9rR&G^@V8bs;$&y+V-npn1|LeG`Q zu&9;(vRPAPwTtw(ii5^b(jzfevTUB9&oa#nzvewnbU!Apo(A@pA-bN_BX%>wf z*RFt*W)g17%1xRshM;p>O5|gK9Rno>Nh{Jc8FVS1A*|euSoydK(3XY<#jjMw zve$|B*w5P^RhZ+k~c#E1F11FLBY~E~;mA%okjh zCWurC2X{%T=3k9A(Yw@wA+3_=Drt}&U*d6xrzzc)e0TMWNlES2ss6)K6YU1W1Hrre zv96(LauFJ2hE(}*{dzfmYq+ZQT+7#%el25OJxCb8HKBC(m{+c7NEa%Mi$Pel*P^{` zT(0W=cxmaO;2SJQ#DsW=4B%Cc7XmG4QZJl75V@ z%Ji?!@~_KEJUf_uGVOJFLc1!fy(7E5GiQ(@d(g9El9^|s0-*J4Q8yr zn!ACPmt>rGPr)pw!wRl{$+`U@;eGM_GM(kB1pH`!uRZGmR75mo818UWa zP7_N`i5TgDS>ni9 z@$s|r%(Lp;b41}e@ehh~^0IU4%JW3^d2!u&`MLAzrUv3-gSfRp-qE1$Y$UoH#kU&e zcN^6YnusS&;ulTwz9#kiW-Cf_Ag%e3ar3o-7p#~U0xd2a;#|1Kwe`S2XexeLaV;6& zhG7mrg5^hWN6aA%0PUw3)E&XyW;$$y6DXWdKfIB9@K~DfTwtt(#W1y1n}ggFzysRn zAy64cP~Cg>G>RTM73*G~iPb-6vTVMI)o)_;n^^rOR{xL1s^fnrR)JF*ZiRO-;bhN5 z$c@!cuXkW^8g4U4r?sL8{wW83tG~bkhtu#8AG0mL$c}z*4(`un4FYe{a68QQJ{W!! zUrlj+%mnlZrVqGv6t^`tdCu%#rjZA?xPf`ca3|xwcb`(pvzfsem`Zs8WArpjbv2p5 z_c)GItf?^C!f`yp`1%0W$97=oQa3Q{1gzmnX94cs{u;$6V2ybeEYNrYkDySkSfEqR z^aeZAAsq{CKh=i;uH3+@bXY&bo&`o^z`{{uSRk4F(&EknnPsrWg_*c5CH8w3*pUg7 zDPAn_J`)c&-ZAx4JJ2uR9h79jcAm|JH@(2=dxAXDU7%LtG7T~LmO_Dy+pauDv7eW%! z4zs`}9?J*B6~Zdl(m+`uF82R?ef_Doh3Ov~_}i;(&~+4N1B)U^{F6-JR0OHk&xibX zge3e`1WA}t1T2f;Un2ehvBi-3+6sV{Ko0&;^YP}St-~FZmf%j<{RVKS1fOGSkJuxt M;G^y40F_zf-?s*Zga7~l delta 30024 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 a008~=X#wpi(hV>G0000Y(-?sS!{7g{{}>rw zGcq#v0zJyY$iOgR@0nXGf$aazW-69KU)j$xI-01pGX7`KWMTT7|K}fbEdwJ%DpII` z0_iUhb0CQ=X8HBE;L}Gd=O}>B2?i!px7KQ|H$v(K7agv zXx|QDAU_!>Cj`W?f7qA|fi&BH28L%$zy2|G09|_k=!#E3CvIhAU`+YW`b}p4ncL-h zh9=KUEFJFbJ#({+`~MeNpr?SY`@e>P0caH?!^J;;|20A_#7^zryfJm_`t`xsWg((W z_$2=ULl2)kNDi+7jEulIAOP?hKtL~8ngy>SpdVNn8UEo@gVzO&OpMR}{{R0Tp8>-_ Y&etR5{?3IP_&{FqboFyt=akR{03fq>-v9sr diff --git a/public/icons/docs/handlebars/16@2x.png b/public/icons/docs/handlebars/16@2x.png index 426288c71d81861fc958c541870af5b44802cbc2..c9ff8c342151042e9f17e82df95baac86f9aed6b 100644 GIT binary patch delta 509 zcmVBYy$iNklml_O`~U3~RSh8PvAT7`1JN zjcUZM-3GPsruaYmi@%q=!`s<0<&X?=$iY^PtGZIm1P{2D*yl=PhA-=v$vbaRx2&u5 zsgBfl^EunvZM2${EPN&EJC?r6mHOOv?P?aI0P=A#IQ<0v3V-7(-_lw-txSpU=TXi- zdrHjj-=7NPC2H3#>RDp8tHfF^iWpo8j9-Iak@+1@ijl1M)U+aw65H8X96n*jvq8Yq z-I_HkL4a%NgYkbG`Zw?;>*Oe7z+YqIq}ST4(7j#b^8AK&iS;b;iY-M&uT8xwomy&@ z97~*I-BEfU@_&>u?4QwlR6H7E7>n;maUDu=4+(Ewzii&gC9@{(hqjZogx!K~#2C-9 z{%OO>Zq-1;$B!f{Ig6QhUr3anfQzS3-Z+2a=nnp7jn80nCfUx|ZOyvGz}%z3{Q<%Oo7XQG*$&t-;8Cz~-2g|yr~@_+umg5% zT04IvJ7DAK0gZy)n>Xfc-?%=85;I1@C>R9*5gAol3cGI*00000NkvXXu0mjfoBjf- literal 4217 zcmeHIO-NKx6h7y^H`AzCWLS(2s?hIkhoKC4~tSEf*3kA`5?}W}JIE*IW$al*(N?2kv|K{NC?=_q_YA94g-* zADbKt0P${@vx47tHEdRX);Bgz^DE|ztGXT_Zi5;Kckd+uBxJdrg-4FXpgrO9B*#Q0 z%D^gT0GG3WM}Ah4kbydm-315|2;U0`+8Hwfqkc35f84ZBc#JVl4&^H0HBq&XRLbkDQQ<(oZ zB3w?ik6dbLfuQm^9Cn*AZ9Pi}i4rVVJ@33<(V3UJPNF%+{9?g|VSYvx55yVb+DqAb@4hkvzYtgG*>BIvJwYy`=kiZ zz}P4wYEb$=lGIP-77CH^s&AyUdtkV|DMGBWDIdoiP_g_q+~m9|9+8CEhjX5{!{dAu zf5n-Xxl;;R14P@IUO@yS?CBz(<&DSdRUj5gCM0I$Bvk3fU{ z`Bd#A(Cs2^0K}rhf;Ir1#Z|5*03yEgwLU{rX9s)-HU}mC(5Vs4jWQ5rpizF`a@?I> PqnL0PmpfaF>Mr~N8w3F- From 7d3c6bd97096f9b6d7ae5723c8e61e60a0cee2b1 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 7 Oct 2018 10:28:28 -0400 Subject: [PATCH 48/65] Force HTTPS --- Gemfile | 1 + Gemfile.lock | 2 + assets/javascripts/lib/page.coffee | 2 +- .../templates/pages/root_tmpl.coffee.erb | 11 ---- .../views/content/root_page.coffee | 4 -- lib/app.rb | 2 + test/app_test.rb | 52 +++++++++++-------- 7 files changed, 37 insertions(+), 37 deletions(-) diff --git a/Gemfile b/Gemfile index 567d4c09..d6e4e4ae 100644 --- a/Gemfile +++ b/Gemfile @@ -11,6 +11,7 @@ group :app do gem 'rack' gem 'sinatra' gem 'sinatra-contrib' + gem 'rack-ssl-enforcer' gem 'thin' gem 'sprockets' gem 'sprockets-helpers' diff --git a/Gemfile.lock b/Gemfile.lock index eb4a3210..0e177c4d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -63,6 +63,7 @@ GEM rack (2.0.5) rack-protection (2.0.4) rack + rack-ssl-enforcer (0.2.9) rack-test (1.1.0) rack (>= 1.0, < 3) rake (12.3.1) @@ -140,6 +141,7 @@ DEPENDENCIES progress_bar pry (~> 0.11.0) rack + rack-ssl-enforcer rack-test rake rr diff --git a/assets/javascripts/lib/page.coffee b/assets/javascripts/lib/page.coffee index 8df7422e..5d3f6c88 100644 --- a/assets/javascripts/lib/page.coffee +++ b/assets/javascripts/lib/page.coffee @@ -190,7 +190,7 @@ isSameOrigin = (url) -> updateCanonicalLink = -> @canonicalLink ||= document.head.querySelector('link[rel="canonical"]') - @canonicalLink.setAttribute('href', "http://#{location.host}#{location.pathname}") + @canonicalLink.setAttribute('href', "https://#{location.host}#{location.pathname}") trackers = [] diff --git a/assets/javascripts/templates/pages/root_tmpl.coffee.erb b/assets/javascripts/templates/pages/root_tmpl.coffee.erb index ef5ee8e6..b5369403 100644 --- a/assets/javascripts/templates/pages/root_tmpl.coffee.erb +++ b/assets/javascripts/templates/pages/root_tmpl.coffee.erb @@ -72,14 +72,3 @@ app.templates.androidWarning = """
-

Hi there!

-

DevDocs is migrating to HTTPS. -

Please update your bookmarks to point to https://devdocs.io. -

When using the HTTPS version, your preferences will carry over automatically, but your offline data will be reset. Simply re-download documentation in the Offline area, and you'll be all set to use DevDocs securely offline. -

Sorry for the inconvenience. This migration is needed because browsers are removing support for certain DOM APIs that power DevDocs's offline mode over non-secure origins. -

Thanks for using DevDocs, and happy coding! -

-""" diff --git a/assets/javascripts/views/content/root_page.coffee b/assets/javascripts/views/content/root_page.coffee index e442887a..b48a1df3 100644 --- a/assets/javascripts/views/content/root_page.coffee +++ b/assets/javascripts/views/content/root_page.coffee @@ -19,10 +19,6 @@ class app.views.RootPage extends app.View else 'intro' - # temporary - if location.host is 'devdocs.io' and location.protocol is 'http:' - tmpl = 'httpWarning' - @append @tmpl(tmpl) return diff --git a/lib/app.rb b/lib/app.rb index b5015b3a..f8ef0454 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -12,6 +12,8 @@ class App < Sinatra::Application Rack::Mime::MIME_TYPES['.webapp'] = 'application/x-web-app-manifest+json' configure do + use Rack::SslEnforcer, only_environments: ['production', 'test'], hsts: false, force_secure_cookies: false + set :sentry_dsn, ENV['SENTRY_DSN'] set :protection, except: [:frame_options, :xss_header] diff --git a/test/app_test.rb b/test/app_test.rb index 5401e3ae..4e836a19 100644 --- a/test/app_test.rb +++ b/test/app_test.rb @@ -11,6 +11,16 @@ class AppTest < MiniTest::Spec App end + before do + current_session.env('HTTPS', 'on') + end + + it 'redirects to HTTPS' do + get 'http://example.com/test?q=1', {}, 'HTTPS' => 'off' + assert last_response.redirect? + assert_equal 'https://example.com/test?q=1', last_response['Location'] + end + describe "/" do it "works" do get '/' @@ -20,13 +30,13 @@ class AppTest < MiniTest::Spec it "redirects to /#q= when there is a 'q' query param" do get '/search', q: 'foo' assert last_response.redirect? - assert_equal 'http://example.org/#q=foo', last_response['Location'] + assert_equal 'https://example.org/#q=foo', last_response['Location'] end it "redirects without the query string" do get '/', foo: 'bar' assert last_response.redirect? - assert_equal 'http://example.org/', last_response['Location'] + assert_equal 'https://example.org/', last_response['Location'] end it "sets default size" do @@ -52,7 +62,7 @@ class AppTest < MiniTest::Spec %w(offline about news help).each do |page| get "/#{page}", {}, 'HTTP_USER_AGENT' => MODERN_BROWSER assert last_response.redirect? - assert_equal "http://example.org/#/#{page}", last_response['Location'] + assert_equal "https://example.org/#/#{page}", last_response['Location'] end end @@ -61,7 +71,7 @@ class AppTest < MiniTest::Spec set_cookie('foo=bar') get "/#{page}", {}, 'HTTP_USER_AGENT' => MODERN_BROWSER assert last_response.redirect? - assert_equal 'http://example.org/', last_response['Location'] + assert_equal 'https://example.org/', last_response['Location'] assert last_response['Set-Cookie'].start_with?("initial_path=%2F#{page}; path=/; expires=") end end @@ -71,11 +81,11 @@ class AppTest < MiniTest::Spec it "redirects to /#q=" do get '/search' assert last_response.redirect? - assert_equal 'http://example.org/#q=', last_response['Location'] + assert_equal 'https://example.org/#q=', last_response['Location'] get '/search', q: 'foo' assert last_response.redirect? - assert_equal 'http://example.org/#q=foo', last_response['Location'] + assert_equal 'https://example.org/#q=foo', last_response['Location'] end end @@ -148,7 +158,7 @@ class AppTest < MiniTest::Spec set_cookie('docs=html~5') get '/html~5/', {}, 'HTTP_USER_AGENT' => MODERN_BROWSER assert last_response.redirect? - assert_equal 'http://example.org/', last_response['Location'] + assert_equal 'https://example.org/', last_response['Location'] assert last_response['Set-Cookie'].start_with?("initial_path=%2Fhtml%7E5%2F; path=/; expires=") end @@ -161,13 +171,13 @@ class AppTest < MiniTest::Spec set_cookie('docs=html~5') get '/html/', {}, 'HTTP_USER_AGENT' => MODERN_BROWSER assert last_response.redirect? - assert_equal 'http://example.org/', last_response['Location'] + assert_equal 'https://example.org/', last_response['Location'] assert last_response['Set-Cookie'].start_with?("initial_path=%2Fhtml%2F; path=/; expires=") end it "renders when the doc exists and is enabled, and the request is from Googlebot" do set_cookie('docs=html') - get '/html/', {}, 'HTTP_USER_AGENT' => 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' + get '/html/', {}, 'HTTP_USER_AGENT' => 'Mozilla/5.0 (compatible; Googlebot/2.1; +https://www.google.com/bot.html)' assert last_response.ok? end @@ -187,17 +197,17 @@ class AppTest < MiniTest::Spec it "redirects with trailing slash" do get '/html' assert last_response.redirect? - assert_equal 'http://example.org/html/', last_response['Location'] + assert_equal 'https://example.org/html/', last_response['Location'] get '/html', bar: 'baz' assert last_response.redirect? - assert_equal 'http://example.org/html/?bar=baz', last_response['Location'] + assert_equal 'https://example.org/html/?bar=baz', last_response['Location'] end it "redirects old docs" do get '/iojs/' assert last_response.redirect? - assert_equal 'http://example.org/node/', last_response['Location'] + assert_equal 'https://example.org/node/', last_response['Location'] end end @@ -232,17 +242,17 @@ class AppTest < MiniTest::Spec it "redirects with trailing slash" do get '/css-foo' assert last_response.redirect? - assert_equal 'http://example.org/css-foo/', last_response['Location'] + assert_equal 'https://example.org/css-foo/', last_response['Location'] get '/css-foo', bar: 'baz' assert last_response.redirect? - assert_equal 'http://example.org/css-foo/?bar=baz', last_response['Location'] + assert_equal 'https://example.org/css-foo/?bar=baz', last_response['Location'] end it "redirects old docs" do get '/yii1-foo/' assert last_response.redirect? - assert_equal 'http://example.org/yii~1.1-foo/', last_response['Location'] + assert_equal 'https://example.org/yii~1.1-foo/', last_response['Location'] end end @@ -263,17 +273,17 @@ class AppTest < MiniTest::Spec it "redirects without trailing slash" do get '/css/foo/' assert last_response.redirect? - assert_equal 'http://example.org/css/foo', last_response['Location'] + assert_equal 'https://example.org/css/foo', last_response['Location'] get '/css/foo/', bar: 'baz' assert last_response.redirect? - assert_equal 'http://example.org/css/foo?bar=baz', last_response['Location'] + assert_equal 'https://example.org/css/foo?bar=baz', last_response['Location'] end it "redirects old docs" do get '/python2/foo' assert last_response.redirect? - assert_equal 'http://example.org/python~2.7/foo', last_response['Location'] + assert_equal 'https://example.org/python~2.7/foo', last_response['Location'] end end @@ -281,7 +291,7 @@ class AppTest < MiniTest::Spec it "returns to the asset path" do get '/docs.json' assert last_response.redirect? - assert_equal 'http://example.org/assets/docs.json', last_response['Location'] + assert_equal 'https://example.org/assets/docs.json', last_response['Location'] end end @@ -289,7 +299,7 @@ class AppTest < MiniTest::Spec it "returns to the asset path" do get '/application.js' assert last_response.redirect? - assert_equal 'http://example.org/assets/application.js', last_response['Location'] + assert_equal 'https://example.org/assets/application.js', last_response['Location'] end end @@ -297,7 +307,7 @@ class AppTest < MiniTest::Spec it "returns to the asset path" do get '/application.css' assert last_response.redirect? - assert_equal 'http://example.org/assets/application.css', last_response['Location'] + assert_equal 'https://example.org/assets/application.css', last_response['Location'] end end From ad7e1bdc4b2c300e295c63000df1258c32bb7480 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 7 Oct 2018 11:07:55 -0400 Subject: [PATCH 49/65] Simplify 'simple' CSS --- assets/stylesheets/pages/_simple.scss | 32 +-------------------------- lib/docs/scrapers/apache_pig.rb | 2 +- lib/docs/scrapers/bower.rb | 2 +- lib/docs/scrapers/chai.rb | 2 +- lib/docs/scrapers/codeceptjs.rb | 2 +- lib/docs/scrapers/docker.rb | 2 +- lib/docs/scrapers/electron.rb | 2 +- lib/docs/scrapers/fish.rb | 2 +- lib/docs/scrapers/flow.rb | 2 +- lib/docs/scrapers/gnu.rb | 2 +- lib/docs/scrapers/grunt.rb | 2 +- lib/docs/scrapers/haxe.rb | 2 +- lib/docs/scrapers/immutable.rb | 2 +- lib/docs/scrapers/influxdata.rb | 2 +- lib/docs/scrapers/jasmine.rb | 2 +- lib/docs/scrapers/jest.rb | 2 +- lib/docs/scrapers/less.rb | 2 +- lib/docs/scrapers/lodash.rb | 2 +- lib/docs/scrapers/marionette.rb | 2 +- lib/docs/scrapers/markdown.rb | 2 +- lib/docs/scrapers/mocha.rb | 2 +- lib/docs/scrapers/mongoose.rb | 2 +- lib/docs/scrapers/nim.rb | 2 +- lib/docs/scrapers/redux.rb | 2 +- lib/docs/scrapers/requirejs.rb | 2 +- lib/docs/scrapers/typescript.rb | 2 +- lib/docs/scrapers/vagrant.rb | 2 +- lib/docs/scrapers/vulkan.rb | 2 +- lib/docs/scrapers/yarn.rb | 2 +- 29 files changed, 29 insertions(+), 59 deletions(-) diff --git a/assets/stylesheets/pages/_simple.scss b/assets/stylesheets/pages/_simple.scss index fe36579d..64157a86 100644 --- a/assets/stylesheets/pages/_simple.scss +++ b/assets/stylesheets/pages/_simple.scss @@ -17,34 +17,4 @@ blockquote > h4, blockquote > h5 { margin-top: .25rem; } } -._apache_pig, -._bower, -._chai, -._codeceptjs, -._docker, -._electron, -._fish, -._flow, -._gnu, -._grunt, -._haxe, -._immutable, -._influxdata, -._jasmine, -._jest, -._less, -._lodash, -._marionette, -._markdown, -._mocha, -._mongoose, -._nim, -._redux, -._requirejs, -._simple, -._typescript, -._vagrant, -._vulkan, -._yarn { - @extend %simple; -} +._simple { @extend %simple; } diff --git a/lib/docs/scrapers/apache_pig.rb b/lib/docs/scrapers/apache_pig.rb index 32bfa2d1..65897a78 100644 --- a/lib/docs/scrapers/apache_pig.rb +++ b/lib/docs/scrapers/apache_pig.rb @@ -2,7 +2,7 @@ module Docs class ApachePig < UrlScraper self.name = 'Apache Pig' self.slug = 'apache_pig' - self.type = 'apache_pig' + self.type = 'simple' self.links = { home: 'https://pig.apache.org/' } diff --git a/lib/docs/scrapers/bower.rb b/lib/docs/scrapers/bower.rb index a86f5449..b032f1d3 100644 --- a/lib/docs/scrapers/bower.rb +++ b/lib/docs/scrapers/bower.rb @@ -1,7 +1,7 @@ module Docs class Bower < UrlScraper self.name = 'Bower' - self.type = 'bower' + self.type = 'simple' self.release = '1.8.4' self.base_url = 'https://bower.io/docs/' self.root_path = 'api' diff --git a/lib/docs/scrapers/chai.rb b/lib/docs/scrapers/chai.rb index e299771f..9d8aa4d2 100644 --- a/lib/docs/scrapers/chai.rb +++ b/lib/docs/scrapers/chai.rb @@ -1,7 +1,7 @@ module Docs class Chai < UrlScraper self.name = 'Chai' - self.type = 'chai' + self.type = 'simple' self.release = '4.1.0' self.base_url = 'http://chaijs.com' self.root_path = '/api/' diff --git a/lib/docs/scrapers/codeceptjs.rb b/lib/docs/scrapers/codeceptjs.rb index 6fd2798c..7d5e4871 100644 --- a/lib/docs/scrapers/codeceptjs.rb +++ b/lib/docs/scrapers/codeceptjs.rb @@ -1,7 +1,7 @@ module Docs class Codeceptjs < UrlScraper self.name = 'CodeceptJS' - self.type = 'codeceptjs' + self.type = 'simple' self.root_path = 'index.html' self.release = '1.3.1' self.base_url = 'https://codecept.io/' diff --git a/lib/docs/scrapers/docker.rb b/lib/docs/scrapers/docker.rb index a1a6345b..92494f8a 100644 --- a/lib/docs/scrapers/docker.rb +++ b/lib/docs/scrapers/docker.rb @@ -1,6 +1,6 @@ module Docs class Docker < UrlScraper - self.type = 'docker' + self.type = 'simple' self.links = { home: 'https://docker.com/', code: 'https://github.com/docker/docker' diff --git a/lib/docs/scrapers/electron.rb b/lib/docs/scrapers/electron.rb index e71690a3..3cb399f0 100644 --- a/lib/docs/scrapers/electron.rb +++ b/lib/docs/scrapers/electron.rb @@ -1,6 +1,6 @@ module Docs class Electron < UrlScraper - self.type = 'electron' + self.type = 'simple' self.base_url = 'https://electronjs.org/docs' self.release = '2.0.2' self.links = { diff --git a/lib/docs/scrapers/fish.rb b/lib/docs/scrapers/fish.rb index ac098d45..5ccfa71c 100644 --- a/lib/docs/scrapers/fish.rb +++ b/lib/docs/scrapers/fish.rb @@ -1,7 +1,7 @@ module Docs class Fish < UrlScraper self.name = 'Fish' - self.type = 'fish' + self.type = 'simple' self.root_path = 'index.html' self.links = { home: 'https://fishshell.com/', diff --git a/lib/docs/scrapers/flow.rb b/lib/docs/scrapers/flow.rb index 94fee822..72c46550 100644 --- a/lib/docs/scrapers/flow.rb +++ b/lib/docs/scrapers/flow.rb @@ -1,6 +1,6 @@ module Docs class Flow < UrlScraper - self.type = 'flow' + self.type = 'simple' self.release = '0.79.1' self.base_url = 'https://flow.org/en/docs/' self.links = { diff --git a/lib/docs/scrapers/gnu.rb b/lib/docs/scrapers/gnu.rb index f920e14e..d3f5e7ba 100644 --- a/lib/docs/scrapers/gnu.rb +++ b/lib/docs/scrapers/gnu.rb @@ -1,6 +1,6 @@ module Docs class Gnu < FileScraper - self.type = 'gnu' + self.type = 'simple' self.root_path = 'index.html' self.abstract = 'true' diff --git a/lib/docs/scrapers/grunt.rb b/lib/docs/scrapers/grunt.rb index 764f6d8f..2201c043 100644 --- a/lib/docs/scrapers/grunt.rb +++ b/lib/docs/scrapers/grunt.rb @@ -1,7 +1,7 @@ module Docs class Grunt < UrlScraper self.name = 'Grunt' - self.type = 'grunt' + self.type = 'simple' self.release = '1.0.1' self.base_url = 'https://gruntjs.com/' self.root_path = 'getting-started' diff --git a/lib/docs/scrapers/haxe.rb b/lib/docs/scrapers/haxe.rb index 70a49b0b..33f20b93 100644 --- a/lib/docs/scrapers/haxe.rb +++ b/lib/docs/scrapers/haxe.rb @@ -1,7 +1,7 @@ module Docs class Haxe < UrlScraper self.name = 'Haxe' - self.type = 'haxe' + self.type = 'simple' self.release = '3.4.7' self.base_url = 'https://api.haxe.org/' diff --git a/lib/docs/scrapers/immutable.rb b/lib/docs/scrapers/immutable.rb index 3a316ea8..fa7fb81b 100644 --- a/lib/docs/scrapers/immutable.rb +++ b/lib/docs/scrapers/immutable.rb @@ -2,7 +2,7 @@ module Docs class Immutable < UrlScraper self.name = 'Immutable.js' self.slug = 'immutable' - self.type = 'immutable' + self.type = 'simple' self.release = '3.8.1' self.base_url = 'https://facebook.github.io/immutable-js/docs/' self.links = { diff --git a/lib/docs/scrapers/influxdata.rb b/lib/docs/scrapers/influxdata.rb index ef8ca5d9..6c83b66b 100644 --- a/lib/docs/scrapers/influxdata.rb +++ b/lib/docs/scrapers/influxdata.rb @@ -1,7 +1,7 @@ module Docs class Influxdata < UrlScraper self.name = 'InfluxData' - self.type = 'influxdata' + self.type = 'simple' self.release = '1.3' self.base_url = 'https://docs.influxdata.com/' self.links = { diff --git a/lib/docs/scrapers/jasmine.rb b/lib/docs/scrapers/jasmine.rb index eef52115..bc1ba94d 100644 --- a/lib/docs/scrapers/jasmine.rb +++ b/lib/docs/scrapers/jasmine.rb @@ -1,6 +1,6 @@ module Docs class Jasmine < UrlScraper - self.type = 'jasmine' + self.type = 'simple' self.release = '3.2.1' self.base_url = 'https://jasmine.github.io/api/3.2/' self.root_path = 'index.html' diff --git a/lib/docs/scrapers/jest.rb b/lib/docs/scrapers/jest.rb index e20f148f..f4ce944f 100644 --- a/lib/docs/scrapers/jest.rb +++ b/lib/docs/scrapers/jest.rb @@ -1,6 +1,6 @@ module Docs class Jest < UrlScraper - self.type = 'jest' + self.type = 'simple' self.release = '23.5.0' self.base_url = 'https://jestjs.io/docs/en/' self.root_path = 'getting-started' diff --git a/lib/docs/scrapers/less.rb b/lib/docs/scrapers/less.rb index bf5c1607..a0947e1a 100644 --- a/lib/docs/scrapers/less.rb +++ b/lib/docs/scrapers/less.rb @@ -1,6 +1,6 @@ module Docs class Less < UrlScraper - self.type = 'less' + self.type = 'simple' self.release = '2.7.2' self.base_url = 'http://lesscss.org' self.root_path = '/features' diff --git a/lib/docs/scrapers/lodash.rb b/lib/docs/scrapers/lodash.rb index fa566e5e..0461f7b7 100644 --- a/lib/docs/scrapers/lodash.rb +++ b/lib/docs/scrapers/lodash.rb @@ -2,7 +2,7 @@ module Docs class Lodash < UrlScraper self.name = 'lodash' self.slug = 'lodash' - self.type = 'lodash' + self.type = 'simple' self.links = { home: 'https://lodash.com/', code: 'https://github.com/lodash/lodash/' diff --git a/lib/docs/scrapers/marionette.rb b/lib/docs/scrapers/marionette.rb index 6171e028..fea6617f 100644 --- a/lib/docs/scrapers/marionette.rb +++ b/lib/docs/scrapers/marionette.rb @@ -2,7 +2,7 @@ module Docs class Marionette < UrlScraper self.name = 'Marionette.js' self.slug = 'marionette' - self.type = 'marionette' + self.type = 'simple' self.root_path = 'index' self.links = { home: 'https://marionettejs.com/', diff --git a/lib/docs/scrapers/markdown.rb b/lib/docs/scrapers/markdown.rb index 6dc7b020..87e9c957 100644 --- a/lib/docs/scrapers/markdown.rb +++ b/lib/docs/scrapers/markdown.rb @@ -1,7 +1,7 @@ module Docs class Markdown < UrlScraper self.name = 'Markdown' - self.type = 'markdown' + self.type = 'simple' self.base_url = 'http://daringfireball.net/projects/markdown/syntax' html_filters.push 'markdown/clean_html', 'markdown/entries' diff --git a/lib/docs/scrapers/mocha.rb b/lib/docs/scrapers/mocha.rb index c358a79b..2e4f5b5b 100644 --- a/lib/docs/scrapers/mocha.rb +++ b/lib/docs/scrapers/mocha.rb @@ -1,6 +1,6 @@ module Docs class Mocha < UrlScraper - self.type = 'mocha' + self.type = 'simple' self.release = '5.0.1' self.base_url = 'https://mochajs.org/' self.links = { diff --git a/lib/docs/scrapers/mongoose.rb b/lib/docs/scrapers/mongoose.rb index d6ca8a01..71ee04d2 100644 --- a/lib/docs/scrapers/mongoose.rb +++ b/lib/docs/scrapers/mongoose.rb @@ -1,7 +1,7 @@ module Docs class Mongoose < UrlScraper self.name = 'Mongoose' - self.type = 'mongoose' + self.type = 'simple' self.release = '4.13.1' self.base_url = 'http://mongoosejs.com/docs/' self.root_path = 'index.html' diff --git a/lib/docs/scrapers/nim.rb b/lib/docs/scrapers/nim.rb index 1077d98e..c21a357e 100644 --- a/lib/docs/scrapers/nim.rb +++ b/lib/docs/scrapers/nim.rb @@ -1,6 +1,6 @@ module Docs class Nim < UrlScraper - self.type = 'nim' + self.type = 'simple' self.release = '0.18.0' self.base_url = 'https://nim-lang.org/docs/' self.root_path = 'overview.html' diff --git a/lib/docs/scrapers/redux.rb b/lib/docs/scrapers/redux.rb index 3cd5b330..cd7369ba 100644 --- a/lib/docs/scrapers/redux.rb +++ b/lib/docs/scrapers/redux.rb @@ -1,6 +1,6 @@ module Docs class Redux < UrlScraper - self.type = 'redux' + self.type = 'simple' self.release = '3.7.2' self.base_url = 'http://redux.js.org/docs/' self.links = { diff --git a/lib/docs/scrapers/requirejs.rb b/lib/docs/scrapers/requirejs.rb index 357c58e5..200f1f2d 100644 --- a/lib/docs/scrapers/requirejs.rb +++ b/lib/docs/scrapers/requirejs.rb @@ -1,7 +1,7 @@ module Docs class Requirejs < UrlScraper self.name = 'RequireJS' - self.type = 'requirejs' + self.type = 'simple' self.release = '2.3.5' self.base_url = 'http://requirejs.org/docs/' self.links = { diff --git a/lib/docs/scrapers/typescript.rb b/lib/docs/scrapers/typescript.rb index b0db7daf..042bc1fe 100644 --- a/lib/docs/scrapers/typescript.rb +++ b/lib/docs/scrapers/typescript.rb @@ -1,7 +1,7 @@ module Docs class Typescript < UrlScraper self.name = 'TypeScript' - self.type = 'typescript' + self.type = 'simple' self.release = '3.0.1' self.base_url = 'https://www.typescriptlang.org/docs/' self.root_path = 'tutorial.html' diff --git a/lib/docs/scrapers/vagrant.rb b/lib/docs/scrapers/vagrant.rb index 84369b5f..1b54a571 100644 --- a/lib/docs/scrapers/vagrant.rb +++ b/lib/docs/scrapers/vagrant.rb @@ -1,7 +1,7 @@ module Docs class Vagrant < UrlScraper self.name = 'Vagrant' - self.type = 'vagrant' + self.type = 'simple' self.release = '2.1.1' self.base_url = 'https://www.vagrantup.com/docs/' self.root_path = 'index.html' diff --git a/lib/docs/scrapers/vulkan.rb b/lib/docs/scrapers/vulkan.rb index c3b23269..e1fa4b4b 100644 --- a/lib/docs/scrapers/vulkan.rb +++ b/lib/docs/scrapers/vulkan.rb @@ -1,7 +1,7 @@ module Docs class Vulkan < UrlScraper self.name = 'Vulkan' - self.type = 'vulkan' + self.type = 'simple' self.release = '1.0.59' self.base_url = 'https://www.khronos.org/registry/vulkan/specs/1.0/' self.root_path = 'apispec.html' diff --git a/lib/docs/scrapers/yarn.rb b/lib/docs/scrapers/yarn.rb index 72a88d9e..8898d17a 100644 --- a/lib/docs/scrapers/yarn.rb +++ b/lib/docs/scrapers/yarn.rb @@ -1,6 +1,6 @@ module Docs class Yarn < UrlScraper - self.type = 'yarn' + self.type = 'simple' self.release = '1.9.4' self.base_url = 'https://yarnpkg.com/en/docs/' self.links = { From 31efb9d0f79cd9cc0e23ba45a8926a318dff177f Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 6 Oct 2018 16:39:00 +0200 Subject: [PATCH 50/65] Fixed two Python 3.7 types --- lib/docs/filters/python/clean_html.rb | 6 ++++-- lib/docs/filters/python/entries_v3.rb | 22 ++++++++++++---------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/docs/filters/python/clean_html.rb b/lib/docs/filters/python/clean_html.rb index db474da8..fef7948b 100644 --- a/lib/docs/filters/python/clean_html.rb +++ b/lib/docs/filters/python/clean_html.rb @@ -22,8 +22,10 @@ module Docs end end - css('h2', 'h3', 'h4').each do |node| - node.inner_html = node.inner_html.remove @levelRegexp + unless @levelRegexp.nil? + css('h2', 'h3', 'h4').each do |node| + node.inner_html = node.inner_html.remove @levelRegexp + end end end end diff --git a/lib/docs/filters/python/entries_v3.rb b/lib/docs/filters/python/entries_v3.rb index 759e244a..2bd06de2 100644 --- a/lib/docs/filters/python/entries_v3.rb +++ b/lib/docs/filters/python/entries_v3.rb @@ -2,16 +2,18 @@ module Docs class Python class EntriesV3Filter < Docs::EntriesFilter REPLACE_TYPES = { - 'Cryptographic' => 'Cryptography', - 'Custom Interpreters' => 'Interpreters', - 'Data Compression & Archiving' => 'Data Compression', - 'Generic Operating System' => 'Operating System', - 'Graphical User Interfaces with Tk' => 'Tk', - 'Internet Data Handling' => 'Internet Data', - 'Internet Protocols & Support' => 'Internet', - 'Interprocess Communication & Networking' => 'Networking', - 'Program Frameworks' => 'Frameworks', - 'Structured Markup Processing Tools' => 'Structured Markup' } + 'contextvars β€” Context Variables' => 'Context Variables', + 'Cryptographic' => 'Cryptography', + 'Custom Interpreters' => 'Interpreters', + 'Data Compression & Archiving' => 'Data Compression', + 'email β€” An email & MIME handling package' => 'Email', + 'Generic Operating System' => 'Operating System', + 'Graphical User Interfaces with Tk' => 'Tk', + 'Internet Data Handling' => 'Internet Data', + 'Internet Protocols & Support' => 'Internet', + 'Interprocess Communication & Networking' => 'Networking', + 'Program Frameworks' => 'Frameworks', + 'Structured Markup Processing Tools' => 'Structured Markup' } def get_name name = at_css('h1').content From 0bf7155fbabc3cd0aa87a3caa2e7c4fc4cab4dab Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 7 Oct 2018 11:19:27 -0400 Subject: [PATCH 51/65] Fix missing headings in Python 2.7 docs --- lib/docs/filters/python/clean_html.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/filters/python/clean_html.rb b/lib/docs/filters/python/clean_html.rb index fef7948b..3209281c 100644 --- a/lib/docs/filters/python/clean_html.rb +++ b/lib/docs/filters/python/clean_html.rb @@ -15,7 +15,7 @@ module Docs def other css('h1').each do |node| - node.content = node.content.sub!(/\A[\d\.]+/) do |str| + node.content = node.content.sub(/\A[\d\.]+/) do |str| rgx = /\A#{str}/ @levelRegexp = @levelRegexp ? Regexp.union(@levelRegexp, rgx) : rgx '' From 45c70fb43bb8ced63cc7e4ce97aecee65b05b5f2 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 7 Oct 2018 11:19:59 -0400 Subject: [PATCH 52/65] Add support for '@all' version shortcut in thor commands --- lib/tasks/docs.thor | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/tasks/docs.thor b/lib/tasks/docs.thor index a312d714..f8154abe 100644 --- a/lib/tasks/docs.thor +++ b/lib/tasks/docs.thor @@ -175,9 +175,13 @@ class DocsCLI < Thor private def find_docs(names) - names.map do |name| + names.flat_map do |name| name, version = name.split(/@|~/) - Docs.find(name, version) + if version == 'all' + Docs.find(name, false).versions + else + Docs.find(name, version) + end end end From d1f3322fcc2687fea9c4e794e6d1ea84c135ba8c Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 6 Oct 2018 16:55:31 +0200 Subject: [PATCH 53/65] Fix internal links to method reference --- lib/docs/filters/express/clean_html.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/docs/filters/express/clean_html.rb b/lib/docs/filters/express/clean_html.rb index 97609929..0d9c5127 100644 --- a/lib/docs/filters/express/clean_html.rb +++ b/lib/docs/filters/express/clean_html.rb @@ -42,6 +42,11 @@ module Docs node.parent.content = node.parent.content end + # Fix links to the method reference + css('a').each do |node| + node['href'] = node['href'].sub('4x/api', 'index') + end + doc end end From ffc367454cbc5271fdb980213dd15bc832867ad4 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 7 Oct 2018 11:21:18 -0400 Subject: [PATCH 54/65] Update Express documentation (4.16.3) --- lib/docs/scrapers/express.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/express.rb b/lib/docs/scrapers/express.rb index 7e2b2f29..0fb4ed14 100644 --- a/lib/docs/scrapers/express.rb +++ b/lib/docs/scrapers/express.rb @@ -2,7 +2,7 @@ module Docs class Express < UrlScraper self.name = 'Express' self.type = 'express' - self.release = '4.16.1' + self.release = '4.16.3' self.base_url = 'http://expressjs.com/en/' self.root_path = '4x/api.html' self.initial_paths = %w( From 3dbc6052bf131fa37516d473e44732ed7e2ad1a2 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 6 Oct 2018 17:37:56 +0200 Subject: [PATCH 55/65] Fix Rust entries --- lib/docs/filters/rust/entries.rb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/docs/filters/rust/entries.rb b/lib/docs/filters/rust/entries.rb index e0b3ecad..eb427eba 100644 --- a/lib/docs/filters/rust/entries.rb +++ b/lib/docs/filters/rust/entries.rb @@ -42,11 +42,14 @@ module Docs entries << [node.content, node['id']] unless node.content.include?('Note:') end else - css('#methods + * + div > .method', '#required-methods + div > .method', '#provided-methods + div > .method').map do |node| - name = node.at_css('.fnname').content - name.prepend "#{self.name}::" - [name, node['id']] - end + css('.method') + .select {|node| !node.at_css('.fnname').nil?} + .map {|node| + name = node.at_css('.fnname').content + name.prepend "#{self.name}::" + [name, node['id']] + } + .uniq {|item| item[0]} end end end From 7b7aa34b7069a89cfc17b7e45956e5e84b3c1349 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 7 Oct 2018 12:04:24 -0400 Subject: [PATCH 56/65] Improve Rust scraper --- assets/stylesheets/pages/_rust.scss | 11 ++++++++- lib/docs/filters/rust/clean_html.rb | 36 +++++++++++++++++++++++++---- lib/docs/scrapers/rust.rb | 2 +- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/assets/stylesheets/pages/_rust.scss b/assets/stylesheets/pages/_rust.scss index f7f3c90c..fdf80bb1 100644 --- a/assets/stylesheets/pages/_rust.scss +++ b/assets/stylesheets/pages/_rust.scss @@ -3,9 +3,18 @@ h4 { @extend %block-label; } .docblock { margin-left: 1em; } + div.information, div.important-traits { + @extend %note; + + > pre { margin: .5rem 0; } + } div.stability { margin-bottom: 1em; } em.stab, span.stab { @extend %label; } em.stab.unstable, span.stab.unstable { @extend %label-orange; } - .since, .out-of-band { float: right; } + .out-of-band { float: right; } + .since, .srclink { + float: right; + margin-left: .5rem; + } } diff --git a/lib/docs/filters/rust/clean_html.rb b/lib/docs/filters/rust/clean_html.rb index 416e6e44..2c062eda 100644 --- a/lib/docs/filters/rust/clean_html.rb +++ b/lib/docs/filters/rust/clean_html.rb @@ -2,8 +2,6 @@ module Docs class Rust class CleanHtmlFilter < Filter def call - puts subpath if at_css('#versioninfo') - if slug.start_with?('book') || slug.start_with?('reference') @doc = at_css('#content main') elsif slug == 'error-index' @@ -29,12 +27,16 @@ module Docs css('.rusttest', '.test-arrow', 'hr').remove + css('.docblock.attributes').each do |node| + node.remove if node.content.include?('#[must_use]') + end + css('a.header').each do |node| node.first_element_child['id'] = node['name'] || node['id'] node.before(node.children).remove end - css('.docblock > h1').each { |node| node.name = 'h4' } + css('.docblock > h1:not(.section-header)').each { |node| node.name = 'h4' } css('h2.section-header').each { |node| node.name = 'h3' } css('h1.section-header').each { |node| node.name = 'h2' } @@ -44,7 +46,7 @@ module Docs end end - css('> .impl-items', '> .docblock', 'pre > pre').each do |node| + css('> .impl-items', '> .docblock', 'pre > pre', '.tooltiptext', '.tooltip').each do |node| node.before(node.children).remove end @@ -65,6 +67,32 @@ module Docs doc.first_element_child.name = 'h1' if doc.first_element_child.name = 'h2' at_css('h1').content = 'Rust Documentation' if root_page? + css('.table-display').each do |node| + node.css('td').each do |td| + node.before(td.children) + end + node.remove + end + + css('h2 .important-traits', 'h3 .important-traits', 'h4 .important-traits').each do |node| + content = node.at_css('.content.hidden .content') + node.at_css('.content.hidden').replace(content) if content + node.parent.after(node) + end + + css('code.content').each do |node| + node.name = 'pre' + node.css('.fmt-newline').each do |line| + line.inner_html = line.inner_html + "\n" + end + node.inner_html = node.inner_html.gsub('
', "\n") + node.content = node.content + end + + css('.since + .srclink').each do |node| + node.previous_element.before(node) + end + doc end end diff --git a/lib/docs/scrapers/rust.rb b/lib/docs/scrapers/rust.rb index ba2f41ed..d960c42b 100644 --- a/lib/docs/scrapers/rust.rb +++ b/lib/docs/scrapers/rust.rb @@ -1,7 +1,7 @@ module Docs class Rust < UrlScraper self.type = 'rust' - self.release = '1.28.0' + self.release = '1.29.1' self.base_url = 'https://doc.rust-lang.org/' self.root_path = 'book/second-edition/index.html' self.initial_paths = %w( From 2ad46626de8b1793659810f4041f6001dfa93aae Mon Sep 17 00:00:00 2001 From: Shannon Warren Date: Wed, 3 Oct 2018 10:40:32 +1000 Subject: [PATCH 57/65] Add Laravel 5.7 --- lib/docs/scrapers/laravel.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/docs/scrapers/laravel.rb b/lib/docs/scrapers/laravel.rb index 33c4ea26..5c88ae0f 100644 --- a/lib/docs/scrapers/laravel.rb +++ b/lib/docs/scrapers/laravel.rb @@ -29,6 +29,19 @@ module Docs Laravel is a trademark of Taylor Otwell. HTML + version '5.7' do + self.release = '5.7.7' + self.root_path = '/api/5.7/index.html' + self.initial_paths = %w(/docs/5.7/installation /api/5.7/classes.html) + + options[:only_patterns] = [%r{\A/api/5\.7/}, %r{\A/docs/5\.7/}] + + options[:fix_urls] = ->(url) do + url.sub! %r{#{Regexp.escape(Laravel.base_url)}/docs\/(?!\d)}, "#{Laravel.base_url}/docs/5.7/" + url + end + end + version '5.6' do self.release = '5.6.33' self.root_path = '/api/5.6/index.html' From a30fcf9d9a25740df6255da50a728abfd0bcd0c0 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Sat, 11 Aug 2018 11:17:55 -0400 Subject: [PATCH 58/65] Switch from SASS variables to CSS variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Switch from SASS variables to CSS variables for most styling These are the simple cases, and the more complex ones will be covered by future commits. I’ve also replaced $fooZ Β± 1 with the appropriate variable to avoid a runtime `calc()`. * Eliminate the `$style` variable πŸ”₯ I’ve added a `--absolute` variable that’s `white` in dark mode and `black` in regular mode. * Remove `$inputFocusBorder` πŸ”₯ * Switch the Prism styles to CSS variables * Convert `$mediumScreen` to a mixin * πŸ”₯ `$selectionText` * Eliminate the final uses of SCSS variables I’ve dropped the 95% opacity on the background of the method source code overlay in RDoc since the difference isn’t noticeable but it makes implementation a lot easier. * Misc fixes * Extract the common variables from the two themes to a new file * Remove illegal usages of CSS variables in SCSS functions This flattens out the buttons on the settings page which makes the styles simpler (and more modern-looking IMO) and removes the box-shadow on the button, which was completely invisible to me. * Fix usages of SCSS functions in CSS variables * Use `html._theme-*` selectors * Eliminate `application-dark.css`; switch themes by toggling classes This also means that the Application Cache doesn’t have to get updated when toggling themes, and a new CSS file that’s nearly the same doesn’t need to be downloaded. --- .../views/content/settings_page.coffee | 8 +- assets/stylesheets/application-dark.css.scss | 108 --------------- assets/stylesheets/application.css.scss | 4 +- assets/stylesheets/components/_app.scss | 10 +- assets/stylesheets/components/_content.scss | 59 ++++----- assets/stylesheets/components/_fail.scss | 2 +- assets/stylesheets/components/_header.scss | 60 ++++----- assets/stylesheets/components/_mobile.scss | 4 +- assets/stylesheets/components/_notice.scss | 10 +- assets/stylesheets/components/_notif.scss | 24 ++-- assets/stylesheets/components/_page.scss | 8 +- assets/stylesheets/components/_path.scss | 12 +- assets/stylesheets/components/_prism.scss | 57 ++++---- assets/stylesheets/components/_settings.scss | 24 ++-- assets/stylesheets/components/_sidebar.scss | 76 ++++++----- assets/stylesheets/global/_base.scss | 66 +++++----- assets/stylesheets/global/_classes.scss | 49 ++++--- assets/stylesheets/global/_icons.scss | 4 +- assets/stylesheets/global/_mixins.scss | 6 + assets/stylesheets/global/_print.scss | 4 +- .../stylesheets/global/_variables-dark.scss | 124 ++++++++---------- .../stylesheets/global/_variables-light.scss | 76 +++++++++++ assets/stylesheets/global/_variables.scss | 111 ++++------------ assets/stylesheets/pages/_angularjs.scss | 2 +- assets/stylesheets/pages/_async.scss | 4 +- assets/stylesheets/pages/_bootstrap.scss | 2 +- assets/stylesheets/pages/_c.scss | 4 +- assets/stylesheets/pages/_clojure.scss | 2 +- assets/stylesheets/pages/_d.scss | 6 +- assets/stylesheets/pages/_dojo.scss | 2 +- assets/stylesheets/pages/_ember.scss | 4 +- assets/stylesheets/pages/_erlang.scss | 2 +- assets/stylesheets/pages/_jquery.scss | 4 +- assets/stylesheets/pages/_love.scss | 4 +- assets/stylesheets/pages/_mdn.scss | 6 +- assets/stylesheets/pages/_meteor.scss | 4 +- assets/stylesheets/pages/_npm.scss | 2 +- assets/stylesheets/pages/_phalcon.scss | 2 +- assets/stylesheets/pages/_php.scss | 4 +- assets/stylesheets/pages/_postgres.scss | 2 +- assets/stylesheets/pages/_rdoc.scss | 8 +- assets/stylesheets/pages/_react_native.scss | 2 +- assets/stylesheets/pages/_redis.scss | 4 +- assets/stylesheets/pages/_rfc.scss | 2 +- assets/stylesheets/pages/_sphinx.scss | 4 +- assets/stylesheets/pages/_sphinx_simple.scss | 2 +- assets/stylesheets/pages/_support_tables.scss | 2 +- assets/stylesheets/pages/_yard.scss | 2 +- assets/stylesheets/pages/_yii.scss | 2 +- lib/app.rb | 16 --- views/index.erb | 4 +- views/manifest.erb | 2 +- views/other.erb | 4 +- 53 files changed, 434 insertions(+), 582 deletions(-) delete mode 100644 assets/stylesheets/application-dark.css.scss create mode 100644 assets/stylesheets/global/_variables-light.scss diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index d72e3eb3..1b4ecc1b 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -24,12 +24,10 @@ class app.views.SettingsPage extends app.View 'Preferences' toggleDark: (enable) -> - css = $('link[rel="stylesheet"][data-alt]') - alt = css.getAttribute('data-alt') - css.setAttribute('data-alt', css.getAttribute('href')) - css.setAttribute('href', alt) + html = document.documentElement + html.classList.toggle('_theme-default') + html.classList.toggle('_theme-dark') app.settings.set('dark', !!enable) - app.appCache?.updateInBackground() return toggleLayout: (layout, enable) -> diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss deleted file mode 100644 index 821ebc36..00000000 --- a/assets/stylesheets/application-dark.css.scss +++ /dev/null @@ -1,108 +0,0 @@ -//= depend_on docs-1.png -//= depend_on docs-1@2x.png -//= depend_on docs-2.png -//= depend_on docs-2@2x.png - -/*! - * Copyright 2013-2018 Thibaut Courouble and other contributors - * - * This source code is licensed under the terms of the Mozilla - * Public License, v. 2.0, a copy of which may be obtained at: - * http://mozilla.org/MPL/2.0/ - */ - -@import 'global/variables-dark', - 'global/mixins', - 'global/icons', - 'global/classes', - 'global/base'; - -@import 'components/app', - 'components/header', - 'components/notif', - 'components/sidebar', - 'components/settings', - 'components/content', - 'components/page', - 'components/fail', - 'components/path', - 'components/notice', - 'components/prism', - 'components/mobile'; - -@import 'pages/simple', - 'pages/angular', - 'pages/angularjs', - 'pages/apache', - 'pages/async', - 'pages/bash', - 'pages/bootstrap', - 'pages/c', - 'pages/cakephp', - 'pages/clojure', - 'pages/codeception', - 'pages/coffeescript', - 'pages/cordova', - 'pages/crystal', - 'pages/d', - 'pages/d3', - 'pages/dart', - 'pages/dojo', - 'pages/drupal', - 'pages/elixir', - 'pages/ember', - 'pages/erlang', - 'pages/express', - 'pages/git', - 'pages/github', - 'pages/go', - 'pages/graphite', - 'pages/haskell', - 'pages/jekyll', - 'pages/jquery', - 'pages/julia', - 'pages/knockout', - 'pages/kotlin', - 'pages/laravel', - 'pages/liquid', - 'pages/love', - 'pages/lua', - 'pages/mdn', - 'pages/meteor', - 'pages/modernizr', - 'pages/moment', - 'pages/nginx', - 'pages/node', - 'pages/npm', - 'pages/openjdk', - 'pages/perl', - 'pages/phalcon', - 'pages/phaser', - 'pages/php', - 'pages/phpunit', - 'pages/postgres', - 'pages/pug', - 'pages/python', - 'pages/qt', - 'pages/ramda', - 'pages/rdoc', - 'pages/react_native', - 'pages/redis', - 'pages/rethinkdb', - 'pages/rfc', - 'pages/rubydoc', - 'pages/rust', - 'pages/sinon', - 'pages/socketio', - 'pages/sphinx', - 'pages/sphinx_simple', - 'pages/sqlite', - 'pages/support_tables', - 'pages/tcl_tk', - 'pages/tensorflow', - 'pages/terraform', - 'pages/underscore', - 'pages/vue', - 'pages/webpack', - 'pages/yard', - 'pages/yii'; diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 245a8012..fd6ffffd 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -11,7 +11,9 @@ * http://mozilla.org/MPL/2.0/ */ -@import 'global/variables', +@import 'global/variables-light', + 'global/variables-dark', + 'global/variables', 'global/mixins', 'global/icons', 'global/classes', diff --git a/assets/stylesheets/components/_app.scss b/assets/stylesheets/components/_app.scss index ee76fe2f..96e09938 100644 --- a/assets/stylesheets/components/_app.scss +++ b/assets/stylesheets/components/_app.scss @@ -1,6 +1,6 @@ -html._booting { background: $contentBackground; } +html._booting { background: var(--contentBackground); } body._max-width { background: none; } -html._booting body._max-width { background: $documentBackground; } +html._booting body._max-width { background: var(--documentBackground); } ._app { position: relative; @@ -15,8 +15,8 @@ html._booting body._max-width { background: $documentBackground; } ._max-width & { margin: 0 auto; - max-width: $maxWidth; - background: $contentBackground; - box-shadow: 1px 0 $headerBorder, -1px 0 $headerBorder; + max-width: var(--maxWidth); + background: var(--contentBackground); + box-shadow: 1px 0 var(--headerBorder), -1px 0 var(--headerBorder); } } diff --git a/assets/stylesheets/components/_content.scss b/assets/stylesheets/components/_content.scss index 18f2e51d..c2387836 100644 --- a/assets/stylesheets/components/_content.scss +++ b/assets/stylesheets/components/_content.scss @@ -4,13 +4,13 @@ ._container { position: relative; - z-index: $contentZ; + z-index: var(--contentZ); height: 100%; - margin-left: $sidebarWidth; + margin-left: var(--sidebarWidth); pointer-events: none; @extend %border-box; - @media #{$mediumScreen} { margin-left: $sidebarMediumWidth; } + @include mobile { margin-left: var(--sidebarMediumWidth); } ._sidebar-hidden & { margin-left: 0; } body:not(._native-scrollbars) & { -webkit-margin-end: -1px; } @@ -30,7 +30,7 @@ ._sidebar-hidden &:before { content: ''; display: block; - margin-top: $headerHeight; + margin-top: var(--headerHeight); } ._overlay-scrollbars & { padding-left: .625rem; } @@ -54,7 +54,7 @@ font-size: 4rem; font-weight: 300; letter-spacing: -.125rem; - color: $loadingText; + color: var(--loadingText); text-align: center; cursor: default; } @@ -68,7 +68,7 @@ // ._splash-title { - color: $splashText; + color: var(--splashText); @extend %loading, %user-select-none; } @@ -88,7 +88,7 @@ min-height: calc(100vh - 2.375rem); ._sidebar-hidden & { - min-height: calc(100vh - 2.375rem - #{$headerHeight}); + min-height: calc(100vh - 2.375rem - var(--headerHeight)); } } @@ -140,12 +140,12 @@ ._error-text { margin: 0 0 1rem; - color: $textColorLight; + color: var(--textColorLight); } ._error-links { font-size: 1rem; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } ._error-link { padding: 0 .5rem; } @@ -167,7 +167,7 @@ height: 1px; margin-top: .25rem; margin-left: 1rem; - background: $boxBorderLight; + background: var(--boxBorderLight); } } @@ -197,7 +197,7 @@ ._toc-title { margin: 0 0 .5rem; font-size: inherit; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } ._toc-list { @@ -252,7 +252,7 @@ ._docs-size { text-align: right; - > small { color: $textColorLight; } + > small { color: var(--textColorLight); } } ._docs-tools { @@ -285,7 +285,7 @@ padding: 0 .75rem; } ._btn-link:not(._show) { display: none; } - ._btn-link._show ~ ._btn-link._show { border-left: 1px solid $boxBorder; } + ._btn-link._show ~ ._btn-link._show { border-left: 1px solid var(--boxBorder); } } // @@ -297,7 +297,7 @@ position: relative; padding-left: 10em; font-size: .8125rem; - color: $textColorLight; + color: var(--textColorLight); + ._news-row { margin-top: 1em; } } @@ -305,7 +305,7 @@ ._news-title { display: block; font-size: .875rem; - color: $textColor; + color: var(--textColor); } ._news-date { @@ -372,12 +372,12 @@ // Utilities // -._bold { font-weight: $boldFontWeight; } +._bold { font-weight: var(--boldFontWeight); } ._note { @extend %note; } ._note-green { @extend %note-green; } ._label { @extend %label; } ._code { @extend %code; } -._highlight { background: $highlightBackground !important; } +._highlight { background: var(--highlightBackground) !important; } ._table { width: 100%; } ._mobile ._table { overflow-x: auto; } @@ -396,12 +396,9 @@ pre:hover > & { display: block; } &:hover { opacity: 1; } - > svg { @extend %svg-icon; } - - @if $style == 'dark' { - > svg { fill: white; } - } @else { - > svg { fill: black; } + > svg { + @extend %svg-icon; + fill: var(--absolute); } &._pre-clip-success > svg, @@ -419,15 +416,13 @@ line-height: normal; white-space: nowrap; padding: .375rem .675rem; - background-image: linear-gradient(lighten($boxBackground, 4%), darken($boxBackground, 2%)); - border: 1px solid $boxBorder; + background-color: var(--boxBackground); + border: 1px solid var(--boxBorder); border-radius: 3px; - box-shadow: 0 1px rgba($boxBorder, .08); cursor: pointer; &:active { - background-color: $boxBackground; - box-shadow: inset 0 1px 1px rgba(black, .05), inset 0 1px 4px $boxBorder; + box-shadow: inset 0 1px 1px rgba(black, .05), inset 0 1px 4px var(--boxBorder); } } @@ -447,18 +442,18 @@ ._btn-link { line-height: inherit; - color: $linkColor; - text-decoration: $linkTextDecoration; + color: var(--linkColor); + text-decoration: var(--linkTextDecoration); &:hover { - color: $linkColorHover; + color: var(--linkColorHover); text-decoration: underline; } } ._reset-btn, ._reset-btn:hover { - color: $textColorRed; + color: var(--textColorRed); } ._github-btn { diff --git a/assets/stylesheets/components/_fail.scss b/assets/stylesheets/components/_fail.scss index c1cf4653..7fb8d192 100644 --- a/assets/stylesheets/components/_fail.scss +++ b/assets/stylesheets/components/_fail.scss @@ -23,7 +23,7 @@ ._fail-title { margin: 0 0 1rem; font-size: 1rem; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } ._fail-text, ._fail-list { diff --git a/assets/stylesheets/components/_header.scss b/assets/stylesheets/components/_header.scss index 37f9268d..5bae8901 100644 --- a/assets/stylesheets/components/_header.scss +++ b/assets/stylesheets/components/_header.scss @@ -4,20 +4,20 @@ ._header { position: absolute; - z-index: $headerZ; + z-index: var(--headerZ); top: 0; left: 0; display: -ms-flexbox; display: flex; - width: $sidebarWidth; - height: $headerHeight; - background: $headerBackground; - border-bottom: 1px solid $headerBorder; - border-right: 1px solid $headerBorder; + width: var(--sidebarWidth); + height: var(--headerHeight); + background: var(--headerBackground); + border-bottom: 1px solid var(--headerBorder); + border-right: 1px solid var(--headerBorder); @extend %border-box; @extend %user-select-none; - @media #{$mediumScreen} { width: $sidebarMediumWidth; } + @include mobile { width: var(--sidebarMediumWidth); } } ._header-left { @@ -35,7 +35,7 @@ flex: 0 0 auto; width: 2.25rem; height: 100%; - color: $textColorLight; + color: var(--textColorLight); text-align: center; &[hidden] { display: none; } @@ -67,8 +67,8 @@ word-wrap: normal; overflow-wrap: normal; font-size: .875rem; - background: $contentBackground; - border: 1px solid $headerBorder; + background: var(--contentBackground); + border: 1px solid var(--headerBorder); border-radius: 3px; box-shadow: -1px 1px 1px rgba(black, .05); transition: all 0ms cubic-bezier(0.23, 1, 0.32, 1) 1ms; @@ -98,10 +98,10 @@ margin: 0; line-height: 1.5rem; font-size: 1rem; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); letter-spacing: -.5px; - background: $sidebarBackground; - border-bottom: 1px solid $sidebarBorder; + background: var(--sidebarBackground); + border-bottom: 1px solid var(--sidebarBorder); border-radius: 2px 2px 0 0; } @@ -109,7 +109,7 @@ ._menu-title-link:hover { display: block; padding: .5rem 1rem; - color: $focusText; + color: var(--focusText); text-decoration: none; } @@ -121,9 +121,9 @@ text-decoration: none; &:hover { - color: $focusText; + color: var(--focusText); text-decoration: none; - background: $sidebarBackground; + background: var(--sidebarBackground); } &:last-child { border-radius: 0 0 2px 2px; } @@ -151,11 +151,7 @@ opacity: .42; @extend %svg-icon; - @if $style == 'dark' { - fill: white; - } @else { - fill: black; - } + fill: var(--absolute); } } @@ -166,21 +162,19 @@ height: 100%; padding: 0 .75rem 1px 1.75rem; font-size: .875rem; - background: $contentBackground; + background: var(--contentBackground); border: 1px solid; - border-color: darken($headerBorder, 2%); + border-color: var(--searchBorder); border-radius: 3px; &:focus { outline: 0; - @if $inputFocusBorder { - border-color: $inputFocusBorder; - box-shadow: 0 0 1px $inputFocusBorder; - } + border-color: var(--inputFocusBorder); + box-shadow: 0 0 1px var(--inputFocusBorder); } &[disabled] { - background: $sidebarBackground; + background: var(--sidebarBackground); cursor: not-allowed; } } @@ -202,13 +196,9 @@ top: .5rem; left: .375rem; @extend %svg-icon; + fill: var(--absolute); } - @if $style == 'dark' { - > svg { fill: white; } - } @else { - > svg { fill: black; } - } ._search-active > & { display: block; } } @@ -222,8 +212,8 @@ line-height: 1.25rem; max-width: 50%; font-size: .8125rem; - color: $textColorLight; - background: darken($headerBackground, 5%); + color: var(--textColorLight); + background: var(--searchTagBackground); border-radius: 2px; @extend %truncate-text; } diff --git a/assets/stylesheets/components/_mobile.scss b/assets/stylesheets/components/_mobile.scss index 34ad7dbe..bdfe01fd 100644 --- a/assets/stylesheets/components/_mobile.scss +++ b/assets/stylesheets/components/_mobile.scss @@ -4,7 +4,7 @@ ._mobile { font-size: 100%; - background: $contentBackground; + background: var(--contentBackground); ._hide-on-mobile { display: none; } @@ -18,7 +18,7 @@ ._container { margin: 0; - padding-top: $headerHeight; + padding-top: var(--headerHeight); } ._content { diff --git a/assets/stylesheets/components/_notice.scss b/assets/stylesheets/components/_notice.scss index 0dba80ae..1e8cd381 100644 --- a/assets/stylesheets/components/_notice.scss +++ b/assets/stylesheets/components/_notice.scss @@ -1,15 +1,15 @@ ._notice { position: absolute; - z-index: $noticeZ; + z-index: var(--noticeZ); bottom: 0; - left: $sidebarWidth; + left: var(--sidebarWidth); right: 0; height: 2.5rem; padding: 0 1.25rem; - background: $noticeBackground; - box-shadow: inset 0 1px $noticeBorder; + background: var(--noticeBackground); + box-shadow: inset 0 1px var(--noticeBorder); - @media #{$mediumScreen} { left: $sidebarMediumWidth; } + @include mobile { left: var(--sidebarMediumWidth); } ._sidebar-hidden & { left: 0; } diff --git a/assets/stylesheets/components/_notif.scss b/assets/stylesheets/components/_notif.scss index a47d396d..dd23c43a 100644 --- a/assets/stylesheets/components/_notif.scss +++ b/assets/stylesheets/components/_notif.scss @@ -7,9 +7,9 @@ max-width: 90%; padding: .625rem 1rem; font-size: .75rem; - color: $notifColor; - background: $notifBackground; - border: $notifBorder; + color: var(--notifColor); + background: var(--notifBackground); + border: var(--notifBorder); border-radius: .25rem; transition: opacity .2s; opacity: 0; @@ -30,7 +30,7 @@ ._notif-info { float: right; - color: $notifColorLight; + color: var(--notifColorLight); } ._notif-link, @@ -69,13 +69,13 @@ &::-webkit-scrollbar { width: 10px !important; } &::-webkit-scrollbar-track { - background: $notifBackground !important; + background: var(--notifBackground) !important; border: 0 !important; border-radius: 5px !important; } &::-webkit-scrollbar-thumb { - border: 3px solid $notifBackground !important; + border: 3px solid var(--notifBackground) !important; &:hover, &:active { border-width: 2px !important; } } @@ -90,7 +90,7 @@ > ._news-row { line-height: 1.125rem; font-size: .6875rem; - color: $notifColorLight; + color: var(--notifColorLight); margin-bottom: .25rem; + ._news-row { margin-top: .625rem; } @@ -107,7 +107,7 @@ ._news-date { float: right; margin-left: 1rem; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } code { @@ -128,9 +128,9 @@ } ._notif-tip { - color: $textColor; - background: $tipBackground; - border: $tipBorder; + color: var(--textColor); + background: var(--tipBackground); + border: var(--tipBorder); - ._notif-info { color: $textColorLight; } + ._notif-info { color: var(--textColorLight); } } diff --git a/assets/stylesheets/components/_page.scss b/assets/stylesheets/components/_page.scss index 99771443..60a970b9 100644 --- a/assets/stylesheets/components/_page.scss +++ b/assets/stylesheets/components/_page.scss @@ -23,7 +23,7 @@ max-width: 100%; margin-bottom: 1em; padding: 1px; - border: 1px dotted $boxBorder; + border: 1px dotted var(--boxBorder); border-radius: 3px; @extend %border-box; } @@ -50,7 +50,7 @@ display: inline-block; vertical-align: top; padding: 0 .5rem; - background: $contentBackground; + background: var(--contentBackground); @extend %internal-link; & + & { margin-left: .75rem; } @@ -66,7 +66,7 @@ clear: both; margin: 2rem 0 1.5rem; font-size: .75rem; - color: $textColorLight; + color: var(--textColorLight); text-align: center; -webkit-font-smoothing: subpixel-antialiased; @@ -78,7 +78,7 @@ display: inline-block; margin: 0; padding: .25rem .75rem; - background: $labelBackground; + background: var(--labelBackground); border-radius: 3px; } diff --git a/assets/stylesheets/components/_path.scss b/assets/stylesheets/components/_path.scss index 1d68936f..5853fa04 100644 --- a/assets/stylesheets/components/_path.scss +++ b/assets/stylesheets/components/_path.scss @@ -1,17 +1,17 @@ ._path { position: absolute; - z-index: $noticeZ - 1; + z-index: var(--headerZ); bottom: 0; - left: $sidebarWidth; + left: var(--sidebarWidth); right: 0; height: 2rem; line-height: 2rem; padding: 0 .375rem; font-size: .875rem; - background: $pathBackground; - box-shadow: inset 0 1px $pathBorder; + background: var(--pathBackground); + box-shadow: inset 0 1px var(--pathBorder); - @media #{$mediumScreen} { left: $sidebarMediumWidth; } + @include mobile { left: var(--sidebarMediumWidth); } ._sidebar-hidden & { left: 0; } @@ -24,7 +24,7 @@ display: inline-block; vertical-align: top; padding: 0 .375rem; - color: $textColor; + color: var(--textColor); text-decoration: none; &:first-child:before { diff --git a/assets/stylesheets/components/_prism.scss b/assets/stylesheets/components/_prism.scss index 405fd436..9f411c65 100644 --- a/assets/stylesheets/components/_prism.scss +++ b/assets/stylesheets/components/_prism.scss @@ -1,9 +1,26 @@ +html { + --prismValue: #905; + --prismText: #5e8e01; + --prismOperator: #a67f59; + --prismKeyword: #0070a3; + --prismFunction: #dd4a68; + --prismVariable: #e90; +} +html.dark { + --prismValue: #eb8160; + --prismText: #ddcf88; + --prismOperator: #b1c676; + --prismKeyword: #91b3ed; + --prismFunction: #c79e6b; + --prismVariable: #e9c062; +} + .token.comment, .token.prolog, .token.doctype, .token.cdata, .token.punctuation { - color: $textColorLight; + color: var(--textColorLight); } .namespace { @@ -17,11 +34,7 @@ .token.constant, .token.symbol, .token.deleted { - @if $style == 'dark' { - color: #eb8160; - } @else { - color: #905; - } + color: var(--prismValue); } .token.selector, @@ -30,11 +43,7 @@ .token.char, .token.builtin, .token.inserted { - @if $style == 'dark' { - color: #ddcf88; - } @else { - color: #5e8e01; - } + color: var(--prismText); } .token.operator, @@ -42,44 +51,28 @@ .token.url, .language-css .token.string, .style .token.string { - @if $style == 'dark' { - color: #b1c676; - } @else { - color: #a67f59; - } + color: var(--prismOperator); } .token.atrule, .token.attr-value, .token.keyword { - @if $style == 'dark' { - color: #91b3ed; - } @else { - color: #0070a3; - } + color: var(--prismKeyword); } .token.function { - @if $style == 'dark' { - color: #c79e6b; - } @else { - color: #dd4a68; - } + color: var(--prismFunction); } .token.regex, .token.important, .token.variable { - @if $style == 'dark' { - color: #e9c062; - } @else { - color: #e90; - } + color: var(--prismVariable); } .token.important, .token.bold { - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } .token.italic { diff --git a/assets/stylesheets/components/_settings.scss b/assets/stylesheets/components/_settings.scss index c1134041..86bbf005 100644 --- a/assets/stylesheets/components/_settings.scss +++ b/assets/stylesheets/components/_settings.scss @@ -7,15 +7,15 @@ position: absolute; top: 0; bottom: 0; - z-index: $headerZ; + z-index: var(--headerZ); &._in { display: block; } > ._header { justify-content: space-between; } &._dirty > ._header { - background: $noteGreenBackground; - border-color: $noteGreenBorder; + background: var(--noteGreenBackground); + border-color: var(--noteGreenBorder); } } @@ -37,7 +37,7 @@ padding-right: .5rem; line-height: inherit; font-size: inherit; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); text-align: right; @extend %border-box; } @@ -52,7 +52,7 @@ > small { display: block; - color: $textColorLight; + color: var(--textColorLight); margin-left: 1.75rem; } @@ -62,7 +62,7 @@ } } -@media (max-width: $maxWidth) { +@media (max-width: 80rem) { ._setting-max-width { display: none; } } @@ -80,7 +80,7 @@ line-height: 1.5rem; padding: 0 .75rem; font-size: .875rem; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); color: inherit; text-align: left; cursor: pointer; @@ -119,12 +119,12 @@ position: relative; vertical-align: top; padding: 0 .75rem; - line-height: $headerHeight; - color: $textColorLight; + line-height: var(--headerHeight); + color: var(--textColorLight); &.active { - color: $textColor; - font-weight: $boldFontWeight; - box-shadow: inset 0 -2px $linkColor; + color: var(--textColor); + font-weight: var(--boldFontWeight); + box-shadow: inset 0 -2px var(--linkColor); } } diff --git a/assets/stylesheets/components/_sidebar.scss b/assets/stylesheets/components/_sidebar.scss index e38ed4d2..8813f92d 100644 --- a/assets/stylesheets/components/_sidebar.scss +++ b/assets/stylesheets/components/_sidebar.scss @@ -4,14 +4,14 @@ ._sidebar { position: absolute; - z-index: $sidebarZ; + z-index: var(--sidebarZ); top: 0; bottom: 0; left: 0; overflow-x: hidden; overflow-y: scroll; - padding-top: $headerHeight; - background: $sidebarBackground; + padding-top: var(--headerHeight); + background: var(--sidebarBackground); background-clip: content-box; -webkit-overflow-scrolling: touch; -ms-overflow-style: none; // IE 10 doesn't support pointer-events @@ -22,13 +22,13 @@ ._overlay-scrollbars & { padding-top: 0; - top: $headerHeight; + top: var(--headerHeight); } body:not(._native-scrollbars) & { &::-webkit-scrollbar { width: 10px; } &::-webkit-scrollbar-track { - background: $contentBackground; + background: var(--contentBackground); border: 0; } &::-webkit-scrollbar-thumb { @@ -52,10 +52,10 @@ ._resizer { position: absolute; - z-index: $sidebarZ + 1; - top: $headerHeight; - bottom: $headerHeight; - left: $sidebarWidth; + z-index: var(--headerZ); + top: var(--headerHeight); + bottom: var(--headerHeight); + left: var(--sidebarWidth); margin-left: -2px; width: 3px; cursor: col-resize; @@ -72,11 +72,11 @@ margin: 0; padding: 0; list-style: none; - width: $sidebarWidth; - box-shadow: inset -1px 0 $sidebarBorder; + width: var(--sidebarWidth); + box-shadow: inset -1px 0 var(--sidebarBorder); @extend %border-box; - @media #{$mediumScreen} { width: $sidebarMediumWidth; } + @include mobile { width: var(--sidebarMediumWidth); } ._sidebar > & { min-height: 100%; } @@ -89,7 +89,7 @@ padding: 0 .75rem 0 2.125rem; line-height: 2rem; font-size: .75rem; - color: $textColorLight; + color: var(--textColorLight); text-transform: uppercase; cursor: default; } @@ -110,8 +110,8 @@ line-height: 1.5rem; font-size: .875rem; cursor: default; - background: $sidebarBackground; - box-shadow: inset -1px 0 $sidebarBorder; + background: var(--sidebarBackground); + box-shadow: inset -1px 0 var(--sidebarBorder); @extend %truncate-text; &, &:hover { @@ -123,16 +123,16 @@ &.focus:hover, &.active, &.active:hover { - color: $focusText; - background: $focusBackground; - box-shadow: inset -1px 0 $focusBorder; + color: var(--focusText); + background: var(--focusBackground); + box-shadow: inset -1px 0 var(--focusBorder); } &.active, &.active:hover { - color: $selectionText; - background: $selectionBackground; - box-shadow: inset -1px 0 $selectionBorder; + color: var(--selectionText); + background: var(--selectionBackground); + box-shadow: inset -1px 0 var(--selectionBorder); } &:before { @@ -160,7 +160,7 @@ } ._list-count { - color: $textColorLighter; + color: var(--textColorLighter); pointer-events: none; ._list-disabled:hover > & { display: none; } @@ -168,7 +168,7 @@ ._list-enable { display: none; - color: $linkColor; + color: var(--linkColor); cursor: pointer; &:hover { text-decoration: underline; } @@ -188,7 +188,7 @@ ._list-disabled { @extend %_list-dir; - &, &:hover { color: $textColorLight; } + &, &:hover { color: var(--textColorLight); } &:before { opacity: .7; } } @@ -200,11 +200,9 @@ width: 1rem; height: 1rem; cursor: pointer; - fill: black; + fill: var(--absolute); opacity: .4; - @if $style == 'dark' { fill: white; } - &:hover { opacity: .65; } ._list-rdir > & { @@ -239,11 +237,11 @@ // ._list-pagelink { - color: $linkColor; + color: var(--linkColor); cursor: pointer; &:hover { - color: $linkColorHover; + color: var(--linkColorHover); text-decoration: underline; } } @@ -275,9 +273,9 @@ left: .75rem; width: .75rem; height: 1px; - background: rgba($selectionText, .9); - box-shadow: 0 -3px rgba($selectionText, .9), // top line - 0 3px rgba($selectionText, .9); // bottom line + background: var(--transparentSelectionText); + box-shadow: 0 -3px var(--transparentSelectionText), // top line + 0 3px var(--transparentSelectionText); // bottom line } } @@ -289,7 +287,7 @@ padding: .5rem .75rem; line-height: 1.25rem; font-size: .8125rem; - color: $textColorLight; + color: var(--textColorLight); & + & { padding-top: 0; } } @@ -303,9 +301,9 @@ ._list-hover.clone { position: fixed; overflow: visible; - z-index: $hoverZ; + z-index: var(--hoverZ); left: 0; - min-width: $sidebarWidth; + min-width: var(--sidebarWidth); padding: .25rem .75rem; pointer-events: none; -webkit-font-smoothing: subpixel-antialiased; @@ -313,7 +311,7 @@ transform: translate3d(0, 0, 0); @extend %border-box; - @media #{$mediumScreen} { min-width: $sidebarMediumWidth; } + @include mobile { min-width: var(--sidebarMediumWidth); } > ._list-text { display: inline; } @@ -346,10 +344,10 @@ padding: .5rem .75rem .25rem .75rem; line-height: 1.5rem; font-size: .75rem; - font-weight: $bolderFontWeight; - color: $textColorLight; + font-weight: var(--bolderFontWeight); + color: var(--textColorLight); text-transform: uppercase; - background: linear-gradient(to bottom, $sidebarBackground, $sidebarBackground 75%, rgba($sidebarBackground, 0)); + background: linear-gradient(to bottom, var(--sidebarBackground), var(--sidebarBackground) 75%, var(--transparentSidebarBackground)); cursor: default; } diff --git a/assets/stylesheets/global/_base.scss b/assets/stylesheets/global/_base.scss index b4a7bdd7..bcf01467 100644 --- a/assets/stylesheets/global/_base.scss +++ b/assets/stylesheets/global/_base.scss @@ -1,9 +1,9 @@ html { height: 100%; font-size: 100%; - background: $documentBackground; + background: var(--documentBackground); - @media #{$mediumScreen} { font-size: 93.75%; } + @include mobile { font-size: 93.75%; } @include print { background: none; } @import 'global/print'; @@ -15,12 +15,12 @@ body { overflow: auto; font-size: 1em; font-weight: normal; - font-family: $baseFont; + font-family: var(--baseFont); line-height: 1.7; - color: $textColor; + color: var(--textColor); word-wrap: break-word; overflow-wrap: break-word; - background: $contentBackground; + background: var(--contentBackground); touch-action: manipulation; -webkit-tap-highlight-color: rgba(black, 0); -webkit-touch-callout: none; @@ -29,11 +29,11 @@ body { } a { - color: $linkColor; - text-decoration: $linkTextDecoration; + color: var(--linkColor); + text-decoration: var(--linkTextDecoration); &:hover { - color: $linkColorHover; + color: var(--linkColorHover); text-decoration: underline; } } @@ -47,7 +47,7 @@ img { h1, h2, h3, h4, h5, h6 { margin: 1.5em 0 1em; line-height: 1.3; - font-weight: $bolderFontWeight; + font-weight: var(--bolderFontWeight); } h1 { font-size: 1.5em; } @@ -59,7 +59,7 @@ h5, h6 { font-size: 1em; } p { margin: 0 0 1em; } p:last-child { margin-bottom: 0; } -b, strong { font-weight: $boldFontWeight; } +b, strong { font-weight: var(--boldFontWeight); } small { font-size: .9em; } @@ -79,7 +79,7 @@ li > ul, li > ol, dd > ul, dd > ol { margin: .5em 0; } li > p { margin-bottom: .25em; } dl { margin: 1.5em 0; } -dt { font-weight: $boldFontWeight; } +dt { font-weight: var(--boldFontWeight); } dd { margin: .375em; padding-left: 1em; @@ -91,15 +91,15 @@ dfn, var { font-style: normal; } abbr, acronym, dfn { cursor: help; - border-bottom: 1px dotted $textColor; + border-bottom: 1px dotted var(--textColor); } pre, code, samp, %pre, %code { - font-family: $monoFont; + font-family: var(--monoFont); font-weight: normal; font-style: normal; font-size: .9em; - color: $textColor; + color: var(--textColor); white-space: pre-wrap; direction: ltr; -moz-tab-size: 2; @@ -121,14 +121,14 @@ a > code { color: inherit; } table { margin: 1.5em 0; background: none; - border: 1px solid $boxBorder; + border: 1px solid var(--boxBorder); border-collapse: separate; border-spacing: 0; border-radius: 3px; } caption { - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); padding: 0 .7em .3em; } @@ -142,15 +142,15 @@ th, td { } th { - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); border: 0; - border-bottom: 1px solid $boxBorder; + border-bottom: 1px solid var(--boxBorder); border-radius: 0; @extend %heading-box; &:empty { background: none; } - + th, + td { border-left: 1px solid $boxBorder; } + + th, + td { border-left: 1px solid var(--boxBorder); } tr:first-child > &:first-child { border-top-left-radius: 3px; } tr:first-child > &:last-child { border-top-right-radius: 3px; } @@ -161,10 +161,10 @@ th { } td { - background: $contentBackground; - border-bottom: 1px solid $boxBorderLight; + background: var(--contentBackground); + border-bottom: 1px solid var(--boxBorderLight); - + td { border-left: 1px solid $boxBorderLight; } + + td { border-left: 1px solid var(--boxBorderLight); } tr:last-child > & { border-bottom: 0; } > pre:only-child, > p:only-child, > ul:only-child, > ol:only-child { @@ -190,7 +190,7 @@ input, button { margin: 0; font-family: inherit; font-size: 100%; - color: $textColor; + color: var(--textColor); line-height: normal; @extend %border-box; } @@ -219,7 +219,7 @@ button:focus { } img, iframe { - background: $externalsBackground; + background: var(--externalsBackground); } input[type="search"]::-webkit-search-cancel-button, @@ -234,9 +234,9 @@ input[type="search"]::-webkit-search-decoration { border: 0 !important; } -::-webkit-input-placeholder { color: $textColorLighter; } -::-moz-placeholder { color: $textColorLighter; opacity: 1; } -:-ms-input-placeholder { color: $textColorLighter; } +::-webkit-input-placeholder { color: var(--textColorLighter); } +::-moz-placeholder { color: var(--textColorLighter); opacity: 1; } +:-ms-input-placeholder { color: var(--textColorLighter); } body:not(._native-scrollbars) { *::-webkit-scrollbar { -webkit-appearance: none; } @@ -247,12 +247,12 @@ body:not(._native-scrollbars) { *::-webkit-scrollbar-corner { display: none; } *::-webkit-scrollbar-track { - background: $contentBackground; - border: 1px solid $contentBackground; + background: var(--contentBackground); + border: 1px solid var(--contentBackground); &:hover { - background: $sidebarBackground; - border-color: $sidebarBorder; + background: var(--sidebarBackground); + border-color: var(--sidebarBorder); } &:vertical { border-width: 0 0 0 1px; } @@ -270,14 +270,14 @@ body:not(._native-scrollbars) { *::-webkit-scrollbar-thumb { min-height: 2rem; - background: $scrollbarColor; + background: var(--scrollbarColor); background-clip: padding-box; border: 5px solid rgba(black, 0); border-radius: 10px; &:hover, &:active { - background-color: $scrollbarColorHover; + background-color: var(--scrollbarColorHover); border-width: 4px; } } diff --git a/assets/stylesheets/global/_classes.scss b/assets/stylesheets/global/_classes.scss index f96f617b..79f82adb 100644 --- a/assets/stylesheets/global/_classes.scss +++ b/assets/stylesheets/global/_classes.scss @@ -36,15 +36,15 @@ // %box { - background: $boxBackground; - border: 1px solid $boxBorder; + background: var(--boxBackground); + border: 1px solid var(--boxBorder); border-radius: 3px; } %heading-box { - color: $boxHeaderColor; - background: $boxHeaderBackground; - border: 1px solid $boxBorder; + color: var(--boxHeaderColor); + background: var(--boxHeaderBackground); + border: 1px solid var(--boxBorder); border-radius: 3px; } @@ -82,15 +82,15 @@ %note { margin: 1.5rem 0; padding: .5rem .875rem; - background: $noteBackground; - border: 1px solid $noteBorder; + background: var(--noteBackground); + border: 1px solid var(--noteBorder); border-radius: 3px; } %label { margin: 0 1px; padding: 1px 4px 2px; - background: $labelBackground; + background: var(--labelBackground); border-radius: 3px; } @@ -102,35 +102,35 @@ padding-right: .5em; overflow: hidden; font-size: inherit; - color: $boxHeaderColor; - border: 1px solid $boxBorder; + color: var(--boxHeaderColor); + border: 1px solid var(--boxBorder); border-radius: 2px; @extend %label; } %label-yellow { - background: $noteBackground; - border-color: $noteBorder; + background: var(--noteBackground); + border-color: var(--noteBorder); } %note-green, %label-green { - background: $noteGreenBackground; - border-color: $noteGreenBorder; + background: var(--noteGreenBackground); + border-color: var(--noteGreenBorder); } %note-blue, %label-blue { - background: $noteBlueBackground; - border-color: $noteBlueBorder; + background: var(--noteBlueBackground); + border-color: var(--noteBlueBorder); } %note-orange, %label-orange { - background: $noteOrangeBackground; - border-color: $noteOrangeBorder; + background: var(--noteOrangeBackground); + border-color: var(--noteOrangeBorder); } %note-red, %label-red { - background: $noteRedBackground; - border-color: $noteRedBorder; + background: var(--noteRedBackground); + border-color: var(--noteRedBorder); } // @@ -149,12 +149,11 @@ pointer-events: none; // - @if $style == 'dark' { - background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2NiZDBkMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); - } @else { - background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzNzdjMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); - } + background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzNzdjMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); } } +html.dark %external-link { + background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2NiZDBkMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); +} %internal-link:after { content: none !important; } diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 87d9e1d2..e7a805f4 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -23,8 +23,8 @@ %doc-icon-2 { background-image: image-url('docs-2@2x.png') !important; } } -%darkIconFix { - @if $style == 'dark' { +html._theme-dark { + %darkIconFix { filter: invert(100%) grayscale(100%); -webkit-filter: invert(100%) grayscale(100%); } diff --git a/assets/stylesheets/global/_mixins.scss b/assets/stylesheets/global/_mixins.scss index 604b9ac7..8fbb04fa 100644 --- a/assets/stylesheets/global/_mixins.scss +++ b/assets/stylesheets/global/_mixins.scss @@ -7,3 +7,9 @@ @content; } } + +@mixin mobile { + @media (max-width: 800px) { + @content; + } +} diff --git a/assets/stylesheets/global/_print.scss b/assets/stylesheets/global/_print.scss index 5044631e..08c14fd1 100644 --- a/assets/stylesheets/global/_print.scss +++ b/assets/stylesheets/global/_print.scss @@ -25,14 +25,14 @@ ._attribution-p { background: none; - border: 2px solid $boxBorder; + border: 2px solid var(--boxBorder); } ._attribution:last-child:after { content: 'Exported from DevDocs \2014 https://devdocs.io'; display: block; margin-top: 1rem; - font-weight: $bolderFontWeight; + font-weight: var(--bolderFontWeight); } ._attribution { diff --git a/assets/stylesheets/global/_variables-dark.scss b/assets/stylesheets/global/_variables-dark.scss index 2f962de4..b9c88491 100644 --- a/assets/stylesheets/global/_variables-dark.scss +++ b/assets/stylesheets/global/_variables-dark.scss @@ -1,94 +1,76 @@ -$baseFont: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif; -$monoFont: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; -$boldFontWeight: 500; -$bolderFontWeight: 600; +html._theme-dark { + --absolute: white; -$style: 'dark'; + --documentBackground: #222; + --contentBackground: #33373a; -$maxWidth: 80rem; -$headerHeight: 3rem; -$sidebarWidth: 20rem; -$sidebarMediumWidth: 16rem; + --textColor: #cbd0d0; + --textColorLight: #9da5ad; + --textColorLighter: #77787a; -$documentBackground: #222; -$contentBackground: #33373a; + --externalsBackground: #fff; -$externalsBackground: #fff; + --inputFocusBorder: transparent; -$textColor: #cbd0d0; -$textColorLight: #9da5ad; -$textColorLighter: #77787a; -$textColorRed: #f44336; + --focusBackground: #3f4042; + --focusBorder: #000; + --focusText: #f7f2f2; -$inputFocusBorder: false; + --loadingText: #5d6164; -$focusBackground: #3f4042; -$focusBorder: #000; -$focusText: #f7f2f2; + --selectionBackground: #007acc; + --selectionBorder: #000; -$loadingText: #5d6164; -$splashText: $loadingText; + --highlightBackground: #64675f; -$selectionBackground: #007acc; -$selectionBorder: #000; -$selectionText: #fff; + --linkColor: var(--textColor); + --linkColorHover: white; + --linkTextDecoration: underline; -$highlightBackground: #64675f; + --headerBackground: #1c1c1c; + --headerBorder: #000; + --searchTagBackground: #{darken(#1c1c1c, 5%)}; + --searchBorder: #{darken(#000, 2%)}; -$linkColor: $textColor; -$linkColorHover: white; -$linkTextDecoration: underline; + --sidebarBackground: #24282a; + --transparentSidebarBackground: #{rgba(#24282a, 0)}; + --sidebarBorder: #000; -$headerBackground: #1c1c1c; -$headerBorder: #000; + --scrollbarColor: #6c6c6f; + --scrollbarColorHover: #949697; -$sidebarBackground: #24282a; -$sidebarBorder: #000; + --pathBackground: var(--headerBackground); + --pathBorder: var(--headerBorder); -$scrollbarColor: #6c6c6f; -$scrollbarColorHover: #949697; + --noticeBackground: var(--sidebarBackground); + --noticeBorder: var(--sidebarBorder); -$pathBackground: $headerBackground; -$pathBorder: $headerBorder; + --boxBackground: var(--sidebarBackground); + --boxBorder: var(--headerBorder); + --boxBorderLight: var(--headerBorder); + --boxHeaderColor: #dbe4e4; + --boxHeaderBackground: var(--sidebarBackground); -$noticeBackground: $sidebarBackground; -$noticeBorder: $sidebarBorder; + --noteBackground: #45474b; + --noteBorder: #000; -$boxBackground: $sidebarBackground; -$boxBorder: $headerBorder; -$boxBorderLight: $headerBorder; -$boxHeaderColor: #dbe4e4; -$boxHeaderBackground: $sidebarBackground; + --noteGreenBackground: #284a2a; + --noteGreenBorder: #000; -$noteBackground: #45474b; -$noteBorder: #000; + --noteBlueBackground: #2a4151; + --noteBlueBorder: #000; -$noteGreenBackground: #284a2a; -$noteGreenBorder: #000; + --noteOrangeBackground: #563322; + --noteOrangeBorder: #000; -$noteBlueBackground: #2a4151; -$noteBlueBorder: #000; + --noteRedBackground: #603033; + --noteRedBorder: #000; -$noteOrangeBackground: #563322; -$noteOrangeBorder: #000; + --labelBackground: var(--boxBackground); -$noteRedBackground: #603033; -$noteRedBorder: #000; + --notifBackground: #{rgba(#555, .95)}; + --notifBorder: 1px solid #000; -$labelBackground: $boxBackground; - -$notifBackground: rgba(#555, .95); -$notifBorder: 1px solid #000; -$notifColor: #fff; -$notifColorLight: #ccc; - -$tipBackground: $notifBackground; -$tipBorder: $notifBorder; - -$mediumScreen: '(max-width: 800px)'; - -$contentZ: 1; -$sidebarZ: 2; -$headerZ: 3; -$noticeZ: 4; -$hoverZ: 5; + --tipBackground: var(--notifBackground); + --tipBorder: var(--notifBorder); +} diff --git a/assets/stylesheets/global/_variables-light.scss b/assets/stylesheets/global/_variables-light.scss new file mode 100644 index 00000000..f2dcb807 --- /dev/null +++ b/assets/stylesheets/global/_variables-light.scss @@ -0,0 +1,76 @@ +html._theme-default { + --absolute: black; + + --documentBackground: #f3f3f3; + --contentBackground: #fff; + + --textColor: #333; + --textColorLight: #666; + --textColorLighter: #888; + + --externalsBackground: #fff; + + --inputFocusBorder: #35b5f4; + + --focusBackground: #e5e5e5; + --focusBorder: #d4d4d4; + --focusText: #000; + + --loadingText: #ccc; + + --selectionBackground: #398df0; + --selectionBorder: #196fc2; + + --highlightBackground: #fffdcd; + + --linkColor: #3377c0; + --linkColorHover: #2f6cb6; + --linkTextDecoration: none; + + --headerBackground: #eee; + --headerBorder: #d7d7d7; + --searchTagBackground: #{darken(#eee, 5%)}; + --searchBorder: #{darken(#d7d7d7, 2%)}; + + --sidebarBackground: #f9f9f9; + --transparentSidebarBackground: #{rgba(#f9f9f9, 0)}; + --sidebarBorder: #e1e1e1; + + --scrollbarColor: #ccc; + --scrollbarColorHover: #999; + + --pathBackground: var(--sidebarBackground); + --pathBorder: var(--sidebarBorder); + + --noticeBackground: #faf9e2; + --noticeBorder: #e2e2c1; + + --boxBackground: #fafafa; + --boxBorder: #d8d8d8; + --boxBorderLight: #e5e5e5; + --boxHeaderColor: var(--textColor); + --boxHeaderBackground: #f5f5f5; + + --noteBackground: #f8f8dd; + --noteBorder: #d3d952; + + --noteGreenBackground: #e7f8e1; + --noteGreenBorder: #89da70; + + --noteBlueBackground: #d4f3fd; + --noteBlueBorder: #94bbeb; + + --noteOrangeBackground: #fbe6d1; + --noteOrangeBorder: #ec8b01; + + --noteRedBackground: #fed5d3; + --noteRedBorder: #dc7874; + + --labelBackground: #f4f4f4; + + --notifBackground: #{rgba(#333, .85)}; + --notifBorder: none; + + --tipBackground: #{rgba(#fffdcd, .95)}; + --tipBorder: 1px solid #e7dca9; +} diff --git a/assets/stylesheets/global/_variables.scss b/assets/stylesheets/global/_variables.scss index b3ae528e..a857d1cd 100644 --- a/assets/stylesheets/global/_variables.scss +++ b/assets/stylesheets/global/_variables.scss @@ -1,94 +1,31 @@ -$baseFont: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif; -$monoFont: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; -$boldFontWeight: 500; -$bolderFontWeight: 600; +html { + --baseFont: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif; + --monoFont: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; + --boldFontWeight: 500; + --bolderFontWeight: 600; -$style: 'light'; + --textColorRed: #f44336; -$maxWidth: 80rem; -$headerHeight: 3rem; -$sidebarWidth: 20rem; -$sidebarMediumWidth: 16rem; + --splashText: var(--loadingText); -$documentBackground: #f3f3f3; -$contentBackground: #fff; + --selectionText: #fff; + --transparentSelectionText: rgba(255, 255, 255, 0.9); -$externalsBackground: $contentBackground; + --notifColor: #fff; + --notifColorLight: #ccc; -$textColor: #333; -$textColorLight: #666; -$textColorLighter: #888; -$textColorRed: #f44336; + --maxWidth: 80rem; + --headerHeight: 3rem; + --sidebarWidth: 20rem; + --sidebarMediumWidth: 16rem; -$inputFocusBorder: #35b5f4; + --focusBackground: #e5e5e5; + --focusBorder: #d4d4d4; + --focusText: #000; -$focusBackground: #e5e5e5; -$focusBorder: #d4d4d4; -$focusText: #000; - -$loadingText: #ccc; -$splashText: #ccc; - -$selectionBackground: #398df0; -$selectionBorder: #196fc2; -$selectionText: #fff; - -$highlightBackground: #fffdcd; - -$linkColor: #3377c0; -$linkColorHover: #2f6cb6; -$linkTextDecoration: none; - -$headerBackground: #eee; -$headerBorder: #d7d7d7; - -$sidebarBackground: #f9f9f9; -$sidebarBorder: #e1e1e1; - -$scrollbarColor: #ccc; -$scrollbarColorHover: #999; - -$pathBackground: $sidebarBackground; -$pathBorder: $sidebarBorder; - -$noticeBackground: #faf9e2; -$noticeBorder: #e2e2c1; - -$boxBackground: #fafafa; -$boxBorder: #d8d8d8; -$boxBorderLight: #e5e5e5; -$boxHeaderColor: $textColor; -$boxHeaderBackground: #f5f5f5; - -$noteBackground: #f8f8dd; -$noteBorder: #d3d952; - -$noteGreenBackground: #e7f8e1; -$noteGreenBorder: #89da70; - -$noteBlueBackground: #d4f3fd; -$noteBlueBorder: #94bbeb; - -$noteOrangeBackground: #fbe6d1; -$noteOrangeBorder: #ec8b01; - -$noteRedBackground: #fed5d3; -$noteRedBorder: #dc7874; - -$labelBackground: #f4f4f4; - -$notifBackground: rgba(#333, .85); -$notifBorder: none; -$notifColor: #fff; -$notifColorLight: #ccc; - -$tipBackground: rgba(#fffdcd, .95); -$tipBorder: 1px solid #e7dca9; - -$mediumScreen: '(max-width: 800px)'; - -$contentZ: 1; -$sidebarZ: 2; -$headerZ: 3; -$noticeZ: 4; -$hoverZ: 5; + --contentZ: 1; + --sidebarZ: 2; + --headerZ: 3; + --noticeZ: 4; + --hoverZ: 5; +} diff --git a/assets/stylesheets/pages/_angularjs.scss b/assets/stylesheets/pages/_angularjs.scss index 5b6df0bc..13f85796 100644 --- a/assets/stylesheets/pages/_angularjs.scss +++ b/assets/stylesheets/pages/_angularjs.scss @@ -8,7 +8,7 @@ .nav-index-section { margin: 1.5em 0 1em -2em; list-style: none; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); text-transform: capitalize; } diff --git a/assets/stylesheets/pages/_async.scss b/assets/stylesheets/pages/_async.scss index 09d018f5..c8961dfd 100644 --- a/assets/stylesheets/pages/_async.scss +++ b/assets/stylesheets/pages/_async.scss @@ -3,13 +3,13 @@ h3 > .type-signature { float: right; - color: $textColorLight; + color: var(--textColorLight); } h3 > .signature-attributes { font-size: .75rem; font-weight: normal; font-style: italic; - color: $textColorLighter; + color: var(--textColorLighter); } } diff --git a/assets/stylesheets/pages/_bootstrap.scss b/assets/stylesheets/pages/_bootstrap.scss index 0deb79b7..fbd885ea 100644 --- a/assets/stylesheets/pages/_bootstrap.scss +++ b/assets/stylesheets/pages/_bootstrap.scss @@ -4,7 +4,7 @@ h4 > code, h5 > code, strong > code { @extend %label; } h2 > small { - color: $textColorLight; + color: var(--textColorLight); float: right; } diff --git a/assets/stylesheets/pages/_c.scss b/assets/stylesheets/pages/_c.scss index b9c4c25f..9aeafdcb 100644 --- a/assets/stylesheets/pages/_c.scss +++ b/assets/stylesheets/pages/_c.scss @@ -23,7 +23,7 @@ .t-spar { // language/switch, language/for, etc. font-style: italic; - color: $textColorLight; + color: var(--textColorLight); } .t-sdsc-nopad dl, .t-sdsc-nopad dd { margin: 0; } @@ -57,7 +57,7 @@ margin: 1rem 0; padding: .375rem; font-size: .75rem; - border: 1px solid $boxBorder; + border: 1px solid var(--boxBorder); border-radius: 2px; } diff --git a/assets/stylesheets/pages/_clojure.scss b/assets/stylesheets/pages/_clojure.scss index 9f5e5db4..c1b2647c 100644 --- a/assets/stylesheets/pages/_clojure.scss +++ b/assets/stylesheets/pages/_clojure.scss @@ -5,6 +5,6 @@ .type { float: right; font-size: .9em; - color: $textColorLight; + color: var(--textColorLight); } } diff --git a/assets/stylesheets/pages/_d.scss b/assets/stylesheets/pages/_d.scss index a32e84b0..7e672145 100644 --- a/assets/stylesheets/pages/_d.scss +++ b/assets/stylesheets/pages/_d.scss @@ -2,10 +2,10 @@ h2 { @extend %block-heading; } h3, .d_decl { @extend %block-label, %label-blue; } .d_decl { @extend %code; } - .d_decl > small { color: $textColorLight; } - .d_decl > strong { font-weight: $bolderFontWeight; } + .d_decl > small { color: var(--textColorLight); } + .d_decl > strong { font-weight: var(--bolderFontWeight); } p > code, li > code, td > code, dd > code { @extend %label; } - span.red { color: $textColorRed; } + span.red { color: var(--textColorRed); } } diff --git a/assets/stylesheets/pages/_dojo.scss b/assets/stylesheets/pages/_dojo.scss index bb24b223..d22b1f81 100644 --- a/assets/stylesheets/pages/_dojo.scss +++ b/assets/stylesheets/pages/_dojo.scss @@ -1,5 +1,5 @@ ._dojo { @extend %simple; - .jsdoc-inheritance { color: $textColorLight; } + .jsdoc-inheritance { color: var(--textColorLight); } } diff --git a/assets/stylesheets/pages/_ember.scss b/assets/stylesheets/pages/_ember.scss index 636b56b6..9b3f4689 100644 --- a/assets/stylesheets/pages/_ember.scss +++ b/assets/stylesheets/pages/_ember.scss @@ -5,7 +5,7 @@ h3 > .access { float: right; - color: $textColorLight; + color: var(--textColorLight); font-weight: normal; } @@ -15,6 +15,6 @@ } p.github-link { - color: $textColorLight; + color: var(--textColorLight); } } diff --git a/assets/stylesheets/pages/_erlang.scss b/assets/stylesheets/pages/_erlang.scss index ba221ec7..1b76cf6d 100644 --- a/assets/stylesheets/pages/_erlang.scss +++ b/assets/stylesheets/pages/_erlang.scss @@ -5,5 +5,5 @@ code.code { @extend %label; } .note { @extend %note; } .warning { @extend %note, %note-red; } - .note .label, .warning .label { font-weight: $boldFontWeight; } + .note .label, .warning .label { font-weight: var(--boldFontWeight); } } diff --git a/assets/stylesheets/pages/_jquery.scss b/assets/stylesheets/pages/_jquery.scss index 4858f4ef..d1a62a1c 100644 --- a/assets/stylesheets/pages/_jquery.scss +++ b/assets/stylesheets/pages/_jquery.scss @@ -32,7 +32,7 @@ .toc-list { margin-top: 0; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); > li + li { margin-top: 1em; } > li > ul { font-weight: normal; } @@ -48,7 +48,7 @@ .returns, .option-type { float: right; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); margin-left: 1em; } diff --git a/assets/stylesheets/pages/_love.scss b/assets/stylesheets/pages/_love.scss index a1908523..b037527f 100644 --- a/assets/stylesheets/pages/_love.scss +++ b/assets/stylesheets/pages/_love.scss @@ -12,6 +12,6 @@ .smwtable { width: 100%; } .smwtable td:nth-last-child(2), .smwtable td:last-child { width: 2.5em; } - .cell-green { background: $noteGreenBackground; } - .cell-red { background: $noteRedBackground; } + .cell-green { background: var(--noteGreenBackground); } + .cell-red { background: var(--noteRedBackground); } } diff --git a/assets/stylesheets/pages/_mdn.scss b/assets/stylesheets/pages/_mdn.scss index b1f89f4f..d2b9b643 100644 --- a/assets/stylesheets/pages/_mdn.scss +++ b/assets/stylesheets/pages/_mdn.scss @@ -7,7 +7,7 @@ > span { display: block; font-size: 1rem; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } ul, ol { @@ -42,7 +42,7 @@ > .note { em { font-style: normal; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } > ul { margin: 1em 0; } @@ -93,7 +93,7 @@ dt > strong > code, // HTML element attribute dl > dt > code { // CSS property value, Javascript function argument font-family: inherit; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); font-size: inherit; } diff --git a/assets/stylesheets/pages/_meteor.scss b/assets/stylesheets/pages/_meteor.scss index adb0121e..5497239f 100644 --- a/assets/stylesheets/pages/_meteor.scss +++ b/assets/stylesheets/pages/_meteor.scss @@ -9,10 +9,10 @@ dt > code { @extend %label; } .api-heading { overflow: hidden; } - .api-heading > code { font-weight: $boldFontWeight; } + .api-heading > code { font-weight: var(--boldFontWeight); } .locus, .src-code { float: right; } .locus, .type, .src-code { margin-left: .5em; } h2 .subtext-api { margin-top: .25rem; } .locus, .subtext-api, .subtext-api > code { font-size: .75rem; } - .locus, .type { color: $textColorLight; } + .locus, .type { color: var(--textColorLight); } } diff --git a/assets/stylesheets/pages/_npm.scss b/assets/stylesheets/pages/_npm.scss index 9bbcc74c..bdb4482d 100644 --- a/assets/stylesheets/pages/_npm.scss +++ b/assets/stylesheets/pages/_npm.scss @@ -8,7 +8,7 @@ .faint.heading { font-size: .9em; - color: $textColorLight; + color: var(--textColorLight); } .youtube-video iframe { width: 420px; height: 315px; } diff --git a/assets/stylesheets/pages/_phalcon.scss b/assets/stylesheets/pages/_phalcon.scss index 646cf07c..60a32758 100644 --- a/assets/stylesheets/pages/_phalcon.scss +++ b/assets/stylesheets/pages/_phalcon.scss @@ -3,6 +3,6 @@ h3 > small { float: right; - color: $textColorLight; + color: var(--textColorLight); } } diff --git a/assets/stylesheets/pages/_php.scss b/assets/stylesheets/pages/_php.scss index 319ac647..c6fd4d6b 100644 --- a/assets/stylesheets/pages/_php.scss +++ b/assets/stylesheets/pages/_php.scss @@ -13,7 +13,7 @@ .verinfo { float: right; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } .classsynopsis, @@ -21,7 +21,7 @@ .description > .methodsynopsis, .description > .fieldsynopsis { @extend %note, %note-blue; } - .classsynopsisinfo_comment { color: $textColorLight; } + .classsynopsisinfo_comment { color: var(--textColorLight); } .classsynopsisinfo_comment, .classsynopsis > .constructorsynopsis, diff --git a/assets/stylesheets/pages/_postgres.scss b/assets/stylesheets/pages/_postgres.scss index 69e202c1..7c42a001 100644 --- a/assets/stylesheets/pages/_postgres.scss +++ b/assets/stylesheets/pages/_postgres.scss @@ -16,7 +16,7 @@ } p > code { @extend %label; } - p.c2 { font-weight: $boldFontWeight; } + p.c2 { font-weight: var(--boldFontWeight); } .navfooter > table { width: 100%; } td[align=center] { text-align: center; } diff --git a/assets/stylesheets/pages/_rdoc.scss b/assets/stylesheets/pages/_rdoc.scss index f1c8b2cb..7873900a 100644 --- a/assets/stylesheets/pages/_rdoc.scss +++ b/assets/stylesheets/pages/_rdoc.scss @@ -6,7 +6,7 @@ .method-description > h2, h3, h4, h5, h6 { font-size: 1em; } .method-heading { - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); @extend %block-label, %label-blue; + .method-heading { margin-top: -.5em; } @@ -22,7 +22,7 @@ a.method-click-advice { float: right; font-size: .75rem; - color: $linkColor; + color: var(--linkColor); cursor: pointer; @extend %user-select-none; @@ -42,8 +42,8 @@ top: 0; left: -1em; right: 0; - background: rgba($contentBackground, .95); - box-shadow: 0 1em 1em 1em $contentBackground; + background: var(--contentBackground); + box-shadow: 0 1em 1em 1em var(--contentBackground); > pre { margin: 0; } } diff --git a/assets/stylesheets/pages/_react_native.scss b/assets/stylesheets/pages/_react_native.scss index ee4d1c67..1345a35f 100644 --- a/assets/stylesheets/pages/_react_native.scss +++ b/assets/stylesheets/pages/_react_native.scss @@ -2,7 +2,7 @@ @extend %simple; .deprecated { @extend %note, %note-orange; } - .deprecatedTitle { font-weight: $boldFontWeight; } + .deprecatedTitle { font-weight: var(--boldFontWeight); } span.platform { float: right; } span.propType, span.platform { font-weight: normal; } diff --git a/assets/stylesheets/pages/_redis.scss b/assets/stylesheets/pages/_redis.scss index 3ed1837c..e4541f8b 100644 --- a/assets/stylesheets/pages/_redis.scss +++ b/assets/stylesheets/pages/_redis.scss @@ -14,7 +14,7 @@ .args { font-size: .75rem; - color: $textColorLight; + color: var(--textColorLight); } // Others @@ -35,7 +35,7 @@ > .prompt { float: left; margin-right: .5em; - color: $textColorLight; + color: var(--textColorLight); } > code { diff --git a/assets/stylesheets/pages/_rfc.scss b/assets/stylesheets/pages/_rfc.scss index b522b308..eab55beb 100644 --- a/assets/stylesheets/pages/_rfc.scss +++ b/assets/stylesheets/pages/_rfc.scss @@ -10,6 +10,6 @@ > h1, > h2, > h3, > h4, > h5 { margin: 0; - font-family: $baseFont; + font-family: var(--baseFont); } } diff --git a/assets/stylesheets/pages/_sphinx.scss b/assets/stylesheets/pages/_sphinx.scss index 86744e33..ffd71415 100644 --- a/assets/stylesheets/pages/_sphinx.scss +++ b/assets/stylesheets/pages/_sphinx.scss @@ -14,7 +14,7 @@ .versionmodified, span.title, .topic-title { display: block; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } p > code, li > code, dd > code, .docutils > dt > code { @extend %label; } @@ -26,7 +26,7 @@ .admonition-title { float: left; margin: 0 .5em 0 0; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); &:after { content: ':'; } } diff --git a/assets/stylesheets/pages/_sphinx_simple.scss b/assets/stylesheets/pages/_sphinx_simple.scss index 7cb7e0dc..cbee1ea1 100644 --- a/assets/stylesheets/pages/_sphinx_simple.scss +++ b/assets/stylesheets/pages/_sphinx_simple.scss @@ -6,7 +6,7 @@ .admonition.tip { @extend %note-green; } .admonition-title { margin: 0 0 .25rem; - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); } code { @extend %label; } diff --git a/assets/stylesheets/pages/_support_tables.scss b/assets/stylesheets/pages/_support_tables.scss index 0ef0b3d3..1fc45b75 100644 --- a/assets/stylesheets/pages/_support_tables.scss +++ b/assets/stylesheets/pages/_support_tables.scss @@ -24,7 +24,7 @@ } tr.current { - font-weight: $boldFontWeight; + font-weight: var(--boldFontWeight); font-size: 1rem; } diff --git a/assets/stylesheets/pages/_yard.scss b/assets/stylesheets/pages/_yard.scss index 227dd234..bb2fbc47 100644 --- a/assets/stylesheets/pages/_yard.scss +++ b/assets/stylesheets/pages/_yard.scss @@ -1,5 +1,5 @@ ._yard { @extend %simple; - .tag_title { font-weight: $boldFontWeight; } + .tag_title { font-weight: var(--boldFontWeight); } } diff --git a/assets/stylesheets/pages/_yii.scss b/assets/stylesheets/pages/_yii.scss index d8e4bed9..6cb99978 100644 --- a/assets/stylesheets/pages/_yii.scss +++ b/assets/stylesheets/pages/_yii.scss @@ -3,6 +3,6 @@ .detail-header-tag, .detailHeaderTag { float: right; - color: $textColorLight; + color: var(--textColorLight); } } diff --git a/lib/app.rb b/lib/app.rb index f8ef0454..8715fc93 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -196,7 +196,6 @@ class App < Sinatra::Application @@manifest_asset_urls ||= [ javascript_path('application', asset_host: false), stylesheet_path('application'), - stylesheet_path('application-dark'), image_path('docs-1.png'), image_path('docs-1@2x.png'), image_path('docs-2.png'), @@ -205,21 +204,6 @@ class App < Sinatra::Application ] end - def main_stylesheet_path - stylesheet_paths[dark_theme? ? :dark : :default] - end - - def alternate_stylesheet_path - stylesheet_paths[dark_theme? ? :default : :dark] - end - - def stylesheet_paths - @@stylesheet_paths ||= { - default: stylesheet_path('application'), - dark: stylesheet_path('application-dark') - } - end - def app_size @app_size ||= memoized_cookies['size'].nil? ? '20rem' : "#{memoized_cookies['size']}px" end diff --git a/views/index.erb b/views/index.erb index ce743671..022e927f 100644 --- a/views/index.erb +++ b/views/index.erb @@ -1,5 +1,5 @@ - prefix="og: http://ogp.me/ns#" lang="en" class="_booting"> + prefix="og: http://ogp.me/ns#" lang="en" class="_booting _theme-<%= app_theme %>"> @@ -30,7 +30,7 @@ - + <%= stylesheet_tag 'application' %> > diff --git a/views/manifest.erb b/views/manifest.erb index 9d2df923..a95096c6 100644 --- a/views/manifest.erb +++ b/views/manifest.erb @@ -1,5 +1,5 @@ CACHE MANIFEST -# <%= app_theme %> <%= app_size %> <%= app_layout %> +# <%= app_size %> <%= app_layout %> CACHE: / diff --git a/views/other.erb b/views/other.erb index f8c9eee6..ee9b8de1 100644 --- a/views/other.erb +++ b/views/other.erb @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ - + <%= stylesheet_tag 'application' %> data-doc="<%= CGI::escape_html @doc.to_json %>"> From 01bc31859bc3a92d300df3cc81eb86722fc0ad78 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Mon, 8 Oct 2018 18:08:02 -0400 Subject: [PATCH 59/65] Fix up switch to CSS variables --- assets/stylesheets/components/_prism.scss | 2 +- assets/stylesheets/global/_classes.scss | 2 +- assets/stylesheets/pages/_bash.scss | 2 +- assets/stylesheets/pages/_dart.scss | 2 +- assets/stylesheets/pages/_qt.scss | 2 +- test/app_test.rb | 25 +++++++++++------------ 6 files changed, 17 insertions(+), 18 deletions(-) diff --git a/assets/stylesheets/components/_prism.scss b/assets/stylesheets/components/_prism.scss index 9f411c65..4d01f8cb 100644 --- a/assets/stylesheets/components/_prism.scss +++ b/assets/stylesheets/components/_prism.scss @@ -6,7 +6,7 @@ html { --prismFunction: #dd4a68; --prismVariable: #e90; } -html.dark { +html._theme-dark { --prismValue: #eb8160; --prismText: #ddcf88; --prismOperator: #b1c676; diff --git a/assets/stylesheets/global/_classes.scss b/assets/stylesheets/global/_classes.scss index 79f82adb..071b85ae 100644 --- a/assets/stylesheets/global/_classes.scss +++ b/assets/stylesheets/global/_classes.scss @@ -152,7 +152,7 @@ background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzNzdjMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); } } -html.dark %external-link { +html._theme-dark %external-link { background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2NiZDBkMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); } diff --git a/assets/stylesheets/pages/_bash.scss b/assets/stylesheets/pages/_bash.scss index b6ca1808..8d3f6dd7 100644 --- a/assets/stylesheets/pages/_bash.scss +++ b/assets/stylesheets/pages/_bash.scss @@ -5,7 +5,7 @@ } th[align=left] { - border-left: 1px solid $boxBorder; + border-left: 1px solid var(--boxBorder); } code { @extend %label; } diff --git a/assets/stylesheets/pages/_dart.scss b/assets/stylesheets/pages/_dart.scss index 3c011db7..fedd9883 100644 --- a/assets/stylesheets/pages/_dart.scss +++ b/assets/stylesheets/pages/_dart.scss @@ -6,7 +6,7 @@ .features { float: right; - color: $textColorLight; + color: var(--textColorLight); } } } diff --git a/assets/stylesheets/pages/_qt.scss b/assets/stylesheets/pages/_qt.scss index db2554ce..360776c0 100644 --- a/assets/stylesheets/pages/_qt.scss +++ b/assets/stylesheets/pages/_qt.scss @@ -4,6 +4,6 @@ // Function headers h3.fn > code { float: right; - color: $textColorLight; + color: var(--textColorLight); } } diff --git a/test/app_test.rb b/test/app_test.rb index 4e836a19..e4c3b583 100644 --- a/test/app_test.rb +++ b/test/app_test.rb @@ -55,6 +55,18 @@ class AppTest < MiniTest::Spec get '/' assert_includes last_response.body, '' end + + it "sets the theme from cookie" do + get '/' + assert_match %r{]*class="[^\"]*_theme-default}, last_response.body + refute_includes last_response.body, '_theme-dark' + + set_cookie('dark=1') + + get '/' + assert_match %r{]*class="[^\"]*_theme-dark}, last_response.body + refute_includes last_response.body, '_theme-default' + end end describe "/[static-page]" do @@ -110,19 +122,6 @@ class AppTest < MiniTest::Spec refute_includes last_response.body, 'foo' end - it "has the word 'default' when no 'dark' cookie is set" do - get '/manifest.appcache' - assert_includes last_response.body, '# default' - refute_includes last_response.body, '# dark' - end - - it "has the word 'dark' when the cookie is set" do - set_cookie('dark=1') - get '/manifest.appcache' - assert_includes last_response.body, '# dark' - refute_includes last_response.body, '# default' - end - it "sets default size" do get '/manifest.appcache' assert_includes last_response.body, '20rem' From 847cfbb682c3bccdfe9e53c1d72a541787d1619f Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Mon, 8 Oct 2018 18:08:23 -0400 Subject: [PATCH 60/65] Update browser requirements --- README.md | 12 ++++-------- assets/javascripts/app/app.coffee | 7 +------ assets/javascripts/templates/error_tmpl.coffee | 11 ++++------- views/unsupported.erb | 11 ++++------- 4 files changed, 13 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 119c6fe1..eec50904 100644 --- a/README.md +++ b/README.md @@ -64,14 +64,10 @@ Another driving factor is performance and the fact that everything happens in th DevDocs being a developer tool, the browser requirements are high: -1. On the desktop: - * Recent version of Chrome, Firefox, or Opera - * Safari 8+ - * IE / Edge 10+ -2. On mobile: - * iOS 8+ - * Android 4.1+ - * Windows Phone 8+ +* Recent versions of Firefox, Chrome, or Opera +* Safari 9.1+ +* Edge 16+ +* iOS 10+ This allows the code to take advantage of the latest DOM and HTML5 APIs and make developing DevDocs a lot more fun! diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 979ea353..7b9657cc 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -245,7 +245,7 @@ matchMedia: !!window.matchMedia insertAdjacentHTML: !!document.body.insertAdjacentHTML defaultPrevented: document.createEvent('CustomEvent').defaultPrevented is false - cssGradients: supportsCssGradients() + cssVariables: CSS.supports and CSS.supports('--t:0') for key, value of features when not value Raven.captureMessage "unsupported/#{key}", level: 'info' @@ -268,9 +268,4 @@ isInvalidLocation: -> @config.env is 'production' and location.host.indexOf(app.config.production_host) isnt 0 -supportsCssGradients = -> - el = document.createElement('div') - el.style.cssText = "background-image: -webkit-linear-gradient(top, #000, #fff); background-image: linear-gradient(to top, #000, #fff);" - el.style.backgroundImage.indexOf('gradient') >= 0 - $.extend app, Events diff --git a/assets/javascripts/templates/error_tmpl.coffee b/assets/javascripts/templates/error_tmpl.coffee index 9c19c0a6..37e2b5e4 100644 --- a/assets/javascripts/templates/error_tmpl.coffee +++ b/assets/javascripts/templates/error_tmpl.coffee @@ -56,13 +56,10 @@ app.templates.unsupportedBrowser = """

Your browser is unsupported, sorry.

DevDocs is an API documentation browser which supports the following browsers:

    -
  • Recent versions of Chrome and Firefox -
  • Safari 5.1+ -
  • Opera 12.1+ -
  • Internet Explorer 10+ -
  • iOS 6+ -
  • Android 4.1+ -
  • Windows Phone 8+ +
  • Recent versions of Firefox, Chrome, or Opera +
  • Safari 9.1+ +
  • Edge 16+ +
  • iOS 10+

If you're unable to upgrade, I apologize. diff --git a/views/unsupported.erb b/views/unsupported.erb index b64ffc3d..ca90d4d8 100644 --- a/views/unsupported.erb +++ b/views/unsupported.erb @@ -10,13 +10,10 @@

Your browser is unsupported, sorry.

DevDocs is an API documentation browser which supports the following browsers:

    -
  • Recent versions of Chrome and Firefox
  • -
  • Safari 5.1+
  • -
  • Opera 12.1+
  • -
  • Internet Explorer 10+
  • -
  • iOS 6+
  • -
  • Android 4.1+
  • -
  • Windows Phone 8+
  • +
  • Recent versions of Firefox, Chrome, or Opera
  • +
  • Safari 9.1+
  • +
  • Edge 16+
  • +
  • iOS 10+

If you're unable to upgrade, I apologize. From 6d5a278941739413645b1ab15cdb1358e85f61db Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Mon, 8 Oct 2018 18:20:28 -0400 Subject: [PATCH 61/65] Make sure the "browser unsupported" message is styled properly --- assets/stylesheets/components/_fail.scss | 4 ++-- assets/stylesheets/global/_base.scss | 4 +++- assets/stylesheets/global/_variables.scss | 6 +++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/assets/stylesheets/components/_fail.scss b/assets/stylesheets/components/_fail.scss index 7fb8d192..535100ac 100644 --- a/assets/stylesheets/components/_fail.scss +++ b/assets/stylesheets/components/_fail.scss @@ -1,4 +1,4 @@ -._fail { +._fail { // Don't use CSS variables, in case the browser doesn't support them. display: block; position: relative; top: 1.5rem; @@ -23,7 +23,7 @@ ._fail-title { margin: 0 0 1rem; font-size: 1rem; - font-weight: var(--boldFontWeight); + font-weight: bold; } ._fail-text, ._fail-list { diff --git a/assets/stylesheets/global/_base.scss b/assets/stylesheets/global/_base.scss index bcf01467..b81d5a93 100644 --- a/assets/stylesheets/global/_base.scss +++ b/assets/stylesheets/global/_base.scss @@ -1,6 +1,7 @@ html { height: 100%; font-size: 100%; + background: #fff; // fallback to show the error message to browsers that don't support CSS variables. background: var(--documentBackground); @include mobile { font-size: 93.75%; } @@ -15,8 +16,9 @@ body { overflow: auto; font-size: 1em; font-weight: normal; - font-family: var(--baseFont); + font-family: $baseFont; line-height: 1.7; + color: $textColor; // fallback to show the error message to browsers that don't support CSS variables. color: var(--textColor); word-wrap: break-word; overflow-wrap: break-word; diff --git a/assets/stylesheets/global/_variables.scss b/assets/stylesheets/global/_variables.scss index a857d1cd..c4d8235d 100644 --- a/assets/stylesheets/global/_variables.scss +++ b/assets/stylesheets/global/_variables.scss @@ -1,5 +1,9 @@ +// Variables needed to style the error message for browsers that don't support CSS variables. +$baseFont: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif; +$textColor: #333; + html { - --baseFont: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif; + --baseFont: #{$baseFont}; --monoFont: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; --boldFontWeight: 500; --bolderFontWeight: 600; From 05aaf5eeddc447dce4321109810b3eed81f16354 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 9 Oct 2018 18:25:22 +0200 Subject: [PATCH 62/65] Fix CSS variable support check --- assets/javascripts/app/app.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 7b9657cc..6b5ba7c3 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -245,7 +245,7 @@ matchMedia: !!window.matchMedia insertAdjacentHTML: !!document.body.insertAdjacentHTML defaultPrevented: document.createEvent('CustomEvent').defaultPrevented is false - cssVariables: CSS.supports and CSS.supports('--t:0') + cssVariables: CSS.supports and CSS.supports('--t', '0') for key, value of features when not value Raven.captureMessage "unsupported/#{key}", level: 'info' From 33c986fcf0a7773771e19237337d55cabf217757 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Tue, 9 Oct 2018 13:02:14 -0400 Subject: [PATCH 63/65] Fix CSS variable support check (take 2) --- assets/javascripts/app/app.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 6b5ba7c3..3a8e2b62 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -245,7 +245,7 @@ matchMedia: !!window.matchMedia insertAdjacentHTML: !!document.body.insertAdjacentHTML defaultPrevented: document.createEvent('CustomEvent').defaultPrevented is false - cssVariables: CSS.supports and CSS.supports('--t', '0') + cssVariables: CSS.supports and CSS.supports('(--t: 0)') for key, value of features when not value Raven.captureMessage "unsupported/#{key}", level: 'info' From d72de330aa4086297095f4c7018c19263d07335e Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Wed, 10 Oct 2018 10:04:16 -0400 Subject: [PATCH 64/65] Fix external link styling in dark mode --- assets/stylesheets/global/_classes.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/stylesheets/global/_classes.scss b/assets/stylesheets/global/_classes.scss index 071b85ae..9e6b9332 100644 --- a/assets/stylesheets/global/_classes.scss +++ b/assets/stylesheets/global/_classes.scss @@ -152,7 +152,7 @@ background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzNzdjMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); } } -html._theme-dark %external-link { +html._theme-dark %external-link:after { background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2NiZDBkMCIgZD0iTTE1LDE1SDJWNmgyLjU5NWMwLDAsMC42ODktMC44OTYsMi4xNy0ySDFDMC40NDcsNCwwLDQuNDQ5LDAsNXYxMWMwLDAuNTUzLDAuNDQ3LDEsMSwxaDE1YzAuNTUzLDAsMS0wLjQ0NywxLTF2LTMuNzQ2IGwtMiwxLjY0NVYxNXogTTEzLjM2MSw4LjA1djMuNTUxTDIwLDYuNGwtNi42MzktNC45OTl2My4xMzFDNS4zLDQuNTMyLDUuMywxMi41LDUuMywxMi41QzcuNTgyLDguNzUyLDguOTg2LDguMDUsMTMuMzYxLDguMDV6Ii8+PC9zdmc+); } From e8d52c9cfda588d8d9562ac2a97c9871c111bc76 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Wed, 10 Oct 2018 10:10:19 -0400 Subject: [PATCH 65/65] Fix app cache not updating when changing the app's color theme This is needed because the index page is part of the app cache, and the tag has a different class depending on the theme. --- .../javascripts/views/content/settings_page.coffee | 1 + test/app_test.rb | 13 +++++++++++++ views/manifest.erb | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index 1b4ecc1b..e39b17df 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -28,6 +28,7 @@ class app.views.SettingsPage extends app.View html.classList.toggle('_theme-default') html.classList.toggle('_theme-dark') app.settings.set('dark', !!enable) + app.appCache?.updateInBackground() return toggleLayout: (layout, enable) -> diff --git a/test/app_test.rb b/test/app_test.rb index e4c3b583..77975a9d 100644 --- a/test/app_test.rb +++ b/test/app_test.rb @@ -122,6 +122,19 @@ class AppTest < MiniTest::Spec refute_includes last_response.body, 'foo' end + it "has the word 'default' when no 'dark' cookie is set" do + get '/manifest.appcache' + assert_includes last_response.body, '# default' + refute_includes last_response.body, '# dark' + end + + it "has the word 'dark' when the cookie is set" do + set_cookie('dark=1') + get '/manifest.appcache' + assert_includes last_response.body, '# dark' + refute_includes last_response.body, '# default' + end + it "sets default size" do get '/manifest.appcache' assert_includes last_response.body, '20rem' diff --git a/views/manifest.erb b/views/manifest.erb index a95096c6..9d2df923 100644 --- a/views/manifest.erb +++ b/views/manifest.erb @@ -1,5 +1,5 @@ CACHE MANIFEST -# <%= app_size %> <%= app_layout %> +# <%= app_theme %> <%= app_size %> <%= app_layout %> CACHE: /

To install DevDocs on your phone, visit devdocs.io in Chrome and select "Add to home screen" in the menu. """ - -app.templates.httpWarning = """ -