From 062691dd46f2675e35ca328b8a292ead5751ea97 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Fri, 8 Nov 2019 09:58:15 -0600 Subject: [PATCH 01/45] package-fastlane 2.0 that installs and builds Ruby 2.4.5 on users machine on brew cask install fastlane --- Gemfile | 5 - Gemfile.lock | 29 --- README.txt | 9 - Rakefile | 323 --------------------------------- bins/cert_bin | 3 - bins/deliver_bin | 3 - bins/fastlane-credential_bin | 3 - bins/fastlane_bin | 3 - bins/frameit_bin | 3 - bins/gym_bin | 3 - bins/match_bin | 3 - bins/pem_bin | 3 - bins/pilot_bin | 3 - bins/produce_bin | 3 - bins/scan_bin | 3 - bins/screengrab_bin | 3 - bins/sigh_bin | 3 - bins/snapshot_bin | 3 - bins/spaceauth_bin | 3 - bins/spaceship_bin | 3 - bins/supply_bin | 3 - bundle-env | 13 +- bundle_dependency_tasks.rb | 208 --------------------- bundle_tasks.rake | 295 ------------------------------ bundle_update_checker.rb | 39 ---- cask/fastlane.rb.template | 15 ++ install | 140 ++++++++++---- patches/libxml-ruby-2.6.0.gem | Bin 269312 -> 0 bytes patches/ncurses.diff | 40 ---- patches/nokogiri-1.5.6.gem | Bin 218112 -> 0 bytes patches/svn-configure.diff | 211 --------------------- setup.rb | 196 -------------------- shims/cert_shim | 3 - shims/deliver_shim | 3 - shims/fastlane-credential_shim | 3 - shims/fastlane_shim | 14 -- shims/frameit_shim | 3 - shims/gym_shim | 3 - shims/match_shim | 3 - shims/pem_shim | 3 - shims/pilot_shim | 3 - shims/produce_shim | 3 - shims/scan_shim | 3 - shims/screengrab_shim | 3 - shims/sigh_shim | 3 - shims/snapshot_shim | 3 - shims/spaceauth_shim | 3 - shims/spaceship_shim | 3 - shims/supply_shim | 3 - shims_and_bins.rake | 98 ---------- 50 files changed, 118 insertions(+), 1616 deletions(-) delete mode 100644 Gemfile delete mode 100644 Gemfile.lock delete mode 100644 README.txt delete mode 100644 Rakefile delete mode 100755 bins/cert_bin delete mode 100755 bins/deliver_bin delete mode 100755 bins/fastlane-credential_bin delete mode 100755 bins/fastlane_bin delete mode 100755 bins/frameit_bin delete mode 100755 bins/gym_bin delete mode 100755 bins/match_bin delete mode 100755 bins/pem_bin delete mode 100755 bins/pilot_bin delete mode 100755 bins/produce_bin delete mode 100755 bins/scan_bin delete mode 100755 bins/screengrab_bin delete mode 100755 bins/sigh_bin delete mode 100755 bins/snapshot_bin delete mode 100755 bins/spaceauth_bin delete mode 100755 bins/spaceship_bin delete mode 100755 bins/supply_bin delete mode 100644 bundle_dependency_tasks.rb delete mode 100644 bundle_tasks.rake delete mode 100644 bundle_update_checker.rb delete mode 100644 patches/libxml-ruby-2.6.0.gem delete mode 100644 patches/ncurses.diff delete mode 100644 patches/nokogiri-1.5.6.gem delete mode 100644 patches/svn-configure.diff delete mode 100644 setup.rb delete mode 100755 shims/cert_shim delete mode 100755 shims/deliver_shim delete mode 100755 shims/fastlane-credential_shim delete mode 100755 shims/fastlane_shim delete mode 100755 shims/frameit_shim delete mode 100755 shims/gym_shim delete mode 100755 shims/match_shim delete mode 100755 shims/pem_shim delete mode 100755 shims/pilot_shim delete mode 100755 shims/produce_shim delete mode 100755 shims/scan_shim delete mode 100755 shims/screengrab_shim delete mode 100755 shims/sigh_shim delete mode 100755 shims/snapshot_shim delete mode 100755 shims/spaceauth_shim delete mode 100755 shims/spaceship_shim delete mode 100755 shims/supply_shim delete mode 100644 shims_and_bins.rake diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 5c79ded..0000000 --- a/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gem "aws-sdk-v1" -gem "rake" -gem "pry" diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index b0ca0d0..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,29 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - aws-sdk-v1 (1.66.0) - json (~> 1.4) - nokogiri (>= 1.4.4) - coderay (1.1.1) - json (1.8.3) - method_source (0.8.2) - mini_portile2 (2.4.0) - nokogiri (1.10.5) - mini_portile2 (~> 2.4.0) - pry (0.10.4) - coderay (~> 1.1.0) - method_source (~> 0.8.1) - slop (~> 3.4) - rake (11.3.0) - slop (3.6.0) - -PLATFORMS - ruby - -DEPENDENCIES - aws-sdk-v1 - pry - rake - -BUNDLED WITH - 1.13.6 diff --git a/README.txt b/README.txt deleted file mode 100644 index abcf3ab..0000000 --- a/README.txt +++ /dev/null @@ -1,9 +0,0 @@ -Installing bundled ruby + fastlane: - -Download the .zip file, and double click on the install executable (or run it from a terminal) and follow the on screen instructions. - -This will move the ruby + fastlane bundle into `~/.fastlane` in addition to adding that directory to your `$PATH` variable. - -To get started using fastlane, either open a new shell, or `source` your configuration file (e.g. `~/.bashrc`, `~/.zshrc`, etc.). - -Before using _fastlane_ the first time, run `which fastlane` to ensure the path looks something like `/Users/[user]/.fastlane/bin`. If it doesn't, make sure to add the above mentioned directory to your `PATH` environment variable. diff --git a/Rakefile b/Rakefile deleted file mode 100644 index f37dc5d..0000000 --- a/Rakefile +++ /dev/null @@ -1,323 +0,0 @@ -require 'aws-sdk-v1' -require 'json' - -load './bundle_tasks.rake' -extend FastlaneRake - -BUNDLE_VERSION = 1.8 - -FULL_BUNDLE_PATH = FastlaneRake::FULL_BUNDLE_PATH -VERBOSE = FastlaneRake::VERBOSE -BUNDLE_DESTROOT = FastlaneRake::BUNDLE_DESTROOT -BUNDLE_ENV = FastlaneRake::BUNDLE_ENV -WORKBENCH_DIR = FastlaneRake::WORKBENCH_DIR -DOWNLOAD_DIR = FastlaneRake::DOWNLOAD_DIR -DESTROOT = FastlaneRake::DESTROOT -FASTLANE_GEM_VERSION = FastlaneRake::FASTLANE_GEM_VERSION -XCODE_PATH = '/Applications/Xcode-7.3.1.app' - -load './shims_and_bins.rake' - -ZIPPED_BUNDLE = "#{FULL_BUNDLE_PATH}.zip" -ZIPPED_STANDALONE = "bundle-#{BUNDLE_VERSION}.zip" - -namespace :package do - - namespace :mac_app do - desc "Build and deploy for Fabric Mac app" - task :deploy => [:check_if_update_is_necessary, :zip, :upload_package, :update_version_json, 'clean:leftovers'] - - desc "Build package for Fabric Mac app" - task :zip => [:build, :prepare, ZIPPED_BUNDLE] - - task :prepare do - prepare_bundle_env_for_env(standalone: false) - end - - task :update_version_json do - update_version_json - end - - task :upload_package do - upload_package_to_s3 - end - - task :check_if_update_is_necessary do - obj = s3_bucket.objects['fastlane/version.json'] - json = JSON.parse obj.read - version_on_s3 = Gem::Version.new(json['version']) - unless version_on_s3 < Gem::Version.new(FASTLANE_GEM_VERSION) - puts "****** No need to build the bundle because #{version_on_s3} is already on S3! ******" - exit 0 - else - puts "****** BUILDING VERSION #{FASTLANE_GEM_VERSION} ******" - end - end - end - - namespace :standalone do - desc "Build and deploy package" - task :deploy => [:zip, :prepare_cask_template, :upload_package, :update_version_json, 'clean:leftovers'] - - desc "Build package" - task :zip => [:build, :prepare, ZIPPED_STANDALONE] - - task :prepare do - output_dir = File.expand_path("..", DESTROOT) - - # We don't need those empty shims - Dir[File.join(output_dir, "*")].each do |path| - next if File.directory?(path) - puts "Deleting file we don't need '#{path}'" - File.delete(path) - end - - prepare_bundle_env_for_env(standalone: true) - - cp("install", File.join(output_dir, "install")) - cp("uninstall", File.join(output_dir, "uninstall")) - cp("common.sh", File.join(output_dir, "common.sh")) - cp("bundle_update_checker.rb", File.join(DESTROOT, "bundle_update_checker.rb")) - cp("README.txt", File.join(output_dir, "README.txt")) - cp("NOTICE.txt", File.join(output_dir, "NOTICE.txt")) - cp("THIRDPARTYLICENSES.txt", File.join(output_dir, "THIRDPARTYLICENSES.txt")) - end - - task :upload_package do - upload_package_to_s3(is_standalone: true) - upload_latest(is_standalone: true) - end - - task :update_version_json do - update_version_json(is_standalone: true) - end - - desc "Prepare Homebrew cask file" - task :prepare_cask_template do - brew_template_path = File.join(File.dirname(__FILE__), "cask", "fastlane.rb.template") - brew_file_path = File.join(File.dirname(__FILE__), "cask", "fastlane.rb") - - template = File.read(brew_template_path) - template.gsub!("{{CURRENT_VERSION}}", BUNDLE_VERSION.to_s) - - sha256sum = Digest::SHA256.file(ZIPPED_STANDALONE).hexdigest - template.gsub!("{{SHA_NUM}}", sha256sum) - - File.write(brew_file_path, template) - end - end - - task :xcode_select do - puts `sudo xcode-select --switch #{XCODE_PATH}` - end - - desc "fastlane-#{FASTLANE_GEM_VERSION}" - task :version do - puts "fastlane-#{FASTLANE_GEM_VERSION}" - end - - task :build_ruby => FastlaneRake.ruby_task - task :install_fastlane => FastlaneRake.fastlane_task - task :install_bundler => FastlaneRake.bundler_task - - task :build_tools => [ - :build_ruby, - FastlaneRake.cacert_task, - :install_bundler, - :install_fastlane, - FastlaneRake.bundle_env_task, - ].concat(FastlaneRake.install_gems_tasks) << :gem_cleanup - - task :gem_cleanup do - execute 'Gem Clean Up', [BUNDLE_ENV, 'gem', 'cleanup'] - end - - task :remove_unneeded_files => :build_tools do - remove_if_existant = lambda do |*paths| - paths.each do |path| - rm_rf(path) if File.exist?(path) - end - end - if VERBOSE - puts - puts "Before clean:" - sh "du -hs #{BUNDLE_DESTROOT}" - end - remove_if_existant.call *FileList[File.join(BUNDLE_DESTROOT, 'lib/**/*.{,l}a')] - remove_if_existant.call *Dir.glob(File.join(BUNDLE_DESTROOT, 'lib/ruby/gems/**/*.o')) - remove_if_existant.call *Dir.glob(File.join(BUNDLE_DESTROOT, 'lib/ruby/gems/*/cache')) - remove_if_existant.call *Dir.glob(File.join(BUNDLE_DESTROOT, '**/man[0-9]')) - remove_if_existant.call *Dir.glob(File.join(BUNDLE_DESTROOT, '**/.DS_Store')) - remove_if_existant.call File.join(BUNDLE_DESTROOT, 'man') - remove_if_existant.call File.join(BUNDLE_DESTROOT, 'share/gitweb') - remove_if_existant.call File.join(BUNDLE_DESTROOT, 'share/man') - # TODO clean Ruby stdlib - if VERBOSE - puts "After clean:" - sh "du -hs #{BUNDLE_DESTROOT}" - end - end - - task :stamp_version do - path = File.join(DESTROOT, 'VERSION') - File.open(path, 'w') { |f| f.write "#{BUNDLE_VERSION}\n"} - end - - task :verify_linkage => :remove_unneeded_files do - skip = %w( .h .rb .py .pyc .tmpl .pem .png .ttf .css .rhtml .js .sample ) - Dir.glob(File.join(BUNDLE_DESTROOT, '**/*')).each do |path| - next if File.directory?(path) - next if skip.include?(File.extname(path)) - linkage = `otool -arch x86_64 -L '#{path}'`.strip - unless linkage.include?('is not an object file') - linkage = linkage.split("\n")[1..-1] - - puts - puts "Linkage of `#{path}`:" - puts linkage - - good = linkage.grep(%r{^\s+(/System/Library/Frameworks/|/usr/lib/)}) - bad = linkage - good - unless bad.empty? - puts - puts "[!] Bad linkage found in `#{path}`:" - puts bad - exit 1 - end - end - end - end - - file "#{DESTROOT}/parse_env.rb" do - cp 'parse_env.rb', "#{DESTROOT}/parse_env.rb" - end - - file "#{DESTROOT}/NOTICE.txt" do - cp 'NOTICE.txt', "#{DESTROOT}/NOTICE.txt" - end - - file "#{DESTROOT}/THIRDPARTYLICENSES.txt" do - cp "THIRDPARTYLICENSES.txt", "#{DESTROOT}/THIRDPARTYLICENSES.txt" - end - - task :copy_license_info => ["#{DESTROOT}/THIRDPARTYLICENSES.txt", "#{DESTROOT}/NOTICE.txt"] - - task :copy_all_shims_and_bins => [ - "#{DESTROOT}/fastlane", - "#{FULL_BUNDLE_PATH}/fastlane", - "#{DESTROOT}/sigh", - "#{FULL_BUNDLE_PATH}/sigh", - "#{DESTROOT}/snapshot", - "#{FULL_BUNDLE_PATH}/snapshot", - "#{DESTROOT}/pem", - "#{FULL_BUNDLE_PATH}/pem", - "#{DESTROOT}/frameit", - "#{FULL_BUNDLE_PATH}/frameit", - "#{DESTROOT}/deliver", - "#{FULL_BUNDLE_PATH}/deliver", - "#{DESTROOT}/produce", - "#{FULL_BUNDLE_PATH}/produce", - "#{DESTROOT}/gym", - "#{FULL_BUNDLE_PATH}/gym", - "#{DESTROOT}/scan", - "#{FULL_BUNDLE_PATH}/scan", - "#{DESTROOT}/match", - "#{FULL_BUNDLE_PATH}/match", - "#{DESTROOT}/cert", - "#{FULL_BUNDLE_PATH}/cert" - ] - - task :copy_scripts => [:copy_all_shims_and_bins, "#{DESTROOT}/parse_env.rb"] - - task :build => [:xcode_select, :build_tools, :remove_unneeded_files, :stamp_version, :copy_scripts, :copy_license_info] - - file ZIPPED_BUNDLE do - execute 'DITTO', ['ditto', '-ck', '--noqtn', '--sequesterRsrc', FULL_BUNDLE_PATH, ZIPPED_BUNDLE] - end - - file ZIPPED_STANDALONE do - execute 'DITTO', ['ditto', '-ck', '--noqtn', '--sequesterRsrc', FULL_BUNDLE_PATH, ZIPPED_STANDALONE] - end - - # Update the bundle-env file to contain information - # about the environment, in particular if the bundle - # should be self-contained - def prepare_bundle_env_for_env(standalone: false) - path = File.join(DESTROOT, "bundle", "bin", "bundle-env") - content = File.read(path) - placeholder = "{{IS_STANDALONE}}" - raise "Could not find placeholder #{placeholder} in '#{path}'" unless content.include?(placeholder) - content.gsub!(placeholder, standalone.to_s) - if !standalone - homebrew_placeholder = "{{IS_INSTALLED_VIA_HOMEBREW}}" - raise "Could not find placeholder #{homebrew_placeholder} in '#{path}'" unless content.include?(homebrew_placeholder) - content.gsub!(homebrew_placeholder, standalone.to_s) - end - File.write(path, content) - puts "Updated '#{path}' for IS_STANDALONE environment '#{standalone}'" - end - - def upload_latest(is_standalone: false) - latest_path = is_standalone ? "fastlane/standalone/latest.zip" : "fastlane/latest.zip" - fastlane_path = is_standalone ? "fastlane/standalone/fastlane.zip" : "fastlane/fastlane.zip" - s3_path = is_standalone ? Pathname.new(ZIPPED_STANDALONE) : Pathname.new(ZIPPED_BUNDLE) - options_hash = { - :content_disposition => 'attachement; filename="fastlane.zip', - :acl => :public_read - } - latest_obj = s3_bucket.objects[latest_path].write(s3_path, options_hash) - fastlane_obj = s3_bucket.objects[fastlane_path].write(s3_path, options_hash) - end - - def upload_package_to_s3(is_standalone: false) - path = is_standalone ? "fastlane/standalone/#{ZIPPED_STANDALONE}" : "fastlane/#{ZIPPED_BUNDLE}" - s3_path = is_standalone ? Pathname.new(ZIPPED_STANDALONE) : Pathname.new(ZIPPED_BUNDLE) - obj = s3_bucket.objects[path].write(s3_path) - obj.acl = :public_read - end - - def update_version_json(is_standalone: false) - version = ENV['FASTLANE_GEM_OVERRIDE_VERSION'] || FASTLANE_GEM_VERSION - json = { - version: version, - bundle_version: BUNDLE_VERSION, - updated_at: Time.now.getutc, - }.to_json - path = is_standalone ? 'fastlane/standalone/version.json' : 'fastlane/version.json' - obj = s3_bucket.objects[path].write json - obj.acl = :public_read - end - - def s3_bucket - ENV['AWS_ACCESS_KEY_ID'] = ENV['FASTLANE_AWS_ACCESS_KEY'] - ENV['AWS_SECRET_ACCESS_KEY'] = ENV['FASTLANE_AWS_SECRET_ACCESS_KEY'] - ENV['AWS_REGION'] = ENV['FASTLANE_S3_REGION'] - s3 = AWS::S3.new - bucket = ENV['FASTLANE_S3_STORAGE_BUCKET'] - s3.buckets[bucket] - end - - namespace :clean do - task :workbench do - rm_rf WORKBENCH_DIR - end - - task :downloads do - rm_rf DOWNLOAD_DIR - end - - task :package do - rm_rf Dir['bundle-*/'] - end - - task :zip do - rm_rf Dir['*.zip'] - end - - desc "Clean build leftovers" - task :leftovers => [:workbench, :downloads, :package] - - desc "Clean all artefacts, including downloads, and zip." - task :all => [:leftovers, :zip] - end -end diff --git a/bins/cert_bin b/bins/cert_bin deleted file mode 100755 index c517fc4..0000000 --- a/bins/cert_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/cert $@ \ No newline at end of file diff --git a/bins/deliver_bin b/bins/deliver_bin deleted file mode 100755 index a982e01..0000000 --- a/bins/deliver_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/deliver $@ \ No newline at end of file diff --git a/bins/fastlane-credential_bin b/bins/fastlane-credential_bin deleted file mode 100755 index d238f0f..0000000 --- a/bins/fastlane-credential_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/fastlane-credential $@ diff --git a/bins/fastlane_bin b/bins/fastlane_bin deleted file mode 100755 index b71db55..0000000 --- a/bins/fastlane_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/fastlane "$@" \ No newline at end of file diff --git a/bins/frameit_bin b/bins/frameit_bin deleted file mode 100755 index 6bd1ee7..0000000 --- a/bins/frameit_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/frameit $@ \ No newline at end of file diff --git a/bins/gym_bin b/bins/gym_bin deleted file mode 100755 index 316943d..0000000 --- a/bins/gym_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/gym $@ \ No newline at end of file diff --git a/bins/match_bin b/bins/match_bin deleted file mode 100755 index ee9a231..0000000 --- a/bins/match_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/match $@ \ No newline at end of file diff --git a/bins/pem_bin b/bins/pem_bin deleted file mode 100755 index f214401..0000000 --- a/bins/pem_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/pem $@ \ No newline at end of file diff --git a/bins/pilot_bin b/bins/pilot_bin deleted file mode 100755 index d748b7f..0000000 --- a/bins/pilot_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/pilot $@ diff --git a/bins/produce_bin b/bins/produce_bin deleted file mode 100755 index 9170c85..0000000 --- a/bins/produce_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/produce $@ \ No newline at end of file diff --git a/bins/scan_bin b/bins/scan_bin deleted file mode 100755 index 996cdc6..0000000 --- a/bins/scan_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/scan $@ \ No newline at end of file diff --git a/bins/screengrab_bin b/bins/screengrab_bin deleted file mode 100755 index 963eb56..0000000 --- a/bins/screengrab_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/screengrab $@ diff --git a/bins/sigh_bin b/bins/sigh_bin deleted file mode 100755 index 9f5253e..0000000 --- a/bins/sigh_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/sigh $@ \ No newline at end of file diff --git a/bins/snapshot_bin b/bins/snapshot_bin deleted file mode 100755 index fa6115f..0000000 --- a/bins/snapshot_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/snapshot $@ \ No newline at end of file diff --git a/bins/spaceauth_bin b/bins/spaceauth_bin deleted file mode 100755 index 3efb848..0000000 --- a/bins/spaceauth_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/spaceauth $@ diff --git a/bins/spaceship_bin b/bins/spaceship_bin deleted file mode 100755 index 55c2a7e..0000000 --- a/bins/spaceship_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/spaceship $@ diff --git a/bins/supply_bin b/bins/supply_bin deleted file mode 100755 index a2087a5..0000000 --- a/bins/supply_bin +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/lib/fastlane_lib/supply $@ diff --git a/bundle-env b/bundle-env index ef6249a..d58a609 100755 --- a/bundle-env +++ b/bundle-env @@ -3,13 +3,8 @@ BIN=$(cd "$(dirname "$0")"; pwd) PREFIX=$(dirname $BIN) LIB_PATH=$(dirname $PREFIX) -# FASTLANE_SELF_CONTAINED means that -# our bundled Ruby doesn't look for gems -# in the system's Ruby directory -# {{ IS_STANDALONE }} will be replaced -# when preparing the actual bundle -export FASTLANE_SELF_CONTAINED={{IS_STANDALONE}} -export FASTLANE_INSTALLED_VIA_HOMEBREW={{IS_INSTALLED_VIA_HOMEBREW}} +export FASTLANE_SELF_CONTAINED=true +export FASTLANE_INSTALLED_VIA_HOMEBREW=true # Clear known env variables that can influence the standalone installation in a bad way. unset RUBYOPT @@ -41,9 +36,5 @@ else fi fi -if [ "$FASTLANE_SELF_CONTAINED" = "true" ] || [ "$FASTLANE_INSTALLED_VIA_HOMEBREW" = "true" ]; then - ruby $LIB_PATH/bundle_update_checker.rb -fi - # Suppress errors relating to native extensions in the user's gemset. exec "$@" 2> >(grep -v '^Ignoring .* because its extensions are not built. Try: gem pristine .* --version .*') diff --git a/bundle_dependency_tasks.rb b/bundle_dependency_tasks.rb deleted file mode 100644 index 8c9eeb0..0000000 --- a/bundle_dependency_tasks.rb +++ /dev/null @@ -1,208 +0,0 @@ -class BundleDependencyTasks - include FastlaneRake - include Rake::DSL - - def relative_path(path) - path.start_with?(ROOT) ? path[ROOT.size+1..-1] : path - end - - def self.define(&block) - new(&block).tap(&:define_tasks) - end - - # The URL from where to download the package. - attr_accessor :url - - # An array of options that should be passed to the `configure` script. The `prefix` is already set. - attr_accessor :configure - - # A relative path to a file that should exist (in the `WORKBENCH_DIR`) after building the package. - attr_accessor :artefact_file - - # A relative path to a file that should exist (in the `prefix`) after installing the package. - attr_accessor :installed_file - - # The installed paths (e.g. `BundleDependencyTasks#installed_path`) that this package depends on. - attr_accessor :dependencies - - # The `--prefix` value passed to the `configure` script. - attr_accessor :prefix - - def initialize - @dependencies = [] - @configure = [] - yield self - end - - def define_tasks - define_download_task - define_unpack_task - define_build_task - define_install_task - end - - def package_name - File.basename(@url).split('.tar.').first - end - - def execute(*command) - super(package_name, command) - end - - def downloaded_file - File.join(DOWNLOAD_DIR, File.basename(@url)) - end - - def download_task - execute '/usr/bin/curl', '-sSL', @url, '-o', downloaded_file - end - - def define_download_task - file(downloaded_file => DOWNLOAD_DIR) { download_task } - end - - def build_dir - File.join(WORKBENCH_DIR, package_name) - end - - def unpack_command - ['/usr/bin/tar', '-zxvf', downloaded_file, '-C', WORKBENCH_DIR] - end - - def unpack_task - execute *unpack_command - end - - def define_unpack_task - directory(build_dir => [downloaded_file, WORKBENCH_DIR]) { unpack_task } - end - - def artefact_path - File.join(build_dir, @artefact_file) - end - - def build_command - ['/usr/bin/make', '-j', MAKE_CONCURRENCY] - end - - def build_task - Dir.chdir(build_dir) do - execute '/bin/sh', 'configure', '--prefix', @prefix, *@configure - execute *build_command - end - end - - def define_build_task - dependencies = @dependencies + [build_dir] - file(artefact_path => dependencies) { build_task } - end - - def installed_path - File.join(relative_path(@prefix), @installed_file) - end - - def install_task - Dir.chdir(build_dir) do - execute '/usr/bin/make', 'install' - end - end - - def define_install_task - file(installed_path => artefact_path) { install_task } - end -end - -class PythonSetupTasks < BundleDependencyTasks - def self.python_version - @python_version ||= `/usr/bin/python --version 2>&1`.match(/\d\.\d/)[0] - end - - def artefact_script=(script_name) - self.artefact_file = File.join('build', "scripts-#{self.class.python_version}", script_name) - end - - def build_task - Dir.chdir(build_dir) do - execute '/usr/bin/python', 'setup.py', 'build' - end - end - - def install_task - Dir.chdir(build_dir) do - execute '/usr/bin/python', 'setup.py', 'install', '--prefix', BUNDLE_PREFIX - end - end -end - -class PkgConfigTasks < BundleDependencyTasks - def install_task - super - mkdir_p PKG_CONFIG_LIBDIR - end -end - -class OpenSSLTasks < BundleDependencyTasks - def build_task - Dir.chdir(build_dir) do - execute '/usr/bin/perl', 'Configure', "--prefix=#{DEPENDENCIES_PREFIX}", 'no-shared', 'zlib', 'darwin64-x86_64-cc' - # OpenSSL needs to be build with at max 1 process - execute '/usr/bin/make', '-j', '1' - end - # Seems to be a OpenSSL bug in the pkg-config, as libz is required when - # linking libssl, otherwise Ruby's openssl ext will fail to configure. - # So add it ourselves. - %w( libcrypto.pc libssl.pc ).each do |pc_filename| - pc_file = File.join(build_dir, pc_filename) - log(package_name, "Patching: #{pc_file}") - original_content = File.read(pc_file) - content = original_content.sub(/Libs:/, 'Libs: -lz') - if original_content == content - raise "[!] Did not patch anything in: #{pc_file}" - end - File.open(pc_file, 'w') { |f| f.write(content) } - end - end -end - -class NCursesTasks < BundleDependencyTasks - def unpack_task - super - Dir.chdir(build_dir) do - execute '/usr/bin/patch', '-p', '1', '-i', File.join(PATCHES_DIR, 'ncurses.diff') - end - end -end - -class RubyTasks < BundleDependencyTasks - attr_accessor :installed_libruby_path, :installed_dependencies - - # TODO Look into using ext/extinit.c instead, but this will autoload the extensions, - # so that makes more sense to look into when switching to a dynamic libruby. - def define_install_libruby_task - file installed_libruby_path => artefact_path do - cp artefact_path, installed_libruby_path - %w{ bigdecimal date/date_core.a digest fiddle pathname psych stringio strscan }.each do |ext| - ext = "#{ext}/#{ext}.a" unless File.extname(ext) == '.a' - execute '/usr/bin/libtool', '-static', '-o', installed_libruby_path, installed_libruby_path, File.join(build_dir, 'ext', ext) - end - - execute '/usr/bin/libtool', '-static', '-o', installed_libruby_path, installed_libruby_path, File.join(build_dir, 'enc', 'libenc.a') - execute '/usr/bin/libtool', '-static', '-o', installed_libruby_path, installed_libruby_path, File.join(build_dir, 'enc', 'libtrans.a') - - installed_dependencies.each do |installed_dependency| - execute '/usr/bin/libtool', '-static', '-o', installed_libruby_path, installed_libruby_path, installed_dependency - end - end - end - - def define_tasks - super - define_install_libruby_task - end -end - -class RubyGemsTasks < BundleDependencyTasks - def package_name - File.basename(@url, '.gem') - end -end diff --git a/bundle_tasks.rake b/bundle_tasks.rake deleted file mode 100644 index f351cb1..0000000 --- a/bundle_tasks.rake +++ /dev/null @@ -1,295 +0,0 @@ -load './setup.rb' -load './bundle_dependency_tasks.rb' - -module FastlaneRake - include Rake::DSL - def self.log(group, message) - $stderr.puts "[#{Time.now.strftime('%T')}] [#{group}] #{message}" - end - - def self.install_gem(name, version = nil, group = 'Gems') - execute group, [BUNDLE_ENV, 'gem', 'install', name, ("--version=#{version}" if version), '--no-document', '--env-shebang'].compact - end - - def self.install_local_fastlane - fastlane_dir = ENV['LOCAL_FASTLANE_DIR'] - dot_gem = Dir["#{fastlane_dir}/fastlane-*.gem"][0] - execute 'Gems', [BUNDLE_ENV, 'gem', 'install', dot_gem, '--no-document', '--env-shebang'].compact - end - - def self.execute(group, command, output_file = nil) - command.map!(&:to_s) - log_command(group, command, output_file) - - if output_file - out = File.open(output_file, 'a') - end - if VERBOSE - out ||= $stdout - err = $stderr - else - err = File.open("/tmp/fabric-app-bundle-build-#{Process.pid}", 'w+') - out ||= err - end - command << { :out => out, :err => err } - - Process.wait(Process.spawn(*command)) - unless $?.success? - unless VERBOSE - out.rewind - $stderr.puts(out.read) - end - exit $?.exitstatus - end - ensure - out.close if out && output_file - err.close if err && !VERBOSE - end - - def self.log_command(group, command, output_file) - command_for_presentation = command.map do |component| - if component.include?('=') - key, value = component.split('=', 2) - # Add extra quotes around values of key=value pairs - %{#{key}="#{value}"} - else - component - end - end - wd = Dir.pwd - if wd == ROOT - # Make command path relative, if inside `ROOT` - command_for_presentation[0] = relative_path(command_for_presentation[0]) - else - # Change working-dir to `wd` - command_for_presentation.unshift("cd #{relative_path(wd)} &&") - end - if output_file - # Redirect output to `output_file` - command_for_presentation << '>' - command_for_presentation << output_file - end - - log(group, command_for_presentation.join(' ')) - end - - def self.relative_path(path) - path.start_with?(ROOT) ? path[ROOT.size+1..-1] : path - end - - # ------------------------------------------------------------------------------ - # pkg-config - # ------------------------------------------------------------------------------ - - pkg_config_tasks = PkgConfigTasks.define do |t| - t.url = PKG_CONFIG_URL - t.artefact_file = 'pkg-config' - t.installed_file = 'bin/pkg-config' - t.prefix = DEPENDENCIES_PREFIX - t.configure = %w{ --enable-static --with-internal-glib } - end - - @@installed_pkg_config = pkg_config_tasks.installed_path - def self.pkg_config_task - @@installed_pkg_config - end - - # ------------------------------------------------------------------------------ - # YAML - # ------------------------------------------------------------------------------ - - yaml_tasks = BundleDependencyTasks.define do |t| - t.url = LIBYAML_URL - t.artefact_file = 'src/.libs/libyaml.a' - t.installed_file = 'lib/libyaml.a' - t.configure = %w{ --disable-shared } - t.prefix = DEPENDENCIES_PREFIX - t.dependencies = [@@installed_pkg_config] - end - - @@installed_yaml = yaml_tasks.installed_path - def self.yaml_task - @@installed_yaml - end - - # ------------------------------------------------------------------------------ - # ZLIB - # ------------------------------------------------------------------------------ - - zlib_tasks = BundleDependencyTasks.define do |t| - t.url = ZLIB_URL - t.artefact_file = 'libz.a' - t.installed_file = 'lib/libz.a' - t.configure = %w{ --static } - t.prefix = DEPENDENCIES_PREFIX - t.dependencies = [@@installed_pkg_config] - end - - @@installed_zlib = zlib_tasks.installed_path - def self.zlib_task - @@installed_zlib - end - - # ------------------------------------------------------------------------------ - # OpenSSL - # ------------------------------------------------------------------------------ - - openssl_tasks = OpenSSLTasks.define do |t| - t.url = OPENSSL_URL - t.artefact_file = 'libssl.a' - t.installed_file = 'lib/libssl.a' - t.prefix = DEPENDENCIES_PREFIX - t.dependencies = [@@installed_pkg_config, @@installed_zlib] - end - - @@installed_openssl = openssl_tasks.installed_path - def self.openssl_task - @@installed_openssl - end - - # ------------------------------------------------------------------------------ - # Ruby - # ------------------------------------------------------------------------------ - - ruby_tasks = RubyTasks.define do |t| - t.url = RUBY_URL - t.artefact_file = 'libruby-static.a' - t.installed_file = 'bin/ruby' - t.prefix = BUNDLE_PREFIX - t.configure = %w{ --enable-load-relative --disable-shared --with-static-linked-ext --disable-install-doc --with-out-ext=,dbm,gdbm,sdbm,dl/win32,fiddle/win32,tk/tkutil,tk,win32ole,-test-/win32/dln,-test-/win32/fd_setsize,-test-/win32/dln/empty } - t.dependencies = [@@installed_pkg_config, @@installed_yaml, @@installed_openssl] - - t.installed_libruby_path = File.join('app', 'CPReflectionService', 'libruby+exts.a') - t.installed_dependencies = [@@installed_yaml] - end - - @@installed_ruby = ruby_tasks.installed_path - @@installed_ruby_static_lib = ruby_tasks.installed_libruby_path - def self.ruby_task - @@installed_ruby - end - def self.ruby_static_lib_task - @@installed_ruby_static_lib - end - # ------------------------------------------------------------------------------ - # bundle-env - # ------------------------------------------------------------------------------ - - @@installed_env_script = File.join(BUNDLE_DESTROOT, 'bin/bundle-env') - file @@installed_env_script do - log 'bundle-env', 'Installing' - cp 'bundle-env', @@installed_env_script - chmod '+x', @@installed_env_script - end - def self.bundle_env_task - @@installed_env_script - end - - # ------------------------------------------------------------------------------ - # Gems - # ------------------------------------------------------------------------------ - - @@rubygems_tasks = RubyGemsTasks.new { |t| t.url = RUBYGEMS_URL }.tap(&:define_download_task) - @@rubygems_gem = @@rubygems_tasks.downloaded_file - - rubygems_update_dir = File.join(GEM_HOME, 'gems', @@rubygems_tasks.package_name) - directory rubygems_update_dir => [@@installed_ruby, @@installed_env_script, @@rubygems_gem] do - install_gem(@@rubygems_gem, nil, @@rubygems_tasks.package_name) - execute(@@rubygems_tasks.package_name, [BUNDLE_ENV, 'update_rubygems']) - # Fix shebang of `gem` bin to use bundled Ruby. - bin = File.join(BUNDLE_DESTROOT, 'bin/gem') - log(@@rubygems_tasks.package_name, "Patching: #{bin}") - lines = File.read(bin).split("\n") - lines[0] = '#!/usr/bin/env ruby' - File.open(bin, 'w') { |f| f.write(lines.join("\n")) } - chmod '+x', bin - end - - # ------------------------------------------------------------------------------ - # Bundler - # ------------------------------------------------------------------------------ - @@installed_bundler_bin = File.join(BUNDLE_DESTROOT, 'bin/bundle') - file @@installed_bundler_bin => rubygems_update_dir do - install_gem 'bundler' - end - def self.bundler_task - @@installed_bundler_bin - end - - # ------------------------------------------------------------------------------ - # Fastlane Gems - # ------------------------------------------------------------------------------ - - @@installed_fastlane_bin = File.join(BUNDLE_DESTROOT, 'bin/fastlane') - file @@installed_fastlane_bin => rubygems_update_dir do - version = ENV['FASTLANE_GEM_VERSION'] || FASTLANE_GEM_VERSION - if version == 'local' - puts 'Please pass LOCAL_FASTLANE_DIR environment variable.' unless ENV['LOCAL_FASTLANE_DIR'] - exit 0 unless ENV['LOCAL_FASTLANE_DIR'] - install_local_fastlane - else - install_gem 'fastlane', version - end - end - def self.fastlane_task - @@installed_fastlane_bin - end - - # ------------------------------------------------------------------------------ - # Third-party gems - # ------------------------------------------------------------------------------ - - # Note, this assumes its being build on the latest OS X version. - @@installed_osx_gems = [] - Dir.glob('/System/Library/Frameworks/Ruby.framework/Versions/[0-9]*/usr/lib/ruby/gems/*/specifications/*.gemspec').each do |gemspec| - # We have to make some file that does not contain any version information, otherwise we'd first have to query rubygems - # for the available versions, which is going to take a long time. - installed_gem = File.join(GEM_HOME, 'specifications', "#{File.basename(gemspec, '.gemspec').split('-')[0..-2].join('-')}.Fabric-app.installed") - @@installed_osx_gems << installed_gem - file installed_gem => rubygems_update_dir do - suppress_upstream = false - require 'rubygems/specification' - gem = Gem::Specification.load(gemspec) - # First install the exact same version that Apple included in OS X. - case gem.name - when 'libxml-ruby' - # libxml-ruby-2.6.0 has an extconf.rb that depends on old behavior where `RbConfig` was available as `Config`. - install_gem(File.join(PATCHES_DIR, "#{File.basename(gemspec, '.gemspec')}.gem")) - when 'sqlite3' - # sqlite3-1.3.7 depends on BigDecimal header from before BigDecimal was made into a gem. I doubt anybody really - # uses sqlite for fastlane dependencies anyways, so just skip this old version. - when 'nokogiri' - # nokogiri currently has a design flaw that results in its build - # failing every time unless I manually patch extconf.rb. I have - # included a patched copy of nokogiri in the patches/ directory. - # Until this is remedied, I cannot install the upstream version - # of nokogiri. - install_gem(File.join(PATCHES_DIR, "#{File.basename(gemspec, '.gemspec')}.gem")) - suppress_upstream = true - else - install_gem(gem.name, gem.version) - end - # Now install the latest version of the gem. - install_gem(gem.name) unless suppress_upstream - # Create our nonsense file that's only used to track whether or not the gems were installed. - touch installed_gem - end - end - def self.install_gems_tasks - @@installed_osx_gems - end - - # ------------------------------------------------------------------------------ - # Root Certificates - # ------------------------------------------------------------------------------ - - @@installed_cacert = File.join(BUNDLE_DESTROOT, 'share/cacert.pem') - file @@installed_cacert do - %w{ /Library/Keychains/System.keychain /System/Library/Keychains/SystemRootCertificates.keychain }.each do |keychain| - execute 'Certificates', ['/usr/bin/security', 'find-certificate', '-a', '-p', keychain], @@installed_cacert - end - end - def self.cacert_task - @@installed_cacert - end -end \ No newline at end of file diff --git a/bundle_update_checker.rb b/bundle_update_checker.rb deleted file mode 100644 index 24866bc..0000000 --- a/bundle_update_checker.rb +++ /dev/null @@ -1,39 +0,0 @@ -require 'net/http' -require 'json' - -begin - url = URI.parse('https://kits-crashlytics-com.s3.amazonaws.com/fastlane/standalone/version.json') - # Work around ruby defect, where HTTP#get_response and HTTP#post_form - # don't use ENV proxy settings - # https://bugs.ruby-lang.org/issues/12724 - http_conn = Net::HTTP.new(url.host, url.port) - http_conn.use_ssl = true - http_conn.read_timeout = 5 - http_conn.open_timeout = 5 - http_conn.ssl_timeout = 5 - - resp = http_conn.request_get(url.path) - - version_file = File.expand_path(File.join(File.dirname(__FILE__), 'VERSION')) - unless File.exist?(version_file) - raise "Version file not found `#{version_file}`" - end - json_string = resp.body - json = JSON.parse(json_string) - available_bundle_version = json['bundle_version'] - - version_string = File.open(version_file) { |file| file.each_line.first } - current_bundle_version = version_string.chomp.to_f - - if available_bundle_version > current_bundle_version - puts 'fastlane update available' - if ENV['FASTLANE_INSTALLED_VIA_HOMEBREW'] == 'true' - puts 'Please run `brew update && brew cask reinstall fastlane`' - else - puts 'Please update fastlane by downloading an updated bundle from' - puts 'https://download.fastlane.tools' - end - end -rescue => ex - puts "fastlane could not check for updates error: #{ex.message}" -end diff --git a/cask/fastlane.rb.template b/cask/fastlane.rb.template index 6fa3226..4bde4e2 100644 --- a/cask/fastlane.rb.template +++ b/cask/fastlane.rb.template @@ -11,3 +11,18 @@ cask 'fastlane' do uninstall script: { executable: "#{staged_path}/uninstall", args: ['-y'], sudo: false } end + +This is how its created but you know... not here +# desc "Prepare Homebrew cask file" +# task :prepare_cask_template do +# brew_template_path = File.join(File.dirname(__FILE__), "cask", "fastlane.rb.template") +# brew_file_path = File.join(File.dirname(__FILE__), "cask", "fastlane.rb") +# +# template = File.read(brew_template_path) +# template.gsub!("{{CURRENT_VERSION}}", BUNDLE_VERSION.to_s) +# +# sha256sum = Digest::SHA256.file(ZIPPED_STANDALONE).hexdigest +# template.gsub!("{{SHA_NUM}}", sha256sum) +# +# File.write(brew_file_path, template) +# end \ No newline at end of file diff --git a/install b/install index 5eeb2f1..fad07d3 100755 --- a/install +++ b/install @@ -5,6 +5,12 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source "$CURRENT_DIR/common.sh" +PACKAGED_FASTLANE_VERSION=2.0.0 +PACKAGED_RUBY_VERSION=2.4.5 + +PACKAGED_FASTLANE_VERSION_FILE="$FASTLANE_DIR/PACKAGED_FASTLANE_VERSION.txt" +PACKAGED_RUBY_VERSION_FILE="$FASTLANE_DIR/PACKAGED_RUBY_VERSION.txt" + usage() { echo "./install [-u] [-p] [-b]" echo " -u : Uninstall fastlane if it exists in $FASTLANE_DIR" @@ -13,69 +19,125 @@ usage() { exit 1 } -INSTALLED_VIA_HOMEBREW=false - +# Reads all options passed in and sets environment variables or shows usage/help while getopts ":pub" opt; do case $opt in p ) SKIP_SETTING_PATH=1;; - u ) DO_UNINSTALL=1;; b ) INSTALLED_VIA_HOMEBREW=true;; * ) usage ;; esac done -if [ -d "$FASTLANE_DIR" ]; then - echoc "fastlane is already installed at $FASTLANE_DIR" yellow - if [ "$DO_UNINSTALL" == "1" ]; then - choice="y" +install_or_upgrade_via_homebrew() +{ + PACKAGE=$1 + list_output=`brew list | grep $PACKAGE` + outdated_output=`brew outdated | grep $PACKAGE` + + if [[ ! -z "$list_output" ]]; then + echo "$PACKAGE is installed" + if [[ -z "$outdated_output" ]]; then + echo "$PACKAGE is updated" + else + echo "$PACKAGE is not updated" + prompt_to_install_or_upgrade $PACKAGE + brew upgrade $PACKAGE + fi else - read -p "Do you want to reinstall fastlane? The old directory, including any changes you made, will be removed! (y/N) " -n 1 choice - echo "" + echo "$PACKAGE is not installed." + prompt_to_install_or_upgrade $PACKAGE + brew install $PACKAGE fi +} - case $choice in - y|Y ) - echoc "The installer will now run the uninstall script to remove your existing fastlane bundle..." magenta - - if [ "$DO_UNINSTALL" == "1" ]; then - "$CURRENT_DIR/uninstall" -y - else - "$CURRENT_DIR/uninstall" - fi - - if [[ $? != 0 ]]; then - echoc "There was a problem uninstalling the previous fastlane bundle, aborting installation..." red - exit 1 - fi - echoc "Done uninstalling, your regular installation will now commence. 🚕 💨" green - ;; - * ) - echoc "Installation aborted, nothing to be done!" green - exit 1 - ;; +prompt_to_install_or_upgrade() +{ + PACKAGE=$1 + + read -p "The installer needs to install/upgrade $PACKAGE with brew. Is that okay? (y/N) " -n 1 choice + echo "" + + case "$choice" in + y|Y ) + # Nothing + ;; + * ) + echoc "Cancelled uninstall process" red + exit 1 + ;; esac +} + +# Check if fastlane already exists +if [ -d "$FASTLANE_DIR" ]; then + echoc "fastlane is already installed at $FASTLANE_DIR" yellow + + # Check if old version and clean it up + if [ ! -f $PACKAGED_FASTLANE_VERSION_FILE ]; then + echoc "Found old version of brew packaged fastlane. Cleaning up..." yellow + "$CURRENT_DIR/uninstall" -y + fi fi -# Copy fastlane to ~/.fastlane -echoc "Installing fastlane to $FASTLANE_DIR... this might take a few seconds" yellow -mkdir -p $FASTLANE_DIR -# We have to skip the 2 error messages below, which are shown if a previous version of fastlane -# was installed via the bundle -cp -R "$CURRENT_DIR/fastlane_lib/" $FASTLANE_DIR +echoc "Installing fastlane to $FASTLANE_DIR..." yellow + +# +# Install ruby-build and Ruby version $PACKAGED_RUBY_VERSION only if needed +# +if [[ -f $PACKAGED_RUBY_VERSION_FILE && $(< $PACKAGED_RUBY_VERSION_FILE) == "$PACKAGED_RUBY_VERSION" ]]; then + echo "Ruby $PACKAGED_RUBY_VERSION already installed" +else + echo "Ruby $PACKAGED_RUBY_VERSION not installed. Preparing to install now. This might take a few minutes" + brew update >/dev/null 2>&1 + + install_or_upgrade_via_homebrew "ruby-build" + install_or_upgrade_via_homebrew "openssl" + + echoc "Building Ruby $PACKAGED_RUBY_VERSION... this also might take a few minutes" yellow + + mkdir -p "$FASTLANE_DIR/bundle" + + OPENSSL_DIR=$(brew --prefix openssl) + if [ $? -ne 0 ]; then + echoc "Couldn't find path of OpenSSL. Cancelled install process..." red + exit 1 + fi + + echo "Linking Ruby $PACKAGED_RUBY_VERSION to OpenSSL at $OPENSSL_DIR" + RUBY_CONFIGURE_OPTS=--with-openssl-dir="$OPENSSL_DIR" ruby-build $PACKAGED_RUBY_VERSION "$FASTLANE_DIR/bundle" + + echo "$PACKAGED_RUBY_VERSION" >> $PACKAGED_RUBY_VERSION_FILE +fi + +# Copy helpers for keeping a clean execution environment +cp "$CURRENT_DIR/bundle-env" "$FASTLANE_DIR/bundle/bin" +cp "$CURRENT_DIR/parse_env.rb" "$FASTLANE_DIR" + +# Install bundler and fastlane +$FASTLANE_DIR/bundle/bin/bundle-env gem install bundler --no-document --env-shebang +$FASTLANE_DIR/bundle/bin/bundle-env gem install fastlane --no-document --env-shebang + +# Copy the fastlane executable to run fastlane in the bundled environment +cp "$CURRENT_DIR/fastlane_shim" "$FASTLANE_DIR/fastlane" + +# Copy legal stuff cp "$CURRENT_DIR/NOTICE.txt" "$FASTLANE_DIR/.." cp "$CURRENT_DIR/THIRDPARTYLICENSES.txt" "$FASTLANE_DIR/.." -echoc "Successfully copied fastlane to $FASTLANE_DIR" green +echoc "Successfully installed fastlane to $FASTLANE_DIR" green echo "" -# Set the FASTLANE_INSTALLED_VIA_HOMEWBREW flag in bundle-env -BUNDLE_ENV_PATH="$FASTLANE_DIR/bundle/bin/bundle-env" -sed -i '' "s/{{IS_INSTALLED_VIA_HOMEBREW}}/$INSTALLED_VIA_HOMEBREW/g" $BUNDLE_ENV_PATH +echo "$PACKAGED_FASTLANE_VERSION" >> $PACKAGED_FASTLANE_VERSION_FILE # Update the contained fastlane install reset_color "$FASTLANE_DIR/fastlane" update_fastlane +if [ $? -ne 0 ]; then + echoc "Failed to update fastlane after installing fastlane for unkown reason. This shouldn't have happened..." red + exit 1 +fi + manual_installation() { echoc "Please add the following line to your $shell profile:" yellow set_color cyan diff --git a/patches/libxml-ruby-2.6.0.gem b/patches/libxml-ruby-2.6.0.gem deleted file mode 100644 index 072051446c43dd880cbae1700c7bf7c9dcb21a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269312 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,L6r$0ZlPg31K156F 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

9znq$SV(i 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

B+J!=TbNadd=mp^W{-}c@aVSHYsj%TO}manGI zZ@j#AenEV78vVbw8_-`#$i#tq`eEgfJdrZ{XPwh`tv9TEHBe($_)qR~6P$+b84cGp zZ$n4c@$ACNu_%5tem6c(KO0j@Luu^qQ`Sr4i+V`9qJqCLREqv5-wQK!rZoAg-wXEh026NX# znIqbc)(o-d%F~`do&Wj8P%2;V&3pd#w(+$ufl0H&>ZkYp&WS|ZDu-kd|Jk3E!Xnr?i3H?Q3g@&9QiFM zPA+ZueK4}eL)V&?LB+r;XrYeK#XQKNLQtomXg~_2^2D4OL&x|Wy!))^RKeSzEvQla zsZM91Q-7`ePsg4X@#1?;)v)5PwJOR=8voM}F7*&F%l~()7We<(d|Lm%we!Dvy%(I< zAtzno-T;YSlAv19E6aPhve+bCebyD}Us`_gY7JQjK}weS(=%?Q^V8eO+(WBHKXmpg z#GTTse#x*t8&;Wk8GA=VlQytn*nQVR!E1lA#<#_p>0*K_^yUo>Nw|s}8EM$WtTWZ& z`SAM(2CQVLr9PH1Os+Zb*(en1^}-t7Xfyo3lvGP0-lq(dRp@IULj!#=h7FE2ebNzQ z@*iUzJ;3cxw*24StwiMi*3Q%Z@7uTk=>fsu?K{X;x_svm57@bUzkPbx1i_1uOh8Rk zUW$Uj!EC5#__Zk9YyKJmDc^`9L^WZo}VfZpmVWFbo*O93W0}bBE-ZxIz@pQOk__Zj^ zj`|Oq{cf+(>B++3*RjIQ_F=pzyi{iGO+S$|-snaZ-NX!?A%r6TDgQ~I+jcE;9mv}M zZ*5hh`v2xr{GV@G{)^``pqL**7Zj&NK7sX)IkrvDsC)LmEu%iRrk7YDY-bQkm?2aW!%+Z$9?1j!nkClmeOz{EYe3#)LuU7}(ponK>TtI~2sSEs_Hu1jxO6 z$g)S@I&;IBLSe)eUJ2B(aX{Q7#IPW2Pho$~ngTR!*Kn?LQD6gD5JHJY zlIKPf18GlT7@#k%fi(dVF3etlUKyt*3h;-OFqAv;Ki2^sMhs-}f330^-T!S@p6vg= zI{(A}fTkHAVQ>yunTG}))%f2M?@*OtT)$ zT|BcjcoILuxnSNP&V>&W!CDdT_l+Z1b<5~KR4iCGzKkmiwAF_nA`4)7R9GudOn)#c zZv4ahYv=u&-}=X`H)t94bF+i?pYZlWVfAD2AH(wB*6`QH+K1}Lm6f;Fq+ahbFBG=O zqJ0pZIwRrYQ8WH!=lRn9s-Vz#K@<^4vm*RSd>lCwYi3?rygufau5aKnx#gBGZGSXB z#}n%f9b9idnV9aaXu1R6j5qdlNC_2CkTSVflNE**Q!m&E?(MBNPrI}a=`j@xTOcT) zbI{fX{(iEdmO*dF=JaxosGh5h;QYL8pPn=c5`$7h?Fuw4XMAP*Wv)qG;1Qmf$r7k5 zW6Q+o>GLW2fFYQZRu2FStf^;}6=i@uHe_$xkjwnn9_KgbARNZy@>Il&~aeL`o^4K#X`v_{9@Yc z-TBlw7}+L1cP*11@WNndO$#NB&vM}q%KW!Ey>`4S8!I)YbJx5y&RqM}B&Y`?(;eHE z(KSE8_~?OjZV`$znu2~wrZ0r+Y;5|78z4)hf5xBdbz~Y*ie}!0GOO@wRlLO*6;qGj zetlR~_z`}>fL_3YyeeBleHjZL+CbrB=e+o#@UGSEopyfH;w#WTZXGn+-DYYT%?guR z{-n`v9W}eX)IuHe%0ise3pE>uC(W`ubkbY&EPp;j{UoiBGJt=@+#&f3kMb8CGTtTF5vV&uphLQGkhCDw!$ zkSC)y#s~3YuhDV{$E=QFCBhB!zG#{b_mZN3tSEM8013A=_?{V9eg4cItjWyhrmXl3 zNX{g3vWD&T&DTY8;#reL%k~te058WCbEK7C>!jIbj+t+S>?@y7&L=cWH#k2xFitba z1sT9khS!YW4XRi6LErJo7Q6YtXNc&}(|_7uXUQ*{do4XUnUBrkvN9l(_D zuU5ok7xX#T_HXxBTd*$_Z%=?-U=Oyx+NDS1^nX@gaq^@Fx|aJ1_PQO*e($C`b$hc~t8VRaS*sL9&5}jZ7`}q_YjeF?Td!{Ss@wI=&HCondgXb&QrX*3 zi-jwnI75oC5v{#d->#~)Wx1ewb7=cr92nSYzY0upnh%)2F`ryM+P7mf*o{0tqRhs z?rH}?9R`l6ZYXdtbnWpWiVp-#tClk|8K%l6ZgXq%dF4fIH-lZOFvCFM>(y$nvRen5 zuk9|tE*Z76*hN7yom)Kna+<~~?E9aUQx0G=1^WE4IURZfb7mQ0KoS^Y`>qU8-BxL< zx|zif0wWAD!%5bwGvws+*JYO4S7Mgu_3amRSZ5Yx7LY`>bY^*Lf?&kVy2<>a6#28V z%rBO8HNG`2#YlkODabK_X)1T+nWH7}%&~dyxb+tLb&SV!1M_v+X7jsSW5Q#b#5q|r z@aJG2brkSgax52~Vfw znjz58*&Dg@bHkSdvTUvF`&e9H3R-9>?>p|TmW$qecU%O@*TA)WE18Re5?_gns*7+D zfLi{c8Xo~VY`#ER0}>@af?)Ts?4yD=OW>#fcFv6xATifA$6o!2BkpmoVn;v5v3)u6 z6NKa)xhsK<^0C;#cX(z!xH69ClXJ^WJGfQ~{aG0;GziP)sK(Mc3egqZbcS-k`&O8! zR#k3FE48i4LN}$=-FmHZ=bO@4?R+<-49he=Igkr24 zhmO&9d<^)%{GCum*$Gu@o3$*S0$Md~*qLDu9*I>l_+&faliKFa^V$M@vRSVIjo0qT zC!6)Ht-J6^ZEI&IgHKwnYhSVx*>{eYqS?g?e$N~eV~wBf>FwB1#^BhVT9RJ`rC}nY zt~DNW_+buWkX0s9UMOQY9XJz9&rOn-UIe@Zl(?HQ3OQD%6WbdEkNPo7#%xav0QFcq zR$4g|AGZ*oIQ#?0^MwRbUj-!(PTzLZ2d}o3y|$|x8qdeOinoq4^o*`E9_j}tsolMX z=UINnbcPVBr6VL|ltGa7*d#W(*RjX|=FEY8^Q-mh-bUy}Q10(@bL!jv?dkL#P!Fh^cLj-(DuzJ&sX>C-}S|Ahh#xbiL)z%HA)R}1XKA9A(WQ3cua?dOZF7M1$; z^SiGWyY=nbT~>?TTGnc@wfJhW^|V?%?rO1hpVgxB9j_K!_gyV2yHBgdGFFR47K_^E zcK)r!?jLlqc&=_OYCDz17K`2bR^>j6#nxR8j%ry4N1KZ;7Mo9t#p5m(oA+8Q@T%%N zT`V^5zgSeCKP?uIy|t+A?B+j+!U_5#t`s9*wcN$1IyxwFnzI=Q@&QW%FlD3^w*w$QxbOf`*Wa}Pi85O6ZG}Fm#jiE z88hl{hFsm<{xb>I(AXHysxO|eZ&vb&*X^Ar`MNauy7fG#eBItG{}c*Sm(jG8f+pW6fD!Z*&%Z0&WYynCMu%Id+Ah3wfF6Wo!PL)RJJPp0Yz zB$r4nZ~lQK>X~a@{A^8!j+;({$qcWeb7BvNV+)vaJT%&KjN^8jaQLQg_M1M;sBJIX zpoWo3zGYx%;boxukn6yU?{6KLx%TvGY`Mm}p_j5Cgo}OuD}(Is$TG3V4}7F?xa37a z;xAP1L)V@e-mM2De$RvE@X#2~-W+#dRGwGYD=(hTHXd8|-g%Kz=I)d?bDte=?tD|a zcjJ4MxmROjX3wm2i5nF9{teT|rsspo=}F-NJ{s$7gNn>O@t5#k-U$5mn z{HT%1%#-|GhH9Mqn(ujSC#R%l)00n9SF78PC92tb9{!X9q;7;Fr1HmCEBBB8J~Ag` z%P-$d#*Y&Jy;|9-RckxZ`0v|0Px*fy<-deTyl2Oa-{4QL)jMv!!b~(hWQgG{N|Sd) zAtlUkf>9FS&7n0#+JR-7%CD^K9i1SMSB>sLt7TB!<=NOASeWyUlC{iWMFe3wbS8L) ze12=3IPlN0bz=|AvC(s!u~#xcAE=c1psa- zozD2yIJb-;W)QT`=b-KwPn=a}4Vk8zXaiYh0VR z9Lo(HPC&NV>7KS5O*t`#t~oJ%K;VoeCbX0p;Duiu95>z{w%&J3#ucts!EBZBNQ4&( zioa`|95;I66db}(}sh?aB9 z9m9+#w0+va6w)OaMw^m5I-J(D(2pCt%xYs&qv=4P~4^BJn<}vh9_px)@ZMF|Ojdt&U>ps7I-#R{Qw!6J%r>*;b z+U>Ls)DLevXNS%1LFW}LjjnHFr1rfH`4Y%P;2ywe7;j;U#@57~>Y8XE6I-4inh(tw zoHRNI&EsQzH{SsMjn3hz7FFls0`#;Tm>$769kjX!F#RS>>39hJ(@tfl`CGejd>qGnUGO6^@X{Xm}zv(o9kY-Z+wH+6E z)zFXdfjPsAGA+F3^m1%_Bcm}nH$BfBI?%2b%v+%K&ilh=$$(9bHC5P{apr`j9}PH0 z3+43e9T01yWDLzY$TL*%KpRAz2MkIcqi#-o2t9jsIzO6iyRwR`!lt zfbK6Nr$9-0UF$Vy;P`5V3Q>IxB#BfERNK78>GQ4uyNOlD!1>c5o6!060%o0(wo!J3 zTrDNyeC)t-gpt*yApY^5sK2q?sp$@#*Y`v0omIXkBELCv%#&&XTViZQ)3q+A>~|&V9Re zM41IC|MJ+jE{w^1FhYH1dgaxP0_q{>m?{r5K97eb*%IIF#EJaTz6u+1E@UrA|r~5t80HU#~zB$3F?dfU{r!Rz#Q1t z1QgOM3r5EC?@iAwoc8GzOd!r0K`$F!CKyJ}k4C2W5kid#J+9}m-UXUPs_5f&;xtLB zqQ~?(pukJlnNNrLI;^%GhKke*Bz}omZG@_LXio1vkZ)~HusTAx8>*--gMhgv`WiV? zjONPKr+S!RV3vR!{1Ic{PZmk?*GrPQNN7lew9ShUckW(GGP$w+40=c&kax~_Z2o8n z#D2UV-*#a+j1Hp-n_nO`!K4c;yGc|GI)!a9WfIhZ`->V}d`berx^XSu&;&?9YD(I7#Ma78CUPMYeut?&#&=3tVHytpZheJ|= zB^%SpcwC{Md-a%vcbSICyANAAc7sAnqX~NZWrQ|uVDC9eLs|_;a82y#+_yZIw;6Q? zZ2V=kDU%XY@kzsCFp;Lq&Mb&{!WG_Gbl?GnTn8}2VY6;6W(eZ}1zaHxc24P*#1_4| z2Md}{{}y~X_>9Ev$t7JIbL(AC4fA?rkFA&S$;LT`v2<{k$HoQsX!e+CaDYL4MTSAd z491>=!5V#butQZnMp+)7>c+(hFesZ~A9kZOJswfT{YHP=@wf+B7_b$zC9NV(+{QL@VaxnpU=j4DPKgD}&$w!j6Vt=y& zx&XA<54azM;a~r)%(be!*;SM%13PZqh;z1Ri9kQ9YCUsh$}>LsD!O{(8AQulTK5gA z0E2nd#QKC(ClPwd=`V0omHgy7mewl2y1srz{KK60AN#l8ym(j%^BNv91p4)Md$%a+ z`f&x3KY5_MVZAc3ZRZ;0Pm&lduwZV{Zp5g% z=5A_E2A_6z?pZ&!p$hx#VeS{K1b_RrUOI)pA_c@HZgIW6Ynu8fk&+i*BDQ*qgNJ=~ ztf9Dm=3_m`QLlUPL~B{ELygC(&s~xKfzlo;;g@)>!(vgN=NESudO z-RbJAb(4hebfpg(p7$Hx!Zfx&(*m;cv4gqQWgp@KR;|vhDTp%=hcN8*D`qYdca`fx z+00>S#j6y47Op+CybEq&ZXCvarB(=C6~fBYYU$tfA~#2BiMgy_04&da`T9^ zT_fM?&-cm5D442f!CQ~r9~k^`wyEIzS=3x55)!eUUG56CL|TH7o5lf#J;j@5vT~kR zp^3L}FW>Y9&^|04E1vFo_VbX)$mDcJ*UWpHk!ay9S zI`ewo!~0(Nrax$}x3;L?b!V@_&#axmFtwJs=rVMOLy_C>E#Ad5wo#OQGP|Tfc9U;9 z>l-06S%*#<*CE=u^uvXGL!B3TO4@$?hu?IXBY5g=rLtwYYKy~_N!D~?i-bd6W-^EYI>&P!Q5X6?>YWMl!$gX{hlUAdWOH1t9 zxu37S8tyEA$}>G@ANwj}JKqwIqxX+@3A?SPb&WU+naWC6K;QIH(t?xLU*{L(nJ^=# zxzQg0FkKgJE&F8*ZX|7Ur$iMmZpONUc|s0k$&oWY?=Bu6BwY=3s>Ahz^}kKFQNCVoOf zUCG{Q$Cm3VQ7@4%gi`h6lDG@`pwmt6%N{@m{9`t^u|GJ#F09V07W@tdL1RW7;U`z* zI3U`koMd@JW2ChLbc;PCcZg5n<}2793CSho^uAoObTj`vL(Rh386BVW4m($$q4lni z56jIR+-4pWBhz0XT4BLKe!p->9&dReuE?7Ci^BC}&ul$ndhRt`x5&3J?M!R2Z2UW5 zF6V2CmjWZu!6dal{~Pd??P`31)t|j@>UsV7jTJ&{7ok^ywaI-)w|VfL9Pwx;EOr1M z1xJBBc4zAX->gFH%WR$`s9UV|&;WPVrXSzyDlQ^0qn8aTX7JBGZ{>q`3v9#nY0Q2% z^%Im~x`fTzNM4s?mzzbT6DooZ;c{*r-^#1qvVbr)?BA(vZ&uj%5;(qiyApZz6--@? z8otDtU4a6m8gw)oqsNm4Huu&(=1n&_K?~Lk=tuC=%=AlWk8{+EpO@XC)?2n#0UIlZ zwk}XtT*YT$i;aOV&2j+6p=dWtuUu(yjA%+ru%5+BEcafv+^BugIu!C&c2MB3 zS|?{Jaaum|{NgBWiEEJTq3v$%jpr@ma~6>E`L23sEm@V7llTuU6tgPg<0Qx-!BDCv z*vjv0{7~&3!mF^#lChy|jq#CaUv&YWa819(kBAS%#sCCvN2K{zXzQ}tuONm`YY*cGDp8{DO%|O^xVlh1$6Irya z=-lMJxkvu;E?=)@wQW1eElR{8=T1I7Z-2aLSq^S38fr*oAdj`p&17Z%$iG-iMxI43 zuEh?PPY27_S9inRiq~mb8EKw>>URJ%G+LCXs^I*{;+;QqedVzXMWS@z z*1vefmx)!2zTji%lI0yya;MeU{JfIQR3Et0F4k?AXiT>71G9Ir6N)0IX(>-y^=Msn zUJCewoVR?d-)l8h+PX_1)v(#mt3Q9^*Sw;BoUkM5@^pwpaN_WG5GKM*(csqBQNZXz z)U9AOzrlypOG@qwTaniVe9K+DCm9AX{be43d?2r$`l6ClZXHzzVbC={#TZ4w){>;E z8hd4fwp#*2xf50R;#hNu4{TEpus1Wbu;&btlEsZvRH>x&^DE`a!q%j z&CsTHvo!Y2F;shYHDMwW6)+fC1x&C+kyWaEqHb2!R`P%N8pJ-V8LK14&`91Sp3wg# zPWefkWudNsjR#j7Hk{Y?TPwlm;$M_BFJXEgcxh) zCpYIe#I^*?SfLw!%BEPt*1MVKTPSd{lp?RzBfnb?bqDzyd5^6jTG|8_K;A5l(?=&K zv~QL`wBkME)%e1%8R(?I0C{8UdaU@K5tbpJg%xFi4_KWB4r`RThVeFf zn`_xp*p0W?_DX3MkPidpYj2mHduajH90< z+x`h+sfsRug5Fud!I+qBnwL+woqdNpxE5(+V8Xl$k6uPZe zi>#NJNUN^udXOf0gy!>HbU;@e7AWvU=H}mU3v!vMwI9K!EkfM}yje7o9I{WrWZmM`mxo9cIP~8S?|xp41AYJV z`;R}qTa2SYHoNy<DFLc+S%;hXV zqJ3nMC#%cE$Fbt#GB=$j8thFr8mt}b`GNYk?}+h}YtmX~c?*eV)P=U%a^#_?nD?fN zN{0S9=B>iD0SdCJ80}5@Mbt~<i`wjn!{+R2bl+w3s% zlEh;wBzLP=Cj=8WXb=!k$yL-boSV6mKgx!Lr*19W9b0N&X)?UU2m#>S@>Jp;+Wv5; zTX|PjgFe=AM*Y6gEsT#@yM`UNuOI#Qp;8}eA9>47XQ!98WZSr?vhlq^ypB}v9wyYd}7y>2fnkNRTY~CV68?&QWOpo zO@LqEQl7N|tnCKJv#v3}qMemQ`Y5l49w~Gn?M2=!BtYT-7CPjy>(-@j%s8kW+=ltB z0I|8?yuBUb6Lp;g!Fl=Ju zdkJDZs`Kg)Pxyy_)rBl$47`9zmQ2@^!h#WO{#$W5Q39x&IU*+UZ`^cDX!otI_l^6nVbsM!pn2sqLTow)f4t-AL(d9a$VllNesR7*YnNGxj`qnRJK7pQ8yg!2UOVipUcom^ z!uy;ZTozdno!gftK1wK1H_jb2nxsz#?^2@+HLNXHoTc|$OQ8UOZVg<#_Pg<65`mb8 z{z}C`oEM69E5k}k+SWdYAP#1L+V1Q-bR7K;)p&I&H>tUj>C1rSPOQS0_NCK+8CNf;6%v+$R>Y~JyP=h2HJzj4)NH@8sgN!m~&@r zYI$cYMI}ObZuJLob(-*P#fVv$#P3LSV17LXP+@CvW-AsPmMwx=8(X4P5?5famxc&la4ZhD(9sUrKm1vv>CH!8lB4}PP;$RF*mvWskPOl`H=S+THfQ`CLdS_@pRg@*R)hn!z{Vvqr}^{}7s zl*XW|E&R@x0bcOBhk9PLNyB`@su3}Z#bzDQV@DS_$>OG7nC0VcLaMA&3f4d|J|%e> zBUj3-&c{qhLPu82Es{H-tyHiN6TzCif3$o;?yd%0#qdp5%F4v3MtOxLpBVJvz%9bI z8n6roQ8?l`KqfTESw24%zqz&z9Ts>8EwA9XdP&=={I$W>3+wzwvK9&5UAZzSj^5ox zR`p@4Xr}}$TkKHTDza&cT@S&uKWp!P#FyJ+UC9eO>7(6Epzw<&@8D*c7$D$KO@W}J zgiC!q;e?_2$E-v-hoZiMINhEozUIUj&?3UZm*`Ns&12#dN3jX`Z4{|pz*ouk0%IHo z9izDDU9Bw(;#?ZJ3JT3l{xojDxLowE4wZdmVDin&J=#1?=q5eoiFE&Y<&A~ny5Tzo zr{)R~RpWIL@m-CE`&kL@uIE-R2oj}csrk`WgZ36HLOL?sQCCs-@s2ss|qPQSt zaAgFqVT4fhoi14VsDTAs)&R16>WiIgMu--st5HE^L>pI=8O7B4M(!6s<^D?FJ2qioeCZ|Xzq<*v9th0U^pkdsqJ3pq zHlNO|Wz%N2hJDoc!9>MJsASe}X`gutY~N#0A;ews&l}9ut`Z3z4R+oz|x{NV%W0WirZSMM;?EdVi#daT4QAis^n&MOc|}y zL|s7bI}JN(>_`^OGNAydrO~#Ifh^)5tm$mos=PvNC(sJ!RXm6x24z>Xu8@3mU0Dtk_P*yUs#)3mOD6lrQ@$}5|!FrOIp+|$wCEHFVq?ts^zAoN1= zB*XUlBBfh;55AvHQ6kO8|4aUWnKiMDd!x80ebGfWQK#NGnnY}nZ54TsXg?pX5)Df$ z9sKwNX5yAz5)76xAI|@pH*wKDlEsm=38*q$;<_!2Q1xo@9%J`c{GWM8^@v_7#)dEm zEr)qqSQ7!xsov&Y0^o@ZPO;mTC41n_$JP#=(dnAqc?)q9+Nsfv4M1 z3o@0h?8r~T0LN!{p|{bv%EmVoLSH4p4Zq31u~i5_edCMM&Ek`RH!Lh7E2hB+64fj4 zA4%lV?RBF37AdQi<6AAaSZ)3|9})T}p8qf4tl2}fF~QCTcvj(x^DgiS2nRi9Zqd5# z)aXo5{WKnYHP)$tH9uiiSo@9(h43J^er}3z=wErOEl06)gzMJ}7Bldw-pX7A@$ z1V0Z3{_xE`#;cKkdOHxI-W8)qFeHa#uxU6gfWYR!>Zr$cqYGh3ruBBVwzD(#qkQ4XV&GQ18xaJE?)r*@_8!S& z7kBD0UR(IBesEj#EmNqxT4)QtK!p(uB6G{f=|{eV8w`u^QpbGr=s9G8bP@S)J#Pwd z8z}97{|mw}9miHc)-9PW6I{%y&CQQStJt@dqVTOL87vk`UWrl*X}DHHgg`K6=qZsD zu*B7?UGHyR&y2bnX;C#2eI-BiOIX^sV66)!5frh(j&OBepyubK2jKp|gC{|vzGwA_sFniK#asdRu6CY?TP#`%gF8+uyjMApGw3>dm(2=q| zDL;7XY1cxBJeAt${MMtsEjGj^$x|R4x*tb|&c(+5YIlrxb6(qr>rHN)*`nW2T!`k8 z)9W!Bn~%*5O+tG%248ps=TfM44U}~Vrm;dxC{*k2I5RU+FAI}EwnQa?tb9r2J~~8k zwOJ$fKAtshg^}-n1!y7*WxxLSe}yxO~%+s9;J6UM2sY`%(7P#)xOMYl+o7>CJr%K z2yNKr2J-)`ckpT7Nm+l1@dc)lBi?|>qq2;UNt*afaVbbKc}M-tR5m)2>1R%pd`_z60=Dj{ty;yj-UBw zq=u|R*(#mYw0qzj$2j?aA=*WGT*;3Ca{&F=9r72>_0dMk;yu28tETV!ZTLco>Q_dK zELYnqOxbEm^BUmIr)eC2?zwCw-Dad5!xpQ1i8p*@;T zca?E^X{%4md8JRXv5CET@*&ne>!qO_E}0$RQZ;aMg(kN9S2It)7`2WZ&jXJF4B3~T z?l~)QplV*(U}SD%XR9Ph2+8@Ll(;|)E%nkv(>ukn`kk6oxt2sInDiHKmO=PNDOU7o zPB!Pf+(5b&Q1KDN@Bea}4m;B4>vK-g*y(TV03RJShvzYu>Xrs zS}a{e{klqlnw*aIo5pWWL+=OZf-KMOQbH}^o=QWWV!l-eSs(qu+F<0+NzBxR;q?=@ zwH@!J7`An7L{xb+$?+2y?83nDp7?P_nMYLVIa91eq^Ll~WG^sqGrIa#!(e}$Zqy{? z0ifL00_AQjo1A4lG_>ZBgsCH3AeB?^&x**MLAgBkornUmx(e}%5gA{%k2 z=V2Y25(c?d_{4wmrtM0XxM{_Y)CYERYX6_S>%n00_|dL(C|%awxq*1a>?2rM9SGc< z$=v#Wg;ZvOP*#wNGI*|$K{sL|&$@G!`ay=K4AvyG=4i&bRXYtZD-JW;Xv{beO?F$5 zW1pD;{e}VG8n}Y&y!)j(B5f!L;LkgQh&Rz;<}y({C+Gv-pRYK9*@w=(OkePgWlycO ztTi!^aO2EUL^t#-(fLBJ#+B}GRU|v>e*cA~fls$pVkAdqw;b$>k!f3V-UNmKUr6pe$Q z*P#72iOsK(7EM@-kp5K*<5cde&=vxh6sR zxHaOY`)c63F-Ap&XK{37?JMvJCD`2S>Zv~IZ~#6I&iBw9YzyxX3Gn8mKCD^8tIyW> zUgm6^);h+UK59tW)I6 zZ?wHVh^m}0*^Y}GnjC&6HIVQVI4O{F;U$afDP4sD5FHWHzcqYjqWCAjzl9THakM`i zK$W88NY3Oh?-uVA6LsF2*q6}CwDoxl@+nk546T(Q0}T^Uo5r^rue;FHN`Tta;k;DM z|EPU}bzeNv1KIXRS;KQ==IH)P5}f1}Cjx++$u~onfKxe2_170O$49*A5vmsmh+T2B zknl%5CF*f%$}QbJChA-|geYH|7sOp{oUB!$g#K&amU&e6|HMhXrt5v!wJ@1F4>inm zB}(XTl?TOXH;H6VC`=5~<7WFwnSZPjYq4iLQxU}jkBb)IjVAIoDUmAQ%D3NFPp$w} zk;YZvteevrp?MYfd~hK}lUYM_vj@us&=o!+7*ZtE)*C0OfzJnwFuBjzA-PK;$BiaT zL2Kisz=|dd(3kC|$=6ASZ_Z8fmx;W}y|PB}%B~~QGSML*I5yB)pt^zv2BLWWJt+yM zdncYN*`nObm_wPg0vj9YqXIEx%$M#%k}w&xb*6+w;p%zM?G(5HpqzA4axkExr@9nI zlarj!G5rR8Llfc-is#sIiB_`G-Kp4|0&wd|bj2;z%0k6Beu${HYV;W1}+ulE?IEjxuIbCLu4d?H)V5$*>`!~27T zExB8%04Dy%uphx)$NTgV7$ZE3IhBT#f7=1N6dAqx#~>Z74&ThqGPIupp^!ycN1r>twTnvb2dQ!L8&pHy2>&0ripg>5Yu$3gqsLy~Ced z1+T_wtR+y$Vn<~aR(mE$Rfwb~RyW{LTdl^*HR$#w@a4`AZ)sq@xJt$<&|4CtL&1|n zxQUZ7$40YL%6tWL4r*7q;Lpk#FyV0;YBLD{FDAe_oMkM3lo3*fSJF#v684K%+&WAT zIvdAWpBUqNCw5ln$RnRa9Vr6K+fn>tpcDY=@>o;+WW@#(jR@cD`RK&y*N6~QUVFHW~o(Q zFK2>43$pH0bD&rY|5v~z5jbCMPIrqY4+C&J*Jr1@Bx8sIVSGVPFFSWrII+qWi&p8$ zQ6};~4TQp^{ejw)P}4YIRH8Qem69nh*4{{Q(wFN3taw4P4((>|p8Pj<_rL6%KACs`L{IWg^FIu_ z-iQ_?uVx^T-N1WP)qsWS+d)`?KEcM@V3B;+50| zqa=F=HS@sW3=aID!FhrG`>Xh|(@MoC*8#V7o8ZtOKj3N z;VZ8&C%L~e-7_?GgX9wA7vyC$^FaRhs#VM-U^)P9V1&M)v)57~<#y9LBB3;=WoSO} zp!2-3th&5EGe5Tt^caXRje}H8w>74TJG|g&e|R<)cWb!DVdF}O$v9cp#d*hOfZzrD7^;e#LeuOd=0$p_?5sP5 zGO%HFks|{kL+gLB&EQVDXF+nkLkhXlKhAq<7*9U!j`n^EjG5hF`ScyE$ z*~mSXXwMsH90vNjBzaE4o6+0xm?2=^nt&H$qv%`gC( zYf--XF_7XTx0VO9k}F!bkg$^PX`;A-jS5G`H`W?RLR$Ef@_|i)qbM0yTiym5TqPb+ z&#%oLDnGoyawch>Yfy#nbO5TP6ghEHiTl$G-_8UrEDOQMF?vk$*-rfpw#uC`)*7qk z8pZXdjmkdV(7wt}rc`fhFFA=1m27YxCUWDF|4@*z+>_6A`)o_<2yaT- zhoM5fXd!drwL(_b{7eq5ptU>yrwJF4jz_ z+r6ZCnFIu8zLCT<=Tpvxh9hjJf{5HmgA#JNG@I>th1lF z%~}O^DPi~h`RwV;hEUf@FeMqCT3%&CXO^roCY^%qnkXdHp>kcJCahwffyS73J%em; z>?I7M+4cuV6MeX0GQg&cGUCRkO1_AYPuD=DcvJ&1PVU3(^wH1RrhesK1MyYkvVLQZ zyK|W90QV@P8&x1l^zlKc?hl~!lMU2Yj}Cf_li_Dc$gq(#4VyFG<;6lL@H39RY9YuN z#d8fg+XMqIKZDBr6Dgs`J~=>iHO93lO6(ILXSy(*=Fhm=I)}$^>|}qg`_4ytyek&9 zK&VAXd>bTO4S!RnX$S{O?59D@T8Gw+^Tq2~y;c{*?fwY>hWeZP?Lp+>X*$s?(;1 zB*_`~zCk~cSJ1AKHpGG+1#aZJP~y*c^|m%=ErCeivedrRjyLx`1kAd!%+^b%xZmiFzNgH^~`$OFQvJ?(92jgZY z=k~4X5ULEJcXK`rDv5{WTxTxYeyxQwZKx6Qn?zY*vmhzVUQK)Sg6aQ-3dvJaA>tga zUO`g#^PZf0|0EK9Q|)9ijfSEk(#y0H+(!2h*ia*8P;08Y5Xfj9qfi0#9fY9AlJVO*94sC~-P9&2c=?6M#_}ggqBX`L3!}o=Zoe6J0QEX_E#w$I#wd3;-%Ppz+YkaF&qlVD_k&QTx2{jd~#9DNh#2 z9{OUlZ(?G7wc$|Lb4Ps*fA+aYdp)m6oEcpWyW`+B;62nh{y|h$JQo(>4~d~;`Zd$s z@oWL;$d)Q)m81y^fox*&ut!%)wnA?El}Uo-mAQgWkyyo?ewnj4%hn=5TB0H^4+G7w z0th2Q7`hLQdiQyT&dps=l|=cq9ld2N-!4Wi2k8@7%l0sH9J(Kw^O6d*2AGjNxwfF0 zftB8-lBM^>T;J~_+y&M*HzEw>s{jJ=Ud!^MVnX%;qCQv}S{}Ln<`Ia+*O5%WoUVrN zF($iRO)`d;_003F%Jh`pC{$SW$cTajjx^dzI?N`A(1C zKKkea?4IZvRz2mg)lZ&uzv2vUUqk`z>hKEA9VcB)flud6D(bZ3$Vzgjsj%5g#aWzv z#{p(}39Et?qAqOp&F>>%-qq1Ub*&Qd9W~;(%GKn42sePW4h>tX2<&` zV*w${7V3v&`-T9#HolRMf{cAGGS znd;N&PvsZjPA}zUAVgtFAHbw>g_gY z8&_F--uaT~wdo6ttej>yeAa#HAg!m&4>UQt#Ca)M8DZt+;5$qviO*_Inr!85Vm1gP zI&$z&0WbH?!*hr|B*j_q5AgQf2GN>z4c2M=6&H&M!NYD&5-$hhkk zJ4P2QuUTd%AzK?q&6WZqSb)yMH*BxjxUz;bxZATrnYT90Hym*5j_0M@N%nWs=~wglbC!W%R^t@72+B;~=#v=lVPnhA4u~|-hGx+5$&};^X0oI3r#Uulb2uoKW$l|WA&y|4@bJd01NqQ2kYmz z?>~O}hF$$q{6tc_yfE?V!jmKTK7@ZfaMV8v19-1{siAlg;dmZjjjj43G00hWanc?a zs@n?Tz*bM8Cn(#{_Qhe}4_R#|t0D#udwN^Aa$ftTd`P1Z9m#CJiGTlvVom`f7UG0x zIHvV+@dJ=~2~A?>E|TABxQO_NK|e!Wlh7$1}LA<}X%Y^)H08WKF9bpO^$Bw;m4+J#?(-Z*5G$X#owlFp&Rk3YJA^FRTvJ;2Du z(2^5STU}?pEU`grt`KnPts#UGq!}9NjkWMSAO|p0MDfdv2ij**Ok*Hj*r zYQBfMInbW@R5OvBX<+XLHGSd!1`;`dt=4fVhG_@5b*UgmxHDeh&El7w8m|1`_xi(C zgn#A<&GM{ODG|P74l55ruuuLxeU10e1;f7m;C@h(qBI^jA`F66orh;a-c#8(*_lLo zzw#^2xl#QF!=7_*yJ3=$Lr1Dm{lbz@K4v7QCZJ}|cwY9U6mEoCQl~t~IX#5pn<^qh zw>aO%`~uMV>`cD8F)HJFKn0LSJSG?bzsbRx!Hy zIVD!7tUbP^R_>hcfeC+8*Ihg6>Mc}HtXlly2_F{AwM{8pg{vr7Id4J^c(Zs1ly;E2 z-^Zif9Famayti=^%Iz_AibbD-+hd3jjXsCzVGzDA?+v#k|#0jG$ zIEN{!nxLXjHlX9YInMymqt)UP#DLT5TrGYz*|BrZ`4)R?MAj2)1U+5BA1{S!QoDhV;gmm--mA9F}J}){+eM_RUsWf_v4(s<72II zE&y~~U0)w{_JZhZ3`N5`6@A;KW}^Wl+^Px;ha!C`i+RmXHg5FK-upQf#QWg@997?a zi%EI;6beDgA1-eCD$#x}8A39sz?dR_cYvpdW4*i>m;mOI9jJ1_eo zui~M-&ur#mgO4T?@p6GyFann()yAR0EMEnU&b8b5n}m3MTW`Co#Z<{=qb6izCYR{z zE^3DRZQva8;P0prgBYE%F9#X4(YftjRUgjk^;KqHh(6oy%r3blkd`bbiqS;V^24u~5 zwmX&6BPKv=t&NW;wnVPVv!VkGxTZ^$#~CGHgGz`ip)=V>6={LzYbgXS+bO=m;f%P> zAVE+`9N&9Fz;c4DZ~F{G0#EslOT-k{M|3}S8dHgVK9hH(fdn^IIYp#{omrwbW zo1$}3i;q;e74*{PZ$(9{+p;F1n7pfC zCmQz^&~ub6Ks#M|5oQMedy*1u)#&EKEKJ*?d!jqIjo1%yC^Q}SDEe>)7{l8366O(lmU+a;6+4~>{5<9DF$HLC8I0N3<^Gt9P` z6Fe|GNaG!WC&VaBV3_FgN+(i?PEQ!AHk8s93=tN|O~iTCk?YDJQjAW*XaT6T}qK|yZ#lodIU zC)%;eiT{k@pEx%yI)>}1#(2rs^L#eaJ@j2xLbV2GO&L_RF`AM=CCr6_h%juAqr zZLPdf7%fT||JLc);~Jf6m3Bt=!hR&hir5{c(ORVkbPeuopm7rzI^^CE0ZB&1Qy8ct zLzRD23m^^jt*`?hd4!Vk0UC-(CXO*WxYJvegII?)=Unz) z&GG@#cZ#i6A@2EaiI2sA*lPR%yi|0MW<2d5VzEV4dt5L8ZU_K zhG4(a#A5Q}+A|2`1?TS^?E-j_hou-J`jIZo47N~y4!+?wo^|;Q%_y`L=F=+xuB+y@ zAwP`1iZu&!ps3*9rDUX+&yCj9SS{z7mC}hEL9DmzE}#|gQYUiq%=3Yr#bTJY4oI6< zmNQ@OQGV%i)3MUm)=mGxQ(5mdWFdKZmgMzEdbPZ}`j6f3;;n4&8g4=V-`3*lJROE- zU%9SNSK3v?c!aDse*Ok!@^2bPe0g)c1$2z`FN5sBH%x_n2}`Da@)A>K;;N5?4R8D6 zyfy!MB0{~=Zqk|3RqvD!X-VyXC+~_2pfy?M9`15*9%o|}ApCwQbks3OR;`R7)MRA5 zArvs}!Q3m%c;3gsk-fKdXy^UoP51R@M_jcY!A6&O2P8}+8fr=MH1mjy4AHvP#1Ug8 z%i7y)O7~b%zM!f@_&Dq&&T0>#-mY;^KHXvM6(D{-?6#pK z%fL68FEv?A2(>UyueGKy03fGCHe^pos21;y6n`7$ua4e;^d={XI-YFGn5i}}-hg=* zVSTH=tPpYw5LGx8wl8!_{8>&TdC zzjA?tvE-rP^*8=9&-QPN?mx2R@SE$9#|Py?@=vsbW_Svi$uU8_ANnwKvo!#05(9$zrXps{|)@rt#-TXDHY)btPbvw)2e|6 zzl&_oJRrdX!F_$(j{d*1G2Z5zg*di;os0dy*P*kcrv~00%{{m@9jLoWtiNj2O$HGX z-nh_&rU`)~M@F9=pxZfd@+;muX=DChe(|3@tG7AmGC`DDqn)Ju$a3qCA*fd!v{tdB z^CCQclYHA?Zf~v@?+1-porQcJI-GaL-V@D=kU~+fqmH!l?PQG!dH^nPb*^sgsM+IK zmDjIrlxB+nkK%b@XOgI?1V^JeG8?^N7@j~7ywI1TMapn>o>8xvq-t!+ zb|HaykMc03ECG+I&0C7)osv6FM3udu-v1E0Mhr6fcHNxcV0J^?%1Y ze()`Op!i?e<6YmN39eB6tGLNQrXdCr=|0Cx{%MK@Ai|8J%4ltQzQ-WVnbuFm!DjO0 zSgw$RZ}NkA8^d6sY>#iO4Y2X##~4X_d57RvRQqcGbX?O_nYrO;ZOWw^I!7g;^AQ!?@ALI zK34-ZirBBJfrek?s($$K-|yc1LQU&`P9*=c%CnUL9bWlUV03FaO@va(2Y;$uk-c){ zb#h;+0k4ay9gI`N8HT8vC!_~x$mZhFP8Oep+mFWi834c`LD-gVzMjuh&oldn6|1Af5s86=}9B1;N4^QTT9E3A8 zM?XmP2*Ot_3d^>2O`ah41Mp`R&~1jvC4)uyOWzn1RYK+Kv(j^v2UndK6(~aFFG&$w zZ`IeFwk*LSmNOK;a9F6e-l`Z5-Rl ze91&a=WU6cidhD*!%kMqUUo+Yb{c=ES}yOT7!+3W@-8NYWu&uw(3@8ES%p4T%GvWm zMNcuG97&b$y4ELMoII;6jYDO^W_=#uQaIR zPo|(%#6;vjG;Y1lp>7xU*RD3f)Ju5)ZGo{D`)t84a#ns~)mGN?Zc_gbB1ickGOhg3 zU*KTZyiW0z#-V4sJ{6uRhdJa{lFpRWK)96nEKt|+ts2R3Ustdq*X}j{AkE=Qf|CT+!pBa5XWQ1^nJFds>U3G zxUSYz{D_{Hq_L_?kezs&4UbQWntJNc*s%ohr1HQLT}UWs7HN2IRBMhX%RzpaG$azz zNl+H+Ff0l9!P>DT0)PQ3Bc@KLWfDud#dFW9B5yXpvRbmsXJaKNOq2$;-{^oc#pbxS zWP8oIe(Ybc9J?v^)+Oh%54&Lk z4?W{Gf9;k6SNGjZn;pUV?GT(BH?H2{T}*~_)RXJcrH8U1_v+H<(PF8?_l<1=-O@mD zk?gvMtWB*&L8eNBI8>XEOC&uE7JX?E*PR8kAa(1I9Fjbb4DffU58IR_>o#z`zN+%} zmZx(l8_%w~9G{lLsDay+We?V1UE${o{I5I{YcuQtgw2jlGT_O~fyI;P%g)Nbh-+N@R%dgY+o?9(&2RVEQeYolm7 zWhP;O&ZDh!7m1p{t}EFQBXLfoPySop_-$05)xH$K`5;ulI7p+_KbJk_(Ml+9Gh;!z zs++~XL+gv0dO@i~qO$voRXO$-5@1Hbat(~cQU(0B&gwWXD=)tKcBfd=s|(!g`?bp4 zs+K5be02oE`aZ8G5&A+|O}itPb~LCo)HMy+wpVYz+Hu4 zvvN8lBZun#GJ> zPT!p}40QG8k&RiVlPdu+idcOEWxf<&GPV0M-3vucwQg&Z>?2xf14Im7&{Nf>@r491e|3R{N*h}j+BwhECsPzQO^>QRe{HK1t~VD+d(muzZ0`Qd zCwWUi=pzXNG`>DIxp7odJ&2+c(a_T;z+!eGn%A_Y@YPPmFmMdGF`F_ar868GqtkUE zP8r#Gn@DQyt;TPy^5CfqY2Ug)zOj`f7jujHP@)2>uDtriFE!M%J9k>*@nl;k2FoxQ zI7xK(O1o~n6nLgol+}R9Ae?J`nxm$!AeFac8$VLxavTvS>CtXKJ!OQGH}w`NaZ3D_ zv@t9hkV(DD*>656g(=Ncfy`nW1@~=oPGn?Z|apga0tI zk7(6{62_M}h2OI|8`#qUNicSDR9n4QN<3_yl;}{dPMP(4zmYB3o?hUL`pi-9r@Suk z62RDlsvxWx(`h9dNx;kiB{7j#Hg+a#vD8NCxUu7^daV=|Ab3V!3b7x5KRJ&6X^{L9 zw=YSL0_1eKpNgQ)Q27Zd=1J79gii?Ga9J3fpdF~n$>$llclE6Hh+6HCYvL%`@NQJ- z!@o8D;Pqf_$z2gfFRDDM9g!!1#8DShZr0K?v@J-;gI6R!+{|y(jl&PFvjJgc+F-NNIng0p*hKumOk)-`jE39lro!2CS1yv4wRH6 zS43hT1vGLUAWG2Rz|l^5fYAKV@e(QV>@vkS2{fc~ATimuf9E*|}%)A(|wNU7(a zFC&#>s+{de=fj{cGxoMUwc+bU&!vX(xUi1pbKD0jOY-iEFF-#2`{CWsi|>DV^ZO67 zomY$h`TfTq-z|Rr@x!MNzyI*#YVqOy#~+sY2$|);<=c9`!u#H6aM%7=< zL6(%Et6Ef1oNB_gb&#o!#LmPhRJQH?Uma+6o8d3=iV_SFuh9qJ`VzDK#xlY}tqJ7h z6RnF?V#Ded9UA@1)?|W$^cYBfVc8B02Fj>H#CJao64D8gTh!t)`A7l=`VfTN2w9ci zgEcdKWNil2306MWg|kUurE#v3V|Go>CZuj55GoT!u+0^gTtP-}t!jjppN%bNMd7@F zDP24Pd(pbBDMkS7x6tV>HEbj>o4=&ehe#E$H1aX64PS1p@u)RYYdj2BqC9tO@xx&c zQWru&09Ms8^&9Atl4 z#i2N9koyCQY9T4ndNe!!vNWk)AMt5gH&nEnLpC{t-U-9&HVvXRYaC<7=BYF3t}zG6**2>K-+u1M}O-LSWHct@i6JS zl2y&Z%LEt;OQN>vmHT+=GE-f4I3QR!Rku#*u{5fy4tqAlPC-O-vF$l2U!`K9lS+R1 z2IYAYR2L(vdh4TF*(dU6*t5TO9PG<}{S$Z2D)Q)ha-TW&iSk!eh_Vx!OW{uAQf_;JgrTi+b z0#4b}mwnEuV#T81FCb9X&X3n`I25iL>PiPpEYLl^lA`4+>jbcdE2qRqUr=G0hMC1@4U`y{G?gZ$UVSx0(E42r&To6{vW#QW8B^w4#8p?U~Jg{4KW z7qWN-zF#riE-NLnbxK;GSeWsc+(pI{+tH$pAidZ0c^9^(gwa!ow}=Sb-X@a5;6l&^(5yIcPG4fV!W5kCkQNyG zXL!|N2|oC1|IE5u0sLR@fBE$A>zj8!@J_#f|KZ(_za$rLC_V)9Wx)2Ugih+e>O#VB zLSKl2+6KXPBcnA(@VffvaEEcjiYf}w=TJwX63h~^slLHLCDYy{c%5}bs%c5suXM5j zb|rZMrnln7t^8r{kFY}iNrG*wf0@f)xWj?v#ZJB{8pnLm%@)* zsS~ZrCFfFV-YUCqsYCLha5HCLuG83(0RSFrfH4{jAS|;~y51T&e7JAanEDJ`?4E&DV4`#o7;9*~}^rN$6fOEIq>}9^M7LtX@I*GR#UgMr>jW9BPyJDn2 zw}&4z-$EL-?jQa0pu%|Iw~^cWmB6AWNiD7Us%)*`@Yb$0=udrwX9E7t4&a@ z%(b)w&g5w&xEWS$PgfBK%tY z+>ts#_W3~jfX}A*7SuMh;28(-{3-8Fq1#JJaE0in^oD(gJcMtM9qhbZw_(bI)%k59 z`y_Aok%ZU7poBr6aH|_ic{VvTgPeWND*{Z+Mk%Xv*?4l_D{T|QF~E8HAV8d&c?7Lh zct7j$jWIpKU&}`mT#QPN?q07)`<2j>eFjCgS(sLk9Iv_1PzHDBgHBz^pFL-cNf4ww zfj2J>63O$gR5%rH@^<`De>%vvNZ2g=wf@57qmU(%%(0b#Ki~Bc12x|3)?kHb`_T5- zju>zFCSLr)M&-#1sl&v3U)?IHi39CCsCoOQG< zd~;acXfDf6s%@3VSz=wef=Xp=xg_Xfn@IcR+UV;zX)o)9vmbvYu2N=Ta4D8RCC+D_=cVF z15@=tZ>Ca_%9of&mL>eI4l2qvtW;eF0EP6gVhq7N0w8p*N!Th)CA4JlFas^_&MgUs7I0xKf$BP(Nxga(aNJUmXk$XM_vu0C`pe`s4%EK zqn=Pj&aO*@{3J65bpUQ(jBqmJ%?2i!`%3|Bjc!2G0g?~hU*Ktov@@ohaE!G*!eMIY zDO@6i3B#&e)T)6(K|rXCT}pJp(0F*hwDvS0VoEAX6ewES_#)G91!jKkAO3#uF zsnF5*4(Fu=LR92bc92j$NBve8n zEF#pgmWyS8S`-x%Lhcp-*PncfsRhv+P;)hk%-i}RcK?T|{nfPS)#LqN>s$oc7~_3G zN$IsD;9qNMst# zvuJME@FflfM*XmLQFN4z z3uOYWDc@g+rA+0FIY&>5OE`L0JaS5{p~7c7lqF-@&wwW?>h=0E2)&Q>!UzMtiC+4v zgY%Pvslo>wTbsooM8(fz6=j+?oX;NR5L4M`b;^BSaB0-HfbpxZsM@6ia|{8Hx{Aw8 zV0$#5nRq|a;9wYPX+XosdjAq6Us?NUTjS{3lA2L|j`#@?4uaf_9;nd?@eRig+siax zZ3u-s^&;DWeLqA~E5kX7J1tHo4J*%S62w|1LZScJ9L^a#hD|DBLMGs@m16E7R(G3F zvRl`v-f}jXfT?ckW9H@guK?&}X}uElh&To5Ad zHC<(60 zzlR)!8LPI3FExu5IQLMQzs!oE#I3Z+EU>K`jFFUXx2rqtW+Sh~0O>A_D7fbjzmuc+ zh<3L8(*}?k@dww}Z^Qh^SjE1-NId~D>1CcAZp!=~V~a51FR$Si9b4pzxpuE+kBoto zc3@p&z0Wk32B(eSh~JS%^~Il*mq|z4Wj8Im%LcS>&}x3J^EV2aY3}8^`^86tST>Yo zXO;5#eTHX&yeHdAlIFp<=>vBP%DE#b2YJDaJ&6dHiJ`i+#*{dCIZH@+!%yt^L@F1> z$%qhie&s=yWxEw)VtPXUFNtKSj4olt^A97SG5*#n2w~i4aHTlH00RPkA~6^mDsJr0 zU&N4qR-LKi+}D>mv&tAc-sUJC@$4O+b(%jGjuTom<+sCt zW$U`U$v3W8H1)2>f1g@b$CEE3+m8$|ZqxAs~2m*3cXgLyE&*rVs&mWQ@ z8wXcthHUn|E8ANwjOYw#OkZq?LAf%5OVeXa?F6Y zpWCcmfZwd*6C0R)0u^gOS#U*&tVR3>Ym?w!l9647#Bh@3Gs8S^(oT-p6}Zma;XqhV>cDOhV}%;wo;A~IWhh0foeLkeZ6_Kc& zs`+s(75F-6&?)agHqH5OuCISROXf z`BGF^0}I;4vL8%mD3FTA3&@%F>J@s&lc^vb5`R7j_0OSkSVC$yjHDowL^_ZdGB!JZ z&~YLGQm5t%794(QEjQqv`Wj~Ng+YaHogEvFlh3{(Vf@mw$~R8>?C0j7@@*q@4yg58%f@}x;j%B+rrEm z90lYVBM!o!|AOCnQ**mmT?WPue$9w$87#USr4G~pv|?W785+TJpM~Gux+lbG_vbHY zpjgMZ9>iO^4wLo%Of5)V2x@H8(QrL%7u+wv9mqq}^pYJ$_>J6j&HD1-J0+Mf;zA5| zU0^kt@{V%n{RG&=0uv;5FhXGQ^ZBbyV!*m=0T@OeJfPefomC6+Rq{S=lJ)x_01_t2 zC#oH{irxq$A*;w~KhwwsrU9g$nE|LwdT?BwRU)=)b=W6s!(ai%0?1zY`Zm)SH{oym zzROe)P5pdnNQL&bR^>}OCM@ExL!b_Pp6V!Jlh?4~*=u-NIjb1)sgO-8D?Vj47mKyAndPn@>p*9fG(EWdlv! z3{?L7J*ZXI4PJvDc{t6A!6ER1=-;-!RU)pLr5O<|7uhG6Hqgi6*@n8Ep4xC9Tx|s| z)b;awsazvAXPg#+cEedO_dNnUG2SfxR;j+vt(7c2_a;NQ6f>wuwj_;uF%)h>*^=+#hbLQpZ|f$!Ja;~z46 z{ZQX(X`u1eG;H@SlZ7B8kC!_0pey^3lJimT90PuKl?#|AVc?z7plUsLpq^Aa-Dqu>g-D%xn1hcM*@mD1UF6j;{4><&HB?2hF9bw0JAr~S zaoL)Kp^j`dOE#x{Mv!SBmWf6TP&Yd2w5UZX`}`2Z*Gz2;(aMiSn^zM4oF4#wGS(GM ze9e*FjpOQp&g$m8$~|^xD97mVkh~)gxF~T6nnP8OEh!S`#&eh-ybW_7fx~VH<;s(N zL0kd{eGGpYMZ024m2!!seKSzw>-4rP_Wj}kt|_hpFAxDM@4Gkv`!)2DP#+&@o$i$i zan`T$u2}rhwwUb`iJW2L8FD*Quh5^osVhtX5fDg&8*@OF(?x zdet7##(G4RBro@FqO_J9r4{MJ5ZQU1I}S3+=t0gZs~QxVR&AziRpVg8rg7VD;VZ3t zgIlVIr%I8&u3)Tt zr|CXbBTvr9`wJEt*!yS;#M8W`fCsXbkQ^GYlRqYEPx$NhteG zE@Lss+6GdoIr*;=;#6#8Z}X-E(ODNRrF4ecUS})?!;&Q)eOIGS%_%>GStk-MD-p|t zv&Xtg^}J!GT&|81721`?W%Y^bY6n(`U>Kj=0aeNru0wL}+-oj|Q5AKL5=maMIIiRB z;utk1pV8&uH-=mk6dG~s4llkx+h)x7W4jmYX=}#Eix%Ucj?SO{AobRLtL? zEW`35DTfiq4Rz;ytDMk!EnW)G>MG5B<~?pmY%3`XbU~>R%}rFe6PW0qldGaF9If3g zT+oKp?xZ6NLwoLYXUfaU&ubdj^B%oQ+k%T7O(vbuRtC_s7Uiv1kBulj7vsZt^w8?l_xyXR3+tc6~!$zbd9!*H43ffYT#&u2!u>$fZ45!txut zqv%XguVV+2s#bq{-(%(pm%~=lPX);hl~=w?0Q=h?RC z$=Zb#%QwJ0g{rTtj31H@jvni`&hFiv*!V%M(P&(QG~Z%fAOWR3XPCuzMV#R*twS?x z#ISwNKQli*DQdU%WAu8gRbYVNhj4WAD&eR*F|Iz#74@MnH-9a)?n_%$OudQ&whE>4 zK>y0VEA9(%{G8;TCWwSoa9ltAR5Z1tvNF9z6*vAmM#?S)0WA2yi^ zDI%Hk*(Dl-D~lml;}ztZyOnC1P+wNX2Y=6i!rsFpm5PHT!$hQ6g{7p_UM zjC7~QRTTnPV73YbqEzTwcDF|HplE?(yhFE6a`^D=;Jb&Y4H@uNI}Gw3Z6|i1y}oYi zlvjgYgEPFo?zG-mVUUix>Wju5@?g=NC1bDqj5P9AM-7J|Gi=z`Bw*t&U<}Zp%GBk^R$?v zC=B}b>Tqf-2p)&;VLfp!yz91N&yEV()v1Pow2QkRuif-oj2J!2RMn+iU%MdL!U{8@ z?eLYd=Z%Acdt_c*?#S4qzjthMYWC<6Eaksz3uw&K`Z7w@AdEgG_sg{^D&gryt9R$0 z-T=Tb@E1J+GV5MRGUaY%6VofewP>ar*SAcX6Xvzmo*WiQJ!PXCr;L(00wfXJw5QuK z{$AO1pvnMnkY3X8(_)=xk@uI^zUws!?W-ctl^tr|4Y7wVqS6yYHy{E2V5EYrIIk`O zE;7mL+g#GR3m_BTzpyZS*}<%&t_>?p3h4F%K2p~DL^WTX<#n&-eElLq?6jId*|U1m z^?2(WNuN#NS9vI)TUXcTtwR?;ErfTq(5BgWZR(Q=M!7`uHguO~972j_2y9(-Ye|9* zv+=x^^|3`;2#{TF)d=`vB;|lvWj5c~VH=*f!}&+PC1Lo??(F+212{43Hx5D+*IKK< zy)%fSP{o;p0OXrd-xce2kcX<<`mjG)2cJA^ zIVpF)tnKuZkpr3>G+m8W&Ki;Uqyr zsTzAj`es&P%Hv@u)6T(J=x0#B1%%ASDX=>ZV;4%*#L67K-poJEiUH1anYAf3d6^0~ zo6nT-1YX-AVR+V8-E~pK=6Jkut3jhpdVEwgz0;lMjyJEsieE(c0aMVb3f|ca`5@hK78LF+0Ac*T zDK_~oRQh4$Z(%~&QDZl1jx?2R(A-W*^Vd!*gcLuUqO;;rq@eZ-`*(C%hI-=lrU07b z{M;5eCJp+#H6qi1n@=c>mgR1HgVm400>q|6e(9)Cq1vhCK zAnplkT@D~5vlVx9NCisbogQS|X`_U*9H*<7i(lnY9Wd_=TJy6HFFOiY*B2zm_;n`m zP0(t1m~-(fumAFq+~z~wZgMK?l6ul@It5gG0K{OzpmWZIx7V-L)IxccFNgyFuKyc= zg1;}Jj81NTMpZgj@!B`=CAijx^%)ojeYqx9?%MWp?{`fa0)5FtrJ^ZhD;TnqN0)WH zQ^N6sPEqbj+ieGj9}qf)pRQ4|mIQzHN&N)=;d=ZGF2cVW|8?@0aV7luuTH+G-S|o; zF`n`attHe`XIX76shDI-c`5m5cDwi}pV+v7LR*u2jE&0^8#QzJB-eL6;iC%ZyIBNj zw!#s#h%`4OU$bZ>UwekVV^xJ<2F%Kdt2q;F`hWakFOEXu9mvblz&*5$^MygV+ycz^ z6!Y1;%tmOgE;V}n{M*ULb}0nVoRPHhs-H3N3n)o4gSCVfXwYe37a>z2Wl01u>Gn$U z*?&G2tGoirdOFNAo`q&D#Y(eNrELcDOYov${Vy`6uB|av=fn(+TdSP;ijmPGQIa$! z*Jp41ETE+eS+tg%+t=5IU$KMjI|Fj%KeT(_uA5AoONsbHRjQ4{l_2%Uq&rJ>xE=?OTOb(4#^ zDHVTEPIYT$p*q>hY6#fKrua?cu6P=HmO6o`8&NX^SHj|Mc}yTWA=*4QFrRh9tg z(mpnw!@1!M)CmV?R#W4@Uy)Q3^acn_pIm{KQf5j5XjC8d3Q)GcjU8hfSe4|4A+kv0^8msQ5)&6~`P$w1H9e zbB-+)`7o>29>^z#vKcIFz|N{#C!jJN?lJ;$8`CW-`FHjirv|XD949yMy|1%bKk=~Y zL3sgk%Wu07J%XxR>%La(c{zC#wf0o|pgTR^cxcc|Bf6Frlzo9Yn&^f-Xc^Z{X!W3vNROGilwlTF8}A@WcpVN@Gd@-(Fqq3e_7 zDm+zLk#--UejC8P@e~rf2Q2Hc$W#YB-Ik^fv88SJoD8lHb0Bc;VNDoH-s)Cdypa`i z?Q&on{vprmbeBjXAi0GK{At7*aZln$2l5$p++U)~J4cub(BWmo zAi{bE(>K=nIpkzp8IUW)N3u&J6)v(0Yf~K4#Z6$!UGqj*!}fnsb-PRm>`{(v4=a^5 zCxfHsZRv_T<=pK6tC%C5-T`+>`q!?O&9>N~ZFGmblMoEUbCL`{Ca=VP2nT$e*|;(o zyAZ#_=3tO@_F5erw#n%^8meKG>40%DLdC$?)TIRDWpkmfy-7t+ zU3hbuCl*rvIcuYwy(#};QKGrJ~BsTy^zq(@g<+Nq_6ZQ=w zvvLHvliCdw>!!lQu-9$CcN`lf{v$BxjemXX_ltqa@=aCqJfT}gb->wskX`zy$mZH; z+GU^o+~A!l#t_K)KS57+jFpx@_%&9e?%P07Ew%tg$r~>^>6gW(w$TRsn=mDmy<8l-i!TqImax%>CWk3^!Ub`r4KY5-o7jrKqp04-qe^&J@Fuf&!nj zZUMw3G2bJF9cFLn{dR#FiU!7oE2HxO5F8!&w}_DjDDyTxhooaX0Jj4uE^L#83}Lm~ z4!z^pt{BF=^1UPlMR-q4nN>cIq=U0IdY*;J`J04TDuNep%w6=w0qMfH1SQS+>b{X2 zv@pd1GfvcjS4)Nb3V17ku~2zRRKwON6&-mrHP9&n7@rQWS%cedj@f@B=eTbfh7JnB zwnSmt6lS-|=8@tLfX#53boO;euo&122u>Qe$^pt@k*a!4`RylYNU)>aB2)$50OXtQ z8iNZ7EeI1eGS~n8X;a9)UV{9u1pH_lp>W?-{0=3LOX^9irP zw}<|9(^?=oJdy+&KBIe#kN7*boPk-B*T@|_+aB++J?g&GxqyL;Wkm&Av07J)H#T^* ztD~m;Llsh>MSH5mz%Pl`1(HQ+X25DVw^t1^K11WF1JP{(D+TMStmgm{NrG4;&d0hw z>W5VWr9vXj42Ij3b*F-6fp2iV?~Ae9ts^DmMhg&l*V?C(o|0m*>1mM)}k4yI)?86&gX!-C{ZYdZ^y< z?=SI^K7bqAVTi5c1cD!k1LRW>BtRAc ztipzggWPkZkyM*FmF*on9i5!Mo_( zvD1=Yph|li2V%zQ4O2Nqy~0JHSgg}_^NJ$#LNYJ8;}9Gu^36f34Z)Du$@x6V13SSR zmKpOP?gkIQ%gA@EWdWeZ4oTUBgT~V%OkMZbg1~^w9)e*Rn4n5o`Pm1557~=38aW6W@w}OG%J$dG2DSMK2oeDhtKU|DU-pTW%ZKwtTOzfS&k5 z>Ap)Hp>Vkd>$Y94F6*3%dIX6ii4q1L45C?I-+QgS6M!;7TQ=D@`b3=jlA*>uSQ(pO9P1U{oVS6Q zv+}K~X)F6_tetv0R_J|5z*C3f+Uh7dWNlvk)_NBMnI|q7qGwOGMPfD!DBCX0%~ziF z${e*3I^D(c!o;8Y&U3m#fqSj(YT6Yi>zyp5d~FJTF{vj9noWZ@>lk`F;%yu5tL{jkug>{Zk zw7MmikQGNAms?(dBO)@Q1Fhl=<&HmD|x=k2o0jL{QF~Z^pJ|b^X4Lzh)6~*(97KZVK2*l8o z(WpbCMpRwU2c+Fjib+0TZpO9sqW zvCq9G)K{@?hFq=wZt#d^nm#7sb4`%ZMfCtG6h&am0!kq4o#9+M-z#%-S$ zog!J%{XQ+s%rz>BysfK^n&u+;*~)IhYAoMZrvJEEAIC>8TdmR~xkjtZRq#gKmYhHi zR$k$(%6eb0?X&E7T{;kmvZP5{VonjfhZcS){Qh^ntFF^)mA(YoZg6Z+{l4{F0h88! z70Wd?*X~UI!#e=dsW=GaPz2C!Cjjg~jGCazAh4cqTy$G$DT_~j4z`^dd z%GIezzKWivyAaVeToyB`4SEdO5PoVsUFJ|XTVvu0!h>hQM@2*o8o@vaqz8$-?3rJM ztumIg3w1 z+{U>js+Co|^ikkX((85Kv{Y`fkK(?SHR&pD?Z{pRj8k|Z$!b7laM4}Kq}*L4Ea))` zCF%9bgK-Jqni(|Pir1)3_6>x&WZLln?<@fdm&x<6I(fAQFY=&KVw6G)Rus#+rbh#+ z_N$WNg^J5~v(0E9H)AKX#zFR0=XbEm)52{uN(k9GIHC1nPmO;~meJ~rR#RayW@c@0 zmO*?Ui+hfHnYzJ`ND*|m{=Yqg_##hly7zx7ji zzkCr1j_7^a*#4(SZ_|8hk$|qy7YvVNqt}&$wlvVod}MnkZ}P!L+9W8$`sW9_aci;J z$tu4c!Vmsa-X`P7R#LRh$*S&4GwVuQQxn>|JBh^8rNzaK{G^SVUN(B(N8Nh?m9CJT zL?XXqd=jXY9_Ok0bLpy71uNcYv^ZCCR_hs2^Wda9>iF!p>|g~K_W_Ttk?ZKx(I{0` z>g`ajONOaF-v;;Ze~{73R|lO%7TSy%cZ?mBIiRc&tzk=$SL#r4IK z*NUTdzxnH z!3lxbekO(b6-rZ>(P)k}?GD&t%Y!lqXi;<}54o6nAotCxFARqxuZFM(HXjLI()9&I z2Hu$|w`toFgyUSnmN~`Gedgt|8MF#VgXc11Sz_+6h3c59$j7AwgJBhu)c`+`Q;%mL zTjPQFWBSgvs+7N+0ZkYlh2p!%(P&Qfb|f#aH_Mqu&cP=_D@x1Y8*9pQu;MhT0Y^X+ zJXrXGXdmh#hS@-cFnm+3IPbf4{sj0ikU&z;V1BK`@E0G~0A^w>8|4Fw1~}_S70>g_ zK)>Y>?arpsMFa#dz0PljTZ+Oh-Z*u!t!(o z4{1h&M|$xQB4#iUEKHRfm=8<-blTEwv@bh~3*Or4(xNjYQ@-GWyPHE!I^s|>6`9P< zj&IP+{<}U#_s)to@yxf$&|6ZJ^Pu@3$Hq%_vNT1;iM?k5IMGqUu?R}U{6KNM;5`+L zP8d(gMP39=`RKC`Ece@Zc$6@Uy2m23;6c_HS^0{-Rsq;B7xRNeRF<2f>R)%&Uq1f+ z^!*5*lb8}O%He*&LS_i3PUybkuMAI_balY*riAseGP@mxLdb#9iLsG~i_FVq+qv2Y z;gVB8wr#mO7rn;kMXYfM%lS%S{yQtb-~32Efr60yDr>drGXm^WWes(8J(I~CoX-7q zAtO{AM=^MHCG@2C*}5Xv(W2AV>k(Z|s2?IXRH#>2Cfdj$FQ5K#FZphs26OzK8&YWv zyVZuaNDsjGIf5}9Wv)>f}_bu`map9HKNMly^V9yT&WK9xx~n?ft*{`?|GmDS*xAtsodKIqU~ zZC@`N{*_bZ!GL7-${lAk7Ty@1hx-aNOPBtcp;Cp&DUU$7JHHRHyF&$J)J5&SX$+{5 zT@>QzL|YKd%4q6#R5FLB&E6UFFK@a&E;S)W9D*tji&eoxAP$LXT}C?(71j8$+M#~s zK42NesblkjBZKWvrq4JxNs=%SEVQJ#E?I3eQbd3HXggR) zGd(^Tym1tQ2Gt)RkN6a3Ro5Xt_R*X=NC0MvOqQCexN|uwrsn0l{!)94%CQmKf`zGe zLK_~&E1=xGOw%$Z^ceh-XVD&dcbTa@GN#PjbB*=5@QtJyj1j?B)-pOE%aLn`xeEfG zxHDk&2~Bz~amap&;_v_WaXI*kF@Ok)cu*m2OVkWgFmQJU=hDVEk7}N)EY$d_z*T%} zl5!R`mg;)v+|$x8b3^Ix3vy>!+Ka-j2UF8V$kfAt*a}GiOF*>06W3yy!28&X=5eR` zJd}Zt0EZWwx$K!eldqe^H1NCs@(C4?p(#&AW|ut{WFD4{HC(!;j}056_7kGwfC zsj&7jw4J}SQ=AfZ!9i)hAG&hf?O-21m0-M$GFTpX=Fzt*+{B}_;uFyWDxNTHK}evg zzcy&jFp;9D3l`P9>*U8~(0B&dZr~-Pa-yfIYFGEG!p)VvYq>I=BPPqd6vYfH*_(}GvzSFfsa6v1%z>VG9^3=^e+K+Eh_Ei09RvytyyiH6z zxbZ?-O~0Cn620NC4h!rC2)tvx#{Bqn_b%Oh^+T(?JDDa_Dc@`c9YkP7*L6PE{}>4G zAk|T+W5SyV_T0T-tcb)Ly4;yRI7($j-|-ffwti z)eUw6)0Ew@qtH`ZY{80H*Ox9TA3u`Dhy}tCl@PZj8rlQkB=%jP*9h|VEL68HeEC*J zl=5XZ4O>Zhs<~MQM;J}UP=dF*Z(kjtou{t#?Q))=>Z^DpRVQXa;W|Sl&(s@JqSS#$ ze9BF%SVwu2N`76m9PKzV+cv$GDBA;)Tk?9)1Cv*q1$|sS91MJw32RU;JzEr!sLY`` zs+;$~S(ptb`ubXoM9#R9;G>Fm3zdDxM%XwYf+f7#_y7D;m^C3{sd#JBi75ltSOTH5 z4c|fmXuqnJBexq?g^)K)>igQ1#(t`ucuqLPG(~ZDg2L)mg^@z{ zoMJM|>!Oc$r3ZBM)=x!F`vKQXDY}JL^L3)p!eeI3rjRB0dy1n_rNMn}JlnD^BWty> z!3@8d#y9Ou_M;_8J4p}CagIo*YO=UH)#1~??&kXX69P(w>K$f+AF4iCn0=M}b}aWh z<0hbD1omMYHr#w^qy_KXOCv0@^Ky+B*zGvXbzh&C$oHSdp$+VGu`uL*);AN)t={wb@m{;^oYto3?*^I z3}|`a)#~ZavzO#nQ6}OCR(ivr+THO)Af&czjyTjuoII~ z7KG!Fz+R$)mPPGP@-~Jz-h_>te7(E1H7PO22HjXVd@bie+YqBeglFO`wc&CgwSf3C zfQNvtyUjO{G)_OOl_n*I5GypTW_YrzKfUlz9tDgq1D|~-iS|x*fz%u|RTkv_60`oS zwfV-b2Yc0dS3`85w%yF0vY|8U`Bsi*e6(^lYDyoY1)ATsC@iDUqkyH5m8x#fL%S#K zwH}y{{c83pFO6 zoR;u-;;0g>1Y)`3G14Z@>dz|VH0$WW7b+Mp@09%vRUtHmSSZEB0hac>$NXR>FT(>S z&YcW2+@C};NLJ2Mz^8Ptg6D7&*c9SNXEdk6lhu-@f&4;^Y8m2st*Rkp(|~8t0gR8) zJGjB}t5B);Q2plC1P}-I!I@*mhdI!4zD*qbr2c!Sq%}^-imDUGTjC*@DR|zBY!!ht zwH!;%&`uItL1*pWJgC*R9x_j;ND#HeX&jt<7{enFy2j8**K42-G$L%(dx3KVn0rN;tpdI_2aH+nmdImmEYW6TrU!4dVke$oZ} z;2~pbk;ndI-+4AvaOUP^y3NfkL|(Y{;f_M2)cq^h?qaGsS!F1oWrklixj9y5sH<(& ztOh#b5c>zpfE@tTqlc#99sz;8_XXXw0s2~E7x`%z-yu~Q)@B89F{Us#$*(md@B{7R zCiCcK1_ZUR!%X{3=N*u5Ftf@F#S`zHrLQ%_kXI~~7$KWICaaIK$TCmV+SE1N=}d-( z(sL+1C#`u4k*SB^0U+pw3Mw< z5JCnayiE?+LRPvSC{DLSRT_U&A_v>S_;;}1Lh01xF5q;>mF$%BxK4|{goFBv4J#l- z>8yj!=PfE6I@HO>#;l5H-i(ixjjN61-tk8ML1)#v(Bt92u86D{M)Qp0)$V)77nJ-R z1i*ThJ$X=H$@<{1DsX+vIXhou@JIT-Txz1&oG6YOytGTQkqt6&b!G-S0FHe=sLcS~ zvg>*|9j!aCu>u)CnFg3ul|>YeT!Fy^SqJbqw86pw<9@IFw7>JMX@!=Q`}Ut8r}BOo zD_&JH&eyCwC|h?xMK4Xp$G#VIrmn84h$hQl8c}8Kbo;Aqofxw`0a*J^LCK*Bp^tLp z&l{?;9@UvT_vlmq8JLYZtkZ78MK-wcr2b_j1rRzzbzJT~GN#Kp&q?IrcN1!i$BJFMp2tK^q39}Q7c-cW%-FHz?mxMwg8oZ3VZaq84AHA4{7`&R&!$YTEX9Z zNjieTv07zMknhqz$Zoxgi)jx_wffG`>o%X23k^!@~x9aVTRFj3@R&UI22m{POEK!1i;iV(SkA=ho;@l z^{o5KG}=ao>5VR2=47;OJ;GHcl7$>a3*B0t9<0_d%W5J<;)X&!;^B2FP5|-*wD_OO zU$4Hn4E}J}E{02=Y&3pzSNgpSy2`4ld@7g{i2YPCmn^U&XaiZ)Yisl#*rrII+>}KD z?$R*GX0H|YBTR^cKvTotl2^d+?uFHs=a`1=MHZ=5m!A*8qx->3Aq0EXK*MKdy5k13 zx?gpMYU$Ryk(ZFS1X0ZaRGd-E3A(ucAy9X^A7IalHQ%?_7c4$t$tHLBz&_e+%@7efsg>YHJS`tqqB z9ZDAj&l71+xKJdh`3s6AeiP-Mq%aQ6dDKu>Lxx3n5vv1#1QL&4m}>NqdIB=tEa92i zx0`&MS2pfti8PTK__mF1p{5cj5AK^@?w!@3@!_IEaFe`aBk3@}ysjbu4&zo`+bZv( zYxq5sg$yYOvFE!8R-{2%-l=TLF(~~nXr8(R(L$4JtXpKYVCCIdeRZ${_Uqvt;4>#kNOSxmB^dF-UP&<0 zv_p@|*eK%ldCDhhF=;{uoFvzfmv2;$k#!CL@NN?0M1!AqWoZ#T%@ zs7(mT^CkCOtpKCohNnVw_wg=vm$k=5a-AfO4Y9?YEBCHdj=l{dsv>QKkuV%bQ+U-| zFG`^U*3*1S4%bFwzm?mDw5e3TtWn5}VoQ!%jQ~NStYwSQ@Z;k$su8kymwBGw$Vc^f zd}!tMEo**3bUqu|DIWCjamt#mxIEiI@Qe%Ck=(9zA)>{6*kt^ERyn;CDFskC~qTI zfz;nHb*4-O6`5C7;|m`p21>V*8sEj^-FMfZhiA~pkUwsxOYOPNvA`}Mzlb`xmMJGa z_VcXZoZ<2COiLKxna>>72o9n_Olwri4hyULny!~sa!XMXU6gBI=QVFNHKh%zN43)4 z#y8ygmT*qW9ZUlF2qcx+CsCt9CyIJOU}`WcQvHI_@xe1Z?)^U^s6ooS0lb6o&CdcX`sg_#j3^QMuj?TPo(>%ZgDK~P{V z8UzD)1eW!MN>Tuc4X;6s-7SZ_fa?*WC){Of@QXI_5VGn{U2dOX5?0ou81kFf`S)WO zd_9kT>@yN-;nO$MlxpzO=&SZAFE)KxkO2l^IS5VklXv{xXQniXu*m8*fhC2jTFZjF z!R-uBnft5PY)i4Ev5N-REtBdXdHYT!4hnv2+UdtB*oj-KGQ(DG)*e3Mk(=3x^%oj% ztP-|h(!3oW5~ITHt~f3|G*)F4wFkLLs~Eed3=>3);TC_u*@WtSdQ)|%Th{cd#KB_=W9zaP!(hE2O*+HbrZZe}<-Y-Kb4L`I z5eZmnu(FlZ4cLw{65uL~H3ttvo>IGBE*EG^S?K8s=x8|sju+W(NdWN(QmEcGrN7%r zm(M#k_hH?r&ClDNKQ8S{HHYcyEy2(?39)4C2Mh(#I3?liU!y!^?B$`p+8L~UkdCuM zx4fG@i#h*&N#E)#xuy?ZPu3Q47!KeIpj3sa@Sh&;2D(wNQUp}o;N=;j?IhElpAiLe zcQ&DhWCpkp#l!07R&FhORT}m=J)V5(c595F$}r3TDdw5nUUnO=uZ8KmRP2i~-O+Hu zB9pw!!40$CX%&VdS~f*rjN?Vs1-R<|S}%t}d&08y%}If_Iit7}9?;()Gccm{cw%|s zIjCUY4N)t_FW zwma0?f5gd-&#DyRe-4ZDRU~v{Nd1qIJWqN$;;gE#l6N(fAnL1En3TW!_{W>ahmT+T z!r@h+tV6?w1 zRV$pN*Cl3}u%@*+uS4@lix!O{8vvs+jQ>beoG^&gVle9y|FbF^=PnC0XTJ+tHIx83-^-fJT=|OGi zUMk)Om-~q>n*ISZC#PPW`CY2ocmw~*d_6-3T>FL^A|)uA$T#+RyIb;IuFy`%j9FLf z(qdr-ho-@Z%Cd*};bQsVA|<3Ztu|BX1Bh_P#4imM;<>?=lSi^%Wmz*@pB%@blryJXX_j$TXIYqnot}+$ zIv7^YP~HzB$8Q9Y;HiIB8v zRG2n}4NNyAWrLz9UFa61*47;n zgnjkoD#`os0PDe*F>KOxI{0QOx82qLeg?{$o3$+{kI4jy*DCrAxqo;sGB^I+7i-eU zWUrAMwrPwSzYHhMkL0rFcx?|l0@Nkt%!MFE=Q;8Oyu??g4HgdxVa)|+{b)z}cO9BL z%G95f0a!Is7qIh=;XmCZ+`5fK6{saEd#Z9MeD$GdC)&k{{W-HOR)e5D8msG$#U@+e zd&Sq`|C{p^`5*l*ri5W%X2Uhz;qmm`@RK|%LdBO~weF`2`&5kO!?~X%_ikYj+pKqz zn94~lk4%1YlgtUG{cut+EtwTe`(YZjPOWOsf)BjofekrGrpS`v$wJdk;#t`FpS|bp z5*n_XRF=%04<**Sw3HK?`??(6J5-}xI#bUi8DTHsR^Gbnbpz|J?AAQ#SteuPB-00L z_q9OruQbm*{K`C{hYD<3N$f3`qhoXDrIhOE(DtV#7X1a-OO5Ux)vPOl9JHsCwGUHR zJ+r@zpnWf@+gGIO zTqPfP5kLSxk{_4+cVFavo4ie33ok>3;6LT+O}vPUv2W9T-T^%NW7C6}YcDO`xwc~* z!DJ<$>a-uE$O!CbPbR^$#&=^k23mGA<2`(n{P@ybhLxA|70V`$2zMGbO5}1>?6d(x zJF;LeqMQR`5U+_eBoVqa;TO_DJ)k^)`EiOWf`N$z0$zy+J^myE)C@pGg?f5BGWLMK0Sc_EJT| z`Zfm&*EtC}9bp0$glaN9Fgo&MB}aJcmQ^OkjB#QHr~^p`rKK)#{5l#34h79alq zn3W&ZPFfq@U=IA9Z?91|ZeEg(SQeDEA9K1^Ha7R(`Bzsm4N` zid3+ITUW;g_FbGaJ8Mg?B>9){ zeb-CA6cNoZPIt6KC|VDr9VGb1Dz5rOD_bv4Aa?a?b-doe$Y8)QnE9MsHk{Mxak|kz zzxe({F#$4k6Jx{Sczc)j-Ksuno~!cefZbdZyFmPR8$jhwbqUhsf3vWN8bI=Y*cD>A zrKq0?K2y>LfAIs=7}h4b=UeRw+oGSWWLr!aE$t6p^G$N9&Vj^$ihZvX;_?PQF_fNR z4Yl7df1pA&{kZW%#rfJfikDOl;`0S4e+WYn1pL5Xg4ir)4)_iQNk_LR0D2`z)eWVF z(eelCVz&DIG>z9Pn7SIVslK#}f?APW!w>6*E~`&@tDQvClE*$E|AhdE?~h_67wr!~ zTY6SM&#e zZ|VY;Vc*%2^qV9}iuCQkj>Q#p`y%0+qq&p$g}AeIg{E)nHbK<(nG8fWjZw#&BG$*D zW6XQDPJ_YR_=%l~pyCz`QC^aZic>>=9%6G*j>{;1#cjHp^lOWeyu zf^VRStDzJbAFtRIaGn_YWjTfh-0#0Kbows7C!PzvG7exX1^`j3MlQeaYPaeoX(2<4#DEN6tda)Y6LfRHIJ>QPn+-dr~;bYb|;<(#e=zgGP{%Nn&?9)Bx3hc19F zikq*4mi(b^JZxDnT$0U#Si8J2spF{CqrGO8c(z$;ZP#~4?H^}}N5;3Ir#5Jp=ymlS zny=_1lIxhR8@Wl?c)xNVu*cz_T$Cb^AYfQPm2o6ky|0X5SywYYd%dZ0YRy1(-{=ru zQ|BZBO7&{aK4Tz04*L$YrhpS5ku+kr$^~vEo0aYqF_wr(+KwRX zhtM@_`37|C_`BepKS5onM6X$s$3ZAY%`)|jm$%){05~95$1;?O?sG%{LT(56-Cfi_ z^Egu5l9l`5K6j0ShUHB}g*BcsuM2F1cBx`Hx|#^w^eSL8jHR@lyi*4M9}~mjHIsCA zJBPUNZ(w3(3YBDNg7ynir1mlKDR;B)=ZpD!e2AQn_DP!Q@#D7?iPeJfx6JO@&1Ufn z+CNL*X&Zbcp^9JouD+bTjcTff^7tPhCF_XwR|NwjYkBw2)_)>6p|^AU%^)VhjMXHn zwRWZ3$;!!GidFnn&JFs?RPeboa`K)OAa;tMB4IR4zFpt0^q%mg`2JU7m%g}1d|Z-Q zHrQl>xF4+TPe3W~0V<;lA{Rt@Dk0lY5D=4#7LCmQ*2(8*!_}ikK_Mop@-)$x{f046 z$g}hBr6$r&+Y!bqCoSNtQ}av0+keWwBWX}Z(LDa`0=u!vx^}8`sPG=WKQG51`*BDI zh34A|bVHNGHRKe~QC?|Fksf$Hw~_0gem?0358BN^+1efj^U)bS*x-p-N~|*ME0>+W zbP0&@azA6G`k+|1gZ2#psGhNsIv4;0Ty0}bt604JjP|0ze)_xdPV&)8T@8~VHO|7* zGNNui=QXXgR&x07beM^gdrpfyi??_M&JgU&1a8xypw?GS4$-By%jsuo>^@20=M1t4 z`I1CwC+BZ9z-S!p=>UIQg^tj)B^sdFR%o=bK}9K~yFJ!~K8!9JnlROqpTKa*t-9OT znmBk}HBi+KY9w2?ZdUzRU*xKcJpxM6Pq{!K)Zfgw@8+ZQu^pXc?&9Q(eS)}aqfx}R zDm^F%(M!8v@RyqUID78N2WspEgeB@)`c>+1L(ePLQtm>hHoQpQD{sIjD1}D;0WiK? zJXMX&G3924`K||q;nB#Zf`AD6@}|QMfLjAWftjcWP|!qW8*z8u|2a1_kD=%&jwBy2 zgB>z0@&UnLxD62WWTsQIppG0;y-YlhfdZ8zukJonQ|$*q4l=5k_=+zpddsoTsHf&L zP%RyRs1k0^h^KG?8g|wf(9C9@^Q4ksYHDdQS}Sn|@fh#y7^|z{VrMigylOZef}V9+ z0#S8W8t|s})iZer-YE+N3P19)oq<>RYFhx&j`LIA$j(lC9-OCI_N1q|+*BAJGSH@n zmC8mtekW!!1O>Kzn5BFqEgZrqs>Inj3VEQZUsp24Kqu|zz>?~S1`N1YSfDM(v)9SF zi@#@3spBhq@>k7%Cu@h3$_S6QQ7WLPz(h@}4v(V4th*qa6c9M~UvInTQKJM#_qw^I zmpI2kkXDsD9wAB@-Y{CI2>qq=FAb=|KnmqN1LoQWD3gil4)sG+7pR(fCtLs!05m4< z2MKIB$u;$1{3yX}B;k`#`lK;S52hV^YFV?Bc7*(W^sb*%KvHS4&>5I^RR9`nIz_rI zN89iRFbGV&X2Jm`7}%SJ=`I{5jas=0(dy zap6zxxr9bUtF2a>S%2TLrSsYn<5zH5@^6Vis`NJbwXXh2w{=9+CvKpBLj4sA zhIeYUhD|s5G2KhR*rf`R)nKR%c{^zZZ2^lcA@T~)@(W_)t>y8EEfz5!^nU7esVCvV z4j>*Sv|t4vppE4?y1GZRA3KCZZMOpuVw(~p`8P^t2b61}3fIKK-YEYdX6dT~bd=^O zj4YeK|JU1xH^0rnVjrzZh|zxEuk*A*Q>1eHojZ7B_|wG@LJ+tl&Xtxza>V!TrNC`U zfy&jjgQ9x6`Ldv^@|TSj*z!&C5C{gSYOpzx?)&{7Or#7m_hR?{M6tXV>fZjxXCq;G z`Rls%@O(L7)5>G}Rd$tZ7?_ftcQ>C*vkX`~J-rXWgPe;98pLn9L2J}v=N1s%ZH}Si z#t;z{_t0+lRn#L{FBEz~$Y=e%6+Yl50ZcZC-WNpR%V-fg(=Y;NwxbFLOmR&SdjfR% zBC2&y`JFhl# z?|+mhm`p6(~%U0qW|~BT<`qHYSwFKHEe$zlXQHzx}zuW!Xpdkl>FXKG=(ETgP7DH_qj_e zn+ONkVTHsd<$xv+U0TR)9h_|mjU4Ye&A%H{ou+j9e!Zj=jfkgDQMEdh;|I1o zt1VU{eJw7CakzN0P|9yfI-Z;SSX~ICnvR51?WDs_xLL3z4mKK!+-h?>5FwUM8EF9i z9MQV%^|eGDap3A-hBl|KezHdL*f&q+x!|s^wJsdOS$}T;f}{`@B$-*NFCnt_k7EN7 zr{7k)R)K1@IV0@yy&?q1dF74%YwtT&u$=awLmt(y20)#yWZA=auM~$uUJl6T625N(s_F|;4;+<8UVXzrQ=obo}$=Q)_42NuD z2U!ie@0}7Zum%4u~wDjHvC z`BI?FIANX<>%oxPFqWGr^0f)g1^3Q2$Wmc(tr{O2uJ~+sHJgWN87KDsv6n z73EcUpc&yBBBh>0r&O2Vv3Qwq&;QWCd<78*=qaClk~|pM-~taubK}d9MXY0#CgGUh z;R|H%RACA{v`p!1k(lLD9oO`2Dt`@s#*#)FV}Zh+&Rr-J>o@A9m*1xY(BNTb9_thj zs_J-O)83I4ca$c4JHC66b9n7Z`z2n#@dIIPflM_$ws+p>6KbnyqjOPrO}~CZsu0RQ z!lSE{3{91%kS%6quHEr7rdo<$?S6ND1PhXI)*2XGNvsW&`v#OgGyJe zf}Ur_D4t7HuN;l3P+?_5x-!uHxF6jl?;^8w?Lf%!CVM7BgGSpr6ox%tYT|{k31J0; zF==^rU7mNI>uZ%<1XyboZBL_%5(;;7^0-6ZX%rz{WJB^CcRxRd>9vP>qm*7(YWao_ z$(r;q!>X3Sy1l+W(BhFJzNON%o<{i8XR88xw};4E3l5NKmZ1TC)>xfaj|%ymytqJC z^l?fTVOW#FFB!p3EjuLD=qKz8`QgjUgw+_F?#@)-eejy2ET8l^uz)L9h2NWG5Y(kk z8rE%ChN9^3-d$ishHdlPqOy}W=6xM55ZwJ}2yJY{cJBWHIxd_dV6kKMKh?T z`>UK@5aCyEm@w_!rA=8^)cEtNZhCFtSDe|YJC3R*N+>{Cq^}NjgPwe9h8q(X*kIJ% zRr1%c2M(*BmgM8!2m(LVz2qAr>uHYg^ws+UA-E?>4qB&?#>x>6wZ|9VLsC)chJplC z8`KiYMTH%;KH6KdC=Ubdfm`php+cyXOXYM4c7Nw}0riAl4s0xArPa+gt?r0#pW~?y zgP}$-b;r*?pvX|%T*kr>%qa=B;V1a*pMEOMZiWw&l+aybz}f$re(1U4 zu9Yv9sr^npmO_xi5f7!(DM$KHggdb>q>P)|3TeuV4;??}BI1(#;1+&q^?BwF{;~+9 zksS^=^)%1E-P+;3;n|m-t8?0n<0Tei24Tq>>0y+Lmi*c_|8ae9*>=9Mzr5qR-&kk^STFTIKXN z^|es5#Re9C4ixd9o{i;NV*=;{eX2Lzl@7yXJ_fY}@;BGiDluiW=DaB-zmeSWHumLIKJU8ev8k!yqk+^Sp>Um|-2bz5%h-~pdClk= z2%b>Pc`(xf)=F@V{)Cq=-W~V#8sxE%H-?N}$;njIl{b=JfTGiiwWn&ve3S7ljd&pH z-zp`65jow4X=)>H{5BH8*IX>s#Bj<#KMzeEf6<93b~)0C~Jrzzx+av5AIRn|9=NAf?QK(w{_KBJqPwhDTMdSG#6H6|p< z4JN)tU#08ZT_Tw=_nHYq7p0#(3qiW14ATl*DQHE$B@;-MA-aeXAWx7C5;ei1k_i8^ zs_6)iM?b?Gq#A;HsJp2;ssa0NF3~%X2o>fMD$(ZFeUZb?1>jcf2r~*X?2mh{2E0J3 zt*MtGnL|laYkFlY*x*OOjtaF{u8&9!@6=I`SxMc@4TiQTbre)7@Bmf&%dch z@odB(ayDYXRiACmZXbWdfebmMPFskyL%vgWM2m*DeX%k2HR^9My?bH)5V=XlOFCoQu8bfrbB#Ckh8Wd?49~Cu;Mp=?HLqQ@G+fV7N&zxCE^AO;c(vH8mmj zAqzd?kCGc7(^)>aH-y-bj?fZ_&@28c*X?0>Lh&HkQY)~oNzb{4$H!|EnhW@KsY#fe zJQwxrdQIB={kiZCko9eCq>^bT(0Xveru`#DWQ=Oppe4Lu_E0@T9O8&QDPCYZ@Ae`G z0U8iqDqp>AjUCvfpOtAI(>dOl`?7X?b5pH6$f|=CV`?XV9&VMaIF`1k=0Y6O3VVd#S9X|eQBAwa@+k>mQ~#E4sVq34u^&70&Gi!Ub7$lPti z8`eR^#^4Vu-w92I=I5N~*b4s=~H9yjfX{iGAQ7!nj$(J@O1}Y}wuO~IPb`S(m zx9VpXQu!Y`?Y`>-%4NSyTmklWvS#@fL$ru|jwFfl6IuBZH_7kViBQ9OnDeNMc5p`9c}UZ&nyOY3Lkzjt zT-@-Wp{`1vAUW|;3mR3bz5r=aGqZ#KI+fdk31kx2xpn_JkQup4q3$6o-RumTji|;Q zDrPqf@m!)gA>eii2-Xs~+8FB@O`AW{c8(8a2<{;Q*n#+u=TL!rN|hAA2H?7c)!nR* zu>?a$ISGl4DlHQ~=dBS@ZTj8MDP=J7peO;E@Q&h3e+2X+kPjlg&6eg%m8y-s$l zw>F%oD8uP5_vj>ImaajjJ9yNTg5iU={pGbn>=lgJF^%wVZeIMj`>?EakZHBvft7>w z{3`jV6)9zcGW$ju?<#y-kwb}Bt2gTGjjqdfTUZdbQgV4XXPQof7s(YNXM2^rbHyH! z(AE|0RYJg@Bu8niXmY?e^s5zo;~|%>@z>ItXDYhUK}VLeT|(F>xB3y4IGM26hGjh- z2E$DGJ3n@nt|Gk`D*FYzGp5h_4A0I}^qv3225|LCtjEZ>fjp?x7CQ|P5cEU_y1_F2 z*M3RS9~1t3(w+u^!`yCmawO(dLW-66hKtCWzIyU*2c{@XmWfuo9 zq0I-cvG#U`{kY#9+kCCUkWdQ8PENa0xz+;O3CH$qjq)#Nh?AW>Z&hPzlrR0@8y=ei zr~sycgE(5_%9KK$knj(?PIwd6lLkHZ4i#k@wp$sdn@cu7{(X~-<{3j7 z{PF9XKa4bekrK^2H|fkmeG!M&P2!91N7f9556c@pKHD|%%yQ|Jj(n-V zY#eA`GhCTC`>?HENM!dIcXwz#==CkhUR~kI(R}2EHR`s`p^IN{p^N;En*& zgLjd=I#(>@#eBjiUuaI5cAWZM$?`i}7fzWJXq#tC%gBRW*;DztfNN-?NQ-t-QiEtq z9Nu1EYtn!;)z{YA`s(`H3s23UFwPhyG6j`bu3I;Y=_u)R9*F4qNc$IJ*WWRO(-py! zC07_CYGZd3x*4lbeHOKj{?h6=0VX*;K3g-k?)T_%6%r87NiHkg@;K;(Sv8CNj0f%e`{^d_TZMUwSvToL4Qzl?JEz$Q(~%m>0%EH=-cf0rGxk4vkC z7GG5Z{U!C%#~I6QU%aHROsJ0pvK=hR8KzZr=0=7UKhOXo0|oZld?WcH8?mom(w}DxovNjE#uuyrm_ROc*y@;hBNhCuOXks0OVHuO6uRtnN0wR))$NUFA?( z=PkGF=Uk@Z1lu|F>(rpH4Q}ukAhT4YJa1k!J`mnlRlNq!qKGY4Sj>ZJy<8dLJ=&{T z8VJF=vs^#dhc?=;R7nrzrhF}{cagvsQ)c%^&*kSH7{AS5EDbs38dZ&7J42-0v@^yS zfIVv;gYg>sxrXCYm4NX263Uv`SFk2@YgHV$SmA*X7PgIRL4Uc_>d(TL488;ACZl4Axl&_nGH#nArZ zlN;{amLHC$)}@^rz6|dTZN%Ok_pXsCwIEQTXw@B9yZdz@>lS$qxT6YTLBYB;3>x6| zuJRLTM!Vuo;(de70+kB*spMTBTqD(im9h^fj!C)C#yLqHmCIUU{U+ zpf6Y&31>N%s5maTZJn`q?rC$ap_%~?KMf!Ef`@I}dm5oaPv+{$hqQf>mrkmV)!+xW zp_fQlkA7#(=IPt-2BZtx`$WFt0q6rkA2Sc}?eM5%RBC-$t zgs%*lmTM!5A=Z8JhlBn$LH=xZML{ovM_E+}1N$yls{m|MfYPBlCYLsY7TFYR4PvC> zsU#bsg=^Y*JEWgymXZuk=jCRAFM|3o6~)$)#+Qngkvo~`d7292zAsvm3!01#5@O`} zyItBueNTmx%HjjZQ!#W1MI^#{28vbH$s_TqHv})y)^ML{0C0FUt^2F>17BBH0#sGA z<9j=kZ2>TbY>QwlOfJ>2kgRfu0q^FTM+Q!WQv&H`3XG}Xn=2bLR^`6#;vklNFU+yQ zMN_tOnGWmo^b%OwFij~i8fGD21f`!D@n2}w1dUOTd1tK;i4JM$?$S=pqO2s+a;CP{CyCr{>X&|CZ!BE)g==#yvSs$CdX z1I5)#H)?o5UuPTc_kXG1kHpvDwDn-oUg^Pn@X?8OtCdWaZzU+XNTKqLgs4WCC{LB5 zzfB5&!6V`lUUMh6g1wZm$u*j|Gjj`Ny*;qnd1ZzYd$+QwH6{JdHKmGzLfergV9>s|JDbw&UQ>4WcVXOEQgaBii-a>B5wg;R&@Z z&pK52KZ;#-^AvvHC%+N1udF-eSw|Qt#O=V0BSZpq-b+q!e#K()4Kq8OR!AWsU<(du zwhaGsD$!er$baME8;1I-<$;22h9pfs1b*eC8qa;i2ScyA8@|O-OYb>n8nb)n_ILB7 zp}`tNpKT$JZ7ibz$5_T241^yuMRY^hj0dFhIpLJPR^j9}iU#BaY6);sV2noNG@QLj zK7wS|874D?;8{91U}X@{+M#nC)$zi)1)6_>P_!AsEo02tJqEBQ|$%^ z_OQ}Ocn`=XNSoGmAyeos>1aL=Iej$_M9Rx-|03bL5?4$AoGs=1<{C1$j9a`)hZHPcALG-G*$eHeY-0J0T)kFq=7$ZF8bb+yZ*eY*0>Q zf8bFWf9b;%TE(=xao36lSDx1FH|oB;P0N*>JV9tV$_weFcISTYIF2E#;SQ`nOi+tPBQvG_r8|HkqFL%59f34ZwBZtjwLT)~V)(Bbhka z?WIoFu{bt@PS-T1myuB76mA>-zvnvS(!ZR$yKmG$Zo(I1^SNbP_^yr&u?LNk+{nad zmlm5KU7`werS@W21Rf_>Yn4ZqUqJ`Jn0L{(J?&TY=`X#kEq5Db)7{Lh)3UBwT1hH? zVMzjxn%SY0&yCSV)TNIbJ-=G5u`en40e%}Jh5ST2G95(XO-@>aJnI6n+9-D)(UTC= zLqfm`w<$I##AyKdUXWhxQ9wpf!zMnNU=x{vO8V60VoVdZb=2p=5IFHxy6-8; z@5@-cBCQwZt+#$#&K}_0|5m=-&2)IH^&OlwSWY*y@?|SI+V%N(T?`7!D4g6CMO+FZ zFIB#An`-AALT*ciMNA)9^mYCUOr${OXzGZexGQl)k2 z>GVN`<8qiKU5j|eXCl76Md0elD!Y?0x9;adva%#3t7io2tnDi=WJMJbqFMZIbu*dS zh=0#33CECR)@)U)9@)+SP(ZK0xu-jAKyz1S`&u@EyLsdq=ZKcF;X=gfbHKa6l+sCT~=Y82(2(msgMWNRAgSG-h0nu(iG!iv=osyndiwy ziFyVr@jOnI|0zk(Iy|-hRqfqY=Udu7xgidOwiOQiuHN6An4h^Z_LfQ(AAm5Mv}7e^ zKhrz!n7v6b(W4&SE(eT*emQt!`#AtcgWAR5<-jQh{N+W~{EyD~tbo2a70OpS;slSW zikl}cts^?Hp!xhDvaR(%EL9cjjAhIwkt4*3v>$h-;Jcb>4{Cx+i!jb^+Fhy&EVDS= z`gdt&OqpAgt*GruX9PW+t8Uw1HWnuM1t=4eSX24{q^w=<>bfw8(NQIp^*lPsO!vZI;E!lIVg>GU|8u{StNEX#hXQiP2+306?9 z{eYRxhJ(j|3*luYyLL1Jubf0LE9@pvFbySQtWYrtbCL&Q?gkGu z*-~YiHBk`>%S`WCopbc>*mt#RZ#Ho;cIwYvtukem?iwkv@dy+5a95Jkm6K=QoD)Y7 z5?ol7NSudfM^wU`8D@~{Ex$+w3-st(zzcEU-g*CL`O59q&i>h8c_dQ**PFMG_!EB^ zom&2yJp6m0P0y39&()cIxtG1vo&DjWy0d8lIq)+v?kSJ!}&BGDDPrx~D*r?Rj5}4snD{8k_B5lAxmWEdmF3vy zEY37J%KwWuAl)sMdv~>%X`>G6)+lz+ac;i{pP^FN0p)4pG*e5T`m}2{@-Ct+`q6|| zNamW63d~gFpsl?S^pZb3cRB z)P~ViD2e17?0UfIm`=!UEAP>`2oa(~1slp=8cgELRJzvml_i-7G7VLzz!`YSwODGb6`UpT2o4kb3U{d)MSVxGU=1A)KO$pt}lwlok z7Bnd9&_Z0rLnm|O(E3vRo*Hl3C)j(rK5aT=FQ)T3tJm+x%JrUWYf?P5uZY2wh?5%m zUM<_B`df9VnyCeN`QUb^GCt5QLIHKC!ac*KE~Y{KsV#`5$s?$OxtF)r92-w5{6^j3 zfmNyoxhVH}E&27095{0P^k6-(96lijf4`}^XP42xf(HzO*#xKxbM1jd3q6|6nNs$P zaKGdEHz}#;B>WxPK{;Gdfxetc2)MXrM1uA0s4OC6Tx2tXG`|8_@1A@a`OW|fT4Es$ zuQ9Lz7e?4jv(SDGYn8(-T|k z3YK z%1b}5inIz-|3}2CNL5?Iq~2>1<U!B4b81umMLFd20QC zIGU-(coY*K)?}WWEZ_T@q~=>ZFOZ5<+Ccl3gybCQoKNWn&leH+|Ab8W7uAmp#+|&! zC|^jqMH#+Y)m)QCD|0Q3y?qygrJ&3)zRe$$TmjfM^*vH56%3KN&jq16gG3hq?* zXKJ31zv{99)0ycRWHNBf51(G!Wd5R01-&_2!~WoNtyytUXOYev=ek`SNU|7YmJBa< z;xn;kswk|!nE3@vbG^sr;nmg9lO;*^A<#r+WNG#wNT(%T5l|K zC@ngrexvMHZOM-c-S--|FY>kGm`q#VSEx-{2-t9b$m_*7zBnU%f2MTS6w-^ki~~I+ zD71K`;``~-ATxo>U$oPxiJGP1aG=)JE=|m{lhh^e;7|k6YvmKwn+;j+DsdXj*(Yrf zvqaYrU}8JE9M@o-^SP>~zedx6gKxza$8ZePjU^(uoWIk)sg@Ul#ZID2Bh9a-s0Or;sf?7)b9>AjGoj##&WZsjDK8_4Wow3n0t~ku&H?d z(t4OCafYwFj5937bGC(wBf#t>Wjz#i2DMO7{5I>S>B}4SbyV4#ZZ2!Nu7$c6d*+a| z<>sNd4Ia7G8~hgebW*bK^?eclh2z1aQZ%c6l;QE{z}Pg`U$I*D_}7|m>nrJIUkoYU z=tm9n;H;40uPs_asqb>!)pv*}(}+Wuzev+oE4gSs>s<(bRQv^rxH zf=;*+{WX0uL5P|fIK!m8iM{4VC$QXPo6^p=-zycZE^5glu3|ZK&VF_DCf3P(s!&%b z(t~jUBI-X{c=fZMbc~VmmLekZld>pfDM zeA+~GE->l+$+6Z5OE)n(a&=h@;GhW? zVfH7Dcwg>`K_WaTvstAcG-U@*i$!&Q1oG#wuMXif&pS3H7TFkgN0l0rUf8ltm2~v~#b_R8zpd$W1hU7OvFSuy4;l9HUZ}ZP99Ic{&D| z%a$+e2>IKnHEMa2tbAX}IxmDpoVnk>R^II^mT3ONOdH{B@Yz7(K##)g-29Jdlq*LN zVkwD`Q7{dRy6ft>wqyf(WD-Vo`5NV;vgMBA7Es9P^za2GE(mp~Rb$Oa0s%>LsHt=X zaYHB>6BCZDC-`o3ReIPxxS}!=nY2BS+o7ZJfT zP={M2tc;#tzW+IGa+O}w#9&E$g6zQ{GJ85IMKJKH+c2aW6lq6=)1&tuhL-F8_=d;*; zo3OMHIqh_tW$R6|XAac14##2N)Z4}d@}WeRFz?n$b(tHtL*^nI6`XpMOTr)oCD)y5 zjA6Wh6p3Zk!GmtwdRIeeZH753y2VS`DWk$)U@2xt2|5K#U~%E==gFq zv6)bzi7{39ZPgINJpbf5Y2_fua%Ed?Z|KanX62?dOnqsK-H(veiU%vN|_JXD#AExSaQVm3+&vl*_G~0ctSTX@M z92^TW48lo=J21Xe4`PI=F)B_s6~22!O|tZQeQi;+<~lB!DNmAxu*uOM{ZF5-pU}~| z)hGAD*SXsrXGG$dWkVwq$OuQ#R4?!WB!`-P6#E$&ytHj=8IDdJV@;_~oBz81FqRFq zxNyIQ-#n{2F!`KIfMrmxyMRK$udilcefe@e)ta>~)ufOxS9gF25yNE_g=o*LJAvk$ z0!82SE3aE-KA+~TN1|OEg7|T#pQl=RsyXI2r~!WsZ-%J)nL@fo@x8#)8O&sEy|aM= z7x`B!3@C(YBeyO83X7upE4&l|(x!0jPK|?*eUIAniS|!7Uz?&AGobl}YJ_@dKzgL^ z?u=J~A8Ah9Qp080x=OlV&6HiKoa5N2&xMrO=x zE->~*sM>lIO1eQe{C3jXCNGoy?TaDsuua(`;nHIA_G}n=NO53^A!?@p>UGpU27C|k zyQB;UFHK7q@Z+F0X~J={0%%7Qd0C^=(V!|1syiTQ2Xkr+#c4ODfSdf35_(3nD!)Y^ zX_c3xhhT(%Pme9!aX=#{RO;gHq^yYokaE9GIjd|Qo%#d@wh1{F>{EReyWkOWGHQ!L*xS6pNIO#hsZ>mbdBUqQ*qUk zq>|Zo7S*i-(W`$hpa{3#FM;I?pv<*zw2XbJ{0_&#K(PgaW|$n zh&yv4%71cIDM$6`I_xhW|9E`(?Z-dfpa`41P4^v1ZI~^eO#21Ps-f`6S9YA=|9JTA z?az~soOM@O`|n^Kszl|^8HdJZ>{DzfIM_3(0i@(SM19J7U^5J=H+i+9YrzXhIKbtG z+@R(5DCH_MwWJL_Z*E3wZl{gpZB}bS?`b0_9!jM4&vV^}g1rx$(ap@`pcK=`-C@92 zM%6hDyb18~U_1)2fTix*s{4~9+wtn3)XAgMhXjjfdz4+E1)oUI)%`l7ON!m-W zLyw>JVjh0okm)6!{l(613eA*R{=RI3Gyyhf4Md9ly!G}p?JMh3ryc;gHK{uK{Z=<1 z(BR9?7QeEtCp|DzqUjm~zYGY8pirp4Txy)QoRhO-Xt)+o4M6 zar})wuo)3AJhRNL&|ouBwKy^-v$cP*{)mC=Bs<$abo^n2_)97M-8FlTb z$m=2x*2>^5aoJUEx@jiy9F|*-p1MdsA>d*u9gZJEu!c#*tGC@#kLy<&Jjx|3zVdG{L8pkZpW{JA{P=pEk_b(w z=}M*W2Ah+a(7fIE46w7FN=!5iHgQwpHsnFaqS<6E?sB(Lrj3~tk?gI%1dKTH^Y*22 zAZt_(NwVX6*0|G_hS*eK2rV3_@V;|izbSKs$1uIdWG|q6J&HLlWAQOXWw9(rAjgI> zF;t@H31gXA9@PEI3vc?dt+Q+9KB|lz%Yh@e$w_1DD_K0*P4b)C7C5bQV9$&odr%ul z>Q#|Hlhfo+vUNl0k9OVk`y!SVM#8Tm4t1?EzpZ0rs2!qb7g1{7cy|%aDVGqXZ>ZX} zwDvl+Wh@Lin7YKj^PSEhkH zgS1@b>Vea5Hlf9U`pppl*m{O^UP0*=&BeKA|MO=#9w_N=OS+`U9XbbB&Gc0G_7`nU}j0LpfBO~3H z@lE~cU!Wh%o)6}9;|i7U=b<_09bQ+mODu-5YXL#NAxl$HhU%QYoQ>9=Nu$;prjnU2`<>Ti?#;;wgVs=S#UtT*Z#5y6RNat?Hub44D&?(W_CX^nf>BU9k9s+SAX4tXG_a-^f!BiRte?{_*DV;iI7!lV7O? z%=-E{x|t87Rf5u~R3_rJ9f;{w1lnAAv!rYWKV$JQKvg*d*`o>^PBMJtnOE{l1XdYQc|ldEld~amfvX* zYF()W>&9@;PTAU^bYxydFYi>QuZ*lK9&JRhQ&5YtDBN0IfXLrTwFxt;T)3*c^?*ys z$OzaBq>^0qfBaIvo7r)es*p-+0G}#Vb>;!t62<{o6hIU-#YXidq!n^TA4ZvJqJ9w4 znRy9``6|lBYg)$UDBInz1DSym@w0N5eI*0B&x==L5^RfzCh1hoswFqKp?b`dQzvip zp4=&o2fwnI+@MNqEtb#A^7u zuVhY8Ine=r?uK&Ryv5iIukk6PL%PV4rF(8Ckgls&a+~ zWFAB_fNec%4BNYFZWySvzA!8Oe$b8z4C%w)H?EWY_Vw;8CpUD$i%^7J zhEu~=M>2de5)zo3t@YBQn5u;yf9nEA=^V5q>-YOb=K0~MC0u89-Q2|zqyDDkdW|7W z>k0lKG}lF`GXsK?M6&uaB$?lJd0r%Jc`(#-kuHalSz6J0d#PwLCKo2#S67Sf^;1To zlV43jdUdop^L8hJW*5&D2zQ#bfwQClUYwB%9hsHY6e2;4rAaTy2D*qunU0K)mX_c( zs(f0+ZPEYJBWILkWa+E?TqX3g&Elp9a3~{kg`fID3d4uz2aEM~>B1BlR#<{3j<XvAOR|lQKc%`^)P6? zF8K#mbIwp7JZyRV@+EeZ1+||X%7EGMxYc;rTOOuUu5}zF*9Lz%cv=TG{(Y_mB$nSx z)Ed|^4r?m!*+pix+ls4b3Z&+m(^_B4MSTU-k^N4Svr1(OyKBQ0mB}x3unz&TtT@+- zFg(=CJyD4d86sbzk)_#Z?X0mnxHqo1Dw{byd=#^oHZw`Y9&KaJI<2z0*7w|B zuByA4mP<~da~N54Xk~1?vaE8u4_~Dw7liE^2N>f zjS58#46!rw)%BCrPxMo@yZy>j`8BLPtO6OvPjb1KDfh{Huk=Q4xANI#MV=(w`&!g& z7iiM#@anLf7-#o7Owr2JN-d4QjZ6FWT2dUDkrH;xq;AYAR`JPg>_2bIhJ?`~?Yzke zLchG+yN;899EPZEQJJjh`&1^QQ@emPY4W;Li}*CsGg!E0MOQ`T9h?4-%9}Ll3VnBK z^Z`gry8UTSP_}9eyeQ9P#qca?P;MVkGMkh%aM`{JizAv)5pWXjsA^QBd{KR?;q0?| z+g@FSdZp`E!O(ITJ$;3N`P+%zD_r;Q-^jrH3}!-8y6g_uO@2Ef$FI{7?A>1~_#4Fk zKKYb`=P+tDd7C;p(O;MR@X}@-Ftv~p^>)7WVW+Nqs^aP0=IH2l&Ncq2EZU{lf&B`1 z7xPWR3)s3JCLs@=|93u*N#=8Fj*tF8kn@*`DHUj+;$G~pHVCEn^}LAr``ffA;p4(6 z)E4!54~{M8O!hQ-r;u=Dx(KrSmSjyy2wyT5SjpC(M%&$6NRP`tx_+t^{#=e$rmM!o z<>6=%0al1@(pt3l@wS2!bYLa7Eb~S-8Ng}7PS8i9e%LFz98+_8R4YUNlK zE6L~qD^v2Dq|4h}0#KqF@8e>bIvbAZ*qz7tq2o9S18?Uc3Pj8i(1tUNO???2c#F-= zLA^>tMnV4&C*z*exE`vYtjC1MB8Tv)tT6F1-LBF(Ya+pP3Iw)gz3=MkhPWD7Wvl2 zP}BE5mE}^x-`YDB(DCqe!+nQf)0#w_nzAGXL(y@jUS=Dsz3)!hmA68nnS(2extMuyKiZ_`gsOYcWrRS+6Egi-TuCQ{tCU=%O@}6MxFctj6!NFPYKoeub8DD0}9+!zp$SGEE zri_zX)qRKNv7%2I0BwDx;AYl=5t6LHJr!o@?6tP0(>5LX_>C9p@S9m^$ zqT=#Ry)L~s0QXhN1Wq-P95q{|YUShK;Ercy4PVqofBCz)+P?WiOZM2d-IDmgD4_+&gGNB2L@BR=O1^h(K750$1 zB->nFr?oj0^>!!rK@LO0U3Xu%oT{J?c$b?T77DUl+gU#ypdU!xNI7xQ=~Z_l=%31_ z5W04HydtO(ToH83v7Uh!W9KhtmIrq!r6q%1L^an60m<4>x+v$JlFTqUl8)cl{?9;m z)KwAXKPpg4Xtj}8Ec3;lm8|Exu;dQ|UD&-;6*n~gvD2Sc$C-`Tgaj1gV@^h_N~fIW zx1nwcRC@HJWQd6xxD3eEc`KLAWhO3|@|Z1#l*sW5WMn<~aq|cH17bhV5-wGMrT-s# zLW2(-sYvNHtXA!hxRH)g8%nDBqU-b~c5krY=Kz47tPlpaGV`vIhaov;u`ZNwb4puN z@ujXVoT*JcfP~7eYLhxn|T3bYz(Ew>6!;sBYFMmnrUHDFOpA^ z4W>u=vX7(K`vHfE#@@Y~5mQfPWp6g}wJH&97a%`P^Y(Z<(EgbL#)|y7PPVAMRx2yr z2MRSh6*MOTZOG{Y5MK@hfzHGJc4iD=!5zfsCVSr3Fhyududub+LHS3$0vkY^vMTFy z?s`*(t1^5y5*SmeK_+yoj)6$^?d*#D$TR|IRTuUd&%^Z2iKxUJ`5)RR-*}Si&W#`< z^0)85^M$CNSM|~qdQl&_ohR}gHNw7LxyZW9O$8aoZ@P&c4bdsf6d4K&1E7n+q^KfH zAn_nY`Wcw8)cZUY#qAuRTk+nz@$WN3q4YS@K(Es(y2*?{u2LfVqi@-R>2Vc*7AP5V zb#He~4u*E6q7H-bi+t38NToi3I~(S6YEJ*8evgn0WXBvpnL4{fjc{mxn!h&$WBO{; zDQGl>ise?c08ycCk~C^%EE9+p_CQN6W4bb6VYx<*^c6hDPG&(l)x`%UN4b;7(Er%O!SIW*bH|r$I$z$f_|CO0MVJm`xdxm`DUA&i+Dpa`f z1uMd-RxK6eHa&eN!=U>&*~prDj~az(_EqxWcfi3h@StZMzq5|*$A3eE0|kTz+g7Ez z;w2OsTHGxQwc!`OZ9KCblT$nWGA|KK8T^S-4lrm zeA>xk^r65OYbJu8y!M$T7%ODJmpe zZK?N(>n4QYk^Nl0k`+8&Nr;oli<;eYXmNHEqQz06dS2tv!qM}{oda~}D`d%;aT~f9 zquz(kbC#04h}lqe52ws%F-E~cQ|)F~5g#(~0ep?IgN@o(o-3iA_S$)wA(k7zO}6Mu zL(39Gp&BAMxa(Ky3V!iI-`S>Z8gyy3803oRmN2FUI#pu%V1I*z=xVBLDhQMuktjLM z2371(1ad`(`H8gd-5~G|oiaSpcQxQgHFrRia)X@Hbwk5~DqQD{^RzsfX6=j0>0-DN zqu1E}X9^y`n4tw8HoG*y@_Mo|t{Vr8jHP>e7EMgHB8!H(rOHS1GhiM@p{D5r82)v* zIH&`iq9C}>X|^NlNO4z%)U3u$EZdxz2jB|_pq#$l!qea(U zzQ2=!4fhB6PV{yhySWN?-czCtOtQyeh%?BW&1B1f@@TsRitj48f_VRSOnxEgt(#R$ zyUKEz*6c!1k;o^ytPN`!1QOl0dvX#4>3*tnXP5#LGp#!-Z|qZpa1(#xX1v@yblIe% zTYWW;90bh8(Szn6X1-lHW?sF}42n@bPc3;PDG2*gaO-`!x}%D~aMJN2Fm;MS%0+#@ zD6koOzFAodkEu1~0KbBiQ{ugr!<%LZf?>Z&{-|ZF){RV@e^gg`V*W#+Xq^-xc>^Mt}r|yMgvy0f)@iC7X z!dZ??8b_OJ>Hy6^Yjypf9^G-46`_(olNAjmIc$u|x8NsHK7|iYbJgXHOqn;-9C84! z8Jcp^VBX6wW;LZe(SeLEJx`f}Oj#*`%(%?<-cdXXN#>bo$d2s^94=_p*+!|@sTm6VsE zQ<(-@_A|^rXvP*t6D;ZSrddcjzrRE(_0e2O4%}U7Nur3gSB-s>AyfEr4u*9J80Bo`;RjI1#6jw1j>X?1oWNlfBo z$2c%Rsa2X{8Nt&efK-^w_NalNg4Ce$WEKGgo`6#qm81|edg;C#jiN%gzJf|&8#ZGY+%AOqwf1r;T3rs#&RJ~J)b z&e#^w6U#L=XKc%+t{{89V~zeYwvGrR@qBbUR!`)O<%zfBsi}0Fyn32BJo}11gKg-2r8fWAYYkr@X$Sa)n#F98(9MFvA8mPsFbW z<=@%M8QttSw|%~<#e!2+zWE7vvc58;M!D&3^5~Qh?XTg>S>$0J-OAFfBnir*Qp0i5 zP67DYYn13GJb)9Yv>Y=OJn?RLfF9AnXQ}7G*T^<3rKRnYdDjO!#9lTMty45edTM|n zG!kGX+!VA;uT_nfW4!?aIv|>eO}BA4k#Cade~bAvkws;zhW=mn-utRWTy*f>J1QK2W@;v8OO15NMpob&L7-ye-|Mok_7<0--l0lBlib6Hj zy%#aItfBcDk8gY*=@B|s@JiZ_oOJV#oS0X2;ShP1E5wn$HYTU6?pRQ!1R=Fvpp#q; zy82F_JgF%rSV`TnamntRmUfIp${^Lv{Ih*83uaKIgcG+F~Q zM!6uIx;!Pzz5#4w+3ftnAgSS_w?I-2Gd3zzpA-@@DB708TTKAfiw_WUc`+9XI4{kCC6I6V>;CcphAoH8d+D34LXpn&cCB;@$AP=c0|2w?g+ zRe2(c`KQ-;&J|$#4nQ%<3*Cf3-E4_Dd~!m^ORkgT14cVDeuklw%BS9;e}RJGf|d)? z__Rn-1;sA0pARy=9J&jU*3c=4ixEdWi+lO|S-^>e?7Zy;isxC#-!_U2llY0%>#-$L zwRn9joQK1dF$d@HR$*5*x{zF-mf}`;y0Jq$cyUd5#sUig`M_F>L3AKXHDYrz@PWhCg2zDN3P+$5+)Q~9K0EWbai8QIV8Pt_TH}*Hat8VS z(bGOBEyi%qbr8+!44kSxfTD8BG5AXgk368TN(WEmcIOH?J!{0z&a_;ys>y-2`H4=20uuC&9DFYvU=gpHy99TP3n&?wpP0Y_0Mdy>b_xYlNwf$~ zfM+F}mO-9U*eZuJu^R+uBUn!YRUQ<1j%ohpDPJ5;V3;Kn0l^wmhvYiT#0v3FY3f z7g>E+VvPg?jzQ#1B=BJAsj+>tC@AGFArRCcBeNYMryq|(kl{4U3#Y)L?qE6ww*&SJ z!)OGQX&A9PzPnDzTf2zp63)7awh|VAZ(_6$88SGckgm_4E~K}H?GM)>Fkiszfh`DV z!sD4HLA;hPyHI#fFf%$S*&443S*G~_Go_KNWRq)E#M7NtOVxb^M z)$*%W7AOovC0sV$H#vNhW=0qSJ3KNN=I86c@#m9Zyg_yq^m#l7)eD2Z6N?ZJ67&T( z!I^7l=~%ouz=M+k_MLoM4mNP4Ji2wF9v&EWoMDBYDR1DCW~|Oj@Qx;#(+G=oUE|VzIfXu4K`K0U!wVWrE=IRxwW@ zbpj0{s+ChT?u{ci&hCP{E~!WeW<|iKKrphILab>^w8H{@VEz}%6^gfR@oEOUU;|%h zKw2soWF1`O;YSfHcmO2mM4pfbi6{$o?58;wDoNSfW(--8lQL()-*`M47fuxfu))32 z?KcpgOD)#yqzLR}7`gofcmKizV+>sWY%Vf4%!T^#YdAR4d_9gaF|Urjo|A84ro0>Ti2BOi<84b?w+d;Dz= zu!M!q4^##$los;Xu4F|>rj~NE`334f6jp&VE_|~!jw$246WHl25&=bQo4m{_U_EvW zPAT9U;3AO&A}wnL1SnYQhqwthTu?v6q=JQI)_{d0H+e#%RM>UoM4)YiW`(XdtGsjF z6+rOjn`}6Eh!Y#d!!h);K^{e5z$n$0t6sx;VJi}LC_9C2T6o0J@luo=J9mI+kXolx zpL7|Hm&GAK%J#ikz=s_AxI#bMR`>}1aBI$1hIgV(y5A9#KdWlm~V`BF>fB+`v$?!EEaX)BgI}Og!I6p zEsWQZ5|&>;Dya#Cryk92iuk|=1|Wk=T#9}4(oLN+104M7!> zvl>BcK#)IVq=8R>>$E^1^caP-6KeJ1pk!<0Y!WR!3Zmei+y}t)0w)f`J3N0;s|3y$ zkmf?Lf@LF01B3ls_KC}DbqT7EKsx3GP8&AwMDEie=%S(&sAm;&LU2J!#F&7m=CEfV z+S)0743OD;C^m0i*R!awg{~(H%EEr~42xPmrn?IFeNq+x1#rg?G8=1e901*Nyh+UY zS-%u%yv4CZv15AJ3_}hFiKYb=CIO~}HsW!@8|noCcf#RJ%p=Nubgp#L!`wG)JZ#w5 zPQh89;5m)}n+;vj`D8J|bfAM#V4wq#4Ot_|Qb=TVF@d}al#&r804^oFfD`xF93v|* zl7&+@8TYOWnhE)?h^tFLpNlo33&bB6f=2{T31T%?!t{6wU8A8x9Dl&!XOo-?Cme2& zeo}r@?sJZ!DJLV{;<ewS5AV0ko zLk<_#CRzXZc%2fgL&sq|}jgvrMAlWU_iIf`_#FsgwpGy_tArIepv#3{KZyhDh3V9BE&5OY?fC}iePogi}} zd+7P{uo42hHPS>uw31g!4s+04KPa_eA_Mlt~ExC|5#D+rB3( z+UX5vN)*21g*HwF7RKiySP*EKF5}oNEF_?!87fQT=(y?rwvv5lSL~Jiq7|7mcv1z^ zKo$xiZmqR!%yDpV_X3YgtC&@XGkj%m2vfI1f5?Y(Mu!-{=j=#8o z(-NhIuv0eWh;^aVAY`>-%Dfa%MqFZtDpq!Q^&VKNrES}F#*29B4~4_U)ono*+l?IV zaP=+BS8$)|N6{w8TZvqv-v&M?@MGM^R*B*6G#;`uM%&H2x+RV|A+V_d4up1rTN!io z%*%V0%Y73Y@F7`+k5bSC0G^-shZLP)I7Pg)hpG1jGxa($Rzbl1OnYLmUh@Q znlX>SYdmtzwhDU0XU}}}>p0!5W6Qh2`c2t>bO;$1-5jCLu!))WtU0PE96xl)aZ`p` zZH{UjS_xFm2`@q$4i6g|tfR6u zzxzh+%^fKM>EO;l;2}&>WT>y6TWTqHJ-aD--xinGlQ3b*8J=K|hD)vG(abcwT(xM8 zTJ+Zh!4wM?#4kf9t9#}^%@b5-d11~V0hN#RpnWL=v6BMK0n|I-4gpI zJ0+162EJtl_np=afDsEbj1d65KqT^&BoaheWzODs3R^=7Hy~sPFtE1)D2BhK zkhpa?siU}%vjT#`@rb#;mfyg9Bge+9VxC!uA)ABPRbL_p1lz-c3cig(N{r$|EVcS^ zb48~!$G-)oWxwyAq}c5maWn){i%TTlEI3`UmP!ITNp`Qh!1f0g7`?(C*Yuyf4+4gd zjr?HX*jcS6imVY1H<%$Z*kj^42_saFE$Ac`JXE}1EOO&Ww-!SJJH{+A;cxSIoR)Ps z-U=uNGkwQDJv_)+xSBDMP~n|Bg}^rv^JZ(TJwUF=<#mXReLnPl6XX;4OePVjfASo0 z&x%IKo4o>85e6LUFySPomAo}8p7kRHbBq(hdRW;d9*$#bAPGQia0M==zyV?Eg_9ct z<2n+4SRk@NIZV3W%w7rX>F^P95r#PXk+TcNL z4E&5>&dThTbURciW1d20jAwuV;cVmyPQ)dUgCi8TC=r9mC6IPdqwf;UxA%^E1Jp4J zXC%TAVeVO(nU|yUNhe`rCB6w~hT!!=nlqy@w+GBEisC5vdG{;+kYXIZ2lDmtM zE0af1i|;MNLx;_O_@FqG)fz#gAggL2Fyg0k2Rp!l>ES{ox_$5z(B%L+#{}Dd(sF*j z!x|s~X)l!TaHRc6p!NW`4G|QQMi7%$t_73eOYybCdl=L6B0$|-SceTO>usgp$R-PZ z;ecfuR9YUVlma-@a3s3fd$z;Sk8NuTl%p&NBO)e@E4~0_x5ajZKBjk}?3;~|!Z9{I zc<%Rcu}mgW-rbo51^uuGc#cv9ATFjlJ`8wkh3HC!stl2Cr@v*2(GCa0<4(xj8vnoX|Z8tIJ>^Ivibbp-*s=k79mmw@g0j#F}}(6laKr{}Q{ z@jk(P>^qJ(C+685$F5-g#_`S!5)!*u$;@dj-Nd?xC~k*mkRcRA@VCo(MSQ@;MB&JZ zC~8E2Txpu;1y2CGTb%|fRd1$!vo!4x%H#MWFPtKW+c1aZK*>JD)&gh@gfOb_e`R^6 zA(X{V!xUN_CywQj@UJt<6B!9dZi?<-qK-!bP@LIp z7th31LYLq=fJpKxoOtn^94e{XBkzsdC(kFF(AfcXiCDU_ChJ{nPa~hlwdcYf!WM$m zLB=bc?;9L(B0=b&W;4+3xe%~Z>n5&Lb_(46IGn!#d|!`%w}N!SoO#yMo*VVX{te9F zH(_?@=*wNC1F5!d4>^Qo)@@y7U7kkt6o4uYR@WAP27DahphDR#zX;1tfC;#VXLsW@ zj?F}LenUcj47}$Ib*3Xsz$v_LtVn<=A^nAIX~axj zw{8V3IX$(t^p}E`CVCs7+K^E+X3ka?$$3hQrP#01^90Qy*0bQa&0m!FQw=bkiNqHV zk^RnX>zr+{(&o;2a_Le~E1qIR7l=*}zID<80J}zp$kv)nSv(~XM6^r&s^7=1ZL|Fq z$;&2d;x!MIH!|}Q&PgkV{2&oI1mj46Z}0_dZ+wOKg`sfHNg9J72ydJk+v1qPP#6hz zd)MUNh-H)ccn?l2v4m_F+@Bb{MNjY+@|Yl{oXC=W;<=F`Z@WnQIejG^jQwY{33B&O zoJ5%d4=h*$W^zuo?s)3p{_IhxF>^qyWSj@RQ^Qy<90cwU2%-3cgoVz36{vDRy*kmN z&ojru#R?R6TIpyFQXN@-!Q8e)+${L{wA?Ve-WtJ-Zk+TQS?ZYt$m?lp;n%?syyBG> zWPG5zreE>}6S4pBZyrI;f~FIeQpj}Nu97gsVd75RmpWYH1AyzAiFPItaCd8SHB|Om# z;q$h`YNr}BdRfdDOZfFxal#!^QE6mFTwNe#I2!^@8Vg?Hl^w-2ys*hyUVk00U7lHd z@m|QuCED z$|ygN>~KY0HP5@nwoI;^i+V3oDh5ESy}?5y;4r1DfVWdIs!mh9v+tl$g5N0>!v@b4 z)z~2G404zSW#$2SN(#Z^6>Nmtx&yrz554;H#+-n~o9);&ISD_A*Fd)mP(xGN7%_=h zCeJum;{AmZ z0HQ!$zwsT;?tr)iXpoFt;O4l|_-U4U3@L*Ey8bYaIPMcis97=*J{H-_NI znM+x?@iWx5L%l}a)Vl>Gl^!p{X=L*48A?I1e!|r$|LrFf78yAqF{)EufaLm>f=RknzJDD~1r7I$L89 zPbbDi>{bvWCL&)@fP1m}eZucwyIlb6U;{X?(Fmw4Wvv$HzgIA4W+WM?DZv|C;UQA3 z0ymQek8A8KzBz4S!fZRTj`5CA@MZDS`$)0VjjXuxG$WihPxK=rPxS||L)93>9XT8% z{tB@GaFT~!T1Vn+wOO#4021H_Y-^hG?9UzryrmmP!Ir2IXW?q#CGH=!U46astJ8YHmp(F`U6%M0Wr% zWDTrIQItpW5ZNZCpUW$~TEU?V`_vlkE=X5M97mj_6)j3qZ7e^BfQm?t*+PMip;LKv z;A$g*&FaQ|#NrV#lX}w`v0CN3Os~0ua~Y5VJU@sLzZYUUUCgmc_lopL*b+d=_7yD> zLSzNft`h*>aZ?;rRGz?OB&R3!tpdW>Zir)n85cb0R}7P zg)8t-4jTmT5X-zv$RBp?1n_?3I3vo)Szib7Pp3ei1_iT6Vec9;2vJP=vUO`6&absO zmXVk_7uj%AG(keA4$_PS>+3_#caBFG(lr6l6b0Y$8D{|8%ol`|3;bmh3Onrl5UQr> z71DQ9-K8XfJS5BpB^*~Y6)|K(l%{K=0|cxBV2wS?pRvVi^Fl*5HBKfYSp^NM-V&W|RP?B50O4*)01vnun5z>fxZ68w3@NIS|n2ad= zXMcKC#Ri0_b1EV>*P1IZV+42(B=8``T%YrJf>lvC7(34-tHGA@7}caR!r7iRpbYUj z3*aZ)j)yDZHlb>Fkv zYdAa^R^?uf(zg486xJmoW75(@L4^l<46#3t9@#UT4$g$2^*rE$eUD~jW^aV7Z{H1o z2?QSN8q%L5B^{@6fgZO2#MBVhkX@DFBx45y*H$Lw3uy*GbbW_Q&`^madjnRNEt-fL zpx8VisRW8CF|qRuUL61>q!hV6z(leUA#a-)juD3qYs_;;vEbXn^XJ-)q25Z%B%4?# zKw{WWnzQN-Ng=Zk4^OIB1!VFA%kPF>{7OjY1_SXsTLSSgm7xQky&zdDh{2ExViHn8 zH|Fwk2{qzE033x@^h$yZc9<IWJ`Vr#oV>(6@xe*R*hIL3-u2on4NP+C&?Er)ge)}KXD3bC zM&<#EOR^H4Rz8a$W8=&Aw>mUkWEF{;e_}#hyp8}XwRfiR29ze5cAs-pzs_{2m*`MhI|=Y?CC&f7dtgk zk;FK*$c9`QO6sybYn?f`PPL)tyfO)b1Y;LDg+d@ei=f3FW5KyURh$ziY*cte5Qyp; z;kwzEP*X1tr@3@kUavC*t%9lK1OQ6p1QhPIq{qW3CCeeK|YN;{SlL$VK@ZQQAe z$qh!CMM+tdDSi*XJWMtO3_uWoje0OEp&XG%c<^j0^x2?@Ij;|1JELT#^^8#N;5*1{%?9s})3bxUqr>erAxVi3^*Dri5{XWAL`6f({U4&`el5ekv&I{~ z62xT}^@-2=I*^EG?M}9tLWFr>g5bz`RX}Tp4e7}5Wib!KM)7(q+anSJk=zM8Zh|}k z0!HBTmq&;p>1w5-XTux-VxMip?Cz3TD>HyV!9-BLU7)-GT`c<{ifx3r^$r(BGJ{=8+2j9HM+{ZS7 zf)`o~1wD1lZ|ufU#{s}mn$xmkWNmi>5A-$c984F1bf7xSb}1_WW@j1mIDU z{@5!bx#2e33s#FJ=v=(0GI?KG4$ynoS_d7tuHi(G0z(G4GW&*eJ z+6uUHaRwOdCu$()0FVMQzd}Oo<2bKXfV@fI2_=y;nUT*D2$8K0Oq~{SK6O#u6|#>@ z^x7^IJ>h7bCh3*@SzKgyWy)ERFDm`F&wlTw3tddH#dB8T|z51l7 zHgE#sVuOyC4BfXgiiDsdta1S0djNy$&lNeiKT)vJ^Q2GDBB2vxsqFEjJY<;=h8_8H zeevlyA34@2roe!jHjv;ZI}IRxGIBjfG}$qGko$1Pu1yr-xd(!`$2m>84k|I&TEvaX zW$W{}Y__4n0SP`lJc%>5N&wZ)flTrB6qfohw-3Te;Ef&W)SLRFakXUm>>+L2H$Y7g z4CbB;svgeuRa3Hiz&4*u81)*l9t5ZhpfPI5oO=X5!v{vg$chO}i9H!PY2zzEr*ei7 z2J^}ZErftO5I`^E}{~fLs(q+R}?pli=ZDr@r zGIVTsvfV(#l*K!*;XJxO1M?=bMk6ovn-NC*b9i~wd`ChJ(rLca`pS2+k;v4gcPKa= z3Dh>_-0OMz|24i7l3pl=zax)r2q~2yn+8Q1Rb0~PG0)zIHDaJdiATd5eAu^nRR*b|B%~c#`Gzr&)I&P^;Ze#W>L!dy694z!K zNyo4#9i)^G5 z0%Q-kW7%1VzvHY;|G@%R@q0p;MPyZZRdf|(M1{d|*pBDDk{on2dQsR5ZFfG|%n=@( zt-mSFY8Rvc!L!N}z*fJ?dnDro<$iqLSLCt7kMGGTJK(GA=`ZlJHIv=&>X2O0r$pkbB z+jqFyA4T8e2r6yTk37dHE{xMSwggk|gzaoQP3m@AO`RNM<)Wv}6B$}e^FcmlSt!V+NZBHPm zd}qQt!Um!zi#Mg&i;#dTW1Kxik8wtoI4j^zESHB!ced5LBpd}v-Z|ePlxB`{CLFt9 z0Vy=LIb2_WW+5@Sr9kHZc2jH`1{U9~MY=ZBZ%mlgkV^|Y2)||V(=g)!qZ1^Ub=R zawg6wdQ6BHbhyHDfxz1ra$h3mkO3AV1=|w^0ulIBtJj{3OS>z=9H6G+oVffP&5M;v zyP-dkZ(F~dkvw2K7Y8GG%oEw1F~=}hI>(g$i5HSMk(NJBpm$b`ch~j0A@kCta~8_w zC}ZKI5i|%OqRrkzp;<^z1#W|#Lx9&Q5XoQ`vEw0fupW=WASR|zmN$maAwOBckweOy z&PW=0Az~HSiU8{HRA`-Nn-ieHU>7Q&utpT44eL}eOA47<6u$~`l;!8}0N01kgj^Kx z1}AiORSm*KB?>cYJ}61575UCho?-U`cXiSzy|lAeLks?Ud&LV7U{U6!w1II{C3feCezn7qcT7qbZxWB9~u^8j?r zfr>$;?0jn{q^m(v_!afIXOJ1GWB0+sxul4<}!vA zL5WZS3ZMkp!-4?8^6=miu%JA*7~kcnqYlxRY$o={9x$)4Cuv2~{AVyR)OC`HL&75d zycn|Qa|Bo43qiAXnEyN$lf|wSCvKngbtb?A>;yu-iFpH7fp8@e0$X$x0Mdrv1k4&A zNoNXNDmoQ_K??7*u^l%EiOj(kLqK%gw^iS`Jb;ABG23)wluu8bJWAmcXBM^{A&@I1 z{5TUfB-rvoLI>${L0^%IFcg7>LXaErB)J0u+$|E{Tqiymf>Tu6=V75u1dkyc^o?o` zIk8~fIJ}{SH+X||5jdd{JI<^iY37AyaD~j&a@_&wThSpqf--AieM9uK0+PK6F z6R*OhN=$g{MMByMk(=3kaJsLNTrCR2keFHzfB`nik;J*WHtxMsDI78H%q?9FSlk6L z<%JlFTH-kh^I5e{0OGjD>IyakG$?%xxuS#wN--}1nX#M%w@QCZ7W!zo22TrR^-2;kWXBQSU7CU2j#QeC8!dBWNX1S zH7LTSF*gGs3HVui!n+{LxwMZ^gtZU;s=}yL|?|Gk`aR~%^H{D zd;rGQ?3iTVP{?SW2M%E_6o_FiBs;}G*@&4oA-D?cbESng7EQG?a4nx9V4MK)i^Wav zrddxf&JTAU$gGO@sqn1bc&InBi1vnmO*6o0PaTYUPw%3NeE)i@;;$; zP$rQM98O>jTPm?6((xEUd+sLgbyk*j)}s9fiD!YQ5nh<%nFJ4x=fQb^k>tD2c$=*c z1wwJJJPeST%^H#194|GV&1D7M7TAY|KoSusR2`&$^6WW|MIzp-mhvKvQ;BeC*YW(* zi^pEV{)0=9)6e#H)D|8%HPQv5Orjk@?Zh2LBecK>jE;2 zO$pDw^jQtFL&Vn%+y8B>gG12j_NQWP355sF@L=buv5awMa zCX1HmT$Xb!t@16nXe$3e#YsQBp{hK#3XBuc^^RN{KXIfYC}ch{M#lqIFWAQIWF&T) zS%^v`*lA+OVS3Y4aF6^M?n-TmwU_OoMnFnR1edCHt))!0cZmQpsvLYZAr&usFL(3$ zPy=TUelq1cWDb`-XVY>sOC$=*4y!9fH^*foJnmTe0`OL|a@2I25vG^V3zIVr^8HSjS8c8s2P5?K8qj>2kKUsB_l#-^ru;D1T@ki zW{cRpZ{^jTpih?Q3rHZ-y#WRou*wa9l|O_wANJtzezODh;|Dp)(CIXUVrh@a37BUx zozZrpOtY1xMm&+ zxH7x%+<8cohYg9_6Vx=g9R&Tca4Im|w0TEBHmZuO$RXVki;8%dJxQW5tHY<$2TU1gI{SX=BbT;0w9|(Jr#2 zm}2n*Jnf4^q1tmiAP({vSBK+|V7I5N>K6F8EO_9Uz6nfJVw(m@vTAZ3e65zIn_cAY zVu&S_tdQPez#L60NUFLPv>i;5YS-pGu2YA$#uAc`i(uDqKx;<;O_GH1@M5$IAOrqmh?D${Ne+s-5uUIg7?yh#H) zDXsoje7BdP{>!QIs3D!*^^76UXMehtURzPuil$krLEt9byo2;6&I=yEz!n`iHcxRDV^$)P0O2FecIbm`U zwJ~#$nGZMsZ+y1fz_KEmTkIJKiOXvZU(5JP%((-G7*SaQ_smOB&NznZuIKh3r#1VQ zJkzBJ0+uTXEM zjVd2@>>Mi)YGtIQS&A~vIJmY>hP zbw2kTd-k}u@bKXnEPnBBme_25=~D&0iL6k9m8BuJfCem6m=-uW%koE--?iYx;1oRI zl(L!k!wIl;tO#V+jKQ1uV^ zQ7QPz(P@iA9Cr@a_t`pvts;StG@q(1`Y?*#0APT^RFs*nOp}Xhf^;pZ5rmCbD>(nt zG#H{JsP@dAbZR|d6Q9EPq&)A&eMtkJO`cfZbxK4`n+3p@Nl9?zL9S?FW{#&@xpJAs zGv5H6fuy`O<#`LpCN(%Dww;4`sLR|QR3M`wurRBg;|6< zA>pckgmyE@4`w3P&-o`{d8VN>I9@(>Kln~cj1t;5&gM#`23$3VEVNsPlaDuY2wA&V z70Kubwt+A^9wS)&1aV>33{6J!iPx>c^lI)apvW95`rG3~WM^lqveHb2lmy$7r*{jd zce{IXb;lIuFt7Zb-X{S8u<*;987Pv-%ukHbW6H&_i3FSbII37$y(Cqu5yIc1aS)SQ zi*Vb3#s{*aJo8&wi-WMFSOA#LSe)%KAUsoc?RbnF8g7#7BO1r(nGS({TL1usQW)MX ztc|X7!&?;&3*sY0?E`{qin!RN{2{CLvQLaGyXoW|PX z9LLiJHYFlv&pc67zre;R#{bNZ6iDo{HsG%STXA!lh9ODhbET)*X_& zSz$YS$7Bzlrlj7NAmWBnt7}w^LA5_jZ{0{_@ z77&&JLZw$BOeiGThZ_Dkxfk`Qc$s{+f4^@fOCyUg>HFd#>7AwUmrE2e%2T zLryf^n!9H%8CZDgffKtvKny!(dngEEvBMD9gOZ5UJh>cL#Rew6Yx{5?wi^>CK`w;$-mB!`GcH6GNS~E98?M&@{*ts;G4^&XFl&%g^fTlmU#r28HC~~^H9cv zaWvf|r;rpSMo!Pow&w9&n0J8_!5kO%1>s}hmTF3eeJ;S5?=r=ZiNj5auH2oyIeisD zG8|NyV`$HO1WUJE9uYqR7ud|NBRFOV@=08gViA+r9y)tOY$g)-*$a5kWe{^XGs0$x zQJH#Kpi#CAPVi2vf1c@*&I5dh*W^+3VIGYZAC3YX~r{f9Gla=!j5aN@rFX?PmRWq`D)nt zRv#|^;({g=dhDF}hjZ@Pc|H`x^-`zQTu2LF7QjE@QA28KlrNfK<1~vvSon2~IRlIX zq1Vx~03=RQT(DG{xmFQ2>xGmXJluwz);*;YY&xO8W}Ex^;!_+FNc0;(@M=Nq4}oA2 z@EzJ6h6IjI=14mru7z)3KoxumALHL=&-V(5*Bt1P%m;lSN6FvM^)jUcH+>f1$2JIq z9u`yCxv>Zi`&`gF;qY_*thVx$EBxZ{CX^aUX)c|>@ux+=B$sn+S!25h?vJ7;Q=)lc zqlvVe@XRgYz1s-L&!D~`Rq3Nw4GhID$BSX?$5sV3pK!*4xM&{oX&M6#kMlrAApX&C zIFvFR$3?9TLx59Z_i0#OO>_~nA1<*NdPV!BBr4WK5qqW|0w><=arO`vHtQ+GPGEQd z`5t%>IJj|Gn6)WNl)%X6L_TSE>~y+xo<;W4+7?rYzkno8a8!Qp>I?`b+$cw417D0+^X`=4#0wX)MU&iwKv^b@SP-_ zPSdWz!v*#cE4XGm@I6kj9r6T~BHf@TX?Kn2Y*a8Njc^e5ZLm;h{ztvu}C=r0BSUG#7u zu0t&z->I&Kj9}^M%%52WEhWwho=kIuM@EXLm^6Y(0-Z*}xyqxS(o7-Fz)C4_6sjc9 z1`osvhIoL>V^)pgsr{Jbb0DAvHC-%9uHpfuu``f>NFXyTjtX8{le%G!xf`V_M1&2? z6qpVoU~m=``7>>C438^KGQr;l(k{?RJY7r4dQccItgLfQnQs>;bbZQ=fLfaqiy{#1 z)u=n^A>-Dohxk6BWza!z56{^A6ij-1`ZN7G_Ye35JvvO0vnM*jGjReN52pu(BLq@+ z%|$NafUhaGmjJ(g2(8Jz5EHA}1#}uwZzIABu^`DEFwg}>{}+qq1ul{xpXyo(5w{XR z5V~?B8-SVk^;z2dG+9U~8{&h6a7K7-G*fv!u;AzsoL%D))aAwj@+=Wi85cXqk{r1` z1Wghd6v;^<2^Z|v;~wg++|W(Mxem-3Elm%5Pf1-Oj973XLMVPWalyR`cIImb9+7}J zaFGYf;udtFi@)=?6V$=sdPU(lDJ0p0_oS5a)Xh)G1o00Pxk0gQ&hi zGHwyPzXSG&>YgbUvB>d;lr-+|TS)H+>AWdtMM$Ab@fS-OxF5)odI~av7n^`OfXKQzpS5Lsl_3ns?RfC_C z2ZT_39HK2;#=wd`UCA@0qmR4e6L-Yb5LgIPQF=)r0&rg%a(ax?mE@8!4{?)JJa_IJ z>}}p+M!n=7=Ia_9X?cf~rm`oqmUcy>Ydx1&z!(mQs-RnED=%d+TLCdITu=)(~!Dj9K;w3_Sk%;qo?FB&`Sd@-?<9?r@hJfq%gJLEDvZo`2_v!L06fj0FFX$mu zDma?NLJTHx6E!OfxAPj-VrNa<_}%>ni<$9HjqyC8rXVQh^T!SaG5HVP~RK)ePX0Gq%T=0bzVHQGoKyRGoNt6JG-@{CLFelf`d~7)O zQCSTVYFoK%4E`xec?D2z4!a6c@_8>WZAU2;dH}=#1DGm=ak-oihD4UuvT{2}159OL z=wuIl_F#FIdOX7)Web^r#U;^WH^FKvI<0JAI3vO#h!keIBeC$y=6b{~NSp2^SES?B z6)~-HoUicIIPulyjAV2UQ;3c1o>j3fLL60YkUU#oPoD-j!_V@SV`$=He_s=^49Iib zzZ_U7-;Jg0u5jP#D3Xx6B#!B4INb2dYV>`kSn%#6MjgDk$OZK27A<%1+n@y7tjfU5 zR}CECaWV$MFv%Z-)-3)Cq;hO7g3Mc%D;VPk5(~o;I6)r{V|?_KAHB=KC73n=dYY2- zEdxohAKttcdR@43`N4#w__<|{%hKW#UP>I$7H?qdTdrGHP|J|J1*B~54RIOs#*sCy zc3cRlIL0b_aF^JWl!DQth5bc{C*~F`NjL;5fX%PZdo11L8Pd=R z{BW)o0CN*%9tEdeQ~DG+3EKp1q3~_7aU4I(*VDLOJafiIppkSaOU|{U`-lq^zK9*UW)G5RyEm$~aH}aT!X0z_Lj)a4g{FC?efu)12+* zZZ8on%OFo5C+rAcOWC@SFNnGM*+U#^WFF6)In9|QO#1A$3Yc1<z0}h&d3dTZsGua{4y2Dg_xWA7V)r z`k4U1$W2k~JwPZ)N(4U+5C*cwGl($4?CB0&-0z>|YHTDT=K_Kl2LhW7d?)oJpvaOb zlyp(1hcDpJhl$PnpJZCB6q{DLu*x3AL+&5hku~9&MBJoMG$*Ho0kh5Fa>+?J@872z z(6JQ(0=SRtM17v&gk1KbJT@ulSrOtHg3yf}(REsp^MMV)J_iAXA5vAT9tQ3M+1)v8P(_gIf&S+|n&}tBBS!L4_td z%%IZhAf#&@%84-!5;E%*xpk;{!@J&xB&-Jv)RXuQTkBR4w<)N{MB!-Y#M8U%x*lv# zS<2#IZV)yFp#VfcQ&=O2f69Ez1)pTt%bT{Jg}vT5ijaw2Y(RDq!#Z(;6NVwgl>iv2 zOB67R38GFiYSoX`g|wOzP`2+~gQr0*0AA=WwlSh_ZW5kuW+vO9XBMYj{k; z?i8bt;|u0I%i2DjMa(vfL%5zHX0`4IEzq(pSfd$y^#1Aj<>ATe^X&@?17M;++vfIc zrL6sdU2$A>^WH~zc7AxWvp09qf;(XP&)KWoRy;$Shsfqn z0?KPr54(=1oRghBwQ}qHVN)-OU5qFQunjOoOhDLcN~f^o#&)5bf)@3W0ToLK*o;Vf zJn-oOO*^nsxZS1yWZeJf%MDA`?q7$DACf|W;LN(UT32urm< zEo`Jt;hvIJlZN2m)>B)=(gkH04fdx$26Z8}WV|&m=l(08kam)vMradc$ z-niJqtr3b3xewy_#)2c1Iodt;Rib^9O@kgXlN5r@XISs?2)3RzfrtkVLcpqJtE`km+ZeYVIuo(#yF(k1LvpLJLHtR)Id3ZZG9K0WmQG zuV(kW3*22j<}P_tL9>!=8RIJM2r%+IRH*B=4VPIM@u+J5~(6MExhLsvSUW7;-We1Sz!BT z3Y&G~6k1lOYx~cQ?VU^b&)L!Tm;d^Y|M~e%en6yZlx%c?-wRO18zbfiIY>mZvhQfg zt(LB7|IwnK%ztIQWf=bbmVxc~b$Qe0Q+hoT{ zLc0%}H<*40)c6DrXxNrfYnbk&3D>ZROrLo*yP2R zVN3+AaEoL)AbL=$tvBQDx??eSLy#Pm^FQGOU{{`d2JC`O>8*8RF{d#JeJgQ$NQ54a z*mHJ&uv6;o`564~&=zE#E^hr2cd_TK1=)>FN(d=1McZYBYW)B|2U3in$g1;K= z|ApB#Q8kxXT+Qy@W#i7SIwQ*$)p-0K(FU?39x%Lsw>z)e#qR*VQ`{)s2OlIpUp8?j zNV7S%DV@T+US?JoPHFlUi9g5}_^@R*^sR3#b$z6+UxZT+=sBb@=H{^A7@->BpPSMZ zbE?0Ium0A>kUx^(r`1&T7GC)H{BV;`An67tkW}S|UD#9?-LY}+Jw0?`ttA&+xXmss z>(wr-m_PrF#d^&D$jy#n+;_)|KYIU<(rhWleb2bUg*)18R{ZQ`iY_c`t)G9!kpr`{ z=%?M(O!K~Hy!fN{|FF$k?>y3l4RiL4fA%u@AG4{qblNWPj`^;(3E#tRoc&pPp|o1& zI(y(P724A!S=RnU+0XI?p;bVG;Tb8mgJv0%t*>2aam_xBtZ zy;C$UdS^B+dPi2<4~$DkD;gJimByu`>U5QR#s%WL{J7AoFZl1W++K2A^5=^5V*Twp z{rk_~a?~`lXw>+tFZkKm)>{wka)yz+O8V*x`dv4*2S!aTxJvr!3;w&=GM5`Q@C>9E z!ZrBw365dAqZh3_di4eWU6GXs#!xLBLv?NpRYRq#+%txHt7r`Mxs!_huCp=xBVxg$ z%c89YMEC>8j~la>(x`Lx+H-sW8{%7^&)&>!YW(qs%Yv^DufKddJKDb7KRrK|{`&u< zjVm@8Hl#nmN;l|vV>aSAKj;_GyiRO z`_f-h@jIGP44M}>d7A?#IYWi%Wcs3kf8}p({P}OVI?y~nXePLtm5hAQ z4)Ga2OW3X9C)gYWp84x=;6`p^O=|qtUu@R5ntJ08T8DhTrEi)082N7N@SXgV7zSrP zN$;W;|C{~xjV2I#21jm}h4`DB_&+?A#3sidPGJA>M<41me@Xk$v+UfCSoqIAm<(Uw z3s<2V&~LUI0hsT_w{QE0M|jAN0by_2<169y^wJufz@0q5^K53H!As@`D`3}Rp6(xzaQx;b4x%mt z_=fHCHy@jrjf7?9N(FC`CBD3}fBG*;{sUPy>3?V2EB>2aeEyGr1^-@c?(#XmJe&Fn z^8q*rBlQoY=P*5TW`G^+km$Qouj@uiQTRZ|UEePw|DuJ~#itg5{V0 zXyHQ0T&qJ`9q(+qk%8ZPEy<*ukxoVMGMtV zR=URWrz?C89t|%S&?@;q0lopDbXY269TLgSq4i7K3%*%=+-hT$`tFA129Yb7NyNnKVOx&Y1=lm_8WDV&Q+e)mzp3nd5Ig*Pe ze?4czXsoyNb=ka>+nZWvQ!|^g*^0*$sGEKX|^oOXglkU(dn;is_m?I zWX)WcRjV&MPQRnI)aU>8|KK_JPnh^XUjhB9_M!dP^B(_MhuOHU%Zd)awbom6KhLGe z^}%gqZ^wK6=366iNq$kj^Gi3DH)ikqPcPYeg|%CX!T+y%o2PO^zkwV@q0+z#B=z^ z&Vl7&XWH{X)?yGi(6A1##q?+KozQuH1DNl-UuyH8b-mTnX5aVFmjZ@w_Qm`S!PxIQ z5r0SP?$^hOGkWN&T{#=tGZ|IqWSIEGM%|CKGL zX2Lw=9;&#o*d=a)32~Eu?93X7FWL|`Zir{R>@!zN8BTpb95f!GLxU~1ahM`9l2=8> z%gYaiTI!B2dO%Y?CFBV53t7GEsTJA3YzWHOrj?uFlW=|+6+Y26PEU(Zm zwH^azEInX?|G&s6EpODB6-yWFMwT_|QwYj%$81yee#$Vjlwo_f78@kUS-goXW?1-i$x`ua~m#+&aMYy zWf2~nMJAc`Fi9!BPaFftb=OIlgYVeV=>yw)=a+8pvRZQT1?>9N3MciVDTsDSvHPQN zVacsuYf?F9;@s(DJ3VxF1n4Q1+23XP@7dsg)^C-|`5(~fhz+sANxd_uF`&kM$9{E> zJF?7xlye~t1K?zF2NsUW4!@s^1(U2UuB&X63>2&xA1!rTVvk^Gvs-#q(x3f17m-?!HX{+dxM=SUpG@W5<5wg$dc(uw^g1}Wup1RzZDVN}w2{WZpvb02oC z#F~?KF6p@bB6nO-O1iEiAX_BX3rGz%OS-Oq$o8g{}U;7$V?g&Rb0C`?*S|q$?=84F{BQLCi_SGZpu_-gWVL z)mG_P_|SHMjci*wn2vy`Dt6=gIlF2(e`5y-`^1)rJAa*BTvhoA7Z;Yrwpg0w+}&TZ z%d6#lkPq>L<5d@@S1sp(;4pE&<2bx=%jRo;LCQ>B($nBlyK^3u;7&rWraI?vReia| zhOXkia63x6!;i4ie)b$zm&kfheUzs-)^HgHd3Ha)sRl3ZOm_L~YJmhJ>`%kRe zoW-4zX5P5C7lMU#K8v;1^7e?t?eJc^er+99lb3J~MKl>p+r`mVUD8gPvczbmzSD*4 zM3E((I5(CJXW2MF`m8#i&RRKt<5PsY84y2#ZU*#F)w!OkmGe0+zz&IhRd0+?v63h8 zFUquO?UI?c#3A}{^gDnS(sS&AQ}Qsb4^&Ch%iD{Mal*lu)~QrUNAbfhNqgxtSTmN* zs?n~;+`lssoY(pA)ynx8yH20r2u1Er4Ugb*F2!Xu6{6snXsL5B+-{Z58@VwcvRvD> zg8OnY>Mu%^ZE&FK?B97fYYKOLF8QwKxkTm^pZ5E)ll=8uHe2fR4FTfaNKw42g7pU0 z4OVf(;F}i?{#Ix&J)3VxxAxOW-i>k((U?8Nzr!||E8h?*ld&uqd)`ua-f8`UJ1-cL zCBVitHmqn!R&AN08LD2-F;jm_%SsJeRnv4s@6>b9wBORQQiE32w2s_S>N#lb-_o*D zgI3WrRoAqd9%=e-X<4a3t7@95%QZdIjNj6-QiE2}G`(dgW<3YZ{4FgjHE2~$Q*@8 z2Tl1cEh{x>6-_g>wqDOTO;&$P%SsJeRnv@)QPb^F`zlnH&*K^SH%9a^& zO$V*2X`PO#)pO8{%9eGsnhsh;)8tlLR%*J`%<878bzN&!ZIflCrt!7hscu?b1MJGS zDebx*Y)b3*G_B0ARkzLT)U+0=$kk2LYMMB%Y@4PlbzN=B?`c}8VXJCen;BQnG^Clix>iq5QfXH=tzA=3va)T=Bhl)ajI54w{57VP z8n%kIDN3820ream{ zwr12b08r)M)3j2ZYl6U2TZbBw%n;_0HB(`r)i~zt+H)~q1H3pRy);A(`p)S zSGG-WwQG8|X|3v})%9$vZd+S3>$yp4a&^<{x=B{I&1}^a_OB_`O{**Jzp`zHEVt{~ z7p1AyP19@I7**Z2cBiJ$e@**6O)E8QRc$j>!>nhPL~BaZknk+ z&BBe@X&I{gBzpjUm1%!R4}jTeE5_60v-nk}{T+lBW~Za5Pm{wAOw*nyi(N-nW&LUL zG=XWx6D4Zu$Zb=*|xUPswsJ7RZtq3R@c>5**4uU>xz?X zS2wM;ILXSkbu>+TnyZbO*4CcrYBOZBrev+EUfnd+e46mqj$!CE?E$C?N(0mC+5=G8 zHd8Zd>XKB&TYzbGbxEoKnLuX0+9tPJhTJlrWStaklg+1DD3x2Xsn@i7qblSAZL4eh zMs?#9(`a>`B%lOslRHlnQ6jfgw%saEbgN{xwUwv2RVu35>Zr<-Tyek5w!dS=G2@iF zV(;3m71(Az(KAj_wT|BDJjoyqZ2KkW_umo4DQeqj*OY>*vWVcXvh8nCNK{!gP*Zey zWg)>|W!vAPlBg+cQkqXwClPF`YXDx|IJG0oPZJk}w$)Y+tg>;MA=fkjuZmSe+v*yC zS2s@YwA=EN)J#O%>dK;A**Kle$+rF^apq{7u0KtnxuPqwsXa~YM6|8_MAZ`&T~$=Q z{Ur4hf0=E6hk_zAu2WZ1uBsSOw5_gXo$AK5WwoYK0ae8Y(YCs31ynaq*OZq0B()UL zwz{?oS2xZyI!{!&6m9FYpX!S1Xq}p#an&8KUu4_g<5hMH#ppcIIF8w7cAjV)XS7;+ zP01%KPfD<@uI!U5FivgNHOXwQz&6ErvMa7*)>Z7ewF28rjptQn;EWa6 zR$J$!vT>TB*Hmy(HdkOfO=&5W)(UK^D=%eb z<2tgewTvf8-i5Zw#?xf)Qd@GXt=6+1rzk71tzFZ4Ty^8xx>C~sTv4mrrq(q8uWp>) zQI&cYQWb3lwy8BOq*gc1Q1qIzK`HIu)V5LsSJgPVqsTQ)GAsITYFnv+t7@DgGv}-I zG@TQ$O=&$*=R}bWxu)GZRby1Nt*+fV)s2I`2>nUsD$%yu4qSEPI;yEX%`=YKrnR)E zdd6W(%ai2KM%!u|4pcQxZFiKKwh}9y71&nSR^sZ$>8e^&eF(Kx-L_wnhb=|xTiG~6 z?{xI1dB&**fY6`l8K;_tuE|ey#WCC3@>5-L>=>vi37aZcx2?7$Y%4IX-Kr^OI73AE&Z3!-~J5}A84DdJWY)cwcT#(HDz6>Dm#O= z)s=Ojx^a3-QCm+^ods>HE753Wnn$>Nqtw2k4Iz+0fpMl@Q`QAdS%GbJWnHLjoY7K@ zn%3j05{08}b*;y(z__;7HlHNV3EF0uPm||_8K?geB-G!t;`ELxKh+hd$hx6CP3Ht` zGnFUmoES>m?3ho}IbpVSTIN%APB1Z4&w*1{U|U_wI@OIcTXmHrR##!0{8Y<2hN+mH z*3+zjGuwU%y#8;gfE%XPR+Og+&jZ^u<%z=cj1Id->q+*2gKcVESKJDWGt9bb>vUFN zTWz&w$-*CSJ}9Z zD%Uj0thHBQn_kzpw3mj zH?G~*>lqHTTPv{5{CjO1Md6jxOA5!X$A7>ed0m&QHl=DU1x|z1zJG3jd1qFX#Nw6o z1-O+%`>*F^?%}xRRcm>!#jW_Ui4jS65q|2MLbL=*uqzL3WmY?nddWo4T>|b2rOgU2ho=qCd(c znHOAL(H~6zl#yIoaCPnBh^dS&(1NQQy1wj_DH5+KzPia~z_K$^F1=Pw&3v#XSVoj! z!POy=zUT(O%AD6wnS^o0O#aa69ORpzcmKC%0c$Zg7lYilON3WlvhQyw7ba%F=s|THfh4b-Aq}=ZRxXC z)7px$^u+9xzdUnumR+@4>3Of|&m61XCeEt4@XnVU*444OW%Fzd9N9=A}{NF zYg+ls>n&~BiK&%7tuzz3l9s%DyY$RyGk4c8LJO$&?qLU6g%a@N%O8b}{PIFaP}6_0^y7)t0!v#%5^e(T-e2Z8L|V^>|eo)znp8dAz!e zrnEKFe6&Md(U`B?HXqF=Q8X4yEMHkFpM25uj;_d$cl|ct0a}lEeN%5QU85=Q(JH#E zv}FC!DohG{_#OH2YD|i*!V-8iw-9OZTaS5t%}|&2JImLxm{TijODC4gSF#jc*R-WG zY|GrgY0Bzj&d-k4>9ikleRT|V`SYv%{TpmES=zZ>;{FZhpmdDKTfZ!@=xC35eVGMz zj~6zw>ua*9KHmH{WJ6s#)waa?H59e8bkttH7Ofb}KU5y^d^Di-sQrldZ|V;dX#IRO zT`^lA;PGhnbWnX)mLK0GuFr0N`T1FX|ADT#<`={B~G`0O`HFc1ZmY2@ymCq}o z;;~^o=JngA`l$DB$V>ZI<;(UcEWC97p?uvQ^lyJ+{%GZ|ua^+i`uWN|sEHa%=g~^{ zAbR;QJ935b1#QOm<3VmvLU8HSXZigTmF|{L4C_l=zoY4o2X0VV0MlC9|16Jg0C_8Q zX;4ymcmt>~b(Z#Tmw5iruD>)sbea1%4bxN}4WEJ1D@*5R%GU!?A;f$zyq)ctK9t{M7Bmy6tf5+%7?;n;QU$a$$)xX00G+SnSc{o>j|HPDAKXL!%{S&jpLX4%?Z~6G51E*c* z(dzHO>!2@PA6e%970p~8rn4u;3_y_1|?ktVIFOPqK z)?0nf|18s*TCN(Owx*5)+v&T3V{7;KrCtslDR$XST9KQ;>k~%`yRj49IFc1P&1RE* z5Z+|F{k{`9L9g&Vi{dC_E{pRsRuaHgp_L|cHy_$7S9Alh`chl`;#Vt@JHukRnO11&z>7C&!4US59M*g4*wb}l=k4fo*f&3k3n{^a`m zilSZa4PP3U-}i4nythw2y#DT+PA7Od*tcbUe|q5`9sDpil(;?YwAGvG>u&e(>QEbX zTF!^To_;)KR~n6PK7POLUnu>{+xO?g;7a{|aMF6a=M7&T+aEr+$Gf+0U&i6~hok*>J145IovGhXZq*+@c0Tx* zpSs(MqwK#^^-mv^m*;Os{*gY3&u-tH_{Oop}*I!?L+CSTNo!jB*$8-1O z)cSF|cXoEN-5&OK{p)SRnI0OaZ$A#MmBGdN@!9sq_p>i8-G5`nJ69jK+XvCaQ@gv) zkIz>(z4p=cM|kyp*SqqLN0(haZ0#n7b8vOF)A?fc+q=VwI&A66ap&uM-}GMo_}*{J z-ERLP`Fg|Nbr_A*A0M}!_}zQ!@=ZH=*ZHWARr|FS1>>WaJ9ante)jq6x&Ge!aCZC2 z>QBB~#zgfu;@z)__aS&W*<~a5*8=pKAwP@@y)y-lmCu)7UUrXP@4PYEpY?;=-C*x% z`(*p#a_95+@6IP*k^Psl+`i~supzk8TFT`{|ATz}=6v)%I@~+?@LhZTIx*TK^z8kjR+}ws^^Z2k8 z{TP1T`5tXMM)+ax$LF_SFF%-9ZGU@|ypP`A#)@a2smX^=XL|>SU(ZLKjv;>v-i?wU z#$>n`C+_Es19#&@J$vc*osDUr zwU+te^m_O;y7l_s-|X~E<=lN|Twd;7B)u;6D_4WMZ^4#2Oz1zEvw_jfcgAd!` zZFjh*eA%Czo%G!O!NqC3+fz=CKfSxvE$vNv=W=6zXWIRIJ4qb*`24+l^zt?^-d^op z4bQq4Hy^kC)7_Wym9x`%`SsKZS{u5ho*hrmEN5pp`Qfu`p1y0#r;cMf{dax;@-usS zQ)9QSciht-r>%EKX0UPEzS-GJ-dLY6KTZeQbbq`z>AcyEz8q@j`jvh7wsZ1wdfe82 zm{Ghp+#Vjh-oHHc`~CL^Be^vSTyxsBzrOqAI6I%eYTaws`54LV*NUy48iy~<^Ut4J z{+kQ)>|NvsuN^h~dN#P;`E(exUIupLzPs)ld*?UZ?=N2;em{2iufDcFfB2}pS2g|Y z$ou-`^OfShJUD8xm26#o@h)C}a@64So15L!=dEy4V1 zuX_h_YrE@yydAdRhwo2r_Vm%w-tA!e^~cqR3*|iS>Q~{(_XB;n)4SXWzizx9@5rInv2Xe6j{RYGyLarIA0Pj)owvPfD>TL*lfawt$^x@H^e%e)H>wVB4w_bN{*xtD@d1oG;T3R?U zVYU9Xs2F1!@?0|UXHJUZ)O7wBms|HA44)h+8M?u>&ux>NbfC+(&6{`Iia?Hp~qKNuby1#eHT59HCyFDZp z@Fu!3jNS3}&d2Wdd#iJJ(f_)Cb9Qk0a;om_U2eD&Rlj_9`SNvp6205EV(s|jmp8}9 zZ%5bPwaDVu=Dlk#QS`D?tM7yy}S7M#yOHN-+cUW zw)1xTQxGfBrEzf3K6<;e{noVhz7IB>q&I#&)#bCj?bFY1dwXi~TG@En`t;WckkrWM{jV} zIXgV`zPulQeDlNj7{2bb_HN%D^jfWV_TFT?fBECG=iEk@{>ip^^5IIIUc_JBH^KhP z&f(kMU~gkOxH*0^d>f7ruKS-pD)06`fA3swzd3HR4SjfRd^-AcKJF{d-q)6WJY~yS z-h21v?5j1^yo;A_WNmvx?%nwD!GV0pHa%NESCZk^n|`wEeV!hD>1qD%+4Y7z7{3e; ze!N$%zr3HEzU`gw2SawIU7fj#+&cMj#ZHdn&p+ZXrh-8k-U_jugeNk+S8)8T0=IRDyuyZzyM_x6KrPp__iw0FXzm%(xG z{ozjF-?Z$(m$%XD+a1+Ed7}-Z%RT#RM{mc2wtg5##_-3EdaZu_n6%!WT*%SJ^lBXM zPmFUp_ppp8c#-}m)3`ikDfoi z>c!uq9~-f;|8ig-d^p}d@7=QvLf5Xcl-F{qSf4+E*K+a3`2X2^x3#vBZDDlYu6*Bo z2es)rZ8u;`vV5X}G-pUS1q_6wvstoLwgs|eBpG9ptoPY3u&?&j{@-a|{TKfjRi&dP zV?siD&S|~`q&nBAajsFNQQJKh8?7yQG=KB%`no@fs(K%Lb<@^1^dUbbGuAKHq#ruPYn!0&-KRmj*J3Zb2K{c$v*Wc_MY1ch~ zRcW1^yEi+^Y12G7{P6yIcTMdcm)}~=Tj$6<+ugbA758?I-GhE_v*K9d;XA1%9hcVL z8U5z`;6U3r>y*2t)=qWrpxU@6Yah0IuKBKUXlkchq_eM_-&#j1k!m}4hleHYuz7gj z+;ba>bH0B;_C_b~YFm2y{<5Z)Pm1f8^Sk8SF`c{Jx94w;_Z|Ces5lQF+plIxvvZcU1FaROW)GZhPOKp<& zGv8{iONRr{g@@OBJBB-)@0mN*!R@6|K6$H*>?-;2?zkh48sdkYsy=+b`N4iTzd3!Q z_IAs+*R{cxeQsaBKi+;g9-f)X$<5Ilwbj2Ey}!7t@7&qt`-7vS^P7{?!;8M#dDwV+ zZ=IF4JG&ik_ub!Dx#-5ETnHN)PU@9dtRpW1s(eRS77eHfPI(hhC+ef>?n zCtuj|>Hf{m*6FF^oSE-yN3QOYckP?jK;R2nK$jX?)J6vMqk^rYwy;s z)!WL(TKDaGeM7a%n{Ss+q;YNiq*1CFSgaq>#dy+6G# z)GNiK_0F!nezxz-TSMLYptNs6wcX$P;2xc=1Ik!Z$!PA0txCIn{$90@_G;()PUZdR zLOGPpbIrJP2XeK$esfcPQ@kDA&R46)XZO&2y*j^p-9Nc*SeK*i4{r_{Eqim{`~dL! zuv;mj(Gm`fs+iH~nH8B-FdN*PDmijjd~UzHO`Rd9r6d)Hg z=1Uh>PuWoJHu@syYUiD9cm0FBeev$@ zP<9$SMyLPbRB!I?p54CNIkq;s`|nQIZsv!BF>wPQP*54+m=JTY(1M&?6LyuUf#+8EYvO5N*s z>xcW+!GpOrc(=2uUThZ6P9CiDH`?t%SFXQtM-SH*fLHa0Lvp48rCfd}cQ>}q97F49 z_WtE=d%av4ilzE`_pEp=zLgI)`|aJ@gFL!zmrBix{r*6#x|<&c7iSmu^6;*^u2|+f z(sSy!b?w8>W&Lcu+O3=Kl(K4yhg(OT{q1J?{mzACUKg9U<-1{TyL5EttPR)JQlsS_ z-^?19yhSyTyr<>O;`Z+G?Zvy&&8XTN-AdX%Ip1vz-W|5yS*Pc1rCvH{jk+CUe{J;c zjWejLWHf&~Xe-D2+egDwQob0~LAM}xJ@L&Ms47RDoznf=?vZnQ^r0~?o3eCiI)h^4 zp)a0_^@}@cuU~WCj(QhwrJd6CiS2Za4;MGL>IeDuEonULbsO4=BkJ>N>7Yg~>ieVh z(Y7kz%k_%=zU!VpREE2UWK`Z%4y${WcJZQ7+&w>T7uOx*NCOK{-5*`JP28J6SUZ&cl|XymjUeKWr(3s(G-!bvrbqjYg&Y?yY-$*0%s#PCEDN5Bt5N z`;F1V+pXH=ma^5>>YKfzv-{3*^TM-iTlH#*wA3TFtK2$+cm3P52B@3en>X)^gX#tu^zM{**Vj(Z zbdI#a8IcYBp?G8`|H(*imaB)^4-}7cXa*WJ{0FK-Ls}+xJQk{ z%gx61^}JMVcJ>ZhyZ7_W{%LjnwAj-hK1gSq!*#vsXq&42{_W*S_l*SR_rseL{o2}A zE9>)HcB{Qvv)dc)<>1VESG_Hk9<2R_X76^@?e4{UohW2oxoApzTUJHCA9Qcd%V!_d zhliW{i%UWPw+7aR z@vcQ48he}P?|M?lu?F_rQg?Lt_N{m-D@QlmwX$~mcI|e!`F`u(+BmksOpxD5tds>AGDg6@3zl3-m7b;I|rxpA1Z6NR^!9FtycY^Sl?HV?$phTpxiN~O#9CH?lUy3r|`TgMmo+sB9Rjlp5j9yHsQxZ7yg zs`}mO`!^^1qFKEowQ9R}Z|_{Fw|9fJV%^f_C2f1He%IIg>acO@_69xaa{jK`a*M;a zCx^|=dgXLD$xnhoOQmN@#rl+fl1FxRT3t(Tk+hpk%C-8VhXYv)QfmBB7_-h-yPk!R@MUx?4yo*TqL;*rsS*5N=H4#xPPtsmi7L^S1hw zX}xEa$)Gxdd2~m8%k2_JcZ8wpEI~;aZX4Qy8R3tnJD8x`n9u}{K5!;%eJK^?@vo&k zr`sEV?6q-&|58J}_d1e<*E zQg(M_8PQ@bqxE5b<9h!?%h>p^53kq8b?R1LwH}T}_>mx}J`REcPQZpdp{qKAq1qi{ z`!l9f+Xs#I+GxH1V6--_jSn!(>j^WfJ#S|6lryVMp4mRmBUrd0vGI+lF5v61OH6?+ z+i6cVj7N$&THDdow$_GUj;1+nO-Mb)QInPDvDxIHjRf9NoznB}VKh)Oo3fwdW3itl z2+dye=DL|mymh>rwDvL+tUZppCR9NdufnQz^gFOT1=pe!+E!uwBf)A@%m%`B=nP@* zEvz%>3q#%QQklS73G=XK;btNP$`c`=c8Cenw=Dxkd2)7mb#Zj^cIV{i>^L+b=*o6h zRZ%Usl)AXstk%e)Bx%jXrra#ivx_acRZ`03@^X=t_4;GY`{34`6XFhRb4}B1;yA=v z?YeG%saSMW-OyB5#drkJ3<@xfmSt-N&?$?hqJ>cl0I#A{uE@nEK;0n4Ql(xhN-(AI zMtOIJIxt(^W83Nzn}$W)kkLw}r`{2>aBUj>0>5=WKPuonp=ju7QKi`SaoT69dc z?{qD9Q7lLWaZwhEuO{#PoOrN2pl0isf^RuxE>Dpgtjn;^af00zMSZ5Rsh zd}2%}_gH>>a{nSfbH4zWv5QUJEE4lh01IsN>Xl7y2Rd-pEWUO~&&dW!-M+22EH{*L z-!npQHi7q|X0--AU{~2!ul5>SCu@zpqr+2SMJT;G+&XP+ZC*uE%dcJm?*|c-Lyo*4 zv~`29r++pL;IesO3of~Lq3AYb74VxIIj>N@08(3n67bpq&b~s67Wi9Hkif7ni2ef< z1l)Fn%-m?9$6FN^1&8Lc`TXh5 zefEbQ0&kJk{wf@-7ag1eHj4i_%&(jQr~*DX9qieEDG;^Q6*Nou;w62-9$ztyA(z?T zTYrDBFEn;R%I)kPpEZ^;!Sdy4MV!qSK1nFMw6w`_qk!dtWsFSN?_l@%WN+iBF?A2S z3_T0bQvw|QW>2=BGHhBpG;os)#~Syc>O(ZsReJ_;3qTK<{Hwn<|96Sw{;)nC;s3zy zOELZrmbfzG|38iY|6}+W5kfHZrT}POguj5qUnw*AEPUy!Zug7u>;BQ&=GF09W4ACc zovz+?bC{7AzP@^8SgIyu3ly#BFGdmty9okergZ(4=pWSmKCH`+>|-MROA;6&WArc1 z^uHIP|G&SQ6Fek`6W4Tz_ti5&2Gf#`?(eS#CYXXbE$xas8eZp?dTKupB79Cb0mdgt1*K3y8x)2(Fi5B-vw~GaR~-TB2rbJn zNXz{@6a0UFMSuA{QY97a=e}iXSFQ#9po$vlh<1Yt7%!`8xi(ckSWisDW!lK+FYPa$ z`@p8wxzMIHSmM`|L2TK!X`%5C+&7r;*5OfO>)^O?$wqUbo0>IrUWX@*^;pv_L&b)? zD&8RG(3=7}l4-eut?CY8Yf0`~r0>ESEC_n9ZxB?KRD4Iwz_KPG8qo@W_q3+?zSnafX4!u7|m=LDq}GD>bE#YweFT>+k-wj_V{$O0)7WBC+9ID{?hX3H38QQY!y zK{s_*2PAtSIlD={>>Z8|e|Ya;1bB};2jprGEsl?$c!GqxM#KO$*3qK7Y}_2zr5fD!-1^ zL4_>GZRAMRct)fa4C8e!#B3PG6r#zI8hrd?bv|OsCjpj_ijXV2c|~j+UNfd8I0G;p zIo9H+d@DOM*1oD~IV=*LM1SCPY0XHNm{4H-uK2l;)@;(VV0A*H#bQu8VH&I_jewy> zuJm>U-azO9+G%QA+PS|f3Es2g7~vx{;Ss1M}9=*=50=SgUhhL{rm91vG!JY~zg z({0Q24N^o#)>ghi3C?VhD*~7n5;3%?1v%HRY)-r%a=6;PSz zds%!EC<&a_fJ?9?6m?sN4X;oPL4W-PlmW+4I|Mj)=1+6(Gm|{3Lwx|bU&Z`a4|&_V z?YNoA02`w|50j`n+(U@KdlkR~1llkgmGa?c5LkK$Qtd+D)=jr9Wd7l-{KNUv%q(#1 zTkv}W{NazU1=ZBNmoa#KO<7aG9Zj{hE5bHjSmAhT&X-B~V5E@ej}?d-8h0naE#6{G z=(QrkjxRB&PgLG=SKzg!o4MAn0_jqInq z*IZA%w$QN#c?WB6j!v?l(6y%XOx^S|_YPy3E+OWKWj4094lg5_o-(?EZbsV2*8)6X zd&vDfxs2n)vISvvg({y47fC?RILWI%w2;fOK|&EZ53Dvo1^>q@0_;c12l!;XV=y+99x(f=bHeewuh>wv{4ypp7A<$Bom{`i|)h`wAG*poG>KBZ4 zObiDARKO6noxGK2WPCyb|Q3Ts_OCN#bZUdnUe?lGUf3U)mxN;X(CsCucrrlx|F zqs~LG1AHksgJ!Py=i1!o6Vf5~{Q`bDoa90i%6|n-Ap0wS&HJ*;XGE&qVVK5b#lR+4 zkmLYMrm6&}Y%Umb&^e@j5sHh87y_`^Q*X#3Iv`ex!pi^9M!tFj!#vD_W+9yoF^i+f z=A-J#N9ofz!i8#Q@i`lU4SW3P72Ucgtv#yIf(n=AG7E^s$wFt2tI>5Ub}f)$3yB;X z3oQw}BKM{hHlF?K?$Np4QfZ2KiT%P1r|CF^%G2~5qlUz;=|aWZim9Gi z3Sx||qh1ln%?h5+=J5PumM*}jlmU4(0V8_6a16@uLfOKUU`{DcqUyz0A1#l8m;+Si z0|hKbBF|F2%o}_PCR4qRdnK$kjLPnStxN(tC!0^{jB9^EXJPKcHdRA9Vm_sRm)`2Z zeLmcC)a!u~fnCbsfR_@c;`<6`nPo&19&Xw>74^hp4_(`fRG0AghgnIRoCiF!GrE8(;fPdzG5zucI?u2ct#rlCn z?1wr;9_z>JicZAerE@UQmIg90osn|KN&R}7aHwA|X>z|<%I_EE2$HxDOn3rdPYLeG zg;ujmnyN{AhLJLR$RwO_81<%%z^h83D&*#V$qT@&U7R}}E(!IyZdpdqBU%;Kz+Hsl zVIL#n6itiH+)Be7%_2+-8% zYSg8dl#}~bZ(e#g9|PQ{xoo9iT2at>II@7h3WWl`hewB7&lnNkIUO6=gcVMPEf!hZ-&;G~!XV1e++Pn?*CIvl zz`3z1L}YbPFj_9HV94t>xuEC#N^3F9L#b4u16@Qd8`uaf91^X}b+ZlJrU^42qJTy! z0iM&;!2%z}+sTGIjS9+X+5u6tI6ipKvUo}%yBRA(3vo&2joL~o!zBwp!hhQ2@vDcB@oRx4zn#Twp^jCrE?ZVJYxJdns%UL=Wcl3&^At}6bywz!y^`y6bI zI&7;U`z4$In$NvnTFDiD%jaMJ`A{6=grN631UIvD@Sl@4Za;>)DD+gf)us7KyQj?h zSP};2jcE-{zJV{yeTE0m)7HcN2KA$~Ab%Pgfo2#WJ7S>&AG4eLboXPdINcq(Vx=NG z!{H56zM&MU%win&{4Ls85Chwlg4{l63h)HkDsVDZkMf#2lsqvaK0>8*|LjzyaJVrGW!5qJ-p7Gm&aRJVT^o7B$o*M*qqi znx7wljpow;2sYTv;v%3Q-7jB3Jmj;F_*sM6!P-!Njvu9wR4fX>#ByGM1I7M)v_heS z-q3&8%YXiw`}ltqKh5V?^TKEDL;6+vZGC`?%8 z%(qRSM?ayqnN65h+&@d*l)&9aIpR?61#A^w-5j6{d&j6d-d?dd8 z>U0{rcLsgpZ$AHF-Qd2HSBLMdut>TD@=2NitDOBd>fwt4!zl2;yw{k|;!E<6~d zD}_=dHQk0qQ^CdC)#SH|>n`LDvzw#*Lj5?CWm013>MDB9mRv!%z6vAJ-c7(O+C z#moi!Uw+RRujDUdK?5}ndF@2Rnt)Kc32o_`H^>N1Ar=WaM71z}CE^ud9_not?)Z== zbIWlf_;GwoQ0c<@O%lZm6O}=K{1G*2CDQ6-T`gMjF|JQ1{XCu#L=9(ndrpz9Rb~pt z;l)Stsu&wdt0wb`Nh_Eb5tz7ktnUTS<3Q|ys{P>NaA@)#H;f=QY_SR1+@>lL5ppV zdJW#em@V5kL;i?yj4(ebM2Gy8$!Y``pG~g(@fx}lEYmkleXPkB1p$Uf!4#61Jp7>` zNjyyApTOcLcRXtYgo$@VVnLV-4m1)` z=dSz@ZR(@whumnogE}*&7U(J1AcK~pc~E3NTG5y9v?97WuW(EFp2d4>_mL1e-u_3i zP=KsY+!Gln<(s-)VDO}+#}t$aMk8fUy{mS(Omv~_p0L=4Rl)+(E)l=)phd1Y>%#yF z-{g&VZa>ny{Vm<|j$J&FnA~wtAl$uo_QDzU4Bfnm9luDLju+*d2=B;1#AqE~Ax#HW z%7TTO40ncj;2pSNXR+hEcqZPW0b|9m1JqRt+0>jM3z9e%X81aQq6>+EwmJqhUL~Xm zhiAugL$0C-_);q~7>?HtIhw{n880659>or=APDWAM@lKjO5(>MgT4QrI-)G83H|o^ z-riE;cBwbOoMX4Bg5t@r@hMvk4M#4jm6r{&aumm1BX~s^R;JFfdTrPS5 z6I%6G;cKL|Ru`lRUvxZ6i6slTJ02bdFAMw#Zykdo>EIZfbQrHAvrZQ57Zus{aZ3S{x? zNkSR%3zYCMium<|lQdr9f)G6pg~QC}g$S8?W%J(oAlqxoKfjB$e71@oOnaS!Vhcj7 zs^Crf%4)a0jchtbkW9fqz23<^XiH=L$1#-RdoZ6#I1gi*gyn2ey{0_)hr0p3Xf>}< zeX=df&E>xq_qdj)VIe1jK`3M0$Mhrrd>5jK*BcEzXQgQLc~CUU_r@xQ3I?u(ujvHB zRtHQdG*d9_gwaAif`+)U6j3kuQiMu|T0omMf)9SNNY6aTHuoFG>?e^6rgNP~$mYjs zgoSMK`na9SY=D!2i8mi@q2nbKt&!oy=RVVRduspl7xjyv;-Set9uxQ)^z}6l<^#+? z8$Ys&TjG%+^J#FGMkwSezaY?Zp}-Db2&gyc(4-nU%h;d4t@GH#Y_(El;5iPbzY;80ETK^d4gaTfqwQ+tb zoNjEK3McR%UJ9z#6AI3qDdfY*%>=ameMZf^eq)0c7DHnkpMiffK&sUS64K)#V7P@i z3cT6GU{Z)z+qJBlQ@RZe25d0Xj_=M0on7ZnhL4aE-TY@;)7%gas9LGd@Gg@8Hn0^`+L>fe3;SLW~&l0%Qi% zkHnu(JI2h%me6%f(*-}9%NYoAt?gWD5DJ}@gvep`Fr*APhk%xeOq_Ma>whyCU z1#eG+y6YBL7=afNDR>8kpc=n~V1e%Vs&~Y}P)a+>ew;`Rr)v#)PxRTLG>vLWq*AmF zj)GOn@`zj~9*Rp(MdKCecCPk2gU1jBG^IQ1hIq;f-#H37 zC#ff%#vXgIXSsYnT)Z&ho`G8Jp4p76J2U zEF&Lki%!dK%u~8t^(c7qcV&O zKIm2HFA7#H0q0nh)|{-IHY;$=vFa;{L0_k@OPqc%Q9AyCQ(isN#S+J z(ZL^TBpfY}2#lo$2Hx+na-4&PxM5KCj|e~Fce2DC4PGHHKcDP+Ol&J*KmQ6Q52$t} zWPDK0ea88P{He*n3~Ew{MQeqP`ap?GT>R)rsS$z7DWiz5#h`p9k+Q}{76}sw7!k6| zKRf}?8ebTvHdKZ3Nmc+_I07?q=q4RHqnwzYAJXZ=R6REAkm~MTYm`m!5gLK}FJ6ET z>WIbX9K*`#W+yh97$JFNgeVnazmZ)cirkPH54HSrIL|}NC&vpR24L_AH1RbY*2;O& z>j=yC73p|~*~MF=ki|t{yu?kQkKhKlP=J}Qzb zg?(k&LS{4RyA?@tCA{9A%!5U%;q} zFHDMj4Iht4JrseoVOm#_`v^JCQqrJ%CP5fG6Hjy}-p+~n0=IXVi76Gv7B4KxF*uUl6zN?(iRV#67g2H+5V=&+%VbMZm zX_INFfjS`wO`E7U38I(9HFzfve)C!j4(#ap&>(ysmL9ehsBqqmgwdPUB0PWtjOoB1 zLu2`rFjRmgD;OL?377$I$UhwwYU|6ycqK2Om6cua3dP!=6Ey z`ASH5bEl7*a&=IsNOHV?_{>0XPN0}DwlM&t@05>g6trr>p)>XC<7Y4E!Uf_x2cp}% z%6Qb{e`4SW6!mpxtH)G~Wb?B56s?4QV z@pfu+xU=sWrl>~JSYasMA^BK~@o8^@I*ofs!Wlv)X_~3MFGtja)yxyBevH<2RzC^L zC;?X?hYD6d-M^5q-9v5)js9a%Rvdv|E;)H>JCQCTQ)8D@LX)Uh-Y$5mC3D~n`hEPo zl;B;#2{o|6wEB=1=$P=%ihH#kZ#&Q!O>BTFn+yEVi;jn{=`IXwS z1;V`CiM0b2a>4J~PfKhf0n!avG9SQ95sPtus*HJb8XrkeWGvotY}JL2|8PD%y7bHt za;OK9d0}uTaczI!8>GjQf?G^o(n}p6z17z{9miio=Pbho#v^T$kuGp*c{gl?+)lWK zh30Q|Ap<6|iFZ5DqtDJ0roDG~+6YZJVFaEKL7c_yE6}(41~8H#-UR?70I-0F?C5ud zBA3-}r?XGGVG);vT@}BsX2%WcF@H@cUUfV#CusYL zt%go0(NOESk1xU64Ii!wg7pI>ou#aVqwhKBJ-A~InhX@w6#SSHfjmn{oDpj*6U0`= z=OFl(=gP0ybaJ$ zo0j878-1q!6CEy#J$UkHnO8A+utAfLXjIXWc##ZG9*d`vCXXiE>?A!cI+)Pr-V;Vb zU8l*z@Ee?{gVD(2_{Lu%mW6f{pMqr6>zaaNev^+Xd{YlIzWMotp$1OkVfUm#3-PreQ4(B{B>=d6RJ13Ps97!e)MaxC_y^0Lr;McH|6f5;s$WmV%Eb#Tl2U0j{0C z4dMPI{f~)$+_?sY8-29I4--lad%r^5Kte~nOw2?Mz%rw8Tr?9{gOAKO0D5SGo}=XF zFd{L!`N_keJSKGVjCaiprIlk}-P{@s+0a_$VYe-Fxd5v`RKLj%@x#akBZ;h_TuA%KnHb5g`A zEzcFeWblP!C|U0w_|U-zrp(2bK)oQQaNMoVKy zk@-m|;)jr&NQlaMFA2_{X{agzmy$zY1J; zl$qsd{V=&idk&jBUP&4Z7P<$ihY|&T2Upp#Lf+BY^sC?eN|97nFBn6Z>tyDB!MpUJ zA~48#AxHc2JjAbIp2Cul5vU72eDpZ({!Y}4LXNe$i9R=U-DIQZ#Ixy&Q>ypO3;7vW zp1d5YMDfolv14(-W>78Se1KnH?j33T3aX%3Etey^Yr(=yA$icy+Y@mqcM?i)u-Z!j{ci;Py0Ed-B zea#8md+!gnmOxvu1_s;DU^imK4#hEr+pCo047YESJKY+v<7^nWPypFeELeVM`LuHh zeUj-((*Z^B8z9F&KQ(nvtPR|Z318>o>Gte)ES`}ZZvk|%>7mv3BMJXYDMo12*D_yc$YzlK!W4(kb*3jHqIQZxy)|` z_CxowNuOe7qa2%4Xh5EE)<+gW z8|UK`76tTqrozRm0_}$Y!Xx0r*DA%d3CQvV8$HpA1eW$QCxnlgGfgkiXrrB?uPHKbrVT0ae)WVoW?_zQ3WeV=DIXTI z-s+B%MKG@gA(!G<5WWO12O85cjubw|upSUVxWV!dN1(eQ_?Nz7kQq=yb}v91 ztjqZ>+s5YSheaFZXfT)?T#!*{8=&-%@#vs1$%4kYAcT;Zo=?OAj%<_M zN67vZM(^l_7g+dzC<1>??u0`ZT5%@yg4y9tSgpr8+1Wo@mru5Kw%&(6a8qDkiutqP ze`e%Yp7N`oGRITq{FL8VO5wNoS4WbD=$&{8UBc&)Jv@HFclH^C;>SM=fByRC+@HUF zDxy-~>V63g`eUp6N%$H*8^f1v?1W5Mf%JAlx%SxDI&Ez3ouFTyZ(XMBo5r@EyvrY0 zt$d<42BW0tRw=z#LwCHLux!%a7gN6`c_p$ZJd~0iXvZ%mjkgoK%Zs1%r3c>!rXL2& zuUy*)%ZlFLlOjBVdO}MzQL8~)jA#WxxU>dfnE?AcK_Ma)Y8d%}H&5H_qf2-`mdzOz z?Lz#BF$RUwNU#R7mC!~gT);^^7HGyTiU-l|1%;ZM4Q+uPHf zOW%`DbZ>|DbSG^Frx_b@XEZjK<`Vbw0*~l;UXl;n&rEV*`s&j6Fg4>Zv9J8}iOi$(D)xZH0NphG9!p&{C2fqiu7 zINhcSoD6yYxXc-_ZD!%El2T{SNG!I6gfFum~2$ArjqmYuKZRQ-Yr< zqlbYs@01@6m@RnB6t4u3e4x@_fBP%_PzAarDQ1zLLMm!jtDw2sckM%zMD)A;O=Lgu zzoID1f0N|0Br4TvRe^M=tVor=3F1otU;x--!%&7@LW~LJ9?OqU?qB3*`4`~2Tj-z@ zHXECO(W`%({rm_0#Oa^ht3BYWi&EjfXS@*omw@J@^j}e`@{Impg#KT{I(z4tS29vT z%)DNG^@=7hI_?NG7nnGDue&yBuVhd@+&e}Fr5joeD;XC}6ik8?TJ@LBqYX5ZK-+E! zrm?ar!UM=>J9NpVAr7)H3y_tm0FVJ$V-5?1#LOl%Z>HfZBT-a6+6Gg^H~`Y*j4{Yz4*G^78YrvHbf z^~dF3)*6ldz0-z3>NK26*w|catbzPymu_TMKdrtBcm|Phvy4B>@EZg-k@^8{)?m*47^CHY|2Ga znKA5t2mY_Tp#E1;q&WXCi_(n$|5W~upHJM=fC&qGo5I}Q!SVjy)@GFZqvf}{O{3f~ zV)&nP_oDXuKj$Rz_fyicOpT^47ilqCfnJ2O3gt@j@5@E@#&l1s*B`iKb@`W%RNj1K zc^NSy{PUmeuEOPv1aGf1^!~xjQii&cGoLt7K5r3l25DpGF&u`{>v{& z|4LOEr~jG%_h-=mtAGLEJ0kqny}M<)!q#D9uW=c00w~Foi0Mi~hB|aI(PY_o|4=_q z!M%55C7^M?3{h>jTj=QRjBrSmPI$!9hewUI#@^8(zWasmbTWi@yrBS^r4UqCyw#=1^QS1{g+q1dkGyz`@|Le@v)El>Lwp@M#zzSJdx&I6>vMSfMoLjHom1a z`meko{fpJgIQ`G;zn|s*1-fimi11)HogOXLYUTQ(gkE7P`9Wk=>c7ua{C{)(zxtB< zKb7)0{a0u7|8wO(k*^=E8rTKccOsQy3Z|Am(s{moFFRnhtR*I#N@v$RplA|znuRs9OyY^m}f!|C)0|@ zA~s*obU%$`Tt&;{>P*FHh+ILF_2GAjNxO^bshKj zCq>;&isH-gxIv7)`CVjx5?f|jl2_z4`%61wk4x+i?UFra9*OqL(2sZu6dLer4S&%{ zy{v$Ai3Q_Pewpl8@vK*N@2{rMJdOU#KgR!8Nzngi`~NRS|EXbf5&M3ohtKr?%8#Lc zsXU|qpDF+UzyEti+cWx~g8r*N#{XZD$MyfxjQ(GQ{)zOAz&vyf`0+O3AQ~DNu#)jY zgt()C`WI$2_peL;wIAdEFIC6seM6?+W%e~|5MX{ zeE(mp&d&e75dD9@{r|K}oDw1el5TGrzr1NioqrknmwzbzkL~}@=>J9S|JnZkjQ%In zf9Xfk|M>nt(En`z?}h1qw*Nod|4*fVRV%&glOo<^OE|Z$|%*(tq`b(SO4E zUuAaw?}g}pw*NPyf8w^Tfd5~))|FGRo8P;SN5B6m#lQbmmMb&=|BL+0`Ct2563!ai zi?zSM`ui)J+zxb`2-!jr@#CsXj6Simm?afly+<5DvxG17w*4=dN1?+^Bu zmNu={0L4eaB*R=jRG{E>haZKe9cIG0wq?0q8;6!gX#LCyj0eV%$+Nxyoy5>EbWEYF3|+n5}JdKP%D+H3j%u43>7gSN?4|# z_OyypY&RVZs}9T?(;AwB-WGIM=&JobF=;W&?Gl?8wj6AwX*t;4v2C@8;}jg?+J@fK z-5gI@S~}U^JJ@Sn9Ug7(?Qbn0PbgFVkdq1pd=v8pqPDu9zaXce>>P5B=Yy?-$c;01Mne-|ylr~gj>{s)l$H1sct zrMUjDlxFe&e+BwC^d^eEIN>7>r;s|&3KMyjwwq<7l0@D@7LYIN<$lcauMuaF60=f4 z3}v-!qPmvNvW`G~ICX78+yk|b4vA1f>Xo3y!hQ?a>RTOKZR__1&@qZT$M1_$Q7m$L z4zVBn!xCLvZQYEI*tKu6kvhN~Xi=}$jYB$#)gV0^G)${u8fR>ULEp7<$lvmmwVB+o zfkJ&ZvAw>V4HfyA1+9$E+YIq9FN*^;mW3l_|BrKpBJQfw`VlhV zas96v*Z-v1`R~7~{f8-n)uu+DR4Pd#SbYXjZAUoRI*_r9ZsO@rBJ6CiH!_7>TRS~XFn`5bS!kNjp zK!qD$m>Uad!%(_C$R+(8R2z)Zorq4(Pp`+SOwL`92&<1I_oVSjp zQVo#L;pOSyvvFTu{}U7Rze;6B|1Y!ugXcd4u5qnoK-I)qGy4B)`hTth-^*ueo?Nd)1hkw3QNEBt@9t>sv-y>IS)`zj%}ttXX(i^9 z;dShZi>aIcfV7hM4$gD2^@^NExt+DoTdD(Go z%j~SKe)_b!T%;v=ExfOWD)zMAJ*(&)PNT0&ntsP)U+8<%z@>Vh=A>ag>CnMPw1wwZ#lx6*&)D37K9Dp0+40uDrQObnp9XW zhB~AJ(1FmedaAAwGc<1 z;8FTdi2syk`v1Q={jdE5a-UK6Gw9#4Zhiv&OOjX}r~mRS{`+V8|IrFRrRRRo3KlR{ zQfS*?i67`K+j6Y7TVUqwDIo$kjeCw}7J7a@23Qbtao`jUy=klV2ntjyvRsvN=ck2Q zIbTqn{yqEjOG^bpwK|lx5e?~ClID#hO5C(wRtIj^vR8N1UQ@LJTMcyq#JUS6_Hen# zGea(c)%OSc!X~*RhJ~I>N7xwvrANI0l$ot=uyfz`a*@5WygslkvZ^SBdU?6XUUOo?_JY;p{2C#qopcYUk(5`lG~Yo^}my26R7n@K?0 zR!vuRMoBO#PXi)(QL0Q0BF3w2LA6_5-6bs-IJgTV!nk0&Z`n{=c(8g+9Rvoi0}_VZ z>4xA~c8l1=fw>~n$Dm@2H>S?xu4S=cWdfLqml6|V^6FNb?(wnQL0W2>^5$(RvU6PiqyEU*ftq@O+69V$`gTo z)FdF~f%^AJM{SM1JFuliu>|x#EwJ}Yp>H|vqT07wsxd-fN8s2SIj|bKHSnlk?Vy*E z#mrl#F%ncqU~>|1OU6NTrrd*Yu!8awfSs+YZg$nC?!q)3T-trh)GV_Ad>aVBzy>Hr zdg$QcBXWn9ps533gdh$PSQIo1LRU4~ zi;j+q<8vIwl3-OZ7K9yNK!~F!*R~9-%$GIdEll zw?M)R>$K;C&b0JH!?2LAz~`r!wzq43>@Vzy?Sx&@m-L^0be0 z6yT5QbbkOWfqPF6%QZnGq%Sx`6*L`JxUHj==Gp@S+Ql7WG%yekmUyn)L9u8MwKD*5 z+9W2zkg^GAsOst~6jT>%M&ZM}tkC&9Dw-I0;15-KXVss_l2 zA_q`W?*o3>7I0ONQM*KUhzb0!!z-P^C~f?91gI6DuIotWZ&ZvEI8}`y=n#+1d{*6>UnHx7k;c%<5M1{t&jS=O& z9u8w&htWON$S75&#O(UCE8!0lWDE`zRz!DoP{Hn~8CBe1F{cL-azZ3_UX|96otXJ)fRG;_ow>}ggc&Z1a$J4>5F%3*r2 zXitQ{JZ3%{7Ibu=-;hM`pX<&*HGqc?G~E)a-)S9``ZU^_@&p?(ScBMzWB4slOWOk^ z8r;;*c7fRsy{hY~qqi2kw~hIEP^IRW{kV2|JP&55ryb*3b!>X*6&@|%XRQcuH0E!> zm|NN>S@zCZa8`n+>Q~=_%wtYvU`sTGWmYhkIaS2GL*m zMhk^Px-cz#{q8abyRCX&Z?*4)p#bmbEq5q5`l_K6b*L`a3VpM)T%uDM;jGnPI0wPR(|Chgj)=^PJiSX!*H z1Gc1jY#F1>#7_UurL~T2i(;(xooJJRT<|@n-BW(z72Ii7sQh5#(+!Hn|XqcT%-6qtH<^;oDS79pSBA4Ef?nj`9Wp8u! z*N>?3d;%jXB9xo9P+VodL&?8>4CyYP{0tV!?p?!92R}ZN=!CW{LnFcLsoHf6e3|rA z`zE4?#ni3_)uzDu6|O-?7989(=7k^&|~Ww{vShH8Me zNRvv{f+E9DT~x|)SuTMh;^zg$Rf8u1ru)x9Hehjwtd>QwfD!5yMG~vBtN@;}j1VH| zhP$eWg>t!C7ON!~W*I%xG&v~MB`WIKFd3y*P+&%NS+2-6Q32WQDab-I;?$#EBJ<|nZ)p7sP81Xd{bk`w98{H?t?k@gx z2@M|L$U(RDj1m3#FR^V^Hw%fYONm!E-3T?bEX#&zt6-LTODxM`sjSH5O0BfO7qM2a zi;{xhjar}_DX0_DQ6r7RYaCwb5ZpE_7Lbt+!#my4o4NsJ2x3a;Eg8(TMT|bxNE=v~ zhHh;aw~26@0rzPF(5JyFP7B{c4Ns2g zv<*TJFvWO-&>W%T6GVd5(;w8P5#|K!n;PizW>3#SWIwy0fN@1z~)M&rqq>+TzWD#`-cCNm`oT>pl`){{6UD0 zET@V$d3sD*Dp%@qwN|N?%cXBe_~l|)eM!`1sIKEscl`m>8}wr;&0|O(LHP@GDWRK6 zrx#cf)ft6iY-~_v76iXM@a-P$F$nFztzgq~X+RDPh?q9le(aEf^sTxMCkVMzm8Q~l z7&*uwH>=;S>v*J40|s1|>r#CRU8f|%I3HDZD(LL3)ugKYxUv(FK!R32P7E>cV}LBX zpr{zAtN>SIbo4wHNzs+9Z_gTF@Z22_r$g@2w(1&L+#1 za#@yS(1w&L*`y-Zq>?0oR`onCDFbTM%Ce|Hiy;27{}e7MPT-2-bWAX?%evkg`n)3Y zg|#GCXrepxsV-4XGe{A{;UaDrI7xodao=c)e>7&JjTxSHPc?qV?1o);v1zF0&5xPg zf!b%^2xK05FD*L3V^z0fo!*eqDg(-L5uc;EVcrk{T#}HaGA7nTT9-beP40CZAE)b> z0|@{Smf_>-oyWUQEW_~l3*Nw-z`mwpV3EPcmLg^3W12;Z5>P3Fi~@F4_LN?wB;t-< zS*fI3YGYbJvf^8e^YnC8crzrScN+)$&*k#ILubR#TQ_)LHL`K^&f;ZYH@_@5ZS>%* zzVb&TgsMB#^U)++8z5AJ9$zPjhCFdh(p`s%`~<>u--Xh-N>f|tSS8MVUE)?6+QFv$T;$<}X(a5Mmfb|A?a zG}$1R;b}E^E8;6=W3;7LpuZY^FJc0As&`h`bzl|vfSmyS8LOxG8_LiZNOj%S#;8w* z=w^pOE%+cI4b9&LCQ zsHcxQ{4=XIgETJvauIW}op7l+MXZS!1ZEJm4b}}ICRXSI&^6N1Vf4bu&N{FAD%1-O zc|}^qKY|o%o94+ZPfp4!vAj}Jp2G5!q`WfAD<|buSY9P5ugdbO3G=|PqZN89&uRmI z$Ewq8;5V9Ts;lShZ&DG})>UJ54S(}&)(5W8KG27=#5+~_Eg@+e$eGn0`XX#$&M%;R z@Zk!Uy(9=5U4qm%a0S%2hNS7B|4?-WyptnnhIPCKESbjLaP;U4DyFO$r0uTaujOJt zl#GF$U|Fy~(JUKz`>M?ZL7&g-$Y!zY`?}*}pk=Hs8#?=hCTLbVePbWc^j{lY-R5sa zD36u+EhK8@Iknfmr8Z9F420(RR0eD+Yku8z|7nA_FfeF2-hWHCTL#HIv6gc?Q0-}J z;b=F}eWp{c%15eUmgaKISprQO&`;Co34>) zw{BQKKJNyWOFV*XViG!PfT3Ohc)Hjn*snqhEMI=$k44kb^E<&Lx+u*wdQ=FNl7Y>O z0jO!A3muX{qALlA7R4QYjM;AsPq(nxUTRBu$5z_(L$o-#f+z157llUQ zv> zXT0WCPg|;ii1TB*5$L|#iX@65Ud}fb8i--ud|iA23P2vRl94h3S`svL2t$9DU7#da zL;n-}#wXc-D)~=}|5RpAMb{4Ms(xKfgF0?Y>b2lN7& zp;-ecvDiY54jBYj>iU5OXAy^9?y90)k9l`G8KU-Wfs%GZt$tt#BZ}Cs{jZ`l39G;y zNPWw3FeV%;Y1CnXXIE(arl1NL+8Y4V3Hr?x1R#BE+dCf04(DkeY0v;yx>5_Y*bqq# zy$p0(^s_3CU=p2uQ3XbzQ;o+{ya5Q9%R_lN z=Q;kkEgs8-oQAufEx*~M;j+GY*KxaGU$r}A(Lu`bnxX5?cB!6gCGbvxi&{fRIKW#8 zge})p1!52SF2}Jq13&<&U)w&{8 zD%EHD$Hh`vER-s>QcWq<>S8t3^HZ)BN?;t;DrFhViRFp@@k*gwu1PgT#(#2sI?vF= zFt;fgAc1u%T=yS|bi;K~-F?ekx9+3%xdr+v0=X{LMMbL1l^OuKOh5S@gfB4D8}wIN zQ~_hTRKm-(Y7#nVSw_Tr56S?pb*Wq{$(3>meZRO}M$^LuhXe~Mg^DQ2wNj;CRVq~x z!@o$Zplz}Ft}coNsa&p96tP;bEA@(uzCb@W4DI-Qmx~D`HjSIUMeVEa!4!B?9wPvT zcSqR4Zq8ci{wim-pjo{=*e?h)n!%r#7b7YF^BjPcNgei0$1(=obFYnHe0mERI8`^1 ze4#0abxpr+nM}LOY;-9ch>K7>ya37;s5sBwqeFS%L;xay_;EmYQ>k|xjM(rT08ITs zeE*&*5$yC24WDhf0@ED5Eq&HO8n5~u1QZBZdR<^?UC6PgDOp;{bPh{5&L} z19&Lx*bzr#uSkRF$sIjL|+c(wMwCb zZeaQig#kUbA+amQ=*P>b%NRGGaN~vt_l`&Hr@4e5k4uwS*nXuZic(1`)gO0HRtjRh zCYQ^#dZ|<@mn+W*y&_jDC3#Z#t|XQUHAxng z68u-{=-!*gJ;{zN*^y#GWVvv6BzQ{;v=um9B}Fb(YbCLylotSQl31x$YgIftFO{kb zVkAh1SE-5^Y+05o_0j?bwOAJGb(n3nQdtm%)Y#ndp+6}i{mgWK9=?kqd}rV8gItHX z-_YTQqG6HdBCBCrooufJU1az$!~Yk;fALB9FIMQOm2%xj|B_M>MRa7BlhMD7@u}5v zNh)*fSD<#SB0;kJ1JU2JqMq&I#iNsbl^(b2)AR2XtG^vL<*Ee44`3)s)#_BZ3HT&d zO2Bc%T3vZ2Zk8+cLaA1%DoUwdE0yZ$M=Nkc1CX*RDbP8r;KZ#Xu>#0hk;+QBUaytw z)u$ex z)s(ValS?&LtE51cS`8ONO0QJ|1_o?QDRbF@_q3F2)oP_yORohY3C|rUio$75 zssVqiLg{)veS|gSM9_S_%;$yN6E`fSS~ay&U8zZ8RjSHTos)M7x|cC1-Q;?0V@Ka0*=

9D8*kZV#E7LAV(PhbEmtKdP%)LP|gsj9&0z-)LerBagQ5-gxtqP2cFyA!;FXy23X zvEa-h1{={^U)Yry7z;>M_-F9KiUJZ>se*)%r<2pQGC;J9H55Dy^Bi6X$RrhNxT^~s z4zO6B$O}RK)+&`Uh~RQ{@-Z{HTmUkvRY1rgm6o5%3llCRc?uhRh)4;PGGHsIwQ%M&1q8V) z^IA0pR86^5FV&S)h5{3jDnK7)&XQ4Wg7-2gjkVNyRe<|~aH)Zu;+3Ewsg46p2R!H( zKnEbz6sFl>EvYO44vWBKQ){6n3UUqpDqgKB0H+R;u9`kAP(nZkfU;1ldwddf!a4{K zXz0iC$rFCg^11Ah-mSyzo17#HY&RI=_DFugJCP4cP3y)90-U~?O9IX*B@mbrfO;A( ziD$q;#jD9!>zN88&?7KEP&(?sA@N}QBpz9km0AsL6slRK@<^pnM-C1q0AK-Vm`_(1 zBi9@KSS9frPv&}r4^|z>nKDW_rXbZoGAO00T$iNE0Pm#dIS z5BH>1LQ|{)jq{G`K+B-xLqpYCS{>lGXjp(k%gi|ua14}r(8iS1!Jz=I!aS5pja8Dw zngY^TDZ#JQN;R=@*IomT=43`B3O2LIA3Rh2q$R*9=qfPZNH;%yY5GpE(5DKLJ( z|B}c@2i7Xg3Cz<_mVTy;UX}qfC8biGY&!$LMhz2n3TcwQScPdRa#aHM4#=a3 zPu3S>_pAL>UGaI$5^pd8CPK|K&$LF35f}yN3k#K!n5a$2sE`5K*E!=W%V-x$7_M1L ztE80CWd-!j)tx%X*ea+ppot*yCRZwfa09u8mLaQz#0-P0DHD1EZAL+~g)+QS6=W(X zgkTufCsYEnTb7ZN&`MQcNYH&1Ecw(*iYNmkD?vRzCr}%J_o1Gd-V<k1eH zpe}HB3F}iqFG{IGr}Qj#InA~jP*jKBa`2sY)>wOZ*r%U%?^bjieq290oVNjO4W1pi zx<)@Z#BOk)A@jKNgtv0jJ2%+riD1*Nw5aJlyk#2$T0_g!9Owo;>GQ0MW+a&+n>6L6 zNuZiQ;X3L&&y1s&tCa$7-T?B0VglM#dK`VJ07h2{%&rQMWN8vRFDV7kyDOAnYoI~M z)3NgjC(qY8lm$h6{)zMO<&dez%_)k;4xCRG72hrgaQh!`u3x9$srowG%j&L4ZL zs=K9@)VkOh2D0Fp0bA-zb#--hRdschcYENc;wa!sHofD-=B3|8I7#)l(Ac^Kdw{qJ z59|~s4p>ybyJ7TFt+22r?gOB|g5oP`BB>D{>J-!jE)Oz#tAXM-4><+Qx`n1r5bSbm z!WIIY5O)(P#$b+c{M>Vgpt8c0bEpsBI|+X z-hu4^czSM4*u9!4frXK^TClqSw+3+XE5eT3#T_2h9%Yz-GZ5JGYqmk%Xm{I2CqxkJ zQ~W|r0kH7L!0<@za5`a`gH{2}w@t>}p6n9jj7Do~3$1_!H8B=d7YI-ysD(#e zAcevh@_}sua?vo|k`&bJU~=w$uWR%RYIf1s2HUb6CP+~on5RCBpa8X?Q-S2!ZOd`C zdW~KOdPPf2Zq057WDC4OBbS%~NW*lZjeUHSeQaGDkG?_QHTD^XLO+0#sWd^io zgf&5P0;LTP8}b)Q1LOr*+>Mr66QsRXK7QJLR64sDsX$f)eH14c&olG+0Sb#9P^d!$ zp|A-;k5L3{0rz5=kvt;7N5?J)^&Cda{P&+43NJ; zG7h6__CWqN(4yVTrIJn`m<%e6eIw*EZ9GqewcjnM361xGH-rp|Bz_cG+65IsW!h>Z z9fu66+wU5!ey_h(P_y4{pzz)ZYqluyFw`xm2s?xUT(~beTeAUN(deN$w4i1SPaN>( zo@D)?AK|%Pw^z_-x7R{ts$)oC8~rY*HbxupTTm0NO<1=V_Sr|iyoE|nZp{vK(CeYC zLe|79m<_Zo<<|rG8TS8XxMzUS*)u?LXckdH8-s^+kpQEu5t{3@w+dtjj2hZQ#W7^y z2B5hI>=gvxf<7@K5$qEoPXyw}TdZAB0`qHvjtMnE`D;hpO&`_cF0k~1+3arh4bb!@ zwD85~z%qd?Ah%{06QMMF=A5D3+Ng>H}Y$Oj0v(~3s$=9vyZ+hDARZHYvP$Ha$+g@8+iPI(TDp*<7^s;B4ev( z#A>4RRJWieETdjG+N(fSKtSCC*>Z-h$|w*y!wuyhJ)f*u2FdMg@cm-}x46%|wjEwKm1 zyWNoP`shs8Kp^sKc44IGZz5L-I(ngv*=QG_woi61R2L;T=otn^69uX&s0jiDs{L{+ z2R;I73J6X{zo^d!9(^`@-F~bltga%am(MPrz~0ze(cT!P^7!-G@X!*4GG1TunI4+S z&{Vtya@$s(vTqpV%NX)Dpf{juSYBJ*+?uej^gz%AJ}8O02P_K}_72(!a%+Ony+xJ* zNz|=wx77eOr&|E+mH}%JmS8j5;Xvd>!(%?MIIdP7L!Iay9xBQ0cZqGl6sPT(==R;!?9 zw}Fhm*$C0Ih5y^2jrDVDLJvJWG7jxIR zrh$i?AWVh(aTB-kZoAtl=o1t%=%Cw*YJ%VcEU{Zav*>f%Mk8=2JZv@bHbS%8FPN0h z7HqvOQ0V0z*K7A1jUIaE=2ry40o{Ikp*RPEPZ!O4q{ZctEHn>91j0j4!A}bmxqhdh zreU-?eR4;RU^PJ31#&3p61qSmaKwOs*wM(@>U9dbY`5u3P$YZy$ORejvsI>Mvl$8x zpcps0=)Tu0SkfI(6Vbz_9o1~00@^O%1qE#O3vR0M)7i{((J=FdXfr?Ij=Y3~$;|_o zQR-D@h9{YssdBP+cgjMJmtQZm5uwvZpz%Y{Ua!_b1qoOa>^26f&)QSa*g0sw)<>_{ zW*g5WGfqLnW6oZ?iCqANV3LRqCdo)0bB3NPeRNQ0gQ^EYcdymgcseVGot>>3ieKo+ z4`rK8o$HG3wDXAzC^TiTqAAl4`g3g1grKh}@UdS;LB3TU|6AHqenVw`wtx?uEa=Yuj;FI^Eqa2!$Qs!$y;1uZIF<3zhA50shbk zjV^|bKH6NUD(nY4bEb5q8_KR4iEdT?;_vXXw+}3B zgt3Qxc75sk7V}*9+-FnE3V7hR$!(3D&OL{@PTf5}S4JpYCuL3(H4WehLoEl_ctuBY zL;_vj+fZ6jV$s!>_rh$!rn5!IGQd+x`J=aC_B$;QINMuyy|uHo)u?qrVQHeON6a z4=*;7ZJJ*!ZujvP4qkR_8F=u~Z);^(ste*r6Ifdx?Xy%Dd&C> z8E8tRx?MaV1koM#(`G?k+!%3xBQ{C>cJT~v%RtqkplXmz!<8YG^dJkREasM;Kur${TGE2>Wfk zr&L~ZT*)!RW*D9H;sVhaNUNFLHh;mrW}ix^kC17pMBBt3zo2J%VtU+6RnIz@L3 zye`n}33j>F!wU=z%vIYe+85A41&=J+qStmC?;iBY%RLv~f=PWeXBFxA z_)GKya0Yccgs4v~@4_0M%`b*yGcap6)5%{}^8=e9dh`FK!GDr}VgG6U1z8%NSoPZQ z9Jb$1=P#`Bmk0QnV?rtb<@(aH@&;V=J~_B2@-uh?^USU+5AW8!uD~8sVU{y;c@n32 zaK72EyuoZt)^sL0?%>QF%ebIEzrq)iVQ>@doVZhqeZ)Lv0ecIi#D1_mOwV)^EK>}3 z^=Dn~m19{P!U8-^;g0d#8W@xX*CX*~cHhdw;OUDx3BCPp!Rr{q5;n_A@0W zH)=+`zJFN3H80bPV&diNR?YP;>Zix`8*ITau#Ws(8wX>|14?a!py~LpHFeRUlh>#a z4?*LD;4PrAPpq9|piE#v?uBPgr|8H09;kFqnNN8EUKo?H;|cWZ3fUffn6aQDQVj>z zO;8{CensS+Q# z&CuY5vHqzub3!SE0}Ow?C~}6prQu?uyL7!^G!K|PLLhiglxnViv&o-{-pru>1I!DstGzCnvHib2gjUBc2fgs{Ah?KWd$JDM@0a$}oEj zWC`2c<_w?%7I+KlctyZ5wy)?tzN$pgRm9Uv$_HFgeJ;eCiF@HzcA|{Dbs9RN^TMrN z*yl3GZl%>SDk4l3=wHTGg~703BuMj{Y&WEP%d7hAJ4|W)&a*9N9F7@BHK;?s2`EMr z(}(qjS<*4m`DeeP;v zzu9Vh!!v|y%g%OoWn$0`=FTt?s5|#Ym>)jcnkHgv;<4yVb`FcdXRf1dl5uZf8!ZLo zG6gM-=O9gA!Gjt*;MtskPOOP_fq6{)TUb^%BG_l+vXdlt3~l_?IrC@Vd~iK0L=%v(zLf+o(o)OV(ob5Pb>RXAs;ca~!u+ia zPg*f6DZS0?g*OpjU!SepYu5up5mjk@$@Yp`;$!E(^{tMrbJ?a1JjOOB_HS0Ks5`6d ztcfyc&`P~rmy3P@VAS8=Vyi6G>}v^^w$qw;J2Gc>z=6IqE-XB0DKivV^9)wZXG+CU z5zVi3LVS~Z(kzG8**x&$SoJBQTV<#61DpNd+ z)--E+j|X=%8Eml3J^P0>3W}h=$RTmLoU^DLddXaq`Y8t7OvaV030{AAj2+DbOy4YM z?1N+-B6U={Ft3JWvlR(!F;di`dCDpx$I>XzI#qoajc!EsWNt(cYjk8;JW8a}u!k z=4XrTftIkrehf_DA2B8m0v%}kKc4IgMz2!E$8ZVbq|GezGo$>9z$uW*Fv6;`Rze1J zX5m8OY{(kdLN4Kh=peX+XqYmn$xgo2U_pfj8CbOb*%)*U%4q=50B;#P6uo=x!^!D7 z5=F?$TENQ)CH+KW9*0<2qp*l(t{0&4Z{y@$!9q39CQ#0YB{rGV!=;LeD$lGDt!p_B(R-W(@3;hjC}FReTU<^# z=FVVA&98WE|AW>x%v+}4N61)MXoR7K2c_qe&|sK3{6@Xm=f@ky z<`(>)dDfL}UBf5O;=4GsPpgp`wXIrMfEi2{P^>Mnm6ktl*yWE#ff%CLdn6*CuH$JguI*>rb$Ok4(=m*eoGZsZyq6kew+zPrd z?67h&U=K+sqzye`$4@~1dv1?Dsb-jxt)e=B7X((bYi0gqcq~n9Te$Nq8u5U zQ}Z|1;fmOIuKT$Nli6oUWwGziLFV;g_YGXp&Ix}4gy|+*TME-3fl};|Ju?FZ+dwiV zOe~)CP59Zsg~zibgvVO7Vj(Cx0z>TZPR$AE0^tD@Kf#!V z$B#azGgKo@@~9`JljxzAgUtwpIV`137{z>s0Q?Bw*!T2}caLiwMlHo~>K)-g0GV8o zAbFeRdb_sHChi6H^b`NYdpV{P5gOz*$R!~oxkR>!_tKe1ItS`JHrJ~O87kIG^iFGb z1nWnx(LGvA2*D55WQJ)tNbkSIJNR=@#jWuLPtZYWt5F{3vrx-l6P`7mg1%IXoOe)z zsO%j0{@h}xnD&UG%J8A1BE&$kxI_>@oV-Fs3krtYX-!YaFOXbM-5Haf7-*~Yh4M?( zr-cm)gBo*T5lk~tt8P2M8=Zg*CiQTKIN(o(xz5I9-mYWes+);t9;h!iXg+i|7L`S! z6r1J@;o9KkHrVdW99>!)v}iuup8UuA4I)|)>NioIwlC(GA`0K)@faP8LEAM@Q5eBC znOGh-ve4<=EgOS2OF2oLz!i}XJQ#`#8-{z%>2h?5vMz6Q?m%HWy&JoLTE`7A%#VG3 z%ZvKAAdgI$Pln00;*Y!L7P$Om2^0wr0_ z1yADcfhv4uP23p*1MQu2o1-~lu)rD2dg$-rv$-$LelZLHFjNF^mX#;6N74YWmCX&}z zm$Y+ijWA&`sse27_~c|=dr-bw@n4iXciliI_CNap{pTCQCS|2%o%Q51MdfZ1SAZx26Qrnu0eJe$%ftNZ@491$1N87;zP_;4DiLpX{ z4zDZ!omeJ(r0E7r^Z~3mi2N7HR1Mu+nUgtuJ)!ZI>I|NE@kt@PsMCV@%%2xr;%V2c z5E~#bahK3oM>8_#B3FuR-yj;q$f~ll?_8iniqy2BygT>c-8(!ANWJ=p39tU$1QNA; zEBW#>Y%n{21FmX1$yYP9s(o~Iy>aylTGYIo1ys!o<`;8KhreA8_YSc(IaJXp+TNw@ z=u4jdMEbrtreIXCw`LTz(TMh)d1?A4JHS&u%eT#Bp)tz%-&@|450$nkr3nQ40KIGY zYckif`23vW;S21$$f9v4o|LSl z)`OjIj%p=3^q~ly(J(4su=NC}_3+aQI(_kDlHy3^sL8{WSl=l8CQn;o)Ke4WVei|R z22*mkQOj8+hjViT!ue}f`Ehr%+iYw#yPHPk zn-{zjQspdfZT%aiN%g`F`p++Z*(P!S!?A)DUi>Y0{}*EnC+>fAx~=E?ACKz(uOJS7 ziDUZ)<;d)-9Qc-7xn`d);*E>7HnoDtZV!ccNDqFfBEQPl<~+D`JvFr|f1(KtW`aV^ zKA02N(S=5`kmu}}Sm;||S)dichz523SS@IKqanPycD>I#@VSO=7=hFlaGZm>S|nL@ zbZI({g^7_ROXKC`^JIB=JO)W%cXuivR~{;CD?V!ZJ;ci(WacqkMNc)6gI#yxvs25Q zW@0PABHw}v3Lp5$9}BupZRhqh3s>n;tIr~wMe3*Gjy!m|xyjz4jl{M_+$e_;5xB~3 zlEywm&&4rrIDX)mpQFFe)V+fGelR~jmo`=)XvvrXlN(qHu5pit4ld0r^1m6o%!ImJ0tW~& zLc})v2k8cn8Dl!q@kvQ2O{)U zzD0x3kZ%_#eePopY0n-pqO<6wE)Dj_xhG^+(6W8B@t#f0OZrt~-;pyXtWMdY#hcXS z$Hu#2cpq#L61gA+!P@lQ^WYko2+5EC8=$D4h$nUFaX|YZ`vE!usZMki4M?7^-bdf` zd()^jYpvSZZ_N-EX%!lTwjwDrM;key8u&h_3nP_`!-uy*HTURPc<$Mm3up#{E}d=) z7l4RfrKMC-C`11%m@007aNNxaYDwsclDMXnBK?IHlx9(NGZ&R+VKp)qmUeN`P5s0; z6>TL%XQ;HKus%4qC&~=qH`Ry(UulKRFU*>E25Uw>c=6Q$6@i^byWJj;PJoYupSB_t z;zi1xTCGO=3D#zp6cIp_jDS^p&IIEO^eVG<`NiQl2l>W#bzpQlod^sR4fYWPI=2fz zn%Ksu+O@zPnl+@{wd%CG{^BcY{jHTQICsKQ6j^FhKe(wqwYqJzd$#8XKODRN-^q7V z^QW81!S|Pw(e%gHpPbx*^3Oik5J8|u1yQWAxQ>|C|As<8;2+7RbkGvuDd=c2ACr~PbWr8v%j?QE+0O_3UF|t^#-A{d=F}11a|-Zw!W?B~ zG*Cm)iG79~;%pv3Q`e@?U&^b-{P3H%3-99XG7M+rqi2O>`nKh9bryB`njS3dNL0n1 zMjltg#c4mrLxqYjaQpV58<5X^8||rSI~8U{t%GEHLQQXSmz0rJdGUh$_MlR@8sL%q z$l$p(vC!}wy=T8OGXN>{4DUhF6MGELh?o9zgJs;&R(_(|0PeQq9!l^zaPM92)UZIC z1jP(wN4zYAfClacVA-1f8~f*r7s^{@JnB=~6CXNEN_^Px;CGVdH<&pdgADF(un}1m zMtH>lRA;D3_mQJ|^fhc(R8!u|Ct(q~5+A*%uhC1PS`_cr13#DDxlQk-@|6HqB<=68ordxDFwnuVIkgARDypGUq251fAN6)zt!pX zQvAQ!d*=U-$^H*|4{#m$x3bNG6>b)GQ1z9aVGe4pM}AZY2`Wwl@=P^7c`D)CuNUC; ziGWlzFyTMx`1LSVQe7Tf3}|Z*`juy$3xh_uY$|oGZiU4LWa70_^%S4*Ld#-%6K=*?0shiK5Yo_M=d4;+`;=G9lF+8)%!e)WiA zqH5*86?=db>HkKrm6HEj&-(wPlK&!gS4bhREB*e~Rc-uvi0m0*oRg)o%PT z7s?btVCUc6ONX6ILDU51sXQm)jdpXfKFPp;G%?vB6q|yis`@_+#2&YUcj+zyhMBD7 zBVGXashu{=GTu$R!YnM_pgsx{%M8R;vjeSPo407F=ij+_7y>fDT_YCgbbmUtJ&S!e z_a>JA-}6L#Q{YPzrn6(swk7xXjM8@%7R2e}DXt`hTO{NbCQ`Gynhc{NMK7&3?bL zwP{os?gBUdwouO{r!QvooJ~W`EPYqH)~kB7sDhS-iFI=d1+uhgC`FbAGv=WIPh+=H zc22_m3wvYZ_|=qDaUsTO8YdiBz?+?srFNICo{I5dJrP(g68^Q&>qnp(Xk}-mhLJfG z@mP^n^@B+$!l|iA!kt72thTvxhHin@c=gl4^}NN=LrPq#8b*ebKsSmT33auoA)YJz$~tfY>q45> z^4j1ES=7K7B&Df2S@AS!8lYvIVXR9dX6~aKlyLD0)pSi0=dN2pH&Jtrfi(=JDO;d~ zwlt=-g=>G`}jr)p^99?M=~OELU9m3)Gbl9UU?BW6^u(rkT33TT_E`7 zz)mo|MP?&LlR(~-rN!Y7Ht=1P`0m0AKA6t@+@wPyk4zTF7R3&fJonnhm>$9L+)ti0 z`IdKuq0wsSc6ChwGby5t+;k4!?mA;^5~H&$Ru}CAzOj8U7A**@!LzW1v5QwBGV7x; zV4UbwUj>wZdz`vfQmX3IbPQ>9Q8wWi=wD(;%{vXL`51@Py3>$a$*VybBO26WL@Q;b zyk#QnVbQ`8UnHA(P9653`~Qt_`&_vUP~`vHO7H)@XaCW};I{LzwKKS}x1|#@zs-_x zPOtDQJR<4?#unuDM94*%@c4Osms%ZOXb)VP&gZTf3 z(*8F4@$}th|LYfDzYxX=R;|^MK86@B&ho0t3nCkg`cTF46o7>70tp?$Dm=x|bpwWf zwzq$TGTYnudC&B%uVIOgt#jsE!F={Li3m3{_8M>6ZEt_1OL;YJCRrN{HusNC)_I`; zMmqn1yVTdJE)Zi%c4F?@k#Kk#ttT%Xx9r)M7OG!^!> z#syh(Au*?zh&|@v9q3yOTbfrob)yk)YvI5~7xpG>GWF|o|IIrK^Ilm8Z(r{jjb>|0 z+a65Wwr5SSMnC@%!x?&Fdg)%F>t{%JQ7{6D4U5EWfkYzojOYsCq zmVe;CzlEI$$opniqwNYGTFw~%$dwRSriXVbW91!N(E0a!HS#9ZR79|cJRVC_w{{L2 z?pl@3qPIiX_}6GUtLsqC^P^THU|_LBGrU2JX6FS%$A$m)WDVP2kG%nAU{2O(?e0q^ zvVC}TxWB=Hk(^~+-w{%ZFB%N3m9N!-)xzg~4HSuC_;sy{lTwX?BNxcfJ?B6nL)wVi z)&XA)-&U29H3!f}@X=-B4EXWY3c(iu(VG}75`sj@2<5=Hhy7%g2>Y0{fV&`#--NZ+ z`CyiT9T%e>c6w6=_9`vwcu~JLgX;E;zU3T-nrsH4SbBIv$1m*dsbD}yv=q2(^;8>f z4KYxtvju6F>U+vq3jp}#?_n|Oq6_}(PvG4xR|@B@bvAaTl#@nX*tHNH(g5-cbP4$U zOaL{A>nN!5YZDMTgUc8#Na-FoV^~zzYf96=N`3n`ghiO2sB(oS>vxP7o`Vdiy5b zagC4gr3Ui${Xniloq_dG!z;D(sHN|qO_f$&3IxU+{J=`QSplS|+?9irn=-x>m}n*` z2d8RE`9jc^*M3$ZY~TNQR6|jzaV=v^y7SP=a0AC3CONG1oqJtqIij@^+KjY3R5Yfr z6digR8!TNg;)()r`1O1)^CixIhGT0qxralbg7e>A+en@NHha(h|4;G!=PgjsiqC(( z8oYdaw0HXVkNd>R*e_pWbhW|D{rCGH_76{)=ehw~!-TWIXm0;)eJAl=zG3?xKA!$v zzTG`NeSdJGyd|F){&V=@^yqKf~?}>W&y+ zwyKtS28CzOAlIFq9v^)7Jj7hybYmOAW zJk&%fWLRRR=<5omi`pqYXK(lS-fu+xmz_9sUj1^NH<$v8h~o zzMjgAX*R9c;p-#7o*W#18yijb@v%aAk7o#rP`x|!ALk4}D~WL+tQo_=RPSGY7}S-l z8^Ij`S9T#r4Hc|JVX9Nhr;HlN5tIUP>jaKaLaY=j23ZK^0^qQj1iTs>Mrio>k~4)+ zq$f&ilnINj7kJt{f(7J5)8yi#E*t6bqggd%3;*)ab2#E_Mgc9$`1dv#Z!pE$|F3Iz zQtdwi=Va-RtF#@^w&J=IC-k_;`Eq<8<4>3qxxS^p#?N zc$Pn(1RRJzLf5IX{u&tm7VESB#f+G1ReF@ULyJi@3yd*lNL!V2^m^%bF`Ye`3alI3 z4>Ft**1tHI8XwQnt~jZJp<9u(4f=)dym$BH)w(g~jConFz$=B>yP&82w%W zut8;Uf*L1J=-F{ST=jM~sp?GvTxE%MuP#Yhppb-5NRr8M`AWLMJP9RL87s zgzncB`Cr5uMpF9qj$UVa7a)JNP^;}qpz{$tyckJa?kQe`4Cu@y z^~39|rXwpUxgf4Uh{D{>i4PZe(ViDav93`IY+x~pCogUDs5~nO{H5~Qx~=?L;LqzP z=p;=IWj)5VbfjsNkcy4MglJpD=Xa-`l*j90qtTI9y2+AbDN9qJ#ti-2>Du}Ouab-! zoLA*LX==R&eXVh)Q2t!Tqf^iB6F@EQZkaP+b0W^X=%i+uf$B$x&DHW#S8X*vA8ZgYCIfbi+X#0tib- z^T5Xt)b2TZE2EL@b4MNCNLt@HJ;tQdnS6H{`b5cr3BG(Yvqph6 z=G~6OJLu!!sD`H_qG4`nsAHi`St#m9yYJ{*-iQWLQ-{5_9reA#0&i}uCjdvMg&f%7 zbt&+n+)^V@+s_)rN*ak{;@q70xu{^Mst)&z_TkVN8tVznz@yUGF*c3OVhl~WXc8mA z?QIo?JS6Dg$wmb4Ylr$=m;3#zQcH#-EVa0s?59gR5DEEgCtA#VJbmpVi#clPz)`A~ zTh+~_S9MdaYIUL)rub$q#pe+CeGypm(GXY$>9jDvf)~(sun+%F%?p1Kayi+LYOFOI zMsu^#+-x@1X=j3UZck8mAI~k+@256b<;h2>ij-QlwyInb=1nlR$@W3$ACF=7-=4n3 z?0-BC6{z;WA7G~foNb^-9jJw_XUX8bsxD=EmTZkt1LkZtvAKys!4w_f)XEcgYiZ(c zt%SH+kBzunkDa*NZ12+aOz6d9pjz7JHb1rViQJ=i$JRNJlQXgwB7LmymnWb0(&W=# z3Hh`i8~L;!JNa~gBT{0~<>-Sd+m?^Z(9a> z3eZOdZTKA#r|#w_)&xTqkLI2yZwqcPb24G0OMAk_8lOK<^*s>g!w@sP3~$e$p8-4s zAd;zomAiLU)@t>7?GO0%tv&uDtiHYdZ|jw`ctIhTQJeMInMJ45bg3)RD{7ujHDH1H z*>XS@Lz!+w;d;WO>qR)k+O~jvCpMDx*cs8+&k@|8$obFMnt4Dw$gYH$e|4uoMe*M| z-CpASr)PAZ7&w^_=dRC8`+9~oy<4|k>T` z2m~}W03`H?tviE2#mOBP)SPSA`;4j#CP5YcxVFQNfv%WQ>t{5&Rd!sPhQ#cqQ9QK9 z%7*st;O7tfe1JG2A2eG~C@*0Bz%l_Hc=u%YV@9iuqOs*V42#4+IyX|I)~JfMMX6Bp z)M@n?Ahp`9ZRvw+!uCysy+KDR3UD#lzS829V=JO|cx1qk-`i(=^NS5# zNJfG>OrxVI3UAbRl?C+pW-K2mE|wPUsvmJ|od zE*b12!ViakFyLQ!18d>HwET)AnX@cjEQ%qLDht@%;S~mT{LHI0qiWhU9g8yjGU|s~ zeX|y}upW;`92La%@lu(UoNx_%%t|$6?w!kXZb?VdTY;gw^X_{!Mo8?`}Q3kHYK_FQK;HEqC^3fE_V>i}M{ z5BwEE!@dK$xBbgJSd6V+2Rc+*MGSFr&(aqajZxzhabFYDYP3EzyCF{KYp<=D9Hk&m zPgroZ6O;kYW1gfeLkz7>#~ofw+%t1BOszw7xKLN8bj#%Bk#h#Zv5NB%UUV3EmNj(e z!E7GHd7R7<6#`hw;U_<5Rw7f@Jrd(%=Mj&C_|$A?_skuh5^s2flOwr;KliMHH7rGe zY!*_QcTC(-l69omLRwpVGHl{;Gl>VF!pFlPo(_9>bkmY6Fj$I1H8}+0y*ByKkMtvS zqTZHY{@?#$n{3o#XI%vF(z@AT5*_%!9l4+KI9n&Y}A8CbC4U&b&`T z;&|3e9--9ntdp!n@{o)D;N)o7?{~I_Mx0litBfLxNt~-3;*Q)Q0^|-X0vh3Mtcp!Q zgPYjmrcs70Z=xl7qvaDf5tq1GJ&#Cq|3%2J21Q3!xJl{eX1zddE=wkN=QoSZZcAC= zdS;_AntNa}@$Mg^!DG>xi!mZ`Q8X^zXio%py$iCkrVa%&0NLDvpWLfa)gPVDj(hEd zy>s@l&8t>7;%9g%8?0|$S;7RnxtX-V;>+PYI2Vpefi;~C(K0OT+>yoktqnbpjeUbv zQpYpHcw=M?4^IluZk3R2SY|EOjqV7$)#z;SdgbnYjdS^CL9hMr94%7z%4_T^6ZoE$_6JhhzX;=ep54bQ_eIPtlG5&hb4HCX#zPbG z-(9$BbF25vRWqcPN4Dl3RytYU0Q#7@>A(7{mYcD=bJ5@ur%_-4O+-8MEt47_v8a93IRMqd36eWHV>x=<@}?M#(#p(ZTpPpsrK; zKsTu(v#QaEr7VfxkCf~>^FmUX=s>yu5i1#8??V(+*VApw%Sh2ZkMuo9ISATRVz*}~ z?48DH`_{sHmq~N&7@x-K(|$sa|0KB(LjV6@d>^47O6C7-8%Dzazuo9P$A5T){{LnC z{e$s}Q-6Y#jB9=;;st|CilikQ(fsQ%CxZz5812Z{r~v!;CTP7a=DyQGwjvD zhmY?MqBoj;37}NR0&A(Xmv{{kvu!%&Wav}aIY9$>M;7@{cyZ#vukX^Y`1RcgEXs>s zgCcLDw_K!J0K%v>>qg+f9;e$|ejHH;bI-n?hW%R~#1?}4G0a?rzp7}bPmVh*6Q9oK znUpiBxtJb~>rt)J=cW1dmge(%T*Z1MUzoHOLXS<*C833^7$G9!y0~v|UCVH&30+GR z!#Jn`1=+DD6VQx7qMOf{=m#LLt|x=C;C*}1>Js<%)5FmC0_|N|qtA5fp0|tvfULOR z4rV0Al&(}DZlL>&(OzY67Xm=|?`R{sP=Rf{Eitx0qVgsFqZ<8 z0`cZpWUg{&Alwv5!A~_x@myI2%T8udoU}CSJgP`85)+ z@u{l51a>g7c212!oqvi{6{RF~t1LiGZpnx~YG_irG@bFpqV&jrP?gY*BN~9U9p-w7 ztx5Ho^29aAF?7Ul87kMI;|d<&Yh4pjFFv8EteN8JXaf3HIas2L)60Qkq(Moujh{@< zAq5&^F!M}42n&<20P-kP$ER?{KUJ6+ux%qJNQnPSOCkN|s3(g3Pg;QT{nMHLUc3MS4Mj@2VJ4UEdytzPgMa?Px`8rNd3dlDEpX*a_w5V1YQmpyb(qm_ z@-NMHR~Fi9vG2O9&fayQa3IPWU8TY3ORo)OCbFNt+G+Tuy9Z?~`Pfj)gkQQHD03?w zH`OxHm);hX8Hz6ed-M~1>AZt7Bl&nsEfXQ31!X)rl(ssq@Jp}xg09;rh!W#zcA6@p z_7G9!2KWLK8(7=$N2ZOioZ7Yh*`8Tr+a!$!zts;;j_L>ddqaLgSXlhM4W#3q4}WxQ zlvsx&nb6FCp;(LMiD-t&ShW~)IY+W7$@`^AksDk&M}HxzQFIoN-lGH9@Z39$^P&wg z^Xm7I9g>9sZM!1?=bz+a5FO^_28W4a!^ENDyOkcIZ=Vs!Mn{et2}a&x3`=v6JE8uzRw1a4_tDcW}xpd1oOQ>v~6w7pX8m z*3ArNeuz(qCm3t>{g}Burr^l@d9>Ye18;RUB;7w&CEp-!A!?B99s<9Cl%N!g)5Taujba|8P_ zo5lT6dNC_3M->Zm!PS$=qsMKCQdqUZgVxsoL>83FMqIAux6ri#a7yb0@dnR5cM464 z?m~d^|6T2WL*KkvwGFT!|5LZoOveB1^tzpA``?qw|8!#BNcx1Ga)R!~bk`SCVGhw5 z*YcvP4EVx!Mw2;k57q9oODh2vS9IcL!yB7YPJW%TktEhh!m$_OuxLLIz1q$u?&veK zu5ja(9k|YLG&TcsNH5puv+jt)ww8=^4wF?3rgr z)pW~WtWEuk5j1~M@ab18YUXi>=vc^tFaGpGFQ%8+YRyN3X`3H!T5O}@ zfCF$O9Am=6nE0sj0+aEkY9lGrLZdoSH*&`j6|!!Ms9;Btz?KGB=#i_0^-14nd;VEc z|L6Wu_i_WU!2hS&Y9;eOx7(f8v;O~>^ZzIofbb!AJG9-zjX-j}E0YSIXmE%&SzohV zwl`S9J$k*U6x!IKT@bO>s!+bVu1}|yY*}W@-2d?L^zVyx602G*aLZR65fd4WkLM0v zu}-z#NDLWRdm-Ha^q{EYVeMSO#m+IsKcSL_%^5P9q`d@X>U9+Sl=$|-p6y47`x zb&wakGXyX4@=xC*kfY1HNg&%PahpJ2R2YQcnRu*Z@p}b(nAO**VnRVQaKL}}oSl%E zdum=_YV*(`Hfpx)4TF!n$0z&8YQ=Kb48A`d%1fYX+{-82Xbq;DHU z9>!5CS=SDb2GoM-YX|Y(GHx5F?=x>4goUzh9dr_fa(fDI9;6p%$|d>!muQ|tbl&pI z9$?1UE|P7_)eoAO3ri_*V@qjUDW5Sf3g}Zx`MwsbR5Lw0xD8i52L1`TZ0PPpwJ)^8 zPT}`=Hk$`Ns~lR_l5bRa2KgAzNUjaF`HeUj>zY|mI$Zl}vUJW8%6-}jm8TV;m6 z_Se`2rv2mZj!yQ6KkOd9eZPM!;0m+SoDiWL97U>y>)97JnVkZlB*gyF**~li?ENRF zZ}*RnB^vlsv5BI6O1$3?jmv;e)`bk^!OCnROrM$-=y+#vW_p+~_1yg}k<>O8NhG>! zkPBpdn7NUqmbOAarOEkIar5bZNPjPt57r*kr%|G4(J0K$(*L zb6sb6jPscazl-X-C~Cn2apSbIt}`AktmeI9r`|0!LTrWk7I5S-L$y~HNt!3~a=ORD zi19tHlAWs|L?@4n#?c8_o6dsUAs>E5gd*A#a|U~QJ4>tWH#31#Rie+>SFSzGN^gq1 z7A%1FXvTnMX0UHrW3fN4CsR=@lO;n1tXj>5>%-g+m=7S>=M;I4SG%@@OXdRChfb%i zXDPl8)e`9EWXc!nkf$MC;U38@J?s3n4AEfSn9~{XO}wHsy0G7THeO#DfBoEiebubc zKI#_kqj%e=D!g!IBUyM@h#|T{^(gU^&khey4^IDny#H=^vj5>=@8~`5%O?ki-H zF{}+VHS{@qQ}646f)fj)i}lyza#2jKi1Sc#@=!!}Ra~LRpk!l2*4IqBM=OP;FaGy? zHF9OpI2|KMFJ#cwFyyM>=@c7wHUWH2P4BZWo+_>J_F}E->WFZvF$hDr!$=chQK=Q+ zwC~rxp4X5U4L{Zw->H+ z=YFY`oSvyde2!F*l`13G^?)yeHp&~KE7?h~qe39=rXc5cAasp|w}1TE#17Uf8ArE_-9;^o}#uk^qS33UHMEGPnY^Xgkh=y@V?#)`eUeOJCeE1S)$ecx<@x6k$o~|JPzW%qRs;&<|6Z$;ivQDXKi~g(%>F-$t55E&AdK9} zg=R`kpYH@jG>G<4#XoeZz#QKE>~?cvIu|u;GU&kB9z`z=$k> z(O|eeK7@BY-xMCz+kn>ARV%+5Qat5_0!1u9EeDro zK>k$Xavuf}^3{6>vNWI&i`g!7>E!k6RP>z$s&pq4aU?0lL_48XU24FwfVrw>o!H>deIT4mT!Mygdmx! zNLij#1tLn2Yv~iIGUTh^0p}_mHJ4^Ek?Uhe4G=oOSRG_eeEr$Fy#~F{m)VzIJEkAp zskVj*8%F)lHf-y55ZXoKaM5257?$8)`HisG ztTL-)^Vm4aKs6m&XrWd&WH)>QLi~Fn0Hx9IX_4b)4^uaPq#;=R(1Qx#qN#AT|Y zKs1UBmpywro7mDZUGT^X$2T=lxexXvvi+3fPcot4Z0FVQ*v&t23$AR0tSFEFqpUZa zn$9iBDB?UjcEAyrX7#FyUeD7UPCwshTiE_HBm%t&R%Qn(u>Tks>^W}#f#1z%`_JRE z|CGr8_5%nC&0EbdQN1 zpibj1psWy%JT_1MiCIoNd3AEe@yuQS1pGfdHo6BlpaTBiYIT$OKReA%@0tHUN&bI$ zQa&DqY6D!%ul?&X@yQp@(-~vQBhSJEXUUZHsk4-eaS`)93>OoYaY#9+PH$VeLkGdxib z2fCm=EiqUc=E4)bv?KUiG~|{!Ng2;Ur5r6p&3S~3qgaTB35|ZmtLct^#AU( zq4=}>_ax=NkdXc?a$vYLM4nS!+-qg;$YkKUJzlW6P}I@Jy(rHEsU;MN){BOMaq{wp zg74*EqL_LVa3K7;R+Y4K65LMovZx#(R;uL>GgeZ!KPq)KC&gCoOcm@$aYzR8b$tg> zinU^Q?CwKG(3saH6qsGq@wc(g>ra)^t$wQ1(I~HipS)$7DQiS=a}M2WjDbNe9E3~T zq0iVCOVD;^dq_#X*2gIi1Pw~C*X{ejOA$eZL?6ZzBK?8gFQJ9qB)S)?llt1F^%7EF zCAKE@dAysj>(-4X;bl{nujE6>V(q>z-71dk>x?`;`msh-lNj}bEW4_9*_EfR%8C*7 zXIj72?DhLd5Uj&mNQHT*%iOgd7wV{ydnHhf@qyC14K=j3YIgZ2-;#5X8`|r>Ad+K7 zz7=731;~BHPRWnOvZg*Go7x70)f_p`xa^FFE4(&uh0_eh2K4VdIZ@HHsEzk}hI9=G z?~*ybv3)S!b;gHe@X{@_@MoJW8_~U49z&pp{y*2~pd+nfUx&$egg%zmO?=l2^s()f zLWv~oG0qm2`laz}zH?(pF-qH7n=Vq3R_4!Ai!ATT=7UiYpf(~jqFnfm6~SMH*{Loz z0__AY3V(A|@Jp3+ktrypnJzS()~bec!fI{!VCs3lE~bxdQ7hTt4EXLDa)M5n9r?#T?Honxt#VD#DOlN*>j)J*oc{Gk=3e)NrEoHf$)#aSA zDX%9NPjX@BuN&hFtebn3M|3QQCg$vRsAdgOho|K>@k(N;7hZ39e4HZ_At`r+1u>HH zA0TNyWi83y+U~GKlDl2O@=(b+u|Tu~d%Bbks}%-=r5?=;l%E3xdu{m>>ZiIQGi(jI zGq^C=Ttcf~z+_e5iFsyZ2wMnH83&=VW{K=ktBm>HhnzE70SMlRBx*?TF#S#+vmqt} zx+`YMXOD@0IsXsjarYDfu)zPL)o6B-`G1=2?z8{LBaZ)(>HUG+r?lV4x0(6l=E3=9 zU*w9DW?Z~vJY&L^8Mtg}ezu4=W0)q(^lc@~eaIy-D#7qU%nNk ze$CwR+|iI`w(PC-Z?mthV_ObIYQ3H5?&O9i6iWJ~!=tzRywO^$swRgDY;9UO2}5GMR0k!dlux46D;Z)!wWxL?ygZD7)L| zjGwuU--KxxlM!3E@R>-`m};`7OQoAU51W3PHyZD{!Nj^9jy(FZhh81Jwj@DJQn6pc z##)Wmr)D>7j=uKVMGa=!M{z1BBEjNB9I*|If<59%R%i+7OivE|4E!<;OmG|GsMIj2n;)7D_G1aaJ%hgv+LLpWS4vaF+M*f}ok zFbq4mjQ|>&I;}aye%LMQDI&4Hu6`8_ZbBMPPNEgw_bp`nY;C>7-@1f zsF{ZnozBQ%#}niY*^=h4UM(D!D?k$zh?jV&L6j_%J?+CV*inY>X4E}<`I=?tk_a25 zV{v7>OSh}ZQK-EYljyr@o{g%dHYz7$0E<9$zoW`r#0LN~`#_7B*%)~0JI@Ym{}SVI zT-{R0jtM*Csc5{ZHO6&lZ1p;|N~S-W03-ujXQrPvbtI$egPiOGT=hh#e8ub-4h-8H z&OKZ0?yFbqCyUKR{zM-o<8yOl<0SDY9~1lR=acuR00J-}3R4V{@Ywdvvxy}$I9dM4 zoMGx^YLC1hCRX6HTX!BNa0sJ!;lQh503GIEVv<7ihyVsUhW5v7?wFGRKT&g_2RYW2 zG{TXJ;@~-%VNG!SM6c*a0kSL5qDBdB~g8$LAZbHmZ&Ir8v zN(fxl!I?SU6!-uT*G%@;N$?FjV}JYszy5jwpJ7-0UB;TOV7qJk8>#Ux)Y@r52XM6om=j7aE=^urp+G3}HZ z(9X^dj$<$wq{08{E9yIe)kv|^fXg9E0iDqf*TBk*I->z%%?|{I$~FESL&}+)z;D@z zlAYq})3Agr;vDkIPmxB?&-sN&p~uJw-B@;Qo$vEseMLx7u`IG8p&!Bd#JuXx5{Ke6g7&Oi++}CFp@VJHwnmvL~bPc z5*D=`uMoFeWmzIlKJM=A58v*;+x_wV>4vVI{4OHfQ+^L0kM~dZkN{wk7bRdiymrr1VWT1~mpQl>Vgt~s53BkIdEZrUp_&zY0{b zBa96D(D#2E&32=cy8rte|Le(}|LkEniamFVdQ^#M@5(t)D#>D~P9tyM8Pw@d;@p!&wIHzayxtf_Hly9S?pAJv<_f8Lv4#mO2h>Mo8 zzl=@C9FKW->L>;SJwVgjOlX+I>&ssVm|sNMUw;iz9hykK4dXf1F8uk~TK$vr$^Wck)p0E@at|q^Df*4zGLYyC=zq2A8;-IU@C+eJ#*ndn#i*;-biQGNs9It6 z7`_=5=JOZ|C#Soo2YZ#BbJrczp+dR(%~bs}(~H-SC$`~F3FHEkDdx9{TTE|6zT`?B zJE+L5)V?x=9hFW^sMI?0Iy1aNg@u|~h4`Jmd^V4Kh5XBX>*7jjGdc^Q?IXOyiDTj$ z3f5dB>v!lM#X$yUKhj3exgW(GHhA^Q+r0F3N z^}TK@G5&9j?cl-rzhQJ+Dfz$Iea`>>RQOT3 zB+*U!I10TJH&_+WxoJA%O>^_ooSbJwfyu&tyz(N`qI0|YHkL9bC0(x!Ui)&SunKhk6tx$_p*S=JRsvd zhql#?Mwr3k(^0{vmB=|dUBHyFBBiOu3=894OD1GF^eCd<*n+k$O&@f+Yj$RV%17Y9 zZ+FV(=xoa7c~SU}=MJU_OS>G0?r@o*^vNxi&L^;cbApLdZxt9yr6X2mI?RQ8f6|N2 z#+kg^%N39ql}YcGymYuF5=^UOwFAo|Z9RVfVb}A_+b9oFM3AU44duBF1?hnrq2gqp zM}Bm8zkn8hMBu!2AgPE*L+6>;K$W@HPkL)Z_~a%Jv=RfI`<584x-wp|V|o_)NM{C8 zLEkdnLQmYMmd);t$LKmOk|LwVC%lNI3vv>js@d0=)2fga#2Riw~e~+|OQSKuE`r zfXY=hD{oEmE~=tOX)b6gBuOX*XgbuE$&tvfV}uv0X7j*jE&2(;H?r^vQ|s>#tOA2| zdJ;#IdXGlmfEWe+PBf6@MTX`Y(E_>X>57gz8L4cHboa{nm}exXRfEj#67!ZBXdI5%lO?QUa+Q}$*c`ST)ChlZ<}r^Us+yw z=fZRt=$#WAc013)#$g9Mn_tkz#5W}ShA00F$zf`F7tzFtdkU}FFTX}yX;CH;ywPna)$9!g&V40(ehAeWM=^7>N~N*12laWM+VPwy^XG7eVe*Yg}xq2$TZ9m z>sSHBS*d2a%3_d~ZEPV5IGe2esj~CQVJyChhEKvxH+m9nyq}!V=eBUOec;e5G5hb# zzLyXnh39{*RQ!)#``Q2F%h-QkWLbY-=&Zjl7V`X1t-lNTedz4Di+FwLoj&+Ndy(gy zFtdjZBhP7KW}`F0%oZ?eT@Bt~fj5y;L9t&)NywT@Lk5pG3cNQ;!q6&o+DHJR_tYrB z9*Y-GBJ=L3Y?ngi205P47FIanEG)Xz)Z?#*_WxLE*6-5%zYXux{vXfzznk|X%eQ(u z4k1`Cx*2{wH;4CmocR zNA3`iqLWQ0xDI#&!@#pFA@pWTmpRk_lqUc2O}#(&tb!?#3^|)lN)yP$9hIYxQgi=w zX8r-@z1*y?ZSz^dTq^utP96)G;FYh3oKa+tPmP^F5JRWCWTj@9W(_CU$emod1&3)? z@!(HB^z*}Ovmw23CtbQ%^yN)?4xORE|%9zy)B=ofz+i^W{vS)*7I zr3r7Dn57`i`p8wP|~~S^mWVG|8FL?^ZCK!e;VyZFJ=GlJp2EA zIs5-B_CF5B|6}<$U}^-5pWg#bl{pPqTQ7_SHb1)^nt1Ju=hWOLdVO6@i6 zdYC!0UfCJ&3_XnAY@=t*>xyqrXA`T!UAp;ubk_^J%Ds?R?0%Y#Ii|I0WF?`>N>j#9 zLe>&Z>w*{1#D(sTH1ahiLlNF5K=%EulF2BZ$EXNKY$30xl86h7)(C_*8DfZ-4Yg?G zk*cqwgjW6e{lVeihNpl3xIa8O`0(-leyW}I=LnE`{y*bu?Orl~=JWq%yPfv`?>3+L z|5G{t4IgqwZM%sxVa~?O9|%X+1Z#NL=Mv=1iRG>RHG00i{U1Lb?4J&Q*gbsve*bvA zAhb*T{$TdEP#@%n#3X`(5Xw&6xrgVn{CiRuja}PSPhPE?8Gt^-SXrg7(IwNLR%OC4 zzCIH>WBg!NZc$<>$8KwCt4q+uJ@BG77TN5w%JQC-?2)3Q{3MdFuO;wY-V;|l;Di&d z&QALQJ?~~n!=Qu3#>retRaq%v3Bb8o5n;%yXp$)INETmsLS6El#iPOqMGM>+PK~x| z1A#zm)GWtQ{`^*dGC@^Fu6J%i17m&^WsVsDZNVH&pk{zRmz8A8l~TbXkYo#nR!FWi zvJ#{^;vuwM=Zf6@>6+&h?B8?qo+S?2D2N{Hw(B$#6Ok5HcgzNTV#Io>AlQi8vgzN5JSzjJ4J94!2% zU_tTl8mvkJxC%?TMPRgB<6oyAG4LeipCiIl(wPDBQ zFO+NyN==3L$rWSzjMVkAtEGh6e}8rkxtqm|8wUFrh)j87W+5nR4R9i; zuCK-=OW2Ky9I`S!cl7Chvt5!FZ755NJ|8EwXjFX><*(526$L+-&!pN+YU{+F+JOk- zV6mfLCQzR`m+) zZVrYR{(g`7*PzhX*gMfFhCk#%Cc+jxYZJkbB4i*@{1=B6cr-j*dS_yVKMM+_aj1Okv#DbvvZ9PNR{gnYI6# z^TBUA{{@WPoz8G|+Ux9pF(bu3O5ZQksfjA|slb#OhQbsZOCSovYiLoWBV?TS;nZ|) z$rviOW22!Dlc_Tsicy(?JLN;tfERaU!&5|pG(1F%CrHOvcRB?Q0isWyHIA<3pbG?!5Pp+5czPxg;xrLj9TZKtTt>F)Q#!`%=2!w&~1A9hdoevs8i z8L@-Z%I`qZd@n1|O_}wS>cL+s_PbbXMpzpVpp~gG@}?{VGiziN`b{m=%mM@6wQ|9* zoj}_|v!Rs8Y(9*)lwN3O<~Z_#&fCI^%^=HJLDm;uQ;AiPGO0e?5-NMh^nmN;?a|(k zA3&8F?jOE=G)pE%=tj=Fg%?QUz7_~x2$*>miqd0rroME?zSgH?I1bA_LHCj{HNY(H zeZfWS$LnoEN2Dvq`~vC;X20TfdgHptPX>6rkx=a-@FYilwY^2^l4 z=CaDbJR8+_Dly$%s%Z!-PzmjNY&q=bPj<5*IG`sLzaUjdeF*8%=}?mh-X ziL&AogAtGx%$y`Oqt>V-6_i*LX;gq-7+jX(Q=!(T5oO+y4j3^FYBj4z9yfmIn>Wk! zyY@2dBx)#YqCvd_h4%9u`{9jb^>G%=|}XG3Y@O}UG=x|-Ps z$1zGkkF64|B+L~6?f&6^{!%?WI{oSB_-_Y?-&cPXx_!uN=2Of;=K0!VYoizS7nUrt zjd<2Aai#LD)N9&-9DCB2s<${@`u z#ge;0qBOaZD#cZ%es?{aSL}6_a-Qe7B>;(-f1+F`Dr37t^nXCU2GeYrQ-3{w@j!)w z!g1tjIP~&O$EF&^rD0Z%okpTu=2RQnl86*->72bFZz}Y>t~`s%0a_`V1$6=#Eknw~ zbfUu0zx4xaI<&_N*Ob~`DFAI}K>%e1HAF{lKY4~%C{_{UQef%Vy|LO78 z^(5J#mB{4Ru)VLDH^Ut2Xhud-vXx^Kf`Y9y#R&UIywq>&9-6xG3fuGdL(UNb-}Od`{GrU6P> zU(z6rYi>Mn`JbdzPlY$aXDr5Eudp#! zAfCTgaVd|TuVW<%%F(&J>#!Vht4yNT;?NEn6@^pr-TQbKjK~q&>J4cV_H^q>#uJ<$ zFNj$J|E$T0hB@fnU7k=Nj>1xGyxX+mCRUPkJ$6?hg@uW8jATzya2egN-(dEF8!I4j zfOm9B0@P8p!I%zw#$sV8|?s{RJCQLKSxwGbw#rJA)a*{bXm`$oAfPr1%cg>8;u@a+XvZNfN<1;2C zO3{_W-x(4OrLCaqDST35S|(wP4tY6UOhs{!u3z#*k6yu$?#LRNvxH+y+{*PUNksn~ zVmvHn^}|495%zPABSG5MfQHYd;(l_ROX9;AMzRQ$|NVfQ!P5a;bQ7Y6=LA;YsZ@gpj(0K{yO;s`vpeh58{!mJB!7(c*L^X z-Q>WtZvWXH3o*TfbSWAF+9MgJM>s&&ln6HgLEx_&-nY*$RK#PkLc~ElkO*m z0G5ABM18-Y5iNYMABQv*j9SO_RvT;TJQVyJdiDv%1W=+wQ2{nsHJ!d0=gyJ12P1?W z{BvBN!7PUXFt;=Y>RB?sy8+7x7Gm0TBYxhv=3(W@93c5r}3!Z&4oM+0%mr?4ean?zLlPD$&nDelV+TH zKIMK^aYm`dM}$|JG}A1RBN0sy}o%OXDy4)o}) zBm%1rCZ<`VyB;Nj=3<6)GNr>uySHcF<`vIrB!xmr$~;Y7SXk0+1Bp z`T@MlxU0q)Js9xJO|^=-{B*Jcf1})o6aW_v(zP$~!VLp;unuR}wq5xaO?9esh8fAm zwr*c7^ILPW(~i&e@N|?~ibLxfbCn6Xs}XYK^vRt!B{XP@<`%!ip6$)_OtT1Ta(NM8~}+34D2I@aDc z>B<>dSs1N4D=W6`rP^kSsU!kumRE->ot!id~buqG`=;awQd_Va6Omn^({ zu>9J(Mdh{UuBKf)-LuJ~EbWU8p5wZD-t)ANld{-yIyO6{#+ z*-SY<7L!@Kit=^>Zv#=-Xq3?4$s8lg)ZEFQ?n7gjmEJ0utQD5{Ea|BMuE=yEn`quN zWHs6ga#a@sii*9@3y3i)oB1VeSLch_?cw&t?az?_us;u%DQ=n`moIiTXxNKu`>8m* zrY^*w6a-DK^8Ye?T@XK``H;iU1#t;Mm8EuJ^s#ALn3?{;oaeK&`V7>&mT6K@-Ge3Y zu(X%4)GK(7B~QFx`g!vT!Agn9kE>3yMw>K*PopTY}Sb)EyexEj>qwT zBkLAS>tzH07Q}zUlDnCX|9kr6(L?;-SDF9y3oLucaoIF+PwGCxVB zT9N@5k#l<{XqN?FYeTQ&rhINhxv51Kdqr?E0!vEqULDVs$DBq~W89^HD#yH6FtzdtTUzCh)kMt>QMief&7c>;XuGlCB-lsU zRPH#JSPiWDT2b+hv*z)^uO~0wRx9;!-0rkaItT6cS?lLF?Pir~AI-C~(=&aw52@0J zpf{Qe7g9-dMI{Ywy_{HZK2s%-yh0$JvKUAa3CRoOya@iqtp9;^+Yzo(_nZG^>+z!} zTbcYXn-BTle-H8husUL@VAwK@Fu@B=4e9nqQ&9g@XPjHNQEolnCMtykMn8=`>u}At z%Ky#e!H8#vY>1$_k$_pEV{C@Nx%UjL9y`7rOh;k7&^kb%15@<_Uuu404Pco$z~nC? z^dhl1110p@r_&vIy{pxp6xJp_hb7FQ&v(emZ}gW>h7wMcR(MrTgO&gjHKDMul?IkK zrhJw1(l@v3ORsA zIf{y;5YUYvF*Fp+$Y{k#?-gy(tlL!3`An%~mbT$5EVsBf$; zpsL#tOXfNU_RjfXPaU#H=L6uj5rlUmJAgHvrJCQnFi^+UZ-dc=L1+}og)zSC#La5- zRhceQ(u*E}VxWKfR2cx3mn4i>GPpqGxZg4<`3)@4z5NR#r{RTB3O9Li!4tkx--v~T zoOtNu#`Z5LCe#P`jx4L=)JV|I<{gR@kQv5eCO*$ZaOi|1JHi!293=h1V1h6nl^pRb z3ktz5jVa7P+TDfa&vOU+`(-{#*bfx-ieI5+z)3Do*1e4}uMnynj@!A0xeVm{6aSf* z!(ssY&h@;rJ^>;on!?vo9!D&4(j&g9b#dH&MrAxFpCL#bq2bql;00!mFeQzXa=exJ+@r!U6~?kNz6bGw?LLjO=VipK%IdU zX4fv3lEj&VqJ3UstzaSvcQ*_qo+)HRH-0Cc0Z(XpK!fSPd>}4 zj;hQg!ZNL=@li#;&@5g!S}~IvP+nRN9<+oW z8F`qtlP9<*%)y=*X~;&+ED=8id!r)i^ySV{#HGrdDQB96d7XOP(H%>iIWADda<`O; z_sV85OAI%S3CG_wg_C29lc~R|N;6T`NLKCewa#kDc|lD@zQ1h0I*!RG!FF1jwK6Q{&OO;#$b4|(#AaF@k>!4F<;&7DRL-BbNM!Cqv!$}cl|Vn6Auf%v zQp%&`aQ8h{4w6pwKo7R z(;au{xKlE)`S-Tp$55EihIQ=WR<+TSZ z0bn$+uRVL@3~Vxl-jyI!&o&#i=JV$mDF3$AZnoO0HZ6*+10$ZKqR;vw*l{T1PyXHJ z53vd8W6%Wy5_tB+#$yw5Ihx+s_UMBJV?Zp+T_+zr7vm`~1x@JNS68st8E}$nKL|7vn8XwwY*P!Ju;qRdhAA&iC>CRan@ITN~-pCsu91?o= z2b6^xDb2F2+KcATXKz}6RlPL>@(OcN&?D12>Opv7U3(ZU1Eh9Aeg-&zrF+}19l+=` z-!@6>{0&%+PY&< zc62mwU=DgAO3uqWYcz$=;nn~B@BjRdfBtV2{u?U$utbcVp6~Un3Fty}kLf!gG4=;K z&91%CK+F|bx@k-ge9>oQRN~~L8s;{5^X5$T7KCh+)(H;n_R@DiAJT;AR5(M-0(Av* z4d`~D{}acCX=u|)?BefNxK@Aw!#rRjXO67^L>eWs7n&6?ehiYPM)!pciuZC#=UaJr zPin1`m#1%zR4*TG5>U|Lv}-HA-L2n#Y;US#xh!znYSsv-y96o*G-9qyAf?0WUN4-=1te_CmqTQA*8{;=XQ!eiZk`)GwQYC4#+Z*>;6XapA5qH{Php1B{|rlpR9z6GnkY zffSBpgKgOq=gRQrVwE_dJth}x>G+*W8(DeNcYgS?`Rd@jV&oG0>a9rN+c`W%BdvW; z5llRQ2?NLDR{D+N=Z;d!ZX)qwwPYM2lh<`VOZ4{$g>i%oz$%B61L$7k23)bRBBK~7tE`23y@wd&hpHI)5otFnEN5{=GS?XEX4!2b> z^TY-{Aw^LO(i!#G;-@dtjA0)_2i8Pu&GBBUm7MvyNX-ISBKj=_<((O=KBn&OgcdX` zM?zftP>VlpQVn^$cujs^25m01@kKPf)85m=QTq?Y4b~}y{AvqP3mR0TJZ(Q002xBU zP@{9(;1Dns2z#Esz6Bym+vm-(?Npom-11z!cw>>R%;r|UR>-88N1wpfC;*+V z5k9%ex&WUqfpR0g5K4d}tkaSxAnAlLR_46n*l{~vuQ&CBqK4LO+%Qu9m6(V71>{<$ zo9AGJ!nUz>f>%ZDziB(2waZ#UM&6mg8(WFUW?9DYcxY*WlX^xgdvV;~ObSk(BGlRu z$|nHHttTTdU(f4{=>-?neLOpbESfX_}(Szhz=&T;ePMf)Xa!mX##8-8*py=-jD zDWy`!$Mnvp!Vz-U^R9yO$Hz(SH&gyF%EKOPu=~F4Mu{O=Hj;p5kf*6W1A^HPgQ=+N zlu*wZo~_5H2Q>jZWA18j=ztyMOSNUoV8fp6sd{x>^rK&W_nyTbSXhb{o5ywOe4n0h zM5i0{QR=d<9MKewe6t?C^i#}!5fxVUjtHNXxew;&z!zx!DYGtgN^&Vb2dIKso z?|#B+lijOEW7~LNpZE?I8dRH&^sr4kEIM@K#L)MRcvR*rnVOmpPJ9|-32~TBWIn&7 zq-F#Xl-vMTA?)4z)Hz;FhDS+EP{+PY&{s%QN*k7>%ZT(Re! zZ(mp9cHG&_%#Qnjt30^RtkU)C2cmaU94t6 zBOs=}%@jDpg75GdPW&oedS6TCKTNFlyoD6|wkCfm2mCOtn83*%Pr^HFPzsyK&x|$9 zt{GycQpZ&K<>dQyVk)9Kp6#1!-_FwMI{B?+*#z=w9t724C-b3=%T^zDzOIdk&x>FT zZO^!~gT>-jwl)Q{!y1*)WT$KS%V4>h&a5b7_R*0|ZH8Hx0DlV?8@@#r%rOz9DXgV$ z%TlN=Kllu*gdo8BzM-OG;;@c{`{G_6oM)5agxI~IM=lH)g$v^^&-RUP=cAtMm4xD% zIIAXfWv;C$8_|C{qLwqo2hlP9qWb`q(!^PdSXz>!f+=eYC6Qq-NQB{55HJ&x*}>(> zCM%5a_Zu64$i~J}hLxjJJgCG3BuxESCIEdQ1IlrdQD4+3qC-}NF~r#(SLc-`?H{lN zFL}04>-5rA^NzAwb;a*BazOJlYnmkGK!Lrf`;tnA3|jF2Ge}5P#&8*;u6Maa&qY&K zwphQ+Dicm1i=P{U8?()g98m{&bX{8-%9z(7w#?Vj-WN%bL3MNUe329x-bA=YCEHmgQ1xL>A^lDu!G$?Hg&yeK(I_%K&&b0dJa5CP|H|RBEfk_Jz zZbhM5FOrtuu^<#_K2YW5l^-Zqj;gT>>Q<+N%N)vF82f2xkyF`5V2Ap*`&*ln+ueHd znZ9-4jhud7^Ll>Y^(3LoRM-`k)vAyZ^p#b~dMFk2G>+E1ihA)_QK_hkR$-H`N|S#9 z(w1*j#^bt9s4s4jEL8=U7J|<*zF7qwA-e3%R;C5LVoWqqk9+K(oH&vwnsi;uFPL%> z;JBG!>P(xw!t(%1F##gr9iWHX1#t+l{LStR{AUc6_>b1udNuor+Sz12KeC$(xulxrh;2qEaRsmqQTc?kuk;s`Ol?)i(>&S7h$SwZ=4lm>b7+e@UGd{hY z68O~b?@%by0uiht4XE-=N*0O)QWmMYq|sgq4)OxwP*YY^!goW?YMUT8QH!V}-&CcY+yX~elV)#6n~zzUbiGV^c2qqArQP4UvHXVGnXY#p~Rf(<*KTY7xi zXQjtB#ry~W&5^#gm;o-eSXY*VYLZY|cf>NVG|9MdNp|(FP(StxOOQ0|p-OMu84^dQLDP(agBCrUeTcx=ch#>+yr~-X58* z;NOjU{g>^-di|(PY>)bNQ0ME}W2eyWbzQ+sCc*HeniptPbq(lsQGGSW07Cy%9?fW8L#vVG@+-6ztk0vR}Ix7vRr|3a{yv15%eZh#nFpL~QTmJ9!M zF}RA1t%pAvhF>HjJ%S9Rd418K4uIJ7<;SNTVp+$^8uKd{8 z{>weh6WV7<#mf-;TI5Yf>pHo#MuGi%Bspgq2-*cj2`(&R;Snj0s*^MUYjz6VlpsrV zLd+Mf=YRgu;&%R_H=a!4i)*`HKRIn5v|Fbqx<3q90TdFC4eH7?zqSN|h!u6KiFO!Y>X^DfAqQFCYtU zXBB!efuxKVn-HZAw-I;haH*6wEb=$8J5CTx?edFkC7bs1S+w(8OC>bh9L7=vea5w8 z;yc$?Xo~@j(rydxc(k+v#tQ%TX{~T7h~}*2onw#ssDHX6uXoiMIM=rOtc09O0tVcP zP{ABD>tr(RI(?R8W}O6gf%qc_xv(#P%fFfd#W20-^0^mb2r#S>O_ftPr&CR<;33U; z#0CHN5W%~c_}^QHWj$F&1aLwAug2EXbo}q*#`g9@{O?zo|La$tJg0mG2z~ag(iy!X z*`-On)@DnKP`Nk+%bqap-eI<+X#S|PN7A$jqKPt_tJ0#2gEcQ$U0rVEMT-vi%XO4) zxmz%`>S91H40;8#JK3i-9Y#(UzTF~S$ED$?Ln|QR&?cAOXyo1ClZo%q<<@a8sm%^( z?a)h{U9^)K6!>r8jct}FDf9>@kXP77f@pn@YsVr2kJ@gXe!p9v(3>AY3i=N0zP6 z`6!jBSA7OJJKw2JF`RYXC)vU%Kh|*dg1Hqp^5IHY*^~;DfNW zcr<=2g+`uuUD@`e(;ZpvRbnz_Ugk-2rm?oD04q+ovvbO}+B-WZr#~Mboc#4XNr%{p zCnuK*C(RTsh0*4$omOIm$VuseaptoEB`^vTTG!dd(x4Nx)i~_#9pO;c#dkMDr#D19 z4UIegGWxe`53Os*oBCj_-Q8GswX*!u3j|he>A2Hz7xZuzn*6qy6LM=MUsK?6N3$xh zYPjXGB$##s(ADVHt6F%pjf#;_d^D$|s?o@0Y)K?^6PT7}n-9GixuhSl(6{ZRb0C8r zuzhN+sGVZ#c}`!i6Lpe)Ld^J8eh+xEJRMl(k}<+As-OfE+#iqhBS*_yIpJN0T7*$& zGD4Xq#S)bHWX@TpLLqmKl|n#0!;acVZx4=JNAqDf6NB`_bYuB0v{L9n@us*>(XxuN z`Q_m3q;>M5JTD}4atA06na!EHt3rL2(Y9-KM|QtsO+#;Ng_Z&>q=#XaZv3nOXs_|e zEd>x876M~w%FDrHZHqwC4N@t9v}GYUuZKC*%K>CMAozj;M8?`p7O{#3z4@i0-19Ro`oqI7XqDF;jkP;Y*`G>qu0(QA+p9r zKtGI}ZYhA+PzMZqa=FdqO~c7FnIXLmzz*?PjX~sAmDD=1sAOL&mzC%EWKO7=wXqDQ zDhBZ5yFwF@F7R)gXXmZc6Fn%{pJ^dIcW&Wz4C&;}D_uoodR2mn=K)CP(zd9dQc)Q; zBwMsCu!gurP{njuTrIBX{2yn|l5PMB&i|i2deTUr|37;C_~HEji$4D!Pw;N9)Sd8a z5UqQ?5Dq+RB3%a0S-A=G?PF;jMNu1kylT?^cADB@URRrRKK?TKx5(Kipe)jrzW~tJ)QB_+-ZI?jL z)Vdoqc3S-dw|@eoj1FP=fM0X>VW;A_HN1U>iRs(5o;Nl%6=BQNmg@{HyemZK z{p|P%jSpRjlicTk2eC#YjvcKA#d}B3Tc-yw6aAB@q-73Oe|i_S+L-#z>e`->3)FaT zYAT8r$*MW9!&jC&y|k#Kua9gD&Y){p(P+{h{QlkMdu_o^vvtI|f9wQd^hM)+UYXUH zkz31Uq#Nw~iOJ|rF0e0`eR9dMyw0S8Cpu0P;5r+VvieZQIGUOT=xH<=V7-}(Hf@k# zVOk?7oLA@%DvHeldP^v`g=mxQ`9(wUIY!$m_-pAB?Yx$#M=M!R6Oe;P8S4^(U%2#opl@lM9+NTCrvliuiyPR?{*^ zfz8b7rtf<`dV{3OjzyzmV1GNI6OL>n>rs+!ZN{xlnn@AQ~6Q1KT2UV-pKD$^q;@dqccf^IYne;nHnV-*e3nf}uAZ^)byL(h=y8FkQyVQWJY@xs6oY zo<|Qxiw3pSR(7WGUCubl!zl2}9ZZ>zr5IR-bFPPH0ST<4%{yIC&7p1eZQrChRl&gK zFjE*Z{nWmj*gEx;p|#Ed7kQhpiyScq)bkt>37s*f@V2G_7U+fH7>q^QDIy%4=v(n6 z_eqbu=M!))ecMJ!zVv)5&Eg|=y24}609YSK^&eB)zavgqBjlH%%|>5tC_Z)=+;wP5 zSj}zd$-4$|aKeDF;Ix1{X`x8*%Z6y>hOVgN7RT5O__QDgDsn?aWoS(%wj0!9|G~}8 z8Y3|t5!H%Dhq_VQG}ok7R99yt!e9euL^DIvjRazMHx1(w9y1tG1Z)gWs5wb7vp(zW zGo8$=&{Ia>gcZi)-1qDN=Oh?p$zi6wBt(r3A~sso(w{nuRFYPYjLa8@ELu)AucHG- zjUvrX97au~c{&ljYQjWysohKD5sfX`Gjc2eL&Trpb?}}pF+6>1?C(Mk{v9SL-zr8h^w(hPTm|JljxTBn-yxX zfO!bY(e0104d~;E4|B;Mq1Wp-sTsp+12NP}Oc$CdZnx|8@Ah{m`@h(u9u11}c$T#h zboxEUJMGq4n>tS|hqhQo{*8K_ts!-q%H>^%H5Ep%aIF5sLV3-DpAV0k&tJT3{p(+k zU!9!3{U4#h?nPDg9P7RP`Z=9NkWboyVAZooJ1WBO8MOQRs_*{1fPZwL_KNjT^@`_=3fR&#A+xaz>Y=Okm39-b*ZJGUvaJ6E0tYzTBE z*o5BMXE6W0{kH?PTEc6;lO})xFv)q;7N~Lcsq0P zz;|`tQNgf}$RXncEvw!Za>Y>FtRYykHbcVJ325mep&up18J-FW4M&0NcrzMc~Tsrd_-czV9P$iCvu1Cwo zOmW3}%5O9ohp|M`$6(w3hA87<;^=f!4pHt9>$ov|urX`$e6Hj33Os-5R5&AOLfZjo zM~lZ_SmqmLjsTBUeW-#UHGbOr!nlQxd!_dY)d?7K@)UN-24IgqN5=} z)fN{)QfP!7o;y&0$UDpR&eQzJyT``{;$mQURdd?~!bD$L*>Q1&cr@FkQFfTk|Fv0w zjqyc`p(2e|{sEGNd4bYSua4@{SRGoOGu%NdID?;buY7X!+2IWg`D_4bnx1|iy?1Wq zb#T$yC)Ft2w$-L&=gus?y!EPI$~`%5vQ%{*ZPUnO`jeTbuz=`ErU?Y}*>f0kB+0;L zP^1c5T3WzbUsv|yw{`yAokT@$DUn?bb+iSQ>!k7AEh8)DM zk{o+hfF*k=Uazm3Wk3l+=NlPiGL>8}s=da&BaUmi&1)WlpMDC#zs*Ek#s)NZR6aYe zh^P6pmv1P>_cJ!;66);e?1e`@o>6r77Mo7dRycDd=BU81YiGEuELC=%;Z%%_4X9%2 zqVsXNt_xOD*3SYlya8DS{GcmPKxe91LPvYNkG z!gP~T8IBtO*Wv8=;XVa%DpzwcwmI-sl}o|e+95fkrSn}JJ*zr2r2;b{iJaZH=l8Vu zt&YZHQ<19Ty>s3T`my7YpG8g!;z1g2UIJD_pN!HHQ^#l(G5gonXuWvM2Z=q}TnXbL zt!j)WlGEFS&=a3|lqRUhKGQk$fsRomKzCa6oIrLDo5%Zfa(Q+LU^WVtmp!e%##GESNfyI(i}{QyU9My7SNujl-u z3GS~cYgM<=tKj216!o+b#`UBng7zSVA42p!Yrpd{eKw@bhRSFFHP<-6WF55B)TAB1 z&vcgePNtxCAF~49nJB%rI1BylMi1; z3f-iGZkv+JGu7vew1$*TDP{+up^c|fjO2Sr=6R?$@4%klZLjEM`w}y4!z#<#0={39 z&+L&?g}7h=;f*xc`kw07FlUlWB`_zbdk`(X>+l$^pg!5toko5$=><${a+2I6(|)M+ zI+0gA=j)78jMzI_H@~2^?8fkXtHWG2SjOR!QoirOiQb%KR+zt`p{@x_5y3i!?$#k4 zn;^+R)O%T0PL*$^^ryg>P?8Fz2mCzT1RJr~qqp zRbnV;()r~5;%GsWoLhvjvtPr~|7-%3qrej&5Qs*j2L<2h9tOp;9QS_WuL@YBZLJ;M zJf670ye*$N!B9Sbb@{JH#Et;~0O${UjDNLa02~0p#UeB>buPBv z+e^bo%MmD6eu)G<<0|ft@Y@=8VN70SzA#o zlpJr(p_UserData)); - }; - -- NCursesUserForm (NCursesFormField Fields[], -+ NCursesUserForm (NCursesFormField* Fields[], - int nlines, - int ncols, - int begin_y = 0, ---- a/c++/cursesm.h.orig 2011-07-23 10:05:50.000000000 +0200 -+++ b/c++/cursesm.h 2011-07-23 10:06:46.000000000 +0200 -@@ -635,7 +635,7 @@ - } - - public: -- NCursesUserMenu (NCursesMenuItem Items[], -+ NCursesUserMenu (NCursesMenuItem* Items[], - const T* p_UserData = STATIC_CAST(T*)(0), - bool with_frame=FALSE, - bool autoDelete_Items=FALSE) -@@ -644,7 +644,7 @@ - set_user (const_cast(p_UserData)); - }; - -- NCursesUserMenu (NCursesMenuItem Items[], -+ NCursesUserMenu (NCursesMenuItem* Items[], - int nlines, - int ncols, - int begin_y = 0, diff --git a/patches/nokogiri-1.5.6.gem b/patches/nokogiri-1.5.6.gem deleted file mode 100644 index 80c3f7bf020ddc6694bc3a2921514541700fd509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218112 zcmeEtV~l1|v}M_5mu=g&ZQHhO+je)^wr$%+SAAtnzxO7YN#^(9$Lv36-+gax_DN2% z*IGHt&dk-w)X3F{-ohK`e^)RvGP1L>5(52OIoR3$b7f@yujhXyMm82!X2SnS{(BHI zGO;i*vH%e>{_kq&fBvtVi>s0Izt%jgZT{!-|C0av%-sBcss4|`e>MMKn`2}o{2wp= z-_8hPpnx2278HR%hjq4`w>r`N)->w<&+Uk{lNlP=mRKI7c%>{*C`>ByO5GwrlM*8{ zNmYSd%lMzRx`3s-?E{-l2ntdtNmmCU>K!+5kXZ2(diJ7x8~Bc62v}7gUs&_z99CIP zWiU`iJWu18lNUQO9(a0}T}hW@3I_Ue6x(=~dvT zLC5uO<75}lnf2kzepS)8s8@8nSS+zhs%^0?`{FP7WZ$mR0!N$L`Gq559q^QBbFc98M;J4q2R zS|%uoB{+#C6zDIcn$c>y6ln_YH0F1=S1-A=)dIi`!}&9?6+W{BMA-Pf@Z-?a_=cXJ zpaEZd42T+SV_^ru#fP)ihxzod=CI`=IhyO@cp~j6K({r zUej*-)iqU^Uu@-_(x;!#i1pg zlbV7)#|jUT?(e)^Ol`Re9gse%n)63pmks@BS)Y(B0p8J5RvR8-s^P&kYDr(#9^;2! z5AH5r{#{%j0QbkMjRIbBzGN?gUjO&k$&YdYd-~p<;L`D~a?;{K9aN&Kd%ip3la0x( zt+$Zw8T+FBR8t)Xsi;Ztw9V}3DhUi)BkLjnII~v=JSzQtj5k=Tml;T#}j;jR^Et9 zm|jW4u~+FnZ&Af_)sqtx_KPsP><3@)FdLokfynYuveVG8bCCi7&Q6gGz4~$lqNIEg zihncDn^)7KE5Ro>p-v)k(eI>kly~ye35@2>5}g!D4%TV(AZ>ICt`jHB9m?#BUAn~s zfMWvQpv-tv83RT(xnv<`tl`A7_^y9@yLZ6b!=uj+$u zqXYJuMd5>yl*UXzCSnOCh3uVl;-0^wpeRw%C0oF$Or+`THWJnhsm5X2Onx_=9jMFN z$cfxE+FHjkljbl18OjR{4S`WWu^2hUI#nnMWz;tg(hg}s>+}mW5t1L|T`NB$wh{~D z4?KlzpCT=;Hi*fg%-;QVE6By*jWyyv%5+C{mb0Y`H6vMO!TmkKTqTNsNb(1J7_`%^ zfB!rOX8$%Yy@nRN5(+X>86#xnvjLu@V+Ji%Dr_GEXOmm!IGVfKl($i`CP^?mN~6Z2 zm!F*@$H!BD!S&@eht6fK;Na#kra=51{Mo+K`rh*qaCo^h0_fU*|9d)h_9tg5C-^Vl ztBxap%QN8Z;&kd{i`Z_Uv9au(%|Z$-k<=DS* zc}&AwMqUF4$rZyw_G|8So!usqE9FjgZw?u{;8vifCg&vb{HhAvaOK0Q2y^>``C6Ua z{ndDIb4)v$wjzFcrO$Zt>%LX$Wyj6|sId7LS>`Yd5E~{;QGyWM$a&^!yA`1+-N}v3&7vOQHeQ7Q_gQ65I`XbGuCsD?Sqw55WjR zoaQz{z^WUt)?s(H2V1=As57y`MxF-Z)BHaDV|D)76Q?w5!`I$ zb~pH#MlK)N(NR9cHk`ig{H@n$!6O0vdJf+Vo+{SB(W;f%#{F~wZXf9H7Om^ zJ~+~YEi_w$t$VTsdmUF0Z+38fZMQH>x>!<>ECigB#DEkBveW8J52@(qozNOJvam0h z6O+2o>b}5pYo>GWfQXH{2tGLL`&OGK`Jg1L_gMGmMxC)N`kZa#T9v!ZbX%#1?Jm7f zJUWp{=l4EjN@N_&Rc5kQul4|FFlD3e`@TcHDQp)_6c$05%aoY%lOc~!hC01&9yVvY zUYAt#d68#*;Xt^VQL+T9>Y57DaQ^+JGRDs{GZCzLD>>^g<6pU5f z13E*m;RAEFkOYh=?6Ou*Ztlq7#W3kyRd0E)erp@S`E&ifm)aTtn_^uFIzgAnTm;gmO!ji>!A)wiu(EzWDwa{X7Ydbl z3+%&FMA5XJP0LP0Ul~ppd~4^)y>!RaHNqJ>Z0QJ2t}eJ9qn<}pjL=lwmC-iSO=>*1 zQu4#HJLS4LF8q>ngxrKeQsUqe4*8(D_!VP4w;=B6cgB{;JXc5#So(-6qnK^l60VRD z*kw8Ab*fJ&dH6MuHkgF(t|^Ag&PK6$T8o>?MHypt zi)Z$JOQu4HDldGx7lykljg%|u;^FoHZ3Vp8G^PuaLeZZ3`*))9)teDXG9DRiY1XoV z;-$e=HJ9n)yNI}EL>cRw_^JMA?c+2@){&ER=J$l+7wqUxS)O29MWN7mk3t-X-x;an z=X;f#Qk9onm5WrBQ;vN35W-1o zMh=@5$AO_Uqcz4KpWbfdQj21$n$DpmyRvj6civ>%vYv-1L;N_?{Blv- zfbZbdf$`YOOB_IN;Q`UrF(IOf){%EekPy)bD5mh1vB^VlI@@_0oQii(Kaj%q*)%~{ z^h@Ui@KiS&^Cc_+H~&8H>@2byAR-{dn4xP57md695Ids+ABAxI$9)Rm^0oH z3lZ2uFZ3=2zw>0s-AbXorbR9Y@|KLCb>ge4$F7YBriY*bfa}Ozp?GUF-cv+5*z>2#lxj2z?pvIAB%968;X1@0M z+J$_x{tUL+`>fSo{>EToIs5DD#0;a>_3XB@wrK;8hl?w~$n5?qc-o%#;G+L*@cj_L z&CUJp?M?gH)>oJDeRF=e$HUFd+#*4NH2$dE=EPWsYX@RQ2%XHpsEq@yS7GcOw+-f> zKL+Y+x9V%(ntC6#o$n%UfSVbQfJ!~@7VQq*8edgCtrmB{i<|b$%A~a$K(?h(zecxC zUB9kY)nCW`ldHlIuMyV8Yiw^p_%Rcg*L=F<+=tP9ALF!qM_BRi)JF0Z`tP)yoQ&Qg zWc``Vx6jx-y}*2e?T;$=)1%U&?*yI3on%-MI!`hMaqJi8+1g+|X9dnBtvbcvhi9z? zHvK=f`W0e+GB%+PhCTB)n2e4s&Y<7B-B02-S5qx28Ab;yD+CuqDz8Q-x^4hlHvpP^ zp)*S(j*sQ*W|&LM(phV7_v8H{&;7#}!QLPB-Qe1q6tON=hn3s>v7XO+_ZH{g=Z69t zOnD;?nzYMH1E-3$TGcgsb&bAJuYoavoj>aGWC-nl`fMB)(|JL81R!_>u8v)@(viR{ zHS|51I#FBJ3_{peWwiK}RJ{~BH@O3zPTvs!q`my?PE5Cl zJqNe#&vf+KsA=?}LJg^CwSBWuo@@uJ)%5?Wc)+qBKI1g81;KfE4#6?d(AXQ0>U$Vj z4O_#>mHe`_ix2yw9Z=Hx5L8|I7hwjVZAxropsrE3IG6FqhH;zY)%3>XwYBwOAw*%7 zz+t`>HJ$*-QAfs}-vQmPO|en>G2U(Z0T`UNE3s)b5BzR_xrj+78)9{l_d3_%NCJqZ zFOPDL)*>6Jqkw8|rjr7=18Z@GU)_E|8OVbH>3F-gR&NM>UK~FMH%IxbEhw??nJi@O zbcLpc<8~SE5w7PlRYwy{kvGg~y zVVBxp+C8e%puhbIBdy&ogA+PrXQmU>K!MuxRmI33em)34GeFjW7iw(bVd&Fu%*>0g ztuyw%Z@9Axxr24nG%S(%=D-KBo`+(xa50WtZHi$1S?BMc<564sEmcQ;WrZ3NA z!mSQxe`g!nvhv#UwB%0o3roC_m1W>8B>m>*|YzXGJ0}A8Sp}%WMF4sUi z6^$%?BNFenW@0ipN0cK+dnx;6U#?Y$Bq2d1i0z0IwqXcB;gc(D5F ztzOr|-X@#o_1t`slxCLdV*cS`b&~J|9i76yKX(|d(bZQ$t*XY{LXoZpr_T;HUVyu! zt*fW^`TqX!{`~Uz@YDEksF<8#ZQb6_o9)dd+2)B(GZw+3%Lad@#o6vFZxI<2!eHXv zADfKdf7&9E`i<-??W5|0c@Qj|_@lV>S9yX%o<>{wwk@)?se3_6#HdO3eK&ER1}N6r zYWYD-K2r7pkymNHHh(>0=p|ufm@EN#)sUrQf1{_v*3jcv+Yc|b;`p%}+w{M{3~KU9 zqWp1zA6D89ZbBI7%bH^I`4&VZFGfj~$Krut!`|$^PC(6nM-%>us;!;euqhqg*egB? zm;zes&FAbSb|{*$3tzCd;I}|s}Nf8-jA z5Ynm~EHc9;@*Ww7pZ-k*ydb=j?0}gzAB<*swUfZEpqIEpHs7AJnxcSmThmiT)HBd* zh;Uz_JI>W)KQN&cBX6}krNwZPH>hjn-^K=8UA}(`IlA+yxQh@B)dZU9^@AWQNjX#d z&9{)}?|DHB9M#Va-Cr;tv{(8V5E6(iIS8K$qkcD_N}$gjms)S1A85y8ah=O{b&5xG z2Bx(~m(Ckdft~|qZ#TC~nN%3C8MO++Fzp>f$kNGTk3UXaGe@81>rt*d7~hodAkqiS zJkGaZFCJ0|*C@8|tTfyzzwX5mAvk*|IuOz;6K_!esIHg~os05UFI6hMBD|<=H{YM| z)Q6jgV26UqZiF{-u8Zt_2ciMre>}u8@bN18@ICPibcX6Aql)L>@PJ>Xro+UW%4s>3 ziShCkbQHsL^^l-Y89$w3bgfNQae+K;>UOTuOpjVm2kJV3P{(p5(f3`21dL~?<1o(P z1d2R~ul?zL&I@4ZDwI!34JOnFBZ@-^X)Dyt-U)HxydAQrsV8a9iRqO&TLe|kv9#_f ztopjS-3sXPIdJgU3ns7@_HhTUd3LYN&2w1chJ~6ODL%`v zyx)U~6M zccXQD{vpn2t1dw`;lxrBN#w0v#FZyP7h{SL1xn69y}*ltyMmy&y}Ek?XX(V7g&HfK zqc6dSWQAZuv!O70`r2|Btzg%mJxlNeGa{jALSRy(AvXWZf5Rp|qEcP!N9~%3u3D^H zBlyth?q#nZwbCWT`q#OVYtCB`&ZCWd9$nX^t%DqCI9|RLULGMXUYj&F8|2Z7jtHmP zSZ@lqF{MEvQMGT1C)mz(eV32d*1;lUBoA12r_YbPSIIMfEh=WGIiBv6;wD96a^Mr0 z6oS7N5{dULmsgh_FW(PB1FO{jxOSJnRNar*4v&Nk$KvH= z**P=-ZG=1zMQG#3A+_CiH_=IvghSh|RztQ(`-(DDPB;p0DskCKry1>c`5!?rik%Hq zp8OQ+!}N4^x{-@IDzEFtqLKOq!mPdlBrzc2Vm*1q;G2z<&{U9;mth6Jxwdb$jT(Zh;ZOPB*%)=2077LeA#&Y58RdF4T4S^Iz zO0;_L4m$a7G$Z(YO7QF>(@pr=pEpk1JQBO%sCxE{_m@+(Q|W*Wl5iBJPNN!4q+9SR zLjlMyw|D0VTnY-@X9EVPTyyef1M65#i`&im);5o@E(`-M7~!lp@dun2t&ZG(Ebx8b z@N@w9+ppG-Jsd67JAz3CED~Hi^?>U>Lq(2=%eKqX|1JpZ5)g9&v$x!^>hIC@Q~8K>(Pb z0`gm?yhw8(N{IjN^hLZZ)3cFi>$ic7JvTkR$}BtE+{|8&QXy+wm&I0XGIKJr8)b_$47rKQ3)mun?`X zhnbBoX(xrGO3czBm5slVDKs~H*2cc~iMygJiq7df69%8>ROWoW9tqfAS+nuz6B9!! z_qaOS?4c>*-+&yJ7!4So)iYZ z=9)Dxv9Nv%!OEW0kN?xwc!VmU$m2S+39ZakXuJy@oVPlETq;%@QD;g1qFwV7xM$Fk zZ{3n#f63&fVW2@_tgPWdo@AR3q-Qqm6l#l*ELC=(JnNdkZ3|Pbp%=Qi`P^SuPHa8I+sPyhfy5fs}Dfl*Dc32s| z!3zTTsn?Xw>l=i|Rg$QAb>h-^wy4&s1LDUbh21jGpX)9Z#-TDF65)Mg{uRC_P#gOu zkfMcvofy*R1oE-|!V`_zVx zIM%$M3UfFdsPA_XXfttp82jZ7smSlfzn+!`>nRr$=TX^);oTsP>a5EQI`o_2^*GG) zzw4xOZ(*cNF%!pY<7aDI<8NEzd*tL$5td-FEz|9wV%=K7mq{qOwfdR5LLqR?U_fn4 zFz`3b4asXo3U}n1>$+%A5!R@NfXQwlxVtqf?@!Ad*!w=u2R0SL13s}@0oTDwqBUJB zlKn<(wer?x$HI*>gE2!-Vp?{rXs5#5K`wV{*uj2-{5}r@aW06x<|OY}tx8m3 zSIiBUO|I4j$wklMr-$1C;jQMAdd=d2yWV9e(tLIPPy2raK5y*9Mpxky2nDHfi{@vz z@2m{D1F0xo3`HJk{%$34%jRFAw*-^~+J^PRk1KK?O@s1;^MO^aUE*&oLO}&ad5mj3 zB0$we5=!o)vN;2xl{e1hW%bG`_&C5qZP@b%=G|RE3E^Hav#1=BNm>P7c*@9Pn&Yy< z5Sv06FXchT0v+48fXp?*Haii?frOGWrwu*c?2v?RP5Oj!^-J$(AyflGQw$)YMrY`c z^YZ4uoPhkE{Aes3fK)K05G{E(Nn!7$w@4qw>c&mKYy0?!X>r{Vo>kw3F8^9!<)AN-6=e13j1E7pr4!a0T`)>;>M ze>jD?y-U0gZH$(rm`8*q(l3G+#oxy-gxK0Z(Qe9lq`z;=ONoF?XpV~&=t2eStn$*t z_-s1|ZwLNm=sGxh^jMkU9JmMk33Fi^cH`Le=u2OfLW&7LKl;fGik7?PY^AThzEd?! zO!zmOVfJ+wq!S$`nDEBdG9n;jTX^C#@uvCt@Z9Yirg7aMHQPxw^P^Q2}KJ9V9r_-%*l~Nb8|aE7tC3lNTF8% zrD46>FaUVVquFq7M_cpK(5MPEw9FqVom))P+wp6RJSa3@wr|)>jeQ-iam0M@@sCcO zo=jr3H6~-U{o~M9O96k)4j&?Mn5J&=DMs#He?O`1h7pM6)0Vy85A_BLziAV*rC$p` z1}Du5WV4(@u8$)i&eh|mGa9me z9K`kJ@GYYKsZ9-c$t>B<1MtK`0YgDQO1j8IRh=|K2NhJN&BgrB_ zFuP}6E(PT84gd_VE~@pVPc^QN$%wV{0vlQFFO4ejXGCaJRVXt1jI(g zV4!UV)>^s(;Y+(4%15L}ybb$W2-g0|9jRRy9_RV81h&gV0-sKgGgmEhbu>#j4obyTA;NcyFXl2uPgYl7{=D3E&nAy$@`U(Sz#gB^@|&H0)VhCD z)3M%Sth(4R5@ZKPvVBOHh^)yMc)fnFDAo*tZj7a}XJHGZcRm?JbbDj@9WcK;V)+2L zH4FI3Xe3w77ouZ(o(4Bq3=XQWkt6SHB7+dX%-M^(y7fQarZ#PCm;$6YC1NMnyPb#T zF#{y`&591uSq@XTmGS9B3Q(4RBuykf(bw}g2<2|_>#^bflA|{`C+O!b0c~f-2Cm;Q zYf!|#g0{XrC?GQQJl2B@AFGdJOpN+Nx48hYy{r_F4^>KEYziKUM$_3@xwse!`Cq+w zESrw*$`zqP8vM+lxZkHA6$o`n5_fzSe%Ds7-4ZXEf~e?mNmxH2S`MCm3A#M%fr+FT z>vVOFIFIDWXn=d-%l2A3?9{0D9&jC%B_u0TX6vAB@4;Cqn31SnrB1wJyvSzPUuID) zX$=-6KyCIZmsa&E;JtW%A52>0*zEE7-rz>~V^0Z^MPV#uv}VGiv<84K#RE;$m^7qw zE6>9jj2^L0$4WKHnnYQ1Pr^U(g~8dDCdaF2EQn%{vJxli4PyaMf1j|qKB)Ju^L|L( z(7QgBcrk#rXJEZoH-{wJ)TsvAD&s~EXLmbUTz$^96c`2JjNd_v>{n`>uywxf4Hkl; z85v6O3xYU)Z=d=Q{0Vds8g7TdxE5TB^}-^-=fHByI2gFOfxQq`C|k|}i2V-`PNw;f< zTUQNTwJ-&1(*UwO@25{bmL~u_NC0i6D`GIQ=n%hwpo_egz+wQIw+U=?iw?eQ+O#C} zjWEVMV&4AHVk#(0k>s#dgnM8?;PLu#odY)4?pA7b*JfeiF7>Jkk-`JNu%!3SX}c!q zD=s&^1}plK4M{3c@J>&_Ex0V*uCG67I1z>}htd$+am?D}M#Z1 zdja>(16tN(&JWSxA5TakRI`K>-Of$VGjo+BeqI*;#5YC+z}KG^jsVpd9tVWw4i1Pk z2AdF7n`EsTHv2G}v?=USW-iyC0Za=kXJ9n_ji%XKI?FWk&?@ZfqxZKH z#Yb~agrxF;frr&8IWE=Jc%0#-L%_p3c-3X~Iq+!Ly7+-QT-TJAaLv6c8ETQZ(s(%< z>bHB}*dcWrT+QCk{YW%8lNzW9Ay?N)HVj^MzeYcd=Q0GuEKhn?+H^=iFTHPC9FU=e zc6y=-l?;LJ19~;K+J*g_;Jal3OAxfbbL7Zc>KH=#6DGMO!x8yEqzZruI`l)> z+Z_&9THWHZF&c%{8E*zrSrBXcGD ztb6HgAOK$6W-Z8!=Uw=eOulBL_Zgp!Cfv?Sb~i95D`2hL;wd-DG8{=) z$)pm=xiHBzG!o`$%$H84>IW;%h)Iupi1VL#&C$H3R;F$%=Kx-N{k2_uKBeuQjGIN) zA{Uy^MEKy57U@jnXBfo}C-19eZMS)i1HKNWXE+Erf<)j=Ya&V1FmUatog#kGU!x?FOJ z)l#2UsZ>cX)ywih-(5oYYF$3%tq*uigxFp;ZmN-DJ%~!KR}l`3?MjD*YhFC5duU8T z!BRn@*B)Pmtb>|tq6kEgHLF-P;hI)25w#1wxjve2D63;HeynL%=keUH>oMgA7G@_7 z9>8BT|7JZmb+PUJ_h6{d>+XQd&5bmaGE@jq&{ZbpZfss%0-VKP`6nsc9mmZb&tDn4 z8@`V&DYkdG4c|kX4tVR(pyM~Sad|g4A6r|9-9WLtSB3BMH7TZyAo*L`qkS%2-Mhp`V+$aWsC5D(u6?D95T-nYG{FDGMHBZ>CtEDMUd?lk&^I zb4k-hmo^l|UAOM>9$!6pTd2)kQKNV^#@4kU0c#N zQB#3(zDZ1l*18-r|o*IzeIo*J@so08^;tOHZI=d7-xY+nR*l-Oe7N=s7o%SD+E( zX04t#h@Q>$&inV(uF8dF{!S5AGIqOR7n9Qrl3a6uUH0c`PC-Aep-2rVB(Ry>L+|W~ zHYK|B6m4t3<36k+EIa4D@A||k9r`IY2ND%cfi`K}(uTu7B;FT*b_AZ4x^ZpVKDyeu zId^CKec&S8Z)4qc42F>6yZMAD}$ zvqhHy_)H2+XJ5tqq&=#8seQl1_`Rh6wYqjn^fPf4pjaBjZ$nZ%mYPn_pGxtHUff%;YlUV@`HB*A z8=ye*#O%vzz%9z1xrN)4%bCJ{$X^E)YEzyS#B;KZaB)*DHed3i`b8yK-sO8sF^+fn za*c9oq}hlbzGx8WgOy#V&BuaNJb~@Gjntq7L8zIg!H@(u>*3)skrz7`iMA;|Bq07w zd%+0G`8eL?ysq4>8T_$xM99=Z6lf9z+)*f{!_JuVAY4OLzAJepjQ>P|FU9 z{DQW_J@*omLL`0OoXbGfD(*~okqOZR5fhmW%WzJP%3Ia)?0dHK!LAQmbl%O%_1KS< z?$v{0+-F|UR(D{C-dIx9g#6>q9g5pg9mCFpvC-CRAhAl;hC))Te{*YK zQ}K;5Q{JfWbA<30Si74|d6X03DiZefB5$7LmXWZ9LJxW%O`MEzityW2?cfU56s)U| z0jYAAR^2Mi8V?Z`?uBc-Nb7`{JYB15SoqANAJ@YT5Sm>q^hR#jO1YA(TEliF$_%eV z!1=au-ZG&f#{JtPYUk$xF0#avM)P{6vah7*6Gs2Hw>)tHqhvY=l9oq(C-Ya9zbo9q zU65#vhdDQko?rdlkco*U%5L}f_i3ICBEL^f>w7O#QURB_{@bCjLuT@~eX&wLoWiow z2?nCH$$tM1njtmGVGX=MN70J&k}f1@z#^n>dPl)#?~1n|mfsdPifqryA@LWVK)R>u|uE(b7N- z7UUTY(O`z7W})Pu1Iu+iO!C3m`{WUn5 zZJ?bbt+T3vPdBd~Ni(@_kAxHZ8WTAA19U{srYj>wi(zlwHb>JA6hdO+cEamIgD3Cr z@+hS!7aCPj2HDocUcGX5Han_=D>pREg*B>|$HdUOm|Hc<;mLKB5<5`H966T?Pg9jy zoJRcG7a*Ei%`(4Ge^?RL=0%8Un^ZtzR@UELQ+b1S4MOfU{1xq8(=wqvj<6-P6eA8} zQO+_#tF|LIkdVVhj9=YJue8kg98cwknF&@Jz?JF!yHkDL=#3Bb6ee%gAqU}=Uq%YC zN<4hXGs}TXbdp5LY&_6GMKxnUv{AHVtmt?n0L%BxkLw2m2NxtEDv&kv^dmkyMI%*u z?hTm+`Sf0%!8~LVkYil8!#nyN*eZ2FTJQ7_{wIHDyY(E6jiVcgmaTSpd{eH zPYf-aR5*-`hv?&xNU0zw_FJT*U}Q+~Hwv)n?x&59?9XJ4w7?o7;QPyK!k`jLAnu%1@iX8iF2^m`$%f+)~hwpGP?`4d?ozoQ zB#s^VrBShrJf+DOd~~5|RJ8cdg4>7hoC66pvWiZ4u)0PvmHv4?Ajkq8rKN0$0pvDC zT0MPOW#DSAjb62y#A|@zu_e>QIZqP(%~de+{qg}<8;=MSR~L3|7WnR86Grgd)!l7C zc-8Otm6)Px>n}kuYP>Gx!)ZW`4!OB?R_SLR-#csCBj#T$;}ToeXk9OT5urtq&MISNEa|MhZi|2PM&0IY7OO`>vtFXaa9ggBu$D856Vf(~Uunbo zMaun&127fU&vF_l?+S_sX)@vW&Xy;7LCi8OEf~u#F6Yj>P(5=lnG#DrAv~I^*Si{< z(O^mzY!m{DbgT@GrxZ5ydR#I!FPQuTmknIU51VJ@6k{>$E$(bXETj^1E2;f7(vC%* zv}|4D!smPyOw7v3l4D9dcm;Zw)N}(m(#wT*4Jz-E--sywWBKPJe%j5W4AoP)qZRN) z9YHvDC@B5BeHYt5l%u5MEkaksFTOwFr_k`ib)b6tgNt~~Br9Xw#u%SN%YXmE@yqeOvasx_FcO6FER%JEInyI`h|L-OCphRl(!>je zqZr@74-xzYH4U|!@>7EQA^Kn?;P@Q=5q5zoB@XD0(8YI9yhnhebv`^|)3V!-^u*po zki99JE2|ZD0KzXeHcQm#J7|b`LdYF*J62TmD^>rDM#|zGi>=tB9ZxwkyP;jv^*7p@)kQ80p;kRo=KpF*QoF&F=IP? z=~Ng=(Vqd;zix*M0n3`XQ(?URbDcplyHefkg6d9_R==X+|J~@Tap14YBcaaEG+%&% zVsohe;`W@u8u!q9INR`?U<=w>N4`ARbHZ$cr$H zvAuz?hgF!KeqzjgrY=*wLl^CB-LhGIx@o{+U7_zV5E?#%sKLMW{tfc^`P2Wn*6Y{) z7kE#>-YQL>QMz}9+FR`0Xg80pMf>Af3?pUWL-oLc_O#fBs8LT{F)F5EMjb;76MK9) zjn0e5&)*A3t@daCS#|k4VQI{kkYvAUJZYn@I=$6T?w41C!FH1rz;o;#G`wnCnA-|+ zI2~7tPNoh^lJ}IVDP5eQHNPt0?x^vDpFT-E3PJM8XGJMqUoRO)q#H)HY}mXu$EW#~ zLcN`|X~q&R=GJ0K!H`80WjHZHRx*p`sz7DJ;Gn;s3MG~2CSzgVFH!iVkrVKG{GAY> z^wKuWm$xiakW>_Lq_ag8+p@#BXQbLcspi&W0tzkWsm2<-!Hq9$ya9;B;j( zDD!qD(^1=t((ziXd&A5nlQC90fMV>p2WN-Oz6}&j;g!18*ndqnJTt#}Dwr?-Ug9Zj z%q0uFxw7d;aSvLRSDJ~tYi=x~7lMhz=GMx2Pktq_R^gR!yJ^*T?HCnB61gwMmYQyy z#uw-S4#ljfJAii~$q=(Pjc~$*L;hW7@T4-E+SBND5ixT|k3tqF>S6B(Soz}VWDn~^ zD4gS4=zNKfHuv%1S>-!~4YI)WnFmK=CU++2m5*8Wh*i%K+Aak(F(AXwc^ahprQG2+ zosDPoE3`ipU9IG`s5M`_Gc;T~V@HvF&qsP(IV)AT&UsOlu{if{%OM^Jv~%qFyOEk? zE(88Y-XCsy33t&sdh`a<{16Fo5f4fP7kTCi9C42Z0aV!Yi&zKZTUql}D8;zYY*qg9 z(obX=%2CPv8)l}$k@D#w*NOu4rH0O=Sdx;&(ih71`_t2RK2igz91@yKDS~KAvy!BH z|AVxgxCki$D|Y;`n)+1In4LDAyPsFbF9rBu5F_v|?@nx~hM!0!6aZH0th0#Gswf`l zR#b=$V#f@E6hBS5Cpe?#nclWo{4dCTOn)ik9GXqtF zymB{9XA+S-h^ped-s^+}S^COe3k#YbjRb~8flL)Gg_bVa{HzhdCw1Z`jtu_5tO1fI znJ9Sc1-Ll0nQtNdz4h?ouCkIo% zVHrp)F|3HI8f7@*j*I@(`R21@bIt&SA=+3|xgc{-RI^cZwV2%Gsc)v^WG9#;OTU$V zxBnB-GAJs1@Yk2-%usEg<2F4|)9B?qY=XsLr0Lk=E{xOdg{~;T!xKO47Y(kUu(dXw z{M)*;2fpj*e!y;FAr*&rO?aRCv?PbRM-I!|BdU9^?1l5{&^ zc#dF{J|}|flVfmRk8{qIF$KJ{s0JJXSr@Pc&tzb6>Sbh1DjKYVO7fVt)YETzm^Wwr zk|!1p*YpqxQ#|P*vqM$n-}-t!38Clcu2BI`9sXGjjKAzo*qEFBC7k4KA-p8WNcX$} zDVtcCJMe_|+C<0D;Yn6TQoWCxhe|$=C7Tfh5lidw8EUn{v~nh@q=UG(I9UFk+m?`h z4VtOyYgqV1q!rtD#Nx1>ed^C>Yr#KdOl9Y88x>3TZlN26NVqb~C(f{%PqV$dY0y4lN{ED(Flb%52lONHHD~ zBZUm91xD^L3DeLi=|EcBxHXK!7hf4^z@&Ss@9Uc^RR^Mni%$Z9c-`5k+n>J}A5@O~ zEozK+R2E}Xv|$jfbuhGbOb$-=(8M5){6eXKRx$@?9-CZ4mnX2)0VM zR9KWpMtvLychTkm3Y69Rm6=sqgdMW#x54cOYsW{#KiaIq5gmRp{)8b{A9rS?nt{QTiNg`QyXt^w;|Q0G{H15O z21PvPlH#0I89&-O)x6?v>W$w()Y7#ljjsbOR4s!+f=Iu;W2uI% z=EQ)4gcilFZ9(I9GbE6N;wrb|T`j{YifYSdtjR77%w%WZNf=gvw7gWUBNz5z+zJxzL04o+Sc zj$eR}o!K5s52skO`Q_~9%^3ldT{OxT8gn}g_EuKMk@a;Z8<1pE*K7Ue&Q9Z@FUfY= zRqm)y5X$Fa-*@H)=P}p8510X;rX}%yZtSEKg_h&*dE6i6($5;E{v@gvnP8LGp!Ou< zO(cAGhc4#03E_* zo$}Jl2m_PA# z@7z3{)&Jeyv9SX94|j(J_kw^K+-_JEEuMkpIzsl$EW0Oz%i7O3;v2~b4&#`AN8m}; zb^pXl1{U7QVm{ZO^H){kjzqV5`=t{442x>LFTXtX$JE-8qgNOC0d7;w)4!eX)9p>7 zYGLNK)iS72+Vs{TGtD$f_`iV5c|HZ~C){P|UEBB5c$?}GG6b^K-=f>w6@Z*Aqo|A0 zVC55AVv@OYrgYGyS@-zD`?FrU!4)+s;S!uI^#7XmBOb>z%r8dmx!=H7Ji}GHz^!uq zb3R}lsaHOi-KVK|tcD?M__xN<6D#S+&||n9(ly%ZxuxEfeA_5ac7(krY~p^;a$T4< z43ewE|2_3pR6l2-9g0AQYk)z*)<@;GR9UGo^~I#|9OJ-VrBoiJyj5ipmJ(XFwFj1?9$btq~v=`z8N z*kO-Pl^#)Mn2x({L@gSA&lozj6_a-I@$xJYUWgJH#K!%7y}y2b|AaJ(iy#*#E1MuI zI}DR5weSJGjQ~l7WLzrN#!xzc`_DJvL?~rd8Lnuy+=vfS88xQg5o#(+AK*g8LT?K} z$)7Sa^xptoK%&1{ae2j@L;dzf`i*P=m(DBX(5G8)mJoHQU>8u#{4xP+e|We@T(9I? zlfPSZf#fd5j`nC_0Xj2_&0(!Ycdmf$`>RD@Wak&Y7!o~lxA)PY?r!oFhzZ3b~6YXXc>+c4-YA=&6%$~s9 z&$CpT1&h-xsG_aIQ^QnSvLCQ}PiN<&`_vp40fkoVmcsJaAVqK;z5cE!AP?z6nw-K7 z#|D;1r6UkaNo&)Uw+ZE<#fC>YW44tm<<#5}S|pbY!;%6Vg;2csI$xbDv;W@cdyYmZX5|4tuS?9s&n&-O72!1eR>wltnY5cQb)k` z2wzVU8SaxCsiScjKv!GWn@u2gbh3>q+8`=P#_wZ``APev;eb@U5+mUcmrI9dpTW_C z*ouiQ^mcZcwONsa&`wY-NW|1WVP?PzvQznX1w)?~fR5S{41kWyrJLux!v7 z!o8I_YCeJkcJ|btSd6vv45D&2o)f0iK@l0Yw1}lk5wV=0ghjzS)A(rwJ`_tPQ#P{FuRw7xHRm{xX_prBn4dX z9rx{}w&w_g_p#K`7J$wJo4))KZF&b6wR*Wy7YW+>Tzw3Fd3{otxBY~idKth30GNb`zaoi5K%5X&6}RsIp31s` z4@>lOfjVG94S>B-Qq_ReE!cAo97+NHA&9{DPQk?l-t{OmWF%V(i!n3yF%KgKfaNko zPY+m4wrpOslup7$clTscefQ|%NBV~Fn+W$fV2+W5IyMM*sJfN&PAKn&(z*7L3Y&^{ zpz4~V08X6g780^kNlm367F-6t8JV&4wx73)&mO5U(ZFbf$oa;4P6Fmi%t?E-t5OV~xo z*M;BnA&XlitpD8?Q{c@qedM2REu3php8{U`>E69_fD3p4r zx_p))hGw^D=aEUlxrk~+C93cUq^>0#J@Iq_RV)-~m-uYU1;JV;6f{Xv2un)w4u~G+ z7055vPX`=Tl7_qj5PP4@I4){$RD7Lm2-iwZEBiu7<*};SymAk zF>FdU4H6wQXe=f#%4(j^%JN8i!Zg2R4ejeD0@U4QP{7XEaB&J~W-i>N_@r2WnSC z#8G2J$(ufoeKMC~REFQ(JTkY8sBL^;MD2dF3ZN`m5X z&q8x7KtHe#ti5@{$u9#7ce4w5XD4)j9Ka6^?aDBX=E|l>;_XPrX|lqnhEAb`!vNfy z2_ab7^&`gI0kqC2`i#_hR_o1%K@KEhR-JVqF?OO1HkiC0Faz2>S+v@pda}Lvl(0ja zjN;rK>_s#~V3>TIu#s=eBa@(NA)#7YS2Be51*SQv6#L$uzD%@hm1tBF7PI*_>&;PO=vq5rBMByunieJOhMtJbV^`I8GNgnX7+2Q*Yg5>K;Q@ZODvgKHZ^B_M|7kRh^owO1@s(}qnSH27Mb0Dw*AP8uHF}NfvD9a$uN9vhK_#C}P zKc;&E&5CkjBGHh=t0$bzxQkw9*O}8kwV}=)G`c%>pt=BDp;GUNGMx8>9bvM+{(1ohs5n6fGTD;$KMf3oW!aHE z0@tZ~3yULLAt%ao}{ERD_7XA9Z@5V9ktMbVrHM_(eSdkJNZ85lOOXUPnPo-~_u z2JBO$RuoWd@|>V0BXRb)pp3#T2tE;akHp?zG%Z~o`?vCw&cXzCh zPTfaudsp&GwGBD|<@}A{z zGk8M8%vJy)g#KAK>ym#{7vIr@V@v&2E4USMBa z=iV4FkN~9x(m?YVoVn%VEd!*@xFGCGq*&wF)z)gqj8Cc5B0JoxC(x@V05BG%#;KXg zN^S{u1ZC1706d>VBF36gDNw#i-cM?o`DfGiNHmI}Ys>|QTnltLFQ#@S6ggmj5#Bh9>|8A74mV&gZ-7xEP>9_X2SELt^tY%P z1|VI^7MrQ}Q+vYL5Z^j5gyzH`078KsbngwRig?XB+JLZh_9jym!=fyff_)+3K>25P zz_I8Y)zG|H&d#%?-psku!hB0Ha1INSka_H+IcUk~9SegN6)8n(gq8*t+`GGFcS)q5 z0qqcv7WNRBBD(pjqwP|?=of=HD>Hs*=jq5&6(ESfEp`Q3MfBABMUXxA@eJZCFj ziGM{~`w>~3lUUq^G?4Btb^yMN>EaL%Ua7y9nt2&SmR7=#S4?<;b;NlkB~>$bAhP0?927N znKD^3fT*cUxpc;zz43|4z}uVVE0&X+L!&#|+&MJSux&F<*&P@mnTw7;$GSzg6x?LD zh#i_GX?=jCUKVJ#b}zDjV_vSeDo=^&PQgBVdKLYHKIf61!ZarHUNMZH!Y2e3>>8F8 z!q!CN#u%?U3~|jcr1Bh<07mu!F?F%h-QC-5tPOg(qf^INJ)DdwYy=iV^{VSOcWe2to|;4Ywmb1Gd4co`WqC z*A(hPiams02`y&AnuuC-iBWso;_h2zGl(-n_|I&^Q=h*q!fMi+)L(~Ggkm80>vo3gD# zns?wH?rDX;CEgMsO$V&E!_Ku!kTqsLTAU#aMH~q|#ZOqpz$wFyhG;{SNL($CVng25S7O*k^LC`Z?tB3w;zj; zt14eaDbU+VlA&2H89f!dA|(zDk9CxZb&1>))ogTD1@eL7ikLm@4h(e<#?)R(YC}1F zv~FYYu{z^;0OL<3=s;hV2L(2ry-^F>2e zEYXtq1}+81k^VF*1^*Nr9P8TfIB0PupEn&5inRzb5hp}~0L{dU$l1afz<4`N&gAAy zgTBr!zB_8$cMJNFvNd+Z;035CfnZ(5Apt=R@JxI66BCKShHQhs+HFVHRyP;J!Nh z&6q`0F5Sf<;~qnGD9_RA4%5ezB)Uzzxh~K@Tg5=iQYiCYO#GIocvXxW1B~)PO~V(c zv=TzhIg9DxC$mTbbQuR07iJwSL5C1QZw(7bU4twf(EJmwULd@gk!Q~V6`7Pguy7W{&V zB?Pbz@SNrIr!ng_ndeA~BURj% zYe_*;%wJ;;&-VN!Siq9K94KiP@Vgn%Fk-Sot66wifM|i#LEF2hUT~mX+}4~An=@NR z``L*D1M@Nh>>KlB>YtaHzfYVwCw9u`>Wz_fG zX@qqjXfz8B`>^eRU3aYB#=c-JA=Ik*ZV+ug&0XzggkW@uCSn*TCS%44WgJ88RNQEK z3aS^WXmQckX9Wbf7y7huRcA)R$3RJe00BkX){4SV9+#x4G`1aMa^nyrzT+T8S6;M zPjwjG6L3niPh{%s*N)C(fl*I{cr#_h3u}06EHD%z3oGBVM*$xM5;};vkh=PCOu6Jo zF|Be*x7GZ%+x(Wl>tV+>T03}9)9%e)n2x>ZZ|dww7J8WRhlF-)^cgs(>CvIXpalJ;5Z)Z@&Js`C_KhDRxsDKVfZX%9qR+S8rLd*V{DDbIRFU}VH+ z(d$s`3}s2gD~8gg381vV$$Pu5MK_Ex=te zW$94aS8LT_#`Ofr&~JG)TvXVdB|k>Vyx7L`=u+@4cPATO#5ag1#S4oLA=TdPoLy9G zP&bm$lO*J&01(i;V6zR=ovF-vcFy7p2B8Y8E`cG763VF7(h-`eb)9z>)#tr}XpXU( z@0!p@ioA2I;eHKsp`fJ=u7(27yR9zkB62YU3a{--S$2bVc4*q!AztuQ8Ydsdkl!!r~PP4}Q^$2t9IXYPs{K!OlM;p;E>l>&|69>XG z#R>c6>gsspD<=#&swwrOd$pzKpGhnSK zTJk)xO>%YgMonW^RyA2xvLcFhe1V#7Ppg~ozr4bEjNvqL{3)A|eufuWZP(`vBvDpk z2B4Be8@bV`2`nFjLlR=i4&9a|Tk$FJRUAb=*PygG-8ssUm()x@mR?7kgFRtrZIsv^ zqL?m;Amtv0qO2?qVQEp`1JnJ+@du%eo`dv!?F%$C9SV_9a_kf{cnNf zWzc?EF@GrO+qCZ+HLf{oJCZep1Yd_vhH6d3)t_ku{Tp3Q)IOSoIG{#VGpH;1x#Xd<8*}Q2LotehOG zML1&U(_oBKmy_7zN0rVvqDO7tp2X9P6ie2|z5?rYNDhEvB}3k0RZ5PARDy^=76~hW z9n7+Pnh;*Lor=kio=UVD^4~v^#Hz^AipL72I{NFez(~Oe8fjLpgz~j$AfoDu79OHh z{EYJSal=KY40HmjoF7WFBql&MbP_F1%(Lrl>rOG_XgQB!a|0{Lf@(u48_1ByVPdwg z1&&RVwda19YMRFi!9>%1M`dErGtet6dVwo9GLn1I zYJbE(?}~d{+bA*EKwqll0JykP)2O5`yY6*7Q8Jy|Mn6OXY04JMD$v~=UidAA@S)}v z>#pI2(pio*Eh)tE~(+DeAU*TItnCcM`=vTLpbKz>DOYZQ_S0bRBpJTl4# zT{E&T=Hix%p+@0WW!O03+UOEb@HQ%GtOz|qS7KqK+=D9aoTZs;ShzJ}vQwA0a*mzX zffRFPNHgEiOrTWmRTE>JHUI%cn=a2Xc1%KOqeRTk%D|x z#FbeLRjo!(AWS)t#egw&?I0F5XjVeyF7RdosDmo|E1_E~VjHt9NHHLnRru5bs=UOy zil;2mbc+g82VN2^h(|(p9_0)d0CNjkyVO;E^ofM&kTA$`t`L<#Gzf-z-u5b+vKb?_ zdTD)lvX*&_3}qOy4?wI`EIFMcs zDT3I5qUA`{p>*~rF>^Liuf!}mxW8fQJT5|-p$lSZbw*RErD-5AL=7V{o^u}=1}>S0 zPUDAMWtNhOacUY?ztaY!U=RE&2)j3}Xi@^OBRN+BVHsX&FE|0=v7#U1Zc%4|)OTBD zK~;iZ@-3#u?cXk!JPhT}(!DJp z<#<)p55y!BIsF;{HD2s5QKpS(sm<|lBh8d=MVDEwA2*jqs%&bUpXxbdNE~LzH#fCG=qOQVmTuLOIyHSD4 zxwyUv57S9cB#s$=i&*x=NJ85H(pGn(Rg9f$HhO4Ea)TTbWQH;j_Secni-qo|bee|O zf@uC|R*!a&{t?}7Qj4ZvKz*9w`}9hFQGgXIT$!$-8AU4TY9sk^;6rU%(5Dm)a@$rp zO1hGy(zr0mOX#^#f7_}wiPsW+FIR?xJQlN#r+q7uW&IKGi`4IQT}k>Oyk$pTz5>?k zk~^xLglaoW{rgHu(%Hib$jXjtt`^)2j+0AD3aKu{q*jYGTFtXdP~X)IV(ZZ>qFn91|+8fi@u8$fRrW){ua9XkS{BT z8r!8fs2!o{|1wa~Vpc~}ywKI*(*7I92rwSDy)sK_$3RB&lWmY9wEo!0L?b7S;jBVW?Jsv^$_$i@ak)W>!Cz962Na z^Q_X*M-H;NMG2Zp9WY%+s)Nu!9i z!iYjBXeW0N$luG>S^g037t!+gc9%;3L0(csk6gGnz4eg9WO&i^){->iW*1Nb1Kn?d z-B|jDxx&?nk-_0ZBbm}khI7hElzg0$kxE6`J11cjp1#d41E6G-EsG@fT1*Bp2M#LZ_$ZlZHyR!#5|5FEhUYJc-sS@ zTIfYn7ga#lHvqCb2_Q|cL6qRz{&Gk+l9W5$T=Y98jcBhpFodH7DxfZ-KvW?2RYmf^I=#KFRUJL>BF$qv-{fsLh+ zOPIY$SoP1Q7`tpXUf(a$69pzdo*x_e=M({K zT>r15v$Ho||F5T`^Vj-+|0#d=SwrnZPdvd{uLHcaM)XP>=9`XiNKKB4s38%-Vh$Lc z1_VEz= zy5I@D+1FW`3E-Cn$0=gsk2V~-O?daeHe+Ivwpn?HTFoH&2QBpMW%}ESc$b6@Hlf);koI*FxCU+NBg7iECX?J4)s1b`4l8?^7iZGiDpow{_$OT8 zt0~QnE#}cC_lVbI$irk84cZL>FSQ%JXA4V%7LVFgqlvzo*`R4D*Wj%j&ZAq%^{z)Z ze8l#Q=!7AUY@`d7HfX6mdyU$luJn_)(J%@})5SWLhhA^)6^1qJ(;rWTw>h;U4`N6R5>) z?PK_rA{fu)Ikn8cm7TIPS}2xFJb~@^ppX>pTB!h-^x0zLv#kF_QEUdh=eSpKLMM{tSyuO9ycCy(VnxBr1A3Xi$-;dhS0^=uMyWRys@V<54Uq;`q@5tW?IvuK*wQ=~;wAAx;xntgE7;u=WoD4|(uZ@~JcZF*Nm zn^-^UhxoVpd93|O=n`Gp@%H+8N_+PAqxmE4OQS_XA6b&B6F%h^NnePZo%D^oO86=b z+)g%tHuK%I&Z*j9c5qgdW1X_6c8yFO$AR zrj+y%K2K>sjdj;kzM*#s-xam`GwmAsPeLy#Efe~bY-0(1$eYA(Kx>)?wJGr{d6)2A zNKKQzG~PD+HjQAXv`XtMom?k1N$Q2wxTKHyP0}}{*-g`Zm&7m4_X*#ptvhX{6hG8x z!=er1J%B7R9fbN}{QKDJ`6kR(>;@je0LUCZJvi=?g3Z4aK$OmrAtd~Lo<(bUp!gjK zA@StLNzd8|$&y~k$u)Sjoc0D2)A)Asc#$JYYEV*DJs$PeIa&Xj&*Ov$t?>@ROqT6I z-YeF?S&zRB{fMqP<+RtSmGOXZDcyNNh&a$+!icQD?sq1 z=Wzk3QJd6-o3cmJ`;b#7zD=SQ>P0&h>yu*esjY}RC%=^Yrb#aeo*MRDtOsp=yq!}k z7SorOA`B!o6`r5`N*H_6OF)~n=ZyiX0p6b69@?JV2G&v=X3B}L8X+|{NFA8Sb^4n} z_Z;QFbuECyCO&L8*si=k>G*KUql?9mm!1rAI0$b_gtM0HU?FJF`d$#A5>|BcPWV_i z^!&N-Df-mtH~5!18T>F^z^uX!v*zfV@F=3sBkVEys*d^5YlG=gE5-TfB|6@M_O9%F z2FbVi%+BTTmi6=uaE*+gKbiXOWc0fk+sFTBVDrq!IXI%}`7&mES)5*)UygsKD+621nBp3gLZk$Xf%ujt0KA$IRx`t#eek5T}(o2(SgpH_yAsocsn8Y~cl{OGGYGd;M zSeq0?l}4) zLQD12kb8#D_}ciiFv##ZDNj13dboToi}2Smfh4I(d4{e7L|&)CQNp`AFp9Q`a#h`c zUMl&u{%KTrjlPcqr+$&`>?tHXRWeWPv6v3)UerN&-J5#gsc%vT-(eFLZtEU4=ruv^ zO>U69VKIp}@nvX7t7{Pvh-0rz42wLSHfqWxH%MPDy><)pj_;Q2bp}$EM&Pju)s_HmYlHRoCuTSHH)?epr|C)Ks@ zs%xjJt8Y`3M0NF5OmR_N{js|CRdw}Nb@d)}z4iV2*1O-r0Gn@qy7lKzahTP!n_qtP zVC^UPaC037xLU2eg9EEcG&Rw@Z*6|?=h~SMtCgGg@4^hfs8(KuPpvkK-mcd!z^jeg z#q$q8S%;n;T>EVE+dI|DWtcFw#QxytkE*MuVcOLA7Jj(;cI{lHcItKLw(0&)_o(SR z^vz`%gTB9i=Pb0qpI6V)lwiB}j|@&7oshV9zQl-aR!`xIXmw4$;Vd7xz0qx`ZwQlV z=VOASc&EB{v%0nd4QcV}#lxHLJzV(+W`V2w;{{k0f4+J33hw1fg(i5qTKNw8uiJb$ zb3T{1>6HI~(}3d&7y7f>Z&=*q(IZC=PfWquHZOm^dF87IH~t6*qF@T<()2Q&ICOCX z&wce9{9*M6=uy*vZNd7Be8uds&;!T507KS3{$@ZKK%e#1NfMrMmVR z!TLEorphh6mx5vmytH-|LbSVP?&tI4hmTB-PST|d-}(2l>pRwN)p)o0&?`EHwlY72 z|A0|j`(jBEnz2puZdt+7(vrDje0}igf8PgEG~jmLJK^kZY2nUx!5{p`n&j)bv#Nd| zURU93?=W5leuCb+GrnbK^1E9ylusq+S-;22g};|%jdTIAu#gdX9iC#S%%g``d;5HMyZyrdCKYYp&iu|7|DHh)`_`h%7ceO!Yeoj+jWHJ1YW>|K)8S5x{M*sd z2`XL3)WGMILVGN_nYx#*5pl*T{Zm`cIU&EHAxHm2&#}|d@yV&du`%i|z)S{nlvxZU z6H4;V;6N?MMu$emC-HVuGnSz`G&*ICxml+WI4w<0Ltb&&cjx9yR&%z6E_?#X#1fd) z@ymm@?-i^glxH;X3L*d2u(N1mSSdo*i}(TE${n`zl$udDUxcTb96imr9yN^CKGZE| z^4?qqGnTmJKzBNc6`nn7(4TR_J`t<~s-d9U!90C8yI>u%=e>fnteY0S{BqV`#=Swl zPHmruEwT>UzMZpmyJdKm2XzT25fr@=cieOYi;o5B?m1>ff#aL=?EH}8N%^6V)-Y2@lX?x3kt-um`X~edxogEvs0b0pdE}+LUtxQEFSU5PY6NiSh)s)73pJI)KT>0+rlL%}(VKYAWJ}mSl@) z+@*PMF}f10^NCfIf_ctbhV}0}8u2*SQEj4FQPpp2#%WS^N!(uBSPo{wo}ps)E>;`%d`T4>U1kQxKR9Ad9^OCo+~CBB zH9Bb>nK=CH=<9eh13(-00N7!$+sA=kT8T_|)^(;r-U&`198P866*PZ5lat z1SE$^>+pm%dg#d5=*Vy@ApFqSQM_qmJpac|aN>`&J@ZJ8VLn9M- zQ)g=MnbEP)spng*{i9Rk*yn!ebkI67I59OkbaZTR!a8zv;>h925g2|Lx*Z=K-#-DP z5V^`UjgG@JYvft1<2iW{2o4Q3cob$oLGv3reB}9w(E|sktb>QghDYGxGb1oFtO&refhoO7iPWa+5bpqdwk8m%z)i~=WeIn2VS8;T5B%I6e$lw_C zHHjaa$Cvq^sL21qKgQjxf7%$0_5aSU?#`Z={@>O6tN#C=^T*Kt|NpJ||2I_psbI)I zRPkpMj~l4`VXYSBPY3;<8MTy>QdM28!9@@FtonR+(6oqhj!K(`9hHdfasnVq&`Z*N zn0Fqt|F9+utTa+09&_Ab#T*x7!fyz~$n@8U4mNIDyxk_P9xlDCB8dYpm>E~g3&_^{_%D756Z0xoqsKSla*^qSe z6OO-Zfqs`=$S=1_8TSCQ>IF?NRH0cUi~ zWHL>Em$@Rc5oocXc@2A*IAmd273QXNc&^G85{{!Y)v4@OGM~q{cs!;7;FnrEe)%wu zZ{PUuV$&EI=Uf8N;iQzF!Hc?)3NfOIR z8C8}!d@a3jCheT6bs6ibN!lWBY9`L4(&DOGh`7yRzOWXRk)OV@rPn4k2={=gXn?e4 z!>q@c;uDk&(7g`)2G)+*+KghBQpFOhcmWQ8s>%g0#Oc}!hPMgwEs53CWD?t=W0c3!JB$nkIm`P%2{DLkt)|YC=UXZON*L>~v-s-PzV*O!Tt^ z#H$Qq0F_j0T6FA!q&}oB_?wJ1h~|)R;*?5U`jNUBGY(hoX$nJGQ1@Oe=SwayBt3oL z^ns@`*_uTG3GF*OI{sIaodqe?&MvF8K}9d1A}1LIg(ON?n6PLDXcO-q5R9yiIgMt- z7}A7&DaF3zE+YLLrOZXv5~%+nJL258l!!m6>XFX0*2-Cra7e5=NYavrMNIN;)3pK}7c1s8?|yRD z^PYNg29BovDf$^GL%{_Y-_0HEZh1V5<38&dw_y8t=-CCE68FX)Fj{K{2o#Zeoh(m| zC|;WLmI_!nI)lt10PrR`0i_fQY;-Z2ka9G&=k3B=8G9X|RCfb-1CwuV2JL9-+wbH& z-&Xww-FrJS3*K=zGfU6mfY6{sz2oC{nIk5Jd|G}U9p2a1-`n@1NYl@bj2%9Lly87n zJB;)2in#fhx|Q=&H6NN7g?%&LX_yfn8&Li~P6X(j#Pm>jc5`^|mokrrC<;xQ!iZ1H zngZDxYvx%w?j1p{m5M8KvOok=N_P5^!2C-z%1c6TUuu$5qujz%m|RsIBNcL+!@RQi z!HnmX0Ez9Q0MEZhj(pw&WPvf;B=!~APQjffvsm7d53m8|f1OF%Dyk;b)HKA2aS=(3 z1({{S`JOGMyC0$lGY%*2RLiie=dj2dy=>JpjPGyaGN_R>Xlgp7HxZY|Ng5X@#~Ck? zOp|I@V~V=#;|;e+w%ack=y~`RvCpfNe>>weAV9DjV1E9-V5hor|z^ahFUb1<(r-TMcwywVnKvs z(ayt?SOw2`-V|LcG8_z#Uc{n0#3!WQfXjtW0*4aggHE%=8kp}bp~?bsn9&mX;Sy$> z&shO*ybKRQW~l#EI$BE{%8>5-->Z`iCs=5vv z(XA)^31u*U!-*5&oV1d+Vjgpf6F=;uW~GlODdyz_VFfku(V7_ahNxg>2^bD{nM04& z{+Yg!7Q+XACz831a!0{ARVp2diB`SEfMi0(8&?G4!>gf2p%P90*s39`prkUxUh7)ic6F)_!bqHSC(&AapmbE&;1MD)Ex6t<|)m|nHRV!7bz$->$t={I=!9=KP}3g-XF&O3aWG=MynCHf&cur6y^y4#~WOb%6p#M7sCM}FdVGM*POC8ky@K%QEs>nova^+K54t; z@a-Ap^dza;xV`8GIRbX2=Z37)2JQw#2v7?1QAq$vYsHV#n( zBNP15HH8e*@AvT)B`wk`p1BW(9uCjvA3r*ePLj96^KSSrZzF#5-;1-8`S_K8`l9Z? zXzy?Qi#H8-pj6t9XHY`|C`;>y2?35m)a=$+DFofQ^d$ca`*$D)UVwUkO2yL&0k?5Q zIENKw65w2WIHmCNTC--fsd$XqsS)rma*w^&e1n$)Go=!0w`WcRZ^nG3U#|nN0rJ5KVDW0#I~tyxAfnoD zfqW)^1HggTNxVB6^6`Z4Fr%DQ={a2=*rA!mjCf2mLf$q16O%8!YVEe#8waf|=j}#& zztu*4`no6=2eK+#RSx$4-P+y$|Djf16+6gAxwP5d+uwJ#w%fuy>q5N5s2_g>e!oJ0 zK~E`JhU2{4-f1~bwI*gL8xvllb-iPOK}7LfdGttB+J`TGb>8l59K76XzY**ICpaK! zwM5tKly7WjWB1j}d+eUqcMkU(bZK3Nc{qG=xO;FY7MhLba!vdy4pHN`)q1&cxO0HI zMJfoKnO>%BSQ1#y*Ly91jnj>5VVQyew}oZ{d>sR%b0&4CfW`wZz8d_9s{yNW;xWub zt;EFw)DdFFx>fLlA5YMn2T5zHqNV7kYEV(?`3tKY_~)Y4>-j+(t15BN`|&jBU7rX2 zGw+(~pm^r>jvHv z#yB8g2umkP0C1DSQox7_a19hoOvQXw#EkC1#q2>2AtB9sKREUc-8%xPTa^wj(%~TOTmY+?L zWmCky;pB2yq}f<(EG7$~8@K^f{=a8pFu?q3^W@co~#!C6US_t0|C%Gy(Su%vco5pC4R*Y!49xPJbG8949YIXHr@JYv&K7db{ z3b|5N(*WxO1eqqVO2$|KhHbIve%LuhmD;*!A8o>1`6sKZn|r%2w_m-R;q-qq@2M{SoFyeY7_-7k~|q%l5AP_=9Qm(>%qX#NQYftNdQfSu_d1&Ek8j z1LQDAqSQKpY@k;8gZOy$kxxty#GQWEp%Pc(6OlnNvpQpz5;iMGIdLQyebT~-dUi5n z=BjZF0xCu5zY3xTSf)QjwvmX9 zXyCmZs@yz)sVA3?v58q1aX7>eM;?$hf}c9d6M@Irb~EY>c_U__9lP8P`$Hx%HifOF z^ibfeL{Z`qF5vM;ag40WKf({cH7bZ$A7M1rZ$DwOFNNo~!to?(n%SRymzi&QsJ`4d zK!$AQy*^H>1_5b{s1PUOhab2~>z9MQw+H(YQ(=>*W=hf?f?&_DFbk6WZb%~RnXB)g z)X$?!zrVCtf6|1Z@*8YoX|eo12Y9-Z<$4`;#dWfmlN;}2#wz6GJ#A9&HbRcYJv zz9ErPmY!k!#7{HTPvx7o2~{U-4;STT4fq&Zst)T5EhOO52L^nz9+UNG79PI81-Sn~ zRS8aW`w{?e8``foJxMTxmngqdc3lZ!gmgQZh_+>l7AR(vE!YeZuncdN$5p-8RnJ$6 z%cJws00NBXElN8R%VOAAyfAoPDXU85Dvppc8KU{2IPy;fM*K$2g0V6qZ3P*kq|B_K zE*orl{f^H{CM@>KJ171a6+@_U0tUe+X9j>u5}n#g5df(84X;7j9?2DDcmxOeFse47 zS6=ANpvqWWy4TXiM0O=4mk(g$Y5;*Obo$rmFEXUFT3Y5Z;iD9ls7F#}UKXF(CjpXGd z;wBGgs)`_!FvF!k(Mc;Uxjm+=l%x{HOI)dsa+T)Aa{-4uerup@(BM-o$>6QxqLjrd zRo5p+eqSziU#J&sPX0mm0s5zG$vuJR1Z^S0g^ctL?H0=J&>0*T9T$Xid8|;3_FS_B(ay}kV18$VXsrJ`kJ~_l=~!LOf&|IR6U|>4R}24Wc;|!o`njq8 zkE;(DPz|xEenBrkaSPcR(J3}YMMS+P>VbItA#NZG^NIcfhK?{bLhcm~;V_DU5arFA zrNYRYx+GmO^M@V4G}N4Kls9X9qkd?H3ebjfTRZ16?caOjO+W+&!F|-c0c|1u{(Z6u zq{eBS09-($zqn0JBW2!_T%$R**T3+?pijoA7c!|2*}V}js7&Wjyx{v?l0ntQgQVfC z4CCET49M=@zxQ5kx3`_G){8@_+Cj#mtO{(t+}U^q42t;p5k6&K16x@Z^)0F{mme3+*#Dz@IasBbiYVu({kt7$NqoU(aX(QhfKF)r=e`_tcWAxO)^XZQ*;OHzcSfKm1cM>kN++ zX1d>SY%hSkOy4aGDU=`=|wzGlFwt zbfHm0vUATXMxTn@?Yo%^w|5f4u0^`5{$4%z&eOk}GesLQJ6)@=*;R>8rW;eZU&^W#dn zUam4_lwxe9yjre8*Sy9_gW7-=SE;2kofT)E5-LK)i%JO>js#W~?!9T@annd>fabYy zKg`$CS8vgpZ=4s7>F zKli%68(ovR`}|^aVPU?xFu%AspJ=+yxyZW|mkP~4Jo2Yva zcq%7`k<*s?Xer<;-{1p^)$86BE@d6*mal~z*ynm04NBD>FFjqx|E!R@P=3ebZ9RXA z%=9ziAnGKiL@kn;3;^^=^gXW|rMlH8Kew%&En*(n7n1l_A{r<(R4f=(g%7{=fux;; z-k>tiJn(Pt$_hyNxA%=%yOsH>Vr!v~gR_$qP1Eu?u!&lOU{O-2@loWc8{oatG!Rz{ zzZo#lR*TLOD_be!TEG4GD~G!ajN`#;Sj|*#J_+If+xi^1ub8p{s8)NLh7gw6;{O`*P z%TxRB2YDWgeQ8c5+8(g~{fOnAHrfCKe?cxf6dXc*q?j8(c*saQ_WDAG-5?UVEnw#j zLv*+5d1&~8zQiSUOp}`&oo>fNj38nesz|diGM5&+L9C#nPbS)HlLu5l#zdvkYp>S} z9%0wq{+YBjj?UO98|X6i94b6Q!z4H+!kXqd=~T5~)=CHHePU z&=E3zV$-!Kkk&eVvWq%K7sz4fv_!EhN~O0PN(0S{{Vtr}9G!q%^fu_GsxDa)G=ZWh z|Du9U-j*2J%psc#49pZ6x(d6=VQI`zE*f*Em$)&Sk(DOUjwUUf!1M`Md zBX?07Ijc&5hUhX&R;Do2M`D8<5miAdkcc$$RXd*j>Kr<|d(NxYoBg+~&ClZoHpc#M zX=y1F|9xe-IX(X$;;G&E53=H~FT5O0z`Gf7C@lZvlh~a<_91e6s*KlZF z%kM1HT77Pjr7_)pA+fzCyJR{jj@)jev?On)FtApQsG}45(V1gAi4(s!hK(im=F&%&y0iq%PCF9L-yc4v0CYN!xu%jRuA)2sviH&+k=NpRH%kL{U zcl3C=T(y8KJzcm35U52!HZVp6`p2X8@&czKZE$xJ;0$a2>G8r-_sQ~-+g$0mOW!Ya zpR6n_Evzi89IY&Om)#}z$wJ3n^cEg-d6~|q{^ZHi<)=?&w-RRRcu5LJD0gMjh-dRh zVQ?9F4%eNR|13XkJ~;x~?JfUvvAei*%+2-L!{T!_+B^cXa&+{4({qy>FBj0 z!6SK!hG=nmJnS=1g3=I1XnBOb64>Giay+O)B*FsillNZ-21zk|1os!6O=XxDWd6KM zaqYQbR4bwT2C2e1FpA`3uwrsMaS)-|S(x$v7`Wn%608r3#aIh3EQocnOIzsWO!smD51S~ zSzjLgumvox6T_3ta4T57(YelkqPQYVIXxpt{z4O>tW~} zvJQb6FEOXC0!}F+9}y)kquURzQI8^T`O>$BV@t~0iL$6zL$9h@eDtw^ARYU((=nfK z2;<1Z`o6UC;x&0|pz#E69Ax>9(qw$c8qyD>104Je(V94e z(m9H5XP)$IlkP^*5S5>Jsp5tpb%YoQOP&?5tTy|?^9O`P-Bply2J6R%q8$m$2zv$s zZa$65bS4u59s3v1GXQvsArjQ)fyEbvC5mg6W}nP(s@9xm!yuM4hxJjfusy)qEDynIo)Lv7U15M6Hb8}PXZYdkODEG-z`fY-qnDd z9oI^J z7|bNDN#JFqarzTA{uEv}uyloOGcb-6jKmLle4F67BGu2w=>h8Im9O}HN^ zlB0#Zg(o%lC$SO#JM?3Zx`PU5=>nftjr|cENnQ~zND(7hJoK2kz~+cHv6pYDKcu4p z`Bah}Bh51t84PeKV2`2>fB?`8UaD(>t_oz$mQpIRG%8tj3{cco<3y0pDiI#F3FTgq z;f*EO3mB^~k&eE|(k;x=eV(An5 zBnX|5R4W5-!o~((6=5S%;E{vWrzT^+PpFhANu>m-%ma)hOF>za{1^p=Frj8}ml!|s zlHz)5c0`)lS%iB*d@C#}4;w`z%Zr+|>UbKfgI%9dN@=8}o^A27guE3XSG3W;h64vr zRu*&F)~}|bxgu83M7&Ez45vh9H>19dB?y)$z>lewBb^=wFjrcqhR`g7^g&ncl8OkYdZveox8YzV@$U3mu^D|Cgtkjk zL3Q^tp;BpD=k;1wq^9e}OK23%mOfi6d6LWzc=GEiaz zvR0SP%Myg>d0e6Z2JH%skKo2hRNGZUgUqR#pn_Kj^+>VR7Z@ z((=mU0>%PdSXg{S^uS_W;*`k(ju<^^#1SjKaU^H z52J7%(EttV(B7hCB?O7d4`-&7lOsgG^1~zRSMr+)Ba)MPq{J!d$#2+-P+!skf7Z#n zss!D@?|Z~~y=BKBWa-iH6~BEXyOcO;9FY+LnzHIFAQNReDk}i2`E)3_Q28(dPI6V> zYlt6UXdlt2@R@igJwD#+nh~mVT#Tw$&U@El6<)NO_feQOtdQAcEsTNgNyR&+USpna zXgl-h+H*xWuK6`O!>}jnQC>zK@zKDmdou&^twTvrek-3Y{8p|udS3q|KAo9#$h=%Q zV)ZfTSITt`hxhK_*SD?r<(hc6N~twgDPa(M2VclsBnjmBfaTB?Ad%liR!qLf<^J^U z;=M8BHLbVM1)yHn7^eQf*N76Ran&CyfDSGQXX5b(_3l%(oam&5suy|f@znt!95x^? zDv;%4(=TR^xj>z~@{-Vhl;sM5*F$L7U?n#36N;C}N-KU2WqtSqt?ARiL+Up9^<7lO z2lV7iCC_PlJ@;z&Rpq$)Dbv1#W?ayT=RBimP(x#++cj1OM!12fQC?7V2*ldbVcU-j zfnG3Bshibs)$b%o)9Ii1`*#00XpnCMvcPfRoV(!}>d?{+K z>WtF9uaqK2iSDQ*xymBE(HscPUf8mgx<`s6d7F$qUFCXWp+RYuh6CY>3zu?%h@akw6EeP4enZ2f zVLu*<-mv3$1@r(7MXB~;!{m&)IIl?^F25irKk0i&A2?PH)mv(a-zi^`JBaHip7yj8 za?HPT?_5@A&;U50<+)4VOnB)Z$lFJi@luYcE-y!n(&i^WjE8RTD7aG5Kf8WN@q~Sk z^JLCI%O{l0kJ_g$it^hqh=WehW71wm%RWr~MyapFiy(L;T0W^fQDM6Ka$k^IlIr#X zvbLy`VZYa{v&pqm7dKQ-FB2*;B{!4s-kMRqiNZZW zpT3w_mniCqi$!TeCXJy82`DH5gP|L7WVHe)?ZE#V9J@l!%n{yL1Mj7JUD!E{tBc;U zcvY{=MqrsZZyny!P-`lpgxKgxlQ&*U@)n@8P!%DrOd%>pCn8=~wW8i)z`JA2JqPTE zc_-+N`Hg4cW9!f4P-JS+3y;->oim{XGYm+AdTdNI(?`b9wVX2IfMJpkRcrUv_HGLx zm(a6r9j)JY0^pe2u$>59T|hsI(CTrrmRT}}P;rQ7k@0x<4rPz>x9IIU-+(PO&r~Lw zhri3>{d=)SSEO{@%Y=DFrGfh}5Q&BnR?bfdbwrJl=1;uNX#m1oyS>+56&rmyR@%yJ zX?ZC)$T$P3FZp?XU8;9~M6Ss3Rtc zdc6ZoAgl*Ep+TAYMd?$igruw<;D#kG7M1{mopFYSl4^_yQ;Bg*6P|h<#BZ!!r!gbg zWQkG;jf8+`=L2-Nl8L|Ft zWk~y{?pGx?d~2eQ{GTX4Sx&DOFF-lF7{6M6D||lT7PFnq=?;&HIqU(nQyqecOqOj$XqfF2B zNRL(18ut2T{Zy{+c0d2wSolo+RIOn@v*?61vac=A|59gwK~(@5wVGlU`GgPh5Uoju z;nOUd+iI)>4kUjoBpS&BuEB`M>aLzHDvvl3ryDC56CcGCzW$PO546kNifWmE-FOq` z?>f9fJ38{h@#Er{Px-wVJAMpGVW#p+bEebhAs!4B`MKM;#r@Bd#p(UegFK0lte>fk zo2>uJ$`aoHEUz@D>;Di>V*NQP*uA&W9O?hJ(p<{K|6g8tvNF~GJj8?7CyvfZ9;}Mw zi%#nIsc~^S6<6@Z4;rW6{07|NRk9dWgFpTF+Ci7O;XqcvBqZ`r%;f{Mb@dL}lkzuA z87BW6gaO*h0n_Ion-mU7w!(_Krff({uCk`;k8>>Z6Up~dPhhu=-Eu&@QZ?hQ)e*{F z=3r8G`O@QLEb>*l8&*Ne@Z!k4MXAd4Hrb2Fy>j?UGF8WXuwM+LQ~g%M2>+-7y{qN1&S7mDZ%*6xXIC@-IUob2_RpGUt;`AajQ} zrH@}9eaxWcIE?(pfY4NMa(o;~AdT&iF_HpeI3Zfy6|bfoh%WH(|>ntG?)Mj zKL-*PVO{~wWhAFUyemXG4PpYc%c7ha#YA{lh;ljjScG;7l(SJ{GQ`WlIn#In+gFTn z)^@%D+F8?VA)xiPle;1}V+nKl$%#<2fHa!1-V{r}xlcSDhmv{N_)Vtvc$CbbV-iOT zQL-2rWiM`e1gELsJ<>p4WQl|Pqmx+uJZ;Uy>Y5RfNseGLJ%9gR=dW54g?;j8Cq)k) z5Cb1bG&YE54df=+mvanHPvM)L!nVdb@w=18t0H~%RQ#Bdzq^pX>{6vr(R}EPVW7Th ziFpFfZz`fZFmZ%gSI7u|b}Rz%g~Z}7OdKa6iBp<*cbb@<6p4iC*PVhHoJz-^g+xv! z9RCHS*4qryrvPZ}Z3t4?+@r^N9_h&ZK=6H>?2awU<`yzdmP?$*~odQ3D!F8FSIn7zy9jvg>B3nL$eh;!YCreF((�SbAOAM61I?2KO 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

Q_|FbtOkt0oXBJV7<w2_Rd6aSXUTB_L-E+U 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

$U7VR-8!3&ZRlX*;H?^+D0aD~swtrtOoC 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 hnUnwQ*MH4&5 --$as_echo "$as_me: WARNING: Python 2.5 or later is required to run the testsuite" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: or to use the Subversion Python bindings" >&5 --$as_echo "$as_me: WARNING: or to use the Subversion Python bindings" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: " >&5 --$as_echo "$as_me: WARNING: " >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: If you have a suitable Python installed, but not on the" >&5 --$as_echo "$as_me: WARNING: If you have a suitable Python installed, but not on the" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PATH, set the environment variable PYTHON to the full path" >&5 --$as_echo "$as_me: WARNING: PATH, set the environment variable PYTHON to the full path" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: to the Python executable, and re-run configure" >&5 --$as_echo "$as_me: WARNING: to the Python executable, and re-run configure" >&2;} --fi --for ac_prog in "$PYTHON" --do -- # Extract the first word of "$ac_prog", so it can be a program name with args. --set dummy $ac_prog; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_path_PYTHON+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- case $PYTHON in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -- -- ;; --esac --fi --PYTHON=$ac_cv_path_PYTHON --if test -n "$PYTHON"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 --$as_echo "$PYTHON" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi -- -- -- test -n "$PYTHON" && break --done --test -n "$PYTHON" || PYTHON="none" -+PYTHON="none" - - - # The minimum version for the JVM runtime for our Java bytecode. -@@ -22669,138 +22610,12 @@ - - - --# Extract the first word of "perl", so it can be a program name with args. --set dummy perl; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_path_PERL+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- case $PERL in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_PERL="$PERL" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -+PERL="none" - -- test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="none" -- ;; --esac --fi --PERL=$ac_cv_path_PERL --if test -n "$PERL"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 --$as_echo "$PERL" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi - - -+RUBY="none" - --if test -n "$RUBY"; then -- # Extract the first word of ""$RUBY"", so it can be a program name with args. --set dummy "$RUBY"; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_path_RUBY+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- case $RUBY in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_RUBY="$RUBY" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_RUBY="$as_dir/$ac_word$ac_exec_ext" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -- -- test -z "$ac_cv_path_RUBY" && ac_cv_path_RUBY="none" -- ;; --esac --fi --RUBY=$ac_cv_path_RUBY --if test -n "$RUBY"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUBY" >&5 --$as_echo "$RUBY" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi -- -- --else -- for ac_prog in ruby ruby1.8 ruby18 ruby1.9 ruby1 ruby1.9.3 ruby193 ruby2.0 ruby2.1 --do -- # Extract the first word of "$ac_prog", so it can be a program name with args. --set dummy $ac_prog; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_path_RUBY+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- case $RUBY in -- [\\/]* | ?:[\\/]*) -- ac_cv_path_RUBY="$RUBY" # Let the user override the test with a path. -- ;; -- *) -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -- ac_cv_path_RUBY="$as_dir/$ac_word$ac_exec_ext" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -- -- ;; --esac --fi --RUBY=$ac_cv_path_RUBY --if test -n "$RUBY"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUBY" >&5 --$as_echo "$RUBY" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi -- -- -- test -n "$RUBY" && break --done --test -n "$RUBY" || RUBY="none" -- --fi - if test "$RUBY" != "none"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking rb_hash_foreach" >&5 - $as_echo_n "checking rb_hash_foreach... " >&6; } diff --git a/setup.rb b/setup.rb deleted file mode 100644 index 3e23e6c..0000000 --- a/setup.rb +++ /dev/null @@ -1,196 +0,0 @@ -require 'net/http' -require 'json' - -module FastlaneRake - extend Rake::DSL - - ruby_gems_json = Net::HTTP.get URI('https://rubygems.org/api/v1/gems/fastlane.json') - version = JSON.parse(ruby_gems_json)['version'] - - env_version = ENV['FASTLANE_GEM_VERSION'] - if env_version == 'local' - dot_gem = Dir["#{ENV['HOME']}/Twitter/git/fastlane/fastlane/fastlane-*.gem"][0] - regex = /-([0-9\.]+).gem$/ - version = regex.match(dot_gem)[1] - end - - FASTLANE_GEM_VERSION = version - - puts "****** No Version Set! ******" unless FASTLANE_GEM_VERSION - exit(1) unless FASTLANE_GEM_VERSION - - VERBOSE = !!RakeFileUtils.verbose_flag - - RELEASE_PLATFORM = '10.11' - DEPLOYMENT_TARGET = '10.10' - - # Ideally this would be deployment target, but - # we use generics which didn't exist in 10.10. - DEPLOYMENT_TARGET_SDK = "MacOSX#{RELEASE_PLATFORM}.sdk" - - $build_started_at = Time.now - at_exit do - min, sec = (Time.now - $build_started_at).divmod(60) - sec = sec.round - puts - puts "Finished in #{min} minutes and #{sec} seconds" - puts - end - - # OpenSSL fails if we set this make configuration through MAKEFLAGS, so we pass - # it to each make invocation seperately. - MAKE_CONCURRENCY = `sysctl hw.physicalcpu`.strip.match(/\d+$/)[0].to_i + 1 - - FULL_BUNDLE_PATH = "bundle-#{FASTLANE_GEM_VERSION}" - ROOT = File.dirname(__FILE__) - PKG_DIR = 'pkg' - DOWNLOAD_DIR = 'downloads' - WORKBENCH_DIR = 'workbench' - DESTROOT = "#{FULL_BUNDLE_PATH}/fastlane_lib" - BUNDLE_DESTROOT = File.join(DESTROOT, 'bundle') - DEPENDENCIES_DESTROOT = File.join(DESTROOT, 'dependencies') - - PATCHES_DIR = File.expand_path('patches') - BUNDLE_PREFIX = File.expand_path(BUNDLE_DESTROOT) - DEPENDENCIES_PREFIX = File.expand_path(DEPENDENCIES_DESTROOT) - BUNDLE_ENV = File.join(BUNDLE_PREFIX, 'bin', 'bundle-env') - - directory PKG_DIR - directory DOWNLOAD_DIR - directory WORKBENCH_DIR - directory DEPENDENCIES_DESTROOT - - # Prefer the SDK of the DEPLOYMENT_TARGET, but otherwise fallback to the current one. - sdk_dir = File.join(`xcrun --show-sdk-platform-path --sdk macosx`.strip, 'Developer/SDKs') - if Dir.entries(sdk_dir).include?(DEPLOYMENT_TARGET_SDK) - SDKROOT = File.join(sdk_dir, DEPLOYMENT_TARGET_SDK) - else - SDKROOT = File.expand_path(`xcrun --show-sdk-path --sdk macosx`.strip) - end - unless File.exist?(SDKROOT) - puts "[!] Unable to find a SDK for the Platform target `macosx`." - exit 1 - end - - ORIGINAL_PATH = ENV['PATH'] - ENV['PATH'] = "#{File.join(DEPENDENCIES_PREFIX, 'bin')}:/usr/bin:/bin" - ENV['CC'] = '/usr/bin/clang' - ENV['CXX'] = '/usr/bin/clang++' - ENV['CFLAGS'] = "-mmacosx-version-min=#{DEPLOYMENT_TARGET} -isysroot #{SDKROOT}" - ENV['CPPFLAGS'] = "-I#{File.join(DEPENDENCIES_PREFIX, 'include')}" - ENV['LDFLAGS'] = "-L#{File.join(DEPENDENCIES_PREFIX, 'lib')}" - - # If we don't create this dir and set the env var, the ncurses configure - # script will simply decide that we don't want any .pc files. - PKG_CONFIG_LIBDIR = File.join(DEPENDENCIES_PREFIX, 'lib/pkgconfig') - ENV['PKG_CONFIG_LIBDIR'] = PKG_CONFIG_LIBDIR - - # ------------------------------------------------------------------------------ - # Package metadata - # ------------------------------------------------------------------------------ - - PKG_CONFIG_VERSION = '0.28' - PKG_CONFIG_URL = "http://pkg-config.freedesktop.org/releases/pkg-config-#{PKG_CONFIG_VERSION}.tar.gz" - - LIBYAML_VERSION = '0.1.6' - LIBYAML_URL = "http://pyyaml.org/download/libyaml/yaml-#{LIBYAML_VERSION}.tar.gz" - - ZLIB_VERSION = '1.2.11' - ZLIB_URL = "http://zlib.net/zlib-#{ZLIB_VERSION}.tar.gz" - - OPENSSL_VERSION = '1.0.2' - OPENSSL_PATCH = 'g' - OPENSSL_URL = "https://www.openssl.org/source/openssl-#{OPENSSL_VERSION}#{OPENSSL_PATCH}.tar.gz" - - NCURSES_VERSION = '5.9' - NCURSES_URL = "http://ftpmirror.gnu.org/ncurses/ncurses-#{NCURSES_VERSION}.tar.gz" - - READLINE_VERSION = '6.3' - READLINE_URL = "http://ftpmirror.gnu.org/readline/readline-#{READLINE_VERSION}.tar.gz" - - RUBY__VERSION = '2.2.4' - RUBY_URL = "http://cache.ruby-lang.org/pub/ruby/2.2/ruby-#{RUBY__VERSION}.tar.gz" - - RUBYGEMS_VERSION = '2.5.2' - RUBYGEMS_URL = "https://rubygems.org/downloads/rubygems-update-#{RUBYGEMS_VERSION}.gem" - - # ------------------------------------------------------------------------------ - # Bundle Build Tools - # ------------------------------------------------------------------------------ - - def log(group, message) - $stderr.puts "[#{Time.now.strftime('%T')}] [#{group}] #{message}" - end - - def relative_path(path) - path.start_with?(ROOT) ? path[ROOT.size+1..-1] : path - end - - # These changes are so that copy-pasting the logged commands should work. - def log_command(group, command, output_file) - command_for_presentation = command.map do |component| - if component.include?('=') - key, value = component.split('=', 2) - # Add extra quotes around values of key=value pairs - %{#{key}="#{value}"} - else - component - end - end - wd = Dir.pwd - if wd == ROOT - # Make command path relative, if inside `ROOT` - command_for_presentation[0] = relative_path(command_for_presentation[0]) - else - # Change working-dir to `wd` - command_for_presentation.unshift("cd #{relative_path(wd)} &&") - end - if output_file - # Redirect output to `output_file` - command_for_presentation << '>' - command_for_presentation << output_file - end - - log(group, command_for_presentation.join(' ')) - end - - def execute(group, command, output_file = nil) - command.map!(&:to_s) - log_command(group, command, output_file) - - if output_file - out = File.open(output_file, 'a') - end - if VERBOSE - out ||= $stdout - err = $stderr - else - err = File.open("/tmp/fabric-app-bundle-build-#{Process.pid}", 'w+') - out ||= err - end - command << { :out => out, :err => err } - - Process.wait(Process.spawn(*command)) - unless $?.success? - unless VERBOSE - out.rewind - $stderr.puts(out.read) - end - exit $?.exitstatus - end - ensure - out.close if out && output_file - err.close if err && !VERBOSE - end - - - GEM_HOME = File.join(BUNDLE_DESTROOT, 'lib/ruby/gems', RUBY__VERSION.sub(/\d+$/, '0')) - - def install_gem(name, version = nil, group = 'Gems') - execute group, [BUNDLE_ENV, 'gem', 'install', name, ("--version=#{version}" if version), '--no-document', '--env-shebang'].compact - end - - def update_gem(name, group = 'Gem Update') - execute group, [BUNDLE_ENV, 'gem', 'update', name, '--no-document', '--env-shebang'].compact - end -end \ No newline at end of file diff --git a/shims/cert_shim b/shims/cert_shim deleted file mode 100755 index 340e1e6..0000000 --- a/shims/cert_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane cert "$@" diff --git a/shims/deliver_shim b/shims/deliver_shim deleted file mode 100755 index e59aaec..0000000 --- a/shims/deliver_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane deliver "$@" diff --git a/shims/fastlane-credential_shim b/shims/fastlane-credential_shim deleted file mode 100755 index 9c32555..0000000 --- a/shims/fastlane-credential_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane fastlane-credential "$@" diff --git a/shims/fastlane_shim b/shims/fastlane_shim deleted file mode 100755 index 1664f26..0000000 --- a/shims/fastlane_shim +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -function gem_cleanup() { - EXCLUDE_SYSTEM_GEMS="true" "${DIR}/bundle/bin/bundle-env" gem cleanup -} - -if [ "$1" = "update_fastlane" ]; then - "${DIR}/bundle/bin/bundle-env" gem update --no-document fastlane - gem_cleanup -else - exec "${DIR}/bundle/bin/bundle-env" fastlane "$@" -fi; diff --git a/shims/frameit_shim b/shims/frameit_shim deleted file mode 100755 index cf1e927..0000000 --- a/shims/frameit_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane frameit "$@" diff --git a/shims/gym_shim b/shims/gym_shim deleted file mode 100755 index 7cde198..0000000 --- a/shims/gym_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane gym "$@" diff --git a/shims/match_shim b/shims/match_shim deleted file mode 100755 index 2c18a85..0000000 --- a/shims/match_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane match "$@" diff --git a/shims/pem_shim b/shims/pem_shim deleted file mode 100755 index 10a2995..0000000 --- a/shims/pem_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane pem "$@" diff --git a/shims/pilot_shim b/shims/pilot_shim deleted file mode 100755 index 6043df6..0000000 --- a/shims/pilot_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane pilot "$@" diff --git a/shims/produce_shim b/shims/produce_shim deleted file mode 100755 index d8be031..0000000 --- a/shims/produce_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane produce "$@" diff --git a/shims/scan_shim b/shims/scan_shim deleted file mode 100755 index ab45b94..0000000 --- a/shims/scan_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane scan "$@" diff --git a/shims/screengrab_shim b/shims/screengrab_shim deleted file mode 100755 index 66cdfc8..0000000 --- a/shims/screengrab_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane screengrab "$@" diff --git a/shims/sigh_shim b/shims/sigh_shim deleted file mode 100755 index 3f523e2..0000000 --- a/shims/sigh_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane sigh "$@" diff --git a/shims/snapshot_shim b/shims/snapshot_shim deleted file mode 100755 index 78bdd1b..0000000 --- a/shims/snapshot_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane snapshot "$@" diff --git a/shims/spaceauth_shim b/shims/spaceauth_shim deleted file mode 100755 index 8f5095c..0000000 --- a/shims/spaceauth_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane spaceauth "$@" diff --git a/shims/spaceship_shim b/shims/spaceship_shim deleted file mode 100755 index 5e3c5d6..0000000 --- a/shims/spaceship_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane spaceship "$@" diff --git a/shims/supply_shim b/shims/supply_shim deleted file mode 100755 index de3b4b2..0000000 --- a/shims/supply_shim +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec "`dirname "${BASH_SOURCE[0]}"`/bundle/bin/bundle-env" fastlane supply "$@" diff --git a/shims_and_bins.rake b/shims_and_bins.rake deleted file mode 100644 index 08be0f6..0000000 --- a/shims_and_bins.rake +++ /dev/null @@ -1,98 +0,0 @@ -# Fastlane -file "#{DESTROOT}/fastlane" do - cp 'shims/fastlane_shim', "#{DESTROOT}/fastlane" -end - -file "#{FULL_BUNDLE_PATH}/fastlane" do - cp 'bins/fastlane_bin', "#{FULL_BUNDLE_PATH}/fastlane" -end - -# Sigh -file "#{DESTROOT}/sigh" do - cp 'shims/sigh_shim', "#{DESTROOT}/sigh" -end - -file "#{FULL_BUNDLE_PATH}/sigh" do - cp 'bins/sigh_bin', "#{FULL_BUNDLE_PATH}/sigh" -end - -# Snapshot -file "#{DESTROOT}/snapshot" do - cp 'shims/snapshot_shim', "#{DESTROOT}/snapshot" -end - -file "#{FULL_BUNDLE_PATH}/snapshot" do - cp 'bins/snapshot_bin', "#{FULL_BUNDLE_PATH}/snapshot" -end - -# PEM -file "#{DESTROOT}/pem" do - cp 'shims/pem_shim', "#{DESTROOT}/pem" -end - -file "#{FULL_BUNDLE_PATH}/pem" do - cp 'bins/pem_bin', "#{FULL_BUNDLE_PATH}/pem" -end - -# FrameIt -file "#{DESTROOT}/frameit" do - cp 'shims/frameit_shim', "#{DESTROOT}/frameit" -end - -file "#{FULL_BUNDLE_PATH}/frameit" do - cp 'bins/frameit_bin', "#{FULL_BUNDLE_PATH}/frameit" -end - -# Deliver -file "#{DESTROOT}/deliver" do - cp 'shims/deliver_shim', "#{DESTROOT}/deliver" -end - -file "#{FULL_BUNDLE_PATH}/deliver" do - cp 'bins/deliver_bin', "#{FULL_BUNDLE_PATH}/deliver" -end - -# Produce -file "#{DESTROOT}/produce" do - cp 'shims/produce_shim', "#{DESTROOT}/produce" -end - -file "#{FULL_BUNDLE_PATH}/produce" do - cp 'bins/produce_bin', "#{FULL_BUNDLE_PATH}/produce" -end - -# Gym -file "#{DESTROOT}/gym" do - cp 'shims/gym_shim', "#{DESTROOT}/gym" -end - -file "#{FULL_BUNDLE_PATH}/gym" do - cp 'bins/gym_bin', "#{FULL_BUNDLE_PATH}/gym" -end - -# Scan -file "#{DESTROOT}/scan" do - cp 'shims/scan_shim', "#{DESTROOT}/scan" -end - -file "#{FULL_BUNDLE_PATH}/scan" do - cp 'bins/scan_bin', "#{FULL_BUNDLE_PATH}/scan" -end - -# Match -file "#{DESTROOT}/match" do - cp 'shims/match_shim', "#{DESTROOT}/match" -end - -file "#{FULL_BUNDLE_PATH}/match" do - cp 'bins/match_bin', "#{FULL_BUNDLE_PATH}/match" -end - -# Cert -file "#{DESTROOT}/cert" do - cp 'shims/cert_shim', "#{DESTROOT}/cert" -end - -file "#{FULL_BUNDLE_PATH}/cert" do - cp 'bins/cert_bin', "#{FULL_BUNDLE_PATH}/cert" -end From 1b5c4d541fe278d70f27c7f416cd99362b301f05 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Fri, 8 Nov 2019 10:40:07 -0600 Subject: [PATCH 02/45] Updated to published cask file and updated some README --- DEPLOY_README.md | 67 --------------------------------------- README.md | 25 ++++++++------- cask/fastlane.rb | 17 ++++++---- cask/fastlane.rb.template | 28 ---------------- 4 files changed, 24 insertions(+), 113 deletions(-) delete mode 100644 DEPLOY_README.md delete mode 100644 cask/fastlane.rb.template diff --git a/DEPLOY_README.md b/DEPLOY_README.md deleted file mode 100644 index dc83be7..0000000 --- a/DEPLOY_README.md +++ /dev/null @@ -1,67 +0,0 @@ -# Package -## Create the package -Creating the package is simple. Just run `rake package:standalone:zip` to compile and build the package of Ruby with _fastlane_. This will create the `.zip` file as well for sending to other people for testing or (if totally necessary) deploying to S3. - -This job queries RubyGems to get the most recent version that is available and builds that version of `fastlane`. By running `rake --tasks` you should also be able to predict what version will be built as that will also make the call to fetch the most recent version from RubyGems. - -## Finishing up the package for the different targets - -Depending on what environment you build the package for, you need to run either of those finish tasks: - -### Fabric Mac app fastlane - -This will set the Ruby environment to fallback to the Ruby that is installed on the user's machine, if a gem can't be found inside the fastlane bundle. - -``` -rake package:mac_app:zip -``` - -### fastlane standalone bundle - -This will set the Ruby environment to only use the bundled gems, and absolutely no external ones that are installed on the user's machine. If the user wants to use a plugin for example, they need to install the gem into the fastlane bundle itself (instructions on how to do so will follow) - -``` -rake package:standalone:zip -``` - -### Installing the package - -To install this on the user's machine, just copy the `fastlane_lib` to `/usr/local/lib/`: - -```sh -cd bundle-2.x.x -cp -R fastlane_lib /usr/local/lib - -./fastlane -v # => 2.x.x -``` - -### Cleanup -Run `rake package:clean:all` to clean up everything from the package you created and start fresh. - -## Deployment -### Mac App -The CI job 'Fastlane Mac App Package' will build the package, upload to S3 and update the `version.json` file to the package's versions of _fastlane_. - -Currently, there are still issues with adding that second VCS root to the job to trigger the build, so kicking it off manually is necessary and as we've seen since we have shipped, it is not the worst thing in the world that this doesnt get kicked off automatically from `fastlane` pushes. - -That being said, the designed behavior is that if this job does run, it will check to see if the `version.json` is behind the version on RubyGems before it will continue to build. If the `version.json` is up to date, the job will finish and no new package will be built or uploaded. - -### Standalone -The 'Fastlane Standalone Package' job, will build the package, upload to S3 and update the `standalone/version.json` file with the package's version number. - -Currently, updating the Cask is done manually. - -- Download the zip file from CI into the _packaged-fastlane_ directory -- Run `rake package:standalone:prepare_cask_template` to generate the new cask file -- Run `brew cask audit --download cask/fastlane.rb ` -- Run `brew cask style --fix cask/fastlane.rb ` -- Submit a PR to https://github.com/caskroom/homebrew-cask with the updated `fastlane.rb` cask file - - -## Using the bundle -In terminal, call `path/to/destroot/fastlane` followed by a normal call to any `fastlane` action or lane. - -### Background -This is being build using the same method by which [CocoaPods-app](https://github.com/CocoaPods/CocoaPods-app) is building their bundled Ruby. But the process has been pared down to fit our needs. - -Some of the code might still contain traces of CocoaPods code, and defintely, the way that the `Rakefile` has been broken up could use some work. diff --git a/README.md b/README.md index 62174cd..dfc0865 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,15 @@ # packaged-fastlane 🚀 -## Create the package 🛠 -Creating the bundle is simple. Just run `rake package:standalone:zip` to compile and build the package of ruby with `fastlane`. -This job queries RubyGems to get the most recent version that is available and builds that version of `fastlane`. By running `rake --tasks` you should also be able to predict what version will be built as that will also make the call to fetch the most recent version from RubyGems. - -### Cleanup 🚿 -Run tasks in the `package:clean` namespace to clean up after yourself if you'd like. - -## Using the package 📦 -In a terminal, call `path/to/bundle-x.x.x/fastlane` followed by a normal call to any `fastlane` action, lane, or tool (i.e. snapshot, gym, etc.). - -## Background 🍫 -The heavy lifting of this project is handled by work done by the [CocoaPods team](https://cocoapods.org/about#team) for the [CocoaPods-app](https://github.com/CocoaPods/CocoaPods-app). They deserve many thanks for helping to make _packaged fastlane_ possible! +## Usage 🛠 + +- Install by running `./install` + 1. Checks if _fastlane_ is already installed at `~/.fastlane/bin` + 1. Check if `PACKAGED_FASTLANE_VERSION.txt` and will completely uninstall if older version of packaged _fastlane_ if not + 1. Checks if `PACKAGED_RUBY_VERSION.txt` doesn't exist or if different. If so... + 1. Installs/updates `ruby-build` via `brew` + 1. Installs/updates `openssl` via `brew` + 1. Installs new version of Ruby + 1. Copies all files needed for running _fastlane_ with this Ruby version + 1. Installs `bundler` and `fastlane` +- Uninstall by running `./uninstall` + 1. Deletes `~/.fastlane/bin` \ No newline at end of file diff --git a/cask/fastlane.rb b/cask/fastlane.rb index 783c90c..3d5a9ae 100644 --- a/cask/fastlane.rb +++ b/cask/fastlane.rb @@ -1,13 +1,18 @@ cask 'fastlane' do - version '1.8' - sha256 '74bf78e033b64036b80832f92ece77fb12831f50380e60d5c9c7677aa433ff4b' + version :latest + sha256 :no_check - # kits-crashlytics-com.s3.amazonaws.com/fastlane/ was verified as official when first introduced to the cask - url "https://kits-crashlytics-com.s3.amazonaws.com/fastlane/standalone/bundle-#{version}.zip" + url 'https://fastlane.tools/fastlane.zip' name 'fastlane' homepage 'https://fastlane.tools/' - installer script: "#{staged_path}/install", args: ['-p', '-u', '-b'], sudo: false + installer script: { + executable: "#{staged_path}/install", + args: ['-p', '-u', '-b'], + } - uninstall script: { executable: "#{staged_path}/uninstall", args: ['-y'], sudo: false } + uninstall script: { + executable: "#{staged_path}/uninstall", + args: ['-y'], + } end diff --git a/cask/fastlane.rb.template b/cask/fastlane.rb.template deleted file mode 100644 index 4bde4e2..0000000 --- a/cask/fastlane.rb.template +++ /dev/null @@ -1,28 +0,0 @@ -cask 'fastlane' do - version '{{CURRENT_VERSION}}' - sha256 '{{SHA_NUM}}' - - # kits-crashlytics-com.s3.amazonaws.com/fastlane/ was verified as official when first introduced to the cask - url "https://kits-crashlytics-com.s3.amazonaws.com/fastlane/standalone/bundle-#{version}.zip" - name 'fastlane' - homepage 'https://fastlane.tools' - - installer script: "#{staged_path}/install", args: ['-p', '-u', '-b'], sudo: false - - uninstall script: { executable: "#{staged_path}/uninstall", args: ['-y'], sudo: false } -end - -This is how its created but you know... not here -# desc "Prepare Homebrew cask file" -# task :prepare_cask_template do -# brew_template_path = File.join(File.dirname(__FILE__), "cask", "fastlane.rb.template") -# brew_file_path = File.join(File.dirname(__FILE__), "cask", "fastlane.rb") -# -# template = File.read(brew_template_path) -# template.gsub!("{{CURRENT_VERSION}}", BUNDLE_VERSION.to_s) -# -# sha256sum = Digest::SHA256.file(ZIPPED_STANDALONE).hexdigest -# template.gsub!("{{SHA_NUM}}", sha256sum) -# -# File.write(brew_file_path, template) -# end \ No newline at end of file From 587271666c59576f47d437d01c7c59eaea1f7f7e Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Fri, 8 Nov 2019 10:41:49 -0600 Subject: [PATCH 03/45] Deployment info --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dfc0865..23a3fa2 100644 --- a/README.md +++ b/README.md @@ -12,4 +12,12 @@ 1. Copies all files needed for running _fastlane_ with this Ruby version 1. Installs `bundler` and `fastlane` - Uninstall by running `./uninstall` - 1. Deletes `~/.fastlane/bin` \ No newline at end of file + 1. Deletes `~/.fastlane/bin` + +## Deployment + +### Cask +Updated the `cask/fastlane.rb` if necessary and PR into https://github.com/Homebrew/homebrew-cask/blob/master/Casks/fastlane.rb + +### fastlane.zip +zip this entire directoy and PR into https://github.com/fastlane/fastlane.tools/blob/gh-pages/fastlane.zip \ No newline at end of file From fcfbc0b2ad08d461a32519c1330abad8f4dd52c4 Mon Sep 17 00:00:00 2001 From: Manfred Endres Date: Thu, 28 Nov 2019 16:49:25 +0100 Subject: [PATCH 04/45] Fix 2.0 installer script Hey I made some adjustments to your changes for the new installer package. * Add missing `fastlane_shim` file * remove ssl certificate environment line from `bundle-env` * added option switch `-u` to skip prompts for autoupdate/install --- bundle-env | 1 - fastlane_shim | 20 ++++++++++++++++++++ install | 9 +++++++-- 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100755 fastlane_shim diff --git a/bundle-env b/bundle-env index d58a609..901573c 100755 --- a/bundle-env +++ b/bundle-env @@ -17,7 +17,6 @@ unset GEM_CACHE # necessary. export PATH=$BIN:$PATH -export SSL_CERT_FILE=$PREFIX/share/cacert.pem export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 diff --git a/fastlane_shim b/fastlane_shim new file mode 100755 index 0000000..f2d86a3 --- /dev/null +++ b/fastlane_shim @@ -0,0 +1,20 @@ +#!/bin/bash + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do + DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" +done +DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" + +function gem_cleanup() { + EXCLUDE_SYSTEM_GEMS="true" "${DIR}/bundle/bin/bundle-env" gem cleanup +} + +if [ "$1" = "update_fastlane" ]; then + "${DIR}/bundle/bin/bundle-env" gem update --no-document fastlane + gem_cleanup +else + exec "${DIR}/bundle/bin/bundle-env" fastlane "$@" +fi; diff --git a/install b/install index fad07d3..f47aba6 100755 --- a/install +++ b/install @@ -12,10 +12,10 @@ PACKAGED_FASTLANE_VERSION_FILE="$FASTLANE_DIR/PACKAGED_FASTLANE_VERSION.txt" PACKAGED_RUBY_VERSION_FILE="$FASTLANE_DIR/PACKAGED_RUBY_VERSION.txt" usage() { - echo "./install [-u] [-p] [-b]" - echo " -u : Uninstall fastlane if it exists in $FASTLANE_DIR" + echo "./install [-p] [-b] [-a]" echo " -p : Don't update the path automatically" echo " -b : Installed via homebrew" + echo " -a : autoupdate ruby-build and openssl" exit 1 } @@ -24,6 +24,7 @@ while getopts ":pub" opt; do case $opt in p ) SKIP_SETTING_PATH=1;; b ) INSTALLED_VIA_HOMEBREW=true;; + a ) NO_PROMPS=1;; * ) usage ;; esac done @@ -52,6 +53,10 @@ install_or_upgrade_via_homebrew() prompt_to_install_or_upgrade() { + if [ "$NO_PROMPS" == "1" ]; then + return + fi + PACKAGE=$1 read -p "The installer needs to install/upgrade $PACKAGE with brew. Is that okay? (y/N) " -n 1 choice From 4a716cfff390a7854d589203dfebadf0e3f96910 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 15:09:38 -0600 Subject: [PATCH 05/45] Added some early exits if error --- cask/fastlane.rb | 4 ++-- install | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/cask/fastlane.rb b/cask/fastlane.rb index 3d5a9ae..014a049 100644 --- a/cask/fastlane.rb +++ b/cask/fastlane.rb @@ -1,8 +1,8 @@ cask 'fastlane' do - version :latest + version '2.0.0' sha256 :no_check - url 'https://fastlane.tools/fastlane.zip' + url "https://fastlane.tools/packaged-fastlane-#{version}.zip" name 'fastlane' homepage 'https://fastlane.tools/' diff --git a/install b/install index f47aba6..92b3856 100755 --- a/install +++ b/install @@ -24,7 +24,7 @@ while getopts ":pub" opt; do case $opt in p ) SKIP_SETTING_PATH=1;; b ) INSTALLED_VIA_HOMEBREW=true;; - a ) NO_PROMPS=1;; + a ) NO_PROMPTS=1;; * ) usage ;; esac done @@ -43,17 +43,27 @@ install_or_upgrade_via_homebrew() echo "$PACKAGE is not updated" prompt_to_install_or_upgrade $PACKAGE brew upgrade $PACKAGE + + if [ $? -ne 0 ]; then + echo "$PACKAGE failed to install" + exit 1 + fi fi else echo "$PACKAGE is not installed." prompt_to_install_or_upgrade $PACKAGE brew install $PACKAGE + + if [ $? -ne 0 ]; then + echo "$PACKAGE failed to install" + exit 1 + fi fi } prompt_to_install_or_upgrade() { - if [ "$NO_PROMPS" == "1" ]; then + if [ "$NO_PROMPTS" == "1" ]; then return fi @@ -111,6 +121,11 @@ else echo "Linking Ruby $PACKAGED_RUBY_VERSION to OpenSSL at $OPENSSL_DIR" RUBY_CONFIGURE_OPTS=--with-openssl-dir="$OPENSSL_DIR" ruby-build $PACKAGED_RUBY_VERSION "$FASTLANE_DIR/bundle" + if [ $? -ne 0 ]; then + echoc "Failed to build Ruby with ruby-build..." red + exit 1 + fi + echo "$PACKAGED_RUBY_VERSION" >> $PACKAGED_RUBY_VERSION_FILE fi From 1399d714375e6efde0cc73404afa481c291b0652 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 22:44:02 -0600 Subject: [PATCH 06/45] Added some circle --- .circle/config.yml | 29 +++++++++++++++++++++++++++++ install | 36 ++++++++++++++++++++---------------- 2 files changed, 49 insertions(+), 16 deletions(-) create mode 100644 .circle/config.yml diff --git a/.circle/config.yml b/.circle/config.yml new file mode 100644 index 0000000..d48c680 --- /dev/null +++ b/.circle/config.yml @@ -0,0 +1,29 @@ +version: 2 + +jobs: + "Execute tests on macOS (Xcode 9.0.1, Ruby 2.3)": + macos: + xcode: "11.0.0" + environment: + LC_ALL: en_US.UTF-8 + LANG: en_US.UTF-8 + shell: /bin/bash --login -eo pipefail + steps: + - checkout + - restore_cache: + keys: + - v3-homebrew-{{ epoch }} + - v3-homebrew + - run: + name: Setup Build + command: | + mkdir -p ~/test-reports + echo "2.3" > .ruby-version + gem update --system + + - run: ./install -a + + - save_cache: + key: v3-homebrew-{{ epoch }} + paths: + - /usr/local/Homebrew \ No newline at end of file diff --git a/install b/install index 92b3856..8d66ac2 100755 --- a/install +++ b/install @@ -20,7 +20,8 @@ usage() { } # Reads all options passed in and sets environment variables or shows usage/help -while getopts ":pub" opt; do +while getopts ":pba" opt; do + echo "OPT $opt" case $opt in p ) SKIP_SETTING_PATH=1;; b ) INSTALLED_VIA_HOMEBREW=true;; @@ -188,21 +189,24 @@ if [ $? -ne 0 ]; then set_color cyan echo -e "$LINE_TO_ADD" reset_color - set_color yellow - read -p "Do you want fastlane to add itself to the PATH by updating your profile? (y/n) " -n 1 choice - reset_color - case "$choice" in - y|Y ) - echo "" - echo -e $LINE_TO_ADD >> $profile_expanded - echoc "Successfully updated $profile" green - echoc "Please close the terminal session and restart it to start using fastlane 🚀" green - ;; - * ) - echo "" - manual_installation "$LINE_TO_ADD" - ;; - esac + + if [ "$NO_PROMPTS" != "1" ]; then + set_color yellow + read -p "Do you want fastlane to add itself to the PATH by updating your profile? (y/n) " -n 1 choice + reset_color + case "$choice" in + y|Y ) + echo "" + echo -e $LINE_TO_ADD >> $profile_expanded + echoc "Successfully updated $profile" green + echoc "Please close the terminal session and restart it to start using fastlane 🚀" green + ;; + * ) + echo "" + manual_installation "$LINE_TO_ADD" + ;; + esac + fi else echoc "Couldn't detect shell config file ($shell - $profile)" red manual_installation "$LINE_TO_ADD" From 6638a2d4e90844f55fdd032e7921b19fea0badca Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 22:45:35 -0600 Subject: [PATCH 07/45] Whoops, wrong directory --- {.circle => .circleci}/config.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {.circle => .circleci}/config.yml (100%) diff --git a/.circle/config.yml b/.circleci/config.yml similarity index 100% rename from .circle/config.yml rename to .circleci/config.yml From fba382bb95fb8d015f2154159a3cab2360a204fe Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 22:56:01 -0600 Subject: [PATCH 08/45] Retrigger PR --- .circleci/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d48c680..9ffafb9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,9 +20,7 @@ jobs: mkdir -p ~/test-reports echo "2.3" > .ruby-version gem update --system - - run: ./install -a - - save_cache: key: v3-homebrew-{{ epoch }} paths: From b1c6c3022c5d6238f4be4aa62af310df2159b892 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 22:56:56 -0600 Subject: [PATCH 09/45] Forgot workflows --- .circleci/config.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9ffafb9..ec994bd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -24,4 +24,10 @@ jobs: - save_cache: key: v3-homebrew-{{ epoch }} paths: - - /usr/local/Homebrew \ No newline at end of file + - /usr/local/Homebrew + +workflows: + version: 2 + build: + jobs: + - "Execute tests on macOS (Xcode 9.0.1, Ruby 2.3)" \ No newline at end of file From a261e177559542c959781e2a4e350d328da032e6 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 23:01:17 -0600 Subject: [PATCH 10/45] Ruby 2.4 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ec994bd..a1106fb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ jobs: name: Setup Build command: | mkdir -p ~/test-reports - echo "2.3" > .ruby-version + echo "2.4" > .ruby-version gem update --system - run: ./install -a - save_cache: From fb8abb9b68a7c9efebf5a9174b3c361abe1eea27 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 23:02:41 -0600 Subject: [PATCH 11/45] Maybe this --- .circleci/config.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a1106fb..3e17073 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,12 +14,6 @@ jobs: keys: - v3-homebrew-{{ epoch }} - v3-homebrew - - run: - name: Setup Build - command: | - mkdir -p ~/test-reports - echo "2.4" > .ruby-version - gem update --system - run: ./install -a - save_cache: key: v3-homebrew-{{ epoch }} @@ -30,4 +24,4 @@ workflows: version: 2 build: jobs: - - "Execute tests on macOS (Xcode 9.0.1, Ruby 2.3)" \ No newline at end of file + - "Execute tests on macOS (Xcode 11.0.0)" \ No newline at end of file From 644902263cb46980314d80457fa9ab72f4890881 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 23:03:19 -0600 Subject: [PATCH 12/45] Okay, this is it --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3e17073..ef3a7ce 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2 jobs: - "Execute tests on macOS (Xcode 9.0.1, Ruby 2.3)": + "Execute tests on macOS (Xcode 11.0.0)": macos: xcode: "11.0.0" environment: From 06f9e825d73437d8291c3e083e64b2264f87cc30 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 23:28:55 -0600 Subject: [PATCH 13/45] Get version and uninstall --- .circleci/config.yml | 6 ++++-- install | 11 ++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ef3a7ce..b2bb425 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,14 +7,16 @@ jobs: environment: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 - shell: /bin/bash --login -eo pipefail + # shell: /bin/bash --login -eo pipefail steps: - checkout - restore_cache: keys: - v3-homebrew-{{ epoch }} - v3-homebrew - - run: ./install -a + - run: ./install -y + - run: ~/.fastlane/bin/fastlane --version + - run: ./uninstall - save_cache: key: v3-homebrew-{{ epoch }} paths: diff --git a/install b/install index 8d66ac2..e2a9c22 100755 --- a/install +++ b/install @@ -12,10 +12,10 @@ PACKAGED_FASTLANE_VERSION_FILE="$FASTLANE_DIR/PACKAGED_FASTLANE_VERSION.txt" PACKAGED_RUBY_VERSION_FILE="$FASTLANE_DIR/PACKAGED_RUBY_VERSION.txt" usage() { - echo "./install [-p] [-b] [-a]" + echo "./install [-p] [-b] [-y]" echo " -p : Don't update the path automatically" echo " -b : Installed via homebrew" - echo " -a : autoupdate ruby-build and openssl" + echo " -y : Confirm install of ruby-build and openssl" exit 1 } @@ -190,7 +190,12 @@ if [ $? -ne 0 ]; then echo -e "$LINE_TO_ADD" reset_color - if [ "$NO_PROMPTS" != "1" ]; then + if [ "$NO_PROMPTS" == "1" ]; then + echo "" + echo -e $LINE_TO_ADD >> $profile_expanded + echoc "Successfully updated $profile" green + echoc "Please close the terminal session and restart it to start using fastlane 🚀" green + else set_color yellow read -p "Do you want fastlane to add itself to the PATH by updating your profile? (y/n) " -n 1 choice reset_color From 2e49274b88a471042f60bd75c4f65cd78f5ab376 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Wed, 4 Dec 2019 23:30:20 -0600 Subject: [PATCH 14/45] a to y --- install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install b/install index e2a9c22..03bc2bc 100755 --- a/install +++ b/install @@ -20,12 +20,12 @@ usage() { } # Reads all options passed in and sets environment variables or shows usage/help -while getopts ":pba" opt; do +while getopts ":pby" opt; do echo "OPT $opt" case $opt in p ) SKIP_SETTING_PATH=1;; b ) INSTALLED_VIA_HOMEBREW=true;; - a ) NO_PROMPTS=1;; + y ) NO_PROMPTS=1;; * ) usage ;; esac done From 686ca40941012479e3ce4584870d43f3825c6a7f Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:03:04 -0600 Subject: [PATCH 15/45] Fix some tput issues on CI --- common.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/common.sh b/common.sh index 3eed8ef..3c440ea 100644 --- a/common.sh +++ b/common.sh @@ -19,7 +19,9 @@ set_color() { * ) color_val=0;; esac - tput setaf $color_val + if tty -s; then + tput setaf $color_val + fi } echoc() { @@ -31,7 +33,9 @@ echoc() { } reset_color() { - tput sgr0 + if tty -s; then + tput sgr0 + fi } # Detect shell environment From 028deb1f5af6492fbce395132dcc60935e157fa2 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:09:56 -0600 Subject: [PATCH 16/45] Maybe this one --- common.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/common.sh b/common.sh index 3c440ea..6968c66 100644 --- a/common.sh +++ b/common.sh @@ -19,9 +19,7 @@ set_color() { * ) color_val=0;; esac - if tty -s; then - tput setaf $color_val - fi + tty -s && tput setaf $color_val } echoc() { @@ -33,9 +31,7 @@ echoc() { } reset_color() { - if tty -s; then - tput sgr0 - fi + tty -s && tput sgr0 } # Detect shell environment From f885856e431a76cee0a4bc8dd986519fdb9caca8 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:14:22 -0600 Subject: [PATCH 17/45] This will be it --- .circleci/config.yml | 1 + common.sh | 4 ++-- install | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b2bb425..f06abb7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,6 +7,7 @@ jobs: environment: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 + TERM: dumb # shell: /bin/bash --login -eo pipefail steps: - checkout diff --git a/common.sh b/common.sh index 6968c66..3eed8ef 100644 --- a/common.sh +++ b/common.sh @@ -19,7 +19,7 @@ set_color() { * ) color_val=0;; esac - tty -s && tput setaf $color_val + tput setaf $color_val } echoc() { @@ -31,7 +31,7 @@ echoc() { } reset_color() { - tty -s && tput sgr0 + tput sgr0 } # Detect shell environment diff --git a/install b/install index 03bc2bc..b47d6da 100755 --- a/install +++ b/install @@ -21,7 +21,6 @@ usage() { # Reads all options passed in and sets environment variables or shows usage/help while getopts ":pby" opt; do - echo "OPT $opt" case $opt in p ) SKIP_SETTING_PATH=1;; b ) INSTALLED_VIA_HOMEBREW=true;; From 2ef5b110259c00170350cb389d1da04240e6a541 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:28:28 -0600 Subject: [PATCH 18/45] Or this --- install | 1 + 1 file changed, 1 insertion(+) diff --git a/install b/install index b47d6da..9082275 100755 --- a/install +++ b/install @@ -194,6 +194,7 @@ if [ $? -ne 0 ]; then echo -e $LINE_TO_ADD >> $profile_expanded echoc "Successfully updated $profile" green echoc "Please close the terminal session and restart it to start using fastlane 🚀" green + exit 0 else set_color yellow read -p "Do you want fastlane to add itself to the PATH by updating your profile? (y/n) " -n 1 choice From ed0323f5a32655e86e5ca72b91700169c00b9b39 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:36:17 -0600 Subject: [PATCH 19/45] One more time --- install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install b/install index 9082275..71c6288 100755 --- a/install +++ b/install @@ -194,7 +194,6 @@ if [ $? -ne 0 ]; then echo -e $LINE_TO_ADD >> $profile_expanded echoc "Successfully updated $profile" green echoc "Please close the terminal session and restart it to start using fastlane 🚀" green - exit 0 else set_color yellow read -p "Do you want fastlane to add itself to the PATH by updating your profile? (y/n) " -n 1 choice @@ -219,3 +218,5 @@ if [ $? -ne 0 ]; then else echoc "Detected fastlane is already in your path 🚀" green fi + +echo "" \ No newline at end of file From cd80c3359a6752d8c78fc53df29dd0904a1a8099 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:36:49 -0600 Subject: [PATCH 20/45] Force uninstall --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f06abb7..f4f5d16 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,7 +17,7 @@ jobs: - v3-homebrew - run: ./install -y - run: ~/.fastlane/bin/fastlane --version - - run: ./uninstall + - run: ./uninstall -y - save_cache: key: v3-homebrew-{{ epoch }} paths: From 727f20ba1b10c045ae5072e90a9b6fce405d63a3 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:47:14 -0600 Subject: [PATCH 21/45] Maybe this will do it --- common.sh | 2 ++ install | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common.sh b/common.sh index 3eed8ef..aa9a5af 100644 --- a/common.sh +++ b/common.sh @@ -20,6 +20,7 @@ set_color() { esac tput setaf $color_val + : } echoc() { @@ -32,6 +33,7 @@ echoc() { reset_color() { tput sgr0 + : } # Detect shell environment diff --git a/install b/install index 71c6288..381dc39 100755 --- a/install +++ b/install @@ -217,6 +217,4 @@ if [ $? -ne 0 ]; then fi else echoc "Detected fastlane is already in your path 🚀" green -fi - -echo "" \ No newline at end of file +fi \ No newline at end of file From bac7dd910e1b1d089c318c12d3b49641b837e987 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Thu, 5 Dec 2019 00:54:50 -0600 Subject: [PATCH 22/45] This is the final one --- common.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/common.sh b/common.sh index aa9a5af..b218e57 100644 --- a/common.sh +++ b/common.sh @@ -19,7 +19,9 @@ set_color() { * ) color_val=0;; esac - tput setaf $color_val + tty -s && tput setaf $color_val + + # noop if tput has errors to reset exit code : } @@ -32,7 +34,9 @@ echoc() { } reset_color() { - tput sgr0 + tty -s && tput sgr0 + + # noop if tput has errors to reset exit code : } From 593c18efe54dd5bac072eea2c58379bba8ec5771 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Sat, 7 Dec 2019 05:30:54 -0600 Subject: [PATCH 23/45] Updated options for cask --- cask/fastlane.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cask/fastlane.rb b/cask/fastlane.rb index 014a049..e4e7af9 100644 --- a/cask/fastlane.rb +++ b/cask/fastlane.rb @@ -8,7 +8,7 @@ installer script: { executable: "#{staged_path}/install", - args: ['-p', '-u', '-b'], + args: ['-p', '-b', '-y'], } uninstall script: { From 537231533132d0e0f13bba9f3151decd3c3ca688 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Sat, 7 Dec 2019 08:33:21 -0600 Subject: [PATCH 24/45] Rakefile to do the packaging --- Gemfile | 4 +++ Gemfile.lock | 15 +++++++++ README.md | 26 ++++++++++++--- Rakefile | 87 ++++++++++++++++++++++++++++++++++++++++++++++++ cask/fastlane.rb | 2 +- 5 files changed, 129 insertions(+), 5 deletions(-) create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 Rakefile diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..3d86ffd --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem "rake" +gem "rubyzip" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..964a738 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + rake (13.0.1) + rubyzip (2.0.0) + +PLATFORMS + ruby + +DEPENDENCIES + rake + rubyzip + +BUNDLED WITH + 2.0.1 diff --git a/README.md b/README.md index 23a3fa2..0c9347a 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,26 @@ ## Deployment -### Cask -Updated the `cask/fastlane.rb` if necessary and PR into https://github.com/Homebrew/homebrew-cask/blob/master/Casks/fastlane.rb +Run `rake package['']` -### fastlane.zip -zip this entire directoy and PR into https://github.com/fastlane/fastlane.tools/blob/gh-pages/fastlane.zip \ No newline at end of file +This will... + +1) Package all needed files in a new zip file at `output/packaged-fastlane-#{new_version}.zip` +2) Updates `cask/fastlane.rb` with version and sha256 +3) Gives instructions on what to do next + +### Example output + +``` +➜ rake package["2.0.0"] +📦 Packaged at /Users/josh/Projects/fastlane/packaged-fastlane/output/packaged-fastlane-2.0.0.zip +✅ sha256: e89bf6d1270f4c9455a523c0dafae3cfe2a704e8e9953390dcdef9852f64b4f7 + +version '2.0.0' to '2.0.0' +sha256 '8503027d192da59ac1ab5e2715fb103451b178cce035d994b185440b6c9ab1aa' to 'e89bf6d1270f4c9455a523c0dafae3cfe2a704e8e9953390dcdef9852f64b4f7' +💪 Updated cask/fastlane.rb + +🚀 Now do two more things! +1) Upload zip file to https://github.com/fastlane/fastlane.tools +2) Update https://github.com/Homebrew/homebrew-cask/blob/master/Casks/fastlane.rb +``` \ No newline at end of file diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..60b461a --- /dev/null +++ b/Rakefile @@ -0,0 +1,87 @@ +task default: %w[package] + +# Helper for 'cask/fastlane.rb' +# Prints out version and sha256 +# Updates version and sha256 in 'cask/fastane.rb' if arguments passed +task :cask, [:property, :new_value] do |t, args| + property = args[:property] + new_value = args[:new_value] + + filename = "cask/fastlane.rb" + text = File.read(filename) + + # Iterate over lines to find verison and sha256 + lines = text.lines + lines = lines.map do |line| + line.match(/#{property} \'(.*)\'/) + value = $1 + + # Prints (and updates) version + puts "#{property}: #{value}" if value && !new_value + if value && new_value + puts "#{property} '#{value}' to '#{new_value}'" + line = line.gsub(value, new_value) + end + + line + end + + # Updates cask/fastlane.rb if needed + if new_value + f = File.new(filename, 'w') + lines.each do |line| + f.puts(line) + end + f.close + end +end + +task :package, [:new_version] do |t, args| + new_version = args[:new_version] + puts "ERROR: Please pass a new version" unless new_version + + output_dir = File.absolute_path("output") + FileUtils.rm_rf(output_dir) + + input_filenames = [ + 'LICENSE', + 'NOTICE.txt', + 'THIRDPARTYLICENSES.txt', + 'bundle-env', + 'common.sh', + 'fastlane_shim', + 'install', + 'parse_env.rb', + 'uninstall' + ] + + FileUtils.mkdir_p(output_dir) + zipfile_path = File.join(output_dir, "packaged-fastlane-#{new_version}.zip") + + # Zips all needed files + require 'zip' + Zip::File.open(zipfile_path, Zip::File::CREATE) do |zipfile| + input_filenames.each do |filename| + zipfile.add(filename, File.absolute_path(filename)) + end + end + + # Gets sha256 of zip file + require 'digest' + sha256 = Digest::SHA256.file(zipfile_path).to_s + + puts "📦 Packaged at #{zipfile_path}" + puts "✅ sha256: #{sha256}" + puts "" + + # Updates cask/fastlane.rb + Rake::Task["cask"].invoke('version', new_version) + Rake::Task["cask"].reenable + Rake::Task["cask"].invoke('sha256', sha256) + puts "💪 Updated cask/fastlane.rb" + + puts "" + puts "🚀 Now do two more things!" + puts "1) Upload zip file to https://github.com/fastlane/fastlane.tools" + puts "2) Update https://github.com/Homebrew/homebrew-cask/blob/master/Casks/fastlane.rb" +end diff --git a/cask/fastlane.rb b/cask/fastlane.rb index e4e7af9..2de739a 100644 --- a/cask/fastlane.rb +++ b/cask/fastlane.rb @@ -1,6 +1,6 @@ cask 'fastlane' do version '2.0.0' - sha256 :no_check + sha256 'e89bf6d1270f4c9455a523c0dafae3cfe2a704e8e9953390dcdef9852f64b4f7' url "https://fastlane.tools/packaged-fastlane-#{version}.zip" name 'fastlane' From 7937e4f86b2921c4d05e8f794e64a1dc40e1598f Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Sun, 8 Dec 2019 15:02:58 -0600 Subject: [PATCH 25/45] fastlane brew formual using Ruby 2.5 --- NOTICE.txt | 122 -------------------------------------------------- bundle-env | 4 +- fastlane_shim | 6 +-- install | 112 ++------------------------------------------- 4 files changed, 9 insertions(+), 235 deletions(-) delete mode 100644 NOTICE.txt diff --git a/NOTICE.txt b/NOTICE.txt deleted file mode 100644 index 55dbfce..0000000 --- a/NOTICE.txt +++ /dev/null @@ -1,122 +0,0 @@ -Copyright 2017 Google. All Rights Reserved. - -Licensed under the MIT license, you can fine the full license in LICENSE file. - -This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the specific language -governing permissions and limitations under the License. - -********************** -THIRD PARTY COMPONENTS -********************** -This software includes third party software subject to the following -copyrights: - -activesupport -addressable -ast -babosa -builder -bundler -byebug -CFPropertyList -claide -coderay -colored -commander -coveralls -crack -diff-lcs -docile -domain_name -dotenv -excon -fakefs -faraday -faraday_middleware -faraday-cookie_jar -fastimage -fastlane -fastlane-plugin-clubmate -fastlane-plugin-ruby -fastlane-plugin-sharethemeal -gh_inspector -google-api-client -googleauth -highline -http-cookie -httparty -httpclient -hurley -i18n -json -jwt -libyaml -license_finder -little-plugger -logging -memoist -method_source -mime-types -mini_magick -minitest -multi_json -multi_xml -multipart-post -nanaimo -ncurses -openssl -os -parser -plist -powerpack -pry -pry-byebug -public_suffix -rainbow -rake -rb-readline -readline (https://s3.amazonaws.com/open-source-mirrored-artifacts/readline-6.3.tar.gz) -representable -rest-client -retriable -rouge -rspec -rspec_junit_formatter -rspec-core -rspec-expectations -rspec-mocks -rspec-support -rubocop -ruby -ruby-progressbar -rubygems -rubyzip -safe_yaml -security -signet -simplecov -simplecov-html -slack-notifier -slop -stm_api -terminal-notifier -terminal-table -thor -thread_safe -tins -tzinfo -uber -unf -unf_ext -unicode-display_width -webmock -word_wrap -xcode-install -xcodeproj -xcpretty -xcpretty-travis-formatter -xml-simple -yard -zlib -tty-screen diff --git a/bundle-env b/bundle-env index 901573c..ff3f703 100755 --- a/bundle-env +++ b/bundle-env @@ -1,5 +1,5 @@ #!/bin/bash -BIN=$(cd "$(dirname "$0")"; pwd) +BIN=$(brew --prefix ruby@2.5)/bin PREFIX=$(dirname $BIN) LIB_PATH=$(dirname $PREFIX) @@ -36,4 +36,4 @@ else fi # Suppress errors relating to native extensions in the user's gemset. -exec "$@" 2> >(grep -v '^Ignoring .* because its extensions are not built. Try: gem pristine .* --version .*') +exec "$@" 2> >(grep -v '^Ignoring .* because its extensions are not built. Try: gem pristine .* --version .*') \ No newline at end of file diff --git a/fastlane_shim b/fastlane_shim index f2d86a3..e512168 100755 --- a/fastlane_shim +++ b/fastlane_shim @@ -9,12 +9,12 @@ done DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" function gem_cleanup() { - EXCLUDE_SYSTEM_GEMS="true" "${DIR}/bundle/bin/bundle-env" gem cleanup + EXCLUDE_SYSTEM_GEMS="true" "${DIR}/bundle-env" gem cleanup } if [ "$1" = "update_fastlane" ]; then - "${DIR}/bundle/bin/bundle-env" gem update --no-document fastlane + "${DIR}/bundle-env" gem update --no-document fastlane gem_cleanup else - exec "${DIR}/bundle/bin/bundle-env" fastlane "$@" + exec "${DIR}/bundle-env" fastlane "$@" fi; diff --git a/install b/install index 381dc39..d416be4 100755 --- a/install +++ b/install @@ -5,12 +5,6 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source "$CURRENT_DIR/common.sh" -PACKAGED_FASTLANE_VERSION=2.0.0 -PACKAGED_RUBY_VERSION=2.4.5 - -PACKAGED_FASTLANE_VERSION_FILE="$FASTLANE_DIR/PACKAGED_FASTLANE_VERSION.txt" -PACKAGED_RUBY_VERSION_FILE="$FASTLANE_DIR/PACKAGED_RUBY_VERSION.txt" - usage() { echo "./install [-p] [-b] [-y]" echo " -p : Don't update the path automatically" @@ -29,126 +23,28 @@ while getopts ":pby" opt; do esac done -install_or_upgrade_via_homebrew() -{ - PACKAGE=$1 - list_output=`brew list | grep $PACKAGE` - outdated_output=`brew outdated | grep $PACKAGE` - - if [[ ! -z "$list_output" ]]; then - echo "$PACKAGE is installed" - if [[ -z "$outdated_output" ]]; then - echo "$PACKAGE is updated" - else - echo "$PACKAGE is not updated" - prompt_to_install_or_upgrade $PACKAGE - brew upgrade $PACKAGE - - if [ $? -ne 0 ]; then - echo "$PACKAGE failed to install" - exit 1 - fi - fi - else - echo "$PACKAGE is not installed." - prompt_to_install_or_upgrade $PACKAGE - brew install $PACKAGE - - if [ $? -ne 0 ]; then - echo "$PACKAGE failed to install" - exit 1 - fi - fi -} - -prompt_to_install_or_upgrade() -{ - if [ "$NO_PROMPTS" == "1" ]; then - return - fi - - PACKAGE=$1 - - read -p "The installer needs to install/upgrade $PACKAGE with brew. Is that okay? (y/N) " -n 1 choice - echo "" - - case "$choice" in - y|Y ) - # Nothing - ;; - * ) - echoc "Cancelled uninstall process" red - exit 1 - ;; - esac -} - # Check if fastlane already exists if [ -d "$FASTLANE_DIR" ]; then echoc "fastlane is already installed at $FASTLANE_DIR" yellow - - # Check if old version and clean it up - if [ ! -f $PACKAGED_FASTLANE_VERSION_FILE ]; then - echoc "Found old version of brew packaged fastlane. Cleaning up..." yellow - "$CURRENT_DIR/uninstall" -y - fi fi echoc "Installing fastlane to $FASTLANE_DIR..." yellow -# -# Install ruby-build and Ruby version $PACKAGED_RUBY_VERSION only if needed -# -if [[ -f $PACKAGED_RUBY_VERSION_FILE && $(< $PACKAGED_RUBY_VERSION_FILE) == "$PACKAGED_RUBY_VERSION" ]]; then - echo "Ruby $PACKAGED_RUBY_VERSION already installed" -else - echo "Ruby $PACKAGED_RUBY_VERSION not installed. Preparing to install now. This might take a few minutes" - brew update >/dev/null 2>&1 - - install_or_upgrade_via_homebrew "ruby-build" - install_or_upgrade_via_homebrew "openssl" - - echoc "Building Ruby $PACKAGED_RUBY_VERSION... this also might take a few minutes" yellow - - mkdir -p "$FASTLANE_DIR/bundle" - - OPENSSL_DIR=$(brew --prefix openssl) - if [ $? -ne 0 ]; then - echoc "Couldn't find path of OpenSSL. Cancelled install process..." red - exit 1 - fi - - echo "Linking Ruby $PACKAGED_RUBY_VERSION to OpenSSL at $OPENSSL_DIR" - RUBY_CONFIGURE_OPTS=--with-openssl-dir="$OPENSSL_DIR" ruby-build $PACKAGED_RUBY_VERSION "$FASTLANE_DIR/bundle" - - if [ $? -ne 0 ]; then - echoc "Failed to build Ruby with ruby-build..." red - exit 1 - fi - - echo "$PACKAGED_RUBY_VERSION" >> $PACKAGED_RUBY_VERSION_FILE -fi - # Copy helpers for keeping a clean execution environment -cp "$CURRENT_DIR/bundle-env" "$FASTLANE_DIR/bundle/bin" +mkdir -p "$FASTLANE_DIR" +cp "$CURRENT_DIR/bundle-env" "$FASTLANE_DIR" cp "$CURRENT_DIR/parse_env.rb" "$FASTLANE_DIR" # Install bundler and fastlane -$FASTLANE_DIR/bundle/bin/bundle-env gem install bundler --no-document --env-shebang -$FASTLANE_DIR/bundle/bin/bundle-env gem install fastlane --no-document --env-shebang +$FASTLANE_DIR/bundle-env gem install bundler --no-document --env-shebang +$FASTLANE_DIR/bundle-env gem install fastlane --no-document --env-shebang # Copy the fastlane executable to run fastlane in the bundled environment cp "$CURRENT_DIR/fastlane_shim" "$FASTLANE_DIR/fastlane" -# Copy legal stuff -cp "$CURRENT_DIR/NOTICE.txt" "$FASTLANE_DIR/.." -cp "$CURRENT_DIR/THIRDPARTYLICENSES.txt" "$FASTLANE_DIR/.." - echoc "Successfully installed fastlane to $FASTLANE_DIR" green echo "" -echo "$PACKAGED_FASTLANE_VERSION" >> $PACKAGED_FASTLANE_VERSION_FILE - # Update the contained fastlane install reset_color "$FASTLANE_DIR/fastlane" update_fastlane From b41f552ac42cbabea226ac87e2155071eef5b44b Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Sun, 8 Dec 2019 17:46:58 -0600 Subject: [PATCH 26/45] Simpler --- Gemfile | 4 - Gemfile.lock | 15 - Rakefile | 87 ----- THIRDPARTYLICENSES.txt | 743 -------------------------------------- common.sh | 64 ---- fastlane_shim => fastlane | 0 install | 116 ------ uninstall | 38 -- 8 files changed, 1067 deletions(-) delete mode 100644 Gemfile delete mode 100644 Gemfile.lock delete mode 100644 Rakefile delete mode 100644 THIRDPARTYLICENSES.txt delete mode 100644 common.sh rename fastlane_shim => fastlane (100%) delete mode 100755 install delete mode 100755 uninstall diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 3d86ffd..0000000 --- a/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "rake" -gem "rubyzip" diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 964a738..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - rake (13.0.1) - rubyzip (2.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - rake - rubyzip - -BUNDLED WITH - 2.0.1 diff --git a/Rakefile b/Rakefile deleted file mode 100644 index 60b461a..0000000 --- a/Rakefile +++ /dev/null @@ -1,87 +0,0 @@ -task default: %w[package] - -# Helper for 'cask/fastlane.rb' -# Prints out version and sha256 -# Updates version and sha256 in 'cask/fastane.rb' if arguments passed -task :cask, [:property, :new_value] do |t, args| - property = args[:property] - new_value = args[:new_value] - - filename = "cask/fastlane.rb" - text = File.read(filename) - - # Iterate over lines to find verison and sha256 - lines = text.lines - lines = lines.map do |line| - line.match(/#{property} \'(.*)\'/) - value = $1 - - # Prints (and updates) version - puts "#{property}: #{value}" if value && !new_value - if value && new_value - puts "#{property} '#{value}' to '#{new_value}'" - line = line.gsub(value, new_value) - end - - line - end - - # Updates cask/fastlane.rb if needed - if new_value - f = File.new(filename, 'w') - lines.each do |line| - f.puts(line) - end - f.close - end -end - -task :package, [:new_version] do |t, args| - new_version = args[:new_version] - puts "ERROR: Please pass a new version" unless new_version - - output_dir = File.absolute_path("output") - FileUtils.rm_rf(output_dir) - - input_filenames = [ - 'LICENSE', - 'NOTICE.txt', - 'THIRDPARTYLICENSES.txt', - 'bundle-env', - 'common.sh', - 'fastlane_shim', - 'install', - 'parse_env.rb', - 'uninstall' - ] - - FileUtils.mkdir_p(output_dir) - zipfile_path = File.join(output_dir, "packaged-fastlane-#{new_version}.zip") - - # Zips all needed files - require 'zip' - Zip::File.open(zipfile_path, Zip::File::CREATE) do |zipfile| - input_filenames.each do |filename| - zipfile.add(filename, File.absolute_path(filename)) - end - end - - # Gets sha256 of zip file - require 'digest' - sha256 = Digest::SHA256.file(zipfile_path).to_s - - puts "📦 Packaged at #{zipfile_path}" - puts "✅ sha256: #{sha256}" - puts "" - - # Updates cask/fastlane.rb - Rake::Task["cask"].invoke('version', new_version) - Rake::Task["cask"].reenable - Rake::Task["cask"].invoke('sha256', sha256) - puts "💪 Updated cask/fastlane.rb" - - puts "" - puts "🚀 Now do two more things!" - puts "1) Upload zip file to https://github.com/fastlane/fastlane.tools" - puts "2) Update https://github.com/Homebrew/homebrew-cask/blob/master/Casks/fastlane.rb" -end diff --git a/THIRDPARTYLICENSES.txt b/THIRDPARTYLICENSES.txt deleted file mode 100644 index 6b833e2..0000000 --- a/THIRDPARTYLICENSES.txt +++ /dev/null @@ -1,743 +0,0 @@ -This product includes libraries developed by the following third parties: - -MIT License: - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Libraries: - -activesupport -ast -babosa -builder -bundler -CFPropertyList -claide -coderay -colored -commander -coveralls -crack -diff-lcs -docile -dotenv -excon -fakefs -faraday -faraday_middleware -faraday-cookie_jar -fastimage -fastlane -fastlane-plugin-clubmate -fastlane-plugin-ruby -fastlane-plugin-sharethemeal -gh_inspector -http-cookie -httparty -hurley -i18n -jwt -libyaml -license_finder -little-plugger -logging -memoist -method_source -mime-types -mini_magick -minitest -multi_json -multi_xml -multipart-post -nanaimo -ncurses -os -parser -plist -powerpack -pry -pry-byebug -public_suffix -rainbow -rake -representable -rest-client -retriable -rouge -rspec -rspec_junit_formatter -rspec-core -rspec-expectations -rspec-mocks -rspec-support -rubocop -ruby-progressbar -rubygems -safe_yaml -security -simplecov -simplecov-html -slack-notifier -slop -stm_api -terminal-notifier -terminal-table -thor -tins -tzinfo -uber -unf_ext -unicode-display_width -webmock -word_wrap -xcode-install -xcodeproj -xcpretty -xcpretty-travis-formatter -yard - ---- - -Apache 1.0 License: - -Copyright (c) 1995-1999 The Apache Group. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -3. All advertising materials mentioning features or use of this - software must display the following acknowledgment: - "This product includes software developed by the Apache Group - for use in the Apache HTTP server project (http://www.apache.org/)." - -4. The names "Apache Server" and "Apache Group" must not be used to - endorse or promote products derived from this software without - prior written permission. For written permission, please contact - apache@apache.org. - -5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - -6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes software developed by the Apache Group - for use in the Apache HTTP server project (http://www.apache.org/)." - -THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY -EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR -ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================== - -This software consists of voluntary contributions made by many -individuals on behalf of the Apache Group and was originally based -on public domain software written at the National Center for -Supercomputing Applications, University of Illinois, Urbana-Champaign. -For more information on the Apache Group and the Apache HTTP server -project, please see . - - - -Libraries: -openssl - ---- - -Apache 2.0 License: - -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - -(a) You must give any other recipients of the Work or -Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices -stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works -that You distribute, all copyright, patent, trademark, and -attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of -the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must -include a readable copy of the attribution notices contained -within such NOTICE file, excluding those notices that do not -pertain to any part of the Derivative Works, in at least one -of the following places: within a NOTICE text file distributed -as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, -within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents -of the NOTICE file are for informational purposes only and -do not modify the License. You may add Your own attribution -notices within Derivative Works that You distribute, alongside -or as an addendum to the NOTICE text from the Work, provided -that such additional attribution notices cannot be construed -as modifying the License. - -You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -To apply the Apache License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets "{}" -replaced with your own identifying information. (Don't include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same "printed page" as the copyright notice for easier -identification within third-party archives. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -Libraries: -addressable -google-api-client -googleauth -signet -thread_safe - ---- - -BSD 2-Clause License: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -Libraries: -byebug -rubyzip -unf -xml-simple - ---- - -Ruby License: - -Ruby is copyrighted free software by Yukihiro Matsumoto . -You can redistribute it and/or modify it under either the terms of the -2-clause BSDL (see the file BSDL), or the conditions below: - - 1. You may make and give away verbatim copies of the source form of the - software without restriction, provided that you duplicate all of the - original copyright notices and associated disclaimers. - - 2. You may modify your copy of the software in any way, provided that - you do at least ONE of the following: - - a) place your modifications in the Public Domain or otherwise - make them Freely Available, such as by posting said - modifications to Usenet or an equivalent medium, or by allowing - the author to include your modifications in the software. - - b) use the modified software only within your corporation or - organization. - - c) give non-standard binaries non-standard names, with - instructions on where to get the original software distribution. - - d) make other distribution arrangements with the author. - - 3. You may distribute the software in object code or binary form, - provided that you do at least ONE of the following: - - a) distribute the binaries and library files of the software, - together with instructions (in the manual page or equivalent) - on where to get the original distribution. - - b) accompany the distribution with the machine-readable source of - the software. - - c) give non-standard binaries non-standard names, with - instructions on where to get the original software distribution. - - d) make other distribution arrangements with the author. - - 4. You may modify and include the part of the software into any other - software (possibly commercial). But some files in the distribution - are not written by the author, so that they are not under these terms. - - For the list of those files and their copying conditions, see the - file LEGAL. - - 5. The scripts and library files supplied as input to or produced as - output from the software do not automatically fall under the - copyright of the software, but belong to whomever generated them, - and may be sold commercially, and may be aggregated with this - software. - - 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. - -Libraries: -highline -httpclient -json -ruby - ---- - -BSD 3-Clause License: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of Park Heesob nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Libraries: -rb-readline - - ---- - -zlib License: - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - -Libraries: -zlib - - ---- - -GPL License: - -Preamble - -The GNU General Public License is a free, copyleft license for software and other kinds of works. - -The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - -To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. - -For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - -Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. - -For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. - -Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. - -Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. - -The precise terms and conditions for copying, distribution and modification follow. - -TERMS AND CONDITIONS - -0. Definitions. - -“This License” refers to version 3 of the GNU General Public License. - -“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. - -“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations. - -To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work. - -A “covered work” means either the unmodified Program or a work based on the Program. - -To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. - -To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. - -An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. - -1. Source Code. - -The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. - -A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. - -The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. - -The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. - -The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. - -The Corresponding Source for a work in source code form is that same work. - -2. Basic Permissions. - -All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. - -Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. - -3. Protecting Users' Legal Rights From Anti-Circumvention Law. - -No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. - -When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. - -4. Conveying Verbatim Copies. - -You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. - -You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. - -5. Conveying Modified Source Versions. - -You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: - -a) The work must carry prominent notices stating that you modified it, and giving a relevant date. -b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”. -c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. -d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. -A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. - -6. Conveying Non-Source Forms. - -You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: - -a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. -b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. -c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. -d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. -e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. -A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. - -A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. - -“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. - -If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). - -The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. - -Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. - -7. Additional Terms. - -“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: - -a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or -b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or -c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or -d) Limiting the use for publicity purposes of names of licensors or authors of the material; or -e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or -f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. -All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. - -If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. - -8. Termination. - -You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). - -However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. - -Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. - -Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. - -9. Acceptance Not Required for Having Copies. - -You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. - -10. Automatic Licensing of Downstream Recipients. - -Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. - -An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. - -11. Patents. - -A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”. - -A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. - -In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. - -If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. - -A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. - -12. No Surrender of Others' Freedom. - -If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - -13. Use with the GNU Affero General Public License. - -Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. - -14. Revised Versions of this License. - -The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. - -If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. - -Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. - -15. Disclaimer of Warranty. - -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -16. Limitation of Liability. - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -17. Interpretation of Sections 15 and 16. - -If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. - -Libraries: -readline (https://s3.amazonaws.com/open-source-mirrored-artifacts/readline-6.3.tar.gz) \ No newline at end of file diff --git a/common.sh b/common.sh deleted file mode 100644 index b218e57..0000000 --- a/common.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -FASTLANE_DIR=~/.fastlane/bin -FASTLANE_DIR_RAW="\$HOME/.fastlane/bin" # used to add to the user's profile if necessary -CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -set_color() { - local color=$1 - local color_val=1 - case $color in - black ) color_val=0 ;; - red ) color_val=1 ;; - green ) color_val=2 ;; - yellow ) color_val=3 ;; - blue ) color_val=4 ;; - magenta ) color_val=5 ;; - cyan ) color_val=6 ;; - white ) color_val=7 ;; - * ) color_val=0;; - esac - - tty -s && tput setaf $color_val - - # noop if tput has errors to reset exit code - : -} - -echoc() { - local message=$1 - local color=$2 - set_color $color - echo $message - reset_color -} - -reset_color() { - tty -s && tput sgr0 - - # noop if tput has errors to reset exit code - : -} - -# Detect shell environment -shell=$(basename $(echo $SHELL)) -case "$shell" in - bash ) - if [ -f "${HOME}/.bashrc" ] && [ ! -f "${HOME}/.bash_profile" ]; then - profile='~/.bashrc' - else - profile='~/.bash_profile' - fi - ;; - zsh ) - profile='~/.zshrc' - ;; - fish ) - profile='~/.config/fish/config.fish' - ;; - * ) - profile="unknown" - ;; -esac - -profile_expanded="$(eval echo $profile)" diff --git a/fastlane_shim b/fastlane similarity index 100% rename from fastlane_shim rename to fastlane diff --git a/install b/install deleted file mode 100755 index d416be4..0000000 --- a/install +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash - -# Colored output using https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux - -CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source "$CURRENT_DIR/common.sh" - -usage() { - echo "./install [-p] [-b] [-y]" - echo " -p : Don't update the path automatically" - echo " -b : Installed via homebrew" - echo " -y : Confirm install of ruby-build and openssl" - exit 1 -} - -# Reads all options passed in and sets environment variables or shows usage/help -while getopts ":pby" opt; do - case $opt in - p ) SKIP_SETTING_PATH=1;; - b ) INSTALLED_VIA_HOMEBREW=true;; - y ) NO_PROMPTS=1;; - * ) usage ;; - esac -done - -# Check if fastlane already exists -if [ -d "$FASTLANE_DIR" ]; then - echoc "fastlane is already installed at $FASTLANE_DIR" yellow -fi - -echoc "Installing fastlane to $FASTLANE_DIR..." yellow - -# Copy helpers for keeping a clean execution environment -mkdir -p "$FASTLANE_DIR" -cp "$CURRENT_DIR/bundle-env" "$FASTLANE_DIR" -cp "$CURRENT_DIR/parse_env.rb" "$FASTLANE_DIR" - -# Install bundler and fastlane -$FASTLANE_DIR/bundle-env gem install bundler --no-document --env-shebang -$FASTLANE_DIR/bundle-env gem install fastlane --no-document --env-shebang - -# Copy the fastlane executable to run fastlane in the bundled environment -cp "$CURRENT_DIR/fastlane_shim" "$FASTLANE_DIR/fastlane" - -echoc "Successfully installed fastlane to $FASTLANE_DIR" green -echo "" - -# Update the contained fastlane install -reset_color -"$FASTLANE_DIR/fastlane" update_fastlane - -if [ $? -ne 0 ]; then - echoc "Failed to update fastlane after installing fastlane for unkown reason. This shouldn't have happened..." red - exit 1 -fi - -manual_installation() { - echoc "Please add the following line to your $shell profile:" yellow - set_color cyan - echo -e "$1" - reset_color - echoc "After doing so close the terminal session and restart it to start using fastlane 🚀" green -} - -# check if it's already in the user's path -echo $PATH | grep -o $FASTLANE_DIR > /dev/null -if [ $? -ne 0 ]; then - export LINE_TO_ADD="\nexport PATH=\"$FASTLANE_DIR_RAW:\$PATH\"\n" - - if [[ "$shell" == "fish" ]]; then - LINE_TO_ADD="set -x PATH $FASTLANE_DIR_RAW \$PATH" # fish has its own way of setting variables - fi - - if [ -f $profile_expanded ]; then - echoc "Detected shell config file at path '$profile'" yellow - - if [ "$SKIP_SETTING_PATH" == "1" ]; then - manual_installation "$LINE_TO_ADD" - exit 0 - fi - - echoc "We can add the following line to your shell config" yellow - echoc "so you can run fastlane from any directory on your machine" yellow - set_color cyan - echo -e "$LINE_TO_ADD" - reset_color - - if [ "$NO_PROMPTS" == "1" ]; then - echo "" - echo -e $LINE_TO_ADD >> $profile_expanded - echoc "Successfully updated $profile" green - echoc "Please close the terminal session and restart it to start using fastlane 🚀" green - else - set_color yellow - read -p "Do you want fastlane to add itself to the PATH by updating your profile? (y/n) " -n 1 choice - reset_color - case "$choice" in - y|Y ) - echo "" - echo -e $LINE_TO_ADD >> $profile_expanded - echoc "Successfully updated $profile" green - echoc "Please close the terminal session and restart it to start using fastlane 🚀" green - ;; - * ) - echo "" - manual_installation "$LINE_TO_ADD" - ;; - esac - fi - else - echoc "Couldn't detect shell config file ($shell - $profile)" red - manual_installation "$LINE_TO_ADD" - fi -else - echoc "Detected fastlane is already in your path 🚀" green -fi \ No newline at end of file diff --git a/uninstall b/uninstall deleted file mode 100755 index 576fae2..0000000 --- a/uninstall +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source "$CURRENT_DIR/common.sh" - -usage() { - echo "./uninstall [-y]" - echo " -y : Confirm uninstallation, don't ask interactively" - exit 1 -} - -while getopts ":y" opt; do - case $opt in - y ) UNINSTALL_CONFIRMED=1;; - * ) usage ;; - esac -done - -if [ "$UNINSTALL_CONFIRMED" == "1" ]; then - choice="y" -else - set_color yellow - read -p "Do you want to uninstall fastlane from $FASTLANE_DIR? (y/n) " -n 1 choice - echo "" - reset_color -fi - -case "$choice" in -y|Y ) - rm -rf "$FASTLANE_DIR" - echoc "You can now remove fastlane from your search path by editing your $profile file." yellow - echoc "fastlane was uninstalled successfully!" green -;; -* ) - echoc "Cancelled uninstall process" red - exit 1 -;; -esac From 7b2046a748705a157a71bc3f9a2e76e655db82a6 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Sun, 8 Dec 2019 19:19:10 -0600 Subject: [PATCH 27/45] This is golden --- .circleci/config.yml | 3 +-- bundle-env | 23 ++++++++++------------- install | 11 +++++++++++ parse_env.rb | 6 ------ 4 files changed, 22 insertions(+), 21 deletions(-) create mode 100755 install delete mode 100644 parse_env.rb diff --git a/.circleci/config.yml b/.circleci/config.yml index f4f5d16..ac022d3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,9 +15,8 @@ jobs: keys: - v3-homebrew-{{ epoch }} - v3-homebrew - - run: ./install -y + - run: ./install ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - - run: ./uninstall -y - save_cache: key: v3-homebrew-{{ epoch }} paths: diff --git a/bundle-env b/bundle-env index ff3f703..7646062 100755 --- a/bundle-env +++ b/bundle-env @@ -3,6 +3,8 @@ BIN=$(brew --prefix ruby@2.5)/bin PREFIX=$(dirname $BIN) LIB_PATH=$(dirname $PREFIX) +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + export FASTLANE_SELF_CONTAINED=true export FASTLANE_INSTALLED_VIA_HOMEBREW=true @@ -16,24 +18,19 @@ unset GEM_CACHE # Now define env variables that we need for the standalone installation to work and override where # necessary. +GEM_DIRECTORY="$CURRENT_DIR/gems" +GEM_DIRECTORY_BIN="$GEM_DIRECTORY/bin" + +mkdir -p $GEM_DIRECTORY + export PATH=$BIN:$PATH +export PATH=$GEM_DIRECTORY_BIN:$PATH + +export GEM_HOME=$GEM_DIRECTORY export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 -if [ "$FASTLANE_SELF_CONTAINED" = "true" ]; then - # Tell Ruby where to find the gems - # we just want to look for gems inside the bundle - export GEM_PATH=$LIB_PATH/bundle/bin -else - # set EXCLUDE_SYSTEM_GEMS to "true" when running command *only* on the bundled gem set - # otherwise, this will make the user's existing gems available to the bundle - if [ "$EXCLUDE_SYSTEM_GEMS" != "true" ]; then - PARSE_ENV_PATH=$LIB_PATH/parse_env.rb - export GEM_PATH=$($BIN/ruby $PARSE_ENV_PATH) - fi -fi - # Suppress errors relating to native extensions in the user's gemset. exec "$@" 2> >(grep -v '^Ignoring .* because its extensions are not built. Try: gem pristine .* --version .*') \ No newline at end of file diff --git a/install b/install new file mode 100755 index 0000000..0232d81 --- /dev/null +++ b/install @@ -0,0 +1,11 @@ +#!/bin/bash + +INSTALL_PATH=$1 + +mkdir -p "$INSTALL_PATH/bin" + +cp "bundle-env" $INSTALL_PATH +cp "fastlane" $INSTALL_PATH + +"$INSTALL_PATH/bundle-env" gem install bundler --no-document --env-shebang +"$INSTALL_PATH/bundle-env" gem install fastlane --no-document --env-shebang \ No newline at end of file diff --git a/parse_env.rb b/parse_env.rb deleted file mode 100644 index f2c86f2..0000000 --- a/parse_env.rb +++ /dev/null @@ -1,6 +0,0 @@ -env_string = `gem env` -dirty_paths = env_string.split("GEM PATHS:\n")[1].split("\n - GEM CONFIGURATION:\n")[0].split("\n") - -paths = dirty_paths.map { |p| p[7..-1] } - -puts paths.join(":") From 4c78aaa14dc90962019e8ca75ab2041596b8b7e6 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Sun, 8 Dec 2019 19:31:29 -0600 Subject: [PATCH 28/45] Add bin dir to install path --- install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install b/install index 0232d81..2e54dce 100755 --- a/install +++ b/install @@ -1,8 +1,8 @@ #!/bin/bash -INSTALL_PATH=$1 +INSTALL_PATH="$1/bin" -mkdir -p "$INSTALL_PATH/bin" +mkdir -p $INSTALL_PATH cp "bundle-env" $INSTALL_PATH cp "fastlane" $INSTALL_PATH From ab9de69bbba68f724e5533b7c93f5a0121947a81 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:38:21 -0600 Subject: [PATCH 29/45] Move to only put fastlane in bin dir --- bundle-env | 6 ++---- fastlane | 4 ++-- install | 7 ++++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/bundle-env b/bundle-env index 7646062..8933c50 100755 --- a/bundle-env +++ b/bundle-env @@ -2,7 +2,6 @@ BIN=$(brew --prefix ruby@2.5)/bin PREFIX=$(dirname $BIN) LIB_PATH=$(dirname $PREFIX) - CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export FASTLANE_SELF_CONTAINED=true @@ -15,9 +14,7 @@ unset GEM_HOME unset GEM_PATH unset GEM_CACHE -# Now define env variables that we need for the standalone installation to work and override where -# necessary. - +# CURRENT_DIR is the bin directory GEM_DIRECTORY="$CURRENT_DIR/gems" GEM_DIRECTORY_BIN="$GEM_DIRECTORY/bin" @@ -26,6 +23,7 @@ mkdir -p $GEM_DIRECTORY export PATH=$BIN:$PATH export PATH=$GEM_DIRECTORY_BIN:$PATH +export GEM_PATH=$GEM_DIRECTORY export GEM_HOME=$GEM_DIRECTORY export LANG=en_US.UTF-8 diff --git a/fastlane b/fastlane index e512168..f6a5be8 100755 --- a/fastlane +++ b/fastlane @@ -13,8 +13,8 @@ function gem_cleanup() { } if [ "$1" = "update_fastlane" ]; then - "${DIR}/bundle-env" gem update --no-document fastlane + "${DIR}/../bundle-env" gem update --no-document fastlane gem_cleanup else - exec "${DIR}/bundle-env" fastlane "$@" + exec "${DIR}/../bundle-env" fastlane "$@" fi; diff --git a/install b/install index 2e54dce..336438f 100755 --- a/install +++ b/install @@ -1,11 +1,12 @@ #!/bin/bash -INSTALL_PATH="$1/bin" +INSTALL_PATH="$1" +INSTALL_BIN_PATH="$1/bin" -mkdir -p $INSTALL_PATH +mkdir -p $INSTALL_BIN_PATH cp "bundle-env" $INSTALL_PATH -cp "fastlane" $INSTALL_PATH +cp "fastlane" $INSTALL_BIN_PATH "$INSTALL_PATH/bundle-env" gem install bundler --no-document --env-shebang "$INSTALL_PATH/bundle-env" gem install fastlane --no-document --env-shebang \ No newline at end of file From e254bf9aad9c1559e7b8793cfca7710c0997eac0 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:43:26 -0600 Subject: [PATCH 30/45] Lets try this --- .circleci/config.yml | 2 +- cask/fastlane.rb | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 cask/fastlane.rb diff --git a/.circleci/config.yml b/.circleci/config.yml index ac022d3..3f9494f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,13 +8,13 @@ jobs: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 TERM: dumb - # shell: /bin/bash --login -eo pipefail steps: - checkout - restore_cache: keys: - v3-homebrew-{{ epoch }} - v3-homebrew + - run: echo "2.4" > .ruby-version - run: ./install ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - save_cache: diff --git a/cask/fastlane.rb b/cask/fastlane.rb deleted file mode 100644 index 2de739a..0000000 --- a/cask/fastlane.rb +++ /dev/null @@ -1,18 +0,0 @@ -cask 'fastlane' do - version '2.0.0' - sha256 'e89bf6d1270f4c9455a523c0dafae3cfe2a704e8e9953390dcdef9852f64b4f7' - - url "https://fastlane.tools/packaged-fastlane-#{version}.zip" - name 'fastlane' - homepage 'https://fastlane.tools/' - - installer script: { - executable: "#{staged_path}/install", - args: ['-p', '-b', '-y'], - } - - uninstall script: { - executable: "#{staged_path}/uninstall", - args: ['-y'], - } -end From d288f60ac20720f111768e601a41470f17fb9bb3 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:46:00 -0600 Subject: [PATCH 31/45] Lets not do that --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3f9494f..59a649f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,7 +14,6 @@ jobs: keys: - v3-homebrew-{{ epoch }} - v3-homebrew - - run: echo "2.4" > .ruby-version - run: ./install ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - save_cache: From 815ff0bf1ccdf61d7f6612a66ccf1d57ec094ce7 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:50:01 -0600 Subject: [PATCH 32/45] Lets try this --- .circleci/config.yml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 59a649f..a64d82c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,9 +1,9 @@ version: 2 jobs: - "Execute tests on macOS (Xcode 11.0.0)": + "Execute install on macOS (Xcode 11.2)": macos: - xcode: "11.0.0" + xcode: "11.2" environment: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 @@ -14,6 +14,27 @@ jobs: keys: - v3-homebrew-{{ epoch }} - v3-homebrew + - run: echo 'chruby ruby-2.6' >> ~/.bash_profile + - run: ./install ~/.fastlane + - run: ~/.fastlane/bin/fastlane --version + - save_cache: + key: v3-homebrew-{{ epoch }} + paths: + - /usr/local/Homebrew + "Excute install on Ubuntu": + docker: + - image: circleci/ruby:2.5 + environment: + LC_ALL: en_US.UTF-8 + LANG: en_US.UTF-8 + TERM: dumb + steps: + - checkout + - restore_cache: + keys: + - v3-homebrew-{{ epoch }} + - v3-homebrew + - run: sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" - run: ./install ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - save_cache: @@ -25,4 +46,5 @@ workflows: version: 2 build: jobs: - - "Execute tests on macOS (Xcode 11.0.0)" \ No newline at end of file + - "Execute install on macOS (Xcode 11.2)" + - "Excute install on Ubuntu": \ No newline at end of file From 9afbbe8731fa6780a270c747edab408b9fc7b9fe Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:51:37 -0600 Subject: [PATCH 33/45] Oops --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a64d82c..0f8f47f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -47,4 +47,4 @@ workflows: build: jobs: - "Execute install on macOS (Xcode 11.2)" - - "Excute install on Ubuntu": \ No newline at end of file + - "Excute install on Ubuntu" \ No newline at end of file From c976d22a53312ac124b9ad897c2b60362c848734 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:53:30 -0600 Subject: [PATCH 34/45] Maybe this --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0f8f47f..62c9dae 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,9 +1,9 @@ version: 2 jobs: - "Execute install on macOS (Xcode 11.2)": + "Execute install on macOS (Xcode 11.2.0)": macos: - xcode: "11.2" + xcode: "11.2.0" environment: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 @@ -34,7 +34,7 @@ jobs: keys: - v3-homebrew-{{ epoch }} - v3-homebrew - - run: sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" + - run: sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" - run: ./install ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - save_cache: @@ -46,5 +46,5 @@ workflows: version: 2 build: jobs: - - "Execute install on macOS (Xcode 11.2)" + - "Execute install on macOS (Xcode 11.2.0)" - "Excute install on Ubuntu" \ No newline at end of file From 8b3a8f7d30721b0052e22f1def0f3d38f06cfb70 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:54:50 -0600 Subject: [PATCH 35/45] This is it --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 62c9dae..7840318 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,7 +34,6 @@ jobs: keys: - v3-homebrew-{{ epoch }} - v3-homebrew - - run: sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" - run: ./install ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - save_cache: From ec5be8f6d11a9cd55e1385ab189670139df76232 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 07:58:11 -0600 Subject: [PATCH 36/45] Maybe this --- .circleci/config.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7840318..cc00a6f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,6 +15,7 @@ jobs: - v3-homebrew-{{ epoch }} - v3-homebrew - run: echo 'chruby ruby-2.6' >> ~/.bash_profile + - run: brew install ruby@2.5 - run: ./install ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - save_cache: @@ -28,12 +29,16 @@ jobs: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 TERM: dumb + dependencies: + pre: + - ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" Date: Mon, 9 Dec 2019 08:00:49 -0600 Subject: [PATCH 37/45] Removed linux cache --- .circleci/config.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cc00a6f..c4b9d51 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,17 +34,9 @@ jobs: - ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" Date: Mon, 9 Dec 2019 08:01:42 -0600 Subject: [PATCH 38/45] Last try --- .circleci/config.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c4b9d51..4f1dd7b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -29,11 +29,9 @@ jobs: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 TERM: dumb - dependencies: - pre: - - ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" Date: Mon, 9 Dec 2019 08:03:05 -0600 Subject: [PATCH 39/45] This is the last try --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4f1dd7b..9041ae7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -31,7 +31,8 @@ jobs: TERM: dumb steps: - checkout - - run: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" Date: Mon, 9 Dec 2019 08:04:10 -0600 Subject: [PATCH 40/45] Dude --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9041ae7..135ba0b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -31,7 +31,7 @@ jobs: TERM: dumb steps: - checkout - - run: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" Date: Mon, 9 Dec 2019 08:05:23 -0600 Subject: [PATCH 41/45] Okay, just macos for now --- .circleci/config.yml | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 135ba0b..f9e5911 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,24 +22,9 @@ jobs: key: v3-homebrew-{{ epoch }} paths: - /usr/local/Homebrew - "Excute install on Ubuntu": - docker: - - image: circleci/ruby:2.5 - environment: - LC_ALL: en_US.UTF-8 - LANG: en_US.UTF-8 - TERM: dumb - steps: - - checkout - - run: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" Date: Mon, 9 Dec 2019 08:15:55 -0600 Subject: [PATCH 42/45] Updated README --- README.md | 45 +++++++++++++-------------------------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 0c9347a..6a23c8d 100644 --- a/README.md +++ b/README.md @@ -2,40 +2,21 @@ ## Usage 🛠 -- Install by running `./install` - 1. Checks if _fastlane_ is already installed at `~/.fastlane/bin` - 1. Check if `PACKAGED_FASTLANE_VERSION.txt` and will completely uninstall if older version of packaged _fastlane_ if not - 1. Checks if `PACKAGED_RUBY_VERSION.txt` doesn't exist or if different. If so... - 1. Installs/updates `ruby-build` via `brew` - 1. Installs/updates `openssl` via `brew` - 1. Installs new version of Ruby - 1. Copies all files needed for running _fastlane_ with this Ruby version - 1. Installs `bundler` and `fastlane` -- Uninstall by running `./uninstall` - 1. Deletes `~/.fastlane/bin` +`brew install fastlane` -## Deployment +## Run Locally 🏃‍♂️ -Run `rake package['']` +1. `./install ~/somedir` +1. `~/somedir/bin/fastlane` -This will... +## Deployment 🚢 -1) Package all needed files in a new zip file at `output/packaged-fastlane-#{new_version}.zip` -2) Updates `cask/fastlane.rb` with version and sha256 -3) Gives instructions on what to do next +Any changes to the `bundle_env`, `fastlane`, or `install` will require a new release/tag and an update to the `fastlane.rb` formula in https://github.com/Homebrew/homebrew-core. -### Example output - -``` -➜ rake package["2.0.0"] -📦 Packaged at /Users/josh/Projects/fastlane/packaged-fastlane/output/packaged-fastlane-2.0.0.zip -✅ sha256: e89bf6d1270f4c9455a523c0dafae3cfe2a704e8e9953390dcdef9852f64b4f7 - -version '2.0.0' to '2.0.0' -sha256 '8503027d192da59ac1ab5e2715fb103451b178cce035d994b185440b6c9ab1aa' to 'e89bf6d1270f4c9455a523c0dafae3cfe2a704e8e9953390dcdef9852f64b4f7' -💪 Updated cask/fastlane.rb - -🚀 Now do two more things! -1) Upload zip file to https://github.com/fastlane/fastlane.tools -2) Update https://github.com/Homebrew/homebrew-cask/blob/master/Casks/fastlane.rb -``` \ No newline at end of file +1. Create release/tag in GitHub +1. Download the `.tar.gz` +1. Get the sha256 of the `.tar.gz` with `openssl dgst -sha256 ` +1. Update the `fastlane.rb` formula in https://github.com/Homebrew/homebrew-core and open a PR + 1. Update `url` + 1. Update `sha256` + 1. Update `revision` (if needed) \ No newline at end of file From f6e4b0a2133be2c5501b6e3a946849fe760fd2d1 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 11:31:43 -0600 Subject: [PATCH 43/45] Specify fastlane version when installing --- install | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/install b/install index 336438f..d3ad50e 100755 --- a/install +++ b/install @@ -1,7 +1,9 @@ #!/bin/bash -INSTALL_PATH="$1" -INSTALL_BIN_PATH="$1/bin" +FASTLANE_VERSION=$1 + +INSTALL_PATH="$2" +INSTALL_BIN_PATH="$2/bin" mkdir -p $INSTALL_BIN_PATH @@ -9,4 +11,4 @@ cp "bundle-env" $INSTALL_PATH cp "fastlane" $INSTALL_BIN_PATH "$INSTALL_PATH/bundle-env" gem install bundler --no-document --env-shebang -"$INSTALL_PATH/bundle-env" gem install fastlane --no-document --env-shebang \ No newline at end of file +"$INSTALL_PATH/bundle-env" gem install fastlane -v $FASTLANE_VERSION --no-document --env-shebang \ No newline at end of file From 1597730b5f67f24a9b51c9a5bb24c86cea493511 Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 14:52:44 -0600 Subject: [PATCH 44/45] Fix tests --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f9e5911..298c65b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,7 +16,7 @@ jobs: - v3-homebrew - run: echo 'chruby ruby-2.6' >> ~/.bash_profile - run: brew install ruby@2.5 - - run: ./install ~/.fastlane + - run: ./install 2.137.0 ~/.fastlane - run: ~/.fastlane/bin/fastlane --version - save_cache: key: v3-homebrew-{{ epoch }} From 6c86b8682dd6bcdd249ded38ad7914104ad1a2be Mon Sep 17 00:00:00 2001 From: Josh Holtz Date: Mon, 9 Dec 2019 18:19:55 -0600 Subject: [PATCH 45/45] Deprecate update_fastlane and tell use to brew upgrade --- fastlane | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fastlane b/fastlane index f6a5be8..ffbae71 100755 --- a/fastlane +++ b/fastlane @@ -13,8 +13,7 @@ function gem_cleanup() { } if [ "$1" = "update_fastlane" ]; then - "${DIR}/../bundle-env" gem update --no-document fastlane - gem_cleanup + echo "😱 'fastlane update_fastlane' is deprecated... Please run 'brew upgrade fastlane' to update fastlane" else exec "${DIR}/../bundle-env" fastlane "$@" fi;